nodeskini 1.0.0 → 1.0.2

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 (534) hide show
  1. package/blocklySkini/archive/blocklyControleur.js +87 -0
  2. package/blocklySkini/archive/blocklySkini.js +84 -0
  3. package/blocklySkini/archive/blocklyhop.js +75 -0
  4. package/blocklySkini/archive/clientControleurBlocly.js +170 -0
  5. package/blocklySkini/archive/index.html +76 -0
  6. package/blocklySkini/archive/testHHsuspend.txt +89 -0
  7. package/blocklySkini/archive/testHHtrap.txt +262 -0
  8. package/blocklySkini/archive/testOrchestration.txt +177 -0
  9. package/blocklySkini/archive/testOrchestration.xml +447 -0
  10. package/blocklySkini/archive/testOrchestration2.xml +456 -0
  11. package/blocklySkini/blockly/README.md +77 -0
  12. package/blocklySkini/blockly/blockly.d.ts +21480 -0
  13. package/blocklySkini/blockly/blockly.js +25 -0
  14. package/blocklySkini/blockly/blockly.min.js +2188 -0
  15. package/blocklySkini/blockly/blockly_compressed.js +1455 -0
  16. package/blocklySkini/blockly/blockly_compressed.js.map +1 -0
  17. package/blocklySkini/blockly/blocks/colour.js +122 -0
  18. package/blocklySkini/blockly/blocks/lists.js +862 -0
  19. package/blocklySkini/blockly/blocks/logic.js +635 -0
  20. package/blocklySkini/blockly/blocks/loops.js +357 -0
  21. package/blocklySkini/blockly/blocks/math.js +566 -0
  22. package/blocklySkini/blockly/blocks/procedures.js +1072 -0
  23. package/blocklySkini/blockly/blocks/text.js +923 -0
  24. package/blocklySkini/blockly/blocks/variables.js +163 -0
  25. package/blocklySkini/blockly/blocks/variables_dynamic.js +180 -0
  26. package/blocklySkini/blockly/blocks.d.ts +15 -0
  27. package/blocklySkini/blockly/blocks.js +27 -0
  28. package/blocklySkini/blockly/blocks_compressed.js +182 -0
  29. package/blocklySkini/blockly/blocks_compressed.js.map +1 -0
  30. package/blocklySkini/blockly/browser.js +36 -0
  31. package/blocklySkini/blockly/core/block.js +2010 -0
  32. package/blocklySkini/blockly/core/block_animations.js +203 -0
  33. package/blocklySkini/blockly/core/block_drag_surface.js +212 -0
  34. package/blocklySkini/blockly/core/block_dragger.js +378 -0
  35. package/blocklySkini/blockly/core/block_events.js +548 -0
  36. package/blocklySkini/blockly/core/block_svg.js +1763 -0
  37. package/blocklySkini/blockly/core/blockly.js +674 -0
  38. package/blocklySkini/blockly/core/blocks.js +23 -0
  39. package/blocklySkini/blockly/core/bubble.js +880 -0
  40. package/blocklySkini/blockly/core/bubble_dragger.js +274 -0
  41. package/blocklySkini/blockly/core/comment.js +439 -0
  42. package/blocklySkini/blockly/core/components/component.js +554 -0
  43. package/blocklySkini/blockly/core/components/tree/basenode.js +895 -0
  44. package/blocklySkini/blockly/core/components/tree/treecontrol.js +332 -0
  45. package/blocklySkini/blockly/core/components/tree/treenode.js +172 -0
  46. package/blocklySkini/blockly/core/connection.js +682 -0
  47. package/blocklySkini/blockly/core/connection_checker.js +285 -0
  48. package/blocklySkini/blockly/core/connection_db.js +295 -0
  49. package/blocklySkini/blockly/core/constants.js +277 -0
  50. package/blocklySkini/blockly/core/contextmenu.js +307 -0
  51. package/blocklySkini/blockly/core/contextmenu_items.js +534 -0
  52. package/blocklySkini/blockly/core/contextmenu_registry.js +165 -0
  53. package/blocklySkini/blockly/core/css.js +549 -0
  54. package/blocklySkini/blockly/core/dropdowndiv.js +776 -0
  55. package/blocklySkini/blockly/core/events.js +387 -0
  56. package/blocklySkini/blockly/core/events_abstract.js +106 -0
  57. package/blocklySkini/blockly/core/extensions.js +450 -0
  58. package/blocklySkini/blockly/core/field.js +1162 -0
  59. package/blocklySkini/blockly/core/field_angle.js +562 -0
  60. package/blocklySkini/blockly/core/field_checkbox.js +220 -0
  61. package/blocklySkini/blockly/core/field_colour.js +664 -0
  62. package/blocklySkini/blockly/core/field_dropdown.js +760 -0
  63. package/blocklySkini/blockly/core/field_image.js +286 -0
  64. package/blocklySkini/blockly/core/field_label.js +130 -0
  65. package/blocklySkini/blockly/core/field_label_serializable.js +69 -0
  66. package/blocklySkini/blockly/core/field_multilineinput.js +299 -0
  67. package/blocklySkini/blockly/core/field_number.js +317 -0
  68. package/blocklySkini/blockly/core/field_registry.js +66 -0
  69. package/blocklySkini/blockly/core/field_textinput.js +616 -0
  70. package/blocklySkini/blockly/core/field_variable.js +463 -0
  71. package/blocklySkini/blockly/core/flyout_base.js +1071 -0
  72. package/blocklySkini/blockly/core/flyout_button.js +325 -0
  73. package/blocklySkini/blockly/core/flyout_dragger.js +76 -0
  74. package/blocklySkini/blockly/core/flyout_horizontal.js +388 -0
  75. package/blocklySkini/blockly/core/flyout_vertical.js +397 -0
  76. package/blocklySkini/blockly/core/generator.js +482 -0
  77. package/blocklySkini/blockly/core/gesture.js +993 -0
  78. package/blocklySkini/blockly/core/grid.js +222 -0
  79. package/blocklySkini/blockly/core/icon.js +206 -0
  80. package/blocklySkini/blockly/core/inject.js +487 -0
  81. package/blocklySkini/blockly/core/input.js +296 -0
  82. package/blocklySkini/blockly/core/insertion_marker_manager.js +700 -0
  83. package/blocklySkini/blockly/core/interfaces/i_accessibility.js +72 -0
  84. package/blocklySkini/blockly/core/interfaces/i_bounded_element.js +31 -0
  85. package/blocklySkini/blockly/core/interfaces/i_bubble.js +83 -0
  86. package/blocklySkini/blockly/core/interfaces/i_connection_checker.js +94 -0
  87. package/blocklySkini/blockly/core/interfaces/i_contextmenu.js +26 -0
  88. package/blocklySkini/blockly/core/interfaces/i_copyable.js +40 -0
  89. package/blocklySkini/blockly/core/interfaces/i_deletable.js +27 -0
  90. package/blocklySkini/blockly/core/interfaces/i_deletearea.js +28 -0
  91. package/blocklySkini/blockly/core/interfaces/i_flyout.js +178 -0
  92. package/blocklySkini/blockly/core/interfaces/i_movable.js +27 -0
  93. package/blocklySkini/blockly/core/interfaces/i_registrable.js +22 -0
  94. package/blocklySkini/blockly/core/interfaces/i_registrable_field.js +31 -0
  95. package/blocklySkini/blockly/core/interfaces/i_selectable.js +43 -0
  96. package/blocklySkini/blockly/core/interfaces/i_styleable.js +33 -0
  97. package/blocklySkini/blockly/core/interfaces/i_toolbox.js +131 -0
  98. package/blocklySkini/blockly/core/interfaces/i_toolbox_item.js +148 -0
  99. package/blocklySkini/blockly/core/keyboard_nav/action.js +26 -0
  100. package/blocklySkini/blockly/core/keyboard_nav/ast_node.js +684 -0
  101. package/blocklySkini/blockly/core/keyboard_nav/basic_cursor.js +208 -0
  102. package/blocklySkini/blockly/core/keyboard_nav/cursor.js +170 -0
  103. package/blocklySkini/blockly/core/keyboard_nav/flyout_cursor.js +106 -0
  104. package/blocklySkini/blockly/core/keyboard_nav/key_map.js +190 -0
  105. package/blocklySkini/blockly/core/keyboard_nav/marker.js +120 -0
  106. package/blocklySkini/blockly/core/keyboard_nav/navigation.js +1084 -0
  107. package/blocklySkini/blockly/core/keyboard_nav/tab_navigate_cursor.js +48 -0
  108. package/blocklySkini/blockly/core/marker_manager.js +183 -0
  109. package/blocklySkini/blockly/core/menu.js +465 -0
  110. package/blocklySkini/blockly/core/menuitem.js +280 -0
  111. package/blocklySkini/blockly/core/msg.js +31 -0
  112. package/blocklySkini/blockly/core/mutator.js +555 -0
  113. package/blocklySkini/blockly/core/names.js +186 -0
  114. package/blocklySkini/blockly/core/options.js +365 -0
  115. package/blocklySkini/blockly/core/procedures.js +404 -0
  116. package/blocklySkini/blockly/core/registry.js +265 -0
  117. package/blocklySkini/blockly/core/rendered_connection.js +565 -0
  118. package/blocklySkini/blockly/core/renderers/common/block_rendering.js +81 -0
  119. package/blocklySkini/blockly/core/renderers/common/constants.js +1256 -0
  120. package/blocklySkini/blockly/core/renderers/common/debugger.js +431 -0
  121. package/blocklySkini/blockly/core/renderers/common/drawer.js +468 -0
  122. package/blocklySkini/blockly/core/renderers/common/i_path_object.js +151 -0
  123. package/blocklySkini/blockly/core/renderers/common/info.js +775 -0
  124. package/blocklySkini/blockly/core/renderers/common/marker_svg.js +687 -0
  125. package/blocklySkini/blockly/core/renderers/common/path_object.js +279 -0
  126. package/blocklySkini/blockly/core/renderers/common/renderer.js +301 -0
  127. package/blocklySkini/blockly/core/renderers/geras/constants.js +64 -0
  128. package/blocklySkini/blockly/core/renderers/geras/drawer.js +205 -0
  129. package/blocklySkini/blockly/core/renderers/geras/highlight_constants.js +311 -0
  130. package/blocklySkini/blockly/core/renderers/geras/highlighter.js +256 -0
  131. package/blocklySkini/blockly/core/renderers/geras/info.js +483 -0
  132. package/blocklySkini/blockly/core/renderers/geras/measurables/inputs.js +67 -0
  133. package/blocklySkini/blockly/core/renderers/geras/path_object.js +177 -0
  134. package/blocklySkini/blockly/core/renderers/geras/renderer.js +138 -0
  135. package/blocklySkini/blockly/core/renderers/measurables/base.js +44 -0
  136. package/blocklySkini/blockly/core/renderers/measurables/connections.js +114 -0
  137. package/blocklySkini/blockly/core/renderers/measurables/inputs.js +160 -0
  138. package/blocklySkini/blockly/core/renderers/measurables/row_elements.js +185 -0
  139. package/blocklySkini/blockly/core/renderers/measurables/rows.js +532 -0
  140. package/blocklySkini/blockly/core/renderers/measurables/types.js +349 -0
  141. package/blocklySkini/blockly/core/renderers/minimalist/constants.js +29 -0
  142. package/blocklySkini/blockly/core/renderers/minimalist/drawer.js +32 -0
  143. package/blocklySkini/blockly/core/renderers/minimalist/info.js +45 -0
  144. package/blocklySkini/blockly/core/renderers/minimalist/renderer.js +70 -0
  145. package/blocklySkini/blockly/core/renderers/thrasos/info.js +338 -0
  146. package/blocklySkini/blockly/core/renderers/thrasos/renderer.js +45 -0
  147. package/blocklySkini/blockly/core/renderers/zelos/constants.js +1002 -0
  148. package/blocklySkini/blockly/core/renderers/zelos/drawer.js +233 -0
  149. package/blocklySkini/blockly/core/renderers/zelos/info.js +587 -0
  150. package/blocklySkini/blockly/core/renderers/zelos/marker_svg.js +148 -0
  151. package/blocklySkini/blockly/core/renderers/zelos/measurables/inputs.js +47 -0
  152. package/blocklySkini/blockly/core/renderers/zelos/measurables/row_elements.js +37 -0
  153. package/blocklySkini/blockly/core/renderers/zelos/measurables/rows.js +108 -0
  154. package/blocklySkini/blockly/core/renderers/zelos/path_object.js +244 -0
  155. package/blocklySkini/blockly/core/renderers/zelos/renderer.js +130 -0
  156. package/blocklySkini/blockly/core/requires.js +84 -0
  157. package/blocklySkini/blockly/core/scrollbar.js +880 -0
  158. package/blocklySkini/blockly/core/theme/classic.js +87 -0
  159. package/blocklySkini/blockly/core/theme/dark.js +33 -0
  160. package/blocklySkini/blockly/core/theme/deuteranopia.js +104 -0
  161. package/blocklySkini/blockly/core/theme/highcontrast.js +119 -0
  162. package/blocklySkini/blockly/core/theme/modern.js +108 -0
  163. package/blocklySkini/blockly/core/theme/tritanopia.js +103 -0
  164. package/blocklySkini/blockly/core/theme/zelos.js +106 -0
  165. package/blocklySkini/blockly/core/theme.js +236 -0
  166. package/blocklySkini/blockly/core/theme_manager.js +197 -0
  167. package/blocklySkini/blockly/core/toolbox/category.js +690 -0
  168. package/blocklySkini/blockly/core/toolbox/collapsible_category.js +294 -0
  169. package/blocklySkini/blockly/core/toolbox/separator.js +123 -0
  170. package/blocklySkini/blockly/core/toolbox/toolbox.js +984 -0
  171. package/blocklySkini/blockly/core/toolbox/toolbox_item.js +145 -0
  172. package/blocklySkini/blockly/core/toolbox.js +943 -0
  173. package/blocklySkini/blockly/core/tooltip.js +387 -0
  174. package/blocklySkini/blockly/core/touch.js +255 -0
  175. package/blocklySkini/blockly/core/touch_gesture.js +325 -0
  176. package/blocklySkini/blockly/core/trashcan.js +661 -0
  177. package/blocklySkini/blockly/core/ui_events.js +85 -0
  178. package/blocklySkini/blockly/core/utils/aria.js +167 -0
  179. package/blocklySkini/blockly/core/utils/colour.js +208 -0
  180. package/blocklySkini/blockly/core/utils/coordinate.js +125 -0
  181. package/blocklySkini/blockly/core/utils/deprecation.js +34 -0
  182. package/blocklySkini/blockly/core/utils/dom.js +391 -0
  183. package/blocklySkini/blockly/core/utils/global.js +37 -0
  184. package/blocklySkini/blockly/core/utils/idgenerator.js +33 -0
  185. package/blocklySkini/blockly/core/utils/keycodes.js +164 -0
  186. package/blocklySkini/blockly/core/utils/math.js +56 -0
  187. package/blocklySkini/blockly/core/utils/metrics.js +124 -0
  188. package/blocklySkini/blockly/core/utils/object.js +73 -0
  189. package/blocklySkini/blockly/core/utils/rect.js +54 -0
  190. package/blocklySkini/blockly/core/utils/size.js +58 -0
  191. package/blocklySkini/blockly/core/utils/string.js +284 -0
  192. package/blocklySkini/blockly/core/utils/style.js +281 -0
  193. package/blocklySkini/blockly/core/utils/svg.js +181 -0
  194. package/blocklySkini/blockly/core/utils/svg_paths.js +142 -0
  195. package/blocklySkini/blockly/core/utils/toolbox.js +401 -0
  196. package/blocklySkini/blockly/core/utils/useragent.js +110 -0
  197. package/blocklySkini/blockly/core/utils/xml.js +79 -0
  198. package/blocklySkini/blockly/core/utils.js +652 -0
  199. package/blocklySkini/blockly/core/variable_events.js +248 -0
  200. package/blocklySkini/blockly/core/variable_map.js +414 -0
  201. package/blocklySkini/blockly/core/variable_model.js +95 -0
  202. package/blocklySkini/blockly/core/variables.js +571 -0
  203. package/blocklySkini/blockly/core/variables_dynamic.js +100 -0
  204. package/blocklySkini/blockly/core/warning.js +200 -0
  205. package/blocklySkini/blockly/core/widgetdiv.js +241 -0
  206. package/blocklySkini/blockly/core/workspace.js +786 -0
  207. package/blocklySkini/blockly/core/workspace_audio.js +153 -0
  208. package/blocklySkini/blockly/core/workspace_comment.js +373 -0
  209. package/blocklySkini/blockly/core/workspace_comment_render_svg.js +461 -0
  210. package/blocklySkini/blockly/core/workspace_comment_svg.js +701 -0
  211. package/blocklySkini/blockly/core/workspace_drag_surface_svg.js +176 -0
  212. package/blocklySkini/blockly/core/workspace_dragger.js +85 -0
  213. package/blocklySkini/blockly/core/workspace_events.js +93 -0
  214. package/blocklySkini/blockly/core/workspace_svg.js +2661 -0
  215. package/blocklySkini/blockly/core/ws_comment_events.js +417 -0
  216. package/blocklySkini/blockly/core/xml.js +827 -0
  217. package/blocklySkini/blockly/core/zoom_controls.js +449 -0
  218. package/blocklySkini/blockly/core-browser.js +34 -0
  219. package/blocklySkini/blockly/core.d.ts +15 -0
  220. package/blocklySkini/blockly/core.js +38 -0
  221. package/blocklySkini/blockly/dart.d.ts +15 -0
  222. package/blocklySkini/blockly/dart.js +27 -0
  223. package/blocklySkini/blockly/dart_compressed.js +114 -0
  224. package/blocklySkini/blockly/dart_compressed.js.map +1 -0
  225. package/blocklySkini/blockly/generators/dart/colour.js +114 -0
  226. package/blocklySkini/blockly/generators/dart/lists.js +447 -0
  227. package/blocklySkini/blockly/generators/dart/logic.js +127 -0
  228. package/blocklySkini/blockly/generators/dart/loops.js +169 -0
  229. package/blocklySkini/blockly/generators/dart/math.js +485 -0
  230. package/blocklySkini/blockly/generators/dart/procedures.js +111 -0
  231. package/blocklySkini/blockly/generators/dart/text.js +339 -0
  232. package/blocklySkini/blockly/generators/dart/variables.js +32 -0
  233. package/blocklySkini/blockly/generators/dart/variables_dynamic.js +21 -0
  234. package/blocklySkini/blockly/generators/dart.js +290 -0
  235. package/blocklySkini/blockly/generators/javascript/colour.js +89 -0
  236. package/blocklySkini/blockly/generators/javascript/lists.js +388 -0
  237. package/blocklySkini/blockly/generators/javascript/logic.js +129 -0
  238. package/blocklySkini/blockly/generators/javascript/loops.js +184 -0
  239. package/blocklySkini/blockly/generators/javascript/math.js +409 -0
  240. package/blocklySkini/blockly/generators/javascript/procedures.js +113 -0
  241. package/blocklySkini/blockly/generators/javascript/text.js +367 -0
  242. package/blocklySkini/blockly/generators/javascript/variables.js +32 -0
  243. package/blocklySkini/blockly/generators/javascript/variables_dynamic.js +23 -0
  244. package/blocklySkini/blockly/generators/javascript.js +317 -0
  245. package/blocklySkini/blockly/generators/lua/colour.js +76 -0
  246. package/blocklySkini/blockly/generators/lua/lists.js +368 -0
  247. package/blocklySkini/blockly/generators/lua/logic.js +127 -0
  248. package/blocklySkini/blockly/generators/lua/loops.js +173 -0
  249. package/blocklySkini/blockly/generators/lua/math.js +423 -0
  250. package/blocklySkini/blockly/generators/lua/procedures.js +113 -0
  251. package/blocklySkini/blockly/generators/lua/text.js +353 -0
  252. package/blocklySkini/blockly/generators/lua/variables.js +32 -0
  253. package/blocklySkini/blockly/generators/lua/variables_dynamic.js +21 -0
  254. package/blocklySkini/blockly/generators/lua.js +198 -0
  255. package/blocklySkini/blockly/generators/php/colour.js +91 -0
  256. package/blocklySkini/blockly/generators/php/lists.js +498 -0
  257. package/blocklySkini/blockly/generators/php/logic.js +128 -0
  258. package/blocklySkini/blockly/generators/php/loops.js +170 -0
  259. package/blocklySkini/blockly/generators/php/math.js +370 -0
  260. package/blocklySkini/blockly/generators/php/procedures.js +132 -0
  261. package/blocklySkini/blockly/generators/php/text.js +271 -0
  262. package/blocklySkini/blockly/generators/php/variables.js +32 -0
  263. package/blocklySkini/blockly/generators/php/variables_dynamic.js +21 -0
  264. package/blocklySkini/blockly/generators/php.js +318 -0
  265. package/blocklySkini/blockly/generators/python/colour.js +72 -0
  266. package/blocklySkini/blockly/generators/python/lists.js +349 -0
  267. package/blocklySkini/blockly/generators/python/logic.js +127 -0
  268. package/blocklySkini/blockly/generators/python/loops.js +214 -0
  269. package/blocklySkini/blockly/generators/python/math.js +385 -0
  270. package/blocklySkini/blockly/generators/python/procedures.js +134 -0
  271. package/blocklySkini/blockly/generators/python/text.js +293 -0
  272. package/blocklySkini/blockly/generators/python/variables.js +32 -0
  273. package/blocklySkini/blockly/generators/python/variables_dynamic.js +21 -0
  274. package/blocklySkini/blockly/generators/python.js +322 -0
  275. package/blocklySkini/blockly/index.d.ts +22 -0
  276. package/blocklySkini/blockly/index.js +24 -0
  277. package/blocklySkini/blockly/javascript.d.ts +15 -0
  278. package/blocklySkini/blockly/javascript.js +27 -0
  279. package/blocklySkini/blockly/javascript_compressed.js +115 -0
  280. package/blocklySkini/blockly/javascript_compressed.js.map +1 -0
  281. package/blocklySkini/blockly/lua.d.ts +15 -0
  282. package/blocklySkini/blockly/lua.js +27 -0
  283. package/blocklySkini/blockly/lua_compressed.js +94 -0
  284. package/blocklySkini/blockly/lua_compressed.js.map +1 -0
  285. package/blocklySkini/blockly/media/1x1.gif +0 -0
  286. package/blocklySkini/blockly/media/click.mp3 +0 -0
  287. package/blocklySkini/blockly/media/click.ogg +0 -0
  288. package/blocklySkini/blockly/media/click.wav +0 -0
  289. package/blocklySkini/blockly/media/delete.mp3 +0 -0
  290. package/blocklySkini/blockly/media/delete.ogg +0 -0
  291. package/blocklySkini/blockly/media/delete.wav +0 -0
  292. package/blocklySkini/blockly/media/disconnect.mp3 +0 -0
  293. package/blocklySkini/blockly/media/disconnect.ogg +0 -0
  294. package/blocklySkini/blockly/media/disconnect.wav +0 -0
  295. package/blocklySkini/blockly/media/dropdown-arrow.svg +1 -0
  296. package/blocklySkini/blockly/media/handclosed.cur +0 -0
  297. package/blocklySkini/blockly/media/handdelete.cur +0 -0
  298. package/blocklySkini/blockly/media/handopen.cur +0 -0
  299. package/blocklySkini/blockly/media/pilcrow.png +0 -0
  300. package/blocklySkini/blockly/media/quote0.png +0 -0
  301. package/blocklySkini/blockly/media/quote1.png +0 -0
  302. package/blocklySkini/blockly/media/sprites.png +0 -0
  303. package/blocklySkini/blockly/media/sprites.svg +74 -0
  304. package/blocklySkini/blockly/msg/ab.d.ts +16 -0
  305. package/blocklySkini/blockly/msg/ab.js +447 -0
  306. package/blocklySkini/blockly/msg/ar.d.ts +16 -0
  307. package/blocklySkini/blockly/msg/ar.js +447 -0
  308. package/blocklySkini/blockly/msg/az.d.ts +16 -0
  309. package/blocklySkini/blockly/msg/az.js +447 -0
  310. package/blocklySkini/blockly/msg/ba.d.ts +16 -0
  311. package/blocklySkini/blockly/msg/ba.js +447 -0
  312. package/blocklySkini/blockly/msg/bcc.d.ts +16 -0
  313. package/blocklySkini/blockly/msg/bcc.js +447 -0
  314. package/blocklySkini/blockly/msg/be-tarask.d.ts +16 -0
  315. package/blocklySkini/blockly/msg/be-tarask.js +447 -0
  316. package/blocklySkini/blockly/msg/be.d.ts +16 -0
  317. package/blocklySkini/blockly/msg/be.js +447 -0
  318. package/blocklySkini/blockly/msg/bg.d.ts +16 -0
  319. package/blocklySkini/blockly/msg/bg.js +447 -0
  320. package/blocklySkini/blockly/msg/bn.d.ts +16 -0
  321. package/blocklySkini/blockly/msg/bn.js +447 -0
  322. package/blocklySkini/blockly/msg/br.d.ts +16 -0
  323. package/blocklySkini/blockly/msg/br.js +447 -0
  324. package/blocklySkini/blockly/msg/ca.d.ts +16 -0
  325. package/blocklySkini/blockly/msg/ca.js +447 -0
  326. package/blocklySkini/blockly/msg/constants.d.ts +16 -0
  327. package/blocklySkini/blockly/msg/cs.d.ts +16 -0
  328. package/blocklySkini/blockly/msg/cs.js +447 -0
  329. package/blocklySkini/blockly/msg/da.d.ts +16 -0
  330. package/blocklySkini/blockly/msg/da.js +447 -0
  331. package/blocklySkini/blockly/msg/de.d.ts +16 -0
  332. package/blocklySkini/blockly/msg/de.js +447 -0
  333. package/blocklySkini/blockly/msg/diq.d.ts +16 -0
  334. package/blocklySkini/blockly/msg/diq.js +447 -0
  335. package/blocklySkini/blockly/msg/dty.d.ts +16 -0
  336. package/blocklySkini/blockly/msg/dty.js +447 -0
  337. package/blocklySkini/blockly/msg/ee.d.ts +16 -0
  338. package/blocklySkini/blockly/msg/ee.js +447 -0
  339. package/blocklySkini/blockly/msg/el.d.ts +16 -0
  340. package/blocklySkini/blockly/msg/el.js +447 -0
  341. package/blocklySkini/blockly/msg/en-gb.d.ts +16 -0
  342. package/blocklySkini/blockly/msg/en-gb.js +447 -0
  343. package/blocklySkini/blockly/msg/en.d.ts +16 -0
  344. package/blocklySkini/blockly/msg/en.js +447 -0
  345. package/blocklySkini/blockly/msg/eo.d.ts +16 -0
  346. package/blocklySkini/blockly/msg/eo.js +447 -0
  347. package/blocklySkini/blockly/msg/es.d.ts +16 -0
  348. package/blocklySkini/blockly/msg/es.js +447 -0
  349. package/blocklySkini/blockly/msg/et.d.ts +16 -0
  350. package/blocklySkini/blockly/msg/et.js +447 -0
  351. package/blocklySkini/blockly/msg/eu.d.ts +16 -0
  352. package/blocklySkini/blockly/msg/eu.js +447 -0
  353. package/blocklySkini/blockly/msg/fa.d.ts +16 -0
  354. package/blocklySkini/blockly/msg/fa.js +447 -0
  355. package/blocklySkini/blockly/msg/fi.d.ts +16 -0
  356. package/blocklySkini/blockly/msg/fi.js +447 -0
  357. package/blocklySkini/blockly/msg/fr.d.ts +16 -0
  358. package/blocklySkini/blockly/msg/fr.js +447 -0
  359. package/blocklySkini/blockly/msg/gl.d.ts +16 -0
  360. package/blocklySkini/blockly/msg/gl.js +447 -0
  361. package/blocklySkini/blockly/msg/gor.d.ts +16 -0
  362. package/blocklySkini/blockly/msg/gor.js +447 -0
  363. package/blocklySkini/blockly/msg/ha.d.ts +16 -0
  364. package/blocklySkini/blockly/msg/ha.js +447 -0
  365. package/blocklySkini/blockly/msg/he.d.ts +16 -0
  366. package/blocklySkini/blockly/msg/he.js +447 -0
  367. package/blocklySkini/blockly/msg/hi.d.ts +16 -0
  368. package/blocklySkini/blockly/msg/hi.js +447 -0
  369. package/blocklySkini/blockly/msg/hrx.d.ts +16 -0
  370. package/blocklySkini/blockly/msg/hrx.js +447 -0
  371. package/blocklySkini/blockly/msg/hu.d.ts +16 -0
  372. package/blocklySkini/blockly/msg/hu.js +447 -0
  373. package/blocklySkini/blockly/msg/hy.d.ts +16 -0
  374. package/blocklySkini/blockly/msg/hy.js +447 -0
  375. package/blocklySkini/blockly/msg/ia.d.ts +16 -0
  376. package/blocklySkini/blockly/msg/ia.js +447 -0
  377. package/blocklySkini/blockly/msg/id.d.ts +16 -0
  378. package/blocklySkini/blockly/msg/id.js +447 -0
  379. package/blocklySkini/blockly/msg/ig.d.ts +16 -0
  380. package/blocklySkini/blockly/msg/ig.js +447 -0
  381. package/blocklySkini/blockly/msg/is.d.ts +16 -0
  382. package/blocklySkini/blockly/msg/is.js +447 -0
  383. package/blocklySkini/blockly/msg/it.d.ts +16 -0
  384. package/blocklySkini/blockly/msg/it.js +447 -0
  385. package/blocklySkini/blockly/msg/ja.d.ts +16 -0
  386. package/blocklySkini/blockly/msg/ja.js +447 -0
  387. package/blocklySkini/blockly/msg/kab.d.ts +16 -0
  388. package/blocklySkini/blockly/msg/kab.js +447 -0
  389. package/blocklySkini/blockly/msg/kn.d.ts +16 -0
  390. package/blocklySkini/blockly/msg/kn.js +447 -0
  391. package/blocklySkini/blockly/msg/ko.d.ts +16 -0
  392. package/blocklySkini/blockly/msg/ko.js +447 -0
  393. package/blocklySkini/blockly/msg/lb.d.ts +16 -0
  394. package/blocklySkini/blockly/msg/lb.js +447 -0
  395. package/blocklySkini/blockly/msg/lki.d.ts +16 -0
  396. package/blocklySkini/blockly/msg/lki.js +447 -0
  397. package/blocklySkini/blockly/msg/lo.d.ts +16 -0
  398. package/blocklySkini/blockly/msg/lo.js +447 -0
  399. package/blocklySkini/blockly/msg/lrc.d.ts +16 -0
  400. package/blocklySkini/blockly/msg/lrc.js +447 -0
  401. package/blocklySkini/blockly/msg/lt.d.ts +16 -0
  402. package/blocklySkini/blockly/msg/lt.js +447 -0
  403. package/blocklySkini/blockly/msg/lv.d.ts +16 -0
  404. package/blocklySkini/blockly/msg/lv.js +447 -0
  405. package/blocklySkini/blockly/msg/mk.d.ts +16 -0
  406. package/blocklySkini/blockly/msg/mk.js +447 -0
  407. package/blocklySkini/blockly/msg/mnw.d.ts +16 -0
  408. package/blocklySkini/blockly/msg/mnw.js +447 -0
  409. package/blocklySkini/blockly/msg/ms.d.ts +16 -0
  410. package/blocklySkini/blockly/msg/ms.js +447 -0
  411. package/blocklySkini/blockly/msg/msg.d.ts +444 -0
  412. package/blocklySkini/blockly/msg/nb.d.ts +16 -0
  413. package/blocklySkini/blockly/msg/nb.js +447 -0
  414. package/blocklySkini/blockly/msg/nl.d.ts +16 -0
  415. package/blocklySkini/blockly/msg/nl.js +447 -0
  416. package/blocklySkini/blockly/msg/oc.d.ts +16 -0
  417. package/blocklySkini/blockly/msg/oc.js +447 -0
  418. package/blocklySkini/blockly/msg/pl.d.ts +16 -0
  419. package/blocklySkini/blockly/msg/pl.js +447 -0
  420. package/blocklySkini/blockly/msg/pms.d.ts +16 -0
  421. package/blocklySkini/blockly/msg/pms.js +447 -0
  422. package/blocklySkini/blockly/msg/pt-br.d.ts +16 -0
  423. package/blocklySkini/blockly/msg/pt-br.js +447 -0
  424. package/blocklySkini/blockly/msg/pt.d.ts +16 -0
  425. package/blocklySkini/blockly/msg/pt.js +447 -0
  426. package/blocklySkini/blockly/msg/qqq.d.ts +16 -0
  427. package/blocklySkini/blockly/msg/ro.d.ts +16 -0
  428. package/blocklySkini/blockly/msg/ro.js +447 -0
  429. package/blocklySkini/blockly/msg/ru.d.ts +16 -0
  430. package/blocklySkini/blockly/msg/ru.js +447 -0
  431. package/blocklySkini/blockly/msg/sc.d.ts +16 -0
  432. package/blocklySkini/blockly/msg/sc.js +447 -0
  433. package/blocklySkini/blockly/msg/sd.d.ts +16 -0
  434. package/blocklySkini/blockly/msg/sd.js +447 -0
  435. package/blocklySkini/blockly/msg/shn.d.ts +16 -0
  436. package/blocklySkini/blockly/msg/shn.js +447 -0
  437. package/blocklySkini/blockly/msg/sk.d.ts +16 -0
  438. package/blocklySkini/blockly/msg/sk.js +447 -0
  439. package/blocklySkini/blockly/msg/skr-arab.d.ts +16 -0
  440. package/blocklySkini/blockly/msg/skr-arab.js +447 -0
  441. package/blocklySkini/blockly/msg/sl.d.ts +16 -0
  442. package/blocklySkini/blockly/msg/sl.js +447 -0
  443. package/blocklySkini/blockly/msg/sq.d.ts +16 -0
  444. package/blocklySkini/blockly/msg/sq.js +447 -0
  445. package/blocklySkini/blockly/msg/sr-latn.d.ts +16 -0
  446. package/blocklySkini/blockly/msg/sr-latn.js +447 -0
  447. package/blocklySkini/blockly/msg/sr.d.ts +16 -0
  448. package/blocklySkini/blockly/msg/sr.js +447 -0
  449. package/blocklySkini/blockly/msg/sv.d.ts +16 -0
  450. package/blocklySkini/blockly/msg/sv.js +447 -0
  451. package/blocklySkini/blockly/msg/synonyms.d.ts +16 -0
  452. package/blocklySkini/blockly/msg/ta.d.ts +16 -0
  453. package/blocklySkini/blockly/msg/ta.js +447 -0
  454. package/blocklySkini/blockly/msg/tcy.d.ts +16 -0
  455. package/blocklySkini/blockly/msg/tcy.js +447 -0
  456. package/blocklySkini/blockly/msg/te.d.ts +16 -0
  457. package/blocklySkini/blockly/msg/te.js +447 -0
  458. package/blocklySkini/blockly/msg/th.d.ts +16 -0
  459. package/blocklySkini/blockly/msg/th.js +447 -0
  460. package/blocklySkini/blockly/msg/tl.d.ts +16 -0
  461. package/blocklySkini/blockly/msg/tl.js +447 -0
  462. package/blocklySkini/blockly/msg/tlh.d.ts +16 -0
  463. package/blocklySkini/blockly/msg/tlh.js +447 -0
  464. package/blocklySkini/blockly/msg/tr.d.ts +16 -0
  465. package/blocklySkini/blockly/msg/tr.js +447 -0
  466. package/blocklySkini/blockly/msg/ug-arab.d.ts +16 -0
  467. package/blocklySkini/blockly/msg/ug-arab.js +447 -0
  468. package/blocklySkini/blockly/msg/uk.d.ts +16 -0
  469. package/blocklySkini/blockly/msg/uk.js +447 -0
  470. package/blocklySkini/blockly/msg/ur.d.ts +16 -0
  471. package/blocklySkini/blockly/msg/ur.js +447 -0
  472. package/blocklySkini/blockly/msg/vi.d.ts +16 -0
  473. package/blocklySkini/blockly/msg/vi.js +447 -0
  474. package/blocklySkini/blockly/msg/xmf.d.ts +16 -0
  475. package/blocklySkini/blockly/msg/xmf.js +447 -0
  476. package/blocklySkini/blockly/msg/yo.d.ts +16 -0
  477. package/blocklySkini/blockly/msg/yo.js +447 -0
  478. package/blocklySkini/blockly/msg/zh-hans.d.ts +16 -0
  479. package/blocklySkini/blockly/msg/zh-hans.js +447 -0
  480. package/blocklySkini/blockly/msg/zh-hant.d.ts +16 -0
  481. package/blocklySkini/blockly/msg/zh-hant.js +447 -0
  482. package/blocklySkini/blockly/node.js +35 -0
  483. package/blocklySkini/blockly/package.json +84 -0
  484. package/blocklySkini/blockly/php.d.ts +15 -0
  485. package/blocklySkini/blockly/php.js +27 -0
  486. package/blocklySkini/blockly/php_compressed.js +103 -0
  487. package/blocklySkini/blockly/php_compressed.js.map +1 -0
  488. package/blocklySkini/blockly/python.d.ts +15 -0
  489. package/blocklySkini/blockly/python.js +27 -0
  490. package/blocklySkini/blockly/python_compressed.js +98 -0
  491. package/blocklySkini/blockly/python_compressed.js.map +1 -0
  492. package/blocklySkini/blocklySkini.html +81 -0
  493. package/blocklySkini/orchestrations/.xml +1 -0
  494. package/blocklySkini/orchestrations/BluesSkini-1.xml +231 -0
  495. package/blocklySkini/orchestrations/BluesSkini-2.xml +741 -0
  496. package/blocklySkini/orchestrations/BluesSkini-3.xml +731 -0
  497. package/blocklySkini/orchestrations/BluesSkini-4.xml +695 -0
  498. package/blocklySkini/orchestrations/BluesSkini-5.xml +731 -0
  499. package/blocklySkini/orchestrations/BluesSkini.xml +704 -0
  500. package/blocklySkini/orchestrations/FunkBitwig-1.xml +778 -0
  501. package/blocklySkini/orchestrations/FunkBitwig-2.xml +471 -0
  502. package/blocklySkini/orchestrations/JouerLeBonInstrument1-1.xml +784 -0
  503. package/blocklySkini/orchestrations/MajeurMineur-1.xml +638 -0
  504. package/blocklySkini/orchestrations/Opus5-3 - Copie.xml +1041 -0
  505. package/blocklySkini/orchestrations/Opus5-3.xml +1128 -0
  506. package/blocklySkini/orchestrations/Quatuor1-1.xml +357 -0
  507. package/blocklySkini/orchestrations/TechnoBitwig-1.xml +221 -0
  508. package/blocklySkini/orchestrations/TestBlockly.xml +497 -0
  509. package/blocklySkini/orchestrations/TestBlockly1.xml +500 -0
  510. package/blocklySkini/orchestrations/TestBlockly2.xml +792 -0
  511. package/blocklySkini/orchestrations/TestBlockly3-1.xml +1182 -0
  512. package/blocklySkini/orchestrations/TestBlockly3.xml +1251 -0
  513. package/blocklySkini/orchestrations/TestFunction.xml +143 -0
  514. package/blocklySkini/orchestrations/TestIf.xml +80 -0
  515. package/blocklySkini/orchestrations/TestLoop.xml +127 -0
  516. package/blocklySkini/orchestrations/TestOrchestration2.xml +460 -0
  517. package/blocklySkini/orchestrations/TestPrint.xml +70 -0
  518. package/blocklySkini/orchestrations/TestSubMod.xml +81 -0
  519. package/blocklySkini/orchestrations/Testlogic.xml +113 -0
  520. package/blocklySkini/orchestrations/TrouveLaPercu-1.xml +813 -0
  521. package/blocklySkini/orchestrations/TrouveLaPercu-2.xml +813 -0
  522. package/blocklySkini/orchestrations/bar.xml +496 -0
  523. package/blocklySkini/orchestrations/bar2.xml +496 -0
  524. package/blocklySkini/orchestrations/foo.xml +500 -0
  525. package/blocklySkini/orchestrations/opus5Blockly - Copie.xml +496 -0
  526. package/blocklySkini/orchestrations/opus5Blockly-3.xml +868 -0
  527. package/blocklySkini/orchestrations/opus5Blockly.xml +496 -0
  528. package/blocklySkini/orchestrations/testOrchestration3.xml +483 -0
  529. package/blocklySkini/orchestrations/testOrchestration4.xml +487 -0
  530. package/blocklySkini/scripts/hiphop_blocks.js +6104 -0
  531. package/blocklySkini/scripts/main2.js +801 -0
  532. package/blocklySkini/styles/index.css +320 -0
  533. package/blocklySkini/styles/material.css +11552 -0
  534. package/package.json +4 -3
@@ -0,0 +1,1002 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview An object that provides constants for rendering blocks in Zelos
9
+ * mode.
10
+ * @author fenichel@google.com (Rachel Fenichel)
11
+ */
12
+ 'use strict';
13
+
14
+ goog.provide('Blockly.zelos.ConstantProvider');
15
+
16
+ goog.require('Blockly.blockRendering.ConstantProvider');
17
+ goog.require('Blockly.utils.dom');
18
+ goog.require('Blockly.utils.object');
19
+ goog.require('Blockly.utils.Svg');
20
+ goog.require('Blockly.utils.svgPaths');
21
+
22
+
23
+ /**
24
+ * An object that provides constants for rendering blocks in Zelos mode.
25
+ * @constructor
26
+ * @package
27
+ * @extends {Blockly.blockRendering.ConstantProvider}
28
+ */
29
+ Blockly.zelos.ConstantProvider = function() {
30
+ Blockly.zelos.ConstantProvider.superClass_.constructor.call(this);
31
+
32
+ this.GRID_UNIT = 4;
33
+
34
+ /**
35
+ * @override
36
+ */
37
+ this.SMALL_PADDING = this.GRID_UNIT;
38
+
39
+ /**
40
+ * @override
41
+ */
42
+ this.MEDIUM_PADDING = 2 * this.GRID_UNIT;
43
+
44
+ /**
45
+ * @override
46
+ */
47
+ this.MEDIUM_LARGE_PADDING = 3 * this.GRID_UNIT;
48
+
49
+ /**
50
+ * @override
51
+ */
52
+ this.LARGE_PADDING = 4 * this.GRID_UNIT;
53
+
54
+ /**
55
+ * @override
56
+ */
57
+ this.CORNER_RADIUS = 1 * this.GRID_UNIT;
58
+
59
+ /**
60
+ * @override
61
+ */
62
+ this.NOTCH_WIDTH = 9 * this.GRID_UNIT;
63
+
64
+ /**
65
+ * @override
66
+ */
67
+ this.NOTCH_HEIGHT = 2 * this.GRID_UNIT;
68
+
69
+ /**
70
+ * @override
71
+ */
72
+ this.NOTCH_OFFSET_LEFT = 3 * this.GRID_UNIT;
73
+
74
+ /**
75
+ * @override
76
+ */
77
+ this.STATEMENT_INPUT_NOTCH_OFFSET = this.NOTCH_OFFSET_LEFT;
78
+
79
+ /**
80
+ * @override
81
+ */
82
+ this.MIN_BLOCK_WIDTH = 2 * this.GRID_UNIT;
83
+
84
+ /**
85
+ * @override
86
+ */
87
+ this.MIN_BLOCK_HEIGHT = 12 * this.GRID_UNIT;
88
+
89
+ /**
90
+ * @override
91
+ */
92
+ this.EMPTY_STATEMENT_INPUT_HEIGHT = 6 * this.GRID_UNIT;
93
+
94
+ /**
95
+ * @override
96
+ */
97
+ this.TAB_OFFSET_FROM_TOP = 0;
98
+
99
+ /**
100
+ * @override
101
+ */
102
+ this.TOP_ROW_MIN_HEIGHT = this.CORNER_RADIUS;
103
+
104
+ /**
105
+ * @override
106
+ */
107
+ this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT = this.LARGE_PADDING;
108
+
109
+ /**
110
+ * @override
111
+ */
112
+ this.BOTTOM_ROW_MIN_HEIGHT = this.CORNER_RADIUS;
113
+
114
+ /**
115
+ * @override
116
+ */
117
+ this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT = 6 * this.GRID_UNIT;
118
+
119
+ /**
120
+ * @override
121
+ */
122
+ this.STATEMENT_BOTTOM_SPACER = -this.NOTCH_HEIGHT;
123
+
124
+ /**
125
+ * Minimum statement input spacer width.
126
+ * @type {number}
127
+ */
128
+ this.STATEMENT_INPUT_SPACER_MIN_WIDTH = 40 * this.GRID_UNIT;
129
+
130
+ /**
131
+ * @override
132
+ */
133
+ this.STATEMENT_INPUT_PADDING_LEFT = 4 * this.GRID_UNIT;
134
+
135
+ /**
136
+ * @override
137
+ */
138
+ this.EMPTY_INLINE_INPUT_PADDING = 4 * this.GRID_UNIT;
139
+
140
+ /**
141
+ * @override
142
+ */
143
+ this.EMPTY_INLINE_INPUT_HEIGHT = 8 * this.GRID_UNIT;
144
+
145
+ /**
146
+ * @override
147
+ */
148
+ this.DUMMY_INPUT_MIN_HEIGHT = 8 * this.GRID_UNIT;
149
+
150
+ /**
151
+ * @override
152
+ */
153
+ this.DUMMY_INPUT_SHADOW_MIN_HEIGHT = 6 * this.GRID_UNIT;
154
+
155
+ /**
156
+ * @override
157
+ */
158
+ this.CURSOR_WS_WIDTH = 20 * this.GRID_UNIT;
159
+
160
+ /**
161
+ * @override
162
+ */
163
+ this.CURSOR_COLOUR = '#ffa200';
164
+
165
+ /**
166
+ * Radius of the cursor for input and output connections.
167
+ * @type {number}
168
+ * @package
169
+ */
170
+ this.CURSOR_RADIUS = 5;
171
+
172
+ /**
173
+ * @override
174
+ */
175
+ this.JAGGED_TEETH_HEIGHT = 0;
176
+
177
+ /**
178
+ * @override
179
+ */
180
+ this.JAGGED_TEETH_WIDTH = 0;
181
+
182
+ /**
183
+ * @override
184
+ */
185
+ this.START_HAT_HEIGHT = 22;
186
+
187
+ /**
188
+ * @override
189
+ */
190
+ this.START_HAT_WIDTH = 96;
191
+
192
+ /**
193
+ * @enum {number}
194
+ * @override
195
+ */
196
+ this.SHAPES = {
197
+ HEXAGONAL: 1,
198
+ ROUND: 2,
199
+ SQUARE: 3,
200
+ PUZZLE: 4,
201
+ NOTCH: 5
202
+ };
203
+
204
+ /**
205
+ * Map of output/input shapes and the amount they should cause a block to be
206
+ * padded. Outer key is the outer shape, inner key is the inner shape.
207
+ * When a block with the outer shape contains an input block with the inner
208
+ * shape on its left or right edge, the block elements are aligned such that
209
+ * the padding specified is reached.
210
+ * @package
211
+ */
212
+ this.SHAPE_IN_SHAPE_PADDING = {
213
+ 1: { // Outer shape: hexagon.
214
+ 0: 5 * this.GRID_UNIT, // Field in hexagon.
215
+ 1: 2 * this.GRID_UNIT, // Hexagon in hexagon.
216
+ 2: 5 * this.GRID_UNIT, // Round in hexagon.
217
+ 3: 5 * this.GRID_UNIT // Square in hexagon.
218
+ },
219
+ 2: { // Outer shape: round.
220
+ 0: 3 * this.GRID_UNIT, // Field in round.
221
+ 1: 3 * this.GRID_UNIT, // Hexagon in round.
222
+ 2: 1 * this.GRID_UNIT, // Round in round.
223
+ 3: 2 * this.GRID_UNIT // Square in round.
224
+ },
225
+ 3: { // Outer shape: square.
226
+ 0: 2 * this.GRID_UNIT, // Field in square.
227
+ 1: 2 * this.GRID_UNIT, // Hexagon in square.
228
+ 2: 2 * this.GRID_UNIT, // Round in square.
229
+ 3: 2 * this.GRID_UNIT // Square in square.
230
+ }
231
+ };
232
+
233
+ /**
234
+ * @override
235
+ */
236
+ this.FULL_BLOCK_FIELDS = true;
237
+
238
+ /**
239
+ * @override
240
+ */
241
+ this.FIELD_TEXT_FONTSIZE = 3 * this.GRID_UNIT;
242
+
243
+ /**
244
+ * @override
245
+ */
246
+ this.FIELD_TEXT_FONTWEIGHT = 'bold';
247
+
248
+ /**
249
+ * @override
250
+ */
251
+ this.FIELD_TEXT_FONTFAMILY =
252
+ '"Helvetica Neue", "Segoe UI", Helvetica, sans-serif';
253
+
254
+ /**
255
+ * @override
256
+ */
257
+ this.FIELD_BORDER_RECT_RADIUS = this.CORNER_RADIUS;
258
+
259
+ /**
260
+ * @override
261
+ */
262
+ this.FIELD_BORDER_RECT_X_PADDING = 2 * this.GRID_UNIT;
263
+
264
+ /**
265
+ * @override
266
+ */
267
+ this.FIELD_BORDER_RECT_Y_PADDING = 1.625 * this.GRID_UNIT;
268
+
269
+ /**
270
+ * @override
271
+ */
272
+ this.FIELD_BORDER_RECT_HEIGHT = 8 * this.GRID_UNIT;
273
+
274
+ /**
275
+ * @override
276
+ */
277
+ this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT = 8 * this.GRID_UNIT;
278
+
279
+ /**
280
+ * @override
281
+ */
282
+ this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW = true;
283
+
284
+ /**
285
+ * @override
286
+ */
287
+ this.FIELD_DROPDOWN_COLOURED_DIV = true;
288
+
289
+ /**
290
+ * @override
291
+ */
292
+ this.FIELD_DROPDOWN_SVG_ARROW = true;
293
+
294
+ /**
295
+ * @override
296
+ */
297
+ this.FIELD_DROPDOWN_SVG_ARROW_PADDING = this.FIELD_BORDER_RECT_X_PADDING;
298
+
299
+ /**
300
+ * @override
301
+ */
302
+ this.FIELD_TEXTINPUT_BOX_SHADOW = true;
303
+
304
+ /**
305
+ * @override
306
+ */
307
+ this.FIELD_COLOUR_FULL_BLOCK = true;
308
+
309
+ /**
310
+ * @override
311
+ */
312
+ this.FIELD_COLOUR_DEFAULT_WIDTH = 2 * this.GRID_UNIT;
313
+
314
+ /**
315
+ * @override
316
+ */
317
+ this.FIELD_COLOUR_DEFAULT_HEIGHT = 4 * this.GRID_UNIT;
318
+
319
+ /**
320
+ * @override
321
+ */
322
+ this.FIELD_CHECKBOX_X_OFFSET = 1 * this.GRID_UNIT;
323
+
324
+ /**
325
+ * The maximum width of a dynamic connection shape.
326
+ * @type {number}
327
+ */
328
+ this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH = 12 * this.GRID_UNIT;
329
+
330
+ /**
331
+ * The selected glow colour.
332
+ * @type {string}
333
+ */
334
+ this.SELECTED_GLOW_COLOUR = '#fff200';
335
+
336
+ /**
337
+ * The size of the selected glow.
338
+ * @type {number}
339
+ */
340
+ this.SELECTED_GLOW_SIZE = 0.5;
341
+
342
+ /**
343
+ * The replacement glow colour.
344
+ * @type {string}
345
+ */
346
+ this.REPLACEMENT_GLOW_COLOUR = '#fff200';
347
+
348
+ /**
349
+ * The size of the selected glow.
350
+ * @type {number}
351
+ */
352
+ this.REPLACEMENT_GLOW_SIZE = 2;
353
+
354
+ /**
355
+ * The ID of the selected glow filter, or the empty string if no filter is
356
+ * set.
357
+ * @type {string}
358
+ * @package
359
+ */
360
+ this.selectedGlowFilterId = '';
361
+
362
+ /**
363
+ * The <filter> element to use for a selected glow, or null if not set.
364
+ * @type {SVGElement}
365
+ * @private
366
+ */
367
+ this.selectedGlowFilter_ = null;
368
+
369
+ /**
370
+ * The ID of the replacement glow filter, or the empty string if no filter is
371
+ * set.
372
+ * @type {string}
373
+ * @package
374
+ */
375
+ this.replacementGlowFilterId = '';
376
+
377
+ /**
378
+ * The <filter> element to use for a replacement glow, or null if not set.
379
+ * @type {SVGElement}
380
+ * @private
381
+ */
382
+ this.replacementGlowFilter_ = null;
383
+ };
384
+ Blockly.utils.object.inherits(Blockly.zelos.ConstantProvider,
385
+ Blockly.blockRendering.ConstantProvider);
386
+
387
+ /**
388
+ * @override
389
+ */
390
+ Blockly.zelos.ConstantProvider.prototype.setFontConstants_ = function(theme) {
391
+ Blockly.zelos.ConstantProvider.superClass_.setFontConstants_.call(this,
392
+ theme);
393
+
394
+ this.FIELD_BORDER_RECT_HEIGHT = this.FIELD_TEXT_HEIGHT +
395
+ this.FIELD_BORDER_RECT_Y_PADDING * 2;
396
+ this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT = this.FIELD_BORDER_RECT_HEIGHT;
397
+ };
398
+
399
+ /**
400
+ * @override
401
+ */
402
+ Blockly.zelos.ConstantProvider.prototype.init = function() {
403
+ Blockly.zelos.ConstantProvider.superClass_.init.call(this);
404
+ this.HEXAGONAL = this.makeHexagonal();
405
+ this.ROUNDED = this.makeRounded();
406
+ this.SQUARED = this.makeSquared();
407
+
408
+ this.STATEMENT_INPUT_NOTCH_OFFSET = this.NOTCH_OFFSET_LEFT +
409
+ this.INSIDE_CORNERS.rightWidth;
410
+ };
411
+
412
+ /**
413
+ * @override
414
+ */
415
+ Blockly.zelos.ConstantProvider.prototype.setDynamicProperties_ = function(
416
+ theme) {
417
+ Blockly.zelos.ConstantProvider.superClass_.setDynamicProperties_.call(this,
418
+ theme);
419
+
420
+ this.SELECTED_GLOW_COLOUR =
421
+ theme.getComponentStyle('selectedGlowColour') ||
422
+ this.SELECTED_GLOW_COLOUR;
423
+ var selectedGlowSize =
424
+ Number(theme.getComponentStyle('selectedGlowSize'));
425
+ this.SELECTED_GLOW_SIZE =
426
+ selectedGlowSize && !isNaN(selectedGlowSize) ?
427
+ selectedGlowSize : this.SELECTED_GLOW_SIZE;
428
+ this.REPLACEMENT_GLOW_COLOUR =
429
+ theme.getComponentStyle('replacementGlowColour') ||
430
+ this.REPLACEMENT_GLOW_COLOUR;
431
+ var replacementGlowSize =
432
+ Number(theme.getComponentStyle('replacementGlowSize'));
433
+ this.REPLACEMENT_GLOW_SIZE =
434
+ replacementGlowSize && !isNaN(replacementGlowSize) ?
435
+ replacementGlowSize : this.REPLACEMENT_GLOW_SIZE;
436
+ };
437
+
438
+ /**
439
+ * @override
440
+ */
441
+ Blockly.zelos.ConstantProvider.prototype.dispose = function() {
442
+ Blockly.zelos.ConstantProvider.superClass_.dispose.call(this);
443
+ if (this.selectedGlowFilter_) {
444
+ Blockly.utils.dom.removeNode(this.selectedGlowFilter_);
445
+ }
446
+ if (this.replacementGlowFilter_) {
447
+ Blockly.utils.dom.removeNode(this.replacementGlowFilter_);
448
+ }
449
+ };
450
+
451
+ /**
452
+ * @override
453
+ */
454
+ Blockly.zelos.ConstantProvider.prototype.makeStartHat = function() {
455
+ var height = this.START_HAT_HEIGHT;
456
+ var width = this.START_HAT_WIDTH;
457
+
458
+ var mainPath =
459
+ Blockly.utils.svgPaths.curve('c',
460
+ [
461
+ Blockly.utils.svgPaths.point(25, -height),
462
+ Blockly.utils.svgPaths.point(71, -height),
463
+ Blockly.utils.svgPaths.point(width, 0)
464
+ ]);
465
+ return {
466
+ height: height,
467
+ width: width,
468
+ path: mainPath
469
+ };
470
+ };
471
+
472
+ /**
473
+ * Create sizing and path information about a hexagonal shape.
474
+ * @return {!Object} An object containing sizing and path information about
475
+ * a hexagonal shape for connections.
476
+ * @package
477
+ */
478
+ Blockly.zelos.ConstantProvider.prototype.makeHexagonal = function() {
479
+ var maxWidth = this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;
480
+
481
+ // The main path for the hexagonal connection shape is made out of two lines.
482
+ // The lines are defined with relative positions and require the block height.
483
+ // The 'up' and 'down' versions of the paths are the same, but the Y sign
484
+ // flips. The 'left' and 'right' versions of the path are also the same, but
485
+ // the X sign flips.
486
+ function makeMainPath(height, up, right) {
487
+ var halfHeight = height / 2;
488
+ var width = halfHeight > maxWidth ? maxWidth : halfHeight;
489
+ var forward = up ? -1 : 1;
490
+ var direction = right ? -1 : 1;
491
+ var dy = forward * height / 2;
492
+ return Blockly.utils.svgPaths.lineTo(-direction * width, dy) +
493
+ Blockly.utils.svgPaths.lineTo(direction * width, dy);
494
+ }
495
+
496
+ return {
497
+ type: this.SHAPES.HEXAGONAL,
498
+ isDynamic: true,
499
+ width: function(height) {
500
+ var halfHeight = height / 2;
501
+ return halfHeight > maxWidth ? maxWidth : halfHeight;
502
+ },
503
+ height: function(height) {
504
+ return height;
505
+ },
506
+ connectionOffsetY: function(connectionHeight) {
507
+ return connectionHeight / 2;
508
+ },
509
+ connectionOffsetX: function(connectionWidth) {
510
+ return - connectionWidth;
511
+ },
512
+ pathDown: function(height) {
513
+ return makeMainPath(height, false, false);
514
+ },
515
+ pathUp: function(height) {
516
+ return makeMainPath(height, true, false);
517
+ },
518
+ pathRightDown: function(height) {
519
+ return makeMainPath(height, false, true);
520
+ },
521
+ pathRightUp: function(height) {
522
+ return makeMainPath(height, false, true);
523
+ },
524
+ };
525
+ };
526
+
527
+ /**
528
+ * Create sizing and path information about a rounded shape.
529
+ * @return {!Object} An object containing sizing and path information about
530
+ * a rounded shape for connections.
531
+ * @package
532
+ */
533
+ Blockly.zelos.ConstantProvider.prototype.makeRounded = function() {
534
+ var maxWidth = this.MAX_DYNAMIC_CONNECTION_SHAPE_WIDTH;
535
+ var maxHeight = maxWidth * 2;
536
+
537
+ // The main path for the rounded connection shape is made out of two arcs and
538
+ // a line that joins them. The arcs are defined with relative positions.
539
+ // Usually, the height of the block is split between the two arcs. In the case
540
+ // where the height of the block exceeds the maximum height, a line is drawn
541
+ // in between the two arcs.
542
+ // The 'up' and 'down' versions of the paths are the same, but the Y sign
543
+ // flips. The 'up' and 'right' versions of the path flip the sweep-flag
544
+ // which moves the arc at negative angles.
545
+ function makeMainPath(blockHeight, up, right) {
546
+ var remainingHeight = blockHeight > maxHeight ? blockHeight - maxHeight : 0;
547
+ var height = blockHeight > maxHeight ? maxHeight : blockHeight;
548
+ var radius = height / 2;
549
+ return Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
550
+ Blockly.utils.svgPaths.point((up ? -1 : 1) * radius, (up ? -1 : 1) * radius)) +
551
+ Blockly.utils.svgPaths.lineOnAxis('v', (right ? 1 : -1) * remainingHeight) +
552
+ Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
553
+ Blockly.utils.svgPaths.point((up ? 1 : -1) * radius, (up ? -1 : 1) * radius));
554
+ }
555
+
556
+ return {
557
+ type: this.SHAPES.ROUND,
558
+ isDynamic: true,
559
+ width: function(height) {
560
+ var halfHeight = height / 2;
561
+ return halfHeight > maxWidth ? maxWidth : halfHeight;
562
+ },
563
+ height: function(height) {
564
+ return height;
565
+ },
566
+ connectionOffsetY: function(connectionHeight) {
567
+ return connectionHeight / 2;
568
+ },
569
+ connectionOffsetX: function(connectionWidth) {
570
+ return - connectionWidth;
571
+ },
572
+ pathDown: function(height) {
573
+ return makeMainPath(height, false, false);
574
+ },
575
+ pathUp: function(height) {
576
+ return makeMainPath(height, true, false);
577
+ },
578
+ pathRightDown: function(height) {
579
+ return makeMainPath(height, false, true);
580
+ },
581
+ pathRightUp: function(height) {
582
+ return makeMainPath(height, false, true);
583
+ },
584
+ };
585
+ };
586
+
587
+ /**
588
+ * Create sizing and path information about a squared shape.
589
+ * @return {!Object} An object containing sizing and path information about
590
+ * a squared shape for connections.
591
+ * @package
592
+ */
593
+ Blockly.zelos.ConstantProvider.prototype.makeSquared = function() {
594
+ var radius = this.CORNER_RADIUS;
595
+
596
+ // The main path for the squared connection shape is made out of two corners
597
+ // and a single line in-between (a and v). These are defined in relative
598
+ // positions and require the height of the block.
599
+ // The 'left' and 'right' versions of the paths are the same, but the Y sign
600
+ // flips. The 'up' and 'down' versions of the path determine where the corner
601
+ // point is placed and in-turn the direction of the corners.
602
+ function makeMainPath(height, up, right) {
603
+ var innerHeight = height - radius * 2;
604
+ return Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
605
+ Blockly.utils.svgPaths.point((up ? -1 : 1) * radius, (up ? -1 : 1) * radius)) +
606
+ Blockly.utils.svgPaths.lineOnAxis('v', (right ? 1 : -1) * innerHeight) +
607
+ Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
608
+ Blockly.utils.svgPaths.point((up ? 1 : -1) * radius, (up ? -1 : 1) * radius));
609
+ }
610
+
611
+ return {
612
+ type: this.SHAPES.SQUARE,
613
+ isDynamic: true,
614
+ width: function(_height) {
615
+ return radius;
616
+ },
617
+ height: function(height) {
618
+ return height;
619
+ },
620
+ connectionOffsetY: function(connectionHeight) {
621
+ return connectionHeight / 2;
622
+ },
623
+ connectionOffsetX: function(connectionWidth) {
624
+ return - connectionWidth;
625
+ },
626
+ pathDown: function(height) {
627
+ return makeMainPath(height, false, false);
628
+ },
629
+ pathUp: function(height) {
630
+ return makeMainPath(height, true, false);
631
+ },
632
+ pathRightDown: function(height) {
633
+ return makeMainPath(height, false, true);
634
+ },
635
+ pathRightUp: function(height) {
636
+ return makeMainPath(height, false, true);
637
+ },
638
+ };
639
+ };
640
+
641
+ /**
642
+ * @override
643
+ */
644
+ Blockly.zelos.ConstantProvider.prototype.shapeFor = function(
645
+ connection) {
646
+ var checks = connection.getCheck();
647
+ if (!checks && connection.targetConnection) {
648
+ checks = connection.targetConnection.getCheck();
649
+ }
650
+ switch (connection.type) {
651
+ case Blockly.INPUT_VALUE:
652
+ case Blockly.OUTPUT_VALUE:
653
+ var outputShape = connection.getSourceBlock().getOutputShape();
654
+ // If the block has an output shape set, use that instead.
655
+ if (outputShape != null) {
656
+ switch (outputShape) {
657
+ case this.SHAPES.HEXAGONAL: return this.HEXAGONAL;
658
+ case this.SHAPES.ROUND: return this.ROUNDED;
659
+ case this.SHAPES.SQUARE: return this.SQUARED;
660
+ }
661
+ }
662
+ // Includes doesn't work in IE.
663
+ if (checks && checks.indexOf('Boolean') != -1) {
664
+ return this.HEXAGONAL;
665
+ }
666
+ if (checks && checks.indexOf('Number') != -1) {
667
+ return this.ROUNDED;
668
+ }
669
+ if (checks && checks.indexOf('String') != -1) {
670
+ return this.ROUNDED;
671
+ }
672
+ return this.ROUNDED;
673
+ case Blockly.PREVIOUS_STATEMENT:
674
+ case Blockly.NEXT_STATEMENT:
675
+ return this.NOTCH;
676
+ default:
677
+ throw Error('Unknown type');
678
+ }
679
+ };
680
+
681
+ /**
682
+ * @override
683
+ */
684
+ Blockly.zelos.ConstantProvider.prototype.makeNotch = function() {
685
+ var width = this.NOTCH_WIDTH;
686
+ var height = this.NOTCH_HEIGHT;
687
+
688
+ var innerWidth = width / 3;
689
+ var curveWidth = innerWidth / 3;
690
+
691
+ var halfHeight = height / 2;
692
+ var quarterHeight = halfHeight / 2;
693
+
694
+ function makeMainPath(dir) {
695
+ return (
696
+ Blockly.utils.svgPaths.curve('c', [
697
+ Blockly.utils.svgPaths.point(dir * curveWidth / 2,
698
+ 0),
699
+ Blockly.utils.svgPaths.point(dir * curveWidth * 3 / 4,
700
+ quarterHeight / 2),
701
+ Blockly.utils.svgPaths.point(dir * curveWidth,
702
+ quarterHeight)
703
+ ]) +
704
+ Blockly.utils.svgPaths.line([
705
+ Blockly.utils.svgPaths.point(dir * curveWidth,
706
+ halfHeight)
707
+ ]) +
708
+ Blockly.utils.svgPaths.curve('c', [
709
+ Blockly.utils.svgPaths.point(dir * curveWidth / 4,
710
+ quarterHeight / 2),
711
+ Blockly.utils.svgPaths.point(dir * curveWidth / 2,
712
+ quarterHeight),
713
+ Blockly.utils.svgPaths.point(dir * curveWidth,
714
+ quarterHeight)
715
+ ]) +
716
+ Blockly.utils.svgPaths.lineOnAxis('h', dir * innerWidth) +
717
+ Blockly.utils.svgPaths.curve('c', [
718
+ Blockly.utils.svgPaths.point(dir * curveWidth / 2,
719
+ 0),
720
+ Blockly.utils.svgPaths.point(dir * curveWidth * 3 / 4,
721
+ -(quarterHeight / 2)),
722
+ Blockly.utils.svgPaths.point(dir * curveWidth,
723
+ -quarterHeight)
724
+ ]) +
725
+ Blockly.utils.svgPaths.line([
726
+ Blockly.utils.svgPaths.point(dir * curveWidth,
727
+ -halfHeight)
728
+ ]) +
729
+ Blockly.utils.svgPaths.curve('c', [
730
+ Blockly.utils.svgPaths.point(dir * curveWidth / 4,
731
+ -(quarterHeight / 2)),
732
+ Blockly.utils.svgPaths.point(dir * curveWidth / 2,
733
+ -quarterHeight),
734
+ Blockly.utils.svgPaths.point(dir * curveWidth,
735
+ -quarterHeight)
736
+ ])
737
+ );
738
+ }
739
+
740
+ var pathLeft = makeMainPath(1);
741
+ var pathRight = makeMainPath(-1);
742
+
743
+ return {
744
+ type: this.SHAPES.NOTCH,
745
+ width: width,
746
+ height: height,
747
+ pathLeft: pathLeft,
748
+ pathRight: pathRight
749
+ };
750
+ };
751
+
752
+ /**
753
+ * @override
754
+ */
755
+ Blockly.zelos.ConstantProvider.prototype.makeInsideCorners = function() {
756
+ var radius = this.CORNER_RADIUS;
757
+
758
+ var innerTopLeftCorner = Blockly.utils.svgPaths.arc('a', '0 0,0', radius,
759
+ Blockly.utils.svgPaths.point(-radius, radius));
760
+
761
+ var innerTopRightCorner = Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
762
+ Blockly.utils.svgPaths.point(-radius, radius));
763
+
764
+ var innerBottomLeftCorner = Blockly.utils.svgPaths.arc('a', '0 0,0', radius,
765
+ Blockly.utils.svgPaths.point(radius, radius));
766
+
767
+ var innerBottomRightCorner = Blockly.utils.svgPaths.arc('a', '0 0,1', radius,
768
+ Blockly.utils.svgPaths.point(radius, radius));
769
+
770
+ return {
771
+ width: radius,
772
+ height: radius,
773
+ pathTop: innerTopLeftCorner,
774
+ pathBottom: innerBottomLeftCorner,
775
+ rightWidth: radius,
776
+ rightHeight: radius,
777
+ pathTopRight: innerTopRightCorner,
778
+ pathBottomRight: innerBottomRightCorner
779
+ };
780
+ };
781
+
782
+ /**
783
+ * @override
784
+ */
785
+ Blockly.zelos.ConstantProvider.prototype.generateSecondaryColour_ = function(
786
+ colour) {
787
+ return Blockly.utils.colour.blend('#000', colour, 0.15) || colour;
788
+ };
789
+
790
+ /**
791
+ * @override
792
+ */
793
+ Blockly.zelos.ConstantProvider.prototype.generateTertiaryColour_ = function(
794
+ colour) {
795
+ return Blockly.utils.colour.blend('#000', colour, 0.25) || colour;
796
+ };
797
+
798
+ /**
799
+ * @override
800
+ */
801
+ Blockly.zelos.ConstantProvider.prototype.createDom = function(svg,
802
+ tagName, selector) {
803
+ Blockly.zelos.ConstantProvider.superClass_.createDom.call(this, svg,
804
+ tagName, selector);
805
+ /*
806
+ <defs>
807
+ ... filters go here ...
808
+ </defs>
809
+ */
810
+ var defs = Blockly.utils.dom.createSvgElement(
811
+ Blockly.utils.Svg.DEFS, {}, svg);
812
+ // Using a dilate distorts the block shape.
813
+ // Instead use a gaussian blur, and then set all alpha to 1 with a transfer.
814
+ var selectedGlowFilter = Blockly.utils.dom.createSvgElement(
815
+ Blockly.utils.Svg.FILTER,
816
+ {
817
+ 'id': 'blocklySelectedGlowFilter' + this.randomIdentifier,
818
+ 'height': '160%',
819
+ 'width': '180%',
820
+ y: '-30%',
821
+ x: '-40%'
822
+ },
823
+ defs);
824
+ Blockly.utils.dom.createSvgElement(
825
+ Blockly.utils.Svg.FEGAUSSIANBLUR,
826
+ {
827
+ 'in': 'SourceGraphic',
828
+ 'stdDeviation': this.SELECTED_GLOW_SIZE
829
+ },
830
+ selectedGlowFilter);
831
+ // Set all gaussian blur pixels to 1 opacity before applying flood
832
+ var selectedComponentTransfer = Blockly.utils.dom.createSvgElement(
833
+ Blockly.utils.Svg.FECOMPONENTTRANSFER, {
834
+ 'result': 'outBlur'
835
+ }, selectedGlowFilter);
836
+ Blockly.utils.dom.createSvgElement(
837
+ Blockly.utils.Svg.FEFUNCA,
838
+ {
839
+ 'type': 'table', 'tableValues': '0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1'
840
+ },
841
+ selectedComponentTransfer);
842
+ // Color the highlight
843
+ Blockly.utils.dom.createSvgElement(
844
+ Blockly.utils.Svg.FEFLOOD,
845
+ {
846
+ 'flood-color': this.SELECTED_GLOW_COLOUR,
847
+ 'flood-opacity': 1,
848
+ 'result': 'outColor'
849
+ },
850
+ selectedGlowFilter);
851
+ Blockly.utils.dom.createSvgElement(
852
+ Blockly.utils.Svg.FECOMPOSITE,
853
+ {
854
+ 'in': 'outColor', 'in2': 'outBlur',
855
+ 'operator': 'in', 'result': 'outGlow'
856
+ },
857
+ selectedGlowFilter);
858
+ this.selectedGlowFilterId = selectedGlowFilter.id;
859
+ this.selectedGlowFilter_ = selectedGlowFilter;
860
+
861
+ // Using a dilate distorts the block shape.
862
+ // Instead use a gaussian blur, and then set all alpha to 1 with a transfer.
863
+ var replacementGlowFilter = Blockly.utils.dom.createSvgElement(
864
+ Blockly.utils.Svg.FILTER,
865
+ {
866
+ 'id': 'blocklyReplacementGlowFilter' + this.randomIdentifier,
867
+ 'height': '160%',
868
+ 'width': '180%',
869
+ y: '-30%',
870
+ x: '-40%'
871
+ },
872
+ defs);
873
+ Blockly.utils.dom.createSvgElement(
874
+ Blockly.utils.Svg.FEGAUSSIANBLUR,
875
+ {
876
+ 'in': 'SourceGraphic',
877
+ 'stdDeviation': this.REPLACEMENT_GLOW_SIZE
878
+ },
879
+ replacementGlowFilter);
880
+ // Set all gaussian blur pixels to 1 opacity before applying flood
881
+ var replacementComponentTransfer = Blockly.utils.dom.createSvgElement(
882
+ Blockly.utils.Svg.FECOMPONENTTRANSFER, {
883
+ 'result': 'outBlur'
884
+ }, replacementGlowFilter);
885
+ Blockly.utils.dom.createSvgElement(
886
+ Blockly.utils.Svg.FEFUNCA,
887
+ {
888
+ 'type': 'table', 'tableValues': '0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1'
889
+ },
890
+ replacementComponentTransfer);
891
+ // Color the highlight
892
+ Blockly.utils.dom.createSvgElement(
893
+ Blockly.utils.Svg.FEFLOOD,
894
+ {
895
+ 'flood-color': this.REPLACEMENT_GLOW_COLOUR,
896
+ 'flood-opacity': 1,
897
+ 'result': 'outColor'
898
+ },
899
+ replacementGlowFilter);
900
+ Blockly.utils.dom.createSvgElement(
901
+ Blockly.utils.Svg.FECOMPOSITE,
902
+ {
903
+ 'in': 'outColor', 'in2': 'outBlur',
904
+ 'operator': 'in', 'result': 'outGlow'
905
+ },
906
+ replacementGlowFilter);
907
+ Blockly.utils.dom.createSvgElement(
908
+ Blockly.utils.Svg.FECOMPOSITE,
909
+ {
910
+ 'in': 'SourceGraphic', 'in2': 'outGlow',
911
+ 'operator': 'over',
912
+ },
913
+ replacementGlowFilter);
914
+ this.replacementGlowFilterId = replacementGlowFilter.id;
915
+ this.replacementGlowFilter_ = replacementGlowFilter;
916
+ };
917
+
918
+ /**
919
+ * @override
920
+ */
921
+ Blockly.zelos.ConstantProvider.prototype.getCSS_ = function(selector) {
922
+ return [
923
+ /* eslint-disable indent */
924
+ // Text.
925
+ selector + ' .blocklyText,',
926
+ selector + ' .blocklyFlyoutLabelText {',
927
+ 'font: ' + this.FIELD_TEXT_FONTWEIGHT + ' ' +
928
+ this.FIELD_TEXT_FONTSIZE + 'pt ' + this.FIELD_TEXT_FONTFAMILY + ';',
929
+ '}',
930
+
931
+ // Fields.
932
+ selector + ' .blocklyText {',
933
+ 'fill: #fff;',
934
+ '}',
935
+ selector + ' .blocklyNonEditableText>rect:not(.blocklyDropdownRect),',
936
+ selector + ' .blocklyEditableText>rect:not(.blocklyDropdownRect) {',
937
+ 'fill: ' + this.FIELD_BORDER_RECT_COLOUR + ';',
938
+ '}',
939
+ selector + ' .blocklyNonEditableText>text,',
940
+ selector + ' .blocklyEditableText>text,',
941
+ selector + ' .blocklyNonEditableText>g>text,',
942
+ selector + ' .blocklyEditableText>g>text {',
943
+ 'fill: #575E75;',
944
+ '}',
945
+
946
+ // Flyout labels.
947
+ selector + ' .blocklyFlyoutLabelText {',
948
+ 'fill: #575E75;',
949
+ '}',
950
+
951
+ // Bubbles.
952
+ selector + ' .blocklyText.blocklyBubbleText {',
953
+ 'fill: #575E75;',
954
+ '}',
955
+
956
+ // Editable field hover.
957
+ selector + ' .blocklyDraggable:not(.blocklyDisabled)',
958
+ ' .blocklyEditableText:not(.editing):hover>rect,',
959
+ selector + ' .blocklyDraggable:not(.blocklyDisabled)',
960
+ ' .blocklyEditableText:not(.editing):hover>.blocklyPath {',
961
+ 'stroke: #fff;',
962
+ 'stroke-width: 2;',
963
+ '}',
964
+
965
+ // Text field input.
966
+ selector + ' .blocklyHtmlInput {',
967
+ 'font-family: ' + this.FIELD_TEXT_FONTFAMILY + ';',
968
+ 'font-weight: ' + this.FIELD_TEXT_FONTWEIGHT + ';',
969
+ 'color: #575E75;',
970
+ '}',
971
+
972
+ // Dropdown field.
973
+ selector + ' .blocklyDropdownText {',
974
+ 'fill: #fff !important;',
975
+ '}',
976
+ // Widget and Dropdown Div
977
+ selector + '.blocklyWidgetDiv .goog-menuitem,',
978
+ selector + '.blocklyDropDownDiv .goog-menuitem {',
979
+ 'font-family: ' + this.FIELD_TEXT_FONTFAMILY + ';',
980
+ '}',
981
+ selector + '.blocklyDropDownDiv .goog-menuitem-content {',
982
+ 'color: #fff;',
983
+ '}',
984
+
985
+ // Connection highlight.
986
+ selector + ' .blocklyHighlightedConnectionPath {',
987
+ 'stroke: ' + this.SELECTED_GLOW_COLOUR + ';',
988
+ '}',
989
+
990
+ // Disabled outline paths.
991
+ selector + ' .blocklyDisabled > .blocklyOutlinePath {',
992
+ 'fill: url(#blocklyDisabledPattern' + this.randomIdentifier + ')',
993
+ '}',
994
+
995
+ // Insertion marker.
996
+ selector + ' .blocklyInsertionMarker>.blocklyPath {',
997
+ 'fill-opacity: ' + this.INSERTION_MARKER_OPACITY + ';',
998
+ 'stroke: none;',
999
+ '}',
1000
+ /* eslint-enable indent */
1001
+ ];
1002
+ };