@featherk/composables 0.13.5 → 0.13.6
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/docs-manifest.js +24 -24
- package/dist/featherk-composables.es.js +1201 -1193
- package/dist/featherk-composables.es.js.map +1 -1
- package/dist/featherk-composables.umd.js +1 -1
- package/dist/featherk-composables.umd.js.map +1 -1
- package/dist/window/useWindow.d.ts +3 -1
- package/docs/window/useWindow.md +46 -0
- package/package.json +1 -1
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as Y, onBeforeUnmount as Be, nextTick as G, computed as y, watchEffect as ze, toValue as re, reactive as Ye, watch as ae, useId as He, unref as We, onUnmounted as Te, shallowRef as ve, shallowReactive as Xe, readonly as te, isRef as Fe, onScopeDispose as Pe, onMounted as Re } from "vue";
|
|
2
2
|
import { useFocusTrap as Ze } from "@vueuse/integrations/useFocusTrap";
|
|
3
3
|
const Et = (e, t) => {
|
|
4
|
-
const n =
|
|
5
|
-
let u = !1,
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
return
|
|
9
|
-
},
|
|
10
|
-
const
|
|
11
|
-
if (!
|
|
12
|
-
const v =
|
|
4
|
+
const n = Y(null);
|
|
5
|
+
let u = !1, o = null, c = null;
|
|
6
|
+
const b = [], k = ".k-table-row[data-grid-row-index] [tabindex]", P = () => {
|
|
7
|
+
const a = e?.value?.$el;
|
|
8
|
+
return a ? a.closest(".k-grid") : null;
|
|
9
|
+
}, N = (a) => {
|
|
10
|
+
const m = P();
|
|
11
|
+
if (!m) return !1;
|
|
12
|
+
const v = a.closest(".k-grid-aria-root");
|
|
13
13
|
if (v)
|
|
14
|
-
return
|
|
15
|
-
const
|
|
14
|
+
return m.contains(v);
|
|
15
|
+
const A = a.closest(
|
|
16
16
|
".k-grid-header, .k-grid-content, .k-grid-content-locked"
|
|
17
17
|
);
|
|
18
|
-
return
|
|
19
|
-
},
|
|
20
|
-
const
|
|
21
|
-
([" ", "Spacebar", "Space"].includes(
|
|
22
|
-
},
|
|
18
|
+
return A ? m.contains(A) : !1;
|
|
19
|
+
}, M = (a) => a.key === "Enter" || a.code === "Enter" || a.code === "NumpadEnter", R = () => e?.value?.columns, x = (a) => {
|
|
20
|
+
const m = a.key || a.code;
|
|
21
|
+
([" ", "Spacebar", "Space"].includes(m) || M(a)) && (a.preventDefault(), a.stopPropagation(), n.value = a.target, a.target.click());
|
|
22
|
+
}, D = (a) => {
|
|
23
23
|
if (!n.value) return;
|
|
24
|
-
if (
|
|
25
|
-
|
|
24
|
+
if (a.code === "Escape") {
|
|
25
|
+
a.stopPropagation(), n.value && n.value.focus();
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
const
|
|
28
|
+
const m = Array.from(
|
|
29
29
|
document.querySelectorAll(
|
|
30
30
|
".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"
|
|
31
31
|
)
|
|
@@ -33,8 +33,8 @@ const Et = (e, t) => {
|
|
|
33
33
|
".k-animation-container .k-popup .k-column-menu .k-filter-menu-container"
|
|
34
34
|
);
|
|
35
35
|
if (v) {
|
|
36
|
-
if (
|
|
37
|
-
const
|
|
36
|
+
if (a.code === "Tab") {
|
|
37
|
+
const A = [
|
|
38
38
|
// ".k-filter-menu-container .k-dropdownlist[tabindex='0']",
|
|
39
39
|
// ".k-filter-menu-container input.k-input-inner:not([tabindex='-1']):not([disabled])",
|
|
40
40
|
// ".k-filter-menu-container button:not([tabindex='-1']):not([disabled])",
|
|
@@ -43,129 +43,129 @@ const Et = (e, t) => {
|
|
|
43
43
|
"input.k-input-inner:not([tabindex='-1']):not([disabled])",
|
|
44
44
|
"button:not([tabindex='-1']):not([disabled])",
|
|
45
45
|
".k-checkbox"
|
|
46
|
-
],
|
|
47
|
-
v.querySelectorAll(
|
|
46
|
+
], C = t?.focusableMenuSelectors ?? A, E = Array.from(
|
|
47
|
+
v.querySelectorAll(C.join(","))
|
|
48
48
|
);
|
|
49
|
-
if (
|
|
50
|
-
const
|
|
51
|
-
(
|
|
49
|
+
if (E.length === 0) return;
|
|
50
|
+
const L = E.findIndex(
|
|
51
|
+
(Z) => Z === document.activeElement
|
|
52
52
|
);
|
|
53
|
-
let
|
|
54
|
-
|
|
53
|
+
let K;
|
|
54
|
+
L === -1 ? K = 0 : a.shiftKey ? K = (L - 1 + E.length) % E.length : K = (L + 1) % E.length, a.preventDefault(), a.stopPropagation(), E[K]?.focus();
|
|
55
55
|
}
|
|
56
|
-
} else if (
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
(
|
|
56
|
+
} else if (a.code === "ArrowUp" || a.code === "ArrowDown") {
|
|
57
|
+
a.preventDefault(), a.stopPropagation();
|
|
58
|
+
const A = m.findIndex(
|
|
59
|
+
(E) => E === document.activeElement
|
|
60
60
|
);
|
|
61
|
-
let
|
|
62
|
-
|
|
61
|
+
let C = A;
|
|
62
|
+
a.code === "ArrowUp" ? C = A > 0 ? A - 1 : m.length - 1 : a.code === "ArrowDown" && (C = A < m.length - 1 ? A + 1 : 0), m[C]?.focus();
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
const
|
|
68
|
-
(
|
|
65
|
+
if (a.code === "Tab") {
|
|
66
|
+
a.preventDefault(), a.stopPropagation();
|
|
67
|
+
const A = n.value?.parentElement;
|
|
68
|
+
(a.shiftKey ? A?.previousElementSibling : A?.nextElementSibling)?.querySelector(
|
|
69
69
|
"button, [role='button'], .k-link"
|
|
70
70
|
)?.focus();
|
|
71
71
|
}
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
}, O = () => {
|
|
73
|
+
o = new MutationObserver((a) => {
|
|
74
|
+
a.forEach((m) => {
|
|
75
|
+
m.addedNodes.forEach((v) => {
|
|
76
76
|
if (v.nodeType === Node.ELEMENT_NODE) {
|
|
77
|
-
const
|
|
78
|
-
if (
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
const A = v;
|
|
78
|
+
if (A.classList.contains("k-animation-container")) {
|
|
79
|
+
const E = n.value;
|
|
80
|
+
E && (E.dataset.featherKSortable === "true" || G(() => {
|
|
81
|
+
A.querySelectorAll(
|
|
82
82
|
".k-columnmenu-item-wrapper"
|
|
83
|
-
).forEach((
|
|
84
|
-
|
|
83
|
+
).forEach((Z) => {
|
|
84
|
+
Z.textContent?.toLowerCase().includes("sort") && Z.remove();
|
|
85
85
|
});
|
|
86
|
-
})),
|
|
86
|
+
})), A.addEventListener(
|
|
87
87
|
"keydown",
|
|
88
|
-
|
|
88
|
+
D
|
|
89
89
|
), G(() => {
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
90
|
+
const L = () => {
|
|
91
|
+
const K = Array.from(
|
|
92
|
+
A.querySelectorAll(
|
|
93
93
|
".k-animation-container .k-popup .k-column-menu .k-columnmenu-item-wrapper .k-columnmenu-item"
|
|
94
94
|
)
|
|
95
95
|
);
|
|
96
|
-
if (
|
|
97
|
-
|
|
98
|
-
else if (
|
|
99
|
-
|
|
96
|
+
if (K.length === 1)
|
|
97
|
+
K[0].focus(), K[0].click(), L.attempts = 0;
|
|
98
|
+
else if (K.length > 1) {
|
|
99
|
+
L.attempts = 0;
|
|
100
100
|
return;
|
|
101
101
|
} else
|
|
102
|
-
|
|
102
|
+
L.attempts === void 0 && (L.attempts = 0), L.attempts++ < 3 && setTimeout(L, 200);
|
|
103
103
|
};
|
|
104
|
-
|
|
104
|
+
L();
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
A.querySelectorAll(
|
|
108
108
|
".k-animation-container"
|
|
109
|
-
).forEach((
|
|
110
|
-
|
|
109
|
+
).forEach((E) => {
|
|
110
|
+
E.addEventListener(
|
|
111
111
|
"keydown",
|
|
112
|
-
|
|
112
|
+
D
|
|
113
113
|
);
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
|
-
}),
|
|
116
|
+
}), m.removedNodes.forEach((v) => {
|
|
117
117
|
if (v.nodeType === Node.ELEMENT_NODE) {
|
|
118
|
-
const
|
|
119
|
-
|
|
118
|
+
const A = v;
|
|
119
|
+
A.classList.contains("k-animation-container") && A.removeEventListener(
|
|
120
120
|
"keydown",
|
|
121
|
-
|
|
122
|
-
),
|
|
121
|
+
D
|
|
122
|
+
), A.querySelectorAll(
|
|
123
123
|
".k-animation-container"
|
|
124
|
-
).forEach((
|
|
125
|
-
|
|
124
|
+
).forEach((E) => {
|
|
125
|
+
E.removeEventListener(
|
|
126
126
|
"keydown",
|
|
127
|
-
|
|
127
|
+
D
|
|
128
128
|
);
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
});
|
|
133
|
-
}),
|
|
133
|
+
}), o.observe(document.body, {
|
|
134
134
|
childList: !0,
|
|
135
135
|
subtree: !0
|
|
136
136
|
});
|
|
137
|
-
}, f = (
|
|
138
|
-
const
|
|
139
|
-
return !!(["input", "textarea", "select", "button"].includes(
|
|
137
|
+
}, f = (a) => {
|
|
138
|
+
const m = a.tagName.toLowerCase();
|
|
139
|
+
return !!(["input", "textarea", "select", "button"].includes(m) || a.closest(
|
|
140
140
|
'.k-picker-wrap, .k-input-inner, .k-textbox, [role="combobox"]'
|
|
141
141
|
));
|
|
142
|
-
},
|
|
143
|
-
if (!
|
|
142
|
+
}, s = (a) => {
|
|
143
|
+
if (!a.type || !a)
|
|
144
144
|
return;
|
|
145
|
-
const
|
|
146
|
-
if (!
|
|
147
|
-
const v =
|
|
145
|
+
const m = a.target;
|
|
146
|
+
if (!m) return;
|
|
147
|
+
const v = m.closest(
|
|
148
148
|
".k-table-row[data-grid-row-index]"
|
|
149
149
|
);
|
|
150
|
-
if (!
|
|
150
|
+
if (!N(m))
|
|
151
151
|
return;
|
|
152
|
-
const
|
|
153
|
-
|
|
152
|
+
const A = ["ArrowLeft", "ArrowRight"].includes(
|
|
153
|
+
a.code
|
|
154
154
|
);
|
|
155
|
-
if (!(f(
|
|
156
|
-
if (
|
|
157
|
-
const
|
|
158
|
-
if (
|
|
159
|
-
|
|
155
|
+
if (!(f(m) && !(v && A))) {
|
|
156
|
+
if (a.code === "Escape") {
|
|
157
|
+
const C = document.activeElement?.closest(".k-table-row[data-grid-row-index]");
|
|
158
|
+
if (C) {
|
|
159
|
+
a.preventDefault(), a.stopPropagation();
|
|
160
160
|
try {
|
|
161
161
|
Array.from(
|
|
162
162
|
e?.value.$el.querySelectorAll(
|
|
163
163
|
".k-table-row[data-grid-row-index]"
|
|
164
164
|
)
|
|
165
|
-
).forEach((
|
|
165
|
+
).forEach((L) => L.setAttribute("tabindex", "-1"));
|
|
166
166
|
} catch {
|
|
167
167
|
}
|
|
168
|
-
|
|
168
|
+
C.setAttribute("tabindex", "0"), C.focus();
|
|
169
169
|
return;
|
|
170
170
|
}
|
|
171
171
|
}
|
|
@@ -177,220 +177,220 @@ const Et = (e, t) => {
|
|
|
177
177
|
"Enter",
|
|
178
178
|
"NumpadEnter",
|
|
179
179
|
"Space"
|
|
180
|
-
].includes(
|
|
181
|
-
if (
|
|
182
|
-
n.value =
|
|
180
|
+
].includes(a.code)) {
|
|
181
|
+
if (m.classList.contains("k-grid-header-menu") && m.classList.contains("k-grid-column-menu")) {
|
|
182
|
+
n.value = m;
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
185
|
if (v) {
|
|
186
|
-
if (["ArrowDown", "ArrowUp"].includes(
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
let
|
|
190
|
-
for (;
|
|
191
|
-
const ne =
|
|
186
|
+
if (["ArrowDown", "ArrowUp"].includes(a.code)) {
|
|
187
|
+
a.preventDefault(), a.stopPropagation();
|
|
188
|
+
const C = (L, K) => {
|
|
189
|
+
let Z = K === "next" ? L.nextElementSibling : L.previousElementSibling;
|
|
190
|
+
for (; Z; ) {
|
|
191
|
+
const ne = Z;
|
|
192
192
|
try {
|
|
193
193
|
if (ne.classList.contains("k-table-row"))
|
|
194
194
|
return ne;
|
|
195
195
|
} catch {
|
|
196
196
|
}
|
|
197
|
-
|
|
197
|
+
Z = K === "next" ? Z.nextElementSibling : Z.previousElementSibling;
|
|
198
198
|
}
|
|
199
199
|
return null;
|
|
200
|
-
},
|
|
201
|
-
|
|
200
|
+
}, E = a.code === "ArrowDown" ? C(v, "next") : C(v, "previous");
|
|
201
|
+
E && (v.setAttribute("tabindex", "-1"), E.setAttribute("tabindex", "0"), E.focus());
|
|
202
202
|
return;
|
|
203
203
|
}
|
|
204
|
-
if (["ArrowLeft", "ArrowRight"].includes(
|
|
205
|
-
|
|
206
|
-
const
|
|
207
|
-
|
|
204
|
+
if (["ArrowLeft", "ArrowRight"].includes(a.code)) {
|
|
205
|
+
a.preventDefault(), a.stopPropagation();
|
|
206
|
+
const C = v.querySelectorAll(
|
|
207
|
+
k
|
|
208
208
|
);
|
|
209
|
-
if (
|
|
210
|
-
let
|
|
211
|
-
(
|
|
209
|
+
if (C.length === 0) return;
|
|
210
|
+
let E = Array.from(C).findIndex(
|
|
211
|
+
(L) => L === document.activeElement
|
|
212
212
|
);
|
|
213
|
-
if (
|
|
214
|
-
|
|
213
|
+
if (E === -1 && document.activeElement === v) {
|
|
214
|
+
C[0].focus();
|
|
215
215
|
return;
|
|
216
216
|
}
|
|
217
|
-
|
|
217
|
+
a.code === "ArrowRight" ? E = E === C.length - 1 ? 0 : E + 1 : a.code === "ArrowLeft" && (E = E === 0 ? C.length - 1 : E - 1), C[E].focus();
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
},
|
|
223
|
+
}, g = () => {
|
|
224
224
|
G(() => {
|
|
225
|
-
const
|
|
226
|
-
if (!
|
|
227
|
-
const
|
|
228
|
-
|
|
225
|
+
const a = e.value?.$el;
|
|
226
|
+
if (!a || typeof a.closest != "function") return;
|
|
227
|
+
const m = a.closest(".k-grid");
|
|
228
|
+
m && m.classList.add("fk-grid");
|
|
229
229
|
});
|
|
230
|
-
},
|
|
230
|
+
}, I = () => {
|
|
231
231
|
if (!c)
|
|
232
232
|
try {
|
|
233
|
-
const
|
|
233
|
+
const a = () => {
|
|
234
234
|
try {
|
|
235
|
-
const
|
|
235
|
+
const A = Array.from(
|
|
236
236
|
e.value.$el.querySelectorAll(
|
|
237
237
|
".k-table-row[data-grid-row-index]"
|
|
238
238
|
)
|
|
239
239
|
);
|
|
240
|
-
if (!
|
|
241
|
-
(
|
|
240
|
+
if (!A || A.length === 0 || A.filter(
|
|
241
|
+
(L) => L.getAttribute("tabindex") === "0"
|
|
242
242
|
).length === 1) return;
|
|
243
|
-
const
|
|
244
|
-
(
|
|
243
|
+
const E = A.find(
|
|
244
|
+
(L) => L === document.activeElement || L.contains(document.activeElement)
|
|
245
245
|
);
|
|
246
|
-
if (
|
|
247
|
-
|
|
246
|
+
if (A.forEach((L) => L.setAttribute("tabindex", "-1")), E) {
|
|
247
|
+
E.setAttribute("tabindex", "0");
|
|
248
248
|
return;
|
|
249
249
|
}
|
|
250
|
-
|
|
251
|
-
} catch (
|
|
252
|
-
console.error("ensureSingleTabindex error:",
|
|
250
|
+
A[0].setAttribute("tabindex", "0");
|
|
251
|
+
} catch (A) {
|
|
252
|
+
console.error("ensureSingleTabindex error:", A);
|
|
253
253
|
}
|
|
254
|
-
},
|
|
254
|
+
}, m = Array.from(
|
|
255
255
|
e.value.$el.querySelectorAll(
|
|
256
256
|
".k-table-row[data-grid-row-index]"
|
|
257
257
|
)
|
|
258
258
|
);
|
|
259
|
-
|
|
260
|
-
|
|
259
|
+
m.length > 0 && m.forEach((A, C) => {
|
|
260
|
+
A.setAttribute("tabindex", C === 0 ? "0" : "-1");
|
|
261
261
|
});
|
|
262
262
|
const v = e.value.$el.querySelector(".k-table-tbody");
|
|
263
263
|
v && (c = new MutationObserver(() => {
|
|
264
|
-
|
|
264
|
+
a();
|
|
265
265
|
}), c.observe(v, { childList: !0, subtree: !0 }));
|
|
266
|
-
} catch (
|
|
267
|
-
console.error("Error setting up row navigation:",
|
|
266
|
+
} catch (a) {
|
|
267
|
+
console.error("Error setting up row navigation:", a);
|
|
268
268
|
}
|
|
269
|
-
},
|
|
269
|
+
}, V = () => {
|
|
270
270
|
G(() => {
|
|
271
|
-
const
|
|
272
|
-
|
|
271
|
+
const m = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
|
|
272
|
+
m && m.forEach((v) => {
|
|
273
273
|
v.setAttribute("role", "button"), v.addEventListener(
|
|
274
274
|
"keydown",
|
|
275
|
-
|
|
275
|
+
x
|
|
276
276
|
);
|
|
277
|
-
}),
|
|
277
|
+
}), O(), X();
|
|
278
278
|
});
|
|
279
|
-
},
|
|
280
|
-
const
|
|
281
|
-
|
|
279
|
+
}, W = () => {
|
|
280
|
+
const m = document.querySelectorAll(".k-grid-header .k-grid-header-menu.k-grid-column-menu");
|
|
281
|
+
m && m.forEach((v) => {
|
|
282
282
|
v.removeEventListener(
|
|
283
283
|
"keydown",
|
|
284
|
-
|
|
284
|
+
x
|
|
285
285
|
);
|
|
286
|
-
}),
|
|
287
|
-
},
|
|
286
|
+
}), o && (o.disconnect(), o = null), c && (c.disconnect(), c = null), b.forEach((v) => v()), b.length = 0;
|
|
287
|
+
}, X = () => {
|
|
288
288
|
document.querySelectorAll(
|
|
289
289
|
".k-grid-header .k-table-thead th"
|
|
290
|
-
).forEach((v,
|
|
290
|
+
).forEach((v, A) => {
|
|
291
291
|
if (v.dataset.featherKHeaderBound === "true")
|
|
292
292
|
return;
|
|
293
|
-
const
|
|
293
|
+
const C = v.querySelector(
|
|
294
294
|
".k-grid-header-menu.k-grid-column-menu"
|
|
295
295
|
);
|
|
296
|
-
if (!
|
|
297
|
-
const
|
|
298
|
-
if (
|
|
299
|
-
const
|
|
300
|
-
v.setAttribute("data-feather-k-field",
|
|
296
|
+
if (!C) return;
|
|
297
|
+
const E = R();
|
|
298
|
+
if (E && E[A]) {
|
|
299
|
+
const l = E[A].field ?? "";
|
|
300
|
+
v.setAttribute("data-feather-k-field", l), v.setAttribute(
|
|
301
301
|
"data-feather-k-filterable",
|
|
302
|
-
|
|
302
|
+
E[A].filterable === !1 ? "false" : "true"
|
|
303
303
|
), v.setAttribute(
|
|
304
304
|
"data-feather-k-sortable",
|
|
305
|
-
|
|
305
|
+
E[A].sortable === !1 ? "false" : "true"
|
|
306
306
|
);
|
|
307
307
|
}
|
|
308
|
-
const
|
|
309
|
-
|
|
310
|
-
const
|
|
311
|
-
|
|
312
|
-
}, ne = (
|
|
313
|
-
if (
|
|
314
|
-
n.value = v,
|
|
315
|
-
else if (
|
|
308
|
+
const L = v.dataset.featherKFilterable !== "false", K = v.dataset.featherKSortable !== "false";
|
|
309
|
+
C.setAttribute("tabindex", "-1"), L || K ? v.style.cursor = "pointer" : v.style.cursor = "default", L ? (v.setAttribute("tabindex", "0"), v.setAttribute("role", "button"), v.setAttribute("aria-haspopup", "menu")) : (v.setAttribute("tabindex", "0"), v.setAttribute("role", "columnheader"), v.removeAttribute("aria-haspopup"));
|
|
310
|
+
const Z = (l) => {
|
|
311
|
+
l.target?.closest(".k-column-resizer") || (n.value = v, C.click());
|
|
312
|
+
}, ne = (l) => {
|
|
313
|
+
if (L)
|
|
314
|
+
n.value = v, l.preventDefault(), l.stopPropagation(), Z(l);
|
|
315
|
+
else if (K) {
|
|
316
316
|
n.value = v;
|
|
317
|
-
const
|
|
318
|
-
|
|
317
|
+
const S = v.querySelector(".k-link");
|
|
318
|
+
S && S.click();
|
|
319
319
|
}
|
|
320
320
|
};
|
|
321
|
-
v.addEventListener("click", ne),
|
|
321
|
+
v.addEventListener("click", ne), b.push(() => {
|
|
322
322
|
v.removeEventListener("click", ne);
|
|
323
323
|
});
|
|
324
|
-
const
|
|
325
|
-
if ((
|
|
326
|
-
if (
|
|
327
|
-
|
|
328
|
-
else if (
|
|
329
|
-
const
|
|
330
|
-
|
|
324
|
+
const ie = (l) => {
|
|
325
|
+
if ((M(l) || l.code === "Space") && (L || K)) {
|
|
326
|
+
if (l.preventDefault(), l.stopPropagation(), n.value = v, n.value.focus(), L)
|
|
327
|
+
Z(l);
|
|
328
|
+
else if (K) {
|
|
329
|
+
const S = v.querySelector(".k-link");
|
|
330
|
+
S && S.click();
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
};
|
|
334
|
-
v.addEventListener("keydown",
|
|
335
|
-
v.removeEventListener("keydown",
|
|
334
|
+
v.addEventListener("keydown", ie, !0), b.push(() => {
|
|
335
|
+
v.removeEventListener("keydown", ie, !0);
|
|
336
336
|
}), v.dataset.featherKHeaderBound = "true";
|
|
337
337
|
});
|
|
338
|
-
const
|
|
339
|
-
if (
|
|
340
|
-
const v = (
|
|
341
|
-
const
|
|
342
|
-
|
|
338
|
+
const m = document.querySelector(".k-grid-header .k-table-thead");
|
|
339
|
+
if (m && m.dataset.featherKHeaderBound !== "true") {
|
|
340
|
+
const v = (A) => {
|
|
341
|
+
const C = A.target.closest("th");
|
|
342
|
+
C && (M(A) || A.code === "Space") && C.dataset.featherKFilterable === "false" && C.dataset.featherKSortable === "false" && (A.preventDefault(), A.stopImmediatePropagation());
|
|
343
343
|
};
|
|
344
|
-
|
|
344
|
+
m.addEventListener(
|
|
345
345
|
"keydown",
|
|
346
346
|
v,
|
|
347
347
|
!0
|
|
348
348
|
// NOTE: capture phase
|
|
349
|
-
),
|
|
350
|
-
|
|
349
|
+
), b.push(() => {
|
|
350
|
+
m.removeEventListener(
|
|
351
351
|
"keydown",
|
|
352
352
|
v,
|
|
353
353
|
!0
|
|
354
354
|
);
|
|
355
|
-
}),
|
|
356
|
-
}
|
|
357
|
-
},
|
|
358
|
-
const v =
|
|
359
|
-
if (!v || !
|
|
360
|
-
const
|
|
361
|
-
if (!
|
|
362
|
-
if (
|
|
363
|
-
|
|
364
|
-
(
|
|
355
|
+
}), m.dataset.featherKHeaderBound = "true";
|
|
356
|
+
}
|
|
357
|
+
}, _ = function(a, m) {
|
|
358
|
+
const v = a?.event?.event.target, A = R();
|
|
359
|
+
if (!v || !A) return;
|
|
360
|
+
const C = v.classList.contains("k-grid-header-menu"), E = v.classList.contains("k-columnmenu-item"), L = A.find((K) => K.field === a?.event?.field)?.sortable && !0;
|
|
361
|
+
if (!C) {
|
|
362
|
+
if (E && !L) {
|
|
363
|
+
a?.event?.sort?.filter(
|
|
364
|
+
(Z) => Z.field !== a?.event?.field
|
|
365
365
|
);
|
|
366
366
|
return;
|
|
367
367
|
}
|
|
368
|
-
typeof
|
|
369
|
-
n.value && n.value.focus(),
|
|
370
|
-
|
|
368
|
+
typeof m == "function" && G(() => {
|
|
369
|
+
n.value && n.value.focus(), m(a), G(() => {
|
|
370
|
+
X();
|
|
371
371
|
});
|
|
372
372
|
});
|
|
373
373
|
}
|
|
374
|
-
},
|
|
374
|
+
}, F = () => {
|
|
375
375
|
if (!u)
|
|
376
376
|
try {
|
|
377
|
-
|
|
378
|
-
} catch (
|
|
379
|
-
console.error("initA11y failed:",
|
|
377
|
+
g(), I(), V(), u = !0;
|
|
378
|
+
} catch (a) {
|
|
379
|
+
console.error("initA11y failed:", a), W();
|
|
380
380
|
}
|
|
381
381
|
};
|
|
382
|
-
return
|
|
383
|
-
|
|
382
|
+
return Be(() => {
|
|
383
|
+
W();
|
|
384
384
|
}), {
|
|
385
385
|
activeFilterButton: n,
|
|
386
|
-
handleGridKeyDown:
|
|
387
|
-
handleSortChange:
|
|
388
|
-
initA11y:
|
|
386
|
+
handleGridKeyDown: s,
|
|
387
|
+
handleSortChange: _,
|
|
388
|
+
initA11y: F
|
|
389
389
|
};
|
|
390
|
-
}, _e = (e) => !!e && typeof e == "object" && "filters" in e && Array.isArray(e.filters), je = (e) => !!e && typeof e == "object" && "field" in e,
|
|
391
|
-
(n) =>
|
|
390
|
+
}, _e = (e) => !!e && typeof e == "object" && "filters" in e && Array.isArray(e.filters), je = (e) => !!e && typeof e == "object" && "field" in e, qe = (e, t) => !e || typeof e != "object" ? !1 : _e(e) ? e.filters.some(
|
|
391
|
+
(n) => qe(n, t)
|
|
392
392
|
) : je(e) ? e.field === t : !1, xt = (e) => (t) => e.value?.filters && e.value.filters.some(
|
|
393
|
-
(n) =>
|
|
393
|
+
(n) => qe(n, t)
|
|
394
394
|
) ? "active" : "", Ge = [
|
|
395
395
|
"button",
|
|
396
396
|
"a",
|
|
@@ -414,129 +414,129 @@ const Et = (e, t) => {
|
|
|
414
414
|
onRowAction: t,
|
|
415
415
|
gridRef: n,
|
|
416
416
|
dataItems: u,
|
|
417
|
-
ignoreSelectors:
|
|
417
|
+
ignoreSelectors: o = [],
|
|
418
418
|
shouldIgnoreTarget: c,
|
|
419
|
-
enableKeyboardAction:
|
|
420
|
-
} = e,
|
|
419
|
+
enableKeyboardAction: b = !0
|
|
420
|
+
} = e, k = [
|
|
421
421
|
...Ge,
|
|
422
|
-
...
|
|
423
|
-
],
|
|
422
|
+
...o
|
|
423
|
+
], P = (f, s) => {
|
|
424
424
|
if (!f) return !1;
|
|
425
|
-
const
|
|
426
|
-
return f.closest && f.closest(
|
|
427
|
-
},
|
|
428
|
-
const
|
|
425
|
+
const g = k.join(",");
|
|
426
|
+
return f.closest && f.closest(g) ? !0 : c && s ? c(f, s) : !1;
|
|
427
|
+
}, N = (f) => {
|
|
428
|
+
const g = f?.closest?.(
|
|
429
429
|
".k-table-row[data-grid-row-index]"
|
|
430
430
|
)?.getAttribute("data-grid-row-index");
|
|
431
|
-
if (
|
|
432
|
-
const
|
|
433
|
-
return Number.isNaN(
|
|
434
|
-
},
|
|
431
|
+
if (g == null) return;
|
|
432
|
+
const I = parseInt(g, 10);
|
|
433
|
+
return Number.isNaN(I) ? void 0 : I;
|
|
434
|
+
}, M = (f) => {
|
|
435
435
|
if (!f || typeof f.clientX != "number")
|
|
436
436
|
return;
|
|
437
|
-
const
|
|
437
|
+
const s = typeof window < "u" && window.scrollX || 0, g = typeof window < "u" && window.scrollY || 0, I = typeof window < "u" && window.screenX || 0, V = typeof window < "u" && window.screenY || 0;
|
|
438
438
|
return {
|
|
439
439
|
clientX: f.clientX,
|
|
440
440
|
clientY: f.clientY,
|
|
441
|
-
pageX: typeof f.pageX == "number" ? f.pageX : f.clientX +
|
|
442
|
-
pageY: typeof f.pageY == "number" ? f.pageY : f.clientY +
|
|
443
|
-
screenX: typeof f.screenX == "number" ? f.screenX : f.clientX +
|
|
444
|
-
screenY: typeof f.screenY == "number" ? f.screenY : f.clientY +
|
|
441
|
+
pageX: typeof f.pageX == "number" ? f.pageX : f.clientX + s,
|
|
442
|
+
pageY: typeof f.pageY == "number" ? f.pageY : f.clientY + g,
|
|
443
|
+
screenX: typeof f.screenX == "number" ? f.screenX : f.clientX + I,
|
|
444
|
+
screenY: typeof f.screenY == "number" ? f.screenY : f.clientY + V
|
|
445
445
|
};
|
|
446
|
-
},
|
|
446
|
+
}, R = (f) => {
|
|
447
447
|
if (!f || typeof f.getBoundingClientRect != "function")
|
|
448
448
|
return;
|
|
449
|
-
const
|
|
450
|
-
if (!
|
|
451
|
-
const
|
|
449
|
+
const s = f.getBoundingClientRect();
|
|
450
|
+
if (!s) return;
|
|
451
|
+
const g = s.left, I = s.bottom, V = typeof window < "u" && window.scrollX || 0, W = typeof window < "u" && window.scrollY || 0;
|
|
452
452
|
return {
|
|
453
|
-
clientX:
|
|
454
|
-
clientY:
|
|
455
|
-
pageX:
|
|
456
|
-
pageY:
|
|
457
|
-
screenX:
|
|
458
|
-
screenY:
|
|
453
|
+
clientX: g,
|
|
454
|
+
clientY: I,
|
|
455
|
+
pageX: g + V,
|
|
456
|
+
pageY: I + W,
|
|
457
|
+
screenX: g,
|
|
458
|
+
screenY: I
|
|
459
459
|
};
|
|
460
|
-
},
|
|
460
|
+
}, x = (f) => {
|
|
461
461
|
if (typeof window > "u") return !1;
|
|
462
|
-
const
|
|
463
|
-
if (!
|
|
462
|
+
const s = window.getSelection();
|
|
463
|
+
if (!s || s.isCollapsed || !s.toString().trim())
|
|
464
464
|
return !1;
|
|
465
|
-
if (f &&
|
|
466
|
-
const
|
|
467
|
-
return
|
|
465
|
+
if (f && s.anchorNode && s.focusNode) {
|
|
466
|
+
const g = f.closest(".k-table-row") || f.closest(".k-grid") || f, I = s.anchorNode.nodeType === Node.ELEMENT_NODE ? s.anchorNode : s.anchorNode.parentElement, V = s.focusNode.nodeType === Node.ELEMENT_NODE ? s.focusNode : s.focusNode.parentElement, W = !!(I && g.contains(I)), X = !!(V && g.contains(V));
|
|
467
|
+
return W || X;
|
|
468
468
|
}
|
|
469
469
|
return !0;
|
|
470
470
|
};
|
|
471
471
|
return {
|
|
472
472
|
handleRowClick: (f) => {
|
|
473
|
-
const
|
|
474
|
-
if (
|
|
473
|
+
const s = f?.htmlEvent || f?.event || f?.nativeEvent || (f instanceof Event ? f : void 0);
|
|
474
|
+
if (s && s.button !== void 0 && s.button !== 0)
|
|
475
475
|
return;
|
|
476
|
-
const
|
|
477
|
-
if (
|
|
476
|
+
const g = s?.target || f?.target;
|
|
477
|
+
if (g && P(g, s || f) || x(g))
|
|
478
478
|
return;
|
|
479
|
-
const
|
|
479
|
+
const I = {
|
|
480
480
|
dataItem: f.dataItem,
|
|
481
|
-
rowIndex: f.rowIndex ??
|
|
481
|
+
rowIndex: f.rowIndex ?? N(g),
|
|
482
482
|
field: f.field,
|
|
483
|
-
event:
|
|
483
|
+
event: s || f,
|
|
484
484
|
triggerType: "click",
|
|
485
|
-
ctrlKey: !!
|
|
486
|
-
shiftKey: !!
|
|
487
|
-
metaKey: !!
|
|
488
|
-
altKey: !!
|
|
489
|
-
coordinates:
|
|
485
|
+
ctrlKey: !!s?.ctrlKey,
|
|
486
|
+
shiftKey: !!s?.shiftKey,
|
|
487
|
+
metaKey: !!s?.metaKey,
|
|
488
|
+
altKey: !!s?.altKey,
|
|
489
|
+
coordinates: M(s) ?? R(g)
|
|
490
490
|
};
|
|
491
|
-
t(f.dataItem,
|
|
491
|
+
t(f.dataItem, I);
|
|
492
492
|
},
|
|
493
|
-
handleRowKeyDown: (f,
|
|
494
|
-
if (!
|
|
495
|
-
const
|
|
496
|
-
if (!(
|
|
497
|
-
const
|
|
498
|
-
if (!
|
|
499
|
-
const
|
|
493
|
+
handleRowKeyDown: (f, s) => {
|
|
494
|
+
if (!b) return;
|
|
495
|
+
const g = f.key || f.code;
|
|
496
|
+
if (!(g === "Enter" || g === "NumpadEnter" || g === " " || g === "Space" || f.code === "Enter" || f.code === "NumpadEnter" || f.code === "Space")) return;
|
|
497
|
+
const V = f.target;
|
|
498
|
+
if (!V) return;
|
|
499
|
+
const W = V.closest(
|
|
500
500
|
".k-table-row[data-grid-row-index], .k-table-row"
|
|
501
501
|
);
|
|
502
|
-
if (!
|
|
502
|
+
if (!W || P(V, f))
|
|
503
503
|
return;
|
|
504
504
|
f.preventDefault(), f.stopPropagation();
|
|
505
|
-
const
|
|
506
|
-
let
|
|
507
|
-
if (
|
|
508
|
-
const
|
|
509
|
-
|
|
505
|
+
const X = W.getAttribute("data-grid-row-index"), _ = X !== null ? parseInt(X, 10) : void 0;
|
|
506
|
+
let F = s;
|
|
507
|
+
if (F === void 0) {
|
|
508
|
+
const m = (Array.isArray(u) ? u : u?.value) || n?.value?.props?.dataItems || n?.value?.dataItems;
|
|
509
|
+
m && _ !== void 0 && _ >= 0 && _ < m.length && (F = m[_]);
|
|
510
510
|
}
|
|
511
|
-
if (
|
|
512
|
-
const
|
|
513
|
-
dataItem:
|
|
514
|
-
rowIndex:
|
|
511
|
+
if (F === void 0) return;
|
|
512
|
+
const a = {
|
|
513
|
+
dataItem: F,
|
|
514
|
+
rowIndex: _,
|
|
515
515
|
event: f,
|
|
516
516
|
triggerType: "keyboard",
|
|
517
517
|
ctrlKey: !!f.ctrlKey,
|
|
518
518
|
shiftKey: !!f.shiftKey,
|
|
519
519
|
metaKey: !!f.metaKey,
|
|
520
520
|
altKey: !!f.altKey,
|
|
521
|
-
coordinates:
|
|
521
|
+
coordinates: R(W)
|
|
522
522
|
};
|
|
523
|
-
t(
|
|
523
|
+
t(F, a);
|
|
524
524
|
},
|
|
525
|
-
isIgnoredTarget:
|
|
525
|
+
isIgnoredTarget: P
|
|
526
526
|
};
|
|
527
|
-
}, Je = "Enter a valid ZIP code with exactly 5 or 9 digits.",
|
|
527
|
+
}, Je = "Enter a valid ZIP code with exactly 5 or 9 digits.", Le = (e) => {
|
|
528
528
|
const t = e.replace(/\D/g, "").slice(0, 9);
|
|
529
529
|
return t.length > 5 ? `${t.slice(0, 5)}-${t.slice(5)}` : t;
|
|
530
530
|
}, Qe = (e, t) => e.slice(0, Math.max(0, t)).replace(/\D/g, "").length, et = (e) => e <= 5 ? e : Math.min(e + 1, 10), tt = (e) => {
|
|
531
|
-
const t =
|
|
531
|
+
const t = Y(Le(e.initialValue ?? "")), n = Y(!1), u = Y(
|
|
532
532
|
e.errorMessage?.trim() || Je
|
|
533
|
-
),
|
|
534
|
-
const
|
|
535
|
-
return
|
|
536
|
-
}),
|
|
537
|
-
const f = et(
|
|
533
|
+
), o = y(() => t.value.replace(/\D/g, "")), c = y(() => {
|
|
534
|
+
const D = o.value.length;
|
|
535
|
+
return D === 5 || D === 9;
|
|
536
|
+
}), b = y(() => n.value && !c.value), k = y(() => !n.value || c.value), P = y(() => n.value), N = (D, O) => {
|
|
537
|
+
const f = et(O);
|
|
538
538
|
G(() => {
|
|
539
|
-
|
|
539
|
+
D.isConnected && D.setSelectionRange(f, f);
|
|
540
540
|
});
|
|
541
541
|
};
|
|
542
542
|
return {
|
|
@@ -547,87 +547,87 @@ const Et = (e, t) => {
|
|
|
547
547
|
// bindings
|
|
548
548
|
wrapperClass: "fk-zip-textbox",
|
|
549
549
|
// derived state
|
|
550
|
-
zipRaw:
|
|
550
|
+
zipRaw: o,
|
|
551
551
|
isZipValid: c,
|
|
552
|
-
showZipError:
|
|
553
|
-
textBoxValid:
|
|
554
|
-
textBoxValidate:
|
|
552
|
+
showZipError: b,
|
|
553
|
+
textBoxValid: k,
|
|
554
|
+
textBoxValidate: P,
|
|
555
555
|
// actions
|
|
556
|
-
handleZipInput: (...
|
|
557
|
-
const
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
) :
|
|
561
|
-
t.value =
|
|
556
|
+
handleZipInput: (...D) => {
|
|
557
|
+
const O = D[0], s = O?.event?.target, g = O?.value, I = Array.isArray(g) ? g.join("") : String(g ?? ""), V = s?.selectionStart !== void 0 && s.selectionStart !== null ? Qe(
|
|
558
|
+
s.value,
|
|
559
|
+
s.selectionStart
|
|
560
|
+
) : I.replace(/\D/g, "").length;
|
|
561
|
+
t.value = Le(I), s && N(s, V);
|
|
562
562
|
},
|
|
563
|
-
submitAndValidate: (
|
|
563
|
+
submitAndValidate: (D) => {
|
|
564
564
|
n.value = !0;
|
|
565
|
-
const
|
|
566
|
-
return !
|
|
565
|
+
const O = c.value;
|
|
566
|
+
return !O && D?.focus && G(() => {
|
|
567
567
|
document.getElementById(
|
|
568
568
|
e.id
|
|
569
569
|
)?.focus();
|
|
570
|
-
}),
|
|
570
|
+
}), O;
|
|
571
571
|
},
|
|
572
|
-
buildPayload: () => ({ zip:
|
|
572
|
+
buildPayload: () => ({ zip: o.value })
|
|
573
573
|
};
|
|
574
574
|
};
|
|
575
575
|
function nt(e, t) {
|
|
576
|
-
const n =
|
|
577
|
-
|
|
576
|
+
const n = Y(!1);
|
|
577
|
+
ze(() => {
|
|
578
578
|
e.value?.setAttribute("aria-invalid", String(!t.isValid()));
|
|
579
579
|
});
|
|
580
580
|
function u(c) {
|
|
581
|
-
const
|
|
582
|
-
(!
|
|
581
|
+
const b = e.value ?? c.currentTarget, k = c.relatedTarget;
|
|
582
|
+
(!b || !b.contains(k)) && (n.value = !0);
|
|
583
583
|
}
|
|
584
|
-
function
|
|
584
|
+
function o() {
|
|
585
585
|
n.value = !1;
|
|
586
586
|
}
|
|
587
|
-
return { touched: n, onFocusout: u, reset:
|
|
587
|
+
return { touched: n, onFocusout: u, reset: o };
|
|
588
588
|
}
|
|
589
589
|
function rt(e, t) {
|
|
590
|
-
const n =
|
|
590
|
+
const n = Y(!1), u = Y(!1), o = y(
|
|
591
591
|
() => re(t.submitted) || n.value
|
|
592
|
-
), c =
|
|
592
|
+
), c = y(() => !o.value || t.isValid()), b = nt(e, {
|
|
593
593
|
isValid: () => c.value
|
|
594
594
|
});
|
|
595
|
-
function
|
|
596
|
-
return
|
|
595
|
+
function k(x) {
|
|
596
|
+
return y(() => !o.value || re(x));
|
|
597
597
|
}
|
|
598
|
-
function
|
|
598
|
+
function P(x) {
|
|
599
599
|
return Object.fromEntries(
|
|
600
|
-
Object.entries(
|
|
601
|
-
|
|
602
|
-
|
|
600
|
+
Object.entries(x).map(([D, O]) => [
|
|
601
|
+
D,
|
|
602
|
+
k(O)
|
|
603
603
|
])
|
|
604
604
|
);
|
|
605
605
|
}
|
|
606
|
-
function
|
|
607
|
-
const
|
|
608
|
-
if (!
|
|
609
|
-
|
|
606
|
+
function N(x) {
|
|
607
|
+
const D = re(x);
|
|
608
|
+
if (!D) return;
|
|
609
|
+
D.querySelector(
|
|
610
610
|
'.k-invalid input, .k-invalid[tabindex="0"]'
|
|
611
611
|
)?.focus();
|
|
612
612
|
}
|
|
613
|
-
function
|
|
613
|
+
function M(x) {
|
|
614
614
|
if (u.value) {
|
|
615
615
|
u.value = !1;
|
|
616
616
|
return;
|
|
617
617
|
}
|
|
618
|
-
|
|
618
|
+
b.onFocusout(x), b.touched.value && (n.value = !0);
|
|
619
619
|
}
|
|
620
|
-
function
|
|
621
|
-
n.value = !1, u.value = !0,
|
|
620
|
+
function R() {
|
|
621
|
+
n.value = !1, u.value = !0, b.reset();
|
|
622
622
|
}
|
|
623
623
|
return {
|
|
624
624
|
touched: n,
|
|
625
|
-
fieldsetValidate:
|
|
626
|
-
onFocusout:
|
|
627
|
-
reset:
|
|
628
|
-
createFieldValidity:
|
|
629
|
-
createFieldValidationsMap:
|
|
630
|
-
focusFirstInvalidField:
|
|
625
|
+
fieldsetValidate: o,
|
|
626
|
+
onFocusout: M,
|
|
627
|
+
reset: R,
|
|
628
|
+
createFieldValidity: k,
|
|
629
|
+
createFieldValidationsMap: P,
|
|
630
|
+
focusFirstInvalidField: N
|
|
631
631
|
};
|
|
632
632
|
}
|
|
633
633
|
const at = [
|
|
@@ -690,7 +690,7 @@ function xe(e) {
|
|
|
690
690
|
return "";
|
|
691
691
|
}
|
|
692
692
|
function ot() {
|
|
693
|
-
const e =
|
|
693
|
+
const e = Ye({
|
|
694
694
|
address1: "",
|
|
695
695
|
address2: "",
|
|
696
696
|
city: "",
|
|
@@ -699,17 +699,17 @@ function ot() {
|
|
|
699
699
|
});
|
|
700
700
|
return {
|
|
701
701
|
formData: e,
|
|
702
|
-
onAddress1Input: (...
|
|
703
|
-
e.address1 = xe(
|
|
702
|
+
onAddress1Input: (...b) => {
|
|
703
|
+
e.address1 = xe(b[0]);
|
|
704
704
|
},
|
|
705
|
-
onAddress2Input: (...
|
|
706
|
-
e.address2 = xe(
|
|
705
|
+
onAddress2Input: (...b) => {
|
|
706
|
+
e.address2 = xe(b[0]);
|
|
707
707
|
},
|
|
708
|
-
onCityInput: (...
|
|
709
|
-
e.city = xe(
|
|
708
|
+
onCityInput: (...b) => {
|
|
709
|
+
e.city = xe(b[0]);
|
|
710
710
|
},
|
|
711
|
-
onStateChange: (
|
|
712
|
-
e.state =
|
|
711
|
+
onStateChange: (b) => {
|
|
712
|
+
e.state = b.value;
|
|
713
713
|
},
|
|
714
714
|
resetFormData: () => {
|
|
715
715
|
e.address1 = "", e.address2 = "", e.city = "", e.state = null, e.zip = "";
|
|
@@ -719,34 +719,34 @@ function ot() {
|
|
|
719
719
|
function lt(e, t = "zip") {
|
|
720
720
|
const n = tt({ id: t }), {
|
|
721
721
|
zipDisplay: u,
|
|
722
|
-
zipRaw:
|
|
722
|
+
zipRaw: o,
|
|
723
723
|
isZipValid: c,
|
|
724
|
-
wrapperClass:
|
|
725
|
-
handleZipInput:
|
|
724
|
+
wrapperClass: b,
|
|
725
|
+
handleZipInput: k
|
|
726
726
|
} = n;
|
|
727
|
-
return ae(
|
|
728
|
-
e.zip =
|
|
727
|
+
return ae(o, (N) => {
|
|
728
|
+
e.zip = N;
|
|
729
729
|
}), {
|
|
730
730
|
zipDisplay: u,
|
|
731
731
|
isZipValid: c,
|
|
732
|
-
zipWrapperClass:
|
|
733
|
-
onZipInput:
|
|
732
|
+
zipWrapperClass: b,
|
|
733
|
+
onZipInput: k,
|
|
734
734
|
resetZip: () => {
|
|
735
735
|
u.value = "", e.zip = "";
|
|
736
736
|
}
|
|
737
737
|
};
|
|
738
738
|
}
|
|
739
739
|
function it(e) {
|
|
740
|
-
const t =
|
|
740
|
+
const t = y(
|
|
741
741
|
() => e.formData.address1.trim() !== ""
|
|
742
|
-
), n =
|
|
743
|
-
() => t.value && n.value && u.value &&
|
|
742
|
+
), n = y(() => e.formData.city.trim() !== ""), u = y(() => !!e.formData.state), o = y(() => re(e.isZipValid)), c = y(
|
|
743
|
+
() => t.value && n.value && u.value && o.value
|
|
744
744
|
);
|
|
745
745
|
return {
|
|
746
746
|
strictAddress1Valid: t,
|
|
747
747
|
strictCityValid: n,
|
|
748
748
|
strictStateValid: u,
|
|
749
|
-
strictZipValid:
|
|
749
|
+
strictZipValid: o,
|
|
750
750
|
strictAddressValid: c
|
|
751
751
|
};
|
|
752
752
|
}
|
|
@@ -761,170 +761,170 @@ function ut(e, t) {
|
|
|
761
761
|
return !n || !n.contains(u);
|
|
762
762
|
}
|
|
763
763
|
function It(e) {
|
|
764
|
-
const t =
|
|
764
|
+
const t = Y(
|
|
765
765
|
re(e.fieldsetRef)
|
|
766
766
|
);
|
|
767
|
-
|
|
767
|
+
ze(() => {
|
|
768
768
|
t.value = re(e.fieldsetRef);
|
|
769
769
|
});
|
|
770
|
-
const n =
|
|
770
|
+
const n = Y(!1), u = Y(!1), o = y(() => re(e.required) ?? !0), {
|
|
771
771
|
formData: c,
|
|
772
|
-
onAddress1Input:
|
|
773
|
-
onAddress2Input:
|
|
774
|
-
onCityInput:
|
|
775
|
-
onStateChange:
|
|
776
|
-
resetFormData:
|
|
777
|
-
} = ot(),
|
|
778
|
-
strictAddress1Valid:
|
|
779
|
-
strictCityValid:
|
|
780
|
-
strictStateValid:
|
|
781
|
-
strictZipValid:
|
|
782
|
-
strictAddressValid:
|
|
772
|
+
onAddress1Input: b,
|
|
773
|
+
onAddress2Input: k,
|
|
774
|
+
onCityInput: P,
|
|
775
|
+
onStateChange: N,
|
|
776
|
+
resetFormData: M
|
|
777
|
+
} = ot(), R = `${e.addressId}-zip`, { zipDisplay: x, isZipValid: D, zipWrapperClass: O, onZipInput: f, resetZip: s } = lt(c, R), {
|
|
778
|
+
strictAddress1Valid: g,
|
|
779
|
+
strictCityValid: I,
|
|
780
|
+
strictStateValid: V,
|
|
781
|
+
strictZipValid: W,
|
|
782
|
+
strictAddressValid: X
|
|
783
783
|
} = it({
|
|
784
784
|
formData: c,
|
|
785
|
-
isZipValid:
|
|
786
|
-
}),
|
|
785
|
+
isZipValid: D
|
|
786
|
+
}), _ = rt(t, {
|
|
787
787
|
submitted: n,
|
|
788
|
-
isValid: () =>
|
|
789
|
-
}), { touched:
|
|
790
|
-
address1:
|
|
791
|
-
city:
|
|
792
|
-
state:
|
|
793
|
-
zip: P,
|
|
794
|
-
address: A
|
|
795
|
-
}), {
|
|
796
|
-
address1: T,
|
|
797
|
-
city: k,
|
|
798
|
-
state: O,
|
|
788
|
+
isValid: () => X.value
|
|
789
|
+
}), { touched: F, fieldsetValidate: a, onFocusout: m, reset: v } = _, A = _.createFieldValidationsMap({
|
|
790
|
+
address1: g,
|
|
791
|
+
city: I,
|
|
792
|
+
state: V,
|
|
799
793
|
zip: W,
|
|
800
|
-
address:
|
|
801
|
-
}
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
() =>
|
|
809
|
-
),
|
|
810
|
-
() =>
|
|
811
|
-
),
|
|
812
|
-
() =>
|
|
813
|
-
),
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
794
|
+
address: X
|
|
795
|
+
}), {
|
|
796
|
+
address1: C,
|
|
797
|
+
city: E,
|
|
798
|
+
state: L,
|
|
799
|
+
zip: K,
|
|
800
|
+
address: Z
|
|
801
|
+
} = A, ne = y(
|
|
802
|
+
() => o.value ? a.value : !1
|
|
803
|
+
), ie = y(
|
|
804
|
+
() => o.value ? C.value : !0
|
|
805
|
+
), l = y(
|
|
806
|
+
() => o.value ? E.value : !0
|
|
807
|
+
), S = y(
|
|
808
|
+
() => o.value ? L.value : !0
|
|
809
|
+
), q = y(
|
|
810
|
+
() => o.value ? K.value : !0
|
|
811
|
+
), p = y(
|
|
812
|
+
() => o.value ? Z.value : !0
|
|
813
|
+
), w = { value: null, label: "State" }, z = at.map(({ label: h, value: $ }) => ({
|
|
814
|
+
label: h,
|
|
815
|
+
value: $
|
|
816
|
+
})), r = y(() => ({
|
|
817
817
|
address1: c.address1.trim(),
|
|
818
818
|
address2: c.address2.trim(),
|
|
819
819
|
city: c.city.trim(),
|
|
820
820
|
state: (c.state ?? "").trim().toUpperCase(),
|
|
821
821
|
zip: c.zip.replace(/\D/g, "")
|
|
822
|
-
})), d =
|
|
823
|
-
const
|
|
824
|
-
return !
|
|
825
|
-
}), Q =
|
|
822
|
+
})), d = y(() => c.address1.trim() === "" && c.address2.trim() === "" && c.city.trim() === "" && (c.state ?? "").trim() === "" && c.zip.replace(/\D/g, "") === ""), T = y(() => !d.value), U = y(() => !o.value && T.value && (!g.value || !I.value || !V.value)), B = y(() => {
|
|
823
|
+
const h = c.zip.replace(/\D/g, "");
|
|
824
|
+
return !o.value && T.value && h.length !== 5 && h.length !== 9;
|
|
825
|
+
}), Q = y(() => !o.value && T.value && !X.value), j = y(() => !o.value && Q.value && (u.value || n.value));
|
|
826
826
|
return ae(r, () => {
|
|
827
|
-
|
|
828
|
-
}), ae(
|
|
829
|
-
|
|
827
|
+
o.value || (u.value = !1);
|
|
828
|
+
}), ae(o, (h) => {
|
|
829
|
+
h || (n.value = !1, u.value = !1, v());
|
|
830
830
|
}), {
|
|
831
831
|
formData: c,
|
|
832
832
|
submitted: n,
|
|
833
|
-
touched:
|
|
833
|
+
touched: F,
|
|
834
834
|
addressValidate: ne,
|
|
835
|
-
address1Valid:
|
|
836
|
-
cityValid:
|
|
837
|
-
stateValid:
|
|
838
|
-
zipValid:
|
|
835
|
+
address1Valid: ie,
|
|
836
|
+
cityValid: l,
|
|
837
|
+
stateValid: S,
|
|
838
|
+
zipValid: q,
|
|
839
839
|
addressValid: p,
|
|
840
840
|
optionalFeedbackActive: j,
|
|
841
841
|
optionalPartialInvalid: Q,
|
|
842
|
-
optionalMissingRequiredFields:
|
|
843
|
-
optionalZipInvalid:
|
|
844
|
-
stateDefaultItem:
|
|
845
|
-
stateOptions:
|
|
846
|
-
zipDisplay:
|
|
847
|
-
zipWrapperClass:
|
|
848
|
-
onAddress1Input:
|
|
849
|
-
onAddress2Input:
|
|
850
|
-
onCityInput:
|
|
851
|
-
onStateChange:
|
|
842
|
+
optionalMissingRequiredFields: U,
|
|
843
|
+
optionalZipInvalid: B,
|
|
844
|
+
stateDefaultItem: w,
|
|
845
|
+
stateOptions: z,
|
|
846
|
+
zipDisplay: x,
|
|
847
|
+
zipWrapperClass: O,
|
|
848
|
+
onAddress1Input: b,
|
|
849
|
+
onAddress2Input: k,
|
|
850
|
+
onCityInput: P,
|
|
851
|
+
onStateChange: N,
|
|
852
852
|
onZipInput: f,
|
|
853
|
-
onFieldsetFocusout: (
|
|
854
|
-
const
|
|
855
|
-
|
|
853
|
+
onFieldsetFocusout: (h) => {
|
|
854
|
+
const $ = ut(t.value, h);
|
|
855
|
+
m(h), !o.value && $ && (u.value = !0);
|
|
856
856
|
},
|
|
857
857
|
normalizedPayload: r,
|
|
858
|
-
validateForSubmit: async () =>
|
|
858
|
+
validateForSubmit: async () => o.value ? (n.value = !0, X.value ? {
|
|
859
859
|
isValid: !0,
|
|
860
860
|
payload: r.value
|
|
861
|
-
} : (await G(), st(t.value), { isValid: !1, payload: null })) : d.value ||
|
|
861
|
+
} : (await G(), st(t.value), { isValid: !1, payload: null })) : d.value || X.value ? (n.value = !1, {
|
|
862
862
|
isValid: !0,
|
|
863
863
|
payload: r.value
|
|
864
864
|
}) : (n.value = !0, { isValid: !1, payload: null }),
|
|
865
865
|
reset: () => {
|
|
866
|
-
n.value = !1, u.value = !1, v(),
|
|
866
|
+
n.value = !1, u.value = !1, v(), M(), s();
|
|
867
867
|
}
|
|
868
868
|
};
|
|
869
869
|
}
|
|
870
|
-
const
|
|
871
|
-
const
|
|
872
|
-
return { left:
|
|
873
|
-
},
|
|
870
|
+
const $e = (e) => e === "left" ? "right" : e === "right" ? "left" : "center", Oe = (e) => e === "top" ? "bottom" : e === "bottom" ? "top" : "center", Me = (e, t, n, u) => {
|
|
871
|
+
const o = e.left + (n.horizontal === "right" ? e.width : n.horizontal === "center" ? e.width / 2 : 0), c = e.top + (n.vertical === "bottom" ? e.height : n.vertical === "center" ? e.height / 2 : 0), b = t ? u.horizontal === "right" ? t.width : u.horizontal === "center" ? t.width / 2 : 0 : 0, k = t ? u.vertical === "bottom" ? t.height : u.vertical === "center" ? t.height / 2 : 0 : 0;
|
|
872
|
+
return { left: o - b, top: c - k };
|
|
873
|
+
}, Ve = (e, t, n, u) => t >= u - n ? n : Math.min(Math.max(e, n), u - t), ct = ({
|
|
874
874
|
anchor: e,
|
|
875
875
|
popup: t,
|
|
876
876
|
anchorAlign: n,
|
|
877
877
|
popupAlign: u,
|
|
878
|
-
bounds:
|
|
878
|
+
bounds: o,
|
|
879
879
|
collision: c
|
|
880
880
|
}) => {
|
|
881
|
-
const
|
|
882
|
-
if (!t) return
|
|
883
|
-
let { left:
|
|
881
|
+
const b = Me(e, t, n, u);
|
|
882
|
+
if (!t) return b;
|
|
883
|
+
let { left: k, top: P } = b;
|
|
884
884
|
if (c.horizontal === "fit")
|
|
885
|
-
|
|
885
|
+
k = Ve(k, t.width, o.left, o.right);
|
|
886
886
|
else {
|
|
887
|
-
const
|
|
888
|
-
if (
|
|
889
|
-
const
|
|
887
|
+
const N = k + t.width - o.right, M = o.left - k;
|
|
888
|
+
if (N > 0 || M > 0) {
|
|
889
|
+
const R = Me(
|
|
890
890
|
e,
|
|
891
891
|
t,
|
|
892
892
|
{
|
|
893
|
-
horizontal:
|
|
893
|
+
horizontal: $e(n.horizontal),
|
|
894
894
|
vertical: n.vertical
|
|
895
895
|
},
|
|
896
896
|
{
|
|
897
|
-
horizontal:
|
|
897
|
+
horizontal: $e(u.horizontal),
|
|
898
898
|
vertical: u.vertical
|
|
899
899
|
}
|
|
900
|
-
),
|
|
901
|
-
Math.max(
|
|
900
|
+
), x = Math.max(N, 0) + Math.max(M, 0);
|
|
901
|
+
Math.max(R.left + t.width - o.right, 0) + Math.max(o.left - R.left, 0) < x && (k = R.left);
|
|
902
902
|
}
|
|
903
903
|
}
|
|
904
904
|
if (c.vertical === "fit")
|
|
905
|
-
|
|
905
|
+
P = Ve(P, t.height, o.top, o.bottom);
|
|
906
906
|
else {
|
|
907
|
-
const
|
|
908
|
-
if (
|
|
909
|
-
const
|
|
907
|
+
const N = P + t.height - o.bottom, M = o.top - P;
|
|
908
|
+
if (N > 0 || M > 0) {
|
|
909
|
+
const R = Me(
|
|
910
910
|
e,
|
|
911
911
|
t,
|
|
912
912
|
{
|
|
913
913
|
horizontal: n.horizontal,
|
|
914
|
-
vertical:
|
|
914
|
+
vertical: Oe(n.vertical)
|
|
915
915
|
},
|
|
916
916
|
{
|
|
917
917
|
horizontal: u.horizontal,
|
|
918
|
-
vertical:
|
|
918
|
+
vertical: Oe(u.vertical)
|
|
919
919
|
}
|
|
920
|
-
),
|
|
921
|
-
Math.max(
|
|
920
|
+
), x = Math.max(N, 0) + Math.max(M, 0);
|
|
921
|
+
Math.max(R.top + t.height - o.bottom, 0) + Math.max(o.top - R.top, 0) < x && (P = R.top);
|
|
922
922
|
}
|
|
923
923
|
}
|
|
924
|
-
return { left:
|
|
924
|
+
return { left: k, top: P };
|
|
925
925
|
}, Ct = (e = "fkid") => {
|
|
926
|
-
const t = `${e}-${
|
|
927
|
-
return { instanceId: t, compose: (...u) => [t, ...u].filter((
|
|
926
|
+
const t = `${e}-${He()}`;
|
|
927
|
+
return { instanceId: t, compose: (...u) => [t, ...u].filter((o) => o != null).map(String).join("-") };
|
|
928
928
|
}, dt = typeof window < "u" && typeof document < "u";
|
|
929
929
|
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
930
930
|
const ft = Object.prototype.toString, pt = (e) => ft.call(e) === "[object Object]", ke = () => {
|
|
@@ -938,96 +938,96 @@ function vt(e, t, n) {
|
|
|
938
938
|
immediate: !0
|
|
939
939
|
});
|
|
940
940
|
}
|
|
941
|
-
const
|
|
941
|
+
const Ke = dt ? window : void 0;
|
|
942
942
|
function be(e) {
|
|
943
943
|
var t;
|
|
944
944
|
const n = re(e);
|
|
945
945
|
return (t = n?.$el) !== null && t !== void 0 ? t : n;
|
|
946
946
|
}
|
|
947
947
|
function Ce(...e) {
|
|
948
|
-
const t = (u,
|
|
949
|
-
const u = Ie(re(e[0])).filter((
|
|
950
|
-
return u.every((
|
|
948
|
+
const t = (u, o, c, b) => (u.addEventListener(o, c, b), () => u.removeEventListener(o, c, b)), n = y(() => {
|
|
949
|
+
const u = Ie(re(e[0])).filter((o) => o != null);
|
|
950
|
+
return u.every((o) => typeof o != "string") ? u : void 0;
|
|
951
951
|
});
|
|
952
952
|
return vt(() => {
|
|
953
|
-
var u,
|
|
953
|
+
var u, o;
|
|
954
954
|
return [
|
|
955
|
-
(u = (
|
|
955
|
+
(u = (o = n.value) === null || o === void 0 ? void 0 : o.map((c) => be(c))) !== null && u !== void 0 ? u : [Ke].filter((c) => c != null),
|
|
956
956
|
Ie(re(n.value ? e[1] : e[0])),
|
|
957
|
-
Ie(
|
|
957
|
+
Ie(We(n.value ? e[2] : e[1])),
|
|
958
958
|
re(n.value ? e[3] : e[2])
|
|
959
959
|
];
|
|
960
|
-
}, ([u,
|
|
961
|
-
if (!u?.length || !
|
|
962
|
-
const
|
|
963
|
-
|
|
964
|
-
|
|
960
|
+
}, ([u, o, c, b], k, P) => {
|
|
961
|
+
if (!u?.length || !o?.length || !c?.length) return;
|
|
962
|
+
const N = pt(b) ? { ...b } : b, M = u.flatMap((R) => o.flatMap((x) => c.map((D) => t(R, x, D, N))));
|
|
963
|
+
P(() => {
|
|
964
|
+
M.forEach((R) => R());
|
|
965
965
|
});
|
|
966
966
|
}, { flush: "post" });
|
|
967
967
|
}
|
|
968
|
-
function
|
|
969
|
-
const { window: u =
|
|
970
|
-
if (!u) return
|
|
968
|
+
function Ue(e, t, n = {}) {
|
|
969
|
+
const { window: u = Ke, ignore: o = [], capture: c = !0, detectIframe: b = !1, controls: k = !1 } = n;
|
|
970
|
+
if (!u) return k ? {
|
|
971
971
|
stop: ke,
|
|
972
972
|
cancel: ke,
|
|
973
973
|
trigger: ke
|
|
974
974
|
} : ke;
|
|
975
|
-
let
|
|
976
|
-
const
|
|
977
|
-
if (typeof
|
|
975
|
+
let P = !0;
|
|
976
|
+
const N = (s) => re(o).some((g) => {
|
|
977
|
+
if (typeof g == "string") return Array.from(u.document.querySelectorAll(g)).some((I) => I === s.target || s.composedPath().includes(I));
|
|
978
978
|
{
|
|
979
|
-
const
|
|
980
|
-
return
|
|
979
|
+
const I = be(g);
|
|
980
|
+
return I && (s.target === I || s.composedPath().includes(I));
|
|
981
981
|
}
|
|
982
982
|
});
|
|
983
|
-
function
|
|
984
|
-
const
|
|
985
|
-
return
|
|
983
|
+
function M(s) {
|
|
984
|
+
const g = re(s);
|
|
985
|
+
return g && g.$.subTree.shapeFlag === 16;
|
|
986
986
|
}
|
|
987
|
-
function
|
|
988
|
-
const
|
|
989
|
-
return
|
|
987
|
+
function R(s, g) {
|
|
988
|
+
const I = re(s), V = I.$.subTree && I.$.subTree.children;
|
|
989
|
+
return V == null || !Array.isArray(V) ? !1 : V.some((W) => W.el === g.target || g.composedPath().includes(W.el));
|
|
990
990
|
}
|
|
991
|
-
const
|
|
992
|
-
const
|
|
993
|
-
if (
|
|
994
|
-
if ("detail" in
|
|
995
|
-
|
|
991
|
+
const x = (s) => {
|
|
992
|
+
const g = be(e);
|
|
993
|
+
if (s.target != null && !(!(g instanceof Element) && M(e) && R(e, s)) && !(!g || g === s.target || s.composedPath().includes(g))) {
|
|
994
|
+
if ("detail" in s && s.detail === 0 && (P = !N(s)), !P) {
|
|
995
|
+
P = !0;
|
|
996
996
|
return;
|
|
997
997
|
}
|
|
998
|
-
t(
|
|
998
|
+
t(s);
|
|
999
999
|
}
|
|
1000
1000
|
};
|
|
1001
|
-
let
|
|
1002
|
-
const
|
|
1003
|
-
Ce(u, "click", (
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
}, 0),
|
|
1001
|
+
let D = !1;
|
|
1002
|
+
const O = [
|
|
1003
|
+
Ce(u, "click", (s) => {
|
|
1004
|
+
D || (D = !0, setTimeout(() => {
|
|
1005
|
+
D = !1;
|
|
1006
|
+
}, 0), x(s));
|
|
1007
1007
|
}, {
|
|
1008
1008
|
passive: !0,
|
|
1009
1009
|
capture: c
|
|
1010
1010
|
}),
|
|
1011
|
-
Ce(u, "pointerdown", (
|
|
1012
|
-
const
|
|
1013
|
-
|
|
1011
|
+
Ce(u, "pointerdown", (s) => {
|
|
1012
|
+
const g = be(e);
|
|
1013
|
+
P = !N(s) && !!(g && !s.composedPath().includes(g));
|
|
1014
1014
|
}, { passive: !0 }),
|
|
1015
|
-
|
|
1015
|
+
b && Ce(u, "blur", (s) => {
|
|
1016
1016
|
setTimeout(() => {
|
|
1017
|
-
const
|
|
1018
|
-
let
|
|
1019
|
-
for (;
|
|
1020
|
-
|
|
1017
|
+
const g = be(e);
|
|
1018
|
+
let I = u.document.activeElement;
|
|
1019
|
+
for (; I?.shadowRoot; ) I = I.shadowRoot.activeElement;
|
|
1020
|
+
I?.tagName === "IFRAME" && !g?.contains(u.document.activeElement) && t(s);
|
|
1021
1021
|
}, 0);
|
|
1022
1022
|
}, { passive: !0 })
|
|
1023
|
-
].filter(Boolean), f = () =>
|
|
1024
|
-
return
|
|
1023
|
+
].filter(Boolean), f = () => O.forEach((s) => s());
|
|
1024
|
+
return k ? {
|
|
1025
1025
|
stop: f,
|
|
1026
1026
|
cancel: () => {
|
|
1027
|
-
|
|
1027
|
+
P = !1;
|
|
1028
1028
|
},
|
|
1029
|
-
trigger: (
|
|
1030
|
-
|
|
1029
|
+
trigger: (s) => {
|
|
1030
|
+
P = !0, x(s), P = !1;
|
|
1031
1031
|
}
|
|
1032
1032
|
} : f;
|
|
1033
1033
|
}
|
|
@@ -1038,13 +1038,13 @@ const mt = (e) => {
|
|
|
1038
1038
|
};
|
|
1039
1039
|
return typeof window < "u" && typeof window.IntersectionObserver == "function" && ae(
|
|
1040
1040
|
[e.target, () => e.root()],
|
|
1041
|
-
([
|
|
1042
|
-
n(),
|
|
1043
|
-
([
|
|
1044
|
-
|
|
1041
|
+
([o, c]) => {
|
|
1042
|
+
n(), o && (t = new IntersectionObserver(
|
|
1043
|
+
([b]) => {
|
|
1044
|
+
b && e.onChange(b);
|
|
1045
1045
|
},
|
|
1046
1046
|
{ root: c, threshold: e.threshold ?? 1 }
|
|
1047
|
-
), t.observe(
|
|
1047
|
+
), t.observe(o));
|
|
1048
1048
|
},
|
|
1049
1049
|
{ immediate: !0 }
|
|
1050
1050
|
), Te(n), { disconnect: n };
|
|
@@ -1059,33 +1059,33 @@ const mt = (e) => {
|
|
|
1059
1059
|
}, wt = (e) => {
|
|
1060
1060
|
let t = e.parentElement, n = null;
|
|
1061
1061
|
for (; t; ) {
|
|
1062
|
-
const { overflow: u, overflowX:
|
|
1063
|
-
if ((
|
|
1062
|
+
const { overflow: u, overflowX: o, overflowY: c } = window.getComputedStyle(t), b = /auto|scroll|overlay/.test(`${u} ${o}`), k = /auto|scroll|overlay/.test(`${u} ${c}`);
|
|
1063
|
+
if ((b || k) && (n ??= t), b && t.scrollWidth > t.clientWidth || k && t.scrollHeight > t.clientHeight)
|
|
1064
1064
|
return t;
|
|
1065
1065
|
t = t.parentElement;
|
|
1066
1066
|
}
|
|
1067
1067
|
return n;
|
|
1068
1068
|
}, Tt = (e) => {
|
|
1069
|
-
const t =
|
|
1069
|
+
const t = Y(null), n = e.menuItemSelector ?? ".k-menu-item:not(.k-disabled)", u = e.triggerMode, o = e.anchor === !0 ? {} : e.anchor, c = o?.activationPoint ? o.activationPoint === !0 ? {} : o.activationPoint : null, b = ve(null), k = ve(null), P = o?.anchorAlign ?? {
|
|
1070
1070
|
horizontal: "left",
|
|
1071
1071
|
vertical: "bottom"
|
|
1072
|
-
},
|
|
1072
|
+
}, N = o?.popupAlign ?? {
|
|
1073
1073
|
horizontal: "left",
|
|
1074
1074
|
vertical: "top"
|
|
1075
|
-
},
|
|
1075
|
+
}, M = o?.collision ?? {
|
|
1076
1076
|
horizontal: "flip",
|
|
1077
1077
|
vertical: "flip"
|
|
1078
|
-
},
|
|
1079
|
-
() =>
|
|
1078
|
+
}, R = ve(null), x = () => ye(e.triggerRef.value), D = y(() => x()), O = y(
|
|
1079
|
+
() => o && o.hideWhenAnchorClipped !== !1 ? D.value : null
|
|
1080
1080
|
), f = () => {
|
|
1081
|
-
const p =
|
|
1081
|
+
const p = o?.clipRoot ? re(o.clipRoot) : null;
|
|
1082
1082
|
if (p) {
|
|
1083
|
-
const
|
|
1083
|
+
const w = p.getBoundingClientRect();
|
|
1084
1084
|
return {
|
|
1085
|
-
left:
|
|
1086
|
-
top:
|
|
1087
|
-
right:
|
|
1088
|
-
bottom:
|
|
1085
|
+
left: w.left,
|
|
1086
|
+
top: w.top,
|
|
1087
|
+
right: w.right,
|
|
1088
|
+
bottom: w.bottom
|
|
1089
1089
|
};
|
|
1090
1090
|
}
|
|
1091
1091
|
return {
|
|
@@ -1094,208 +1094,208 @@ const mt = (e) => {
|
|
|
1094
1094
|
right: window.innerWidth,
|
|
1095
1095
|
bottom: window.innerHeight
|
|
1096
1096
|
};
|
|
1097
|
-
},
|
|
1098
|
-
const p =
|
|
1097
|
+
}, s = y(() => {
|
|
1098
|
+
const p = b.value;
|
|
1099
1099
|
if (!e.isOpen.value || !p) return { left: 0, top: 0 };
|
|
1100
|
-
const
|
|
1100
|
+
const w = f(), z = ct({
|
|
1101
1101
|
anchor: p,
|
|
1102
|
-
popup:
|
|
1103
|
-
anchorAlign:
|
|
1104
|
-
popupAlign:
|
|
1105
|
-
bounds:
|
|
1106
|
-
collision:
|
|
1102
|
+
popup: R.value,
|
|
1103
|
+
anchorAlign: P,
|
|
1104
|
+
popupAlign: N,
|
|
1105
|
+
bounds: w,
|
|
1106
|
+
collision: M
|
|
1107
1107
|
});
|
|
1108
1108
|
return {
|
|
1109
|
-
left:
|
|
1110
|
-
top:
|
|
1109
|
+
left: z.left + window.scrollX,
|
|
1110
|
+
top: z.top + window.scrollY
|
|
1111
1111
|
};
|
|
1112
|
-
}),
|
|
1112
|
+
}), g = () => {
|
|
1113
1113
|
const p = e.resolveFocusTarget?.() ?? ye(e.focusTargetRef?.value);
|
|
1114
|
-
return p || (e.focusTargetContainerSelector ?
|
|
1114
|
+
return p || (e.focusTargetContainerSelector ? x()?.closest(
|
|
1115
1115
|
e.focusTargetContainerSelector
|
|
1116
1116
|
) ?? null : null);
|
|
1117
|
-
},
|
|
1117
|
+
}, I = (p, w) => {
|
|
1118
1118
|
if (!c) return !1;
|
|
1119
|
-
const
|
|
1120
|
-
if (!
|
|
1121
|
-
return
|
|
1122
|
-
const r =
|
|
1123
|
-
if (
|
|
1124
|
-
const d = c.keyboardPosition,
|
|
1125
|
-
return
|
|
1126
|
-
trigger:
|
|
1127
|
-
point: { x: d?.x ?? 8, y:
|
|
1119
|
+
const z = ye(p);
|
|
1120
|
+
if (!z)
|
|
1121
|
+
return k.value = null, !1;
|
|
1122
|
+
const r = z.getBoundingClientRect();
|
|
1123
|
+
if (w.triggerType === "keyboard") {
|
|
1124
|
+
const d = c.keyboardPosition, T = d?.y ?? "center", U = typeof T == "number" ? T : T === "top" ? 0 : T === "bottom" ? r.height : r.height / 2;
|
|
1125
|
+
return k.value = {
|
|
1126
|
+
trigger: z,
|
|
1127
|
+
point: { x: d?.x ?? 8, y: U },
|
|
1128
1128
|
hasMatchedTrigger: !1
|
|
1129
1129
|
}, !0;
|
|
1130
1130
|
}
|
|
1131
|
-
return
|
|
1132
|
-
trigger:
|
|
1131
|
+
return w.coordinates ? (k.value = {
|
|
1132
|
+
trigger: z,
|
|
1133
1133
|
point: {
|
|
1134
|
-
x:
|
|
1135
|
-
y:
|
|
1134
|
+
x: w.coordinates.clientX - r.left + (c.pointerOffset?.x ?? 0),
|
|
1135
|
+
y: w.coordinates.clientY - r.top + (c.pointerOffset?.y ?? 0)
|
|
1136
1136
|
},
|
|
1137
1137
|
hasMatchedTrigger: !1
|
|
1138
|
-
}, !0) : (
|
|
1139
|
-
},
|
|
1138
|
+
}, !0) : (k.value = null, !1);
|
|
1139
|
+
}, V = () => {
|
|
1140
1140
|
if (u !== "button") return null;
|
|
1141
1141
|
if (e.escapeFocusTarget) return e.escapeFocusTarget();
|
|
1142
1142
|
const p = e.escapeFocusContainerSelector ?? gt;
|
|
1143
|
-
return (
|
|
1144
|
-
},
|
|
1145
|
-
const p =
|
|
1143
|
+
return (x() ?? document.activeElement)?.closest(p) ?? null;
|
|
1144
|
+
}, W = () => {
|
|
1145
|
+
const p = g() ?? V();
|
|
1146
1146
|
if (p)
|
|
1147
1147
|
return p.focus(), !0;
|
|
1148
|
-
const
|
|
1149
|
-
return
|
|
1150
|
-
},
|
|
1148
|
+
const w = x();
|
|
1149
|
+
return w?.focus(), !!w;
|
|
1150
|
+
}, X = () => {
|
|
1151
1151
|
ye(e.menuRef.value)?.querySelector(n)?.focus({ preventScroll: !0 });
|
|
1152
|
-
},
|
|
1153
|
-
let
|
|
1154
|
-
const
|
|
1152
|
+
}, _ = ve(null), F = ve(null);
|
|
1153
|
+
let a = !1;
|
|
1154
|
+
const m = () => {
|
|
1155
1155
|
const p = t.value;
|
|
1156
1156
|
if (p === "keyboard" || p === "escape") {
|
|
1157
|
-
const
|
|
1158
|
-
|
|
1159
|
-
} else t.value === "mouse-selection" &&
|
|
1160
|
-
t.value = null,
|
|
1157
|
+
const w = _.value ?? F.value;
|
|
1158
|
+
w?.focus(), p === "keyboard" && w && w === F.value && (a = !0);
|
|
1159
|
+
} else t.value === "mouse-selection" && F.value?.focus();
|
|
1160
|
+
t.value = null, _.value = null, F.value = null;
|
|
1161
1161
|
}, v = (p) => {
|
|
1162
|
-
e.isOpen.value && (t.value = p,
|
|
1162
|
+
e.isOpen.value && (t.value = p, _.value = g() ?? (p === "escape" ? V() : null), F.value = x(), K(!1), e.requestHide(), G(m));
|
|
1163
1163
|
};
|
|
1164
1164
|
ae(
|
|
1165
|
-
[
|
|
1166
|
-
([p],
|
|
1167
|
-
if (!
|
|
1168
|
-
|
|
1165
|
+
[D, k],
|
|
1166
|
+
([p], w, z) => {
|
|
1167
|
+
if (!o || !p) {
|
|
1168
|
+
b.value = null;
|
|
1169
1169
|
return;
|
|
1170
1170
|
}
|
|
1171
1171
|
let r = null;
|
|
1172
1172
|
const d = () => {
|
|
1173
1173
|
r = null;
|
|
1174
|
-
const
|
|
1174
|
+
const B = k.value;
|
|
1175
1175
|
if (c) {
|
|
1176
|
-
|
|
1176
|
+
B && B.trigger === p ? B.hasMatchedTrigger = !0 : B?.hasMatchedTrigger && (B.trigger = p);
|
|
1177
1177
|
const Q = p.getBoundingClientRect();
|
|
1178
|
-
|
|
1179
|
-
Q.left +
|
|
1180
|
-
Q.top +
|
|
1178
|
+
b.value = B?.trigger === p ? new DOMRect(
|
|
1179
|
+
Q.left + B.point.x,
|
|
1180
|
+
Q.top + B.point.y,
|
|
1181
1181
|
0,
|
|
1182
1182
|
0
|
|
1183
1183
|
) : null;
|
|
1184
1184
|
return;
|
|
1185
1185
|
}
|
|
1186
|
-
|
|
1187
|
-
},
|
|
1186
|
+
b.value = o.getRect?.(p) ?? p.getBoundingClientRect();
|
|
1187
|
+
}, T = () => {
|
|
1188
1188
|
r === null && (r = window.requestAnimationFrame(d));
|
|
1189
|
-
},
|
|
1190
|
-
|
|
1189
|
+
}, U = typeof window.ResizeObserver == "function" ? new window.ResizeObserver(T) : null;
|
|
1190
|
+
U?.observe(p), window.addEventListener("scroll", T, {
|
|
1191
1191
|
capture: !0,
|
|
1192
1192
|
passive: !0
|
|
1193
|
-
}), window.addEventListener("resize",
|
|
1194
|
-
r !== null && window.cancelAnimationFrame(r),
|
|
1193
|
+
}), window.addEventListener("resize", T, { passive: !0 }), T(), z(() => {
|
|
1194
|
+
r !== null && window.cancelAnimationFrame(r), U?.disconnect(), window.removeEventListener("scroll", T, !0), window.removeEventListener("resize", T);
|
|
1195
1195
|
});
|
|
1196
1196
|
},
|
|
1197
1197
|
{ immediate: !0, flush: "post" }
|
|
1198
1198
|
);
|
|
1199
|
-
const
|
|
1199
|
+
const A = () => {
|
|
1200
1200
|
const p = ye(
|
|
1201
1201
|
e.popupContentRef?.value ?? e.menuRef.value
|
|
1202
1202
|
);
|
|
1203
1203
|
return p?.closest(".k-popup") ?? p;
|
|
1204
1204
|
};
|
|
1205
|
-
|
|
1205
|
+
o && ae(
|
|
1206
1206
|
e.isOpen,
|
|
1207
|
-
(p,
|
|
1207
|
+
(p, w, z) => {
|
|
1208
1208
|
if (!p) {
|
|
1209
|
-
|
|
1209
|
+
R.value = null;
|
|
1210
1210
|
return;
|
|
1211
1211
|
}
|
|
1212
1212
|
let r = null;
|
|
1213
1213
|
const d = () => {
|
|
1214
1214
|
r = null;
|
|
1215
|
-
const Q =
|
|
1216
|
-
|
|
1217
|
-
},
|
|
1215
|
+
const Q = A();
|
|
1216
|
+
R.value = Q?.getBoundingClientRect() ?? null;
|
|
1217
|
+
}, T = () => {
|
|
1218
1218
|
r === null && (r = window.requestAnimationFrame(d));
|
|
1219
|
-
},
|
|
1220
|
-
|
|
1221
|
-
r !== null && window.cancelAnimationFrame(r),
|
|
1219
|
+
}, U = A(), B = U && typeof window.ResizeObserver == "function" ? new window.ResizeObserver(T) : null;
|
|
1220
|
+
B?.observe(U), T(), z(() => {
|
|
1221
|
+
r !== null && window.cancelAnimationFrame(r), B?.disconnect();
|
|
1222
1222
|
});
|
|
1223
1223
|
},
|
|
1224
1224
|
{ immediate: !0, flush: "post" }
|
|
1225
1225
|
), mt({
|
|
1226
|
-
target:
|
|
1227
|
-
root: () =>
|
|
1228
|
-
threshold:
|
|
1226
|
+
target: O,
|
|
1227
|
+
root: () => o?.clipRoot ? re(o.clipRoot) : D.value ? wt(D.value) : null,
|
|
1228
|
+
threshold: o?.intersectionThreshold ?? (c ? 0 : 0.5),
|
|
1229
1229
|
onChange: (p) => {
|
|
1230
1230
|
p.isIntersecting || v("anchor-hidden");
|
|
1231
1231
|
}
|
|
1232
|
-
}),
|
|
1233
|
-
ignore: [
|
|
1232
|
+
}), Ue(e.menuRef, () => v("outside-click"), {
|
|
1233
|
+
ignore: [D]
|
|
1234
1234
|
});
|
|
1235
|
-
let
|
|
1236
|
-
const
|
|
1237
|
-
|
|
1238
|
-
},
|
|
1235
|
+
let C = null, E = null;
|
|
1236
|
+
const L = () => {
|
|
1237
|
+
C?.isConnected && C.setAttribute("aria-expanded", "false"), C = null;
|
|
1238
|
+
}, K = (p) => {
|
|
1239
1239
|
if (e.manageMenuTriggerAria === !1) return;
|
|
1240
|
-
const
|
|
1241
|
-
if (!
|
|
1242
|
-
|
|
1240
|
+
const w = D.value;
|
|
1241
|
+
if (!w) {
|
|
1242
|
+
C?.isConnected && C.setAttribute("aria-expanded", p ? "true" : "false");
|
|
1243
1243
|
return;
|
|
1244
1244
|
}
|
|
1245
|
-
if (!ht(
|
|
1246
|
-
yt(
|
|
1245
|
+
if (!ht(w, u)) {
|
|
1246
|
+
yt(w, u), L();
|
|
1247
1247
|
return;
|
|
1248
1248
|
}
|
|
1249
|
-
|
|
1250
|
-
},
|
|
1251
|
-
const p = ye(e.menuRef.value),
|
|
1252
|
-
|
|
1249
|
+
C && C !== w && L(), w.setAttribute("aria-expanded", p ? "true" : "false"), C = w;
|
|
1250
|
+
}, Z = () => {
|
|
1251
|
+
const p = ye(e.menuRef.value), w = p?.matches('[role="menubar"]') ? p : p?.querySelector('[role="menubar"]'), z = re(e.menuLabel)?.trim();
|
|
1252
|
+
E && E !== w && E.removeAttribute("aria-label"), w && (z ? w.setAttribute("aria-label", z) : w.removeAttribute("aria-label")), E = w ?? null;
|
|
1253
1253
|
};
|
|
1254
1254
|
ae(
|
|
1255
1255
|
[e.isOpen, e.triggerRef],
|
|
1256
1256
|
([p]) => {
|
|
1257
|
-
|
|
1257
|
+
K(p), !p && c && (k.value = null, b.value = null);
|
|
1258
1258
|
},
|
|
1259
1259
|
{ immediate: !0, flush: "post" }
|
|
1260
1260
|
), ae(
|
|
1261
1261
|
[e.isOpen, e.menuRef, () => re(e.menuLabel)],
|
|
1262
|
-
|
|
1262
|
+
Z,
|
|
1263
1263
|
{ immediate: !0, flush: "post" }
|
|
1264
1264
|
), Te(() => {
|
|
1265
|
-
|
|
1265
|
+
k.value = null, L(), E?.removeAttribute("aria-label");
|
|
1266
1266
|
}), ae(
|
|
1267
1267
|
e.isOpen,
|
|
1268
1268
|
(p) => {
|
|
1269
|
-
p &&
|
|
1269
|
+
p && X();
|
|
1270
1270
|
},
|
|
1271
1271
|
{ flush: "post" }
|
|
1272
1272
|
);
|
|
1273
1273
|
const ne = (...p) => {
|
|
1274
|
-
const
|
|
1275
|
-
if (
|
|
1276
|
-
|
|
1274
|
+
const w = p[0];
|
|
1275
|
+
if (a) {
|
|
1276
|
+
a = !1;
|
|
1277
1277
|
return;
|
|
1278
1278
|
}
|
|
1279
1279
|
if (e.isOpen.value) {
|
|
1280
1280
|
v("trigger-click");
|
|
1281
1281
|
return;
|
|
1282
1282
|
}
|
|
1283
|
-
e.requestShow(
|
|
1283
|
+
e.requestShow(w);
|
|
1284
1284
|
};
|
|
1285
1285
|
return {
|
|
1286
1286
|
/**
|
|
1287
1287
|
* Sets the anchor activation state, controlling whether the popup menu
|
|
1288
1288
|
* should respond to trigger interactions.
|
|
1289
1289
|
*/
|
|
1290
|
-
setAnchorActivation:
|
|
1290
|
+
setAnchorActivation: I,
|
|
1291
1291
|
/**
|
|
1292
1292
|
* Handles Kendo Menu selection: records keyboard or mouse modality,
|
|
1293
1293
|
* requests popup close, then runs the optional caller-owned action.
|
|
1294
1294
|
*/
|
|
1295
|
-
handleMenuSelect: (p,
|
|
1295
|
+
handleMenuSelect: (p, w) => {
|
|
1296
1296
|
v(
|
|
1297
1297
|
p.event?.type?.startsWith("key") ? "keyboard" : "mouse-selection"
|
|
1298
|
-
),
|
|
1298
|
+
), w?.(p);
|
|
1299
1299
|
},
|
|
1300
1300
|
/**
|
|
1301
1301
|
* Toggles the action menu. When opening, focuses the first enabled Kendo
|
|
@@ -1307,17 +1307,17 @@ const mt = (e) => {
|
|
|
1307
1307
|
* closes an open menu or focuses the configured target when already closed.
|
|
1308
1308
|
*/
|
|
1309
1309
|
handleTriggerKeydown: (...p) => {
|
|
1310
|
-
const
|
|
1311
|
-
if (
|
|
1312
|
-
|
|
1310
|
+
const w = p[0], z = p[1];
|
|
1311
|
+
if (w.key === "Enter" || w.code === "Space") {
|
|
1312
|
+
w.preventDefault(), ne(z);
|
|
1313
1313
|
return;
|
|
1314
1314
|
}
|
|
1315
|
-
if (
|
|
1316
|
-
if (
|
|
1315
|
+
if (w.key === "Escape") {
|
|
1316
|
+
if (w.preventDefault(), w.stopPropagation(), e.isOpen.value) {
|
|
1317
1317
|
v("escape");
|
|
1318
1318
|
return;
|
|
1319
1319
|
}
|
|
1320
|
-
|
|
1320
|
+
W();
|
|
1321
1321
|
}
|
|
1322
1322
|
},
|
|
1323
1323
|
/** Closes the open menu through the keyboard path when Escape is pressed inside it. */
|
|
@@ -1331,47 +1331,47 @@ const mt = (e) => {
|
|
|
1331
1331
|
* outside clicks do not move focus.
|
|
1332
1332
|
*/
|
|
1333
1333
|
handlePopupClose: () => {
|
|
1334
|
-
G(
|
|
1334
|
+
G(m);
|
|
1335
1335
|
},
|
|
1336
|
-
offset:
|
|
1336
|
+
offset: s
|
|
1337
1337
|
};
|
|
1338
1338
|
}, Rt = () => {
|
|
1339
1339
|
const e = /* @__PURE__ */ new Set();
|
|
1340
|
-
return { register: (
|
|
1341
|
-
e.add(
|
|
1342
|
-
}, deactivateOthers: (
|
|
1340
|
+
return { register: (o) => {
|
|
1341
|
+
e.add(o), Te(() => e.delete(o));
|
|
1342
|
+
}, deactivateOthers: (o) => {
|
|
1343
1343
|
e.forEach((c) => {
|
|
1344
|
-
c !==
|
|
1344
|
+
c !== o && c.deactivate();
|
|
1345
1345
|
});
|
|
1346
1346
|
}, deactivateAll: () => {
|
|
1347
|
-
e.forEach((
|
|
1347
|
+
e.forEach((o) => o.deactivate());
|
|
1348
1348
|
} };
|
|
1349
1349
|
}, bt = (e) => {
|
|
1350
1350
|
if (e instanceof HTMLElement) return e;
|
|
1351
1351
|
const t = e && "$el" in e ? e.$el : null;
|
|
1352
1352
|
return t instanceof HTMLElement ? t : null;
|
|
1353
1353
|
}, Ft = () => {
|
|
1354
|
-
const e =
|
|
1355
|
-
const
|
|
1356
|
-
|
|
1357
|
-
}, u = (
|
|
1358
|
-
t.value =
|
|
1354
|
+
const e = Xe(/* @__PURE__ */ new Map()), t = Y(null), n = (k, P) => {
|
|
1355
|
+
const N = bt(P);
|
|
1356
|
+
N ? e.set(k, N) : e.delete(k);
|
|
1357
|
+
}, u = (k) => e.get(k) ?? null, o = (k) => {
|
|
1358
|
+
t.value = k;
|
|
1359
1359
|
}, c = () => {
|
|
1360
1360
|
t.value = null;
|
|
1361
|
-
},
|
|
1361
|
+
}, b = (k) => t.value === k;
|
|
1362
1362
|
return {
|
|
1363
1363
|
activeId: te(t),
|
|
1364
|
-
isActive:
|
|
1365
|
-
activeElement:
|
|
1364
|
+
isActive: y(() => t.value !== null),
|
|
1365
|
+
activeElement: y(
|
|
1366
1366
|
() => t.value !== null ? u(t.value) : null
|
|
1367
1367
|
),
|
|
1368
1368
|
register: n,
|
|
1369
1369
|
resolve: u,
|
|
1370
|
-
activate:
|
|
1370
|
+
activate: o,
|
|
1371
1371
|
deactivate: c,
|
|
1372
|
-
isIdActive:
|
|
1372
|
+
isIdActive: b
|
|
1373
1373
|
};
|
|
1374
|
-
},
|
|
1374
|
+
}, Ne = {
|
|
1375
1375
|
title: "My Window",
|
|
1376
1376
|
draggable: !0,
|
|
1377
1377
|
resizable: !0,
|
|
@@ -1388,260 +1388,268 @@ const mt = (e) => {
|
|
|
1388
1388
|
}, St = (e) => e === "DEFAULT" || e === "MINIMIZED" || e === "FULLSCREEN", kt = (e, t, n) => Math.max(e - t - n, 0);
|
|
1389
1389
|
function Pt(e = {}) {
|
|
1390
1390
|
Fe(e.settings) && (e.settings.value = {
|
|
1391
|
-
...
|
|
1391
|
+
...Ne,
|
|
1392
1392
|
...e.settings.value
|
|
1393
1393
|
});
|
|
1394
|
-
const t = Fe(e.settings) ? e.settings :
|
|
1395
|
-
const
|
|
1396
|
-
if (
|
|
1397
|
-
const
|
|
1394
|
+
const t = Fe(e.settings) ? e.settings : Y({ ...Ne, ...e.settings }), n = ve(null), u = Y(!1), o = Y(e.initialStage ?? "DEFAULT"), c = Y(!1), b = Y(!1), k = Y(0), P = Y(0), N = async (F) => {
|
|
1395
|
+
const a = t.value.left !== void 0 && t.value.top !== void 0;
|
|
1396
|
+
if (F?.resetPosition || !a) {
|
|
1397
|
+
const m = Number.parseFloat(
|
|
1398
1398
|
window.getComputedStyle(document.documentElement).fontSize
|
|
1399
|
-
),
|
|
1400
|
-
t.value.left = void 0, t.value.top = void 0, t.value.width = void 0, t.value.height = void 0,
|
|
1399
|
+
), v = Number.isFinite(m) ? m : 16, A = t.value.fixed ? 0 : window.scrollX, C = t.value.fixed ? 0 : window.scrollY;
|
|
1400
|
+
t.value.left = void 0, t.value.top = void 0, t.value.width = void 0, t.value.height = void 0, k.value = A + kt(
|
|
1401
1401
|
window.innerWidth,
|
|
1402
1402
|
t.value.initialWidth,
|
|
1403
|
-
|
|
1404
|
-
),
|
|
1403
|
+
v
|
|
1404
|
+
), P.value = C + v, u.value = !0, await G(), t.value.width = t.value.initialWidth, t.value.height = t.value.initialHeight;
|
|
1405
1405
|
} else
|
|
1406
1406
|
u.value = !0;
|
|
1407
1407
|
e.onOpen?.();
|
|
1408
|
-
},
|
|
1409
|
-
|
|
1410
|
-
},
|
|
1411
|
-
const
|
|
1412
|
-
if (typeof
|
|
1408
|
+
}, M = () => {
|
|
1409
|
+
o.value = "DEFAULT", u.value = !1, e.onClose?.();
|
|
1410
|
+
}, R = (...F) => {
|
|
1411
|
+
const a = F[2];
|
|
1412
|
+
if (typeof a != "object" || a === null || !("state" in a) || !St(a.state))
|
|
1413
1413
|
return;
|
|
1414
|
-
const
|
|
1415
|
-
|
|
1416
|
-
},
|
|
1417
|
-
const
|
|
1418
|
-
if (typeof
|
|
1419
|
-
const
|
|
1414
|
+
const m = a.state;
|
|
1415
|
+
m !== o.value && (o.value = m, e.onStageChange?.(m));
|
|
1416
|
+
}, x = (...F) => {
|
|
1417
|
+
const a = F[0];
|
|
1418
|
+
if (typeof a == "object" && a !== null && "drag" in a && "left" in a && "top" in a && "width" in a && "height" in a && typeof a.left == "number" && typeof a.top == "number" && typeof a.width == "number" && typeof a.height == "number") {
|
|
1419
|
+
const m = a, v = n.value?.$el, C = (v instanceof Element ? v.querySelector(".k-window-titlebar") : null)?.getBoundingClientRect(), E = C?.width ?? m.width, L = C?.height ?? m.height, K = t.value.fixed ? 0 : window.scrollX, Z = t.value.fixed ? 0 : window.scrollY, ne = K + document.documentElement.clientWidth, ie = Z + document.documentElement.clientHeight, l = Math.max(ne - E, K), S = Math.max(ie - L, Z);
|
|
1420
1420
|
t.value.left = Math.min(
|
|
1421
|
-
Math.max(
|
|
1422
|
-
|
|
1421
|
+
Math.max(m.left, K),
|
|
1422
|
+
l
|
|
1423
1423
|
), t.value.top = Math.min(
|
|
1424
|
-
Math.max(
|
|
1425
|
-
|
|
1426
|
-
), c.value =
|
|
1427
|
-
}
|
|
1428
|
-
},
|
|
1429
|
-
const
|
|
1430
|
-
if (typeof
|
|
1431
|
-
const
|
|
1432
|
-
t.value.left =
|
|
1433
|
-
}
|
|
1434
|
-
},
|
|
1435
|
-
|
|
1424
|
+
Math.max(m.top, Z),
|
|
1425
|
+
S
|
|
1426
|
+
), c.value = m.drag && !m.end, e.onMove?.(m);
|
|
1427
|
+
}
|
|
1428
|
+
}, D = (...F) => {
|
|
1429
|
+
const a = F[0];
|
|
1430
|
+
if (typeof a == "object" && a !== null && "drag" in a && "left" in a && "top" in a && "width" in a && "height" in a && typeof a.left == "number" && typeof a.top == "number" && typeof a.width == "number" && typeof a.height == "number") {
|
|
1431
|
+
const m = a;
|
|
1432
|
+
t.value.left = m.left, t.value.top = m.top, t.value.width = m.width, t.value.height = m.height, b.value = m.drag && !m.end, e.onResize?.(m);
|
|
1433
|
+
}
|
|
1434
|
+
}, O = (F) => {
|
|
1435
|
+
F.target instanceof Element && F.target.closest(".k-resize-handle") && F.preventDefault();
|
|
1436
|
+
}, f = (F) => {
|
|
1437
|
+
re(e.titlebarDoubleClick) === !1 && F.target instanceof Element && F.target.closest(".k-window-titlebar") && (F.preventDefault(), F.stopPropagation());
|
|
1436
1438
|
};
|
|
1437
|
-
let
|
|
1438
|
-
const
|
|
1439
|
-
|
|
1439
|
+
let s, g;
|
|
1440
|
+
const I = () => {
|
|
1441
|
+
s?.(), s = void 0;
|
|
1442
|
+
}, V = () => {
|
|
1443
|
+
g?.(), g = void 0;
|
|
1440
1444
|
};
|
|
1441
1445
|
ae(
|
|
1442
1446
|
n,
|
|
1443
|
-
(
|
|
1444
|
-
|
|
1445
|
-
const
|
|
1446
|
-
|
|
1447
|
+
(F) => {
|
|
1448
|
+
I(), V();
|
|
1449
|
+
const a = F?.$el;
|
|
1450
|
+
a instanceof HTMLElement && (a.addEventListener("pointerdown", O, {
|
|
1447
1451
|
capture: !0
|
|
1448
|
-
}),
|
|
1452
|
+
}), s = () => a.removeEventListener("pointerdown", O, {
|
|
1453
|
+
capture: !0
|
|
1454
|
+
}), a.addEventListener("dblclick", f, {
|
|
1455
|
+
capture: !0
|
|
1456
|
+
}), g = () => a.removeEventListener("dblclick", f, {
|
|
1449
1457
|
capture: !0
|
|
1450
1458
|
}));
|
|
1451
1459
|
},
|
|
1452
1460
|
{ flush: "post" }
|
|
1453
|
-
),
|
|
1454
|
-
const
|
|
1455
|
-
const
|
|
1456
|
-
return t.value.draggable &&
|
|
1457
|
-
}),
|
|
1461
|
+
), Pe(I), Pe(V);
|
|
1462
|
+
const W = y(() => {
|
|
1463
|
+
const F = ["fk-window"];
|
|
1464
|
+
return t.value.draggable && o.value !== "FULLSCREEN" && F.push("fk-window-can-drag"), c.value && F.push("fk-window-is-dragging"), b.value && F.push("fk-window-is-resizing"), t.value.fixed && F.push("fk-window-fixed"), t.value.minimizeButton || F.push("fk-window-hide-minimize"), t.value.maximizeButton || F.push("fk-window-hide-maximize"), t.value.closable || F.push("fk-window-hide-close"), F.join(" ");
|
|
1465
|
+
}), X = y(() => ({
|
|
1458
1466
|
title: t.value.title,
|
|
1459
1467
|
draggable: t.value.draggable,
|
|
1460
1468
|
resizable: t.value.resizable,
|
|
1461
1469
|
left: t.value.left,
|
|
1462
1470
|
top: t.value.top,
|
|
1463
|
-
initialLeft:
|
|
1464
|
-
initialTop:
|
|
1471
|
+
initialLeft: k.value,
|
|
1472
|
+
initialTop: P.value,
|
|
1465
1473
|
initialWidth: t.value.initialWidth,
|
|
1466
1474
|
initialHeight: t.value.initialHeight,
|
|
1467
1475
|
width: t.value.width,
|
|
1468
1476
|
height: t.value.height,
|
|
1469
|
-
stage:
|
|
1470
|
-
windowClass:
|
|
1477
|
+
stage: o.value,
|
|
1478
|
+
windowClass: W.value
|
|
1471
1479
|
}));
|
|
1472
1480
|
return {
|
|
1473
1481
|
windowRef: n,
|
|
1474
1482
|
settings: t,
|
|
1475
1483
|
visible: u,
|
|
1476
|
-
stage:
|
|
1484
|
+
stage: o,
|
|
1477
1485
|
isDragging: c,
|
|
1478
|
-
isResizing:
|
|
1479
|
-
props:
|
|
1486
|
+
isResizing: b,
|
|
1487
|
+
props: X,
|
|
1480
1488
|
events: {
|
|
1481
|
-
move:
|
|
1482
|
-
resize:
|
|
1483
|
-
stagechange:
|
|
1484
|
-
close:
|
|
1489
|
+
move: x,
|
|
1490
|
+
resize: D,
|
|
1491
|
+
stagechange: R,
|
|
1492
|
+
close: M
|
|
1485
1493
|
},
|
|
1486
|
-
open:
|
|
1487
|
-
close:
|
|
1494
|
+
open: N,
|
|
1495
|
+
close: M
|
|
1488
1496
|
};
|
|
1489
1497
|
}
|
|
1490
1498
|
function Lt(e) {
|
|
1491
|
-
const t =
|
|
1492
|
-
const
|
|
1493
|
-
return parseInt(
|
|
1494
|
-
}),
|
|
1495
|
-
const
|
|
1496
|
-
return parseInt(
|
|
1497
|
-
}),
|
|
1498
|
-
const
|
|
1499
|
-
return parseInt(
|
|
1500
|
-
}), f = (
|
|
1501
|
-
if (
|
|
1502
|
-
e.onChange({ value: null, event:
|
|
1499
|
+
const t = Y(""), n = Y(void 0), u = Y(!!e.debug), o = Y(e.dateFormat ?? "mm/dd/yyyy"), c = y(() => !!e.required), b = 1e3, k = Y(!1), P = ["ArrowUp", "ArrowDown"], N = ["ArrowLeft", "ArrowRight"], M = y(() => (t.value ?? "").replace(/\D/g, "")), R = (l) => l <= 2 ? "mm" : l <= 5 ? "dd" : M.value.length <= 10 ? "yyyy" : "mm", x = y(() => {
|
|
1500
|
+
const l = t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0";
|
|
1501
|
+
return parseInt(l).toString().padStart(2, "0");
|
|
1502
|
+
}), D = y(() => {
|
|
1503
|
+
const l = t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0";
|
|
1504
|
+
return parseInt(l).toString().padStart(2, "0");
|
|
1505
|
+
}), O = y(() => {
|
|
1506
|
+
const l = t.value && t.value.substring(6, 10).replace(/\D/g, "0") || "0";
|
|
1507
|
+
return parseInt(l).toString().padStart(4, "0");
|
|
1508
|
+
}), f = (l) => {
|
|
1509
|
+
if (M.value.length === 0) {
|
|
1510
|
+
e.onChange({ value: null, event: l });
|
|
1503
1511
|
return;
|
|
1504
1512
|
}
|
|
1505
|
-
if (
|
|
1506
|
-
e.onChange({ value: null, event:
|
|
1513
|
+
if (M.value.length < 8) {
|
|
1514
|
+
e.onChange({ value: null, event: l });
|
|
1507
1515
|
return;
|
|
1508
1516
|
}
|
|
1509
|
-
if ((t.value ?? "").length === 10 &&
|
|
1510
|
-
const [
|
|
1511
|
-
if (
|
|
1512
|
-
const d =
|
|
1513
|
-
|
|
1517
|
+
if ((t.value ?? "").length === 10 && M.value.length === 8) {
|
|
1518
|
+
const [S, q, p] = t.value.split("/"), w = parseInt(S), z = parseInt(q), r = parseInt(p);
|
|
1519
|
+
if (X(r, w, z)) {
|
|
1520
|
+
const d = V(r, w, z);
|
|
1521
|
+
s(d) ? e.onChange({ value: d, event: l }) : e.onChange({ value: null, event: l });
|
|
1514
1522
|
} else
|
|
1515
|
-
e.onChange({ value: null, event:
|
|
1523
|
+
e.onChange({ value: null, event: l });
|
|
1516
1524
|
}
|
|
1517
|
-
},
|
|
1518
|
-
const
|
|
1519
|
-
return !(
|
|
1520
|
-
},
|
|
1521
|
-
if ((t.value ?? "").length === 10 &&
|
|
1522
|
-
const [
|
|
1523
|
-
if (
|
|
1524
|
-
return
|
|
1525
|
+
}, s = (l) => {
|
|
1526
|
+
const S = e.min ?? void 0, q = e.max ?? void 0;
|
|
1527
|
+
return !(S && l < S || q && l > q);
|
|
1528
|
+
}, g = y(() => {
|
|
1529
|
+
if ((t.value ?? "").length === 10 && M.value.length === 8) {
|
|
1530
|
+
const [l, S, q] = (t.value ?? "").split("/"), p = parseInt(l), w = parseInt(S), z = parseInt(q);
|
|
1531
|
+
if (X(z, p, w))
|
|
1532
|
+
return V(z, p, w);
|
|
1525
1533
|
}
|
|
1526
1534
|
return null;
|
|
1527
|
-
}),
|
|
1535
|
+
}), I = y(() => (t.value ?? "").length === 10 && M.value.length === 8), V = (l, S, q) => {
|
|
1528
1536
|
const p = /* @__PURE__ */ new Date(0);
|
|
1529
|
-
return p.setFullYear(
|
|
1530
|
-
},
|
|
1531
|
-
t.value =
|
|
1532
|
-
const
|
|
1533
|
-
n.value =
|
|
1534
|
-
},
|
|
1535
|
-
n.value =
|
|
1536
|
-
},
|
|
1537
|
-
const p =
|
|
1537
|
+
return p.setFullYear(l, S - 1, q), p.setHours(0, 0, 0, 0), p;
|
|
1538
|
+
}, W = (l, S) => V(l, S + 1, 0).getDate(), X = (l, S, q) => S >= 1 && S <= 12 && l >= b && q >= 1 && q <= W(l, S), _ = (l) => {
|
|
1539
|
+
t.value = l.value;
|
|
1540
|
+
const S = l.event?.target;
|
|
1541
|
+
n.value = S?.selectionStart ?? 0, f(l);
|
|
1542
|
+
}, F = (l) => {
|
|
1543
|
+
n.value = l.target.selectionStart ?? 0;
|
|
1544
|
+
}, a = (l, S, q) => {
|
|
1545
|
+
const p = S?.selectionStart ?? n.value ?? 0;
|
|
1538
1546
|
n.value = p;
|
|
1539
|
-
let
|
|
1540
|
-
if (!(
|
|
1547
|
+
let w = parseInt(x.value), z = parseInt(D.value), r = parseInt(O.value);
|
|
1548
|
+
if (!(M.value.length >= 8) || !X(r, w, z)) {
|
|
1541
1549
|
const J = e.defaultValue ?? /* @__PURE__ */ new Date();
|
|
1542
|
-
|
|
1550
|
+
w = J.getMonth() + 1, z = J.getDate(), r = J.getFullYear(), t.value = `${String(w).padStart(2, "0")}/${String(z).padStart(
|
|
1543
1551
|
2,
|
|
1544
1552
|
"0"
|
|
1545
1553
|
)}/${String(r)}`;
|
|
1546
|
-
const ce =
|
|
1547
|
-
e.onChange({ value:
|
|
1554
|
+
const ce = V(r, w, z);
|
|
1555
|
+
e.onChange({ value: s(ce) ? ce : null, event: q }), E({ useRAF: !0 });
|
|
1548
1556
|
return;
|
|
1549
1557
|
}
|
|
1550
|
-
const
|
|
1551
|
-
if (
|
|
1552
|
-
|
|
1553
|
-
else if (
|
|
1554
|
-
const J = new Date(r,
|
|
1555
|
-
|
|
1556
|
-
} else
|
|
1557
|
-
t.value = `${String(
|
|
1558
|
+
const T = R(p);
|
|
1559
|
+
if (T === "mm")
|
|
1560
|
+
w = l === "ArrowUp" ? w < 12 ? w + 1 : 1 : w > 1 ? w - 1 : 12;
|
|
1561
|
+
else if (T === "dd") {
|
|
1562
|
+
const J = new Date(r, w, 0).getDate();
|
|
1563
|
+
z = l === "ArrowUp" ? z < J ? z + 1 : 1 : z > 1 ? z - 1 : J;
|
|
1564
|
+
} else T === "yyyy" && (r = l === "ArrowUp" ? r + 1 : Math.max(1, r - 1));
|
|
1565
|
+
t.value = `${String(w).padStart(2, "0")}/${String(z).padStart(
|
|
1558
1566
|
2,
|
|
1559
1567
|
"0"
|
|
1560
1568
|
)}/${String(r)}`;
|
|
1561
|
-
const [
|
|
1569
|
+
const [U, B, Q] = t.value.split("/"), j = V(
|
|
1562
1570
|
parseInt(Q),
|
|
1563
|
-
parseInt(
|
|
1564
|
-
parseInt(
|
|
1571
|
+
parseInt(U),
|
|
1572
|
+
parseInt(B)
|
|
1565
1573
|
);
|
|
1566
1574
|
j.toString() !== "Invalid Date" && parseInt(Q) >= 1e3 ? e.onChange({
|
|
1567
|
-
value:
|
|
1568
|
-
event:
|
|
1569
|
-
}) : e.onChange({ value: null, event:
|
|
1570
|
-
},
|
|
1571
|
-
if (
|
|
1572
|
-
|
|
1575
|
+
value: s(j) ? j : null,
|
|
1576
|
+
event: q
|
|
1577
|
+
}) : e.onChange({ value: null, event: q }), E({ useRAF: !0 });
|
|
1578
|
+
}, m = (l) => {
|
|
1579
|
+
if (l.code === "Space" || l.key === " ") {
|
|
1580
|
+
l.preventDefault(), l.stopPropagation(), e.onShowCalendar(l);
|
|
1573
1581
|
return;
|
|
1574
1582
|
}
|
|
1575
|
-
if (
|
|
1576
|
-
|
|
1583
|
+
if (l.key === "ArrowDown" && l.altKey) {
|
|
1584
|
+
l.preventDefault(), l.stopPropagation(), e.onShowCalendar(l);
|
|
1577
1585
|
return;
|
|
1578
1586
|
}
|
|
1579
|
-
if (
|
|
1580
|
-
if (
|
|
1581
|
-
|
|
1582
|
-
const
|
|
1583
|
-
|
|
1587
|
+
if (P.includes(l.key)) {
|
|
1588
|
+
if (l.altKey) return;
|
|
1589
|
+
l.preventDefault(), l.stopPropagation();
|
|
1590
|
+
const S = l.target;
|
|
1591
|
+
a(l.key, S, l);
|
|
1584
1592
|
return;
|
|
1585
1593
|
}
|
|
1586
|
-
}, v = (
|
|
1587
|
-
|
|
1588
|
-
const
|
|
1589
|
-
|
|
1590
|
-
},
|
|
1591
|
-
const
|
|
1592
|
-
if (
|
|
1593
|
-
n.value =
|
|
1594
|
+
}, v = (l) => {
|
|
1595
|
+
l.preventDefault();
|
|
1596
|
+
const S = l.deltaY < 0 ? "ArrowUp" : "ArrowDown";
|
|
1597
|
+
a(S, l.target, l);
|
|
1598
|
+
}, A = (l) => {
|
|
1599
|
+
const S = l.target;
|
|
1600
|
+
if (N.includes(l.key)) {
|
|
1601
|
+
n.value = S?.selectionStart ?? 0;
|
|
1594
1602
|
return;
|
|
1595
1603
|
}
|
|
1596
|
-
if (
|
|
1597
|
-
if (
|
|
1598
|
-
n.value =
|
|
1599
|
-
}
|
|
1600
|
-
},
|
|
1601
|
-
|
|
1602
|
-
const
|
|
1603
|
-
|
|
1604
|
-
},
|
|
1605
|
-
const
|
|
1606
|
-
const
|
|
1604
|
+
if (P.includes(l.key)) {
|
|
1605
|
+
if (l.altKey) return;
|
|
1606
|
+
n.value = S?.selectionStart ?? 0;
|
|
1607
|
+
}
|
|
1608
|
+
}, C = (l) => {
|
|
1609
|
+
k.value = !0, c.value && !e.defaultValue && e.externalValue && e.externalValue.value === void 0 && M.value.length === 0 && (e.externalValue.value = "");
|
|
1610
|
+
const S = l.target;
|
|
1611
|
+
S && (n.value = S.selectionStart ?? 0);
|
|
1612
|
+
}, E = (l) => {
|
|
1613
|
+
const S = () => {
|
|
1614
|
+
const q = document.getElementById(
|
|
1607
1615
|
e.id
|
|
1608
1616
|
);
|
|
1609
|
-
if (!
|
|
1610
|
-
const p =
|
|
1617
|
+
if (!q) return;
|
|
1618
|
+
const p = l?.pos ?? n.value ?? q.value.length;
|
|
1611
1619
|
try {
|
|
1612
|
-
|
|
1620
|
+
q.focus(), q.setSelectionRange(p, p);
|
|
1613
1621
|
} catch {
|
|
1614
1622
|
}
|
|
1615
1623
|
};
|
|
1616
1624
|
G(() => {
|
|
1617
|
-
if (
|
|
1618
|
-
setTimeout(
|
|
1625
|
+
if (l?.delay && l.delay > 0) {
|
|
1626
|
+
setTimeout(S, l.delay);
|
|
1619
1627
|
return;
|
|
1620
1628
|
}
|
|
1621
|
-
if (
|
|
1622
|
-
requestAnimationFrame(
|
|
1629
|
+
if (l?.useRAF) {
|
|
1630
|
+
requestAnimationFrame(S);
|
|
1623
1631
|
return;
|
|
1624
1632
|
}
|
|
1625
|
-
|
|
1633
|
+
S();
|
|
1626
1634
|
});
|
|
1627
1635
|
};
|
|
1628
1636
|
e.externalValue && ae(
|
|
1629
1637
|
e.externalValue,
|
|
1630
|
-
(
|
|
1631
|
-
if (
|
|
1632
|
-
const
|
|
1633
|
-
if (
|
|
1634
|
-
const
|
|
1635
|
-
t.value = `${
|
|
1638
|
+
(l) => {
|
|
1639
|
+
if (l) {
|
|
1640
|
+
const S = new Date(l);
|
|
1641
|
+
if (S.toString() !== "Invalid Date") {
|
|
1642
|
+
const q = (S.getMonth() + 1).toString().padStart(2, "0"), p = S.getDate().toString().padStart(2, "0"), w = S.getFullYear().toString();
|
|
1643
|
+
t.value = `${q}/${p}/${w}`, E({ delay: 50 });
|
|
1636
1644
|
return;
|
|
1637
1645
|
}
|
|
1638
1646
|
}
|
|
1639
1647
|
},
|
|
1640
1648
|
{ immediate: !0 }
|
|
1641
1649
|
);
|
|
1642
|
-
const
|
|
1643
|
-
["Date", `${
|
|
1644
|
-
["Digits only",
|
|
1650
|
+
const L = y(() => [
|
|
1651
|
+
["Date", `${x.value} / ${D.value} / ${O.value}`],
|
|
1652
|
+
["Digits only", M.value],
|
|
1645
1653
|
[
|
|
1646
1654
|
"min",
|
|
1647
1655
|
e.min?.toLocaleDateString("en-US", {
|
|
@@ -1658,67 +1666,67 @@ function Lt(e) {
|
|
|
1658
1666
|
day: "2-digit"
|
|
1659
1667
|
}) ?? null
|
|
1660
1668
|
]
|
|
1661
|
-
]),
|
|
1669
|
+
]), K = y(() => {
|
|
1662
1670
|
if (!c.value) {
|
|
1663
|
-
if (!
|
|
1664
|
-
const
|
|
1665
|
-
return
|
|
1666
|
-
}
|
|
1667
|
-
if (!
|
|
1668
|
-
const
|
|
1669
|
-
return !
|
|
1670
|
-
}),
|
|
1671
|
+
if (!I.value) return !0;
|
|
1672
|
+
const S = g.value;
|
|
1673
|
+
return S ? s(S) : !1;
|
|
1674
|
+
}
|
|
1675
|
+
if (!k.value) return !0;
|
|
1676
|
+
const l = g.value;
|
|
1677
|
+
return !I.value || !l ? !1 : s(l);
|
|
1678
|
+
}), Z = y(() => {
|
|
1671
1679
|
if (!c.value) {
|
|
1672
|
-
if (!
|
|
1673
|
-
const
|
|
1674
|
-
return
|
|
1680
|
+
if (!I.value) return;
|
|
1681
|
+
const S = g.value;
|
|
1682
|
+
return S ? s(S) ? "valid" : "out-of-bounds" : "invalid-date";
|
|
1675
1683
|
}
|
|
1676
|
-
if (!
|
|
1677
|
-
if (
|
|
1684
|
+
if (!k.value) return;
|
|
1685
|
+
if (M.value.length === 0 || !I.value)
|
|
1678
1686
|
return "incomplete";
|
|
1679
|
-
const
|
|
1680
|
-
return
|
|
1681
|
-
}), ne =
|
|
1682
|
-
const
|
|
1683
|
-
if (!
|
|
1684
|
-
if (
|
|
1687
|
+
const l = g.value;
|
|
1688
|
+
return l ? s(l) ? "valid" : "out-of-bounds" : "invalid-date";
|
|
1689
|
+
}), ne = y(() => {
|
|
1690
|
+
const l = Z.value;
|
|
1691
|
+
if (!l || l === "valid") return "";
|
|
1692
|
+
if (l === "incomplete")
|
|
1685
1693
|
return "Required";
|
|
1686
|
-
if (
|
|
1687
|
-
return `Must be in ${
|
|
1688
|
-
const
|
|
1694
|
+
if (l === "invalid-date")
|
|
1695
|
+
return `Must be in ${o.value} format.`;
|
|
1696
|
+
const S = e.min ? e.min.toLocaleDateString("en-US", {
|
|
1689
1697
|
year: "numeric",
|
|
1690
1698
|
month: "2-digit",
|
|
1691
1699
|
day: "2-digit"
|
|
1692
|
-
}) : null,
|
|
1700
|
+
}) : null, q = e.max ? e.max.toLocaleDateString("en-US", {
|
|
1693
1701
|
year: "numeric",
|
|
1694
1702
|
month: "2-digit",
|
|
1695
1703
|
day: "2-digit"
|
|
1696
1704
|
}) : null;
|
|
1697
|
-
if (
|
|
1698
|
-
if (
|
|
1699
|
-
if (
|
|
1700
|
-
if (
|
|
1705
|
+
if (l === "out-of-bounds") {
|
|
1706
|
+
if (S && q) return `Must be between ${S} and ${q}.`;
|
|
1707
|
+
if (S) return `Must be on or after ${S}.`;
|
|
1708
|
+
if (q) return `Must be on or before ${q}.`;
|
|
1701
1709
|
}
|
|
1702
1710
|
return "";
|
|
1703
|
-
}),
|
|
1711
|
+
}), ie = () => {
|
|
1704
1712
|
G(() => {
|
|
1705
|
-
const
|
|
1713
|
+
const l = document.getElementById(
|
|
1706
1714
|
e.id
|
|
1707
1715
|
);
|
|
1708
|
-
if (!
|
|
1716
|
+
if (!l) {
|
|
1709
1717
|
console.warn(`ID (#${e.id}) not found for styling.`);
|
|
1710
1718
|
return;
|
|
1711
1719
|
}
|
|
1712
|
-
const
|
|
1713
|
-
if (!
|
|
1720
|
+
const S = l.closest(".k-datepicker");
|
|
1721
|
+
if (!S) {
|
|
1714
1722
|
console.warn(`.k-datepicker parent not found for #${e.id} styling.`);
|
|
1715
1723
|
return;
|
|
1716
1724
|
}
|
|
1717
|
-
const
|
|
1718
|
-
if (
|
|
1719
|
-
if (
|
|
1725
|
+
const q = S.parentElement;
|
|
1726
|
+
if (q) {
|
|
1727
|
+
if (q.classList.contains("fk-datepicker"))
|
|
1720
1728
|
return;
|
|
1721
|
-
|
|
1729
|
+
q.classList.add("fk-datepicker");
|
|
1722
1730
|
} else
|
|
1723
1731
|
console.warn(
|
|
1724
1732
|
`Parent of .k-datepicker not found for #${e.id} styling.`
|
|
@@ -1726,67 +1734,67 @@ function Lt(e) {
|
|
|
1726
1734
|
});
|
|
1727
1735
|
};
|
|
1728
1736
|
return Re(() => {
|
|
1729
|
-
|
|
1737
|
+
ie();
|
|
1730
1738
|
}), {
|
|
1731
1739
|
raw: t,
|
|
1732
1740
|
cursorPos: n,
|
|
1733
1741
|
debugEnabled: u,
|
|
1734
|
-
debugLines:
|
|
1735
|
-
placeholder:
|
|
1736
|
-
isValid:
|
|
1737
|
-
reason: te(
|
|
1742
|
+
debugLines: L,
|
|
1743
|
+
placeholder: o,
|
|
1744
|
+
isValid: K,
|
|
1745
|
+
reason: te(Z),
|
|
1738
1746
|
validationMessage: ne,
|
|
1739
|
-
digitsOnly:
|
|
1740
|
-
month: te(
|
|
1741
|
-
day: te(
|
|
1742
|
-
year: te(
|
|
1743
|
-
datePart:
|
|
1744
|
-
handleChange:
|
|
1745
|
-
handleKeyDown:
|
|
1747
|
+
digitsOnly: M,
|
|
1748
|
+
month: te(x),
|
|
1749
|
+
day: te(D),
|
|
1750
|
+
year: te(O),
|
|
1751
|
+
datePart: R,
|
|
1752
|
+
handleChange: _,
|
|
1753
|
+
handleKeyDown: m,
|
|
1746
1754
|
handleWheel: v,
|
|
1747
|
-
handleKeyUp:
|
|
1748
|
-
handleClick:
|
|
1749
|
-
handleBlur:
|
|
1755
|
+
handleKeyUp: A,
|
|
1756
|
+
handleClick: F,
|
|
1757
|
+
handleBlur: C,
|
|
1750
1758
|
// Expose so consumers can re-run styling when needed
|
|
1751
|
-
initStyling:
|
|
1759
|
+
initStyling: ie
|
|
1752
1760
|
};
|
|
1753
1761
|
}
|
|
1754
1762
|
function $t(e) {
|
|
1755
|
-
const t =
|
|
1756
|
-
e.min = e.min ??
|
|
1757
|
-
const
|
|
1758
|
-
if (!
|
|
1759
|
-
const
|
|
1760
|
-
return
|
|
1761
|
-
}, f = (
|
|
1762
|
-
if ((
|
|
1763
|
+
const t = Y(""), n = Y(void 0), u = Y(!!e.debug), o = Y(!1), c = 1440 * 60 * 1e3, b = 365 * c, k = /* @__PURE__ */ new Date(), P = new Date(k.getTime() - b), N = new Date(k.getTime() + b);
|
|
1764
|
+
e.min = e.min ?? P, e.max = e.max ?? N;
|
|
1765
|
+
const M = y(() => (t.value ?? "").replace(/\D/g, "")), R = (i, h) => new Date(i, h, 0).getDate(), x = (i, h, $) => h >= 1 && h <= 12 && i >= 1e3 && $ >= 1 && $ <= R(i, h), D = (i) => Date.UTC(i.getFullYear(), i.getMonth(), i.getDate()), O = (i) => {
|
|
1766
|
+
if (!i) return null;
|
|
1767
|
+
const h = e.min ?? new Date(Date.now() - 90 * c), $ = e.max ?? /* @__PURE__ */ new Date(), H = D(i);
|
|
1768
|
+
return H < D(h) || H > D($) ? null : i;
|
|
1769
|
+
}, f = (i, h) => e.allowReverse ?? !1 ? !0 : i <= h, s = y(() => (t.value?.length ?? 0) >= 23 && M.value.length >= 16), g = (i) => {
|
|
1770
|
+
if ((i ?? "").length < 23 || M.value.length < 16)
|
|
1763
1771
|
return { start: null, end: null };
|
|
1764
|
-
const
|
|
1772
|
+
const h = i.substring(0, 10), $ = i.substring(13, 23), [H, oe, le] = h.split("/").map((pe) => parseInt(pe || "0", 10)), [fe, me, ge] = $.split("/").map((pe) => parseInt(pe || "0", 10)), he = new Date(le, H - 1, oe), we = new Date(ge, fe - 1, me), Ae = x(le, H, oe) && he.toString() !== "Invalid Date", De = x(ge, fe, me) && we.toString() !== "Invalid Date";
|
|
1765
1773
|
return { start: Ae ? he : null, end: De ? we : null };
|
|
1766
|
-
},
|
|
1767
|
-
const
|
|
1768
|
-
return { start:
|
|
1769
|
-
}),
|
|
1770
|
-
if (!
|
|
1771
|
-
const
|
|
1772
|
-
if (!
|
|
1773
|
-
const
|
|
1774
|
-
return Math.round(
|
|
1775
|
-
}),
|
|
1776
|
-
if (
|
|
1777
|
-
const { start:
|
|
1778
|
-
if (!
|
|
1779
|
-
if (!
|
|
1780
|
-
if (!
|
|
1781
|
-
const
|
|
1782
|
-
return f(
|
|
1783
|
-
}),
|
|
1784
|
-
const
|
|
1785
|
-
return
|
|
1786
|
-
}),
|
|
1787
|
-
const { min:
|
|
1788
|
-
if (
|
|
1789
|
-
switch (
|
|
1774
|
+
}, I = e.externalValid ?? Y(!0), V = y(() => g(t.value)), W = y(() => {
|
|
1775
|
+
const i = O(V.value.start), h = O(V.value.end);
|
|
1776
|
+
return { start: i, end: h };
|
|
1777
|
+
}), X = y(() => {
|
|
1778
|
+
if (!s.value) return;
|
|
1779
|
+
const i = W.value.start, h = W.value.end;
|
|
1780
|
+
if (!i || !h) return;
|
|
1781
|
+
const $ = Math.abs(D(h) - D(i));
|
|
1782
|
+
return Math.round($ / 864e5 + 1);
|
|
1783
|
+
}), _ = Y(!1), F = y(() => {
|
|
1784
|
+
if (!_.value) return;
|
|
1785
|
+
const { start: i, end: h } = V.value;
|
|
1786
|
+
if (!s.value) return "incomplete";
|
|
1787
|
+
if (!i || !h) return "invalid-date";
|
|
1788
|
+
if (!W.value.start || !W.value.end) return "out-of-bounds";
|
|
1789
|
+
const $ = W.value.start, H = W.value.end;
|
|
1790
|
+
return f($, H) ? typeof e.maxSpanDays == "number" && X.value !== void 0 && X.value > e.maxSpanDays ? "span-exceeds-limit" : "valid" : "reversed-range";
|
|
1791
|
+
}), a = y(() => {
|
|
1792
|
+
const i = F.value;
|
|
1793
|
+
return i === void 0 || i === "valid";
|
|
1794
|
+
}), m = y(() => {
|
|
1795
|
+
const { min: i, max: h } = e, $ = F.value;
|
|
1796
|
+
if (!$) return "";
|
|
1797
|
+
switch ($) {
|
|
1790
1798
|
case "incomplete":
|
|
1791
1799
|
return "Required";
|
|
1792
1800
|
case "invalid-date":
|
|
@@ -1794,54 +1802,54 @@ function $t(e) {
|
|
|
1794
1802
|
case "reversed-range":
|
|
1795
1803
|
return "End Date must be on or after Start Date.";
|
|
1796
1804
|
case "out-of-bounds":
|
|
1797
|
-
return
|
|
1805
|
+
return i && h ? `Dates must be between ${E(i)} and ${E(h)}.` : "Dates must be within the allowed range.";
|
|
1798
1806
|
case "span-exceeds-limit":
|
|
1799
1807
|
return typeof e.maxSpanDays == "number" ? `Date range exceeds ${e.maxSpanDays} days.` : "Date range exceeds maximum allowed span.";
|
|
1800
1808
|
default:
|
|
1801
1809
|
return "";
|
|
1802
1810
|
}
|
|
1803
|
-
}), v = ["ArrowUp", "ArrowDown"],
|
|
1804
|
-
|
|
1811
|
+
}), v = ["ArrowUp", "ArrowDown"], A = ["ArrowLeft", "ArrowRight"], C = (i, h) => String(i).padStart(h, "0"), E = (i) => `${C(i.getMonth() + 1, 2)}/${C(i.getDate(), 2)}/${C(
|
|
1812
|
+
i.getFullYear(),
|
|
1805
1813
|
4
|
|
1806
|
-
)}`,
|
|
1807
|
-
const
|
|
1808
|
-
n.value =
|
|
1809
|
-
const { start: oe, end: le } =
|
|
1814
|
+
)}`, L = (i) => i <= 2 ? { side: "start", part: "mm" } : i <= 5 ? { side: "start", part: (i <= 3, "dd") } : i <= 11 ? { side: "start", part: "yyyy" } : i <= 15 ? { side: "end", part: "mm" } : i <= 18 ? { side: "end", part: "dd" } : { side: "end", part: "yyyy" }, K = (i, h, $) => {
|
|
1815
|
+
const H = h?.selectionStart ?? n.value ?? 0;
|
|
1816
|
+
n.value = H;
|
|
1817
|
+
const { start: oe, end: le } = g(t.value);
|
|
1810
1818
|
if (!oe && !le) {
|
|
1811
|
-
const ee = /* @__PURE__ */ new Date(), de =
|
|
1812
|
-
t.value = `${de} - ${de}`, e.onChange({ value: { start: ee, end: ee }, event:
|
|
1819
|
+
const ee = /* @__PURE__ */ new Date(), de = E(ee);
|
|
1820
|
+
t.value = `${de} - ${de}`, e.onChange({ value: { start: ee, end: ee }, event: $ }), G(() => {
|
|
1813
1821
|
requestAnimationFrame(() => {
|
|
1814
|
-
const
|
|
1822
|
+
const se = document.getElementById(
|
|
1815
1823
|
e.id
|
|
1816
|
-
),
|
|
1817
|
-
|
|
1824
|
+
), ue = n.value ?? 0;
|
|
1825
|
+
se && (se.focus(), se.setSelectionRange(ue, ue));
|
|
1818
1826
|
});
|
|
1819
1827
|
});
|
|
1820
1828
|
return;
|
|
1821
1829
|
}
|
|
1822
|
-
const fe = /* @__PURE__ */ new Date(), me =
|
|
1830
|
+
const fe = /* @__PURE__ */ new Date(), me = L(H);
|
|
1823
1831
|
let ge = oe ? new Date(oe) : new Date(fe), he = le ? new Date(le) : new Date(fe);
|
|
1824
1832
|
const we = (ee, de) => {
|
|
1825
1833
|
if (de === "mm") {
|
|
1826
|
-
const
|
|
1827
|
-
ee.setMonth(
|
|
1828
|
-
const Se =
|
|
1834
|
+
const se = ee.getMonth() + 1, ue = i === "ArrowUp" ? se < 12 ? se + 1 : 1 : se > 1 ? se - 1 : 12;
|
|
1835
|
+
ee.setMonth(ue - 1);
|
|
1836
|
+
const Se = R(ee.getFullYear(), ue);
|
|
1829
1837
|
ee.getDate() > Se && ee.setDate(Se);
|
|
1830
1838
|
} else if (de === "dd") {
|
|
1831
|
-
const
|
|
1839
|
+
const se = R(ee.getFullYear(), ee.getMonth() + 1), ue = ee.getDate(), Se = i === "ArrowUp" ? ue < se ? ue + 1 : 1 : ue > 1 ? ue - 1 : se;
|
|
1832
1840
|
ee.setDate(Se);
|
|
1833
1841
|
} else if (de === "yyyy") {
|
|
1834
|
-
const
|
|
1835
|
-
ee.setFullYear(
|
|
1836
|
-
const
|
|
1837
|
-
ee.getDate() >
|
|
1842
|
+
const se = ee.getFullYear();
|
|
1843
|
+
ee.setFullYear(i === "ArrowUp" ? se + 1 : Math.max(1, se - 1));
|
|
1844
|
+
const ue = R(ee.getFullYear(), ee.getMonth() + 1);
|
|
1845
|
+
ee.getDate() > ue && ee.setDate(ue);
|
|
1838
1846
|
}
|
|
1839
1847
|
};
|
|
1840
1848
|
me.side === "start" ? we(ge, me.part) : we(he, me.part);
|
|
1841
|
-
const Ae =
|
|
1849
|
+
const Ae = E(ge), De = E(he);
|
|
1842
1850
|
t.value = `${Ae} - ${De}`;
|
|
1843
|
-
const pe =
|
|
1844
|
-
pe && Ee && f(pe, Ee) ? e.onChange({ value: { start: pe, end: Ee }, event:
|
|
1851
|
+
const pe = O(ge), Ee = O(he);
|
|
1852
|
+
pe && Ee && f(pe, Ee) ? e.onChange({ value: { start: pe, end: Ee }, event: $ }) : e.onChange({ value: null, event: $ }), G(() => {
|
|
1845
1853
|
requestAnimationFrame(() => {
|
|
1846
1854
|
const ee = document.getElementById(
|
|
1847
1855
|
e.id
|
|
@@ -1849,99 +1857,99 @@ function $t(e) {
|
|
|
1849
1857
|
ee && (ee.focus(), ee.setSelectionRange(de, de));
|
|
1850
1858
|
});
|
|
1851
1859
|
});
|
|
1852
|
-
},
|
|
1853
|
-
const { start:
|
|
1854
|
-
if (!
|
|
1855
|
-
e.onChange({ value: null, event:
|
|
1860
|
+
}, Z = (i) => {
|
|
1861
|
+
const { start: h, end: $ } = g(t.value);
|
|
1862
|
+
if (!h || !$) {
|
|
1863
|
+
e.onChange({ value: null, event: i });
|
|
1856
1864
|
return;
|
|
1857
1865
|
}
|
|
1858
|
-
const
|
|
1859
|
-
if (!
|
|
1860
|
-
e.onChange({ value: null, event:
|
|
1866
|
+
const H = O(h), oe = O($);
|
|
1867
|
+
if (!H || !oe) {
|
|
1868
|
+
e.onChange({ value: null, event: i });
|
|
1861
1869
|
return;
|
|
1862
1870
|
}
|
|
1863
|
-
if (!f(
|
|
1864
|
-
e.onChange({ value: null, event:
|
|
1871
|
+
if (!f(H, oe)) {
|
|
1872
|
+
e.onChange({ value: null, event: i });
|
|
1865
1873
|
return;
|
|
1866
1874
|
}
|
|
1867
|
-
e.onChange({ value: { start:
|
|
1868
|
-
}, ne = (
|
|
1869
|
-
const
|
|
1870
|
-
if (!
|
|
1871
|
-
|
|
1875
|
+
e.onChange({ value: { start: H, end: oe }, event: i });
|
|
1876
|
+
}, ne = (i) => {
|
|
1877
|
+
const h = i.value ?? "", $ = i.event;
|
|
1878
|
+
if (!h && $ && $.type === "click") {
|
|
1879
|
+
z($);
|
|
1872
1880
|
return;
|
|
1873
1881
|
}
|
|
1874
|
-
t.value =
|
|
1875
|
-
const
|
|
1876
|
-
n.value =
|
|
1877
|
-
},
|
|
1878
|
-
n.value =
|
|
1879
|
-
},
|
|
1880
|
-
if (
|
|
1881
|
-
|
|
1882
|
+
t.value = h;
|
|
1883
|
+
const H = $?.target;
|
|
1884
|
+
n.value = H?.selectionStart ?? 0, Z(i);
|
|
1885
|
+
}, ie = (i) => {
|
|
1886
|
+
n.value = i.target.selectionStart ?? 0;
|
|
1887
|
+
}, l = (i) => {
|
|
1888
|
+
if (i.code === "Space" || i.key === " ") {
|
|
1889
|
+
i.preventDefault(), i.stopPropagation(), e.onShowCalendar(i);
|
|
1882
1890
|
return;
|
|
1883
1891
|
}
|
|
1884
|
-
if (
|
|
1885
|
-
|
|
1892
|
+
if (i.key === "ArrowDown" && i.altKey) {
|
|
1893
|
+
i.preventDefault(), i.stopPropagation(), e.onShowCalendar(i);
|
|
1886
1894
|
return;
|
|
1887
1895
|
}
|
|
1888
|
-
if (v.includes(
|
|
1889
|
-
|
|
1890
|
-
const
|
|
1891
|
-
|
|
1896
|
+
if (v.includes(i.key)) {
|
|
1897
|
+
i.preventDefault(), i.stopPropagation();
|
|
1898
|
+
const h = i.target;
|
|
1899
|
+
K(i.key, h, i);
|
|
1892
1900
|
return;
|
|
1893
1901
|
}
|
|
1894
|
-
},
|
|
1895
|
-
|
|
1896
|
-
const
|
|
1897
|
-
|
|
1898
|
-
},
|
|
1899
|
-
if (
|
|
1900
|
-
const
|
|
1901
|
-
n.value =
|
|
1902
|
+
}, S = (i) => {
|
|
1903
|
+
i.preventDefault();
|
|
1904
|
+
const h = i.deltaY < 0 ? "ArrowUp" : "ArrowDown";
|
|
1905
|
+
K(h, i.target, i);
|
|
1906
|
+
}, q = (i) => {
|
|
1907
|
+
if (A.includes(i.key) || v.includes(i.key)) {
|
|
1908
|
+
const h = i.target;
|
|
1909
|
+
n.value = h?.selectionStart ?? 0;
|
|
1902
1910
|
}
|
|
1903
1911
|
}, p = () => {
|
|
1904
|
-
|
|
1905
|
-
},
|
|
1912
|
+
_.value = !0, (e.manageValid ?? !0) && (I.value = a.value);
|
|
1913
|
+
}, w = (i) => {
|
|
1906
1914
|
p();
|
|
1907
|
-
},
|
|
1908
|
-
t.value = "", n.value = 0, e.onChange({ value: null, event:
|
|
1909
|
-
const
|
|
1915
|
+
}, z = (i) => {
|
|
1916
|
+
t.value = "", n.value = 0, e.onChange({ value: null, event: i }), p(), G(() => {
|
|
1917
|
+
const h = document.getElementById(
|
|
1910
1918
|
e.id
|
|
1911
1919
|
);
|
|
1912
|
-
|
|
1920
|
+
h && (h.focus(), h.setSelectionRange(0, 0));
|
|
1913
1921
|
});
|
|
1914
1922
|
};
|
|
1915
1923
|
e.externalValue && ae(
|
|
1916
1924
|
e.externalValue,
|
|
1917
|
-
(
|
|
1918
|
-
const
|
|
1919
|
-
if (
|
|
1920
|
-
if (t.value = `${
|
|
1921
|
-
const
|
|
1925
|
+
(i) => {
|
|
1926
|
+
const h = i?.start ?? null, $ = i?.end ?? null;
|
|
1927
|
+
if (h && $) {
|
|
1928
|
+
if (t.value = `${E(h)} - ${E($)}`, e.isOpen?.value && o.value && e.onRequestClose) {
|
|
1929
|
+
const H = typeof e.closeDelay == "number" ? e.closeDelay : e.closeDelay?.value ?? 0;
|
|
1922
1930
|
setTimeout(() => {
|
|
1923
|
-
e.onRequestClose?.(),
|
|
1924
|
-
},
|
|
1931
|
+
e.onRequestClose?.(), o.value = !1, p();
|
|
1932
|
+
}, H);
|
|
1925
1933
|
}
|
|
1926
1934
|
return;
|
|
1927
1935
|
}
|
|
1928
1936
|
},
|
|
1929
1937
|
{ immediate: !0 }
|
|
1930
1938
|
);
|
|
1931
|
-
const r =
|
|
1939
|
+
const r = y(
|
|
1932
1940
|
() => t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0"
|
|
1933
|
-
), d =
|
|
1941
|
+
), d = y(
|
|
1934
1942
|
() => t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0"
|
|
1935
|
-
),
|
|
1943
|
+
), T = y(
|
|
1936
1944
|
() => t.value && t.value.substring(6, 10).replace(/\D/g, "0") || "0"
|
|
1937
|
-
),
|
|
1945
|
+
), U = y(
|
|
1938
1946
|
() => t.value && t.value.substring(13, 15).replace(/\D/g, "0") || "0"
|
|
1939
|
-
),
|
|
1947
|
+
), B = y(
|
|
1940
1948
|
() => t.value && t.value.substring(16, 18).replace(/\D/g, "0") || "0"
|
|
1941
|
-
), Q =
|
|
1949
|
+
), Q = y(
|
|
1942
1950
|
() => t.value && t.value.substring(19, 23).replace(/\D/g, "0") || "0"
|
|
1943
|
-
), j =
|
|
1944
|
-
const { start:
|
|
1951
|
+
), j = y(() => {
|
|
1952
|
+
const { start: i, end: h } = g(t.value);
|
|
1945
1953
|
return [
|
|
1946
1954
|
{
|
|
1947
1955
|
label: "Raw",
|
|
@@ -1959,50 +1967,50 @@ function $t(e) {
|
|
|
1959
1967
|
label: "Start",
|
|
1960
1968
|
value: `${String(r.value).padStart(2, "0")} / ${String(
|
|
1961
1969
|
d.value
|
|
1962
|
-
).padStart(2, "0")} / ${String(
|
|
1970
|
+
).padStart(2, "0")} / ${String(T.value).padStart(4, "0")}`
|
|
1963
1971
|
},
|
|
1964
1972
|
{
|
|
1965
1973
|
label: "End",
|
|
1966
|
-
value: `${String(
|
|
1967
|
-
|
|
1974
|
+
value: `${String(U.value).padStart(2, "0")} / ${String(
|
|
1975
|
+
B.value
|
|
1968
1976
|
).padStart(2, "0")} / ${String(Q.value).padStart(4, "0")}`
|
|
1969
1977
|
},
|
|
1970
|
-
{ label: "Digits only", value:
|
|
1971
|
-
{ label: "Mask complete", value: `${
|
|
1978
|
+
{ label: "Digits only", value: M.value },
|
|
1979
|
+
{ label: "Mask complete", value: `${s.value}` },
|
|
1972
1980
|
{
|
|
1973
1981
|
label: "Parsed",
|
|
1974
|
-
value: `${
|
|
1982
|
+
value: `${i ? i.toDateString() : "-"} | ${h ? h.toDateString() : "-"}`
|
|
1975
1983
|
},
|
|
1976
1984
|
{
|
|
1977
1985
|
label: "Valid (managed)",
|
|
1978
|
-
value: `${
|
|
1986
|
+
value: `${I.value ?? "-"}`
|
|
1979
1987
|
},
|
|
1980
|
-
{ label: "Span (days)", value: `${
|
|
1988
|
+
{ label: "Span (days)", value: `${X.value ?? "-"}` },
|
|
1981
1989
|
{
|
|
1982
1990
|
label: "Reason",
|
|
1983
|
-
value: `${
|
|
1991
|
+
value: `${F.value ?? "-"}`
|
|
1984
1992
|
},
|
|
1985
1993
|
{
|
|
1986
1994
|
label: "Cursor in",
|
|
1987
1995
|
value: `${n.value ?? "-"} (${(() => {
|
|
1988
|
-
const
|
|
1989
|
-
return `${
|
|
1996
|
+
const $ = n.value ?? 0, H = L($);
|
|
1997
|
+
return `${H.side}.${H.part}`;
|
|
1990
1998
|
})()})`
|
|
1991
1999
|
}
|
|
1992
2000
|
];
|
|
1993
2001
|
}), J = () => {
|
|
1994
2002
|
G(() => {
|
|
1995
|
-
const
|
|
1996
|
-
if (!
|
|
2003
|
+
const i = document.getElementById(e.id);
|
|
2004
|
+
if (!i) {
|
|
1997
2005
|
console.warn(`#${e.id} not found for styling.`);
|
|
1998
2006
|
return;
|
|
1999
2007
|
}
|
|
2000
|
-
const
|
|
2001
|
-
if (!
|
|
2008
|
+
const h = i.closest("div");
|
|
2009
|
+
if (!h) {
|
|
2002
2010
|
console.warn(`Parent div of #${e.id} not found for styling.`);
|
|
2003
2011
|
return;
|
|
2004
2012
|
}
|
|
2005
|
-
|
|
2013
|
+
h.classList.contains("fk-daterangepicker") || h.classList.add("fk-daterangepicker");
|
|
2006
2014
|
});
|
|
2007
2015
|
};
|
|
2008
2016
|
Re(() => {
|
|
@@ -2011,30 +2019,30 @@ function $t(e) {
|
|
|
2011
2019
|
const ce = () => {
|
|
2012
2020
|
G(() => {
|
|
2013
2021
|
try {
|
|
2014
|
-
const
|
|
2022
|
+
const i = Array.from(
|
|
2015
2023
|
document.querySelectorAll(".k-animation-container")
|
|
2016
2024
|
);
|
|
2017
|
-
if (!
|
|
2018
|
-
const
|
|
2025
|
+
if (!i.length) return;
|
|
2026
|
+
const $ = [...i].reverse().find((le) => le.querySelector(".k-calendar"))?.querySelector(
|
|
2019
2027
|
".k-calendar"
|
|
2020
2028
|
);
|
|
2021
|
-
if (
|
|
2022
|
-
const
|
|
2029
|
+
if (!$) return;
|
|
2030
|
+
const H = $.querySelectorAll(
|
|
2023
2031
|
".k-calendar-table"
|
|
2024
2032
|
);
|
|
2025
2033
|
let oe = !1;
|
|
2026
|
-
|
|
2034
|
+
H.forEach((le) => {
|
|
2027
2035
|
le.tabIndex === 0 && (oe ? le.tabIndex = -1 : oe = !0);
|
|
2028
2036
|
});
|
|
2029
|
-
} catch (
|
|
2030
|
-
console.warn(
|
|
2037
|
+
} catch (i) {
|
|
2038
|
+
console.warn(i);
|
|
2031
2039
|
}
|
|
2032
2040
|
});
|
|
2033
2041
|
};
|
|
2034
2042
|
return e.isOpen && ae(
|
|
2035
2043
|
e.isOpen,
|
|
2036
|
-
(
|
|
2037
|
-
|
|
2044
|
+
(i) => {
|
|
2045
|
+
i && setTimeout(() => ce(), 0);
|
|
2038
2046
|
},
|
|
2039
2047
|
{ immediate: !1 }
|
|
2040
2048
|
), {
|
|
@@ -2042,93 +2050,93 @@ function $t(e) {
|
|
|
2042
2050
|
cursorPos: n,
|
|
2043
2051
|
debugEnabled: u,
|
|
2044
2052
|
debugLines: j,
|
|
2045
|
-
digitsOnly:
|
|
2046
|
-
valid:
|
|
2047
|
-
validComputed: te(
|
|
2048
|
-
reason: te(
|
|
2049
|
-
validationMessage: te(
|
|
2050
|
-
spanDays: te(
|
|
2053
|
+
digitsOnly: M,
|
|
2054
|
+
valid: I,
|
|
2055
|
+
validComputed: te(a),
|
|
2056
|
+
reason: te(F),
|
|
2057
|
+
validationMessage: te(m),
|
|
2058
|
+
spanDays: te(X),
|
|
2051
2059
|
month1: te(r),
|
|
2052
2060
|
day1: te(d),
|
|
2053
|
-
year1: te(
|
|
2054
|
-
month2: te(
|
|
2055
|
-
day2: te(
|
|
2061
|
+
year1: te(T),
|
|
2062
|
+
month2: te(U),
|
|
2063
|
+
day2: te(B),
|
|
2056
2064
|
year2: te(Q),
|
|
2057
2065
|
handleChange: ne,
|
|
2058
|
-
handleKeyDown:
|
|
2059
|
-
handleWheel:
|
|
2060
|
-
handleKeyUp:
|
|
2061
|
-
handleClick:
|
|
2062
|
-
handleBlur:
|
|
2063
|
-
handleClear:
|
|
2066
|
+
handleKeyDown: l,
|
|
2067
|
+
handleWheel: S,
|
|
2068
|
+
handleKeyUp: q,
|
|
2069
|
+
handleClick: ie,
|
|
2070
|
+
handleBlur: w,
|
|
2071
|
+
handleClear: z,
|
|
2064
2072
|
onCalendarChange: () => {
|
|
2065
|
-
|
|
2073
|
+
o.value = !0;
|
|
2066
2074
|
},
|
|
2067
2075
|
initStyling: J
|
|
2068
2076
|
};
|
|
2069
2077
|
}
|
|
2070
2078
|
function Ot(e) {
|
|
2071
|
-
const t =
|
|
2079
|
+
const t = Y(""), n = Y(void 0), u = Y(!!e.debug), o = Y(e.timeFormat ?? "hh:mm AM"), c = y(() => !!e.required), b = Y(!1), k = ["ArrowUp", "ArrowDown"], P = ["ArrowLeft", "ArrowRight"], N = y(() => (t.value ?? "").replace(/\D/g, "")), M = {
|
|
2072
2080
|
H: /[0-9]/,
|
|
2073
2081
|
h: /[0-9]/,
|
|
2074
2082
|
M: /[0-9]/,
|
|
2075
2083
|
m: /[0-9]/,
|
|
2076
2084
|
A: /[AaPp]/,
|
|
2077
2085
|
a: /[Mm]/
|
|
2078
|
-
},
|
|
2086
|
+
}, R = (r) => r <= 2 ? "hh" : r <= 5 ? "mm" : "ampm", x = y(() => {
|
|
2079
2087
|
const r = t.value && t.value.substring(0, 2).replace(/\D/g, "0") || "0", d = parseInt(r);
|
|
2080
2088
|
return Math.min(Math.max(d, 0), 23);
|
|
2081
|
-
}),
|
|
2089
|
+
}), D = y(() => {
|
|
2082
2090
|
const r = t.value && t.value.substring(3, 5).replace(/\D/g, "0") || "0", d = parseInt(r);
|
|
2083
2091
|
return Math.min(Math.max(d, 0), 59);
|
|
2084
|
-
}),
|
|
2085
|
-
const r = parseInt(t.value?.substring(0, 2).replace(/\D/g, "0") || "0"), d =
|
|
2092
|
+
}), O = y(() => (t.value?.substring(6, 8) || "AM").toUpperCase().startsWith("P") ? "PM" : "AM"), f = y(() => {
|
|
2093
|
+
const r = parseInt(t.value?.substring(0, 2).replace(/\D/g, "0") || "0"), d = O.value;
|
|
2086
2094
|
return r === 12 ? d === "AM" ? 0 : 12 : d === "PM" ? r + 12 : r;
|
|
2087
|
-
}),
|
|
2095
|
+
}), s = y(() => g.value ? `${String(f.value).padStart(2, "0")}:${String(D.value).padStart(2, "0")}:00` : null), g = y(
|
|
2088
2096
|
() => /^(\d{2}):(\d{2})\s([AP]M)$/i.test(t.value ?? "")
|
|
2089
|
-
),
|
|
2090
|
-
let
|
|
2091
|
-
return
|
|
2097
|
+
), I = (r, d, T) => {
|
|
2098
|
+
let U = r % 12;
|
|
2099
|
+
return U === 0 && (U = 12), `${String(U).padStart(2, "0")}:${String(d).padStart(
|
|
2092
2100
|
2,
|
|
2093
2101
|
"0"
|
|
2094
|
-
)} ${
|
|
2095
|
-
},
|
|
2102
|
+
)} ${T}`;
|
|
2103
|
+
}, V = (r) => {
|
|
2096
2104
|
const d = r.match(/^(\d{2}):(\d{2})\s([AP]M)$/i);
|
|
2097
2105
|
if (!d) return null;
|
|
2098
|
-
const
|
|
2099
|
-
if (
|
|
2100
|
-
let Q =
|
|
2101
|
-
|
|
2106
|
+
const T = parseInt(d[1]), U = parseInt(d[2]), B = d[3].toUpperCase();
|
|
2107
|
+
if (T < 1 || T > 12 || U < 0 || U > 59) return null;
|
|
2108
|
+
let Q = T % 12;
|
|
2109
|
+
B === "PM" && (Q += 12);
|
|
2102
2110
|
const j = /* @__PURE__ */ new Date();
|
|
2103
|
-
return j.setSeconds(0, 0), j.setHours(Q), j.setMinutes(
|
|
2104
|
-
},
|
|
2105
|
-
if (
|
|
2111
|
+
return j.setSeconds(0, 0), j.setHours(Q), j.setMinutes(U), j;
|
|
2112
|
+
}, W = (r) => {
|
|
2113
|
+
if (N.value.length === 0) {
|
|
2106
2114
|
e.onChange({ value: null, event: r });
|
|
2107
2115
|
return;
|
|
2108
2116
|
}
|
|
2109
|
-
if (!
|
|
2117
|
+
if (!g.value) {
|
|
2110
2118
|
e.onChange({ value: null, event: r });
|
|
2111
2119
|
return;
|
|
2112
2120
|
}
|
|
2113
|
-
const d =
|
|
2114
|
-
d &&
|
|
2115
|
-
},
|
|
2116
|
-
const d = e.min ?? void 0,
|
|
2121
|
+
const d = V(t.value);
|
|
2122
|
+
d && _(d) ? e.onChange({ value: d, event: r }) : e.onChange({ value: null, event: r });
|
|
2123
|
+
}, X = (r) => r.getHours() * 60 + r.getMinutes(), _ = (r) => {
|
|
2124
|
+
const d = e.min ?? void 0, T = e.max ?? void 0, U = X(r);
|
|
2117
2125
|
if (d) {
|
|
2118
|
-
const
|
|
2119
|
-
if (
|
|
2126
|
+
const B = X(d);
|
|
2127
|
+
if (U < B) return !1;
|
|
2120
2128
|
}
|
|
2121
|
-
if (
|
|
2122
|
-
const
|
|
2123
|
-
if (
|
|
2129
|
+
if (T) {
|
|
2130
|
+
const B = X(T);
|
|
2131
|
+
if (U > B) return !1;
|
|
2124
2132
|
}
|
|
2125
2133
|
return !0;
|
|
2126
|
-
},
|
|
2127
|
-
const d = r.getHours(),
|
|
2128
|
-
t.value =
|
|
2129
|
-
},
|
|
2134
|
+
}, F = (r) => {
|
|
2135
|
+
const d = r.getHours(), T = d >= 12 ? "PM" : "AM";
|
|
2136
|
+
t.value = I(d, r.getMinutes(), T);
|
|
2137
|
+
}, a = (r, d) => {
|
|
2130
2138
|
e.onChange({ value: r, event: d });
|
|
2131
|
-
},
|
|
2139
|
+
}, m = () => {
|
|
2132
2140
|
G(() => {
|
|
2133
2141
|
requestAnimationFrame(() => {
|
|
2134
2142
|
requestAnimationFrame(() => {
|
|
@@ -2146,32 +2154,32 @@ function Ot(e) {
|
|
|
2146
2154
|
}, v = (r) => {
|
|
2147
2155
|
const d = r?.event?.target;
|
|
2148
2156
|
return d ? d.closest(".k-time-now") ? "now" : d.closest(".k-time-accept") ? "set" : null : null;
|
|
2149
|
-
},
|
|
2150
|
-
r &&
|
|
2151
|
-
},
|
|
2157
|
+
}, A = (r, d) => {
|
|
2158
|
+
r && _(r) ? a(r, d) : a(null, d);
|
|
2159
|
+
}, C = (...r) => {
|
|
2152
2160
|
const d = r[0];
|
|
2153
2161
|
if (!d) return;
|
|
2154
|
-
const
|
|
2155
|
-
if (
|
|
2156
|
-
const
|
|
2157
|
-
|
|
2162
|
+
const T = v(d);
|
|
2163
|
+
if (T === "now") {
|
|
2164
|
+
const B = /* @__PURE__ */ new Date();
|
|
2165
|
+
F(B), A(B, d), m();
|
|
2158
2166
|
return;
|
|
2159
2167
|
}
|
|
2160
2168
|
if (d?.value instanceof Date) {
|
|
2161
|
-
const
|
|
2162
|
-
|
|
2169
|
+
const B = new Date(d.value);
|
|
2170
|
+
F(B), A(B, d), T === "set" && m();
|
|
2163
2171
|
return;
|
|
2164
2172
|
}
|
|
2165
2173
|
if (d?.value === null) {
|
|
2166
|
-
t.value = "",
|
|
2174
|
+
t.value = "", a(null, d);
|
|
2167
2175
|
return;
|
|
2168
2176
|
}
|
|
2169
2177
|
t.value = d.value;
|
|
2170
|
-
const
|
|
2171
|
-
n.value =
|
|
2178
|
+
const U = d.event?.target;
|
|
2179
|
+
n.value = U?.selectionStart ?? 0;
|
|
2172
2180
|
try {
|
|
2173
|
-
const
|
|
2174
|
-
if (
|
|
2181
|
+
const B = n.value ?? 0;
|
|
2182
|
+
if (R(B) === "ampm" && (t.value ?? "").length >= 8) {
|
|
2175
2183
|
const Q = t.value.charAt(6);
|
|
2176
2184
|
/[Aa]/.test(Q) ? (t.value = `${t.value.slice(0, 6)}AM${t.value.slice(8)}`, G(() => {
|
|
2177
2185
|
requestAnimationFrame(() => {
|
|
@@ -2191,19 +2199,19 @@ function Ot(e) {
|
|
|
2191
2199
|
}
|
|
2192
2200
|
} catch {
|
|
2193
2201
|
}
|
|
2194
|
-
|
|
2195
|
-
},
|
|
2202
|
+
W(d);
|
|
2203
|
+
}, E = (r) => {
|
|
2196
2204
|
n.value = r.target.selectionStart ?? 0;
|
|
2197
|
-
},
|
|
2198
|
-
const
|
|
2199
|
-
n.value =
|
|
2200
|
-
const
|
|
2205
|
+
}, L = (r, d, T) => {
|
|
2206
|
+
const U = d?.selectionStart ?? n.value ?? 0;
|
|
2207
|
+
n.value = U;
|
|
2208
|
+
const B = R(U), Q = (t.value ?? "").match(/^(\d{2}):(\d{2})\s([AP]M)$/i);
|
|
2201
2209
|
if (!Q) {
|
|
2202
|
-
if ((t.value ?? "").length === 0 ||
|
|
2203
|
-
const
|
|
2204
|
-
t.value =
|
|
2205
|
-
const oe =
|
|
2206
|
-
|
|
2210
|
+
if ((t.value ?? "").length === 0 || N.value.length === 0) {
|
|
2211
|
+
const h = /* @__PURE__ */ new Date(), $ = h.getHours(), H = $ >= 12 ? "PM" : "AM";
|
|
2212
|
+
t.value = I($, h.getMinutes(), H);
|
|
2213
|
+
const oe = V(t.value);
|
|
2214
|
+
A(oe, T), G(() => {
|
|
2207
2215
|
requestAnimationFrame(() => {
|
|
2208
2216
|
const le = document.getElementById(
|
|
2209
2217
|
e.id
|
|
@@ -2215,36 +2223,36 @@ function Ot(e) {
|
|
|
2215
2223
|
return;
|
|
2216
2224
|
}
|
|
2217
2225
|
let j = parseInt(Q[1]), J = parseInt(Q[2]), ce = Q[3].toUpperCase();
|
|
2218
|
-
if (
|
|
2226
|
+
if (B === "hh")
|
|
2219
2227
|
r === "ArrowUp" ? j = j < 12 ? j + 1 : 1 : j = j > 1 ? j - 1 : 12;
|
|
2220
|
-
else if (
|
|
2221
|
-
const
|
|
2222
|
-
if (
|
|
2228
|
+
else if (B === "mm") {
|
|
2229
|
+
const h = e.minuteStepRef?.value ?? e.minuteStep ?? 1;
|
|
2230
|
+
if (h === 1)
|
|
2223
2231
|
r === "ArrowUp" ? J = J < 59 ? J + 1 : 0 : J = J > 0 ? J - 1 : 59;
|
|
2224
2232
|
else if (r === "ArrowUp") {
|
|
2225
|
-
const
|
|
2226
|
-
let
|
|
2227
|
-
|
|
2233
|
+
const $ = J % h;
|
|
2234
|
+
let H = $ === 0 ? J + h : J + (h - $);
|
|
2235
|
+
H >= 60 && (H = 0), J = H;
|
|
2228
2236
|
} else {
|
|
2229
|
-
const
|
|
2230
|
-
let
|
|
2231
|
-
|
|
2237
|
+
const $ = J % h;
|
|
2238
|
+
let H = $ === 0 ? J - h : J - $;
|
|
2239
|
+
H < 0 && (H = 60 - h), J = H;
|
|
2232
2240
|
}
|
|
2233
|
-
} else
|
|
2241
|
+
} else B === "ampm" && (ce = ce === "AM" ? "PM" : "AM");
|
|
2234
2242
|
t.value = `${String(j).padStart(2, "0")}:${String(J).padStart(
|
|
2235
2243
|
2,
|
|
2236
2244
|
"0"
|
|
2237
2245
|
)} ${ce}`;
|
|
2238
|
-
const
|
|
2239
|
-
|
|
2246
|
+
const i = V(t.value);
|
|
2247
|
+
A(i, T), G(() => {
|
|
2240
2248
|
requestAnimationFrame(() => {
|
|
2241
|
-
const
|
|
2249
|
+
const h = document.getElementById(
|
|
2242
2250
|
e.id
|
|
2243
|
-
),
|
|
2244
|
-
|
|
2251
|
+
), $ = n.value ?? 0;
|
|
2252
|
+
h && (h.focus(), h.setSelectionRange($, $));
|
|
2245
2253
|
});
|
|
2246
2254
|
});
|
|
2247
|
-
},
|
|
2255
|
+
}, K = (r) => {
|
|
2248
2256
|
if (r.code === "Space" || r.key === " ") {
|
|
2249
2257
|
r.preventDefault(), r.stopPropagation(), e.onShowPicker(r);
|
|
2250
2258
|
return;
|
|
@@ -2253,29 +2261,29 @@ function Ot(e) {
|
|
|
2253
2261
|
r.preventDefault(), r.stopPropagation(), e.onShowPicker(r);
|
|
2254
2262
|
return;
|
|
2255
2263
|
}
|
|
2256
|
-
if (
|
|
2264
|
+
if (k.includes(r.key)) {
|
|
2257
2265
|
if (r.altKey) return;
|
|
2258
2266
|
r.preventDefault(), r.stopPropagation();
|
|
2259
2267
|
const d = r.target;
|
|
2260
|
-
|
|
2268
|
+
L(r.key, d, r);
|
|
2261
2269
|
return;
|
|
2262
2270
|
}
|
|
2263
|
-
},
|
|
2271
|
+
}, Z = (r) => {
|
|
2264
2272
|
r.preventDefault();
|
|
2265
2273
|
const d = r.deltaY < 0 ? "ArrowUp" : "ArrowDown";
|
|
2266
|
-
|
|
2274
|
+
L(d, r.target, r);
|
|
2267
2275
|
}, ne = (r) => {
|
|
2268
2276
|
const d = r.target;
|
|
2269
|
-
if (
|
|
2277
|
+
if (P.includes(r.key)) {
|
|
2270
2278
|
n.value = d?.selectionStart ?? 0;
|
|
2271
2279
|
return;
|
|
2272
2280
|
}
|
|
2273
|
-
if (
|
|
2281
|
+
if (k.includes(r.key)) {
|
|
2274
2282
|
if (r.altKey) return;
|
|
2275
2283
|
n.value = d?.selectionStart ?? 0;
|
|
2276
2284
|
}
|
|
2277
|
-
},
|
|
2278
|
-
|
|
2285
|
+
}, ie = (r) => {
|
|
2286
|
+
b.value = !0, c.value && e.externalValue && e.externalValue.value === void 0 && N.value.length === 0 && (e.externalValue.value = "");
|
|
2279
2287
|
const d = r.target;
|
|
2280
2288
|
d && (n.value = d.selectionStart ?? 0);
|
|
2281
2289
|
};
|
|
@@ -2285,25 +2293,25 @@ function Ot(e) {
|
|
|
2285
2293
|
if (r) {
|
|
2286
2294
|
const d = new Date(r);
|
|
2287
2295
|
if (d.toString() !== "Invalid Date") {
|
|
2288
|
-
const
|
|
2289
|
-
t.value =
|
|
2296
|
+
const T = d.getHours(), U = T >= 12 ? "PM" : "AM";
|
|
2297
|
+
t.value = I(T, d.getMinutes(), U);
|
|
2290
2298
|
return;
|
|
2291
2299
|
}
|
|
2292
2300
|
}
|
|
2293
2301
|
},
|
|
2294
2302
|
{ immediate: !0 }
|
|
2295
2303
|
);
|
|
2296
|
-
const
|
|
2304
|
+
const l = y(() => [
|
|
2297
2305
|
["Time", t.value || "--:-- --"],
|
|
2298
|
-
["Hour (12h)",
|
|
2306
|
+
["Hour (12h)", x.value],
|
|
2299
2307
|
["Hour (24h)", f.value],
|
|
2300
|
-
["Minute",
|
|
2301
|
-
["Period",
|
|
2302
|
-
["Time (24h)",
|
|
2303
|
-
["Digits only",
|
|
2308
|
+
["Minute", D.value],
|
|
2309
|
+
["Period", O.value],
|
|
2310
|
+
["Time (24h)", s.value ?? "--:--:--"],
|
|
2311
|
+
["Digits only", N.value],
|
|
2304
2312
|
[
|
|
2305
2313
|
"Parsed Date",
|
|
2306
|
-
|
|
2314
|
+
S.value?.toLocaleDateString("en-US", {
|
|
2307
2315
|
hour: "2-digit",
|
|
2308
2316
|
minute: "2-digit"
|
|
2309
2317
|
}) ?? null
|
|
@@ -2322,49 +2330,49 @@ function Ot(e) {
|
|
|
2322
2330
|
minute: "2-digit"
|
|
2323
2331
|
}) ?? null
|
|
2324
2332
|
],
|
|
2325
|
-
["valid",
|
|
2333
|
+
["valid", q.value],
|
|
2326
2334
|
["reason", p.value],
|
|
2327
|
-
["validationMessage",
|
|
2328
|
-
]),
|
|
2329
|
-
() =>
|
|
2330
|
-
),
|
|
2335
|
+
["validationMessage", w.value]
|
|
2336
|
+
]), S = y(
|
|
2337
|
+
() => V(t.value) ?? null
|
|
2338
|
+
), q = y(() => {
|
|
2331
2339
|
if (!c.value) {
|
|
2332
|
-
if (!
|
|
2333
|
-
const d =
|
|
2334
|
-
return d ?
|
|
2335
|
-
}
|
|
2336
|
-
if (!
|
|
2337
|
-
const r =
|
|
2338
|
-
return !
|
|
2339
|
-
}), p =
|
|
2340
|
+
if (!g.value) return !0;
|
|
2341
|
+
const d = S.value;
|
|
2342
|
+
return d ? _(d) : !1;
|
|
2343
|
+
}
|
|
2344
|
+
if (!b.value) return !0;
|
|
2345
|
+
const r = S.value;
|
|
2346
|
+
return !g.value || !r ? !1 : _(r);
|
|
2347
|
+
}), p = y(() => {
|
|
2340
2348
|
if (!c.value) {
|
|
2341
|
-
if (!
|
|
2342
|
-
const d =
|
|
2343
|
-
return d ?
|
|
2349
|
+
if (!g.value) return;
|
|
2350
|
+
const d = S.value;
|
|
2351
|
+
return d ? _(d) ? "valid" : "out-of-bounds" : "invalid-time";
|
|
2344
2352
|
}
|
|
2345
|
-
if (!
|
|
2346
|
-
if (
|
|
2353
|
+
if (!b.value) return;
|
|
2354
|
+
if (N.value.length === 0 || !g.value)
|
|
2347
2355
|
return "incomplete";
|
|
2348
|
-
const r =
|
|
2349
|
-
return r ?
|
|
2350
|
-
}),
|
|
2356
|
+
const r = S.value;
|
|
2357
|
+
return r ? _(r) ? "valid" : "out-of-bounds" : "invalid-time";
|
|
2358
|
+
}), w = y(() => {
|
|
2351
2359
|
const r = p.value;
|
|
2352
2360
|
if (!r || r === "valid") return "";
|
|
2353
2361
|
if (r === "incomplete")
|
|
2354
2362
|
return "Required";
|
|
2355
2363
|
if (r === "invalid-time")
|
|
2356
|
-
return `Must be in ${
|
|
2364
|
+
return `Must be in ${o.value} format.`;
|
|
2357
2365
|
const d = {
|
|
2358
2366
|
hour: "2-digit",
|
|
2359
2367
|
minute: "2-digit"
|
|
2360
|
-
},
|
|
2368
|
+
}, T = e.min ? e.min.toLocaleTimeString("en-US", d) : null, U = e.max ? e.max.toLocaleTimeString("en-US", d) : null;
|
|
2361
2369
|
if (r === "out-of-bounds") {
|
|
2362
|
-
if (
|
|
2363
|
-
if (
|
|
2364
|
-
if (
|
|
2370
|
+
if (T && U) return `Must be between ${T} and ${U}.`;
|
|
2371
|
+
if (T) return `Must be ${T} or later.`;
|
|
2372
|
+
if (U) return `Must be ${U} or earlier.`;
|
|
2365
2373
|
}
|
|
2366
2374
|
return "";
|
|
2367
|
-
}),
|
|
2375
|
+
}), z = () => {
|
|
2368
2376
|
G(() => {
|
|
2369
2377
|
const r = document.getElementById(e.id);
|
|
2370
2378
|
if (!r) {
|
|
@@ -2378,44 +2386,44 @@ function Ot(e) {
|
|
|
2378
2386
|
);
|
|
2379
2387
|
return;
|
|
2380
2388
|
}
|
|
2381
|
-
const
|
|
2382
|
-
if (!
|
|
2389
|
+
const T = d.parentElement;
|
|
2390
|
+
if (!T) {
|
|
2383
2391
|
console.warn(
|
|
2384
2392
|
`Parent of .k-timepicker not found for #${e.id} styling.`
|
|
2385
2393
|
);
|
|
2386
2394
|
return;
|
|
2387
2395
|
}
|
|
2388
|
-
|
|
2396
|
+
T.classList.contains("fk-timepicker") || T.classList.add("fk-timepicker");
|
|
2389
2397
|
});
|
|
2390
2398
|
};
|
|
2391
2399
|
return Re(() => {
|
|
2392
|
-
|
|
2400
|
+
z();
|
|
2393
2401
|
}), {
|
|
2394
2402
|
raw: t,
|
|
2395
|
-
rules:
|
|
2403
|
+
rules: M,
|
|
2396
2404
|
debugEnabled: u,
|
|
2397
|
-
debugLines:
|
|
2398
|
-
placeholder:
|
|
2399
|
-
isValid:
|
|
2405
|
+
debugLines: l,
|
|
2406
|
+
placeholder: o,
|
|
2407
|
+
isValid: q,
|
|
2400
2408
|
reason: te(p),
|
|
2401
|
-
validationMessage:
|
|
2402
|
-
isComplete:
|
|
2403
|
-
inRangeTime:
|
|
2409
|
+
validationMessage: w,
|
|
2410
|
+
isComplete: g,
|
|
2411
|
+
inRangeTime: _,
|
|
2404
2412
|
cursorPos: n,
|
|
2405
|
-
hour: te(
|
|
2413
|
+
hour: te(x),
|
|
2406
2414
|
hour24: te(f),
|
|
2407
|
-
minute: te(
|
|
2408
|
-
period: te(
|
|
2409
|
-
time24: te(
|
|
2410
|
-
parsedRawTime: te(
|
|
2411
|
-
handleChange:
|
|
2412
|
-
handleKeyDown:
|
|
2415
|
+
minute: te(D),
|
|
2416
|
+
period: te(O),
|
|
2417
|
+
time24: te(s),
|
|
2418
|
+
parsedRawTime: te(S),
|
|
2419
|
+
handleChange: C,
|
|
2420
|
+
handleKeyDown: K,
|
|
2413
2421
|
handleKeyUp: ne,
|
|
2414
|
-
handleClick:
|
|
2415
|
-
handleWheel:
|
|
2416
|
-
handleBlur:
|
|
2422
|
+
handleClick: E,
|
|
2423
|
+
handleWheel: Z,
|
|
2424
|
+
handleBlur: ie,
|
|
2417
2425
|
// Expose so consumers can reapply theming when Kendo updates DOM
|
|
2418
|
-
initStyling:
|
|
2426
|
+
initStyling: z
|
|
2419
2427
|
};
|
|
2420
2428
|
}
|
|
2421
2429
|
const Vt = {
|
|
@@ -2430,9 +2438,9 @@ function Nt(e) {
|
|
|
2430
2438
|
".k-popup",
|
|
2431
2439
|
".k-timepicker-popup",
|
|
2432
2440
|
".k-menu-popup"
|
|
2433
|
-
], u = Array.isArray(e.popupSelector) ? e.popupSelector : [e.popupSelector ?? n].flat(),
|
|
2441
|
+
], u = Array.isArray(e.popupSelector) ? e.popupSelector : [e.popupSelector ?? n].flat(), o = (M) => M ? typeof e.initialFocus == "string" ? M.querySelector(e.initialFocus) ?? M : typeof e.initialFocus == "function" ? e.initialFocus(M) ?? M : M.querySelector(
|
|
2434
2442
|
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
2435
|
-
) ??
|
|
2443
|
+
) ?? M : null, { activate: c, deactivate: b } = Ze(t, {
|
|
2436
2444
|
escapeDeactivates: !1,
|
|
2437
2445
|
clickOutsideDeactivates: !1,
|
|
2438
2446
|
// Without this, focus-trap's own default (false) preventDefault()s and
|
|
@@ -2441,75 +2449,75 @@ function Nt(e) {
|
|
|
2441
2449
|
// page (e.g. another trigger in the same row) until the trap deactivates.
|
|
2442
2450
|
allowOutsideClick: !0,
|
|
2443
2451
|
fallbackFocus: () => t.value,
|
|
2444
|
-
initialFocus: () =>
|
|
2452
|
+
initialFocus: () => o(t.value),
|
|
2445
2453
|
...e.focusTrapOptions ?? {}
|
|
2446
2454
|
});
|
|
2447
|
-
let
|
|
2448
|
-
const
|
|
2455
|
+
let k = null, P = Y(null);
|
|
2456
|
+
const N = () => {
|
|
2449
2457
|
if (e.resolvePopupEl) return e.resolvePopupEl();
|
|
2450
|
-
const
|
|
2451
|
-
const
|
|
2452
|
-
if (!
|
|
2453
|
-
const f =
|
|
2454
|
-
(
|
|
2458
|
+
const M = (x, D) => {
|
|
2459
|
+
const O = Array.from(x.querySelectorAll(D));
|
|
2460
|
+
if (!O.length) return null;
|
|
2461
|
+
const f = O.filter(
|
|
2462
|
+
(s) => s.offsetParent !== null || s.getClientRects().length > 0
|
|
2455
2463
|
);
|
|
2456
|
-
return f[f.length - 1] ??
|
|
2457
|
-
},
|
|
2458
|
-
for (const
|
|
2459
|
-
const
|
|
2460
|
-
if (
|
|
2464
|
+
return f[f.length - 1] ?? O[O.length - 1] ?? null;
|
|
2465
|
+
}, R = e.triggerEl?.value?.closest?.(".k-animation-container") ?? document.body;
|
|
2466
|
+
for (const x of u) {
|
|
2467
|
+
const D = M(R, x);
|
|
2468
|
+
if (D) return D;
|
|
2461
2469
|
}
|
|
2462
|
-
for (const
|
|
2463
|
-
const
|
|
2464
|
-
if (
|
|
2470
|
+
for (const x of u) {
|
|
2471
|
+
const D = M(document, x);
|
|
2472
|
+
if (D) return D;
|
|
2465
2473
|
}
|
|
2466
2474
|
return null;
|
|
2467
2475
|
};
|
|
2468
|
-
return
|
|
2469
|
-
|
|
2476
|
+
return Ue(t, (M) => {
|
|
2477
|
+
P.value = "outside", e.isOpen.value && e.onRequestClose?.("outside", M);
|
|
2470
2478
|
}), ae(
|
|
2471
2479
|
() => e.isOpen.value,
|
|
2472
|
-
(
|
|
2473
|
-
|
|
2474
|
-
const
|
|
2475
|
-
|
|
2480
|
+
(M) => {
|
|
2481
|
+
M ? (P.value = null, G(() => {
|
|
2482
|
+
const R = N();
|
|
2483
|
+
R && (R.tabIndex < 0 && (R.tabIndex = -1), t.value = R, setTimeout(() => {
|
|
2476
2484
|
try {
|
|
2477
2485
|
c();
|
|
2478
|
-
} catch (
|
|
2486
|
+
} catch (x) {
|
|
2479
2487
|
console.warn(
|
|
2480
2488
|
"usePopupTrap: focus trap failed to activate",
|
|
2481
|
-
|
|
2489
|
+
x
|
|
2482
2490
|
);
|
|
2483
2491
|
}
|
|
2484
|
-
}, 0),
|
|
2485
|
-
|
|
2486
|
-
}, document.addEventListener("keydown",
|
|
2487
|
-
})) : (
|
|
2488
|
-
const
|
|
2489
|
-
const
|
|
2490
|
-
|
|
2492
|
+
}, 0), k || (k = (x) => {
|
|
2493
|
+
x.key === "Escape" && (P.value = "escape", e.isOpen.value && e.onRequestClose?.("escape", x));
|
|
2494
|
+
}, document.addEventListener("keydown", k, !0)));
|
|
2495
|
+
})) : (b(), k && (document.removeEventListener("keydown", k, !0), k = null), t.value = null, P.value === "outside" && G(() => {
|
|
2496
|
+
const R = () => {
|
|
2497
|
+
const x = e.triggerEl?.value, D = x?.querySelector("input"), O = document.activeElement;
|
|
2498
|
+
O && (O === D || x && x.contains(O)) && (D ?? x)?.blur?.();
|
|
2491
2499
|
};
|
|
2492
|
-
requestAnimationFrame(() => setTimeout(
|
|
2493
|
-
}), e.returnFocusToTrigger !== !1 &&
|
|
2494
|
-
const
|
|
2495
|
-
const
|
|
2496
|
-
if (!
|
|
2497
|
-
(
|
|
2500
|
+
requestAnimationFrame(() => setTimeout(R, 0));
|
|
2501
|
+
}), e.returnFocusToTrigger !== !1 && P.value === "escape" && e.triggerEl?.value && G(() => {
|
|
2502
|
+
const R = () => {
|
|
2503
|
+
const x = e.triggerEl?.value;
|
|
2504
|
+
if (!x) return;
|
|
2505
|
+
(x.querySelector("input") ?? x)?.focus?.();
|
|
2498
2506
|
};
|
|
2499
|
-
requestAnimationFrame(() => setTimeout(
|
|
2507
|
+
requestAnimationFrame(() => setTimeout(R, 0));
|
|
2500
2508
|
}));
|
|
2501
2509
|
}
|
|
2502
2510
|
), {
|
|
2503
2511
|
popupRef: t,
|
|
2504
2512
|
activate: c,
|
|
2505
|
-
deactivate:
|
|
2506
|
-
lastCloseReason: te(
|
|
2507
|
-
setPopupEl: (
|
|
2513
|
+
deactivate: b,
|
|
2514
|
+
lastCloseReason: te(P),
|
|
2515
|
+
setPopupEl: (M) => t.value = M
|
|
2508
2516
|
};
|
|
2509
2517
|
}
|
|
2510
2518
|
export {
|
|
2511
2519
|
Vt as POPUP_MENU_TRAP_OPTIONS,
|
|
2512
|
-
|
|
2520
|
+
Ne as WINDOW_SETTINGS_DEFAULTS,
|
|
2513
2521
|
ct as computeCollisionOffset,
|
|
2514
2522
|
Ft as useActiveIdRegistry,
|
|
2515
2523
|
Ct as useCompositeId,
|