@schukai/monster 3.4.2 → 3.7.0
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/example/i18n/providers/embed.mjs +5 -0
- package/package.json +1 -1
- package/source/constants.mjs +4 -9
- package/source/constraints/abstract.mjs +4 -6
- package/source/constraints/abstractoperator.mjs +6 -12
- package/source/constraints/andoperator.mjs +3 -6
- package/source/constraints/invalid.mjs +3 -6
- package/source/constraints/isarray.mjs +6 -9
- package/source/constraints/isobject.mjs +4 -7
- package/source/constraints/namespace.mjs +1 -3
- package/source/constraints/oroperator.mjs +26 -25
- package/source/constraints/valid.mjs +3 -6
- package/source/data/buildmap.mjs +20 -36
- package/source/data/buildtree.mjs +29 -29
- package/source/data/datasource/namespace.mjs +1 -1
- package/source/data/datasource/server/restapi/writeerror.mjs +6 -6
- package/source/data/datasource/server/restapi.mjs +51 -65
- package/source/data/datasource/server/webconnect.mjs +26 -35
- package/source/data/datasource/server.mjs +17 -21
- package/source/data/datasource/storage/localstorage.mjs +8 -11
- package/source/data/datasource/storage/sessionstorage.mjs +8 -10
- package/source/data/datasource/storage.mjs +18 -22
- package/source/data/datasource.mjs +27 -43
- package/source/data/diff.mjs +20 -32
- package/source/data/extend.mjs +20 -14
- package/source/data/namespace.mjs +1 -3
- package/source/data/pathfinder.mjs +40 -67
- package/source/data/pipe.mjs +6 -10
- package/source/data/transformer.mjs +141 -157
- package/source/dom/assembler.mjs +6 -9
- package/source/dom/attributes.mjs +36 -48
- package/source/dom/constants.mjs +55 -71
- package/source/dom/customcontrol.mjs +16 -21
- package/source/dom/customelement.mjs +140 -164
- package/source/dom/events.mjs +17 -24
- package/source/dom/focusmanager.mjs +30 -48
- package/source/dom/locale.mjs +41 -10
- package/source/dom/namespace.mjs +1 -1
- package/source/dom/ready.mjs +7 -10
- package/source/dom/resource/data.mjs +38 -46
- package/source/dom/resource/link/namespace.mjs +1 -3
- package/source/dom/resource/link/stylesheet.mjs +7 -11
- package/source/dom/resource/link.mjs +36 -17
- package/source/dom/resource/namespace.mjs +1 -1
- package/source/dom/resource/script.mjs +23 -13
- package/source/dom/resource.mjs +47 -60
- package/source/dom/resourcemanager.mjs +36 -43
- package/source/dom/template.mjs +17 -24
- package/source/dom/theme.mjs +8 -12
- package/source/dom/updater.mjs +150 -196
- package/source/dom/util.mjs +11 -12
- package/source/dom/worker/factory.mjs +21 -25
- package/source/dom/worker/namespace.mjs +1 -1
- package/source/i18n/formatter.mjs +20 -24
- package/source/i18n/locale.mjs +40 -42
- package/source/i18n/namespace.mjs +1 -1
- package/source/i18n/provider.mjs +4 -7
- package/source/i18n/providers/embed.mjs +115 -0
- package/source/i18n/providers/fetch.mjs +33 -38
- package/source/i18n/translations.mjs +16 -20
- package/source/logging/handler/console.mjs +6 -10
- package/source/logging/handler.mjs +15 -18
- package/source/logging/logentry.mjs +8 -9
- package/source/logging/logger.mjs +73 -55
- package/source/logging/namespace.mjs +1 -1
- package/source/math/namespace.mjs +1 -1
- package/source/math/random.mjs +13 -14
- package/source/monster.mjs +132 -100
- package/source/net/namespace.mjs +1 -3
- package/source/net/webconnect/message.mjs +6 -8
- package/source/net/webconnect/namespace.mjs +1 -3
- package/source/net/webconnect.mjs +28 -39
- package/source/text/formatter.mjs +44 -55
- package/source/types/base.mjs +16 -26
- package/source/types/basewithoptions.mjs +8 -14
- package/source/types/binary.mjs +4 -5
- package/source/types/dataurl.mjs +19 -27
- package/source/types/global.mjs +14 -26
- package/source/types/id.mjs +4 -6
- package/source/types/is.mjs +11 -16
- package/source/types/mediatype.mjs +29 -44
- package/source/types/namespace.mjs +0 -1
- package/source/types/node.mjs +16 -22
- package/source/types/nodelist.mjs +10 -14
- package/source/types/noderecursiveiterator.mjs +11 -14
- package/source/types/observablequeue.mjs +13 -16
- package/source/types/observer.mjs +16 -23
- package/source/types/observerlist.mjs +18 -21
- package/source/types/proxyobserver.mjs +24 -37
- package/source/types/queue.mjs +8 -13
- package/source/types/randomid.mjs +10 -10
- package/source/types/regex.mjs +3 -5
- package/source/types/stack.mjs +4 -8
- package/source/types/tokenlist.mjs +24 -31
- package/source/types/typeof.mjs +5 -7
- package/source/types/uniquequeue.mjs +8 -13
- package/source/types/uuid.mjs +18 -25
- package/source/types/validate.mjs +26 -27
- package/source/types/version.mjs +17 -25
- package/source/util/clone.mjs +23 -32
- package/source/util/comparator.mjs +7 -15
- package/source/util/deadmansswitch.mjs +16 -23
- package/source/util/freeze.mjs +5 -7
- package/source/util/namespace.mjs +1 -1
- package/source/util/processing.mjs +33 -39
- package/source/util/trimspaces.mjs +17 -24
- package/test/cases/dom/locale.mjs +15 -0
- package/test/cases/i18n/providers/embed.mjs +72 -0
- package/test/cases/monster.mjs +1 -1
package/source/dom/constants.mjs
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
export {
|
|
10
9
|
DEFAULT_THEME,
|
|
11
10
|
ATTRIBUTE_PREFIX,
|
|
@@ -59,16 +58,15 @@ export {
|
|
|
59
58
|
ATTRIBUTE_EXPORTPARTS,
|
|
60
59
|
ATTRIBUTE_HIDDEN,
|
|
61
60
|
objectUpdaterLinkSymbol,
|
|
62
|
-
customElementUpdaterLinkSymbol
|
|
63
|
-
|
|
64
|
-
}
|
|
61
|
+
customElementUpdaterLinkSymbol,
|
|
62
|
+
};
|
|
65
63
|
|
|
66
64
|
/**
|
|
67
65
|
* default theme
|
|
68
66
|
* @memberOf Monster.DOM
|
|
69
67
|
* @type {string}
|
|
70
68
|
*/
|
|
71
|
-
const DEFAULT_THEME =
|
|
69
|
+
const DEFAULT_THEME = "monster";
|
|
72
70
|
|
|
73
71
|
/**
|
|
74
72
|
* @memberOf Monster.DOM
|
|
@@ -76,7 +74,7 @@ const DEFAULT_THEME = 'monster';
|
|
|
76
74
|
* @since 1.8.0
|
|
77
75
|
* @type {string}
|
|
78
76
|
*/
|
|
79
|
-
const ATTRIBUTE_PREFIX =
|
|
77
|
+
const ATTRIBUTE_PREFIX = "data-monster-";
|
|
80
78
|
|
|
81
79
|
/**
|
|
82
80
|
* This is the name of the attribute to pass options to a control
|
|
@@ -86,7 +84,7 @@ const ATTRIBUTE_PREFIX = 'data-monster-';
|
|
|
86
84
|
* @since 1.8.0
|
|
87
85
|
* @type {string}
|
|
88
86
|
*/
|
|
89
|
-
const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX
|
|
87
|
+
const ATTRIBUTE_OPTIONS = `${ATTRIBUTE_PREFIX}options`;
|
|
90
88
|
|
|
91
89
|
/**
|
|
92
90
|
* This is the name of the attribute to pass options to a control
|
|
@@ -96,7 +94,7 @@ const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
|
|
|
96
94
|
* @since 1.30.0
|
|
97
95
|
* @type {string}
|
|
98
96
|
*/
|
|
99
|
-
const ATTRIBUTE_OPTIONS_SELECTOR = ATTRIBUTE_PREFIX
|
|
97
|
+
const ATTRIBUTE_OPTIONS_SELECTOR = `${ATTRIBUTE_PREFIX}options-selector`;
|
|
100
98
|
|
|
101
99
|
/**
|
|
102
100
|
* @memberOf Monster.DOM
|
|
@@ -104,13 +102,13 @@ const ATTRIBUTE_OPTIONS_SELECTOR = ATTRIBUTE_PREFIX + 'options-selector';
|
|
|
104
102
|
* @license AGPLv3
|
|
105
103
|
* @since 1.8.0
|
|
106
104
|
*/
|
|
107
|
-
const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX
|
|
105
|
+
const ATTRIBUTE_THEME_PREFIX = `${ATTRIBUTE_PREFIX}theme-`;
|
|
108
106
|
|
|
109
107
|
/**
|
|
110
108
|
* @memberOf Monster.DOM
|
|
111
109
|
* @type {string}
|
|
112
110
|
*/
|
|
113
|
-
const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX
|
|
111
|
+
const ATTRIBUTE_THEME_NAME = `${ATTRIBUTE_THEME_PREFIX}name`;
|
|
114
112
|
|
|
115
113
|
/**
|
|
116
114
|
* @memberOf Monster.DOM
|
|
@@ -118,7 +116,7 @@ const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
|
|
|
118
116
|
* @license AGPLv3
|
|
119
117
|
* @since 1.8.0
|
|
120
118
|
*/
|
|
121
|
-
const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX
|
|
119
|
+
const ATTRIBUTE_UPDATER_ATTRIBUTES = `${ATTRIBUTE_PREFIX}attributes`;
|
|
122
120
|
|
|
123
121
|
/**
|
|
124
122
|
* @memberOf Monster.DOM
|
|
@@ -126,7 +124,7 @@ const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
|
|
|
126
124
|
* @license AGPLv3
|
|
127
125
|
* @since 1.27.1
|
|
128
126
|
*/
|
|
129
|
-
const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX
|
|
127
|
+
const ATTRIBUTE_UPDATER_SELECT_THIS = `${ATTRIBUTE_PREFIX}select-this`;
|
|
130
128
|
|
|
131
129
|
/**
|
|
132
130
|
* @memberOf Monster.DOM
|
|
@@ -134,7 +132,7 @@ const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX + 'select-this';
|
|
|
134
132
|
* @license AGPLv3
|
|
135
133
|
* @since 1.8.0
|
|
136
134
|
*/
|
|
137
|
-
const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX
|
|
135
|
+
const ATTRIBUTE_UPDATER_REPLACE = `${ATTRIBUTE_PREFIX}replace`;
|
|
138
136
|
|
|
139
137
|
/**
|
|
140
138
|
* @memberOf Monster.DOM
|
|
@@ -142,7 +140,7 @@ const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
|
|
|
142
140
|
* @license AGPLv3
|
|
143
141
|
* @since 1.8.0
|
|
144
142
|
*/
|
|
145
|
-
const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX
|
|
143
|
+
const ATTRIBUTE_UPDATER_INSERT = `${ATTRIBUTE_PREFIX}insert`;
|
|
146
144
|
|
|
147
145
|
/**
|
|
148
146
|
* @memberOf Monster.DOM
|
|
@@ -150,7 +148,7 @@ const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
|
|
|
150
148
|
* @license AGPLv3
|
|
151
149
|
* @since 1.8.0
|
|
152
150
|
*/
|
|
153
|
-
const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX
|
|
151
|
+
const ATTRIBUTE_UPDATER_INSERT_REFERENCE = `${ATTRIBUTE_PREFIX}insert-reference`;
|
|
154
152
|
|
|
155
153
|
/**
|
|
156
154
|
* @memberOf Monster.DOM
|
|
@@ -158,7 +156,7 @@ const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference'
|
|
|
158
156
|
* @license AGPLv3
|
|
159
157
|
* @since 1.8.0
|
|
160
158
|
*/
|
|
161
|
-
const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX
|
|
159
|
+
const ATTRIBUTE_UPDATER_REMOVE = `${ATTRIBUTE_PREFIX}remove`;
|
|
162
160
|
|
|
163
161
|
/**
|
|
164
162
|
* @memberOf Monster.DOM
|
|
@@ -166,7 +164,7 @@ const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
|
|
|
166
164
|
* @license AGPLv3
|
|
167
165
|
* @since 1.9.0
|
|
168
166
|
*/
|
|
169
|
-
const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX
|
|
167
|
+
const ATTRIBUTE_UPDATER_BIND = `${ATTRIBUTE_PREFIX}bind`;
|
|
170
168
|
|
|
171
169
|
/**
|
|
172
170
|
* @memberOf Monster.DOM
|
|
@@ -174,7 +172,7 @@ const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX + 'bind';
|
|
|
174
172
|
* @license AGPLv3
|
|
175
173
|
* @since 1.27.0
|
|
176
174
|
*/
|
|
177
|
-
const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX
|
|
175
|
+
const ATTRIBUTE_TEMPLATE_PREFIX = `${ATTRIBUTE_PREFIX}template-prefix`;
|
|
178
176
|
|
|
179
177
|
/**
|
|
180
178
|
* @memberOf Monster.DOM
|
|
@@ -182,7 +180,7 @@ const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX + 'template-prefix';
|
|
|
182
180
|
* @license AGPLv3
|
|
183
181
|
* @since 1.14.0
|
|
184
182
|
*/
|
|
185
|
-
const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX
|
|
183
|
+
const ATTRIBUTE_ROLE = `${ATTRIBUTE_PREFIX}role`;
|
|
186
184
|
|
|
187
185
|
/**
|
|
188
186
|
* @memberOf Monster.DOM
|
|
@@ -190,7 +188,7 @@ const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX + 'role';
|
|
|
190
188
|
* @license AGPLv3
|
|
191
189
|
* @since 1.24.0
|
|
192
190
|
*/
|
|
193
|
-
const ATTRIBUTE_DISABLED =
|
|
191
|
+
const ATTRIBUTE_DISABLED = "disabled";
|
|
194
192
|
|
|
195
193
|
/**
|
|
196
194
|
* @memberOf Monster.DOM
|
|
@@ -198,7 +196,7 @@ const ATTRIBUTE_DISABLED = 'disabled';
|
|
|
198
196
|
* @license AGPLv3
|
|
199
197
|
* @since 1.24.0
|
|
200
198
|
*/
|
|
201
|
-
const ATTRIBUTE_VALUE =
|
|
199
|
+
const ATTRIBUTE_VALUE = "value";
|
|
202
200
|
|
|
203
201
|
/**
|
|
204
202
|
* @memberOf Monster.DOM
|
|
@@ -206,7 +204,7 @@ const ATTRIBUTE_VALUE = 'value';
|
|
|
206
204
|
* @license AGPLv3
|
|
207
205
|
* @since 1.9.0
|
|
208
206
|
*/
|
|
209
|
-
const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX
|
|
207
|
+
const ATTRIBUTE_OBJECTLINK = `${ATTRIBUTE_PREFIX}objectlink`;
|
|
210
208
|
|
|
211
209
|
/**
|
|
212
210
|
* @memberOf Monster.DOM
|
|
@@ -214,7 +212,7 @@ const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX + 'objectlink';
|
|
|
214
212
|
* @license AGPLv3
|
|
215
213
|
* @since 1.24.0
|
|
216
214
|
*/
|
|
217
|
-
const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX
|
|
215
|
+
const ATTRIBUTE_ERRORMESSAGE = `${ATTRIBUTE_PREFIX}error`;
|
|
218
216
|
|
|
219
217
|
/**
|
|
220
218
|
* @memberOf Monster.DOM
|
|
@@ -222,7 +220,7 @@ const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
|
|
|
222
220
|
* @license AGPLv3
|
|
223
221
|
* @since 1.24.0
|
|
224
222
|
*/
|
|
225
|
-
const objectUpdaterLinkSymbol = Symbol.for(
|
|
223
|
+
const objectUpdaterLinkSymbol = Symbol.for("@schukai/monster/dom/@@object-updater-link");
|
|
226
224
|
|
|
227
225
|
/**
|
|
228
226
|
* @memberOf Monster.DOM
|
|
@@ -230,7 +228,7 @@ const objectUpdaterLinkSymbol = Symbol.for('@schukai/monster/dom/@@object-update
|
|
|
230
228
|
* @license AGPLv3
|
|
231
229
|
* @since 1.24.0
|
|
232
230
|
*/
|
|
233
|
-
const customElementUpdaterLinkSymbol = Symbol.for(
|
|
231
|
+
const customElementUpdaterLinkSymbol = Symbol.for("@schukai/monster/dom/custom-element@@options-updater-link");
|
|
234
232
|
|
|
235
233
|
/**
|
|
236
234
|
* @memberOf Monster.DOM
|
|
@@ -238,7 +236,7 @@ const customElementUpdaterLinkSymbol = Symbol.for('@schukai/monster/dom/custom-e
|
|
|
238
236
|
* @license AGPLv3
|
|
239
237
|
* @since 1.25.0
|
|
240
238
|
*/
|
|
241
|
-
const TAG_SCRIPT =
|
|
239
|
+
const TAG_SCRIPT = "script";
|
|
242
240
|
|
|
243
241
|
/**
|
|
244
242
|
* @memberOf Monster.DOM
|
|
@@ -246,7 +244,7 @@ const TAG_SCRIPT = 'script';
|
|
|
246
244
|
* @license AGPLv3
|
|
247
245
|
* @since 1.25.0
|
|
248
246
|
*/
|
|
249
|
-
const TAG_STYLE =
|
|
247
|
+
const TAG_STYLE = "style";
|
|
250
248
|
|
|
251
249
|
/**
|
|
252
250
|
* @memberOf Monster.DOM
|
|
@@ -254,7 +252,7 @@ const TAG_STYLE = 'style';
|
|
|
254
252
|
* @license AGPLv3
|
|
255
253
|
* @since 1.25.0
|
|
256
254
|
*/
|
|
257
|
-
const TAG_LINK =
|
|
255
|
+
const TAG_LINK = "link";
|
|
258
256
|
|
|
259
257
|
/**
|
|
260
258
|
* @memberOf Monster.DOM
|
|
@@ -263,7 +261,7 @@ const TAG_LINK = 'link';
|
|
|
263
261
|
* @since 1.25.0
|
|
264
262
|
*/
|
|
265
263
|
|
|
266
|
-
const ATTRIBUTE_ID =
|
|
264
|
+
const ATTRIBUTE_ID = "id";
|
|
267
265
|
|
|
268
266
|
/**
|
|
269
267
|
* @memberOf Monster.DOM
|
|
@@ -272,7 +270,7 @@ const ATTRIBUTE_ID = 'id';
|
|
|
272
270
|
* @since 1.25.0
|
|
273
271
|
*/
|
|
274
272
|
|
|
275
|
-
const ATTRIBUTE_CLASS =
|
|
273
|
+
const ATTRIBUTE_CLASS = "class";
|
|
276
274
|
|
|
277
275
|
/**
|
|
278
276
|
* @memberOf Monster.DOM
|
|
@@ -280,7 +278,7 @@ const ATTRIBUTE_CLASS = 'class';
|
|
|
280
278
|
* @license AGPLv3
|
|
281
279
|
* @since 1.25.0
|
|
282
280
|
*/
|
|
283
|
-
const ATTRIBUTE_TITLE =
|
|
281
|
+
const ATTRIBUTE_TITLE = "title";
|
|
284
282
|
|
|
285
283
|
/**
|
|
286
284
|
* @memberOf Monster.DOM
|
|
@@ -288,14 +286,14 @@ const ATTRIBUTE_TITLE = 'title';
|
|
|
288
286
|
* @license AGPLv3
|
|
289
287
|
* @since 1.25.0
|
|
290
288
|
*/
|
|
291
|
-
const ATTRIBUTE_SRC =
|
|
289
|
+
const ATTRIBUTE_SRC = "src";
|
|
292
290
|
/**
|
|
293
291
|
* @memberOf Monster.DOM
|
|
294
292
|
* @type {string}
|
|
295
293
|
* @license AGPLv3
|
|
296
294
|
* @since 1.25.0
|
|
297
295
|
*/
|
|
298
|
-
const ATTRIBUTE_HREF =
|
|
296
|
+
const ATTRIBUTE_HREF = "href";
|
|
299
297
|
|
|
300
298
|
/**
|
|
301
299
|
* @memberOf Monster.DOM
|
|
@@ -303,7 +301,7 @@ const ATTRIBUTE_HREF = 'href';
|
|
|
303
301
|
* @license AGPLv3
|
|
304
302
|
* @since 1.25.0
|
|
305
303
|
*/
|
|
306
|
-
const ATTRIBUTE_TYPE =
|
|
304
|
+
const ATTRIBUTE_TYPE = "type";
|
|
307
305
|
|
|
308
306
|
/**
|
|
309
307
|
* @memberOf Monster.DOM
|
|
@@ -311,7 +309,7 @@ const ATTRIBUTE_TYPE = 'type';
|
|
|
311
309
|
* @license AGPLv3
|
|
312
310
|
* @since 1.25.0
|
|
313
311
|
*/
|
|
314
|
-
const ATTRIBUTE_NONCE =
|
|
312
|
+
const ATTRIBUTE_NONCE = "nonce";
|
|
315
313
|
|
|
316
314
|
/**
|
|
317
315
|
* @memberOf Monster.DOM
|
|
@@ -319,8 +317,7 @@ const ATTRIBUTE_NONCE = 'nonce';
|
|
|
319
317
|
* @license AGPLv3
|
|
320
318
|
* @since 1.25.0
|
|
321
319
|
*/
|
|
322
|
-
const ATTRIBUTE_TRANSLATE =
|
|
323
|
-
|
|
320
|
+
const ATTRIBUTE_TRANSLATE = "translate";
|
|
324
321
|
|
|
325
322
|
/**
|
|
326
323
|
* @memberOf Monster.DOM
|
|
@@ -328,8 +325,7 @@ const ATTRIBUTE_TRANSLATE = 'translate';
|
|
|
328
325
|
* @license AGPLv3
|
|
329
326
|
* @since 1.25.0
|
|
330
327
|
*/
|
|
331
|
-
const ATTRIBUTE_TABINDEX =
|
|
332
|
-
|
|
328
|
+
const ATTRIBUTE_TABINDEX = "tabindex";
|
|
333
329
|
|
|
334
330
|
/**
|
|
335
331
|
* @memberOf Monster.DOM
|
|
@@ -337,8 +333,7 @@ const ATTRIBUTE_TABINDEX = 'tabindex';
|
|
|
337
333
|
* @license AGPLv3
|
|
338
334
|
* @since 1.25.0
|
|
339
335
|
*/
|
|
340
|
-
const ATTRIBUTE_SPELLCHECK =
|
|
341
|
-
|
|
336
|
+
const ATTRIBUTE_SPELLCHECK = "spellcheck";
|
|
342
337
|
|
|
343
338
|
/**
|
|
344
339
|
* @memberOf Monster.DOM
|
|
@@ -346,8 +341,7 @@ const ATTRIBUTE_SPELLCHECK = 'spellcheck';
|
|
|
346
341
|
* @license AGPLv3
|
|
347
342
|
* @since 1.25.0
|
|
348
343
|
*/
|
|
349
|
-
const ATTRIBUTE_SLOT =
|
|
350
|
-
|
|
344
|
+
const ATTRIBUTE_SLOT = "slot";
|
|
351
345
|
|
|
352
346
|
/**
|
|
353
347
|
* @memberOf Monster.DOM
|
|
@@ -355,8 +349,7 @@ const ATTRIBUTE_SLOT = 'slot';
|
|
|
355
349
|
* @license AGPLv3
|
|
356
350
|
* @since 1.25.0
|
|
357
351
|
*/
|
|
358
|
-
const ATTRIBUTE_PART =
|
|
359
|
-
|
|
352
|
+
const ATTRIBUTE_PART = "part";
|
|
360
353
|
|
|
361
354
|
/**
|
|
362
355
|
* @memberOf Monster.DOM
|
|
@@ -364,8 +357,7 @@ const ATTRIBUTE_PART = 'part';
|
|
|
364
357
|
* @license AGPLv3
|
|
365
358
|
* @since 1.25.0
|
|
366
359
|
*/
|
|
367
|
-
const ATTRIBUTE_LANG =
|
|
368
|
-
|
|
360
|
+
const ATTRIBUTE_LANG = "lang";
|
|
369
361
|
|
|
370
362
|
/**
|
|
371
363
|
* @memberOf Monster.DOM
|
|
@@ -373,8 +365,7 @@ const ATTRIBUTE_LANG = 'lang';
|
|
|
373
365
|
* @license AGPLv3
|
|
374
366
|
* @since 1.25.0
|
|
375
367
|
*/
|
|
376
|
-
const ATTRIBUTE_ITEMTYPE =
|
|
377
|
-
|
|
368
|
+
const ATTRIBUTE_ITEMTYPE = "itemtype";
|
|
378
369
|
|
|
379
370
|
/**
|
|
380
371
|
* @memberOf Monster.DOM
|
|
@@ -382,8 +373,7 @@ const ATTRIBUTE_ITEMTYPE = 'itemtype';
|
|
|
382
373
|
* @license AGPLv3
|
|
383
374
|
* @since 1.25.0
|
|
384
375
|
*/
|
|
385
|
-
const ATTRIBUTE_ITEMSCOPE =
|
|
386
|
-
|
|
376
|
+
const ATTRIBUTE_ITEMSCOPE = "itemscope";
|
|
387
377
|
|
|
388
378
|
/**
|
|
389
379
|
* @memberOf Monster.DOM
|
|
@@ -391,8 +381,7 @@ const ATTRIBUTE_ITEMSCOPE = 'itemscope';
|
|
|
391
381
|
* @license AGPLv3
|
|
392
382
|
* @since 1.25.0
|
|
393
383
|
*/
|
|
394
|
-
const ATTRIBUTE_ITEMREF =
|
|
395
|
-
|
|
384
|
+
const ATTRIBUTE_ITEMREF = "itemref";
|
|
396
385
|
|
|
397
386
|
/**
|
|
398
387
|
* @memberOf Monster.DOM
|
|
@@ -400,8 +389,7 @@ const ATTRIBUTE_ITEMREF = 'itemref';
|
|
|
400
389
|
* @license AGPLv3
|
|
401
390
|
* @since 1.25.0
|
|
402
391
|
*/
|
|
403
|
-
const ATTRIBUTE_ITEMID =
|
|
404
|
-
|
|
392
|
+
const ATTRIBUTE_ITEMID = "itemid";
|
|
405
393
|
|
|
406
394
|
/**
|
|
407
395
|
* @memberOf Monster.DOM
|
|
@@ -409,8 +397,7 @@ const ATTRIBUTE_ITEMID = 'itemid';
|
|
|
409
397
|
* @license AGPLv3
|
|
410
398
|
* @since 1.25.0
|
|
411
399
|
*/
|
|
412
|
-
const ATTRIBUTE_ITEMPROP =
|
|
413
|
-
|
|
400
|
+
const ATTRIBUTE_ITEMPROP = "itemprop";
|
|
414
401
|
|
|
415
402
|
/**
|
|
416
403
|
* @memberOf Monster.DOM
|
|
@@ -418,8 +405,7 @@ const ATTRIBUTE_ITEMPROP = 'itemprop';
|
|
|
418
405
|
* @license AGPLv3
|
|
419
406
|
* @since 1.25.0
|
|
420
407
|
*/
|
|
421
|
-
const ATTRIBUTE_IS =
|
|
422
|
-
|
|
408
|
+
const ATTRIBUTE_IS = "is";
|
|
423
409
|
|
|
424
410
|
/**
|
|
425
411
|
* @memberOf Monster.DOM
|
|
@@ -427,8 +413,7 @@ const ATTRIBUTE_IS = 'is';
|
|
|
427
413
|
* @license AGPLv3
|
|
428
414
|
* @since 1.25.0
|
|
429
415
|
*/
|
|
430
|
-
const ATTRIBUTE_INPUTMODE =
|
|
431
|
-
|
|
416
|
+
const ATTRIBUTE_INPUTMODE = "inputmode";
|
|
432
417
|
|
|
433
418
|
/**
|
|
434
419
|
* @memberOf Monster.DOM
|
|
@@ -436,7 +421,7 @@ const ATTRIBUTE_INPUTMODE = 'inputmode';
|
|
|
436
421
|
* @license AGPLv3
|
|
437
422
|
* @since 1.25.0
|
|
438
423
|
*/
|
|
439
|
-
const ATTRIBUTE_ACCESSKEY =
|
|
424
|
+
const ATTRIBUTE_ACCESSKEY = "accesskey";
|
|
440
425
|
|
|
441
426
|
/**
|
|
442
427
|
* @memberOf Monster.DOM
|
|
@@ -444,7 +429,7 @@ const ATTRIBUTE_ACCESSKEY = 'accesskey';
|
|
|
444
429
|
* @license AGPLv3
|
|
445
430
|
* @since 1.25.0
|
|
446
431
|
*/
|
|
447
|
-
const ATTRIBUTE_AUTOCAPITALIZE =
|
|
432
|
+
const ATTRIBUTE_AUTOCAPITALIZE = "autocapitalize";
|
|
448
433
|
|
|
449
434
|
/**
|
|
450
435
|
* @memberOf Monster.DOM
|
|
@@ -452,7 +437,7 @@ const ATTRIBUTE_AUTOCAPITALIZE = 'autocapitalize';
|
|
|
452
437
|
* @license AGPLv3
|
|
453
438
|
* @since 1.25.0
|
|
454
439
|
*/
|
|
455
|
-
const ATTRIBUTE_AUTOFOCUS =
|
|
440
|
+
const ATTRIBUTE_AUTOFOCUS = "autofocus";
|
|
456
441
|
|
|
457
442
|
/**
|
|
458
443
|
* @memberOf Monster.DOM
|
|
@@ -460,7 +445,7 @@ const ATTRIBUTE_AUTOFOCUS = 'autofocus';
|
|
|
460
445
|
* @license AGPLv3
|
|
461
446
|
* @since 1.25.0
|
|
462
447
|
*/
|
|
463
|
-
const ATTRIBUTE_CONTENTEDITABLE =
|
|
448
|
+
const ATTRIBUTE_CONTENTEDITABLE = "contenteditable";
|
|
464
449
|
|
|
465
450
|
/**
|
|
466
451
|
* @memberOf Monster.DOM
|
|
@@ -468,7 +453,7 @@ const ATTRIBUTE_CONTENTEDITABLE = 'contenteditable';
|
|
|
468
453
|
* @license AGPLv3
|
|
469
454
|
* @since 1.25.0
|
|
470
455
|
*/
|
|
471
|
-
const ATTRIBUTE_DIR =
|
|
456
|
+
const ATTRIBUTE_DIR = "dir";
|
|
472
457
|
|
|
473
458
|
/**
|
|
474
459
|
* @memberOf Monster.DOM
|
|
@@ -476,8 +461,7 @@ const ATTRIBUTE_DIR = 'dir';
|
|
|
476
461
|
* @license AGPLv3
|
|
477
462
|
* @since 1.25.0
|
|
478
463
|
*/
|
|
479
|
-
const ATTRIBUTE_DRAGGABLE =
|
|
480
|
-
|
|
464
|
+
const ATTRIBUTE_DRAGGABLE = "draggable";
|
|
481
465
|
|
|
482
466
|
/**
|
|
483
467
|
* @memberOf Monster.DOM
|
|
@@ -485,18 +469,18 @@ const ATTRIBUTE_DRAGGABLE = 'draggable';
|
|
|
485
469
|
* @license AGPLv3
|
|
486
470
|
* @since 1.25.0
|
|
487
471
|
*/
|
|
488
|
-
const ATTRIBUTE_ENTERKEYHINT =
|
|
472
|
+
const ATTRIBUTE_ENTERKEYHINT = "enterkeyhint";
|
|
489
473
|
/**
|
|
490
474
|
* @memberOf Monster.DOM
|
|
491
475
|
* @type {string}
|
|
492
476
|
* @license AGPLv3
|
|
493
477
|
* @since 1.25.0
|
|
494
478
|
*/
|
|
495
|
-
const ATTRIBUTE_EXPORTPARTS =
|
|
479
|
+
const ATTRIBUTE_EXPORTPARTS = "exportparts";
|
|
496
480
|
/**
|
|
497
481
|
* @memberOf Monster.DOM
|
|
498
482
|
* @type {string}
|
|
499
483
|
* @license AGPLv3
|
|
500
484
|
* @since 1.25.0
|
|
501
485
|
*/
|
|
502
|
-
const ATTRIBUTE_HIDDEN =
|
|
486
|
+
const ATTRIBUTE_HIDDEN = "hidden";
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {extend} from "../data/extend.mjs";
|
|
9
|
-
import {ATTRIBUTE_VALUE} from "./constants.mjs";
|
|
10
|
-
import {CustomElement, attributeObserverSymbol} from "./customelement.mjs";
|
|
11
|
-
import {instanceSymbol} from
|
|
12
|
-
export {CustomControl}
|
|
8
|
+
import { extend } from "../data/extend.mjs";
|
|
9
|
+
import { ATTRIBUTE_VALUE } from "./constants.mjs";
|
|
10
|
+
import { CustomElement, attributeObserverSymbol } from "./customelement.mjs";
|
|
11
|
+
import { instanceSymbol } from "../constants.mjs";
|
|
12
|
+
export { CustomControl };
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* @private
|
|
16
16
|
* @type {symbol}
|
|
17
17
|
*/
|
|
18
|
-
const attachedInternalSymbol = Symbol(
|
|
18
|
+
const attachedInternalSymbol = Symbol("attachedInternal");
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* To define a new HTML control we need the power of CustomElement
|
|
@@ -47,7 +47,6 @@ const attachedInternalSymbol = Symbol('attachedInternal');
|
|
|
47
47
|
* @memberOf Monster.DOM
|
|
48
48
|
*/
|
|
49
49
|
class CustomControl extends CustomElement {
|
|
50
|
-
|
|
51
50
|
/**
|
|
52
51
|
* IMPORTANT: CustomControls instances are not created via the constructor, but either via a tag in the HTML or via <code>document.createElement()</code>.
|
|
53
52
|
*
|
|
@@ -57,7 +56,7 @@ class CustomControl extends CustomElement {
|
|
|
57
56
|
constructor() {
|
|
58
57
|
super();
|
|
59
58
|
|
|
60
|
-
if (typeof this[
|
|
59
|
+
if (typeof this["attachInternals"] === "function") {
|
|
61
60
|
/**
|
|
62
61
|
* currently only supported by chrome
|
|
63
62
|
* @property {Object}
|
|
@@ -67,7 +66,6 @@ class CustomControl extends CustomElement {
|
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
initObserver.call(this);
|
|
70
|
-
|
|
71
69
|
}
|
|
72
70
|
|
|
73
71
|
/**
|
|
@@ -79,7 +77,6 @@ class CustomControl extends CustomElement {
|
|
|
79
77
|
return Symbol.for("@schukai/monster/dom/custom-control");
|
|
80
78
|
}
|
|
81
79
|
|
|
82
|
-
|
|
83
80
|
/**
|
|
84
81
|
* This method determines which attributes are to be monitored by `attributeChangedCallback()`.
|
|
85
82
|
*
|
|
@@ -90,8 +87,8 @@ class CustomControl extends CustomElement {
|
|
|
90
87
|
const list = super.observedAttributes;
|
|
91
88
|
list.push(ATTRIBUTE_VALUE);
|
|
92
89
|
return list;
|
|
93
|
-
}
|
|
94
|
-
|
|
90
|
+
}
|
|
91
|
+
|
|
95
92
|
/**
|
|
96
93
|
*
|
|
97
94
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals}
|
|
@@ -131,7 +128,7 @@ class CustomControl extends CustomElement {
|
|
|
131
128
|
* @throws {Error} the value getter must be overwritten by the derived class
|
|
132
129
|
*/
|
|
133
130
|
get value() {
|
|
134
|
-
throw Error(
|
|
131
|
+
throw Error("the value getter must be overwritten by the derived class");
|
|
135
132
|
}
|
|
136
133
|
|
|
137
134
|
/**
|
|
@@ -144,7 +141,7 @@ class CustomControl extends CustomElement {
|
|
|
144
141
|
* @throws {Error} the value setter must be overwritten by the derived class
|
|
145
142
|
*/
|
|
146
143
|
set value(value) {
|
|
147
|
-
throw Error(
|
|
144
|
+
throw Error("the value setter must be overwritten by the derived class");
|
|
148
145
|
}
|
|
149
146
|
|
|
150
147
|
/**
|
|
@@ -165,7 +162,7 @@ class CustomControl extends CustomElement {
|
|
|
165
162
|
* @return {string|null}
|
|
166
163
|
*/
|
|
167
164
|
get name() {
|
|
168
|
-
return this.getAttribute(
|
|
165
|
+
return this.getAttribute("name");
|
|
169
166
|
}
|
|
170
167
|
|
|
171
168
|
/**
|
|
@@ -301,7 +298,6 @@ class CustomControl extends CustomElement {
|
|
|
301
298
|
reportValidity() {
|
|
302
299
|
return getInternal.call(this)?.reportValidity();
|
|
303
300
|
}
|
|
304
|
-
|
|
305
301
|
}
|
|
306
302
|
|
|
307
303
|
/**
|
|
@@ -314,7 +310,7 @@ function getInternal() {
|
|
|
314
310
|
const self = this;
|
|
315
311
|
|
|
316
312
|
if (!(attachedInternalSymbol in this)) {
|
|
317
|
-
throw new Error(
|
|
313
|
+
throw new Error("ElementInternals is not supported and a polyfill is necessary");
|
|
318
314
|
}
|
|
319
315
|
|
|
320
316
|
return this[attachedInternalSymbol];
|
|
@@ -329,8 +325,7 @@ function initObserver() {
|
|
|
329
325
|
const self = this;
|
|
330
326
|
|
|
331
327
|
// value
|
|
332
|
-
self[attributeObserverSymbol][
|
|
333
|
-
self.setOption(
|
|
334
|
-
}
|
|
335
|
-
|
|
328
|
+
self[attributeObserverSymbol]["value"] = () => {
|
|
329
|
+
self.setOption("value", self.getAttribute("value"));
|
|
330
|
+
};
|
|
336
331
|
}
|