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