@node-projects/web-component-designer 0.1.353 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/elements/controls/NumericStyleInput.d.ts +114 -2
  2. package/dist/elements/controls/NumericStyleInput.js +757 -30
  3. package/dist/elements/controls/NumericStyleInput.js.map +1 -1
  4. package/dist/elements/controls/NumericStyleInputValueHelpers.d.ts +14 -0
  5. package/dist/elements/controls/NumericStyleInputValueHelpers.js +31 -0
  6. package/dist/elements/controls/NumericStyleInputValueHelpers.js.map +1 -0
  7. package/dist/elements/documentContainer.js +1 -1
  8. package/dist/elements/documentContainer.js.map +1 -1
  9. package/dist/elements/helper/GridHelper.d.ts +41 -20
  10. package/dist/elements/helper/GridHelper.js +118 -19
  11. package/dist/elements/helper/GridHelper.js.map +1 -1
  12. package/dist/elements/helper/getBoxQuads.d.ts +2 -1
  13. package/dist/elements/helper/getBoxQuads.js +419 -154
  14. package/dist/elements/helper/getBoxQuads.js.map +1 -1
  15. package/dist/elements/item/DesignItem.js +46 -7
  16. package/dist/elements/item/DesignItem.js.map +1 -1
  17. package/dist/elements/services/DefaultServiceBootstrap.js +4 -7
  18. package/dist/elements/services/DefaultServiceBootstrap.js.map +1 -1
  19. package/dist/elements/services/InstanceServiceContainer.d.ts +20 -3
  20. package/dist/elements/services/InstanceServiceContainer.js +5 -3
  21. package/dist/elements/services/InstanceServiceContainer.js.map +1 -1
  22. package/dist/elements/services/ServiceContainer.d.ts +0 -2
  23. package/dist/elements/services/ServiceContainer.js.map +1 -1
  24. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +1 -1
  25. package/dist/elements/services/collaborationService/CollaborationNodeIndex.js +1 -1
  26. package/dist/elements/services/contentService/IContentChanged.js +10 -0
  27. package/dist/elements/services/contentService/IContentChanged.js.map +1 -1
  28. package/dist/elements/services/placementService/GridPlacementService.js +54 -70
  29. package/dist/elements/services/placementService/GridPlacementService.js.map +1 -1
  30. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +4 -6
  31. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js.map +1 -1
  32. package/dist/elements/services/propertiesService/IProperty.d.ts +6 -1
  33. package/dist/elements/services/propertiesService/PropertyMutationHandling.d.ts +6 -0
  34. package/dist/elements/services/propertiesService/PropertyMutationHandling.js +89 -0
  35. package/dist/elements/services/propertiesService/PropertyMutationHandling.js.map +1 -0
  36. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.d.ts +2 -0
  37. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +12 -0
  38. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js.map +1 -1
  39. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.d.ts +1 -0
  40. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js +2 -0
  41. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditor.js.map +1 -0
  42. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.d.ts +3 -0
  43. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js +4 -0
  44. package/dist/elements/services/propertiesService/propertyEditors/CssLengthPropertyEditorConfig.js.map +1 -0
  45. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditor.d.ts +10 -0
  46. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditor.js +34 -0
  47. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditor.js.map +1 -0
  48. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.d.ts +30 -0
  49. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js +475 -0
  50. package/dist/elements/services/propertiesService/propertyEditors/CssNumericPropertyEditorConfig.js.map +1 -0
  51. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.d.ts +1 -0
  52. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js +4 -0
  53. package/dist/elements/services/propertiesService/services/AbstractCssPropertiesService.js.map +1 -1
  54. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js +6 -4
  55. package/dist/elements/services/propertiesService/services/CssCurrentPropertiesService.js.map +1 -1
  56. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js +3 -3
  57. package/dist/elements/services/propertiesService/services/CssCustomPropertiesService.js.map +1 -1
  58. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +3 -3
  59. package/dist/elements/services/propertiesService/services/CssPropertiesService.js.map +1 -1
  60. package/dist/elements/services/propertiesService/services/IJsonPropertyDefinition.d.ts +2 -0
  61. package/dist/elements/services/selectionService/SelectionService.js +1 -1
  62. package/dist/elements/services/undoService/ChangeGroup.d.ts +8 -4
  63. package/dist/elements/services/undoService/ChangeGroup.js +25 -4
  64. package/dist/elements/services/undoService/ChangeGroup.js.map +1 -1
  65. package/dist/elements/services/undoService/ITransactionItem.d.ts +3 -2
  66. package/dist/elements/services/undoService/ITransactionItem.js.map +1 -1
  67. package/dist/elements/services/undoService/UndoService.js +15 -8
  68. package/dist/elements/services/undoService/UndoService.js.map +1 -1
  69. package/dist/elements/services/undoService/transactionItems/AttributeAndPropertyChangeAction.d.ts +3 -2
  70. package/dist/elements/services/undoService/transactionItems/AttributeAndPropertyChangeAction.js +12 -8
  71. package/dist/elements/services/undoService/transactionItems/AttributeAndPropertyChangeAction.js.map +1 -1
  72. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.d.ts +3 -2
  73. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +12 -8
  74. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js.map +1 -1
  75. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.d.ts +3 -2
  76. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +4 -2
  77. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js.map +1 -1
  78. package/dist/elements/services/undoService/transactionItems/DeleteAction.d.ts +3 -2
  79. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +2 -2
  80. package/dist/elements/services/undoService/transactionItems/DeleteAction.js.map +1 -1
  81. package/dist/elements/services/undoService/transactionItems/InsertAction.d.ts +3 -2
  82. package/dist/elements/services/undoService/transactionItems/InsertAction.js +2 -2
  83. package/dist/elements/services/undoService/transactionItems/InsertAction.js.map +1 -1
  84. package/dist/elements/services/undoService/transactionItems/InsertChildAction.d.ts +3 -2
  85. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js +3 -3
  86. package/dist/elements/services/undoService/transactionItems/InsertChildAction.js.map +1 -1
  87. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.d.ts +3 -2
  88. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +2 -0
  89. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js.map +1 -1
  90. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.d.ts +3 -2
  91. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.js +2 -0
  92. package/dist/elements/services/undoService/transactionItems/SelectionChangedAction.js.map +1 -1
  93. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.d.ts +3 -2
  94. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.js +2 -0
  95. package/dist/elements/services/undoService/transactionItems/SetDesignItemsAction.js.map +1 -1
  96. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.d.ts +3 -2
  97. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.js +2 -0
  98. package/dist/elements/services/undoService/transactionItems/StylesheetChangedAction.js.map +1 -1
  99. package/dist/elements/services/undoService/transactionItems/TextContentChangeAction.d.ts +3 -2
  100. package/dist/elements/services/undoService/transactionItems/TextContentChangeAction.js +2 -0
  101. package/dist/elements/services/undoService/transactionItems/TextContentChangeAction.js.map +1 -1
  102. package/dist/elements/widgets/designerView/DomConverter.d.ts +1 -1
  103. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +0 -2
  104. package/dist/elements/widgets/designerView/designerCanvas.d.ts +0 -1
  105. package/dist/elements/widgets/designerView/designerCanvas.js +14 -7
  106. package/dist/elements/widgets/designerView/designerCanvas.js.map +1 -1
  107. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +18 -16
  108. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js.map +1 -1
  109. package/dist/elements/widgets/designerView/extensions/ResizeExtension.d.ts +19 -10
  110. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +179 -52
  111. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js.map +1 -1
  112. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js +1 -1
  113. package/dist/elements/widgets/designerView/extensions/buttons/FlexboxExtensionDesignViewConfigButtons.js.map +1 -1
  114. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtension.d.ts +11 -0
  115. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtension.js +20 -0
  116. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtension.js.map +1 -0
  117. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtensionProvider.d.ts +11 -0
  118. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtensionProvider.js +18 -0
  119. package/dist/elements/widgets/designerView/extensions/flex/FlexboxExtensionProvider.js.map +1 -0
  120. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js +10 -12
  121. package/dist/elements/widgets/designerView/extensions/grid/DisplayGridExtension.js.map +1 -1
  122. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.d.ts +1 -0
  123. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js +16 -13
  124. package/dist/elements/widgets/designerView/extensions/grid/EditGridColumnRowSizesExtension.js.map +1 -1
  125. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js +6 -39
  126. package/dist/elements/widgets/designerView/extensions/grid/GridChildResizeExtension.js.map +1 -1
  127. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtension.d.ts +33 -0
  128. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtension.js +337 -0
  129. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtension.js.map +1 -0
  130. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtensionProvider.d.ts +10 -0
  131. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtensionProvider.js +22 -0
  132. package/dist/elements/widgets/designerView/extensions/transforms/ProjectiveTransformExtensionProvider.js.map +1 -0
  133. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtension.d.ts +16 -0
  134. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtension.js +109 -0
  135. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtension.js.map +1 -0
  136. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtensionProvider.d.ts +12 -0
  137. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtensionProvider.js +25 -0
  138. package/dist/elements/widgets/designerView/extensions/transforms/RotateExtensionProvider.js.map +1 -0
  139. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtension.d.ts +29 -0
  140. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtension.js +229 -0
  141. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtension.js.map +1 -0
  142. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtensionProvider.d.ts +10 -0
  143. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtensionProvider.js +20 -0
  144. package/dist/elements/widgets/designerView/extensions/transforms/RotateGroupExtensionProvider.js.map +1 -0
  145. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtension.d.ts +30 -0
  146. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtension.js +291 -0
  147. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtension.js.map +1 -0
  148. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtensionProvider.d.ts +10 -0
  149. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtensionProvider.js +20 -0
  150. package/dist/elements/widgets/designerView/extensions/transforms/SkewExtensionProvider.js.map +1 -0
  151. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.d.ts +16 -0
  152. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.js +122 -0
  153. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtension.js.map +1 -0
  154. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtensionProvider.d.ts +12 -0
  155. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtensionProvider.js +34 -0
  156. package/dist/elements/widgets/designerView/extensions/transforms/TransformOriginExtensionProvider.js.map +1 -0
  157. package/dist/elements/widgets/designerView/tools/PointerTool.js +2 -2
  158. package/dist/elements/widgets/designerView/tools/PointerTool.js.map +1 -1
  159. package/dist/elements/widgets/miniatureView/miniatureView.js +1 -1
  160. package/dist/elements/widgets/miniatureView/miniatureView.js.map +1 -1
  161. package/dist/elements/widgets/propertyGrid/PropertyGrid.d.ts +3 -3
  162. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +7 -7
  163. package/dist/elements/widgets/propertyGrid/PropertyGrid.js.map +1 -1
  164. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.d.ts +5 -0
  165. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js +13 -0
  166. package/dist/elements/widgets/propertyGrid/PropertyGridMutationHandling.js.map +1 -0
  167. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.d.ts +2 -0
  168. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +45 -24
  169. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js.map +1 -1
  170. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.d.ts +4 -0
  171. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js +31 -0
  172. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyStructureSignature.js.map +1 -0
  173. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.d.ts +1 -0
  174. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js +52 -42
  175. package/dist/elements/widgets/propertyGrid/PropertyGridWithHeader.js.map +1 -1
  176. package/dist/elements/widgets/treeView/treeView.js +3 -3
  177. package/dist/elements/widgets/treeView/treeView.js.map +1 -1
  178. package/dist/index-min.js +7 -7
  179. package/dist/index-min.js.map +4 -4
  180. package/dist/index.d.ts +15 -15
  181. package/dist/index.js +15 -13
  182. package/dist/index.js.map +1 -1
  183. package/package.json +1 -1
  184. package/tests/ContextMenu.test.ts +0 -133
  185. package/tests/CssCombiner.test.ts +0 -340
  186. package/tests/PasteFormatSnapshot.test.ts +0 -92
  187. package/tests/PathDataPolyfill.test.ts +0 -49
  188. package/tests/SpecificityCalculator.test.ts +0 -625
@@ -1,92 +0,0 @@
1
- import { expect, test } from '@jest/globals';
2
- import { createPasteFormatSnapshot, createPasteFormatSnapshotFromEntries, getPasteFormatEntries } from '../src/elements/services/copyPasteService/PasteFormatSnapshot';
3
-
4
- test('collects border, background, and text properties and skips unrelated styles', () => {
5
- const values: Record<string, string> = {
6
- 'background-color': ' rgb(1, 2, 3) ',
7
- 'border-top-color': ' red ',
8
- 'border-top-style': ' solid ',
9
- 'font-family': ' Fira Code ',
10
- 'line-height': ' 24px ',
11
- 'color': ' white ',
12
- 'display': ' grid '
13
- };
14
-
15
- const fakeStyle = {
16
- length: 7,
17
- 0: 'background-color',
18
- 1: 'border-top-color',
19
- 2: 'border-top-style',
20
- 3: 'font-family',
21
- 4: 'line-height',
22
- 5: 'color',
23
- 6: 'display',
24
- getPropertyValue(name: string) {
25
- return values[name] ?? '';
26
- }
27
- } as Pick<CSSStyleDeclaration, 'getPropertyValue' | 'length'> & ArrayLike<string>;
28
-
29
- const snapshot = createPasteFormatSnapshot(fakeStyle);
30
-
31
- expect(snapshot.background).toEqual([{ name: 'background-color', value: 'rgb(1, 2, 3)' }]);
32
- expect(snapshot.border).toEqual([
33
- { name: 'border-top-color', value: 'red' },
34
- { name: 'border-top-style', value: 'solid' }
35
- ]);
36
- expect(snapshot.text).toEqual([
37
- { name: 'font-family', value: 'Fira Code' },
38
- { name: 'line-height', value: '24px' },
39
- { name: 'color', value: 'white' }
40
- ]);
41
- expect(getPasteFormatEntries(snapshot, 'all')).toEqual([
42
- { name: 'border-top-color', value: 'red' },
43
- { name: 'border-top-style', value: 'solid' },
44
- { name: 'background-color', value: 'rgb(1, 2, 3)' },
45
- { name: 'font-family', value: 'Fira Code' },
46
- { name: 'line-height', value: '24px' },
47
- { name: 'color', value: 'white' }
48
- ]);
49
- });
50
-
51
- test('keeps duplicate properties out of the all group', () => {
52
- const values: Record<string, string> = {
53
- 'background-image': 'none',
54
- 'background-color': 'transparent',
55
- 'background-color-duplicate': ''
56
- };
57
-
58
- const fakeStyle = {
59
- length: 4,
60
- 0: 'background-image',
61
- 1: 'background-color',
62
- 2: 'background-image',
63
- 3: 'background-color-duplicate',
64
- getPropertyValue(name: string) {
65
- return values[name] ?? '';
66
- }
67
- } as Pick<CSSStyleDeclaration, 'getPropertyValue' | 'length'> & ArrayLike<string>;
68
-
69
- const snapshot = createPasteFormatSnapshot(fakeStyle);
70
-
71
- expect(snapshot.background).toEqual([
72
- { name: 'background-image', value: 'none' },
73
- { name: 'background-color', value: 'transparent' }
74
- ]);
75
- expect(snapshot.all).toEqual(snapshot.background);
76
- });
77
-
78
- test('creates a snapshot from design item style entries', () => {
79
- const snapshot = createPasteFormatSnapshotFromEntries([
80
- ['border-top-color', ' red '],
81
- ['background-color', ' rgb(1, 2, 3) '],
82
- ['font-family', ' Fira Code '],
83
- ['color', ' white ']
84
- ]);
85
-
86
- expect(snapshot?.border).toEqual([{ name: 'border-top-color', value: 'red' }]);
87
- expect(snapshot?.background).toEqual([{ name: 'background-color', value: 'rgb(1, 2, 3)' }]);
88
- expect(snapshot?.text).toEqual([
89
- { name: 'font-family', value: 'Fira Code' },
90
- { name: 'color', value: 'white' }
91
- ]);
92
- });
@@ -1,49 +0,0 @@
1
- import { afterAll, beforeAll, expect, test } from '@jest/globals';
2
-
3
- const svgElementGlobals = [
4
- 'SVGPathElement',
5
- 'SVGRectElement',
6
- 'SVGCircleElement',
7
- 'SVGEllipseElement',
8
- 'SVGLineElement',
9
- 'SVGPolylineElement',
10
- 'SVGPolygonElement'
11
- ] as const;
12
-
13
- type SvgElementGlobalName = (typeof svgElementGlobals)[number];
14
-
15
- let straightenLine: typeof import('../src/elements/helper/PathDataPolyfill').straightenLine;
16
- const originalGlobals = new Map<SvgElementGlobalName, unknown>();
17
-
18
- beforeAll(async () => {
19
- for (const globalName of svgElementGlobals) {
20
- originalGlobals.set(globalName, (<any>globalThis)[globalName]);
21
- (<any>globalThis)[globalName] = class { };
22
- }
23
-
24
- ({ straightenLine } = await import('../src/elements/helper/PathDataPolyfill'));
25
- });
26
-
27
- afterAll(() => {
28
- for (const globalName of svgElementGlobals) {
29
- const originalGlobal = originalGlobals.get(globalName);
30
- if (originalGlobal === undefined)
31
- delete (<any>globalThis)[globalName];
32
- else
33
- (<any>globalThis)[globalName] = originalGlobal;
34
- }
35
- });
36
-
37
- test('straightenLine keeps upward vertical snap upward', () => {
38
- const result = straightenLine({ x: 10, y: 10 }, { x: 10, y: 0 }, 90);
39
-
40
- expect(result.x).toBeCloseTo(10);
41
- expect(result.y).toBeCloseTo(0);
42
- });
43
-
44
- test('straightenLine keeps downward vertical snap downward', () => {
45
- const result = straightenLine({ x: 10, y: 10 }, { x: 10, y: 25 }, 90);
46
-
47
- expect(result.x).toBeCloseTo(10);
48
- expect(result.y).toBeCloseTo(25);
49
- });