@node-projects/web-component-designer 0.0.183 → 0.0.185

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 (73) hide show
  1. package/dist/elements/helper/Helper.d.ts +2 -0
  2. package/dist/elements/helper/Helper.js +10 -0
  3. package/dist/elements/helper/NpmPackageLoader.d.ts +17 -0
  4. package/dist/elements/helper/NpmPackageLoader.js +207 -0
  5. package/dist/elements/services/designerAddons/IDesignerAddonJson.d.ts +6 -0
  6. package/dist/elements/services/{propertiesService/IProperty copy.js → designerAddons/IDesignerAddonJson.js} +0 -0
  7. package/dist/elements/services/elementsService/WebcomponentManifestElementsService.js +2 -1
  8. package/dist/elements/services/manifestParsers/WebcomponentManifestParserService.js +3 -2
  9. package/dist/elements/services/propertiesService/services/WebcomponentManifestPropertiesService.js +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +1 -0
  12. package/package.json +4 -4
  13. package/dist/elements/controls/ThicknessEditor copy.d.ts +0 -33
  14. package/dist/elements/controls/ThicknessEditor copy.js +0 -145
  15. package/dist/elements/helper/IndentedTextWriter copy.d.ts +0 -14
  16. package/dist/elements/helper/IndentedTextWriter copy.js +0 -34
  17. package/dist/elements/helper/SimpleTextWriter copy.d.ts +0 -12
  18. package/dist/elements/helper/SimpleTextWriter copy.js +0 -26
  19. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.d.ts +0 -12
  20. package/dist/elements/services/htmlParserService/AbstractClassElementParserService.js +0 -120
  21. package/dist/elements/services/htmlParserService/LitElementParserService copy.d.ts +0 -12
  22. package/dist/elements/services/htmlParserService/LitElementParserService copy.js +0 -120
  23. package/dist/elements/services/propertiesService/IProperty copy.d.ts +0 -22
  24. package/dist/elements/services/propertiesService/IPropertyGroupsService.d.ts +0 -8
  25. package/dist/elements/services/propertiesService/IPropertyGroupsService.js +0 -1
  26. package/dist/elements/services/propertiesService/PropertyGroupsService.d.ts +0 -17
  27. package/dist/elements/services/propertiesService/PropertyGroupsService.js +0 -29
  28. package/dist/elements/services/propertiesService/propertyEditors/MetricsEditor.d.ts +0 -0
  29. package/dist/elements/services/propertiesService/propertyEditors/MetricsEditor.js +0 -1
  30. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.d.ts +0 -7
  31. package/dist/elements/services/propertiesService/services/AbstractBasePropertiesService.js +0 -44
  32. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService copy.d.ts +0 -18
  33. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService copy.js +0 -221
  34. package/dist/elements/services/propertiesService/services/CssPropertiesService copy.d.ts +0 -18
  35. package/dist/elements/services/propertiesService/services/CssPropertiesService copy.js +0 -221
  36. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.d.ts +0 -20
  37. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +0 -162
  38. package/dist/elements/services/stylesheetService/CssTreeStylesheetService copy.d.ts +0 -48
  39. package/dist/elements/services/stylesheetService/CssTreeStylesheetService copy.js +0 -185
  40. package/dist/elements/services/stylesheetService/StylesheetService.d.ts +0 -28
  41. package/dist/elements/services/stylesheetService/StylesheetService.js +0 -108
  42. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.d.ts +0 -15
  43. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +0 -36
  44. package/dist/elements/widgets/codeView/code-view-monaco copy.d.ts +0 -25
  45. package/dist/elements/widgets/codeView/code-view-monaco copy.js +0 -119
  46. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.d.ts +0 -8
  47. package/dist/elements/widgets/designerView/ButtonSeperatorProvider.js +0 -11
  48. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.d.ts +0 -5
  49. package/dist/elements/widgets/designerView/IDesignViewConfigButtonsProvider.js +0 -1
  50. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionDesignViewConfigButtons.d.ts +0 -6
  51. package/dist/elements/widgets/designerView/extensions/FlexboxExtensionDesignViewConfigButtons.js +0 -22
  52. package/dist/elements/widgets/designerView/extensions/GridExtension copy.d.ts +0 -10
  53. package/dist/elements/widgets/designerView/extensions/GridExtension copy.js +0 -30
  54. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons copy.d.ts +0 -6
  55. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons copy.js +0 -21
  56. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.d.ts +0 -6
  57. package/dist/elements/widgets/designerView/extensions/GridExtensionDesignViewConfigButtons.js +0 -22
  58. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider copy.d.ts +0 -11
  59. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider copy.js +0 -18
  60. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.d.ts +0 -11
  61. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +0 -19
  62. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionDesignViewConfigButtons.d.ts +0 -6
  63. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionDesignViewConfigButtons.js +0 -22
  64. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.d.ts +0 -11
  65. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +0 -20
  66. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionDesignViewConfigButtons.d.ts +0 -6
  67. package/dist/elements/widgets/designerView/extensions/InvisibleElementExtensionDesignViewConfigButtons.js +0 -22
  68. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.d.ts +0 -11
  69. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +0 -20
  70. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.d.ts +0 -10
  71. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +0 -13
  72. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons copy.d.ts +0 -7
  73. package/dist/elements/widgets/designerView/extensions/buttons/StylesheetServiceDesignViewConfigButtons copy.js +0 -21
@@ -1,108 +0,0 @@
1
- import * as csstree from 'css-tree';
2
- import { TypedEvent } from "@node-projects/base-custom-webcomponent";
3
- import { calculate as calculateSpecifity } from "./SpecificityCalculator.js";
4
- export class StylesheetService {
5
- stylesheets;
6
- stylesheetChanged = new TypedEvent();
7
- styles = [];
8
- constructor(stylesheets) {
9
- this.stylesheets = stylesheets;
10
- }
11
- updateDefiningRule(designItem, property, value) {
12
- // let highestSpecificityRule = this.getAppliedRules(designItem, property);
13
- // if (!highestSpecificityRule) return false;
14
- // let newRule = csstree.toPlainObject(csstree.parse("* {" + property.name + ": " + value + "}")) as csstree.StyleSheetPlain;
15
- // let index = this.returnRuleDeclarationIndex(highestSpecificityRule, property);
16
- // if (index > -1) highestSpecificityRule.block.children.splice(index, 1, (newRule.children[0] as csstree.RulePlain).block.children[0]);
17
- // else highestSpecificityRule.block.children.push((newRule.children[0] as csstree.RulePlain).block.children[0]);
18
- // if (!this.ruleset) this.ruleset = this.parseStylesheetToRuleset(this.stylesheet);
19
- // this.stylesheetChanged.emit({ stylesheet: csstree.generate(csstree.fromPlainObject(this.ruleset)) });
20
- return true;
21
- }
22
- getAppliedRulesInternal(designItem, prop) {
23
- return this.parseStylesheetToRuleset(this.stylesheets).filter(item => designItem.element.matches(item.selector));
24
- }
25
- getAppliedRules(designItem, prop) {
26
- let rules = this.getAppliedRulesInternal(designItem, prop);
27
- if (!rules)
28
- return [];
29
- return rules.map(r => {
30
- return {
31
- selector: r.selector,
32
- declarations: r.rule.block.children.map(c => {
33
- return {
34
- // @ts-ignore
35
- name: c.property,
36
- // @ts-ignore
37
- value: c.value.value,
38
- // @ts-ignore
39
- important: c.important == true
40
- };
41
- }),
42
- specificity: this.getSpecificity(r.rule.prelude)
43
- };
44
- });
45
- }
46
- getDeclarationInternal(designItem, prop) {
47
- let rules = this.getAppliedRulesInternal(designItem, prop);
48
- if (!rules)
49
- return null;
50
- let declarations = [];
51
- rules.forEach(r => {
52
- let index = this.returnRuleDeclarationIndex(r.rule, prop);
53
- // @ts-ignore
54
- if (index > -1)
55
- declarations.push(r.rule.block.children[index]);
56
- });
57
- return declarations;
58
- }
59
- getDeclarations(designItem, prop) {
60
- let decl = this.getDeclarationInternal(designItem, prop);
61
- if (!decl)
62
- return null;
63
- let declarations = [];
64
- decl.forEach(d => {
65
- declarations.push({
66
- name: d.property,
67
- value: d.value.value,
68
- important: d.important == true
69
- });
70
- });
71
- return declarations;
72
- }
73
- parseStylesheetToRuleset(stylesheets) {
74
- let styles = [];
75
- stylesheets.forEach(s => {
76
- let stylesheetPlain = csstree.toPlainObject(csstree.parse(s, { positions: true, parseValue: false }));
77
- stylesheetPlain.children.forEach((rule) => {
78
- styles.push({
79
- rule: rule,
80
- selector: this.buildSelectorString(s, rule.prelude),
81
- specificity: this.getSpecificity(rule.prelude)
82
- });
83
- });
84
- });
85
- return styles;
86
- }
87
- buildSelectorString(stylesheet, selector) {
88
- return stylesheet.substring(selector.loc.start.offset, selector.loc.end.offset);
89
- }
90
- getSpecificity(selector) {
91
- const specificities = calculateSpecifity(selector);
92
- let sum = 0;
93
- specificities.forEach(specificity => sum += specificity.a * 10000 + specificity.b * 100 + specificity.c);
94
- return sum;
95
- }
96
- returnRuleDeclarationIndex(rule, property) {
97
- let decl;
98
- rule.block.children.forEach((child) => {
99
- if (child.property == property.name) {
100
- decl = child;
101
- return;
102
- }
103
- });
104
- if (!decl)
105
- return -1;
106
- return rule.block.children.indexOf(decl);
107
- }
108
- }
@@ -1,15 +0,0 @@
1
- import { ITransactionItem } from '../ITransactionItem';
2
- import { IDesignItem } from '../../../item/IDesignItem';
3
- import { IProperty } from '../../propertiesService/IProperty';
4
- export declare class PropertyChangeAction implements ITransactionItem {
5
- constructor(designItem: IDesignItem, property: IProperty, newValue: any, oldValue: any);
6
- title?: string;
7
- get affectedItems(): IDesignItem[];
8
- undo(): void;
9
- do(): void;
10
- designItem: IDesignItem;
11
- property: IProperty;
12
- newValue: any;
13
- oldValue: any;
14
- mergeWith(other: ITransactionItem): boolean;
15
- }
@@ -1,36 +0,0 @@
1
- export class PropertyChangeAction {
2
- constructor(designItem, property, newValue, oldValue) {
3
- this.title = "Change Property";
4
- this.designItem = designItem;
5
- this.property = property;
6
- this.newValue = newValue;
7
- this.oldValue = oldValue;
8
- }
9
- title;
10
- get affectedItems() {
11
- return [this.designItem];
12
- }
13
- undo() {
14
- if (this.oldValue == null)
15
- this.property.service.clearValue([this.designItem], this.property);
16
- else
17
- this.property.service.setValue([this.designItem], this.property, this.oldValue);
18
- }
19
- do() {
20
- if (this.newValue == null)
21
- this.property.service.clearValue([this.designItem], this.property);
22
- else
23
- this.property.service.setValue([this.designItem], this.property, this.newValue);
24
- }
25
- designItem;
26
- property;
27
- newValue;
28
- oldValue;
29
- mergeWith(other) {
30
- if (other instanceof PropertyChangeAction && this.designItem === other.designItem && this.property === other.property) {
31
- this.newValue = other.newValue;
32
- return true;
33
- }
34
- return false;
35
- }
36
- }
@@ -1,25 +0,0 @@
1
- import { BaseCustomWebComponentLazyAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- import { ICodeView } from "./ICodeView";
3
- import { IActivateable } from '../../../interfaces/IActivateable';
4
- import { IStringPosition } from '../../services/htmlWriterService/IStringPosition';
5
- import { IUiCommandHandler } from '../../../commandHandling/IUiCommandHandler';
6
- import { IUiCommand } from '../../../commandHandling/IUiCommand';
7
- export declare class CodeViewMonaco extends BaseCustomWebComponentLazyAppend implements ICodeView, IActivateable, IUiCommandHandler {
8
- dispose(): void;
9
- canvasElement: HTMLElement;
10
- elementsToPackages: Map<string, string>;
11
- code: string;
12
- onTextChanged: TypedEvent<string>;
13
- private _monacoEditor;
14
- private _editor;
15
- static readonly style: CSSStyleSheet;
16
- static readonly template: HTMLTemplateElement;
17
- executeCommand(command: IUiCommand): void;
18
- canExecuteCommand(command: IUiCommand): boolean;
19
- ready(): Promise<void>;
20
- focusEditor(): void;
21
- activated(): void;
22
- update(code: any): void;
23
- getText(): string;
24
- setSelection(position: IStringPosition): void;
25
- }
@@ -1,119 +0,0 @@
1
- import { BaseCustomWebComponentLazyAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
- import { CommandType } from '../../../commandHandling/CommandType';
3
- export class CodeViewMonaco extends BaseCustomWebComponentLazyAppend {
4
- dispose() {
5
- this._monacoEditor.dispose();
6
- }
7
- canvasElement;
8
- elementsToPackages;
9
- code;
10
- onTextChanged = new TypedEvent();
11
- _monacoEditor;
12
- _editor;
13
- static style = css `
14
- :host {
15
- display: block;
16
- height: 100%;
17
- width: 100%;
18
- }
19
- `;
20
- static template = html `
21
- <div id="container" style="width: 100%; height: 100%; position: absolute;"></div>
22
- `;
23
- executeCommand(command) {
24
- switch (command.type) {
25
- case CommandType.undo:
26
- this._monacoEditor.trigger('source', 'undo', null);
27
- break;
28
- case CommandType.redo:
29
- this._monacoEditor.trigger('source', 'redo', null);
30
- break;
31
- case CommandType.copy:
32
- this._monacoEditor.trigger('source', 'editor.action.clipboardCopyAction', null);
33
- break;
34
- case CommandType.paste:
35
- this._monacoEditor.trigger('source', 'editor.action.clipboardPasteAction', null);
36
- break;
37
- case CommandType.cut:
38
- break;
39
- case CommandType.delete:
40
- break;
41
- }
42
- }
43
- canExecuteCommand(command) {
44
- switch (command.type) {
45
- case CommandType.undo:
46
- case CommandType.redo:
47
- case CommandType.copy:
48
- case CommandType.paste:
49
- case CommandType.cut:
50
- case CommandType.delete:
51
- return true;
52
- }
53
- return false;
54
- }
55
- async ready() {
56
- let style;
57
- //@ts-ignore
58
- if (window.importShim)
59
- //@ts-ignore
60
- style = await importShim("monaco-editor/min/vs/editor/editor.main.css", { assert: { type: 'css' } });
61
- else
62
- //@ts-ignore
63
- style = await import("monaco-editor/min/vs/editor/editor.main.css", { assert: { type: 'css' } });
64
- this.shadowRoot.adoptedStyleSheets = [style.default, this.constructor.style];
65
- this._editor = this._getDomElement('container');
66
- //@ts-ignore
67
- require.config({ paths: { 'vs': 'node_modules/monaco-editor/min/vs' } });
68
- //@ts-ignore
69
- require(['vs/editor/editor.main'], () => {
70
- //@ts-ignore
71
- this._monacoEditor = monaco.editor.create(this._editor, {
72
- automaticLayout: true,
73
- value: this.code,
74
- language: 'html',
75
- minimap: {
76
- size: 'fill'
77
- },
78
- fixedOverflowWidgets: true
79
- });
80
- this._monacoEditor.layout();
81
- let changeContentListener = this._monacoEditor.getModel().onDidChangeContent(e => {
82
- this.onTextChanged.emit(this._monacoEditor.getValue());
83
- });
84
- this._monacoEditor.onDidChangeModel(e => {
85
- changeContentListener.dispose();
86
- changeContentListener = this._monacoEditor.getModel().onDidChangeContent(e => {
87
- this.onTextChanged.emit(this._monacoEditor.getValue());
88
- });
89
- });
90
- });
91
- }
92
- focusEditor() {
93
- requestAnimationFrame(() => {
94
- this.focus();
95
- this._monacoEditor.focus();
96
- });
97
- }
98
- activated() {
99
- if (this._monacoEditor)
100
- this._monacoEditor.layout();
101
- }
102
- update(code) {
103
- this.code = code;
104
- if (this._monacoEditor) {
105
- this._monacoEditor.setValue(code);
106
- }
107
- }
108
- getText() {
109
- return this._monacoEditor.getValue();
110
- }
111
- setSelection(position) {
112
- let model = this._monacoEditor.getModel();
113
- let point1 = model.getPositionAt(position.start);
114
- let point2 = model.getPositionAt(position.start + position.length);
115
- this._monacoEditor.setSelection({ startLineNumber: point1.lineNumber, startColumn: point1.column, endLineNumber: point2.lineNumber, endColumn: point2.column });
116
- setTimeout(() => this._monacoEditor.revealLine(point1.lineNumber), 20);
117
- }
118
- }
119
- customElements.define('node-projects-code-view-monaco', CodeViewMonaco);
@@ -1,8 +0,0 @@
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
- }
@@ -1,11 +0,0 @@
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
- }
@@ -1,5 +0,0 @@
1
- import { DesignerView } from "./designerView.js";
2
- import { IDesignerCanvas } from "./IDesignerCanvas.js";
3
- export interface IDesignViewConfigButtonsProvider {
4
- provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
5
- }
@@ -1,6 +0,0 @@
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
- }
@@ -1,22 +0,0 @@
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
- }
@@ -1,10 +0,0 @@
1
- import { IDesignItem } from "../../../item/IDesignItem";
2
- import { IDesignerCanvas } from "../IDesignerCanvas";
3
- import { AbstractExtension } from "./AbstractExtension";
4
- import { IExtensionManager } from "./IExtensionManger";
5
- export declare class GridExtension extends AbstractExtension {
6
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
7
- extend(): void;
8
- refresh(): void;
9
- dispose(): void;
10
- }
@@ -1,30 +0,0 @@
1
- import { CalculateGridInformation } from "../../../helper/GridHelper.js";
2
- import { AbstractExtension } from "./AbstractExtension";
3
- import { OverlayLayer } from "./OverlayLayer.js";
4
- export class GridExtension extends AbstractExtension {
5
- constructor(extensionManager, designerView, extendedItem) {
6
- super(extensionManager, designerView, extendedItem);
7
- }
8
- extend() {
9
- const gridInformation = CalculateGridInformation(this.extendedItem);
10
- for (let gap of gridInformation.gaps) {
11
- this._drawRect(gap.x, gap.y, gap.width, gap.height, 'svg-grid-gap', null, OverlayLayer.Background);
12
- }
13
- for (let cellRow of gridInformation.cells) {
14
- for (let cell of cellRow) {
15
- this._drawRect(cell.x, cell.y, cell.width, cell.height, 'svg-grid', null, OverlayLayer.Background);
16
- if (cell.name) {
17
- const text = this._drawText(cell.name, cell.x, cell.y, 'svg-grid-area', null, OverlayLayer.Background);
18
- text.setAttribute("dominant-baseline", "hanging");
19
- }
20
- }
21
- }
22
- }
23
- refresh() {
24
- this._removeAllOverlays();
25
- this.extend();
26
- }
27
- dispose() {
28
- this._removeAllOverlays();
29
- }
30
- }
@@ -1,6 +0,0 @@
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
- }
@@ -1,21 +0,0 @@
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
- };
19
- return [btn];
20
- }
21
- }
@@ -1,6 +0,0 @@
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
- }
@@ -1,22 +0,0 @@
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
- }
@@ -1,11 +0,0 @@
1
- import { IDesignerExtensionProvider } from "./IDesignerExtensionProvider";
2
- import { IDesignItem } from "../../../item/IDesignItem";
3
- import { IDesignerCanvas } from "../IDesignerCanvas";
4
- import { IDesignerExtension } from "./IDesignerExtension";
5
- import { IExtensionManager } from "./IExtensionManger";
6
- export declare const gridExtensionShowOverlayOptionName = "gridExtensionShowOverlay";
7
- export declare class GridExtensionProvider implements IDesignerExtensionProvider {
8
- shouldExtend(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): boolean;
9
- getExtension(extensionManager: IExtensionManager, designerView: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
10
- readonly style: CSSStyleSheet;
11
- }
@@ -1,18 +0,0 @@
1
- import { GridExtension } from './GridExtension';
2
- import { css } from "@node-projects/base-custom-webcomponent";
3
- export const gridExtensionShowOverlayOptionName = 'gridExtensionShowOverlay';
4
- export class GridExtensionProvider {
5
- shouldExtend(extensionManager, designerView, designItem) {
6
- if (getComputedStyle(designItem.element).display == 'grid')
7
- return designerView.instanceServiceContainer.designContext.extensionOptions[gridExtensionShowOverlayOptionName] !== false;
8
- return false;
9
- }
10
- getExtension(extensionManager, designerView, designItem) {
11
- return new GridExtension(extensionManager, designerView, designItem);
12
- }
13
- style = css `
14
- .svg-grid { stroke: orange; stroke-dasharray: 5; fill: #ff944722; }
15
- .svg-grid-area { font-size: 8px; }
16
- .svg-grid-gap { stroke: orange; stroke-dasharray: 5; fill: #0000ff22; }
17
- `;
18
- }
@@ -1,11 +0,0 @@
1
- import { IDesignItem } from '../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { AbstractExtension } from './AbstractExtension.js';
4
- import { IExtensionManager } from './IExtensionManger.js';
5
- export declare class InvisibleDivExtension extends AbstractExtension {
6
- private _rect;
7
- constructor(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, extendedItem: IDesignItem);
8
- extend(): void;
9
- refresh(): void;
10
- dispose(): void;
11
- }
@@ -1,19 +0,0 @@
1
- import { getDesignerCanvasNormalizedTransformedCornerDOMPoints } from '../../../helper/TransformHelper.js';
2
- import { AbstractExtension } from './AbstractExtension.js';
3
- import { OverlayLayer } from "./OverlayLayer.js";
4
- export class InvisibleDivExtension extends AbstractExtension {
5
- _rect;
6
- constructor(extensionManager, designerCanvas, extendedItem) {
7
- super(extensionManager, designerCanvas, extendedItem);
8
- }
9
- extend() {
10
- this.refresh();
11
- }
12
- refresh() {
13
- let transformedCornerPoints = getDesignerCanvasNormalizedTransformedCornerDOMPoints(this.extendedItem.element, null, this.designerCanvas);
14
- this._rect = this._drawTransformedRect(transformedCornerPoints, 'svg-invisible-div', this._rect, OverlayLayer.Background);
15
- }
16
- dispose() {
17
- this._removeAllOverlays();
18
- }
19
- }
@@ -1,6 +0,0 @@
1
- import { DesignerView } from "../designerView.js";
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { IDesignViewConfigButtonsProvider } from "../IDesignViewConfigButtonsProvider.js";
4
- export declare class InvisibleDivExtensionDesignViewConfigButtons implements IDesignViewConfigButtonsProvider {
5
- provideButtons(designerView: DesignerView, designerCanvas: IDesignerCanvas): HTMLElement[];
6
- }
@@ -1,22 +0,0 @@
1
- import { invisibleDivExtensionShowOverlayOptionName } from "./InvisibleElementExtensionProvider.js";
2
- export class InvisibleDivExtensionDesignViewConfigButtons {
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[invisibleDivExtensionShowOverlayOptionName] !== false)
10
- btn.classList.add('selected');
11
- btn.onclick = () => {
12
- const val = extensionOptions[invisibleDivExtensionShowOverlayOptionName];
13
- extensionOptions[invisibleDivExtensionShowOverlayOptionName] = val === false ? true : false;
14
- if (extensionOptions[invisibleDivExtensionShowOverlayOptionName] !== false)
15
- btn.classList.add('selected');
16
- else
17
- btn.classList.remove('selected');
18
- designerCanvas.extensionManager.reapplyAllAppliedExtentions();
19
- };
20
- return [btn];
21
- }
22
- }
@@ -1,11 +0,0 @@
1
- import { IDesignerExtensionProvider } from './IDesignerExtensionProvider.js';
2
- import { IDesignItem } from '../../../item/IDesignItem.js';
3
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
4
- import { IDesignerExtension } from './IDesignerExtension.js';
5
- import { IExtensionManager } from './IExtensionManger.js';
6
- export declare const invisibleDivExtensionShowOverlayOptionName = "invisibleDivExtensionShowOverlay";
7
- export declare class InvisibleDivExtensionProvider implements IDesignerExtensionProvider {
8
- shouldExtend(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): boolean;
9
- getExtension(extensionManager: IExtensionManager, designerCanvas: IDesignerCanvas, designItem: IDesignItem): IDesignerExtension;
10
- readonly style: CSSStyleSheet;
11
- }
@@ -1,20 +0,0 @@
1
- import { InvisibleDivExtension } from './InvisibleDivExtension.js';
2
- import { css } from "@node-projects/base-custom-webcomponent";
3
- export const invisibleDivExtensionShowOverlayOptionName = 'invisibleDivExtensionShowOverlay';
4
- export class InvisibleDivExtensionProvider {
5
- shouldExtend(extensionManager, designerCanvas, designItem) {
6
- if (designerCanvas.instanceServiceContainer.designContext.extensionOptions[invisibleDivExtensionShowOverlayOptionName] !== false) {
7
- if (designItem.name == 'div') {
8
- const st = window.getComputedStyle(designItem.element);
9
- return st.backgroundColor == 'rgba(0, 0, 0, 0)' && st.borderStyle == 'none';
10
- }
11
- }
12
- return false;
13
- }
14
- getExtension(extensionManager, designerCanvas, designItem) {
15
- return new InvisibleDivExtension(extensionManager, designerCanvas, designItem);
16
- }
17
- style = css `
18
- .svg-invisible-div { stroke: lightgray; fill: transparent; stroke-width: 1;
19
- `;
20
- }
@@ -1,6 +0,0 @@
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
- }
@@ -1,22 +0,0 @@
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
- }
@@ -1,11 +0,0 @@
1
- import { IDesignItem } from '../../../item/IDesignItem.js';
2
- import { IDesignerCanvas } from '../IDesignerCanvas.js';
3
- import { AbstractExtension } from './AbstractExtension.js';
4
- import { IExtensionManager } from './IExtensionManger.js';
5
- export declare class MouseOverExtension extends AbstractExtension {
6
- private _rect;
7
- constructor(extensionManager: IExtensionManager, designerView: IDesignerCanvas, extendedItem: IDesignItem);
8
- extend(): void;
9
- refresh(): void;
10
- dispose(): void;
11
- }