@node-projects/web-component-designer 0.2.23 → 0.2.24

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 (102) hide show
  1. package/dist/elements/controls/ColorEditor.d.ts +82 -0
  2. package/dist/elements/controls/ColorEditor.js +972 -0
  3. package/dist/elements/controls/ColorEditor.js.map +1 -0
  4. package/dist/elements/controls/MetricsEditor.d.ts +26 -4
  5. package/dist/elements/controls/MetricsEditor.js +376 -130
  6. package/dist/elements/controls/MetricsEditor.js.map +1 -1
  7. package/dist/elements/helper/CssAttributeParser.d.ts +3 -1
  8. package/dist/elements/helper/CssAttributeParser.js +12 -3
  9. package/dist/elements/helper/CssAttributeParser.js.map +1 -1
  10. package/dist/elements/helper/CssImportant.d.ts +5 -0
  11. package/dist/elements/helper/CssImportant.js +12 -0
  12. package/dist/elements/helper/CssImportant.js.map +1 -0
  13. package/dist/elements/helper/LayoutHelper.d.ts +1 -0
  14. package/dist/elements/helper/LayoutHelper.js +11 -1
  15. package/dist/elements/helper/LayoutHelper.js.map +1 -1
  16. package/dist/elements/helper/PathDataPolyfill.d.ts +1 -0
  17. package/dist/elements/helper/PathDataPolyfill.js +20 -0
  18. package/dist/elements/helper/PathDataPolyfill.js.map +1 -1
  19. package/dist/elements/item/DesignItem.d.ts +4 -2
  20. package/dist/elements/item/DesignItem.js +30 -13
  21. package/dist/elements/item/DesignItem.js.map +1 -1
  22. package/dist/elements/item/IDesignItem.d.ts +2 -1
  23. package/dist/elements/services/DefaultServiceBootstrap.js +1 -1
  24. package/dist/elements/services/DefaultServiceBootstrap.js.map +1 -1
  25. package/dist/elements/services/elementsService/IElementsService.d.ts +3 -0
  26. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js +9 -5
  27. package/dist/elements/services/htmlWriterService/AbstractHtmlWriterService.js.map +1 -1
  28. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js +7 -4
  29. package/dist/elements/services/htmlWriterService/FormatingHtmlWriterService.js.map +1 -1
  30. package/dist/elements/services/htmlWriterService/IHtmlWriterService.d.ts +7 -0
  31. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js +7 -4
  32. package/dist/elements/services/htmlWriterService/SimpleHtmlWriterService.js.map +1 -1
  33. package/dist/elements/services/placementService/AbsolutePlacementService.js +6 -2
  34. package/dist/elements/services/placementService/AbsolutePlacementService.js.map +1 -1
  35. package/dist/elements/services/placementService/DefaultPlacementService.js +6 -2
  36. package/dist/elements/services/placementService/DefaultPlacementService.js.map +1 -1
  37. package/dist/elements/services/propertiesService/DefaultEditorTypeService.js +3 -4
  38. package/dist/elements/services/propertiesService/DefaultEditorTypeService.js.map +1 -1
  39. package/dist/elements/services/propertiesService/DefaultPropertyEditorTypesService.d.ts +1 -0
  40. package/dist/elements/services/propertiesService/DefaultPropertyEditorTypesService.js +7 -0
  41. package/dist/elements/services/propertiesService/DefaultPropertyEditorTypesService.js.map +1 -1
  42. package/dist/elements/services/propertiesService/IProperty.d.ts +1 -0
  43. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.d.ts +2 -1
  44. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js +6 -12
  45. package/dist/elements/services/propertiesService/propertyEditors/ColorPropertyEditor.js.map +1 -1
  46. package/dist/elements/services/propertiesService/propertyEditors/CssPropertyEditor.d.ts +22 -0
  47. package/dist/elements/services/propertiesService/propertyEditors/CssPropertyEditor.js +101 -0
  48. package/dist/elements/services/propertiesService/propertyEditors/CssPropertyEditor.js.map +1 -0
  49. package/dist/elements/services/propertiesService/propertyEditors/special/MetricsPropertyEditor.d.ts +1 -0
  50. package/dist/elements/services/propertiesService/propertyEditors/special/MetricsPropertyEditor.js +24 -2
  51. package/dist/elements/services/propertiesService/propertyEditors/special/MetricsPropertyEditor.js.map +1 -1
  52. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js +4 -2
  53. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js.map +1 -1
  54. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js +4 -2
  55. package/dist/elements/services/propertiesService/services/AbstractPropertiesService.js.map +1 -1
  56. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +7 -5
  57. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js.map +1 -1
  58. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js +2 -1
  59. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js.map +1 -1
  60. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +1 -1
  61. package/dist/elements/services/propertiesService/services/CssPropertiesService.js.map +1 -1
  62. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +3 -1
  63. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +9 -15
  64. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js.map +1 -1
  65. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  66. package/dist/elements/widgets/designerView/designerView.js +4 -1
  67. package/dist/elements/widgets/designerView/designerView.js.map +1 -1
  68. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.d.ts +3 -0
  69. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js +102 -16
  70. package/dist/elements/widgets/designerView/extensions/svg/UnifiedGeometryExtension.js.map +1 -1
  71. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.d.ts +4 -1
  72. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js +26 -3
  73. package/dist/elements/widgets/designerView/extensions/svg/geometry/GeometryWriteHelper.js.map +1 -1
  74. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js +8 -4
  75. package/dist/elements/widgets/designerView/tools/DrawEllipsisTool.js.map +1 -1
  76. package/dist/elements/widgets/designerView/tools/DrawLineTool.js +8 -6
  77. package/dist/elements/widgets/designerView/tools/DrawLineTool.js.map +1 -1
  78. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +2 -0
  79. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +15 -6
  80. package/dist/elements/widgets/designerView/tools/DrawPathTool.js.map +1 -1
  81. package/dist/elements/widgets/designerView/tools/DrawRectTool.js +8 -4
  82. package/dist/elements/widgets/designerView/tools/DrawRectTool.js.map +1 -1
  83. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js +3 -0
  84. package/dist/elements/widgets/designerView/tools/toolBar/popups/DrawToolPopup.js.map +1 -1
  85. package/dist/elements/widgets/layerDepthView/ILayerDepthView.d.ts +2 -0
  86. package/dist/elements/widgets/layerDepthView/ILayerDepthView.js +2 -0
  87. package/dist/elements/widgets/layerDepthView/ILayerDepthView.js.map +1 -0
  88. package/dist/elements/widgets/layerDepthView/layerDepthView.d.ts +46 -0
  89. package/dist/elements/widgets/layerDepthView/layerDepthView.js +341 -0
  90. package/dist/elements/widgets/layerDepthView/layerDepthView.js.map +1 -0
  91. package/dist/elements/widgets/paletteView/paletteElements.js +1 -0
  92. package/dist/elements/widgets/paletteView/paletteElements.js.map +1 -1
  93. package/dist/elements/widgets/paletteView/paletteView.js +3 -0
  94. package/dist/elements/widgets/paletteView/paletteView.js.map +1 -1
  95. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +6 -1
  96. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js.map +1 -1
  97. package/dist/index-min.js +16 -13
  98. package/dist/index-min.js.map +4 -4
  99. package/dist/index.d.ts +6 -0
  100. package/dist/index.js +5 -0
  101. package/dist/index.js.map +1 -1
  102. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorEditor.js","sourceRoot":"","sources":["../../../src/elements/controls/ColorEditor.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,40 @@
1
1
  import { BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
- export type ThicknessEditorValueChangedEventArgs = {
2
+ export type MetricsEditorArea = 'position' | 'margin' | 'border' | 'padding' | 'content';
3
+ export type MetricsEditorSide = 'top' | 'right' | 'bottom' | 'left' | 'width' | 'height';
4
+ export type MetricsEditorValueChangedEventArgs = {
5
+ property: string;
6
+ area: MetricsEditorArea;
7
+ side: MetricsEditorSide;
3
8
  newValue?: string;
4
9
  oldValue?: string;
5
10
  };
11
+ type MetricsEditorValueMap = Partial<Record<MetricsEditorArea, Partial<Record<MetricsEditorSide, string>>>>;
6
12
  export declare class MetricsEditor extends BaseCustomWebComponentConstructorAppend {
7
13
  static readonly style: CSSStyleSheet;
8
14
  static readonly template: HTMLTemplateElement;
9
15
  property: string;
10
16
  unsetValue: string;
11
17
  private _borderDiv;
12
- private _elementDiv;
18
+ private _boxModelDiv;
19
+ private _contentDiv;
20
+ private _inputs;
21
+ private _values;
22
+ private _isRefreshing;
23
+ private _resizeObserver;
13
24
  constructor();
14
25
  ready(): void;
15
- onDoubleClick(event: PointerEvent): void;
16
- onKeyDown(event: KeyboardEvent): void;
26
+ connectedCallback(): void;
27
+ disconnectedCallback(): void;
28
+ get values(): MetricsEditorValueMap;
29
+ set values(value: MetricsEditorValueMap);
30
+ getPropertyName(area: MetricsEditorArea, side: MetricsEditorSide): string;
17
31
  refresh(element: Element): void;
32
+ private _wireEvents;
33
+ private _commitInput;
34
+ private _updateInputs;
35
+ private _updateInput;
36
+ private _getComputedProperty;
37
+ private _cloneValues;
38
+ private _updateScale;
18
39
  }
40
+ export {};
@@ -1,151 +1,397 @@
1
1
  import { BaseCustomWebComponentConstructorAppend, css, html } from '@node-projects/base-custom-webcomponent';
2
+ const metricsEditorNaturalWidth = 436;
3
+ const cssProperties = {
4
+ position: {
5
+ top: 'top',
6
+ right: 'right',
7
+ bottom: 'bottom',
8
+ left: 'left'
9
+ },
10
+ margin: {
11
+ top: 'margin-top',
12
+ right: 'margin-right',
13
+ bottom: 'margin-bottom',
14
+ left: 'margin-left'
15
+ },
16
+ border: {
17
+ top: 'border-top-width',
18
+ right: 'border-right-width',
19
+ bottom: 'border-bottom-width',
20
+ left: 'border-left-width'
21
+ },
22
+ padding: {
23
+ top: 'padding-top',
24
+ right: 'padding-right',
25
+ bottom: 'padding-bottom',
26
+ left: 'padding-left'
27
+ },
28
+ content: {
29
+ width: 'width',
30
+ height: 'height'
31
+ }
32
+ };
33
+ const computedStyleProperties = {
34
+ 'border-top-width': 'borderTopWidth',
35
+ 'border-right-width': 'borderRightWidth',
36
+ 'border-bottom-width': 'borderBottomWidth',
37
+ 'border-left-width': 'borderLeftWidth',
38
+ 'margin-top': 'marginTop',
39
+ 'margin-right': 'marginRight',
40
+ 'margin-bottom': 'marginBottom',
41
+ 'margin-left': 'marginLeft',
42
+ 'padding-top': 'paddingTop',
43
+ 'padding-right': 'paddingRight',
44
+ 'padding-bottom': 'paddingBottom',
45
+ 'padding-left': 'paddingLeft'
46
+ };
2
47
  export class MetricsEditor extends BaseCustomWebComponentConstructorAppend {
3
- static style = css `
4
- :host {
5
- justify-content: center;
6
- display: flex;
7
- margin: 10px;
8
- line-height: 12px;
9
- min-width: 120px;
10
- }
11
-
12
- * {
13
- font-size: 12px;
14
- font-family: monospace;
15
- color: black;
16
- }
17
-
18
- .top {
19
- display: inline-block;
20
- }
21
- .left {
22
- display: inline-block;
23
- vertical-align: middle;
24
- }
25
- .right {
26
- display: inline-block;
27
- vertical-align: middle;
28
- }
29
- .bottom {
30
- display: inline-block;
31
- }
32
-
33
- div.ct {
34
- width:280px;height:120px;
35
- }
36
-
37
- div span {
38
- font-size: 10px;
39
- position: absolute;
40
- top: 0;
41
- left: 0;
42
- }
43
-
44
- div.ct {
45
- position: relative;
46
- background: white;
47
- display: inline-block;
48
- border: dotted 1px gray;
49
- text-align: center;
50
- vertical-align: middle;
51
- }
52
-
53
- div.ct.box {
54
- border: dotted 2px black;
55
- }
56
-
57
- div.ct > div.ct {
58
- left: 0;
59
- top: 0;
60
- background: #F9CC9F;
61
- width: calc(100% - 20px);
62
- height: calc(100% - 26px);
63
- border-style: dashed;
64
- }
65
-
66
- div.ct > div.ct > div.ct {
67
- background: #FEDC9B;
68
- border-style: solid;
69
- }
70
-
71
- div.ct > div.ct > div.ct > div.ct {
72
- background: #C4Cf8C;
73
- border-style: dashed;
74
- }
75
-
76
- div.ct > div.ct > div.ct > div.ct > div.ct {
77
- background: #8Cb6C2;
78
- border-style: solid;
79
- display: inline-flex;
80
- justify-content: center;
81
- align-items: center;
82
- }
83
-
84
- span {
85
- width: 30%;
86
- overflow: hidden;
87
- text-overflow: ellipsis;
88
- }`;
89
- static template = html `
90
- <div id="position" class="ct"><span title="position">position</span>
91
- <div data-style="position" @keydown="onKeyDown" @dblclick="onDoubleClick" class="top">-</div><br><div data-style="position" @keydown="onKeyDown" @dblclick="onDoubleClick" class="left">-</div><div id="margin" class="ct"><span title="margin">margin</span>
92
- <div data-style="margin" @keydown="onKeyDown" @dblclick="onDoubleClick" class="top">-</div><br><div @keydown="onKeyDown" @dblclick="onDoubleClick" class="left">-</div><div id="border" class="ct"><span title="border">border</span>
93
- <div data-style="border" @keydown="onKeyDown" @dblclick="onDoubleClick" class="top">-</div><br><div @keydown="onKeyDown" @dblclick="onDoubleClick" class="left">-</div><div id="padding" class="ct"><span title="padding">padding</span>
94
- <div data-style="padding" @keydown="onKeyDown" @dblclick="onDoubleClick" class="top">-</div><br><div @keydown="onKeyDown" @dblclick="onDoubleClick" class="left">-</div><div id="element" class="ct" style="font-size:6px"><div data-style="element" @keydown="onKeyDown" @dblclick="onDoubleClick" class="left">-</div>
95
- &nbsp;x&nbsp;
96
- <div data-style="element" @keydown="onKeyDown" @dblclick="onDoubleClick" class="right">-</div>
97
- </div><div data-style="padding" @keydown="onKeyDown" @dblclick="onDoubleClick" class="right">-</div><br><div data-style="padding" @keydown="onKeyDown" @dblclick="onDoubleClick" class="bottom">-</div></div><div data-style="border" @keydown="onKeyDown" @dblclick="onDoubleClick" class="right">-</div><br><div data-style="border" @keydown="onKeyDown" @dblclick="onDoubleClick" class="bottom">-</div></div><div data-style="margin" @keydown="onKeyDown" @dblclick="onDoubleClick" class="right">-</div><br><div data-style="margin" @keydown="onKeyDown" @dblclick="onDoubleClick" class="bottom">-</div></div><div data-style="position" @keydown="onKeyDown" @dblclick="onDoubleClick" class="right">-</div><br><div data-style="position" @keydown="onKeyDown" @dblclick="onDoubleClick" class="bottom">-</div></div>
48
+ static style = css `
49
+ :host {
50
+ display: block;
51
+ box-sizing: border-box;
52
+ min-width: 0;
53
+ color: var(--property-grid-text-color, white);
54
+ font: 11px monospace;
55
+ overflow: hidden;
56
+ }
57
+
58
+ #box-model {
59
+ display: grid;
60
+ grid-template-columns: 46px minmax(120px, 1fr) 46px;
61
+ grid-template-rows: 22px minmax(29px, auto) minmax(58px, auto) minmax(29px, auto) 22px;
62
+ grid-template-areas:
63
+ ". position-top ."
64
+ "position-left margin position-right"
65
+ "position-left margin position-right"
66
+ "position-left margin position-right"
67
+ ". position-bottom .";
68
+ align-items: center;
69
+ justify-items: center;
70
+ width: 100%;
71
+ min-width: ${metricsEditorNaturalWidth}px;
72
+ box-sizing: border-box;
73
+ padding: 4px;
74
+ transform-origin: top left;
75
+ }
76
+
77
+ .ring {
78
+ display: grid;
79
+ grid-template-columns: 42px minmax(56px, 1fr) 42px;
80
+ grid-template-rows: 20px minmax(34px, auto) 20px;
81
+ grid-template-areas:
82
+ ". top ."
83
+ "left inner right"
84
+ ". bottom .";
85
+ align-items: center;
86
+ justify-items: center;
87
+ position: relative;
88
+ box-sizing: border-box;
89
+ width: 100%;
90
+ min-width: 0;
91
+ height: 100%;
92
+ min-height: 116px;
93
+ border: 1px dashed rgba(0, 0, 0, .55);
94
+ }
95
+
96
+ #margin {
97
+ grid-area: margin;
98
+ background: #f6c89f;
99
+ }
100
+
101
+ #border {
102
+ grid-area: inner;
103
+ background: #f7dd9c;
104
+ border-style: solid;
105
+ min-height: 76px;
106
+ }
107
+
108
+ #padding {
109
+ grid-area: inner;
110
+ background: #c8d08f;
111
+ min-height: 38px;
112
+ }
113
+
114
+ #content {
115
+ grid-area: inner;
116
+ display: grid;
117
+ grid-template-columns: minmax(26px, 1fr) auto minmax(26px, 1fr);
118
+ gap: 4px;
119
+ align-items: center;
120
+ justify-items: center;
121
+ width: 100%;
122
+ height: 100%;
123
+ min-height: 24px;
124
+ box-sizing: border-box;
125
+ background: #8fb9c3;
126
+ border: 1px solid rgba(0, 0, 0, .65);
127
+ }
128
+
129
+ #position-label,
130
+ #content-label {
131
+ display: none;
132
+ }
133
+
134
+ #content.box,
135
+ #border.box {
136
+ outline: 2px solid rgba(0, 0, 0, .85);
137
+ outline-offset: -2px;
138
+ }
139
+
140
+ .label {
141
+ position: absolute;
142
+ top: 2px;
143
+ left: 4px;
144
+ max-width: calc(100% - 8px);
145
+ overflow: hidden;
146
+ text-overflow: ellipsis;
147
+ pointer-events: none;
148
+ color: rgba(0, 0, 0, .72);
149
+ font-size: 10px;
150
+ line-height: 12px;
151
+ }
152
+
153
+ input {
154
+ width: 38px;
155
+ max-width: 100%;
156
+ min-width: 0;
157
+ height: 17px;
158
+ box-sizing: border-box;
159
+ padding: 0 2px;
160
+ border: 0;
161
+ border-radius: 0;
162
+ background: transparent;
163
+ color: rgba(0, 0, 0, .85);
164
+ font: inherit;
165
+ line-height: 17px;
166
+ text-align: center;
167
+ outline: none;
168
+ }
169
+
170
+ input:hover,
171
+ input:focus {
172
+ background: rgba(255, 255, 255, .72);
173
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, .35);
174
+ }
175
+
176
+ input:disabled {
177
+ opacity: .65;
178
+ }
179
+
180
+ [data-side="top"] {
181
+ grid-area: top;
182
+ }
183
+
184
+ [data-side="right"] {
185
+ grid-area: right;
186
+ }
187
+
188
+ [data-side="bottom"] {
189
+ grid-area: bottom;
190
+ }
191
+
192
+ [data-side="left"] {
193
+ grid-area: left;
194
+ }
195
+
196
+ [data-area="position"][data-side="top"] {
197
+ grid-area: position-top;
198
+ }
199
+
200
+ [data-area="position"][data-side="right"] {
201
+ grid-area: position-right;
202
+ }
203
+
204
+ [data-area="position"][data-side="bottom"] {
205
+ grid-area: position-bottom;
206
+ }
207
+
208
+ [data-area="position"][data-side="left"] {
209
+ grid-area: position-left;
210
+ }
211
+ `;
212
+ static template = html `
213
+ <div id="box-model">
214
+ <span id="position-label" class="label" title="position">position</span>
215
+ <input data-area="position" data-side="top" title="top" spellcheck="false">
216
+ <input data-area="position" data-side="right" title="right" spellcheck="false">
217
+ <input data-area="position" data-side="bottom" title="bottom" spellcheck="false">
218
+ <input data-area="position" data-side="left" title="left" spellcheck="false">
219
+
220
+ <div id="margin" class="ring">
221
+ <span class="label" title="margin">margin</span>
222
+ <input data-area="margin" data-side="top" title="margin-top" spellcheck="false">
223
+ <input data-area="margin" data-side="right" title="margin-right" spellcheck="false">
224
+ <input data-area="margin" data-side="bottom" title="margin-bottom" spellcheck="false">
225
+ <input data-area="margin" data-side="left" title="margin-left" spellcheck="false">
226
+
227
+ <div id="border" class="ring">
228
+ <span class="label" title="border">border</span>
229
+ <input data-area="border" data-side="top" title="border-top-width" spellcheck="false">
230
+ <input data-area="border" data-side="right" title="border-right-width" spellcheck="false">
231
+ <input data-area="border" data-side="bottom" title="border-bottom-width" spellcheck="false">
232
+ <input data-area="border" data-side="left" title="border-left-width" spellcheck="false">
233
+
234
+ <div id="padding" class="ring">
235
+ <span class="label" title="padding">padding</span>
236
+ <input data-area="padding" data-side="top" title="padding-top" spellcheck="false">
237
+ <input data-area="padding" data-side="right" title="padding-right" spellcheck="false">
238
+ <input data-area="padding" data-side="bottom" title="padding-bottom" spellcheck="false">
239
+ <input data-area="padding" data-side="left" title="padding-left" spellcheck="false">
240
+
241
+ <div id="content">
242
+ <span id="content-label" class="label" title="content">content</span>
243
+ <input data-area="content" data-side="width" title="width" spellcheck="false">
244
+ <span id="content-separator">x</span>
245
+ <input data-area="content" data-side="height" title="height" spellcheck="false">
246
+ </div>
247
+ </div>
248
+ </div>
249
+ </div>
250
+ </div>
98
251
  `;
99
252
  property;
100
- unsetValue;
253
+ unsetValue = '-';
101
254
  _borderDiv;
102
- _elementDiv;
255
+ _boxModelDiv;
256
+ _contentDiv;
257
+ _inputs = [];
258
+ _values = {};
259
+ _isRefreshing = false;
260
+ _resizeObserver;
103
261
  constructor() {
104
262
  super();
105
263
  this._restoreCachedInititalValues();
106
264
  this._borderDiv = this._getDomElement('border');
107
- this._elementDiv = this._getDomElement('element');
265
+ this._boxModelDiv = this._getDomElement('box-model');
266
+ this._contentDiv = this._getDomElement('content');
267
+ this._inputs = [...this.shadowRoot.querySelectorAll('input[data-area][data-side]')];
108
268
  }
109
269
  ready() {
110
270
  this._parseAttributesToProperties();
111
- this._assignEvents();
112
- }
113
- onDoubleClick(event) {
114
- const element = event.target;
115
- element.setAttribute("contentEditable", "");
116
- const range = document.createRange();
117
- const sel = window.getSelection();
118
- range.setStart(element.firstChild, 0);
119
- range.setEndAfter(element.lastChild);
120
- sel.removeAllRanges();
121
- sel.addRange(range);
122
- }
123
- onKeyDown(event) {
124
- const element = event.target;
125
- if (event.key == "Enter") {
126
- element.removeAttribute("contentEditable");
127
- const value = element.innerHTML;
128
- const valueChangedEvent = new CustomEvent('value-changed', {
129
- detail: {
130
- style: element.dataset['style'],
131
- value: value
132
- }
133
- });
134
- this.dispatchEvent(valueChangedEvent);
135
- }
271
+ this._wireEvents();
272
+ this._updateInputs();
273
+ requestAnimationFrame(() => this._updateScale());
274
+ }
275
+ connectedCallback() {
276
+ this._resizeObserver ??= new ResizeObserver(() => this._updateScale());
277
+ this._resizeObserver.observe(this);
278
+ requestAnimationFrame(() => this._updateScale());
279
+ }
280
+ disconnectedCallback() {
281
+ this._resizeObserver?.disconnect();
282
+ }
283
+ get values() {
284
+ return this._cloneValues(this._values);
285
+ }
286
+ set values(value) {
287
+ this._values = this._cloneValues(value ?? {});
288
+ this._updateInputs();
289
+ }
290
+ getPropertyName(area, side) {
291
+ return cssProperties[area]?.[side];
136
292
  }
137
293
  refresh(element) {
138
- this._elementDiv.classList.remove('box');
294
+ this._contentDiv.classList.remove('box');
139
295
  this._borderDiv.classList.remove('box');
140
- if (element) {
141
- let cp = getComputedStyle(element);
142
- if (cp.boxSizing == 'content-box') {
143
- this._elementDiv.classList.add('box');
296
+ if (!element) {
297
+ this.values = {};
298
+ return;
299
+ }
300
+ const computedStyle = element.ownerDocument.defaultView.getComputedStyle(element);
301
+ const nextValues = {};
302
+ for (const area of Object.keys(cssProperties)) {
303
+ nextValues[area] = {};
304
+ for (const side of Object.keys(cssProperties[area])) {
305
+ const propertyName = this.getPropertyName(area, side);
306
+ nextValues[area][side] = this._getComputedProperty(computedStyle, propertyName, area);
144
307
  }
145
- else {
146
- this._borderDiv.classList.add('box');
308
+ }
309
+ if (computedStyle.boxSizing == 'content-box')
310
+ this._contentDiv.classList.add('box');
311
+ else
312
+ this._borderDiv.classList.add('box');
313
+ this.values = nextValues;
314
+ this._updateScale();
315
+ }
316
+ _wireEvents() {
317
+ for (const input of this._inputs) {
318
+ input.addEventListener('focus', () => input.select());
319
+ input.addEventListener('change', () => this._commitInput(input));
320
+ input.addEventListener('keydown', event => {
321
+ if (event.key === 'Enter') {
322
+ this._commitInput(input);
323
+ input.blur();
324
+ }
325
+ else if (event.key === 'Escape') {
326
+ this._updateInput(input);
327
+ input.blur();
328
+ }
329
+ });
330
+ }
331
+ }
332
+ _commitInput(input) {
333
+ if (this._isRefreshing)
334
+ return;
335
+ const area = input.dataset['area'];
336
+ const side = input.dataset['side'];
337
+ const oldValue = this._values[area]?.[side] ?? '';
338
+ const newValue = input.value.trim();
339
+ if (!this._values[area])
340
+ this._values[area] = {};
341
+ this._values[area][side] = newValue;
342
+ this._updateInput(input);
343
+ if (oldValue === newValue)
344
+ return;
345
+ this.dispatchEvent(new CustomEvent('value-changed', {
346
+ bubbles: true,
347
+ composed: true,
348
+ detail: {
349
+ property: this.getPropertyName(area, side),
350
+ area,
351
+ side,
352
+ newValue,
353
+ oldValue
147
354
  }
355
+ }));
356
+ }
357
+ _updateInputs() {
358
+ this._isRefreshing = true;
359
+ try {
360
+ for (const input of this._inputs)
361
+ this._updateInput(input);
148
362
  }
363
+ finally {
364
+ this._isRefreshing = false;
365
+ }
366
+ }
367
+ _updateInput(input) {
368
+ const area = input.dataset['area'];
369
+ const side = input.dataset['side'];
370
+ input.value = this._values[area]?.[side] ?? this.unsetValue;
371
+ }
372
+ _getComputedProperty(computedStyle, propertyName, area) {
373
+ const camelName = computedStyleProperties[propertyName] ?? propertyName;
374
+ const value = computedStyle.getPropertyValue(propertyName) || computedStyle[camelName];
375
+ if (area === 'position' && value === 'auto')
376
+ return this.unsetValue;
377
+ return value || this.unsetValue;
378
+ }
379
+ _cloneValues(values) {
380
+ const clone = {};
381
+ for (const area of Object.keys(values))
382
+ clone[area] = { ...values[area] };
383
+ return clone;
384
+ }
385
+ _updateScale() {
386
+ if (!this._boxModelDiv)
387
+ return;
388
+ const availableWidth = this.clientWidth;
389
+ if (availableWidth <= 0)
390
+ return;
391
+ const scale = Math.min(1, availableWidth / metricsEditorNaturalWidth);
392
+ this._boxModelDiv.style.width = scale < 1 ? metricsEditorNaturalWidth + 'px' : '100%';
393
+ this._boxModelDiv.style.transform = scale < 1 ? `scale(${scale})` : '';
394
+ this.style.height = (this._boxModelDiv.offsetHeight * scale) + 'px';
149
395
  }
150
396
  }
151
397
  customElements.define('node-projects-metrics-editor', MetricsEditor);