Merge pull request #5826 from alschmiedt/patch_2021

chore: patch release 1 for Q4 2021
This commit is contained in:
alschmiedt
2021-12-15 13:42:39 -08:00
committed by GitHub
12 changed files with 225 additions and 137 deletions

View File

@@ -48,10 +48,10 @@ b);return a.join("\n")}};module$contents$Blockly$utils$string_wrapLine=function(
module$contents$Blockly$utils$string_wrapScore=function(a,b,c){for(var d=[0],e=[],f=0;f<a.length;f++)d[d.length-1]+=a[f].length,!0===b[f]?(d.push(0),e.push(a[f].charAt(a[f].length-1))):!1===b[f]&&d[d.length-1]++;a=Math.max.apply(Math,d);for(f=b=0;f<d.length;f++)b-=2*Math.pow(Math.abs(c-d[f]),1.5),b-=Math.pow(a-d[f],1.5),-1!==".?!".indexOf(e[f])?b+=c/3:-1!==",;)]}".indexOf(e[f])&&(b+=c/4);1<d.length&&d[d.length-1]<=d[d.length-2]&&(b+=.5);return b};
module$contents$Blockly$utils$string_wrapMutate=function(a,b,c){for(var d=module$contents$Blockly$utils$string_wrapScore(a,b,c),e,f=0;f<b.length-1;f++)if(b[f]!==b[f+1]){var g=[].concat(b);g[f]=!g[f];g[f+1]=!g[f+1];var h=module$contents$Blockly$utils$string_wrapScore(a,g,c);h>d&&(d=h,e=g)}return e?module$contents$Blockly$utils$string_wrapMutate(a,e,c):b};module$contents$Blockly$utils$string_wrapToText=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),void 0!==b[d]&&c.push(b[d]?"\n":" ");return c.join("")};
$.module$exports$Blockly$utils$string.isNumber=function(a){return/^\s*-?\d+(\.\d+)?\s*$/.test(a)};$.module$exports$Blockly$ConnectionType={ConnectionType:{INPUT_VALUE:1,OUTPUT_VALUE:2,NEXT_STATEMENT:3,PREVIOUS_STATEMENT:4}};$.module$exports$Blockly$internalConstants={LINE_MODE_MULTIPLIER:40,PAGE_MODE_MULTIPLIER:125,DRAG_RADIUS:5,FLYOUT_DRAG_RADIUS:10,SNAP_RADIUS:28};$.module$exports$Blockly$internalConstants.CONNECTING_SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.module$exports$Blockly$internalConstants.CURRENT_CONNECTION_PREFERENCE=8;$.module$exports$Blockly$internalConstants.BUMP_DELAY=250;$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS=10;
$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS=30;$.module$exports$Blockly$internalConstants.LONGPRESS=750;$.module$exports$Blockly$internalConstants.SOUND_LIMIT=100;$.module$exports$Blockly$internalConstants.DRAG_STACK=!0;$.module$exports$Blockly$internalConstants.HSV_SATURATION=.45;$.module$exports$Blockly$internalConstants.HSV_VALUE=.65;$.module$exports$Blockly$internalConstants.SPRITE={width:96,height:124,url:"sprites.png"};$.module$exports$Blockly$internalConstants.DRAG_NONE=0;
$.module$exports$Blockly$internalConstants.DRAG_STICKY=1;$.module$exports$Blockly$internalConstants.DRAG_BEGIN=1;$.module$exports$Blockly$internalConstants.DRAG_FREE=2;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE=[];$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;
$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT;
$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";$.module$exports$Blockly$utils$global={};$.module$exports$Blockly$utils$global.globalThis=function(){return"object"===typeof globalThis?globalThis:"object"===typeof self?self:"object"===typeof window?window:"object"===typeof global?global:this}();var module$exports$Blockly$Touch={};module$exports$Blockly$Touch.TOUCH_ENABLED="ontouchstart"in $.module$exports$Blockly$utils$global.globalThis||!!($.module$exports$Blockly$utils$global.globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!$.module$exports$Blockly$utils$global.globalThis.navigator||!$.module$exports$Blockly$utils$global.globalThis.navigator.maxTouchPoints&&!$.module$exports$Blockly$utils$global.globalThis.navigator.msMaxTouchPoints);
$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS=30;$.module$exports$Blockly$internalConstants.LONGPRESS=750;$.module$exports$Blockly$internalConstants.SOUND_LIMIT=100;$.module$exports$Blockly$internalConstants.DRAG_STACK=!0;$.module$exports$Blockly$internalConstants.SPRITE={width:96,height:124,url:"sprites.png"};$.module$exports$Blockly$internalConstants.DRAG_NONE=0;$.module$exports$Blockly$internalConstants.DRAG_STICKY=1;$.module$exports$Blockly$internalConstants.DRAG_BEGIN=1;
$.module$exports$Blockly$internalConstants.DRAG_FREE=2;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE=[];$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE]=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;
$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT;$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE[$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT]=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";
$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";$.module$exports$Blockly$utils$global={};$.module$exports$Blockly$utils$global.globalThis=function(){return"object"===typeof globalThis?globalThis:"object"===typeof self?self:"object"===typeof window?window:"object"===typeof global?global:this}();var module$exports$Blockly$Touch={};module$exports$Blockly$Touch.TOUCH_ENABLED="ontouchstart"in $.module$exports$Blockly$utils$global.globalThis||!!($.module$exports$Blockly$utils$global.globalThis.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!$.module$exports$Blockly$utils$global.globalThis.navigator||!$.module$exports$Blockly$utils$global.globalThis.navigator.maxTouchPoints&&!$.module$exports$Blockly$utils$global.globalThis.navigator.msMaxTouchPoints);
var module$contents$Blockly$Touch_touchIdentifier_=null;module$exports$Blockly$Touch.TOUCH_MAP={};
$.module$exports$Blockly$utils$global.globalThis.PointerEvent?module$exports$Blockly$Touch.TOUCH_MAP={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]}:module$exports$Blockly$Touch.TOUCH_ENABLED&&(module$exports$Blockly$Touch.TOUCH_MAP={mousedown:["touchstart"],mousemove:["touchmove"],mouseup:["touchend",
"touchcancel"]});var module$contents$Blockly$Touch_longPid_=0;module$exports$Blockly$Touch.longStart=function(a,b){(0,module$exports$Blockly$Touch.longStop)();a.changedTouches&&1!==a.changedTouches.length||(module$contents$Blockly$Touch_longPid_=setTimeout(function(){a.changedTouches&&(a.button=2,a.clientX=a.changedTouches[0].clientX,a.clientY=a.changedTouches[0].clientY);b&&b.handleRightClick(a)},$.module$exports$Blockly$internalConstants.LONGPRESS))};
@@ -385,15 +385,18 @@ module$exports$Blockly$blockRendering$Row.Row.prototype.getLastInput=function(){
module$exports$Blockly$blockRendering$Row.Row.prototype.endsWithElemSpacer=function(){return!0};module$exports$Blockly$blockRendering$Row.Row.prototype.getFirstSpacer=function(){for(var a=0;a<this.elements.length;a++){var b=this.elements[a];if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return b}return null};module$exports$Blockly$blockRendering$Row.Row.prototype.getLastSpacer=function(){for(var a=this.elements.length-1;0<=a;a--){var b=this.elements[a];if(module$exports$Blockly$blockRendering$Types.Types.isSpacer(b))return b}return null};var module$exports$Blockly$blockRendering$BottomRow={BottomRow:function(a){module$exports$Blockly$blockRendering$BottomRow.BottomRow.superClass_.constructor.call(this,a);this.type|=module$exports$Blockly$blockRendering$Types.Types.BOTTOM_ROW;this.hasNextConnection=!1;this.connection=null;this.baseline=this.descenderHeight=0}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$BottomRow.BottomRow,module$exports$Blockly$blockRendering$Row.Row);
module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.hasLeftSquareCorner=function(a){return!!a.outputConnection||!!a.getNextBlock()};module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.hasRightSquareCorner=function(a){return!0};
module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.measure=function(){for(var a=0,b=0,c=0,d=0;d<this.elements.length;d++){var e=this.elements[d];b+=e.width;module$exports$Blockly$blockRendering$Types.Types.isSpacer(e)||(module$exports$Blockly$blockRendering$Types.Types.isNextConnection(e)?c=Math.max(c,e.height):a=Math.max(a,e.height))}this.width=Math.max(this.minWidth,b);this.height=Math.max(this.minHeight,a)+c;this.descenderHeight=c;this.widthWithConnectedBlocks=this.width};
module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.startsWithElemSpacer=function(){return!1};module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.endsWithElemSpacer=function(){return!1};var module$exports$Blockly$blockRendering$Measurable={Measurable:function(a){this.height=this.width=0;this.type=module$exports$Blockly$blockRendering$Types.Types.NONE;this.centerline=this.xPos=0;this.constants_=a;this.notchOffset=this.constants_.NOTCH_OFFSET_LEFT}};var module$exports$Blockly$blockRendering$Connection={Connection:function(a,b){module$exports$Blockly$blockRendering$Connection.Connection.superClass_.constructor.call(this,a);this.connectionModel=b;this.shape=this.constants_.shapeFor(b);this.isDynamicShape=!!this.shape.isDynamic;this.type|=module$exports$Blockly$blockRendering$Types.Types.CONNECTION}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Connection.Connection,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$utils$colour={parse:function(a){a=String(a).toLowerCase().trim();var b=module$exports$Blockly$utils$colour.names[a];if(b)return b;b="0x"===a.substring(0,2)?"#"+a.substring(2):a;b="#"===b[0]?b:"#"+b;if(/^#[0-9a-f]{6}$/.test(b))return b;if(/^#[0-9a-f]{3}$/.test(b))return["#",b[1],b[1],b[2],b[2],b[3],b[3]].join("");var c=a.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return c&&(a=Number(c[1]),b=Number(c[2]),c=Number(c[3]),0<=a&&256>a&&0<=b&&256>b&&0<=c&&256>
c)?(0,module$exports$Blockly$utils$colour.rgbToHex)(a,b,c):null},rgbToHex:function(a,b,c){b=a<<16|b<<8|c;return 16>a?"#"+(16777216|b).toString(16).substr(1):"#"+b.toString(16)},hexToRgb:function(a){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return[0,0,0];a=parseInt(a.substr(1),16);return[a>>16,a>>8&255,a&255]},hsvToHex:function(a,b,c){var d=0,e=0,f=0;if(0===b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=
a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.floor(d),Math.floor(e),Math.floor(f))},blend:function(a,b,c){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return null;b=(0,module$exports$Blockly$utils$colour.parse)(b);if(!b)return null;a=(0,module$exports$Blockly$utils$colour.hexToRgb)(a);b=(0,module$exports$Blockly$utils$colour.hexToRgb)(b);return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.round(b[0]+
c*(a[0]-b[0])),Math.round(b[1]+c*(a[1]-b[1])),Math.round(b[2]+c*(a[2]-b[2])))},names:{aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},hueToHex:function(a){return(0,module$exports$Blockly$utils$colour.hsvToHex)(a,$.module$exports$Blockly$internalConstants.HSV_SATURATION,255*$.module$exports$Blockly$internalConstants.HSV_VALUE)}};var module$exports$Blockly$utils$svgPaths={point:function(a,b){return" "+a+","+b+" "},curve:function(a,b){return" "+a+b.join("")},moveTo:function(a,b){return" M "+a+","+b+" "},moveBy:function(a,b){return" m "+a+","+b+" "},lineTo:function(a,b){return" l "+a+","+b+" "},line:function(a){return" l"+a.join("")},lineOnAxis:function(a,b){return" "+a+" "+b+" "},arc:function(a,b,c,d){return a+" "+c+" "+c+" "+b+d}};var module$exports$Blockly$utils$parsing={},module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal=function(a,b){var c=[],d=a.split("");d.push("");var e=0;a=[];for(var f=null,g=0;g<d.length;g++){var h=d[g];0===e?"%"===h?((e=a.join(""))&&c.push(e),a.length=0,e=1):a.push(h):1===e?"%"===h?(a.push(h),e=0):b&&"0"<=h&&"9">=h?(e=2,f=h,(h=a.join(""))&&c.push(h),a.length=0):"{"===h?e=3:(a.push("%",h),e=0):2===e?"0"<=h&&"9">=h?f+=h:(c.push(parseInt(f,10)),g--,e=0):3===e&&(""===h?(a.splice(0,0,
module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.startsWithElemSpacer=function(){return!1};module$exports$Blockly$blockRendering$BottomRow.BottomRow.prototype.endsWithElemSpacer=function(){return!1};var module$exports$Blockly$blockRendering$Measurable={Measurable:function(a){this.height=this.width=0;this.type=module$exports$Blockly$blockRendering$Types.Types.NONE;this.centerline=this.xPos=0;this.constants_=a;this.notchOffset=this.constants_.NOTCH_OFFSET_LEFT}};var module$exports$Blockly$blockRendering$Connection={Connection:function(a,b){module$exports$Blockly$blockRendering$Connection.Connection.superClass_.constructor.call(this,a);this.connectionModel=b;this.shape=this.constants_.shapeFor(b);this.isDynamicShape=!!this.shape.isDynamic;this.type|=module$exports$Blockly$blockRendering$Types.Types.CONNECTION}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$blockRendering$Connection.Connection,module$exports$Blockly$blockRendering$Measurable.Measurable);var module$exports$Blockly$utils$colour={},module$contents$Blockly$utils$colour_hsvSaturation=.45;module$exports$Blockly$utils$colour.getHsvSaturation=function(){return module$contents$Blockly$utils$colour_hsvSaturation};module$exports$Blockly$utils$colour.setHsvSaturation=function(a){module$contents$Blockly$utils$colour_hsvSaturation=a};var module$contents$Blockly$utils$colour_hsvValue=.65;module$exports$Blockly$utils$colour.getHsvValue=function(){return module$contents$Blockly$utils$colour_hsvValue};
module$exports$Blockly$utils$colour.setHsvValue=function(a){module$contents$Blockly$utils$colour_hsvValue=a};
module$exports$Blockly$utils$colour.parse=function(a){a=String(a).toLowerCase().trim();var b=module$exports$Blockly$utils$colour.names[a];if(b)return b;b="0x"===a.substring(0,2)?"#"+a.substring(2):a;b="#"===b[0]?b:"#"+b;if(/^#[0-9a-f]{6}$/.test(b))return b;if(/^#[0-9a-f]{3}$/.test(b))return["#",b[1],b[1],b[2],b[2],b[3],b[3]].join("");var c=a.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return c&&(a=Number(c[1]),b=Number(c[2]),c=Number(c[3]),0<=a&&256>a&&0<=b&&256>b&&0<=c&&256>c)?
(0,module$exports$Blockly$utils$colour.rgbToHex)(a,b,c):null};module$exports$Blockly$utils$colour.rgbToHex=function(a,b,c){b=a<<16|b<<8|c;return 16>a?"#"+(16777216|b).toString(16).substr(1):"#"+b.toString(16)};module$exports$Blockly$utils$colour.hexToRgb=function(a){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return[0,0,0];a=parseInt(a.substr(1),16);return[a>>16,a>>8&255,a&255]};
module$exports$Blockly$utils$colour.hsvToHex=function(a,b,c){var d=0,e=0,f=0;if(0===b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.floor(d),Math.floor(e),Math.floor(f))};
module$exports$Blockly$utils$colour.blend=function(a,b,c){a=(0,module$exports$Blockly$utils$colour.parse)(a);if(!a)return null;b=(0,module$exports$Blockly$utils$colour.parse)(b);if(!b)return null;a=(0,module$exports$Blockly$utils$colour.hexToRgb)(a);b=(0,module$exports$Blockly$utils$colour.hexToRgb)(b);return(0,module$exports$Blockly$utils$colour.rgbToHex)(Math.round(b[0]+c*(a[0]-b[0])),Math.round(b[1]+c*(a[1]-b[1])),Math.round(b[2]+c*(a[2]-b[2])))};
module$exports$Blockly$utils$colour.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"};module$exports$Blockly$utils$colour.hueToHex=function(a){return(0,module$exports$Blockly$utils$colour.hsvToHex)(a,module$contents$Blockly$utils$colour_hsvSaturation,255*module$contents$Blockly$utils$colour_hsvValue)};var module$exports$Blockly$utils$svgPaths={point:function(a,b){return" "+a+","+b+" "},curve:function(a,b){return" "+a+b.join("")},moveTo:function(a,b){return" M "+a+","+b+" "},moveBy:function(a,b){return" m "+a+","+b+" "},lineTo:function(a,b){return" l "+a+","+b+" "},line:function(a){return" l"+a.join("")},lineOnAxis:function(a,b){return" "+a+" "+b+" "},arc:function(a,b,c,d){return a+" "+c+" "+c+" "+b+d}};var module$exports$Blockly$utils$parsing={},module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal=function(a,b){var c=[],d=a.split("");d.push("");var e=0;a=[];for(var f=null,g=0;g<d.length;g++){var h=d[g];0===e?"%"===h?((e=a.join(""))&&c.push(e),a.length=0,e=1):a.push(h):1===e?"%"===h?(a.push(h),e=0):b&&"0"<=h&&"9">=h?(e=2,f=h,(h=a.join(""))&&c.push(h),a.length=0):"{"===h?e=3:(a.push("%",h),e=0):2===e?"0"<=h&&"9">=h?f+=h:(c.push(parseInt(f,10)),g--,e=0):3===e&&(""===h?(a.splice(0,0,
"%{"),g--,e=0):"}"!==h?a.push(h):(e=a.join(""),/[A-Z]\w*/i.test(e)?(h=e.toUpperCase(),(h=(0,$.module$exports$Blockly$utils$string.startsWith)(h,"BKY_")?h.substring(4):null)&&h in $.module$exports$Blockly$Msg.Msg?(e=$.module$exports$Blockly$Msg.Msg[h],"string"===typeof e?Array.prototype.push.apply(c,module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(e,b)):b?c.push(String(e)):c.push(e)):c.push("%{"+e+"}")):c.push("%{"+e+"}"),e=a.length=0))}(b=a.join(""))&&c.push(b);d=[];for(f=a.length=
0;f<c.length;f++)"string"===typeof c[f]?a.push(c[f]):((b=a.join(""))&&d.push(b),a.length=0,d.push(c[f]));(b=a.join(""))&&d.push(b);a.length=0;return d};module$exports$Blockly$utils$parsing.tokenizeInterpolation=function(a){return module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(a,!0)};
module$exports$Blockly$utils$parsing.replaceMessageReferences=function(a){if("string"!==typeof a)return a;a=module$contents$Blockly$utils$parsing_tokenizeInterpolationInternal(a,!1);return a.length?String(a[0]):""};module$exports$Blockly$utils$parsing.checkMessageReferences=function(a){for(var b=!0,c=$.module$exports$Blockly$Msg.Msg,d=a.match(/%{BKY_[A-Z]\w*}/ig),e=0;e<d.length;e++){var f=d[e].toUpperCase();void 0===c[f.slice(6,-1)]&&(console.warn("No message string for "+d[e]+" in "+a),b=!1)}return b};
module$exports$Blockly$utils$parsing.parseBlockColour=function(a){var b="string"===typeof a?(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)return{hue:c,hex:(0,module$exports$Blockly$utils$colour.hsvToHex)(c,$.module$exports$Blockly$internalConstants.HSV_SATURATION,255*$.module$exports$Blockly$internalConstants.HSV_VALUE)};if(c=(0,module$exports$Blockly$utils$colour.parse)(b))return{hue:null,hex:c};c='Invalid colour: "'+b+'"';a!==b&&(c+=
' (from "'+a+'")');throw Error(c);};var module$exports$Blockly$blockRendering$ConstantProvider={ConstantProvider:function(){this.NO_PADDING=0;this.SMALL_PADDING=3;this.MEDIUM_PADDING=5;this.MEDIUM_LARGE_PADDING=8;this.LARGE_PADDING=10;this.TALL_INPUT_FIELD_OFFSET_Y=this.MEDIUM_PADDING;this.TAB_HEIGHT=15;this.TAB_OFFSET_FROM_TOP=5;this.TAB_VERTICAL_OVERLAP=2.5;this.TAB_WIDTH=8;this.NOTCH_WIDTH=15;this.NOTCH_HEIGHT=4;this.MIN_BLOCK_WIDTH=12;this.EMPTY_BLOCK_SPACER_HEIGHT=16;this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=this.DUMMY_INPUT_MIN_HEIGHT=
module$exports$Blockly$utils$parsing.parseBlockColour=function(a){var b="string"===typeof a?(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)return{hue:c,hex:(0,module$exports$Blockly$utils$colour.hsvToHex)(c,(0,module$exports$Blockly$utils$colour.getHsvSaturation)(),255*(0,module$exports$Blockly$utils$colour.getHsvValue)())};if(c=(0,module$exports$Blockly$utils$colour.parse)(b))return{hue:null,hex:c};c='Invalid colour: "'+b+'"';a!==b&&
(c+=' (from "'+a+'")');throw Error(c);};var module$exports$Blockly$blockRendering$ConstantProvider={ConstantProvider:function(){this.NO_PADDING=0;this.SMALL_PADDING=3;this.MEDIUM_PADDING=5;this.MEDIUM_LARGE_PADDING=8;this.LARGE_PADDING=10;this.TALL_INPUT_FIELD_OFFSET_Y=this.MEDIUM_PADDING;this.TAB_HEIGHT=15;this.TAB_OFFSET_FROM_TOP=5;this.TAB_VERTICAL_OVERLAP=2.5;this.TAB_WIDTH=8;this.NOTCH_WIDTH=15;this.NOTCH_HEIGHT=4;this.MIN_BLOCK_WIDTH=12;this.EMPTY_BLOCK_SPACER_HEIGHT=16;this.DUMMY_INPUT_SHADOW_MIN_HEIGHT=this.DUMMY_INPUT_MIN_HEIGHT=
this.TAB_HEIGHT;this.CORNER_RADIUS=8;this.STATEMENT_INPUT_NOTCH_OFFSET=this.NOTCH_OFFSET_LEFT=15;this.STATEMENT_BOTTOM_SPACER=0;this.STATEMENT_INPUT_PADDING_LEFT=20;this.BETWEEN_STATEMENT_PADDING_Y=4;this.TOP_ROW_MIN_HEIGHT=this.MEDIUM_PADDING;this.TOP_ROW_PRECEDES_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING;this.BOTTOM_ROW_MIN_HEIGHT=this.MEDIUM_PADDING;this.BOTTOM_ROW_AFTER_STATEMENT_MIN_HEIGHT=this.LARGE_PADDING;this.ADD_START_HATS=!1;this.START_HAT_HEIGHT=15;this.START_HAT_WIDTH=100;this.SPACER_DEFAULT_HEIGHT=
15;this.MIN_BLOCK_HEIGHT=24;this.EMPTY_INLINE_INPUT_PADDING=14.5;this.EMPTY_INLINE_INPUT_HEIGHT=this.TAB_HEIGHT+11;this.EXTERNAL_VALUE_INPUT_PADDING=2;this.EMPTY_STATEMENT_INPUT_HEIGHT=this.MIN_BLOCK_HEIGHT;this.START_POINT=(0,module$exports$Blockly$utils$svgPaths.moveBy)(0,0);this.JAGGED_TEETH_HEIGHT=12;this.JAGGED_TEETH_WIDTH=6;this.FIELD_TEXT_FONTSIZE=11;this.FIELD_TEXT_FONTWEIGHT="normal";this.FIELD_TEXT_FONTFAMILY="sans-serif";this.FIELD_TEXT_BASELINE=this.FIELD_TEXT_HEIGHT=-1;this.FIELD_BORDER_RECT_RADIUS=
4;this.FIELD_BORDER_RECT_HEIGHT=16;this.FIELD_BORDER_RECT_X_PADDING=5;this.FIELD_BORDER_RECT_Y_PADDING=3;this.FIELD_BORDER_RECT_COLOUR="#fff";this.FIELD_TEXT_BASELINE_CENTER=!module$exports$Blockly$utils$userAgent.IE&&!module$exports$Blockly$utils$userAgent.EDGE;this.FIELD_DROPDOWN_BORDER_RECT_HEIGHT=this.FIELD_BORDER_RECT_HEIGHT;this.FIELD_DROPDOWN_SVG_ARROW=this.FIELD_DROPDOWN_COLOURED_DIV=this.FIELD_DROPDOWN_NO_BORDER_RECT_SHADOW=!1;this.FIELD_DROPDOWN_SVG_ARROW_PADDING=this.FIELD_BORDER_RECT_X_PADDING;
@@ -914,16 +917,16 @@ var module$contents$Blockly$Extensions_extensionParentTooltip=function(){this.to
module$exports$Blockly$utils.KeyCodes=module$exports$Blockly$utils$KeyCodes.KeyCodes;module$exports$Blockly$utils.math=module$exports$Blockly$utils$math;module$exports$Blockly$utils.Metrics=module$exports$Blockly$utils$Metrics.Metrics;module$exports$Blockly$utils.object=$.module$exports$Blockly$utils$object;module$exports$Blockly$utils.parsing=module$exports$Blockly$utils$parsing;module$exports$Blockly$utils.Rect=module$exports$Blockly$utils$Rect.Rect;module$exports$Blockly$utils.Size=module$exports$Blockly$utils$Size.Size;
module$exports$Blockly$utils.string=$.module$exports$Blockly$utils$string;module$exports$Blockly$utils.style=module$exports$Blockly$utils$style;module$exports$Blockly$utils.Svg=module$exports$Blockly$utils$Svg.Svg;module$exports$Blockly$utils.svgPaths=module$exports$Blockly$utils$svgPaths;module$exports$Blockly$utils.svgMath=module$exports$Blockly$utils$svgMath;module$exports$Blockly$utils.toolbox=module$exports$Blockly$utils$toolbox;module$exports$Blockly$utils.userAgent=module$exports$Blockly$utils$userAgent;
module$exports$Blockly$utils.xml=$.module$exports$Blockly$utils$xml;module$exports$Blockly$utils.noEvent=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.noEvent","September 2021","September 2022");a.preventDefault();a.stopPropagation()};module$exports$Blockly$utils.isTargetInput=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.isTargetInput","September 2021","September 2022","Blockly.browserEvents.isTargetInput");return(0,module$exports$Blockly$browserEvents.isTargetInput)(a)};
module$exports$Blockly$utils.getRelativeXY=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getRelativeXY","December 2021","December 2022","Blockly.svgMath.getRelativeXY");return(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(a)};module$exports$Blockly$utils.getInjectionDivXY_=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getInjectionDivXY_","December 2021","December 2022","Blockly.svgMath.getInjectionDivXY");return(0,module$exports$Blockly$utils$svgMath.getInjectionDivXY)(a)};
module$exports$Blockly$utils.getRelativeXY=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getRelativeXY","December 2021","December 2022","Blockly.utils.svgMath.getRelativeXY");return(0,module$exports$Blockly$utils$svgMath.getRelativeXY)(a)};module$exports$Blockly$utils.getInjectionDivXY_=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getInjectionDivXY_","December 2021","December 2022","Blockly.utils.svgMath.getInjectionDivXY");return(0,module$exports$Blockly$utils$svgMath.getInjectionDivXY)(a)};
module$exports$Blockly$utils.isRightButton=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.isRightButton","September 2021","September 2022","Blockly.browserEvents.isRightButton");return(0,module$exports$Blockly$browserEvents.isRightButton)(a)};
module$exports$Blockly$utils.mouseToSvg=function(a,b,c){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.mouseToSvg","September 2021","September 2022","Blockly.browserEvents.mouseToSvg");return(0,module$exports$Blockly$browserEvents.mouseToSvg)(a,b,c)};module$exports$Blockly$utils.getScrollDeltaPixels=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getScrollDeltaPixels","September 2021","September 2022","Blockly.browserEvents.getScrollDeltaPixels");return(0,module$exports$Blockly$browserEvents.getScrollDeltaPixels)(a)};
module$exports$Blockly$utils.tokenizeInterpolation=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.tokenizeInterpolation","December 2021","December 2022","Blockly.utils.parsing.tokenizeInterpolation");return(0,module$exports$Blockly$utils$parsing.tokenizeInterpolation)(a)};
module$exports$Blockly$utils.replaceMessageReferences=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.replaceMessageReferences","December 2021","December 2022","Blockly.utils.parsing.replaceMessageReferences");return(0,module$exports$Blockly$utils$parsing.replaceMessageReferences)(a)};
module$exports$Blockly$utils.checkMessageReferences=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.checkMessageReferences","December 2021","December 2022","Blockly.utils.parsing.checkMessageReferences");return(0,module$exports$Blockly$utils$parsing.checkMessageReferences)(a)};module$exports$Blockly$utils.genUid=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.genUid","September 2021","September 2022","Blockly.utils.idGenerator.genUid");return(0,module$exports$Blockly$utils$idGenerator.genUid)()};
module$exports$Blockly$utils.is3dSupported=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.is3dSupported","December 2021","December 2022","Blockly.svgMath.is3dSupported");return(0,module$exports$Blockly$utils$svgMath.is3dSupported)()};module$exports$Blockly$utils.getViewportBBox=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getViewportBBox","December 2021","December 2022","Blockly.svgMath.getViewportBBox");return(0,module$exports$Blockly$utils$svgMath.getViewportBBox)()};
module$exports$Blockly$utils.arrayRemove=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.arrayRemove","December 2021","December 2022");return(0,module$exports$Blockly$utils$array.removeElem)(a,b)};module$exports$Blockly$utils.getDocumentScroll=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getDocumentScroll","December 2021","December 2022","Blockly.svgMath.getDocumentScroll");return(0,module$exports$Blockly$utils$svgMath.getDocumentScroll)()};
module$exports$Blockly$utils.is3dSupported=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.is3dSupported","December 2021","December 2022","Blockly.utils.svgMath.is3dSupported");return(0,module$exports$Blockly$utils$svgMath.is3dSupported)()};module$exports$Blockly$utils.getViewportBBox=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getViewportBBox","December 2021","December 2022","Blockly.utils.svgMath.getViewportBBox");return(0,module$exports$Blockly$utils$svgMath.getViewportBBox)()};
module$exports$Blockly$utils.arrayRemove=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.arrayRemove","December 2021","December 2022");return(0,module$exports$Blockly$utils$array.removeElem)(a,b)};module$exports$Blockly$utils.getDocumentScroll=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getDocumentScroll","December 2021","December 2022","Blockly.utils.svgMath.getDocumentScroll");return(0,module$exports$Blockly$utils$svgMath.getDocumentScroll)()};
module$exports$Blockly$utils.getBlockTypeCounts=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.getBlockTypeCounts","December 2021","December 2022","Blockly.common.getBlockTypeCounts");return(0,$.module$exports$Blockly$common.getBlockTypeCounts)(a,b)};
module$exports$Blockly$utils.screenToWsCoordinates=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.screenToWsCoordinates","December 2021","December 2022","Blockly.svgMath.screenToWsCoordinates");return(0,module$exports$Blockly$utils$svgMath.screenToWsCoordinates)(a,b)};
module$exports$Blockly$utils.screenToWsCoordinates=function(a,b){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.screenToWsCoordinates","December 2021","December 2022","Blockly.utils.svgMath.screenToWsCoordinates");return(0,module$exports$Blockly$utils$svgMath.screenToWsCoordinates)(a,b)};
module$exports$Blockly$utils.parseBlockColour=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.parseBlockColour","December 2021","December 2022","Blockly.utils.parsing.parseBlockColour");return(0,module$exports$Blockly$utils$parsing.parseBlockColour)(a)};module$exports$Blockly$utils.runAfterPageLoad=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.utils.runAfterPageLoad","December 2021","December 2022");(0,$.module$exports$Blockly$Extensions.runAfterPageLoad)(a)};var module$exports$Blockly$Events$BlockDelete={BlockDelete:function(a){module$exports$Blockly$Events$BlockDelete.BlockDelete.superClass_.constructor.call(this,a);if(a){if(a.getParent())throw Error("Connected blocks cannot be deleted.");a.isShadow()&&(this.recordUndo=!1);this.oldXml=(0,$.module$exports$Blockly$Xml.blockToDomWithXY)(a);this.ids=(0,module$exports$Blockly$Events$utils.getDescendantIds)(a);this.wasShadow=a.isShadow();this.oldJson=(0,module$exports$Blockly$serialization$blocks.save)(a,
{addCoordinates:!0})}}};(0,$.module$exports$Blockly$utils$object.inherits)(module$exports$Blockly$Events$BlockDelete.BlockDelete,module$exports$Blockly$Events$BlockBase.BlockBase);module$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.type=module$exports$Blockly$Events$utils.DELETE;
module$exports$Blockly$Events$BlockDelete.BlockDelete.prototype.toJson=function(){var a=module$exports$Blockly$Events$BlockDelete.BlockDelete.superClass_.toJson.call(this);a.oldXml=(0,$.module$exports$Blockly$Xml.domToText)(this.oldXml);a.ids=this.ids;a.wasShadow=this.wasShadow;a.oldJson=this.oldJson;this.recordUndo||(a.recordUndo=this.recordUndo);return a};
@@ -1961,42 +1964,43 @@ $.module$exports$Blockly$Mutator.Mutator.prototype.updateWorkspace_=function(){i
b=g.rendered;g.rendered=!1;g.compose(this.rootBlock_);g.rendered=b;g.initSvg();g.rendered&&g.render();b=module$exports$Blockly$Events$BlockChange.BlockChange.getExtraBlockState_(g);if(a!==b){(0,module$exports$Blockly$Events$utils.fire)(new ((0,module$exports$Blockly$Events$utils.get)(module$exports$Blockly$Events$utils.CHANGE))(g,"mutation",null,a,b));var h=(0,module$exports$Blockly$Events$utils.getGroup)();setTimeout(function(){(0,module$exports$Blockly$Events$utils.setGroup)(h);g.bumpNeighbours();
(0,module$exports$Blockly$Events$utils.setGroup)(!1)},$.module$exports$Blockly$internalConstants.BUMP_DELAY)}this.workspace_.isDragging()||this.resizeBubble_();(0,module$exports$Blockly$Events$utils.setGroup)(!1)}};$.module$exports$Blockly$Mutator.Mutator.prototype.dispose=function(){this.block_.mutator=null;module$exports$Blockly$Icon.Icon.prototype.dispose.call(this)};
$.module$exports$Blockly$Mutator.Mutator.prototype.updateBlockStyle=function(){var a=this.workspace_;if(a&&a.getAllBlocks(!1)){for(var b=a.getAllBlocks(!1),c=0,d;d=b[c];c++)d.setStyle(d.getStyleName());if(a=a.getFlyout())for(a=a.workspace_.getAllBlocks(!1),b=0;c=a[b];b++)c.setStyle(c.getStyleName())}};
$.module$exports$Blockly$Mutator.Mutator.reconnect=function(a,b,c){if(!a||!a.getSourceBlock().workspace)return!1;c=b.getInput(c).connection;var d=a.targetBlock();return d&&d!==b||c.targetConnection===a?!1:(c.isConnected()&&c.disconnect(),c.connect(a),!0)};$.module$exports$Blockly$Mutator.Mutator.findParentWs=function(a){var b=null;if(a&&a.options){var c=a.options.parentWorkspace;a.isFlyout?c&&c.options&&(b=c.options.parentWorkspace):c&&(b=c)}return b};$.Blockly={VERSION:"7.20211209.0"};$.Blockly.ALIGN_LEFT=$.module$exports$Blockly$Input.Align.LEFT;$.Blockly.ALIGN_CENTRE=$.module$exports$Blockly$Input.Align.CENTRE;$.Blockly.ALIGN_RIGHT=$.module$exports$Blockly$Input.Align.RIGHT;$.Blockly.INPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;$.Blockly.OUTPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;$.Blockly.NEXT_STATEMENT=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;
$.module$exports$Blockly$Mutator.Mutator.reconnect=function(a,b,c){if(!a||!a.getSourceBlock().workspace)return!1;c=b.getInput(c).connection;var d=a.targetBlock();return d&&d!==b||c.targetConnection===a?!1:(c.isConnected()&&c.disconnect(),c.connect(a),!0)};$.module$exports$Blockly$Mutator.Mutator.findParentWs=function(a){var b=null;if(a&&a.options){var c=a.options.parentWorkspace;a.isFlyout?c&&c.options&&(b=c.options.parentWorkspace):c&&(b=c)}return b};$.Blockly={VERSION:"7.20211209.1"};$.Blockly.ALIGN_LEFT=$.module$exports$Blockly$Input.Align.LEFT;$.Blockly.ALIGN_CENTRE=$.module$exports$Blockly$Input.Align.CENTRE;$.Blockly.ALIGN_RIGHT=$.module$exports$Blockly$Input.Align.RIGHT;$.Blockly.INPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.INPUT_VALUE;$.Blockly.OUTPUT_VALUE=$.module$exports$Blockly$ConnectionType.ConnectionType.OUTPUT_VALUE;$.Blockly.NEXT_STATEMENT=$.module$exports$Blockly$ConnectionType.ConnectionType.NEXT_STATEMENT;
$.Blockly.PREVIOUS_STATEMENT=$.module$exports$Blockly$ConnectionType.ConnectionType.PREVIOUS_STATEMENT;$.Blockly.DUMMY_INPUT=$.module$exports$Blockly$inputTypes.inputTypes.DUMMY;$.Blockly.TOOLBOX_AT_TOP=module$exports$Blockly$utils$toolbox.Position.TOP;$.Blockly.TOOLBOX_AT_BOTTOM=module$exports$Blockly$utils$toolbox.Position.BOTTOM;$.Blockly.TOOLBOX_AT_LEFT=module$exports$Blockly$utils$toolbox.Position.LEFT;$.Blockly.TOOLBOX_AT_RIGHT=module$exports$Blockly$utils$toolbox.Position.RIGHT;
$.Blockly.svgResize=$.module$exports$Blockly$common.svgResize;var module$contents$Blockly_hideChaff=function(a){(0,$.module$exports$Blockly$common.getMainWorkspace)().hideChaff(a)};$.Blockly.hideChaff=module$contents$Blockly_hideChaff;$.Blockly.getMainWorkspace=$.module$exports$Blockly$common.getMainWorkspace;$.Blockly.defineBlocksWithJsonArray=$.module$exports$Blockly$common.defineBlocksWithJsonArray;$.Blockly.setParentContainer=$.module$exports$Blockly$common.setParentContainer;
Object.defineProperties($.Blockly,{alert:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.alert","December 2021","December 2022");(0,module$exports$Blockly$dialog.setAlert)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.alert","December 2021","December 2022","Blockly.dialog.alert()");return module$exports$Blockly$dialog.alert}},confirm:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.confirm","December 2021","December 2022");
(0,module$exports$Blockly$dialog.setConfirm)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.confirm","December 2021","December 2022","Blockly.dialog.confirm()");return module$exports$Blockly$dialog.confirm}},mainWorkspace:{set:function(a){(0,$.module$exports$Blockly$common.setMainWorkspace)(a)},get:function(){return(0,$.module$exports$Blockly$common.getMainWorkspace)()}},prompt:{set:function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.prompt","December 2021",
"December 2022");(0,module$exports$Blockly$dialog.setPrompt)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.prompt","December 2021","December 2022","Blockly.dialog.prompt()");return module$exports$Blockly$dialog.prompt}},selected:{get:function(){return(0,$.module$exports$Blockly$common.getSelected)()},set:function(a){(0,$.module$exports$Blockly$common.setSelected)(a)}}});$.Blockly.svgSize=module$exports$Blockly$utils$svgMath.svgSize;
var module$contents$Blockly_resizeSvgContentsLocal=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.resizeSvgContents","December 2021","December 2022","Blockly.WorkspaceSvg.resizeSvgContents");(0,module$exports$Blockly$WorkspaceSvg.resizeSvgContents)(a)};$.Blockly.resizeSvgContents=module$contents$Blockly_resizeSvgContentsLocal;
var module$contents$Blockly_copy=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.copy","December 2021","December 2022","Blockly.clipboard.copy");(0,module$exports$Blockly$clipboard.copy)(a)};$.Blockly.copy=module$contents$Blockly_copy;var module$contents$Blockly_paste=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.paste","December 2021","December 2022","Blockly.clipboard.paste");return(0,module$exports$Blockly$clipboard.paste)()};$.Blockly.paste=module$contents$Blockly_paste;
var module$contents$Blockly_duplicate=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.duplicate","December 2021","December 2022","Blockly.clipboard.duplicate");(0,module$exports$Blockly$clipboard.duplicate)(a)};$.Blockly.duplicate=module$contents$Blockly_duplicate;var module$contents$Blockly_isNumber=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.isNumber","December 2021","December 2022","Blockly.utils.string.isNumber");return module$exports$Blockly$utils.string.isNumber(a)};
$.Blockly.isNumber=module$contents$Blockly_isNumber;var module$contents$Blockly_hueToHex=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.hueToHex","December 2021","December 2022","Blockly.utils.colour.hueToHex");return(0,module$exports$Blockly$utils$colour.hueToHex)(a)};$.Blockly.hueToHex=module$contents$Blockly_hueToHex;
"December 2022");(0,module$exports$Blockly$dialog.setPrompt)(a)},get:function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.prompt","December 2021","December 2022","Blockly.dialog.prompt()");return module$exports$Blockly$dialog.prompt}},selected:{get:function(){return(0,$.module$exports$Blockly$common.getSelected)()},set:function(a){(0,$.module$exports$Blockly$common.setSelected)(a)}},HSV_SATURATION:{get:function(){return module$exports$Blockly$utils.colour.getHsvSaturation()},set:function(a){module$exports$Blockly$utils.colour.setHsvSaturation(a)}},
HSV_VALUE:{get:function(){return module$exports$Blockly$utils.colour.getHsvValue()},set:function(a){module$exports$Blockly$utils.colour.setHsvValue(a)}}});$.Blockly.svgSize=module$exports$Blockly$utils$svgMath.svgSize;var module$contents$Blockly_resizeSvgContentsLocal=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.resizeSvgContents","December 2021","December 2022","Blockly.WorkspaceSvg.resizeSvgContents");(0,module$exports$Blockly$WorkspaceSvg.resizeSvgContents)(a)};
$.Blockly.resizeSvgContents=module$contents$Blockly_resizeSvgContentsLocal;var module$contents$Blockly_copy=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.copy","December 2021","December 2022","Blockly.clipboard.copy");(0,module$exports$Blockly$clipboard.copy)(a)};$.Blockly.copy=module$contents$Blockly_copy;
var module$contents$Blockly_paste=function(){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.paste","December 2021","December 2022","Blockly.clipboard.paste");return(0,module$exports$Blockly$clipboard.paste)()};$.Blockly.paste=module$contents$Blockly_paste;var module$contents$Blockly_duplicate=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.duplicate","December 2021","December 2022","Blockly.clipboard.duplicate");(0,module$exports$Blockly$clipboard.duplicate)(a)};
$.Blockly.duplicate=module$contents$Blockly_duplicate;var module$contents$Blockly_isNumber=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.isNumber","December 2021","December 2022","Blockly.utils.string.isNumber");return module$exports$Blockly$utils.string.isNumber(a)};$.Blockly.isNumber=module$contents$Blockly_isNumber;
var module$contents$Blockly_hueToHex=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.hueToHex","December 2021","December 2022","Blockly.utils.colour.hueToHex");return(0,module$exports$Blockly$utils$colour.hueToHex)(a)};$.Blockly.hueToHex=module$contents$Blockly_hueToHex;
var module$contents$Blockly_bindEvent_=function(a,b,c,d){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.bindEvent_","December 2021","December 2022","Blockly.browserEvents.bind");return(0,module$exports$Blockly$browserEvents.bind)(a,b,c,d)};$.Blockly.bindEvent_=module$contents$Blockly_bindEvent_;var module$contents$Blockly_unbindEvent_=function(a){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.unbindEvent_","December 2021","December 2022","Blockly.browserEvents.unbind");return(0,module$exports$Blockly$browserEvents.unbind)(a)};
$.Blockly.unbindEvent_=module$contents$Blockly_unbindEvent_;var module$contents$Blockly_bindEventWithChecks_=function(a,b,c,d,e,f){(0,module$exports$Blockly$utils$deprecation.warn)("Blockly.bindEventWithChecks_","December 2021","December 2022","Blockly.browserEvents.conditionalBind");return(0,module$exports$Blockly$browserEvents.conditionalBind)(a,b,c,d,e,f)};$.Blockly.bindEventWithChecks_=module$contents$Blockly_bindEventWithChecks_;$.Blockly.LINE_MODE_MULTIPLIER=$.module$exports$Blockly$internalConstants.LINE_MODE_MULTIPLIER;
$.Blockly.PAGE_MODE_MULTIPLIER=$.module$exports$Blockly$internalConstants.PAGE_MODE_MULTIPLIER;$.Blockly.DRAG_RADIUS=$.module$exports$Blockly$internalConstants.DRAG_RADIUS;$.Blockly.FLYOUT_DRAG_RADIUS=$.module$exports$Blockly$internalConstants.FLYOUT_DRAG_RADIUS;$.Blockly.SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.Blockly.CONNECTING_SNAP_RADIUS=$.module$exports$Blockly$internalConstants.SNAP_RADIUS;$.Blockly.CURRENT_CONNECTION_PREFERENCE=$.module$exports$Blockly$internalConstants.CURRENT_CONNECTION_PREFERENCE;
$.Blockly.BUMP_DELAY=$.module$exports$Blockly$internalConstants.BUMP_DELAY;$.Blockly.BUMP_RANDOMNESS=$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS;$.Blockly.COLLAPSE_CHARS=$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS;$.Blockly.LONGPRESS=$.module$exports$Blockly$internalConstants.LONGPRESS;$.Blockly.SOUND_LIMIT=$.module$exports$Blockly$internalConstants.SOUND_LIMIT;$.Blockly.DRAG_STACK=$.module$exports$Blockly$internalConstants.DRAG_STACK;$.Blockly.HSV_SATURATION=$.module$exports$Blockly$internalConstants.HSV_SATURATION;
$.Blockly.HSV_VALUE=$.module$exports$Blockly$internalConstants.HSV_VALUE;$.Blockly.SPRITE=$.module$exports$Blockly$internalConstants.SPRITE;$.Blockly.DRAG_NONE=$.module$exports$Blockly$internalConstants.DRAG_NONE;$.Blockly.DRAG_STICKY=$.module$exports$Blockly$internalConstants.DRAG_STICKY;$.Blockly.DRAG_BEGIN=$.module$exports$Blockly$internalConstants.DRAG_BEGIN;$.Blockly.DRAG_FREE=$.module$exports$Blockly$internalConstants.DRAG_FREE;$.Blockly.OPPOSITE_TYPE=$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE;
$.Blockly.RENAME_VARIABLE_ID=$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID;$.Blockly.DELETE_VARIABLE_ID=$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID;$.Blockly.COLLAPSED_INPUT_NAME=module$exports$Blockly$constants.COLLAPSED_INPUT_NAME;$.Blockly.COLLAPSED_FIELD_NAME=module$exports$Blockly$constants.COLLAPSED_FIELD_NAME;$.Blockly.VARIABLE_CATEGORY_NAME=$.module$exports$Blockly$Variables.CATEGORY_NAME;$.Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME=module$exports$Blockly$VariablesDynamic.CATEGORY_NAME;
$.Blockly.PROCEDURE_CATEGORY_NAME=$.module$exports$Blockly$Procedures.CATEGORY_NAME;$.Blockly.ASTNode=module$exports$Blockly$ASTNode.ASTNode;$.Blockly.BasicCursor=module$exports$Blockly$BasicCursor.BasicCursor;$.Blockly.Block=module$exports$Blockly$Block.Block;$.Blockly.BlocklyOptions=module$exports$Blockly$BlocklyOptions.BlocklyOptions;$.Blockly.BlockDragger=module$exports$Blockly$BlockDragger.BlockDragger;$.Blockly.BlockDragSurfaceSvg=module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg;
$.Blockly.BlockSvg=module$exports$Blockly$BlockSvg.BlockSvg;$.Blockly.Blocks=$.module$exports$Blockly$blocks.Blocks;$.Blockly.Bubble=module$exports$Blockly$Bubble.Bubble;$.Blockly.BubbleDragger=module$exports$Blockly$BubbleDragger.BubbleDragger;$.Blockly.CollapsibleToolboxCategory=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory;$.Blockly.Comment=module$exports$Blockly$Comment.Comment;$.Blockly.ComponentManager=module$exports$Blockly$ComponentManager.ComponentManager;
$.Blockly.Connection=module$exports$Blockly$Connection.Connection;$.Blockly.ConnectionType=$.module$exports$Blockly$ConnectionType.ConnectionType;$.Blockly.ConnectionChecker=module$exports$Blockly$ConnectionChecker.ConnectionChecker;$.Blockly.ConnectionDB=module$exports$Blockly$ConnectionDB.ConnectionDB;$.Blockly.ContextMenu=$.module$exports$Blockly$ContextMenu;$.Blockly.ContextMenuItems=module$exports$Blockly$ContextMenuItems;$.Blockly.ContextMenuRegistry=module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry;
$.Blockly.Css=module$exports$Blockly$Css;$.Blockly.Cursor=module$exports$Blockly$Cursor.Cursor;$.Blockly.DeleteArea=module$exports$Blockly$DeleteArea.DeleteArea;$.Blockly.DragTarget=module$exports$Blockly$DragTarget.DragTarget;$.Blockly.DropDownDiv=module$exports$Blockly$DropDownDiv.DropDownDiv;$.Blockly.Events=$.module$exports$Blockly$Events;$.Blockly.Extensions=$.module$exports$Blockly$Extensions;$.Blockly.Field=module$exports$Blockly$Field.Field;$.Blockly.FieldAngle=module$exports$Blockly$FieldAngle.FieldAngle;
$.Blockly.FieldCheckbox=$.module$exports$Blockly$FieldCheckbox.FieldCheckbox;$.Blockly.FieldColour=module$exports$Blockly$FieldColour.FieldColour;$.Blockly.FieldDropdown=$.module$exports$Blockly$FieldDropdown.FieldDropdown;$.Blockly.FieldImage=$.module$exports$Blockly$FieldImage.FieldImage;$.Blockly.FieldLabel=$.module$exports$Blockly$FieldLabel.FieldLabel;$.Blockly.FieldLabelSerializable=module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable;$.Blockly.FieldMultilineInput=module$exports$Blockly$FieldMultilineInput.FieldMultilineInput;
$.Blockly.FieldNumber=module$exports$Blockly$FieldNumber.FieldNumber;$.Blockly.FieldTextInput=$.module$exports$Blockly$FieldTextInput.FieldTextInput;$.Blockly.FieldVariable=module$exports$Blockly$FieldVariable.FieldVariable;$.Blockly.Flyout=module$exports$Blockly$Flyout.Flyout;$.Blockly.FlyoutButton=module$exports$Blockly$FlyoutButton.FlyoutButton;$.Blockly.FlyoutMetricsManager=module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager;$.Blockly.Generator=$.module$exports$Blockly$Generator.Generator;
$.Blockly.Gesture=module$exports$Blockly$Gesture.Gesture;$.Blockly.Grid=module$exports$Blockly$Grid.Grid;$.Blockly.HorizontalFlyout=module$exports$Blockly$HorizontalFlyout.HorizontalFlyout;$.Blockly.IASTNodeLocation=module$exports$Blockly$IASTNodeLocation.IASTNodeLocation;$.Blockly.IASTNodeLocationSvg=module$exports$Blockly$IASTNodeLocationSvg.IASTNodeLocationSvg;$.Blockly.IASTNodeLocationWithBlock=module$exports$Blockly$IASTNodeLocationWithBlock.IASTNodeLocationWithBlock;
$.Blockly.IAutoHideable=module$exports$Blockly$IAutoHideable.IAutoHideable;$.Blockly.IBlockDragger=module$exports$Blockly$IBlockDragger.IBlockDragger;$.Blockly.IBoundedElement=module$exports$Blockly$IBoundedElement.IBoundedElement;$.Blockly.IBubble=module$exports$Blockly$IBubble.IBubble;$.Blockly.ICollapsibleToolboxItem=module$exports$Blockly$ICollapsibleToolboxItem.ICollapsibleToolboxItem;$.Blockly.IComponent=module$exports$Blockly$IComponent.IComponent;$.Blockly.IConnectionChecker=module$exports$Blockly$IConnectionChecker.IConnectionChecker;
$.Blockly.IContextMenu=module$exports$Blockly$IContextMenu.IContextMenu;$.Blockly.Icon=module$exports$Blockly$Icon.Icon;$.Blockly.ICopyable=module$exports$Blockly$ICopyable.ICopyable;$.Blockly.IDeletable=module$exports$Blockly$IDeletable.IDeletable;$.Blockly.IDeleteArea=module$exports$Blockly$IDeleteArea.IDeleteArea;$.Blockly.IDragTarget=module$exports$Blockly$IDragTarget.IDragTarget;$.Blockly.IDraggable=module$exports$Blockly$IDraggable.IDraggable;$.Blockly.IFlyout=module$exports$Blockly$IFlyout.IFlyout;
$.Blockly.IKeyboardAccessible=module$exports$Blockly$IKeyboardAccessible.IKeyboardAccessible;$.Blockly.IMetricsManager=module$exports$Blockly$IMetricsManager.IMetricsManager;$.Blockly.IMovable=module$exports$Blockly$IMovable.IMovable;$.Blockly.Input=$.module$exports$Blockly$Input.Input;$.Blockly.InsertionMarkerManager=module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager;$.Blockly.IPositionable=module$exports$Blockly$IPositionable.IPositionable;$.Blockly.IRegistrable=module$exports$Blockly$IRegistrable.IRegistrable;
$.Blockly.IRegistrableField=module$exports$Blockly$IRegistrableField.IRegistrableField;$.Blockly.ISelectable=module$exports$Blockly$ISelectable.ISelectable;$.Blockly.ISelectableToolboxItem=module$exports$Blockly$ISelectableToolboxItem.ISelectableToolboxItem;$.Blockly.IStyleable=module$exports$Blockly$IStyleable.IStyleable;$.Blockly.IToolbox=module$exports$Blockly$IToolbox.IToolbox;$.Blockly.IToolboxItem=module$exports$Blockly$IToolboxItem.IToolboxItem;$.Blockly.Marker=module$exports$Blockly$Marker.Marker;
$.Blockly.MarkerManager=module$exports$Blockly$MarkerManager.MarkerManager;$.Blockly.Menu=module$exports$Blockly$Menu.Menu;$.Blockly.MenuItem=module$exports$Blockly$MenuItem.MenuItem;$.Blockly.MetricsManager=module$exports$Blockly$MetricsManager.MetricsManager;$.Blockly.Mutator=$.module$exports$Blockly$Mutator.Mutator;$.Blockly.Msg=$.module$exports$Blockly$Msg.Msg;$.Blockly.Names=$.module$exports$Blockly$Names.Names;$.Blockly.Options=module$exports$Blockly$Options.Options;$.Blockly.Procedures=$.module$exports$Blockly$Procedures;
$.Blockly.RenderedConnection=module$exports$Blockly$RenderedConnection.RenderedConnection;$.Blockly.Scrollbar=module$exports$Blockly$Scrollbar.Scrollbar;$.Blockly.ScrollbarPair=module$exports$Blockly$ScrollbarPair.ScrollbarPair;$.Blockly.ShortcutItems=module$exports$Blockly$ShortcutItems;$.Blockly.ShortcutRegistry=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry;$.Blockly.TabNavigateCursor=module$exports$Blockly$TabNavigateCursor.TabNavigateCursor;$.Blockly.Theme=module$exports$Blockly$Theme.Theme;
$.Blockly.Themes=module$exports$Blockly$Themes;$.Blockly.ThemeManager=module$exports$Blockly$ThemeManager.ThemeManager;$.Blockly.Toolbox=module$exports$Blockly$Toolbox.Toolbox;$.Blockly.ToolboxCategory=module$exports$Blockly$ToolboxCategory.ToolboxCategory;$.Blockly.ToolboxItem=module$exports$Blockly$ToolboxItem.ToolboxItem;$.Blockly.ToolboxSeparator=module$exports$Blockly$ToolboxSeparator.ToolboxSeparator;$.Blockly.Tooltip=module$exports$Blockly$Tooltip;$.Blockly.Touch=module$exports$Blockly$Touch;
$.Blockly.TouchGesture=module$exports$Blockly$TouchGesture.TouchGesture;$.Blockly.Trashcan=module$exports$Blockly$Trashcan.Trashcan;$.Blockly.VariableMap=module$exports$Blockly$VariableMap.VariableMap;$.Blockly.VariableModel=module$exports$Blockly$VariableModel.VariableModel;$.Blockly.Variables=$.module$exports$Blockly$Variables;$.Blockly.VariablesDynamic=module$exports$Blockly$VariablesDynamic;$.Blockly.VerticalFlyout=module$exports$Blockly$VerticalFlyout.VerticalFlyout;$.Blockly.Warning=module$exports$Blockly$Warning.Warning;
$.Blockly.WidgetDiv=module$exports$Blockly$WidgetDiv;$.Blockly.Workspace=module$exports$Blockly$Workspace.Workspace;$.Blockly.WorkspaceAudio=module$exports$Blockly$WorkspaceAudio.WorkspaceAudio;$.Blockly.WorkspaceComment=module$exports$Blockly$WorkspaceComment.WorkspaceComment;$.Blockly.WorkspaceCommentSvg=module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg;$.Blockly.WorkspaceDragSurfaceSvg=module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg;
$.Blockly.WorkspaceDragger=module$exports$Blockly$WorkspaceDragger.WorkspaceDragger;$.Blockly.WorkspaceSvg=module$exports$Blockly$WorkspaceSvg.WorkspaceSvg;$.Blockly.Xml=$.module$exports$Blockly$Xml;$.Blockly.ZoomControls=module$exports$Blockly$ZoomControls.ZoomControls;$.Blockly.blockAnimations=module$exports$Blockly$blockAnimations;$.Blockly.blockRendering=module$exports$Blockly$blockRendering;$.Blockly.browserEvents=module$exports$Blockly$browserEvents;$.Blockly.bumpObjects=module$exports$Blockly$bumpObjects;
$.Blockly.clipboard=module$exports$Blockly$clipboard;$.Blockly.common=$.module$exports$Blockly$common;$.Blockly.connectionTypes=$.module$exports$Blockly$ConnectionType.ConnectionType;$.Blockly.constants=module$exports$Blockly$constants;$.Blockly.dialog=module$exports$Blockly$dialog;$.Blockly.fieldRegistry=module$exports$Blockly$fieldRegistry;$.Blockly.geras=module$exports$Blockly$geras;$.Blockly.inject=module$exports$Blockly$inject.inject;$.Blockly.inputTypes=$.module$exports$Blockly$inputTypes.inputTypes;
$.Blockly.minimalist=module$exports$Blockly$minimalist;$.Blockly.registry=module$exports$Blockly$registry;$.Blockly.serialization={blocks:module$exports$Blockly$serialization$blocks,exceptions:module$exports$Blockly$serialization$exceptions,priorities:module$exports$Blockly$serialization$priorities,registry:module$exports$Blockly$serialization$registry,variables:module$exports$Blockly$serialization$variables,workspaces:module$exports$Blockly$serialization$workspaces,ISerializer:module$exports$Blockly$serialization$ISerializer.ISerializer};
$.Blockly.thrasos=module$exports$Blockly$thrasos;$.Blockly.uiPosition=module$exports$Blockly$uiPosition;$.Blockly.utils=module$exports$Blockly$utils;$.Blockly.zelos=module$exports$Blockly$zelos;"Blockly"in $.module$exports$Blockly$utils$global.globalThis||($.module$exports$Blockly$utils$global.globalThis.Blockly={Msg:$.module$exports$Blockly$Msg.Msg});
$.Blockly.BUMP_DELAY=$.module$exports$Blockly$internalConstants.BUMP_DELAY;$.Blockly.BUMP_RANDOMNESS=$.module$exports$Blockly$internalConstants.BUMP_RANDOMNESS;$.Blockly.COLLAPSE_CHARS=$.module$exports$Blockly$internalConstants.COLLAPSE_CHARS;$.Blockly.LONGPRESS=$.module$exports$Blockly$internalConstants.LONGPRESS;$.Blockly.SOUND_LIMIT=$.module$exports$Blockly$internalConstants.SOUND_LIMIT;$.Blockly.DRAG_STACK=$.module$exports$Blockly$internalConstants.DRAG_STACK;$.Blockly.SPRITE=$.module$exports$Blockly$internalConstants.SPRITE;
$.Blockly.DRAG_NONE=$.module$exports$Blockly$internalConstants.DRAG_NONE;$.Blockly.DRAG_STICKY=$.module$exports$Blockly$internalConstants.DRAG_STICKY;$.Blockly.DRAG_BEGIN=$.module$exports$Blockly$internalConstants.DRAG_BEGIN;$.Blockly.DRAG_FREE=$.module$exports$Blockly$internalConstants.DRAG_FREE;$.Blockly.OPPOSITE_TYPE=$.module$exports$Blockly$internalConstants.OPPOSITE_TYPE;$.Blockly.RENAME_VARIABLE_ID=$.module$exports$Blockly$internalConstants.RENAME_VARIABLE_ID;$.Blockly.DELETE_VARIABLE_ID=$.module$exports$Blockly$internalConstants.DELETE_VARIABLE_ID;
$.Blockly.COLLAPSED_INPUT_NAME=module$exports$Blockly$constants.COLLAPSED_INPUT_NAME;$.Blockly.COLLAPSED_FIELD_NAME=module$exports$Blockly$constants.COLLAPSED_FIELD_NAME;$.Blockly.VARIABLE_CATEGORY_NAME=$.module$exports$Blockly$Variables.CATEGORY_NAME;$.Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME=module$exports$Blockly$VariablesDynamic.CATEGORY_NAME;$.Blockly.PROCEDURE_CATEGORY_NAME=$.module$exports$Blockly$Procedures.CATEGORY_NAME;$.Blockly.ASTNode=module$exports$Blockly$ASTNode.ASTNode;
$.Blockly.BasicCursor=module$exports$Blockly$BasicCursor.BasicCursor;$.Blockly.Block=module$exports$Blockly$Block.Block;$.Blockly.BlocklyOptions=module$exports$Blockly$BlocklyOptions.BlocklyOptions;$.Blockly.BlockDragger=module$exports$Blockly$BlockDragger.BlockDragger;$.Blockly.BlockDragSurfaceSvg=module$exports$Blockly$BlockDragSurfaceSvg.BlockDragSurfaceSvg;$.Blockly.BlockSvg=module$exports$Blockly$BlockSvg.BlockSvg;$.Blockly.Blocks=$.module$exports$Blockly$blocks.Blocks;$.Blockly.Bubble=module$exports$Blockly$Bubble.Bubble;
$.Blockly.BubbleDragger=module$exports$Blockly$BubbleDragger.BubbleDragger;$.Blockly.CollapsibleToolboxCategory=module$exports$Blockly$CollapsibleToolboxCategory.CollapsibleToolboxCategory;$.Blockly.Comment=module$exports$Blockly$Comment.Comment;$.Blockly.ComponentManager=module$exports$Blockly$ComponentManager.ComponentManager;$.Blockly.Connection=module$exports$Blockly$Connection.Connection;$.Blockly.ConnectionType=$.module$exports$Blockly$ConnectionType.ConnectionType;
$.Blockly.ConnectionChecker=module$exports$Blockly$ConnectionChecker.ConnectionChecker;$.Blockly.ConnectionDB=module$exports$Blockly$ConnectionDB.ConnectionDB;$.Blockly.ContextMenu=$.module$exports$Blockly$ContextMenu;$.Blockly.ContextMenuItems=module$exports$Blockly$ContextMenuItems;$.Blockly.ContextMenuRegistry=module$exports$Blockly$ContextMenuRegistry.ContextMenuRegistry;$.Blockly.Css=module$exports$Blockly$Css;$.Blockly.Cursor=module$exports$Blockly$Cursor.Cursor;$.Blockly.DeleteArea=module$exports$Blockly$DeleteArea.DeleteArea;
$.Blockly.DragTarget=module$exports$Blockly$DragTarget.DragTarget;$.Blockly.DropDownDiv=module$exports$Blockly$DropDownDiv.DropDownDiv;$.Blockly.Events=$.module$exports$Blockly$Events;$.Blockly.Extensions=$.module$exports$Blockly$Extensions;$.Blockly.Field=module$exports$Blockly$Field.Field;$.Blockly.FieldAngle=module$exports$Blockly$FieldAngle.FieldAngle;$.Blockly.FieldCheckbox=$.module$exports$Blockly$FieldCheckbox.FieldCheckbox;$.Blockly.FieldColour=module$exports$Blockly$FieldColour.FieldColour;
$.Blockly.FieldDropdown=$.module$exports$Blockly$FieldDropdown.FieldDropdown;$.Blockly.FieldImage=$.module$exports$Blockly$FieldImage.FieldImage;$.Blockly.FieldLabel=$.module$exports$Blockly$FieldLabel.FieldLabel;$.Blockly.FieldLabelSerializable=module$exports$Blockly$FieldLabelSerializable.FieldLabelSerializable;$.Blockly.FieldMultilineInput=module$exports$Blockly$FieldMultilineInput.FieldMultilineInput;$.Blockly.FieldNumber=module$exports$Blockly$FieldNumber.FieldNumber;
$.Blockly.FieldTextInput=$.module$exports$Blockly$FieldTextInput.FieldTextInput;$.Blockly.FieldVariable=module$exports$Blockly$FieldVariable.FieldVariable;$.Blockly.Flyout=module$exports$Blockly$Flyout.Flyout;$.Blockly.FlyoutButton=module$exports$Blockly$FlyoutButton.FlyoutButton;$.Blockly.FlyoutMetricsManager=module$exports$Blockly$FlyoutMetricsManager.FlyoutMetricsManager;$.Blockly.Generator=$.module$exports$Blockly$Generator.Generator;$.Blockly.Gesture=module$exports$Blockly$Gesture.Gesture;
$.Blockly.Grid=module$exports$Blockly$Grid.Grid;$.Blockly.HorizontalFlyout=module$exports$Blockly$HorizontalFlyout.HorizontalFlyout;$.Blockly.IASTNodeLocation=module$exports$Blockly$IASTNodeLocation.IASTNodeLocation;$.Blockly.IASTNodeLocationSvg=module$exports$Blockly$IASTNodeLocationSvg.IASTNodeLocationSvg;$.Blockly.IASTNodeLocationWithBlock=module$exports$Blockly$IASTNodeLocationWithBlock.IASTNodeLocationWithBlock;$.Blockly.IAutoHideable=module$exports$Blockly$IAutoHideable.IAutoHideable;
$.Blockly.IBlockDragger=module$exports$Blockly$IBlockDragger.IBlockDragger;$.Blockly.IBoundedElement=module$exports$Blockly$IBoundedElement.IBoundedElement;$.Blockly.IBubble=module$exports$Blockly$IBubble.IBubble;$.Blockly.ICollapsibleToolboxItem=module$exports$Blockly$ICollapsibleToolboxItem.ICollapsibleToolboxItem;$.Blockly.IComponent=module$exports$Blockly$IComponent.IComponent;$.Blockly.IConnectionChecker=module$exports$Blockly$IConnectionChecker.IConnectionChecker;$.Blockly.IContextMenu=module$exports$Blockly$IContextMenu.IContextMenu;
$.Blockly.Icon=module$exports$Blockly$Icon.Icon;$.Blockly.ICopyable=module$exports$Blockly$ICopyable.ICopyable;$.Blockly.IDeletable=module$exports$Blockly$IDeletable.IDeletable;$.Blockly.IDeleteArea=module$exports$Blockly$IDeleteArea.IDeleteArea;$.Blockly.IDragTarget=module$exports$Blockly$IDragTarget.IDragTarget;$.Blockly.IDraggable=module$exports$Blockly$IDraggable.IDraggable;$.Blockly.IFlyout=module$exports$Blockly$IFlyout.IFlyout;$.Blockly.IKeyboardAccessible=module$exports$Blockly$IKeyboardAccessible.IKeyboardAccessible;
$.Blockly.IMetricsManager=module$exports$Blockly$IMetricsManager.IMetricsManager;$.Blockly.IMovable=module$exports$Blockly$IMovable.IMovable;$.Blockly.Input=$.module$exports$Blockly$Input.Input;$.Blockly.InsertionMarkerManager=module$exports$Blockly$InsertionMarkerManager.InsertionMarkerManager;$.Blockly.IPositionable=module$exports$Blockly$IPositionable.IPositionable;$.Blockly.IRegistrable=module$exports$Blockly$IRegistrable.IRegistrable;$.Blockly.IRegistrableField=module$exports$Blockly$IRegistrableField.IRegistrableField;
$.Blockly.ISelectable=module$exports$Blockly$ISelectable.ISelectable;$.Blockly.ISelectableToolboxItem=module$exports$Blockly$ISelectableToolboxItem.ISelectableToolboxItem;$.Blockly.IStyleable=module$exports$Blockly$IStyleable.IStyleable;$.Blockly.IToolbox=module$exports$Blockly$IToolbox.IToolbox;$.Blockly.IToolboxItem=module$exports$Blockly$IToolboxItem.IToolboxItem;$.Blockly.Marker=module$exports$Blockly$Marker.Marker;$.Blockly.MarkerManager=module$exports$Blockly$MarkerManager.MarkerManager;
$.Blockly.Menu=module$exports$Blockly$Menu.Menu;$.Blockly.MenuItem=module$exports$Blockly$MenuItem.MenuItem;$.Blockly.MetricsManager=module$exports$Blockly$MetricsManager.MetricsManager;$.Blockly.Mutator=$.module$exports$Blockly$Mutator.Mutator;$.Blockly.Msg=$.module$exports$Blockly$Msg.Msg;$.Blockly.Names=$.module$exports$Blockly$Names.Names;$.Blockly.Options=module$exports$Blockly$Options.Options;$.Blockly.Procedures=$.module$exports$Blockly$Procedures;$.Blockly.RenderedConnection=module$exports$Blockly$RenderedConnection.RenderedConnection;
$.Blockly.Scrollbar=module$exports$Blockly$Scrollbar.Scrollbar;$.Blockly.ScrollbarPair=module$exports$Blockly$ScrollbarPair.ScrollbarPair;$.Blockly.ShortcutItems=module$exports$Blockly$ShortcutItems;$.Blockly.ShortcutRegistry=module$exports$Blockly$ShortcutRegistry.ShortcutRegistry;$.Blockly.TabNavigateCursor=module$exports$Blockly$TabNavigateCursor.TabNavigateCursor;$.Blockly.Theme=module$exports$Blockly$Theme.Theme;$.Blockly.Themes=module$exports$Blockly$Themes;$.Blockly.ThemeManager=module$exports$Blockly$ThemeManager.ThemeManager;
$.Blockly.Toolbox=module$exports$Blockly$Toolbox.Toolbox;$.Blockly.ToolboxCategory=module$exports$Blockly$ToolboxCategory.ToolboxCategory;$.Blockly.ToolboxItem=module$exports$Blockly$ToolboxItem.ToolboxItem;$.Blockly.ToolboxSeparator=module$exports$Blockly$ToolboxSeparator.ToolboxSeparator;$.Blockly.Tooltip=module$exports$Blockly$Tooltip;$.Blockly.Touch=module$exports$Blockly$Touch;$.Blockly.TouchGesture=module$exports$Blockly$TouchGesture.TouchGesture;$.Blockly.Trashcan=module$exports$Blockly$Trashcan.Trashcan;
$.Blockly.VariableMap=module$exports$Blockly$VariableMap.VariableMap;$.Blockly.VariableModel=module$exports$Blockly$VariableModel.VariableModel;$.Blockly.Variables=$.module$exports$Blockly$Variables;$.Blockly.VariablesDynamic=module$exports$Blockly$VariablesDynamic;$.Blockly.VerticalFlyout=module$exports$Blockly$VerticalFlyout.VerticalFlyout;$.Blockly.Warning=module$exports$Blockly$Warning.Warning;$.Blockly.WidgetDiv=module$exports$Blockly$WidgetDiv;$.Blockly.Workspace=module$exports$Blockly$Workspace.Workspace;
$.Blockly.WorkspaceAudio=module$exports$Blockly$WorkspaceAudio.WorkspaceAudio;$.Blockly.WorkspaceComment=module$exports$Blockly$WorkspaceComment.WorkspaceComment;$.Blockly.WorkspaceCommentSvg=module$exports$Blockly$WorkspaceCommentSvg.WorkspaceCommentSvg;$.Blockly.WorkspaceDragSurfaceSvg=module$exports$Blockly$WorkspaceDragSurfaceSvg.WorkspaceDragSurfaceSvg;$.Blockly.WorkspaceDragger=module$exports$Blockly$WorkspaceDragger.WorkspaceDragger;$.Blockly.WorkspaceSvg=module$exports$Blockly$WorkspaceSvg.WorkspaceSvg;
$.Blockly.Xml=$.module$exports$Blockly$Xml;$.Blockly.ZoomControls=module$exports$Blockly$ZoomControls.ZoomControls;$.Blockly.blockAnimations=module$exports$Blockly$blockAnimations;$.Blockly.blockRendering=module$exports$Blockly$blockRendering;$.Blockly.browserEvents=module$exports$Blockly$browserEvents;$.Blockly.bumpObjects=module$exports$Blockly$bumpObjects;$.Blockly.clipboard=module$exports$Blockly$clipboard;$.Blockly.common=$.module$exports$Blockly$common;$.Blockly.connectionTypes=$.module$exports$Blockly$ConnectionType.ConnectionType;
$.Blockly.constants=module$exports$Blockly$constants;$.Blockly.dialog=module$exports$Blockly$dialog;$.Blockly.fieldRegistry=module$exports$Blockly$fieldRegistry;$.Blockly.geras=module$exports$Blockly$geras;$.Blockly.inject=module$exports$Blockly$inject.inject;$.Blockly.inputTypes=$.module$exports$Blockly$inputTypes.inputTypes;$.Blockly.minimalist=module$exports$Blockly$minimalist;$.Blockly.registry=module$exports$Blockly$registry;
$.Blockly.serialization={blocks:module$exports$Blockly$serialization$blocks,exceptions:module$exports$Blockly$serialization$exceptions,priorities:module$exports$Blockly$serialization$priorities,registry:module$exports$Blockly$serialization$registry,variables:module$exports$Blockly$serialization$variables,workspaces:module$exports$Blockly$serialization$workspaces,ISerializer:module$exports$Blockly$serialization$ISerializer.ISerializer};$.Blockly.thrasos=module$exports$Blockly$thrasos;
$.Blockly.uiPosition=module$exports$Blockly$uiPosition;$.Blockly.utils=module$exports$Blockly$utils;$.Blockly.zelos=module$exports$Blockly$zelos;"Blockly"in $.module$exports$Blockly$utils$global.globalThis||($.module$exports$Blockly$utils$global.globalThis.Blockly={Msg:$.module$exports$Blockly$Msg.Msg});
if(!COMPILED&&"object"===typeof $.module$exports$Blockly$utils$global.globalThis.Blockly&&$.module$exports$Blockly$utils$global.globalThis.Blockly!==$.Blockly){var descriptors=Object.getOwnPropertyDescriptors($.Blockly),accessors={},key;for(key in descriptors)if(descriptors[key].get||descriptors[key].set)accessors[key]=descriptors[key];Object.defineProperties($.module$exports$Blockly$utils$global.globalThis.Blockly,accessors)};
$.Blockly.internal_=$;
return $.Blockly;

File diff suppressed because one or more lines are too long

View File

@@ -444,6 +444,36 @@ Object.defineProperties(exports, {
common.setSelected(newSelection);
},
},
/**
* The richness of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @name Blockly.HSV_SATURATION
* @type {number}
* @suppress {checkTypes}
*/
HSV_SATURATION: {
get: function() {
return utils.colour.getHsvSaturation();
},
set: function(newValue) {
utils.colour.setHsvSaturation(newValue);
},
},
/**
* The intensity of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @name Blockly.HSV_VALUE
* @type {number}
* @suppress {checkTypes}
*/
HSV_VALUE: {
get: function() {
return utils.colour.getHsvValue();
},
set: function(newValue) {
utils.colour.setHsvValue(newValue);
},
},
});
/**
@@ -639,8 +669,6 @@ exports.COLLAPSE_CHARS = internalConstants.COLLAPSE_CHARS;
exports.LONGPRESS = internalConstants.LONGPRESS;
exports.SOUND_LIMIT = internalConstants.SOUND_LIMIT;
exports.DRAG_STACK = internalConstants.DRAG_STACK;
exports.HSV_SATURATION = internalConstants.HSV_SATURATION;
exports.HSV_VALUE = internalConstants.HSV_VALUE;
exports.SPRITE = internalConstants.SPRITE;
exports.DRAG_NONE = internalConstants.DRAG_NONE;
exports.DRAG_STICKY = internalConstants.DRAG_STICKY;

View File

@@ -121,22 +121,6 @@ exports.SOUND_LIMIT = SOUND_LIMIT;
const DRAG_STACK = true;
exports.DRAG_STACK = DRAG_STACK;
/**
* The richness of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @alias Blockly.internalConstants.HSV_SATURATION
*/
const HSV_SATURATION = 0.45;
exports.HSV_SATURATION = HSV_SATURATION;
/**
* The intensity of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @alias Blockly.internalConstants.HSV_VALUE
*/
const HSV_VALUE = 0.65;
exports.HSV_VALUE = HSV_VALUE;
/**
* Sprited icons and images.
* @alias Blockly.internalConstants.SPRITE

View File

@@ -110,7 +110,7 @@ exports.isTargetInput = isTargetInput;
const getRelativeXY = function(element) {
deprecation.warn(
'Blockly.utils.getRelativeXY', 'December 2021', 'December 2022',
'Blockly.svgMath.getRelativeXY');
'Blockly.utils.svgMath.getRelativeXY');
return svgMath.getRelativeXY(element);
};
exports.getRelativeXY = getRelativeXY;
@@ -128,7 +128,7 @@ exports.getRelativeXY = getRelativeXY;
const getInjectionDivXY = function(element) {
deprecation.warn(
'Blockly.utils.getInjectionDivXY_', 'December 2021', 'December 2022',
'Blockly.svgMath.getInjectionDivXY');
'Blockly.utils.svgMath.getInjectionDivXY');
return svgMath.getInjectionDivXY(element);
};
exports.getInjectionDivXY_ = getInjectionDivXY;
@@ -261,7 +261,7 @@ exports.genUid = genUid;
const is3dSupported = function() {
deprecation.warn(
'Blockly.utils.is3dSupported', 'December 2021', 'December 2022',
'Blockly.svgMath.is3dSupported');
'Blockly.utils.svgMath.is3dSupported');
return svgMath.is3dSupported();
};
exports.is3dSupported = is3dSupported;
@@ -278,7 +278,7 @@ exports.is3dSupported = is3dSupported;
const getViewportBBox = function() {
deprecation.warn(
'Blockly.utils.getViewportBBox', 'December 2021', 'December 2022',
'Blockly.svgMath.getViewportBBox');
'Blockly.utils.svgMath.getViewportBBox');
return svgMath.getViewportBBox();
};
exports.getViewportBBox = getViewportBBox;
@@ -309,7 +309,7 @@ exports.arrayRemove = arrayRemove;
const getDocumentScroll = function() {
deprecation.warn(
'Blockly.utils.getDocumentScroll', 'December 2021', 'December 2022',
'Blockly.svgMath.getDocumentScroll');
'Blockly.utils.svgMath.getDocumentScroll');
return svgMath.getDocumentScroll();
};
exports.getDocumentScroll = getDocumentScroll;
@@ -344,7 +344,7 @@ exports.getBlockTypeCounts = getBlockTypeCounts;
const screenToWsCoordinates = function(ws, screenCoordinates) {
deprecation.warn(
'Blockly.utils.screenToWsCoordinates', 'December 2021', 'December 2022',
'Blockly.svgMath.screenToWsCoordinates');
'Blockly.utils.svgMath.screenToWsCoordinates');
return svgMath.screenToWsCoordinates(ws, screenCoordinates);
};
exports.screenToWsCoordinates = screenToWsCoordinates;

View File

@@ -6,21 +6,76 @@
/**
* @fileoverview Utility methods for colour manipulation.
* These methods are not specific to Blockly, and could be factored out into
* a JavaScript framework such as Closure.
*/
'use strict';
/**
* Utility methods for colour manipulation.
* These methods are not specific to Blockly, and could be factored out into
* a JavaScript framework such as Closure.
* @namespace Blockly.utils.colour
*/
goog.module('Blockly.utils.colour');
const internalConstants = goog.require('Blockly.internalConstants');
/**
* The richness of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @alias Blockly.utils.colour.hsvSaturation
* @package
*/
let hsvSaturation = 0.45;
/**
* Get the richness of block colours, regardless of the hue.
* @alias Blockly.utils.colour.getHsvSaturation
* @return {number} The current richness.
* @package
*/
const getHsvSaturation = function() {
return hsvSaturation;
};
exports.getHsvSaturation = getHsvSaturation;
/**
* Set the richness of block colours, regardless of the hue.
* @param {number} newSaturation The new richness, in the range of 0
* (inclusive) to 1 (exclusive)
* @alias Blockly.utils.colour.setHsvSaturation
* @package
*/
const setHsvSaturation = function(newSaturation) {
hsvSaturation = newSaturation;
};
exports.setHsvSaturation = setHsvSaturation;
/**
* The intensity of block colours, regardless of the hue.
* Must be in the range of 0 (inclusive) to 1 (exclusive).
* @alias Blockly.utils.colour.hsvValue
* @package
*/
let hsvValue = 0.65;
/**
* Get the intensity of block colours, regardless of the hue.
* @alias Blockly.utils.colour.getHsvValue
* @return {number} The current intensity.
* @package
*/
const getHsvValue = function() {
return hsvValue;
};
exports.getHsvValue = getHsvValue;
/**
* Set the intensity of block colours, regardless of the hue.
* @param {number} newValue The new intensity, in the range of 0
* (inclusive) to 1 (exclusive)
* @alias Blockly.utils.colour.setHsvValue
* @package
*/
const setHsvValue = function(newValue) {
hsvValue = newValue;
};
exports.setHsvValue = setHsvValue;
/**
* Parses a colour from a string.
@@ -228,7 +283,6 @@ exports.names = names;
* @alias Blockly.utils.colour.hueToHex
*/
const hueToHex = function(hue) {
return hsvToHex(
hue, internalConstants.HSV_SATURATION, internalConstants.HSV_VALUE * 255);
return hsvToHex(hue, hsvSaturation, hsvValue * 255);
};
exports.hueToHex = hueToHex;

View File

@@ -15,7 +15,6 @@
goog.module('Blockly.utils.parsing');
const colourUtils = goog.require('Blockly.utils.colour');
const internalConstants = goog.require('Blockly.internalConstants');
const stringUtils = goog.require('Blockly.utils.string');
const {Msg} = goog.require('Blockly.Msg');
@@ -243,8 +242,7 @@ const parseBlockColour = function(colour) {
return {
hue: hue,
hex: colourUtils.hsvToHex(
hue, internalConstants.HSV_SATURATION,
internalConstants.HSV_VALUE * 255),
hue, colourUtils.getHsvSaturation(), colourUtils.getHsvValue() * 255),
};
} else {
const hex = colourUtils.parse(dereferenced);

View File

@@ -51,7 +51,7 @@ const XY_STYLE_REGEX =
* its parent. Only for SVG elements and children (e.g. rect, g, path).
* @param {!Element} element SVG element to find the coordinates of.
* @return {!Coordinate} Object with .x and .y properties.
* @alias Blockly.svgMath.getRelativeXY
* @alias Blockly.utils.svgMath.getRelativeXY
*/
const getRelativeXY = function(element) {
const xy = new Coordinate(0, 0);
@@ -96,7 +96,7 @@ exports.getRelativeXY = getRelativeXY;
* not a child of the div Blockly was injected into, the behaviour is
* undefined.
* @return {!Coordinate} Object with .x and .y properties.
* @alias Blockly.svgMath.getInjectionDivXY
* @alias Blockly.utils.svgMath.getInjectionDivXY
*/
const getInjectionDivXY = function(element) {
let x = 0;
@@ -119,7 +119,7 @@ exports.getInjectionDivXY = getInjectionDivXY;
* Check if 3D transforms are supported by adding an element
* and attempting to set the property.
* @return {boolean} True if 3D transforms are supported.
* @alias Blockly.svgMath.is3dSupported
* @alias Blockly.utils.svgMath.is3dSupported
*/
const is3dSupported = function() {
if (is3dSupported.cached_ !== undefined) {
@@ -172,7 +172,7 @@ exports.is3dSupported = is3dSupported;
* scroll into account.
* @return {!Rect} An object containing window width, height, and
* scroll position in window coordinates.
* @alias Blockly.svgMath.getViewportBBox
* @alias Blockly.utils.svgMath.getViewportBBox
* @package
*/
const getViewportBBox = function() {
@@ -188,7 +188,7 @@ exports.getViewportBBox = getViewportBBox;
* Gets the document scroll distance as a coordinate object.
* Copied from Closure's goog.dom.getDocumentScroll.
* @return {!Coordinate} Object with values 'x' and 'y'.
* @alias Blockly.svgMath.getDocumentScroll
* @alias Blockly.utils.svgMath.getDocumentScroll
*/
const getDocumentScroll = function() {
const el = document.documentElement;
@@ -210,7 +210,7 @@ exports.getDocumentScroll = getDocumentScroll;
* @param {!Coordinate} screenCoordinates The screen coordinates to
* be converted to workspace coordinates
* @return {!Coordinate} The workspace coordinates.
* @alias Blockly.svgMath.screenToWsCoordinates
* @alias Blockly.utils.svgMath.screenToWsCoordinates
*/
const screenToWsCoordinates = function(ws, screenCoordinates) {
const screenX = screenCoordinates.x;

114
package-lock.json generated
View File

@@ -5,7 +5,6 @@
"requires": true,
"packages": {
"": {
"name": "blockly",
"version": "7.20211209.0",
"license": "Apache-2.0",
"dependencies": {
@@ -13,7 +12,7 @@
},
"devDependencies": {
"@blockly/block-test": "^1.0.0",
"@blockly/dev-tools": "^2.6.1",
"@blockly/dev-tools": "^3.0.1",
"@blockly/theme-modern": "^2.1.1",
"@wdio/selenium-standalone-service": "^7.10.1",
"babel-eslint": "^10.1.0",
@@ -289,16 +288,16 @@
}
},
"node_modules/@blockly/dev-tools": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/@blockly/dev-tools/-/dev-tools-2.6.1.tgz",
"integrity": "sha512-mv7u3x/Z2qA2PCSPomz0S4ofQn+m/UHC/AoNu1FZuwNAwuE5SCy7HCTDracpKWqoK8iuXwi4PWUdu669CDbp5A==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@blockly/dev-tools/-/dev-tools-3.0.1.tgz",
"integrity": "sha512-afFCokPWHKeFrZRSoHa0oBBUWIwqI02/svYPRTjviEsxGcU89nG/bYBpfG9Fosm8hEKROvZf7/bIMn0x1KlCBA==",
"dev": true,
"dependencies": {
"@blockly/block-test": "^1.1.5",
"@blockly/theme-dark": "^2.0.6",
"@blockly/theme-deuteranopia": "^1.0.7",
"@blockly/theme-highcontrast": "^1.0.7",
"@blockly/theme-tritanopia": "^1.0.7",
"@blockly/block-test": "^2.0.1",
"@blockly/theme-dark": "^2.0.7",
"@blockly/theme-deuteranopia": "^1.0.8",
"@blockly/theme-highcontrast": "^1.0.8",
"@blockly/theme-tritanopia": "^1.0.8",
"chai": "^4.2.0",
"dat.gui": "^0.7.7",
"lodash.assign": "^4.2.0",
@@ -310,43 +309,55 @@
"node": ">=8.0.0"
},
"peerDependencies": {
"blockly": "4.20201217.0 - 6"
"blockly": "^7.20211209.0"
}
},
"node_modules/@blockly/dev-tools/node_modules/@blockly/block-test": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@blockly/block-test/-/block-test-2.0.1.tgz",
"integrity": "sha512-d8E109UEWTtFv1bfy5paQNk9HYdZDWH5S7qkCrlKTtSatPDt8f3SGCr/lu8JC086/LhjRafgX1RTa0uwJIDDdg==",
"dev": true,
"engines": {
"node": ">=8.17.0"
},
"peerDependencies": {
"blockly": "^7.20211209.0"
}
},
"node_modules/@blockly/theme-dark": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@blockly/theme-dark/-/theme-dark-2.0.6.tgz",
"integrity": "sha512-2gPz3Iw+VjBFaNhoYXm/zRA2Xhe/nDnpOyPxbav7sGs4XcO4F0yPruuXxBm7oGGbGudmxmJXhTdmV+4d8MpvSg==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-dark/-/theme-dark-2.0.7.tgz",
"integrity": "sha512-sErL00Uaa0yBviBWpNT0tobaty5BYb+xbE3LwSsot7P/4u/j+pD+oKS8fqt8xsWxbtn67zL8PARmaP3KVe4+Aw==",
"dev": true,
"engines": {
"node": ">=8.17.0"
},
"peerDependencies": {
"blockly": "3.20200123.0 - 6"
"blockly": "3.20200123.0 - 7"
}
},
"node_modules/@blockly/theme-deuteranopia": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-deuteranopia/-/theme-deuteranopia-1.0.7.tgz",
"integrity": "sha512-m2Jo6lCYnVn3eLzmBoSBN31t2qQ8fAjEJmcUBcpJ56TGB1gks1vGVJHg/yhcK+vUB85IFuUUUJ6+MOjhEZFOvQ==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-deuteranopia/-/theme-deuteranopia-1.0.8.tgz",
"integrity": "sha512-/9aDJCUuyDJ4OSHr2lCJRpqBLSvgV8YP7uCeCKuoY3uMnMKTxEcJ/AUma+oF98os+i3/GeNzCMYQ/6bdlCXRIQ==",
"dev": true,
"engines": {
"node": ">=8.17.0"
},
"peerDependencies": {
"blockly": "3.20200123.0 - 6"
"blockly": "3.20200123.0 - 7"
}
},
"node_modules/@blockly/theme-highcontrast": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-highcontrast/-/theme-highcontrast-1.0.7.tgz",
"integrity": "sha512-FI/LyP/gGCatpeKvKTLSyColgyHETKSFo5RrgbZ+GTgVAQxXAj7MQ4DZDtlWECOKaT6WGQLNk5OserBXMCtDbQ==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-highcontrast/-/theme-highcontrast-1.0.8.tgz",
"integrity": "sha512-A9bvQpmNtsn3W3pWa0NRttBm1IeIhV6zGAp4ziY+GU0kNGZDgbrP10JJKfz3dv+RCaXmslE9kS25RU/LYJjB/Q==",
"dev": true,
"engines": {
"node": ">=8.17.0"
},
"peerDependencies": {
"blockly": "3.20200123.0 - 6"
"blockly": "3.20200123.0 - 7"
}
},
"node_modules/@blockly/theme-modern": {
@@ -362,15 +373,15 @@
}
},
"node_modules/@blockly/theme-tritanopia": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-tritanopia/-/theme-tritanopia-1.0.7.tgz",
"integrity": "sha512-Y6d8ZR3y9iz1GdihHbSYGTIwWEanWtp0tYPtsVx3QlcKMuc+NyAtGQVE324ZTA+N1ayH4L31CGRAAo7AAm3gPA==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-tritanopia/-/theme-tritanopia-1.0.8.tgz",
"integrity": "sha512-61G8VB5a8F9eRMYAXpeRia/DrRRfAnUqpA62pksvtcRwMoztwhToUHHkSYuOHxpDpKG/rTlaFtf/GUHFFaFHEQ==",
"dev": true,
"engines": {
"node": ">=8.17.0"
},
"peerDependencies": {
"blockly": "3.20200123.0 - 6"
"blockly": "3.20200123.0 - 7"
}
},
"node_modules/@eslint/eslintrc": {
@@ -12496,42 +12507,51 @@
"requires": {}
},
"@blockly/dev-tools": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/@blockly/dev-tools/-/dev-tools-2.6.1.tgz",
"integrity": "sha512-mv7u3x/Z2qA2PCSPomz0S4ofQn+m/UHC/AoNu1FZuwNAwuE5SCy7HCTDracpKWqoK8iuXwi4PWUdu669CDbp5A==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@blockly/dev-tools/-/dev-tools-3.0.1.tgz",
"integrity": "sha512-afFCokPWHKeFrZRSoHa0oBBUWIwqI02/svYPRTjviEsxGcU89nG/bYBpfG9Fosm8hEKROvZf7/bIMn0x1KlCBA==",
"dev": true,
"requires": {
"@blockly/block-test": "^1.1.5",
"@blockly/theme-dark": "^2.0.6",
"@blockly/theme-deuteranopia": "^1.0.7",
"@blockly/theme-highcontrast": "^1.0.7",
"@blockly/theme-tritanopia": "^1.0.7",
"@blockly/block-test": "^2.0.1",
"@blockly/theme-dark": "^2.0.7",
"@blockly/theme-deuteranopia": "^1.0.8",
"@blockly/theme-highcontrast": "^1.0.8",
"@blockly/theme-tritanopia": "^1.0.8",
"chai": "^4.2.0",
"dat.gui": "^0.7.7",
"lodash.assign": "^4.2.0",
"lodash.merge": "^4.6.2",
"monaco-editor": "^0.20.0",
"sinon": "^9.0.2"
},
"dependencies": {
"@blockly/block-test": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@blockly/block-test/-/block-test-2.0.1.tgz",
"integrity": "sha512-d8E109UEWTtFv1bfy5paQNk9HYdZDWH5S7qkCrlKTtSatPDt8f3SGCr/lu8JC086/LhjRafgX1RTa0uwJIDDdg==",
"dev": true,
"requires": {}
}
}
},
"@blockly/theme-dark": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@blockly/theme-dark/-/theme-dark-2.0.6.tgz",
"integrity": "sha512-2gPz3Iw+VjBFaNhoYXm/zRA2Xhe/nDnpOyPxbav7sGs4XcO4F0yPruuXxBm7oGGbGudmxmJXhTdmV+4d8MpvSg==",
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-dark/-/theme-dark-2.0.7.tgz",
"integrity": "sha512-sErL00Uaa0yBviBWpNT0tobaty5BYb+xbE3LwSsot7P/4u/j+pD+oKS8fqt8xsWxbtn67zL8PARmaP3KVe4+Aw==",
"dev": true,
"requires": {}
},
"@blockly/theme-deuteranopia": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-deuteranopia/-/theme-deuteranopia-1.0.7.tgz",
"integrity": "sha512-m2Jo6lCYnVn3eLzmBoSBN31t2qQ8fAjEJmcUBcpJ56TGB1gks1vGVJHg/yhcK+vUB85IFuUUUJ6+MOjhEZFOvQ==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-deuteranopia/-/theme-deuteranopia-1.0.8.tgz",
"integrity": "sha512-/9aDJCUuyDJ4OSHr2lCJRpqBLSvgV8YP7uCeCKuoY3uMnMKTxEcJ/AUma+oF98os+i3/GeNzCMYQ/6bdlCXRIQ==",
"dev": true,
"requires": {}
},
"@blockly/theme-highcontrast": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-highcontrast/-/theme-highcontrast-1.0.7.tgz",
"integrity": "sha512-FI/LyP/gGCatpeKvKTLSyColgyHETKSFo5RrgbZ+GTgVAQxXAj7MQ4DZDtlWECOKaT6WGQLNk5OserBXMCtDbQ==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-highcontrast/-/theme-highcontrast-1.0.8.tgz",
"integrity": "sha512-A9bvQpmNtsn3W3pWa0NRttBm1IeIhV6zGAp4ziY+GU0kNGZDgbrP10JJKfz3dv+RCaXmslE9kS25RU/LYJjB/Q==",
"dev": true,
"requires": {}
},
@@ -12543,9 +12563,9 @@
"requires": {}
},
"@blockly/theme-tritanopia": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/@blockly/theme-tritanopia/-/theme-tritanopia-1.0.7.tgz",
"integrity": "sha512-Y6d8ZR3y9iz1GdihHbSYGTIwWEanWtp0tYPtsVx3QlcKMuc+NyAtGQVE324ZTA+N1ayH4L31CGRAAo7AAm3gPA==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/@blockly/theme-tritanopia/-/theme-tritanopia-1.0.8.tgz",
"integrity": "sha512-61G8VB5a8F9eRMYAXpeRia/DrRRfAnUqpA62pksvtcRwMoztwhToUHHkSYuOHxpDpKG/rTlaFtf/GUHFFaFHEQ==",
"dev": true,
"requires": {}
},

View File

@@ -1,6 +1,6 @@
{
"name": "blockly",
"version": "7.20211209.0",
"version": "7.20211209.1",
"description": "Blockly is a library for building visual programming editors.",
"keywords": [
"blockly"
@@ -66,7 +66,7 @@
"license": "Apache-2.0",
"devDependencies": {
"@blockly/block-test": "^1.0.0",
"@blockly/dev-tools": "^2.6.1",
"@blockly/dev-tools": "^3.0.1",
"@blockly/theme-modern": "^2.1.1",
"@wdio/selenium-standalone-service": "^7.10.1",
"babel-eslint": "^10.1.0",

View File

@@ -244,10 +244,10 @@
"./core/serialization/priorities.js",
"./core/serialization/blocks.js",
"./core/utils/toolbox.js",
"./core/mutator.js",
"./core/msg.js",
"./core/connection_type.js",
"./core/internal_constants.js",
"./core/mutator.js",
"./core/msg.js",
"./core/utils/colour.js",
"./core/utils/parsing.js",
"./core/extensions.js",

View File

@@ -228,7 +228,7 @@ goog.addDependency('../../core/trashcan.js', ['Blockly.Trashcan'], ['Blockly.Com
goog.addDependency('../../core/utils.js', ['Blockly.utils'], ['Blockly.Extensions', 'Blockly.browserEvents', 'Blockly.common', 'Blockly.utils.Coordinate', 'Blockly.utils.KeyCodes', 'Blockly.utils.Metrics', 'Blockly.utils.Rect', 'Blockly.utils.Size', 'Blockly.utils.Svg', 'Blockly.utils.aria', 'Blockly.utils.array', 'Blockly.utils.colour', 'Blockly.utils.deprecation', 'Blockly.utils.dom', 'Blockly.utils.global', 'Blockly.utils.idGenerator', 'Blockly.utils.math', 'Blockly.utils.object', 'Blockly.utils.parsing', 'Blockly.utils.string', 'Blockly.utils.style', 'Blockly.utils.svgMath', 'Blockly.utils.svgPaths', 'Blockly.utils.toolbox', 'Blockly.utils.userAgent', 'Blockly.utils.xml'], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/aria.js', ['Blockly.utils.aria'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/array.js', ['Blockly.utils.array'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/colour.js', ['Blockly.utils.colour'], ['Blockly.internalConstants'], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/colour.js', ['Blockly.utils.colour'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/coordinate.js', ['Blockly.utils.Coordinate'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/deprecation.js', ['Blockly.utils.deprecation'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/dom.js', ['Blockly.utils.dom'], ['Blockly.utils.userAgent'], {'lang': 'es6', 'module': 'goog'});
@@ -238,7 +238,7 @@ goog.addDependency('../../core/utils/keycodes.js', ['Blockly.utils.KeyCodes'], [
goog.addDependency('../../core/utils/math.js', ['Blockly.utils.math'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/metrics.js', ['Blockly.utils.Metrics'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/object.js', ['Blockly.utils.object'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/parsing.js', ['Blockly.utils.parsing'], ['Blockly.Msg', 'Blockly.internalConstants', 'Blockly.utils.colour', 'Blockly.utils.string'], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/parsing.js', ['Blockly.utils.parsing'], ['Blockly.Msg', 'Blockly.utils.colour', 'Blockly.utils.string'], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/rect.js', ['Blockly.utils.Rect'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/size.js', ['Blockly.utils.Size'], [], {'lang': 'es6', 'module': 'goog'});
goog.addDependency('../../core/utils/string.js', ['Blockly.utils.string'], [], {'lang': 'es6', 'module': 'goog'});