blockly 11.0.0-beta.0 → 11.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/blockly.min.js +852 -891
  2. package/blockly_compressed.js +794 -796
  3. package/blockly_compressed.js.map +1 -1
  4. package/blocks.js +4 -22
  5. package/blocks_compressed.js +38 -41
  6. package/blocks_compressed.js.map +1 -1
  7. package/core/block.d.ts +58 -10
  8. package/core/block_svg.d.ts +50 -44
  9. package/core/blockly.d.ts +22 -56
  10. package/core/bubbles/bubble.d.ts +17 -2
  11. package/core/bubbles/mini_workspace_bubble.d.ts +1 -1
  12. package/core/bubbles/text_bubble.d.ts +1 -1
  13. package/core/bubbles/textinput_bubble.d.ts +1 -1
  14. package/core/clipboard/workspace_comment_paster.d.ts +5 -4
  15. package/core/clipboard.d.ts +0 -19
  16. package/core/comments/comment_view.d.ts +217 -0
  17. package/core/comments/rendered_workspace_comment.d.ts +90 -0
  18. package/core/comments/workspace_comment.d.ts +107 -0
  19. package/core/comments.d.ts +9 -0
  20. package/core/connection.d.ts +1 -1
  21. package/core/constants.d.ts +5 -0
  22. package/core/contextmenu.d.ts +1 -34
  23. package/core/contextmenu_items.d.ts +8 -0
  24. package/core/contextmenu_registry.d.ts +18 -3
  25. package/core/delete_area.d.ts +1 -2
  26. package/core/dragging/block_drag_strategy.d.ts +105 -0
  27. package/core/dragging/bubble_drag_strategy.d.ts +20 -0
  28. package/core/dragging/comment_drag_strategy.d.ts +21 -0
  29. package/core/dragging/dragger.d.ts +48 -0
  30. package/core/dragging.d.ts +11 -0
  31. package/core/events/events.d.ts +3 -0
  32. package/core/events/events_block_change.d.ts +15 -0
  33. package/core/events/events_click.d.ts +1 -1
  34. package/core/events/events_comment_base.d.ts +6 -1
  35. package/core/events/events_comment_change.d.ts +1 -1
  36. package/core/events/events_comment_collapse.d.ts +39 -0
  37. package/core/events/events_comment_create.d.ts +5 -1
  38. package/core/events/events_comment_delete.d.ts +5 -1
  39. package/core/events/events_comment_move.d.ts +17 -1
  40. package/core/events/utils.d.ts +3 -3
  41. package/core/field_dropdown.d.ts +1 -0
  42. package/core/field_image.d.ts +1 -1
  43. package/core/flyout_base.d.ts +17 -1
  44. package/core/flyout_button.d.ts +26 -1
  45. package/core/generator.d.ts +1 -1
  46. package/core/gesture.d.ts +29 -53
  47. package/core/grid.d.ts +29 -8
  48. package/core/icons/comment_icon.d.ts +8 -3
  49. package/core/icons/icon.d.ts +0 -6
  50. package/core/icons/icon_types.d.ts +2 -2
  51. package/core/icons/mutator_icon.d.ts +1 -16
  52. package/core/icons/warning_icon.d.ts +1 -1
  53. package/core/inputs/input.d.ts +10 -19
  54. package/core/insertion_marker_manager.d.ts +2 -0
  55. package/core/insertion_marker_previewer.d.ts +56 -0
  56. package/core/interfaces/i_comment_icon.d.ts +21 -0
  57. package/core/interfaces/i_connection_previewer.d.ts +39 -0
  58. package/core/interfaces/i_deletable.d.ts +6 -0
  59. package/core/interfaces/i_delete_area.d.ts +1 -2
  60. package/core/interfaces/i_draggable.d.ts +47 -3
  61. package/core/interfaces/i_dragger.d.ts +32 -0
  62. package/core/interfaces/i_has_bubble.d.ts +1 -1
  63. package/core/interfaces/i_parameter_model.d.ts +7 -0
  64. package/core/interfaces/i_procedure_model.d.ts +7 -0
  65. package/core/interfaces/i_selectable.d.ts +5 -3
  66. package/core/internal_constants.d.ts +0 -7
  67. package/core/keyboard_nav/ast_node.d.ts +21 -2
  68. package/core/options.d.ts +1 -0
  69. package/core/registry.d.ts +10 -4
  70. package/core/render_management.d.ts +4 -1
  71. package/core/rendered_connection.d.ts +3 -1
  72. package/core/renderers/common/constants.d.ts +6 -2
  73. package/core/renderers/common/drawer.d.ts +18 -7
  74. package/core/renderers/common/i_path_object.d.ts +6 -15
  75. package/core/renderers/common/info.d.ts +5 -2
  76. package/core/renderers/common/marker_svg.d.ts +7 -0
  77. package/core/renderers/common/path_object.d.ts +13 -0
  78. package/core/renderers/common/renderer.d.ts +3 -0
  79. package/core/renderers/measurables/connection.d.ts +1 -0
  80. package/core/renderers/measurables/icon.d.ts +0 -5
  81. package/core/renderers/zelos/drawer.d.ts +4 -0
  82. package/core/renderers/zelos/renderer.d.ts +4 -2
  83. package/core/serialization/blocks.d.ts +1 -0
  84. package/core/serialization/priorities.d.ts +2 -0
  85. package/core/serialization/procedures.d.ts +28 -26
  86. package/core/serialization/workspace_comments.d.ts +45 -0
  87. package/core/serialization.d.ts +2 -1
  88. package/core/toolbox/toolbox.d.ts +1 -2
  89. package/core/utils/dom.d.ts +0 -9
  90. package/core/utils/keycodes.d.ts +32 -32
  91. package/core/utils/size.d.ts +10 -0
  92. package/core/utils/string.d.ts +0 -10
  93. package/core/utils/toolbox.d.ts +1 -0
  94. package/core/workspace.d.ts +9 -1
  95. package/core/workspace_audio.d.ts +10 -0
  96. package/core/workspace_svg.d.ts +10 -32
  97. package/core/xml.d.ts +9 -3
  98. package/core-node.js +31 -0
  99. package/core.js +4 -26
  100. package/dart.d.ts +1 -1
  101. package/dart.js +4 -22
  102. package/dart_compressed.js +22 -72
  103. package/dart_compressed.js.map +1 -1
  104. package/generators/dart/dart_generator.d.ts +17 -17
  105. package/generators/dart/text.d.ts +0 -1
  106. package/generators/javascript/javascript_generator.d.ts +34 -35
  107. package/generators/javascript/text.d.ts +0 -1
  108. package/generators/lua/lua_generator.d.ts +10 -10
  109. package/generators/lua/text.d.ts +0 -1
  110. package/generators/php/php_generator.d.ts +36 -36
  111. package/generators/php/text.d.ts +0 -1
  112. package/generators/python/python_generator.d.ts +20 -21
  113. package/generators/python/text.d.ts +0 -1
  114. package/index.js +19 -7
  115. package/javascript.d.ts +1 -1
  116. package/javascript.js +4 -23
  117. package/javascript_compressed.js +19 -54
  118. package/javascript_compressed.js.map +1 -1
  119. package/lua.d.ts +1 -1
  120. package/lua.js +4 -22
  121. package/lua_compressed.js +24 -47
  122. package/lua_compressed.js.map +1 -1
  123. package/media/delete-icon.svg +1 -0
  124. package/media/foldout-icon.svg +1 -0
  125. package/media/resize-handle.svg +3 -0
  126. package/msg/ab.js +1 -0
  127. package/msg/ace.js +1 -0
  128. package/msg/af.js +1 -0
  129. package/msg/am.js +1 -0
  130. package/msg/ar.js +2 -1
  131. package/msg/ast.js +1 -0
  132. package/msg/az.js +1 -0
  133. package/msg/ba.js +1 -0
  134. package/msg/bcc.js +1 -0
  135. package/msg/be-tarask.js +9 -8
  136. package/msg/be.js +1 -0
  137. package/msg/bg.js +1 -0
  138. package/msg/bn.js +6 -5
  139. package/msg/br.js +1 -0
  140. package/msg/bs.js +1 -0
  141. package/msg/ca.js +1 -0
  142. package/msg/cdo.js +1 -0
  143. package/msg/ce.d.ts +8 -0
  144. package/msg/ce.js +1 -0
  145. package/msg/cs.js +1 -0
  146. package/msg/da.js +5 -4
  147. package/msg/de.js +1 -0
  148. package/msg/diq.js +1 -0
  149. package/msg/dtp.d.ts +8 -0
  150. package/msg/dtp.js +1 -0
  151. package/msg/dty.js +1 -0
  152. package/msg/ee.js +1 -0
  153. package/msg/el.js +2 -1
  154. package/msg/en-gb.js +1 -0
  155. package/msg/en.js +1 -0
  156. package/msg/eo.js +1 -0
  157. package/msg/es.js +1 -0
  158. package/msg/et.js +1 -0
  159. package/msg/eu.js +1 -0
  160. package/msg/fa.js +1 -0
  161. package/msg/fi.js +1 -0
  162. package/msg/fo.js +1 -0
  163. package/msg/fr.js +1 -0
  164. package/msg/frr.js +1 -0
  165. package/msg/gl.js +1 -0
  166. package/msg/gn.js +1 -0
  167. package/msg/gor.js +1 -0
  168. package/msg/ha.js +1 -0
  169. package/msg/hak.js +1 -0
  170. package/msg/he.js +2 -1
  171. package/msg/hi.js +1 -0
  172. package/msg/hr.js +1 -0
  173. package/msg/hrx.js +1 -0
  174. package/msg/hsb.d.ts +8 -0
  175. package/msg/hsb.js +1 -0
  176. package/msg/hu.js +1 -0
  177. package/msg/hy.js +1 -0
  178. package/msg/ia.js +1 -0
  179. package/msg/id.js +7 -6
  180. package/msg/ig.js +1 -0
  181. package/msg/inh.js +4 -3
  182. package/msg/is.js +1 -0
  183. package/msg/it.js +1 -0
  184. package/msg/ja.js +2 -1
  185. package/msg/ka.js +1 -0
  186. package/msg/kab.js +1 -0
  187. package/msg/kbd-cyrl.js +1 -0
  188. package/msg/km.js +1 -0
  189. package/msg/kn.js +1 -0
  190. package/msg/ko.js +1 -0
  191. package/msg/ksh.js +1 -0
  192. package/msg/ku-latn.js +1 -0
  193. package/msg/ky.js +1 -0
  194. package/msg/la.js +1 -0
  195. package/msg/lb.js +1 -0
  196. package/msg/lki.js +1 -0
  197. package/msg/lo.js +1 -0
  198. package/msg/lrc.js +1 -0
  199. package/msg/lt.js +1 -0
  200. package/msg/lv.js +1 -0
  201. package/msg/mg.js +1 -0
  202. package/msg/mk.js +1 -0
  203. package/msg/ml.js +1 -0
  204. package/msg/mnw.js +1 -0
  205. package/msg/ms.js +1 -0
  206. package/msg/my.js +1 -0
  207. package/msg/mzn.js +1 -0
  208. package/msg/nb.js +1 -0
  209. package/msg/ne.js +1 -0
  210. package/msg/nl.js +4 -3
  211. package/msg/oc.js +1 -0
  212. package/msg/olo.js +1 -0
  213. package/msg/pa.js +1 -0
  214. package/msg/pl.js +1 -0
  215. package/msg/pms.js +1 -0
  216. package/msg/ps.js +1 -0
  217. package/msg/pt-br.js +1 -0
  218. package/msg/pt.js +2 -1
  219. package/msg/ro.js +1 -0
  220. package/msg/ru.js +1 -0
  221. package/msg/sc.js +1 -0
  222. package/msg/sco.js +1 -0
  223. package/msg/sd.js +1 -0
  224. package/msg/shn.js +1 -0
  225. package/msg/si.js +1 -0
  226. package/msg/sk.js +1 -0
  227. package/msg/skr-arab.js +1 -0
  228. package/msg/sl.js +1 -0
  229. package/msg/smn.js +1 -0
  230. package/msg/sq.js +1 -0
  231. package/msg/sr-latn.js +1 -0
  232. package/msg/sr.js +1 -0
  233. package/msg/sv.js +1 -0
  234. package/msg/sw.js +1 -0
  235. package/msg/ta.js +3 -2
  236. package/msg/tcy.js +1 -0
  237. package/msg/tdd.d.ts +8 -0
  238. package/msg/tdd.js +1 -0
  239. package/msg/te.js +1 -0
  240. package/msg/th.js +1 -0
  241. package/msg/ti.js +1 -0
  242. package/msg/tl.js +3 -2
  243. package/msg/tlh.js +1 -0
  244. package/msg/tr.js +1 -0
  245. package/msg/ug-arab.js +1 -0
  246. package/msg/uk.js +1 -0
  247. package/msg/ur.js +3 -2
  248. package/msg/uz.js +1 -0
  249. package/msg/vi.js +1 -0
  250. package/msg/xmf.js +1 -0
  251. package/msg/yo.js +1 -0
  252. package/msg/zgh.js +1 -0
  253. package/msg/zh-hans.js +1 -0
  254. package/msg/zh-hant.js +15 -14
  255. package/package.json +49 -15
  256. package/php.d.ts +1 -1
  257. package/php.js +4 -22
  258. package/php_compressed.js +13 -46
  259. package/php_compressed.js.map +1 -1
  260. package/python.d.ts +1 -1
  261. package/python.js +4 -23
  262. package/python_compressed.js +21 -40
  263. package/python_compressed.js.map +1 -1
  264. package/blockly.js +0 -22
  265. package/browser.js +0 -30
  266. package/core/block_dragger.d.ts +0 -162
  267. package/core/bubble_dragger.d.ts +0 -77
  268. package/core/field_angle.d.ts +0 -208
  269. package/core/field_colour.d.ts +0 -243
  270. package/core/field_multilineinput.d.ts +0 -182
  271. package/core/interfaces/i_block_dragger.d.ts +0 -47
  272. package/core/renderers/minimalist/constants.d.ts +0 -21
  273. package/core/renderers/minimalist/drawer.d.ts +0 -26
  274. package/core/renderers/minimalist/info.d.ts +0 -35
  275. package/core/renderers/minimalist/minimalist.d.ts +0 -12
  276. package/core/renderers/minimalist/renderer.d.ts +0 -48
  277. package/core/workspace_comment.d.ts +0 -190
  278. package/core/workspace_comment_svg.d.ts +0 -361
  279. package/core-browser.js +0 -26
  280. package/generators/dart/colour.d.ts +0 -16
  281. package/generators/javascript/colour.d.ts +0 -16
  282. package/generators/lua/colour.d.ts +0 -16
  283. package/generators/php/colour.d.ts +0 -16
  284. package/generators/python/colour.d.ts +0 -16
  285. package/msg/constants.d.ts +0 -14
  286. package/msg/qqq.d.ts +0 -14
  287. package/msg/synonyms.d.ts +0 -14
  288. package/msg/yue.js +0 -441
  289. package/node.js +0 -21
@@ -187,11 +187,10 @@ export declare class Toolbox extends DeleteArea implements IAutoHideable, IKeybo
187
187
  * before onDragEnter/onDragOver/onDragExit.
188
188
  *
189
189
  * @param element The block or bubble currently being dragged.
190
- * @param _couldConnect Whether the element could could connect to another.
191
190
  * @returns Whether the element provided would be deleted if dropped on this
192
191
  * area.
193
192
  */
194
- wouldDelete(element: IDraggable, _couldConnect: boolean): boolean;
193
+ wouldDelete(element: IDraggable): boolean;
195
194
  /**
196
195
  * Handles when a cursor with a block or bubble enters this drag target.
197
196
  *
@@ -86,15 +86,6 @@ export declare function removeNode(node: Node | null): Node | null;
86
86
  * @param refNode Existing element to precede new node.
87
87
  */
88
88
  export declare function insertAfter(newNode: Element, refNode: Element): void;
89
- /**
90
- * Whether a node contains another node.
91
- *
92
- * @param parent The node that should contain the other node.
93
- * @param descendant The node to test presence of.
94
- * @returns Whether the parent node contains the descendant node.
95
- * @deprecated Use native 'contains' DOM method.
96
- */
97
- export declare function containsNode(parent: Node, descendant: Node): boolean;
98
89
  /**
99
90
  * Sets the CSS transform property on an element. This function sets the
100
91
  * non-vendor-prefixed and vendor-prefixed versions for backwards compatibility
@@ -16,7 +16,7 @@ export declare enum KeyCodes {
16
16
  MAC_ENTER = 3,
17
17
  BACKSPACE = 8,
18
18
  TAB = 9,
19
- NUM_CENTER = 12,
19
+ NUM_CENTER = 12,// NUMLOCK on FF/Safari Mac
20
20
  ENTER = 13,
21
21
  SHIFT = 16,
22
22
  CTRL = 17,
@@ -25,18 +25,18 @@ export declare enum KeyCodes {
25
25
  CAPS_LOCK = 20,
26
26
  ESC = 27,
27
27
  SPACE = 32,
28
- PAGE_UP = 33,
29
- PAGE_DOWN = 34,
30
- END = 35,
31
- HOME = 36,
32
- LEFT = 37,
33
- UP = 38,
34
- RIGHT = 39,
35
- DOWN = 40,
36
- PLUS_SIGN = 43,
28
+ PAGE_UP = 33,// also NUM_NORTH_EAST
29
+ PAGE_DOWN = 34,// also NUM_SOUTH_EAST
30
+ END = 35,// also NUM_SOUTH_WEST
31
+ HOME = 36,// also NUM_NORTH_WEST
32
+ LEFT = 37,// also NUM_WEST
33
+ UP = 38,// also NUM_NORTH
34
+ RIGHT = 39,// also NUM_EAST
35
+ DOWN = 40,// also NUM_SOUTH
36
+ PLUS_SIGN = 43,// NOT numpad plus
37
37
  PRINT_SCREEN = 44,
38
- INSERT = 45,
39
- DELETE = 46,
38
+ INSERT = 45,// also NUM_INSERT
39
+ DELETE = 46,// also NUM_DELETE
40
40
  ZERO = 48,
41
41
  ONE = 49,
42
42
  TWO = 50,
@@ -47,11 +47,11 @@ export declare enum KeyCodes {
47
47
  SEVEN = 55,
48
48
  EIGHT = 56,
49
49
  NINE = 57,
50
- FF_SEMICOLON = 59,
51
- FF_EQUALS = 61,
52
- FF_DASH = 173,
50
+ FF_SEMICOLON = 59,// Firefox (Gecko) fires this for semicolon instead of 186
51
+ FF_EQUALS = 61,// Firefox (Gecko) fires this for equals instead of 187
52
+ FF_DASH = 173,// Firefox (Gecko) fires this for dash instead of 189
53
53
  FF_HASH = 163,
54
- QUESTION_MARK = 63,
54
+ QUESTION_MARK = 63,// needs localization
55
55
  AT_SIGN = 64,
56
56
  A = 65,
57
57
  B = 66,
@@ -79,7 +79,7 @@ export declare enum KeyCodes {
79
79
  X = 88,
80
80
  Y = 89,
81
81
  Z = 90,
82
- META = 91,
82
+ META = 91,// WIN_KEY_LEFT
83
83
  WIN_KEY_RIGHT = 92,
84
84
  CONTEXT_MENU = 93,
85
85
  NUM_ZERO = 96,
@@ -113,22 +113,22 @@ export declare enum KeyCodes {
113
113
  SCROLL_LOCK = 145,
114
114
  FIRST_MEDIA_KEY = 166,
115
115
  LAST_MEDIA_KEY = 183,
116
- SEMICOLON = 186,
117
- DASH = 189,
118
- EQUALS = 187,
119
- COMMA = 188,
120
- PERIOD = 190,
121
- SLASH = 191,
122
- APOSTROPHE = 192,
123
- TILDE = 192,
124
- SINGLE_QUOTE = 222,
125
- OPEN_SQUARE_BRACKET = 219,
126
- BACKSLASH = 220,
127
- CLOSE_SQUARE_BRACKET = 221,
116
+ SEMICOLON = 186,// needs localization
117
+ DASH = 189,// needs localization
118
+ EQUALS = 187,// needs localization
119
+ COMMA = 188,// needs localization
120
+ PERIOD = 190,// needs localization
121
+ SLASH = 191,// needs localization
122
+ APOSTROPHE = 192,// needs localization
123
+ TILDE = 192,// needs localization
124
+ SINGLE_QUOTE = 222,// needs localization
125
+ OPEN_SQUARE_BRACKET = 219,// needs localization
126
+ BACKSLASH = 220,// needs localization
127
+ CLOSE_SQUARE_BRACKET = 221,// needs localization
128
128
  WIN_KEY = 224,
129
- MAC_FF_META = 224,
130
- MAC_WK_CMD_LEFT = 91,
131
- MAC_WK_CMD_RIGHT = 93,
129
+ MAC_FF_META = 224,// Firefox (Gecko) fires this for the meta key instead of 91
130
+ MAC_WK_CMD_LEFT = 91,// WebKit Left Command key fired, same as META
131
+ MAC_WK_CMD_RIGHT = 93,// WebKit Right Command key fired, different from META
132
132
  WIN_IME = 229,
133
133
  VK_NONAME = 252,
134
134
  PHANTOM = 255
@@ -30,5 +30,15 @@ export declare class Size {
30
30
  * are null.
31
31
  */
32
32
  static equals(a: Size | null, b: Size | null): boolean;
33
+ /**
34
+ * Returns a new size with the maximum width and height values out of both
35
+ * sizes.
36
+ */
37
+ static max(a: Size, b: Size): Size;
38
+ /**
39
+ * Returns a new size with the minimum width and height values out of both
40
+ * sizes.
41
+ */
42
+ static min(a: Size, b: Size): Size;
33
43
  }
34
44
  //# sourceMappingURL=size.d.ts.map
@@ -3,16 +3,6 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- /**
7
- * Fast prefix-checker.
8
- * Copied from Closure's goog.string.startsWith.
9
- *
10
- * @param str The string to check.
11
- * @param prefix A string to look for at the start of `str`.
12
- * @returns True if `str` begins with `prefix`.
13
- * @deprecated Use built-in **string.startsWith** instead.
14
- */
15
- export declare function startsWith(str: string, prefix: string): boolean;
16
6
  /**
17
7
  * Given an array of strings, return the length of the shortest one.
18
8
  *
@@ -16,6 +16,7 @@ export interface BlockInfo {
16
16
  type?: string;
17
17
  gap?: string | number;
18
18
  disabled?: string | boolean;
19
+ disabledReasons?: string[];
19
20
  enabled?: boolean;
20
21
  id?: string;
21
22
  x?: number;
@@ -18,7 +18,7 @@ import { Options } from './options.js';
18
18
  import type * as toolbox from './utils/toolbox.js';
19
19
  import { VariableMap } from './variable_map.js';
20
20
  import type { VariableModel } from './variable_model.js';
21
- import type { WorkspaceComment } from './workspace_comment.js';
21
+ import { WorkspaceComment } from './comments/workspace_comment.js';
22
22
  import { IProcedureMap } from './interfaces/i_procedure_map.js';
23
23
  /**
24
24
  * Class for a workspace. This is a data structure that contains blocks.
@@ -279,6 +279,14 @@ export declare class Workspace implements IASTNodeLocation {
279
279
  * @returns The created block.
280
280
  */
281
281
  newBlock(prototypeName: string, opt_id?: string): Block;
282
+ /**
283
+ * Obtain a newly created comment.
284
+ *
285
+ * @param id Optional ID. Use this ID if provided, otherwise create a new
286
+ * ID.
287
+ * @returns The created comment.
288
+ */
289
+ newComment(id?: string): WorkspaceComment;
282
290
  /**
283
291
  * The number of blocks that may be added to the workspace before reaching
284
292
  * the maxBlocks.
@@ -13,6 +13,8 @@ export declare class WorkspaceAudio {
13
13
  private sounds;
14
14
  /** Time that the last sound was played. */
15
15
  private lastSound_;
16
+ /** Whether the audio is muted or not. */
17
+ private muted;
16
18
  /**
17
19
  * @param parentWorkspace The parent of the workspace this audio object
18
20
  * belongs to, or null.
@@ -47,5 +49,13 @@ export declare class WorkspaceAudio {
47
49
  * @param opt_volume Volume of sound (0-1).
48
50
  */
49
51
  play(name: string, opt_volume?: number): void;
52
+ /**
53
+ * @param muted If true, mute sounds. Otherwise, play them.
54
+ */
55
+ setMuted(muted: boolean): void;
56
+ /**
57
+ * @returns Whether the audio is currently muted or not.
58
+ */
59
+ getMuted(): boolean;
50
60
  }
51
61
  //# sourceMappingURL=workspace_audio.d.ts.map
@@ -20,7 +20,6 @@ import { Gesture } from './gesture.js';
20
20
  import { Grid } from './grid.js';
21
21
  import type { IASTNodeLocationSvg } from './interfaces/i_ast_node_location_svg.js';
22
22
  import type { IBoundedElement } from './interfaces/i_bounded_element.js';
23
- import type { ICopyData, ICopyable } from './interfaces/i_copyable.js';
24
23
  import type { IDragTarget } from './interfaces/i_drag_target.js';
25
24
  import type { IFlyout } from './interfaces/i_flyout.js';
26
25
  import type { IMetricsManager } from './interfaces/i_metrics_manager.js';
@@ -43,7 +42,7 @@ import * as toolbox from './utils/toolbox.js';
43
42
  import type { VariableModel } from './variable_model.js';
44
43
  import { Workspace } from './workspace.js';
45
44
  import { WorkspaceAudio } from './workspace_audio.js';
46
- import { WorkspaceComment } from './workspace_comment.js';
45
+ import { WorkspaceComment } from './comments/workspace_comment.js';
47
46
  import { ZoomControls } from './zoom_controls.js';
48
47
  import { ContextMenuOption } from './contextmenu_registry.js';
49
48
  import { LayerManager } from './layer_manager.js';
@@ -498,8 +497,6 @@ export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationS
498
497
  updateScreenCalculationsIfScrolled(): void;
499
498
  /**
500
499
  * @returns The layer manager for this workspace.
501
- *
502
- * @internal
503
500
  */
504
501
  getLayerManager(): LayerManager | null;
505
502
  /**
@@ -576,32 +573,6 @@ export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationS
576
573
  * highlight/unhighlight the specified block.
577
574
  */
578
575
  highlightBlock(id: string | null, opt_state?: boolean): void;
579
- /**
580
- * Pastes the provided block or workspace comment onto the workspace.
581
- * Does not check whether there is remaining capacity for the object, that
582
- * should be done before calling this method.
583
- *
584
- * @param state The representation of the thing to paste.
585
- * @returns The pasted thing, or null if the paste was not successful.
586
- * @deprecated v10. Use `Blockly.clipboard.paste` instead. To be removed in
587
- * v11.
588
- */
589
- paste(state: any | Element | DocumentFragment): ICopyable<ICopyData> | null;
590
- /**
591
- * Paste the provided block onto the workspace.
592
- *
593
- * @param xmlBlock XML block element.
594
- * @param jsonBlock JSON block representation.
595
- * @returns The pasted block.
596
- */
597
- private pasteBlock_;
598
- /**
599
- * Paste the provided comment onto the workspace.
600
- *
601
- * @param xmlComment XML workspace comment element.
602
- * @returns The pasted workspace comment.
603
- */
604
- private pasteWorkspaceComment_;
605
576
  /**
606
577
  * Refresh the toolbox unless there's a drag in progress.
607
578
  *
@@ -647,6 +618,14 @@ export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationS
647
618
  * @returns The created block.
648
619
  */
649
620
  newBlock(prototypeName: string, opt_id?: string): BlockSvg;
621
+ /**
622
+ * Obtain a newly created comment.
623
+ *
624
+ * @param id Optional ID. Use this ID if provided, otherwise create a new
625
+ * ID.
626
+ * @returns The created comment.
627
+ */
628
+ newComment(id?: string): WorkspaceComment;
650
629
  /**
651
630
  * Returns the drag target the pointer event is over.
652
631
  *
@@ -733,7 +712,7 @@ export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationS
733
712
  * @param e Mouse event.
734
713
  * @internal
735
714
  */
736
- showContextMenu(e: Event): void;
715
+ showContextMenu(e: PointerEvent): void;
737
716
  /**
738
717
  * Modify the block tree on the existing toolbox.
739
718
  *
@@ -975,7 +954,6 @@ export declare class WorkspaceSvg extends Workspace implements IASTNodeLocationS
975
954
  * Get the grid object for this workspace, or null if there is none.
976
955
  *
977
956
  * @returns The grid object for this workspace.
978
- * @internal
979
957
  */
980
958
  getGrid(): Grid | null;
981
959
  /**
package/core/xml.d.ts CHANGED
@@ -6,15 +6,19 @@
6
6
  import type { Block } from './block.js';
7
7
  import type { VariableModel } from './variable_model.js';
8
8
  import type { Workspace } from './workspace.js';
9
- import type { WorkspaceSvg } from './workspace_svg.js';
9
+ import { WorkspaceSvg } from './workspace_svg.js';
10
+ import { WorkspaceComment } from './comments/workspace_comment.js';
10
11
  /**
11
12
  * Encode a block tree as XML.
12
13
  *
13
14
  * @param workspace The workspace containing blocks.
14
- * @param opt_noId True if the encoder should skip the block IDs.
15
+ * @param skipId True if the encoder should skip the block IDs. False by
16
+ * default.
15
17
  * @returns XML DOM element.
16
18
  */
17
- export declare function workspaceToDom(workspace: Workspace, opt_noId?: boolean): Element;
19
+ export declare function workspaceToDom(workspace: Workspace, skipId?: boolean): Element;
20
+ /** Serializes the given workspace comment to XML. */
21
+ export declare function saveWorkspaceComment(comment: WorkspaceComment, skipId?: boolean): Element;
18
22
  /**
19
23
  * Encode a list of variables as XML.
20
24
  *
@@ -73,6 +77,8 @@ export declare function clearWorkspaceAndLoadFromXml(xml: Element, workspace: Wo
73
77
  * @returns An array containing new block IDs.
74
78
  */
75
79
  export declare function domToWorkspace(xml: Element, workspace: Workspace): string[];
80
+ /** Deserializes the given comment state into the given workspace. */
81
+ export declare function loadWorkspaceComment(elem: Element, workspace: Workspace): WorkspaceComment;
76
82
  /**
77
83
  * Decode an XML DOM and create blocks on the workspace. Position the new
78
84
  * blocks immediately below prior blocks, aligned by their starting edge.
package/core-node.js ADDED
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @file Blockly core module wrapper for node.js. This module loads
9
+ * blockly_compressed.js and jsdom, then calls
10
+ * Blockly.utils.xml.injectDependencies to supply needed XML-handling
11
+ * functions to Blocky.
12
+ *
13
+ * Note that, unlike index.js, this file does not get a UMD wrapper.
14
+ * This is because it is only used in node.js environments and so is
15
+ * guaranteed to be loaded as a CJS module.
16
+ */
17
+
18
+ /* eslint-disable */
19
+ 'use strict';
20
+
21
+ const Blockly = require('./blockly_compressed.js');
22
+ const {JSDOM} = require('jsdom');
23
+
24
+ // Override textToDomDocument and provide node.js alternatives to
25
+ // DOMParser and XMLSerializer.
26
+ if (typeof globalThis.document !== 'object') {
27
+ const {window} = new JSDOM(`<!DOCTYPE html>`);
28
+ Blockly.utils.xml.injectDependencies(window);
29
+ }
30
+
31
+ module.exports = Blockly;
package/core.js CHANGED
@@ -1,26 +1,4 @@
1
- /* eslint-disable */
2
- (function (Blockly){
3
- /**
4
- * @license
5
- * Copyright 2019 Google LLC
6
- * SPDX-License-Identifier: Apache-2.0
7
- */
8
-
9
- /**
10
- * @fileoverview Blockly core module for Node. It includes blockly-node.js
11
- * and adds a helper method for setting the locale.
12
- */
13
-
14
- /* eslint-disable */
15
- 'use strict';
16
-
17
- // Override textToDomDocument and provide Node.js alternatives to DOMParser and
18
- // XMLSerializer.
19
- if (typeof globalThis.document !== 'object') {
20
- const {JSDOM} = require('jsdom');
21
- const {window} = new JSDOM(`<!DOCTYPE html>`);
22
- Blockly.utils.xml.injectDependencies(window);
23
- }
24
-
25
- module.exports = Blockly;
26
- })(require('./blockly'));
1
+ // Shim for backwards-compatibility with bundlers that do not
2
+ // support the 'exports' clause in package.json, to allow them
3
+ // to load the blockly/core submodule entrypoint.
4
+ module.exports = require('./blockly_compressed.js');
package/dart.d.ts CHANGED
@@ -4,4 +4,4 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- export * from 'generators/dart';
7
+ export * from './generators/dart';
package/dart.js CHANGED
@@ -1,22 +1,4 @@
1
- /* eslint-disable */
2
- ;(function(root, factory) {
3
- if (typeof define === 'function' && define.amd) { // AMD
4
- define(['./core', './dart_compressed.js'], factory);
5
- } else if (typeof exports === 'object') { // Node.js
6
- module.exports = factory(require('./core'), require('./dart_compressed.js'));
7
- } else { // Browser
8
- root.BlocklyDart = factory(root.Blockly, root.BlocklyDart);
9
- }
10
- }(this, function(Blockly, BlocklyDart) {
11
- /**
12
- * @license
13
- * Copyright 2020 Google LLC
14
- * SPDX-License-Identifier: Apache-2.0
15
- */
16
-
17
- /**
18
- * @fileoverview Dart generator module; just a wrapper for dart_compressed.js.
19
- */
20
-
21
- return BlocklyDart;
22
- }));
1
+ // Shim for backwards-compatibility with bundlers that do not
2
+ // support the 'exports' clause in package.json, to allow them
3
+ // to load the blockly/dart submodule entrypoint.
4
+ module.exports = require('./dart_compressed.js');
@@ -12,64 +12,14 @@
12
12
  }
13
13
  }(this, function(__parent__) {
14
14
  var $=__parent__.__namespace__;
15
- var colour_picker$$module$build$src$generators$dart$colour=function(a,b){return[b.quote_(a.getFieldValue("COLOUR")),Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},colour_random$$module$build$src$generators$dart$colour=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";return[b.provideFunction_("colour_random",`
16
- String ${b.FUNCTION_NAME_PLACEHOLDER_}() {
17
- String hex = '0123456789abcdef';
18
- var rnd = new Math.Random();
19
- return '#\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}'
20
- '\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}'
21
- '\${hex[rnd.nextInt(16)]}\${hex[rnd.nextInt(16)]}';
22
- }
23
- `)+"()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},colour_rgb$$module$build$src$generators$dart$colour=function(a,b){const c=b.valueToCode(a,"RED",Order$$module$build$src$generators$dart$dart_generator.NONE)||0,d=b.valueToCode(a,"GREEN",Order$$module$build$src$generators$dart$dart_generator.NONE)||0;a=b.valueToCode(a,"BLUE",Order$$module$build$src$generators$dart$dart_generator.NONE)||0;b.definitions_.import_dart_math="import 'dart:math' as Math;";return[b.provideFunction_("colour_rgb",
24
- `
25
- String ${b.FUNCTION_NAME_PLACEHOLDER_}(num r, num g, num b) {
26
- num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();
27
- String rs = rn.toInt().toRadixString(16);
28
- rs = '0$rs';
29
- rs = rs.substring(rs.length - 2);
30
- num gn = (Math.max(Math.min(g, 100), 0) * 2.55).round();
31
- String gs = gn.toInt().toRadixString(16);
32
- gs = '0$gs';
33
- gs = gs.substring(gs.length - 2);
34
- num bn = (Math.max(Math.min(b, 100), 0) * 2.55).round();
35
- String bs = bn.toInt().toRadixString(16);
36
- bs = '0$bs';
37
- bs = bs.substring(bs.length - 2);
38
- return '#$rs$gs$bs';
39
- }
40
- `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},colour_blend$$module$build$src$generators$dart$colour=function(a,b){const c=b.valueToCode(a,"COLOUR1",Order$$module$build$src$generators$dart$dart_generator.NONE)||"'#000000'",d=b.valueToCode(a,"COLOUR2",Order$$module$build$src$generators$dart$dart_generator.NONE)||"'#000000'";a=b.valueToCode(a,"RATIO",Order$$module$build$src$generators$dart$dart_generator.NONE)||.5;b.definitions_.import_dart_math="import 'dart:math' as Math;";
41
- return[b.provideFunction_("colour_blend",`
42
- String ${b.FUNCTION_NAME_PLACEHOLDER_}(String c1, String c2, num ratio) {
43
- ratio = Math.max(Math.min(ratio, 1), 0);
44
- int r1 = int.parse('0x\${c1.substring(1, 3)}');
45
- int g1 = int.parse('0x\${c1.substring(3, 5)}');
46
- int b1 = int.parse('0x\${c1.substring(5, 7)}');
47
- int r2 = int.parse('0x\${c2.substring(1, 3)}');
48
- int g2 = int.parse('0x\${c2.substring(3, 5)}');
49
- int b2 = int.parse('0x\${c2.substring(5, 7)}');
50
- num rn = (r1 * (1 - ratio) + r2 * ratio).round();
51
- String rs = rn.toInt().toRadixString(16);
52
- num gn = (g1 * (1 - ratio) + g2 * ratio).round();
53
- String gs = gn.toInt().toRadixString(16);
54
- num bn = (b1 * (1 - ratio) + b2 * ratio).round();
55
- String bs = bn.toInt().toRadixString(16);
56
- rs = '0$rs';
57
- rs = rs.substring(rs.length - 2);
58
- gs = '0$gs';
59
- gs = gs.substring(gs.length - 2);
60
- bs = '0$bs';
61
- bs = bs.substring(bs.length - 2);
62
- return '#$rs$gs$bs';
63
- }
64
- `)+"("+c+", "+d+", "+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_create_empty$$module$build$src$generators$dart$lists=function(a,b){return["[]",Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},lists_create_with$$module$build$src$generators$dart$lists=function(a,b){const c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return["["+c.join(", ")+"]",
65
- Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},lists_repeat$$module$build$src$generators$dart$lists=function(a,b){const c=b.valueToCode(a,"ITEM",Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return["new List.filled("+(b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart$dart_generator.NONE)||"0")+", "+c+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_length$$module$build$src$generators$dart$lists=function(a,b){return[(b.valueToCode(a,
66
- "VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+".length",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_isEmpty$$module$build$src$generators$dart$lists=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+".isEmpty",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_indexOf$$module$build$src$generators$dart$lists=function(a,b){const c=
67
- "FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart$dart_generator.ADDITIVE]:[b,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_getIndex$$module$build$src$generators$dart$lists=
68
- function(a,b){function c(){const g=b.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),h="List "+g+" = "+f+";\n";f=g;return h}var d=a.getFieldValue("MODE")||"GET";const e=a.getFieldValue("WHERE")||"FROM_START";let f=b.valueToCode(a,"VALUE","RANDOM"===e||"FROM_END"===e?Order$$module$build$src$generators$dart$dart_generator.NONE:Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]";if(("RANDOM"!==e||"REMOVE"!==d)&&"FROM_END"!==e||f.match(/^\w+$/))switch(e){case "FIRST":if("GET"===
69
- d)return[f+".first",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeAt(0)",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt(0);\n";break;case "LAST":if("GET"===d)return[f+".last",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeLast()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+
70
- ".removeLast();\n";break;case "FROM_START":a=b.getAdjusted(a,"AT");if("GET"===d)return[f+"["+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeAt("+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt("+a+");\n";break;case "FROM_END":a=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$dart$dart_generator.ADDITIVE);if("GET"===d)return[f+"["+f+".length - "+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];
71
- if("GET_REMOVE"===d||"REMOVE"===d){a=f+".removeAt("+f+".length - "+a+")";if("GET_REMOVE"===d)return[a,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return a+";\n"}break;case "RANDOM":b.definitions_.import_dart_math="import 'dart:math' as Math;";if("REMOVE"===d)return d=b.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE),"int "+d+" = new Math.Random().nextInt("+f+".length);\n"+(f+".removeAt("+d+");\n");if("GET"===d)return[b.provideFunction_("lists_get_random_item",
72
- `
15
+ var lists_create_empty$$module$build$src$generators$dart$lists=function(a,b){return["[]",Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},lists_create_with$$module$build$src$generators$dart$lists=function(a,b){const c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return["["+c.join(", ")+"]",Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},lists_repeat$$module$build$src$generators$dart$lists=
16
+ function(a,b){const c=b.valueToCode(a,"ITEM",Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return["new List.filled("+(b.valueToCode(a,"NUM",Order$$module$build$src$generators$dart$dart_generator.NONE)||"0")+", "+c+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_length$$module$build$src$generators$dart$lists=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+".length",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},
17
+ lists_isEmpty$$module$build$src$generators$dart$lists=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+".isEmpty",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_indexOf$$module$build$src$generators$dart$lists=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";b=(b.valueToCode(a,
18
+ "VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart$dart_generator.ADDITIVE]:[b,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},lists_getIndex$$module$build$src$generators$dart$lists=function(a,b){function c(){const g=b.nameDB_.getDistinctName("tmp_list",$.NameType$$module$build$src$core$names.VARIABLE),h="List "+g+" = "+f+";\n";f=g;return h}
19
+ var d=a.getFieldValue("MODE")||"GET";const e=a.getFieldValue("WHERE")||"FROM_START";let f=b.valueToCode(a,"VALUE","RANDOM"===e||"FROM_END"===e?Order$$module$build$src$generators$dart$dart_generator.NONE:Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"[]";if(("RANDOM"!==e||"REMOVE"!==d)&&"FROM_END"!==e||f.match(/^\w+$/))switch(e){case "FIRST":if("GET"===d)return[f+".first",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeAt(0)",
20
+ Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt(0);\n";break;case "LAST":if("GET"===d)return[f+".last",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d)return[f+".removeLast()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeLast();\n";break;case "FROM_START":a=b.getAdjusted(a,"AT");if("GET"===d)return[f+"["+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];
21
+ if("GET_REMOVE"===d)return[f+".removeAt("+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("REMOVE"===d)return f+".removeAt("+a+");\n";break;case "FROM_END":a=b.getAdjusted(a,"AT",1,!1,Order$$module$build$src$generators$dart$dart_generator.ADDITIVE);if("GET"===d)return[f+"["+f+".length - "+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];if("GET_REMOVE"===d||"REMOVE"===d){a=f+".removeAt("+f+".length - "+a+")";if("GET_REMOVE"===d)return[a,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];
22
+ if("REMOVE"===d)return a+";\n"}break;case "RANDOM":b.definitions_.import_dart_math="import 'dart:math' as Math;";if("REMOVE"===d)return d=b.nameDB_.getDistinctName("tmp_x",$.NameType$$module$build$src$core$names.VARIABLE),"int "+d+" = new Math.Random().nextInt("+f+".length);\n"+(f+".removeAt("+d+");\n");if("GET"===d)return[b.provideFunction_("lists_get_random_item",`
73
23
  dynamic ${b.FUNCTION_NAME_PLACEHOLDER_}(List my_list) {
74
24
  int x = new Math.Random().nextInt(my_list.length);
75
25
  return my_list[x];
@@ -276,19 +226,19 @@ int ${b.FUNCTION_NAME_PLACEHOLDER_}(num a, num b) {
276
226
  }
277
227
  `)+"("+c+", "+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},math_random_float$$module$build$src$generators$dart$math=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";return["new Math.Random().nextDouble()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},math_atan2$$module$build$src$generators$dart$math=function(a,b){b.definitions_.import_dart_math="import 'dart:math' as Math;";const c=b.valueToCode(a,"X",Order$$module$build$src$generators$dart$dart_generator.NONE)||
278
228
  "0";return["Math.atan2("+(b.valueToCode(a,"Y",Order$$module$build$src$generators$dart$dart_generator.NONE)||"0")+", "+c+") / Math.pi * 180",Order$$module$build$src$generators$dart$dart_generator.MULTIPLICATIVE]},procedures_defreturn$$module$build$src$generators$dart$procedures=function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME"));var d="";b.STATEMENT_PREFIX&&(d+=b.injectId(b.STATEMENT_PREFIX,a));b.STATEMENT_SUFFIX&&(d+=b.injectId(b.STATEMENT_SUFFIX,a));d&&(d=b.prefixLines(d,b.INDENT));
279
- let e="";b.INFINITE_LOOP_TRAP&&(e=b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP,a),b.INDENT));const f=b.statementToCode(a,"STACK");let g=b.valueToCode(a,"RETURN",Order$$module$build$src$generators$dart$dart_generator.NONE)||"",h="";f&&g&&(h=d);g&&(g=b.INDENT+"return "+g+";\n");const k=g?"dynamic":"void",l=[],m=a.getVars();for(let n=0;n<m.length;n++)l[n]=b.getVariableName(m[n]);d=k+" "+c+"("+l.join(", ")+") {\n"+d+e+f+h+g+"}";d=b.scrub_(a,d);b.definitions_["%"+c]=d;return null},procedures_callreturn$$module$build$src$generators$dart$procedures=
280
- function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME")),d=[],e=a.getVars();for(let f=0;f<e.length;f++)d[f]=b.valueToCode(a,"ARG"+f,Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return[c+"("+d.join(", ")+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},procedures_callnoreturn$$module$build$src$generators$dart$procedures=function(a,b){return b.forBlock.procedures_callreturn(a,b)[0]+";\n"},procedures_ifreturn$$module$build$src$generators$dart$procedures=
281
- function(a,b){let c="if ("+(b.valueToCode(a,"CONDITION",Order$$module$build$src$generators$dart$dart_generator.NONE)||"false")+") {\n";b.STATEMENT_SUFFIX&&(c+=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT));a.hasReturnValue_?(a=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.NONE)||"null",c+=b.INDENT+"return "+a+";\n"):c+=b.INDENT+"return;\n";return c+"}\n"},text$$module$build$src$generators$dart$text=function(a,b){return[b.quote_(a.getFieldValue("TEXT")),
282
- Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},text_multiline$$module$build$src$generators$dart$text=function(a,b){a=b.multiline_quote_(a.getFieldValue("TEXT"));b=-1!==a.indexOf("+")?Order$$module$build$src$generators$dart$dart_generator.ADDITIVE:Order$$module$build$src$generators$dart$dart_generator.ATOMIC;return[a,b]},text_join$$module$build$src$generators$dart$text=function(a,b){switch(a.itemCount_){case 0:return["''",Order$$module$build$src$generators$dart$dart_generator.ATOMIC];
283
- case 1:return[(b.valueToCode(a,"ADD0",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".toString()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];default:const c=Array(a.itemCount_);for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";return["["+c.join(",")+"].join()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]}},text_append$$module$build$src$generators$dart$text=
284
- function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));a=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";return c+" = ["+c+", "+a+"].join();\n"},text_length$$module$build$src$generators$dart$text=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".length",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_isEmpty$$module$build$src$generators$dart$text=
285
- function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".isEmpty",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_indexOf$$module$build$src$generators$dart$text=function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||
286
- "''")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart$dart_generator.ADDITIVE]:[b,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_charAt$$module$build$src$generators$dart$text=function(a,b){const c=a.getFieldValue("WHERE")||"FROM_START",d=b.valueToCode(a,"VALUE","FIRST"===c||"FROM_START"===c?Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX:Order$$module$build$src$generators$dart$dart_generator.NONE)||
287
- "''";switch(c){case "FIRST":return[d+"[0]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "FROM_START":return a=b.getAdjusted(a,"AT"),[d+"["+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "LAST":case "FROM_END":return a=b.getAdjusted(a,"AT",1),[b.provideFunction_("text_get_from_end",`
229
+ let e="";b.INFINITE_LOOP_TRAP&&(e=b.prefixLines(b.injectId(b.INFINITE_LOOP_TRAP,a),b.INDENT));let f="";a.getInput("STACK")&&(f=b.statementToCode(a,"STACK"));let g="";a.getInput("RETURN")&&(g=b.valueToCode(a,"RETURN",Order$$module$build$src$generators$dart$dart_generator.NONE)||"");let h="";f&&g&&(h=d);g&&(g=b.INDENT+"return "+g+";\n");const k=g?"dynamic":"void",l=[],m=a.getVars();for(let n=0;n<m.length;n++)l[n]=b.getVariableName(m[n]);d=k+" "+c+"("+l.join(", ")+") {\n"+d+e+f+h+g+"}";d=b.scrub_(a,
230
+ d);b.definitions_["%"+c]=d;return null},procedures_callreturn$$module$build$src$generators$dart$procedures=function(a,b){const c=b.getProcedureName(a.getFieldValue("NAME")),d=[],e=a.getVars();for(let f=0;f<e.length;f++)d[f]=b.valueToCode(a,"ARG"+f,Order$$module$build$src$generators$dart$dart_generator.NONE)||"null";return[c+"("+d.join(", ")+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},procedures_callnoreturn$$module$build$src$generators$dart$procedures=function(a,b){return b.forBlock.procedures_callreturn(a,
231
+ b)[0]+";\n"},procedures_ifreturn$$module$build$src$generators$dart$procedures=function(a,b){let c="if ("+(b.valueToCode(a,"CONDITION",Order$$module$build$src$generators$dart$dart_generator.NONE)||"false")+") {\n";b.STATEMENT_SUFFIX&&(c+=b.prefixLines(b.injectId(b.STATEMENT_SUFFIX,a),b.INDENT));a.hasReturnValue_?(a=b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.NONE)||"null",c+=b.INDENT+"return "+a+";\n"):c+=b.INDENT+"return;\n";return c+"}\n"},text$$module$build$src$generators$dart$text=
232
+ function(a,b){return[b.quote_(a.getFieldValue("TEXT")),Order$$module$build$src$generators$dart$dart_generator.ATOMIC]},text_join$$module$build$src$generators$dart$text=function(a,b){switch(a.itemCount_){case 0:return["''",Order$$module$build$src$generators$dart$dart_generator.ATOMIC];case 1:return[(b.valueToCode(a,"ADD0",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".toString()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];default:const c=Array(a.itemCount_);
233
+ for(let d=0;d<a.itemCount_;d++)c[d]=b.valueToCode(a,"ADD"+d,Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";return["["+c.join(",")+"].join()",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]}},text_append$$module$build$src$generators$dart$text=function(a,b){const c=b.getVariableName(a.getFieldValue("VAR"));a=b.valueToCode(a,"TEXT",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";return c+" = ["+c+", "+a+"].join();\n"},text_length$$module$build$src$generators$dart$text=
234
+ function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".length",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_isEmpty$$module$build$src$generators$dart$text=function(a,b){return[(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+".isEmpty",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_indexOf$$module$build$src$generators$dart$text=
235
+ function(a,b){const c="FIRST"===a.getFieldValue("END")?"indexOf":"lastIndexOf",d=b.valueToCode(a,"FIND",Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";b=(b.valueToCode(a,"VALUE",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX)||"''")+"."+c+"("+d+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Order$$module$build$src$generators$dart$dart_generator.ADDITIVE]:[b,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX]},text_charAt$$module$build$src$generators$dart$text=
236
+ function(a,b){const c=a.getFieldValue("WHERE")||"FROM_START",d=b.valueToCode(a,"VALUE","FIRST"===c||"FROM_START"===c?Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX:Order$$module$build$src$generators$dart$dart_generator.NONE)||"''";switch(c){case "FIRST":return[d+"[0]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "FROM_START":return a=b.getAdjusted(a,"AT"),[d+"["+a+"]",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "LAST":case "FROM_END":return a=
237
+ "LAST"===c?1:b.getAdjusted(a,"AT",1),[`${b.provideFunction_("text_get_from_end",`
288
238
  String ${b.FUNCTION_NAME_PLACEHOLDER_}(String text, num x) {
289
239
  return text[text.length - x];
290
240
  }
291
- `)+"("+d+", "+a+")",Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "RANDOM":return b.definitions_.import_dart_math="import 'dart:math' as Math;",[b.provideFunction_("text_random_letter",`
241
+ `)}(${d}, ${a})`,Order$$module$build$src$generators$dart$dart_generator.UNARY_POSTFIX];case "RANDOM":return b.definitions_.import_dart_math="import 'dart:math' as Math;",[b.provideFunction_("text_random_letter",`
292
242
  String ${b.FUNCTION_NAME_PLACEHOLDER_}(String text) {
293
243
  int x = new Math.Random().nextInt(text.length);
294
244
  return text[x];
@@ -358,7 +308,7 @@ $.NameType$$module$build$src$core$names.VARIABLE));b.length&&(this.definitions_.
358
308
  ";\n"}quote_(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'");return"'"+a+"'"}multiline_quote_(a){return a.split(/\n/g).map(this.quote_).join(" + '\\n' + \n")}scrub_(a,b,c=!1){let d="";if(!a.outputConnection||!a.outputConnection.targetConnection){var e=a.getCommentText();e&&(e=$.wrap$$module$build$src$core$utils$string(e,this.COMMENT_WRAP-3),d=a.getProcedureDef?d+this.prefixLines(e+"\n","/// "):d+this.prefixLines(e+"\n","// "));for(let f=0;f<a.inputList.length;f++)a.inputList[f].type===
359
309
  $.inputTypes$$module$build$src$core$inputs$input_types.VALUE&&(e=a.inputList[f].connection.targetBlock())&&(e=this.allNestedComments(e))&&(d+=this.prefixLines(e,"// "))}a=a.nextConnection&&a.nextConnection.targetBlock();c=c?"":this.blockToCode(a);return d+b+c}getAdjusted(a,b,c=0,d=!1,e=Order$$module$build$src$generators$dart$dart_generator.NONE){a.workspace.options.oneBasedIndex&&c--;const f=a.workspace.options.oneBasedIndex?"1":"0";let g=e;c?g=Order$$module$build$src$generators$dart$dart_generator.ADDITIVE:
360
310
  d&&(g=Order$$module$build$src$generators$dart$dart_generator.UNARY_PREFIX);a=this.valueToCode(a,b,g)||f;if(0===c&&!d)return a;if($.isNumber$$module$build$src$core$utils$string(a))return a=String(Number(a)+c),d&&(a=String(-Number(a))),a;0<c?a=`${a} + ${c}`:0>c&&(a=`${a} - ${-c}`);d&&(a=c?`-(${a})`:`-${a}`);Math.floor(e)>=Math.floor(g)&&(a=`(${a})`);return a}},module$build$src$generators$dart$dart_generator={};module$build$src$generators$dart$dart_generator.DartGenerator=DartGenerator$$module$build$src$generators$dart$dart_generator;
361
- module$build$src$generators$dart$dart_generator.Order=Order$$module$build$src$generators$dart$dart_generator;var module$build$src$generators$dart$colour={};module$build$src$generators$dart$colour.colour_blend=colour_blend$$module$build$src$generators$dart$colour;module$build$src$generators$dart$colour.colour_picker=colour_picker$$module$build$src$generators$dart$colour;module$build$src$generators$dart$colour.colour_random=colour_random$$module$build$src$generators$dart$colour;module$build$src$generators$dart$colour.colour_rgb=colour_rgb$$module$build$src$generators$dart$colour;var module$build$src$generators$dart$lists={};module$build$src$generators$dart$lists.lists_create_empty=lists_create_empty$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_create_with=lists_create_with$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_getIndex=lists_getIndex$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_getSublist=lists_getSublist$$module$build$src$generators$dart$lists;
311
+ module$build$src$generators$dart$dart_generator.Order=Order$$module$build$src$generators$dart$dart_generator;var module$build$src$generators$dart$lists={};module$build$src$generators$dart$lists.lists_create_empty=lists_create_empty$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_create_with=lists_create_with$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_getIndex=lists_getIndex$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_getSublist=lists_getSublist$$module$build$src$generators$dart$lists;
362
312
  module$build$src$generators$dart$lists.lists_indexOf=lists_indexOf$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_isEmpty=lists_isEmpty$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_length=lists_length$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_repeat=lists_repeat$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_reverse=lists_reverse$$module$build$src$generators$dart$lists;
363
313
  module$build$src$generators$dart$lists.lists_setIndex=lists_setIndex$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_sort=lists_sort$$module$build$src$generators$dart$lists;module$build$src$generators$dart$lists.lists_split=lists_split$$module$build$src$generators$dart$lists;var controls_ifelse$$module$build$src$generators$dart$logic=controls_if$$module$build$src$generators$dart$logic,module$build$src$generators$dart$logic={};module$build$src$generators$dart$logic.controls_if=controls_if$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.controls_ifelse=controls_if$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.logic_boolean=logic_boolean$$module$build$src$generators$dart$logic;
364
314
  module$build$src$generators$dart$logic.logic_compare=logic_compare$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.logic_negate=logic_negate$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.logic_null=logic_null$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.logic_operation=logic_operation$$module$build$src$generators$dart$logic;module$build$src$generators$dart$logic.logic_ternary=logic_ternary$$module$build$src$generators$dart$logic;var controls_repeat$$module$build$src$generators$dart$loops=controls_repeat_ext$$module$build$src$generators$dart$loops,module$build$src$generators$dart$loops={};module$build$src$generators$dart$loops.controls_flow_statements=controls_flow_statements$$module$build$src$generators$dart$loops;module$build$src$generators$dart$loops.controls_for=controls_for$$module$build$src$generators$dart$loops;module$build$src$generators$dart$loops.controls_forEach=controls_forEach$$module$build$src$generators$dart$loops;
@@ -368,9 +318,9 @@ module$build$src$generators$dart$math.math_number_property=math_number_property$
368
318
  module$build$src$generators$dart$math.math_single=math_single$$module$build$src$generators$dart$math;module$build$src$generators$dart$math.math_trig=math_single$$module$build$src$generators$dart$math;var procedures_defnoreturn$$module$build$src$generators$dart$procedures=procedures_defreturn$$module$build$src$generators$dart$procedures,module$build$src$generators$dart$procedures={};module$build$src$generators$dart$procedures.procedures_callnoreturn=procedures_callnoreturn$$module$build$src$generators$dart$procedures;module$build$src$generators$dart$procedures.procedures_callreturn=procedures_callreturn$$module$build$src$generators$dart$procedures;
369
319
  module$build$src$generators$dart$procedures.procedures_defnoreturn=procedures_defreturn$$module$build$src$generators$dart$procedures;module$build$src$generators$dart$procedures.procedures_defreturn=procedures_defreturn$$module$build$src$generators$dart$procedures;module$build$src$generators$dart$procedures.procedures_ifreturn=procedures_ifreturn$$module$build$src$generators$dart$procedures;var text_prompt$$module$build$src$generators$dart$text=text_prompt_ext$$module$build$src$generators$dart$text,module$build$src$generators$dart$text={};module$build$src$generators$dart$text.text=text$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_append=text_append$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_changeCase=text_changeCase$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_charAt=text_charAt$$module$build$src$generators$dart$text;
370
320
  module$build$src$generators$dart$text.text_count=text_count$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_getSubstring=text_getSubstring$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_indexOf=text_indexOf$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_isEmpty=text_isEmpty$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_join=text_join$$module$build$src$generators$dart$text;
371
- module$build$src$generators$dart$text.text_length=text_length$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_multiline=text_multiline$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_print=text_print$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_prompt=text_prompt_ext$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_prompt_ext=text_prompt_ext$$module$build$src$generators$dart$text;
372
- module$build$src$generators$dart$text.text_replace=text_replace$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_reverse=text_reverse$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_trim=text_trim$$module$build$src$generators$dart$text;var module$build$src$generators$dart$variables={};module$build$src$generators$dart$variables.variables_get=variables_get$$module$build$src$generators$dart$variables;module$build$src$generators$dart$variables.variables_set=variables_set$$module$build$src$generators$dart$variables;var module$build$src$generators$dart$variables_dynamic={};module$build$src$generators$dart$variables_dynamic.variables_get_dynamic=variables_get$$module$build$src$generators$dart$variables;module$build$src$generators$dart$variables_dynamic.variables_set_dynamic=variables_set$$module$build$src$generators$dart$variables;var dartGenerator$$module$build$src$generators$dart=new DartGenerator$$module$build$src$generators$dart$dart_generator;dartGenerator$$module$build$src$generators$dart.addReservedWords("Html,Math");
373
- var generators$$module$build$src$generators$dart=Object.assign({},module$build$src$generators$dart$colour,module$build$src$generators$dart$lists,module$build$src$generators$dart$logic,module$build$src$generators$dart$loops,module$build$src$generators$dart$math,module$build$src$generators$dart$procedures,module$build$src$generators$dart$text,module$build$src$generators$dart$variables,module$build$src$generators$dart$variables_dynamic);
321
+ module$build$src$generators$dart$text.text_length=text_length$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_print=text_print$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_prompt=text_prompt_ext$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_prompt_ext=text_prompt_ext$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_replace=text_replace$$module$build$src$generators$dart$text;
322
+ module$build$src$generators$dart$text.text_reverse=text_reverse$$module$build$src$generators$dart$text;module$build$src$generators$dart$text.text_trim=text_trim$$module$build$src$generators$dart$text;var module$build$src$generators$dart$variables={};module$build$src$generators$dart$variables.variables_get=variables_get$$module$build$src$generators$dart$variables;module$build$src$generators$dart$variables.variables_set=variables_set$$module$build$src$generators$dart$variables;var module$build$src$generators$dart$variables_dynamic={};module$build$src$generators$dart$variables_dynamic.variables_get_dynamic=variables_get$$module$build$src$generators$dart$variables;module$build$src$generators$dart$variables_dynamic.variables_set_dynamic=variables_set$$module$build$src$generators$dart$variables;var dartGenerator$$module$build$src$generators$dart=new DartGenerator$$module$build$src$generators$dart$dart_generator;dartGenerator$$module$build$src$generators$dart.addReservedWords("Html,Math");
323
+ var generators$$module$build$src$generators$dart=Object.assign({},module$build$src$generators$dart$lists,module$build$src$generators$dart$logic,module$build$src$generators$dart$loops,module$build$src$generators$dart$math,module$build$src$generators$dart$procedures,module$build$src$generators$dart$text,module$build$src$generators$dart$variables,module$build$src$generators$dart$variables_dynamic);
374
324
  for(const a in generators$$module$build$src$generators$dart)dartGenerator$$module$build$src$generators$dart.forBlock[a]=generators$$module$build$src$generators$dart[a];var module$build$src$generators$dart={};module$build$src$generators$dart.DartGenerator=DartGenerator$$module$build$src$generators$dart$dart_generator;module$build$src$generators$dart.Order=Order$$module$build$src$generators$dart$dart_generator;module$build$src$generators$dart.dartGenerator=dartGenerator$$module$build$src$generators$dart;
375
325
  module$build$src$generators$dart.__namespace__=$;
376
326
  return module$build$src$generators$dart;