@node-projects/web-component-designer 0.1.24 → 0.1.26

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.
Files changed (22) hide show
  1. package/dist/elements/services/ServiceContainer.d.ts +3 -0
  2. package/dist/elements/services/ServiceContainer.js +3 -0
  3. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +6 -5
  4. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.d.ts +0 -1
  5. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +2 -20
  6. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.d.ts +1 -1
  7. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +6 -2
  8. package/dist/elements/services/refactorService/BindingsRefactorService.d.ts +6 -0
  9. package/dist/elements/services/refactorService/BindingsRefactorService.js +21 -0
  10. package/dist/elements/services/refactorService/IRefactorService.d.ts +6 -0
  11. package/dist/elements/services/refactorService/IRefactorService.js +1 -0
  12. package/dist/elements/services/refactorService/IRefactoring.d.ts +10 -0
  13. package/dist/elements/services/refactorService/IRefactoring.js +1 -0
  14. package/dist/elements/services/refactorService/RefactorService.d.ts +5 -0
  15. package/dist/elements/services/refactorService/RefactorService.js +17 -0
  16. package/dist/elements/widgets/refactorView/code-view-simple.d.ts +23 -0
  17. package/dist/elements/widgets/refactorView/code-view-simple.js +55 -0
  18. package/dist/elements/widgets/refactorView/refactor-view.d.ts +20 -0
  19. package/dist/elements/widgets/refactorView/refactor-view.js +99 -0
  20. package/dist/index.d.ts +4 -0
  21. package/dist/index.js +2 -0
  22. package/package.json +3 -3
@@ -44,6 +44,7 @@ import { IDesignItemService } from './designItemService/IDesignItemService.js';
44
44
  import { IEventsService } from './eventsService/IEventsService.js';
45
45
  import { IPropertyGridDragDropService } from './dragDropService/IPropertyGridDragDropService.js';
46
46
  import { IConfigUiService } from './configUiService/IConfigUiService.js';
47
+ import { IRefactorService } from './refactorService/IRefactorService.js';
47
48
  interface ServiceNameMap {
48
49
  "propertyService": IPropertiesService;
49
50
  "attachedPropertyService": IPropertiesService;
@@ -70,6 +71,7 @@ interface ServiceNameMap {
70
71
  "eventsService": IEventsService;
71
72
  "propertyGridDragDropService": IPropertyGridDragDropService;
72
73
  "configUiService": IConfigUiService;
74
+ "refactorService": IRefactorService;
73
75
  "undoService": (designerCanvas: IDesignerCanvas) => IUndoService;
74
76
  "selectionService": (designerCanvas: IDesignerCanvas) => ISelectionService;
75
77
  "contentService": (designerCanvas: IDesignerCanvas) => IContentService;
@@ -118,5 +120,6 @@ export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMa
118
120
  get demoProviderService(): IDemoProviderService;
119
121
  get designItemService(): IDesignItemService;
120
122
  get configUiServices(): IConfigUiService[];
123
+ get refactorServices(): IRefactorService[];
121
124
  }
122
125
  export {};
@@ -100,4 +100,7 @@ export class ServiceContainer extends BaseServiceContainer {
100
100
  get configUiServices() {
101
101
  return this.getServices('configUiService');
102
102
  }
103
+ get refactorServices() {
104
+ return this.getServices('refactorService');
105
+ }
103
106
  }
@@ -15,30 +15,31 @@ export class BaseCustomWebcomponentBindingsService {
15
15
  if (a[0].startsWith('css:')) {
16
16
  bnd.targetName = name.substring(4);
17
17
  bnd.target = BindingTarget.css;
18
- bnd.expression = value.substring(2, value.length - 4);
18
+ bnd.expression = value.substring(2, value.length - 2);
19
19
  }
20
20
  else if (a[0].startsWith('class:')) {
21
21
  bnd.targetName = name.substring(4);
22
22
  bnd.target = BindingTarget.class;
23
- bnd.expression = value.substring(2, value.length - 4);
23
+ bnd.expression = value.substring(2, value.length - 2);
24
24
  }
25
25
  else if (a[0].startsWith('$')) {
26
26
  bnd.targetName = name.substring(1);
27
27
  bnd.target = BindingTarget.attribute;
28
- bnd.expression = value.substring(2, value.length - 4);
28
+ bnd.expression = value.substring(2, value.length - 2);
29
29
  }
30
30
  else if (a[0].startsWith('@')) {
31
31
  bnd.targetName = name.substring(1);
32
32
  bnd.target = BindingTarget.event;
33
- bnd.expression = value.substring(2, value.length - 4);
33
+ bnd.expression = value.substring(2, value.length - 2);
34
34
  }
35
35
  else {
36
36
  bnd.targetName = PropertiesHelper.dashToCamelCase(name);
37
37
  bnd.target = BindingTarget.property;
38
- bnd.expression = value.substring(2, value.length - 4);
38
+ bnd.expression = value.substring(2, value.length - 2);
39
39
  }
40
40
  bnd.type = BaseCustomWebcomponentBindingsService.type;
41
41
  bnd.targetName = bnd.targetName;
42
+ bnd.bindableObjectNames = [value.substring(2, value.length - 2)];
42
43
  bindings.push(bnd);
43
44
  }
44
45
  }
@@ -17,7 +17,6 @@ export declare class WebcomponentManifestParserService extends AbstractPropertie
17
17
  private _importPrefix;
18
18
  constructor(name: string, fileOrObject: string | object, importPrefix?: string);
19
19
  private _parseManifest;
20
- private manifestClassPropertyTypeToEditorPropertyType;
21
20
  getElements(): Promise<IElementDefinition[]>;
22
21
  isHandledElement(designItem: IDesignItem): boolean;
23
22
  getProperties(designItem: IDesignItem): IProperty[];
@@ -3,6 +3,7 @@ import { RefreshMode } from '../propertiesService/IPropertiesService.js';
3
3
  import { PropertyType } from '../propertiesService/PropertyType.js';
4
4
  import { AbstractPropertiesService } from '../propertiesService/services/AbstractPropertiesService.js';
5
5
  import { removeLeading, removeTrailing } from '../../helper/Helper.js';
6
+ import { WebcomponentManifestPropertiesService } from '../propertiesService/services/WebcomponentManifestPropertiesService.js';
6
7
  export class WebcomponentManifestParserService extends AbstractPropertiesService {
7
8
  getRefreshMode(designItem) {
8
9
  return RefreshMode.none;
@@ -59,7 +60,7 @@ export class WebcomponentManifestParserService extends AbstractPropertiesService
59
60
  let pType = PropertyType.property;
60
61
  if (declaration.attributes)
61
62
  pType = declaration.attributes.find(x => x.fieldName == d.name) != null ? PropertyType.propertyAndAttribute : PropertyType.property;
62
- const p = this.manifestClassPropertyTypeToEditorPropertyType(d.type?.text, d.type?.editor);
63
+ const p = WebcomponentManifestPropertiesService.manifestClassPropertyTypeToEditorPropertyType(d.type?.text, d.type?.editor);
63
64
  properties.push({ name: d.name, service: this, propertyType: pType, type: p[0], values: p[1], description: d.description });
64
65
  }
65
66
  }
@@ -73,25 +74,6 @@ export class WebcomponentManifestParserService extends AbstractPropertiesService
73
74
  }
74
75
  }
75
76
  }
76
- manifestClassPropertyTypeToEditorPropertyType(type, editor) {
77
- if (editor) {
78
- if (editor.toLowerCase() === 'color')
79
- return ['color'];
80
- }
81
- if (type) {
82
- if (type.toLowerCase() === 'boolean')
83
- return ['boolean'];
84
- if (type.toLowerCase() === 'number')
85
- return ['number'];
86
- if (type.toLowerCase() === 'string')
87
- return ['string'];
88
- if (type.startsWith("'") && type.includes("|")) {
89
- const values = type.split("|").map(x => x.trim()).map(x => x.substring(1, x.length - 1));
90
- return ['list', values];
91
- }
92
- }
93
- return [type];
94
- }
95
77
  async getElements() {
96
78
  if (this._packageData)
97
79
  return Promise.resolve(this._elementList);
@@ -11,7 +11,7 @@ export declare class WebcomponentManifestPropertiesService extends AbstractPrope
11
11
  private _propertiesList;
12
12
  constructor(name: string, manifest: any);
13
13
  private _parseManifest;
14
- private manifestClassPropertyTypeToEditorPropertyType;
14
+ static manifestClassPropertyTypeToEditorPropertyType(type: string, editor: string): [type: string, values?: string[]];
15
15
  isHandledElement(designItem: IDesignItem): boolean;
16
16
  getProperties(designItem: IDesignItem): IProperty[] | IPropertyGroup[];
17
17
  getProperty(designItem: IDesignItem, name: string): IProperty;
@@ -33,7 +33,7 @@ export class WebcomponentManifestPropertiesService extends AbstractPropertiesSer
33
33
  let pType = PropertyType.property;
34
34
  if (declaration.attributes)
35
35
  pType = declaration.attributes.find(x => x.fieldName == d.name) != null ? PropertyType.propertyAndAttribute : PropertyType.property;
36
- const p = this.manifestClassPropertyTypeToEditorPropertyType(d.type?.text);
36
+ const p = WebcomponentManifestPropertiesService.manifestClassPropertyTypeToEditorPropertyType(d.type?.text, d.type?.editor);
37
37
  if (d.name)
38
38
  properties.push({ name: d.name, service: this, propertyType: pType, type: p[0], values: p[1], description: d.description });
39
39
  }
@@ -48,7 +48,11 @@ export class WebcomponentManifestPropertiesService extends AbstractPropertiesSer
48
48
  }
49
49
  }
50
50
  }
51
- manifestClassPropertyTypeToEditorPropertyType(type) {
51
+ static manifestClassPropertyTypeToEditorPropertyType(type, editor) {
52
+ if (editor) {
53
+ if (editor.toLowerCase() === 'color')
54
+ return ['color'];
55
+ }
52
56
  if (type) {
53
57
  if (type.toLowerCase() === 'boolean')
54
58
  return ['boolean'];
@@ -0,0 +1,6 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IRefactoring } from "./IRefactoring.js";
3
+ export declare class BindingsRefactorService {
4
+ getRefactorings(designItems: IDesignItem[]): IRefactoring[];
5
+ refactor(refactoring: IRefactoring, oldValue: string, newValue: string): void;
6
+ }
@@ -0,0 +1,21 @@
1
+ export class BindingsRefactorService {
2
+ getRefactorings(designItems) {
3
+ let refactorings = [];
4
+ for (let d of designItems) {
5
+ let bindings = d.serviceContainer.bindingService.getBindings(d);
6
+ if (bindings) {
7
+ for (let b of bindings) {
8
+ for (let s of b.bindableObjectNames) {
9
+ refactorings.push({ service: this, name: s, designItem: d, type: 'binding', sourceObject: b, display: b.target + '(' + b.targetName + ')' });
10
+ }
11
+ }
12
+ }
13
+ }
14
+ return refactorings;
15
+ }
16
+ refactor(refactoring, oldValue, newValue) {
17
+ let binding = refactoring.sourceObject;
18
+ binding.bindableObjectNames = binding.bindableObjectNames.map(x => x == oldValue ? newValue : x);
19
+ refactoring.designItem.serviceContainer.bindingService.setBinding(refactoring.designItem, binding);
20
+ }
21
+ }
@@ -0,0 +1,6 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IRefactoring } from "./IRefactoring.js";
3
+ export interface IRefactorService {
4
+ getRefactorings(designItems: IDesignItem[]): IRefactoring[];
5
+ refactor(refactoring: IRefactoring, oldValue: string, newValue: string): any;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IRefactorService } from "./IRefactorService.js";
3
+ export interface IRefactoring {
4
+ service: IRefactorService;
5
+ name: string;
6
+ designItem: IDesignItem;
7
+ type: 'binding' | 'script';
8
+ display?: string;
9
+ sourceObject: any;
10
+ }
@@ -0,0 +1,5 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { IRefactoring } from "./IRefactoring.js";
3
+ export declare class RefactorService {
4
+ getRefactorings(designItems: IDesignItem[]): Record<string, IRefactoring[]>;
5
+ }
@@ -0,0 +1,17 @@
1
+ export class RefactorService {
2
+ getRefactorings(designItems) {
3
+ let refactorings = {};
4
+ for (let d of designItems) {
5
+ let bindings = d.serviceContainer.bindingService.getBindings(d);
6
+ for (let b of bindings) {
7
+ for (let s of b.bindableObjectNames) {
8
+ if (!refactorings[s]) {
9
+ refactorings[s] = [];
10
+ }
11
+ refactorings[s].push({ name: s, designItem: d, type: 'binding', sourceObject: b });
12
+ }
13
+ }
14
+ }
15
+ return refactorings;
16
+ }
17
+ }
@@ -0,0 +1,23 @@
1
+ import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ import { ICodeView } from './ICodeView.js';
3
+ import { IActivateable } from '../../../interfaces/IActivateable.js';
4
+ import { IStringPosition } from '../../services/htmlWriterService/IStringPosition.js';
5
+ import { IUiCommandHandler } from '../../../commandHandling/IUiCommandHandler.js';
6
+ import { IUiCommand } from '../../../commandHandling/IUiCommand.js';
7
+ export declare class CodeViewSimple extends BaseCustomWebComponentConstructorAppend implements ICodeView, IActivateable, IUiCommandHandler {
8
+ dispose(): void;
9
+ canvasElement: HTMLElement;
10
+ elementsToPackages: Map<string, string>;
11
+ onTextChanged: TypedEvent<string>;
12
+ private _text;
13
+ static readonly style: CSSStyleSheet;
14
+ static readonly template: HTMLTemplateElement;
15
+ executeCommand(command: IUiCommand): void;
16
+ canExecuteCommand(command: IUiCommand): boolean;
17
+ ready(): Promise<void>;
18
+ focusEditor(): void;
19
+ activated(): void;
20
+ update(code: any): void;
21
+ getText(): string;
22
+ setSelection(position: IStringPosition): void;
23
+ }
@@ -0,0 +1,55 @@
1
+ import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export class CodeViewSimple extends BaseCustomWebComponentConstructorAppend {
3
+ dispose() {
4
+ }
5
+ canvasElement;
6
+ elementsToPackages;
7
+ onTextChanged = new TypedEvent();
8
+ _text;
9
+ static style = css `
10
+ :host {
11
+ display: block;
12
+ height: 100%;
13
+ width: 100%;
14
+ }
15
+
16
+ textarea {
17
+ height: 100%;
18
+ width: 100%;
19
+ resize: none;
20
+ white-space: nowrap;
21
+ box-sizing: border-box;
22
+ }
23
+ `;
24
+ static template = html `
25
+ <div id="container" style="width: 100%; height: 100%; position: absolute;">
26
+ <textarea id="text"></textarea>
27
+ </div>
28
+ `;
29
+ executeCommand(command) {
30
+ }
31
+ canExecuteCommand(command) {
32
+ return false;
33
+ }
34
+ async ready() {
35
+ this._text = this._getDomElement('text');
36
+ }
37
+ focusEditor() {
38
+ requestAnimationFrame(() => {
39
+ this.focus();
40
+ this._text.focus();
41
+ });
42
+ }
43
+ activated() {
44
+ }
45
+ update(code) {
46
+ this._text.value = code;
47
+ }
48
+ getText() {
49
+ return this._text.value;
50
+ }
51
+ setSelection(position) {
52
+ this._text.setSelectionRange(position.start, position.start + position.length);
53
+ }
54
+ }
55
+ customElements.define('node-projects-code-view-simple', CodeViewSimple);
@@ -0,0 +1,20 @@
1
+ import { BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
+ import { InstanceServiceContainer } from '../../services/InstanceServiceContainer.js';
3
+ import { IDesignItem } from '../../item/IDesignItem.js';
4
+ import { IRefactoring } from '../../services/refactorService/IRefactoring.js';
5
+ export declare class RefactorView extends BaseCustomWebComponentConstructorAppend {
6
+ static readonly template: HTMLTemplateElement;
7
+ static readonly style: CSSStyleSheet;
8
+ static readonly is = "node-projects-refactor-view";
9
+ static readonly properties: {};
10
+ private _instanceServiceContainer;
11
+ private _selectionChangedHandler;
12
+ private _selectedItems;
13
+ refactorings: Map<string, IRefactoring[]>;
14
+ ready(): void;
15
+ set instanceServiceContainer(value: InstanceServiceContainer);
16
+ get selectedItems(): IDesignItem[];
17
+ set selectedItems(items: IDesignItem[]);
18
+ _refactor(refactoring: [string, IRefactoring[]], event: KeyboardEvent): void;
19
+ updateRefactorlist(designItems: IDesignItem[]): void;
20
+ }
@@ -0,0 +1,99 @@
1
+ import { BaseCustomWebComponentConstructorAppend, css, html } from '@node-projects/base-custom-webcomponent';
2
+ export class RefactorView extends BaseCustomWebComponentConstructorAppend {
3
+ static template = html `
4
+ <div id="root">
5
+ <template repeat:item="[[this.refactorings]]">
6
+ <details>
7
+ <summary style="display: flex;">
8
+ name:<input value="[[item[0]]]" @keydown="[[this._refactor(item, event)]]" style="flex-grow: 1; min-width: 0">
9
+ </summary>
10
+ <ul>
11
+ <template repeat:reft="[[item[1]]]">
12
+ <li>[[reft.type]] - [[reft.display]]</li>
13
+ </template>
14
+ </ul>
15
+ </details>
16
+ </template>
17
+ </div>`;
18
+ static style = css `
19
+ :host {
20
+ box-sizing: border-box;
21
+ font-family: monospace;
22
+ height: 100%;
23
+ width: 100%;
24
+ position: absolute;
25
+ overflow: hidden;
26
+ }
27
+
28
+ ul {
29
+ margin: 4px;
30
+ padding-left: 30px;
31
+ font-size: 10px;
32
+ }
33
+
34
+ #root {
35
+ padding: 5px;
36
+ display: flex;
37
+ flex-direction: column;
38
+ gap: 4px;
39
+ overflow-y: auto;
40
+ height: calc(100% - 10px);
41
+ }`;
42
+ static is = 'node-projects-refactor-view';
43
+ static properties = {};
44
+ _instanceServiceContainer;
45
+ _selectionChangedHandler;
46
+ _selectedItems;
47
+ refactorings = new Map();
48
+ ;
49
+ ready() {
50
+ this._bindingsParse();
51
+ }
52
+ set instanceServiceContainer(value) {
53
+ this._instanceServiceContainer = value;
54
+ this._selectionChangedHandler?.dispose();
55
+ this._selectionChangedHandler = this._instanceServiceContainer.selectionService.onSelectionChanged.on(e => {
56
+ this.selectedItems = e.selectedElements;
57
+ });
58
+ this.selectedItems = this._instanceServiceContainer.selectionService.selectedElements;
59
+ }
60
+ get selectedItems() {
61
+ return this._selectedItems;
62
+ }
63
+ set selectedItems(items) {
64
+ if (this._selectedItems != items) {
65
+ this._selectedItems = items;
66
+ this.updateRefactorlist(this._selectedItems);
67
+ }
68
+ }
69
+ _refactor(refactoring, event) {
70
+ const ip = event.target;
71
+ if (event.key == 'Enter') {
72
+ for (let r of refactoring[1]) {
73
+ r.service.refactor(r, r.name, ip.value);
74
+ }
75
+ }
76
+ }
77
+ updateRefactorlist(designItems) {
78
+ this.refactorings.clear();
79
+ if (designItems && designItems.length) {
80
+ let refactorings = [];
81
+ const serviceContainer = designItems[0].serviceContainer;
82
+ for (let s of serviceContainer.refactorServices) {
83
+ let rfs = s.getRefactorings(designItems);
84
+ refactorings.push(...rfs);
85
+ }
86
+ //Group refactorings by name
87
+ for (const r of refactorings) {
88
+ let thisList = this.refactorings.get(r.name);
89
+ if (thisList === undefined) {
90
+ thisList = [];
91
+ this.refactorings.set(r.name, thisList);
92
+ }
93
+ thisList.push(r);
94
+ }
95
+ }
96
+ this._bindingsRefresh();
97
+ }
98
+ }
99
+ customElements.define(RefactorView.is, RefactorView);
package/dist/index.d.ts CHANGED
@@ -120,6 +120,9 @@ export * from "./elements/services/propertiesService/services/CssCustomPropertie
120
120
  export * from "./elements/services/propertiesService/services/UnkownElementsPropertiesService.js";
121
121
  export * from "./elements/services/propertiesService/PropertyType.js";
122
122
  export * from "./elements/services/propertiesService/ValueType.js";
123
+ export * from "./elements/services/refactorService/BindingsRefactorService.js";
124
+ export type { IRefactorService } from "./elements/services/refactorService/IRefactorService.js";
125
+ export type { IRefactoring } from "./elements/services/refactorService/IRefactoring.js";
123
126
  export type { ISelectionChangedEvent } from "./elements/services/selectionService/ISelectionChangedEvent.js";
124
127
  export type { ISelectionService } from "./elements/services/selectionService/ISelectionService.js";
125
128
  export * from "./elements/services/selectionService/SelectionService.js";
@@ -246,6 +249,7 @@ export * from "./elements/widgets/designerView/extensions/pointerExtensions/Curs
246
249
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js";
247
250
  export type { IMiniatureView } from "./elements/widgets/miniatureView/IMiniatureView.js";
248
251
  export * from "./elements/widgets/debugView/debug-view.js";
252
+ export * from "./elements/widgets/refactorView/refactor-view.js";
249
253
  export * from "./elements/widgets/demoView/demoView.js";
250
254
  export * from "./elements/widgets/paletteView/paletteElements.js";
251
255
  export * from "./elements/widgets/paletteView/paletteView.js";
package/dist/index.js CHANGED
@@ -80,6 +80,7 @@ export * from "./elements/services/propertiesService/services/CssCustomPropertie
80
80
  export * from "./elements/services/propertiesService/services/UnkownElementsPropertiesService.js";
81
81
  export * from "./elements/services/propertiesService/PropertyType.js";
82
82
  export * from "./elements/services/propertiesService/ValueType.js";
83
+ export * from "./elements/services/refactorService/BindingsRefactorService.js";
83
84
  export * from "./elements/services/selectionService/SelectionService.js";
84
85
  export * from "./elements/services/stylesheetService/AbstractStylesheetService.js";
85
86
  export * from "./elements/services/undoService/ChangeGroup.js";
@@ -186,6 +187,7 @@ export * from "./elements/widgets/designerView/extensions/pointerExtensions/Abst
186
187
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtension.js";
187
188
  export * from "./elements/widgets/designerView/extensions/pointerExtensions/CursorLinePointerExtensionProvider.js";
188
189
  export * from "./elements/widgets/debugView/debug-view.js";
190
+ export * from "./elements/widgets/refactorView/refactor-view.js";
189
191
  export * from "./elements/widgets/demoView/demoView.js";
190
192
  export * from "./elements/widgets/paletteView/paletteElements.js";
191
193
  export * from "./elements/widgets/paletteView/paletteView.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "description": "A UI designer for Polymer apps",
3
3
  "name": "@node-projects/web-component-designer",
4
- "version": "0.1.24",
4
+ "version": "0.1.26",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "jochen.kuehner@gmx.de",
@@ -12,10 +12,10 @@
12
12
  "prepublishOnly": "npm run build"
13
13
  },
14
14
  "dependencies": {
15
- "@node-projects/base-custom-webcomponent": ">=0.19.0"
15
+ "@node-projects/base-custom-webcomponent": ">=0.21.2"
16
16
  },
17
17
  "devDependencies": {
18
- "mdn-data": "^2.1.0"
18
+ "mdn-data": "^2.3.0"
19
19
  },
20
20
  "repository": {
21
21
  "type": "git",