Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/ui/makeup-menu-button/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ window.onload = function () {
menuItemButtonAriaLabelSelector,
});

widget.menu.el.addEventListener("makeup-menu-select", (e) => console.log(e.type, e.detail));
widget.menu.el.addEventListener("makeup-menu-change", (e) => console.log(e.type, e.detail));
widget.menu.el.addEventListener("makeup-menu-button-mutation", (e) => console.log(e.type, e.detail));
widget.el.addEventListener("makeup-menu-button-select", (e) => console.log(e.type, e.detail));
widget.el.addEventListener("makeup-menu-button-change", (e) => console.log(e.type, e.detail));
widget.el.addEventListener("makeup-menu-button-mutation", (e) => console.log(e.type, e.detail));
});
};
36 changes: 26 additions & 10 deletions docs/ui/makeup-menu-button/index.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/ui/makeup-menu-button/index.min.js.map

Large diffs are not rendered by default.

30 changes: 23 additions & 7 deletions packages/ui/makeup-menu-button/dist/cjs/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ class _default {
this._onButtonFirstClickListener = _onButtonFirstClick.bind(this);
this._onMenuKeyDownListener = _onMenuKeyDown.bind(this);
this._onMenuItemSelectListener = _onMenuItemSelect.bind(this);
this._onMenuItemChangeListener = _onMenuItemChange.bind(this);
this._onMutationListener = _onMutation.bind(this);
this.el.classList.add("menu-button--js");
if (!this._options.customElementMode) {
Expand Down Expand Up @@ -71,14 +72,23 @@ class _default {
});
this.menu.el.addEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.addEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}
}
_unobserveEvents() {
this._buttonEl.removeEventListener("click", this._onButtonFirstClickListener);
this.menu.el.removeEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.removeEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}

// this should maybe be moved to expander as an option callback for after collapse
_collapseMenuAfterTimeout() {
const widget = this;
setTimeout(function () {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
}
destroy() {
this._destroyed = true;
Expand All @@ -87,6 +97,7 @@ class _default {
this._onButtonFirstClickListener = null;
this._onMenuKeyDownListener = null;
this._onMenuItemSelectListener = null;
this._onMenuItemChangeListener = null;
this._onMutationListener = null;
}
}
Expand All @@ -112,14 +123,19 @@ function _onMenuKeyDown(e) {
}
}
function _onMenuItemSelect(e) {
const widget = this;
this._collapseMenuAfterTimeout();
this.el.dispatchEvent(new CustomEvent("makeup-menu-button-select", {
detail: e.detail
}));
}
function _onMenuItemChange(e) {
const {
el
} = e.detail;
setTimeout(function () {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
this._collapseMenuAfterTimeout();
this.el.dispatchEvent(new CustomEvent("makeup-menu-button-change", {
detail: e.detail
}));
if (el.getAttribute("role") !== "menuitemradio") {
return;
}
Expand Down
33 changes: 26 additions & 7 deletions packages/ui/makeup-menu-button/dist/mjs/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ class index_default {
this._onButtonFirstClickListener = _onButtonFirstClick.bind(this);
this._onMenuKeyDownListener = _onMenuKeyDown.bind(this);
this._onMenuItemSelectListener = _onMenuItemSelect.bind(this);
this._onMenuItemChangeListener = _onMenuItemChange.bind(this);
this._onMutationListener = _onMutation.bind(this);
this.el.classList.add("menu-button--js");
if (!this._options.customElementMode) {
Expand Down Expand Up @@ -62,14 +63,22 @@ class index_default {
this._buttonEl.addEventListener("click", this._onButtonFirstClickListener, { once: true });
this.menu.el.addEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.addEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}
}
_unobserveEvents() {
this._buttonEl.removeEventListener("click", this._onButtonFirstClickListener);
this.menu.el.removeEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.removeEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}
// this should maybe be moved to expander as an option callback for after collapse
_collapseMenuAfterTimeout() {
const widget = this;
setTimeout(function() {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
}
destroy() {
this._destroyed = true;
Expand All @@ -78,6 +87,7 @@ class index_default {
this._onButtonFirstClickListener = null;
this._onMenuKeyDownListener = null;
this._onMenuItemSelectListener = null;
this._onMenuItemChangeListener = null;
this._onMutationListener = null;
}
}
Expand All @@ -104,12 +114,21 @@ function _onMenuKeyDown(e) {
}
}
function _onMenuItemSelect(e) {
const widget = this;
this._collapseMenuAfterTimeout();
this.el.dispatchEvent(
new CustomEvent("makeup-menu-button-select", {
detail: e.detail
})
);
}
function _onMenuItemChange(e) {
const { el } = e.detail;
setTimeout(function() {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
this._collapseMenuAfterTimeout();
this.el.dispatchEvent(
new CustomEvent("makeup-menu-button-change", {
detail: e.detail
})
);
if (el.getAttribute("role") !== "menuitemradio") {
return;
}
Expand Down
38 changes: 31 additions & 7 deletions packages/ui/makeup-menu-button/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export default class {
this._onButtonFirstClickListener = _onButtonFirstClick.bind(this);
this._onMenuKeyDownListener = _onMenuKeyDown.bind(this);
this._onMenuItemSelectListener = _onMenuItemSelect.bind(this);
this._onMenuItemChangeListener = _onMenuItemChange.bind(this);
this._onMutationListener = _onMutation.bind(this);

this.el.classList.add("menu-button--js");
Expand Down Expand Up @@ -70,15 +71,25 @@ export default class {
this._buttonEl.addEventListener("click", this._onButtonFirstClickListener, { once: true });
this.menu.el.addEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.addEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.addEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}
}

_unobserveEvents() {
this._buttonEl.removeEventListener("click", this._onButtonFirstClickListener);
this.menu.el.removeEventListener("keydown", this._onMenuKeyDownListener);
this.menu.el.removeEventListener("makeup-menu-select", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemSelectListener);
this.menu.el.removeEventListener("makeup-menu-change", this._onMenuItemChangeListener);
}

// this should maybe be moved to expander as an option callback for after collapse
Comment thread
ianmcburnie marked this conversation as resolved.
Outdated
_collapseMenuAfterTimeout() {
const widget = this;

setTimeout(function () {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
}
Comment thread
ianmcburnie marked this conversation as resolved.

destroy() {
Expand All @@ -90,6 +101,7 @@ export default class {
this._onButtonFirstClickListener = null;
this._onMenuKeyDownListener = null;
this._onMenuItemSelectListener = null;
this._onMenuItemChangeListener = null;
this._onMutationListener = null;
}
}
Expand Down Expand Up @@ -120,13 +132,25 @@ function _onMenuKeyDown(e) {
}

function _onMenuItemSelect(e) {
const widget = this;
this._collapseMenuAfterTimeout();

this.el.dispatchEvent(
new CustomEvent("makeup-menu-button-select", {
detail: e.detail,
}),
);
}

function _onMenuItemChange(e) {
const { el } = e.detail;

setTimeout(function () {
widget._expander.expanded = false;
widget._buttonEl.focus();
}, 150);
this._collapseMenuAfterTimeout();

this.el.dispatchEvent(
new CustomEvent("makeup-menu-button-change", {
detail: e.detail,
}),
);

if (el.getAttribute("role") !== "menuitemradio") {
return;
Expand Down
Loading