@node-projects/web-component-designer 0.0.172 → 0.0.173

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 (27) hide show
  1. package/dist/elements/item/DesignItem.d.ts +3 -1
  2. package/dist/elements/item/DesignItem.js +17 -2
  3. package/dist/elements/item/IDesignItem.d.ts +2 -1
  4. package/dist/elements/services/DefaultServiceBootstrap.js +6 -5
  5. package/dist/elements/services/ServiceContainer.d.ts +1 -1
  6. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.d.ts +9 -0
  7. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +17 -1
  8. package/dist/elements/widgets/designerView/extensions/GridExtension.js +1 -1
  9. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.d.ts +12 -0
  10. package/dist/elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.js +40 -0
  11. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.d.ts +8 -0
  12. package/dist/elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js +11 -0
  13. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.d.ts +6 -0
  14. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js +22 -0
  15. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.d.ts +6 -0
  16. package/dist/elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js +22 -0
  17. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.d.ts +5 -0
  18. package/dist/elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.js +1 -0
  19. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.d.ts +6 -0
  20. package/dist/elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js +22 -0
  21. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons copy.d.ts +7 -0
  22. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons copy.js +21 -0
  23. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.d.ts +5 -0
  24. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js +7 -0
  25. package/dist/index.d.ts +7 -2
  26. package/dist/index.js +6 -2
  27. package/package.json +1 -1
@@ -76,7 +76,9 @@ export declare class DesignItem implements IDesignItem {
76
76
  setStyle(name: string, value?: string | null, important?: boolean): void;
77
77
  removeStyle(name: string): void;
78
78
  updateStyleInSheetOrLocal(name: string, value?: string | null, important?: boolean): void;
79
- getStyleFromSheetOrLocal(name: string): string;
79
+ getStyleFromSheetOrLocal(name: string, fallback?: string): string;
80
+ getStyleFromSheetOrLocalOrComputed(name: string, fallback?: string): string;
81
+ getComputedStyle(name: string, fallback?: string): string;
80
82
  getAllStyles(): IStyleRule[];
81
83
  setAttribute(name: string, value?: string | null): void;
82
84
  removeAttribute(name: string): void;
@@ -7,6 +7,7 @@ import { PropertiesHelper } from '../services/propertiesService/services/Propert
7
7
  import { InsertChildAction } from '../services/undoService/transactionItems/InsertChildAction.js';
8
8
  import { DomConverter } from '../widgets/designerView/DomConverter.js';
9
9
  import { DeleteAction } from '../services/undoService/transactionItems/DeleteAction.js';
10
+ import { enableStylesheetService } from '../widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js';
10
11
  const hideAtDesignTimeAttributeName = 'node-projects-hide-at-design-time';
11
12
  const hideAtRunTimeAttributeName = 'node-projects-hide-at-run-time';
12
13
  const lockAtDesignTimeAttributeName = 'node-projects-lock-at-design-time';
@@ -306,7 +307,7 @@ export class DesignItem {
306
307
  let nm = PropertiesHelper.camelToDashCase(name);
307
308
  // Pre-sorted by specificity
308
309
  let declerations = this.instanceServiceContainer.stylesheetService?.getDeclarations(this, nm);
309
- if (this.hasStyle(name) || !declerations) {
310
+ if (this.hasStyle(name) || this.instanceServiceContainer.designContext.extensionOptions[enableStylesheetService] === false || !declerations) {
310
311
  // Set style locally
311
312
  if (this.getStyle(nm) != value) {
312
313
  this.setStyle(nm, value);
@@ -320,7 +321,7 @@ export class DesignItem {
320
321
  this.instanceServiceContainer.stylesheetService.updateDeclarationWithDeclaration(declerations[0], value, important);
321
322
  }
322
323
  }
323
- getStyleFromSheetOrLocal(name) {
324
+ getStyleFromSheetOrLocal(name, fallback = null) {
324
325
  let nm = PropertiesHelper.camelToDashCase(name);
325
326
  if (this.hasStyle(name))
326
327
  // Get style locally
@@ -331,6 +332,20 @@ export class DesignItem {
331
332
  return decls[0].value;
332
333
  return null;
333
334
  }
335
+ getStyleFromSheetOrLocalOrComputed(name, fallback = null) {
336
+ let value = this.getStyleFromSheetOrLocal(name);
337
+ if (!value) {
338
+ value = getComputedStyle(this.element).getPropertyValue(name);
339
+ }
340
+ return value ?? fallback;
341
+ }
342
+ getComputedStyle(name, fallback = null) {
343
+ let value = this.getStyleFromSheetOrLocal(name);
344
+ if (!value) {
345
+ value = getComputedStyle(this.element).getPropertyValue(name);
346
+ }
347
+ return value ?? fallback;
348
+ }
334
349
  getAllStyles() {
335
350
  const localStyles = [...this._styles.entries()].map(x => ({ name: x[0], value: x[1], important: false }));
336
351
  if (this.instanceServiceContainer.stylesheetService) {
@@ -55,7 +55,8 @@ export interface IDesignItem {
55
55
  setStyle(name: string, value?: string | null, important?: boolean): any;
56
56
  removeStyle(name: string): any;
57
57
  updateStyleInSheetOrLocal(name: string, value?: string | null, important?: boolean): any;
58
- getStyleFromSheetOrLocal(name: string): any;
58
+ getStyleFromSheetOrLocal(name: string, fallback?: string): any;
59
+ getStyleFromSheetOrLocalOrComputed(name: string, fallback?: string): any;
59
60
  getAllStyles(): IStyleRule[];
60
61
  attributes(): Iterable<[name: string, value: string]>;
61
62
  getAttribute(name: string): any;
@@ -44,8 +44,8 @@ import { DragDropService } from './dragDropService/DragDropService.js';
44
44
  import { EditTextExtensionProvider } from '../widgets/designerView/extensions/EditText/EditTextExtensionProvider.js';
45
45
  import { CopyPasteService } from './copyPasteService/CopyPasteService.js';
46
46
  import { DefaultModelCommandService } from './modelCommandService/DefaultModelCommandService.js';
47
- import { ButtonSeperatorProvider } from '../widgets/designerView/ButtonSeperatorProvider.js';
48
- import { GridExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.js';
47
+ import { ButtonSeperatorProvider } from '../widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js';
48
+ import { GridExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js';
49
49
  import { DemoProviderService } from './demoProviderService/DemoProviderService.js';
50
50
  import { DrawRectTool } from '../widgets/designerView/tools/DrawRectTool.js';
51
51
  import { DrawEllipsisTool } from '../widgets/designerView/tools/DrawEllipsisTool.js';
@@ -70,11 +70,12 @@ import { EllipsisExtensionProvider } from '../widgets/designerView/extensions/sv
70
70
  import { PropertyTabsService } from './propertiesService/PropertyTabsService.js';
71
71
  import { PlacementExtensionProvider } from '../widgets/designerView/extensions/PlacementExtensionProvider.js';
72
72
  import { FlexboxExtensionProvider } from '../widgets/designerView/extensions/FlexboxExtensionProvider.js';
73
- import { FlexboxExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/FlexboxExtensionDesignViewConfigButtons.js';
74
- import { InvisibleElementExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/InvisibleElementExtensionDesignViewConfigButtons.js';
73
+ import { FlexboxExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js';
74
+ import { InvisibleElementExtensionDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js';
75
75
  import { UndoService } from './undoService/UndoService.js';
76
76
  import { SelectionService } from './selectionService/SelectionService.js';
77
77
  import { ContentService } from './contentService/ContentService.js';
78
+ import { StylesheetServiceDesignViewConfigButtons } from '../widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js';
78
79
  export function createDefaultServiceContainer() {
79
80
  let serviceContainer = new ServiceContainer();
80
81
  serviceContainer.register("propertyService", new PolymerPropertiesService());
@@ -161,7 +162,7 @@ export function createDefaultServiceContainer() {
161
162
  serviceContainer.designerPointerExtensions.push(
162
163
  //new CursorLinePointerExtensionProvider()
163
164
  );
164
- serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons(), new FlexboxExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new InvisibleElementExtensionDesignViewConfigButtons());
165
+ serviceContainer.designViewConfigButtons.push(new ButtonSeperatorProvider(20), new GridExtensionDesignViewConfigButtons(), new FlexboxExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new InvisibleElementExtensionDesignViewConfigButtons(), new ButtonSeperatorProvider(10), new StylesheetServiceDesignViewConfigButtons());
165
166
  serviceContainer.designViewToolbarButtons.push(new PointerToolButtonProvider(), new SeperatorToolProvider(22), new SelectorToolButtonProvider(), new SeperatorToolProvider(22), new ZoomToolButtonProvider(), new SeperatorToolProvider(22), new DrawToolButtonProvider(), new SeperatorToolProvider(5), new TextToolButtonProvider());
166
167
  serviceContainer.designerContextMenuExtensions = [
167
168
  new CopyPasteContextMenu(),
@@ -22,7 +22,7 @@ import { IDragDropService } from './dragDropService/IDragDropService.js';
22
22
  import { ICopyPasteService } from "./copyPasteService/ICopyPasteService.js";
23
23
  import { IDesignerPointerExtensionProvider } from "../widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js";
24
24
  import { IModelCommandService } from "./modelCommandService/IModelCommandService.js";
25
- import { IDesignViewConfigButtonsProvider } from "../widgets/designerView/IDesignViewConfigButtonsProvider.js";
25
+ import { IDesignViewConfigButtonsProvider } from "../widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider.js";
26
26
  import { IDemoProviderService } from "./demoProviderService/IDemoProviderService.js";
27
27
  import { IBindableObjectsService } from "./bindableObjectsService/IBindableObjectsService.js";
28
28
  import { IBindableObjectDragDropService } from "./bindableObjectsService/IBindableObjectDragDropService.js";
@@ -4,6 +4,7 @@ import { RefreshMode } from '../IPropertiesService.js';
4
4
  import { IPropertyGroup } from '../IPropertyGroup.js';
5
5
  import { IStyleDeclaration, IStyleRule } from '../../stylesheetService/IStylesheetService.js';
6
6
  import { CommonPropertiesService } from './CommonPropertiesService.js';
7
+ import { ValueType } from '../ValueType.js';
7
8
  export declare class CssCurrentPropertiesService extends CommonPropertiesService {
8
9
  getRefreshMode(designItem: IDesignItem): RefreshMode;
9
10
  constructor();
@@ -18,4 +19,12 @@ export declare class CssCurrentPropertiesService extends CommonPropertiesService
18
19
  styleRule: IStyleRule;
19
20
  styleDeclaration: IStyleDeclaration;
20
21
  }): void;
22
+ getValue(designItems: IDesignItem[], property: IProperty & {
23
+ styleRule: IStyleRule;
24
+ styleDeclaration: IStyleDeclaration;
25
+ }): any;
26
+ isSet(designItems: IDesignItem[], property: IProperty & {
27
+ styleRule: IStyleRule;
28
+ styleDeclaration: IStyleDeclaration;
29
+ }): ValueType;
21
30
  }
@@ -2,6 +2,8 @@ import { PropertyType } from '../PropertyType.js';
2
2
  import { RefreshMode } from '../IPropertiesService.js';
3
3
  import { CommonPropertiesService } from './CommonPropertiesService.js';
4
4
  import cssProperties from './CssProperties.json' assert { type: 'json' };
5
+ import { ValueType } from '../ValueType.js';
6
+ const localName = '&lt;local&gt;';
5
7
  export class CssCurrentPropertiesService extends CommonPropertiesService {
6
8
  getRefreshMode(designItem) {
7
9
  return RefreshMode.fullOnValueChange;
@@ -21,7 +23,7 @@ export class CssCurrentPropertiesService extends CommonPropertiesService {
21
23
  return [];
22
24
  let styles = designItem.getAllStyles();
23
25
  let arr = styles.map(x => ({
24
- name: x.selector ?? '&lt;local&gt;', description: x.stylesheetName ?? '', properties: [
26
+ name: x.selector ?? localName, description: x.stylesheetName ?? '', properties: [
25
27
  ...x.declarations.map(y => ({
26
28
  name: y.name,
27
29
  renamable: true,
@@ -57,4 +59,18 @@ export class CssCurrentPropertiesService extends CommonPropertiesService {
57
59
  }
58
60
  super.clearValue(designItems, property);
59
61
  }
62
+ getValue(designItems, property) {
63
+ if (property.styleRule?.selector && property.styleDeclaration)
64
+ return property.styleDeclaration.value;
65
+ return super.getValue(designItems, property);
66
+ }
67
+ isSet(designItems, property) {
68
+ if (property.styleRule?.selector && property.styleDeclaration) {
69
+ if (designItems[0].hasStyle(property.name))
70
+ return ValueType.none;
71
+ //TODO: we need to check if this is the dec. with the highest specifity
72
+ return ValueType.all;
73
+ }
74
+ return super.isSet(designItems, property);
75
+ }
60
76
  }
@@ -310,7 +310,7 @@ export class GridExtension extends AbstractExtension {
310
310
  _convertCssUnit(cssValue, target, percentTarget, unit) {
311
311
  if (unit == "fr") {
312
312
  let containerSize = convertCssUnitToPixel(target.style.width, target, percentTarget);
313
- let amountGaps = percentTarget == "width" ? this.gridInformation.cells.length - 1 : this.gridInformation.cells[0].length - 1;
313
+ let amountGaps = percentTarget == "height" ? this.gridInformation.cells.length - 1 : this.gridInformation.cells[0].length - 1;
314
314
  let gapSize = convertCssUnitToPixel(percentTarget == "width" ? target.style.columnGap : target.style.rowGap, target, percentTarget);
315
315
  let containerSizeWithoutGaps = containerSize - gapSize * amountGaps;
316
316
  let amountFrSizes = 0;
@@ -0,0 +1,12 @@
1
+ import { IContextMenuItem } from "../../../../helper/contextMenu/IContextMenuItem.js";
2
+ import { DesignerView } from "../../designerView.js";
3
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
4
+ import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
5
+ export declare class AbstractDesignViewConfigButton implements IDesignViewConfigButtonsProvider {
6
+ protected settingName: any;
7
+ private content;
8
+ private tooltp;
9
+ private contextmenu;
10
+ constructor(settingName: string, content: string | HTMLElement, tooltip: string, contextmenu?: IContextMenuItem[]);
11
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
12
+ }
@@ -0,0 +1,40 @@
1
+ import { ContextMenu } from "../../../../helper/contextMenu/ContextMenu.js";
2
+ export class AbstractDesignViewConfigButton {
3
+ settingName;
4
+ content;
5
+ tooltp;
6
+ contextmenu;
7
+ constructor(settingName, content, tooltip, contextmenu) {
8
+ this.settingName = settingName;
9
+ this.content = content;
10
+ this.tooltp = tooltip;
11
+ this.contextmenu = contextmenu;
12
+ }
13
+ provideButtons(designerView, designerCanvas) {
14
+ const btn = document.createElement('div');
15
+ if (typeof this.content == 'string')
16
+ btn.innerHTML = this.content;
17
+ else
18
+ btn.appendChild(this.content);
19
+ btn.title = this.tooltp;
20
+ btn.className = 'toolbar-control';
21
+ const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
22
+ if (extensionOptions[this.settingName] !== false)
23
+ btn.classList.add('selected');
24
+ btn.onclick = () => {
25
+ const val = extensionOptions[this.settingName];
26
+ extensionOptions[this.settingName] = val === false ? true : false;
27
+ if (extensionOptions[this.settingName] !== false)
28
+ btn.classList.add('selected');
29
+ else
30
+ btn.classList.remove('selected');
31
+ };
32
+ btn.oncontextmenu = (e) => {
33
+ e.preventDefault();
34
+ if (this.contextmenu) {
35
+ ContextMenu.show(this.contextmenu, e);
36
+ }
37
+ };
38
+ return [btn];
39
+ }
40
+ }
@@ -0,0 +1,8 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from "../../IDesignerCanvas.js";
3
+ import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
4
+ export declare class ButtonSeperatorProvider implements IDesignViewConfigButtonsProvider {
5
+ _space: number;
6
+ constructor(space: number);
7
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
8
+ }
@@ -0,0 +1,11 @@
1
+ export class ButtonSeperatorProvider {
2
+ _space;
3
+ constructor(space) {
4
+ this._space = space;
5
+ }
6
+ provideButtons(designerView, designerCanvas) {
7
+ const div = document.createElement('div');
8
+ div.style.marginLeft = this._space + 'px';
9
+ return [div];
10
+ }
11
+ }
@@ -0,0 +1,6 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
3
+ import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
4
+ export declare class FlexboxExtensionDesignViewConfigButtons implements IDesignViewConfigButtonsProvider {
5
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
6
+ }
@@ -0,0 +1,22 @@
1
+ import { flexboxExtensionShowOverlayOptionName } from "../FlexboxExtensionProvider.js";
2
+ export class FlexboxExtensionDesignViewConfigButtons {
3
+ provideButtons(designerView, designerCanvas) {
4
+ const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
5
+ const btn = document.createElement('div');
6
+ btn.innerText = 'F';
7
+ btn.title = 'show flexbox overlay';
8
+ btn.className = 'toolbar-control';
9
+ if (extensionOptions[flexboxExtensionShowOverlayOptionName] !== false)
10
+ btn.classList.add('selected');
11
+ btn.onclick = () => {
12
+ const val = extensionOptions[flexboxExtensionShowOverlayOptionName];
13
+ extensionOptions[flexboxExtensionShowOverlayOptionName] = val === false ? true : false;
14
+ if (extensionOptions[flexboxExtensionShowOverlayOptionName] !== false)
15
+ btn.classList.add('selected');
16
+ else
17
+ btn.classList.remove('selected');
18
+ designerCanvas.extensionManager.reapplyAllAppliedExtentions();
19
+ };
20
+ return [btn];
21
+ }
22
+ }
@@ -0,0 +1,6 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
3
+ import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
4
+ export declare class GridExtensionDesignViewConfigButtons implements IDesignViewConfigButtonsProvider {
5
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
6
+ }
@@ -0,0 +1,22 @@
1
+ import { gridExtensionShowOverlayOptionName } from "../GridExtensionProvider.js";
2
+ export class GridExtensionDesignViewConfigButtons {
3
+ provideButtons(designerView, designerCanvas) {
4
+ const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
5
+ const btn = document.createElement('div');
6
+ btn.innerText = 'G';
7
+ btn.title = 'show grid overlay';
8
+ btn.className = 'toolbar-control';
9
+ if (extensionOptions[gridExtensionShowOverlayOptionName] !== false)
10
+ btn.classList.add('selected');
11
+ btn.onclick = () => {
12
+ const val = extensionOptions[gridExtensionShowOverlayOptionName];
13
+ extensionOptions[gridExtensionShowOverlayOptionName] = val === false ? true : false;
14
+ if (extensionOptions[gridExtensionShowOverlayOptionName] !== false)
15
+ btn.classList.add('selected');
16
+ else
17
+ btn.classList.remove('selected');
18
+ designerCanvas.extensionManager.reapplyAllAppliedExtentions();
19
+ };
20
+ return [btn];
21
+ }
22
+ }
@@ -0,0 +1,5 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from "../../IDesignerCanvas.js";
3
+ export interface IDesignViewConfigButtonsProvider {
4
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
5
+ }
@@ -0,0 +1,6 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
3
+ import { IDesignViewConfigButtonsProvider } from "./IDesignViewConfigButtonsProvider.js";
4
+ export declare class InvisibleElementExtensionDesignViewConfigButtons implements IDesignViewConfigButtonsProvider {
5
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
6
+ }
@@ -0,0 +1,22 @@
1
+ import { invisibleElementExtensionShowOverlayOptionName } from "../InvisibleElementExtensionProvider.js";
2
+ export class InvisibleElementExtensionDesignViewConfigButtons {
3
+ provideButtons(designerView, designerCanvas) {
4
+ const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
5
+ const btn = document.createElement('div');
6
+ btn.innerText = 'I';
7
+ btn.title = 'show invisible div overlay';
8
+ btn.className = 'toolbar-control';
9
+ if (extensionOptions[invisibleElementExtensionShowOverlayOptionName] !== false)
10
+ btn.classList.add('selected');
11
+ btn.onclick = () => {
12
+ const val = extensionOptions[invisibleElementExtensionShowOverlayOptionName];
13
+ extensionOptions[invisibleElementExtensionShowOverlayOptionName] = val === false ? true : false;
14
+ if (extensionOptions[invisibleElementExtensionShowOverlayOptionName] !== false)
15
+ btn.classList.add('selected');
16
+ else
17
+ btn.classList.remove('selected');
18
+ designerCanvas.extensionManager.reapplyAllAppliedExtentions();
19
+ };
20
+ return [btn];
21
+ }
22
+ }
@@ -0,0 +1,7 @@
1
+ import { DesignerView } from "../../designerView.js";
2
+ import { IDesignerCanvas } from '../../IDesignerCanvas.js';
3
+ import { IDesignViewConfigButtonsProvider } from "../../IDesignViewConfigButtonsProvider.js";
4
+ export declare const disableStylesheetService = "disableStylesheetService";
5
+ export declare class StylesheetServiceDesignViewConfigButtons implements IDesignViewConfigButtonsProvider {
6
+ provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
7
+ }
@@ -0,0 +1,21 @@
1
+ export const disableStylesheetService = 'disableStylesheetService';
2
+ export class StylesheetServiceDesignViewConfigButtons {
3
+ provideButtons(designerView, designerCanvas) {
4
+ const extensionOptions = designerCanvas.instanceServiceContainer.designContext.extensionOptions;
5
+ const btn = document.createElement('div');
6
+ btn.innerText = 'G';
7
+ btn.title = 'show grid overlay';
8
+ btn.className = 'toolbar-control';
9
+ if (extensionOptions[disableStylesheetService] !== false)
10
+ btn.classList.add('selected');
11
+ btn.onclick = () => {
12
+ const val = extensionOptions[disableStylesheetService];
13
+ extensionOptions[disableStylesheetService] = val === false ? true : false;
14
+ if (extensionOptions[disableStylesheetService] !== false)
15
+ btn.classList.add('selected');
16
+ else
17
+ btn.classList.remove('selected');
18
+ };
19
+ return [btn];
20
+ }
21
+ }
@@ -0,0 +1,5 @@
1
+ import { AbstractDesignViewConfigButton } from "./AbstractDesignViewConfigButton.js";
2
+ export declare const enableStylesheetService = "enableStylesheetService";
3
+ export declare class StylesheetServiceDesignViewConfigButtons extends AbstractDesignViewConfigButton {
4
+ constructor();
5
+ }
@@ -0,0 +1,7 @@
1
+ import { AbstractDesignViewConfigButton } from "./AbstractDesignViewConfigButton.js";
2
+ export const enableStylesheetService = 'enableStylesheetService';
3
+ export class StylesheetServiceDesignViewConfigButtons extends AbstractDesignViewConfigButton {
4
+ constructor() {
5
+ super(enableStylesheetService, "ss", "modify Stylesheet");
6
+ }
7
+ }
package/dist/index.d.ts CHANGED
@@ -167,7 +167,6 @@ export * from "./elements/widgets/designerView/extensions/CanvasExtensionProvide
167
167
  export * from "./elements/widgets/designerView/extensions/ExtensionManager.js";
168
168
  export * from "./elements/widgets/designerView/extensions/FlexboxExtension.js";
169
169
  export * from "./elements/widgets/designerView/extensions/FlexboxExtensionProvider.js";
170
- export * from "./elements/widgets/designerView/extensions/FlexboxExtensionDesignViewConfigButtons.js";
171
170
  export * from "./elements/widgets/designerView/extensions/GrayOutExtension.js";
172
171
  export * from "./elements/widgets/designerView/extensions/GrayOutExtensionProvider.js";
173
172
  export * from "./elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.js";
@@ -176,7 +175,6 @@ export * from "./elements/widgets/designerView/extensions/GridExtension.js";
176
175
  export * from "./elements/widgets/designerView/extensions/GridExtensionProvider.js";
177
176
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtension.js";
178
177
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js";
179
- export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionDesignViewConfigButtons.js";
180
178
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtension.js";
181
179
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js";
182
180
  export * from "./elements/widgets/designerView/extensions/svg/PathExtension.js";
@@ -193,6 +191,13 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
193
191
  export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
194
192
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
195
193
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
194
+ export * from "./elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js";
195
+ export * from "./elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js";
196
+ export * from "./elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js";
197
+ export * from "./elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.js";
198
+ export * from "./elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js";
199
+ export * from "./elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js";
200
+ export type { IDesignViewConfigButtonsProvider } from "./elements/widgets/designerView/extensions/buttons/IDesignViewConfigButtonsProvider";
196
201
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
197
202
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
198
203
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.js";
package/dist/index.js CHANGED
@@ -122,7 +122,6 @@ export * from "./elements/widgets/designerView/extensions/CanvasExtensionProvide
122
122
  export * from "./elements/widgets/designerView/extensions/ExtensionManager.js";
123
123
  export * from "./elements/widgets/designerView/extensions/FlexboxExtension.js";
124
124
  export * from "./elements/widgets/designerView/extensions/FlexboxExtensionProvider.js";
125
- export * from "./elements/widgets/designerView/extensions/FlexboxExtensionDesignViewConfigButtons.js";
126
125
  export * from "./elements/widgets/designerView/extensions/GrayOutExtension.js";
127
126
  export * from "./elements/widgets/designerView/extensions/GrayOutExtensionProvider.js";
128
127
  export * from "./elements/widgets/designerView/extensions/GrayOutDragOverContainerExtension.js";
@@ -131,7 +130,6 @@ export * from "./elements/widgets/designerView/extensions/GridExtension.js";
131
130
  export * from "./elements/widgets/designerView/extensions/GridExtensionProvider.js";
132
131
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtension.js";
133
132
  export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionProvider.js";
134
- export * from "./elements/widgets/designerView/extensions/InvisibleElementExtensionDesignViewConfigButtons.js";
135
133
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtension.js";
136
134
  export * from "./elements/widgets/designerView/extensions/HighlightElementExtensionProvider.js";
137
135
  export * from "./elements/widgets/designerView/extensions/svg/PathExtension.js";
@@ -148,6 +146,12 @@ export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtens
148
146
  export * from "./elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js";
149
147
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtension.js";
150
148
  export * from "./elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js";
149
+ export * from "./elements/widgets/designerView/extensions/buttons/InvisibleElementExtensionDesignViewConfigButtons.js";
150
+ export * from "./elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js";
151
+ export * from "./elements/widgets/designerView/extensions/buttons/GridExtensionDesignViewConfigButtons.js";
152
+ export * from "./elements/widgets/designerView/extensions/buttons/AbstractDesignViewConfigButton.js";
153
+ export * from "./elements/widgets/designerView/extensions/buttons/ButtonSeperatorProvider.js";
154
+ export * from "./elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons.js";
151
155
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtension.js";
152
156
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextExtensionProvider.js";
153
157
  export * from "./elements/widgets/designerView/extensions/EditText/EditTextWithStyloExtension.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.0.172",
4
+ "version": "0.0.173",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",