Commit Graph

8520 Commits

Author SHA1 Message Date
Maribeth Moffatt
0255c580f7 Merge branch 'develop' into merge-v11 2024-05-13 11:20:39 -07:00
Christopher Allen
59584c3a57 chore(build): Set "type": "commonjs" in dist/package.json (#8097)
Set "type": "commonjs" in the generated dist/package.json file,
since the .js files in the package root are CJS. This should be a
no-op since that's the default, but by setting it explicitly we
ensure that any change to the repository top-level
package.json to set "type": "module" won't break the
published package accidentally.
2024-05-13 10:55:58 -07:00
Neil Fraser
c0298652af feat: Add snapping to workspace comments. (#8070)
Now that there are two things that snap (blocks and WS comments), the alignment code in being moved to a common place.
2024-05-12 23:16:26 +02:00
Christopher Allen
2ebdc0b7f9 feat(build)!: Introduce ESM entrypoints (#8091)
* feat(build)!: Introduce ESM entrypoints for chunks

  Introduce an "import" conditional export for each of the chunk
  entrypoints (blockly/core, blockly/blocks, blockly/javascript
  etc.), and point these at wrappers created by build_tasks.js
  that import the corresponding <chunk>_compressed.js file and
  export its named exports.

  BREAKING CHANGE:

  Importing Blockly via

      import Blockly from 'blockly/core';

  (and similarly for the other chunk entrypoints) has worked until
  now because most build tools (including Webpack in particular)
  fuilfil the request for the default export of a CJS module by
  providing the module.exports object, rather than an
  explicitly-named default export as they would for an ES module.

  Since core/blockly.ts (the notional entrypoint for blockly/core)
  does not provide a default export, the wrappers created by this
  PR do not either.

  Code of the above form will therefore break, and should be updated
  to use a wildcard:

      import * as Blockly from 'blockly/core';

* feat(build)!: Introduce main package ESM entrypoint

  Introduce an "import" conditional export for the top-level
  package entrypoint (blockly), and point it at a wrappers
  created by build_tasks.js that imports the existing index.js
  file.

  BREAKING CHANGE:

  Importing Blockly via

      import Blockly from 'blockly';

  has worked until now because most build tools (including Webpack
  in particular) fuilfil the request for the default export of a
  CJS module by providing the module.exports object, rather than an
  explicitly-named default export as they would for an ES module.

  Since core/blockly.ts does not provide a default export, the
  wrapper created by this PR does not either.

  Code of the above form will therefore break, and should be updated
  to use a wildcard:

      import * as Blockly from 'blockly';

* feat(build)!: Introduce ESM entrypoints for langfiles

  Introduce an "import" conditional export for each of the
  langfile entrypoints (msg/en, msg/fr, etc.),, and point them
  at wrappers created by build_tasks.js that import the
  existing <lang>.js file.

  BREAKING CHANGE:

  Importing languages via

      import en from 'blockly/msg/en';

  has worked until now because most build tools (including Webpack
  in particular) fuilfil the request for the default export of a
  CJS module by providing the module.exports object, rather than an
  explicitly-named default export as they would for an ES module.

  Code of the above form will therefore break, and should be updated
  to use a wildcard:

      import * as en from 'blockly/msg/en';

* fix(typings): Remove bogus .d.ts file.

  For some reason we had a typings/msg/yue.d.ts that did not
  correxpond to any msg/json/yue.json.  Delete it.
2024-05-10 22:42:35 +01:00
Maribeth Bottorff
28ac0c4473 fix: improve types in FieldRegistry (#8062)
* fix: improve types in FieldRegistry

* chore: tsdoc
2024-05-10 14:14:50 -07:00
Beka Westberg
c704d5a887 revert: "feat: allow the dialog methods to take in extra parameters (#8084)" (#8085)
This reverts commit 278006b5f8.
2024-05-10 11:12:15 -07:00
Maribeth Bottorff
54eeb85d89 fix!: add getContents to IFlyout (#8064) 2024-05-08 11:44:00 -07:00
Beka Westberg
278006b5f8 feat: allow the dialog methods to take in extra parameters (#8084)
* feat: allow prompt to take in additional params

* feat: allow confirm tot ake in extra args

* feat: allow alert dialog to take in extra parameters

* chore: add tests for dialog methods
2024-05-08 10:10:09 -07:00
Neil Fraser
76e179d655 Revert "fix: Don't record undo events for enable/disable" (#8069)
This reverts commit 1a8e4d9e69.
2024-05-07 20:34:15 +02:00
Neil Fraser
4e688bf949 fix: Don't record undo events for enable/disable (#8058)
There's no need to record and replay these events since the change will happen automatically anyway.

Resolves #7951
2024-05-07 20:33:50 +02:00
Aaron Dodson
08183863e7 refactor: split out block serialization for creating new blocks from the flyout (#8065)
* refactor: split out block serialization for creating new blocks from the flyout

* fix: add JSDoc.

* chore: satisfy the linter.
2024-05-03 12:27:55 -07:00
John Nesky
171befa746 fix!: Only fire intermediate events when editing input with invalid text. (#8054)
* fix: Fire intermediate events only when editing text input.

* Prefix unused arg with underscore.

* Fix tests.
2024-05-02 18:57:57 -07:00
Richard Knoll
4861c7d98a fix: prevent duplication of comment icon bubbles (#8053) 2024-05-02 08:38:40 -07:00
Neil Fraser
185c82a991 fix: Don't record undo events for enable/disable (#8049)
There's no need to record and replay these events since the change will happen automatically anyway.

Related to #7951 and #7950.
2024-04-30 23:51:20 +02:00
Maribeth Bottorff
da97e782c4 feat: add block factory export in json (#8051) 2024-04-29 16:41:09 -07:00
Neil Fraser
5a5184ab4f fix: Correct list's "find" and "get" blocks help. (#8041)
* Correct list's "find" and "get" blocks help.

Both blocks were using the same help URL.

Two unrelated results of recompiling messages:
* Allow unwanted 'qqq' messages to be reverted.
* 'constants.json' is unchanged, but sorted.

Also improve python json dumping.
2024-04-26 20:23:43 +02:00
Christopher Allen
19fa49101a release: Update version number to 11.0.0-beta.10 blockly-v11.0.0-beta.10 2024-04-24 21:05:54 +01:00
Christopher Allen
a062ab87c8 fix(build): Reintroduce shims for subpackage entrypoints (#8050)
This is in effect a partial rollback of PR #7822.

This should solve issues encountered by users of bunders that don't
support exports at all (e.g. browserify) as well as ones that don't
support it in certain circumstances (e.g., when using webpack's
resolve.alias configuration option to alias 'blockly' to
'node_modules/blockly', as we formerly did in most plugins, which
causes webpack to ignore blockly's package.json entirely).

Assumptions:
- Such bundlers will _completely_ ignore the exports declaration.
- The bundles are intended to be used in a browser—or at least not
  in node.js—so the core entrypoint never needs to route to
  core-node.js.  This is reasonable since there's little reason to
  bundle code for node.js, and node.js has supported the exports
  clause since at least v12, considerably older than any version of
  node.js we officially support.
- It suffices to provide only a CJS entrypoint (because we can only
  provide CJS or ESM, not both.  (We could in future switch to
  providing only an ESM entrypoint instead, though.)
2024-04-24 20:52:22 +01:00
Beka Westberg
93c4d75fbd fix: comment highlight being positioned incorrectly in RTL (#8044) 2024-04-19 11:33:25 -07:00
Beka Westberg
69c5557e4f chore: fix comments being resizable when readonly (#8043) 2024-04-19 11:15:56 -07:00
Beka Westberg
7246bbc0d1 fix: comment text input size in samples (#8042) 2024-04-19 08:37:35 -07:00
John Nesky
cee7f916bb feat!: Invalid Blocks (#7958)
* feat: Invalid Blocks

* Rename the new json property from invalid to invalidReasons.

* Merged isValid into isEnabled.

* Minor fixes.

* More minor fixes.

* Reverting some stuff that didn't need to change.

* Addressing PR feedback.

* Update the BlockInfo interface to match State.

* Make BlockChange.disabledReason private.
2024-04-17 19:47:51 -07:00
Beka Westberg
7d8f88a4f1 chore: delete old comments (#8038)
* chore!: delete old comment classes and references

* chore: PR comments
2024-04-17 14:33:36 -07:00
Beka Westberg
a865744b7e fix: bumping comments into bounds (#8037) 2024-04-17 14:02:46 -07:00
Beka Westberg
41fe298a62 fix: cut shortcut for workspace comments (#8036) 2024-04-17 13:53:57 -07:00
Beka Westberg
e21bb99ff1 feat!: Add context menu options for workspace comments (#8035)
* feat: add context menu support and migrate easy options

* feat: pass events to context menu options

* chore: migrate final comment context menu option

* feat: add exports for comment context menu items

* chore: PR comments
2024-04-17 13:02:53 -07:00
Beka Westberg
70f3f52911 fix: CSS for selected collapsed comments (#8039) 2024-04-17 09:48:43 -07:00
Beka Westberg
94dda6e668 fix: text input bubble css (#8040) 2024-04-17 09:47:51 -07:00
Beka Westberg
dabb11f4cb feat!: add ability to copy and paste workspace comments (#8024)
* chore: add support for copying and pasting workspace comments

* chore: fix build

* fix: PR comments
2024-04-15 14:43:58 -07:00
Beka Westberg
b6753a250e fix: more drag exports (#8025)
* fix: more drag exports I forgot about

* chore: fix date in copyright
2024-04-12 22:09:32 +00:00
Beka Westberg
d554053bd0 feat: add ability to delete workspace comments (#8023) 2024-04-11 13:22:50 -07:00
Beka Westberg
a0f821a239 fix: revert dragger name (#8020) 2024-04-11 13:22:17 -07:00
Beka Westberg
613c7335ee chore: export some types and methods (#8021) 2024-04-11 08:38:50 -07:00
Beka Westberg
ee95b4c577 chore: rename method (#8015) 2024-04-09 10:57:03 -07:00
Mike Harvey
e2df0fc288 fix: correct dropdown arrow placement for Thrasos on Safari (#8017) 2024-04-08 14:56:36 -07:00
Beka Westberg
7491a50239 fix: compatibility with scroll plugin (#8016) 2024-04-08 13:17:03 -07:00
Beka Westberg
3e1e9b5ddc fix: blocks not being returned to the correct layer if their drag is reverted with no parent (#7998)
* fix: blocks not being returned to the correct drag layer if their drag is reverted with no parent

* fix: delete test code
2024-04-08 09:44:31 -07:00
Beka Westberg
0cec8b1d29 fix: drag cursor not showing (#7999) 2024-04-08 09:23:49 -07:00
Beka Westberg
25ba5f0a3d fix: firing move event for insertion marker (#8000) 2024-04-05 13:50:14 -07:00
Beka Westberg
6f7e04d8eb fix: bubbles not being returned to the correct drag layer (#7997) 2024-04-05 13:46:28 -07:00
Beka Westberg
e1cbddd860 feat: visual comment selection (#7996)
* feat: add visually highlighting selected comment

* chore: TSDoc
2024-04-05 13:39:20 -07:00
Maribeth Moffatt
204d081bce release: update version number to 11.0.0-beta.7 2024-04-05 10:30:47 -07:00
Beka Westberg
e8c51965b4 feat: add toFlyoutData method for compatibility with backpack (#8002) 2024-04-05 10:25:33 -07:00
Beka Westberg
d6744758f8 chore: add webdriver tests for workspace comments (#7954)
* chore: add collapse and uncollapse tests

* chore: add typing test

* chore: add resizing test

* chore: add delete tests

* chore: add better assertion messages

* chore: copyright year
2024-04-05 16:18:01 +00:00
Beka Westberg
7277a2350f chore: delete old dragging infrastructure (#7995) 2024-04-05 09:13:02 -07:00
Beka Westberg
c60db431ca chore: delete useless DRAG_STACK value (#7994) 2024-04-04 15:58:24 -07:00
Beka Westberg
fd177358ea feat: comment collapse event (#7949)
* feat: define comment collapse event

* feat: add firing collapse events

* chore: add round-trip test

* chore: add tests for firing collapse events

* chore: format
2024-04-04 15:48:34 -07:00
Beka Westberg
c0e6e6745f fix: dragging shadow blocks (#7992)
* fix: dragging shadow blocks

* fix: dragging shadows not reverting them to their original position

* fix: shadow parents not being deselected
2024-04-04 18:30:41 +00:00
Maribeth Bottorff
b0c29b8b69 Merge pull request #7993 from google/develop
chore: merge develop into rc/v11
2024-04-04 11:14:18 -07:00
Beka Westberg
ed403d0b77 feat!: change gestures to look at selected when dragging (#7991)
* feat: change gestures to look at selected when dragging

* chore: fix tests

* chore: format

* chore: PR comments
2024-04-04 08:52:43 -07:00