@cp949/phyx-blockly 12.5.1-p1

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 (806) hide show
  1. package/README.md +87 -0
  2. package/blockly.min.js +2751 -0
  3. package/blockly.mjs +163 -0
  4. package/blockly_compressed.js +1825 -0
  5. package/blockly_compressed.js.map +1 -0
  6. package/blocks.d.ts +17 -0
  7. package/blocks.js +4 -0
  8. package/blocks.mjs +12 -0
  9. package/blocks_compressed.js +194 -0
  10. package/blocks_compressed.js.map +1 -0
  11. package/core/any_aliases.d.ts +7 -0
  12. package/core/block.d.ts +1006 -0
  13. package/core/block_animations.d.ts +34 -0
  14. package/core/block_flyout_inflater.d.ts +94 -0
  15. package/core/block_svg.d.ts +737 -0
  16. package/core/blockly.d.ts +286 -0
  17. package/core/blockly_options.d.ts +70 -0
  18. package/core/blocks.d.ts +17 -0
  19. package/core/browser_events.d.ts +88 -0
  20. package/core/bubbles/bubble.d.ts +228 -0
  21. package/core/bubbles/mini_workspace_bubble.d.ts +84 -0
  22. package/core/bubbles/text_bubble.d.ts +38 -0
  23. package/core/bubbles/textinput_bubble.d.ts +102 -0
  24. package/core/bubbles.d.ts +11 -0
  25. package/core/bump_objects.d.ts +37 -0
  26. package/core/button_flyout_inflater.d.ts +42 -0
  27. package/core/clipboard/block_paster.d.ts +34 -0
  28. package/core/clipboard/registry.d.ts +21 -0
  29. package/core/clipboard/workspace_comment_paster.d.ts +19 -0
  30. package/core/clipboard.d.ts +103 -0
  31. package/core/comments/collapse_comment_bar_button.d.ts +52 -0
  32. package/core/comments/comment_bar_button.d.ts +62 -0
  33. package/core/comments/comment_editor.d.ts +62 -0
  34. package/core/comments/comment_view.d.ts +213 -0
  35. package/core/comments/delete_comment_bar_button.d.ts +52 -0
  36. package/core/comments/rendered_workspace_comment.d.ts +121 -0
  37. package/core/comments/workspace_comment.d.ts +107 -0
  38. package/core/comments.d.ts +13 -0
  39. package/core/common.d.ts +163 -0
  40. package/core/component_manager.d.ts +112 -0
  41. package/core/config.d.ts +24 -0
  42. package/core/connection.d.ts +291 -0
  43. package/core/connection_checker.d.ts +85 -0
  44. package/core/connection_db.d.ts +100 -0
  45. package/core/connection_type.d.ts +15 -0
  46. package/core/constants.d.ts +19 -0
  47. package/core/contextmenu.d.ts +58 -0
  48. package/core/contextmenu_items.d.ts +73 -0
  49. package/core/contextmenu_registry.d.ts +173 -0
  50. package/core/css.d.ts +25 -0
  51. package/core/delete_area.d.ts +48 -0
  52. package/core/dialog.d.ts +82 -0
  53. package/core/drag_target.d.ts +75 -0
  54. package/core/dragging/block_drag_strategy.d.ts +130 -0
  55. package/core/dragging/bubble_drag_strategy.d.ts +20 -0
  56. package/core/dragging/comment_drag_strategy.d.ts +26 -0
  57. package/core/dragging/dragger.d.ts +49 -0
  58. package/core/dragging.d.ts +11 -0
  59. package/core/dropdowndiv.d.ts +208 -0
  60. package/core/events/events.d.ts +72 -0
  61. package/core/events/events_abstract.d.ts +72 -0
  62. package/core/events/events_block_base.d.ts +46 -0
  63. package/core/events/events_block_change.d.ts +100 -0
  64. package/core/events/events_block_create.d.ts +59 -0
  65. package/core/events/events_block_delete.d.ts +62 -0
  66. package/core/events/events_block_drag.d.ts +61 -0
  67. package/core/events/events_block_field_intermediate_change.d.ts +71 -0
  68. package/core/events/events_block_move.d.ts +115 -0
  69. package/core/events/events_bubble_open.d.ts +62 -0
  70. package/core/events/events_click.d.ts +64 -0
  71. package/core/events/events_comment_base.d.ts +55 -0
  72. package/core/events/events_comment_change.d.ts +64 -0
  73. package/core/events/events_comment_collapse.d.ts +40 -0
  74. package/core/events/events_comment_create.d.ts +57 -0
  75. package/core/events/events_comment_delete.d.ts +57 -0
  76. package/core/events/events_comment_drag.d.ts +51 -0
  77. package/core/events/events_comment_move.d.ts +93 -0
  78. package/core/events/events_comment_resize.d.ts +68 -0
  79. package/core/events/events_selected.d.ts +53 -0
  80. package/core/events/events_theme_change.d.ts +43 -0
  81. package/core/events/events_toolbox_item_select.d.ts +49 -0
  82. package/core/events/events_trashcan_open.d.ts +47 -0
  83. package/core/events/events_ui_base.d.ts +32 -0
  84. package/core/events/events_var_base.d.ts +46 -0
  85. package/core/events/events_var_create.d.ts +55 -0
  86. package/core/events/events_var_delete.d.ts +50 -0
  87. package/core/events/events_var_rename.d.ts +51 -0
  88. package/core/events/events_var_type_change.d.ts +55 -0
  89. package/core/events/events_viewport.d.ts +67 -0
  90. package/core/events/predicates.d.ts +87 -0
  91. package/core/events/type.d.ts +81 -0
  92. package/core/events/utils.d.ts +211 -0
  93. package/core/events/workspace_events.d.ts +23 -0
  94. package/core/extensions.d.ts +99 -0
  95. package/core/field.d.ts +724 -0
  96. package/core/field_checkbox.d.ts +156 -0
  97. package/core/field_dropdown.d.ts +295 -0
  98. package/core/field_image.d.ts +148 -0
  99. package/core/field_input.d.ts +293 -0
  100. package/core/field_label.d.ts +80 -0
  101. package/core/field_label_serializable.d.ts +50 -0
  102. package/core/field_number.d.ts +194 -0
  103. package/core/field_registry.d.ts +83 -0
  104. package/core/field_textinput.d.ts +78 -0
  105. package/core/field_variable.d.ts +261 -0
  106. package/core/flyout_base.d.ts +453 -0
  107. package/core/flyout_button.d.ts +140 -0
  108. package/core/flyout_horizontal.d.ts +87 -0
  109. package/core/flyout_item.d.ts +26 -0
  110. package/core/flyout_metrics_manager.d.ts +46 -0
  111. package/core/flyout_navigator.d.ts +11 -0
  112. package/core/flyout_separator.d.ts +64 -0
  113. package/core/flyout_vertical.d.ts +88 -0
  114. package/core/focus_manager.d.ts +266 -0
  115. package/core/generator.d.ts +279 -0
  116. package/core/gesture.d.ts +449 -0
  117. package/core/grid.d.ts +124 -0
  118. package/core/icons/comment_icon.d.ts +134 -0
  119. package/core/icons/exceptions.d.ts +17 -0
  120. package/core/icons/icon.d.ts +84 -0
  121. package/core/icons/icon_types.d.ts +25 -0
  122. package/core/icons/mutator_icon.d.ts +96 -0
  123. package/core/icons/registry.d.ts +23 -0
  124. package/core/icons/warning_icon.d.ts +77 -0
  125. package/core/icons.d.ts +14 -0
  126. package/core/inject.d.ts +16 -0
  127. package/core/inputs/align.d.ts +14 -0
  128. package/core/inputs/dummy_input.d.ts +20 -0
  129. package/core/inputs/end_row_input.d.ts +25 -0
  130. package/core/inputs/input.d.ts +147 -0
  131. package/core/inputs/input_types.d.ts +16 -0
  132. package/core/inputs/statement_input.d.ts +22 -0
  133. package/core/inputs/value_input.d.ts +20 -0
  134. package/core/inputs.d.ts +14 -0
  135. package/core/insertion_marker_previewer.d.ts +67 -0
  136. package/core/interfaces/i_autohideable.d.ts +21 -0
  137. package/core/interfaces/i_bounded_element.d.ts +27 -0
  138. package/core/interfaces/i_bubble.d.ts +55 -0
  139. package/core/interfaces/i_collapsible_toolbox_item.d.ts +28 -0
  140. package/core/interfaces/i_comment_icon.d.ts +24 -0
  141. package/core/interfaces/i_component.d.ts +17 -0
  142. package/core/interfaces/i_connection_checker.d.ts +75 -0
  143. package/core/interfaces/i_connection_previewer.d.ts +39 -0
  144. package/core/interfaces/i_contextmenu.d.ts +16 -0
  145. package/core/interfaces/i_copyable.d.ts +30 -0
  146. package/core/interfaces/i_deletable.d.ts +23 -0
  147. package/core/interfaces/i_delete_area.d.ts +25 -0
  148. package/core/interfaces/i_drag_target.d.ts +59 -0
  149. package/core/interfaces/i_draggable.d.ts +56 -0
  150. package/core/interfaces/i_dragger.d.ts +32 -0
  151. package/core/interfaces/i_flyout.d.ts +159 -0
  152. package/core/interfaces/i_flyout_inflater.d.ts +48 -0
  153. package/core/interfaces/i_focusable_node.d.ts +105 -0
  154. package/core/interfaces/i_focusable_tree.d.ts +125 -0
  155. package/core/interfaces/i_has_bubble.d.ts +27 -0
  156. package/core/interfaces/i_icon.d.ts +84 -0
  157. package/core/interfaces/i_keyboard_accessible.d.ts +19 -0
  158. package/core/interfaces/i_legacy_procedure_blocks.d.ts +34 -0
  159. package/core/interfaces/i_metrics_manager.d.ts +129 -0
  160. package/core/interfaces/i_movable.d.ts +17 -0
  161. package/core/interfaces/i_navigation_policy.d.ts +63 -0
  162. package/core/interfaces/i_observable.d.ts +21 -0
  163. package/core/interfaces/i_parameter_model.d.ts +44 -0
  164. package/core/interfaces/i_paster.d.ts +15 -0
  165. package/core/interfaces/i_positionable.d.ts +29 -0
  166. package/core/interfaces/i_procedure_block.d.ts +16 -0
  167. package/core/interfaces/i_procedure_map.d.ts +16 -0
  168. package/core/interfaces/i_procedure_model.d.ts +59 -0
  169. package/core/interfaces/i_registrable.d.ts +11 -0
  170. package/core/interfaces/i_rendered_element.d.ts +16 -0
  171. package/core/interfaces/i_selectable.d.ts +26 -0
  172. package/core/interfaces/i_selectable_toolbox_item.d.ts +51 -0
  173. package/core/interfaces/i_serializable.d.ts +24 -0
  174. package/core/interfaces/i_serializer.d.ts +45 -0
  175. package/core/interfaces/i_styleable.d.ts +23 -0
  176. package/core/interfaces/i_toolbox.d.ts +102 -0
  177. package/core/interfaces/i_toolbox_item.d.ts +71 -0
  178. package/core/interfaces/i_variable_backed_parameter_model.d.ts +17 -0
  179. package/core/interfaces/i_variable_map.d.ts +48 -0
  180. package/core/interfaces/i_variable_model.d.ts +36 -0
  181. package/core/internal_constants.d.ts +34 -0
  182. package/core/keyboard_nav/block_comment_navigation_policy.d.ts +56 -0
  183. package/core/keyboard_nav/block_navigation_policy.d.ts +84 -0
  184. package/core/keyboard_nav/comment_bar_button_navigation_policy.d.ts +56 -0
  185. package/core/keyboard_nav/comment_editor_navigation_policy.d.ts +34 -0
  186. package/core/keyboard_nav/connection_navigation_policy.d.ts +67 -0
  187. package/core/keyboard_nav/field_navigation_policy.d.ts +56 -0
  188. package/core/keyboard_nav/flyout_button_navigation_policy.d.ts +56 -0
  189. package/core/keyboard_nav/flyout_navigation_policy.d.ts +65 -0
  190. package/core/keyboard_nav/flyout_separator_navigation_policy.d.ts +33 -0
  191. package/core/keyboard_nav/icon_navigation_policy.d.ts +56 -0
  192. package/core/keyboard_nav/line_cursor.d.ts +187 -0
  193. package/core/keyboard_nav/marker.d.ts +53 -0
  194. package/core/keyboard_nav/workspace_comment_navigation_policy.d.ts +56 -0
  195. package/core/keyboard_nav/workspace_navigation_policy.d.ts +56 -0
  196. package/core/keyboard_navigation_controller.d.ts +48 -0
  197. package/core/label_flyout_inflater.d.ts +42 -0
  198. package/core/layer_manager.d.ts +101 -0
  199. package/core/layers.d.ts +16 -0
  200. package/core/main.d.ts +7 -0
  201. package/core/marker_manager.d.ts +72 -0
  202. package/core/menu.d.ts +170 -0
  203. package/core/menu_separator.d.ts +25 -0
  204. package/core/menuitem.d.ts +147 -0
  205. package/core/metrics_manager.d.ts +221 -0
  206. package/core/msg.d.ts +24 -0
  207. package/core/names.d.ts +139 -0
  208. package/core/navigator.d.ts +65 -0
  209. package/core/observable_procedure_map.d.ts +34 -0
  210. package/core/options.d.ts +148 -0
  211. package/core/positionable_helpers.d.ts +89 -0
  212. package/core/procedures.d.ts +108 -0
  213. package/core/registry.d.ts +158 -0
  214. package/core/render_management.d.ts +34 -0
  215. package/core/rendered_connection.d.ts +262 -0
  216. package/core/renderers/common/block_rendering.d.ts +63 -0
  217. package/core/renderers/common/constants.d.ts +454 -0
  218. package/core/renderers/common/drawer.d.ts +156 -0
  219. package/core/renderers/common/i_path_object.d.ts +88 -0
  220. package/core/renderers/common/info.d.ts +201 -0
  221. package/core/renderers/common/path_object.d.ts +130 -0
  222. package/core/renderers/common/renderer.d.ts +141 -0
  223. package/core/renderers/geras/constants.d.ts +22 -0
  224. package/core/renderers/geras/drawer.d.ts +44 -0
  225. package/core/renderers/geras/geras.d.ts +17 -0
  226. package/core/renderers/geras/highlight_constants.d.ts +100 -0
  227. package/core/renderers/geras/highlighter.d.ts +96 -0
  228. package/core/renderers/geras/info.d.ts +45 -0
  229. package/core/renderers/geras/measurables/inline_input.d.ts +22 -0
  230. package/core/renderers/geras/measurables/statement_input.d.ts +22 -0
  231. package/core/renderers/geras/path_object.d.ts +42 -0
  232. package/core/renderers/geras/renderer.d.ts +77 -0
  233. package/core/renderers/measurables/base.d.ts +26 -0
  234. package/core/renderers/measurables/bottom_row.d.ts +58 -0
  235. package/core/renderers/measurables/connection.d.ts +25 -0
  236. package/core/renderers/measurables/external_value_input.d.ts +25 -0
  237. package/core/renderers/measurables/field.d.ts +28 -0
  238. package/core/renderers/measurables/hat.d.ts +19 -0
  239. package/core/renderers/measurables/icon.d.ts +25 -0
  240. package/core/renderers/measurables/in_row_spacer.d.ts +20 -0
  241. package/core/renderers/measurables/inline_input.d.ts +22 -0
  242. package/core/renderers/measurables/input_connection.d.ts +28 -0
  243. package/core/renderers/measurables/input_row.d.ts +26 -0
  244. package/core/renderers/measurables/jagged_edge.d.ts +19 -0
  245. package/core/renderers/measurables/next_connection.d.ts +22 -0
  246. package/core/renderers/measurables/output_connection.d.ts +24 -0
  247. package/core/renderers/measurables/previous_connection.d.ts +22 -0
  248. package/core/renderers/measurables/round_corner.d.ts +20 -0
  249. package/core/renderers/measurables/row.d.ts +124 -0
  250. package/core/renderers/measurables/spacer_row.d.ts +27 -0
  251. package/core/renderers/measurables/square_corner.d.ts +20 -0
  252. package/core/renderers/measurables/statement_input.d.ts +21 -0
  253. package/core/renderers/measurables/top_row.d.ts +53 -0
  254. package/core/renderers/measurables/types.d.ts +258 -0
  255. package/core/renderers/thrasos/info.d.ts +37 -0
  256. package/core/renderers/thrasos/renderer.d.ts +28 -0
  257. package/core/renderers/thrasos/thrasos.d.ts +10 -0
  258. package/core/renderers/zelos/constants.d.ts +165 -0
  259. package/core/renderers/zelos/drawer.d.ts +51 -0
  260. package/core/renderers/zelos/info.d.ts +89 -0
  261. package/core/renderers/zelos/measurables/bottom_row.d.ts +26 -0
  262. package/core/renderers/zelos/measurables/inputs.d.ts +21 -0
  263. package/core/renderers/zelos/measurables/row_elements.d.ts +20 -0
  264. package/core/renderers/zelos/measurables/top_row.d.ts +28 -0
  265. package/core/renderers/zelos/path_object.d.ts +76 -0
  266. package/core/renderers/zelos/renderer.d.ts +64 -0
  267. package/core/renderers/zelos/zelos.d.ts +17 -0
  268. package/core/scrollbar.d.ts +348 -0
  269. package/core/scrollbar_pair.d.ts +121 -0
  270. package/core/separator_flyout_inflater.d.ts +57 -0
  271. package/core/serialization/blocks.d.ts +138 -0
  272. package/core/serialization/exceptions.d.ts +81 -0
  273. package/core/serialization/priorities.d.ts +20 -0
  274. package/core/serialization/procedures.d.ts +97 -0
  275. package/core/serialization/registry.d.ts +21 -0
  276. package/core/serialization/variables.d.ts +38 -0
  277. package/core/serialization/workspace_comments.d.ts +45 -0
  278. package/core/serialization/workspaces.d.ts +29 -0
  279. package/core/serialization.d.ts +19 -0
  280. package/core/shortcut_items.d.ts +59 -0
  281. package/core/shortcut_registry.d.ts +236 -0
  282. package/core/sprites.d.ts +15 -0
  283. package/core/theme/classic.d.ts +12 -0
  284. package/core/theme/themes.d.ts +9 -0
  285. package/core/theme/zelos.d.ts +11 -0
  286. package/core/theme.d.ts +151 -0
  287. package/core/theme_manager.d.ts +92 -0
  288. package/core/toast.d.ts +74 -0
  289. package/core/toolbox/category.d.ts +265 -0
  290. package/core/toolbox/collapsible_category.d.ts +99 -0
  291. package/core/toolbox/separator.d.ts +40 -0
  292. package/core/toolbox/toolbox.d.ts +419 -0
  293. package/core/toolbox/toolbox_item.d.ts +109 -0
  294. package/core/tooltip.d.ts +118 -0
  295. package/core/touch.d.ts +72 -0
  296. package/core/trashcan.d.ts +212 -0
  297. package/core/utils/aria.d.ts +69 -0
  298. package/core/utils/array.d.ts +15 -0
  299. package/core/utils/colour.d.ts +102 -0
  300. package/core/utils/coordinate.d.ts +87 -0
  301. package/core/utils/deprecation.d.ts +18 -0
  302. package/core/utils/dom.d.ts +154 -0
  303. package/core/utils/drag.d.ts +33 -0
  304. package/core/utils/focusable_tree_traverser.d.ts +53 -0
  305. package/core/utils/idgenerator.d.ts +33 -0
  306. package/core/utils/keycodes.d.ts +137 -0
  307. package/core/utils/math.d.ts +31 -0
  308. package/core/utils/metrics.d.ts +64 -0
  309. package/core/utils/object.d.ts +17 -0
  310. package/core/utils/parsing.d.ts +52 -0
  311. package/core/utils/rect.d.ts +82 -0
  312. package/core/utils/size.d.ts +44 -0
  313. package/core/utils/string.d.ts +46 -0
  314. package/core/utils/style.d.ts +89 -0
  315. package/core/utils/svg.d.ts +75 -0
  316. package/core/utils/svg_math.d.ts +64 -0
  317. package/core/utils/svg_paths.d.ts +103 -0
  318. package/core/utils/toolbox.d.ts +180 -0
  319. package/core/utils/useragent.d.ts +14 -0
  320. package/core/utils/xml.d.ts +96 -0
  321. package/core/utils.d.ts +31 -0
  322. package/core/variable_map.d.ts +164 -0
  323. package/core/variable_model.d.ts +73 -0
  324. package/core/variables.d.ts +238 -0
  325. package/core/variables_dynamic.d.ts +56 -0
  326. package/core/widgetdiv.d.ts +87 -0
  327. package/core/workspace.d.ts +482 -0
  328. package/core/workspace_audio.d.ts +62 -0
  329. package/core/workspace_dragger.d.ts +48 -0
  330. package/core/workspace_svg.d.ts +1103 -0
  331. package/core/xml.d.ts +127 -0
  332. package/core/zoom_controls.d.ts +134 -0
  333. package/core-node.js +31 -0
  334. package/core.d.ts +7 -0
  335. package/core.js +4 -0
  336. package/dart.d.ts +7 -0
  337. package/dart.js +4 -0
  338. package/dart.mjs +6 -0
  339. package/dart_compressed.js +330 -0
  340. package/dart_compressed.js.map +1 -0
  341. package/generators/dart/dart_generator.d.ts +104 -0
  342. package/generators/dart/lists.d.ts +21 -0
  343. package/generators/dart/logic.d.ts +20 -0
  344. package/generators/dart/loops.d.ts +14 -0
  345. package/generators/dart/math.d.ts +26 -0
  346. package/generators/dart/procedures.d.ts +14 -0
  347. package/generators/dart/text.d.ts +25 -0
  348. package/generators/dart/variables.d.ts +14 -0
  349. package/generators/dart/variables_dynamic.d.ts +10 -0
  350. package/generators/dart.d.ts +18 -0
  351. package/generators/javascript/javascript_generator.d.ts +123 -0
  352. package/generators/javascript/lists.d.ts +21 -0
  353. package/generators/javascript/logic.d.ts +20 -0
  354. package/generators/javascript/loops.d.ts +14 -0
  355. package/generators/javascript/math.d.ts +26 -0
  356. package/generators/javascript/procedures.d.ts +17 -0
  357. package/generators/javascript/text.d.ts +25 -0
  358. package/generators/javascript/variables.d.ts +14 -0
  359. package/generators/javascript/variables_dynamic.d.ts +10 -0
  360. package/generators/javascript.d.ts +18 -0
  361. package/generators/lua/lists.d.ts +21 -0
  362. package/generators/lua/logic.d.ts +20 -0
  363. package/generators/lua/loops.d.ts +14 -0
  364. package/generators/lua/lua_generator.d.ts +91 -0
  365. package/generators/lua/math.d.ts +26 -0
  366. package/generators/lua/procedures.d.ts +14 -0
  367. package/generators/lua/text.d.ts +25 -0
  368. package/generators/lua/variables.d.ts +14 -0
  369. package/generators/lua/variables_dynamic.d.ts +10 -0
  370. package/generators/lua.d.ts +12 -0
  371. package/generators/php/lists.d.ts +21 -0
  372. package/generators/php/logic.d.ts +20 -0
  373. package/generators/php/loops.d.ts +14 -0
  374. package/generators/php/math.d.ts +26 -0
  375. package/generators/php/php_generator.d.ts +122 -0
  376. package/generators/php/procedures.d.ts +14 -0
  377. package/generators/php/text.d.ts +25 -0
  378. package/generators/php/variables.d.ts +14 -0
  379. package/generators/php/variables_dynamic.d.ts +10 -0
  380. package/generators/php.d.ts +13 -0
  381. package/generators/python/lists.d.ts +21 -0
  382. package/generators/python/logic.d.ts +20 -0
  383. package/generators/python/loops.d.ts +14 -0
  384. package/generators/python/math.d.ts +26 -0
  385. package/generators/python/procedures.d.ts +14 -0
  386. package/generators/python/python_generator.d.ts +111 -0
  387. package/generators/python/text.d.ts +25 -0
  388. package/generators/python/variables.d.ts +14 -0
  389. package/generators/python/variables_dynamic.d.ts +10 -0
  390. package/generators/python.d.ts +13 -0
  391. package/index.d.ts +10 -0
  392. package/index.js +36 -0
  393. package/index.mjs +163 -0
  394. package/javascript.d.ts +7 -0
  395. package/javascript.js +4 -0
  396. package/javascript.mjs +6 -0
  397. package/javascript_compressed.js +264 -0
  398. package/javascript_compressed.js.map +1 -0
  399. package/lua.d.ts +7 -0
  400. package/lua.js +4 -0
  401. package/lua.mjs +6 -0
  402. package/lua_compressed.js +373 -0
  403. package/lua_compressed.js.map +1 -0
  404. package/media/1x1.gif +0 -0
  405. package/media/click.mp3 +0 -0
  406. package/media/delete-icon.svg +1 -0
  407. package/media/delete.mp3 +0 -0
  408. package/media/disconnect.mp3 +0 -0
  409. package/media/dropdown-arrow.svg +1 -0
  410. package/media/foldout-icon.svg +1 -0
  411. package/media/handclosed.cur +0 -0
  412. package/media/handdelete.cur +0 -0
  413. package/media/handopen.cur +0 -0
  414. package/media/pilcrow.png +0 -0
  415. package/media/quote0.png +0 -0
  416. package/media/quote1.png +0 -0
  417. package/media/resize-handle.svg +3 -0
  418. package/media/sprites.png +0 -0
  419. package/media/sprites.svg +74 -0
  420. package/msg/ab.d.ts +8 -0
  421. package/msg/ab.js +465 -0
  422. package/msg/ab.mjs +446 -0
  423. package/msg/ace.d.ts +8 -0
  424. package/msg/ace.js +465 -0
  425. package/msg/ace.mjs +446 -0
  426. package/msg/af.d.ts +8 -0
  427. package/msg/af.js +465 -0
  428. package/msg/af.mjs +446 -0
  429. package/msg/am.d.ts +8 -0
  430. package/msg/am.js +465 -0
  431. package/msg/am.mjs +446 -0
  432. package/msg/ar.d.ts +8 -0
  433. package/msg/ar.js +465 -0
  434. package/msg/ar.mjs +446 -0
  435. package/msg/ast.d.ts +8 -0
  436. package/msg/ast.js +465 -0
  437. package/msg/ast.mjs +446 -0
  438. package/msg/az.d.ts +8 -0
  439. package/msg/az.js +465 -0
  440. package/msg/az.mjs +446 -0
  441. package/msg/ba.d.ts +8 -0
  442. package/msg/ba.js +465 -0
  443. package/msg/ba.mjs +446 -0
  444. package/msg/bcc.d.ts +8 -0
  445. package/msg/bcc.js +465 -0
  446. package/msg/bcc.mjs +446 -0
  447. package/msg/be-tarask.d.ts +8 -0
  448. package/msg/be-tarask.js +465 -0
  449. package/msg/be-tarask.mjs +446 -0
  450. package/msg/be.d.ts +8 -0
  451. package/msg/be.js +465 -0
  452. package/msg/be.mjs +446 -0
  453. package/msg/bg.d.ts +8 -0
  454. package/msg/bg.js +465 -0
  455. package/msg/bg.mjs +446 -0
  456. package/msg/bn.d.ts +8 -0
  457. package/msg/bn.js +465 -0
  458. package/msg/bn.mjs +446 -0
  459. package/msg/br.d.ts +8 -0
  460. package/msg/br.js +465 -0
  461. package/msg/br.mjs +446 -0
  462. package/msg/bs.d.ts +8 -0
  463. package/msg/bs.js +465 -0
  464. package/msg/bs.mjs +446 -0
  465. package/msg/ca.d.ts +8 -0
  466. package/msg/ca.js +465 -0
  467. package/msg/ca.mjs +446 -0
  468. package/msg/cdo.d.ts +8 -0
  469. package/msg/cdo.js +465 -0
  470. package/msg/cdo.mjs +446 -0
  471. package/msg/ce.d.ts +8 -0
  472. package/msg/ce.js +465 -0
  473. package/msg/ce.mjs +446 -0
  474. package/msg/cs.d.ts +8 -0
  475. package/msg/cs.js +465 -0
  476. package/msg/cs.mjs +446 -0
  477. package/msg/da.d.ts +8 -0
  478. package/msg/da.js +465 -0
  479. package/msg/da.mjs +446 -0
  480. package/msg/de.d.ts +8 -0
  481. package/msg/de.js +465 -0
  482. package/msg/de.mjs +446 -0
  483. package/msg/diq.d.ts +8 -0
  484. package/msg/diq.js +465 -0
  485. package/msg/diq.mjs +446 -0
  486. package/msg/dtp.d.ts +8 -0
  487. package/msg/dtp.js +465 -0
  488. package/msg/dtp.mjs +446 -0
  489. package/msg/dty.d.ts +8 -0
  490. package/msg/dty.js +465 -0
  491. package/msg/dty.mjs +446 -0
  492. package/msg/ee.d.ts +8 -0
  493. package/msg/ee.js +465 -0
  494. package/msg/ee.mjs +446 -0
  495. package/msg/el.d.ts +8 -0
  496. package/msg/el.js +465 -0
  497. package/msg/el.mjs +446 -0
  498. package/msg/en-gb.d.ts +8 -0
  499. package/msg/en-gb.js +465 -0
  500. package/msg/en-gb.mjs +446 -0
  501. package/msg/en.d.ts +8 -0
  502. package/msg/en.js +465 -0
  503. package/msg/en.mjs +446 -0
  504. package/msg/eo.d.ts +8 -0
  505. package/msg/eo.js +465 -0
  506. package/msg/eo.mjs +446 -0
  507. package/msg/es.d.ts +8 -0
  508. package/msg/es.js +465 -0
  509. package/msg/es.mjs +446 -0
  510. package/msg/et.d.ts +8 -0
  511. package/msg/et.js +465 -0
  512. package/msg/et.mjs +446 -0
  513. package/msg/eu.d.ts +8 -0
  514. package/msg/eu.js +465 -0
  515. package/msg/eu.mjs +446 -0
  516. package/msg/fa.d.ts +8 -0
  517. package/msg/fa.js +465 -0
  518. package/msg/fa.mjs +446 -0
  519. package/msg/fi.d.ts +8 -0
  520. package/msg/fi.js +465 -0
  521. package/msg/fi.mjs +446 -0
  522. package/msg/fo.d.ts +8 -0
  523. package/msg/fo.js +465 -0
  524. package/msg/fo.mjs +446 -0
  525. package/msg/fr.d.ts +8 -0
  526. package/msg/fr.js +465 -0
  527. package/msg/fr.mjs +446 -0
  528. package/msg/frr.d.ts +8 -0
  529. package/msg/frr.js +465 -0
  530. package/msg/frr.mjs +446 -0
  531. package/msg/gl.d.ts +8 -0
  532. package/msg/gl.js +465 -0
  533. package/msg/gl.mjs +446 -0
  534. package/msg/gn.d.ts +8 -0
  535. package/msg/gn.js +465 -0
  536. package/msg/gn.mjs +446 -0
  537. package/msg/gor.d.ts +8 -0
  538. package/msg/gor.js +465 -0
  539. package/msg/gor.mjs +446 -0
  540. package/msg/ha.d.ts +8 -0
  541. package/msg/ha.js +465 -0
  542. package/msg/ha.mjs +446 -0
  543. package/msg/hak.d.ts +8 -0
  544. package/msg/hak.js +465 -0
  545. package/msg/hak.mjs +446 -0
  546. package/msg/he.d.ts +8 -0
  547. package/msg/he.js +465 -0
  548. package/msg/he.mjs +446 -0
  549. package/msg/hi.d.ts +8 -0
  550. package/msg/hi.js +465 -0
  551. package/msg/hi.mjs +446 -0
  552. package/msg/hr.d.ts +8 -0
  553. package/msg/hr.js +465 -0
  554. package/msg/hr.mjs +446 -0
  555. package/msg/hrx.d.ts +8 -0
  556. package/msg/hrx.js +465 -0
  557. package/msg/hrx.mjs +446 -0
  558. package/msg/hsb.d.ts +8 -0
  559. package/msg/hsb.js +465 -0
  560. package/msg/hsb.mjs +446 -0
  561. package/msg/hu.d.ts +8 -0
  562. package/msg/hu.js +465 -0
  563. package/msg/hu.mjs +446 -0
  564. package/msg/hy.d.ts +8 -0
  565. package/msg/hy.js +465 -0
  566. package/msg/hy.mjs +446 -0
  567. package/msg/ia.d.ts +8 -0
  568. package/msg/ia.js +465 -0
  569. package/msg/ia.mjs +446 -0
  570. package/msg/id.d.ts +8 -0
  571. package/msg/id.js +465 -0
  572. package/msg/id.mjs +446 -0
  573. package/msg/ig.d.ts +8 -0
  574. package/msg/ig.js +465 -0
  575. package/msg/ig.mjs +446 -0
  576. package/msg/inh.d.ts +8 -0
  577. package/msg/inh.js +465 -0
  578. package/msg/inh.mjs +446 -0
  579. package/msg/is.d.ts +8 -0
  580. package/msg/is.js +465 -0
  581. package/msg/is.mjs +446 -0
  582. package/msg/it.d.ts +8 -0
  583. package/msg/it.js +465 -0
  584. package/msg/it.mjs +446 -0
  585. package/msg/ja.d.ts +8 -0
  586. package/msg/ja.js +465 -0
  587. package/msg/ja.mjs +446 -0
  588. package/msg/ka.d.ts +8 -0
  589. package/msg/ka.js +465 -0
  590. package/msg/ka.mjs +446 -0
  591. package/msg/kab.d.ts +8 -0
  592. package/msg/kab.js +465 -0
  593. package/msg/kab.mjs +446 -0
  594. package/msg/kbd-cyrl.d.ts +8 -0
  595. package/msg/kbd-cyrl.js +465 -0
  596. package/msg/kbd-cyrl.mjs +446 -0
  597. package/msg/km.d.ts +8 -0
  598. package/msg/km.js +465 -0
  599. package/msg/km.mjs +446 -0
  600. package/msg/kn.d.ts +8 -0
  601. package/msg/kn.js +465 -0
  602. package/msg/kn.mjs +446 -0
  603. package/msg/ko.d.ts +8 -0
  604. package/msg/ko.js +465 -0
  605. package/msg/ko.mjs +446 -0
  606. package/msg/ksh.d.ts +8 -0
  607. package/msg/ksh.js +465 -0
  608. package/msg/ksh.mjs +446 -0
  609. package/msg/ku-latn.d.ts +8 -0
  610. package/msg/ku-latn.js +465 -0
  611. package/msg/ku-latn.mjs +446 -0
  612. package/msg/ky.d.ts +8 -0
  613. package/msg/ky.js +465 -0
  614. package/msg/ky.mjs +446 -0
  615. package/msg/la.d.ts +8 -0
  616. package/msg/la.js +465 -0
  617. package/msg/la.mjs +446 -0
  618. package/msg/lb.d.ts +8 -0
  619. package/msg/lb.js +465 -0
  620. package/msg/lb.mjs +446 -0
  621. package/msg/lki.d.ts +8 -0
  622. package/msg/lki.js +465 -0
  623. package/msg/lki.mjs +446 -0
  624. package/msg/lo.d.ts +8 -0
  625. package/msg/lo.js +465 -0
  626. package/msg/lo.mjs +446 -0
  627. package/msg/lrc.d.ts +8 -0
  628. package/msg/lrc.js +465 -0
  629. package/msg/lrc.mjs +446 -0
  630. package/msg/lt.d.ts +8 -0
  631. package/msg/lt.js +465 -0
  632. package/msg/lt.mjs +446 -0
  633. package/msg/lv.d.ts +8 -0
  634. package/msg/lv.js +465 -0
  635. package/msg/lv.mjs +446 -0
  636. package/msg/mg.d.ts +8 -0
  637. package/msg/mg.js +465 -0
  638. package/msg/mg.mjs +446 -0
  639. package/msg/mk.d.ts +8 -0
  640. package/msg/mk.js +465 -0
  641. package/msg/mk.mjs +446 -0
  642. package/msg/ml.d.ts +8 -0
  643. package/msg/ml.js +465 -0
  644. package/msg/ml.mjs +446 -0
  645. package/msg/mnw.d.ts +8 -0
  646. package/msg/mnw.js +465 -0
  647. package/msg/mnw.mjs +446 -0
  648. package/msg/ms.d.ts +8 -0
  649. package/msg/ms.js +465 -0
  650. package/msg/ms.mjs +446 -0
  651. package/msg/msg.d.ts +440 -0
  652. package/msg/my.d.ts +8 -0
  653. package/msg/my.js +465 -0
  654. package/msg/my.mjs +446 -0
  655. package/msg/mzn.d.ts +8 -0
  656. package/msg/mzn.js +465 -0
  657. package/msg/mzn.mjs +446 -0
  658. package/msg/nb.d.ts +8 -0
  659. package/msg/nb.js +465 -0
  660. package/msg/nb.mjs +446 -0
  661. package/msg/ne.d.ts +8 -0
  662. package/msg/ne.js +465 -0
  663. package/msg/ne.mjs +446 -0
  664. package/msg/nl.d.ts +8 -0
  665. package/msg/nl.js +465 -0
  666. package/msg/nl.mjs +446 -0
  667. package/msg/oc.d.ts +8 -0
  668. package/msg/oc.js +465 -0
  669. package/msg/oc.mjs +446 -0
  670. package/msg/olo.d.ts +8 -0
  671. package/msg/olo.js +465 -0
  672. package/msg/olo.mjs +446 -0
  673. package/msg/pa.d.ts +8 -0
  674. package/msg/pa.js +465 -0
  675. package/msg/pa.mjs +446 -0
  676. package/msg/pl.d.ts +8 -0
  677. package/msg/pl.js +465 -0
  678. package/msg/pl.mjs +446 -0
  679. package/msg/pms.d.ts +8 -0
  680. package/msg/pms.js +465 -0
  681. package/msg/pms.mjs +446 -0
  682. package/msg/ps.d.ts +8 -0
  683. package/msg/ps.js +465 -0
  684. package/msg/ps.mjs +446 -0
  685. package/msg/pt-br.d.ts +8 -0
  686. package/msg/pt-br.js +465 -0
  687. package/msg/pt-br.mjs +446 -0
  688. package/msg/pt.d.ts +8 -0
  689. package/msg/pt.js +465 -0
  690. package/msg/pt.mjs +446 -0
  691. package/msg/ro.d.ts +8 -0
  692. package/msg/ro.js +465 -0
  693. package/msg/ro.mjs +446 -0
  694. package/msg/ru.d.ts +8 -0
  695. package/msg/ru.js +465 -0
  696. package/msg/ru.mjs +446 -0
  697. package/msg/sc.d.ts +8 -0
  698. package/msg/sc.js +465 -0
  699. package/msg/sc.mjs +446 -0
  700. package/msg/sco.d.ts +8 -0
  701. package/msg/sco.js +465 -0
  702. package/msg/sco.mjs +446 -0
  703. package/msg/sd.d.ts +8 -0
  704. package/msg/sd.js +465 -0
  705. package/msg/sd.mjs +446 -0
  706. package/msg/shn.d.ts +8 -0
  707. package/msg/shn.js +465 -0
  708. package/msg/shn.mjs +446 -0
  709. package/msg/si.d.ts +8 -0
  710. package/msg/si.js +465 -0
  711. package/msg/si.mjs +446 -0
  712. package/msg/sk.d.ts +8 -0
  713. package/msg/sk.js +465 -0
  714. package/msg/sk.mjs +446 -0
  715. package/msg/skr-arab.d.ts +8 -0
  716. package/msg/skr-arab.js +465 -0
  717. package/msg/skr-arab.mjs +446 -0
  718. package/msg/sl.d.ts +8 -0
  719. package/msg/sl.js +465 -0
  720. package/msg/sl.mjs +446 -0
  721. package/msg/smn.d.ts +8 -0
  722. package/msg/smn.js +465 -0
  723. package/msg/smn.mjs +446 -0
  724. package/msg/sq.d.ts +8 -0
  725. package/msg/sq.js +465 -0
  726. package/msg/sq.mjs +446 -0
  727. package/msg/sr-latn.d.ts +8 -0
  728. package/msg/sr-latn.js +465 -0
  729. package/msg/sr-latn.mjs +446 -0
  730. package/msg/sr.d.ts +8 -0
  731. package/msg/sr.js +465 -0
  732. package/msg/sr.mjs +446 -0
  733. package/msg/sv.d.ts +8 -0
  734. package/msg/sv.js +465 -0
  735. package/msg/sv.mjs +446 -0
  736. package/msg/sw.d.ts +8 -0
  737. package/msg/sw.js +465 -0
  738. package/msg/sw.mjs +446 -0
  739. package/msg/ta.d.ts +8 -0
  740. package/msg/ta.js +465 -0
  741. package/msg/ta.mjs +446 -0
  742. package/msg/tcy.d.ts +8 -0
  743. package/msg/tcy.js +465 -0
  744. package/msg/tcy.mjs +446 -0
  745. package/msg/tdd.d.ts +8 -0
  746. package/msg/tdd.js +465 -0
  747. package/msg/tdd.mjs +446 -0
  748. package/msg/te.d.ts +8 -0
  749. package/msg/te.js +465 -0
  750. package/msg/te.mjs +446 -0
  751. package/msg/th.d.ts +8 -0
  752. package/msg/th.js +465 -0
  753. package/msg/th.mjs +446 -0
  754. package/msg/ti.d.ts +8 -0
  755. package/msg/ti.js +465 -0
  756. package/msg/ti.mjs +446 -0
  757. package/msg/tl.d.ts +8 -0
  758. package/msg/tl.js +465 -0
  759. package/msg/tl.mjs +446 -0
  760. package/msg/tlh.d.ts +8 -0
  761. package/msg/tlh.js +465 -0
  762. package/msg/tlh.mjs +446 -0
  763. package/msg/tr.d.ts +8 -0
  764. package/msg/tr.js +465 -0
  765. package/msg/tr.mjs +446 -0
  766. package/msg/ug-arab.d.ts +8 -0
  767. package/msg/ug-arab.js +465 -0
  768. package/msg/ug-arab.mjs +446 -0
  769. package/msg/uk.d.ts +8 -0
  770. package/msg/uk.js +465 -0
  771. package/msg/uk.mjs +446 -0
  772. package/msg/ur.d.ts +8 -0
  773. package/msg/ur.js +465 -0
  774. package/msg/ur.mjs +446 -0
  775. package/msg/uz.d.ts +8 -0
  776. package/msg/uz.js +465 -0
  777. package/msg/uz.mjs +446 -0
  778. package/msg/vi.d.ts +8 -0
  779. package/msg/vi.js +465 -0
  780. package/msg/vi.mjs +446 -0
  781. package/msg/xmf.d.ts +8 -0
  782. package/msg/xmf.js +465 -0
  783. package/msg/xmf.mjs +446 -0
  784. package/msg/yo.d.ts +8 -0
  785. package/msg/yo.js +465 -0
  786. package/msg/yo.mjs +446 -0
  787. package/msg/zgh.d.ts +8 -0
  788. package/msg/zgh.js +465 -0
  789. package/msg/zgh.mjs +446 -0
  790. package/msg/zh-hans.d.ts +8 -0
  791. package/msg/zh-hans.js +465 -0
  792. package/msg/zh-hans.mjs +446 -0
  793. package/msg/zh-hant.d.ts +8 -0
  794. package/msg/zh-hant.js +465 -0
  795. package/msg/zh-hant.mjs +446 -0
  796. package/package.json +133 -0
  797. package/php.d.ts +7 -0
  798. package/php.js +4 -0
  799. package/php.mjs +6 -0
  800. package/php_compressed.js +283 -0
  801. package/php_compressed.js.map +1 -0
  802. package/python.d.ts +7 -0
  803. package/python.js +4 -0
  804. package/python.mjs +6 -0
  805. package/python_compressed.js +208 -0
  806. package/python_compressed.js.map +1 -0
@@ -0,0 +1,293 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Text input field.
8
+ *
9
+ * @class
10
+ */
11
+ import './events/events_block_change.js';
12
+ import { Field, FieldConfig, FieldValidator } from './field.js';
13
+ import { Size } from './utils/size.js';
14
+ import type { WorkspaceSvg } from './workspace_svg.js';
15
+ /**
16
+ * Supported types for FieldInput subclasses.
17
+ *
18
+ * @internal
19
+ */
20
+ type InputTypes = string | number;
21
+ /**
22
+ * Abstract class for an editable input field.
23
+ *
24
+ * @typeParam T - The value stored on the field.
25
+ * @internal
26
+ */
27
+ export declare abstract class FieldInput<T extends InputTypes> extends Field<string | T> {
28
+ /**
29
+ * Pixel size of input border radius.
30
+ * Should match blocklyText's border-radius in CSS.
31
+ */
32
+ static BORDERRADIUS: number;
33
+ /** Allow browser to spellcheck this field. */
34
+ protected spellcheck_: boolean;
35
+ /** The HTML input element. */
36
+ protected htmlInput_: HTMLInputElement | null;
37
+ /** True if the field's value is currently being edited via the UI. */
38
+ protected isBeingEdited_: boolean;
39
+ /**
40
+ * True if the value currently displayed in the field's editory UI is valid.
41
+ */
42
+ protected isTextValid_: boolean;
43
+ /**
44
+ * The intial value of the field when the user opened an editor to change its
45
+ * value. When the editor is disposed, an event will be fired that uses this
46
+ * as the event's oldValue.
47
+ */
48
+ protected valueWhenEditorWasOpened_: string | T | null;
49
+ /** Key down event data. */
50
+ private onKeyDownWrapper;
51
+ /** Input element input event data. */
52
+ private onInputWrapper;
53
+ /**
54
+ * Whether the field should consider the whole parent block to be its click
55
+ * target.
56
+ */
57
+ fullBlockClickTarget_: boolean;
58
+ /** The workspace that this field belongs to. */
59
+ protected workspace_: WorkspaceSvg | null;
60
+ /**
61
+ * Serializable fields are saved by the serializer, non-serializable fields
62
+ * are not. Editable fields should also be serializable.
63
+ */
64
+ SERIALIZABLE: boolean;
65
+ protected set size_(newValue: Size);
66
+ /**
67
+ * Returns the size of this field, with a minimum width of 14.
68
+ */
69
+ protected get size_(): Size;
70
+ /**
71
+ * @param value The initial value of the field. Should cast to a string.
72
+ * Defaults to an empty string if null or undefined. Also accepts
73
+ * Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
74
+ * that want to handle configuration and setting the field value after
75
+ * their own constructors have run).
76
+ * @param validator A function that is called to validate changes to the
77
+ * field's value. Takes in a string & returns a validated string, or null
78
+ * to abort the change.
79
+ * @param config A map of options used to configure the field.
80
+ * See the [field creation documentation]{@link
81
+ * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/text-input#creation}
82
+ * for a list of properties this parameter supports.
83
+ */
84
+ constructor(value?: string | typeof Field.SKIP_SETUP, validator?: FieldInputValidator<T> | null, config?: FieldInputConfig);
85
+ protected configure_(config: FieldInputConfig): void;
86
+ initView(): void;
87
+ isFullBlockField(): boolean;
88
+ /**
89
+ * Called by setValue if the text input is not valid. If the field is
90
+ * currently being edited it reverts value of the field to the previous
91
+ * value while allowing the display text to be handled by the htmlInput_.
92
+ *
93
+ * @param _invalidValue The input value that was determined to be invalid.
94
+ * This is not used by the text input because its display value is stored
95
+ * on the htmlInput_.
96
+ * @param fireChangeEvent Whether to fire a change event if the value changes.
97
+ */
98
+ protected doValueInvalid_(_invalidValue: any, fireChangeEvent?: boolean): void;
99
+ /**
100
+ * Called by setValue if the text input is valid. Updates the value of the
101
+ * field, and updates the text of the field if it is not currently being
102
+ * edited (i.e. handled by the htmlInput_).
103
+ *
104
+ * @param newValue The value to be saved. The default validator guarantees
105
+ * that this is a string.
106
+ */
107
+ protected doValueUpdate_(newValue: string | T): void;
108
+ /**
109
+ * Updates text field to match the colour/style of the block.
110
+ */
111
+ applyColour(): void;
112
+ /**
113
+ * Returns the height and width of the field.
114
+ *
115
+ * This should *in general* be the only place render_ gets called from.
116
+ *
117
+ * @returns Height and width.
118
+ */
119
+ getSize(): Size;
120
+ /**
121
+ * Notifies the field that it has changed locations. Moves the widget div to
122
+ * be in the correct place if it is open.
123
+ */
124
+ onLocationChange(): void;
125
+ /**
126
+ * Updates the colour of the htmlInput given the current validity of the
127
+ * field's value.
128
+ *
129
+ * Also updates the colour of the block to reflect whether this is a full
130
+ * block field or not.
131
+ */
132
+ protected render_(): void;
133
+ /**
134
+ * Set whether this field is spellchecked by the browser.
135
+ *
136
+ * @param check True if checked.
137
+ */
138
+ setSpellcheck(check: boolean): void;
139
+ /**
140
+ * Show an editor for the field.
141
+ * Shows the inline free-text editor on top of the text by default.
142
+ * Shows a prompt editor for mobile browsers if the modalInputs option is
143
+ * enabled.
144
+ *
145
+ * @param _e Optional mouse event that triggered the field to open, or
146
+ * undefined if triggered programmatically.
147
+ * @param quietInput True if editor should be created without focus.
148
+ * Defaults to false.
149
+ * @param manageEphemeralFocus Whether ephemeral focus should be managed as
150
+ * part of the editor's inline editor (when the inline editor is shown).
151
+ * Callers must manage ephemeral focus themselves if this is false.
152
+ * Defaults to true.
153
+ */
154
+ protected showEditor_(_e?: Event, quietInput?: boolean, manageEphemeralFocus?: boolean): void;
155
+ /**
156
+ * Create and show a text input editor that is a prompt (usually a popup).
157
+ * Mobile browsers may have issues with in-line textareas (focus and
158
+ * keyboards).
159
+ */
160
+ private showPromptEditor;
161
+ /**
162
+ * Create and show a text input editor that sits directly over the text input.
163
+ *
164
+ * @param quietInput True if editor should be created without focus.
165
+ * @param manageEphemeralFocus Whether ephemeral focus should be managed as
166
+ * part of the field's inline editor (widget div).
167
+ */
168
+ private showInlineEditor;
169
+ /**
170
+ * Create the text input editor widget.
171
+ *
172
+ * @returns The newly created text input editor.
173
+ */
174
+ protected widgetCreate_(): HTMLInputElement | HTMLTextAreaElement;
175
+ /**
176
+ * Closes the editor, saves the results, and disposes of any events or
177
+ * DOM-references belonging to the editor.
178
+ */
179
+ protected widgetDispose_(): void;
180
+ /**
181
+ * A callback triggered when the user is done editing the field via the UI.
182
+ *
183
+ * @param _value The new value of the field.
184
+ */
185
+ onFinishEditing_(_value: any): void;
186
+ /**
187
+ * Bind handlers for user input on the text input field's editor.
188
+ *
189
+ * @param htmlInput The htmlInput to which event handlers will be bound.
190
+ */
191
+ protected bindInputEvents_(htmlInput: HTMLElement): void;
192
+ /** Unbind handlers for user input and workspace size changes. */
193
+ protected unbindInputEvents_(): void;
194
+ /**
195
+ * Handle key down to the editor.
196
+ *
197
+ * @param e Keyboard event.
198
+ */
199
+ protected onHtmlInputKeyDown_(e: KeyboardEvent): void;
200
+ /**
201
+ * Handle a change to the editor.
202
+ *
203
+ * @param _e InputEvent.
204
+ */
205
+ private onHtmlInputChange;
206
+ /**
207
+ * Set the HTML input value and the field's internal value. The difference
208
+ * between this and `setValue` is that this also updates the HTML input
209
+ * value whilst editing.
210
+ *
211
+ * @param newValue New value.
212
+ * @param fireChangeEvent Whether to fire a change event. Defaults to true.
213
+ * Should usually be true unless the change will be reported some other
214
+ * way, e.g. an intermediate field change event.
215
+ */
216
+ protected setEditorValue_(newValue: any, fireChangeEvent?: boolean): void;
217
+ /** Resize the editor to fit the text. */
218
+ protected resizeEditor_(): void;
219
+ /**
220
+ * Handles repositioning the WidgetDiv used for input fields when the
221
+ * workspace is resized. Will bump the block into the viewport and update the
222
+ * position of the text input if necessary.
223
+ *
224
+ * @returns True for rendered workspaces, as we never want to hide the widget
225
+ * div.
226
+ */
227
+ repositionForWindowResize(): boolean;
228
+ /**
229
+ * Position a field's text element after a size change. This handles both LTR
230
+ * and RTL positioning.
231
+ *
232
+ * @param xMargin x offset to use when positioning the text element.
233
+ * @param contentWidth The content width.
234
+ */
235
+ protected positionTextElement_(xMargin: number, contentWidth: number): void;
236
+ /**
237
+ * Use the `getText_` developer hook to override the field's text
238
+ * representation. When we're currently editing, return the current HTML value
239
+ * instead. Otherwise, return null which tells the field to use the default
240
+ * behaviour (which is a string cast of the field's value).
241
+ *
242
+ * @returns The HTML value if we're editing, otherwise null.
243
+ */
244
+ protected getText_(): string | null;
245
+ /**
246
+ * Transform the provided value into a text to show in the HTML input.
247
+ * Override this method if the field's HTML input representation is different
248
+ * than the field's value. This should be coupled with an override of
249
+ * `getValueFromEditorText_`.
250
+ *
251
+ * @param value The value stored in this field.
252
+ * @returns The text to show on the HTML input.
253
+ */
254
+ protected getEditorText_(value: any): string;
255
+ /**
256
+ * Transform the text received from the HTML input into a value to store
257
+ * in this field.
258
+ * Override this method if the field's HTML input representation is different
259
+ * than the field's value. This should be coupled with an override of
260
+ * `getEditorText_`.
261
+ *
262
+ * @param text Text received from the HTML input.
263
+ * @returns The value to store.
264
+ */
265
+ protected getValueFromEditorText_(text: string): any;
266
+ }
267
+ /**
268
+ * Config options for the input field.
269
+ *
270
+ * @internal
271
+ */
272
+ export interface FieldInputConfig extends FieldConfig {
273
+ spellcheck?: boolean;
274
+ }
275
+ /**
276
+ * A function that is called to validate changes to the field's value before
277
+ * they are set.
278
+ *
279
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
280
+ * @param newValue The value to be validated.
281
+ * @returns One of three instructions for setting the new value: `T`, `null`,
282
+ * or `undefined`.
283
+ *
284
+ * - `T` to set this function's returned value instead of `newValue`.
285
+ *
286
+ * - `null` to invoke `doValueInvalid_` and not set a value.
287
+ *
288
+ * - `undefined` to set `newValue` as is.
289
+ * @internal
290
+ */
291
+ export type FieldInputValidator<T extends InputTypes> = FieldValidator<string | T>;
292
+ export {};
293
+ //# sourceMappingURL=field_input.d.ts.map
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2012 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Non-editable, non-serializable text field. Used for titles,
8
+ * labels, etc.
9
+ *
10
+ * @class
11
+ */
12
+ import { Field, FieldConfig } from './field.js';
13
+ /**
14
+ * Class for a non-editable, non-serializable text field.
15
+ */
16
+ export declare class FieldLabel extends Field<string> {
17
+ /** The HTML class name to use for this field. */
18
+ private class;
19
+ /**
20
+ * Editable fields usually show some sort of UI indicating they are
21
+ * editable. This field should not.
22
+ */
23
+ EDITABLE: boolean;
24
+ /** Text labels should not truncate. */
25
+ maxDisplayLength: number;
26
+ /**
27
+ * @param value The initial value of the field. Should cast to a string.
28
+ * Defaults to an empty string if null or undefined. Also accepts
29
+ * Field.SKIP_SETUP if you wish to skip setup (only used by subclasses
30
+ * that want to handle configuration and setting the field value after
31
+ * their own constructors have run).
32
+ * @param textClass Optional CSS class for the field's text.
33
+ * @param config A map of options used to configure the field.
34
+ * See the [field creation documentation]{@link
35
+ * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/label#creation}
36
+ * for a list of properties this parameter supports.
37
+ */
38
+ constructor(value?: string | typeof Field.SKIP_SETUP, textClass?: string, config?: FieldLabelConfig);
39
+ protected configure_(config: FieldLabelConfig): void;
40
+ /**
41
+ * Create block UI for this label.
42
+ */
43
+ initView(): void;
44
+ /**
45
+ * Ensure that the input value casts to a valid string.
46
+ *
47
+ * @param newValue The input value.
48
+ * @returns A valid string, or null if invalid.
49
+ */
50
+ protected doClassValidation_(newValue?: any): string | null;
51
+ /**
52
+ * Set the CSS class applied to the field's textElement_.
53
+ *
54
+ * @param cssClass The new CSS class name, or null to remove.
55
+ */
56
+ setClass(cssClass: string | null): void;
57
+ /**
58
+ * Construct a FieldLabel from a JSON arg object,
59
+ * dereferencing any string table references.
60
+ *
61
+ * @param options A JSON object with options (text, and class).
62
+ * @returns The new field instance.
63
+ * @nocollapse
64
+ * @internal
65
+ */
66
+ static fromJson(options: FieldLabelFromJsonConfig): FieldLabel;
67
+ }
68
+ /**
69
+ * Config options for the label field.
70
+ */
71
+ export interface FieldLabelConfig extends FieldConfig {
72
+ class?: string;
73
+ }
74
+ /**
75
+ * fromJson config options for the label field.
76
+ */
77
+ export interface FieldLabelFromJsonConfig extends FieldLabelConfig {
78
+ text?: string;
79
+ }
80
+ //# sourceMappingURL=field_label.d.ts.map
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Non-editable, serializable text field. Behaves like a
8
+ * normal label but is serialized to XML. It may only be
9
+ * edited programmatically.
10
+ *
11
+ * @class
12
+ */
13
+ import { FieldLabel, FieldLabelConfig, FieldLabelFromJsonConfig } from './field_label.js';
14
+ /**
15
+ * Class for a non-editable, serializable text field.
16
+ */
17
+ export declare class FieldLabelSerializable extends FieldLabel {
18
+ /**
19
+ * Editable fields usually show some sort of UI indicating they are
20
+ * editable. This field should not.
21
+ */
22
+ EDITABLE: boolean;
23
+ /**
24
+ * Serializable fields are saved by the XML renderer, non-serializable
25
+ * fields are not. This field should be serialized, but only edited
26
+ * programmatically.
27
+ */
28
+ SERIALIZABLE: boolean;
29
+ /**
30
+ * @param value The initial value of the field. Should cast to a string.
31
+ * Defaults to an empty string if null or undefined.
32
+ * @param textClass Optional CSS class for the field's text.
33
+ * @param config A map of options used to configure the field.
34
+ * See the [field creation documentation]{@link
35
+ * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/label-serializable#creation}
36
+ * for a list of properties this parameter supports.
37
+ */
38
+ constructor(value?: string, textClass?: string, config?: FieldLabelConfig);
39
+ /**
40
+ * Construct a FieldLabelSerializable from a JSON arg object,
41
+ * dereferencing any string table references.
42
+ *
43
+ * @param options A JSON object with options (text, and class).
44
+ * @returns The new field instance.
45
+ * @nocollapse
46
+ * @internal
47
+ */
48
+ static fromJson(options: FieldLabelFromJsonConfig): FieldLabelSerializable;
49
+ }
50
+ //# sourceMappingURL=field_label_serializable.d.ts.map
@@ -0,0 +1,194 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Number input field
8
+ *
9
+ * @class
10
+ */
11
+ import { Field } from './field.js';
12
+ import { FieldInput, FieldInputConfig, FieldInputValidator } from './field_input.js';
13
+ /**
14
+ * Class for an editable number field.
15
+ */
16
+ export declare class FieldNumber extends FieldInput<number> {
17
+ /** The minimum value this number field can contain. */
18
+ protected min_: number;
19
+ /** The maximum value this number field can contain. */
20
+ protected max_: number;
21
+ /** The multiple to which this fields value is rounded. */
22
+ protected precision_: number;
23
+ /**
24
+ * The number of decimal places to allow, or null to allow any number of
25
+ * decimal digits.
26
+ */
27
+ private decimalPlaces;
28
+ /** Don't spellcheck numbers. Our validator does a better job. */
29
+ protected spellcheck_: boolean;
30
+ /**
31
+ * @param value The initial value of the field. Should cast to a number.
32
+ * Defaults to 0. Also accepts Field.SKIP_SETUP if you wish to skip setup
33
+ * (only used by subclasses that want to handle configuration and setting
34
+ * the field value after their own constructors have run).
35
+ * @param min Minimum value. Will only be used if config is not
36
+ * provided.
37
+ * @param max Maximum value. Will only be used if config is not
38
+ * provided.
39
+ * @param precision Precision for value. Will only be used if config
40
+ * is not provided.
41
+ * @param validator A function that is called to validate changes to the
42
+ * field's value. Takes in a number & returns a validated number, or null
43
+ * to abort the change.
44
+ * @param config A map of options used to configure the field.
45
+ * See the [field creation documentation]{@link
46
+ * https://developers.google.com/blockly/guides/create-custom-blocks/fields/built-in-fields/number#creation}
47
+ * for a list of properties this parameter supports.
48
+ */
49
+ constructor(value?: string | number | typeof Field.SKIP_SETUP, min?: string | number | null, max?: string | number | null, precision?: string | number | null, validator?: FieldNumberValidator | null, config?: FieldNumberConfig);
50
+ /**
51
+ * Configure the field based on the given map of options.
52
+ *
53
+ * @param config A map of options to configure the field based on.
54
+ */
55
+ protected configure_(config: FieldNumberConfig): void;
56
+ /**
57
+ * Set the maximum, minimum and precision constraints on this field.
58
+ * Any of these properties may be undefined or NaN to be disabled.
59
+ * Setting precision (usually a power of 10) enforces a minimum step between
60
+ * values. That is, the user's value will rounded to the closest multiple of
61
+ * precision. The least significant digit place is inferred from the
62
+ * precision. Integers values can be enforces by choosing an integer
63
+ * precision.
64
+ *
65
+ * @param min Minimum value.
66
+ * @param max Maximum value.
67
+ * @param precision Precision for value.
68
+ */
69
+ setConstraints(min: number | string | undefined | null, max: number | string | undefined | null, precision: number | string | undefined | null): void;
70
+ /**
71
+ * Sets the minimum value this field can contain. Updates the value to
72
+ * reflect.
73
+ *
74
+ * @param min Minimum value.
75
+ */
76
+ setMin(min: number | string | undefined | null): void;
77
+ /**
78
+ * Sets the minimum value this field can contain. Called internally to avoid
79
+ * value updates.
80
+ *
81
+ * @param min Minimum value.
82
+ */
83
+ private setMinInternal;
84
+ /**
85
+ * Returns the current minimum value this field can contain. Default is
86
+ * -Infinity.
87
+ *
88
+ * @returns The current minimum value this field can contain.
89
+ */
90
+ getMin(): number;
91
+ /**
92
+ * Sets the maximum value this field can contain. Updates the value to
93
+ * reflect.
94
+ *
95
+ * @param max Maximum value.
96
+ */
97
+ setMax(max: number | string | undefined | null): void;
98
+ /**
99
+ * Sets the maximum value this field can contain. Called internally to avoid
100
+ * value updates.
101
+ *
102
+ * @param max Maximum value.
103
+ */
104
+ private setMaxInternal;
105
+ /**
106
+ * Returns the current maximum value this field can contain. Default is
107
+ * Infinity.
108
+ *
109
+ * @returns The current maximum value this field can contain.
110
+ */
111
+ getMax(): number;
112
+ /**
113
+ * Sets the precision of this field's value, i.e. the number to which the
114
+ * value is rounded. Updates the field to reflect.
115
+ *
116
+ * @param precision The number to which the field's value is rounded.
117
+ */
118
+ setPrecision(precision: number | string | undefined | null): void;
119
+ /**
120
+ * Sets the precision of this field's value. Called internally to avoid
121
+ * value updates.
122
+ *
123
+ * @param precision The number to which the field's value is rounded.
124
+ */
125
+ private setPrecisionInternal;
126
+ /**
127
+ * Returns the current precision of this field. The precision being the
128
+ * number to which the field's value is rounded. A precision of 0 means that
129
+ * the value is not rounded.
130
+ *
131
+ * @returns The number to which this field's value is rounded.
132
+ */
133
+ getPrecision(): number;
134
+ /**
135
+ * Ensure that the input value is a valid number (must fulfill the
136
+ * constraints placed on the field).
137
+ *
138
+ * @param newValue The input value.
139
+ * @returns A valid number, or null if invalid.
140
+ */
141
+ protected doClassValidation_(newValue?: any): number | null;
142
+ /**
143
+ * Create the number input editor widget.
144
+ *
145
+ * @returns The newly created number input editor.
146
+ */
147
+ protected widgetCreate_(): HTMLInputElement;
148
+ /**
149
+ * Initialize the field's DOM.
150
+ *
151
+ * @override
152
+ */
153
+ initView(): void;
154
+ /**
155
+ * Construct a FieldNumber from a JSON arg object.
156
+ *
157
+ * @param options A JSON object with options (value, min, max, and precision).
158
+ * @returns The new field instance.
159
+ * @nocollapse
160
+ * @internal
161
+ */
162
+ static fromJson(options: FieldNumberFromJsonConfig): FieldNumber;
163
+ }
164
+ /**
165
+ * Config options for the number field.
166
+ */
167
+ export interface FieldNumberConfig extends FieldInputConfig {
168
+ min?: number;
169
+ max?: number;
170
+ precision?: number;
171
+ }
172
+ /**
173
+ * fromJson config options for the number field.
174
+ */
175
+ export interface FieldNumberFromJsonConfig extends FieldNumberConfig {
176
+ value?: number;
177
+ }
178
+ /**
179
+ * A function that is called to validate changes to the field's value before
180
+ * they are set.
181
+ *
182
+ * @see {@link https://developers.google.com/blockly/guides/create-custom-blocks/fields/validators#return_values}
183
+ * @param newValue The value to be validated.
184
+ * @returns One of three instructions for setting the new value: `T`, `null`,
185
+ * or `undefined`.
186
+ *
187
+ * - `T` to set this function's returned value instead of `newValue`.
188
+ *
189
+ * - `null` to invoke `doValueInvalid_` and not set a value.
190
+ *
191
+ * - `undefined` to set `newValue` as is.
192
+ */
193
+ export type FieldNumberValidator = FieldInputValidator<number>;
194
+ //# sourceMappingURL=field_number.d.ts.map
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Field, FieldConfig } from './field.js';
7
+ /**
8
+ * When constructing a field from JSON using the registry, the
9
+ * `fromJson` method in this file is called with an options parameter
10
+ * object consisting of the "type" which is the name of the field, and
11
+ * other options that are part of the field's config object.
12
+ *
13
+ * These options are then passed to the field's static `fromJson`
14
+ * method. That method accepts an options parameter with a type that usually
15
+ * extends from FieldConfig, and may or may not have a "type" attribute (in
16
+ * fact, it shouldn't, because we'd overwrite it as described above!)
17
+ *
18
+ * Unfortunately the registry has no way of knowing the actual Field subclass
19
+ * that will be returned from passing in the name of the field. Therefore it
20
+ * also has no way of knowing that the options object not only implements
21
+ * `FieldConfig`, but it also should satisfy the Config that belongs to that
22
+ * specific class's `fromJson` method.
23
+ *
24
+ * Because of this uncertainty, we just give up on type checking the properties
25
+ * passed to the `fromJson` method, and allow arbitrary string keys with
26
+ * unknown types.
27
+ */
28
+ type RegistryOptions = FieldConfig & {
29
+ type: string;
30
+ [key: string]: unknown;
31
+ };
32
+ /**
33
+ * Represents the static methods that must be defined on any
34
+ * field that is registered, i.e. the constructor and fromJson methods.
35
+ *
36
+ * Because we don't know which Field subclass will be registered, we
37
+ * are unable to typecheck the parameters of the constructor.
38
+ */
39
+ export interface RegistrableField {
40
+ new (...args: any[]): Field;
41
+ fromJson(options: FieldConfig): Field;
42
+ }
43
+ /**
44
+ * Registers a field type.
45
+ * fieldRegistry.fromJson uses this registry to
46
+ * find the appropriate field type.
47
+ *
48
+ * @param type The field type name as used in the JSON definition.
49
+ * @param fieldClass The field class containing a fromJson function that can
50
+ * construct an instance of the field.
51
+ * @throws {Error} if the type name is empty or the fieldClass is not an object
52
+ * containing a fromJson function.
53
+ */
54
+ export declare function register(type: string, fieldClass: RegistrableField): void;
55
+ /**
56
+ * Unregisters the field registered with the given type.
57
+ *
58
+ * @param type The field type name as used in the JSON definition.
59
+ */
60
+ export declare function unregister(type: string): void;
61
+ /**
62
+ * Construct a Field from a JSON arg object.
63
+ * Finds the appropriate registered field by the type name as registered using
64
+ * fieldRegistry.register.
65
+ *
66
+ * @param options A JSON object with a type and options specific to the field
67
+ * type.
68
+ * @returns The new field instance or null if a field wasn't found with the
69
+ * given type name
70
+ * @internal
71
+ */
72
+ export declare function fromJson<T>(options: RegistryOptions): Field<T> | null;
73
+ /**
74
+ * Private version of fromJson for stubbing in tests.
75
+ *
76
+ * @param options
77
+ */
78
+ declare function fromJsonInternal<T>(options: RegistryOptions): Field<T> | null;
79
+ export declare const TEST_ONLY: {
80
+ fromJsonInternal: typeof fromJsonInternal;
81
+ };
82
+ export {};
83
+ //# sourceMappingURL=field_registry.d.ts.map