@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,453 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2011 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Flyout tray containing blocks which may be created.
8
+ *
9
+ * @class
10
+ */
11
+ import { BlockSvg } from './block_svg.js';
12
+ import { DeleteArea } from './delete_area.js';
13
+ import { FlyoutItem } from './flyout_item.js';
14
+ import { IAutoHideable } from './interfaces/i_autohideable.js';
15
+ import type { IFlyout } from './interfaces/i_flyout.js';
16
+ import type { IFlyoutInflater } from './interfaces/i_flyout_inflater.js';
17
+ import { IFocusableNode } from './interfaces/i_focusable_node.js';
18
+ import type { IFocusableTree } from './interfaces/i_focusable_tree.js';
19
+ import type { Options } from './options.js';
20
+ import * as blocks from './serialization/blocks.js';
21
+ import { Coordinate } from './utils/coordinate.js';
22
+ import { Svg } from './utils/svg.js';
23
+ import * as toolbox from './utils/toolbox.js';
24
+ import { WorkspaceSvg } from './workspace_svg.js';
25
+ /**
26
+ * Class for a flyout.
27
+ */
28
+ export declare abstract class Flyout extends DeleteArea implements IAutoHideable, IFlyout, IFocusableNode {
29
+ /**
30
+ * Position the flyout.
31
+ */
32
+ abstract position(): void;
33
+ /**
34
+ * Determine if a drag delta is toward the workspace, based on the position
35
+ * and orientation of the flyout. This is used in determineDragIntention_ to
36
+ * determine if a new block should be created or if the flyout should scroll.
37
+ *
38
+ * @param currentDragDeltaXY How far the pointer has
39
+ * moved from the position at mouse down, in pixel units.
40
+ * @returns True if the drag is toward the workspace.
41
+ */
42
+ abstract isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
43
+ /**
44
+ * Sets the translation of the flyout to match the scrollbars.
45
+ *
46
+ * @param xyRatio Contains a y property which is a float
47
+ * between 0 and 1 specifying the degree of scrolling and a
48
+ * similar x property.
49
+ */
50
+ protected abstract setMetrics_(xyRatio: {
51
+ x?: number;
52
+ y?: number;
53
+ }): void;
54
+ /**
55
+ * Lay out the elements in the flyout.
56
+ *
57
+ * @param contents The flyout elements to lay out.
58
+ */
59
+ protected abstract layout_(contents: FlyoutItem[]): void;
60
+ /**
61
+ * Scroll the flyout.
62
+ *
63
+ * @param e Mouse wheel scroll event.
64
+ */
65
+ protected abstract wheel_(e: WheelEvent): void;
66
+ /**
67
+ * Compute bounds of flyout.
68
+ * For RTL: Lay out the elements right-aligned.
69
+ */
70
+ protected abstract reflowInternal_(): void;
71
+ /**
72
+ * Calculates the x coordinate for the flyout position.
73
+ *
74
+ * @returns X coordinate.
75
+ */
76
+ abstract getX(): number;
77
+ /**
78
+ * Calculates the y coordinate for the flyout position.
79
+ *
80
+ * @returns Y coordinate.
81
+ */
82
+ abstract getY(): number;
83
+ /**
84
+ * Scroll the flyout to the beginning of its contents.
85
+ */
86
+ abstract scrollToStart(): void;
87
+ protected workspace_: WorkspaceSvg;
88
+ RTL: boolean;
89
+ /**
90
+ * Whether the flyout should be laid out horizontally or not.
91
+ *
92
+ * @internal
93
+ */
94
+ horizontalLayout: boolean;
95
+ protected toolboxPosition_: number;
96
+ /**
97
+ * Array holding info needed to unbind events.
98
+ * Used for disposing.
99
+ * Ex: [[node, name, func], [node, name, func]].
100
+ */
101
+ private boundEvents;
102
+ /**
103
+ * Function that will be registered as a change listener on the workspace
104
+ * to reflow when elements in the flyout workspace change.
105
+ */
106
+ private reflowWrapper;
107
+ /**
108
+ * If true, prevents the reflow wrapper from running. Used to prevent infinite
109
+ * recursion.
110
+ */
111
+ private inhibitReflowWrapper;
112
+ /**
113
+ * List of flyout elements.
114
+ */
115
+ protected contents: FlyoutItem[];
116
+ protected readonly tabWidth_: number;
117
+ /**
118
+ * The target workspace.
119
+ *
120
+ * @internal
121
+ */
122
+ targetWorkspace: WorkspaceSvg;
123
+ /**
124
+ * Does the flyout automatically close when a block is created?
125
+ */
126
+ autoClose: boolean;
127
+ /**
128
+ * Whether the flyout is visible.
129
+ */
130
+ private visible;
131
+ /**
132
+ * Whether the workspace containing this flyout is visible.
133
+ */
134
+ private containerVisible;
135
+ /**
136
+ * Corner radius of the flyout background.
137
+ */
138
+ readonly CORNER_RADIUS: number;
139
+ readonly MARGIN: number;
140
+ readonly GAP_X: number;
141
+ readonly GAP_Y: number;
142
+ /**
143
+ * Top/bottom padding between scrollbar and edge of flyout background.
144
+ */
145
+ readonly SCROLLBAR_MARGIN: number;
146
+ /**
147
+ * Width of flyout.
148
+ */
149
+ protected width_: number;
150
+ /**
151
+ * Height of flyout.
152
+ */
153
+ protected height_: number;
154
+ /**
155
+ * Range of a drag angle from a flyout considered "dragging toward
156
+ * workspace". Drags that are within the bounds of this many degrees from
157
+ * the orthogonal line to the flyout edge are considered to be "drags toward
158
+ * the workspace".
159
+ *
160
+ * @example
161
+ *
162
+ * ```
163
+ * Flyout Edge Workspace
164
+ * [block] / <-within this angle, drags "toward workspace" |
165
+ * [block] ---- orthogonal to flyout boundary ---- |
166
+ * [block] \ |
167
+ * ```
168
+ *
169
+ * The angle is given in degrees from the orthogonal.
170
+ *
171
+ * This is used to know when to create a new block and when to scroll the
172
+ * flyout. Setting it to 360 means that all drags create a new block.
173
+ */
174
+ protected dragAngleRange_: number;
175
+ /**
176
+ * The path around the background of the flyout, which will be filled with a
177
+ * background colour.
178
+ */
179
+ protected svgBackground_: SVGPathElement | null;
180
+ /**
181
+ * The root SVG group for the button or label.
182
+ */
183
+ protected svgGroup_: SVGGElement | null;
184
+ /**
185
+ * Map from flyout content type to the corresponding inflater class
186
+ * responsible for creating concrete instances of the content type.
187
+ */
188
+ protected inflaters: Map<string, IFlyoutInflater>;
189
+ /**
190
+ * @param workspaceOptions Dictionary of options for the
191
+ * workspace.
192
+ */
193
+ constructor(workspaceOptions: Options);
194
+ /**
195
+ * Creates the flyout's DOM. Only needs to be called once. The flyout can
196
+ * either exist as its own SVG element or be a g element nested inside a
197
+ * separate SVG element.
198
+ *
199
+ * @param tagName The type of tag to
200
+ * put the flyout in. This should be <svg> or <g>.
201
+ * @returns The flyout's SVG group.
202
+ */
203
+ createDom(tagName: string | Svg<SVGSVGElement> | Svg<SVGGElement>): SVGElement;
204
+ /**
205
+ * Initializes the flyout.
206
+ *
207
+ * @param targetWorkspace The workspace in which to
208
+ * create new blocks.
209
+ */
210
+ init(targetWorkspace: WorkspaceSvg): void;
211
+ /**
212
+ * Dispose of this flyout.
213
+ * Unlink from all DOM elements to prevent memory leaks.
214
+ */
215
+ dispose(): void;
216
+ /**
217
+ * Get the width of the flyout.
218
+ *
219
+ * @returns The width of the flyout.
220
+ */
221
+ getWidth(): number;
222
+ /**
223
+ * Get the height of the flyout.
224
+ *
225
+ * @returns The width of the flyout.
226
+ */
227
+ getHeight(): number;
228
+ /**
229
+ * Get the scale (zoom level) of the flyout. By default,
230
+ * this matches the target workspace scale, but this can be overridden.
231
+ *
232
+ * @returns Flyout workspace scale.
233
+ */
234
+ getFlyoutScale(): number;
235
+ /**
236
+ * Get the workspace inside the flyout.
237
+ *
238
+ * @returns The workspace inside the flyout.
239
+ */
240
+ getWorkspace(): WorkspaceSvg;
241
+ /**
242
+ * Sets whether this flyout automatically closes when blocks are dragged out,
243
+ * the workspace is clicked, etc, or not.
244
+ */
245
+ setAutoClose(autoClose: boolean): void;
246
+ /** Automatically hides the flyout if it is an autoclosing flyout. */
247
+ autoHide(onlyClosePopups: boolean): void;
248
+ /**
249
+ * Get the target workspace inside the flyout.
250
+ *
251
+ * @returns The target workspace inside the flyout.
252
+ */
253
+ getTargetWorkspace(): WorkspaceSvg;
254
+ /**
255
+ * Is the flyout visible?
256
+ *
257
+ * @returns True if visible.
258
+ */
259
+ isVisible(): boolean;
260
+ /**
261
+ * Set whether the flyout is visible. A value of true does not necessarily
262
+ * mean that the flyout is shown. It could be hidden because its container is
263
+ * hidden.
264
+ *
265
+ * @param visible True if visible.
266
+ */
267
+ setVisible(visible: boolean): void;
268
+ /**
269
+ * Set whether this flyout's container is visible.
270
+ *
271
+ * @param visible Whether the container is visible.
272
+ */
273
+ setContainerVisible(visible: boolean): void;
274
+ /**
275
+ * Get the list of elements of the current flyout.
276
+ *
277
+ * @returns The array of flyout elements.
278
+ */
279
+ getContents(): FlyoutItem[];
280
+ /**
281
+ * Store the list of elements on the flyout.
282
+ *
283
+ * @param contents - The array of items for the flyout.
284
+ */
285
+ setContents(contents: FlyoutItem[]): void;
286
+ /**
287
+ * Update the display property of the flyout based whether it thinks it should
288
+ * be visible and whether its containing workspace is visible.
289
+ */
290
+ private updateDisplay;
291
+ /**
292
+ * Update the view based on coordinates calculated in position().
293
+ *
294
+ * @param width The computed width of the flyout's SVG group
295
+ * @param height The computed height of the flyout's SVG group.
296
+ * @param x The computed x origin of the flyout's SVG group.
297
+ * @param y The computed y origin of the flyout's SVG group.
298
+ */
299
+ protected positionAt_(width: number, height: number, x: number, y: number): void;
300
+ /**
301
+ * Hide and empty the flyout.
302
+ */
303
+ hide(): void;
304
+ /**
305
+ * Show and populate the flyout.
306
+ *
307
+ * @param flyoutDef Contents to display
308
+ * in the flyout. This is either an array of Nodes, a NodeList, a
309
+ * toolbox definition, or a string with the name of the dynamic category.
310
+ */
311
+ show(flyoutDef: toolbox.FlyoutDefinition | string): void;
312
+ /**
313
+ * Create the contents array and gaps array necessary to create the layout for
314
+ * the flyout.
315
+ *
316
+ * @param parsedContent The array
317
+ * of objects to show in the flyout.
318
+ * @returns The list of contents needed to lay out the flyout.
319
+ */
320
+ private createFlyoutInfo;
321
+ /**
322
+ * Updates and returns the provided list of flyout contents to flatten
323
+ * separators as needed.
324
+ *
325
+ * When multiple separators occur one after another, the value of the last one
326
+ * takes precedence and the earlier separators in the group are removed.
327
+ *
328
+ * @param contents The list of flyout contents to flatten separators in.
329
+ * @returns An updated list of flyout contents with only one separator between
330
+ * each non-separator item.
331
+ */
332
+ protected normalizeSeparators(contents: FlyoutItem[]): FlyoutItem[];
333
+ /**
334
+ * Gets the flyout definition for the dynamic category.
335
+ *
336
+ * @param categoryName The name of the dynamic category.
337
+ * @returns The definition of the
338
+ * flyout in one of its many forms.
339
+ */
340
+ private getDynamicCategoryContents;
341
+ /**
342
+ * Delete elements from a previous showing of the flyout.
343
+ */
344
+ private clearOldBlocks;
345
+ /**
346
+ * Pointer down on the flyout background. Start a vertical scroll drag.
347
+ *
348
+ * @param e Pointer down event.
349
+ */
350
+ private onMouseDown;
351
+ /**
352
+ * Does this flyout allow you to create a new instance of the given block?
353
+ * Used for deciding if a block can be "dragged out of" the flyout.
354
+ *
355
+ * @param block The block to copy from the flyout.
356
+ * @returns True if you can create a new instance of the block, false
357
+ * otherwise.
358
+ * @internal
359
+ */
360
+ isBlockCreatable(block: BlockSvg): boolean;
361
+ /**
362
+ * Create a copy of this block on the workspace.
363
+ *
364
+ * @param originalBlock The block to copy from the flyout.
365
+ * @returns The newly created block.
366
+ * @throws {Error} if something went wrong with deserialization.
367
+ * @internal
368
+ */
369
+ createBlock(originalBlock: BlockSvg): BlockSvg;
370
+ /**
371
+ * Reflow flyout contents.
372
+ */
373
+ reflow(): void;
374
+ /**
375
+ * @returns True if this flyout may be scrolled with a scrollbar or
376
+ * by dragging.
377
+ * @internal
378
+ */
379
+ isScrollable(): boolean;
380
+ /**
381
+ * Serialize a block to JSON.
382
+ *
383
+ * @param block The block to serialize.
384
+ * @returns A serialized representation of the block.
385
+ */
386
+ protected serializeBlock(block: BlockSvg): blocks.State;
387
+ /**
388
+ * Positions a block on the target workspace.
389
+ *
390
+ * @param oldBlock The flyout block being copied.
391
+ * @param block The block to posiiton.
392
+ */
393
+ private positionNewBlock;
394
+ /**
395
+ * Returns the inflater responsible for constructing items of the given type.
396
+ *
397
+ * @param type The type of flyout content item to provide an inflater for.
398
+ * @returns An inflater object for the given type, or null if no inflater
399
+ * is registered for that type.
400
+ */
401
+ protected getInflaterForType(type: string): IFlyoutInflater | null;
402
+ /**
403
+ * See IFocusableNode.getFocusableElement.
404
+ *
405
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
406
+ */
407
+ getFocusableElement(): HTMLElement | SVGElement;
408
+ /**
409
+ * See IFocusableNode.getFocusableTree.
410
+ *
411
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
412
+ */
413
+ getFocusableTree(): IFocusableTree;
414
+ /** See IFocusableNode.onNodeFocus. */
415
+ onNodeFocus(): void;
416
+ /** See IFocusableNode.onNodeBlur. */
417
+ onNodeBlur(): void;
418
+ /** See IFocusableNode.canBeFocused. */
419
+ canBeFocused(): boolean;
420
+ /**
421
+ * See IFocusableNode.getRootFocusableNode.
422
+ *
423
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
424
+ */
425
+ getRootFocusableNode(): IFocusableNode;
426
+ /**
427
+ * See IFocusableNode.getRestoredFocusableNode.
428
+ *
429
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
430
+ */
431
+ getRestoredFocusableNode(_previousNode: IFocusableNode | null): IFocusableNode | null;
432
+ /**
433
+ * See IFocusableNode.getNestedTrees.
434
+ *
435
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
436
+ */
437
+ getNestedTrees(): Array<IFocusableTree>;
438
+ /**
439
+ * See IFocusableNode.lookUpFocusableNode.
440
+ *
441
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
442
+ */
443
+ lookUpFocusableNode(_id: string): IFocusableNode | null;
444
+ /** See IFocusableTree.onTreeFocus. */
445
+ onTreeFocus(_node: IFocusableNode, _previousTree: IFocusableTree | null): void;
446
+ /**
447
+ * See IFocusableNode.onTreeBlur.
448
+ *
449
+ * @deprecated v12: Use the Flyout's workspace for focus operations, instead.
450
+ */
451
+ onTreeBlur(_nextTree: IFocusableTree | null): void;
452
+ }
453
+ //# sourceMappingURL=flyout_base.d.ts.map
@@ -0,0 +1,140 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2016 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { IBoundedElement } from './interfaces/i_bounded_element.js';
7
+ import type { IFocusableNode } from './interfaces/i_focusable_node.js';
8
+ import type { IFocusableTree } from './interfaces/i_focusable_tree.js';
9
+ import type { IRenderedElement } from './interfaces/i_rendered_element.js';
10
+ import { Coordinate } from './utils/coordinate.js';
11
+ import { Rect } from './utils/rect.js';
12
+ import type * as toolbox from './utils/toolbox.js';
13
+ import type { WorkspaceSvg } from './workspace_svg.js';
14
+ /**
15
+ * Class for a button or label in the flyout.
16
+ */
17
+ export declare class FlyoutButton implements IBoundedElement, IRenderedElement, IFocusableNode {
18
+ private readonly workspace;
19
+ private readonly targetWorkspace;
20
+ private readonly isFlyoutLabel;
21
+ /** The horizontal margin around the text in the button. */
22
+ static TEXT_MARGIN_X: number;
23
+ /** The vertical margin around the text in the button. */
24
+ static TEXT_MARGIN_Y: number;
25
+ /** The radius of the flyout button's borders. */
26
+ static BORDER_RADIUS: number;
27
+ /** The key to the function called when this button is activated. */
28
+ readonly callbackKey: string;
29
+ private readonly text;
30
+ private readonly position;
31
+ private readonly cssClass;
32
+ /** Mouse up event data. */
33
+ private onMouseDownWrapper;
34
+ private onMouseUpWrapper;
35
+ info: toolbox.ButtonOrLabelInfo;
36
+ /** The width of the button's rect. */
37
+ width: number;
38
+ /** The height of the button's rect. */
39
+ height: number;
40
+ /** The root SVG group for the button or label. */
41
+ private svgGroup;
42
+ /** The SVG element with the text of the label or button. */
43
+ private svgText;
44
+ /**
45
+ * Holds the cursors svg element when the cursor is attached to the button.
46
+ * This is null if there is no cursor on the button.
47
+ */
48
+ cursorSvg: SVGElement | null;
49
+ /** The unique ID for this FlyoutButton. */
50
+ private id;
51
+ /**
52
+ * @param workspace The workspace in which to place this button.
53
+ * @param targetWorkspace The flyout's target workspace.
54
+ * @param json The JSON specifying the label/button.
55
+ * @param isFlyoutLabel Whether this button should be styled as a label.
56
+ * @internal
57
+ */
58
+ constructor(workspace: WorkspaceSvg, targetWorkspace: WorkspaceSvg, json: toolbox.ButtonOrLabelInfo, isFlyoutLabel: boolean);
59
+ createDom(): SVGElement;
60
+ /** Correctly position the flyout button and make it visible. */
61
+ show(): void;
62
+ /** Update SVG attributes to match internal state. */
63
+ private updateTransform;
64
+ /**
65
+ * Move the button to the given x, y coordinates.
66
+ *
67
+ * @param x The new x coordinate.
68
+ * @param y The new y coordinate.
69
+ */
70
+ moveTo(x: number, y: number): void;
71
+ /**
72
+ * Move the element by a relative offset.
73
+ *
74
+ * @param dx Horizontal offset in workspace units.
75
+ * @param dy Vertical offset in workspace units.
76
+ * @param _reason Why is this move happening? 'user', 'bump', 'snap'...
77
+ */
78
+ moveBy(dx: number, dy: number, _reason?: string[]): void;
79
+ /** @returns Whether or not the button is a label. */
80
+ isLabel(): boolean;
81
+ /**
82
+ * Location of the button.
83
+ *
84
+ * @returns x, y coordinates.
85
+ * @internal
86
+ */
87
+ getPosition(): Coordinate;
88
+ /**
89
+ * Returns the coordinates of a bounded element describing the dimensions of
90
+ * the element. Coordinate system: workspace coordinates.
91
+ *
92
+ * @returns Object with coordinates of the bounded element.
93
+ */
94
+ getBoundingRectangle(): Rect;
95
+ /** @returns Text of the button. */
96
+ getButtonText(): string;
97
+ /**
98
+ * Get the button's target workspace.
99
+ *
100
+ * @returns The target workspace of the flyout where this button resides.
101
+ */
102
+ getTargetWorkspace(): WorkspaceSvg;
103
+ /**
104
+ * Get the button's workspace.
105
+ *
106
+ * @returns The workspace in which to place this button.
107
+ */
108
+ getWorkspace(): WorkspaceSvg;
109
+ /** Dispose of this button. */
110
+ dispose(): void;
111
+ /**
112
+ * Add the cursor SVG to this buttons's SVG group.
113
+ *
114
+ * @param cursorSvg The SVG root of the cursor to be added to the button SVG
115
+ * group.
116
+ */
117
+ setCursorSvg(cursorSvg: SVGElement): void;
118
+ /**
119
+ * Do something when the button is clicked.
120
+ *
121
+ * @param e Pointer up event.
122
+ */
123
+ private onMouseUp;
124
+ private onMouseDown;
125
+ /**
126
+ * @returns The root SVG element of this rendered element.
127
+ */
128
+ getSvgRoot(): SVGGElement;
129
+ /** See IFocusableNode.getFocusableElement. */
130
+ getFocusableElement(): HTMLElement | SVGElement;
131
+ /** See IFocusableNode.getFocusableTree. */
132
+ getFocusableTree(): IFocusableTree;
133
+ /** See IFocusableNode.onNodeFocus. */
134
+ onNodeFocus(): void;
135
+ /** See IFocusableNode.onNodeBlur. */
136
+ onNodeBlur(): void;
137
+ /** See IFocusableNode.canBeFocused. */
138
+ canBeFocused(): boolean;
139
+ }
140
+ //# sourceMappingURL=flyout_button.d.ts.map
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Flyout } from './flyout_base.js';
7
+ import type { FlyoutItem } from './flyout_item.js';
8
+ import type { Options } from './options.js';
9
+ import type { Coordinate } from './utils/coordinate.js';
10
+ import { Rect } from './utils/rect.js';
11
+ /**
12
+ * Class for a flyout.
13
+ */
14
+ export declare class HorizontalFlyout extends Flyout {
15
+ horizontalLayout: boolean;
16
+ /** @param workspaceOptions Dictionary of options for the workspace. */
17
+ constructor(workspaceOptions: Options);
18
+ /**
19
+ * Sets the translation of the flyout to match the scrollbars.
20
+ *
21
+ * @param xyRatio Contains a y property which is a float between 0 and 1
22
+ * specifying the degree of scrolling and a similar x property.
23
+ */
24
+ protected setMetrics_(xyRatio: {
25
+ x: number;
26
+ y: number;
27
+ }): void;
28
+ /**
29
+ * Calculates the x coordinate for the flyout position.
30
+ *
31
+ * @returns X coordinate.
32
+ */
33
+ getX(): number;
34
+ /**
35
+ * Calculates the y coordinate for the flyout position.
36
+ *
37
+ * @returns Y coordinate.
38
+ */
39
+ getY(): number;
40
+ /** Move the flyout to the edge of the workspace. */
41
+ position(): void;
42
+ /**
43
+ * Create and set the path for the visible boundaries of the flyout.
44
+ *
45
+ * @param width The width of the flyout, not including the rounded corners.
46
+ * @param height The height of the flyout, not including rounded corners.
47
+ */
48
+ private setBackgroundPath;
49
+ /** Scroll the flyout to the top. */
50
+ scrollToStart(): void;
51
+ /**
52
+ * Scroll the flyout.
53
+ *
54
+ * @param e Mouse wheel scroll event.
55
+ */
56
+ protected wheel_(e: WheelEvent): void;
57
+ /**
58
+ * Lay out the blocks in the flyout.
59
+ *
60
+ * @param contents The flyout items to lay out.
61
+ */
62
+ protected layout_(contents: FlyoutItem[]): void;
63
+ /**
64
+ * Determine if a drag delta is toward the workspace, based on the position
65
+ * and orientation of the flyout. This is used in determineDragIntention_ to
66
+ * determine if a new block should be created or if the flyout should scroll.
67
+ *
68
+ * @param currentDragDeltaXY How far the pointer has moved from the position
69
+ * at mouse down, in pixel units.
70
+ * @returns True if the drag is toward the workspace.
71
+ */
72
+ isDragTowardWorkspace(currentDragDeltaXY: Coordinate): boolean;
73
+ /**
74
+ * Returns the bounding rectangle of the drag target area in pixel units
75
+ * relative to viewport.
76
+ *
77
+ * @returns The component's bounding box. Null if drag target area should be
78
+ * ignored.
79
+ */
80
+ getClientRect(): Rect | null;
81
+ /**
82
+ * Compute height of flyout. toolbox.Position mat under each block.
83
+ * For RTL: Lay out the blocks right-aligned.
84
+ */
85
+ protected reflowInternal_(): void;
86
+ }
87
+ //# sourceMappingURL=flyout_horizontal.d.ts.map
@@ -0,0 +1,26 @@
1
+ import type { IBoundedElement } from './interfaces/i_bounded_element.js';
2
+ import type { IFocusableNode } from './interfaces/i_focusable_node.js';
3
+ /**
4
+ * Representation of an item displayed in a flyout.
5
+ */
6
+ export declare class FlyoutItem {
7
+ private element;
8
+ private type;
9
+ /**
10
+ * Creates a new FlyoutItem.
11
+ *
12
+ * @param element The element that will be displayed in the flyout.
13
+ * @param type The type of element. Should correspond to the type of the
14
+ * flyout inflater that created this object.
15
+ */
16
+ constructor(element: IBoundedElement & IFocusableNode, type: string);
17
+ /**
18
+ * Returns the element displayed in the flyout.
19
+ */
20
+ getElement(): IBoundedElement & IFocusableNode;
21
+ /**
22
+ * Returns the type of flyout element this item represents.
23
+ */
24
+ getType(): string;
25
+ }
26
+ //# sourceMappingURL=flyout_item.d.ts.map