blockly 9.3.0-beta.0 → 9.3.0

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 (282) hide show
  1. package/blockly.min.js +1674 -1520
  2. package/blockly_compressed.js +1313 -1152
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks_compressed.js +166 -173
  5. package/blocks_compressed.js.map +1 -1
  6. package/core/any_aliases.d.ts +5 -0
  7. package/core/block.d.ts +49 -17
  8. package/core/block_animations.d.ts +0 -4
  9. package/core/block_drag_surface.d.ts +135 -0
  10. package/core/block_dragger.d.ts +2 -7
  11. package/core/block_svg.d.ts +72 -9
  12. package/core/blockly.d.ts +29 -58
  13. package/core/blockly_options.d.ts +0 -2
  14. package/core/blocks.d.ts +0 -2
  15. package/core/browser_events.d.ts +0 -9
  16. package/core/bubble.d.ts +6 -4
  17. package/core/bubble_dragger.d.ts +2 -3
  18. package/core/bump_objects.d.ts +0 -3
  19. package/core/clipboard.d.ts +0 -3
  20. package/core/comment.d.ts +6 -10
  21. package/core/common.d.ts +0 -12
  22. package/core/component_manager.d.ts +0 -2
  23. package/core/connection.d.ts +19 -6
  24. package/core/connection_checker.d.ts +1 -3
  25. package/core/connection_db.d.ts +0 -2
  26. package/core/connection_type.d.ts +0 -2
  27. package/core/constants.d.ts +0 -4
  28. package/core/contextmenu.d.ts +0 -11
  29. package/core/contextmenu_items.d.ts +0 -27
  30. package/core/contextmenu_registry.d.ts +0 -2
  31. package/core/css.d.ts +0 -2
  32. package/core/delete_area.d.ts +0 -2
  33. package/core/dialog.d.ts +0 -6
  34. package/core/drag_target.d.ts +0 -2
  35. package/core/events/events_abstract.d.ts +0 -3
  36. package/core/events/events_block_base.d.ts +0 -2
  37. package/core/events/events_block_change.d.ts +0 -2
  38. package/core/events/events_block_create.d.ts +0 -2
  39. package/core/events/events_block_delete.d.ts +0 -2
  40. package/core/events/events_block_drag.d.ts +0 -2
  41. package/core/events/events_block_move.d.ts +0 -2
  42. package/core/events/events_bubble_open.d.ts +0 -2
  43. package/core/events/events_click.d.ts +0 -2
  44. package/core/events/events_comment_base.d.ts +0 -2
  45. package/core/events/events_comment_change.d.ts +0 -2
  46. package/core/events/events_comment_create.d.ts +0 -2
  47. package/core/events/events_comment_delete.d.ts +0 -2
  48. package/core/events/events_comment_move.d.ts +0 -2
  49. package/core/events/events_marker_move.d.ts +0 -2
  50. package/core/events/events_selected.d.ts +0 -2
  51. package/core/events/events_theme_change.d.ts +0 -2
  52. package/core/events/events_toolbox_item_select.d.ts +0 -2
  53. package/core/events/events_trashcan_open.d.ts +0 -2
  54. package/core/events/events_ui.d.ts +0 -1
  55. package/core/events/events_ui_base.d.ts +0 -2
  56. package/core/events/events_var_base.d.ts +0 -2
  57. package/core/events/events_var_create.d.ts +0 -2
  58. package/core/events/events_viewport.d.ts +0 -2
  59. package/core/events/utils.d.ts +0 -73
  60. package/core/events/workspace_events.d.ts +0 -2
  61. package/core/extensions.d.ts +0 -8
  62. package/core/field.d.ts +16 -15
  63. package/core/field_angle.d.ts +60 -50
  64. package/core/field_checkbox.d.ts +22 -10
  65. package/core/field_colour.d.ts +55 -42
  66. package/core/field_dropdown.d.ts +34 -18
  67. package/core/field_image.d.ts +9 -12
  68. package/core/field_input.d.ts +34 -11
  69. package/core/field_label.d.ts +7 -10
  70. package/core/field_label_serializable.d.ts +4 -6
  71. package/core/field_multilineinput.d.ts +34 -12
  72. package/core/field_number.d.ts +27 -19
  73. package/core/field_registry.d.ts +0 -3
  74. package/core/field_textinput.d.ts +28 -12
  75. package/core/field_variable.d.ts +28 -16
  76. package/core/flyout_base.d.ts +5 -6
  77. package/core/flyout_button.d.ts +2 -2
  78. package/core/flyout_horizontal.d.ts +0 -2
  79. package/core/flyout_metrics_manager.d.ts +0 -2
  80. package/core/flyout_vertical.d.ts +0 -2
  81. package/core/generator.d.ts +0 -1
  82. package/core/gesture.d.ts +4 -17
  83. package/core/grid.d.ts +0 -2
  84. package/core/icon.d.ts +0 -2
  85. package/core/inject.d.ts +0 -1
  86. package/core/input.d.ts +0 -3
  87. package/core/input_types.d.ts +0 -2
  88. package/core/insertion_marker_manager.d.ts +6 -6
  89. package/core/interfaces/i_ast_node_location.d.ts +0 -2
  90. package/core/interfaces/i_ast_node_location_svg.d.ts +0 -2
  91. package/core/interfaces/i_ast_node_location_with_block.d.ts +0 -2
  92. package/core/interfaces/i_autohideable.d.ts +0 -2
  93. package/core/interfaces/i_block_dragger.d.ts +1 -3
  94. package/core/interfaces/i_bounded_element.d.ts +0 -2
  95. package/core/interfaces/i_bubble.d.ts +6 -4
  96. package/core/interfaces/i_collapsible_toolbox_item.d.ts +0 -2
  97. package/core/interfaces/i_component.d.ts +0 -2
  98. package/core/interfaces/i_connection_checker.d.ts +0 -2
  99. package/core/interfaces/i_contextmenu.d.ts +0 -1
  100. package/core/interfaces/i_copyable.d.ts +3 -2
  101. package/core/interfaces/i_deletable.d.ts +0 -2
  102. package/core/interfaces/i_delete_area.d.ts +0 -2
  103. package/core/interfaces/i_drag_target.d.ts +0 -2
  104. package/core/interfaces/i_draggable.d.ts +0 -2
  105. package/core/interfaces/i_flyout.d.ts +0 -2
  106. package/core/interfaces/i_keyboard_accessible.d.ts +0 -2
  107. package/core/interfaces/i_legacy_procedure_blocks.d.ts +34 -0
  108. package/core/interfaces/i_metrics_manager.d.ts +0 -2
  109. package/core/interfaces/i_movable.d.ts +0 -2
  110. package/core/interfaces/i_positionable.d.ts +0 -2
  111. package/core/interfaces/i_procedure_model.d.ts +0 -5
  112. package/core/interfaces/i_registrable.d.ts +0 -2
  113. package/core/interfaces/i_selectable.d.ts +0 -2
  114. package/core/interfaces/i_selectable_toolbox_item.d.ts +4 -2
  115. package/core/interfaces/i_serializer.d.ts +0 -2
  116. package/core/interfaces/i_styleable.d.ts +0 -2
  117. package/core/interfaces/i_toolbox.d.ts +0 -2
  118. package/core/interfaces/i_toolbox_item.d.ts +0 -2
  119. package/core/interfaces/i_variable_backed_parameter_model.d.ts +17 -0
  120. package/core/internal_constants.d.ts +0 -5
  121. package/core/keyboard_nav/ast_node.d.ts +0 -3
  122. package/core/keyboard_nav/basic_cursor.d.ts +0 -3
  123. package/core/keyboard_nav/cursor.d.ts +0 -3
  124. package/core/keyboard_nav/marker.d.ts +0 -2
  125. package/core/keyboard_nav/tab_navigate_cursor.d.ts +0 -2
  126. package/core/marker_manager.d.ts +0 -2
  127. package/core/menu.d.ts +0 -2
  128. package/core/menuitem.d.ts +0 -2
  129. package/core/metrics_manager.d.ts +0 -2
  130. package/core/mutator.d.ts +0 -2
  131. package/core/names.d.ts +0 -3
  132. package/core/options.d.ts +0 -2
  133. package/core/positionable_helpers.d.ts +0 -7
  134. package/core/procedures.d.ts +2 -25
  135. package/core/registry.d.ts +0 -11
  136. package/core/render_management.d.ts +15 -0
  137. package/core/rendered_connection.d.ts +22 -9
  138. package/core/renderers/common/block_rendering.d.ts +0 -3
  139. package/core/renderers/common/constants.d.ts +6 -51
  140. package/core/renderers/common/debug.d.ts +0 -3
  141. package/core/renderers/common/debugger.d.ts +9 -23
  142. package/core/renderers/common/drawer.d.ts +0 -5
  143. package/core/renderers/common/i_path_object.d.ts +0 -17
  144. package/core/renderers/common/info.d.ts +2 -12
  145. package/core/renderers/common/marker_svg.d.ts +2 -4
  146. package/core/renderers/common/path_object.d.ts +0 -24
  147. package/core/renderers/common/renderer.d.ts +5 -20
  148. package/core/renderers/geras/constants.d.ts +0 -5
  149. package/core/renderers/geras/drawer.d.ts +2 -4
  150. package/core/renderers/geras/highlight_constants.d.ts +6 -17
  151. package/core/renderers/geras/highlighter.d.ts +0 -13
  152. package/core/renderers/geras/info.d.ts +2 -5
  153. package/core/renderers/geras/measurables/inline_input.d.ts +0 -3
  154. package/core/renderers/geras/measurables/statement_input.d.ts +0 -3
  155. package/core/renderers/geras/path_object.d.ts +0 -8
  156. package/core/renderers/geras/renderer.d.ts +5 -7
  157. package/core/renderers/measurables/base.d.ts +0 -3
  158. package/core/renderers/measurables/bottom_row.d.ts +0 -9
  159. package/core/renderers/measurables/connection.d.ts +0 -3
  160. package/core/renderers/measurables/external_value_input.d.ts +0 -3
  161. package/core/renderers/measurables/field.d.ts +0 -3
  162. package/core/renderers/measurables/hat.d.ts +0 -3
  163. package/core/renderers/measurables/icon.d.ts +2 -5
  164. package/core/renderers/measurables/in_row_spacer.d.ts +0 -3
  165. package/core/renderers/measurables/inline_input.d.ts +1 -4
  166. package/core/renderers/measurables/input_connection.d.ts +1 -4
  167. package/core/renderers/measurables/input_row.d.ts +0 -7
  168. package/core/renderers/measurables/jagged_edge.d.ts +2 -5
  169. package/core/renderers/measurables/next_connection.d.ts +0 -3
  170. package/core/renderers/measurables/output_connection.d.ts +0 -3
  171. package/core/renderers/measurables/previous_connection.d.ts +0 -3
  172. package/core/renderers/measurables/round_corner.d.ts +0 -3
  173. package/core/renderers/measurables/row.d.ts +0 -39
  174. package/core/renderers/measurables/spacer_row.d.ts +0 -3
  175. package/core/renderers/measurables/square_corner.d.ts +0 -3
  176. package/core/renderers/measurables/statement_input.d.ts +0 -3
  177. package/core/renderers/measurables/top_row.d.ts +0 -6
  178. package/core/renderers/measurables/types.d.ts +0 -31
  179. package/core/renderers/minimalist/constants.d.ts +2 -4
  180. package/core/renderers/minimalist/drawer.d.ts +0 -3
  181. package/core/renderers/minimalist/info.d.ts +0 -4
  182. package/core/renderers/minimalist/renderer.d.ts +0 -3
  183. package/core/renderers/thrasos/info.d.ts +0 -4
  184. package/core/renderers/thrasos/renderer.d.ts +3 -3
  185. package/core/renderers/zelos/constants.d.ts +3 -17
  186. package/core/renderers/zelos/drawer.d.ts +0 -3
  187. package/core/renderers/zelos/info.d.ts +0 -4
  188. package/core/renderers/zelos/marker_svg.d.ts +0 -2
  189. package/core/renderers/zelos/measurables/bottom_row.d.ts +0 -3
  190. package/core/renderers/zelos/measurables/inputs.d.ts +0 -3
  191. package/core/renderers/zelos/measurables/row_elements.d.ts +0 -3
  192. package/core/renderers/zelos/measurables/top_row.d.ts +0 -3
  193. package/core/renderers/zelos/path_object.d.ts +0 -9
  194. package/core/renderers/zelos/renderer.d.ts +3 -5
  195. package/core/scrollbar.d.ts +0 -2
  196. package/core/scrollbar_pair.d.ts +0 -2
  197. package/core/serialization/blocks.d.ts +3 -9
  198. package/core/serialization/exceptions.d.ts +0 -8
  199. package/core/serialization/priorities.d.ts +0 -4
  200. package/core/serialization/registry.d.ts +0 -2
  201. package/core/serialization/variables.d.ts +0 -4
  202. package/core/serialization/workspaces.d.ts +0 -2
  203. package/core/shortcut_items.d.ts +0 -17
  204. package/core/shortcut_registry.d.ts +0 -2
  205. package/core/sprites.d.ts +0 -2
  206. package/core/theme/classic.d.ts +0 -2
  207. package/core/theme/zelos.d.ts +0 -2
  208. package/core/theme.d.ts +0 -2
  209. package/core/theme_manager.d.ts +3 -6
  210. package/core/toolbox/category.d.ts +5 -7
  211. package/core/toolbox/collapsible_category.d.ts +0 -4
  212. package/core/toolbox/separator.d.ts +0 -2
  213. package/core/toolbox/toolbox.d.ts +2 -5
  214. package/core/toolbox/toolbox_item.d.ts +0 -2
  215. package/core/tooltip.d.ts +0 -29
  216. package/core/touch.d.ts +0 -13
  217. package/core/trashcan.d.ts +0 -2
  218. package/core/utils/aria.d.ts +0 -6
  219. package/core/utils/array.d.ts +0 -1
  220. package/core/utils/colour.d.ts +0 -12
  221. package/core/utils/coordinate.d.ts +0 -2
  222. package/core/utils/deprecation.d.ts +0 -1
  223. package/core/utils/dom.d.ts +0 -25
  224. package/core/utils/idgenerator.d.ts +0 -2
  225. package/core/utils/keycodes.d.ts +0 -2
  226. package/core/utils/math.d.ts +0 -3
  227. package/core/utils/metrics.d.ts +0 -1
  228. package/core/utils/object.d.ts +0 -4
  229. package/core/utils/parsing.d.ts +0 -4
  230. package/core/utils/rect.d.ts +0 -2
  231. package/core/utils/size.d.ts +0 -2
  232. package/core/utils/string.d.ts +0 -6
  233. package/core/utils/style.d.ts +0 -8
  234. package/core/utils/svg.d.ts +0 -2
  235. package/core/utils/svg_math.d.ts +0 -6
  236. package/core/utils/svg_paths.d.ts +0 -8
  237. package/core/utils/toolbox.d.ts +2 -35
  238. package/core/utils/useragent.d.ts +0 -8
  239. package/core/utils/xml.d.ts +9 -8
  240. package/core/utils.d.ts +0 -12
  241. package/core/variable_map.d.ts +1 -3
  242. package/core/variable_model.d.ts +0 -1
  243. package/core/variables.d.ts +13 -17
  244. package/core/variables_dynamic.d.ts +0 -4
  245. package/core/warning.d.ts +0 -2
  246. package/core/widgetdiv.d.ts +0 -10
  247. package/core/workspace.d.ts +3 -3
  248. package/core/workspace_audio.d.ts +0 -2
  249. package/core/workspace_comment.d.ts +1 -3
  250. package/core/workspace_comment_svg.d.ts +16 -5
  251. package/core/workspace_drag_surface_svg.d.ts +74 -0
  252. package/core/workspace_dragger.d.ts +3 -2
  253. package/core/workspace_svg.d.ts +48 -8
  254. package/core/xml.d.ts +1 -13
  255. package/core/zoom_controls.d.ts +4 -15
  256. package/dart_compressed.js +199 -199
  257. package/dart_compressed.js.map +1 -1
  258. package/javascript_compressed.js +168 -168
  259. package/javascript_compressed.js.map +1 -1
  260. package/lua_compressed.js +211 -211
  261. package/lua_compressed.js.map +1 -1
  262. package/msg/bn.js +2 -2
  263. package/msg/bs.js +7 -7
  264. package/msg/de.js +1 -1
  265. package/msg/fi.js +1 -1
  266. package/msg/fr.js +3 -3
  267. package/msg/ia.js +5 -5
  268. package/msg/kn.js +5 -5
  269. package/msg/ko.js +1 -1
  270. package/msg/lb.js +22 -22
  271. package/msg/sd.js +9 -9
  272. package/msg/skr-arab.js +2 -2
  273. package/msg/sl.js +18 -18
  274. package/msg/sw.js +1 -1
  275. package/msg/zh-hans.js +6 -6
  276. package/msg/zh-hant.js +2 -2
  277. package/package.json +6 -6
  278. package/php_compressed.js +185 -185
  279. package/php_compressed.js.map +1 -1
  280. package/python_compressed.js +138 -138
  281. package/python_compressed.js.map +1 -1
  282. package/core/utils/sentinel.d.ts +0 -18
@@ -3,20 +3,17 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Field } from './field.js';
6
7
  import { FieldTextInput, FieldTextInputConfig, FieldTextInputValidator } from './field_textinput.js';
7
- import type { Sentinel } from './utils/sentinel.js';
8
- export type FieldMultilineInputValidator = FieldTextInputValidator;
9
8
  /**
10
9
  * Class for an editable text area field.
11
- *
12
- * @alias Blockly.FieldMultilineInput
13
10
  */
14
11
  export declare class FieldMultilineInput extends FieldTextInput {
15
12
  /**
16
13
  * The SVG group element that will contain a text element for each text row
17
14
  * when initialized.
18
15
  */
19
- textGroup_: SVGGElement;
16
+ textGroup: SVGGElement | null;
20
17
  /**
21
18
  * Defines the maximum number of lines of field.
22
19
  * If exceeded, scrolling functionality is enabled.
@@ -25,21 +22,26 @@ export declare class FieldMultilineInput extends FieldTextInput {
25
22
  /** Whether Y overflow is currently occurring. */
26
23
  protected isOverflowedY_: boolean;
27
24
  /**
28
- * @param opt_value The initial content of the field. Should cast to a string.
25
+ * @param value The initial content of the field. Should cast to a string.
29
26
  * Defaults to an empty string if null or undefined. Also accepts
30
27
  * Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
31
28
  * that want to handle configuration and setting the field value after
32
29
  * their own constructors have run).
33
- * @param opt_validator An optional function that is called to validate any
30
+ * @param validator An optional function that is called to validate any
34
31
  * constraints on what the user entered. Takes the new text as an
35
32
  * argument and returns either the accepted text, a replacement text, or
36
33
  * null to abort the change.
37
- * @param opt_config A map of options used to configure the field.
34
+ * @param config A map of options used to configure the field.
38
35
  * See the [field creation documentation]{@link
39
36
  * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/multiline-text-input#creation}
40
37
  * for a list of properties this parameter supports.
41
38
  */
42
- constructor(opt_value?: string | Sentinel, opt_validator?: FieldMultilineInputValidator, opt_config?: FieldMultilineInputConfig);
39
+ constructor(value?: string | typeof Field.SKIP_SETUP, validator?: FieldMultilineInputValidator, config?: FieldMultilineInputConfig);
40
+ /**
41
+ * Configure the field based on the given map of options.
42
+ *
43
+ * @param config A map of options to configure the field based on.
44
+ */
43
45
  protected configure_(config: FieldMultilineInputConfig): void;
44
46
  /**
45
47
  * Serializes this field's value to XML. Should only be called by Blockly.Xml.
@@ -60,6 +62,8 @@ export declare class FieldMultilineInput extends FieldTextInput {
60
62
  fromXml(fieldElement: Element): void;
61
63
  /**
62
64
  * Saves this field's value.
65
+ * This function only exists for subclasses of FieldMultilineInput which
66
+ * predate the load/saveState API and only define to/fromXml.
63
67
  *
64
68
  * @returns The state of this field.
65
69
  * @internal
@@ -67,6 +71,8 @@ export declare class FieldMultilineInput extends FieldTextInput {
67
71
  saveState(): any;
68
72
  /**
69
73
  * Sets the field's value based on the given state.
74
+ * This function only exists for subclasses of FieldMultilineInput which
75
+ * predate the load/saveState API and only define to/fromXml.
70
76
  *
71
77
  * @param state The state of the variable to assign to this variable field.
72
78
  * @internal
@@ -104,12 +110,12 @@ export declare class FieldMultilineInput extends FieldTextInput {
104
110
  * Overrides the default behaviour to force rerender in order to
105
111
  * correct block size, based on editor text.
106
112
  *
107
- * @param _opt_e Optional mouse event that triggered the field to open, or
113
+ * @param e Optional mouse event that triggered the field to open, or
108
114
  * undefined if triggered programmatically.
109
- * @param opt_quietInput True if editor should be created without focus.
115
+ * @param quietInput True if editor should be created without focus.
110
116
  * Defaults to false.
111
117
  */
112
- showEditor_(_opt_e?: Event, opt_quietInput?: boolean): void;
118
+ showEditor_(e?: Event, quietInput?: boolean): void;
113
119
  /**
114
120
  * Create the text input editor widget.
115
121
  *
@@ -159,4 +165,20 @@ export interface FieldMultilineInputConfig extends FieldTextInputConfig {
159
165
  export interface FieldMultilineInputFromJsonConfig extends FieldMultilineInputConfig {
160
166
  text?: string;
161
167
  }
168
+ /**
169
+ * A function that is called to validate changes to the field's value before
170
+ * they are set.
171
+ *
172
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
173
+ * @param newValue The value to be validated.
174
+ * @returns One of three instructions for setting the new value: `T`, `null`,
175
+ * or `undefined`.
176
+ *
177
+ * - `T` to set this function's returned value instead of `newValue`.
178
+ *
179
+ * - `null` to invoke `doValueInvalid_` and not set a value.
180
+ *
181
+ * - `undefined` to set `newValue` as is.
182
+ */
183
+ export type FieldMultilineInputValidator = FieldTextInputValidator;
162
184
  //# sourceMappingURL=field_multilineinput.d.ts.map
@@ -3,13 +3,10 @@
3
3
  * Copyright 2016 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Field } from './field.js';
6
7
  import { FieldInput, FieldInputConfig, FieldInputValidator } from './field_input.js';
7
- import type { Sentinel } from './utils/sentinel.js';
8
- export type FieldNumberValidator = FieldInputValidator<number>;
9
8
  /**
10
9
  * Class for an editable number field.
11
- *
12
- * @alias Blockly.FieldNumber
13
10
  */
14
11
  export declare class FieldNumber extends FieldInput<number> {
15
12
  /** The minimum value this number field can contain. */
@@ -23,33 +20,28 @@ export declare class FieldNumber extends FieldInput<number> {
23
20
  * decimal digits.
24
21
  */
25
22
  private decimalPlaces_;
26
- /**
27
- * Serializable fields are saved by the serializer, non-serializable fields
28
- * are not. Editable fields should also be serializable.
29
- */
30
- SERIALIZABLE: boolean;
31
23
  /** Don't spellcheck numbers. Our validator does a better job. */
32
24
  protected spellcheck_: boolean;
33
25
  /**
34
- * @param opt_value The initial value of the field. Should cast to a number.
26
+ * @param value The initial value of the field. Should cast to a number.
35
27
  * Defaults to 0. Also accepts Field.SKIP_SETUP if you wish to skip setup
36
28
  * (only used by subclasses that want to handle configuration and setting
37
29
  * the field value after their own constructors have run).
38
- * @param opt_min Minimum value. Will only be used if opt_config is not
30
+ * @param min Minimum value. Will only be used if config is not
39
31
  * provided.
40
- * @param opt_max Maximum value. Will only be used if opt_config is not
32
+ * @param max Maximum value. Will only be used if config is not
41
33
  * provided.
42
- * @param opt_precision Precision for value. Will only be used if opt_config
34
+ * @param precision Precision for value. Will only be used if config
43
35
  * is not provided.
44
- * @param opt_validator A function that is called to validate changes to the
36
+ * @param validator A function that is called to validate changes to the
45
37
  * field's value. Takes in a number & returns a validated number, or null
46
38
  * to abort the change.
47
- * @param opt_config A map of options used to configure the field.
39
+ * @param config A map of options used to configure the field.
48
40
  * See the [field creation documentation]{@link
49
41
  * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/number#creation}
50
42
  * for a list of properties this parameter supports.
51
43
  */
52
- constructor(opt_value?: string | number | Sentinel, opt_min?: string | number | null, opt_max?: string | number | null, opt_precision?: string | number | null, opt_validator?: FieldNumberValidator | null, opt_config?: FieldNumberConfig);
44
+ constructor(value?: string | number | typeof Field.SKIP_SETUP, min?: string | number | null, max?: string | number | null, precision?: string | number | null, validator?: FieldNumberValidator | null, config?: FieldNumberConfig);
53
45
  /**
54
46
  * Configure the field based on the given map of options.
55
47
  *
@@ -138,16 +130,16 @@ export declare class FieldNumber extends FieldInput<number> {
138
130
  * Ensure that the input value is a valid number (must fulfill the
139
131
  * constraints placed on the field).
140
132
  *
141
- * @param opt_newValue The input value.
133
+ * @param newValue The input value.
142
134
  * @returns A valid number, or null if invalid.
143
135
  */
144
- protected doClassValidation_(opt_newValue?: any): number | null;
136
+ protected doClassValidation_(newValue?: any): number | null;
145
137
  /**
146
138
  * Create the number input editor widget.
147
139
  *
148
140
  * @returns The newly created number input editor.
149
141
  */
150
- protected widgetCreate_(): HTMLElement;
142
+ protected widgetCreate_(): HTMLInputElement;
151
143
  /**
152
144
  * Construct a FieldNumber from a JSON arg object.
153
145
  *
@@ -172,4 +164,20 @@ export interface FieldNumberConfig extends FieldInputConfig {
172
164
  export interface FieldNumberFromJsonConfig extends FieldNumberConfig {
173
165
  value?: number;
174
166
  }
167
+ /**
168
+ * A function that is called to validate changes to the field's value before
169
+ * they are set.
170
+ *
171
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
172
+ * @param newValue The value to be validated.
173
+ * @returns One of three instructions for setting the new value: `T`, `null`,
174
+ * or `undefined`.
175
+ *
176
+ * - `T` to set this function's returned value instead of `newValue`.
177
+ *
178
+ * - `null` to invoke `doValueInvalid_` and not set a value.
179
+ *
180
+ * - `undefined` to set `newValue` as is.
181
+ */
182
+ export type FieldNumberValidator = FieldInputValidator<number>;
175
183
  //# sourceMappingURL=field_number.d.ts.map
@@ -18,14 +18,12 @@ interface RegistryOptions {
18
18
  * construct an instance of the field.
19
19
  * @throws {Error} if the type name is empty, the field is already registered,
20
20
  * or the fieldClass is not an object containing a fromJson function.
21
- * @alias Blockly.fieldRegistry.register
22
21
  */
23
22
  export declare function register(type: string, fieldClass: FieldProto): void;
24
23
  /**
25
24
  * Unregisters the field registered with the given type.
26
25
  *
27
26
  * @param type The field type name as used in the JSON definition.
28
- * @alias Blockly.fieldRegistry.unregister
29
27
  */
30
28
  export declare function unregister(type: string): void;
31
29
  /**
@@ -37,7 +35,6 @@ export declare function unregister(type: string): void;
37
35
  * type.
38
36
  * @returns The new field instance or null if a field wasn't found with the
39
37
  * given type name
40
- * @alias Blockly.fieldRegistry.fromJson
41
38
  * @internal
42
39
  */
43
40
  export declare function fromJson<T>(options: RegistryOptions): Field<T> | null;
@@ -4,37 +4,34 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import './events/events_block_change.js';
7
+ import { Field } from './field.js';
7
8
  import { FieldInput, FieldInputConfig, FieldInputValidator } from './field_input.js';
8
- import type { Sentinel } from './utils/sentinel.js';
9
- export type FieldTextInputValidator = FieldInputValidator<string>;
10
9
  /**
11
10
  * Class for an editable text field.
12
- *
13
- * @alias Blockly.FieldTextInput
14
11
  */
15
12
  export declare class FieldTextInput extends FieldInput<string> {
16
13
  /**
17
- * @param opt_value The initial value of the field. Should cast to a string.
14
+ * @param value The initial value of the field. Should cast to a string.
18
15
  * Defaults to an empty string if null or undefined. Also accepts
19
16
  * Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
20
17
  * that want to handle configuration and setting the field value after
21
18
  * their own constructors have run).
22
- * @param opt_validator A function that is called to validate changes to the
19
+ * @param validator A function that is called to validate changes to the
23
20
  * field's value. Takes in a string & returns a validated string, or null
24
21
  * to abort the change.
25
- * @param opt_config A map of options used to configure the field.
22
+ * @param config A map of options used to configure the field.
26
23
  * See the [field creation documentation]{@link
27
24
  * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/text-input#creation}
28
25
  * for a list of properties this parameter supports.
29
26
  */
30
- constructor(opt_value?: string | Sentinel, opt_validator?: FieldTextInputValidator | null, opt_config?: FieldInputConfig);
27
+ constructor(value?: string | typeof Field.SKIP_SETUP, validator?: FieldTextInputValidator | null, config?: FieldTextInputConfig);
31
28
  /**
32
29
  * Ensure that the input value casts to a valid string.
33
30
  *
34
- * @param opt_newValue The input value.
31
+ * @param newValue The input value.
35
32
  * @returns A valid string, or null if invalid.
36
33
  */
37
- protected doClassValidation_(opt_newValue?: any): string | null;
34
+ protected doClassValidation_(newValue?: any): string | null;
38
35
  /**
39
36
  * Construct a FieldTextInput from a JSON arg object,
40
37
  * dereferencing any string table references.
@@ -46,11 +43,30 @@ export declare class FieldTextInput extends FieldInput<string> {
46
43
  */
47
44
  static fromJson(options: FieldTextInputFromJsonConfig): FieldTextInput;
48
45
  }
46
+ /**
47
+ * Config options for the text input field.
48
+ */
49
+ export type FieldTextInputConfig = FieldInputConfig;
49
50
  /**
50
51
  * fromJson config options for the text input field.
51
52
  */
52
- export interface FieldTextInputFromJsonConfig extends FieldInputConfig {
53
+ export interface FieldTextInputFromJsonConfig extends FieldTextInputConfig {
53
54
  text?: string;
54
55
  }
55
- export { FieldInputConfig as FieldTextInputConfig };
56
+ /**
57
+ * A function that is called to validate changes to the field's value before
58
+ * they are set.
59
+ *
60
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
61
+ * @param newValue The value to be validated.
62
+ * @returns One of three instructions for setting the new value: `T`, `null`,
63
+ * or `undefined`.
64
+ *
65
+ * - `T` to set this function's returned value instead of `newValue`.
66
+ *
67
+ * - `null` to invoke `doValueInvalid_` and not set a value.
68
+ *
69
+ * - `undefined` to set `newValue` as is.
70
+ */
71
+ export type FieldTextInputValidator = FieldInputValidator<string>;
56
72
  //# sourceMappingURL=field_textinput.d.ts.map
@@ -5,18 +5,14 @@
5
5
  */
6
6
  import './events/events_block_change.js';
7
7
  import type { Block } from './block.js';
8
- import { FieldConfig } from './field.js';
8
+ import { Field, FieldConfig } from './field.js';
9
9
  import { FieldDropdown, FieldDropdownValidator, MenuGenerator, MenuOption } from './field_dropdown.js';
10
10
  import type { Menu } from './menu.js';
11
11
  import type { MenuItem } from './menuitem.js';
12
- import type { Sentinel } from './utils/sentinel.js';
13
12
  import { Size } from './utils/size.js';
14
13
  import { VariableModel } from './variable_model.js';
15
- export type FieldVariableValidator = FieldDropdownValidator;
16
14
  /**
17
15
  * Class for a variable's dropdown field.
18
- *
19
- * @alias Blockly.FieldVariable
20
16
  */
21
17
  export declare class FieldVariable extends FieldDropdown {
22
18
  protected menuGenerator_: MenuGenerator | undefined;
@@ -42,20 +38,20 @@ export declare class FieldVariable extends FieldDropdown {
42
38
  * Also accepts Field.SKIP_SETUP if you wish to skip setup (only used by
43
39
  * subclasses that want to handle configuration and setting the field value
44
40
  * after their own constructors have run).
45
- * @param opt_validator A function that is called to validate changes to the
41
+ * @param validator A function that is called to validate changes to the
46
42
  * field's value. Takes in a variable ID & returns a validated variable
47
43
  * ID, or null to abort the change.
48
- * @param opt_variableTypes A list of the types of variables to include in the
49
- * dropdown. Will only be used if opt_config is not provided.
50
- * @param opt_defaultType The type of variable to create if this field's value
51
- * is not explicitly set. Defaults to ''. Will only be used if opt_config
44
+ * @param variableTypes A list of the types of variables to include in the
45
+ * dropdown. Will only be used if config is not provided.
46
+ * @param defaultType The type of variable to create if this field's value
47
+ * is not explicitly set. Defaults to ''. Will only be used if config
52
48
  * is not provided.
53
- * @param opt_config A map of options used to configure the field.
49
+ * @param config A map of options used to configure the field.
54
50
  * See the [field creation documentation]{@link
55
51
  * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/variable#creation}
56
52
  * for a list of properties this parameter supports.
57
53
  */
58
- constructor(varName: string | null | Sentinel, opt_validator?: FieldVariableValidator, opt_variableTypes?: string[], opt_defaultType?: string, opt_config?: FieldVariableConfig);
54
+ constructor(varName: string | null | typeof Field.SKIP_SETUP, validator?: FieldVariableValidator, variableTypes?: string[], defaultType?: string, config?: FieldVariableConfig);
59
55
  /**
60
56
  * Configure the field based on the given map of options.
61
57
  *
@@ -143,10 +139,10 @@ export declare class FieldVariable extends FieldDropdown {
143
139
  /**
144
140
  * Ensure that the ID belongs to a valid variable of an allowed type.
145
141
  *
146
- * @param opt_newValue The ID of the new variable to set.
142
+ * @param newValue The ID of the new variable to set.
147
143
  * @returns The validated ID, or null if invalid.
148
144
  */
149
- protected doClassValidation_(opt_newValue?: any): string | null;
145
+ protected doClassValidation_(newValue?: any): string | null;
150
146
  /**
151
147
  * Update the value of this variable field, as well as its variable and text.
152
148
  *
@@ -174,10 +170,10 @@ export declare class FieldVariable extends FieldDropdown {
174
170
  * Parse the optional arguments representing the allowed variable types and
175
171
  * the default variable type.
176
172
  *
177
- * @param opt_variableTypes A list of the types of variables to include in the
173
+ * @param variableTypes A list of the types of variables to include in the
178
174
  * dropdown. If null or undefined, variables of all types will be
179
175
  * displayed in the dropdown.
180
- * @param opt_defaultType The type of the variable to create if this field's
176
+ * @param defaultType The type of the variable to create if this field's
181
177
  * value is not explicitly set. Defaults to ''.
182
178
  */
183
179
  private setTypes_;
@@ -238,4 +234,20 @@ export interface FieldVariableConfig extends FieldConfig {
238
234
  export interface FieldVariableFromJsonConfig extends FieldVariableConfig {
239
235
  variable?: string;
240
236
  }
237
+ /**
238
+ * A function that is called to validate changes to the field's value before
239
+ * they are set.
240
+ *
241
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
242
+ * @param newValue The value to be validated.
243
+ * @returns One of three instructions for setting the new value: `T`, `null`,
244
+ * or `undefined`.
245
+ *
246
+ * - `T` to set this function's returned value instead of `newValue`.
247
+ *
248
+ * - `null` to invoke `doValueInvalid_` and not set a value.
249
+ *
250
+ * - `undefined` to set `newValue` as is.
251
+ */
252
+ export type FieldVariableValidator = FieldDropdownValidator;
241
253
  //# sourceMappingURL=field_variable.d.ts.map
@@ -18,8 +18,6 @@ declare enum FlyoutItemType {
18
18
  }
19
19
  /**
20
20
  * Class for a flyout.
21
- *
22
- * @alias Blockly.Flyout
23
21
  */
24
22
  export declare abstract class Flyout extends DeleteArea implements IFlyout {
25
23
  /**
@@ -50,8 +48,7 @@ export declare abstract class Flyout extends DeleteArea implements IFlyout {
50
48
  /**
51
49
  * Lay out the blocks in the flyout.
52
50
  *
53
- * @param contents The blocks and buttons to lay
54
- * out.
51
+ * @param contents The blocks and buttons to lay out.
55
52
  * @param gaps The visible gaps between blocks.
56
53
  */
57
54
  protected abstract layout_(contents: FlyoutItem[], gaps: number[]): void;
@@ -96,9 +93,11 @@ export declare abstract class Flyout extends DeleteArea implements IFlyout {
96
93
  horizontalLayout: boolean;
97
94
  protected toolboxPosition_: number;
98
95
  /**
99
- * Opaque data that can be passed to Blockly.unbindEvent_.
96
+ * Array holding info needed to unbind events.
97
+ * Used for disposing.
98
+ * Ex: [[node, name, func], [node, name, func]].
100
99
  */
101
- private eventWrappers_;
100
+ private boundEvents;
102
101
  /**
103
102
  * Function that will be registered as a change listener on the workspace
104
103
  * to reflow when blocks in the flyout workspace change.
@@ -8,8 +8,6 @@ import type * as toolbox from './utils/toolbox.js';
8
8
  import type { WorkspaceSvg } from './workspace_svg.js';
9
9
  /**
10
10
  * Class for a button or label in the flyout.
11
- *
12
- * @alias Blockly.FlyoutButton
13
11
  */
14
12
  export declare class FlyoutButton {
15
13
  private readonly workspace;
@@ -19,6 +17,8 @@ export declare class FlyoutButton {
19
17
  static TEXT_MARGIN_X: number;
20
18
  /** The vertical margin around the text in the button. */
21
19
  static TEXT_MARGIN_Y: number;
20
+ /** The radius of the flyout button's borders. */
21
+ static BORDER_RADIUS: number;
22
22
  private readonly text_;
23
23
  private readonly position_;
24
24
  private readonly callbackKey_;
@@ -9,8 +9,6 @@ import type { Coordinate } from './utils/coordinate.js';
9
9
  import { Rect } from './utils/rect.js';
10
10
  /**
11
11
  * Class for a flyout.
12
- *
13
- * @alias Blockly.HorizontalFlyout
14
12
  */
15
13
  export declare class HorizontalFlyout extends Flyout {
16
14
  horizontalLayout: boolean;
@@ -9,8 +9,6 @@ import type { WorkspaceSvg } from './workspace_svg.js';
9
9
  /**
10
10
  * Calculates metrics for a flyout's workspace.
11
11
  * The metrics are mainly used to size scrollbars for the flyout.
12
- *
13
- * @alias Blockly.FlyoutMetricsManager
14
12
  */
15
13
  export declare class FlyoutMetricsManager extends MetricsManager {
16
14
  /** The flyout that owns the workspace to calculate metrics for. */
@@ -9,8 +9,6 @@ import type { Coordinate } from './utils/coordinate.js';
9
9
  import { Rect } from './utils/rect.js';
10
10
  /**
11
11
  * Class for a flyout.
12
- *
13
- * @alias Blockly.VerticalFlyout
14
12
  */
15
13
  export declare class VerticalFlyout extends Flyout {
16
14
  /** The name of the vertical flyout in the registry. */
@@ -10,7 +10,6 @@ import type { Workspace } from './workspace.js';
10
10
  * Class for a code generator that translates the blocks into a language.
11
11
  *
12
12
  * @unrestricted
13
- * @alias Blockly.CodeGenerator
14
13
  */
15
14
  export declare class CodeGenerator {
16
15
  name_: string;
package/core/gesture.d.ts CHANGED
@@ -5,7 +5,6 @@
5
5
  */
6
6
  import './events/events_click.js';
7
7
  import type { BlockSvg } from './block_svg.js';
8
- import * as browserEvents from './browser_events.js';
9
8
  import { BubbleDragger } from './bubble_dragger.js';
10
9
  import type { Field } from './field.js';
11
10
  import type { IBlockDragger } from './interfaces/i_block_dragger.js';
@@ -16,8 +15,6 @@ import { WorkspaceDragger } from './workspace_dragger.js';
16
15
  import type { WorkspaceSvg } from './workspace_svg.js';
17
16
  /**
18
17
  * Class for one gesture.
19
- *
20
- * @alias Blockly.Gesture
21
18
  */
22
19
  export declare class Gesture {
23
20
  private readonly creatorWorkspace;
@@ -63,15 +60,11 @@ export declare class Gesture {
63
60
  */
64
61
  private hasExceededDragRadius_;
65
62
  /**
66
- * A handle to use to unbind a pointermove listener at the end of a drag.
67
- * Opaque data returned from Blockly.bindEventWithChecks_.
63
+ * Array holding info needed to unbind events.
64
+ * Used for disposing.
65
+ * Ex: [[node, name, func], [node, name, func]].
68
66
  */
69
- protected onMoveWrapper_: browserEvents.Data | null;
70
- /**
71
- * A handle to use to unbind a pointerup listener at the end of a drag.
72
- * Opaque data returned from Blockly.bindEventWithChecks_.
73
- */
74
- protected onUpWrapper_: browserEvents.Data | null;
67
+ private boundEvents;
75
68
  /** The object tracking a bubble drag, or null if none is in progress. */
76
69
  private bubbleDragger_;
77
70
  /** The object tracking a block drag, or null if none is in progress. */
@@ -105,12 +98,6 @@ export declare class Gesture {
105
98
  private previousScale_;
106
99
  /** The starting distance between two touch points. */
107
100
  private startDistance_;
108
- /**
109
- * A handle to use to unbind the second pointerdown listener
110
- * at the end of a drag.
111
- * Opaque data returned from Blockly.bindEventWithChecks_.
112
- */
113
- private onStartWrapper_;
114
101
  /** Boolean for whether or not the workspace supports pinch-zoom. */
115
102
  private isPinchZoomEnabled_;
116
103
  /**
package/core/grid.d.ts CHANGED
@@ -6,8 +6,6 @@
6
6
  import { GridOptions } from './options.js';
7
7
  /**
8
8
  * Class for a workspace's grid.
9
- *
10
- * @alias Blockly.Grid
11
9
  */
12
10
  export declare class Grid {
13
11
  private pattern;
package/core/icon.d.ts CHANGED
@@ -9,8 +9,6 @@ import { Coordinate } from './utils/coordinate.js';
9
9
  import { Size } from './utils/size.js';
10
10
  /**
11
11
  * Class for an icon.
12
- *
13
- * @alias Blockly.Icon
14
12
  */
15
13
  export declare abstract class Icon {
16
14
  protected block_: BlockSvg | null;
package/core/inject.d.ts CHANGED
@@ -11,7 +11,6 @@ import { WorkspaceSvg } from './workspace_svg.js';
11
11
  * @param container Containing element, or its ID, or a CSS selector.
12
12
  * @param opt_options Optional dictionary of options.
13
13
  * @returns Newly created main workspace.
14
- * @alias Blockly.inject
15
14
  */
16
15
  export declare function inject(container: Element | string, opt_options?: BlocklyOptions): WorkspaceSvg;
17
16
  //# sourceMappingURL=inject.d.ts.map
package/core/input.d.ts CHANGED
@@ -10,8 +10,6 @@ import type { Connection } from './connection.js';
10
10
  import type { Field } from './field.js';
11
11
  /**
12
12
  * Class for an input with an optional field.
13
- *
14
- * @alias Blockly.Input
15
13
  */
16
14
  export declare class Input {
17
15
  type: number;
@@ -131,7 +129,6 @@ export declare namespace Input {
131
129
  /**
132
130
  * Enum for alignment of inputs.
133
131
  *
134
- * @alias Blockly.Input.Align
135
132
  */
136
133
  enum Align {
137
134
  LEFT = -1,
@@ -5,8 +5,6 @@
5
5
  */
6
6
  /**
7
7
  * Enum for the type of a connection or input.
8
- *
9
- * @alias Blockly.inputTypes
10
8
  */
11
9
  export declare enum inputTypes {
12
10
  VALUE = 1,
@@ -10,8 +10,6 @@ import type { Coordinate } from './utils/coordinate.js';
10
10
  * Class that controls updates to connections during drags. It is primarily
11
11
  * responsible for finding the closest eligible connection and highlighting or
12
12
  * unhighlighting it as needed during a drag.
13
- *
14
- * @alias Blockly.InsertionMarkerManager
15
13
  */
16
14
  export declare class InsertionMarkerManager {
17
15
  /**
@@ -114,10 +112,8 @@ export declare class InsertionMarkerManager {
114
112
  */
115
113
  private createMarkerBlock;
116
114
  /**
117
- * Populate the list of available connections on this block stack. This
118
- * should only be called once, at the beginning of a drag. If the stack has
119
- * more than one block, this function will populate lastOnStack and create
120
- * the corresponding insertion marker.
115
+ * Populate the list of available connections on this block stack. If the
116
+ * stack has more than one block, this function will also update lastOnStack.
121
117
  *
122
118
  * @returns A list of available connections.
123
119
  */
@@ -230,6 +226,10 @@ export declare class InsertionMarkerManager {
230
226
  * @internal
231
227
  */
232
228
  getInsertionMarkers(): BlockSvg[];
229
+ /**
230
+ * Safely disposes of an insertion marker.
231
+ */
232
+ private disposeInsertionMarker;
233
233
  }
234
234
  export declare namespace InsertionMarkerManager {
235
235
  /**
@@ -5,8 +5,6 @@
5
5
  */
6
6
  /**
7
7
  * An AST node location interface.
8
- *
9
- * @alias Blockly.IASTNodeLocation
10
8
  */
11
9
  export interface IASTNodeLocation {
12
10
  }
@@ -6,8 +6,6 @@
6
6
  import type { IASTNodeLocation } from './i_ast_node_location.js';
7
7
  /**
8
8
  * An AST node location SVG interface.
9
- *
10
- * @alias Blockly.IASTNodeLocationSvg
11
9
  */
12
10
  export interface IASTNodeLocationSvg extends IASTNodeLocation {
13
11
  /**
@@ -7,8 +7,6 @@ import type { IASTNodeLocation } from './i_ast_node_location.js';
7
7
  import type { Block } from '../block.js';
8
8
  /**
9
9
  * An AST node location that has an associated block.
10
- *
11
- * @alias Blockly.IASTNodeLocationWithBlock
12
10
  */
13
11
  export interface IASTNodeLocationWithBlock extends IASTNodeLocation {
14
12
  /**