{"version":3,"sources":["webpack:///./src/components/datatable/eventsSortableDatatable.vue?b194","webpack:///./src/components/competitions/competitionForm.vue?856a","webpack:///./src/components/datatable/eventsSortableDatatable.vue?f690","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///src/components/datatable/eventsSortableDatatable.vue","webpack:///./src/components/datatable/eventsSortableDatatable.vue?1710","webpack:///./src/components/datatable/eventsSortableDatatable.vue?4d31","webpack:///./src/components/pointsTable/assignPointsTable.vue?8f28","webpack:///src/components/pointsTable/assignPointsTable.vue","webpack:///./src/components/pointsTable/assignPointsTable.vue?8b0f","webpack:///./src/components/pointsTable/assignPointsTable.vue","webpack:///./src/components/invoicing/invoicingForm.vue?bbac","webpack:///src/components/invoicing/invoicingForm.vue","webpack:///./src/components/invoicing/invoicingForm.vue?9ce9","webpack:///./node_modules/quasar/src/components/popup-proxy/QPopupProxy.js","webpack:///./node_modules/quasar/src/utils/date-persian.js","webpack:///./node_modules/quasar/src/mixins/datetime.js","webpack:///./node_modules/quasar/src/utils/date.js","webpack:///./node_modules/quasar/src/components/date/QDate.js","webpack:///./src/components/invoicing/invoicingForm.vue","webpack:///src/components/competitions/competitionForm.vue","webpack:///./src/components/competitions/competitionForm.vue?6ced","webpack:///./node_modules/quasar/src/components/time/QTime.js","webpack:///./node_modules/quasar/src/components/editor/editor-utils.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/quasar/src/components/editor/editor-caret.js","webpack:///./node_modules/quasar/src/utils/extend.js","webpack:///./node_modules/quasar/src/components/editor/QEditor.js","webpack:///./node_modules/quasar/src/components/spinner/QSpinnerDots.js","webpack:///./src/components/competitions/competitionForm.vue","webpack:///./node_modules/quasar/src/components/tabs/QTabs.js","webpack:///./node_modules/quasar/src/components/tabs/QTab.js","webpack:///./node_modules/core-js/modules/es.string.link.js","webpack:///./node_modules/core-js/modules/es.string.italics.js","webpack:///./node_modules/core-js/modules/es.array.fill.js","webpack:///./node_modules/core-js/modules/es.string.bold.js","webpack:///./src/components/competitions/competitionForm.vue?1aa0"],"names":["_vm","this","_h","$createElement","_c","_self","ref","staticClass","model","value","callback","$$v","tab","expression","attrs","_v","class","formData","id","_b","$set","siteCFG","fields","general","scopedSlots","_u","key","fn","proxy","competitionTypes","label","statusColors","status","_l","index","directives","name","rawName","on","$event","_s","changeImage","logoUrl","staticStyle","_e","myCroppa","poolLengthOptions","$q","screen","lt","md","lang","editor","align","icon","iconSet","fixedLabel","list","options","formatting","fontSize","fixedIcon","defaultFont","font","arial","arial_black","comic_sans","courier_new","impact","lucida_grande","times_new_roman","verdana","finalsPoints_id","val","semiFinalsPoints_id","quaterFinalsPoints_id","heatsPoints_id","roundsPoints_id","teamFinalsPoints_id","teamSemiFinalsPoints_id","teamQuaterFinalsPoints_id","teamHeatsPoints_id","teamRoundsPoints_id","addSessionLoading","addSession","sessionsSearch","sessions","sessionColumns","sessionDoubleClick","data","props","updateSessionRow","row","settingSessionActive","active","setSessionActive","removingSessionID","removeSession","addArenaLoading","addArena","arenasSearch","arenas","arenaColumns","arenaDoubleClick","updateArenaRow","removingArenaID","removeArena","addEvent","editEvent","$router","push","eventsSearch","competition_type","state","addEventLoading","submitEventToAdd","$route","params","events_id","editEventLoading","saveEvent","addQuestionLoading","addQuestion","questionsSearch","questions","questionColumns","questionDoubleClick","questionTypes","updateQuestionRow","questionRangeTypes","rangeType","questionRangeOptions","removingQuestionID","removeQuestion","competitionLimitTypes","limitType","associationsCRMSearch","crmAssociations","associationColumns","updateAssociationLimit","limits","capUrl","associationsAddedSearch","nonCrmAssociations","previewClubInvoices","sendClubInvoices","invoiceTabOpened","invoiceObjects","invoiceObjectsLoading","previewClubInvoice_id","moneyFormatter","previewClubInvoiceData","compEarlyEntry","earlyCompetitionEntries","parseFloat","compStandardEntry","standardCompetitionEntries","compLateEntry","lateCompetitionEntries","eventEarlyEntryInd","earlyIndividualEntries","eventEarlyEntryTeam","earlyTeamEntries","eventStandardEntryInd","standardIndividualEntries","eventStandardEntryTeam","standardTeamEntries","eventLateEntryInd","lateIndividualEntries","eventLateEntryTeam","lateTeamEntries","additionalFeesSearch","additionalCharges","additionalChargesColumns","ammt","athlete","athletes","indEvent","individualEventEntries","teamEventEntires","divisionChargesSearch","divisionCharges","divisionChargesColumns","entries","eventChargesSearch","eventCharges","eventChargesColumns","reminderOptions","changeReminderOption","selectedReminderOption","emailSending","sendTestReminderEmails","sendReminderEmails","reminder","downloads","entriesSearch","entriesLoading","entriesColumns","staticRenderFns","eventsList","eventColumns","eventDoubleClick","saveEventFromGrid","event_name","division_name","gender","age_min","age_max","JSON","parse","playerLabels","twoHundredMeter","patrolSupport","slg","crew","driver","mixed","noMaxAge","required","entriesOpenOverride","entriesOpen","currentStep","sessions_id","sessionsDict","session","updateEventSession","arenas_id","arenasDict","arena","updateEventArena","duplicatingEventID","duplicateEvent","removingEventID","removeEvent","openEntries","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread2","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","configurable","writable","_extends","assign","hasOwnProperty","call","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","_objectWithoutProperties","sourceSymbolKeys","propertyIsEnumerable","version","userAgent","pattern","window","navigator","match","IE11OrLess","Edge","FireFox","Safari","IOS","ChromeForAndroid","captureMode","capture","passive","el","event","addEventListener","off","removeEventListener","matches","selector","substring","msMatchesSelector","webkitMatchesSelector","_","getParentOrHost","host","document","nodeType","parentNode","closest","ctx","includeCTX","_throttleTimeout","R_SPACE","toggleClass","classList","className","replace","css","prop","style","defaultView","getComputedStyle","currentStyle","matrix","selfOnly","appliedTransforms","transform","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","find","tagName","getElementsByTagName","n","getWindowScrollingElement","scrollingElement","documentElement","getRect","relativeToContainingBlock","relativeToNonStaticParent","undoScale","container","getBoundingClientRect","elRect","top","left","bottom","right","height","width","innerHeight","innerWidth","containerRect","parseInt","elMatrix","scaleX","a","scaleY","d","isScrolledPast","elSide","parentSide","parent","getParentAutoScrollElement","elSideVal","parentSideVal","visible","getChild","childNum","includeDragEl","currentChild","children","display","Sortable","ghost","dragged","draggable","lastChild","last","lastElementChild","previousElementSibling","nodeName","toUpperCase","clone","getRelativeScrollOffset","offsetLeft","offsetTop","winScroller","scrollLeft","scrollTop","indexOfObject","arr","Number","includeSelf","elem","gotSelf","clientWidth","scrollWidth","clientHeight","scrollHeight","elemCSS","overflowX","overflowY","body","extend","dst","src","isRectEqual","rect1","rect2","Math","round","throttle","ms","args","_this","setTimeout","cancelThrottle","clearTimeout","scrollBy","x","y","Polymer","$","jQuery","Zepto","dom","cloneNode","expando","Date","getTime","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","animation","slice","child","rect","fromRect","thisAnimationDuration","childMatrix","f","e","addAnimationState","removeAnimationState","splice","animateAll","animating","animationTime","time","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animate","max","animationResetTimer","currentRect","duration","translateX","translateY","animatingX","animatingY","forRepaintDummy","repaint","easing","animated","offsetWidth","sqrt","pow","plugins","defaults","initializeByDefault","PluginManager","mount","plugin","option","p","pluginName","concat","pluginEvent","eventName","sortable","evt","eventCanceled","cancel","eventNameGlobal","initializePlugins","initialized","modified","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","dispatchEvent","_ref","rootEl","targetEl","cloneEl","toEl","fromEl","oldIndex","newIndex","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","charAt","substr","CustomEvent","createEvent","initEvent","bubbles","cancelable","to","from","item","pullMode","lastPutMode","undefined","allEventProperties","_excluded","bind","dragEl","parentEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","moved","activeSortable","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","info","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","createElement","supportCssPointerEvents","cssText","pointerEvents","_detectDirection","elCSS","elWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","marginLeft","marginRight","secondChildWidth","flexDirection","gridTemplateColumns","split","touchingSideChild2","clear","_dragElInRowColumn","dragRect","targetRect","vertical","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","ret","some","threshold","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","group","otherGroup","join","originalGroup","checkPull","checkPut","put","revertClone","preventDefault","stopPropagation","stopImmediatePropagation","nearestEmptyInsertDetectEvent","touches","nearest","clientX","clientY","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","toString","sort","disabled","store","handle","test","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","direction","ghostClass","chosenClass","dragClass","ignore","preventOnFilter","setData","dataTransfer","textContent","dropBubble","dragoverBubble","dataIdAttr","delay","delayOnTouchOnly","touchStartThreshold","devicePixelRatio","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","get","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsFirst","spacer","_ghostIsLast","_getSwapDirection","isLastTarget","mouseOnAxis","targetLength","targetS1","targetS2","invert","_getInsertDirection","_generateId","str","href","sum","charCodeAt","_saveInputCheckedState","root","inputs","idx","checked","_nextTick","_cancelNextTick","contains","_getDirection","type","touch","pointerType","originalTarget","shadowRoot","path","composedPath","button","isContentEditable","criteria","trim","_prepareDragStart","dragStartFn","ownerDocument","nextSibling","_lastX","_lastY","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","abs","floor","_onTouchMove","_onDragStart","selection","empty","getSelection","removeAllRanges","err","_dragStarted","fallback","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","inserted","ghostMatrix","relativeScrollOffset","dx","dy","b","c","cssMatrix","appendChild","removeAttribute","_hideClone","cloneId","insertBefore","_loopId","setInterval","effectAllowed","_dragStartId","revert","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","changed","firstChild","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","nextElementSibling","after","moveVector","extra","axis","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","removeChild","save","handleEvent","toArray","order","getAttribute","useAnimation","items","set","destroy","Array","querySelectorAll","utils","is","nextTick","cancelNextTick","detectDirection","element","_len","_key","create","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scroll","forceAutoScrollFallback","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","_ref2","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","pid","isFallback","scrollCustomFn","sens","speed","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","vx","vy","layer","scrollOffsetY","scrollOffsetX","toSortable","changedTouches","onSpill","Revert","Remove","startIndex","dragStart","_ref3","_ref4","parentSortable","QTd","QInput","QIcon","QTooltip","QMenu","QSelect","QBtn","QList","QItem","QItemSection","ClosePopup","dataLoading","filterFn","$emit","trackingOptionsList","trackingOptionsListLoading","xeroTrackingOptions_id","sportRevenueCodeList","sportRevenueCodeListLoading","xeroSportRevenueCodes","addingAdditionalFee","addAdditionalFee","additionalFees","additionalFeesColumns","saveAdditionalFromGrid","removeAdditionalFee","divisions","divisionsLoading","divisionFees","map","ef","divisions_id","newDivision_id","addingDivisionFee","addDivisionFee","divisionFeesSearch","divisionFeesColumns","saveDivisionFromGrid","removeDivisionFee","events","eventsLoading","eventFees","newEvent_id","addingEventFee","addEventFee","eventFeesSearch","eventFeesColumns","removeEventFee","Vue","mixins","AttrsMixin","ListenersMixin","AnchorMixin","breakpoint","String","default","computed","parsedBreakpoint","onEvents","qListeners","hide","__onHide","watch","$refs","popup","showing","__updateType","methods","toggle","show","render","h","component","def","slot","componentOptions","Ctor","sealedOptions","includes","cover","maxHeight","qAttrs","QDialog","contextMenu","noParentEvent","separateClosePopup","breaks","toJalaali","gy","gm","gd","getDate","getMonth","getFullYear","d2j","g2d","toGregorian","jy","jm","jd","d2g","j2d","isLeapJalaaliYear","jalCalLeap","jalaaliMonthLength","jump","leap","bl","jp","Error","div","mod","jalCal","withoutLeap","leapJ","leapG","march","r","jdn","k","jdn1f","j","calendars","DarkMixin","FormMixin","mask","locale","calendar","validator","v","landscape","Boolean","color","textColor","square","flat","bordered","readonly","disable","computedMask","__getMask","computedLocale","__getLocale","editable","computedColor","computedTextColor","computedTabindex","headerClass","cls","date","__getCurrentDate","dateOnly","timeFill","jDate","year","month","day","hour","minute","second","millisecond","__getCurrentTime","getHours","getMinutes","getSeconds","getMilliseconds","__getDayHash","pad","MILLISECONDS_IN_DAY","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE","defaultMask","token","reverseToken","regexStore","getRegexData","dateLocale","days","daysShort","months","monthsShort","regexText","YY","YYYY","M","MMM","MMMM","D","H","m","s","S","A","aa","Z","ZZ","X","res","regex","RegExp","__splitDate","defaultModel","timezoneOffset","dateHash","timeHash","langOpts","tzString","stamp","isNaN","maxDay","formatTimezone","offset","delimeter","sign","absOffset","hours","minutes","getWeekOfYear","thursday","setDate","getDay","firstThursday","ds","getTimezoneOffset","setHours","weekDiff","startOfDate","unit","utc","t","prefix","getDiff","sub","interval","getDateDiff","subtract","getDayOfYear","getOrdinal","formatter","forcedYear","MM","Q","ceil","Qo","Do","DD","DDD","DDDD","dd","dddd","ddd","E","w","ww","HH","hh","mm","ss","SS","SSS","forcedTimezoneOffset","tzOffset","formatDate","__forcedYear","__forcedTimezoneOffset","Infinity","text","yearsInterval","views","viewIsValid","yearMonthValidator","lineStr","DateTimeMixin","multiple","range","title","subtitle","defaultYearMonth","yearsInMonthView","Function","eventColor","emitImmediately","navigationMinYearMonth","navigationMaxYearMonth","noUnset","firstDayOfWeek","todayBtn","minimal","innerMask","innerLocale","viewModel","__getViewModel","rtl","view","monthDirection","yearDirection","startYear","editRange","lastEmitValue","__updateViewModel","blurTarget","focus","__updateValue","classes","isDark","isImmediate","normalizedModel","isArray","daysModel","__decodeString","rangeModel","getNativeDateFn","gDate","encodeObjectFn","daysInModel","reduce","acc","headerTitle","init","pluralDay","valueOf","headerSubtitle","minSelectedModel","maxSelectedModel","dateArrow","datetime","arrowLeft","arrowRight","reverse","computedFirstDayOfWeek","daysOfWeek","first","daysInMonth","today","evtColor","minNav","maxNav","navBoundaries","prev","next","daysMap","entry","hash","__getMonthHash","rangeMap","hashFrom","hashTo","cur","rangeView","initHash","final","finalHash","fromHash","toHash","viewMonthHash","includeFrom","includeTo","selectionDaysMap","dayHash","eventDaysMap","viewDays","endDay","prevJM","prevJY","len","fill","in","selected","unelevated","rangeFrom","rangeTo","editRangeFrom","editRangeTo","afterDays","setToday","__toggleDate","setCalendarTo","setView","offsetCalendar","descending","setEditingRange","__getDefaultViewModel","decoded","__getHeader","tabindex","cache","click","keyup","keyCode","size","__getNavigation","dir","goTo","boundaries","dense","noCaps","__getCalendarView","__goToMonth","__goToYear","__onDayClick","mouseover","__onDayMouseover","__getMonthsView","currentYear","isDisabled","content","__setMonth","unshift","__getYearsView","start","stop","years","__setYear","__emitImmediately","monthHash","__removeFromModel","__addToModel","__getShortDate","dayIndex","dayProps","payload","newHash","$nextTick","__emitValue","action","__getEmitParams","reason","details","min","__encodeEntry","ranges","__injectFormInput","QCard","QPopupProxy","QDate","QCheckbox","lr_showMedals","lr_showPAndMAfterFinished","TouchPan","format24h","defaultDate","hourOptions","minuteOptions","secondOptions","withSeconds","nowBtn","__getDefaultDateModel","isAM","innerModel","defaultDateModel","stringModel","computedFormat24h","pointerStyle","forHour","divider","amount","toLowerCase","degrees","minLink","secLink","hourInSelection","minuteInSelection","secondInSelection","validHours","am","__getValidValues","pm","values","validMinutes","validSeconds","viewValidOptions","positions","end","step","pos","actualVal","setNow","count","testFn","__getWheelDist","diff","__getNormalizedClockValue","findIndex","before","__click","__shouldAbortInteraction","platform","desktop","__updateClock","__getClockRect","__goToNextView","__activate","_isBeingDestroyed","_isDestroyed","clock","dist","__drag","isFirst","draggingClockRect","dragCache","isFinal","clockRect","cacheVal","position","distance","angle","asin","PI","__onKeyupHour","__setHour","wrap","__onKeyupMinute","__setMinute","__onKeyupSecond","seconds","__setSecond","__setAm","__setPm","__getClock","current","mousedown","modifiers","prevent","mouse","now","__verifyAndUpdate","run","btn","vm","handler","caret","runCmd","cmd","param","__getGroup","getBtn","clickHandler","toggled","tip","Key","fromCharCode","domProps","innerHTML","buttonProps","toggleColor","toolbarToggleColor","toolbarColor","toolbarPush","toolbarTextColor","getDropdown","contentClass","Items","onlyIcons","closeDropdown","Dropdown","componentInstance","toolbarBackgroundClass","activeClass","inactiveClass","noIcons","htmlTip","clickable","restore","side","highlight","QBtnDropdown","noWrap","getToolbar","buttons","isViewingSource","fb","getFonts","defaultFontLabel","defaultFontIcon","fonts","aliases","default_font","alias","getLinkEditor","ie11","link","editLinkUrl","updateLink","execCommand","__onInput","url","input","keydown","shouldIgnoreKey","remove","update","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","getBlockElement","isChildOf","orSame","createRange","node","chars","selectNode","setStart","setEnd","Node","TEXT_NODE","lp","childNodes","urlRegex","Caret","_range","sel","anchorNode","focusNode","rangeCount","getRangeAt","startContainer","ELEMENT_NODE","startOffset","endContainer","endOffset","addRange","selectAllChildren","collapseToEnd","charCount","focusOffset","previousSibling","savedPos","collapse","spanLevel","blockParent","recursive","hasParents","hasParent","queryCommandValue","inFullscreen","queryCommandState","attrib","done","noop","win","open","write","print","close","getParentAttribute","selectWord","cloneContents","querySelector","selectNodeContents","toggleFullscreen","__setContent","isCollapsed","modify","anchorOffset","collapsed","detach","endNode","hasOwn","class2type","isPlainObject","copy","copyIsArray","deep","FullscreenMixin","minHeight","definitions","placeholder","toolbar","every","toolbarBg","toolbarOutline","toolbarRounded","paragraphTag","contentStyle","hasToolbar","outline","rounded","buttonDef","bold","italic","strike","strikethrough","underline","unordered","unorderedList","ordered","orderedList","subscript","superscript","can","hyperlink","fullscreen","viewsource","viewSource","quote","center","justify","outdent","indent","removeFormat","hr","undo","redo","h1","heading1","heading","h2","heading2","h3","heading3","h4","heading4","h5","heading5","h6","heading6","paragraph","code","size1","size2","size3","size4","size5","size6","size7","userDef","add","innerStyle","innerClass","col","onEditor","focusin","__onFocusin","focusout","__onFocusout","lastEmit","innerText","__onKeydown","ctrlKey","refreshToolbar","ie","stopAndPrevent","__onClick","__onBlur","__offsetBottom","__onFocus","$el","relatedTarget","restorePosition","savePosition","__onMousedown","__onMouseup","mouseup","__onKeyup","__onTouchstart","__onTouchend","touchend","edge","$forceUpdate","addFocusFn","getContentEl","created","isSSR","fontFamily","mounted","toolbars","bars","blur","touchstart","contenteditable","mixin","focusable","cSize","QForm","QTabs","QTab","QItemLabel","QImg","QTime","QEditor","QSpinnerDots","getIndicatorClass","bufferPrioritySort","t1","t2","priorityMatched","priorityHref","bufferCleanSelected","bufferFilters","exact","redirected","bufferFiltersLen","TimeoutMixin","provide","tabs","__recalculateScroll","__activateTab","__activateRoute","shrink","stretch","activeColor","activeBgColor","indicatorColor","leftIcon","rightIcon","outsideArrows","mobileArrows","switchIndicator","narrowIndicator","inlineLabel","indicatorClass","scrollable","leftArrow","rightArrow","arrowsEnabled","__updateArrows","__updateArrowsFn","alignClass","mobile","setCurrent","skipEmit","__animate","bufferRoute","buffer","bufferTimer","__nextTick","__updateContainer","offsetHeight","__prepareTick","domSize","scrollSize","oldName","newName","oldTab","$children","newTab","oldEl","getElementsByClassName","newEl","animateTimer","transition","oldPos","newPos","__animScrollTo","__stopAnimScroll","__scrollTowards","scrollTimer","__scrollToStart","__scrollToEnd","activated","beforeDestroy","QResizeObserver","resize","up","mouseleave","down","role","uid","RippleMixin","inject","console","error","alert","alertIcon","isActive","computedTabIndex","keyboard","isKeyCode","__getContent","narrow","indicator","mergeSlot","__renderTab","tag","ripple","createHTML","forcedStringHTMLMethod","proto","forced","italics","addToUnscopables"],"mappings":"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,WAAY,kBAKd2X,GAAOvlB,UAAY,CACjBqlB,QAAS,SAAiBM,GACxB,IAAI/U,EAAS+U,EAAM/U,OACfnB,EAAckW,EAAMlW,YACpBmW,EAAiBnW,GAAe/f,KAAKse,SACzC4X,EAAe/a,wBACf+F,EAAOhO,YAAcgO,EAAOhO,WAAWqe,YAAYrQ,GACnDgV,EAAela,cAEjBgY,KAAMA,IAGRvjB,EAASolB,GAAQ,CACf3X,WAAY,kBA4sBd5G,GAASwG,MAAM,IAAIsV,IACnB9b,GAASwG,MAAM+X,GAAQD,IAER,U,4BC9+Gf,I,UAAA,CACA,YACA,kBAEA,0CACA,gBACA,+BACA,uCACA,2BACA,4BACA,0CACA,2BACA,yCACA,mCACA,iDACA,uCACA,qDACA,qDACA,mCACA,iDACA,oDACA,IACA,uBACA,kDAGA,OACA,IACA,cAEA,cACA,aAGA,OACA,kBACA,wBAGA,uBAEA,cACA,CACA,mBACA,cAEA,CACA,gBACA,UACA,aACA,iBACA,MACA,gGACA,aAEA,CACA,kBACA,uBACA,aACA,mBACA,MACA,kGAEA,aAEA,CACA,qBACA,kBACA,aACA,sBACA,qBACA,sBACA,kCAEA,GAGA,MACA,kGAEA,aAEA,CACA,WACA,sBACA,aACA,YACA,MACA,kGACA,aAEA,CACA,mBACA,gBACA,aACA,oBACA,MACA,kGACA,aAEA,CACA,iBACA,cACA,aACA,kBACA,MACA,kGACA,aAEA,CACA,oBACA,sBACA,aACA,qBACA,MACA,kGACA,aAEA,CACA,2BACA,qBACA,aACA,4BACA,MACA,4GACA,aAEA,CACA,eACA,gBACA,aACA,cAGA,YACA,mBACA,qBACA,wBACA,aACA,oBACA,cACA,cAEA,0BACA,mBACA,sBACA,mDAEA,OAEA,2BACA,eACA,cACA,kBACA,4BAKA,qEAGA,oCAEA,+BAIA,qBACA,yBAEA,SAEA,4BACA,6DAEA,qBACA,iCAEA,yCACA,wDACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,6BACA,kFAEA,mCACA,uBACA,YACA,yCACA,KACA,+BAEA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,aACA,aACA,MACA,kGACA,aAEA,CACA,eACA,gBACA,aACA,cAKA,sBACA,oBACA,qBACA,qBACA,CACA,qBACA,iBACA,aACA,sBACA,MACA,kGACA,aAEA,CACA,YACA,gBACA,aACA,aACA,MACA,kGACA,aAEA,CACA,eACA,gBACA,aACA,gBAIA,OACA,2BACA,cAGA,mBACA,yEACA,8DACA,+DACA,4DAEA,qBACA,gDACA,qBAEA,qBACA,gDACA,qBAEA,qBACA,8CACA,qBAEA,qBACA,2CACA,sBAGA,qBACA,SACA,gBACA,qBACA,+DAEA,eACA,oBACA,wBACA,uBACA,2BACA,mBACA,uBAEA,wBACA,yBACA,yBACA,2BACA,4BACA,4BACA,uBACA,wBACA,0BAKA,2BACA,GACA,iBACA,oBACA,gBACA,qBACA,sBACA,wBACA,yBACA,oBACA,sBAEA,uBACA,gBACA,oBAGA,YACA,0DACA,kBACA,kBACA,qCACA,kBAEA,qBACA,aACA,qBACA,gBACA,QACA,2EAOA,uCACA,4BACA,YACA,wDACA,sCAEA,kBACA,yBACA,kBACA,qCACA,kBAGA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,8CACA,YACA,2DACA,kBACA,kBACA,qCACA,kBAGA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,2CACA,YACA,gBACA,+DACA,eACA,4BACA,0BACA,oBACA,+BACA,kBACA,SACA,SACA,2DACA,KACA,mCAEA,kBACA,kBACA,qCACA,kBAGA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,8DASA,qCACA,0BACA,YACA,sDACA,iCACA,sCAEA,kBACA,uBACA,kBACA,qCACA,kBAGA,qBACA,sBACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,4CACA,YACA,yDACA,kBACA,kBACA,qCACA,kBAEA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,yCACA,YACA,gBACA,+DACA,eACA,4BACA,0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CA,aACA,4BACA,wEACA,MACA,kGACA,aAEA,CACA,iBACA,YACA,aACA,kBACA,MACA,kGAEA,aAEA,CACA,cACA,eACA,aACA,eACA,MACA,kGAEA,aAEA,CACA,gBACA,iBACA,aACA,kBACA,qBACA,gBACA,4BACA,8BACA,qCACA,yBAEA,2BACA,oBACA,mBACA,uBACA,cACA,sBAEA,uCAEA,UAGA,MACA,kGACA,uBACA,4BACA,8BACA,qCACA,yBAGA,qCACA,iCAEA,YACA,iCAEA,KAIA,aAEA,CACA,cACA,SACA,aACA,eACA,MACA,8GAEA,CACA,wBACA,aACA,aACA,yBACA,MACA,kGACA,aAEA,CACA,oBACA,cACA,aACA,qBACA,MACA,kGAEA,aAEA,CACA,mBACA,qBACA,aACA,oBACA,MACA,kGAEA,iBAWA,OACA,IACA,eAGA,OACA,cACA,aAEA,gBACA,aAEA,kBACA,oBAEA,kBACA,uBAEA,eACA,wBACA,2BAIA,qCACA,6BACA,wIAGA,4CACA,wIAGA,uBAEA,UACA,sBACA,2BACA,2BACA,yBACA,2BACA,mBACA,yBACA,2BACA,iBACA,YACA,sBACA,eACA,2BACA,gBACA0a,cAAe,EACfC,0BAA2B,GAE3B,aACA,cACA,cACA,gBACA,gBACA,wBAKA,oBACA,uBACA,2BACA,4BAEA,wBACA,0BACA,CACA,YACA,oBACA,aACA,aACA,MACA,kGACA,aAEA,CACA,YACA,gBACA,aACA,aACA,MACA,kGACA,aAEA,CACA,WACA,aACA,aACA,MACA,kGACA,aAEA,CACA,aACA,cACA,aACA,MACA,kGACA,cAIA,yBACA,wBACA,CACA,qBACA,iBACA,aACA,sBACA,MACA,kGACA,aAEA,CACA,YACA,gBACA,aACA,aACA,MACA,kGACA,aAEA,CACA,eACA,gBACA,aACA,gBACA,MACA,kGACA,aAEA,CACA,aACA,cACA,aACA,MACA,kGACA,cAIA,sBACA,qBACA,CACA,kBACA,iBACA,aACA,mBACA,MACA,kGACA,aAEA,CACA,YACA,gBACA,aACA,aACA,MACA,kGACA,aAEA,CACA,eACA,gBACA,aACA,gBACA,MACA,kGACA,aAEA,CACA,aACA,cACA,aACA,MACA,kGACA,cAKA,YACA,eAGA,iBAGA,SACA,CACA,qBACA,iBACA,aACA,sBACA,MACA,kGAEA,aAEA,CACA,cACA,eACA,aACA,eACA,0BACA,QACA,OACA,OACA,OACA,SACA,QACA,IACA,aAEA,CACA,WACA,gBACA,aACA,4BACA,qEACA,aAEA,CACA,sBACA,qBACA,aACA,uBACA,MACA,kGAEA,aAEA,CACA,YACA,aACA,aACA,aACA,MACA,kGAEA,aAEA,CACA,YACA,aACA,aACA,aACA,MACA,kGACA,aAEA,CACA,eACA,gBACA,aACA,cAGA,eACA,sBACA,mBACA,4BAGA,cACA,CACA,gBACA,UACA,aACA,iBACA,MACA,gGACA,aAEA,CACA,kBACA,uBACA,aACA,mBACA,MACA,kGAEA,aAEA,CACA,qBACA,kBACA,aACA,sBACA,qBACA,sBACA,kCAEA,GAGA,MACA,kGAEA,aAEA,CACA,uBACA,mBACA,aACA,wBACA,MACA,kGACA,aAEA,CACA,WACA,sBACA,aACA,YACA,MACA,kGACA,aAEA,CACA,oBACA,sBACA,aACA,qBACA,MACA,kGACA,aAEA,CACA,2BACA,qBACA,aACA,4BACA,MACA,4GACA,aAEA,CACA,eACA,gBACA,aACA,cAGA,YACA,mBACA,gBACA,qBACA,wBACA,aACA,oBACA,cAGA,gBACA,CACA,WACA,cACA,aACA,YACA,MACA,+GACA,aAEA,CACA,YACA,aACA,aACA,aAEA,aAEA,CACA,cACA,eACA,aACA,eACA,MACA,4GACA,aAEA,CACA,eACA,gBACA,aACA,MACA,4GACA,cAGA,qBACA,kBACA,uBACA,sBACA,wBAGA,cACA,CACA,YACA,aACA,aACA,aAEA,aAEA,CACA,eACA,gBACA,aACA,MACA,4GACA,cAGA,mBACA,gBACA,qBACA,oBACA,sBAGA,iBACA,CACA,YACA,aACA,aACA,aACA,MACA,kGACA,aAEA,CACA,YACA,aACA,aACA,aACA,MACA,gGACA,aAEA,CACA,aACA,cACA,aACA,cACA,MACA,gGACA,aAEA,CACA,cACA,eACA,aACA,eACA,MACA,gGACA,aAGA,CACA,iBACA,mBACA,aACA,kBACA,MACA,kGACA,aAEA,CACA,aACA,cACA,aACA,cACA,MACA,kGACA,aAEA,CACA,kBACA,mBACA,aACA,mBACA,MACA,gGACA,aAEA,CACA,aACA,cACA,aACA,cACA,MACA,gGACA,aAEA,CACA,mBACA,oBACA,aACA,oBACA,MACA,gGACA,aAEA,CACA,eACA,gBACA,aACA,cAKA,oBACA,CACA,gBACA,SACA,aAEA,MACA,gGACA,aAEA,CACA,wBACA,aACA,aACA,yBACA,MACA,kGAEA,aAEA,CACA,WACA,YACA,aAEA,MACA,kGAEA,cAGA,kBACA,yBACA,yBACA,2BACA,2BACA,mBACA,0BAEA,sBACA,mBACA,wBACA,uBAKA,iBACA,CACA,gBACA,gEACA,gLACA,gBAEA,CACA,qBACA,4CACA,2IACA,oBAEA,CACA,uBACA,8CACA,gLACA,sBAEA,CACA,oBACA,8DACA,2TACA,oBAGA,4BACA,gBACA,UACA,WACA,cAGA,0BACA,mBACA,YACA,mBACA,sDACA,4CACA,kDACA,0DACA,4DACA,0DACA,6DACA,8CACA,6CACA,wDACA,mEACA,qBACA,8BACA,UAGA,SAEA,gCACA,eACA,0DACA,2DAEA,gBACA,uCACA,oDAEA,eACA,sBACA,2BACA,2BACA,yBACA,2BACA,mBACA,yBACA,2BACA,iBACA,YACA,sBACA,eACA,2BACA,gBACA,gBACA,8BAIA,uBACA,6BACA,kBAEA,mBAGA,6BACA,qCACA,6CACA,EACA,SACA,wCACA,kBACA,kCACA,qBACA,oBACA,cACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,gCAKA,sCAIA,2BACA,qCACA,sCACA,qBACA,gDAGA,oBAEA,uBACA,8BAEA,YACA,4CACA,kBACA,kCACA,qBACA,iBACA,gBACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,+BACA,mEAEA,gCACA,0DAEA,sCACA,8BACA,YACA,4CACA,KACA,+BAEA,kBACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAOA,4BACA,6DAEA,qBACA,iCAEA,yCACA,wDACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,6BACA,kFAEA,mCACA,uBACA,YACA,yCACA,KACA,+BAEA,kBACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,sCACA,0BACA,YACA,kCACA,KACA,+BAEA,kBACA,0BACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,0BACA,wDACA,2BACA,8DAEA,2BACA,uDAKA,iCACA,0BACA,YACA,wDACA,kBACA,uBACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,iCAGA,wCACA,0DACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,wCACA,6BACA,2CACA,QACA,+BACA,kBACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,0DAIA,8BAEA,qCACA,0BACA,YACA,4BACA,KACA,+BAEA,kBACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAOA,+BACA,wBACA,YACA,sDACA,kBACA,qBACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,+BAGA,sCACA,wDACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,mCACA,0BACA,YACA,0BACA,KACA,+BAEA,kBACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAOA,kCACA,2BACA,YACA,yDACA,kBACA,wBACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,kCAGA,mGACA,MACA,kEACA,GACA,UACA,YACA,cACA,gBACA,sBACA,cACA,wBACA,cACA,0BACA,QACA,mCAIA,2DACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAKA,sCACA,0BACA,YACA,4CACA,KACA,+BAEA,kBACA,qBACA,aACA,aACA,qBACA,gBACA,8BAGA,aACA,qBACA,gBACA,2DAKA,8CACA,YACA,qCACA,kBACA,wBACA,uBAEA,kBACA,oBACA,aACA,qBACA,gBACA,6BAGA,aACA,qBACA,gBACA,2DAMA,6CACA,YACA,gBACA,qGACA,eACA,4BACA,0BACA,oBACA,+BACA,kBACA,YAEA,2CACA,6BACA,8DAEA,2BACA,+FAOA,uCACA,YACA,gBACA,gLACA,eACA,4BACA,0BACA,oBACA,+BACA,kBACA,SACA,SACA,mDACA,uBAEA,kBACA,oBACA,aACA,qBACA,gBACA,4DAGA,aACA,qBACA,gBACA,8DASA,sBACA,UACA,oBACA,mHACA,uBACA,UAEA,MAEA,gCACA,+FACA,yDACA,UAEA,MACA,qBACA,+FACA,8CACA,UAEA,MAEA,oCACA,+FACA,6DACA,UAEA,MAEA,QACA,QAIA,6CACA,wEACA,YACA,gBACA,0FACA,eACA,4BACA,0BACA,oBACA,+BACA,kBACA,YACA,OACA,8BACA,oBACA,2BACA,2BACA,SAGA,oBAMA,yCACA,wEACA,YACA,gBACA,gGACA,eACA,4BACA,0BACA,oBACA,+BACA,kBACA,YACA,OACA,8BACA,eACA,2BACA,4BAGA,oBAKA,oLACA,2CAGA,sCACA,kCACA,YACA,OAHA,SAIA,aACA,qBACA,+CACA,8FACA,mDAEA,aACA,qBACA,gBACA,uDACA,QAGA,0EArBA,MC7sHugB,M,0ICYxfrY,WAAI9f,OAAO,CACxBlX,KAAM,QAENi3B,OAAQ,CAAE+N,IAEVjlC,WAAY,CACVuvC,kBAGFhsC,MAAO,CACLu4B,KAAM,CACJtE,QAAS,MAGXgY,UAAW,CACTvlB,KAAMmS,QACN5E,QAAS,MAGXiY,YAAa,CACXxlB,KAAMsN,OACN0E,UAAW,SAAAC,GAAC,MAAI,8BAA8BpW,KAAKoW,KAGrD36B,QAA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","file":"js/clubInfo~competitions~competitionsEventView~competitionsView~dqCodes~questionTypes.6135a2eb.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./eventsSortableDatatable.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('q-form',{ref:\"form\",staticClass:\"full-width q-px-md\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('q-tabs',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('q-tab',{attrs:{\"name\":\"general\",\"label\":\"General\"}}),_c('q-tab',{attrs:{\"name\":\"settings\",\"label\":\"Settings\"}}),_c('q-tab',{attrs:{\"name\":\"sessions\",\"label\":\"Sessions\"}}),_c('q-tab',{attrs:{\"name\":\"arenas\",\"label\":\"Arenas\"}}),_c('q-tab',{attrs:{\"name\":\"events\",\"label\":\"Events\"}}),_c('q-tab',{attrs:{\"name\":\"questions\",\"label\":\"Questions\"}}),_c('q-tab',{attrs:{\"name\":\"limits\",\"label\":\"Limits\"}}),_c('q-tab',{attrs:{\"name\":\"downloads\",\"label\":\"Reports\"}}),_c('q-tab',{attrs:{\"name\":\"invoicing\",\"label\":\"Invoicing\"}}),_c('q-tab',{attrs:{\"name\":\"reminders\",\"label\":\"Reminders\"}}),_c('q-tab',{attrs:{\"name\":\"entries\",\"label\":\"Entries\"}})],1)],1)]),(_vm.tab == 'general')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"General\")])]),_c('div',{staticClass:\"col-12\",class:{ 'col-md-8': _vm.formData.id }},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Competition Name\"},model:{value:(_vm.formData.competition_name),callback:function ($$v) {_vm.$set(_vm.formData, \"competition_name\", $$v)},expression:\"formData.competition_name\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Agency\",\"readonly\":\"\"},model:{value:(_vm.formData.agency),callback:function ($$v) {_vm.$set(_vm.formData, \"agency\", $$v)},expression:\"formData.agency\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 q-pa-xs\"},[_c('q-select',_vm._b({attrs:{\"options\":[\n 'Northern Region',\n 'Eastern Region',\n 'Central Region',\n 'Southern Region'\n ],\"label\":\"SLS Region\"},model:{value:(_vm.formData.sls_region),callback:function ($$v) {_vm.$set(_vm.formData, \"sls_region\", $$v)},expression:\"formData.sls_region\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Contact Name\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-account\"}})]},proxy:true}],null,false,3128686816),model:{value:(_vm.formData.contactName),callback:function ($$v) {_vm.$set(_vm.formData, \"contactName\", $$v)},expression:\"formData.contactName\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 col-md-3 q-pa-xs\"},[_c('q-select',_vm._b({attrs:{\"label\":\"Sport Type\",\"options\":_vm.competitionTypes,\"option-label\":\"label\",\"option-value\":\"value\",\"emit-value\":\"\",\"map-options\":\"\"},model:{value:(_vm.formData.competition_type),callback:function ($$v) {_vm.$set(_vm.formData, \"competition_type\", $$v)},expression:\"formData.competition_type\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 col-md-3 q-pa-xs\"},[_c('q-select',_vm._b({attrs:{\"label\":\"Type\",\"options\":[\n { label: 'IRB', value: 'IRB' },\n { label: 'Surf Boat', value: 'Surf Boat' },\n { label: 'Surf Canoe', value: 'Surf Canoe' },\n { label: 'Senior', value: 'Senior' },\n { label: 'Junior', value: 'Junior' },\n { label: 'Masters', value: 'Masters' }\n ],\"option-label\":\"label\",\"option-value\":\"value\",\"emit-value\":\"\",\"map-options\":\"\"},model:{value:(_vm.formData.secondary_type),callback:function ($$v) {_vm.$set(_vm.formData, \"secondary_type\", $$v)},expression:\"formData.secondary_type\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 col-md-3 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Phone\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-phone\"}})]},proxy:true}],null,false,2284177757),model:{value:(_vm.formData.phone),callback:function ($$v) {_vm.$set(_vm.formData, \"phone\", $$v)},expression:\"formData.phone\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 col-md-3 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Mobile\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-cellphone\"}})]},proxy:true}],null,false,3015138043),model:{value:(_vm.formData.mobile),callback:function ($$v) {_vm.$set(_vm.formData, \"mobile\", $$v)},expression:\"formData.mobile\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Email\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-email\"}})]},proxy:true}],null,false,1567820621),model:{value:(_vm.formData.email),callback:function ($$v) {_vm.$set(_vm.formData, \"email\", $$v)},expression:\"formData.email\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Venue\"},model:{value:(_vm.formData.venue),callback:function ($$v) {_vm.$set(_vm.formData, \"venue\", $$v)},expression:\"formData.venue\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Youtube Video\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-youtube\"}})]},proxy:true}],null,false,998152068),model:{value:(_vm.formData.youtubeVideoID),callback:function ($$v) {_vm.$set(_vm.formData, \"youtubeVideoID\", $$v)},expression:\"formData.youtubeVideoID\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-btn-dropdown',{staticClass:\"full-width\",attrs:{\"color\":_vm.statusColors[_vm.formData.status],\"label\":_vm.formData.status}},[_c('q-list',_vm._l((_vm.competitionStatusOptions),function(status,index){return _c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],key:(\"statusOption_\" + index),attrs:{\"clickable\":\"\"},on:{\"click\":function($event){status.value == 'ARCHIVED'\n ? null\n : (_vm.formData.status = status.value)}}},[_c('q-item-section',[_c('q-item-label',[_vm._v(_vm._s(status.label))])],1)],1)}),1)],1)],1)])]),(_vm.formData.id)?_c('div',{staticClass:\"col-12 col-md-4\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[((_vm.changeImage || !_vm.formData.logoUrl) && _vm.formData.id)?_c('div',{staticStyle:{\"margin\":\"auto\",\"width\":\"300px\"}},[_c('croppa',{ref:\"imgCroppa\",attrs:{\"height\":200,\"width\":300,\"show-remove-button\":true,\"remove-button-color\":\"#68c6d2\",\"show-loading\":true,\"loading-size\":50,\"crossOrigin\":\"anonymous\",\"quality\":2,\"prevent-white-space\":false,\"placeholder\":'Choose an image (300x200)',\"placeholder-font-size\":15},model:{value:(_vm.myCroppa),callback:function ($$v) {_vm.myCroppa=$$v},expression:\"myCroppa\"}}),(_vm.formData.id)?_c('q-btn',{staticClass:\"full-width\",attrs:{\"color\":\"negative\",\"label\":\"Cancel\"},on:{\"click\":function($event){_vm.changeImage = false;\n _vm.myCroppa = null;}}}):_vm._e()],1):_c('div',{staticStyle:{\"margin\":\"auto\",\"width\":\"300px\"}},[(_vm.formData.id)?_c('q-img',{staticStyle:{\"height\":\"200px\",\"width\":\"300px\"},attrs:{\"src\":_vm.formData.logoUrl}}):_vm._e(),(_vm.formData.id)?_c('q-btn',{staticClass:\"full-width\",attrs:{\"color\":\"primary\",\"label\":\"Change\"},on:{\"click\":function($event){_vm.changeImage = true}}}):_vm._e()],1)])])]):_vm._e(),_c('div',{staticClass:\"col-12 col-md-6 q-mt-md q-px-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Key Dates\")])])]),_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Competition Start Date\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.start_date),callback:function ($$v) {_vm.$set(_vm.formData, \"start_date\", $$v)},expression:\"formData.start_date\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}],null,false,3649373982),model:{value:(_vm.formData.start_date),callback:function ($$v) {_vm.$set(_vm.formData, \"start_date\", $$v)},expression:\"formData.start_date\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Competition Finish Date\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD HH:mm\"},model:{value:(_vm.formData.end_date),callback:function ($$v) {_vm.$set(_vm.formData, \"end_date\", $$v)},expression:\"formData.end_date\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1),_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"access_time\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-time',{attrs:{\"mask\":\"YYYY-MM-DD HH:mm\"},model:{value:(_vm.formData.end_date),callback:function ($$v) {_vm.$set(_vm.formData, \"end_date\", $$v)},expression:\"formData.end_date\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}],null,false,2029653524),model:{value:(_vm.formData.end_date),callback:function ($$v) {_vm.$set(_vm.formData, \"end_date\", $$v)},expression:\"formData.end_date\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Entries Close\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD HH:mm\"},model:{value:(_vm.formData.entriesCloseDate),callback:function ($$v) {_vm.$set(_vm.formData, \"entriesCloseDate\", $$v)},expression:\"formData.entriesCloseDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1),_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"access_time\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-time',{attrs:{\"mask\":\"YYYY-MM-DD HH:mm\"},model:{value:(_vm.formData.entriesCloseDate),callback:function ($$v) {_vm.$set(_vm.formData, \"entriesCloseDate\", $$v)},expression:\"formData.entriesCloseDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}],null,false,2434056724),model:{value:(_vm.formData.entriesCloseDate),callback:function ($$v) {_vm.$set(_vm.formData, \"entriesCloseDate\", $$v)},expression:\"formData.entriesCloseDate\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Calculate age as at\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.age_reference_date),callback:function ($$v) {_vm.$set(_vm.formData, \"age_reference_date\", $$v)},expression:\"formData.age_reference_date\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}],null,false,4144802825),model:{value:(_vm.formData.age_reference_date),callback:function ($$v) {_vm.$set(_vm.formData, \"age_reference_date\", $$v)},expression:\"formData.age_reference_date\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Refresher valid as at\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.refresher_reference_date),callback:function ($$v) {_vm.$set(_vm.formData, \"refresher_reference_date\", $$v)},expression:\"formData.refresher_reference_date\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}],null,false,3362400864),model:{value:(_vm.formData.refresher_reference_date),callback:function ($$v) {_vm.$set(_vm.formData, \"refresher_reference_date\", $$v)},expression:\"formData.refresher_reference_date\"}},'q-input',_vm.siteCFG.fields.general,false))],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-mt-md q-px-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Entry Form Type\")])])]),_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Team Events\"},model:{value:(_vm.formData.teamsPlayersEntries),callback:function ($$v) {_vm.$set(_vm.formData, \"teamsPlayersEntries\", $$v)},expression:\"formData.teamsPlayersEntries\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Individual Events\"},model:{value:(_vm.formData.multipleEventsPerAthlete),callback:function ($$v) {_vm.$set(_vm.formData, \"multipleEventsPerAthlete\", $$v)},expression:\"formData.multipleEventsPerAthlete\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"label\":\"Show Entries to Public\",\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\"},model:{value:(_vm.formData.showEntriesToPublic),callback:function ($$v) {_vm.$set(_vm.formData, \"showEntriesToPublic\", $$v)},expression:\"formData.showEntriesToPublic\"}})],1)])])],1)]):_vm._e(),(_vm.tab == 'settings')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Settings\")])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Settings\")])])]),_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12 col-sm-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Num Lanes\"},model:{value:(_vm.formData.default_num_lanes),callback:function ($$v) {_vm.$set(_vm.formData, \"default_num_lanes\", $$v)},expression:\"formData.default_num_lanes\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"label\":\"First Lane No\"},model:{value:(_vm.formData.first_lane_no),callback:function ($$v) {_vm.$set(_vm.formData, \"first_lane_no\", $$v)},expression:\"formData.first_lane_no\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 q-pa-xs\"},[_c('q-select',_vm._b({attrs:{\"label\":\"Pool Length\",\"options\":_vm.poolLengthOptions,\"option-label\":\"label\",\"option-value\":\"value\",\"map-options\":\"\",\"emit-value\":true},model:{value:(_vm.formData.pool_length),callback:function ($$v) {_vm.$set(_vm.formData, \"pool_length\", $$v)},expression:\"formData.pool_length\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-sm-6 q-pa-xs\"},[_c('q-select',_vm._b({attrs:{\"label\":\"Seeding\",\"options\":['Random', 'First Lane Out', 'Centre Lane Out'],\"option-label\":\"label\",\"option-value\":\"value\",\"map-options\":\"\",\"emit-value\":true},model:{value:(_vm.formData.lane_order_type),callback:function ($$v) {_vm.$set(_vm.formData, \"lane_order_type\", $$v)},expression:\"formData.lane_order_type\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Use qualifying times\"},model:{value:(_vm.formData.qualifyingTimesOrMarks),callback:function ($$v) {_vm.$set(_vm.formData, \"qualifyingTimesOrMarks\", $$v)},expression:\"formData.qualifyingTimesOrMarks\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Live Results Points Table\"},model:{value:(_vm.formData.lr_showPoints),callback:function ($$v) {_vm.$set(_vm.formData, \"lr_showPoints\", $$v)},expression:\"formData.lr_showPoints\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Live Results Medals Table\"},model:{value:(_vm.formData.lr_showMedals),callback:function ($$v) {_vm.$set(_vm.formData, \"lr_showMedals\", $$v)},expression:\"formData.lr_showMedals\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Live Results Points & Medals after event\"},model:{value:(_vm.formData.lr_showPAndMAfterFinished),callback:function ($$v) {_vm.$set(_vm.formData, \"lr_showPAndMAfterFinished\", $$v)},expression:\"formData.lr_showPAndMAfterFinished\"}})],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"Events Drawn before Event\"},model:{value:(_vm.formData.preDrawnEvents),callback:function ($$v) {_vm.$set(_vm.formData, \"preDrawnEvents\", $$v)},expression:\"formData.preDrawnEvents\"}})],1)])])],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Quota\")])])]),_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-input',_vm._b({directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"label\":\"Max Num of entries per Association\"},model:{value:(_vm.formData.entriesPerAssociation),callback:function ($$v) {_vm.$set(_vm.formData, \"entriesPerAssociation\", $$v)},expression:\"formData.entriesPerAssociation\"}},'q-input',_vm.siteCFG.fields.general,false)),_c('q-input',_vm._b({attrs:{\"label\":\"Max Num of entries per Association\"},model:{value:(_vm.formData.entriesPerAssociation),callback:function ($$v) {_vm.$set(_vm.formData, \"entriesPerAssociation\", $$v)},expression:\"formData.entriesPerAssociation\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-input',_vm._b({directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"label\":\"Max Events per Athlete\"},model:{value:(_vm.formData.eventsPerAthlete),callback:function ($$v) {_vm.$set(_vm.formData, \"eventsPerAthlete\", $$v)},expression:\"formData.eventsPerAthlete\"}},'q-input',_vm.siteCFG.fields.general,false)),_c('q-input',_vm._b({attrs:{\"label\":\"Max Events per Athlete\"},model:{value:(_vm.formData.eventsPerAthlete),callback:function ($$v) {_vm.$set(_vm.formData, \"eventsPerAthlete\", $$v)},expression:\"formData.eventsPerAthlete\"}},'q-input',_vm.siteCFG.fields.general,false))],1)])])],1)])]),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{staticClass:\"full-height\",attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Info Fields\")])])]),_c('div',{staticClass:\"col-12 q-px-md\"},[_c('q-editor',{attrs:{\"dense\":_vm.$q.screen.lt.md,\"toolbar\":[\n [\n {\n label: _vm.$q.lang.editor.align,\n icon: _vm.$q.iconSet.editor.align,\n fixedLabel: true,\n list: 'only-icons',\n options: ['left', 'center', 'right', 'justify']\n },\n {\n label: _vm.$q.lang.editor.align,\n icon: _vm.$q.iconSet.editor.align,\n fixedLabel: true,\n options: ['left', 'center', 'right', 'justify']\n }\n ],\n [\n 'bold',\n 'italic',\n 'strike',\n 'underline',\n 'subscript',\n 'superscript'\n ],\n ['token', 'hr', 'link', 'custom_btn'],\n ['print', 'fullscreen'],\n [\n {\n label: _vm.$q.lang.editor.formatting,\n icon: _vm.$q.iconSet.editor.formatting,\n list: 'no-icons',\n options: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'code']\n },\n {\n label: _vm.$q.lang.editor.fontSize,\n icon: _vm.$q.iconSet.editor.fontSize,\n fixedLabel: true,\n fixedIcon: true,\n list: 'no-icons',\n options: [\n 'size-1',\n 'size-2',\n 'size-3',\n 'size-4',\n 'size-5',\n 'size-6',\n 'size-7'\n ]\n },\n {\n label: _vm.$q.lang.editor.defaultFont,\n icon: _vm.$q.iconSet.editor.font,\n fixedIcon: true,\n list: 'no-icons',\n options: [\n 'default_font',\n 'arial',\n 'arial_black',\n 'comic_sans',\n 'courier_new',\n 'impact',\n 'lucida_grande',\n 'times_new_roman',\n 'verdana'\n ]\n },\n 'removeFormat'\n ],\n ['quote', 'unordered', 'ordered', 'outdent', 'indent'],\n\n ['undo', 'redo'],\n ['viewsource']\n ],\"fonts\":{\n arial: 'Arial',\n arial_black: 'Arial Black',\n comic_sans: 'Comic Sans MS',\n courier_new: 'Courier New',\n impact: 'Impact',\n lucida_grande: 'Lucida Grande',\n times_new_roman: 'Times New Roman',\n verdana: 'Verdana'\n }},model:{value:(_vm.formData.entryInformationSection),callback:function ($$v) {_vm.$set(_vm.formData, \"entryInformationSection\", $$v)},expression:\"formData.entryInformationSection\"}})],1),_c('div',{staticClass:\"col-12 q-pa-md\"},[_c('q-input',_vm._b({attrs:{\"type\":\"textarea\",\"label\":\"Notice Bottom\"},model:{value:(_vm.formData.noticeBottom),callback:function ($$v) {_vm.$set(_vm.formData, \"noticeBottom\", $$v)},expression:\"formData.noticeBottom\"}},'q-input',_vm.siteCFG.fields.general,false))],1)])],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-px-md q-pt-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Competition Points\")])])]),_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_vm._v(\"Individual Events\")]),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.finalsPoints_id,\"label\":\"Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.finalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.semiFinalsPoints_id,\"label\":\"Semi Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.semiFinalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.quaterFinalsPoints_id,\"label\":\"Quater Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.quaterFinalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.heatsPoints_id,\"label\":\"Heats Points\"},on:{\"changed\":function (val) { return (_vm.formData.heatsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.roundsPoints_id,\"label\":\"Rounds Points\"},on:{\"changed\":function (val) { return (_vm.formData.roundsPoints_id = val); }}})],1)])]),_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_vm._v(\"Team Events\")]),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.teamFinalsPoints_id,\"label\":\"Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.teamFinalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.teamSemiFinalsPoints_id,\"label\":\"Semi Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.teamSemiFinalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.teamQuaterFinalsPoints_id,\"label\":\"Quater Finals Points\"},on:{\"changed\":function (val) { return (_vm.formData.teamQuaterFinalsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.teamHeatsPoints_id,\"label\":\"Heats Points\"},on:{\"changed\":function (val) { return (_vm.formData.teamHeatsPoints_id = val); }}})],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('assign-points-table',{attrs:{\"id\":_vm.formData.teamRoundsPoints_id,\"label\":\"Rounds Points\"},on:{\"changed\":function (val) { return (_vm.formData.teamRoundsPoints_id = val); }}})],1)])])])])],1)]):_vm._e(),(_vm.tab == 'sessions')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Competition Sessions \"),_c('q-btn',{staticClass:\"q-ml-md\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\",\"loading\":_vm.addSessionLoading},on:{\"click\":_vm.addSession}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-plus-circle\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Add \")],1),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.sessionsSearch),callback:function ($$v) {_vm.sessionsSearch=$$v},expression:\"sessionsSearch\"}})],1)]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 285px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.sessionsSearch,\"flat\":true,\"data\":_vm.sessions,\"columns\":_vm.sessionColumns},on:{\"rowDoubleClick\":_vm.sessionDoubleClick},scopedSlots:_vm._u([{key:\"body-cell-name\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"label\":\"Session Name\",\"hide-label\":\"\",\"dense\":\"\",\"debounce\":1000},on:{\"input\":function($event){return _vm.updateSessionRow(data.props.row)}},model:{value:(data.props.row.name),callback:function ($$v) {_vm.$set(data.props.row, \"name\", $$v)},expression:\"data.props.row.name\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-idx\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"label\":\"IDX\",\"hide-label\":\"\",\"dense\":\"\",\"debounce\":1000},on:{\"input\":function($event){return _vm.updateSessionRow(data.props.row)}},model:{value:(data.props.row.idx),callback:function ($$v) {_vm.$set(data.props.row, \"idx\", $$v)},expression:\"data.props.row.idx\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-active\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(!_vm.settingSessionActive)?_c('q-icon',{attrs:{\"name\":(\"mdi-\" + (data.props.row.active\n ? 'check-circle-outline'\n : 'close-circle-outline')),\"color\":data.props.row.active ? 'positive' : 'negative',\"size\":\"sm\"},on:{\"click\":function($event){return _vm.setSessionActive(data.props.row)}}},[_c('q-tooltip',[_vm._v(\" Session is \"+_vm._s(data.props.row.active ? \"Active\" : \"Inactive (Click to make active)\")+\" \")])],1):_c('q-spinner-dots',{staticClass:\"q-mr-sm\",attrs:{\"color\":\"info\",\"size\":\"sm\"}})],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"loading\":_vm.removingSessionID == data.props.row.id,\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeSession(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Session\")])],1)],1)]}}],null,false,1521169263)})],1)]):_vm._e(),(_vm.tab == 'arenas')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Competition Arenas \"),_c('q-btn',{staticClass:\"q-ml-md\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\",\"loading\":_vm.addArenaLoading},on:{\"click\":_vm.addArena}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-plus-circle\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Add \")],1),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.sessionsSearch),callback:function ($$v) {_vm.sessionsSearch=$$v},expression:\"sessionsSearch\"}})],1)]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 285px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.arenasSearch,\"flat\":true,\"data\":_vm.arenas,\"columns\":_vm.arenaColumns},on:{\"rowDoubleClick\":_vm.arenaDoubleClick},scopedSlots:_vm._u([{key:\"body-cell-name\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"label\":\"Arena Name\",\"hide-label\":\"\",\"dense\":\"\",\"debounce\":1000},on:{\"input\":function($event){return _vm.updateArenaRow(data.props.row)}},model:{value:(data.props.row.name),callback:function ($$v) {_vm.$set(data.props.row, \"name\", $$v)},expression:\"data.props.row.name\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"loading\":_vm.removingArenaID == data.props.row.id,\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeArena(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Arena\")])],1)],1)]}}],null,false,1264197814)})],1)]):_vm._e(),(_vm.tab == 'events')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Events \"),(!_vm.addEvent && !_vm.editEvent)?_c('q-btn',{staticClass:\"q-ml-md\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\"},on:{\"click\":function($event){_vm.addEvent = true}}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-plus-circle\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Add \")],1):_vm._e(),(_vm.addEvent)?_c('q-btn',{staticClass:\"float-right\",attrs:{\"flat\":\"\"},on:{\"click\":function($event){_vm.addEvent = false}}},[_c('q-icon',{attrs:{\"name\":\"mdi-close\"}})],1):_vm._e(),(_vm.editEvent)?_c('q-btn',{staticClass:\"float-right\",attrs:{\"flat\":\"\"},on:{\"click\":function($event){return _vm.$router.push((\"/competitions/\" + (_vm.data.id)))}}},[_c('q-icon',{attrs:{\"name\":\"mdi-close\"}})],1):_vm._e(),(!_vm.addEvent && !_vm.editEvent)?_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.eventsSearch),callback:function ($$v) {_vm.eventsSearch=$$v},expression:\"eventsSearch\"}}):_vm._e()],1)]),(!_vm.addEvent && !_vm.editEvent)?_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 285px) !important\"}},[_c('eventsSortableDatatable',{attrs:{\"eventsSearch\":_vm.eventsSearch}})],1):_vm._e(),(_vm.addEvent)?_c('div',{staticClass:\"col-12\"},[_c('eventForm',{ref:\"addEventForm\",attrs:{\"forCompetition\":\"\",\"competitionType\":_vm.formData.competition_type},on:{\"close\":function($event){_vm.addEvent = false},\"loadingStateChanged\":function (state) { return (_vm.addEventLoading = state); }}})],1):_vm._e(),(_vm.addEvent)?_c('div',{staticClass:\"col-12\"},[_c('q-btn',{staticClass:\"float-right\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\",\"loading\":_vm.addEventLoading},on:{\"click\":_vm.submitEventToAdd}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-plus-circle\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Add Event \")],1)],1):_vm._e(),(_vm.editEvent)?_c('div',{staticClass:\"col-12\"},[_c('eventForm',{ref:\"editEventForm\",attrs:{\"forCompetition\":\"\",\"competitionType\":_vm.formData.competition_type,\"id\":_vm.$route.params.events_id},on:{\"close\":function($event){return _vm.$router.push((\"/competitions/\" + (_vm.data.id)))},\"loadingStateChanged\":function (state) { return (_vm.editEventLoading = state); }}})],1):_vm._e(),(_vm.editEvent)?_c('div',{staticClass:\"col-12\"},[_c('q-btn',{staticClass:\"float-right\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\",\"loading\":_vm.editEventLoading},on:{\"click\":_vm.saveEvent}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-content-save\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Save Event \")],1)],1):_vm._e()]):_vm._e(),(_vm.tab == 'questions')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Competition Questions \"),_c('q-btn',{staticClass:\"q-ml-md\",attrs:{\"color\":\"primary\",\"text-color\":\"white\",\"no-caps\":\"\",\"loading\":_vm.addQuestionLoading},on:{\"click\":_vm.addQuestion}},[_c('q-icon',{staticClass:\"q-mr-sm\",attrs:{\"name\":\"mdi-plus-circle\",\"color\":\"white\",\"size\":\"xs\"}}),_vm._v(\" Add \")],1),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.questionsSearch),callback:function ($$v) {_vm.questionsSearch=$$v},expression:\"questionsSearch\"}})],1)]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 285px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.questionsSearch,\"flat\":true,\"data\":_vm.questions,\"columns\":_vm.questionColumns},on:{\"rowDoubleClick\":_vm.questionDoubleClick},scopedSlots:_vm._u([{key:\"body-cell-type\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-select',_vm._b({attrs:{\"label\":\"Type\",\"options\":_vm.questionTypes,\"option-label\":\"questionName\",\"option-value\":\"id\",\"emit-value\":\"\",\"map-options\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row, true)}},model:{value:(data.props.row.type),callback:function ($$v) {_vm.$set(data.props.row, \"type\", $$v)},expression:\"data.props.row.type\"}},'q-select',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-name\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.name),callback:function ($$v) {_vm.$set(data.props.row, \"name\", $$v)},expression:\"data.props.row.name\"}})],1)]}},{key:\"body-cell-email\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.email),callback:function ($$v) {_vm.$set(data.props.row, \"email\", $$v)},expression:\"data.props.row.email\"}})],1)]}},{key:\"body-cell-mobile\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.mobile),callback:function ($$v) {_vm.$set(data.props.row, \"mobile\", $$v)},expression:\"data.props.row.mobile\"}})],1)]}},{key:\"body-cell-rangeType\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-select',_vm._b({attrs:{\"label\":\"Range\",\"options\":_vm.questionRangeTypes,\"option-label\":\"label\",\"option-value\":\"value\",\"emit-value\":\"\",\"map-options\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.rangeType),callback:function ($$v) {_vm.$set(data.props.row, \"rangeType\", $$v)},expression:\"data.props.row.rangeType\"}},'q-select',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-range\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(data.props.row.rangeType == 0)?_c('q-select',_vm._b({attrs:{\"label\":\"Range\",\"options\":_vm.questionRangeOptions,\"option-label\":\"label\",\"option-value\":\"value\",\"emit-value\":\"\",\"map-options\":\"\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.range),callback:function ($$v) {_vm.$set(data.props.row, \"range\", $$v)},expression:\"data.props.row.range\"}},'q-select',_vm.siteCFG.fields.general,false)):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 q-px-xs\"},[(data.props.row.rangeType == 1)?_c('q-input',_vm._b({attrs:{\"label\":\"Min\",\"type\":\"number\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.min),callback:function ($$v) {_vm.$set(data.props.row, \"min\", $$v)},expression:\"data.props.row.min\"}},'q-input',_vm.siteCFG.fields.general,false)):_vm._e()],1),_c('div',{staticClass:\"col-6 q-px-xs\"},[(data.props.row.rangeType == 1)?_c('q-input',_vm._b({attrs:{\"label\":\"Max\",\"type\":\"number\",\"dense\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.max),callback:function ($$v) {_vm.$set(data.props.row, \"max\", $$v)},expression:\"data.props.row.max\"}},'q-input',_vm.siteCFG.fields.general,false)):_vm._e()],1)])],1)]}},{key:\"body-cell-competitor\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.competitor),callback:function ($$v) {_vm.$set(data.props.row, \"competitor\", $$v)},expression:\"data.props.row.competitor\"}})],1)]}},{key:\"body-cell-teams\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.teams),callback:function ($$v) {_vm.$set(data.props.row, \"teams\", $$v)},expression:\"data.props.row.teams\"}})],1)]}},{key:\"body-cell-competition\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateQuestionRow(data.props.row)}},model:{value:(data.props.row.competition),callback:function ($$v) {_vm.$set(data.props.row, \"competition\", $$v)},expression:\"data.props.row.competition\"}})],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"loading\":_vm.removingQuestionID == data.props.row.id,\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeQuestion(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Question\")])],1)],1)]}}],null,false,3112500672)})],1)]):_vm._e(),(_vm.tab == 'limits')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Limits\")])]),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Limit Options\")])]),_c('div',{staticClass:\"col-12 col-sm-6 col-md-4\"},[_c('q-select',{attrs:{\"label\":\"Limit Type\",\"options\":_vm.competitionLimitTypes},model:{value:(_vm.formData.limitType),callback:function ($$v) {_vm.$set(_vm.formData, \"limitType\", $$v)},expression:\"formData.limitType\"}})],1)])])],1),(_vm.formData.limitType == 'Specific')?_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" CRM Associations \"),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.associationsCRMSearch),callback:function ($$v) {_vm.associationsCRMSearch=$$v},expression:\"associationsCRMSearch\"}})],1)]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 490px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.associationsCRMSearch,\"flat\":true,\"data\":_vm.crmAssociations,\"columns\":_vm.associationColumns},scopedSlots:_vm._u([{key:\"body-cell-selected\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateAssociationLimit(data.props.row.id)}},model:{value:(_vm.limits[data.props.row.id]),callback:function ($$v) {_vm.$set(_vm.limits, data.props.row.id, $$v)},expression:\"limits[data.props.row.id]\"}})],1)]}},{key:\"body-cell-cap\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(data.props.row.capUrl)?_c('q-img',{staticClass:\"q-ml-sm\",attrs:{\"src\":data.props.row.capUrl,\"width\":\"40px\",\"contain\":\"\"}}):_vm._e()],1)]}}],null,false,844302105)})],1)])])])],1):_vm._e(),(_vm.formData.limitType == 'Specific')?_c('div',{staticClass:\"col-12 col-md-6 q-px-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Added Associations \"),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.associationsAddedSearch),callback:function ($$v) {_vm.associationsAddedSearch=$$v},expression:\"associationsAddedSearch\"}})],1)]),_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 490px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.associationsAddedSearch,\"flat\":true,\"data\":_vm.nonCrmAssociations,\"columns\":_vm.associationColumns},scopedSlots:_vm._u([{key:\"body-cell-selected\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',{attrs:{\"true-value\":1,\"false-value\":0,\"indeterminate-value\":\"no-value\",\"label\":\"\"},on:{\"input\":function($event){return _vm.updateAssociationLimit(data.props.row.id)}},model:{value:(_vm.limits[data.props.row.id]),callback:function ($$v) {_vm.$set(_vm.limits, data.props.row.id, $$v)},expression:\"limits[data.props.row.id]\"}})],1)]}},{key:\"body-cell-cap\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(data.props.row.capUrl)?_c('q-img',{staticClass:\"q-ml-sm\",attrs:{\"src\":data.props.row.capUrl,\"width\":\"40px\",\"contain\":\"\"}}):_vm._e()],1)]}}],null,false,844302105)})],1)])])])],1):_vm._e()]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tab == 'invoicing'),expression:\"tab == 'invoicing'\"}],staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Invoicing sendInvoiceToAssociations \"),_c('q-btn',{staticClass:\"float-right\",attrs:{\"label\":_vm.previewClubInvoices\n ? 'Manage Invoice Settings'\n : 'Preview Club Invoices',\"color\":\"primary\",\"no-caps\":\"\"},on:{\"click\":function($event){_vm.previewClubInvoices = !_vm.previewClubInvoices}}}),_c('q-btn',{staticClass:\"float-right q-mr-sm\",attrs:{\"label\":\"Create Xero Invoices\",\"color\":\"primary\",\"no-caps\":\"\"},on:{\"click\":_vm.sendClubInvoices}})],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.previewClubInvoices),expression:\"!previewClubInvoices\"}],staticClass:\"col-12\"},[(_vm.tab == 'invoicing' || _vm.invoiceTabOpened == true)?_c('invoicingForm',{ref:\"invoiceForm\"}):_vm._e()],1),(_vm.previewClubInvoices)?_c('div',{staticClass:\"col-12\"},[_vm._v(\" Previewing Club Invoices \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Association\",\"items\":_vm.invoiceObjects,\"itemsLoading\":_vm.invoiceObjectsLoading,\"option_label\":\"association_name\",\"option_value\":\"id\",\"id\":_vm.previewClubInvoice_id},on:{\"changed\":function (val) {\n _vm.previewClubInvoice_id = val;\n }}})],1),(_vm.previewClubInvoiceData)?_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{staticStyle:{\"height\":\"100%\"},attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Competition Fees\")])]),_c('div',{staticClass:\"col-12\"},[_c('table',{staticStyle:{\"width\":\"100%\"}},[_c('tr',{staticStyle:{\"text-align\":\"left\"}},[_c('th',[_vm._v(\"Fee\")]),_c('th',[_vm._v(\"Calculation\")]),_c('th',[_vm._v(\"Total\")])]),_c('tr',[_c('td',[_vm._v(\"Early Entry\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.compEarlyEntry ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.earlyCompetitionEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.compEarlyEntry ) * _vm.previewClubInvoiceData.earlyCompetitionEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Standard Entry\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.compStandardEntry ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.standardCompetitionEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.compStandardEntry ) * _vm.previewClubInvoiceData.standardCompetitionEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Late Entry\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.compLateEntry ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.lateCompetitionEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.compLateEntry ) * _vm.previewClubInvoiceData.lateCompetitionEntries ))+\" \")])])])])])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Per Event\")])]),_c('div',{staticClass:\"col-12\"},[_c('table',{staticStyle:{\"width\":\"100%\"}},[_c('tr',{staticStyle:{\"text-align\":\"left\"}},[_c('th',[_vm._v(\"Fee\")]),_c('th',[_vm._v(\"Calculation\")]),_c('th',[_vm._v(\"Total\")])]),_c('tr',[_c('td',[_vm._v(\"Early Entry Individual\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventEarlyEntryInd ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.earlyIndividualEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventEarlyEntryInd ) * _vm.previewClubInvoiceData.earlyIndividualEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Early Entry Team\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventEarlyEntryTeam ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.earlyTeamEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventEarlyEntryTeam ) * _vm.previewClubInvoiceData.earlyTeamEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Standard Entry Individual\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventStandardEntryInd ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.standardIndividualEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventStandardEntryInd ) * _vm.previewClubInvoiceData.standardIndividualEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Standard Entry Team\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventStandardEntryTeam ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.standardTeamEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventStandardEntryTeam ) * _vm.previewClubInvoiceData.standardTeamEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Late Entry Individual\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventLateEntryInd ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.lateIndividualEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventLateEntryInd ) * _vm.previewClubInvoiceData.lateIndividualEntries ))+\" \")])]),_c('tr',[_c('td',[_vm._v(\"Late Entry Team\")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( _vm.previewClubInvoiceData.eventLateEntryTeam ))+\" X \"+_vm._s(_vm.previewClubInvoiceData.lateTeamEntries)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat( _vm.previewClubInvoiceData.eventLateEntryTeam ) * _vm.previewClubInvoiceData.lateTeamEntries ))+\" \")])])])])])])],1),_c('div',{staticClass:\"col-12 q-px-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Additional\")])]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"285px\"}},[_c('datatable',{attrs:{\"filter\":_vm.additionalFeesSearch,\"flat\":true,\"data\":_vm.previewClubInvoiceData.additionalCharges,\"columns\":_vm.additionalChargesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(_vm.moneyFormatter(data.props.row.ammt))+\" \")])]}},{key:\"body-cell-qty\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(data.props.row.athlete == 1 ? data.props.row.athletes : data.props.row.indEvent == 1 ? data.props.row.individualEventEntries : data.props.row.teamEventEntires)+\" \")])]}},{key:\"body-cell-total\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(data.props.row.athlete == 1 ? _vm.moneyFormatter( parseFloat(data.props.row.ammt) * data.props.row.athletes ) : data.props.row.indEvent == 1 ? _vm.moneyFormatter( parseFloat(data.props.row.ammt) * data.props.row.individualEventEntries ) : _vm.moneyFormatter( parseFloat(data.props.row.ammt) * data.props.row.teamEventEntires ))+\" \")])]}}],null,false,1217147862)})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Per Division\")])])])]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"235px\"}},[_c('datatable',{attrs:{\"filter\":_vm.divisionChargesSearch,\"flat\":true,\"data\":_vm.previewClubInvoiceData.divisionCharges,\"columns\":_vm.divisionChargesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(_vm.moneyFormatter(data.props.row.ammt))+\" \")])]}},{key:\"body-cell-total\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat(data.props.row.ammt) * data.props.row.entries ))+\" \")])]}}],null,false,1466983000)})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Per Event\")])])])]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"235px\"}},[_c('datatable',{attrs:{\"filter\":_vm.eventChargesSearch,\"flat\":true,\"data\":_vm.previewClubInvoiceData.eventCharges,\"columns\":_vm.eventChargesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(_vm.moneyFormatter(data.props.row.ammt))+\" \")])]}},{key:\"body-cell-total\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(_vm.moneyFormatter( parseFloat(data.props.row.ammt) * data.props.row.entries ))+\" \")])]}}],null,false,1466983000)})],1)])])],1)])]):_vm._e()])]):_vm._e()]),(_vm.tab == 'reminders')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 col-md-6\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Reminders\")])]),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('div',{staticClass:\"row items-center\"},[_c('div',{staticClass:\"col-auto q-px-sm\"},[_c('q-select',_vm._b({staticStyle:{\"width\":\"200px\"},attrs:{\"label\":\"Reminder Type\",\"options\":_vm.reminderOptions},on:{\"input\":_vm.changeReminderOption},model:{value:(_vm.selectedReminderOption),callback:function ($$v) {_vm.selectedReminderOption=$$v},expression:\"selectedReminderOption\"}},'q-select',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col q-px-sm text-right\"},[_c('q-btn',{attrs:{\"disable\":!_vm.selectedReminderOption,\"label\":\"Test Email\",\"color\":\"primary\",\"loading\":_vm.emailSending,\"no-caps\":\"\"},on:{\"click\":_vm.sendTestReminderEmails}})],1),_c('div',{staticClass:\"col-auto q-px-sm\"},[_c('q-btn',{staticClass:\"full-width\",attrs:{\"label\":\"Send to Selected Clubs\",\"color\":\"primary\",\"no-caps\":\"\",\"disable\":!_vm.selectedReminderOption,\"loading\":_vm.emailSending},on:{\"click\":_vm.sendReminderEmails}})],1)])]),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('q-input',_vm._b({attrs:{\"label\":\"Subject\",\"disable\":!_vm.selectedReminderOption},model:{value:(_vm.reminder.subject),callback:function ($$v) {_vm.$set(_vm.reminder, \"subject\", $$v)},expression:\"reminder.subject\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('span',[_vm._v(\"Content\")]),_c('q-editor',{attrs:{\"disable\":!_vm.selectedReminderOption,\"dense\":_vm.$q.screen.lt.md,\"toolbar\":[\n [\n {\n label: _vm.$q.lang.editor.align,\n icon: _vm.$q.iconSet.editor.align,\n fixedLabel: true,\n list: 'only-icons',\n options: ['left', 'center', 'right', 'justify']\n },\n {\n label: _vm.$q.lang.editor.align,\n icon: _vm.$q.iconSet.editor.align,\n fixedLabel: true,\n options: ['left', 'center', 'right', 'justify']\n }\n ],\n [\n 'bold',\n 'italic',\n 'strike',\n 'underline',\n 'subscript',\n 'superscript'\n ],\n ['token', 'hr', 'link', 'custom_btn'],\n ['print', 'fullscreen'],\n [\n {\n label: _vm.$q.lang.editor.formatting,\n icon: _vm.$q.iconSet.editor.formatting,\n list: 'no-icons',\n options: ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'code']\n },\n {\n label: _vm.$q.lang.editor.fontSize,\n icon: _vm.$q.iconSet.editor.fontSize,\n fixedLabel: true,\n fixedIcon: true,\n list: 'no-icons',\n options: [\n 'size-1',\n 'size-2',\n 'size-3',\n 'size-4',\n 'size-5',\n 'size-6',\n 'size-7'\n ]\n },\n {\n label: _vm.$q.lang.editor.defaultFont,\n icon: _vm.$q.iconSet.editor.font,\n fixedIcon: true,\n list: 'no-icons',\n options: [\n 'default_font',\n 'arial',\n 'arial_black',\n 'comic_sans',\n 'courier_new',\n 'impact',\n 'lucida_grande',\n 'times_new_roman',\n 'verdana'\n ]\n },\n 'removeFormat'\n ],\n ['quote', 'unordered', 'ordered', 'outdent', 'indent'],\n\n ['undo', 'redo'],\n ['viewsource']\n ],\"fonts\":{\n arial: 'Arial',\n arial_black: 'Arial Black',\n comic_sans: 'Comic Sans MS',\n courier_new: 'Courier New',\n impact: 'Impact',\n lucida_grande: 'Lucida Grande',\n times_new_roman: 'Times New Roman',\n verdana: 'Verdana'\n }},model:{value:(_vm.reminder.content),callback:function ($$v) {_vm.$set(_vm.reminder, \"content\", $$v)},expression:\"reminder.content\"}})],1)])]),_c('div',{staticClass:\"col-12 col-md-6 bg-gray-3\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 240px) !important\"}},[_c('datatable',{ref:\"reminderClubTable\",attrs:{\"filter\":'',\"flat\":true,\"data\":_vm.crmAssociations,\"columns\":_vm.associationColumns,\"selection\":\"multiple\"},scopedSlots:_vm._u([{key:\"body-cell-cap\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(data.props.row.capUrl)?_c('q-img',{staticClass:\"q-ml-sm\",attrs:{\"src\":data.props.row.capUrl,\"width\":\"40px\",\"contain\":\"\"}}):_vm._e()],1)]}}],null,false,2414295518)})],1)])])]):_vm._e(),(_vm.tab == 'downloads')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Reports\")])]),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('q-btn',{staticClass:\"text-black\",attrs:{\"label\":\"Invoice Report\",\"icon\":\"mdi-download\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.downloads('invoiceReport')}}})],1),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('q-btn',{staticClass:\"text-black\",attrs:{\"label\":\"Entries Report\",\"icon\":\"mdi-download\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.downloads('CompetitionEntriesSummary')}}})],1),_c('div',{staticClass:\"col-12 q-pa-sm\"},[_c('q-btn',{staticClass:\"text-black\",attrs:{\"label\":\"Support Members Report\",\"icon\":\"mdi-download\",\"color\":\"secondary\"},on:{\"click\":function($event){return _vm.downloads('SupportMembers')}}})],1)]):_vm._e(),(_vm.tab == 'entries')?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Competition Entries \"),_c('q-btn',{staticClass:\"text-black secondary\",attrs:{\"icon\":\"mdi-download\",\"flat\":\"\"},on:{\"click\":function($event){return _vm.downloads('CompetitionEntriesTableMirror')}}}),_c('q-input',{staticClass:\"float-right\",staticStyle:{\"max-width\":\"70%\"},attrs:{\"filled\":\"\",\"debounce\":\"200\",\"label\":\"Search\",\"clearable\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(){return [_c('q-icon',{attrs:{\"name\":\"mdi-magnify\"}})]},proxy:true}],null,false,2453493074),model:{value:(_vm.entriesSearch),callback:function ($$v) {_vm.entriesSearch=$$v},expression:\"entriesSearch\"}})],1)]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"calc(100vh - 285px) !important\"}},[_c('datatable',{attrs:{\"filter\":_vm.entriesSearch,\"flat\":true,\"data\":_vm.entries,\"loading\":_vm.entriesLoading,\"columns\":_vm.entriesColumns},scopedSlots:_vm._u([{key:\"body-cell-capUrl\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[(data.props.row.capUrl)?_c('q-img',{staticClass:\"q-ml-sm float-right\",staticStyle:{\"width\":\"40px\"},attrs:{\"src\":data.props.row.capUrl,\"contain\":\"\"}}):_vm._e()],1)]}}],null,false,471362587)})],1)]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('datatable',{ref:\"eventsTable\",attrs:{\"id\":\"eventsTable\",\"filter\":_vm.eventsSearch,\"flat\":true,\"data\":_vm.eventsList,\"columns\":_vm.eventColumns,\"disableSearchCols\":['playerLabels'],\"vScroll\":false},on:{\"rowDoubleClick\":_vm.eventDoubleClick},scopedSlots:_vm._u([{key:\"body-cell-event_no\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',{attrs:{\"label\":\"\",\"dense\":\"\"},on:{\"blur\":function($event){return _vm.saveEventFromGrid(data.props.row)}},model:{value:(data.props.row.event_no),callback:function ($$v) {_vm.$set(data.props.row, \"event_no\", $$v)},expression:\"data.props.row.event_no\"}})],1)]}},{key:\"body-cell-event_name\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('b',[_vm._v(_vm._s(data.props.row.event_name))]),_c('br'),_c('span',{staticStyle:{\"color\":\"gray\",\"font-size\":\"8pt\"}},[_vm._v(\" \"+_vm._s(data.props.row.division_name)+\" / \"+_vm._s(data.props.row.gender)+\" \"+_vm._s(data.props.row.age_min)+\"-\"+_vm._s(data.props.row.age_max)+\"yrs \")])])]}},{key:\"body-cell-playerLabels\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-icon',{attrs:{\"name\":\"mdi-file-certificate-outline\",\"size\":\"sm\"}}),_c('q-tooltip',[_c('div',[_vm._v(\"Player Labels\")]),_vm._l((JSON.parse(data.props.row.playerLabels)),function(label,index){return _c('div',{key:(\"label_\" + index)},[_vm._v(\" \"+_vm._s(label.name)+\" - \"+_vm._s(label.twoHundredMeter == 1 ? \"200m Badge,\" : \"\")+\" \"+_vm._s(label.patrolSupport == 1 ? \"PS or SLG,\" : \"\")+\" \"+_vm._s(label.slg == 1 ? \"SLG Award,\" : \"\")+\" \"+_vm._s(label.crew == 1 ? \"IRB Crew,\" : \"\")+\" \"+_vm._s(label.driver == 1 ? \"IRB Driver,\" : \"\")+\" \"+_vm._s(label.mixed == 1 ? \"Mixed Gender,\" : \"\")+\" \"+_vm._s(label.noMaxAge == 1 ? \"Open Age,\" : \"\")+\" \"+_vm._s(label.required == 1 ? \"Required\" : \"\")+\" \")])})],2)],1)]}},{key:\"body-cell-entriesOpenOverride\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-icon',{attrs:{\"name\":(\"mdi-\" + (data.props.row.entriesOpenOverride ||\n (_vm.entriesOpen && data.props.row.currentStep == 0)\n ? 'check-circle-outline'\n : 'close-circle-outline')),\"color\":data.props.row.entriesOpenOverride ||\n (_vm.entriesOpen && data.props.row.currentStep == 0)\n ? 'positive'\n : 'negative',\"size\":\"sm\"}},[_c('q-tooltip',[_vm._v(\" Entries are \"+_vm._s(data.props.row.entriesOpenOverride || (_vm.entriesOpen && data.props.row.currentStep == 0) ? \"Open\" : \"Closed\")+\" \")])],1)],1)]}},{key:\"body-cell-sessions_id\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(data.props.row.sessions_id ? _vm.sessionsDict[data.props.row.sessions_id] : \"Not Selected\")+\" \"),_c('q-menu',{attrs:{\"auto-close\":\"\"}},_vm._l((_vm.sessions),function(session,index){return _c('div',{key:(\"session_\" + index),staticClass:\"cursor-pointer sesarenaMenu\",staticStyle:{\"min-width\":\"200px\",\"width\":\"200px\"},on:{\"click\":function($event){return _vm.updateEventSession(data.props.row, session.id)}}},[_c('div',{staticClass:\"q-pa-sm\"},[_vm._v(\" \"+_vm._s(session.name)+\" \")])])}),0)],1)]}},{key:\"body-cell-arenas_id\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_vm._v(\" \"+_vm._s(data.props.row.arenas_id ? _vm.arenasDict[data.props.row.arenas_id] : \"Not Selected\")+\" \"),_c('q-menu',{attrs:{\"auto-close\":\"\"}},_vm._l((_vm.arenas),function(arena,index){return _c('div',{key:(\"arena_\" + index),staticClass:\"cursor-pointer sesarenaMenu\",staticStyle:{\"min-width\":\"200px\",\"width\":\"200px\"},on:{\"click\":function($event){return _vm.updateEventArena(data.props.row, arena.id)}}},[_c('div',{staticClass:\"q-pa-sm\"},[_vm._v(\" \"+_vm._s(arena.name)+\" \")])])}),0)],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"loading\":_vm.duplicatingEventID == data.props.row.id,\"round\":\"\",\"flat\":\"\"},on:{\"click\":function($event){return _vm.duplicateEvent(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-content-copy\"}}),_c('q-tooltip',[_vm._v(\"Duplicate\")])],1),_c('q-btn',{attrs:{\"loading\":_vm.removingEventID == data.props.row.id,\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeEvent(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Event\")])],1),_c('q-btn',{staticClass:\"float-right\",attrs:{\"dense\":\"\",\"round\":\"\",\"flat\":\"\",\"color\":\"black\"}},[_c('q-icon',{attrs:{\"name\":\"mdi-dots-vertical\"}}),_c('q-menu',[_c('q-list',{staticStyle:{\"min-width\":\"100px\"}},[_c('q-item',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"clickable\":\"\"},on:{\"click\":function($event){return _vm.openEntries(data.props.row)}}},[_c('q-item-section',[_vm._v(\" \"+_vm._s(!data.props.row.entriesOpenOverride ? \"Keep Entries Open\" : \"Revert to Competition Entries Dates\")+\" \")])],1)],1)],1)],1)],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**!\n * Sortable 1.15.0\n * @author\tRubaXa \n * @author\towenm \n * @license MIT\n */\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar version = \"1.15.0\";\n\nfunction userAgent(pattern) {\n if (typeof window !== 'undefined' && window.navigator) {\n return !! /*@__PURE__*/navigator.userAgent.match(pattern);\n }\n}\n\nvar IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\\.|msie|iemobile|Windows Phone)/i);\nvar Edge = userAgent(/Edge/i);\nvar FireFox = userAgent(/firefox/i);\nvar Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);\nvar IOS = userAgent(/iP(ad|od|hone)/i);\nvar ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);\n\nvar captureMode = {\n capture: false,\n passive: false\n};\n\nfunction on(el, event, fn) {\n el.addEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction off(el, event, fn) {\n el.removeEventListener(event, fn, !IE11OrLess && captureMode);\n}\n\nfunction matches(\n/**HTMLElement*/\nel,\n/**String*/\nselector) {\n if (!selector) return;\n selector[0] === '>' && (selector = selector.substring(1));\n\n if (el) {\n try {\n if (el.matches) {\n return el.matches(selector);\n } else if (el.msMatchesSelector) {\n return el.msMatchesSelector(selector);\n } else if (el.webkitMatchesSelector) {\n return el.webkitMatchesSelector(selector);\n }\n } catch (_) {\n return false;\n }\n }\n\n return false;\n}\n\nfunction getParentOrHost(el) {\n return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;\n}\n\nfunction closest(\n/**HTMLElement*/\nel,\n/**String*/\nselector,\n/**HTMLElement*/\nctx, includeCTX) {\n if (el) {\n ctx = ctx || document;\n\n do {\n if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {\n return el;\n }\n\n if (el === ctx) break;\n /* jshint boss:true */\n } while (el = getParentOrHost(el));\n }\n\n return null;\n}\n\nvar R_SPACE = /\\s+/g;\n\nfunction toggleClass(el, name, state) {\n if (el && name) {\n if (el.classList) {\n el.classList[state ? 'add' : 'remove'](name);\n } else {\n var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');\n el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');\n }\n }\n}\n\nfunction css(el, prop, val) {\n var style = el && el.style;\n\n if (style) {\n if (val === void 0) {\n if (document.defaultView && document.defaultView.getComputedStyle) {\n val = document.defaultView.getComputedStyle(el, '');\n } else if (el.currentStyle) {\n val = el.currentStyle;\n }\n\n return prop === void 0 ? val : val[prop];\n } else {\n if (!(prop in style) && prop.indexOf('webkit') === -1) {\n prop = '-webkit-' + prop;\n }\n\n style[prop] = val + (typeof val === 'string' ? '' : 'px');\n }\n }\n}\n\nfunction matrix(el, selfOnly) {\n var appliedTransforms = '';\n\n if (typeof el === 'string') {\n appliedTransforms = el;\n } else {\n do {\n var transform = css(el, 'transform');\n\n if (transform && transform !== 'none') {\n appliedTransforms = transform + ' ' + appliedTransforms;\n }\n /* jshint boss:true */\n\n } while (!selfOnly && (el = el.parentNode));\n }\n\n var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;\n /*jshint -W056 */\n\n return matrixFn && new matrixFn(appliedTransforms);\n}\n\nfunction find(ctx, tagName, iterator) {\n if (ctx) {\n var list = ctx.getElementsByTagName(tagName),\n i = 0,\n n = list.length;\n\n if (iterator) {\n for (; i < n; i++) {\n iterator(list[i], i);\n }\n }\n\n return list;\n }\n\n return [];\n}\n\nfunction getWindowScrollingElement() {\n var scrollingElement = document.scrollingElement;\n\n if (scrollingElement) {\n return scrollingElement;\n } else {\n return document.documentElement;\n }\n}\n/**\n * Returns the \"bounding client rect\" of given element\n * @param {HTMLElement} el The element whose boundingClientRect is wanted\n * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container\n * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr\n * @param {[Boolean]} undoScale Whether the container's scale() should be undone\n * @param {[HTMLElement]} container The parent the element will be placed in\n * @return {Object} The boundingClientRect of el, with specified adjustments\n */\n\n\nfunction getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {\n if (!el.getBoundingClientRect && el !== window) return;\n var elRect, top, left, bottom, right, height, width;\n\n if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {\n elRect = el.getBoundingClientRect();\n top = elRect.top;\n left = elRect.left;\n bottom = elRect.bottom;\n right = elRect.right;\n height = elRect.height;\n width = elRect.width;\n } else {\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n height = window.innerHeight;\n width = window.innerWidth;\n }\n\n if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {\n // Adjust for translate()\n container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)\n // Not needed on <= IE11\n\n if (!IE11OrLess) {\n do {\n if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {\n var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container\n\n top -= containerRect.top + parseInt(css(container, 'border-top-width'));\n left -= containerRect.left + parseInt(css(container, 'border-left-width'));\n bottom = top + elRect.height;\n right = left + elRect.width;\n break;\n }\n /* jshint boss:true */\n\n } while (container = container.parentNode);\n }\n }\n\n if (undoScale && el !== window) {\n // Adjust for scale()\n var elMatrix = matrix(container || el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d;\n\n if (elMatrix) {\n top /= scaleY;\n left /= scaleX;\n width /= scaleX;\n height /= scaleY;\n bottom = top + height;\n right = left + width;\n }\n }\n\n return {\n top: top,\n left: left,\n bottom: bottom,\n right: right,\n width: width,\n height: height\n };\n}\n/**\n * Checks if a side of an element is scrolled past a side of its parents\n * @param {HTMLElement} el The element who's side being scrolled out of view is in question\n * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')\n * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')\n * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element\n */\n\n\nfunction isScrolledPast(el, elSide, parentSide) {\n var parent = getParentAutoScrollElement(el, true),\n elSideVal = getRect(el)[elSide];\n /* jshint boss:true */\n\n while (parent) {\n var parentSideVal = getRect(parent)[parentSide],\n visible = void 0;\n\n if (parentSide === 'top' || parentSide === 'left') {\n visible = elSideVal >= parentSideVal;\n } else {\n visible = elSideVal <= parentSideVal;\n }\n\n if (!visible) return parent;\n if (parent === getWindowScrollingElement()) break;\n parent = getParentAutoScrollElement(parent, false);\n }\n\n return false;\n}\n/**\n * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)\n * and non-draggable elements\n * @param {HTMLElement} el The parent element\n * @param {Number} childNum The index of the child\n * @param {Object} options Parent Sortable's options\n * @return {HTMLElement} The child at index childNum, or null if not found\n */\n\n\nfunction getChild(el, childNum, options, includeDragEl) {\n var currentChild = 0,\n i = 0,\n children = el.children;\n\n while (i < children.length) {\n if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {\n if (currentChild === childNum) {\n return children[i];\n }\n\n currentChild++;\n }\n\n i++;\n }\n\n return null;\n}\n/**\n * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)\n * @param {HTMLElement} el Parent element\n * @param {selector} selector Any other elements that should be ignored\n * @return {HTMLElement} The last child, ignoring ghostEl\n */\n\n\nfunction lastChild(el, selector) {\n var last = el.lastElementChild;\n\n while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {\n last = last.previousElementSibling;\n }\n\n return last || null;\n}\n/**\n * Returns the index of an element within its parent for a selected set of\n * elements\n * @param {HTMLElement} el\n * @param {selector} selector\n * @return {number}\n */\n\n\nfunction index(el, selector) {\n var index = 0;\n\n if (!el || !el.parentNode) {\n return -1;\n }\n /* jshint boss:true */\n\n\n while (el = el.previousElementSibling) {\n if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {\n index++;\n }\n }\n\n return index;\n}\n/**\n * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.\n * The value is returned in real pixels.\n * @param {HTMLElement} el\n * @return {Array} Offsets in the format of [left, top]\n */\n\n\nfunction getRelativeScrollOffset(el) {\n var offsetLeft = 0,\n offsetTop = 0,\n winScroller = getWindowScrollingElement();\n\n if (el) {\n do {\n var elMatrix = matrix(el),\n scaleX = elMatrix.a,\n scaleY = elMatrix.d;\n offsetLeft += el.scrollLeft * scaleX;\n offsetTop += el.scrollTop * scaleY;\n } while (el !== winScroller && (el = el.parentNode));\n }\n\n return [offsetLeft, offsetTop];\n}\n/**\n * Returns the index of the object within the given array\n * @param {Array} arr Array that may or may not hold the object\n * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find\n * @return {Number} The index of the object in the array, or -1\n */\n\n\nfunction indexOfObject(arr, obj) {\n for (var i in arr) {\n if (!arr.hasOwnProperty(i)) continue;\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);\n }\n }\n\n return -1;\n}\n\nfunction getParentAutoScrollElement(el, includeSelf) {\n // skip to window\n if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();\n var elem = el;\n var gotSelf = false;\n\n do {\n // we don't need to get elem css if it isn't even overflowing in the first place (performance)\n if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {\n var elemCSS = css(elem);\n\n if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {\n if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();\n if (gotSelf || includeSelf) return elem;\n gotSelf = true;\n }\n }\n /* jshint boss:true */\n\n } while (elem = elem.parentNode);\n\n return getWindowScrollingElement();\n}\n\nfunction extend(dst, src) {\n if (dst && src) {\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n dst[key] = src[key];\n }\n }\n }\n\n return dst;\n}\n\nfunction isRectEqual(rect1, rect2) {\n return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);\n}\n\nvar _throttleTimeout;\n\nfunction throttle(callback, ms) {\n return function () {\n if (!_throttleTimeout) {\n var args = arguments,\n _this = this;\n\n if (args.length === 1) {\n callback.call(_this, args[0]);\n } else {\n callback.apply(_this, args);\n }\n\n _throttleTimeout = setTimeout(function () {\n _throttleTimeout = void 0;\n }, ms);\n }\n };\n}\n\nfunction cancelThrottle() {\n clearTimeout(_throttleTimeout);\n _throttleTimeout = void 0;\n}\n\nfunction scrollBy(el, x, y) {\n el.scrollLeft += x;\n el.scrollTop += y;\n}\n\nfunction clone(el) {\n var Polymer = window.Polymer;\n var $ = window.jQuery || window.Zepto;\n\n if (Polymer && Polymer.dom) {\n return Polymer.dom(el).cloneNode(true);\n } else if ($) {\n return $(el).clone(true)[0];\n } else {\n return el.cloneNode(true);\n }\n}\n\nfunction setRect(el, rect) {\n css(el, 'position', 'absolute');\n css(el, 'top', rect.top);\n css(el, 'left', rect.left);\n css(el, 'width', rect.width);\n css(el, 'height', rect.height);\n}\n\nfunction unsetRect(el) {\n css(el, 'position', '');\n css(el, 'top', '');\n css(el, 'left', '');\n css(el, 'width', '');\n css(el, 'height', '');\n}\n\nvar expando = 'Sortable' + new Date().getTime();\n\nfunction AnimationStateManager() {\n var animationStates = [],\n animationCallbackId;\n return {\n captureAnimationState: function captureAnimationState() {\n animationStates = [];\n if (!this.options.animation) return;\n var children = [].slice.call(this.el.children);\n children.forEach(function (child) {\n if (css(child, 'display') === 'none' || child === Sortable.ghost) return;\n animationStates.push({\n target: child,\n rect: getRect(child)\n });\n\n var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation\n\n\n if (child.thisAnimationDuration) {\n var childMatrix = matrix(child, true);\n\n if (childMatrix) {\n fromRect.top -= childMatrix.f;\n fromRect.left -= childMatrix.e;\n }\n }\n\n child.fromRect = fromRect;\n });\n },\n addAnimationState: function addAnimationState(state) {\n animationStates.push(state);\n },\n removeAnimationState: function removeAnimationState(target) {\n animationStates.splice(indexOfObject(animationStates, {\n target: target\n }), 1);\n },\n animateAll: function animateAll(callback) {\n var _this = this;\n\n if (!this.options.animation) {\n clearTimeout(animationCallbackId);\n if (typeof callback === 'function') callback();\n return;\n }\n\n var animating = false,\n animationTime = 0;\n animationStates.forEach(function (state) {\n var time = 0,\n target = state.target,\n fromRect = target.fromRect,\n toRect = getRect(target),\n prevFromRect = target.prevFromRect,\n prevToRect = target.prevToRect,\n animatingRect = state.rect,\n targetMatrix = matrix(target, true);\n\n if (targetMatrix) {\n // Compensate for current animation\n toRect.top -= targetMatrix.f;\n toRect.left -= targetMatrix.e;\n }\n\n target.toRect = toRect;\n\n if (target.thisAnimationDuration) {\n // Could also check if animatingRect is between fromRect and toRect\n if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect\n (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {\n // If returning to same place as started from animation and on same axis\n time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);\n }\n } // if fromRect != toRect: animate\n\n\n if (!isRectEqual(toRect, fromRect)) {\n target.prevFromRect = fromRect;\n target.prevToRect = toRect;\n\n if (!time) {\n time = _this.options.animation;\n }\n\n _this.animate(target, animatingRect, toRect, time);\n }\n\n if (time) {\n animating = true;\n animationTime = Math.max(animationTime, time);\n clearTimeout(target.animationResetTimer);\n target.animationResetTimer = setTimeout(function () {\n target.animationTime = 0;\n target.prevFromRect = null;\n target.fromRect = null;\n target.prevToRect = null;\n target.thisAnimationDuration = null;\n }, time);\n target.thisAnimationDuration = time;\n }\n });\n clearTimeout(animationCallbackId);\n\n if (!animating) {\n if (typeof callback === 'function') callback();\n } else {\n animationCallbackId = setTimeout(function () {\n if (typeof callback === 'function') callback();\n }, animationTime);\n }\n\n animationStates = [];\n },\n animate: function animate(target, currentRect, toRect, duration) {\n if (duration) {\n css(target, 'transition', '');\n css(target, 'transform', '');\n var elMatrix = matrix(this.el),\n scaleX = elMatrix && elMatrix.a,\n scaleY = elMatrix && elMatrix.d,\n translateX = (currentRect.left - toRect.left) / (scaleX || 1),\n translateY = (currentRect.top - toRect.top) / (scaleY || 1);\n target.animatingX = !!translateX;\n target.animatingY = !!translateY;\n css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');\n this.forRepaintDummy = repaint(target); // repaint\n\n css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));\n css(target, 'transform', 'translate3d(0,0,0)');\n typeof target.animated === 'number' && clearTimeout(target.animated);\n target.animated = setTimeout(function () {\n css(target, 'transition', '');\n css(target, 'transform', '');\n target.animated = false;\n target.animatingX = false;\n target.animatingY = false;\n }, duration);\n }\n }\n };\n}\n\nfunction repaint(target) {\n return target.offsetWidth;\n}\n\nfunction calculateRealTime(animatingRect, fromRect, toRect, options) {\n return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;\n}\n\nvar plugins = [];\nvar defaults = {\n initializeByDefault: true\n};\nvar PluginManager = {\n mount: function mount(plugin) {\n // Set default static properties\n for (var option in defaults) {\n if (defaults.hasOwnProperty(option) && !(option in plugin)) {\n plugin[option] = defaults[option];\n }\n }\n\n plugins.forEach(function (p) {\n if (p.pluginName === plugin.pluginName) {\n throw \"Sortable: Cannot mount plugin \".concat(plugin.pluginName, \" more than once\");\n }\n });\n plugins.push(plugin);\n },\n pluginEvent: function pluginEvent(eventName, sortable, evt) {\n var _this = this;\n\n this.eventCanceled = false;\n\n evt.cancel = function () {\n _this.eventCanceled = true;\n };\n\n var eventNameGlobal = eventName + 'Global';\n plugins.forEach(function (plugin) {\n if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable\n\n if (sortable[plugin.pluginName][eventNameGlobal]) {\n sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({\n sortable: sortable\n }, evt));\n } // Only fire plugin event if plugin is enabled in this sortable,\n // and plugin has event defined\n\n\n if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {\n sortable[plugin.pluginName][eventName](_objectSpread2({\n sortable: sortable\n }, evt));\n }\n });\n },\n initializePlugins: function initializePlugins(sortable, el, defaults, options) {\n plugins.forEach(function (plugin) {\n var pluginName = plugin.pluginName;\n if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;\n var initialized = new plugin(sortable, el, sortable.options);\n initialized.sortable = sortable;\n initialized.options = sortable.options;\n sortable[pluginName] = initialized; // Add default options from plugin\n\n _extends(defaults, initialized.defaults);\n });\n\n for (var option in sortable.options) {\n if (!sortable.options.hasOwnProperty(option)) continue;\n var modified = this.modifyOption(sortable, option, sortable.options[option]);\n\n if (typeof modified !== 'undefined') {\n sortable.options[option] = modified;\n }\n }\n },\n getEventProperties: function getEventProperties(name, sortable) {\n var eventProperties = {};\n plugins.forEach(function (plugin) {\n if (typeof plugin.eventProperties !== 'function') return;\n\n _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));\n });\n return eventProperties;\n },\n modifyOption: function modifyOption(sortable, name, value) {\n var modifiedValue;\n plugins.forEach(function (plugin) {\n // Plugin must exist on the Sortable\n if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin\n\n if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {\n modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);\n }\n });\n return modifiedValue;\n }\n};\n\nfunction dispatchEvent(_ref) {\n var sortable = _ref.sortable,\n rootEl = _ref.rootEl,\n name = _ref.name,\n targetEl = _ref.targetEl,\n cloneEl = _ref.cloneEl,\n toEl = _ref.toEl,\n fromEl = _ref.fromEl,\n oldIndex = _ref.oldIndex,\n newIndex = _ref.newIndex,\n oldDraggableIndex = _ref.oldDraggableIndex,\n newDraggableIndex = _ref.newDraggableIndex,\n originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n extraEventProperties = _ref.extraEventProperties;\n sortable = sortable || rootEl && rootEl[expando];\n if (!sortable) return;\n var evt,\n options = sortable.options,\n onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent(name, {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent(name, true, true);\n }\n\n evt.to = toEl || rootEl;\n evt.from = fromEl || rootEl;\n evt.item = targetEl || rootEl;\n evt.clone = cloneEl;\n evt.oldIndex = oldIndex;\n evt.newIndex = newIndex;\n evt.oldDraggableIndex = oldDraggableIndex;\n evt.newDraggableIndex = newDraggableIndex;\n evt.originalEvent = originalEvent;\n evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;\n\n var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));\n\n for (var option in allEventProperties) {\n evt[option] = allEventProperties[option];\n }\n\n if (rootEl) {\n rootEl.dispatchEvent(evt);\n }\n\n if (options[onName]) {\n options[onName].call(sortable, evt);\n }\n}\n\nvar _excluded = [\"evt\"];\n\nvar pluginEvent = function pluginEvent(eventName, sortable) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n originalEvent = _ref.evt,\n data = _objectWithoutProperties(_ref, _excluded);\n\n PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({\n dragEl: dragEl,\n parentEl: parentEl,\n ghostEl: ghostEl,\n rootEl: rootEl,\n nextEl: nextEl,\n lastDownEl: lastDownEl,\n cloneEl: cloneEl,\n cloneHidden: cloneHidden,\n dragStarted: moved,\n putSortable: putSortable,\n activeSortable: Sortable.active,\n originalEvent: originalEvent,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n hideGhostForTarget: _hideGhostForTarget,\n unhideGhostForTarget: _unhideGhostForTarget,\n cloneNowHidden: function cloneNowHidden() {\n cloneHidden = true;\n },\n cloneNowShown: function cloneNowShown() {\n cloneHidden = false;\n },\n dispatchSortableEvent: function dispatchSortableEvent(name) {\n _dispatchEvent({\n sortable: sortable,\n name: name,\n originalEvent: originalEvent\n });\n }\n }, data));\n};\n\nfunction _dispatchEvent(info) {\n dispatchEvent(_objectSpread2({\n putSortable: putSortable,\n cloneEl: cloneEl,\n targetEl: dragEl,\n rootEl: rootEl,\n oldIndex: oldIndex,\n oldDraggableIndex: oldDraggableIndex,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex\n }, info));\n}\n\nvar dragEl,\n parentEl,\n ghostEl,\n rootEl,\n nextEl,\n lastDownEl,\n cloneEl,\n cloneHidden,\n oldIndex,\n newIndex,\n oldDraggableIndex,\n newDraggableIndex,\n activeGroup,\n putSortable,\n awaitingDragStarted = false,\n ignoreNextClick = false,\n sortables = [],\n tapEvt,\n touchEvt,\n lastDx,\n lastDy,\n tapDistanceLeft,\n tapDistanceTop,\n moved,\n lastTarget,\n lastDirection,\n pastFirstInvertThresh = false,\n isCircumstantialInvert = false,\n targetMoveDistance,\n // For positioning ghost absolutely\nghostRelativeParent,\n ghostRelativeParentInitialScroll = [],\n // (left, top)\n_silent = false,\n savedInputChecked = [];\n/** @const */\n\nvar documentExists = typeof document !== 'undefined',\n PositionGhostAbsolutely = IOS,\n CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',\n // This will not pass for IE9, because IE9 DnD only works on anchors\nsupportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),\n supportCssPointerEvents = function () {\n if (!documentExists) return; // false when <= IE11\n\n if (IE11OrLess) {\n return false;\n }\n\n var el = document.createElement('x');\n el.style.cssText = 'pointer-events:auto';\n return el.style.pointerEvents === 'auto';\n}(),\n _detectDirection = function _detectDirection(el, options) {\n var elCSS = css(el),\n elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),\n child1 = getChild(el, 0, options),\n child2 = getChild(el, 1, options),\n firstChildCSS = child1 && css(child1),\n secondChildCSS = child2 && css(child2),\n firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,\n secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;\n\n if (elCSS.display === 'flex') {\n return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';\n }\n\n if (elCSS.display === 'grid') {\n return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';\n }\n\n if (child1 && firstChildCSS[\"float\"] && firstChildCSS[\"float\"] !== 'none') {\n var touchingSideChild2 = firstChildCSS[\"float\"] === 'left' ? 'left' : 'right';\n return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';\n }\n\n return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';\n},\n _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {\n var dragElS1Opp = vertical ? dragRect.left : dragRect.top,\n dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,\n dragElOppLength = vertical ? dragRect.width : dragRect.height,\n targetS1Opp = vertical ? targetRect.left : targetRect.top,\n targetS2Opp = vertical ? targetRect.right : targetRect.bottom,\n targetOppLength = vertical ? targetRect.width : targetRect.height;\n return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;\n},\n\n/**\r\n * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.\r\n * @param {Number} x X position\r\n * @param {Number} y Y position\r\n * @return {HTMLElement} Element of the first found nearest Sortable\r\n */\n_detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {\n var ret;\n sortables.some(function (sortable) {\n var threshold = sortable[expando].options.emptyInsertThreshold;\n if (!threshold || lastChild(sortable)) return;\n var rect = getRect(sortable),\n insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,\n insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;\n\n if (insideHorizontally && insideVertically) {\n return ret = sortable;\n }\n });\n return ret;\n},\n _prepareGroup = function _prepareGroup(options) {\n function toFn(value, pull) {\n return function (to, from, dragEl, evt) {\n var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;\n\n if (value == null && (pull || sameGroup)) {\n // Default pull value\n // Default pull and put value if same group\n return true;\n } else if (value == null || value === false) {\n return false;\n } else if (pull && value === 'clone') {\n return value;\n } else if (typeof value === 'function') {\n return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);\n } else {\n var otherGroup = (pull ? to : from).options.group.name;\n return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;\n }\n };\n }\n\n var group = {};\n var originalGroup = options.group;\n\n if (!originalGroup || _typeof(originalGroup) != 'object') {\n originalGroup = {\n name: originalGroup\n };\n }\n\n group.name = originalGroup.name;\n group.checkPull = toFn(originalGroup.pull, true);\n group.checkPut = toFn(originalGroup.put);\n group.revertClone = originalGroup.revertClone;\n options.group = group;\n},\n _hideGhostForTarget = function _hideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', 'none');\n }\n},\n _unhideGhostForTarget = function _unhideGhostForTarget() {\n if (!supportCssPointerEvents && ghostEl) {\n css(ghostEl, 'display', '');\n }\n}; // #1184 fix - Prevent click event on fallback if dragged but item not changed position\n\n\nif (documentExists && !ChromeForAndroid) {\n document.addEventListener('click', function (evt) {\n if (ignoreNextClick) {\n evt.preventDefault();\n evt.stopPropagation && evt.stopPropagation();\n evt.stopImmediatePropagation && evt.stopImmediatePropagation();\n ignoreNextClick = false;\n return false;\n }\n }, true);\n}\n\nvar nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {\n if (dragEl) {\n evt = evt.touches ? evt.touches[0] : evt;\n\n var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);\n\n if (nearest) {\n // Create imitation event\n var event = {};\n\n for (var i in evt) {\n if (evt.hasOwnProperty(i)) {\n event[i] = evt[i];\n }\n }\n\n event.target = event.rootEl = nearest;\n event.preventDefault = void 0;\n event.stopPropagation = void 0;\n\n nearest[expando]._onDragOver(event);\n }\n }\n};\n\nvar _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {\n if (dragEl) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target);\n }\n};\n/**\r\n * @class Sortable\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\n\n\nfunction Sortable(el, options) {\n if (!(el && el.nodeType && el.nodeType === 1)) {\n throw \"Sortable: `el` must be an HTMLElement, not \".concat({}.toString.call(el));\n }\n\n this.el = el; // root element\n\n this.options = options = _extends({}, options); // Export instance\n\n el[expando] = this;\n var defaults = {\n group: null,\n sort: true,\n disabled: false,\n store: null,\n handle: null,\n draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',\n swapThreshold: 1,\n // percentage; 0 <= x <= 1\n invertSwap: false,\n // invert always\n invertedSwapThreshold: null,\n // will be set to same as swapThreshold if default\n removeCloneOnHide: true,\n direction: function direction() {\n return _detectDirection(el, this.options);\n },\n ghostClass: 'sortable-ghost',\n chosenClass: 'sortable-chosen',\n dragClass: 'sortable-drag',\n ignore: 'a, img',\n filter: null,\n preventOnFilter: true,\n animation: 0,\n easing: null,\n setData: function setData(dataTransfer, dragEl) {\n dataTransfer.setData('Text', dragEl.textContent);\n },\n dropBubble: false,\n dragoverBubble: false,\n dataIdAttr: 'data-id',\n delay: 0,\n delayOnTouchOnly: false,\n touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,\n forceFallback: false,\n fallbackClass: 'sortable-fallback',\n fallbackOnBody: false,\n fallbackTolerance: 0,\n fallbackOffset: {\n x: 0,\n y: 0\n },\n supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,\n emptyInsertThreshold: 5\n };\n PluginManager.initializePlugins(this, el, defaults); // Set default options\n\n for (var name in defaults) {\n !(name in options) && (options[name] = defaults[name]);\n }\n\n _prepareGroup(options); // Bind all private methods\n\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n } // Setup drag mode\n\n\n this.nativeDraggable = options.forceFallback ? false : supportDraggable;\n\n if (this.nativeDraggable) {\n // Touch start threshold cannot be greater than the native dragstart threshold\n this.options.touchStartThreshold = 1;\n } // Bind events\n\n\n if (options.supportPointer) {\n on(el, 'pointerdown', this._onTapStart);\n } else {\n on(el, 'mousedown', this._onTapStart);\n on(el, 'touchstart', this._onTapStart);\n }\n\n if (this.nativeDraggable) {\n on(el, 'dragover', this);\n on(el, 'dragenter', this);\n }\n\n sortables.push(this.el); // Restore sorting\n\n options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager\n\n _extends(this, AnimationStateManager());\n}\n\nSortable.prototype =\n/** @lends Sortable.prototype */\n{\n constructor: Sortable,\n _isOutsideThisEl: function _isOutsideThisEl(target) {\n if (!this.el.contains(target) && target !== this.el) {\n lastTarget = null;\n }\n },\n _getDirection: function _getDirection(evt, target) {\n return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;\n },\n _onTapStart: function _onTapStart(\n /** Event|TouchEvent */\n evt) {\n if (!evt.cancelable) return;\n\n var _this = this,\n el = this.el,\n options = this.options,\n preventOnFilter = options.preventOnFilter,\n type = evt.type,\n touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,\n target = (touch || evt).target,\n originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,\n filter = options.filter;\n\n _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.\n\n\n if (dragEl) {\n return;\n }\n\n if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {\n return; // only left button and enabled\n } // cancel dnd if original target is content editable\n\n\n if (originalTarget.isContentEditable) {\n return;\n } // Safari ignores further event handling after mousedown\n\n\n if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {\n return;\n }\n\n target = closest(target, options.draggable, el, false);\n\n if (target && target.animated) {\n return;\n }\n\n if (lastDownEl === target) {\n // Ignoring duplicate `down`\n return;\n } // Get the index of the dragged element within its parent\n\n\n oldIndex = index(target);\n oldDraggableIndex = index(target, options.draggable); // Check filter\n\n if (typeof filter === 'function') {\n if (filter.call(this, evt, target, this)) {\n _dispatchEvent({\n sortable: _this,\n rootEl: originalTarget,\n name: 'filter',\n targetEl: target,\n toEl: el,\n fromEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n } else if (filter) {\n filter = filter.split(',').some(function (criteria) {\n criteria = closest(originalTarget, criteria.trim(), el, false);\n\n if (criteria) {\n _dispatchEvent({\n sortable: _this,\n rootEl: criteria,\n name: 'filter',\n targetEl: target,\n fromEl: el,\n toEl: el\n });\n\n pluginEvent('filter', _this, {\n evt: evt\n });\n return true;\n }\n });\n\n if (filter) {\n preventOnFilter && evt.cancelable && evt.preventDefault();\n return; // cancel dnd\n }\n }\n\n if (options.handle && !closest(originalTarget, options.handle, el, false)) {\n return;\n } // Prepare `dragstart`\n\n\n this._prepareDragStart(evt, touch, target);\n },\n _prepareDragStart: function _prepareDragStart(\n /** Event */\n evt,\n /** Touch */\n touch,\n /** HTMLElement */\n target) {\n var _this = this,\n el = _this.el,\n options = _this.options,\n ownerDocument = el.ownerDocument,\n dragStartFn;\n\n if (target && !dragEl && target.parentNode === el) {\n var dragRect = getRect(target);\n rootEl = el;\n dragEl = target;\n parentEl = dragEl.parentNode;\n nextEl = dragEl.nextSibling;\n lastDownEl = target;\n activeGroup = options.group;\n Sortable.dragged = dragEl;\n tapEvt = {\n target: dragEl,\n clientX: (touch || evt).clientX,\n clientY: (touch || evt).clientY\n };\n tapDistanceLeft = tapEvt.clientX - dragRect.left;\n tapDistanceTop = tapEvt.clientY - dragRect.top;\n this._lastX = (touch || evt).clientX;\n this._lastY = (touch || evt).clientY;\n dragEl.style['will-change'] = 'all';\n\n dragStartFn = function dragStartFn() {\n pluginEvent('delayEnded', _this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n _this._onDrop();\n\n return;\n } // Delayed drag has been triggered\n // we can re-enable the events: touchmove/mousemove\n\n\n _this._disableDelayedDragEvents();\n\n if (!FireFox && _this.nativeDraggable) {\n dragEl.draggable = true;\n } // Bind the events: dragstart/dragend\n\n\n _this._triggerDragStart(evt, touch); // Drag start event\n\n\n _dispatchEvent({\n sortable: _this,\n name: 'choose',\n originalEvent: evt\n }); // Chosen item\n\n\n toggleClass(dragEl, options.chosenClass, true);\n }; // Disable \"draggable\"\n\n\n options.ignore.split(',').forEach(function (criteria) {\n find(dragEl, criteria.trim(), _disableDraggable);\n });\n on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);\n on(ownerDocument, 'mouseup', _this._onDrop);\n on(ownerDocument, 'touchend', _this._onDrop);\n on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)\n\n if (FireFox && this.nativeDraggable) {\n this.options.touchStartThreshold = 4;\n dragEl.draggable = true;\n }\n\n pluginEvent('delayStart', this, {\n evt: evt\n }); // Delay is impossible for native DnD in Edge or IE\n\n if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n } // If the user moves the pointer or let go the click or touch\n // before the delay has been reached:\n // disable the delayed drag\n\n\n on(ownerDocument, 'mouseup', _this._disableDelayedDrag);\n on(ownerDocument, 'touchend', _this._disableDelayedDrag);\n on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);\n on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);\n on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);\n options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);\n _this._dragStartTimer = setTimeout(dragStartFn, options.delay);\n } else {\n dragStartFn();\n }\n }\n },\n _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(\n /** TouchEvent|PointerEvent **/\n e) {\n var touch = e.touches ? e.touches[0] : e;\n\n if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {\n this._disableDelayedDrag();\n }\n },\n _disableDelayedDrag: function _disableDelayedDrag() {\n dragEl && _disableDraggable(dragEl);\n clearTimeout(this._dragStartTimer);\n\n this._disableDelayedDragEvents();\n },\n _disableDelayedDragEvents: function _disableDelayedDragEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._disableDelayedDrag);\n off(ownerDocument, 'touchend', this._disableDelayedDrag);\n off(ownerDocument, 'touchcancel', this._disableDelayedDrag);\n off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);\n off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);\n },\n _triggerDragStart: function _triggerDragStart(\n /** Event */\n evt,\n /** Touch */\n touch) {\n touch = touch || evt.pointerType == 'touch' && evt;\n\n if (!this.nativeDraggable || touch) {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._onTouchMove);\n } else if (touch) {\n on(document, 'touchmove', this._onTouchMove);\n } else {\n on(document, 'mousemove', this._onTouchMove);\n }\n } else {\n on(dragEl, 'dragend', this);\n on(rootEl, 'dragstart', this._onDragStart);\n }\n\n try {\n if (document.selection) {\n // Timeout neccessary for IE9\n _nextTick(function () {\n document.selection.empty();\n });\n } else {\n window.getSelection().removeAllRanges();\n }\n } catch (err) {}\n },\n _dragStarted: function _dragStarted(fallback, evt) {\n\n awaitingDragStarted = false;\n\n if (rootEl && dragEl) {\n pluginEvent('dragStarted', this, {\n evt: evt\n });\n\n if (this.nativeDraggable) {\n on(document, 'dragover', _checkOutsideTargetEl);\n }\n\n var options = this.options; // Apply effect\n\n !fallback && toggleClass(dragEl, options.dragClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n Sortable.active = this;\n fallback && this._appendGhost(); // Drag start event\n\n _dispatchEvent({\n sortable: this,\n name: 'start',\n originalEvent: evt\n });\n } else {\n this._nulling();\n }\n },\n _emulateDragOver: function _emulateDragOver() {\n if (touchEvt) {\n this._lastX = touchEvt.clientX;\n this._lastY = touchEvt.clientY;\n\n _hideGhostForTarget();\n\n var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n var parent = target;\n\n while (target && target.shadowRoot) {\n target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);\n if (target === parent) break;\n parent = target;\n }\n\n dragEl.parentNode[expando]._isOutsideThisEl(target);\n\n if (parent) {\n do {\n if (parent[expando]) {\n var inserted = void 0;\n inserted = parent[expando]._onDragOver({\n clientX: touchEvt.clientX,\n clientY: touchEvt.clientY,\n target: target,\n rootEl: parent\n });\n\n if (inserted && !this.options.dragoverBubble) {\n break;\n }\n }\n\n target = parent; // store last element\n }\n /* jshint boss:true */\n while (parent = parent.parentNode);\n }\n\n _unhideGhostForTarget();\n }\n },\n _onTouchMove: function _onTouchMove(\n /**TouchEvent*/\n evt) {\n if (tapEvt) {\n var options = this.options,\n fallbackTolerance = options.fallbackTolerance,\n fallbackOffset = options.fallbackOffset,\n touch = evt.touches ? evt.touches[0] : evt,\n ghostMatrix = ghostEl && matrix(ghostEl, true),\n scaleX = ghostEl && ghostMatrix && ghostMatrix.a,\n scaleY = ghostEl && ghostMatrix && ghostMatrix.d,\n relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),\n dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),\n dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging\n\n if (!Sortable.active && !awaitingDragStarted) {\n if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {\n return;\n }\n\n this._onDragStart(evt, true);\n }\n\n if (ghostEl) {\n if (ghostMatrix) {\n ghostMatrix.e += dx - (lastDx || 0);\n ghostMatrix.f += dy - (lastDy || 0);\n } else {\n ghostMatrix = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n e: dx,\n f: dy\n };\n }\n\n var cssMatrix = \"matrix(\".concat(ghostMatrix.a, \",\").concat(ghostMatrix.b, \",\").concat(ghostMatrix.c, \",\").concat(ghostMatrix.d, \",\").concat(ghostMatrix.e, \",\").concat(ghostMatrix.f, \")\");\n css(ghostEl, 'webkitTransform', cssMatrix);\n css(ghostEl, 'mozTransform', cssMatrix);\n css(ghostEl, 'msTransform', cssMatrix);\n css(ghostEl, 'transform', cssMatrix);\n lastDx = dx;\n lastDy = dy;\n touchEvt = touch;\n }\n\n evt.cancelable && evt.preventDefault();\n }\n },\n _appendGhost: function _appendGhost() {\n // Bug if using scale(): https://stackoverflow.com/questions/2637058\n // Not being adjusted for\n if (!ghostEl) {\n var container = this.options.fallbackOnBody ? document.body : rootEl,\n rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),\n options = this.options; // Position absolutely\n\n if (PositionGhostAbsolutely) {\n // Get relatively positioned parent\n ghostRelativeParent = container;\n\n while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {\n ghostRelativeParent = ghostRelativeParent.parentNode;\n }\n\n if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {\n if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();\n rect.top += ghostRelativeParent.scrollTop;\n rect.left += ghostRelativeParent.scrollLeft;\n } else {\n ghostRelativeParent = getWindowScrollingElement();\n }\n\n ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);\n }\n\n ghostEl = dragEl.cloneNode(true);\n toggleClass(ghostEl, options.ghostClass, false);\n toggleClass(ghostEl, options.fallbackClass, true);\n toggleClass(ghostEl, options.dragClass, true);\n css(ghostEl, 'transition', '');\n css(ghostEl, 'transform', '');\n css(ghostEl, 'box-sizing', 'border-box');\n css(ghostEl, 'margin', 0);\n css(ghostEl, 'top', rect.top);\n css(ghostEl, 'left', rect.left);\n css(ghostEl, 'width', rect.width);\n css(ghostEl, 'height', rect.height);\n css(ghostEl, 'opacity', '0.8');\n css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');\n css(ghostEl, 'zIndex', '100000');\n css(ghostEl, 'pointerEvents', 'none');\n Sortable.ghost = ghostEl;\n container.appendChild(ghostEl); // Set transform-origin\n\n css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');\n }\n },\n _onDragStart: function _onDragStart(\n /**Event*/\n evt,\n /**boolean*/\n fallback) {\n var _this = this;\n\n var dataTransfer = evt.dataTransfer;\n var options = _this.options;\n pluginEvent('dragStart', this, {\n evt: evt\n });\n\n if (Sortable.eventCanceled) {\n this._onDrop();\n\n return;\n }\n\n pluginEvent('setupClone', this);\n\n if (!Sortable.eventCanceled) {\n cloneEl = clone(dragEl);\n cloneEl.removeAttribute(\"id\");\n cloneEl.draggable = false;\n cloneEl.style['will-change'] = '';\n\n this._hideClone();\n\n toggleClass(cloneEl, this.options.chosenClass, false);\n Sortable.clone = cloneEl;\n } // #1143: IFrame support workaround\n\n\n _this.cloneId = _nextTick(function () {\n pluginEvent('clone', _this);\n if (Sortable.eventCanceled) return;\n\n if (!_this.options.removeCloneOnHide) {\n rootEl.insertBefore(cloneEl, dragEl);\n }\n\n _this._hideClone();\n\n _dispatchEvent({\n sortable: _this,\n name: 'clone'\n });\n });\n !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events\n\n if (fallback) {\n ignoreNextClick = true;\n _this._loopId = setInterval(_this._emulateDragOver, 50);\n } else {\n // Undo what was set in _prepareDragStart before drag started\n off(document, 'mouseup', _this._onDrop);\n off(document, 'touchend', _this._onDrop);\n off(document, 'touchcancel', _this._onDrop);\n\n if (dataTransfer) {\n dataTransfer.effectAllowed = 'move';\n options.setData && options.setData.call(_this, dataTransfer, dragEl);\n }\n\n on(document, 'drop', _this); // #1276 fix:\n\n css(dragEl, 'transform', 'translateZ(0)');\n }\n\n awaitingDragStarted = true;\n _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));\n on(document, 'selectstart', _this);\n moved = true;\n\n if (Safari) {\n css(document.body, 'user-select', 'none');\n }\n },\n // Returns true - if no further action is needed (either inserted or another condition)\n _onDragOver: function _onDragOver(\n /**Event*/\n evt) {\n var el = this.el,\n target = evt.target,\n dragRect,\n targetRect,\n revert,\n options = this.options,\n group = options.group,\n activeSortable = Sortable.active,\n isOwner = activeGroup === group,\n canSort = options.sort,\n fromSortable = putSortable || activeSortable,\n vertical,\n _this = this,\n completedFired = false;\n\n if (_silent) return;\n\n function dragOverEvent(name, extra) {\n pluginEvent(name, _this, _objectSpread2({\n evt: evt,\n isOwner: isOwner,\n axis: vertical ? 'vertical' : 'horizontal',\n revert: revert,\n dragRect: dragRect,\n targetRect: targetRect,\n canSort: canSort,\n fromSortable: fromSortable,\n target: target,\n completed: completed,\n onMove: function onMove(target, after) {\n return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);\n },\n changed: changed\n }, extra));\n } // Capture animation state\n\n\n function capture() {\n dragOverEvent('dragOverAnimationCapture');\n\n _this.captureAnimationState();\n\n if (_this !== fromSortable) {\n fromSortable.captureAnimationState();\n }\n } // Return invocation when dragEl is inserted (or completed)\n\n\n function completed(insertion) {\n dragOverEvent('dragOverCompleted', {\n insertion: insertion\n });\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n } else {\n activeSortable._showClone(_this);\n }\n\n if (_this !== fromSortable) {\n // Set ghost class to new sortable's ghost class\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);\n toggleClass(dragEl, options.ghostClass, true);\n }\n\n if (putSortable !== _this && _this !== Sortable.active) {\n putSortable = _this;\n } else if (_this === Sortable.active && putSortable) {\n putSortable = null;\n } // Animation\n\n\n if (fromSortable === _this) {\n _this._ignoreWhileAnimating = target;\n }\n\n _this.animateAll(function () {\n dragOverEvent('dragOverAnimationComplete');\n _this._ignoreWhileAnimating = null;\n });\n\n if (_this !== fromSortable) {\n fromSortable.animateAll();\n fromSortable._ignoreWhileAnimating = null;\n }\n } // Null lastTarget if it is not inside a previously swapped element\n\n\n if (target === dragEl && !dragEl.animated || target === el && !target.animated) {\n lastTarget = null;\n } // no bubbling and not fallback\n\n\n if (!options.dragoverBubble && !evt.rootEl && target !== document) {\n dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted\n\n\n !insertion && nearestEmptyInsertDetectEvent(evt);\n }\n\n !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();\n return completedFired = true;\n } // Call when dragEl has been inserted\n\n\n function changed() {\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n _dispatchEvent({\n sortable: _this,\n name: 'change',\n toEl: el,\n newIndex: newIndex,\n newDraggableIndex: newDraggableIndex,\n originalEvent: evt\n });\n }\n\n if (evt.preventDefault !== void 0) {\n evt.cancelable && evt.preventDefault();\n }\n\n target = closest(target, options.draggable, el, true);\n dragOverEvent('dragOver');\n if (Sortable.eventCanceled) return completedFired;\n\n if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {\n return completed(false);\n }\n\n ignoreNextClick = false;\n\n if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list\n : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {\n vertical = this._getDirection(evt, target) === 'vertical';\n dragRect = getRect(dragEl);\n dragOverEvent('dragOverValid');\n if (Sortable.eventCanceled) return completedFired;\n\n if (revert) {\n parentEl = rootEl; // actualization\n\n capture();\n\n this._hideClone();\n\n dragOverEvent('revert');\n\n if (!Sortable.eventCanceled) {\n if (nextEl) {\n rootEl.insertBefore(dragEl, nextEl);\n } else {\n rootEl.appendChild(dragEl);\n }\n }\n\n return completed(true);\n }\n\n var elLastChild = lastChild(el, options.draggable);\n\n if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {\n // Insert to end of list\n // If already at end of list: Do not insert\n if (elLastChild === dragEl) {\n return completed(false);\n } // if there is a last element, it is the target\n\n\n if (elLastChild && el === evt.target) {\n target = elLastChild;\n }\n\n if (target) {\n targetRect = getRect(target);\n }\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {\n capture();\n\n if (elLastChild && elLastChild.nextSibling) {\n // the last draggable element is not the last node\n el.insertBefore(dragEl, elLastChild.nextSibling);\n } else {\n el.appendChild(dragEl);\n }\n\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {\n // Insert to start of list\n var firstChild = getChild(el, 0, options, true);\n\n if (firstChild === dragEl) {\n return completed(false);\n }\n\n target = firstChild;\n targetRect = getRect(target);\n\n if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {\n capture();\n el.insertBefore(dragEl, firstChild);\n parentEl = el; // actualization\n\n changed();\n return completed(true);\n }\n } else if (target.parentNode === el) {\n targetRect = getRect(target);\n var direction = 0,\n targetBeforeFirstSwap,\n differentLevel = dragEl.parentNode !== el,\n differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),\n side1 = vertical ? 'top' : 'left',\n scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),\n scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;\n\n if (lastTarget !== target) {\n targetBeforeFirstSwap = targetRect[side1];\n pastFirstInvertThresh = false;\n isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;\n }\n\n direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);\n var sibling;\n\n if (direction !== 0) {\n // Check if target is beside dragEl in respective direction (ignoring hidden elements)\n var dragIndex = index(dragEl);\n\n do {\n dragIndex -= direction;\n sibling = parentEl.children[dragIndex];\n } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));\n } // If dragEl is already beside target: Do not insert\n\n\n if (direction === 0 || sibling === target) {\n return completed(false);\n }\n\n lastTarget = target;\n lastDirection = direction;\n var nextSibling = target.nextElementSibling,\n after = false;\n after = direction === 1;\n\n var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);\n\n if (moveVector !== false) {\n if (moveVector === 1 || moveVector === -1) {\n after = moveVector === 1;\n }\n\n _silent = true;\n setTimeout(_unsilent, 30);\n capture();\n\n if (after && !nextSibling) {\n el.appendChild(dragEl);\n } else {\n target.parentNode.insertBefore(dragEl, after ? nextSibling : target);\n } // Undo chrome's scroll adjustment (has no effect on other browsers)\n\n\n if (scrolledPastTop) {\n scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);\n }\n\n parentEl = dragEl.parentNode; // actualization\n // must be done before animation\n\n if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {\n targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);\n }\n\n changed();\n return completed(true);\n }\n }\n\n if (el.contains(dragEl)) {\n return completed(false);\n }\n }\n\n return false;\n },\n _ignoreWhileAnimating: null,\n _offMoveEvents: function _offMoveEvents() {\n off(document, 'mousemove', this._onTouchMove);\n off(document, 'touchmove', this._onTouchMove);\n off(document, 'pointermove', this._onTouchMove);\n off(document, 'dragover', nearestEmptyInsertDetectEvent);\n off(document, 'mousemove', nearestEmptyInsertDetectEvent);\n off(document, 'touchmove', nearestEmptyInsertDetectEvent);\n },\n _offUpEvents: function _offUpEvents() {\n var ownerDocument = this.el.ownerDocument;\n off(ownerDocument, 'mouseup', this._onDrop);\n off(ownerDocument, 'touchend', this._onDrop);\n off(ownerDocument, 'pointerup', this._onDrop);\n off(ownerDocument, 'touchcancel', this._onDrop);\n off(document, 'selectstart', this);\n },\n _onDrop: function _onDrop(\n /**Event*/\n evt) {\n var el = this.el,\n options = this.options; // Get the index of the dragged element within its parent\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n pluginEvent('drop', this, {\n evt: evt\n });\n parentEl = dragEl && dragEl.parentNode; // Get again after plugin event\n\n newIndex = index(dragEl);\n newDraggableIndex = index(dragEl, options.draggable);\n\n if (Sortable.eventCanceled) {\n this._nulling();\n\n return;\n }\n\n awaitingDragStarted = false;\n isCircumstantialInvert = false;\n pastFirstInvertThresh = false;\n clearInterval(this._loopId);\n clearTimeout(this._dragStartTimer);\n\n _cancelNextTick(this.cloneId);\n\n _cancelNextTick(this._dragStartId); // Unbind events\n\n\n if (this.nativeDraggable) {\n off(document, 'drop', this);\n off(el, 'dragstart', this._onDragStart);\n }\n\n this._offMoveEvents();\n\n this._offUpEvents();\n\n if (Safari) {\n css(document.body, 'user-select', '');\n }\n\n css(dragEl, 'transform', '');\n\n if (evt) {\n if (moved) {\n evt.cancelable && evt.preventDefault();\n !options.dropBubble && evt.stopPropagation();\n }\n\n ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n // Remove clone(s)\n cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);\n }\n\n if (dragEl) {\n if (this.nativeDraggable) {\n off(dragEl, 'dragend', this);\n }\n\n _disableDraggable(dragEl);\n\n dragEl.style['will-change'] = ''; // Remove classes\n // ghostClass is added in dragStarted\n\n if (moved && !awaitingDragStarted) {\n toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);\n }\n\n toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event\n\n _dispatchEvent({\n sortable: this,\n name: 'unchoose',\n toEl: parentEl,\n newIndex: null,\n newDraggableIndex: null,\n originalEvent: evt\n });\n\n if (rootEl !== parentEl) {\n if (newIndex >= 0) {\n // Add event\n _dispatchEvent({\n rootEl: parentEl,\n name: 'add',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n }); // Remove event\n\n\n _dispatchEvent({\n sortable: this,\n name: 'remove',\n toEl: parentEl,\n originalEvent: evt\n }); // drag from one list and drop into another\n\n\n _dispatchEvent({\n rootEl: parentEl,\n name: 'sort',\n toEl: parentEl,\n fromEl: rootEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n\n putSortable && putSortable.save();\n } else {\n if (newIndex !== oldIndex) {\n if (newIndex >= 0) {\n // drag & drop within the same list\n _dispatchEvent({\n sortable: this,\n name: 'update',\n toEl: parentEl,\n originalEvent: evt\n });\n\n _dispatchEvent({\n sortable: this,\n name: 'sort',\n toEl: parentEl,\n originalEvent: evt\n });\n }\n }\n }\n\n if (Sortable.active) {\n /* jshint eqnull:true */\n if (newIndex == null || newIndex === -1) {\n newIndex = oldIndex;\n newDraggableIndex = oldDraggableIndex;\n }\n\n _dispatchEvent({\n sortable: this,\n name: 'end',\n toEl: parentEl,\n originalEvent: evt\n }); // Save sorting\n\n\n this.save();\n }\n }\n }\n\n this._nulling();\n },\n _nulling: function _nulling() {\n pluginEvent('nulling', this);\n rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;\n savedInputChecked.forEach(function (el) {\n el.checked = true;\n });\n savedInputChecked.length = lastDx = lastDy = 0;\n },\n handleEvent: function handleEvent(\n /**Event*/\n evt) {\n switch (evt.type) {\n case 'drop':\n case 'dragend':\n this._onDrop(evt);\n\n break;\n\n case 'dragenter':\n case 'dragover':\n if (dragEl) {\n this._onDragOver(evt);\n\n _globalDragOver(evt);\n }\n\n break;\n\n case 'selectstart':\n evt.preventDefault();\n break;\n }\n },\n\n /**\r\n * Serializes the item into an array of string.\r\n * @returns {String[]}\r\n */\n toArray: function toArray() {\n var order = [],\n el,\n children = this.el.children,\n i = 0,\n n = children.length,\n options = this.options;\n\n for (; i < n; i++) {\n el = children[i];\n\n if (closest(el, options.draggable, this.el, false)) {\n order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));\n }\n }\n\n return order;\n },\n\n /**\r\n * Sorts the elements according to the array.\r\n * @param {String[]} order order of the items\r\n */\n sort: function sort(order, useAnimation) {\n var items = {},\n rootEl = this.el;\n this.toArray().forEach(function (id, i) {\n var el = rootEl.children[i];\n\n if (closest(el, this.options.draggable, rootEl, false)) {\n items[id] = el;\n }\n }, this);\n useAnimation && this.captureAnimationState();\n order.forEach(function (id) {\n if (items[id]) {\n rootEl.removeChild(items[id]);\n rootEl.appendChild(items[id]);\n }\n });\n useAnimation && this.animateAll();\n },\n\n /**\r\n * Save the current sorting\r\n */\n save: function save() {\n var store = this.options.store;\n store && store.set && store.set(this);\n },\n\n /**\r\n * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.\r\n * @param {HTMLElement} el\r\n * @param {String} [selector] default: `options.draggable`\r\n * @returns {HTMLElement|null}\r\n */\n closest: function closest$1(el, selector) {\n return closest(el, selector || this.options.draggable, this.el, false);\n },\n\n /**\r\n * Set/get option\r\n * @param {string} name\r\n * @param {*} [value]\r\n * @returns {*}\r\n */\n option: function option(name, value) {\n var options = this.options;\n\n if (value === void 0) {\n return options[name];\n } else {\n var modifiedValue = PluginManager.modifyOption(this, name, value);\n\n if (typeof modifiedValue !== 'undefined') {\n options[name] = modifiedValue;\n } else {\n options[name] = value;\n }\n\n if (name === 'group') {\n _prepareGroup(options);\n }\n }\n },\n\n /**\r\n * Destroy\r\n */\n destroy: function destroy() {\n pluginEvent('destroy', this);\n var el = this.el;\n el[expando] = null;\n off(el, 'mousedown', this._onTapStart);\n off(el, 'touchstart', this._onTapStart);\n off(el, 'pointerdown', this._onTapStart);\n\n if (this.nativeDraggable) {\n off(el, 'dragover', this);\n off(el, 'dragenter', this);\n } // Remove draggable attributes\n\n\n Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {\n el.removeAttribute('draggable');\n });\n\n this._onDrop();\n\n this._disableDelayedDragEvents();\n\n sortables.splice(sortables.indexOf(this.el), 1);\n this.el = el = null;\n },\n _hideClone: function _hideClone() {\n if (!cloneHidden) {\n pluginEvent('hideClone', this);\n if (Sortable.eventCanceled) return;\n css(cloneEl, 'display', 'none');\n\n if (this.options.removeCloneOnHide && cloneEl.parentNode) {\n cloneEl.parentNode.removeChild(cloneEl);\n }\n\n cloneHidden = true;\n }\n },\n _showClone: function _showClone(putSortable) {\n if (putSortable.lastPutMode !== 'clone') {\n this._hideClone();\n\n return;\n }\n\n if (cloneHidden) {\n pluginEvent('showClone', this);\n if (Sortable.eventCanceled) return; // show clone at dragEl or original position\n\n if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {\n rootEl.insertBefore(cloneEl, dragEl);\n } else if (nextEl) {\n rootEl.insertBefore(cloneEl, nextEl);\n } else {\n rootEl.appendChild(cloneEl);\n }\n\n if (this.options.group.revertClone) {\n this.animate(dragEl, cloneEl);\n }\n\n css(cloneEl, 'display', '');\n cloneHidden = false;\n }\n }\n};\n\nfunction _globalDragOver(\n/**Event*/\nevt) {\n if (evt.dataTransfer) {\n evt.dataTransfer.dropEffect = 'move';\n }\n\n evt.cancelable && evt.preventDefault();\n}\n\nfunction _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {\n var evt,\n sortable = fromEl[expando],\n onMoveFn = sortable.options.onMove,\n retVal; // Support for new CustomEvent feature\n\n if (window.CustomEvent && !IE11OrLess && !Edge) {\n evt = new CustomEvent('move', {\n bubbles: true,\n cancelable: true\n });\n } else {\n evt = document.createEvent('Event');\n evt.initEvent('move', true, true);\n }\n\n evt.to = toEl;\n evt.from = fromEl;\n evt.dragged = dragEl;\n evt.draggedRect = dragRect;\n evt.related = targetEl || toEl;\n evt.relatedRect = targetRect || getRect(toEl);\n evt.willInsertAfter = willInsertAfter;\n evt.originalEvent = originalEvent;\n fromEl.dispatchEvent(evt);\n\n if (onMoveFn) {\n retVal = onMoveFn.call(sortable, evt, originalEvent);\n }\n\n return retVal;\n}\n\nfunction _disableDraggable(el) {\n el.draggable = false;\n}\n\nfunction _unsilent() {\n _silent = false;\n}\n\nfunction _ghostIsFirst(evt, vertical, sortable) {\n var rect = getRect(getChild(sortable.el, 0, sortable.options, true));\n var spacer = 10;\n return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;\n}\n\nfunction _ghostIsLast(evt, vertical, sortable) {\n var rect = getRect(lastChild(sortable.el, sortable.options.draggable));\n var spacer = 10;\n return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;\n}\n\nfunction _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {\n var mouseOnAxis = vertical ? evt.clientY : evt.clientX,\n targetLength = vertical ? targetRect.height : targetRect.width,\n targetS1 = vertical ? targetRect.top : targetRect.left,\n targetS2 = vertical ? targetRect.bottom : targetRect.right,\n invert = false;\n\n if (!invertSwap) {\n // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold\n if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {\n // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2\n // check if past first invert threshold on side opposite of lastDirection\n if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {\n // past first invert threshold, do not restrict inverted threshold to dragEl shadow\n pastFirstInvertThresh = true;\n }\n\n if (!pastFirstInvertThresh) {\n // dragEl shadow (target move distance shadow)\n if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow\n : mouseOnAxis > targetS2 - targetMoveDistance) {\n return -lastDirection;\n }\n } else {\n invert = true;\n }\n } else {\n // Regular\n if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {\n return _getInsertDirection(target);\n }\n }\n }\n\n invert = invert || invertSwap;\n\n if (invert) {\n // Invert of regular\n if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {\n return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;\n }\n }\n\n return 0;\n}\n/**\r\n * Gets the direction dragEl must be swapped relative to target in order to make it\r\n * seem that dragEl has been \"inserted\" into that element's position\r\n * @param {HTMLElement} target The target whose position dragEl is being inserted at\r\n * @return {Number} Direction dragEl must be swapped\r\n */\n\n\nfunction _getInsertDirection(target) {\n if (index(dragEl) < index(target)) {\n return 1;\n } else {\n return -1;\n }\n}\n/**\r\n * Generate id\r\n * @param {HTMLElement} el\r\n * @returns {String}\r\n * @private\r\n */\n\n\nfunction _generateId(el) {\n var str = el.tagName + el.className + el.src + el.href + el.textContent,\n i = str.length,\n sum = 0;\n\n while (i--) {\n sum += str.charCodeAt(i);\n }\n\n return sum.toString(36);\n}\n\nfunction _saveInputCheckedState(root) {\n savedInputChecked.length = 0;\n var inputs = root.getElementsByTagName('input');\n var idx = inputs.length;\n\n while (idx--) {\n var el = inputs[idx];\n el.checked && savedInputChecked.push(el);\n }\n}\n\nfunction _nextTick(fn) {\n return setTimeout(fn, 0);\n}\n\nfunction _cancelNextTick(id) {\n return clearTimeout(id);\n} // Fixed #973:\n\n\nif (documentExists) {\n on(document, 'touchmove', function (evt) {\n if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {\n evt.preventDefault();\n }\n });\n} // Export utils\n\n\nSortable.utils = {\n on: on,\n off: off,\n css: css,\n find: find,\n is: function is(el, selector) {\n return !!closest(el, selector, el, false);\n },\n extend: extend,\n throttle: throttle,\n closest: closest,\n toggleClass: toggleClass,\n clone: clone,\n index: index,\n nextTick: _nextTick,\n cancelNextTick: _cancelNextTick,\n detectDirection: _detectDirection,\n getChild: getChild\n};\n/**\r\n * Get the Sortable instance of an element\r\n * @param {HTMLElement} element The element\r\n * @return {Sortable|undefined} The instance of Sortable\r\n */\n\nSortable.get = function (element) {\n return element[expando];\n};\n/**\r\n * Mount a plugin to Sortable\r\n * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted\r\n */\n\n\nSortable.mount = function () {\n for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n if (plugins[0].constructor === Array) plugins = plugins[0];\n plugins.forEach(function (plugin) {\n if (!plugin.prototype || !plugin.prototype.constructor) {\n throw \"Sortable: Mounted plugin must be a constructor function, not \".concat({}.toString.call(plugin));\n }\n\n if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);\n PluginManager.mount(plugin);\n });\n};\n/**\r\n * Create sortable instance\r\n * @param {HTMLElement} el\r\n * @param {Object} [options]\r\n */\n\n\nSortable.create = function (el, options) {\n return new Sortable(el, options);\n}; // Export\n\n\nSortable.version = version;\n\nvar autoScrolls = [],\n scrollEl,\n scrollRootEl,\n scrolling = false,\n lastAutoScrollX,\n lastAutoScrollY,\n touchEvt$1,\n pointerElemChangedInterval;\n\nfunction AutoScrollPlugin() {\n function AutoScroll() {\n this.defaults = {\n scroll: true,\n forceAutoScrollFallback: false,\n scrollSensitivity: 30,\n scrollSpeed: 10,\n bubbleScroll: true\n }; // Bind all private methods\n\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n }\n\n AutoScroll.prototype = {\n dragStarted: function dragStarted(_ref) {\n var originalEvent = _ref.originalEvent;\n\n if (this.sortable.nativeDraggable) {\n on(document, 'dragover', this._handleAutoScroll);\n } else {\n if (this.options.supportPointer) {\n on(document, 'pointermove', this._handleFallbackAutoScroll);\n } else if (originalEvent.touches) {\n on(document, 'touchmove', this._handleFallbackAutoScroll);\n } else {\n on(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref2) {\n var originalEvent = _ref2.originalEvent;\n\n // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)\n if (!this.options.dragOverBubble && !originalEvent.rootEl) {\n this._handleAutoScroll(originalEvent);\n }\n },\n drop: function drop() {\n if (this.sortable.nativeDraggable) {\n off(document, 'dragover', this._handleAutoScroll);\n } else {\n off(document, 'pointermove', this._handleFallbackAutoScroll);\n off(document, 'touchmove', this._handleFallbackAutoScroll);\n off(document, 'mousemove', this._handleFallbackAutoScroll);\n }\n\n clearPointerElemChangedInterval();\n clearAutoScrolls();\n cancelThrottle();\n },\n nulling: function nulling() {\n touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;\n autoScrolls.length = 0;\n },\n _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {\n this._handleAutoScroll(evt, true);\n },\n _handleAutoScroll: function _handleAutoScroll(evt, fallback) {\n var _this = this;\n\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n elem = document.elementFromPoint(x, y);\n touchEvt$1 = evt; // IE does not seem to have native autoscroll,\n // Edge's autoscroll seems too conditional,\n // MACOS Safari does not have autoscroll,\n // Firefox and Chrome are good\n\n if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {\n autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change\n\n var ogElemScroller = getParentAutoScrollElement(elem, true);\n\n if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {\n pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour\n\n pointerElemChangedInterval = setInterval(function () {\n var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);\n\n if (newElem !== ogElemScroller) {\n ogElemScroller = newElem;\n clearAutoScrolls();\n }\n\n autoScroll(evt, _this.options, newElem, fallback);\n }, 10);\n lastAutoScrollX = x;\n lastAutoScrollY = y;\n }\n } else {\n // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll\n if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {\n clearAutoScrolls();\n return;\n }\n\n autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);\n }\n }\n };\n return _extends(AutoScroll, {\n pluginName: 'scroll',\n initializeByDefault: true\n });\n}\n\nfunction clearAutoScrolls() {\n autoScrolls.forEach(function (autoScroll) {\n clearInterval(autoScroll.pid);\n });\n autoScrolls = [];\n}\n\nfunction clearPointerElemChangedInterval() {\n clearInterval(pointerElemChangedInterval);\n}\n\nvar autoScroll = throttle(function (evt, options, rootEl, isFallback) {\n // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521\n if (!options.scroll) return;\n var x = (evt.touches ? evt.touches[0] : evt).clientX,\n y = (evt.touches ? evt.touches[0] : evt).clientY,\n sens = options.scrollSensitivity,\n speed = options.scrollSpeed,\n winScroller = getWindowScrollingElement();\n var scrollThisInstance = false,\n scrollCustomFn; // New scroll root, set scrollEl\n\n if (scrollRootEl !== rootEl) {\n scrollRootEl = rootEl;\n clearAutoScrolls();\n scrollEl = options.scroll;\n scrollCustomFn = options.scrollFn;\n\n if (scrollEl === true) {\n scrollEl = getParentAutoScrollElement(rootEl, true);\n }\n }\n\n var layersOut = 0;\n var currentParent = scrollEl;\n\n do {\n var el = currentParent,\n rect = getRect(el),\n top = rect.top,\n bottom = rect.bottom,\n left = rect.left,\n right = rect.right,\n width = rect.width,\n height = rect.height,\n canScrollX = void 0,\n canScrollY = void 0,\n scrollWidth = el.scrollWidth,\n scrollHeight = el.scrollHeight,\n elCSS = css(el),\n scrollPosX = el.scrollLeft,\n scrollPosY = el.scrollTop;\n\n if (el === winScroller) {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');\n } else {\n canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');\n canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');\n }\n\n var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);\n var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);\n\n if (!autoScrolls[layersOut]) {\n for (var i = 0; i <= layersOut; i++) {\n if (!autoScrolls[i]) {\n autoScrolls[i] = {};\n }\n }\n }\n\n if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {\n autoScrolls[layersOut].el = el;\n autoScrolls[layersOut].vx = vx;\n autoScrolls[layersOut].vy = vy;\n clearInterval(autoScrolls[layersOut].pid);\n\n if (vx != 0 || vy != 0) {\n scrollThisInstance = true;\n /* jshint loopfunc:true */\n\n autoScrolls[layersOut].pid = setInterval(function () {\n // emulate drag over during autoscroll (fallback), emulating native DnD behaviour\n if (isFallback && this.layer === 0) {\n Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely\n\n }\n\n var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;\n var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;\n\n if (typeof scrollCustomFn === 'function') {\n if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {\n return;\n }\n }\n\n scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);\n }.bind({\n layer: layersOut\n }), 24);\n }\n }\n\n layersOut++;\n } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));\n\n scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not\n}, 30);\n\nvar drop = function drop(_ref) {\n var originalEvent = _ref.originalEvent,\n putSortable = _ref.putSortable,\n dragEl = _ref.dragEl,\n activeSortable = _ref.activeSortable,\n dispatchSortableEvent = _ref.dispatchSortableEvent,\n hideGhostForTarget = _ref.hideGhostForTarget,\n unhideGhostForTarget = _ref.unhideGhostForTarget;\n if (!originalEvent) return;\n var toSortable = putSortable || activeSortable;\n hideGhostForTarget();\n var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;\n var target = document.elementFromPoint(touch.clientX, touch.clientY);\n unhideGhostForTarget();\n\n if (toSortable && !toSortable.el.contains(target)) {\n dispatchSortableEvent('spill');\n this.onSpill({\n dragEl: dragEl,\n putSortable: putSortable\n });\n }\n};\n\nfunction Revert() {}\n\nRevert.prototype = {\n startIndex: null,\n dragStart: function dragStart(_ref2) {\n var oldDraggableIndex = _ref2.oldDraggableIndex;\n this.startIndex = oldDraggableIndex;\n },\n onSpill: function onSpill(_ref3) {\n var dragEl = _ref3.dragEl,\n putSortable = _ref3.putSortable;\n this.sortable.captureAnimationState();\n\n if (putSortable) {\n putSortable.captureAnimationState();\n }\n\n var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);\n\n if (nextSibling) {\n this.sortable.el.insertBefore(dragEl, nextSibling);\n } else {\n this.sortable.el.appendChild(dragEl);\n }\n\n this.sortable.animateAll();\n\n if (putSortable) {\n putSortable.animateAll();\n }\n },\n drop: drop\n};\n\n_extends(Revert, {\n pluginName: 'revertOnSpill'\n});\n\nfunction Remove() {}\n\nRemove.prototype = {\n onSpill: function onSpill(_ref4) {\n var dragEl = _ref4.dragEl,\n putSortable = _ref4.putSortable;\n var parentSortable = putSortable || this.sortable;\n parentSortable.captureAnimationState();\n dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);\n parentSortable.animateAll();\n },\n drop: drop\n};\n\n_extends(Remove, {\n pluginName: 'removeOnSpill'\n});\n\nvar lastSwapEl;\n\nfunction SwapPlugin() {\n function Swap() {\n this.defaults = {\n swapClass: 'sortable-swap-highlight'\n };\n }\n\n Swap.prototype = {\n dragStart: function dragStart(_ref) {\n var dragEl = _ref.dragEl;\n lastSwapEl = dragEl;\n },\n dragOverValid: function dragOverValid(_ref2) {\n var completed = _ref2.completed,\n target = _ref2.target,\n onMove = _ref2.onMove,\n activeSortable = _ref2.activeSortable,\n changed = _ref2.changed,\n cancel = _ref2.cancel;\n if (!activeSortable.options.swap) return;\n var el = this.sortable.el,\n options = this.options;\n\n if (target && target !== el) {\n var prevSwapEl = lastSwapEl;\n\n if (onMove(target) !== false) {\n toggleClass(target, options.swapClass, true);\n lastSwapEl = target;\n } else {\n lastSwapEl = null;\n }\n\n if (prevSwapEl && prevSwapEl !== lastSwapEl) {\n toggleClass(prevSwapEl, options.swapClass, false);\n }\n }\n\n changed();\n completed(true);\n cancel();\n },\n drop: function drop(_ref3) {\n var activeSortable = _ref3.activeSortable,\n putSortable = _ref3.putSortable,\n dragEl = _ref3.dragEl;\n var toSortable = putSortable || this.sortable;\n var options = this.options;\n lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);\n\n if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {\n if (dragEl !== lastSwapEl) {\n toSortable.captureAnimationState();\n if (toSortable !== activeSortable) activeSortable.captureAnimationState();\n swapNodes(dragEl, lastSwapEl);\n toSortable.animateAll();\n if (toSortable !== activeSortable) activeSortable.animateAll();\n }\n }\n },\n nulling: function nulling() {\n lastSwapEl = null;\n }\n };\n return _extends(Swap, {\n pluginName: 'swap',\n eventProperties: function eventProperties() {\n return {\n swapItem: lastSwapEl\n };\n }\n });\n}\n\nfunction swapNodes(n1, n2) {\n var p1 = n1.parentNode,\n p2 = n2.parentNode,\n i1,\n i2;\n if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;\n i1 = index(n1);\n i2 = index(n2);\n\n if (p1.isEqualNode(p2) && i1 < i2) {\n i2++;\n }\n\n p1.insertBefore(n2, p1.children[i1]);\n p2.insertBefore(n1, p2.children[i2]);\n}\n\nvar multiDragElements = [],\n multiDragClones = [],\n lastMultiDragSelect,\n // for selection with modifier key down (SHIFT)\nmultiDragSortable,\n initialFolding = false,\n // Initial multi-drag fold when drag started\nfolding = false,\n // Folding any other time\ndragStarted = false,\n dragEl$1,\n clonesFromRect,\n clonesHidden;\n\nfunction MultiDragPlugin() {\n function MultiDrag(sortable) {\n // Bind all private methods\n for (var fn in this) {\n if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {\n this[fn] = this[fn].bind(this);\n }\n }\n\n if (!sortable.options.avoidImplicitDeselect) {\n if (sortable.options.supportPointer) {\n on(document, 'pointerup', this._deselectMultiDrag);\n } else {\n on(document, 'mouseup', this._deselectMultiDrag);\n on(document, 'touchend', this._deselectMultiDrag);\n }\n }\n\n on(document, 'keydown', this._checkKeyDown);\n on(document, 'keyup', this._checkKeyUp);\n this.defaults = {\n selectedClass: 'sortable-selected',\n multiDragKey: null,\n avoidImplicitDeselect: false,\n setData: function setData(dataTransfer, dragEl) {\n var data = '';\n\n if (multiDragElements.length && multiDragSortable === sortable) {\n multiDragElements.forEach(function (multiDragElement, i) {\n data += (!i ? '' : ', ') + multiDragElement.textContent;\n });\n } else {\n data = dragEl.textContent;\n }\n\n dataTransfer.setData('Text', data);\n }\n };\n }\n\n MultiDrag.prototype = {\n multiDragKeyDown: false,\n isMultiDrag: false,\n delayStartGlobal: function delayStartGlobal(_ref) {\n var dragged = _ref.dragEl;\n dragEl$1 = dragged;\n },\n delayEnded: function delayEnded() {\n this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);\n },\n setupClone: function setupClone(_ref2) {\n var sortable = _ref2.sortable,\n cancel = _ref2.cancel;\n if (!this.isMultiDrag) return;\n\n for (var i = 0; i < multiDragElements.length; i++) {\n multiDragClones.push(clone(multiDragElements[i]));\n multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;\n multiDragClones[i].draggable = false;\n multiDragClones[i].style['will-change'] = '';\n toggleClass(multiDragClones[i], this.options.selectedClass, false);\n multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);\n }\n\n sortable._hideClone();\n\n cancel();\n },\n clone: function clone(_ref3) {\n var sortable = _ref3.sortable,\n rootEl = _ref3.rootEl,\n dispatchSortableEvent = _ref3.dispatchSortableEvent,\n cancel = _ref3.cancel;\n if (!this.isMultiDrag) return;\n\n if (!this.options.removeCloneOnHide) {\n if (multiDragElements.length && multiDragSortable === sortable) {\n insertMultiDragClones(true, rootEl);\n dispatchSortableEvent('clone');\n cancel();\n }\n }\n },\n showClone: function showClone(_ref4) {\n var cloneNowShown = _ref4.cloneNowShown,\n rootEl = _ref4.rootEl,\n cancel = _ref4.cancel;\n if (!this.isMultiDrag) return;\n insertMultiDragClones(false, rootEl);\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', '');\n });\n cloneNowShown();\n clonesHidden = false;\n cancel();\n },\n hideClone: function hideClone(_ref5) {\n var _this = this;\n\n var sortable = _ref5.sortable,\n cloneNowHidden = _ref5.cloneNowHidden,\n cancel = _ref5.cancel;\n if (!this.isMultiDrag) return;\n multiDragClones.forEach(function (clone) {\n css(clone, 'display', 'none');\n\n if (_this.options.removeCloneOnHide && clone.parentNode) {\n clone.parentNode.removeChild(clone);\n }\n });\n cloneNowHidden();\n clonesHidden = true;\n cancel();\n },\n dragStartGlobal: function dragStartGlobal(_ref6) {\n var sortable = _ref6.sortable;\n\n if (!this.isMultiDrag && multiDragSortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n }\n\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.sortableIndex = index(multiDragElement);\n }); // Sort multi-drag elements\n\n multiDragElements = multiDragElements.sort(function (a, b) {\n return a.sortableIndex - b.sortableIndex;\n });\n dragStarted = true;\n },\n dragStarted: function dragStarted(_ref7) {\n var _this2 = this;\n\n var sortable = _ref7.sortable;\n if (!this.isMultiDrag) return;\n\n if (this.options.sort) {\n // Capture rects,\n // hide multi drag elements (by positioning them absolute),\n // set multi drag elements rects to dragRect,\n // show multi drag elements,\n // animate to rects,\n // unset rects & remove from DOM\n sortable.captureAnimationState();\n\n if (this.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n css(multiDragElement, 'position', 'absolute');\n });\n var dragRect = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRect);\n });\n folding = true;\n initialFolding = true;\n }\n }\n\n sortable.animateAll(function () {\n folding = false;\n initialFolding = false;\n\n if (_this2.options.animation) {\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n } // Remove all auxiliary multidrag items from el, if sorting enabled\n\n\n if (_this2.options.sort) {\n removeMultiDragElements();\n }\n });\n },\n dragOver: function dragOver(_ref8) {\n var target = _ref8.target,\n completed = _ref8.completed,\n cancel = _ref8.cancel;\n\n if (folding && ~multiDragElements.indexOf(target)) {\n completed(false);\n cancel();\n }\n },\n revert: function revert(_ref9) {\n var fromSortable = _ref9.fromSortable,\n rootEl = _ref9.rootEl,\n sortable = _ref9.sortable,\n dragRect = _ref9.dragRect;\n\n if (multiDragElements.length > 1) {\n // Setup unfold animation\n multiDragElements.forEach(function (multiDragElement) {\n sortable.addAnimationState({\n target: multiDragElement,\n rect: folding ? getRect(multiDragElement) : dragRect\n });\n unsetRect(multiDragElement);\n multiDragElement.fromRect = dragRect;\n fromSortable.removeAnimationState(multiDragElement);\n });\n folding = false;\n insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);\n }\n },\n dragOverCompleted: function dragOverCompleted(_ref10) {\n var sortable = _ref10.sortable,\n isOwner = _ref10.isOwner,\n insertion = _ref10.insertion,\n activeSortable = _ref10.activeSortable,\n parentEl = _ref10.parentEl,\n putSortable = _ref10.putSortable;\n var options = this.options;\n\n if (insertion) {\n // Clones must be hidden before folding animation to capture dragRectAbsolute properly\n if (isOwner) {\n activeSortable._hideClone();\n }\n\n initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location\n\n if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {\n // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible\n var dragRectAbsolute = getRect(dragEl$1, false, true, true);\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted\n // while folding, and so that we can capture them again because old sortable will no longer be fromSortable\n\n parentEl.appendChild(multiDragElement);\n });\n folding = true;\n } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out\n\n\n if (!isOwner) {\n // Only remove if not folding (folding will remove them anyways)\n if (!folding) {\n removeMultiDragElements();\n }\n\n if (multiDragElements.length > 1) {\n var clonesHiddenBefore = clonesHidden;\n\n activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden\n\n\n if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {\n multiDragClones.forEach(function (clone) {\n activeSortable.addAnimationState({\n target: clone,\n rect: clonesFromRect\n });\n clone.fromRect = clonesFromRect;\n clone.thisAnimationDuration = null;\n });\n }\n } else {\n activeSortable._showClone(sortable);\n }\n }\n }\n },\n dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {\n var dragRect = _ref11.dragRect,\n isOwner = _ref11.isOwner,\n activeSortable = _ref11.activeSortable;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n });\n\n if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {\n clonesFromRect = _extends({}, dragRect);\n var dragMatrix = matrix(dragEl$1, true);\n clonesFromRect.top -= dragMatrix.f;\n clonesFromRect.left -= dragMatrix.e;\n }\n },\n dragOverAnimationComplete: function dragOverAnimationComplete() {\n if (folding) {\n folding = false;\n removeMultiDragElements();\n }\n },\n drop: function drop(_ref12) {\n var evt = _ref12.originalEvent,\n rootEl = _ref12.rootEl,\n parentEl = _ref12.parentEl,\n sortable = _ref12.sortable,\n dispatchSortableEvent = _ref12.dispatchSortableEvent,\n oldIndex = _ref12.oldIndex,\n putSortable = _ref12.putSortable;\n var toSortable = putSortable || this.sortable;\n if (!evt) return;\n var options = this.options,\n children = parentEl.children; // Multi-drag selection\n\n if (!dragStarted) {\n if (options.multiDragKey && !this.multiDragKeyDown) {\n this._deselectMultiDrag();\n }\n\n toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));\n\n if (!~multiDragElements.indexOf(dragEl$1)) {\n multiDragElements.push(dragEl$1);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: dragEl$1,\n originalEvent: evt\n }); // Modifier activated, select from last to dragEl\n\n if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {\n var lastIndex = index(lastMultiDragSelect),\n currentIndex = index(dragEl$1);\n\n if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {\n // Must include lastMultiDragSelect (select it), in case modified selection from no selection\n // (but previous selection existed)\n var n, i;\n\n if (currentIndex > lastIndex) {\n i = lastIndex;\n n = currentIndex;\n } else {\n i = currentIndex;\n n = lastIndex + 1;\n }\n\n for (; i < n; i++) {\n if (~multiDragElements.indexOf(children[i])) continue;\n toggleClass(children[i], options.selectedClass, true);\n multiDragElements.push(children[i]);\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'select',\n targetEl: children[i],\n originalEvent: evt\n });\n }\n }\n } else {\n lastMultiDragSelect = dragEl$1;\n }\n\n multiDragSortable = toSortable;\n } else {\n multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);\n lastMultiDragSelect = null;\n dispatchEvent({\n sortable: sortable,\n rootEl: rootEl,\n name: 'deselect',\n targetEl: dragEl$1,\n originalEvent: evt\n });\n }\n } // Multi-drag drop\n\n\n if (dragStarted && this.isMultiDrag) {\n folding = false; // Do not \"unfold\" after around dragEl if reverted\n\n if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {\n var dragRect = getRect(dragEl$1),\n multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')');\n if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;\n toSortable.captureAnimationState();\n\n if (!initialFolding) {\n if (options.animation) {\n dragEl$1.fromRect = dragRect;\n multiDragElements.forEach(function (multiDragElement) {\n multiDragElement.thisAnimationDuration = null;\n\n if (multiDragElement !== dragEl$1) {\n var rect = folding ? getRect(multiDragElement) : dragRect;\n multiDragElement.fromRect = rect; // Prepare unfold animation\n\n toSortable.addAnimationState({\n target: multiDragElement,\n rect: rect\n });\n }\n });\n } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert\n // properly they must all be removed\n\n\n removeMultiDragElements();\n multiDragElements.forEach(function (multiDragElement) {\n if (children[multiDragIndex]) {\n parentEl.insertBefore(multiDragElement, children[multiDragIndex]);\n } else {\n parentEl.appendChild(multiDragElement);\n }\n\n multiDragIndex++;\n }); // If initial folding is done, the elements may have changed position because they are now\n // unfolding around dragEl, even though dragEl may not have his index changed, so update event\n // must be fired here as Sortable will not.\n\n if (oldIndex === index(dragEl$1)) {\n var update = false;\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement.sortableIndex !== index(multiDragElement)) {\n update = true;\n return;\n }\n });\n\n if (update) {\n dispatchSortableEvent('update');\n }\n }\n } // Must be done after capturing individual rects (scroll bar)\n\n\n multiDragElements.forEach(function (multiDragElement) {\n unsetRect(multiDragElement);\n });\n toSortable.animateAll();\n }\n\n multiDragSortable = toSortable;\n } // Remove clones if necessary\n\n\n if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {\n multiDragClones.forEach(function (clone) {\n clone.parentNode && clone.parentNode.removeChild(clone);\n });\n }\n },\n nullingGlobal: function nullingGlobal() {\n this.isMultiDrag = dragStarted = false;\n multiDragClones.length = 0;\n },\n destroyGlobal: function destroyGlobal() {\n this._deselectMultiDrag();\n\n off(document, 'pointerup', this._deselectMultiDrag);\n off(document, 'mouseup', this._deselectMultiDrag);\n off(document, 'touchend', this._deselectMultiDrag);\n off(document, 'keydown', this._checkKeyDown);\n off(document, 'keyup', this._checkKeyUp);\n },\n _deselectMultiDrag: function _deselectMultiDrag(evt) {\n if (typeof dragStarted !== \"undefined\" && dragStarted) return; // Only deselect if selection is in this sortable\n\n if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable\n\n if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click\n\n if (evt && evt.button !== 0) return;\n\n while (multiDragElements.length) {\n var el = multiDragElements[0];\n toggleClass(el, this.options.selectedClass, false);\n multiDragElements.shift();\n dispatchEvent({\n sortable: this.sortable,\n rootEl: this.sortable.el,\n name: 'deselect',\n targetEl: el,\n originalEvent: evt\n });\n }\n },\n _checkKeyDown: function _checkKeyDown(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = true;\n }\n },\n _checkKeyUp: function _checkKeyUp(evt) {\n if (evt.key === this.options.multiDragKey) {\n this.multiDragKeyDown = false;\n }\n }\n };\n return _extends(MultiDrag, {\n // Static methods & properties\n pluginName: 'multiDrag',\n utils: {\n /**\r\n * Selects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be selected\r\n */\n select: function select(el) {\n var sortable = el.parentNode[expando];\n if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;\n\n if (multiDragSortable && multiDragSortable !== sortable) {\n multiDragSortable.multiDrag._deselectMultiDrag();\n\n multiDragSortable = sortable;\n }\n\n toggleClass(el, sortable.options.selectedClass, true);\n multiDragElements.push(el);\n },\n\n /**\r\n * Deselects the provided multi-drag item\r\n * @param {HTMLElement} el The element to be deselected\r\n */\n deselect: function deselect(el) {\n var sortable = el.parentNode[expando],\n index = multiDragElements.indexOf(el);\n if (!sortable || !sortable.options.multiDrag || !~index) return;\n toggleClass(el, sortable.options.selectedClass, false);\n multiDragElements.splice(index, 1);\n }\n },\n eventProperties: function eventProperties() {\n var _this3 = this;\n\n var oldIndicies = [],\n newIndicies = [];\n multiDragElements.forEach(function (multiDragElement) {\n oldIndicies.push({\n multiDragElement: multiDragElement,\n index: multiDragElement.sortableIndex\n }); // multiDragElements will already be sorted if folding\n\n var newIndex;\n\n if (folding && multiDragElement !== dragEl$1) {\n newIndex = -1;\n } else if (folding) {\n newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');\n } else {\n newIndex = index(multiDragElement);\n }\n\n newIndicies.push({\n multiDragElement: multiDragElement,\n index: newIndex\n });\n });\n return {\n items: _toConsumableArray(multiDragElements),\n clones: [].concat(multiDragClones),\n oldIndicies: oldIndicies,\n newIndicies: newIndicies\n };\n },\n optionListeners: {\n multiDragKey: function multiDragKey(key) {\n key = key.toLowerCase();\n\n if (key === 'ctrl') {\n key = 'Control';\n } else if (key.length > 1) {\n key = key.charAt(0).toUpperCase() + key.substr(1);\n }\n\n return key;\n }\n }\n });\n}\n\nfunction insertMultiDragElements(clonesInserted, rootEl) {\n multiDragElements.forEach(function (multiDragElement, i) {\n var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(multiDragElement, target);\n } else {\n rootEl.appendChild(multiDragElement);\n }\n });\n}\n/**\r\n * Insert multi-drag clones\r\n * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted\r\n * @param {HTMLElement} rootEl\r\n */\n\n\nfunction insertMultiDragClones(elementsInserted, rootEl) {\n multiDragClones.forEach(function (clone, i) {\n var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];\n\n if (target) {\n rootEl.insertBefore(clone, target);\n } else {\n rootEl.appendChild(clone);\n }\n });\n}\n\nfunction removeMultiDragElements() {\n multiDragElements.forEach(function (multiDragElement) {\n if (multiDragElement === dragEl$1) return;\n multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);\n });\n}\n\nSortable.mount(new AutoScrollPlugin());\nSortable.mount(Remove, Revert);\n\nexport default Sortable;\nexport { MultiDragPlugin as MultiDrag, Sortable, SwapPlugin as Swap };\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./eventsSortableDatatable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./eventsSortableDatatable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./eventsSortableDatatable.vue?vue&type=template&id=4a964e1f&\"\nimport script from \"./eventsSortableDatatable.vue?vue&type=script&lang=js&\"\nexport * from \"./eventsSortableDatatable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./eventsSortableDatatable.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\nimport QTd from 'quasar/src/components/table/QTd.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QTooltip from 'quasar/src/components/tooltip/QTooltip.js';\nimport QMenu from 'quasar/src/components/menu/QMenu.js';\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport QList from 'quasar/src/components/item/QList.js';\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(component, 'components', {QTd,QInput,QIcon,QTooltip,QMenu,QSelect,QBtn,QList,QItem,QItemSection});qInstall(component, 'directives', {ClosePopup});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('q-select',_vm._b({attrs:{\"use-input\":\"\",\"input-debounce\":\"0\",\"label\":_vm.label,\"option-label\":\"name\",\"option-value\":\"id\",\"emit-value\":true,\"map-options\":\"\",\"loading\":_vm.dataLoading,\"options\":_vm.options},on:{\"filter\":_vm.filterFn,\"input\":function($event){return _vm.$emit('changed', _vm.model)}},scopedSlots:_vm._u([{key:\"no-option\",fn:function(){return [_c('q-item',[_c('q-item-section',{staticClass:\"text-grey\"},[_vm._v(\" No results \")])],1)]},proxy:true}]),model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}},'q-select',_vm.siteCFG.fields.general,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignPointsTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./assignPointsTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./assignPointsTable.vue?vue&type=template&id=0e855d7e&\"\nimport script from \"./assignPointsTable.vue?vue&type=script&lang=js&\"\nexport * from \"./assignPointsTable.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(component, 'components', {QSelect,QItem,QItemSection});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Xero Settings\")])]),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Xero Tracking Options\",\"items\":_vm.trackingOptionsList,\"itemsLoading\":_vm.trackingOptionsListLoading,\"option_label\":\"name\",\"option_value\":\"id\",\"id\":_vm.formData.xeroTrackingOptions_id},on:{\"changed\":function (val) { return (_vm.formData.xeroTrackingOptions_id = val); }}})],1),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Sport Revenue Code\",\"items\":_vm.sportRevenueCodeList,\"itemsLoading\":_vm.sportRevenueCodeListLoading,\"option_label\":\"name\",\"option_value\":\"id\",\"id\":_vm.formData.xeroSportRevenueCodes},on:{\"changed\":function (val) { return (_vm.formData.xeroSportRevenueCodes = val); }}})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Competition Fees (Required)\")])]),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Early Entry *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.compEarlyEntry),callback:function ($$v) {_vm.$set(_vm.formData, \"compEarlyEntry\", $$v)},expression:\"formData.compEarlyEntry\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6\"}),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Standard Entry *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.compStandardEntry),callback:function ($$v) {_vm.$set(_vm.formData, \"compStandardEntry\", $$v)},expression:\"formData.compStandardEntry\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"dense\":\"\",\"label\":\"Apply after date *\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.compStandardEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"compStandardEntryDate\", $$v)},expression:\"formData.compStandardEntryDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}]),model:{value:(_vm.formData.compStandardEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"compStandardEntryDate\", $$v)},expression:\"formData.compStandardEntryDate\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Late Entry *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.compLateEntry),callback:function ($$v) {_vm.$set(_vm.formData, \"compLateEntry\", $$v)},expression:\"formData.compLateEntry\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"dense\":\"\",\"label\":\"Apply after date *\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.compLateEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"compLateEntryDate\", $$v)},expression:\"formData.compLateEntryDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}]),model:{value:(_vm.formData.compLateEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"compLateEntryDate\", $$v)},expression:\"formData.compLateEntryDate\"}},'q-input',_vm.siteCFG.fields.general,false))],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{staticStyle:{\"height\":\"100%\"},attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\"Per Event (Required)\")])]),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Early Entry Individual *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventEarlyEntryInd),callback:function ($$v) {_vm.$set(_vm.formData, \"eventEarlyEntryInd\", $$v)},expression:\"formData.eventEarlyEntryInd\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Early Entry Team *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventEarlyEntryTeam),callback:function ($$v) {_vm.$set(_vm.formData, \"eventEarlyEntryTeam\", $$v)},expression:\"formData.eventEarlyEntryTeam\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-4\"}),_c('div',{staticClass:\"col-12 q-px-xs q-my-none\"}),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Standard Entry Individual *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventStandardEntryInd),callback:function ($$v) {_vm.$set(_vm.formData, \"eventStandardEntryInd\", $$v)},expression:\"formData.eventStandardEntryInd\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Standard Entry Team *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventStandardEntryTeam),callback:function ($$v) {_vm.$set(_vm.formData, \"eventStandardEntryTeam\", $$v)},expression:\"formData.eventStandardEntryTeam\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"dense\":\"\",\"label\":\"Apply after date *\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.eventStandardEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"eventStandardEntryDate\", $$v)},expression:\"formData.eventStandardEntryDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}]),model:{value:(_vm.formData.eventStandardEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"eventStandardEntryDate\", $$v)},expression:\"formData.eventStandardEntryDate\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Late Entry Individual *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventLateEntryInd),callback:function ($$v) {_vm.$set(_vm.formData, \"eventLateEntryInd\", $$v)},expression:\"formData.eventLateEntryInd\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-6 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\",\"label\":\"Late Entry Team *\",\"fill-mask\":\"0\"},model:{value:(_vm.formData.eventLateEntryTeam),callback:function ($$v) {_vm.$set(_vm.formData, \"eventLateEntryTeam\", $$v)},expression:\"formData.eventLateEntryTeam\"}},'q-input',_vm.siteCFG.fields.general,false))],1),_c('div',{staticClass:\"col-12 col-md-4 q-pa-xs\"},[_c('q-input',_vm._b({attrs:{\"dense\":\"\",\"label\":\"Apply after date *\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('q-icon',{staticClass:\"cursor-pointer\",attrs:{\"name\":\"event\"}},[_c('q-popup-proxy',{attrs:{\"transition-show\":\"scale\",\"transition-hide\":\"scale\"}},[_c('q-date',{attrs:{\"mask\":\"YYYY-MM-DD\"},model:{value:(_vm.formData.eventLateEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"eventLateEntryDate\", $$v)},expression:\"formData.eventLateEntryDate\"}},[_c('div',{staticClass:\"row items-center justify-end\"},[_c('q-btn',{directives:[{name:\"close-popup\",rawName:\"v-close-popup\"}],attrs:{\"label\":\"Close\",\"color\":\"primary\",\"flat\":\"\"}})],1)])],1)],1)]},proxy:true}]),model:{value:(_vm.formData.eventLateEntryDate),callback:function ($$v) {_vm.$set(_vm.formData, \"eventLateEntryDate\", $$v)},expression:\"formData.eventLateEntryDate\"}},'q-input',_vm.siteCFG.fields.general,false))],1)])])],1),_c('div',{staticClass:\"col-12 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_vm._v(\" Additional \"),_c('q-btn',{attrs:{\"icon\":\"mdi-plus\",\"flat\":\"\",\"color\":\"black\",\"loading\":_vm.addingAdditionalFee},on:{\"click\":_vm.addAdditionalFee}})],1)]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"285px\"}},[_c('datatable',{attrs:{\"filter\":_vm.additionalFeesSearch,\"flat\":true,\"data\":_vm.additionalFees,\"columns\":_vm.additionalFeesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\"},on:{\"blur\":function($event){return _vm.saveAdditionalFromGrid(data.props.row)}},model:{value:(data.props.row.ammt),callback:function ($$v) {_vm.$set(data.props.row, \"ammt\", $$v)},expression:\"data.props.row.ammt\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-xeroSportRevenueCodes\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Sports Revenue Code\",\"items\":_vm.sportRevenueCodeList,\"itemsLoading\":_vm.sportRevenueCodeListLoading,\"option_label\":\"name\",\"option_value\":\"id\",\"id\":data.props.row.xeroSportRevenueCodes},on:{\"changed\":function (val) {\n data.props.row.xeroSportRevenueCodes = val;\n _vm.saveAdditionalFromGrid(data.props.row);\n }}})],1)]}},{key:\"body-cell-desc\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"dense\":\"\"},on:{\"blur\":function($event){return _vm.saveAdditionalFromGrid(data.props.row)}},model:{value:(data.props.row.desc),callback:function ($$v) {_vm.$set(data.props.row, \"desc\", $$v)},expression:\"data.props.row.desc\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-athlete\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',_vm._b({attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\"},on:{\"input\":function($event){return _vm.saveAdditionalFromGrid(data.props.row)}},model:{value:(data.props.row.athlete),callback:function ($$v) {_vm.$set(data.props.row, \"athlete\", $$v)},expression:\"data.props.row.athlete\"}},'q-checkbox',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-indEvent\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',_vm._b({attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\"},on:{\"input\":function($event){return _vm.saveAdditionalFromGrid(data.props.row)}},model:{value:(data.props.row.indEvent),callback:function ($$v) {_vm.$set(data.props.row, \"indEvent\", $$v)},expression:\"data.props.row.indEvent\"}},'q-checkbox',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-teamEvent\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-checkbox',_vm._b({attrs:{\"true-value\":1,\"false-value\":0,\"dense\":\"\",\"indeterminate-value\":\"no-value\"},on:{\"input\":function($event){return _vm.saveAdditionalFromGrid(data.props.row)}},model:{value:(data.props.row.teamEvent),callback:function ($$v) {_vm.$set(data.props.row, \"teamEvent\", $$v)},expression:\"data.props.row.teamEvent\"}},'q-checkbox',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeAdditionalFee(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Additional Fee\")])],1)],1)]}}])})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Per Division\")]),_c('div',{staticClass:\"col\"},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Add Division\",\"items\":_vm.divisions,\"itemsLoading\":_vm.divisionsLoading,\"excludeList\":_vm.divisionFees.map(function (ef) {\n return { id: ef.divisions_id };\n }),\"option_label\":\"division_name\",\"option_value\":\"id\",\"id\":_vm.newDivision_id},on:{\"changed\":function (val) { return (_vm.newDivision_id = val); }}})],1),_c('q-btn',{staticClass:\"col col-auto\",staticStyle:{\"width\":\"40px\"},attrs:{\"disable\":!_vm.newDivision_id,\"flat\":\"\",\"icon\":\"mdi-plus\",\"loading\":_vm.addingDivisionFee},on:{\"click\":_vm.addDivisionFee}})],1)])]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"235px\"}},[_c('datatable',{attrs:{\"filter\":_vm.divisionFeesSearch,\"flat\":true,\"data\":_vm.divisionFees,\"columns\":_vm.divisionFeesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\"},on:{\"blur\":function($event){return _vm.saveDivisionFromGrid(data.props.row)}},model:{value:(data.props.row.ammt),callback:function ($$v) {_vm.$set(data.props.row, \"ammt\", $$v)},expression:\"data.props.row.ammt\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeDivisionFee(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Division Fee\")])],1)],1)]}}])})],1)])])],1),_c('div',{staticClass:\"col-12 col-md-6 q-pa-xs\"},[_c('q-card',{attrs:{\"flat\":\"\",\"bordered\":\"\"}},[_c('div',{staticClass:\"row q-pa-md\"},[_c('div',{staticClass:\"col-12\"},[_c('h6',{staticClass:\"q-my-none q-mt-xs\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Per Event\")]),_c('div',{staticClass:\"col\"},[_c('autocomplete',{attrs:{\"dense\":\"\",\"label\":\"Add Event\",\"items\":_vm.events,\"itemsLoading\":_vm.eventsLoading,\"excludeList\":_vm.eventFees.map(function (ef) {\n return { id: ef.events_id };\n }),\"option_label\":\"event_name\",\"option_value\":\"id\",\"id\":_vm.newEvent_id},on:{\"changed\":function (val) { return (_vm.newEvent_id = val); }}})],1),_c('q-btn',{staticClass:\"col col-auto\",staticStyle:{\"width\":\"40px\"},attrs:{\"disable\":!_vm.newEvent_id,\"flat\":\"\",\"icon\":\"mdi-plus\",\"loading\":_vm.addingEventFee},on:{\"click\":_vm.addEventFee}})],1)])]),_c('div',{staticClass:\"col-12\",staticStyle:{\"height\":\"235px\"}},[_c('datatable',{attrs:{\"filter\":_vm.eventFeesSearch,\"flat\":true,\"data\":_vm.eventFees,\"columns\":_vm.eventFeesColumns},scopedSlots:_vm._u([{key:\"body-cell-ammt\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-input',_vm._b({attrs:{\"prefix\":\"$\",\"dense\":\"\"},on:{\"blur\":function($event){return _vm.saveEventFromGrid(data.props.row)}},model:{value:(data.props.row.ammt),callback:function ($$v) {_vm.$set(data.props.row, \"ammt\", $$v)},expression:\"data.props.row.ammt\"}},'q-input',_vm.siteCFG.fields.general,false))],1)]}},{key:\"body-cell-actions\",fn:function(data){return [_c('q-td',{attrs:{\"props\":data.props}},[_c('q-btn',{attrs:{\"round\":\"\",\"flat\":\"\",\"color\":\"negative\"},on:{\"click\":function($event){return _vm.removeEventFee(data.props.row.id)}}},[_c('q-icon',{attrs:{\"name\":\"mdi-trash-can-outline\"}}),_c('q-tooltip',[_vm._v(\"Remove Event Fee\")])],1)],1)]}}])})],1)])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n
\n
Per Division
\n
\n {\n return { id: ef.divisions_id };\n })\n \"\n option_label=\"division_name\"\n option_value=\"id\"\n :id=\"newDivision_id\"\n @changed=\"val => (newDivision_id = val)\"\n />\n
\n \n
\n
\n
\n
\n \n \n\n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
Per Event
\n
\n {\n return { id: ef.events_id };\n })\n \"\n option_label=\"event_name\"\n option_value=\"id\"\n :id=\"newEvent_id\"\n @changed=\"val => (newEvent_id = val)\"\n />\n
\n \n
\n
\n
\n
\n \n \n\n \n \n
\n
\n
\n
\n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoicingForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./invoicingForm.vue?vue&type=script&lang=js&\"","import Vue from 'vue'\n\nimport QDialog from '../dialog/QDialog.js'\nimport QMenu from '../menu/QMenu.js'\n\nimport AnchorMixin from '../../mixins/anchor.js'\nimport { slot } from '../../utils/slot.js'\nimport AttrsMixin from '../../mixins/attrs.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nexport default Vue.extend({\n name: 'QPopupProxy',\n\n mixins: [ AttrsMixin, ListenersMixin, AnchorMixin ],\n\n props: {\n breakpoint: {\n type: [String, Number],\n default: 450\n }\n },\n\n data () {\n const breakpoint = parseInt(this.breakpoint, 10)\n return {\n type: this.$q.screen.width < breakpoint || this.$q.screen.height < breakpoint\n ? 'dialog'\n : 'menu'\n }\n },\n\n computed: {\n parsedBreakpoint () {\n return parseInt(this.breakpoint, 10)\n },\n\n onEvents () {\n return {\n ...this.qListeners,\n hide: this.__onHide\n }\n }\n },\n\n watch: {\n '$q.screen.width' (width) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(width, this.$q.screen.height, this.parsedBreakpoint)\n }\n },\n\n '$q.screen.height' (height) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(this.$q.screen.width, height, this.parsedBreakpoint)\n }\n },\n\n breakpoint (breakpoint) {\n if (this.$refs.popup.showing !== true) {\n this.__updateType(this.$q.screen.width, this.$q.screen.height, parseInt(breakpoint, 10))\n }\n }\n },\n\n methods: {\n toggle (evt) {\n this.$refs.popup.toggle(evt)\n },\n\n show (evt) {\n this.$refs.popup.show(evt)\n },\n\n hide (evt) {\n this.$refs.popup.hide(evt)\n },\n\n __onHide (evt) {\n this.__updateType(this.$q.screen.width, this.$q.screen.height, this.parsedBreakpoint)\n this.$emit('hide', evt)\n },\n\n __updateType (width, height, breakpoint) {\n const type = width < breakpoint || height < breakpoint\n ? 'dialog'\n : 'menu'\n\n if (this.type !== type) {\n this.type = type\n }\n }\n },\n\n render (h) {\n const def = slot(this, 'default')\n\n const props = (\n this.type === 'menu' &&\n def !== void 0 &&\n def[0] !== void 0 &&\n def[0].componentOptions !== void 0 &&\n def[0].componentOptions.Ctor !== void 0 &&\n def[0].componentOptions.Ctor.sealedOptions !== void 0 &&\n ['QDate', 'QTime', 'QCarousel', 'QColor'].includes(\n def[0].componentOptions.Ctor.sealedOptions.name\n )\n ) ? { cover: true, maxHeight: '99vh' } : {}\n\n const data = {\n ref: 'popup',\n props: { ...props, ...this.qAttrs },\n on: this.onEvents\n }\n\n let component\n\n if (this.type === 'dialog') {\n component = QDialog\n }\n else {\n component = QMenu\n data.props.target = this.target\n data.props.contextMenu = this.contextMenu\n data.props.noParentEvent = true\n data.props.separateClosePopup = true\n }\n\n return h(component, data, def)\n }\n})\n","// taken from https://github.com/jalaali/jalaali-js\n\n/*\n Jalaali years starting the 33-year rule.\n*/\nconst breaks = [ -61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210,\n 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178\n]\n\n/*\n Converts a Gregorian date to Jalaali.\n*/\nexport function toJalaali (gy, gm, gd) {\n if (Object.prototype.toString.call(gy) === '[object Date]') {\n gd = gy.getDate()\n gm = gy.getMonth() + 1\n gy = gy.getFullYear()\n }\n return d2j(g2d(gy, gm, gd))\n}\n\n/*\n Converts a Jalaali date to Gregorian.\n*/\nexport function toGregorian (jy, jm, jd) {\n return d2g(j2d(jy, jm, jd))\n}\n\n/*\n Checks whether a Jalaali date is valid or not.\n*/\nexport function isValidJalaaliDate (jy, jm, jd) {\n return jy >= -61 && jy <= 3177 &&\n jm >= 1 && jm <= 12 &&\n jd >= 1 && jd <= jalaaliMonthLength(jy, jm)\n}\n\n/*\n Is this a leap year or not?\n*/\nfunction isLeapJalaaliYear (jy) {\n return jalCalLeap(jy) === 0\n}\n\n/*\n Number of days in a given month in a Jalaali year.\n*/\nexport function jalaaliMonthLength (jy, jm) {\n if (jm <= 6) return 31\n if (jm <= 11) return 30\n if (isLeapJalaaliYear(jy)) return 30\n return 29\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days)\n\n @param jy Jalaali calendar year (-61 to 3177)\n @returns number of years since the last leap year (0 to 4)\n */\nfunction jalCalLeap (jy) {\n const bl = breaks.length\n let\n jp = breaks[0],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[bl - 1]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i]\n jump = jm - jp\n if (jy < jm) { break }\n jp = jm\n }\n n = jy - jp\n\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n\n return leap\n}\n\n/*\n This function determines if the Jalaali (Persian) year is\n leap (366-day long) or is the common year (365 days), and\n finds the day in March (Gregorian calendar) of the first\n day of the Jalaali year (jy).\n\n @param jy Jalaali calendar year (-61 to 3177)\n @param withoutLeap when don't need leap (true or false) default is false\n @return\n leap: number of years since the last leap year (0 to 4)\n gy: Gregorian year of the beginning of Jalaali year\n march: the March day of Farvardin the 1st (1st day of jy)\n @see: http://www.astro.uni.torun.pl/~kb/Papers/EMP/PersianC-EMP.htm\n @see: http://www.fourmilab.ch/documents/calendar/\n*/\nfunction jalCal (jy, withoutLeap) {\n const\n bl = breaks.length,\n gy = jy + 621\n let\n leapJ = -14,\n jp = breaks[0],\n jm,\n jump,\n leap,\n n,\n i\n\n if (jy < jp || jy >= breaks[bl - 1]) { throw new Error('Invalid Jalaali year ' + jy) }\n\n // Find the limiting years for the Jalaali year jy.\n for (i = 1; i < bl; i += 1) {\n jm = breaks[i]\n jump = jm - jp\n if (jy < jm) { break }\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4)\n jp = jm\n }\n n = jy - jp\n\n // Find the number of leap years from AD 621 to the beginning\n // of the current Jalaali year in the Persian calendar.\n leapJ = leapJ + div(n, 33) * 8 + div(mod(n, 33) + 3, 4)\n if (mod(jump, 33) === 4 && jump - n === 4) { leapJ += 1 }\n\n // And the same in the Gregorian calendar (until the year gy).\n const leapG = div(gy, 4) - div((div(gy, 100) + 1) * 3, 4) - 150\n\n // Determine the Gregorian date of Farvardin the 1st.\n const march = 20 + leapJ - leapG\n\n // Find how many years have passed since the last leap year.\n if (!withoutLeap) {\n if (jump - n < 6) { n = n - jump + div(jump + 4, 33) * 33 }\n leap = mod(mod(n + 1, 33) - 1, 4)\n if (leap === -1) {\n leap = 4\n }\n }\n\n return {\n leap: leap,\n gy: gy,\n march: march\n }\n}\n\n/*\n Converts a date of the Jalaali calendar to the Julian Day number.\n\n @param jy Jalaali year (1 to 3100)\n @param jm Jalaali month (1 to 12)\n @param jd Jalaali day (1 to 29/31)\n @return Julian Day number\n*/\nfunction j2d (jy, jm, jd) {\n const r = jalCal(jy, true)\n return g2d(r.gy, 3, r.march) + (jm - 1) * 31 - div(jm, 7) * (jm - 7) + jd - 1\n}\n\n/*\n Converts the Julian Day number to a date in the Jalaali calendar.\n\n @param jdn Julian Day number\n @return\n jy: Jalaali year (1 to 3100)\n jm: Jalaali month (1 to 12)\n jd: Jalaali day (1 to 29/31)\n*/\nfunction d2j (jdn) {\n const gy = d2g(jdn).gy // Calculate Gregorian year (gy).\n let\n jy = gy - 621,\n jd,\n jm,\n k\n const\n r = jalCal(jy, false),\n jdn1f = g2d(gy, 3, r.march)\n\n // Find number of days that passed since 1 Farvardin.\n k = jdn - jdn1f\n if (k >= 0) {\n if (k <= 185) {\n // The first 6 months.\n jm = 1 + div(k, 31)\n jd = mod(k, 31) + 1\n return { jy: jy,\n jm: jm,\n jd: jd\n }\n }\n else {\n // The remaining months.\n k -= 186\n }\n }\n else {\n // Previous Jalaali year.\n jy -= 1\n k += 179\n if (r.leap === 1) { k += 1 }\n }\n jm = 7 + div(k, 30)\n jd = mod(k, 30) + 1\n return { jy: jy,\n jm: jm,\n jd: jd\n }\n}\n\n/*\n Calculates the Julian Day number from Gregorian or Julian\n calendar dates. This integer number corresponds to the noon of\n the date (i.e. 12 hours of Universal Time).\n The procedure was tested to be good since 1 March, -100100 (of both\n calendars) up to a few million years into the future.\n\n @param gy Calendar year (years BC numbered 0, -1, -2, ...)\n @param gm Calendar month (1 to 12)\n @param gd Calendar day of the month (1 to 28/29/30/31)\n @return Julian Day number\n*/\nfunction g2d (gy, gm, gd) {\n let d = div((gy + div(gm - 8, 6) + 100100) * 1461, 4) +\n div(153 * mod(gm + 9, 12) + 2, 5) +\n gd - 34840408\n d = d - div(div(gy + 100100 + div(gm - 8, 6), 100) * 3, 4) + 752\n return d\n}\n\n/*\n Calculates Gregorian and Julian calendar dates from the Julian Day number\n (jdn) for the period since jdn=-34839655 (i.e. the year -100100 of both\n calendars) to some millions years ahead of the present.\n\n @param jdn Julian Day number\n @return\n gy: Calendar year (years BC numbered 0, -1, -2, ...)\n gm: Calendar month (1 to 12)\n gd: Calendar day of the month M (1 to 28/29/30/31)\n*/\nfunction d2g (jdn) {\n let j = 4 * jdn + 139361631\n j = j + div(div(4 * jdn + 183187720, 146097) * 3, 4) * 4 - 3908\n const\n i = div(mod(j, 1461), 4) * 5 + 308,\n gd = div(mod(i, 153), 5) + 1,\n gm = mod(div(i, 153), 12) + 1,\n gy = div(j, 1461) - 100100 + div(8 - gm, 6)\n return {\n gy: gy,\n gm: gm,\n gd: gd\n }\n}\n\n/*\n Utility helper functions.\n*/\n\nfunction div (a, b) {\n return ~~(a / b)\n}\n\nfunction mod (a, b) {\n return a - ~~(a / b) * b\n}\n","import { toJalaali } from '../utils/date-persian.js'\n\nimport DarkMixin from './dark.js'\nimport FormMixin from './form.js'\nimport ListenersMixin from './listeners.js'\n\nimport { pad } from '../utils/format.js'\n\nconst calendars = [ 'gregorian', 'persian' ]\n\nexport default {\n mixins: [ DarkMixin, FormMixin, ListenersMixin ],\n\n props: {\n value: {\n required: true\n },\n\n mask: {\n type: String\n },\n locale: Object,\n\n calendar: {\n type: String,\n validator: v => calendars.includes(v),\n default: 'gregorian'\n },\n\n landscape: Boolean,\n\n color: String,\n textColor: String,\n\n square: Boolean,\n flat: Boolean,\n bordered: Boolean,\n\n readonly: Boolean,\n disable: Boolean\n },\n\n computed: {\n computedMask () {\n return this.__getMask()\n },\n\n computedLocale () {\n return this.__getLocale()\n },\n\n editable () {\n return this.disable !== true && this.readonly !== true\n },\n\n computedColor () {\n return this.color || 'primary'\n },\n\n computedTextColor () {\n return this.textColor || 'white'\n },\n\n computedTabindex () {\n return this.editable === true ? 0 : -1\n },\n\n headerClass () {\n const cls = []\n this.color !== void 0 && cls.push(`bg-${this.color}`)\n this.textColor !== void 0 && cls.push(`text-${this.textColor}`)\n return cls.join(' ')\n }\n },\n\n methods: {\n __getLocale () {\n return this.locale || this.$q.lang.date\n },\n\n __getCurrentDate (dateOnly) {\n const d = new Date()\n const timeFill = dateOnly === true ? null : 0\n\n if (this.calendar === 'persian') {\n const jDate = toJalaali(d)\n return {\n year: jDate.jy,\n month: jDate.jm,\n day: jDate.jd\n }\n }\n\n return {\n year: d.getFullYear(),\n month: d.getMonth() + 1,\n day: d.getDate(),\n hour: timeFill,\n minute: timeFill,\n second: timeFill,\n millisecond: timeFill\n }\n },\n\n __getCurrentTime () {\n const d = new Date()\n\n return {\n hour: d.getHours(),\n minute: d.getMinutes(),\n second: d.getSeconds(),\n millisecond: d.getMilliseconds()\n }\n },\n\n __getDayHash (date) {\n return date.year + '/' + pad(date.month) + '/' + pad(date.day)\n }\n }\n}\n","/* eslint no-fallthrough: 0 */\n\nimport { isDate } from './is.js'\nimport { pad, capitalize } from './format.js'\nimport { jalaaliMonthLength } from './date-persian.js'\nimport lang from '../lang.js'\n\nconst\n MILLISECONDS_IN_DAY = 86400000,\n MILLISECONDS_IN_HOUR = 3600000,\n MILLISECONDS_IN_MINUTE = 60000,\n defaultMask = 'YYYY-MM-DDTHH:mm:ss.SSSZ',\n token = /\\[((?:[^\\]\\\\]|\\\\]|\\\\)*)\\]|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,\n reverseToken = /(\\[[^\\]]*\\])|d{1,4}|M{1,4}|m{1,2}|w{1,2}|Qo|Do|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\\s${}()|\\\\]+)/g,\n regexStore = {}\n\nfunction getRegexData (mask, dateLocale) {\n const\n days = '(' + dateLocale.days.join('|') + ')',\n key = mask + days\n\n if (regexStore[key] !== void 0) {\n return regexStore[key]\n }\n\n const\n daysShort = '(' + dateLocale.daysShort.join('|') + ')',\n months = '(' + dateLocale.months.join('|') + ')',\n monthsShort = '(' + dateLocale.monthsShort.join('|') + ')'\n\n const map = {}\n let index = 0\n\n const regexText = mask.replace(reverseToken, match => {\n index++\n switch (match) {\n case 'YY':\n map.YY = index\n return '(-?\\\\d{1,2})'\n case 'YYYY':\n map.YYYY = index\n return '(-?\\\\d{1,4})'\n case 'M':\n map.M = index\n return '(\\\\d{1,2})'\n case 'MM':\n map.M = index // bumping to M\n return '(\\\\d{2})'\n case 'MMM':\n map.MMM = index\n return monthsShort\n case 'MMMM':\n map.MMMM = index\n return months\n case 'D':\n map.D = index\n return '(\\\\d{1,2})'\n case 'Do':\n map.D = index++ // bumping to D\n return '(\\\\d{1,2}(st|nd|rd|th))'\n case 'DD':\n map.D = index // bumping to D\n return '(\\\\d{2})'\n case 'H':\n map.H = index\n return '(\\\\d{1,2})'\n case 'HH':\n map.H = index // bumping to H\n return '(\\\\d{2})'\n case 'h':\n map.h = index\n return '(\\\\d{1,2})'\n case 'hh':\n map.h = index // bumping to h\n return '(\\\\d{2})'\n case 'm':\n map.m = index\n return '(\\\\d{1,2})'\n case 'mm':\n map.m = index // bumping to m\n return '(\\\\d{2})'\n case 's':\n map.s = index\n return '(\\\\d{1,2})'\n case 'ss':\n map.s = index // bumping to s\n return '(\\\\d{2})'\n case 'S':\n map.S = index\n return '(\\\\d{1})'\n case 'SS':\n map.S = index // bump to S\n return '(\\\\d{2})'\n case 'SSS':\n map.S = index // bump to S\n return '(\\\\d{3})'\n case 'A':\n map.A = index\n return '(AM|PM)'\n case 'a':\n map.a = index\n return '(am|pm)'\n case 'aa':\n map.aa = index\n return '(a\\\\.m\\\\.|p\\\\.m\\\\.)'\n\n case 'ddd':\n return daysShort\n case 'dddd':\n return days\n case 'Q':\n case 'd':\n case 'E':\n return '(\\\\d{1})'\n case 'Qo':\n return '(1st|2nd|3rd|4th)'\n case 'DDD':\n case 'DDDD':\n return '(\\\\d{1,3})'\n case 'w':\n return '(\\\\d{1,2})'\n case 'ww':\n return '(\\\\d{2})'\n\n case 'Z': // to split: (?:(Z)()()|([+-])?(\\\\d{2}):?(\\\\d{2}))\n map.Z = index\n return '(Z|[+-]\\\\d{2}:\\\\d{2})'\n case 'ZZ':\n map.ZZ = index\n return '(Z|[+-]\\\\d{2}\\\\d{2})'\n\n case 'X':\n map.X = index\n return '(-?\\\\d+)'\n case 'x':\n map.x = index\n return '(-?\\\\d{4,})'\n\n default:\n index--\n if (match[0] === '[') {\n match = match.substring(1, match.length - 1)\n }\n return match.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n }\n })\n\n const res = { map, regex: new RegExp('^' + regexText) }\n regexStore[key] = res\n\n return res\n}\n\nexport function extractDate (str, mask, dateLocale) {\n const d = __splitDate(str, mask, dateLocale)\n\n const date = new Date(\n d.year,\n d.month === null ? null : d.month - 1,\n d.day,\n d.hour,\n d.minute,\n d.second,\n d.millisecond\n )\n\n const tzOffset = date.getTimezoneOffset()\n\n return d.timezoneOffset === null || d.timezoneOffset === tzOffset\n ? date\n : getChange(date, { minutes: d.timezoneOffset - tzOffset }, true)\n}\n\nexport function __splitDate (str, mask, dateLocale, calendar, defaultModel) {\n const date = {\n year: null,\n month: null,\n day: null,\n hour: null,\n minute: null,\n second: null,\n millisecond: null,\n timezoneOffset: null,\n dateHash: null,\n timeHash: null\n }\n\n defaultModel !== void 0 && Object.assign(date, defaultModel)\n\n if (\n str === void 0 ||\n str === null ||\n str === '' ||\n typeof str !== 'string'\n ) {\n return date\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const\n langOpts = dateLocale !== void 0 ? dateLocale : lang.props.date,\n months = langOpts.months,\n monthsShort = langOpts.monthsShort\n\n const { regex, map } = getRegexData(mask, langOpts)\n\n const match = str.match(regex)\n\n if (match === null) {\n return date\n }\n\n let tzString = ''\n\n if (map.X !== void 0 || map.x !== void 0) {\n const stamp = parseInt(match[map.X !== void 0 ? map.X : map.x], 10)\n\n if (isNaN(stamp) === true || stamp < 0) {\n return date\n }\n\n const d = new Date(stamp * (map.X !== void 0 ? 1000 : 1))\n\n date.year = d.getFullYear()\n date.month = d.getMonth() + 1\n date.day = d.getDate()\n date.hour = d.getHours()\n date.minute = d.getMinutes()\n date.second = d.getSeconds()\n date.millisecond = d.getMilliseconds()\n }\n else {\n if (map.YYYY !== void 0) {\n date.year = parseInt(match[map.YYYY], 10)\n }\n else if (map.YY !== void 0) {\n const y = parseInt(match[map.YY], 10)\n date.year = y < 0 ? y : 2000 + y\n }\n\n if (map.M !== void 0) {\n date.month = parseInt(match[map.M], 10)\n if (date.month < 1 || date.month > 12) {\n return date\n }\n }\n else if (map.MMM !== void 0) {\n date.month = monthsShort.indexOf(match[map.MMM]) + 1\n }\n else if (map.MMMM !== void 0) {\n date.month = months.indexOf(match[map.MMMM]) + 1\n }\n\n if (map.D !== void 0) {\n date.day = parseInt(match[map.D], 10)\n\n if (date.year === null || date.month === null || date.day < 1) {\n return date\n }\n\n const maxDay = calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n\n if (date.day > maxDay) {\n return date\n }\n }\n\n if (map.H !== void 0) {\n date.hour = parseInt(match[map.H], 10) % 24\n }\n else if (map.h !== void 0) {\n date.hour = parseInt(match[map.h], 10) % 12\n if (\n (map.A && match[map.A] === 'PM') ||\n (map.a && match[map.a] === 'pm') ||\n (map.aa && match[map.aa] === 'p.m.')\n ) {\n date.hour += 12\n }\n date.hour = date.hour % 24\n }\n\n if (map.m !== void 0) {\n date.minute = parseInt(match[map.m], 10) % 60\n }\n\n if (map.s !== void 0) {\n date.second = parseInt(match[map.s], 10) % 60\n }\n\n if (map.S !== void 0) {\n date.millisecond = parseInt(match[map.S], 10) * 10 ** (3 - match[map.S].length)\n }\n\n if (map.Z !== void 0 || map.ZZ !== void 0) {\n tzString = (map.Z !== void 0 ? match[map.Z].replace(':', '') : match[map.ZZ])\n date.timezoneOffset = (tzString[0] === '+' ? -1 : 1) * (60 * tzString.slice(1, 3) + 1 * tzString.slice(3, 5))\n }\n }\n\n date.dateHash = date.year + '/' + pad(date.month) + '/' + pad(date.day)\n date.timeHash = pad(date.hour) + ':' + pad(date.minute) + ':' + pad(date.second) + tzString\n\n return date\n}\n\nfunction formatTimezone (offset, delimeter = '') {\n const\n sign = offset > 0 ? '-' : '+',\n absOffset = Math.abs(offset),\n hours = Math.floor(absOffset / 60),\n minutes = absOffset % 60\n\n return sign + pad(hours) + delimeter + pad(minutes)\n}\n\nfunction setMonth (date, newMonth /* 1-based */) {\n const\n test = new Date(date.getFullYear(), newMonth, 0, 0, 0, 0, 0),\n days = test.getDate()\n\n date.setMonth(newMonth - 1, Math.min(days, date.getDate()))\n}\n\nfunction getChange (date, mod, add) {\n const\n t = new Date(date),\n sign = (add ? 1 : -1)\n\n Object.keys(mod).forEach(key => {\n if (key === 'month') {\n setMonth(t, t.getMonth() + 1 + sign * mod.month)\n return\n }\n\n const op = key === 'year'\n ? 'FullYear'\n : capitalize(key === 'days' ? 'date' : key)\n t[`set${op}`](t[`get${op}`]() + sign * mod[key])\n })\n return t\n}\n\nexport function isValid (date) {\n return typeof date === 'number'\n ? true\n : isNaN(Date.parse(date)) === false\n}\n\nexport function buildDate (mod, utc) {\n return adjustDate(new Date(), mod, utc)\n}\n\nexport function getDayOfWeek (date) {\n const dow = new Date(date).getDay()\n return dow === 0 ? 7 : dow\n}\n\nexport function getWeekOfYear (date) {\n // Remove time components of date\n const thursday = new Date(date.getFullYear(), date.getMonth(), date.getDate())\n\n // Change date to Thursday same week\n thursday.setDate(thursday.getDate() - ((thursday.getDay() + 6) % 7) + 3)\n\n // Take January 4th as it is always in week 1 (see ISO 8601)\n const firstThursday = new Date(thursday.getFullYear(), 0, 4)\n\n // Change date to Thursday same week\n firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3)\n\n // Check if daylight-saving-time-switch occurred and correct for it\n const ds = thursday.getTimezoneOffset() - firstThursday.getTimezoneOffset()\n thursday.setHours(thursday.getHours() - ds)\n\n // Number of weeks between target Thursday and first Thursday\n const weekDiff = (thursday - firstThursday) / (MILLISECONDS_IN_DAY * 7)\n return 1 + Math.floor(weekDiff)\n}\n\nfunction getDayIdentifier (date) {\n return date.getFullYear() * 10000 + date.getMonth() * 100 + date.getDate()\n}\n\nfunction getDateIdentifier (date, onlyDate /* = false */) {\n const d = new Date(date)\n return onlyDate === true ? getDayIdentifier(d) : d.getTime()\n}\n\nexport function isBetweenDates (date, from, to, opts = {}) {\n const\n d1 = getDateIdentifier(from, opts.onlyDate),\n d2 = getDateIdentifier(to, opts.onlyDate),\n cur = getDateIdentifier(date, opts.onlyDate)\n\n return (cur > d1 || (opts.inclusiveFrom === true && cur === d1)) &&\n (cur < d2 || (opts.inclusiveTo === true && cur === d2))\n}\n\nexport function addToDate (date, mod) {\n return getChange(date, mod, true)\n}\nexport function subtractFromDate (date, mod) {\n return getChange(date, mod, false)\n}\n\nexport function adjustDate (date, mod, utc) {\n const\n t = new Date(date),\n prefix = `set${utc === true ? 'UTC' : ''}`\n\n Object.keys(mod).forEach(key => {\n if (key === 'month') {\n setMonth(t, mod.month)\n return\n }\n\n const op = key === 'year'\n ? 'FullYear'\n : key.charAt(0).toUpperCase() + key.slice(1)\n t[`${prefix}${op}`](mod[key])\n })\n\n return t\n}\n\nexport function startOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${utc === true ? 'UTC' : ''}`\n\n switch (unit) {\n case 'year':\n t[`${prefix}Month`](0)\n case 'month':\n t[`${prefix}Date`](1)\n case 'day':\n t[`${prefix}Hours`](0)\n case 'hour':\n t[`${prefix}Minutes`](0)\n case 'minute':\n t[`${prefix}Seconds`](0)\n case 'second':\n t[`${prefix}Milliseconds`](0)\n }\n return t\n}\n\nexport function endOfDate (date, unit, utc) {\n const\n t = new Date(date),\n prefix = `set${utc === true ? 'UTC' : ''}`\n\n switch (unit) {\n case 'year':\n t[`${prefix}Month`](11)\n case 'month':\n t[`${prefix}Date`](daysInMonth(t))\n case 'day':\n t[`${prefix}Hours`](23)\n case 'hour':\n t[`${prefix}Minutes`](59)\n case 'minute':\n t[`${prefix}Seconds`](59)\n case 'second':\n t[`${prefix}Milliseconds`](999)\n }\n return t\n}\n\nexport function getMaxDate (date /* , ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.max(t, new Date(d))\n })\n return t\n}\n\nexport function getMinDate (date /*, ...args */) {\n let t = new Date(date)\n Array.prototype.slice.call(arguments, 1).forEach(d => {\n t = Math.min(t, new Date(d))\n })\n return t\n}\n\nfunction getDiff (t, sub, interval) {\n return (\n (t.getTime() - t.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) -\n (sub.getTime() - sub.getTimezoneOffset() * MILLISECONDS_IN_MINUTE)\n ) / interval\n}\n\nexport function getDateDiff (date, subtract, unit = 'days') {\n const\n t = new Date(date),\n sub = new Date(subtract)\n\n switch (unit) {\n case 'years':\n return (t.getFullYear() - sub.getFullYear())\n\n case 'months':\n return (t.getFullYear() - sub.getFullYear()) * 12 + t.getMonth() - sub.getMonth()\n\n case 'days':\n return getDiff(startOfDate(t, 'day'), startOfDate(sub, 'day'), MILLISECONDS_IN_DAY)\n\n case 'hours':\n return getDiff(startOfDate(t, 'hour'), startOfDate(sub, 'hour'), MILLISECONDS_IN_HOUR)\n\n case 'minutes':\n return getDiff(startOfDate(t, 'minute'), startOfDate(sub, 'minute'), MILLISECONDS_IN_MINUTE)\n\n case 'seconds':\n return getDiff(startOfDate(t, 'second'), startOfDate(sub, 'second'), 1000)\n }\n}\n\nexport function getDayOfYear (date) {\n return getDateDiff(date, startOfDate(date, 'year'), 'days') + 1\n}\n\nexport function inferDateFormat (date) {\n return isDate(date) === true\n ? 'date'\n : (typeof date === 'number' ? 'number' : 'string')\n}\n\nexport function getDateBetween (date, min, max) {\n const t = new Date(date)\n\n if (min) {\n const low = new Date(min)\n if (t < low) {\n return low\n }\n }\n\n if (max) {\n const high = new Date(max)\n if (t > high) {\n return high\n }\n }\n\n return t\n}\n\nexport function isSameDate (date, date2, unit) {\n const\n t = new Date(date),\n d = new Date(date2)\n\n if (unit === void 0) {\n return t.getTime() === d.getTime()\n }\n\n switch (unit) {\n case 'second':\n if (t.getSeconds() !== d.getSeconds()) {\n return false\n }\n case 'minute': // intentional fall-through\n if (t.getMinutes() !== d.getMinutes()) {\n return false\n }\n case 'hour': // intentional fall-through\n if (t.getHours() !== d.getHours()) {\n return false\n }\n case 'day': // intentional fall-through\n if (t.getDate() !== d.getDate()) {\n return false\n }\n case 'month': // intentional fall-through\n if (t.getMonth() !== d.getMonth()) {\n return false\n }\n case 'year': // intentional fall-through\n if (t.getFullYear() !== d.getFullYear()) {\n return false\n }\n break\n default:\n throw new Error(`date isSameDate unknown unit ${unit}`)\n }\n\n return true\n}\n\nexport function daysInMonth (date) {\n return (new Date(date.getFullYear(), date.getMonth() + 1, 0)).getDate()\n}\n\nfunction getOrdinal (n) {\n if (n >= 11 && n <= 13) {\n return `${n}th`\n }\n switch (n % 10) {\n case 1: return `${n}st`\n case 2: return `${n}nd`\n case 3: return `${n}rd`\n }\n return `${n}th`\n}\n\nconst formatter = {\n // Year: 00, 01, ..., 99\n YY (date, _, forcedYear) {\n // workaround for < 1900 with new Date()\n const y = this.YYYY(date, _, forcedYear) % 100\n return y > 0\n ? pad(y)\n : '-' + pad(Math.abs(y))\n },\n\n // Year: 1900, 1901, ..., 2099\n YYYY (date, _, forcedYear) {\n // workaround for < 1900 with new Date()\n return forcedYear !== void 0 && forcedYear !== null\n ? forcedYear\n : date.getFullYear()\n },\n\n // Month: 1, 2, ..., 12\n M (date) {\n return date.getMonth() + 1\n },\n\n // Month: 01, 02, ..., 12\n MM (date) {\n return pad(date.getMonth() + 1)\n },\n\n // Month Short Name: Jan, Feb, ...\n MMM (date, dateLocale) {\n return dateLocale.monthsShort[date.getMonth()]\n },\n\n // Month Name: January, February, ...\n MMMM (date, dateLocale) {\n return dateLocale.months[date.getMonth()]\n },\n\n // Quarter: 1, 2, 3, 4\n Q (date) {\n return Math.ceil((date.getMonth() + 1) / 3)\n },\n\n // Quarter: 1st, 2nd, 3rd, 4th\n Qo (date) {\n return getOrdinal(this.Q(date))\n },\n\n // Day of month: 1, 2, ..., 31\n D (date) {\n return date.getDate()\n },\n\n // Day of month: 1st, 2nd, ..., 31st\n Do (date) {\n return getOrdinal(date.getDate())\n },\n\n // Day of month: 01, 02, ..., 31\n DD (date) {\n return pad(date.getDate())\n },\n\n // Day of year: 1, 2, ..., 366\n DDD (date) {\n return getDayOfYear(date)\n },\n\n // Day of year: 001, 002, ..., 366\n DDDD (date) {\n return pad(getDayOfYear(date), 3)\n },\n\n // Day of week: 0, 1, ..., 6\n d (date) {\n return date.getDay()\n },\n\n // Day of week: Su, Mo, ...\n dd (date, dateLocale) {\n return this.dddd(date, dateLocale).slice(0, 2)\n },\n\n // Day of week: Sun, Mon, ...\n ddd (date, dateLocale) {\n return dateLocale.daysShort[date.getDay()]\n },\n\n // Day of week: Sunday, Monday, ...\n dddd (date, dateLocale) {\n return dateLocale.days[date.getDay()]\n },\n\n // Day of ISO week: 1, 2, ..., 7\n E (date) {\n return date.getDay() || 7\n },\n\n // Week of Year: 1 2 ... 52 53\n w (date) {\n return getWeekOfYear(date)\n },\n\n // Week of Year: 01 02 ... 52 53\n ww (date) {\n return pad(getWeekOfYear(date))\n },\n\n // Hour: 0, 1, ... 23\n H (date) {\n return date.getHours()\n },\n\n // Hour: 00, 01, ..., 23\n HH (date) {\n return pad(date.getHours())\n },\n\n // Hour: 1, 2, ..., 12\n h (date) {\n const hours = date.getHours()\n if (hours === 0) {\n return 12\n }\n if (hours > 12) {\n return hours % 12\n }\n return hours\n },\n\n // Hour: 01, 02, ..., 12\n hh (date) {\n return pad(this.h(date))\n },\n\n // Minute: 0, 1, ..., 59\n m (date) {\n return date.getMinutes()\n },\n\n // Minute: 00, 01, ..., 59\n mm (date) {\n return pad(date.getMinutes())\n },\n\n // Second: 0, 1, ..., 59\n s (date) {\n return date.getSeconds()\n },\n\n // Second: 00, 01, ..., 59\n ss (date) {\n return pad(date.getSeconds())\n },\n\n // 1/10 of second: 0, 1, ..., 9\n S (date) {\n return Math.floor(date.getMilliseconds() / 100)\n },\n\n // 1/100 of second: 00, 01, ..., 99\n SS (date) {\n return pad(Math.floor(date.getMilliseconds() / 10))\n },\n\n // Millisecond: 000, 001, ..., 999\n SSS (date) {\n return pad(date.getMilliseconds(), 3)\n },\n\n // Meridiem: AM, PM\n A (date) {\n return this.H(date) < 12 ? 'AM' : 'PM'\n },\n\n // Meridiem: am, pm\n a (date) {\n return this.H(date) < 12 ? 'am' : 'pm'\n },\n\n // Meridiem: a.m., p.m.\n aa (date) {\n return this.H(date) < 12 ? 'a.m.' : 'p.m.'\n },\n\n // Timezone: -01:00, +00:00, ... +12:00\n Z (date, dateLocale, forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset, ':')\n },\n\n // Timezone: -0100, +0000, ... +1200\n ZZ (date, dateLocale, forcedYear, forcedTimezoneOffset) {\n const tzOffset = forcedTimezoneOffset === void 0 || forcedTimezoneOffset === null\n ? date.getTimezoneOffset()\n : forcedTimezoneOffset\n\n return formatTimezone(tzOffset)\n },\n\n // Seconds timestamp: 512969520\n X (date) {\n return Math.floor(date.getTime() / 1000)\n },\n\n // Milliseconds timestamp: 512969520900\n x (date) {\n return date.getTime()\n }\n}\n\nexport function formatDate (val, mask, dateLocale, __forcedYear, __forcedTimezoneOffset) {\n if (\n (val !== 0 && !val) ||\n val === Infinity ||\n val === -Infinity\n ) {\n return\n }\n\n const date = new Date(val)\n\n if (isNaN(date)) {\n return\n }\n\n if (mask === void 0) {\n mask = defaultMask\n }\n\n const locale = dateLocale !== void 0\n ? dateLocale\n : lang.props.date\n\n return mask.replace(\n token,\n (match, text) => match in formatter\n ? formatter[match](date, locale, __forcedYear, __forcedTimezoneOffset)\n : (text === void 0 ? match : text.split('\\\\]').join(']'))\n )\n}\n\nexport function clone (date) {\n return isDate(date) === true\n ? new Date(date.getTime())\n : date\n}\n\nexport default {\n isValid,\n extractDate,\n buildDate,\n getDayOfWeek,\n getWeekOfYear,\n isBetweenDates,\n addToDate,\n subtractFromDate,\n adjustDate,\n startOfDate,\n endOfDate,\n getMaxDate,\n getMinDate,\n getDateDiff,\n getDayOfYear,\n inferDateFormat,\n getDateBetween,\n isSameDate,\n daysInMonth,\n formatDate,\n clone\n}\n","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport DateTimeMixin from '../../mixins/datetime.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { formatDate, __splitDate, getDateDiff } from '../../utils/date.js'\nimport { pad } from '../../utils/format.js'\nimport { jalaaliMonthLength, toGregorian } from '../../utils/date-persian.js'\nimport cache from '../../utils/cache.js'\n\nconst yearsInterval = 20\nconst views = [ 'Calendar', 'Years', 'Months' ]\nconst viewIsValid = v => views.includes(v)\nconst yearMonthValidator = v => /^-?[\\d]+\\/[0-1]\\d$/.test(v)\nconst lineStr = ' \\u2014 '\n\nexport default Vue.extend({\n name: 'QDate',\n\n mixins: [ DateTimeMixin ],\n\n props: {\n multiple: Boolean,\n range: Boolean,\n\n title: String,\n subtitle: String,\n\n mask: {\n // this mask is forced\n // when using persian calendar\n default: 'YYYY/MM/DD'\n },\n\n defaultYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n yearsInMonthView: Boolean,\n\n events: [ Array, Function ],\n eventColor: [ String, Function ],\n\n emitImmediately: Boolean,\n\n options: [ Array, Function ],\n\n navigationMinYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n navigationMaxYearMonth: {\n type: String,\n validator: yearMonthValidator\n },\n\n noUnset: Boolean,\n\n firstDayOfWeek: [ String, Number ],\n todayBtn: Boolean,\n minimal: Boolean,\n defaultView: {\n type: String,\n default: 'Calendar',\n validator: viewIsValid\n }\n },\n\n data () {\n const\n innerMask = this.__getMask(),\n innerLocale = this.__getLocale(),\n viewModel = this.__getViewModel(innerMask, innerLocale),\n year = viewModel.year,\n direction = this.$q.lang.rtl === true ? 'right' : 'left'\n\n return {\n view: this.defaultView,\n monthDirection: direction,\n yearDirection: direction,\n startYear: year - (year % yearsInterval) - (year < 0 ? yearsInterval : 0),\n editRange: void 0,\n innerMask,\n innerLocale,\n viewModel // model of current calendar view\n }\n },\n\n watch: {\n value (v) {\n if (this.lastEmitValue === v) {\n this.lastEmitValue = 0\n }\n else {\n const { year, month } = this.__getViewModel(this.innerMask, this.innerLocale)\n this.__updateViewModel(year, month)\n }\n },\n\n view () {\n this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus()\n },\n\n 'viewModel.year' (year) {\n this.$emit('navigation', { year, month: this.viewModel.month })\n },\n\n 'viewModel.month' (month) {\n this.$emit('navigation', { year: this.viewModel.year, month })\n },\n\n computedMask (val) {\n this.__updateValue(val, this.innerLocale, 'mask')\n this.innerMask = val\n },\n\n computedLocale (val) {\n this.__updateValue(this.innerMask, val, 'locale')\n this.innerLocale = val\n }\n },\n\n computed: {\n classes () {\n const type = this.landscape === true ? 'landscape' : 'portrait'\n return `q-date q-date--${type} q-date--${type}-${this.minimal === true ? 'minimal' : 'standard'}` +\n (this.isDark === true ? ' q-date--dark q-dark' : '') +\n (this.bordered === true ? ` q-date--bordered` : '') +\n (this.square === true ? ` q-date--square no-border-radius` : '') +\n (this.flat === true ? ` q-date--flat no-shadow` : '') +\n (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-date--readonly' : ''))\n },\n\n isImmediate () {\n return this.emitImmediately === true &&\n this.multiple !== true &&\n this.range !== true\n },\n\n normalizedModel () {\n return Array.isArray(this.value) === true\n ? this.value\n : (this.value !== null && this.value !== void 0 ? [ this.value ] : [])\n },\n\n daysModel () {\n return this.normalizedModel\n .filter(date => typeof date === 'string')\n .map(date => this.__decodeString(date, this.innerMask, this.innerLocale))\n .filter(date => date.dateHash !== null)\n },\n\n rangeModel () {\n const fn = date => this.__decodeString(date, this.innerMask, this.innerLocale)\n return this.normalizedModel\n .filter(date => Object(date) === date && date.from !== void 0 && date.to !== void 0)\n .map(range => ({ from: fn(range.from), to: fn(range.to) }))\n .filter(range => range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash)\n },\n\n getNativeDateFn () {\n return this.calendar !== 'persian'\n ? model => new Date(model.year, model.month - 1, model.day)\n : model => {\n const gDate = toGregorian(model.year, model.month, model.day)\n return new Date(gDate.gy, gDate.gm - 1, gDate.gd)\n }\n },\n\n encodeObjectFn () {\n return this.calendar === 'persian'\n ? this.__getDayHash\n : (date, mask, locale) => formatDate(\n new Date(\n date.year,\n date.month - 1,\n date.day,\n date.hour,\n date.minute,\n date.second,\n date.millisecond\n ),\n mask === void 0 ? this.innerMask : mask,\n locale === void 0 ? this.innerLocale : locale,\n date.year,\n date.timezoneOffset\n )\n },\n\n daysInModel () {\n return this.daysModel.length + this.rangeModel.reduce(\n (acc, range) => acc + 1 + getDateDiff(\n this.getNativeDateFn(range.to),\n this.getNativeDateFn(range.from)\n ),\n 0\n )\n },\n\n headerTitle () {\n if (this.title !== void 0 && this.title !== null && this.title.length > 0) {\n return this.title\n }\n\n if (this.editRange !== void 0) {\n const model = this.editRange.init\n const date = this.getNativeDateFn(model)\n\n return this.innerLocale.daysShort[ date.getDay() ] + ', ' +\n this.innerLocale.monthsShort[ model.month - 1 ] + ' ' +\n model.day + lineStr + '?'\n }\n\n if (this.daysInModel === 0) {\n return lineStr\n }\n\n if (this.daysInModel > 1) {\n return `${this.daysInModel} ${this.innerLocale.pluralDay}`\n }\n\n const model = this.daysModel[0]\n const date = this.getNativeDateFn(model)\n\n if (isNaN(date.valueOf()) === true) {\n return lineStr\n }\n\n if (this.innerLocale.headerTitle !== void 0) {\n return this.innerLocale.headerTitle(date, model)\n }\n\n return this.innerLocale.daysShort[ date.getDay() ] + ', ' +\n this.innerLocale.monthsShort[ model.month - 1 ] + ' ' +\n model.day\n },\n\n headerSubtitle () {\n if (this.subtitle !== void 0 && this.subtitle !== null && this.subtitle.length > 0) {\n return this.subtitle\n }\n\n if (this.daysInModel === 0) {\n return lineStr\n }\n\n if (this.daysInModel > 1) {\n const from = this.minSelectedModel\n const to = this.maxSelectedModel\n const month = this.innerLocale.monthsShort\n\n return month[from.month - 1] + (\n from.year !== to.year\n ? ' ' + from.year + lineStr + month[to.month - 1] + ' '\n : (\n from.month !== to.month\n ? lineStr + month[to.month - 1]\n : ''\n )\n ) + ' ' + to.year\n }\n\n return this.daysModel[0].year\n },\n\n minSelectedModel () {\n const model = this.daysModel.concat(this.rangeModel.map(range => range.from))\n .sort((a, b) => a.year - b.year || a.month - b.month)\n\n return model[0]\n },\n\n maxSelectedModel () {\n const model = this.daysModel.concat(this.rangeModel.map(range => range.to))\n .sort((a, b) => b.year - a.year || b.month - a.month)\n\n return model[0]\n },\n\n dateArrow () {\n const val = [ this.$q.iconSet.datetime.arrowLeft, this.$q.iconSet.datetime.arrowRight ]\n return this.$q.lang.rtl === true ? val.reverse() : val\n },\n\n computedFirstDayOfWeek () {\n return this.firstDayOfWeek !== void 0\n ? Number(this.firstDayOfWeek)\n : this.innerLocale.firstDayOfWeek\n },\n\n daysOfWeek () {\n const\n days = this.innerLocale.daysShort,\n first = this.computedFirstDayOfWeek\n\n return first > 0\n ? days.slice(first, 7).concat(days.slice(0, first))\n : days\n },\n\n daysInMonth () {\n const date = this.viewModel\n return this.calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n },\n\n today () {\n return this.__getCurrentDate()\n },\n\n evtColor () {\n return typeof this.eventColor === 'function'\n ? this.eventColor\n : () => this.eventColor\n },\n\n minNav () {\n if (this.navigationMinYearMonth !== void 0) {\n const data = this.navigationMinYearMonth.split('/')\n return { year: parseInt(data[0], 10), month: parseInt(data[1], 10) }\n }\n },\n\n maxNav () {\n if (this.navigationMaxYearMonth !== void 0) {\n const data = this.navigationMaxYearMonth.split('/')\n return { year: parseInt(data[0], 10), month: parseInt(data[1], 10) }\n }\n },\n\n navBoundaries () {\n const data = {\n month: { prev: true, next: true },\n year: { prev: true, next: true }\n }\n\n if (this.minNav !== void 0 && this.minNav.year >= this.viewModel.year) {\n data.year.prev = false\n if (this.minNav.year === this.viewModel.year && this.minNav.month >= this.viewModel.month) {\n data.month.prev = false\n }\n }\n\n if (this.maxNav !== void 0 && this.maxNav.year <= this.viewModel.year) {\n data.year.next = false\n if (this.maxNav.year === this.viewModel.year && this.maxNav.month <= this.viewModel.month) {\n data.month.next = false\n }\n }\n\n return data\n },\n\n daysMap () {\n const map = {}\n\n this.daysModel.forEach(entry => {\n const hash = this.__getMonthHash(entry)\n\n if (map[hash] === void 0) {\n map[hash] = []\n }\n\n map[hash].push(entry.day)\n })\n\n return map\n },\n\n rangeMap () {\n const map = {}\n\n this.rangeModel.forEach(entry => {\n const hashFrom = this.__getMonthHash(entry.from)\n const hashTo = this.__getMonthHash(entry.to)\n\n if (map[hashFrom] === void 0) {\n map[hashFrom] = []\n }\n\n map[hashFrom].push({\n from: entry.from.day,\n to: hashFrom === hashTo ? entry.to.day : void 0,\n range: entry\n })\n\n if (hashFrom < hashTo) {\n let hash\n const { year, month } = entry.from\n const cur = month < 12\n ? { year, month: month + 1 }\n : { year: year + 1, month: 1 }\n\n while ((hash = this.__getMonthHash(cur)) <= hashTo) {\n if (map[hash] === void 0) {\n map[hash] = []\n }\n\n map[hash].push({\n from: void 0,\n to: hash === hashTo ? entry.to.day : void 0,\n range: entry\n })\n\n cur.month++\n if (cur.month > 12) {\n cur.year++\n cur.month = 1\n }\n }\n }\n })\n\n return map\n },\n\n rangeView () {\n if (this.editRange === void 0) {\n return\n }\n\n const { init, initHash, final, finalHash } = this.editRange\n\n const [ from, to ] = initHash <= finalHash\n ? [ init, final ]\n : [ final, init ]\n\n const fromHash = this.__getMonthHash(from)\n const toHash = this.__getMonthHash(to)\n\n if (fromHash !== this.viewMonthHash && toHash !== this.viewMonthHash) {\n return\n }\n\n const view = {}\n\n if (fromHash === this.viewMonthHash) {\n view.from = from.day\n view.includeFrom = true\n }\n else {\n view.from = 1\n }\n\n if (toHash === this.viewMonthHash) {\n view.to = to.day\n view.includeTo = true\n }\n else {\n view.to = this.daysInMonth\n }\n\n return view\n },\n\n viewMonthHash () {\n return this.__getMonthHash(this.viewModel)\n },\n\n selectionDaysMap () {\n const map = {}\n\n if (this.options === void 0) {\n for (let i = 1; i <= this.daysInMonth; i++) {\n map[i] = true\n }\n\n return map\n }\n\n const fn = typeof this.options === 'function'\n ? this.options\n : date => this.options.includes(date)\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const dayHash = this.viewMonthHash + '/' + pad(i)\n map[i] = fn(dayHash)\n }\n\n return map\n },\n\n eventDaysMap () {\n const map = {}\n\n if (this.events === void 0) {\n for (let i = 1; i <= this.daysInMonth; i++) {\n map[i] = false\n }\n }\n else {\n const fn = typeof this.events === 'function'\n ? this.events\n : date => this.events.includes(date)\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const dayHash = this.viewMonthHash + '/' + pad(i)\n map[i] = fn(dayHash) === true && this.evtColor(dayHash)\n }\n }\n\n return map\n },\n\n viewDays () {\n let date, endDay\n const { year, month } = this.viewModel\n\n if (this.calendar !== 'persian') {\n date = new Date(year, month - 1, 1)\n endDay = (new Date(year, month - 1, 0)).getDate()\n }\n else {\n const gDate = toGregorian(year, month, 1)\n date = new Date(gDate.gy, gDate.gm - 1, gDate.gd)\n let prevJM = month - 1\n let prevJY = year\n if (prevJM === 0) {\n prevJM = 12\n prevJY--\n }\n endDay = jalaaliMonthLength(prevJY, prevJM)\n }\n\n return {\n days: date.getDay() - this.computedFirstDayOfWeek - 1,\n endDay\n }\n },\n\n days () {\n const res = []\n const { days, endDay } = this.viewDays\n\n const len = days < 0 ? days + 7 : days\n if (len < 6) {\n for (let i = endDay - len; i <= endDay; i++) {\n res.push({ i, fill: true })\n }\n }\n\n const index = res.length\n\n for (let i = 1; i <= this.daysInMonth; i++) {\n const day = { i, event: this.eventDaysMap[i], classes: [] }\n\n if (this.selectionDaysMap[i] === true) {\n day.in = true\n day.flat = true\n }\n\n res.push(day)\n }\n\n // if current view has days in model\n if (this.daysMap[this.viewMonthHash] !== void 0) {\n this.daysMap[this.viewMonthHash].forEach(day => {\n const i = index + day - 1\n Object.assign(res[i], {\n selected: true,\n unelevated: true,\n flat: false,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n })\n }\n\n // if current view has ranges in model\n if (this.rangeMap[this.viewMonthHash] !== void 0) {\n this.rangeMap[this.viewMonthHash].forEach(entry => {\n if (entry.from !== void 0) {\n const from = index + entry.from - 1\n const to = index + (entry.to || this.daysInMonth) - 1\n\n for (let day = from; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n\n Object.assign(res[from], {\n rangeFrom: true,\n flat: false\n })\n\n entry.to !== void 0 && Object.assign(res[to], {\n rangeTo: true,\n flat: false\n })\n }\n else if (entry.to !== void 0) {\n const to = index + entry.to - 1\n\n for (let day = index; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n\n Object.assign(res[to], {\n flat: false,\n rangeTo: true\n })\n }\n else {\n const to = index + this.daysInMonth - 1\n for (let day = index; day <= to; day++) {\n Object.assign(res[day], {\n range: entry.range,\n unelevated: true,\n color: this.computedColor,\n textColor: this.computedTextColor\n })\n }\n }\n })\n }\n\n if (this.rangeView !== void 0) {\n const from = index + this.rangeView.from - 1\n const to = index + this.rangeView.to - 1\n\n for (let day = from; day <= to; day++) {\n res[day].color = this.computedColor\n res[day].editRange = true\n }\n\n if (this.rangeView.includeFrom === true) {\n res[from].editRangeFrom = true\n }\n if (this.rangeView.includeTo === true) {\n res[to].editRangeTo = true\n }\n }\n\n if (this.viewModel.year === this.today.year && this.viewModel.month === this.today.month) {\n res[index + this.today.day - 1].today = true\n }\n\n const left = res.length % 7\n if (left > 0) {\n const afterDays = 7 - left\n for (let i = 1; i <= afterDays; i++) {\n res.push({ i, fill: true })\n }\n }\n\n res.forEach(day => {\n let cls = `q-date__calendar-item `\n\n if (day.fill === true) {\n cls += 'q-date__calendar-item--fill'\n }\n else {\n cls += `q-date__calendar-item--${day.in === true ? 'in' : 'out'}`\n\n if (day.range !== void 0) {\n cls += ` q-date__range${day.rangeTo === true ? '-to' : (day.rangeFrom === true ? '-from' : '')}`\n }\n\n if (day.editRange === true) {\n cls += ` q-date__edit-range${day.editRangeFrom === true ? '-from' : ''}${day.editRangeTo === true ? '-to' : ''}`\n }\n\n if (day.range !== void 0 || day.editRange === true) {\n cls += ` text-${day.color}`\n }\n }\n\n day.classes = cls\n })\n\n return res\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n }\n },\n\n methods: {\n setToday () {\n this.__toggleDate(this.today, this.__getMonthHash(this.today))\n this.setCalendarTo(this.today.year, this.today.month)\n },\n\n setView (view) {\n if (viewIsValid(view) === true) {\n this.view = view\n }\n },\n\n offsetCalendar (type, descending) {\n if (['month', 'year'].includes(type)) {\n this[`__goTo${type === 'month' ? 'Month' : 'Year'}`](\n descending === true ? -1 : 1\n )\n }\n },\n\n setCalendarTo (year, month) {\n this.view = 'Calendar'\n this.__updateViewModel(year, month)\n },\n\n setEditingRange (from, to) {\n if (this.range === false || !from) {\n this.editRange = void 0\n return\n }\n\n const init = Object.assign({ ...this.viewModel }, from)\n const final = to !== void 0\n ? Object.assign({ ...this.viewModel }, to)\n : init\n\n this.editRange = {\n init,\n initHash: this.__getDayHash(init),\n final,\n finalHash: this.__getDayHash(final)\n }\n\n this.setCalendarTo(init.year, init.month)\n },\n\n __getMask () {\n return this.calendar === 'persian' ? 'YYYY/MM/DD' : this.mask\n },\n\n __decodeString (date, mask, locale) {\n return __splitDate(\n date,\n mask,\n locale,\n this.calendar,\n {\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n }\n )\n },\n\n __getViewModel (mask, locale) {\n const model = Array.isArray(this.value) === true\n ? this.value\n : (this.value ? [ this.value ] : [])\n\n if (model.length === 0) {\n return this.__getDefaultViewModel()\n }\n\n const decoded = this.__decodeString(\n model[0].from !== void 0 ? model[0].from : model[0],\n mask,\n locale\n )\n\n return decoded.dateHash === null\n ? this.__getDefaultViewModel()\n : decoded\n },\n\n __getDefaultViewModel () {\n let year, month\n\n if (this.defaultYearMonth !== void 0) {\n const d = this.defaultYearMonth.split('/')\n year = parseInt(d[0], 10)\n month = parseInt(d[1], 10)\n }\n else {\n // may come from data() where computed\n // props are not yet available\n const d = this.today !== void 0\n ? this.today\n : this.__getCurrentDate()\n\n year = d.year\n month = d.month\n }\n\n return {\n year,\n month,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n dateHash: year + '/' + pad(month) + '/01'\n }\n },\n\n __getHeader (h) {\n if (this.minimal === true) { return }\n\n return h('div', {\n staticClass: 'q-date__header',\n class: this.headerClass\n }, [\n h('div', {\n staticClass: 'relative-position'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--fade'\n }\n }, [\n h('div', {\n key: 'h-yr-' + this.headerSubtitle,\n staticClass: 'q-date__header-subtitle q-date__header-link',\n class: this.view === 'Years' ? 'q-date__header-link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vY', {\n click: () => { this.view = 'Years' },\n keyup: e => { e.keyCode === 13 && (this.view = 'Years') }\n })\n }, [ this.headerSubtitle ])\n ])\n ]),\n\n h('div', {\n staticClass: 'q-date__header-title relative-position flex no-wrap'\n }, [\n h('div', {\n staticClass: 'relative-position col'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--fade'\n }\n }, [\n h('div', {\n key: 'h-sub' + this.headerTitle,\n staticClass: 'q-date__header-title-label q-date__header-link',\n class: this.view === 'Calendar' ? 'q-date__header-link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vC', {\n click: () => { this.view = 'Calendar' },\n keyup: e => { e.keyCode === 13 && (this.view = 'Calendar') }\n })\n }, [ this.headerTitle ])\n ])\n ]),\n\n this.todayBtn === true ? h(QBtn, {\n staticClass: 'q-date__header-today self-start',\n props: {\n icon: this.$q.iconSet.datetime.today,\n flat: true,\n size: 'sm',\n round: true,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'today', { click: this.setToday })\n }) : null\n ])\n ])\n },\n\n __getNavigation (h, { label, view, key, dir, goTo, boundaries, cls }) {\n return [\n h('div', {\n staticClass: 'row items-center q-date__arrow'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n size: 'sm',\n flat: true,\n icon: this.dateArrow[0],\n tabindex: this.computedTabindex,\n disable: boundaries.prev === false\n },\n on: cache(this, 'go-#' + view, { click () { goTo(-1) } })\n })\n ]),\n\n h('div', {\n staticClass: 'relative-position overflow-hidden flex flex-center' + cls\n }, [\n h('transition', {\n props: {\n name: 'q-transition--jump-' + dir\n }\n }, [\n h('div', { key }, [\n h(QBtn, {\n props: {\n flat: true,\n dense: true,\n noCaps: true,\n label,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'view#' + view, { click: () => { this.view = view } })\n })\n ])\n ])\n ]),\n\n h('div', {\n staticClass: 'row items-center q-date__arrow'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n size: 'sm',\n flat: true,\n icon: this.dateArrow[1],\n tabindex: this.computedTabindex,\n disable: boundaries.next === false\n },\n on: cache(this, 'go+#' + view, { click () { goTo(1) } })\n })\n ])\n ]\n },\n\n __getCalendarView (h) {\n return [\n h('div', {\n key: 'calendar-view',\n staticClass: 'q-date__view q-date__calendar'\n }, [\n h('div', {\n staticClass: 'q-date__navigation row items-center no-wrap'\n }, this.__getNavigation(h, {\n label: this.innerLocale.months[ this.viewModel.month - 1 ],\n view: 'Months',\n key: this.viewModel.month,\n dir: this.monthDirection,\n goTo: this.__goToMonth,\n boundaries: this.navBoundaries.month,\n cls: ' col'\n }).concat(this.__getNavigation(h, {\n label: this.viewModel.year,\n view: 'Years',\n key: this.viewModel.year,\n dir: this.yearDirection,\n goTo: this.__goToYear,\n boundaries: this.navBoundaries.year,\n cls: ''\n }))),\n\n h('div', {\n staticClass: 'q-date__calendar-weekdays row items-center no-wrap'\n }, this.daysOfWeek.map(day => h('div', { staticClass: 'q-date__calendar-item' }, [ h('div', [ day ]) ]))),\n\n h('div', {\n staticClass: 'q-date__calendar-days-container relative-position overflow-hidden'\n }, [\n h('transition', {\n props: {\n name: 'q-transition--slide-' + this.monthDirection\n }\n }, [\n h('div', {\n key: this.viewMonthHash,\n staticClass: 'q-date__calendar-days fit'\n }, this.days.map(day => h('div', { staticClass: day.classes }, [\n day.in === true\n ? h(QBtn, {\n staticClass: day.today === true ? 'q-date__today' : null,\n props: {\n dense: true,\n flat: day.flat,\n unelevated: day.unelevated,\n color: day.color,\n textColor: day.textColor,\n label: day.i,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'day#' + day.i, {\n click: () => { this.__onDayClick(day.i) },\n mouseover: () => { this.__onDayMouseover(day.i) }\n })\n }, day.event !== false ? [\n h('div', { staticClass: 'q-date__event bg-' + day.event })\n ] : null)\n : h('div', [ day.i ])\n ])))\n ])\n ])\n ])\n ]\n },\n\n __getMonthsView (h) {\n const currentYear = this.viewModel.year === this.today.year\n const isDisabled = month => {\n return (\n (this.minNav !== void 0 && this.viewModel.year === this.minNav.year && this.minNav.month > month) ||\n (this.maxNav !== void 0 && this.viewModel.year === this.maxNav.year && this.maxNav.month < month)\n )\n }\n\n const content = this.innerLocale.monthsShort.map((month, i) => {\n const active = this.viewModel.month === i + 1\n\n return h('div', {\n staticClass: 'q-date__months-item flex flex-center'\n }, [\n h(QBtn, {\n staticClass: currentYear === true && this.today.month === i + 1 ? 'q-date__today' : null,\n props: {\n flat: active !== true,\n label: month,\n unelevated: active,\n color: active === true ? this.computedColor : null,\n textColor: active === true ? this.computedTextColor : null,\n tabindex: this.computedTabindex,\n disable: isDisabled(i + 1)\n },\n on: cache(this, 'month#' + i, { click: () => { this.__setMonth(i + 1) } })\n })\n ])\n })\n\n this.yearsInMonthView === true && content.unshift(\n h('div', { staticClass: 'row no-wrap full-width' }, [\n this.__getNavigation(h, {\n label: this.viewModel.year,\n view: 'Years',\n key: this.viewModel.year,\n dir: this.yearDirection,\n goTo: this.__goToYear,\n boundaries: this.navBoundaries.year,\n cls: ' col'\n })\n ])\n )\n\n return h('div', {\n key: 'months-view',\n staticClass: 'q-date__view q-date__months flex flex-center'\n }, content)\n },\n\n __getYearsView (h) {\n const\n start = this.startYear,\n stop = start + yearsInterval,\n years = []\n\n const isDisabled = year => {\n return (\n (this.minNav !== void 0 && this.minNav.year > year) ||\n (this.maxNav !== void 0 && this.maxNav.year < year)\n )\n }\n\n for (let i = start; i <= stop; i++) {\n const active = this.viewModel.year === i\n\n years.push(\n h('div', {\n staticClass: 'q-date__years-item flex flex-center'\n }, [\n h(QBtn, {\n key: 'yr' + i,\n staticClass: this.today.year === i ? 'q-date__today' : null,\n props: {\n flat: !active,\n label: i,\n dense: true,\n unelevated: active,\n color: active === true ? this.computedColor : null,\n textColor: active === true ? this.computedTextColor : null,\n tabindex: this.computedTabindex,\n disable: isDisabled(i)\n },\n on: cache(this, 'yr#' + i, { click: () => { this.__setYear(i) } })\n })\n ])\n )\n }\n\n return h('div', {\n staticClass: 'q-date__view q-date__years flex flex-center'\n }, [\n h('div', {\n staticClass: 'col-auto'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n flat: true,\n icon: this.dateArrow[0],\n tabindex: this.computedTabindex,\n disable: isDisabled(start)\n },\n on: cache(this, 'y-', { click: () => { this.startYear -= yearsInterval } })\n })\n ]),\n\n h('div', {\n staticClass: 'q-date__years-content col self-stretch row items-center'\n }, years),\n\n h('div', {\n staticClass: 'col-auto'\n }, [\n h(QBtn, {\n props: {\n round: true,\n dense: true,\n flat: true,\n icon: this.dateArrow[1],\n tabindex: this.computedTabindex,\n disable: isDisabled(stop)\n },\n on: cache(this, 'y+', { click: () => { this.startYear += yearsInterval } })\n })\n ])\n ])\n },\n\n __goToMonth (offset) {\n let year = this.viewModel.year\n let month = Number(this.viewModel.month) + offset\n\n if (month === 13) {\n month = 1\n year++\n }\n else if (month === 0) {\n month = 12\n year--\n }\n\n this.__updateViewModel(year, month)\n this.isImmediate === true && this.__emitImmediately('month')\n },\n\n __goToYear (offset) {\n const year = Number(this.viewModel.year) + offset\n this.__updateViewModel(year, this.viewModel.month)\n this.isImmediate === true && this.__emitImmediately('year')\n },\n\n __setYear (year) {\n this.__updateViewModel(year, this.viewModel.month)\n this.view = this.defaultView === 'Years' ? 'Months' : 'Calendar'\n this.isImmediate === true && this.__emitImmediately('year')\n },\n\n __setMonth (month) {\n this.__updateViewModel(this.viewModel.year, month)\n this.view = 'Calendar'\n this.isImmediate === true && this.__emitImmediately('month')\n },\n\n __getMonthHash (date) {\n return date.year + '/' + pad(date.month)\n },\n\n __toggleDate (date, monthHash) {\n const month = this.daysMap[monthHash]\n const fn = month !== void 0 && month.includes(date.day) === true\n ? this.__removeFromModel\n : this.__addToModel\n\n fn(date)\n },\n\n __getShortDate (date) {\n return { year: date.year, month: date.month, day: date.day }\n },\n\n __onDayClick (dayIndex) {\n const day = { ...this.viewModel, day: dayIndex }\n\n if (this.range === false) {\n this.__toggleDate(day, this.viewMonthHash)\n return\n }\n\n if (this.editRange === void 0) {\n const dayProps = this.days.find(day => day.fill !== true && day.i === dayIndex)\n\n if (dayProps.range !== void 0) {\n this.__removeFromModel({ target: day, from: dayProps.range.from, to: dayProps.range.to })\n return\n }\n\n if (dayProps.selected === true) {\n this.__removeFromModel(day)\n return\n }\n\n const initHash = this.__getDayHash(day)\n\n this.editRange = {\n init: day,\n initHash,\n final: day,\n finalHash: initHash\n }\n\n this.$emit('range-start', this.__getShortDate(day))\n }\n else {\n const\n initHash = this.editRange.initHash,\n finalHash = this.__getDayHash(day),\n payload = initHash <= finalHash\n ? { from: this.editRange.init, to: day }\n : { from: day, to: this.editRange.init }\n\n this.editRange = void 0\n this.__addToModel(initHash === finalHash ? day : { target: day, ...payload })\n\n this.$emit('range-end', {\n from: this.__getShortDate(payload.from),\n to: this.__getShortDate(payload.to)\n })\n }\n },\n\n __onDayMouseover (dayIndex) {\n if (this.editRange !== void 0) {\n const final = { ...this.viewModel, day: dayIndex }\n\n Object.assign(this.editRange, {\n final,\n finalHash: this.__getDayHash(final)\n })\n }\n },\n\n __updateViewModel (year, month) {\n if (this.minNav !== void 0 && year <= this.minNav.year) {\n year = this.minNav.year\n if (month < this.minNav.month) {\n month = this.minNav.month\n }\n }\n\n if (this.maxNav !== void 0 && year >= this.maxNav.year) {\n year = this.maxNav.year\n if (month > this.maxNav.month) {\n month = this.maxNav.month\n }\n }\n\n const newHash = year + '/' + pad(month) + '/01'\n\n if (newHash !== this.viewModel.dateHash) {\n this.monthDirection = (this.viewModel.dateHash < newHash) === (this.$q.lang.rtl !== true) ? 'left' : 'right'\n if (year !== this.viewModel.year) {\n this.yearDirection = this.monthDirection\n }\n\n this.$nextTick(() => {\n this.startYear = year - year % yearsInterval - (year < 0 ? yearsInterval : 0)\n Object.assign(this.viewModel, {\n year,\n month,\n day: 1,\n dateHash: newHash\n })\n })\n }\n },\n\n __emitValue (val, action, date) {\n const value = val !== null && val.length === 1 && this.multiple === false\n ? val[0]\n : val\n\n this.lastEmitValue = value\n\n const { reason, details } = this.__getEmitParams(action, date)\n this.$emit('input', value, reason, details)\n },\n\n __emitImmediately (reason) {\n const date = this.daysModel[0] !== void 0 && this.daysModel[0].dateHash !== null\n ? { ...this.daysModel[0] }\n : { ...this.viewModel } // inherit day, hours, minutes, milliseconds...\n\n // nextTick required because of animation delay in viewModel\n this.$nextTick(() => {\n date.year = this.viewModel.year\n date.month = this.viewModel.month\n\n const maxDay = this.calendar !== 'persian'\n ? (new Date(date.year, date.month, 0)).getDate()\n : jalaaliMonthLength(date.year, date.month)\n\n date.day = Math.min(Math.max(1, date.day), maxDay)\n\n const value = this.__encodeEntry(date)\n this.lastEmitValue = value\n\n const { details } = this.__getEmitParams('', date)\n this.$emit('input', value, reason, details)\n })\n },\n\n __getEmitParams (action, date) {\n return date.from !== void 0\n ? {\n reason: `${action}-range`,\n details: {\n ...this.__getShortDate(date.target),\n from: this.__getShortDate(date.from),\n to: this.__getShortDate(date.to),\n changed: true // TODO remove in v2; legacy purposes\n }\n }\n : {\n reason: `${action}-day`,\n details: {\n ...this.__getShortDate(date),\n changed: true // TODO remove in v2; legacy purposes\n }\n }\n },\n\n __encodeEntry (date, mask, locale) {\n return date.from !== void 0\n ? { from: this.encodeObjectFn(date.from, mask, locale), to: this.encodeObjectFn(date.to, mask, locale) }\n : this.encodeObjectFn(date, mask, locale)\n },\n\n __addToModel (date) {\n let value\n\n if (this.multiple === true) {\n if (date.from !== void 0) {\n // we also need to filter out intersections\n\n const fromHash = this.__getDayHash(date.from)\n const toHash = this.__getDayHash(date.to)\n\n const days = this.daysModel\n .filter(day => day.dateHash < fromHash || day.dateHash > toHash)\n\n const ranges = this.rangeModel\n .filter(({ from, to }) => to.dateHash < fromHash || from.dateHash > toHash)\n\n value = days.concat(ranges).concat(date).map(entry => this.__encodeEntry(entry))\n }\n else {\n const model = this.normalizedModel.slice()\n model.push(this.__encodeEntry(date))\n value = model\n }\n }\n else {\n value = this.__encodeEntry(date)\n }\n\n this.__emitValue(value, 'add', date)\n },\n\n __removeFromModel (date) {\n if (this.noUnset === true) {\n return\n }\n\n let model = null\n\n if (this.multiple === true && Array.isArray(this.value) === true) {\n const val = this.__encodeEntry(date)\n\n if (date.from !== void 0) {\n model = this.value.filter(\n date => date.from !== void 0\n ? (date.from !== val.from && date.to !== val.to)\n : true\n )\n }\n else {\n model = this.value.filter(date => date !== val)\n }\n\n if (model.length === 0) {\n model = null\n }\n }\n\n this.__emitValue(model, 'remove', date)\n },\n\n __updateValue (mask, locale, reason) {\n const model = this.daysModel\n .concat(this.rangeModel)\n .map(entry => this.__encodeEntry(entry, mask, locale))\n .filter(entry => {\n return entry.from !== void 0\n ? entry.from.dateHash !== null && entry.to.dateHash !== null\n : entry.dateHash !== null\n })\n\n this.$emit('input', (this.multiple === true ? model : model[0]) || null, reason)\n }\n },\n\n render (h) {\n const content = [\n h('div', {\n staticClass: 'q-date__content col relative-position'\n }, [\n h('transition', {\n props: { name: 'q-transition--fade' }\n }, [\n this[`__get${this.view}View`](h)\n ])\n ])\n ]\n\n const def = slot(this, 'default')\n def !== void 0 && content.push(\n h('div', { staticClass: 'q-date__actions' }, def)\n )\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(content, 'push')\n }\n\n return h('div', {\n class: this.classes,\n attrs: this.attrs,\n on: { ...this.qListeners }\n }, [\n this.__getHeader(h),\n\n h('div', {\n staticClass: 'q-date__main col column',\n attrs: { tabindex: -1 },\n ref: 'blurTarget'\n }, content)\n ])\n }\n})\n","import { render, staticRenderFns } from \"./invoicingForm.vue?vue&type=template&id=ee4390ac&scoped=true&\"\nimport script from \"./invoicingForm.vue?vue&type=script&lang=js&\"\nexport * from \"./invoicingForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ee4390ac\",\n null\n \n)\n\nexport default component.exports\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QPopupProxy from 'quasar/src/components/popup-proxy/QPopupProxy.js';\nimport QDate from 'quasar/src/components/date/QDate.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport QTd from 'quasar/src/components/table/QTd.js';\nimport QCheckbox from 'quasar/src/components/checkbox/QCheckbox.js';\nimport QTooltip from 'quasar/src/components/tooltip/QTooltip.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(component, 'components', {QCard,QInput,QIcon,QPopupProxy,QDate,QBtn,QTd,QCheckbox,QTooltip});qInstall(component, 'directives', {ClosePopup});\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./competitionForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.transform-quasar-imports.js!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./competitionForm.vue?vue&type=script&lang=js&\"","import Vue from 'vue'\n\nimport QBtn from '../btn/QBtn.js'\nimport TouchPan from '../../directives/TouchPan.js'\n\nimport { slot } from '../../utils/slot.js'\nimport { formatDate, __splitDate } from '../../utils/date.js'\nimport { position } from '../../utils/event.js'\nimport { pad } from '../../utils/format.js'\nimport cache from '../../utils/cache.js'\nimport DateTimeMixin from '../../mixins/datetime.js'\n\nexport default Vue.extend({\n name: 'QTime',\n\n mixins: [ DateTimeMixin ],\n\n directives: {\n TouchPan\n },\n\n props: {\n mask: {\n default: null\n },\n\n format24h: {\n type: Boolean,\n default: null\n },\n\n defaultDate: {\n type: String,\n validator: v => /^-?[\\d]+\\/[0-1]\\d\\/[0-3]\\d$/.test(v)\n },\n\n options: Function,\n hourOptions: Array,\n minuteOptions: Array,\n secondOptions: Array,\n\n withSeconds: Boolean,\n nowBtn: Boolean\n },\n\n data () {\n const model = __splitDate(\n this.value,\n this.__getMask(),\n this.__getLocale(),\n this.calendar,\n this.__getDefaultDateModel()\n )\n\n let view = 'Hour'\n\n if (model.hour !== null) {\n if (model.minute === null) {\n view = 'Minute'\n }\n else if (this.withSeconds === true && model.second === null) {\n view = 'Second'\n }\n }\n\n return {\n view,\n isAM: model.hour === null || model.hour < 12,\n innerModel: model\n }\n },\n\n watch: {\n value (v) {\n const model = __splitDate(\n v,\n this.computedMask,\n this.computedLocale,\n this.calendar,\n this.defaultDateModel\n )\n\n if (\n model.dateHash !== this.innerModel.dateHash ||\n model.timeHash !== this.innerModel.timeHash\n ) {\n this.innerModel = model\n\n if (model.hour === null) {\n this.view = 'Hour'\n }\n else {\n this.isAM = model.hour < 12\n }\n }\n },\n\n computedMask () {\n this.$nextTick(() => {\n this.__updateValue()\n })\n },\n\n computedLocale () {\n this.$nextTick(() => {\n this.__updateValue()\n })\n }\n },\n\n computed: {\n classes () {\n return `q-time q-time--${this.landscape === true ? 'landscape' : 'portrait'}` +\n (this.isDark === true ? ' q-time--dark q-dark' : '') +\n (this.disable === true ? ' disabled' : (this.readonly === true ? ' q-time--readonly' : '')) +\n (this.bordered === true ? ` q-time--bordered` : '') +\n (this.square === true ? ` q-time--square no-border-radius` : '') +\n (this.flat === true ? ` q-time--flat no-shadow` : '')\n },\n\n stringModel () {\n const time = this.innerModel\n\n return {\n hour: time.hour === null\n ? '--'\n : (\n this.computedFormat24h === true\n ? pad(time.hour)\n : String(\n this.isAM === true\n ? (time.hour === 0 ? 12 : time.hour)\n : (time.hour > 12 ? time.hour - 12 : time.hour)\n )\n ),\n minute: time.minute === null\n ? '--'\n : pad(time.minute),\n second: time.second === null\n ? '--'\n : pad(time.second)\n }\n },\n\n defaultDateModel () {\n return this.__getDefaultDateModel()\n },\n\n computedFormat24h () {\n return this.format24h !== null\n ? this.format24h\n : this.$q.lang.date.format24h\n },\n\n pointerStyle () {\n const\n forHour = this.view === 'Hour',\n divider = forHour === true ? 12 : 60,\n amount = this.innerModel[this.view.toLowerCase()],\n degrees = Math.round(amount * (360 / divider)) - 180\n\n let transform = `rotate(${degrees}deg) translateX(-50%)`\n\n if (\n forHour === true &&\n this.computedFormat24h === true &&\n this.innerModel.hour >= 12\n ) {\n transform += ' scale(.7)'\n }\n\n return { transform }\n },\n\n minLink () {\n return this.innerModel.hour !== null\n },\n\n secLink () {\n return this.minLink === true && this.innerModel.minute !== null\n },\n\n hourInSelection () {\n return this.hourOptions !== void 0\n ? val => this.hourOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(val, null, null)\n : void 0\n )\n },\n\n minuteInSelection () {\n return this.minuteOptions !== void 0\n ? val => this.minuteOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(this.innerModel.hour, val, null)\n : void 0\n )\n },\n\n secondInSelection () {\n return this.secondOptions !== void 0\n ? val => this.secondOptions.includes(val)\n : (\n this.options !== void 0\n ? val => this.options(this.innerModel.hour, this.innerModel.minute, val)\n : void 0\n )\n },\n\n validHours () {\n if (this.hourInSelection !== void 0) {\n const am = this.__getValidValues(0, 11, this.hourInSelection)\n const pm = this.__getValidValues(12, 11, this.hourInSelection)\n return { am, pm, values: am.values.concat(pm.values) }\n }\n },\n\n validMinutes () {\n if (this.minuteInSelection !== void 0) {\n return this.__getValidValues(0, 59, this.minuteInSelection)\n }\n },\n\n validSeconds () {\n if (this.secondInSelection !== void 0) {\n return this.__getValidValues(0, 59, this.secondInSelection)\n }\n },\n\n viewValidOptions () {\n switch (this.view) {\n case 'Hour':\n return this.validHours\n case 'Minute':\n return this.validMinutes\n case 'Second':\n return this.validSeconds\n }\n },\n\n positions () {\n let start, end, offset = 0, step = 1\n const values = this.viewValidOptions !== void 0\n ? this.viewValidOptions.values\n : void 0\n\n if (this.view === 'Hour') {\n if (this.computedFormat24h === true) {\n start = 0\n end = 23\n }\n else {\n start = 0\n end = 11\n\n if (this.isAM === false) {\n offset = 12\n }\n }\n }\n else {\n start = 0\n end = 55\n step = 5\n }\n\n const pos = []\n\n for (let val = start, index = start; val <= end; val += step, index++) {\n const\n actualVal = val + offset,\n disable = values !== void 0 && values.includes(actualVal) === false,\n label = this.view === 'Hour' && val === 0\n ? (this.computedFormat24h === true ? '00' : '12')\n : val\n\n pos.push({ val: actualVal, index, disable, label })\n }\n\n return pos\n }\n },\n\n methods: {\n setNow () {\n this.__updateValue({\n ...this.__getCurrentDate(),\n ...this.__getCurrentTime()\n })\n this.view = 'Hour'\n },\n\n __getValidValues (start, count, testFn) {\n const values = Array.apply(null, { length: count + 1 })\n .map((_, index) => {\n const i = index + start\n return {\n index: i,\n val: testFn(i) === true // force boolean\n }\n })\n .filter(v => v.val === true)\n .map(v => v.index)\n\n return {\n min: values[0],\n max: values[values.length - 1],\n values,\n threshold: count + 1\n }\n },\n\n __getWheelDist (a, b, threshold) {\n const diff = Math.abs(a - b)\n return Math.min(diff, threshold - diff)\n },\n\n __getNormalizedClockValue (val, { min, max, values, threshold }) {\n if (val === min) {\n return min\n }\n\n if (val < min || val > max) {\n return this.__getWheelDist(val, min, threshold) <= this.__getWheelDist(val, max, threshold)\n ? min\n : max\n }\n\n const\n index = values.findIndex(v => val <= v),\n before = values[index - 1],\n after = values[index]\n\n return val - before <= after - val\n ? before\n : after\n },\n\n __getMask () {\n return this.calendar !== 'persian' && this.mask !== null\n ? this.mask\n : `HH:mm${this.withSeconds === true ? ':ss' : ''}`\n },\n\n __getDefaultDateModel () {\n if (typeof this.defaultDate !== 'string') {\n const date = this.__getCurrentDate(true)\n date.dateHash = this.__getDayHash(date)\n return date\n }\n\n return __splitDate(this.defaultDate, 'YYYY/MM/DD', void 0, this.calendar)\n },\n\n __click (evt) {\n if (this.__shouldAbortInteraction() !== true) {\n // __activate() has already updated the offset\n // (on desktop only, through mousedown event)\n if (this.$q.platform.is.desktop !== true) {\n this.__updateClock(evt, this.__getClockRect())\n }\n\n this.__goToNextView()\n }\n },\n\n __activate (evt) {\n if (this.__shouldAbortInteraction() !== true) {\n this.__updateClock(evt, this.__getClockRect())\n }\n },\n\n __shouldAbortInteraction () {\n return this._isBeingDestroyed === true ||\n this._isDestroyed === true ||\n // if we have limited options, can we actually set any?\n (\n this.viewValidOptions !== void 0 &&\n (\n this.viewValidOptions.values.length === 0 ||\n (\n this.view === 'Hour' && this.computedFormat24h !== true &&\n this.validHours[this.isAM === true ? 'am' : 'pm'].values.length === 0\n )\n )\n )\n },\n\n __getClockRect () {\n const\n clock = this.$refs.clock,\n { top, left, width } = clock.getBoundingClientRect(),\n dist = width / 2\n\n return {\n top: top + dist,\n left: left + dist,\n dist: dist * 0.7\n }\n },\n\n __goToNextView () {\n if (this.view === 'Hour') {\n this.view = 'Minute'\n }\n else if (this.withSeconds && this.view === 'Minute') {\n this.view = 'Second'\n }\n },\n\n __drag (event) {\n if (this.__shouldAbortInteraction() === true) {\n return\n }\n\n if (event.isFirst === true) {\n this.draggingClockRect = this.__getClockRect()\n this.dragCache = this.__updateClock(event.evt, this.draggingClockRect)\n return\n }\n\n this.dragCache = this.__updateClock(event.evt, this.draggingClockRect, this.dragCache)\n\n if (event.isFinal === true) {\n this.draggingClockRect = false\n this.dragCache = null\n this.__goToNextView()\n }\n },\n\n __updateClock (evt, clockRect, cacheVal) {\n const\n pos = position(evt),\n height = Math.abs(pos.top - clockRect.top),\n distance = Math.sqrt(\n Math.pow(Math.abs(pos.top - clockRect.top), 2) +\n Math.pow(Math.abs(pos.left - clockRect.left), 2)\n )\n\n let\n val,\n angle = Math.asin(height / distance) * (180 / Math.PI)\n\n if (pos.top < clockRect.top) {\n angle = clockRect.left < pos.left ? 90 - angle : 270 + angle\n }\n else {\n angle = clockRect.left < pos.left ? angle + 90 : 270 - angle\n }\n\n if (this.view === 'Hour') {\n val = angle / 30\n\n if (this.validHours !== void 0) {\n const am = this.computedFormat24h !== true\n ? this.isAM === true\n : (\n this.validHours.am.values.length > 0 && this.validHours.pm.values.length > 0\n ? distance >= clockRect.dist\n : this.validHours.am.values.length > 0\n )\n\n val = this.__getNormalizedClockValue(\n val + (am === true ? 0 : 12),\n this.validHours[am === true ? 'am' : 'pm']\n )\n }\n else {\n val = Math.round(val)\n\n if (this.computedFormat24h === true) {\n if (distance < clockRect.dist) {\n if (val < 12) {\n val += 12\n }\n }\n else if (val === 12) {\n val = 0\n }\n }\n else if (this.isAM === true && val === 12) {\n val = 0\n }\n else if (this.isAM === false && val !== 12) {\n val += 12\n }\n }\n\n if (this.computedFormat24h === true) {\n this.isAM = val < 12\n }\n }\n else {\n val = Math.round(angle / 6) % 60\n\n if (this.view === 'Minute' && this.validMinutes !== void 0) {\n val = this.__getNormalizedClockValue(val, this.validMinutes)\n }\n else if (this.view === 'Second' && this.validSeconds !== void 0) {\n val = this.__getNormalizedClockValue(val, this.validSeconds)\n }\n }\n\n if (cacheVal !== val) {\n this[`__set${this.view}`](val)\n }\n\n return val\n },\n\n __onKeyupHour (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Hour'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validHours !== void 0) {\n const values = this.computedFormat24h === true\n ? this.validHours.values\n : this.validHours[this.isAM === true ? 'am' : 'pm'].values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.hour === null) {\n this.__setHour(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.hour) +\n payload\n ) % values.length\n\n this.__setHour(values[index])\n }\n }\n else {\n const\n wrap = this.computedFormat24h === true ? 24 : 12,\n offset = this.computedFormat24h !== true && this.isAM === false ? 12 : 0,\n val = this.innerModel.hour === null ? -payload : this.innerModel.hour\n\n this.__setHour(offset + (24 + val + payload) % wrap)\n }\n }\n },\n\n __onKeyupMinute (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Minute'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validMinutes !== void 0) {\n const values = this.validMinutes.values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.minute === null) {\n this.__setMinute(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.minute) +\n payload\n ) % values.length\n\n this.__setMinute(values[index])\n }\n }\n else {\n const val = this.innerModel.minute === null ? -payload : this.innerModel.minute\n this.__setMinute((60 + val + payload) % 60)\n }\n }\n },\n\n __onKeyupSecond (e) {\n if (e.keyCode === 13) { // ENTER\n this.view = 'Second'\n }\n else if ([ 37, 39 ].includes(e.keyCode)) {\n const payload = e.keyCode === 37 ? -1 : 1\n\n if (this.validSeconds !== void 0) {\n const values = this.validSeconds.values\n\n if (values.length === 0) { return }\n\n if (this.innerModel.seconds === null) {\n this.__setSecond(values[0])\n }\n else {\n const index = (\n values.length +\n values.indexOf(this.innerModel.second) +\n payload\n ) % values.length\n\n this.__setSecond(values[index])\n }\n }\n else {\n const val = this.innerModel.second === null ? -payload : this.innerModel.second\n this.__setSecond((60 + val + payload) % 60)\n }\n }\n },\n\n __getHeader (h) {\n const label = [\n h('div', {\n staticClass: 'q-time__link',\n class: this.view === 'Hour' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vH', {\n click: () => { this.view = 'Hour' },\n keyup: this.__onKeyupHour\n })\n }, [ this.stringModel.hour ]),\n\n h('div', [ ':' ]),\n\n h(\n 'div',\n this.minLink === true\n ? {\n staticClass: 'q-time__link',\n class: this.view === 'Minute' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vM', {\n click: () => { this.view = 'Minute' },\n keyup: this.__onKeyupMinute\n })\n }\n : { staticClass: 'q-time__link' },\n [ this.stringModel.minute ]\n )\n ]\n\n if (this.withSeconds === true) {\n label.push(\n h('div', [ ':' ]),\n\n h(\n 'div',\n this.secLink === true\n ? {\n staticClass: 'q-time__link',\n class: this.view === 'Second' ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'vS', {\n click: () => { this.view = 'Second' },\n keyup: this.__onKeyupSecond\n })\n }\n : { staticClass: 'q-time__link' },\n [ this.stringModel.second ]\n )\n )\n }\n\n return h('div', {\n staticClass: 'q-time__header flex flex-center no-wrap',\n class: this.headerClass\n }, [\n h('div', {\n staticClass: 'q-time__header-label row items-center no-wrap',\n attrs: { dir: 'ltr' }\n }, label),\n\n this.computedFormat24h === false ? h('div', {\n staticClass: 'q-time__header-ampm column items-between no-wrap'\n }, [\n h('div', {\n staticClass: 'q-time__link',\n class: this.isAM === true ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'AM', {\n click: this.__setAm,\n keyup: e => { e.keyCode === 13 && this.__setAm() }\n })\n }, [ 'AM' ]),\n\n h('div', {\n staticClass: 'q-time__link',\n class: this.isAM !== true ? 'q-time__link--active' : 'cursor-pointer',\n attrs: { tabindex: this.computedTabindex },\n on: cache(this, 'PM', {\n click: this.__setPm,\n keyup: e => { e.keyCode === 13 && this.__setPm() }\n })\n }, [ 'PM' ])\n ]) : null\n ])\n },\n\n __getClock (h) {\n const\n view = this.view.toLowerCase(),\n current = this.innerModel[view]\n\n return h('div', {\n staticClass: 'q-time__content col relative-position'\n }, [\n h('transition', {\n props: { name: 'q-transition--scale' }\n }, [\n h('div', {\n key: 'clock' + this.view,\n staticClass: 'q-time__container-parent absolute-full'\n }, [\n h('div', {\n ref: 'clock',\n staticClass: 'q-time__container-child fit overflow-hidden'\n }, [\n h('div', {\n staticClass: 'q-time__clock cursor-pointer non-selectable',\n on: cache(this, 'click', {\n click: this.__click,\n mousedown: this.__activate\n }),\n directives: cache(this, 'touch', [{\n name: 'touch-pan',\n value: this.__drag,\n modifiers: {\n stop: true,\n prevent: true,\n mouse: true\n }\n }])\n }, [\n h('div', { staticClass: 'q-time__clock-circle fit' }, [\n h('div', {\n staticClass: 'q-time__clock-pointer',\n style: this.pointerStyle,\n class: this.innerModel[view] === null ? 'hidden' : (this.color !== void 0 ? `text-${this.color}` : '')\n }),\n\n this.positions.map(pos => h('div', {\n staticClass: `q-time__clock-position row flex-center q-time__clock-pos-${pos.index}`,\n class: pos.val === current\n ? this.headerClass.concat(' q-time__clock-position--active')\n : (pos.disable === true ? 'q-time__clock-position--disable' : null)\n }, [ h('span', [ pos.label ]) ]))\n ])\n ])\n ])\n ])\n ]),\n\n this.nowBtn === true ? h(QBtn, {\n staticClass: 'q-time__now-button absolute',\n props: {\n icon: this.$q.iconSet.datetime.now,\n unelevated: true,\n size: 'sm',\n round: true,\n color: this.color,\n textColor: this.textColor,\n tabindex: this.computedTabindex\n },\n on: cache(this, 'now', {\n click: this.setNow\n })\n }) : null\n ])\n },\n\n __setHour (hour) {\n if (this.innerModel.hour !== hour) {\n this.innerModel.hour = hour\n this.innerModel.minute = null\n this.innerModel.second = null\n }\n },\n\n __setMinute (minute) {\n if (this.innerModel.minute !== minute) {\n this.innerModel.minute = minute\n this.innerModel.second = null\n this.withSeconds !== true && this.__updateValue({ minute })\n }\n },\n\n __setSecond (second) {\n this.innerModel.second !== second && this.__updateValue({ second })\n },\n\n __setAm () {\n if (this.isAM === false) {\n this.isAM = true\n\n if (this.innerModel.hour !== null) {\n this.innerModel.hour -= 12\n this.__verifyAndUpdate()\n }\n }\n },\n\n __setPm () {\n if (this.isAM === true) {\n this.isAM = false\n\n if (this.innerModel.hour !== null) {\n this.innerModel.hour += 12\n this.__verifyAndUpdate()\n }\n }\n },\n\n __verifyAndUpdate () {\n if (this.hourInSelection !== void 0 && this.hourInSelection(this.innerModel.hour) !== true) {\n this.innerModel = __splitDate()\n this.view = 'Hour'\n return\n }\n\n if (this.minuteInSelection !== void 0 && this.minuteInSelection(this.innerModel.minute) !== true) {\n this.innerModel.minute = null\n this.innerModel.second = null\n this.view = 'Minute'\n return\n }\n\n if (this.withSeconds === true && this.secondInSelection !== void 0 && this.secondInSelection(this.innerModel.second) !== true) {\n this.innerModel.second = null\n this.view = 'Second'\n return\n }\n\n if (this.innerModel.hour === null || this.innerModel.minute === null || (this.withSeconds === true && this.innerModel.second === null)) {\n return\n }\n\n this.__updateValue()\n },\n\n __updateValue (obj) {\n const date = Object.assign({ ...this.innerModel }, obj)\n\n const val = this.calendar === 'persian'\n ? pad(date.hour) + ':' +\n pad(date.minute) +\n (this.withSeconds === true ? ':' + pad(date.second) : '')\n : formatDate(\n new Date(\n date.year,\n date.month === null ? null : date.month - 1,\n date.day,\n date.hour,\n date.minute,\n date.second,\n date.millisecond\n ),\n this.computedMask,\n this.computedLocale,\n date.year,\n date.timezoneOffset\n )\n\n date.changed = val !== this.value\n this.$emit('input', val, date)\n }\n },\n\n render (h) {\n const child = [\n this.__getClock(h)\n ]\n\n const def = slot(this, 'default')\n def !== void 0 && child.push(\n h('div', { staticClass: 'q-time__actions' }, def)\n )\n\n if (this.name !== void 0 && this.disable !== true) {\n this.__injectFormInput(child, 'push')\n }\n\n return h('div', {\n class: this.classes,\n on: { ...this.qListeners },\n attrs: { tabindex: -1 }\n }, [\n this.__getHeader(h),\n h('div', { staticClass: 'q-time__main col overflow-auto' }, child)\n ])\n }\n})\n","import QBtn from '../btn/QBtn.js'\nimport QBtnDropdown from '../btn-dropdown/QBtnDropdown.js'\nimport QIcon from '../icon/QIcon.js'\nimport QTooltip from '../tooltip/QTooltip.js'\nimport QList from '../item/QList.js'\nimport QItem from '../item/QItem.js'\nimport QItemSection from '../item/QItemSection.js'\n\nimport { prevent, stop } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\n\nfunction run (e, btn, vm) {\n if (btn.handler) {\n btn.handler(e, vm, vm.caret)\n }\n else {\n vm.runCmd(btn.cmd, btn.param)\n }\n}\n\nfunction __getGroup (h, children) {\n return h('div', {\n staticClass: 'q-editor__toolbar-group'\n }, children)\n}\n\nfunction getBtn (h, vm, btn, clickHandler, active = false) {\n const\n toggled = active || (btn.type === 'toggle'\n ? (btn.toggled ? btn.toggled(vm) : btn.cmd && vm.caret.is(btn.cmd, btn.param))\n : false),\n child = [],\n events = {\n click (e) {\n clickHandler && clickHandler()\n run(e, btn, vm)\n }\n }\n\n if (btn.tip && vm.$q.platform.is.desktop) {\n const Key = btn.key\n ? h('div', [h('small', `(CTRL + ${String.fromCharCode(btn.key)})`)])\n : null\n child.push(\n h(QTooltip, { props: { delay: 1000 } }, [\n h('div', { domProps: { innerHTML: btn.tip } }),\n Key\n ])\n )\n }\n\n return h(QBtn, {\n props: {\n ...vm.buttonProps,\n icon: btn.icon !== null ? btn.icon : void 0,\n color: toggled ? btn.toggleColor || vm.toolbarToggleColor : btn.color || vm.toolbarColor,\n textColor: toggled && !vm.toolbarPush ? null : btn.textColor || vm.toolbarTextColor,\n label: btn.label,\n disable: btn.disable ? (typeof btn.disable === 'function' ? btn.disable(vm) : true) : false,\n size: 'sm'\n },\n on: events\n }, child)\n}\n\nfunction getDropdown (h, vm, btn) {\n const onlyIcons = btn.list === 'only-icons'\n let\n label = btn.label,\n icon = btn.icon !== null ? btn.icon : void 0,\n contentClass,\n Items\n\n function closeDropdown () {\n Dropdown.componentInstance.hide()\n }\n\n if (onlyIcons) {\n Items = btn.options.map(btn => {\n const active = btn.type === void 0\n ? vm.caret.is(btn.cmd, btn.param)\n : false\n\n if (active) {\n label = btn.tip\n icon = btn.icon !== null ? btn.icon : void 0\n }\n return getBtn(h, vm, btn, closeDropdown, active)\n })\n contentClass = vm.toolbarBackgroundClass\n Items = [\n __getGroup(h, Items)\n ]\n }\n else {\n const activeClass = vm.toolbarToggleColor !== void 0\n ? `text-${vm.toolbarToggleColor}`\n : null\n const inactiveClass = vm.toolbarTextColor !== void 0\n ? `text-${vm.toolbarTextColor}`\n : null\n\n const noIcons = btn.list === 'no-icons'\n\n Items = btn.options.map(btn => {\n const disable = btn.disable ? btn.disable(vm) : false\n const active = btn.type === void 0\n ? vm.caret.is(btn.cmd, btn.param)\n : false\n\n if (active) {\n label = btn.tip\n icon = btn.icon !== null ? btn.icon : void 0\n }\n\n const htmlTip = btn.htmlTip\n\n return h(\n QItem,\n {\n props: { active, activeClass, clickable: true, disable: disable, dense: true },\n on: {\n click (e) {\n closeDropdown()\n vm.$refs.content && vm.$refs.content.focus()\n vm.caret.restore()\n run(e, btn, vm)\n }\n }\n },\n [\n noIcons === true\n ? null\n : h(QItemSection, {\n class: active ? activeClass : inactiveClass,\n props: { side: true }\n }, [\n h(QIcon, { props: { name: btn.icon !== null ? btn.icon : void 0 } })\n ]),\n\n h(QItemSection, [\n htmlTip\n ? h('div', {\n staticClass: 'text-no-wrap',\n domProps: { innerHTML: btn.htmlTip }\n })\n : (\n btn.tip\n ? h('div', { staticClass: 'text-no-wrap' }, [ btn.tip ])\n : null\n )\n ])\n ]\n )\n })\n contentClass = [vm.toolbarBackgroundClass, inactiveClass]\n Items = [\n h(QList, [ Items ])\n ]\n }\n\n const highlight = btn.highlight && label !== btn.label\n const Dropdown = h(\n QBtnDropdown,\n {\n props: {\n ...vm.buttonProps,\n noCaps: true,\n noWrap: true,\n color: highlight ? vm.toolbarToggleColor : vm.toolbarColor,\n textColor: highlight && !vm.toolbarPush ? null : vm.toolbarTextColor,\n label: btn.fixedLabel ? btn.label : label,\n icon: btn.fixedIcon ? (btn.icon !== null ? btn.icon : void 0) : icon,\n contentClass\n }\n },\n Items\n )\n return Dropdown\n}\n\nexport function getToolbar (h, vm) {\n if (vm.caret) {\n return vm.buttons\n .filter(f => {\n return !vm.isViewingSource || f.find(fb => fb.cmd === 'viewsource')\n })\n .map(group => __getGroup(\n h,\n group.map(btn => {\n if (vm.isViewingSource && btn.cmd !== 'viewsource') {\n return false\n }\n\n if (btn.type === 'slot') {\n return slot(vm, btn.slot)\n }\n\n if (btn.type === 'dropdown') {\n return getDropdown(h, vm, btn)\n }\n\n return getBtn(h, vm, btn)\n })\n ))\n }\n}\n\nexport function getFonts (defaultFont, defaultFontLabel, defaultFontIcon, fonts = {}) {\n const aliases = Object.keys(fonts)\n if (aliases.length === 0) {\n return {}\n }\n\n const def = {\n default_font: {\n cmd: 'fontName',\n param: defaultFont,\n icon: defaultFontIcon,\n tip: defaultFontLabel\n }\n }\n\n aliases.forEach(alias => {\n const name = fonts[alias]\n def[alias] = {\n cmd: 'fontName',\n param: name,\n icon: defaultFontIcon,\n tip: name,\n htmlTip: `${name}`\n }\n })\n\n return def\n}\n\nexport function getLinkEditor (h, vm, ie11) {\n if (vm.caret) {\n const color = vm.toolbarColor || vm.toolbarTextColor\n let link = vm.editLinkUrl\n const updateLink = () => {\n vm.caret.restore()\n\n if (link !== vm.editLinkUrl) {\n document.execCommand('createLink', false, link === '' ? ' ' : link)\n }\n\n vm.editLinkUrl = null\n\n ie11 === true && vm.$nextTick(vm.__onInput)\n }\n\n return [\n h('div', { staticClass: 'q-mx-xs', 'class': `text-${color}` }, [`${vm.$q.lang.editor.url}: `]),\n h('input', {\n key: 'qedt_btm_input',\n staticClass: 'col q-editor__link-input',\n domProps: {\n value: link\n },\n on: {\n input: e => {\n stop(e)\n link = e.target.value\n },\n keydown: event => {\n if (shouldIgnoreKey(event) === true) {\n return\n }\n\n switch (event.keyCode) {\n case 13: // ENTER key\n prevent(event)\n return updateLink()\n case 27: // ESCAPE key\n prevent(event)\n vm.caret.restore()\n if (!vm.editLinkUrl || vm.editLinkUrl === 'https://') {\n document.execCommand('unlink')\n }\n vm.editLinkUrl = null\n break\n }\n }\n }\n }),\n __getGroup(h, [\n h(QBtn, {\n key: 'qedt_btm_rem',\n attrs: { tabindex: -1 },\n props: {\n ...vm.buttonProps,\n label: vm.$q.lang.label.remove,\n noCaps: true\n },\n on: {\n click: () => {\n vm.caret.restore()\n document.execCommand('unlink')\n vm.editLinkUrl = null\n\n ie11 === true && vm.$nextTick(vm.__onInput)\n }\n }\n }),\n h(QBtn, {\n key: 'qedt_btm_upd',\n props: {\n ...vm.buttonProps,\n label: vm.$q.lang.label.update,\n noCaps: true\n },\n on: {\n click: updateLink\n }\n })\n ])\n ]\n }\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import { noop } from '../../utils/event.js'\n\nfunction getBlockElement (el, parent) {\n if (parent && el === parent) {\n return null\n }\n\n const nodeName = el.nodeName.toLowerCase()\n\n if (['div', 'li', 'ul', 'ol', 'blockquote'].includes(nodeName) === true) {\n return el\n }\n\n const\n style = window.getComputedStyle\n ? window.getComputedStyle(el)\n : el.currentStyle,\n display = style.display\n\n if (display === 'block' || display === 'table') {\n return el\n }\n\n return getBlockElement(el.parentNode)\n}\n\nfunction isChildOf (el, parent, orSame) {\n return !el || el === document.body\n ? false\n : (orSame === true && el === parent) || (parent === document ? document.body : parent).contains(el.parentNode)\n}\n\nfunction createRange (node, chars, range) {\n if (!range) {\n range = document.createRange()\n range.selectNode(node)\n range.setStart(node, 0)\n }\n\n if (chars.count === 0) {\n range.setEnd(node, chars.count)\n }\n else if (chars.count > 0) {\n if (node.nodeType === Node.TEXT_NODE) {\n if (node.textContent.length < chars.count) {\n chars.count -= node.textContent.length\n }\n else {\n range.setEnd(node, chars.count)\n chars.count = 0\n }\n }\n else {\n for (let lp = 0; chars.count !== 0 && lp < node.childNodes.length; lp++) {\n range = createRange(node.childNodes[lp], chars, range)\n }\n }\n }\n\n return range\n}\n\nconst urlRegex = /^https?:\\/\\//\n\nexport class Caret {\n constructor (el, vm) {\n this.el = el\n this.vm = vm\n this._range = null\n }\n\n get selection () {\n if (this.el) {\n const sel = document.getSelection()\n\n // only when the selection in element\n if (isChildOf(sel.anchorNode, this.el, true) && isChildOf(sel.focusNode, this.el, true)) {\n return sel\n }\n }\n\n return null\n }\n\n get hasSelection () {\n return this.selection !== null\n ? this.selection.toString().length > 0\n : false\n }\n\n get range () {\n const sel = this.selection\n\n if (sel !== null && sel.rangeCount) {\n return sel.getRangeAt(0)\n }\n\n return this._range\n }\n\n get parent () {\n const range = this.range\n\n if (range !== null) {\n const node = range.startContainer\n\n return node.nodeType === document.ELEMENT_NODE\n ? node\n : node.parentNode\n }\n\n return null\n }\n\n get blockParent () {\n const parent = this.parent\n\n if (parent !== null) {\n return getBlockElement(parent, this.el)\n }\n\n return null\n }\n\n save (range = this.range) {\n if (range !== null) {\n this._range = range\n }\n }\n\n restore (range = this._range) {\n const\n r = document.createRange(),\n sel = document.getSelection()\n\n if (range !== null) {\n r.setStart(range.startContainer, range.startOffset)\n r.setEnd(range.endContainer, range.endOffset)\n sel.removeAllRanges()\n sel.addRange(r)\n }\n else {\n sel.selectAllChildren(this.el)\n sel.collapseToEnd()\n }\n }\n\n savePosition () {\n let charCount = -1, node\n const\n selection = document.getSelection(),\n parentEl = this.el.parentNode\n\n if (selection.focusNode && isChildOf(selection.focusNode, parentEl)) {\n node = selection.focusNode\n charCount = selection.focusOffset\n\n while (node && node !== parentEl) {\n if (node !== this.el && node.previousSibling) {\n node = node.previousSibling\n charCount += node.textContent.length\n }\n else {\n node = node.parentNode\n }\n }\n }\n\n this.savedPos = charCount\n }\n\n restorePosition (length = 0) {\n if (this.savedPos > 0 && this.savedPos < length) {\n const\n selection = window.getSelection(),\n range = createRange(this.el, { count: this.savedPos })\n\n if (range) {\n range.collapse(false)\n selection.removeAllRanges()\n selection.addRange(range)\n }\n }\n }\n\n hasParent (name, spanLevel) {\n const el = spanLevel\n ? this.parent\n : this.blockParent\n\n return el !== null\n ? el.nodeName.toLowerCase() === name.toLowerCase()\n : false\n }\n\n hasParents (list, recursive, el = this.parent) {\n if (el === null) {\n return false\n }\n\n if (el !== null && list.includes(el.nodeName.toLowerCase()) === true) {\n return true\n }\n\n return recursive === true\n ? this.hasParents(list, recursive, el.parentNode)\n : false\n }\n\n is (cmd, param) {\n if (this.selection === null) {\n return false\n }\n\n switch (cmd) {\n case 'formatBlock':\n if (param === 'DIV' && this.parent === this.el) {\n return true\n }\n return this.hasParent(param, param === 'PRE')\n case 'link':\n return this.hasParent('A', true)\n case 'fontSize':\n return document.queryCommandValue(cmd) === param\n case 'fontName':\n const res = document.queryCommandValue(cmd)\n return res === `\"${param}\"` || res === param\n case 'fullscreen':\n return this.vm.inFullscreen\n case 'viewsource':\n return this.vm.isViewingSource\n case void 0:\n return false\n default:\n const state = document.queryCommandState(cmd)\n return param !== void 0 ? state === param : state\n }\n }\n\n getParentAttribute (attrib) {\n if (this.parent !== null) {\n return this.parent.getAttribute(attrib)\n }\n\n return null\n }\n\n can (name) {\n if (name === 'outdent') {\n return this.hasParents(['blockquote', 'li'], true)\n }\n\n if (name === 'indent') {\n return this.hasParents(['li'], true)\n }\n\n if (name === 'link') {\n return this.selection !== null || this.is('link')\n }\n }\n\n apply (cmd, param, done = noop) {\n if (cmd === 'formatBlock') {\n if (['BLOCKQUOTE', 'H1', 'H2', 'H3', 'H4', 'H5', 'H6'].includes(param) && this.is(cmd, param)) {\n cmd = 'outdent'\n param = null\n }\n\n if (param === 'PRE' && this.is(cmd, 'PRE')) {\n param = 'P'\n }\n }\n else if (cmd === 'print') {\n done()\n\n const win = window.open()\n\n win.document.write(`\n \n \n \n Print - ${document.title}\n \n \n
${this.el.innerHTML}
\n \n \n `)\n win.print()\n win.close()\n\n return\n }\n else if (cmd === 'link') {\n const link = this.getParentAttribute('href')\n\n if (link === null) {\n const selection = this.selectWord(this.selection)\n const url = selection ? selection.toString() : ''\n\n if (!url.length) {\n if (!this.range || !this.range.cloneContents().querySelector('img')) {\n return\n }\n }\n\n this.vm.editLinkUrl = urlRegex.test(url) ? url : 'https://'\n document.execCommand('createLink', false, this.vm.editLinkUrl)\n\n this.save(selection.getRangeAt(0))\n }\n else {\n this.vm.editLinkUrl = link\n\n this.range.selectNodeContents(this.parent)\n this.save()\n }\n\n return\n }\n else if (cmd === 'fullscreen') {\n this.vm.toggleFullscreen()\n done()\n\n return\n }\n else if (cmd === 'viewsource') {\n this.vm.isViewingSource = this.vm.isViewingSource === false\n this.vm.__setContent(this.vm.value)\n done()\n\n return\n }\n\n document.execCommand(cmd, false, param)\n\n done()\n }\n\n selectWord (sel) {\n if (sel === null || sel.isCollapsed !== true || /* IE 11 */ sel.modify === void 0) {\n return sel\n }\n\n // Detect if selection is backwards\n const range = document.createRange()\n range.setStart(sel.anchorNode, sel.anchorOffset)\n range.setEnd(sel.focusNode, sel.focusOffset)\n const direction = range.collapsed ? ['backward', 'forward'] : ['forward', 'backward']\n range.detach()\n\n // modify() works on the focus of the selection\n const\n endNode = sel.focusNode,\n endOffset = sel.focusOffset\n sel.collapse(sel.anchorNode, sel.anchorOffset)\n sel.modify('move', direction[0], 'character')\n sel.modify('move', direction[1], 'word')\n sel.extend(endNode, endOffset)\n sel.modify('extend', direction[1], 'character')\n sel.modify('extend', direction[0], 'word')\n\n return sel\n }\n}\n","const\n toString = Object.prototype.toString,\n hasOwn = Object.prototype.hasOwnProperty,\n class2type = {}\n\n'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(name => {\n class2type['[object ' + name + ']'] = name.toLowerCase()\n})\n\nfunction type (obj) {\n return obj === null ? String(obj) : class2type[toString.call(obj)] || 'object'\n}\n\nfunction isPlainObject (obj) {\n if (!obj || type(obj) !== 'object') {\n return false\n }\n\n if (obj.constructor &&\n !hasOwn.call(obj, 'constructor') &&\n !hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {\n return false\n }\n\n let key\n for (key in obj) {}\n\n return key === undefined || hasOwn.call(obj, key)\n}\n\nexport default function extend () {\n let\n options, name, src, copy, copyIsArray, clone,\n target = arguments[0] || {},\n i = 1,\n deep = false\n const length = arguments.length\n\n if (typeof target === 'boolean') {\n deep = target\n target = arguments[1] || {}\n i = 2\n }\n\n if (Object(target) !== target && type(target) !== 'function') {\n target = {}\n }\n\n if (length === i) {\n target = this\n i--\n }\n\n for (; i < length; i++) {\n if ((options = arguments[i]) !== null) {\n for (name in options) {\n src = target[name]\n copy = options[name]\n\n if (target === copy) {\n continue\n }\n\n if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {\n if (copyIsArray) {\n copyIsArray = false\n clone = src && type(src) === 'array' ? src : []\n }\n else {\n clone = src && isPlainObject(src) ? src : {}\n }\n\n target[name] = extend(deep, clone, copy)\n }\n else if (copy !== undefined) {\n target[name] = copy\n }\n }\n }\n }\n\n return target\n}\n","import Vue from 'vue'\n\nimport { getToolbar, getFonts, getLinkEditor } from './editor-utils.js'\nimport { Caret } from './editor-caret.js'\n\nimport FullscreenMixin from '../../mixins/fullscreen.js'\nimport DarkMixin from '../../mixins/dark.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { isSSR } from '../../plugins/Platform.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport extend from '../../utils/extend.js'\nimport { shouldIgnoreKey } from '../../utils/key-composition.js'\nimport { addFocusFn } from '../../utils/focus-manager.js'\n\nexport default Vue.extend({\n name: 'QEditor',\n\n mixins: [ ListenersMixin, FullscreenMixin, DarkMixin ],\n\n props: {\n value: {\n type: String,\n required: true\n },\n readonly: Boolean,\n disable: Boolean,\n minHeight: {\n type: String,\n default: '10rem'\n },\n maxHeight: String,\n height: String,\n definitions: Object,\n fonts: Object,\n placeholder: String,\n\n toolbar: {\n type: Array,\n validator: v => v.length === 0 || v.every(group => group.length),\n default () {\n return [\n ['left', 'center', 'right', 'justify'],\n ['bold', 'italic', 'underline', 'strike'],\n ['undo', 'redo']\n ]\n }\n },\n toolbarColor: String,\n toolbarBg: String,\n toolbarTextColor: String,\n toolbarToggleColor: {\n type: String,\n default: 'primary'\n },\n toolbarOutline: Boolean,\n toolbarPush: Boolean,\n toolbarRounded: Boolean,\n\n paragraphTag: {\n type: String,\n validator: v => ['div', 'p'].includes(v),\n default: 'div'\n },\n\n contentStyle: Object,\n contentClass: [Object, Array, String],\n\n square: Boolean,\n flat: Boolean,\n dense: Boolean\n },\n\n computed: {\n editable () {\n return !this.readonly && !this.disable\n },\n\n hasToolbar () {\n return this.toolbar && this.toolbar.length > 0\n },\n\n toolbarBackgroundClass () {\n if (this.toolbarBg) {\n return `bg-${this.toolbarBg}`\n }\n },\n\n buttonProps () {\n const flat = this.toolbarOutline !== true &&\n this.toolbarPush !== true\n\n return {\n type: 'a',\n flat,\n noWrap: true,\n outline: this.toolbarOutline,\n push: this.toolbarPush,\n rounded: this.toolbarRounded,\n dense: true,\n color: this.toolbarColor,\n disable: !this.editable,\n size: 'sm'\n }\n },\n\n buttonDef () {\n const\n e = this.$q.lang.editor,\n i = this.$q.iconSet.editor\n\n return {\n bold: { cmd: 'bold', icon: i.bold, tip: e.bold, key: 66 },\n italic: { cmd: 'italic', icon: i.italic, tip: e.italic, key: 73 },\n strike: { cmd: 'strikeThrough', icon: i.strikethrough, tip: e.strikethrough, key: 83 },\n underline: { cmd: 'underline', icon: i.underline, tip: e.underline, key: 85 },\n unordered: { cmd: 'insertUnorderedList', icon: i.unorderedList, tip: e.unorderedList },\n ordered: { cmd: 'insertOrderedList', icon: i.orderedList, tip: e.orderedList },\n subscript: { cmd: 'subscript', icon: i.subscript, tip: e.subscript, htmlTip: 'x2' },\n superscript: { cmd: 'superscript', icon: i.superscript, tip: e.superscript, htmlTip: 'x2' },\n link: { cmd: 'link', disable: vm => vm.caret && !vm.caret.can('link'), icon: i.hyperlink, tip: e.hyperlink, key: 76 },\n fullscreen: { cmd: 'fullscreen', icon: i.toggleFullscreen, tip: e.toggleFullscreen, key: 70 },\n viewsource: { cmd: 'viewsource', icon: i.viewSource, tip: e.viewSource },\n\n quote: { cmd: 'formatBlock', param: 'BLOCKQUOTE', icon: i.quote, tip: e.quote, key: 81 },\n left: { cmd: 'justifyLeft', icon: i.left, tip: e.left },\n center: { cmd: 'justifyCenter', icon: i.center, tip: e.center },\n right: { cmd: 'justifyRight', icon: i.right, tip: e.right },\n justify: { cmd: 'justifyFull', icon: i.justify, tip: e.justify },\n\n print: { type: 'no-state', cmd: 'print', icon: i.print, tip: e.print, key: 80 },\n outdent: { type: 'no-state', disable: vm => vm.caret && !vm.caret.can('outdent'), cmd: 'outdent', icon: i.outdent, tip: e.outdent },\n indent: { type: 'no-state', disable: vm => vm.caret && !vm.caret.can('indent'), cmd: 'indent', icon: i.indent, tip: e.indent },\n removeFormat: { type: 'no-state', cmd: 'removeFormat', icon: i.removeFormat, tip: e.removeFormat },\n hr: { type: 'no-state', cmd: 'insertHorizontalRule', icon: i.hr, tip: e.hr },\n undo: { type: 'no-state', cmd: 'undo', icon: i.undo, tip: e.undo, key: 90 },\n redo: { type: 'no-state', cmd: 'redo', icon: i.redo, tip: e.redo, key: 89 },\n\n h1: { cmd: 'formatBlock', param: 'H1', icon: i.heading1 || i.heading, tip: e.heading1, htmlTip: `

${e.heading1}

` },\n h2: { cmd: 'formatBlock', param: 'H2', icon: i.heading2 || i.heading, tip: e.heading2, htmlTip: `

${e.heading2}

` },\n h3: { cmd: 'formatBlock', param: 'H3', icon: i.heading3 || i.heading, tip: e.heading3, htmlTip: `

${e.heading3}

` },\n h4: { cmd: 'formatBlock', param: 'H4', icon: i.heading4 || i.heading, tip: e.heading4, htmlTip: `

${e.heading4}

` },\n h5: { cmd: 'formatBlock', param: 'H5', icon: i.heading5 || i.heading, tip: e.heading5, htmlTip: `
${e.heading5}
` },\n h6: { cmd: 'formatBlock', param: 'H6', icon: i.heading6 || i.heading, tip: e.heading6, htmlTip: `
${e.heading6}
` },\n p: { cmd: 'formatBlock', param: this.paragraphTag.toUpperCase(), icon: i.heading, tip: e.paragraph },\n code: { cmd: 'formatBlock', param: 'PRE', icon: i.code, htmlTip: `${e.code}` },\n\n 'size-1': { cmd: 'fontSize', param: '1', icon: i.size1 || i.size, tip: e.size1, htmlTip: `${e.size1}` },\n 'size-2': { cmd: 'fontSize', param: '2', icon: i.size2 || i.size, tip: e.size2, htmlTip: `${e.size2}` },\n 'size-3': { cmd: 'fontSize', param: '3', icon: i.size3 || i.size, tip: e.size3, htmlTip: `${e.size3}` },\n 'size-4': { cmd: 'fontSize', param: '4', icon: i.size4 || i.size, tip: e.size4, htmlTip: `${e.size4}` },\n 'size-5': { cmd: 'fontSize', param: '5', icon: i.size5 || i.size, tip: e.size5, htmlTip: `${e.size5}` },\n 'size-6': { cmd: 'fontSize', param: '6', icon: i.size6 || i.size, tip: e.size6, htmlTip: `${e.size6}` },\n 'size-7': { cmd: 'fontSize', param: '7', icon: i.size7 || i.size, tip: e.size7, htmlTip: `${e.size7}` }\n }\n },\n\n buttons () {\n const userDef = this.definitions || {}\n const def = this.definitions || this.fonts\n ? extend(\n true,\n {},\n this.buttonDef,\n userDef,\n getFonts(\n this.defaultFont,\n this.$q.lang.editor.defaultFont,\n this.$q.iconSet.editor.font,\n this.fonts\n )\n )\n : this.buttonDef\n\n return this.toolbar.map(\n group => group.map(token => {\n if (token.options) {\n return {\n type: 'dropdown',\n icon: token.icon,\n label: token.label,\n size: 'sm',\n dense: true,\n fixedLabel: token.fixedLabel,\n fixedIcon: token.fixedIcon,\n highlight: token.highlight,\n list: token.list,\n options: token.options.map(item => def[item])\n }\n }\n\n const obj = def[token]\n\n if (obj) {\n return obj.type === 'no-state' || (userDef[token] && (\n obj.cmd === void 0 || (this.buttonDef[obj.cmd] && this.buttonDef[obj.cmd].type === 'no-state')\n ))\n ? obj\n : Object.assign({ type: 'toggle' }, obj)\n }\n else {\n return {\n type: 'slot',\n slot: token\n }\n }\n })\n )\n },\n\n keys () {\n const\n k = {},\n add = btn => {\n if (btn.key) {\n k[btn.key] = {\n cmd: btn.cmd,\n param: btn.param\n }\n }\n }\n\n this.buttons.forEach(group => {\n group.forEach(token => {\n if (token.options) {\n token.options.forEach(add)\n }\n else {\n add(token)\n }\n })\n })\n return k\n },\n\n innerStyle () {\n return this.inFullscreen\n ? this.contentStyle\n : [\n {\n minHeight: this.minHeight,\n height: this.height,\n maxHeight: this.maxHeight\n },\n this.contentStyle\n ]\n },\n\n classes () {\n return `q-editor q-editor--${this.isViewingSource === true ? 'source' : 'default'}` +\n (this.disable === true ? ' disabled' : '') +\n (this.inFullscreen === true ? ' fullscreen column' : '') +\n (this.square === true ? ' q-editor--square no-border-radius' : '') +\n (this.flat === true ? ' q-editor--flat' : '') +\n (this.dense === true ? ' q-editor--dense' : '') +\n (this.isDark === true ? ' q-editor--dark q-dark' : '')\n },\n\n innerClass () {\n return [\n this.contentClass,\n { col: this.inFullscreen, 'overflow-auto': this.inFullscreen || this.maxHeight }\n ]\n },\n\n attrs () {\n if (this.disable === true) {\n return { 'aria-disabled': 'true' }\n }\n if (this.readonly === true) {\n return { 'aria-readonly': 'true' }\n }\n },\n\n onEditor () {\n return {\n focusin: this.__onFocusin,\n focusout: this.__onFocusout\n }\n }\n },\n\n data () {\n return {\n lastEmit: this.value,\n editLinkUrl: null,\n isViewingSource: false\n }\n },\n\n watch: {\n value (v) {\n if (this.lastEmit !== v) {\n this.lastEmit = v\n this.__setContent(v, true)\n }\n }\n },\n\n methods: {\n __onInput () {\n if (this.$refs.content !== void 0) {\n const val = this.isViewingSource === true\n ? this.$refs.content.innerText\n : this.$refs.content.innerHTML\n\n if (val !== this.value) {\n this.lastEmit = val\n this.$emit('input', val)\n }\n }\n },\n\n __onKeydown (e) {\n this.$emit('keydown', e)\n\n if (e.ctrlKey !== true || shouldIgnoreKey(e) === true) {\n this.refreshToolbar()\n this.$q.platform.is.ie && this.$nextTick(this.__onInput)\n return\n }\n\n const key = e.keyCode\n const target = this.keys[key]\n if (target !== void 0) {\n const { cmd, param } = target\n stopAndPrevent(e)\n this.runCmd(cmd, param, false)\n }\n },\n\n __onClick (e) {\n this.refreshToolbar()\n this.$emit('click', e)\n },\n\n __onBlur (e) {\n if (this.$refs.content !== void 0) {\n const { scrollTop, scrollHeight } = this.$refs.content\n this.__offsetBottom = scrollHeight - scrollTop\n }\n this.$q.platform.is.ie !== true && this.caret.save()\n this.$emit('blur', e)\n },\n\n __onFocus (e) {\n this.$nextTick(() => {\n if (this.$refs.content !== void 0 && this.__offsetBottom !== void 0) {\n this.$refs.content.scrollTop = this.$refs.content.scrollHeight - this.__offsetBottom\n }\n })\n this.$emit('focus', e)\n },\n\n __onFocusin (e) {\n if (\n this.$el.contains(e.target) === true &&\n (\n e.relatedTarget === null ||\n this.$el.contains(e.relatedTarget) !== true\n )\n ) {\n const prop = `inner${this.isViewingSource === true ? 'Text' : 'HTML'}`\n this.caret.restorePosition(this.$refs.content[prop].length)\n this.refreshToolbar()\n }\n },\n\n __onFocusout (e) {\n if (\n this.$el.contains(e.target) === true &&\n (\n e.relatedTarget === null ||\n this.$el.contains(e.relatedTarget) !== true\n )\n ) {\n this.caret.savePosition()\n this.refreshToolbar()\n }\n },\n\n __onMousedown () {\n this.__offsetBottom = void 0\n },\n\n __onMouseup (e) {\n this.caret.save()\n if (this.qListeners.mouseup !== void 0) {\n this.$emit('mouseup', e)\n }\n },\n\n __onKeyup (e) {\n this.caret.save()\n if (this.qListeners.keyup !== void 0) {\n this.$emit('keyup', e)\n }\n },\n\n __onTouchstart () {\n this.__offsetBottom = void 0\n },\n\n __onTouchend (e) {\n this.caret.save()\n if (this.qListeners.touchend !== void 0) {\n this.$emit('touchend', e)\n }\n },\n\n runCmd (cmd, param, update = true) {\n this.focus()\n this.caret.restore()\n this.caret.apply(cmd, param, () => {\n this.focus()\n this.caret.save()\n if (this.$q.platform.is.ie === true || this.$q.platform.is.edge === true) {\n this.$nextTick(this.__onInput)\n }\n if (update) {\n this.refreshToolbar()\n }\n })\n },\n\n refreshToolbar () {\n setTimeout(() => {\n this.editLinkUrl = null\n this.$forceUpdate()\n }, 1)\n },\n\n focus () {\n addFocusFn(() => {\n this.$refs.content !== void 0 && this.$refs.content.focus()\n })\n },\n\n getContentEl () {\n return this.$refs.content\n },\n\n __setContent (v, restorePosition) {\n if (this.$refs.content !== void 0) {\n if (restorePosition === true) {\n this.caret.savePosition()\n }\n\n const prop = `inner${this.isViewingSource === true ? 'Text' : 'HTML'}`\n this.$refs.content[prop] = v\n\n if (restorePosition === true) {\n this.caret.restorePosition(this.$refs.content[prop].length)\n this.refreshToolbar()\n }\n }\n }\n },\n\n created () {\n if (isSSR === false) {\n document.execCommand('defaultParagraphSeparator', false, this.paragraphTag)\n this.defaultFont = window.getComputedStyle(document.body).fontFamily\n }\n },\n\n mounted () {\n this.caret = new Caret(this.$refs.content, this)\n this.__setContent(this.value)\n this.refreshToolbar()\n },\n\n render (h) {\n let toolbars\n\n if (this.hasToolbar) {\n const bars = [\n h('div', {\n key: 'qedt_top',\n staticClass: 'q-editor__toolbar row no-wrap scroll-x',\n class: this.toolbarBackgroundClass\n }, getToolbar(h, this))\n ]\n\n this.editLinkUrl !== null && bars.push(\n h('div', {\n key: 'qedt_btm',\n staticClass: 'q-editor__toolbar row no-wrap items-center scroll-x',\n class: this.toolbarBackgroundClass\n }, getLinkEditor(h, this, this.$q.platform.is.ie))\n )\n\n toolbars = h('div', {\n key: 'toolbar_ctainer',\n staticClass: 'q-editor__toolbars-container'\n }, bars)\n }\n\n const on = {\n ...this.qListeners,\n input: this.__onInput,\n keydown: this.__onKeydown,\n click: this.__onClick,\n blur: this.__onBlur,\n focus: this.__onFocus,\n\n // clean saved scroll position\n mousedown: this.__onMousedown,\n touchstart: this.__onTouchstart,\n\n // save caret\n mouseup: this.__onMouseup,\n keyup: this.__onKeyup,\n touchend: this.__onTouchend\n }\n\n return h('div', {\n style: {\n height: this.inFullscreen === true ? '100vh' : null\n },\n class: this.classes,\n attrs: this.attrs,\n on: this.onEditor\n }, [\n toolbars,\n\n h(\n 'div',\n {\n ref: 'content',\n staticClass: `q-editor__content`,\n style: this.innerStyle,\n class: this.innerClass,\n attrs: {\n contenteditable: this.editable,\n placeholder: this.placeholder\n },\n domProps: isSSR\n ? { innerHTML: this.value }\n : undefined,\n on\n }\n )\n ])\n }\n})\n","import Vue from 'vue'\n\nimport mixin from './spinner-mixin.js'\n\nexport default Vue.extend({\n name: 'QSpinnerDots',\n\n mixins: [mixin],\n\n render (h) {\n return h('svg', {\n staticClass: 'q-spinner',\n class: this.classes,\n on: { ...this.qListeners },\n attrs: {\n focusable: 'false' /* needed for IE11 */,\n 'fill': 'currentColor',\n 'width': this.cSize,\n 'height': this.cSize,\n 'viewBox': '0 0 120 30',\n 'xmlns': 'http://www.w3.org/2000/svg'\n }\n }, [\n h('circle', {\n attrs: {\n 'cx': '15',\n 'cy': '15',\n 'r': '15'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '15',\n 'to': '15',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '15;9;15',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '1',\n 'to': '1',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '1;.5;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '60',\n 'cy': '15',\n 'r': '9',\n 'fill-opacity': '.3'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '9',\n 'to': '9',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '9;15;9',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '.5',\n 'to': '.5',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '.5;1;.5',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ]),\n h('circle', {\n attrs: {\n 'cx': '105',\n 'cy': '15',\n 'r': '15'\n }\n }, [\n h('animate', {\n attrs: {\n 'attributeName': 'r',\n 'from': '15',\n 'to': '15',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '15;9;15',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n }),\n h('animate', {\n attrs: {\n 'attributeName': 'fill-opacity',\n 'from': '1',\n 'to': '1',\n 'begin': '0s',\n 'dur': '0.8s',\n 'values': '1;.5;1',\n 'calcMode': 'linear',\n 'repeatCount': 'indefinite'\n }\n })\n ])\n ])\n }\n})\n","import { render, staticRenderFns } from \"./competitionForm.vue?vue&type=template&id=4d1ee8ec&scoped=true&\"\nimport script from \"./competitionForm.vue?vue&type=script&lang=js&\"\nexport * from \"./competitionForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./competitionForm.vue?vue&type=style&index=0&id=4d1ee8ec&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d1ee8ec\",\n null\n \n)\n\nexport default component.exports\nimport QForm from 'quasar/src/components/form/QForm.js';\nimport QTabs from 'quasar/src/components/tabs/QTabs.js';\nimport QTab from 'quasar/src/components/tabs/QTab.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QSelect from 'quasar/src/components/select/QSelect.js';\nimport QIcon from 'quasar/src/components/icon/QIcon.js';\nimport QBtnDropdown from 'quasar/src/components/btn-dropdown/QBtnDropdown.js';\nimport QList from 'quasar/src/components/item/QList.js';\nimport QItem from 'quasar/src/components/item/QItem.js';\nimport QItemSection from 'quasar/src/components/item/QItemSection.js';\nimport QItemLabel from 'quasar/src/components/item/QItemLabel.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport QImg from 'quasar/src/components/img/QImg.js';\nimport QCard from 'quasar/src/components/card/QCard.js';\nimport QPopupProxy from 'quasar/src/components/popup-proxy/QPopupProxy.js';\nimport QDate from 'quasar/src/components/date/QDate.js';\nimport QTime from 'quasar/src/components/time/QTime.js';\nimport QCheckbox from 'quasar/src/components/checkbox/QCheckbox.js';\nimport QEditor from 'quasar/src/components/editor/QEditor.js';\nimport QTd from 'quasar/src/components/table/QTd.js';\nimport QTooltip from 'quasar/src/components/tooltip/QTooltip.js';\nimport QSpinnerDots from 'quasar/src/components/spinner/QSpinnerDots.js';\nimport QMenu from 'quasar/src/components/menu/QMenu.js';import ClosePopup from 'quasar/src/directives/ClosePopup.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(component, 'components', {QForm,QTabs,QTab,QInput,QSelect,QIcon,QBtnDropdown,QList,QItem,QItemSection,QItemLabel,QBtn,QImg,QCard,QPopupProxy,QDate,QTime,QCheckbox,QEditor,QTd,QTooltip,QSpinnerDots,QMenu});qInstall(component, 'directives', {ClosePopup});\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\nimport QResizeObserver from '../resize-observer/QResizeObserver.js'\n\nimport TimeoutMixin from '../../mixins/timeout.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop, noop } from '../../utils/event.js'\nimport { slot } from '../../utils/slot.js'\nimport cache from '../../utils/cache.js'\n\nfunction getIndicatorClass (color, top, vertical) {\n const pos = vertical === true\n ? ['left', 'right']\n : ['top', 'bottom']\n\n return `absolute-${top === true ? pos[0] : pos[1]}${color ? ` text-${color}` : ''}`\n}\n\nfunction bufferPrioritySort (t1, t2) {\n if (t1.priorityMatched === t2.priorityMatched) {\n return t2.priorityHref - t1.priorityHref\n }\n return t2.priorityMatched - t1.priorityMatched\n}\n\nfunction bufferCleanSelected (t) {\n t.selected = false\n return t\n}\n\nconst\n bufferFilters = [\n t => t.selected === true && t.exact === true && t.redirected !== true,\n t => t.selected === true && t.exact === true,\n t => t.selected === true && t.redirected !== true,\n t => t.selected === true,\n t => t.exact === true && t.redirected !== true,\n t => t.redirected !== true,\n t => t.exact === true,\n t => true\n ],\n bufferFiltersLen = bufferFilters.length\n\nexport default Vue.extend({\n name: 'QTabs',\n\n mixins: [ TimeoutMixin, ListenersMixin ],\n\n provide () {\n return {\n tabs: this.tabs,\n __recalculateScroll: this.__recalculateScroll,\n __activateTab: this.__activateTab,\n __activateRoute: this.__activateRoute\n }\n },\n\n props: {\n value: [Number, String],\n\n align: {\n type: String,\n default: 'center',\n validator: v => ['left', 'center', 'right', 'justify'].includes(v)\n },\n breakpoint: {\n type: [String, Number],\n default: 600\n },\n\n vertical: Boolean,\n shrink: Boolean,\n stretch: Boolean,\n\n activeColor: String,\n activeBgColor: String,\n indicatorColor: String,\n leftIcon: String,\n rightIcon: String,\n\n outsideArrows: Boolean,\n mobileArrows: Boolean,\n\n switchIndicator: Boolean,\n\n narrowIndicator: Boolean,\n inlineLabel: Boolean,\n noCaps: Boolean,\n\n dense: Boolean,\n\n contentClass: String\n },\n\n data () {\n return {\n tabs: {\n current: this.value,\n activeColor: this.activeColor,\n activeBgColor: this.activeBgColor,\n indicatorClass: getIndicatorClass(\n this.indicatorColor,\n this.switchIndicator,\n this.vertical\n ),\n narrowIndicator: this.narrowIndicator,\n inlineLabel: this.inlineLabel,\n noCaps: this.noCaps\n },\n scrollable: false,\n leftArrow: true,\n rightArrow: false,\n justify: false\n }\n },\n\n watch: {\n value (name) {\n this.__activateTab(name, true, true)\n },\n\n activeColor (v) {\n this.tabs.activeColor = v\n },\n\n activeBgColor (v) {\n this.tabs.activeBgColor = v\n },\n\n vertical (v) {\n this.tabs.indicatorClass = getIndicatorClass(this.indicatorColor, this.switchIndicator, v)\n },\n\n indicatorColor (v) {\n this.tabs.indicatorClass = getIndicatorClass(v, this.switchIndicator, this.vertical)\n },\n\n switchIndicator (v) {\n this.tabs.indicatorClass = getIndicatorClass(this.indicatorColor, v, this.vertical)\n },\n\n narrowIndicator (v) {\n this.tabs.narrowIndicator = v\n },\n\n inlineLabel (v) {\n this.tabs.inlineLabel = v\n },\n\n noCaps (v) {\n this.tabs.noCaps = v\n },\n\n outsideArrows () {\n this.$nextTick(this.__recalculateScroll())\n },\n\n arrowsEnabled (v) {\n this.__updateArrows = v === true\n ? this.__updateArrowsFn\n : noop\n\n this.$nextTick(this.__recalculateScroll())\n }\n },\n\n computed: {\n arrowsEnabled () {\n return this.$q.platform.is.desktop === true || this.mobileArrows === true\n },\n\n alignClass () {\n const align = this.scrollable === true\n ? 'left'\n : (this.justify === true ? 'justify' : this.align)\n\n return `q-tabs__content--align-${align}`\n },\n\n classes () {\n return `q-tabs--${this.scrollable === true ? '' : 'not-'}scrollable` +\n ` q-tabs--${this.vertical === true ? 'vertical' : 'horizontal'}` +\n ` q-tabs__arrows--${this.arrowsEnabled === true && this.outsideArrows === true ? 'outside' : 'inside'}` +\n (this.dense === true ? ' q-tabs--dense' : '') +\n (this.shrink === true ? ' col-shrink' : '') +\n (this.stretch === true ? ' self-stretch' : '')\n },\n\n innerClass () {\n return this.alignClass +\n (this.contentClass !== void 0 ? ` ${this.contentClass}` : '') +\n (this.$q.platform.is.mobile === true ? ' scroll' : '')\n },\n\n domProps () {\n return this.vertical === true\n ? { container: 'height', content: 'offsetHeight', scroll: 'scrollHeight' }\n : { container: 'width', content: 'offsetWidth', scroll: 'scrollWidth' }\n },\n\n onEvents () {\n return {\n input: stop,\n ...this.qListeners\n }\n }\n },\n\n methods: {\n __activateTab (name, setCurrent, skipEmit) {\n if (this.tabs.current !== name) {\n skipEmit !== true && this.$emit('input', name)\n if (setCurrent === true || this.qListeners.input === void 0) {\n this.__animate(this.tabs.current, name)\n this.tabs.current = name\n }\n }\n },\n\n __activateRoute (params) {\n if (this.bufferRoute !== this.$route && this.buffer.length > 0) {\n clearTimeout(this.bufferTimer)\n this.bufferTimer = void 0\n this.buffer.length = 0\n }\n this.bufferRoute = this.$route\n\n if (params !== void 0) {\n if (params.remove === true) {\n this.buffer = this.buffer.filter(t => t.name !== params.name)\n }\n else {\n this.buffer.push(params)\n }\n }\n\n if (this.bufferTimer === void 0) {\n this.bufferTimer = setTimeout(() => {\n let tabs = []\n\n for (let i = 0; i < bufferFiltersLen && tabs.length === 0; i++) {\n tabs = this.buffer.filter(bufferFilters[i])\n }\n\n tabs.sort(bufferPrioritySort)\n this.__activateTab(tabs.length === 0 ? null : tabs[0].name, true)\n this.buffer = this.buffer.map(bufferCleanSelected)\n this.bufferTimer = void 0\n }, 1)\n }\n },\n\n __recalculateScroll () {\n this.__nextTick(() => {\n this._isDestroyed !== true && this.__updateContainer({\n width: this.$el.offsetWidth,\n height: this.$el.offsetHeight\n })\n })\n\n this.__prepareTick()\n },\n\n __updateContainer (domSize) {\n const\n size = domSize[this.domProps.container],\n scrollSize = Math.min(\n this.$refs.content[this.domProps.scroll],\n Array.prototype.reduce.call(\n this.$refs.content.children,\n (acc, el) => acc + el[this.domProps.content],\n 0\n )\n ),\n scroll = size > 0 && scrollSize > size // when there is no tab, in Chrome, size === 0 and scrollSize === 1\n\n if (this.scrollable !== scroll) {\n this.scrollable = scroll\n }\n\n // Arrows need to be updated even if the scroll status was already true\n scroll === true && this.$nextTick(() => this.__updateArrows())\n\n const justify = size < parseInt(this.breakpoint, 10)\n\n if (this.justify !== justify) {\n this.justify = justify\n }\n },\n\n __animate (oldName, newName) {\n const\n oldTab = oldName !== void 0 && oldName !== null && oldName !== ''\n ? this.$children.find(tab => tab.name === oldName)\n : null,\n newTab = newName !== void 0 && newName !== null && newName !== ''\n ? this.$children.find(tab => tab.name === newName)\n : null\n\n if (oldTab && newTab) {\n const\n oldEl = oldTab.$el.getElementsByClassName('q-tab__indicator')[0],\n newEl = newTab.$el.getElementsByClassName('q-tab__indicator')[0]\n\n clearTimeout(this.animateTimer)\n\n oldEl.style.transition = 'none'\n oldEl.style.transform = 'none'\n newEl.style.transition = 'none'\n newEl.style.transform = 'none'\n\n const\n oldPos = oldEl.getBoundingClientRect(),\n newPos = newEl.getBoundingClientRect()\n\n newEl.style.transform = this.vertical === true\n ? `translate3d(0,${oldPos.top - newPos.top}px,0) scale3d(1,${newPos.height ? oldPos.height / newPos.height : 1},1)`\n : `translate3d(${oldPos.left - newPos.left}px,0,0) scale3d(${newPos.width ? oldPos.width / newPos.width : 1},1,1)`\n\n // allow scope updates to kick in (QRouteTab needs more time)\n this.$nextTick(() => {\n this.animateTimer = setTimeout(() => {\n newEl.style.transition = 'transform .25s cubic-bezier(.4, 0, .2, 1)'\n newEl.style.transform = 'none'\n }, 70)\n })\n }\n\n if (newTab && this.scrollable === true) {\n const\n { left, width, top, height } = this.$refs.content.getBoundingClientRect(),\n newPos = newTab.$el.getBoundingClientRect()\n\n let offset = this.vertical === true ? newPos.top - top : newPos.left - left\n\n if (offset < 0) {\n this.$refs.content[this.vertical === true ? 'scrollTop' : 'scrollLeft'] += Math.floor(offset)\n this.__updateArrows()\n return\n }\n\n offset += this.vertical === true ? newPos.height - height : newPos.width - width\n if (offset > 0) {\n this.$refs.content[this.vertical === true ? 'scrollTop' : 'scrollLeft'] += Math.ceil(offset)\n this.__updateArrows()\n }\n }\n },\n\n __updateArrowsFn () {\n const\n content = this.$refs.content,\n rect = content.getBoundingClientRect(),\n pos = this.vertical === true ? content.scrollTop : content.scrollLeft\n\n this.leftArrow = pos > 0\n this.rightArrow = this.vertical === true\n ? Math.ceil(pos + rect.height) < content.scrollHeight\n : Math.ceil(pos + rect.width) < content.scrollWidth\n },\n\n __animScrollTo (value) {\n this.__stopAnimScroll()\n this.__scrollTowards(value)\n\n this.scrollTimer = setInterval(() => {\n if (this.__scrollTowards(value)) {\n this.__stopAnimScroll()\n }\n }, 5)\n },\n\n __scrollToStart () {\n this.__animScrollTo(0)\n },\n\n __scrollToEnd () {\n this.__animScrollTo(9999)\n },\n\n __stopAnimScroll () {\n clearInterval(this.scrollTimer)\n },\n\n __scrollTowards (value) {\n const content = this.$refs.content\n let\n pos = this.vertical === true ? content.scrollTop : content.scrollLeft,\n done = false\n const direction = value < pos ? -1 : 1\n\n pos += direction * 5\n if (pos < 0) {\n done = true\n pos = 0\n }\n else if (\n (direction === -1 && pos <= value) ||\n (direction === 1 && pos >= value)\n ) {\n done = true\n pos = value\n }\n\n content[this.vertical === true ? 'scrollTop' : 'scrollLeft'] = pos\n this.__updateArrows()\n return done\n }\n },\n\n activated () {\n this.__recalculateScroll()\n },\n\n created () {\n this.buffer = []\n this.__updateArrows = this.arrowsEnabled === true\n ? this.__updateArrowsFn\n : noop\n },\n\n beforeDestroy () {\n clearTimeout(this.bufferTimer)\n clearTimeout(this.animateTimer)\n },\n\n render (h) {\n const child = [\n h(QResizeObserver, {\n on: cache(this, 'resize', { resize: this.__updateContainer })\n }),\n\n h('div', {\n ref: 'content',\n staticClass: 'q-tabs__content row no-wrap items-center self-stretch hide-scrollbar',\n class: this.innerClass,\n on: this.arrowsEnabled === true ? cache(this, 'scroll', { scroll: this.__updateArrowsFn }) : void 0\n }, slot(this, 'default'))\n ]\n\n this.arrowsEnabled === true && child.push(\n h(QIcon, {\n staticClass: 'q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon',\n class: this.leftArrow === true ? '' : 'q-tabs__arrow--faded',\n props: { name: this.leftIcon || (this.vertical === true ? this.$q.iconSet.tabs.up : this.$q.iconSet.tabs.left) },\n on: cache(this, 'onL', {\n mousedown: this.__scrollToStart,\n touchstart: this.__scrollToStart,\n mouseup: this.__stopAnimScroll,\n mouseleave: this.__stopAnimScroll,\n touchend: this.__stopAnimScroll\n })\n }),\n\n h(QIcon, {\n staticClass: 'q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon',\n class: this.rightArrow === true ? '' : 'q-tabs__arrow--faded',\n props: { name: this.rightIcon || (this.vertical === true ? this.$q.iconSet.tabs.down : this.$q.iconSet.tabs.right) },\n on: cache(this, 'onR', {\n mousedown: this.__scrollToEnd,\n touchstart: this.__scrollToEnd,\n mouseup: this.__stopAnimScroll,\n mouseleave: this.__stopAnimScroll,\n touchend: this.__stopAnimScroll\n })\n })\n )\n\n return h('div', {\n staticClass: 'q-tabs row no-wrap items-center',\n class: this.classes,\n on: this.onEvents,\n attrs: { role: 'tablist' }\n }, child)\n }\n})\n","import Vue from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport RippleMixin from '../../mixins/ripple.js'\nimport ListenersMixin from '../../mixins/listeners.js'\n\nimport { stop } from '../../utils/event.js'\nimport { mergeSlot } from '../../utils/slot.js'\nimport { isKeyCode } from '../../utils/key-composition.js'\n\nlet uid = 0\n\nexport default Vue.extend({\n name: 'QTab',\n\n mixins: [ RippleMixin, ListenersMixin ],\n\n inject: {\n tabs: {\n default () {\n console.error('QTab/QRouteTab components need to be child of QTabs')\n }\n },\n __activateTab: {},\n __recalculateScroll: {}\n },\n\n props: {\n icon: String,\n label: [Number, String],\n\n alert: [Boolean, String],\n alertIcon: String,\n\n name: {\n type: [Number, String],\n default: () => `t_${uid++}`\n },\n\n noCaps: Boolean,\n\n tabindex: [String, Number],\n disable: Boolean,\n\n contentClass: String\n },\n\n computed: {\n isActive () {\n return this.tabs.current === this.name\n },\n\n classes () {\n return {\n [`q-tab--${this.isActive ? '' : 'in'}active`]: true,\n [`text-${this.tabs.activeColor}`]: this.isActive && this.tabs.activeColor,\n [`bg-${this.tabs.activeBgColor}`]: this.isActive && this.tabs.activeBgColor,\n 'q-tab--full': this.icon && this.label && !this.tabs.inlineLabel,\n 'q-tab--no-caps': this.noCaps === true || this.tabs.noCaps === true,\n 'q-focusable q-hoverable cursor-pointer': !this.disable,\n disabled: this.disable\n }\n },\n\n innerClass () {\n return (this.tabs.inlineLabel === true ? 'row no-wrap q-tab__content--inline' : 'column') +\n (this.contentClass !== void 0 ? ` ${this.contentClass}` : '')\n },\n\n computedTabIndex () {\n return this.disable === true || this.isActive === true ? -1 : this.tabindex || 0\n },\n\n onEvents () {\n return {\n input: stop,\n ...this.qListeners,\n click: this.__activate,\n keyup: this.__onKeyup\n }\n },\n\n attrs () {\n const attrs = {\n tabindex: this.computedTabIndex,\n role: 'tab',\n 'aria-selected': this.isActive\n }\n\n if (this.disable === true) {\n attrs['aria-disabled'] = 'true'\n }\n\n return attrs\n }\n },\n\n methods: {\n __activate (e, keyboard) {\n keyboard !== true && this.$refs.blurTarget !== void 0 && this.$refs.blurTarget.focus()\n\n if (this.disable !== true) {\n this.qListeners.click !== void 0 && this.$emit('click', e)\n this.__activateTab(this.name)\n }\n },\n\n __onKeyup (e) {\n isKeyCode(e, 13) === true && this.__activate(e, true)\n },\n\n __getContent (h) {\n const\n narrow = this.tabs.narrowIndicator,\n content = [],\n indicator = h('div', {\n staticClass: 'q-tab__indicator',\n class: this.tabs.indicatorClass\n })\n\n this.icon !== void 0 && content.push(\n h(QIcon, {\n staticClass: 'q-tab__icon',\n props: { name: this.icon }\n })\n )\n\n this.label !== void 0 && content.push(\n h('div', {\n staticClass: 'q-tab__label'\n }, [ this.label ])\n )\n\n this.alert !== false && content.push(\n this.alertIcon !== void 0\n ? h(QIcon, {\n staticClass: 'q-tab__alert-icon',\n props: {\n color: this.alert !== true\n ? this.alert\n : void 0,\n name: this.alertIcon\n }\n })\n : h('div', {\n staticClass: 'q-tab__alert',\n class: this.alert !== true\n ? `text-${this.alert}`\n : null\n })\n )\n\n narrow === true && content.push(indicator)\n\n const node = [\n h('div', { staticClass: 'q-focus-helper', attrs: { tabindex: -1 }, ref: 'blurTarget' }),\n\n h('div', {\n staticClass: 'q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable',\n class: this.innerClass\n }, mergeSlot(content, this, 'default'))\n ]\n\n narrow === false && node.push(indicator)\n\n return node\n },\n\n __renderTab (h, tag, props) {\n const data = {\n staticClass: 'q-tab relative-position self-stretch flex flex-center text-center',\n class: this.classes,\n attrs: this.attrs,\n directives: this.ripple !== false && this.disable === true ? null : [\n { name: 'ripple', value: this.ripple }\n ],\n [ tag === 'div' ? 'on' : 'nativeOn' ]: this.onEvents\n }\n\n if (props !== void 0) {\n data.props = props\n }\n\n return h(tag, data, this.__getContent(h))\n }\n },\n\n mounted () {\n this.__recalculateScroll()\n },\n\n beforeDestroy () {\n this.__recalculateScroll()\n },\n\n render (h) {\n return this.__renderTab(h, 'div')\n }\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.italics` method\n// https://tc39.es/ecma262/#sec-string.prototype.italics\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {\n italics: function italics() {\n return createHTML(this, 'i', '', '');\n }\n});\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.bold` method\n// https://tc39.es/ecma262/#sec-string.prototype.bold\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, {\n bold: function bold() {\n return createHTML(this, 'b', '', '');\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vue-cli-plugin-quasar/lib/loader.auto-import.js?kebab!../../../node_modules/cache-loader/dist/cjs.js??ref--0-1!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./competitionForm.vue?vue&type=style&index=0&id=4d1ee8ec&lang=scss&scoped=true&\""],"sourceRoot":""}