@pageboard/html 0.10.14 → 0.10.15
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/lib/nouislider.js +31 -31
- package/package.json +2 -2
- package/ui/form.js +53 -40
- package/ui/input-file.js +1 -2
- package/ui/input-range.js +8 -6
- package/ui/menu.js +9 -7
- package/ui/query-tags.js +4 -3
package/lib/nouislider.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.noUiSlider = {}));
|
|
5
|
-
}(this, (function (exports) { 'use strict';
|
|
5
|
+
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
7
|
exports.PipsMode = void 0;
|
|
8
8
|
(function (PipsMode) {
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
: doc.body.scrollTop;
|
|
128
128
|
return {
|
|
129
129
|
x: x,
|
|
130
|
-
y: y
|
|
130
|
+
y: y,
|
|
131
131
|
};
|
|
132
132
|
}
|
|
133
133
|
// we provide a function to compute constants instead
|
|
@@ -140,18 +140,18 @@
|
|
|
140
140
|
? {
|
|
141
141
|
start: "pointerdown",
|
|
142
142
|
move: "pointermove",
|
|
143
|
-
end: "pointerup"
|
|
143
|
+
end: "pointerup",
|
|
144
144
|
}
|
|
145
145
|
: window.navigator.msPointerEnabled
|
|
146
146
|
? {
|
|
147
147
|
start: "MSPointerDown",
|
|
148
148
|
move: "MSPointerMove",
|
|
149
|
-
end: "MSPointerUp"
|
|
149
|
+
end: "MSPointerUp",
|
|
150
150
|
}
|
|
151
151
|
: {
|
|
152
152
|
start: "mousedown touchstart",
|
|
153
153
|
move: "mousemove touchmove",
|
|
154
|
-
end: "mouseup touchend"
|
|
154
|
+
end: "mouseup touchend",
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
157
|
// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
var opts = Object.defineProperty({}, "passive", {
|
|
164
164
|
get: function () {
|
|
165
165
|
supportsPassive = true;
|
|
166
|
-
}
|
|
166
|
+
},
|
|
167
167
|
});
|
|
168
168
|
// @ts-ignore
|
|
169
169
|
window.addEventListener("test", null, opts);
|
|
@@ -384,18 +384,18 @@
|
|
|
384
384
|
stepBefore: {
|
|
385
385
|
startValue: this.xVal[j - 2],
|
|
386
386
|
step: this.xNumSteps[j - 2],
|
|
387
|
-
highestStep: this.xHighestCompleteStep[j - 2]
|
|
387
|
+
highestStep: this.xHighestCompleteStep[j - 2],
|
|
388
388
|
},
|
|
389
389
|
thisStep: {
|
|
390
390
|
startValue: this.xVal[j - 1],
|
|
391
391
|
step: this.xNumSteps[j - 1],
|
|
392
|
-
highestStep: this.xHighestCompleteStep[j - 1]
|
|
392
|
+
highestStep: this.xHighestCompleteStep[j - 1],
|
|
393
393
|
},
|
|
394
394
|
stepAfter: {
|
|
395
395
|
startValue: this.xVal[j],
|
|
396
396
|
step: this.xNumSteps[j],
|
|
397
|
-
highestStep: this.xHighestCompleteStep[j]
|
|
398
|
-
}
|
|
397
|
+
highestStep: this.xHighestCompleteStep[j],
|
|
398
|
+
},
|
|
399
399
|
};
|
|
400
400
|
};
|
|
401
401
|
Spectrum.prototype.countStepDecimals = function () {
|
|
@@ -481,7 +481,7 @@
|
|
|
481
481
|
to: function (value) {
|
|
482
482
|
return value === undefined ? "" : value.toFixed(2);
|
|
483
483
|
},
|
|
484
|
-
from: Number
|
|
484
|
+
from: Number,
|
|
485
485
|
};
|
|
486
486
|
var cssClasses = {
|
|
487
487
|
target: "target",
|
|
@@ -519,12 +519,12 @@
|
|
|
519
519
|
valueVertical: "value-vertical",
|
|
520
520
|
valueNormal: "value-normal",
|
|
521
521
|
valueLarge: "value-large",
|
|
522
|
-
valueSub: "value-sub"
|
|
522
|
+
valueSub: "value-sub",
|
|
523
523
|
};
|
|
524
524
|
// Namespaces of internal event listeners
|
|
525
525
|
var INTERNAL_EVENT_NS = {
|
|
526
526
|
tooltips: ".__tooltips",
|
|
527
|
-
aria: ".__aria"
|
|
527
|
+
aria: ".__aria",
|
|
528
528
|
};
|
|
529
529
|
//endregion
|
|
530
530
|
function testStep(parsed, entry) {
|
|
@@ -731,7 +731,7 @@
|
|
|
731
731
|
fixed: fixed,
|
|
732
732
|
snap: snap,
|
|
733
733
|
hover: hover,
|
|
734
|
-
unconstrained: unconstrained
|
|
734
|
+
unconstrained: unconstrained,
|
|
735
735
|
};
|
|
736
736
|
}
|
|
737
737
|
function testTooltips(parsed, entry) {
|
|
@@ -817,7 +817,7 @@
|
|
|
817
817
|
animate: true,
|
|
818
818
|
animationDuration: 300,
|
|
819
819
|
ariaFormat: defaultFormatter,
|
|
820
|
-
format: defaultFormatter
|
|
820
|
+
format: defaultFormatter,
|
|
821
821
|
};
|
|
822
822
|
// Tests are executed in the order they are presented here.
|
|
823
823
|
var tests = {
|
|
@@ -844,7 +844,7 @@
|
|
|
844
844
|
documentElement: { r: false, t: testDocumentElement },
|
|
845
845
|
cssPrefix: { r: true, t: testCssPrefix },
|
|
846
846
|
cssClasses: { r: true, t: testCssClasses },
|
|
847
|
-
handleAttributes: { r: false, t: testHandleAttributes }
|
|
847
|
+
handleAttributes: { r: false, t: testHandleAttributes },
|
|
848
848
|
};
|
|
849
849
|
var defaults = {
|
|
850
850
|
connect: false,
|
|
@@ -856,7 +856,7 @@
|
|
|
856
856
|
cssClasses: cssClasses,
|
|
857
857
|
keyboardPageMultiplier: 5,
|
|
858
858
|
keyboardMultiplier: 1,
|
|
859
|
-
keyboardDefaultStep: 10
|
|
859
|
+
keyboardDefaultStep: 10,
|
|
860
860
|
};
|
|
861
861
|
// AriaFormat defaults to regular format, if any.
|
|
862
862
|
if (options.format && !options.ariaFormat) {
|
|
@@ -888,7 +888,7 @@
|
|
|
888
888
|
// Pips don't move, so we can place them using left/top.
|
|
889
889
|
var styles = [
|
|
890
890
|
["left", "top"],
|
|
891
|
-
["right", "bottom"]
|
|
891
|
+
["right", "bottom"],
|
|
892
892
|
];
|
|
893
893
|
parsed.style = styles[parsed.dir][parsed.ort];
|
|
894
894
|
return parsed;
|
|
@@ -1273,7 +1273,7 @@
|
|
|
1273
1273
|
var format = pips.format || {
|
|
1274
1274
|
to: function (value) {
|
|
1275
1275
|
return String(Math.round(value));
|
|
1276
|
-
}
|
|
1276
|
+
},
|
|
1277
1277
|
};
|
|
1278
1278
|
scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format));
|
|
1279
1279
|
return scope_Pips;
|
|
@@ -1509,21 +1509,21 @@
|
|
|
1509
1509
|
pageOffset: event.pageOffset,
|
|
1510
1510
|
handleNumbers: data.handleNumbers,
|
|
1511
1511
|
buttonsProperty: event.buttons,
|
|
1512
|
-
locations: scope_Locations.slice()
|
|
1512
|
+
locations: scope_Locations.slice(),
|
|
1513
1513
|
});
|
|
1514
1514
|
var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, {
|
|
1515
1515
|
target: event.target,
|
|
1516
1516
|
handle: handle,
|
|
1517
1517
|
listeners: listeners,
|
|
1518
1518
|
doNotReject: true,
|
|
1519
|
-
handleNumbers: data.handleNumbers
|
|
1519
|
+
handleNumbers: data.handleNumbers,
|
|
1520
1520
|
});
|
|
1521
1521
|
var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, {
|
|
1522
1522
|
target: event.target,
|
|
1523
1523
|
handle: handle,
|
|
1524
1524
|
listeners: listeners,
|
|
1525
1525
|
doNotReject: true,
|
|
1526
|
-
handleNumbers: data.handleNumbers
|
|
1526
|
+
handleNumbers: data.handleNumbers,
|
|
1527
1527
|
});
|
|
1528
1528
|
// We want to make sure we pushed the listeners in the listener list rather than creating
|
|
1529
1529
|
// a new one as it has already been passed to the event handlers.
|
|
@@ -1668,7 +1668,7 @@
|
|
|
1668
1668
|
// These events are only bound to the visual handle
|
|
1669
1669
|
// element, not the 'real' origin element.
|
|
1670
1670
|
attachEvent(actions.start, handle.children[0], eventStart, {
|
|
1671
|
-
handleNumbers: [index]
|
|
1671
|
+
handleNumbers: [index],
|
|
1672
1672
|
});
|
|
1673
1673
|
});
|
|
1674
1674
|
}
|
|
@@ -1679,7 +1679,7 @@
|
|
|
1679
1679
|
// Fire hover events
|
|
1680
1680
|
if (behaviour.hover) {
|
|
1681
1681
|
attachEvent(actions.move, scope_Base, eventHover, {
|
|
1682
|
-
hover: true
|
|
1682
|
+
hover: true,
|
|
1683
1683
|
});
|
|
1684
1684
|
}
|
|
1685
1685
|
// Make the range draggable.
|
|
@@ -1710,7 +1710,7 @@
|
|
|
1710
1710
|
attachEvent(actions.start, eventHolder, eventStart, {
|
|
1711
1711
|
handles: handlesToDrag,
|
|
1712
1712
|
handleNumbers: handleNumbersToDrag,
|
|
1713
|
-
connect: connect
|
|
1713
|
+
connect: connect,
|
|
1714
1714
|
});
|
|
1715
1715
|
});
|
|
1716
1716
|
});
|
|
@@ -2059,7 +2059,7 @@
|
|
|
2059
2059
|
if (options.snap) {
|
|
2060
2060
|
return [
|
|
2061
2061
|
value - nearbySteps.stepBefore.startValue || null,
|
|
2062
|
-
nearbySteps.stepAfter.startValue - value || null
|
|
2062
|
+
nearbySteps.stepAfter.startValue - value || null,
|
|
2063
2063
|
];
|
|
2064
2064
|
}
|
|
2065
2065
|
// If the next value in this step moves into the next step,
|
|
@@ -2118,7 +2118,7 @@
|
|
|
2118
2118
|
"step",
|
|
2119
2119
|
"format",
|
|
2120
2120
|
"pips",
|
|
2121
|
-
"tooltips"
|
|
2121
|
+
"tooltips",
|
|
2122
2122
|
];
|
|
2123
2123
|
// Only change options that we're actually passed to update.
|
|
2124
2124
|
updateAble.forEach(function (name) {
|
|
@@ -2203,7 +2203,7 @@
|
|
|
2203
2203
|
getOrigins: function () {
|
|
2204
2204
|
return scope_Handles;
|
|
2205
2205
|
},
|
|
2206
|
-
pips: pips // Issue #594
|
|
2206
|
+
pips: pips, // Issue #594
|
|
2207
2207
|
};
|
|
2208
2208
|
return scope_Self;
|
|
2209
2209
|
}
|
|
@@ -2228,13 +2228,13 @@
|
|
|
2228
2228
|
// A reference to the default classes, allows global changes.
|
|
2229
2229
|
// Use the cssClasses option for changes to one slider.
|
|
2230
2230
|
cssClasses: cssClasses,
|
|
2231
|
-
create: initialize
|
|
2231
|
+
create: initialize,
|
|
2232
2232
|
};
|
|
2233
2233
|
|
|
2234
2234
|
exports.create = initialize;
|
|
2235
2235
|
exports.cssClasses = cssClasses;
|
|
2236
|
-
exports[
|
|
2236
|
+
exports["default"] = nouislider;
|
|
2237
2237
|
|
|
2238
2238
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
2239
2239
|
|
|
2240
|
-
}))
|
|
2240
|
+
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pageboard/html",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.15",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"formdata-polyfill": "^4.0.10",
|
|
27
|
-
"nouislider": "^15.5.
|
|
27
|
+
"nouislider": "^15.5.1",
|
|
28
28
|
"object-fit-images": "^3.2.4",
|
|
29
29
|
"postinstall-bundle": "^0.7.4"
|
|
30
30
|
},
|
package/ui/form.js
CHANGED
|
@@ -33,27 +33,26 @@ class HTMLCustomFormElement extends HTMLFormElement {
|
|
|
33
33
|
delete state.query.submit;
|
|
34
34
|
state.finish(() => {
|
|
35
35
|
if (state.status != 200) return;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
this.dispatchEvent(new Event('submit', {
|
|
37
|
+
bubbles: true,
|
|
38
|
+
cancelable: true
|
|
39
|
+
}));
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
|
-
read(withDefaults) {
|
|
42
|
+
read(withDefaults = false) {
|
|
42
43
|
const fd = new FormData(this);
|
|
43
44
|
const query = {};
|
|
44
45
|
fd.forEach((val, key) => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
val = undefined;
|
|
49
|
-
} else {
|
|
50
|
-
val = null;
|
|
51
|
-
}
|
|
46
|
+
const cur = this.querySelectorAll(`[name="${key}"]`).slice(-1).pop();
|
|
47
|
+
if (cur.type == "file") {
|
|
48
|
+
val = cur.value;
|
|
52
49
|
}
|
|
50
|
+
if (val == "") val = null;
|
|
51
|
+
// build array-like values
|
|
53
52
|
const old = query[key];
|
|
54
53
|
if (old !== undefined) {
|
|
55
54
|
if (!Array.isArray(old)) {
|
|
56
|
-
query[key] = [old];
|
|
55
|
+
query[key] = old == null ? [] : [old];
|
|
57
56
|
}
|
|
58
57
|
if (val !== undefined) query[key].push(val);
|
|
59
58
|
} else {
|
|
@@ -61,37 +60,48 @@ class HTMLCustomFormElement extends HTMLFormElement {
|
|
|
61
60
|
}
|
|
62
61
|
});
|
|
63
62
|
|
|
63
|
+
// withDefaults: keep value if equals to its default
|
|
64
|
+
// else unset value
|
|
64
65
|
for (const node of this.elements) {
|
|
65
|
-
|
|
66
|
+
const { name, type } = node;
|
|
67
|
+
if (name == null || name == "" || type == "button") {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
66
70
|
let val = node.value;
|
|
67
71
|
if (val == "") val = null;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
72
|
+
let defVal = node.defaultValue;
|
|
73
|
+
if (defVal == "") defVal = null;
|
|
74
|
+
|
|
75
|
+
switch (type) {
|
|
76
|
+
case "radio":
|
|
77
|
+
if (!withDefaults && node.checked == node.defaultChecked) {
|
|
78
|
+
if (query[name] == val) {
|
|
79
|
+
query[name] = undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case "checkbox":
|
|
84
|
+
if (!withDefaults) {
|
|
85
|
+
if (!(name in query)) {
|
|
86
|
+
query[name] = undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
case "hidden":
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
if (withDefaults) {
|
|
94
|
+
if (query[name] === undefined) {
|
|
95
|
+
query[name] = defVal;
|
|
96
|
+
}
|
|
97
|
+
} else if (val === defVal) {
|
|
98
|
+
query[name] = node.required ? null : undefined;
|
|
99
|
+
}
|
|
90
100
|
}
|
|
91
101
|
}
|
|
102
|
+
// FIXME use e.submitter polyfill when available
|
|
103
|
+
// https://github.com/Financial-Times/polyfill-library/issues/1111
|
|
92
104
|
const btn = document.activeElement;
|
|
93
|
-
// FIXME https://github.com/whatwg/html/issues/3195 use e.submitter polyfill
|
|
94
|
-
// https://github.com/whatwg/xhr/issues/262 it's a mess
|
|
95
105
|
if (btn && btn.type == "submit" && btn.name && btn.value) {
|
|
96
106
|
query[btn.name] = btn.value;
|
|
97
107
|
}
|
|
@@ -345,7 +355,8 @@ HTMLInputElement.prototype.fill = function (val) {
|
|
|
345
355
|
if (this.type == "radio" || this.type == "checkbox") {
|
|
346
356
|
this.checked = val;
|
|
347
357
|
} else if (this.type == "file") {
|
|
348
|
-
this.
|
|
358
|
+
if (val == '' || val == null) this.removeAttribute('value');
|
|
359
|
+
else this.setAttribute('value', val);
|
|
349
360
|
} else {
|
|
350
361
|
this.value = val;
|
|
351
362
|
}
|
|
@@ -363,7 +374,7 @@ HTMLInputElement.prototype.save = function () {
|
|
|
363
374
|
if (this.type == "radio" || this.type == "checkbox") {
|
|
364
375
|
this.defaultChecked = this.checked;
|
|
365
376
|
} else if (this.type == "file") {
|
|
366
|
-
this.defaultValue = this.getAttribute('value');
|
|
377
|
+
this.defaultValue = this.getAttribute('value') || '';
|
|
367
378
|
} else {
|
|
368
379
|
this.defaultValue = this.value;
|
|
369
380
|
}
|
|
@@ -381,11 +392,13 @@ Object.defineProperty(HTMLInputElement.prototype, 'defaultValue', {
|
|
|
381
392
|
configurable: true,
|
|
382
393
|
enumerable: true,
|
|
383
394
|
get: function () {
|
|
395
|
+
// FIXME might not be needed anymore
|
|
384
396
|
if (this.form?.method == "get") return '';
|
|
385
397
|
else return this.getAttribute('value');
|
|
386
398
|
},
|
|
387
399
|
set: function (val) {
|
|
388
|
-
this.
|
|
400
|
+
if (val == '' || val == null) this.removeAttribute('value');
|
|
401
|
+
else this.setAttribute('value', val);
|
|
389
402
|
}
|
|
390
403
|
});
|
|
391
404
|
|
package/ui/input-file.js
CHANGED
|
@@ -14,7 +14,6 @@ class HTMLElementInputFile extends HTMLInputElement {
|
|
|
14
14
|
super();
|
|
15
15
|
if (this.init) this.init();
|
|
16
16
|
this.save();
|
|
17
|
-
|
|
18
17
|
}
|
|
19
18
|
get defaultValue() {
|
|
20
19
|
return this.#defaultValue;
|
|
@@ -26,7 +25,7 @@ class HTMLElementInputFile extends HTMLInputElement {
|
|
|
26
25
|
return this.getAttribute('value');
|
|
27
26
|
}
|
|
28
27
|
set value(str) {
|
|
29
|
-
if (str
|
|
28
|
+
if (str) {
|
|
30
29
|
this.setAttribute('value', str);
|
|
31
30
|
} else {
|
|
32
31
|
this.removeAttribute('value');
|
package/ui/input-range.js
CHANGED
|
@@ -81,9 +81,10 @@ class HTMLElementInputRange extends HTMLInputElement {
|
|
|
81
81
|
helper.classList.remove('indeterminate');
|
|
82
82
|
if (isInt) values = values.map((n) => parseInt(n));
|
|
83
83
|
this.rangeValue = values;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
this.dispatchEvent(new Event('change', {
|
|
85
|
+
bubbles: true,
|
|
86
|
+
cancelable: true
|
|
87
|
+
}));
|
|
87
88
|
});
|
|
88
89
|
helper.addEventListener('keydown', this, true);
|
|
89
90
|
helper.addEventListener('dblclick', this, true);
|
|
@@ -92,9 +93,10 @@ class HTMLElementInputRange extends HTMLInputElement {
|
|
|
92
93
|
handleEvent(e) {
|
|
93
94
|
if (e.type == "dblclick" || e.keyCode == 8 || e.keyCode == 46) {
|
|
94
95
|
this.fill();
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
this.dispatchEvent(new Event('change', {
|
|
97
|
+
bubbles: true,
|
|
98
|
+
cancelable: true
|
|
99
|
+
}));
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
|
package/ui/menu.js
CHANGED
|
@@ -27,15 +27,17 @@ class HTMLElementMenu extends VirtualHTMLElement {
|
|
|
27
27
|
const menu = this.firstElementChild;
|
|
28
28
|
const helper = this.lastElementChild;
|
|
29
29
|
helper.lastElementChild.lastElementChild.appendChild(this.toHelper(menu));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
state.finish(() => {
|
|
31
|
+
this.observer = new ResizeObserver((entries, observer) => {
|
|
32
|
+
window.requestAnimationFrame(() => {
|
|
33
|
+
const styles = window.getComputedStyle(this);
|
|
34
|
+
const parentWidth = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight) + this.offsetWidth;
|
|
35
|
+
const menuWidth = menu.offsetWidth;
|
|
36
|
+
this.classList.toggle('burger', parentWidth <= menuWidth);
|
|
37
|
+
});
|
|
36
38
|
});
|
|
39
|
+
this.observer.observe(this.parentNode);
|
|
37
40
|
});
|
|
38
|
-
this.observer.observe(this.parentNode);
|
|
39
41
|
}
|
|
40
42
|
close(state) {
|
|
41
43
|
if (this.observer) this.observer.disconnect();
|
package/ui/query-tags.js
CHANGED
|
@@ -90,9 +90,10 @@ class HTMLElementQueryTags extends VirtualHTMLElement {
|
|
|
90
90
|
else if (control.selected) control.selected = false;
|
|
91
91
|
else if (control.reset) control.reset();
|
|
92
92
|
else if (control.value) control.value = "";
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
control.form.dispatchEvent(new Event('submit', {
|
|
94
|
+
bubbles: true,
|
|
95
|
+
cancelable: true
|
|
96
|
+
}));
|
|
96
97
|
}
|
|
97
98
|
label.remove();
|
|
98
99
|
}
|