@primer/view-components 0.13.1-rc.1b8d61f8 → 0.13.1
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.
@@ -101,6 +101,8 @@ let ActionBarElement = class ActionBarElement extends HTMLElement {
|
|
101
101
|
};
|
102
102
|
_ActionBarElement_initialBarWidth = new WeakMap(), _ActionBarElement_previousBarWidth = new WeakMap(), _ActionBarElement_focusZoneAbortController = new WeakMap(), _ActionBarElement_instances = new WeakSet(), _ActionBarElement_isVisible = function _ActionBarElement_isVisible(element) {
|
103
103
|
// Safari doesn't support `checkVisibility` yet.
|
104
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
105
|
+
// @ts-ignore
|
104
106
|
if (typeof element.checkVisibility === 'function')
|
105
107
|
return element.checkVisibility();
|
106
108
|
return Boolean(element.offsetParent || element.offsetWidth || element.offsetHeight);
|
@@ -15,7 +15,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
15
15
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
16
16
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
17
17
|
};
|
18
|
-
var _ActionMenuElement_instances, _ActionMenuElement_abortController, _ActionMenuElement_originalLabel, _ActionMenuElement_inputName, _ActionMenuElement_invokerBeingClicked, _ActionMenuElement_softDisableItems, _ActionMenuElement_potentiallyDisallowActivation, _ActionMenuElement_isKeyboardActivation, _ActionMenuElement_isMouseActivation, _ActionMenuElement_isActivation, _ActionMenuElement_handleInvokerActivated, _ActionMenuElement_handleDialogItemActivated, _ActionMenuElement_handleItemActivated, _ActionMenuElement_activateItem, _ActionMenuElement_handleIncludeFragmentReplaced, _ActionMenuElement_handleFocusOut, _ActionMenuElement_show, _ActionMenuElement_hide, _ActionMenuElement_isOpen, _ActionMenuElement_setDynamicLabel, _ActionMenuElement_updateInput, _ActionMenuElement_firstItem_get, _ActionMenuElement_items_get;
|
18
|
+
var _ActionMenuElement_instances, _ActionMenuElement_abortController, _ActionMenuElement_originalLabel, _ActionMenuElement_inputName, _ActionMenuElement_invokerBeingClicked, _ActionMenuElement_softDisableItems, _ActionMenuElement_potentiallyDisallowActivation, _ActionMenuElement_isKeyboardActivation, _ActionMenuElement_isKeyboardActivationViaEnter, _ActionMenuElement_isKeyboardActivationViaSpace, _ActionMenuElement_isMouseActivation, _ActionMenuElement_isActivation, _ActionMenuElement_handleInvokerActivated, _ActionMenuElement_handleDialogItemActivated, _ActionMenuElement_handleItemActivated, _ActionMenuElement_activateItem, _ActionMenuElement_handleIncludeFragmentReplaced, _ActionMenuElement_handleFocusOut, _ActionMenuElement_show, _ActionMenuElement_hide, _ActionMenuElement_isOpen, _ActionMenuElement_setDynamicLabel, _ActionMenuElement_updateInput, _ActionMenuElement_firstItem_get, _ActionMenuElement_items_get;
|
19
19
|
import { controller, target } from '@github/catalyst';
|
20
20
|
import '@oddbird/popover-polyfill';
|
21
21
|
const validSelectors = ['[role="menuitem"]', '[role="menuitemcheckbox"]', '[role="menuitemradio"]'];
|
@@ -109,7 +109,7 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement {
|
|
109
109
|
__classPrivateFieldGet(this, _ActionMenuElement_abortController, "f").abort();
|
110
110
|
}
|
111
111
|
handleEvent(event) {
|
112
|
-
var _a;
|
112
|
+
var _a, _b;
|
113
113
|
const targetIsInvoker = (_a = this.invokerElement) === null || _a === void 0 ? void 0 : _a.contains(event.target);
|
114
114
|
const eventIsActivation = __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isActivation).call(this, event);
|
115
115
|
if (targetIsInvoker && event.type === 'mousedown') {
|
@@ -151,6 +151,14 @@ let ActionMenuElement = class ActionMenuElement extends HTMLElement {
|
|
151
151
|
}
|
152
152
|
__classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_activateItem).call(this, event, item);
|
153
153
|
__classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_handleItemActivated).call(this, event, item);
|
154
|
+
// Pressing the space key on a button will cause the page to scroll unless preventDefault()
|
155
|
+
// is called. Unfortunately, calling preventDefault() will also skip form submission. The
|
156
|
+
// code below therefore only calls preventDefault() if the button submits a form and the
|
157
|
+
// button is being activated by the space key.
|
158
|
+
if (item.getAttribute('type') === 'submit' && __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaSpace).call(this, event)) {
|
159
|
+
event.preventDefault();
|
160
|
+
(_b = item.closest('form')) === null || _b === void 0 ? void 0 : _b.submit();
|
161
|
+
}
|
154
162
|
return;
|
155
163
|
}
|
156
164
|
if (event.type === 'include-fragment-replaced') {
|
@@ -176,10 +184,17 @@ _ActionMenuElement_abortController = new WeakMap(), _ActionMenuElement_originalL
|
|
176
184
|
event.stopImmediatePropagation();
|
177
185
|
}
|
178
186
|
}, _ActionMenuElement_isKeyboardActivation = function _ActionMenuElement_isKeyboardActivation(event) {
|
187
|
+
return __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaEnter).call(this, event) || __classPrivateFieldGet(this, _ActionMenuElement_instances, "m", _ActionMenuElement_isKeyboardActivationViaSpace).call(this, event);
|
188
|
+
}, _ActionMenuElement_isKeyboardActivationViaEnter = function _ActionMenuElement_isKeyboardActivationViaEnter(event) {
|
189
|
+
return (event instanceof KeyboardEvent &&
|
190
|
+
event.type === 'keydown' &&
|
191
|
+
!(event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) &&
|
192
|
+
event.key === 'Enter');
|
193
|
+
}, _ActionMenuElement_isKeyboardActivationViaSpace = function _ActionMenuElement_isKeyboardActivationViaSpace(event) {
|
179
194
|
return (event instanceof KeyboardEvent &&
|
180
195
|
event.type === 'keydown' &&
|
181
196
|
!(event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) &&
|
182
|
-
|
197
|
+
event.key === ' ');
|
183
198
|
}, _ActionMenuElement_isMouseActivation = function _ActionMenuElement_isMouseActivation(event) {
|
184
199
|
return event instanceof MouseEvent && event.type === 'click';
|
185
200
|
}, _ActionMenuElement_isActivation = function _ActionMenuElement_isActivation(event) {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@primer/view-components",
|
3
|
-
"version": "0.13.1
|
3
|
+
"version": "0.13.1",
|
4
4
|
"description": "ViewComponents for the Primer Design System",
|
5
5
|
"main": "app/assets/javascripts/primer_view_components.js",
|
6
6
|
"module": "app/components/primer/primer.js",
|