blockly 10.4.2 → 10.4.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.
package/blockly.min.js CHANGED
@@ -1527,12 +1527,13 @@ b){d=!1;break}d&&(a="("+a+")");return a}statementToCode(a,b){a=a.getInputTargetB
1527
1527
  b;)d=b,b=b.replace(/^(( {2})*) {2}/gm,"$1\x00");b=b.replace(/\0/g,this.INDENT);this.definitions_[a]=b}return this.functionNames_[a]}getVariableName(a){return this.getName(a,$.NameType$$module$build$src$core$names.VARIABLE)}getProcedureName(a){return this.getName(a,$.NameType$$module$build$src$core$names.PROCEDURE)}getName(a,b){if(!this.nameDB_)throw Error("Name database is not defined. You must initialize `nameDB_` in your generator class and call `init` first.");return this.nameDB_.getName(a,b)}init(a){this.definitions_=
1528
1528
  Object.create(null);this.functionNames_=Object.create(null)}scrub_(a,b,c){return b}finish(a){this.definitions_=Object.create(null);this.functionNames_=Object.create(null);return a}scrubNakedValue(a){return a}};module$build$src$core$generator={};module$build$src$core$generator.CodeGenerator=$.CodeGenerator$$module$build$src$core$generator;var documentEventsBound$$module$build$src$core$inject=!1,module$build$src$core$inject={};module$build$src$core$inject.inject=inject$$module$build$src$core$inject;var module$build$src$core$inputs={};module$build$src$core$inputs.Align=$.Align$$module$build$src$core$inputs$align;module$build$src$core$inputs.DummyInput=DummyInput$$module$build$src$core$inputs$dummy_input;module$build$src$core$inputs.EndRowInput=EndRowInput$$module$build$src$core$inputs$end_row_input;module$build$src$core$inputs.Input=Input$$module$build$src$core$inputs$input;module$build$src$core$inputs.StatementInput=StatementInput$$module$build$src$core$inputs$statement_input;
1529
1529
  module$build$src$core$inputs.ValueInput=$.ValueInput$$module$build$src$core$inputs$value_input;module$build$src$core$inputs.inputTypes=$.inputTypes$$module$build$src$core$inputs$input_types;var DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer="The insertion marker previewer tried to create a marker but the result is missing %1. If you are using a mutator, make sure your domToMutation method is properly defined.",InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer=class{constructor(a){this.staticConn=this.draggedConn=this.markerConn=this.fadedBlock=null;this.workspace=a.workspace}previewReplacement(a,
1530
- b,c){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.fadedBlock=c,c.fadeForReplacement(!0),this.workspace.getRenderer().shouldHighlightConnection(b)&&(b.highlight(),this.staticConn=b)}finally{$.enable$$module$build$src$core$events$utils()}}previewConnection(a,b){if(a!==this.draggedConn||b!==this.staticConn){$.disable$$module$build$src$core$events$utils();try{this.hidePreview();const c=a.getSourceBlock(),d=this.createInsertionMarker(c),e=this.getMatchingConnection(c,d,a);
1531
- if(!e)throw Error("Could not create insertion marker to preview connection");d.queueRender();triggerQueuedRenders$$module$build$src$core$render_management();e.connect(b);const f={x:b.x-e.x,y:b.y-e.y},g=e.getOffsetInBlock().clone();finishQueuedRenders$$module$build$src$core$render_management().then(()=>{null==d||d.positionNearConnection(e,f,g);null==d||d.getSvgRoot().setAttribute("visibility","visible")});this.workspace.getRenderer().shouldHighlightConnection(b)&&b.highlight();this.markerConn=e;this.draggedConn=
1532
- a;this.staticConn=b}finally{$.enable$$module$build$src$core$events$utils()}}}createInsertionMarker(a){const b=this.workspace.newBlock(a.type);b.setInsertionMarker(!0);if(a.saveExtraState){var c=a.saveExtraState(!0);c&&b.loadExtraState&&b.loadExtraState(c)}else a.mutationToDom&&(c=a.mutationToDom())&&b.domToMutation&&b.domToMutation(c);for(c=0;c<a.inputList.length;c++){const d=a.inputList[c];if(d.name===COLLAPSED_INPUT_NAME$$module$build$src$core$constants)continue;const e=b.inputList[c];if(!e)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1",
1533
- "an input"));for(let f=0;f<d.fieldRow.length;f++){const g=d.fieldRow[f],h=e.fieldRow[f];if(!h)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","a field"));h.setValue(g.getValue())}}for(const d of b.getDescendants(!1))d.setInsertionMarker(!0);b.setCollapsed(a.isCollapsed());b.setInputsInline(a.getInputsInline());b.initSvg();b.getSvgRoot().setAttribute("visibility","hidden");return b}getMatchingConnection(a,b,c){a=a.getConnections_(!0);
1534
- b=b.getConnections_(!0);if(a.length!==b.length)return null;for(let d=0;d<a.length;d++)if(a[d]===c)return b[d];return null}hidePreview(){$.disable$$module$build$src$core$events$utils();try{this.staticConn&&(this.staticConn.unhighlight(),this.staticConn=null),this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null),this.markerConn&&(this.hideInsertionMarker(this.markerConn),this.draggedConn=this.markerConn=null)}finally{$.enable$$module$build$src$core$events$utils()}}hideInsertionMarker(a){const b=
1535
- a.getSourceBlock(),c=b.outputConnection;let d;if((null==(d=b.previousConnection)?0:d.targetConnection)||(null==c?0:c.targetConnection))b.unplug(!0);else{let e;null==(e=a.targetBlock())||e.unplug(!1)}b.dispose()}dispose(){this.hidePreview()}};register$$module$build$src$core$registry(Type$$module$build$src$core$registry.CONNECTION_PREVIEWER,DEFAULT$$module$build$src$core$registry,InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer);
1530
+ b,c){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.fadedBlock=c,c.fadeForReplacement(!0),this.workspace.getRenderer().shouldHighlightConnection(b)&&(b.highlight(),this.staticConn=b)}finally{$.enable$$module$build$src$core$events$utils()}}previewConnection(a,b){if(a!==this.draggedConn||b!==this.staticConn){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.shouldUseMarkerPreview(a,b)&&(this.markerConn=this.previewMarker(a,b)),this.workspace.getRenderer().shouldHighlightConnection(b)&&
1531
+ b.highlight(),this.draggedConn=a,this.staticConn=b}finally{$.enable$$module$build$src$core$events$utils()}}}shouldUseMarkerPreview(a,b){return b.type===ConnectionType$$module$build$src$core$connection_type.PREVIOUS_STATEMENT||b.type===ConnectionType$$module$build$src$core$connection_type.NEXT_STATEMENT||!(this.workspace.getRenderer()instanceof Renderer$$module$build$src$core$renderers$zelos$renderer)}previewMarker(a,b){const c=a.getSourceBlock(),d=this.createInsertionMarker(c),e=this.getMatchingConnection(c,
1532
+ d,a);if(!e)throw Error("Could not create insertion marker to preview connection");d.queueRender();triggerQueuedRenders$$module$build$src$core$render_management();e.connect(b);const f={x:b.x-e.x,y:b.y-e.y},g=e.getOffsetInBlock().clone();finishQueuedRenders$$module$build$src$core$render_management().then(()=>{null==d||d.positionNearConnection(e,f,g);null==d||d.getSvgRoot().setAttribute("visibility","visible")});return e}createInsertionMarker(a){const b=this.workspace.newBlock(a.type);b.setInsertionMarker(!0);
1533
+ if(a.saveExtraState){var c=a.saveExtraState(!0);c&&b.loadExtraState&&b.loadExtraState(c)}else a.mutationToDom&&(c=a.mutationToDom())&&b.domToMutation&&b.domToMutation(c);for(c=0;c<a.inputList.length;c++){const d=a.inputList[c];if(d.name===COLLAPSED_INPUT_NAME$$module$build$src$core$constants)continue;const e=b.inputList[c];if(!e)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","an input"));for(let f=0;f<d.fieldRow.length;f++){const g=
1534
+ d.fieldRow[f],h=e.fieldRow[f];if(!h)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","a field"));h.setValue(g.getValue())}}for(const d of b.getDescendants(!1))d.setInsertionMarker(!0);b.setCollapsed(a.isCollapsed());b.setInputsInline(a.getInputsInline());b.initSvg();b.getSvgRoot().setAttribute("visibility","hidden");return b}getMatchingConnection(a,b,c){a=a.getConnections_(!0);b=b.getConnections_(!0);if(a.length!==b.length)return null;
1535
+ for(let d=0;d<a.length;d++)if(a[d]===c)return b[d];return null}hidePreview(){$.disable$$module$build$src$core$events$utils();try{this.staticConn&&(this.staticConn.unhighlight(),this.staticConn=null),this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null),this.markerConn&&(this.hideInsertionMarker(this.markerConn),this.draggedConn=this.markerConn=null)}finally{$.enable$$module$build$src$core$events$utils()}}hideInsertionMarker(a){const b=a.getSourceBlock(),c=b.outputConnection;
1536
+ let d;if((null==(d=b.previousConnection)?0:d.targetConnection)||(null==c?0:c.targetConnection))b.unplug(!0);else{let e;null==(e=a.targetBlock())||e.unplug(!1)}b.dispose()}dispose(){this.hidePreview()}};register$$module$build$src$core$registry(Type$$module$build$src$core$registry.CONNECTION_PREVIEWER,DEFAULT$$module$build$src$core$registry,InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer);
1536
1537
  var module$build$src$core$connection_previewers$insertion_marker_previewer={};module$build$src$core$connection_previewers$insertion_marker_previewer.InsertionMarkerPreviewer=InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer;var module$build$src$core$interfaces$i_icon={};module$build$src$core$interfaces$i_icon.isIcon=isIcon$$module$build$src$core$interfaces$i_icon;var module$build$src$core$interfaces$i_paster={};module$build$src$core$interfaces$i_paster.isPaster=isPaster$$module$build$src$core$interfaces$i_paster;var ConstantProvider$$module$build$src$core$renderers$geras$constants=class extends ConstantProvider$$module$build$src$core$renderers$common$constants{constructor(){super();this.FIELD_TEXT_BASELINE_CENTER=!1;this.DARK_PATH_OFFSET=1;this.MAX_BOTTOM_WIDTH=30;this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(a){return super.getCSS_(a).concat([`${a} .blocklyInsertionMarker>.blocklyPathLight,`,`${a} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;",
1537
1538
  "}"])}},module$build$src$core$renderers$geras$constants={};module$build$src$core$renderers$geras$constants.ConstantProvider=ConstantProvider$$module$build$src$core$renderers$geras$constants;var Highlighter$$module$build$src$core$renderers$geras$highlighter=class{constructor(a){this.inlineSteps_=this.steps_="";this.info_=a;this.RTL_=this.info_.RTL;a=a.getRenderer();this.constants_=a.getConstants();this.highlightConstants_=a.getHighlightConstants();this.highlightOffset=this.highlightConstants_.OFFSET;this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER;this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER;this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB;this.notchPaths_=
1538
1539
  this.highlightConstants_.NOTCH;this.startPaths_=this.highlightConstants_.START_HAT;this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+"\n"+this.inlineSteps_}drawTopCorner(a){this.steps_+=moveBy$$module$build$src$core$utils$svg_paths(a.xPos,this.info_.startY);for(let b=0,c;c=a.elements[b];b++)Types$$module$build$src$core$renderers$measurables$types.isLeftSquareCorner(c)?this.steps_+=this.highlightConstants_.START_POINT:Types$$module$build$src$core$renderers$measurables$types.isLeftRoundedCorner(c)?
@@ -1644,7 +1645,7 @@ let d=b&&b.getName();a===b&&(d=null);a=new (get$$module$build$src$core$events$ut
1644
1645
  !this.selectedItem_.isCollapsible())return!1;const a=this.selectedItem_;a.isExpanded()?this.selectNext_():a.toggleExpanded();return!0}selectNext_(){if(!this.selectedItem_)return!1;let a=this.contents_.indexOf(this.selectedItem_)+1;if(-1<a&&a<this.contents_.length){let b=this.contents_[a];for(;b&&!b.isSelectable();)b=this.contents_[++a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1}selectPrevious_(){if(!this.selectedItem_)return!1;let a=this.contents_.indexOf(this.selectedItem_)-
1645
1646
  1;if(-1<a&&a<this.contents_.length){let b=this.contents_[a];for(;b&&!b.isSelectable();)b=this.contents_[--a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1}dispose(){this.workspace_.getComponentManager().removeComponent("toolbox");this.flyout_.dispose();for(var a=0;a<this.contents_.length;a++)this.contents_[a].dispose();for(a=0;a<this.boundEvents_.length;a++)unbind$$module$build$src$core$browser_events(this.boundEvents_[a]);this.boundEvents_=[];this.contents_=[];this.HtmlDiv&&(this.workspace_.getThemeManager().unsubscribe(this.HtmlDiv),
1646
1647
  removeNode$$module$build$src$core$utils$dom(this.HtmlDiv))}};register$$module$build$src$core$css('\n.blocklyToolboxDelete {\n cursor: url("<<<PATH>>>/handdelete.cur"), auto;\n}\n\n.blocklyToolboxGrab {\n cursor: url("<<<PATH>>>/handclosed.cur"), auto;\n cursor: grabbing;\n cursor: -webkit-grabbing;\n}\n\n/* Category tree in Toolbox. */\n.blocklyToolboxDiv {\n background-color: #ddd;\n overflow-x: visible;\n overflow-y: auto;\n padding: 4px 0 4px 0;\n position: absolute;\n z-index: 70; /* so blocks go under toolbox when dragging */\n -webkit-tap-highlight-color: transparent; /* issue #1345 */\n}\n\n.blocklyToolboxContents {\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n}\n\n.blocklyToolboxContents:focus {\n outline: none;\n}\n');
1647
- register$$module$build$src$core$registry(Type$$module$build$src$core$registry.TOOLBOX,DEFAULT$$module$build$src$core$registry,Toolbox$$module$build$src$core$toolbox$toolbox);var module$build$src$core$toolbox$toolbox={};module$build$src$core$toolbox$toolbox.Toolbox=Toolbox$$module$build$src$core$toolbox$toolbox;var VERSION$$module$build$src$core$blockly="10.4.2",ALIGN_LEFT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.LEFT,ALIGN_CENTRE$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.CENTRE,ALIGN_RIGHT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.RIGHT,INPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.INPUT_VALUE,OUTPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.OUTPUT_VALUE,
1648
+ register$$module$build$src$core$registry(Type$$module$build$src$core$registry.TOOLBOX,DEFAULT$$module$build$src$core$registry,Toolbox$$module$build$src$core$toolbox$toolbox);var module$build$src$core$toolbox$toolbox={};module$build$src$core$toolbox$toolbox.Toolbox=Toolbox$$module$build$src$core$toolbox$toolbox;var VERSION$$module$build$src$core$blockly="10.4.3",ALIGN_LEFT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.LEFT,ALIGN_CENTRE$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.CENTRE,ALIGN_RIGHT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.RIGHT,INPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.INPUT_VALUE,OUTPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.OUTPUT_VALUE,
1648
1649
  NEXT_STATEMENT$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.NEXT_STATEMENT,PREVIOUS_STATEMENT$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.PREVIOUS_STATEMENT,DUMMY_INPUT$$module$build$src$core$blockly=$.inputTypes$$module$build$src$core$inputs$input_types.DUMMY,TOOLBOX_AT_TOP$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.TOP,TOOLBOX_AT_BOTTOM$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.BOTTOM,
1649
1650
  TOOLBOX_AT_LEFT$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.LEFT,TOOLBOX_AT_RIGHT$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.RIGHT,svgResize$$module$build$src$core$blockly=svgResize$$module$build$src$core$common,getMainWorkspace$$module$build$src$core$blockly=getMainWorkspace$$module$build$src$core$common,getSelected$$module$build$src$core$blockly=getSelected$$module$build$src$core$common,defineBlocksWithJsonArray$$module$build$src$core$blockly=
1650
1651
  defineBlocksWithJsonArray$$module$build$src$core$common,setParentContainer$$module$build$src$core$blockly=setParentContainer$$module$build$src$core$common,COLLAPSE_CHARS$$module$build$src$core$blockly=COLLAPSE_CHARS$$module$build$src$core$internal_constants,DRAG_STACK$$module$build$src$core$blockly=DRAG_STACK$$module$build$src$core$internal_constants,OPPOSITE_TYPE$$module$build$src$core$blockly=OPPOSITE_TYPE$$module$build$src$core$internal_constants,RENAME_VARIABLE_ID$$module$build$src$core$blockly=
@@ -1527,12 +1527,13 @@ b){d=!1;break}d&&(a="("+a+")");return a}statementToCode(a,b){a=a.getInputTargetB
1527
1527
  b;)d=b,b=b.replace(/^(( {2})*) {2}/gm,"$1\x00");b=b.replace(/\0/g,this.INDENT);this.definitions_[a]=b}return this.functionNames_[a]}getVariableName(a){return this.getName(a,$.NameType$$module$build$src$core$names.VARIABLE)}getProcedureName(a){return this.getName(a,$.NameType$$module$build$src$core$names.PROCEDURE)}getName(a,b){if(!this.nameDB_)throw Error("Name database is not defined. You must initialize `nameDB_` in your generator class and call `init` first.");return this.nameDB_.getName(a,b)}init(a){this.definitions_=
1528
1528
  Object.create(null);this.functionNames_=Object.create(null)}scrub_(a,b,c){return b}finish(a){this.definitions_=Object.create(null);this.functionNames_=Object.create(null);return a}scrubNakedValue(a){return a}};module$build$src$core$generator={};module$build$src$core$generator.CodeGenerator=$.CodeGenerator$$module$build$src$core$generator;var documentEventsBound$$module$build$src$core$inject=!1,module$build$src$core$inject={};module$build$src$core$inject.inject=inject$$module$build$src$core$inject;var module$build$src$core$inputs={};module$build$src$core$inputs.Align=$.Align$$module$build$src$core$inputs$align;module$build$src$core$inputs.DummyInput=DummyInput$$module$build$src$core$inputs$dummy_input;module$build$src$core$inputs.EndRowInput=EndRowInput$$module$build$src$core$inputs$end_row_input;module$build$src$core$inputs.Input=Input$$module$build$src$core$inputs$input;module$build$src$core$inputs.StatementInput=StatementInput$$module$build$src$core$inputs$statement_input;
1529
1529
  module$build$src$core$inputs.ValueInput=$.ValueInput$$module$build$src$core$inputs$value_input;module$build$src$core$inputs.inputTypes=$.inputTypes$$module$build$src$core$inputs$input_types;var DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer="The insertion marker previewer tried to create a marker but the result is missing %1. If you are using a mutator, make sure your domToMutation method is properly defined.",InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer=class{constructor(a){this.staticConn=this.draggedConn=this.markerConn=this.fadedBlock=null;this.workspace=a.workspace}previewReplacement(a,
1530
- b,c){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.fadedBlock=c,c.fadeForReplacement(!0),this.workspace.getRenderer().shouldHighlightConnection(b)&&(b.highlight(),this.staticConn=b)}finally{$.enable$$module$build$src$core$events$utils()}}previewConnection(a,b){if(a!==this.draggedConn||b!==this.staticConn){$.disable$$module$build$src$core$events$utils();try{this.hidePreview();const c=a.getSourceBlock(),d=this.createInsertionMarker(c),e=this.getMatchingConnection(c,d,a);
1531
- if(!e)throw Error("Could not create insertion marker to preview connection");d.queueRender();triggerQueuedRenders$$module$build$src$core$render_management();e.connect(b);const f={x:b.x-e.x,y:b.y-e.y},g=e.getOffsetInBlock().clone();finishQueuedRenders$$module$build$src$core$render_management().then(()=>{null==d||d.positionNearConnection(e,f,g);null==d||d.getSvgRoot().setAttribute("visibility","visible")});this.workspace.getRenderer().shouldHighlightConnection(b)&&b.highlight();this.markerConn=e;this.draggedConn=
1532
- a;this.staticConn=b}finally{$.enable$$module$build$src$core$events$utils()}}}createInsertionMarker(a){const b=this.workspace.newBlock(a.type);b.setInsertionMarker(!0);if(a.saveExtraState){var c=a.saveExtraState(!0);c&&b.loadExtraState&&b.loadExtraState(c)}else a.mutationToDom&&(c=a.mutationToDom())&&b.domToMutation&&b.domToMutation(c);for(c=0;c<a.inputList.length;c++){const d=a.inputList[c];if(d.name===COLLAPSED_INPUT_NAME$$module$build$src$core$constants)continue;const e=b.inputList[c];if(!e)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1",
1533
- "an input"));for(let f=0;f<d.fieldRow.length;f++){const g=d.fieldRow[f],h=e.fieldRow[f];if(!h)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","a field"));h.setValue(g.getValue())}}for(const d of b.getDescendants(!1))d.setInsertionMarker(!0);b.setCollapsed(a.isCollapsed());b.setInputsInline(a.getInputsInline());b.initSvg();b.getSvgRoot().setAttribute("visibility","hidden");return b}getMatchingConnection(a,b,c){a=a.getConnections_(!0);
1534
- b=b.getConnections_(!0);if(a.length!==b.length)return null;for(let d=0;d<a.length;d++)if(a[d]===c)return b[d];return null}hidePreview(){$.disable$$module$build$src$core$events$utils();try{this.staticConn&&(this.staticConn.unhighlight(),this.staticConn=null),this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null),this.markerConn&&(this.hideInsertionMarker(this.markerConn),this.draggedConn=this.markerConn=null)}finally{$.enable$$module$build$src$core$events$utils()}}hideInsertionMarker(a){const b=
1535
- a.getSourceBlock(),c=b.outputConnection;let d;if((null==(d=b.previousConnection)?0:d.targetConnection)||(null==c?0:c.targetConnection))b.unplug(!0);else{let e;null==(e=a.targetBlock())||e.unplug(!1)}b.dispose()}dispose(){this.hidePreview()}};register$$module$build$src$core$registry(Type$$module$build$src$core$registry.CONNECTION_PREVIEWER,DEFAULT$$module$build$src$core$registry,InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer);
1530
+ b,c){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.fadedBlock=c,c.fadeForReplacement(!0),this.workspace.getRenderer().shouldHighlightConnection(b)&&(b.highlight(),this.staticConn=b)}finally{$.enable$$module$build$src$core$events$utils()}}previewConnection(a,b){if(a!==this.draggedConn||b!==this.staticConn){$.disable$$module$build$src$core$events$utils();try{this.hidePreview(),this.shouldUseMarkerPreview(a,b)&&(this.markerConn=this.previewMarker(a,b)),this.workspace.getRenderer().shouldHighlightConnection(b)&&
1531
+ b.highlight(),this.draggedConn=a,this.staticConn=b}finally{$.enable$$module$build$src$core$events$utils()}}}shouldUseMarkerPreview(a,b){return b.type===ConnectionType$$module$build$src$core$connection_type.PREVIOUS_STATEMENT||b.type===ConnectionType$$module$build$src$core$connection_type.NEXT_STATEMENT||!(this.workspace.getRenderer()instanceof Renderer$$module$build$src$core$renderers$zelos$renderer)}previewMarker(a,b){const c=a.getSourceBlock(),d=this.createInsertionMarker(c),e=this.getMatchingConnection(c,
1532
+ d,a);if(!e)throw Error("Could not create insertion marker to preview connection");d.queueRender();triggerQueuedRenders$$module$build$src$core$render_management();e.connect(b);const f={x:b.x-e.x,y:b.y-e.y},g=e.getOffsetInBlock().clone();finishQueuedRenders$$module$build$src$core$render_management().then(()=>{null==d||d.positionNearConnection(e,f,g);null==d||d.getSvgRoot().setAttribute("visibility","visible")});return e}createInsertionMarker(a){const b=this.workspace.newBlock(a.type);b.setInsertionMarker(!0);
1533
+ if(a.saveExtraState){var c=a.saveExtraState(!0);c&&b.loadExtraState&&b.loadExtraState(c)}else a.mutationToDom&&(c=a.mutationToDom())&&b.domToMutation&&b.domToMutation(c);for(c=0;c<a.inputList.length;c++){const d=a.inputList[c];if(d.name===COLLAPSED_INPUT_NAME$$module$build$src$core$constants)continue;const e=b.inputList[c];if(!e)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","an input"));for(let f=0;f<d.fieldRow.length;f++){const g=
1534
+ d.fieldRow[f],h=e.fieldRow[f];if(!h)throw Error(DUPLICATE_BLOCK_ERROR$$module$build$src$core$connection_previewers$insertion_marker_previewer.replace("%1","a field"));h.setValue(g.getValue())}}for(const d of b.getDescendants(!1))d.setInsertionMarker(!0);b.setCollapsed(a.isCollapsed());b.setInputsInline(a.getInputsInline());b.initSvg();b.getSvgRoot().setAttribute("visibility","hidden");return b}getMatchingConnection(a,b,c){a=a.getConnections_(!0);b=b.getConnections_(!0);if(a.length!==b.length)return null;
1535
+ for(let d=0;d<a.length;d++)if(a[d]===c)return b[d];return null}hidePreview(){$.disable$$module$build$src$core$events$utils();try{this.staticConn&&(this.staticConn.unhighlight(),this.staticConn=null),this.fadedBlock&&(this.fadedBlock.fadeForReplacement(!1),this.fadedBlock=null),this.markerConn&&(this.hideInsertionMarker(this.markerConn),this.draggedConn=this.markerConn=null)}finally{$.enable$$module$build$src$core$events$utils()}}hideInsertionMarker(a){const b=a.getSourceBlock(),c=b.outputConnection;
1536
+ let d;if((null==(d=b.previousConnection)?0:d.targetConnection)||(null==c?0:c.targetConnection))b.unplug(!0);else{let e;null==(e=a.targetBlock())||e.unplug(!1)}b.dispose()}dispose(){this.hidePreview()}};register$$module$build$src$core$registry(Type$$module$build$src$core$registry.CONNECTION_PREVIEWER,DEFAULT$$module$build$src$core$registry,InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer);
1536
1537
  var module$build$src$core$connection_previewers$insertion_marker_previewer={};module$build$src$core$connection_previewers$insertion_marker_previewer.InsertionMarkerPreviewer=InsertionMarkerPreviewer$$module$build$src$core$connection_previewers$insertion_marker_previewer;var module$build$src$core$interfaces$i_icon={};module$build$src$core$interfaces$i_icon.isIcon=isIcon$$module$build$src$core$interfaces$i_icon;var module$build$src$core$interfaces$i_paster={};module$build$src$core$interfaces$i_paster.isPaster=isPaster$$module$build$src$core$interfaces$i_paster;var ConstantProvider$$module$build$src$core$renderers$geras$constants=class extends ConstantProvider$$module$build$src$core$renderers$common$constants{constructor(){super();this.FIELD_TEXT_BASELINE_CENTER=!1;this.DARK_PATH_OFFSET=1;this.MAX_BOTTOM_WIDTH=30;this.STATEMENT_BOTTOM_SPACER=-this.NOTCH_HEIGHT/2}getCSS_(a){return super.getCSS_(a).concat([`${a} .blocklyInsertionMarker>.blocklyPathLight,`,`${a} .blocklyInsertionMarker>.blocklyPathDark {`,`fill-opacity: ${this.INSERTION_MARKER_OPACITY};`,"stroke: none;",
1537
1538
  "}"])}},module$build$src$core$renderers$geras$constants={};module$build$src$core$renderers$geras$constants.ConstantProvider=ConstantProvider$$module$build$src$core$renderers$geras$constants;var Highlighter$$module$build$src$core$renderers$geras$highlighter=class{constructor(a){this.inlineSteps_=this.steps_="";this.info_=a;this.RTL_=this.info_.RTL;a=a.getRenderer();this.constants_=a.getConstants();this.highlightConstants_=a.getHighlightConstants();this.highlightOffset=this.highlightConstants_.OFFSET;this.outsideCornerPaths_=this.highlightConstants_.OUTSIDE_CORNER;this.insideCornerPaths_=this.highlightConstants_.INSIDE_CORNER;this.puzzleTabPaths_=this.highlightConstants_.PUZZLE_TAB;this.notchPaths_=
1538
1539
  this.highlightConstants_.NOTCH;this.startPaths_=this.highlightConstants_.START_HAT;this.jaggedTeethPaths_=this.highlightConstants_.JAGGED_TEETH}getPath(){return this.steps_+"\n"+this.inlineSteps_}drawTopCorner(a){this.steps_+=moveBy$$module$build$src$core$utils$svg_paths(a.xPos,this.info_.startY);for(let b=0,c;c=a.elements[b];b++)Types$$module$build$src$core$renderers$measurables$types.isLeftSquareCorner(c)?this.steps_+=this.highlightConstants_.START_POINT:Types$$module$build$src$core$renderers$measurables$types.isLeftRoundedCorner(c)?
@@ -1644,7 +1645,7 @@ let d=b&&b.getName();a===b&&(d=null);a=new (get$$module$build$src$core$events$ut
1644
1645
  !this.selectedItem_.isCollapsible())return!1;const a=this.selectedItem_;a.isExpanded()?this.selectNext_():a.toggleExpanded();return!0}selectNext_(){if(!this.selectedItem_)return!1;let a=this.contents_.indexOf(this.selectedItem_)+1;if(-1<a&&a<this.contents_.length){let b=this.contents_[a];for(;b&&!b.isSelectable();)b=this.contents_[++a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1}selectPrevious_(){if(!this.selectedItem_)return!1;let a=this.contents_.indexOf(this.selectedItem_)-
1645
1646
  1;if(-1<a&&a<this.contents_.length){let b=this.contents_[a];for(;b&&!b.isSelectable();)b=this.contents_[--a];if(b&&b.isSelectable())return this.setSelectedItem(b),!0}return!1}dispose(){this.workspace_.getComponentManager().removeComponent("toolbox");this.flyout_.dispose();for(var a=0;a<this.contents_.length;a++)this.contents_[a].dispose();for(a=0;a<this.boundEvents_.length;a++)unbind$$module$build$src$core$browser_events(this.boundEvents_[a]);this.boundEvents_=[];this.contents_=[];this.HtmlDiv&&(this.workspace_.getThemeManager().unsubscribe(this.HtmlDiv),
1646
1647
  removeNode$$module$build$src$core$utils$dom(this.HtmlDiv))}};register$$module$build$src$core$css('\n.blocklyToolboxDelete {\n cursor: url("<<<PATH>>>/handdelete.cur"), auto;\n}\n\n.blocklyToolboxGrab {\n cursor: url("<<<PATH>>>/handclosed.cur"), auto;\n cursor: grabbing;\n cursor: -webkit-grabbing;\n}\n\n/* Category tree in Toolbox. */\n.blocklyToolboxDiv {\n background-color: #ddd;\n overflow-x: visible;\n overflow-y: auto;\n padding: 4px 0 4px 0;\n position: absolute;\n z-index: 70; /* so blocks go under toolbox when dragging */\n -webkit-tap-highlight-color: transparent; /* issue #1345 */\n}\n\n.blocklyToolboxContents {\n display: flex;\n flex-wrap: wrap;\n flex-direction: column;\n}\n\n.blocklyToolboxContents:focus {\n outline: none;\n}\n');
1647
- register$$module$build$src$core$registry(Type$$module$build$src$core$registry.TOOLBOX,DEFAULT$$module$build$src$core$registry,Toolbox$$module$build$src$core$toolbox$toolbox);var module$build$src$core$toolbox$toolbox={};module$build$src$core$toolbox$toolbox.Toolbox=Toolbox$$module$build$src$core$toolbox$toolbox;var VERSION$$module$build$src$core$blockly="10.4.2",ALIGN_LEFT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.LEFT,ALIGN_CENTRE$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.CENTRE,ALIGN_RIGHT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.RIGHT,INPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.INPUT_VALUE,OUTPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.OUTPUT_VALUE,
1648
+ register$$module$build$src$core$registry(Type$$module$build$src$core$registry.TOOLBOX,DEFAULT$$module$build$src$core$registry,Toolbox$$module$build$src$core$toolbox$toolbox);var module$build$src$core$toolbox$toolbox={};module$build$src$core$toolbox$toolbox.Toolbox=Toolbox$$module$build$src$core$toolbox$toolbox;var VERSION$$module$build$src$core$blockly="10.4.3",ALIGN_LEFT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.LEFT,ALIGN_CENTRE$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.CENTRE,ALIGN_RIGHT$$module$build$src$core$blockly=$.Align$$module$build$src$core$inputs$align.RIGHT,INPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.INPUT_VALUE,OUTPUT_VALUE$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.OUTPUT_VALUE,
1648
1649
  NEXT_STATEMENT$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.NEXT_STATEMENT,PREVIOUS_STATEMENT$$module$build$src$core$blockly=ConnectionType$$module$build$src$core$connection_type.PREVIOUS_STATEMENT,DUMMY_INPUT$$module$build$src$core$blockly=$.inputTypes$$module$build$src$core$inputs$input_types.DUMMY,TOOLBOX_AT_TOP$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.TOP,TOOLBOX_AT_BOTTOM$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.BOTTOM,
1649
1650
  TOOLBOX_AT_LEFT$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.LEFT,TOOLBOX_AT_RIGHT$$module$build$src$core$blockly=Position$$module$build$src$core$utils$toolbox.RIGHT,svgResize$$module$build$src$core$blockly=svgResize$$module$build$src$core$common,getMainWorkspace$$module$build$src$core$blockly=getMainWorkspace$$module$build$src$core$common,getSelected$$module$build$src$core$blockly=getSelected$$module$build$src$core$common,defineBlocksWithJsonArray$$module$build$src$core$blockly=
1650
1651
  defineBlocksWithJsonArray$$module$build$src$core$common,setParentContainer$$module$build$src$core$blockly=setParentContainer$$module$build$src$core$common,COLLAPSE_CHARS$$module$build$src$core$blockly=COLLAPSE_CHARS$$module$build$src$core$internal_constants,DRAG_STACK$$module$build$src$core$blockly=DRAG_STACK$$module$build$src$core$internal_constants,OPPOSITE_TYPE$$module$build$src$core$blockly=OPPOSITE_TYPE$$module$build$src$core$internal_constants,RENAME_VARIABLE_ID$$module$build$src$core$blockly=