nodeskini 1.0.1 → 1.0.3

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 +5 -5
@@ -0,0 +1,690 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2020 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview A toolbox category used to organize blocks in the toolbox.
9
+ * @author aschmiedt@google.com (Abby Schmiedt)
10
+ */
11
+ 'use strict';
12
+
13
+ goog.provide('Blockly.ToolboxCategory');
14
+
15
+ goog.require('Blockly.registry');
16
+ goog.require('Blockly.utils');
17
+ goog.require('Blockly.utils.aria');
18
+ goog.require('Blockly.utils.dom');
19
+ goog.require('Blockly.utils.object');
20
+ goog.require('Blockly.utils.toolbox');
21
+ goog.require('Blockly.ToolboxItem');
22
+
23
+ goog.requireType('Blockly.ICollapsibleToolboxItem');
24
+ goog.requireType('Blockly.IToolbox');
25
+ goog.requireType('Blockly.IToolboxItem');
26
+
27
+
28
+ /**
29
+ * Class for a category in a toolbox.
30
+ * @param {!Blockly.utils.toolbox.CategoryInfo} categoryDef The information needed
31
+ * to create a category in the toolbox.
32
+ * @param {!Blockly.IToolbox} toolbox The parent toolbox for the category.
33
+ * @param {Blockly.ICollapsibleToolboxItem=} opt_parent The parent category or null if
34
+ * the category does not have a parent.
35
+ * @constructor
36
+ * @extends {Blockly.ToolboxItem}
37
+ * @implements {Blockly.ISelectableToolboxItem}
38
+ */
39
+ Blockly.ToolboxCategory = function(categoryDef, toolbox, opt_parent) {
40
+ Blockly.ToolboxCategory.superClass_.constructor.call(
41
+ this, categoryDef, toolbox, opt_parent);
42
+
43
+ /**
44
+ * The name that will be displayed on the category.
45
+ * @type {string}
46
+ * @protected
47
+ */
48
+ this.name_ = Blockly.utils.replaceMessageReferences(categoryDef['name']);
49
+
50
+ /**
51
+ * The colour of the category.
52
+ * @type {string}
53
+ * @protected
54
+ */
55
+ this.colour_ = this.getColour_(categoryDef);
56
+
57
+ /**
58
+ * The html container for the category.
59
+ * @type {?Element}
60
+ * @protected
61
+ */
62
+ this.htmlDiv_ = null;
63
+
64
+ /**
65
+ * The html element for the category row.
66
+ * @type {?Element}
67
+ * @protected
68
+ */
69
+ this.rowDiv_ = null;
70
+
71
+ /**
72
+ * The html element that holds children elements of the category row.
73
+ * @type {?Element}
74
+ * @protected
75
+ */
76
+ this.rowContents_ = null;
77
+
78
+ /**
79
+ * The html element for the toolbox icon.
80
+ * @type {?Element}
81
+ * @protected
82
+ */
83
+ this.iconDom_ = null;
84
+
85
+ /**
86
+ * All the css class names that are used to create a category.
87
+ * @type {!Blockly.ToolboxCategory.CssConfig}
88
+ * @protected
89
+ */
90
+ this.cssConfig_ = this.makeDefaultCssConfig_();
91
+
92
+ var cssConfig = categoryDef['cssconfig'] || categoryDef['cssConfig'];
93
+ Blockly.utils.object.mixin(this.cssConfig_, cssConfig);
94
+
95
+ /**
96
+ * True if the category is meant to be hidden, false otherwise.
97
+ * @type {boolean}
98
+ * @protected
99
+ */
100
+ this.isHidden_ = false;
101
+
102
+ /**
103
+ * True if this category is disabled, false otherwise.
104
+ * @type {boolean}
105
+ * @protected
106
+ */
107
+ this.isDisabled_ = false;
108
+
109
+ /**
110
+ * The flyout items for this category.
111
+ * @type {string|!Blockly.utils.toolbox.FlyoutItemInfoArray}
112
+ * @protected
113
+ */
114
+ this.flyoutItems_ = [];
115
+
116
+ this.parseContents_(categoryDef);
117
+ };
118
+
119
+ Blockly.utils.object.inherits(Blockly.ToolboxCategory, Blockly.ToolboxItem);
120
+
121
+ /**
122
+ * All the css class names that are used to create a category.
123
+ * @typedef {{
124
+ * container:?string,
125
+ * row:?string,
126
+ * icon:?string,
127
+ * label:?string,
128
+ * selected:?string,
129
+ * openIcon:?string,
130
+ * closedIcon:?string
131
+ * }}
132
+ */
133
+ Blockly.ToolboxCategory.CssConfig;
134
+
135
+ /**
136
+ * Name used for registering a toolbox category.
137
+ * @const {string}
138
+ */
139
+ Blockly.ToolboxCategory.registrationName = 'category';
140
+
141
+ /**
142
+ * The number of pixels to move the category over at each nested level.
143
+ * @type {number}
144
+ */
145
+ Blockly.ToolboxCategory.nestedPadding = 19;
146
+
147
+ /**
148
+ * The width in pixels of the strip of colour next to each category.
149
+ * @type {number}
150
+ */
151
+ Blockly.ToolboxCategory.borderWidth = 8;
152
+
153
+ /**
154
+ * The default colour of the category. This is used as the background colour of
155
+ * the category when it is selected.
156
+ * @type {string}
157
+ */
158
+ Blockly.ToolboxCategory.defaultBackgroundColour = '#57e';
159
+
160
+ /**
161
+ * Creates an object holding the default classes for a category.
162
+ * @return {!Blockly.ToolboxCategory.CssConfig} The configuration object holding
163
+ * all the CSS classes for a category.
164
+ * @protected
165
+ */
166
+ Blockly.ToolboxCategory.prototype.makeDefaultCssConfig_ = function() {
167
+ return {
168
+ 'container': 'blocklyToolboxCategory',
169
+ 'row': 'blocklyTreeRow',
170
+ 'rowContentContainer': 'blocklyTreeRowContentContainer',
171
+ 'icon': 'blocklyTreeIcon',
172
+ 'label': 'blocklyTreeLabel',
173
+ 'contents': 'blocklyToolboxContents',
174
+ 'selected': 'blocklyTreeSelected',
175
+ 'openIcon': 'blocklyTreeIconOpen',
176
+ 'closedIcon': 'blocklyTreeIconClosed',
177
+ };
178
+ };
179
+
180
+ /**
181
+ * Parses the contents array depending on if the category is a dynamic category,
182
+ * or if its contents are meant to be shown in the flyout.
183
+ * @param {!Blockly.utils.toolbox.CategoryInfo} categoryDef The information needed
184
+ * to create a category.
185
+ * @protected
186
+ */
187
+ Blockly.ToolboxCategory.prototype.parseContents_ = function(categoryDef) {
188
+ var contents = categoryDef['contents'];
189
+
190
+ if (categoryDef['custom']) {
191
+ this.flyoutItems_ = categoryDef['custom'];
192
+ } else if (contents) {
193
+ for (var i = 0, itemDef; (itemDef = contents[i]); i++) {
194
+ var flyoutItem = /** @type {Blockly.utils.toolbox.FlyoutItemInfo} */ (itemDef);
195
+ this.flyoutItems_.push(flyoutItem);
196
+ }
197
+ }
198
+ };
199
+
200
+ /**
201
+ * @override
202
+ */
203
+ Blockly.ToolboxCategory.prototype.init = function() {
204
+ this.createDom_();
205
+ if (this.toolboxItemDef_['hidden'] == 'true') {
206
+ this.hide();
207
+ }
208
+ };
209
+
210
+ /**
211
+ * Creates the dom for the category.
212
+ * @return {!Element} The parent element for the category.
213
+ * @protected
214
+ */
215
+ Blockly.ToolboxCategory.prototype.createDom_ = function() {
216
+ this.htmlDiv_ = this.createContainer_();
217
+ Blockly.utils.aria.setRole(this.htmlDiv_, Blockly.utils.aria.Role.TREEITEM);
218
+ Blockly.utils.aria.setState(/** @type {!Element} */ (this.htmlDiv_),
219
+ Blockly.utils.aria.State.SELECTED,false);
220
+ Blockly.utils.aria.setState(/** @type {!Element} */ (this.htmlDiv_),
221
+ Blockly.utils.aria.State.LEVEL, this.level_);
222
+
223
+ this.rowDiv_ = this.createRowContainer_();
224
+ this.rowDiv_.setAttribute('id', this.id_);
225
+ this.rowDiv_.style.pointerEvents = 'auto';
226
+ this.htmlDiv_.appendChild(this.rowDiv_);
227
+
228
+ this.rowContents_ = this.createRowContentsContainer_();
229
+ this.rowContents_.style.pointerEvents = 'none';
230
+ this.rowDiv_.appendChild(this.rowContents_);
231
+
232
+ this.iconDom_ = this.createIconDom_();
233
+ Blockly.utils.aria.setRole(this.iconDom_, Blockly.utils.aria.Role.PRESENTATION);
234
+ this.rowContents_.appendChild(this.iconDom_);
235
+
236
+ var labelDom = this.createLabelDom_(this.name_);
237
+ this.rowContents_.appendChild(labelDom);
238
+ Blockly.utils.aria.setState(/** @type {!Element} */ (this.htmlDiv_),
239
+ Blockly.utils.aria.State.LABELLEDBY, labelDom.getAttribute('id'));
240
+
241
+ this.addColourBorder_(this.colour_);
242
+
243
+ return this.htmlDiv_;
244
+ };
245
+
246
+ /**
247
+ * Creates the container that holds the row and any subcategories.
248
+ * @return {!Element} The div that holds the icon and the label.
249
+ * @protected
250
+ */
251
+ Blockly.ToolboxCategory.prototype.createContainer_ = function() {
252
+ var container = document.createElement('div');
253
+ Blockly.utils.dom.addClass(container, this.cssConfig_['container']);
254
+ return container;
255
+ };
256
+
257
+ /**
258
+ * Creates the parent of the contents container. All clicks will happen on this
259
+ * div.
260
+ * @return {!Element} The div that holds the contents container.
261
+ * @protected
262
+ */
263
+ Blockly.ToolboxCategory.prototype.createRowContainer_ = function() {
264
+ var rowDiv = document.createElement('div');
265
+ Blockly.utils.dom.addClass(rowDiv, this.cssConfig_['row']);
266
+ var nestedPadding = Blockly.ToolboxCategory.nestedPadding * this.getLevel();
267
+ nestedPadding = nestedPadding.toString() + 'px';
268
+ this.workspace_.RTL ? rowDiv.style.paddingRight = nestedPadding :
269
+ rowDiv.style.paddingLeft = nestedPadding;
270
+ return rowDiv;
271
+ };
272
+
273
+ /**
274
+ * Creates the container for the label and icon.
275
+ * This is necessary so we can set all subcategory pointer events to none.
276
+ * @return {!Element} The div that holds the icon and the label.
277
+ * @protected
278
+ */
279
+ Blockly.ToolboxCategory.prototype.createRowContentsContainer_ = function() {
280
+ var contentsContainer = document.createElement('div');
281
+ Blockly.utils.dom.addClass(contentsContainer, this.cssConfig_['rowContentContainer']);
282
+ return contentsContainer;
283
+ };
284
+
285
+ /**
286
+ * Creates the span that holds the category icon.
287
+ * @return {!Element} The span that holds the category icon.
288
+ * @protected
289
+ */
290
+ Blockly.ToolboxCategory.prototype.createIconDom_ = function() {
291
+ var toolboxIcon = document.createElement('span');
292
+ if (!this.parentToolbox_.isHorizontal()) {
293
+ Blockly.utils.dom.addClass(toolboxIcon, this.cssConfig_['icon']);
294
+ }
295
+
296
+ toolboxIcon.style.display = 'inline-block';
297
+ return toolboxIcon;
298
+ };
299
+
300
+ /**
301
+ * Creates the span that holds the category label.
302
+ * This should have an id for accessibility purposes.
303
+ * @param {string} name The name of the category.
304
+ * @return {!Element} The span that holds the category label.
305
+ * @protected
306
+ */
307
+ Blockly.ToolboxCategory.prototype.createLabelDom_ = function(name) {
308
+ var toolboxLabel = document.createElement('span');
309
+ toolboxLabel.setAttribute('id', this.getId() + '.label');
310
+ toolboxLabel.textContent = name;
311
+ Blockly.utils.dom.addClass(toolboxLabel, this.cssConfig_['label']);
312
+ return toolboxLabel;
313
+ };
314
+
315
+ /**
316
+ * Updates the colour for this category.
317
+ * @public
318
+ */
319
+ Blockly.ToolboxCategory.prototype.refreshTheme = function() {
320
+ this.colour_ = this.getColour_(/** @type {Blockly.utils.toolbox.CategoryInfo} **/
321
+ (this.toolboxItemDef_));
322
+ this.addColourBorder_(this.colour_);
323
+ };
324
+
325
+ /**
326
+ * Add the strip of colour to the toolbox category.
327
+ * @param {string} colour The category colour.
328
+ * @protected
329
+ */
330
+ Blockly.ToolboxCategory.prototype.addColourBorder_ = function(colour) {
331
+ if (colour) {
332
+ var border = Blockly.ToolboxCategory.borderWidth + 'px solid ' +
333
+ (colour || '#ddd');
334
+ if (this.workspace_.RTL) {
335
+ this.rowDiv_.style.borderRight = border;
336
+ } else {
337
+ this.rowDiv_.style.borderLeft = border;
338
+ }
339
+ }
340
+ };
341
+
342
+ /**
343
+ * Gets either the colour or the style for a category.
344
+ * @param {!Blockly.utils.toolbox.CategoryInfo} categoryDef The object holding
345
+ * information on the category.
346
+ * @return {string} The hex colour for the category.
347
+ * @protected
348
+ */
349
+ Blockly.ToolboxCategory.prototype.getColour_ = function(categoryDef) {
350
+ var styleName = categoryDef['categorystyle'] || categoryDef['categoryStyle'];
351
+ var colour = categoryDef['colour'];
352
+
353
+ if (colour && styleName) {
354
+ console.warn('Toolbox category "' + this.name_ +
355
+ '" must not have both a style and a colour');
356
+ } else if (styleName) {
357
+ return this.getColourfromStyle_(styleName);
358
+ } else {
359
+ return this.parseColour_(colour);
360
+ }
361
+ return '';
362
+ };
363
+
364
+ /**
365
+ * Sets the colour for the category using the style name and returns the new
366
+ * colour as a hex string.
367
+ * @param {string} styleName Name of the style.
368
+ * @return {string} The hex colour for the category.
369
+ * @private
370
+ */
371
+ Blockly.ToolboxCategory.prototype.getColourfromStyle_ = function(styleName) {
372
+ var theme = this.workspace_.getTheme();
373
+ if (styleName && theme) {
374
+ var style = theme.categoryStyles[styleName];
375
+ if (style && style.colour) {
376
+ return this.parseColour_(style.colour);
377
+ } else {
378
+ console.warn('Style "' + styleName +
379
+ '" must exist and contain a colour value');
380
+ }
381
+ }
382
+ return '';
383
+ };
384
+
385
+ /**
386
+ * Parses the colour on the category.
387
+ * @param {number|string} colourValue HSV hue value (0 to 360), #RRGGBB string,
388
+ * or a message reference string pointing to one of those two values.
389
+ * @return {string} The hex colour for the category.
390
+ * @private
391
+ */
392
+ Blockly.ToolboxCategory.prototype.parseColour_ = function(colourValue) {
393
+ // Decode the colour for any potential message references
394
+ // (eg. `%{BKY_MATH_HUE}`).
395
+ var colour = Blockly.utils.replaceMessageReferences(colourValue);
396
+ if (colour == null || colour === '') {
397
+ // No attribute. No colour.
398
+ return '';
399
+ } else {
400
+ var hue = Number(colour);
401
+ if (!isNaN(hue)) {
402
+ return Blockly.hueToHex(hue);
403
+ } else {
404
+ var hex = Blockly.utils.colour.parse(colour);
405
+ if (hex) {
406
+ return hex;
407
+ } else {
408
+ console.warn('Toolbox category "' + this.name_ +
409
+ '" has unrecognized colour attribute: ' + colour);
410
+ return '';
411
+ }
412
+ }
413
+ }
414
+ };
415
+
416
+ /**
417
+ * Adds appropriate classes to display an open icon.
418
+ * @param {?Element} iconDiv The div that holds the icon.
419
+ * @protected
420
+ */
421
+ Blockly.ToolboxCategory.prototype.openIcon_ = function(iconDiv) {
422
+ if (!iconDiv) {
423
+ return;
424
+ }
425
+ Blockly.utils.dom.removeClasses(iconDiv, this.cssConfig_['closedIcon']);
426
+ Blockly.utils.dom.addClass(iconDiv, this.cssConfig_['openIcon']);
427
+ };
428
+
429
+ /**
430
+ * Adds appropriate classes to display a closed icon.
431
+ * @param {?Element} iconDiv The div that holds the icon.
432
+ * @protected
433
+ */
434
+ Blockly.ToolboxCategory.prototype.closeIcon_ = function(iconDiv) {
435
+ if (!iconDiv) {
436
+ return;
437
+ }
438
+ Blockly.utils.dom.removeClasses(iconDiv, this.cssConfig_['openIcon']);
439
+ Blockly.utils.dom.addClass(iconDiv, this.cssConfig_['closedIcon']);
440
+ };
441
+
442
+ /**
443
+ * Sets whether the category is visible or not.
444
+ * For a category to be visible its parent category must also be expanded.
445
+ * @param {boolean} isVisible True if category should be visible.
446
+ * @protected
447
+ */
448
+ Blockly.ToolboxCategory.prototype.setVisible_ = function(isVisible) {
449
+ this.htmlDiv_.style.display = isVisible ? 'block' : 'none';
450
+ this.isHidden_ = !isVisible;
451
+
452
+ if (this.parentToolbox_.getSelectedItem() == this) {
453
+ this.parentToolbox_.clearSelection();
454
+ }
455
+ };
456
+
457
+ /**
458
+ * Hide the category.
459
+ */
460
+ Blockly.ToolboxCategory.prototype.hide = function() {
461
+ this.setVisible_(false);
462
+ };
463
+
464
+ /**
465
+ * Show the category. Category will only appear if its parent category is also
466
+ * expanded.
467
+ */
468
+ Blockly.ToolboxCategory.prototype.show = function() {
469
+ this.setVisible_(true);
470
+ };
471
+
472
+ /**
473
+ * Whether the category is visible.
474
+ * A category is only visible if all of its ancestors are expanded and isHidden_ is false.
475
+ * @return {boolean} True if the category is visible, false otherwise.
476
+ * @public
477
+ */
478
+ Blockly.ToolboxCategory.prototype.isVisible = function() {
479
+ return !this.isHidden_ && this.allAncestorsExpanded_();
480
+ };
481
+
482
+ /**
483
+ * Whether all ancestors of a category (parent and parent's parent, etc.) are expanded.
484
+ * @return {boolean} True only if every ancestor is expanded
485
+ * @protected
486
+ */
487
+ Blockly.ToolboxCategory.prototype.allAncestorsExpanded_ = function() {
488
+ var category = this;
489
+ while (category.getParent()) {
490
+ category = category.getParent();
491
+ if (!category.isExpanded()) {
492
+ return false;
493
+ }
494
+ }
495
+ return true;
496
+ };
497
+
498
+ /**
499
+ * @override
500
+ */
501
+ Blockly.ToolboxCategory.prototype.isSelectable = function() {
502
+ return this.isVisible() && !this.isDisabled_;
503
+ };
504
+
505
+ /**
506
+ * Handles when the toolbox item is clicked.
507
+ * @param {!Event} _e Click event to handle.
508
+ * @public
509
+ */
510
+ Blockly.ToolboxCategory.prototype.onClick = function(_e) {
511
+ // No-op
512
+ };
513
+
514
+ /**
515
+ * Sets the current category as selected.
516
+ * @param {boolean} isSelected True if this category is selected, false
517
+ * otherwise.
518
+ * @public
519
+ */
520
+ Blockly.ToolboxCategory.prototype.setSelected = function(isSelected) {
521
+ if (isSelected) {
522
+ var defaultColour = this.parseColour_(
523
+ Blockly.ToolboxCategory.defaultBackgroundColour);
524
+ this.rowDiv_.style.backgroundColor = this.colour_ || defaultColour;
525
+ Blockly.utils.dom.addClass(this.rowDiv_, this.cssConfig_['selected']);
526
+ } else {
527
+ this.rowDiv_.style.backgroundColor = '';
528
+ Blockly.utils.dom.removeClass(this.rowDiv_, this.cssConfig_['selected']);
529
+ }
530
+ Blockly.utils.aria.setState(/** @type {!Element} */ (this.htmlDiv_),
531
+ Blockly.utils.aria.State.SELECTED, isSelected);
532
+ };
533
+
534
+ /**
535
+ * Sets whether the category is disabled.
536
+ * @param {boolean} isDisabled True to disable the category, false otherwise.
537
+ */
538
+ Blockly.ToolboxCategory.prototype.setDisabled = function(isDisabled) {
539
+ this.isDisabled_ = isDisabled;
540
+ this.getDiv().setAttribute('disabled', isDisabled);
541
+ isDisabled ? this.getDiv().setAttribute('disabled', 'true') :
542
+ this.getDiv().removeAttribute('disabled');
543
+ };
544
+
545
+ /**
546
+ * Gets the name of the category. Used for emitting events.
547
+ * @return {string} The name of the toolbox item.
548
+ * @public
549
+ */
550
+ Blockly.ToolboxCategory.prototype.getName = function() {
551
+ return this.name_;
552
+ };
553
+
554
+ /**
555
+ * @override
556
+ */
557
+ Blockly.ToolboxCategory.prototype.getParent = function() {
558
+ return this.parent_;
559
+ };
560
+
561
+ /**
562
+ * @override
563
+ */
564
+ Blockly.ToolboxCategory.prototype.getDiv = function() {
565
+ return this.htmlDiv_;
566
+ };
567
+
568
+ /**
569
+ * Gets the contents of the category. These are items that are meant to be
570
+ * displayed in the flyout.
571
+ * @return {!Blockly.utils.toolbox.FlyoutItemInfoArray|string} The definition
572
+ * of items to be displayed in the flyout.
573
+ * @public
574
+ */
575
+ Blockly.ToolboxCategory.prototype.getContents = function() {
576
+ return this.flyoutItems_;
577
+ };
578
+
579
+ /**
580
+ * Updates the contents to be displayed in the flyout.
581
+ * If the flyout is open when the contents are updated, refreshSelection on the
582
+ * toolbox must also be called.
583
+ * @param {!Blockly.utils.toolbox.FlyoutDefinition|string} contents The contents
584
+ * to be displayed in the flyout. A string can be supplied to create a
585
+ * dynamic category.
586
+ * @public
587
+ */
588
+ Blockly.ToolboxCategory.prototype.updateFlyoutContents = function(contents) {
589
+ this.flyoutItems_ = [];
590
+
591
+ if (typeof contents == 'string') {
592
+ this.toolboxItemDef_['custom'] = contents;
593
+ } else {
594
+ // Removes old custom field when contents is updated.
595
+ delete this.toolboxItemDef_['custom'];
596
+ this.toolboxItemDef_['contents'] =
597
+ Blockly.utils.toolbox.convertFlyoutDefToJsonArray(contents);
598
+ }
599
+ this.parseContents_(
600
+ /** @type {Blockly.utils.toolbox.CategoryInfo} */ (this.toolboxItemDef_));
601
+ };
602
+
603
+ /**
604
+ * @override
605
+ */
606
+ Blockly.ToolboxCategory.prototype.dispose = function() {
607
+ Blockly.utils.dom.removeNode(this.htmlDiv_);
608
+ };
609
+
610
+ /**
611
+ * CSS for Toolbox. See css.js for use.
612
+ */
613
+ Blockly.Css.register([
614
+ /* eslint-disable indent */
615
+ '.blocklyTreeRow:not(.blocklyTreeSelected):hover {',
616
+ 'background-color: rgba(255, 255, 255, 0.2);',
617
+ '}',
618
+
619
+ '.blocklyToolboxDiv[layout="h"] .blocklyToolboxCategory {',
620
+ 'margin: 1px 5px 1px 0;',
621
+ '}',
622
+
623
+ '.blocklyToolboxDiv[dir="RTL"][layout="h"] .blocklyToolboxCategory {',
624
+ 'margin: 1px 0 1px 5px;',
625
+ '}',
626
+
627
+ '.blocklyTreeRow {',
628
+ 'height: 22px;',
629
+ 'line-height: 22px;',
630
+ 'margin-bottom: 3px;',
631
+ 'padding-right: 8px;',
632
+ 'white-space: nowrap;',
633
+ '}',
634
+
635
+ '.blocklyToolboxDiv[dir="RTL"] .blocklyTreeRow {',
636
+ 'margin-left: 8px;',
637
+ 'padding-right: 0px',
638
+ '}',
639
+
640
+ '.blocklyTreeIcon {',
641
+ 'background-image: url(<<<PATH>>>/sprites.png);',
642
+ 'height: 16px;',
643
+ 'vertical-align: middle;',
644
+ 'visibility: hidden;',
645
+ 'width: 16px;',
646
+ '}',
647
+
648
+ '.blocklyTreeIconClosed {',
649
+ 'background-position: -32px -1px;',
650
+ '}',
651
+
652
+ '.blocklyToolboxDiv[dir="RTL"] .blocklyTreeIconClosed {',
653
+ 'background-position: 0 -1px;',
654
+ '}',
655
+
656
+ '.blocklyTreeSelected>.blocklyTreeIconClosed {',
657
+ 'background-position: -32px -17px;',
658
+ '}',
659
+
660
+ '.blocklyToolboxDiv[dir="RTL"] .blocklyTreeSelected>.blocklyTreeIconClosed {',
661
+ 'background-position: 0 -17px;',
662
+ '}',
663
+
664
+ '.blocklyTreeIconOpen {',
665
+ 'background-position: -16px -1px;',
666
+ '}',
667
+
668
+ '.blocklyTreeSelected>.blocklyTreeIconOpen {',
669
+ 'background-position: -16px -17px;',
670
+ '}',
671
+
672
+ '.blocklyTreeLabel {',
673
+ 'cursor: default;',
674
+ 'font: 16px sans-serif;',
675
+ 'padding: 0 3px;',
676
+ 'vertical-align: middle;',
677
+ '}',
678
+
679
+ '.blocklyToolboxDelete .blocklyTreeLabel {',
680
+ 'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',
681
+ '}',
682
+
683
+ '.blocklyTreeSelected .blocklyTreeLabel {',
684
+ 'color: #fff;',
685
+ '}'
686
+ /* eslint-enable indent */
687
+ ]);
688
+
689
+ Blockly.registry.register(Blockly.registry.Type.TOOLBOX_ITEM,
690
+ Blockly.ToolboxCategory.registrationName, Blockly.ToolboxCategory);