regor 1.6.9 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/regor.d.ts +1 -0
- package/dist/regor.es2015.cjs.js +164 -121
- package/dist/regor.es2015.cjs.prod.js +3 -3
- package/dist/regor.es2015.esm.js +164 -121
- package/dist/regor.es2015.esm.prod.js +3 -3
- package/dist/regor.es2015.iife.js +164 -121
- package/dist/regor.es2015.iife.prod.js +3 -3
- package/dist/regor.es2019.cjs.js +164 -121
- package/dist/regor.es2019.cjs.prod.js +3 -3
- package/dist/regor.es2019.esm.js +164 -121
- package/dist/regor.es2019.esm.prod.js +3 -3
- package/dist/regor.es2019.iife.js +164 -121
- package/dist/regor.es2019.iife.prod.js +3 -3
- package/dist/regor.es2022.cjs.js +162 -120
- package/dist/regor.es2022.cjs.prod.js +3 -3
- package/dist/regor.es2022.esm.js +162 -120
- package/dist/regor.es2022.esm.prod.js +3 -3
- package/dist/regor.es2022.iife.js +162 -120
- package/dist/regor.es2022.iife.prod.js +3 -3
- package/package.json +1 -1
package/dist/regor.es2019.cjs.js
CHANGED
|
@@ -1193,6 +1193,132 @@ var isScope = (value) => {
|
|
|
1193
1193
|
return scopeSymbol2 in value;
|
|
1194
1194
|
};
|
|
1195
1195
|
|
|
1196
|
+
// src/reactivity/unref.ts
|
|
1197
|
+
var unref = (value) => {
|
|
1198
|
+
const anyValue = value;
|
|
1199
|
+
return anyValue != null && anyValue[srefSymbol] > 0 ? anyValue() : anyValue;
|
|
1200
|
+
};
|
|
1201
|
+
|
|
1202
|
+
// src/directives/attr.ts
|
|
1203
|
+
var xlinkNS = "http://www.w3.org/1999/xlink";
|
|
1204
|
+
var booleanAttributes = {
|
|
1205
|
+
itemscope: 2,
|
|
1206
|
+
allowfullscreen: 2,
|
|
1207
|
+
formnovalidate: 2,
|
|
1208
|
+
ismap: 2,
|
|
1209
|
+
nomodule: 2,
|
|
1210
|
+
novalidate: 2,
|
|
1211
|
+
readonly: 2,
|
|
1212
|
+
async: 1,
|
|
1213
|
+
autofocus: 1,
|
|
1214
|
+
autoplay: 1,
|
|
1215
|
+
controls: 1,
|
|
1216
|
+
default: 1,
|
|
1217
|
+
defer: 1,
|
|
1218
|
+
disabled: 1,
|
|
1219
|
+
hidden: 1,
|
|
1220
|
+
inert: 1,
|
|
1221
|
+
loop: 1,
|
|
1222
|
+
open: 1,
|
|
1223
|
+
required: 1,
|
|
1224
|
+
reversed: 1,
|
|
1225
|
+
scoped: 1,
|
|
1226
|
+
seamless: 1,
|
|
1227
|
+
checked: 1,
|
|
1228
|
+
muted: 1,
|
|
1229
|
+
multiple: 1,
|
|
1230
|
+
selected: 1
|
|
1231
|
+
};
|
|
1232
|
+
var updateAttr = (el, values, previousValues, option, previousOption, flags) => {
|
|
1233
|
+
var _a;
|
|
1234
|
+
if (option) {
|
|
1235
|
+
option = unref(option);
|
|
1236
|
+
if (flags && flags.includes("camel")) option = camelize(option);
|
|
1237
|
+
patchAttr(
|
|
1238
|
+
el,
|
|
1239
|
+
option,
|
|
1240
|
+
unref(values[0]),
|
|
1241
|
+
unref(previousOption)
|
|
1242
|
+
);
|
|
1243
|
+
return;
|
|
1244
|
+
}
|
|
1245
|
+
const len = values.length;
|
|
1246
|
+
for (let i = 0; i < len; ++i) {
|
|
1247
|
+
const next = values[i];
|
|
1248
|
+
if (isArray(next)) {
|
|
1249
|
+
const previousKey = unref((_a = previousValues == null ? void 0 : previousValues[i]) == null ? void 0 : _a[0]);
|
|
1250
|
+
const key = unref(next[0]);
|
|
1251
|
+
const value = unref(next[1]);
|
|
1252
|
+
patchAttr(el, key, value, previousKey);
|
|
1253
|
+
} else if (isObject(next)) {
|
|
1254
|
+
for (const item of Object.entries(next)) {
|
|
1255
|
+
const key = item[0];
|
|
1256
|
+
const value = unref(item[1]);
|
|
1257
|
+
const p = unref(previousValues == null ? void 0 : previousValues[i]);
|
|
1258
|
+
const previousKey = p && key in p ? key : void 0;
|
|
1259
|
+
patchAttr(el, key, value, previousKey);
|
|
1260
|
+
}
|
|
1261
|
+
} else {
|
|
1262
|
+
const previousKey = unref(previousValues == null ? void 0 : previousValues[i]);
|
|
1263
|
+
const key = unref(values[i++]);
|
|
1264
|
+
const value = unref(values[i]);
|
|
1265
|
+
patchAttr(el, key, value, previousKey);
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
};
|
|
1269
|
+
var attrDirective = {
|
|
1270
|
+
mount: () => ({
|
|
1271
|
+
update: ({ el, values, previousValues, option, previousOption, flags }) => {
|
|
1272
|
+
updateAttr(
|
|
1273
|
+
el,
|
|
1274
|
+
values,
|
|
1275
|
+
previousValues,
|
|
1276
|
+
option,
|
|
1277
|
+
previousOption,
|
|
1278
|
+
flags
|
|
1279
|
+
);
|
|
1280
|
+
}
|
|
1281
|
+
})
|
|
1282
|
+
};
|
|
1283
|
+
var patchAttr = (el, key, value, previousKey) => {
|
|
1284
|
+
if (previousKey && previousKey !== key) {
|
|
1285
|
+
el.removeAttribute(previousKey);
|
|
1286
|
+
}
|
|
1287
|
+
if (isNullOrUndefined(key)) {
|
|
1288
|
+
warning(3 /* KeyIsEmpty */, "r-bind", el);
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
if (!isString(key)) {
|
|
1292
|
+
warning(
|
|
1293
|
+
6 /* ErrorLog */,
|
|
1294
|
+
`Attribute key is not string at ${el.outerHTML}`,
|
|
1295
|
+
key
|
|
1296
|
+
);
|
|
1297
|
+
return;
|
|
1298
|
+
}
|
|
1299
|
+
if (key.startsWith("xlink:")) {
|
|
1300
|
+
if (isNullOrUndefined(value)) {
|
|
1301
|
+
el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
1302
|
+
} else {
|
|
1303
|
+
el.setAttributeNS(xlinkNS, key, value);
|
|
1304
|
+
}
|
|
1305
|
+
return;
|
|
1306
|
+
}
|
|
1307
|
+
if (isNullOrUndefined(value)) {
|
|
1308
|
+
el.removeAttribute(key);
|
|
1309
|
+
return;
|
|
1310
|
+
}
|
|
1311
|
+
if (key in booleanAttributes) {
|
|
1312
|
+
if (toBoolean(value)) {
|
|
1313
|
+
el.setAttribute(key, "");
|
|
1314
|
+
} else {
|
|
1315
|
+
el.removeAttribute(key);
|
|
1316
|
+
}
|
|
1317
|
+
return;
|
|
1318
|
+
}
|
|
1319
|
+
el.setAttribute(key, value);
|
|
1320
|
+
};
|
|
1321
|
+
|
|
1196
1322
|
// src/directives/context.ts
|
|
1197
1323
|
var contextDirective = {
|
|
1198
1324
|
collectRefObj: true,
|
|
@@ -1931,10 +2057,11 @@ var ComponentBinder = class {
|
|
|
1931
2057
|
} else if (attrName === ":style" || attrName === bindStyleName) {
|
|
1932
2058
|
mergeBinding(":style", bindStyleName, value);
|
|
1933
2059
|
} else {
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
2060
|
+
const normalizedName = normalizeAttributeName(
|
|
2061
|
+
attrName,
|
|
2062
|
+
binder.__config
|
|
1937
2063
|
);
|
|
2064
|
+
patchAttr(inheritor, normalizedName, value);
|
|
1938
2065
|
}
|
|
1939
2066
|
};
|
|
1940
2067
|
for (const { name, value } of inheritedPropAttrs) {
|
|
@@ -2276,12 +2403,6 @@ var DynamicBinder = class {
|
|
|
2276
2403
|
}
|
|
2277
2404
|
};
|
|
2278
2405
|
|
|
2279
|
-
// src/reactivity/unref.ts
|
|
2280
|
-
var unref = (value) => {
|
|
2281
|
-
const anyValue = value;
|
|
2282
|
-
return anyValue != null && anyValue[srefSymbol] > 0 ? anyValue() : anyValue;
|
|
2283
|
-
};
|
|
2284
|
-
|
|
2285
2406
|
// src/directives/html.ts
|
|
2286
2407
|
var updateHtml = (el, values) => {
|
|
2287
2408
|
const [value, replacer] = values;
|
|
@@ -3231,116 +3352,6 @@ var Binder = class {
|
|
|
3231
3352
|
}
|
|
3232
3353
|
};
|
|
3233
3354
|
|
|
3234
|
-
// src/directives/attr.ts
|
|
3235
|
-
var xlinkNS = "http://www.w3.org/1999/xlink";
|
|
3236
|
-
var booleanAttributes = {
|
|
3237
|
-
itemscope: 2,
|
|
3238
|
-
allowfullscreen: 2,
|
|
3239
|
-
formnovalidate: 2,
|
|
3240
|
-
ismap: 2,
|
|
3241
|
-
nomodule: 2,
|
|
3242
|
-
novalidate: 2,
|
|
3243
|
-
readonly: 2,
|
|
3244
|
-
async: 1,
|
|
3245
|
-
autofocus: 1,
|
|
3246
|
-
autoplay: 1,
|
|
3247
|
-
controls: 1,
|
|
3248
|
-
default: 1,
|
|
3249
|
-
defer: 1,
|
|
3250
|
-
disabled: 1,
|
|
3251
|
-
hidden: 1,
|
|
3252
|
-
inert: 1,
|
|
3253
|
-
loop: 1,
|
|
3254
|
-
open: 1,
|
|
3255
|
-
required: 1,
|
|
3256
|
-
reversed: 1,
|
|
3257
|
-
scoped: 1,
|
|
3258
|
-
seamless: 1,
|
|
3259
|
-
checked: 1,
|
|
3260
|
-
muted: 1,
|
|
3261
|
-
multiple: 1,
|
|
3262
|
-
selected: 1
|
|
3263
|
-
};
|
|
3264
|
-
function includeBooleanAttr(value) {
|
|
3265
|
-
return !!value || value === "";
|
|
3266
|
-
}
|
|
3267
|
-
var updateAttr = (el, values, previousValues, option, previousOption, flags) => {
|
|
3268
|
-
var _a;
|
|
3269
|
-
if (option) {
|
|
3270
|
-
if (flags && flags.includes("camel")) option = camelize(option);
|
|
3271
|
-
patchAttribute(el, option, values[0], previousOption);
|
|
3272
|
-
return;
|
|
3273
|
-
}
|
|
3274
|
-
const len = values.length;
|
|
3275
|
-
for (let i = 0; i < len; ++i) {
|
|
3276
|
-
const next = values[i];
|
|
3277
|
-
if (isArray(next)) {
|
|
3278
|
-
const previousKey = (_a = previousValues == null ? void 0 : previousValues[i]) == null ? void 0 : _a[0];
|
|
3279
|
-
const key = next[0];
|
|
3280
|
-
const value = next[1];
|
|
3281
|
-
patchAttribute(el, key, value, previousKey);
|
|
3282
|
-
} else if (isObject(next)) {
|
|
3283
|
-
for (const item of Object.entries(next)) {
|
|
3284
|
-
const key = item[0];
|
|
3285
|
-
const value = item[1];
|
|
3286
|
-
const p = previousValues == null ? void 0 : previousValues[i];
|
|
3287
|
-
const previousKey = p && key in p ? key : void 0;
|
|
3288
|
-
patchAttribute(el, key, value, previousKey);
|
|
3289
|
-
}
|
|
3290
|
-
} else {
|
|
3291
|
-
const previousKey = previousValues == null ? void 0 : previousValues[i];
|
|
3292
|
-
const key = values[i++];
|
|
3293
|
-
const value = values[i];
|
|
3294
|
-
patchAttribute(el, key, value, previousKey);
|
|
3295
|
-
}
|
|
3296
|
-
}
|
|
3297
|
-
};
|
|
3298
|
-
var attrDirective = {
|
|
3299
|
-
mount: () => ({
|
|
3300
|
-
update: ({ el, values, previousValues, option, previousOption, flags }) => {
|
|
3301
|
-
updateAttr(
|
|
3302
|
-
el,
|
|
3303
|
-
values,
|
|
3304
|
-
previousValues,
|
|
3305
|
-
option,
|
|
3306
|
-
previousOption,
|
|
3307
|
-
flags
|
|
3308
|
-
);
|
|
3309
|
-
}
|
|
3310
|
-
})
|
|
3311
|
-
};
|
|
3312
|
-
var patchAttribute = (el, key, value, previousKey) => {
|
|
3313
|
-
if (previousKey && previousKey !== key) {
|
|
3314
|
-
el.removeAttribute(previousKey);
|
|
3315
|
-
}
|
|
3316
|
-
if (isNullOrUndefined(key)) {
|
|
3317
|
-
warning(3 /* KeyIsEmpty */, "r-bind", el);
|
|
3318
|
-
return;
|
|
3319
|
-
}
|
|
3320
|
-
if (!isString(key)) {
|
|
3321
|
-
warning(
|
|
3322
|
-
6 /* ErrorLog */,
|
|
3323
|
-
`Attribute key is not string at ${el.outerHTML}`,
|
|
3324
|
-
key
|
|
3325
|
-
);
|
|
3326
|
-
return;
|
|
3327
|
-
}
|
|
3328
|
-
if (key.startsWith("xlink:")) {
|
|
3329
|
-
if (isNullOrUndefined(value)) {
|
|
3330
|
-
el.removeAttributeNS(xlinkNS, key.slice(6, key.length));
|
|
3331
|
-
} else {
|
|
3332
|
-
el.setAttributeNS(xlinkNS, key, value);
|
|
3333
|
-
}
|
|
3334
|
-
return;
|
|
3335
|
-
}
|
|
3336
|
-
const isBoolean2 = key in booleanAttributes;
|
|
3337
|
-
if (isNullOrUndefined(value) || isBoolean2 && !includeBooleanAttr(value)) {
|
|
3338
|
-
el.removeAttribute(key);
|
|
3339
|
-
} else {
|
|
3340
|
-
el.setAttribute(key, isBoolean2 ? "" : value);
|
|
3341
|
-
}
|
|
3342
|
-
};
|
|
3343
|
-
|
|
3344
3355
|
// src/directives/class.ts
|
|
3345
3356
|
var updateClass = (el, values, previousValues) => {
|
|
3346
3357
|
const len = values.length;
|
|
@@ -3722,8 +3733,10 @@ var handleRadio = (el, getModelRef) => {
|
|
|
3722
3733
|
};
|
|
3723
3734
|
var handleSelect = (el, getModelRef, parsedValue) => {
|
|
3724
3735
|
const eventType = "change";
|
|
3736
|
+
const stopObservingOptions = observeSelectOptions(el, parsedValue);
|
|
3725
3737
|
const unbinder = () => {
|
|
3726
3738
|
el.removeEventListener(eventType, listener);
|
|
3739
|
+
stopObservingOptions();
|
|
3727
3740
|
};
|
|
3728
3741
|
const listener = () => {
|
|
3729
3742
|
const modelRef = getModelRef();
|
|
@@ -3757,6 +3770,36 @@ var handleSelect = (el, getModelRef, parsedValue) => {
|
|
|
3757
3770
|
el.addEventListener(eventType, listener);
|
|
3758
3771
|
return unbinder;
|
|
3759
3772
|
};
|
|
3773
|
+
var observeSelectOptions = (el, parsedValue) => {
|
|
3774
|
+
var _a, _b;
|
|
3775
|
+
const MutationObserverCtor = (_b = globalThis.MutationObserver) != null ? _b : (_a = globalThis.window) == null ? void 0 : _a.MutationObserver;
|
|
3776
|
+
if (!MutationObserverCtor) return () => {
|
|
3777
|
+
};
|
|
3778
|
+
let pending = false;
|
|
3779
|
+
let stopped = false;
|
|
3780
|
+
const flush = () => {
|
|
3781
|
+
pending = false;
|
|
3782
|
+
if (stopped) return;
|
|
3783
|
+
updateDomElementValue(el, parsedValue()[0]);
|
|
3784
|
+
};
|
|
3785
|
+
const scheduleFlush = () => {
|
|
3786
|
+
if (pending) return;
|
|
3787
|
+
pending = true;
|
|
3788
|
+
if (typeof queueMicrotask === "function") queueMicrotask(flush);
|
|
3789
|
+
else Promise.resolve().then(flush);
|
|
3790
|
+
};
|
|
3791
|
+
const observer = new MutationObserverCtor(scheduleFlush);
|
|
3792
|
+
observer.observe(el, {
|
|
3793
|
+
attributes: true,
|
|
3794
|
+
attributeFilter: ["value"],
|
|
3795
|
+
childList: true,
|
|
3796
|
+
subtree: true
|
|
3797
|
+
});
|
|
3798
|
+
return () => {
|
|
3799
|
+
stopped = true;
|
|
3800
|
+
observer.disconnect();
|
|
3801
|
+
};
|
|
3802
|
+
};
|
|
3760
3803
|
|
|
3761
3804
|
// src/directives/on.ts
|
|
3762
3805
|
var availableFlags = [
|
|
@@ -3955,7 +3998,7 @@ var propDirective = {
|
|
|
3955
3998
|
}
|
|
3956
3999
|
})
|
|
3957
4000
|
};
|
|
3958
|
-
function
|
|
4001
|
+
function includeBooleanAttr(value) {
|
|
3959
4002
|
return !!value || value === "";
|
|
3960
4003
|
}
|
|
3961
4004
|
var patchProp = (el, key, value) => {
|
|
@@ -3987,7 +4030,7 @@ var patchProp = (el, key, value) => {
|
|
|
3987
4030
|
if (value === "" || value == null) {
|
|
3988
4031
|
const type = typeof el[key];
|
|
3989
4032
|
if (type === "boolean") {
|
|
3990
|
-
value =
|
|
4033
|
+
value = includeBooleanAttr(value);
|
|
3991
4034
|
} else if (value == null && type === "string") {
|
|
3992
4035
|
value = "";
|
|
3993
4036
|
needRemove = true;
|