mirror of
https://github.com/google/blockly.git
synced 2025-12-16 06:10:12 +01:00
* refactor(blocks): Auto-migration of blocks/colour.js to ts * fix(blocks): Manually migrate types & fix imports in colour.ts
116 lines
2.8 KiB
TypeScript
116 lines
2.8 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2012 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Colour blocks for Blockly.
|
|
*/
|
|
|
|
import * as goog from '../closure/goog/goog.js';
|
|
goog.declareModuleId('Blockly.libraryBlocks.colour');
|
|
|
|
import type {BlockDefinition} from '../core/blocks.js';
|
|
import {createBlockDefinitionsFromJsonArray, defineBlocks} from '../core/common.js';
|
|
import '../core/field_colour.js';
|
|
|
|
|
|
/**
|
|
* A dictionary of the block definitions provided by this module.
|
|
*/
|
|
export const blocks = createBlockDefinitionsFromJsonArray([
|
|
// Block for colour picker.
|
|
{
|
|
'type': 'colour_picker',
|
|
'message0': '%1',
|
|
'args0': [
|
|
{
|
|
'type': 'field_colour',
|
|
'name': 'COLOUR',
|
|
'colour': '#ff0000',
|
|
},
|
|
],
|
|
'output': 'Colour',
|
|
'helpUrl': '%{BKY_COLOUR_PICKER_HELPURL}',
|
|
'style': 'colour_blocks',
|
|
'tooltip': '%{BKY_COLOUR_PICKER_TOOLTIP}',
|
|
'extensions': ['parent_tooltip_when_inline'],
|
|
},
|
|
|
|
// Block for random colour.
|
|
{
|
|
'type': 'colour_random',
|
|
'message0': '%{BKY_COLOUR_RANDOM_TITLE}',
|
|
'output': 'Colour',
|
|
'helpUrl': '%{BKY_COLOUR_RANDOM_HELPURL}',
|
|
'style': 'colour_blocks',
|
|
'tooltip': '%{BKY_COLOUR_RANDOM_TOOLTIP}',
|
|
},
|
|
|
|
// Block for composing a colour from RGB components.
|
|
{
|
|
'type': 'colour_rgb',
|
|
'message0':
|
|
'%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3',
|
|
'args0': [
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'RED',
|
|
'check': 'Number',
|
|
'align': 'RIGHT',
|
|
},
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'GREEN',
|
|
'check': 'Number',
|
|
'align': 'RIGHT',
|
|
},
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'BLUE',
|
|
'check': 'Number',
|
|
'align': 'RIGHT',
|
|
},
|
|
],
|
|
'output': 'Colour',
|
|
'helpUrl': '%{BKY_COLOUR_RGB_HELPURL}',
|
|
'style': 'colour_blocks',
|
|
'tooltip': '%{BKY_COLOUR_RGB_TOOLTIP}',
|
|
},
|
|
|
|
// Block for blending two colours together.
|
|
{
|
|
'type': 'colour_blend',
|
|
'message0': '%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} ' +
|
|
'%1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3',
|
|
'args0': [
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'COLOUR1',
|
|
'check': 'Colour',
|
|
'align': 'RIGHT',
|
|
},
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'COLOUR2',
|
|
'check': 'Colour',
|
|
'align': 'RIGHT',
|
|
},
|
|
{
|
|
'type': 'input_value',
|
|
'name': 'RATIO',
|
|
'check': 'Number',
|
|
'align': 'RIGHT',
|
|
},
|
|
],
|
|
'output': 'Colour',
|
|
'helpUrl': '%{BKY_COLOUR_BLEND_HELPURL}',
|
|
'style': 'colour_blocks',
|
|
'tooltip': '%{BKY_COLOUR_BLEND_TOOLTIP}',
|
|
},
|
|
]);
|
|
|
|
// Register provided blocks.
|
|
defineBlocks(blocks);
|