haori 0.44.0 → 0.44.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +1 -1
- package/README.md +1 -1
- package/dist/haori.cjs.js +2 -2
- package/dist/haori.es.js +99 -79
- package/dist/haori.iife.js +2 -2
- package/dist/index.d.ts +19 -1
- package/package.json +1 -1
package/dist/haori.es.js
CHANGED
|
@@ -3672,6 +3672,26 @@ const R = class R extends N {
|
|
|
3672
3672
|
static isValuePropertyTarget(e) {
|
|
3673
3673
|
return e instanceof HTMLInputElement ? R.INPUT_EVENT_TYPES.includes(e.type) || e.type === "hidden" : e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement;
|
|
3674
3674
|
}
|
|
3675
|
+
/**
|
|
3676
|
+
* 利用者が打鍵で値を変えられる入力欄かどうかを判定します。
|
|
3677
|
+
*
|
|
3678
|
+
* `readonly` の欄は打鍵で値が変わらないため、宣言バインドの再適用から守るべき
|
|
3679
|
+
* 未コミットの入力を持ちません。それでいて `disabled` と違いタブ移動の対象には
|
|
3680
|
+
* なるため、フォーカスを保護の条件にすると「算出値を入れた欄がタブ移動の行き先に
|
|
3681
|
+
* なっただけで評価結果に追従しなくなる」ことになります。そこで `readonly` の欄は
|
|
3682
|
+
* 保護の対象外とします(仕様「`data-attr-*`」)。
|
|
3683
|
+
*
|
|
3684
|
+
* `<select>` に `readonly` はないため常に編集できる扱いです。`disabled` も対象に
|
|
3685
|
+
* しません。`disabled` の要素はフォーカスされないため保護に掛かる経路が無く、
|
|
3686
|
+
* 「編集した欄を送信中だけ `disabled` にする」使い方で入力を評価結果へ巻き戻して
|
|
3687
|
+
* しまう恐れがあるためです。
|
|
3688
|
+
*
|
|
3689
|
+
* @param element 判定対象のエレメント
|
|
3690
|
+
* @returns 利用者が打鍵で値を変えられる場合 true
|
|
3691
|
+
*/
|
|
3692
|
+
static isUserEditableValue(e) {
|
|
3693
|
+
return e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement ? !e.readOnly : !0;
|
|
3694
|
+
}
|
|
3675
3695
|
/**
|
|
3676
3696
|
* 内部の値をDOMの値と同期します。
|
|
3677
3697
|
* changeイベント時など、DOM値が変更された後に呼び出されます。
|
|
@@ -3884,8 +3904,8 @@ const R = class R extends N {
|
|
|
3884
3904
|
return e === t ? this.removeAttribute(e) : this.removeAliasedAttribute(e, t);
|
|
3885
3905
|
const o = new Ie(e, r);
|
|
3886
3906
|
if (n) {
|
|
3887
|
-
const
|
|
3888
|
-
if (
|
|
3907
|
+
const Ce = this.attributeMap.get(e);
|
|
3908
|
+
if (Ce && (Ce.isEvaluate || Ce.isForceEvaluation()) && !o.isEvaluate && !o.isForceEvaluation()) {
|
|
3889
3909
|
const We = K.enqueue(() => {
|
|
3890
3910
|
}).finally(() => {
|
|
3891
3911
|
this.releaseSelfWritingAttributes(s);
|
|
@@ -3906,17 +3926,17 @@ const R = class R extends N {
|
|
|
3906
3926
|
r,
|
|
3907
3927
|
l
|
|
3908
3928
|
);
|
|
3909
|
-
const E = o.isForceEvaluation() ? r : g ? v : A, S = i && o.isEvaluate && t === "value" && R.isValuePropertyTarget(l),
|
|
3910
|
-
if (!Q && !
|
|
3929
|
+
const E = o.isForceEvaluation() ? r : g ? v : A, S = i && o.isEvaluate && t === "value" && R.isValuePropertyTarget(l), x = l.getRootNode(), H = S && R.isUserEditableValue(l) && (l === x.activeElement || this.hasPendingUserEdit()), P = U || E === null || E === !1 && !T ? null : String(E), Q = e !== t && l.getAttribute(e) !== r, C = P === null ? l.hasAttribute(t) : l.getAttribute(t) !== P, V = P === null ? "" : P, X = S && !H && l.value !== V, Y = t === "checked" && l instanceof HTMLInputElement && (l.type === "checkbox" || l.type === "radio"), te = t === "selected" && l instanceof HTMLOptionElement, be = x.activeElement, ue = be !== null && (Y && l === be || te && l.closest("select") === be) || (Y || te) && this.hasPendingCheckableUserEdit(te), ve = P !== null, xe = Y && !ue && l.checked !== ve, Se = te && !ue && l.selected !== ve;
|
|
3930
|
+
if (!Q && !C && !X && !xe && !Se)
|
|
3911
3931
|
return S && !H && (this.value = this.normalizeValueForElement(
|
|
3912
3932
|
l,
|
|
3913
3933
|
V
|
|
3914
3934
|
), this.clearUnappliedValueWrite()), (Y || te) && !ue && this.syncCheckableValueFromDom(te), Promise.resolve();
|
|
3915
3935
|
const qe = K.enqueue(() => {
|
|
3916
|
-
Q && l.setAttribute(e, r), P === null ? l.removeAttribute(t) :
|
|
3936
|
+
Q && l.setAttribute(e, r), P === null ? l.removeAttribute(t) : C && (l.setAttribute(t, P), t === `${c.prefix}bind` && this.recordSelfWrittenBind(P)), S && !H && (this.value = this.normalizeValueForElement(
|
|
3917
3937
|
l,
|
|
3918
3938
|
V
|
|
3919
|
-
), X && (l.value = V), this.recordValueWriteResult(l.value === V)),
|
|
3939
|
+
), X && (l.value = V), this.recordValueWriteResult(l.value === V)), xe && (l.checked = ve), Se && (l.selected = ve), (xe || Se) && this.syncCheckableValueFromDom(Se);
|
|
3920
3940
|
}).finally(() => {
|
|
3921
3941
|
this.releaseSelfWritingAttributes(s);
|
|
3922
3942
|
});
|
|
@@ -7675,11 +7695,11 @@ function Re() {
|
|
|
7675
7695
|
(r) => typeof e?.[r] == "function"
|
|
7676
7696
|
) ? e : me;
|
|
7677
7697
|
}
|
|
7678
|
-
const
|
|
7698
|
+
const xt = /* @__PURE__ */ new Set(["GET", "HEAD", "OPTIONS"]);
|
|
7679
7699
|
function Le(m) {
|
|
7680
|
-
return
|
|
7700
|
+
return xt.has(m.toUpperCase());
|
|
7681
7701
|
}
|
|
7682
|
-
function
|
|
7702
|
+
function Ct(m, e) {
|
|
7683
7703
|
for (const [t, r] of Object.entries(e))
|
|
7684
7704
|
r !== void 0 && (Array.isArray(r) ? r.forEach((i) => {
|
|
7685
7705
|
m.append(t, de(i));
|
|
@@ -7698,7 +7718,7 @@ function de(m) {
|
|
|
7698
7718
|
}
|
|
7699
7719
|
function pt(m, e) {
|
|
7700
7720
|
const t = new URL(m, window.location.href), r = new URLSearchParams(t.search);
|
|
7701
|
-
return
|
|
7721
|
+
return Ct(r, e), t.search = r.toString(), t.toString();
|
|
7702
7722
|
}
|
|
7703
7723
|
function $t(m) {
|
|
7704
7724
|
if (m == null)
|
|
@@ -8079,12 +8099,12 @@ const y = class y {
|
|
|
8079
8099
|
y.attrName(t, "form")
|
|
8080
8100
|
);
|
|
8081
8101
|
if (S) {
|
|
8082
|
-
const
|
|
8102
|
+
const x = z.query(
|
|
8083
8103
|
S,
|
|
8084
8104
|
y.attrName(t, "form")
|
|
8085
8105
|
);
|
|
8086
|
-
|
|
8087
|
-
N.get(
|
|
8106
|
+
x !== null ? r.formFragment = k.getFormFragment(
|
|
8107
|
+
N.get(x)
|
|
8088
8108
|
) : b.error(
|
|
8089
8109
|
"Haori",
|
|
8090
8110
|
`Form element not found: ${S} (${y.attrName(t, "form")})`
|
|
@@ -8105,16 +8125,16 @@ const y = class y {
|
|
|
8105
8125
|
${S}
|
|
8106
8126
|
`
|
|
8107
8127
|
);
|
|
8108
|
-
} catch (
|
|
8109
|
-
b.error("Haori", `Invalid before script: ${
|
|
8128
|
+
} catch (x) {
|
|
8129
|
+
b.error("Haori", `Invalid before script: ${x}`);
|
|
8110
8130
|
}
|
|
8111
8131
|
}
|
|
8112
8132
|
const E = y.attrName(t, "run");
|
|
8113
8133
|
if (e.hasAttribute(E)) {
|
|
8114
8134
|
const S = String(e.getAttribute(E) ?? "");
|
|
8115
|
-
let
|
|
8135
|
+
let x = null;
|
|
8116
8136
|
try {
|
|
8117
|
-
|
|
8137
|
+
x = new Function(
|
|
8118
8138
|
"event",
|
|
8119
8139
|
`"use strict"; return (
|
|
8120
8140
|
${S}
|
|
@@ -8122,14 +8142,14 @@ ${S}
|
|
|
8122
8142
|
);
|
|
8123
8143
|
} catch {
|
|
8124
8144
|
try {
|
|
8125
|
-
|
|
8145
|
+
x = new Function("event", `"use strict";
|
|
8126
8146
|
${S}
|
|
8127
8147
|
`);
|
|
8128
8148
|
} catch (H) {
|
|
8129
8149
|
b.error("Haori", `Invalid run script: ${H}`);
|
|
8130
8150
|
}
|
|
8131
8151
|
}
|
|
8132
|
-
|
|
8152
|
+
x && (r.runScript = x);
|
|
8133
8153
|
}
|
|
8134
8154
|
}
|
|
8135
8155
|
const n = y.attrName(t, "fetch"), s = e.hasAttribute(n);
|
|
@@ -8161,8 +8181,8 @@ ${S}
|
|
|
8161
8181
|
);
|
|
8162
8182
|
try {
|
|
8163
8183
|
a.headers = B.parseDataBind(S);
|
|
8164
|
-
} catch (
|
|
8165
|
-
b.error("Haori", `Invalid fetch headers: ${
|
|
8184
|
+
} catch (x) {
|
|
8185
|
+
b.error("Haori", `Invalid fetch headers: ${x}`);
|
|
8166
8186
|
}
|
|
8167
8187
|
}
|
|
8168
8188
|
} else {
|
|
@@ -8177,8 +8197,8 @@ ${S}
|
|
|
8177
8197
|
);
|
|
8178
8198
|
try {
|
|
8179
8199
|
a.headers = B.parseDataBind(S);
|
|
8180
|
-
} catch (
|
|
8181
|
-
b.error("Haori", `Invalid fetch headers: ${
|
|
8200
|
+
} catch (x) {
|
|
8201
|
+
b.error("Haori", `Invalid fetch headers: ${x}`);
|
|
8182
8202
|
}
|
|
8183
8203
|
}
|
|
8184
8204
|
}
|
|
@@ -8229,8 +8249,8 @@ ${S}
|
|
|
8229
8249
|
const E = z.read(e, o);
|
|
8230
8250
|
if (E) {
|
|
8231
8251
|
const S = z.queryAll(E, o);
|
|
8232
|
-
S.length > 0 ? (r.bindFragments = [], S.forEach((
|
|
8233
|
-
const H = N.get(
|
|
8252
|
+
S.length > 0 ? (r.bindFragments = [], S.forEach((x) => {
|
|
8253
|
+
const H = N.get(x);
|
|
8234
8254
|
H && r.bindFragments.push(H);
|
|
8235
8255
|
})) : b.error(
|
|
8236
8256
|
"Haori",
|
|
@@ -8263,13 +8283,13 @@ ${S}
|
|
|
8263
8283
|
}
|
|
8264
8284
|
if (t) {
|
|
8265
8285
|
if (e.hasAttribute(y.attrName(t, "adjust"))) {
|
|
8266
|
-
const
|
|
8286
|
+
const C = z.read(
|
|
8267
8287
|
e,
|
|
8268
8288
|
y.attrName(t, "adjust")
|
|
8269
8289
|
);
|
|
8270
|
-
if (
|
|
8290
|
+
if (C) {
|
|
8271
8291
|
const V = z.queryAll(
|
|
8272
|
-
|
|
8292
|
+
C,
|
|
8273
8293
|
y.attrName(t, "adjust")
|
|
8274
8294
|
);
|
|
8275
8295
|
V.length > 0 ? (r.adjustFragments = [], V.forEach((X) => {
|
|
@@ -8277,7 +8297,7 @@ ${S}
|
|
|
8277
8297
|
Y && r.adjustFragments.push(Y);
|
|
8278
8298
|
})) : b.error(
|
|
8279
8299
|
"Haori",
|
|
8280
|
-
`Adjust element not found: ${
|
|
8300
|
+
`Adjust element not found: ${C} (${y.attrName(t, "adjust")})`
|
|
8281
8301
|
);
|
|
8282
8302
|
}
|
|
8283
8303
|
if (e.hasAttribute(y.attrName(t, "adjust-value"))) {
|
|
@@ -8288,7 +8308,7 @@ ${S}
|
|
|
8288
8308
|
}
|
|
8289
8309
|
}
|
|
8290
8310
|
if (e.hasAttribute(y.attrName(t, "row-add")) && (r.rowAdd = !0), e.hasAttribute(y.attrName(t, "row-remove")) && (r.rowRemove = !0), e.hasAttribute(y.attrName(t, "row-prev")) && (r.rowMovePrev = !0), e.hasAttribute(y.attrName(t, "row-next")) && (r.rowMoveNext = !0), e.hasAttribute(`${c.prefix}${t}-after-run`)) {
|
|
8291
|
-
const
|
|
8311
|
+
const C = e.getRawAttribute(
|
|
8292
8312
|
`${c.prefix}${t}-after-run`
|
|
8293
8313
|
);
|
|
8294
8314
|
try {
|
|
@@ -8296,7 +8316,7 @@ ${S}
|
|
|
8296
8316
|
"response",
|
|
8297
8317
|
`
|
|
8298
8318
|
"use strict";
|
|
8299
|
-
${
|
|
8319
|
+
${C}
|
|
8300
8320
|
`
|
|
8301
8321
|
);
|
|
8302
8322
|
} catch (V) {
|
|
@@ -8317,13 +8337,13 @@ ${x}
|
|
|
8317
8337
|
"toast",
|
|
8318
8338
|
y.attrName(t, "toast")
|
|
8319
8339
|
);
|
|
8320
|
-
const
|
|
8340
|
+
const C = e.getRawAttribute(
|
|
8321
8341
|
y.attrName(t, "toast-level")
|
|
8322
|
-
), X = ["info", "warning", "error", "success"].includes(
|
|
8323
|
-
r.toastLevel = X ?
|
|
8342
|
+
), X = ["info", "warning", "error", "success"].includes(C);
|
|
8343
|
+
r.toastLevel = X ? C : null;
|
|
8324
8344
|
}
|
|
8325
|
-
const E = y.attrName(t, "redirect"), S = y.attrName(t, "redirect-replace"),
|
|
8326
|
-
if (
|
|
8345
|
+
const E = y.attrName(t, "redirect"), S = y.attrName(t, "redirect-replace"), x = e.hasAttribute(E), H = e.hasAttribute(S);
|
|
8346
|
+
if (x && (r.redirectUrl = y.readLateAttribute(
|
|
8327
8347
|
e,
|
|
8328
8348
|
r,
|
|
8329
8349
|
"redirect",
|
|
@@ -8333,16 +8353,16 @@ ${x}
|
|
|
8333
8353
|
r,
|
|
8334
8354
|
"redirect-replace",
|
|
8335
8355
|
S
|
|
8336
|
-
)),
|
|
8337
|
-
const
|
|
8356
|
+
)), x || H) {
|
|
8357
|
+
const C = y.attrName(
|
|
8338
8358
|
t,
|
|
8339
8359
|
"redirect-return-param"
|
|
8340
8360
|
);
|
|
8341
|
-
e.hasAttribute(
|
|
8361
|
+
e.hasAttribute(C) && (r.redirectReturnParam = y.readLateAttribute(
|
|
8342
8362
|
e,
|
|
8343
8363
|
r,
|
|
8344
8364
|
"redirect-return-param",
|
|
8345
|
-
|
|
8365
|
+
C
|
|
8346
8366
|
));
|
|
8347
8367
|
}
|
|
8348
8368
|
if (e.hasAttribute(y.attrName(t, "scroll-error")) && (r.scrollOnError = !0), e.hasAttribute(y.attrName(t, "scroll")) && (r.scrollTarget = y.readLateAttribute(
|
|
@@ -8356,20 +8376,20 @@ ${x}
|
|
|
8356
8376
|
"history",
|
|
8357
8377
|
y.attrName(t, "history")
|
|
8358
8378
|
)), e.hasAttribute(y.attrName(t, "history-data")) && (r.historyDataAttrName = y.attrName(t, "history-data")), e.hasAttribute(y.attrName(t, "history-form"))) {
|
|
8359
|
-
const
|
|
8379
|
+
const C = z.read(
|
|
8360
8380
|
e,
|
|
8361
8381
|
y.attrName(t, "history-form")
|
|
8362
8382
|
);
|
|
8363
|
-
if (
|
|
8383
|
+
if (C) {
|
|
8364
8384
|
const V = z.query(
|
|
8365
|
-
|
|
8385
|
+
C,
|
|
8366
8386
|
y.attrName(t, "history-form")
|
|
8367
8387
|
);
|
|
8368
8388
|
V !== null ? r.historyFormFragment = k.getFormFragment(
|
|
8369
8389
|
N.get(V)
|
|
8370
8390
|
) : b.error(
|
|
8371
8391
|
"Haori",
|
|
8372
|
-
`Form element not found: ${
|
|
8392
|
+
`Form element not found: ${C} (${y.attrName(t, "history-form")})`
|
|
8373
8393
|
);
|
|
8374
8394
|
} else
|
|
8375
8395
|
r.historyFormFragment = k.getFormFragment(e);
|
|
@@ -8382,8 +8402,8 @@ ${x}
|
|
|
8382
8402
|
"copy",
|
|
8383
8403
|
"open",
|
|
8384
8404
|
"close"
|
|
8385
|
-
].forEach((
|
|
8386
|
-
const V = y.attrName(t,
|
|
8405
|
+
].forEach((C) => {
|
|
8406
|
+
const V = y.attrName(t, C);
|
|
8387
8407
|
if (!e.hasAttribute(V))
|
|
8388
8408
|
return;
|
|
8389
8409
|
const X = z.read(e, V), Y = [];
|
|
@@ -8392,13 +8412,13 @@ ${x}
|
|
|
8392
8412
|
const ue = N.get(be);
|
|
8393
8413
|
ue && Y.push(ue);
|
|
8394
8414
|
}), Y.length === 0 && b.error("Haori", `Element not found: ${X} (${V})`);
|
|
8395
|
-
else if (
|
|
8415
|
+
else if (C === "open" || C === "close") {
|
|
8396
8416
|
const te = e.getTarget().closest("dialog");
|
|
8397
8417
|
te ? Y.push(N.get(te)) : b.error("Haori", `Ancestor <dialog> not found (${V})`);
|
|
8398
8418
|
} else
|
|
8399
8419
|
Y.push(e);
|
|
8400
8420
|
if (Y.length > 0)
|
|
8401
|
-
switch (
|
|
8421
|
+
switch (C) {
|
|
8402
8422
|
case "reset-before":
|
|
8403
8423
|
r.resetBeforeFragments = Y;
|
|
8404
8424
|
break;
|
|
@@ -8424,19 +8444,19 @@ ${x}
|
|
|
8424
8444
|
});
|
|
8425
8445
|
const Q = y.attrName(t, "copy-source");
|
|
8426
8446
|
if (e.hasAttribute(Q)) {
|
|
8427
|
-
const
|
|
8428
|
-
if (
|
|
8429
|
-
const V = z.query(
|
|
8447
|
+
const C = z.read(e, Q);
|
|
8448
|
+
if (C) {
|
|
8449
|
+
const V = z.query(C, Q);
|
|
8430
8450
|
if (V !== null) {
|
|
8431
8451
|
const X = N.get(V);
|
|
8432
8452
|
X ? r.copySourceFragment = X : b.error(
|
|
8433
8453
|
"Haori",
|
|
8434
|
-
`Element is not managed by Haori: ${
|
|
8454
|
+
`Element is not managed by Haori: ${C} (${Q})`
|
|
8435
8455
|
);
|
|
8436
8456
|
} else
|
|
8437
8457
|
b.error(
|
|
8438
8458
|
"Haori",
|
|
8439
|
-
`Element not found: ${
|
|
8459
|
+
`Element not found: ${C} (${Q})`
|
|
8440
8460
|
);
|
|
8441
8461
|
} else
|
|
8442
8462
|
r.copySourceFragment = e;
|
|
@@ -8482,9 +8502,9 @@ ${x}
|
|
|
8482
8502
|
);
|
|
8483
8503
|
else {
|
|
8484
8504
|
r.storeClearKey = S;
|
|
8485
|
-
const
|
|
8505
|
+
const x = e.getRawAttribute(
|
|
8486
8506
|
`${U}-type`
|
|
8487
|
-
), H =
|
|
8507
|
+
), H = x === null ? "session" : x.trim();
|
|
8488
8508
|
H === "local" || H === "session" ? r.storeClearKind = H : (b.warn(
|
|
8489
8509
|
"Haori",
|
|
8490
8510
|
`${U}-type は session または local を指定してください(session として扱います): ${H}`
|
|
@@ -8643,7 +8663,7 @@ ${x}
|
|
|
8643
8663
|
payload: l ? i : void 0,
|
|
8644
8664
|
queryString: S
|
|
8645
8665
|
}), this.options.targetFragment && n) {
|
|
8646
|
-
const
|
|
8666
|
+
const x = performance.now(), H = {
|
|
8647
8667
|
runtime: c.runtime,
|
|
8648
8668
|
requestedMethod: F,
|
|
8649
8669
|
effectiveMethod: U,
|
|
@@ -8659,7 +8679,7 @@ ${x}
|
|
|
8659
8679
|
), await this.injectFetchState("loading"), await fetch(n, T).then((P) => this.handleFetchResult(
|
|
8660
8680
|
P,
|
|
8661
8681
|
n || void 0,
|
|
8662
|
-
|
|
8682
|
+
x
|
|
8663
8683
|
)).catch(async (P) => {
|
|
8664
8684
|
throw n && O.fetchError(
|
|
8665
8685
|
this.options.targetFragment.getTarget(),
|
|
@@ -8672,7 +8692,7 @@ ${x}
|
|
|
8672
8692
|
), P;
|
|
8673
8693
|
});
|
|
8674
8694
|
}
|
|
8675
|
-
return await fetch(n, T).then((
|
|
8695
|
+
return await fetch(n, T).then((x) => this.handleFetchResult(x, n || void 0));
|
|
8676
8696
|
}
|
|
8677
8697
|
if ((!this.options.bindFragments || this.options.bindFragments.length === 0) && this.options.formFragment && l) {
|
|
8678
8698
|
const p = this.options.formFragment, g = p.getTarget(), A = /* @__PURE__ */ new Set();
|
|
@@ -11880,37 +11900,37 @@ ${r}
|
|
|
11880
11900
|
);
|
|
11881
11901
|
const p = d.map((E) => E.getListKey()), g = /* @__PURE__ */ new Set();
|
|
11882
11902
|
d = d.filter((E, S) => {
|
|
11883
|
-
const
|
|
11903
|
+
const x = String(E.getListKey()), H = l.get(x) ?? 0;
|
|
11884
11904
|
if (H === 0) {
|
|
11885
11905
|
g.add(E);
|
|
11886
11906
|
const P = E.getListKey();
|
|
11887
11907
|
return P !== null && O.rowRemove(E.getTarget(), P, S), u.push(E.remove()), !1;
|
|
11888
11908
|
}
|
|
11889
|
-
return l.set(
|
|
11909
|
+
return l.set(x, H - 1), !0;
|
|
11890
11910
|
});
|
|
11891
11911
|
const A = d.map((E) => E.getListKey()), v = /* @__PURE__ */ new Map();
|
|
11892
11912
|
d.forEach((E) => {
|
|
11893
11913
|
const S = E.getListKey();
|
|
11894
11914
|
if (S === null)
|
|
11895
11915
|
return;
|
|
11896
|
-
const
|
|
11897
|
-
|
|
11916
|
+
const x = v.get(S);
|
|
11917
|
+
x ? x.push(E) : v.set(S, [E]);
|
|
11898
11918
|
});
|
|
11899
11919
|
const T = e.getChildElementFragments().filter((E) => !g.has(E)), F = T.filter(
|
|
11900
11920
|
(E) => E.hasAttribute(`${c.prefix}each-before`)
|
|
11901
11921
|
).length;
|
|
11902
11922
|
let U = Promise.resolve();
|
|
11903
11923
|
return a.forEach((E, S) => {
|
|
11904
|
-
const
|
|
11924
|
+
const x = t[S], H = S;
|
|
11905
11925
|
let P;
|
|
11906
11926
|
const Q = v.get(E)?.shift();
|
|
11907
11927
|
if (Q) {
|
|
11908
11928
|
P = Q;
|
|
11909
|
-
const
|
|
11929
|
+
const C = F + S;
|
|
11910
11930
|
U = U.then(
|
|
11911
11931
|
() => f.updateRowFragment(
|
|
11912
11932
|
P,
|
|
11913
|
-
|
|
11933
|
+
x,
|
|
11914
11934
|
i,
|
|
11915
11935
|
H,
|
|
11916
11936
|
s ? String(s) : null,
|
|
@@ -11924,7 +11944,7 @@ ${r}
|
|
|
11924
11944
|
e,
|
|
11925
11945
|
P,
|
|
11926
11946
|
T,
|
|
11927
|
-
|
|
11947
|
+
C
|
|
11928
11948
|
).then((X) => {
|
|
11929
11949
|
if (X !== null && O.rowMove(
|
|
11930
11950
|
P.getTarget(),
|
|
@@ -11933,7 +11953,7 @@ ${r}
|
|
|
11933
11953
|
S
|
|
11934
11954
|
), !!V)
|
|
11935
11955
|
return f.clearUserEditMarks(P), f.evaluateAll(P).then(
|
|
11936
|
-
() => f.applyRowFormValues(e, P,
|
|
11956
|
+
() => f.applyRowFormValues(e, P, x)
|
|
11937
11957
|
);
|
|
11938
11958
|
})
|
|
11939
11959
|
)
|
|
@@ -11941,34 +11961,34 @@ ${r}
|
|
|
11941
11961
|
);
|
|
11942
11962
|
} else {
|
|
11943
11963
|
P = r.clone();
|
|
11944
|
-
const
|
|
11964
|
+
const C = F + S;
|
|
11945
11965
|
U = U.then(
|
|
11946
11966
|
() => f.updateRowFragment(
|
|
11947
11967
|
P,
|
|
11948
|
-
|
|
11968
|
+
x,
|
|
11949
11969
|
i,
|
|
11950
11970
|
H,
|
|
11951
11971
|
s ? String(s) : null,
|
|
11952
11972
|
E
|
|
11953
11973
|
).then(() => {
|
|
11954
|
-
const V = T[
|
|
11974
|
+
const V = T[C] ?? null;
|
|
11955
11975
|
return e.insertBefore(P, V).then(() => {
|
|
11956
|
-
T.splice(
|
|
11957
|
-
}).then(() => f.initializeFreshEachRow(P)).then(() => f.applyRowFormValues(e, P,
|
|
11958
|
-
O.rowAdd(P.getTarget(), E, H,
|
|
11976
|
+
T.splice(C, 0, P);
|
|
11977
|
+
}).then(() => f.initializeFreshEachRow(P)).then(() => f.applyRowFormValues(e, P, x)).then(() => {
|
|
11978
|
+
O.rowAdd(P.getTarget(), E, H, x);
|
|
11959
11979
|
});
|
|
11960
11980
|
})
|
|
11961
11981
|
);
|
|
11962
11982
|
}
|
|
11963
11983
|
}), Promise.all(u).then(() => U).then(() => {
|
|
11964
11984
|
const E = a.filter(
|
|
11965
|
-
(
|
|
11985
|
+
(C) => C !== null
|
|
11966
11986
|
), S = A.filter(
|
|
11967
|
-
(
|
|
11968
|
-
),
|
|
11969
|
-
(
|
|
11987
|
+
(C) => C !== null
|
|
11988
|
+
), x = new Set(S), H = E.filter((C) => !x.has(C)), Q = p.filter(
|
|
11989
|
+
(C) => C !== null
|
|
11970
11990
|
).filter(
|
|
11971
|
-
(
|
|
11991
|
+
(C) => !o.has(C)
|
|
11972
11992
|
);
|
|
11973
11993
|
O.eachUpdate(
|
|
11974
11994
|
e.getTarget(),
|
|
@@ -13249,7 +13269,7 @@ w.CONFIG_KEYS = /* @__PURE__ */ new Set([
|
|
|
13249
13269
|
"state"
|
|
13250
13270
|
]), w.DEFAULT_INTERVAL_MS = 5e3, w.MIN_INTERVAL_MS = 100, w.registrations = /* @__PURE__ */ new Map(), w.visibilityListener = null;
|
|
13251
13271
|
let he = w;
|
|
13252
|
-
const Vt = "0.44.
|
|
13272
|
+
const Vt = "0.44.1";
|
|
13253
13273
|
function qt(m) {
|
|
13254
13274
|
typeof requestAnimationFrame == "function" ? requestAnimationFrame(() => m()) : Promise.resolve().then(m);
|
|
13255
13275
|
}
|