Version Packages - #132
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
29 times, most recently
from
July 29, 2026 18:00
7f7304b to
018c0c6
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
August 5, 2026 18:36
203f422 to
c3bb9af
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
6 times, most recently
from
August 28, 2026 05:41
df09d6c to
4773412
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
20 times, most recently
from
September 6, 2026 09:51
d6041a7 to
c7e0cdc
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
September 6, 2026 10:05
c7e0cdc to
3fcdfaf
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
marking-menu@1.0.0
Major Changes
#138
c150389- Stop assigning generated positional IDs to menu items. Items without acaller-provided ID now expose
id: undefined; provide an explicit ID when anitem must be addressed by ID. Positional identity is available separately as
the library-assigned
keyproperty.#138
c150389- RenamegetChildrenByName()togetChildrenByLabel()on emitted menu items.#233
ab83b8b-createMarkingMenuno longer returns an RxJSObservable. It returns analready-active controller: listen with
controller.on(type, listener)andstop the menu with
controller.dispose()(or[Symbol.dispose](), forusing).Six events replace the old notification stream:
start,open,move,change,select, andcancel.movenow fires in every mode, sodrawis gone;
cancel'sselectionfield is renamedactive, and is alwayspresent. Where you used to do this:
do this instead:
notifySteps,MarkingMenuNotification,exportNotification, and theconditional result type it produced are gone along with it: every controller
now dispatches the full event set, so a consumer who only wants selections
listens for
selectand ignores the rest.#144
1580c6e- Ship a single ES module entry point atdist/index.js. Remove the UMDartifact, including its CommonJS, AMD, and
window.MarkingMenuloading paths,and remove the former
marking-menu.mjsentry point. Browser consumers mustnow load the package as an ES module.
#145
4c70277- ReturnnullfromgetNearestChild()when an emitted menu item has nosub-items, instead of throwing.
#138
c150389- Returnnullinstead ofundefinedfromgetChild()when no direct sub-itemhas the requested ID. Calling
getChild()on a leaf now also returnsnullinstead of throwing.
#138
c150389- Replace theisLeaf()method on emitted menu items with anisLeafbooleanproperty.
#138
c150389- Replace theisRoot()method on emitted menu items with anisRootbooleanproperty.
#138
c150389- Rename the menu itemnameproperty tolabel.#227
1efeece- Returnnullinstead ofundefinedfrom the root'sparentproperty.Items'
parentis now precisely typed: for a model built from a literalmenu description, it resolves to the exact ancestor node instead of a loose
one.
AnyModelNode,MarkingMenuModelItemandModelRootgain the fieldin their types, so any code implementing or mocking one of them needs to
supply it.
#145
4c70277- Raise the browser build target to Chrome and Edge 111, Firefox 114, andSafari and iOS 16.4 or newer.
#138
c150389- Replace the defaultMarkingMenuexport with the namedcreateMarkingMenuexport. Update imports and calls accordingly:
#188
fe933d7- NarrowMarkingMenuLoggertoerror, now taking a singleErrorargumentrather than varargs of
unknown. Errors are normalized before reaching it, soa handler typed to expect an
Errorcan be passed directly.info,warnand
debugbecome optional and ignored, since nothing in the library evercalled them.
consolestill satisfies the type, andlogcan still beoverridden partially. Three things break: a logger whose
errorexpectssomething other than (or in addition to) an
Error, a logger whoseerrordeclares two or more required parameters, and any code that imported
MarkingMenuLoggerto call.info(),.warn()or.debug()on it.#129
25c0a37- Remove the string shorthand for menu items. Every menu item must now be anobject.
#138
c150389- Pass a single configuration object tocreateMarkingMenuinstead of usingpositional arguments:
createMarkingMenu({ items, parent, ...options }).#138
c150389- Expose sub-items of emitted selection items asitemsinstead ofchildren.#138
c150389- Define submenus withitemsinstead ofchildren.#145
4c70277- Rename thesubMenuOpeningDelayconfiguration option tosubmenuOpeningDelay.#138
c150389- Require caller-provided item IDs to be unique across the entire menu tree.Duplicate literal IDs are rejected by TypeScript, and duplicate IDs in
dynamically built menus throw when the menu is created.
Minor Changes
#234
fc86a4e-rxjsis gone: not a dependency, not a peer dependency, not a runtimeimport. Events reach you through the controller's plain
on/disposeAPIwith nothing to install or pin a compatible version of.
#189
bffd5aa- Export the public event classes and typed, listen-only emitter facade thatthe upcoming native event-based API will use:
MarkingMenuStartEvent,MarkingMenuOpenEvent,MarkingMenuMoveEvent,MarkingMenuChangeEvent,MarkingMenuSelectEvent,MarkingMenuCancelEvent, their sharedMarkingMenuEventBase, theMarkingMenuEventMap/MarkingMenuEventtypes, andMarkingMenuEventEmitter.These events are plain classes, not DOM
Events: this library has no DOMtarget, bubbling, or default action to prevent, so there is none of that
machinery to carry around.
MarkingMenuEventEmitteris listen-only:on/offnarrowed per event name, with no listener options (once/signal/capture) and no
dispatch/emitin the type at all.#150
c7ad8ad- Migrate drag handling to Pointer Events with pointer capture, explicit gesture cancellation, reliable touch-action management, and complete listener and inner-observable teardown.#147
9c46198- Ship TypeScript type declarations. Emitted selections are typed from the itemspassed to
createMarkingMenu(), so theiridandlabelnarrow to the exactvalues described, instead of being
unknown.Patch Changes
9c46198- Remove theraf-schddependency, replaced with an equivalent internalimplementation. No behavior change;
raf-schdjust no longer shows up inconsumers'
node_modulesor dependency audits.All notable changes to this project will be documented in this file. Entries are generated from Changesets — see
.changeset/README.mdfor how to add one.0.10.1 (2026-07-22)
Features
Bug Fixes