UNPKG

smalltalk

Version:

Promise-based Alert, Confirm and Prompt replacement

3 lines 16.6 kB
/*! For license information please see smalltalk.min.js.LICENSE.txt */ var smalltalk;(()=>{"use strict";var n={407(n,e,t){const o=t(299),a=o((n,e,t)=>n.setAttribute(t,e[t])),r=o((n,e,t)=>n[t]=e[t]),i=o((n,e)=>!n(e)),s=n=>n!=n.toLowerCase();function l(n){var e;if(n)return e=n,document.querySelector(`[data-name="${e}"]`)}n.exports=(n,e={})=>{const{dataName:t,notAppend:o,parent:c=document.body,uniq:d=!0,...p}=e,u=l(t);if(d&&u)return u;const A=document.createElement(n);return t&&(A.dataset.name=t),Object.keys(p).filter(s).map(r(A,e)),Object.keys(p).filter(i(s)).map(a(A,e)),o||c.appendChild(A),A},n.exports.isElementPresent=l},339(n,e,t){t.d(e,{A:()=>f});var o=t(354),a=t.n(o),r=t(314),i=t.n(r),s=t(417),l=t.n(s),c=new URL(t(800),t.b),d=new URL(t(57),t.b),p=i()(a()),u=l()(c),A=l()(d);p.push([n.id,`.smalltalk{display:flex;align-items:center;flex-direction:column;justify-content:center;transition:.2s opacity;inset:0;overflow:auto;padding:20px;position:fixed;z-index:100}.smalltalk+.smalltalk{transition:ease 1s}.smalltalk .page{border-radius:3px;background:#fff;box-shadow:0 4px 23px 5px rgb(0 0 0 / 20%),0 2px 6px rgb(0 0 0 / 15%);color:#333;min-width:400px;padding:0;position:relative;z-index:0}@media only screen and (width <= 500px){.smalltalk .page{min-width:0}}.smalltalk .page>.close-button{background-image:url(${u});background-position:center;background-repeat:no-repeat;height:14px;position:absolute;right:7px;top:7px;width:14px;z-index:1}.smalltalk .page>.close-button:hover{background-image:url(${A})}.smalltalk .progress{display:block;width:100%}.smalltalk .page header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:500px;user-select:none;color:#333;font-size:120%;font-weight:700;margin:0;padding:14px 17px;text-shadow:#fff 0 1px 2px}.smalltalk .page .content-area{overflow:hidden;text-overflow:ellipsis;padding:6px 17px;position:relative}.smalltalk .page .action-area{padding:14px 17px}button{font-family:Ubuntu,Arial,sans-serif}.smalltalk .smalltalk,.smalltalk button{min-height:2em;min-width:4em}.smalltalk button{appearance:none;user-select:none;background-image:linear-gradient(#ededed,#ededed 38%,#dedede);border:1px solid rgb(0 0 0 / 25%);border-radius:2px;box-shadow:0 1px 0 rgb(0 0 0 / 8%),inset 0 1px 2px rgb(255 255 255 / 75%);color:#444;font:inherit;margin:0 1px 0 0;text-shadow:0 1px 0 rgb(240 240 240)}.smalltalk button::-moz-focus-inner{border:0}.smalltalk button:enabled:active{background-image:linear-gradient(#e7e7e7,#e7e7e7 38%,#d7d7d7);box-shadow:none;text-shadow:none}.smalltalk .page .button-strip{display:flex;flex-direction:row;justify-content:flex-end}.smalltalk .page .button-strip>button{margin-left:10px}.smalltalk input{width:100%;border:1px solid #bfbfbf;border-radius:2px;box-sizing:border-box;color:#444;font:inherit;margin:0;min-height:2em;padding:3px;outline:0}.smalltalk button:enabled:focus,.smalltalk input:enabled:focus{transition:border-color .2s;border-color:rgb(77 144 254);outline:0}`,"",{version:3,sources:["webpack://./css/smalltalk.css"],names:[],mappings:"AAAA,WACI,YAAS,CACT,kBAAa,CACb,qBAAgB,CAChB,sBAAiB,CACjB,sBAAkB,CAClB,OAAO,CACP,aAAU,CACV,YAAS,CACT,cAAU,CACV,WAAS,CAGb,sBACI,kBAAiB,CAGrB,iBACI,iBAAe,CACf,eAAY,CACZ,qEAAuD,CACvD,UAAO,CACP,eAAW,CACX,SAAS,CACT,iBAAU,CACV,SAAS,CAGb,wCACI,iBACI,WAAW,CAAA,CAInB,+BACI,wDAAkB,CAClB,0BAAqB,CACrB,2BAAmB,CACnB,WAAQ,CACR,iBAAU,CACV,SAAO,CACP,OAAK,CACL,UAAO,CACP,SAAS,CAGb,qCACI,wDAAkB,CAGtB,qBACI,aAAS,CACT,UAAO,CAGX,wBACI,eAAU,CACV,sBAAe,CACf,kBAAa,CACb,eAAW,CACX,gBAAa,CACb,UAAO,CACP,cAAW,CACX,eAAa,CACb,QAAQ,CACR,iBAAc,CACd,0BAAyB,CAG7B,+BACI,eAAU,CACV,sBAAe,CACf,gBAAa,CACb,iBAAU,CAGd,8BACI,iBAAc,CAGlB,OACI,mCAAgC,CAGjB,wCACf,cAAY,CACZ,aAAW,CAGf,kBACI,eAAY,CACZ,gBAAa,CACb,6DAAkB,CAClB,iCAAkB,CAClB,iBAAe,CACf,yEAAqD,CACrD,UAAO,CACP,YAAM,CACN,gBAAgB,CAChB,oCAAqB,CAGzB,oCACI,QAAQ,CAGZ,iCACI,6DAAkB,CAClB,eAAY,CACZ,gBAAa,CAGjB,+BACI,YAAS,CACT,kBAAgB,CAChB,wBAAiB,CAGrB,sCACI,gBAAa,CAGjB,iBACI,UAAO,CACP,wBAAkB,CAClB,iBAAe,CACf,qBAAY,CACZ,UAAO,CACP,YAAM,CACN,QAAQ,CACR,cAAY,CACZ,WAAS,CACT,SAAS,CAGb,+DACI,2BAAyB,CACzB,4BAAc,CACd,SAAS",sourcesContent:[".smalltalk {\n display: flex;\n align-items: center;\n flex-direction: column;\n justify-content: center;\n transition: 200ms opacity;\n inset: 0;\n overflow: auto;\n padding: 20px;\n position: fixed;\n z-index: 100;\n}\n\n.smalltalk + .smalltalk {\n transition: ease 1s;\n}\n\n.smalltalk .page {\n border-radius: 3px;\n background: white;\n box-shadow: 0 4px 23px 5px rgb(0 0 0 / 20%), 0 2px 6px rgb(0 0 0 / 15%);\n color: #333;\n min-width: 400px;\n padding: 0;\n position: relative;\n z-index: 0;\n}\n\n@media only screen and (width <= 500px) {\n .smalltalk .page {\n min-width: 0;\n }\n}\n\n.smalltalk .page > .close-button {\n background-image: url(../img/IDR_CLOSE_DIALOG.png);\n background-position: center;\n background-repeat: no-repeat;\n height: 14px;\n position: absolute;\n right: 7px;\n top: 7px;\n width: 14px;\n z-index: 1;\n}\n\n.smalltalk .page > .close-button:hover {\n background-image: url(../img/IDR_CLOSE_DIALOG_H.png);\n}\n\n.smalltalk .progress {\n display: block;\n width: 100%;\n}\n\n.smalltalk .page header {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 500px;\n user-select: none;\n color: #333;\n font-size: 120%;\n font-weight: bold;\n margin: 0;\n padding: 14px 17px;\n text-shadow: white 0 1px 2px;\n}\n\n.smalltalk .page .content-area {\n overflow: hidden;\n text-overflow: ellipsis;\n padding: 6px 17px;\n position: relative;\n}\n\n.smalltalk .page .action-area {\n padding: 14px 17px;\n}\n\nbutton {\n font-family: 'Ubuntu', 'Arial', sans-serif;\n}\n\n.smalltalk button, .smalltalk .smalltalk {\n min-height: 2em;\n min-width: 4em;\n}\n\n.smalltalk button {\n appearance: none;\n user-select: none;\n background-image: linear-gradient(#ededed, #ededed 38%, #dedede);\n border: 1px solid rgb(0 0 0 / 25%);\n border-radius: 2px;\n box-shadow: 0 1px 0 rgb(0 0 0 / 8%), inset 0 1px 2px rgb(255 255 255 / 75%);\n color: #444;\n font: inherit;\n margin: 0 1px 0 0;\n text-shadow: 0 1px 0 rgb(240 240 240);\n}\n\n.smalltalk button::-moz-focus-inner {\n border: 0;\n}\n\n.smalltalk button:enabled:active {\n background-image: linear-gradient(#e7e7e7, #e7e7e7 38%, #d7d7d7);\n box-shadow: none;\n text-shadow: none;\n}\n\n.smalltalk .page .button-strip {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n}\n\n.smalltalk .page .button-strip > button {\n margin-left: 10px;\n}\n\n.smalltalk input {\n width: 100%;\n border: 1px solid #bfbfbf;\n border-radius: 2px;\n box-sizing: border-box;\n color: #444;\n font: inherit;\n margin: 0;\n min-height: 2em;\n padding: 3px;\n outline: none;\n}\n\n.smalltalk button:enabled:focus, .smalltalk input:enabled:focus {\n transition: border-color 200ms;\n border-color: rgb(77 144 254);\n outline: none;\n}\n\n"],sourceRoot:""}]);const f=p},314(n){n.exports=function(n){var e=[];return e.toString=function(){return this.map(function(e){var t="",o=void 0!==e[5];return e[4]&&(t+="@supports (".concat(e[4],") {")),e[2]&&(t+="@media ".concat(e[2]," {")),o&&(t+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),t+=n(e),o&&(t+="}"),e[2]&&(t+="}"),e[4]&&(t+="}"),t}).join("")},e.i=function(n,t,o,a,r){"string"==typeof n&&(n=[[null,n,void 0]]);var i={};if(o)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(i[l]=!0)}for(var c=0;c<n.length;c++){var d=[].concat(n[c]);o&&i[d[0]]||(void 0!==r&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=r),t&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=t):d[2]=t),a&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=a):d[4]="".concat(a)),e.push(d))}},e}},417(n){n.exports=function(n,e){return e||(e={}),n?(n=String(n.__esModule?n.default:n),/^['"].*['"]$/.test(n)&&(n=n.slice(1,-1)),e.hash&&(n+=e.hash),/["'() \t\n]|(%20)/.test(n)||e.needQuotes?'"'.concat(n.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):n):n}},354(n){n.exports=function(n){var e=n[1],t=n[3];if(!t)return e;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),a="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(a," */");return[e].concat([r]).join("\n")}return[e].join("\n")}},299(n){const e=(n,...t)=>{if(function(n){if("function"!=typeof n)throw Error("fn should be function!")}(n),t.length>=n.length)return n(...t);const o=(...o)=>e(n,...t,...o),a=n.length-t.length-1,r=(n=>[function(e){return n(...arguments)},function(e,t){return n(...arguments)},function(e,t,o){return n(...arguments)},function(e,t,o,a){return n(...arguments)},function(e,t,o,a,r){return n(...arguments)}])(o)[a];return r||o};n.exports=e},72(n){var e=[];function t(n){for(var t=-1,o=0;o<e.length;o++)if(e[o].identifier===n){t=o;break}return t}function o(n,o){for(var r={},i=[],s=0;s<n.length;s++){var l=n[s],c=o.base?l[0]+o.base:l[0],d=r[c]||0,p="".concat(c," ").concat(d);r[c]=d+1;var u=t(p),A={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)e[u].references++,e[u].updater(A);else{var f=a(A,o);o.byIndex=s,e.splice(s,0,{identifier:p,updater:f,references:1})}i.push(p)}return i}function a(n,e){var t=e.domAPI(e);t.update(n);return function(e){if(e){if(e.css===n.css&&e.media===n.media&&e.sourceMap===n.sourceMap&&e.supports===n.supports&&e.layer===n.layer)return;t.update(n=e)}else t.remove()}}n.exports=function(n,a){var r=o(n=n||[],a=a||{});return function(n){n=n||[];for(var i=0;i<r.length;i++){var s=t(r[i]);e[s].references--}for(var l=o(n,a),c=0;c<r.length;c++){var d=t(r[c]);0===e[d].references&&(e[d].updater(),e.splice(d,1))}r=l}}},659(n){var e={};n.exports=function(n,t){var o=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(n){t=null}e[n]=t}return e[n]}(n);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},540(n){n.exports=function(n){var e=document.createElement("style");return n.setAttributes(e,n.attributes),n.insert(e,n.options),e}},56(n,e,t){n.exports=function(n){var e=t.nc;e&&n.setAttribute("nonce",e)}},825(n){n.exports=function(n){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=n.insertStyleElement(n);return{update:function(t){!function(n,e,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var a=void 0!==t.layer;a&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,a&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var r=t.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),e.styleTagTransform(o,n,e.options)}(e,n,t)},remove:function(){!function(n){if(null===n.parentNode)return!1;n.parentNode.removeChild(n)}(e)}}}},113(n){n.exports=function(n,e){if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},800(n,e,t){n.exports=t.p+"2b22a33a0a80bb926bbc.png"},57(n,e,t){n.exports=t.p+"8e9019bd86255ac9a618.png"}},e={};function t(o){var a=e[o];if(void 0!==a)return a.exports;var r=e[o]={id:o,exports:{}};if(!(o in n)){delete e[o];var i=new Error("Cannot find module '"+o+"'");throw i.code="MODULE_NOT_FOUND",i}return n[o](r,r.exports,t),r.exports}t.m=n,t.n=n=>{var e=n&&n.__esModule?()=>n.default:()=>n;return t.d(e,{a:e}),e},t.d=(n,e)=>{for(var o in e)t.o(e,o)&&!t.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:e[o]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),t.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e),t.r=n=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},(()=>{var n;t.g.importScripts&&(n=t.g.location+"");var e=t.g.document;if(!n&&e&&(e.currentScript&&"SCRIPT"===e.currentScript.tagName.toUpperCase()&&(n=e.currentScript.src),!n)){var o=e.getElementsByTagName("script");if(o.length)for(var a=o.length-1;a>-1&&(!n||!/^http(s?):/.test(n));)n=o[a--].src}if(!n)throw new Error("Automatic publicPath is not supported in this browser");n=n.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),t.p=n})(),t.b="undefined"!=typeof document&&document.baseURI||self.location.href,t.nc=void 0;var o={};(()=>{t.r(o),t.d(o,{alert:()=>B,confirm:()=>y,progress:()=>S,prompt:()=>w});var n=t(72),e=t.n(n),a=t(825),r=t.n(a),i=t(659),s=t.n(i),l=t(56),c=t.n(l),d=t(540),p=t.n(d),u=t(113),A=t.n(u),f=t(339),C={};C.styleTagTransform=A(),C.setAttributes=c(),C.insert=s().bind(null,"head"),C.domAPI=r(),C.insertStyleElement=p();e()(f.A,C);f.A&&f.A.locals&&f.A.locals;var m=t(299),g=t(407);function b(n){const e={value:n};return(...n)=>{const[t]=n;return n.length?(e.value=t,t):e.value}}const x=m(function(n,e,t,o){const a={ENTER:13,ESC:27,TAB:9,LEFT:37,UP:38,RIGHT:39,DOWN:40},{keyCode:r}=o,i=o.target,s=L(n,["ok","cancel","input"]).map(E);switch(r){case a.ENTER:G(i,n,e,t),o.preventDefault();break;case a.ESC:$(n),t();break;case a.TAB:o.shiftKey&&P(n,s),P(n,s),o.preventDefault();break;default:["left","right","up","down"].filter(n=>r===a[n.toUpperCase()]).forEach(()=>{!function(n,e){const t=E(document.activeElement),o=/ok|cancel/.test(t),a=e.length-1;if("input"===t||!a||!o)return;const r=T(t);for(const e of L(n,[r]))e.focus()}(n,s)})}o.stopPropagation()}),h={ok:"OK"},v={ok:"OK",cancel:"Cancel"},k=b(100),B=(n,e,t)=>j(n,e,"",O(t)||h,t),w=(n,e,t="",o)=>{const a=function(n={}){const{type:e}=n;return"password"===e?"password":"text"}(o);return j(n,e,`<input type="${a}" value="${String(t).replace(/"/g,"&quot;")}" data-name="js-input">`,O(o)||v,o)},y=(n,e,t)=>j(n,e,"",O(t)||v,t),S=(n,e,t)=>{const o=j(n,e,'\n <progress value="0" data-name="js-progress" class="progress" max="100"></progress>\n <span data-name="js-counter">0%</span>\n ',{cancel:"Abort"},t),{ok:a,dialog:r}=o,i=a();for(const n of L(r,["cancel"]))n.focus();return Object.assign(o,{setProgress(n){const[e]=L(r,["progress"]),[t]=L(r,["counter"]);e.value=n,t.textContent=`${n}%`,100===n&&($(r),i())},remove(){$(r)}}),o};function O(n={}){const{buttons:e}=n;return e||null}function I(n,e,t,o){return`<div class="page">\n <div data-name="js-close" class="close-button"></div>\n <header>${n}</header>\n <div class="content-area">${e.replace(/\n/g,"<br>")}${t}</div>\n <div class="action-area">\n <div class="button-strip">\n ${function(n){const e=Object.keys(n),t=m((n,e,t)=>`<button\n tabindex=${t}\n data-name="js-${e.toLowerCase()}">\n ${n[e]}\n </button>`);return e.map(t(n)).join("")}(o)}\n </div>\n </div>\n </div>`}function j(n,e,t,o,a){const r=b(),i=b(),s=new Promise((n,e)=>{const t=a&&"boolean"==typeof a.cancel&&!a.cancel;r(n),i(t?()=>{}:()=>e(Error()))}),l=I(n,e,t,o),c=g("div",{innerHTML:l,className:"smalltalk",style:`z-index: ${k(k()+1)}`});for(const n of L(c,["ok","input"]))n.focus();for(const n of L(c,["input"]))n.setSelectionRange(0,t.length);!function(n,e,t,o){for(const a of L(e,t))a.addEventListener(n,o)}("click",c,["cancel","close","ok"],n=>{G(n.target,c,r(),i())});for(const n of["click","contextmenu"])c.addEventListener(n,n=>{n.stopPropagation();for(const n of L(c,["ok","input"]))n.focus()});return c.addEventListener("keydown",x(c,r(),i())),Object.assign(s,{dialog:c,ok:r})}function E(n){return n.getAttribute("data-name").replace("js-","")}const T=n=>"cancel"===n?"ok":"cancel";const U=(n,e)=>e===n?0:e+1;function P(n,e){const t=E(document.activeElement),o=e.length-1,a=e.indexOf(t),r=e[U(o,a)];for(const e of L(n,[r]))e.focus()}function G(n,e,t,o){const a=n.getAttribute("data-name").replace("js-","");if(/close|cancel/.test(a))return o(),void $(e);let r=null;for(const n of L(e,["input"]))({value:r}=n);t(r),$(e)}const D=m((n,e)=>n.querySelector(`[data-name="js-${e}"]`));function L(n,e){return e.map(D(n)).filter(Boolean)}function $(n){const{parentElement:e}=n;e&&e.removeChild(n)}})(),smalltalk=o})(); //# sourceMappingURL=smalltalk.min.js.map