Welcome to mirror list, hosted at ThFree Co, Russian Federation.

vendors~editor-rich.js.map « js - github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 15c748ea2bf8d911c00a40529d0f67bb199d92de (plain)
1
{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///../lib/gettext.ts","webpack:///./node_modules/core-js/modules/es.array.splice.js","webpack:///NextcloudVue.[name]/webpack/universalModuleDefinition","webpack:///NextcloudVue.[name]/webpack/bootstrap","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/api.js","webpack:///NextcloudVue.[name]/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///NextcloudVue.[name]/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///NextcloudVue.[name]/node_modules/css-loader/dist/runtime/getUrl.js","webpack:///webpack:/NextcloudVue.[name]/external \"vue\"","webpack:///NextcloudVue.[name]/src/fonts/iconfont-vue-ed18ae7.eot","webpack:///webpack:/NextcloudVue.[name]/external \"v-tooltip\"","webpack:///NextcloudVue.[name]/src/l10n.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.object.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.index-of.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.map.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.exec.js\"","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss?0d1f","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.replace.js\"","webpack:///NextcloudVue.[name]/src/directives/Tooltip/index.scss","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.regexp.to-string.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.function.name.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.concat.js\"","webpack:///NextcloudVue.[name]/src/utils/GenRandomId.js","webpack:///webpack:/NextcloudVue.[name]/external \"@nextcloud/l10n/dist/gettext\"","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?770b","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?1515","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?470d","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue","webpack:///NextcloudVue.[name]/src/components/Popover/Popover.vue?01ec","webpack:///NextcloudVue.[name]/src/components/Popover/index.js","webpack:///NextcloudVue.[name]/src/utils/ValidateSlot.js","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?2827","webpack:///NextcloudVue.[name]/src/components/Actions/index.js","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?0521","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?608f","webpack:///NextcloudVue.[name]/src/components/Actions/Actions.vue?f7c6","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.filter.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.splice.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.trim.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.array.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/es.string.iterator.js\"","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.dom-collections.iterator.js\"","webpack:///NextcloudVue.[name]/src/mixins/actionGlobal.js","webpack:///webpack:/NextcloudVue.[name]/external \"core-js/modules/web.url.js\"","webpack:///NextcloudVue.[name]/src/utils/GetParent.js","webpack:///NextcloudVue.[name]/src/mixins/actionText.js","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?71f0","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?c243","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?fe29","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue","webpack:///NextcloudVue.[name]/src/components/ActionButton/ActionButton.vue?cc90","webpack:///NextcloudVue.[name]/src/components/ActionButton/index.js","webpack:///./node_modules/vue-click-outside/index.js"],"names":["DESCRIPTORS","require","defineProperty","f","FunctionPrototype","Function","prototype","FunctionPrototypeToString","toString","nameRE","configurable","get","call","this","match","error","$","$trim","trim","target","proto","forced","forcedStringTrimMethod","fails","whitespaces","module","exports","METHOD_NAME","name","GettextBuilder","translations","debug","language","setLanguage","getLanguage","data","GettextWrapper","locale","GetText","sourceLocale","translated","vars","r","original","placeholders","subtitudePlaceholders","gt","gettext","singular","plural","count","ngettext","replace","toAbsoluteIndex","toInteger","toLength","toObject","arraySpeciesCreate","createProperty","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","max","Math","min","splice","start","deleteCount","insertCount","actualDeleteCount","A","k","from","to","O","len","length","actualStart","argumentsLength","arguments","TypeError","factory","window","installedModules","__webpack_require__","moduleId","i","l","modules","m","c","d","getter","o","Object","enumerable","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","hasOwnProperty","p","s","_slicedToArray","arr","Array","isArray","iterator","_arr","_n","_d","_e","_s","_i","next","done","push","err","minLen","_arrayLikeToArray","slice","constructor","test","arr2","item","_item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","concat","sourceMapping","sourceURLs","sources","map","source","sourceRoot","join","cssWithMappingToString","list","mediaQuery","dedupe","alreadyImportedModules","id","memo","getTarget","styleTarget","document","querySelector","HTMLIFrameElement","contentDocument","head","e","stylesInDom","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","index","obj","css","media","sourceMap","references","updater","addStyle","insertStyleElement","style","createElement","attributes","nonce","keys","forEach","setAttribute","insert","Error","appendChild","textStore","replaceText","replacement","filter","Boolean","applyToSingletonTag","remove","styleSheet","cssText","cssNode","createTextNode","childNodes","removeChild","insertBefore","applyToTag","removeAttribute","firstChild","singleton","singletonCounter","update","styleIndex","parentNode","newObj","all","atob","lastIdentifiers","newList","newLastIdentifiers","_index","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","url","default","hash","needQuotes","__webpack_exports__","gtBuilder","getGettextBuilder","detectLocale","TRANSLATIONS","addTranslation","json","build","injectStylesIntoStyleTag_default","Tooltip","locals","VTooltip","defaultTemplate","SCOPE_VERSION","defaultHtml","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default","version","names","mappings","sourcesContent","GenRandomId","random","substr","Popover_Popovervue_type_script_lang_js_","components","VPopover","Popovervue_type_style_index_0_lang_scss_","_h","$createElement","_c","_self","_g","_b","attrs","popover-base-class","popover-wrapper-class","popover-arrow-class","popover-inner-class","$attrs","$listeners","_t","_v","slot","Popover","ValidateSlot","slots","allowed","vm","node","isHtmlElement","componentOptions","tag","indexOf","isVueComponent","isForbiddenComponent","Vue","util","warn","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","___CSS_LOADER_URL_REPLACEMENT_0___","_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default","_fonts_iconfont_vue_ed18ae7_eot__WEBPACK_IMPORTED_MODULE_3__","___CSS_LOADER_URL_REPLACEMENT_1___","_fonts_iconfont_vue_ed18ae7_woff__WEBPACK_IMPORTED_MODULE_4__","___CSS_LOADER_URL_REPLACEMENT_2___","_fonts_iconfont_vue_ed18ae7_ttf__WEBPACK_IMPORTED_MODULE_5__","___CSS_LOADER_URL_REPLACEMENT_3___","_fonts_iconfont_vue_ed18ae7_svg__WEBPACK_IMPORTED_MODULE_6__","Actions","Actions_Actionsvue_type_script_lang_js_","directives","tooltip","props","open","type","forceMenu","menuTitle","primary","defaultIcon","ariaLabel","placement","boundariesElement","container","actions","opened","focusIndex","randomId","children","computed","hasMultipleActions","isValidSingleAction","firstActionVNode","firstAction","firstActionBinding","is","href","aria-label","exact","firstActionEvent","firstActionEventBinding","firstActionClass","dynClass","watch","state","beforeMount","beforeUpdate","methods","openMenu","closeMenu","onOpen","_this","onMouseFocusAction","removeCurrentActive","currentActiveElement","focusAction","focusElement","liMenuParent","focusPreviousAction","focusNextAction","focusFirstAction","focusLastAction","preventIfEvent","event","execFirstAction","initActions","Actionsvue_type_style_index_0_id_1ae94e3d_lang_scss_scoped_true_","_obj","_vm","rawName","expression","modifiers","auto","staticClass","class","icon","rel","on","aria-hidden","hidden","action-item--open","delay","handle-resize","boundaries-element","update:open","$event","show","apply-show","hide","ref","aria-haspopup","aria-controls","test-attr","aria-expanded","tabindex","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","preventDefault","mousemove","define","before","$slots","text","$destroy","$el","getText","isLongText","GetParent","$parent","mixins","actionGlobal","String","title","closeAfterClick","isIconUrl","URL","onClick","$emit","ActionButton_ActionButtonvue_type_script_lang_js_","disabled","isFocusable","ActionButtonvue_type_style_index_0_id_bfcb90de_lang_scss_scoped_true_","action--disabled","focusable","click","backgroundImage","domProps","textContent","ActionButton","validate","binding","console","isServer","vNode","componentInstance","$isServer","el","__vueClickOutside__","handler","callback","clickHandler","documentElement","addEventListener","elements","path","composedPath","unshift","contains","popupItem","isPopup","unbind","removeEventListener"],"mappings":"oGAAA,IAAIA,EAAcC,EAAQ,GACtBC,EAAiBD,EAAQ,GAAuCE,EAEhEC,EAAoBC,SAASC,UAC7BC,EAA4BH,EAAkBI,SAC9CC,EAAS,wBAKTT,KAJO,SAIkBI,IAC3BF,EAAeE,EALN,OAK+B,CACtCM,cAAc,EACdC,IAAK,WACH,IACE,OAAOJ,EAA0BK,KAAKC,MAAMC,MAAML,GAAQ,GAC1D,MAAOM,GACP,MAAO,Q,iCChBf,IAAIC,EAAIf,EAAQ,IACZgB,EAAQhB,EAAQ,KAA4BiB,KAKhDF,EAAE,CAAEG,OAAQ,SAAUC,OAAO,EAAMC,OAJNpB,EAAQ,IAIMqB,CAAuB,SAAW,CAC3EJ,KAAM,WACJ,OAAOD,EAAMJ,U,iCCTjB,IAAIU,EAAQtB,EAAQ,GAChBuB,EAAcvB,EAAQ,KAM1BwB,EAAOC,QAAU,SAAUC,GACzB,OAAOJ,GAAM,WACX,QAASC,EAAYG,MANf,aAMqCA,MAAyBH,EAAYG,GAAaC,OAASD,O,gICsEnG,WACH,OAAO,IAAP,GAhFJ,I,EAAA,G,EAAA,S,2BAEA,S,iUAEME,E,uCAGMC,aAAe,G,KACfC,OAAQ,E,8CAEJC,GAER,OADAnB,KAAA,SACA,O,qCAIA,OAAOA,KAAKoB,aAAY,IAAAC,eAAA,YAAxB,Q,qCAGWF,EAAkBG,GAE7B,OADAtB,KAAA,kBACA,O,wCAKA,OADAA,KAAA,SACA,O,8BAIA,OAAO,IAAIuB,EAAevB,KAAKwB,QAAxB,KAAwCxB,KAAxC,aAA2DA,KAAlE,W,KAKFuB,E,WAIF,kBAMI,IAAK,IAAL,KANmD,UACnDvB,KAAA,GAAU,IAAIyB,EAAJ,QAAY,CAClBP,MADkB,EAElBQ,aAAc,OAGlB,EACI1B,KAAA,gCAAyCsB,EAAzC,IAGJtB,KAAA,gB,wDAG0B2B,EAAoBC,GAC9C,OAAOD,EAAA,uBAAkC,cACrC,IAAME,EAAID,EAAV,GACA,MAAiB,iBAANC,GAAX,iBAAoCA,EACzBA,EAAP,WAEA,O,8BAKJC,GAAqD,IAAnCC,EAAmC,uDAAZ,GAC7C,OAAO/B,KAAKgC,sBACRhC,KAAKiC,GAAGC,QADL,GAAP,K,+BAMKC,EAAkBC,EAAgBC,GAAkD,IAAnCN,EAAmC,uDAAZ,GAC7E,OAAO/B,KAAKgC,sBACRhC,KAAKiC,GAAGK,SAASH,EAAUC,EAAQC,GAAOE,QAAQ,MAAOF,EADtD,YAAP,O,uCCtER,IAAIlC,EAAIf,EAAQ,IACZoD,EAAkBpD,EAAQ,KAC1BqD,EAAYrD,EAAQ,IACpBsD,EAAWtD,EAAQ,IACnBuD,EAAWvD,EAAQ,IACnBwD,EAAqBxD,EAAQ,IAC7ByD,EAAiBzD,EAAQ,KACzB0D,EAA+B1D,EAAQ,IACvC2D,EAA0B3D,EAAQ,IAElC4D,EAAsBF,EAA6B,UACnDG,EAAiBF,EAAwB,SAAU,CAAEG,WAAW,EAAMC,EAAG,EAAGC,EAAG,IAE/EC,EAAMC,KAAKD,IACXE,EAAMD,KAAKC,IAOfpD,EAAE,CAAEG,OAAQ,QAASC,OAAO,EAAMC,QAASwC,IAAwBC,GAAkB,CACnFO,OAAQ,SAAgBC,EAAOC,GAC7B,IAIIC,EAAaC,EAAmBC,EAAGC,EAAGC,EAAMC,EAJ5CC,EAAItB,EAAS3C,MACbkE,EAAMxB,EAASuB,EAAEE,QACjBC,EAAc5B,EAAgBiB,EAAOS,GACrCG,EAAkBC,UAAUH,OAWhC,GATwB,IAApBE,EACFV,EAAcC,EAAoB,EACL,IAApBS,GACTV,EAAc,EACdC,EAAoBM,EAAME,IAE1BT,EAAcU,EAAkB,EAChCT,EAAoBL,EAAIF,EAAIZ,EAAUiB,GAAc,GAAIQ,EAAME,IAE5DF,EAAMP,EAAcC,EAtBL,iBAuBjB,MAAMW,UAtB0B,mCAyBlC,IADAV,EAAIjB,EAAmBqB,EAAGL,GACrBE,EAAI,EAAGA,EAAIF,EAAmBE,KACjCC,EAAOK,EAAcN,KACTG,GAAGpB,EAAegB,EAAGC,EAAGG,EAAEF,IAGxC,GADAF,EAAEM,OAASP,EACPD,EAAcC,EAAmB,CACnC,IAAKE,EAAIM,EAAaN,EAAII,EAAMN,EAAmBE,IAEjDE,EAAKF,EAAIH,GADTI,EAAOD,EAAIF,KAECK,EAAGA,EAAED,GAAMC,EAAEF,UACbE,EAAED,GAEhB,IAAKF,EAAII,EAAKJ,EAAII,EAAMN,EAAoBD,EAAaG,WAAYG,EAAEH,EAAI,QACtE,GAAIH,EAAcC,EACvB,IAAKE,EAAII,EAAMN,EAAmBE,EAAIM,EAAaN,IAEjDE,EAAKF,EAAIH,EAAc,GADvBI,EAAOD,EAAIF,EAAoB,KAEnBK,EAAGA,EAAED,GAAMC,EAAEF,UACbE,EAAED,GAGlB,IAAKF,EAAI,EAAGA,EAAIH,EAAaG,IAC3BG,EAAEH,EAAIM,GAAeE,UAAUR,EAAI,GAGrC,OADAG,EAAEE,OAASD,EAAMN,EAAoBD,EAC9BE,M,wDCnEsCW,E,qOAS9CC,OAT8CD,EAStC,WACX,O,YCTE,IAAIE,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAU/D,QAGnC,IAAID,EAAS8D,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,KACAjE,QAAS,IAUV,OANAkE,EAAQH,GAAU7E,KAAKa,EAAOC,QAASD,EAAQA,EAAOC,QAAS8D,GAG/D/D,EAAOkE,KAGAlE,EAAOC,QA0Df,OArDA8D,EAAoBK,EAAID,EAGxBJ,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASrE,EAASE,EAAMoE,GAC3CR,EAAoBS,EAAEvE,EAASE,IAClCsE,OAAOhG,eAAewB,EAASE,EAAM,CAAEuE,cAAkBxF,IAAKqF,KAKhER,EAAoB9C,EAAI,SAAShB,GACX,oBAAX0E,QAA0BA,OAAOC,aAC1CH,OAAOhG,eAAewB,EAAS0E,OAAOC,YAAa,CAAEC,MAAO,WAE7DJ,OAAOhG,eAAewB,EAAS,aAAc,CAAE4E,YAQhDd,EAAoBe,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQd,EAAoBc,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,YAAVF,IAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKR,OAAOS,OAAO,MAGvB,GAFAnB,EAAoB9C,EAAEgE,GACtBR,OAAOhG,eAAewG,EAAI,UAAW,CAAEP,cAAkBG,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOd,EAAoBO,EAAEW,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRlB,EAAoBsB,EAAI,SAASrF,GAChC,IAAIuE,EAASvE,GAAUA,EAAOgF,WAC7B,WAAwB,OAAOhF,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADA+D,EAAoBO,EAAEC,EAAQ,IAAKA,GAC5BA,GAIRR,EAAoBS,EAAI,SAASc,EAAQC,GAAY,OAAOd,OAAO5F,UAAU2G,eAAerG,KAAKmG,EAAQC,IAGzGxB,EAAoB0B,EAAI,SAIjB1B,EAAoBA,EAAoB2B,EAAI,I,kBChFrD,SAASC,EAAeC,EAAK3B,GAAK,OAUlC,SAAyB2B,GAAO,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,EAA/D,CAVyDA,IAQzD,SAA+BA,EAAK3B,GAAK,GAAsB,oBAAXU,QAA4BA,OAAOoB,YAAYtB,OAAOmB,GAAjE,CAAgF,IAAII,EAAO,GAAQC,KAAeC,KAAgBC,SAAgB,IAAM,IAAK,IAAiCC,EAA7BC,EAAKT,EAAIjB,OAAOoB,cAAmBE,GAAMG,EAAKC,EAAGC,QAAQC,QAAoBP,EAAKQ,KAAKJ,EAAGvB,QAAYZ,GAAK+B,EAAKzC,SAAWU,GAA3DgC,OAAyE,MAAOQ,GAAOP,KAAWC,EAAKM,EAAtL,QAAuM,IAAWR,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAAlD,QAAmE,GAAIH,EAAI,MAAMC,GAAQ,OAAOH,GAAle,CARuFJ,EAAK3B,IAI5F,SAAqCO,EAAGkC,GAAU,GAAKlC,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOmC,EAAkBnC,EAAGkC,GAAS,IAAIrB,EAAIZ,OAAO5F,UAAUE,SAASI,KAAKqF,GAAGoC,MAAM,GAAI,GAAiE,MAAnD,WAANvB,GAAkBb,EAAEqC,cAAaxB,EAAIb,EAAEqC,YAAY1G,MAAgB,QAANkF,GAAqB,QAANA,EAAoBQ,MAAM1C,KAAKqB,GAAc,cAANa,GAAqB,2CAA2CyB,KAAKzB,GAAWsB,EAAkBnC,EAAGkC,QAAzG,GAA7S,CAJ8Hd,EAAK3B,IAEnI,WAA8B,MAAM,IAAIN,UAAU,6IAAlD,GAIA,SAASgD,EAAkBf,EAAKtC,IAAkB,MAAPA,GAAeA,EAAMsC,EAAIrC,UAAQD,EAAMsC,EAAIrC,QAAQ,IAAK,IAAIU,EAAI,EAAG8C,EAAO,IAAIlB,MAAMvC,GAAMW,EAAIX,EAAKW,IAAO8C,EAAK9C,GAAK2B,EAAI3B,GAAM,OAAO8C,EAMhL/G,EAAOC,QAAU,SAAgC+G,GAC/C,IAAIC,EAAQtB,EAAeqB,EAAM,GAC7BE,EAAUD,EAAM,GAChBE,EAAaF,EAAM,GAEvB,GAAoB,mBAATG,KAAqB,CAE9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDzG,EAAO,+DAA+DgH,OAAOL,GAC7EM,EAAgB,OAAOD,OAAOhH,EAAM,OACpCkH,EAAaT,EAAWU,QAAQC,KAAI,SAAUC,GAChD,MAAO,iBAAiBL,OAAOP,EAAWa,YAAc,IAAIN,OAAOK,EAAQ,UAE7E,MAAO,CAACb,GAASQ,OAAOE,GAAYF,OAAO,CAACC,IAAgBM,KAAK,MAGnE,MAAO,CAACf,GAASe,KAAK,Q,gBCtBxBjI,EAAOC,QAAU,SAAUiI,GACzB,IAAIC,EAAO,GAuDX,OArDAA,EAAKpJ,SAAW,WACd,OAAOK,KAAK0I,KAAI,SAAUd,GACxB,IAAIE,EAAUgB,EAAuBlB,GAErC,OAAIA,EAAK,GACA,UAAUU,OAAOV,EAAK,GAAI,MAAMU,OAAOR,EAAS,KAGlDA,KACNe,KAAK,KAKVE,EAAKlE,EAAI,SAAUE,EAASiE,EAAYC,GACf,iBAAZlE,IAETA,EAAU,CAAC,CAAC,KAAMA,EAAS,MAG7B,IAAImE,EAAyB,GAE7B,GAAID,EACF,IAAK,IAAIpE,EAAI,EAAGA,EAAI7E,KAAKmE,OAAQU,IAAK,CAEpC,IAAIsE,EAAKnJ,KAAK6E,GAAG,GAEP,MAANsE,IACFD,EAAuBC,OAK7B,IAAK,IAAIlC,EAAK,EAAGA,EAAKlC,EAAQZ,OAAQ8C,IAAM,CAC1C,IAAIW,EAAO,GAAGU,OAAOvD,EAAQkC,IAEzBgC,GAAUC,EAAuBtB,EAAK,MAKtCoB,IACGpB,EAAK,GAGRA,EAAK,GAAK,GAAGU,OAAOU,EAAY,SAASV,OAAOV,EAAK,IAFrDA,EAAK,GAAKoB,GAMdD,EAAK3B,KAAKQ,MAIPmB,I,gBC9DT,IACMK,EAeFC,EAAY,WACd,IAAID,EAAO,GACX,OAAO,SAAkB9I,GACvB,YAAW8I,EAAK9I,GAAyB,CACvC,IAAIgJ,EAAcC,SAASC,cAAclJ,GAEzC,GAAImE,OAAOgF,mBAAqBH,aAAuB7E,OAAOgF,kBAC5D,IAGEH,EAAcA,EAAYI,gBAAgBC,KAC1C,MAAOC,GAEPN,EAAc,KAIlBF,EAAK9I,GAAUgJ,EAGjB,OAAOF,EAAK9I,IApBA,GAwBZuJ,EAAc,GAElB,SAASC,EAAqBC,GAG5B,IAFA,IAAIC,GAAU,EAELnF,EAAI,EAAGA,EAAIgF,EAAY1F,OAAQU,IACtC,GAAIgF,EAAYhF,GAAGkF,aAAeA,EAAY,CAC5CC,EAASnF,EACT,MAIJ,OAAOmF,EAGT,SAASC,EAAalB,EAAMmB,GAI1B,IAHA,IAAIC,EAAa,GACbC,EAAc,GAETvF,EAAI,EAAGA,EAAIkE,EAAK5E,OAAQU,IAAK,CACpC,IAAI+C,EAAOmB,EAAKlE,GACZsE,EAAKe,EAAQG,KAAOzC,EAAK,GAAKsC,EAAQG,KAAOzC,EAAK,GAClDvF,EAAQ8H,EAAWhB,IAAO,EAC1BY,EAAa,GAAGzB,OAAOa,EAAI,KAAKb,OAAOjG,GAC3C8H,EAAWhB,GAAM9G,EAAQ,EACzB,IAAIiI,EAAQR,EAAqBC,GAC7BQ,EAAM,CACRC,IAAK5C,EAAK,GACV6C,MAAO7C,EAAK,GACZ8C,UAAW9C,EAAK,KAGH,IAAX0C,GACFT,EAAYS,GAAOK,aACnBd,EAAYS,GAAOM,QAAQL,IAE3BV,EAAYzC,KAAK,CACf2C,WAAYA,EACZa,QAASC,EAASN,EAAKL,GACvBS,WAAY,IAIhBP,EAAYhD,KAAK2C,GAGnB,OAAOK,EAGT,SAASU,EAAmBZ,GAC1B,IAAIa,EAAQxB,SAASyB,cAAc,SAC/BC,EAAaf,EAAQe,YAAc,GAEvC,YAAWA,EAAWC,MAAuB,CAC3C,IAAIA,EAAmDvG,KAEnDuG,IACFD,EAAWC,MAAQA,GAQvB,GAJA7F,OAAO8F,KAAKF,GAAYG,SAAQ,SAAUrF,GACxCgF,EAAMM,aAAatF,EAAKkF,EAAWlF,OAGP,mBAAnBmE,EAAQoB,OACjBpB,EAAQoB,OAAOP,OACV,CACL,IAAIzK,EAAS+I,EAAUa,EAAQoB,QAAU,QAEzC,IAAKhL,EACH,MAAM,IAAIiL,MAAM,2GAGlBjL,EAAOkL,YAAYT,GAGrB,OAAOA,EAcT,IACMU,EADFC,GACED,EAAY,GACT,SAAiBnB,EAAOqB,GAE7B,OADAF,EAAUnB,GAASqB,EACZF,EAAUG,OAAOC,SAAShD,KAAK,QAI1C,SAASiD,EAAoBf,EAAOT,EAAOyB,EAAQxB,GACjD,IAAIC,EAAMuB,EAAS,GAAKxB,EAAIE,MAAQ,UAAUnC,OAAOiC,EAAIE,MAAO,MAAMnC,OAAOiC,EAAIC,IAAK,KAAOD,EAAIC,IAIjG,GAAIO,EAAMiB,WACRjB,EAAMiB,WAAWC,QAAUP,EAAYpB,EAAOE,OACzC,CACL,IAAI0B,EAAU3C,SAAS4C,eAAe3B,GAClC4B,EAAarB,EAAMqB,WAEnBA,EAAW9B,IACbS,EAAMsB,YAAYD,EAAW9B,IAG3B8B,EAAWjI,OACb4G,EAAMuB,aAAaJ,EAASE,EAAW9B,IAEvCS,EAAMS,YAAYU,IAKxB,SAASK,EAAWxB,EAAOb,EAASK,GAClC,IAAIC,EAAMD,EAAIC,IACVC,EAAQF,EAAIE,MACZC,EAAYH,EAAIG,UAepB,GAbID,EACFM,EAAMM,aAAa,QAASZ,GAE5BM,EAAMyB,gBAAgB,SAGpB9B,GAA6B,oBAAT1C,OACtBwC,GAAO,uDAAuDlC,OAAON,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUqC,MAAe,QAMlIK,EAAMiB,WACRjB,EAAMiB,WAAWC,QAAUzB,MACtB,CACL,KAAOO,EAAM0B,YACX1B,EAAMsB,YAAYtB,EAAM0B,YAG1B1B,EAAMS,YAAYjC,SAAS4C,eAAe3B,KAI9C,IAAIkC,EAAY,KACZC,EAAmB,EAEvB,SAAS9B,EAASN,EAAKL,GACrB,IAAIa,EACA6B,EACAb,EAEJ,GAAI7B,EAAQwC,UAAW,CACrB,IAAIG,EAAaF,IACjB5B,EAAQ2B,IAAcA,EAAY5B,EAAmBZ,IACrD0C,EAASd,EAAoB9F,KAAK,KAAM+E,EAAO8B,MAC/Cd,EAASD,EAAoB9F,KAAK,KAAM+E,EAAO8B,WAE/C9B,EAAQD,EAAmBZ,GAC3B0C,EAASL,EAAWvG,KAAK,KAAM+E,EAAOb,GAEtC6B,EAAS,YAxFb,SAA4BhB,GAE1B,GAAyB,OAArBA,EAAM+B,WACR,OAAO,EAGT/B,EAAM+B,WAAWT,YAAYtB,GAN/B,CAyFyBA,IAKvB,OADA6B,EAAOrC,GACA,SAAqBwC,GAC1B,GAAIA,EAAQ,CACV,GAAIA,EAAOvC,MAAQD,EAAIC,KAAOuC,EAAOtC,QAAUF,EAAIE,OAASsC,EAAOrC,YAAcH,EAAIG,UACnF,OAGFkC,EAAOrC,EAAMwC,QAEbhB,KAKNnL,EAAOC,QAAU,SAAUkI,EAAMmB,IAC/BA,EAAUA,GAAW,IAGRwC,WAA0C,kBAAtBxC,EAAQwC,YACvCxC,EAAQwC,gBA5NR,IATWtD,IAMTA,EAAOyC,QAAQpH,QAAU8E,UAAYA,SAASyD,MAAQvI,OAAOwI,OAGxD7D,IAgOT,IAAI8D,EAAkBjD,EADtBlB,EAAOA,GAAQ,GAC0BmB,GACzC,OAAO,SAAgBiD,GAGrB,GAFAA,EAAUA,GAAW,GAE2B,mBAA5C9H,OAAO5F,UAAUE,SAASI,KAAKoN,GAAnC,CAIA,IAAK,IAAItI,EAAI,EAAGA,EAAIqI,EAAgB/I,OAAQU,IAAK,CAC/C,IACIyF,EAAQR,EADKoD,EAAgBrI,IAEjCgF,EAAYS,GAAOK,aAKrB,IAFA,IAAIyC,EAAqBnD,EAAakD,EAASjD,GAEtCjD,EAAK,EAAGA,EAAKiG,EAAgB/I,OAAQ8C,IAAM,CAClD,IAEIoG,EAASvD,EAFKoD,EAAgBjG,IAIK,IAAnC4C,EAAYwD,GAAQ1C,aACtBd,EAAYwD,GAAQzC,UAEpBf,EAAYrG,OAAO6J,EAAQ,IAI/BH,EAAkBE,M,gBCpQP,SAASE,EACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBIC,EArBA7D,EAAmC,mBAAlBqD,EACjBA,EAAcrD,QACdqD,EAsDJ,GAnDIC,IACFtD,EAAQsD,OAASA,EACjBtD,EAAQuD,gBAAkBA,EAC1BvD,EAAQ8D,cAINN,IACFxD,EAAQ+D,eAINL,IACF1D,EAAQgE,SAAW,UAAYN,GAI7BC,GACFE,EAAO,SAAUI,IAEfA,EACEA,GACCnO,KAAKoO,QAAUpO,KAAKoO,OAAOC,YAC3BrO,KAAKsO,QAAUtO,KAAKsO,OAAOF,QAAUpO,KAAKsO,OAAOF,OAAOC,aAEZ,oBAAxBE,sBACrBJ,EAAUI,qBAGRZ,GACFA,EAAa5N,KAAKC,KAAMmO,GAGtBA,GAAWA,EAAQK,uBACrBL,EAAQK,sBAAsBC,IAAIZ,IAKtC3D,EAAQwE,aAAeX,GACdJ,IACTI,EAAOD,EACH,WACAH,EAAa5N,KACXC,MACCkK,EAAQ+D,WAAajO,KAAKsO,OAAStO,MAAM2O,MAAMC,SAASC,aAG3DlB,GAGFI,EACF,GAAI7D,EAAQ+D,WAAY,CAGtB/D,EAAQ4E,cAAgBf,EAExB,IAAIgB,EAAiB7E,EAAQsD,OAC7BtD,EAAQsD,OAAS,SAAmCwB,EAAGb,GAErD,OADAJ,EAAKhO,KAAKoO,GACHY,EAAeC,EAAGb,QAEtB,CAEL,IAAIc,EAAW/E,EAAQgF,aACvBhF,EAAQgF,aAAeD,EACnB,GAAG3G,OAAO2G,EAAUlB,GACpB,CAACA,GAIT,MAAO,CACLlN,QAAS0M,EACTrD,QAASA,GA/FbvF,mC,gBCEA/D,EAAOC,QAAU,SAAUsO,EAAKjF,GAS9B,OARKA,IAEHA,EAAU,IAMO,iBAFnBiF,EAAMA,GAAOA,EAAIvJ,WAAauJ,EAAIC,QAAUD,GAGnCA,GAIL,eAAezH,KAAKyH,KAEtBA,EAAMA,EAAI3H,MAAM,GAAI,IAGlB0C,EAAQmF,OAEVF,GAAOjF,EAAQmF,MAKb,cAAc3H,KAAKyH,IAAQjF,EAAQoF,WAC9B,IAAKhH,OAAO6G,EAAI5M,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAG9D4M,K,cChCTvO,EAAOC,QAAUzB,EAAQ,K,gBCAVmQ,0xK,gBAAAA,0lK,gBAAAA,y/J,gBAAAA,85S,cCAf3O,EAAOC,QAAUzB,EAAQ,M,sGCEnBoQ,EAAYC,8BAChBC,eACFC,m32IAAajH,KAAI,YAAI,OAAI8G,EAAUI,eAAetO,EAAKE,OAAQF,EAAKuO,SACpE,IAAM5N,EAAKuN,EAAUM,QAEf7J,EAAIhE,EAAGK,SAAS0D,KAAK/D,GACrByD,EAAIzD,EAAGC,QAAQ8D,KAAK/D,I,cCR1BrB,EAAOC,QAAUzB,EAAQ,K,cCAzBwB,EAAOC,QAAUzB,EAAQ,M,cCAzBwB,EAAOC,QAAUzB,EAAQ,M,eCAzBwB,EAAOC,QAAUzB,EAAQ,K,2DCQZ2Q,IAAIC,IALH,CAEd1E,OAAiB,OACjBoB,eAMesD,IAAQC;;;;;;;;;;;;;;;;;;;;;;;ACgBvBC,WAAShG,QAAQiG,gBAAjBD,yDAAqFE,UAArFF,6EACAA,WAAShG,QAAQmG,eAEFH,YAAf,U,cC/BAtP,EAAOC,QAAUzB,EAAQ,M,gBCAzB,2BAGIkR,EAHJ,SAG0DC,KAE1DD,EAAwBlJ,KAAK,CAACxG,EAAOiE,EAAI,4tDAA6tD,GAAG,CAAC2L,QAAU,EAAE/H,QAAU,CAAC,0BAA0BgI,MAAQ,GAAGC,SAAW,mxBAAmxBC,eAAiB,CAAC,u6FAAu6F/H,WAAa,MAE3hL2G,O,cCPf3O,EAAOC,QAAUzB,EAAQ,M,cCAzBwB,EAAOC,QAAUzB,EAAQ,M,gBCAzBwB,EAAOC,QAAUzB,EAAQ,K,yCC8BVwR,IAPK,SAACzM,GACpB,OAAOb,KAAKuN,SACVlR,SAAS,IACT4C,QAAQ,WAAY,IACpBuO,OAAO,EAAG3M,GAAU,K,cC3BvBvD,EAAOC,QAAUzB,EAAQ,M,gBCAzB,2BAGIkR,EAHJ,SAG0DC,KAE1DD,EAAwBlJ,KAAK,CAACxG,EAAOiE,EAAI,21DAA41D,GAAG,CAAC2L,QAAU,EAAE/H,QAAU,CAAC,2BAA2BgI,MAAQ,GAAGC,SAAW,+wBAA+wBC,eAAiB,CAAC,sqFAAsqF/H,WAAa,MAEt5K2G,O,+CCPf,ICA6LwB,ECuE7L,CACAhQ,eACAiQ,YACAC,S,MAAAA,W,2BClEalB,IAAImB,IALH,CAEd5F,OAAiB,OACjBoB,eAMewE,IAAQjB,O,wCHZV,WAAa,IAAiBkB,EAATnR,KAAgBoR,eAAmBC,EAAnCrR,KAA0CsR,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAjErR,KAAgFuR,GAAhFvR,KAAuFwR,GAAG,CAACC,MAAM,CAACC,qBAAqB,UAAUC,wBAAwB,mBAAmBC,sBAAsB,iBAAiBC,sBAAsB,mBAAmB,WAA5P7R,KAA2Q8R,WAA3Q9R,KAA6R+R,YAAY,CAAzS/R,KAA8SgS,GAAG,WAAjThS,KAAgUiS,GAAG,KAAKZ,EAAG,WAAW,CAACa,KAAK,WAAW,CAAvWlS,KAA4WgS,GAAG,YAAY,IAAI,KAC3Y,M;;;;;;;;;;;;;;;;;;;;;OIuBPG,a,kECgCAC,IA1BM,SAACC,EAAOC,EAASC,GACrC,YAAIF,EAIJ,IAAK,IAAI/H,EAAQ+H,EAAMlO,OAAS,EAAGmG,GAAS,EAAGA,IAAS,CACvD,IAAMkI,EAAOH,EAAM/H,GAEbmI,GAAiBD,EAAKE,kBAAoBF,EAAKG,MAAsC,IAA/BL,EAAQM,QAAQJ,EAAKG,KAC3EE,IAAmBL,EAAKE,kBAAyD,iBAA9BF,EAAKE,iBAAiBC,IACzEG,EAAuBD,IAAkE,IAAhDP,EAAQM,QAAQJ,EAAKE,iBAAiBC,MAGjFF,IAAkBI,GAAkBC,MAGnCL,GAAiBK,IACpBC,IAAIC,KAAKC,KAATF,UAAiBN,EAAgBD,EAAKG,IAAMH,EAAKE,iBAAiBC,IAAlEI,sCAAmGR,EAAG3D,SAAS7N,KAA/GgS,cAAiIR,GAIlIF,EAAM7O,OAAO8G,EAAO,O,gBCnDvB,gFAQIgG,EAA0B4C,IAA4B3C,KACtD4C,EAAqCC,IAAgCC,KACrEC,EAAqCF,IAAgCG,KACrEC,EAAqCJ,IAAgCK,KACrEC,EAAqCN,IAAgCO,KAEzErD,EAAwBlJ,KAAK,CAACxG,EAAOiE,EAAI,yDAA6DsO,EAAqC,aAAeA,EAAqC,qCAAyCG,EAAqC,wBAA4BE,EAAqC,4BAAgCE,EAAqC,mnIAAgsI,GAAG,CAAClD,QAAU,EAAE/H,QAAU,CAAC,iDAAiD,0BAA0B,2CAA2CgI,MAAQ,GAAGC,SAAW,ktCAAktCC,eAAiB,CAAC,6tHAAywH,ouHAAouH,k0DAAk0D/H,WAAa,MAE3we2G,O,yCChBf5K;;;;;;;;;;;;;;;;;;;;;OAuBeiP,YAAf,G,wCCvBA,I,kJC6KA,OACA,eACA,iBACA,cACA,aACA,cACA,eACA,kBACA,aACA,sBCtL6LC,EDmM7L,CACA9S,eAEA+S,YACAC,mBAGA/C,YACAmB,mBAGA6B,OAIAC,MACAC,aACA9E,YAMA+E,WACAD,aACA9E,YAMAgF,WACAF,YACA9E,cAMAiF,SACAH,aACA9E,YAQAkF,aACAJ,YACA9E,iDAMAmF,WACAL,YACA9E,gCAMAoF,WACAN,YACA9E,kBAMAqF,mBACAP,aACA9E,2DAMAsF,WACAR,YACA9E,iBAIA9N,KAvFA,WAwFA,OACAqT,WACAC,iBACAC,aACAC,+BAIAC,0BAIAC,UAKAC,mBALAD,WAMA,8BAOAE,oBAbAF,WAcA,gCACA,gCAMAG,iBArBAH,WAsBA,wBAQAI,YA9BAJ,WA+BA,wBACAhV,iBACA,IAOAqV,mBAxCAL,WAyCA,kEACA,iDACA,oBACA,OACAM,OACAC,2BACAjV,+BACAkV,yCAGA,sBACA,OACAF,iBACAtR,uBACAyR,6BACAD,yCAGA,sBACA,OACAF,YACAE,yCAKA,aAIAE,iBAvEAV,WAwEA,8BACAhV,wCACAA,kDACAA,wDAEA2V,wBA7EAX,WA8EA,2CAEAY,iBAhFAZ,WAiFA,oEACAa,0DACA,mCAIAC,OAEA7B,KAFA6B,SAEA7B,GACA8B,kBAIA/V,iBAGAgW,YArMA,WAuMAhW,mBAGAqF,yCAEA4Q,aA5MA,WAoNAjW,mBACAqF,yCAGA6Q,SAEAC,SAFAD,SAEAC,GACAnW,cAIAA,eAMAA,6BAKAA,mBAEAA,iBAEAoW,UAtBAF,SAsBAE,GACApW,cAIAA,eAMAA,6BAKAA,oBAGAA,eACAA,kBAGAA,gCAGAqW,OAhDAH,SAgDAG,cACArW,2BACAsW,0BASAC,mBA3DAL,SA2DAK,GACA,sCAIA,6BACA,MACA,sBApSA,cAqSA,MACA,IACA1B,E,inBAAAA,CADA,iCAtSA,eAuSAA,WACAA,OACA7U,kBACAA,wBAKAwW,oBA7EAN,WA8EA,iDACAO,GACAA,8BAGAC,YAnFAR,WAqFA,uCAvTA,cAuTA,iBACA,MACAlW,2BACA,6BACA2W,UACAC,GACAA,4BAIAC,oBA/FAX,SA+FAW,GACA7W,cACA,oBAEAA,kBAEAA,uBACAA,mCAEAA,qBAGA8W,gBA3GAZ,SA2GAY,GACA,gBACA,uCA/UA,cA+UA,SACA9W,oBAEAA,kBAEAA,uBACAA,mCAEAA,qBAGA+W,iBAxHAb,SAwHAa,GACA/W,cACAA,uBACAA,kBACAA,qBAGAgX,gBA/HAd,SA+HAc,GACAhX,cACAA,uBACAA,0CApWA,cAoWAA,SACAA,qBAIAiX,eAvIAf,SAuIAe,GACAC,IACAA,mBACAA,sBAMAC,gBAhJAjB,SAgJAiB,GACAnX,uBACAA,0BAGAoX,YArJAlB,WAuJAlW,iG,2BE1iBa+P,IAAIsH,IALH,CAEd/L,OAAiB,OACjBoB,eAMe2K,IAAQpH,O,wCHZV,WACb,IAAIqH,EACAC,EAAIvX,KAASmR,EAAGoG,EAAInG,eAAmBC,EAAGkG,EAAIjG,MAAMD,IAAIF,EAAG,OAAQoG,EAAIrC,sBAAwBqC,EAAIpD,UAAW9C,EAAG,UAAUkG,EAAI/F,GAAG,CAACsC,WAAW,CAAC,CAAC/S,KAAK,UAAUyW,QAAQ,iBAAiB/R,MAAO8R,EAAInC,YAAgB,KAAEqC,WAAW,mBAAmBC,UAAU,CAACC,WAAeC,YAAY,kCAAkCC,MAAM,CAACN,EAAInC,YAAY0C,KAAMP,EAAI3B,kBAAkBnE,MAAM,CAACsG,IAAM,uBAAuBC,GAAGT,EAAIzQ,GAAG,GAAG,CAACyQ,EAAI5B,wBAAwB4B,EAAIJ,mBAAmB,UAAUI,EAAIlC,uBAA0B,CAAChE,EAAG,OAAO,CAACI,MAAM,CAACwG,iBAAmBC,OAAS,KAAK,CAACX,EAAIvF,GAAG,YAAY,KAAKX,EAAG,MAAM,CAACyC,WAAW,CAAC,CAAC/S,KAAK,OAAOyW,QAAQ,SAAS/R,MAAO8R,EAAItC,oBAAsBsC,EAAIpD,UAAWsD,WAAW,oCAAoCG,YAAY,cAAcC,MAAM,CAACM,oBAAqBZ,EAAI3C,SAAS,CAACvD,EAAG,UAAU,CAACI,MAAM,CAAC2G,MAAQ,EAAEC,mBAAqBpE,KAAOsD,EAAI3C,OAAOJ,UAAY+C,EAAI/C,UAAU8D,qBAAqBf,EAAI9C,kBAAkBC,UAAY6C,EAAI7C,WAAWsD,GAAG,CAACO,cAAc,SAASC,GAAQjB,EAAI3C,OAAO4D,GAAQC,KAAOlB,EAAIpB,SAASuC,aAAanB,EAAIlB,OAAOsC,KAAOpB,EAAInB,YAAY,CAAC/E,EAAG,SAAS,CAACuH,IAAI,aAAahB,YAAY,+BAA+BC,OAAQP,EAAO,GAAIA,EAAKC,EAAIjD,gBAAqBgD,EAAK,uCAA0CC,EAAInD,UAAWkD,EAAK,oCAAuCC,EAAIlD,QAASiD,GAAO7F,MAAM,CAACS,KAAO,UAAUsD,aAAa+B,EAAIhD,UAAUsE,gBAAgB,OAAOC,gBAAgBvB,EAAIzC,SAASiE,YAAY,IAAIC,gBAAgBzB,EAAI3C,OAAS,OAAS,SAAS1C,KAAK,WAAW,CAACqF,EAAItF,GAAG,WAAWsF,EAAIvQ,GAAGuQ,EAAInD,WAAW,YAAYmD,EAAItF,GAAG,KAAKZ,EAAG,MAAM,CAACyC,WAAW,CAAC,CAAC/S,KAAK,OAAOyW,QAAQ,SAAS/R,MAAO8R,EAAU,OAAEE,WAAW,WAAWmB,IAAI,OAAOf,MAAM,CAAE5D,KAAMsD,EAAI3C,QAASnD,MAAM,CAACwH,SAAW,MAAMjB,GAAG,CAACkB,QAAU,CAAC,SAASV,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,KAAK,GAAGZ,EAAOzS,IAAI,CAAC,KAAK,aAA+ByS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,KAAgGjC,EAAIV,oBAAoB2B,IAAS,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,OAAO,GAAGZ,EAAOzS,IAAI,CAAC,OAAO,eAAiCyS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,KAAgGjC,EAAIT,gBAAgB0B,IAAS,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,MAAM,EAAEZ,EAAOzS,IAAI,QAA0ByS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,KAAgGjC,EAAIT,gBAAgB0B,IAAS,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,MAAM,EAAEZ,EAAOzS,IAAI,OAAgB,KAAWyS,EAAOc,SAA4Bd,EAAOa,SAASb,EAAOe,QAAQf,EAAOgB,QAAiB,KAAcjC,EAAIV,oBAAoB2B,GAAvG,MAAgH,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,iBAAoBZ,EAAOzS,aAAkCyS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,KAAgGjC,EAAIR,iBAAiByB,IAAS,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,mBAAsBZ,EAAOzS,aAAkCyS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,KAAgGjC,EAAIP,gBAAgBwB,IAAS,SAASA,GAAQ,OAAIA,EAAOtE,KAAKtB,QAAQ,QAAQ2E,EAAI4B,GAAGX,EAAOY,QAAQ,MAAM,GAAGZ,EAAOzS,IAAI,CAAC,MAAM,YAA8ByS,EAAOa,SAASb,EAAOc,UAAUd,EAAOe,QAAQf,EAAOgB,QAAjE,MAAyFhB,EAAOiB,iBAAwBlC,EAAInB,UAAUoC,MAAUkB,UAAYnC,EAAIhB,qBAAqB,CAAClF,EAAG,KAAK,CAACI,MAAM,CAACtI,GAAKoO,EAAIzC,SAASmE,SAAW,OAAO,CAAE1B,EAAU,OAAE,CAACA,EAAIvF,GAAG,YAAYuF,EAAIxQ,MAAM,QAAQ,KAC9hH,M,mFIHtBnG,EAAOC,QAAUzB,EAAQ,M,iCCAzBwB,EAAOC,QAAUzB,EAAQ,StCCF,YAAZyB,IAA0C,YAAXD,GACxCA,EAAOC,QAAU2D,KAEjBmV,EAA6B,QAA7BA,iE,8EAJ+CnV,E,qOAS9CC,OAT8CD,EAStC,WACX,O,YCTE,IAAIE,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAU/D,QAGnC,IAAID,EAAS8D,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,KACAjE,QAAS,IAUV,OANAkE,EAAQH,GAAU7E,KAAKa,EAAOC,QAASD,EAAQA,EAAOC,QAAS8D,GAG/D/D,EAAOkE,KAGAlE,EAAOC,QA0Df,OArDA8D,EAAoBK,EAAID,EAGxBJ,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAASrE,EAASE,EAAMoE,GAC3CR,EAAoBS,EAAEvE,EAASE,IAClCsE,OAAOhG,eAAewB,EAASE,EAAM,CAAEuE,cAAkBxF,IAAKqF,KAKhER,EAAoB9C,EAAI,SAAShB,GACX,oBAAX0E,QAA0BA,OAAOC,aAC1CH,OAAOhG,eAAewB,EAAS0E,OAAOC,YAAa,CAAEC,MAAO,WAE7DJ,OAAOhG,eAAewB,EAAS,aAAc,CAAE4E,YAQhDd,EAAoBe,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQd,EAAoBc,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,YAAVF,IAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKR,OAAOS,OAAO,MAGvB,GAFAnB,EAAoB9C,EAAEgE,GACtBR,OAAOhG,eAAewG,EAAI,UAAW,CAAEP,cAAkBG,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOd,EAAoBO,EAAEW,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRlB,EAAoBsB,EAAI,SAASrF,GAChC,IAAIuE,EAASvE,GAAUA,EAAOgF,WAC7B,WAAwB,OAAOhF,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADA+D,EAAoBO,EAAEC,EAAQ,IAAKA,GAC5BA,GAIRR,EAAoBS,EAAI,SAASc,EAAQC,GAAY,OAAOd,OAAO5F,UAAU2G,eAAerG,KAAKmG,EAAQC,IAGzGxB,EAAoB0B,EAAI,SAIjB1B,EAAoBA,EAAoB2B,EAAI,I,oBChFrD,SAASC,EAAeC,EAAK3B,GAAK,OAUlC,SAAyB2B,GAAO,GAAIC,MAAMC,QAAQF,GAAM,OAAOA,EAA/D,CAVyDA,IAQzD,SAA+BA,EAAK3B,GAAK,GAAsB,oBAAXU,QAA4BA,OAAOoB,YAAYtB,OAAOmB,GAAjE,CAAgF,IAAII,EAAO,GAAQC,KAAeC,KAAgBC,SAAgB,IAAM,IAAK,IAAiCC,EAA7BC,EAAKT,EAAIjB,OAAOoB,cAAmBE,GAAMG,EAAKC,EAAGC,QAAQC,QAAoBP,EAAKQ,KAAKJ,EAAGvB,QAAYZ,GAAK+B,EAAKzC,SAAWU,GAA3DgC,OAAyE,MAAOQ,GAAOP,KAAWC,EAAKM,EAAtL,QAAuM,IAAWR,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAAlD,QAAmE,GAAIH,EAAI,MAAMC,GAAQ,OAAOH,GAAle,CARuFJ,EAAK3B,IAI5F,SAAqCO,EAAGkC,GAAU,GAAKlC,EAAL,CAAgB,GAAiB,iBAANA,EAAgB,OAAOmC,EAAkBnC,EAAGkC,GAAS,IAAIrB,EAAIZ,OAAO5F,UAAUE,SAASI,KAAKqF,GAAGoC,MAAM,GAAI,GAAiE,MAAnD,WAANvB,GAAkBb,EAAEqC,cAAaxB,EAAIb,EAAEqC,YAAY1G,MAAgB,QAANkF,GAAqB,QAANA,EAAoBQ,MAAM1C,KAAKqB,GAAc,cAANa,GAAqB,2CAA2CyB,KAAKzB,GAAWsB,EAAkBnC,EAAGkC,QAAzG,GAA7S,CAJ8Hd,EAAK3B,IAEnI,WAA8B,MAAM,IAAIN,UAAU,6IAAlD,GAIA,SAASgD,EAAkBf,EAAKtC,IAAkB,MAAPA,GAAeA,EAAMsC,EAAIrC,UAAQD,EAAMsC,EAAIrC,QAAQ,IAAK,IAAIU,EAAI,EAAG8C,EAAO,IAAIlB,MAAMvC,GAAMW,EAAIX,EAAKW,IAAO8C,EAAK9C,GAAK2B,EAAI3B,GAAM,OAAO8C,EAMhL/G,EAAOC,QAAU,SAAgC+G,GAC/C,IAAIC,EAAQtB,EAAeqB,EAAM,GAC7BE,EAAUD,EAAM,GAChBE,EAAaF,EAAM,GAEvB,GAAoB,mBAATG,KAAqB,CAE9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDzG,EAAO,+DAA+DgH,OAAOL,GAC7EM,EAAgB,OAAOD,OAAOhH,EAAM,OACpCkH,EAAaT,EAAWU,QAAQC,KAAI,SAAUC,GAChD,MAAO,iBAAiBL,OAAOP,EAAWa,YAAc,IAAIN,OAAOK,EAAQ,UAE7E,MAAO,CAACb,GAASQ,OAAOE,GAAYF,OAAO,CAACC,IAAgBM,KAAK,MAGnE,MAAO,CAACf,GAASe,KAAK,Q,kBCtBxBjI,EAAOC,QAAU,SAAUiI,GACzB,IAAIC,EAAO,GAuDX,OArDAA,EAAKpJ,SAAW,WACd,OAAOK,KAAK0I,KAAI,SAAUd,GACxB,IAAIE,EAAUgB,EAAuBlB,GAErC,OAAIA,EAAK,GACA,UAAUU,OAAOV,EAAK,GAAI,MAAMU,OAAOR,EAAS,KAGlDA,KACNe,KAAK,KAKVE,EAAKlE,EAAI,SAAUE,EAASiE,EAAYC,GACf,iBAAZlE,IAETA,EAAU,CAAC,CAAC,KAAMA,EAAS,MAG7B,IAAImE,EAAyB,GAE7B,GAAID,EACF,IAAK,IAAIpE,EAAI,EAAGA,EAAI7E,KAAKmE,OAAQU,IAAK,CAEpC,IAAIsE,EAAKnJ,KAAK6E,GAAG,GAEP,MAANsE,IACFD,EAAuBC,OAK7B,IAAK,IAAIlC,EAAK,EAAGA,EAAKlC,EAAQZ,OAAQ8C,IAAM,CAC1C,IAAIW,EAAO,GAAGU,OAAOvD,EAAQkC,IAEzBgC,GAAUC,EAAuBtB,EAAK,MAKtCoB,IACGpB,EAAK,GAGRA,EAAK,GAAK,GAAGU,OAAOU,EAAY,SAASV,OAAOV,EAAK,IAFrDA,EAAK,GAAKoB,GAMdD,EAAK3B,KAAKQ,MAIPmB,I,iBQhETnI,EAAOC,QAAUzB,EAAQ,K,kBPEzB,IACMgK,EAeFC,EAAY,WACd,IAAID,EAAO,GACX,OAAO,SAAkB9I,GACvB,YAAW8I,EAAK9I,GAAyB,CACvC,IAAIgJ,EAAcC,SAASC,cAAclJ,GAEzC,GAAImE,OAAOgF,mBAAqBH,aAAuB7E,OAAOgF,kBAC5D,IAGEH,EAAcA,EAAYI,gBAAgBC,KAC1C,MAAOC,GAEPN,EAAc,KAIlBF,EAAK9I,GAAUgJ,EAGjB,OAAOF,EAAK9I,IApBA,GAwBZuJ,EAAc,GAElB,SAASC,EAAqBC,GAG5B,IAFA,IAAIC,GAAU,EAELnF,EAAI,EAAGA,EAAIgF,EAAY1F,OAAQU,IACtC,GAAIgF,EAAYhF,GAAGkF,aAAeA,EAAY,CAC5CC,EAASnF,EACT,MAIJ,OAAOmF,EAGT,SAASC,EAAalB,EAAMmB,GAI1B,IAHA,IAAIC,EAAa,GACbC,EAAc,GAETvF,EAAI,EAAGA,EAAIkE,EAAK5E,OAAQU,IAAK,CACpC,IAAI+C,EAAOmB,EAAKlE,GACZsE,EAAKe,EAAQG,KAAOzC,EAAK,GAAKsC,EAAQG,KAAOzC,EAAK,GAClDvF,EAAQ8H,EAAWhB,IAAO,EAC1BY,EAAa,GAAGzB,OAAOa,EAAI,KAAKb,OAAOjG,GAC3C8H,EAAWhB,GAAM9G,EAAQ,EACzB,IAAIiI,EAAQR,EAAqBC,GAC7BQ,EAAM,CACRC,IAAK5C,EAAK,GACV6C,MAAO7C,EAAK,GACZ8C,UAAW9C,EAAK,KAGH,IAAX0C,GACFT,EAAYS,GAAOK,aACnBd,EAAYS,GAAOM,QAAQL,IAE3BV,EAAYzC,KAAK,CACf2C,WAAYA,EACZa,QAASC,EAASN,EAAKL,GACvBS,WAAY,IAIhBP,EAAYhD,KAAK2C,GAGnB,OAAOK,EAGT,SAASU,EAAmBZ,GAC1B,IAAIa,EAAQxB,SAASyB,cAAc,SAC/BC,EAAaf,EAAQe,YAAc,GAEvC,YAAWA,EAAWC,MAAuB,CAC3C,IAAIA,EAAmDvG,KAEnDuG,IACFD,EAAWC,MAAQA,GAQvB,GAJA7F,OAAO8F,KAAKF,GAAYG,SAAQ,SAAUrF,GACxCgF,EAAMM,aAAatF,EAAKkF,EAAWlF,OAGP,mBAAnBmE,EAAQoB,OACjBpB,EAAQoB,OAAOP,OACV,CACL,IAAIzK,EAAS+I,EAAUa,EAAQoB,QAAU,QAEzC,IAAKhL,EACH,MAAM,IAAIiL,MAAM,2GAGlBjL,EAAOkL,YAAYT,GAGrB,OAAOA,EAcT,IACMU,EADFC,GACED,EAAY,GACT,SAAiBnB,EAAOqB,GAE7B,OADAF,EAAUnB,GAASqB,EACZF,EAAUG,OAAOC,SAAShD,KAAK,QAI1C,SAASiD,EAAoBf,EAAOT,EAAOyB,EAAQxB,GACjD,IAAIC,EAAMuB,EAAS,GAAKxB,EAAIE,MAAQ,UAAUnC,OAAOiC,EAAIE,MAAO,MAAMnC,OAAOiC,EAAIC,IAAK,KAAOD,EAAIC,IAIjG,GAAIO,EAAMiB,WACRjB,EAAMiB,WAAWC,QAAUP,EAAYpB,EAAOE,OACzC,CACL,IAAI0B,EAAU3C,SAAS4C,eAAe3B,GAClC4B,EAAarB,EAAMqB,WAEnBA,EAAW9B,IACbS,EAAMsB,YAAYD,EAAW9B,IAG3B8B,EAAWjI,OACb4G,EAAMuB,aAAaJ,EAASE,EAAW9B,IAEvCS,EAAMS,YAAYU,IAKxB,SAASK,EAAWxB,EAAOb,EAASK,GAClC,IAAIC,EAAMD,EAAIC,IACVC,EAAQF,EAAIE,MACZC,EAAYH,EAAIG,UAepB,GAbID,EACFM,EAAMM,aAAa,QAASZ,GAE5BM,EAAMyB,gBAAgB,SAGpB9B,GAA6B,oBAAT1C,OACtBwC,GAAO,uDAAuDlC,OAAON,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUqC,MAAe,QAMlIK,EAAMiB,WACRjB,EAAMiB,WAAWC,QAAUzB,MACtB,CACL,KAAOO,EAAM0B,YACX1B,EAAMsB,YAAYtB,EAAM0B,YAG1B1B,EAAMS,YAAYjC,SAAS4C,eAAe3B,KAI9C,IAAIkC,EAAY,KACZC,EAAmB,EAEvB,SAAS9B,EAASN,EAAKL,GACrB,IAAIa,EACA6B,EACAb,EAEJ,GAAI7B,EAAQwC,UAAW,CACrB,IAAIG,EAAaF,IACjB5B,EAAQ2B,IAAcA,EAAY5B,EAAmBZ,IACrD0C,EAASd,EAAoB9F,KAAK,KAAM+E,EAAO8B,MAC/Cd,EAASD,EAAoB9F,KAAK,KAAM+E,EAAO8B,WAE/C9B,EAAQD,EAAmBZ,GAC3B0C,EAASL,EAAWvG,KAAK,KAAM+E,EAAOb,GAEtC6B,EAAS,YAxFb,SAA4BhB,GAE1B,GAAyB,OAArBA,EAAM+B,WACR,OAAO,EAGT/B,EAAM+B,WAAWT,YAAYtB,GAN/B,CAyFyBA,IAKvB,OADA6B,EAAOrC,GACA,SAAqBwC,GAC1B,GAAIA,EAAQ,CACV,GAAIA,EAAOvC,MAAQD,EAAIC,KAAOuC,EAAOtC,QAAUF,EAAIE,OAASsC,EAAOrC,YAAcH,EAAIG,UACnF,OAGFkC,EAAOrC,EAAMwC,QAEbhB,KAKNnL,EAAOC,QAAU,SAAUkI,EAAMmB,IAC/BA,EAAUA,GAAW,IAGRwC,WAA0C,kBAAtBxC,EAAQwC,YACvCxC,EAAQwC,gBA5NR,IATWtD,IAMTA,EAAOyC,QAAQpH,QAAU8E,UAAYA,SAASyD,MAAQvI,OAAOwI,OAGxD7D,IAgOT,IAAI8D,EAAkBjD,EADtBlB,EAAOA,GAAQ,GAC0BmB,GACzC,OAAO,SAAgBiD,GAGrB,GAFAA,EAAUA,GAAW,GAE2B,mBAA5C9H,OAAO5F,UAAUE,SAASI,KAAKoN,GAAnC,CAIA,IAAK,IAAItI,EAAI,EAAGA,EAAIqI,EAAgB/I,OAAQU,IAAK,CAC/C,IACIyF,EAAQR,EADKoD,EAAgBrI,IAEjCgF,EAAYS,GAAOK,aAKrB,IAFA,IAAIyC,EAAqBnD,EAAakD,EAASjD,GAEtCjD,EAAK,EAAGA,EAAKiG,EAAgB/I,OAAQ8C,IAAM,CAClD,IAEIoG,EAASvD,EAFKoD,EAAgBjG,IAIK,IAAnC4C,EAAYwD,GAAQ1C,aACtBd,EAAYwD,GAAQzC,UAEpBf,EAAYrG,OAAO6J,EAAQ,IAI/BH,EAAkBE,M,iBgB1QtBxM,EAAOC,QAAUzB,EAAQ,M,iBmBAzBwB,EAAOC,QAAUzB,EAAQ,M,kBlCMV,SAASkO,EACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBIC,EArBA7D,EAAmC,mBAAlBqD,EACjBA,EAAcrD,QACdqD,EAsDJ,GAnDIC,IACFtD,EAAQsD,OAASA,EACjBtD,EAAQuD,gBAAkBA,EAC1BvD,EAAQ8D,cAINN,IACFxD,EAAQ+D,eAINL,IACF1D,EAAQgE,SAAW,UAAYN,GAI7BC,GACFE,EAAO,SAAUI,IAEfA,EACEA,GACCnO,KAAKoO,QAAUpO,KAAKoO,OAAOC,YAC3BrO,KAAKsO,QAAUtO,KAAKsO,OAAOF,QAAUpO,KAAKsO,OAAOF,OAAOC,aAEZ,oBAAxBE,sBACrBJ,EAAUI,qBAGRZ,GACFA,EAAa5N,KAAKC,KAAMmO,GAGtBA,GAAWA,EAAQK,uBACrBL,EAAQK,sBAAsBC,IAAIZ,IAKtC3D,EAAQwE,aAAeX,GACdJ,IACTI,EAAOD,EACH,WACAH,EAAa5N,KACXC,MACCkK,EAAQ+D,WAAajO,KAAKsO,OAAStO,MAAM2O,MAAMC,SAASC,aAG3DlB,GAGFI,EACF,GAAI7D,EAAQ+D,WAAY,CAGtB/D,EAAQ4E,cAAgBf,EAExB,IAAIgB,EAAiB7E,EAAQsD,OAC7BtD,EAAQsD,OAAS,SAAmCwB,EAAGb,GAErD,OADAJ,EAAKhO,KAAKoO,GACHY,EAAeC,EAAGb,QAEtB,CAEL,IAAIc,EAAW/E,EAAQgF,aACvBhF,EAAQgF,aAAeD,EACnB,GAAG3G,OAAO2G,EAAUlB,GACpB,CAACA,GAIT,MAAO,CACLlN,QAAS0M,EACTrD,QAASA,GA/FbvF,mC,iBmCAA/D,EAAOC,QAAUzB,EAAQ,K,iBCAzBwB,EAAOC,QAAUzB,EAAQ,M,iBCAzBwB,EAAOC,QAAUzB,EAAQ,M;;;;;;;;;;;;;;;;;;;;;SCwBVmQ,KACdqK,OADcrK,WAIRvP,KAAK6Z,OAAOzK,SAAgC,KAArBpP,KAAK8Z,KAAKzZ,SACrC0S,IAAIC,KAAKC,KAATF,UAAiB/S,KAAK4O,SAAS7N,KAA/BgS,2DAA8F/S,MAC9FA,KAAK+Z,WACL/Z,KAAKga,IAAIjO,WAIXkK,aAXc1G,WAYbvP,KAAK8Z,KAAO9Z,KAAKia,WAGlB3Y,KAfciO,WAgBb,MAAO,CAGNuK,KAAM9Z,KAAKia,YAIbjF,SAAU,CACTkF,WADS,WAER,OAAOla,KAAK8Z,MAAQ9Z,KAAK8Z,KAAKzZ,OAAO8D,OAAS,KAIhD+R,QAAS,CACR+D,QADQ,WAEP,OAAOja,KAAK6Z,OAAOzK,QAAUpP,KAAK6Z,OAAOzK,QAAQ,GAAG0K,KAAKzZ,OAAS,O,iBCvDrEO,EAAOC,QAAUzB,EAAQ,M,6DCwCV+a,G,MAVG,SAAShM,EAASpN,GAEnC,IADA,IAAIuN,EAASH,EAAQiM,QACd9L,GAAQ,CACd,GAAIA,EAAOM,SAAS7N,OAASA,EAC5B,OAAOuN,EAERA,EAASA,EAAO8L,WCXH7K,KACd8K,OAAQ,CAACC,KACTtG,MAAO,CAIN8D,KAAM,CACL5D,KAAMqG,OACNnL,QAAS,IAKVoL,MAAO,CACNtG,KAAMqG,OACNnL,QAAS,IAKVqL,gBAAiB,CAChBvG,KAAMrI,QACNuD,YAKDmF,UAAW,CACVL,KAAMqG,OACNnL,QAAS,KAIX4F,SAAU,CACT0F,UADS,WAER,IACC,OAAO,IAAIC,IAAI3a,KAAK8X,MACnB,MAAO5X,GACR,YAKHgW,QAAS,CACR0E,QADQ,SACA1D,GAOP,GAFAlX,KAAK6a,MAAM,QAAS3D,GAEhBlX,KAAKya,gBAAiB,CACzB,IAAMnM,EAAS6L,EAAUna,KAAM,WAC3BsO,GAAUA,EAAO8H,WACpB9H,EAAO8H,iB,gBvC/EZxV,EAAOC,QAAUzB,EAAQ,K,mBwCAzB,2BAGIkR,EAHJ,SAG0DC,KAE1DD,EAAwBlJ,KAAK,CAACxG,EAAOiE,EAAI,g9CAAi9C,GAAG,CAAC2L,QAAU,EAAE/H,QAAU,CAAC,uCAAuC,2CAA2CgI,MAAQ,GAAGC,SAAW,urBAAurBC,eAAiB,CAAC,86FAA86F,k0DAAk0D/H,WAAa,MAEpjO2G,O,sCCPf,ICAkMuL,EC+HlM,CACA/Z,oBAEAsZ,Q,MAAAA,GAEArG,OAIA+G,UACA7G,aACA9E,aAGA4F,UAKAgG,YALAhG,WAMA,wB,2BC3IajF,IAAIkL,IALH,CAEd3P,OAAiB,OACjBoB,eAMeuO,IAAQhL,O,wCHZV,WAAa,IAAIsH,EAAIvX,KAASmR,EAAGoG,EAAInG,eAAmBC,EAAGkG,EAAIjG,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACuG,YAAY,SAASC,MAAM,CAAEqD,mBAAoB3D,EAAIwD,WAAY,CAAC1J,EAAG,SAAS,CAACuG,YAAY,gBAAgBC,MAAM,CAAEsD,UAAW5D,EAAIyD,aAAcvJ,MAAM,CAAC+D,aAAa+B,EAAIhD,WAAWyD,GAAG,CAACoD,MAAQ7D,EAAIqD,UAAU,CAACrD,EAAIvF,GAAG,OAAO,CAACX,EAAG,OAAO,CAACuG,YAAY,sBAAsBC,MAAM,CAACN,EAAImD,UAAY,2BAA6BnD,EAAIO,MAAM/M,MAAM,CAAGsQ,gBAAiB9D,EAAImD,UAAa,OAASnD,EAAIO,KAAO,IAAO,UAAYP,EAAItF,GAAG,KAAMsF,EAAS,MAAElG,EAAG,IAAI,CAACA,EAAG,SAAS,CAACuG,YAAY,wBAAwB,CAACL,EAAItF,GAAG,aAAasF,EAAIvQ,GAAGuQ,EAAIiD,OAAO,cAAcjD,EAAItF,GAAG,KAAKZ,EAAG,MAAMkG,EAAItF,GAAG,KAAKZ,EAAG,OAAO,CAACuG,YAAY,0BAA0B0D,SAAS,CAACC,YAAchE,EAAIvQ,GAAGuQ,EAAIuC,WAAYvC,EAAc,WAAElG,EAAG,IAAI,CAACuG,YAAY,0BAA0B0D,SAAS,CAACC,YAAchE,EAAIvQ,GAAGuQ,EAAIuC,SAASzI,EAAG,OAAO,CAACuG,YAAY,uBAAuB,CAACL,EAAItF,GAAGsF,EAAIvQ,GAAGuQ,EAAIuC,SAASvC,EAAItF,GAAG,KAA+BsF,EAAIxQ,MAAM,OACx9B,M,uFIDtBpC;;;;;;;;;;;;;;;;;;;;;SAuBe6W,YAAf,MpDtBuB,YAAZ3a,IAA0C,YAAXD,GACxCA,EAAOC,QAAU2D,KAEjBmV,EAAkC,QAAlCA,iE,uDqDJF,SAAS8B,EAASC,GAChB,MAA6B,mBAAlBA,EAAQjW,QACjBkW,QAAQ1I,KAAK,2CAA4CyI,EAAQjE,WAAY,uBACtE,GA0BX,SAASmE,EAASC,GAChB,YAA0C,IAA5BA,EAAMC,mBAAqCD,EAAMC,kBAAkBC,UAGzEnb,EAAOC,QAAU,CACzBmF,KAAM,SAAUgW,EAAIN,EAASG,GAC3B,GAAKJ,EAASC,GAAd,CAgBAM,EAAGC,oBAAsB,CACvBC,QAASA,EACTC,SAAUT,EAAQjW,OAEpB,IAAM2W,EAAe,iBAAkB7S,SAAS8S,gBAAkB,aAAe,SAChFT,EAASC,IAAUtS,SAAS+S,iBAAiBF,EAAcF,GAlB5D,SAASA,EAAQtS,GACf,GAAKiS,EAAM1N,QAAX,CAGA,IAAIoO,EAAW3S,EAAE4S,MAAS5S,EAAE6S,cAAgB7S,EAAE6S,eAC9CF,GAAYA,EAASpY,OAAS,GAAKoY,EAASG,QAAQ9S,EAAEtJ,QAElD0b,EAAGW,SAAS/S,EAAEtJ,SApCxB,SAAiBsc,EAAWL,GAC1B,IAAKK,IAAcL,EACjB,OAAO,EAET,IAAK,IAAI1X,EAAI,EAAGX,EAAMqY,EAASpY,OAAQU,EAAIX,EAAKW,IAC9C,IACE,GAAI+X,EAAUD,SAASJ,EAAS1X,IAC9B,OAAO,EAET,GAAI0X,EAAS1X,GAAG8X,SAASC,GACvB,OAAO,EAET,MAAMhT,GACN,OAAO,EAIX,OAAO,EAmB0BiT,CAAQhB,EAAM1N,QAAQyO,UAAWL,IAE9DP,EAAGC,oBAAoBE,SAASvS,MAYpCgD,OAAQ,SAAUoP,EAAIN,GAChBD,EAASC,KAAUM,EAAGC,oBAAoBE,SAAWT,EAAQjW,QAGnEqX,OAAQ,SAAUd,EAAIN,EAASG,GAE7B,IAAMO,EAAe,iBAAkB7S,SAAS8S,gBAAkB,aAAe,SAChFT,EAASC,IAAUG,EAAGC,qBAAuB1S,SAASwT,oBAAoBX,EAAcJ,EAAGC,oBAAoBC,gBACzGF,EAAGC","file":"vendors~editor-rich.js?v=7094080ac02fd64c892d","sourcesContent":["var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n  defineProperty(FunctionPrototype, NAME, {\n    configurable: true,\n    get: function () {\n      try {\n        return FunctionPrototypeToString.call(this).match(nameRE)[1];\n      } catch (error) {\n        return '';\n      }\n    }\n  });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n  });\n};\n","import GetText from \"node-gettext\"\n\nimport { getLanguage } from \".\"\n\nclass GettextBuilder {\n\n    private locale?: string\n    private translations = {}\n    private debug = false\n\n    setLanguage(language: string): GettextBuilder {\n        this.locale = language\n        return this\n    }\n\n    detectLocale(): GettextBuilder {\n        return this.setLanguage(getLanguage().replace('-', '_'))\n    }\n\n    addTranslation(language: string, data: any): GettextBuilder {\n        this.translations[language] = data\n        return this\n    }\n\n    enableDebugMode(): GettextBuilder {\n        this.debug = true\n        return this\n    }\n\n    build(): GettextWrapper {\n        return new GettextWrapper(this.locale || 'en', this.translations, this.debug)\n    }\n\n}\n\nclass GettextWrapper {\n\n    private gt: GetText\n\n    constructor(locale: string, data: any, debug: boolean) {\n        this.gt = new GetText({\n            debug,\n            sourceLocale: 'en',\n        })\n\n        for (let key in data) {\n            this.gt.addTranslations(key, 'messages', data[key])\n        }\n\n        this.gt.setLocale(locale)\n    }\n\n    private subtitudePlaceholders(translated: string, vars: object): string {\n        return translated.replace(/{([^{}]*)}/g, (a, b) => {\n            const r = vars[b]\n            if (typeof r === 'string' || typeof r === 'number') {\n                return r.toString()\n            } else {\n                return a\n            }\n        })\n    }\n\n    gettext(original: string, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.gettext(original),\n            placeholders\n        )\n    }\n\n    ngettext(singular: string, plural: string, count: number, placeholders: object = {}): string {\n        return this.subtitudePlaceholders(\n            this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()),\n            placeholders\n        )\n    }\n\n}\n\nexport function getGettextBuilder() {\n    return new GettextBuilder()\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n  splice: function splice(start, deleteCount /* , ...items */) {\n    var O = toObject(this);\n    var len = toLength(O.length);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var insertCount, actualDeleteCount, A, k, from, to;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n    }\n    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n    }\n    A = arraySpeciesCreate(O, actualDeleteCount);\n    for (k = 0; k < actualDeleteCount; k++) {\n      from = actualStart + k;\n      if (from in O) createProperty(A, k, O[from]);\n    }\n    A.length = actualDeleteCount;\n    if (insertCount < actualDeleteCount) {\n      for (k = actualStart; k < len - actualDeleteCount; k++) {\n        from = k + actualDeleteCount;\n        to = k + insertCount;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n    } else if (insertCount > actualDeleteCount) {\n      for (k = len - actualDeleteCount; k > actualStart; k--) {\n        from = k + actualDeleteCount - 1;\n        to = k + insertCount - 1;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n    }\n    for (k = 0; k < insertCount; k++) {\n      O[k + actualStart] = arguments[k + 2];\n    }\n    O.length = len - actualDeleteCount + insertCount;\n    return A;\n  }\n});\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Components/ActionButton\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Components/ActionButton\"] = factory();\n\telse\n\t\troot[\"NextcloudVue\"] = root[\"NextcloudVue\"] || {}, root[\"NextcloudVue\"][\"Components/ActionButton\"] = factory();\n})(window, function() {\nreturn "," \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 = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 98);\n","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n  var _item = _slicedToArray(item, 4),\n      content = _item[1],\n      cssMapping = _item[3];\n\n  if (typeof btoa === 'function') {\n    // eslint-disable-next-line no-undef\n    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n    var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n    var sourceMapping = \"/*# \".concat(data, \" */\");\n    var sourceURLs = cssMapping.sources.map(function (source) {\n      return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n    });\n    return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n  }\n\n  return [content].join('\\n');\n};","\"use strict\";\n\n/*\n  MIT License http://www.opensource.org/licenses/mit-license.php\n  Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n  var list = []; // return the list of modules as css string\n\n  list.toString = function toString() {\n    return this.map(function (item) {\n      var content = cssWithMappingToString(item);\n\n      if (item[2]) {\n        return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n      }\n\n      return content;\n    }).join('');\n  }; // import a list of modules into the list\n  // eslint-disable-next-line func-names\n\n\n  list.i = function (modules, mediaQuery, dedupe) {\n    if (typeof modules === 'string') {\n      // eslint-disable-next-line no-param-reassign\n      modules = [[null, modules, '']];\n    }\n\n    var alreadyImportedModules = {};\n\n    if (dedupe) {\n      for (var i = 0; i < this.length; i++) {\n        // eslint-disable-next-line prefer-destructuring\n        var id = this[i][0];\n\n        if (id != null) {\n          alreadyImportedModules[id] = true;\n        }\n      }\n    }\n\n    for (var _i = 0; _i < modules.length; _i++) {\n      var item = [].concat(modules[_i]);\n\n      if (dedupe && alreadyImportedModules[item[0]]) {\n        // eslint-disable-next-line no-continue\n        continue;\n      }\n\n      if (mediaQuery) {\n        if (!item[2]) {\n          item[2] = mediaQuery;\n        } else {\n          item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n        }\n      }\n\n      list.push(item);\n    }\n  };\n\n  return list;\n};","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n  var memo;\n  return function memorize() {\n    if (typeof memo === 'undefined') {\n      // Test for IE <= 9 as proposed by Browserhacks\n      // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n      // Tests for existence of standard globals is to allow style-loader\n      // to operate correctly into non-standard environments\n      // @see https://github.com/webpack-contrib/style-loader/issues/177\n      memo = Boolean(window && document && document.all && !window.atob);\n    }\n\n    return memo;\n  };\n}();\n\nvar getTarget = function getTarget() {\n  var memo = {};\n  return function memorize(target) {\n    if (typeof memo[target] === 'undefined') {\n      var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n      if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n        try {\n          // This will throw an exception if access to iframe is blocked\n          // due to cross-origin restrictions\n          styleTarget = styleTarget.contentDocument.head;\n        } catch (e) {\n          // istanbul ignore next\n          styleTarget = null;\n        }\n      }\n\n      memo[target] = styleTarget;\n    }\n\n    return memo[target];\n  };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n  var result = -1;\n\n  for (var i = 0; i < stylesInDom.length; i++) {\n    if (stylesInDom[i].identifier === identifier) {\n      result = i;\n      break;\n    }\n  }\n\n  return result;\n}\n\nfunction modulesToDom(list, options) {\n  var idCountMap = {};\n  var identifiers = [];\n\n  for (var i = 0; i < list.length; i++) {\n    var item = list[i];\n    var id = options.base ? item[0] + options.base : item[0];\n    var count = idCountMap[id] || 0;\n    var identifier = \"\".concat(id, \" \").concat(count);\n    idCountMap[id] = count + 1;\n    var index = getIndexByIdentifier(identifier);\n    var obj = {\n      css: item[1],\n      media: item[2],\n      sourceMap: item[3]\n    };\n\n    if (index !== -1) {\n      stylesInDom[index].references++;\n      stylesInDom[index].updater(obj);\n    } else {\n      stylesInDom.push({\n        identifier: identifier,\n        updater: addStyle(obj, options),\n        references: 1\n      });\n    }\n\n    identifiers.push(identifier);\n  }\n\n  return identifiers;\n}\n\nfunction insertStyleElement(options) {\n  var style = document.createElement('style');\n  var attributes = options.attributes || {};\n\n  if (typeof attributes.nonce === 'undefined') {\n    var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n    if (nonce) {\n      attributes.nonce = nonce;\n    }\n  }\n\n  Object.keys(attributes).forEach(function (key) {\n    style.setAttribute(key, attributes[key]);\n  });\n\n  if (typeof options.insert === 'function') {\n    options.insert(style);\n  } else {\n    var target = getTarget(options.insert || 'head');\n\n    if (!target) {\n      throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n    }\n\n    target.appendChild(style);\n  }\n\n  return style;\n}\n\nfunction removeStyleElement(style) {\n  // istanbul ignore if\n  if (style.parentNode === null) {\n    return false;\n  }\n\n  style.parentNode.removeChild(style);\n}\n/* istanbul ignore next  */\n\n\nvar replaceText = function replaceText() {\n  var textStore = [];\n  return function replace(index, replacement) {\n    textStore[index] = replacement;\n    return textStore.filter(Boolean).join('\\n');\n  };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n  var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n  /* istanbul ignore if  */\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = replaceText(index, css);\n  } else {\n    var cssNode = document.createTextNode(css);\n    var childNodes = style.childNodes;\n\n    if (childNodes[index]) {\n      style.removeChild(childNodes[index]);\n    }\n\n    if (childNodes.length) {\n      style.insertBefore(cssNode, childNodes[index]);\n    } else {\n      style.appendChild(cssNode);\n    }\n  }\n}\n\nfunction applyToTag(style, options, obj) {\n  var css = obj.css;\n  var media = obj.media;\n  var sourceMap = obj.sourceMap;\n\n  if (media) {\n    style.setAttribute('media', media);\n  } else {\n    style.removeAttribute('media');\n  }\n\n  if (sourceMap && typeof btoa !== 'undefined') {\n    css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n  } // For old IE\n\n  /* istanbul ignore if  */\n\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = css;\n  } else {\n    while (style.firstChild) {\n      style.removeChild(style.firstChild);\n    }\n\n    style.appendChild(document.createTextNode(css));\n  }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n  var style;\n  var update;\n  var remove;\n\n  if (options.singleton) {\n    var styleIndex = singletonCounter++;\n    style = singleton || (singleton = insertStyleElement(options));\n    update = applyToSingletonTag.bind(null, style, styleIndex, false);\n    remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n  } else {\n    style = insertStyleElement(options);\n    update = applyToTag.bind(null, style, options);\n\n    remove = function remove() {\n      removeStyleElement(style);\n    };\n  }\n\n  update(obj);\n  return function updateStyle(newObj) {\n    if (newObj) {\n      if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n        return;\n      }\n\n      update(obj = newObj);\n    } else {\n      remove();\n    }\n  };\n}\n\nmodule.exports = function (list, options) {\n  options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n  // tags it will allow on a page\n\n  if (!options.singleton && typeof options.singleton !== 'boolean') {\n    options.singleton = isOldIE();\n  }\n\n  list = list || [];\n  var lastIdentifiers = modulesToDom(list, options);\n  return function update(newList) {\n    newList = newList || [];\n\n    if (Object.prototype.toString.call(newList) !== '[object Array]') {\n      return;\n    }\n\n    for (var i = 0; i < lastIdentifiers.length; i++) {\n      var identifier = lastIdentifiers[i];\n      var index = getIndexByIdentifier(identifier);\n      stylesInDom[index].references--;\n    }\n\n    var newLastIdentifiers = modulesToDom(newList, options);\n\n    for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n      var _identifier = lastIdentifiers[_i];\n\n      var _index = getIndexByIdentifier(_identifier);\n\n      if (stylesInDom[_index].references === 0) {\n        stylesInDom[_index].updater();\n\n        stylesInDom.splice(_index, 1);\n      }\n    }\n\n    lastIdentifiers = newLastIdentifiers;\n  };\n};","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n  if (!options) {\n    // eslint-disable-next-line no-param-reassign\n    options = {};\n  } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n  url = url && url.__esModule ? url.default : url;\n\n  if (typeof url !== 'string') {\n    return url;\n  } // If url is already wrapped in quotes, remove them\n\n\n  if (/^['\"].*['\"]$/.test(url)) {\n    // eslint-disable-next-line no-param-reassign\n    url = url.slice(1, -1);\n  }\n\n  if (options.hash) {\n    // eslint-disable-next-line no-param-reassign\n    url += options.hash;\n  } // Should url be wrapped?\n  // See https://drafts.csswg.org/css-values-3/#urls\n\n\n  if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n    return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n'), \"\\\"\");\n  }\n\n  return url;\n};","module.exports = require(\"vue\");","export default \"data:application/vnd.ms-fontobject;base64,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\"","module.exports = require(\"v-tooltip\");","import { getGettextBuilder } from '@nextcloud/l10n/dist/gettext'\n\nconst gtBuilder = getGettextBuilder()\n\t.detectLocale()\nTRANSLATIONS.map(data => gtBuilder.addTranslation(data.locale, data.json))\nconst gt = gtBuilder.build()\n\nconst n = gt.ngettext.bind(gt)\nconst t = gt.gettext.bind(gt)\n\nexport { t, n }\n","module.exports = require(\"core-js/modules/es.object.to-string.js\");","module.exports = require(\"core-js/modules/es.array.index-of.js\");","module.exports = require(\"core-js/modules/es.array.map.js\");","module.exports = require(\"core-js/modules/es.regexp.exec.js\");","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!./index.scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport { VTooltip } from 'v-tooltip'\nimport './index.scss'\n\n// force scope the tooltip and use .vue-tooltip\n// instead of .tooltip to avoid server compatibility\n// issues and the use of !important\nVTooltip.options.defaultTemplate = `<div class=\"vue-tooltip\" role=\"tooltip\" data-v-${SCOPE_VERSION}><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>`\nVTooltip.options.defaultHtml = false\n\nexport default VTooltip\n","module.exports = require(\"core-js/modules/es.string.replace.js\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".vue-tooltip[data-v-ed18ae7]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-ed18ae7][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-ed18ae7][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-ed18ae7][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-ed18ae7][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-ed18ae7] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-ed18ae7] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./index.scss\"],\"names\":[],\"mappings\":\"AAeA,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = require(\"core-js/modules/es.regexp.to-string.js\");","module.exports = require(\"core-js/modules/es.function.name.js\");","module.exports = require(\"core-js/modules/es.array.concat.js\");","\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst GenRandomId = (length) => {\n\treturn Math.random()\n\t\t.toString(36)\n\t\t.replace(/[^a-z]+/g, '')\n\t\t.substr(0, length || 5)\n}\n\nexport default GenRandomId\n","module.exports = require(\"@nextcloud/l10n/dist/gettext\");","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./Popover.vue\"],\"names\":[],\"mappings\":\"AAmFA,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",\"sourcesContent\":[\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('VPopover',_vm._g(_vm._b({attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},'VPopover',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"trigger\"),_vm._v(\" \"),_c('template',{slot:\"popover\"},[_vm._t(\"default\")],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n  -\n  - @author Marco Ambrosini <marcoambrosini@pm.me>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n-->\n\n<docs>\n\n### General description\n\nThis component is just a wrapper for the v-component plugin by Akryum,\nplease refer to this documentation for customization:\nhttps://github.com/Akryum/v-tooltip\n\nThis components has two slots:\n* 'trigger' which can be any html element and it will trigger the popover\nthis slot is optional since you can toggle the popover also by updating the\nopen prop on this component;\n\n* a default slot that is for the content of the popover.\n\n### Examples\n\nWith a `<button>` as a trigger:\n```vue\n<template>\n\t<Popover>\n\t\t<button slot=\"trigger\"> I am the trigger </button>\n\t\t<template>\n\t\t<h2>this is some content</h2>\n\t\t</template>\n\t</Popover>\n</template>\n```\n</docs>\n\n<template>\n\t<VPopover\n\t\tv-bind=\"$attrs\"\n\t\tpopover-base-class=\"popover\"\n\t\tpopover-wrapper-class=\"popover__wrapper\"\n\t\tpopover-arrow-class=\"popover__arrow\"\n\t\tpopover-inner-class=\"popover__inner\"\n\t\tv-on=\"$listeners\">\n\t\t<!-- This will be the popover target (for the events and position) -->\n\t\t<slot name=\"trigger\" />\n\t\t<!-- This will be the content of the popover -->\n\t\t<template slot=\"popover\">\n\t\t\t<slot />\n\t\t</template>\n\t</VPopover>\n</template>\n\n<script>\nimport { VPopover } from 'v-tooltip'\n\nexport default {\n\tname: 'Popover',\n\tcomponents: {\n\t\tVPopover,\n\t},\n}\n</script>\n\n<style lang=\"scss\">\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Popover.vue?vue&type=style&index=0&lang=scss&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Popover from './Popover'\n\nexport default Popover\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Vue from 'vue'\n\n/**\n * Validate children of a vue component\n *\n * @param {Object[]} slots the vue component slot\n * @param {String[]} allowed the allowed components name\n * @param {Object} vm the vue component instance\n */\nconst ValidateSlot = (slots, allowed, vm) => {\n\tif (slots === undefined) {\n\t\treturn\n\t}\n\n\tfor (let index = slots.length - 1; index >= 0; index--) {\n\t\tconst node = slots[index]\n\t\t// also check against allowed to avoid uninitiated vnodes with no componentOptions\n\t\tconst isHtmlElement = !node.componentOptions && node.tag && allowed.indexOf(node.tag) === -1\n\t\tconst isVueComponent = !!node.componentOptions && typeof node.componentOptions.tag === 'string'\n\t\tconst isForbiddenComponent = isVueComponent && allowed.indexOf(node.componentOptions.tag) === -1\n\n\t\t// if html element or not a vue component or vue component not in allowed tags\n\t\tif (isHtmlElement || !isVueComponent || isForbiddenComponent) {\n\t\t\t// only warn when html elment or forbidden component\n\t\t\t// sometimes text nodes are present which are hardly removeable by the developer and spam the warnings\n\t\t\tif (isHtmlElement || isForbiddenComponent) {\n\t\t\t\tVue.util.warn(`${isHtmlElement ? node.tag : node.componentOptions.tag} is not allowed inside the ${vm.$options.name} component`, vm)\n\t\t\t}\n\n\t\t\t// cleanup\n\t\t\tslots.splice(index, 1)\n\t\t}\n\t}\n}\n\nexport default ValidateSlot\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nimport ___CSS_LOADER_URL_IMPORT_0___ from \"../../fonts/iconfont-vue-ed18ae7.eot\";\nimport ___CSS_LOADER_URL_IMPORT_1___ from \"../../fonts/iconfont-vue-ed18ae7.woff\";\nimport ___CSS_LOADER_URL_IMPORT_2___ from \"../../fonts/iconfont-vue-ed18ae7.ttf\";\nimport ___CSS_LOADER_URL_IMPORT_3___ from \"../../fonts/iconfont-vue-ed18ae7.svg\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"iconfont-vue-ed18ae7\\\";src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"embedded-opentype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"truetype\\\"),url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"svg\\\")}.icon[data-v-1ae94e3d]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-left[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-right-double[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.arrow-right[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.breadcrumb[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.checkmark[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.close[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.confirm[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.info[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.menu[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.more[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.pause[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.play[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.triangle-s[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-away[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-dnd[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-invisible[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.icon.user-status-online[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";content:\\\"\\\"}.action-item[data-v-1ae94e3d]{position:relative;display:inline-block}.action-item--single[data-v-1ae94e3d]:hover,.action-item--single[data-v-1ae94e3d]:focus,.action-item--single[data-v-1ae94e3d]:active,.action-item__menutoggle[data-v-1ae94e3d]:hover,.action-item__menutoggle[data-v-1ae94e3d]:focus,.action-item__menutoggle[data-v-1ae94e3d]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item.action-item--open .action-item__menutoggle[data-v-1ae94e3d]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-1ae94e3d],.action-item__menutoggle[data-v-1ae94e3d]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-1ae94e3d]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-1ae94e3d]:before{content:''}.action-item__menutoggle--default-icon[data-v-1ae94e3d]:before{font-family:\\\"iconfont-vue-ed18ae7\\\";font-style:normal;font-weight:400;content:\\\"\\\"}.action-item__menutoggle--default-icon[data-v-1ae94e3d]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-1ae94e3d]{position:relative;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item__menutoggle--with-title[data-v-1ae94e3d]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-1ae94e3d]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-1ae94e3d],.action-item__menutoggle--primary[data-v-1ae94e3d]:hover,.action-item__menutoggle--primary[data-v-1ae94e3d]:focus,.action-item__menutoggle--primary[data-v-1ae94e3d]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-1ae94e3d]{opacity:.7}.action-item--single[data-v-1ae94e3d]:hover,.action-item--single[data-v-1ae94e3d]:focus,.action-item--single[data-v-1ae94e3d]:active{opacity:1}.action-item--single>[hidden][data-v-1ae94e3d]{display:none}.ie .action-item__menu[data-v-1ae94e3d],.ie .action-item__menu .action-item__menu_arrow[data-v-1ae94e3d],.edge .action-item__menu[data-v-1ae94e3d],.edge .action-item__menu .action-item__menu_arrow[data-v-1ae94e3d]{border:1px solid var(--color-border)}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBCyiBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCniBE,CAAA,yEDyiBK,SAAA,CAAA,uCC7hBK,CAAA,gFDoiBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cCxjBY,CAAA,WD0jBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBC3jBF,CAAE,gBD6jBJ,CAAI,iDANjB,UAAY,CAAA,+DAWX,kCD5mBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC2hBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC9lBA,CDgmBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",\"sourcesContent\":[\"$__iconfont__data: map-merge(if(global_variable_exists('__iconfont__data'), $__iconfont__data, ()), (\\n\\t\\\"iconfont-vue-ed18ae7\\\": (\\n\\t\\t\\\"arrow-left-double\\\": \\\"\\\\ea01\\\",\\n\\t\\t\\\"arrow-left\\\": \\\"\\\\ea02\\\",\\n\\t\\t\\\"arrow-right-double\\\": \\\"\\\\ea03\\\",\\n\\t\\t\\\"arrow-right\\\": \\\"\\\\ea04\\\",\\n\\t\\t\\\"breadcrumb\\\": \\\"\\\\ea05\\\",\\n\\t\\t\\\"checkmark\\\": \\\"\\\\ea06\\\",\\n\\t\\t\\\"close\\\": \\\"\\\\ea07\\\",\\n\\t\\t\\\"confirm\\\": \\\"\\\\ea08\\\",\\n\\t\\t\\\"info\\\": \\\"\\\\ea09\\\",\\n\\t\\t\\\"menu\\\": \\\"\\\\ea0a\\\",\\n\\t\\t\\\"more\\\": \\\"\\\\ea0b\\\",\\n\\t\\t\\\"pause\\\": \\\"\\\\ea0c\\\",\\n\\t\\t\\\"play\\\": \\\"\\\\ea0d\\\",\\n\\t\\t\\\"triangle-s\\\": \\\"\\\\ea0e\\\",\\n\\t\\t\\\"user-status-away\\\": \\\"\\\\ea0f\\\",\\n\\t\\t\\\"user-status-dnd\\\": \\\"\\\\ea10\\\",\\n\\t\\t\\\"user-status-invisible\\\": \\\"\\\\ea11\\\",\\n\\t\\t\\\"user-status-online\\\": \\\"\\\\ea12\\\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: 'icon' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be 'icon-' it would result in .icon-star\\n$icon-prefix: '' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n  @if (null == $group) {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  @if (false == map-has-key($__iconfont__data, $group)) {\\n    @warn 'Undefined Iconfont Family!';\\n    @return ();\\n  }\\n  @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n  $slash: str-index($name, '/');\\n  $group: null;\\n  @if ($slash) {\\n    $group: str-slice($name, 0, $slash - 1);\\n    $name: str-slice($name, $slash + 1);\\n  } @else {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  $group: iconfont-group($group);\\n  @if (false == map-has-key($group, $name)) {\\n    @warn 'Undefined Iconfont Glyph!';\\n    @return '';\\n  }\\n  @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont('star') }\\n@mixin iconfont($icon) {\\n  $slash: str-index($icon, '/');\\n  $group: null;\\n  @if ($slash) {\\n    $group: str-slice($icon, 0, $slash - 1);\\n  } @else {\\n    $group: nth(map-keys($__iconfont__data), 1);\\n  }\\n  &:before {\\n    font-family: $group;\\n    font-style: normal;\\n    font-weight: 400;\\n    content: iconfont-item($icon);\\n  }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n  @font-face {\\n   font-family: \\\"iconfont-vue-ed18ae7\\\";\\n   src: url('../iconfont-vue-ed18ae7.eot'); /* IE9 Compat Modes */\\n   src: url('../iconfont-vue-ed18ae7.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */\\n      url('../iconfont-vue-ed18ae7.woff') format('woff'), /* Pretty Modern Browsers */\\n      url('../iconfont-vue-ed18ae7.ttf')  format('truetype'), /* Safari, Android, iOS */\\n      url('../iconfont-vue-ed18ae7.svg') format('svg'); /* Legacy iOS */\\n  }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n  .#{$icon-common-class} {\\n    font-style: normal;\\n    font-weight: 400;\\n\\n    @each $icon, $content in map-get($__iconfont__data, \\\"iconfont-vue-ed18ae7\\\") {\\n      &.#{$icon-prefix}#{$icon}:before {\\n        font-family: \\\"iconfont-vue-ed18ae7\\\";\\n        content: iconfont-item(\\\"iconfont-vue-ed18ae7/#{$icon}\\\");\\n      }\\n    }\\n  }\\n}\\n\",\"$scope_version:\\\"ed18ae7\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg\\n\\t\\tbackground-color: $icon-focus-bg;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Actions from './Actions'\n\nexport default Actions\n","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isValidSingleAction && !_vm.forceMenu)?_c('element',_vm._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:(_vm.firstAction.text),expression:\"firstAction.text\",modifiers:{\"auto\":true}}],staticClass:\"action-item action-item--single\",class:[_vm.firstAction.icon, _vm.firstActionClass],attrs:{\"rel\":\"noreferrer noopener\"},on:_vm._d({},[_vm.firstActionEventBinding,_vm.execFirstAction])},'element',_vm.firstActionBinding,false),[_c('span',{attrs:{\"aria-hidden\":true,\"hidden\":\"\"}},[_vm._t(\"default\")],2)]):_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hasMultipleActions || _vm.forceMenu),expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{'action-item--open': _vm.opened}},[_c('Popover',{attrs:{\"delay\":0,\"handle-resize\":true,\"open\":_vm.opened,\"placement\":_vm.placement,\"boundaries-element\":_vm.boundariesElement,\"container\":_vm.container},on:{\"update:open\":function($event){_vm.opened=$event},\"show\":_vm.openMenu,\"apply-show\":_vm.onOpen,\"hide\":_vm.closeMenu}},[_c('button',{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:( _obj = {}, _obj[_vm.defaultIcon] = true, _obj['action-item__menutoggle--with-title'] =  _vm.menuTitle, _obj['action-item__menutoggle--primary'] =  _vm.primary, _obj ),attrs:{\"slot\":\"trigger\",\"aria-label\":_vm.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":_vm.randomId,\"test-attr\":\"1\",\"aria-expanded\":_vm.opened ? 'true' : 'false'},slot:\"trigger\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.menuTitle)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],ref:\"menu\",class:{ open: _vm.opened },attrs:{\"tabindex\":\"-1\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusPreviousAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusNextAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusNextAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }if(!$event.shiftKey){ return null; }if($event.ctrlKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusPreviousAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-up\",undefined,$event.key,undefined)){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusFirstAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"page-down\",undefined,$event.key,undefined)){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }return _vm.focusLastAction($event)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();return _vm.closeMenu($event)}],\"mousemove\":_vm.onMouseFocusAction}},[_c('ul',{attrs:{\"id\":_vm.randomId,\"tabindex\":\"-1\"}},[(_vm.opened)?[_vm._t(\"default\")]:_vm._e()],2)])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  - @author Marco Ambrosini <marcoambrosini@pm.me\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<!-- Accessibility guidelines:\nhttps://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-actions.html -->\n\n<docs>\n### Single action\n\n```\n<Actions>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n</Actions>\n```\n\n### Multiple actions\n\n```\n<Actions>\n\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t<ActionLink icon=\"icon-external\" title=\"Link\" href=\"https://nextcloud.com\" />\n</Actions>\n```\n\n### Multiple actions with custom icon\n\n```\n<Actions default-icon=\"icon-edit\">\n\t<ActionButton icon=\"icon-edit\" @click=\"alert('Edit')\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t<ActionLink icon=\"icon-external\" title=\"Link\" href=\"https://nextcloud.com\" />\n</Actions>\n```\n\n### With menu title\n\n```\n<Actions default-icon=\"icon-edit\" menu-title=\"Object management\">\n\t<ActionButton icon=\"icon-edit\">Rename</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n\t<ActionButton icon=\"icon-confirm\">Validate</ActionButton>\n\t<ActionButton icon=\"icon-download\">Download</ActionButton>\n</Actions>\n```\n\n### Various icons styles\n```\n<Actions :primary=\"true\">\n\t<ActionButton icon=\"icon-edit\">Edit</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n</Actions>\n```\n\n```\n<Actions default-icon=\"icon-add-white\" :primary=\"true\" menu-title=\"Object management\">\n\t<ActionButton icon=\"icon-edit\">Rename</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n\t<ActionButton icon=\"icon-confirm\">Validate</ActionButton>\n\t<ActionButton icon=\"icon-download\">Download</ActionButton>\n</Actions>\n```\n\n### Custom icon slot\n```\n<Actions :primary=\"true\">\n\t<ActionButton><template #icon><MagnifyIcon /></template>Search</ActionButton>\n\t<ActionButton icon=\"icon-delete\">Delete</ActionButton>\n</Actions>\n```\n\n</docs>\n<template>\n\t<!-- if only one action, check if we need to bind to click or not -->\n\t<element v-if=\"isValidSingleAction && !forceMenu\"\n\t\tv-tooltip.auto=\"firstAction.text\"\n\t\tv-bind=\"firstActionBinding\"\n\t\t:class=\"[firstAction.icon, firstActionClass]\"\n\t\tclass=\"action-item action-item--single\"\n\t\trel=\"noreferrer noopener\"\n\t\t@[firstActionEventBinding]=\"execFirstAction\">\n\t\t<!-- fake slot to gather main action -->\n\t\t<span :aria-hidden=\"true\" hidden>\n\t\t\t<!-- @slot All action elements passed into the default slot will be used -->\n\t\t\t<slot />\n\t\t</span>\n\t</element>\n\n\t<!-- more than one action -->\n\t<div v-else\n\t\tv-show=\"hasMultipleActions || forceMenu\"\n\t\t:class=\"{'action-item--open': opened}\"\n\t\tclass=\"action-item\">\n\t\t<!-- If more than one action, create a popovermenu -->\n\t\t<Popover\n\t\t\t:delay=\"0\"\n\t\t\t:handle-resize=\"true\"\n\t\t\t:open.sync=\"opened\"\n\t\t\t:placement=\"placement\"\n\t\t\t:boundaries-element=\"boundariesElement\"\n\t\t\t:container=\"container\"\n\t\t\t@show=\"openMenu\"\n\t\t\t@apply-show=\"onOpen\"\n\t\t\t@hide=\"closeMenu\">\n\t\t\t<!-- Menu open/close trigger button -->\n\t\t\t<button slot=\"trigger\"\n\t\t\t\tref=\"menuButton\"\n\t\t\t\tclass=\"icon action-item__menutoggle\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[defaultIcon]: true,\n\t\t\t\t\t'action-item__menutoggle--with-title': menuTitle,\n\t\t\t\t\t'action-item__menutoggle--primary': primary\n\t\t\t\t}\"\n\t\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t:aria-controls=\"randomId\"\n\t\t\t\ttest-attr=\"1\"\n\t\t\t\t:aria-expanded=\"opened ? 'true' : 'false'\">\n\t\t\t\t{{ menuTitle }}\n\t\t\t</button>\n\n\t\t\t<!-- Menu content -->\n\t\t\t<div v-show=\"opened\"\n\t\t\t\tref=\"menu\"\n\t\t\t\t:class=\"{ open: opened }\"\n\t\t\t\ttabindex=\"-1\"\n\t\t\t\t@keydown.up.exact=\"focusPreviousAction\"\n\t\t\t\t@keydown.down.exact=\"focusNextAction\"\n\t\t\t\t@keydown.tab.exact=\"focusNextAction\"\n\t\t\t\t@keydown.shift.tab.exact=\"focusPreviousAction\"\n\t\t\t\t@keydown.page-up.exact=\"focusFirstAction\"\n\t\t\t\t@keydown.page-down.exact=\"focusLastAction\"\n\t\t\t\t@keydown.esc.exact.prevent=\"closeMenu\"\n\t\t\t\t@mousemove=\"onMouseFocusAction\">\n\t\t\t\t<!-- menu content -->\n\t\t\t\t<ul :id=\"randomId\" tabindex=\"-1\">\n\t\t\t\t\t<template v-if=\"opened\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</template>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</Popover>\n\t</div>\n</template>\n<script>\nimport Tooltip from '../../directives/Tooltip'\nimport GenRandomId from '../../utils/GenRandomId'\nimport ValidateSlot from '../../utils/ValidateSlot'\nimport { t } from '../../l10n'\nimport Popover from '../Popover'\n\n// This is the list of ALL the ALLOWED components\n// in the default SLOT\nconst allowedChildren = [\n\t'ActionButton',\n\t'ActionCheckbox',\n\t'ActionInput',\n\t'ActionLink',\n\t'ActionRadio',\n\t'ActionRouter',\n\t'ActionSeparator',\n\t'ActionText',\n\t'ActionTextEditable',\n]\n\nconst focusableSelector = '.focusable'\n\n/**\n * The Actions component can be used to display one ore more actions.\n * If only a single action is provided, it will be rendered as an inline icon.\n * For more, a menu indicator will be shown and a popovermenu containing the\n * actions will be opened on click.\n *\n * @since 0.10.0\n */\nexport default {\n\tname: 'Actions',\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\n\tcomponents: {\n\t\tPopover,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Specify the open state of the popover menu\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specify the menu title\n\t\t */\n\t\tmenuTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Apply primary styling for this menu\n\t\t */\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Icon to show for the toggle menu button\n\t\t * when more than one action is inside the actions component.\n\t\t * Only replace the default three-dot icon if really necessary.\n\t\t */\n\t\tdefaultIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'action-item__menutoggle--default-icon',\n\t\t},\n\n\t\t/**\n\t\t * Aria label for the actions menu\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Actions'),\n\t\t},\n\n\t\t/**\n\t\t * Wanted direction of the menu\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * DOM element for the actions' popover boundaries\n\t\t */\n\t\tboundariesElement: {\n\t\t\ttype: Element,\n\t\t\tdefault: () => document.querySelector('body'),\n\t\t},\n\n\t\t/**\n\t\t * Selector for the actions' popover container\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\tdefault: 'body',\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tactions: [],\n\t\t\topened: this.open,\n\t\t\tfocusIndex: 0,\n\t\t\trandomId: 'menu-' + GenRandomId(),\n\t\t\t// Making children reactive!\n\t\t\t// By binding this here, vuejs will track the object content\n\t\t\t// Needed for firstAction reactivity !!!\n\t\t\tchildren: this.$children,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is there more than one action?\n\t\t * @returns {boolean}\n\t\t */\n\t\thasMultipleActions() {\n\t\t\treturn this.actions.length > 1\n\t\t},\n\t\t/**\n\t\t * Is there any first action ?\n\t\t * And is it allowed as a standalone element ?\n\t\t * @returns {boolean}\n\t\t */\n\t\tisValidSingleAction() {\n\t\t\treturn this.actions.length === 1\n\t\t\t\t&& this.firstActionElement !== null\n\t\t},\n\t\t/**\n\t\t * First action vnode\n\t\t * @returns {Object} return the first action vue vnode\n\t\t */\n\t\tfirstActionVNode() {\n\t\t\treturn this.actions[0]\n\t\t},\n\t\t/**\n\t\t * Reactive binding to the first children\n\t\t * Since we're here, it means we already passed all the proper checks\n\t\t * we can assume the first action is the first children too\n\t\t * @returns {Object} first action vue children object\n\t\t */\n\t\tfirstAction() {\n\t\t\treturn this.children[0]\n\t\t\t\t? this.children[0]\n\t\t\t\t: {}\n\t\t},\n\n\t\t/**\n\t\t * Binding of the first action to the template\n\t\t * @returns {Object} vue template v-bind shortcut\n\t\t */\n\t\tfirstActionBinding() {\n\t\t\tif (this.firstActionVNode && this.firstActionVNode.componentOptions) {\n\t\t\t\tconst tag = this.firstActionVNode.componentOptions.tag\n\t\t\t\tif (tag === 'ActionLink') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'a',\n\t\t\t\t\t\thref: this.firstAction.href,\n\t\t\t\t\t\ttarget: this.firstAction.target,\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (tag === 'ActionRouter') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'router-link',\n\t\t\t\t\t\tto: this.firstAction.to,\n\t\t\t\t\t\texact: this.firstAction.exact,\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (tag === 'ActionButton') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tis: 'button',\n\t\t\t\t\t\t'aria-label': this.firstAction.ariaLabel,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t// other action types are not allowed as standalone buttons\n\t\t\treturn null\n\t\t},\n\n\t\t// return the event to bind if the firstActionVNode have an action\n\t\tfirstActionEvent() {\n\t\t\treturn this.firstActionVNode\n\t\t\t\t&& this.firstActionVNode.componentOptions\n\t\t\t\t&& this.firstActionVNode.componentOptions.listeners\n\t\t\t\t&& this.firstActionVNode.componentOptions.listeners.click\n\t\t},\n\t\tfirstActionEventBinding() {\n\t\t\treturn this.firstActionEvent ? 'click' : null\n\t\t},\n\t\tfirstActionClass() {\n\t\t\tconst staticClass = this.firstActionVNode && this.firstActionVNode.data.staticClass\n\t\t\tconst dynClass = this.firstActionVNode && this.firstActionVNode.data.class\n\t\t\treturn `${staticClass} ${dynClass}`\n\t\t},\n\t},\n\n\twatch: {\n\t\t// Watch parent prop\n\t\topen(state) {\n\t\t\tif (state === this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = state\n\t\t},\n\t},\n\tbeforeMount() {\n\t\t// init actions\n\t\tthis.initActions()\n\n\t\t// filter invalid menu items\n\t\tValidateSlot(this.$slots.default, allowedChildren, this)\n\t},\n\tbeforeUpdate() {\n\t\t// ! since we're using $slots to manage our actions\n\t\t// ! we NEED to update the actions if anything change\n\n\t\t// update children & actions\n\t\t// no need to init actions again since we bound it to $children\n\t\t// and the array is now reactive\n\t\t// init actions\n\t\tthis.initActions()\n\t\tValidateSlot(this.$slots.default, allowedChildren, this)\n\t},\n\n\tmethods: {\n\t\t// MENU STATE MANAGEMENT\n\t\topenMenu(e) {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', true)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('open')\n\n\t\t\tthis.onOpen(e)\n\t\t},\n\t\tcloseMenu(e) {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu open state is changed\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:open', false)\n\n\t\t\t/**\n\t\t\t * Event emitted when the popover menu is closed\n\t\t\t */\n\t\t\tthis.$emit('close')\n\n\t\t\t// close everything\n\t\t\tthis.opened = false\n\t\t\tthis.focusIndex = 0\n\n\t\t\t// focus back the menu button\n\t\t\tthis.$refs.menuButton.focus()\n\t\t},\n\n\t\tonOpen(event) {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.focusFirstAction(event)\n\t\t\t})\n\t\t},\n\n\t\t// MENU KEYS & FOCUS MANAGEMENT\n\t\t// focus nearest focusable item on mouse move\n\t\t// DO NOT change the focus if the target is already focused\n\t\t// this will prevent issues with input being unfocused\n\t\t// on mouse move\n\t\tonMouseFocusAction(event) {\n\t\t\tif (document.activeElement === event.target) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst menuItem = event.target.closest('li')\n\t\t\tif (menuItem) {\n\t\t\t\tconst focusableItem = menuItem.querySelector(focusableSelector)\n\t\t\t\tif (focusableItem) {\n\t\t\t\t\tconst focusList = this.$refs.menu.querySelectorAll(focusableSelector)\n\t\t\t\t\tconst focusIndex = [...focusList].indexOf(focusableItem)\n\t\t\t\t\tif (focusIndex > -1) {\n\t\t\t\t\t\tthis.focusIndex = focusIndex\n\t\t\t\t\t\tthis.focusAction()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tremoveCurrentActive() {\n\t\t\tconst currentActiveElement = this.$refs.menu.querySelector('li.active')\n\t\t\tif (currentActiveElement) {\n\t\t\t\tcurrentActiveElement.classList.remove('active')\n\t\t\t}\n\t\t},\n\t\tfocusAction() {\n\t\t\t// TODO: have a global disabled state for non input elements\n\t\t\tconst focusElement = this.$refs.menu.querySelectorAll(focusableSelector)[this.focusIndex]\n\t\t\tif (focusElement) {\n\t\t\t\tthis.removeCurrentActive()\n\t\t\t\tconst liMenuParent = focusElement.closest('li.action')\n\t\t\t\tfocusElement.focus()\n\t\t\t\tif (liMenuParent) {\n\t\t\t\t\tliMenuParent.classList.add('active')\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tfocusPreviousAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tif (this.focusIndex === 0) {\n\t\t\t\t\t// First element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex - 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusNextAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tconst indexLength = this.$refs.menu.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tif (this.focusIndex === indexLength) {\n\t\t\t\t\t// Last element overflows to body-navigation (no preventDefault!) and closes Actions-menu\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\t\tthis.focusIndex = this.focusIndex + 1\n\t\t\t\t}\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusFirstAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = 0\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\t\tfocusLastAction(event) {\n\t\t\tif (this.opened) {\n\t\t\t\tthis.preventIfEvent(event)\n\t\t\t\tthis.focusIndex = this.$el.querySelectorAll(focusableSelector).length - 1\n\t\t\t\tthis.focusAction()\n\t\t\t}\n\t\t},\n\n\t\tpreventIfEvent(event) {\n\t\t\tif (event) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tevent.stopPropagation()\n\t\t\t}\n\t\t},\n\n\t\t// ACTIONS MANAGEMENT\n\t\t// exec the first action\n\t\texecFirstAction(event) {\n\t\t\tif (this.firstActionEvent) {\n\t\t\t\tthis.firstActionEvent(event)\n\t\t\t}\n\t\t},\n\t\tinitActions() {\n\t\t\t// filter out invalid slots\n\t\t\tthis.actions = (this.$slots.default || []).filter(node => !!node && !!node.componentOptions)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../fonts/scss/iconfont-vue';\n\n.action-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t// put a grey round background when menu is opened\n\t// or hover-focused\n\t&--single:hover,\n\t&--single:focus,\n\t&--single:active,\n\t&__menutoggle:hover,\n\t&__menutoggle:focus,\n\t&__menutoggle:active {\n\t\topacity: $opacity_full;\n\t\t// good looking on dark AND white bg\n\t\tbackground-color: $icon-focus-bg;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\topacity: $opacity_full;\n\t\tbackground-color: $action-background-hover;\n\t}\n\n\t// icons\n\t&--single,\n\t&__menutoggle {\n\t\tbox-sizing: border-box;\n\t\twidth: auto;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tmargin: 0;\n\t\tpadding: $icon-margin;\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-color: transparent;\n\t}\n\n\t// icon-more\n\t&__menutoggle {\n\t\t// align menu icon in center\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: $opacity_normal;\n\t\tfont-weight: bold;\n\t\tline-height: $icon-size;\n\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t}\n\n\t\t&--default-icon {\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tfont-size: $icon-size;\n\t\t\t}\n\t\t}\n\n\t\t&--with-title {\n\t\t\tposition: relative;\n\t\t\tpadding-left: $clickable-area;\n\t\t\twhite-space: nowrap;\n\t\t\topacity: $opacity_full;\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t// with a title, we need to display this as a real button\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tfont-size: inherit;\n\t\t\t// non-background icon class\n\t\t\t&:before {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: $icon-margin;\n\t\t\t\tleft: $icon-margin;\n\t\t\t}\n\t\t}\n\n\t\t&--primary {\n\t\t\topacity: $opacity_full;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tborder: none;\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t.action-item--open &,\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-text) !important;\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--single {\n\t\topacity: $opacity_normal;\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t\t// hide anything the slot is displaying\n\t\t& > [hidden] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ie,\n.edge {\n\t.action-item__menu,\n\t.action-item__menu .action-item__menu_arrow {\n\t\tborder: 1px solid var(--color-border);\n\t}\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=script&lang=js&\"","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actions.vue?vue&type=style&index=0&id=1ae94e3d&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","module.exports = require(\"core-js/modules/es.array.filter.js\");","module.exports = require(\"core-js/modules/es.array.splice.js\");","module.exports = require(\"core-js/modules/es.string.trim.js\");","module.exports = require(\"core-js/modules/es.array.iterator.js\");","module.exports = require(\"core-js/modules/es.string.iterator.js\");","module.exports = require(\"core-js/modules/web.dom-collections.iterator.js\");","\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport Vue from 'vue'\n\nexport default {\n\tbefore() {\n\t\t// all actions requires a valid text content\n\t\t// if none, forbid the component mount and throw error\n\t\tif (!this.$slots.default || this.text.trim() === '') {\n\t\t\tVue.util.warn(`${this.$options.name} cannot be empty and requires a meaningful text content`, this)\n\t\t\tthis.$destroy()\n\t\t\tthis.$el.remove()\n\t\t}\n\t},\n\n\tbeforeUpdate() {\n\t\tthis.text = this.getText()\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t// $slots are not reactive.\n\t\t\t// We need to update  the content manually\n\t\t\ttext: this.getText(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisLongText() {\n\t\t\treturn this.text && this.text.trim().length > 20\n\t\t},\n\t},\n\n\tmethods: {\n\t\tgetText() {\n\t\t\treturn this.$slots.default ? this.$slots.default[0].text.trim() : ''\n\t\t},\n\t},\n}\n","module.exports = require(\"core-js/modules/web.url.js\");","\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/**\n * Get the first parent component matching the provided name\n *\n * @param {Object} context the context to search from (usualy this)\n * @param {string} name the parent name\n * @returns {Object} the parent component\n */\nconst GetParent = function(context, name) {\n\tlet parent = context.$parent\n\twhile (parent) {\n\t\tif (parent.$options.name === name) {\n\t\t\treturn parent\n\t\t}\n\t\tparent = parent.$parent\n\t}\n}\n\nexport default GetParent\n","\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport actionGlobal from './actionGlobal'\nimport GetParent from '../utils/GetParent'\n\nexport default {\n\tmixins: [actionGlobal],\n\tprops: {\n\t\t/**\n\t\t * Icon to show with the action, can be either a CSS class or an URL\n\t\t */\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Title to show next to the icon\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Whether we close the Actions menu after the click\n\t\t */\n\t\tcloseAfterClick: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Aria label for the button. Not needed if the button has text.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\ttry {\n\t\t\t\treturn new URL(this.icon)\n\t\t\t} catch (error) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonClick(event) {\n\t\t\t/**\n\t\t\t * Emitted when the action is clicked\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('click', event)\n\n\t\t\tif (this.closeAfterClick) {\n\t\t\t\tconst parent = GetParent(this, 'Actions')\n\t\t\t\tif (parent && parent.closeMenu) {\n\t\t\t\t\tparent.closeMenu()\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"li.active[data-v-bfcb90de]{box-shadow:inset 4px 0 var(--color-primary)}.action--disabled[data-v-bfcb90de]{pointer-events:none;opacity:.5}.action--disabled[data-v-bfcb90de]:hover,.action--disabled[data-v-bfcb90de]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-bfcb90de]{opacity:1 !important}.action-button[data-v-bfcb90de]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-bfcb90de]:hover,.action-button[data-v-bfcb90de]:focus{opacity:1}.action-button>span[data-v-bfcb90de]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-bfcb90de]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-bfcb90de]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-bfcb90de]{vertical-align:middle}.action-button p[data-v-bfcb90de]{width:185px;padding:7px 0;cursor:pointer;text-align:left;line-height:1.6em}.action-button__longtext[data-v-bfcb90de]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-bfcb90de]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],\"names\":[],\"mappings\":\"AAwBC,2BAEE,2CAA4C,CAC5C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,WAAY,CACZ,aAA8B,CAE9B,cAAe,CACf,eAAgB,CAEhB,iBAAkB,CAClB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",\"sourcesContent\":[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbox-shadow: inset 4px 0 var(--color-primary);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t.material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\twidth: 185px;\\n\\t\\t\\tpadding: #{$icon-margin / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\tline-height: 1.6em;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"action\",class:{ 'action--disabled': _vm.disabled }},[_c('button',{staticClass:\"action-button\",class:{ focusable: _vm.isFocusable },attrs:{\"aria-label\":_vm.ariaLabel},on:{\"click\":_vm.onClick}},[_vm._t(\"icon\",[_c('span',{staticClass:\"action-button__icon\",class:[_vm.isIconUrl ? 'action-button__icon--url' : _vm.icon],style:({ backgroundImage: _vm.isIconUrl ? (\"url(\" + _vm.icon + \")\") : null })})]),_vm._v(\" \"),(_vm.title)?_c('p',[_c('strong',{staticClass:\"action-button__title\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.title)+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('span',{staticClass:\"action-button__longtext\",domProps:{\"textContent\":_vm._s(_vm.text)}})]):(_vm.isLongText)?_c('p',{staticClass:\"action-button__longtext\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_c('span',{staticClass:\"action-button__text\"},[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),(false)?_vm._t(\"default\"):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n  -\n  - @author John Molakvoæ <skjnldsv@protonmail.com>\n  - @author Marco Ambrosini <marcoambrosini@pm.me>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<docs>\nThis component is made to be used inside of the [Actions](#Actions) component slots.\n\n```vue\n\t<Actions>\n\t\t<ActionButton icon=\"icon-delete\" @click=\"alert('Delete')\">Delete</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" :close-after-click=\"true\" @click=\"alert('Delete and close menu')\">Delete and close</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" :disabled=\"true\" @click=\"alert('Disabled')\">Disabled button</ActionButton>\n\t</Actions>\n```\n\nIf you're using a long text you can specify a title\n\n```vue\n\t<Actions>\n\t\t<ActionButton icon=\"icon-add\" @click=\"alert('Add')\">Add new</ActionButton>\n\t\t<ActionButton icon=\"icon-delete\" title=\"Long button\" @click=\"alert('Delete')\">This button is associated with a very long text.\\nAnd with new lines too.</ActionButton>\n\t</Actions>\n```\n\nYou can also use a custom icon, for example from the vue-material-design-icons library:\n\n```vue\n<template>\n\t<Actions>\n\t\t<ActionButton>\n\t\t\t<HandLeft\n\t\t\t\tslot=\"icon\"\n\t\t\t\t:size=\"16\"\n\t\t\t\tdecorative\n\t\t\t\ttitle=\"\" />\n\t\t\tRaise left hand\n\t\t</ActionButton>\n\t\t<ActionButton>\n\t\t\t<HandRight\n\t\t\t\tslot=\"icon\"\n\t\t\t\t:size=\"16\"\n\t\t\t\tdecorative\n\t\t\t\ttitle=\"\" />\n\t\t\tRaise right hand\n\t\t</ActionButton>\n\t</Actions>\n</template>\n<script>\nimport HandLeft from 'vue-material-design-icons/HandLeft'\nimport HandRight from 'vue-material-design-icons/HandRight'\n\nexport default {\n\tcomponents: {\n\t\tHandLeft,\n\t\tHandRight,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<li class=\"action\" :class=\"{ 'action--disabled': disabled }\">\n\t\t<button\n\t\t\tclass=\"action-button\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:class=\"{ focusable: isFocusable }\"\n\t\t\t@click=\"onClick\">\n\t\t\t<!-- @slot Manually provide icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<span :class=\"[isIconUrl ? 'action-button__icon--url' : icon]\"\n\t\t\t\t\t:style=\"{ backgroundImage: isIconUrl ? `url(${icon})` : null }\"\n\t\t\t\t\tclass=\"action-button__icon\" />\n\t\t\t</slot>\n\n\t\t\t<!-- long text with title -->\n\t\t\t<p v-if=\"title\">\n\t\t\t\t<strong class=\"action-button__title\">\n\t\t\t\t\t{{ title }}\n\t\t\t\t</strong>\n\t\t\t\t<br>\n\t\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t\t<span class=\"action-button__longtext\" v-text=\"text\" />\n\t\t\t</p>\n\n\t\t\t<!-- long text only -->\n\t\t\t<!-- white space is shown on longtext, so we can't\n\t\t\t\tput {{ text }} on a new line for code readability -->\n\t\t\t<p v-else-if=\"isLongText\"\n\t\t\t\tclass=\"action-button__longtext\"\n\t\t\t\tv-text=\"text\" />\n\n\t\t\t<!-- default text display -->\n\t\t\t<span v-else class=\"action-button__text\">{{ text }}</span>\n\n\t\t\t<!-- fake slot to gather inner text -->\n\t\t\t<slot v-if=\"false\" />\n\t\t</button>\n\t</li>\n</template>\n\n<script>\nimport ActionTextMixin from '../../mixins/actionText'\n\n/**\n * Button component to be used in Actions\n*/\nexport default {\n\tname: 'ActionButton',\n\n\tmixins: [ActionTextMixin],\n\n\tprops: {\n\t\t/**\n\t\t * disabled state of the action button\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * determines if the action is focusable\n\t\t * @returns {boolean} is the action focusable ?\n\t\t */\n\t\tisFocusable() {\n\t\t\treturn !this.disabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../../assets/action';\n@include action-active;\n@include action--disabled;\n@include action-item('button');\n</style>\n","import api from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/resolve-url-loader/index.js!../../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionButton.vue?vue&type=style&index=0&id=bfcb90de&lang=scss&scoped=true&\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nimport ActionButton from './ActionButton'\n\nexport default ActionButton\n","function validate(binding) {\n  if (typeof binding.value !== 'function') {\n    console.warn('[Vue-click-outside:] provided expression', binding.expression, 'is not a function.')\n    return false\n  }\n\n  return true\n}\n\nfunction isPopup(popupItem, elements) {\n  if (!popupItem || !elements)\n    return false\n\n  for (var i = 0, len = elements.length; i < len; i++) {\n    try {\n      if (popupItem.contains(elements[i])) {\n        return true\n      }\n      if (elements[i].contains(popupItem)) {\n        return false\n      }\n    } catch(e) {\n      return false\n    }\n  }\n\n  return false\n}\n\nfunction isServer(vNode) {\n  return typeof vNode.componentInstance !== 'undefined' && vNode.componentInstance.$isServer\n}\n\nexports = module.exports = {\n  bind: function (el, binding, vNode) {\n    if (!validate(binding)) return\n\n    // Define Handler and cache it on the element\n    function handler(e) {\n      if (!vNode.context) return\n\n      // some components may have related popup item, on which we shall prevent the click outside event handler.\n      var elements = e.path || (e.composedPath && e.composedPath())\n      elements && elements.length > 0 && elements.unshift(e.target)\n\n      if (el.contains(e.target) || isPopup(vNode.context.popupItem, elements)) return\n\n      el.__vueClickOutside__.callback(e)\n    }\n\n    // add Event Listeners\n    el.__vueClickOutside__ = {\n      handler: handler,\n      callback: binding.value\n    }\n    const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n    !isServer(vNode) && document.addEventListener(clickHandler, handler)\n  },\n\n  update: function (el, binding) {\n    if (validate(binding)) el.__vueClickOutside__.callback = binding.value\n  },\n\n  unbind: function (el, binding, vNode) {\n    // Remove Event Listeners\n    const clickHandler = 'ontouchstart' in document.documentElement ? 'touchstart' : 'click';\n    !isServer(vNode) && el.__vueClickOutside__ && document.removeEventListener(clickHandler, el.__vueClickOutside__.handler)\n    delete el.__vueClickOutside__\n  }\n}\n"],"sourceRoot":""}