UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

46 lines (45 loc) 1.48 kB
export function createCustomEvent(_a) { var cancelable = _a.cancelable, detail = _a.detail; var event = document.createEvent('CustomEvent'); event.initCustomEvent('awsui', false, cancelable, detail); var origPreventDefault = event.preventDefault.bind(event); event.preventDefault = function () { origPreventDefault(); Object.defineProperty(this, 'defaultPrevented', { get: function () { return true; }, configurable: true }); }; return event; } export function fireNonCancelableEvent(handler, detail) { if (!handler) { return; } var event = createCustomEvent({ cancelable: false, detail: detail }); handler(event); } export function fireCancelableEvent(handler, detail, sourceEvent) { if (!handler) { return false; } var event = createCustomEvent({ cancelable: true, detail: detail }); handler(event); if (event.defaultPrevented && sourceEvent) { sourceEvent.preventDefault(); } if (event.cancelBubble && sourceEvent) { sourceEvent.stopPropagation(); } return event.defaultPrevented; } export function fireKeyboardEvent(handler, reactEvent) { return fireCancelableEvent(handler, { keyCode: reactEvent.keyCode, key: reactEvent.key, ctrlKey: reactEvent.ctrlKey, shiftKey: reactEvent.shiftKey, altKey: reactEvent.altKey, metaKey: reactEvent.metaKey }, reactEvent); }