UNPKG

@govbr-ds/core

Version:

Padrão Digital de Governo

2 lines 5.73 kB
!function t(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define("core",[],i):"object"==typeof exports?exports.core=i():e.core=i()}(self,()=>(()=>{var t={"./src/components/avatar/_avatar.scss":()=>{},"./src/components/avatar/avatar.js":(t,e,i)=>{var s=i("./src/partial/js/behavior/dropdown.js");class r{constructor(t,e){this.name=t,this.component=e,this._setBehavior()}_setBehavior(){this._setDropdownBehavior()}_setDropdownBehavior(){if("dropdown"===this.component.parentElement.dataset.toggle){const t={iconToHide:"fa-caret-up",iconToShow:"fa-caret-down",trigger:this.component.parentElement,useIcons:!0},e=undefined;new Dropdown(t).setBehavior()}}}var o=null},"./src/partial/js/behavior/collapse.js":(t,e,i)=>{i.d(e,{default:()=>s});class s{constructor({trigger:t,iconToShow:e="fa-chevron-down",iconToHide:i="fa-chevron-up",useIcons:s=!0}){this.trigger=t,this.useIcons=s,this.breakpoint=t.getAttribute("data-breakpoint"),this.setIconToShow(e),this.setIconToHide(i),this._setTarget(),this._setUp()}_setTarget(){this.target=document.querySelector(`#${this.trigger.getAttribute("data-target")}`)}_checkBreakpoint(){this.breakpoint&&window.matchMedia("(min-width: 977px)").matches&&this.target.removeAttribute("hidden")}_setUp(){this._setVisibilityStatus(),this.useIcons&&this._toggleIcon(),this.trigger.setAttribute("aria-controls",`${this.trigger.getAttribute("data-target")}`),this._checkBreakpoint(),this.trigger.setAttribute("tabindex","0")}_setVisibilityStatus(){this._setTriggerVisibilityStatus(),this._setTargetVisibilityStatus()}_setTriggerVisibilityStatus(){this.target&&(this.target.hasAttribute("hidden")?(this.trigger.setAttribute("data-visible",!1),this.trigger.setAttribute("aria-expanded",!1)):(this.trigger.setAttribute("data-visible",!0),this.trigger.setAttribute("aria-expanded",!0)))}_handleTriggerKeyPress(){this._handleTriggerClickBehavior()}_setTargetVisibilityStatus(){this.target&&(this.target.hasAttribute("hidden")?this.target.setAttribute("aria-hidden",!0):(this.target.setAttribute("aria-hidden",!1),this._focusOnFirstItem(this.target)))}_handleTriggerClickBehavior(){this.breakpoint?window.matchMedia("(max-width: 977px)").matches&&(this._toggleVisibility(),this.useIcons&&this._toggleIcon(),this.trigger.dispatchEvent(new Event("change"))):(this._toggleVisibility(),this.useIcons&&this._toggleIcon(),this.trigger.dispatchEvent(new Event("change")))}_toggleVisibility(){this.target&&(this.target.hasAttribute("hidden")?this._showTarget():this._hideTarget())}_showTarget(){this.target.removeAttribute("hidden"),this._setVisibilityStatus(),this._focusOnFirstItem(this.target)}_hideTarget(){this.target.setAttribute("hidden",""),this._setVisibilityStatus()}_focusOnFirstItem(t){const e=t.querySelectorAll('a:not([disabled]), button:not([disabled]), input[type=text]:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),i=Array.from(e).find(t=>!t.hasAttribute("hidden"));i&&i.scrollIntoView({block:"nearest"})}_toggleIcon(){this.trigger.querySelectorAll("i.fas").forEach(t=>{this.target&&(t.classList.remove(this.target.hasAttribute("hidden")?this.iconToHide:this.iconToShow),t.classList.add(this.target.hasAttribute("hidden")?this.iconToShow:this.iconToHide))})}setBehavior(){this.trigger.addEventListener("click",t=>{"click"===t.type&&this._handleTriggerClickBehavior()}),this.trigger.addEventListener("keydown",t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this._handleTriggerKeyPress())}),this.target.addEventListener("keydown",t=>{"Escape"!==t.key||this.target.hasAttribute("hidden")||(t.preventDefault(),this._hideTarget(),this.trigger.focus())})}setIconToShow(t){this.iconToShow=t}setIconToHide(t){this.iconToHide=t}}},"./src/partial/js/behavior/dropdown.js":(t,e,i)=>{var s=i("./src/partial/js/behavior/collapse.js");class r extends s.default{constructor({trigger:t,iconToShow:e="fa-chevron-down",iconToHide:i="fa-chevron-up",useIcons:s=!0}){super({iconToHide:i,iconToShow:e,trigger:t,useIcons:s})}_setUp(){super._setUp(),this._hideDropdown(),this._initializeDropdownItems()}_hideDropdown(){document.addEventListener("mousedown",t=>{this.trigger.contains(t.target)||this.target.hasAttribute("hidden")||this.target.contains(t.target)||this.trigger.click()})}_setTargetVisibilityStatus(){super._setTargetVisibilityStatus(),this.target.hasAttribute("hidden")?this.target.removeAttribute("data-dropdown"):this.target.setAttribute("data-dropdown","")}_setParentsTargetVisibilityStatus(){this.target.hasAttribute("hidden")?this.target.parentElement.classList.remove("dropdown"):this.target.parentElement.classList.add("dropdown")}_initializeDropdownItems(){this.dropdownItems=Array.from(this.target.querySelectorAll('[role="menuitem"]')),this.dropdownItems.forEach(t=>{t.addEventListener("keydown",e=>{const i=e.key,s=this.dropdownItems.indexOf(t),r=this.dropdownItems.length-1;switch(i){case"ArrowUp":e.preventDefault();const t=(s-1+this.dropdownItems.length)%this.dropdownItems.length;this.dropdownItems[t].focus();break;case"ArrowDown":e.preventDefault();const i=(s+1)%this.dropdownItems.length;this.dropdownItems[i].focus()}})})}_handleTriggerClickBehavior(){super._handleTriggerClickBehavior(),this._setParentsTargetVisibilityStatus()}setBehavior(){super.setBehavior()}}},"?6190":()=>{}},e={},i;function s(i){var r=e[i];if(void 0!==r)return r.exports;var o=e[i]={exports:{}};return t[i](o,o.exports,s),o.exports}return s.d=(t,e)=>{for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),s("./src/components/avatar/avatar.js"),s("./src/components/avatar/_avatar.scss"),s("?6190")})()); //# sourceMappingURL=avatar.min.js.map