| (window["webpackJsonpGUI"] = window["webpackJsonpGUI"] || []).push([["addon-entry-editor-theme3"],{ |
|
|
| "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/black_text.css": |
| |
| |
| |
| |
| (function(module, exports, __webpack_require__) { |
|
|
| exports = module.exports = __webpack_require__( "./node_modules/css-loader/lib/css-base.js")(false); |
| |
|
|
|
|
| |
| exports.push([module.i, "@namespace xlink url(\"http://www.w3.org/1999/xlink\");\n\n.scratchCategoryItemBubble::after {\n /* block-palette-icons */\n filter: brightness(0);\n}\n\n.blocklyEditableText > text {\n fill: var(--editorTheme3-inputColor-blackText);\n}\n.blocklyHtmlInput {\n color: var(--editorTheme3-inputColor-blackText);\n}\n\n[class*=\"blocks_blocks_\"] image[xlink|href$=\"/rotate-left.svg\"],\n[class*=\"blocks_blocks_\"] image[xlink|href$=\"/rotate-right.svg\"],\n[class*=\"blocks_blocks_\"] image[xlink|href$=\"/repeat.svg\"] {\n filter: invert(1) hue-rotate(180deg);\n}\n\n.blocklyDropDownDiv .goog-menuitem,\n.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem .goog-menuitem-content {\n color: black;\n}\n.blocklyDropDownDiv .blocklyText {\n fill: black;\n}\n\n/* Compatibility */\n\n.sa-block-color {\n --sa-block-text: black;\n --sa-block-gray-text: black;\n --sa-block-colored-text: var(--sa-block-background-tertiary);\n --sa-block-text-on-bright-background: black;\n}\n", ""]); |
|
|
| |
|
|
|
|
| }), |
|
|
| "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/color_on_black.css": |
| |
| |
| |
| |
| (function(module, exports, __webpack_require__) { |
|
|
| exports = module.exports = __webpack_require__( "./node_modules/css-loader/lib/css-base.js")(false); |
| |
|
|
|
|
| |
| exports.push([module.i, ".u-dropdown-searchbar {\n border-color: rgba(255, 255, 255, 0.15);\n}\n.u-dropdown-searchbar:focus {\n background-color: var(--editorTheme3-hoveredItem);\n}\n.blocklyDropDownDiv .goog-menuitem-checkbox {\n filter: brightness(0) invert(1);\n}\n\n.scratchCommentRect {\n fill: #282828;\n}\n.scratchCommentBody,\n.scratchCommentTextarea {\n background-color: #282828;\n}\n.scratchWorkspaceCommentBorder {\n stroke: var(--editorTheme3-commentColor);\n}\n.scratchCommentTextarea::placeholder {\n color: rgba(255, 255, 255, 0.5);\n}\n.scratchCommentText {\n fill: #ffffff;\n color: #ffffff;\n}\n\n/* Compatibility */\n\n.sa-block-color {\n --sa-block-colored-background: var(--sa-block-background-secondary);\n --sa-block-colored-background-secondary: var(--sa-block-field-background);\n --sa-block-bright-background: var(--sa-block-background-tertiary);\n --sa-block-text: var(--sa-block-background-tertiary);\n --sa-block-gray-text: white;\n --sa-block-colored-text: var(--sa-block-background-tertiary);\n --sa-block-text-on-bright-background: white;\n}\n", ""]); |
|
|
| |
|
|
|
|
| }), |
|
|
| "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/color_on_white.css": |
| |
| |
| |
| |
| (function(module, exports, __webpack_require__) { |
|
|
| exports = module.exports = __webpack_require__( "./node_modules/css-loader/lib/css-base.js")(false); |
| |
|
|
|
|
| |
| exports.push([module.i, ".scratchCategoryItemBubble::after {\n /* block-palette-icons */\n filter: brightness(0);\n opacity: 0.6;\n}\n\n.u-dropdown-searchbar,\n.u-dropdown-searchbar:focus,\n.blocklyDropDownDiv .goog-menuitem,\n.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem .goog-menuitem-content {\n color: #575e75;\n}\n.u-dropdown-searchbar:focus {\n background-color: var(--editorTheme3-hoveredItem);\n}\n\n.blocklyAngleDragHandle {\n stroke: black;\n stroke-opacity: 0.15;\n paint-order: stroke fill;\n}\n\n.scratchCommentRect {\n fill: #feffff;\n}\n.scratchCommentBody,\n.scratchCommentTextarea {\n background-color: #ffffff;\n}\n.scratchWorkspaceCommentBorder {\n stroke: var(--editorTheme3-commentColor);\n}\n.scratchCommentTextarea::placeholder {\n color: rgba(0, 0, 0, 0.5);\n}\n.scratchCommentText {\n fill: #575e75;\n color: #575e75;\n}\n\n/* Compatibility */\n\n.sa-block-color {\n --sa-block-colored-background: var(--sa-block-background-secondary);\n --sa-block-colored-background-secondary: var(--sa-block-field-background);\n --sa-block-bright-background: var(--sa-block-background-tertiary);\n --sa-block-text: var(--sa-block-background-tertiary);\n --sa-block-gray-text: #575e75;\n --sa-block-colored-text: var(--sa-block-background-tertiary);\n --sa-block-text-on-bright-background: white;\n}\n", ""]); |
|
|
| |
|
|
|
|
| }), |
|
|
| "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/theme3.css": |
| |
| |
| |
| |
| (function(module, exports, __webpack_require__) { |
|
|
| exports = module.exports = __webpack_require__( "./node_modules/css-loader/lib/css-base.js")(false); |
| |
|
|
|
|
| |
| exports.push([module.i, ".blocklyEditableText > text {\n fill: var(--editorTheme3-inputColor-text);\n}\n.blocklyHtmlInput {\n background-color: var(--editorTheme3-inputColor);\n color: var(--editorTheme3-inputColor-text);\n}\n\n.blocklyDropDownDiv .goog-menuitem-highlight,\n.blocklyDropDownDiv .goog-menuitem-hover,\n.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem-highlight {\n background-color: var(--editorTheme3-hoveredItem, rgba(0, 0, 0, 0.2));\n}\n\n.scratchCommentRect {\n fill: var(--editorTheme3-commentColor);\n}\n.scratchCommentBody,\n.scratchCommentTextarea {\n background-color: var(--editorTheme3-commentColor);\n}\n.scratchWorkspaceCommentBorder {\n stroke: var(--editorTheme3-commentBorder);\n}\n.scratchCommentTextarea::placeholder {\n color: var(--editorTheme3-commentTextTransparent);\n}\n.scratchCommentText {\n fill: var(--editorTheme3-commentText);\n color: var(--editorTheme3-commentText);\n}\n", ""]); |
|
|
| |
|
|
|
|
| }), |
|
|
| "./src/addons/addons/editor-theme3/_runtime_entry.js": |
| |
| |
| |
| |
| (function(module, __webpack_exports__, __webpack_require__) { |
|
|
| "use strict"; |
| __webpack_require__.r(__webpack_exports__); |
| __webpack_require__.d(__webpack_exports__, "resources", function() { return resources; }); |
| var _theme3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( "./src/addons/addons/editor-theme3/theme3.js"); |
| var _css_loader_theme3_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/theme3.css"); |
| var _css_loader_theme3_css__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(_css_loader_theme3_css__WEBPACK_IMPORTED_MODULE_1__); |
| var _css_loader_black_text_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/black_text.css"); |
| var _css_loader_black_text_css__WEBPACK_IMPORTED_MODULE_2___default = __webpack_require__.n(_css_loader_black_text_css__WEBPACK_IMPORTED_MODULE_2__); |
| var _css_loader_color_on_white_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/color_on_white.css"); |
| var _css_loader_color_on_white_css__WEBPACK_IMPORTED_MODULE_3___default = __webpack_require__.n(_css_loader_color_on_white_css__WEBPACK_IMPORTED_MODULE_3__); |
| var _css_loader_color_on_black_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( "./node_modules/css-loader/index.js!./src/addons/addons/editor-theme3/color_on_black.css"); |
| var _css_loader_color_on_black_css__WEBPACK_IMPORTED_MODULE_4___default = __webpack_require__.n(_css_loader_color_on_black_css__WEBPACK_IMPORTED_MODULE_4__); |
| |
|
|
|
|
|
|
|
|
|
|
| const resources = { |
| "theme3.js": _theme3_js__WEBPACK_IMPORTED_MODULE_0__["default"], |
| "theme3.css": _css_loader_theme3_css__WEBPACK_IMPORTED_MODULE_1___default.a, |
| "black_text.css": _css_loader_black_text_css__WEBPACK_IMPORTED_MODULE_2___default.a, |
| "color_on_white.css": _css_loader_color_on_white_css__WEBPACK_IMPORTED_MODULE_3___default.a, |
| "color_on_black.css": _css_loader_color_on_black_css__WEBPACK_IMPORTED_MODULE_4___default.a |
| }; |
|
|
| }), |
|
|
| "./src/addons/addons/editor-theme3/theme3.js": |
| |
| |
| |
| |
| (function(module, __webpack_exports__, __webpack_require__) { |
|
|
| "use strict"; |
| __webpack_require__.r(__webpack_exports__); |
| var _libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( "./src/addons/libraries/common/cs/text-color.esm.js"); |
|
|
| const dataUriRegex = new RegExp("^data:image/svg\\+xml;base64,([A-Za-z0-9+/=]*)$"); |
| const extensionsCategory = { |
| id: null, |
| settingId: "Pen-color", |
| colorId: "pen" |
| }; |
| const twCategory = { |
| id: null, |
| settingId: "tw-color", |
| colorId: "tw" |
| }; |
| const saCategory = { |
| settingId: "sa-color", |
| colorId: "sa" |
| }; |
| const categories = [{ |
| id: "motion", |
| settingId: "motion-color", |
| colorId: "motion" |
| }, { |
| id: "looks", |
| settingId: "looks-color", |
| colorId: "looks" |
| }, { |
| id: "sound", |
| settingId: "sounds-color", |
| colorId: "sounds" |
| }, { |
| id: "events", |
| settingId: "events-color", |
| colorId: "event" |
| }, { |
| id: "control", |
| settingId: "control-color", |
| colorId: "control" |
| }, { |
| id: "sensing", |
| settingId: "sensing-color", |
| colorId: "sensing" |
| }, { |
| id: "operators", |
| settingId: "operators-color", |
| colorId: "operators" |
| }, { |
| id: "variables", |
| settingId: "data-color", |
| colorId: "data" |
| }, { |
| id: "lists", |
| settingId: "data-lists-color", |
| colorId: "data_lists" |
| }, { |
| id: "myBlocks", |
| settingId: "custom-color", |
| colorId: "more" |
| }, extensionsCategory, twCategory, saCategory]; |
| __webpack_exports__["default"] = (async function (_ref) { |
| let { |
| addon, |
| console |
| } = _ref; |
| const Blockly = await addon.tab.traps.getBlockly(); |
| const originalColors = JSON.parse(JSON.stringify(Blockly.Colours)); |
| originalColors.sa = { |
| primary: "#29beb8", |
| secondary: "#3aa8a4", |
| tertiary: "#3aa8a4" |
| }; |
| originalColors.tw = { |
| primary: "#ff4c4c", |
| secondary: "#e64444", |
| tertiary: "#e64444" |
| }; |
| let textModeSetting = addon.settings.get("text"); |
| const textMode = () => addon.self.disabled ? "white" : textModeSetting; |
| const isColoredTextMode = () => textMode() === "colorOnWhite" || textMode() === "colorOnBlack"; |
| const primaryColor = category => { |
| if (addon.self.disabled) return originalColors[category.colorId].primary; |
| |
| if (textMode() === "colorOnWhite") return "#feffff"; |
| if (textMode() === "colorOnBlack") return "#282828"; |
| return addon.settings.get(category.settingId); |
| }; |
| const secondaryColor = category => { |
| if (addon.self.disabled) return originalColors[category.colorId].secondary; |
| if (isColoredTextMode()) return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["alphaBlend"])(primaryColor(category), Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(addon.settings.get(category.settingId), { |
| a: 0.15 |
| })); |
| if (textMode() === "black") return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["brighten"])(addon.settings.get(category.settingId), { |
| r: 0.6, |
| g: 0.6, |
| b: 0.6 |
| }); |
| return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(addon.settings.get(category.settingId), { |
| r: 0.9, |
| g: 0.9, |
| b: 0.9 |
| }); |
| }; |
| const tertiaryColor = category => { |
| if (addon.self.disabled) return originalColors[category.colorId].tertiary; |
| if (isColoredTextMode()) return addon.settings.get(category.settingId); |
| if (textMode() === "black") return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(addon.settings.get(category.settingId), { |
| r: 0.65, |
| g: 0.65, |
| b: 0.65 |
| }); |
| return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(addon.settings.get(category.settingId), { |
| r: 0.8, |
| g: 0.8, |
| b: 0.8 |
| }); |
| }; |
| const fieldBackground = category => { |
| |
| |
| if (category instanceof Blockly.Block || category instanceof Blockly.Field) { |
| const block = category instanceof Blockly.Block ? category : category.sourceBlock_; |
| if (isColoredTextMode() || textMode() === "black") { |
| let primary; |
| if (block.isShadow() && block.getParent()) primary = block.getParent().getColour();else primary = block.getColour(); |
| if (isColoredTextMode()) return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["alphaBlend"])(primary, Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(block.getColourTertiary(), { |
| a: 0.25 |
| }));else return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["brighten"])(primary, { |
| r: 0.4, |
| g: 0.4, |
| b: 0.4 |
| }); |
| } |
| return block.getColourTertiary(); |
| } |
| if (isColoredTextMode()) return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["alphaBlend"])(primaryColor(category), Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["multiply"])(addon.settings.get(category.settingId), { |
| a: 0.25 |
| })); |
| if (textMode() === "black") return Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["brighten"])(primaryColor(category), { |
| r: 0.4, |
| g: 0.4, |
| b: 0.4 |
| }); |
| return tertiaryColor(category); |
| }; |
| const textColor = field => { |
| if (addon.self.disabled || textMode() === "white") return "#ffffff"; |
| if (textMode() === "black") return "#000000"; |
| if (field) return field.sourceBlock_.getColourTertiary(); |
| return "#000000"; |
| }; |
| const uncoloredTextColor = () => { |
| if (addon.self.disabled) return "#ffffff"; |
| return { |
| white: "#ffffff", |
| black: "#575e75", |
| colorOnWhite: "#575e75", |
| colorOnBlack: "#ffffff" |
| }[textMode]; |
| }; |
| const otherColor = (settingId, colorId) => { |
| if (addon.self.disabled) return originalColors[colorId]; |
| return addon.settings.get(settingId); |
| }; |
|
|
| |
| const oldBlockMakeColor = Blockly.Block.prototype.makeColour_; |
| Blockly.Block.prototype.makeColour_ = function (color) { |
| if (typeof color === "string" && /^#(?:[0-9A-Za-z]{2}){3,4}$/.test(color)) return color; |
| return oldBlockMakeColor(color); |
| }; |
| const oldCategoryCreateDom = Blockly.Toolbox.Category.prototype.createDom; |
| Blockly.Toolbox.Category.prototype.createDom = function () { |
| |
| if (this.iconURI_) { |
| if (addon.self.disabled) return oldCategoryCreateDom.call(this); |
| if (!["sa-blocks", "videoSensing", "text2speech"].includes(this.id_)) return oldCategoryCreateDom.call(this); |
| const match = dataUriRegex.exec(this.iconURI_); |
| if (match) { |
| const oldSvg = atob(match[1]); |
| const category = this.id_ === "sa-blocks" ? saCategory : extensionsCategory; |
| const newColor = isColoredTextMode ? tertiaryColor(category) : primaryColor(category); |
| if (newColor) { |
| const newSvg = oldSvg.replace(/#29beb8|#0ebd8c/gi, newColor); |
| this.iconURI_ = "data:image/svg+xml;base64,".concat(btoa(newSvg)); |
| } |
| } |
| } |
| oldCategoryCreateDom.call(this); |
| if (this.iconURI_) return; |
| const category = categories.find(item => item.id === this.id_); |
| if (!category) return; |
| this.bubble_.style.backgroundColor = isColoredTextMode() ? fieldBackground(category) : primaryColor(category); |
| this.bubble_.style.borderColor = tertiaryColor(category); |
| }; |
| const oldBlockSetColour = Blockly.Block.prototype.setColour; |
| Blockly.Block.prototype.setColour = function (colour, colourSecondary, colourTertiary) { |
| |
| if (colour.toLowerCase() === originalColors.pen.primary.toLowerCase()) { |
| colour = primaryColor(extensionsCategory); |
| colourSecondary = secondaryColor(extensionsCategory); |
| colourTertiary = tertiaryColor(extensionsCategory); |
| } |
| |
| if (this.type.startsWith("tw_")) { |
| colour = primaryColor(twCategory); |
| colourSecondary = secondaryColor(twCategory); |
| colourTertiary = tertiaryColor(twCategory); |
| } |
| return oldBlockSetColour.call(this, colour, colourSecondary, colourTertiary); |
| }; |
| const oldBlockUpdateColour = Blockly.BlockSvg.prototype.updateColour; |
| Blockly.BlockSvg.prototype.updateColour = function () { |
| oldBlockUpdateColour.call(this); |
| |
| if (isColoredTextMode()) { |
| for (const input of this.inputList) { |
| if (input.outlinePath) { |
| input.outlinePath.setAttribute("fill", fieldBackground(this)); |
| } |
| } |
| } |
| }; |
| const oldBlockShowContextMenu = Blockly.BlockSvg.prototype.showContextMenu_; |
| Blockly.BlockSvg.prototype.showContextMenu_ = function (e) { |
| Blockly.WidgetDiv.DIV.style.setProperty("--editorTheme3-hoveredItem", fieldBackground(this)); |
| return oldBlockShowContextMenu.call(this, e); |
| }; |
| const oldFieldLabelInit = Blockly.FieldLabel.prototype.init; |
| Blockly.FieldLabel.prototype.init = function () { |
| |
| oldFieldLabelInit.call(this); |
| this.textElement_.style.fill = textColor(this); |
| }; |
| const oldFieldTextInputInit = Blockly.FieldTextInput.prototype.init; |
| Blockly.FieldTextInput.prototype.init = function () { |
| |
| oldFieldTextInputInit.call(this); |
| if (this.sourceBlock_.isShadow()) return; |
| |
| this.box_.setAttribute("fill", fieldBackground(this)); |
| }; |
| const oldFieldDropdownInit = Blockly.FieldDropdown.prototype.init; |
| Blockly.FieldDropdown.prototype.init = function () { |
| |
| oldFieldDropdownInit.call(this); |
| this.textElement_.style.setProperty("fill", textColor(this), "important"); |
| if (textColor(this) !== "#ffffff") this.arrow_.style.filter = Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["recolorFilter"])(textColor(this)); |
| }; |
| const oldFieldDropdownShowEditor = Blockly.FieldDropdown.prototype.showEditor_; |
| Blockly.FieldDropdown.prototype.showEditor_ = function () { |
| oldFieldDropdownShowEditor.call(this); |
|
|
| |
| if (!this.disableColourChange_) { |
| if (this.sourceBlock_.isShadow()) { |
| this.sourceBlock_.setShadowColour(fieldBackground(this)); |
| } else if (this.box_) { |
| this.box_.setAttribute("fill", fieldBackground(this)); |
| } |
| } |
|
|
| |
| let primaryColor; |
| if (this.sourceBlock_.isShadow() && this.sourceBlock_.getParent()) primaryColor = this.sourceBlock_.getParent().getColour();else primaryColor = this.sourceBlock_.getColour(); |
| Blockly.DropDownDiv.DIV_.style.backgroundColor = Object(_libraries_common_cs_text_color_esm_js__WEBPACK_IMPORTED_MODULE_0__["removeAlpha"])(primaryColor); |
| if (isColoredTextMode()) { |
| Blockly.DropDownDiv.getContentDiv().style.setProperty("--editorTheme3-hoveredItem", fieldBackground(this)); |
| } else { |
| Blockly.DropDownDiv.getContentDiv().style.removeProperty("--editorTheme3-hoveredItem"); |
| } |
| }; |
| const oldFieldVariableInit = Blockly.FieldVariable.prototype.init; |
| Blockly.FieldVariable.prototype.init = function () { |
| |
| oldFieldVariableInit.call(this); |
| this.textElement_.style.setProperty("fill", textColor(this), "important"); |
| }; |
| const oldFieldVariableGetterInit = Blockly.FieldVariableGetter.prototype.init; |
| Blockly.FieldVariableGetter.prototype.init = function () { |
| |
| oldFieldVariableGetterInit.call(this); |
| this.textElement_.style.fill = textColor(this); |
| }; |
| const oldFieldMatrixUpdateMatrix = Blockly.FieldMatrix.prototype.updateMatrix_; |
| Blockly.FieldMatrix.prototype.updateMatrix_ = function () { |
| |
| oldFieldMatrixUpdateMatrix.call(this); |
| for (let i = 0; i < this.matrix_.length; i++) { |
| if (this.matrix_[i] !== "0") { |
| this.fillMatrixNode_(this.ledButtons_, i, uncoloredTextColor()); |
| this.fillMatrixNode_(this.ledThumbNodes_, i, uncoloredTextColor()); |
| } |
| } |
| }; |
| const oldFieldMatrixCreateButton = Blockly.FieldMatrix.prototype.createButton_; |
| Blockly.FieldMatrix.prototype.createButton_ = function (fill) { |
| if (fill === "#FFFFFF") fill = uncoloredTextColor(); |
| return oldFieldMatrixCreateButton.call(this, fill); |
| }; |
| const oldFieldVerticalSeparatorInit = Blockly.FieldVerticalSeparator.prototype.init; |
| Blockly.FieldVerticalSeparator.prototype.init = function () { |
| |
| oldFieldVerticalSeparatorInit.call(this); |
| if (textMode() === "black") this.lineElement_.setAttribute("stroke", this.sourceBlock_.getColourTertiary()); |
| }; |
| const updateColors = () => { |
| const vm = addon.tab.traps.vm; |
| textModeSetting = addon.settings.get("text"); |
| for (const category of categories) { |
| |
| const prefix = "--editorTheme3-".concat(category.colorId); |
| for (const [name, value] of Object.entries({ |
| primary: primaryColor(category), |
| secondary: secondaryColor(category), |
| tertiary: tertiaryColor(category), |
| field: fieldBackground(category) |
| })) { |
| document.documentElement.style.setProperty("".concat(prefix, "-").concat(name), value); |
| } |
|
|
| |
| if (!Blockly.Colours[category.colorId]) continue; |
| Blockly.Colours[category.colorId].primary = primaryColor(category); |
| Blockly.Colours[category.colorId].secondary = secondaryColor(category); |
| Blockly.Colours[category.colorId].tertiary = tertiaryColor(category); |
| } |
| addon.tab.setCustomBlockColor({ |
| color: primaryColor(saCategory), |
| secondaryColor: secondaryColor(saCategory), |
| tertiaryColor: tertiaryColor(saCategory) |
| }); |
| Blockly.Colours.textField = otherColor("input-color", "textField"); |
| if (uncoloredTextColor() === "#575e75") Blockly.Colours.fieldShadow = "rgba(0, 0, 0, 0.15)";else Blockly.Colours.fieldShadow = originalColors.fieldShadow; |
| const workspace = Blockly.getMainWorkspace(); |
| const flyout = workspace.getFlyout(); |
| const toolbox = workspace.getToolbox(); |
|
|
| |
| if (vm.editingTarget) { |
| vm.emitWorkspaceUpdate(); |
| } |
| const flyoutWorkspace = flyout.getWorkspace(); |
| Blockly.Xml.clearWorkspaceAndLoadFromXml(Blockly.Xml.workspaceToDom(flyoutWorkspace), flyoutWorkspace); |
| toolbox.populate_(workspace.options.languageTree); |
| workspace.toolboxRefreshEnabled_ = true; |
| }; |
| updateColors(); |
| addon.settings.addEventListener("change", updateColors); |
| addon.self.addEventListener("disabled", updateColors); |
| addon.self.addEventListener("reenabled", updateColors); |
| }); |
|
|
| }) |
|
|
| }]); |
| |