@es-joy/jsoe 0.4.6 → 0.5.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/CHANGES.md +5 -0
- package/dist/formats/structuredCloning.d.ts +2 -2
- package/dist/formats/structuredCloning.d.ts.map +1 -1
- package/dist/formats.d.ts +1 -1
- package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
- package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/typeChoices.d.ts +8 -4
- package/dist/typeChoices.d.ts.map +1 -1
- package/dist/types.d.ts +9 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/dialogs.d.ts +1 -1
- package/dist/utils/dialogs.d.ts.map +1 -1
- package/dist/utils/templateUtils.d.ts +14 -14
- package/dist/utils/templateUtils.d.ts.map +1 -1
- package/package.json +21 -21
- package/src/formatAndTypeChoices.js +1 -1
- package/src/formats/structuredCloning.js +5 -5
- package/src/fundamentalTypes/arrayReferenceType.js +2 -2
- package/src/fundamentalTypes/arrayType.js +17 -16
- package/src/fundamentalTypes/dateType.js +3 -1
- package/src/index.js +7 -0
- package/src/typeChoices.js +8 -10
- package/src/types.js +3 -3
- package/src/utils/dialogs.js +2 -1
- package/src/utils/templateUtils.js +18 -14
- package/tsconfig.json +2 -2
package/CHANGES.md
CHANGED
|
@@ -6,8 +6,8 @@ export type AddAndSetArrayElement = (info: {
|
|
|
6
6
|
bringIntoFocus?: boolean;
|
|
7
7
|
schemaContent?: object;
|
|
8
8
|
schemaState?: import('../types.js').GetPossibleSchemasForPathAndType;
|
|
9
|
-
}) =>
|
|
10
|
-
export type EncapsulateObserver = import('typeson-registry').
|
|
9
|
+
}) => HTMLElement;
|
|
10
|
+
export type EncapsulateObserver = import('typeson-registry').EncapsulateObserver;
|
|
11
11
|
export type FormatIterator = (records: import('../formats.js').StructuredCloneValue, stateObj: import('../types.js').StateObject) => Promise<Element>;
|
|
12
12
|
/**
|
|
13
13
|
* @callback FormatIterator
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuredCloning.d.ts","sourceRoot":"","sources":["../../src/formats/structuredCloning.js"],"names":[],"mappings":";2CAcoB;IACnB,QAAY,EAAE,MAAM,CAAC;IACrB,IAAQ,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;IAC9C,KAAS,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;IACxD,cAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAe,CAAC,EAAE,OAAO,aAAa,EAAE,gCAAgC,CAAA;CACrE,KAAK,
|
|
1
|
+
{"version":3,"file":"structuredCloning.d.ts","sourceRoot":"","sources":["../../src/formats/structuredCloning.js"],"names":[],"mappings":";2CAcoB;IACnB,QAAY,EAAE,MAAM,CAAC;IACrB,IAAQ,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;IAC9C,KAAS,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;IACxD,cAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAe,CAAC,EAAE,OAAO,aAAa,EAAE,gCAAgC,CAAA;CACrE,KAAK,WAAW;kCAIP,OAAO,kBAAkB,EAAE,mBAAmB;uCA4RhD,OAAO,eAAe,EAAE,oBAAoB,YAC5C,OAAO,aAAa,EAAE,WAAW,KAC/B,QAAQ,OAAO,CAAC;AAJ7B;;;;;GAKG;AAEH,6CAA6C;AAC7C,iCADW,OAAO,eAAe,EAAE,MAAM,CA8FvC"}
|
package/dist/formats.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/arrayType.js"],"names":[],"mappings":";sBAUa,MAAM;;oCAQN,MAAM,gBAAgB,EAAE;sCAIxB,gBAAgB,EAAE;qCAKlB,IAAI;4BAGJ,MAAM,cAAc,GAAG;IACnC,sBAA0B,EAAE,qBAAqB,CAAC;IAClD,kBAAsB,EAAE,iBAAiB,CAAC;IAC1C,iBAAqB,EAAE,gBAAgB,CAAA;CACpC;uBAGS,MAAM,QAAQ,IAAI,CAAC;2BAKrB;IAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAC,KAClB,IAAI;+BAIJ,MAAM,gBAAgB,GAAC,SAAS;AAtC7C;;GAEG;AACH;;;;GAIG;AACH;;GAEG;AACH;;;GAGG;AAEH;;;GAGG;AACH;;;;;;GAMG;AACH;;GAEG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;GAEG;AACH,yBAFU,OAAO,aAAa,EAAE,UAAU,GAAG;IAAC,MAAM,CAAC,EAAE,OAAO,GAAC,SAAS,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"arrayType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/arrayType.js"],"names":[],"mappings":";sBAUa,MAAM;;oCAQN,MAAM,gBAAgB,EAAE;sCAIxB,gBAAgB,EAAE;qCAKlB,IAAI;4BAGJ,MAAM,cAAc,GAAG;IACnC,sBAA0B,EAAE,qBAAqB,CAAC;IAClD,kBAAsB,EAAE,iBAAiB,CAAC;IAC1C,iBAAqB,EAAE,gBAAgB,CAAA;CACpC;uBAGS,MAAM,QAAQ,IAAI,CAAC;2BAKrB;IAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAC,KAClB,IAAI;+BAIJ,MAAM,gBAAgB,GAAC,SAAS;AAtC7C;;GAEG;AACH;;;;GAIG;AACH;;GAEG;AACH;;;GAGG;AAEH;;;GAGG;AACH;;;;;;GAMG;AACH;;GAEG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;GAEG;AACH,yBAFU,OAAO,aAAa,EAAE,UAAU,GAAG;IAAC,MAAM,CAAC,EAAE,OAAO,GAAC,SAAS,CAAA;CAAC,CA40CvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/dateType.js"],"names":[],"mappings":";+CAMyB,IAAI,GAAC,SAAS,KAC/B,IAAI;AAHZ;;;;GAIG;AAEH;;;;;;;;;GASG;AACH;eARgB,MAAM;qBACA;QAAC,IAAI,EAAE,cAAc,CAAA;KAAC,KAAK,OAAO;4BAE1C,OAAO,eAAe,EAAE,oBAAoB,KAChD,OAAO;;
|
|
1
|
+
{"version":3,"file":"dateType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/dateType.js"],"names":[],"mappings":";+CAMyB,IAAI,GAAC,SAAS,KAC/B,IAAI;AAHZ;;;;GAIG;AAEH;;;;;;;;;GASG;AACH;eARgB,MAAM;qBACA;QAAC,IAAI,EAAE,cAAc,CAAA;KAAC,KAAK,OAAO;4BAE1C,OAAO,eAAe,EAAE,oBAAoB,KAChD,OAAO;;EA4If"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export { default as Types } from "./types.js";
|
|
2
2
|
export { buildTypeChoices as typeChoices } from "./typeChoices.js";
|
|
3
3
|
export type TypeRootGetter = import('./formatAndTypeChoices.js').TypeRootGetter;
|
|
4
|
+
export type SetType = (cfg: {
|
|
5
|
+
type: string;
|
|
6
|
+
baseValue?: import('./formats.js').StructuredCloneValue;
|
|
7
|
+
bringIntoFocus?: boolean;
|
|
8
|
+
}) => void;
|
|
4
9
|
export { default as Formats, getControlsForFormatAndValue } from "./formats.js";
|
|
5
10
|
export { formatAndTypeChoices, getFormatAndSchemaChoices } from "./formatAndTypeChoices.js";
|
|
6
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;6BACa,OAAO,2BAA2B,EAAE,cAAc"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;6BACa,OAAO,2BAA2B,EAAE,cAAc;4BAG5C;IACnB,IAAQ,EAAE,MAAM,CAAC;IACjB,SAAa,CAAC,EAAE,OAAO,cAAc,EAAE,oBAAoB,CAAC;IAC5D,cAAkB,CAAC,EAAE,OAAO,CAAA;CACzB,KAAK,IAAI"}
|
package/dist/typeChoices.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('./index.js').SetType} SetType
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @typedef {(info: {type: string, editUI: Element}) => void} AddTypeAndEditUI
|
|
3
6
|
*/
|
|
@@ -11,7 +14,7 @@
|
|
|
11
14
|
* @typedef {() => void} SetStyles
|
|
12
15
|
*/
|
|
13
16
|
/**
|
|
14
|
-
* @typedef {
|
|
17
|
+
* @typedef {HTMLElement & {
|
|
15
18
|
* $addAndValidateEditUI: AddAndValidateEditUI,
|
|
16
19
|
* $setStyles: SetStyles
|
|
17
20
|
* }} TypeChoicesElementAPI
|
|
@@ -53,7 +56,7 @@
|
|
|
53
56
|
* schemaContent?: object,
|
|
54
57
|
* }} cfg
|
|
55
58
|
* @returns {{
|
|
56
|
-
* domArray: [select:
|
|
59
|
+
* domArray: [select: HTMLElement, typeContainer: HTMLElement],
|
|
57
60
|
* getValue: GetValue,
|
|
58
61
|
* getType: GetType,
|
|
59
62
|
* validValuesSet: ValidValuesSet,
|
|
@@ -64,6 +67,7 @@
|
|
|
64
67
|
* @type {BuildTypeChoices}
|
|
65
68
|
*/
|
|
66
69
|
export const buildTypeChoices: BuildTypeChoices;
|
|
70
|
+
export type SetType = import('./index.js').SetType;
|
|
67
71
|
export type AddTypeAndEditUI = (info: {
|
|
68
72
|
type: string;
|
|
69
73
|
editUI: Element;
|
|
@@ -73,7 +77,7 @@ export type AddAndValidateEditUI = (info?: {
|
|
|
73
77
|
bringIntoFocus?: boolean;
|
|
74
78
|
}) => void;
|
|
75
79
|
export type SetStyles = () => void;
|
|
76
|
-
export type TypeChoicesElementAPI =
|
|
80
|
+
export type TypeChoicesElementAPI = HTMLElement & {
|
|
77
81
|
$addAndValidateEditUI: AddAndValidateEditUI;
|
|
78
82
|
$setStyles: SetStyles;
|
|
79
83
|
};
|
|
@@ -94,7 +98,7 @@ export type BuildTypeChoices = (cfg: {
|
|
|
94
98
|
schema?: string;
|
|
95
99
|
schemaContent?: object;
|
|
96
100
|
}) => {
|
|
97
|
-
domArray: [select:
|
|
101
|
+
domArray: [select: HTMLElement, typeContainer: HTMLElement];
|
|
98
102
|
getValue: GetValue;
|
|
99
103
|
getType: GetType;
|
|
100
104
|
validValuesSet: ValidValuesSet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeChoices.d.ts","sourceRoot":"","sources":["../src/typeChoices.js"],"names":[],"mappings":"AAOA;;GAEG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,+BAFU,gBAAgB,
|
|
1
|
+
{"version":3,"file":"typeChoices.d.ts","sourceRoot":"","sources":["../src/typeChoices.js"],"names":[],"mappings":"AAOA;;GAEG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;GAEG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,+BAFU,gBAAgB,CAqPxB;sBAhUW,OAAO,YAAY,EAAE,OAAO;sCAIrB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,KAAK,IAAI;2CAIvC;IACpB,SAAa,CAAC,EAAE,OAAO,cAAc,EAAE,oBAAoB,CAAC;IAC5D,cAAkB,CAAC,EAAE,OAAO,CAAA;CACzB,KAAK,IAAI;wBAIA,MAAM,IAAI;oCAIV,WAAW,GAAG;IAC1B,qBAAyB,EAAE,oBAAoB,CAAC;IAChD,UAAc,EAAE,SAAS,CAAA;CACtB;sHAQS,OAAO,cAAc,EAAE,oBAAoB;4BAK3C,MAAM,GAAC,IAAI,GAAC,SAAS;mCAKrB,OAAO;+BAKT,OAAO,cAAc,EAAE,oBAAoB,YAC3C,OAAO,YAAY,EAAE,WAAW,KAC9B,QAAQ,IAAI,CAAC;qCAKf;IACV,MAAU,EAAE,OAAO,cAAc,EAAE,eAAe,CAAC;IACnD,aAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAS,CAAC,EAAE,OAAO,cAAc,EAAE,oBAAoB,CAAC;IACxD,QAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAW,CAAC,EAAE,OAAO,YAAY,EAAE,WAAW,CAAC;IAC/C,MAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAiB,CAAC,EAAE,MAAM,CAAC;CACxB,KACS;IACZ,QAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAChE,QAAY,EAAE,QAAQ,CAAC;IACvB,OAAW,EAAE,OAAO,CAAC;IACrB,cAAkB,EAAE,cAAc,CAAC;IACnC,QAAY,EAAE,QAAQ,CAAA;CACnB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export type GetFormControlForRoot = (root: RootElement) => null | HTMLInputEleme
|
|
|
16
16
|
/**
|
|
17
17
|
* Utility to get the value for a root using its ancestor and state.
|
|
18
18
|
*/
|
|
19
|
-
export type GetValueFromRootAncestor = (selOrEl: string |
|
|
20
|
-
export type GetFormControlFromRootAncestor = (selOrEl: string |
|
|
19
|
+
export type GetValueFromRootAncestor = (selOrEl: string | HTMLElement, stateObj: StateObject) => StructuredCloneValue;
|
|
20
|
+
export type GetFormControlFromRootAncestor = (selOrEl: string | HTMLElement) => null | HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement;
|
|
21
21
|
export type GetTypesForFormatAndState = (format: string, state?: string | undefined) => AvailableType[] | undefined;
|
|
22
22
|
export type GetOptionForType = (type: AvailableType) => [string, {
|
|
23
23
|
value: AvailableType;
|
|
@@ -41,7 +41,7 @@ export type GetUIForModeAndType = (cfg: {
|
|
|
41
41
|
value: StructuredCloneValue;
|
|
42
42
|
hasValue: boolean;
|
|
43
43
|
replaced?: StructuredCloneValue;
|
|
44
|
-
}) =>
|
|
44
|
+
}) => HTMLElement;
|
|
45
45
|
export type ValidValuesSet = (cfg: {
|
|
46
46
|
form: HTMLFormElement;
|
|
47
47
|
typeNamespace?: string;
|
|
@@ -270,13 +270,13 @@ export type RootElement = HTMLDivElement;
|
|
|
270
270
|
/**
|
|
271
271
|
* Utility to get the value for a root using its ancestor and state.
|
|
272
272
|
* @callback GetValueFromRootAncestor
|
|
273
|
-
* @param {string|
|
|
273
|
+
* @param {string|HTMLElement} selOrEl
|
|
274
274
|
* @param {StateObject} stateObj
|
|
275
275
|
* @returns {StructuredCloneValue}
|
|
276
276
|
*/
|
|
277
277
|
/**
|
|
278
278
|
* @callback GetFormControlFromRootAncestor
|
|
279
|
-
* @param {string|
|
|
279
|
+
* @param {string|HTMLElement} selOrEl
|
|
280
280
|
* @returns {null|HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement|
|
|
281
281
|
* HTMLButtonElement}
|
|
282
282
|
*/
|
|
@@ -312,7 +312,7 @@ export type RootElement = HTMLDivElement;
|
|
|
312
312
|
* value: StructuredCloneValue,
|
|
313
313
|
* hasValue: boolean,
|
|
314
314
|
* replaced?: StructuredCloneValue,
|
|
315
|
-
* }) =>
|
|
315
|
+
* }) => HTMLElement} GetUIForModeAndType
|
|
316
316
|
*/
|
|
317
317
|
/**
|
|
318
318
|
* @typedef {(cfg: {
|
|
@@ -426,17 +426,17 @@ declare const Types: {
|
|
|
426
426
|
} | {
|
|
427
427
|
sparse: true;
|
|
428
428
|
};
|
|
429
|
-
|
|
429
|
+
false: string[] | Partial<TypeObject> | {
|
|
430
430
|
valid: true;
|
|
431
431
|
} | {
|
|
432
432
|
sparse: true;
|
|
433
433
|
};
|
|
434
|
-
|
|
434
|
+
file: string[] | Partial<TypeObject> | {
|
|
435
435
|
valid: true;
|
|
436
436
|
} | {
|
|
437
437
|
sparse: true;
|
|
438
438
|
};
|
|
439
|
-
|
|
439
|
+
arraybuffer: string[] | Partial<TypeObject> | {
|
|
440
440
|
valid: true;
|
|
441
441
|
} | {
|
|
442
442
|
sparse: true;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.js"],"names":[],"mappings":"AAsCO,mDAHI,iBAAiB,GACf,MAAM,CAmBlB;;;;;oCAKW,WAAW,YACV,MAAM,GAAC,SAAS,GAAC,IAAI;;;;;qCAOvB,WAAW,2EAGT,oBAAoB;;;;2CAMtB,WAAW,KACT,IAAI,GAChB,gBAAoB,GAAC,mBAAmB,GAAC,iBAAiB,GAAC,iBAAiB;;;;iDAMlE,MAAM,GAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.js"],"names":[],"mappings":"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"}
|
package/dist/utils/dialogs.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../src/utils/dialogs.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"dialogs.d.ts","sourceRoot":"","sources":["../../src/utils/dialogs.js"],"names":[],"mappings":";;;;;uBAiBa,MAAM;IAEjB;;;OAGG;IACH,sDAEC;IAED;;;;;;OAMG;IACH;;;OAGG;IACH;;;;;0BAmBC;IACD;;;;;;;;OAQG;IACH;;;OAGG;IACH;;;;;;;;;;;;;0BA2BC;IACD;;;;;;OAMG;IACH;;;;;;;;;;;;;;;;;;;;0BAiBC;IACD;;;;;;OAMG;IACH;;;sBAiBC;IACD;;;;;OAKG;IACH;;;;;;qBAwBC"}
|
|
@@ -5,26 +5,26 @@ export namespace U {
|
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* @param {string} sel
|
|
8
|
-
* @returns {
|
|
8
|
+
* @returns {HTMLElement|null}
|
|
9
9
|
*/
|
|
10
|
-
export function $(sel: string):
|
|
10
|
+
export function $(sel: string): HTMLElement | null;
|
|
11
11
|
/**
|
|
12
12
|
* @param {string} sel
|
|
13
|
-
* @returns {
|
|
13
|
+
* @returns {HTMLElement[]}
|
|
14
14
|
*/
|
|
15
|
-
export function $$(sel: string):
|
|
15
|
+
export function $$(sel: string): HTMLElement[];
|
|
16
16
|
/**
|
|
17
|
-
* @param {
|
|
17
|
+
* @param {HTMLElement|string} el
|
|
18
18
|
* @param {string} descendentsSel
|
|
19
19
|
* @returns {HTMLElement|null}
|
|
20
20
|
*/
|
|
21
|
-
export function $e(el:
|
|
21
|
+
export function $e(el: HTMLElement | string, descendentsSel: string): HTMLElement | null;
|
|
22
22
|
/**
|
|
23
|
-
* @param {
|
|
23
|
+
* @param {HTMLElement|string} el
|
|
24
24
|
* @param {string} descendentsSel
|
|
25
|
-
* @returns {
|
|
25
|
+
* @returns {HTMLElement[]}
|
|
26
26
|
*/
|
|
27
|
-
export function $$e(el:
|
|
27
|
+
export function $$e(el: HTMLElement | string, descendentsSel: string): HTMLElement[];
|
|
28
28
|
export namespace DOM {
|
|
29
29
|
export { removeChildren };
|
|
30
30
|
export { removeIfExists };
|
|
@@ -40,16 +40,16 @@ declare const downArrow: "↓";
|
|
|
40
40
|
*/
|
|
41
41
|
declare function removeChildren(node: Node): void;
|
|
42
42
|
/**
|
|
43
|
-
* @param {
|
|
43
|
+
* @param {HTMLElement|string} sel
|
|
44
44
|
* @returns {void}
|
|
45
45
|
*/
|
|
46
|
-
declare function removeIfExists(sel:
|
|
46
|
+
declare function removeIfExists(sel: HTMLElement | string): void;
|
|
47
47
|
/**
|
|
48
|
-
* @param {
|
|
48
|
+
* @param {HTMLElement} el
|
|
49
49
|
* @param {string|string[]} selectors
|
|
50
|
-
* @returns {
|
|
50
|
+
* @returns {HTMLElement[]}
|
|
51
51
|
*/
|
|
52
|
-
declare function filterChildElements(el:
|
|
52
|
+
declare function filterChildElements(el: HTMLElement, selectors: string | string[]): HTMLElement[];
|
|
53
53
|
/**
|
|
54
54
|
* @param {string} s
|
|
55
55
|
* @returns {string}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templateUtils.d.ts","sourceRoot":"","sources":["../../src/utils/templateUtils.js"],"names":[],"mappings":";;;;;AAMA;;;GAGG;AACH,uBAHW,MAAM,GACJ,
|
|
1
|
+
{"version":3,"file":"templateUtils.d.ts","sourceRoot":"","sources":["../../src/utils/templateUtils.js"],"names":[],"mappings":";;;;;AAMA;;;GAGG;AACH,uBAHW,MAAM,GACJ,WAAW,GAAC,IAAI,CAEiB;AAE9C;;;GAGG;AACH,wBAHW,MAAM,GACJ,WAAW,EAAE,CAIvB;AAEH;;;;GAIG;AACH,uBAJW,WAAW,GAAC,MAAM,kBAClB,MAAM,GACJ,WAAW,GAAC,IAAI,CAQ5B;AAED;;;;GAIG;AACH,wBAJW,WAAW,GAAC,MAAM,kBAClB,MAAM,GACJ,WAAW,EAAE,CAUzB;;;;;;;AA7CD,wBAAsB;AACtB,2BAAyB;AACzB,6BAA2B;AA6C3B;;;GAGG;AACH,sCAHW,IAAI,GACF,IAAI,CAUhB;AAED;;;GAGG;AACH,qCAHW,WAAW,GAAC,MAAM,GAChB,IAAI,CAOhB;AAED;;;;GAIG;AACH,yCAJW,WAAW,aACX,MAAM,GAAC,MAAM,EAAE,GACb,WAAW,EAAE,CA+BzB;AAED;;;GAGG;AACH,gCAHW,MAAM,GACJ,MAAM,CAIlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@es-joy/jsoe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -45,52 +45,52 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@brettz9/node-static": "^0.1.1",
|
|
48
|
-
"jamilih": "0.
|
|
48
|
+
"jamilih": "0.58.1",
|
|
49
49
|
"sceditor": "3.2.0",
|
|
50
|
-
"typeson-registry": "7.
|
|
50
|
+
"typeson-registry": "7.2.1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"@babel/core": "^7.
|
|
54
|
-
"@babel/plugin-transform-modules-commonjs": "^7.
|
|
55
|
-
"@babel/preset-env": "^7.
|
|
56
|
-
"@babel/register": "^7.
|
|
53
|
+
"@babel/core": "^7.22.5",
|
|
54
|
+
"@babel/plugin-transform-modules-commonjs": "^7.22.5",
|
|
55
|
+
"@babel/preset-env": "^7.22.5",
|
|
56
|
+
"@babel/register": "^7.22.5",
|
|
57
57
|
"@brettz9/eslint-plugin": "^1.0.4",
|
|
58
|
-
"@cypress/code-coverage": "^3.10.
|
|
58
|
+
"@cypress/code-coverage": "^3.10.7",
|
|
59
59
|
"@rollup/plugin-babel": "^6.0.3",
|
|
60
|
-
"@rollup/plugin-commonjs": "^
|
|
61
|
-
"@rollup/plugin-node-resolve": "^15.0
|
|
60
|
+
"@rollup/plugin-commonjs": "^25.0.1",
|
|
61
|
+
"@rollup/plugin-node-resolve": "^15.1.0",
|
|
62
62
|
"@types/jsdom": "^21.1.1",
|
|
63
|
-
"axe-core": "^4.7.
|
|
64
|
-
"cypress": "^12.
|
|
63
|
+
"axe-core": "^4.7.2",
|
|
64
|
+
"cypress": "^12.14.0",
|
|
65
65
|
"cypress-axe": "^1.4.0",
|
|
66
|
-
"eslint": "^8.
|
|
67
|
-
"eslint-config-ash-nazg": "^34.
|
|
68
|
-
"eslint-config-standard": "^17.
|
|
66
|
+
"eslint": "^8.42.0",
|
|
67
|
+
"eslint-config-ash-nazg": "^34.15.0",
|
|
68
|
+
"eslint-config-standard": "^17.1.0",
|
|
69
69
|
"eslint-plugin-array-func": "^3.1.8",
|
|
70
70
|
"eslint-plugin-compat": "^4.1.4",
|
|
71
71
|
"eslint-plugin-cypress": "^2.13.3",
|
|
72
72
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
73
73
|
"eslint-plugin-html": "^7.1.0",
|
|
74
74
|
"eslint-plugin-import": "^2.27.5",
|
|
75
|
-
"eslint-plugin-jsdoc": "^
|
|
75
|
+
"eslint-plugin-jsdoc": "^46.2.6",
|
|
76
76
|
"eslint-plugin-markdown": "^3.0.0",
|
|
77
|
-
"eslint-plugin-n": "^
|
|
77
|
+
"eslint-plugin-n": "^16.0.0",
|
|
78
78
|
"eslint-plugin-no-unsanitized": "^4.0.2",
|
|
79
79
|
"eslint-plugin-no-use-extend-native": "^0.5.0",
|
|
80
80
|
"eslint-plugin-promise": "^6.1.1",
|
|
81
81
|
"eslint-plugin-sonarjs": "^0.19.0",
|
|
82
82
|
"eslint-plugin-standard": "^4.1.0",
|
|
83
|
-
"eslint-plugin-unicorn": "^
|
|
83
|
+
"eslint-plugin-unicorn": "^47.0.0",
|
|
84
84
|
"fast-deep-equal": "^3.1.3",
|
|
85
85
|
"jsdom": "^21.1.1",
|
|
86
86
|
"npm-run-all": "^4.1.5",
|
|
87
87
|
"nyc": "^15.1.0",
|
|
88
88
|
"open-cli": "^7.2.0",
|
|
89
|
-
"rimraf": "^5.0.
|
|
90
|
-
"rollup": "3.
|
|
89
|
+
"rimraf": "^5.0.1",
|
|
90
|
+
"rollup": "3.25.0",
|
|
91
91
|
"rollup-plugin-istanbul": "^4.0.0",
|
|
92
92
|
"rollup-plugin-node-builtins": "^2.1.2",
|
|
93
|
-
"typescript": "^5.
|
|
93
|
+
"typescript": "^5.1.3"
|
|
94
94
|
},
|
|
95
95
|
"repository": {
|
|
96
96
|
"type": "git",
|
|
@@ -163,7 +163,7 @@ export function formatAndTypeChoices ({
|
|
|
163
163
|
}
|
|
164
164
|
},
|
|
165
165
|
$on: {change () {
|
|
166
|
-
/** @type {
|
|
166
|
+
/** @type {HTMLElement & {$buildTypeChoices: TypeChoiceBuilder}} */ (
|
|
167
167
|
this
|
|
168
168
|
).$buildTypeChoices();
|
|
169
169
|
}}
|
|
@@ -19,11 +19,11 @@ import json from './json.js';
|
|
|
19
19
|
* bringIntoFocus?: boolean,
|
|
20
20
|
* schemaContent?: object,
|
|
21
21
|
* schemaState?: import('../types.js').GetPossibleSchemasForPathAndType
|
|
22
|
-
* }) =>
|
|
22
|
+
* }) => HTMLElement} AddAndSetArrayElement
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* @typedef {import('typeson-registry').
|
|
26
|
+
* @typedef {import('typeson-registry').EncapsulateObserver} EncapsulateObserver
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
29
|
/**
|
|
@@ -39,7 +39,7 @@ const encapsulateObserver = (stateObj) => {
|
|
|
39
39
|
const format = /** @type {import('../formats.js').AvailableFormat} */ (frmt);
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
|
-
* @type {{[key: string]:
|
|
42
|
+
* @type {{[key: string]: HTMLElement & {
|
|
43
43
|
* $addAndSetArrayElement: AddAndSetArrayElement
|
|
44
44
|
* }}}
|
|
45
45
|
*/
|
|
@@ -149,7 +149,7 @@ const encapsulateObserver = (stateObj) => {
|
|
|
149
149
|
replaced
|
|
150
150
|
});
|
|
151
151
|
parents[''] = /**
|
|
152
|
-
* @type {
|
|
152
|
+
* @type {HTMLElement &
|
|
153
153
|
* {$addAndSetArrayElement: AddAndSetArrayElement}}
|
|
154
154
|
*/ (stateObj.rootUI);
|
|
155
155
|
return;
|
|
@@ -205,7 +205,7 @@ const encapsulateObserver = (stateObj) => {
|
|
|
205
205
|
|
|
206
206
|
if (hasChildren) {
|
|
207
207
|
parents[keypath] = /**
|
|
208
|
-
* @type {
|
|
208
|
+
* @type {HTMLElement &
|
|
209
209
|
* {$addAndSetArrayElement: AddAndSetArrayElement}}
|
|
210
210
|
*/ (
|
|
211
211
|
root
|
|
@@ -109,7 +109,7 @@ const arrayReferenceType = {
|
|
|
109
109
|
// order)
|
|
110
110
|
const legends = DOM.filterChildElements(
|
|
111
111
|
// Ensure we are only getting one array level at a time
|
|
112
|
-
/** @type {
|
|
112
|
+
/** @type {HTMLElement} */ ($e(referent, '.arrayItems')),
|
|
113
113
|
['fieldset', 'legend']
|
|
114
114
|
);
|
|
115
115
|
const childPropertyValues = legends.map(
|
|
@@ -123,7 +123,7 @@ const arrayReferenceType = {
|
|
|
123
123
|
return true;
|
|
124
124
|
}
|
|
125
125
|
referent = /** @type {HTMLDivElement} */ ($e(
|
|
126
|
-
/** @type {
|
|
126
|
+
/** @type {HTMLElement} */ (legends[partMatchIndex].parentElement),
|
|
127
127
|
'div[data-type]'
|
|
128
128
|
));
|
|
129
129
|
if (referent === root) {
|
|
@@ -193,7 +193,7 @@ const arrayType = {
|
|
|
193
193
|
},
|
|
194
194
|
getValue ({root, stateObj = {}, currentPath = ''}) {
|
|
195
195
|
const top = currentPath === '';
|
|
196
|
-
const arrayItems = /** @type {
|
|
196
|
+
const arrayItems = /** @type {HTMLElement} */ ($e(root, '.arrayItems'));
|
|
197
197
|
const fieldsets = arrayItems.children;
|
|
198
198
|
|
|
199
199
|
/**
|
|
@@ -235,14 +235,14 @@ const arrayType = {
|
|
|
235
235
|
/** @type {HTMLLegendElement} */ (legend)
|
|
236
236
|
);
|
|
237
237
|
const root = /** @type {HTMLDivElement} */ (
|
|
238
|
-
$e(fieldset, 'div[data-type]')
|
|
238
|
+
$e(/** @type {HTMLElement} */ (fieldset), 'div[data-type]')
|
|
239
239
|
);
|
|
240
240
|
/* istanbul ignore if -- Should err first? */
|
|
241
241
|
if (!root) {
|
|
242
242
|
return;
|
|
243
243
|
}
|
|
244
244
|
|
|
245
|
-
const objectProperty = $e(/** @type {
|
|
245
|
+
const objectProperty = $e(/** @type {HTMLElement} */ (legend), 'input');
|
|
246
246
|
const [isVal, value] = getValOrRef(
|
|
247
247
|
root,
|
|
248
248
|
propVal
|
|
@@ -384,12 +384,12 @@ const arrayType = {
|
|
|
384
384
|
e.preventDefault();
|
|
385
385
|
const {target} = e;
|
|
386
386
|
const arrayContents = /** @type {HTMLDivElement} */ ($e(
|
|
387
|
-
/** @type {
|
|
388
|
-
(/** @type {
|
|
387
|
+
/** @type {HTMLElement} */
|
|
388
|
+
(/** @type {HTMLElement} */ (target).closest('.arrayHolder')),
|
|
389
389
|
'.arrayContents'
|
|
390
390
|
));
|
|
391
391
|
arrayContents.hidden = !arrayContents.hidden;
|
|
392
|
-
/** @type {
|
|
392
|
+
/** @type {HTMLElement} */ (
|
|
393
393
|
target
|
|
394
394
|
).textContent = arrayContents.hidden ? '+' : '-';
|
|
395
395
|
}}}, ['-']]),
|
|
@@ -451,9 +451,9 @@ const arrayType = {
|
|
|
451
451
|
*/
|
|
452
452
|
const $swapGroup = function (holder, direction) {
|
|
453
453
|
const group = /** @type {HTMLElement} */ (holder.parentElement);
|
|
454
|
-
const swapGroup = group[
|
|
454
|
+
const swapGroup = /** @type {HTMLElement} */ (group[
|
|
455
455
|
(direction === 'up' ? 'previousElementSibling' : 'nextElementSibling')
|
|
456
|
-
];
|
|
456
|
+
]);
|
|
457
457
|
/* istanbul ignore if -- Just a guard */
|
|
458
458
|
if (!swapGroup || swapGroup.nodeName.toLowerCase() !== 'fieldset') {
|
|
459
459
|
return;
|
|
@@ -648,7 +648,7 @@ const arrayType = {
|
|
|
648
648
|
});
|
|
649
649
|
const arrLengthInput = /** @type {HTMLInputElement} */ (
|
|
650
650
|
$e(
|
|
651
|
-
/** @type {
|
|
651
|
+
/** @type {HTMLElement} */ (arrayItems.previousElementSibling),
|
|
652
652
|
'input'
|
|
653
653
|
)
|
|
654
654
|
);
|
|
@@ -1100,7 +1100,7 @@ const arrayType = {
|
|
|
1100
1100
|
*/
|
|
1101
1101
|
const $getArrayLength = function () {
|
|
1102
1102
|
return Number(/** @type {HTMLInputElement} */ (
|
|
1103
|
-
$e(/** @type {
|
|
1103
|
+
$e(/** @type {HTMLElement} */ (this.previousElementSibling), 'input')
|
|
1104
1104
|
).value);
|
|
1105
1105
|
};
|
|
1106
1106
|
|
|
@@ -1187,7 +1187,7 @@ const arrayType = {
|
|
|
1187
1187
|
*/
|
|
1188
1188
|
async change () {
|
|
1189
1189
|
const arrayItems = $e(
|
|
1190
|
-
/** @type {
|
|
1190
|
+
/** @type {HTMLElement} */ (
|
|
1191
1191
|
this.closest('.arrayContents')
|
|
1192
1192
|
),
|
|
1193
1193
|
'.arrayItems'
|
|
@@ -1265,13 +1265,14 @@ const arrayType = {
|
|
|
1265
1265
|
arrayItems,
|
|
1266
1266
|
addArrayElement,
|
|
1267
1267
|
['button', {$on: {click () {
|
|
1268
|
-
const arrayContents = /** @type {
|
|
1268
|
+
const arrayContents = /** @type {HTMLElement} */ (
|
|
1269
|
+
// @ts-ignore Erring out of IDE
|
|
1269
1270
|
this.closest('.arrayContents')
|
|
1270
1271
|
);
|
|
1271
1272
|
const arrayItems =
|
|
1272
1273
|
// eslint-disable-next-line max-len -- Long
|
|
1273
1274
|
/** @type {HTMLDivElement & {$getPropertyInputs: GetPropertyInputs;}} */ (
|
|
1274
|
-
$e(arrayContents, '.arrayItems')
|
|
1275
|
+
$e(/** @type {HTMLElement} */ (arrayContents), '.arrayItems')
|
|
1275
1276
|
);
|
|
1276
1277
|
const lastElement = arrayItems.lastElementChild;
|
|
1277
1278
|
if (lastElement) {
|
|
@@ -1279,7 +1280,7 @@ const arrayType = {
|
|
|
1279
1280
|
decrementItemIndex(arrayItems);
|
|
1280
1281
|
// eslint-disable-next-line max-len -- Long
|
|
1281
1282
|
/** @type {HTMLDivElement & {$redrawMoveArrows: RedrawMoveArrows}} */ (
|
|
1282
|
-
$e(arrayContents, '.arrayItems')
|
|
1283
|
+
$e(/** @type {HTMLElement} */ (arrayContents), '.arrayItems')
|
|
1283
1284
|
).$redrawMoveArrows();
|
|
1284
1285
|
}
|
|
1285
1286
|
// Maybe not needed as removal would remove circular
|
|
@@ -1293,8 +1294,8 @@ const arrayType = {
|
|
|
1293
1294
|
const arrayItems =
|
|
1294
1295
|
// eslint-disable-next-line max-len -- Long
|
|
1295
1296
|
/** @type {HTMLDivElement & {$getPropertyInputs: GetPropertyInputs}} */ ($e(
|
|
1296
|
-
/** @type {
|
|
1297
|
-
/** @type {
|
|
1297
|
+
/** @type {HTMLElement} */ (
|
|
1298
|
+
/** @type {HTMLElement} */ (this).closest('.arrayContents')
|
|
1298
1299
|
),
|
|
1299
1300
|
'.arrayItems'
|
|
1300
1301
|
));
|
|
@@ -113,6 +113,7 @@ const dateType = {
|
|
|
113
113
|
$setValidity (legitimateInvalid) {
|
|
114
114
|
console.log('legitimateInvalid', legitimateInvalid);
|
|
115
115
|
if (legitimateInvalid === true) {
|
|
116
|
+
// @ts-ignore Erring out of IDE
|
|
116
117
|
/** @type {HTMLInputElement} */ (this).checked = true;
|
|
117
118
|
}
|
|
118
119
|
const label = /** @type {HTMLLabelElement} */ (
|
|
@@ -128,8 +129,9 @@ const dateType = {
|
|
|
128
129
|
}
|
|
129
130
|
},
|
|
130
131
|
$on: {
|
|
132
|
+
// @ts-ignore Erring out of IDE
|
|
131
133
|
click (e) {
|
|
132
|
-
/** @type {
|
|
134
|
+
/** @type {HTMLElement & {$setValidity: SetValidity}} */ (
|
|
133
135
|
this
|
|
134
136
|
).$setValidity();
|
|
135
137
|
}
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {import('./formatAndTypeChoices.js').TypeRootGetter} TypeRootGetter
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {(cfg: {
|
|
6
|
+
* type: string,
|
|
7
|
+
* baseValue?: import('./formats.js').StructuredCloneValue,
|
|
8
|
+
* bringIntoFocus?: boolean
|
|
9
|
+
* }) => void} SetType
|
|
10
|
+
*/
|
|
4
11
|
|
|
5
12
|
export {default as Types} from './types.js';
|
|
6
13
|
|
package/src/typeChoices.js
CHANGED
|
@@ -5,6 +5,10 @@ import Types from './types.js';
|
|
|
5
5
|
import {$e, DOM} from './utils/templateUtils.js';
|
|
6
6
|
import dialogs from './utils/dialogs.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @typedef {import('./index.js').SetType} SetType
|
|
10
|
+
*/
|
|
11
|
+
|
|
8
12
|
/**
|
|
9
13
|
* @typedef {(info: {type: string, editUI: Element}) => void} AddTypeAndEditUI
|
|
10
14
|
*/
|
|
@@ -21,7 +25,7 @@ import dialogs from './utils/dialogs.js';
|
|
|
21
25
|
*/
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
|
-
* @typedef {
|
|
28
|
+
* @typedef {HTMLElement & {
|
|
25
29
|
* $addAndValidateEditUI: AddAndValidateEditUI,
|
|
26
30
|
* $setStyles: SetStyles
|
|
27
31
|
* }} TypeChoicesElementAPI
|
|
@@ -68,7 +72,7 @@ import dialogs from './utils/dialogs.js';
|
|
|
68
72
|
* schemaContent?: object,
|
|
69
73
|
* }} cfg
|
|
70
74
|
* @returns {{
|
|
71
|
-
* domArray: [select:
|
|
75
|
+
* domArray: [select: HTMLElement, typeContainer: HTMLElement],
|
|
72
76
|
* getValue: GetValue,
|
|
73
77
|
* getType: GetType,
|
|
74
78
|
* validValuesSet: ValidValuesSet,
|
|
@@ -107,13 +111,7 @@ export const buildTypeChoices = ({
|
|
|
107
111
|
}`,
|
|
108
112
|
// is: 'type-choices',
|
|
109
113
|
$custom: {
|
|
110
|
-
/**
|
|
111
|
-
* @param {object} cfg
|
|
112
|
-
* @param {string} cfg.type
|
|
113
|
-
* @param {import('./formats.js').StructuredCloneValue} cfg.baseValue
|
|
114
|
-
* @param {boolean} cfg.bringIntoFocus
|
|
115
|
-
* @returns {void}
|
|
116
|
-
*/
|
|
114
|
+
/** @type {SetType} */
|
|
117
115
|
$setType ({type, baseValue, bringIntoFocus}) {
|
|
118
116
|
this.value = type;
|
|
119
117
|
this.$setStyles();
|
|
@@ -183,7 +181,7 @@ export const buildTypeChoices = ({
|
|
|
183
181
|
this.$addEditUI({editUI});
|
|
184
182
|
},
|
|
185
183
|
/**
|
|
186
|
-
* @type {(info: {editUI:
|
|
184
|
+
* @type {(info: {editUI: HTMLElement}) => void}
|
|
187
185
|
*/
|
|
188
186
|
$addEditUI ({editUI}) {
|
|
189
187
|
const container = this.$getContainer();
|
package/src/types.js
CHANGED
|
@@ -83,14 +83,14 @@ export const getPropertyValueFromLegend = (legend) => {
|
|
|
83
83
|
/**
|
|
84
84
|
* Utility to get the value for a root using its ancestor and state.
|
|
85
85
|
* @callback GetValueFromRootAncestor
|
|
86
|
-
* @param {string|
|
|
86
|
+
* @param {string|HTMLElement} selOrEl
|
|
87
87
|
* @param {StateObject} stateObj
|
|
88
88
|
* @returns {StructuredCloneValue}
|
|
89
89
|
*/
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* @callback GetFormControlFromRootAncestor
|
|
93
|
-
* @param {string|
|
|
93
|
+
* @param {string|HTMLElement} selOrEl
|
|
94
94
|
* @returns {null|HTMLInputElement|HTMLTextAreaElement|HTMLSelectElement|
|
|
95
95
|
* HTMLButtonElement}
|
|
96
96
|
*/
|
|
@@ -131,7 +131,7 @@ export const getPropertyValueFromLegend = (legend) => {
|
|
|
131
131
|
* value: StructuredCloneValue,
|
|
132
132
|
* hasValue: boolean,
|
|
133
133
|
* replaced?: StructuredCloneValue,
|
|
134
|
-
* }) =>
|
|
134
|
+
* }) => HTMLElement} GetUIForModeAndType
|
|
135
135
|
*/
|
|
136
136
|
/* eslint-enable jsdoc/valid-types -- readonly reserved */
|
|
137
137
|
|
package/src/utils/dialogs.js
CHANGED
|
@@ -6,18 +6,20 @@ const U = {nbsp, upArrow, downArrow};
|
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @param {string} sel
|
|
9
|
-
* @returns {
|
|
9
|
+
* @returns {HTMLElement|null}
|
|
10
10
|
*/
|
|
11
11
|
const $ = (sel) => document.querySelector(sel);
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @param {string} sel
|
|
15
|
-
* @returns {
|
|
15
|
+
* @returns {HTMLElement[]}
|
|
16
16
|
*/
|
|
17
|
-
const $$ = (sel) => [...
|
|
17
|
+
const $$ = (sel) => [...(/** @type {NodeListOf<HTMLElement>} */ (
|
|
18
|
+
document.querySelectorAll(sel)
|
|
19
|
+
))];
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
|
-
* @param {
|
|
22
|
+
* @param {HTMLElement|string} el
|
|
21
23
|
* @param {string} descendentsSel
|
|
22
24
|
* @returns {HTMLElement|null}
|
|
23
25
|
*/
|
|
@@ -30,16 +32,18 @@ const $e = (el, descendentsSel) => {
|
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
/**
|
|
33
|
-
* @param {
|
|
35
|
+
* @param {HTMLElement|string} el
|
|
34
36
|
* @param {string} descendentsSel
|
|
35
|
-
* @returns {
|
|
37
|
+
* @returns {HTMLElement[]}
|
|
36
38
|
*/
|
|
37
39
|
const $$e = (el, descendentsSel) => {
|
|
38
40
|
const elem = typeof el === 'string' ? $(el) : el;
|
|
39
41
|
if (!elem) {
|
|
40
42
|
return [];
|
|
41
43
|
}
|
|
42
|
-
return [...
|
|
44
|
+
return [...(/** @type {NodeListOf<HTMLElement>} */ (
|
|
45
|
+
elem.querySelectorAll(descendentsSel)
|
|
46
|
+
))];
|
|
43
47
|
};
|
|
44
48
|
|
|
45
49
|
/**
|
|
@@ -57,7 +61,7 @@ const removeChildren = (node) => {
|
|
|
57
61
|
};
|
|
58
62
|
|
|
59
63
|
/**
|
|
60
|
-
* @param {
|
|
64
|
+
* @param {HTMLElement|string} sel
|
|
61
65
|
* @returns {void}
|
|
62
66
|
*/
|
|
63
67
|
const removeIfExists = (sel) => {
|
|
@@ -68,22 +72,22 @@ const removeIfExists = (sel) => {
|
|
|
68
72
|
};
|
|
69
73
|
|
|
70
74
|
/**
|
|
71
|
-
* @param {
|
|
75
|
+
* @param {HTMLElement} el
|
|
72
76
|
* @param {string|string[]} selectors
|
|
73
|
-
* @returns {
|
|
77
|
+
* @returns {HTMLElement[]}
|
|
74
78
|
*/
|
|
75
79
|
const filterChildElements = (el, selectors) => {
|
|
76
80
|
/**
|
|
77
|
-
* @param {
|
|
81
|
+
* @param {HTMLElement} el
|
|
78
82
|
* @param {string} sel
|
|
79
|
-
* @returns {
|
|
83
|
+
* @returns {HTMLElement[]}
|
|
80
84
|
*/
|
|
81
85
|
const getMatchingChildrenForElement = (el, sel) => {
|
|
82
86
|
const childElements = el.children;
|
|
83
87
|
const matchingChildElements = [...childElements].filter((el) => {
|
|
84
88
|
return el.matches(sel);
|
|
85
89
|
});
|
|
86
|
-
return matchingChildElements;
|
|
90
|
+
return /** @type {HTMLElement[]} */ (matchingChildElements);
|
|
87
91
|
};
|
|
88
92
|
const elem = typeof el === 'string' ? $(el) : el;
|
|
89
93
|
if (!elem) {
|
|
@@ -98,7 +102,7 @@ const filterChildElements = (el, selectors) => {
|
|
|
98
102
|
}
|
|
99
103
|
els.push(...getMatchingChildrenForElement(childElement, sel));
|
|
100
104
|
return els;
|
|
101
|
-
}, /** @type {
|
|
105
|
+
}, /** @type {HTMLElement[]} */ ([]));
|
|
102
106
|
});
|
|
103
107
|
return filtered;
|
|
104
108
|
};
|