@stories-js/core
Version:
Stories web components to build stories
5 lines • 2.15 kB
JavaScript
var __spreadArray=this&&this.__spreadArray||function(e,t,r){if(r||arguments.length===2)for(var i=0,a=t.length,n;i<a;i++){if(n||!(i in t)){if(!n)n=Array.prototype.slice.call(t,0,i);n[i]=t[i]}}return e.concat(n||Array.prototype.slice.call(t))};
/*!
* (C) StoriesJS https://storiesjs.org - GPL-2.0 License
*/var inheritAttributes=function(e,t){if(t===void 0){t=[]}var r={};t.forEach((function(t){if(e.hasAttribute(t)){var i=e.getAttribute(t);if(i!==null){r[t]=e.getAttribute(t)}e.removeAttribute(t)}}));return r};var hasShadowDom=function(e){return!!e.shadowRoot&&!!e.attachShadow};var findItemLabel=function(e){var t=e.closest("stories-item");if(t){return t.querySelector("stories-label")}return null};var debounceEvent=function(e,t){var r=e._original||e;return{_original:e,emit:debounce(r.emit.bind(r),t)}};var debounce=function(e,t){if(t===void 0){t=0}var r;return function(){var i=[];for(var a=0;a<arguments.length;a++){i[a]=arguments[a]}clearTimeout(r);r=setTimeout.apply(void 0,__spreadArray([e,t],i,false))}};var getAriaLabel=function(e,t){var r;var i=e.getAttribute("aria-labelledby");var a=e.id;var n=i!==null&&i.trim()!==""?i:t+"-lbl";var o=i!==null&&i.trim()!==""?document.getElementById(i):findItemLabel(e);if(o){if(i===null){o.id=n}r=o.textContent;o.setAttribute("aria-hidden","true")}else if(a.trim()!==""){o=document.querySelector('label[for="'.concat(a,'"]'));if(o){if(o.id!==""){n=o.id}else{o.id=n="".concat(a,"-lbl")}r=o.textContent}}return{label:o,labelId:n,labelText:r}};var renderHiddenInput=function(e,t,r,i,a){if(e||hasShadowDom(t)){var n=t.querySelector("input.aux-input");if(!n){n=t.ownerDocument.createElement("input");n.type="hidden";n.classList.add("aux-input");t.appendChild(n)}n.disabled=a;n.name=r;n.value=i||""}};var raf=function(e){if(typeof __zone_symbol__requestAnimationFrame==="function"){return __zone_symbol__requestAnimationFrame(e)}if(typeof requestAnimationFrame==="function"){return requestAnimationFrame(e)}return setTimeout(e)};export{raf as a,debounceEvent as d,findItemLabel as f,getAriaLabel as g,hasShadowDom as h,inheritAttributes as i,renderHiddenInput as r};
//# sourceMappingURL=helpers-77bcaf88.js.map