@schukai/monster 4.154.1 → 4.154.3
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/CHANGELOG.md +1400 -19
- package/package.json +1 -1
- package/source/components/accessibility/locale-picker.mjs +6 -6
- package/source/components/accessibility/locale-select.mjs +1 -1
- package/source/components/content/camera-capture.mjs +3 -3
- package/source/components/content/copy.mjs +1 -1
- package/source/components/content/fetch-box.mjs +1 -1
- package/source/components/content/image-editor.mjs +2 -4
- package/source/components/content/viewer/html.mjs +2 -2
- package/source/components/content/viewer/message.mjs +3 -3
- package/source/components/content/viewer/sanitize-html.mjs +1 -1
- package/source/components/data/kpi-tile.mjs +5 -5
- package/source/components/data/metric-graph.mjs +2 -2
- package/source/components/data/metric.mjs +1 -1
- package/source/components/datatable/change-button.mjs +1 -1
- package/source/components/datatable/columnbar.mjs +2 -2
- package/source/components/datatable/datasource/rest.mjs +2 -4
- package/source/components/datatable/datatable.mjs +3 -3
- package/source/components/datatable/filter/date-presets.mjs +1 -1
- package/source/components/datatable/filter/input.mjs +1 -1
- package/source/components/datatable/filter/range.mjs +1 -1
- package/source/components/datatable/filter/settings.mjs +1 -3
- package/source/components/datatable/filter/text-operator.mjs +1 -1
- package/source/components/datatable/filter.mjs +1 -1
- package/source/components/datatable/pagination.mjs +2 -4
- package/source/components/datatable/status.mjs +1 -1
- package/source/components/files/file-manager.mjs +1 -1
- package/source/components/form/action-button.mjs +1 -1
- package/source/components/form/api-bar.mjs +1 -1
- package/source/components/form/buy-box.mjs +1 -1
- package/source/components/form/cart-control.mjs +1 -1
- package/source/components/form/checklist.mjs +1 -1
- package/source/components/form/digits.mjs +4 -4
- package/source/components/form/dropzone.mjs +1 -1
- package/source/components/form/field-set.mjs +1 -1
- package/source/components/form/input-group.mjs +1 -1
- package/source/components/form/login.mjs +15 -15
- package/source/components/form/password.mjs +1 -1
- package/source/components/form/popper.mjs +1 -0
- package/source/components/form/repeat-field-set.mjs +1 -1
- package/source/components/form/select-link.mjs +3 -0
- package/source/components/form/select.mjs +33 -33
- package/source/components/form/sheet.mjs +3 -0
- package/source/components/form/tabs.mjs +1 -0
- package/source/components/form/toggle-switch.mjs +1 -1
- package/source/components/form/util/fetch.mjs +3 -3
- package/source/components/form/variant-select.mjs +1 -1
- package/source/components/form/wizard.mjs +1 -3
- package/source/components/host/collapse.mjs +1 -0
- package/source/components/host/config-manager.mjs +2 -2
- package/source/components/host/details.mjs +1 -0
- package/source/components/host/host.mjs +2 -2
- package/source/components/host/overlay.mjs +1 -0
- package/source/components/host/viewer.mjs +1 -0
- package/source/components/layout/board.mjs +1 -1
- package/source/components/layout/collapse.mjs +2 -2
- package/source/components/layout/details.mjs +1 -1
- package/source/components/layout/full-screen.mjs +2 -2
- package/source/components/layout/popper.mjs +1 -1
- package/source/components/layout/style/tabs.pcss +4 -1
- package/source/components/layout/stylesheet/tabs.mjs +9 -3
- package/source/components/layout/tabs.mjs +5 -8
- package/source/components/layout/utils/attach-tabs-hash-sync.mjs +1 -1
- package/source/components/layout/vertical-tabs.mjs +5 -8
- package/source/components/navigation/site-navigation.mjs +3 -3
- package/source/components/navigation/table-of-content.mjs +1 -1
- package/source/components/navigation/wizard-navigation.mjs +9 -11
- package/source/components/notify/monitor-attribute-errors.mjs +1 -1
- package/source/components/time/day.mjs +1 -1
- package/source/components/time/month-calendar.mjs +8 -8
- package/source/components/time/timeline/appointment.mjs +1 -1
- package/source/components/time/timeline/segment.mjs +1 -1
- package/source/components/tree-menu/tree-menu.mjs +0 -1
- package/source/data/datasource/dom.mjs +1 -0
- package/source/dom/customelement.mjs +13 -13
- package/source/dom/sanitize-html.mjs +1 -1
- package/source/i18n/internal.mjs +2 -2
- package/source/i18n/providers/embed.mjs +1 -1
- package/source/i18n/time-ago.mjs +1 -1
- package/source/text/formatter.mjs +1 -0
- package/source/types/dataurl.mjs +1 -0
- package/source/types/has.mjs +1 -1
- package/source/types/is.mjs +2 -2
- package/source/types/mediatype.mjs +1 -0
- package/source/types/observer.mjs +6 -6
- package/source/types/observerlist.mjs +1 -0
- package/source/types/proxyobserver.mjs +1 -0
- package/source/types/stack.mjs +1 -0
- package/source/types/tokenlist.mjs +1 -0
- package/source/types/uuid.mjs +1 -0
- package/source/util/accessiblecolor.mjs +2 -2
- package/source/util/comparator.mjs +3 -3
- package/source/util/deadmansswitch.mjs +3 -4
- package/source/util/processing.mjs +1 -1
- package/test/cases/components/datatable/drag-scroll.mjs +10 -0
- package/test/cases/components/layout/tabs.mjs +2 -0
|
@@ -173,7 +173,7 @@ const digitsCollapseSymbol = Symbol("digitsCollapse");
|
|
|
173
173
|
class Login extends CustomElement {
|
|
174
174
|
/**
|
|
175
175
|
* This method is called by the `instanceof` operator.
|
|
176
|
-
* @
|
|
176
|
+
* @return {symbol}
|
|
177
177
|
*/
|
|
178
178
|
static get [instanceSymbol]() {
|
|
179
179
|
return Symbol.for("@schukai/monster/components/form/login@@instance");
|
|
@@ -414,7 +414,7 @@ class Login extends CustomElement {
|
|
|
414
414
|
/**
|
|
415
415
|
* Opens the login collapse and focuses the username control.
|
|
416
416
|
*
|
|
417
|
-
* @
|
|
417
|
+
* @return {Login}
|
|
418
418
|
*/
|
|
419
419
|
openLogin() {
|
|
420
420
|
this[loginCollapseSymbol].open();
|
|
@@ -425,7 +425,7 @@ class Login extends CustomElement {
|
|
|
425
425
|
/**
|
|
426
426
|
* Opens the forgot password collapse. If the feature `forgotPassword` is not enabled, an error will be thrown.
|
|
427
427
|
*
|
|
428
|
-
* @
|
|
428
|
+
* @return {Login}
|
|
429
429
|
* @throws {Error} If the feature is not enabled
|
|
430
430
|
*/
|
|
431
431
|
openForgotPassword() {
|
|
@@ -439,7 +439,7 @@ class Login extends CustomElement {
|
|
|
439
439
|
|
|
440
440
|
/**
|
|
441
441
|
* Opens the second factor collapse and focuses the second factor control.
|
|
442
|
-
* @
|
|
442
|
+
* @return {Login}
|
|
443
443
|
*/
|
|
444
444
|
openSecondFactor() {
|
|
445
445
|
this[secondFactorCollapseSymbol].open();
|
|
@@ -449,7 +449,7 @@ class Login extends CustomElement {
|
|
|
449
449
|
|
|
450
450
|
/**
|
|
451
451
|
* Opens the digits collapse and focuses the digit control.
|
|
452
|
-
* @
|
|
452
|
+
* @return {Login}
|
|
453
453
|
*/
|
|
454
454
|
openDigits() {
|
|
455
455
|
this[digitsCollapseSymbol].open();
|
|
@@ -460,7 +460,7 @@ class Login extends CustomElement {
|
|
|
460
460
|
/**
|
|
461
461
|
* Opens the logged in collapse. If the feature `redirectToFirstSuccessUrl` is enabled, the user will be redirected to the first success URL.
|
|
462
462
|
*
|
|
463
|
-
* @
|
|
463
|
+
* @return {Login}
|
|
464
464
|
*/
|
|
465
465
|
openLoggedIn() {
|
|
466
466
|
fireEvent(this, "login-success");
|
|
@@ -500,7 +500,7 @@ class Login extends CustomElement {
|
|
|
500
500
|
/**
|
|
501
501
|
* Opens the custom collapse and focuses the first focusable element if available.
|
|
502
502
|
*
|
|
503
|
-
* @
|
|
503
|
+
* @return {Login}
|
|
504
504
|
*/
|
|
505
505
|
openCustomCollapse() {
|
|
506
506
|
this[customCollapseSymbol].open();
|
|
@@ -512,7 +512,7 @@ class Login extends CustomElement {
|
|
|
512
512
|
* Replaces the header content of the custom collapse.
|
|
513
513
|
*
|
|
514
514
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|null|undefined} content
|
|
515
|
-
* @
|
|
515
|
+
* @return {Login}
|
|
516
516
|
*/
|
|
517
517
|
setCustomCollapseHeader(content) {
|
|
518
518
|
setCustomCollapseSectionContent.call(
|
|
@@ -527,7 +527,7 @@ class Login extends CustomElement {
|
|
|
527
527
|
* Replaces the main content of the custom collapse.
|
|
528
528
|
*
|
|
529
529
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|null|undefined} content
|
|
530
|
-
* @
|
|
530
|
+
* @return {Login}
|
|
531
531
|
*/
|
|
532
532
|
setCustomCollapseContent(content) {
|
|
533
533
|
setCustomCollapseSectionContent.call(
|
|
@@ -542,7 +542,7 @@ class Login extends CustomElement {
|
|
|
542
542
|
* Replaces the footer content of the custom collapse.
|
|
543
543
|
*
|
|
544
544
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|null|undefined} content
|
|
545
|
-
* @
|
|
545
|
+
* @return {Login}
|
|
546
546
|
*/
|
|
547
547
|
setCustomCollapseFooter(content) {
|
|
548
548
|
setCustomCollapseSectionContent.call(
|
|
@@ -556,7 +556,7 @@ class Login extends CustomElement {
|
|
|
556
556
|
/**
|
|
557
557
|
* Clears all custom collapse sections.
|
|
558
558
|
*
|
|
559
|
-
* @
|
|
559
|
+
* @return {Login}
|
|
560
560
|
*/
|
|
561
561
|
clearCustomCollapse() {
|
|
562
562
|
this[customCollapseHeaderSymbol].replaceChildren();
|
|
@@ -569,7 +569,7 @@ class Login extends CustomElement {
|
|
|
569
569
|
* Replaces the custom collapse content and opens it.
|
|
570
570
|
*
|
|
571
571
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|Object|null|undefined} content
|
|
572
|
-
* @
|
|
572
|
+
* @return {Login}
|
|
573
573
|
*/
|
|
574
574
|
showCustomCollapse(content) {
|
|
575
575
|
if (isObject(content) && !(content instanceof Node) && !isArray(content)) {
|
|
@@ -2157,7 +2157,7 @@ function getTemplate() {
|
|
|
2157
2157
|
* @private
|
|
2158
2158
|
* @param {HTMLElement} target
|
|
2159
2159
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|null|undefined} content
|
|
2160
|
-
* @
|
|
2160
|
+
* @return {void}
|
|
2161
2161
|
*/
|
|
2162
2162
|
function setCustomCollapseSectionContent(target, content) {
|
|
2163
2163
|
if (!(target instanceof HTMLElement)) {
|
|
@@ -2174,7 +2174,7 @@ function setCustomCollapseSectionContent(target, content) {
|
|
|
2174
2174
|
/**
|
|
2175
2175
|
* @private
|
|
2176
2176
|
* @param {string|number|boolean|Node|Array<string|number|boolean|Node>|null|undefined} content
|
|
2177
|
-
* @
|
|
2177
|
+
* @return {Node[]}
|
|
2178
2178
|
*/
|
|
2179
2179
|
function normalizeCustomCollapseContent(content) {
|
|
2180
2180
|
if (content === null || content === undefined) {
|
|
@@ -2196,7 +2196,7 @@ function normalizeCustomCollapseContent(content) {
|
|
|
2196
2196
|
|
|
2197
2197
|
/**
|
|
2198
2198
|
* @private
|
|
2199
|
-
* @
|
|
2199
|
+
* @return {void}
|
|
2200
2200
|
*/
|
|
2201
2201
|
function focusFirstCustomCollapseElement() {
|
|
2202
2202
|
setTimeout(() => {
|
|
@@ -63,7 +63,7 @@ export const inputElementSymbol = Symbol("inputIconElement");
|
|
|
63
63
|
class Password extends CustomControl {
|
|
64
64
|
/**
|
|
65
65
|
* This method is called by the `instanceof` operator.
|
|
66
|
-
* @
|
|
66
|
+
* @return {symbol}
|
|
67
67
|
*/
|
|
68
68
|
static get [instanceSymbol]() {
|
|
69
69
|
return Symbol.for("@schukai/monster/components/form/password@@instance");
|
|
@@ -30,6 +30,9 @@ const observerSymbol = Symbol("observer");
|
|
|
30
30
|
const handlerSymbol = Symbol("handler");
|
|
31
31
|
const boundSymbol = Symbol("bound");
|
|
32
32
|
|
|
33
|
+
/**
|
|
34
|
+
* @summary Synchronizes the selected values of two select controls.
|
|
35
|
+
*/
|
|
33
36
|
class SelectLink extends CustomElement {
|
|
34
37
|
static get [instanceSymbol]() {
|
|
35
38
|
return Symbol.for("@schukai/monster/components/form/select-link@@instance");
|
|
@@ -1171,7 +1171,7 @@ function processAndApplyRemoteInfoTotal(data) {
|
|
|
1171
1171
|
* @param {string|null|undefined} message
|
|
1172
1172
|
* @param {object} [options]
|
|
1173
1173
|
* @param {boolean} [options.reserveSpace=false]
|
|
1174
|
-
* @
|
|
1174
|
+
* @return {void}
|
|
1175
1175
|
*/
|
|
1176
1176
|
function setRemoteInfoText(message, { reserveSpace = false } = {}) {
|
|
1177
1177
|
const normalizedMessage =
|
|
@@ -1206,7 +1206,7 @@ function setRemoteInfoText(message, { reserveSpace = false } = {}) {
|
|
|
1206
1206
|
|
|
1207
1207
|
/**
|
|
1208
1208
|
* @private
|
|
1209
|
-
* @
|
|
1209
|
+
* @return {number}
|
|
1210
1210
|
*/
|
|
1211
1211
|
function bumpOptionsVersion() {
|
|
1212
1212
|
if (!isInteger(this[optionsVersionSymbol])) {
|
|
@@ -1218,7 +1218,7 @@ function bumpOptionsVersion() {
|
|
|
1218
1218
|
|
|
1219
1219
|
/**
|
|
1220
1220
|
* @private
|
|
1221
|
-
* @
|
|
1221
|
+
* @return {*}
|
|
1222
1222
|
*/
|
|
1223
1223
|
function getSelectionSyncState() {
|
|
1224
1224
|
const attrValue = this.getAttribute("value");
|
|
@@ -1331,7 +1331,7 @@ function scheduleSelectionSync(version) {
|
|
|
1331
1331
|
/**
|
|
1332
1332
|
* @private
|
|
1333
1333
|
* @param data
|
|
1334
|
-
* @
|
|
1334
|
+
* @return {any}
|
|
1335
1335
|
*/
|
|
1336
1336
|
function importOptionsIntern(data) {
|
|
1337
1337
|
const self = this;
|
|
@@ -1505,7 +1505,7 @@ function isEmptyOptionLabel(label) {
|
|
|
1505
1505
|
|
|
1506
1506
|
/**
|
|
1507
1507
|
* @private
|
|
1508
|
-
* @
|
|
1508
|
+
* @return {object}
|
|
1509
1509
|
*/
|
|
1510
1510
|
function getTranslations() {
|
|
1511
1511
|
const locale = getLocaleOfDocument();
|
|
@@ -2144,7 +2144,7 @@ function finishTrackedFetch(token) {
|
|
|
2144
2144
|
*
|
|
2145
2145
|
* @param url
|
|
2146
2146
|
* @param controlOptions
|
|
2147
|
-
* @
|
|
2147
|
+
* @return {Promise<never>|Promise<unknown>}
|
|
2148
2148
|
*/
|
|
2149
2149
|
function fetchIt(url, controlOptions) {
|
|
2150
2150
|
const self = this;
|
|
@@ -2719,7 +2719,7 @@ function retryPendingOpenIntent() {
|
|
|
2719
2719
|
|
|
2720
2720
|
/**
|
|
2721
2721
|
* @private
|
|
2722
|
-
* @
|
|
2722
|
+
* @return {string}
|
|
2723
2723
|
*/
|
|
2724
2724
|
function getSelectionTemplate() {
|
|
2725
2725
|
return `<div data-monster-role="selection" part="selection"
|
|
@@ -2738,7 +2738,7 @@ function getSelectionTemplate() {
|
|
|
2738
2738
|
|
|
2739
2739
|
/**
|
|
2740
2740
|
* @private
|
|
2741
|
-
* @
|
|
2741
|
+
* @return {string}
|
|
2742
2742
|
*/
|
|
2743
2743
|
function getSummaryTemplate() {
|
|
2744
2744
|
return `<div data-monster-role="selection" role="search" part="summary">
|
|
@@ -2840,7 +2840,7 @@ function buildSelectionLabel(value) {
|
|
|
2840
2840
|
/**
|
|
2841
2841
|
* @private
|
|
2842
2842
|
* @param {*} value
|
|
2843
|
-
* @
|
|
2843
|
+
* @return {string}
|
|
2844
2844
|
*/
|
|
2845
2845
|
function getSelectionValueLabel(value) {
|
|
2846
2846
|
if (isValueIsEmpty.call(this, value)) {
|
|
@@ -2873,7 +2873,7 @@ function getSelectionValueLabel(value) {
|
|
|
2873
2873
|
/**
|
|
2874
2874
|
* @private
|
|
2875
2875
|
* @param {*} value
|
|
2876
|
-
* @
|
|
2876
|
+
* @return {*}
|
|
2877
2877
|
*/
|
|
2878
2878
|
function getSelectionStateKey(value) {
|
|
2879
2879
|
return this.getOption("features.useStrictValueComparison") === true
|
|
@@ -2884,7 +2884,7 @@ function getSelectionStateKey(value) {
|
|
|
2884
2884
|
/**
|
|
2885
2885
|
* @private
|
|
2886
2886
|
* @param {*} value
|
|
2887
|
-
* @
|
|
2887
|
+
* @return {*}
|
|
2888
2888
|
*/
|
|
2889
2889
|
function getSelectionCacheKey(value) {
|
|
2890
2890
|
return getSelectionStateKey.call(this, value);
|
|
@@ -2894,7 +2894,7 @@ function getSelectionCacheKey(value) {
|
|
|
2894
2894
|
* @private
|
|
2895
2895
|
* @param {*} current
|
|
2896
2896
|
* @param {*} expected
|
|
2897
|
-
* @
|
|
2897
|
+
* @return {boolean}
|
|
2898
2898
|
*/
|
|
2899
2899
|
function areLookupValuesEqual(current, expected) {
|
|
2900
2900
|
if (this.getOption("features.useStrictValueComparison") === true) {
|
|
@@ -2910,7 +2910,7 @@ function areLookupValuesEqual(current, expected) {
|
|
|
2910
2910
|
/**
|
|
2911
2911
|
* @private
|
|
2912
2912
|
* @param {*} value
|
|
2913
|
-
* @
|
|
2913
|
+
* @return {boolean}
|
|
2914
2914
|
*/
|
|
2915
2915
|
function markSelectionAsUnresolved(value) {
|
|
2916
2916
|
const key = getSelectionStateKey.call(this, value);
|
|
@@ -2925,7 +2925,7 @@ function markSelectionAsUnresolved(value) {
|
|
|
2925
2925
|
/**
|
|
2926
2926
|
* @private
|
|
2927
2927
|
* @param {*} value
|
|
2928
|
-
* @
|
|
2928
|
+
* @return {boolean}
|
|
2929
2929
|
*/
|
|
2930
2930
|
function clearUnresolvedSelectionValue(value) {
|
|
2931
2931
|
const key = getSelectionStateKey.call(this, value);
|
|
@@ -2935,7 +2935,7 @@ function clearUnresolvedSelectionValue(value) {
|
|
|
2935
2935
|
/**
|
|
2936
2936
|
* @private
|
|
2937
2937
|
* @param {*} value
|
|
2938
|
-
* @
|
|
2938
|
+
* @return {boolean}
|
|
2939
2939
|
*/
|
|
2940
2940
|
function isSelectionValueUnresolved(value) {
|
|
2941
2941
|
const key = getSelectionStateKey.call(this, value);
|
|
@@ -2945,7 +2945,7 @@ function isSelectionValueUnresolved(value) {
|
|
|
2945
2945
|
/**
|
|
2946
2946
|
* @private
|
|
2947
2947
|
* @param {*} value
|
|
2948
|
-
* @
|
|
2948
|
+
* @return {string}
|
|
2949
2949
|
*/
|
|
2950
2950
|
function getSelectionBadgeClass(value) {
|
|
2951
2951
|
const classes = new TokenList(this.getOption("classes.badge"));
|
|
@@ -2970,7 +2970,7 @@ function getSelectionBadgeClass(value) {
|
|
|
2970
2970
|
* @private
|
|
2971
2971
|
* @param {*} value
|
|
2972
2972
|
* @param {string} [preferredLabel]
|
|
2973
|
-
* @
|
|
2973
|
+
* @return {{class: string, label: string, unresolved: boolean, value: *}}
|
|
2974
2974
|
*/
|
|
2975
2975
|
function buildSelectionItem(value, preferredLabel) {
|
|
2976
2976
|
let label = getSelectionLabel.call(this, value);
|
|
@@ -2995,7 +2995,7 @@ function buildSelectionItem(value, preferredLabel) {
|
|
|
2995
2995
|
/**
|
|
2996
2996
|
* @private
|
|
2997
2997
|
* @param {string} filterValue
|
|
2998
|
-
* @
|
|
2998
|
+
* @return {{label: string, value: string}}
|
|
2999
2999
|
*/
|
|
3000
3000
|
function buildCreatedOption(filterValue) {
|
|
3001
3001
|
return {
|
|
@@ -3006,7 +3006,7 @@ function buildCreatedOption(filterValue) {
|
|
|
3006
3006
|
|
|
3007
3007
|
/**
|
|
3008
3008
|
* @private
|
|
3009
|
-
* @
|
|
3009
|
+
* @return {string}
|
|
3010
3010
|
*/
|
|
3011
3011
|
function getRawFilterInputValue() {
|
|
3012
3012
|
const element =
|
|
@@ -3020,7 +3020,7 @@ function getRawFilterInputValue() {
|
|
|
3020
3020
|
/**
|
|
3021
3021
|
* @private
|
|
3022
3022
|
* @param {string} filterValue
|
|
3023
|
-
* @
|
|
3023
|
+
* @return {{label: string, value: *}|null}
|
|
3024
3024
|
*/
|
|
3025
3025
|
function buildCreateOptionCandidate(filterValue) {
|
|
3026
3026
|
const formatter = this.getOption("formatter.createOption");
|
|
@@ -3055,7 +3055,7 @@ function buildCreateOptionCandidate(filterValue) {
|
|
|
3055
3055
|
* @private
|
|
3056
3056
|
* @param {{label: string, value: *}} candidate
|
|
3057
3057
|
* @param {string} filterValue
|
|
3058
|
-
* @
|
|
3058
|
+
* @return {boolean}
|
|
3059
3059
|
*/
|
|
3060
3060
|
function hasEquivalentCreateOption(candidate, filterValue) {
|
|
3061
3061
|
const normalizedFilter = filterValue.toLocaleLowerCase();
|
|
@@ -3080,7 +3080,7 @@ function hasEquivalentCreateOption(candidate, filterValue) {
|
|
|
3080
3080
|
|
|
3081
3081
|
/**
|
|
3082
3082
|
* @private
|
|
3083
|
-
* @
|
|
3083
|
+
* @return {HTMLElement|null}
|
|
3084
3084
|
*/
|
|
3085
3085
|
function ensureCreateOptionElement() {
|
|
3086
3086
|
if (!this.shadowRoot) {
|
|
@@ -3180,7 +3180,7 @@ function updateCreateOptionAction() {
|
|
|
3180
3180
|
*
|
|
3181
3181
|
* @private
|
|
3182
3182
|
* @param {*} value
|
|
3183
|
-
* @
|
|
3183
|
+
* @return {Promise<HTMLInputElement>}
|
|
3184
3184
|
*/
|
|
3185
3185
|
function waitForCreatedOptionControl(value) {
|
|
3186
3186
|
return new Promise((resolve, reject) => {
|
|
@@ -3216,7 +3216,7 @@ function waitForCreatedOptionControl(value) {
|
|
|
3216
3216
|
|
|
3217
3217
|
/**
|
|
3218
3218
|
* @private
|
|
3219
|
-
* @
|
|
3219
|
+
* @return {Promise<boolean>}
|
|
3220
3220
|
*/
|
|
3221
3221
|
async function createFilteredOption() {
|
|
3222
3222
|
updateCreateOptionAction.call(this);
|
|
@@ -3289,7 +3289,7 @@ async function createFilteredOption() {
|
|
|
3289
3289
|
/**
|
|
3290
3290
|
* @private
|
|
3291
3291
|
* @param {string} value The value to look up.
|
|
3292
|
-
* @
|
|
3292
|
+
* @return {Promise<void>}
|
|
3293
3293
|
*/
|
|
3294
3294
|
async function lookupValueAndCache(value) {
|
|
3295
3295
|
const lifecycleVersion = getRemoteLifecycleVersion.call(this);
|
|
@@ -3554,7 +3554,7 @@ function initOptionObserver() {
|
|
|
3554
3554
|
|
|
3555
3555
|
/**
|
|
3556
3556
|
* @private
|
|
3557
|
-
* @
|
|
3557
|
+
* @return {Translations}
|
|
3558
3558
|
*/
|
|
3559
3559
|
function getDefaultTranslation() {
|
|
3560
3560
|
const translation = new Translations("en").assignTranslations(
|
|
@@ -3666,7 +3666,7 @@ function getOptionElements() {
|
|
|
3666
3666
|
|
|
3667
3667
|
/**
|
|
3668
3668
|
* @private
|
|
3669
|
-
* @
|
|
3669
|
+
* @return {HTMLElement[]}
|
|
3670
3670
|
*/
|
|
3671
3671
|
function getNavigableOptionElements() {
|
|
3672
3672
|
if (!(this[optionsElementSymbol] instanceof HTMLElement)) {
|
|
@@ -4423,7 +4423,7 @@ function handleFilterInputEvents() {
|
|
|
4423
4423
|
|
|
4424
4424
|
/**
|
|
4425
4425
|
* @private
|
|
4426
|
-
* @
|
|
4426
|
+
* @return {string|undefined}
|
|
4427
4427
|
*/
|
|
4428
4428
|
function getCurrentFilterInputValue() {
|
|
4429
4429
|
switch (this.getOption("filter.position")) {
|
|
@@ -4503,7 +4503,7 @@ function filterFromRemote() {
|
|
|
4503
4503
|
* @private
|
|
4504
4504
|
* @param url
|
|
4505
4505
|
* @param {object} params
|
|
4506
|
-
* @
|
|
4506
|
+
* @return {string}
|
|
4507
4507
|
*/
|
|
4508
4508
|
function formatURL(url, params = {}, formatOptions = {}) {
|
|
4509
4509
|
const preserveEmptyFilter = formatOptions?.preserveEmptyFilter === true;
|
|
@@ -5264,7 +5264,7 @@ function convertSelectionToValue(selection) {
|
|
|
5264
5264
|
/**
|
|
5265
5265
|
* @private
|
|
5266
5266
|
* @param value
|
|
5267
|
-
* @
|
|
5267
|
+
* @return {boolean}
|
|
5268
5268
|
*
|
|
5269
5269
|
* Empty-equivalent matching is intentionally type-safe. Consumers that want
|
|
5270
5270
|
* numeric `0` to count as empty must configure `0`, not `"0"`.
|
|
@@ -5284,7 +5284,7 @@ function isValueIsEmpty(value) {
|
|
|
5284
5284
|
/**
|
|
5285
5285
|
* @private
|
|
5286
5286
|
* @param value
|
|
5287
|
-
* @
|
|
5287
|
+
* @return {*}
|
|
5288
5288
|
*/
|
|
5289
5289
|
function isValueIsEmptyThenGetNormalize(value) {
|
|
5290
5290
|
let emptyDefault = null;
|
|
@@ -5305,7 +5305,7 @@ function isValueIsEmptyThenGetNormalize(value) {
|
|
|
5305
5305
|
* @private
|
|
5306
5306
|
* @param {Array} current
|
|
5307
5307
|
* @param {Array} next
|
|
5308
|
-
* @
|
|
5308
|
+
* @return {boolean}
|
|
5309
5309
|
*/
|
|
5310
5310
|
function areSelectionValuesEqual(current, next) {
|
|
5311
5311
|
if (!isArray(current) || !isArray(next)) {
|
|
@@ -5338,7 +5338,7 @@ function areSelectionValuesEqual(current, next) {
|
|
|
5338
5338
|
/**
|
|
5339
5339
|
* @private
|
|
5340
5340
|
* @param selection
|
|
5341
|
-
* @
|
|
5341
|
+
* @return {Promise<unknown | void>}
|
|
5342
5342
|
*/
|
|
5343
5343
|
function setSelection(selection) {
|
|
5344
5344
|
if (isString(selection) || isInteger(selection)) {
|
|
@@ -64,6 +64,9 @@ const selectionMoveFrameSymbol = Symbol("sheetSelectionMoveFrame");
|
|
|
64
64
|
const pendingFillMoveSymbol = Symbol("sheetPendingFillMove");
|
|
65
65
|
const fillMoveFrameSymbol = Symbol("sheetFillMoveFrame");
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* @summary Provides an editable tabular form control with selection and fill operations.
|
|
69
|
+
*/
|
|
67
70
|
class Sheet extends CustomControl {
|
|
68
71
|
static get [instanceSymbol]() {
|
|
69
72
|
return Symbol.for("@schukai/monster/components/form/sheet@@instance");
|
|
@@ -20,7 +20,7 @@ import { validateInstance, validateString } from "../../../types/validate.mjs";
|
|
|
20
20
|
* Traverse the element's ancestors to find an existing Shadow DOM.
|
|
21
21
|
*
|
|
22
22
|
* @param {HTMLElement} element - The starting element.
|
|
23
|
-
* @
|
|
23
|
+
* @return {ShadowRoot|null} - The found Shadow DOM or null if none exists.
|
|
24
24
|
*/
|
|
25
25
|
function findShadowRoot(element) {
|
|
26
26
|
while (element) {
|
|
@@ -41,7 +41,7 @@ function findShadowRoot(element) {
|
|
|
41
41
|
* @param {string|URL} url - The URL from which to load the content.
|
|
42
42
|
* @param {Object} options - Options for the fetch call.
|
|
43
43
|
* @param {string} [filter] - Optional CSS selector to filter the loaded content.
|
|
44
|
-
* @
|
|
44
|
+
* @return {Promise<Object>} A promise that resolves to an object containing { content: string, type: string | null }.
|
|
45
45
|
* @throws {Error} When the content cannot be read or the response contains an error.
|
|
46
46
|
* @throws {TypeError} When the provided parameters do not match the expected types.
|
|
47
47
|
*/
|
|
@@ -104,7 +104,7 @@ function loadAndAssignContent(element, url, options, filter) {
|
|
|
104
104
|
*
|
|
105
105
|
* @param {string|URL} url - The URL from which to load the content.
|
|
106
106
|
* @param {Object} options - Options for the fetch call.
|
|
107
|
-
* @
|
|
107
|
+
* @return {Promise<Object>} A promise that resolves to an object { content: string, type: string | null }.
|
|
108
108
|
* @throws {Error} When the content cannot be read or the response contains an error.
|
|
109
109
|
* @throws {TypeError} When the URL cannot be validated as a string.
|
|
110
110
|
*/
|
|
@@ -247,9 +247,7 @@ class Wizard extends CustomElement {
|
|
|
247
247
|
* Navigate to the requested panel index.
|
|
248
248
|
*
|
|
249
249
|
* @param {number} targetIndex
|
|
250
|
-
* @param {Object} [options]
|
|
251
|
-
* @param {boolean} [options.force=false]
|
|
252
|
-
* @param {string} [options.reason="api"]
|
|
250
|
+
* @param {Object} [options] Optional force flag and navigation reason.
|
|
253
251
|
* @return {Promise<boolean>}
|
|
254
252
|
*/
|
|
255
253
|
async goTo(targetIndex, options = {}) {
|
|
@@ -378,7 +378,7 @@ function removeConfig(key) {
|
|
|
378
378
|
|
|
379
379
|
/**
|
|
380
380
|
* @private
|
|
381
|
-
* @
|
|
381
|
+
* @return {Promise<unknown>}
|
|
382
382
|
*/
|
|
383
383
|
function openDatabase() {
|
|
384
384
|
const window = getWindow();
|
|
@@ -508,7 +508,7 @@ function deleteBlob(key) {
|
|
|
508
508
|
* @private
|
|
509
509
|
* @param key
|
|
510
510
|
* @param blob
|
|
511
|
-
* @
|
|
511
|
+
* @return {Promise<unknown>}
|
|
512
512
|
*/
|
|
513
513
|
function setBlob(key, blob) {
|
|
514
514
|
const store = getObjectStore.call(this, MODE_READ_WRITE);
|
|
@@ -19,5 +19,6 @@ export { Details };
|
|
|
19
19
|
* @since 1.10.0
|
|
20
20
|
* @copyright Volker Schukai
|
|
21
21
|
* @deprecated since 3.64.0 use {@link Monster.Components.Layout.Details}
|
|
22
|
+
* @summary Provides the deprecated host alias for the layout details component.
|
|
22
23
|
*/
|
|
23
24
|
class Details extends NewDetails {}
|
|
@@ -159,7 +159,7 @@ class Host extends CustomElement {
|
|
|
159
159
|
|
|
160
160
|
/**
|
|
161
161
|
* @param {string} key
|
|
162
|
-
* @
|
|
162
|
+
* @return {*}
|
|
163
163
|
*/
|
|
164
164
|
hasConfig(key) {
|
|
165
165
|
if (this[configManagerElementSymbol] instanceof HTMLElement === false) {
|
|
@@ -171,7 +171,7 @@ class Host extends CustomElement {
|
|
|
171
171
|
/**
|
|
172
172
|
*
|
|
173
173
|
* @param {key} key
|
|
174
|
-
* @
|
|
174
|
+
* @return {*}
|
|
175
175
|
*/
|
|
176
176
|
deleteConfig(key) {
|
|
177
177
|
if (this[configManagerElementSymbol] instanceof HTMLElement === false) {
|
|
@@ -56,7 +56,7 @@ export const parkingElementSymbol = Symbol("parkingElement");
|
|
|
56
56
|
class Board extends CustomElement {
|
|
57
57
|
/**
|
|
58
58
|
* This method is called by the `instanceof` operator.
|
|
59
|
-
* @
|
|
59
|
+
* @return {symbol}
|
|
60
60
|
*/
|
|
61
61
|
static get [instanceSymbol]() {
|
|
62
62
|
return Symbol.for("@schukai/monster/components/layout/board@@instance");
|
|
@@ -286,7 +286,7 @@ function runEventQueue() {
|
|
|
286
286
|
|
|
287
287
|
/**
|
|
288
288
|
* @private
|
|
289
|
-
* @
|
|
289
|
+
* @return {handleCloseCommand}
|
|
290
290
|
*/
|
|
291
291
|
function handleCloseCommand() {
|
|
292
292
|
if (!this[detailsElementSymbol].classList.contains("active")) {
|
|
@@ -311,7 +311,7 @@ function handleCloseCommand() {
|
|
|
311
311
|
|
|
312
312
|
/**
|
|
313
313
|
* @private
|
|
314
|
-
* @
|
|
314
|
+
* @return {handleOpenCommand}
|
|
315
315
|
*/
|
|
316
316
|
function handleOpenCommand() {
|
|
317
317
|
let node;
|
|
@@ -59,7 +59,7 @@ export const fullScreenExitElementSymbol = Symbol("fullScreenExitElement");
|
|
|
59
59
|
class FullScreen extends CustomElement {
|
|
60
60
|
/**
|
|
61
61
|
* This method is called by the `instanceof` operator.
|
|
62
|
-
* @
|
|
62
|
+
* @return {symbol}
|
|
63
63
|
*/
|
|
64
64
|
static get [instanceSymbol]() {
|
|
65
65
|
return Symbol.for(
|
|
@@ -181,7 +181,7 @@ function initControlReferences() {
|
|
|
181
181
|
|
|
182
182
|
/**
|
|
183
183
|
* @private
|
|
184
|
-
* @
|
|
184
|
+
* @return {*}
|
|
185
185
|
*/
|
|
186
186
|
function findTargetControl() {
|
|
187
187
|
const rootNode = this.getRootNode?.() ?? document;
|
|
@@ -161,7 +161,7 @@ class Popper extends CustomElement {
|
|
|
161
161
|
* @property {string} popper.contentOverflow - Content clipping mode: both|horizontal|visible|smart
|
|
162
162
|
* @property {Object} features - Feature flags
|
|
163
163
|
* @property {boolean} features.preventOpenEventSent - Prevent open event
|
|
164
|
-
* @
|
|
164
|
+
* @return {Object} Default options merged with parent defaults
|
|
165
165
|
*/
|
|
166
166
|
get defaults() {
|
|
167
167
|
return Object.assign({}, super.defaults, {
|