@node-projects/web-component-designer 0.0.31 → 0.0.35

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 (150) hide show
  1. package/assets/images/chromeDevtools/accelerometer-back.svg +69 -0
  2. package/assets/images/chromeDevtools/accelerometer-front.svg +28 -0
  3. package/assets/images/chromeDevtools/accessibility-icon.svg +3 -0
  4. package/assets/images/chromeDevtools/add-icon.svg +3 -0
  5. package/assets/images/chromeDevtools/align-content-center-icon.svg +70 -0
  6. package/assets/images/chromeDevtools/align-content-flex-end-icon.svg +1 -0
  7. package/assets/images/chromeDevtools/align-content-flex-start-icon.svg +66 -0
  8. package/assets/images/chromeDevtools/align-content-space-around-icon.svg +1 -0
  9. package/assets/images/chromeDevtools/align-content-space-between-icon.svg +1 -0
  10. package/assets/images/chromeDevtools/align-content-space-evenly-icon.svg +1 -0
  11. package/assets/images/chromeDevtools/align-content-stretch-icon.svg +53 -0
  12. package/assets/images/chromeDevtools/align-items-baseline-icon.svg +1 -0
  13. package/assets/images/chromeDevtools/align-items-center-icon.svg +1 -0
  14. package/assets/images/chromeDevtools/align-items-end-icon.svg +1 -0
  15. package/assets/images/chromeDevtools/align-items-flex-end-icon.svg +1 -0
  16. package/assets/images/chromeDevtools/align-items-flex-start-icon.svg +57 -0
  17. package/assets/images/chromeDevtools/align-items-start-icon.svg +57 -0
  18. package/assets/images/chromeDevtools/align-items-stretch-icon.svg +1 -0
  19. package/assets/images/chromeDevtools/align-self-center-icon.svg +1 -0
  20. package/assets/images/chromeDevtools/align-self-flex-end-icon.svg +1 -0
  21. package/assets/images/chromeDevtools/align-self-flex-start-icon.svg +57 -0
  22. package/assets/images/chromeDevtools/align-self-stretch-icon.svg +1 -0
  23. package/assets/images/chromeDevtools/baseline-icon.svg +1 -0
  24. package/assets/images/chromeDevtools/checkboxCheckmark.svg +60 -0
  25. package/assets/images/chromeDevtools/chevrons.svg +62 -0
  26. package/assets/images/chromeDevtools/chromeSelect.svg +1 -0
  27. package/assets/images/chromeDevtools/chromeSelectDark.svg +1 -0
  28. package/assets/images/chromeDevtools/close-icon.svg +5 -0
  29. package/assets/images/chromeDevtools/copy_icon.svg +79 -0
  30. package/assets/images/chromeDevtools/dropdown_7x6_icon.svg +1 -0
  31. package/assets/images/chromeDevtools/elements_panel_icon.svg +1 -0
  32. package/assets/images/chromeDevtools/errorWave.svg +74 -0
  33. package/assets/images/chromeDevtools/error_icon.svg +125 -0
  34. package/assets/images/chromeDevtools/feedback_button_icon.svg +3 -0
  35. package/assets/images/chromeDevtools/flex-direction-icon.svg +1 -0
  36. package/assets/images/chromeDevtools/flex-nowrap-icon.svg +5 -0
  37. package/assets/images/chromeDevtools/flex-wrap-icon.svg +8 -0
  38. package/assets/images/chromeDevtools/help_outline.svg +1 -0
  39. package/assets/images/chromeDevtools/ic_checkmark_16x16.svg +3 -0
  40. package/assets/images/chromeDevtools/ic_command_go_to_line.svg +4 -0
  41. package/assets/images/chromeDevtools/ic_command_go_to_symbol.svg +3 -0
  42. package/assets/images/chromeDevtools/ic_command_help.svg +3 -0
  43. package/assets/images/chromeDevtools/ic_command_open_file.svg +3 -0
  44. package/assets/images/chromeDevtools/ic_command_run_command.svg +3 -0
  45. package/assets/images/chromeDevtools/ic_command_run_snippet.svg +3 -0
  46. package/assets/images/chromeDevtools/ic_delete_filter.svg +1 -0
  47. package/assets/images/chromeDevtools/ic_delete_list.svg +1 -0
  48. package/assets/images/chromeDevtools/ic_dimension_single.svg +4 -0
  49. package/assets/images/chromeDevtools/ic_file_default.svg +3 -0
  50. package/assets/images/chromeDevtools/ic_file_document.svg +3 -0
  51. package/assets/images/chromeDevtools/ic_file_font.svg +3 -0
  52. package/assets/images/chromeDevtools/ic_file_image.svg +3 -0
  53. package/assets/images/chromeDevtools/ic_file_script.svg +3 -0
  54. package/assets/images/chromeDevtools/ic_file_snippet.svg +3 -0
  55. package/assets/images/chromeDevtools/ic_file_stylesheet.svg +3 -0
  56. package/assets/images/chromeDevtools/ic_file_webbundle.svg +5 -0
  57. package/assets/images/chromeDevtools/ic_file_webbundle_inner_request.svg +9 -0
  58. package/assets/images/chromeDevtools/ic_folder_default.svg +3 -0
  59. package/assets/images/chromeDevtools/ic_folder_local.svg +3 -0
  60. package/assets/images/chromeDevtools/ic_folder_network.svg +3 -0
  61. package/assets/images/chromeDevtools/ic_info_black_18dp.svg +1 -0
  62. package/assets/images/chromeDevtools/ic_memory_16x16.svg +6 -0
  63. package/assets/images/chromeDevtools/ic_page_next_16x16_icon.svg +1 -0
  64. package/assets/images/chromeDevtools/ic_page_prev_16x16_icon.svg +1 -0
  65. package/assets/images/chromeDevtools/ic_preview_feature.svg +3 -0
  66. package/assets/images/chromeDevtools/ic_redo_16x16_icon.svg +1 -0
  67. package/assets/images/chromeDevtools/ic_request_response.svg +5 -0
  68. package/assets/images/chromeDevtools/ic_response.svg +4 -0
  69. package/assets/images/chromeDevtools/ic_show_node_16x16.svg +4 -0
  70. package/assets/images/chromeDevtools/ic_suggest_color.svg +6 -0
  71. package/assets/images/chromeDevtools/ic_undo_16x16_icon.svg +1 -0
  72. package/assets/images/chromeDevtools/ic_warning_black_18dp.svg +1 -0
  73. package/assets/images/chromeDevtools/issue-cross-icon.svg +70 -0
  74. package/assets/images/chromeDevtools/issue-exclamation-icon.svg +64 -0
  75. package/assets/images/chromeDevtools/issue-questionmark-icon.svg +82 -0
  76. package/assets/images/chromeDevtools/issue-text-icon.svg +56 -0
  77. package/assets/images/chromeDevtools/justify-content-center-icon.svg +1 -0
  78. package/assets/images/chromeDevtools/justify-content-end-icon.svg +71 -0
  79. package/assets/images/chromeDevtools/justify-content-flex-end-icon.svg +71 -0
  80. package/assets/images/chromeDevtools/justify-content-flex-start-icon.svg +1 -0
  81. package/assets/images/chromeDevtools/justify-content-space-around-icon.svg +1 -0
  82. package/assets/images/chromeDevtools/justify-content-space-between-icon.svg +1 -0
  83. package/assets/images/chromeDevtools/justify-content-space-evenly-icon.svg +1 -0
  84. package/assets/images/chromeDevtools/justify-content-start-icon.svg +1 -0
  85. package/assets/images/chromeDevtools/justify-items-center-icon.svg +1 -0
  86. package/assets/images/chromeDevtools/justify-items-end-icon.svg +57 -0
  87. package/assets/images/chromeDevtools/justify-items-start-icon.svg +1 -0
  88. package/assets/images/chromeDevtools/justify-items-stretch-icon.svg +1 -0
  89. package/assets/images/chromeDevtools/largeIcons.svg +1629 -0
  90. package/assets/images/chromeDevtools/lighthouse_logo.svg +158 -0
  91. package/assets/images/chromeDevtools/link_icon.svg +1 -0
  92. package/assets/images/chromeDevtools/mediumIcons.svg +1101 -0
  93. package/assets/images/chromeDevtools/network_conditions_icon.svg +6 -0
  94. package/assets/images/chromeDevtools/network_panel_icon.svg +1 -0
  95. package/assets/images/chromeDevtools/node_search_icon.svg +1 -0
  96. package/assets/images/chromeDevtools/preview_feature_video_thumbnail.svg +92 -0
  97. package/assets/images/chromeDevtools/refresh_12x12_icon.svg +1 -0
  98. package/assets/images/chromeDevtools/resizeDiagonal.svg +1 -0
  99. package/assets/images/chromeDevtools/resizeHorizontal.svg +1 -0
  100. package/assets/images/chromeDevtools/resizeVertical.svg +1 -0
  101. package/assets/images/chromeDevtools/securityIcons.svg +278 -0
  102. package/assets/images/chromeDevtools/settings_14x14_icon.svg +1 -0
  103. package/assets/images/chromeDevtools/smallIcons.svg +1277 -0
  104. package/assets/images/chromeDevtools/sources_panel_icon.svg +1 -0
  105. package/assets/images/chromeDevtools/survey_feedback_icon.svg +1 -0
  106. package/assets/images/chromeDevtools/switcherIcon.svg +57 -0
  107. package/assets/images/chromeDevtools/three_dots_menu_icon.svg +1 -0
  108. package/assets/images/chromeDevtools/trash_bin_icon.svg +1 -0
  109. package/assets/images/chromeDevtools/treeoutlineTriangles.svg +70 -0
  110. package/assets/images/chromeDevtools/warning_icon.svg +83 -0
  111. package/dist/commandHandling/CommandType.d.ts +1 -0
  112. package/dist/commandHandling/CommandType.js +1 -0
  113. package/dist/elements/controls/DesignerTabControl.js +4 -0
  114. package/dist/elements/controls/ImageButtonListSelector copy.d.ts +17 -0
  115. package/dist/elements/controls/ImageButtonListSelector copy.js +82 -0
  116. package/dist/elements/controls/ImageButtonListSelector.d.ts +17 -0
  117. package/dist/elements/controls/ImageButtonListSelector.js +82 -0
  118. package/dist/elements/controls/ThicknessEditor.d.ts +17 -0
  119. package/dist/elements/controls/ThicknessEditor.js +80 -0
  120. package/dist/elements/services/DefaultServiceBootstrap.js +2 -0
  121. package/dist/elements/services/ServiceContainer.d.ts +3 -0
  122. package/dist/elements/services/ServiceContainer.js +3 -0
  123. package/dist/elements/services/copyPasteService/CopyPasteService.d.ts +8 -0
  124. package/dist/elements/services/copyPasteService/CopyPasteService.js +12 -0
  125. package/dist/elements/services/copyPasteService/ICopyPasteService copy.d.ts +0 -0
  126. package/dist/elements/services/copyPasteService/ICopyPasteService copy.js +1 -0
  127. package/dist/elements/services/copyPasteService/ICopyPasteService.d.ts +7 -0
  128. package/dist/elements/services/copyPasteService/ICopyPasteService.js +1 -0
  129. package/dist/elements/services/propertiesService/DefaultEditorTypesService.js +10 -0
  130. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.d.ts +8 -0
  131. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.js +40 -0
  132. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -0
  133. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -0
  134. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -0
  135. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -0
  136. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +3 -2
  137. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +58 -49
  138. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +1 -0
  139. package/dist/elements/widgets/designerView/designerCanvas.d.ts +2 -2
  140. package/dist/elements/widgets/designerView/designerCanvas.js +27 -27
  141. package/dist/elements/widgets/designerView/designerView.d.ts +1 -0
  142. package/dist/elements/widgets/designerView/designerView.js +39 -5
  143. package/dist/elements/widgets/designerView/overlayLayerView.js +1 -2
  144. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +11 -11
  145. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +14 -0
  146. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +2 -2
  147. package/dist/index.d.ts +2 -0
  148. package/dist/index.js +1 -0
  149. package/dist/interfaces/IDesignerMousePoint.d.ts +2 -0
  150. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="15mm" height="15mm" viewBox="0 0 15 15"><path fill="#000" d="M13.5 7.5a6 6 0 10-12 0 6 6 0 0012 0zm1 0a7 7 0 10-14 0 7 7 0 0014 0zm-10 2h5.072l1.636-2-1.636-2H4.5zm-1 0a1 1 0 001 1h5.072a1 1 0 00.774-.367l1.636-2a1 1 0 000-1.266l-1.637-2a1 1 0 00-.773-.367H4.5a1 1 0 00-1 1z" clip-rule="evenodd" fill-rule="evenodd"/></svg>
@@ -0,0 +1 @@
1
+ <svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 11.5h9a1 1 0 001-1v-8a1 1 0 00-1-1H3a1 1 0 00-1 1v12l3-3zm-2 .586L4.586 10.5H14v-8H3v9.586z" fill="#000"/><path fill="#000" d="M8 4h1v3H8zM8 8h1v1H8z"/></svg>
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ fill="none"
11
+ viewBox="0 0 16 16"
12
+ version="1.1"
13
+ id="svg22"
14
+ sodipodi:docname="switcherIcon.svg"
15
+ inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
16
+ width="16"
17
+ height="16">
18
+ <metadata
19
+ id="metadata28">
20
+ <rdf:RDF>
21
+ <cc:Work
22
+ rdf:about="">
23
+ <dc:format>image/svg+xml</dc:format>
24
+ <dc:type
25
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
26
+ <dc:title></dc:title>
27
+ </cc:Work>
28
+ </rdf:RDF>
29
+ </metadata>
30
+ <defs
31
+ id="defs26" />
32
+ <sodipodi:namedview
33
+ pagecolor="#ffffff"
34
+ bordercolor="#666666"
35
+ borderopacity="1"
36
+ objecttolerance="10"
37
+ gridtolerance="10"
38
+ guidetolerance="10"
39
+ inkscape:pageopacity="0"
40
+ inkscape:pageshadow="2"
41
+ inkscape:window-width="2496"
42
+ inkscape:window-height="1570"
43
+ id="namedview24"
44
+ showgrid="false"
45
+ inkscape:zoom="75.333333"
46
+ inkscape:cx="6.1593412"
47
+ inkscape:cy="7.523637"
48
+ inkscape:window-x="-11"
49
+ inkscape:window-y="-11"
50
+ inkscape:window-maximized="1"
51
+ inkscape:current-layer="svg22" />
52
+ <path
53
+ d="m 5.2405,6.0043674 h 5.518841 L 7.9999213,2.1505 Z m 0,3.9915058 h 5.518841 L 7.9999213,13.84974 Z"
54
+ fill="#000000"
55
+ id="path20"
56
+ style="stroke-width:0.949681" />
57
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="4" height="14.029" viewBox="0 0 1.058 3.712"><g fill-rule="evenodd"><path d="M.926.533a.397.397 0 11-.794 0 .397.397 0 11.794 0zM.926 1.856a.397.397 0 11-.794 0 .397.397 0 11.794 0zM.926 3.179a.397.397 0 11-.794 0 .397.397 0 11.794 0z"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2.91 4.233" height="16" width="11"><path d="M.265 1.323h2.38L2.25 3.969H.661M2.381.53h-.529V.264h-.794v.264H.53a.27.27 0 00-.264.265v.264H2.646V.794A.27.27 0 002.38.529"/></svg>
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="32"
13
+ height="24"
14
+ id="svg3620"
15
+ version="1.1"
16
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06"
17
+ sodipodi:docname="treeoutlineTriangles.svg"
18
+ inkscape:export-xdpi="192"
19
+ inkscape:export-ydpi="192">
20
+ <defs
21
+ id="defs3622" />
22
+ <sodipodi:namedview
23
+ id="base"
24
+ pagecolor="#ffffff"
25
+ bordercolor="#666666"
26
+ borderopacity="1.0"
27
+ inkscape:pageopacity="0.0"
28
+ inkscape:pageshadow="2"
29
+ inkscape:zoom="15.999999"
30
+ inkscape:cx="5.8968306"
31
+ inkscape:cy="33.634397"
32
+ inkscape:document-units="px"
33
+ inkscape:current-layer="layer1"
34
+ showgrid="false"
35
+ showguides="true"
36
+ inkscape:guide-bbox="true"
37
+ inkscape:window-width="1680"
38
+ inkscape:window-height="1005"
39
+ inkscape:window-x="0"
40
+ inkscape:window-y="1"
41
+ inkscape:window-maximized="1" />
42
+ <metadata
43
+ id="metadata3625">
44
+ <rdf:RDF>
45
+ <cc:Work
46
+ rdf:about="">
47
+ <dc:format>image/svg+xml</dc:format>
48
+ <dc:type
49
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
50
+ <dc:title />
51
+ </cc:Work>
52
+ </rdf:RDF>
53
+ </metadata>
54
+ <g
55
+ inkscape:label="Layer 1"
56
+ inkscape:groupmode="layer"
57
+ id="layer1"
58
+ transform="translate(0,-1028.3622)">
59
+ <path
60
+ d="m 7.5,1034.3622 -5.5,-3.75 v 7.5"
61
+ id="path3619"
62
+ inkscape:connector-curvature="0"
63
+ sodipodi:nodetypes="ccc" />
64
+ <path
65
+ d="m 20.5,1037.8622 3.75,-5.5 h -7.5"
66
+ id="path3621"
67
+ inkscape:connector-curvature="0"
68
+ sodipodi:nodetypes="ccc" />
69
+ </g>
70
+ </svg>
@@ -0,0 +1,83 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:cc="http://creativecommons.org/ns#"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:svg="http://www.w3.org/2000/svg"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10
+ inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
11
+ sodipodi:docname="warning_icon.svg"
12
+ id="svg2709"
13
+ version="1.1"
14
+ viewBox="0 0 10 10"
15
+ height="10mm"
16
+ width="10mm">
17
+ <defs
18
+ id="defs2703" />
19
+ <sodipodi:namedview
20
+ inkscape:window-maximized="1"
21
+ inkscape:window-y="0"
22
+ inkscape:window-x="0"
23
+ inkscape:window-height="1391"
24
+ inkscape:window-width="2560"
25
+ showgrid="false"
26
+ inkscape:document-rotation="0"
27
+ inkscape:current-layer="layer1"
28
+ inkscape:document-units="mm"
29
+ inkscape:cy="14.346581"
30
+ inkscape:cx="29.445859"
31
+ inkscape:zoom="15.839192"
32
+ inkscape:pageshadow="2"
33
+ inkscape:pageopacity="0.0"
34
+ borderopacity="1.0"
35
+ bordercolor="#666666"
36
+ pagecolor="#ffffff"
37
+ id="base" />
38
+ <metadata
39
+ id="metadata2706">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ </cc:Work>
47
+ </rdf:RDF>
48
+ </metadata>
49
+ <g
50
+ transform="translate(27.781233,-68.224719)"
51
+ id="layer1"
52
+ inkscape:groupmode="layer"
53
+ inkscape:label="Layer 1">
54
+ <g
55
+ id="g4443"
56
+ transform="matrix(1.0000124,0,0,1.0000124,-27.781295,68.224595)">
57
+ <path
58
+ style="stroke:#c19600;stroke-width:2;stroke-linejoin:round"
59
+ inkscape:connector-curvature="0"
60
+ id="path4447"
61
+ d="m 61,9 4,-8 4,8 z"
62
+ transform="translate(-60)" />
63
+ <path
64
+ style="fill:#f4bd00;stroke:#f5bd00;stroke-width:1.5;stroke-linejoin:round"
65
+ inkscape:connector-curvature="0"
66
+ id="path4449"
67
+ d="m 61,9 4,-8 4,8 z"
68
+ transform="translate(-60)" />
69
+ <path
70
+ style="fill:#ad8601"
71
+ inkscape:connector-curvature="0"
72
+ id="path4451"
73
+ d="m 63.75,2.75 h 2.5 v 2.5 L 65.75,7 h -1.5 l -0.5,-1.75 v -2.5 m 0,5.25 h 2.5 v 1.25 h -2.5"
74
+ transform="translate(-60)" />
75
+ <path
76
+ style="fill:#ffffff"
77
+ inkscape:connector-curvature="0"
78
+ id="path4453"
79
+ d="m 64,3 h 2 V 5.25 L 65.5,7 h -1 L 64,5.25 V 3 m 0,5 h 2 v 1 h -2"
80
+ transform="translate(-60)" />
81
+ </g>
82
+ </g>
83
+ </svg>
@@ -5,6 +5,7 @@ export declare enum CommandType {
5
5
  'delete' = "delete",
6
6
  'undo' = "undo",
7
7
  'redo' = "redo",
8
+ 'selectAll' = "selectAll",
8
9
  'moveToFront' = "moveToFront",
9
10
  'moveForward' = "moveForward",
10
11
  'moveBackward' = "moveBackward",
@@ -6,6 +6,7 @@ export var CommandType;
6
6
  CommandType["delete"] = "delete";
7
7
  CommandType["undo"] = "undo";
8
8
  CommandType["redo"] = "redo";
9
+ CommandType["selectAll"] = "selectAll";
9
10
  CommandType["moveToFront"] = "moveToFront";
10
11
  CommandType["moveForward"] = "moveForward";
11
12
  CommandType["moveBackward"] = "moveBackward";
@@ -82,6 +82,7 @@ export class DesignerTabControl extends BaseCustomWebComponentLazyAppend {
82
82
  let htmlItem = item;
83
83
  let tabHeaderDiv = document.createElement("div");
84
84
  tabHeaderDiv.innerText = htmlItem.title;
85
+ tabHeaderDiv.title = htmlItem.title;
85
86
  tabHeaderDiv.className = 'tab-header';
86
87
  let j = i;
87
88
  tabHeaderDiv.onpointerdown = () => {
@@ -132,6 +133,8 @@ DesignerTabControl.style = css `
132
133
  display: flex;
133
134
  flex-direction: column;
134
135
  height: 100%;
136
+ position: relative;
137
+ overflow: hidden;
135
138
  }
136
139
  .header {
137
140
  display: inline-flex;
@@ -192,6 +195,7 @@ DesignerTabControl.style = css `
192
195
  font-weight: 500;
193
196
  line-height: 1.5;
194
197
  letter-spacing: 1px;
198
+ white-space: nowrap;
195
199
  }
196
200
  .tab-header:hover {
197
201
  background: var(--light-grey, #383f52);
@@ -0,0 +1,17 @@
1
+ import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export declare type ImageButtonListSelectorValueChangedEventArgs = {
3
+ newValue?: string;
4
+ oldValue?: string;
5
+ };
6
+ export declare class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
7
+ static readonly style: CSSStyleSheet;
8
+ static readonly template: HTMLTemplateElement;
9
+ private _value;
10
+ get value(): string;
11
+ set value(value: string);
12
+ valueChanged: TypedEvent<ImageButtonListSelectorValueChangedEventArgs>;
13
+ property: string;
14
+ unsetValue: string;
15
+ _updateValue(): void;
16
+ ready(): void;
17
+ }
@@ -0,0 +1,82 @@
1
+ import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.valueChanged = new TypedEvent();
6
+ }
7
+ get value() {
8
+ return this._value;
9
+ }
10
+ set value(value) {
11
+ const oldValue = this._value;
12
+ this._value = value;
13
+ this._updateValue();
14
+ this.valueChanged.emit({ newValue: this._value, oldValue: oldValue });
15
+ }
16
+ _updateValue() {
17
+ if (this.value) {
18
+ this._getDomElement('value').innerText = this.value;
19
+ this._getDomElement('value').classList.add('value-set');
20
+ }
21
+ else {
22
+ this._getDomElement('value').classList.remove('value-set');
23
+ }
24
+ const slot = this._getDomElement('slot');
25
+ for (let e of slot.assignedElements()) {
26
+ if (e.dataset.value == this.value)
27
+ e.style.background = "cornflowerblue";
28
+ else
29
+ e.style.background = "";
30
+ }
31
+ }
32
+ ready() {
33
+ var _a, _b;
34
+ this._parseAttributesToProperties();
35
+ const slot = this._getDomElement('slot');
36
+ slot.onclick = (e) => {
37
+ const path = e.composedPath();
38
+ for (let e of slot.assignedElements()) {
39
+ if (path.indexOf(e) >= 0) {
40
+ this.value = e.dataset.value;
41
+ }
42
+ }
43
+ };
44
+ this._getDomElement('property').innerText = (_a = this.property) !== null && _a !== void 0 ? _a : '';
45
+ this._getDomElement('value').innerText = (_b = this.unsetValue) !== null && _b !== void 0 ? _b : '';
46
+ this._updateValue();
47
+ }
48
+ }
49
+ ImageButtonListSelector.style = css `
50
+ div {
51
+ font-size: 10px;
52
+ color: white;
53
+ }
54
+ #property {
55
+ color: #00aff0;
56
+ }
57
+ #value {
58
+ color: lightgray;
59
+ }
60
+ #value.value-set {
61
+ color: wheat;
62
+ }
63
+ .container {
64
+ display: flex;
65
+ flex-wrap: wrap;
66
+ flex-direction: row;
67
+ }
68
+ ::slotted(button) {
69
+ min-width: 24px;
70
+ height: 24px;
71
+ padding: 1px;
72
+ background: white;
73
+ border: 1px solid lightgray;
74
+ }
75
+ `;
76
+ ImageButtonListSelector.template = html `
77
+ <div>
78
+ <div><span id="property"></span>: <span id="value"></span></div>
79
+ <div class="container"><slot id="slot"></slot></div>
80
+ </div>
81
+ `;
82
+ customElements.define('node-projects-image-button-list-selector', ImageButtonListSelector);
@@ -0,0 +1,17 @@
1
+ import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export declare type ImageButtonListSelectorValueChangedEventArgs = {
3
+ newValue?: string;
4
+ oldValue?: string;
5
+ };
6
+ export declare class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
7
+ static readonly style: CSSStyleSheet;
8
+ static readonly template: HTMLTemplateElement;
9
+ private _value;
10
+ get value(): string;
11
+ set value(value: string);
12
+ valueChanged: TypedEvent<ImageButtonListSelectorValueChangedEventArgs>;
13
+ property: string;
14
+ unsetValue: string;
15
+ _updateValue(): void;
16
+ ready(): void;
17
+ }
@@ -0,0 +1,82 @@
1
+ import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export class ImageButtonListSelector extends BaseCustomWebComponentConstructorAppend {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.valueChanged = new TypedEvent();
6
+ }
7
+ get value() {
8
+ return this._value;
9
+ }
10
+ set value(value) {
11
+ const oldValue = this._value;
12
+ this._value = value;
13
+ this._updateValue();
14
+ this.valueChanged.emit({ newValue: this._value, oldValue: oldValue });
15
+ }
16
+ _updateValue() {
17
+ if (this.value) {
18
+ this._getDomElement('value').innerText = this.value;
19
+ this._getDomElement('value').classList.add('value-set');
20
+ }
21
+ else {
22
+ this._getDomElement('value').classList.remove('value-set');
23
+ }
24
+ const slot = this._getDomElement('slot');
25
+ for (let e of slot.assignedElements()) {
26
+ if (e.dataset.value == this.value)
27
+ e.style.background = "cornflowerblue";
28
+ else
29
+ e.style.background = "";
30
+ }
31
+ }
32
+ ready() {
33
+ var _a, _b;
34
+ this._parseAttributesToProperties();
35
+ const slot = this._getDomElement('slot');
36
+ slot.onclick = (e) => {
37
+ const path = e.composedPath();
38
+ for (let e of slot.assignedElements()) {
39
+ if (path.indexOf(e) >= 0) {
40
+ this.value = e.dataset.value;
41
+ }
42
+ }
43
+ };
44
+ this._getDomElement('property').innerText = (_a = this.property) !== null && _a !== void 0 ? _a : '';
45
+ this._getDomElement('value').innerText = (_b = this.unsetValue) !== null && _b !== void 0 ? _b : '';
46
+ this._updateValue();
47
+ }
48
+ }
49
+ ImageButtonListSelector.style = css `
50
+ div {
51
+ font-size: 10px;
52
+ color: white;
53
+ }
54
+ #property {
55
+ color: #00aff0;
56
+ }
57
+ #value {
58
+ color: lightgray;
59
+ }
60
+ #value.value-set {
61
+ color: wheat;
62
+ }
63
+ .container {
64
+ display: flex;
65
+ flex-wrap: wrap;
66
+ flex-direction: row;
67
+ }
68
+ ::slotted(button) {
69
+ min-width: 24px;
70
+ height: 24px;
71
+ padding: 1px;
72
+ background: white;
73
+ border: 1px solid lightgray;
74
+ }
75
+ `;
76
+ ImageButtonListSelector.template = html `
77
+ <div>
78
+ <div><span id="property"></span>: <span id="value"></span></div>
79
+ <div class="container"><slot id="slot"></slot></div>
80
+ </div>
81
+ `;
82
+ customElements.define('node-projects-image-button-list-selector', ImageButtonListSelector);
@@ -0,0 +1,17 @@
1
+ import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export declare type ThicknessEditorValueChangedEventArgs = {
3
+ newValue?: string;
4
+ oldValue?: string;
5
+ };
6
+ export declare class ThicknessEditor extends BaseCustomWebComponentConstructorAppend {
7
+ static readonly style: CSSStyleSheet;
8
+ static readonly template: HTMLTemplateElement;
9
+ private _value;
10
+ get value(): string;
11
+ set value(value: string);
12
+ valueChanged: TypedEvent<ThicknessEditorValueChangedEventArgs>;
13
+ property: string;
14
+ unsetValue: string;
15
+ _updateValue(): void;
16
+ ready(): void;
17
+ }
@@ -0,0 +1,80 @@
1
+ import { BaseCustomWebComponentConstructorAppend, css, html, TypedEvent } from '@node-projects/base-custom-webcomponent';
2
+ export class ThicknessEditor extends BaseCustomWebComponentConstructorAppend {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.valueChanged = new TypedEvent();
6
+ }
7
+ get value() {
8
+ return this._value;
9
+ }
10
+ set value(value) {
11
+ const oldValue = this._value;
12
+ this._value = value;
13
+ this._updateValue();
14
+ this.valueChanged.emit({ newValue: this._value, oldValue: oldValue });
15
+ }
16
+ _updateValue() {
17
+ }
18
+ ready() {
19
+ this._parseAttributesToProperties();
20
+ this._updateValue();
21
+ }
22
+ }
23
+ ThicknessEditor.style = css `
24
+ :host {
25
+ margin: 4px;
26
+ margin-left: auto;
27
+ margin-right: auto;
28
+ }
29
+ #container {
30
+ display: grid;
31
+ grid-template-columns: minmax(30px, 40px) minmax(30px, 60px) minmax(30px, 40px);
32
+ grid-template-rows: auto;
33
+ grid-template-areas:
34
+ " . top ."
35
+ "left middle right"
36
+ " . bottom .";
37
+ column-gap: 2px;
38
+ row-gap: 2px;
39
+ }
40
+ input {
41
+ width: 20px;
42
+ text-align: center;
43
+ font-size: 10px;
44
+ height: 20px;
45
+ padding: 0;
46
+ }
47
+ #left {
48
+ grid-area: left;
49
+ justify-self: end;
50
+ }
51
+ #top {
52
+ grid-area: top;
53
+ align-self: end;
54
+ justify-self: center;
55
+ }
56
+ #right {
57
+ grid-area: right;
58
+ justify-self: start;
59
+ }
60
+ #bottom {
61
+ grid-area: bottom;
62
+ align-self: start;
63
+ justify-self: center;
64
+ }
65
+ #rect {
66
+ grid-area: middle;
67
+ border: 1px solid black;
68
+ background: lightgray;
69
+ }
70
+ `;
71
+ ThicknessEditor.template = html `
72
+ <div id="container">
73
+ <input id="left">
74
+ <input id="top">
75
+ <input id="right">
76
+ <input id="bottom">
77
+ <div id="rect"></div>
78
+ </div>
79
+ `;
80
+ customElements.define('node-projects-thickness-editor', ThicknessEditor);
@@ -43,6 +43,7 @@ import { SnaplinesProviderService } from './placementService/SnaplinesProviderSe
43
43
  import { PrepareElementsForDesignerService } from './instanceService/PrepareElementsForDesignerService';
44
44
  import { DragDropService } from './dragDropService/DragDropService';
45
45
  import { EditTextExtensionProvider } from '../widgets/designerView/extensions/EditText/EditTextExtensionProvider.js';
46
+ import { CopyPasteService } from './copyPasteService/CopyPasteService';
46
47
  export function createDefaultServiceContainer() {
47
48
  let serviceContainer = new ServiceContainer();
48
49
  serviceContainer.register("propertyService", new PolymerPropertiesService());
@@ -61,6 +62,7 @@ export function createDefaultServiceContainer() {
61
62
  serviceContainer.register("elementAtPointService", new ElementAtPointService());
62
63
  serviceContainer.register("prepareElementsForDesignerService", new PrepareElementsForDesignerService());
63
64
  serviceContainer.register("dragDropService", new DragDropService());
65
+ serviceContainer.register("copyPasteService", new CopyPasteService());
64
66
  serviceContainer.designerExtensions.set(ExtensionType.Permanent, [
65
67
  new ResizeExtensionProvider(false),
66
68
  new InvisibleDivExtensionProvider()
@@ -20,6 +20,7 @@ import { IElementAtPointService } from './elementAtPointService/IElementAtPointS
20
20
  import { ISnaplinesProviderService } from "./placementService/ISnaplinesProviderService.js";
21
21
  import { IPrepareElementsForDesignerService } from './instanceService/IPrepareElementsForDesignerService';
22
22
  import { IDragDropService } from './dragDropService/IDragDropService';
23
+ import { ICopyPasteService } from "./copyPasteService/ICopyPasteService.js";
23
24
  interface ServiceNameMap {
24
25
  "propertyService": IPropertiesService;
25
26
  "containerService": IPlacementService;
@@ -34,6 +35,7 @@ interface ServiceNameMap {
34
35
  "elementAtPointService": IElementAtPointService;
35
36
  "prepareElementsForDesignerService": IPrepareElementsForDesignerService;
36
37
  "dragDropService": IDragDropService;
38
+ "copyPasteService": ICopyPasteService;
37
39
  }
38
40
  export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMap> {
39
41
  readonly config: {
@@ -57,5 +59,6 @@ export declare class ServiceContainer extends BaseServiceContainer<ServiceNameMa
57
59
  get elementAtPointService(): IElementAtPointService;
58
60
  get prepareElementsForDesignerService(): IPrepareElementsForDesignerService;
59
61
  get dragDropService(): IDragDropService;
62
+ get copyPasteService(): ICopyPasteService;
60
63
  }
61
64
  export {};
@@ -52,4 +52,7 @@ export class ServiceContainer extends BaseServiceContainer {
52
52
  get dragDropService() {
53
53
  return this.getLastService('dragDropService');
54
54
  }
55
+ get copyPasteService() {
56
+ return this.getLastService('copyPasteService');
57
+ }
55
58
  }
@@ -0,0 +1,8 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { ICopyPasteService } from "./ICopyPasteService.js";
3
+ import { ServiceContainer } from '../ServiceContainer';
4
+ import { InstanceServiceContainer } from '../InstanceServiceContainer';
5
+ export declare class CopyPasteService implements ICopyPasteService {
6
+ copyItems(designItems: IDesignItem[]): Promise<void>;
7
+ getPasteItems(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
8
+ }
@@ -0,0 +1,12 @@
1
+ import { DomConverter } from "../../widgets/designerView/DomConverter.js";
2
+ export class CopyPasteService {
3
+ async copyItems(designItems) {
4
+ const copyText = DomConverter.ConvertToString(designItems, null);
5
+ await navigator.clipboard.writeText(copyText);
6
+ }
7
+ async getPasteItems(serviceContainer, instanceServiceContainer) {
8
+ const text = await navigator.clipboard.readText();
9
+ const parserService = serviceContainer.htmlParserService;
10
+ return await parserService.parse(text, serviceContainer, instanceServiceContainer);
11
+ }
12
+ }
@@ -0,0 +1,7 @@
1
+ import { IDesignItem } from "../../item/IDesignItem.js";
2
+ import { InstanceServiceContainer } from "../InstanceServiceContainer.js";
3
+ import { ServiceContainer } from "../ServiceContainer.js";
4
+ export interface ICopyPasteService {
5
+ copyItems(designItems: IDesignItem[]): Promise<void>;
6
+ getPasteItems(serviceContainer: ServiceContainer, instanceServiceContainer: InstanceServiceContainer): Promise<IDesignItem[]>;
7
+ }