attaform 0.24.3 → 0.24.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/devtools.cjs +1 -1
- package/dist/chunks/devtools.mjs +1 -1
- package/dist/chunks/fingerprint2.cjs +1 -1
- package/dist/chunks/fingerprint2.mjs +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.d.cts +4 -4
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.mjs +3 -3
- package/dist/nuxt.d.cts +1 -1
- package/dist/nuxt.d.mts +1 -1
- package/dist/nuxt.d.ts +1 -1
- package/dist/runtime/plugins/attaform.cjs +2 -2
- package/dist/runtime/plugins/attaform.mjs +2 -2
- package/dist/shared/{attaform.DRWrVSkH.cjs → attaform.AkX9wzfY.cjs} +2 -2
- package/dist/shared/{attaform.DRWrVSkH.cjs.map → attaform.AkX9wzfY.cjs.map} +1 -1
- package/dist/shared/{attaform.0zueP54D.d.mts → attaform.B1N47eDM.d.ts} +9 -1
- package/dist/shared/{attaform.CqlLImc1.cjs → attaform.Bnm0FQaH.cjs} +4 -4
- package/dist/shared/{attaform.CqlLImc1.cjs.map → attaform.Bnm0FQaH.cjs.map} +1 -1
- package/dist/shared/{attaform.CB1kYKUB.cjs → attaform.Buedl_UL.cjs} +66 -2
- package/dist/shared/attaform.Buedl_UL.cjs.map +1 -0
- package/dist/shared/{attaform.DQcdvxKZ.cjs → attaform.CAVK56f8.cjs} +122 -2
- package/dist/shared/attaform.CAVK56f8.cjs.map +1 -0
- package/dist/shared/{attaform.BVjueUPu.cjs → attaform.CBMI57RP.cjs} +3 -3
- package/dist/shared/{attaform.BVjueUPu.cjs.map → attaform.CBMI57RP.cjs.map} +1 -1
- package/dist/shared/{attaform.DfnwaGW2.cjs → attaform.CE-KJZ0j.cjs} +4 -4
- package/dist/shared/{attaform.DfnwaGW2.cjs.map → attaform.CE-KJZ0j.cjs.map} +1 -1
- package/dist/shared/{attaform.DgbHNLf_.mjs → attaform.CZpUm-2l.mjs} +2 -2
- package/dist/shared/{attaform.DgbHNLf_.mjs.map → attaform.CZpUm-2l.mjs.map} +1 -1
- package/dist/shared/{attaform.Dbzwtn4g.mjs → attaform.ChY7tIrn.mjs} +4 -4
- package/dist/shared/{attaform.Dbzwtn4g.mjs.map → attaform.ChY7tIrn.mjs.map} +1 -1
- package/dist/shared/{attaform.yqcYwt0d.d.ts → attaform.CqW4gF_Z.d.cts} +9 -1
- package/dist/shared/{attaform.ByIB7i15.mjs → attaform.CwqTCeTZ.mjs} +4 -4
- package/dist/shared/{attaform.ByIB7i15.mjs.map → attaform.CwqTCeTZ.mjs.map} +1 -1
- package/dist/shared/{attaform.Bx6pgrIy.d.cts → attaform.DTn1J0Eq.d.mts} +1 -1
- package/dist/shared/{attaform.DK6_Ctv7.cjs → attaform.DWKcw1ud.cjs} +82 -4
- package/dist/shared/attaform.DWKcw1ud.cjs.map +1 -0
- package/dist/shared/{attaform.C5qkSN6t.mjs → attaform.DwsfkfSY.mjs} +122 -2
- package/dist/shared/attaform.DwsfkfSY.mjs.map +1 -0
- package/dist/shared/{attaform.BjiHiYAZ.d.ts → attaform.EeVCVnoH.d.ts} +1 -1
- package/dist/shared/{attaform.DvqdxvNU.d.mts → attaform.Ib7oSpxj.d.cts} +1 -1
- package/dist/shared/{attaform.DUc6cetN.d.cts → attaform.QFrCtJBO.d.cts} +38 -0
- package/dist/shared/{attaform.DUc6cetN.d.ts → attaform.QFrCtJBO.d.mts} +38 -0
- package/dist/shared/{attaform.DUc6cetN.d.mts → attaform.QFrCtJBO.d.ts} +38 -0
- package/dist/shared/{attaform.DwCtxauq.mjs → attaform.QwLSdxuk.mjs} +82 -4
- package/dist/shared/attaform.QwLSdxuk.mjs.map +1 -0
- package/dist/shared/{attaform.DHjRN5JP.d.cts → attaform.f0l5ydy1.d.mts} +9 -1
- package/dist/shared/{attaform.B_F61Rx1.mjs → attaform.iJ4y3sHU.mjs} +67 -3
- package/dist/shared/attaform.iJ4y3sHU.mjs.map +1 -0
- package/dist/shared/{attaform.D4ebpNbS.mjs → attaform.lcTiMoma.mjs} +3 -3
- package/dist/shared/{attaform.D4ebpNbS.mjs.map → attaform.lcTiMoma.mjs.map} +1 -1
- package/dist/transforms.cjs +1 -1
- package/dist/transforms.mjs +1 -1
- package/dist/vite.cjs +1 -1
- package/dist/vite.mjs +1 -1
- package/dist/zod-v3.cjs +2 -2
- package/dist/zod-v3.d.cts +3 -3
- package/dist/zod-v3.d.mts +3 -3
- package/dist/zod-v3.d.ts +3 -3
- package/dist/zod-v3.mjs +2 -2
- package/dist/zod-v4.cjs +2 -2
- package/dist/zod-v4.d.cts +5 -5
- package/dist/zod-v4.d.mts +5 -5
- package/dist/zod-v4.d.ts +5 -5
- package/dist/zod-v4.mjs +2 -2
- package/dist/zod.cjs +5 -5
- package/dist/zod.d.cts +5 -5
- package/dist/zod.d.mts +5 -5
- package/dist/zod.d.ts +5 -5
- package/dist/zod.mjs +5 -5
- package/package.json +6 -2
- package/dist/shared/attaform.B_F61Rx1.mjs.map +0 -1
- package/dist/shared/attaform.C5qkSN6t.mjs.map +0 -1
- package/dist/shared/attaform.CB1kYKUB.cjs.map +0 -1
- package/dist/shared/attaform.DK6_Ctv7.cjs.map +0 -1
- package/dist/shared/attaform.DQcdvxKZ.cjs.map +0 -1
- package/dist/shared/attaform.DwCtxauq.mjs.map +0 -1
|
@@ -340,6 +340,28 @@ function setupAria(el, rv, vnode) {
|
|
|
340
340
|
});
|
|
341
341
|
el[ariaScopeKey] = () => scope.stop();
|
|
342
342
|
}
|
|
343
|
+
function seedLocksFromDom(el) {
|
|
344
|
+
let locks = el[ariaLockKey];
|
|
345
|
+
if (locks === void 0) {
|
|
346
|
+
locks = /* @__PURE__ */ new Set();
|
|
347
|
+
el[ariaLockKey] = locks;
|
|
348
|
+
}
|
|
349
|
+
for (const attr of MANAGED_ARIA_ATTRS) {
|
|
350
|
+
if (el.hasAttribute(attr)) locks.add(attr);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
function setupAriaLive(el, rv) {
|
|
354
|
+
if (rv.ariaEnabled !== true || rv.ariaDisplayState === void 0) return;
|
|
355
|
+
if (!INTERACTIVE_TAG_NAMES.has(el.tagName)) return;
|
|
356
|
+
seedLocksFromDom(el);
|
|
357
|
+
applyAria(el, rv, null);
|
|
358
|
+
const displayState = rv.ariaDisplayState;
|
|
359
|
+
const scope = vue.effectScope(true);
|
|
360
|
+
scope.run(() => {
|
|
361
|
+
vue.watch(displayState, () => applyAria(el, rv, null), { flush: "post" });
|
|
362
|
+
});
|
|
363
|
+
el[ariaScopeKey] = () => scope.stop();
|
|
364
|
+
}
|
|
343
365
|
function getSSRAriaProps(rv, vnode) {
|
|
344
366
|
if (rv.ariaEnabled !== true || rv.ariaDisplayState === void 0) return void 0;
|
|
345
367
|
const props = vnode?.props ?? null;
|
|
@@ -1180,6 +1202,88 @@ function getCheckboxValue(el, checked) {
|
|
|
1180
1202
|
return key in el ? el[key] : checked;
|
|
1181
1203
|
}
|
|
1182
1204
|
const warnedUnsupportedElements = __DEV__ ? /* @__PURE__ */ new WeakSet() : null;
|
|
1205
|
+
const componentHostLatch = /* @__PURE__ */ new WeakMap();
|
|
1206
|
+
const hostFocusListeners = /* @__PURE__ */ new WeakMap();
|
|
1207
|
+
const hostHealObservers = /* @__PURE__ */ new WeakMap();
|
|
1208
|
+
const SELF_HEAL_MAX_MUTATION_BATCHES = 20;
|
|
1209
|
+
const HOST_CONTROL_SELECTOR = "input:not([type=hidden]), select, textarea";
|
|
1210
|
+
function isLatchableControl(el) {
|
|
1211
|
+
return el.getAttribute("tabindex") !== "-1" && el.getAttribute("aria-hidden") !== "true";
|
|
1212
|
+
}
|
|
1213
|
+
function findHostControl(el) {
|
|
1214
|
+
const descendants = Array.from(el.querySelectorAll(HOST_CONTROL_SELECTOR)).filter(
|
|
1215
|
+
isLatchableControl
|
|
1216
|
+
);
|
|
1217
|
+
return descendants.length === 1 ? descendants[0] : null;
|
|
1218
|
+
}
|
|
1219
|
+
function latchHostControl(el, rv, control) {
|
|
1220
|
+
rv.registerElement(control);
|
|
1221
|
+
setupAriaLive(control, rv);
|
|
1222
|
+
componentHostLatch.set(el, control);
|
|
1223
|
+
}
|
|
1224
|
+
function setupNoLatchHost(el, rv) {
|
|
1225
|
+
rv.markHostConnected(true);
|
|
1226
|
+
const focusin = (event) => {
|
|
1227
|
+
const from = event.relatedTarget;
|
|
1228
|
+
if (from instanceof Node && el.contains(from)) return;
|
|
1229
|
+
rv.markFocused(true);
|
|
1230
|
+
};
|
|
1231
|
+
const focusout = (event) => {
|
|
1232
|
+
const to = event.relatedTarget;
|
|
1233
|
+
if (to instanceof Node && el.contains(to)) return;
|
|
1234
|
+
rv.markFocused(false);
|
|
1235
|
+
};
|
|
1236
|
+
addTrackedListener(el, "focusin", focusin);
|
|
1237
|
+
addTrackedListener(el, "focusout", focusout);
|
|
1238
|
+
hostFocusListeners.set(el, { focusin, focusout });
|
|
1239
|
+
componentHostLatch.set(el, null);
|
|
1240
|
+
}
|
|
1241
|
+
function trySupersedeHostLatch(el, rv) {
|
|
1242
|
+
const control = findHostControl(el);
|
|
1243
|
+
if (control === null) return false;
|
|
1244
|
+
const focusListeners = hostFocusListeners.get(el);
|
|
1245
|
+
if (focusListeners !== void 0) {
|
|
1246
|
+
el.removeEventListener("focusin", focusListeners.focusin);
|
|
1247
|
+
el.removeEventListener("focusout", focusListeners.focusout);
|
|
1248
|
+
hostFocusListeners.delete(el);
|
|
1249
|
+
}
|
|
1250
|
+
latchHostControl(el, rv, control);
|
|
1251
|
+
return true;
|
|
1252
|
+
}
|
|
1253
|
+
function scheduleHostSelfHeal(el, rv) {
|
|
1254
|
+
void vue.nextTick(() => {
|
|
1255
|
+
if (componentHostLatch.get(el) !== null || !el.isConnected) return;
|
|
1256
|
+
if (trySupersedeHostLatch(el, rv)) return;
|
|
1257
|
+
observeForLateHostControl(el, rv);
|
|
1258
|
+
});
|
|
1259
|
+
}
|
|
1260
|
+
function observeForLateHostControl(el, rv) {
|
|
1261
|
+
let batches = 0;
|
|
1262
|
+
const observer = new MutationObserver(() => {
|
|
1263
|
+
const done = componentHostLatch.get(el) !== null || !el.isConnected || trySupersedeHostLatch(el, rv) || ++batches >= SELF_HEAL_MAX_MUTATION_BATCHES;
|
|
1264
|
+
if (done) {
|
|
1265
|
+
observer.disconnect();
|
|
1266
|
+
hostHealObservers.delete(el);
|
|
1267
|
+
}
|
|
1268
|
+
});
|
|
1269
|
+
observer.observe(el, { childList: true, subtree: true });
|
|
1270
|
+
hostHealObservers.set(el, observer);
|
|
1271
|
+
}
|
|
1272
|
+
function activateComponentHost(el, rv) {
|
|
1273
|
+
if (rv.hasRegisteredDescendant(el))
|
|
1274
|
+
return;
|
|
1275
|
+
el[registerProtocol.REGISTER_OWNER_MARKER] = true;
|
|
1276
|
+
if (!el.tagName.includes("-")) {
|
|
1277
|
+
el.removeAttribute("registerValue");
|
|
1278
|
+
}
|
|
1279
|
+
const control = findHostControl(el);
|
|
1280
|
+
if (control !== null) {
|
|
1281
|
+
latchHostControl(el, rv, control);
|
|
1282
|
+
return;
|
|
1283
|
+
}
|
|
1284
|
+
setupNoLatchHost(el, rv);
|
|
1285
|
+
scheduleHostSelfHeal(el, rv);
|
|
1286
|
+
}
|
|
1183
1287
|
const vRegisterDynamic = {
|
|
1184
1288
|
created(el, binding, vnode) {
|
|
1185
1289
|
callModelHook(el, binding, vnode, null, "created");
|
|
@@ -1187,6 +1291,9 @@ const vRegisterDynamic = {
|
|
|
1187
1291
|
},
|
|
1188
1292
|
mounted(el, binding, vnode) {
|
|
1189
1293
|
callModelHook(el, binding, vnode, null, "mounted");
|
|
1294
|
+
if (binding.modifiers[registerProtocol.SSR_COMPONENT_HOST_MODIFIER] === true && registerProtocol.isRegisterValue(binding.value)) {
|
|
1295
|
+
activateComponentHost(el, binding.value);
|
|
1296
|
+
}
|
|
1190
1297
|
if (__DEV__ && warnedUnsupportedElements !== null && !INTERACTIVE_TAG_NAMES.has(el.tagName) && !warnedUnsupportedElements.has(el)) {
|
|
1191
1298
|
void vue.nextTick(() => {
|
|
1192
1299
|
if (warnedUnsupportedElements.has(el)) return;
|
|
@@ -1230,6 +1337,19 @@ const vRegisterDynamic = {
|
|
|
1230
1337
|
teardownValueSync(el);
|
|
1231
1338
|
if (!registerProtocol.isRegisterValue(value)) return;
|
|
1232
1339
|
value.deregisterElement(el);
|
|
1340
|
+
if (componentHostLatch.has(el)) {
|
|
1341
|
+
const healObserver = hostHealObservers.get(el);
|
|
1342
|
+
if (healObserver !== void 0) {
|
|
1343
|
+
healObserver.disconnect();
|
|
1344
|
+
hostHealObservers.delete(el);
|
|
1345
|
+
}
|
|
1346
|
+
const latchedControl = componentHostLatch.get(el);
|
|
1347
|
+
if (latchedControl != null) {
|
|
1348
|
+
teardownAria(latchedControl);
|
|
1349
|
+
value.deregisterElement(latchedControl);
|
|
1350
|
+
} else value.markHostConnected(false);
|
|
1351
|
+
componentHostLatch.delete(el);
|
|
1352
|
+
}
|
|
1233
1353
|
delete el.composing;
|
|
1234
1354
|
delete el._assigning;
|
|
1235
1355
|
delete el._syncFromStorage;
|
|
@@ -1251,7 +1371,7 @@ const vRegisterDynamic = {
|
|
|
1251
1371
|
const isComponentHostModifier = modifiers?.[registerProtocol.SSR_COMPONENT_HOST_MODIFIER] === true;
|
|
1252
1372
|
const suppressHostAria = isComponentHostModifier || realVnode !== null && !isInteractiveElementVnode;
|
|
1253
1373
|
const ariaProps = suppressHostAria ? void 0 : getSSRAriaProps(rv, realVnode);
|
|
1254
|
-
const formStateProps = realVnode !== null ? getSSRFormStateProps(rv, realVnode) : void 0;
|
|
1374
|
+
const formStateProps = realVnode !== null && !isComponentHostModifier ? getSSRFormStateProps(rv, realVnode) : void 0;
|
|
1255
1375
|
if (ariaProps === void 0 && formStateProps === void 0) return void 0;
|
|
1256
1376
|
return { ...ariaProps, ...formStateProps };
|
|
1257
1377
|
}
|
|
@@ -1483,4 +1603,4 @@ exports.segmentsForPathKey = segmentsForPathKey;
|
|
|
1483
1603
|
exports.toError = toError;
|
|
1484
1604
|
exports.useRegistry = useRegistry;
|
|
1485
1605
|
exports.vRegister = vRegister;
|
|
1486
|
-
//# sourceMappingURL=attaform.
|
|
1606
|
+
//# sourceMappingURL=attaform.CAVK56f8.cjs.map
|