From b6e9641237f495df7b753992ae74796b74989300 Mon Sep 17 00:00:00 2001 From: Pablo Klaschka Date: Sat, 23 Jan 2021 02:30:47 +0100 Subject: [PATCH 01/12] refactor: Custom dialogs and file structure 1. Use custom dialog implementation to increase compatibility since, for now, the element doesn't provide the compatibility we need 2. Revamp file structure to make long files shorter and more readable Refs: https://github.com/fliegwerk/fliegdoc/issues/26 --- .prettierrc.json | 6 + dist/bundle.js | 70 +++++++---- dist/bundle.js.map | 2 +- dist/oss-licenses.json | 9 -- package-lock.json | 15 +-- package.json | 5 +- src/components/dialog-content.tsx | 48 ++++++++ src/components/form.tsx | 36 ++++++ src/components/preface.tsx | 13 +++ src/components/search-input.tsx | 29 +++++ src/components/search-popup.tsx | 38 ++++++ src/components/search-result.tsx | 37 ++++++ src/dialog-content.tsx | 92 --------------- src/hooks/use-dialog-state.tsx | 8 ++ src/hooks/use-on-change-callback.tsx | 31 +++++ src/hooks/use-on-submit-callback.tsx | 22 ++++ src/hooks/use-open-shortcut-listener.tsx | 20 ++++ src/index.css | 141 +++++++++++++---------- src/index.ts | 20 ++-- src/lib/open-page.tsx | 12 ++ src/lib/registerWindowSearchFunction.tsx | 16 +++ src/option.tsx | 33 ------ src/searchPopup.tsx | 54 --------- 23 files changed, 464 insertions(+), 293 deletions(-) create mode 100644 .prettierrc.json create mode 100644 src/components/dialog-content.tsx create mode 100644 src/components/form.tsx create mode 100644 src/components/preface.tsx create mode 100644 src/components/search-input.tsx create mode 100644 src/components/search-popup.tsx create mode 100644 src/components/search-result.tsx delete mode 100644 src/dialog-content.tsx create mode 100644 src/hooks/use-dialog-state.tsx create mode 100644 src/hooks/use-on-change-callback.tsx create mode 100644 src/hooks/use-on-submit-callback.tsx create mode 100644 src/hooks/use-open-shortcut-listener.tsx create mode 100644 src/lib/open-page.tsx create mode 100644 src/lib/registerWindowSearchFunction.tsx delete mode 100644 src/option.tsx delete mode 100644 src/searchPopup.tsx diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..01812e9 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,6 @@ +{ + "tabWidth": 1, + "singleQuote": true, + "useTabs": true, + "endOfLine": "lf" +} diff --git a/dist/bundle.js b/dist/bundle.js index 7d73b38..760d79d 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -1,45 +1,69 @@ /*! See oss-licenses.json for licenses of open-source projects used here. */(()=>{"use strict";var e={"./node_modules/css-loader/dist/cjs.js!./src/index.css": /*!*************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js!./src/index.css ***! - \*************************************************************/(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});var o=n(/*! ../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js"),r=n.n(o),i=n(/*! ../node_modules/css-loader/dist/runtime/api.js */"./node_modules/css-loader/dist/runtime/api.js"),a=n.n(i)()(r());a.push([e.id,'* {\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog {\r\n border: none;\r\n border-radius: var(--universal-border-radius);\r\n width: 480px;\r\n max-width: 80%;\r\n position: fixed;\r\n top: 25%;\r\n left: 50%;\r\n transform: translate(-50%);\r\n margin: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog * {\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog > div {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n}\r\n\r\ndialog.search-dialog table, dialog.search-dialog input, dialog.search-dialog button, dialog.search-dialog [type="search"] {\r\n width: 100%;\r\n /*margin: 0;*/\r\n}\r\n\r\ndialog.search-dialog form {\r\n background: transparent;\r\n margin: 0;\r\n padding: 0;\r\n border: none;\r\n}\r\n\r\ndialog.search-dialog ul {\r\n overflow: auto;\r\n padding: 0;\r\n margin: 1rem 0;\r\n}\r\n\r\ndialog.search-dialog ul li {\r\n list-style-type: none;\r\n}\r\n\r\ndialog.search-dialog ul li.active a {\r\n background: var(--button-back-color);\r\n}\r\n\r\ndialog.search-dialog ul li a {\r\n color: inherit !important;\r\n text-decoration: none;\r\n display: block;\r\n}\r\n\r\ndialog.search-dialog ul li a:hover {\r\n text-decoration: none;\r\n}\r\n',"",{version:3,sources:["webpack://./src/index.css"],names:[],mappings:"AAAA;IACI,sBAAsB;AAC1B;;AAEA;IACI,YAAY;IACZ,6CAA6C;IAC7C,YAAY;IACZ,cAAc;IACd,eAAe;IACf,QAAQ;IACR,SAAS;IACT,0BAA0B;IAC1B,SAAS;IACT,sBAAsB;AAC1B;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,WAAW;IACX,aAAa;AACjB;;AAEA;IACI,uBAAuB;IACvB,SAAS;IACT,UAAU;IACV,YAAY;AAChB;;AAEA;IACI,cAAc;IACd,UAAU;IACV,cAAc;AAClB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,oCAAoC;AACxC;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;IACI,qBAAqB;AACzB",sourcesContent:['* {\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog {\r\n border: none;\r\n border-radius: var(--universal-border-radius);\r\n width: 480px;\r\n max-width: 80%;\r\n position: fixed;\r\n top: 25%;\r\n left: 50%;\r\n transform: translate(-50%);\r\n margin: 0;\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog * {\r\n box-sizing: border-box;\r\n}\r\n\r\ndialog.search-dialog > div {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n}\r\n\r\ndialog.search-dialog table, dialog.search-dialog input, dialog.search-dialog button, dialog.search-dialog [type="search"] {\r\n width: 100%;\r\n /*margin: 0;*/\r\n}\r\n\r\ndialog.search-dialog form {\r\n background: transparent;\r\n margin: 0;\r\n padding: 0;\r\n border: none;\r\n}\r\n\r\ndialog.search-dialog ul {\r\n overflow: auto;\r\n padding: 0;\r\n margin: 1rem 0;\r\n}\r\n\r\ndialog.search-dialog ul li {\r\n list-style-type: none;\r\n}\r\n\r\ndialog.search-dialog ul li.active a {\r\n background: var(--button-back-color);\r\n}\r\n\r\ndialog.search-dialog ul li a {\r\n color: inherit !important;\r\n text-decoration: none;\r\n display: block;\r\n}\r\n\r\ndialog.search-dialog ul li a:hover {\r\n text-decoration: none;\r\n}\r\n'],sourceRoot:""}]);const l=a},"./node_modules/css-loader/dist/runtime/api.js": + \*************************************************************/(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});var o=t(/*! ../node_modules/css-loader/dist/runtime/cssWithMappingToString.js */"./node_modules/css-loader/dist/runtime/cssWithMappingToString.js"),r=t.n(o),i=t(/*! ../node_modules/css-loader/dist/runtime/api.js */"./node_modules/css-loader/dist/runtime/api.js"),s=t.n(i)()(r());s.push([e.id,"* {\n\tbox-sizing: border-box;\n}\n\n.search-dialog {\n\tborder: none;\n\tborder-radius: 1em;\n\twidth: 480px;\n\tmax-width: 80%;\n\tposition: fixed;\n\ttop: calc(15vh - 1em);\n\tleft: 50%;\n\ttransform: translate(-50%);\n\tmargin: 0;\n\tbox-sizing: border-box;\n\tz-index: 1600;\n\tbackground: white;\n\tpadding: 1em;\n}\n\n.search-dialog * {\n\tbox-sizing: border-box;\n}\n\n.search-dialog > div {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmax-height: 70vh;\n\theight: 100%;\n}\n\n.search-dialog table,\n.search-dialog input,\n.search-dialog button,\n.search-dialog [type='search'] {\n\twidth: 100%;\n\t/*margin: 0;*/\n}\n\n.search-dialog form {\n\tbackground: transparent;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: none;\n}\n\n.search-dialog ul {\n\toverflow: auto;\n\tpadding: 0;\n\tmargin: 1rem 0;\n}\n\n.search-dialog ul li {\n\tlist-style-type: none;\n}\n\n.search-dialog ul li.active a {\n\tbackground: #eee;\n}\n\n.search-dialog ul li a {\n\tcolor: inherit !important;\n\ttext-decoration: none;\n\tdisplay: block;\n}\n\n.search-dialog ul li a:hover {\n\ttext-decoration: none;\n}\n\n.backdrop {\n\tbackground: rgba(0, 0, 0, 0.4);\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 1500;\n}\n","",{version:3,sources:["webpack://./src/index.css"],names:[],mappings:"AAAA;CACC,sBAAsB;AACvB;;AAEA;CACC,YAAY;CACZ,kBAAkB;CAClB,YAAY;CACZ,cAAc;CACd,eAAe;CACf,qBAAqB;CACrB,SAAS;CACT,0BAA0B;CAC1B,SAAS;CACT,sBAAsB;CACtB,aAAa;CACb,iBAAiB;CACjB,YAAY;AACb;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC,aAAa;CACb,sBAAsB;CACtB,gBAAgB;CAChB,YAAY;AACb;;AAEA;;;;CAIC,WAAW;CACX,aAAa;AACd;;AAEA;CACC,uBAAuB;CACvB,SAAS;CACT,UAAU;CACV,YAAY;AACb;;AAEA;CACC,cAAc;CACd,UAAU;CACV,cAAc;AACf;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,gBAAgB;AACjB;;AAEA;CACC,yBAAyB;CACzB,qBAAqB;CACrB,cAAc;AACf;;AAEA;CACC,qBAAqB;AACtB;;AAEA;CACC,8BAA8B;CAC9B,eAAe;CACf,MAAM;CACN,OAAO;CACP,QAAQ;CACR,SAAS;CACT,aAAa;AACd",sourcesContent:["* {\n\tbox-sizing: border-box;\n}\n\n.search-dialog {\n\tborder: none;\n\tborder-radius: 1em;\n\twidth: 480px;\n\tmax-width: 80%;\n\tposition: fixed;\n\ttop: calc(15vh - 1em);\n\tleft: 50%;\n\ttransform: translate(-50%);\n\tmargin: 0;\n\tbox-sizing: border-box;\n\tz-index: 1600;\n\tbackground: white;\n\tpadding: 1em;\n}\n\n.search-dialog * {\n\tbox-sizing: border-box;\n}\n\n.search-dialog > div {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmax-height: 70vh;\n\theight: 100%;\n}\n\n.search-dialog table,\n.search-dialog input,\n.search-dialog button,\n.search-dialog [type='search'] {\n\twidth: 100%;\n\t/*margin: 0;*/\n}\n\n.search-dialog form {\n\tbackground: transparent;\n\tmargin: 0;\n\tpadding: 0;\n\tborder: none;\n}\n\n.search-dialog ul {\n\toverflow: auto;\n\tpadding: 0;\n\tmargin: 1rem 0;\n}\n\n.search-dialog ul li {\n\tlist-style-type: none;\n}\n\n.search-dialog ul li.active a {\n\tbackground: #eee;\n}\n\n.search-dialog ul li a {\n\tcolor: inherit !important;\n\ttext-decoration: none;\n\tdisplay: block;\n}\n\n.search-dialog ul li a:hover {\n\ttext-decoration: none;\n}\n\n.backdrop {\n\tbackground: rgba(0, 0, 0, 0.4);\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 1500;\n}\n"],sourceRoot:""}]);const u=s},"./node_modules/css-loader/dist/runtime/api.js": /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! - \*****************************************************/e=>{e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var i=0;i{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")},n.i=function(e,t,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var i=0;i{function t(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],o=!0,r=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(o=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==l.return||l.return()}finally{if(r)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return n(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n{n.r(t),n.d(t,{default:()=>b});var o=window.CustomEvent;function r(e,t){var n="on"+t.type.toLowerCase();return"function"==typeof e[n]&&e[n](t),e.dispatchEvent(t)}function i(e){for(;e;){if("dialog"===e.localName)return e;e=e.parentElement?e.parentElement:e.parentNode?e.parentNode.host:null}return null}function a(e){for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;e&&e.blur&&e!==document.body&&e.blur()}function l(e,t){for(var n=0;n=0&&(e=this.dialog_),e||(e=u(this.dialog_)),a(document.activeElement),e&&e.focus()},updateZIndex:function(e,t){if(e, the polyfill may not work correctly",e),"dialog"!==e.localName)throw new Error("Failed to register dialog: The element is not a dialog.");new h(e)},registerDialog:function(e){e.showModal||f.forceRegisterDialog(e)},DialogManager:function(){this.pendingDialogStack=[];var e=this.checkDOM_.bind(this);this.overlay=document.createElement("div"),this.overlay.className="_dialog_overlay",this.overlay.addEventListener("click",function(t){this.forwardTab_=void 0,t.stopPropagation(),e([])}.bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=100150,this.forwardTab_=void 0,"MutationObserver"in window&&(this.mo_=new MutationObserver((function(t){var n=[];t.forEach((function(e){for(var t,o=0;t=e.removedNodes[o];++o)t instanceof Element&&("dialog"===t.localName&&n.push(t),n=n.concat(t.querySelectorAll("dialog")))})),n.length&&e(n)})))}};if(f.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener("focus",this.handleFocus_,!0),document.addEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},f.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener("focus",this.handleFocus_,!0),document.removeEventListener("keydown",this.handleKey_),this.mo_&&this.mo_.disconnect()},f.DialogManager.prototype.updateStacking=function(){for(var e,t=this.zIndexHigh_,n=0;e=this.pendingDialogStack[n];++n)e.updateZIndex(--t,--t),0===n&&(this.overlay.style.zIndex=--t);var o=this.pendingDialogStack[0];o?(o.dialog.parentNode||document.body).appendChild(this.overlay):this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},f.DialogManager.prototype.containedByTopDialog_=function(e){for(;e=i(e);){for(var t,n=0;t=this.pendingDialogStack[n];++n)if(t.dialog===e)return 0===n;e=e.parentElement}return!1},f.DialogManager.prototype.handleFocus_=function(e){var t=e.composedPath?e.composedPath()[0]:e.target;if(!this.containedByTopDialog_(t)&&document.activeElement!==document.documentElement&&(e.preventDefault(),e.stopPropagation(),a(t),void 0!==this.forwardTab_)){var n=this.pendingDialogStack[0];return n.dialog.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?n.focus_():t!==document.documentElement&&document.documentElement.focus()),!1}},f.DialogManager.prototype.handleKey_=function(e){if(this.forwardTab_=void 0,27===e.keyCode){e.preventDefault(),e.stopPropagation();var t=new o("cancel",{bubbles:!1,cancelable:!0}),n=this.pendingDialogStack[0];n&&r(n.dialog,t)&&n.dialog.close()}else 9===e.keyCode&&(this.forwardTab_=!e.shiftKey)},f.DialogManager.prototype.checkDOM_=function(e){this.pendingDialogStack.slice().forEach((function(t){-1!==e.indexOf(t.dialog)?t.downgradeModal():t.maybeHideModal()}))},f.DialogManager.prototype.pushDialog=function(e){var t=(this.zIndexHigh_-this.zIndexLow_)/2-1;return!(this.pendingDialogStack.length>=t)&&(1===this.pendingDialogStack.unshift(e)&&this.blockDocument(),this.updateStacking(),!0)},f.DialogManager.prototype.removeDialog=function(e){var t=this.pendingDialogStack.indexOf(e);-1!==t&&(this.pendingDialogStack.splice(t,1),0===this.pendingDialogStack.length&&this.unblockDocument(),this.updateStacking())},f.dm=new f.DialogManager,f.formSubmitter=null,f.useValue=null,void 0===window.HTMLDialogElement){var p=document.createElement("form");if(p.setAttribute("method","dialog"),"dialog"!==p.method){var m=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,"method");if(m){var v=m.get;m.get=function(){return s(this)?"dialog":v.call(this)};var g=m.set;m.set=function(e){return"string"==typeof e&&"dialog"===e.toLowerCase()?this.setAttribute("method",e):g.call(this,e)},Object.defineProperty(HTMLFormElement.prototype,"method",m)}}document.addEventListener("click",(function(e){if(f.formSubmitter=null,f.useValue=null,!e.defaultPrevented){var t=e.target;if("composedPath"in e)t=e.composedPath().shift()||t;if(t&&s(t.form)){if(!("submit"===t.type&&["button","input"].indexOf(t.localName)>-1)){if("input"!==t.localName||"image"!==t.type)return;f.useValue=e.offsetX+","+e.offsetY}i(t)&&(f.formSubmitter=t)}}}),!1),document.addEventListener("submit",(function(e){var t=e.target;if(!i(t)){var n=d(e);"dialog"===(n&&n.getAttribute("formmethod")||t.getAttribute("method"))&&e.preventDefault()}}));var y=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){if(!s(this))return y.call(this);var e=i(this);e&&e.close()}}const b=f},"./node_modules/preact-custom-element/dist/preact-custom-element.esm.js": + \************************************************************************/e=>{function n(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],o=!0,r=!1,i=void 0;try{for(var s,u=e[Symbol.iterator]();!(o=(s=u.next()).done)&&(t.push(s.value),!n||t.length!==n);o=!0);}catch(e){r=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(r)throw i}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return t(e,n);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return t(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t{n.r(t),n.d(t,{default:()=>d});var o=n(/*! preact */"./node_modules/preact/dist/preact.module.js");function r(){return(r=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,["context","children"]);return(0,o.cloneElement)(t,n)}function a(){var e=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(e),this._vdom=(0,o.h)(i,r({},this._props,{context:e.detail.context}),function e(t,n){if(3===t.nodeType)return t.data;if(1!==t.nodeType)return null;var r=[],i={},a=0,s=t.attributes,u=t.childNodes;for(a=s.length;a--;)"slot"!==s[a].name&&(i[s[a].name]=s[a].value,i[l(s[a].name)]=s[a].value);for(a=u.length;a--;){var d=e(u[a],null),_=u[a].slot;_?i[_]=(0,o.h)(c,{name:_},d):r[a]=d}var h=n?(0,o.h)(c,null,r):r;return(0,o.h)(n||t.nodeName.toLowerCase(),i,h)}(this,this._vdomComponent)),(this.hasAttribute("hydrate")?o.hydrate:o.render)(this._vdom,this._root)}function l(e){return e.replace(/-(\w)/g,(function(e,t){return t?t.toUpperCase():""}))}function s(e,t,n){if(this._vdom){var r={};r[e]=n=null==n?void 0:n,r[l(e)]=n,this._vdom=(0,o.cloneElement)(this._vdom,r),(0,o.render)(this._vdom,this._root)}}function u(){(0,o.render)(this._vdom=null,this._root)}function c(e,t){var n=this;return(0,o.h)("slot",r({},e,{ref:function(e){e?(n.ref=e,n._listener||(n._listener=function(e){e.stopPropagation(),e.detail.context=t},e.addEventListener("_preact",n._listener))):n.ref.removeEventListener("_preact",n._listener)}}))}function d(e,t,n,o){function r(){var t=Reflect.construct(HTMLElement,[],r);return t._vdomComponent=e,t._root=o&&o.shadow?t.attachShadow({mode:"open"}):t,t}return(r.prototype=Object.create(HTMLElement.prototype)).constructor=r,r.prototype.connectedCallback=a,r.prototype.attributeChangedCallback=s,r.prototype.disconnectedCallback=u,n=n||e.observedAttributes||Object.keys(e.propTypes||{}),r.observedAttributes=n,n.forEach((function(e){Object.defineProperty(r.prototype,e,{get:function(){return this._vdom.props[e]},set:function(t){this._vdom?this.attributeChangedCallback(e,null,t):(this._props||(this._props={}),this._props[e]=t,this.connectedCallback());var n=typeof t;null!=t&&"string"!==n&&"boolean"!==n&&"number"!==n||this.setAttribute(e,t)}})})),customElements.define(t||e.tagName||e.displayName||e.name,r)}},"./node_modules/preact/dist/preact.module.js": + \******************************************************************************/(e,n,t)=>{t.r(n),t.d(n,{default:()=>_});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js");function r(){return(r=Object.assign||function(e){for(var n=1;n=0||(r[t]=e[t]);return r}(e,["context","children"]);return(0,o.cloneElement)(n,t)}function s(){var e=new CustomEvent("_preact",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(e),this._vdom=(0,o.h)(i,r({},this._props,{context:e.detail.context}),function e(n,t){if(3===n.nodeType)return n.data;if(1!==n.nodeType)return null;var r=[],i={},s=0,l=n.attributes,a=n.childNodes;for(s=l.length;s--;)"slot"!==l[s].name&&(i[l[s].name]=l[s].value,i[u(l[s].name)]=l[s].value);for(s=a.length;s--;){var _=e(a[s],null),d=a[s].slot;d?i[d]=(0,o.h)(c,{name:d},_):r[s]=_}var p=t?(0,o.h)(c,null,r):r;return(0,o.h)(t||n.nodeName.toLowerCase(),i,p)}(this,this._vdomComponent)),(this.hasAttribute("hydrate")?o.hydrate:o.render)(this._vdom,this._root)}function u(e){return e.replace(/-(\w)/g,(function(e,n){return n?n.toUpperCase():""}))}function l(e,n,t){if(this._vdom){var r={};r[e]=t=null==t?void 0:t,r[u(e)]=t,this._vdom=(0,o.cloneElement)(this._vdom,r),(0,o.render)(this._vdom,this._root)}}function a(){(0,o.render)(this._vdom=null,this._root)}function c(e,n){var t=this;return(0,o.h)("slot",r({},e,{ref:function(e){e?(t.ref=e,t._listener||(t._listener=function(e){e.stopPropagation(),e.detail.context=n},e.addEventListener("_preact",t._listener))):t.ref.removeEventListener("_preact",t._listener)}}))}function _(e,n,t,o){function r(){var n=Reflect.construct(HTMLElement,[],r);return n._vdomComponent=e,n._root=o&&o.shadow?n.attachShadow({mode:"open"}):n,n}return(r.prototype=Object.create(HTMLElement.prototype)).constructor=r,r.prototype.connectedCallback=s,r.prototype.attributeChangedCallback=l,r.prototype.disconnectedCallback=a,t=t||e.observedAttributes||Object.keys(e.propTypes||{}),r.observedAttributes=t,t.forEach((function(e){Object.defineProperty(r.prototype,e,{get:function(){return this._vdom.props[e]},set:function(n){this._vdom?this.attributeChangedCallback(e,null,n):(this._props||(this._props={}),this._props[e]=n,this.connectedCallback());var t=typeof n;null!=n&&"string"!==t&&"boolean"!==t&&"number"!==t||this.setAttribute(e,n)}})})),customElements.define(n||e.tagName||e.displayName||e.name,r)}},"./node_modules/preact/dist/preact.module.js": /*!***************************************************!*\ !*** ./node_modules/preact/dist/preact.module.js ***! - \***************************************************/(e,t,n)=>{n.r(t),n.d(t,{render:()=>H,hydrate:()=>F,createElement:()=>p,h:()=>p,Fragment:()=>g,createRef:()=>v,isValidElement:()=>r,Component:()=>y,cloneElement:()=>R,createContext:()=>U,toChildArray:()=>E,options:()=>o});var o,r,i,a,l,s,u,c={},d=[],_=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(e,t){for(var n in t)e[n]=t[n];return e}function f(e){var t=e.parentNode;t&&t.removeChild(e)}function p(e,t,n){var o,r,i,a=arguments,l={};for(i in t)"key"==i?o=t[i]:"ref"==i?r=t[i]:l[i]=t[i];if(arguments.length>3)for(n=[n],i=3;i0?m(v.type,v.props,v.key,null,v.__v):v)){if(v.__=n,v.__b=n.__b+1,null===(p=k[_])||p&&v.key==p.key&&v.type===p.type)k[_]=void 0;else for(h=0;h3)for(n=[n],i=3;i{t.r(n),t.d(n,{render:()=>U,hydrate:()=>F,createElement:()=>h,h:()=>h,Fragment:()=>A,createRef:()=>v,isValidElement:()=>r,Component:()=>g,cloneElement:()=>I,createContext:()=>R,toChildArray:()=>S,options:()=>o});var o,r,i,s,u,l,a,c={},_=[],d=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function p(e,n){for(var t in n)e[t]=n[t];return e}function f(e){var n=e.parentNode;n&&n.removeChild(e)}function h(e,n,t){var o,r,i,s=arguments,u={};for(i in n)"key"==i?o=n[i]:"ref"==i?r=n[i]:u[i]=n[i];if(arguments.length>3)for(t=[t],i=3;i0?m(v.type,v.props,v.key,null,v.__v):v)){if(v.__=t,v.__b=t.__b+1,null===(h=k[d])||h&&v.key==h.key&&v.type===h.type)k[d]=void 0;else for(p=0;p3)for(t=[t],i=3;i{n.r(t),n.d(t,{useState:()=>p,useReducer:()=>m,useEffect:()=>v,useLayoutEffect:()=>g,useRef:()=>y,useImperativeHandle:()=>b,useMemo:()=>A,useCallback:()=>w,useContext:()=>k,useDebugValue:()=>C,useErrorBoundary:()=>x});var o,r,i,a=n(/*! preact */"./node_modules/preact/dist/preact.module.js"),l=0,s=[],u=a.options.__b,c=a.options.__r,d=a.options.diffed,_=a.options.__c,h=a.options.unmount;function f(e,t){a.options.__h&&a.options.__h(r,e,l||t),l=0;var n=r.__H||(r.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function p(e){return l=1,m(T,e)}function m(e,t,n){var i=f(o++,2);return i.t=e,i.__c||(i.__=[n?n(t):T(void 0,t),function(e){var t=i.t(i.__[0],e);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=r),i.__}function v(e,t){var n=f(o++,3);!a.options.__s&&I(n.__H,t)&&(n.__=e,n.__H=t,r.__H.__h.push(n))}function g(e,t){var n=f(o++,4);!a.options.__s&&I(n.__H,t)&&(n.__=e,n.__H=t,r.__h.push(n))}function y(e){return l=5,A((function(){return{current:e}}),[])}function b(e,t,n){l=6,g((function(){"function"==typeof e?e(t()):e&&(e.current=t())}),null==n?n:n.concat(e))}function A(e,t){var n=f(o++,7);return I(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function w(e,t){return l=8,A((function(){return e}),t)}function k(e){var t=r.context[e.__c],n=f(o++,9);return n.__c=e,t?(null==n.__&&(n.__=!0,t.sub(r)),t.props.value):e.__}function C(e,t){a.options.useDebugValue&&a.options.useDebugValue(t?t(e):e)}function x(e){var t=f(o++,10),n=p();return t.__=e,r.componentDidCatch||(r.componentDidCatch=function(e){t.__&&t.__(e),n[1](e)}),[n[0],function(){n[1](void 0)}]}function E(){s.forEach((function(e){if(e.__P)try{e.__H.__h.forEach(M),e.__H.__h.forEach(D),e.__H.__h=[]}catch(t){e.__H.__h=[],a.options.__e(t,e.__v)}})),s=[]}a.options.__b=function(e){r=null,u&&u(e)},a.options.__r=function(e){c&&c(e),o=0;var t=(r=e.__c).__H;t&&(t.__h.forEach(M),t.__h.forEach(D),t.__h=[])},a.options.diffed=function(e){d&&d(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==s.push(t)&&i===a.options.requestAnimationFrame||((i=a.options.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(o),S&&cancelAnimationFrame(t),setTimeout(e)},o=setTimeout(n,100);S&&(t=requestAnimationFrame(n))})(E)),r=void 0},a.options.__c=function(e,t){t.some((function(e){try{e.__h.forEach(M),e.__h=e.__h.filter((function(e){return!e.__||D(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],a.options.__e(n,e.__v)}})),_&&_(e,t)},a.options.unmount=function(e){h&&h(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(M)}catch(e){a.options.__e(e,t.__v)}};var S="function"==typeof requestAnimationFrame;function M(e){var t=r;"function"==typeof e.__c&&e.__c(),r=t}function D(e){var t=r;e.__c=e.__(),r=t}function I(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function T(e,t){return"function"==typeof t?t(e):t}},"./src/index.css": + \********************************************************/(e,n,t)=>{t.r(n),t.d(n,{useState:()=>h,useReducer:()=>m,useEffect:()=>v,useLayoutEffect:()=>A,useRef:()=>g,useImperativeHandle:()=>y,useMemo:()=>b,useCallback:()=>C,useContext:()=>k,useDebugValue:()=>x,useErrorBoundary:()=>w});var o,r,i,s=t(/*! preact */"./node_modules/preact/dist/preact.module.js"),u=0,l=[],a=s.options.__b,c=s.options.__r,_=s.options.diffed,d=s.options.__c,p=s.options.unmount;function f(e,n){s.options.__h&&s.options.__h(r,e,u||n),u=0;var t=r.__H||(r.__H={__:[],__h:[]});return e>=t.__.length&&t.__.push({}),t.__[e]}function h(e){return u=1,m(O,e)}function m(e,n,t){var i=f(o++,2);return i.t=e,i.__c||(i.__=[t?t(n):O(void 0,n),function(e){var n=i.t(i.__[0],e);i.__[0]!==n&&(i.__=[n,i.__[1]],i.__c.setState({}))}],i.__c=r),i.__}function v(e,n){var t=f(o++,3);!s.options.__s&&T(t.__H,n)&&(t.__=e,t.__H=n,r.__H.__h.push(t))}function A(e,n){var t=f(o++,4);!s.options.__s&&T(t.__H,n)&&(t.__=e,t.__H=n,r.__h.push(t))}function g(e){return u=5,b((function(){return{current:e}}),[])}function y(e,n,t){u=6,A((function(){"function"==typeof e?e(n()):e&&(e.current=n())}),null==t?t:t.concat(e))}function b(e,n){var t=f(o++,7);return T(t.__H,n)&&(t.__=e(),t.__H=n,t.__h=e),t.__}function C(e,n){return u=8,b((function(){return e}),n)}function k(e){var n=r.context[e.__c],t=f(o++,9);return t.__c=e,n?(null==t.__&&(t.__=!0,n.sub(r)),n.props.value):e.__}function x(e,n){s.options.useDebugValue&&s.options.useDebugValue(n?n(e):e)}function w(e){var n=f(o++,10),t=h();return n.__=e,r.componentDidCatch||(r.componentDidCatch=function(e){n.__&&n.__(e),t[1](e)}),[t[0],function(){t[1](void 0)}]}function S(){l.forEach((function(e){if(e.__P)try{e.__H.__h.forEach(E),e.__H.__h.forEach(B),e.__H.__h=[]}catch(n){e.__H.__h=[],s.options.__e(n,e.__v)}})),l=[]}s.options.__b=function(e){r=null,a&&a(e)},s.options.__r=function(e){c&&c(e),o=0;var n=(r=e.__c).__H;n&&(n.__h.forEach(E),n.__h.forEach(B),n.__h=[])},s.options.diffed=function(e){_&&_(e);var n=e.__c;n&&n.__H&&n.__H.__h.length&&(1!==l.push(n)&&i===s.options.requestAnimationFrame||((i=s.options.requestAnimationFrame)||function(e){var n,t=function(){clearTimeout(o),j&&cancelAnimationFrame(n),setTimeout(e)},o=setTimeout(t,100);j&&(n=requestAnimationFrame(t))})(S)),r=void 0},s.options.__c=function(e,n){n.some((function(e){try{e.__h.forEach(E),e.__h=e.__h.filter((function(e){return!e.__||B(e)}))}catch(t){n.some((function(e){e.__h&&(e.__h=[])})),n=[],s.options.__e(t,e.__v)}})),d&&d(e,n)},s.options.unmount=function(e){p&&p(e);var n=e.__c;if(n&&n.__H)try{n.__H.__.forEach(E)}catch(e){s.options.__e(e,n.__v)}};var j="function"==typeof requestAnimationFrame;function E(e){var n=r;"function"==typeof e.__c&&e.__c(),r=n}function B(e){var n=r;e.__c=e.__(),r=n}function T(e,n){return!e||e.length!==n.length||n.some((function(n,t){return n!==e[t]}))}function O(e,n){return"function"==typeof n?n(e):n}},"./src/index.css": /*!***********************!*\ !*** ./src/index.css ***! - \***********************/(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});var o=n(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=n.n(o),i=n(/*! !!../node_modules/css-loader/dist/cjs.js!./index.css */"./node_modules/css-loader/dist/cjs.js!./src/index.css"),a={insert:"head",singleton:!1};r()(i.default,a);const l=i.default.locals||{}},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": + \***********************/(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});var o=t(/*! !../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=t.n(o),i=t(/*! !!../node_modules/css-loader/dist/cjs.js!./index.css */"./node_modules/css-loader/dist/cjs.js!./src/index.css"),s={insert:"head",singleton:!1};r()(i.default,s);const u=i.default.locals||{}},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": /*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! - \****************************************************************************/(e,t,n)=>{var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function l(e){for(var t=-1,n=0;n{n.r(t),n.d(t,{default:()=>a});var o=n(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=n(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js"),i=n(/*! ./option */"./src/option.tsx");const a=function(e){var t=(0,r.useState)([]),n=t[0],a=t[1],l=(0,r.useState)(""),s=l[0],u=l[1],c=(0,r.useRef)(null),d=(0,r.useCallback)((function(t){38===t.keyCode?(t.preventDefault(),e.index>0&&e.up()):40===t.keyCode&&(t.preventDefault(),e.index{var o,r=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),s=[];function u(e){for(var n=-1,t=0;t{t.r(n),t.d(n,{default:()=>c});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js"),i=t(/*! ./search-result */"./src/components/search-result.tsx"),s=t(/*! ../hooks/use-on-change-callback */"./src/hooks/use-on-change-callback.tsx"),u=t(/*! ./preface */"./src/components/preface.tsx"),l=t(/*! ../hooks/use-on-submit-callback */"./src/hooks/use-on-submit-callback.tsx"),a=t(/*! ./form */"./src/components/form.tsx");function c(e){var n=(0,r.useState)([]),t=n[0],c=n[1],_=(0,r.useState)(""),d=_[0],p=_[1],f=(0,r.useRef)(null),h=(0,s.useOnChangeCallback)(p,c,e,f),m=(0,l.useOnSubmitCallback)(t,e,h);return(0,o.h)("div",null,(0,o.h)(u.Preface,null),(0,o.h)(a.Form,{onSubmit:m,query:d,onChange:h,index:e.index,up:e.up,down:e.down,resultsLength:t.length}),(0,o.h)("ul",{ref:f},t.map((function(n,t){return(0,o.h)(i.default,{key:n.url,active:t===e.index,result:n})}))))}},"./src/components/form.tsx": +/*!*********************************!*\ + !*** ./src/components/form.tsx ***! + \*********************************/(e,n,t)=>{t.r(n),t.d(n,{Form:()=>s});var o=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js"),r=t(/*! ./search-input */"./src/components/search-input.tsx"),i=t(/*! preact */"./node_modules/preact/dist/preact.module.js");function s(e){var n=(0,o.useCallback)((function(n){"ArrowUp"===n.code?(n.preventDefault(),e.index>0&&e.up()):"ArrowDown"===n.code&&(n.preventDefault(),e.index{t.r(n),t.d(n,{Preface:()=>r});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js");function r(){return(0,o.h)("div",null,(0,o.h)("h2",null,"Search"),(0,o.h)("p",null,"Press ",(0,o.h)("kbd",null,"ESC")," to exit, ",(0,o.h)("kbd",null,"↓"),", ",(0,o.h)("kbd",null,"↑")," to navigate, and ",(0,o.h)("kbd",null,"Return")," accept."))}},"./src/components/search-input.tsx": +/*!*****************************************!*\ + !*** ./src/components/search-input.tsx ***! + \*****************************************/(e,n,t)=>{t.r(n),t.d(n,{SearchInput:()=>i});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");function i(e){var n=(0,r.useRef)(null);return(0,r.useEffect)((function(){n.current&&n.current.focus()}),[n]),(0,o.h)("input",{id:"search-input",autoComplete:"off",type:"search",autoFocus:!0,value:e.value,onInput:e.onInput,onKeyDown:e.onKeyDown,ref:n})}},"./src/components/search-popup.tsx": +/*!*****************************************!*\ + !*** ./src/components/search-popup.tsx ***! + \*****************************************/(e,n,t)=>{t.r(n),t.d(n,{default:()=>c});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js"),i=t(/*! ./dialog-content */"./src/components/dialog-content.tsx"),s=t(/*! ../lib/registerWindowSearchFunction */"./src/lib/registerWindowSearchFunction.tsx"),u=t(/*! ../hooks/use-open-shortcut-listener */"./src/hooks/use-open-shortcut-listener.tsx"),l=t(/*! ../hooks/use-dialog-state */"./src/hooks/use-dialog-state.tsx"),a=function(){return[]};const c=function(e){var n,t=(0,r.useState)(0),c=t[0],_=t[1],d=(0,l.useDialogState)(),p=d.isOpen,f=d.onOpen,h=d.onClose;return(0,s.registerWindowSearchFunction)(e,_,f),(0,u.useOpenShortcutListener)(_,f,h),(0,o.h)("div",{id:"search-wrapper"},p&&(0,o.h)(o.Fragment,null,(0,o.h)("div",{class:"backdrop",onClick:h},","),(0,o.h)("div",{class:"search-dialog shadowed"},(0,o.h)(i.default,{onClose:h,searchFn:null!==(n=window[e.search])&&void 0!==n?n:a,index:c,up:function(){return _(c-1)},down:function(){return _(c+1)},reset:function(){return _(0)}}))))}},"./src/components/search-result.tsx": +/*!******************************************!*\ + !*** ./src/components/search-result.tsx ***! + \******************************************/(e,n,t)=>{t.r(n),t.d(n,{default:()=>i});var o=t(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");function i(e){var n=e.active,t=e.result,i=(0,r.useRef)(null);return(0,r.useLayoutEffect)((function(){i.current&&n&&i.current.scrollIntoView({behavior:"smooth",block:"nearest"})}),[n,i]),(0,o.h)("li",{key:t.url,"aria-type":"options","aria-selected":n,className:n?"active":""},(0,o.h)("a",{href:t.url,ref:i},(0,o.h)("p",null,(0,o.h)("small",null,t.url)),(0,o.h)("h5",null,t.name),(0,o.h)("p",null,t.text)))}},"./src/hooks/use-dialog-state.tsx": +/*!****************************************!*\ + !*** ./src/hooks/use-dialog-state.tsx ***! + \****************************************/(e,n,t)=>{t.r(n),t.d(n,{useDialogState:()=>r});var o=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");function r(){var e=(0,o.useState)(!1),n=e[0],t=e[1];return{isOpen:n,onOpen:function(){return t(!0)},onClose:function(){return t(!1)}}}},"./src/hooks/use-on-change-callback.tsx": +/*!**********************************************!*\ + !*** ./src/hooks/use-on-change-callback.tsx ***! + \**********************************************/(e,n,t)=>{t.r(n),t.d(n,{useOnChangeCallback:()=>r});var o=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");function r(e,n,t,r){return(0,o.useCallback)((function(o){var i;e(o),n(t.searchFn(o)),t.reset(),null===(i=r.current)||void 0===i||i.scrollTo({behavior:"smooth",top:0})}),[e,t.reset])}},"./src/hooks/use-on-submit-callback.tsx": +/*!**********************************************!*\ + !*** ./src/hooks/use-on-submit-callback.tsx ***! + \**********************************************/(e,n,t)=>{t.r(n),t.d(n,{useOnSubmitCallback:()=>r});var o=t(/*! ../lib/open-page */"./src/lib/open-page.tsx");function r(e,n,t){return function(r){r.preventDefault();var i=e[n.index].url.split("#"),s=i[0],u=i[1];(0,o.openPage)(s,u),n.onClose(),t("")}}},"./src/hooks/use-open-shortcut-listener.tsx": +/*!**************************************************!*\ + !*** ./src/hooks/use-open-shortcut-listener.tsx ***! + \**************************************************/(e,n,t)=>{t.r(n),t.d(n,{useOpenShortcutListener:()=>r});var o=t(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");function r(e,n,t){(0,o.useLayoutEffect)((function(){document.onkeydown=function(o){o.ctrlKey&&"k"===o.key?(o.preventDefault(),e(0),n()):"Escape"===o.key&&(o.preventDefault(),t())}}),[])}},"./src/index.ts": /*!**********************!*\ !*** ./src/index.ts ***! - \**********************/(e,t,n)=>{n.r(t);var o=n(/*! preact-custom-element */"./node_modules/preact-custom-element/dist/preact-custom-element.esm.js"),r=n(/*! ./searchPopup */"./src/searchPopup.tsx");n(/*! ./index.css */"./src/index.css"); -/** + \**********************/(e,n,t)=>{t.r(n);var o=t(/*! preact-custom-element */"./node_modules/preact-custom-element/dist/preact-custom-element.esm.js"),r=t(/*! ./components/search-popup */"./src/components/search-popup.tsx");t(/*! ./index.css */"./src/index.css"); +/*! * @licence Copyright 2020 Pablo Klaschka. MIT-Licensed. */ -window.openSearch=function(){},(0,o.default)(r.default,"search-popup",["search"])},"./src/option.tsx": -/*!************************!*\ - !*** ./src/option.tsx ***! - \************************/(e,t,n)=>{n.r(t),n.d(t,{default:()=>i});var o=n(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=n(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js");const i=function(e){var t=e.active,n=e.result,i=(0,r.useRef)(null);return(0,r.useLayoutEffect)((function(){i.current&&t&&i.current.scrollIntoView({behavior:"smooth",block:"nearest"})}),[t,i]),(0,o.h)("li",{key:n.url,"aria-type":"options","aria-selected":t,className:t?"active":""},(0,o.h)("a",{href:n.url,ref:i},(0,o.h)("p",null,(0,o.h)("small",null,n.url)),(0,o.h)("h5",null,n.name),(0,o.h)("p",null,n.text)))}},"./src/searchPopup.tsx": -/*!*****************************!*\ - !*** ./src/searchPopup.tsx ***! - \*****************************/(e,t,n)=>{n.r(t),n.d(t,{default:()=>l});var o=n(/*! preact */"./node_modules/preact/dist/preact.module.js"),r=n(/*! preact/hooks */"./node_modules/preact/hooks/dist/hooks.module.js"),i=n(/*! dialog-polyfill */"./node_modules/dialog-polyfill/dist/dialog-polyfill.esm.js"),a=n(/*! ./dialog-content */"./src/dialog-content.tsx");const l=function(e){var t,n=(0,r.useState)(0),l=n[0],s=n[1];void 0!==window[e.search]?window[e.search]():console.error("Search function passed to is undefined!"),window.openSearch=function(){var e;s(0),null===(e=u.current)||void 0===e||e.showModal()};var u=(0,r.useRef)(null);(0,r.useEffect)((function(){u&&i.default.registerDialog(u.current)}),[u]),(0,r.useLayoutEffect)((function(){document.onkeydown=function(e){var t;e.ctrlKey&&"k"===e.key&&(e.preventDefault(),s(0),null===(t=u.current)||void 0===t||t.showModal())}}),[]);return(0,o.h)("dialog",{class:"search-dialog shadowed",ref:u},(0,o.h)(a.default,{onClose:function(){var e;return null===(e=u.current)||void 0===e?void 0:e.close()},searchFn:null!==(t=window[e.search])&&void 0!==t?t:function(){return[]},index:l,up:function(){return s(l-1)},down:function(){return s(l+1)},reset:function(){return s(0)}}))}}},t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n("./src/index.ts")})(); +window.openSearch=function(){},(0,o.default)(r.default,"search-popup",["search"])},"./src/lib/open-page.tsx": +/*!*******************************!*\ + !*** ./src/lib/open-page.tsx ***! + \*******************************/(e,n,t)=>{function o(e,n){(window.location.pathname.endsWith("/")?window.location.pathname:window.location.pathname+"/")!==(e.endsWith("/")?e:e+"/")?window.location.assign(e+"#"+n):window.location.hash=n}t.r(n),t.d(n,{openPage:()=>o})},"./src/lib/registerWindowSearchFunction.tsx": +/*!**************************************************!*\ + !*** ./src/lib/registerWindowSearchFunction.tsx ***! + \**************************************************/(e,n,t)=>{function o(e,n,t){void 0!==window[e.search]?window[e.search]():console.error("Search function passed to is undefined!"),window.openSearch=function(){n(0),t()}}t.r(n),t.d(n,{registerWindowSearchFunction:()=>o})}},n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={id:o,exports:{}};return e[o](r,r.exports,t),r.exports}t.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},t.d=(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},t.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t("./src/index.ts")})(); //# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/dist/bundle.js.map b/dist/bundle.js.map index 4f72f42..81f946e 100644 --- a/dist/bundle.js.map +++ b/dist/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://search-popup/./src/index.css","webpack://search-popup/./node_modules/css-loader/dist/runtime/api.js","webpack://search-popup/./node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://search-popup/./node_modules/dialog-polyfill/dist/dialog-polyfill.esm.js","webpack://search-popup/./node_modules/preact-custom-element/dist/preact-custom-element.esm.js","webpack://search-popup/./node_modules/preact/dist/preact.module.js","webpack://search-popup/./node_modules/preact/hooks/dist/hooks.module.js","webpack://search-popup/./src/index.css?cfe4","webpack://search-popup/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://search-popup/./src/dialog-content.tsx","webpack://search-popup/./src/index.ts","webpack://search-popup/./src/option.tsx","webpack://search-popup/./src/searchPopup.tsx","webpack://search-popup/webpack/bootstrap","webpack://search-popup/webpack/runtime/compat get default export","webpack://search-popup/webpack/runtime/define property getters","webpack://search-popup/webpack/runtime/hasOwnProperty shorthand","webpack://search-popup/webpack/runtime/make namespace object","webpack://search-popup/webpack/startup"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","concat","join","i","modules","mediaQuery","dedupe","alreadyImportedModules","length","_i","_slicedToArray","arr","Array","isArray","_arrayWithHoles","Symbol","iterator","Object","_arr","_n","_d","_e","undefined","_s","next","done","value","err","_iterableToArrayLimit","o","minLen","_arrayLikeToArray","n","prototype","call","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","len","arr2","_item","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","supportCustomEvent","window","CustomEvent","safeDispatchEvent","target","event","check","type","toLowerCase","dispatchEvent","findNearestDialog","el","localName","parentElement","parentNode","host","safeBlur","shadowRoot","activeElement","blur","document","body","inNodeList","nodeList","node","isFormMethodDialog","hasAttribute","getAttribute","findFocusableElementWithin","hostElement","query","querySelector","Element","elems","querySelectorAll","tagName","isConnected","element","contains","findFormSubmitter","submitter","form","HTMLFormElement","dialogPolyfill","formSubmitter","getRootNode","maybeHandleSubmit","defaultPrevented","useValue","dialog","preventDefault","close","dialogPolyfillInfo","dialog_","replacedStyleTop_","openAsModal_","setAttribute","show","bind","showModal","addEventListener","returnValue","MutationObserver","maybeHideModal","observe","attributes","attributeFilter","timeout","removed","cb","downgradeModal","delayModel","ev","cand","substr","clearTimeout","setTimeout","forEach","defineProperty","set","setOpen","get","backdrop_","createElement","className","backdropMouseEvent_","x","createEvent","initCustomEvent","bubbles","cancelable","detail","Event","style","zIndex","top","removeChild","dm","removeDialog","removeAttribute","e","focus","fake","insertBefore","firstChild","tabIndex","redirectedEvent","initMouseEvent","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","stopPropagation","focus_","updateZIndex","dialogZ","backdropZ","Error","open","pushDialog","s","getComputedStyle","invalid","k","ok","opacity","position","webkitOverflowScrolling","createsStackingContext","console","warn","needsCentering","reposition","nextSibling","opt_returnValue","closeEvent","scrollTop","documentElement","topValue","innerHeight","offsetHeight","Math","max","styleSheets","styleSheet","cssRules","j","rule","selectedNodes","selectorText","cssTop","getPropertyValue","cssBottom","bottom","isInlinePositionSetByStylesheet","HTMLDialogElement","forceRegisterDialog","pendingDialogStack","checkDOM","checkDOM_","overlay","forwardTab_","handleKey_","handleFocus_","zIndexLow_","zIndexHigh_","mo_","records","rec","c","removedNodes","DialogManager","blockDocument","childList","subtree","unblockDocument","removeEventListener","disconnect","updateStacking","dpi","last","appendChild","containedByTopDialog_","candidate","composedPath","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","keyCode","cancelEvent","indexOf","allowed","unshift","index","splice","testForm","method","methodDescriptor","getOwnPropertyDescriptor","realGet","realSet","v","shift","offsetX","offsetY","nativeFormSubmit","submit","r","assign","t","arguments","hasOwnProperty","apply","getChildContext","context","children","keys","a","_vdom","_props","nodeType","l","childNodes","p","d","slot","u","h","nodeName","_vdomComponent","_root","replace","toUpperCase","ref","_listener","Reflect","construct","HTMLElement","shadow","attachShadow","mode","create","connectedCallback","attributeChangedCallback","disconnectedCallback","observedAttributes","propTypes","props","customElements","define","displayName","f","defaultProps","key","__k","__","__b","__e","__d","__c","__h","__v","vnode","y","current","_","w","base","g","__r","debounceRendering","sort","some","__P","$","__n","ownerSVGElement","m","P","C","b","A","L","I","setProperty","z","cssText","T","N","removeAttributeNS","setAttributeNS","contextType","__E","render","M","sub","state","__s","getDerivedStateFromProps","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getSnapshotBeforeUpdate","H","diffed","createTextNode","createElementNS","is","dangerouslySetInnerHTML","__html","innerHTML","checked","unmount","componentWillUnmount","O","S","q","B","Consumer","Provider","getDerivedStateFromError","setState","componentDidCatch","forceUpdate","Promise","then","resolve","__H","F","cancelAnimationFrame","requestAnimationFrame","filter","options","memo","isOldIE","Boolean","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","idCountMap","identifiers","count","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","nonce","insert","textStore","replaceText","replacement","applyToSingletonTag","remove","cssNode","applyToTag","singleton","singletonCounter","update","styleIndex","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","_a","useState","results","setResults","_b","setQuery","listRef","useRef","onKeyDown","useCallback","evt","up","down","onChange","searchFn","reset","scrollTo","behavior","onSubmit","split","pathname","hash","location","endsWith","onClose","autoComplete","autoFocus","onInput","url","active","openSearch","useLayoutEffect","scrollIntoView","block","href","text","setIndex","search","error","dialogRef","useEffect","onkeydown","class","__webpack_module_cache__","__webpack_require__","moduleId","__webpack_modules__","getter","__esModule","definition","enumerable","prop","toStringTag"],"mappings":"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","file":"bundle.js","sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"* {\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog {\\r\\n border: none;\\r\\n border-radius: var(--universal-border-radius);\\r\\n width: 480px;\\r\\n max-width: 80%;\\r\\n position: fixed;\\r\\n top: 25%;\\r\\n left: 50%;\\r\\n transform: translate(-50%);\\r\\n margin: 0;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog * {\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog > div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\ndialog.search-dialog table, dialog.search-dialog input, dialog.search-dialog button, dialog.search-dialog [type=\\\"search\\\"] {\\r\\n width: 100%;\\r\\n /*margin: 0;*/\\r\\n}\\r\\n\\r\\ndialog.search-dialog form {\\r\\n background: transparent;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n border: none;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul {\\r\\n overflow: auto;\\r\\n padding: 0;\\r\\n margin: 1rem 0;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li {\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li.active a {\\r\\n background: var(--button-back-color);\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li a {\\r\\n color: inherit !important;\\r\\n text-decoration: none;\\r\\n display: block;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li a:hover {\\r\\n text-decoration: none;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/index.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,sBAAsB;AAC1B;;AAEA;IACI,YAAY;IACZ,6CAA6C;IAC7C,YAAY;IACZ,cAAc;IACd,eAAe;IACf,QAAQ;IACR,SAAS;IACT,0BAA0B;IAC1B,SAAS;IACT,sBAAsB;AAC1B;;AAEA;IACI,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,YAAY;AAChB;;AAEA;IACI,WAAW;IACX,aAAa;AACjB;;AAEA;IACI,uBAAuB;IACvB,SAAS;IACT,UAAU;IACV,YAAY;AAChB;;AAEA;IACI,cAAc;IACd,UAAU;IACV,cAAc;AAClB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,oCAAoC;AACxC;;AAEA;IACI,yBAAyB;IACzB,qBAAqB;IACrB,cAAc;AAClB;;AAEA;IACI,qBAAqB;AACzB\",\"sourcesContent\":[\"* {\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog {\\r\\n border: none;\\r\\n border-radius: var(--universal-border-radius);\\r\\n width: 480px;\\r\\n max-width: 80%;\\r\\n position: fixed;\\r\\n top: 25%;\\r\\n left: 50%;\\r\\n transform: translate(-50%);\\r\\n margin: 0;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog * {\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\ndialog.search-dialog > div {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\ndialog.search-dialog table, dialog.search-dialog input, dialog.search-dialog button, dialog.search-dialog [type=\\\"search\\\"] {\\r\\n width: 100%;\\r\\n /*margin: 0;*/\\r\\n}\\r\\n\\r\\ndialog.search-dialog form {\\r\\n background: transparent;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n border: none;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul {\\r\\n overflow: auto;\\r\\n padding: 0;\\r\\n margin: 1rem 0;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li {\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li.active a {\\r\\n background: var(--button-back-color);\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li a {\\r\\n color: inherit !important;\\r\\n text-decoration: none;\\r\\n display: block;\\r\\n}\\r\\n\\r\\ndialog.search-dialog ul li a:hover {\\r\\n text-decoration: none;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (typeof btoa === 'function') {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n};","// nb. This is for IE10 and lower _only_.\nvar supportCustomEvent = window.CustomEvent;\nif (!supportCustomEvent || typeof supportCustomEvent === 'object') {\n supportCustomEvent = function CustomEvent(event, x) {\n x = x || {};\n var ev = document.createEvent('CustomEvent');\n ev.initCustomEvent(event, !!x.bubbles, !!x.cancelable, x.detail || null);\n return ev;\n };\n supportCustomEvent.prototype = window.Event.prototype;\n}\n\n/**\n * Dispatches the passed event to both an \"on\" handler as well as via the\n * normal dispatch operation. Does not bubble.\n *\n * @param {!EventTarget} target\n * @param {!Event} event\n * @return {boolean}\n */\nfunction safeDispatchEvent(target, event) {\n var check = 'on' + event.type.toLowerCase();\n if (typeof target[check] === 'function') {\n target[check](event);\n }\n return target.dispatchEvent(event);\n}\n\n/**\n * @param {Element} el to check for stacking context\n * @return {boolean} whether this el or its parents creates a stacking context\n */\nfunction createsStackingContext(el) {\n while (el && el !== document.body) {\n var s = window.getComputedStyle(el);\n var invalid = function(k, ok) {\n return !(s[k] === undefined || s[k] === ok);\n };\n\n if (s.opacity < 1 ||\n invalid('zIndex', 'auto') ||\n invalid('transform', 'none') ||\n invalid('mixBlendMode', 'normal') ||\n invalid('filter', 'none') ||\n invalid('perspective', 'none') ||\n s['isolation'] === 'isolate' ||\n s.position === 'fixed' ||\n s.webkitOverflowScrolling === 'touch') {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the nearest from the passed element.\n *\n * @param {Element} el to search from\n * @return {HTMLDialogElement} dialog found\n */\nfunction findNearestDialog(el) {\n while (el) {\n if (el.localName === 'dialog') {\n return /** @type {HTMLDialogElement} */ (el);\n }\n if (el.parentElement) {\n el = el.parentElement;\n } else if (el.parentNode) {\n el = el.parentNode.host;\n } else {\n el = null;\n }\n }\n return null;\n}\n\n/**\n * Blur the specified element, as long as it's not the HTML body element.\n * This works around an IE9/10 bug - blurring the body causes Windows to\n * blur the whole application.\n *\n * @param {Element} el to blur\n */\nfunction safeBlur(el) {\n // Find the actual focused element when the active element is inside a shadow root\n while (el && el.shadowRoot && el.shadowRoot.activeElement) {\n el = el.shadowRoot.activeElement;\n }\n\n if (el && el.blur && el !== document.body) {\n el.blur();\n }\n}\n\n/**\n * @param {!NodeList} nodeList to search\n * @param {Node} node to find\n * @return {boolean} whether node is inside nodeList\n */\nfunction inNodeList(nodeList, node) {\n for (var i = 0; i < nodeList.length; ++i) {\n if (nodeList[i] === node) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * @param {HTMLFormElement} el to check\n * @return {boolean} whether this form has method=\"dialog\"\n */\nfunction isFormMethodDialog(el) {\n if (!el || !el.hasAttribute('method')) {\n return false;\n }\n return el.getAttribute('method').toLowerCase() === 'dialog';\n}\n\n/**\n * @param {!DocumentFragment|!Element} hostElement\n * @return {?Element}\n */\nfunction findFocusableElementWithin(hostElement) {\n // Note that this is 'any focusable area'. This list is probably not exhaustive, but the\n // alternative involves stepping through and trying to focus everything.\n var opts = ['button', 'input', 'keygen', 'select', 'textarea'];\n var query = opts.map(function(el) {\n return el + ':not([disabled])';\n });\n // TODO(samthor): tabindex values that are not numeric are not focusable.\n query.push('[tabindex]:not([disabled]):not([tabindex=\"\"])'); // tabindex != \"\", not disabled\n var target = hostElement.querySelector(query.join(', '));\n\n if (!target && 'attachShadow' in Element.prototype) {\n // If we haven't found a focusable target, see if the host element contains an element\n // which has a shadowRoot.\n // Recursively search for the first focusable item in shadow roots.\n var elems = hostElement.querySelectorAll('*');\n for (var i = 0; i < elems.length; i++) {\n if (elems[i].tagName && elems[i].shadowRoot) {\n target = findFocusableElementWithin(elems[i].shadowRoot);\n if (target) {\n break;\n }\n }\n }\n }\n return target;\n}\n\n/**\n * Determines if an element is attached to the DOM.\n * @param {Element} element to check\n * @return {Boolean} whether the element is in DOM\n */\nfunction isConnected(element) {\n return element.isConnected || document.body.contains(element);\n}\n\n/**\n * @param {!Event} event\n */\nfunction findFormSubmitter(event) {\n if (event.submitter) {\n return event.submitter;\n }\n\n var form = event.target;\n if (!(form instanceof HTMLFormElement)) {\n return null;\n }\n\n var submitter = dialogPolyfill.formSubmitter;\n if (!submitter) {\n var target = event.target;\n var root = ('getRootNode' in target && target.getRootNode() || document);\n submitter = root.activeElement;\n }\n\n if (submitter.form !== form) {\n return null;\n }\n return submitter;\n}\n\n/**\n * @param {!Event} event\n */\nfunction maybeHandleSubmit(event) {\n if (event.defaultPrevented) {\n return;\n }\n var form = /** @type {!HTMLFormElement} */ (event.target);\n\n // We'd have a value if we clicked on an imagemap.\n var value = dialogPolyfill.useValue;\n var submitter = findFormSubmitter(event);\n if (value === null && submitter) {\n value = submitter.value;\n }\n\n // There should always be a dialog as this handler is added specifically on them, but check just\n // in case.\n var dialog = findNearestDialog(form);\n if (!dialog) {\n return;\n }\n\n // Prefer formmethod on the button.\n var formmethod = submitter && submitter.getAttribute('formmethod') || form.getAttribute('method');\n if (formmethod !== 'dialog') {\n return;\n }\n event.preventDefault();\n\n if (submitter) {\n dialog.close(value);\n } else {\n dialog.close();\n }\n}\n\n/**\n * @param {!HTMLDialogElement} dialog to upgrade\n * @constructor\n */\nfunction dialogPolyfillInfo(dialog) {\n this.dialog_ = dialog;\n this.replacedStyleTop_ = false;\n this.openAsModal_ = false;\n\n // Set a11y role. Browsers that support dialog implicitly know this already.\n if (!dialog.hasAttribute('role')) {\n dialog.setAttribute('role', 'dialog');\n }\n\n dialog.show = this.show.bind(this);\n dialog.showModal = this.showModal.bind(this);\n dialog.close = this.close.bind(this);\n\n dialog.addEventListener('submit', maybeHandleSubmit, false);\n\n if (!('returnValue' in dialog)) {\n dialog.returnValue = '';\n }\n\n if ('MutationObserver' in window) {\n var mo = new MutationObserver(this.maybeHideModal.bind(this));\n mo.observe(dialog, {attributes: true, attributeFilter: ['open']});\n } else {\n // IE10 and below support. Note that DOMNodeRemoved etc fire _before_ removal. They also\n // seem to fire even if the element was removed as part of a parent removal. Use the removed\n // events to force downgrade (useful if removed/immediately added).\n var removed = false;\n var cb = function() {\n removed ? this.downgradeModal() : this.maybeHideModal();\n removed = false;\n }.bind(this);\n var timeout;\n var delayModel = function(ev) {\n if (ev.target !== dialog) { return; } // not for a child element\n var cand = 'DOMNodeRemoved';\n removed |= (ev.type.substr(0, cand.length) === cand);\n window.clearTimeout(timeout);\n timeout = window.setTimeout(cb, 0);\n };\n ['DOMAttrModified', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument'].forEach(function(name) {\n dialog.addEventListener(name, delayModel);\n });\n }\n // Note that the DOM is observed inside DialogManager while any dialog\n // is being displayed as a modal, to catch modal removal from the DOM.\n\n Object.defineProperty(dialog, 'open', {\n set: this.setOpen.bind(this),\n get: dialog.hasAttribute.bind(dialog, 'open')\n });\n\n this.backdrop_ = document.createElement('div');\n this.backdrop_.className = 'backdrop';\n this.backdrop_.addEventListener('mouseup' , this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('mousedown', this.backdropMouseEvent_.bind(this));\n this.backdrop_.addEventListener('click' , this.backdropMouseEvent_.bind(this));\n}\n\ndialogPolyfillInfo.prototype = /** @type {HTMLDialogElement.prototype} */ ({\n\n get dialog() {\n return this.dialog_;\n },\n\n /**\n * Maybe remove this dialog from the modal top layer. This is called when\n * a modal dialog may no longer be tenable, e.g., when the dialog is no\n * longer open or is no longer part of the DOM.\n */\n maybeHideModal: function() {\n if (this.dialog_.hasAttribute('open') && isConnected(this.dialog_)) { return; }\n this.downgradeModal();\n },\n\n /**\n * Remove this dialog from the modal top layer, leaving it as a non-modal.\n */\n downgradeModal: function() {\n if (!this.openAsModal_) { return; }\n this.openAsModal_ = false;\n this.dialog_.style.zIndex = '';\n\n // This won't match the native exactly because if the user set top on a centered\n // polyfill dialog, that top gets thrown away when the dialog is closed. Not sure it's\n // possible to polyfill this perfectly.\n if (this.replacedStyleTop_) {\n this.dialog_.style.top = '';\n this.replacedStyleTop_ = false;\n }\n\n // Clear the backdrop and remove from the manager.\n this.backdrop_.parentNode && this.backdrop_.parentNode.removeChild(this.backdrop_);\n dialogPolyfill.dm.removeDialog(this);\n },\n\n /**\n * @param {boolean} value whether to open or close this dialog\n */\n setOpen: function(value) {\n if (value) {\n this.dialog_.hasAttribute('open') || this.dialog_.setAttribute('open', '');\n } else {\n this.dialog_.removeAttribute('open');\n this.maybeHideModal(); // nb. redundant with MutationObserver\n }\n },\n\n /**\n * Handles mouse events ('mouseup', 'mousedown', 'click') on the fake .backdrop element, redirecting them as if\n * they were on the dialog itself.\n *\n * @param {!Event} e to redirect\n */\n backdropMouseEvent_: function(e) {\n if (!this.dialog_.hasAttribute('tabindex')) {\n // Clicking on the backdrop should move the implicit cursor, even if dialog cannot be\n // focused. Create a fake thing to focus on. If the backdrop was _before_ the dialog, this\n // would not be needed - clicks would move the implicit cursor there.\n var fake = document.createElement('div');\n this.dialog_.insertBefore(fake, this.dialog_.firstChild);\n fake.tabIndex = -1;\n fake.focus();\n this.dialog_.removeChild(fake);\n } else {\n this.dialog_.focus();\n }\n\n var redirectedEvent = document.createEvent('MouseEvents');\n redirectedEvent.initMouseEvent(e.type, e.bubbles, e.cancelable, window,\n e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey,\n e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);\n this.dialog_.dispatchEvent(redirectedEvent);\n e.stopPropagation();\n },\n\n /**\n * Focuses on the first focusable element within the dialog. This will always blur the current\n * focus, even if nothing within the dialog is found.\n */\n focus_: function() {\n // Find element with `autofocus` attribute, or fall back to the first form/tabindex control.\n var target = this.dialog_.querySelector('[autofocus]:not([disabled])');\n if (!target && this.dialog_.tabIndex >= 0) {\n target = this.dialog_;\n }\n if (!target) {\n target = findFocusableElementWithin(this.dialog_);\n }\n safeBlur(document.activeElement);\n target && target.focus();\n },\n\n /**\n * Sets the zIndex for the backdrop and dialog.\n *\n * @param {number} dialogZ\n * @param {number} backdropZ\n */\n updateZIndex: function(dialogZ, backdropZ) {\n if (dialogZ < backdropZ) {\n throw new Error('dialogZ should never be < backdropZ');\n }\n this.dialog_.style.zIndex = dialogZ;\n this.backdrop_.style.zIndex = backdropZ;\n },\n\n /**\n * Shows the dialog. If the dialog is already open, this does nothing.\n */\n show: function() {\n if (!this.dialog_.open) {\n this.setOpen(true);\n this.focus_();\n }\n },\n\n /**\n * Show this dialog modally.\n */\n showModal: function() {\n if (this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is already open, and therefore cannot be opened modally.');\n }\n if (!isConnected(this.dialog_)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: The element is not in a Document.');\n }\n if (!dialogPolyfill.dm.pushDialog(this)) {\n throw new Error('Failed to execute \\'showModal\\' on dialog: There are too many open modal dialogs.');\n }\n\n if (createsStackingContext(this.dialog_.parentElement)) {\n console.warn('A dialog is being shown inside a stacking context. ' +\n 'This may cause it to be unusable. For more information, see this link: ' +\n 'https://github.com/GoogleChrome/dialog-polyfill/#stacking-context');\n }\n\n this.setOpen(true);\n this.openAsModal_ = true;\n\n // Optionally center vertically, relative to the current viewport.\n if (dialogPolyfill.needsCentering(this.dialog_)) {\n dialogPolyfill.reposition(this.dialog_);\n this.replacedStyleTop_ = true;\n } else {\n this.replacedStyleTop_ = false;\n }\n\n // Insert backdrop.\n this.dialog_.parentNode.insertBefore(this.backdrop_, this.dialog_.nextSibling);\n\n // Focus on whatever inside the dialog.\n this.focus_();\n },\n\n /**\n * Closes this HTMLDialogElement. This is optional vs clearing the open\n * attribute, however this fires a 'close' event.\n *\n * @param {string=} opt_returnValue to use as the returnValue\n */\n close: function(opt_returnValue) {\n if (!this.dialog_.hasAttribute('open')) {\n throw new Error('Failed to execute \\'close\\' on dialog: The element does not have an \\'open\\' attribute, and therefore cannot be closed.');\n }\n this.setOpen(false);\n\n // Leave returnValue untouched in case it was set directly on the element\n if (opt_returnValue !== undefined) {\n this.dialog_.returnValue = opt_returnValue;\n }\n\n // Triggering \"close\" event for any attached listeners on the .\n var closeEvent = new supportCustomEvent('close', {\n bubbles: false,\n cancelable: false\n });\n safeDispatchEvent(this.dialog_, closeEvent);\n }\n\n});\n\nvar dialogPolyfill = {};\n\ndialogPolyfill.reposition = function(element) {\n var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;\n var topValue = scrollTop + (window.innerHeight - element.offsetHeight) / 2;\n element.style.top = Math.max(scrollTop, topValue) + 'px';\n};\n\ndialogPolyfill.isInlinePositionSetByStylesheet = function(element) {\n for (var i = 0; i < document.styleSheets.length; ++i) {\n var styleSheet = document.styleSheets[i];\n var cssRules = null;\n // Some browsers throw on cssRules.\n try {\n cssRules = styleSheet.cssRules;\n } catch (e) {}\n if (!cssRules) { continue; }\n for (var j = 0; j < cssRules.length; ++j) {\n var rule = cssRules[j];\n var selectedNodes = null;\n // Ignore errors on invalid selector texts.\n try {\n selectedNodes = document.querySelectorAll(rule.selectorText);\n } catch(e) {}\n if (!selectedNodes || !inNodeList(selectedNodes, element)) {\n continue;\n }\n var cssTop = rule.style.getPropertyValue('top');\n var cssBottom = rule.style.getPropertyValue('bottom');\n if ((cssTop && cssTop !== 'auto') || (cssBottom && cssBottom !== 'auto')) {\n return true;\n }\n }\n }\n return false;\n};\n\ndialogPolyfill.needsCentering = function(dialog) {\n var computedStyle = window.getComputedStyle(dialog);\n if (computedStyle.position !== 'absolute') {\n return false;\n }\n\n // We must determine whether the top/bottom specified value is non-auto. In\n // WebKit/Blink, checking computedStyle.top == 'auto' is sufficient, but\n // Firefox returns the used value. So we do this crazy thing instead: check\n // the inline style and then go through CSS rules.\n if ((dialog.style.top !== 'auto' && dialog.style.top !== '') ||\n (dialog.style.bottom !== 'auto' && dialog.style.bottom !== '')) {\n return false;\n }\n return !dialogPolyfill.isInlinePositionSetByStylesheet(dialog);\n};\n\n/**\n * @param {!Element} element to force upgrade\n */\ndialogPolyfill.forceRegisterDialog = function(element) {\n if (window.HTMLDialogElement || element.showModal) {\n console.warn('This browser already supports , the polyfill ' +\n 'may not work correctly', element);\n }\n if (element.localName !== 'dialog') {\n throw new Error('Failed to register dialog: The element is not a dialog.');\n }\n new dialogPolyfillInfo(/** @type {!HTMLDialogElement} */ (element));\n};\n\n/**\n * @param {!Element} element to upgrade, if necessary\n */\ndialogPolyfill.registerDialog = function(element) {\n if (!element.showModal) {\n dialogPolyfill.forceRegisterDialog(element);\n }\n};\n\n/**\n * @constructor\n */\ndialogPolyfill.DialogManager = function() {\n /** @type {!Array} */\n this.pendingDialogStack = [];\n\n var checkDOM = this.checkDOM_.bind(this);\n\n // The overlay is used to simulate how a modal dialog blocks the document.\n // The blocking dialog is positioned on top of the overlay, and the rest of\n // the dialogs on the pending dialog stack are positioned below it. In the\n // actual implementation, the modal dialog stacking is controlled by the\n // top layer, where z-index has no effect.\n this.overlay = document.createElement('div');\n this.overlay.className = '_dialog_overlay';\n this.overlay.addEventListener('click', function(e) {\n this.forwardTab_ = undefined;\n e.stopPropagation();\n checkDOM([]); // sanity-check DOM\n }.bind(this));\n\n this.handleKey_ = this.handleKey_.bind(this);\n this.handleFocus_ = this.handleFocus_.bind(this);\n\n this.zIndexLow_ = 100000;\n this.zIndexHigh_ = 100000 + 150;\n\n this.forwardTab_ = undefined;\n\n if ('MutationObserver' in window) {\n this.mo_ = new MutationObserver(function(records) {\n var removed = [];\n records.forEach(function(rec) {\n for (var i = 0, c; c = rec.removedNodes[i]; ++i) {\n if (!(c instanceof Element)) {\n continue;\n } else if (c.localName === 'dialog') {\n removed.push(c);\n }\n removed = removed.concat(c.querySelectorAll('dialog'));\n }\n });\n removed.length && checkDOM(removed);\n });\n }\n};\n\n/**\n * Called on the first modal dialog being shown. Adds the overlay and related\n * handlers.\n */\ndialogPolyfill.DialogManager.prototype.blockDocument = function() {\n document.documentElement.addEventListener('focus', this.handleFocus_, true);\n document.addEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.observe(document, {childList: true, subtree: true});\n};\n\n/**\n * Called on the first modal dialog being removed, i.e., when no more modal\n * dialogs are visible.\n */\ndialogPolyfill.DialogManager.prototype.unblockDocument = function() {\n document.documentElement.removeEventListener('focus', this.handleFocus_, true);\n document.removeEventListener('keydown', this.handleKey_);\n this.mo_ && this.mo_.disconnect();\n};\n\n/**\n * Updates the stacking of all known dialogs.\n */\ndialogPolyfill.DialogManager.prototype.updateStacking = function() {\n var zIndex = this.zIndexHigh_;\n\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n dpi.updateZIndex(--zIndex, --zIndex);\n if (i === 0) {\n this.overlay.style.zIndex = --zIndex;\n }\n }\n\n // Make the overlay a sibling of the dialog itself.\n var last = this.pendingDialogStack[0];\n if (last) {\n var p = last.dialog.parentNode || document.body;\n p.appendChild(this.overlay);\n } else if (this.overlay.parentNode) {\n this.overlay.parentNode.removeChild(this.overlay);\n }\n};\n\n/**\n * @param {Element} candidate to check if contained or is the top-most modal dialog\n * @return {boolean} whether candidate is contained in top dialog\n */\ndialogPolyfill.DialogManager.prototype.containedByTopDialog_ = function(candidate) {\n while (candidate = findNearestDialog(candidate)) {\n for (var i = 0, dpi; dpi = this.pendingDialogStack[i]; ++i) {\n if (dpi.dialog === candidate) {\n return i === 0; // only valid if top-most\n }\n }\n candidate = candidate.parentElement;\n }\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleFocus_ = function(event) {\n var target = event.composedPath ? event.composedPath()[0] : event.target;\n\n if (this.containedByTopDialog_(target)) { return; }\n\n if (document.activeElement === document.documentElement) { return; }\n\n event.preventDefault();\n event.stopPropagation();\n safeBlur(/** @type {Element} */ (target));\n\n if (this.forwardTab_ === undefined) { return; } // move focus only from a tab key\n\n var dpi = this.pendingDialogStack[0];\n var dialog = dpi.dialog;\n var position = dialog.compareDocumentPosition(target);\n if (position & Node.DOCUMENT_POSITION_PRECEDING) {\n if (this.forwardTab_) {\n // forward\n dpi.focus_();\n } else if (target !== document.documentElement) {\n // backwards if we're not already focused on \n document.documentElement.focus();\n }\n }\n\n return false;\n};\n\ndialogPolyfill.DialogManager.prototype.handleKey_ = function(event) {\n this.forwardTab_ = undefined;\n if (event.keyCode === 27) {\n event.preventDefault();\n event.stopPropagation();\n var cancelEvent = new supportCustomEvent('cancel', {\n bubbles: false,\n cancelable: true\n });\n var dpi = this.pendingDialogStack[0];\n if (dpi && safeDispatchEvent(dpi.dialog, cancelEvent)) {\n dpi.dialog.close();\n }\n } else if (event.keyCode === 9) {\n this.forwardTab_ = !event.shiftKey;\n }\n};\n\n/**\n * Finds and downgrades any known modal dialogs that are no longer displayed. Dialogs that are\n * removed and immediately readded don't stay modal, they become normal.\n *\n * @param {!Array} removed that have definitely been removed\n */\ndialogPolyfill.DialogManager.prototype.checkDOM_ = function(removed) {\n // This operates on a clone because it may cause it to change. Each change also calls\n // updateStacking, which only actually needs to happen once. But who removes many modal dialogs\n // at a time?!\n var clone = this.pendingDialogStack.slice();\n clone.forEach(function(dpi) {\n if (removed.indexOf(dpi.dialog) !== -1) {\n dpi.downgradeModal();\n } else {\n dpi.maybeHideModal();\n }\n });\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n * @return {boolean} whether the dialog was allowed\n */\ndialogPolyfill.DialogManager.prototype.pushDialog = function(dpi) {\n var allowed = (this.zIndexHigh_ - this.zIndexLow_) / 2 - 1;\n if (this.pendingDialogStack.length >= allowed) {\n return false;\n }\n if (this.pendingDialogStack.unshift(dpi) === 1) {\n this.blockDocument();\n }\n this.updateStacking();\n return true;\n};\n\n/**\n * @param {!dialogPolyfillInfo} dpi\n */\ndialogPolyfill.DialogManager.prototype.removeDialog = function(dpi) {\n var index = this.pendingDialogStack.indexOf(dpi);\n if (index === -1) { return; }\n\n this.pendingDialogStack.splice(index, 1);\n if (this.pendingDialogStack.length === 0) {\n this.unblockDocument();\n }\n this.updateStacking();\n};\n\ndialogPolyfill.dm = new dialogPolyfill.DialogManager();\ndialogPolyfill.formSubmitter = null;\ndialogPolyfill.useValue = null;\n\n/**\n * Installs global handlers, such as click listers and native method overrides. These are needed\n * even if a no dialog is registered, as they deal with
.\n */\nif (window.HTMLDialogElement === undefined) {\n\n /**\n * If HTMLFormElement translates method=\"DIALOG\" into 'get', then replace the descriptor with\n * one that returns the correct value.\n */\n var testForm = document.createElement('form');\n testForm.setAttribute('method', 'dialog');\n if (testForm.method !== 'dialog') {\n var methodDescriptor = Object.getOwnPropertyDescriptor(HTMLFormElement.prototype, 'method');\n if (methodDescriptor) {\n // nb. Some older iOS and older PhantomJS fail to return the descriptor. Don't do anything\n // and don't bother to update the element.\n var realGet = methodDescriptor.get;\n methodDescriptor.get = function() {\n if (isFormMethodDialog(this)) {\n return 'dialog';\n }\n return realGet.call(this);\n };\n var realSet = methodDescriptor.set;\n /** @this {HTMLElement} */\n methodDescriptor.set = function(v) {\n if (typeof v === 'string' && v.toLowerCase() === 'dialog') {\n return this.setAttribute('method', v);\n }\n return realSet.call(this, v);\n };\n Object.defineProperty(HTMLFormElement.prototype, 'method', methodDescriptor);\n }\n }\n\n /**\n * Global 'click' handler, to capture the or