blockly 7.20211209.4 → 8.0.1
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.
- package/blockly.d.ts +18963 -18432
- package/blockly.min.js +5 -4
- package/blockly_compressed.js +4 -3
- package/blockly_compressed.js.map +1 -1
- package/blocks/blocks.js +47 -0
- package/blocks/colour.js +13 -3
- package/blocks/lists.js +22 -13
- package/blocks/logic.js +13 -3
- package/blocks/loops.js +24 -11
- package/blocks/math.js +12 -3
- package/blocks/procedures.js +45 -32
- package/blocks/text.js +22 -13
- package/blocks/variables.js +14 -3
- package/blocks/variables_dynamic.js +13 -3
- package/blocks_compressed.js +1 -1
- package/blocks_compressed.js.map +1 -1
- package/core/block.js +1869 -1814
- package/core/block_drag_surface.js +201 -200
- package/core/block_dragger.js +377 -373
- package/core/block_svg.js +1593 -1479
- package/core/blockly.js +8 -22
- package/core/blocks.js +9 -2
- package/core/browser_events.js +22 -5
- package/core/bubble.js +841 -797
- package/core/bubble_dragger.js +213 -206
- package/core/bump_objects.js +2 -2
- package/core/clipboard.js +9 -9
- package/core/comment.js +353 -332
- package/core/common.js +46 -17
- package/core/component_manager.js +181 -174
- package/core/config.js +87 -0
- package/core/connection.js +595 -584
- package/core/connection_checker.js +242 -244
- package/core/connection_db.js +235 -230
- package/core/contextmenu.js +9 -6
- package/core/contextmenu_items.js +1 -2
- package/core/contextmenu_registry.js +93 -89
- package/core/css.js +474 -474
- package/core/delete_area.js +45 -42
- package/core/drag_target.js +57 -56
- package/core/dropdowndiv.js +153 -163
- package/core/events/events.js +2 -2
- package/core/events/events_abstract.js +89 -77
- package/core/events/events_block_base.js +37 -36
- package/core/events/events_block_change.js +130 -124
- package/core/events/events_block_create.js +73 -71
- package/core/events/events_block_delete.js +84 -82
- package/core/events/events_block_drag.js +50 -49
- package/core/events/events_block_move.js +147 -140
- package/core/events/events_bubble_open.js +51 -50
- package/core/events/events_click.js +48 -44
- package/core/events/events_comment_base.js +72 -69
- package/core/events/events_comment_change.js +63 -61
- package/core/events/events_comment_create.js +44 -42
- package/core/events/events_comment_delete.js +42 -40
- package/core/events/events_comment_move.js +106 -104
- package/core/events/events_marker_move.js +65 -64
- package/core/events/events_selected.js +46 -45
- package/core/events/events_theme_change.js +36 -35
- package/core/events/events_toolbox_item_select.js +46 -45
- package/core/events/events_trashcan_open.js +37 -36
- package/core/events/events_ui.js +47 -46
- package/core/events/events_ui_base.js +30 -29
- package/core/events/events_var_base.js +37 -36
- package/core/events/events_var_create.js +50 -48
- package/core/events/events_var_delete.js +50 -48
- package/core/events/events_var_rename.js +51 -49
- package/core/events/events_viewport.js +66 -65
- package/core/events/utils.js +29 -14
- package/core/events/workspace_events.js +49 -55
- package/core/extensions.js +4 -3
- package/core/field.js +1061 -997
- package/core/field_angle.js +462 -442
- package/core/field_checkbox.js +194 -182
- package/core/field_colour.js +519 -505
- package/core/field_dropdown.js +617 -598
- package/core/field_image.js +229 -220
- package/core/field_label.js +102 -91
- package/core/field_label_serializable.js +42 -41
- package/core/field_multilineinput.js +372 -358
- package/core/field_number.js +272 -253
- package/core/field_textinput.js +499 -467
- package/core/field_variable.js +458 -420
- package/core/flyout_base.js +1005 -952
- package/core/flyout_button.js +277 -260
- package/core/flyout_horizontal.js +304 -302
- package/core/flyout_metrics_manager.js +64 -64
- package/core/flyout_vertical.js +306 -300
- package/core/generator.js +459 -446
- package/core/gesture.js +829 -813
- package/core/grid.js +166 -163
- package/core/icon.js +168 -159
- package/core/inject.js +7 -5
- package/core/input.js +257 -248
- package/core/insertion_marker_manager.js +655 -624
- package/core/internal_constants.js +0 -129
- package/core/keyboard_nav/ast_node.js +605 -596
- package/core/keyboard_nav/basic_cursor.js +166 -165
- package/core/keyboard_nav/cursor.js +99 -97
- package/core/keyboard_nav/marker.js +83 -79
- package/core/keyboard_nav/tab_navigate_cursor.js +18 -23
- package/core/marker_manager.js +153 -141
- package/core/menu.js +377 -372
- package/core/menuitem.js +223 -217
- package/core/metrics_manager.js +403 -390
- package/core/mutator.js +468 -437
- package/core/names.js +229 -188
- package/core/options.js +290 -284
- package/core/procedures.js +29 -17
- package/core/registry.js +19 -16
- package/core/rendered_connection.js +482 -463
- package/core/renderers/common/block_rendering.js +9 -3
- package/core/renderers/common/constants.js +1119 -1112
- package/core/renderers/common/debug.js +14 -0
- package/core/renderers/common/debugger.js +338 -316
- package/core/renderers/common/drawer.js +380 -370
- package/core/renderers/common/i_path_object.js +2 -2
- package/core/renderers/common/info.js +626 -618
- package/core/renderers/common/marker_svg.js +579 -541
- package/core/renderers/common/path_object.js +203 -200
- package/core/renderers/common/renderer.js +220 -218
- package/core/renderers/geras/constants.js +36 -36
- package/core/renderers/geras/drawer.js +155 -147
- package/core/renderers/geras/highlight_constants.js +244 -238
- package/core/renderers/geras/highlighter.js +231 -179
- package/core/renderers/geras/info.js +392 -369
- package/core/renderers/geras/measurables/inline_input.js +25 -19
- package/core/renderers/geras/measurables/statement_input.js +23 -17
- package/core/renderers/geras/path_object.js +106 -121
- package/core/renderers/geras/renderer.js +96 -98
- package/core/renderers/measurables/base.js +30 -18
- package/core/renderers/measurables/bottom_row.js +83 -80
- package/core/renderers/measurables/connection.js +22 -15
- package/core/renderers/measurables/external_value_input.js +35 -22
- package/core/renderers/measurables/field.js +35 -20
- package/core/renderers/measurables/hat.js +18 -13
- package/core/renderers/measurables/icon.js +24 -17
- package/core/renderers/measurables/in_row_spacer.js +15 -13
- package/core/renderers/measurables/inline_input.js +43 -33
- package/core/renderers/measurables/input_connection.js +41 -28
- package/core/renderers/measurables/input_row.js +50 -44
- package/core/renderers/measurables/jagged_edge.js +14 -12
- package/core/renderers/measurables/next_connection.js +16 -14
- package/core/renderers/measurables/output_connection.js +26 -20
- package/core/renderers/measurables/previous_connection.js +16 -15
- package/core/renderers/measurables/round_corner.js +20 -18
- package/core/renderers/measurables/row.js +184 -168
- package/core/renderers/measurables/spacer_row.js +38 -23
- package/core/renderers/measurables/square_corner.js +18 -16
- package/core/renderers/measurables/statement_input.js +23 -20
- package/core/renderers/measurables/top_row.js +88 -85
- package/core/renderers/minimalist/constants.js +8 -7
- package/core/renderers/minimalist/drawer.js +11 -10
- package/core/renderers/minimalist/info.js +18 -18
- package/core/renderers/minimalist/renderer.js +40 -39
- package/core/renderers/thrasos/info.js +258 -248
- package/core/renderers/thrasos/renderer.js +20 -20
- package/core/renderers/zelos/constants.js +898 -873
- package/core/renderers/zelos/drawer.js +186 -169
- package/core/renderers/zelos/info.js +502 -479
- package/core/renderers/zelos/marker_svg.js +129 -115
- package/core/renderers/zelos/measurables/bottom_row.js +31 -30
- package/core/renderers/zelos/measurables/inputs.js +22 -21
- package/core/renderers/zelos/measurables/row_elements.js +14 -13
- package/core/renderers/zelos/measurables/top_row.js +34 -33
- package/core/renderers/zelos/path_object.js +181 -180
- package/core/renderers/zelos/renderer.js +91 -92
- package/core/scrollbar.js +759 -713
- package/core/scrollbar_pair.js +250 -245
- package/core/serialization/blocks.js +26 -10
- package/core/serialization/workspaces.js +3 -2
- package/core/shortcut_registry.js +286 -277
- package/core/sprites.js +31 -0
- package/core/theme.js +135 -141
- package/core/theme_manager.js +147 -143
- package/core/toolbox/category.js +602 -576
- package/core/toolbox/collapsible_category.js +226 -227
- package/core/toolbox/separator.js +70 -61
- package/core/toolbox/toolbox.js +934 -927
- package/core/toolbox/toolbox_item.js +115 -99
- package/core/tooltip.js +108 -35
- package/core/touch.js +8 -3
- package/core/touch_gesture.js +254 -251
- package/core/trashcan.js +606 -595
- package/core/utils/coordinate.js +97 -95
- package/core/utils/dom.js +2 -2
- package/core/utils/global.js +2 -0
- package/core/utils/rect.js +41 -37
- package/core/utils/sentinel.js +25 -0
- package/core/utils/size.js +30 -27
- package/core/utils/svg.js +18 -16
- package/core/variable_map.js +325 -341
- package/core/variable_model.js +55 -54
- package/core/variables.js +9 -2
- package/core/variables_dynamic.js +3 -1
- package/core/warning.js +126 -120
- package/core/widgetdiv.js +4 -4
- package/core/workspace.js +685 -664
- package/core/workspace_audio.js +124 -118
- package/core/workspace_comment.js +308 -298
- package/core/workspace_comment_svg.js +1029 -951
- package/core/workspace_drag_surface_svg.js +147 -140
- package/core/workspace_dragger.js +70 -71
- package/core/workspace_svg.js +2322 -2297
- package/core/xml.js +30 -20
- package/core/zoom_controls.js +431 -439
- package/generators/dart/colour.js +56 -64
- package/generators/dart/lists.js +61 -50
- package/generators/dart/math.js +160 -148
- package/generators/dart/text.js +83 -61
- package/generators/javascript/colour.js +37 -34
- package/generators/javascript/lists.js +50 -43
- package/generators/javascript/math.js +123 -139
- package/generators/javascript/text.js +67 -81
- package/generators/lua/colour.js +25 -23
- package/generators/lua/lists.js +97 -69
- package/generators/lua/logic.js +1 -2
- package/generators/lua/math.js +182 -144
- package/generators/lua/text.js +116 -99
- package/generators/php/colour.js +38 -32
- package/generators/php/lists.js +109 -89
- package/generators/php/math.js +90 -81
- package/generators/php/text.js +63 -61
- package/generators/python/colour.js +18 -18
- package/generators/python/lists.js +38 -30
- package/generators/python/loops.js +12 -8
- package/generators/python/math.js +104 -106
- package/generators/python/text.js +34 -30
- package/msg/smn.js +436 -0
- package/package.json +7 -6
- package/blocks/all.js +0 -23
package/core/blockly.js
CHANGED
|
@@ -40,6 +40,7 @@ const common = goog.require('Blockly.common');
|
|
|
40
40
|
const constants = goog.require('Blockly.constants');
|
|
41
41
|
const deprecation = goog.require('Blockly.utils.deprecation');
|
|
42
42
|
const dialog = goog.require('Blockly.dialog');
|
|
43
|
+
const dropDownDiv = goog.require('Blockly.dropDownDiv');
|
|
43
44
|
const fieldRegistry = goog.require('Blockly.fieldRegistry');
|
|
44
45
|
const geras = goog.require('Blockly.geras');
|
|
45
46
|
const internalConstants = goog.require('Blockly.internalConstants');
|
|
@@ -71,6 +72,7 @@ const {Bubble} = goog.require('Blockly.Bubble');
|
|
|
71
72
|
const {CollapsibleToolboxCategory} = goog.require('Blockly.CollapsibleToolboxCategory');
|
|
72
73
|
const {Comment} = goog.require('Blockly.Comment');
|
|
73
74
|
const {ComponentManager} = goog.require('Blockly.ComponentManager');
|
|
75
|
+
const {config} = goog.require('Blockly.config');
|
|
74
76
|
const {ConnectionChecker} = goog.require('Blockly.ConnectionChecker');
|
|
75
77
|
const {ConnectionDB} = goog.require('Blockly.ConnectionDB');
|
|
76
78
|
const {ConnectionType} = goog.require('Blockly.ConnectionType');
|
|
@@ -79,7 +81,6 @@ const {ContextMenuRegistry} = goog.require('Blockly.ContextMenuRegistry');
|
|
|
79
81
|
const {Cursor} = goog.require('Blockly.Cursor');
|
|
80
82
|
const {DeleteArea} = goog.require('Blockly.DeleteArea');
|
|
81
83
|
const {DragTarget} = goog.require('Blockly.DragTarget');
|
|
82
|
-
const {DropDownDiv} = goog.require('Blockly.DropDownDiv');
|
|
83
84
|
const {FieldAngle} = goog.require('Blockly.FieldAngle');
|
|
84
85
|
const {FieldCheckbox} = goog.require('Blockly.FieldCheckbox');
|
|
85
86
|
const {FieldColour} = goog.require('Blockly.FieldColour');
|
|
@@ -306,7 +307,8 @@ exports.svgResize = common.svgResize;
|
|
|
306
307
|
* @alias Blockly.hideChaff
|
|
307
308
|
*/
|
|
308
309
|
const hideChaff = function(opt_onlyClosePopups) {
|
|
309
|
-
common.getMainWorkspace()
|
|
310
|
+
/** @type {!WorkspaceSvg} */ (common.getMainWorkspace())
|
|
311
|
+
.hideChaff(opt_onlyClosePopups);
|
|
310
312
|
};
|
|
311
313
|
exports.hideChaff = hideChaff;
|
|
312
314
|
|
|
@@ -331,7 +333,7 @@ exports.defineBlocksWithJsonArray = common.defineBlocksWithJsonArray;
|
|
|
331
333
|
|
|
332
334
|
/**
|
|
333
335
|
* Set the parent container. This is the container element that the WidgetDiv,
|
|
334
|
-
*
|
|
336
|
+
* dropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
|
|
335
337
|
* is called.
|
|
336
338
|
* This method is a NOP if called after the first ``Blockly.inject``.
|
|
337
339
|
* @param {!Element} container The container element.
|
|
@@ -528,7 +530,7 @@ const paste = function() {
|
|
|
528
530
|
deprecation.warn(
|
|
529
531
|
'Blockly.paste', 'December 2021', 'December 2022',
|
|
530
532
|
'Blockly.clipboard.paste');
|
|
531
|
-
return clipboard.paste();
|
|
533
|
+
return !!clipboard.paste();
|
|
532
534
|
};
|
|
533
535
|
exports.paste = paste;
|
|
534
536
|
|
|
@@ -655,25 +657,8 @@ const bindEventWithChecks_ = function(
|
|
|
655
657
|
exports.bindEventWithChecks_ = bindEventWithChecks_;
|
|
656
658
|
|
|
657
659
|
// Aliases to allow external code to access these values for legacy reasons.
|
|
658
|
-
exports.LINE_MODE_MULTIPLIER = internalConstants.LINE_MODE_MULTIPLIER;
|
|
659
|
-
exports.PAGE_MODE_MULTIPLIER = internalConstants.PAGE_MODE_MULTIPLIER;
|
|
660
|
-
exports.DRAG_RADIUS = internalConstants.DRAG_RADIUS;
|
|
661
|
-
exports.FLYOUT_DRAG_RADIUS = internalConstants.FLYOUT_DRAG_RADIUS;
|
|
662
|
-
exports.SNAP_RADIUS = internalConstants.SNAP_RADIUS;
|
|
663
|
-
exports.CONNECTING_SNAP_RADIUS = internalConstants.CONNECTING_SNAP_RADIUS;
|
|
664
|
-
exports.CURRENT_CONNECTION_PREFERENCE =
|
|
665
|
-
internalConstants.CURRENT_CONNECTION_PREFERENCE;
|
|
666
|
-
exports.BUMP_DELAY = internalConstants.BUMP_DELAY;
|
|
667
|
-
exports.BUMP_RANDOMNESS = internalConstants.BUMP_RANDOMNESS;
|
|
668
660
|
exports.COLLAPSE_CHARS = internalConstants.COLLAPSE_CHARS;
|
|
669
|
-
exports.LONGPRESS = internalConstants.LONGPRESS;
|
|
670
|
-
exports.SOUND_LIMIT = internalConstants.SOUND_LIMIT;
|
|
671
661
|
exports.DRAG_STACK = internalConstants.DRAG_STACK;
|
|
672
|
-
exports.SPRITE = internalConstants.SPRITE;
|
|
673
|
-
exports.DRAG_NONE = internalConstants.DRAG_NONE;
|
|
674
|
-
exports.DRAG_STICKY = internalConstants.DRAG_STICKY;
|
|
675
|
-
exports.DRAG_BEGIN = internalConstants.DRAG_BEGIN;
|
|
676
|
-
exports.DRAG_FREE = internalConstants.DRAG_FREE;
|
|
677
662
|
exports.OPPOSITE_TYPE = internalConstants.OPPOSITE_TYPE;
|
|
678
663
|
exports.RENAME_VARIABLE_ID = internalConstants.RENAME_VARIABLE_ID;
|
|
679
664
|
exports.DELETE_VARIABLE_ID = internalConstants.DELETE_VARIABLE_ID;
|
|
@@ -731,7 +716,7 @@ exports.Css = Css;
|
|
|
731
716
|
exports.Cursor = Cursor;
|
|
732
717
|
exports.DeleteArea = DeleteArea;
|
|
733
718
|
exports.DragTarget = DragTarget;
|
|
734
|
-
exports.DropDownDiv =
|
|
719
|
+
exports.DropDownDiv = dropDownDiv;
|
|
735
720
|
exports.Events = Events;
|
|
736
721
|
exports.Extensions = Extensions;
|
|
737
722
|
exports.Field = Field;
|
|
@@ -833,6 +818,7 @@ exports.browserEvents = browserEvents;
|
|
|
833
818
|
exports.bumpObjects = bumpObjects;
|
|
834
819
|
exports.clipboard = clipboard;
|
|
835
820
|
exports.common = common;
|
|
821
|
+
exports.config = config;
|
|
836
822
|
/** @deprecated Use Blockly.ConnectionType instead. */
|
|
837
823
|
exports.connectionTypes = ConnectionType;
|
|
838
824
|
exports.constants = constants;
|
package/core/blocks.js
CHANGED
|
@@ -16,11 +16,18 @@
|
|
|
16
16
|
goog.module('Blockly.blocks');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* A block definition. For now this very lose, but it can potentially
|
|
21
|
+
* be refined e.g. by replacing this typedef with a class definition.
|
|
22
|
+
* @typedef {!Object}
|
|
23
|
+
*/
|
|
24
|
+
let BlockDefinition;
|
|
25
|
+
exports.BlockDefinition = BlockDefinition;
|
|
26
|
+
|
|
19
27
|
/**
|
|
20
28
|
* A mapping of block type names to block prototype objects.
|
|
21
|
-
* @type {!Object<string,!
|
|
29
|
+
* @type {!Object<string,!BlockDefinition>}
|
|
22
30
|
* @alias Blockly.blocks.Blocks
|
|
23
31
|
*/
|
|
24
32
|
const Blocks = Object.create(null);
|
|
25
|
-
|
|
26
33
|
exports.Blocks = Blocks;
|
package/core/browser_events.js
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
goog.module('Blockly.browserEvents');
|
|
17
17
|
|
|
18
18
|
const Touch = goog.require('Blockly.Touch');
|
|
19
|
-
const internalConstants = goog.require('Blockly.internalConstants');
|
|
20
19
|
const userAgent = goog.require('Blockly.utils.userAgent');
|
|
21
20
|
const {globalThis} = goog.require('Blockly.utils.global');
|
|
22
21
|
|
|
@@ -30,6 +29,24 @@ const {globalThis} = goog.require('Blockly.utils.global');
|
|
|
30
29
|
let Data;
|
|
31
30
|
exports.Data = Data;
|
|
32
31
|
|
|
32
|
+
/**
|
|
33
|
+
* The multiplier for scroll wheel deltas using the line delta mode.
|
|
34
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode
|
|
35
|
+
* for more information on deltaMode.
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @const
|
|
38
|
+
*/
|
|
39
|
+
const LINE_MODE_MULTIPLIER = 40;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The multiplier for scroll wheel deltas using the page delta mode.
|
|
43
|
+
* See https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode
|
|
44
|
+
* for more information on deltaMode.
|
|
45
|
+
* @type {number}
|
|
46
|
+
* @const
|
|
47
|
+
*/
|
|
48
|
+
const PAGE_MODE_MULTIPLIER = 125;
|
|
49
|
+
|
|
33
50
|
/**
|
|
34
51
|
* Bind an event handler that can be ignored if it is not part of the active
|
|
35
52
|
* touch stream.
|
|
@@ -254,13 +271,13 @@ const getScrollDeltaPixels = function(e) {
|
|
|
254
271
|
return {x: e.deltaX, y: e.deltaY};
|
|
255
272
|
case 0x01: // Line mode.
|
|
256
273
|
return {
|
|
257
|
-
x: e.deltaX *
|
|
258
|
-
y: e.deltaY *
|
|
274
|
+
x: e.deltaX * LINE_MODE_MULTIPLIER,
|
|
275
|
+
y: e.deltaY * LINE_MODE_MULTIPLIER,
|
|
259
276
|
};
|
|
260
277
|
case 0x02: // Page mode.
|
|
261
278
|
return {
|
|
262
|
-
x: e.deltaX *
|
|
263
|
-
y: e.deltaY *
|
|
279
|
+
x: e.deltaX * PAGE_MODE_MULTIPLIER,
|
|
280
|
+
y: e.deltaY * PAGE_MODE_MULTIPLIER,
|
|
264
281
|
};
|
|
265
282
|
}
|
|
266
283
|
};
|