scratch-blocks 2.0.1 → 2.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 (276) hide show
  1. package/AGENTS.md +140 -0
  2. package/commitlint.config.js +2 -2
  3. package/dist/main.mjs +1 -2
  4. package/dist/types/msg/scratch_msgs.d.ts.map +1 -1
  5. package/dist/types/src/block_reporting.d.ts.map +1 -1
  6. package/dist/types/src/blocks/colour.d.ts +0 -19
  7. package/dist/types/src/blocks/colour.d.ts.map +1 -1
  8. package/dist/types/src/blocks/control.d.ts +0 -19
  9. package/dist/types/src/blocks/control.d.ts.map +1 -1
  10. package/dist/types/src/blocks/data.d.ts +0 -19
  11. package/dist/types/src/blocks/data.d.ts.map +1 -1
  12. package/dist/types/src/blocks/event.d.ts +0 -19
  13. package/dist/types/src/blocks/event.d.ts.map +1 -1
  14. package/dist/types/src/blocks/looks.d.ts +0 -19
  15. package/dist/types/src/blocks/looks.d.ts.map +1 -1
  16. package/dist/types/src/blocks/math.d.ts +0 -19
  17. package/dist/types/src/blocks/math.d.ts.map +1 -1
  18. package/dist/types/src/blocks/matrix.d.ts +0 -19
  19. package/dist/types/src/blocks/matrix.d.ts.map +1 -1
  20. package/dist/types/src/blocks/motion.d.ts +0 -19
  21. package/dist/types/src/blocks/motion.d.ts.map +1 -1
  22. package/dist/types/src/blocks/note.d.ts +0 -19
  23. package/dist/types/src/blocks/note.d.ts.map +1 -1
  24. package/dist/types/src/blocks/operators.d.ts +0 -19
  25. package/dist/types/src/blocks/operators.d.ts.map +1 -1
  26. package/dist/types/src/blocks/procedures.d.ts +6 -9
  27. package/dist/types/src/blocks/procedures.d.ts.map +1 -1
  28. package/dist/types/src/blocks/sensing.d.ts +0 -19
  29. package/dist/types/src/blocks/sensing.d.ts.map +1 -1
  30. package/dist/types/src/blocks/sound.d.ts +0 -19
  31. package/dist/types/src/blocks/sound.d.ts.map +1 -1
  32. package/dist/types/src/blocks/text.d.ts +0 -19
  33. package/dist/types/src/blocks/text.d.ts.map +1 -1
  34. package/dist/types/src/blocks/vertical_extensions.d.ts +0 -19
  35. package/dist/types/src/blocks/vertical_extensions.d.ts.map +1 -1
  36. package/dist/types/src/checkable_continuous_flyout.d.ts +2 -7
  37. package/dist/types/src/checkable_continuous_flyout.d.ts.map +1 -1
  38. package/dist/types/src/checkbox_bubble.d.ts +13 -12
  39. package/dist/types/src/checkbox_bubble.d.ts.map +1 -1
  40. package/dist/types/src/colours.d.ts.map +1 -1
  41. package/dist/types/src/constants.d.ts +0 -7
  42. package/dist/types/src/constants.d.ts.map +1 -1
  43. package/dist/types/src/context_menu_items.d.ts +0 -5
  44. package/dist/types/src/context_menu_items.d.ts.map +1 -1
  45. package/dist/types/src/data_category.d.ts +2 -4
  46. package/dist/types/src/data_category.d.ts.map +1 -1
  47. package/dist/types/src/events/events_block_comment_base.d.ts +2 -3
  48. package/dist/types/src/events/events_block_comment_base.d.ts.map +1 -1
  49. package/dist/types/src/events/events_block_comment_change.d.ts +0 -5
  50. package/dist/types/src/events/events_block_comment_change.d.ts.map +1 -1
  51. package/dist/types/src/events/events_block_comment_collapse.d.ts +0 -5
  52. package/dist/types/src/events/events_block_comment_collapse.d.ts.map +1 -1
  53. package/dist/types/src/events/events_block_comment_create.d.ts +0 -5
  54. package/dist/types/src/events/events_block_comment_create.d.ts.map +1 -1
  55. package/dist/types/src/events/events_block_comment_delete.d.ts +0 -5
  56. package/dist/types/src/events/events_block_comment_delete.d.ts.map +1 -1
  57. package/dist/types/src/events/events_block_comment_move.d.ts +0 -5
  58. package/dist/types/src/events/events_block_comment_move.d.ts.map +1 -1
  59. package/dist/types/src/events/events_block_comment_resize.d.ts +0 -5
  60. package/dist/types/src/events/events_block_comment_resize.d.ts.map +1 -1
  61. package/dist/types/src/events/events_block_drag_end.d.ts +1 -2
  62. package/dist/types/src/events/events_block_drag_end.d.ts.map +1 -1
  63. package/dist/types/src/events/events_block_drag_outside.d.ts +1 -2
  64. package/dist/types/src/events/events_block_drag_outside.d.ts.map +1 -1
  65. package/dist/types/src/events/events_scratch_variable_create.d.ts +0 -5
  66. package/dist/types/src/events/events_scratch_variable_create.d.ts.map +1 -1
  67. package/dist/types/src/fields/field_colour_slider.d.ts +7 -31
  68. package/dist/types/src/fields/field_colour_slider.d.ts.map +1 -1
  69. package/dist/types/src/fields/field_matrix.d.ts +0 -19
  70. package/dist/types/src/fields/field_matrix.d.ts.map +1 -1
  71. package/dist/types/src/fields/field_note.d.ts +8 -23
  72. package/dist/types/src/fields/field_note.d.ts.map +1 -1
  73. package/dist/types/src/fields/field_textinput_removable.d.ts +2 -4
  74. package/dist/types/src/fields/field_textinput_removable.d.ts.map +1 -1
  75. package/dist/types/src/fields/field_variable_getter.d.ts +0 -19
  76. package/dist/types/src/fields/field_variable_getter.d.ts.map +1 -1
  77. package/dist/types/src/fields/field_vertical_separator.d.ts +0 -19
  78. package/dist/types/src/fields/field_vertical_separator.d.ts.map +1 -1
  79. package/dist/types/src/fields/scratch_field_angle.d.ts +0 -19
  80. package/dist/types/src/fields/scratch_field_angle.d.ts.map +1 -1
  81. package/dist/types/src/fields/scratch_field_dropdown.d.ts +0 -5
  82. package/dist/types/src/fields/scratch_field_dropdown.d.ts.map +1 -1
  83. package/dist/types/src/fields/scratch_field_number.d.ts +0 -19
  84. package/dist/types/src/fields/scratch_field_number.d.ts.map +1 -1
  85. package/dist/types/src/fields/scratch_field_variable.d.ts +5 -8
  86. package/dist/types/src/fields/scratch_field_variable.d.ts.map +1 -1
  87. package/dist/types/src/flyout_checkbox_icon.d.ts +2 -3
  88. package/dist/types/src/flyout_checkbox_icon.d.ts.map +1 -1
  89. package/dist/types/src/glows.d.ts +1 -3
  90. package/dist/types/src/glows.d.ts.map +1 -1
  91. package/dist/types/src/index.d.ts +50 -51
  92. package/dist/types/src/index.d.ts.map +1 -1
  93. package/dist/types/src/procedures.d.ts +6 -8
  94. package/dist/types/src/procedures.d.ts.map +1 -1
  95. package/dist/types/src/recyclable_block_flyout_inflater.d.ts +3 -5
  96. package/dist/types/src/recyclable_block_flyout_inflater.d.ts.map +1 -1
  97. package/dist/types/src/renderer/bowler_hat.d.ts +2 -3
  98. package/dist/types/src/renderer/bowler_hat.d.ts.map +1 -1
  99. package/dist/types/src/renderer/cat/cat_face.d.ts +6 -5
  100. package/dist/types/src/renderer/cat/cat_face.d.ts.map +1 -1
  101. package/dist/types/src/renderer/cat/constants.d.ts +2 -2
  102. package/dist/types/src/renderer/cat/constants.d.ts.map +1 -1
  103. package/dist/types/src/renderer/cat/drawer.d.ts +4 -5
  104. package/dist/types/src/renderer/cat/drawer.d.ts.map +1 -1
  105. package/dist/types/src/renderer/cat/path_object.d.ts +2 -3
  106. package/dist/types/src/renderer/cat/path_object.d.ts.map +1 -1
  107. package/dist/types/src/renderer/cat/render_info.d.ts +3 -4
  108. package/dist/types/src/renderer/cat/render_info.d.ts.map +1 -1
  109. package/dist/types/src/renderer/cat/renderer.d.ts +7 -8
  110. package/dist/types/src/renderer/cat/renderer.d.ts.map +1 -1
  111. package/dist/types/src/renderer/constants.d.ts +41 -0
  112. package/dist/types/src/renderer/constants.d.ts.map +1 -0
  113. package/dist/types/src/renderer/drawer.d.ts +7 -6
  114. package/dist/types/src/renderer/drawer.d.ts.map +1 -1
  115. package/dist/types/src/renderer/path_object.d.ts +1 -3
  116. package/dist/types/src/renderer/path_object.d.ts.map +1 -1
  117. package/dist/types/src/renderer/render_info.d.ts +3 -4
  118. package/dist/types/src/renderer/render_info.d.ts.map +1 -1
  119. package/dist/types/src/renderer/renderer.d.ts +9 -16
  120. package/dist/types/src/renderer/renderer.d.ts.map +1 -1
  121. package/dist/types/src/scratch_block_paster.d.ts +0 -5
  122. package/dist/types/src/scratch_block_paster.d.ts.map +1 -1
  123. package/dist/types/src/scratch_blocks_utils.d.ts +0 -20
  124. package/dist/types/src/scratch_blocks_utils.d.ts.map +1 -1
  125. package/dist/types/src/scratch_comment_bubble.d.ts +3 -6
  126. package/dist/types/src/scratch_comment_bubble.d.ts.map +1 -1
  127. package/dist/types/src/scratch_comment_icon.d.ts +3 -4
  128. package/dist/types/src/scratch_comment_icon.d.ts.map +1 -1
  129. package/dist/types/src/scratch_connection_checker.d.ts +0 -5
  130. package/dist/types/src/scratch_connection_checker.d.ts.map +1 -1
  131. package/dist/types/src/scratch_continuous_category.d.ts +5 -5
  132. package/dist/types/src/scratch_continuous_category.d.ts.map +1 -1
  133. package/dist/types/src/scratch_continuous_toolbox.d.ts +3 -6
  134. package/dist/types/src/scratch_continuous_toolbox.d.ts.map +1 -1
  135. package/dist/types/src/scratch_dragger.d.ts +2 -11
  136. package/dist/types/src/scratch_dragger.d.ts.map +1 -1
  137. package/dist/types/src/scratch_insertion_marker_previewer.d.ts +0 -5
  138. package/dist/types/src/scratch_insertion_marker_previewer.d.ts.map +1 -1
  139. package/dist/types/src/scratch_variable_map.d.ts +0 -5
  140. package/dist/types/src/scratch_variable_map.d.ts.map +1 -1
  141. package/dist/types/src/scratch_variable_model.d.ts +2 -3
  142. package/dist/types/src/scratch_variable_model.d.ts.map +1 -1
  143. package/dist/types/src/scratch_zoom_controls.d.ts +4 -6
  144. package/dist/types/src/scratch_zoom_controls.d.ts.map +1 -1
  145. package/dist/types/src/shadows.d.ts +2 -2
  146. package/dist/types/src/shadows.d.ts.map +1 -1
  147. package/dist/types/src/status_indicator_label.d.ts +4 -6
  148. package/dist/types/src/status_indicator_label.d.ts.map +1 -1
  149. package/dist/types/src/status_indicator_label_flyout_inflater.d.ts +1 -6
  150. package/dist/types/src/status_indicator_label_flyout_inflater.d.ts.map +1 -1
  151. package/dist/types/src/variables.d.ts +4 -8
  152. package/dist/types/src/variables.d.ts.map +1 -1
  153. package/dist/types/src/xml.d.ts +2 -3
  154. package/dist/types/src/xml.d.ts.map +1 -1
  155. package/dist/types/tests/jsunit/block_test.d.ts.map +1 -1
  156. package/dist/types/tests/jsunit/connection_db_test.d.ts +3 -3
  157. package/dist/types/tests/jsunit/connection_db_test.d.ts.map +1 -1
  158. package/dist/types/tests/jsunit/connection_test.d.ts.map +1 -1
  159. package/dist/types/tests/jsunit/event_test.d.ts.map +1 -1
  160. package/dist/types/tests/jsunit/extensions_test.d.ts.map +1 -1
  161. package/dist/types/tests/jsunit/field_number_test.d.ts.map +1 -1
  162. package/dist/types/tests/jsunit/field_test.d.ts.map +1 -1
  163. package/dist/types/tests/jsunit/field_variable_getter_test.d.ts.map +1 -1
  164. package/dist/types/tests/jsunit/field_variable_test.d.ts.map +1 -1
  165. package/dist/types/tests/jsunit/gesture_test.d.ts.map +1 -1
  166. package/dist/types/tests/jsunit/input_test.d.ts +1 -0
  167. package/dist/types/tests/jsunit/input_test.d.ts.map +1 -1
  168. package/dist/types/tests/jsunit/json_test.d.ts.map +1 -1
  169. package/dist/types/tests/jsunit/names_test.d.ts.map +1 -1
  170. package/dist/types/tests/jsunit/procedure_test.d.ts.map +1 -1
  171. package/dist/types/tests/jsunit/scratch_block_comment_test.d.ts.map +1 -1
  172. package/dist/types/tests/jsunit/svg_test.d.ts.map +1 -1
  173. package/dist/types/tests/jsunit/test_utilities.d.ts.map +1 -1
  174. package/dist/types/tests/jsunit/utils_test.d.ts.map +1 -1
  175. package/dist/types/tests/jsunit/variable_map_test.d.ts.map +1 -1
  176. package/dist/types/tests/jsunit/variable_model_test.d.ts.map +1 -1
  177. package/dist/types/tests/jsunit/widget_div_test.d.ts.map +1 -1
  178. package/dist/types/tests/jsunit/workspace_comment_test.d.ts.map +1 -1
  179. package/dist/types/tests/jsunit/workspace_test.d.ts.map +1 -1
  180. package/dist/types/tests/jsunit/workspace_undo_redo_test.d.ts.map +1 -1
  181. package/dist/types/tests/jsunit/xml_test.d.ts.map +1 -1
  182. package/dist/types/tests/workspace_svg/workspace_svg_test.d.ts.map +1 -1
  183. package/eslint.config.mjs +69 -0
  184. package/i18n/create_scratch_msgs.js +44 -45
  185. package/i18n/js_to_json.js +40 -32
  186. package/i18n/json_to_js.js +37 -37
  187. package/i18n/sync_tx_translations.js +64 -65
  188. package/i18n/test_scratch_msgs.js +66 -63
  189. package/msg/js/en.js +289 -287
  190. package/msg/json/en.json +284 -284
  191. package/msg/messages.js +289 -287
  192. package/msg/scratch_msgs.js +22959 -22970
  193. package/package.json +13 -10
  194. package/prettier.config.mjs +3 -0
  195. package/release.config.js +7 -7
  196. package/renovate.json5 +7 -9
  197. package/src/block_reporting.ts +16 -19
  198. package/src/blocks/colour.ts +12 -15
  199. package/src/blocks/control.ts +171 -174
  200. package/src/blocks/data.ts +233 -272
  201. package/src/blocks/event.ts +121 -123
  202. package/src/blocks/looks.ts +165 -167
  203. package/src/blocks/math.ts +44 -46
  204. package/src/blocks/matrix.ts +11 -13
  205. package/src/blocks/motion.ts +151 -153
  206. package/src/blocks/note.ts +11 -13
  207. package/src/blocks/operators.ts +158 -160
  208. package/src/blocks/procedures.ts +421 -511
  209. package/src/blocks/sensing.ts +163 -165
  210. package/src/blocks/sound.ts +58 -60
  211. package/src/blocks/text.ts +10 -12
  212. package/src/blocks/vertical_extensions.ts +86 -102
  213. package/src/checkable_continuous_flyout.ts +25 -42
  214. package/src/checkbox_bubble.ts +83 -100
  215. package/src/colours.ts +35 -37
  216. package/src/constants.ts +22 -29
  217. package/src/context_menu_items.ts +59 -84
  218. package/src/css.ts +3 -4
  219. package/src/data_category.ts +137 -251
  220. package/src/events/events_block_comment_base.ts +23 -30
  221. package/src/events/events_block_comment_change.ts +21 -42
  222. package/src/events/events_block_comment_collapse.ts +27 -36
  223. package/src/events/events_block_comment_create.ts +32 -46
  224. package/src/events/events_block_comment_delete.ts +12 -19
  225. package/src/events/events_block_comment_move.ts +27 -52
  226. package/src/events/events_block_comment_resize.ts +28 -55
  227. package/src/events/events_block_drag_end.ts +16 -26
  228. package/src/events/events_block_drag_outside.ts +12 -22
  229. package/src/events/events_scratch_variable_create.ts +37 -42
  230. package/src/fields/field_colour_slider.ts +186 -216
  231. package/src/fields/field_matrix.ts +202 -270
  232. package/src/fields/field_note.ts +277 -375
  233. package/src/fields/field_textinput_removable.ts +25 -40
  234. package/src/fields/field_variable_getter.ts +26 -31
  235. package/src/fields/field_vertical_separator.ts +19 -24
  236. package/src/fields/scratch_field_angle.ts +151 -187
  237. package/src/fields/scratch_field_dropdown.ts +15 -19
  238. package/src/fields/scratch_field_number.ts +125 -181
  239. package/src/fields/scratch_field_variable.ts +57 -75
  240. package/src/flyout_checkbox_icon.ts +18 -28
  241. package/src/glows.ts +52 -59
  242. package/src/index.ts +119 -133
  243. package/src/procedures.ts +150 -209
  244. package/src/recyclable_block_flyout_inflater.ts +14 -25
  245. package/src/renderer/bowler_hat.ts +6 -8
  246. package/src/renderer/cat/cat_face.ts +98 -99
  247. package/src/renderer/cat/constants.ts +67 -87
  248. package/src/renderer/cat/drawer.ts +21 -27
  249. package/src/renderer/cat/path_object.ts +3 -5
  250. package/src/renderer/cat/render_info.ts +5 -8
  251. package/src/renderer/cat/renderer.ts +12 -16
  252. package/src/renderer/constants.ts +34 -49
  253. package/src/renderer/drawer.ts +35 -51
  254. package/src/renderer/path_object.ts +4 -10
  255. package/src/renderer/render_info.ts +39 -56
  256. package/src/renderer/renderer.ts +17 -30
  257. package/src/scratch_block_paster.ts +12 -20
  258. package/src/scratch_blocks_utils.ts +4 -7
  259. package/src/scratch_comment_bubble.ts +76 -105
  260. package/src/scratch_comment_icon.ts +75 -124
  261. package/src/scratch_connection_checker.ts +7 -17
  262. package/src/scratch_continuous_category.ts +24 -28
  263. package/src/scratch_continuous_toolbox.ts +20 -27
  264. package/src/scratch_dragger.ts +42 -81
  265. package/src/scratch_insertion_marker_previewer.ts +6 -11
  266. package/src/scratch_variable_map.ts +5 -12
  267. package/src/scratch_variable_model.ts +6 -13
  268. package/src/scratch_zoom_controls.ts +101 -156
  269. package/src/shadows.ts +32 -37
  270. package/src/status_indicator_label.ts +54 -67
  271. package/src/status_indicator_label_flyout_inflater.ts +11 -21
  272. package/src/variables.ts +92 -141
  273. package/src/xml.ts +21 -35
  274. package/tsconfig.json +3 -7
  275. package/types/continuous-toolbox.d.ts +1 -1
  276. package/dist/main.mjs.LICENSE.txt +0 -163
package/src/index.ts CHANGED
@@ -1,124 +1,113 @@
1
1
  /**
2
- * @license
3
2
  * Copyright 2023 Google LLC
4
3
  * SPDX-License-Identifier: Apache-2.0
5
4
  */
5
+ import * as Blockly from 'blockly/core'
6
+ import { registerContinuousToolbox, ContinuousMetrics } from '@blockly/continuous-toolbox'
7
+ import './blocks/colour'
8
+ import './blocks/control'
9
+ import './blocks/data'
10
+ import './blocks/event'
11
+ import './blocks/looks'
12
+ import './blocks/math'
13
+ import './blocks/matrix'
14
+ import './blocks/motion'
15
+ import './blocks/note'
16
+ import './blocks/operators'
17
+ import './blocks/procedures'
18
+ import './blocks/sensing'
19
+ import './blocks/sound'
20
+ import './blocks/text'
21
+ import './blocks/vertical_extensions'
22
+ import { CheckableContinuousFlyout } from './checkable_continuous_flyout'
23
+ import { ScratchBlocksTheme } from './constants'
24
+ import * as contextMenuItems from './context_menu_items'
25
+ import './css'
26
+ import './events/events_block_comment_change'
27
+ import './events/events_block_comment_collapse'
28
+ import './events/events_block_comment_create'
29
+ import './events/events_block_comment_delete'
30
+ import './events/events_block_comment_move'
31
+ import './events/events_block_comment_resize'
32
+ import './events/events_scratch_variable_create'
33
+ import { registerFieldColourSlider, FieldColourSlider } from './fields/field_colour_slider'
34
+ import { registerFieldMatrix } from './fields/field_matrix'
35
+ import { registerFieldNote, FieldNote } from './fields/field_note'
36
+ import { registerFieldTextInputRemovable } from './fields/field_textinput_removable'
37
+ import { registerFieldVariableGetter } from './fields/field_variable_getter'
38
+ import { registerFieldVerticalSeparator } from './fields/field_vertical_separator'
39
+ import { registerScratchFieldAngle } from './fields/scratch_field_angle'
40
+ import { registerScratchFieldDropdown } from './fields/scratch_field_dropdown'
41
+ import { registerScratchFieldNumber } from './fields/scratch_field_number'
42
+ import { registerScratchFieldVariable } from './fields/scratch_field_variable'
43
+ import './flyout_checkbox_icon'
44
+ import { buildGlowFilter, glowStack } from './glows'
45
+ import { registerRecyclableBlockFlyoutInflater } from './recyclable_block_flyout_inflater'
46
+ import './renderer/cat/renderer'
47
+ import './renderer/renderer'
48
+ import { registerScratchBlockPaster } from './scratch_block_paster'
49
+ import * as scratchBlocksUtils from './scratch_blocks_utils'
50
+ import './scratch_comment_icon'
51
+ import './scratch_connection_checker'
52
+ import { registerScratchContinuousCategory } from './scratch_continuous_category'
53
+ import { ScratchContinuousToolbox } from './scratch_continuous_toolbox'
54
+ import './scratch_dragger'
55
+ import './scratch_insertion_marker_previewer'
56
+ import './scratch_variable_map'
57
+ import './scratch_variable_model'
58
+ import { ScratchZoomControls } from './scratch_zoom_controls'
59
+ import { buildShadowFilter } from './shadows'
60
+ import { registerStatusIndicatorLabelFlyoutInflater } from './status_indicator_label_flyout_inflater'
61
+ import * as ScratchVariables from './variables'
6
62
 
7
- import * as Blockly from "blockly/core";
8
- import "./blocks/colour";
9
- import "./blocks/math";
10
- import "./blocks/matrix";
11
- import "./blocks/note";
12
- import "./blocks/text";
13
- import "./blocks/vertical_extensions";
14
- import "./blocks/control";
15
- import "./blocks/data";
16
- import "./blocks/event";
17
- import "./blocks/looks";
18
- import "./blocks/motion";
19
- import "./blocks/operators";
20
- import "./blocks/procedures";
21
- import "./blocks/sensing";
22
- import "./blocks/sound";
23
- import * as scratchBlocksUtils from "./scratch_blocks_utils";
24
- import * as ScratchVariables from "./variables";
25
- import "./css";
26
- import "./renderer/cat/renderer";
27
- import "./renderer/renderer";
28
- import * as contextMenuItems from "./context_menu_items";
29
- import {
30
- registerContinuousToolbox,
31
- ContinuousMetrics,
32
- } from "@blockly/continuous-toolbox";
33
- import { CheckableContinuousFlyout } from "./checkable_continuous_flyout";
34
- import { buildGlowFilter, glowStack } from "./glows";
35
- import { ScratchZoomControls } from "./scratch_zoom_controls";
36
- import { ScratchContinuousToolbox } from "./scratch_continuous_toolbox";
37
- import "./scratch_comment_icon";
38
- import "./scratch_dragger";
39
- import "./scratch_variable_map";
40
- import "./scratch_variable_model";
41
- import "./scratch_connection_checker";
42
- import "./scratch_insertion_marker_previewer";
43
- import "./flyout_checkbox_icon";
44
- import "./events/events_block_comment_change";
45
- import "./events/events_block_comment_collapse";
46
- import "./events/events_block_comment_create";
47
- import "./events/events_block_comment_delete";
48
- import "./events/events_block_comment_move";
49
- import "./events/events_block_comment_resize";
50
- import "./events/events_scratch_variable_create";
51
- import { buildShadowFilter } from "./shadows";
52
- import { registerScratchFieldAngle } from "./fields/scratch_field_angle";
53
- import {
54
- registerFieldColourSlider,
55
- FieldColourSlider,
56
- } from "./fields/field_colour_slider";
57
- import { registerScratchFieldDropdown } from "./fields/scratch_field_dropdown";
58
- import { registerFieldMatrix } from "./fields/field_matrix";
59
- import { registerFieldNote, FieldNote } from "./fields/field_note";
60
- import { registerScratchFieldNumber } from "./fields/scratch_field_number";
61
- import { registerFieldTextInputRemovable } from "./fields/field_textinput_removable";
62
- import { registerFieldVariableGetter } from "./fields/field_variable_getter";
63
- import { registerScratchFieldVariable } from "./fields/scratch_field_variable";
64
- import { registerFieldVerticalSeparator } from "./fields/field_vertical_separator";
65
- import { registerRecyclableBlockFlyoutInflater } from "./recyclable_block_flyout_inflater";
66
- import { registerScratchBlockPaster } from "./scratch_block_paster";
67
- import { registerStatusIndicatorLabelFlyoutInflater } from "./status_indicator_label_flyout_inflater";
68
- import { registerScratchContinuousCategory } from "./scratch_continuous_category";
69
- import { ScratchBlocksTheme } from "./constants";
70
-
71
- export * from "blockly/core";
72
- export * from "./block_reporting";
73
- export * from "./procedures";
74
- export * from "../msg/scratch_msgs.js";
75
- export * from "./constants";
76
- export { glowStack };
77
- export { scratchBlocksUtils };
78
- export { CheckableContinuousFlyout };
79
- export { ScratchVariables };
80
- export { contextMenuItems };
81
- export { FieldColourSlider, FieldNote };
82
- export { CheckboxBubble } from "./checkbox_bubble";
83
- export { ScratchZoomControls } from "./scratch_zoom_controls";
84
- export {
85
- StatusIndicatorLabel,
86
- StatusButtonState,
87
- } from "./status_indicator_label";
88
- export * from "./xml";
63
+ export * from 'blockly/core'
64
+ export * from './block_reporting'
65
+ export * from './procedures'
66
+ export * from '../msg/scratch_msgs.js'
67
+ export * from './constants'
68
+ export { glowStack }
69
+ export { scratchBlocksUtils }
70
+ export { CheckableContinuousFlyout }
71
+ export { ScratchVariables }
72
+ export { contextMenuItems }
73
+ export { FieldColourSlider, FieldNote }
74
+ export { CheckboxBubble } from './checkbox_bubble'
75
+ export { ScratchZoomControls } from './scratch_zoom_controls'
76
+ export { StatusIndicatorLabel, StatusButtonState } from './status_indicator_label'
77
+ export * from './xml'
89
78
 
90
79
  interface ScratchBlocksOptions extends Blockly.BlocklyOptions {
91
80
  /**
92
81
  * Scratch uses "theme" to talk about the shape of blocks. The Blockly concept of a theme affects CSS properties and
93
82
  * aligns more closely with "color mode" in Scratch.
94
83
  */
95
- scratchTheme?: ScratchBlocksTheme;
84
+ scratchTheme?: ScratchBlocksTheme
96
85
  }
97
86
 
98
87
  function sanitizeTheme(theme?: ScratchBlocksTheme) {
99
88
  if (theme === ScratchBlocksTheme.CAT_BLOCKS) {
100
- return theme;
89
+ return theme
101
90
  }
102
- return ScratchBlocksTheme.CLASSIC;
91
+ return ScratchBlocksTheme.CLASSIC
103
92
  }
104
93
 
105
94
  export function inject(container: Element, options: ScratchBlocksOptions) {
106
- registerScratchFieldAngle();
107
- registerFieldColourSlider();
108
- registerScratchFieldDropdown();
109
- registerFieldMatrix();
110
- registerFieldNote();
111
- registerScratchFieldNumber();
112
- registerFieldTextInputRemovable();
113
- registerFieldVariableGetter();
114
- registerScratchFieldVariable();
115
- registerFieldVerticalSeparator();
116
- registerRecyclableBlockFlyoutInflater();
117
- registerScratchBlockPaster();
118
- registerStatusIndicatorLabelFlyoutInflater();
119
- registerScratchContinuousCategory();
95
+ registerScratchFieldAngle()
96
+ registerFieldColourSlider()
97
+ registerScratchFieldDropdown()
98
+ registerFieldMatrix()
99
+ registerFieldNote()
100
+ registerScratchFieldNumber()
101
+ registerFieldTextInputRemovable()
102
+ registerFieldVariableGetter()
103
+ registerScratchFieldVariable()
104
+ registerFieldVerticalSeparator()
105
+ registerRecyclableBlockFlyoutInflater()
106
+ registerScratchBlockPaster()
107
+ registerStatusIndicatorLabelFlyoutInflater()
108
+ registerScratchContinuousCategory()
120
109
 
121
- const scratchTheme = sanitizeTheme(options.scratchTheme);
110
+ const scratchTheme = sanitizeTheme(options.scratchTheme)
122
111
 
123
112
  Object.assign(options, {
124
113
  renderer: `scratch_${scratchTheme}`,
@@ -127,47 +116,44 @@ export function inject(container: Element, options: ScratchBlocksOptions) {
127
116
  flyoutsVerticalToolbox: CheckableContinuousFlyout,
128
117
  metricsManager: ContinuousMetrics,
129
118
  },
130
- });
131
- const workspace = Blockly.inject(container, options);
119
+ })
120
+ const workspace = Blockly.inject(container, options)
132
121
 
133
- buildGlowFilter(workspace);
134
- buildShadowFilter(workspace);
122
+ buildGlowFilter(workspace)
123
+ buildShadowFilter(workspace)
135
124
 
136
125
  // Replace Blockly's sprite-sheet zoom controls with SVG-file-based ones so
137
126
  // each button is a separate file and the correct set is picked up via
138
127
  // pathToMedia (which varies by Scratch color mode).
139
- const originalZoomControls = workspace.zoomControls_;
128
+ const originalZoomControls = workspace.zoomControls_
140
129
  if (originalZoomControls) {
141
- originalZoomControls.dispose();
130
+ originalZoomControls.dispose()
142
131
 
143
- const scratchZoomControls = new ScratchZoomControls(workspace);
144
- const zoomControlsSvg = scratchZoomControls.createDom();
145
- workspace.svgGroup_.appendChild(zoomControlsSvg);
146
- scratchZoomControls.init();
132
+ const scratchZoomControls = new ScratchZoomControls(workspace)
133
+ const zoomControlsSvg = scratchZoomControls.createDom()
134
+ workspace.svgGroup_.appendChild(zoomControlsSvg)
135
+ scratchZoomControls.init()
147
136
  }
148
137
 
149
- Blockly.config.dragRadius = 3;
150
- Blockly.config.snapRadius = 48;
151
- Blockly.config.connectingSnapRadius = 68;
152
- Blockly.config.currentConnectionPreference = 20;
153
- Blockly.config.bumpDelay = 0;
138
+ Blockly.config.dragRadius = 3
139
+ Blockly.config.snapRadius = 48
140
+ Blockly.config.connectingSnapRadius = 68
141
+ Blockly.config.currentConnectionPreference = 20
142
+ Blockly.config.bumpDelay = 0
154
143
 
155
- return workspace;
144
+ return workspace
156
145
  }
157
146
 
158
- registerContinuousToolbox();
159
- Blockly.Scrollbar.scrollbarThickness = Blockly.Touch.TOUCH_ENABLED ? 14 : 11;
160
- Blockly.FlyoutButton.TEXT_MARGIN_X = 40;
161
- Blockly.FlyoutButton.TEXT_MARGIN_Y = 10;
162
- Blockly.ContextMenuRegistry.registry.unregister("blockDisable");
163
- Blockly.ContextMenuRegistry.registry.unregister("blockInline");
164
- Blockly.ContextMenuItems.registerCommentOptions();
165
- Blockly.ContextMenuRegistry.registry.unregister("blockDelete");
166
- contextMenuItems.registerDeleteBlock();
167
- contextMenuItems.registerDuplicateBlock();
168
- Blockly.ContextMenuRegistry.registry.unregister("workspaceDelete");
169
- contextMenuItems.registerDeleteAll();
170
- Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(
171
- 200,
172
- 200
173
- );
147
+ registerContinuousToolbox()
148
+ Blockly.Scrollbar.scrollbarThickness = Blockly.Touch.TOUCH_ENABLED ? 14 : 11
149
+ Blockly.FlyoutButton.TEXT_MARGIN_X = 40
150
+ Blockly.FlyoutButton.TEXT_MARGIN_Y = 10
151
+ Blockly.ContextMenuRegistry.registry.unregister('blockDisable')
152
+ Blockly.ContextMenuRegistry.registry.unregister('blockInline')
153
+ Blockly.ContextMenuItems.registerCommentOptions()
154
+ Blockly.ContextMenuRegistry.registry.unregister('blockDelete')
155
+ contextMenuItems.registerDeleteBlock()
156
+ contextMenuItems.registerDuplicateBlock()
157
+ Blockly.ContextMenuRegistry.registry.unregister('workspaceDelete')
158
+ contextMenuItems.registerDeleteAll()
159
+ Blockly.comments.CommentView.defaultCommentSize = new Blockly.utils.Size(200, 200)