@atlas-kitchen/adyen-web
Version:
3 lines (2 loc) • 2.09 kB
JavaScript
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import o from"../../../_virtual/index.js";import{useModal as n}from"./useModal.js";function s(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){if(null==e)return{};var t,o,n=function(e,r){if(null==e)return{};var t,o,n={},s=Object.keys(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}const a=a=>{var{children:l,classNameModifiers:c=[],isOpen:u,onClose:d,isDismissible:f=!0,labelledBy:p,describedBy:m,focusFirst:b,focusAfterClose:y}=a,O=i(a,["children","classNameModifiers","isOpen","onClose","isDismissible","labelledBy","describedBy","focusFirst","focusAfterClose"]);const h=r(),{closeModal:j,handleClickOutside:k}=n({modalElement:h.current,isOpen:u,isDismissible:f,focusFirst:b,focusAfterClose:y,onClose:d});return t((()=>{if(!h.current)return;const e=e=>{"Enter"!==e.key&&"Enter"!==e.code||e.stopPropagation()};return h.current.addEventListener("keypress",e,{capture:!0}),()=>{h.current.removeEventListener("keypress",e)}}),[h.current]),e("div",function(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){s(e,r,t[r])}))}return e}({className:o("adyen-checkout__modal-wrapper",c.map((e=>`adyen-checkout__modal-wrapper--${e}`)),{"adyen-checkout__modal-wrapper--open":u}),role:"dialog","aria-labelledby":p,"aria-describedby":m,"aria-modal":"true","aria-hidden":!u,onClick:k},O),e("div",{className:"adyen-checkout__modal",ref:h},l({onCloseModal:j})))};export{a as Modal};
//# sourceMappingURL=Modal.js.map