UNPKG

@fancyapps/ui

Version:

Robust JavaScript UI Component Library

1 lines 3.7 kB
!/*! License details at fancyapps.com/license */function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,function(t){"use strict";let e=function(t){var e=new DOMParser().parseFromString(t,"text/html").body;if(e.childElementCount>1){for(var o=document.createElement("div");e.firstChild;)o.appendChild(e.firstChild);return o}let n=e.firstChild;if(n&&!(n instanceof HTMLElement)){var o=document.createElement("div");return o.appendChild(n),o}return n},o='<circle cx="11" cy="11" r="7.5"/><path d="m21 21-4.35-4.35M8 11h6"/>',n='<g><line x1="11" y1="8" x2="11" y2="14"></line></g>'+o,i={};for(let[t,e]of Object.entries({moveLeft:["moveLeft","MOVE_LEFT",'<path d="M5 12h14M5 12l6 6M5 12l6-6"/>'],moveRight:["moveRight","MOVE_RIGHT",'<path d="M5 12h14M13 18l6-6M13 6l6 6"/>'],moveUp:["moveUp","MOVE_UP",'<path d="M12 5v14M18 11l-6-6M6 11l6-6"/>'],moveDown:["moveDown","MOVE_DOWN",'<path d="M12 5v14M18 13l-6 6M6 13l6 6"/>'],zoomOut:["zoomOut","ZOOM_OUT",o],zoomIn:["zoomIn","ZOOM_IN",n],toggleFull:["toggleFull","TOGGLE_FULL",n],iterateZoom:["iterateZoom","ITERATE_ZOOM",n],toggle1to1:["toggleFull","TOGGLE_FULL",'<path d="M3.51 3.07c5.74.02 11.48-.02 17.22.02 1.37.1 2.34 1.64 2.18 3.13 0 4.08.02 8.16 0 12.23-.1 1.54-1.47 2.64-2.79 2.46-5.61-.01-11.24.02-16.86-.01-1.36-.12-2.33-1.65-2.17-3.14 0-4.07-.02-8.16 0-12.23.1-1.36 1.22-2.48 2.42-2.46Z"/><path d="M5.65 8.54h1.49v6.92m8.94-6.92h1.49v6.92M11.5 9.4v.02m0 5.18v0"/>'],rotateCCW:["rotateCCW","ROTATE_CCW",'<path d="M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01"/>'],rotateCW:["rotateCW","ROTATE_CW",'<path d="M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01"/>'],flipX:["flipX","FLIP_X",'<path d="M12 3v18M16 7v10h5L16 7M8 7v10H3L8 7"/>'],flipY:["flipY","FLIP_Y",'<path d="M3 12h18M7 16h10L7 21v-5M7 8h10L7 3v5"/>'],reset:["reset","RESET",'<path d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>'],toggleFS:["toggleFS","TOGGLE_FS",'<g><path d="M14.5 9.5 21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"/></g><g><path d="m14 10 7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"/></g>']}))i[t]={tpl:`<button data-panzoom-action="${e[0]}" class="f-button" title="{{${e[1]}}}"><svg>${e[2]}</svg></button>`};let l={...i},r={display:["zoomIn","zoomOut","toggle1to1","rotateCCW","rotateCW","flipX","flipY","reset"],items:{},svgAttr:{tabindex:"-1",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}};t.Controls=()=>{let t,o;function n(){let e=t?.getOptions().Controls;return"object"==typeof e&&null!==e&&e.constructor===Object&&"[object Object]"===Object.prototype.toString.call(e)?{...r,...e}:r}function i(){if(!t?.getOptions().Controls||!t||o)return;(o=document.createElement("div")).classList.add("f-controls");let i={...l,...n().items},r=Object.entries(n().svgAttr);for(let l of n().display){let n=i[l];if(n&&n.tpl){let i=e(t.localize(n.tpl));if(i){let e=i.querySelector("svg");if(e)for(let[t,o]of r)e.getAttribute(t)||e.setAttribute(t,String(o));"function"==typeof n.click&&t&&i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),"function"==typeof n.click&&t&&n.click(t,e)}),o.append(i)}}}o.childElementCount&&(t.getContainer()?.classList.add("has-controls"),t.getContainer()?.insertAdjacentElement("afterbegin",o))}return{init:function(e){(t=e).on("initLayout",i)},destroy:function(){t?.off("initLayout",i),t?.getContainer()?.classList.remove("has-controls"),o?.remove(),o=void 0},add:function(t,e){l[t]=e}}}});