For consistency with code and docs, call the files that contain code
which retrieves the chunks' export objects "chunk exporters", since
"chunk exports" better describes the objects being exported.
Reorder the new code that generates the chunk exporters, to put
it together with (but before) the code that generates the chunk
wrappers, since the two are closely coupled.
The existing code results in each chunk overwriting the same
well-known property ($.__chunkExports__). Since these properties
are only expected to be read once, in the same chunk's wrapper's
factory function, this isn't strictly wrong - but it made
understanding the minified bundles produced by PR #9912 a bit
confusing.
Since the chunk export files are source files to Closure Compiler,
separate the creation of the former from the invocation of the
latter. Specifically:
- Rename writeChunkExportFiles to buildChunkExporters.
- Invoked as a separate task in the minify series, instead of
calling it directly from buildCompiled.
- Revert the changes to buildCompiled that made it an async
function just so it could call writeChunkExportFiles.
* feat: Announce usage hints to screenreaders on initial workspace focus
* fix: Improve robustness of tests
* fix: Fix merge
* fix: Don't announce screenreader usage on first focus of every workspace
* fix: Fix test
* feat: Add custom input labels to built in blocks
* feat: Add custom input labels to built in list blocks
* fix: replace 'command' with 'statement' in new translation docs
* fix: remove some labels
Reverts the storage mechanism introduced in #9611 (constructable
stylesheets via `adoptedStyleSheets`) while keeping the per-root
injection-site tracking that #9611 added for shadow-DOM support.
Motivations:
- Safari 15.4 compatibility. `new CSSStyleSheet()` and
`adoptedStyleSheets` require Safari 16.4+
- Cascade order. `adoptedStyleSheets` apply after `<style>`/`<link>`
elements in the document, so Blockly's defaults silently overrode
host stylesheets. Prepending a `<style>` to the head (or to the
shadow root) restores the pre-#9611 behavior where any author
stylesheet declared later wins on specificity ties.
Trade-offs:
- Per-shadow-root CSS text is duplicated rather than shared via a
single adopted sheet object. Negligible for typical use.
- `Css.register()` calls made after the first `inject()` no longer
reach already-injected roots (same as #9611's behavior); subsequent
`inject()` calls into other roots still pick them up. Web-component
consumers can legitimately register late, so this is preferred to
reinstating the pre-#9611 throw.
Fixes#9876
The controls_ifelse block was using the controls_if_tooltip dynamic
extension, which reads this.elseifCount_ and this.elseCount_ set by
the controls_if_mutator. Since controls_ifelse has no mutator, both
counts are undefined and the extension always returned TOOLTIP_1 (for
a simple if), instead of TOOLTIP_2 (for if/else).
The static tooltip already declared on the block was unreachable
because of a typo (BKYCONTROLS_IF_TOOLTIP_2 was missing the underscore
after BKY) and would have been overridden by the extension anyway.
Fix the message key typo and drop the extension so the static
TOOLTIP_2 string is displayed instead.
Fixes#9813
Signed-off-by: sheitabrk <44614193+sheitabrk@users.noreply.github.com>
* chore(docs): update keyboard shortcut page for v13
* chore(docs): update nesting on keyboard nav documentation
* chore(docs): remove references to META keycode in favor of CTRL_CMD
* chore(docs): Update explanation of keyboard navigation
* chore(docs): add compliance info for keyboard nav
* chore(docs): refer to command and control instead of meta
* fix: insert custom input label before children
* fix: do not add empty field labels to block label
* fix: revert ariaLabelProvider changes
* fix: add override designation
* fix: update test after merge conflict