toolness 2021-04-04 20:41:36 +00:00
rodzic c5ed504f1e
commit d4ed02dca2
4 zmienionych plików z 4 dodań i 4 usunięć

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -58,7 +58,7 @@ var e;!function(){"use strict";var t={}.hasOwnProperty;function r(){for(var e=[]
},{"react":"HdMw","../bounding-box":"nblm","../svg-symbol":"ObB7","../svg-vocabulary":"iXyu","../symbol-context-widget":"ZUAZ","../hover-debug-helper":"OjlT","../page":"RJck"}],"M5sl":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Random=void 0;const e=require("./util"),t={modulus:Math.pow(2,32),multiplier:1664525,increment:1013904223};class s{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now(),s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;this.seed=e,this.params=s,this.latestSeed=e}clone(){return new s(this.latestSeed,this.params)}next(){return this.latestSeed=(this.params.multiplier*this.latestSeed+this.params.increment)%this.params.modulus,this.latestSeed/this.params.modulus}bool(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;return this.next()<e}inRange(t){return this.choice(e.inclusiveRange(t))}choice(e){if(0===e.length)throw new Error("Cannot choose randomly from an empty array!");return e[Math.floor(this.next()*e.length)]}uniqueChoices(e,t){let s=[...e];const r=[];for(let i=0;i<t&&0!==s.length;i++){const e=this.choice(s);s=s.filter(t=>t!==e),r.push(e)}return r}}exports.Random=s;
},{"./util":"sxvS"}],"kXMH":[function(require,module,exports) {
"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(n){if(n&&n.__esModule)return n;var r={};if(null!=n)for(var i in n)"default"!==i&&Object.prototype.hasOwnProperty.call(n,i)&&e(r,n,i);return t(r,n),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AutoSizingSvg=void 0;const r=n(require("react"));function i(e){r.useEffect(()=>(window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}))}exports.AutoSizingSvg=r.default.forwardRef((e,t)=>{const{bgColor:n,padding:o,sizeToElement:c}=e,[u,a]=r.useState(0),[s,f]=r.useState(0),[l,d]=r.useState(1),[h,g]=r.useState(1),v=r.useRef(null),w=()=>{if(null==c?void 0:c.current){const e=c.current.getBoundingClientRect();return a(-e.width/2),f(-e.height/2),d(e.width),g(e.height),!0}return!1};return i(w),r.useEffect(()=>{if(!w()){const e=v.current;if(e){const t=e.getBBox();a(t.x-o),f(t.y-o),d(t.width+2*o),g(t.height+2*o)}}}),r.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"".concat(l,"px"),height:"".concat(h,"px"),viewBox:"".concat(u," ").concat(s," ").concat(l," ").concat(h),ref:t},n&&r.default.createElement("rect",{x:u,y:s,width:l,height:h,fill:n}),r.default.createElement("g",{ref:v},e.children))});
"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),t=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(n){if(n&&n.__esModule)return n;var r={};if(null!=n)for(var i in n)"default"!==i&&Object.prototype.hasOwnProperty.call(n,i)&&e(r,n,i);return t(r,n),r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AutoSizingSvg=void 0;const r=n(require("react"));function i(e){r.useEffect(()=>(window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}))}exports.AutoSizingSvg=r.default.forwardRef((e,t)=>{const{bgColor:n,sizeToElement:o}=e,[c,u]=r.useState(0),[a,s]=r.useState(0),[f,l]=r.useState(1),[d,h]=r.useState(1),g=r.useRef(null),v=()=>{if(null==o?void 0:o.current){const e=o.current.getBoundingClientRect();return u(-e.width/2),s(-e.height/2),l(e.width),h(e.height),!0}return!1};return i(v),r.useEffect(()=>{if(!v()){const t=g.current;if(t){const n=t.getBBox(),r=e.padding||0;u(n.x-r),s(n.y-r),l(n.width+2*r),h(n.height+2*r)}}}),r.default.createElement("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"".concat(f,"px"),height:"".concat(d,"px"),viewBox:"".concat(c," ").concat(a," ").concat(f," ").concat(d),ref:t},n&&r.default.createElement("rect",{x:c,y:a,width:f,height:d,fill:n}),r.default.createElement("g",{ref:g},e.children))});
},{"react":"HdMw"}],"m3x1":[function(require,module,exports) {
"use strict";var t=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))(function(r,c){function i(t){try{u(o.next(t))}catch(e){c(e)}}function a(t){try{u(o.throw(t))}catch(e){c(e)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(i,a)}u((o=o.apply(t,e||[])).next())})},e=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ExportWidget=void 0;const n=e(require("react"));function o(t){return['<?xml version="1.0" encoding="utf-8"?>',"\x3c!-- Generator: https://github.com/toolness/mystic-symbolic --\x3e",'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">',t.outerHTML].join("\n")}function r(e,n,o,r){return t(this,void 0,void 0,function*(){const t=e.current;if(!t)return void alert("Oops, an error occurred! Please try again later.");const c=yield r(t),i=document.createElement("a");i.href=c,i.download="".concat(n,".").concat(o),document.body.append(i),i.click(),document.body.removeChild(i)})}function c(t){const e=t.getContext("2d");if(!e)throw new Error("Unable to get 2D context for canvas!");return e}const i=e=>t(void 0,void 0,void 0,function*(){return"data:image/svg+xml;utf8,".concat(encodeURIComponent(o(e)))}),a=e=>t(void 0,void 0,void 0,function*(){const t=yield i(e);return new Promise((e,n)=>{const o=document.createElement("canvas"),r=document.createElement("img");r.onload=(()=>{o.width=r.width,o.height=r.height,c(o).drawImage(r,0,0),e(o.toDataURL())}),r.onerror=n,r.src=t})}),u=t=>{let{svgRef:e,basename:o}=t;return n.default.createElement(n.default.Fragment,null,n.default.createElement("button",{onClick:()=>r(e,o,"svg",i)},"Export SVG")," ",n.default.createElement("button",{onClick:()=>r(e,o,"png",a)},"Export PNG"))};exports.ExportWidget=u;
},{"react":"HdMw"}],"w4OL":[function(require,module,exports) {
@ -90,4 +90,4 @@ var e;!function(){"use strict";var t={}.hasOwnProperty;function r(){for(var e=[]
},{"./waves-page":"R99w","./vocabulary-page":"PhPL","./creature-page":"Wo33","./mandala-page":"JWz6","./debug-page":"abWC"}],"qWv7":[function(require,module,exports) {
"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),t=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var a in r)"default"!==a&&Object.prototype.hasOwnProperty.call(r,a)&&e(n,r,a);return t(n,r),n},n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});const a=r(require("react")),u=n(require("react-dom")),o=require("./page"),i=require("./pages"),c="app",l=document.getElementById("app");if(!l)throw new Error("Unable to find #".concat("app","!"));function s(){return new URLSearchParams(window.location.search)}function d(e){return a.useEffect(()=>(window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}),[e]),function(t){window.history.pushState(null,"",t),e()}}const f=e=>{const[t,r]=a.useState(s()),n=i.toPageName(t.get(o.PAGE_QUERY_ARG)||"",i.DEFAULT_PAGE),u=i.Pages[n],c=d(()=>r(s())),l={currPage:n,allPages:i.pageNames,pushState:c};return a.default.createElement(o.PageContext.Provider,{value:l},a.default.createElement(u,null))};u.default.render(a.default.createElement(f,null),l);
},{"react":"HdMw","react-dom":"X9zx","./page":"RJck","./pages":"l8vw"}]},{},["qWv7"], null)
//# sourceMappingURL=browser-main.6acdfd6a.js.map
//# sourceMappingURL=browser-main.a26f841a.js.map

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -1 +1 @@
<!DOCTYPE html><meta charset="utf-8"><title>Mystic Symbolic</title><style>body,html{margin:0;padding:0;font-family:Calibri,Arial,Helvetica Neue,sans-serif;overflow:hidden}.page{display:grid;column-gap:8px;padding:8px;box-sizing:border-box;height:100vh;width:100vw;grid-template-columns:auto 20em;grid-template-rows:3em auto 3em;grid-template-areas:"header header" "canvas sidebar" "footer footer"}header{grid-area:header;display:flex}header h1{margin:0;flex-grow:1}.sidebar{grid-area:sidebar;overflow-y:auto}footer{grid-area:footer}input[type=text],select{padding:8px}.checkerboard-bg{background:#eee url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" fill-opacity=".1"><path d="M200 0h200v200H200zM0 200h200v200H0z"/></svg>');background-size:20px 20px}.hover-debug-helper{font-family:Consolas,Monaco,monospace;color:#fff;background:rgba(0,0,0,.75);padding:4px;margin-top:4px;margin-left:4px}.thingy{margin-top:10px;margin-bottom:10px}.thingy:first-child{margin-top:0}ul.navbar{display:flex;list-style-type:none;margin:0;padding:0;justify-content:flex-end}ul.navbar li{border-right:1px solid grey;margin-right:8px;padding-right:8px}ul.navbar li:last-child{border-right:none;padding-right:0;margin-right:0}.flex-widget{display:flex;flex-direction:column}.flex-widget label{margin-bottom:8px}.canvas{grid-area:canvas;display:flex;align-items:center;justify-content:center;overflow:hidden}.canvas.scrollable{display:block;overflow:auto}.sidebar .disabled{color:grey}.sidebar label.checkbox{display:block;margin-top:10px;margin-bottom:10px}.sidebar .color-widget{display:flex}.sidebar .color-widget label{flex-grow:1}.sidebar .numeric-slider{display:flex;flex-direction:column}.sidebar .numeric-slider .slider{display:flex}.sidebar .numeric-slider .slider input{flex-basis:90%}</style><noscript> <p>Alas, you need JavaScript to peruse this page.</p> </noscript><div id="app" className="app"></div><script src="browser-main.6acdfd6a.js"></script>
<!DOCTYPE html><meta charset="utf-8"><title>Mystic Symbolic</title><style>body,html{margin:0;padding:0;font-family:Calibri,Arial,Helvetica Neue,sans-serif;overflow:hidden}.page{display:grid;column-gap:8px;padding:8px;box-sizing:border-box;height:100vh;width:100vw;grid-template-columns:auto 20em;grid-template-rows:3em auto 3em;grid-template-areas:"header header" "canvas sidebar" "footer footer"}header{grid-area:header;display:flex}header h1{margin:0;flex-grow:1}.sidebar{grid-area:sidebar;overflow-y:auto}footer{grid-area:footer}input[type=text],select{padding:8px}.checkerboard-bg{background:#eee url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" fill-opacity=".1"><path d="M200 0h200v200H200zM0 200h200v200H0z"/></svg>');background-size:20px 20px}.hover-debug-helper{font-family:Consolas,Monaco,monospace;color:#fff;background:rgba(0,0,0,.75);padding:4px;margin-top:4px;margin-left:4px}.thingy{margin-top:10px;margin-bottom:10px}.thingy:first-child{margin-top:0}ul.navbar{display:flex;list-style-type:none;margin:0;padding:0;justify-content:flex-end}ul.navbar li{border-right:1px solid grey;margin-right:8px;padding-right:8px}ul.navbar li:last-child{border-right:none;padding-right:0;margin-right:0}.flex-widget{display:flex;flex-direction:column}.flex-widget label{margin-bottom:8px}.canvas{grid-area:canvas;display:flex;align-items:center;justify-content:center;overflow:hidden}.canvas.scrollable{display:block;overflow:auto}.sidebar .disabled{color:grey}.sidebar label.checkbox{display:block;margin-top:10px;margin-bottom:10px}.sidebar .color-widget{display:flex}.sidebar .color-widget label{flex-grow:1}.sidebar .numeric-slider{display:flex;flex-direction:column}.sidebar .numeric-slider .slider{display:flex}.sidebar .numeric-slider .slider input{flex-basis:90%}</style><noscript> <p>Alas, you need JavaScript to peruse this page.</p> </noscript><div id="app" className="app"></div><script src="browser-main.a26f841a.js"></script>