@node-projects/web-component-designer 0.0.32 → 0.0.33

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 (138) 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 +3 -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/propertiesService/DefaultEditorTypesService.js +10 -0
  121. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.d.ts +8 -0
  122. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor copy.js +40 -0
  123. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.d.ts +8 -0
  124. package/dist/elements/services/propertiesService/propertyEditors/ImageButtonListPropertyEditor.js +40 -0
  125. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.d.ts +8 -0
  126. package/dist/elements/services/propertiesService/propertyEditors/ThicknessPropertyEditor.js +14 -0
  127. package/dist/elements/services/propertiesService/services/CssPropertiesService.d.ts +3 -2
  128. package/dist/elements/services/propertiesService/services/CssPropertiesService.js +58 -49
  129. package/dist/elements/widgets/designerView/IDesignerCanvas.d.ts +1 -0
  130. package/dist/elements/widgets/designerView/designerCanvas.d.ts +1 -1
  131. package/dist/elements/widgets/designerView/designerCanvas.js +19 -14
  132. package/dist/elements/widgets/designerView/designerView.d.ts +1 -0
  133. package/dist/elements/widgets/designerView/designerView.js +39 -5
  134. package/dist/elements/widgets/designerView/tools/RectangleSelectorTool.js +6 -6
  135. package/dist/elements/widgets/propertyGrid/PropertyGrid.js +14 -0
  136. package/dist/elements/widgets/propertyGrid/PropertyGridPropertyList.js +2 -2
  137. package/dist/interfaces/IDesignerMousePoint.d.ts +2 -0
  138. 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 = () => {
@@ -133,6 +134,7 @@ DesignerTabControl.style = css `
133
134
  flex-direction: column;
134
135
  height: 100%;
135
136
  position: relative;
137
+ overflow: hidden;
136
138
  }
137
139
  .header {
138
140
  display: inline-flex;
@@ -193,6 +195,7 @@ DesignerTabControl.style = css `
193
195
  font-weight: 500;
194
196
  line-height: 1.5;
195
197
  letter-spacing: 1px;
198
+ white-space: nowrap;
196
199
  }
197
200
  .tab-header:hover {
198
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);
@@ -5,6 +5,8 @@ import { NumberPropertyEditor } from "./propertyEditors/NumberPropertyEditor";
5
5
  import { SelectPropertyEditor } from "./propertyEditors/SelectPropertyEditor";
6
6
  import { TextPropertyEditor } from './propertyEditors/TextPropertyEditor';
7
7
  import { BooleanPropertyEditor } from './propertyEditors/BooleanPropertyEditor';
8
+ import { ImageButtonListPropertyEditor } from './propertyEditors/ImageButtonListPropertyEditor';
9
+ import { ThicknessPropertyEditor } from "./propertyEditors/ThicknessPropertyEditor.js";
8
10
  export class DefaultEditorTypesService {
9
11
  getEditorForProperty(property) {
10
12
  if (property.createEditor)
@@ -38,6 +40,14 @@ export class DefaultEditorTypesService {
38
40
  {
39
41
  return new BooleanPropertyEditor(property);
40
42
  }
43
+ case "img-list":
44
+ {
45
+ return new ImageButtonListPropertyEditor(property);
46
+ }
47
+ case "thickness":
48
+ {
49
+ return new ThicknessPropertyEditor(property);
50
+ }
41
51
  case "css-length":
42
52
  case "thickness":
43
53
  case "string":
@@ -0,0 +1,8 @@
1
+ import { IProperty } from "../IProperty";
2
+ import { BasePropertyEditor } from './BasePropertyEditor';
3
+ import { ValueType } from "../ValueType";
4
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
5
+ export declare class ImageButtonListPropertyEditor extends BasePropertyEditor<ImageButtonListSelector> {
6
+ constructor(property: IProperty);
7
+ refreshValue(valueType: ValueType, value: any): void;
8
+ }
@@ -0,0 +1,40 @@
1
+ import { BasePropertyEditor } from './BasePropertyEditor';
2
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
3
+ import { PropertiesHelper } from "../services/PropertiesHelper.js";
4
+ import { assetsPath } from "../../../../Constants.js";
5
+ export class ImageButtonListPropertyEditor extends BasePropertyEditor {
6
+ constructor(property) {
7
+ super(property);
8
+ const selector = new ImageButtonListSelector();
9
+ selector.property = property.name;
10
+ selector.unsetValue = property.defaultValue;
11
+ const propName = PropertiesHelper.camelToDashCase(property.name);
12
+ if (property.type == 'enum') {
13
+ for (let v of property.enumValues) {
14
+ let button = document.createElement("button");
15
+ button.dataset.value = v[1];
16
+ let img = document.createElement("img");
17
+ img.title = v[1];
18
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v[1] + '-icon.svg';
19
+ button.appendChild(img);
20
+ selector.appendChild(button);
21
+ }
22
+ }
23
+ else {
24
+ for (let v of property.values) {
25
+ let button = document.createElement("button");
26
+ button.dataset.value = v;
27
+ let img = document.createElement("img");
28
+ img.title = v;
29
+ img.src = assetsPath + 'images/chromeDevtools/' + propName + '-' + v + '-icon.svg';
30
+ button.appendChild(img);
31
+ selector.appendChild(button);
32
+ }
33
+ }
34
+ selector.valueChanged.on((e) => this._valueChanged(e.newValue));
35
+ this.element = selector;
36
+ }
37
+ refreshValue(valueType, value) {
38
+ this.element.value = value;
39
+ }
40
+ }
@@ -0,0 +1,8 @@
1
+ import { IProperty } from "../IProperty";
2
+ import { BasePropertyEditor } from './BasePropertyEditor';
3
+ import { ValueType } from "../ValueType";
4
+ import { ImageButtonListSelector } from "../../../controls/ImageButtonListSelector.js";
5
+ export declare class ImageButtonListPropertyEditor extends BasePropertyEditor<ImageButtonListSelector> {
6
+ constructor(property: IProperty);
7
+ refreshValue(valueType: ValueType, value: any): void;
8
+ }