@node-projects/web-component-designer 0.0.34 → 0.0.38

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 (243) hide show
  1. package/README.md +7 -0
  2. package/assets/images/chromeDevtools/LICENSE +27 -0
  3. package/assets/images/chromeDevtools/flex-direction-column-icon.svg +1 -0
  4. package/assets/images/chromeDevtools/flex-direction-row-icon.svg +82 -0
  5. package/assets/images/chromeDevtools/{flex-nowrap-icon.svg → flex-wrap-nowrap-icon.svg} +0 -0
  6. package/assets/images/chromeDevtools/{flex-wrap-icon.svg → flex-wrap-wrap-icon.svg} +0 -0
  7. package/assets/images/chromeDevtools/info.txt +2 -0
  8. package/dist/elements/controls/DesignerTabControl.js +94 -89
  9. package/dist/elements/controls/ImageButtonListSelector.js +38 -39
  10. package/dist/elements/controls/ThicknessEditor.d.ts +20 -4
  11. package/dist/elements/controls/ThicknessEditor.js +87 -22
  12. package/dist/elements/documentContainer.js +20 -13
  13. package/dist/elements/helper/CssAttributeParser.js +3 -3
  14. package/dist/elements/helper/CssCombiner.js +1 -1
  15. package/dist/elements/helper/IndentedTextWriter.js +3 -5
  16. package/dist/elements/helper/Screenshot.js +4 -0
  17. package/dist/elements/helper/contextMenu/ContextMenuHelper.js +59 -53
  18. package/dist/elements/helper/w3color.js +15 -17
  19. package/dist/elements/item/DesignItem.d.ts +1 -0
  20. package/dist/elements/item/DesignItem.js +24 -15
  21. package/dist/elements/item/IDesignItem.d.ts +1 -0
  22. package/dist/elements/services/BaseServiceContainer.js +1 -3
  23. package/dist/elements/services/DefaultServiceBootstrap.js +2 -0
  24. package/dist/elements/services/GlobalContext.js +8 -6
  25. package/dist/elements/services/InstanceServiceContainer.js +1 -4
  26. package/dist/elements/services/ServiceContainer.d.ts +3 -0
  27. package/dist/elements/services/ServiceContainer.js +11 -10
  28. package/dist/elements/services/bindingsService/BaseCustomWebcomponentBindingsService.js +1 -1
  29. package/dist/elements/services/bindingsService/SpecialTagsBindingService.js +5 -5
  30. package/dist/elements/services/contentService/ContentService.js +2 -1
  31. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -0
  32. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -0
  33. package/dist/elements/services/copyPasteService/ICopyPasteService copy.d.ts +0 -0
  34. package/dist/elements/services/copyPasteService/ICopyPasteService copy.js +1 -0
  35. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -0
  36. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -0
  37. package/dist/elements/services/elementsService/JsonFileElementsService.js +14 -10
  38. package/dist/elements/services/elementsService/PreDefinedElementsService.js +6 -4
  39. package/dist/elements/services/htmlParserService/NodeHtmlParserService.js +2 -1
  40. package/dist/elements/services/htmlWriterService/IHtmlWriterOptions.js +3 -0
  41. package/dist/elements/services/placementService/DefaultPlacementService.d.ts +3 -4
  42. package/dist/elements/services/placementService/DefaultPlacementService.js +10 -10
  43. package/dist/elements/services/placementService/FlexBoxPlacementService.d.ts +3 -4
  44. package/dist/elements/services/placementService/FlexBoxPlacementService.js +3 -3
  45. package/dist/elements/services/placementService/GridPlacementService.d.ts +3 -4
  46. package/dist/elements/services/placementService/GridPlacementService.js +3 -3
  47. package/dist/elements/services/placementService/IPlacementService.d.ts +3 -4
  48. package/dist/elements/services/popupService/PopupService.js +3 -1
  49. package/dist/elements/services/propertiesService/propertyEditors/BasePropertyEditor.js +10 -2
  50. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyEditor.js +7 -6
  51. package/dist/elements/services/propertiesService/propertyEditors/JsonPropertyPopupEditor.js +6 -6
  52. package/dist/elements/services/propertiesService/propertyEditors/NumberPropertyEditor.js +1 -1
  53. package/dist/elements/services/propertiesService/propertyEditors/TextPropertyEditor.js +1 -2
  54. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +2 -2
  55. package/dist/elements/services/propertiesService/services/AttributesPropertiesService.js +1 -3
  56. package/dist/elements/services/propertiesService/services/BaseCustomWebComponentPropertiesService.js +1 -4
  57. package/dist/elements/services/propertiesService/services/CommonPropertiesService.js +21 -23
  58. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +196 -185
  59. package/dist/elements/services/propertiesService/services/ListPropertiesService.js +2 -2
  60. package/dist/elements/services/propertiesService/services/Lit2PropertiesService.js +1 -4
  61. package/dist/elements/services/propertiesService/services/LitElementPropertiesService.js +1 -4
  62. package/dist/elements/services/propertiesService/services/NativeElementsPropertiesService.js +72 -75
  63. package/dist/elements/services/propertiesService/services/PolymerPropertiesService.js +1 -4
  64. package/dist/elements/services/propertiesService/services/UnkownElementPropertiesService.js +1 -3
  65. package/dist/elements/services/selectionService/SelectionService.js +3 -4
  66. package/dist/elements/services/undoService/ChangeGroup.js +6 -2
  67. package/dist/elements/services/undoService/UndoService.js +3 -5
  68. package/dist/elements/services/undoService/transactionItems/AttributeChangeAction.js +5 -0
  69. package/dist/elements/services/undoService/transactionItems/CssStyleChangeAction.js +5 -0
  70. package/dist/elements/services/undoService/transactionItems/DeleteAction.js +5 -0
  71. package/dist/elements/services/undoService/transactionItems/InsertAction.js +4 -0
  72. package/dist/elements/services/undoService/transactionItems/MoveElementInDomAction.js +7 -0
  73. package/dist/elements/services/undoService/transactionItems/PropertyChangeAction.js +5 -0
  74. package/dist/elements/widgets/bindableObjectsBrowser/bindable-objects-browser.js +27 -24
  75. package/dist/elements/widgets/bindings/BindingsEditor.js +6 -6
  76. package/dist/elements/widgets/codeView/code-view-ace.js +12 -7
  77. package/dist/elements/widgets/codeView/code-view-code-mirror.js +18 -13
  78. package/dist/elements/widgets/codeView/code-view-monaco.js +16 -11
  79. package/dist/elements/widgets/demoView/demoView.js +24 -22
  80. package/dist/elements/widgets/designerView/DesignContext.js +1 -3
  81. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +2 -2
  82. package/dist/elements/widgets/designerView/Snaplines.js +8 -5
  83. package/dist/elements/widgets/designerView/designerCanvas.d.ts +6 -3
  84. package/dist/elements/widgets/designerView/designerCanvas.js +122 -99
  85. package/dist/elements/widgets/designerView/designerView.js +89 -87
  86. package/dist/elements/widgets/designerView/extensions/AbstractExtension.js +5 -1
  87. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtension.js +2 -0
  88. package/dist/elements/widgets/designerView/extensions/AltToEnterContainerExtensionProvider.js +4 -6
  89. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.d.ts +10 -0
  90. package/dist/elements/widgets/designerView/extensions/CanvasExtension copy.js +29 -0
  91. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.d.ts +10 -0
  92. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider copy.js +15 -0
  93. package/dist/elements/widgets/designerView/extensions/CanvasExtensionProvider.js +3 -5
  94. package/dist/elements/widgets/designerView/extensions/EditText/EditTextExtension.js +11 -8
  95. package/dist/elements/widgets/designerView/extensions/ExtensionManager.js +1 -0
  96. package/dist/elements/widgets/designerView/extensions/GrayOutExtension.js +1 -0
  97. package/dist/elements/widgets/designerView/extensions/GrayOutExtensionProvider.js +3 -5
  98. package/dist/elements/widgets/designerView/extensions/GridExtensionProvider.js +5 -7
  99. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtension.js +1 -0
  100. package/dist/elements/widgets/designerView/extensions/InvisibleDivExtensionProvider.js +3 -5
  101. package/dist/elements/widgets/designerView/extensions/MouseOverExtension.js +1 -0
  102. package/dist/elements/widgets/designerView/extensions/MouseOverExtensionProvider.js +3 -5
  103. package/dist/elements/widgets/designerView/extensions/PathExtension.js +4 -0
  104. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.d.ts +10 -0
  105. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtension.js +29 -0
  106. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.d.ts +10 -0
  107. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider copy.js +15 -0
  108. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.d.ts +10 -0
  109. package/dist/elements/widgets/designerView/extensions/PermamentCursorExtensionProvider.js +15 -0
  110. package/dist/elements/widgets/designerView/extensions/PositionExtension.js +4 -0
  111. package/dist/elements/widgets/designerView/extensions/PrimarySelectionDefaultExtension.js +2 -0
  112. package/dist/elements/widgets/designerView/extensions/ResizeExtension.js +14 -4
  113. package/dist/elements/widgets/designerView/extensions/ResizeExtensionProvider.js +1 -0
  114. package/dist/elements/widgets/designerView/extensions/RotateExtensionProvider.js +3 -5
  115. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtension.js +1 -0
  116. package/dist/elements/widgets/designerView/extensions/SelectionDefaultExtensionProvider.js +3 -5
  117. package/dist/elements/widgets/designerView/extensions/TransformOriginExtension.js +3 -0
  118. package/dist/elements/widgets/designerView/extensions/TransformOriginExtensionProvider.js +3 -5
  119. package/dist/elements/widgets/designerView/extensions/contextMenu/MultipleItemsSelectedContextMenu.js +1 -3
  120. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.d.ts +22 -0
  121. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractDesignerPointerExtension.js +82 -0
  122. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.d.ts +22 -0
  123. package/dist/elements/widgets/designerView/extensions/pointerExtensions/AbstractExtension.js +78 -0
  124. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.d.ts +7 -0
  125. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectangleExtension.js +20 -0
  126. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.d.ts +7 -0
  127. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension copy.js +20 -0
  128. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.d.ts +7 -0
  129. package/dist/elements/widgets/designerView/extensions/pointerExtensions/CursorRectanglePointerExtension.js +20 -0
  130. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.d.ts +5 -0
  131. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtension.js +1 -0
  132. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.d.ts +9 -0
  133. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerExtensionProvider.js +1 -0
  134. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.d.ts +5 -0
  135. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtension.js +1 -0
  136. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.d.ts +9 -0
  137. package/dist/elements/widgets/designerView/extensions/pointerExtensions/IDesignerPointerExtensionProvider.js +1 -0
  138. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.d.ts +7 -0
  139. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerExtension.js +20 -0
  140. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.d.ts +7 -0
  141. package/dist/elements/widgets/designerView/extensions/pointerExtensions/RulerPointerExtension.js +20 -0
  142. package/dist/elements/widgets/designerView/overlay/EditTextOverlay.js +3 -3
  143. package/dist/elements/widgets/designerView/overlayLayerView.js +35 -25
  144. package/dist/elements/widgets/designerView/tools/DrawElementTool.js +5 -1
  145. package/dist/elements/widgets/designerView/tools/DrawPathTool.d.ts +0 -1
  146. package/dist/elements/widgets/designerView/tools/DrawPathTool.js +4 -3
  147. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.d.ts +0 -1
  148. package/dist/elements/widgets/designerView/tools/MagicWandSelectorTool.js +4 -5
  149. package/dist/elements/widgets/designerView/tools/PanTool.js +1 -3
  150. package/dist/elements/widgets/designerView/tools/PickColorTool.js +1 -3
  151. package/dist/elements/widgets/designerView/tools/PointerTool.d.ts +2 -1
  152. package/dist/elements/widgets/designerView/tools/PointerTool.js +71 -63
  153. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +16 -15
  154. package/dist/elements/widgets/designerView/tools/TextTool.js +1 -1
  155. package/dist/elements/widgets/designerView/tools/ZoomTool.js +1 -3
  156. package/dist/elements/widgets/miniatureView/html-2-canvas-miniature-view.js +5 -4
  157. package/dist/elements/widgets/paletteView/paletteElements.js +45 -45
  158. package/dist/elements/widgets/paletteView/paletteTreeView.js +53 -51
  159. package/dist/elements/widgets/paletteView/paletteView.js +9 -8
  160. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +24 -19
  161. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +12 -8
  162. package/dist/elements/widgets/treeView/treeView.js +102 -96
  163. package/dist/elements/widgets/treeView/treeViewExtended.js +72 -70
  164. package/dist/index.d.ts +2 -1
  165. package/dist/index.js +1 -0
  166. package/package.json +3 -3
  167. package/tsconfig.json +1 -1
  168. package/assets/images/chromeDevtools/accelerometer-back.svg +0 -69
  169. package/assets/images/chromeDevtools/accelerometer-front.svg +0 -28
  170. package/assets/images/chromeDevtools/accessibility-icon.svg +0 -3
  171. package/assets/images/chromeDevtools/add-icon.svg +0 -3
  172. package/assets/images/chromeDevtools/checkboxCheckmark.svg +0 -60
  173. package/assets/images/chromeDevtools/chevrons.svg +0 -62
  174. package/assets/images/chromeDevtools/chromeSelect.svg +0 -1
  175. package/assets/images/chromeDevtools/chromeSelectDark.svg +0 -1
  176. package/assets/images/chromeDevtools/close-icon.svg +0 -5
  177. package/assets/images/chromeDevtools/copy_icon.svg +0 -79
  178. package/assets/images/chromeDevtools/dropdown_7x6_icon.svg +0 -1
  179. package/assets/images/chromeDevtools/elements_panel_icon.svg +0 -1
  180. package/assets/images/chromeDevtools/errorWave.svg +0 -74
  181. package/assets/images/chromeDevtools/error_icon.svg +0 -125
  182. package/assets/images/chromeDevtools/feedback_button_icon.svg +0 -3
  183. package/assets/images/chromeDevtools/help_outline.svg +0 -1
  184. package/assets/images/chromeDevtools/ic_checkmark_16x16.svg +0 -3
  185. package/assets/images/chromeDevtools/ic_command_go_to_line.svg +0 -4
  186. package/assets/images/chromeDevtools/ic_command_go_to_symbol.svg +0 -3
  187. package/assets/images/chromeDevtools/ic_command_help.svg +0 -3
  188. package/assets/images/chromeDevtools/ic_command_open_file.svg +0 -3
  189. package/assets/images/chromeDevtools/ic_command_run_command.svg +0 -3
  190. package/assets/images/chromeDevtools/ic_command_run_snippet.svg +0 -3
  191. package/assets/images/chromeDevtools/ic_delete_filter.svg +0 -1
  192. package/assets/images/chromeDevtools/ic_delete_list.svg +0 -1
  193. package/assets/images/chromeDevtools/ic_dimension_single.svg +0 -4
  194. package/assets/images/chromeDevtools/ic_file_default.svg +0 -3
  195. package/assets/images/chromeDevtools/ic_file_document.svg +0 -3
  196. package/assets/images/chromeDevtools/ic_file_font.svg +0 -3
  197. package/assets/images/chromeDevtools/ic_file_image.svg +0 -3
  198. package/assets/images/chromeDevtools/ic_file_script.svg +0 -3
  199. package/assets/images/chromeDevtools/ic_file_snippet.svg +0 -3
  200. package/assets/images/chromeDevtools/ic_file_stylesheet.svg +0 -3
  201. package/assets/images/chromeDevtools/ic_file_webbundle.svg +0 -5
  202. package/assets/images/chromeDevtools/ic_file_webbundle_inner_request.svg +0 -9
  203. package/assets/images/chromeDevtools/ic_folder_default.svg +0 -3
  204. package/assets/images/chromeDevtools/ic_folder_local.svg +0 -3
  205. package/assets/images/chromeDevtools/ic_folder_network.svg +0 -3
  206. package/assets/images/chromeDevtools/ic_info_black_18dp.svg +0 -1
  207. package/assets/images/chromeDevtools/ic_memory_16x16.svg +0 -6
  208. package/assets/images/chromeDevtools/ic_page_next_16x16_icon.svg +0 -1
  209. package/assets/images/chromeDevtools/ic_page_prev_16x16_icon.svg +0 -1
  210. package/assets/images/chromeDevtools/ic_preview_feature.svg +0 -3
  211. package/assets/images/chromeDevtools/ic_redo_16x16_icon.svg +0 -1
  212. package/assets/images/chromeDevtools/ic_request_response.svg +0 -5
  213. package/assets/images/chromeDevtools/ic_response.svg +0 -4
  214. package/assets/images/chromeDevtools/ic_show_node_16x16.svg +0 -4
  215. package/assets/images/chromeDevtools/ic_suggest_color.svg +0 -6
  216. package/assets/images/chromeDevtools/ic_undo_16x16_icon.svg +0 -1
  217. package/assets/images/chromeDevtools/ic_warning_black_18dp.svg +0 -1
  218. package/assets/images/chromeDevtools/issue-cross-icon.svg +0 -70
  219. package/assets/images/chromeDevtools/issue-exclamation-icon.svg +0 -64
  220. package/assets/images/chromeDevtools/issue-questionmark-icon.svg +0 -82
  221. package/assets/images/chromeDevtools/issue-text-icon.svg +0 -56
  222. package/assets/images/chromeDevtools/largeIcons.svg +0 -1629
  223. package/assets/images/chromeDevtools/lighthouse_logo.svg +0 -158
  224. package/assets/images/chromeDevtools/link_icon.svg +0 -1
  225. package/assets/images/chromeDevtools/mediumIcons.svg +0 -1101
  226. package/assets/images/chromeDevtools/network_conditions_icon.svg +0 -6
  227. package/assets/images/chromeDevtools/network_panel_icon.svg +0 -1
  228. package/assets/images/chromeDevtools/node_search_icon.svg +0 -1
  229. package/assets/images/chromeDevtools/preview_feature_video_thumbnail.svg +0 -92
  230. package/assets/images/chromeDevtools/refresh_12x12_icon.svg +0 -1
  231. package/assets/images/chromeDevtools/resizeDiagonal.svg +0 -1
  232. package/assets/images/chromeDevtools/resizeHorizontal.svg +0 -1
  233. package/assets/images/chromeDevtools/resizeVertical.svg +0 -1
  234. package/assets/images/chromeDevtools/securityIcons.svg +0 -278
  235. package/assets/images/chromeDevtools/settings_14x14_icon.svg +0 -1
  236. package/assets/images/chromeDevtools/smallIcons.svg +0 -1277
  237. package/assets/images/chromeDevtools/sources_panel_icon.svg +0 -1
  238. package/assets/images/chromeDevtools/survey_feedback_icon.svg +0 -1
  239. package/assets/images/chromeDevtools/switcherIcon.svg +0 -57
  240. package/assets/images/chromeDevtools/three_dots_menu_icon.svg +0 -1
  241. package/assets/images/chromeDevtools/trash_bin_icon.svg +0 -1
  242. package/assets/images/chromeDevtools/treeoutlineTriangles.svg +0 -70
  243. package/assets/images/chromeDevtools/warning_icon.svg +0 -83
@@ -1,6 +1,58 @@
1
1
  import { css, html, BaseCustomWebComponentConstructorAppend } from '@node-projects/base-custom-webcomponent';
2
2
  import { dragDropFormatName } from '../../../Constants';
3
3
  export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
4
+ _treeDiv;
5
+ _tree;
6
+ _filter;
7
+ static style = css `
8
+ * {
9
+ touch-action: none;
10
+ }
11
+
12
+ span.drag-source {
13
+ border: 1px solid grey;
14
+ border-radius: 3px;
15
+ padding: 2px;
16
+ background-color: silver;
17
+ }
18
+
19
+ span.fancytree-node.fancytree-drag-source {
20
+ outline: 1px dotted grey;
21
+ }
22
+ span.fancytree-node.fancytree-drop-accept {
23
+ outline: 1px dotted green;
24
+ }
25
+ span.fancytree-node.fancytree-drop-reject {
26
+ outline: 1px dotted red;
27
+ }
28
+ #tree ul {
29
+ border: none;
30
+ }
31
+ #tree ul:focus {
32
+ outline: none;
33
+ }
34
+ span.fancytree-title {
35
+ align-items: center;
36
+ flex-direction: row;
37
+ display: inline-flex;
38
+ }
39
+ td {
40
+ white-space: nowrap;
41
+ }
42
+ td:nth-child(n+2) {
43
+ text-align: center;
44
+ }
45
+ td > img {
46
+ vertical-align: middle;
47
+ }
48
+ `;
49
+ static template = html `
50
+ <div style="height: 100%;">
51
+ <input id="input" style="width: 100%; height:21px;" placeholder="Filter..." autocomplete="off">
52
+ <div style="height: calc(100% - 23px); overflow: auto;">
53
+ <div id="treetable" style="min-width: 100%;"></div>
54
+ </div>
55
+ </div>`;
4
56
  constructor() {
5
57
  super();
6
58
  let externalCss = document.createElement('style');
@@ -48,7 +100,6 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
48
100
  this._treeDiv.children[0].classList.add('fancytree-connectors');
49
101
  }
50
102
  async loadControls(serviceContainer, elementsServices) {
51
- var _a;
52
103
  let rootNode = this._tree.getRootNode();
53
104
  rootNode.removeChildren();
54
105
  for (const s of elementsServices) {
@@ -59,7 +110,7 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
59
110
  let elements = await s.getElements();
60
111
  for (let e of elements) {
61
112
  newNode.addChildren({
62
- title: (_a = e.name) !== null && _a !== void 0 ? _a : e.tag,
113
+ title: e.name ?? e.tag,
63
114
  folder: false,
64
115
  //@ts-ignore
65
116
  ref: e
@@ -70,53 +121,4 @@ export class PaletteTreeView extends BaseCustomWebComponentConstructorAppend {
70
121
  }
71
122
  }
72
123
  }
73
- PaletteTreeView.style = css `
74
- * {
75
- touch-action: none;
76
- }
77
-
78
- span.drag-source {
79
- border: 1px solid grey;
80
- border-radius: 3px;
81
- padding: 2px;
82
- background-color: silver;
83
- }
84
-
85
- span.fancytree-node.fancytree-drag-source {
86
- outline: 1px dotted grey;
87
- }
88
- span.fancytree-node.fancytree-drop-accept {
89
- outline: 1px dotted green;
90
- }
91
- span.fancytree-node.fancytree-drop-reject {
92
- outline: 1px dotted red;
93
- }
94
- #tree ul {
95
- border: none;
96
- }
97
- #tree ul:focus {
98
- outline: none;
99
- }
100
- span.fancytree-title {
101
- align-items: center;
102
- flex-direction: row;
103
- display: inline-flex;
104
- }
105
- td {
106
- white-space: nowrap;
107
- }
108
- td:nth-child(n+2) {
109
- text-align: center;
110
- }
111
- td > img {
112
- vertical-align: middle;
113
- }
114
- `;
115
- PaletteTreeView.template = html `
116
- <div style="height: 100%;">
117
- <input id="input" style="width: 100%; height:21px;" placeholder="Filter..." autocomplete="off">
118
- <div style="height: calc(100% - 23px); overflow: auto;">
119
- <div id="treetable" style="min-width: 100%;"></div>
120
- </div>
121
- </div>`;
122
124
  customElements.define('node-projects-palette-tree-view', PaletteTreeView);
@@ -3,9 +3,17 @@ import { PaletteElements } from './paletteElements';
3
3
  import { DesignerTabControl } from '../../controls/DesignerTabControl';
4
4
  import { BaseCustomWebComponentLazyAppend, css } from '@node-projects/base-custom-webcomponent';
5
5
  export class PaletteView extends BaseCustomWebComponentLazyAppend {
6
+ selected = 'native';
7
+ _designerTabControl;
8
+ static style = css `
9
+ :host {
10
+ display: flex;
11
+ flex-direction: column;
12
+ flex: 1;
13
+ height: 100%;
14
+ }`;
6
15
  constructor() {
7
16
  super();
8
- this.selected = 'native';
9
17
  this._designerTabControl = new DesignerTabControl();
10
18
  this._designerTabControl.selectedIndex = 0;
11
19
  this.shadowRoot.appendChild(this._designerTabControl);
@@ -20,11 +28,4 @@ export class PaletteView extends BaseCustomWebComponentLazyAppend {
20
28
  }
21
29
  }
22
30
  }
23
- PaletteView.style = css `
24
- :host {
25
- display: flex;
26
- flex-direction: column;
27
- flex: 1;
28
- height: 100%;
29
- }`;
30
31
  customElements.define('node-projects-palette-view', PaletteView);
@@ -5,6 +5,30 @@ import { CssPropertiesService } from '../../services/propertiesService/services/
5
5
  import { CommonPropertiesService } from '../../services/propertiesService/services/CommonPropertiesService';
6
6
  import { AttributesPropertiesService } from '../../services/propertiesService/services/AttributesPropertiesService';
7
7
  export class PropertyGrid extends BaseCustomWebComponentLazyAppend {
8
+ _serviceContainer;
9
+ _designerTabControl;
10
+ _selectedItems;
11
+ _propertyGridPropertyLists;
12
+ _itemsObserver;
13
+ static style = css `
14
+ :host {
15
+ display: block;
16
+ height: 100%;
17
+ user-select: none;
18
+ }
19
+ iron-pages {
20
+ overflow: hidden;
21
+ height: 250px;
22
+ background: var(--medium-grey, #2f3545);
23
+ color: white;
24
+ }
25
+ button:hover {
26
+ box-shadow: inset 0 3px 0 var(--light-grey);
27
+ }
28
+ button:focus {
29
+ box-shadow: inset 0 3px 0 var(--highlight-pink, #e91e63);
30
+ }
31
+ `;
8
32
  constructor() {
9
33
  super();
10
34
  this._designerTabControl = new DesignerTabControl();
@@ -116,23 +140,4 @@ export class PropertyGrid extends BaseCustomWebComponentLazyAppend {
116
140
  this._itemsObserver.observe(this._selectedItems[0].element, { attributes: true, childList: false, characterData: false });
117
141
  }
118
142
  }
119
- PropertyGrid.style = css `
120
- :host {
121
- display: block;
122
- height: 100%;
123
- user-select: none;
124
- }
125
- iron-pages {
126
- overflow: hidden;
127
- height: 250px;
128
- background: var(--medium-grey, #2f3545);
129
- color: white;
130
- }
131
- button:hover {
132
- box-shadow: inset 0 3px 0 var(--light-grey);
133
- }
134
- button:focus {
135
- box-shadow: inset 0 3px 0 var(--highlight-pink, #e91e63);
136
- }
137
- `;
138
143
  customElements.define('node-projects-property-grid', PropertyGrid);
@@ -2,14 +2,11 @@ import { BaseCustomWebComponentLazyAppend, css, DomHelper } from '@node-projects
2
2
  import { ContextMenuHelper } from '../../helper/contextMenu/ContextMenuHelper';
3
3
  import { ValueType } from '../../services/propertiesService/ValueType';
4
4
  export class PropertyGridPropertyList extends BaseCustomWebComponentLazyAppend {
5
- constructor(serviceContainer) {
6
- super();
7
- this._propertyMap = new Map();
8
- this._serviceContainer = serviceContainer;
9
- this._div = document.createElement("div");
10
- this._div.className = "content-wrapper";
11
- this.shadowRoot.appendChild(this._div);
12
- }
5
+ _div;
6
+ _propertyMap = new Map();
7
+ _serviceContainer;
8
+ _propertiesService;
9
+ _designItems;
13
10
  static get style() {
14
11
  return css `
15
12
  :host{
@@ -79,6 +76,13 @@ export class PropertyGridPropertyList extends BaseCustomWebComponentLazyAppend {
79
76
  }
80
77
  `;
81
78
  }
79
+ constructor(serviceContainer) {
80
+ super();
81
+ this._serviceContainer = serviceContainer;
82
+ this._div = document.createElement("div");
83
+ this._div.className = "content-wrapper";
84
+ this.shadowRoot.appendChild(this._div);
85
+ }
82
86
  setPropertiesService(propertiesService) {
83
87
  this._propertiesService = propertiesService;
84
88
  DomHelper.removeAllChildnodes(this._div);
@@ -1,6 +1,108 @@
1
1
  import { BaseCustomWebComponentLazyAppend, css } from '@node-projects/base-custom-webcomponent';
2
2
  import { DesignItem } from '../../item/DesignItem';
3
3
  export class TreeView extends BaseCustomWebComponentLazyAppend {
4
+ _items;
5
+ _index;
6
+ _previouslySelected;
7
+ _treeDiv;
8
+ _mapElementTreeitem;
9
+ _rootItem;
10
+ //TODO, buuton so key events can be transfered to designer Cnvas (so you can move controls with keys)
11
+ static style = css `
12
+ :host {
13
+ --horz-margin: 20px;
14
+ --vert-margin: 0px;
15
+ --horz-shift: calc(var(--horz-margin) / 2); /* typically */
16
+ --vert-shift: 12px;
17
+
18
+ display: inline-block;
19
+ position: relative;
20
+ width: 100%;
21
+ height: 100%;
22
+ background: var(--dark-grey, #232733);
23
+ overflow-y: auto;
24
+ }
25
+ button {
26
+ border: none;
27
+ font-size: 13px;
28
+ display: block;
29
+ padding: 4px 0;
30
+ cursor: pointer;
31
+ width: 100%;
32
+ text-align: left;
33
+ display: inline-block;
34
+ margin: 0;
35
+ background: var(--dark-grey, #232733);
36
+ position: relative;
37
+ color: white;
38
+ }
39
+ button:hover, button:focus {
40
+ background: var(--light-grey, #383f52);
41
+ }
42
+ span {
43
+ margin: 4px;
44
+ }
45
+ .id {
46
+ font-style: italic;
47
+ color: var(--highlight-pink, #e91e63);
48
+ }
49
+ .selected {
50
+ background: var(--light-grey, #383f52);
51
+ outline: none;
52
+ }
53
+
54
+ li, ul {
55
+ margin: 0;
56
+ padding: 0;
57
+ }
58
+ .tree ul {
59
+ margin-left: var(--horz-margin);
60
+ }
61
+ .tree li {
62
+ list-style-type: none;
63
+ margin-top: var(--vert-margin);
64
+ margin-bottom: var(--vert-margin);
65
+ position: relative;
66
+ }
67
+
68
+ /* up connector */
69
+ .tree li::before {
70
+ content: "";
71
+ position: absolute;
72
+ top: calc(0px - var(--vert-margin));
73
+ left: calc(var(--horz-shift) - var(--horz-margin));
74
+ width: calc(var(--horz-margin) - var(--horz-shift));
75
+ height: calc(var(--vert-shift) + var(--vert-margin));
76
+ border-left: 1px solid #ccc;
77
+ border-bottom: 1px solid #ccc;
78
+ border-radius: 0;
79
+ }
80
+
81
+ /* down connector */
82
+ .tree li::after {
83
+ position: absolute;
84
+ content: "";
85
+ top: var(--vert-shift);
86
+ left: calc(var(--horz-shift) - var(--horz-margin));
87
+ width: calc(var(--horz-margin) - var(--horz-shift));
88
+ height: calc(100% - var(--vert-shift));
89
+ border-left: 1px solid #ccc;
90
+ border-top: 1px solid #ccc;
91
+ border-radius: 0;
92
+ }
93
+
94
+ /* do not draw: up connector of first root item */
95
+ ul.tree>li:first-child::before { display:none; }
96
+
97
+ /* do not draw: down connector of last item */
98
+ .tree li:last-child::after { display:none; }
99
+
100
+ /* draw rounded: down connector of first root item */
101
+ ul.tree>li:first-child::after { border-radius: 5px 0 0 0; }
102
+
103
+ /* draw rounded: up connector of last item */
104
+ .tree li:last-child:before { border-radius: 0 0 0 5px; }
105
+ `;
4
106
  constructor() {
5
107
  super();
6
108
  this._treeDiv = document.createElement('div');
@@ -122,100 +224,4 @@ export class TreeView extends BaseCustomWebComponentLazyAppend {
122
224
  }
123
225
  }
124
226
  }
125
- //TODO, buuton so key events can be transfered to designer Cnvas (so you can move controls with keys)
126
- TreeView.style = css `
127
- :host {
128
- --horz-margin: 20px;
129
- --vert-margin: 0px;
130
- --horz-shift: calc(var(--horz-margin) / 2); /* typically */
131
- --vert-shift: 12px;
132
-
133
- display: inline-block;
134
- position: relative;
135
- width: 100%;
136
- height: 100%;
137
- background: var(--dark-grey, #232733);
138
- overflow-y: auto;
139
- }
140
- button {
141
- border: none;
142
- font-size: 13px;
143
- display: block;
144
- padding: 4px 0;
145
- cursor: pointer;
146
- width: 100%;
147
- text-align: left;
148
- display: inline-block;
149
- margin: 0;
150
- background: var(--dark-grey, #232733);
151
- position: relative;
152
- color: white;
153
- }
154
- button:hover, button:focus {
155
- background: var(--light-grey, #383f52);
156
- }
157
- span {
158
- margin: 4px;
159
- }
160
- .id {
161
- font-style: italic;
162
- color: var(--highlight-pink, #e91e63);
163
- }
164
- .selected {
165
- background: var(--light-grey, #383f52);
166
- outline: none;
167
- }
168
-
169
- li, ul {
170
- margin: 0;
171
- padding: 0;
172
- }
173
- .tree ul {
174
- margin-left: var(--horz-margin);
175
- }
176
- .tree li {
177
- list-style-type: none;
178
- margin-top: var(--vert-margin);
179
- margin-bottom: var(--vert-margin);
180
- position: relative;
181
- }
182
-
183
- /* up connector */
184
- .tree li::before {
185
- content: "";
186
- position: absolute;
187
- top: calc(0px - var(--vert-margin));
188
- left: calc(var(--horz-shift) - var(--horz-margin));
189
- width: calc(var(--horz-margin) - var(--horz-shift));
190
- height: calc(var(--vert-shift) + var(--vert-margin));
191
- border-left: 1px solid #ccc;
192
- border-bottom: 1px solid #ccc;
193
- border-radius: 0;
194
- }
195
-
196
- /* down connector */
197
- .tree li::after {
198
- position: absolute;
199
- content: "";
200
- top: var(--vert-shift);
201
- left: calc(var(--horz-shift) - var(--horz-margin));
202
- width: calc(var(--horz-margin) - var(--horz-shift));
203
- height: calc(100% - var(--vert-shift));
204
- border-left: 1px solid #ccc;
205
- border-top: 1px solid #ccc;
206
- border-radius: 0;
207
- }
208
-
209
- /* do not draw: up connector of first root item */
210
- ul.tree>li:first-child::before { display:none; }
211
-
212
- /* do not draw: down connector of last item */
213
- .tree li:last-child::after { display:none; }
214
-
215
- /* draw rounded: down connector of first root item */
216
- ul.tree>li:first-child::after { border-radius: 5px 0 0 0; }
217
-
218
- /* draw rounded: up connector of last item */
219
- .tree li:last-child:before { border-radius: 0 0 0 5px; }
220
- `;
221
227
  customElements.define('node-projects-tree-view', TreeView);
@@ -2,6 +2,77 @@ import { css, html, BaseCustomWebComponentConstructorAppend } from '@node-projec
2
2
  import { NodeType } from '../../item/NodeType';
3
3
  import { assetsPath } from '../../../Constants';
4
4
  export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
5
+ _treeDiv;
6
+ _tree;
7
+ _filter;
8
+ static style = css `
9
+ * {
10
+ touch-action: none;
11
+ }
12
+
13
+ span.drag-source {
14
+ border: 1px solid grey;
15
+ border-radius: 3px;
16
+ padding: 2px;
17
+ background-color: silver;
18
+ }
19
+
20
+ span.fancytree-node.fancytree-drag-source {
21
+ outline: 1px dotted grey;
22
+ }
23
+ span.fancytree-node.fancytree-drop-accept {
24
+ outline: 1px dotted green;
25
+ }
26
+ span.fancytree-node.fancytree-drop-reject {
27
+ outline: 1px dotted red;
28
+ }
29
+ #tree ul {
30
+ border: none;
31
+ }
32
+ #tree ul:focus {
33
+ outline: none;
34
+ }
35
+ span.fancytree-title {
36
+ align-items: center;
37
+ flex-direction: row;
38
+ display: inline-flex;
39
+ }
40
+ td {
41
+ white-space: nowrap;
42
+ }
43
+ td:nth-child(n+2) {
44
+ text-align: center;
45
+ }
46
+ td > img {
47
+ vertical-align: middle;
48
+ }
49
+
50
+ table.fancytree-ext-table tbody tr.fancytree-selected {
51
+ background-color: #bebebe;
52
+ }
53
+ `;
54
+ static template = html `
55
+ <div style="height: 100%;">
56
+ <input id="input" style="width: 100%; height:21px;" placeholder="Filter..." autocomplete="off">
57
+ <div style="height: calc(100% - 23px); overflow: auto;">
58
+ <table id="treetable" style="min-width: 100%;">
59
+ <colgroup>
60
+ <col width="*">
61
+ <col width="25px">
62
+ <col width="25px">
63
+ <col width="25px">
64
+ </colgroup>
65
+ <thead style="display: none;">
66
+ <tr>
67
+ <th></th>
68
+ <th></th>
69
+ <th></th>
70
+ <th></th>
71
+ </tr>
72
+ </thead>
73
+ </table>
74
+ </div>
75
+ </div>`;
5
76
  constructor() {
6
77
  super();
7
78
  let externalCss = document.createElement('style');
@@ -260,7 +331,6 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
260
331
  this._tree.getRootNode().updateCounters();
261
332
  }
262
333
  _getChildren(item, currentNode) {
263
- var _a;
264
334
  if (currentNode == null) {
265
335
  currentNode = this._tree.getRootNode();
266
336
  }
@@ -271,7 +341,7 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
271
341
  ref: item
272
342
  });
273
343
  for (let i of item.children()) {
274
- if (i.nodeType !== NodeType.TextNode || ((_a = i.content) === null || _a === void 0 ? void 0 : _a.trim())) {
344
+ if (i.nodeType !== NodeType.TextNode || i.content?.trim()) {
275
345
  this._getChildren(i, newNode);
276
346
  }
277
347
  }
@@ -290,72 +360,4 @@ export class TreeViewExtended extends BaseCustomWebComponentConstructorAppend {
290
360
  }
291
361
  }
292
362
  }
293
- TreeViewExtended.style = css `
294
- * {
295
- touch-action: none;
296
- }
297
-
298
- span.drag-source {
299
- border: 1px solid grey;
300
- border-radius: 3px;
301
- padding: 2px;
302
- background-color: silver;
303
- }
304
-
305
- span.fancytree-node.fancytree-drag-source {
306
- outline: 1px dotted grey;
307
- }
308
- span.fancytree-node.fancytree-drop-accept {
309
- outline: 1px dotted green;
310
- }
311
- span.fancytree-node.fancytree-drop-reject {
312
- outline: 1px dotted red;
313
- }
314
- #tree ul {
315
- border: none;
316
- }
317
- #tree ul:focus {
318
- outline: none;
319
- }
320
- span.fancytree-title {
321
- align-items: center;
322
- flex-direction: row;
323
- display: inline-flex;
324
- }
325
- td {
326
- white-space: nowrap;
327
- }
328
- td:nth-child(n+2) {
329
- text-align: center;
330
- }
331
- td > img {
332
- vertical-align: middle;
333
- }
334
-
335
- table.fancytree-ext-table tbody tr.fancytree-selected {
336
- background-color: #bebebe;
337
- }
338
- `;
339
- TreeViewExtended.template = html `
340
- <div style="height: 100%;">
341
- <input id="input" style="width: 100%; height:21px;" placeholder="Filter..." autocomplete="off">
342
- <div style="height: calc(100% - 23px); overflow: auto;">
343
- <table id="treetable" style="min-width: 100%;">
344
- <colgroup>
345
- <col width="*">
346
- <col width="25px">
347
- <col width="25px">
348
- <col width="25px">
349
- </colgroup>
350
- <thead style="display: none;">
351
- <tr>
352
- <th></th>
353
- <th></th>
354
- <th></th>
355
- <th></th>
356
- </tr>
357
- </thead>
358
- </table>
359
- </div>
360
- </div>`;
361
363
  customElements.define('node-projects-tree-view-extended', TreeViewExtended);
package/dist/index.d.ts CHANGED
@@ -30,6 +30,8 @@ export type { IElementAtPointService } from "./elements/services/elementAtPointS
30
30
  export * from "./elements/services/contentService/ContentService.js";
31
31
  export type { IContentChanged } from "./elements/services/contentService/IContentChanged.js";
32
32
  export type { IContentService } from "./elements/services/contentService/IContentService.js";
33
+ export * from "./elements/services/copyPasteService/CopyPasteService.js";
34
+ export type { ICopyPasteService } from "./elements/services/copyPasteService/ICopyPasteService.js";
33
35
  export * from "./elements/services/dragDropService/DragDropService.js";
34
36
  export type { IDragDropService } from "./elements/services/dragDropService/IDragDropService.js";
35
37
  export type { IElementDefinition } from "./elements/services/elementsService/IElementDefinition.js";
@@ -148,7 +150,6 @@ export * from "./elements/documentContainer.js";
148
150
  export * from "./enums/EventNames.js";
149
151
  export * from "./enums/PointerActionType.js";
150
152
  export type { IActivateable } from "./interfaces/IActivateable.js";
151
- export type { IDesignerMousePoint } from "./interfaces/IDesignerMousePoint.js";
152
153
  export type { IDisposable } from "./interfaces/IDisposable.js";
153
154
  export type { IPoint } from "./interfaces/IPoint.js";
154
155
  export type { IRect } from "./interfaces/IRect.js";
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export * from "./elements/services/placementService/GridPlacementService.js";
20
20
  export * from "./elements/services/placementService/SnaplinesProviderService.js";
21
21
  export * from "./elements/services/elementAtPointService/ElementAtPointService.js";
22
22
  export * from "./elements/services/contentService/ContentService.js";
23
+ export * from "./elements/services/copyPasteService/CopyPasteService.js";
23
24
  export * from "./elements/services/dragDropService/DragDropService.js";
24
25
  export * from "./elements/services/elementsService/JsonFileElementsService.js";
25
26
  export * from "./elements/services/htmlWriterService/HtmlWriterService.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.34",
4
+ "version": "0.0.38",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "author": "",
@@ -11,14 +11,14 @@
11
11
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
12
12
  },
13
13
  "dependencies": {
14
- "@node-projects/base-custom-webcomponent": "^0.2.0",
14
+ "@node-projects/base-custom-webcomponent": "^0.3.0",
15
15
  "construct-style-sheets-polyfill": "^3.0.4"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@node-projects/lean-he-esm": "^3.3.0",
19
19
  "@node-projects/node-html-parser-esm": "^2.4.1",
20
20
  "@types/codemirror": "^5.60.5",
21
- "@types/jquery": "^3.5.8",
21
+ "@types/jquery": "^3.5.9",
22
22
  "@types/jquery.fancytree": "0.0.7",
23
23
  "ace-builds": "^1.4.13",
24
24
  "codemirror": "^5.64.0",
package/tsconfig.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  /* Basic Options */
4
- "target": "ES2017", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
4
+ "target": "esnext", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
5
5
  "module": "esnext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
6
6
  // "lib": [], /* Specify library files to be included in the compilation. */
7
7
  "allowJs": true, /* Allow javascript files to be compiled. */