{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/components/scrim.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./src/js/components/tooltip.js","webpack:///./node_modules/flatpickr/dist/flatpickr.js","webpack:///./src/js/components/list.js","webpack:///./src/js/components/accordion.js","webpack:///./src/js/components/breadcrumb.js","webpack:///./src/js/components/card.js","webpack:///./src/js/components/datepicker.js","webpack:///./src/js/components/footer.js","webpack:///./src/js/components/header.js","webpack:///./src/js/components/input.js","webpack:///./src/js/components/item.js","webpack:///./src/js/components/menu.js","webpack:///./src/js/components/message.js","webpack:///./src/js/components/modal.js","webpack:///./src/js/components/notification.js","webpack:///./src/js/components/select.js","webpack:///./src/js/components/table.js","webpack:///./src/js/components/tabs.js","webpack:///./src/js/components/tag.js","webpack:///./src/js/components/upload.js","webpack:///./src/js/components/template-base.js","webpack:///./src/js/components/swipe.js","webpack:///./src/js/components/wizard.js","webpack:///./node_modules/flatpickr/dist/l10n/pt.js","webpack:///./src/scss/dsgov.scss","webpack:///./src/js/components/taginput.js","webpack:///./src/js/components/globals-class.js","webpack:///./src/js/dsgov.entry.js"],"names":[],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,gEAAO;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;ACjDe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACZA,kBAAkB,SAAS,iBAAiB;;AAE5C,6DAA6D;AAC9C;AACf;AACA;AACA;AACA;;AAEA;AACA,C;;ACVuC;AACxB;AACf,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACTuC;AACvC;AACA,WAAW;;AAEX;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA,eAAe;;;AAGf;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA,cAAc;;;AAGd;AACA,mBAAmB,SAAS;AAC5B;AACA;;;;ACvBe;AACf;AACA;AACA;AACA;AACA,C;;ACLmD;AACZ;AACS;AACa;AAC9C;AACf,eAAe,SAAS,WAAW,aAAa;AAChD,WAAW,eAAe;AAC1B,GAAG;AACH,WAAW,oBAAoB;AAC/B;AACA,C;;ACVe;AACf;AACA,C;;ACF4C;AAC7B;AACf;AACA,WAAW,SAAS;AACpB,C;;ACJ+D;AACN;AACN;AACpC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,qBAAqB,CAAC,kBAAkB,kBAAkB,eAAe;AAClF,C;;ACZuC;AACxB;AACf,SAAS,SAAS;AAClB,C;;ACHqD;AACtC;AACf;AACA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;;AAEA;AACA,C;;ACT+D;AAChB;AACJ;AACK;AACW;AACF;AACR;AACjD;;AAEe;AACf;AACA;AACA;;AAEA,wBAAwB,kBAAkB;AAC1C,aAAa,qBAAqB;AAClC,gCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,WAAW;AACnB,IAAI,cAAc;AAClB,eAAe,aAAa;AAC5B;;AAEA,QAAQ,aAAa;AACrB,gBAAgB,qBAAqB;AACrC;AACA;AACA,KAAK;AACL,kBAAkB,mBAAmB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,C;;AC/CA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACT2C;AACc;AAC1C;AACf,MAAM,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,kBAAkB;;AAEtB;AACA,C;;AChB+C;AACE;AACN;AACK;AACjC;AACf,4CAA4C,WAAW;AACvD;AACA;AACA;;AAEA,MAAM,aAAa,UAAU,cAAc;AAC3C;AACA;;AAEA,yBAAyB,aAAa;AACtC,C;;ACfmD;AACJ;AACJ;AACJ;AACU;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,qBAAqB,eAAe;AACpC,eAAe,WAAW;AAC1B,YAAY,SAAS;AACrB,+DAA+D,cAAc;AAC7E;AACA;AACA,uCAAuC,aAAa;AACpD,C;;ACxB2C;AAC5B;AACf,uCAAuC,WAAW;AAClD,C;;ACHuC;AACI;AACU;AACL;AACC;AACF;AACU;;AAEzD;AACA,OAAO,aAAa;AACpB,EAAE,gBAAgB;AAClB;AACA;;AAEA;;AAEA;AACA,eAAe,kBAAkB;;AAEjC,QAAQ,WAAW,6BAA6B,gBAAgB,wCAAwC,gBAAgB;AACxH;AACA;AACA;;AAEA;AACA,CAAC;AACD;;;AAGA;AACA,oBAAoB,aAAa;;AAEjC,SAAS,aAAa,0CAA0C,WAAW;AAC3E,cAAc,gBAAgB,cAAc;AAC5C;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC;AACD;;;AAGe;AACf,eAAe,SAAS;AACxB;;AAEA,yBAAyB,cAAc,kBAAkB,gBAAgB;AACzE;AACA;;AAEA,sBAAsB,WAAW,6BAA6B,gBAAgB;AAC9E;AACA;;AAEA;AACA,C;;AC7DO,IAAI,SAAG;AACP;AACA;AACA;AACA;AACA,sBAAsB,SAAG;AACzB;AACA;AACA,IAAI,qBAAe;AACnB;AACA,IAAI,YAAM;AACV,IAAI,eAAS;AACb;AACP;AACA,CAAC;AACM,IAAI,gBAAU;AACrB;AACA,CAAC,MAAM;;AAEA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,gH;;AC9BsC;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEe;AACf;AACA,0CAA0C;;AAE1C,SAAS,cAAc;AACvB;AACA;AACA,KAAK;AACL,GAAG;AACH,C;;AC3Ce;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;AACA,C;;ACde;AACf;AACA;AACA,kFAAkF,yBAAyB;AAC3G,6CAA6C;AAC7C,0CAA0C;AAC1C,KAAK;AACL;AACA,GAAG,IAAI,EAAE;;AAET;AACA;AACA,GAAG;AACH,C;;ACb+D;AACN;AACQ;AACJ;AACE;AACR;AACZ;AACkB;AAClB;AACgB;AACV;AACM;AACD;AACpB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;AAC7C,uBAAuB;AACvB;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA,qBAAqB,SAAS,cAAc,iBAAiB,yCAAyC,iBAAiB;AACvH,kBAAkB,iBAAiB;AACnC,UAAU;AACV;;AAEA,+BAA+B,cAAc,CAAC,WAAW,wDAAwD;;AAEjH;AACA;AACA,SAAS,EAAE;AACX;;AAEA,YAAY,KAAqC,EAAE,qGA+B1C;;AAET;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;AAC5C;;AAEA;AACA,cAAc,KAAqC,EAAE,EAE1C;;AAEX;AACA,SAAS;;;AAGT;AACA,qBAAqB,gBAAgB,YAAY,eAAe;AAChE,kBAAkB,aAAa;AAC/B,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,6CAA6C,KAAK;;AAElD;AACA,sEAAsE;AACtE,SAAS;AACT;;AAEA,2BAA2B,uCAAuC;AAClE,cAAc,KAAqC,EAAE,EAO1C;;AAEX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,KAAqC,EAAE,EAE1C;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,EAAE;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACO,IAAI,yBAAY,kCAAkC;;;;AC/PP;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,CAAC,E;;AChDkC;AACpB;AACf;AACA,C;;ACHe;AACf;AACA,C;;ACFe;AACf;AACA,C;;ACFqD;AACR;AACwB;AACF;AACpD;AACf;AACA;AACA;AACA,kCAAkC,gBAAgB;AAClD,8BAA8B,YAAY;AAC1C;AACA;AACA;;AAEA;AACA,SAAS,SAAG;AACZ;AACA;AACA;AACA;AACA;;AAEA,SAAS,MAAM;AACf;AACA;AACA;AACA;AACA;;AAEA,SAAS,KAAK;AACd;AACA;AACA;AACA;AACA;;AAEA,SAAS,IAAI;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,wBAAwB;;AAEzD;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACA;;AAEA,WAAW,GAAG;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;ACrEwD;;AAExD,SAAS,2BAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA,MAAM,2BAAa;AACnB;AACA,CAAC,E;;ACxBsD;AACO;AACZ;AACkB;AACJ;AACJ;;AAE5D;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,IAAI;AAClB,cAAc,SAAG;AACjB;;AAEA;AACA,uBAAuB,eAAe;;AAEtC,yBAAyB,SAAS;AAClC,qBAAqB,kBAAkB;AACvC,KAAK;;AAEL,gDAAgD;;;AAGhD,sBAAsB,SAAG;AACzB,cAAc,MAAM;AACpB;AACA;AACA;;AAEA,sBAAsB,IAAI;AAC1B,cAAc,KAAK;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,yCAAyC,mBAAmB,sBAAsB;AAClF;;AAEA,uCAAuC,mBAAmB,uBAAuB;AACjF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,2BAQ1C;;AAEH;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA,wDAAwD,kEAAkE,mBAAmB;AAC7I;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uDAAuD,iEAAiE,mBAAmB;AAC3I;AACA;AACA;AACA,KAAK;AACL;;AAEA,0DAA0D,8BAA8B;AACxF;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;ACzIqD;AACK;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC,SAAS,aAAa,cAAc,WAAW;AAC/C;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA,SAAS,kBAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sHAAsH;;AAEtH;AACA;AACA;AACA,OAAO,IAAI,EAAE;;AAEb,WAAW,aAAa,cAAc,WAAW;AACjD;AACA,OAAO;AACP;AACA;;;AAGA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,UAAU,kBAAM;AAChB;AACA,CAAC,E;;ACrF2D;AACD;AACpD;AACP,sBAAsB,gBAAgB;AACtC,wBAAwB,IAAI,EAAE,SAAG;;AAEjC,iFAAiF,YAAY;AAC7F;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,UAAU,IAAI,EAAE,KAAK;AACrB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,SAAS,aAAM;AACf;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAU;AACvB;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,MAAM,aAAM;AACZ,CAAC,E;;ACpDD;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,GAAG;AACH,C;;ACVA,IAAI,kCAAI;AACR;AACA;AACA;AACe;AACf;AACA,WAAW,kCAAI;AACf,GAAG;AACH,C;;ACRuC;AACkB;AACE;AAC5C;AACf,YAAY,SAAS;AACrB,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,sCAAsC;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B;AACA;AACA,C;;ACvCyD;AACJ;AACM;AACR;AACnD;;AAEe;AACf,aAAa,kBAAkB;AAC/B,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;;AAEA,MAAM,gBAAgB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACzB+C;AAChC;AACf,0DAA0D;;AAE1D;AACA;AACA,GAAG;AACH,WAAW,YAAY;AACvB;;AAEA;AACA;AACA;AACA,SAAS;;;AAGT;AACA,OAAO;AACP,KAAK;;;AAGL;AACA,C;;ACtBe;AACf,uCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA,GAAG;AACH,C;;ACPuC;AACY;AACA;AACI;AACJ;AACM;AACJ;AACM;AACI;AAChB;AACV;AACM;AACiB;;AAE5D;AACA,aAAa,qBAAqB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,QAAQ,GAAG,gBAAgB,CAAC,eAAe,aAAa,aAAa,gEAAgE,gBAAgB,CAAC,eAAe,CAAC,kBAAkB;AACpN,CAAC;AACD;AACA;;;AAGA;AACA,wBAAwB,iBAAiB,CAAC,aAAa;AACvD,wDAAwD,gBAAgB;AACxE,4CAA4C,aAAa,YAAY,eAAe;;AAEpF,OAAO,SAAS;AAChB;AACA,GAAG;;;AAGH;AACA,WAAW,SAAS,oBAAoB,QAAQ,oCAAoC,WAAW;AAC/F,GAAG;AACH,CAAC;AACD;;;AAGe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,C;;ACpEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,C;;ACPyD;AAC1C;AACf,uCAAuC,EAAE,kBAAkB;AAC3D,C;;ACHe;AACf;AACA;AACA;AACA,GAAG,IAAI;AACP,C;;ACL0E;AACZ;AACM;AACnB;AACI;AAC0D;AACxD;AACE;AACN;;AAEpC;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,qBAAe;AAC/D;AACA,wDAAwD,QAAQ;AAChE;AACA,0DAA0D,YAAM;AAChE;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB,yCAAyC,eAAe,UAAU,cAAc;AACxH,sCAAsC,YAAM,GAAG,eAAS,GAAG,YAAM;AACjE;AACA;AACA;AACA,2BAA2B,eAAe,CAAC,SAAS,gDAAgD,kBAAkB;AACtH,4BAA4B,qBAAqB;AACjD,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,gBAAgB,+BAA+B;AACxE,6CAA6C,YAAM,0CAA0C;AAC7F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C,yBAAyB,YAAM;AAC/B;AACA;AACA,sBAAsB,KAAK,EAAE,MAAM;AACnC,kBAAkB,SAAG,EAAE,MAAM;AAC7B;AACA,KAAK;AACL;;AAEA;AACA,C;;AC/D6C;AACkD;AAC9C;AACI;;AAErD,0BAA0B,+BAA+B;;AAEzD,IAAI,sBAAsB,sCAAsC;AACjD;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,gBAAa;AAC9E,kBAAkB,YAAY;AAC9B,gDAAgD,mBAAmB,GAAG,mBAAmB;AACzF,WAAW,YAAY;AACvB,GAAG,IAAI,cAAc,CAAC;;AAEtB;AACA;AACA,GAAG;;AAEH;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAE1C;AACL,GAAG;;;AAGH;AACA,qBAAqB,cAAc;AACnC;AACA;AACA;AACA;AACA,KAAK,EAAE,gBAAgB;AACvB;AACA,GAAG,IAAI;AACP;AACA;AACA,GAAG;AACH,C;;ACnDoE;AACR;AAC0B;AAC9B;AACY;AACA;AAChB;;AAEpD;AACA,MAAM,gBAAgB,gBAAgB,IAAI;AAC1C;AACA;;AAEA,0BAA0B,oBAAoB;AAC9C,UAAU,6BAA6B,gCAAgC,6BAA6B;AACpG;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA,iGAAiG,oBAAoB;AACrH;AACA,sBAAsB,gBAAgB,gBAAgB,IAAI,GAAG,oBAAoB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,uBAAuB;AACxC;;AAEA,yBAAyB,gBAAgB;;AAEzC,2BAA2B,YAAY,gBAAgB,KAAK;AAC5D,sBAAsB,SAAG,EAAE,MAAM;AACjC;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4DAA4D,KAAK,GAAG,IAAI,sBAAsB,MAAM,GAAG,SAAG;;AAE1G;AACA,0BAA0B,oBAAoB;AAC9C;;AAEA,2BAA2B,oBAAoB;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,QAAQ;AACzC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AClJc;AACf;AACA,C;;ACFe;AACf;AACA,C;;ACF8D;AACF;AACgB;AAC5B;AACR;AACkB;AACI;AACN;AACJ;AACY;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,gBAAgB;AACtC,kBAAkB,YAAY;AAC9B;AACA,iBAAiB,wBAAwB;AACzC,gBAAgB,UAAU;AAC1B;AACA;AACA;AACA,0GAA0G,kBAAkB;AAC5H;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAsC,SAAG,GAAG,IAAI;AAChD,qCAAqC,MAAM,GAAG,KAAK;AACnD;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC,+BAA+B,KAAK,0CAA0C;AAC9E;;AAEA;AACA,6CAA6C,aAAa;AAC1D;AACA;AACA;AACA,yHAAyH,kBAAkB;AAC3I;AACA,sDAAsD;AACtD;AACA;AACA;AACA;;AAEA,mBAAmB,MAAM;AACzB;AACA;AACA,oDAAoD,eAAe;AACnE;AACA;AACA;AACA;AACA,0BAA0B,MAAM;AAChC;AACA;AACA;;AAEA;AACA,uCAAuC,SAAG,GAAG,IAAI;;AAEjD,sCAAsC,MAAM,GAAG,KAAK;;AAEpD;;AAEA;;AAEA;;AAEA,2BAA2B,MAAM;;AAEjC;AACA;AACA;;AAEA;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;ACtH2D;AACF;AACV;AACc;AACc;AACpC;AACwB;AACN;AACa;AACZ;;AAE3D;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC,aAAa,wBAAwB;AACrC,oBAAoB,IAAI,EAAE,KAAK;AAC/B;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,aAAa;AAC/B,+BAA+B,SAAG,GAAG,IAAI;AACzC,+BAA+B,MAAM,GAAG,KAAK;AAC7C;AACA;AACA,0BAA0B,eAAe;AACzC;AACA,sDAAsD;AACtD;;AAEA;AACA;AACA;AACA,eAAe,MAAM,mBAAmB;;AAExC;AACA,yDAAyD;AACzD;;AAEA,SAAS,YAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA,MAAM,KAAqC,EAAE,EAI1C;;AAEH,OAAO,QAAQ;AACf,QAAQ,KAAqC,EAAE,EAE1C;;AAEL;AACA;;AAEA;AACA;AACA,aAAa,kBAAkB,yCAAyC,eAAe,UAAU,cAAc;AAC/G;AACA,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA,UAAU,YAAM;AAChB;AACA;AACA,CAAC,E;;AClGsD;AACC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,SAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;AAClC;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH,0BAA0B,cAAc;AACxC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,8BAA8B;AACxF;AACA;AACA,GAAG;AACH,CAAC;;;AAGc;AACf;AACA;AACA;AACA;AACA;AACA,CAAC,E;;AC5DmE;AACT;AACF;AACA;AACJ;AACV;AACJ;AACsB;AACpB;AACF;AACvC,IAAI,uBAAgB,IAAI,cAAc,EAAE,uBAAa,EAAE,uBAAa,EAAE,qBAAW,EAAE,gBAAM,EAAE,cAAI,EAAE,yBAAe,EAAE,eAAK,EAAE,cAAI;AAC7H,IAAI,mBAAY,gBAAgB,eAAe;AAC/C,oBAAoB,uBAAgB;AACpC,CAAC,EAAE;;AAEwE;;AAEP;;;;ACjBvB;AAC7C,MAAM,iBAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAY;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,SAAS,cAAc,YAAY,YAAY,gBAAgB,cAAc;AAC7E,2EAA2E,YAAY;AACvF;AACA,SAAS,cAAc;AACvB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAS;AAChC;AACe,wFAAS;;;;;;;AC9LxB;AACA;AACA,IAAI,KAA4D;AAChE,IAAI,SACuD;AAC3D,CAAC,qBAAqB;;AAEtB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD,QAAQ;AAC7D,4CAA4C,QAAQ;AACpD,4DAA4D,QAAQ;AACpE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,YAAY;AAC5C;AACA;AACA,+BAA+B,gCAAgC;AAC/D;AACA;AACA,mCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD,gEAAgE,yEAAyE;AACzI;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,sCAAsC,iDAAiD,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,kCAAkC,0BAA0B,EAAE;AAC9D;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,EAAE;AACnB;AACA;AACA;AACA,4BAA4B,2BAA2B,EAAE;AACzD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,6BAA6B,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,oCAAoC,+CAA+C,EAAE;AACrF;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,+BAA+B,EAAE;AAC7D;AACA,4BAA4B,8BAA8B,EAAE;AAC5D;AACA;AACA,SAAS;AACT;AACA,4BAA4B,mCAAmC,EAAE;AACjE;AACA,4BAA4B,4BAA4B,EAAE;AAC1D;AACA,4BAA4B,2DAA2D,EAAE;AACzF;AACA,4BAA4B,+BAA+B,EAAE;AAC7D;AACA,4BAA4B,uBAAuB,EAAE;AACrD;AACA;AACA;AACA,SAAS;AACT;AACA,4BAA4B,iCAAiC,EAAE;AAC/D;AACA,4BAA4B,4BAA4B,EAAE;AAC1D;AACA,4BAA4B,0BAA0B,EAAE;AACxD;AACA,4BAA4B,uBAAuB,EAAE;AACrD;AACA,4BAA4B,sBAAsB,EAAE;AACpD;AACA,4BAA4B,gDAAgD,EAAE;AAC9E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,mBAAmB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iBAAiB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,oCAAoC,EAAE;AACtG;AACA;AACA,2CAA2C,oBAAoB;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,2CAA2C,uCAAuC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,2BAA2B;AACtE,wCAAwC,uBAAuB;AAC/D;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B,mBAAmB,OAAO;AAC1B,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA,oDAAoD,4CAA4C,EAAE;AAClG;AACA,sDAAsD,0CAA0C,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,gBAAgB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA,mEAAmE,0DAA0D,EAAE;AAC/H;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,KAAK;AACxB,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,OAAO;AAC1B,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA,wCAAwC,eAAe;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,eAAe;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oEAAoE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,4BAA4B;AAC9C;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA,8CAA8C;AAC9C,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,2DAA2D,iBAAiB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kCAAkC,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,kCAAkC,kCAAkC,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,KAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,2BAA2B;AAC3E,uCAAuC,kBAAkB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,iBAAiB;AACvD,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kBAAkB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,UAAU,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,kCAAkC,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,qBAAqB,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iDAAiD;AAClG;AACA;AACA;AACA;AACA,kCAAkC,4BAA4B,EAAE;AAChE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,kCAAkC,6BAA6B,EAAE;AACjE;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6BAA6B,EAAE;AACjE;AACA,aAAa;AACb;AACA,kCAAkC,6BAA6B,EAAE;AACjE;AACA,aAAa;AACb,oDAAoD;AACpD;AACA,cAAc;AACd;AACA,kCAAkC,6BAA6B,EAAE;AACjE;AACA,aAAa;AACb;AACA,kCAAkC,6BAA6B,EAAE;AACjE;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA,0CAA0C,wCAAwC,EAAE;AACpF;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,iDAAiD,kEAAkE;AACnH;AACA;AACA;AACA;AACA;AACA,+CAA+C,uCAAuC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,sHAAsH,iCAAiC,EAAE;AACzJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gCAAgC,YAAY;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,kCAAkC,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,YAAY,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA,4DAA4D,YAAY,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,kCAAkC,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,qCAAqC,EAAE;AACzF;AACA;AACA;AACA;AACA,kDAAkD,qCAAqC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,iDAAiD,EAAE;AAChG;AACA,yDAAyD,kCAAkC,EAAE;AAC7F;AACA;AACA,2CAA2C,uBAAuB;AAClE,oCAAoC,iCAAiC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,sCAAsC,UAAU,EAAE,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,8BAA8B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,+BAA+B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sCAAsC,EAAE;AAC9E;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,sBAAsB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC,EAAE;AACrE;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,4BAA4B;AAC5B;AACA;AACA,sDAAsD;AACtD;AACA;AACA,sDAAsD;AACtD;AACA,6CAA6C;AAC7C,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;;;;ACjmFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,MAAM;AACvC,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,+DAAM;;;;;;;;ACxGrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,oEAAW;;;;;;;;AChE1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,OAAO;AACP,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACe,qEAAY;;;;;;;;ACtF3B;AACA;AACA;AACA;AACA,6CAA6C,GAAG;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEe,+DAAM;;;;;;;;AC1DrB;AAAA;AAAiC;AACjC,kBAAkB,mBAAO,CAAC,EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAS;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,gDAAS;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEe,qEAAY;;;;;;;;ACxD3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,iEAAQ;;;;;;;;ACjBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8CAA8C,iCAAiC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,qCAAqC;AACtE,OAAO;AACP,kCAAkC,qCAAqC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACe,iEAAQ;;;;;;;;ACnJvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,qCAAqC;AAC3E;AACA,2DAA2D,KAAK;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACe,gEAAO;;;;;;;;AC1ZtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACe,+DAAM;;;;;;;;ACzDrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,gFAAgF;AAChF,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACe,+DAAM;;;;;;;;ACvLrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,gEAAO;;;;;;;;ACxBtB;AAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,sDAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACe,gEAAO;AACtB;AACA;AACA;AACA;;;;;;;;ACvBA;AAAiC;AACjC,6BAA6B,wDAAS;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACe,uEAAc;;;;;;;;ACjD7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,oCAAoC;AAC9D;AACA,yCAAyC,oCAAoC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,oCAAoC;AAC9D;AACA,yCAAyC,cAAc;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,iEAAQ;;;;;;;;ACzUvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAA0C,eAAe;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD,mBAAmB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,OAAO;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,kCAAkC,cAAc;AAChD;AACA;AACA;AACA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA,YAAY,+CAA+C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,gEAAO;;;;;;;;ACxTtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,+DAAM;;;;;;;;AClDrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,8DAAK;;;;;;;;AC7EpB;AACA;AACA;AACA,aAAa,EAAE;AACf,aAAa,EAAE;AACf,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mBAAmB,GAAG,sBAAsB;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEe,iEAAQ;;;;;;;;ACvNvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,uEAAc;;;;;;;;;;ACtFtB;AACP,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,sBAAsB;AACxD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACe,8DAAoB;;;AC/DO;AAC1C,MAAM,eAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,8BAA8B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iCAAiC;AAC7E,4CAA4C,iCAAiC;AAC7E;AACA;AACA;AACA;AACA;AACA,0DAA0D,mCAAmC;AAC7F;AACA;AACA,4CAA4C,iCAAiC;AAC7E;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA6F,WAAW;AACxG;AACA;AACA,2BAA2B,KAAoB;AAC/C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAQ;AAC9B;AACe,qFAAQ;;;;;;;AC7KvB;AACA,EAAE,KAA4D;AAC9D,EAAE,SACkD;AACpD,CAAC,4BAA4B;;AAE7B;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD,cAAc;;AAE9D,CAAC;;;;;;;;;;;;;;;;;;ACjED,uC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,qBAAY;AAClB;AACA,EAAE,qBAAY;AACd;AACe,uDAAU;;;;;;;;;;;;;;;AC1HY;AACE;AACZ;AACY;AACR;AACA;AACF;AACF;AACA;AACA;AACM;AACJ;AACc;AACd;AACE;AACF;AACF;AACF;AACU;AACF;AACF;AACA;AAC/B;AAC4C;AAC7B,MAAM,qBAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,4BAAW;AACxC;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,6BAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,6BAAY;AAC1C;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,yBAAQ;AAClC;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,yBAAQ;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,wBAAO;AAChC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,0BAAS;AAClC;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,wBAAO;AAChC;AACA;AACA,wBAAwB,mCAAO;AAC/B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,+BAAc;AAC9C;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,mCAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,oCAAQ;AAClC;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,wBAAO;AAChC;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAK;AAC5B;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,QAAU;AACtC;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,0BAAS;AACpC;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,yBAAQ;AAClC;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,yBAAQ;AAClC;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,gCAAc;AAC9C;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,uBAAM;AAC9B;AACA;AACA;;;ACjeA;AACgD;AAChD,oBAAoB,qBAAO","file":"./js/dsgov.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 29);\n","class BRScrim {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setType()\n this._setBehavior()\n }\n\n _setType () {\n if (this.component.classList.contains('is-foco')) {\n this._type = 'is-foco'\n }\n if (this.component.classList.contains('is-legibilidade')) {\n this._type = 'is-legibilidade'\n }\n if (this.component.classList.contains('is-inibicao')) {\n this._type = 'is-inibicao'\n }\n }\n\n _setBehavior () {\n if (this.component.classList.contains('is-foco')) {\n this.component.addEventListener('click', (event) => {\n this._hideScrim(event)\n })\n }\n }\n\n _hideScrim (event) {\n event.currentTarget.classList.remove('is-active')\n }\n\n showScrim () {\n if (this._type === 'is-foco') {\n this.component.classList.add('is-active')\n }\n }\n}\nconst scrimList = []\nfor (const brScrim of window.document.querySelectorAll('.br-scrim')) {\n scrimList.push(new BRScrim('br-scrim', brScrim))\n}\nexport default BRScrim\nfor (const buttonBloco1 of window.document.querySelectorAll('.scrimexemplo button')) {\n buttonBloco1.addEventListener('click', () => {\n for (const brScrim of scrimList) {\n brScrim.showScrim()\n }\n })\n}\n","export default function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n return {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n x: rect.left,\n y: rect.top\n };\n}","/*:: import type { Window } from '../types'; */\n\n/*:: declare function getWindow(node: Node | Window): Window; */\nexport default function getWindow(node) {\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getWindow from \"./getWindow.js\";\n/*:: declare function isElement(node: mixed): boolean %checks(node instanceof\n Element); */\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n/*:: declare function isHTMLElement(node: mixed): boolean %checks(node instanceof\n HTMLElement); */\n\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n/*:: declare function isShadowRoot(node: mixed): boolean %checks(node instanceof\n ShadowRoot); */\n\n\nfunction isShadowRoot(node) {\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe: assume body is always available\n return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\"; // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement);\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","// Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\nexport default function getLayoutRect(element) {\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// $FlowFixMe: this is a quicker (but less type safe) way to save quite some bytes from the bundle\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || // DOM Element detected\n // $FlowFixMe: need a better way to handle this...\n element.host || // ShadowRoot detected\n // $FlowFixMe: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the \nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = getNodeName(scrollParent) === 'body';\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n var offsetParent = element.offsetParent;\n\n if (offsetParent) {\n var html = getDocumentElement(offsetParent);\n\n if (getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && getComputedStyle(html).position !== 'static') {\n return html;\n }\n }\n\n return offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.willChange && css.willChange !== 'auto') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static') {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign(Object.assign(Object.assign({}, existing), current), {}, {\n options: Object.assign(Object.assign({}, existing.options), current.options),\n data: Object.assign(Object.assign({}, existing.data), current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign(Object.assign({}, DEFAULT_OPTIONS), defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(options) {\n cleanupModifierEffects();\n state.options = Object.assign(Object.assign(Object.assign({}, defaultOptions), state.options), options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) - Math.floor(reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = Math.floor(offsets[mainAxis]) + Math.ceil(reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsets(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: Math.round(x * dpr) / dpr || 0,\n y: Math.round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive;\n\n var _roundOffsets = roundOffsets(offsets),\n x = _roundOffsets.x,\n y = _roundOffsets.y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n } // $FlowFixMe: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n /*:: offsetParent = (offsetParent: Element); */\n\n\n if (placement === top) {\n sideY = bottom;\n y -= offsetParent.clientHeight - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left) {\n sideX = right;\n x -= offsetParent.clientWidth - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) < 2 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign(Object.assign({}, commonStyles), {}, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref3) {\n var state = _ref3.state,\n options = _ref3.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign(Object.assign({}, state.styles.arrow), mapToStyles(Object.assign(Object.assign({}, commonStyles), {}, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false\n })));\n }\n\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\";\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign(Object.assign({}, rects), {}, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = element.ownerDocument.body;\n var width = Math.max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = Math.max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += Math.max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign(Object.assign({}, rect), {}, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = Math.max(rect.top, accRect.top);\n accRect.right = Math.min(rect.right, accRect.right);\n accRect.bottom = Math.min(rect.bottom, accRect.bottom);\n accRect.left = Math.max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign(Object.assign({}, getFreshSideObject()), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var referenceElement = state.elements.reference;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(referenceElement);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign(Object.assign({}, popperRect), popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\n\n/*:: type OverflowsMap = { [ComputedPlacement]: number }; */\n\n/*;; type OverflowsMap = { [key in ComputedPlacement]: number }; */\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements; // $FlowFixMe\n\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","export default function within(min, value, max) {\n return Math.max(min, Math.min(value, max));\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport within from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign(Object.assign({}, state.rects), {}, {\n placement: state.placement\n })) : tetherOffset;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = popperOffsets[mainAxis] + overflow[mainSide];\n var max = popperOffsets[mainAxis] - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;\n var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? Math.min(min, tetherMin) : min, offset, tether ? Math.max(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var _preventedOffset = within(_min, _offset, _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport within from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = state.modifiersData[name + \"#persistent\"].padding;\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element,\n _options$padding = options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n state.modifiersData[name + \"#persistent\"] = {\n padding: mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements))\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign(Object.assign({}, state.attributes.popper), {}, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { createPopper } from '@popperjs/core'\nclass BRTooltip {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.activator = component.previousSibling.previousSibling\n const place = component.getAttribute('place')\n const positions = ['top', 'right', 'bottom', 'left']\n this.popover = component.hasAttribute('popover')\n this.notification = component.classList.contains('br-notification')\n this.timer = component.getAttribute('timer')\n this.active = component.hasAttribute('active')\n this.placement = positions.includes(place) ? place : this.notification ? 'bottom' : 'top'\n this.popperInstance = null\n this.showEvents = ['mouseenter', 'click', 'focus']\n this.hideEvents = ['mouseleave', 'blur']\n this.closeTimer = null\n this._create()\n this._setBehavior()\n }\n\n _setBehavior () {\n // Ação de abrir padrao ao entrar no ativador\n if (this.activator) {\n if (this.notification) {\n this.activator.addEventListener('click', (otherEvent) => {\n if (this.activator.hasAttribute('active')) {\n this._hide(otherEvent, this.component)\n } else {\n this._show(otherEvent)\n }\n this._toggleActivatorIcon()\n })\n } else {\n this.showEvents.forEach((event) => {\n this.activator.addEventListener(event, (otherEvent) => {\n this._show(otherEvent)\n })\n })\n }\n }\n // Adiciona ação de fechar ao botao do popover\n if (this.popover || this.notification) {\n const closeBtn = this.component.querySelector('.close')\n closeBtn.addEventListener('click', (event) => {\n this._hide(event, this.component)\n this._toggleActivatorIcon()\n })\n // Ação de fechar padrao ao sair do ativador\n } else {\n this.hideEvents.forEach((event) => {\n this.activator.addEventListener(event, (otherEvent) => {\n this._hide(otherEvent, this.component)\n })\n })\n }\n // Abre os elementos que devem aparecer já ativos\n // if (this.active) {\n // this._show(event)\n // }\n }\n\n _create () {\n this._setLayout()\n // Cria a instancia do popper\n if (this.notification) {\n // console.log(this.activator.parentNode)\n this.component.setAttribute('notification', '')\n this.popperInstance = createPopper(this.activator, this.component, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 10]\n }\n },\n {\n name: 'preventOverflow',\n options: {\n altAxis: false, // false by default\n mainAxis: true // true by default\n // rootBoundary: 'body',\n }\n }\n ],\n // placement: this.placement,\n placement: 'bottom',\n strategy: 'fixed'\n })\n } else {\n const ac = this.activator.getBoundingClientRect()\n const tt = this.component.getBoundingClientRect()\n const bw = document.body.clientWidth\n // console.log('width: ', bw, ' ac: ', ac, ' tt: ', tt)\n // console.log(ac.x + ac.width + tt.width)\n if (this.placement === 'right') {\n this.placement = ac.x + ac.width + tt.width > bw ? 'top' : this.placement\n }\n if (this.placement === 'left') {\n this.placement = ac.x - tt.width > 0 ? this.placement : 'top'\n }\n this.popperInstance = createPopper(this.activator, this.component, {\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n },\n {\n name: 'preventOverflow',\n options: {\n altAxis: true, // false by default\n // boundary: 'body',\n mainAxis: true, // true by default\n // rootBoundary: 'document',\n tether: false // true by default\n }\n }\n ],\n placement: this.placement\n })\n }\n }\n\n _show (event) {\n this.component.style.display = 'unset'\n this.component.setAttribute('data-show', '')\n this.component.style.zIndex = 99\n this._fixPosition()\n // Importante pois \"display: none\" conflitua com a instancia do componente e precisa ser setado aqui já que pelo css ativa o efeito fade no primeiro carregamento\n this.component.style.visibility = 'visible'\n if (this.timer) {\n clearTimeout(this.closeTimer)\n this.closeTimer = setTimeout(this._hide, this.timer, event, this.component)\n }\n }\n\n _hide (event, component) {\n component.removeAttribute('data-show')\n component.style.zIndex = -1\n component.style.visibility = 'hidden'\n clearTimeout(component.closeTimer)\n }\n\n _setLayout () {\n // Cria a setinha que aponta para o item que criou o tooltip\n const arrow = document.createElement('div')\n arrow.setAttribute('data-popper-arrow', '')\n arrow.classList.add('arrow')\n this.component.appendChild(arrow)\n // Cria o icone de fechar do po over\n if (this.popover || this.notification) {\n const close = document.createElement('button')\n close.setAttribute('type', 'button')\n close.classList.add('close')\n const ico = document.createElement('i')\n ico.classList.add('fas', 'fa-times')\n close.appendChild(ico)\n this.component.appendChild(close)\n }\n }\n\n _toggleActivatorIcon () {\n const icon = this.activator.querySelector('button svg')\n if (icon) {\n icon.classList.toggle('fa-angle-down')\n icon.classList.toggle('fa-angle-up')\n }\n this.activator.toggleAttribute('active')\n }\n\n _fixPosition () {\n if (this.notification) {\n setTimeout(() => {\n const ac = this.activator.getBoundingClientRect()\n this.component.style = `position: fixed !important; top: ${\n ac.top + ac.height + 10\n }px !important; left: auto; right: 8px; display: unset; bottom: auto;`\n this.component.querySelector('.arrow').style = `position: absolute; left: auto; right: ${\n document.body.clientWidth - ac.right + ac.width / 5\n }px !important;`\n }, 10)\n }\n }\n}\nconst tooltipList = []\nfor (const brTooltip of window.document.querySelectorAll('.br-tooltip')) {\n tooltipList.push(new BRTooltip('br-tooltip', brTooltip))\n}\nexport default BRTooltip\n","/* flatpickr v4.6.6, @license MIT */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.flatpickr = factory());\n}(this, (function () { 'use strict';\n\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n\r\n var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n };\r\n\r\n function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n }\n\n var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n ];\n var defaults = {\n _disable: [],\n _enable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enable: [],\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n // Thursday in current week decides the year.\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n // January 4 is always in week 1.\n var week1 = new Date(date.getFullYear(), 0, 4);\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n };\n\n var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n };\n\n var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n };\n var int = function (bool) { return (bool === true ? 1 : 0); };\n /* istanbul ignore next */\n function debounce(func, wait, immediate) {\n if (immediate === void 0) { immediate = false; }\n var timeout;\n return function () {\n var context = this, args = arguments;\n timeout !== null && clearTimeout(timeout);\n timeout = window.setTimeout(function () {\n timeout = null;\n if (!immediate)\n func.apply(context, args);\n }, wait);\n if (immediate && !timeout)\n func.apply(context, args);\n };\n }\n var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n };\n\n function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n }\n function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n }\n function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n }\n function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined; // nothing found\n }\n function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n }\n function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n }\n\n var doNothing = function () { return undefined; };\n var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\n var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n };\n var tokenRegex = {\n D: \"(\\\\w+)\",\n F: \"(\\\\w+)\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"(\\\\w+)\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"(\\\\w+)\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n };\n var formats = {\n // get the date in UTC\n Z: function (date) { return date.toISOString(); },\n // weekday name, short, e.g. Thu\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n // full month name e.g. January\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n // padded hour 1-12\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n // hours with leading zero e.g. 03\n H: function (date) { return pad(date.getHours()); },\n // day (1-30) with ordinal suffix e.g. 1st, 2nd\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n // AM/PM\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n // shorthand month e.g. Jan, Sep, Oct, etc\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n // seconds 00-59\n S: function (date) { return pad(date.getSeconds()); },\n // unix timestamp\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n // full year e.g. 2016, padded (0001-9999)\n Y: function (date) { return pad(date.getFullYear(), 4); },\n // day in month, padded (01-30)\n d: function (date) { return pad(date.getDate()); },\n // hour from 1-12 (am/pm)\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n // minutes, padded with leading zero e.g. 09\n i: function (date) { return pad(date.getMinutes()); },\n // day in month (1-30)\n j: function (date) { return date.getDate(); },\n // weekday name, full, e.g. Thursday\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n // padded month number (01-12)\n m: function (date) { return pad(date.getMonth() + 1); },\n // the month number (1-12)\n n: function (date) { return date.getMonth() + 1; },\n // seconds 0-59\n s: function (date) { return date.getSeconds(); },\n // Unix Milliseconds\n u: function (date) { return date.getTime(); },\n // number of the day of the week\n w: function (date) { return date.getDay(); },\n // last two digits of year e.g. 16 for 2016\n y: function (date) { return String(date.getFullYear()).substring(2); },\n };\n\n var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n };\n var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined // timestamp\n )\n // create a copy\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n // date string\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr) // datestrings w/ timezone\n )\n parsedDate = new Date(date);\n else if (config && config.parseDate)\n parsedDate = config.parseDate(date, format);\n else {\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token_1 = format[i];\n var isBackSlash = token_1 === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token_1] && !escaped) {\n regexStr += tokenRegex[token_1];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token_1 !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token_1],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\"; // don't really care\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n }\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n /* istanbul ignore next */\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n };\n /**\n * Compute the difference in dates, measured in ms\n */\n function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n }\n var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n };\n var duration = {\n DAY: 86400000,\n };\n\n if (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n }\n\n var DEBOUNCED_CHANGE_MS = 300;\n function FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaults), flatpickr.defaultConfig),\n l10n: english,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self._createElement = createElement;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar\n ? self.latestSelectedDateObj || self.config.minDate\n : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n /* TODO: investigate this further\n \n Currently, there is weird positioning behavior in safari causing pages\n to scroll up. https://github.com/chmln/flatpickr/issues/563\n \n However, most browsers are not Safari and positioning is expensive when used\n in scale. https://github.com/chmln/flatpickr/issues/1096\n */\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n /**\n * The handler for all events targeting the time inputs\n */\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate !== undefined\n ? new Date(self.config.minDate.getTime())\n : new Date();\n var _a = getDefaultHours(), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n defaultDate.setHours(hours, minutes, seconds, 0);\n self.setDate(defaultDate, false);\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n /**\n * Syncs the selected date object time with user's time input\n */\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours())\n minutes = Math.max(minutes, minTime.getMinutes());\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n setHours(hours, minutes, seconds);\n }\n /**\n * Syncs time input values with a date\n */\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function getDefaultHours() {\n var hours = self.config.defaultHour;\n var minutes = self.config.defaultMinute;\n var seconds = self.config.defaultSeconds;\n if (self.config.minDate !== undefined) {\n var minHr = self.config.minDate.getHours();\n var minMinutes = self.config.minDate.getMinutes();\n hours = Math.max(hours, minHr);\n if (hours === minHr)\n minutes = Math.max(minMinutes, minutes);\n if (hours === minHr && minutes === minMinutes)\n seconds = self.config.minDate.getSeconds();\n }\n if (self.config.maxDate !== undefined) {\n var maxHr = self.config.maxDate.getHours();\n var maxMinutes = self.config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = self.config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n }\n /**\n * Sets the hours, minutes, and optionally seconds\n * of the latest selected date object and the\n * corresponding time inputs\n * @param {Number} hours the hour. whether its military\n * or am-pm gets inferred from config\n * @param {Number} minutes the minutes\n * @param {Number} seconds the seconds (optional)\n */\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n /**\n * Handles the year input and incrementing events\n * @param {Event} event the keyup or increment event\n */\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n /**\n * Essentially addEventListener + tracking\n * @param {Element} element the element to addEventListener to\n * @param {String} event the event name\n * @param {Function} handler the event handler\n */\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n element: element,\n event: event,\n handler: handler,\n options: options,\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n /**\n * Adds all the necessary event listeners\n */\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(window.document.body, \"keydown\", onKeyDown);\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"click\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n triggerChange();\n });\n }\n }\n if (self.config.allowInput)\n bind(self._input, \"blur\", onBlur);\n }\n /**\n * Set the calendar view to a particular date.\n * @param {Date} jumpDate the date to set the view to\n * @param {boolean} triggerChange if change events should be triggered\n */\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n /* istanbul ignore next */\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n /**\n * The up/down arrow handler for time inputs\n * @param {Event} e the click event\n */\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n /**\n * Increments/decrements the value of input associ-\n * ated with the up/down arrow by dispatching an\n * \"increment\" event on the input.\n *\n * @param {Event} e the click event\n * @param {Number} delta the diff (usually 1 or -1)\n * @param {Element} inputElem the input element\n */\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", \"flatpickr-day \" + className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n dayNumber % 7 === 1) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var dayFocused = isInView(document.activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? document.activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n // prepend days from the ending of previous month\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n // Start at 1 since there is no 0th day\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n // append days from the next month\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n //updateNavigationCurrentMonth();\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n // TODO: week numbers for each month\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? self.config.defaultHour\n : military2ampm(self.config.defaultHour));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : self.config.defaultMinute);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : self.config.defaultSeconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n // add self.amPM if appropriate\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n /* istanbul ignore next */\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n // triggerChangeEvent is true (default) or an Event\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n var h = self._handlers[i];\n h.element.removeEventListener(h.event, h.handler, h.options);\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n if (self.config.appendTo && self.config.appendTo.contains(elem))\n return true;\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n // web components\n // e.path is not present in all browsers. circumventing typechecks\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = e.type === \"blur\"\n ? isInput &&\n e.relatedTarget &&\n !isCalendarElem(e.relatedTarget)\n : !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1) {\n self.clear(false);\n self.redraw();\n }\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless); // timeless\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (self.config.enable.length === 0 && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = self.config.enable.length > 0, array = bool ? self.config.enable : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck) // disabled by function\n )\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n // disabled by date\n return bool;\n else if (typeof d === \"string\" && dateToCheck !== undefined) {\n // disabled by date string\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (\n // disabled by range\n typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n if (isInput &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n // e.key e.keyCode\n // \"Backspace\" 8\n // \"Tab\" 9\n // \"Enter\" 13\n // \"Escape\" (IE \"Esc\") 27\n // \"ArrowLeft\" (IE \"Left\") 37\n // \"ArrowUp\" (IE \"Up\") 38\n // \"ArrowRight\" (IE \"Right\") 39\n // \"ArrowDown\" (IE \"Down\") 40\n // \"Delete\" (IE \"Del\") 46\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27: // escape\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (document.activeElement && isInView(document.activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem) {\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(\"flatpickr-day\") ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n for (var m = 0; m < self.config.showMonths; m++) {\n var month = self.daysContainer.children[m];\n var _loop_1 = function (i, l) {\n var dayElem = month.children[i], date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return \"continue\";\n }\n else if (containsDisabled && !outOfRange)\n return \"continue\";\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n };\n for (var i = 0, l = month.children.length; i < l; i++) {\n _loop_1(i, l);\n }\n }\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n eventTarget && eventTarget.blur();\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n if (self._input.disabled || self.config.inline)\n return;\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n // https://github.com/microsoft/TypeScript/issues/31663\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable.length &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n // some testing environments don't have css support\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n // hack - bugs in the way IE handles focus keeps the calendar open\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n // unless selecting same date twice, sort ascendingly\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n // maintain focus\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; }); // remove falsy values\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n // Workaround IE11 setting placeholder as the input's value\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n /* istanbul ignore next */\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n // hack: store previous type to restore it after destroy()\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n // replicate self.element\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n // If the instance has been destroyed already, all hooks have been removed\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n // many front-end frameworks bind to the input event\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n if (compareDates(self.selectedDates[i], date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(format) {\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n /**\n * Updates the values of inputs associated with the calendar\n */\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n }\n /* istanbul ignore next */\n function _flatpickr(nodeList, config) {\n // static list\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n }\n /* istanbul ignore next */\n if (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n // browser env\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n }\n /* istanbul ignore next */\n var flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n };\n /* istanbul ignore next */\n flatpickr.defaultConfig = {};\n flatpickr.l10ns = {\n en: __assign({}, english),\n default: __assign({}, english),\n };\n flatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n };\n flatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n };\n flatpickr.parseDate = createDateParser({});\n flatpickr.formatDate = createDateFormatter({});\n flatpickr.compareDates = compareDates;\n /* istanbul ignore next */\n if (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n }\n // eslint-disable-next-line @typescript-eslint/camelcase\n Date.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n };\n if (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n }\n\n return flatpickr;\n\n})));\n","class BRList {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.collapsible = this.name === 'br-list-collapsible'\n this.checkable = this.name === 'br-list-checkable'\n this.unique = component.hasAttribute('unique')\n this.horizontal = component.hasAttribute('horizontal')\n this.cols = this.horizontal ? component.querySelectorAll('.col') : []\n this.itens = component.querySelectorAll(':scope > .item')\n // suporte a colunas do bootstrap dentro da lista\n if (this.itens.length === 0) this.itens = component.querySelectorAll('div > .item')\n this._setBehavior()\n }\n\n // eslint-disable-next-line complexity\n _setBehavior () {\n if (this.collapsible) {\n this._closeAllItens()\n this.itens.forEach((item) => {\n item.addEventListener('click', (event) => {\n this._toggle(event, item)\n })\n })\n }\n if (this.checkable) {\n this.itens.forEach((item) => {\n this._setSelected(item)\n if (!item.hasAttribute('disabled')) {\n item.querySelector('.br-checkbox > input').addEventListener('click', (event) => {\n if (event.target.getAttribute('type') === 'checkbox') {\n this._check(event, item)\n }\n })\n }\n })\n }\n if (this.cols.length > 0) {\n const n = this.cols.length\n const pos = n > 6 && n % 2 === 1 ? n + 1 : n\n const resto = pos / Math.ceil(pos / 6)\n const equal = 100 / resto\n this.cols.forEach((col) => {\n col.style.flexBasis = `${equal}%`\n })\n }\n }\n\n _toggle (event, item) {\n if (!item.hasAttribute('active')) {\n if (this.unique) this._closeAllItens()\n }\n item.toggleAttribute('active')\n const icon = item.querySelector('.fa-angle-down')\n ? item.querySelector('.fa-angle-down')\n : item.querySelector('.fa-angle-up')\n if (icon) {\n icon.classList.toggle('fa-angle-down')\n icon.classList.toggle('fa-angle-up')\n }\n }\n\n _closeAllItens () {\n this.itens.forEach((item) => {\n item.removeAttribute('active')\n const icon = item.querySelector('.fa-angle-down')\n ? item.querySelector('.fa-angle-down')\n : item.querySelector('.fa-angle-up')\n if (icon) {\n icon.classList.add('fa-angle-down')\n icon.classList.remove('fa-angle-up')\n }\n })\n }\n\n _check (event, item) {\n item.classList.toggle('selected')\n this._setSelected(item)\n }\n\n _setSelected (item) {\n const brCheckbox = item.querySelector('.br-checkbox')\n const brCheckboxInput = brCheckbox.querySelector('input')\n const selected = item.classList.contains('selected')\n if (brCheckbox) {\n if (selected) {\n brCheckbox.classList.add('is-inverted')\n brCheckboxInput.setAttribute('checked', '')\n brCheckboxInput.checked = true\n } else {\n brCheckbox.classList.remove('is-inverted')\n brCheckboxInput.removeAttribute('checked')\n brCheckboxInput.checked = false\n }\n }\n }\n}\nconst listList = []\nfor (const brList of window.document.querySelectorAll('.br-list[collapsible]')) {\n listList.push(new BRList('br-list-collapsible', brList))\n}\nfor (const brList of window.document.querySelectorAll('.br-list[checkable]')) {\n listList.push(new BRList('br-list-checkable', brList))\n}\nexport default BRList\n","class BRAccordion {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n for (const button of this.component.querySelectorAll('button.header')) {\n button.addEventListener('click', (event) => {\n this._collapse(event)\n this._changeIcon(event)\n })\n }\n }\n\n _collapse (event) {\n if (this.component.hasAttribute('single')) {\n for (const field of this.component.querySelectorAll('.item')) {\n if (field === event.currentTarget.parentNode) {\n if (field.hasAttribute('active')) {\n field.removeAttribute('active')\n } else {\n field.setAttribute('active', '')\n }\n } else {\n if (field.hasAttribute('active')) {\n field.removeAttribute('active')\n }\n }\n }\n } else {\n for (const field of this.component.querySelectorAll('.item')) {\n if (field === event.currentTarget.parentNode) {\n if (field.hasAttribute('active')) {\n field.removeAttribute('active')\n } else {\n field.setAttribute('active', '')\n }\n }\n }\n }\n }\n\n _changeIcon () {\n for (const field of this.component.querySelectorAll('.item')) {\n if (field.hasAttribute('active')) {\n for (const icon of field.querySelectorAll('.icon')) {\n icon.children[0].classList.remove('fa-angle-down')\n icon.children[0].classList.add('fa-angle-up')\n }\n } else {\n for (const icon of field.querySelectorAll('.icon')) {\n icon.children[0].classList.remove('fa-angle-up')\n icon.children[0].classList.add('fa-angle-down')\n }\n }\n }\n }\n}\nconst accordionList = []\nfor (const brAccordion of window.document.querySelectorAll('.br-accordion')) {\n accordionList.push(Object.create(new BRAccordion('br-accordion', brAccordion)))\n}\nexport default BRAccordion\n","class BRBreadcrumb {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n this._insertExpandButton()\n this._setView()\n window.addEventListener('resize', (event) => {\n this._setView()\n })\n }\n\n _setView () {\n this._expand()\n for (const crumbList of this.component.querySelectorAll('.crumb-list')) {\n const crumbs = crumbList.querySelectorAll('.crumb')\n if (window.innerWidth < 576) {\n for (let i = crumbs.length - 3; i > 0; i--) {\n crumbs[i].classList.add('d-none')\n }\n } else {\n for (let i = crumbs.length - 3; i > 0; i--) {\n if (crumbList.scrollWidth > crumbList.offsetWidth) {\n crumbs[i].classList.add('d-none')\n }\n }\n }\n }\n }\n\n _insertExpandButton () {\n const crumb = this._createCrumb()\n for (const crumbList of this.component.querySelectorAll('.crumb-list')) {\n const crumbs = crumbList.querySelectorAll('.crumb')\n if (crumbList.scrollWidth > crumbList.offsetWidth) {\n crumbList.insertBefore(crumb, crumbs[crumbs.length - 1])\n }\n }\n }\n\n _expand (event) {\n for (const crumbList of this.component.querySelectorAll('.crumb-list')) {\n for (const crumb of crumbList.querySelectorAll('.crumb')) {\n if (crumb.classList.contains('d-none')) {\n crumb.classList.remove('d-none')\n }\n }\n }\n if (event) {\n event.currentTarget.classList.add('d-none')\n }\n }\n\n _createCrumb () {\n const crumb = document.createElement('li')\n crumb.classList.add('crumb')\n crumb.setAttribute('expand', '')\n\n const chevronIcon = document.createElement('i')\n chevronIcon.classList.add('icon', 'fas', 'fa-chevron-right')\n\n const button = document.createElement('button')\n button.classList.add('br-button', 'circle', 'small')\n button.setAttribute('type', 'button')\n button.setAttribute('aria-label', 'Expande o conteúdo do breadcrumb')\n\n const ellipsisIcon = document.createElement('i')\n ellipsisIcon.classList.add('fas', 'fa-ellipsis-h')\n crumb.appendChild(chevronIcon)\n button.appendChild(ellipsisIcon)\n crumb.appendChild(button)\n\n crumb.addEventListener('click', (event) => {\n this._expand(event)\n })\n\n return crumb\n }\n}\nconst breadcrumbList = []\nfor (const brBreadcrumb of window.document.querySelectorAll('.br-breadcrumb')) {\n breadcrumbList.push(new BRBreadcrumb('br-breadcrumb', brBreadcrumb))\n}\nexport default BRBreadcrumb\n","class BRCard {\n constructor (name, component, id) {\n this.name = name\n this.component = component\n this.component.setAttribute('id', `card${id}`)\n this._setBehavior()\n }\n\n _setBehavior () {\n this._setFlipBehavior()\n this._setExpandBehavior()\n this._setDragBehavior()\n }\n\n _setFlipBehavior () {\n for (const flip of this.component.querySelectorAll('button.flip')) {\n flip.addEventListener('click', () => {\n if (this.component.getAttribute('flipped') === 'off') {\n this.component.setAttribute('flipped', 'on')\n } else {\n this.component.setAttribute('flipped', 'off')\n }\n })\n }\n }\n\n _setExpandBehavior () {\n for (const expand of this.component.querySelectorAll('button.expand')) {\n expand.addEventListener('click', () => {\n if (this.component.getAttribute('expanded') === 'off') {\n this.component.setAttribute('expanded', 'on')\n } else {\n this.component.setAttribute('expanded', 'off')\n }\n })\n }\n }\n\n _setDragBehavior () {\n for (const img of this.component.querySelectorAll('img')) {\n img.setAttribute('draggable', 'false')\n }\n for (const link of this.component.querySelectorAll('a')) {\n link.setAttribute('draggable', 'false')\n }\n this.component.addEventListener('dragstart', (event) => {\n event.stopPropagation()\n event.dataTransfer.setData('text/plain', this.component.getAttribute('id'))\n event.dropEffect = 'move'\n })\n }\n}\n\nconst listCard = []\nfor (const [index, brCard] of window.document.querySelectorAll('.br-card').entries()) {\n listCard.push(new BRCard('br-card', brCard, index))\n}\n\nexport default BRCard\n","import flatpickr from 'flatpickr'\nconst Brazilian = require('flatpickr/dist/l10n/pt').default.pt\n\nclass BRDatepicker {\n constructor (name, component) {\n this.name = name\n this.component = component\n // localization global\n flatpickr.localize(Brazilian)\n\n this._buildDatepicker()\n }\n\n _buildDatepicker () {\n let format = 'd/m/Y'\n let time = false\n let noCalendar = false\n switch (this.component.getAttribute('data-type')) {\n case 'date':\n format = 'd/m/Y'\n time = false\n noCalendar = false\n break\n case 'time':\n format = 'H:i'\n time = true\n noCalendar = true\n break\n case 'datetime-local':\n format = 'd/m/Y H:i'\n time = true\n noCalendar = false\n break\n }\n\n const config = {\n dateFormat: format,\n nextArrow: '',\n prevArrow: '',\n mode: this.component.getAttribute('data-mode'),\n enableTime: time,\n minuteIncrement: 1,\n noCalendar: noCalendar,\n time_24hr: true,\n wrap: true\n }\n\n flatpickr(this.component, config)\n }\n}\n\nconst datepickerList = []\nfor (const brDatepicker of window.document.querySelectorAll('.br-datepicker')) {\n datepickerList.push(new BRDatepicker('br-datepicker', brDatepicker))\n}\n\nexport default BRDatepicker\n","class BRFooter {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n // Javascript\n }\n}\n\nconst footerList = []\nfor (const brFooter of window.document.querySelectorAll('.br-footer')) {\n footerList.push(new BRFooter('br-footer', brFooter))\n}\n\nexport default BRFooter\n","class BRHeader {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.flex_container = component.querySelector('.flex-container')\n this.login = component.querySelector('.login')\n this.login_btn = component.querySelector('.login button')\n this.avatar = component.querySelector('.avatar')\n this.links_btn = component.querySelector('.links button')\n this.functions_btn = component.querySelector('.functions button')\n this.menu = component.querySelector('.menu')\n this.search = component.querySelector('.search')\n this.search_btn = component.querySelector('.search-btn button')\n this.search_input = component.querySelector('.search input')\n this.search_close = component.querySelector('.search .search-close')\n this.sticky = component.hasAttribute('sticky')\n this._setBehavior()\n }\n\n _setBehavior () {\n // Inicializa Layout\n this.avatar.setAttribute('hidden', '')\n if (this.sticky) {\n // this.component.style.paddingTop = `${this.flex_container.offsetHeight}px`\n // this.component.setAttribute('compact', '')\n const compact = this.component.hasAttribute('compact')\n const noSubtitle = this.component.hasAttribute('no-subtitle')\n window.onscroll = () => {\n if (window.pageYOffset > this.component.offsetTop) {\n this.component.classList.add('sticky')\n if (!compact) this.component.setAttribute('compact', '')\n if (!noSubtitle) this.component.setAttribute('no-subtitle', '')\n } else {\n this.component.classList.remove('sticky')\n if (!compact) this.component.removeAttribute('compact', '')\n if (!noSubtitle) this.component.removeAttribute('no-subtitle')\n }\n }\n }\n // Ações de bootões\n if (this.login_btn) {\n this.login_btn.addEventListener('click', () => {\n this.avatar.toggleAttribute('hidden')\n this.login.toggleAttribute('hidden')\n })\n }\n if (this.links_btn) {\n this.links_btn.addEventListener('click', (event) => {\n this._openPop(event)\n })\n }\n if (this.functions_btn) {\n this.functions_btn.addEventListener('click', (event) => {\n this._openPop(event)\n })\n }\n if (this.search_btn) {\n this.search_btn.addEventListener('click', (event) => {\n this._openPop(event)\n })\n }\n if (this.search_input) {\n this.search_input.addEventListener('focus', (event) => {\n this.search.setAttribute('active', '')\n this.menu.style.display = 'none'\n })\n }\n if (this.search_close) {\n this.search_close.addEventListener('click', (event) => {\n this.search.removeAttribute('active')\n this.menu.style.display = 'flex'\n })\n }\n }\n\n _openPop (event) {\n let parentTag = event.target.parentNode\n while (parentTag.tagName !== 'DIV') {\n parentTag = parentTag.parentNode\n }\n const btnEvent = parentTag.querySelector(':scope > button')\n btnEvent.setAttribute('active', '')\n const ul = parentTag.querySelector('ul')\n let popmenu = this.component.querySelector('.popmenu')\n let popParent\n if (popmenu) {\n popParent = popmenu.parentNode\n const popParentBtn = popParent.querySelector(':scope > button')\n if (popParentBtn) popParentBtn.removeAttribute('active')\n popmenu.removeAttribute('active')\n popParent.removeAttribute('active')\n\n popmenu.parentNode.removeChild(popmenu)\n }\n // Menu de lista\n if (ul) {\n if (popParent !== ul.parentNode) {\n this.search_btn.removeAttribute('active')\n popmenu = document.createElement('div')\n popmenu.innerHTML = ul.outerHTML\n popmenu.classList.add('popmenu')\n ul.parentNode.appendChild(popmenu)\n }\n } else { // Menu de busca\n popmenu = document.createElement('div')\n popmenu.classList.add('popmenu')\n popmenu.innerHTML = this.search.outerHTML\n const popclose = popmenu.querySelector('.search-close')\n const search = popmenu.querySelector('.search')\n // Maximiza tamanho do search no menu compacto\n if (this.component.hasAttribute('compact')) {\n search.style.height = `${this.flex_container.offsetHeight - 2}px`\n } else {\n popmenu.style.height = `${this.flex_container.offsetHeight - 2}px`\n }\n this.flex_container.prepend(popmenu)\n // Ação do botão de fechar popmenu\n popclose.addEventListener('click', () => {\n popmenu.removeAttribute('active')\n if (popmenu.parentNode) popmenu.parentNode.removeAttribute('active')\n this.search_btn.removeAttribute('active')\n this.menu.style.display = 'flex'\n this._closePop()\n })\n // Foca no input após abrir a busca\n setTimeout(() => {\n return search.querySelector('input').focus()\n }, 500)\n }\n // Visibilidade do popmenu\n const set = !!popmenu.style.display\n popmenu.setAttribute('active', '')\n if (popmenu.parentNode) popmenu.parentNode.setAttribute('active', '')\n popmenu.style.display = set ? (popmenu.style.display === 'none' ? 'flex' : 'none') : 'flex'\n }\n\n _closePop () {\n const popmenu = this.component.querySelector('.popmenu')\n popmenu.parentNode.removeChild(popmenu)\n }\n}\n\nconst headerList = []\n\nfor (const brHeader of window.document.querySelectorAll('.br-header')) {\n headerList.push(new BRHeader('br-header', brHeader))\n}\nexport default BRHeader\n","class BRInput {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._currentFocus = -1\n this._setBehavior()\n }\n\n _setBehavior () {\n this._setPasswordViewBehavior()\n this._setAutocompleteBehavior()\n }\n\n _setPasswordViewBehavior () {\n for (const inputPassword of this.component.querySelectorAll(\"input[type='password']\")) {\n if (!inputPassword.disabled) {\n for (const buttonIcon of inputPassword.parentNode.querySelectorAll('button.icon')) {\n buttonIcon.addEventListener(\n 'click',\n (event) => {\n this._toggleShowPassword(event)\n },\n false\n )\n }\n }\n }\n }\n\n _toggleShowPassword (event) {\n for (const icon of event.currentTarget.querySelectorAll('.svg-inline--fa')) {\n if (icon.classList.contains('fa-eye')) {\n icon.classList.remove('fa-eye')\n icon.classList.add('fa-eye-slash')\n for (const input of this.component.querySelectorAll(\"input[type='password']\")) {\n input.setAttribute('type', 'text')\n }\n } else if (icon.classList.contains('fa-eye-slash')) {\n icon.classList.remove('fa-eye-slash')\n icon.classList.add('fa-eye')\n for (const input of this.component.querySelectorAll(\"input[type='text']\")) {\n input.setAttribute('type', 'password')\n }\n }\n }\n }\n\n _setAutocompleteBehavior () {\n for (const inputAutocomplete of this.component.querySelectorAll('input.search-autocomplete')) {\n inputAutocomplete.addEventListener(\n 'input',\n (event) => {\n this._clearSearchItems()\n this._buildSearchItems(event.currentTarget)\n },\n false\n )\n inputAutocomplete.addEventListener(\n 'keydown',\n (event) => {\n this._handleArrowKeys(event)\n },\n false\n )\n }\n }\n\n _buildSearchItems (element) {\n const searchList = window.document.createElement('div')\n searchList.setAttribute('class', 'search-items')\n this.component.appendChild(searchList)\n if (element.value !== '') {\n for (const data of this.dataList) {\n if (data.substr(0, element.value.length).toUpperCase() === element.value.toUpperCase()) {\n const item = window.document.createElement('div')\n item.innerHTML = `${data.substr(0, element.value.length)}`\n item.innerHTML += data.substr(element.value.length)\n item.innerHTML += ``\n item.addEventListener(\n 'click',\n (event) => {\n for (const input of event.currentTarget.querySelectorAll(\"input[type='hidden']\")) {\n element.value = input.value\n }\n this._clearSearchItems()\n },\n false\n )\n searchList.appendChild(item)\n }\n }\n } else {\n this._clearSearchItems()\n }\n }\n\n _clearSearchItems () {\n for (const searchItems of this.component.querySelectorAll('.search-items')) {\n for (const item of searchItems.querySelectorAll('div')) {\n searchItems.removeChild(item)\n }\n this.component.removeChild(searchItems)\n }\n }\n\n _handleArrowKeys (event) {\n switch (event.keyCode) {\n case 13:\n if (this._currentFocus > -1) {\n event.preventDefault()\n for (const searchItems of this.component.querySelectorAll('.search-items')) {\n for (const itemActive of searchItems.querySelectorAll('div.is-active')) {\n itemActive.click()\n }\n }\n this._currentFocus = -1\n }\n break\n case 38:\n if (this._currentFocus > 0) {\n this._currentFocus -= 1\n }\n this._switchFocus()\n break\n case 40:\n for (const searchItems of this.component.querySelectorAll('.search-items')) {\n if (this._currentFocus < searchItems.querySelectorAll('div').length - 1) {\n this._currentFocus += 1\n }\n }\n this._switchFocus()\n break\n // skip default case\n }\n }\n\n _switchFocus () {\n for (const searchItems of this.component.querySelectorAll('.search-items')) {\n for (const [index, item] of searchItems.querySelectorAll('div').entries()) {\n if (index === this._currentFocus) {\n item.classList.add('is-active')\n }\n if (index !== this._currentFocus) {\n item.classList.remove('is-active')\n }\n }\n }\n }\n\n setAutocompleteData (dataList) {\n this.dataList = dataList\n }\n}\nconst countries = [\n 'Afeganistão',\n 'África do Sul',\n 'Albânia',\n 'Alemanha',\n 'Andorra',\n 'Angola',\n 'Anguilla',\n 'Antártida',\n 'Antígua e Barbuda',\n 'Antilhas Holandesas',\n 'Arábia Saudita',\n 'Argélia',\n 'Argentina',\n 'Armênia',\n 'Aruba',\n 'Austrália',\n 'Áustria',\n 'Azerbaijão',\n 'Bahamas',\n 'Bahrein',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Bélgica',\n 'Belize',\n 'Benin',\n 'Bermudas',\n 'Bolívia',\n 'Bósnia-Herzegóvina',\n 'Botsuana',\n 'Brasil',\n 'Brunei',\n 'Bulgária',\n 'Burkina Fasso',\n 'Burundi',\n 'Butão',\n 'Cabo Verde',\n 'Camarões',\n 'Camboja',\n 'Canadá',\n 'Cazaquistão',\n 'Chade',\n 'Chile',\n 'China',\n 'Chipre',\n 'Cingapura',\n 'Colômbia',\n 'Congo',\n 'Coréia do Norte',\n 'Coréia do Sul',\n 'Costa do Marfim',\n 'Costa Rica',\n 'Croácia (Hrvatska)',\n 'Cuba',\n 'Dinamarca',\n 'Djibuti',\n 'Dominica',\n 'Egito',\n 'El Salvador',\n 'Emirados Árabes Unidos',\n 'Equador',\n 'Eritréia',\n 'Eslováquia',\n 'Eslovênia',\n 'Espanha',\n 'Estados Unidos',\n 'Estônia',\n 'Etiópia',\n 'Fiji',\n 'Filipinas',\n 'Finlândia',\n 'França',\n 'Gabão',\n 'Gâmbia',\n 'Gana',\n 'Geórgia',\n 'Gibraltar',\n 'Grã-Bretanha (Reino Unido, UK)',\n 'Granada',\n 'Grécia',\n 'Groelândia',\n 'Guadalupe',\n 'Guam (Território dos Estados Unidos)',\n 'Guatemala',\n 'Guernsey',\n 'Guiana',\n 'Guiana Francesa',\n 'Guiné',\n 'Guiné Equatorial',\n 'Guiné-Bissau',\n 'Haiti',\n 'Holanda',\n 'Honduras',\n 'Hong Kong',\n 'Hungria',\n 'Iêmen',\n 'Ilha Bouvet (Território da Noruega)',\n 'Ilha do Homem',\n 'Ilha Natal',\n 'Ilha Pitcairn',\n 'Ilha Reunião',\n 'Ilhas Aland',\n 'Ilhas Cayman',\n 'Ilhas Cocos',\n 'Ilhas Comores',\n 'Ilhas Cook',\n 'Ilhas Faroes',\n 'Ilhas Falkland (Malvinas)',\n 'Ilhas Geórgia do Sul e Sandwich do Sul',\n 'Ilhas Heard e McDonald (Território da Austrália)',\n 'Ilhas Marianas do Norte',\n 'Ilhas Marshall',\n 'Ilhas Menores dos Estados Unidos',\n 'Ilhas Norfolk',\n 'Ilhas Seychelles',\n 'Ilhas Solomão',\n 'Ilhas Svalbard e Jan Mayen',\n 'Ilhas Tokelau',\n 'Ilhas Turks e Caicos',\n 'Ilhas Virgens (Estados Unidos)',\n 'Ilhas Virgens (Inglaterra)',\n 'Ilhas Wallis e Futuna',\n 'índia',\n 'Indonésia',\n 'Irã',\n 'Iraque',\n 'Irlanda',\n 'Islândia',\n 'Israel',\n 'Itália',\n 'Jamaica',\n 'Japão',\n 'Jersey',\n 'Jordânia',\n 'Kênia',\n 'Kiribati',\n 'Kuait',\n 'Laos',\n 'Látvia',\n 'Lesoto',\n 'Líbano',\n 'Libéria',\n 'Líbia',\n 'Liechtenstein',\n 'Lituânia',\n 'Luxemburgo',\n 'Macau',\n 'Macedônia (República Yugoslava)',\n 'Madagascar',\n 'Malásia',\n 'Malaui',\n 'Maldivas',\n 'Mali',\n 'Malta',\n 'Marrocos',\n 'Martinica',\n 'Maurício',\n 'Mauritânia',\n 'Mayotte',\n 'México',\n 'Micronésia',\n 'Moçambique',\n 'Moldova',\n 'Mônaco',\n 'Mongólia',\n 'Montenegro',\n 'Montserrat',\n 'Myanma',\n 'Namíbia',\n 'Nauru',\n 'Nepal',\n 'Nicarágua',\n 'Níger',\n 'Nigéria',\n 'Niue',\n 'Noruega',\n 'Nova Caledônia',\n 'Nova Zelândia',\n 'Omã',\n 'Palau',\n 'Panamá',\n 'Papua-Nova Guiné',\n 'Paquistão',\n 'Paraguai',\n 'Peru',\n 'Polinésia Francesa',\n 'Polônia',\n 'Porto Rico',\n 'Portugal',\n 'Qatar',\n 'Quirguistão',\n 'República Centro-Africana',\n 'República Democrática do Congo',\n 'República Dominicana',\n 'República Tcheca',\n 'Romênia',\n 'Ruanda',\n 'Rússia (antiga URSS) - Federação Russa',\n 'Saara Ocidental',\n 'Saint Vincente e Granadinas',\n 'Samoa Americana',\n 'Samoa Ocidental',\n 'San Marino',\n 'Santa Helena',\n 'Santa Lúcia',\n 'São Bartolomeu',\n 'São Cristóvão e Névis',\n 'São Martim',\n 'São Tomé e Príncipe',\n 'Senegal',\n 'Serra Leoa',\n 'Sérvia',\n 'Síria',\n 'Somália',\n 'Sri Lanka',\n 'St. Pierre and Miquelon',\n 'Suazilândia',\n 'Sudão',\n 'Suécia',\n 'Suíça',\n 'Suriname',\n 'Tadjiquistão',\n 'Tailândia',\n 'Taiwan',\n 'Tanzânia',\n 'Território Britânico do Oceano índico',\n 'Territórios do Sul da França',\n 'Territórios Palestinos Ocupados',\n 'Timor Leste',\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunísia',\n 'Turcomenistão',\n 'Turquia',\n 'Tuvalu',\n 'Ucrânia',\n 'Uganda',\n 'Uruguai',\n 'Uzbequistão',\n 'Vanuatu',\n 'Vaticano',\n 'Venezuela',\n 'Vietnã',\n 'Zâmbia',\n 'Zimbábue'\n]\nconst inputList = []\nfor (const brInput of window.document.querySelectorAll('.br-input')) {\n inputList.push(new BRInput('br-input', brInput))\n}\nfor (const brInput of inputList) {\n brInput.component.querySelectorAll('input.search-autocomplete').forEach(() => {\n brInput.setAutocompleteData(countries)\n })\n}\nexport default BRInput\n","class BRItem {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n this._setCheckboxSelection()\n this._setRadioSelection()\n }\n\n _setCheckboxSelection () {\n for (const checkbox of this.component.querySelectorAll('.br-checkbox input[type=\"checkbox\"]')) {\n if (checkbox.checked) {\n checkbox.setAttribute('checked', '')\n this.component.classList.add('selected')\n }\n checkbox.addEventListener('click', (event) => {\n if (event.currentTarget.checked) {\n event.currentTarget.setAttribute('checked', '')\n this.component.classList.add('selected')\n } else {\n event.currentTarget.removeAttribute('checked')\n this.component.classList.remove('selected')\n }\n })\n }\n }\n\n _setRadioSelection () {\n for (const radio of this.component.querySelectorAll('.br-radio input[type=\"radio\"]')) {\n if (radio.checked) {\n radio.setAttribute('checked', '')\n this.component.classList.add('selected')\n }\n radio.addEventListener('click', (event) => {\n for (const item of this.component.parentElement.querySelectorAll('.br-item')) {\n for (const radio of item.querySelectorAll('.br-radio input[type=\"radio\"]')) {\n if (radio === event.currentTarget) {\n radio.setAttribute('checked', '')\n item.classList.add('selected')\n } else {\n radio.removeAttribute('checked')\n item.classList.remove('selected')\n }\n }\n }\n })\n }\n }\n}\n\nconst itemList = []\nfor (const brItem of window.document.querySelectorAll('.br-item')) {\n itemList.push(new BRItem('br-item', brItem))\n}\nexport default BRItem\n","class BRMenu {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.folders = this.component.querySelectorAll('.folder')\n this.main = this.folders.length >= 2\n this._setBehavior()\n }\n\n _setBehavior () {\n this._closeAllSubmenus()\n this._setHref()\n // Menu do tipo principal para ação de colapsar\n if (this.main) {\n this.folders.forEach((folder, i, arr) => {\n const header = folder.querySelector('.header')\n const submenu = folder.querySelector('ul')\n // Abre o ultimo menu\n // eslint-disable-next-line no-plusplus\n if (arr.length === ++i) {\n submenu.removeAttribute('hidden')\n }\n // Ação do header\n header.addEventListener('click', (event) => {\n this._toggleCollapse(event, header)\n })\n })\n } else {\n // Menu tipo Auxiliar e parte inter do Principal\n const submenu = this.component.querySelector('.folder > ul')\n submenu.removeAttribute('hidden')\n }\n this.folders.forEach((folder) => {\n const itens = folder.querySelectorAll('.item')\n itens.forEach((item) => {\n if (!item.hasAttribute('disabled')) {\n // Testa se o item tem um submenu\n const submenu = item.parentNode.querySelector('ul')\n if (submenu) {\n // Ação dos itens com submenu\n item.addEventListener('click', (event) => {\n if (!item.hasAttribute('disabled')) this._itemClick(folder, item, submenu)\n })\n } else {\n // Ação dos itens com links\n item.addEventListener('click', (event) => {\n if (!item.hasAttribute('disabled')) this._linkClick(item)\n })\n }\n }\n })\n })\n this._showLinked()\n }\n\n _showLinked () {\n const linked = this.component.querySelector('.item[linked]')\n if (linked) {\n const steps = []\n let parentLink = linked\n while (!parentLink.classList.contains('folder')) {\n parentLink = parentLink.parentNode\n if (\n this.main\n ? parentLink.tagName === 'LI' || parentLink.tagName === 'DIV'\n : parentLink.tagName === 'LI'\n ) {\n steps.unshift(parentLink.querySelector('a'))\n }\n }\n steps.forEach((step) => {\n const subfolder = step.parentNode.querySelector('ul')\n if (!subfolder) step.click()\n else if (subfolder.hasAttribute('hidden')) step.click()\n })\n }\n }\n\n _setHref () {\n const tagsA = this.component.querySelectorAll('.folder a')\n tagsA.forEach((link) => {\n const href = link.hasAttribute('href') ? link.getAttribute('href') : ''\n if (href.trim().length < 1) link.setAttribute('href', 'javascript:void(0);')\n })\n }\n\n _toggleCollapse (event, header) {\n this.folders.forEach((folder) => {\n const ul1 = folder.querySelector('ul')\n const _header = folder.querySelector('.header')\n const icon = folder.querySelector('.header .fa-angle-down')\n ? folder.querySelector('.header .fa-angle-down')\n : folder.querySelector('.header .fa-angle-up')\n _header.removeAttribute('hidden')\n\n if (header === _header) {\n ul1.toggleAttribute('hidden')\n icon.classList.toggle('fa-angle-down')\n icon.classList.toggle('fa-angle-up')\n if (!ul1.hasAttribute('hidden')) this._showOnlyLastActive(folder)\n } else {\n ul1.setAttribute('hidden', '')\n icon.classList.add('fa-angle-down')\n icon.classList.remove('fa-angle-up')\n }\n })\n }\n\n _linkClick (link) {\n const linked = this.component.querySelectorAll('[linked]')\n linked.forEach((_link) => {\n _link.removeAttribute('linked')\n })\n link.setAttribute('linked', '')\n }\n\n _itemClick (folder, item, submenu) {\n submenu.toggleAttribute('hidden')\n item.toggleAttribute('active')\n // Posibilita o uso de um item com submenu como link\n if (item.hasAttribute('active')) this._linkClick(item)\n else item.removeAttribute('linked')\n const icon = item.querySelector('.fa-angle-right')\n ? item.querySelector('.fa-angle-right')\n : item.querySelector('.fa-angle-left')\n icon.classList.toggle('fa-angle-left')\n icon.classList.toggle('fa-angle-right')\n this._showOnlyLastActive(folder)\n this._toggleSiblingsItens(item)\n }\n\n _closeAllSubmenus () {\n const submenus = this.component.querySelectorAll('ul')\n submenus.forEach((submenu) => {\n submenu.setAttribute('hidden', '')\n })\n }\n\n _toggleAllHeaders (hidden) {\n const headers = this.component.querySelectorAll('.header')\n headers.forEach((header) => {\n if (hidden) header.setAttribute('hidden', '')\n else header.removeAttribute('hidden')\n })\n }\n\n _toggleSiblingsItens (item) {\n const li = item.parentNode.parentNode.querySelectorAll(':scope > li')\n li.forEach((sibling) => {\n sibling.toggleAttribute('hidden')\n })\n item.parentNode.toggleAttribute('hidden')\n }\n\n _showOnlyLastActive (folder) {\n const actives = folder.querySelectorAll('.item[active]')\n const header = folder.querySelector('.header')\n const hasActive = actives.length > 0\n this._toggleAllHeaders(true)\n if (hasActive) {\n if (header) header.removeAttribute('hidden')\n actives.forEach((active, i, arr) => {\n // eslint-disable-next-line no-plusplus\n if (arr.length === ++i) {\n active.removeAttribute('hidden')\n } else {\n active.setAttribute('hidden', '')\n }\n })\n } else {\n this._toggleAllHeaders(false)\n }\n }\n}\n\nconst menuList = []\nfor (const brMenu of window.document.querySelectorAll('.br-menu')) {\n menuList.push(new BRMenu('br-menu', brMenu))\n}\n\n// function itemMenuClick () {\n// this.setAttribute('linked', '')\n// }\nexport default BRMenu\n","class BRAlert {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n for (const button of this.component.querySelectorAll('div.close button')) {\n button.addEventListener('click', () => {\n this._dismiss(this.component)\n })\n }\n }\n\n _dismiss (component) {\n component.parentNode.removeChild(component)\n }\n}\n/* Instancia a classe */\nconst alertList = []\nfor (const brAlert of window.document.querySelectorAll('.br-message')) {\n alertList.push(new BRAlert('br-message', brAlert))\n}\nexport default BRAlert\n","import BRScrim from './scrim'\nclass BRModal {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n for (const brScrim of window.document.querySelectorAll('.br-scrim')) {\n const scrim = new BRScrim('br-scrim', brScrim)\n for (const button of window.document.querySelectorAll('.br-scrim + button')) {\n button.addEventListener('click', () => {\n scrim.showScrim()\n })\n }\n }\n }\n}\nexport default BRModal\nconst modalList = []\nfor (const brModal of window.document.querySelectorAll('.br-modal')) {\n modalList.push(new BRModal('br-modal', brModal))\n}\n","import BRTooltip from './tooltip'\nclass BRNotification extends BRTooltip {\n constructor (name, component) {\n super(name, component)\n this.menuBtns = component.querySelectorAll('.contextual-btn')\n this.hideEvents = ['mouseleave', 'blur']\n this._setMenu()\n }\n\n _setMenu () {\n for (const btn of this.menuBtns) {\n const menu = btn.parentNode.querySelector('.contextual-menu')\n btn.addEventListener('click', () => {\n menu.toggleAttribute('show')\n })\n this.hideEvents.forEach((event) => {\n menu.addEventListener(event, () => {\n menu.removeAttribute('show')\n })\n })\n if (menu.children[0]) {\n menu.children[0].addEventListener('click', () => {\n this._hideNotification(menu.children[0])\n })\n }\n if (menu.children[1]) {\n menu.children[1].addEventListener('click', () => {\n this._hideAllNotifications(menu.children[1])\n })\n }\n }\n }\n\n _hideNotification (action) {\n const notification = action.parentNode.parentNode\n notification.setAttribute('hidden', '')\n }\n\n _hideAllNotifications (action) {\n const notifications = action.parentNode.parentNode.parentNode.querySelectorAll('.item')\n notifications.forEach((notification) => {\n notification.setAttribute('hidden', '')\n })\n }\n}\nconst notificationList = []\nfor (const brNotification of window.document.querySelectorAll('.br-notification')) {\n notificationList.push(new BRNotification('br-notification', brNotification))\n}\nexport default BRNotification\n","class BRSelect {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.multiple = component.hasAttribute('multiple')\n this.optionsList = this._setOptionsList()\n this._setBehavior()\n }\n\n get selected () {\n let selected = []\n for (const [index, option] of this.optionsList.entries()) {\n if (!this.multiple) {\n if (option.selected) {\n selected = option.value\n break\n }\n } else {\n if ((index > 0) && (option.selected)) {\n selected.push(option.value)\n }\n }\n }\n return selected\n }\n\n _setBehavior () {\n this._setDropdownBehavior()\n this._setKeyboardBehavior()\n this._setSelectionBehavior()\n this._setFilterBehavior()\n }\n\n _setOptionsList () {\n const optionsList = []\n for (const item of this.component.querySelectorAll('.br-list .item')) {\n for (const label of item.querySelectorAll('.content .br-radio label, .content .br-checkbox label')) {\n const option = {\n value: label.innerText,\n selected: false,\n focus: false,\n visible: true\n }\n optionsList.push(option)\n }\n }\n return optionsList\n }\n\n _setDropdownBehavior () {\n for (const input of this.component.querySelectorAll('.br-input input[type=\"text\"]')) {\n input.addEventListener('focus', () => {\n this._openSelect()\n this._resetFocus()\n })\n }\n for (const trigger of this.component.querySelectorAll('.br-input button[data-trigger]')) {\n trigger.addEventListener('click', () => {\n for (const list of this.component.querySelectorAll('.br-list')) {\n if (list.hasAttribute('expanded')) {\n this._closeSelect()\n } else {\n this._openSelect()\n }\n }\n })\n }\n window.document.addEventListener('click', (event) => {\n if (!this.component.contains(event.target)) {\n this._closeSelect()\n }\n })\n }\n\n _setKeyboardBehavior () {\n for (const input of this.component.querySelectorAll('.br-input input[type=\"text\"]')) {\n input.addEventListener('keydown', (event) => {\n if (event.keyCode === 40) {\n event.preventDefault()\n for (const list of this.component.querySelectorAll('.br-list')) {\n list.focus()\n if (list === document.activeElement) {\n this._getNextItem().focus()\n }\n }\n }\n })\n }\n for (const list of this.component.querySelectorAll('.br-list')) {\n list.addEventListener('keydown', (event) => {\n event.preventDefault()\n switch (event.keyCode) {\n case 9:\n this._closeSelect()\n this._resetFocus()\n break\n case 27:\n this._closeSelect()\n break\n case 32:\n for (const [index, item] of list.querySelectorAll('.item').entries()) {\n if (this.optionsList[index].focus) {\n for (const check of item.querySelectorAll('.content .br-radio input[type=\"radio\"], .content .br-checkbox input[type=\"checkbox\"]')) {\n check.click()\n }\n }\n }\n break\n case 38:\n this._getPreviousItem().focus()\n break\n case 40:\n this._getNextItem().focus()\n break\n }\n })\n }\n }\n\n _setSelectionBehavior () {\n for (const [index, item] of this.component.querySelectorAll('.br-list .item').entries()) {\n for (const check of item.querySelectorAll('.content .br-radio input[type=\"radio\"], .content .br-checkbox input[type=\"checkbox\"]')) {\n check.addEventListener('click', (event) => {\n if (!this.multiple) {\n for (const [index2, item2] of this.component.querySelectorAll('.br-list .item').entries()) {\n this._removeSelected(index2, item2)\n }\n this._setSelected(index, item)\n this._closeSelect()\n } else if (!event.currentTarget.hasAttribute('checked')) {\n this._setSelected(index, item)\n } else {\n this._removeSelected(index, item)\n }\n if (item.hasAttribute('data-all')) {\n this._setSelectAll(item)\n }\n })\n }\n }\n }\n\n _setFilterBehavior () {\n for (const input of this.component.querySelectorAll('.br-input input[type=\"text\"]')) {\n input.addEventListener('input', (event) => {\n let allHidden = true\n this._filter(event.currentTarget.value)\n for (const option of this.optionsList) {\n if (option.visible) {\n allHidden = false\n }\n }\n if (allHidden) {\n event.currentTarget.value = event.currentTarget.value.slice(0, -1)\n this._filter(event.currentTarget.value)\n }\n })\n }\n }\n\n _filter (value) {\n for (const [index, item] of this.component.querySelectorAll('.br-list .item').entries()) {\n if (this.optionsList[index].value.toUpperCase().indexOf(value.toUpperCase()) === -1) {\n item.classList.add('d-none')\n this.optionsList[index].visible = false\n } else {\n item.classList.remove('d-none')\n this.optionsList[index].visible = true\n }\n }\n }\n\n _setSelectAll (item) {\n for (const check of item.querySelectorAll('.content .br-checkbox input[type=\"checkbox\"]')) {\n if (!check.hasAttribute('checked')) {\n for (const item2 of this.component.querySelectorAll('.br-list .item')) {\n for (const check2 of item2.querySelectorAll('.content .br-checkbox input[type=\"checkbox\"]')) {\n if (check2.hasAttribute('checked')) {\n check2.click()\n }\n }\n }\n } else {\n for (const item2 of this.component.querySelectorAll('.br-list .item')) {\n for (const check2 of item2.querySelectorAll('.content .br-checkbox input[type=\"checkbox\"]')) {\n if (!check2.hasAttribute('checked')) {\n check2.click()\n }\n }\n }\n }\n }\n }\n\n _setSelected (index, item) {\n item.classList.add('selected')\n for (const check of item.querySelectorAll('.content .br-radio, .content .br-checkbox')) {\n for (const input of check.querySelectorAll('input[type=\"radio\"], input[type=\"checkbox\"]')) {\n input.setAttribute('checked', '')\n }\n }\n this.optionsList[index].selected = true\n this._setInput()\n }\n\n _removeSelected (index, item) {\n item.classList.remove('selected')\n for (const check of item.querySelectorAll('.content .br-radio, .content .br-checkbox')) {\n for (const input of check.querySelectorAll('input[type=\"radio\"], input[type=\"checkbox\"')) {\n input.removeAttribute('checked')\n }\n this.optionsList[index].selected = false\n this._setInput()\n }\n }\n\n _setInput () {\n for (const input of this.component.querySelectorAll('.br-input input[type=\"text\"]')) {\n if (!this.multiple) {\n input.value = this.selected\n } else if (this.selected.length === 0) {\n input.value = ''\n } else if (this.selected.length === 1) {\n input.value = this.selected[0]\n } else {\n input.value = this.selected[0] + ' + (' + (this.selected.length - 1) + ')'\n }\n }\n }\n\n _getNextItem () {\n const list = this.component.querySelectorAll('.br-list .item')\n for (var iFocused = 0; iFocused < this.optionsList.length; iFocused++) {\n if (this.optionsList[iFocused].focus) {\n for (var iVisible = iFocused + 1; iVisible < this.optionsList.length; iVisible++) {\n if (this.optionsList[iVisible].visible) {\n break\n }\n }\n break\n }\n }\n if (iFocused === this.optionsList.length) {\n for (const [index, option] of this.optionsList.entries()) {\n if (option.visible) {\n option.focus = true\n return list[index]\n }\n }\n } else if (iVisible < this.optionsList.length) {\n this.optionsList[iFocused].focus = false\n this.optionsList[iVisible].focus = true\n return list[iVisible]\n } else {\n return list[iFocused]\n }\n }\n\n _getPreviousItem () {\n const list = this.component.querySelectorAll('.br-list .item')\n for (var iFocused = 0; iFocused < this.optionsList.length; iFocused++) {\n if (this.optionsList[iFocused].focus) {\n for (var iVisible = iFocused - 1; iVisible > 0; iVisible--) {\n if (this.optionsList[iVisible].visible) {\n break\n }\n }\n break\n }\n }\n if (iFocused === 0) {\n return list[iFocused]\n } else {\n this.optionsList[iFocused].focus = false\n this.optionsList[iVisible].focus = true\n return list[iVisible]\n }\n }\n\n _resetInput () {\n for (const input of this.component.querySelectorAll('.br-input input[type=\"text\"]')) {\n input.value = ''\n }\n }\n\n _resetFocus () {\n for (const option of this.optionsList) {\n option.focus = false\n }\n }\n\n _resetVisible () {\n const list = this.component.querySelectorAll('.br-list .item')\n for (const [index, option] of this.optionsList.entries()) {\n option.visible = true\n list[index].classList.remove('d-none')\n }\n }\n\n _openSelect () {\n for (const list of this.component.querySelectorAll('.br-list')) {\n list.setAttribute('expanded', '')\n }\n for (const icon of this.component.querySelectorAll('.br-input button svg')) {\n icon.classList.remove('fa-angle-down')\n icon.classList.add('fa-angle-up')\n }\n this._resetInput()\n }\n\n _closeSelect () {\n for (const list of this.component.querySelectorAll('.br-list')) {\n list.removeAttribute('expanded')\n }\n for (const icon of this.component.querySelectorAll('.br-input button svg')) {\n icon.classList.remove('fa-angle-up')\n icon.classList.add('fa-angle-down')\n }\n this._setInput()\n this._resetFocus()\n this._resetVisible()\n }\n}\n\nconst selectList = []\nfor (const brSelect of window.document.querySelectorAll('.br-select')) {\n selectList.push(new BRSelect('br-select', brSelect))\n}\n\nexport default BRSelect\n","/* eslint-disable complexity */\nclass BRTable {\n constructor (name, component, sequence) {\n this.name = name\n this.component = component\n this._sequence = sequence\n this._setBehavior()\n }\n\n _setBehavior () {\n this._cloneHeader()\n this._setHeaderWidth()\n this._toogleSearch()\n this._toogleGrid()\n this._setClickActions()\n }\n\n _cloneHeader () {\n for (const responsive of this.component.querySelectorAll('.responsive')) {\n this._setSyncScroll(responsive)\n }\n const scrollerTag = document.createElement('div')\n this._setSyncScroll(scrollerTag)\n scrollerTag.classList.add('scroller')\n for (const header of this.component.querySelectorAll('table thead tr th')) {\n const clonedHeader = document.createElement('div')\n clonedHeader.classList.add('item')\n clonedHeader.innerHTML = header.innerHTML\n if (header.offsetWidth) {\n clonedHeader.style.flex = `1 0 ${header.offsetWidth}px`\n }\n scrollerTag.appendChild(clonedHeader)\n if (clonedHeader.firstElementChild) {\n if (clonedHeader.firstElementChild.classList.contains('br-checkbox')) {\n const clonedCheckboxId = `headers-${this.component.id}-check-all`\n for (const checkboxInput of clonedHeader.firstElementChild.querySelectorAll('input')) {\n checkboxInput.id = clonedCheckboxId\n }\n for (const checkboxLabel of clonedHeader.firstElementChild.querySelectorAll('label')) {\n checkboxLabel.setAttribute('for', clonedCheckboxId)\n }\n }\n }\n }\n const headersTag = document.createElement('div')\n headersTag.classList.add('headers')\n headersTag.appendChild(scrollerTag)\n let isResponsive = false\n for (const child of this.component.querySelectorAll('.br-table > div')) {\n if (child.classList.contains('responsive')) {\n child.insertAdjacentElement('beforebegin', headersTag)\n isResponsive = true\n }\n }\n if (!isResponsive) {\n this.component.appendChild(headersTag)\n }\n }\n\n _setSyncScroll (element) {\n element.classList.add('syncscroll')\n element.setAttribute('name', `table-${this._sequence}`)\n element.setAttribute('style', 'overflow-y: hidden')\n element.setAttribute('tabindex', 0)\n }\n\n _setHeaderWidth () {\n for (const clonedHeader of this.component.querySelectorAll('.headers > div')) {\n for (const [index, header] of this.component\n .querySelectorAll('table thead tr th')\n .entries()) {\n clonedHeader.children[index].style.flex = `1 0 ${header.offsetWidth}px`\n }\n }\n }\n\n _toogleSearch () {\n for (const searchBar of this.component.querySelectorAll('.search-bar')) {\n for (const searchTrigger of this.component.querySelectorAll('.search-trigger')) {\n searchTrigger.addEventListener('click', () => {\n searchBar.classList.add('is-active')\n })\n }\n for (const searchClose of searchBar.querySelectorAll('.search-close')) {\n searchClose.addEventListener('click', () => {\n searchBar.classList.remove('is-active')\n })\n }\n }\n }\n\n _toogleGrid () {\n for (const gridLTrigger of this.component.querySelectorAll('.grid-large-trigger')) {\n gridLTrigger.addEventListener('click', () => {\n this.component.classList.remove('is-grid-small')\n })\n }\n for (const gridSTrigger of this.component.querySelectorAll('.grid-small-trigger')) {\n gridSTrigger.addEventListener('click', () => {\n this.component.classList.add('is-grid-small')\n })\n }\n }\n\n _setClickActions () {\n const headerCheckbox = this.component.querySelector(\".headers [name='check'] [type='checkbox']\")\n const tableCheckboxes = this.component.querySelectorAll(\n \"tbody [name='check'] [type='checkbox']\"\n )\n const selectedBar = this.component.querySelector('.selected-bar')\n const infoSelectAll = this.component.querySelector('.selected-bar .info .select-all')\n if (tableCheckboxes) {\n for (const checkbox of tableCheckboxes) {\n checkbox.addEventListener('click', () => {\n this._checkRow(checkbox, selectedBar, tableCheckboxes, headerCheckbox)\n })\n }\n }\n if (headerCheckbox) {\n headerCheckbox.addEventListener('click', () => {\n this._checkAllTable(selectedBar, tableCheckboxes, headerCheckbox)\n })\n }\n if (infoSelectAll) {\n infoSelectAll.addEventListener('click', () => {\n this._checkAllTable(selectedBar, tableCheckboxes, headerCheckbox)\n })\n }\n }\n\n _setRow (checkbox, check) {\n const tr = checkbox.parentNode.parentNode.parentNode\n if (check) {\n tr.classList.add('is-selected')\n checkbox.parentNode.classList.add('is-inverted')\n checkbox.checked = true\n } else {\n tr.classList.remove('is-selected')\n checkbox.parentNode.classList.remove('is-inverted')\n checkbox.checked = false\n }\n }\n\n _checkRow (checkbox, selectedBar, tableCheckboxes, headerCheckbox) {\n const check = checkbox.checked\n this._setRow(checkbox, check)\n this._setSelectedBar(check ? 1 : -1, selectedBar, tableCheckboxes, headerCheckbox)\n }\n\n _checkAllRows (tableCheckboxes) {\n for (const checkbox of tableCheckboxes) {\n this._setRow(checkbox, true)\n }\n }\n\n _uncheckAllRows (tableCheckboxes) {\n for (const checkbox of tableCheckboxes) {\n this._setRow(checkbox, false)\n }\n }\n\n _checkAllTable (selectedBar, tableCheckboxes, headerCheckbox) {\n let count = tableCheckboxes.length\n const infoCount = selectedBar.querySelector('.info .count')\n const total = parseInt(infoCount.innerHTML, 10)\n if (total === count) {\n this._uncheckAllRows(tableCheckboxes)\n count = -1 * count\n } else {\n this._checkAllRows(tableCheckboxes)\n }\n this._setSelectedBar(count, selectedBar, tableCheckboxes, headerCheckbox)\n }\n\n _setSelectedBar (count, selectedBar, tableCheckboxes, headerCheckbox) {\n const infoCount = selectedBar.querySelector('.info .count')\n const infoText = selectedBar.querySelector('.info .text')\n const [mobileIco] = selectedBar.querySelector('.info .select-all').children\n const total = count < 2 ? parseInt(infoCount.innerHTML, 10) + count : count\n if (total > 0) {\n selectedBar.classList.add('is-active')\n infoCount.innerHTML = total\n infoText.innerHTML = total > 1 ? 'itens selecionados' : 'item selecionado'\n if (headerCheckbox) headerCheckbox.parentNode.classList.add('is-checking')\n if (mobileIco) {\n mobileIco.classList.add('fa-minus-square')\n mobileIco.classList.remove('fa-check-square')\n }\n if (total === tableCheckboxes.length) {\n if (headerCheckbox) {\n headerCheckbox.checked = true\n headerCheckbox.parentNode.classList.remove('is-checking')\n }\n if (mobileIco) {\n mobileIco.classList.remove('fa-minus-square')\n mobileIco.classList.add('fa-check-square')\n }\n }\n } else {\n infoCount.innerHTML = 0\n if (headerCheckbox) {\n headerCheckbox.checked = false\n headerCheckbox.parentNode.classList.remove('is-checking')\n }\n if (mobileIco) {\n mobileIco.classList.remove('fa-check-square')\n mobileIco.classList.add('fa-minus-square')\n }\n selectedBar.classList.remove('is-active')\n }\n }\n\n /**\n * @fileoverview syncscroll - scroll several areas simultaniously\n * @version 0.0.3\n *\n * @license MIT, see http://github.com/asvd/intence\n * @copyright 2015 asvd \n */\n static _syncscroll () {\n const scroll = 'scroll'\n const elems = document.getElementsByClassName(`sync${scroll}`)\n const EventListener = 'EventListener'\n const length = 'length'\n const names = {}\n // clearing existing listeners\n let i, j, el, found, name\n for (name in names) {\n if (Object.prototype.hasOwnProperty.call(names, name)) {\n for (i = 0; i < names[name][length]; i++) {\n names[name][i][`remove${EventListener}`](scroll, names[name][i].syn, 0)\n }\n }\n }\n // setting-up the new listeners\n for (i = 0; i < elems[length]; i++) {\n found = j = 0\n el = elems[i]\n if (!(name = el.getAttribute('name'))) {\n // name attribute is not set\n continue\n }\n el = el[`${scroll}er`] || el // needed for intence\n // searching for existing entry in array of names;\n // searching for the element in that entry\n for (; j < (names[name] = names[name] || [])[length]; j++) {\n found |= names[name][j] === el\n }\n if (!found) {\n names[name].push(el)\n }\n el.eX = el.eY = 0\n this._elSyn(el, name, scroll, elems, EventListener, length, names)\n }\n }\n\n static _elSyn (el, name, scroll, elems, EventListener, length, names) {\n const addEventListener = `add${EventListener}`\n const client = 'client'\n const Height = 'Height'\n const Left = 'Left'\n const mathRound = Math.round\n const Top = 'Top'\n const Width = 'Width'\n el[addEventListener](\n scroll,\n () => {\n const otherElems = names[name]\n let scrollX = el[scroll + Left]\n let scrollY = el[scroll + Top]\n const xRate = scrollX / (el[scroll + Width] - el[client + Width])\n const yRate = scrollY / (el[scroll + Height] - el[client + Height])\n const updateX = scrollX !== el.eX\n const updateY = scrollY !== el.eY\n el.eX = scrollX\n el.eY = scrollY\n otherElems.forEach((element) => {\n if (element !== el) {\n if (\n updateX &&\n mathRound(\n element[scroll + Left] -\n (scrollX = element.eX = mathRound(\n xRate * (element[scroll + Width] - element[client + Width])\n ))\n )\n ) {\n element[scroll + Left] = scrollX\n }\n if (\n updateY &&\n mathRound(\n element[scroll + Top] -\n (scrollY = element.eY = mathRound(\n yRate * (element[scroll + Height] - element[client + Height])\n ))\n )\n ) {\n element[scroll + Top] = scrollY\n }\n }\n })\n },\n 0\n )\n }\n}\nconst tableList = []\nfor (const [index, brTable] of window.document.querySelectorAll('.br-table').entries()) {\n tableList.push(new BRTable('br-table', brTable, index))\n}\nBRTable._syncscroll()\nexport default BRTable\n","class BRTabs {\n constructor (name, component) {\n this.name = name\n this.component = component\n this._setBehavior()\n }\n\n _setBehavior () {\n for (const ancor of this.component.querySelectorAll(\n '.tab-nav .tab-item:not([not-tab=\"true\"]) button'\n )) {\n ancor.addEventListener(\n 'click',\n (event) => {\n this._switchTab(event.currentTarget.parentElement)\n this._switchContent(event.currentTarget.parentElement)\n },\n false\n )\n }\n }\n\n _switchTab (currentTab) {\n for (const tabItem of this.component.querySelectorAll(\n '.tab-nav .tab-item:not([not-tab=\"true\"])'\n )) {\n if (tabItem === currentTab) {\n tabItem.classList.add('is-active')\n } else {\n tabItem.classList.remove('is-active')\n }\n }\n }\n\n _switchContent (currentTab) {\n for (const button of currentTab.querySelectorAll('button')) {\n for (const tabPanel of this.component.querySelectorAll('.tab-content .tab-panel')) {\n if (button.getAttribute('data-panel') === tabPanel.getAttribute('id')) {\n tabPanel.classList.add('is-active')\n } else {\n tabPanel.classList.remove('is-active')\n }\n }\n }\n }\n}\nconst abasList = []\nfor (const brTabs of window.document.querySelectorAll('.br-tabs')) {\n abasList.push(new BRTabs('br-tabs', brTabs))\n}\nexport default BRTabs\n","class BRTag {\r\n constructor (name, component) {\r\n this.name = name\r\n this.component = component\r\n this.DomList = []\r\n this._setBehavior()\r\n this.arrayOfList = []\r\n }\n\r\n _setBehavior () {\r\n for (const button of this.component.querySelectorAll('div.close button')) {\r\n button.addEventListener('click', () => {\r\n this.component.parentNode.removeChild(this.component)\r\n })\r\n }\r\n }\r\n}\r\nclass BRTagChoice {\r\n constructor (name, component) {\r\n this.name = name\r\n this.component = component\r\n this.DomList = []\r\n this._setBehavior()\r\n this.arrayOfList = []\r\n }\n\r\n _setBehavior () {\r\n for (const button of this.component.querySelectorAll('.br-tag')) {\r\n button.addEventListener('click', (event) => {\r\n this._switchTag(event.currentTarget)\r\n })\r\n }\r\n }\n\r\n _switchTag (currentTag) {\r\n for (const tag of this.component.querySelectorAll('.br-tag')) {\r\n if (tag === currentTag) {\r\n tag.classList.add('active')\r\n } else {\r\n tag.classList.remove('active')\r\n }\r\n }\r\n }\r\n}\r\nclass BRTagFilter {\r\n constructor (name, component) {\r\n this.name = name\r\n this.component = component\r\n this.DomList = []\r\n this._setBehavior()\r\n this.arrayOfList = []\r\n }\n\r\n _setBehavior () {\r\n for (const button of this.component.querySelectorAll('.br-tag')) {\r\n button.addEventListener('click', (event) => {\r\n this._switchTag(event.currentTarget)\r\n })\r\n }\r\n }\n\r\n _switchTag (currentTag) {\r\n currentTag.classList.toggle('active')\r\n }\r\n}\r\nconst tagList = []\r\nfor (const brTag of window.document.querySelectorAll('.br-tag')) {\r\n tagList.push(new BRTag('br-tag', brTag))\r\n}\r\nconst tagListChoice = []\r\nfor (const brTagChoice of window.document.querySelectorAll('.br-tag-list')) {\r\n tagListChoice.push(new BRTagChoice('br-tag-list', brTagChoice))\r\n}\r\nconst tagListFilter = []\r\nfor (const brTagFilter of window.document.querySelectorAll('.br-tag-filter')) {\r\n tagListFilter.push(new BRTagFilter('br-tag-list', brTagFilter))\r\n}\r\nexport default BRTag\r\n","class BRUpload {\n /**\n *\n * @param {*} name nome do componente\n * @param {*} component componente\n * @param {*} uploadFiles promisse de status do upload\n */\n constructor (name, component, uploadFiles) {\n this.name = name\n this.component = component\n this._inputElement = this.component.querySelector('.upload-input')\n this._fileList = this.component.querySelector('.upload-list')\n this._btnUpload = this.component.querySelector('.upload-button')\n this._fileArray = []\n this._uploadFiles = uploadFiles\n this._setBehavior()\n }\n\n _setBehavior () {\n this.component.addEventListener(\n 'dragenter',\n (event) => {\n this._drag(event)\n },\n false\n )\n\n this.component.addEventListener(\n 'dragover',\n (event) => {\n this._drag(event)\n },\n false\n )\n\n this.component.addEventListener(\n 'dragleave',\n (event) => {\n this._onDragEnd(event)\n },\n false\n )\n this.component.addEventListener(\n 'dragend',\n (event) => {\n this._onDragEnd(event)\n },\n false\n )\n\n this.component.addEventListener(\n 'drop',\n (event) => {\n this._drop(event)\n },\n false\n )\n if (this._btnUpload) {\n this._btnUpload.addEventListener(\n 'click',\n (event) => {\n this._clickUpload()\n },\n false\n )\n }\n if (this._inputElement) {\n this._fileArray = Array.from(this._inputElement.files)\n this._inputElement.addEventListener(\n 'change',\n (event) => {\n this._handleFiles(event)\n },\n false\n )\n }\n }\n\n _clickUpload () {\n this._inputElement.click()\n }\n\n _drag (event) {\n event.stopPropagation()\n event.preventDefault()\n this._btnUpload.classList.add('bg-support-01')\n // text-secondary-01\n this._btnUpload.classList.add('text-secondary-01')\n }\n\n _drop (event) {\n event.stopPropagation()\n event.preventDefault()\n this._btnUpload.className = this._btnUpload.className.replace(/\\bbg-support-01\\b/g, '')\n this._btnUpload.className = this._btnUpload.className.replace(/\\btext-secondary-01\\b/g, '')\n const dt = event.dataTransfer\n const { files } = dt\n this._handleFiles(files)\n }\n\n _onDragEnd (event) {\n event.stopPropagation()\n event.preventDefault()\n\n this._btnUpload.className = this._btnUpload.className.replace(/\\bbg-support-01\\b/g, '')\n this._btnUpload.className = this._btnUpload.className.replace(/\\btext-secondary-01\\b/g, '')\n }\n\n _handleFiles (files) {\n const newFiles = !files.length ? Array.from(this._inputElement.files) : Array.from(files)\n this._fileArray = this._fileArray.concat(newFiles)\n\n this._updateFileList()\n }\n\n _updateFileList () {\n if (!this._fileArray.length) {\n this._fileList.innerHTML = ''\n this._info.style.display = ''\n } else {\n this._fileList.innerHTML = ''\n\n for (let i = 0; i < this._fileArray.length; i++) {\n if ('nowait' in this._fileArray[i]) {\n if (this._fileArray[i].nowait) {\n this._renderItem(i)\n }\n } else {\n const loading = document.createElement('div')\n loading.setAttribute('sm', '')\n loading.classList.add('my-3')\n loading.setAttribute('loading', '')\n this._fileList.appendChild(loading)\n if (this._uploadFiles()) {\n this._uploadFiles().then(() => {\n this._fileArray[i].nowait = true\n this._updateFileList()\n })\n }\n }\n }\n }\n }\n\n _renderItem (position) {\n const li = document.createElement('div')\n li.className = 'item'\n this._fileList.appendChild(li)\n li.innerHTML = ''\n const name = document.createElement('div')\n name.className = 'name'\n li.appendChild(name)\n this._fileList.appendChild(li)\n const info = document.createElement('div')\n info.className = 'content'\n info.innerHTML = this._fileArray[position].name\n li.appendChild(info)\n const del = document.createElement('div')\n del.className = 'support'\n const btndel = document.createElement('button')\n const spanSize = document.createElement('span')\n spanSize.className = 'mr-1'\n spanSize.innerHTML = this._calcSize(this._fileArray[position].size)\n del.appendChild(spanSize)\n btndel.className = 'br-button'\n btndel.type = 'button'\n btndel.setAttribute('circle', '')\n btndel.addEventListener(\n 'click',\n (event) => {\n this._removeFile(position, event)\n },\n false\n )\n\n const img = document.createElement('i')\n img.className = 'fa fa-trash'\n btndel.appendChild(img)\n del.appendChild(btndel)\n li.appendChild(del)\n this._fileArray[position].nowait = true\n }\n\n _calcSize (nBytes) {\n let sOutput = ''\n for (\n let aMultiples = ['KB', 'MB', 'GB', 'TB'], nMultiple = 0, nApprox = nBytes / 1024;\n nApprox > 1;\n nApprox /= 1024, nMultiple++\n ) {\n sOutput = `${nApprox.toFixed(2)} ${aMultiples[nMultiple]}`\n }\n return sOutput\n }\n\n _removeFile (index, event) {\n event.stopPropagation()\n event.preventDefault()\n this._fileArray.splice(index, 1)\n this._updateFileList()\n }\n}\nconst uploadList = []\n\nfunction uploadTimeout () {\n return new Promise((resolve) => {\n // Colocar aqui um upload para o servidor e retirar o timeout\n return setTimeout(resolve, 3000)\n })\n}\n\nfor (const brUpload of window.document.querySelectorAll('.br-upload')) {\n uploadList.push(new BRUpload('br-upload', brUpload, uploadTimeout))\n}\n\nexport default BRUpload\n","class BRTemplateBase {\n constructor (name, component) {\n this.name = name\n this.component = component\n this.header = component.querySelector('.br-header')\n this.btn_menu = component.querySelector('.br-header .menu button')\n this.close_menu = component.querySelector('.br-menu .close-menu button')\n this.scrim_menu = component.querySelector('.scrim-menu')\n this.cm_header = component.querySelector('.context-menu .header')\n this.context_menu = component.querySelector('.context-menu')\n this.notification = component.querySelector('.br-notification')\n this._setBehavior()\n }\n\n _setBehavior () {\n if (this.btn_menu) {\n this.btn_menu.addEventListener('click', () => {\n this._openMenu()\n })\n this.component\n .querySelectorAll('.accessibility-links .br-button')[1]\n .addEventListener('click', () => {\n this._openMenu()\n })\n }\n if (this.close_menu) {\n this.close_menu.addEventListener('click', () => {\n this._closeMenu()\n })\n }\n if (this.scrim_menu) {\n this.scrim_menu.addEventListener('click', () => {\n this._closeMenuOut()\n })\n }\n if (this.cm_header) {\n this.cm_header.addEventListener('click', () => {\n this._toggleContextMenu()\n })\n }\n if (this.context_menu) {\n this.context_menu.addEventListener('click', () => {\n this._closeContextMenu()\n })\n }\n }\n\n _openMenu () {\n // this.scrim_menu.style.display = 'unset'\n this.scrim_menu.setAttribute('show', '')\n }\n\n _closeMenu () {\n this.scrim_menu.removeAttribute('show')\n }\n\n _closeMenuOut (event) {\n if (event.target === this.scrim_menu) {\n this._closeMenu()\n }\n }\n\n _closeContextMenu (event) {\n if (event.target === this.context_menu) {\n this._toggleContextMenu()\n }\n }\n\n _toggleContextMenu () {\n this.context_menu.toggleAttribute('show')\n const cMenu = this.cm_header\n const icon = cMenu.querySelector('.fa-angle-down')\n ? cMenu.querySelector('.fa-angle-down')\n : cMenu.querySelector('.fa-angle-up')\n if (icon) {\n icon.classList.toggle('fa-angle-down')\n icon.classList.toggle('fa-angle-up')\n }\n }\n}\n\nconst templateBaseList = []\nfor (const brTemplateBase of window.document.querySelectorAll('.template-base')) {\n templateBaseList.push(new BRTemplateBase('template-base', brTemplateBase))\n}\n\nexport default BRTemplateBase\n","export class SwipeEventDispatcher {\n constructor (element, options = {}) {\n this.evtMap = {\n SWIPE_DOWN: [],\n SWIPE_LEFT: [],\n SWIPE_RIGHT: [],\n SWIPE_UP: []\n }\n this.xDown = null\n this.yDown = null\n this.element = element\n this.options = Object.assign({ triggerPercent: 0.3 }, options)\n element.addEventListener(\n 'touchstart',\n (evt) => {\n return this.handleTouchStart(evt)\n },\n false\n )\n element.addEventListener(\n 'touchend',\n (evt) => {\n return this.handleTouchEnd(evt)\n },\n false\n )\n }\n\n on (evt, cb) {\n this.evtMap[evt].push(cb)\n }\n\n off (evt, lcb) {\n this.evtMap[evt] = this.evtMap[evt].filter((cb) => {\n return cb !== lcb\n })\n }\n\n trigger (evt, data) {\n this.evtMap[evt].map((handler) => {\n return handler(data)\n })\n }\n\n handleTouchStart (evt) {\n this.xDown = evt.touches[0].clientX\n this.yDown = evt.touches[0].clientY\n }\n\n handleTouchEnd (evt) {\n const deltaX = evt.changedTouches[0].clientX - this.xDown\n const deltaY = evt.changedTouches[0].clientY - this.yDown\n const distMoved = Math.abs(Math.abs(deltaX) > Math.abs(deltaY) ? deltaX : deltaY)\n const activePct = distMoved / this.element.offsetWidth\n if (activePct > this.options.triggerPercent) {\n if (Math.abs(deltaX) > Math.abs(deltaY)) {\n deltaX < 0 ? this.trigger('SWIPE_LEFT') : this.trigger('SWIPE_RIGHT')\n } else {\n deltaY > 0 ? this.trigger('SWIPE_DOWN') : this.trigger('SWIPE_UP')\n }\n }\n }\n}\nexport default SwipeEventDispatcher\n","import SwipeEventDispatcher from './swipe'\nclass BRWizard {\n constructor (name, component) {\n this.name = name\n this.component = component\n // DOM elements\n this.DOMstrings = {\n stepFormPanelClass: 'wizard-panel',\n // stepFormPanels: document.querySelectorAll('.wizard-panel'),\n stepFormPanels: this.component.querySelectorAll('.wizard-panel'),\n stepNextBtnClass: 'wizard-btn-next',\n stepPrevBtnClass: 'wizard-btn-prev',\n // stepsBar: document.querySelector('.wizard-progress'),\n stepsBar: this.component.querySelector('.wizard-progress'),\n stepsBarClass: 'wizard-progress',\n stepsBtnClass: 'wizard-progress-btn',\n // stepsBtns: document.querySelectorAll(`.wizard-progress-btn`),\n stepsBtns: this.component.querySelectorAll('.wizard-progress-btn'),\n // stepsForm: document.querySelector('.wizard-form'),\n stepsForm: this.component.querySelector('.wizard-form')\n }\n // remove class from a set of items\n this.removeAttributes = (elemSet, attrName) => {\n elemSet.forEach((elem) => {\n elem.removeAttribute(attrName)\n })\n }\n // return exect parent node of the element\n this.findParent = (elem, parentClass) => {\n let currentNode = elem\n while (!currentNode.classList.contains(parentClass)) {\n currentNode = currentNode.parentNode\n }\n return currentNode\n }\n // get active button step number\n this.getActiveStep = (elem) => {\n return Array.from(this.DOMstrings.stepsBtns).indexOf(elem)\n }\n // set all steps before clicked (and clicked too) to active\n this.setActiveStep = (activeStepNum) => {\n // remove active state from all the state\n this.removeAttributes(this.DOMstrings.stepsBtns, 'active')\n this.removeAttributes(this.DOMstrings.stepsBtns, 'inactive')\n // set picked items to active\n this.DOMstrings.stepsBtns.forEach((elem, index) => {\n if (index === activeStepNum) {\n elem.setAttribute('active', '')\n }\n if (index < activeStepNum) {\n elem.setAttribute('inactive', '')\n }\n })\n }\n // get active panel\n this.getActivePanel = () => {\n let activePanel\n this.DOMstrings.stepFormPanels.forEach((elem) => {\n if (elem.hasAttribute('active')) {\n activePanel = elem\n }\n })\n return activePanel\n }\n // open active panel (and close unactive panels)\n this.setActivePanel = (activePanelNum) => {\n // remove active class from all the panels\n this.removeAttributes(this.DOMstrings.stepFormPanels, 'active')\n // show active panel\n this.DOMstrings.stepFormPanels.forEach((elem, index) => {\n if (index === activePanelNum) {\n elem.setAttribute('active', '')\n }\n })\n }\n this.setStepsNum = () => {\n this.DOMstrings.stepsBtns.forEach((elem, index) => {\n elem.setAttribute('step', index + 1)\n })\n }\n this.setStep = (num) => {\n const activeStep = num <= this.DOMstrings.stepsBtns.length ? num - 1 : 0\n this.setActiveStep(activeStep)\n this.setActivePanel(activeStep)\n }\n this.collapseSteps = () => {\n this.component.setAttribute('collapsed', '')\n }\n this.expandSteps = () => {\n this.component.removeAttribute('collapsed')\n }\n this._setBehavior()\n }\n\n _setBehavior () {\n // STEPS BAR CLICK FUNCTION\n this.DOMstrings.stepsBar.addEventListener('click', (e) => {\n // check if click target is a step button\n const eventTarget = e.target\n if (!eventTarget.classList.contains(`${this.DOMstrings.stepsBtnClass}`)) {\n e.target.parentNode.click()\n return\n }\n // get active button step number\n const activeStep = this.getActiveStep(eventTarget)\n // set all steps before clicked (and clicked too) to active\n this.setActiveStep(activeStep)\n // open active panel\n this.setActivePanel(activeStep)\n })\n // PREV/NEXT BTNS CLICK\n this.DOMstrings.stepsForm.addEventListener('click', (e) => {\n const eventTarget = e.target\n // check if we clicked on `PREV` or NEXT` buttons\n if (\n !(\n eventTarget.classList.contains(`${this.DOMstrings.stepPrevBtnClass}`) ||\n eventTarget.classList.contains(`${this.DOMstrings.stepNextBtnClass}`)\n )\n ) {\n return\n }\n // find active panel\n const activePanel = this.findParent(eventTarget, `${this.DOMstrings.stepFormPanelClass}`)\n let activePanelNum = Array.from(this.DOMstrings.stepFormPanels).indexOf(activePanel)\n // set active step and active panel onclick\n if (eventTarget.classList.contains(`${this.DOMstrings.stepPrevBtnClass}`)) {\n activePanelNum -= 1\n activePanel.style.left = '1%'\n } else {\n activePanelNum += 1\n activePanel.style.left = '-1%'\n }\n this.setActiveStep(activePanelNum)\n this.setActivePanel(activePanelNum)\n })\n // Set Steps label number\n this.setStepsNum()\n // Set default active step\n if (this.component.hasAttribute('step')) {\n this.setStep(this.component.getAttribute('step'))\n }\n // set steps buttons grid style if it needs to scroll horizontaly\n if (this.component.hasAttribute('scroll') && !this.component.hasAttribute('vertical')) {\n const stepsWidth = Math.round(100 / this.DOMstrings.stepsBtns.length) - 0.5\n this.DOMstrings.stepsBar.style.gridTemplateColumns = `repeat(auto-fit, minmax(100px, ${stepsWidth}% ))`\n }\n // Swipe\n const dispatcher = new SwipeEventDispatcher(this.DOMstrings.stepsBar)\n if (this.component.hasAttribute('vertical')) {\n dispatcher.on('SWIPE_LEFT', () => {\n this.collapseSteps()\n })\n dispatcher.on('SWIPE_RIGHT', () => {\n this.expandSteps()\n })\n this.DOMstrings.stepsForm.ontouchstart = () => {\n this.collapseSteps()\n }\n } else {\n this.DOMstrings.stepsBar.ontouchstart = () => {\n this.expandSteps()\n }\n this.DOMstrings.stepsForm.ontouchstart = () => {\n this.collapseSteps()\n }\n }\n }\n}\nconst wizardList = []\nfor (const brWizard of window.document.querySelectorAll('.br-wizard')) {\n wizardList.push(new BRWizard('br-wizard', brWizard))\n}\nexport default BRWizard\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.pt = {}));\n}(this, (function (exports) { 'use strict';\n\n var fp = typeof window !== \"undefined\" && window.flatpickr !== undefined\n ? window.flatpickr\n : {\n l10ns: {},\n };\n var Portuguese = {\n weekdays: {\n shorthand: [\"Dom\", \"Seg\", \"Ter\", \"Qua\", \"Qui\", \"Sex\", \"Sáb\"],\n longhand: [\n \"Domingo\",\n \"Segunda-feira\",\n \"Terça-feira\",\n \"Quarta-feira\",\n \"Quinta-feira\",\n \"Sexta-feira\",\n \"Sábado\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\",\n ],\n longhand: [\n \"Janeiro\",\n \"Fevereiro\",\n \"Março\",\n \"Abril\",\n \"Maio\",\n \"Junho\",\n \"Julho\",\n \"Agosto\",\n \"Setembro\",\n \"Outubro\",\n \"Novembro\",\n \"Dezembro\",\n ],\n },\n rangeSeparator: \" até \",\n time_24hr: true,\n };\n fp.l10ns.pt = Portuguese;\n var pt = fp.l10ns;\n\n exports.Portuguese = Portuguese;\n exports.default = pt;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","// extracted by mini-css-extract-plugin","class BRTagInput {\r\n constructor (name, component) {\r\n this.name = name\r\n this.component = component\r\n this.DomList = []\r\n this._setBehavior()\r\n this.arrayOfList = [] // Lista de tags\r\n this.getAttribute()\r\n this.DOMCreate()\r\n this.DOMRender()\r\n this.onKeyUp()\r\n }\r\n\r\n _setBehavior () {\r\n for (const button of this.component.querySelectorAll('div.close button')) {\r\n button.addEventListener('click', () => {\r\n this.component.parentNode.removeChild(this.component)\r\n })\r\n }\r\n for (const button of this.component.querySelectorAll('div.close button')) {\r\n button.addEventListener('click', () => {\r\n this.component.parentNode.removeChild(this.component)\r\n })\r\n }\r\n }\r\n\r\n DOMCreate () {\r\n const input = document.createElement('input')\r\n input.className = 'input-tag a'\r\n if (this.arrayOfList.length <= 0) {\r\n input.setAttribute('placeholder', 'Insira um texto e aperte a tecla ENTER')\r\n }\r\n this.component.appendChild(input)\r\n this.DOMList = this.component.firstElementChild\r\n this.DOMInput = this.component.lastElementChild\r\n this.onKeyUp()\r\n return input\r\n }\r\n\r\n DOMRender () {\r\n this.component.innerHTML = ''\r\n this.arrayOfList.forEach(function (currentValue, index) {\r\n const li = document.createElement('div')\r\n li.className = 'br-tag tag-input-close'\r\n const templateHeader = '
'\r\n const templateFooter =\r\n '
'\r\n li.innerHTML = ''.concat(templateHeader, '', currentValue, templateFooter)\r\n li.querySelector('button').addEventListener('click', () => {\r\n this.onDelete(index)\r\n return false\r\n })\r\n this.component.appendChild(li)\r\n this.setAttribute()\r\n }, this)\r\n this.DOMCreate().focus()\r\n }\r\n\r\n onKeyUp () {\r\n // eslint-disable-next-line consistent-this\r\n const _this = this\r\n\r\n this.DOMInput.addEventListener(\r\n 'keyup',\r\n function (event) {\r\n this.keynm = 13\r\n const text = this.value\r\n if (text.includes(',') || String(event.keyCode) === String(13)) {\r\n if (text.replace(',', '') !== '') {\r\n _this.arrayOfList.push(text.replace(',', ''))\r\n }\r\n this.value = ''\r\n _this.DOMRender()\r\n }\r\n },\r\n false\r\n )\r\n this.DOMInput.addEventListener(\r\n 'keydown',\r\n function (event) {\r\n const text = this.value\r\n if (String(event.keyCode) === String(9)) {\r\n if (text.replace(',', '') !== '') {\r\n _this.arrayOfList.push(text.replace(',', ''))\r\n }\r\n this.value = ''\r\n _this.DOMRender()\r\n }\r\n },\r\n false\r\n )\r\n }\r\n\r\n onDelete (id) {\r\n this.arrayOfList = this.arrayOfList.filter((currentValue, index) => {\r\n if (index === id) {\r\n return false\r\n }\r\n return currentValue\r\n })\r\n this.DOMRender()\r\n }\r\n\r\n getAttribute () {\r\n let dataAttribute = ''\r\n dataAttribute = this.component.getAttribute('tag-input-tags')\r\n if (typeof dataAttribute === 'undefined') {\r\n dataAttribute = dataAttribute.split(',')\r\n this.arrayOfList = dataAttribute.map((currentValue) => {\r\n return currentValue.trim()\r\n })\r\n }\r\n }\r\n\r\n setAttribute () {\r\n this.component.setAttribute('tag-input', this.arrayOfList.toString())\r\n }\r\n}\r\nconst tagInputList = []\r\nfor (const brTag of window.document.querySelectorAll('.br-tag-input')) {\r\n tagInputList.push(new BRTagInput('br-tag-input', brTag))\r\n}\r\nexport default BRTagInput\r\n","import BRAccordion from './accordion'\nimport BRBreadcrumb from './breadcrumb'\nimport BRCard from './card'\nimport BRDatepicker from './datepicker'\nimport BRFooter from './footer'\nimport BRHeader from './header'\nimport BRInput from './input'\nimport BRItem from './item'\nimport BRList from './list'\nimport BRMenu from './menu'\nimport BRMessage from './message'\nimport BRModal from './modal'\nimport BRNotification from './notification'\nimport BRScrim from './scrim'\nimport BRSelect from './select'\nimport BRTable from './table'\nimport BRTabs from './tabs'\nimport BRTag from './tag'\nimport BRTagInput from './taginput'\nimport BRTooltip from './tooltip'\nimport BRUpload from './upload'\nimport BRWizard from './wizard'\n// Script Templates\nimport BRTemplateBase from './template-base'\nexport default class Globals {\n initInstanceAll () {\n this.initInstanceAccordion()\n this.initInstanceBreadcrumb()\n this.initInstanceCard()\n this.initInstanceDatepicker()\n this.initInstanceFooter()\n this.initInstanceHeader()\n this.initInstanceInput()\n this.initInstanceItem()\n this.initInstanceList()\n this.initInstanceMenu()\n this.initInstanceMessage()\n this.initInstanceModal()\n this.initInstanceNotification()\n this.initInstanceScrim()\n this.initInstanceSelect()\n this.initInstanceTable()\n this.initInstanceTabs()\n this.initInstanceTemplateBase()\n this.initInstanceTooltip()\n this.initInstanceUpload()\n this.initInstanceWizard()\n }\n\n initInstanceAccordion () {\n const accordionList = []\n for (const brAccordion of window.document.querySelectorAll('.br-accordion')) {\n accordionList.push(new BRAccordion('br-accordion', brAccordion))\n }\n }\n\n initInstanceBreadcrumb () {\n const breadcrumbList = []\n for (const brBreadcrumb of window.document.querySelectorAll('.br-breadcrumb')) {\n breadcrumbList.push(new BRBreadcrumb('br-breadcrumb', brBreadcrumb))\n }\n }\n\n initInstanceDatepicker () {\n const datepickerList = []\n for (const brDatepicker of window.document.querySelectorAll('.br-datepicker')) {\n datepickerList.push(new BRDatepicker('br-datepicker', brDatepicker))\n }\n }\n\n initInstanceFooter () {\n const footerList = []\n for (const brFooter of window.document.querySelectorAll('.br-footer')) {\n footerList.push(new BRFooter('br-footer', brFooter))\n }\n }\n\n initInstanceHeader () {\n const headerList = []\n\n for (const brHeader of window.document.querySelectorAll('.br-header')) {\n headerList.push(new BRHeader('br-header', brHeader))\n }\n }\n\n initInstanceInput () {\n const countries = [\n 'Afeganistão',\n 'África do Sul',\n 'Albânia',\n 'Alemanha',\n 'Andorra',\n 'Angola',\n 'Anguilla',\n 'Antártida',\n 'Antígua e Barbuda',\n 'Antilhas Holandesas',\n 'Arábia Saudita',\n 'Argélia',\n 'Argentina',\n 'Armênia',\n 'Aruba',\n 'Austrália',\n 'Áustria',\n 'Azerbaijão',\n 'Bahamas',\n 'Bahrein',\n 'Bangladesh',\n 'Barbados',\n 'Belarus',\n 'Bélgica',\n 'Belize',\n 'Benin',\n 'Bermudas',\n 'Bolívia',\n 'Bósnia-Herzegóvina',\n 'Botsuana',\n 'Brasil',\n 'Brunei',\n 'Bulgária',\n 'Burkina Fasso',\n 'Burundi',\n 'Butão',\n 'Cabo Verde',\n 'Camarões',\n 'Camboja',\n 'Canadá',\n 'Cazaquistão',\n 'Chade',\n 'Chile',\n 'China',\n 'Chipre',\n 'Cingapura',\n 'Colômbia',\n 'Congo',\n 'Coréia do Norte',\n 'Coréia do Sul',\n 'Costa do Marfim',\n 'Costa Rica',\n 'Croácia (Hrvatska)',\n 'Cuba',\n 'Dinamarca',\n 'Djibuti',\n 'Dominica',\n 'Egito',\n 'El Salvador',\n 'Emirados Árabes Unidos',\n 'Equador',\n 'Eritréia',\n 'Eslováquia',\n 'Eslovênia',\n 'Espanha',\n 'Estados Unidos',\n 'Estônia',\n 'Etiópia',\n 'Fiji',\n 'Filipinas',\n 'Finlândia',\n 'França',\n 'Gabão',\n 'Gâmbia',\n 'Gana',\n 'Geórgia',\n 'Gibraltar',\n 'Grã-Bretanha (Reino Unido, UK)',\n 'Granada',\n 'Grécia',\n 'Groelândia',\n 'Guadalupe',\n 'Guam (Território dos Estados Unidos)',\n 'Guatemala',\n 'Guernsey',\n 'Guiana',\n 'Guiana Francesa',\n 'Guiné',\n 'Guiné Equatorial',\n 'Guiné-Bissau',\n 'Haiti',\n 'Holanda',\n 'Honduras',\n 'Hong Kong',\n 'Hungria',\n 'Iêmen',\n 'Ilha Bouvet (Território da Noruega)',\n 'Ilha do Homem',\n 'Ilha Natal',\n 'Ilha Pitcairn',\n 'Ilha Reunião',\n 'Ilhas Aland',\n 'Ilhas Cayman',\n 'Ilhas Cocos',\n 'Ilhas Comores',\n 'Ilhas Cook',\n 'Ilhas Faroes',\n 'Ilhas Falkland (Malvinas)',\n 'Ilhas Geórgia do Sul e Sandwich do Sul',\n 'Ilhas Heard e McDonald (Território da Austrália)',\n 'Ilhas Marianas do Norte',\n 'Ilhas Marshall',\n 'Ilhas Menores dos Estados Unidos',\n 'Ilhas Norfolk',\n 'Ilhas Seychelles',\n 'Ilhas Solomão',\n 'Ilhas Svalbard e Jan Mayen',\n 'Ilhas Tokelau',\n 'Ilhas Turks e Caicos',\n 'Ilhas Virgens (Estados Unidos)',\n 'Ilhas Virgens (Inglaterra)',\n 'Ilhas Wallis e Futuna',\n 'índia',\n 'Indonésia',\n 'Irã',\n 'Iraque',\n 'Irlanda',\n 'Islândia',\n 'Israel',\n 'Itália',\n 'Jamaica',\n 'Japão',\n 'Jersey',\n 'Jordânia',\n 'Kênia',\n 'Kiribati',\n 'Kuait',\n 'Laos',\n 'Látvia',\n 'Lesoto',\n 'Líbano',\n 'Libéria',\n 'Líbia',\n 'Liechtenstein',\n 'Lituânia',\n 'Luxemburgo',\n 'Macau',\n 'Macedônia (República Yugoslava)',\n 'Madagascar',\n 'Malásia',\n 'Malaui',\n 'Maldivas',\n 'Mali',\n 'Malta',\n 'Marrocos',\n 'Martinica',\n 'Maurício',\n 'Mauritânia',\n 'Mayotte',\n 'México',\n 'Micronésia',\n 'Moçambique',\n 'Moldova',\n 'Mônaco',\n 'Mongólia',\n 'Montenegro',\n 'Montserrat',\n 'Myanma',\n 'Namíbia',\n 'Nauru',\n 'Nepal',\n 'Nicarágua',\n 'Níger',\n 'Nigéria',\n 'Niue',\n 'Noruega',\n 'Nova Caledônia',\n 'Nova Zelândia',\n 'Omã',\n 'Palau',\n 'Panamá',\n 'Papua-Nova Guiné',\n 'Paquistão',\n 'Paraguai',\n 'Peru',\n 'Polinésia Francesa',\n 'Polônia',\n 'Porto Rico',\n 'Portugal',\n 'Qatar',\n 'Quirguistão',\n 'República Centro-Africana',\n 'República Democrática do Congo',\n 'República Dominicana',\n 'República Tcheca',\n 'Romênia',\n 'Ruanda',\n 'Rússia (antiga URSS) - Federação Russa',\n 'Saara Ocidental',\n 'Saint Vincente e Granadinas',\n 'Samoa Americana',\n 'Samoa Ocidental',\n 'San Marino',\n 'Santa Helena',\n 'Santa Lúcia',\n 'São Bartolomeu',\n 'São Cristóvão e Névis',\n 'São Martim',\n 'São Tomé e Príncipe',\n 'Senegal',\n 'Serra Leoa',\n 'Sérvia',\n 'Síria',\n 'Somália',\n 'Sri Lanka',\n 'St. Pierre and Miquelon',\n 'Suazilândia',\n 'Sudão',\n 'Suécia',\n 'Suíça',\n 'Suriname',\n 'Tadjiquistão',\n 'Tailândia',\n 'Taiwan',\n 'Tanzânia',\n 'Território Britânico do Oceano índico',\n 'Territórios do Sul da França',\n 'Territórios Palestinos Ocupados',\n 'Timor Leste',\n 'Togo',\n 'Tonga',\n 'Trinidad and Tobago',\n 'Tunísia',\n 'Turcomenistão',\n 'Turquia',\n 'Tuvalu',\n 'Ucrânia',\n 'Uganda',\n 'Uruguai',\n 'Uzbequistão',\n 'Vanuatu',\n 'Vaticano',\n 'Venezuela',\n 'Vietnã',\n 'Zâmbia',\n 'Zimbábue'\n ]\n const inputList = []\n for (const brInput of window.document.querySelectorAll('.br-input')) {\n inputList.push(new BRInput('br-input', brInput))\n }\n for (const brInput of inputList) {\n brInput.component.querySelectorAll('input.search-autocomplete').forEach(() => {\n brInput.setAutocompleteData(countries)\n })\n }\n }\n\n initInstanceItem () {\n const itemList = []\n for (const brItem of window.document.querySelectorAll('.br-item')) {\n itemList.push(new BRItem('br-item', brItem))\n }\n }\n\n initInstanceList () {\n const listList = []\n for (const brList of window.document.querySelectorAll('.br-list[collapsible]')) {\n listList.push(new BRList('br-list-collapsible', brList))\n }\n for (const brList of window.document.querySelectorAll('.br-list[checkable]')) {\n listList.push(new BRList('br-list-checkable', brList))\n }\n }\n\n initInstanceMenu () {\n const menuList = []\n for (const brMenu of window.document.querySelectorAll('.br-menu')) {\n menuList.push(new BRMenu('br-menu', brMenu))\n }\n }\n\n initInstanceMessage () {\n const alertList = []\n for (const brMessage of window.document.querySelectorAll('.br-message')) {\n alertList.push(new BRMessage('br-message', brMessage))\n }\n }\n\n initInstanceModal () {\n const modalList = []\n for (const brModal of window.document.querySelectorAll('.br-modal')) {\n modalList.push(new BRModal('br-modal', brModal))\n }\n for (const brScrim of window.document.querySelectorAll('.br-scrim')) {\n const scrim = new BRScrim('br-scrim', brScrim)\n for (const button of window.document.querySelectorAll('.br-scrim + button')) {\n button.addEventListener('click', () => {\n scrim.showScrim()\n })\n }\n }\n }\n\n initInstanceNotification () {\n const notificationList = []\n for (const brNotification of window.document.querySelectorAll('.br-notification')) {\n notificationList.push(new BRNotification('br-notification', brNotification))\n }\n }\n\n initInstanceScrim () {\n const scrimList = []\n for (const brScrim of window.document.querySelectorAll('.br-scrim')) {\n scrimList.push(new BRScrim('br-scrim', brScrim))\n }\n for (const buttonBloco1 of window.document.querySelectorAll('.bloco1 button')) {\n buttonBloco1.addEventListener('click', () => {\n for (const brScrim of scrimList) {\n brScrim.showScrim()\n }\n })\n }\n }\n\n initInstanceSelect () {\n const selectList = []\n for (const brSelect of window.document.querySelectorAll('.br-select')) {\n selectList.push(new BRSelect('br-select', brSelect))\n }\n }\n\n initInstanceTable () {\n const tableList = []\n for (const [index, brTable] of window.document.querySelectorAll('.br-table').entries()) {\n tableList.push(new BRTable('br-table', brTable, index))\n }\n }\n\n initInstanceTabs () {\n const abasList = []\n for (const brTabs of window.document.querySelectorAll('.br-tabs')) {\n abasList.push(new BRTabs('br-tabs', brTabs))\n }\n }\n\n initInstanceTag () {\n const tagList = []\n for (const brTag of window.document.querySelectorAll('.br-tag')) {\n tagList.push(new BRTag('br-tag', brTag))\n }\n }\n\n initInstanceTagInput () {\n const tagInputList = []\n for (const brTag of window.document.querySelectorAll('.br-tag-input')) {\n tagInputList.push(new BRTagInput('br-tag-input', brTag))\n }\n }\n\n initInstanceTooltip () {\n const tooltipList = []\n for (const brTooltip of window.document.querySelectorAll('.br-tooltip')) {\n tooltipList.push(new BRTooltip('br-tooltip', brTooltip))\n }\n }\n\n initInstanceUpload () {\n const uploadList = []\n for (const brUpload of window.document.querySelectorAll('.br-upload')) {\n uploadList.push(new BRUpload('br-upload', brUpload))\n }\n }\n\n initInstanceWizard () {\n const wizardList = []\n for (const brWizard of window.document.querySelectorAll('.br-wizard')) {\n wizardList.push(new BRWizard('br-wizard', brWizard))\n }\n }\n\n initInstanceTemplateBase () {\n const templateBaseList = []\n for (const brTemplateBase of window.document.querySelectorAll('.template-base')) {\n templateBaseList.push(new BRTemplateBase('template-base', brTemplateBase))\n }\n }\n\n initInstanceCard () {\n const listCard = []\n for (const brCard of window.document.querySelectorAll('.br-card')) {\n listCard.push(new BRCard('br-card', brCard))\n }\n }\n}\n","/* eslint-disable no-unused-vars */\nimport Globals from './components/globals-class'\nconst globals = new Globals()\n"],"sourceRoot":""}