UNPKG

@fancyapps/ui

Version:

Robust JavaScript UI Component Library

2 lines 1.66 kB
/*! License details at fancyapps.com/license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.window=e.window||{}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=e=>typeof e==`object`&&!!e&&e.constructor===Object&&Object.prototype.toString.call(e)===`[object Object]`,n={btnTpl:`<button data-expand-action="toggle" class="f-button" title="{{TOGGLE_EXPAND}}"><svg><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></svg></button>`},r=`in-expanded-mode`,i=`with-expanded-carousel`;e.Expand=()=>{let e;function a(r){let i=e?.getOptions().Expand,a=(t(i)?{...n,...i}:n)[r];return a&&typeof a==`function`&&e?a(e):a}function o(){e?.getPlugins().Toolbar?.add(`expand`,{tpl:a(`btnTpl`)})}function s(e,t){let n=t.target;!n||t.defaultPrevented||n.dataset.expandAction===`toggle`&&l()}function c(t){t.key===`Escape`&&!t.defaultPrevented&&(a(`el`)||e?.getContainer())?.classList.contains(r)&&l()}function l(){let t=a(`el`)||e?.getContainer();t&&(t.classList.toggle(r),t.classList.contains(r)?(document.documentElement.classList.add(i),document.addEventListener(`keydown`,c,!0)):(document.documentElement.classList.remove(i),document.removeEventListener(`keydown`,c,!0)))}return{init:function(t){e=t,e.on(`initPlugins`,o),e.on(`click`,s)},destroy:function(){e?.off(`initPlugins`,o),e?.off(`click`,s),e=void 0,document.documentElement.classList.remove(i),document.removeEventListener(`keydown`,c,!0)},toggle:l}}});