{"version":3,"sources":["webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/slider/Slider.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/main.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/messages/index.js","webpack:///./src/components/kendo/templates/CheckboxTemplate.vue?9810","webpack:///./src/components/searches/SearchesPanel.vue?26fe","webpack:///./src/config/label-filtros.js","webpack:///./src/services/searches/getBusquedas.js","webpack:///./src/services/searches/deleteBusqueda.js","webpack:///src/components/searches/SearchesPanel.vue","webpack:///./src/components/searches/SearchesPanel.vue?28f7","webpack:///./src/components/searches/SearchesPanel.vue","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/BooleanFilter.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Expression.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/TextFilter.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNavigationButton.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/constants.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/EnumFilter.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/GridPagerSettings.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderThElement.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/utils/index.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/NumericTextBox.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/operators.js","webpack:///./src/components/kendo/templates/FechaTemplate.vue?a639","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Filter.js","webpack:///./src/components/kendo/templates/UrlTemplate.vue?87d6","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioButton.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/main.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/TableKeyboardNavigation.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/index.js","webpack:///./src/components/KendoGridComponent.vue?5b61","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/GridNav.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/utils/index.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/messages/index.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridSelectionCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridHierarchyCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailHierarchyCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridEditCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/utils/browser-support.service.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/Header.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/interfaces/GridSortSettings.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResizer.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnDraggable.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItem.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemGroup.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuSort.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemContent.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/filterCommon.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterUI.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilter.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenuContent.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenu.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/HeaderRow.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridFilterCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/FilterRow.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/GroupingIndicator.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/GroupPanel.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/footer/Footer.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/footer/FooterRow.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/VirtualScroll.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResize.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/CommonDragLogic.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/DragClue.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/drag/DropClue.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridGroupCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridRow.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderSelectionCell.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/GridNoRecords.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/package-metadata.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/Grid.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridDetailRow.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/GridToolbar.js","webpack:///./node_modules/@progress/kendo-vue-grid/dist/es/main.js","webpack:///./src/components/kendo/ColumnMenu.vue?849f","webpack:///src/components/kendo/ColumnMenu.vue","webpack:///./src/components/kendo/ColumnMenu.vue?77d9","webpack:///./src/components/kendo/ColumnMenu.vue","webpack:///./src/config/grid-kendo.js","webpack:///./src/components/ActionCell.vue?de81","webpack:///src/components/ActionCell.vue","webpack:///./src/components/ActionCell.vue?849b","webpack:///./src/components/ActionCell.vue","webpack:///./src/components/kendo/templates/CheckboxTemplate.vue?fa49","webpack:///src/components/kendo/templates/CheckboxTemplate.vue","webpack:///./src/components/kendo/templates/CheckboxTemplate.vue?cad0","webpack:///./src/components/kendo/templates/CheckboxTemplate.vue","webpack:///./src/components/kendo/templates/FechaTemplate.vue?04c1","webpack:///src/components/kendo/templates/FechaTemplate.vue","webpack:///./src/components/kendo/templates/FechaTemplate.vue?8e56","webpack:///./src/components/kendo/templates/FechaTemplate.vue","webpack:///./src/components/kendo/templates/TagsTemplate.vue?ea47","webpack:///src/components/kendo/templates/TagsTemplate.vue","webpack:///./src/components/kendo/templates/TagsTemplate.vue?2d71","webpack:///./src/components/kendo/templates/TagsTemplate.vue","webpack:///./src/components/kendo/templates/UrlTemplate.vue?f6df","webpack:///src/components/kendo/templates/UrlTemplate.vue","webpack:///./src/components/kendo/templates/UrlTemplate.vue?1037","webpack:///./src/components/kendo/templates/UrlTemplate.vue","webpack:///./src/components/kendo/templates/ListTemplate.vue?7c27","webpack:///src/components/kendo/templates/ListTemplate.vue","webpack:///./src/components/kendo/templates/ListTemplate.vue?6575","webpack:///./src/components/kendo/templates/ListTemplate.vue","webpack:///./src/components/kendo/templates/GroupsTemplate.vue?0edc","webpack:///src/components/kendo/templates/GroupsTemplate.vue","webpack:///./src/components/kendo/templates/GroupsTemplate.vue?e464","webpack:///./src/components/kendo/templates/GroupsTemplate.vue","webpack:///./src/components/kendo/DetailComponent.vue?baf7","webpack:///src/components/kendo/DetailComponent.vue","webpack:///./src/components/kendo/DetailComponent.vue?0617","webpack:///./src/components/kendo/DetailComponent.vue","webpack:///src/components/KendoGridComponent.vue","webpack:///./src/components/KendoGridComponent.vue?dc43","webpack:///./src/components/KendoGridComponent.vue","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInput.js","webpack:///./src/components/ActionCell.vue?366e","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/result.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/stream.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/parsers.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/combinators.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/masking.service.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/utils.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/MaskedTextBox.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/virtualization/columns.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/package-metadata.js","webpack:///./src/components/kendo/templates/GroupsTemplate.vue?fabb","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/NumericFilter.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/Pager.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerPageSizes.js","webpack:///./src/components/searches/CreateSearchDialog.vue?84d4","webpack:///./src/services/searches/guardarBusqueda.js","webpack:///src/components/searches/CreateSearchDialog.vue","webpack:///./src/components/searches/CreateSearchDialog.vue?6c39","webpack:///./src/components/searches/CreateSearchDialog.vue","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/messages/index.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/index.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/checkbox/Checkbox.js","webpack:///./src/components/kendo/templates/TagsTemplate.vue?7ba1","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioGroup.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/input/Input.js","webpack:///./node_modules/@progress/kendo-vue-inputs/dist/es/slider/SliderLabel.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/messages/index.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/settings.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListContainer.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListFilter.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/utils.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListDefaultItem.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListItem.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/List.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/VirtualScroll.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/Navigation.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/package-metadata.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/DropDownBase.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/DropDownList/DropDownList.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/SearchBar.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ClearButton.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/ComboBox/ComboBox.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/AutoComplete/AutoComplete.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/TagList.js","webpack:///./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/MultiSelect.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/utils.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-descriptor.interface.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/funcs.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/filter-serialization.common.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/filtering/filter.operators.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/accessor.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/odata.operators.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/mvc/operators.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/mvc/deserialization.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/sorting/sort-array.operator.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/transducers.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/grouping/aggregate.operators.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-no-eval.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-expression.factory.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/grouping/group.operators.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/sorting/sort.js","webpack:///./node_modules/@progress/kendo-data-query/dist/es/array.operators.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNumericButtons.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/utils.js","webpack:///./src/components/GroupsTags.vue?9929","webpack:///src/components/GroupsTags.vue","webpack:///./src/components/GroupsTags.vue?494d","webpack:///./src/components/GroupsTags.vue","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInfo.js","webpack:///./src/components/KendoGridComponent.vue?30f8","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupFilters.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/DateFilter.js","webpack:///./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupToolbar.js"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","allVue","gh","h","ref","inject","Boolean","_a","pagerInfo","pagerFirstPage","pagerPreviousPage","pagerNextPage","pagerLastPage","pagerItemPerPage","pagerPage","pagerOf","pagerTotalPages","filterEqOperator","filterNotEqOperator","filterIsNullOperator","filterIsNotNullOperator","filterIsEmptyOperator","filterIsNotEmptyOperator","filterStartsWithOperator","filterContainsOperator","filterNotContainsOperator","filterEndsWithOperator","filterGteOperator","filterGtOperator","filterLteOperator","filterLtOperator","filterIsTrue","filterIsFalse","filterAfterOrEqualOperator","filterAfterOperator","filterBeforeOperator","filterBeforeOrEqualOperator","filterAndLogic","filterOrLogic","filterAddExpression","filterAddGroup","filterClose","columnMenuFilterClearButton","columnMenuFilterSubmitButton","columnMenuFilterTitle","columnMenuSortAscending","columnMenuSortDescending","columnMenuFilterEqOperator","columnMenuFilterNotEqOperator","columnMenuFilterIsNullOperator","columnMenuFilterIsNotNullOperator","columnMenuFilterIsEmptyOperator","columnMenuFilterIsNotEmptyOperator","columnMenuFilterStartsWithOperator","columnMenuFilterContainsOperator","columnMenuFilterNotContainsOperator","columnMenuFilterEndsWithOperator","columnMenuFilterGteOperator","columnMenuFilterGtOperator","columnMenuFilterLteOperator","columnMenuFilterLtOperator","columnMenuFilterIsTrue","columnMenuFilterAfterOrEqualOperator","columnMenuFilterAfterOperator","columnMenuFilterBeforeOperator","columnMenuFilterBeforeOrEqualOperator","columnMenuFilterAndLogic","columnMenuFilterOrLogic","sortAriaLabel","filterAriaLabel","messages","render","_vm","_h","$createElement","_c","_self","attrs","panelOpen","on","togglePanel","slot","staticClass","_v","_l","search","key","id","name","tags","applySearch","deleteSearch","$t","staticRenderFns","LABEL_FILTROS","idVista","label","i18n","async","getBusquedas","params","req","url","method","res","axiosInstance","data","deleteBusqueda","headers","props","type","default","vuexnamespace","isOpen","labelFiltros","searches","values","value","watch","handler","mounted","computed","emptySearches","methods","updateData","IdVista","setTimeout","response","element","tag","filtro","actualTag","console","panelOpenHandler","idBusqueda","component","BooleanFilter","filter","required","dataItems","Array","defaultItem","currentData","text","setup","v3","undefined","createElement","$props","onFilterchange","handleFilterChange","event","$emit","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","Expression","emits","change","remove","fields","kendoLocalizationService","_this","field","find","f","locService","operators","map","o","toLanguageString","defaultRendering","filterEditors","filterName","filterRender","onInputChange","template","additionalProps","additionalListeners","filterchange","keyboardNavigation","textField","onChange","onFieldChange","operator","onOperatorChange","title","icon","look","onClick","onFilterRemove","nextFieldName","nextField","prevFilter","some","nextFilter","triggerOnFilterChange","prevFilterNoValue","changeEvent","target","removeEvent","TextFilter","onInput","PagerNavigationButton","String","page","Number","kendoIntlService","changePage","preventDefault","href","_b","__spreadArrays","il","r","k","a","j","jl","KEYBOARD_NAV_DATA_LEVEL","KEYBOARD_NAV_DATA_SCOPE","KEYBOARD_NAV_DATA_HEADER","KEYBOARD_NAV_DATA_BODY","KEYBOARD_NAV_DATA_ID","KEYBOARD_NAV_FILTER_COL_SUFFIX","FOCUSABLE_ELEMENTS_BASE","FOCUSABLE_ELEMENTS","TABBABLE_ELEMENTS","selector","EnumFilter","locData","item","normalizeSettings","buttonCount","info","_d","_e","pageSizes","_f","previousNext","_g","responsive","pagerRender","normalize","settings","HeaderThElement","keydown","ariaSort","validator","includes","ariaLabel","ariaColumnIndex","ariaSelected","colSpan","rowSpan","role","columnId","navigatable","getKeyboardNavigationAttributes","className","style","navAttrs","defaultSlot","tabIndex","onKeydown","onKeyDown","DEFAULT_NUMBER","MAX_DECIMAL","MIN_DECIMAL","ONE_NUMBER","ZERO_NUMBER","DIGITS_REGEX","getStateOrPropsValue","stateValue","formatValue","format","intlService","formatNumber","increaseValue","newState","step","min","max","increasedValue","rangeValue","eventValue","currentLooseValue","selectionStart","selectionEnd","getLastNumberIndex","decreaseValue","decreasedValue","getMaxCursorPosition","nextValue","formatInfo","formatSuffixIndex","findIndex","currSuffix","suffix","getMinCursorPosition","formatPrefixIndex","currPrefix","prefix","rangeSelection","nextLooseValue","maxPosition","minPosition","setSelection","newIndex","setInvalid","parseNumber","prevLooseValue","valueIsCorrected","isMinusSymbolAdded","symbols","newText","oldText","split","minusSign","isDecimalDuplicated","decimal","getFormatPrefixSufix","positiveResult","negativeResult","zeroResult","oneResult","positivePrefix","getPrefix","negativePrefix","zeroPrefix","onePrefix","positiveSuffix","getSuffix","negativeSuffix","zeroSuffix","oneSuffix","positiveInfo","negativeInfo","zeroInfo","oneInfo","getFormatSymbols","numberSymbols","sanitizeRegex","RegExp","group","resultWithDuplicates","result","replace","join","x","getInitialPosition","decimalIdex","reverseString","str","reverse","inputRegex","reversedString","getFirstNumberIndex","getDecimalCount","currentDecimalPlace","changeBasedSelection","currentValue","selectionPosition","isDelete","isCurrentLeadingZero","isNextLeadingZero","numberCounter","idx","test","charAt","newSelection","sanitizeNumber","state","restrictedSymbols","currentLooseValueAsString","prevLooseValueAsString","sanitizeGroupRegex","allSymbolsRegex","sanitizedString","numberStart","numberEnd","decimalIndex","sanitizedFormattedString","substring","formattedMax","maxDecimalIndex","maxDecimalCount","formattedMin","minDecimalIndex","minDecimalCount","isFormatContainPrefixSuffix","nestedInfo","isPaste","currentNumberStart","oldNumberStart","valueCandidate","currentLastNumberIndex","percentSign","numericSymbols","formatInfoIndex","prefixIndex","suffixIndex","prefixFound","suffixFound","prefixGap","suffixGap","isSpecialSymbolDeleted","currentDecimalCount","endsOnDecimal","valueUntillDecimal","looseDecimalPlace","VALIDATION_MESSAGE","NumericTextBox","model","inheritAttrs","modelValue","defaultValue","accessKey","placeholder","spinners","disabled","dir","validationMessage","validityStyles","valid","hasMounted","isInvalid","isEmpty","valueDuringOnChange","decimalSelect","focused","forceUpdate","created","_textBeforeInput","_inputId","$data","_intl","_symbols","_input","inputRef","$refs","input","_elementWrapper","elementWrapperRef","elementWrapper","setValidity","updated","document","activeElement","computedValue","get","looseValue","spanClassNames","isValid","validity","compValue","wrapperClassNames","customError","valueIsOutOfRange","valueMissing","focus","emitFocus","_prevLooseValue","emitBlur","handleFocus","_","handleBlur","setCustomValidity","getCurrentState","_isPaste","elementChange","triggerChange","formattedValue","rangedValue","wrapper","shouldFireEvent","onPasteHandler","_event","increase","decrease","wheel","deltaY","keyDown","keyCode","slice","spinnersWrapperMouseDown","inputId","localizationService","numerictextbox","el","inputType","spellCheck","autoComplete","autoCorrect","domProps","onWheel","onFocus","onBlur","onPaste","onMousedown","onFocusin","onFocusout","textOperators","numericOperators","dateOperators","booleanOperators","stringOperator","Operators","defineProperty","enumerable","configurable","unaryOperator","RadioButton","ariaDescribedBy","checked","labelRender","labelPlacement","blur","calculatedId","inputClassName","focusElement","handleChange","renderedLabel","renderTemplate","radioButtonLabel","userSelect","radio","$attrs","TableKeyboardNavigationProvider","provide","scope","kbContext","navigation","onNavMount","onComponentDidMount","onGetSnapshotBeforeUpdate","onComponentDidUpdate","onNavFocus","onNavKeyDown","generateMatrix","activeId","level","activeElementIsFocused","prevNavigationIndexes","idPrefix","navigationMatrix","lastHeaderIndex","elementId","options","firstId","firstIdElement","getActiveElement","setAttribute","getNavigatableId","defaultPrevented","focusedElement","getClosestScope","prevElement","onNavigationAction","esc","dataLevel","getNavigatableLevel","matrix","enter","navigatableElement","getNavigatableElement","elementForFocus","getFocusableElements","up","down","left","right","isReverse","isVertical","currentIdIndexes","rowIndex","cellIndex","idForFocus","currentIndexes","getClosestNavigatableElement","thead","tbody","headerRows","from","children","bodyRows","forEach","row","cell","cellId","cellSpan","depth","maxDepth","freeSlotIndex","mi","loading","$event","spanish","dataResult","kendo","columns","sortable","filterable","groupable","skip","take","sort","selectedField","detail","datastatechange","columnreorder","selectionchange","sortchange","headerselectionchange","expandchange","scopedSlots","_u","fn","dataItem","aggregates","class","actionSelected","expanded","rowType","columnIndex","columnsCount","clickHandler","column","menuColumns","onClosemenu","columnssubmit","_s","noRecords","GridNav","handleDispatchFocus","$el","getLeafDataItems","componentId","_gridId","defaultSlots","STRING","getNestedValue","fieldName","path","flatData","output","footer","dataIndex","groupDefined","maxLevel","items","Math","index","isRtl","getComputedStyle","direction","getIndex","parent","originalEvent","elementFromPoint","clientX","clientY","parentElement","GridColumnDefaults","editable","resizable","reorderable","nextColumn","current","currentDepth","next","mapColumns","columnsMap","q","parentIndex","needKFirst","kFirst","push","stickyLeftWidth","fill","width","locked","parseFloat","toString","stickyRightWidth","rightBorder","readColumns","newColumns","oldColumns","idInfo","sameLength","columnProps","oldColumn","notHiddenChildren","hidden","c","filterCell","orderIndex","generateNavigatableId","prevId","declarationIndex","isAccessible","comparator","b","ret_1","flat_1","cols","pIndex","autoGenerateColumns","expandField","propData","isArray","warn","itemForColumnsGen","getOwnPropertyNames","hasParentFooterCell","footerCell","footerColumns","parsers","intl","toLowerCase","parseDate","GridSelectionCell","Function","isSelected","editor","cellkeydown","triggerKeydown","handleOnChange","GridHierarchyCell","expanded_1","ev","click","GridDetailHierarchyCell","GridDetailCell","ariaColIndex","detailRender","args","GridEditCell","edit","add","cancel","save","triggerEdit","triggerAdd","triggerCancel","triggerSave","triggerRemove","changeHandler","valueAsDate","getDocument","BrowserSupportService","scrollbar","div","cssText","innerHTML","body","appendChild","offsetWidth","scrollWidth","removeChild","Header","staticHeaders","headerRow","columnResize","draggable","divStyle","headerWrap","table","wrapperClass","headerWrapRef","tableRef","colGroupHeader","colGroupHeaderRef","scrollbarWidth","rtl","setIsRtl","padding","setScrollLeft","scrollLeft","setWidth","_i","allowUnsort","mode","ColumnResizer","drag","release","resizeStyle","cursor","display","height","position","top","onDrag","onRelease","ColumnDraggable","onPress","GridHeaderCell","textInCell","GridColumnMenuItem","iconClass","selected","tabindex","GridColumnMenuItemGroup","groupPanelEmpty","filterClearButton","filterSubmitButton","filterTitle","sortAscending","sortDescending","searchPlaceholder","filterCheckAll","filterChooseOperator","filterSelectedItems","pagerMessagesMap","pagerMessageKey","messageKey","_match","toUpperCase","defaultMessage","ASC_DIR","DESC_DIR","sortSeqMap","true","false","sortedAsc","sortedIndex","sortedDesc","GridColumnMenuSort","onAscClick","onSort","onDescClick","selectedDir","oldDescriptor","d","newDescriptor","currentSortIndex","onMenuitemclick","GridColumnMenuItemContent","show","appear","filterLogicList","IsUnaryFilter","operatorMap","iterable","service","defaultBooleanOperator","booleanFilterValues","defaultHideSecondFilter","numeric","date","boolean","cellInputChange","defaultOperator","getDefaultOperator","filterType","filterOperators","getFilterType","cellBoolDropdownChange","cellOperatorChange","GridColumnMenuFilterCell","Date","booleanValues","inputChange","operatorChange","operatorValue","boolDropdownChange","ddlValue","filterComponent","noFilterSet_1","GridColumnMenuFilterUI","firstFilterProps","secondFilterProps","logicValue","logicData","hideSecondFilter","filterIndex","logicChange","firstField","firstValue","firstOperator","firstBooleanValues","firstFilterType","secondField","secondValue","secondOperator","secondBooleanValues","secondFilterType","onFiltercellfocus","logicchange","rootFilterOrDefault","rootFilter","filters","logic","compositeFilters","nf","GridColumnMenuFilter","filterUI","currentExpanded","filterGroup","splice","removeGroup","groupIndex","insertGroup","isControlled","onFilterExpand","filterChangeHandler","filterChange","firstFilterChange","secondFilterChange","clear","rootFilters","currentFilterGroup","submit","updatedFilter","_this2","currentHideSecondFilter","currentOperators","firstFilterCellProps","secondFilterCellProps","filterLogic","logicProps","isFilterValid","expandState","onSubmit","onReset","onFilteruifocus","onLogicChange","ColumnMenuContent","closeMenu","expandChange","sortChange","contentKeyDown","onSortchange","onFilterfocus","onExpandchange","closemenu","ColumnMenu","animate","opened","blurTimeout","_anchor","currentOpen","newOpened","$nextTick","_content","content","focusableElements","focusable","clearTimeout","anchorClick","ls","kendoAnchorRef","anchor","outline","onContentfocus","ariaSortMap","HeaderRow","grid","cellRender","filterRow","columnMenu","columnMenuAnimate","columnMenuOpened","serviceIndex","_element","cellClick","bind","pressHandler","dragHandler","releaseHandler","selectionChangeHandler","sortChangeHandler","cellClass","headerClassName","customClass","descriptor","cellKeyDown","altKey","getTemplate","columnMenuClose","theadClasses","cells","rowIndexes","sortIndex","sortDir","sortIconRenderer","iconSortIndex","sortIcon","columnMenuRender","ariaAttrs","onClose","internalHeaderCell","selectionValue","headerSelectionValue","headerCell","onHeadercellclick","onSelectionchange","onResize","end","_this3","onPressHandler","onDragHandler","onReleaseHandler","GridFilterCell","selectedOperator","renderOperatorEditor","iconClassName","popupSettings","gridListeners","cellRenderFunction","FilterRow","headerCellClassName","setFilter","oldFilters","filtersResult","activeFilterValueFor","found","activeOperatorFor","filterCells","onChangeFn","getFilterColumnId","GroupingIndicator","indicatorContainerRef","indicatorContainer","press","groupRemove","GroupPanel","resolveTitle","onGroupRemove","newGroups","onGroupSortChange","groupDesc","groupsProp","groups","onRemove","onSortChange","Footer","tableWidth","tableStyle","colGroupFooter","_footerWrap","footerWrapRef","footerWrap","FooterRow","columnStyles","renderCell","footerCellRendering","stickyClassName","tdClassName","footerClassName","defaultStyle","VirtualScroll","cached","containerHeight","topCacheCount","attendedSkip","propsSkip","total","scrollableVirtual","realSkip","pageSize","heightContainer","prevScrollPos","tableTranslate","scrollSyncing","scrollHandler","allRows","tableBody","accumulate","scrollHeight","line","acc","PageChange","translate","dY","transform","syncScroll","container","syncTimeout","scrollTop","rowHeights","percentage","targetFloorScrollPosition","floor","reset","localScrollUp","heights","targetTranslate","rowsCount","additionalOnTop","localScrollDown","scrollNonStrict","floatRowIndex","rowpercentage","microAdjust","rowIndexOffset","prev","ColumnResize","triggerResize","dragCue","stopPropagation","stopImmediatePropagation","tdElement","newWidth","oldWidth","clientWidth","getBoundingClientRect","abs","fixateInitialWidths","setWidths","remainingCount","colGroupMain","perCol","col","coef","indexInOriginal","toAdjust","more","cc","colToAdjust","targetWidth","minResizableWidth","updateColElements","affectedColumns","difference","colIndex","currentColumnFloatWidth","currentWidth","CommonDragLogic","columnReorder","groupReorder","columnToGroup","dropElementClue","dragElementClue","startColumn","startGroup","currentColumn","currentGroup","groupPanelDivElement","refGroupPanelDiv","refDropElementClue","refDragElementClue","isTouch","getColumnIndex","getGroupIndex","invalidIndex","targetElement","updateDragElementClue","updateDropElementClue","prevColumnIndex","nextColumnIndex","prevGroupIndex","nextGroupIndex","visible","_loop_1","parentNode","this_1","state_1","innerText","pageY","pageX","status","rect","clientHeight","DragClue","zIndex","DropClue","GridCell","cellclick","triggerClick","dataAsString","GridGroupCell","GridRow","isAltRow","isHidden","rowHeight","ariaRowIndex","handleClick","handleDoubleClick","onDblclick","visibility","swapDefaultSlots","GridHeaderSelectionCell","changeHandle","GridNoRecords","noRecordsMessage","packageMetadata","productName","productCodes","publishDate","version","licensingDocsUrl","_typeof3","obj","Symbol","iterator","constructor","markRaw","Grid","alternatePerGroup","columnVirtualization","filterCellRender","headerCellRender","pageable","rowRender","editField","scrollable","pager","dataItemKey","context","oldValue","onSkipChanged","onTotalChanged","onRowHeightChanged","initialHeight","_columns","enabled","vs","dragLogic","_columnsMap","_header","_footer","forceUpdateTimeout","setRefs","destroyed","gridUnmounted","unmounted","getCorrectHeight","getColumns","shuffledColumns","sanitize","elementString","gridNavRef","gridNav","groupPanelDiv","groupPanelDivRef","dropElementClueRef","dragElementClueRef","colGroupRef","colGroup","headerRef","header","footerRef","scrollContainerRef","scrollContainer","scrollTableRef","scrollTable","resetTableWidth","scrollTableBodyRef","scrollTableBody","resetVirtual","pageChangeHandler","_oldValue","_value","$forceUpdate","currentTarget","rowClick","getArguments","rowDoubleClick","itemChange","cellClickHandler","cellKeydownHandler","editHandler","removeHandler","saveHandler","cancelHandler","startColIndex","endColIndex","startRowIndex","endRowIndex","ctrlKey","shiftKey","metaKey","isDrag","onHeaderSelectionChangeHandler","raiseDataEvent","groupChangeHandler","moreData","getDataState","spliced","eventColumnProps","prevIndex","nextIndex","totalWidth","colElements","round","initColumns","columnElements","groupCount","getIdPrefix","currentColumns","that_1","internalCell","defaultServiceProps","columnIndexOffset","unshift","findColumnByField","columnFound","searchColumn","gridData","groupingFooter","resolvedGroupsCount","notHiddenColumns","toolbar","child","componentOptions","columnsWithColGroup","groupingPanel","onGroupChange","clues","onFilterChange","vnodeDataStyle","$vnode","widthProp","elementInlineStyleWidth","tableViewPortWidth","colSpans","isColHidden","hiddenColumns","dataRow","rowId","rowDataIndex","isInEdit","selectedValue","columnCellRenderFunction","currentColumnIsInEdit","inEdit","onEdit","onSave","onCancel","inbuiltSlot","onCellclick","onCellkeydown","hiddenRows","shift","currentAriaRowIndex","detailRenderFunction","absoluteDataIndex","rowIndexStart","detailRowCount","isAlt","absoluteIndex","detailRowId","detailColspan","rowRenderFunction","onRowclick","onRowdblclick","pagerTemplate","defaultPagerRendering","onPagesizechange","onPagechange","messagesMap","pagesizechange","pagechange","sorted","colGroups","wrapperStyle","tableLayout","onScroll","isArrayEqual","firstArray","secondArray","every","ex","GridToolbar","vue","window","onMenuItemClick","columnsExpanded","oneVisibleColumn","onToggleColumn","lockUnlockColum","filterExpanded","components","numLocked","onFilterExpandChange","esMessages","datepicker","toggleCalendar","calendar","today","dateinput","increment","decrement","pagerItems","pagerItemsPerPage","filterBooleanAll","filterFilterButton","lock","onCellFocusOut","onClickAction","buttonName","mouseOverPopup","action","onFocusOut","onMouseEnter","nestedValue","renderArrow","formatDate","isDate","tagsValues","formatTags","isEmptyArray","goToUrl","GroupsTags","products","Accion","Estado","Error","getFilteredProducts","loadMessages","localization","Loading","custom","CheckboxTemplate","FechaTemplate","TagsTemplate","UrlTemplate","GroupsTemplate","ListTemplate","DetailComponent","darkMode","noMenuColumns","isLower1024","numDynamicColumns","widthStaticColumns","setExpandChange","rowclick","handleResize","PagerInput","totalPages","currentPage","changeHangler","_text","parseInt","blurHandler","pageMessage","ofMessage","totalPagesMessage","ResultType","Result","rest","Undefined","chain","fold","concat","v","__","Stream","control","inputCursor","controlCursor","eof","char","peek","eat_input","eat_control","eat","toArray","ESCAPE_CHARACTER","Parser","parse","run","stream","isLiteral","Literal","mask","prompt","promptPlaceholder","rule","Mask","literal","_token","unmask","unliteral","token","rules","creator","rawMask","rawLiteral","includeLiterals","always","append","p1","p2","sequence","list","reduce","parser","greedy","MaskingService","maskTokens","unmaskTokens","rawTokens","validationTokens","update","tokenize","validationValue","maskedValue","unmasked","rawValue","maskRaw","masked","maskInput","splitPoint","maskRemoved","maskInserted","maskInRange","pasted","start","selection","beforeChange","afterChange","unchanged","changed","adjustPosition","caretChar","maskTokenCreator","tokens","unmaskTokenCreator","rawTokenCreator","validationTokenCreator","defaultRules","returnFalse","maskingChanged","sameRules","rules1","rules2","same","tableColumnsVirtualization","widths","widthOfHiddenColumns","considerNext","hiddenSeqLength","updateIndex","hiddenCols","lastVisible","lastIndexOf","anyHidden","allHidden","pop","NumericFilter","RESPONSIVE_BREAKPOINT_MEDIUM","RESPONSIVE_BREAKPOINT_LARGE","Pager","size","addEventListener","onWindowResize","removeEventListener","ceil","currentTake","triggerPageChange","transformDimesion","initialValue","endsWith","first","last","pagerRenderTemplate","firstPageMessage","previousPageMessage","nextPageMessage","lastPageMessage","changer","renderPageSizes","infoElement","pagerContent","PagerPageSizes","pageSizeChange","sizes","itemPerPageMessage","dialogOpen","toggleDialog","form","callback","$$v","$set","expression","guardarBusqueda","BaseDialogButton","numberSearches","maxSearches","nombre","message","trigger","isLimitExceed","Nombre","Filtros","Version","payload","Clave","Valor","numericIncreaseValue","numericDecreaseValue","sliderIncreaseValue","sliderDecreaseValue","sliderDragTitle","colorGradientR","colorGradientG","colorGradientB","colorGradientA","colorGradientHex","colorGradientContrastRatio","colorGradientAALevel","colorGradientAAALevel","colorGradientPass","colorGradientFail","checkboxValidation","checkboxOptionalText","radioButtonValidation","switchValidation","Checkbox","defaultChecked","ariaLabelledBy","labelOptional","currentDir","currentChecked","valueIsBooleanOrNull","isCheckedControlled","isValueControlled","computedChecked","useValueAsChecked","checkedProp","valueProp","indeterminateProp","defaultValidationMessage","localizeMessage","optionalMessage","checkboxClasses","inputClasses","checkboxInput","onChangeHandler","onKeyDownHandler","onFocusHandler","onBlurHandler","checkboxLabel","setValue","val","that","handle","newValue","currentVal","space","Input","validate","autofill","listeners","$listeners","keys","attr","textbox","inputClassNames","changemodel","handleInput","animationstart","handleAutoFill","animationend","handleAutoFillEnd","onAnimationstart","onAnimationend","editorId","editorValue","editorValid","editorDisabled","editorPlaceholder","badInput","patternMismatch","rangeOverflow","rangeUnderflow","stepMismatch","tooLong","typeMismatch","prop","animationName","parent_1","classList","contains","parent_2","SLIDER_LABEL_ATTRIBUTE","ActiveDescendant","ListContainer","mousedown","open","close","itemsCount","onMouseDown","onOpen","contentKey","ListFilter","isPresent","sameCharsOnly","word","character","shuffleData","splitIndex","matchText","ignoreCase","temp","scrollToItem","scrollElem","itemHeight","itemIndex","virtualScroll","viewportHeight","offsetHeight","itemOffsetTop","diff","itemIndexStartsWith","itemText","getItemValue","startsWith","getItemIndexByText","matchCase","casing","data_1","matchDataCollections","data1","data2","areSame","removeDataItems","toRemove","item1","item2","getFocusedItem","selectedIndex","suggested","suggestedItem","suggestedText","preventDefaultNonInputs","nodeName","ListDefaultItem","ListItem","nodata","List","valueField","optionsGuid","wrapperCssClass","listStyle","focusedIndex","highlightSelected","itemRender","noDataRender","listRef","renderNoValueElement","noDataElement","renderItems","realIndex","onItemclick","unselectable","maxHeightIE","listTranslate","scrollerRef","calcScrollElementHeight","heightChanged","newHeight","scrollElement","newSkip","translateTo","scrollToEnd","validateTranslate","itemsLenght","floatItemIndex","Navigation","navigate","home","DropDownBase","handleItemClick","initState","handleItemSelect","togglePopup","applyState","currentFocused","events","filterChanged","currentOpened","calculatePopupWidth","pageChange","triggerOnPageChange","scrollToVirtualItem","virtual","selectedItemIndex","listBoxId","guid","didMount","popupWidth","shouldUpdate","calculateDir","dirCalculated","vsEnabled","eventArgs","eventData","triggerPageChangeCornerItems","defaultProps","DropDownList","delay","valueRender","valueMap","listNoDataRender","focusedItemIndex","currentText","searchState","_skipFocusEvent","_navigated","prevCurrentOpened","prevOpened","prevValue","prevCurrnetValue","_newValue","virtualTotalHasChanged","virtualHasChanged","base","selectRef","baseWrapperRef","select","baseWrapper","opening","filterInput","scroller","onPopupOpened","selectedItem_1","prevSelectedItem","selectedItemChanged","newSelected","triggerOnChange","onNavigate","typingTimeout","selectNext","mappedData","isInLoop","dataLength","startIndex","loopMatch","nextMatch","handleKeyDown","homeOrEndKeys","upOrDownKeys","shouldOpen","shouldClose","leftOrRightKeys","shouldNavigate","handleDefaultItemClick","handleWrapperClick","handleKeyPress","fromCharCode","charCode","handleListFilterChange","onPopupClosed","filterText","hasSelected","dummySelect","opacity","border","renderDropDownWrapper","valueDefaultRendering","valueElement","onKeypress","renderDefaultItem","onDefaultitemclick","renderList","float","maxHeight","onListclick","renderListFilter","renderScrollWrapper","overflowY","renderScrollElement","renderListContainer","headerTemplate","footerTemplate","dropdownlist","SearchBar","readOnly","owns","activedescendant","describedby","clearButton","prevSuggestedText","valueChanged","deleting","setSelectionRange","clearButtonClick","ClearButton","onClickHandler","tagClassName","focusedTagClassName","TagList","tagRender","onTagDelete","tagData","tagdelete","FocusedItemType","tag1","tag2","isCustom","CustomItem","isBlank","isFunction","isString","isNullOrEmptyString","trim","isNotNullOrEmptyString","isNumeric","isNaN","getTime","isCompositeFilterDescriptor","source","ifElse","predicate","compose","reduceRight","curr","constant","toUTC","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","isDateValue","equal","equals","equalto","ge","greater","greaterthan","greaterthanequal","isempty","isequalto","isgreaterthan","isgreaterthanorequalto","islessthan","islessthanorequalto","isnotempty","isnotequalto","isnull","le","less","lessthan","lessthanequal","ne","notequal","notequals","notequalto","notsubstringof","normalizeOperator","normalizeDescriptor","normalizeFilters","getterCache","FIELD_REGEX","getter","safe","indexAccessor","pairwise","empty","isNotEmptyArray","has","accessor","isNotEmpty","runOrEmpty","calcPage","formatDescriptors","formatter","removeAfter","what","patterns","sanitizeDateLiterals","removeAfterDot","directionFormatter","aggregateFormatter","aggregate","formatSort","formatGroup","formatAggregates","prefixDateValue","formatDateValue","JSON","stringify","normalizeSort","transformSkip","transformTake","transformGroup","transformSort","transformAggregates","filterFormatter","set","toCamelCase","g1","convert","mapper","translateAggregate","translateAggregates","valueOrDefault","normalizeGroup","Aggregates","Member","member","hasSubgroups","HasSubgroups","Items","Key","translateGroup","compare","localeCompare","compareDesc","descriptorAsFunc","initial","composeSortDescriptors","descriptors","valueToString","groupCombinator","agg","groupValue","__position","expandAggregates","aggregatesFuncs","average","count","calc","NEGATIVE_INFINITY","POSITIVE_INFINITY","sum","aggregatesCombinator","functions","fieldAccessor","aggregateName","aggregateAccessor","fieldAggregates","aggregateFunction","arr","isTransformerResult","__value","reduced","exec","length_1","aggregateBy","transformers","identity","operatorsMap","doesnotcontain","doesnotendwith","doesnotstartwith","endswith","eq","gt","gte","isnotnull","lt","lte","neq","startswith","dateRegExp","convertValue","typedGetter","transformFilter","itemProp","op","transformCompositeFilter","combiner","compileFilter","filterBy","normalizeGroups","groupBy","originalData","view","aggregateResult","filteredData","merge","middle","leftLength","rightLength","cursor1","cursor2","dest","mid","orderBy","comparer","counter","limit","process","skipCount","takeCount","filterDescriptor","sortDescriptors","hasFilters","hasGroups","PagerNumericButtons","reminder","ddlChange","prevDots","postDots","buttons","numerics","dropdown","currentButtons","cb","navigationId","getAttribute","dataId","isNavigatable","querySelector","closest","getHeaderElement","getBodyElement","selectors","querySelectorAll","getNavigatableElements","filterNavigatableElements","sel","matches","findNextIdByRowIndex","initialRowIndex","currentRowIndex","currentId","findNextIdByCellIndex","initialCellIndex","currentCellIndex","findId","getNextNavigationIndex","tableKeyboardNavigationTools","idTipo","Propietario","Tipo","Grupos","PagerInfo","infoMessage","GroupFilter","defaultGroupFilter","replaceFilter","DateFilter","GroupToolbar","togglable","onLogicAnd","onLogicOr","onAddExpression","onAddGroup","newExpression","changeLogic"],"mappings":"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","file":"js/chunk-12edbca4.v.2.27.0.1739353713776.js","sourcesContent":["var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Keys, classNames, Draggable, getTabIndex, validatePackage } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, sliderIncreaseValue, sliderDecreaseValue, sliderDragTitle } from './../messages';\nimport { SLIDER_LABEL_ATTRIBUTE } from './SliderLabel';\nimport { packageMetadata } from '../package-metadata';\nvar Slider = {\n name: 'KendoSlider',\n model: {\n event: 'changemodel'\n },\n props: {\n modelValue: {\n type: Number,\n default: undefined\n },\n defaultValue: {\n type: Number,\n default: undefined\n },\n name: String,\n buttons: Boolean,\n tabIndex: Number,\n disabled: Boolean,\n dir: String,\n step: Number,\n min: {\n type: Number,\n required: true\n },\n max: {\n type: Number,\n required: true\n },\n value: Number,\n vertical: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoMin: this.$props.min,\n kendoMax: this.$props.max,\n kendoVertical: this.$props.vertical\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n currentDir: 'ltr'\n };\n },\n computed: {\n computedValue: function computedValue() {\n var value = this.$props.value !== undefined ? this.$props.value : this.currentValue;\n var _a = this.$props,\n min = _a.min,\n max = _a.max;\n return value === undefined ? value : Math.min(Math.max(value, min), max);\n },\n sliderTrack: function sliderTrack() {\n return this._sliderTrack;\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = this.$props.min;\n }\n\n this.currentFocused = false;\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._sliderTrack = this.$refs.sliderTrack;\n\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n updated: function updated() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var _a, _b;\n\n var h = gh || createElement;\n var lS = provideLocalizationService(this);\n var percentValue = (this.computedValue - this.$props.min) / (this.$props.max - this.$props.min) * 100;\n var defaultSlot = getDefaultSlots(this);\n var trackStyles = this.$props.vertical ? {\n marginTop: '0.5rem',\n marginBottom: '0.5rem'\n } : {\n marginLeft: '0.5rem',\n marginRight: '0.5rem'\n };\n var sliderItemsStyle = this.$props.vertical ? {\n paddingTop: 0,\n height: '100%'\n } : {};\n return h(\"div\", {\n \"aria-valuemin\": this.$props.min,\n attrs: this.v3 ? undefined : {\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n \"aria-valuenow\": this.computedValue,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n dir: this.currentDir,\n role: \"slider\",\n id: this.$props.id,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined)\n },\n \"aria-valuemax\": this.$props.max,\n \"aria-valuenow\": this.computedValue,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n dir: this.currentDir,\n role: \"slider\",\n id: this.$props.id,\n style: this.$props.style,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"keydown\": this.onKeyDown\n },\n onBlur: this.onBlur,\n onKeydown: this.onKeyDown,\n \"class\": classNames('k-slider k-widget', {\n 'k-state-focused': this.currentFocused,\n 'k-state-disabled': this.$props.disabled,\n 'k-slider-horizontal': !this.$props.vertical,\n 'k-slider-vertical': this.$props.vertical\n }, this.$props.className)\n }, [h(\"div\", {\n \"class\": classNames('k-slider-wrap', {\n 'k-slider-buttons': this.$props.buttons\n }),\n style: {\n display: 'flex',\n position: 'relative',\n flexDirection: this.$props.vertical ? 'column-reverse' : 'row'\n }\n }, [this.$props.buttons && h(\"a\", {\n \"class\": \"k-button k-button-decrease\",\n style: {\n position: 'relative'\n },\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue]),\n attrs: this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue])\n },\n onClick: this.decrement,\n on: this.v3 ? undefined : {\n \"click\": this.decrement\n }\n }, [h(\"span\", {\n \"class\": classNames('k-icon', {\n 'k-i-arrow-s': this.$props.vertical,\n 'k-i-arrow-w': !this.$props.vertical\n })\n })]), // @ts-ignore function children\n h(Draggable, {\n onDrag: this.dragOver,\n on: this.v3 ? undefined : {\n \"drag\": this.dragOver,\n \"press\": this.dragStart\n },\n onPress: this.dragStart,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({\n margin: 0\n }, sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a),\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n attrs: _this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n style: _this.$props.vertical ? {\n bottom: 'calc(' + percentValue + '% - 8px)',\n zIndex: 1\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = 'calc(' + percentValue + '% - 8px)', _b.zIndex = 1, _b)\n })])])];\n } : [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({\n margin: 0\n }, sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a),\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n attrs: _this.v3 ? undefined : {\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n style: _this.$props.vertical ? {\n bottom: 'calc(' + percentValue + '% - 8px)',\n zIndex: 1\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = 'calc(' + percentValue + '% - 8px)', _b.zIndex = 1, _b)\n })])])]), this.$props.buttons && h(\"a\", {\n \"class\": \"k-button k-button-increase\",\n style: {\n position: 'relative'\n },\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue]),\n attrs: this.v3 ? undefined : {\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue])\n },\n onClick: this.increment,\n on: this.v3 ? undefined : {\n \"click\": this.increment\n }\n }, [h(\"span\", {\n \"class\": classNames('k-icon', {\n 'k-i-arrow-n': this.$props.vertical,\n 'k-i-arrow-e': !this.$props.vertical\n })\n })])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n // @ts-ignore\n this.$el.focus();\n }\n },\n isLabel: function isLabel(target) {\n var currentTarget = target;\n\n while (currentTarget) {\n if (Boolean(currentTarget.getAttribute(SLIDER_LABEL_ATTRIBUTE))) {\n return true;\n }\n\n currentTarget = currentTarget.parentElement;\n }\n\n return false;\n },\n onFocus: function onFocus() {\n this.currentFocused = true;\n },\n onBlur: function onBlur() {\n this.currentFocused = false;\n },\n onKeyDown: function onKeyDown(e) {\n var newValue = undefined;\n\n if (e.keyCode === Keys.left || e.keyCode === Keys.down) {\n newValue = this.currentValue - (this.$props.step || 0);\n } else if (e.keyCode === Keys.right || e.keyCode === Keys.up) {\n newValue = this.currentValue + (this.$props.step || 0);\n } else if (e.keyCode === Keys.home) {\n newValue = this.$props.min;\n } else if (e.keyCode === Keys.end) {\n newValue = this.$props.max;\n }\n\n if (newValue !== undefined) {\n e.preventDefault();\n this.change(e, newValue);\n }\n },\n decrement: function decrement(e) {\n e.preventDefault();\n this.change(e, this.currentValue - (this.$props.step || 0));\n },\n increment: function increment(e) {\n e.preventDefault();\n this.change(e, this.currentValue + (this.$props.step || 0));\n },\n dragStart: function dragStart(e) {\n if (!this.isLabel(e.originalEvent.target)) {\n if (e.isTouch) {\n e.originalEvent.preventDefault();\n }\n\n this.drag(e);\n }\n },\n dragOver: function dragOver(e) {\n e.originalEvent.preventDefault();\n this.drag(e);\n },\n drag: function drag(e) {\n var computed = this.draggable.element.getBoundingClientRect();\n var distance = this.$props.vertical ? computed.bottom - e.clientY : this.currentDir === 'rtl' ? computed.right - e.clientX : e.clientX - computed.left;\n var size = this.$props.vertical ? computed.height : computed.width;\n var percentage = distance / size;\n this.change(e, this.$props.min + percentage * (this.$props.max - this.$props.min));\n },\n change: function change(e, value) {\n value = Math.min(Math.max(value, this.$props.min), this.$props.max);\n this.currentValue = value;\n this.$emit('change', {\n event: e,\n value: value,\n component: this,\n target: {\n name: this.$props.name,\n value: value\n }\n });\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n }\n }\n};\nvar SliderVue3 = Slider;\nexport { Slider, SliderVue3 };","export * from './filter';\nimport { tableKeyboardNavigationScopeAttributes } from './navigation/constants';\nimport { tableKeyboardNavigationTools } from './navigation/utils';\nexport { tableKeyboardNavigationScopeAttributes, tableKeyboardNavigationTools };\nexport { Pager, PagerVue3 } from './pager/Pager';\nexport { PagerInfo, PagerInfoVue3 } from './pager/PagerInfo';\nexport { PagerInput, PagerInputVue3 } from './pager/PagerInput';\nexport { PagerNavigationButton, PagerNavigationButtonVue3 } from './pager/PagerNavigationButton';\nexport { PagerNumericButtons, PagerNumericButtonsVue3 } from './pager/PagerNumericButtons';\nexport { PagerPageSizes, PagerPageSizesVue3 } from './pager/PagerPageSizes';\nexport { HeaderThElement, HeaderThElementVue3 } from './header/HeaderThElement';\nexport { normalize } from './pager/GridPagerSettings';\nexport * from './virtualization';\nexport * from './navigation/constants';\nexport * from './navigation/TableKeyboardNavigation';\nexport * from './navigation/TableKeyboardNavigationContextType';\nexport * from './navigation/TableKeyboardNavigationStateType';\n","var _a;\n/**\n * @hidden\n */\nexport var pagerInfo = 'pager.info';\n/**\n * @hidden\n */\nexport var pagerFirstPage = 'pager.firstPage';\n/**\n * @hidden\n */\nexport var pagerPreviousPage = 'pager.previousPage';\n/**\n * @hidden\n */\nexport var pagerNextPage = 'pager.nextPage';\n/**\n * @hidden\n */\nexport var pagerLastPage = 'pager.lastPage';\n/**\n * @hidden\n */\nexport var pagerItemPerPage = 'pager.itemsPerPage';\n/**\n * @hidden\n */\nexport var pagerPage = 'pager.page';\n/**\n * @hidden\n */\nexport var pagerOf = 'pager.of';\n/**\n * @hidden\n */\nexport var pagerTotalPages = 'pager.totalPages';\n/**\n * @hidden\n */\nexport var filterEqOperator = 'filter.eqOperator';\n/**\n * @hidden\n */\nexport var filterNotEqOperator = 'filter.notEqOperator';\n/**\n * @hidden\n */\nexport var filterIsNullOperator = 'filter.isNullOperator';\n/**\n * @hidden\n */\nexport var filterIsNotNullOperator = 'filter.isNotNullOperator';\n/**\n * @hidden\n */\nexport var filterIsEmptyOperator = 'filter.isEmptyOperator';\n/**\n * @hidden\n */\nexport var filterIsNotEmptyOperator = 'filter.isNotEmptyOperator';\n/**\n * @hidden\n */\nexport var filterStartsWithOperator = 'filter.startsWithOperator';\n/**\n * @hidden\n */\nexport var filterContainsOperator = 'filter.containsOperator';\n/**\n * @hidden\n */\nexport var filterNotContainsOperator = 'filter.notContainsOperator';\n/**\n * @hidden\n */\nexport var filterEndsWithOperator = 'filter.endsWithOperator';\n/**\n * @hidden\n */\nexport var filterGteOperator = 'filter.gteOperator';\n/**\n * @hidden\n */\nexport var filterGtOperator = 'filter.gtOperator';\n/**\n * @hidden\n */\nexport var filterLteOperator = 'filter.lteOperator';\n/**\n * @hidden\n */\nexport var filterLtOperator = 'filter.ltOperator';\n/**\n * @hidden\n */\nexport var filterIsTrue = 'filter.isTrue';\n/**\n * @hidden\n */\nexport var filterIsFalse = 'filter.isFalse';\n/**\n * @hidden\n */\nexport var filterAfterOrEqualOperator = 'filter.afterOrEqualOperator';\n/**\n * @hidden\n */\nexport var filterAfterOperator = 'filter.afterOperator';\n/**\n * @hidden\n */\nexport var filterBeforeOperator = 'filter.beforeOperator';\n/**\n * @hidden\n */\nexport var filterBeforeOrEqualOperator = 'filter.beforeOrEqualOperator';\n/**\n * @hidden\n */\nexport var filterAndLogic = 'filter.andLogic';\n/**\n * @hidden\n */\nexport var filterOrLogic = 'filter.orLogic';\n/**\n * @hidden\n */\nexport var filterAddExpression = 'filter.addExpression';\n/**\n * @hidden\n */\nexport var filterAddGroup = 'filter.addGroup';\n/**\n * @hidden\n */\nexport var filterClose = 'filter.close';\n/**\n * @hidden\n */\nexport var columnMenuFilterClearButton = 'columnMenu.filterClearButton';\n/**\n * @hidden\n */\nexport var columnMenuFilterSubmitButton = 'columnMenu.filterSubmitButton';\n/**\n * @hidden\n */\nexport var columnMenuFilterTitle = 'columnMenu.filterTitle';\n/**\n * @hidden\n */\nexport var columnMenuSortAscending = 'columnMenu.sortAscending';\n/**\n * @hidden\n */\nexport var columnMenuSortDescending = 'columnMenu.sortDescending';\n/**\n * @hidden\n */\nexport var columnMenuFilterEqOperator = 'columnMenu.filterEqOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterNotEqOperator = 'columnMenu.filterNotEqOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNullOperator = 'columnMenu.filterIsNullOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNotNullOperator = 'columnMenu.filterIsNotNullOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsEmptyOperator = 'columnMenu.filterIsEmptyOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsNotEmptyOperator = 'columnMenu.filterIsNotEmptyOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterStartsWithOperator = 'columnMenu.filterStartsWithOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterContainsOperator = 'columnMenu.filterContainsOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterNotContainsOperator = 'columnMenu.filterNotContainsOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterEndsWithOperator = 'columnMenu.filterEndsWithOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterGteOperator = 'columnMenu.filterGteOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterGtOperator = 'columnMenu.filterGtOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterLteOperator = 'columnMenu.filterLteOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterLtOperator = 'columnMenu.filterLtOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterIsTrue = 'columnMenu.filterIsTrue';\n/**\n * @hidden\n */\nexport var columnMenuFilterAfterOrEqualOperator = 'columnMenu.filterAfterOrEqualOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterAfterOperator = 'columnMenu.filterAfterOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterBeforeOperator = 'columnMenu.filterBeforeOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterBeforeOrEqualOperator = 'columnMenu.filterBeforeOrEqualOperator';\n/**\n * @hidden\n */\nexport var columnMenuFilterAndLogic = 'columnMenu.filterAndLogic';\n/**\n * @hidden\n */\nexport var columnMenuFilterOrLogic = 'columnMenu.filterOrLogic';\n/**\n * @hidden\n */\nexport var sortAriaLabel = 'sort.ariaLabel';\n/**\n * @hidden\n */\nexport var filterAriaLabel = 'filter.ariaLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[pagerItemPerPage] = 'items per page',\n _a[pagerInfo] = '{0} - {1} of {2} items',\n _a[pagerFirstPage] = 'Go to the first page',\n _a[pagerPreviousPage] = 'Go to the previous page',\n _a[pagerNextPage] = 'Go to the next page',\n _a[pagerLastPage] = 'Go to the last page',\n _a[pagerPage] = 'Page',\n _a[pagerOf] = 'Of',\n _a[pagerTotalPages] = '{0}',\n _a[sortAriaLabel] = 'Sortable',\n _a[filterAriaLabel] = 'Filter',\n _a[filterEqOperator] = 'Is equal to',\n _a[filterNotEqOperator] = 'Is not equal to',\n _a[filterIsNullOperator] = 'Is null',\n _a[filterIsNotNullOperator] = 'Is not null',\n _a[filterIsEmptyOperator] = 'Is empty',\n _a[filterIsNotEmptyOperator] = 'Is not empty',\n _a[filterStartsWithOperator] = 'Starts with',\n _a[filterContainsOperator] = 'Contains',\n _a[filterNotContainsOperator] = 'Does not contain',\n _a[filterEndsWithOperator] = 'Ends with',\n _a[filterGteOperator] = 'Is greater than or equal to',\n _a[filterGtOperator] = 'Is greater than',\n _a[filterLteOperator] = 'Is less than or equal to',\n _a[filterLtOperator] = 'Is less than',\n _a[filterIsTrue] = 'Is true',\n _a[filterIsFalse] = 'Is false',\n _a[filterAfterOrEqualOperator] = 'Is after or equal to',\n _a[filterAfterOperator] = 'Is after',\n _a[filterBeforeOperator] = 'Is before',\n _a[filterBeforeOrEqualOperator] = 'Is before or equal to',\n _a[filterAndLogic] = 'And',\n _a[filterOrLogic] = 'Or',\n _a[filterAddExpression] = 'Add Expression',\n _a[filterAddGroup] = 'Add Group',\n _a[filterClose] = 'Close',\n _a[columnMenuFilterClearButton] = 'Clear',\n _a[columnMenuFilterSubmitButton] = 'Filter',\n _a[columnMenuFilterTitle] = 'Filter',\n _a[columnMenuSortAscending] = 'Sort Ascending',\n _a[columnMenuSortDescending] = 'Sort Descending',\n _a[columnMenuFilterEqOperator] = 'Is equal to',\n _a[columnMenuFilterNotEqOperator] = 'Is not equal to',\n _a[columnMenuFilterIsNullOperator] = 'Is null',\n _a[columnMenuFilterIsNotNullOperator] = 'Is not null',\n _a[columnMenuFilterIsEmptyOperator] = 'Is empty',\n _a[columnMenuFilterIsNotEmptyOperator] = 'Is not empty',\n _a[columnMenuFilterStartsWithOperator] = 'Starts with',\n _a[columnMenuFilterContainsOperator] = 'Contains',\n _a[columnMenuFilterNotContainsOperator] = 'Does not contain',\n _a[columnMenuFilterEndsWithOperator] = 'Ends with',\n _a[columnMenuFilterGteOperator] = 'Is greater than or equal to',\n _a[columnMenuFilterGtOperator] = 'Is greater than',\n _a[columnMenuFilterLteOperator] = 'Is less than or equal to',\n _a[columnMenuFilterLtOperator] = 'Is less than',\n _a[columnMenuFilterIsTrue] = 'Is true',\n _a[columnMenuFilterAfterOrEqualOperator] = 'Is after or equal to',\n _a[columnMenuFilterAfterOperator] = 'Is after',\n _a[columnMenuFilterBeforeOperator] = 'Is before',\n _a[columnMenuFilterBeforeOrEqualOperator] = 'Is before or equal to',\n _a[columnMenuFilterAndLogic] = 'And',\n _a[columnMenuFilterOrLogic] = 'Or',\n _a);\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTemplate.vue?vue&type=style&index=0&id=23b8459c&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-slide-panel',{attrs:{\"isOpen\":_vm.panelOpen,\"large\":true},on:{\"closePanel\":_vm.togglePanel}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"h-16 bg-secondary dark:bg-darkblue-600 flex items-center justify-between text-white px-4\"},[_c('div',{staticClass:\"flex items-center\"},[_c('base-icon',{attrs:{\"name\":\"lens\"}}),_c('h2',{staticClass:\"font-bold ml-2\"},[_vm._v(\"Búsquedas guardadas\")])],1),_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.togglePanel}},[_c('base-button-icon',{attrs:{\"name\":\"cross\",\"size\":\"xs\",\"iconSize\":\"sm\",\"mode\":\"secondary\"}})],1)])]),_c('template',{slot:\"main\"},[_c('div',{staticClass:\"form-wrapper p-4 dark:bg-darkblue-800 dark:text-darkblue-200\"},[_c('el-form',{ref:\"ruleForm\"},[_c('div',{staticClass:\"lg:mb-2\"},[(_vm.emptySearches)?_c('div',{staticClass:\"p-2\"},[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1 pl-1\"},[_vm._v(\"No hay búsquedas guardadas\")]),_c('br')]):_c('div',_vm._l((_vm.searches),function(search){return _c('base-search-item',{key:search.id,attrs:{\"id\":search.id,\"nombre\":search.name,\"tags\":search.tags},on:{\"applySearch\":_vm.applySearch,\"deleteSearch\":_vm.deleteSearch}})}),1)]),_vm._l((0),function(i){return _c('p',{key:i},[_vm._v(\"form\")])})],2)],1)]),_c('template',{slot:\"footer\"},[_c('base-button',{staticClass:\"w-full\",attrs:{\"mode\":\"secondary-phantom-blue\",\"text\":_vm.$t('app.cancel')},on:{\"click\":_vm.togglePanel}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { i18n } from '@/i18n'\r\n\r\nconst LABEL_FILTROS = [\r\n {\r\n id: 'id',\r\n idVista: [9, 15, 23, 40, 41, 44, 46, 48, 49, 50, 51, 80, 83],\r\n label: i18n.t('configurations.id')\r\n },\r\n {\r\n id: 'name',\r\n idVista: [2, 11, 12, 13, 40, 41, 43, 44, 46, 48, 49, 50, 51, 80, 81],\r\n label: i18n.t('configurations.name')\r\n },\r\n {\r\n id: 'name',\r\n idVista: [9, 15, 23],\r\n label: i18n.t('configurations.username')\r\n },\r\n {\r\n id: 'email',\r\n idVista: [4, 7, 9, 10, 15, 23, 27, 40, 41, 42, 46, 48, 49, 51, 60, 80],\r\n label: i18n.t('configurations.email')\r\n },\r\n {\r\n id: 'company',\r\n idVista: [9, 15, 23, 41],\r\n label: i18n.t('configurations.company')\r\n },\r\n {\r\n id: 'role',\r\n idVista: [9, 15, 23, 41],\r\n label: i18n.t('configurations.rol')\r\n },\r\n {\r\n id: 'tipoAuth',\r\n idVista: [9, 15, 23, 41],\r\n label: i18n.t('configurations.tipo_auth')\r\n },\r\n {\r\n id: 'nombreTag',\r\n idVista: [1, 9, 23, 25],\r\n label: 'Etiqueta'\r\n },\r\n {\r\n id: 'Activo',\r\n idVista: [9, 23, 81],\r\n label: i18n.t('app.active')\r\n },\r\n {\r\n id: 'verTodo',\r\n idVista: [9, 15, 23, 41],\r\n label: i18n.t('configurations.ver_todo')\r\n },\r\n {\r\n id: 'verTodoTags',\r\n idVista: [9, 15, 23, 41],\r\n label: i18n.t('configurations.ver_todo_tags')\r\n },\r\n {\r\n id: 'verTodoStatuses',\r\n idVista: [9, 15, 23, 40, 41, 46, 48, 49, 51, 80],\r\n label: i18n.t('configurations.ver_todo_statuses')\r\n },\r\n {\r\n id: 'verTodoCompanies',\r\n idVista: [9, 15, 23, 40, 41, 46, 48, 49, 51, 80],\r\n label: i18n.t('configurations.ver_todo_companies')\r\n },\r\n {\r\n id: 'empresa',\r\n idVista: [1, 4, 6, 9, 13, 23, 25, 27, 29, 40, 44, 46, 48, 49, 50, 51, 53, 80, 81, 84],\r\n label: i18n.t('app.client')\r\n },\r\n {\r\n id: 'distribuidor',\r\n idVista: [1, 4, 9, 13, 23, 25, 27, 40, 44, 46, 48, 49, 50, 51, 53, 80, 81, 84],\r\n label: i18n.t('distributors.distributor')\r\n },\r\n {\r\n id: 'certAsociado',\r\n idVista: [4],\r\n label: i18n.t('companies.cert_asociado')\r\n },\r\n {\r\n id: 'cif',\r\n idVista: [4, 7, 10, 27, 42, 60, 81, 84],\r\n label: i18n.t('companies.cif')\r\n },\r\n {\r\n id: 'name',\r\n idVista: [4, 7, 10, 27, 42, 60],\r\n label: i18n.t('app.nombre_cif')\r\n },\r\n {\r\n id: 'automatic_download',\r\n idVista: [4, 7, 10, 27, 40, 42, 44, 48, 49, 50, 51, 60, 80],\r\n label: i18n.t('companies.automatic_download')\r\n },\r\n {\r\n id: 'codPGN',\r\n idVista: [4, 7, 10, 27, 42, 60],\r\n label: i18n.t('app.location_link')\r\n },\r\n {\r\n id: 'send_alerts',\r\n idVista: [4, 7, 10, 27, 40, 42, 46, 48, 49, 51, 60, 80],\r\n label: i18n.t('companies.send_alerts')\r\n },\r\n {\r\n id: 'fechaAltaDesde',\r\n idVista: [4, 7, 10, 27, 42, 60],\r\n label: i18n.t('companies.f_alta_desde')\r\n },\r\n {\r\n id: 'fechaAltaHasta',\r\n idVista: [4, 7, 10, 27, 42, 60],\r\n label: i18n.t('companies.f_alta_hasta')\r\n },\r\n {\r\n id: 'estado',\r\n idVista: [4, 7, 10, 27, 42, 60],\r\n label: i18n.t('companies.active')\r\n },\r\n {\r\n id: 'phone',\r\n idVista: [4, 7, 10, 27, 40, 42, 48, 49, 51, 60, 80],\r\n label: i18n.t('configurations.phone')\r\n },\r\n {\r\n id: 'activo',\r\n idVista: [8, 44, 50],\r\n label: i18n.t('companies.active')\r\n },\r\n {\r\n id: 'fechaDisposicionDesde',\r\n idVista: [1, 25],\r\n label: 'F. disposición desde'\r\n },\r\n {\r\n id: 'fechaDisposicionHasta',\r\n idVista: [1, 25],\r\n label: 'F. disposición hasta'\r\n },\r\n {\r\n id: 'fechaDescargaDesde',\r\n idVista: [1, 25],\r\n label: 'F. descarga desde'\r\n },\r\n {\r\n id: 'fechaDescargaHasta',\r\n idVista: [1, 25],\r\n label: 'F. descarga hasta'\r\n },\r\n {\r\n id: 'fechaFinTramiteDesde',\r\n idVista: [1, 25],\r\n label: 'F. fin trámite desde'\r\n },\r\n {\r\n id: 'fechaFinTramiteHasta',\r\n idVista: [1, 25],\r\n label: 'F. fin trámite hasta'\r\n },\r\n {\r\n id: 'tipo',\r\n idVista: [1, 25],\r\n label: 'Tipo'\r\n },\r\n {\r\n id: 'tipoNotif',\r\n idVista: [1, 25],\r\n label: 'Tipo'\r\n },\r\n {\r\n id: 'estadoDescargaExtra',\r\n idVista: [1, 25],\r\n label: 'Estado'\r\n },\r\n {\r\n id: 'sede',\r\n idVista: [1, 25],\r\n label: 'Sede'\r\n },\r\n {\r\n id: 'codPGN',\r\n idVista: [1, 25],\r\n label: 'Sede'\r\n },\r\n {\r\n id: 'idPGN',\r\n idVista: [1, 25],\r\n label: 'idPGN'\r\n },\r\n {\r\n id: 'estadoDescarga',\r\n idVista: [1, 25],\r\n label: 'Estado'\r\n },\r\n {\r\n id: 'asunto',\r\n idVista: [1, 25],\r\n label: 'Asunto'\r\n },\r\n {\r\n id: 'idInterno',\r\n idVista: [1, 25],\r\n label: 'Id Int'\r\n },\r\n {\r\n id: 'textoLibre',\r\n idVista: [1, 25],\r\n label: 'Contenido adjunto'\r\n },\r\n {\r\n id: 'ultimoError',\r\n idVista: [1, 25],\r\n label: 'Error temporal'\r\n },\r\n {\r\n id: 'ticketId',\r\n idVista: [1, 25],\r\n label: 'Ticket ID'\r\n },\r\n {\r\n id: 'cifTitular',\r\n idVista: [1, 25],\r\n label: 'CIF Titular'\r\n },\r\n {\r\n id: 'cif',\r\n idVista: [1, 25],\r\n label: i18n.t('app.cif')\r\n },\r\n {\r\n id: 'NombreCIF',\r\n idVista: [1, 25, 81],\r\n label: 'Razón social'\r\n },\r\n {\r\n id: 'organismo',\r\n idVista: [1, 25, 62, 81],\r\n label: 'Organismo'\r\n },\r\n {\r\n id: 'organismo',\r\n idVista: [8],\r\n label: i18n.t('companies.organismo_excluded')\r\n },\r\n {\r\n id: 'soyPropietario',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.soy_propietario')\r\n },\r\n {\r\n id: 'agrupacionCIF',\r\n idVista: [1, 25],\r\n label: i18n.t('grouping.neos_by_cif')\r\n },\r\n {\r\n id: 'agrupacionSede',\r\n idVista: [1, 25],\r\n label: i18n.t('grouping.neos_by_sede')\r\n },\r\n {\r\n id: 'agrupacionOrganismo',\r\n idVista: [1, 25],\r\n label: i18n.t('grouping.neos_by_org')\r\n },\r\n {\r\n id: 'email',\r\n idVista: [1, 25],\r\n label: i18n.t('configurations.email_vinculado')\r\n },\r\n {\r\n id: 'emailEnviado',\r\n idVista: [1, 25],\r\n label: i18n.t('configurations.email_enviado')\r\n },\r\n {\r\n id: 'IdPGN',\r\n idVista: [16],\r\n label: i18n.t('locations.IdPGN')\r\n },\r\n {\r\n id: 'revisarTodo',\r\n idVista: [16],\r\n label: i18n.t('companies.revisar_todo')\r\n },\r\n {\r\n id: 'Codigo',\r\n idVista: [5, 16, 17, 72],\r\n label: i18n.t('configurations.code')\r\n },\r\n {\r\n id: 'Nombre',\r\n idVista: [5, 16, 17, 72],\r\n label: i18n.t('configurations.name')\r\n },\r\n {\r\n id: 'evento',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 73, 82],\r\n label: 'Nombre del evento'\r\n },\r\n {\r\n id: 'eventoMultiple',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 73, 82],\r\n label: 'Nombre del evento'\r\n },\r\n {\r\n id: 'mensaje',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 73, 82],\r\n label: 'Información adicional'\r\n },\r\n {\r\n id: 'usuario',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 73, 82],\r\n label: i18n.t('historical.user')\r\n },\r\n {\r\n id: 'fechaDesde',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 53, 73, 82],\r\n label: 'Fecha desde'\r\n },\r\n {\r\n id: 'fechaHasta',\r\n idVista: [18, 19, 20, 21, 22, 24, 26, 28, 30, 45, 47, 52, 53, 73, 82],\r\n label: 'Fecha hasta'\r\n },\r\n {\r\n id: 'name',\r\n idVista: [8],\r\n label: i18n.t('clients.name')\r\n },\r\n {\r\n id: 'EmailsContacto',\r\n idVista: [8],\r\n label: i18n.t('clients.EmailsContacto')\r\n },\r\n {\r\n id: 'codigoExterno',\r\n idVista: [8],\r\n label: i18n.t('clients.cod_ext')\r\n },\r\n {\r\n id: 'ns',\r\n idVista: [8],\r\n label: i18n.t('clients.ns')\r\n },\r\n {\r\n id: 'partner',\r\n idVista: [8],\r\n label: i18n.t('clients.partner')\r\n },\r\n {\r\n id: 'grupoVigilante',\r\n idVista: [8],\r\n label: i18n.t('clients.grupo_vigilante')\r\n },\r\n {\r\n id: 'tipoServicio',\r\n idVista: [8],\r\n label: i18n.t('clients.service_type')\r\n },\r\n {\r\n id: 'PendienteFacturacion',\r\n idVista: [8],\r\n label: i18n.t('clients.alta_fact_filter')\r\n },\r\n {\r\n id: 'expires_from',\r\n idVista: [6, 29, 85],\r\n label: 'Expira desde'\r\n },\r\n {\r\n id: 'expires_to',\r\n idVista: [6, 29, 85],\r\n label: 'Expira hasta'\r\n },\r\n {\r\n id: 'name',\r\n idVista: [6, 29, 85],\r\n label: 'Nombre'\r\n },\r\n {\r\n id: 'serial',\r\n idVista: [6, 29, 85],\r\n label: 'Serial'\r\n },\r\n {\r\n id: 'tipoCert',\r\n idVista: [6, 29, 85],\r\n label: i18n.t('certificates.type')\r\n },\r\n {\r\n id: 'enUso',\r\n idVista: [6, 29, 40, 46, 44, 48, 49, 50, 51, 80],\r\n label: i18n.t('tags.used')\r\n },\r\n {\r\n id: 'propietario',\r\n idVista: [49, 51],\r\n label: i18n.t('app.owner')\r\n },\r\n {\r\n id: 'nombrecif',\r\n idVista: [14],\r\n label: i18n.t('app.organismo_cif')\r\n },\r\n {\r\n id: 'notas',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.notas')\r\n },\r\n {\r\n id: 'altaManual',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.alta_manual')\r\n },\r\n {\r\n id: 'DescargadaAutomaticamente',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.descargada_automaticamente')\r\n },\r\n {\r\n id: 'EnviarEmailError',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.eviar_email_error')\r\n },\r\n {\r\n id: 'NotificacionesPresentacionesError',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.presentations_error')\r\n },\r\n {\r\n id: 'metadato1',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.metadato')\r\n },\r\n {\r\n id: 'metadato2',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.metadato')\r\n },\r\n {\r\n id: 'metadato3',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.metadato')\r\n },\r\n {\r\n id: 'metadato4',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.metadato')\r\n },\r\n {\r\n id: 'tieneDestinatarioAutomatico',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.tieneDestinatarioAutomatico')\r\n },\r\n {\r\n id: 'tieneReglaAplicada',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.tieneReglaAplicada')\r\n },\r\n {\r\n id: 'metadato5',\r\n idVista: [1, 25],\r\n label: i18n.t('notificationFilter.metadato')\r\n },\r\n {\r\n id: 'archivadas',\r\n idVista: [1],\r\n label: i18n.t('notificationFilter.archivadas')\r\n },\r\n {\r\n id: 'temporal',\r\n idVista: [10, 11, 12, 48],\r\n label: i18n.t('app.temporal')\r\n },\r\n {\r\n id: 'estadoDiasCortesiaAEAT',\r\n idVista: [4],\r\n label: i18n.t('companies.status_solicitud_coutersy_days')\r\n },\r\n {\r\n id: 'estadoDiasCortesiaAEATError',\r\n idVista: [4],\r\n label: i18n.t('companies.status_solicitud_coutersy_days_error')\r\n },\r\n {\r\n id: 'consultaDiasCortesiaAEATError',\r\n idVista: [4],\r\n label: i18n.t('companies.status_query_coutersy_days_error')\r\n },\r\n {\r\n id: 'alertaEmpresaDesactivada',\r\n idVista: [4],\r\n label: i18n.t('companies.alertaEmpresaDesactivada')\r\n },\r\n {\r\n id: 'tipoGrupo',\r\n idVista: [40, 46, 48, 49, 51, 80],\r\n label: i18n.t('configurations.type')\r\n },\r\n {\r\n id: 'verTodoGroups',\r\n idVista: [40, 46, 48, 49, 51, 80],\r\n label: i18n.t('configurations.ver_todo_groups')\r\n },\r\n {\r\n id: 'verTodoAsignarGrupos',\r\n idVista: [40, 46, 48, 49, 51, 80],\r\n label: i18n.t('configurations.ver_todo_groups_asign')\r\n },\r\n {\r\n id: 'nombreGrupo',\r\n idVista: [1, 9, 23, 25, 44, 50],\r\n label: i18n.t('notificationFilter.group')\r\n },\r\n {\r\n id: 'nombreAgrupacion',\r\n idVista: [4, 5, 7, 10, 16, 17, 42, 60, 61, 62],\r\n label: i18n.t('app.single_grouping')\r\n },\r\n {\r\n id: 'codPGN',\r\n idVista: [4, 5, 7, 10, 16, 17, 42, 60, 61, 62, 81],\r\n label: i18n.t('app.location_link')\r\n },\r\n {\r\n id: 'nombreGrupoPropietario',\r\n idVista: [1, 25, 44, 50],\r\n label: i18n.t('notificationFilter.group_owner')\r\n },\r\n {\r\n id: 'prioridad',\r\n idVista: [44, 50],\r\n label: i18n.t('configurations.prioridad')\r\n },\r\n {\r\n id: 'EnDescarga',\r\n idVista: [44, 50],\r\n label: i18n.t('configurations.en_descarga')\r\n },\r\n {\r\n id: 'DetenerEjecucion',\r\n idVista: [44, 50],\r\n label: i18n.t('groups.detener_ejecucion')\r\n },\r\n {\r\n id: 'enviarAvisosUsuarios',\r\n idVista: [40, 46, 48, 49, 51, 80],\r\n label: i18n.t('companies.send_alerts_users')\r\n },\r\n {\r\n id: 'name',\r\n idVista: [71],\r\n label: i18n.t('distributors.name')\r\n },\r\n {\r\n id: 'tipoDistribuidor',\r\n idVista: [71],\r\n label: i18n.t('distributors.tipo_distribuidor')\r\n },\r\n {\r\n id: 'tipoProvisionamiento',\r\n idVista: [71],\r\n label: i18n.t('distributors.tipo_provisionamiento')\r\n },\r\n {\r\n id: 'tipoImportacion',\r\n idVista: [53],\r\n label: i18n.t('imports.type')\r\n },\r\n {\r\n id: 'tipoImportacionEstado',\r\n idVista: [53],\r\n label: i18n.t('imports.status')\r\n },\r\n {\r\n id: 'usuario',\r\n idVista: [53],\r\n label: i18n.t('configurations.username')\r\n },\r\n {\r\n id: 'estadoDescargaExtra',\r\n idVista: [50],\r\n label: i18n.t('app.estado_destino')\r\n },\r\n {\r\n id: 'TemporizadorDias',\r\n idVista: [81],\r\n label: i18n.t('configflow.TemporizadorDias')\r\n },\r\n {\r\n id: 'EnviarCorreosPrincipales',\r\n idVista: [81],\r\n label: i18n.t('configflow.EnviarCorreosPrincipales')\r\n },\r\n {\r\n id: 'EnviarCorreosSecundarios',\r\n idVista: [81],\r\n label: i18n.t('configflow.EnviarCorreosSecundarios')\r\n },\r\n {\r\n id: 'email',\r\n idVista: [81],\r\n label: i18n.t('configflow.EmailGenerico')\r\n },\r\n {\r\n id: 'estadoOrigen',\r\n idVista: [81],\r\n label: i18n.t('app.estado_origen')\r\n },\r\n {\r\n id: 'estadoDestino',\r\n idVista: [81],\r\n label: i18n.t('app.estado_destino')\r\n },\r\n {\r\n id: 'codPGNMultiple',\r\n idVista: [8],\r\n label: 'Sedes'\r\n },\r\n {\r\n id: 'moduloMultiple',\r\n idVista: [8],\r\n label: 'Módulos'\r\n },\r\n {\r\n id: 'Tramite',\r\n idVista: [83],\r\n label: i18n.t('presentations.Tramite')\r\n },\r\n {\r\n id: 'CodigoTramite',\r\n idVista: [83],\r\n label: i18n.t('presentations.CodigoTramite')\r\n },\r\n {\r\n id: 'DescripcionTramite',\r\n idVista: [83],\r\n label: i18n.t('presentations.DescripcionTramite')\r\n },\r\n {\r\n id: 'Asunto',\r\n idVista: [83],\r\n label: i18n.t('presentations.Asunto')\r\n },\r\n {\r\n id: 'Telefono',\r\n idVista: [83],\r\n label: i18n.t('presentations.Telefono')\r\n },\r\n {\r\n id: 'Email',\r\n idVista: [83],\r\n label: i18n.t('presentations.Email')\r\n },\r\n {\r\n id: 'PresentarRecurso',\r\n idVista: [83],\r\n label: i18n.t('presentations.PresentarRecurso')\r\n },\r\n {\r\n id: 'Observaciones',\r\n idVista: [83],\r\n label: i18n.t('presentations.Observaciones')\r\n },\r\n {\r\n id: 'NumAsiento',\r\n idVista: [83],\r\n label: i18n.t('presentations.NumAsiento')\r\n },\r\n {\r\n id: 'CSVRecibo',\r\n idVista: [83],\r\n label: i18n.t('presentations.CSVRecibo')\r\n },\r\n {\r\n id: 'URLRecibo',\r\n idVista: [83],\r\n label: i18n.t('presentations.URLRecibo')\r\n },\r\n {\r\n id: 'FechaPresentacionDesde',\r\n idVista: [83],\r\n label: i18n.t('presentations.FechaPresentacionDesde')\r\n },\r\n {\r\n id: 'FechaPresentacionHasta',\r\n idVista: [83],\r\n label: i18n.t('presentations.FechaPresentacionHasta')\r\n },\r\n {\r\n id: 'tipoPresentacionEstado',\r\n idVista: [1],\r\n label: i18n.t('presentations.Estado_NEO')\r\n },\r\n {\r\n id: 'tipoPresentacionEstado',\r\n idVista: [83],\r\n label: i18n.t('presentations.Estado')\r\n },\r\n {\r\n id: 'Error',\r\n idVista: [83],\r\n label: i18n.t('presentations.Error')\r\n },\r\n {\r\n id: 'Documento',\r\n idVista: [84],\r\n label: i18n.t('documentmaster.Documento'),\r\n },\r\n {\r\n id: 'Extension',\r\n idVista: [84],\r\n label: i18n.t('documentmaster.Extension'),\r\n },\r\n {\r\n id: 'CodigoTipoDocumento',\r\n idVista: [84],\r\n label: i18n.t('documentmaster.CodigoTipoDocumento'),\r\n },\r\n {\r\n id: 'DescripcionTipoDocumento',\r\n idVista: [84],\r\n label: i18n.t('documentmaster.DescripcionTipoDocumento'),\r\n },\r\n]\r\n\r\nexport {\r\n LABEL_FILTROS\r\n}\r\n","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function getBusquedas (params) {\r\n if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n return new Promise((resolve, reject) => {\r\n resolve(mock.getNotification)\r\n })\r\n } else {\r\n const req = {\r\n url: '/api/usuarios/getbusquedas',\r\n method: 'GET',\r\n params\r\n }\r\n const res = await axiosInstance(req)\r\n return res.data\r\n }\r\n}\r\n\r\nexport { getBusquedas }\r\n","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function deleteBusqueda (params = null) {\r\n if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n return new Promise((resolve, reject) => {\r\n const data = mock.getLocations\r\n const pages = data.data.length\r\n\r\n const clone = JSON.parse(JSON.stringify(data))\r\n clone.meta.total = pages\r\n\r\n resolve(clone)\r\n })\r\n } else {\r\n const req = {\r\n url: '/api/usuarios/deletebusqueda',\r\n method: 'DELETE',\r\n headers: {\r\n 'Content-type': 'application/json',\r\n 'access-control-allow-origin': '*'\r\n },\r\n params\r\n }\r\n const res = await axiosInstance(req)\r\n return res.data\r\n }\r\n}\r\n\r\nexport { deleteBusqueda }\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchesPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchesPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SearchesPanel.vue?vue&type=template&id=1b830510&scoped=true&\"\nimport script from \"./SearchesPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchesPanel.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 \"1b830510\",\n null\n \n)\n\nexport default component.exports","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { EnumFilter } from './EnumFilter';\nimport { filterIsTrue, filterIsFalse } from '../../messages'; // tslint:enable:max-line-length\n\nvar BooleanFilter = {\n name: 'KendoBooleanFilter',\n props: {\n filter: {\n type: Object,\n required: true\n },\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n defaultItem: Object\n },\n data: function data() {\n return {\n currentData: [{\n text: filterIsTrue,\n value: true\n }, {\n text: filterIsFalse,\n value: false\n }]\n };\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return (// @ts-ignore\n h(EnumFilter, {\n filter: this.$props.filter,\n attrs: this.v3 ? undefined : {\n filter: this.$props.filter,\n dataItems: this.$props.dataItems || this.currentData,\n defaultItem: this.$props.defaultItem\n },\n onFilterchange: this.handleFilterChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.handleFilterChange\n },\n dataItems: this.$props.dataItems || this.currentData,\n defaultItem: this.$props.defaultItem\n })\n );\n },\n methods: {\n handleFilterChange: function handleFilterChange(event) {\n this.$emit('filterchange', event);\n }\n }\n};\nvar BooleanFilterVue3 = BooleanFilter;\nexport { BooleanFilter, BooleanFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { Button, Toolbar, ToolbarItem } from '@progress/kendo-vue-buttons';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { unaryOperator, stringOperator } from './operators';\nimport { messages, filterClose } from '../messages';\nimport { TextFilter } from './filters/TextFilter';\nimport { NumericFilter } from './filters/NumericFilter';\nimport { BooleanFilter } from './filters/BooleanFilter';\nimport { DateFilter } from './filters/DateFilter'; // tslint:enable:max-line-length\n\nvar Expression = {\n name: 'KendoExpression',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter;\n var field = fields.find(function (f) {\n return f.name === filter.field;\n });\n var locService = provideLocalizationService(this);\n var operators = (field && field.operators || []).map(function (o) {\n return __assign(__assign({}, o), {\n text: locService.toLanguageString(o.text, messages[o.text] || o.text)\n });\n });\n var defaultRendering = null;\n\n var filterEditors = function filterEditors(filterName, filterRender) {\n switch (filterName) {\n case 'numeric':\n defaultRendering = // @ts-ignore\n h(NumericFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n case 'date':\n defaultRendering = // @ts-ignore\n h(DateFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n case 'boolean':\n defaultRendering = // @ts-ignore\n h(BooleanFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n\n default:\n defaultRendering = // @ts-ignore\n h(TextFilter, {\n filter: filter,\n attrs: this.v3 ? undefined : {\n filter: filter\n },\n onFilterchange: this.onInputChange,\n on: this.v3 ? undefined : {\n \"filterchange\": this.onInputChange\n }\n });\n break;\n }\n\n return getTemplate.call(this, {\n h: h,\n template: filterRender,\n defaultRendering: defaultRendering,\n additionalProps: {\n filter: filter\n },\n additionalListeners: {\n filterchange: this.onInputChange\n }\n });\n };\n\n return h(\"div\", {\n \"class\": \"k-filter-toolbar\"\n }, [// @ts-ignore function children \n h(Toolbar, {\n keyboardNavigation: false,\n attrs: this.v3 ? undefined : {\n keyboardNavigation: false\n }\n }, this.v3 ? function () {\n return [// @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-field\"\n }, _this.v3 ? function () {\n return [// @ts-ignore \n h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })];\n } : [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-operator\"\n }, _this.v3 ? function () {\n return [// @ts-ignore\n h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })];\n } : [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, {\n \"class\": \"k-filter-value\"\n }, _this.v3 ? function () {\n return [field && filterEditors.call(_this, field.filter, field.filterRender)];\n } : [field && filterEditors.call(_this, field.filter, field.filterRender)]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore\n h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })])];\n } : [h(ToolbarItem, {\n \"class\": \"k-filter-field\"\n }, _this.v3 ? function () {\n return [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })];\n } : [h(DropDownList, {\n \"class\": \"k-filter-dropdown\",\n dataItems: fields,\n attrs: _this.v3 ? undefined : {\n dataItems: fields,\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n })\n },\n textField: \"label\",\n value: fields.find(function (f) {\n return f.name === filter.field;\n }),\n onChange: _this.onFieldChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onFieldChange\n }\n })]), h(ToolbarItem, {\n \"class\": \"k-filter-operator\"\n }, _this.v3 ? function () {\n return [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })];\n } : [h(DropDownList, {\n dataItems: operators,\n attrs: _this.v3 ? undefined : {\n dataItems: operators,\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n })\n },\n textField: \"text\",\n value: operators.find(function (o) {\n return o.operator === filter.operator;\n }),\n onChange: _this.onOperatorChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onOperatorChange\n }\n })]), h(ToolbarItem, {\n \"class\": \"k-filter-value\"\n }, _this.v3 ? function () {\n return [field && filterEditors.call(_this, field.filter, field.filterRender)];\n } : [field && filterEditors.call(_this, field.filter, field.filterRender)]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onFilterRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onFilterRemove\n }\n })])])]);\n },\n methods: {\n onFieldChange: function onFieldChange(event) {\n var nextFieldName = event.value.name;\n var nextField = this.$props.fields.find(function (f) {\n return f.name === nextFieldName;\n });\n var prevFilter = this.$props.filter;\n var operator = nextField && !nextField.operators.some(function (o) {\n return o.operator === prevFilter.operator;\n }) ? nextField.operators[0].operator : prevFilter.operator;\n var nextFilter = {\n field: nextFieldName,\n operator: operator\n };\n\n if (!unaryOperator(operator)) {\n nextFilter.value = stringOperator(operator) ? '' : null;\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n onOperatorChange: function onOperatorChange(event) {\n var operator = event.value.operator;\n var prevFilter = this.$props.filter;\n var nextFilter;\n\n if (unaryOperator(operator)) {\n var value = prevFilter.value,\n prevFilterNoValue = __rest(prevFilter, [\"value\"]);\n\n nextFilter = __assign(__assign({}, prevFilterNoValue), {\n operator: operator\n });\n } else {\n nextFilter = __assign(__assign({}, prevFilter), {\n operator: operator\n });\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n onInputChange: function onInputChange(event) {\n var prevFilter = this.$props.filter;\n var nextFilter = event.nextFilter;\n\n if (unaryOperator(nextFilter.operator)) {\n var field = this.$props.fields.find(function (f) {\n return f.name === nextFilter.field;\n });\n nextFilter = __assign(__assign({}, nextFilter), {\n operator: field && field.operators[0].operator || nextFilter.operator\n });\n }\n\n this.triggerOnFilterChange(prevFilter, nextFilter, event);\n },\n triggerOnFilterChange: function triggerOnFilterChange(prevFilter, nextFilter, event) {\n var changeEvent = {\n prevFilter: prevFilter,\n nextFilter: nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n },\n onFilterRemove: function onFilterRemove(event) {\n var removeEvent = {\n filter: this.$props.filter,\n event: event.event,\n target: this\n };\n this.$emit('remove', removeEvent);\n }\n }\n};\nvar ExpressionVue3 = Expression;\nexport { Expression, ExpressionVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Input } from '@progress/kendo-vue-inputs'; // tslint:enable:max-line-length\n\nvar TextFilter = {\n name: 'kendoTextFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return (// @ts-ignore\n h(Input, {\n value: this.$props.filter.value || '',\n attrs: this.v3 ? undefined : {\n value: this.$props.filter.value || ''\n },\n onInput: this.onChange,\n on: this.v3 ? undefined : {\n \"input\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar TextFilterVue3 = TextFilter;\nexport { TextFilter, TextFilterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `PagerNavigationButton` component.\n */\n\nvar PagerNavigationButton = {\n name: 'KendoPagerNavigationButton',\n props: {\n title: String,\n icon: String,\n page: Number\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n changePage: function changePage(e) {\n e.preventDefault();\n this.$emit('pagechange', this.$props.page, e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"a\", {\n \"class\": 'k-link k-pager-nav',\n onClick: this.changePage,\n on: this.v3 ? undefined : {\n \"click\": this.changePage\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\",\n title: this.$props.title\n },\n title: this.$props.title\n }, [h(\"span\", {\n \"class\": this.$props.icon,\n \"aria-label\": this.$props.title,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.title\n }\n })]);\n }\n};\nvar PagerNavigationButtonVue3 = PagerNavigationButton;\nexport { PagerNavigationButton, PagerNavigationButtonVue3 };","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n};\n\nvar _a, _b, _c;\n/**\n * @hidden\n */\n\n\nexport var KEYBOARD_NAV_DATA_LEVEL = 'data-keyboardnavlevel';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_SCOPE = 'data-keyboardnavscope';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_HEADER = 'data-keyboardnavheader';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_BODY = 'data-keyboardnavbody';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_ID = 'data-keyboardnavid';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_DATA_ZONE = 'data-keyboardnavzone';\n/**\n * @hidden\n */\n\nexport var KEYBOARD_NAV_FILTER_COL_SUFFIX = '_filter';\nvar FOCUSABLE_ELEMENTS_BASE = ['input:not([disabled]):not([type=hidden])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'a[href]', 'area[href]', 'summary', 'iframe', 'object', 'embed', 'audio[controls]', 'video[controls]', '[contenteditable]'];\n/**\n * @hidden\n */\n\nexport var FOCUSABLE_ELEMENTS = __spreadArrays(FOCUSABLE_ELEMENTS_BASE, ['[tabindex]']);\n/**\n * @hidden\n */\n\nexport var TABBABLE_ELEMENTS = __spreadArrays(FOCUSABLE_ELEMENTS_BASE, ['[tabindex]']).map(function (selector) {\n return selector + ':not([tabindex=\"-1\"])';\n});\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationScopeAttributes = (_a = {}, _a[KEYBOARD_NAV_DATA_SCOPE] = true, _a);\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationHeaderAttributes = (_b = {}, _b[KEYBOARD_NAV_DATA_HEADER] = true, _b);\n/**\n * @hidden\n */\n\nexport var tableKeyboardNavigationBodyAttributes = (_c = {}, _c[KEYBOARD_NAV_DATA_BODY] = true, _c);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages } from './../../messages'; // tslint:enable:max-line-length\n\nvar EnumFilter = {\n name: 'KendoEnumFilter',\n props: {\n filter: {\n type: Object,\n required: true\n },\n dataItems: Array,\n defaultItem: Object\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var locService = provideLocalizationService(this);\n var _a = this.$props,\n filter = _a.filter,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n defaultItem = _a.defaultItem;\n var locData = dataItems.map(function (item) {\n return __assign(__assign({}, item), {\n text: locService.toLanguageString(item.text, messages[item.text] || item.text)\n });\n });\n return (// @ts-ignore\n h(DropDownList, {\n value: locData.find(function (i) {\n return i.value === filter.value;\n }) || null,\n attrs: this.v3 ? undefined : {\n value: locData.find(function (i) {\n return i.value === filter.value;\n }) || null,\n defaultItem: defaultItem,\n dataItems: locData,\n textField: \"text\"\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n },\n defaultItem: defaultItem,\n dataItems: locData,\n textField: \"text\"\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value.value\n })\n });\n }\n }\n};\nvar EnumFilterVue3 = EnumFilter;\nexport { EnumFilter, EnumFilterVue3 };","/**\n * @hidden\n */\nvar normalizeSettings = function (_a) {\n var _b = _a.buttonCount, buttonCount = _b === void 0 ? 10 : _b, _c = _a.info, info = _c === void 0 ? true : _c, _d = _a.type, type = _d === void 0 ? 'numeric' : _d, _e = _a.pageSizes, pageSizes = _e === void 0 ? false : _e, _f = _a.previousNext, previousNext = _f === void 0 ? true : _f, _g = _a.responsive, responsive = _g === void 0 ? true : _g, _h = _a.pagerRender, pagerRender = _h === void 0 ? undefined : _h;\n return ({\n buttonCount: buttonCount,\n info: info,\n pageSizes: pageSizes === true ? [5, 10, 20] : pageSizes,\n previousNext: previousNext,\n type: type,\n responsive: responsive,\n pagerRender: pagerRender\n });\n};\n/**\n * @hidden\n */\nexport var normalize = function (settings) {\n return normalizeSettings(settings === true ? {} : settings);\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getDefaultSlots, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '../navigation/constants';\n/**\n * Represents the default `HeaderThElement` component.\n */\n\nvar HeaderThElement = {\n name: 'KendoHeaderThElement',\n // @ts-ignore\n emits: {\n keydown: null\n },\n props: {\n ariaSort: {\n type: String,\n validator: function validator(value) {\n return ['none', 'ascending', 'descending'].includes(value);\n }\n },\n ariaLabel: String,\n ariaColumnIndex: Number,\n ariaSelected: Boolean,\n colSpan: Number,\n rowSpan: Number,\n role: String,\n columnId: String,\n navigatable: Boolean\n },\n inject: {\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaSort = _a.ariaSort,\n colSpan = _a.colSpan,\n rowSpan = _a.rowSpan,\n className = _a.className,\n style = _a.style,\n columnId = _a.columnId,\n navigatable = _a.navigatable,\n ariaColumnIndex = _a.ariaColumnIndex,\n ariaLabel = _a.ariaLabel,\n role = _a.role,\n ariaSelected = _a.ariaSelected;\n var navAttrs = this.getKeyboardNavigationAttributes(columnId, navigatable);\n var defaultSlot = getDefaultSlots(this);\n return h(\"th\", {\n \"aria-sort\": ariaSort,\n attrs: this.v3 ? undefined : {\n \"aria-sort\": ariaSort,\n \"aria-label\": ariaLabel,\n \"aria-colindex\": ariaColumnIndex,\n \"aria-selected\": ariaSelected,\n colSpan: colSpan,\n rowSpan: rowSpan,\n role: role,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"aria-label\": ariaLabel,\n \"aria-colindex\": ariaColumnIndex,\n \"aria-selected\": ariaSelected,\n colSpan: colSpan,\n rowSpan: rowSpan,\n \"class\": className,\n style: style,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n },\n role: role,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [defaultSlot]);\n },\n methods: {\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n }\n }\n};\nvar HeaderThElementVue3 = HeaderThElement;\nexport { HeaderThElement, HeaderThElementVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar DEFAULT_NUMBER = 1111111.1111111;\nvar MAX_DECIMAL = 0.31111111111111117;\nvar MIN_DECIMAL = 1;\nvar ONE_NUMBER = 1;\nvar ZERO_NUMBER = 0;\nvar DIGITS_REGEX = /\\d/;\n/**\n * @hidden\n */\n\nexport var getInitialState = function getInitialState() {\n return {\n eventValue: null,\n prevLooseValue: '',\n currentLooseValue: '',\n focused: false,\n selectionStart: undefined,\n selectionEnd: undefined,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false\n };\n};\n/**\n * @hidden\n */\n\nexport var getStateOrPropsValue = function getStateOrPropsValue(value, stateValue) {\n return value !== undefined ? value : stateValue;\n};\n/**\n * @hidden\n */\n\nexport var formatValue = function formatValue(value, format, intlService) {\n if (value === null && value === undefined) {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return intlService.formatNumber(value, format);\n};\n/**\n * @hidden\n */\n\nexport var increaseValue = function increaseValue(value, newState, step, min, max, format, intlService) {\n var increasedValue = rangeValue((value || 0) + (step || 0), min, max);\n newState.eventValue = increasedValue;\n newState.currentLooseValue = formatValue(increasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var decreaseValue = function decreaseValue(value, newState, step, min, max, format, intlService) {\n var decreasedValue = rangeValue((value || 0) - (step || 0), min, max);\n newState.eventValue = decreasedValue;\n newState.currentLooseValue = formatValue(decreasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var rangeValue = function rangeValue(value, min, max) {\n if (value == null) {\n return value;\n }\n\n if (!(value > 1 || value < 1 || value === 1)) {\n // null, undefined or NaN\n return null;\n }\n\n if (max !== undefined && min !== undefined && max < min) {\n return null;\n }\n\n if (max !== undefined && value > max) {\n value = max;\n }\n\n if (min !== undefined && value < min) {\n value = min;\n }\n\n return value;\n};\n/**\n * @hidden\n */\n\nexport var getMaxCursorPosition = function getMaxCursorPosition(nextValue, formatInfo) {\n var formatSuffixIndex = formatInfo.findIndex(function (_a) {\n var _ = _a[0],\n currSuffix = _a[1];\n return Boolean(currSuffix) && nextValue.indexOf(currSuffix) === nextValue.length - currSuffix.length;\n });\n\n if (formatSuffixIndex === -1) {\n return -1;\n }\n\n var suffix = formatInfo[formatSuffixIndex][1];\n return nextValue.length - suffix.length;\n};\n/**\n * @hidden\n */\n\nexport var getMinCursorPosition = function getMinCursorPosition(nextValue, formatInfo) {\n var formatPrefixIndex = formatInfo.findIndex(function (_a) {\n var currPrefix = _a[0],\n _ = _a[1];\n return Boolean(currPrefix) && nextValue.indexOf(currPrefix) === 0;\n });\n\n if (formatPrefixIndex === -1) {\n return -1;\n }\n\n var prefix = formatInfo[formatPrefixIndex][0];\n return prefix.length;\n};\n/**\n * @hidden\n */\n\nexport var rangeSelection = function rangeSelection(nextLooseValue, formatInfo, newState) {\n var maxPosition = getMaxCursorPosition(nextLooseValue, formatInfo);\n\n if (maxPosition !== -1 && newState.selectionStart > maxPosition) {\n newState.selectionStart = newState.selectionEnd = maxPosition;\n return;\n }\n\n if (newState.selectionStart > nextLooseValue.length) {\n newState.selectionStart = newState.selectionEnd = nextLooseValue.length;\n }\n\n var minPosition = getMinCursorPosition(nextLooseValue, formatInfo);\n\n if (minPosition !== -1 && newState.selectionStart < minPosition) {\n newState.selectionStart = newState.selectionEnd = minPosition;\n }\n\n if (newState.selectionStart === -1) {\n newState.selectionStart = newState.selectionEnd = 0;\n }\n};\n/**\n * @hidden\n */\n\nexport var setSelection = function setSelection(newState, newIndex, nextLooseValue, formatInfo) {\n newState.selectionStart = newState.selectionEnd = newIndex;\n rangeSelection(nextLooseValue, formatInfo, newState);\n};\n/**\n * @hidden\n */\n\nexport var setInvalid = function setInvalid(newState, format, formatInfo, intlService) {\n newState.eventValue = intlService.parseNumber(newState.prevLooseValue, format);\n newState.currentLooseValue = newState.prevLooseValue;\n newState.valueIsCorrected = true;\n setSelection(newState, newState.selectionStart, newState.currentLooseValue, formatInfo);\n};\n/**\n * @hidden\n */\n\nexport var isMinusSymbolAdded = function isMinusSymbolAdded(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n var oldText = String(newState.prevLooseValue);\n return newText.split(symbols.minusSign).length !== oldText.split(symbols.minusSign).length && newText.length === oldText.length + symbols.minusSign.length;\n};\n/**\n * @hidden\n */\n\nexport var isDecimalDuplicated = function isDecimalDuplicated(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n return newText.split(symbols.decimal).length > 2;\n};\n/**\n * @hidden\n */\n\nexport var getFormatPrefixSufix = function getFormatPrefixSufix(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var positivePrefix = getPrefix(positiveResult);\n var negativePrefix = getPrefix(negativeResult);\n var zeroPrefix = getPrefix(zeroResult);\n var onePrefix = getPrefix(oneResult);\n var positiveSuffix = getSuffix(positiveResult);\n var negativeSuffix = getSuffix(negativeResult);\n var zeroSuffix = getSuffix(zeroResult);\n var oneSuffix = getSuffix(oneResult);\n return {\n positiveInfo: [positivePrefix, positiveSuffix],\n negativeInfo: [negativePrefix, negativeSuffix],\n zeroInfo: [zeroPrefix, zeroSuffix],\n oneInfo: [onePrefix, oneSuffix]\n };\n};\n/**\n * @hidden\n */\n\nexport var getFormatSymbols = function getFormatSymbols(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var symbols = intlService.numberSymbols();\n var sanitizeRegex = new RegExp(\"[\\\\d\\\\\" + symbols.decimal + symbols.group + \"]\", 'g');\n var resultWithDuplicates = [positiveResult, negativeResult, zeroResult, oneResult].map(function (result) {\n return result.replace(sanitizeRegex, '');\n }).join('');\n return resultWithDuplicates.split('').filter(function (x, n, s) {\n return s.indexOf(x) === n;\n }).join('');\n};\n/**\n * @hidden\n */\n\nexport var getInitialPosition = function getInitialPosition(nextLooseValue, symbols) {\n var decimalIdex = nextLooseValue.indexOf(symbols.decimal);\n\n if (decimalIdex > -1) {\n return decimalIdex;\n }\n\n return getLastNumberIndex(nextLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\n\nexport var reverseString = function reverseString(str) {\n return str.split('').reverse().join('');\n};\n/**\n * @hidden\n */\n\nexport var getLastNumberIndex = function getLastNumberIndex(currentLooseValue, inputRegex) {\n return currentLooseValue.length - reverseString(currentLooseValue).search(inputRegex);\n};\n/**\n * @hidden\n */\n\nexport var getPrefix = function getPrefix(str) {\n return str.split(str[str.search(DIGITS_REGEX)])[0];\n};\n/**\n * @hidden\n */\n\nexport var getSuffix = function getSuffix(str) {\n var reversedString = reverseString(str);\n return reverseString(reversedString.split(reversedString[reversedString.search(DIGITS_REGEX)])[0]);\n};\n/**\n * @hidden\n */\n\nexport var getFirstNumberIndex = function getFirstNumberIndex(prevLooseValue, inputRegex) {\n return prevLooseValue.search(inputRegex);\n};\n/**\n * @hidden\n */\n\nexport var getDecimalCount = function getDecimalCount(value, decimal) {\n var currentDecimalPlace = value.indexOf(decimal);\n return currentDecimalPlace > -1 ? value.length - currentDecimalPlace - 1 : 0;\n};\n/**\n * @hidden\n */\n\nexport var changeBasedSelection = function changeBasedSelection(currentValue, nextValue, selectionPosition, isDelete, sanitizeRegex) {\n var isCurrentLeadingZero = currentValue.replace(sanitizeRegex, '')[0] === '0';\n var isNextLeadingZero = nextValue.replace(sanitizeRegex, '')[0] === '0';\n\n if (isCurrentLeadingZero && !isNextLeadingZero) {\n return selectionPosition - 1;\n }\n\n if (isNextLeadingZero && isDelete) {\n return selectionPosition + 1;\n }\n\n var numberCounter = 0;\n\n for (var idx = 0; idx < selectionPosition; idx++) {\n if (DIGITS_REGEX.test(currentValue.charAt(idx))) {\n numberCounter++;\n }\n }\n\n var newSelection = 0;\n\n while (numberCounter > 0 && nextValue.length > newSelection) {\n if (DIGITS_REGEX.test(nextValue.charAt(newSelection))) {\n numberCounter--;\n }\n\n newSelection++;\n }\n\n return newSelection;\n};\n/**\n * @hidden\n */\n\nexport var sanitizeNumber = function sanitizeNumber(state, // NumericTextBoxData,\nformat, intlService) {\n var newState = __assign({}, state);\n\n var prevLooseValue = newState.prevLooseValue;\n var symbols = intlService.numberSymbols();\n var restrictedSymbols = getFormatSymbols(format, intlService);\n var currentLooseValueAsString = String(newState.currentLooseValue);\n var prevLooseValueAsString = String(prevLooseValue);\n var sanitizeRegex = new RegExp(\"[^\\\\d\\\\\" + symbols.decimal + \"]\", 'g');\n var sanitizeGroupRegex = new RegExp(\"[^\\\\d\\\\\" + symbols.decimal + \"\\\\\" + symbols.group + \"]\", 'g');\n var allSymbolsRegex = new RegExp(\"[\\\\d\\\\\" + symbols.decimal + \"\\\\\" + symbols.group + \"]\");\n var sanitizedString = currentLooseValueAsString.replace(sanitizeRegex, '');\n var numberStart = getFirstNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var numberEnd = numberStart === -1 ? -1 : getLastNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var decimalIndex = currentLooseValueAsString.indexOf(symbols.decimal);\n var sanitizedFormattedString = (currentLooseValueAsString.substring(0, numberStart) + currentLooseValueAsString.substring(numberStart, numberEnd).replace(sanitizeGroupRegex, '') + currentLooseValueAsString.substring(numberEnd, currentLooseValueAsString.length)).split('').filter(function (s) {\n return restrictedSymbols.indexOf(s) !== -1 || s.search(allSymbolsRegex) !== -1;\n }).join('');\n var formattedMax = intlService.formatNumber(MAX_DECIMAL, format).replace(sanitizeRegex, '');\n var maxDecimalIndex = formattedMax.indexOf(symbols.decimal);\n var maxDecimalCount = maxDecimalIndex > -1 ? formattedMax.length - maxDecimalIndex - 1 : 0;\n var formattedMin = intlService.formatNumber(MIN_DECIMAL, format).replace(sanitizeRegex, '');\n var minDecimalIndex = formattedMin.indexOf(symbols.decimal);\n var minDecimalCount = minDecimalIndex > -1 ? formattedMin.length - minDecimalIndex - 1 : 0;\n\n var _a = getFormatPrefixSufix(format, intlService),\n positiveInfo = _a.positiveInfo,\n negativeInfo = _a.negativeInfo,\n zeroInfo = _a.zeroInfo,\n oneInfo = _a.oneInfo;\n\n var formatInfo = [positiveInfo, negativeInfo, zeroInfo, oneInfo];\n var isFormatContainPrefixSuffix = formatInfo.findIndex(function (info) {\n return info.findIndex(function (nestedInfo) {\n return Boolean(nestedInfo);\n }) !== -1;\n }) !== 1;\n var isDelete = currentLooseValueAsString.length > 0 && currentLooseValueAsString.length < prevLooseValueAsString.length;\n\n if (!newState.isPaste) {\n // 1. Empty input\n if (currentLooseValueAsString === '') {\n newState.eventValue = null;\n newState.currentLooseValue = '';\n return newState;\n } // 2. Check is minus sign\n\n\n if (newState.currentLooseValue === symbols.minusSign && intlService.formatNumber(-0, format) !== prevLooseValueAsString) {\n newState.eventValue = -0;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols), newState.currentLooseValue, formatInfo);\n return newState;\n } // 3. Minus sign toggle\n\n\n if (isMinusSymbolAdded(newState, symbols)) {\n var nextValue = intlService.parseNumber(prevLooseValue, format);\n newState.eventValue = -(nextValue !== null ? nextValue : 0);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n var currentNumberStart = getFirstNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n var oldNumberStart = getFirstNumberIndex(prevLooseValueAsString, DIGITS_REGEX);\n setSelection(newState, newState.selectionEnd - 1 + (currentNumberStart - oldNumberStart), newState.currentLooseValue, formatInfo);\n return newState;\n } // 4. Check is decimal symbol\n\n\n if (newState.currentLooseValue === symbols.decimal) {\n newState.eventValue = 0;\n var valueCandidate = formatValue(newState.eventValue, format, intlService);\n\n if (minDecimalCount === 0 && maxDecimalCount > 0) {\n var currentLastNumberIndex = getLastNumberIndex(valueCandidate, DIGITS_REGEX);\n newState.currentLooseValue = valueCandidate.substring(0, currentLastNumberIndex) + symbols.decimal + valueCandidate.substring(currentLastNumberIndex);\n } else {\n newState.currentLooseValue = valueCandidate;\n }\n\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols) + 1, newState.currentLooseValue, formatInfo);\n return newState;\n } // 5. Duplicate decimal - it's possible only as trailing\n\n\n if (isDecimalDuplicated(newState, symbols)) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n } // 6. Percent format\n\n\n if (format === 'p' && currentLooseValueAsString && currentLooseValueAsString.indexOf(symbols.percentSign) === -1) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format) / 100;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n } // 7. More than 15 numeric symbols\n\n\n var numericSymbols = String(newState.currentLooseValue).replace(/[^\\d]/g, '');\n\n if (numericSymbols.length > 15) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n } // 8. Check prefix / suffix for modifications\n\n\n if (sanitizedString !== currentLooseValueAsString && currentLooseValueAsString && isFormatContainPrefixSuffix) {\n var formatInfoIndex = formatInfo.findIndex(function (_a) {\n var prefix = _a[0],\n suffix = _a[1];\n var prefixIndex = currentLooseValueAsString.indexOf(prefix);\n var suffixIndex = currentLooseValueAsString.indexOf(suffix);\n var prefixFound = prefixIndex === 0;\n var suffixFound = suffixIndex === currentLooseValueAsString.length - suffix.length;\n var prefixGap = prefixIndex + prefix.length !== numberStart && numberStart !== -1 && currentLooseValueAsString[prefixIndex + prefix.length] !== symbols.decimal;\n var suffixGap = suffixIndex !== numberEnd && numberEnd !== -1 && currentLooseValueAsString[suffixIndex - 1] !== symbols.decimal;\n\n if (prefix && suffix) {\n if (prefixGap || suffixGap) {\n return false;\n }\n\n return prefixFound && suffixFound;\n }\n\n if (prefix) {\n if (prefixGap) {\n return false;\n }\n\n return prefixFound;\n }\n\n if (suffix) {\n if (suffixGap) {\n return false;\n }\n\n return suffixFound;\n }\n\n return false;\n });\n\n if (formatInfoIndex === -1) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n }\n } // 9. Value ending on decimal separator (here as decimal might be typed inside format)\n\n\n if (sanitizedString[sanitizedString.length - 1] === symbols.decimal && maxDecimalCount > 0) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n } // 10. prevent deleting decimal and group symbols\n\n\n if (newState.currentLooseValue && prevLooseValue) {\n var isSpecialSymbolDeleted = (restrictedSymbols + symbols.decimal + symbols.group).split('').findIndex(function (s) {\n if (currentLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length < prevLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length && currentLooseValueAsString.length + 1 === prevLooseValueAsString.length) {\n if (s === symbols.decimal && getDecimalCount(prevLooseValueAsString.replace(sanitizeRegex, ''), symbols.decimal) === 0) {\n return false;\n }\n\n return true;\n }\n\n return false;\n }) > -1;\n\n if (isSpecialSymbolDeleted) {\n newState.eventValue = intlService.parseNumber(state.prevLooseValue, format);\n newState.currentLooseValue = state.prevLooseValue;\n return newState;\n }\n }\n\n var currentDecimalCount = getDecimalCount(sanitizedString, symbols.decimal);\n var endsOnDecimal = sanitizedString[sanitizedString.length - 1] === '0'; // 11. Deleting more decimals than allowed\n\n if (isDelete && endsOnDecimal && currentDecimalCount < minDecimalCount) {\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n } // 12. Ending on zero OR more decimals than allowed\n\n\n if (currentDecimalCount > 0) {\n var valueUntillDecimal = currentLooseValueAsString.substring(0, decimalIndex);\n\n if (endsOnDecimal && (!valueUntillDecimal || prevLooseValueAsString.indexOf(valueUntillDecimal) !== 0)) {\n // ending on zero but typing before decimal separator\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n var nextLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n newState.currentLooseValue = nextLooseValue;\n return newState;\n }\n\n if (currentDecimalCount > maxDecimalCount) {\n // typing more symbols than format allows\n var looseDecimalPlace = currentLooseValueAsString.indexOf(symbols.decimal);\n var result = currentLooseValueAsString.substring(0, looseDecimalPlace) + currentLooseValueAsString.substring(looseDecimalPlace, looseDecimalPlace + 1 + maxDecimalCount) + currentLooseValueAsString.substring(numberEnd, String(newState.currentLooseValue).length);\n newState.eventValue = intlService.parseNumber(result, format);\n newState.currentLooseValue = result;\n setSelection(newState, newState.selectionStart, result, formatInfo);\n return newState;\n }\n\n if (minDecimalCount !== maxDecimalCount && currentDecimalCount <= maxDecimalCount && endsOnDecimal) {\n // adding trailing zeroes\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n }\n\n if (currentDecimalCount < minDecimalCount) {\n // deleting more decimals than allowed\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n }\n }\n } // X. All other values should be parsed\n\n\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n\n if (typeof newState.eventValue === 'number') {\n var nextLooseValue = formatValue(newState.eventValue, format, intlService); // First digit add\n\n if (currentLooseValueAsString.length === 1) {\n setSelection(newState, getInitialPosition(nextLooseValue, symbols), nextLooseValue, formatInfo);\n } else {\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n }\n\n newState.currentLooseValue = nextLooseValue;\n } else {\n // Case when deleting last number\n newState.currentLooseValue = formatValue(intlService.parseNumber(sanitizedString), format, intlService);\n }\n\n return newState;\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { canUseDOM, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { guid, validatePackage } from '@progress/kendo-vue-common';\nimport { messages, numericIncreaseValue, numericDecreaseValue } from './../messages';\nimport { formatValue, sanitizeNumber, rangeValue, increaseValue, decreaseValue, getStateOrPropsValue } from './utils';\nimport { packageMetadata } from '../package-metadata';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\nvar NumericTextBox = {\n model: {\n event: 'changemodel'\n },\n inheritAttrs: false,\n // @ts-ignore\n emits: {\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n modelValue: Number,\n value: Number,\n defaultValue: Number,\n step: {\n type: Number,\n default: 1\n },\n format: [String, Object],\n tabIndex: Number,\n accessKey: String,\n title: String,\n placeholder: String,\n min: Number,\n max: Number,\n spinners: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: String,\n name: String,\n label: String,\n validationMessage: String,\n validityStyles: {\n type: Boolean,\n default: true\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n required: {\n type: Boolean,\n default: false\n },\n id: String\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false,\n isInvalid: false,\n isEmpty: false,\n currentValue: 0,\n valueDuringOnChange: 0,\n currentLooseValue: '',\n selectionStart: 0,\n selectionEnd: 0,\n decimalSelect: false,\n focused: false,\n forceUpdate: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._textBeforeInput = '';\n this._inputId = guid();\n this.$data.currentLooseValue = null;\n this.$data.valueDuringOnChange = undefined;\n this._intl = provideIntlService(this);\n this._symbols = this._intl.numberSymbols();\n\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = null;\n }\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n this._elementWrapper = this.v3 ? this.elementWrapperRef : this.$refs.elementWrapper;\n this.$data.hasMounted = true;\n\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n\n this.setValidity();\n },\n updated: function updated() {\n if (!(canUseDOM && document.activeElement !== this._input || !this._input) && this.$data.currentLooseValue !== null) {\n if (this.$data.forceUpdate) {\n this._input.selectionStart = this.$data.selectionStart;\n this._input.selectionEnd = this.$data.selectionEnd;\n this.$data.forceUpdate = false;\n }\n }\n\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n\n this.setValidity();\n },\n computed: {\n computedValue: {\n get: function get() {\n if (this.$data.valueDuringOnChange !== undefined) {\n return this.$data.valueDuringOnChange;\n } else {\n return this.$data.currentValue;\n }\n }\n },\n looseValue: {\n get: function get() {\n return formatValue(this.$data.focused ? this.$data.currentLooseValue : getStateOrPropsValue(this.$props.value, this.$data.currentValue), this.$props.format, this._intl);\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var compValue = this.computedValue;\n return {\n 'k-floating-label-container': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-empty': !(compValue === 0 ? true : compValue || this.$props.placeholder),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n wrapperClassNames: {\n get: function get() {\n var isValid = !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-numeric-wrap': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-disabled': this.$props.disabled,\n 'k-state-invalid': !isValid || this.$data.isInvalid\n };\n }\n }\n },\n methods: {\n validity: function validity() {\n // The NumericTextBox currently autocorrect its' value,\n // so the only invalid state is if it's required and\n // the value is null!\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$data.valueIsOutOfRange && (!this.$props.required || this.computedValue !== null);\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue === null\n };\n },\n focus: function focus() {\n if (this._input) {\n this._input.focus();\n }\n },\n emitFocus: function emitFocus(e) {\n this.$data.currentLooseValue = this._prevLooseValue;\n this.$data.focused = true;\n this.$emit('focus', e);\n this.$data.forceUpdate = true;\n },\n emitBlur: function emitBlur(e) {\n this.$data.eventValue = null;\n this.$data.prevLooseValue = '';\n this.$data.currentLooseValue = '';\n this.$data.focused = false;\n this.$data.selectionStart = undefined;\n this.$data.selectionEnd = undefined;\n this.$data.decimalSelect = false;\n this.$data.valueIsCorrected = false;\n this.$data.valueIsOutOfRange = false;\n this.$emit('blur', e);\n this.$data.forceUpdate = true;\n },\n handleFocus: function handleFocus(_) {\n this.$data.focused = true;\n },\n handleBlur: function handleBlur(_) {\n this.$data.focused = false;\n },\n setValidity: function setValidity() {\n if (this._input && this._input.setCustomValidity) {\n this._input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n getCurrentState: function getCurrentState() {\n return {\n eventValue: getStateOrPropsValue(this.$props.value, this.$data.currentValue),\n prevLooseValue: this._prevLooseValue,\n currentLooseValue: this._input.value,\n selectionStart: this._input.selectionStart,\n selectionEnd: this._input.selectionEnd,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false,\n isPaste: this._isPaste,\n focused: this.$data.focused\n };\n },\n parseNumber: function parseNumber(text) {\n return this._intl.parseNumber(text, this.$props.format);\n },\n elementChange: function elementChange(event) {\n var newState = this.getCurrentState();\n this._isPaste = false;\n this.triggerChange(event, sanitizeNumber(newState, this.$props.format, this._intl));\n },\n triggerChange: function triggerChange(event, newState) {\n var _this = this;\n\n if (this.$props.disabled) {\n return;\n }\n\n this.$data.valueDuringOnChange = newState.eventValue;\n this.$data.currentValue = newState.eventValue;\n var formattedValue = formatValue(rangeValue(newState.eventValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n\n if (rangedValue !== newState.eventValue) {\n newState.valueIsOutOfRange = true;\n newState.eventValue = rangedValue;\n this.$data.valueDuringOnChange = rangedValue;\n this.$data.currentValue = rangedValue;\n }\n\n if (newState.valueIsCorrected) {\n var wrapper = this._elementWrapper;\n\n if (wrapper && wrapper.className.indexOf(\"k-state-invalid\") === -1) {\n this.$data.isInvalid = true;\n setTimeout(function () {\n _this.$data.isInvalid = false;\n }, 50);\n }\n }\n\n var shouldFireEvent = this.$props.value !== newState.eventValue;\n\n if (this.$props.value !== undefined) {\n // controlled\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else {\n // uncontrolled\n this.$data.currentValue = this.$data.valueDuringOnChange;\n }\n\n this.$data.prevLooseValue = newState.prevLooseValue;\n this.$data.currentLooseValue = newState.currentLooseValue;\n this.$data.selectionStart = newState.selectionStart;\n this.$data.selectionEnd = newState.selectionEnd;\n this.$data.decimalSelect = newState.decimalSelect;\n this.$data.valueIsCorrected = newState.valueIsCorrected;\n this.$data.valueIsOutOfRange = newState.valueIsOutOfRange;\n this.$data.focused = newState.focused;\n this.$data.isPaste = newState.isPaste;\n this.$data.forceUpdate = !this.$data.forceUpdate;\n\n if (shouldFireEvent) {\n this.$emit('change', {\n event: event,\n value: this.$data.valueDuringOnChange,\n component: this,\n target: {\n name: this.$props.name,\n value: this.$data.valueDuringOnChange\n },\n validity: this.validity()\n });\n this.$emit('changemodel', this.$data.valueDuringOnChange);\n this.$emit('update:modelValue', this.$data.valueDuringOnChange);\n }\n\n this.$data.valueDuringOnChange = undefined;\n },\n onPasteHandler: function onPasteHandler(_event) {\n this._isPaste = true;\n },\n increase: function increase(event) {\n var newState = this.getCurrentState();\n increaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n decrease: function decrease(event) {\n var newState = this.getCurrentState();\n decreaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n wheel: function wheel(event) {\n if (!canUseDOM || document.activeElement !== this._input || !this._input) {\n return;\n }\n\n if (event.deltaY < 0) {\n event.preventDefault();\n this.increase(event);\n }\n\n if (event.deltaY > 0) {\n event.preventDefault();\n this.decrease(event);\n }\n },\n keyDown: function keyDown(event) {\n var newState = this.getCurrentState();\n var currentValue = this.parseNumber(String(newState.currentLooseValue)); // Select All\n\n if (newState.selectionEnd > newState.selectionStart && newState.selectionEnd - newState.selectionStart === String(newState.currentLooseValue).length) {\n return;\n }\n\n switch (event.keyCode) {\n case 38:\n // Arrow up\n increaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n\n case 40:\n // Arrow down\n decreaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n\n case 13:\n // Enter - range values\n var formattedValue = formatValue(rangeValue(currentValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n newState.eventValue = rangedValue;\n newState.currentLooseValue = formatValue(rangedValue, this.$props.format, this._intl);\n newState.selectionStart = newState.selectionEnd = newState.currentLooseValue.length;\n break;\n\n case 110:\n // Numpad decimal key\n var element = this._input;\n\n var symbols = this._intl.numberSymbols();\n\n if (element) {\n newState.currentLooseValue = newState.currentLooseValue.slice(0, newState.selectionStart) + symbols.decimal + newState.currentLooseValue.slice(newState.selectionEnd);\n newState.selectionStart = newState.selectionEnd = newState.selectionStart + 1;\n newState = sanitizeNumber(newState, this.$props.format, this._intl);\n }\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n this.triggerChange(event, newState);\n },\n spinnersWrapperMouseDown: function spinnersWrapperMouseDown(e) {\n if (canUseDOM && this._input) {\n e.preventDefault();\n\n if (document.activeElement !== this._input) {\n this._input.focus();\n }\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var elementWrapperRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n elementWrapperRef: elementWrapperRef,\n kendoLocalizationService: kendoLocalizationService,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var inputId = this.$props.id || this._inputId;\n var defaultSlot = getDefaultSlots(this);\n var localizationService = provideLocalizationService(this);\n\n if (this.$props.value !== undefined && this.$props.value !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined && this.$props.modelValue !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.modelValue;\n }\n\n this._prevLooseValue = this.looseValue;\n var numerictextbox = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n },\n \"class\": 'k-widget k-numerictextbox',\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n }, [h(\"span\", {\n \"class\": this.wrapperClassNames,\n ref: this.v3 ? function (el) {\n _this.elementWrapperRef = el;\n } : 'elementWrapper'\n }, [h(\"input\", {\n tabIndex: this.$props.tabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType || 'tel',\n spellCheck: false,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n id: inputId,\n \"aria-valuenow\": this.$data.currentValue !== null ? this.$data.currentValue : undefined,\n name: this.$props.name\n },\n accessKey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType || 'tel',\n spellCheck: false,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n \"class\": \"k-input k-formatted-value\",\n id: inputId,\n value: this.v3 ? this.looseValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.looseValue\n },\n \"aria-valuenow\": this.$data.currentValue !== null ? this.$data.currentValue : undefined,\n name: this.$props.name,\n onWheel: this.wheel,\n on: this.v3 ? undefined : {\n \"wheel\": this.wheel,\n \"keydown\": this.keyDown,\n \"input\": this.elementChange,\n \"focus\": this.emitFocus,\n \"blur\": this.emitBlur,\n \"paste\": this.onPasteHandler\n },\n onKeydown: this.keyDown,\n onInput: this.elementChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onPaste: this.onPasteHandler,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input'\n }), defaultSlot, this.$props.spinners && h(\"span\", {\n \"class\": \"k-select\",\n onMousedown: this.spinnersWrapperMouseDown,\n on: this.v3 ? undefined : {\n \"mousedown\": this.spinnersWrapperMouseDown\n }\n }, [h(\"span\", {\n \"class\": \"k-link k-link-increase\",\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n attrs: this.v3 ? undefined : {\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue])\n },\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n onClick: this.increase,\n on: this.v3 ? undefined : {\n \"click\": this.increase\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-arrow-n\"\n })]), h(\"span\", {\n \"class\": \"k-link k-link-decrease\",\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n attrs: this.v3 ? undefined : {\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue])\n },\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n onClick: this.decrease,\n on: this.v3 ? undefined : {\n \"click\": this.decrease\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-arrow-s\"\n })])])])]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [numerictextbox, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : numerictextbox;\n }\n};\nvar NumericTextBoxVue3 = NumericTextBox;\nexport { NumericTextBox, NumericTextBoxVue3 };","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { filterEqOperator, filterNotEqOperator, filterIsNullOperator, filterIsNotNullOperator, filterIsEmptyOperator, filterIsNotEmptyOperator, filterStartsWithOperator, filterContainsOperator, filterNotContainsOperator, filterEndsWithOperator, filterGteOperator, filterGtOperator, filterLteOperator, filterLtOperator, filterAfterOrEqualOperator, filterAfterOperator, filterBeforeOperator, filterBeforeOrEqualOperator } from './../messages';\nvar textOperators = [\n { text: filterContainsOperator, operator: 'contains' },\n { text: filterNotContainsOperator, operator: 'doesnotcontain' },\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterStartsWithOperator, operator: 'startswith' },\n { text: filterEndsWithOperator, operator: 'endswith' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' },\n { text: filterIsEmptyOperator, operator: 'isempty' },\n { text: filterIsNotEmptyOperator, operator: 'isnotempty' }\n];\nvar numericOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterGteOperator, operator: 'gte' },\n { text: filterGtOperator, operator: 'gt' },\n { text: filterLteOperator, operator: 'lte' },\n { text: filterLtOperator, operator: 'lt' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' }\n];\nvar dateOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' },\n { text: filterAfterOrEqualOperator, operator: 'gte' },\n { text: filterAfterOperator, operator: 'gt' },\n { text: filterBeforeOperator, operator: 'lt' },\n { text: filterBeforeOrEqualOperator, operator: 'lte' },\n { text: filterIsNullOperator, operator: 'isnull' },\n { text: filterIsNotNullOperator, operator: 'isnotnull' }\n];\nvar booleanOperators = [\n { text: filterEqOperator, operator: 'eq' },\n { text: filterNotEqOperator, operator: 'neq' }\n];\n/**\n * Represents the operators for the TextFilter, NumericFilter, DateFilter and BooleanFilter components.\n *\n * The text field of each operator object will be resolved according to the\n * [localization messages]({% slug globalization_datatools %}#toc-messages).\n */\nvar Operators = /** @class */ (function () {\n function Operators() {\n }\n Object.defineProperty(Operators, \"text\", {\n /**\n * An array containing the operators for the TextFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.containsOperator', operator: 'contains' }\n * - { text: 'filter.notContainsOperator', operator: 'doesnotcontain' }\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.startsWithOperator', operator: 'startswith' }\n * - { text: 'filter.endsWithOperator', operator: 'endswith' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n * - { text: 'filter.isEmptyOperator', operator: 'isempty' }\n * - { text: 'filter.isNotEmptyOperator', operator: 'isnotempty' }\n */\n get: function () {\n return __spreadArrays(textOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"numeric\", {\n /**\n * An array containing the operators for the NumericFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.gteOperator', operator: 'gte' }\n * - { text: 'filter.gtOperator', operator: 'gt' }\n * - { text: 'filter.lteOperator', operator: 'lte' }\n * - { text: 'filter.ltOperator', operator: 'lt' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n */\n get: function () {\n return __spreadArrays(numericOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"date\", {\n /**\n * An array containing the operators for the DateFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n * - { text: 'filter.afterOrEqualOperator', operator: 'gte' }\n * - { text: 'filter.afterOperator', operator: 'gt' }\n * - { text: 'filter.beforeOperator', operator: 'lt' }\n * - { text: 'filter.beforeOrEqualOperator', operator: 'lte' }\n * - { text: 'filter.isNullOperator', operator: 'isnull' }\n * - { text: 'filter.isNotNullOperator', operator: 'isnotnull' }\n */\n get: function () {\n return __spreadArrays(dateOperators);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Operators, \"boolean\", {\n /**\n * An array containing the operators for the BooleanFilter component.\n *\n * The operators are:\n *\n * - { text: 'filter.eqOperator', operator: 'eq' }\n * - { text: 'filter.notEqOperator', operator: 'neq' }\n */\n get: function () {\n return __spreadArrays(booleanOperators);\n },\n enumerable: false,\n configurable: true\n });\n return Operators;\n}());\nexport { Operators };\n/**\n * @hidden\n */\nexport var stringOperator = function (operator) {\n return operator === 'contains' || operator === 'doesnotcontain' || operator === 'startswith' || operator === 'endswith';\n};\n/**\n * @hidden\n */\nexport var unaryOperator = function (operator) {\n return operator === 'isnull' || operator === 'isnotnull' || operator === 'isempty' || operator === 'isnotempty';\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FechaTemplate.vue?vue&type=style&index=0&id=6001de80&scoped=true&lang=css&\"","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { GroupFilter } from './GroupFilters';\nimport { GroupToolbar } from './GroupToolbar';\nimport { validatePackage, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata'; // tslint:enable:max-line-length\n\nvar Filter = {\n name: 'KendoFilter',\n // @ts-ignore\n emits: {\n change: null,\n 'changemodel': null,\n 'update:modelValue': null\n },\n model: {\n event: 'changemodel'\n },\n props: {\n fields: {\n type: Array,\n required: true\n },\n modelValue: {\n type: Object,\n default: undefined\n },\n value: Object,\n defaultGroupFilter: Object\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n computed: {\n computedValue: function computedValue() {\n var value;\n\n if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n }\n\n return value;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var fields = this.$props.fields.map(function (field) {\n return __assign(__assign({}, field), {\n filterRender: templateRendering.call(this, field.filterRender, getListeners.call(this))\n });\n }, this);\n return h(\"div\", {\n \"class\": 'k-widget k-filter'\n }, [h(\"ul\", {\n \"class\": \"k-filter-container\"\n }, [h(\"li\", {\n \"class\": \"k-filter-group-main\"\n }, [// @ts-ignore function children\n h(GroupToolbar, {\n \"class\": \"k-filter-group-main\",\n filter: this.computedValue,\n attrs: this.v3 ? undefined : {\n filter: this.computedValue,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n },\n fields: fields,\n onChange: this.onFilterChange,\n on: this.v3 ? undefined : {\n \"change\": this.onFilterChange,\n \"remove\": this.onGroupRemove\n },\n onRemove: this.onGroupRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n }), // @ts-ignore function children\n h(GroupFilter, {\n \"class\": \"k-filter-group-main\",\n filter: this.computedValue,\n attrs: this.v3 ? undefined : {\n filter: this.computedValue,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n },\n fields: fields,\n onChange: this.onFilterChange,\n on: this.v3 ? undefined : {\n \"change\": this.onFilterChange,\n \"remove\": this.onGroupRemove\n },\n onRemove: this.onGroupRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter || {\n logic: 'and',\n filters: []\n }\n })])])]);\n },\n methods: {\n onFilterChange: function onFilterChange(event) {\n var changeEvent = {\n filter: event.nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n this.$emit('changemodel', event.nextFilter);\n this.$emit('update:modelValue', event.nextFilter);\n },\n onGroupRemove: function onGroupRemove(event) {\n var nextFilter = __assign(__assign({}, this.computedValue), {\n filters: []\n });\n\n var changeEvent = {\n filter: nextFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n this.$emit('changemodel', nextFilter);\n this.$emit('update:modelValue', nextFilter);\n }\n }\n};\nvar FilterVue3 = Filter;\nexport { Filter, FilterVue3 };","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlTemplate.vue?vue&type=style&index=0&id=5c5c01f0&scoped=true&lang=css&\"","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { guid, getTabIndex, getDefaultSlots, templateRendering, getTemplate, getListeners } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nvar RadioButton = {\n name: 'KendoRadioButton',\n props: {\n ariaDescribedBy: String,\n checked: Boolean,\n disabled: Boolean,\n className: String,\n id: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n labelPlacement: String,\n name: String,\n tabIndex: Number,\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n change: null,\n focus: null,\n blur: null\n },\n created: function created() {\n this.calculatedId = guid();\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n },\n computed: {\n inputClassName: function inputClassName() {\n var _a;\n\n return _a = {\n 'k-radio': true,\n 'k-state-invalid': this.$props.valid === false,\n 'k-invalid': this.$props.valid === false\n }, _a[this.$props.className] = this.$props.className, _a;\n }\n },\n methods: {\n focusElement: function focusElement() {\n if (this.input) {\n this.input.focus();\n }\n },\n handleChange: function handleChange(event) {\n this.$emit('change', {\n event: event,\n value: this.$props.value\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event, undefined);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event, undefined);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n checked = _a.checked,\n disabled = _a.disabled,\n id = _a.id,\n label = _a.label,\n labelRender = _a.labelRender,\n labelPlacement = _a.labelPlacement,\n name = _a.name,\n tabIndex = _a.tabIndex,\n value = _a.value;\n var renderedLabel = label;\n\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n\n var radioButtonLabel = renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-radio-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId,\n \"aria-label\": label\n },\n style: {\n userSelect: 'none'\n },\n \"aria-label\": label\n }, [renderedLabel]) : null;\n var radio = h(\"input\", {\n type: 'radio',\n attrs: this.v3 ? undefined : {\n type: 'radio',\n id: id || this.calculatedId,\n name: name,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n \"aria-describedby\": ariaDescribedBy\n },\n id: id || this.calculatedId,\n name: name,\n \"class\": this.inputClassName,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n checked: this.v3 ? checked : null,\n domProps: this.v3 ? undefined : {\n \"checked\": checked,\n \"value\": value\n },\n style: this.$attrs.style,\n \"aria-describedby\": ariaDescribedBy,\n value: this.v3 ? value : null,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n });\n return labelPlacement === 'before' ? h(\"div\", [radioButtonLabel, radio, defaultSlot]) : h(\"div\", [radio, radioButtonLabel, defaultSlot]);\n }\n};\nvar RadioButtonVue3 = RadioButton;\nexport { RadioButton, RadioButtonVue3 };","export * from './input/Input';\nexport * from './numerictextbox/NumericTextBox';\nexport * from './maskedtextbox/MaskedTextBox';\nexport * from './maskedtextbox/MaskedTextBoxProps';\nexport * from './slider/Slider';\nexport * from './slider/SliderLabel';\nexport * from './checkbox/interfaces/CheckboxProps';\nexport * from './checkbox/interfaces/CheckboxChangeEvent';\nexport * from './checkbox/interfaces/CheckboxFocusEvent';\nexport * from './checkbox/Checkbox';\nexport * from './radiobutton/RadioGroup';\nexport * from './radiobutton/interfaces/RadioGroupProps';\nexport * from './radiobutton/interfaces/RadioGroupChangeEvent';\nexport * from './radiobutton/interfaces/RadioGroupFocusEvent';\nexport * from './radiobutton/RadioButton';\nexport * from './radiobutton/interfaces/RadioButtonProps';\nexport * from './radiobutton/interfaces/RadioButtonChangeEvent';\nexport * from './radiobutton/interfaces/RadioButtonFocusEvent';\n","var __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { guid, Keys, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from './constants';\nimport { findId, findNextIdByCellIndex, findNextIdByRowIndex, getBodyElement, getHeaderElement, getNavigatableId, tableKeyboardNavigationTools as navigationTools } from './utils';\n/**\n * A Vue component which provides a localization service.\n * Expects a language string as a property of the component.\n */\n\nvar TableKeyboardNavigationProvider = {\n name: 'KendoTableKeyboardNavigationProvider',\n props: {\n navigatable: {\n type: Boolean,\n default: false\n },\n id: String\n },\n data: function data() {\n return {\n scope: undefined,\n kbContext: undefined,\n navigation: undefined\n };\n },\n // watch: {\n // language: function (this: TableKeyboardNavigationProviderAll, newLanguage: string) {\n // this.$data.kendoLocalizationService.language = newLanguage ;\n // }\n // },\n // @ts-ignore\n setup: function setup(props) {\n var v3 = !!gh; // const localizationService = ref(new LocalizationService(props.language));\n // provide('kendoLocalizationService', localizationService);\n\n return {\n v3: v3\n };\n },\n provide: function provide() {\n return {\n getKeyboardNavigationAttributes: this.getKeyboardNavigationAttributes,\n onNavMount: this.onComponentDidMount,\n onGetSnapshotBeforeUpdate: this.onGetSnapshotBeforeUpdate,\n onComponentDidUpdate: this.onComponentDidUpdate,\n onNavFocus: this.onFocus,\n onNavKeyDown: this.onKeyDown,\n generateMatrix: this.generateMatrix,\n kbContext: this.kbContext,\n navigation: this.navigation\n };\n },\n created: function created() {\n var _a = this.$props,\n navigatable = _a.navigatable,\n id = _a.id; // v.2: check if nested navigation\n\n if (navigatable) {\n this.kbContext = {\n activeId: '',\n level: 0\n };\n this.navigation = {\n activeElementIsFocused: false,\n prevNavigationIndexes: undefined,\n idPrefix: id || guid(),\n navigationMatrix: [],\n lastHeaderIndex: -1\n };\n }\n },\n methods: {\n getKeyboardNavigationAttributes: function getKeyboardNavigationAttributes(elementId) {\n var _a;\n\n if (!elementId || this.$props.navigatable === false) {\n return {};\n }\n\n return _a = {\n tabIndex: this.kbContext.activeId && this.kbContext.activeId === elementId ? 0 : -1\n }, _a[KEYBOARD_NAV_DATA_LEVEL] = this.kbContext.level, _a[KEYBOARD_NAV_DATA_ID] = elementId, _a;\n },\n onComponentDidMount: function onComponentDidMount(options) {\n var _a = options.scope,\n scope = _a === void 0 ? this.scope : _a;\n\n if (this.kbContext && this.navigation && scope) {\n this.scope = scope;\n this.generateMatrix(options);\n var firstId = this.navigation.navigationMatrix[0][0];\n var firstIdElement = navigationTools.getActiveElement(scope, firstId);\n\n if (firstId && firstIdElement) {\n this.kbContext.activeId = firstId;\n firstIdElement.setAttribute('tabIndex', '0');\n }\n }\n },\n onGetSnapshotBeforeUpdate: function onGetSnapshotBeforeUpdate(options) {\n var _a = options.kbContext,\n kbContext = _a === void 0 ? this.kbContext : _a,\n _b = options.navigation,\n navigation = _b === void 0 ? this.navigation : _b,\n document = options.document;\n\n if (kbContext && navigation && document) {\n var activeElement = document.activeElement;\n var activeId = navigationTools.getNavigatableId(activeElement);\n\n if (activeId && activeId === kbContext.activeId) {\n navigation.activeElementIsFocused = true;\n }\n }\n },\n onComponentDidUpdate: function onComponentDidUpdate(options) {\n var scope = options.scope;\n this.generateMatrix(options); // check if nested navigation\n\n if (this.kbContext && this.navigation && scope) {\n var activeElement = navigationTools.getActiveElement(scope, this.kbContext.activeId);\n\n if (!activeElement) {\n var firstId = this.navigation.navigationMatrix[0][0];\n var firstIdElement = navigationTools.getActiveElement(scope, firstId);\n\n if (firstId && firstIdElement) {\n this.kbContext.activeId = firstId;\n firstIdElement.setAttribute('tabIndex', '0');\n\n if (this.navigation.activeElementIsFocused) {\n firstIdElement.focus();\n }\n }\n }\n\n this.navigation.activeElementIsFocused = false;\n }\n },\n onFocus: function onFocus(event) {\n var kbContext = this.kbContext;\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (!kbContext) {\n return;\n }\n\n var focusedElement = event.target;\n var activeId = navigationTools.getNavigatableId(focusedElement);\n\n if (activeId && activeId !== kbContext.activeId) {\n var scope = navigationTools.getClosestScope(focusedElement);\n\n if (!scope) {\n return;\n }\n\n var prevElement = navigationTools.getActiveElement(scope, kbContext.activeId);\n\n if (prevElement) {\n prevElement.setAttribute('tabIndex', '-1');\n }\n\n focusedElement.setAttribute('tabIndex', '0');\n kbContext.activeId = activeId;\n }\n },\n onKeyDown: function onKeyDown(event, options) {\n var _a = options.kbContext,\n kbContext = _a === void 0 ? this.kbContext : _a,\n _b = options.navigation,\n navigation = _b === void 0 ? this.navigation : _b,\n onNavigationAction = options.onNavigationAction;\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (!kbContext || !navigation) {\n return;\n }\n\n if (event.keyCode === Keys.esc) {\n // activate navigation\n var elementForFocus = navigationTools.getClosestNavigatableElement(event.target);\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext\n });\n return;\n }\n\n var element = event.target;\n var elementId = navigationTools.getNavigatableId(element);\n var dataLevel = navigationTools.getNavigatableLevel(element);\n var scope = navigationTools.getClosestScope(element);\n var matrix = navigation.navigationMatrix;\n\n if (dataLevel !== undefined && scope) {\n if (event.keyCode === Keys.enter) {\n // activate nested navigation or focus focusable element\n var navigatableElement = navigationTools.getNavigatableElement(element, {\n level: dataLevel + 1\n });\n\n if (navigatableElement) {\n navigationTools.focusElement({\n elementForFocus: navigatableElement,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n return;\n } else {\n var elementForFocus = navigationTools.getFocusableElements(element)[0];\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n return;\n }\n }\n\n if (event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right) {\n var isReverse = event.keyCode === Keys.up || event.keyCode === Keys.left;\n var isVertical = event.keyCode === Keys.up || event.keyCode === Keys.down;\n var currentIdIndexes = void 0;\n\n if (navigation && navigation.prevNavigationIndexes) {\n var _c = navigation.prevNavigationIndexes,\n rowIndex = _c[0],\n cellIndex = _c[1];\n\n if (matrix[rowIndex][cellIndex] === elementId) {\n currentIdIndexes = navigation.prevNavigationIndexes;\n } else {\n currentIdIndexes = findId(matrix, elementId);\n }\n } else {\n currentIdIndexes = findId(matrix, elementId);\n }\n\n if (currentIdIndexes) {\n var rowIndex = currentIdIndexes[0],\n cellIndex = currentIdIndexes[1];\n\n var _d = isVertical ? findNextIdByRowIndex(rowIndex, cellIndex, elementId, matrix, isReverse) : findNextIdByCellIndex(rowIndex, cellIndex, elementId, matrix, isReverse),\n idForFocus = _d[0],\n currentIndexes = _d[1];\n\n if (idForFocus) {\n var elementForFocus = navigationTools.getActiveElement(scope, idForFocus); // emit event\n\n navigationTools.focusElement({\n elementForFocus: elementForFocus,\n event: event,\n kbContext: kbContext,\n prevElement: element\n });\n navigation.prevNavigationIndexes = currentIndexes;\n\n if (onNavigationAction) {\n onNavigationAction({\n focusElement: elementForFocus,\n event: event\n });\n }\n }\n }\n }\n }\n },\n generateMatrix: function generateMatrix(options) {\n var _a = options.navigation,\n navigation = _a === void 0 ? this.navigation : _a,\n scope = options.scope;\n\n if (!navigation || !scope) {\n return;\n }\n\n var matrix = [];\n var thead = getHeaderElement(scope);\n var tbody = getBodyElement(scope);\n\n if (!thead || !tbody) {\n return;\n }\n\n var headerRows = Array.from(thead.children);\n var bodyRows = Array.from(tbody.children);\n\n __spreadArrays(headerRows, bodyRows).forEach(function (row, rowIndex) {\n Array.from(row.children).forEach(function (cell) {\n var cellId = getNavigatableId(cell);\n\n if (!cellId) {\n return;\n } // cell is not navigatable\n\n\n var rowSpan = cell.rowSpan || 1;\n var cellSpan = cell.colSpan || 1;\n var cellIndex;\n\n for (var depth = rowIndex, maxDepth = rowIndex + rowSpan; depth < maxDepth; depth++) {\n if (!matrix[depth]) {\n matrix[depth] = [];\n }\n\n if (cellIndex === undefined) {\n var freeSlotIndex = matrix[depth].findIndex(function (mi) {\n return !mi;\n });\n cellIndex = freeSlotIndex > -1 ? freeSlotIndex : matrix[depth].length;\n }\n\n matrix[depth][cellIndex] = cellId || '';\n }\n\n for (var depth = cellIndex + 1, maxDepth = cellIndex + cellSpan; depth < maxDepth; depth++) {\n matrix[rowIndex][depth] = cellId || '';\n }\n });\n });\n\n navigation.navigationMatrix = matrix.filter(function (row) {\n return !!row;\n });\n navigation.lastHeaderIndex = headerRows.length - 1;\n }\n },\n\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\nvar TableKeyboardNavigationProviderVue3 = TableKeyboardNavigationProvider;\nexport { TableKeyboardNavigationProvider, TableKeyboardNavigationProviderVue3 };","export * from './TextFilter';\nexport * from './NumericFilter';\nexport * from './DateFilter';\nexport * from './BooleanFilter';\nexport * from './EnumFilter';\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-full kendo-wrapper-height-adjust\"},[(_vm.loading)?_c('div',{staticClass:\"loader\"},[_c('loading',{attrs:{\"opacity\":0,\"active\":_vm.loading,\"color\":\"var(--primary-DEFAULT)\"},on:{\"update:active\":function($event){_vm.loading=$event}}})],1):_vm._e(),_c('localization',{attrs:{\"language\":_vm.spanish ? 'es-ES' : 'en-EN'}},[_c('intl',{attrs:{\"locale\":_vm.spanish ? 'es' : 'en'}},[_c('Grid',{ref:\"grid\",attrs:{\"id\":\"grid\",\"expand-field\":\"expanded\",\"data-items\":_vm.dataResult,\"edit-field\":'inEdit',\"columns\":_vm.kendo.columns,\"reorderable\":true,\"resizable\":true,\"sortable\":_vm.kendo.sortable,\"filterable\":_vm.kendo.filterable,\"groupable\":_vm.groupable,\"skip\":_vm.kendo.skip,\"take\":_vm.kendo.take,\"sort\":_vm.kendo.sort,\"group\":_vm.kendo.group,\"filter\":_vm.kendo.filter,\"selectable\":true,\"selected-field\":_vm.selectedField,\"detail\":_vm.kendo.detail},on:{\"datastatechange\":_vm.datastatechange,\"columnreorder\":_vm.columnreorder,\"selectionchange\":_vm.selectionchange,\"sortchange\":_vm.sortchange,\"headerselectionchange\":_vm.headerselectionchange,\"expandchange\":_vm.expandchange},scopedSlots:_vm._u([{key:\"myButtomTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [(props.dataItem && !props.dataItem.aggregates)?_c('custom',{class:props.className,attrs:{\"data-item\":props.dataItem},on:{\"actionselect\":_vm.actionSelected}}):_vm._e()]}},{key:\"fechaTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('FechaTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"checkboxTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('CheckboxTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"tagsTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('TagsTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"urlTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('UrlTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"listTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('ListTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"groupsTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('GroupsTemplate',{attrs:{\"field\":props.field,\"expanded\":props.expanded,\"row-type\":props.rowType,\"level\":props.level,\"column-index\":props.columnIndex,\"columns-count\":props.columnsCount,\"data-item\":props.dataItem,\"class-name\":props.className},on:{\"click\":function($event){return _vm.clickHandler(props.dataItem)}}})]}},{key:\"myTemplateExpanded\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('DetailComponent',{attrs:{\"data-item\":props.dataItem}})]}},{key:\"myTemplate\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('ColumnMenu',{attrs:{\"column\":props.column,\"filterable\":props.filterable,\"filter\":props.filter,\"sortable\":props.sortable,\"sort\":props.sort,\"columns\":_vm.menuColumns},on:{\"closemenu\":function (e) { return props.onClosemenu(e); },\"columnssubmit\":_vm.columnssubmit,\"sortchange\":_vm.sortchange,\"filterchange\":_vm.filterchange}})]}}])},[_c('grid-norecords',[_vm._v(\" \"+_vm._s(_vm.noRecords)+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots, noop } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridNav` component.\n */\n\nvar GridNav = {\n name: 'KendoGridNav',\n props: {\n currentData: Array\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n inject: {\n onNavKeyDown: {\n default: noop\n },\n onNavFocus: {\n default: noop\n },\n onNavMount: {\n default: noop\n },\n handleDispatchFocus: {\n default: noop\n },\n kbContext: {\n default: null\n },\n navigation: {\n default: null\n }\n },\n mounted: function mounted() {\n this.onNavMount({\n scope: this.$el || undefined\n });\n },\n updated: function updated() {\n this.onNavMount({\n scope: this.$el || undefined\n });\n },\n methods: {\n onKeyDown: function onKeyDown(event) {\n this.onNavKeyDown(event, {\n navigation: this.navigation,\n kbContext: this.kbContext,\n onNavigationAction: this.onNavigationAction\n }); // const {mode, cell} = getSelectionOptions(this.$props.selectable);\n\n this.$emit('keydown', {\n dataItems: this.getLeafDataItems(),\n // mode,\n // cell,\n componentId: this._gridId,\n selectedField: this.$props.selectedField,\n event: event\n }); // as GridNavigationActionEvent\n },\n onFocus: function onFocus(event) {\n this.onNavFocus(event, {\n kbContext: this.kbContext\n });\n },\n onNavigationAction: function onNavigationAction(options) {\n this.$emit('navigationaction', {\n focusElement: options.focusElement,\n event: options.event\n }); // as GridNavigationActionEvent\n },\n getLeafDataItems: function getLeafDataItems() {\n return this.$props.currentData.filter(function (item) {\n return item.rowType === 'data';\n }).map(function (item) {\n return item.dataItem;\n });\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus\n },\n onFocusin: this.onFocus,\n \"data-keyboardnavscope\": true,\n attrs: this.v3 ? undefined : {\n \"data-keyboardnavscope\": true\n }\n }, [defaultSlots]);\n }\n};\nvar GridNavVue3 = GridNav;\nexport { GridNav, GridNavVue3 };","import { tableKeyboardNavigationTools as navigationTools } from '@progress/kendo-vue-data-tools';\nimport { canUseDOM } from '@progress/kendo-vue-common';\nvar STRING = 'string';\n/**\n * @hidden\n */\nexport function getNestedValue(fieldName, dataItem) {\n var path = fieldName.split('.');\n var data = dataItem;\n path.forEach(function (p) {\n data = data ? data[p] : undefined;\n });\n return data;\n}\n/**\n * @hidden\n */\nexport function flatData(output, input, footer, dataIndex, groupDefined, field, level) {\n if (level === void 0) { level = 0; }\n var maxLevel = level;\n for (var i = 0; i < input.length; i++) {\n if (!groupDefined || input[i].value === undefined || input[i].items === undefined) {\n output[output.length] = {\n dataIndex: ++dataIndex.index,\n dataItem: input[i],\n rowType: 'data',\n level: level,\n expanded: field === undefined || getNestedValue(field, input[i])\n };\n continue;\n }\n maxLevel = Math.max(maxLevel, level + 1);\n var expanded = field === undefined ||\n getNestedValue(field, input[i]) === undefined ||\n getNestedValue(field, input[i]);\n // header\n output[output.length] = {\n dataIndex: -1,\n dataItem: input[i],\n level: level,\n rowType: 'groupHeader',\n expanded: expanded\n };\n // children\n if (expanded) {\n maxLevel = Math.max(flatData(output, input[i].items, footer, dataIndex, groupDefined, field, level + 1), maxLevel);\n }\n // footer\n if (footer === 'always' || (expanded && footer === 'visible')) {\n output[output.length] = {\n dataIndex: -1,\n dataItem: input[i],\n rowType: 'groupFooter',\n level: level,\n expanded: expanded\n };\n }\n }\n return maxLevel;\n}\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return element && (getComputedStyle(element).direction === 'rtl') || false;\n}\n/**\n * @hidden\n */\nexport function getIndex(event, parent) {\n if (!parent || !event || !event.originalEvent || !canUseDOM) {\n return -1;\n }\n var target = document.elementFromPoint(event.clientX, event.originalEvent.clientY);\n while (target && target.parentElement !== parent) {\n target = target.parentElement;\n }\n var children = parent.children;\n for (var i = 0; i < children.length; i++) {\n if (children[i] === target) {\n return i;\n }\n }\n return -1;\n}\nvar eventKeys = [\n 'sortChange',\n 'filterChange',\n 'groupChange',\n 'pageChange',\n 'expandChange',\n 'selectionChange',\n 'headerSelectionChange',\n 'rowClick',\n 'itemChange',\n 'dataStateChange',\n 'columnResize',\n 'columnReorder'\n];\nvar GridColumnDefaults = {\n filterable: true,\n editable: true,\n sortable: true,\n resizable: true,\n reorderable: true,\n groupable: true\n};\nvar deprecatedHandlerMessage = function (oldKey, newKey) { return (\"The \" + oldKey + \" event handler property is deprecated, \" +\n (\"use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-\" + newKey + \" instead\")); };\n/**\n * @hidden\n */\nexport function checkPropCompatibility(props) {\n for (var index = 0; index < eventKeys.length; index++) {\n var eventKey = eventKeys[index];\n if (props[eventKey] !== undefined) {\n var newKey = 'on' + eventKey.charAt(0).toUpperCase() + eventKey.slice(1);\n console.warn(deprecatedHandlerMessage(eventKey, newKey));\n }\n }\n}\nfunction nextColumn(columns, current) {\n var currentDepth = columns[current].depth;\n var next = null;\n for (var index = current + 1; index < columns.length; index++) {\n if (columns[index].depth === currentDepth) {\n next = columns[index];\n break;\n }\n }\n return next;\n}\n/**\n * @hidden\n */\nexport function mapColumns(columns) {\n var columnsMap = [[]];\n var maxDepth = 0;\n // set colspans, get maxdepth\n for (var q = columns.length - 1; q >= 0; q--) {\n maxDepth = Math.max(maxDepth, columns[q].depth);\n columns[q].colSpan = columns[q].colSpan || 1;\n if (columns[q].parentIndex !== -1) {\n columns[columns[q].parentIndex].colSpan =\n (columns[columns[q].parentIndex].colSpan || 0) + columns[q].colSpan;\n }\n }\n var rowSpan = 1;\n // set rowspan, kFirst, index AND create columnsMap\n columns.forEach(function (column, i) {\n columnsMap[column.depth] = columnsMap[column.depth] || [];\n var needKFirst = false;\n if (columnsMap[column.depth].length === 0) {\n if (rowSpan <= 1) {\n rowSpan = 1 + (column.children.length > 0 ? 0 : maxDepth - column.depth);\n }\n else {\n rowSpan--;\n needKFirst = true;\n }\n }\n column.rowSpan = 1 + (column.children.length > 0 ? 0 : maxDepth - column.depth);\n column.kFirst = needKFirst;\n column.index = columnsMap[column.depth].length;\n columnsMap[column.depth].push(i);\n });\n var stickyLeftWidth = new Array(columnsMap.length).fill(0);\n var width = 0;\n // set left AND create stickyLeftWidth\n columns.forEach(function (column) {\n if (column.locked) {\n column.left = stickyLeftWidth[column.depth];\n width = column.width ? parseFloat(column.width.toString()) : 0;\n if (column.children.length === 0) {\n for (var i = column.depth; i < stickyLeftWidth.length; i++) {\n stickyLeftWidth[i] += width;\n }\n }\n else {\n stickyLeftWidth[column.depth] += width;\n }\n }\n });\n var stickyRightWidth = new Array(columnsMap.length).fill(0);\n // set right, rightBorder AND create stickyRightWidth\n for (var i = columns.length - 1; i >= 0; i--) {\n var column = columns[i];\n if (column.locked) {\n column.right = stickyRightWidth[column.depth];\n width = column.width ? parseFloat(column.width.toString()) : 0;\n if (column.children.length === 0) {\n for (var j = column.depth; j < stickyRightWidth.length; j++) {\n stickyRightWidth[j] += width;\n }\n }\n else {\n stickyRightWidth[column.depth] += width;\n }\n var next = nextColumn(columns, i);\n column.rightBorder = !(next && next.locked);\n }\n }\n return columnsMap;\n}\n/**\n * @hidden\n */\nexport function readColumns(newColumns, oldColumns, idInfo, depth) {\n if (depth === void 0) { depth = 0; }\n var columns = [];\n var sameLength = (newColumns && newColumns.length) ? newColumns.length === oldColumns.length : false;\n if (!newColumns) {\n return [];\n }\n if (newColumns && newColumns.length === undefined) {\n newColumns = [newColumns];\n }\n // @ts-ignore\n newColumns.forEach(function (columnProps, index) {\n columnProps = columnProps;\n var oldColumn = sameLength ? oldColumns[index] || null : null;\n var notHiddenChildren = columnProps.children ?\n columnProps.children.filter(function (column) { return !column.hidden; }) : columnProps.children;\n var c = readColumns(notHiddenChildren, oldColumn && oldColumn.children || [], idInfo, depth + 1);\n columns.push(Object.assign({ depth: depth }, GridColumnDefaults, (c.length) ? { cell: function () { return null; }, filterCell: function () { return null; } } : {}, oldColumn ? { width: oldColumn.width, orderIndex: oldColumn.orderIndex } : {}, columnProps, {\n id: navigationTools.generateNavigatableId(\"\" + idInfo.prevId++, idInfo.idPrefix, 'column'),\n declarationIndex: columns.length,\n children: c,\n rowSpan: 0,\n colSpan: 0,\n isAccessible: true\n }));\n });\n var comparator = function (a, b) {\n return a.orderIndex === b.orderIndex ?\n a.declarationIndex - b.declarationIndex :\n ((a.orderIndex || 0) - (b.orderIndex || 0));\n };\n columns.sort(comparator);\n if (depth === 0) {\n var ret_1 = [];\n var flat_1 = function (cols, pIndex) {\n return cols.forEach(function (c) {\n c.parentIndex = pIndex;\n flat_1(c.children, ret_1.push(c) - 1);\n });\n };\n flat_1(columns, -1);\n return ret_1;\n }\n return columns;\n}\n/**\n * @hidden\n */\nexport function autoGenerateColumns(data, group, expandField, idInfo) {\n var propData = [];\n if (Array.isArray(data)) {\n propData = data;\n }\n else if (data) {\n propData = data.data;\n }\n if (!propData.length) {\n console.warn('Kendo Grid autogeneration of columns is only possible if some items are defined when the component is created.');\n }\n var columns = [];\n if (propData.length > 0) {\n var itemForColumnsGen = propData[0];\n if (group) {\n for (var i = 0; i < group.length; i++) {\n itemForColumnsGen = itemForColumnsGen.items && itemForColumnsGen.items[0];\n }\n }\n var fields = Object.getOwnPropertyNames(itemForColumnsGen);\n fields.forEach(function (field) {\n if (field !== expandField && field !== '__ob__') {\n columns.push(Object.assign({\n id: navigationTools.generateNavigatableId(\"\" + idInfo.prevId++, idInfo.idPrefix, 'column'),\n declarationIndex: -1,\n parentIndex: -1,\n depth: 0,\n colSpan: 0,\n rowSpan: 0,\n index: 0,\n left: 0,\n right: 0,\n children: [],\n rightBorder: false,\n ariaColumnIndex: 0,\n isAccessible: true\n }, GridColumnDefaults, { field: field }));\n }\n });\n }\n return columns;\n}\nvar hasParentFooterCell = function (columns, column) {\n var parent = columns[column.parentIndex];\n while (parent) {\n if (parent.footerCell) {\n return true;\n }\n parent = columns[parent.parentIndex];\n }\n return false;\n};\n/**\n * @hidden\n */\nexport var footerColumns = function (columns) {\n return columns.filter(function (column) {\n if (hasParentFooterCell(columns, column)) {\n return false;\n }\n return Boolean(column.footerCell) || !(column.children && column.children.length > 0);\n });\n};\n/**\n * @hidden\n */\nexport var parsers = {\n 'number': function (value, intl, format) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return intl.parseNumber(value, format);\n },\n 'date': function (value, intl, format) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return intl.parseDate(value, format);\n },\n 'boolean': function (value) {\n if (typeof value === STRING) {\n if (value.toLowerCase() === 'null') {\n return null;\n }\n else {\n return value.toLowerCase() === 'true';\n }\n }\n return value != null ? !!value : value;\n },\n 'string': function (value) {\n if (typeof value === STRING && value.toLowerCase() === 'null') {\n return null;\n }\n return value != null ? (value + '') : value;\n },\n 'default': function (value) {\n return value;\n }\n};\n","var _a;\n/**\n * @hidden\n */\nexport var noRecords = 'grid.noRecords';\n/**\n * @hidden\n */\nexport var pagerInfo = 'grid.pagerInfo';\n/**\n * @hidden\n */\nexport var pagerFirstPage = 'grid.pagerFirstPage';\n/**\n * @hidden\n */\nexport var pagerPreviousPage = 'grid.pagerPreviousPage';\n/**\n * @hidden\n */\nexport var pagerNextPage = 'grid.pagerNextPage';\n/**\n * @hidden\n */\nexport var pagerLastPage = 'grid.pagerLastPage';\n/**\n * @hidden\n */\nexport var pagerItemPerPage = 'grid.pagerItemsPerPage';\n/**\n * @hidden\n */\nexport var pagerPage = 'grid.pagerPage';\n/**\n * @hidden\n */\nexport var pagerOf = 'grid.pagerOf';\n/**\n * @hidden\n */\nexport var pagerTotalPages = 'grid.pagerTotalPages';\n/**\n * @hidden\n */\nexport var groupPanelEmpty = 'grid.groupPanelEmpty';\n/**\n * @hidden\n */\nexport var columnMenu = 'grid.columnMenu';\n/**\n * @hidden\n */\nexport var filterClearButton = 'grid.filterClearButton';\n/**\n * @hidden\n */\nexport var filterSubmitButton = 'grid.filterSubmitButton';\n/**\n * @hidden\n */\nexport var filterTitle = 'grid.filterTitle';\n/**\n * @hidden\n */\nexport var sortAscending = 'grid.sortAscending';\n/**\n * @hidden\n */\nexport var sortDescending = 'grid.sortDescending';\n/**\n * @hidden\n */\nexport var searchPlaceholder = 'grid.searchPlaceholder';\n/**\n * @hidden\n */\nexport var filterCheckAll = 'grid.filterCheckAll';\n/**\n * @hidden\n */\nexport var filterChooseOperator = 'grid.filterChooseOperator';\n/**\n * @hidden\n */\nexport var filterSelectedItems = 'grid.filterSelectedItems';\n/**\n * @hidden\n */\nexport var sortAriaLabel = 'grid.sortAriaLabel';\n/**\n * @hidden\n */\nexport var filterAriaLabel = 'grid.filterAriaLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[noRecords] = 'No records available',\n _a[groupPanelEmpty] = 'Drag a column header and drop it here to group by that column',\n _a[columnMenu] = 'Column Menu',\n _a[filterClearButton] = 'Clear',\n _a[filterSubmitButton] = 'Filter',\n _a[filterTitle] = 'Filter',\n _a[sortAscending] = 'Sort Ascending',\n _a[sortDescending] = 'Sort Descending',\n _a[pagerItemPerPage] = 'items per page',\n _a[pagerInfo] = '{0} - {1} of {2} items',\n _a[pagerFirstPage] = 'Go to the first page',\n _a[pagerPreviousPage] = 'Go to the previous page',\n _a[pagerNextPage] = 'Go to the next page',\n _a[pagerLastPage] = 'Go to the last page',\n _a[pagerPage] = 'Page',\n _a[pagerOf] = 'of',\n _a[pagerTotalPages] = '{0}',\n _a[searchPlaceholder] = 'Search',\n _a[filterCheckAll] = 'Check All',\n _a[filterChooseOperator] = 'Choose Operator',\n _a[filterSelectedItems] = 'selected items',\n _a[sortAriaLabel] = 'Sortable',\n _a[filterAriaLabel] = 'Filter',\n _a['grid.filterEqOperator'] = 'Is equal to',\n _a['grid.filterNotEqOperator'] = 'Is not equal to',\n _a['grid.filterIsNullOperator'] = 'Is null',\n _a['grid.filterIsNotNullOperator'] = 'Is not null',\n _a['grid.filterIsEmptyOperator'] = 'Is empty',\n _a['grid.filterIsNotEmptyOperator'] = 'Is not empty',\n _a['grid.filterStartsWithOperator'] = 'Starts with',\n _a['grid.filterContainsOperator'] = 'Contains',\n _a['grid.filterNotContainsOperator'] = 'Does not contain',\n _a['grid.filterEndsWithOperator'] = 'Ends with',\n _a['grid.filterGteOperator'] = 'Is greater than or equal to',\n _a['grid.filterGtOperator'] = 'Is greater than',\n _a['grid.filterLteOperator'] = 'Is less than or equal to',\n _a['grid.filterLtOperator'] = 'Is less than',\n _a['grid.filterIsTrue'] = 'Is true',\n _a['grid.filterIsFalse'] = 'Is false',\n _a['grid.filterBooleanAll'] = '(All)',\n _a['grid.filterAfterOrEqualOperator'] = 'Is after or equal to',\n _a['grid.filterAfterOperator'] = 'Is after',\n _a['grid.filterBeforeOperator'] = 'Is before',\n _a['grid.filterBeforeOrEqualOperator'] = 'Is before or equal to',\n _a['grid.filterAndLogic'] = 'And',\n _a['grid.filterOrLogic'] = 'Or',\n _a);\n/**\n * @hidden\n */\nexport function pagerMessagesMap(pagerMessageKey) {\n var messageKey = pagerMessageKey.replace(/^pager\\.([a-z])/, function (_match, group) { return 'grid.pager' + group.toUpperCase(); });\n return ({ messageKey: messageKey, defaultMessage: messages[messageKey] });\n}\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getNestedValue } from './../utils';\nimport { guid, getTemplate, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridSelectionCell` component.\n */\n\nvar GridSelectionCell = {\n props: {\n id: String,\n field: String,\n dataItem: Object,\n format: String,\n type: String,\n className: String,\n colSpan: Number,\n columnIndex: Number,\n columnsCount: Number,\n rowType: String,\n level: Number,\n expanded: Boolean,\n render: [String, Function, Object],\n isSelected: Boolean,\n ariaColumnIndex: Number,\n editor: String\n },\n // @ts-ignore\n emits: {\n selectionchange: null,\n cellkeydown: null\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n data: function data() {\n return {\n inputId: guid()\n };\n },\n methods: {\n triggerKeydown: function triggerKeydown(e) {\n this.$emit('cellkeydown', {\n event: e,\n dataItem: this.$props.dataItem,\n field: this.$props.field\n });\n },\n handleOnChange: function handleOnChange(event) {\n this.$emit('selectionchange', {\n event: event,\n dataItem: this.$props.dataItem\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var data = getNestedValue(this.$props.field, this.$props.dataItem);\n var renderTemplate = this.$props.render;\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n var defaultRendering = this.$props.rowType !== 'groupHeader' ? h(\"td\", {\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown\n },\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n \"aria-colindex\": this.$props.ariaColumnIndex,\n role: 'gridcell',\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n \"aria-colindex\": this.$props.ariaColumnIndex,\n role: 'gridcell',\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [h(\"input\", {\n checked: this.v3 ? data : null,\n domProps: this.v3 ? undefined : {\n \"checked\": data\n },\n id: this.inputId,\n attrs: this.v3 ? undefined : {\n id: this.inputId,\n type: \"checkbox\"\n },\n type: \"checkbox\",\n \"class\": \"k-checkbox\",\n onChange: this.handleOnChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleOnChange\n }\n }), h(\"label\", {\n \"class\": \"k-checkbox-label\",\n \"for\": this.inputId,\n attrs: this.v3 ? undefined : {\n \"for\": this.inputId\n }\n })]) : null;\n return getTemplate.call(this, {\n h: h,\n template: renderTemplate,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n keydown: this.triggerKeydown,\n change: this.handleOnChange\n }\n });\n }\n};\nvar GridSelectionCellVue3 = GridSelectionCell;\nexport { GridSelectionCell, GridSelectionCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getNestedValue } from './../utils';\nimport { getTemplate, Keys, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridHierarchyCell` component.\n */\n\nvar GridHierarchyCell = {\n props: {\n id: String,\n field: String,\n dataItem: Object,\n format: String,\n type: String,\n className: String,\n colSpan: Number,\n columnIndex: Number,\n columnsCount: Number,\n rowType: String,\n level: Number,\n expanded: Boolean,\n editor: String,\n isSelected: Boolean,\n dataIndex: Number,\n ariaColumnIndex: Number,\n render: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n change: null,\n cellkeydown: null\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n methods: {\n triggerKeydown: function triggerKeydown(event, expanded) {\n this.$emit('cellkeydown', {\n event: event,\n dataItem: this.$props.dataItem,\n field: this.$props.field,\n expanded: expanded\n });\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.keyCode === Keys.enter) {\n event.preventDefault();\n this.$emit('change', {\n dataItem: this.$props.dataItem,\n dataIndex: this.$props.dataIndex,\n event: event,\n field: this.$props.field,\n value: !expanded\n });\n }\n },\n clickHandler: function clickHandler(e, dataItem, expanded) {\n e.preventDefault();\n this.$emit('change', {\n dataItem: dataItem,\n event: e,\n field: undefined,\n value: !expanded\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultRendering = null;\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n\n if (this.$props.rowType === 'groupFooter') {\n defaultRendering = h(\"td\", {\n \"class\": \"k-hierarchy-cell\"\n });\n } else if (this.$props.rowType !== 'groupHeader') {\n var expanded_1 = getNestedValue(this.$props.field, this.$props.dataItem);\n var className = expanded_1 ? 'k-icon k-i-minus' : 'k-icon k-i-plus';\n defaultRendering = h(\"td\", {\n onKeydown: function onKeydown(ev) {\n _this.triggerKeydown(ev, expanded_1);\n },\n on: this.v3 ? undefined : {\n \"keydown\": function onKeydown(ev) {\n _this.triggerKeydown(ev, expanded_1);\n }\n },\n \"class\": \"k-hierarchy-cell\",\n \"aria-expanded\": expanded_1 ? 'true' : 'false',\n attrs: this.v3 ? undefined : {\n \"aria-expanded\": expanded_1 ? 'true' : 'false',\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [h(\"a\", {\n onClick: function onClick(e) {\n _this.clickHandler(e, _this.$props.dataItem, expanded_1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n _this.clickHandler(e, _this.$props.dataItem, expanded_1);\n }\n },\n \"class\": className,\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\",\n tabIndex: -1\n },\n tabIndex: -1\n })]);\n }\n\n return getTemplate.call(this, {\n h: h,\n template: this.$props.render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n keydown: this.triggerKeydown,\n click: this.clickHandler\n }\n });\n }\n};\nvar GridHierarchyCellVue3 = GridHierarchyCell;\nexport { GridHierarchyCell, GridHierarchyCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\nimport { noop } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridDetailHierarchyCell` component.\n */\n\nvar GridDetailHierarchyCell = {\n props: {\n id: String\n },\n inject: {\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n return h(\"td\", {\n \"class\": \"k-hierarchy-cell\",\n tabIndex: navAttrs.tabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n });\n }\n};\nvar GridDetailHierarchyCellVue3 = GridDetailHierarchyCell;\nexport { GridDetailHierarchyCell, GridDetailHierarchyCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getTemplate, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridDetailCell` component.\n */\n\nvar GridDetailCell = {\n props: {\n colSpan: Number,\n ariaColIndex: Number,\n dataItem: [Object, String, Number],\n dataIndex: Number,\n detail: [String, Function, Object],\n id: String\n },\n inject: {\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n colSpan = _a.colSpan,\n ariaColIndex = _a.ariaColIndex,\n dataItem = _a.dataItem,\n dataIndex = _a.dataIndex,\n id = _a.id;\n var navAttrs = this.getKeyboardNavigationAttributes(id);\n\n var detailRender = function detailRender(args) {\n return getTemplate.call(this, {\n h: h,\n template: this.$props.detail,\n additionalProps: args\n });\n };\n\n return h(\"td\", {\n \"class\": \"k-detail-cell\",\n colSpan: colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: colSpan,\n \"aria-colindex\": ariaColIndex,\n role: 'gridcell',\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"aria-colindex\": ariaColIndex,\n role: 'gridcell',\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [detailRender.call(this, {\n dataItem: dataItem,\n dataIndex: dataIndex\n })]);\n }\n};\nvar GridDetailCellVue3 = GridDetailCell;\nexport { GridDetailCell, GridDetailCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getNestedValue } from './../utils';\nimport { guid, getTemplate, noop } from '@progress/kendo-vue-common';\nimport { NumericTextBox } from '@progress/kendo-vue-inputs';\nimport { DatePicker } from '@progress/kendo-vue-dateinputs';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridEditCell` component.\n */\n\nvar GridEditCell = {\n props: {\n id: String,\n field: String,\n dataItem: Object,\n format: String,\n type: String,\n className: String,\n colSpan: Number,\n columnIndex: Number,\n columnsCount: Number,\n rowType: String,\n level: Number,\n expanded: Boolean,\n editor: String,\n isSelected: Boolean,\n ariaColumnIndex: Number,\n render: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n change: null,\n cellkeydown: null,\n edit: null,\n add: null,\n cancel: null,\n save: null,\n remove: null\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n data: function data() {\n return {\n inputId: guid()\n };\n },\n methods: {\n triggerKeydown: function triggerKeydown(e) {\n this.$emit('cellkeydown', {\n event: e,\n dataItem: this.$props.dataItem,\n field: this.$props.field\n });\n },\n triggerEdit: function triggerEdit(dataItem) {\n this.$emit('edit', dataItem);\n },\n triggerAdd: function triggerAdd(dataItem) {\n this.$emit('add', dataItem);\n },\n triggerCancel: function triggerCancel(dataItem) {\n this.$emit('cancel', dataItem);\n },\n triggerSave: function triggerSave(dataItem) {\n this.$emit('save', dataItem);\n },\n triggerRemove: function triggerRemove(dataItem) {\n this.$emit('remove', dataItem);\n },\n changeHandler: function changeHandler(event, value) {\n if (!value) {\n if (event.target.type === 'checkbox') {\n value = event.target.checked;\n } else {\n value = event.target.valueAsDate ? event.target.valueAsDate : event.target.value;\n }\n }\n\n this.$emit('change', {\n dataItem: this.$props.dataItem,\n field: this.$props.field,\n event: event,\n value: value\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var data = getNestedValue(this.$props.field, this.$props.dataItem);\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n var defaultRendering = null;\n\n switch (this.$props.editor) {\n case 'numeric':\n defaultRendering = h(\"td\", {\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown\n },\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [// @ts-ignore\n h(NumericTextBox, {\n style: {\n width: '100%'\n },\n value: data === undefined ? null : data,\n attrs: this.v3 ? undefined : {\n value: data === undefined ? null : data\n },\n onChange: this.changeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.changeHandler\n }\n })]);\n break;\n\n case 'date':\n defaultRendering = h(\"td\", {\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown\n },\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [// @ts-ignore\n h(DatePicker, {\n style: {\n width: '100%'\n },\n value: data,\n attrs: this.v3 ? undefined : {\n value: data\n },\n onChange: this.changeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.changeHandler\n }\n })]);\n break;\n\n case 'boolean':\n defaultRendering = h(\"td\", {\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown\n },\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [h(\"input\", {\n checked: this.v3 ? data || false : null,\n domProps: this.v3 ? undefined : {\n \"checked\": data || false\n },\n id: this.inputId,\n attrs: this.v3 ? undefined : {\n id: this.inputId,\n type: \"checkbox\"\n },\n type: \"checkbox\",\n \"class\": \"k-checkbox\",\n onChange: this.changeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.changeHandler\n }\n }), h(\"label\", {\n \"class\": \"k-checkbox-label\",\n \"for\": this.inputId,\n attrs: this.v3 ? undefined : {\n \"for\": this.inputId\n }\n })]);\n break;\n\n default:\n defaultRendering = h(\"td\", {\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown\n },\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [h(\"input\", {\n style: {\n width: '100%'\n },\n \"class\": \"k-textbox\",\n value: this.v3 ? data !== null && data !== void 0 ? data : '' : null,\n domProps: this.v3 ? undefined : {\n \"value\": data !== null && data !== void 0 ? data : ''\n },\n onChange: this.changeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.changeHandler\n }\n })]);\n }\n\n return getTemplate.call(this, {\n h: h,\n template: this.$props.render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n change: this.changeHandler,\n keydown: this.triggerKeydown,\n edit: this.triggerEdit,\n add: this.triggerAdd,\n cancel: this.triggerCancel,\n save: this.triggerSave,\n remove: this.triggerRemove\n }\n });\n }\n};\nvar GridEditCellVue3 = GridEditCell;\nexport { GridEditCell, GridEditCellVue3 };","var getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { BrowserSupportService } from '../utils/browser-support.service';\nimport { isRtl } from '../utils';\n/**\n * Represents the default `Header` component.\n */\n\nvar Header = {\n props: {\n staticHeaders: Boolean,\n headerRow: Object,\n columnResize: Object,\n cols: Array,\n draggable: Boolean\n },\n data: function data() {\n return {\n divStyle: {},\n element: null,\n headerWrap: null,\n table: null\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-grid-header': true,\n 'k-grid-draggable-header': this.$props.draggable\n };\n }\n },\n mounted: function mounted() {\n this.headerWrap = this.v3 ? this.headerWrapRef : this.$refs.headerWrap;\n this.table = this.v3 ? this.tableRef : this.$refs.table;\n this.$props.columnResize.colGroupHeader = this.v3 ? this.colGroupHeaderRef : this.$refs.colGroupHeader;\n var scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n var rtl = isRtl(this.$el);\n\n if (this.$props.columnResize) {\n this.$props.columnResize.setIsRtl(rtl);\n }\n\n var padding = Math.max(0, scrollbarWidth - 1) + 'px';\n var right = rtl ? 0 : padding;\n var left = rtl ? padding : 0;\n this.divStyle = {\n padding: \"0 \" + right + \" 0 \" + left\n };\n },\n methods: {\n setScrollLeft: function setScrollLeft(scrollLeft) {\n if (this.headerWrap) {\n this.headerWrap.scrollLeft = scrollLeft;\n }\n },\n setWidth: function setWidth(width) {\n if (this.table) {\n this.table.style.width = width + 'px';\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var headerWrapRef = ref(null);\n var tableRef = ref(null);\n var colGroupHeaderRef = ref(null);\n return {\n v3: v3,\n headerWrapRef: headerWrapRef,\n tableRef: tableRef,\n colGroupHeaderRef: colGroupHeaderRef\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n\n if (!this.$props.staticHeaders) {\n return this.$props.headerRow;\n }\n\n return h(\"div\", {\n \"class\": this.wrapperClass,\n style: this.divStyle,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n ref: this.v3 ? function (el) {\n _this.headerWrapRef = el;\n } : 'headerWrap',\n \"class\": \"k-grid-header-wrap\",\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"table\", {\n ref: this.v3 ? function (el) {\n _this.tableRef = el;\n } : 'table',\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"colgroup\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: this.v3 ? function (el) {\n _this.colGroupHeaderRef = el;\n } : 'colGroupHeader'\n }, [this.$props.cols]), this.$props.headerRow])])]);\n }\n};\nvar HeaderVue3 = Header;\nexport { Header, HeaderVue3 };","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/**\n * @hidden\n */\nexport var normalize = function () {\n var _a;\n var settings = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n settings[_i] = arguments[_i];\n }\n return (_a = Object).assign.apply(_a, __spreadArrays([{ allowUnsort: true, mode: 'single' }], settings));\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Draggable } from '@progress/kendo-vue-common';\n/**\n * Represents the default `ColumnResizer` component.\n */\n\nvar ColumnResizer = {\n mounted: function mounted() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n methods: {\n drag: function drag(event) {\n var element = this.draggable && this.draggable.element;\n\n if (element) {\n this.$emit('resize', event, element, false);\n }\n },\n release: function release(event) {\n var element = this.draggable && this.draggable.element;\n\n if (element) {\n this.$emit('resize', event, element, true);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var resizeStyle = {\n // TODO: move to theme\n cursor: 'col-resize',\n display: 'block',\n height: '1000%',\n position: 'absolute',\n // [this.props.isRtl ? 'left' : 'right']: 0,\n top: 0,\n width: '.5em'\n };\n return (// @ts-ignore function children\n h(Draggable, {\n onDrag: this.drag,\n on: this.v3 ? undefined : {\n \"drag\": this.drag,\n \"release\": this.release\n },\n onRelease: this.release,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"span\", {\n \"class\": \"k-column-resizer\",\n draggable: false,\n attrs: _this.v3 ? undefined : {\n draggable: false\n },\n style: resizeStyle\n })];\n } : [h(\"span\", {\n \"class\": \"k-column-resizer\",\n draggable: false,\n attrs: _this.v3 ? undefined : {\n draggable: false\n },\n style: resizeStyle\n })])\n );\n }\n};\nvar ColumnResizerVue3 = ColumnResizer;\nexport { ColumnResizer, ColumnResizerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots, Draggable } from '@progress/kendo-vue-common';\n/**\n * Represents the default `ColumnDraggable` component.\n */\n\nvar ColumnDraggable = {\n mounted: function mounted() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n methods: {\n onPress: function onPress(event) {\n var element = this.draggable && this.draggable.element;\n\n if (element) {\n this.$emit('pressHandler', event, element);\n }\n },\n onDrag: function onDrag(event) {\n var element = this.draggable && this.draggable.element;\n\n if (element) {\n this.$emit('dragHandler', event, element);\n }\n },\n onRelease: function onRelease(event) {\n var element = this.draggable && this.draggable.element;\n\n if (element) {\n this.$emit('releaseHandler', event, element);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return (// @ts-ignore function children\n h(Draggable, {\n onPress: this.onPress,\n on: this.v3 ? undefined : {\n \"press\": this.onPress,\n \"drag\": this.onDrag,\n \"release\": this.onRelease\n },\n onDrag: this.onDrag,\n onRelease: this.onRelease,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"tr\", [defaultSlot])];\n } : [h(\"tr\", [defaultSlot])])\n );\n }\n};\nvar ColumnDraggableVue3 = ColumnDraggable;\nexport { ColumnDraggable, ColumnDraggableVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridHeaderCell` component.\n */\n\nvar GridHeaderCell = {\n props: {\n field: String,\n title: String,\n sortable: [Boolean, Object],\n render: [Object, Function, String]\n },\n methods: {\n clickHandler: function clickHandler(event) {\n this.$emit('headercellclick', event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var renderTemplate = this.$props.render;\n var textInCell = this.$props.title || this.$props.field || \"\\xA0\";\n var defaultRendering = this.$props.sortable ? h(\"span\", {\n \"class\": \"k-link\",\n onClick: this.clickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.clickHandler\n }\n }, [textInCell, defaultSlot]) : defaultSlot ? h(\"span\", [textInCell, defaultSlot]) // @ts-ignore\n : this.v3 ? textInCell : this._v(textInCell);\n return getTemplate.call(this, {\n h: h,\n template: renderTemplate,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.clickHandler\n }\n });\n }\n};\nvar GridHeaderCellVue3 = GridHeaderCell;\nexport { GridHeaderCell, GridHeaderCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Keys } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridColumnMenuItem` component.\n */\n\nvar GridColumnMenuItem = {\n props: {\n title: String,\n iconClass: String,\n selected: Boolean\n },\n methods: {\n onClick: function onClick(e) {\n this.$emit('menuitemclick', e);\n },\n onKeyDown: function onKeyDown(event) {\n if (event.keyCode === Keys.enter) {\n this.$emit('menuitemclick', event);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n title = _a.title,\n iconClass = _a.iconClass,\n selected = _a.selected;\n return h(\"div\", {\n tabindex: 0,\n attrs: this.v3 ? undefined : {\n tabindex: 0\n },\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"click\": this.onClick\n },\n onClick: this.onClick,\n \"class\": \"k-columnmenu-item \" + (selected ? 'k-state-selected' : '')\n }, [iconClass && h(\"span\", {\n \"class\": \"k-icon \" + iconClass\n }), title]);\n }\n};\nvar GridColumnMenuItemVue3 = GridColumnMenuItem;\nexport { GridColumnMenuItem, GridColumnMenuItemVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * The GridColumnMenuItemGroup that will be used inside the Grid ColumnMenu.\n */\n\nvar GridColumnMenuItemGroup = {\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": \"k-columnmenu-item-wrapper\"\n }, [defaultSlot]);\n }\n};\nvar GridColumnMenuItemGroupVue3 = GridColumnMenuItemGroup;\nexport { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { normalize } from '../interfaces/GridSortSettings';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, sortAscending, sortDescending } from '../messages';\nimport { hasListener } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar ASC_DIR = 'asc';\n/**\n * @hidden\n */\n\nvar DESC_DIR = 'desc';\n/**\n * @hidden\n */\n\nvar sortSeqMap = {\n true: {\n 'asc': {\n 'asc': '',\n 'desc': 'desc'\n },\n 'desc': {\n 'asc': 'asc',\n 'desc': ''\n },\n '': {\n 'asc': 'asc',\n 'desc': 'desc'\n }\n },\n false: {\n 'asc': {\n 'asc': 'asc',\n 'desc': 'desc'\n },\n 'desc': {\n 'asc': 'asc',\n 'desc': 'desc'\n },\n '': {\n 'asc': 'asc',\n 'desc': 'desc'\n }\n }\n};\n/**\n * @hidden\n */\n\nvar sortIndex = function sortIndex(field, sort) {\n if (!sort) {\n return -1;\n }\n\n return sort.findIndex(function (s) {\n return s.field === field;\n });\n};\n/**\n * @hidden\n */\n\n\nvar sortedAsc = function sortedAsc(sortedIndex, sort) {\n return !!(sort && sortedIndex > -1 && sort[sortedIndex].dir === ASC_DIR);\n};\n/**\n * @hidden\n */\n\n\nvar sortedDesc = function sortedDesc(sortedIndex, sort) {\n return !!(sort && sortedIndex > -1 && sort[sortedIndex].dir === DESC_DIR);\n}; // tslint:disable:max-line-length\n\n/**\n * Can be used to check if sorting is applied to a specific field ([see example]({% slug column_menu_grid_native %}#toc-styling-the-column-menu-icon)). Useful for creating active sort indicators.\n */\n// tslint:enable:max-line-length\n\n\nexport var sortGroupByField = function sortGroupByField(field, sort) {\n var currentSortIndex = sortIndex(field, sort);\n return sortedDesc(currentSortIndex, sort) || sortedAsc(currentSortIndex, sort);\n};\n/**\n * Represents the default `GridColumnMenuSort` component.\n */\n\nvar GridColumnMenuSort = {\n props: {\n sortable: [Boolean, Object],\n sort: {\n type: Array\n },\n column: Object\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n onAscClick: function onAscClick(e) {\n this.onSort(e, ASC_DIR);\n this.$emit('closemenu');\n },\n onDescClick: function onDescClick(e) {\n this.onSort(e, DESC_DIR);\n this.$emit('closemenu');\n },\n onSort: function onSort(e, selectedDir) {\n e.preventDefault();\n\n if (!hasListener.call(this, 'sortchange')) {\n return;\n }\n\n var _a = this.$props,\n column = _a.column,\n sortable = _a.sortable,\n sort = _a.sort;\n\n var _b = normalize(sortable || false, false),\n allowUnsort = _b.allowUnsort,\n mode = _b.mode;\n\n var oldDescriptor = (sort || []).filter(function (d) {\n return d.field === column.field;\n })[0];\n var dir = sortSeqMap[allowUnsort][oldDescriptor && oldDescriptor.dir || ''][selectedDir];\n var newDescriptor = mode === 'single' ? [] : (this.$props.sort || []).filter(function (d) {\n return d.field !== column.field;\n });\n\n if (dir !== '' && column.field) {\n newDescriptor.push({\n field: column.field,\n dir: dir\n });\n }\n\n this.$emit('sortchange', newDescriptor, {\n event: e,\n field: this.$props.column.field\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n sort = _a.sort,\n column = _a.column;\n var currentSortIndex = sortIndex(column.field, sort);\n var localizationService = provideLocalizationService(this);\n return (// @ts-ignore function children\n h(GridColumnMenuItemGroup, this.v3 ? function () {\n return [// @ts-ignore\n h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),\n attrs: _this.v3 ? undefined : {\n title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),\n iconClass: 'k-i-sort-asc-sm',\n selected: sortedAsc(currentSortIndex, sort)\n },\n iconClass: 'k-i-sort-asc-sm',\n selected: sortedAsc(currentSortIndex, sort),\n onMenuitemclick: _this.onAscClick,\n on: _this.v3 ? undefined : {\n \"menuitemclick\": _this.onAscClick\n }\n }), // @ts-ignore\n h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),\n attrs: _this.v3 ? undefined : {\n title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),\n iconClass: 'k-i-sort-desc-sm',\n selected: sortedDesc(currentSortIndex, sort)\n },\n iconClass: 'k-i-sort-desc-sm',\n selected: sortedDesc(currentSortIndex, sort),\n onMenuitemclick: _this.onDescClick,\n on: _this.v3 ? undefined : {\n \"menuitemclick\": _this.onDescClick\n }\n })];\n } : [h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),\n attrs: _this.v3 ? undefined : {\n title: localizationService.toLanguageString(sortAscending, messages[sortAscending]),\n iconClass: 'k-i-sort-asc-sm',\n selected: sortedAsc(currentSortIndex, sort)\n },\n iconClass: 'k-i-sort-asc-sm',\n selected: sortedAsc(currentSortIndex, sort),\n onMenuitemclick: _this.onAscClick,\n on: _this.v3 ? undefined : {\n \"menuitemclick\": _this.onAscClick\n }\n }), h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),\n attrs: _this.v3 ? undefined : {\n title: localizationService.toLanguageString(sortDescending, messages[sortDescending]),\n iconClass: 'k-i-sort-desc-sm',\n selected: sortedDesc(currentSortIndex, sort)\n },\n iconClass: 'k-i-sort-desc-sm',\n selected: sortedDesc(currentSortIndex, sort),\n onMenuitemclick: _this.onDescClick,\n on: _this.v3 ? undefined : {\n \"menuitemclick\": _this.onDescClick\n }\n })])\n );\n }\n};\nvar GridColumnMenuSortVue3 = GridColumnMenuSort;\nexport { GridColumnMenuSort, GridColumnMenuSortVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Reveal } from '@progress/kendo-vue-animation';\n/**\n * Represents the default `GridColumnMenuItemContent` component.\n */\n\nvar GridColumnMenuItemContent = {\n props: {\n show: Boolean\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-columnmenu-item-content'\n }, [// @ts-ignore function children\n h(Reveal, {\n appear: this.$props.show,\n attrs: this.v3 ? undefined : {\n appear: this.$props.show\n },\n style: {\n position: 'relative',\n display: 'block'\n }\n }, this.v3 ? function () {\n return [_this.$props.show ? defaultSlot : null];\n } : [_this.$props.show ? defaultSlot : null])]);\n }\n};\nvar GridColumnMenuItemContentVue3 = GridColumnMenuItemContent;\nexport { GridColumnMenuItemContent, GridColumnMenuItemContentVue3 };","import { messages } from './messages';\n/**\n * @hidden\n */\nexport var filterLogicList = [\n { text: 'grid.filterAndLogic', operator: 'and' },\n { text: 'grid.filterOrLogic', operator: 'or' }\n];\n/**\n * @hidden\n */\nexport var operators = {\n 'text': [\n { text: 'grid.filterContainsOperator', operator: 'contains' },\n { text: 'grid.filterNotContainsOperator', operator: 'doesnotcontain' },\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterStartsWithOperator', operator: 'startswith' },\n { text: 'grid.filterEndsWithOperator', operator: 'endswith' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' },\n { text: 'grid.filterIsEmptyOperator', operator: 'isempty' },\n { text: 'grid.filterIsNotEmptyOperator', operator: 'isnotempty' }\n ],\n 'numeric': [\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterGteOperator', operator: 'gte' },\n { text: 'grid.filterGtOperator', operator: 'gt' },\n { text: 'grid.filterLteOperator', operator: 'lte' },\n { text: 'grid.filterLtOperator', operator: 'lt' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' }\n ],\n 'date': [\n { text: 'grid.filterEqOperator', operator: 'eq' },\n { text: 'grid.filterNotEqOperator', operator: 'neq' },\n { text: 'grid.filterAfterOrEqualOperator', operator: 'gte' },\n { text: 'grid.filterAfterOperator', operator: 'gt' },\n { text: 'grid.filterBeforeOperator', operator: 'lt' },\n { text: 'grid.filterBeforeOrEqualOperator', operator: 'lte' },\n { text: 'grid.filterIsNullOperator', operator: 'isnull' },\n { text: 'grid.filterIsNotNullOperator', operator: 'isnotnull' }\n ],\n 'boolean': [\n { text: 'grid.filterEqOperator', operator: 'eq' }\n ]\n};\n/**\n * @hidden\n */\nexport var IsUnaryFilter = function (operator) {\n return operator === 'isnull' || operator === 'isnotnull' || operator === 'isempty' || operator === 'isnotempty';\n};\n/**\n * @hidden\n */\nexport var operatorMap = function (iterable, service) { return iterable.map(function (operator) { return ({\n text: service.toLanguageString(operator.text, messages[operator.text]),\n operator: operator.operator\n}); }); };\n/**\n * @hidden\n */\nexport var defaultBooleanOperator = 'eq';\n/**\n * @hidden\n */\nexport var booleanFilterValues = [\n { text: 'grid.filterBooleanAll', operator: '' },\n { text: 'grid.filterIsTrue', operator: true },\n { text: 'grid.filterIsFalse', operator: false }\n];\n/**\n * @hidden\n */\nexport var defaultHideSecondFilter = {\n text: false,\n numeric: false,\n date: false,\n boolean: true\n};\n/**\n * @hidden\n */\nexport var cellInputChange = function (value, e, props) {\n var defaultOperator = getDefaultOperator(props.operators);\n var operator = props.operator;\n switch (props.filterType) {\n case 'numeric':\n if (!operator || IsUnaryFilter(operator)) {\n // change the operator to default\n operator = defaultOperator;\n }\n if (value === null && operator === defaultOperator) {\n // clear only the default operator\n operator = '';\n }\n break;\n case 'date':\n if (!operator || IsUnaryFilter(operator)) {\n operator = defaultOperator;\n }\n if (value === null && operator === defaultOperator) {\n operator = '';\n }\n break;\n case 'text':\n if (!operator || IsUnaryFilter(operator)) {\n operator = defaultOperator;\n }\n if (!value && operator === defaultOperator) {\n operator = '';\n }\n break;\n default: return;\n }\n return { value: value, operator: operator, event: e };\n};\n/**\n * @hidden\n */\nexport var getDefaultOperator = function (filterOperators, filterType) {\n if (filterType) {\n return filterOperators[filterType][0].operator;\n }\n else {\n return filterOperators[0].operator;\n }\n};\n/**\n * @hidden\n */\nexport var getFilterType = function (filterType) {\n return filterType || 'text';\n};\n/**\n * @hidden\n */\nexport var cellBoolDropdownChange = function (value, e) {\n return {\n value: value,\n operator: value === '' ? '' : defaultBooleanOperator,\n event: e\n };\n};\n/**\n * @hidden\n */\nexport var cellOperatorChange = function (operator, e, value) {\n if (IsUnaryFilter(operator)) {\n // clear the value to avoid confusion on what is filtered\n value = null;\n }\n return { value: value, operator: operator, event: e };\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { NumericTextBox } from '@progress/kendo-vue-inputs';\nimport { DatePicker } from '@progress/kendo-vue-dateinputs';\nimport { cellBoolDropdownChange, cellInputChange, cellOperatorChange } from '../filterCommon';\n/**\n * Represents the default `GridColumnMenuFilterCell` component.\n */\n\nvar GridColumnMenuFilterCell = {\n props: {\n field: String,\n filterType: String,\n value: [Object, String, Number, Date, Boolean],\n operator: String,\n operators: Array,\n booleanValues: Array\n },\n // @ts-ignore\n emits: {\n change: null\n },\n methods: {\n handleFocus: function handleFocus(e) {\n this.$emit('filtercellfocus', e);\n },\n triggerChange: function triggerChange(filter) {\n this.$emit('change', filter);\n },\n inputChange: function inputChange(value, e) {\n var filter = cellInputChange(value, e, this.$props);\n this.triggerChange(filter);\n },\n operatorChange: function operatorChange(operatorValue, e) {\n var filter = cellOperatorChange(operatorValue.value.operator, e, this.$props.value);\n this.triggerChange(filter);\n },\n boolDropdownChange: function boolDropdownChange(value, e) {\n var filter = cellBoolDropdownChange(value.value.operator, e);\n this.triggerChange(filter);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var ddlValue = this.$props.operators.find(function (item) {\n return item.operator === _this.$props.operator;\n }) || null;\n\n var filterComponent = function filterComponent(filterType, value, booleanValues) {\n var _this = this;\n\n switch (filterType) {\n case 'numeric':\n return (// @ts-ignore\n h(NumericTextBox, {\n value: value,\n attrs: this.v3 ? undefined : {\n value: value\n },\n onChange: function onChange(e) {\n _this.inputChange(e.value, e.event);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n _this.inputChange(e.value, e.event);\n }\n }\n })\n );\n\n case 'date':\n return (// @ts-ignore\n h(DatePicker, {\n value: value,\n attrs: this.v3 ? undefined : {\n value: value\n },\n onFocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.handleFocus,\n \"change\": function change(e) {\n _this.inputChange(e.value, e.event);\n }\n },\n onChange: function change(e) {\n _this.inputChange(e.value, e.event);\n }\n })\n );\n\n case 'boolean':\n var noFilterSet_1 = function noFilterSet_1(filter) {\n return filter === null || filter === undefined;\n };\n\n return (// @ts-ignore\n h(DropDownList, {\n onChange: this.boolDropdownChange,\n on: this.v3 ? undefined : {\n \"change\": this.boolDropdownChange\n },\n value: booleanValues.find(function (item) {\n return item.operator === (noFilterSet_1(value) ? '' : value);\n }),\n attrs: this.v3 ? undefined : {\n value: booleanValues.find(function (item) {\n return item.operator === (noFilterSet_1(value) ? '' : value);\n }),\n \"data-items\": booleanValues,\n textField: \"text\"\n },\n \"data-items\": booleanValues,\n textField: \"text\"\n })\n );\n\n default:\n return h(\"input\", {\n \"class\": \"k-textbox\",\n value: this.v3 ? value || '' : null,\n domProps: this.v3 ? undefined : {\n \"value\": value || ''\n },\n onInput: function onInput(e) {\n _this.inputChange(e.target.value, e);\n },\n on: this.v3 ? undefined : {\n \"input\": function onInput(e) {\n _this.inputChange(e.target.value, e);\n }\n }\n });\n }\n };\n\n return h(\"div\", [this.$props.filterType !== 'boolean' && // @ts-ignore\n h(DropDownList, {\n onChange: this.operatorChange,\n on: this.v3 ? undefined : {\n \"change\": this.operatorChange\n },\n value: ddlValue,\n attrs: this.v3 ? undefined : {\n value: ddlValue,\n \"data-items\": this.$props.operators,\n textField: \"text\"\n },\n \"data-items\": this.$props.operators,\n textField: \"text\"\n }), filterComponent.call(this, this.$props.filterType, this.$props.value, this.$props.booleanValues)]);\n }\n};\nvar GridColumnMenuFilterCellVue3 = GridColumnMenuFilterCell;\nexport { GridColumnMenuFilterCell, GridColumnMenuFilterCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { GridColumnMenuFilterCell } from './GridColumnMenuFilterCell';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { getTemplate } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridColumnMenuFilterUI` component.\n */\n\nvar GridColumnMenuFilterUI = {\n props: {\n firstFilterProps: Object,\n secondFilterProps: Object,\n logicValue: Object,\n logicData: Array,\n hideSecondFilter: Boolean,\n operators: Array,\n render: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n change: null\n },\n methods: {\n handleFocus: function handleFocus(e) {\n this.$emit('filteruifocus', e);\n },\n changeHandler: function changeHandler(e, filterIndex) {\n this.$emit('change', e, filterIndex);\n },\n logicChange: function logicChange(e) {\n this.$emit('logicChange', e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n firstFilterProps = _a.firstFilterProps,\n hideSecondFilter = _a.hideSecondFilter,\n secondFilterProps = _a.secondFilterProps,\n logicData = _a.logicData,\n logicValue = _a.logicValue,\n operators = _a.operators,\n render = _a.render;\n var firstField = firstFilterProps.field,\n firstValue = firstFilterProps.value,\n firstOperator = firstFilterProps.operator,\n firstBooleanValues = firstFilterProps.booleanValues,\n firstFilterType = firstFilterProps.filterType,\n secondField = secondFilterProps.field,\n secondValue = secondFilterProps.value,\n secondOperator = secondFilterProps.operator,\n secondBooleanValues = secondFilterProps.booleanValues,\n secondFilterType = secondFilterProps.filterType;\n var defaultRendering = h(\"div\", [// @ts-ignore\n h(GridColumnMenuFilterCell, {\n field: firstField,\n attrs: this.v3 ? undefined : {\n field: firstField,\n value: firstValue,\n operator: firstOperator,\n booleanValues: firstBooleanValues,\n filterType: firstFilterType,\n operators: operators\n },\n value: firstValue,\n operator: firstOperator,\n booleanValues: firstBooleanValues,\n filterType: firstFilterType,\n onFiltercellfocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"filtercellfocus\": this.handleFocus,\n \"change\": function change(e) {\n _this.changeHandler(e, 0);\n }\n },\n onChange: function change(e) {\n _this.changeHandler(e, 0);\n },\n operators: operators\n }), !hideSecondFilter && h(\"div\", [// @ts-ignore\n h(DropDownList, {\n onChange: this.logicChange,\n on: this.v3 ? undefined : {\n \"change\": this.logicChange\n },\n \"class\": \"k-filter-and\",\n \"data-items\": logicData,\n attrs: this.v3 ? undefined : {\n \"data-items\": logicData,\n value: logicValue,\n textField: \"text\"\n },\n value: logicValue,\n textField: \"text\"\n }), // @ts-ignore\n h(GridColumnMenuFilterCell, {\n field: secondField,\n attrs: this.v3 ? undefined : {\n field: secondField,\n value: secondValue,\n operator: secondOperator,\n booleanValues: secondBooleanValues,\n filterType: secondFilterType,\n operators: operators\n },\n value: secondValue,\n operator: secondOperator,\n booleanValues: secondBooleanValues,\n filterType: secondFilterType,\n onFiltercellfocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"filtercellfocus\": this.handleFocus,\n \"change\": function change(e) {\n _this.changeHandler(e, 1);\n }\n },\n onChange: function change(e) {\n _this.changeHandler(e, 1);\n },\n operators: operators\n })])]);\n return getTemplate.call(this, {\n h: h,\n template: render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n change: this.changeHandler,\n logicchange: this.logicChange\n }\n });\n }\n};\nvar GridColumnMenuFilterUIVue3 = GridColumnMenuFilterUI;\nexport { GridColumnMenuFilterUI, GridColumnMenuFilterUIVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { templateRendering, hasListener, getListeners } from '@progress/kendo-vue-common';\nimport { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { GridColumnMenuItemContent } from './GridColumnMenuItemContent';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { operatorMap, getDefaultOperator, filterLogicList, defaultHideSecondFilter, booleanFilterValues, getFilterType, operators } from '../filterCommon';\nimport { messages, filterClearButton, filterSubmitButton, filterTitle } from '../messages';\nimport { GridColumnMenuFilterUI } from './GridColumnMenuFilterUI';\n/**\n * @hidden\n */\n\nexport var rootFilterOrDefault = function rootFilterOrDefault(rootFilter) {\n return rootFilter || {\n filters: [],\n logic: 'and'\n };\n}; // tslint:disable:max-line-length\n\n/**\n * Can be used to check if filtering is applied to a specific field ([see example]({% slug column_menu_grid_native %}#toc-styling-the-column-menu-icon)). Useful for creating active filter indicators.\n */\n// tslint:enable:max-line-length\n\nexport var filterGroupByField = function filterGroupByField(field, filter) {\n var rootFilter = rootFilterOrDefault(filter);\n var compositeFilters = rootFilter.filters.filter(function (f) {\n if (isCompositeFilterDescriptor(f)) {\n return f.filters && f.filters.length && f.filters.length <= 2 && !f.filters.find(function (nf) {\n return isCompositeFilterDescriptor(nf) || nf.field !== field;\n });\n }\n\n return false;\n });\n return compositeFilters[0] || null;\n};\n/**\n * Represents the default `GridColumnMenuFilter` component.\n */\n\nvar GridColumnMenuFilter = {\n name: 'KendoGridColumnMenuFilter',\n props: {\n column: Object,\n filter: Object,\n expanded: Boolean,\n filterable: Boolean,\n filterOperators: {\n type: Object,\n default: function _default() {\n return operators;\n }\n },\n hideSecondFilter: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n filterUI: [String, Function, Object]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentExpanded: false,\n filterGroup: null\n };\n },\n created: function created() {\n var _this = this;\n\n var filterGroup;\n\n if (this.$props.column && this.$props.column.field) {\n var filterType = getFilterType(this.$props.column.filter);\n var defaultOperator = getDefaultOperator(this.$props.filterOperators, filterType);\n filterGroup = filterGroupByField(this.$props.column.field, this.$props.filter);\n filterGroup = filterGroup ? __assign(__assign({}, filterGroup), {\n filters: filterGroup.filters.map(function (f) {\n return __assign({}, f);\n })\n }) : {\n logic: 'and',\n filters: [{\n field: this.$props.column.field,\n operator: defaultOperator\n }, {\n field: this.$props.column.field,\n operator: defaultOperator\n }]\n };\n\n if (filterGroup.filters.filter(function (x) {\n return x.field === _this.$props.column.field;\n }).length === 1) {\n filterGroup.filters.splice(1, 0, {\n field: this.$props.column.field,\n operator: defaultOperator\n });\n }\n }\n\n this.currentExpanded = this.$props.expanded || false;\n this.filterGroup = filterGroup;\n },\n methods: {\n removeGroup: function removeGroup(group, rootFilter) {\n var filters = __spreadArrays(rootFilter.filters);\n\n var groupIndex = filters.findIndex(function (f) {\n return f === group;\n });\n\n if (groupIndex > -1) {\n filters.splice(groupIndex, 1);\n }\n\n return __assign(__assign({}, rootFilter), {\n filters: filters\n });\n },\n insertGroup: function insertGroup(group, rootFilter) {\n return __assign(__assign({}, rootFilter), {\n filters: __spreadArrays([group], rootFilter.filters)\n });\n },\n isControlled: function isControlled() {\n return this.$props.expanded !== undefined;\n },\n onFilterExpand: function onFilterExpand() {\n var isControlled = this.isControlled();\n var nextValue = !(isControlled ? this.$props.expanded : this.currentExpanded);\n this.$emit('expandchange', nextValue);\n\n if (!isControlled) {\n this.currentExpanded = nextValue;\n }\n },\n filterChangeHandler: function filterChangeHandler(e, filterIndex) {\n this.filterChange(filterIndex || 0, e);\n },\n firstFilterChange: function firstFilterChange(e) {\n this.filterChange(0, e);\n },\n secondFilterChange: function secondFilterChange(e) {\n this.filterChange(1, e);\n },\n filterChange: function filterChange(filterIndex, e) {\n var filters = this.filterGroup.filters.map(function (f, i) {\n if (i === filterIndex) {\n return __assign(__assign({}, f), {\n value: e.value,\n operator: e.operator\n });\n }\n\n return f;\n });\n this.filterGroup = __assign(__assign({}, this.filterGroup), {\n filters: filters\n });\n },\n logicChange: function logicChange(e) {\n this.filterGroup = __assign(__assign({}, this.filterGroup), {\n logic: e.target.value.operator\n });\n },\n clear: function clear(e) {\n e.preventDefault();\n\n if (!hasListener.call(this, 'filterchange')) {\n return;\n }\n\n var field = this.$props.column.field;\n var rootFilter = rootFilterOrDefault(this.$props.filter);\n var filterGroup = filterGroupByField(field, this.$props.filter);\n var rootFilters = rootFilter.filters.filter(function (f) {\n return f !== filterGroup;\n });\n\n if (!rootFilters.length) {\n this.$emit('filterchange', null, {\n event: e,\n field: this.$props.column.field\n });\n } else {\n this.$emit('filterchange', __assign(__assign({}, rootFilter), {\n filters: rootFilters\n }), {\n event: e,\n field: this.$props.column.field\n });\n }\n\n this.$emit('closemenu');\n },\n currentFilterGroup: function currentFilterGroup() {\n return __assign(__assign({}, this.filterGroup), {\n filters: this.filterGroup.filters.filter(function (nf) {\n return nf.value !== undefined && nf.value !== null && nf.value !== '' || nf.value === null && nf.operator;\n })\n });\n },\n submit: function submit(e) {\n e.preventDefault();\n\n if (!hasListener.call(this, 'filterchange')) {\n return;\n }\n\n var field = this.$props.column.field;\n var rootFilter = rootFilterOrDefault(this.$props.filter);\n var filterGroup = filterGroupByField(field, this.$props.filter);\n var currentFilterGroup = this.currentFilterGroup();\n var updatedFilter = null;\n\n if (filterGroup && currentFilterGroup.filters.length > 0) {\n var rootFilters = rootFilter.filters.map(function (f) {\n if (f === filterGroup) {\n return currentFilterGroup;\n }\n\n return f;\n });\n updatedFilter = __assign(__assign({}, rootFilter), {\n filters: rootFilters\n });\n } else if (currentFilterGroup.filters.length === 0) {\n var rootFilters = rootFilter.filters.filter(function (f) {\n return f !== filterGroup;\n });\n\n if (rootFilters.length) {\n updatedFilter = __assign(__assign({}, rootFilter), {\n filters: rootFilters\n });\n }\n } else {\n updatedFilter = __assign(__assign({}, rootFilter), {\n filters: __spreadArrays(rootFilter.filters, [currentFilterGroup])\n });\n }\n\n this.$emit('filterchange', updatedFilter, {\n event: e,\n field: this.$props.column.field\n });\n this.$emit('closemenu');\n },\n handleFocus: function handleFocus(e) {\n this.$emit('filterfocus', e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n column = _a.column,\n filterUI = _a.filterUI,\n hideSecondFilter = _a.hideSecondFilter,\n filterOperators = _a.filterOperators;\n\n if (!column || !column.field) {\n return h(\"div\");\n }\n\n var filterType = column.filter || 'text';\n var currentHideSecondFilter = hideSecondFilter !== undefined ? hideSecondFilter : defaultHideSecondFilter[filterType];\n var localizationService = provideLocalizationService(this);\n var filters = this.filterGroup.filters;\n var currentOperators = operatorMap(filterOperators[filterType], localizationService);\n var booleanValues = operatorMap(booleanFilterValues, localizationService);\n var firstFilterCellProps = {\n field: column.field,\n value: filters[0].value,\n operator: filters[0].operator,\n operators: currentOperators,\n booleanValues: booleanValues,\n filterType: filterType\n };\n var secondFilterCellProps = {\n field: column.field,\n value: filters[1].value,\n operator: filters[1].operator,\n operators: currentOperators,\n booleanValues: booleanValues,\n filterType: filterType\n };\n var filterLogic = this.filterGroup.logic;\n var logicData = operatorMap(filterLogicList, localizationService);\n var logicProps = {\n value: logicData.find(function (item) {\n return item.operator === (filterLogic === null ? '' : filterLogic);\n }),\n data: logicData\n };\n var isFilterValid = this.currentFilterGroup().filters.length !== 0;\n var expandState = this.isControlled() ? this.$props.expanded : this.currentExpanded;\n return (// @ts-ignore function children\n h(GridColumnMenuItemGroup, this.v3 ? function () {\n return [// @ts-ignore\n h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n attrs: _this2.v3 ? undefined : {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n iconClass: 'k-i-filter'\n },\n iconClass: 'k-i-filter',\n onMenuitemclick: _this2.onFilterExpand,\n on: _this2.v3 ? undefined : {\n \"menuitemclick\": _this2.onFilterExpand\n }\n }), // @ts-ignore function children\n h(GridColumnMenuItemContent, {\n show: !!expandState,\n attrs: _this2.v3 ? undefined : {\n show: !!expandState\n }\n }, _this2.v3 ? function () {\n return [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [// @ts-ignore\n h(GridColumnMenuFilterUI, {\n firstFilterProps: firstFilterCellProps,\n attrs: _this2.v3 ? undefined : {\n firstFilterProps: firstFilterCellProps,\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n },\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n onFilteruifocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"filteruifocus\": _this2.handleFocus,\n \"logicChange\": _this2.logicChange,\n \"change\": _this2.filterChangeHandler\n },\n onLogicChange: _this2.logicChange,\n onChange: _this2.filterChangeHandler,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n }), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary',\n disabled: !isFilterValid,\n attrs: _this2.v3 ? undefined : {\n disabled: !isFilterValid\n }\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])];\n } : [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [h(GridColumnMenuFilterUI, {\n firstFilterProps: firstFilterCellProps,\n attrs: _this2.v3 ? undefined : {\n firstFilterProps: firstFilterCellProps,\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n },\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n onFilteruifocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"filteruifocus\": _this2.handleFocus,\n \"logicChange\": _this2.logicChange,\n \"change\": _this2.filterChangeHandler\n },\n onLogicChange: _this2.logicChange,\n onChange: _this2.filterChangeHandler,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n }), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary',\n disabled: !isFilterValid,\n attrs: _this2.v3 ? undefined : {\n disabled: !isFilterValid\n }\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])])];\n } : [h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n attrs: _this2.v3 ? undefined : {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n iconClass: 'k-i-filter'\n },\n iconClass: 'k-i-filter',\n onMenuitemclick: _this2.onFilterExpand,\n on: _this2.v3 ? undefined : {\n \"menuitemclick\": _this2.onFilterExpand\n }\n }), h(GridColumnMenuItemContent, {\n show: !!expandState,\n attrs: _this2.v3 ? undefined : {\n show: !!expandState\n }\n }, _this2.v3 ? function () {\n return [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [h(GridColumnMenuFilterUI, {\n firstFilterProps: firstFilterCellProps,\n attrs: _this2.v3 ? undefined : {\n firstFilterProps: firstFilterCellProps,\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n },\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n onFilteruifocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"filteruifocus\": _this2.handleFocus,\n \"logicChange\": _this2.logicChange,\n \"change\": _this2.filterChangeHandler\n },\n onLogicChange: _this2.logicChange,\n onChange: _this2.filterChangeHandler,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n }), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary',\n disabled: !isFilterValid,\n attrs: _this2.v3 ? undefined : {\n disabled: !isFilterValid\n }\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])];\n } : [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [h(GridColumnMenuFilterUI, {\n firstFilterProps: firstFilterCellProps,\n attrs: _this2.v3 ? undefined : {\n firstFilterProps: firstFilterCellProps,\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n },\n secondFilterProps: secondFilterCellProps,\n logicData: logicProps.data,\n logicValue: logicProps.value,\n onFilteruifocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"filteruifocus\": _this2.handleFocus,\n \"logicChange\": _this2.logicChange,\n \"change\": _this2.filterChangeHandler\n },\n onLogicChange: _this2.logicChange,\n onChange: _this2.filterChangeHandler,\n hideSecondFilter: currentHideSecondFilter,\n operators: currentOperators,\n render: filterUI && templateRendering.call(_this2, filterUI, getListeners.call(_this2))\n }), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary',\n disabled: !isFilterValid,\n attrs: _this2.v3 ? undefined : {\n disabled: !isFilterValid\n }\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])])])\n );\n }\n};\nvar GridColumnMenuFilterVue3 = GridColumnMenuFilter;\nexport { GridColumnMenuFilter, GridColumnMenuFilterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { GridColumnMenuSort } from './GridColumnMenuSort';\nimport { GridColumnMenuFilter } from './GridColumnMenuFilter';\nimport { getTemplate, Keys } from '@progress/kendo-vue-common';\n/**\n * Represents the default `ColumnMenuContent` component.\n */\n\nvar ColumnMenuContent = {\n name: 'KendoColumnMenuContent',\n props: {\n column: Object,\n sortable: [Boolean, Object],\n sort: {\n type: Array\n },\n filter: Object,\n filterOperators: Object,\n filterable: Boolean,\n render: [Boolean, String, Function, Object]\n },\n methods: {\n handleFocus: function handleFocus(e) {\n this.$emit('contentfocus', e);\n },\n closeMenu: function closeMenu() {\n this.$emit('closemenu');\n },\n expandChange: function expandChange() {\n this.$emit('expandchange');\n },\n sortChange: function sortChange(newDescriptor, e) {\n this.$emit('sortchange', newDescriptor, e);\n },\n filterChange: function filterChange(newDescriptor, e) {\n this.$emit('filterchange', newDescriptor, e);\n },\n contentKeyDown: function contentKeyDown(event) {\n if (event.keyCode === Keys.esc) {\n this.$emit('closemenu');\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var renderTemplate = this.$props.render;\n var defaultRendering = h(\"div\", {\n onKeydown: this.contentKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.contentKeyDown\n }\n }, [// @ts-ignore\n h(GridColumnMenuSort, {\n column: this.$props.column,\n attrs: this.v3 ? undefined : {\n column: this.$props.column,\n sortable: this.$props.sortable,\n sort: this.$props.sort\n },\n sortable: this.$props.sortable,\n sort: this.$props.sort,\n onClosemenu: this.closeMenu,\n on: this.v3 ? undefined : {\n \"closemenu\": this.closeMenu,\n \"sortchange\": this.sortChange\n },\n onSortchange: this.sortChange\n }), // @ts-ignore\n h(GridColumnMenuFilter, {\n column: this.$props.column,\n attrs: this.v3 ? undefined : {\n column: this.$props.column,\n filterable: this.$props.filterable,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators\n },\n filterable: this.$props.filterable,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators,\n onFilterfocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"filterfocus\": this.handleFocus,\n \"closemenu\": this.closeMenu,\n \"expandchange\": this.expandChange,\n \"filterchange\": this.filterChange\n },\n onClosemenu: this.closeMenu,\n onExpandchange: this.expandChange,\n onFilterchange: this.filterChange\n })]);\n return getTemplate.call(this, {\n h: h,\n template: typeof renderTemplate !== 'boolean' && renderTemplate,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n closemenu: this.closeMenu,\n filterchange: this.filterChange,\n sortchange: this.sortChange,\n expandchange: this.expandChange\n }\n });\n }\n};\nvar ColumnMenuContentVue3 = ColumnMenuContent;\nexport { ColumnMenuContent, ColumnMenuContentVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { guid } from '@progress/kendo-vue-common';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { ColumnMenuContent } from './ColumnMenuContent';\nimport { tableKeyboardNavigationTools } from '@progress/kendo-vue-data-tools';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, columnMenu } from '../messages';\n/**\n * Represents the default `ColumnMenu` component.\n */\n\nvar ColumnMenu = {\n name: 'KendoColumnMenu',\n props: {\n animate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n column: Object,\n sortable: [Boolean, Object],\n sort: {\n type: Array\n },\n opened: Boolean,\n filter: Object,\n filterable: Boolean,\n filterOperators: Object,\n render: [Boolean, String, Function, Object]\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n show: false,\n blurTimeout: undefined\n };\n },\n created: function created() {\n this._anchor = guid();\n },\n computed: {\n currentOpen: function currentOpen() {\n return this.show || this.$props.opened;\n }\n },\n watch: {\n currentOpen: function currentOpen(newOpened) {\n this.$nextTick(function () {\n this._content = this.$refs.content;\n\n if (newOpened && this._content) {\n var focusableElements = tableKeyboardNavigationTools.getFocusableElements(this._content, {\n focusable: true\n });\n\n if (focusableElements.length) {\n focusableElements[0].focus();\n } else {\n this._content.focus();\n }\n }\n });\n }\n },\n methods: {\n blur: function blur() {\n var _this = this;\n\n clearTimeout(this.blurTimeout);\n this.blurTimeout = setTimeout(function () {\n _this.closeMenu();\n }, 200);\n },\n focus: function focus() {\n clearTimeout(this.blurTimeout);\n },\n handleFocus: function handleFocus(_) {\n clearTimeout(this.blurTimeout);\n },\n anchorClick: function anchorClick() {\n var that = this;\n this.show = !this.show;\n },\n closeMenu: function closeMenu() {\n this.$emit('close');\n this.show = false;\n },\n sortChange: function sortChange(newDescriptor, e) {\n this.$emit('sortchange', newDescriptor, e);\n },\n filterChange: function filterChange(newDescriptor, e) {\n this.$emit('filterchange', newDescriptor, e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n var renderTemplate = this.$props.render;\n var ls = provideLocalizationService(this);\n return h(\"div\", {\n style: {\n display: 'inline'\n }\n }, [h(\"div\", {\n \"class\": 'k-grid-column-menu k-grid-filter',\n tabindex: 0,\n attrs: this.v3 ? undefined : {\n tabindex: 0,\n title: this.$props.column.field + \" \" + ls.toLanguageString(columnMenu, messages[columnMenu])\n },\n title: this.$props.column.field + \" \" + ls.toLanguageString(columnMenu, messages[columnMenu]),\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n onClick: this.anchorClick,\n on: this.v3 ? undefined : {\n \"click\": this.anchorClick\n }\n }, [h(\"span\", {\n \"class\": 'k-icon k-i-more-vertical'\n })]), // @ts-ignore function children\n h(Popup, {\n animate: this.$props.animate,\n attrs: this.v3 ? undefined : {\n animate: this.$props.animate,\n anchor: this._anchor,\n show: this.currentOpen\n },\n anchor: this._anchor,\n show: this.currentOpen\n }, this.v3 ? function () {\n return [h(\"div\", {\n ref: 'content',\n \"class\": 'k-grid-columnmenu-popup',\n tabIndex: 0,\n attrs: _this2.v3 ? undefined : {\n tabIndex: 0\n },\n onFocusout: _this2.blur,\n on: _this2.v3 ? undefined : {\n \"focusout\": _this2.blur,\n \"focusin\": _this2.focus\n },\n onFocusin: _this2.focus,\n style: {\n outline: 'none'\n }\n }, [// @ts-ignore\n h(ColumnMenuContent, {\n column: _this2.$props.column,\n attrs: _this2.v3 ? undefined : {\n column: _this2.$props.column,\n sortable: _this2.$props.sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: renderTemplate\n },\n sortable: _this2.$props.sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: renderTemplate,\n onContentfocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"contentfocus\": _this2.handleFocus,\n \"closemenu\": _this2.closeMenu,\n \"sortchange\": _this2.sortChange,\n \"filterchange\": _this2.filterChange\n },\n onClosemenu: _this2.closeMenu,\n onSortchange: _this2.sortChange,\n onFilterchange: _this2.filterChange\n })])];\n } : [h(\"div\", {\n ref: 'content',\n \"class\": 'k-grid-columnmenu-popup',\n tabIndex: 0,\n attrs: _this2.v3 ? undefined : {\n tabIndex: 0\n },\n onFocusout: _this2.blur,\n on: _this2.v3 ? undefined : {\n \"focusout\": _this2.blur,\n \"focusin\": _this2.focus\n },\n onFocusin: _this2.focus,\n style: {\n outline: 'none'\n }\n }, [h(ColumnMenuContent, {\n column: _this2.$props.column,\n attrs: _this2.v3 ? undefined : {\n column: _this2.$props.column,\n sortable: _this2.$props.sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: renderTemplate\n },\n sortable: _this2.$props.sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: renderTemplate,\n onContentfocus: _this2.handleFocus,\n on: _this2.v3 ? undefined : {\n \"contentfocus\": _this2.handleFocus,\n \"closemenu\": _this2.closeMenu,\n \"sortchange\": _this2.sortChange,\n \"filterchange\": _this2.filterChange\n },\n onClosemenu: _this2.closeMenu,\n onSortchange: _this2.sortChange,\n onFilterchange: _this2.filterChange\n })])])]);\n }\n};\nvar ColumnMenuVue3 = ColumnMenu;\nexport { ColumnMenu, ColumnMenuVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { normalize } from '../interfaces/GridSortSettings';\nimport { ColumnResizer } from '../drag/ColumnResizer';\nimport { ColumnDraggable } from '../drag/ColumnDraggable';\nimport { GridHeaderCell } from './GridHeaderCell'; // import { GridColumnMenuProps } from '../interfaces/GridColumnMenuProps';\n\nimport { ColumnMenu } from '../columnMenu/ColumnMenu';\nimport { templateRendering, hasListener, getListeners, Keys, noop } from '@progress/kendo-vue-common';\nimport { HeaderThElement } from '@progress/kendo-vue-data-tools'; // from '../../../datatools/src/main';\n\n/**\n * @hidden\n */\n\nvar ariaSortMap = {\n 'none': 'none',\n 'asc': 'ascending',\n 'desc': 'descending'\n};\n/**\n * @hidden\n */\n\nvar sortSeqMap = {\n true: {\n 'asc': 'desc',\n 'desc': '',\n '': 'asc'\n },\n false: {\n 'asc': 'desc',\n 'desc': 'asc',\n '': 'asc'\n }\n};\n/**\n * Represents the default `HeaderRow` component.\n */\n\nvar HeaderRow = {\n name: 'KendoHeaderRow',\n props: {\n grid: Object,\n cellRender: [String, Function, Object],\n groupable: [Boolean, Object],\n reorderable: Boolean,\n sortable: [Boolean, Object],\n sort: {\n type: Array\n },\n filter: Object,\n filterable: Boolean,\n filterOperators: Object,\n filterChange: Function,\n filterRow: Object,\n columns: Array,\n columnsMap: Array,\n columnResize: Object,\n columnMenu: [Boolean, String, Function, Object],\n columnMenuAnimate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n isRtl: Boolean\n },\n inject: {\n onNavFocus: {\n default: noop\n }\n },\n data: function data() {\n return {\n columnMenuOpened: {}\n };\n },\n created: function created() {\n this.serviceIndex = 0;\n this.index = -1;\n this._element = null;\n this.cellClick = this.cellClick.bind(this);\n },\n methods: {\n pressHandler: function pressHandler(event, element) {\n this.$emit('pressHandler', event, element);\n },\n dragHandler: function dragHandler(event, element) {\n this.$emit('dragHandler', event, element);\n },\n releaseHandler: function releaseHandler(event) {\n this.$emit('releaseHandler', event);\n },\n selectionChangeHandler: function selectionChangeHandler(options) {\n this.$emit('selectionchange', options);\n },\n cellClick: function cellClick(e, column) {\n e.preventDefault();\n\n if (!hasListener.call(this, 'sortChange')) {\n return;\n }\n\n var _a = normalize(this.$props.sortable || false, column.sortable || false),\n allowUnsort = _a.allowUnsort,\n mode = _a.mode;\n\n var oldDescriptor = (this.$props.sort || []).filter(function (d) {\n return d.field === column.field;\n })[0];\n var dir = sortSeqMap[allowUnsort][oldDescriptor && oldDescriptor.dir || ''];\n var newDescriptor = mode === 'single' ? [] : (this.$props.sort || []).filter(function (d) {\n return d.field !== column.field;\n });\n\n if (dir !== '' && column.field) {\n newDescriptor.push({\n field: column.field,\n dir: dir\n });\n }\n\n this.sortChangeHandler(newDescriptor, {\n event: e,\n field: column.field\n });\n },\n sortChangeHandler: function sortChangeHandler(newDescriptor, e) {\n this.$emit('sortChange', newDescriptor, e);\n },\n filterChangeHandler: function filterChangeHandler(newDescriptor, e) {\n this.$emit('filterChange', newDescriptor, e);\n },\n cellClass: function cellClass(field, headerClassName, locked) {\n var customClass = headerClassName ? ' ' + headerClassName : '';\n var result = \"k-header \" + (locked ? 'k-grid-header-sticky' : '') + customClass;\n\n if (this.$props.sort && this.$props.sort.filter(function (descriptor) {\n return descriptor.field === field;\n }).length > 0) {\n result += ' k-sorted';\n }\n\n return result;\n },\n cellKeyDown: function cellKeyDown(event, column) {\n var _a;\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.keyCode === Keys.enter) {\n this.cellClick(event, column);\n }\n\n if (event.altKey && event.keyCode === Keys.down) {\n if (column.field) {\n event.preventDefault();\n this.columnMenuOpened = (_a = {}, _a[column.field] = true, _a);\n }\n }\n },\n getTemplate: function getTemplate(template) {\n return templateRendering.call(this.$props.grid, template, getListeners.call(this.$props.grid));\n },\n columnMenuClose: function columnMenuClose() {\n this.onNavFocus({});\n this.columnMenuOpened = {};\n }\n },\n computed: {\n element: {\n get: function get() {\n return this._element;\n }\n },\n theadClasses: {\n get: function get() {\n return {\n 'k-grid-header': true\n };\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n this.serviceIndex = 0;\n this.index = -1;\n\n var cells = function cells(rowIndexes) {\n return rowIndexes.map(function (columnIndex) {\n var _this2 = this;\n\n var _this = this;\n\n var column = this.$props.columns[columnIndex];\n var sortable = this.$props.sortable && column.sortable;\n var sortIndex = this.$props.sort ? this.$props.sort.findIndex(function (s) {\n return s.field === column.field;\n }) : -1;\n var sortDir = sortIndex >= 0 ? this.$props.sort[sortIndex].dir || 'none' : 'none';\n\n var sortIconRenderer = function sortIconRenderer(iconSortIndex) {\n if (!_this.$props.sort) {\n return null;\n }\n\n return iconSortIndex >= 0 && [h(\"span\", {\n key: 1,\n \"class\": 'k-icon k-i-sort-' + _this.$props.sort[iconSortIndex].dir + '-sm'\n }), _this.$props.sort.length > 1 && h(\"span\", {\n key: 2,\n \"class\": \"k-sort-order\"\n }, [iconSortIndex + 1])];\n };\n\n var sortIcon = sortIconRenderer(sortIndex);\n var className = (column.kFirst ? 'k-first ' : '') + this.cellClass(column.field, column.headerClassName, column.locked);\n var columnMenu = column.columnMenu || column.columnMenu === false ? column.columnMenu : this.$props.columnMenu;\n var columnMenuRender = !columnMenu || typeof columnMenu === 'boolean' ? !!columnMenu : this.getTemplate(columnMenu);\n var style = column.left !== undefined ? !this.$props.isRtl ? {\n left: column.left + 'px',\n right: column.right + 'px'\n } : {\n left: column.right + 'px',\n right: column.left + 'px'\n } : {};\n var ariaAttrs = column.isAccessible ? {\n ariaSort: ariaSortMap[sortDir],\n role: 'columnheader',\n ariaColumnIndex: column.ariaColumnIndex,\n ariaSelected: false\n } : {\n 'role': 'presentation'\n };\n var key = column.declarationIndex >= 0 ? ++this.index : --this.serviceIndex;\n return (// @ts-ignore function children\n h(HeaderThElement, {\n ariaSort: ariaAttrs.ariaSort,\n attrs: this.v3 ? undefined : {\n ariaSort: ariaAttrs.ariaSort,\n role: ariaAttrs.role,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex,\n ariaSelected: ariaAttrs.ariaSelected,\n colSpan: column.colSpan,\n rowSpan: column.rowSpan,\n columnId: column.id,\n navigatable: column.navigatable\n },\n role: ariaAttrs.role,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex,\n ariaSelected: ariaAttrs.ariaSelected,\n key: key,\n colSpan: column.colSpan,\n rowSpan: column.rowSpan,\n \"class\": className,\n style: style,\n columnId: column.id,\n navigatable: column.navigatable,\n onKeydown: function onKeydown(e) {\n return _this.cellKeyDown(e, column);\n },\n on: this.v3 ? undefined : {\n \"keydown\": function onKeydown(e) {\n return _this.cellKeyDown(e, column);\n }\n }\n }, this.v3 ? function () {\n return [[// @ts-ignore\n column.children.length === 0 && columnMenu && h(ColumnMenu, {\n key: 0,\n column: {\n field: column.field,\n filter: column.filter\n },\n attrs: _this2.v3 ? undefined : {\n column: {\n field: column.field,\n filter: column.filter\n },\n opened: _this2.columnMenuOpened[column.field],\n animate: _this2.$props.columnMenuAnimate,\n sortable: sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable && column.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: columnMenuRender\n },\n opened: _this2.columnMenuOpened[column.field],\n animate: _this2.$props.columnMenuAnimate,\n sortable: sortable,\n sort: _this2.$props.sort,\n onClose: _this2.columnMenuClose,\n on: _this2.v3 ? undefined : {\n \"close\": _this2.columnMenuClose,\n \"sortchange\": _this2.sortChangeHandler,\n \"filterchange\": _this2.filterChangeHandler\n },\n onSortchange: _this2.sortChangeHandler,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable && column.filterable,\n filterOperators: _this2.$props.filterOperators,\n onFilterchange: _this2.filterChangeHandler,\n render: columnMenuRender\n }), column.internalHeaderCell && // @ts-ignore function children\n h(column.internalHeaderCell, {\n key: 1,\n field: column.field,\n attrs: _this2.v3 ? undefined : {\n field: column.field,\n sortable: sortable,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n },\n sortable: sortable,\n onHeadercellclick: function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n on: _this2.v3 ? undefined : {\n \"headercellclick\": function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n \"selectionchange\": _this2.selectionChangeHandler\n },\n onSelectionchange: _this2.selectionChangeHandler,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n }, _this2.v3 ? function () {\n return [sortIcon];\n } : [sortIcon]) || // @ts-ignore function children\n h(GridHeaderCell, {\n key: 1,\n field: column.field,\n attrs: _this2.v3 ? undefined : {\n field: column.field,\n sortable: sortable,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n },\n sortable: sortable,\n onHeadercellclick: function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n on: _this2.v3 ? undefined : {\n \"headercellclick\": function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n }\n },\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n }, _this2.v3 ? function () {\n return [sortIcon];\n } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable // @ts-ignore\n && column.resizable && h(ColumnResizer, {\n key: 2,\n onResize: function onResize(e, element, end) {\n return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);\n },\n on: _this2.v3 ? undefined : {\n \"resize\": function onResize(e, element, end) {\n return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);\n }\n }\n })]];\n } : [[column.children.length === 0 && columnMenu && h(ColumnMenu, {\n key: 0,\n column: {\n field: column.field,\n filter: column.filter\n },\n attrs: _this2.v3 ? undefined : {\n column: {\n field: column.field,\n filter: column.filter\n },\n opened: _this2.columnMenuOpened[column.field],\n animate: _this2.$props.columnMenuAnimate,\n sortable: sortable,\n sort: _this2.$props.sort,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable && column.filterable,\n filterOperators: _this2.$props.filterOperators,\n render: columnMenuRender\n },\n opened: _this2.columnMenuOpened[column.field],\n animate: _this2.$props.columnMenuAnimate,\n sortable: sortable,\n sort: _this2.$props.sort,\n onClose: _this2.columnMenuClose,\n on: _this2.v3 ? undefined : {\n \"close\": _this2.columnMenuClose,\n \"sortchange\": _this2.sortChangeHandler,\n \"filterchange\": _this2.filterChangeHandler\n },\n onSortchange: _this2.sortChangeHandler,\n filter: _this2.$props.filter,\n filterable: _this2.$props.filterable && column.filterable,\n filterOperators: _this2.$props.filterOperators,\n onFilterchange: _this2.filterChangeHandler,\n render: columnMenuRender\n }), column.internalHeaderCell && h(column.internalHeaderCell, {\n key: 1,\n field: column.field,\n attrs: _this2.v3 ? undefined : {\n field: column.field,\n sortable: sortable,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n },\n sortable: sortable,\n onHeadercellclick: function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n on: _this2.v3 ? undefined : {\n \"headercellclick\": function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n \"selectionchange\": _this2.selectionChangeHandler\n },\n onSelectionchange: _this2.selectionChangeHandler,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n }, _this2.v3 ? function () {\n return [sortIcon];\n } : [sortIcon]) || h(GridHeaderCell, {\n key: 1,\n field: column.field,\n attrs: _this2.v3 ? undefined : {\n field: column.field,\n sortable: sortable,\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n },\n sortable: sortable,\n onHeadercellclick: function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n },\n on: _this2.v3 ? undefined : {\n \"headercellclick\": function onHeadercellclick(e) {\n return _this.cellClick(e, column);\n }\n },\n selectionValue: column.headerSelectionValue,\n title: column.title,\n render: (column.headerCell || _this2.$props.cellRender) && _this2.getTemplate(column.headerCell || _this2.$props.cellRender)\n }, _this2.v3 ? function () {\n return [sortIcon];\n } : [sortIcon]), _this2.$props.columnResize && _this2.$props.columnResize.resizable && column.resizable && h(ColumnResizer, {\n key: 2,\n onResize: function onResize(e, element, end) {\n return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);\n },\n on: _this2.v3 ? undefined : {\n \"resize\": function onResize(e, element, end) {\n return _this.$props.columnResize && _this.$props.columnResize.dragHandler(e, column, element, end);\n }\n }\n })]])\n );\n }, this);\n };\n\n return h(\"thead\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n \"data-keyboardnavheader\": true\n },\n \"class\": this.theadClasses,\n \"data-keyboardnavheader\": true\n }, [this.$props.columnsMap.map(function (rowIndexes, index) {\n var _this3 = this;\n\n return (this.$props.groupable || this.$props.reorderable) && // @ts-ignore function children\n h(ColumnDraggable, {\n key: index,\n onPressHandler: this.pressHandler,\n on: this.v3 ? undefined : {\n \"pressHandler\": this.pressHandler,\n \"dragHandler\": this.dragHandler,\n \"releaseHandler\": this.releaseHandler\n },\n onDragHandler: this.dragHandler,\n onReleaseHandler: this.releaseHandler\n }, this.v3 ? function () {\n return [cells.call(_this3, rowIndexes)];\n } : [cells.call(_this3, rowIndexes)]) || h(\"tr\", [cells.call(this, rowIndexes)]);\n }, this), this.$props.filterRow]);\n }\n};\nvar HeaderRowVue3 = HeaderRow;\nexport { HeaderRow, HeaderRowVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { messages, filterClearButton, filterChooseOperator } from '../messages';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\nimport { NumericTextBox } from '@progress/kendo-vue-inputs';\nimport { DatePicker } from '@progress/kendo-vue-dateinputs';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { cellBoolDropdownChange, cellInputChange, cellOperatorChange } from '../filterCommon';\nimport { templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridFilterCell` component.\n */\n\nvar GridFilterCell = {\n name: 'KendoGridFilterCell',\n props: {\n id: String,\n grid: Object,\n field: String,\n filterType: String,\n colSpan: Number,\n title: String,\n value: [String, Number, Boolean, Date],\n operator: [String, Function],\n operators: Array,\n booleanValues: Array,\n onChange: Function,\n render: [String, Function, Object]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n methods: {\n inputChange: function inputChange(value, e) {\n var filter = cellInputChange(value, e, this.$props);\n this.triggerChange(filter);\n },\n operatorChange: function operatorChange(operatorValue, e) {\n var filter = cellOperatorChange(operatorValue.value.operator, e, this.$props.value);\n this.triggerChange(filter);\n },\n boolDropdownChange: function boolDropdownChange(value, e) {\n var filter = cellBoolDropdownChange(value.value.operator, e);\n this.triggerChange(filter);\n },\n clear: function clear(e) {\n e.preventDefault();\n this.triggerChange({\n value: '',\n operator: '',\n event: e\n });\n },\n triggerChange: function triggerChange(filter) {\n filter.field = this.$props.field;\n this.$emit('change', filter);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var localizationService = provideLocalizationService(this);\n var selectedOperator = this.$props.operators.find(function (item) {\n return item.operator === _this.$props.operator;\n }) || null;\n\n var renderOperatorEditor = function renderOperatorEditor() {\n if (this.$props.filterType === 'boolean') {\n return;\n }\n\n return (// @ts-ignore\n h(DropDownList, {\n onChange: this.operatorChange,\n on: this.v3 ? undefined : {\n \"change\": this.operatorChange\n },\n value: selectedOperator,\n attrs: this.v3 ? undefined : {\n value: selectedOperator,\n iconClassName: \"k-i-filter k-icon\",\n \"data-items\": this.$props.operators,\n textField: \"text\",\n title: localizationService.toLanguageString(filterChooseOperator, messages[filterChooseOperator]),\n popupSettings: {\n width: ''\n }\n },\n \"class\": \"k-dropdown-operator\",\n iconClassName: \"k-i-filter k-icon\",\n \"data-items\": this.$props.operators,\n textField: \"text\",\n title: localizationService.toLanguageString(filterChooseOperator, messages[filterChooseOperator]),\n popupSettings: {\n width: ''\n }\n })\n );\n };\n\n var filterComponent = function filterComponent(filterType, value) {\n var _this = this;\n\n switch (filterType) {\n case 'numeric':\n return (// @ts-ignore\n h(NumericTextBox, {\n value: value,\n attrs: this.v3 ? undefined : {\n value: value,\n title: this.$props.title\n },\n onChange: function onChange(e) {\n _this.inputChange(e.value, e.event);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n _this.inputChange(e.value, e.event);\n }\n },\n title: this.$props.title\n })\n );\n\n case 'date':\n return (// @ts-ignore\n h(DatePicker, {\n value: value,\n attrs: this.v3 ? undefined : {\n value: value,\n title: this.$props.title\n },\n onChange: function onChange(e) {\n _this.inputChange(e.value, e);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n _this.inputChange(e.value, e);\n }\n },\n title: this.$props.title\n })\n );\n\n case 'boolean':\n var booleanValues = this.$props.booleanValues;\n return (// @ts-ignore\n h(DropDownList, {\n onChange: this.boolDropdownChange,\n on: this.v3 ? undefined : {\n \"change\": this.boolDropdownChange\n },\n value: booleanValues.find(function (item) {\n return item.operator === (value || '');\n }),\n attrs: this.v3 ? undefined : {\n value: booleanValues.find(function (item) {\n return item.operator === (value || '');\n }),\n \"data-items\": booleanValues,\n textField: \"text\",\n title: this.$props.title\n },\n \"data-items\": booleanValues,\n textField: \"text\",\n title: this.$props.title\n })\n );\n\n default:\n return h(\"input\", {\n \"class\": \"k-textbox\",\n value: this.v3 ? value || '' : null,\n domProps: this.v3 ? undefined : {\n \"value\": value || ''\n },\n onInput: function onInput(e) {\n _this.inputChange(e.target.value, e);\n },\n on: this.v3 ? undefined : {\n \"input\": function onInput(e) {\n _this.inputChange(e.target.value, e);\n }\n },\n title: this.$props.title,\n attrs: this.v3 ? undefined : {\n title: this.$props.title\n }\n });\n }\n };\n\n var defaultRendering = h(\"div\", {\n \"class\": \"k-filtercell\"\n }, [h(\"div\", {\n \"class\": \"k-filtercell-wrapper\"\n }, [filterComponent.call(this, this.$props.filterType, this.$props.value), h(\"div\", {\n \"class\": \"k-filtercell-operator\"\n }, [renderOperatorEditor.call(this), h(\"button\", {\n \"class\":\n /* button is always visible if there is either value or operator */\n !(this.$props.value === null || this.$props.value === '') || this.$props.operator ? 'k-button k-button-icon k-clear-button-visible' : 'k-button k-button-icon',\n title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton]),\n attrs: this.v3 ? undefined : {\n title: localizationService.toLanguageString(filterClearButton, messages[filterClearButton]),\n type: \"button\"\n },\n type: \"button\",\n onClick: this.clear,\n on: this.v3 ? undefined : {\n \"click\": this.clear\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-filter-clear\"\n })])])])]);\n var gridListeners = this.$props.grid ? getListeners.call(this.$props.grid) : null;\n var cellRenderFunction = templateRendering.call(this.$props.grid, this.$props.render, gridListeners);\n return getTemplate.call(this, {\n h: h,\n template: cellRenderFunction,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n change: this.triggerChange\n }\n });\n }\n};\nvar GridFilterCellVue3 = GridFilterCell;\nexport { GridFilterCell, GridFilterCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { operatorMap, booleanFilterValues, getFilterType } from '../filterCommon';\nimport { GridFilterCell } from '../cells/GridFilterCell';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { filterAriaLabel, messages } from '../messages';\nimport { tableKeyboardNavigationTools as navigationTools, HeaderThElement } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `FilterRow` component.\n */\n\nvar FilterRow = {\n name: 'kendoFilterRow',\n props: {\n grid: Object,\n columns: Array,\n filter: Object,\n filterOperators: Object,\n sort: [Object, Array],\n cellRender: [String, Function, Object],\n isRtl: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n headerCellClassName: function headerCellClassName(field, locked) {\n var result = \"\" + (locked ? 'k-grid-header-sticky' : '');\n\n if (this.$props.sort && this.$props.sort.filter(function (descriptor) {\n return descriptor.field === field;\n }).length > 0) {\n result += ' k-sorted';\n }\n\n return result;\n },\n setFilter: function setFilter(value, operator, field, e) {\n var filters = [];\n\n if (value !== '' && value !== null || operator !== '') {\n filters.push({\n field: field,\n operator: operator,\n value: value\n });\n }\n\n if (this.$props.filter && this.$props.filter.filters) {\n var oldFilters = this.$props.filter.filters || [];\n oldFilters.forEach(function (filter) {\n var descriptor = filter;\n\n if (descriptor && descriptor.field !== field) {\n filters.push(descriptor);\n }\n });\n }\n\n var filtersResult = filters.length > 0 ? {\n logic: 'and',\n filters: filters\n } : null;\n this.$emit('filterchange', filtersResult, e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var intl = provideLocalizationService(this);\n var oldFilters = this.$props.filter && this.$props.filter.filters || [];\n\n var activeFilterValueFor = function activeFilterValueFor(field, defaultValue) {\n if (defaultValue === void 0) {\n defaultValue = null;\n }\n\n var found = oldFilters.filter(function (filter) {\n return filter.field === field;\n })[0];\n return found ? found.value : defaultValue;\n };\n\n var activeOperatorFor = function activeOperatorFor(field) {\n var found = oldFilters.filter(function (filter) {\n return filter.field === field;\n })[0];\n return found ? found.operator : null;\n };\n\n var filterCellProps;\n var serviceIndex = 0,\n index = -1;\n var filterCells = this.$props.columns.filter(function (c) {\n return c.children.length === 0;\n }).map(function (column) {\n var _this = this;\n\n var onChangeFn = function onChangeFn(e) {\n _this.setFilter(e.value, e.operator, column.field, e);\n };\n\n var filterType = getFilterType(column.filter); // @ts-ignore\n\n var filterRender = h(GridFilterCell, {\n grid: this.$props.grid,\n attrs: this.v3 ? undefined : {\n grid: this.$props.grid,\n field: column.field,\n title: column.filterTitle,\n value: activeFilterValueFor(column.field, filterType === 'text' ? '' : null),\n operator: activeOperatorFor(column.field),\n operators: operatorMap(this.$props.filterOperators[filterType] || [], intl),\n booleanValues: operatorMap(booleanFilterValues, intl),\n filterType: filterType,\n render: column.filterCell || this.$props.cellRender\n },\n field: column.field,\n title: column.filterTitle,\n value: activeFilterValueFor(column.field, filterType === 'text' ? '' : null),\n operator: activeOperatorFor(column.field),\n operators: operatorMap(this.$props.filterOperators[filterType] || [], intl),\n booleanValues: operatorMap(booleanFilterValues, intl),\n filterType: filterType,\n onChange: onChangeFn,\n on: this.v3 ? undefined : {\n \"change\": onChangeFn\n },\n render: column.filterCell || this.$props.cellRender\n });\n var key = column.declarationIndex >= 0 ? ++index : --serviceIndex;\n var ariaAttrs = {\n ariaLabel: column.filterable ? intl.toLanguageString(filterAriaLabel, messages[filterAriaLabel]) : undefined,\n ariaColumnIndex: column.ariaColumnIndex\n };\n var style = column.left !== undefined ? !this.$props.isRtl ? {\n left: column.left + 'px',\n right: column.right + 'px'\n } : {\n left: column.right + 'px',\n right: column.left + 'px'\n } : {};\n var filterCell = // @ts-ignore function children\n h(HeaderThElement, {\n key: key,\n columnId: navigationTools.getFilterColumnId(column.id),\n attrs: this.v3 ? undefined : {\n columnId: navigationTools.getFilterColumnId(column.id),\n navigatable: column.navigatable,\n ariaLabel: ariaAttrs.ariaLabel,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex\n },\n navigatable: column.navigatable,\n style: style,\n \"class\": this.headerCellClassName(column.field, column.locked) || undefined,\n ariaLabel: ariaAttrs.ariaLabel,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex\n }, this.v3 ? function () {\n return [filterRender];\n } : [filterRender]);\n return column.filterable && filterCell || // @ts-ignore function children\n h(HeaderThElement, {\n key: key,\n columnId: navigationTools.getFilterColumnId(column.id),\n attrs: this.v3 ? undefined : {\n columnId: navigationTools.getFilterColumnId(column.id),\n navigatable: column.navigatable,\n ariaLabel: ariaAttrs.ariaLabel,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex\n },\n navigatable: column.navigatable,\n style: style,\n \"class\": this.headerCellClassName(column.field, column.locked) || undefined,\n ariaLabel: ariaAttrs.ariaLabel,\n ariaColumnIndex: ariaAttrs.ariaColumnIndex\n });\n }, this);\n return h(\"tr\", {\n \"class\": \"k-filter-row\"\n }, [filterCells]);\n }\n};\nvar FilterRowVue3 = FilterRow;\nexport { FilterRow, FilterRowVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { Draggable } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GroupingIndicator` component.\n */\n\nvar GroupingIndicator = {\n props: {\n title: String,\n dir: String // 'asc' | 'desc';\n\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.indicatorContainerRef : this.$refs.indicatorContainer;\n\n if (this.element) {\n this.draggable = this.$refs.draggable;\n }\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n },\n sortChange: function sortChange(event) {\n event.preventDefault();\n var sort = this.$props.dir === 'asc' ? 'desc' : 'asc';\n this.$emit('sortChange', event, sort);\n },\n groupRemove: function groupRemove(event) {\n event.preventDefault();\n this.$emit('remove', event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var indicatorContainerRef = ref(null);\n return {\n v3: v3,\n indicatorContainerRef: indicatorContainerRef\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n return (// @ts-ignore function children\n h(Draggable, {\n onPress: this.press,\n on: this.v3 ? undefined : {\n \"press\": this.press,\n \"drag\": this.drag,\n \"release\": this.release\n },\n onDrag: this.drag,\n onRelease: this.release,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": \"k-indicator-container\",\n ref: _this2.v3 ? function (el) {\n _this.indicatorContainerRef = el;\n } : 'indicatorContainer'\n }, [h(\"div\", {\n \"class\": \"k-group-indicator\"\n }, [h(\"a\", {\n \"class\": \"k-link\",\n href: \"#\",\n attrs: _this2.v3 ? undefined : {\n href: \"#\",\n tabIndex: -1\n },\n tabIndex: -1,\n onClick: _this2.sortChange,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.sortChange\n }\n }, [h(\"span\", {\n \"class\": 'k-icon k-i-sort-' + _this2.$props.dir + '-sm'\n }), _this2.$props.title]), h(\"a\", {\n \"class\": \"k-button k-button-icon k-bare\",\n tabIndex: -1,\n attrs: _this2.v3 ? undefined : {\n tabIndex: -1\n },\n onClick: _this2.groupRemove,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.groupRemove\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-group-delete\"\n })])])])];\n } : [h(\"div\", {\n \"class\": \"k-indicator-container\",\n ref: _this2.v3 ? function (el) {\n _this.indicatorContainerRef = el;\n } : 'indicatorContainer'\n }, [h(\"div\", {\n \"class\": \"k-group-indicator\"\n }, [h(\"a\", {\n \"class\": \"k-link\",\n href: \"#\",\n attrs: _this2.v3 ? undefined : {\n href: \"#\",\n tabIndex: -1\n },\n tabIndex: -1,\n onClick: _this2.sortChange,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.sortChange\n }\n }, [h(\"span\", {\n \"class\": 'k-icon k-i-sort-' + _this2.$props.dir + '-sm'\n }), _this2.$props.title]), h(\"a\", {\n \"class\": \"k-button k-button-icon k-bare\",\n tabIndex: -1,\n attrs: _this2.v3 ? undefined : {\n tabIndex: -1\n },\n onClick: _this2.groupRemove,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.groupRemove\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-group-delete\"\n })])])])])\n );\n }\n};\nvar GroupingIndicatorVue3 = GroupingIndicator;\nexport { GroupingIndicator, GroupingIndicatorVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { GroupingIndicator } from '../drag/GroupingIndicator';\nimport { messages, groupPanelEmpty as messageKey } from './../messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * Represents the default `GroupPanel` component.\n */\n\nvar GroupPanel = {\n props: {\n group: Array,\n resolveTitle: Function\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n pressHandler: function pressHandler(event, element) {\n this.$emit('pressHandler', event, element);\n },\n dragHandler: function dragHandler(event, element) {\n this.$emit('dragHandler', event, element);\n },\n releaseHandler: function releaseHandler(event) {\n this.$emit('releaseHandler', event);\n },\n onGroupRemove: function onGroupRemove(event, index) {\n var newGroups = this.$props.group.slice();\n newGroups.splice(index, 1);\n this.$emit('groupChange', newGroups, event);\n },\n onGroupSortChange: function onGroupSortChange(event, index, groupDesc, dir) {\n var group = Object.assign({}, groupDesc, {\n dir: dir\n });\n var newGroups = this.$props.group.slice();\n newGroups.splice(index, 1, group);\n this.$emit('groupChange', newGroups, event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var groupsProp = this.$props.group || [];\n var groups = groupsProp.map(function (groupDesc, index) {\n var _this = this;\n\n return (// @ts-ignore\n h(GroupingIndicator, {\n key: index,\n dir: groupDesc.dir || 'asc',\n attrs: this.v3 ? undefined : {\n dir: groupDesc.dir || 'asc',\n title: this.$props.resolveTitle(groupDesc.field)\n },\n title: this.$props.resolveTitle(groupDesc.field),\n onRemove: function onRemove(event) {\n return _this.onGroupRemove(event, index);\n },\n on: this.v3 ? undefined : {\n \"remove\": function onRemove(event) {\n return _this.onGroupRemove(event, index);\n },\n \"sortChange\": function sortChange(event, dir) {\n _this.onGroupSortChange(event, index, groupDesc, dir);\n },\n \"press\": this.pressHandler,\n \"drag\": this.dragHandler,\n \"release\": this.releaseHandler\n },\n onSortChange: function sortChange(event, dir) {\n _this.onGroupSortChange(event, index, groupDesc, dir);\n },\n onPress: this.pressHandler,\n onDrag: this.dragHandler,\n onRelease: this.releaseHandler\n })\n );\n }, this);\n return h(\"div\", {\n \"class\": \"k-grouping-header k-grouping-header-flex\"\n }, [groups, h(\"div\", {\n \"class\": \"k-indicator-container\"\n }, [!groups.length && provideLocalizationService(this).toLanguageString(messageKey, messages[messageKey])])]);\n }\n};\nvar GroupPanelVue3 = GroupPanel;\nexport { GroupPanel, GroupPanelVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { BrowserSupportService } from '../utils/browser-support.service';\nimport { isRtl } from '../utils';\nvar Footer = {\n name: 'Footer',\n props: {\n staticHeaders: Boolean,\n row: Object,\n columnResize: Object,\n cols: Array\n },\n data: function data() {\n return {\n scrollbarWidth: 0,\n rtl: false,\n tableWidth: null\n };\n },\n computed: {\n divStyle: {\n get: function get() {\n var padding = this.$data.scrollbarWidth + 'px';\n var right = this.rtl ? 0 : padding;\n var left = this.rtl ? padding : 0;\n return {\n padding: \"0 \" + right + \" 0 \" + left\n };\n }\n },\n tableStyle: {\n get: function get() {\n return this.tableWidth ? {\n width: this.tableWidth\n } : null;\n }\n }\n },\n mounted: function mounted() {\n this.$data.scrollbarWidth = new BrowserSupportService().scrollbarWidth;\n this.rtl = isRtl(this.$el);\n this.$props.columnResize.colGroupFooter = this.v3 ? this.colGroupHeaderRef : this.$refs.colGroupHeader;\n this._footerWrap = this.v3 ? this.footerWrapRef : this.$refs.footerWrap;\n },\n methods: {\n setScrollLeft: function setScrollLeft(scrollLeft) {\n if (this._footerWrap) {\n this._footerWrap.scrollLeft = scrollLeft;\n }\n },\n setWidth: function setWidth(width) {\n this.$data.tableWidth = width + 'px';\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var footerWrapRef = ref(null);\n var colGroupHeaderRef = ref(null);\n return {\n v3: v3,\n colGroupHeaderRef: colGroupHeaderRef,\n footerWrapRef: footerWrapRef\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n\n if (!this.$props.staticHeaders) {\n return h(\"tfoot\", {\n \"class\": \"k-grid-footer\"\n }, [this.$props.row]);\n }\n\n return h(\"div\", {\n \"class\": \"k-grid-footer\",\n style: this.divStyle\n }, [h(\"div\", {\n \"class\": \"k-grid-footer-wrap\",\n ref: this.v3 ? function (el) {\n _this.footerWrapRef = el;\n } : 'footerWrap'\n }, [h(\"table\", {\n style: this.tableStyle\n }, [h(\"colgroup\", {\n ref: this.v3 ? function (el) {\n _this.colGroupHeaderRef = el;\n } : 'colGroupHeader'\n }, [this.$props.cols]), h(\"tfoot\", [this.$props.row])])])]);\n }\n};\nvar FooterVue3 = Footer;\nexport { Footer, FooterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { footerColumns } from './../utils';\nvar FooterRow = {\n name: 'FooterRow',\n props: {\n isRtl: Boolean,\n columns: Array\n },\n methods: {\n columnStyles: function columnStyles(column) {\n return column.left !== undefined ? !this.$props.isRtl ? {\n left: column.left + 'px',\n right: column.right + 'px'\n } : {\n left: column.right + 'px',\n right: column.left + 'px'\n } : {};\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n\n var renderCell = function renderCell(column, index) {\n var footerCellRendering = null;\n var stickyClassName = column.locked && column.left !== undefined ? 'k-grid-footer-sticky' : '';\n var tdClassName = column.footerClassName ? column.footerClassName + \" \" + stickyClassName : stickyClassName;\n footerCellRendering = getTemplate.call(this, {\n h: h,\n template: column.footerCell,\n defaultRendering: null,\n additionalProps: {\n field: column.field,\n colSpan: column.colSpan !== 1 ? column.colSpan : undefined,\n defaultStyle: this.columnStyles(column)\n }\n });\n return h(\"td\", {\n key: index,\n field: column.field,\n attrs: this.v3 ? undefined : {\n field: column.field,\n colSpan: column.colSpan !== 1 ? column.colSpan : undefined\n },\n colSpan: column.colSpan !== 1 ? column.colSpan : undefined,\n style: this.columnStyles(column),\n \"class\": tdClassName\n }, [footerCellRendering]);\n };\n\n return h(\"tr\", [footerColumns(this.$props.columns).map(renderCell, this)]);\n }\n};\nvar FooterRowVue3 = FooterRow;\nexport { FooterRow, FooterRowVue3 };","/**\n * @hidden\n */\nvar VirtualScroll = /** @class */ (function () {\n function VirtualScroll(cached) {\n this.containerHeight = 0;\n this.topCacheCount = 0; // 4;\n this.attendedSkip = 0; // -4;\n this.propsSkip = 0;\n this.total = 0;\n this.scrollableVirtual = false;\n this.realSkip = 0;\n this.pageSize = 0;\n this.heightContainer = null;\n this.prevScrollPos = 0;\n this.tableTranslate = 0;\n this.scrollSyncing = false;\n if (cached) {\n this.topCacheCount = 4;\n this.attendedSkip = -this.topCacheCount;\n }\n this.scrollHandler = this.scrollHandler.bind(this);\n }\n Object.defineProperty(VirtualScroll.prototype, \"rowHeights\", {\n /**\n * @return - The row heights in an array.\n */\n get: function () {\n var result = [];\n var allRows = this.tableBody && this.tableBody.children || [];\n var accumulate = 0;\n for (var i = 0; i < allRows.length; i++) {\n if (allRows[i].className.indexOf('k-grouping-row') > -1) {\n accumulate += allRows[i].scrollHeight;\n continue;\n }\n if (allRows[i].className.indexOf('k-detail-row') > -1) {\n result[result.length - 1].line += allRows[i].scrollHeight;\n }\n else {\n result.push({\n line: allRows[i].scrollHeight,\n acc: accumulate\n });\n accumulate = 0;\n }\n }\n return result;\n },\n enumerable: false,\n configurable: true\n });\n VirtualScroll.prototype.changePage = function (skip, e) {\n this.attendedSkip = skip - this.topCacheCount;\n this.PageChange({\n skip: Math.max(0, skip - this.topCacheCount),\n take: this.pageSize\n }, e);\n };\n VirtualScroll.prototype.translate = function (dY) {\n this.tableTranslate = dY;\n if (this.table) {\n this.table.style.transform = 'translateY(' + dY + 'px)';\n }\n };\n VirtualScroll.prototype.syncScroll = function () {\n if (!this.scrollableVirtual || !this.container) {\n return;\n }\n this.syncTimeout = null;\n var scrollTop = this.container.scrollTop;\n var containerHeight = this.containerHeight; // = this.container.scrollHeight;\n var rowHeights = this.rowHeights;\n var percentage = (scrollTop - this.tableTranslate) / rowHeights[0].line;\n var targetFloorScrollPosition = Math.floor((containerHeight) * (this.propsSkip + percentage) / this.total);\n if (this.container.scrollTop !== (this.prevScrollPos = targetFloorScrollPosition)) {\n this.scrollSyncing = true;\n this.container.scrollTop = (this.prevScrollPos = targetFloorScrollPosition);\n }\n this.translate(this.tableTranslate + targetFloorScrollPosition - scrollTop);\n };\n VirtualScroll.prototype.reset = function () {\n this.scrollSyncing = true;\n if (this.container) {\n this.container.scrollTop = 0;\n }\n this.translate(0);\n };\n VirtualScroll.prototype.localScrollUp = function (e) {\n if (!this.container) {\n return;\n }\n var heights = this.rowHeights;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.tableTranslate;\n var rowsCount = 0;\n var additionalOnTop = scrollTop - targetTranslate;\n if (additionalOnTop > 0) {\n return;\n }\n while ((rowsCount < this.topCacheCount + this.attendedSkip - this.realSkip)\n && this.propsSkip - rowsCount > 0 &&\n !(targetTranslate + (heights[heights.length - 1 - rowsCount].line + heights[heights.length - 1 - rowsCount].acc) + additionalOnTop <= scrollTop)) {\n targetTranslate -= heights[heights.length - 1 - rowsCount].line +\n heights[heights.length - 1 - rowsCount].acc;\n rowsCount++;\n }\n if (rowsCount === 0 && this.topCacheCount === 0 && this.attendedSkip > 0) {\n // allows local scrolling up, when top caching is disabled\n // for variable heights 'topCacheCount' should be atleast 1 to avoid flickering\n targetTranslate = Math.max(targetTranslate - heights[0].line, 0);\n rowsCount = 1;\n }\n if (this.propsSkip - rowsCount <= 0 && targetTranslate > scrollTop) {\n this.translate(0);\n this.changePage(0, e);\n this.container.scrollTop = 0;\n return;\n }\n if (targetTranslate > scrollTop) {\n targetTranslate = scrollTop;\n // need to handle these cases\n // if the item height is not available:\n // floor the translate to beginning of the item in absolute value\n }\n if (targetTranslate !== this.tableTranslate) {\n this.translate(targetTranslate);\n this.changePage(this.propsSkip - rowsCount, e);\n }\n };\n VirtualScroll.prototype.localScrollDown = function (e) {\n if (!this.container) {\n return;\n }\n var heights = this.rowHeights;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.tableTranslate;\n var rowsCount = 0;\n while (rowsCount < heights.length - this.topCacheCount &&\n !(targetTranslate + heights[rowsCount].line + heights[rowsCount].acc > scrollTop)) {\n targetTranslate += heights[rowsCount].line + heights[rowsCount].acc;\n rowsCount++;\n }\n if (rowsCount >= heights.length - this.topCacheCount && this.propsSkip + rowsCount >= this.total) {\n this.translate(targetTranslate);\n this.changePage(this.total - 1, e);\n }\n else if (targetTranslate !== this.tableTranslate) {\n this.translate(targetTranslate);\n this.changePage(this.propsSkip + rowsCount, e);\n }\n };\n VirtualScroll.prototype.scrollNonStrict = function (e) {\n var floatRowIndex = this.total * this.prevScrollPos / (this.containerHeight);\n var rowIndex = Math.floor(floatRowIndex);\n if (rowIndex >= this.total) {\n rowIndex = this.total - 1;\n }\n var rowpercentage = Math.min(floatRowIndex - rowIndex, 1);\n var microAdjust = 0;\n var rowIndexOffset = rowIndex - this.propsSkip;\n var heights = this.rowHeights;\n if (rowIndexOffset >= 0 && rowIndexOffset <= 1) {\n microAdjust = -((heights[0].line + heights[0].acc) * rowpercentage);\n }\n else if (rowIndexOffset === -1) {\n microAdjust = -((heights[heights.length - 1].line + heights[heights.length - 1].acc) * rowpercentage);\n }\n this.translate(microAdjust + this.containerHeight * floatRowIndex / this.total);\n this.changePage(rowIndex, e);\n };\n VirtualScroll.prototype.scrollHandler = function (e) {\n if (!this.scrollableVirtual) {\n return;\n }\n if (this.scrollSyncing || !this.container || !this.table) {\n this.scrollSyncing = false;\n return;\n }\n var grid = this;\n clearTimeout(this.syncTimeout);\n this.syncTimeout = setTimeout(function () { grid.syncScroll(); }, 200);\n var scrollTop = this.container.scrollTop;\n var prev = this.prevScrollPos;\n this.prevScrollPos = scrollTop;\n if (scrollTop - prev < 0 && scrollTop > this.tableTranslate - this.table.scrollHeight / 10) {\n this.localScrollUp(e);\n }\n else if (scrollTop - prev > 0 && scrollTop < this.tableTranslate + this.table.scrollHeight * 2 / 3) {\n this.localScrollDown(e);\n }\n else {\n this.scrollNonStrict(e);\n }\n this.prevScrollPos = scrollTop;\n };\n return VirtualScroll;\n}());\nexport { VirtualScroll };\n","/**\n * @hidden\n */\nvar ColumnResize = /** @class */ (function () {\n function ColumnResize(triggerResize) {\n var _this = this;\n /**\n * The settings for resizing the Grid.\n */\n this.resizable = false;\n this.isRtl = false;\n this.setIsRtl = function (isRtl) {\n _this.isRtl = isRtl;\n };\n this.onResize = triggerResize;\n this.dragHandler = this.dragHandler.bind(this);\n }\n ColumnResize.prototype.dragHandler = function (event, column, dragCue, end) {\n var e = event.originalEvent;\n if (!end) {\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n var tdElement = dragCue.parentElement;\n if (!tdElement || !tdElement.parentElement) {\n return;\n }\n var oldWidth = tdElement.clientWidth;\n var newWidth;\n if (this.isRtl) {\n newWidth = (dragCue.getBoundingClientRect().right - (dragCue.offsetWidth / 2)) - event.clientX;\n newWidth += oldWidth;\n }\n else {\n newWidth = oldWidth + event.clientX - dragCue.getBoundingClientRect().left - (dragCue.offsetWidth / 2);\n }\n if (!end && Math.abs(newWidth - oldWidth) < 1) {\n return;\n }\n this.fixateInitialWidths(tdElement.parentElement.clientWidth);\n this.setWidths(column, Math.floor(newWidth) / oldWidth);\n var index = this.columns.filter(function (c) { return !c.children.length; }).indexOf(column);\n this.onResize(index, oldWidth, newWidth, e, end);\n };\n ColumnResize.prototype.fixateInitialWidths = function (width) {\n var columns = this.columns.filter(function (c) { return !c.children.length; });\n var remainingCount = 0;\n var cols = this.colGroupMain ? this.colGroupMain.children : [];\n for (var i = 0; i < cols.length; i++) {\n if (cols[i].width) {\n width -= parseFloat(cols[i].width);\n }\n else {\n remainingCount++;\n }\n }\n if (remainingCount === 0) {\n return;\n }\n var perCol = Math.floor(width / remainingCount);\n for (var i = 0; i < cols.length; i++) {\n var col = cols[i];\n if (!col.width) {\n col.width = perCol;\n columns[i].width = perCol.toString();\n if (this.colGroupHeader) {\n this.colGroupHeader.children[i].width = perCol;\n }\n if (this.colGroupFooter) {\n this.colGroupFooter.children[i].width = perCol;\n }\n }\n }\n };\n ColumnResize.prototype.setWidths = function (column, coef) {\n var indexInOriginal = this.columns.indexOf(column);\n var toAdjust = [];\n var more = column.children.length;\n for (var i = indexInOriginal + 1; more > 0 && i < this.columns.length; i++, more--) {\n var cc = this.columns[i];\n if (!cc.children.length) {\n toAdjust.push(cc);\n }\n else {\n more += cc.children.length;\n }\n }\n if (toAdjust.length === 0) {\n toAdjust.push(column);\n }\n toAdjust.forEach(function (colToAdjust) {\n var targetWidth = colToAdjust.width ? parseFloat(colToAdjust.width.toString()) * coef : 0;\n var min = colToAdjust.minResizableWidth === undefined ? 10 : colToAdjust.minResizableWidth;\n if (targetWidth < min) {\n targetWidth = min;\n }\n colToAdjust.width = targetWidth;\n });\n this.updateColElements(toAdjust);\n };\n ColumnResize.prototype.updateColElements = function (affectedColumns) {\n var columns = this.columns.filter(function (c) { return !c.children.length; });\n var difference = 1e-10;\n for (var i = 0; i < affectedColumns.length; i++) {\n var colIndex = columns.indexOf(affectedColumns[i]);\n var currentColumnFloatWidth = parseFloat((affectedColumns[i].width || 0).toString());\n difference += currentColumnFloatWidth - Math.floor(currentColumnFloatWidth);\n var currentWidth = Math.floor(currentColumnFloatWidth) + Math.floor(difference);\n difference -= Math.floor(difference);\n if (this.colGroupMain) {\n this.colGroupMain.children[colIndex].width = currentWidth + 'px';\n }\n if (this.colGroupHeader) {\n // static headers\n this.colGroupHeader.children[colIndex].width = currentWidth + 'px';\n }\n if (this.colGroupFooter && this.colGroupFooter.children[colIndex]) {\n // static footers\n this.colGroupFooter.children[colIndex].width = currentWidth + 'px';\n }\n }\n };\n return ColumnResize;\n}());\nexport { ColumnResize };\n","import { getIndex } from '../utils';\nimport { canUseDOM } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CommonDragLogic = /** @class */ (function () {\n function CommonDragLogic(columnReorder, groupReorder, columnToGroup) {\n var _this = this;\n this.reorderable = false;\n this.groupable = false;\n this.dropElementClue = null;\n this.dragElementClue = null;\n this.startColumn = -1;\n this.startGroup = -1;\n this.currentColumn = -1;\n this.currentGroup = -1;\n this.groupPanelDivElement = null;\n this.refGroupPanelDiv = function (e) {\n _this.groupPanelDivElement = e;\n };\n this.refDropElementClue = function (e) {\n _this.dropElementClue = e;\n if (_this.dropElementClue && canUseDOM) {\n document.body.appendChild(_this.dropElementClue.$el);\n }\n };\n this.refDragElementClue = function (e) {\n _this.dragElementClue = e;\n if (_this.dragElementClue && canUseDOM) {\n document.body.appendChild(_this.dragElementClue.$el);\n }\n };\n this.pressHandler = function (event, element) {\n if (!event.isTouch) {\n event.originalEvent.preventDefault();\n }\n var startColumn = _this.getColumnIndex(event, element);\n _this.startGroup = _this.getGroupIndex(event);\n if (startColumn >= 0) {\n var col = _this.columns[startColumn];\n if (col.reorderable && _this.reorderable || col.groupable && _this.groupable) {\n _this.startColumn = startColumn;\n }\n }\n };\n this.dragHandler = function (event, element) {\n if (!event.isTouch) {\n event.originalEvent.preventDefault();\n }\n event.originalEvent.stopPropagation();\n if (_this.startColumn === -1 && _this.startGroup === -1) {\n return;\n }\n _this.currentColumn = _this.getColumnIndex(event, element);\n _this.currentGroup = _this.getGroupIndex(event);\n if (_this.groupPanelDivElement && _this.startGroup >= 0) {\n _this.currentGroup = Math.min(_this.currentGroup, _this.groupPanelDivElement.children.length - 2);\n }\n var invalidIndex = !_this.isValid();\n if (invalidIndex) {\n _this.currentColumn = -1;\n _this.currentGroup = -1;\n }\n var targetElement = (_this.currentColumn >= 0) ?\n element.children[_this.columns[_this.currentColumn].index] :\n _this.groupPanelDivElement && _this.groupPanelDivElement.children[_this.currentGroup];\n _this.updateDragElementClue(event, element, targetElement, invalidIndex);\n _this.updateDropElementClue(event, element, targetElement, invalidIndex);\n };\n this.releaseHandler = function (event) {\n var prevColumnIndex = _this.startColumn;\n var nextColumnIndex = _this.currentColumn;\n var prevGroupIndex = _this.startGroup;\n var nextGroupIndex = _this.currentGroup;\n if (_this.dropElementClue) {\n _this.dropElementClue.visible = false;\n }\n if (_this.dragElementClue) {\n _this.dragElementClue.visible = false;\n }\n var isValid = _this.isValid();\n _this.startColumn = _this.startGroup = _this.currentColumn = _this.currentGroup = -1;\n if (!isValid) {\n return;\n }\n if (prevColumnIndex >= 0 && nextColumnIndex >= 0) {\n _this.columnReorder(prevColumnIndex, nextColumnIndex, event.originalEvent);\n }\n else if (prevGroupIndex >= 0 && nextGroupIndex >= 0) {\n _this.groupReorder(prevGroupIndex, nextGroupIndex, event.originalEvent);\n }\n else if (prevColumnIndex >= 0 && nextGroupIndex >= 0) {\n _this.columnToGroup(prevColumnIndex, nextGroupIndex, event.originalEvent);\n }\n };\n this.columnReorder = columnReorder;\n this.groupReorder = groupReorder;\n this.columnToGroup = columnToGroup;\n }\n CommonDragLogic.prototype.getColumnIndex = function (event, parent) {\n if (!parent || (parent.parentElement === this.groupPanelDivElement)) {\n return -1;\n }\n var index = getIndex(event, parent);\n if (index === -1) {\n return -1;\n }\n var _loop_1 = function (i) {\n if (parent.parentNode.children[i] === parent) {\n return { value: this_1.columns.findIndex(function (c) { return ((c.index === index) && (c.depth === i)); }) };\n }\n };\n var this_1 = this;\n for (var i = 0; i < parent.parentNode.children.length; i++) {\n var state_1 = _loop_1(i);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return -1;\n };\n CommonDragLogic.prototype.getGroupIndex = function (event) {\n return getIndex(event, this.groupPanelDivElement);\n };\n CommonDragLogic.prototype.isValid = function () {\n if (this.startGroup >= 0) {\n // group can be moved into group only\n return this.currentGroup >= 0 && this.currentGroup !== this.startGroup;\n }\n if (this.startColumn === -1) {\n return false;\n }\n if (this.currentGroup >= 0) {\n // column to group is possible\n return this.columns[this.startColumn].groupable === true && this.groupable === true;\n }\n // reorder is possible\n return this.reorderable === true &&\n this.currentColumn >= 0 &&\n this.currentColumn !== this.startColumn &&\n this.columns[this.startColumn].reorderable === true &&\n this.columns[this.currentColumn].parentIndex === this.columns[this.startColumn].parentIndex;\n };\n CommonDragLogic.prototype.updateDragElementClue = function (event, element, targetElement, invalidIndex) {\n if (!this.dragElementClue) {\n return;\n }\n var innerText = this.startColumn >= 0 ?\n element.children[this.columns[this.startColumn].index].innerText :\n element.innerText;\n this.dragElementClue.visible = true;\n this.dragElementClue.top = (event.pageY + 10);\n this.dragElementClue.left = event.pageX;\n this.dragElementClue.innerText = innerText;\n this.dragElementClue.status = (invalidIndex || !targetElement) ? 'k-i-cancel' : 'k-i-add';\n };\n CommonDragLogic.prototype.updateDropElementClue = function (event, element, targetElement, invalidIndex) {\n if (!this.dropElementClue) {\n return;\n }\n if (invalidIndex || !targetElement) {\n this.dropElementClue.visible = false;\n return;\n }\n var rect = targetElement.getBoundingClientRect();\n var left = rect.left + event.pageX - event.clientX - 6;\n if (this.currentColumn > this.startColumn || this.currentGroup > this.startGroup && this.startGroup !== -1) {\n left += rect.width;\n }\n var top = rect.top + event.pageY - event.clientY;\n this.dropElementClue.visible = true;\n this.dropElementClue.top = top;\n this.dropElementClue.left = left;\n this.dropElementClue.height = (this.currentColumn >= 0) ? element.clientHeight : rect.height;\n };\n return CommonDragLogic;\n}());\nexport { CommonDragLogic };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `DragClue` component.\n */\n\nvar DragClue = {\n data: function data() {\n return {\n visible: false,\n top: 0,\n left: 0,\n innerText: '',\n status: 'k-i-cancel'\n };\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return this.visible && h(\"div\", {\n \"class\": \"k-header k-drag-clue\",\n style: {\n display: 'block',\n position: 'absolute',\n zIndex: 20000,\n padding: '8px 12px',\n top: this.top + 'px',\n left: this.left + 'px'\n }\n }, [h(\"span\", {\n \"class\": 'k-icon k-drag-status ' + this.status + ' k-icon-with-modifier'\n }, [h(\"span\", {\n \"class\": \"k-icon k-icon-modifier\"\n })]), this.innerText]);\n }\n};\nvar DragClueVue3 = DragClue;\nexport { DragClue, DragClueVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `DropClue` component.\n */\n\nvar DropClue = {\n data: function data() {\n return {\n height: 0,\n visible: false,\n left: 0,\n top: 0\n };\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return this.visible && h(\"div\", {\n \"class\": \"k-grouping-dropclue\",\n style: {\n zIndex: 10000,\n display: 'block',\n top: this.top + 'px',\n left: this.left + 'px',\n height: this.height + 'px'\n }\n });\n }\n};\nvar DropClueVue3 = DropClue;\nexport { DropClue, DropClueVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { getNestedValue, parsers } from './../utils';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nimport { getTemplate, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridCell` component.\n */\n\nvar GridCell = {\n name: 'GridCell',\n // @ts-ignore\n emits: {\n cellclick: null,\n cellkeydown: null\n },\n props: {\n id: String,\n field: String,\n dataItem: Object,\n format: String,\n className: String,\n colSpan: Number,\n columnIndex: Number,\n columnsCount: Number,\n dataIndex: Number,\n rowType: String,\n level: Number,\n expanded: Boolean,\n type: String,\n editor: String,\n isSelected: Boolean,\n ariaColumnIndex: Number,\n render: [String, Function, Object]\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n methods: {\n triggerClick: function triggerClick() {\n this.$emit('cellclick', {\n dataItem: this.$props.dataItem,\n field: this.$props.field\n });\n },\n triggerKeydown: function triggerKeydown(e) {\n this.$emit('cellkeydown', {\n event: e,\n dataItem: this.$props.dataItem,\n field: this.$props.field\n });\n },\n triggerEdit: function triggerEdit(dataItem) {\n this.$emit('edit', dataItem);\n },\n triggerAdd: function triggerAdd(dataItem) {\n this.$emit('add', dataItem);\n },\n triggerCancel: function triggerCancel(dataItem) {\n this.$emit('cancel', dataItem);\n },\n triggerSave: function triggerSave(dataItem) {\n this.$emit('save', dataItem);\n },\n triggerRemove: function triggerRemove(dataItem) {\n this.$emit('remove', dataItem);\n }\n },\n created: function created() {\n this._intl = provideIntlService(this);\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultRendering = null;\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n\n if (this.$props.rowType === 'groupFooter') {\n defaultRendering = h(\"td\", {\n \"class\": this.$props.className\n });\n } else if (this.$props.field !== undefined && this.$props.rowType !== 'groupHeader') {\n var data = getNestedValue(this.$props.field, this.$props.dataItem);\n var dataAsString = '';\n\n if (data !== undefined && data !== null) {\n dataAsString = this.$props.format ? this.$props.type ? this._intl.format(this.$props.format, parsers[this.$props.type](data, this._intl)) : this._intl.format(this.$props.format, data) : data.toString();\n }\n\n defaultRendering = h(\"td\", {\n colSpan: this.$props.colSpan,\n attrs: this.v3 ? undefined : {\n colSpan: this.$props.colSpan,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n \"class\": this.$props.className,\n onKeydown: this.triggerKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.triggerKeydown,\n \"click\": this.triggerClick\n },\n onClick: this.triggerClick,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [dataAsString]);\n }\n\n return getTemplate.call(this, {\n h: h,\n template: this.$props.render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.triggerClick,\n keydown: this.triggerKeydown,\n edit: this.triggerEdit,\n add: this.triggerAdd,\n cancel: this.triggerCancel,\n save: this.triggerSave,\n remove: this.triggerRemove\n }\n });\n }\n};\nvar GridCellVue3 = GridCell;\nexport { GridCell, GridCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getTemplate, Keys, noop } from '@progress/kendo-vue-common';\nimport { KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL } from '@progress/kendo-vue-data-tools';\n/**\n * Represents the default `GridGroupCell` component.\n */\n\nvar GridGroupCell = {\n props: {\n id: String,\n field: String,\n dataItem: Object,\n format: String,\n type: String,\n colSpan: Number,\n className: String,\n columnIndex: Number,\n columnsCount: Number,\n rowType: String,\n level: Number,\n expanded: Boolean,\n editor: String,\n dataIndex: Number,\n isSelected: Boolean,\n ariaColumnIndex: Number,\n render: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n change: null,\n cellkeydown: null\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n getKeyboardNavigationAttributes: {\n default: noop\n }\n },\n methods: {\n triggerKeydown: function triggerKeydown(event, expanded) {\n this.$emit('cellkeydown', {\n event: event,\n dataItem: this.$props.dataItem,\n dataIndex: this.$props.dataIndex,\n field: this.$props.field,\n expanded: this.$props.expanded\n });\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.keyCode === Keys.enter) {\n event.preventDefault();\n this.$emit('change', {\n dataItem: this.$props.dataItem,\n dataIndex: this.$props.dataIndex,\n event: event,\n field: undefined,\n value: !expanded\n });\n }\n },\n clickHandler: function clickHandler(e, dataItem, expanded) {\n e.preventDefault();\n this.$emit('change', {\n dataItem: dataItem,\n dataIndex: this.$props.dataIndex,\n event: e,\n field: undefined,\n value: !expanded\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultRendering = null;\n var _a = this.$props,\n columnIndex = _a.columnIndex,\n level = _a.level,\n columnsCount = _a.columnsCount,\n rowType = _a.rowType,\n dataItem = _a.dataItem,\n field = _a.field,\n expanded = _a.expanded,\n render = _a.render;\n var navAttrs = this.getKeyboardNavigationAttributes(this.$props.id);\n\n if (columnIndex === undefined || level === undefined || columnIndex < level || columnsCount === undefined || rowType !== 'groupHeader' || dataItem[field] === undefined) {\n defaultRendering = h(\"td\", {\n key: 'g' + columnIndex,\n \"class\": \"k-group-cell\"\n });\n } else if (columnIndex <= level) {\n defaultRendering = h(\"td\", {\n onKeydown: function onKeydown(ev) {\n _this.triggerKeydown(ev, expanded);\n },\n on: this.v3 ? undefined : {\n \"keydown\": function onKeydown(ev) {\n _this.triggerKeydown(ev, expanded);\n }\n },\n key: 'g-colspan',\n colSpan: columnsCount - columnIndex,\n attrs: this.v3 ? undefined : {\n colSpan: columnsCount - columnIndex,\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n },\n role: 'gridcell',\n \"aria-colindex\": this.$props.ariaColumnIndex,\n \"aria-selected\": this.$props.isSelected,\n \"data-grid-col-index\": this.$props.columnIndex,\n tabIndex: navAttrs.tabIndex,\n \"data-keyboardnavlevel\": navAttrs[KEYBOARD_NAV_DATA_LEVEL],\n \"data-keyboardnavid\": navAttrs[KEYBOARD_NAV_DATA_ID]\n }, [h(\"p\", {\n \"class\": \"k-reset\"\n }, [h(\"a\", {\n onClick: function onClick(e) {\n _this.clickHandler(e, dataItem, expanded);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n _this.clickHandler(e, dataItem, expanded);\n }\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\",\n tabIndex: -1\n },\n tabIndex: -1,\n \"class\": expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon'\n }), dataItem[field].toString()])]);\n }\n\n return getTemplate.call(this, {\n h: h,\n template: render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n keydown: this.triggerKeydown,\n click: this.clickHandler\n }\n });\n }\n};\nvar GridGroupCellVue3 = GridGroupCell;\nexport { GridGroupCell, GridGroupCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getNestedValue } from '../utils';\nimport { getTemplate, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridRow` component.\n */\n\nvar GridRow = {\n props: {\n rowType: String,\n dataItem: Object,\n isAltRow: Boolean,\n isHidden: Boolean,\n onClick: Function,\n selectedField: String,\n rowHeight: Number,\n ariaRowIndex: Number,\n dataIndex: Number,\n render: [String, Function, Object]\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('rowclick', e);\n },\n handleDoubleClick: function handleDoubleClick(e) {\n this.$emit('rowdblclick', e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var className = this.$props.rowType === 'groupFooter' || this.$props.rowType === 'groupHeader' ? this.$props.rowType === 'groupFooter' && 'k-group-footer' || 'k-grouping-row' : (this.$props.isAltRow ? 'k-master-row k-alt' : 'k-master-row') + (this.$props.selectedField !== undefined && getNestedValue(this.$props.selectedField, this.$props.dataItem) ? ' k-state-selected' : '');\n var defaultRendering = h(\"tr\", {\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"dblclick\": this.handleDoubleClick\n },\n onDblclick: this.handleDoubleClick,\n \"class\": className,\n style: {\n height: this.$props.rowHeight ? this.$props.rowHeight + 'px' : '',\n visibility: this.$props.isHidden ? 'hidden' : ''\n },\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\",\n \"aria-rowindex\": this.$props.ariaRowIndex,\n \"data-grid-row-index\": this.$props.rowType === 'data' ? this.$props.dataIndex : undefined\n },\n \"aria-rowindex\": this.$props.ariaRowIndex,\n \"data-grid-row-index\": this.$props.rowType === 'data' ? this.$props.dataIndex : undefined\n }, [defaultSlot]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n },\n defaultSlots: defaultSlot,\n swapDefaultSlots: true\n });\n }\n};\nvar GridRowVue3 = GridRow;\nexport { GridRow, GridRowVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { guid, getTemplate } from '@progress/kendo-vue-common';\n/**\n * Represents the default `GridHeaderSelectionCell` component.\n */\n\nvar GridHeaderSelectionCell = {\n props: {\n field: String,\n title: String,\n selectionValue: Boolean,\n render: [Object, Function, String]\n },\n created: function created() {\n this.inputId = guid();\n },\n methods: {\n changeHandle: function changeHandle(e) {\n this.$emit('selectionchange', {\n field: this.$props.field,\n event: e\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var renderTemplate = this.$props.render;\n var defaultRendering = h(\"span\", [[h(\"input\", {\n key: 0,\n checked: this.v3 ? this.$props.selectionValue : null,\n domProps: this.v3 ? undefined : {\n \"checked\": this.$props.selectionValue\n },\n id: this.inputId,\n attrs: this.v3 ? undefined : {\n id: this.inputId,\n type: \"checkbox\"\n },\n type: \"checkbox\",\n \"class\": \"k-checkbox\",\n onChange: this.changeHandle,\n on: this.v3 ? undefined : {\n \"change\": this.changeHandle\n }\n }), h(\"label\", {\n key: 1,\n \"class\": \"k-checkbox-label\",\n \"for\": this.inputId,\n attrs: this.v3 ? undefined : {\n \"for\": this.inputId\n }\n })]]);\n return getTemplate.call(this, {\n h: h,\n template: renderTemplate,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n selectionchange: this.changeHandle\n }\n });\n }\n};\nvar GridHeaderSelectionCellVue3 = GridHeaderSelectionCell;\nexport { GridHeaderSelectionCell, GridHeaderSelectionCellVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, noRecords } from './messages';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the GridNoRecords component which is rendered\n * when the `data` property of the Grid is empty or `null`.\n *\n * @example\n * ```tsx-no-run\n *
\n * \n * \n * There is no data available custom\n * \n * \n *
\n * \n * ```\n */\n\n/**\n * Represents the default `GridNoRecords` component.\n */\n\nvar GridNoRecords = {\n name: 'GridNoRecords',\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var localizationService = provideLocalizationService(this);\n var noRecordsMessage = localizationService.toLanguageString(noRecords, messages[noRecords]);\n return defaultSlot ? h(\"div\", [defaultSlot]) // @ts-ignore\n : this.v3 ? noRecordsMessage : this._v(noRecordsMessage);\n }\n};\nvar GridNoRecordsVue3 = GridNoRecords;\nexport { GridNoRecords, GridNoRecordsVue3 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-grid',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1635492955,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","function _typeof3(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof3 = function _typeof(obj) { return typeof obj; }; } else { _typeof3 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof3(obj); }\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar markRaw = allVue.markRaw;\nimport { templateRendering, hasListener, getListeners, getDefaultSlots, guid, getter, isRtl, validatePackage, getTemplate, canUseDOM } from '@progress/kendo-vue-common';\nimport { tableColumnsVirtualization, Pager, normalize, tableKeyboardNavigationTools as navigationTools, TableKeyboardNavigationProvider } from '@progress/kendo-vue-data-tools';\nimport { GridNav } from './GridNav';\nimport { GridSelectionCell } from './cells/GridSelectionCell';\nimport { GridHierarchyCell } from './cells/GridHierarchyCell';\nimport { GridDetailHierarchyCell } from './cells/GridDetailHierarchyCell';\nimport { GridDetailCell } from './cells/GridDetailCell';\nimport { GridEditCell } from './cells/GridEditCell';\nimport { Header } from './header/Header';\nimport { HeaderRow } from './header/HeaderRow';\nimport { FilterRow } from './header/FilterRow';\nimport { GroupPanel } from './header/GroupPanel';\nimport { Footer } from './footer/Footer';\nimport { FooterRow } from './footer/FooterRow';\nimport { operators } from './filterCommon';\nimport { VirtualScroll } from './VirtualScroll';\nimport { ColumnResize } from './drag/ColumnResize';\nimport { CommonDragLogic } from './drag/CommonDragLogic';\nimport { DragClue } from './drag/DragClue';\nimport { DropClue } from './drag/DropClue';\nimport { getNestedValue, flatData, mapColumns, readColumns, autoGenerateColumns } from './utils/index'; // import { GridCellProps } from './interfaces/GridCellProps';\n\nimport { GridCell } from './cells/GridCell'; // import { GridToolbar } from './GridToolbar';\n\nimport { GridGroupCell } from './cells/GridGroupCell';\nimport { GridRow } from './rows/GridRow';\nimport { GridHeaderSelectionCell } from './header/GridHeaderSelectionCell'; // import { ScrollMode } from './ScrollMode';\n\nimport { GridNoRecords } from './GridNoRecords';\nimport { packageMetadata } from './package-metadata';\nimport { pagerMessagesMap } from './messages';\n/**\n * Represents the default `Grid` component.\n */\n\nvar Grid = {\n name: 'KendoGrid',\n props: {\n alternatePerGroup: Boolean,\n columns: Array,\n columnVirtualization: Boolean,\n dataItems: [Array, Object],\n sortable: [Boolean, Object],\n sort: Array,\n filterable: Boolean,\n filterOperators: Object,\n filterCellRender: [String, Function, Object],\n headerCellRender: [String, Function, Object],\n filter: Object,\n pageable: [Boolean, Object],\n pageSize: Number,\n total: Number,\n skip: Number,\n take: Number,\n expandField: String,\n selectedField: String,\n cellRender: [String, Function, Object],\n rowRender: [String, Function, Object],\n resizable: Boolean,\n reorderable: Boolean,\n group: Array,\n groupable: [Boolean, Object],\n editField: String,\n scrollable: {\n type: String,\n default: 'scrollable'\n },\n pager: [String, Function, Object],\n rowHeight: Number,\n detail: [String, Function, Object],\n columnMenu: [Boolean, String, Function, Object],\n columnMenuAnimate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n dataItemKey: String,\n navigatable: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n isRtl: false,\n context: undefined,\n navigation: undefined\n };\n },\n watch: {\n skip: function skip(value, oldValue) {\n // @ts-ignore\n this.onSkipChanged(value, oldValue);\n },\n total: function total(value, oldValue) {\n // @ts-ignore\n this.onTotalChanged(value, oldValue);\n },\n rowHeight: function rowHeight(value, oldValue) {\n // @ts-ignore\n this.onRowHeightChanged(value, oldValue);\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.initialHeight = null;\n this._columns = [];\n var groupable = this.$props.groupable === true || _typeof3(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;\n this.vs = new VirtualScroll(groupable || this.$props.rowHeight === undefined || this.$props.rowHeight === 0);\n this.dragLogic = new CommonDragLogic(this.columnReorder.bind(this), this.groupReorder.bind(this), this.columnToGroup.bind(this));\n this.columnResize = new ColumnResize(this.onResize.bind(this));\n this._columnsMap = [[]];\n this._header = null;\n this._footer = null;\n this.forceUpdateTimeout = undefined;\n this._gridId = guid();\n },\n mounted: function mounted() {\n this.setRefs();\n var rtl = isRtl(this._element);\n this.isRtl = rtl; // @ts-ignore\n\n this.initialHeight = this._element.style ? this._element.style.height : null;\n },\n updated: function updated() {\n this.setRefs();\n var rtl = isRtl(this._element);\n this.isRtl = rtl;\n },\n destroyed: !!gh ? undefined : function () {\n this.gridUnmounted();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.gridUnmounted();\n },\n computed: {\n getCorrectHeight: {\n get: function get() {\n if (this.$props.scrollable === 'virtual') {\n return this.initialHeight || '450px';\n } else {\n return null;\n }\n }\n }\n },\n methods: {\n /**\n * A getter of the current columns. Gets the current column width or current columns,\n * or any other [`GridColumnProps`]({% slug api_grid_native_columnprops %}) for each defined column.\n * Can be used on each Grid instance. To obtain the instance of the rendered Grid, use the `ref`\n * callback. The following example demonstrates how to reorder the columns by dragging their handlers\n * and check the properties afterwards. You can check the result in the browser console.\n */\n getColumns: function getColumns() {\n var shuffledColumns = this._columns.filter(function (q) {\n return q.declarationIndex >= 0 && q.parentIndex === -1;\n });\n\n var sanitize = function sanitize(columns) {\n columns.sort(function (a, b) {\n return a.declarationIndex - b.declarationIndex;\n });\n return columns.map(function (column) {\n var declarationIndex = column.declarationIndex,\n parentIndex = column.parentIndex,\n depth = column.depth,\n colSpan = column.colSpan,\n rowSpan = column.rowSpan,\n index = column.index,\n kFirst = column.kFirst,\n children = column.children,\n props = __rest(column, [\"declarationIndex\", \"parentIndex\", \"depth\", \"colSpan\", \"rowSpan\", \"index\", \"kFirst\", \"children\"]);\n\n return children.length ? __assign({\n children: sanitize(children)\n }, props) : props;\n });\n };\n\n return sanitize(shuffledColumns);\n },\n setRefs: function setRefs() {\n var elementString = '$el';\n var element = this.v3 ? this.gridNavRef : this.$refs.gridNav;\n\n if (element) {\n this._element = element[elementString];\n }\n\n var groupPanelDiv = this.v3 ? this.groupPanelDivRef : this.$refs.groupPanelDiv;\n\n if (groupPanelDiv) {\n var groupPanelDivElement = groupPanelDiv[elementString] || null;\n this.dragLogic.refGroupPanelDiv(groupPanelDivElement);\n }\n\n var dropElementClue = this.v3 ? this.dropElementClueRef : this.$refs.dropElementClue;\n var dragElementClue = this.v3 ? this.dragElementClueRef : this.$refs.dragElementClue;\n this.dragLogic.refDropElementClue(dropElementClue);\n this.dragLogic.refDragElementClue(dragElementClue);\n this.columnResize.colGroupMain = this.v3 ? this.colGroupRef : this.$refs.colGroup;\n this._header = this.v3 ? this.headerRef : this.$refs.header;\n this._footer = this.v3 ? this.footerRef : this.$refs.footer;\n this.vs.container = this.v3 ? this.scrollContainerRef : this.$refs.scrollContainer;\n this.vs.table = this.v3 ? this.scrollTableRef : this.$refs.scrollTable;\n this.resetTableWidth();\n this.vs.tableBody = this.v3 ? this.scrollTableBodyRef : this.$refs.scrollTableBody;\n },\n gridUnmounted: function gridUnmounted() {\n clearTimeout(this.forceUpdateTimeout);\n this.columnResize.columns = [];\n this.dragLogic.columns = [];\n\n if (this.dragLogic && this.dragLogic.dragElementClue) {\n this.dragLogic.dragElementClue.$el.remove();\n this.dragLogic.dropElementClue.$el.remove();\n }\n\n this._columns = [];\n },\n resetVirtual: function resetVirtual() {\n this.vs.PageChange = this.pageChangeHandler;\n this.vs.realSkip = this.$props.skip || 0;\n this.vs.pageSize = (this.$props.take !== undefined ? this.$props.take : this.$props.pageSize) || 0;\n this.vs.scrollableVirtual = this.$props.scrollable === 'virtual';\n this.vs.propsSkip = (this.$props.skip || 0) + (this.$props.scrollable === 'virtual' ? this.vs.topCacheCount + (this.vs.attendedSkip - (this.$props.skip || 0)) : 0);\n },\n onSkipChanged: function onSkipChanged(value, _oldValue) {\n if (Math.max(0, this.vs.attendedSkip) !== value && value !== undefined) {\n this.vs.attendedSkip = value;\n this.vs.propsSkip = (value || 0) + (this.$props.scrollable === 'virtual' ? this.vs.topCacheCount + (this.vs.attendedSkip - (value || 0)) : 0);\n this.vs.syncScroll();\n }\n },\n onTotalChanged: function onTotalChanged(_value, _oldValue) {\n var groupable = this.$props.groupable === true || _typeof3(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;\n this.vs.reset();\n this.vs = new VirtualScroll(groupable || this.$props.rowHeight === undefined || this.$props.rowHeight === 0);\n this.resetVirtual();\n this.setRefs();\n },\n onRowHeightChanged: function onRowHeightChanged(_value, _oldValue) {\n var groupable = this.$props.groupable === true || _typeof3(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;\n this.vs.reset();\n this.vs = new VirtualScroll(groupable || this.$props.rowHeight === undefined || this.$props.rowHeight === 0);\n this.resetVirtual();\n this.setRefs();\n },\n scrollHandler: function scrollHandler(event) {\n var _this = this;\n\n clearTimeout(this.forceUpdateTimeout);\n\n if (this.$props.columnVirtualization && !this.vs.scrollableVirtual) {\n this.forceUpdateTimeout = setTimeout(function () {\n _this.$forceUpdate();\n }, 0);\n }\n\n if (this._header) {\n this._header.setScrollLeft(event.currentTarget.scrollLeft);\n }\n\n if (this._footer) {\n this._footer.setScrollLeft(event.currentTarget.scrollLeft);\n }\n\n if (this.vs) {\n this.vs.scrollHandler(event);\n }\n\n this.$emit('scroll', event);\n },\n rowClick: function rowClick(e, item) {\n if (e.target.type !== 'checkbox') {\n this.$emit('rowclick', __assign({\n dataItem: item.dataItem\n }, this.getArguments(e)));\n }\n },\n rowDoubleClick: function rowDoubleClick(e, item) {\n if (e.target.type !== 'checkbox') {\n this.$emit('rowdblclick', __assign({\n dataItem: item.dataItem\n }, this.getArguments(e)));\n }\n },\n itemChange: function itemChange(event) {\n var itemChange = hasListener.call(this, 'itemchange');\n\n if (event.field === this.$props.expandField || (this.$props.group || this.$props.detail) && event.field === undefined) {\n var expandChange = hasListener.call(this, 'expandchange');\n\n if (expandChange) {\n this.$emit('expandchange', __assign(__assign({}, this.getArguments(event.event)), {\n dataItem: event.dataItem,\n value: event.value\n }));\n }\n\n return;\n }\n\n if (itemChange) {\n this.$emit('itemchange', __assign(__assign({}, this.getArguments(event.event)), {\n dataItem: event.dataItem,\n field: event.field,\n value: event.value\n }));\n }\n },\n cellClickHandler: function cellClickHandler(event) {\n this.$emit('cellclick', {\n dataItem: event.dataItem,\n field: event.field\n });\n },\n cellKeydownHandler: function cellKeydownHandler(event) {\n this.$emit('cellkeydown', event);\n },\n editHandler: function editHandler(dataItem) {\n this.$emit('edit', {\n dataItem: dataItem\n });\n },\n removeHandler: function removeHandler(dataItem) {\n this.$emit('remove', {\n dataItem: dataItem\n });\n },\n saveHandler: function saveHandler(dataItem) {\n this.$emit('save', {\n dataItem: dataItem\n });\n },\n cancelHandler: function cancelHandler(dataItem) {\n this.$emit('cancel', {\n dataItem: dataItem\n });\n },\n selectionChangeHandler: function selectionChangeHandler(options) {\n var event = options.event,\n dataItem = options.dataItem,\n dataIndex = options.dataIndex,\n columnIndex = options.columnIndex;\n this.$emit('selectionchange', __assign(__assign({}, this.getArguments(event.event)), {\n dataItem: dataItem,\n startColIndex: columnIndex,\n endColIndex: columnIndex,\n startRowIndex: dataIndex,\n endRowIndex: dataIndex,\n dataItems: this.getLeafDataItems(),\n altKey: false,\n ctrlKey: false,\n shiftKey: false,\n metaKey: false,\n isDrag: false,\n componentId: this._gridId,\n selectedField: this.$props.selectedField || ''\n }));\n },\n onHeaderSelectionChangeHandler: function onHeaderSelectionChangeHandler(event) {\n this.$emit('headerselectionchange', {\n field: event.field,\n event: event.event,\n target: this\n });\n },\n pageChangeHandler: function pageChangeHandler(page, event) {\n this.raiseDataEvent('pagechange', {\n page: page\n }, {\n skip: page.skip,\n take: page.take\n }, event);\n },\n sortChangeHandler: function sortChangeHandler(sort, event) {\n this.raiseDataEvent('sortchange', {\n sort: sort\n }, {\n sort: sort\n }, event);\n },\n filterChangeHandler: function filterChangeHandler(filter, event) {\n this.raiseDataEvent('filterchange', {\n filter: filter\n }, {\n filter: filter,\n skip: 0\n }, event);\n },\n groupChangeHandler: function groupChangeHandler(groups, event) {\n this.raiseDataEvent('groupchange', {\n group: groups\n }, {\n group: groups,\n skip: 0\n }, event);\n },\n raiseDataEvent: function raiseDataEvent(handler, data, moreData, event) {\n if (hasListener.call(this, handler)) {\n this.$emit(handler, __assign(__assign({}, this.getArguments(event)), data));\n } else if (hasListener.call(this, 'datastatechange')) {\n this.$emit('datastatechange', __assign(__assign({}, this.getArguments(event)), {\n data: __assign(__assign({}, this.getDataState()), moreData)\n }));\n }\n },\n columnReorder: function columnReorder(prev, next, event) {\n var _a;\n\n var _this = this;\n\n var depth = this._columns[prev].depth;\n\n var end = function end(index) {\n do {\n index++;\n } while (index < _this._columns.length && _this._columns[index].depth > depth);\n\n return index;\n };\n\n var spliced = this._columns.splice(prev, end(prev) - prev);\n\n (_a = this._columns).splice.apply(_a, __spreadArrays([prev < next ? end(next - spliced.length) : next, 0], spliced));\n\n this._columns.filter(function (q) {\n return q.declarationIndex >= 0;\n }).forEach(function (c, i) {\n return c.orderIndex = i;\n });\n\n var eventColumnProps = this.getColumns();\n this.$emit('columnreorder', {\n target: this,\n columns: eventColumnProps,\n event: event\n });\n },\n groupReorder: function groupReorder(prevIndex, nextIndex, event) {\n if (this.$props.group === undefined) {\n return;\n }\n\n var group = this.$props.group.slice();\n group.splice.apply(group, __spreadArrays([nextIndex, 0], group.splice(prevIndex, 1)));\n this.groupChangeHandler(group, event);\n },\n columnToGroup: function columnToGroup(columnIndex, groupIndex, event) {\n var field = this._columns[columnIndex].field;\n\n if (!field) {\n return;\n }\n\n var group = (this.$props.group || []).slice();\n group.splice(groupIndex, 0, {\n field: field\n });\n this.groupChangeHandler(group, event);\n },\n resetTableWidth: function resetTableWidth() {\n var totalWidth = 0;\n\n if (!this.columnResize.colGroupMain) {\n return;\n }\n\n var colElements = this.columnResize.colGroupMain.children;\n\n for (var i = 0; i < colElements.length; i++) {\n var width = colElements[i].width;\n\n if (!width) {\n return;\n }\n\n totalWidth += parseFloat(width.toString());\n }\n\n totalWidth = Math.round(totalWidth);\n\n if (this._header) {\n this._header.setWidth(totalWidth);\n }\n\n if (this._footer) {\n this._footer.setWidth(totalWidth);\n }\n\n if (this.vs.table) {\n this.vs.table.style.width = totalWidth + 'px';\n }\n },\n onResize: function onResize(index, newWidth, oldWidth, event, end) {\n this.resetTableWidth();\n this.$emit('columnresize', {\n columns: this.getColumns(),\n index: index,\n event: event,\n newWidth: newWidth,\n oldWidth: oldWidth,\n end: end,\n target: this\n });\n },\n initColumns: function initColumns(columnElements, groupCount) {\n var _this = this;\n\n var idPrefix = navigationTools.getIdPrefix(this.navigation);\n this._columns = readColumns(columnElements, this.getColumns(), {\n prevId: 0,\n idPrefix: idPrefix\n });\n\n if (this._columns.length === 0) {\n var currentColumns = autoGenerateColumns(this.$props.dataItems, this.$props.group, this.$props.expandField, {\n prevId: 0,\n idPrefix: idPrefix\n });\n this._columns = currentColumns;\n }\n\n if (this.$props.selectedField) {\n var that_1 = this;\n\n this._columns.filter(function (c) {\n return c.field === _this.$props.selectedField;\n }).forEach(function (c) {\n c.width = c.width || '50px';\n c.internalCell = that_1.v3 ? markRaw(GridSelectionCell) : GridSelectionCell;\n c.internalHeaderCell = that_1.v3 ? markRaw(GridHeaderSelectionCell) : GridHeaderSelectionCell;\n });\n }\n\n var defaultServiceProps = {\n id: '',\n resizable: true,\n width: '32px',\n title: ' ',\n declarationIndex: -1,\n orderIndex: -1,\n children: [],\n parentIndex: -1,\n depth: 0,\n colSpan: 0,\n rowSpan: 0,\n left: 0,\n right: 0,\n // position: 'sticky',\n index: 0,\n rightBorder: false,\n ariaColumnIndex: 0,\n isAccessible: true\n };\n var columnIndexOffset = 0;\n\n if (this.$props.expandField && hasListener.call(this, 'expandchange') && this.$props.detail) {\n this._columns.unshift(__assign(__assign({}, defaultServiceProps), {\n internalCell: this.v3 ? markRaw(GridHierarchyCell) : GridHierarchyCell,\n field: this.$props.expandField,\n headerClassName: 'k-hierarchy-cell k-header',\n id: navigationTools.generateNavigatableId(\"\" + this._columns.length, idPrefix, 'column')\n }));\n\n columnIndexOffset++;\n }\n\n for (var i = 0; i < groupCount; i++) {\n this._columns.unshift(__assign(__assign({}, defaultServiceProps), {\n isAccessible: false,\n internalCell: this.v3 ? markRaw(GridGroupCell) : GridGroupCell,\n field: 'value'\n }));\n\n columnIndexOffset++;\n }\n\n this._columns.slice(columnIndexOffset).forEach(function (c) {\n return c.parentIndex >= 0 && (c.parentIndex += columnIndexOffset);\n });\n\n this._columnsMap = mapColumns(this._columns);\n this.columnResize.columns = this._columns;\n this.dragLogic.columns = this._columns;\n },\n resolveTitle: function resolveTitle(field) {\n var column = this.findColumnByField(field);\n var title = column && (column.title || column.field);\n return title === undefined ? field : title;\n },\n findColumnByField: function findColumnByField(field) {\n var _this = this;\n\n var column;\n this.$props.columns.forEach(function (c) {\n var columnFound = _this.searchColumn(c, field);\n\n if (columnFound) {\n column = columnFound;\n }\n });\n return column;\n },\n searchColumn: function searchColumn(column, field) {\n if (column.field === field) {\n return column;\n } else if (column.children) {\n var i = void 0,\n result = null;\n\n for (i = 0; result == null && i < column.children.length; i++) {\n result = this.searchColumn(column.children[i], field);\n }\n\n return result;\n }\n\n return null;\n },\n getDataState: function getDataState() {\n return {\n filter: this.$props.filter,\n sort: this.$props.sort,\n skip: this.$props.skip,\n take: this.$props.take !== undefined ? this.$props.take : this.$props.pageSize,\n group: this.$props.group\n };\n },\n getArguments: function getArguments(event) {\n return {\n event: event,\n target: this\n };\n },\n getLeafDataItems: function getLeafDataItems() {\n return this.currentData.filter(function (item) {\n return item.rowType === 'data';\n }).map(function (item) {\n return item.dataItem;\n });\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var groupPanelDivRef = ref(null);\n var dropElementClueRef = ref(null);\n var dragElementClueRef = ref(null);\n var headerRef = ref(null);\n var footerRef = ref(null);\n var gridNavRef = ref(null);\n var colGroupRef = ref(null);\n var scrollContainerRef = ref(null);\n var scrollTableRef = ref(null);\n var scrollTableBodyRef = ref(null);\n return {\n v3: v3,\n groupPanelDivRef: groupPanelDivRef,\n dropElementClueRef: dropElementClueRef,\n dragElementClueRef: dragElementClueRef,\n headerRef: headerRef,\n footerRef: footerRef,\n gridNavRef: gridNavRef,\n colGroupRef: colGroupRef,\n scrollContainerRef: scrollContainerRef,\n scrollTableRef: scrollTableRef,\n scrollTableBodyRef: scrollTableBodyRef\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this3 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var total = this.$props.total || 0;\n var idPrefix = navigationTools.getIdPrefix(this.navigation);\n var gridData = [];\n\n if (Array.isArray(this.$props.dataItems)) {\n gridData = this.$props.dataItems;\n } else if (this.$props.dataItems) {\n gridData = this.$props.dataItems.data;\n total = total || this.$props.dataItems.total;\n }\n\n var groupable = this.$props.groupable === true || _typeof3(this.$props.groupable) === 'object' && this.$props.groupable.enabled !== false;\n this.columnResize.resizable = this.$props.resizable || false;\n this.dragLogic.reorderable = this.$props.reorderable || false;\n this.dragLogic.groupable = groupable;\n this.resetVirtual();\n this.vs.total = total;\n\n if (this.$props.rowHeight !== undefined && this.$props.rowHeight > 0 && !groupable) {\n this.vs.containerHeight = Math.min(1533915, this.$props.rowHeight * (total || 0));\n } else {\n this.vs.containerHeight = 1533915;\n }\n\n var children = defaultSlot || [];\n var groupingFooter = _typeof3(this.$props.groupable) === 'object' && this.$props.groupable.footer || 'none';\n this.currentData = [];\n var resolvedGroupsCount = flatData(this.currentData, gridData, groupingFooter, {\n index: this.$props.skip || 0\n }, this.$props.group !== undefined, this.$props.expandField);\n var notHiddenColumns = this.$props.columns ? this.$props.columns.filter(function (column) {\n return !column.hidden;\n }) : this.$props.columns;\n this.initColumns(notHiddenColumns, resolvedGroupsCount);\n var toolbar = children.filter(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('toolbar') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('toolbar') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('toolbar') !== -1;\n });\n var noRecords = children.filter(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('records') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('records') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('records') !== -1;\n });\n\n var columnsWithColGroup = this._columns.filter(function (c) {\n return c.children.length === 0;\n }); // @ts-ignore\n\n\n var groupingPanel = groupable && h(GroupPanel, {\n ref: this.v3 ? function (el) {\n _this.groupPanelDivRef = el;\n } : 'groupPanelDiv',\n group: this.$props.group || [],\n attrs: this.v3 ? undefined : {\n group: this.$props.group || [],\n resolveTitle: this.resolveTitle\n },\n onGroupChange: this.groupChangeHandler,\n on: this.v3 ? undefined : {\n \"groupChange\": this.groupChangeHandler,\n \"pressHandler\": this.dragLogic.pressHandler,\n \"dragHandler\": this.dragLogic.dragHandler,\n \"releaseHandler\": this.dragLogic.releaseHandler\n },\n onPressHandler: this.dragLogic.pressHandler,\n onDragHandler: this.dragLogic.dragHandler,\n onReleaseHandler: this.dragLogic.releaseHandler,\n resolveTitle: this.resolveTitle\n });\n var clues = (this.dragLogic.reorderable || this.dragLogic.groupable) && canUseDOM && document && document.body // @ts-ignore\n && [h(DropClue, {\n ref: this.v3 ? function (el) {\n _this.dropElementClueRef = el;\n } : 'dropElementClue'\n }), // @ts-ignore\n h(DragClue, {\n ref: this.v3 ? function (el) {\n _this.dragElementClueRef = el;\n } : 'dragElementClue'\n })]; // @ts-ignore\n\n var header = h(Header, {\n columnResize: this.columnResize,\n attrs: this.v3 ? undefined : {\n columnResize: this.columnResize,\n staticHeaders: this.$props.scrollable !== 'none',\n // @ts-ignore\n headerRow: h(HeaderRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n sort: this.$props.sort,\n groupable: this.$props.groupable,\n reorderable: this.$props.reorderable,\n sortable: this.$props.sortable,\n filter: this.$props.filter,\n filterable: this.$props.filterable,\n filterOperators: this.$props.filterOperators || operators,\n columnMenu: this.$props.columnMenu,\n columnMenuAnimate: this.$props.columnMenuAnimate,\n columns: this._columns,\n columnResize: this.columnResize,\n columnsMap: this._columnsMap,\n cellRender: this.$props.headerCellRender,\n isRtl: this.isRtl,\n filterRow: this.$props.filterable // @ts-ignore \n && h(FilterRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n },\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n onFilterchange: this.filterChangeHandler,\n on: this.v3 ? undefined : {\n \"filterchange\": this.filterChangeHandler\n },\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n }) || undefined\n },\n sort: this.$props.sort,\n groupable: this.$props.groupable,\n reorderable: this.$props.reorderable,\n sortable: this.$props.sortable,\n onSortChange: this.sortChangeHandler,\n on: this.v3 ? undefined : {\n \"sortChange\": this.sortChangeHandler,\n \"filterChange\": this.filterChangeHandler,\n \"selectionchange\": this.onHeaderSelectionChangeHandler,\n \"pressHandler\": this.dragLogic.pressHandler,\n \"dragHandler\": this.dragLogic.dragHandler,\n \"releaseHandler\": this.dragLogic.releaseHandler\n },\n filter: this.$props.filter,\n filterable: this.$props.filterable,\n filterOperators: this.$props.filterOperators || operators,\n onFilterChange: this.filterChangeHandler,\n columnMenu: this.$props.columnMenu,\n columnMenuAnimate: this.$props.columnMenuAnimate,\n onSelectionchange: this.onHeaderSelectionChangeHandler,\n columns: this._columns,\n columnResize: this.columnResize,\n onPressHandler: this.dragLogic.pressHandler,\n onDragHandler: this.dragLogic.dragHandler,\n onReleaseHandler: this.dragLogic.releaseHandler,\n columnsMap: this._columnsMap,\n cellRender: this.$props.headerCellRender,\n isRtl: this.isRtl,\n filterRow: this.$props.filterable && h(FilterRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n },\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n onFilterchange: this.filterChangeHandler,\n on: this.v3 ? undefined : {\n \"filterchange\": this.filterChangeHandler\n },\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n }) || undefined\n }),\n cols: columnsWithColGroup.map(function (column, index) {\n return h(\"col\", {\n key: index.toString(),\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,\n attrs: this.v3 ? undefined : {\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined\n }\n });\n }, this)\n },\n staticHeaders: this.$props.scrollable !== 'none',\n ref: this.v3 ? function (el) {\n _this.headerRef = el;\n } : 'header',\n headerRow: h(HeaderRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n sort: this.$props.sort,\n groupable: this.$props.groupable,\n reorderable: this.$props.reorderable,\n sortable: this.$props.sortable,\n filter: this.$props.filter,\n filterable: this.$props.filterable,\n filterOperators: this.$props.filterOperators || operators,\n columnMenu: this.$props.columnMenu,\n columnMenuAnimate: this.$props.columnMenuAnimate,\n columns: this._columns,\n columnResize: this.columnResize,\n columnsMap: this._columnsMap,\n cellRender: this.$props.headerCellRender,\n isRtl: this.isRtl,\n filterRow: this.$props.filterable && h(FilterRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n },\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n onFilterchange: this.filterChangeHandler,\n on: this.v3 ? undefined : {\n \"filterchange\": this.filterChangeHandler\n },\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n }) || undefined\n },\n sort: this.$props.sort,\n groupable: this.$props.groupable,\n reorderable: this.$props.reorderable,\n sortable: this.$props.sortable,\n onSortChange: this.sortChangeHandler,\n on: this.v3 ? undefined : {\n \"sortChange\": this.sortChangeHandler,\n \"filterChange\": this.filterChangeHandler,\n \"selectionchange\": this.onHeaderSelectionChangeHandler,\n \"pressHandler\": this.dragLogic.pressHandler,\n \"dragHandler\": this.dragLogic.dragHandler,\n \"releaseHandler\": this.dragLogic.releaseHandler\n },\n filter: this.$props.filter,\n filterable: this.$props.filterable,\n filterOperators: this.$props.filterOperators || operators,\n onFilterChange: this.filterChangeHandler,\n columnMenu: this.$props.columnMenu,\n columnMenuAnimate: this.$props.columnMenuAnimate,\n onSelectionchange: this.onHeaderSelectionChangeHandler,\n columns: this._columns,\n columnResize: this.columnResize,\n onPressHandler: this.dragLogic.pressHandler,\n onDragHandler: this.dragLogic.dragHandler,\n onReleaseHandler: this.dragLogic.releaseHandler,\n columnsMap: this._columnsMap,\n cellRender: this.$props.headerCellRender,\n isRtl: this.isRtl,\n filterRow: this.$props.filterable && h(FilterRow, {\n grid: this,\n attrs: this.v3 ? undefined : {\n grid: this,\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n },\n columns: this._columns,\n filter: this.$props.filter,\n filterOperators: this.$props.filterOperators || operators,\n onFilterchange: this.filterChangeHandler,\n on: this.v3 ? undefined : {\n \"filterchange\": this.filterChangeHandler\n },\n sort: this.$props.sort,\n cellRender: this.$props.filterCellRender,\n isRtl: this.isRtl,\n ariaRowIndex: this._columnsMap.length + 1\n }) || undefined\n }),\n cols: columnsWithColGroup.map(function (column, index) {\n return h(\"col\", {\n key: index.toString(),\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,\n attrs: this.v3 ? undefined : {\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined\n }\n });\n }, this)\n });\n var footer = this._columns.some(function (c) {\n return Boolean(c.footerCell);\n }) ? // @ts-ignore\n h(Footer, {\n columnResize: this.columnResize,\n attrs: this.v3 ? undefined : {\n columnResize: this.columnResize,\n staticHeaders: this.$props.scrollable !== 'none',\n row: // @ts-ignore\n h(FooterRow, {\n isRtl: this.isRtl,\n attrs: this.v3 ? undefined : {\n isRtl: this.isRtl,\n columns: this._columns.map(function (col) {\n return __assign(__assign({}, col), {\n footerCell: templateRendering.call(this, col.footerCell, getListeners.call(this))\n });\n }, this)\n },\n columns: this._columns.map(function (col) {\n return __assign(__assign({}, col), {\n footerCell: templateRendering.call(this, col.footerCell, getListeners.call(this))\n });\n }, this)\n }),\n cols: columnsWithColGroup.map(function (column, index) {\n return h(\"col\", {\n key: index.toString(),\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,\n attrs: this.v3 ? undefined : {\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined\n }\n });\n }, this)\n },\n staticHeaders: this.$props.scrollable !== 'none',\n ref: this.v3 ? function (el) {\n _this.footerRef = el;\n } : 'footer',\n row: h(FooterRow, {\n isRtl: this.isRtl,\n attrs: this.v3 ? undefined : {\n isRtl: this.isRtl,\n columns: this._columns.map(function (col) {\n return __assign(__assign({}, col), {\n footerCell: templateRendering.call(this, col.footerCell, getListeners.call(this))\n });\n }, this)\n },\n columns: this._columns.map(function (col) {\n return __assign(__assign({}, col), {\n footerCell: templateRendering.call(this, col.footerCell, getListeners.call(this))\n });\n }, this)\n }),\n cols: columnsWithColGroup.map(function (column, index) {\n return h(\"col\", {\n key: index.toString(),\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,\n attrs: this.v3 ? undefined : {\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined\n }\n });\n }, this)\n }) : h(\"span\");\n var cellRenderFunction = templateRendering.call(this, this.$props.cellRender, getListeners.call(this));\n var leftWidth = 0;\n var vnodeDataStyle = this.v3 ? this.$attrs.style : this.$vnode && this.$vnode.data ? this.$vnode.data.style : null;\n var widthProp = 'width';\n var elementInlineStyleWidth = vnodeDataStyle && (typeof vnodeDataStyle === \"undefined\" ? \"undefined\" : _typeof3(vnodeDataStyle)) === 'object' ? vnodeDataStyle[widthProp] || '' : '';\n var tableWidth = parseFloat(elementInlineStyleWidth.toString());\n var scrollLeft = this.vs && this.vs.container && this.vs.container.scrollLeft || 0;\n\n var _a = tableColumnsVirtualization({\n enabled: this.$props.columnVirtualization,\n columns: this._columns,\n tableViewPortWidth: tableWidth,\n scrollLeft: scrollLeft\n }),\n colSpans = _a.colSpans,\n isColHidden = _a.hiddenColumns;\n\n var dataRow = function dataRow(item, rowId, rowDataIndex) {\n var isInEdit = false;\n var selectedValue = this.$props.selectedField ? getNestedValue(this.$props.selectedField, item.dataItem) : undefined;\n return {\n row: this._columns.map(function (column, index) {\n var _this = this;\n\n if (isColHidden[index]) {\n return null;\n }\n\n var className = \"\" + (column.className ? column.className + ' ' : '') + (\"\" + (column.locked ? 'k-grid-content-sticky' : ''));\n var style = column.left !== undefined ? !this.isRtl ? {\n left: column.left + 'px',\n right: column.right + 'px'\n } : {\n left: column.right + 'px',\n right: column.left + 'px'\n } : {};\n var currentColumnIsInEdit = false;\n\n if (column.editable && this.$props.editField) {\n var inEdit = getNestedValue(this.$props.editField, item.dataItem);\n\n if (inEdit === true || inEdit === column.field) {\n isInEdit = true;\n currentColumnIsInEdit = true;\n }\n }\n\n var columnCellRenderFunction;\n\n if (column.cell) {\n columnCellRenderFunction = templateRendering.call(this, column.cell, getListeners.call(this));\n }\n\n if (column.internalCell) {\n return h(column.internalCell, {\n key: index,\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n attrs: this.v3 ? undefined : {\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '',\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex,\n ariaColumnIndex: column.ariaColumnIndex,\n isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(index) > -1\n },\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '',\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n onChange: this.itemChange,\n on: this.v3 ? undefined : {\n \"change\": this.itemChange,\n \"selectionchange\": function selectionchange(e) {\n return _this.selectionChangeHandler({\n event: e,\n dataItem: item.dataItem,\n dataIndex: rowDataIndex,\n columnIndex: index\n });\n }\n },\n onSelectionchange: function selectionchange(e) {\n return _this.selectionChangeHandler({\n event: e,\n dataItem: item.dataItem,\n dataIndex: rowDataIndex,\n columnIndex: index\n });\n },\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex,\n style: style,\n ariaColumnIndex: column.ariaColumnIndex,\n isSelected: Array.isArray(selectedValue) && selectedValue.indexOf(index) > -1\n });\n }\n\n if (currentColumnIsInEdit) {\n // @ts-ignore\n return h(GridEditCell, {\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n attrs: this.v3 ? undefined : {\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '' // todo\n ,\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex\n },\n key: index,\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '',\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n onEdit: this.editHandler,\n on: this.v3 ? undefined : {\n \"edit\": this.editHandler,\n \"remove\": this.removeHandler,\n \"save\": this.saveHandler,\n \"cancel\": this.cancelHandler,\n \"change\": this.itemChange\n },\n onRemove: this.removeHandler,\n onSave: this.saveHandler,\n onCancel: this.cancelHandler,\n onChange: this.itemChange,\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex,\n style: style\n });\n } // @ts-ignore\n\n\n var inbuiltSlot = h(GridCell, {\n key: index,\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n attrs: this.v3 ? undefined : {\n id: navigationTools.generateNavigatableId(rowId + \"-\" + String(index), idPrefix),\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '' // todo\n ,\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex\n },\n colSpan: colSpans[index],\n dataItem: item.dataItem,\n field: column.field || '',\n editor: column.editor,\n format: column.format,\n type: column.type,\n className: className,\n render: columnCellRenderFunction || cellRenderFunction,\n onCellclick: this.cellClickHandler,\n on: this.v3 ? undefined : {\n \"cellclick\": this.cellClickHandler,\n \"cellkeydown\": this.cellKeydownHandler,\n \"edit\": this.editHandler,\n \"remove\": this.removeHandler,\n \"save\": this.saveHandler,\n \"cancel\": this.cancelHandler,\n \"change\": this.itemChange,\n \"selectionchange\": function selectionchange(e) {\n return _this.selectionChangeHandler({\n event: e,\n dataItem: item.dataItem,\n dataIndex: rowDataIndex,\n columnIndex: index\n });\n }\n },\n onCellkeydown: this.cellKeydownHandler,\n onEdit: this.editHandler,\n onRemove: this.removeHandler,\n onSave: this.saveHandler,\n onCancel: this.cancelHandler,\n onChange: this.itemChange,\n onSelectionchange: function selectionchange(e) {\n return _this.selectionChangeHandler({\n event: e,\n dataItem: item.dataItem,\n dataIndex: rowDataIndex,\n columnIndex: index\n });\n },\n columnIndex: index,\n columnsCount: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n rowType: item.rowType,\n level: item.level,\n expanded: item.expanded,\n dataIndex: item.dataIndex,\n style: style\n });\n return inbuiltSlot;\n }, this),\n isInEdit: isInEdit,\n isSelected: typeof selectedValue === 'boolean' && selectedValue\n };\n };\n\n var hiddenRows = 0;\n\n if (this.$props.scrollable === 'virtual') {\n for (var i = 0; i < this.vs.topCacheCount + this.vs.attendedSkip - (this.$props.skip || 0); i++) {\n var item = this.currentData.shift();\n\n if (item) {\n this.currentData.push(item);\n hiddenRows++;\n\n if (item.rowType === 'groupHeader') {\n i--;\n }\n } else {\n break;\n }\n }\n }\n\n var hidden = function hidden(index) {\n return index >= _this.currentData.length - hiddenRows;\n };\n\n var detailRenderFunction = templateRendering.call(this, this.$props.detail, getListeners.call(this));\n var absoluteDataIndex = this.vs.propsSkip || 0;\n var rowIndexStart = this._columnsMap.length + (this.$props.filterable ? 1 : 0) + 1;\n var currentAriaRowIndex;\n var dataIndex = -1;\n var detailRowCount = 0; // @ts-ignore\n\n var body = this.currentData.length && this.currentData.map(function (item, rowIndex) {\n var _this2 = this;\n\n var _this = this;\n\n if (item.rowType === 'data') {\n absoluteDataIndex++;\n }\n\n if (this.$props.alternatePerGroup && item.rowType === 'groupHeader') {\n absoluteDataIndex = 0;\n }\n\n var isAlt = absoluteDataIndex % 2 === 0;\n var dataItemKey = this.$props.dataItemKey && getter(this.$props.dataItemKey)(item.dataItem);\n var absoluteIndex = rowIndex + (this.vs.propsSkip || 0);\n var rowId = dataItemKey ? dataItemKey : 'ai' + absoluteIndex;\n var detailRowId = rowId + '_1';\n currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount;\n leftWidth = 0;\n var rowRenderFunction = templateRendering.call(this, this.$props.rowRender, getListeners.call(this));\n var detailColspan;\n\n if (this.$props.detail && item.rowType === 'data' && item.expanded) {\n detailColspan = columnsWithColGroup.length - (this.$props.expandField ? 1 : 0) - (this.$props.group ? this.$props.group.length : 0) || 1;\n detailRowCount++;\n currentAriaRowIndex = absoluteIndex + rowIndexStart + detailRowCount;\n }\n\n return [// @ts-ignore function children\n h(GridRow, {\n key: rowId,\n dataItem: item.dataItem,\n attrs: this.v3 ? undefined : {\n dataItem: item.dataItem,\n isAltRow: isAlt,\n isInEdit: dataRow.isInEdit,\n rowType: item.rowType,\n isHidden: hidden(rowIndex),\n selectedField: this.$props.selectedField,\n rowHeight: this.$props.rowHeight,\n render: rowRenderFunction,\n ariaRowIndex: currentAriaRowIndex,\n dataIndex: dataIndex,\n isSelected: dataRow.isSelected\n },\n isAltRow: isAlt,\n isInEdit: dataRow.isInEdit,\n rowType: item.rowType,\n isHidden: hidden(rowIndex),\n onRowclick: function onRowclick(e) {\n return _this.rowClick(e, item);\n },\n on: this.v3 ? undefined : {\n \"rowclick\": function onRowclick(e) {\n return _this.rowClick(e, item);\n },\n \"rowdblclick\": function rowdblclick(e) {\n return _this.rowDoubleClick(e, item);\n }\n },\n onRowdblclick: function rowdblclick(e) {\n return _this.rowDoubleClick(e, item);\n },\n selectedField: this.$props.selectedField,\n rowHeight: this.$props.rowHeight,\n render: rowRenderFunction,\n ariaRowIndex: currentAriaRowIndex,\n dataIndex: dataIndex,\n isSelected: dataRow.isSelected\n }, this.v3 ? function () {\n return [dataRow.call(_this2, item, rowId, dataIndex).row];\n } : [dataRow.call(_this2, item, rowId, dataIndex).row]), this.$props.detail && item.rowType === 'data' && item.expanded && h(\"tr\", {\n key: detailRowId,\n \"class\": isAlt ? 'k-detail-row k-alt' : 'k-detail-row',\n style: {\n visibility: hidden(rowIndex) ? 'hidden' : ''\n },\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\",\n \"aria-rowindex\": currentAriaRowIndex\n },\n \"aria-rowindex\": currentAriaRowIndex\n }, [this.$props.group && this.$props.group.map(function (group, idx) {\n // @ts-ignore\n return h(GridGroupCell, {\n id: '',\n attrs: this.v3 ? undefined : {\n id: '',\n dataIndex: item.dataIndex,\n field: group.field,\n dataItem: item.dataItem\n },\n dataIndex: item.dataIndex,\n field: group.field,\n dataItem: item.dataItem,\n key: idx\n });\n }, this), this.$props.expandField && // @ts-ignore function children\n h(GridDetailHierarchyCell, {\n id: navigationTools.generateNavigatableId(detailRowId + \"-dhcell\", idPrefix),\n attrs: this.v3 ? undefined : {\n id: navigationTools.generateNavigatableId(detailRowId + \"-dhcell\", idPrefix)\n }\n }), // @ts-ignore function children\n h(GridDetailCell, {\n dataItem: item.dataItem,\n attrs: this.v3 ? undefined : {\n dataItem: item.dataItem,\n dataIndex: item.dataIndex,\n colSpan: detailColspan,\n ariaColIndex: 2 + (this.$props.group ? this.$props.group.length : 0),\n detail: this.$props.detail ? detailRenderFunction : undefined,\n id: navigationTools.generateNavigatableId(detailRowId + \"-dcell\", idPrefix)\n },\n dataIndex: item.dataIndex,\n colSpan: detailColspan,\n ariaColIndex: 2 + (this.$props.group ? this.$props.group.length : 0),\n detail: this.$props.detail ? detailRenderFunction : undefined,\n id: navigationTools.generateNavigatableId(detailRowId + \"-dcell\", idPrefix)\n })])];\n }, this) || h(\"tr\", {\n \"class\": \"k-grid-norecords\"\n }, [h(\"td\", {\n colSpan: this._columns.filter(function (c) {\n return !c.children.length;\n }).length,\n attrs: this.v3 ? undefined : {\n colSpan: this._columns.filter(function (c) {\n return !c.children.length;\n }).length\n }\n }, [// @ts-ignore\n noRecords.length ? noRecords : h(GridNoRecords)])]);\n var pagerTemplate = templateRendering.call(this, this.$props.pager, getListeners.call(this)); // @ts-ignore\n\n var defaultPagerRendering = this.$props.pageable && h(Pager, {\n \"class\": 'k-grid-pager',\n onPagesizechange: this.pageChangeHandler,\n on: this.v3 ? undefined : {\n \"pagesizechange\": this.pageChangeHandler,\n \"pagechange\": this.pageChangeHandler\n },\n onPagechange: this.pageChangeHandler,\n total: total,\n attrs: this.v3 ? undefined : {\n total: total,\n skip: this.vs.propsSkip || 0,\n pageSize: (this.$props.take !== undefined ? this.$props.take : this.$props.pageSize) || 10,\n messagesMap: pagerMessagesMap,\n settings: normalize(this.$props.pageable || {})\n },\n skip: this.vs.propsSkip || 0,\n pageSize: (this.$props.take !== undefined ? this.$props.take : this.$props.pageSize) || 10,\n messagesMap: pagerMessagesMap,\n settings: normalize(this.$props.pageable || {})\n });\n var pager = getTemplate.call(this, {\n h: h,\n template: pagerTemplate,\n defaultRendering: defaultPagerRendering,\n additionalProps: __assign(__assign({}, this.$props), {\n skip: this.vs.propsSkip || 0,\n messagesMap: pagerMessagesMap\n }),\n additionalListeners: {\n pagesizechange: this.pageChangeHandler,\n pagechange: this.pageChangeHandler\n }\n });\n\n var sorted = function sorted(field) {\n return _this.$props.sort && _this.$props.sort.filter(function (descriptor) {\n return descriptor.field === field;\n }).length > 0;\n };\n\n var colGroups = h(\"colgroup\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: this.v3 ? function (el) {\n _this.colGroupRef = el;\n } : 'colGroup'\n }, [columnsWithColGroup.map(function (column, index) {\n return h(\"col\", {\n key: index.toString(),\n \"class\": sorted(column.field) ? 'k-sorted' : undefined,\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined,\n attrs: this.v3 ? undefined : {\n width: column.width !== undefined ? Math.floor(parseFloat(column.width.toString())) + 'px' : undefined\n }\n });\n }, this)]);\n var wrapperStyle = {\n height: this.getCorrectHeight\n };\n\n if (this.$props.scrollable === 'none') {\n return (// @ts-ignore function children\n h(TableKeyboardNavigationProvider, {\n ref: 'navRef',\n id: this._gridId,\n attrs: this.v3 ? undefined : {\n id: this._gridId,\n navigatable: this.$props.navigatable\n },\n navigatable: this.$props.navigatable\n }, this.v3 ? function () {\n return [// @ts-ignore function children\n h(GridNav, {\n ref: _this3.v3 ? function (el) {\n _this.gridNavRef = el;\n } : 'gridNav',\n currentData: _this3.currentData,\n attrs: _this3.v3 ? undefined : {\n currentData: _this3.currentData,\n role: \"grid\"\n },\n style: wrapperStyle,\n role: \"grid\",\n \"class\": \"k-widget k-grid\"\n }, _this3.v3 ? function () {\n return [toolbar, groupingPanel, h(\"table\", {\n style: {\n tableLayout: 'fixed'\n }\n }, [colGroups, header, h(\"tbody\", {\n \"data-keyboardnavbody\": true,\n attrs: _this3.v3 ? undefined : {\n \"data-keyboardnavbody\": true\n }\n }, [body]), footer]), pager, clues];\n } : [toolbar, groupingPanel, h(\"table\", {\n style: {\n tableLayout: 'fixed'\n }\n }, [colGroups, header, h(\"tbody\", {\n \"data-keyboardnavbody\": true,\n attrs: _this3.v3 ? undefined : {\n \"data-keyboardnavbody\": true\n }\n }, [body]), footer]), pager, clues])];\n } : [h(GridNav, {\n ref: _this3.v3 ? function (el) {\n _this.gridNavRef = el;\n } : 'gridNav',\n currentData: _this3.currentData,\n attrs: _this3.v3 ? undefined : {\n currentData: _this3.currentData,\n role: \"grid\"\n },\n style: wrapperStyle,\n role: \"grid\",\n \"class\": \"k-widget k-grid\"\n }, _this3.v3 ? function () {\n return [toolbar, groupingPanel, h(\"table\", {\n style: {\n tableLayout: 'fixed'\n }\n }, [colGroups, header, h(\"tbody\", {\n \"data-keyboardnavbody\": true,\n attrs: _this3.v3 ? undefined : {\n \"data-keyboardnavbody\": true\n }\n }, [body]), footer]), pager, clues];\n } : [toolbar, groupingPanel, h(\"table\", {\n style: {\n tableLayout: 'fixed'\n }\n }, [colGroups, header, h(\"tbody\", {\n \"data-keyboardnavbody\": true,\n attrs: _this3.v3 ? undefined : {\n \"data-keyboardnavbody\": true\n }\n }, [body]), footer]), pager, clues])])\n );\n }\n\n return (// @ts-ignore function children\n h(TableKeyboardNavigationProvider, {\n ref: 'navRef',\n id: this._gridId,\n attrs: this.v3 ? undefined : {\n id: this._gridId,\n navigatable: this.$props.navigatable\n },\n navigatable: this.$props.navigatable\n }, this.v3 ? function () {\n return [// @ts-ignore function children\n h(GridNav, {\n ref: _this3.v3 ? function (el) {\n _this.gridNavRef = el;\n } : 'gridNav',\n currentData: _this3.currentData,\n attrs: _this3.v3 ? undefined : {\n currentData: _this3.currentData,\n role: \"grid\"\n },\n style: wrapperStyle,\n role: \"grid\",\n \"class\": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')\n }, _this3.v3 ? function () {\n return [toolbar, groupingPanel, header, h(\"div\", {\n \"class\": \"k-grid-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: _this3.v3 ? function (el) {\n _this.scrollContainerRef = el;\n } : 'scrollContainer',\n \"class\": \"k-grid-content k-virtual-content\",\n onScroll: _this3.scrollHandler,\n on: _this3.v3 ? undefined : {\n \"scroll\": _this3.scrollHandler\n }\n }, [h(\"div\", {\n style: {\n 'position': 'relative'\n }\n }, [h(\"table\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n tabIndex: -1\n },\n tabIndex: -1,\n \"class\": 'k-grid-table',\n ref: _this3.v3 ? function (el) {\n _this.scrollTableRef = el;\n } : 'scrollTable'\n }, [colGroups, h(\"tbody\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n \"data-keyboardnavbody\": true\n },\n \"data-keyboardnavbody\": true,\n ref: _this3.v3 ? function (el) {\n _this.scrollTableBodyRef = el;\n } : 'scrollTableBody'\n }, [body])])]), h(\"div\", {\n \"class\": \"k-height-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n style: _this3.$props.scrollable === 'virtual' ? {\n 'height': _this3.vs.containerHeight + 'px'\n } : {}\n })])])]), footer, pager, clues];\n } : [toolbar, groupingPanel, header, h(\"div\", {\n \"class\": \"k-grid-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: _this3.v3 ? function (el) {\n _this.scrollContainerRef = el;\n } : 'scrollContainer',\n \"class\": \"k-grid-content k-virtual-content\",\n onScroll: _this3.scrollHandler,\n on: _this3.v3 ? undefined : {\n \"scroll\": _this3.scrollHandler\n }\n }, [h(\"div\", {\n style: {\n 'position': 'relative'\n }\n }, [h(\"table\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n tabIndex: -1\n },\n tabIndex: -1,\n \"class\": 'k-grid-table',\n ref: _this3.v3 ? function (el) {\n _this.scrollTableRef = el;\n } : 'scrollTable'\n }, [colGroups, h(\"tbody\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n \"data-keyboardnavbody\": true\n },\n \"data-keyboardnavbody\": true,\n ref: _this3.v3 ? function (el) {\n _this.scrollTableBodyRef = el;\n } : 'scrollTableBody'\n }, [body])])]), h(\"div\", {\n \"class\": \"k-height-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n style: _this3.$props.scrollable === 'virtual' ? {\n 'height': _this3.vs.containerHeight + 'px'\n } : {}\n })])])]), footer, pager, clues])];\n } : [h(GridNav, {\n ref: _this3.v3 ? function (el) {\n _this.gridNavRef = el;\n } : 'gridNav',\n currentData: _this3.currentData,\n attrs: _this3.v3 ? undefined : {\n currentData: _this3.currentData,\n role: \"grid\"\n },\n style: wrapperStyle,\n role: \"grid\",\n \"class\": 'k-widget k-grid' + (_this3.$props.scrollable === 'virtual' ? ' k-grid-virtual' : '')\n }, _this3.v3 ? function () {\n return [toolbar, groupingPanel, header, h(\"div\", {\n \"class\": \"k-grid-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: _this3.v3 ? function (el) {\n _this.scrollContainerRef = el;\n } : 'scrollContainer',\n \"class\": \"k-grid-content k-virtual-content\",\n onScroll: _this3.scrollHandler,\n on: _this3.v3 ? undefined : {\n \"scroll\": _this3.scrollHandler\n }\n }, [h(\"div\", {\n style: {\n 'position': 'relative'\n }\n }, [h(\"table\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n tabIndex: -1\n },\n tabIndex: -1,\n \"class\": 'k-grid-table',\n ref: _this3.v3 ? function (el) {\n _this.scrollTableRef = el;\n } : 'scrollTable'\n }, [colGroups, h(\"tbody\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n \"data-keyboardnavbody\": true\n },\n \"data-keyboardnavbody\": true,\n ref: _this3.v3 ? function (el) {\n _this.scrollTableBodyRef = el;\n } : 'scrollTableBody'\n }, [body])])]), h(\"div\", {\n \"class\": \"k-height-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n style: _this3.$props.scrollable === 'virtual' ? {\n 'height': _this3.vs.containerHeight + 'px'\n } : {}\n })])])]), footer, pager, clues];\n } : [toolbar, groupingPanel, header, h(\"div\", {\n \"class\": \"k-grid-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n },\n ref: _this3.v3 ? function (el) {\n _this.scrollContainerRef = el;\n } : 'scrollContainer',\n \"class\": \"k-grid-content k-virtual-content\",\n onScroll: _this3.scrollHandler,\n on: _this3.v3 ? undefined : {\n \"scroll\": _this3.scrollHandler\n }\n }, [h(\"div\", {\n style: {\n 'position': 'relative'\n }\n }, [h(\"table\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n tabIndex: -1\n },\n tabIndex: -1,\n \"class\": 'k-grid-table',\n ref: _this3.v3 ? function (el) {\n _this.scrollTableRef = el;\n } : 'scrollTable'\n }, [colGroups, h(\"tbody\", {\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\",\n \"data-keyboardnavbody\": true\n },\n \"data-keyboardnavbody\": true,\n ref: _this3.v3 ? function (el) {\n _this.scrollTableBodyRef = el;\n } : 'scrollTableBody'\n }, [body])])]), h(\"div\", {\n \"class\": \"k-height-container\",\n role: \"presentation\",\n attrs: _this3.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"div\", {\n style: _this3.$props.scrollable === 'virtual' ? {\n 'height': _this3.vs.containerHeight + 'px'\n } : {}\n })])])]), footer, pager, clues])])\n );\n }\n};\nvar GridVue3 = Grid;\nexport { Grid, GridVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { GridColumnMenuItem } from './GridColumnMenuItem';\nimport { GridColumnMenuItemGroup } from './GridColumnMenuItemGroup';\nimport { GridColumnMenuItemContent } from './GridColumnMenuItemContent';\nimport { Checkbox } from '@progress/kendo-vue-inputs';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, filterClearButton, filterSubmitButton, filterTitle, searchPlaceholder, filterCheckAll } from '../messages';\nimport { filterBy } from '@progress/kendo-data-query';\nimport { clone } from '@progress/kendo-vue-common';\nimport { getNestedValue } from '../utils';\n/**\n * @hidden\n */\n\nvar isArrayEqual = function isArrayEqual(firstArray, secondArray) {\n if (firstArray.length !== secondArray.length) {\n return false;\n }\n\n return firstArray.every(function (ex, i) {\n return ex === secondArray[i];\n });\n};\n/**\n * Represents the default `GridColumnMenuCheckboxFilter` component.\n */\n\n\nvar GridColumnMenuCheckboxFilter = {\n name: 'KendoGridColumnMenuCheckboxFilter',\n props: {\n column: Object,\n filter: Object,\n filterable: Boolean,\n filterOperators: Object,\n expanded: {\n type: Boolean,\n default: undefined\n },\n dataItems: Array,\n searchBox: {\n type: Boolean,\n default: true\n },\n uniqueData: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n currentExpanded: false,\n currentValue: '',\n currentData: undefined,\n dataFromProps: undefined,\n currentFilter: undefined\n };\n },\n created: function created() {\n this.compositeFilterIndex = this.getFilterIndex();\n this.currentExpanded = this.$props.expanded;\n this.currentData = this.parseData(this.$props.dataItems, this.$props.uniqueData) || [];\n this.dataFromProps = this.parseData(this.$props.dataItems, false) || [];\n this.currentFilter = this.defaultFilter();\n },\n updated: function updated() {\n var field = this.$props.column.field || '';\n var data = this.$props.dataItems.map(function (item) {\n return getNestedValue(field, item);\n });\n\n if (!isArrayEqual(data, this.dataFromProps)) {\n this.currentData = data;\n this.dataFromProps = data;\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n\n var _this = this;\n\n var h = gh || createElement;\n var column = this.$props.column;\n\n if (!column || !column.field) {\n return h(\"div\");\n }\n\n var localizationService = provideLocalizationService(this);\n var expandState = this.$props.expanded !== undefined ? this.$props.expanded : this.currentExpanded;\n var filterValues = [];\n\n if (this.currentFilter) {\n var currentFilter = __spreadArrays(this.currentFilter.filters);\n\n this.compositeFilterIndex = currentFilter.findIndex(function (filter) {\n if (filter.filters && filter.filters.length > 0) {\n return filter.filters[0].field === column.field;\n }\n\n return false;\n });\n\n if (this.compositeFilterIndex !== -1 && currentFilter[this.compositeFilterIndex].filters.length > 0) {\n currentFilter[this.compositeFilterIndex].filters.forEach(function (filterItem) {\n if (filterItem.field === _this.$props.column.field) {\n filterValues.push(filterItem.value);\n }\n });\n }\n }\n\n var searchBox = function searchBox() {\n return this.$props.searchBox && h(\"span\", {\n \"class\": \"k-list-filter\"\n }, [h(\"input\", {\n ref: 'searchBox',\n placeholder: localizationService.toLanguageString(searchPlaceholder, messages[searchPlaceholder]),\n attrs: this.v3 ? undefined : {\n placeholder: localizationService.toLanguageString(searchPlaceholder, messages[searchPlaceholder])\n },\n \"class\": \"k-textbox\",\n value: this.v3 ? this.currentValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.currentValue\n },\n onInput: this.handleSearchChange,\n on: this.v3 ? undefined : {\n \"input\": this.handleSearchChange\n }\n }), h(\"span\", {\n \"class\": \"k-icon k-i-search\"\n })]);\n };\n\n var uniqueFilterValues = filterValues.filter(function (item, index) {\n return filterValues.indexOf(item) === index;\n });\n return (// @ts-ignore function children\n h(GridColumnMenuItemGroup, this.v3 ? function () {\n return [// @ts-ignore function children\n h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n attrs: _this2.v3 ? undefined : {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n iconClass: 'k-i-filter'\n },\n iconClass: 'k-i-filter',\n onClick: _this2.onFilterExpand,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onFilterExpand\n }\n }), // @ts-ignore function children\n h(GridColumnMenuItemContent, {\n show: !!expandState,\n attrs: _this2.v3 ? undefined : {\n show: !!expandState\n }\n }, _this2.v3 ? function () {\n return [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [searchBox.call(_this2), h(\"ul\", {\n \"class\": \"k-reset k-multicheck-wrap\"\n }, [h(\"li\", {\n \"class\": \"k-item\"\n }, [// @ts-ignore function children\n h(Checkbox, {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n attrs: _this2.v3 ? undefined : {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n checked: _this2.isAllSelected()\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n },\n on: _this2.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n }\n },\n checked: _this2.isAllSelected()\n })]), _this2.currentData.map(function (item, index) {\n var _this = this;\n\n return h(\"li\", {\n \"class\": \"k-item\",\n key: index\n }, [// @ts-ignore function children\n h(Checkbox, {\n label: String(item),\n attrs: this.v3 ? undefined : {\n label: String(item),\n checked: uniqueFilterValues.includes(item)\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n }\n },\n checked: uniqueFilterValues.includes(item)\n })]);\n }, _this2)]), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary'\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])];\n } : [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [searchBox.call(_this2), h(\"ul\", {\n \"class\": \"k-reset k-multicheck-wrap\"\n }, [h(\"li\", {\n \"class\": \"k-item\"\n }, [h(Checkbox, {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n attrs: _this2.v3 ? undefined : {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n checked: _this2.isAllSelected()\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n },\n on: _this2.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n }\n },\n checked: _this2.isAllSelected()\n })]), _this2.currentData.map(function (item, index) {\n var _this = this;\n\n return h(\"li\", {\n \"class\": \"k-item\",\n key: index\n }, [h(Checkbox, {\n label: String(item),\n attrs: this.v3 ? undefined : {\n label: String(item),\n checked: uniqueFilterValues.includes(item)\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n }\n },\n checked: uniqueFilterValues.includes(item)\n })]);\n }, _this2)]), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary'\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])])];\n } : [h(GridColumnMenuItem, {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n attrs: _this2.v3 ? undefined : {\n title: localizationService.toLanguageString(filterTitle, messages[filterTitle]),\n iconClass: 'k-i-filter'\n },\n iconClass: 'k-i-filter',\n onClick: _this2.onFilterExpand,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onFilterExpand\n }\n }), h(GridColumnMenuItemContent, {\n show: !!expandState,\n attrs: _this2.v3 ? undefined : {\n show: !!expandState\n }\n }, _this2.v3 ? function () {\n return [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [searchBox.call(_this2), h(\"ul\", {\n \"class\": \"k-reset k-multicheck-wrap\"\n }, [h(\"li\", {\n \"class\": \"k-item\"\n }, [h(Checkbox, {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n attrs: _this2.v3 ? undefined : {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n checked: _this2.isAllSelected()\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n },\n on: _this2.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n }\n },\n checked: _this2.isAllSelected()\n })]), _this2.currentData.map(function (item, index) {\n var _this = this;\n\n return h(\"li\", {\n \"class\": \"k-item\",\n key: index\n }, [h(Checkbox, {\n label: String(item),\n attrs: this.v3 ? undefined : {\n label: String(item),\n checked: uniqueFilterValues.includes(item)\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n }\n },\n checked: uniqueFilterValues.includes(item)\n })]);\n }, _this2)]), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary'\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])];\n } : [h(\"div\", {\n \"class\": 'kendo-grid-filter-menu-container'\n }, [h(\"form\", {\n \"class\": 'k-filter-menu k-group k-reset k-state-border-up',\n onSubmit: _this2.submit,\n on: _this2.v3 ? undefined : {\n \"submit\": _this2.submit,\n \"reset\": _this2.clear\n },\n onReset: _this2.clear\n }, [h(\"div\", {\n \"class\": 'k-filter-menu-container'\n }, [searchBox.call(_this2), h(\"ul\", {\n \"class\": \"k-reset k-multicheck-wrap\"\n }, [h(\"li\", {\n \"class\": \"k-item\"\n }, [h(Checkbox, {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n attrs: _this2.v3 ? undefined : {\n label: localizationService.toLanguageString(filterCheckAll, messages[filterCheckAll]),\n checked: _this2.isAllSelected()\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n },\n on: _this2.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, 'all');\n }\n },\n checked: _this2.isAllSelected()\n })]), _this2.currentData.map(function (item, index) {\n var _this = this;\n\n return h(\"li\", {\n \"class\": \"k-item\",\n key: index\n }, [h(Checkbox, {\n label: String(item),\n attrs: this.v3 ? undefined : {\n label: String(item),\n checked: uniqueFilterValues.includes(item)\n },\n onChange: function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n },\n on: this.v3 ? undefined : {\n \"change\": function onChange(e) {\n return _this.handleCheckBoxChange(e, item);\n }\n },\n checked: uniqueFilterValues.includes(item)\n })]);\n }, _this2)]), h(\"div\", {\n \"class\": 'k-columnmenu-actions'\n }, [h(\"button\", {\n \"class\": 'k-button',\n type: 'reset',\n attrs: _this2.v3 ? undefined : {\n type: 'reset'\n }\n }, [localizationService.toLanguageString(filterClearButton, messages[filterClearButton])]), h(\"button\", {\n \"class\": 'k-button k-primary'\n }, [localizationService.toLanguageString(filterSubmitButton, messages[filterSubmitButton])])])])])])])])\n );\n },\n methods: {\n defaultFilter: function defaultFilter() {\n if (this.$props.filter) {\n return clone(this.$props.filter);\n }\n\n return {\n filters: [],\n logic: 'and'\n };\n },\n parseData: function parseData(originalData, isUnique) {\n var field = this.$props.column.field || '';\n var data = originalData.map(function (item) {\n return getNestedValue(field, item);\n });\n\n if (isUnique) {\n return data.filter(function (item, index) {\n return data.indexOf(item) === index;\n });\n }\n\n return data;\n },\n getFilterIndex: function getFilterIndex() {\n var field = this.$props.column.field;\n var currentFilter = this.defaultFilter();\n var compositeFilterIndex = currentFilter.filters.findIndex(function (filter) {\n return filter.filters && filter.filters.length > 0 && filter.filters[0].field === field;\n });\n return compositeFilterIndex;\n },\n onFilterExpand: function onFilterExpand() {\n var isControlled = this.$props.expanded !== undefined;\n var nextValue = !(isControlled ? this.$props.expanded : this.currentExpanded);\n this.$emit('expandchange', nextValue);\n\n if (!isControlled) {\n this.currentExpanded = nextValue;\n }\n },\n handleSearchChange: function handleSearchChange(e) {\n var filterExpression = {\n logic: 'and',\n filters: [{\n field: this.$props.column.field,\n operator: 'startswith',\n value: e.target.value,\n ignoreCase: true\n }]\n };\n this.currentValue = e.target.value;\n this.currentData = this.parseData(filterBy(this.$props.dataItems || [], filterExpression), this.$props.uniqueData);\n },\n clear: function clear(e) {\n e.preventDefault();\n var updatedFilter = this.currentFilter || null;\n\n if (updatedFilter !== null && updatedFilter.filters.length > 0) {\n if (this.compositeFilterIndex >= 0) {\n updatedFilter.filters.splice(this.compositeFilterIndex, 1);\n }\n\n this.$emit('filterchange', updatedFilter, e);\n } else {\n this.$emit('filterchange', null, e);\n }\n\n this.$emit('closemenu');\n },\n submit: function submit(e) {\n e.preventDefault();\n var updatedFilter = this.currentFilter || null;\n this.$emit('filterchange', updatedFilter, e);\n this.$emit('closemenu');\n },\n handleCheckBoxChange: function handleCheckBoxChange(e, value) {\n var field = this.$props.column.field || '';\n\n var newFilter = __assign({}, this.currentFilter);\n\n var filters = __spreadArrays(this.currentFilter.filters) || [];\n var fieldFilters = [];\n\n if (this.compositeFilterIndex !== -1 && newFilter.filters[this.compositeFilterIndex].filters && value !== 'all') {\n fieldFilters = newFilter.filters[this.compositeFilterIndex].filters;\n }\n\n if (e.value && value === 'all') {\n this.currentData.forEach(function (item) {\n fieldFilters.push({\n field: field,\n operator: 'eq',\n value: item\n });\n });\n } else if (e.value) {\n fieldFilters.push({\n field: field,\n operator: 'eq',\n value: value\n });\n } else if (this.currentFilter) {\n var index = fieldFilters.findIndex(function (filter) {\n return filter.value === value;\n });\n fieldFilters.splice(index, 1);\n }\n\n newFilter.logic = 'and';\n\n if (this.compositeFilterIndex !== -1) {\n filters[this.compositeFilterIndex] = {\n logic: 'or',\n filters: fieldFilters\n };\n } else {\n filters.push({\n logic: 'or',\n filters: fieldFilters\n });\n }\n\n if (!e.value && value === 'all' || fieldFilters.length === 0) {\n filters.splice(this.compositeFilterIndex, 1);\n }\n\n newFilter.filters = filters;\n this.currentFilter = newFilter;\n },\n isAllSelected: function isAllSelected() {\n var _this = this;\n\n var isAllChecked = false;\n\n if (this.currentFilter) {\n var filters_1 = __spreadArrays(this.currentFilter.filters);\n\n if (this.compositeFilterIndex === -1) {\n return false;\n }\n\n isAllChecked = this.currentData.every(function (item) {\n if (_this.compositeFilterIndex !== -1 && filters_1[_this.compositeFilterIndex].filters) {\n var index = filters_1[_this.compositeFilterIndex].filters.findIndex(function (filter) {\n return filter.value === item;\n });\n\n return index >= 0;\n }\n\n return false;\n });\n return isAllChecked;\n }\n\n return isAllChecked;\n }\n }\n};\nvar GridColumnMenuCheckboxFilterVue3 = GridColumnMenuCheckboxFilter;\nexport { GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * The detail-row class of the native Vue Grid by Kendo UI. Defines custom\n * details for each row. Can be applied for building the hierarchy. If `expandField` is\n * set, depending on the current data item and its `expandField` value,\n * the details for each row will be visible or hidden.\n */\n\n/**\n * @hidden\n */\n\nvar GridDetailRow = {\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return null;\n }\n};\nvar GridDetailRowVue3 = GridDetailRow;\nexport { GridDetailRow, GridDetailRowVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the GridToolbar component.\n *\n * @example\n * ```tsx-no-run\n *
\n * \n * \n * \n * \n * \n * \n *
\n * \n * ```\n */\n\n/**\n * Represents the default `GridToolbar` component.\n */\n\nvar GridToolbar = {\n name: 'GridToolbar',\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": \"k-toolbar k-grid-toolbar\"\n }, [defaultSlot]);\n }\n};\nvar GridToolbarVue3 = GridToolbar;\nexport { GridToolbar, GridToolbarVue3 };","import { Grid, GridVue3 } from './Grid';\nimport { GridColumnMenuSort, GridColumnMenuSortVue3, sortGroupByField } from './columnMenu/GridColumnMenuSort';\nimport { GridColumnMenuFilter, GridColumnMenuFilterVue3, filterGroupByField } from './columnMenu/GridColumnMenuFilter';\nimport { GridColumnMenuFilterUI, GridColumnMenuFilterUIVue3 } from './columnMenu/GridColumnMenuFilterUI';\nimport { GridColumnMenuFilterCell, GridColumnMenuFilterCellVue3 } from './columnMenu/GridColumnMenuFilterCell';\nimport { GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue3 } from './columnMenu/GridColumnMenuCheckboxFilter';\nimport { GridCell, GridCellVue3 } from './cells/GridCell';\nimport { GridEditCell, GridEditCellVue3 } from './cells/GridEditCell';\nimport { GridGroupCell, GridGroupCellVue3 } from './cells/GridGroupCell';\nimport { GridHierarchyCell, GridHierarchyCellVue3 } from './cells/GridHierarchyCell';\nimport { GridFilterCell, GridFilterCellVue3 } from './cells/GridFilterCell';\nimport { GridHeaderCell, GridHeaderCellVue3 } from './header/GridHeaderCell';\nimport { Footer, FooterVue3 } from './footer/Footer';\nimport { FooterRow, FooterRowVue3 } from './footer/FooterRow';\nimport { GridDetailRow, GridDetailRowVue3 } from './rows/GridDetailRow';\nimport { GridRow, GridRowVue3 } from './rows/GridRow';\nimport { GridToolbar, GridToolbarVue3 } from './GridToolbar';\nimport { GridNoRecords, GridNoRecordsVue3 } from './GridNoRecords';\nimport { GridColumnMenuItem, GridColumnMenuItemVue3 } from './columnMenu/GridColumnMenuItem';\nimport { GridColumnMenuItemContent, GridColumnMenuItemContentVue3 } from './columnMenu/GridColumnMenuItemContent';\nimport { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue3 } from './columnMenu/GridColumnMenuItemGroup';\nexport { Grid, GridVue3, GridCell, GridCellVue3, GridEditCell, GridEditCellVue3, GridGroupCell, GridHierarchyCell, GridGroupCellVue3, GridHierarchyCellVue3, GridDetailRow, GridDetailRowVue3, GridRow, GridRowVue3, GridFilterCell, GridFilterCellVue3, GridHeaderCell, GridHeaderCellVue3, Footer, FooterRow, FooterVue3, FooterRowVue3, GridColumnMenuSort, GridColumnMenuSortVue3, sortGroupByField, GridColumnMenuFilter, GridColumnMenuFilterVue3, filterGroupByField, GridColumnMenuItem, GridColumnMenuItemVue3, GridColumnMenuItemContent, GridColumnMenuItemContentVue3, GridColumnMenuItemGroup, GridColumnMenuItemGroupVue3, GridColumnMenuFilterUI, GridColumnMenuFilterUIVue3, GridColumnMenuFilterCell, GridColumnMenuFilterCellVue3, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue3, GridToolbar, GridToolbarVue3, GridNoRecords, GridNoRecordsVue3 };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-grid', Grid);\n window[vue].component('kendo-grid-toolbar', GridToolbar);\n window[vue].component('kendo-grid-norecords', GridNoRecords);\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.sortable)?_c('GridColumnMenuSort',{attrs:{\"column\":_vm.column,\"sortable\":_vm.sortable,\"sort\":_vm.sort},on:{\"closemenu\":_vm.closeMenu,\"sortchange\":_vm.sortChange}}):_vm._e(),_c('GridColumnMenuItemGroup',[_c('GridColumnMenuItem',{attrs:{\"title\":'Ocultar/Mostrar columnas',\"icon-class\":'k-i-columns'},on:{\"menuitemclick\":_vm.onMenuItemClick}}),_c('GridColumnMenuItemContent',{attrs:{\"show\":_vm.columnsExpanded}},[_c('div',{staticClass:\"k-column-list-wrapper\"},[_c('form',{on:{\"submit\":_vm.onSubmit,\"reset\":_vm.onReset}},[_c('div',{staticClass:\"k-column-list\"},_vm._l((_vm.currentColumns),function(column,idx){return _c('div',{key:idx,staticClass:\"k-column-list-item\"},[_c('span',[_c('input',{class:'k-checkbox',attrs:{\"id\":'column-visiblity-show-' + idx,\"type\":'checkbox',\"readOnly\":true,\"disabled\":!column.hidden && _vm.oneVisibleColumn},domProps:{\"checked\":!column.hidden},on:{\"click\":function($event){return _vm.onToggleColumn(idx)}}}),_c('label',{class:'k-checkbox-label',style:({ userSelect: 'none' }),attrs:{\"for\":'column-visiblity-show-' + idx}},[_vm._v(\" \"+_vm._s(column.title)+\" \")])])])}),0),_c('div',{staticClass:\"k-columnmenu-actions\"},[_c('button',{staticClass:\"k-button\",attrs:{\"aria-label\":\"Mostrar todas las columnas\",\"type\":\"reset\"}},[_vm._v(\"Mostrar todo\")]),_c('button',{staticClass:\"k-button k-primary\",attrs:{\"aria-label\":\"Guardar configuración de columnas\"}},[_vm._v(\"Guardar\")])])])])])],1),_c('GridColumnMenuItem',{attrs:{\"title\":'Bloquear/Desbloquear columna',\"icon-class\":'k-i-columns'},on:{\"menuitemclick\":function($event){return _vm.lockUnlockColum(_vm.column)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ColumnMenu.vue?vue&type=template&id=6a05257c&\"\nimport script from \"./ColumnMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./ColumnMenu.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","const esMessages = {\r\n datepicker: {\r\n toggleCalendar: 'Alternar calendario'\r\n },\r\n calendar: {\r\n today: 'Hoy'\r\n },\r\n dateinput: {\r\n increment: 'Incrementar valor',\r\n decrement: 'Disminuir valor'\r\n },\r\n numerictextbox: {\r\n increment: 'Incrementar valor',\r\n decrement: 'Disminuir valor'\r\n },\r\n grid: {\r\n groupPanelEmpty: 'Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio',\r\n noRecords: 'No hay datos disponibles.',\r\n pagerFirstPage: 'Ir a la primera página',\r\n pagerPreviousPage: 'Ir a la página anterior',\r\n pagerNextPage: 'Ir a la página siguiente',\r\n pagerLastPage: 'Ir a la última página',\r\n pagerPage: 'Página',\r\n pagerOf: 'de',\r\n pagerItems: 'ítems',\r\n pagerInfo: '{0} - {1} de {2} ítems',\r\n pagerItemsPerPage: 'ítems por página',\r\n filterEqOperator: 'Es igual a',\r\n filterNotEqOperator: 'No es igual a',\r\n filterIsNullOperator: 'Es nulo',\r\n filterIsNotNullOperator: 'No es nulo',\r\n filterIsEmptyOperator: 'Está vacío',\r\n filterIsNotEmptyOperator: 'No está vacío',\r\n filterStartsWithOperator: 'Comienza con',\r\n filterContainsOperator: 'Contiene',\r\n filterNotContainsOperator: 'No contiene',\r\n filterEndsWithOperator: 'Termina en',\r\n filterGteOperator: 'Es mayor o igual que',\r\n filterGtOperator: 'Es mayor que',\r\n filterLteOperator: 'Es menor o igual que',\r\n filterLtOperator: 'Es menor o igual que',\r\n filterIsTrue: 'Sí',\r\n filterIsFalse: 'No',\r\n filterBooleanAll: '(Todas)',\r\n filterAfterOrEqualOperator: 'Es posterior o igual a',\r\n filterAfterOperator: 'Es posterior',\r\n filterBeforeOperator: 'Es anterior',\r\n filterBeforeOrEqualOperator: 'Es anterior o igual a',\r\n filterFilterButton: 'Filtrar',\r\n filterClearButton: 'Limpiar filtros',\r\n filterAndLogic: 'Y',\r\n filterOrLogic: 'O',\r\n sortAscending: 'Ordenar ascendente',\r\n sortDescending: 'Ordenar descendente',\r\n lock: 'alñsdjflñaskdjflñasdjf'\r\n }\r\n}\r\nexport {\r\n esMessages\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',_vm._b({attrs:{\"colspan\":\"1\",\"role\":\"gridcell\"},on:{\"mouseleave\":_vm.onCellFocusOut}},'td',_vm.$attrs,false),[_c('div',[_c('button',{ref:\"button\",staticClass:\"my-button\",attrs:{\"aria-label\":\"Detalle\"},on:{\"click\":_vm.onClickAction}},[_vm._v(_vm._s(_vm.buttonName))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionCell.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionCell.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionCell.vue?vue&type=template&id=5832b6e2&scoped=true&\"\nimport script from \"./ActionCell.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionCell.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActionCell.vue?vue&type=style&index=0&id=5832b6e2&scoped=true&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 \"5832b6e2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{staticClass:\"text-center\",class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('input',{staticClass:\"k-checkbox\",attrs:{\"type\":\"checkbox\",\"disabled\":true,\"aria-label\":_vm.field},domProps:{\"checked\":_vm.getNestedValue(_vm.field, _vm.dataItem)}})]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CheckboxTemplate.vue?vue&type=template&id=23b8459c&scoped=true&\"\nimport script from \"./CheckboxTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxTemplate.vue?vue&type=style&index=0&id=23b8459c&scoped=true&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 \"23b8459c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{staticClass:\"text-center\",class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_vm._v(\" \"+_vm._s(_vm.formatDate(_vm.getNestedValue(_vm.field, _vm.dataItem)))+\" \")]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FechaTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FechaTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FechaTemplate.vue?vue&type=template&id=6001de80&scoped=true&\"\nimport script from \"./FechaTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./FechaTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FechaTemplate.vue?vue&type=style&index=0&id=6001de80&scoped=true&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 \"6001de80\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('div',{staticClass:\"flex flex-wrap\"},_vm._l((_vm.getNestedValue(_vm.field, _vm.dataItem)),function(tag){return _c('span',{key:tag,staticClass:\"rounded-full mr-1 mb-1 pl-1 pr-1 bg-primary-50 dark:bg-darkblue text-primary-800 dark:text-primary-600 border-2 tag-cell\"},[_vm._v(\" \"+_vm._s(tag)+\" \")])}),0)]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TagsTemplate.vue?vue&type=template&id=14df2b66&scoped=true&\"\nimport script from \"./TagsTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./TagsTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TagsTemplate.vue?vue&type=style&index=0&id=14df2b66&scoped=true&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 \"14df2b66\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[(this.dataItem.URLRecibo)?_c('button',{staticClass:\"rounded-full pl-1 pr-2 bg-primary-50 dark:bg-darkblue text-primary-800 dark:text-primary-600 border-2 hover:text-primary-500 dark:hover:text-primary\",attrs:{\"aria-label\":_vm.field},on:{\"click\":function($event){return _vm.goToUrl()}}},[_vm._v(\" Enlace externo \"),_c('base-icon',{attrs:{\"name\":\"fullscreen\",\"size\":\"xs\"}})],1):_vm._e()]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UrlTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UrlTemplate.vue?vue&type=template&id=5c5c01f0&scoped=true&\"\nimport script from \"./UrlTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./UrlTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UrlTemplate.vue?vue&type=style&index=0&id=5c5c01f0&scoped=true&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 \"5c5c01f0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('div',_vm._l((_vm.getNestedValue(_vm.field, _vm.dataItem)),function(item,index){return _c('div',{key:index,staticClass:\"rounded-full mr-1 mb-1 pl-1 pr-1 \"},[_vm._v(\" \"+_vm._s(index + 1)+\". \"+_vm._s(item)+\" \")])}),0)]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ListTemplate.vue?vue&type=template&id=e29b263e&\"\nimport script from \"./ListTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./ListTemplate.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.renderCell)?_c('td',{class:_vm.className,attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('div',{staticClass:\"flex flex-wrap\"},[_c('groups-tags',{attrs:{\"Grupos\":_vm.getNestedValue(_vm.field, _vm.dataItem)}})],1)]):(_vm.renderArrow)?_c('td',{key:\"'g' + columnIndex\",class:'k-group-cell',attrs:{\"colspan\":\"1\",\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}}):(_vm.columnIndex <= _vm.level)?_c('td',{key:\"g-colspan\",attrs:{\"colSpan\":_vm.columnsCount - _vm.columnIndex,\"data-grid-col-index\":_vm.columnIndex,\"role\":\"gridcell\"}},[_c('p',{staticClass:\"k-reset\"},[_c('a',{class:_vm.expanded ? 'k-i-collapse k-icon' : 'k-i-expand k-icon',attrs:{\"tabIndex\":\"-1\",\"href\":\"#\"},on:{\"click\":_vm.onClick}}),_vm._v(\" \"+_vm._s(_vm.dataItem[_vm.field])+\" \")])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupsTemplate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupsTemplate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupsTemplate.vue?vue&type=template&id=9e822322&scoped=true&\"\nimport script from \"./GroupsTemplate.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupsTemplate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupsTemplate.vue?vue&type=style&index=0&id=9e822322&scoped=true&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 \"9e822322\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('grid',{attrs:{\"data-items\":_vm.result,\"columns\":_vm.columns}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailComponent.vue?vue&type=template&id=48733a17&\"\nimport script from \"./DetailComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailComponent.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"," \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KendoGridComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KendoGridComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KendoGridComponent.vue?vue&type=template&id=7c12ea9a&\"\nimport script from \"./KendoGridComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./KendoGridComponent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KendoGridComponent.vue?vue&type=style&index=0&lang=scss&\"\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","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { messages, pagerOf, pagerPage, pagerTotalPages } from './../messages';\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * Represents the default `PagerInput` component.\n */\n\nvar PagerInput = {\n name: 'KendoPagerInput',\n props: {\n totalPages: Number,\n currentPage: Number,\n messagesMap: Function\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n changeHangler: function changeHangler(e) {\n var text = this._text = e.target.value.replace(/\\D/g, '');\n this.$forceUpdate();\n\n if (text) {\n this.$emit('pagechange', parseInt(text, 10), e);\n }\n },\n blurHandler: function blurHandler() {\n this.$forceUpdate();\n },\n value: function value() {\n var value = this._text === undefined ? this.$props.currentPage.toString() : this._text;\n this._text = undefined;\n return value;\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var intlService = provideIntlService(this);\n var localizationService = provideLocalizationService(this);\n var pageMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerPage) : {\n messageKey: pagerPage,\n defaultMessage: messages[pagerPage]\n };\n var ofMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerOf) : {\n messageKey: pagerOf,\n defaultMessage: messages[pagerOf]\n };\n var totalPagesMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerTotalPages) : {\n messageKey: pagerTotalPages,\n defaultMessage: messages[pagerTotalPages]\n };\n return h(\"span\", {\n \"class\": \"k-pager-input k-label\"\n }, [localizationService.toLanguageString(pageMessage.messageKey, pageMessage.defaultMessage), \" \", h(\"input\", {\n \"class\": \"k-textbox\",\n value: this.v3 ? this.value() : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.value()\n },\n onBlur: this.blurHandler,\n on: this.v3 ? undefined : {\n \"blur\": this.blurHandler,\n \"change\": this.changeHangler\n },\n onChange: this.changeHangler\n }), \" \", localizationService.toLanguageString(ofMessage.messageKey, ofMessage.defaultMessage) + \" \" + intlService.format(localizationService.toLanguageString(totalPagesMessage.messageKey, totalPagesMessage.defaultMessage), [this.$props.totalPages])]);\n }\n};\nvar PagerInputVue3 = PagerInput;\nexport { PagerInput, PagerInputVue3 };","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionCell.vue?vue&type=style&index=0&id=5832b6e2&scoped=true&lang=css&\"","/**\n * @hidden\n */\nexport var ResultType;\n(function (ResultType) {\n ResultType[ResultType[\"Literal\"] = 0] = \"Literal\";\n ResultType[ResultType[\"Mask\"] = 1] = \"Mask\";\n ResultType[ResultType[\"Undefined\"] = 2] = \"Undefined\";\n})(ResultType || (ResultType = {}));\n/**\n * @hidden\n */\nvar Result = /** @class */ (function () {\n function Result(value, rest, type) {\n if (type === void 0) { type = ResultType.Undefined; }\n this.value = value;\n this.rest = rest;\n this.type = type;\n }\n // map :: Functor f => f a ~> (a -> b) -> f b\n Result.prototype.map = function (fn) {\n return new Result(fn(this.value), this.rest);\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Result.prototype.chain = function (fn) {\n return fn(this.value, this.rest);\n };\n Result.prototype.fold = function (s, _ /*we don't need it*/) {\n return s(this.value, this.rest);\n };\n Result.prototype.concat = function (r) {\n return this.map(function (vs, _) { return r.chain(function (v, __) { return vs.concat([v]); }); });\n };\n Result.prototype.toString = function () {\n return \"Result({ value: '\" + this.value + \"', rest: \" + this.rest + \" })\";\n };\n return Result;\n}());\nexport { Result };\n","/**\n * @hidden\n */\nvar Stream = /** @class */ (function () {\n function Stream(input, control) {\n if (input === void 0) { input = []; }\n if (control === void 0) { control = []; }\n this.input = input;\n this.control = control;\n this.inputCursor = 0;\n this.controlCursor = 0;\n }\n Stream.prototype.eof = function () {\n return this.inputCursor >= this.input.length;\n };\n // Get the first value from the input.\n Stream.prototype.next = function () {\n return {\n char: this.input[this.inputCursor++],\n control: this.control[this.controlCursor++]\n };\n };\n Stream.prototype.peek = function () {\n return {\n char: this.input[this.inputCursor],\n control: this.control[this.controlCursor]\n };\n };\n Stream.prototype.eat_input = function () {\n this.inputCursor++;\n };\n Stream.prototype.eat_control = function () {\n this.controlCursor++;\n };\n Stream.prototype.eat = function () {\n this.inputCursor++;\n this.controlCursor++;\n };\n return Stream;\n}());\nexport { Stream };\n","import { Result, ResultType } from './result';\nimport { Stream } from './stream';\nvar toArray = function (value) { return (value || '').split(''); };\nvar ESCAPE_CHARACTER = '\\\\';\n/**\n * @hidden\n */\nvar Parser = /** @class */ (function () {\n function Parser(parse) {\n this.parse = parse;\n }\n Parser.prototype.run = function (input, control) {\n if (control === void 0) { control = ''; }\n if (input instanceof Stream) {\n return this.parse(input);\n }\n else {\n return this.parse(new Stream(toArray(input), toArray(control)));\n }\n };\n // map :: Functor f => f a ~> (a -> b) -> f b\n Parser.prototype.map = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).map(f); });\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Parser.prototype.chain = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).chain(function (v, s) { return f(v).run(s); }); });\n };\n Parser.prototype.isLiteral = function (c) {\n return this.run(c).type === ResultType.Literal;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * @hidden\n */\nexport var mask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === control && control === prompt) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream, ResultType.Mask);\n }\n if (char === promptPlaceholder) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }); };\n};\n/**\n * @hidden\n */\nexport var literal = function (_token) { return new Parser(function (stream) {\n // let {char, control} = stream.peek();\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n return new Result(_token, stream, ResultType.Literal);\n }\n // if (control === _token) {\n // while (!stream.eof() && char !== _token) {\n // stream.eat_input();\n // char = stream.peek().char;\n // }\n // }\n //\n // if (control !== undefined) {\n // stream.eat();\n // }\n return new Result(_token, stream, ResultType.Literal);\n}); };\n/**\n * @hidden\n */\nexport var unmask = function (prompt) { return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === prompt && control === prompt) {\n stream.eat();\n return new Result(char, stream);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result('', stream);\n}); }; };\n/**\n * @hidden\n */\nexport var unliteral = function (_token) { return new Parser(function (stream) {\n if (stream.eof()) {\n return new Result('', stream);\n }\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n }\n return new Result(_token, stream);\n}); };\n/**\n * @hidden\n */\nexport var token = function (rules, creator) { return new Parser(function (stream) {\n var char = stream.next().char;\n var rule = rules[char];\n if (char === ESCAPE_CHARACTER) {\n char = stream.next().char;\n return new Result(creator.literal(char), stream);\n }\n if (!rule) {\n return new Result(creator.literal(char), stream);\n }\n return new Result(creator.mask(rule), stream);\n}); };\n/**\n * @hidden\n */\nexport var rawMask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return new Parser(function (stream) {\n var char = stream.next().char;\n if (char === prompt) {\n return new Result(promptPlaceholder, stream);\n }\n return new Result(char, stream);\n });\n};\n/**\n * @hidden\n */\nexport var rawLiteral = function (includeLiterals) { return new Parser(function (stream) {\n var char = stream.next().char;\n if (includeLiterals) {\n return new Result(char, stream);\n }\n return new Result('', stream);\n}); };\n","import { Parser } from './parsers';\nimport { Result } from './result';\n/**\n * @hidden\n */\nvar always = function (value) { return new Parser(function (stream) { return new Result(value, stream); }); };\n/**\n * @hidden\n */\nvar append = function (p1, p2) { return p1.chain(function (vs) { return p2.map(function (v) { return vs.concat([v]); }); }); };\n/**\n * @hidden\n */\nexport var sequence = function (list) { return list.reduce(function (acc, parser) { return append(acc, parser); }, always([])); };\n/**\n * @hidden\n */\nexport var greedy = function (parser) { return new Parser(function (stream) {\n var result = new Result([], stream);\n while (!stream.eof()) {\n result = result.concat(parser.run(stream));\n }\n return result;\n}); };\n","import { greedy, sequence } from './parsing/combinators';\nimport { literal, mask as maskParser, rawLiteral, rawMask, token, unliteral, unmask } from './parsing/parsers';\n/**\n * @hidden\n */\nvar MaskingService = /** @class */ (function () {\n function MaskingService() {\n this.rules = {};\n this.prompt = '_';\n this.mask = '';\n this.promptPlaceholder = ' ';\n this.includeLiterals = false;\n this.maskTokens = [];\n this.unmaskTokens = [];\n this.rawTokens = [];\n this.validationTokens = [];\n }\n MaskingService.prototype.update = function (_a) {\n var _b = _a.mask, mask = _b === void 0 ? '' : _b, _c = _a.prompt, prompt = _c === void 0 ? '' : _c, _d = _a.promptPlaceholder, promptPlaceholder = _d === void 0 ? ' ' : _d, _e = _a.rules, rules = _e === void 0 ? {} : _e, _f = _a.includeLiterals, includeLiterals = _f === void 0 ? false : _f;\n this.mask = mask;\n this.prompt = prompt;\n this.promptPlaceholder = promptPlaceholder;\n this.rules = rules;\n this.includeLiterals = includeLiterals;\n this.tokenize();\n };\n MaskingService.prototype.validationValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n sequence(this.validationTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n MaskingService.prototype.rawValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n if (!this.rawTokens.length) {\n return value;\n }\n sequence(this.rawTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n /**\n * @hidden\n */\n MaskingService.prototype.maskRaw = function (rawValue) {\n if (rawValue === void 0) { rawValue = ''; }\n var value = rawValue;\n if (!this.maskTokens.length) {\n return value;\n }\n sequence(this.maskTokens)\n .run(rawValue)\n .fold(function (masked) {\n value = masked.join('');\n });\n return value;\n };\n MaskingService.prototype.maskInput = function (input, control, splitPoint) {\n if (input.length < control.length) {\n return this.maskRemoved(input, control, splitPoint);\n }\n return this.maskInserted(input, control, splitPoint);\n };\n MaskingService.prototype.maskInRange = function (pasted, oldValue, start, end) {\n var value = '';\n var selection = end;\n var beforeChange = oldValue.split('').slice(0, start);\n var afterChange = oldValue.split('').slice(end);\n sequence(this.maskTokens.slice(start, end))\n .run(pasted)\n .fold(function (masked) {\n value = beforeChange\n .concat(masked)\n .concat(afterChange)\n .join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.maskRemoved = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var unchanged = input.split('').slice(splitPoint);\n var changed = input.split('').slice(0, splitPoint).join('');\n var take = this.maskTokens.length - (input.length - splitPoint);\n sequence(this.maskTokens.slice(0, take))\n .run(changed, control)\n .fold(function (masked) {\n selection = _this.adjustPosition(masked, selection);\n value = masked.concat(unchanged).join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.adjustPosition = function (input, selection) {\n var caretChar = input[selection];\n var isLiteral = this.maskTokens[selection].isLiteral(caretChar);\n if (!isLiteral && caretChar !== this.prompt) {\n return selection + 1;\n }\n return selection;\n };\n MaskingService.prototype.maskInserted = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var changed = input.slice(0, splitPoint);\n sequence(this.unmaskTokens)\n .run(changed, control)\n .chain(function (unmasked) {\n selection = unmasked.join('').length;\n var unchanged = control.slice(selection);\n return sequence(_this.maskTokens)\n .run(unmasked.join('') + unchanged, control);\n })\n .fold(function (masked) {\n value = masked.join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n Object.defineProperty(MaskingService.prototype, \"maskTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return {\n literal: function (rule) { return literal(rule); },\n mask: function (rule) { return maskParser({ prompt: prompt, promptPlaceholder: promptPlaceholder })(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"unmaskTokenCreator\", {\n get: function () {\n var _this = this;\n return {\n literal: function (rule) { return unliteral(rule); },\n mask: function (rule) { return unmask(_this.prompt)(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"rawTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder, includeLiterals = _a.includeLiterals;\n return {\n literal: function (_) { return rawLiteral(includeLiterals); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: promptPlaceholder }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"validationTokenCreator\", {\n get: function () {\n var prompt = this.prompt;\n return {\n literal: function (_) { return rawLiteral(false); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: '' }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n MaskingService.prototype.tokenize = function () {\n var _this = this;\n greedy(token(this.rules, this.maskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.maskTokens = tokens;\n });\n greedy(token(this.rules, this.unmaskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.unmaskTokens = tokens;\n });\n greedy(token(this.rules, this.rawTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.rawTokens = tokens;\n });\n greedy(token(this.rules, this.validationTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.validationTokens = tokens;\n });\n };\n return MaskingService;\n}());\nexport { MaskingService };\n","/**\n * @hidden\n */\nvar defaultRules = {\n '#': /[\\d\\s\\+\\-]/,\n '&': /[\\S]/,\n '0': /[\\d]/,\n '9': /[\\d\\s]/,\n '?': /[a-zA-Z\\s]/,\n 'A': /[a-zA-Z0-9]/,\n 'C': /./,\n 'L': /[a-zA-Z]/,\n 'a': /[a-zA-Z0-9\\s]/\n};\n/**\n * @hidden\n */\nvar returnFalse = function () { return false; };\n/**\n * @hidden\n */\nvar maskingChanged = function (prev, next) {\n return prev.includeLiterals !== next.includeLiterals ||\n prev.mask !== next.mask ||\n prev.prompt !== next.prompt ||\n prev.promptPlaceholder !== next.promptPlaceholder ||\n !sameRules(prev.rules, next.rules);\n};\n/**\n * @hidden\n */\nvar sameRules = function (rules1, rules2) {\n if (!!rules1 !== !!rules2) {\n return false;\n }\n if (rules1 === rules2 || (!rules1 || !rules2)) {\n return true;\n }\n var same = true;\n for (var key in rules1) {\n if (rules1[key] !== rules2[key]) {\n same = false;\n break;\n }\n }\n if (same) {\n for (var key in rules2) {\n if (!rules1.hasOwnProperty(key)) {\n same = false;\n break;\n }\n }\n }\n return same;\n};\nexport { defaultRules, maskingChanged, returnFalse };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { MaskingService } from './masking.service';\nimport { defaultRules, maskingChanged, returnFalse } from './utils';\nimport { guid, classNames, getTabIndex, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * Represents the default `MaskedTextBox` component.\n */\n\nvar MaskedTextBox = {\n model: {\n event: 'changemodel'\n },\n props: {\n modelValue: String,\n modelRawValue: String,\n value: String,\n defaultValue: String,\n placeholder: String,\n title: String,\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n readonly: Boolean,\n prompt: {\n type: String,\n default: '_'\n },\n promptPlaceholder: {\n type: String,\n default: ' '\n },\n includeLiterals: {\n type: Boolean,\n default: false\n },\n maskValidation: {\n type: Boolean,\n default: true\n },\n mask: String,\n rules: {\n type: Object,\n default: function _default() {\n return defaultRules;\n }\n },\n selection: Object,\n name: String,\n label: String,\n validationMessage: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n inputValue: undefined,\n currentSelection: [null, null]\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.hasMounted = false;\n this.valueDuringOnChange = undefined;\n this.inputId = \"k-\" + guid();\n this.service = new MaskingService();\n this.isPasted = false;\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true; // @ts-ignore\n\n this.element = this.input = this.v3 ? this.inputRef : this.$refs.input;\n this.updateService();\n this.setValidity();\n },\n watch: {\n currentFocused: function currentFocused(_, oldValue) {\n this.prevCurrentFocused = oldValue;\n },\n selection: function selection(_, oldValue) {\n this.prevSelection = oldValue;\n },\n includeLiterals: function includeLiterals(_, oldValue) {\n this.prevIncludeLiterals = oldValue;\n },\n mask: function mask(_, oldValue) {\n this.prevMask = oldValue;\n },\n prompt: function prompt(_, oldValue) {\n this.prevPrompt = oldValue;\n },\n promptPlaceholder: function promptPlaceholder(_, oldValue) {\n this.prevPromptPlaceholder = oldValue;\n },\n rules: function rules(_, oldValue) {\n this.prevRules = oldValue;\n }\n },\n updated: function updated() {\n if (this.element && this.currentFocused) {\n // && this.prevCurrentFocused\n var _a = this.currentSelection,\n start = _a[0],\n end = _a[1];\n var prevSelection = this.prevSelection;\n var nextSelection = this.$props.selection;\n\n if (!prevSelection && nextSelection || prevSelection && nextSelection && (prevSelection.start !== nextSelection.start || prevSelection.end !== nextSelection.end)) {\n start = nextSelection.start;\n end = nextSelection.end;\n }\n\n if (start !== null && end !== null) {\n this.element.setSelectionRange(start, end);\n }\n }\n\n var prevProps = {\n includeLiterals: this.prevIncludeLiterals,\n mask: this.prevMask,\n prompt: this.prevPrompt,\n promptPlaceholder: this.prevPromptPlaceholder,\n rules: this.prevRules\n };\n\n if (maskingChanged(prevProps, this.$props)) {\n this.updateService();\n }\n\n this.setValidity();\n },\n computed: {\n computedRules: {\n get: function get() {\n return Object.assign({}, defaultRules, this.$props.rules);\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !this.computedValue(),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n methods: {\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n\n return value || '';\n },\n rawValue: function rawValue() {\n return this.service.rawValue(this.computedValue());\n },\n validity: function validity() {\n var maskedValue = this.computedValue();\n var value = this.service.validationValue(maskedValue);\n var customError = this.$props.validationMessage !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : (!this.$props.required || !!value) && (!this.$props.maskValidation || !this.$props.prompt || maskedValue.indexOf(this.$props.prompt) === -1);\n return {\n customError: customError,\n valid: valid,\n valueMissing: !value\n };\n },\n pasteHandler: function pasteHandler(event) {\n var _a = event.target,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n\n if (selectionEnd === selectionStart) {\n return;\n }\n\n this.isPasted = true;\n this.currentSelection = [selectionStart || 0, selectionEnd || 0];\n },\n onChangeHandler: function onChangeHandler(event) {\n var input = event.currentTarget;\n var value = this.inputValue = input.value;\n var start = this.currentSelection[0] || 0;\n var end = this.currentSelection[1] || 0;\n\n if (!this.$props.mask) {\n this.isPasted = false;\n this.currentSelection = [null, null];\n this.triggerOnChange(value, event);\n return;\n }\n\n var maskedValue = this.computedValue();\n var result;\n\n if (this.isPasted) {\n this.isPasted = false;\n var rightPart = maskedValue.length - end;\n var to = value.length - rightPart;\n result = this.service.maskInRange(value.slice(start, to), maskedValue, start, end);\n } else {\n result = this.service.maskInput(value, maskedValue, input.selectionStart || 0);\n }\n\n this.currentSelection = [result.selection, result.selection];\n this.triggerOnChange(result.value, event);\n this.inputValue = undefined;\n },\n focusHandler: function focusHandler(event) {\n if (!this.currentFocused) {\n this.currentFocused = true;\n this.$emit('focus', {\n target: this,\n event: event\n });\n }\n },\n blurHandler: function blurHandler(event) {\n if (this.currentFocused) {\n this.currentFocused = false;\n this.$emit('blur', {\n target: this,\n event: event\n });\n }\n },\n triggerOnChange: function triggerOnChange(maskedValue, event) {\n this.currentValue = maskedValue;\n this.valueDuringOnChange = maskedValue;\n this.$emit('change', {\n event: event,\n selectionStart: this.currentSelection[0],\n selectionEnd: this.currentSelection[1],\n value: this.computedValue(),\n component: this,\n target: {\n name: this.$props.name,\n value: this.computedValue(),\n rawValue: this.rawValue()\n },\n validity: this.validity()\n });\n this.$emit('changemodel', this.computedValue());\n this.$emit('update:modelValue', this.computedValue());\n this.$emit('update:modelRawValue', this.rawValue());\n this.valueDuringOnChange = undefined;\n },\n updateService: function updateService(extra) {\n var config = Object.assign({\n includeLiterals: this.$props.includeLiterals,\n mask: this.$props.mask,\n prompt: this.$props.prompt,\n promptPlaceholder: this.$props.promptPlaceholder,\n rules: this.$props.rules\n }, extra); // tslint:disable-line:align\n\n this.service.update(config);\n },\n setValidity: function setValidity() {\n if (this.element) {\n this.element.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var inputId = this.$props.id || this.inputId;\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var newValue = this.computedValue();\n var inputValue = this.inputValue;\n var component = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": classNames('k-widget k-maskedtextbox', this.$props.className, {\n 'k-state-focused': this.currentFocused,\n 'k-state-disabled': this.$props.disabled,\n 'k-state-invalid': !isValid\n }),\n style: !this.$props.label ? {\n width: this.$props.width\n } : undefined\n }, [h(\"input\", {\n type: \"text\",\n attrs: this.v3 ? undefined : {\n type: \"text\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: false,\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n name: this.$props.name,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accessKey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder\n },\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\",\n spellCheck: false,\n \"class\": \"k-textbox\",\n value: this.v3 ? newValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": newValue\n },\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n name: this.$props.name,\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accessKey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n onInput: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"input\": this.onChangeHandler,\n \"paste\": this.pasteHandler,\n \"focus\": this.focusHandler,\n \"blur\": this.blurHandler,\n \"dragStart\": returnFalse,\n \"drop\": returnFalse\n },\n onPaste: this.pasteHandler,\n onFocus: this.focusHandler,\n onBlur: this.blurHandler,\n onDragStart: returnFalse,\n onDrop: returnFalse\n })]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [component, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : component;\n }\n};\nvar MaskedTextBoxVue3 = MaskedTextBox;\nexport { MaskedTextBox, MaskedTextBoxVue3 };","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/**\n * @hidden\n */\nexport function tableColumnsVirtualization(args) {\n var enabled = args.enabled, _a = args.columns, columns = _a === void 0 ? [] : _a, tableViewPortWidth = args.tableViewPortWidth, scrollLeft = args.scrollLeft;\n var colSpans = columns.map(function () { return 1; });\n var hiddenColumns = columns.map(function () { return false; });\n if (!enabled) {\n return { colSpans: colSpans, hiddenColumns: hiddenColumns };\n }\n var widths = columns.map(function (c) { return parseFloat((c.width || '').toString()) || 10; });\n var widthOfHiddenColumns = 0;\n for (var i = 0; i < columns.length; i++) {\n if (columns[i].locked) {\n continue;\n }\n var considerNext = (i < widths.length - 1) ? widths[i + 1] : 0;\n if (widthOfHiddenColumns + widths[i] + considerNext < scrollLeft) {\n hiddenColumns[i] = true;\n widthOfHiddenColumns += widths[i];\n }\n else {\n break;\n }\n }\n var totalWidth = widths.reduce(function (acc, current) { return acc + current; }, 0);\n widthOfHiddenColumns = 0;\n for (var i = columns.length - 1; i >= 0; i--) {\n if (columns[i].locked) {\n continue;\n }\n if (widthOfHiddenColumns + 2 * widths[i] < totalWidth - tableViewPortWidth - scrollLeft) {\n hiddenColumns[i] = true;\n widthOfHiddenColumns += widths[i];\n }\n else {\n break;\n }\n }\n var hiddenCols = __spreadArrays(hiddenColumns);\n var hidden = function (value) { return value; };\n var lastVisible = hiddenCols.lastIndexOf(false);\n var anyHidden = hiddenCols.some(hidden);\n var allHidden = hiddenCols.every(hidden);\n var hiddenSeqLength;\n var updateIndex;\n while (anyHidden && hiddenCols.length && (lastVisible !== -1 || allHidden)) {\n if (lastVisible < hiddenCols.length - 1) {\n hiddenSeqLength = allHidden ? hiddenCols.length : hiddenCols.length - lastVisible - 1;\n updateIndex = hiddenCols.length - hiddenSeqLength;\n if (updateIndex === 0) {\n updateIndex = hiddenSeqLength - 1;\n }\n hiddenColumns[updateIndex] = false;\n colSpans[updateIndex] = hiddenSeqLength;\n hiddenCols.splice(lastVisible + 1, hiddenSeqLength);\n }\n while (hiddenCols.length && !hiddenCols[hiddenCols.length - 1]) {\n hiddenCols.pop();\n }\n lastVisible = hiddenCols.lastIndexOf(false);\n anyHidden = hiddenCols.some(hidden);\n allHidden = hiddenCols.every(hidden);\n }\n return { colSpans: colSpans, hiddenColumns: hiddenColumns };\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-inputs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1635492906,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupsTemplate.vue?vue&type=style&index=0&id=9e822322&scoped=true&lang=css&\"","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { NumericTextBox } from '@progress/kendo-vue-inputs'; // tslint:enable:max-line-length\n\nvar NumericFilter = {\n name: 'kendoNumericFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var filter = this.$props.filter;\n return (// @ts-ignore\n h(NumericTextBox, {\n value: typeof filter.value === 'number' ? filter.value : null,\n attrs: this.v3 ? undefined : {\n value: typeof filter.value === 'number' ? filter.value : null\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar NumericFilterVue3 = NumericFilter;\nexport { NumericFilter, NumericFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { PagerNumericButtons } from './PagerNumericButtons';\nimport { PagerInput } from './PagerInput';\nimport { PagerPageSizes } from './PagerPageSizes';\nimport { PagerInfo } from './PagerInfo';\nimport { PagerNavigationButton } from './PagerNavigationButton';\nimport { messages, pagerFirstPage, pagerLastPage, pagerNextPage, pagerPreviousPage } from '../messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { getListeners, getTemplate, hasListener, templateRendering } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nvar RESPONSIVE_BREAKPOINT_MEDIUM = 600;\n/**\n * @hidden\n */\n\nvar RESPONSIVE_BREAKPOINT_LARGE = 768;\n/**\n * Represents the default `Pager` component.\n */\n\nvar Pager = {\n name: 'KendoPager',\n props: {\n total: Number,\n skip: Number,\n take: Number,\n pageSize: Number,\n settings: [Object, Boolean],\n buttonCount: {\n type: Number,\n default: 10\n },\n info: {\n type: Boolean,\n default: true\n },\n type: {\n type: String,\n default: 'numeric',\n validator: function validator(value) {\n return ['numeric', 'input'].includes(value);\n }\n },\n pageSizes: {\n type: Array\n },\n previousNext: Boolean,\n messagesMap: Function,\n responsive: {\n type: Boolean,\n default: true\n },\n pagerRender: [String, Function, Object],\n width: [Number, String]\n },\n data: function data() {\n return {\n size: 'normal'\n };\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n this.onWindowResize();\n },\n updated: function updated() {\n this.onWindowResize();\n },\n destroyed: !!gh ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n computed: {\n wrapperClass: {\n get: function get() {\n return {\n 'k-pager-wrap k-pager k-widget': true,\n 'k-pager-sm': this.size === 'small',\n 'k-pager-md': this.size === 'medium'\n };\n }\n },\n totalPages: {\n get: function get() {\n return Math.ceil((this.$props.total || 0) / this.currentTake);\n }\n },\n currentPage: {\n get: function get() {\n return Math.floor((this.$props.skip || 0) / this.currentTake) + 1;\n }\n },\n currentTake: {\n get: function get() {\n return this.$props.take || this.$props.pageSize;\n }\n }\n },\n methods: {\n changePage: function changePage(page, e) {\n if (page > 0 && page <= this.totalPages) {\n this.$emit('pagechange', {\n skip: (page - 1) * this.currentTake,\n take: this.currentTake\n }, e);\n }\n },\n triggerPageChange: function triggerPageChange(e) {\n var pagesizechange = hasListener.call(this, 'pagesizechange');\n\n if (pagesizechange) {\n this.$emit('pagesizechange', e);\n } else {\n this.$emit('pagechange', e);\n }\n },\n onWindowResize: function onWindowResize() {\n var element = this.$el;\n\n if (!element || !this.$props.responsive || this.$props.settings.responsive === false) {\n return;\n }\n\n var width = element.offsetWidth;\n\n if (width < RESPONSIVE_BREAKPOINT_MEDIUM) {\n this.size = 'small';\n } else if (width >= RESPONSIVE_BREAKPOINT_MEDIUM && width < RESPONSIVE_BREAKPOINT_LARGE) {\n this.size = 'medium';\n } else {\n this.size = 'large';\n }\n },\n transformDimesion: function transformDimesion(initialValue) {\n return typeof initialValue === 'string' ? initialValue.endsWith('px') ? initialValue : initialValue + 'px' : initialValue + 'px';\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore \n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n skip = _a.skip,\n take = _a.take,\n total = _a.total,\n pageSizes = _a.pageSizes,\n buttonCount = _a.buttonCount,\n messagesMap = _a.messagesMap,\n info = _a.info,\n type = _a.type,\n previousNext = _a.previousNext;\n\n var settings = __assign({\n pageSizes: pageSizes,\n buttonCount: buttonCount,\n info: info,\n previousNext: previousNext,\n type: type,\n skip: skip,\n take: take,\n total: total,\n messagesMap: messagesMap\n }, this.$props.settings);\n\n var pagerRender = this.$props.pagerRender || this.$props.settings.pagerRender;\n var pagerRenderTemplate = pagerRender ? templateRendering.call(this, pagerRender, getListeners.call(this)) : null;\n var localizationService = provideLocalizationService(this);\n var firstPageMessage = messagesMap ? messagesMap(pagerFirstPage) : {\n messageKey: pagerFirstPage,\n defaultMessage: messages[pagerFirstPage]\n };\n var previousPageMessage = messagesMap ? messagesMap(pagerPreviousPage) : {\n messageKey: pagerPreviousPage,\n defaultMessage: messages[pagerPreviousPage]\n };\n var nextPageMessage = messagesMap ? messagesMap(pagerNextPage) : {\n messageKey: pagerNextPage,\n defaultMessage: messages[pagerNextPage]\n };\n var lastPageMessage = messagesMap ? messagesMap(pagerLastPage) : {\n messageKey: pagerLastPage,\n defaultMessage: messages[pagerLastPage]\n };\n var changer = settings.type === 'numeric' ? // @ts-ignore\n h(PagerNumericButtons, {\n size: this.size,\n attrs: this.v3 ? undefined : {\n size: this.size,\n buttonCount: settings.buttonCount || 0,\n totalPages: this.totalPages,\n currentPage: this.currentPage\n },\n buttonCount: settings.buttonCount || 0,\n totalPages: this.totalPages,\n currentPage: this.currentPage,\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n }) : // @ts-ignore\n h(PagerInput, {\n currentPage: this.currentPage,\n attrs: this.v3 ? undefined : {\n currentPage: this.currentPage,\n totalPages: this.totalPages,\n messagesMap: messagesMap\n },\n totalPages: this.totalPages,\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n },\n messagesMap: messagesMap\n });\n var first, prev, next, last;\n\n if (settings.previousNext) {\n first = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": 'k-pager-first' + (this.currentPage === 1 ? ' k-state-disabled' : ''),\n page: 1,\n attrs: this.v3 ? undefined : {\n page: 1,\n title: localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-w'\n },\n title: localizationService.toLanguageString(firstPageMessage.messageKey, firstPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-w',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n prev = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": this.currentPage === 1 ? ' k-state-disabled' : '',\n page: this.currentPage - 1,\n attrs: this.v3 ? undefined : {\n page: this.currentPage - 1,\n title: localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-w'\n },\n title: localizationService.toLanguageString(previousPageMessage.messageKey, previousPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-w',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n next = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": this.currentPage === this.totalPages ? ' k-state-disabled' : '',\n page: this.currentPage + 1,\n attrs: this.v3 ? undefined : {\n page: this.currentPage + 1,\n title: localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-e'\n },\n title: localizationService.toLanguageString(nextPageMessage.messageKey, nextPageMessage.defaultMessage),\n icon: 'k-icon k-i-arrow-e',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n last = // @ts-ignore function children\n h(PagerNavigationButton, {\n \"class\": 'k-pager-last' + (this.currentPage === this.totalPages ? ' k-state-disabled' : ''),\n page: this.totalPages,\n attrs: this.v3 ? undefined : {\n page: this.totalPages,\n title: localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-e'\n },\n title: localizationService.toLanguageString(lastPageMessage.messageKey, lastPageMessage.defaultMessage),\n icon: 'k-icon k-i-seek-e',\n onPagechange: this.changePage,\n on: this.v3 ? undefined : {\n \"pagechange\": this.changePage\n }\n });\n }\n\n var renderPageSizes = settings.pageSizes && // @ts-ignore function children\n h(PagerPageSizes, {\n onPagechange: this.triggerPageChange,\n on: this.v3 ? undefined : {\n \"pagechange\": this.triggerPageChange\n },\n pageSize: this.currentTake,\n attrs: this.v3 ? undefined : {\n pageSize: this.currentTake,\n pageSizes: settings.pageSizes,\n messagesMap: messagesMap\n },\n pageSizes: settings.pageSizes,\n messagesMap: messagesMap\n });\n var infoElement = !settings.info ? '' : // @ts-ignore function children\n h(PagerInfo, {\n totalPages: this.$props.total,\n attrs: this.v3 ? undefined : {\n totalPages: this.$props.total,\n skip: this.$props.skip,\n currentPage: this.currentTake,\n messagesMap: messagesMap\n },\n skip: this.$props.skip,\n currentPage: this.currentTake,\n messagesMap: messagesMap\n });\n var pagerContent = getTemplate.call(this, {\n h: h,\n template: pagerRenderTemplate,\n additionalProps: __assign(__assign({}, this.$props), {\n current: this.currentPage\n }),\n additionalListeners: {\n pagechange: this.triggerPageChange\n }\n });\n var width = this.transformDimesion(this.$props.width);\n return pagerRender ? h(\"div\", {\n \"class\": this.wrapperClass,\n style: {\n width: width\n },\n role: \"navigation\",\n attrs: this.v3 ? undefined : {\n role: \"navigation\"\n }\n }, [pagerContent]) : h(\"div\", {\n \"class\": this.wrapperClass,\n style: {\n width: width\n },\n role: \"navigation\",\n attrs: this.v3 ? undefined : {\n role: \"navigation\"\n }\n }, [first, prev, changer, next, last, renderPageSizes, infoElement]);\n }\n};\nvar PagerVue3 = Pager;\nexport { Pager, PagerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { messages, pagerItemPerPage } from './../messages';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { DropDownList } from '@progress/kendo-vue-dropdowns';\n/**\n * Represents the default `PagerPageSizes` component.\n */\n\nvar PagerPageSizes = {\n name: 'KendoPagerPageSizes',\n props: {\n pageSize: Number,\n pageSizes: Array,\n messagesMap: Function\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n pageSizeChange: function pageSizeChange(e) {\n this.$emit('pagechange', {\n skip: 0,\n take: parseInt(e.target.value, 10)\n }, e);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var sizes = this.$props.pageSizes.slice();\n\n if (sizes.filter(function (s) {\n return s === _this.$props.pageSize;\n }).length === 0) {\n sizes.unshift(this.$props.pageSize);\n }\n\n var itemPerPageMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerItemPerPage) : {\n messageKey: pagerItemPerPage,\n defaultMessage: messages[pagerItemPerPage]\n };\n return h(\"span\", {\n \"class\": \"k-pager-sizes k-label\"\n }, [// @ts-ignore function children\n h(DropDownList, {\n value: this.$props.pageSize,\n attrs: this.v3 ? undefined : {\n value: this.$props.pageSize,\n dataItems: sizes\n },\n dataItems: sizes,\n onChange: this.pageSizeChange,\n on: this.v3 ? undefined : {\n \"change\": this.pageSizeChange\n }\n }), provideLocalizationService(this).toLanguageString(itemPerPageMessage.messageKey, itemPerPageMessage.defaultMessage)]);\n }\n};\nvar PagerPageSizesVue3 = PagerPageSizes;\nexport { PagerPageSizes, PagerPageSizesVue3 };","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-dialog-button',{attrs:{\"isOpen\":_vm.dialogOpen},on:{\"closeDialog\":_vm.toggleDialog}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"h-16 bg-secondary flex items-center justify-between text-white px-4\"},[_c('div',{staticClass:\"flex items-center\"},[_c('h2',{staticClass:\"font-bold ml-2\"},[_vm._v(_vm._s(_vm.$t('app.save_search')))])]),_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.toggleDialog}},[_c('base-button-icon',{attrs:{\"name\":\"cross\",\"size\":\"xs\",\"iconSize\":\"sm\",\"mode\":\"secondary\"}})],1)])]),_c('template',{slot:\"main\"},[_c('div',{staticClass:\"form-wrapper p-4\"},[_c('el-form',{ref:\"ruleForm\",attrs:{\"model\":_vm.form,\"rules\":_vm.rules}},[_c('div',{staticClass:\"lg:mb-2\"},[_c('div',[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1\"},[_c('base-obligatory-icon'),_vm._v(_vm._s(_vm.$t('configurations.name'))+\" \"),_c('el-form-item',{attrs:{\"prop\":\"nombre\"}},[_c('el-input',{staticClass:\"w-full\",attrs:{\"clearable\":\"\",\"type\":\"text\",\"maxlength\":\"50\"},model:{value:(_vm.form.nombre),callback:function ($$v) {_vm.$set(_vm.form, \"nombre\", $$v)},expression:\"form.nombre\"}})],1)],1)])]),_vm._l((0),function(i){return _c('p',{key:i},[_vm._v(\"form\")])})],2)],1)]),_c('template',{slot:\"footer\"},[_c('base-button',{staticClass:\"w-full\",attrs:{\"mode\":\"secondary-phantom-blue\",\"text\":_vm.$t('app.cancel')},on:{\"click\":_vm.toggleDialog}}),_c('base-button',{staticClass:\"w-full\",attrs:{\"mode\":\"secondary-phantom-blue\",\"text\":_vm.$t('app.accept')},on:{\"click\":function($event){return _vm.apply('ruleForm')}}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function guardarBusqueda (data = {}) {\r\n if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve(mock.getNotificationstatus)\r\n }, 500)\r\n })\r\n } else {\r\n const req = {\r\n url: '/api/usuarios/guardarBusqueda',\r\n method: 'POST',\r\n headers: {\r\n 'Content-type': 'application/json',\r\n 'access-control-allow-origin': '*'\r\n },\r\n data\r\n }\r\n const res = await axiosInstance(req)\r\n return res.data\r\n }\r\n}\r\n\r\nexport { guardarBusqueda }\r\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSearchDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSearchDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CreateSearchDialog.vue?vue&type=template&id=07501303&scoped=true&\"\nimport script from \"./CreateSearchDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./CreateSearchDialog.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 \"07501303\",\n null\n \n)\n\nexport default component.exports","var _a;\n/**\n * @hidden\n */\nexport var numericIncreaseValue = 'numerictextbox.increment';\n/**\n * @hidden\n */\nexport var numericDecreaseValue = 'numerictextbox.decrement';\n/**\n * @hidden\n */\nexport var sliderIncreaseValue = 'slider.increment';\n/**\n * @hidden\n */\nexport var sliderDecreaseValue = 'slider.decrement';\n/**\n * @hidden\n */\nexport var sliderDragTitle = 'slider.dragTitle';\n/**\n * @hidden\n */\nexport var colorGradientR = 'colorGradient.r';\n/**\n * @hidden\n */\nexport var colorGradientG = 'colorGradient.g';\n/**\n * @hidden\n */\nexport var colorGradientB = 'colorGradient.b';\n/**\n * @hidden\n */\nexport var colorGradientA = 'colorGradient.a';\n/**\n * @hidden\n */\nexport var colorGradientHex = 'colorGradient.hex';\n/**\n * @hidden\n */\nexport var colorGradientContrastRatio = 'colorGradient.contrastRatio';\n/**\n * @hidden\n */\nexport var colorGradientAALevel = 'colorGradient.colorGradientAALevel';\n/**\n * @hidden\n */\nexport var colorGradientAAALevel = 'colorGradient.colorGradientAAALevel';\n/**\n * @hidden\n */\nexport var colorGradientPass = 'colorGradient.colorGradientPass';\n/**\n * @hidden\n */\nexport var colorGradientFail = 'colorGradient.colorGradientFail';\n/**\n * @hidden\n */\nexport var checkboxValidation = 'checkbox.validation';\n/**\n * @hidden\n */\nexport var checkboxOptionalText = 'checkbox.optionalText';\n/**\n * @hidden\n */\nexport var radioButtonValidation = 'radioButton.validation';\n/**\n * @hidden\n */\nexport var switchValidation = 'switch.validation';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[numericIncreaseValue] = 'Increase value',\n _a[numericDecreaseValue] = 'Decrease value',\n _a[sliderIncreaseValue] = 'Increase',\n _a[sliderDecreaseValue] = 'Decrease',\n _a[sliderDragTitle] = 'Drag',\n _a[colorGradientR] = 'r',\n _a[colorGradientG] = 'g',\n _a[colorGradientB] = 'b',\n _a[colorGradientA] = 'a',\n _a[colorGradientHex] = 'hex',\n _a[colorGradientContrastRatio] = 'Contrast ratio',\n _a[colorGradientAALevel] = 'AA',\n _a[colorGradientAAALevel] = 'AAA',\n _a[colorGradientPass] = 'Pass',\n _a[colorGradientFail] = 'Fail',\n _a[checkboxValidation] = 'Please check this box if you want to proceed!',\n _a[checkboxOptionalText] = '(Optional)',\n _a[radioButtonValidation] = 'Please select option if you want to proceed!',\n _a[switchValidation] = 'Please turn on if you want to proceed!',\n _a);\n","export * from './filters';\nexport * from './Expression';\nexport * from './FieldSettings';\nexport * from './Filter';\nexport * from './GroupFilters';\nexport * from './operators';\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Keys, classNames, guid, getTabIndex, getDefaultSlots, validatePackage, templateRendering, getTemplate, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, checkboxValidation, checkboxOptionalText } from './../messages';\nvar Checkbox = {\n name: 'KendoCheckbox',\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null,\n blur: null\n },\n model: {\n event: 'changemodel'\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n checked: {\n type: Boolean,\n default: undefined\n },\n defaultChecked: {\n type: Boolean,\n default: undefined\n },\n defaultValue: {\n type: [String, Boolean],\n default: undefined\n },\n modelValue: {\n type: [String, Boolean],\n default: undefined\n },\n dir: String,\n disabled: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n labelPlacement: String,\n labelOptional: Boolean,\n name: String,\n tabIndex: Number,\n value: {\n type: [String, Boolean],\n default: undefined\n },\n validationMessage: String,\n required: Boolean,\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n valueDuringOnChange: undefined,\n currentDir: 'ltr',\n currentChecked: undefined,\n currentValue: undefined\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n\n if (this.$props.defaultChecked !== undefined) {\n this.currentChecked = this.$props.defaultChecked;\n }\n\n if (this.$props.defaultValue !== undefined) {\n this.currentValue = this.$props.defaultValue;\n }\n\n this.currentDir = this.$props.dir;\n },\n computed: {\n valueIsBooleanOrNull: function valueIsBooleanOrNull() {\n var value = this.$props.value;\n return typeof value === 'boolean' || value === null;\n },\n isCheckedControlled: function isCheckedControlled() {\n return this.$props.checked !== undefined;\n },\n isValueControlled: function isValueControlled() {\n return this.$props.value !== undefined && this.valueIsBooleanOrNull;\n },\n computedValue: function computedValue() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n },\n computedChecked: function computedChecked() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.checked !== undefined ? this.$props.checked : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentChecked;\n },\n useValueAsChecked: function useValueAsChecked() {\n return this.computedChecked === undefined && this.computedValue;\n },\n checkedProp: function checkedProp() {\n return this.useValueAsChecked ? this.computedValue : this.computedChecked;\n },\n valueProp: function valueProp() {\n var value = this.$props.value;\n return this.useValueAsChecked || this.isValueControlled ? value === null ? value : undefined : value || this.computedValue;\n },\n indeterminateProp: function indeterminateProp() {\n return this.checkedProp === null || this.valueProp === null;\n },\n isValid: function isValid() {\n var valid = this.$props.valid;\n return valid !== undefined ? valid : !this.$props.required ? true : this.computedChecked ? true : false;\n }\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n\n this.setValidity();\n },\n updated: function updated() {\n if (!this.input) {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n }\n\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n disabled = _a.disabled,\n id = _a.id,\n label = _a.label,\n labelRender = _a.labelRender,\n labelPlacement = _a.labelPlacement,\n name = _a.name,\n labelOptional = _a.labelOptional,\n tabIndex = _a.tabIndex,\n required = _a.required,\n validityStyles = _a.validityStyles;\n var defaultSlot = getDefaultSlots(this);\n var renderedLabel = label;\n this.localizationService = provideLocalizationService(this);\n this.defaultValidationMessage = this.localizeMessage(checkboxValidation);\n this.optionalMessage = this.localizeMessage(checkboxOptionalText);\n var checkboxClasses = classNames({\n 'k-state-disabled': disabled\n });\n var inputClasses = classNames({\n 'k-checkbox': true,\n 'k-state-indeterminate': this.indeterminateProp,\n 'k-state-invalid k-invalid': !(this.isValid || validityStyles !== undefined || validityStyles === true)\n });\n\n var checkboxInput = function checkboxInput() {\n var _this = this;\n\n return h(\"input\", {\n type: 'checkbox',\n attrs: this.v3 ? undefined : {\n type: 'checkbox',\n name: name,\n id: id || this.calculatedId,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined\n },\n \"class\": inputClasses,\n name: name,\n id: id || this.calculatedId,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n checked: this.v3 ? Boolean(this.checkedProp) : null,\n domProps: this.v3 ? undefined : {\n \"checked\": Boolean(this.checkedProp)\n },\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined,\n onChange: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.onChangeHandler,\n \"keydown\": this.onKeyDownHandler,\n \"focus\": this.onFocusHandler,\n \"blur\": this.onBlurHandler\n },\n onKeydown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler\n });\n };\n\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n\n var checkboxLabel = function checkboxLabel() {\n return renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-checkbox-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId\n },\n style: {\n userSelect: 'none'\n }\n }, [renderedLabel, labelOptional && h(\"span\", {\n \"class\": \"k-label-optional\"\n }, [this.optionalMessage])]) : null;\n };\n\n return labelPlacement === 'before' ? h(\"span\", {\n \"class\": checkboxClasses,\n dir: 'rtl',\n attrs: this.v3 ? undefined : {\n dir: 'rtl'\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]) : h(\"span\", {\n \"class\": checkboxClasses,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]);\n },\n methods: {\n setValidity: function setValidity() {\n var isValid = this.$props.valid !== undefined ? this.$props.valid : !this.$props.required ? true : this.computedChecked ? true : false; // @ts-ignore\n\n if (this.input && this.input.setCustomValidity) {\n // @ts-ignore\n this.input.setCustomValidity(isValid ? '' : this.$props.validationMessage || this.defaultValidationMessage);\n }\n },\n localizeMessage: function localizeMessage(message) {\n return this.localizationService.toLanguageString(message, messages[message]);\n },\n focusElement: function focusElement() {\n if (this.input) {\n // @ts-ignore\n this.input.focus();\n }\n },\n setValue: function setValue(e, val) {\n this.$data.valueDuringOnChange = val;\n var that = this;\n this.$nextTick(function () {\n if (!that.isCheckedControlled && !that.isValueControlled && !that.$props.disabled) {\n that.currentValue = val;\n that.currentChecked = val;\n }\n\n if (!that.$props.disabled) {\n var handle = {\n element: that.$el,\n focus: null // focusElement\n\n };\n that.$emit('change', {\n e: e,\n handle: handle,\n value: val\n });\n that.$emit('changemodel', val);\n that.$emit('update:modelValue', val);\n }\n\n this.$data.valueDuringOnChange = undefined;\n });\n },\n onChangeHandler: function onChangeHandler(e) {\n var newValue = e.target.checked;\n this.setValue(e, newValue);\n },\n onKeyDownHandler: function onKeyDownHandler(e) {\n if (this.$props.disabled) {\n return;\n }\n\n var keyCode = e.keyCode;\n var currentVal = e.currentTarget.checked;\n\n if (keyCode === Keys.space) {\n e.preventDefault();\n e.stopPropagation();\n this.setValue(e, !currentVal);\n }\n },\n onBlurHandler: function onBlurHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('blur', e);\n }\n },\n onFocusHandler: function onFocusHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('focus', e);\n }\n }\n }\n};\nvar CheckboxVue3 = Checkbox;\nexport { Checkbox, CheckboxVue3 };","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsTemplate.vue?vue&type=style&index=0&id=14df2b66&scoped=true&lang=css&\"","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { RadioButton } from './RadioButton';\nimport { guid, classNames, focusFirstFocusableChild, validatePackage, isRtl } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nvar RadioGroup = {\n name: 'KendoRadioGroup',\n props: {\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n dataItems: Array,\n defaultValue: [String, Number, Object],\n dir: String,\n disabled: Boolean,\n labelPlacement: String,\n item: {\n type: String,\n default: 'li'\n },\n layout: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n name: String,\n modelValue: [String, Number, Object],\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null\n },\n model: {\n event: 'changemodel'\n },\n created: function created() {\n this.radioGroupName = guid();\n validatePackage(packageMetadata);\n this.stateChecked = this.$props.defaultValue;\n },\n watch: {\n value: function value(newValue) {\n if (newValue === undefined) {\n this.stateChecked = this.$props.defaultValue;\n }\n }\n },\n mounted: function mounted() {\n this.rtl = isRtl(this.$el);\n },\n computed: {\n radioGroupClasses: function radioGroupClasses() {\n var layout = this.$props.layout;\n return {\n 'k-radio-list': true,\n 'k-list-horizontal': layout === 'horizontal',\n 'k-list-vertical': layout === 'vertical' || layout === undefined\n };\n },\n checkedRadioValue: function checkedRadioValue() {\n var value = this.$props.value;\n return value !== undefined ? value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.stateChecked;\n },\n currentDir: function currentDir() {\n var dir = this.$props.dir;\n return dir ? dir : this.rtl ? 'rtl' : undefined;\n }\n },\n data: function data() {\n return {\n rtl: false,\n stateChecked: undefined\n };\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n handleChange: function handleChange(event) {\n var currentValue = event.value;\n\n if (!(this.$props.value !== undefined) && !this.$props.disabled) {\n this.stateChecked = currentValue;\n }\n\n if (!this.$props.disabled) {\n this.$emit('change', {\n event: event,\n value: currentValue\n });\n this.$emit('changemodel', currentValue);\n this.$emit('update:modelValue', currentValue);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event);\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n dataItems = _a.dataItems,\n disabled = _a.disabled,\n name = _a.name,\n labelPlacement = _a.labelPlacement,\n valid = _a.valid;\n var radioOptions = dataItems && dataItems.map(function (option, index) {\n var isCurrentlyChecked = this.checkedRadioValue === option.value;\n var noOptionChecked = this.checkedRadioValue === null || this.checkedRadioValue === undefined;\n return h(\"li\", {\n \"class\": classNames('k-radio-item', {\n 'k-state-disabled': option.disabled || disabled\n }),\n key: index,\n role: 'radio',\n attrs: this.v3 ? undefined : {\n role: 'radio'\n }\n }, [// @ts-ignore function children\n h(RadioButton, {\n valid: valid,\n attrs: this.v3 ? undefined : {\n valid: valid,\n className: option.className,\n label: option.label,\n value: option.value,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName\n },\n className: option.className,\n label: option.label,\n value: option.value,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })]);\n }, this);\n return h(\"ul\", {\n role: \"radiogroup\",\n attrs: this.v3 ? undefined : {\n role: \"radiogroup\",\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n },\n \"class\": this.radioGroupClasses,\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n }, [radioOptions]);\n }\n};\nvar RadioGroupVue3 = RadioGroup;\nexport { RadioGroup, RadioGroupVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { guid, noop, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { FloatingLabel } from '@progress/kendo-vue-labels';\nvar Input = {\n model: {\n event: 'changemodel'\n },\n inheritAttrs: false,\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined\n },\n defaultValue: {\n type: [String, Number],\n default: ''\n },\n value: {\n type: [String, Number]\n },\n label: {\n type: String\n },\n placeholder: {\n type: String\n },\n required: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String\n },\n id: String,\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n hasMounted: false,\n autofill: false,\n currentValue: '',\n valueDuringOnChange: '',\n input: null,\n inputId: guid(),\n focused: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.$data.valueDuringOnChange = undefined;\n this.$data.currentValue = this.$props.defaultValue;\n },\n mounted: function mounted() {\n this.$data.input = this.v3 ? this.inputRef : this.$refs.input;\n this.$data.hasMounted = true;\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var listeners = this.v3 ? this.$attrs : this.$listeners;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var hasInput = Object.keys(this.$attrs).some(function (attr) {\n return attr === 'onInput';\n });\n var hasModel = Object.keys(this.$attrs).some(function (attr) {\n return attr === 'onUpdate:modelValue';\n });\n var _a = this.$props,\n label = _a.label,\n id = _a.id,\n required = _a.required;\n var inputId = id || this.$data.inputId;\n var textbox = h('input', __assign(__assign({\n domProps: this.v3 ? null : __assign(__assign({}, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n value: this.computedValue\n })\n }, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n value: this.computedValue,\n class: __assign({}, this.inputClassNames()),\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n on: this.v3 ? null : {\n change: this.handleChange,\n focus: this.emitFocus,\n blur: this.emitBlur,\n input: listeners.input || listeners.changemodel ? this.handleInput : noop,\n animationstart: this.handleAutoFill,\n animationend: this.handleAutoFillEnd\n },\n onChange: this.handleChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onInput: this.handleInput,\n onAnimationstart: this.handleAutoFill,\n onAnimationend: this.handleAutoFillEnd\n }));\n return label ? // @ts-ignore function children\n h(FloatingLabel, {\n label: label,\n attrs: this.v3 ? undefined : {\n label: label,\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n },\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n }, this.v3 ? function () {\n return [textbox];\n } : [textbox]) : textbox;\n },\n methods: {\n emitFocus: function emitFocus(e) {\n this.$emit('focus', e);\n this.$data.focused = true;\n },\n emitBlur: function emitBlur(e) {\n this.$emit('blur', e);\n this.$data.focused = false;\n },\n focus: function focus() {\n if (this.$data.input) {\n this.$data.input.focus();\n }\n },\n inputClassNames: function inputClassNames() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox': true,\n 'k-state-invalid': !isValid && isValid !== undefined\n };\n },\n validity: function validity() {\n var result = {\n badInput: this.$data.input ? this.$data.input.validity.badInput : false,\n patternMismatch: this.$data.input ? this.$data.input.validity.patternMismatch : false,\n rangeOverflow: this.$data.input ? this.$data.input.validity.rangeOverflow : false,\n rangeUnderflow: this.$data.input ? this.$data.input.validity.rangeUnderflow : false,\n stepMismatch: this.$data.input ? this.$data.input.validity.stepMismatch : false,\n tooLong: this.$data.input ? this.$data.input.validity.tooLong : false,\n typeMismatch: this.$data.input ? this.$data.input.validity.typeMismatch : false,\n valueMissing: this.$data.input ? this.$data.input.validity.valueMissing : false\n };\n return __assign(__assign({}, result), {\n customError: this.$props.validationMessage !== undefined,\n valid: this.$props.valid !== undefined ? this.$props.valid : this.$data.input ? !this.isInvalid(result) : true\n });\n },\n isInvalid: function isInvalid(state) {\n var result = false;\n\n for (var prop in state) {\n if (state.hasOwnProperty(prop)) {\n result = result || state[prop];\n }\n }\n\n return result;\n },\n setValidity: function setValidity() {\n if (this.$data.input && this.$data.input.setCustomValidity) {\n this.$data.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n },\n handleInput: function handleInput(event) {\n var that = this;\n this.$data.currentValue = event.target.value;\n this.$data.valueDuringOnChange = event.target.value;\n this.$nextTick(function () {\n that.$emit('input', {\n event: event,\n value: event.target.value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$emit('changemodel', event.target.value);\n that.$emit('update:modelValue', event.target.value);\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleChange: function handleChange(event) {\n var that = this;\n this.$data.currentValue = event.target.value;\n this.$data.valueDuringOnChange = event.target.value;\n this.$nextTick(function () {\n that.$emit('change', {\n event: event,\n value: event.target.value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$emit('changemodel', event.target.value);\n that.$emit('update:modelValue', event.target.value);\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleAutoFill: function handleAutoFill(e) {\n if (e.animationName === 'autoFillStart') {\n var parent_1 = e.target.parentNode;\n\n if (parent_1 && parent_1.classList.contains('k-state-empty')) {\n this.$data.autofill = true;\n parent_1.classList.remove('k-state-empty');\n }\n }\n },\n handleAutoFillEnd: function handleAutoFillEnd(e) {\n if (e.animationName === 'autoFillEnd') {\n var parent_2 = e.target.parentNode;\n\n if (parent_2) {\n this.$data.autofill = false;\n }\n }\n },\n name: function name() {\n return this.$props.name;\n }\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-floating-label-container': true,\n 'k-state-focused': this.$data.focused,\n 'k-state-empty': !((this.computedValue === 0 ? true : this.computedValue) || this.$props.placeholder || this.$data.autofill),\n 'k-autofill': this.$data.autofill,\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n computedValue: {\n get: function get() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n }\n }\n }\n};\nvar InputVue3 = Input;\nexport { Input, InputVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\n\nexport var SLIDER_LABEL_ATTRIBUTE = 'data-slider-label'; // tslint:enable:max-line-length\n\nvar SliderLabel = {\n name: 'KendoSliderLabel',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n position: Number,\n title: String,\n vertical: Boolean\n },\n data: function data() {\n return {\n currentDir: 'ltr'\n };\n },\n inject: ['kendoMax', 'kendoMin', 'kendoVertical'],\n mounted: function mounted() {\n this.sliderLabelRef = this.$refs.sliderLabelRef;\n\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n\n var h = gh || createElement;\n var dir = this.currentDir;\n var defaultSlot = getDefaultSlots(this);\n var position = 100 * (this.$props.position - this.kendoMin) / (this.kendoMax - this.kendoMin);\n var vertical = this.kendoVertical;\n var style = vertical ? {\n bottom: position + \"%\",\n height: '1px',\n width: '100%'\n } : (_a = {}, _a[dir === 'rtl' ? 'right' : 'left'] = position + \"%\", _a.width = '1px', _a);\n return h(\"li\", {\n ref: 'sliderLabelRef',\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n title: this.$props.title\n },\n \"class\": \"k-tick k-tick-large\",\n title: this.$props.title,\n style: __assign({\n zIndex: 1,\n position: 'absolute'\n }, style)\n }, [h(\"span\", {\n \"data-slider-label\": true,\n attrs: this.v3 ? undefined : {\n \"data-slider-label\": true\n },\n \"class\": \"k-label\",\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [defaultSlot])]);\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n }\n};\nvar SliderLabelVue3 = SliderLabel;\nexport { SliderLabel, SliderLabelVue3 };","var _a;\n/**\n * @hidden\n */\nexport var nodata = 'dropdowns.nodata';\n/**\n * @hidden\n */\nexport var clear = 'dropdowns.clear';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[clear] = 'clear',\n _a[nodata] = 'NO DATA FOUND.',\n _a);\n","/**\n * @hidden\n */\nexport var ActiveDescendant;\n(function (ActiveDescendant) {\n ActiveDescendant[ActiveDescendant[\"PopupList\"] = 0] = \"PopupList\";\n ActiveDescendant[ActiveDescendant[\"TagsList\"] = 1] = \"TagsList\";\n})(ActiveDescendant || (ActiveDescendant = {}));\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * Represents the default `ListContainer` component.\n */\n\nvar ListContainer = {\n name: 'list-container',\n // @ts-ignore\n emits: {\n mousedown: null,\n blur: null,\n open: null,\n close: null\n },\n props: {\n width: [String, Number],\n dir: String,\n itemsCount: Number,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {\n animate: true,\n height: '200px'\n };\n }\n }\n },\n created: function created() {\n this.kendoAnchorRef = undefined;\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n onMouseDown: function onMouseDown(e) {\n this.$emit('mousedown', e);\n },\n onBlur: function onBlur(e) {\n this.$emit('blur', e);\n },\n onOpen: function onOpen(e) {\n this.$emit('open', e);\n },\n onClose: function onClose(e) {\n this.$emit('close', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n onMouseDown = _a.onMouseDown,\n onBlur = _a.onBlur,\n width = _a.width,\n dir = _a.dir,\n popupSettings = _a.popupSettings; // @ts-ignore\n\n var className = popupSettings.className,\n animate = popupSettings.animate,\n anchor = popupSettings.anchor,\n show = popupSettings.show,\n open = popupSettings.open,\n close = popupSettings.close,\n itemsCount = popupSettings.itemsCount;\n return (// @ts-ignore function children\n h(Popup, {\n style: {\n width: width,\n direction: dir\n },\n className: className,\n attrs: this.v3 ? undefined : {\n className: className,\n animate: animate,\n anchor: anchor,\n show: show,\n contentKey: itemsCount\n },\n animate: animate,\n anchor: anchor,\n show: show,\n contentKey: itemsCount,\n onOpen: this.onOpen,\n on: this.v3 ? undefined : {\n \"open\": this.onOpen,\n \"close\": this.onClose\n },\n onClose: this.onClose\n }, this.v3 ? function () {\n return [h(\"div\", {\n onMousedown: _this.onMouseDown,\n on: _this.v3 ? undefined : {\n \"mousedown\": _this.onMouseDown,\n \"focusout\": _this.onBlur\n },\n onFocusout: _this.onBlur\n }, [defaultSlot])];\n } : [h(\"div\", {\n onMousedown: _this.onMouseDown,\n on: _this.v3 ? undefined : {\n \"mousedown\": _this.onMouseDown,\n \"focusout\": _this.onBlur\n },\n onFocusout: _this.onBlur\n }, [defaultSlot])])\n );\n }\n};\nvar ListContainerVue3 = ListContainer;\nexport { ListContainer, ListContainerVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\n/**\n * Represents the default `ListFilter` component.\n */\n\nvar ListFilter = {\n name: 'list-filter',\n // @ts-ignore\n emits: {\n keydown: null,\n change: null\n },\n props: {\n value: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n methods: {\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n },\n onChange: function onChange(e) {\n this.$emit('change', e);\n }\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-list-filter\"\n }, [h(\"input\", {\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n value: this.v3 ? this.$props.value || '' : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.$props.value || ''\n },\n \"class\": \"k-textbox\",\n onInput: this.onChange,\n on: this.v3 ? undefined : {\n \"input\": this.onChange,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown\n }), h(\"span\", {\n \"class\": \"k-icon k-i-search\"\n })]);\n }\n};\nvar ListFilterVue3 = ListFilter;\nexport { ListFilter, ListFilterVue3 };","/**\n * @hidden\n */\nvar isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nvar sameCharsOnly = function (word, character) {\n for (var idx = 0; idx < word.length; idx++) {\n if (word.charAt(idx) !== character) {\n return false;\n }\n }\n return true;\n};\n/**\n * @hidden\n */\nvar shuffleData = function (data, splitIndex, defaultItem) {\n var result = data;\n if (defaultItem) {\n result = [defaultItem].concat(result);\n }\n return result.slice(splitIndex).concat(result.slice(0, splitIndex));\n};\n/**\n * @hidden\n */\nvar matchText = function (text, word, ignoreCase) {\n if (!isPresent(text)) {\n return false;\n }\n var temp = String(text);\n if (ignoreCase) {\n temp = temp.toLowerCase();\n }\n return temp.indexOf(word) === 0;\n};\n/**\n * @hidden\n */\nvar scrollToItem = function (scrollElem, itemHeight, itemIndex, translate, virtualScroll) {\n var viewportHeight = scrollElem.offsetHeight;\n var itemOffsetTop = (itemHeight * itemIndex) +\n (virtualScroll ? translate - scrollElem.scrollTop : 0);\n if (virtualScroll) {\n var diff = 0;\n if (itemOffsetTop + itemHeight > viewportHeight) {\n diff = itemOffsetTop + itemHeight - viewportHeight;\n }\n else if (itemOffsetTop < 0) {\n diff = itemOffsetTop;\n }\n if (diff !== 0) {\n scrollElem.scrollTop += diff;\n }\n else if (scrollElem.scrollTop === 0 && translate !== 0) {\n scrollElem.scrollTop = translate;\n }\n }\n else {\n if (itemOffsetTop + itemHeight > viewportHeight + scrollElem.scrollTop) {\n scrollElem.scrollTop = (itemOffsetTop + itemHeight - viewportHeight);\n }\n else if (itemOffsetTop < scrollElem.scrollTop) {\n scrollElem.scrollTop -= scrollElem.scrollTop - itemOffsetTop;\n }\n }\n};\n/**\n * @hidden\n */\nvar itemIndexStartsWith = function (items, text, field) {\n var result = -1;\n if (text) {\n text = text.toLowerCase();\n for (var i = 0; i < items.length; i++) {\n var itemText = (getItemValue(items[i], field) || '') + '';\n if (itemText && itemText.toLowerCase().startsWith(text)) {\n result = i;\n break;\n }\n }\n }\n return result;\n};\n/**\n * @hidden\n */\nvar getItemIndexByText = function (data, text, textField, matchCase) {\n if (matchCase === void 0) { matchCase = false; }\n var casing = function (value) { return matchCase ? value : value.toLowerCase(); };\n return data.findIndex(function (item) {\n return textField ? casing(getItemValue(item, textField)) === casing(text) :\n casing(text) === casing(item.toString());\n });\n};\n/**\n * @hidden\n */\nvar getItemValue = function (item, field) {\n if (field && isPresent(item)) {\n var path = field.split('.');\n var data_1 = item;\n path.forEach(function (p) {\n data_1 = data_1 ? data_1[p] : undefined;\n });\n return data_1;\n }\n return item;\n};\n/**\n * @hidden\n */\nvar matchDataCollections = function (data1, data2, key) {\n if (data1 === void 0) { data1 = []; }\n if (data2 === void 0) { data2 = []; }\n if (data1 === data2) {\n return true;\n }\n if (data1.length !== data2.length) {\n return false;\n }\n for (var i = 0; i < data1.length; i++) {\n if (!areSame(data1[i], data2[i], key)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @hidden\n */\nvar removeDataItems = function (items, toRemove, key) {\n toRemove.forEach(function (item) {\n var itemIndex = items.findIndex(function (i) { return areSame(i, item, key); });\n if (itemIndex !== -1) {\n items.splice(itemIndex, 1);\n }\n });\n};\n/**\n * @hidden\n */\nvar areSame = function (item1, item2, key) {\n return item1 === item2 ||\n (isPresent(item1) === isPresent(item2) && getItemValue(item1, key) === getItemValue(item2, key));\n};\n/**\n * @hidden\n */\nvar getFocusedItem = function (data, value, textField) {\n if (value) {\n var selectedIndex = getItemIndexByText(data, value, textField, true);\n return selectedIndex !== -1 ? data[selectedIndex] : data[itemIndexStartsWith(data, value, textField)];\n }\n return data[0];\n};\n/**\n * @hidden\n */\nvar suggestValue = function (value, data, textField) {\n if (data === void 0) { data = []; }\n var suggested = '';\n if (value) {\n var suggestedItem = data[itemIndexStartsWith(data, value, textField)];\n if (suggestedItem) {\n var suggestedText = getItemValue(suggestedItem, textField);\n if (value.toLowerCase() !== suggestedText.toLowerCase()) {\n suggested = suggestedText.substring(value.length);\n }\n }\n }\n return suggested;\n};\n/**\n * @hidden\n */\nvar preventDefaultNonInputs = function (event) {\n if (event.target.nodeName !== 'INPUT') {\n event.preventDefault();\n }\n};\nexport { isPresent, sameCharsOnly, shuffleData, matchText, scrollToItem, itemIndexStartsWith, getItemIndexByText, getItemValue, matchDataCollections, removeDataItems, areSame, getFocusedItem, preventDefaultNonInputs, suggestValue };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { getItemValue } from './utils';\n/**\n * Represents the default `ListDefaultItem` component.\n */\n\nvar ListDefaultItem = {\n name: 'list-default-item',\n props: {\n defaultItem: [Object, String],\n textField: String,\n selected: Boolean\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n },\n onClick: function onClick(e) {\n this.$emit('defaultitemclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n selected = _a.selected,\n defaultItem = _a.defaultItem,\n textField = _a.textField;\n return h(\"div\", {\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"mousedown\": this.onMouseDown\n },\n onMousedown: this.onMouseDown,\n \"class\": classNames('k-list-optionlabel', {\n 'k-state-selected': selected\n })\n }, [getItemValue(defaultItem, textField) || '']);\n }\n};\nvar ListDefaultItemVue3 = ListDefaultItem;\nexport { ListDefaultItem, ListDefaultItemVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { classNames, getTemplate } from '@progress/kendo-vue-common';\nimport { getItemValue } from './utils';\n/**\n * Represents the default `ListItem` component.\n */\n\nvar ListItem = {\n name: 'list-item',\n props: {\n id: String,\n index: Number,\n dataItem: [Object, String, Number],\n textField: String,\n focused: Boolean,\n selected: Boolean,\n render: Object\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('itemclick', this.$props.index, e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var selected = this.$props.selected;\n var defaultRendering = h(\"li\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: \"option\",\n \"aria-selected\": selected\n },\n role: \"option\",\n \"aria-selected\": selected,\n \"class\": classNames('k-item', {\n 'k-state-selected': selected,\n 'k-state-focused': this.$props.focused\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }, [getItemValue(this.$props.dataItem, this.$props.textField).toString()]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.render,\n defaultRendering: defaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n }\n });\n }\n};\nvar ListItemVue3 = ListItem;\nexport { ListItem, ListItemVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { ListItem } from './ListItem';\nimport { areSame } from './utils';\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, nodata } from '../messages';\n/**\n * Represents the default `List` component.\n */\n\nvar List = {\n name: 'list',\n props: {\n id: String,\n show: Boolean,\n dataItems: Array,\n value: [Object, String, Number, Boolean, Array],\n textField: String,\n valueField: String,\n optionsGuid: String,\n wrapperCssClass: String,\n wrapperStyle: Object,\n listStyle: Object,\n skip: Number,\n focusedIndex: Number,\n highlightSelected: {\n type: Boolean,\n default: true\n },\n itemRender: [String, Function, Object],\n noDataRender: [String, Function, Object]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var listRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n listRef: listRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n mounted: function mounted() {\n this.list = this.v3 ? this.listRef : this.$refs.list;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('listclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var localizationService = provideLocalizationService(this);\n var _a = this.$props,\n id = _a.id,\n show = _a.show,\n wrapperCssClass = _a.wrapperCssClass,\n wrapperStyle = _a.wrapperStyle,\n listStyle = _a.listStyle,\n listRef = _a.listRef;\n\n var renderNoValueElement = function renderNoValueElement() {\n var noDataRender = this.$props.noDataRender;\n var noDataElement = h(\"div\", {\n \"class\": 'k-nodata'\n }, [h(\"div\", [localizationService.toLanguageString(nodata, messages[nodata])])]);\n return getTemplate.call(this, {\n h: h,\n template: noDataRender,\n defaultRendering: noDataElement\n });\n };\n\n var renderItems = function renderItems() {\n var _a = this.$props,\n textField = _a.textField,\n valueField = _a.valueField,\n optionsGuid = _a.optionsGuid,\n _b = _a.skip,\n skip = _b === void 0 ? 0 : _b,\n focusedIndex = _a.focusedIndex,\n highlightSelected = _a.highlightSelected,\n value = _a.value,\n itemRender = _a.itemRender;\n var isArray = Array.isArray(value);\n return this.$props.dataItems.map(function (item, index) {\n var realIndex = skip + index;\n var selected = highlightSelected && (!isArray && areSame(item, value, valueField) || isArray && value.findIndex(function (i) {\n return areSame(i, item, valueField);\n }) !== -1);\n return (// @ts-ignore\n h(ListItem, {\n id: \"option-\" + optionsGuid + \"-\" + realIndex,\n attrs: this.v3 ? undefined : {\n id: \"option-\" + optionsGuid + \"-\" + realIndex,\n dataItem: item,\n selected: selected,\n focused: focusedIndex === index,\n index: realIndex,\n textField: textField,\n render: itemRender\n },\n dataItem: item,\n selected: selected,\n focused: focusedIndex === index,\n index: realIndex,\n key: realIndex,\n onItemclick: this.handleClick,\n on: this.v3 ? undefined : {\n \"itemclick\": this.handleClick\n },\n textField: textField,\n render: itemRender\n })\n );\n }, this);\n };\n\n var items = renderItems.call(this);\n return items.length ? h(\"div\", {\n \"class\": wrapperCssClass,\n style: wrapperStyle,\n unselectable: 'on',\n attrs: this.v3 ? undefined : {\n unselectable: 'on'\n }\n }, [h(\"ul\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: \"listbox\",\n \"aria-hidden\": !show ? true : undefined\n },\n role: \"listbox\",\n \"aria-hidden\": !show ? true : undefined,\n \"class\": 'k-list k-reset',\n ref: this.v3 ? function (el) {\n _this.listRef = el;\n } : 'list',\n style: listStyle\n }, [items])]) : renderNoValueElement.call(this);\n }\n};\nexport { List };","var maxHeightIE = 1533915;\n/**\n * @hidden\n */\n\nvar VirtualScroll =\n/** @class */\nfunction () {\n function VirtualScroll() {\n var _this = this;\n\n this.containerHeight = 0;\n this.skip = 0;\n this.total = 0;\n this.enabled = false;\n this.pageSize = 0;\n this.itemHeight = 0;\n this.prevScrollPos = 0;\n this.listTranslate = 0;\n this.scrollSyncing = false;\n\n this.scrollerRef = function (element) {\n var vs = _this;\n vs.container = element;\n\n if (element) {\n element.setAttribute('unselectable', 'on');\n setTimeout(vs.calcScrollElementHeight.bind(vs), 0);\n }\n };\n\n this.calcScrollElementHeight = function () {\n _this.scrollSyncing = true;\n var heightChanged = false;\n _this.itemHeight = _this.list ? _this.list.children[0].offsetHeight : _this.itemHeight;\n _this.containerHeight = Math.min(maxHeightIE, _this.itemHeight * _this.total);\n var newHeight = _this.containerHeight;\n\n if (_this.scrollElement) {\n heightChanged = _this.scrollElement.style.height !== newHeight + 'px';\n\n if (heightChanged) {\n _this.scrollElement.style.height = newHeight + 'px';\n }\n }\n\n _this.scrollSyncing = false;\n return heightChanged;\n };\n\n this.scrollHandler = this.scrollHandler.bind(this);\n }\n\n Object.defineProperty(VirtualScroll.prototype, \"translate\", {\n get: function get() {\n return this.listTranslate;\n },\n enumerable: false,\n configurable: true\n });\n\n VirtualScroll.prototype.changePage = function (skip, e) {\n var newSkip = Math.min(Math.max(0, skip), this.total - this.pageSize);\n\n if (newSkip !== this.skip) {\n this.PageChange({\n skip: newSkip,\n take: this.pageSize\n }, e);\n }\n };\n\n VirtualScroll.prototype.translateTo = function (dY) {\n this.listTranslate = dY;\n\n if (this.list) {\n this.list.style.transform = 'translateY(' + dY + 'px)';\n }\n };\n\n VirtualScroll.prototype.reset = function () {\n if (this.container) {\n this.calcScrollElementHeight();\n this.container.scrollTop = 0;\n this.translateTo(0);\n }\n };\n\n VirtualScroll.prototype.scrollToEnd = function () {\n if (this.container && this.list) {\n this.calcScrollElementHeight();\n this.container.scrollTop = this.container.scrollHeight - this.container.offsetHeight;\n this.translateTo(this.container.scrollHeight - this.list.offsetHeight);\n }\n };\n\n VirtualScroll.prototype.localScrollUp = function (e) {\n var height = this.itemHeight;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.listTranslate;\n var items;\n var additionalOnTop = scrollTop - targetTranslate;\n\n if (additionalOnTop > height) {\n return;\n }\n\n for (items = 0; items < this.skip; items++) {\n if (targetTranslate + height + additionalOnTop <= scrollTop) {\n break;\n }\n\n targetTranslate -= height;\n }\n\n targetTranslate = this.validateTranslate(targetTranslate);\n\n if (this.skip - items <= 0 && targetTranslate >= scrollTop) {\n this.translateTo(0);\n this.changePage(0, e);\n this.container.scrollTop = 0;\n return;\n }\n\n if (targetTranslate !== this.listTranslate) {\n this.translateTo(targetTranslate);\n this.changePage(this.skip - items, e);\n }\n };\n\n VirtualScroll.prototype.localScrollDown = function (e) {\n var height = this.itemHeight;\n var scrollTop = this.container.scrollTop;\n var targetTranslate = this.listTranslate;\n var itemsLenght = this.list.children.length;\n var items;\n\n for (items = 0; items < itemsLenght; items++) {\n if (targetTranslate + height >= scrollTop) {\n break;\n }\n\n targetTranslate += height;\n }\n\n targetTranslate = this.validateTranslate(targetTranslate);\n\n if (items >= itemsLenght && this.skip + items >= this.total) {\n this.translateTo(targetTranslate);\n this.changePage(this.total - 1, e);\n } else if (targetTranslate !== this.listTranslate) {\n this.translateTo(targetTranslate);\n this.changePage(this.skip + items, e);\n }\n };\n\n VirtualScroll.prototype.scrollNonStrict = function (e) {\n var floatItemIndex = this.total * this.prevScrollPos / this.containerHeight;\n var itemIndex = Math.min(Math.floor(floatItemIndex), this.total - 1);\n var targetTranslate = this.containerHeight * floatItemIndex / this.total;\n targetTranslate = this.validateTranslate(targetTranslate);\n this.translateTo(targetTranslate);\n this.changePage(itemIndex, e);\n };\n\n VirtualScroll.prototype.scrollHandler = function (e) {\n var scrollTop = this.container ? this.container.scrollTop : 0;\n var prev = this.prevScrollPos;\n this.prevScrollPos = scrollTop;\n\n if (!this.enabled || !this.list || !this.container || this.scrollSyncing) {\n return;\n }\n\n if (scrollTop - prev <= 0 && scrollTop > this.listTranslate - this.list.scrollHeight / 10) {\n this.localScrollUp(e);\n } else if (scrollTop - prev > 0 && scrollTop < this.listTranslate + this.list.scrollHeight * 2 / 3) {\n this.localScrollDown(e);\n } else {\n this.scrollNonStrict(e);\n }\n };\n\n VirtualScroll.prototype.validateTranslate = function (translate) {\n translate = Math.max(0, translate);\n translate = Math.min(this.containerHeight - this.list.offsetHeight, translate);\n return translate;\n };\n\n return VirtualScroll;\n}();\n\nexport default VirtualScroll;","import { isPresent } from './utils';\nimport { Keys } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation() {\n }\n Navigation.prototype.navigate = function (args) {\n var keyCode = args.keyCode;\n if (keyCode === Keys.up || keyCode === Keys.left) {\n return this.next({ current: args.current, min: args.min, max: args.max, step: -1 });\n }\n else if (keyCode === Keys.down || keyCode === Keys.right) {\n return this.next({ current: args.current, min: args.min, max: args.max, step: 1 });\n }\n else if (keyCode === Keys.home) {\n return 0;\n }\n else if (keyCode === Keys.end) {\n return args.max;\n }\n };\n Navigation.prototype.next = function (args) {\n if (!isPresent(args.current)) {\n return args.min;\n }\n else {\n return Math.min(args.max, Math.max(args.current + args.step, args.min));\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-dropdowns',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1635492884,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport VirtualScroll from './VirtualScroll';\nimport { Navigation } from './Navigation';\nimport { scrollToItem, areSame } from './utils';\nimport { guid, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\n\nvar DropDownBase =\n/** @class */\nfunction () {\n function DropDownBase(component) {\n var _this = this;\n\n this.vs = new VirtualScroll();\n this.navigation = new Navigation();\n\n this.handleItemClick = function (index, event) {\n var state = _this.initState();\n\n state.event = event;\n\n _this.component.handleItemSelect(index, state);\n\n _this.togglePopup(state);\n\n _this.applyState(state);\n };\n\n this.handleFocus = function (event) {\n if (!_this.component.currentFocused) {\n var state = _this.initState(); // @ts-ignore\n\n\n state.data.currentFocused = true;\n state.events.push({\n type: 'focus'\n });\n state.event = event;\n\n _this.applyState(state);\n }\n };\n\n this.filterChanged = function (text, state) {\n // @ts-ignore\n var _a = _this.component.$props,\n textField = _a.textField,\n filterable = _a.filterable;\n\n if (filterable) {\n state.events.push({\n type: 'filterchange',\n filter: {\n field: textField,\n operator: 'contains',\n ignoreCase: true,\n value: text\n }\n });\n }\n };\n\n this.togglePopup = function (state) {\n // @ts-ignore\n var props = _this.component.$props; // @ts-ignore\n\n var opened = props.opened !== undefined ? props.opened : _this.component.currentOpened; // @ts-ignore\n\n if (props.opened === undefined) {\n // @ts-ignore\n state.data.currentOpened = !opened;\n }\n\n if (opened) {\n state.events.push({\n type: 'close'\n });\n } else {\n state.events.push({\n type: 'open'\n });\n\n _this.calculatePopupWidth();\n }\n };\n\n this.pageChange = function (page, event) {\n var state = _this.initState();\n\n state.event = event;\n\n _this.triggerOnPageChange(state, page.skip, page.take);\n\n _this.applyState(state);\n };\n\n this.scrollToVirtualItem = function (virtual, selectedItemIndex) {\n var vs = _this.vs;\n vs.enabled = false;\n\n if (virtual.skip === 0) {\n vs.reset();\n } else if (virtual.skip + virtual.pageSize === virtual.total) {\n vs.scrollToEnd();\n } else {\n var scrollTop = vs.translate;\n\n if (scrollTop === 0) {\n vs.calcScrollElementHeight();\n scrollTop = vs.itemHeight * virtual.skip;\n vs.translateTo(scrollTop - vs.itemHeight);\n }\n\n if (vs.container) {\n vs.container.scrollTop = scrollTop;\n }\n\n _this.scrollToItem(selectedItemIndex, true);\n }\n\n setTimeout(function () {\n return vs.enabled = true;\n }, 10);\n };\n\n validatePackage(packageMetadata);\n this.listBoxId = guid();\n this.guid = guid();\n this.component = component;\n this.vs.PageChange = this.pageChange;\n }\n\n DropDownBase.prototype.didMount = function () {\n // @ts-ignore\n var props = this.component.$props;\n var popupSettings = props.popupSettings || {};\n var style = props.style || {};\n var popupWidth = popupSettings.width;\n var shouldUpdate = props.opened === true;\n\n if (popupWidth === undefined) {\n this.calculatePopupWidth();\n }\n\n if (props.dir === undefined && style.direction === undefined) {\n this.calculateDir();\n shouldUpdate = true;\n }\n\n if (shouldUpdate) {\n // @ts-ignore\n this.component.$forceUpdate();\n }\n };\n\n DropDownBase.prototype.calculateDir = function () {\n if (this.component.element) {\n this.dirCalculated = window.getComputedStyle(this.component.element).direction || undefined;\n }\n };\n\n DropDownBase.prototype.calculatePopupWidth = function () {\n if (this.wrapper) {\n this.popupWidth = this.wrapper.offsetWidth + 'px';\n }\n };\n\n DropDownBase.prototype.scrollToItem = function (itemIndex, vsEnabled) {\n var list = this.list || this.vs.list;\n var item = list ? list.children[0] : undefined;\n\n if (item && itemIndex >= 0) {\n var vs = this.vs;\n var scrollElement = vs.container || list.parentNode;\n var virtualScroll = vsEnabled !== undefined ? vsEnabled : vs.enabled;\n scrollToItem(scrollElement, item.offsetHeight, itemIndex, vs.translate, virtualScroll);\n }\n };\n\n DropDownBase.prototype.initState = function () {\n var state = {\n data: {},\n events: [],\n event: undefined\n };\n return state;\n };\n\n DropDownBase.prototype.applyState = function (state) {\n var _this = this;\n\n if (Object.keys(state.data).length > 0) {\n Object.keys(state.data).forEach(function (key) {\n _this.component[key] = state.data[key];\n });\n } // @ts-ignore\n\n\n var newValue = this.component.computedValue();\n var eventArgs = {\n event: state.event,\n component: this.component,\n target: {\n // @ts-ignore\n name: this.component.$props.name,\n value: newValue\n },\n value: newValue\n };\n state.events.forEach(function (eventData) {\n var type = eventData.type;\n delete eventData.type;\n\n if (type) {\n // @ts-ignore\n _this.component.$emit(type, __assign(__assign({}, eventArgs), eventData));\n\n if (type === 'change') {\n // @ts-ignore\n _this.component.$emit('changemodel', newValue); // @ts-ignore\n\n\n _this.component.$emit('update:modelValue', newValue);\n }\n }\n });\n };\n\n DropDownBase.prototype.triggerOnPageChange = function (state, skip, take) {\n // @ts-ignore\n var virtual = this.component.$props.virtual;\n\n if (virtual) {\n var newSkip = Math.min(Math.max(0, skip), Math.max(0, virtual.total - take));\n\n if (newSkip !== virtual.skip) {\n state.events.push({\n type: 'pagechange',\n page: {\n skip: newSkip,\n take: take\n }\n });\n }\n }\n };\n\n DropDownBase.prototype.triggerPageChangeCornerItems = function (item, state) {\n // @ts-ignore\n var props = this.component.$props;\n var _a = props.dataItems,\n dataItems = _a === void 0 ? [] : _a,\n dataItemKey = props.dataItemKey,\n virtual = props.virtual;\n var opened = props.opened !== undefined ? props.opened : this.component.currentOpened;\n\n if (item && virtual && this.vs.enabled) {\n if (virtual.skip > 0 && areSame(item, dataItems[0], dataItemKey)) {\n this.triggerOnPageChange(state, virtual.skip - 1, virtual.pageSize);\n } else if (!opened && virtual.skip + virtual.pageSize < virtual.total && areSame(item, dataItems[dataItems.length - 1], dataItemKey)) {\n this.triggerOnPageChange(state, virtual.skip + 1, virtual.pageSize);\n }\n }\n };\n\n DropDownBase.defaultProps = {\n popupSettings: {\n animate: true,\n height: '200px'\n },\n required: false,\n validityStyles: true\n };\n return DropDownBase;\n}();\n\nexport default DropDownBase;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { templateRendering, getListeners, classNames, Keys, guid, noop, getTemplate } from '@progress/kendo-vue-common';\nimport { ListContainer } from '../common/ListContainer';\nimport { ListFilter } from '../common/ListFilter';\nimport { ListDefaultItem } from '../common/ListDefaultItem';\nimport { List } from '../common/List';\nimport DropDownBase from '../common/DropDownBase';\nimport { isPresent, getItemValue, sameCharsOnly, shuffleData, matchText, areSame, preventDefaultNonInputs, getFocusedItem } from '../common/utils';\nvar VALIDATION_MESSAGE = 'Please select a value from the list!';\n/**\n * Represents the default `DropDownList` component.\n */\n\nvar DropDownList = {\n name: 'KendoDropDownList',\n model: {\n event: 'changemodel'\n },\n props: {\n id: String,\n dataItemKey: {\n type: [Object, String]\n },\n defaultValue: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n name: String,\n modelValue: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n value: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n label: {\n type: String\n },\n placeholder: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n delay: {\n type: Number,\n default: 500\n },\n ignoreCase: {\n type: Boolean,\n default: true\n },\n iconClassName: String,\n defaultItem: [Object, String],\n valueRender: [String, Function, Object],\n valueMap: Function,\n opened: {\n type: Boolean,\n default: undefined\n },\n disabled: Boolean,\n dir: {\n type: String,\n default: undefined\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n accessKey: String,\n dataItems: Array,\n textField: String,\n className: String,\n loading: Boolean,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {\n animate: true,\n height: '200px'\n };\n }\n },\n itemRender: [String, Function, Object],\n listNoDataRender: [String, Function, Object],\n focusedItemIndex: Function,\n header: [String, Function, Object],\n footer: [String, Function, Object],\n filterable: Boolean,\n filter: {\n type: String,\n default: undefined\n },\n virtual: {\n type: Object,\n default: undefined\n },\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n data: function data() {\n return {\n hasMounted: false,\n currentText: '',\n currentValue: '',\n currentFocused: false,\n currentOpened: false,\n searchState: {\n word: '',\n last: ''\n },\n _skipFocusEvent: false,\n valueDuringOnChange: {},\n _navigated: false\n };\n },\n watch: {\n currentOpened: function currentOpened(_, oldValue) {\n // @ts-ignore\n this.prevCurrentOpened = oldValue;\n },\n opened: function opened(_, oldValue) {\n // @ts-ignore\n this.prevOpened = oldValue;\n },\n value: function value(_, oldValue) {\n // @ts-ignore\n this.prevValue = oldValue;\n },\n currentValue: function currentValue(_, oldValue) {\n // @ts-ignore\n this.prevCurrnetValue = oldValue;\n },\n virtual: function virtual(_newValue, _oldValue) {\n // @ts-ignore\n if (_newValue.total !== _oldValue.total) {\n // @ts-ignore\n this.virtualTotalHasChanged = true;\n } // @ts-ignore\n\n\n this.virtualHasChanged = true;\n }\n },\n created: function created() {\n this.valueDuringOnChange = undefined;\n this.currentText = undefined;\n this.currentValue = undefined;\n this.currentFocused = undefined;\n this.currentOpened = undefined;\n this.base = new DropDownBase(this);\n this.anchor = guid();\n this.inputId = guid();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var selectRef = ref(null);\n var baseWrapperRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n selectRef: selectRef,\n baseWrapperRef: baseWrapperRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true;\n this.select = this.v3 ? this.selectRef : this.$refs.select;\n this.base.wrapper = this.v3 ? this.baseWrapperRef : this.$refs.baseWrapper;\n this.base.didMount();\n this.setValidity();\n },\n updated: function updated() {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey,\n virtual = _a.virtual;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;\n var opening = !prevOpened && opened;\n var closing = prevOpened && !opened;\n var list = this.$refs.list;\n var filterInput = this.$refs.filterInput;\n var scrollElement = this.$refs.scrollElement;\n var scroller = this.$refs.scroller;\n\n if (list) {\n // @ts-ignore\n this.base.vs.list = list.list; // @ts-ignore\n\n this.base.list = list.list;\n }\n\n if (scrollElement) {\n this.base.vs.scrollElement = scrollElement;\n }\n\n if (filterInput) {\n this.filterInput = filterInput;\n }\n\n if (scroller) {\n this.base.vs.scrollerRef(scroller);\n }\n\n if (!this.$props.popupSettings.animate) {\n if (opening) {\n this.onPopupOpened();\n } else if (closing) {// this.onPopupClosed();\n }\n } // @ts-ignore\n\n\n if (virtual && this.virtualTotalHasChanged) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset(); // @ts-ignore\n\n this.virtualTotalHasChanged = false;\n } else {\n var selectedItem_1 = this.computedValue();\n var prevSelectedItem = this.prevValue !== undefined ? this.prevValue : this.prevCurrnetValue;\n var selectedItemIndex = dataItems.findIndex(function (i) {\n return areSame(i, selectedItem_1, dataItemKey);\n });\n var selectedItemChanged = !areSame(prevSelectedItem, selectedItem_1, dataItemKey);\n\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, selectedItemIndex);\n this.prevCurrentOpened = true;\n } else if (opening && !virtual) {\n this.base.scrollToItem(selectedItemIndex);\n this.prevCurrentOpened = true;\n } else if (opened && prevOpened && selectedItem_1 && selectedItemChanged && !this._navigated) {\n this.base.scrollToItem(selectedItemIndex);\n } else if (opened && prevOpened && this._navigated) {\n if (this._navigated && virtual && virtual.skip === 0) {\n this.base.vs.reset();\n } else if (this._navigated && virtual && virtual.skip === virtual.total - virtual.pageSize) {\n this.base.vs.scrollToEnd();\n }\n }\n }\n\n this._navigated = false;\n this.setValidity();\n },\n computed: {\n index: {\n get: function get() {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey;\n var value = this.computedValue(); // TO DO: deprecate it!\n\n return dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !this.computedValue(),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n methods: {\n focus: function focus() {\n if (this.base.wrapper) {\n this.base.wrapper.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n\n if (!isPresent(value) && this.$props.defaultItem !== undefined) {\n value = this.$props.defaultItem;\n }\n\n return value;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$props.required || this.computedValue() !== null && this.computedValue() !== '' && this.computedValue() !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue() === null\n };\n },\n handleItemSelect: function handleItemSelect(index, state) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n virtual = _a.virtual,\n dataItemKey = _a.dataItemKey,\n defaultItem = _a.defaultItem;\n var skip = virtual ? virtual.skip : 0;\n var item = index === -1 && defaultItem !== undefined ? defaultItem : dataItems[index - skip];\n var newSelected = !areSame(item, this.computedValue(), dataItemKey);\n this.triggerOnChange(item, state);\n\n if (newSelected) {\n this.base.triggerPageChangeCornerItems(item, state);\n }\n },\n onNavigate: function onNavigate(state, keyCode) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n defaultItem = _a.defaultItem,\n dataItemKey = _a.dataItemKey,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0,\n total: 0,\n pageSize: 0\n } : _c;\n var vs = this.base.vs;\n var value = this.computedValue();\n var index = dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n var newIndex = this.base.navigation.navigate({\n current: virtual.skip + index,\n max: (vs.enabled ? virtual.total : dataItems.length) - 1,\n min: defaultItem !== undefined ? -1 : 0,\n keyCode: keyCode\n });\n\n if (newIndex !== undefined) {\n this.handleItemSelect(newIndex, state);\n }\n\n this.applyState(state);\n },\n search: function search(event) {\n var _this = this;\n\n clearTimeout(this.typingTimeout);\n\n if (!this.$props.filterable) {\n this.typingTimeout = setTimeout(function () {\n return _this.searchState.word = '';\n }, this.$props.delay);\n this.selectNext(event);\n }\n },\n selectNext: function selectNext(event) {\n var _this = this;\n\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey;\n var mappedData = dataItems.map(function (item, idx) {\n return {\n item: item,\n itemIndex: idx\n };\n });\n var word = this.searchState.word;\n var last = this.searchState.last;\n var isInLoop = sameCharsOnly(word, last);\n var dataLength = mappedData.length;\n var startIndex = Math.max(0, dataItems.findIndex(function (i) {\n return areSame(i, _this.computedValue(), dataItemKey);\n }));\n var defaultItem;\n\n if (this.$props.defaultItem) {\n defaultItem = {\n item: this.$props.defaultItem,\n itemIndex: -1\n };\n dataLength += 1;\n startIndex += 1;\n }\n\n startIndex += isInLoop ? 1 : 0;\n mappedData = shuffleData(mappedData, startIndex, defaultItem);\n var text,\n loopMatch,\n nextMatch,\n index = 0;\n var _c = this.$props,\n textField = _c.textField,\n ignoreCase = _c.ignoreCase;\n\n for (; index < dataLength; index++) {\n text = getItemValue(mappedData[index].item, textField);\n loopMatch = isInLoop && matchText(text, last, ignoreCase);\n nextMatch = matchText(text, word, ignoreCase);\n\n if (loopMatch || nextMatch) {\n index = mappedData[index].itemIndex;\n break;\n }\n }\n\n if (index !== dataLength) {\n var state = this.base.initState();\n state.event = event;\n this.handleItemSelect(index, state);\n this.applyState(state);\n this.valueDuringOnChange = undefined;\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n filterable = _a.filterable,\n disabled = _a.disabled,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0,\n total: 0,\n pageSize: 0\n } : _c;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var keyCode = event.keyCode;\n var homeOrEndKeys = keyCode === Keys.home || keyCode === Keys.end;\n var upOrDownKeys = keyCode === Keys.up || keyCode === Keys.down;\n var shouldOpen = !opened && (event.altKey && keyCode === Keys.down || keyCode === Keys.enter || keyCode === Keys.space);\n var shouldClose = opened && (event.altKey && keyCode === Keys.up || keyCode === Keys.esc);\n var leftOrRightKeys = keyCode === Keys.left || keyCode === Keys.right;\n var shouldNavigate = upOrDownKeys || !filterable && (leftOrRightKeys || homeOrEndKeys);\n var state = this.base.initState();\n state.event = event;\n\n if (disabled) {\n return;\n } else if (homeOrEndKeys && this.base.vs.enabled) {\n if (keyCode === Keys.home) {\n if (virtual.skip !== 0) {\n this.base.triggerOnPageChange(state, 0, virtual.pageSize);\n this._navigated = true;\n } else {\n this.triggerOnChange(dataItems[0], state);\n }\n } else {\n if (virtual.skip < virtual.total - virtual.pageSize) {\n this.base.triggerOnPageChange(state, virtual.total - virtual.pageSize, virtual.pageSize);\n this._navigated = true;\n } else {\n this.triggerOnChange(dataItems[dataItems.length - 1], state);\n }\n }\n } else if (opened && keyCode === Keys.enter) {\n var focusedIndex = this.focusedIndex();\n\n if (focusedIndex !== undefined) {\n this.handleItemSelect(focusedIndex, state);\n }\n\n this.base.togglePopup(state);\n event.preventDefault();\n } else if (shouldOpen || shouldClose) {\n this.base.togglePopup(state);\n event.preventDefault();\n } else if (shouldNavigate) {\n this.onNavigate(state, keyCode);\n event.preventDefault();\n }\n\n this.applyState(state);\n },\n handleItemClick: function handleItemClick(index, event) {\n this.base.handleItemClick(index, event);\n this.valueDuringOnChange = undefined;\n },\n handleFocus: function handleFocus(event) {\n if (this._skipFocusEvent) {\n return;\n }\n\n this.base.handleFocus(event);\n },\n handleBlur: function handleBlur(event) {\n if (this._skipFocusEvent || !this.currentFocused) {\n return;\n }\n\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n state.event = event;\n state.data.currentFocused = false;\n state.events.push({\n type: 'blur'\n });\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n this.applyState(state);\n },\n handleDefaultItemClick: function handleDefaultItemClick(event) {\n var state = this.base.initState();\n state.event = event;\n this.base.togglePopup(state);\n this.triggerOnChange(this.$props.defaultItem, state);\n this.applyState(state);\n },\n handleWrapperClick: function handleWrapperClick(event) {\n var state = this.base.initState();\n state.event = event;\n\n if (!this.currentFocused) {\n // @ts-ignore\n state.data.currentFocused = true;\n }\n\n this.base.togglePopup(state);\n this.applyState(state);\n },\n handleKeyPress: function handleKeyPress(event) {\n if (this.$props.filterable || event.keyCode === Keys.enter) {\n return;\n }\n\n var character = String.fromCharCode(event.charCode || event.keyCode);\n\n if (this.$props.ignoreCase) {\n character = character.toLowerCase();\n }\n\n if (character === ' ') {\n event.preventDefault();\n }\n\n this.searchState = {\n word: this.searchState.word + character,\n last: this.searchState.last + character\n };\n this.search(event);\n },\n handleListFilterChange: function handleListFilterChange(event) {\n var state = this.base.initState();\n state.event = event;\n\n if (this.$props.filter === undefined) {\n // @ts-ignore\n state.data.currentText = event.target.value;\n }\n\n this.base.filterChanged(event.target.value, state);\n this.applyState(state);\n },\n onPopupOpened: function onPopupOpened() {\n if (this.filterInput) {\n this.focusElement(this.filterInput.input);\n }\n },\n onPopupClosed: function onPopupClosed() {\n var _this = this;\n\n if (this.currentFocused) {\n setTimeout(function () {\n if (_this.currentFocused && _this.base.wrapper) {\n _this.focusElement(_this.base.wrapper);\n }\n });\n }\n },\n focusedIndex: function focusedIndex() {\n var filterText = isPresent(this.$props.filter) ? this.$props.filter : this.currentText;\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0\n } : _c,\n dataItemKey = _a.dataItemKey,\n textField = _a.textField,\n focusedItemIndex = _a.focusedItemIndex;\n var value = this.computedValue();\n var selectedIndex = dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n var hasSelected = !(selectedIndex < 0 && !this.$props.defaultItem);\n\n if (!hasSelected && filterText && virtual.skip === 0) {\n return focusedItemIndex ? focusedItemIndex(dataItems, filterText, textField) : dataItems.indexOf(getFocusedItem(dataItems, filterText, textField));\n } else {\n return !hasSelected && virtual.skip === 0 ? 0 : undefined;\n }\n },\n focusElement: function focusElement(element) {\n var _this = this;\n\n this._skipFocusEvent = true;\n element.focus();\n setTimeout(function () {\n return _this._skipFocusEvent = false;\n }, 30);\n },\n setValidity: function setValidity() {\n if (this.select && this.select.setCustomValidity) {\n this.select.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n triggerOnChange: function triggerOnChange(item, state) {\n if (areSame(this.computedValue(), item, this.$props.dataItemKey)) {\n return;\n }\n\n if (this.$props.value === undefined) {\n this.currentValue = item;\n }\n\n this.valueDuringOnChange = item;\n state.events.push({\n type: 'change'\n });\n },\n applyState: function applyState(state) {\n this.base.applyState(state);\n this.valueDuringOnChange = undefined;\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n style = _a.style,\n className = _a.className,\n label = _a.label,\n dir = _a.dir,\n _b = _a.virtual,\n virtual = _b === void 0 ? {\n skip: 0\n } : _b;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var text = getItemValue(this.computedValue(), this.$props.textField);\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var base = this.base;\n var vs = base.vs;\n var id = this.$props.id || this.inputId;\n vs.enabled = this.$props.virtual !== undefined;\n var popupSettings = Object.assign({}, {\n animate: true,\n height: '200px'\n }, this.$props.popupSettings);\n\n var dummySelect = function dummySelect(value) {\n var _this = this;\n /* Dummy component to support forms */\n\n\n return h(\"select\", {\n name: this.$props.name,\n attrs: this.v3 ? undefined : {\n name: this.$props.name,\n id: id,\n tabIndex: -1,\n \"aria-hidden\": true,\n title: this.$props.label\n },\n id: id,\n ref: this.v3 ? function (el) {\n _this.selectRef = el;\n } : 'select',\n tabIndex: -1,\n \"aria-hidden\": true,\n title: this.$props.label,\n style: {\n opacity: 0,\n width: 1,\n border: 0,\n zIndex: -1,\n position: 'absolute',\n left: '50%'\n }\n }, [h(\"option\", {\n value: this.v3 ? this.$props.valueMap ? this.$props.valueMap.call(undefined, value) : value : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.$props.valueMap ? this.$props.valueMap.call(undefined, value) : value\n }\n })]);\n };\n\n var renderDropDownWrapper = function renderDropDownWrapper() {\n var _this = this;\n\n var _a = this.$props,\n dataItemKey = _a.dataItemKey,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n loading = _a.loading,\n iconClassName = _a.iconClassName;\n var valueRender = templateRendering.call(this, this.$props.valueRender, getListeners.call(this));\n var focused = this.currentFocused;\n var value = this.computedValue();\n var selectedIndex = dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n var valueDefaultRendering = h(\"span\", {\n \"class\": \"k-input\"\n }, [text]);\n var valueElement = getTemplate.call(this, {\n h: h,\n template: valueRender,\n defaultRendering: valueDefaultRendering,\n additionalProps: __assign({\n value: this.computedValue()\n }, this.$data)\n });\n return h(\"span\", {\n ref: this.v3 ? function (el) {\n _this.baseWrapperRef = el;\n } : 'baseWrapper',\n role: 'listbox',\n attrs: this.v3 ? undefined : {\n role: 'listbox',\n tabIndex: disabled ? undefined : tabIndex,\n accessKey: this.$props.accessKey,\n \"aria-disabled\": disabled || undefined,\n \"aria-haspopup\": true,\n \"aria-expanded\": opened || false,\n \"aria-owns\": this.base.listBoxId,\n \"aria-activedescendant\": 'option-' + this.base.guid + '-' + (selectedIndex + virtual.skip),\n \"aria-label\": this.$props.label,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n tabIndex: disabled ? undefined : tabIndex,\n accessKey: this.$props.accessKey,\n \"class\": classNames('k-dropdown-wrap', {\n 'k-state-focused': focused,\n 'k-state-disabled': disabled\n }),\n style: this.$props.style,\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown,\n \"keypress\": this.handleKeyPress,\n \"click\": disabled ? noop : this.handleWrapperClick\n },\n onKeypress: this.handleKeyPress,\n onClick: disabled ? noop : this.handleWrapperClick,\n \"aria-disabled\": disabled || undefined,\n \"aria-haspopup\": true,\n \"aria-expanded\": opened || false,\n \"aria-owns\": this.base.listBoxId,\n \"aria-activedescendant\": 'option-' + this.base.guid + '-' + (selectedIndex + virtual.skip),\n \"aria-label\": this.$props.label,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n }, [valueElement, h(\"span\", {\n \"class\": \"k-select\"\n }, [h(\"span\", {\n \"class\": classNames('k-icon', iconClassName, {\n 'k-i-arrow-s': !loading && !iconClassName,\n 'k-i-loading': loading && !iconClassName\n })\n })]), dummySelect.call(this, value)]);\n };\n\n var renderDefaultItem = function renderDefaultItem() {\n var _a = this.$props,\n textField = _a.textField,\n defaultItem = _a.defaultItem,\n dataItemKey = _a.dataItemKey;\n return defaultItem !== undefined && // @ts-ignore\n h(ListDefaultItem, {\n defaultItem: defaultItem,\n attrs: this.v3 ? undefined : {\n defaultItem: defaultItem,\n textField: textField,\n selected: areSame(this.computedValue(), defaultItem, dataItemKey)\n },\n textField: textField,\n selected: areSame(this.computedValue(), defaultItem, dataItemKey),\n key: \"defaultitemkey\",\n onDefaultitemclick: this.handleDefaultItemClick,\n on: this.v3 ? undefined : {\n \"defaultitemclick\": this.handleDefaultItemClick\n }\n });\n };\n\n var renderList = function renderList() {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField,\n dataItemKey = _a.dataItemKey;\n var itemRender = templateRendering.call(this, this.$props.itemRender, getListeners.call(this));\n var listNoDataRender = templateRendering.call(this, this.$props.listNoDataRender, getListeners.call(this));\n var skip = virtual.skip;\n var translate = \"translateY(\" + vs.translate + \"px)\";\n return (// @ts-ignore\n h(List, {\n id: this.base.listBoxId,\n attrs: this.v3 ? undefined : {\n id: this.base.listBoxId,\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: this.focusedIndex(),\n value: this.computedValue(),\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: this.base.guid,\n wrapperStyle: !vs.enabled ? {\n maxHeight: popupSettings.height\n } : {\n float: 'left',\n width: '100%'\n },\n wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n skip: skip,\n itemRender: itemRender,\n noDataRender: listNoDataRender\n },\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: this.focusedIndex(),\n value: this.computedValue(),\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: this.base.guid,\n ref: 'list',\n wrapperStyle: !vs.enabled ? {\n maxHeight: popupSettings.height\n } : {\n float: 'left',\n width: '100%'\n },\n wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n key: \"listkey\",\n skip: skip,\n onListclick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"listclick\": this.handleItemClick\n },\n itemRender: itemRender,\n noDataRender: listNoDataRender\n })\n );\n };\n\n var renderListFilter = function renderListFilter() {\n var filterText = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n return this.$props.filterable && // @ts-ignore\n h(ListFilter, {\n value: filterText,\n attrs: this.v3 ? undefined : {\n value: filterText\n },\n ref: 'filterInput',\n onChange: this.handleListFilterChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleListFilterChange,\n \"keydown\": this.handleKeyDown\n },\n onKeydown: this.handleKeyDown\n });\n }; // Common rendering\n\n\n var renderScrollWrapper = function renderScrollWrapper(children) {\n return vs.enabled ? h(\"div\", {\n onScroll: vs.scrollHandler,\n on: this.v3 ? undefined : {\n \"scroll\": vs.scrollHandler\n },\n ref: 'scroller',\n style: {\n height: popupSettings.height,\n overflowY: 'scroll'\n }\n }, [children]) : children;\n };\n\n var renderScrollElement = function renderScrollElement() {\n return vs.enabled && h(\"div\", {\n ref: 'scrollElement',\n key: 'scrollElementKey'\n });\n };\n\n var renderListContainer = function renderListContainer() {\n var _this2 = this;\n\n var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));\n var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));\n var header = getTemplate.call(this, {\n h: h,\n template: headerTemplate\n });\n var footer = getTemplate.call(this, {\n h: h,\n template: footerTemplate\n });\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n return (// @ts-ignore function children\n h(ListContainer, {\n onMousedown: preventDefaultNonInputs,\n on: this.v3 ? undefined : {\n \"mousedown\": preventDefaultNonInputs,\n \"open\": this.onPopupOpened,\n \"close\": this.onPopupClosed,\n \"blur\": this.handleBlur\n },\n dir: dir !== undefined ? dir : base.dirCalculated,\n attrs: this.v3 ? undefined : {\n dir: dir !== undefined ? dir : base.dirCalculated,\n width: popupWidth // @ts-ignore\n ,\n popupSettings: {\n className: classNames('k-list-container k-reset', popupSettings.className),\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened\n }\n },\n width: popupWidth,\n popupSettings: {\n className: classNames('k-list-container k-reset', popupSettings.className),\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened\n },\n onOpen: this.onPopupOpened,\n onClose: this.onPopupClosed,\n onBlur: this.handleBlur\n }, this.v3 ? function () {\n return [renderListFilter.call(_this2), _this2.$props.virtual ? renderDefaultItem.call(_this2) : undefined, _this2.$props.virtual && header, renderScrollWrapper.call(_this2, !_this2.$props.virtual ? [renderDefaultItem.call(_this2), header, renderList.call(_this2), footer, renderScrollElement.call(_this2)] : [renderList.call(_this2), renderScrollElement.call(_this2)]), _this2.$props.virtual && footer];\n } : [renderListFilter.call(_this2), _this2.$props.virtual ? renderDefaultItem.call(_this2) : undefined, _this2.$props.virtual && header, renderScrollWrapper.call(_this2, !_this2.$props.virtual ? [renderDefaultItem.call(_this2), header, renderList.call(_this2), footer, renderScrollElement.call(_this2)] : [renderList.call(_this2), renderScrollElement.call(_this2)]), _this2.$props.virtual && footer])\n );\n };\n\n if (this.$props.virtual !== undefined) {\n base.vs.skip = virtual.skip; // @ts-ignore\n\n base.vs.total = virtual.total; // @ts-ignore\n\n base.vs.pageSize = virtual.pageSize;\n }\n\n var dropdownlist = h(\"span\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this.anchor,\n \"class\": classNames('k-widget k-dropdown', {\n 'k-state-invalid': !isValid\n }, className),\n style: !label ? style : __assign(__assign({}, style), {\n width: undefined\n }),\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n },\n onMousedown: opened ? preventDefaultNonInputs : noop,\n on: this.v3 ? undefined : {\n \"mousedown\": opened ? preventDefaultNonInputs : noop,\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusin: this.handleFocus,\n onFocusout: this.handleBlur\n }, [renderDropDownWrapper.call(this), renderListContainer.call(this)]);\n return label ? h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [dropdownlist, this.$props.label ? id ? h(\"label\", {\n \"for\": id,\n attrs: this.v3 ? undefined : {\n \"for\": id\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : dropdownlist;\n }\n};\nvar DropDownListVue3 = DropDownList;\nexport { DropDownList, DropDownListVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { canUseDOM } from '@progress/kendo-vue-common';\n/**\n * Represents the default `SearchBar` component.\n */\n\nvar SearchBar = {\n name: 'search-bar',\n // @ts-ignore\n emits: {\n 'change': null,\n 'keydown': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n value: String,\n id: String,\n placeholder: String,\n tabIndex: Number,\n size: {\n type: Number,\n default: undefined\n },\n suggestedText: String,\n focused: Boolean,\n disabled: Boolean,\n readOnly: Boolean,\n expanded: Boolean,\n owns: String,\n name: String,\n activedescendant: String,\n describedby: String,\n clearButton: Boolean,\n accessKey: String\n },\n data: function data() {\n return {\n prevValue: undefined,\n prevSuggestedText: undefined\n };\n },\n watch: {\n suggestedText: function suggestedText(_, oldValue) {\n this.prevSuggestedText = oldValue;\n },\n value: function value(_, oldValue) {\n this.prevValue = oldValue;\n }\n },\n updated: function updated() {\n var _a = this.$props,\n value = _a.value,\n suggestedText = _a.suggestedText,\n focused = _a.focused;\n\n if (!this.input) {\n this.input = this.$refs.input;\n }\n\n var input = this.input;\n var valueChanged = this.$data.prevValue !== value || suggestedText !== this.prevSuggestedText;\n var deleting = valueChanged && this.$data.prevValue && this.$data.prevValue.startsWith(value) && !(this.$data.prevSuggestedText && suggestedText && this.$data.prevSuggestedText.endsWith(suggestedText));\n\n if (focused && input && canUseDOM && document.activeElement !== input) {\n input.focus();\n }\n\n if (suggestedText && valueChanged && !deleting && input) {\n input.setSelectionRange(value.length - suggestedText.length, value.length);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n mounted: function mounted() {\n this.input = this.v3 ? this.inputRef : this.$refs.input;\n },\n methods: {\n onChange: function onChange(e) {\n this.$emit('change', e);\n },\n onBlur: function onBlur(e) {\n this.$emit('blur', e);\n },\n onFocus: function onFocus(e) {\n this.$emit('focus', e);\n },\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n },\n clearButtonClick: function clearButtonClick(e) {\n this.$emit('clearbuttonclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var suggestedText = this.$props.suggestedText;\n return h(\"span\", {\n \"class\": \"k-searchbar\",\n key: \"searchbar\"\n }, [h(\"input\", {\n autoComplete: \"off\",\n attrs: this.v3 ? undefined : {\n autoComplete: \"off\",\n id: this.$props.id,\n type: \"text\",\n placeholder: this.$props.placeholder,\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n role: \"listbox\",\n name: this.$props.name,\n size: this.$props.size ? this.$props.size : 20,\n \"aria-disabled\": this.$props.disabled || undefined,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readOnly || undefined,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.$props.expanded || false,\n \"aria-owns\": this.$props.owns,\n \"aria-activedescendant\": this.$props.activedescendant,\n \"aria-describedby\": this.$props.describedby\n },\n id: this.$props.id,\n type: \"text\",\n placeholder: this.$props.placeholder,\n \"class\": \"k-input\",\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n role: \"listbox\",\n name: this.$props.name,\n value: this.v3 ? this.$props.value : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.$props.value\n },\n size: this.$props.size ? this.$props.size : 20,\n onInput: this.onChange,\n on: this.v3 ? undefined : {\n \"input\": this.onChange,\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"blur\": this.onBlur\n },\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n onKeydown: this.onKeyDown,\n onFocusin: this.onFocus,\n onBlur: this.onBlur,\n \"aria-disabled\": this.$props.disabled || undefined,\n disabled: this.$props.disabled || undefined,\n readOnly: this.$props.readOnly || undefined,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": this.$props.expanded || false,\n \"aria-owns\": this.$props.owns,\n \"aria-activedescendant\": this.$props.activedescendant,\n \"aria-describedby\": this.$props.describedby\n })]);\n }\n};\nvar SearchBarVue3 = SearchBar;\nexport { SearchBar, SearchBarVue3 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, clear } from '../messages';\n/**\n * Represents the default `ClearButton` component.\n */\n\nvar ClearButton = {\n name: 'clear-button',\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n methods: {\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n },\n onClickHandler: function onClickHandler(e) {\n this.$emit('clearclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var title = provideLocalizationService(this).toLanguageString(clear, messages[clear]);\n return h(\"span\", {\n \"class\": \"k-icon k-clear-value k-i-close\",\n role: \"button\",\n attrs: this.v3 ? undefined : {\n role: \"button\",\n tabIndex: -1,\n title: title\n },\n onClick: this.onClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onClickHandler,\n \"mousedown\": this.onMouseDown\n },\n onMousedown: this.onMouseDown,\n tabIndex: -1,\n title: title,\n key: \"clearbutton\"\n });\n }\n};\nvar ClearButtonVue3 = ClearButton;\nexport { ClearButton, ClearButtonVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport DropDownBase from '../common/DropDownBase';\nimport { guid, classNames, Keys, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nimport { areSame, itemIndexStartsWith, getItemIndexByText, getItemValue, isPresent, suggestValue as _suggestValue } from '../common/utils';\nimport { SearchBar } from '../common/SearchBar';\nimport { ListContainer } from '../common/ListContainer';\nimport { List } from '../common/List';\nimport { ClearButton } from '../common/ClearButton';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\n/**\n * Represents the default `ComboBox` component.\n */\n\nvar ComboBox = {\n name: 'KendoComboBox',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n 'filterchange': null,\n change: null,\n focus: null,\n blur: null,\n open: null,\n close: null\n },\n props: {\n id: String,\n dataItemKey: {\n type: [Object, String]\n },\n defaultValue: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n name: String,\n modelValue: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n value: {\n type: [String, Object, Number, Boolean],\n default: undefined\n },\n label: {\n type: String\n },\n placeholder: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validationMessage: {\n type: String,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n iconClassName: String,\n opened: {\n type: Boolean,\n default: undefined\n },\n disabled: Boolean,\n dir: {\n type: String,\n default: undefined\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n accessKey: String,\n dataItems: Array,\n textField: String,\n className: String,\n loading: Boolean,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {\n animate: true,\n height: '200px'\n };\n }\n },\n itemRender: [String, Function, Object],\n listNoDataRender: [String, Function, Object],\n focusedItemIndex: Function,\n header: [String, Function, Object],\n footer: [String, Function, Object],\n filterable: Boolean,\n filter: {\n type: String,\n default: undefined\n },\n virtual: {\n type: Object,\n default: undefined\n },\n suggest: {\n type: Boolean,\n default: false\n },\n allowCustom: {\n type: Boolean,\n default: false\n },\n clearButton: {\n type: Boolean,\n default: true\n },\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n data: function data() {\n return {\n hasMounted: false,\n currentText: '',\n currentValue: '',\n currentFocused: false,\n currentOpened: false,\n searchState: {\n word: '',\n last: ''\n },\n _skipFocusEvent: false,\n valueDuringOnChange: {},\n _navigated: false,\n suggested: ''\n };\n },\n created: function created() {\n this.valueDuringOnChange = undefined;\n this.currentText = undefined;\n this.currentValue = undefined;\n this.currentFocused = undefined;\n this.currentOpened = undefined;\n this.base = new DropDownBase(this);\n this.anchor = guid();\n this.inputId = guid();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var elementRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef,\n elementRef: elementRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true; // @ts-ignore\n\n this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;\n this.base.wrapper = this.v3 ? this.baseWrapperRef : this.$refs.baseWrapper;\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.base.didMount();\n this.setValidity();\n },\n updated: function updated() {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey,\n virtual = _a.virtual;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;\n var opening = !prevOpened && opened;\n var closing = prevOpened && !opened;\n var list = this.$refs.list;\n var scrollElement = this.$refs.scrollElement;\n var scroller = this.$refs.scroller;\n var selectedItem = this.computedValue();\n this.valueOnDidUpdate = selectedItem;\n\n if (list) {\n // @ts-ignore\n this.base.vs.list = list.list; // @ts-ignore\n\n this.base.list = list.list;\n }\n\n if (scrollElement) {\n this.base.vs.scrollElement = scrollElement;\n }\n\n if (scroller) {\n this.base.vs.scrollerRef(scroller);\n } // @ts-ignore\n\n\n if (virtual && this.virtualTotalHasChanged) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset();\n this.virtualTotalHasChanged = false;\n } else {\n var prevSelectedItem = this.prevValue !== undefined ? this.prevValue : this.prevCurrentValue;\n var selectedItemIndex = dataItems.findIndex(function (i) {\n return areSame(i, selectedItem, dataItemKey);\n });\n var selectedItemChanged = !areSame(prevSelectedItem, selectedItem, dataItemKey);\n\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, selectedItemIndex);\n this.prevCurrentOpened = true;\n } else if (opening && !virtual) {\n this.base.scrollToItem(selectedItemIndex);\n this.prevCurrentOpened = true;\n } else if (opened && prevOpened && selectedItem && selectedItemChanged) {\n this.base.scrollToItem(selectedItemIndex);\n }\n }\n\n if (opening && this.input) {\n this.input.focus();\n }\n\n this.setValidity();\n },\n watch: {\n currentOpened: function currentOpened(_, oldValue) {\n this.prevCurrentOpened = oldValue;\n },\n opened: function opened(_, oldValue) {\n this.prevOpened = oldValue;\n },\n value: function value(_, oldValue) {\n this.prevValue = oldValue;\n },\n currentValue: function currentValue(_, oldValue) {\n this.prevCurrentValue = oldValue;\n },\n virtual: function virtual(_newValue, _oldValue) {\n if (_newValue.total !== _oldValue.total) {\n this.virtualTotalHasChanged = true;\n }\n\n this.virtualHasChanged = true;\n }\n },\n computed: {\n index: {\n get: function get() {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey;\n var value = this.computedValue(); // TO DO: deprecate it!\n\n return dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n }\n },\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !this.computedValue(),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n methods: {\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n\n return value;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$props.required || this.computedValue() !== null && this.computedValue() !== '' && this.computedValue() !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue() === null\n };\n },\n handleItemSelect: function handleItemSelect(index, state) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n virtual = _a.virtual,\n dataItemKey = _a.dataItemKey;\n var skip = virtual ? virtual.skip : 0;\n var item = dataItems[index - skip];\n var newSelected = !areSame(item, this.computedValue(), dataItemKey);\n this.triggerOnChange(item, state);\n\n if (this.currentText !== undefined) {\n // @ts-ignore\n state.data.currentText = undefined;\n }\n\n if (newSelected) {\n this.base.triggerPageChangeCornerItems(item, state);\n }\n },\n onNavigate: function onNavigate(state, keyCode) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0\n } : _c;\n var text = this.$props.filter ? this.$props.filter : this.currentText;\n var focusedIndex = this.getFocusedIndex();\n var vs = this.base.vs;\n var value = this.computedValue();\n this.suggested = '';\n\n if (focusedIndex !== -1 && !isPresent(value)) {\n this.handleItemSelect(focusedIndex, state);\n } else if (text === '') {\n this.handleItemSelect(0, state);\n } else {\n var currentIndex = virtual.skip + focusedIndex;\n var newIndex = this.base.navigation.navigate({\n keyCode: keyCode,\n current: currentIndex,\n max: (vs.enabled ? vs.total : dataItems.length) - 1,\n min: 0\n });\n\n if (newIndex !== undefined) {\n this.handleItemSelect(newIndex, state);\n }\n }\n },\n toggleBtnClick: function toggleBtnClick(event) {\n var state = this.base.initState();\n state.event = event;\n this.base.togglePopup(state);\n this.applyState(state);\n },\n applyValueOnEnter: function applyValueOnEnter(value, state) {\n var _a;\n\n var _b = this.$props,\n _c = _b.dataItems,\n dataItems = _c === void 0 ? [] : _c,\n textField = _b.textField,\n allowCustom = _b.allowCustom;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var currentValueText = getItemValue(this.computedValue(), textField);\n var valueIndex = currentValueText === value ? this.index : getItemIndexByText(dataItems, value, textField);\n var itemSelected = valueIndex !== -1;\n var newSelected = undefined;\n this.suggested = '';\n\n if (itemSelected) {\n // typed text match item from list\n newSelected = dataItems[valueIndex];\n } else {\n if (allowCustom) {\n // any custom text not in list\n newSelected = textField !== undefined ? (_a = {}, _a[textField] = value, _a) : value;\n } else {\n return this.selectFocusedItem(value, state);\n }\n }\n\n this.triggerOnChange(newSelected, state);\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n if (this.$props.filter === undefined && this.currentText !== undefined) {\n // @ts-ignore\n state.data.currentText = undefined;\n }\n\n this.applyState(state);\n },\n applyValueOnRejectSuggestions: function applyValueOnRejectSuggestions(text, state) {\n var _a;\n\n var _b = this.$props,\n _c = _b.dataItems,\n dataItems = _c === void 0 ? [] : _c,\n textField = _b.textField,\n allowCustom = _b.allowCustom;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var valueItemText = getItemValue(this.computedValue(), textField);\n this.suggested = '';\n\n if (text === valueItemText || text === '' && !isPresent(valueItemText)) {\n if (opened) {\n this.base.togglePopup(state);\n }\n\n return this.applyState(state);\n }\n\n var valueIndex = getItemIndexByText(dataItems, text, textField, true);\n var itemSelected = valueIndex !== -1;\n var newSelected = null;\n\n if (itemSelected) {\n newSelected = dataItems[valueIndex];\n } else if (allowCustom) {\n newSelected = text ? textField ? (_a = {}, _a[textField] = text, _a) : text : null;\n }\n\n this.triggerOnChange(newSelected, state);\n\n if (this.currentText !== undefined) {\n // @ts-ignore\n state.data.currentText = undefined;\n this.base.filterChanged('', state);\n }\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n this.applyState(state);\n },\n selectFocusedItem: function selectFocusedItem(text, state) {\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0\n } : _c,\n _d = _a.focusedItemIndex,\n focusedItemIndex = _d === void 0 ? itemIndexStartsWith : _d;\n var skip = virtual.skip;\n var focusedIndex = text === '' && skip === 0 ? 0 : focusedItemIndex(dataItems, text, textField);\n\n if (focusedIndex !== -1) {\n this.handleItemSelect(focusedIndex + skip, state);\n } else {\n this.triggerOnChange(null, state);\n\n if (this.currentText !== undefined) {\n // @ts-ignore\n state.data.currentText = undefined;\n }\n }\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n return this.applyState(state);\n },\n handleItemClick: function handleItemClick(index, event) {\n this.base.handleItemClick(index, event);\n this.valueDuringOnChange = undefined;\n },\n handleFocus: function handleFocus(event) {\n this.$emit('focus', event);\n },\n handleBlur: function handleBlur(event) {\n if (this.currentFocused) {\n var state = this.base.initState();\n state.data.currentFocused = false;\n state.events.push({\n type: 'blur'\n });\n state.event = event;\n this.applyValueOnRejectSuggestions(event.currentTarget.value, state);\n }\n },\n onInputKeyDown: function onInputKeyDown(event) {\n var _this = this;\n\n var keyCode = event.keyCode;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n state.event = event;\n\n if (!event.altKey && (keyCode === Keys.up || keyCode === Keys.down)) {\n event.preventDefault();\n this.onNavigate(state, keyCode);\n this.applyState(state);\n return;\n }\n\n var togglePopup = function togglePopup() {\n event.preventDefault();\n\n _this.base.togglePopup(state);\n\n _this.applyState(state);\n };\n\n if (opened) {\n if (event.altKey && keyCode === Keys.up) {\n togglePopup();\n } else if (keyCode === Keys.enter) {\n event.preventDefault();\n this.applyValueOnEnter(event.currentTarget.value, state);\n } else if (keyCode === Keys.esc) {\n this.applyValueOnRejectSuggestions(event.currentTarget.value, state);\n }\n } else if (event.altKey && keyCode === Keys.down) {\n togglePopup();\n }\n },\n inputOnChange: function inputOnChange(event) {\n var state = this.base.initState();\n state.event = event;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var input = event.currentTarget;\n var value = input.value;\n\n if (this.$props.suggest) {\n var selectionAtEnd = input.selectionEnd === value.length;\n var prevText = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n\n if (!isPresent(prevText)) {\n prevText = getItemValue(this.computedValue(), this.$props.textField) || '';\n }\n\n var deletedSuggestion = prevText && prevText === value;\n var deleting = prevText && prevText.length > value.length;\n\n if (deletedSuggestion || deleting || !selectionAtEnd) {\n this.suggested = '';\n } else {\n this.suggestValue(value);\n }\n }\n\n if (this.$props.filter === undefined) {\n // @ts-ignore\n state.data.currentText = value;\n }\n\n if (this.currentFocusedItem !== undefined) {\n // @ts-ignore\n state.data.focusedItem = undefined;\n }\n\n if (!opened) {\n this.base.togglePopup(state);\n }\n\n this.base.filterChanged(value, state);\n this.applyState(state);\n },\n clearButtonClick: function clearButtonClick(event) {\n var state = this.base.initState();\n state.event = event;\n event.stopPropagation();\n this.suggested = '';\n this.base.filterChanged('', state);\n\n if (this.$props.filter === undefined && this.currentText !== undefined) {\n // @ts-ignore\n state.data.currentText = undefined;\n }\n\n this.triggerOnChange(null, state);\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n this.applyState(state);\n },\n getFocusedIndex: function getFocusedIndex() {\n var value = this.computedValue();\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField,\n dataItemKey = _a.dataItemKey,\n _c = _a.virtual,\n virtual = _c === void 0 ? {\n skip: 0\n } : _c,\n _d = _a.focusedItemIndex,\n focusedItemIndex = _d === void 0 ? itemIndexStartsWith : _d;\n var text = this.$props.filter ? this.$props.filter : this.currentText;\n\n if (isPresent(value) && text === undefined) {\n return dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n });\n } else if (text) {\n return focusedItemIndex(dataItems, text, textField);\n } else {\n return virtual.skip === 0 ? 0 : -1;\n }\n },\n suggestValue: function suggestValue(value) {\n var _a = this.$props,\n dataItems = _a.dataItems,\n textField = _a.textField;\n this.suggested = _suggestValue(value, dataItems, textField);\n },\n setValidity: function setValidity() {\n if (this.input && this.input.setCustomValidity) {\n this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n triggerOnChange: function triggerOnChange(item, state) {\n var value = this.computedValue();\n\n if (!isPresent(value) && !isPresent(item) || areSame(value, item, this.$props.dataItemKey)) {\n return;\n }\n\n if (this.$props.value === undefined) {\n this.currentValue = item;\n }\n\n this.valueDuringOnChange = item;\n state.events.push({\n type: 'change'\n });\n },\n applyState: function applyState(state) {\n this.base.applyState(state);\n this.valueDuringOnChange = undefined;\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n dir = _a.dir,\n disabled = _a.disabled,\n clearButton = _a.clearButton,\n label = _a.label,\n textField = _a.textField,\n className = _a.className,\n style = _a.style,\n loading = _a.loading,\n iconClassName = _a.iconClassName,\n virtual = _a.virtual;\n var focused = this.currentFocused;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var selectedItemText = getItemValue(this.computedValue(), textField);\n var inputText = isPresent(text) ? text : selectedItemText;\n var renderClearButton = clearButton && (!!inputText || isPresent(this.computedValue()));\n var base = this.base;\n var vs = base.vs;\n var id = this.$props.id || this.inputId;\n var popupSettings = Object.assign({}, {\n animate: true,\n height: '200px'\n }, this.$props.popupSettings);\n vs.enabled = virtual !== undefined;\n\n if (virtual !== undefined) {\n vs.skip = virtual.skip;\n vs.total = virtual.total;\n vs.pageSize = virtual.pageSize;\n }\n\n var renderList = function renderList() {\n var _a = this.$props,\n dataItemKey = _a.dataItemKey,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b;\n var itemRender = templateRendering.call(this, this.$props.itemRender, getListeners.call(this));\n var listNoDataRender = templateRendering.call(this, this.$props.listNoDataRender, getListeners.call(this));\n\n if (!virtual) {\n virtual = {\n skip: 0\n };\n }\n\n var skip = virtual.skip;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var translate = \"translateY(\" + vs.translate + \"px)\";\n var focusedIndex = opened ? this.getFocusedIndex() : undefined;\n var value = isPresent(text) && text !== selectedItemText ? null : this.computedValue();\n return (// @ts-ignore\n h(List, {\n id: base.listBoxId,\n attrs: this.v3 ? undefined : {\n id: base.listBoxId,\n show: opened,\n dataItems: dataItems,\n focusedIndex: focusedIndex,\n value: value,\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: base.guid,\n wrapperStyle: !vs.enabled ? {\n maxHeight: popupSettings.height\n } : {\n float: 'left',\n width: '100%'\n },\n wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n skip: skip,\n itemRender: itemRender,\n noDataRender: listNoDataRender\n },\n show: opened,\n dataItems: dataItems,\n focusedIndex: focusedIndex,\n value: value,\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: base.guid,\n ref: 'list',\n wrapperStyle: !vs.enabled ? {\n maxHeight: popupSettings.height\n } : {\n float: 'left',\n width: '100%'\n },\n wrapperCssClass: !vs.enabled ? 'k-list-scroller' : undefined,\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n key: \"listkey\",\n skip: skip,\n onListclick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"listclick\": this.handleItemClick\n },\n itemRender: itemRender,\n noDataRender: listNoDataRender\n })\n );\n }; // Common rendering\n\n\n var renderScrollWrapper = function renderScrollWrapper(children) {\n return vs.enabled ? h(\"div\", {\n onScroll: vs.scrollHandler,\n on: this.v3 ? undefined : {\n \"scroll\": vs.scrollHandler\n },\n ref: 'scroller',\n style: {\n height: popupSettings.height,\n overflowY: 'scroll'\n }\n }, [children]) : children;\n };\n\n var renderScrollElement = function renderScrollElement() {\n return vs.enabled && h(\"div\", {\n ref: 'scrollElement',\n key: 'scrollElementKey'\n });\n };\n\n var renderListContainer = function renderListContainer() {\n var _this2 = this;\n\n var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));\n var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));\n var header = getTemplate.call(this, {\n h: h,\n template: headerTemplate\n });\n var footer = getTemplate.call(this, {\n h: h,\n template: footerTemplate\n });\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n return (// @ts-ignore function children\n h(ListContainer, {\n onMousedown: function onMousedown(e) {\n return e.preventDefault();\n },\n on: this.v3 ? undefined : {\n \"mousedown\": function onMousedown(e) {\n return e.preventDefault();\n }\n },\n width: popupWidth,\n attrs: this.v3 ? undefined : {\n width: popupWidth,\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n dir: dir !== undefined ? dir : this.base.dirCalculated\n },\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n dir: dir !== undefined ? dir : this.base.dirCalculated\n }, this.v3 ? function () {\n return [header, renderScrollWrapper.call(_this2, [renderList.call(_this2), renderScrollElement.call(_this2)]), footer];\n } : [header, renderScrollWrapper.call(_this2, [renderList.call(_this2), renderScrollElement.call(_this2)]), footer])\n );\n };\n\n var renderSearchBar = function renderSearchBar(searchText, searchId) {\n var _this = this;\n\n var _a = this.$props,\n placeholder = _a.placeholder,\n tabIndex = _a.tabIndex,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey;\n\n if (!virtual) {\n virtual = {\n skip: 0\n };\n }\n\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var value = this.computedValue();\n var selectedIndex = Math.max(0, dataItems.findIndex(function (i) {\n return areSame(i, value, dataItemKey);\n }));\n\n if (this.suggested && !areSame(this.valueOnDidUpdate, value, dataItemKey)) {\n this.suggested = '';\n }\n\n return (// @ts-ignore function children\n h(SearchBar, {\n id: searchId,\n attrs: this.v3 ? undefined : {\n id: searchId,\n placeholder: placeholder,\n tabIndex: tabIndex || undefined,\n accessKey: this.$props.accessKey,\n value: searchText + this.suggested,\n suggestedText: this.suggested,\n disabled: disabled,\n expanded: opened,\n owns: this.base.listBoxId,\n activedescendant: this.base.guid + '-' + (selectedIndex + virtual.skip),\n ariaLabelledBy: this.$props.ariaLabelledBy,\n ariaDescribedBy: this.$props.ariaDescribedBy\n },\n placeholder: placeholder,\n tabIndex: tabIndex || undefined,\n accessKey: this.$props.accessKey,\n value: searchText + this.suggested,\n suggestedText: this.suggested,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n onKeydown: this.onInputKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onInputKeyDown,\n \"change\": this.inputOnChange,\n \"focus\": this.base.handleFocus,\n \"blur\": this.handleBlur\n },\n onChange: this.inputOnChange,\n onFocus: this.base.handleFocus,\n onBlur: this.handleBlur,\n disabled: disabled,\n expanded: opened,\n owns: this.base.listBoxId,\n activedescendant: this.base.guid + '-' + (selectedIndex + virtual.skip),\n ariaLabelledBy: this.$props.ariaLabelledBy,\n ariaDescribedBy: this.$props.ariaDescribedBy\n })\n );\n };\n\n var combobox = h(\"span\", {\n \"class\": classNames('k-widget k-combobox', {\n 'k-combobox-clearable': clearButton,\n 'k-state-invalid': !isValid\n }, className),\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this.anchor,\n style: !label ? style : __assign(__assign({}, style), {\n width: undefined\n }),\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [h(\"span\", {\n ref: this.v3 ? function (el) {\n _this.baseWrapperRef = el;\n } : 'baseWrapper',\n \"class\": classNames('k-dropdown-wrap', {\n 'k-state-disabled': disabled,\n 'k-state-focused': focused && !disabled\n })\n }, [renderSearchBar.call(this, inputText || '', id), renderClearButton && // @ts-ignore function children\n h(ClearButton, {\n onClearclick: this.clearButtonClick,\n on: this.v3 ? undefined : {\n \"clearclick\": this.clearButtonClick\n },\n key: \"clearbutton\"\n }), h(\"span\", {\n \"class\": \"k-select\",\n onClick: this.toggleBtnClick,\n on: this.v3 ? undefined : {\n \"click\": this.toggleBtnClick,\n \"mousedown\": function mousedown(e) {\n return e.preventDefault();\n }\n },\n onMousedown: function mousedown(e) {\n return e.preventDefault();\n }\n }, [h(\"span\", {\n \"class\": classNames('k-icon', iconClassName, {\n 'k-i-arrow-s': !loading && !iconClassName,\n 'k-i-loading': loading && !iconClassName\n })\n })])]), renderListContainer.call(this)]);\n return label ? h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus\n },\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [combobox, this.$props.label ? id ? h(\"label\", {\n \"for\": id,\n attrs: this.v3 ? undefined : {\n \"for\": id\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : combobox;\n }\n};\nvar ComboBoxVue3 = ComboBox;\nexport { ComboBox, ComboBoxVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { SearchBar } from './../common/SearchBar';\nimport { ListContainer } from './../common/ListContainer';\nimport { List } from './../common/List';\nimport DropDownBase from '../common/DropDownBase';\nimport { ClearButton } from '../common/ClearButton';\nimport { itemIndexStartsWith, getItemValue, areSame, getFocusedItem } from '../common/utils';\nimport { guid, Keys, classNames, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\n/**\n * Represents the default `AutoComplete` component.\n */\n\nvar AutoComplete = {\n name: 'KendoAutoComplete',\n model: {\n event: 'changemodel'\n },\n props: {\n id: String,\n defaultValue: {\n type: [String],\n default: undefined\n },\n name: String,\n modelValue: {\n type: [String],\n default: undefined\n },\n value: {\n type: [String],\n default: undefined\n },\n label: {\n type: String\n },\n placeholder: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validationMessage: {\n type: String,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n disabled: Boolean,\n dir: {\n type: String,\n default: undefined\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n readonly: Boolean,\n accessKey: String,\n dataItems: Array,\n textField: String,\n className: String,\n loading: Boolean,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {\n animate: true,\n height: '200px'\n };\n }\n },\n itemRender: [String, Function, Object],\n listNoDataRender: [String, Function, Object],\n focusedItemIndex: Function,\n header: [String, Function, Object],\n footer: [String, Function, Object],\n suggest: {\n type: [Boolean, String],\n default: false\n },\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n data: function data() {\n return {\n hasMounted: false,\n currentText: '',\n currentValue: '',\n currentFocused: false,\n currentOpened: false,\n focusedItem: undefined,\n searchState: {\n word: '',\n last: ''\n },\n valueDuringOnChange: {},\n suggested: ''\n };\n },\n created: function created() {\n this.valueDuringOnChange = undefined;\n this.currentText = undefined;\n this.currentValue = undefined;\n this.currentFocused = undefined;\n this.currentOpened = undefined;\n this.base = new DropDownBase(this);\n this.anchor = guid();\n this.inputId = guid();\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true; // @ts-ignore\n\n this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;\n this.base.wrapper = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];\n this.base.didMount();\n this.setValidity();\n },\n watch: {\n currentOpened: function currentOpened(_, oldValue) {\n this.prevCurrentOpened = oldValue;\n },\n opened: function opened(_, oldValue) {\n this.prevOpened = oldValue;\n },\n dataItems: function dataItems(_, oldValue) {\n this.prevData = oldValue;\n },\n focusedItem: function focusedItem(_, oldValue) {\n this.prevFocusedItem = oldValue;\n }\n },\n updated: function updated() {\n var _a = this.$props.dataItems,\n dataItems = _a === void 0 ? [] : _a;\n var focusedIndex = this.focusedIndex();\n var focusedItem = dataItems[focusedIndex];\n var dataChanged = this.prevData !== dataItems;\n var focusedItemChanged = focusedItem !== undefined && this.prevFocusedItem !== focusedItem;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;\n var opening = !prevOpened && opened;\n var list = this.$refs.list;\n\n if (list) {\n // @ts-ignore\n this.base.vs.list = list.list; // @ts-ignore\n\n this.base.list = list.list;\n }\n\n if (dataItems.length && (opened && (focusedItemChanged || dataChanged) || opening)) {\n this.base.scrollToItem(focusedIndex);\n }\n\n this.setValidity();\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !this.computedValue(),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n methods: {\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n\n return value;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$props.required || this.computedValue() !== null && this.computedValue() !== '' && this.computedValue() !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue() === null\n };\n },\n handleItemSelect: function handleItemSelect(index, state) {\n var _a = this.$props.dataItems,\n dataItems = _a === void 0 ? [] : _a;\n var newText = getItemValue(dataItems[index], this.$props.textField);\n this.triggerOnChange(newText, state);\n },\n itemFocus: function itemFocus(index, state) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField;\n var focusedItem = dataItems[index];\n\n if (!areSame(this.$data.focusedItem, focusedItem, textField)) {\n state.data.focusedItem = focusedItem;\n }\n },\n togglePopup: function togglePopup(state) {\n this.base.togglePopup(state);\n },\n onNavigate: function onNavigate(state, keyCode) {\n var _this = this;\n\n var typedText = this.computedValue();\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField,\n focusedItemIndex = _a.focusedItemIndex;\n var focusedIndex = this.$data.focusedItem !== undefined ? dataItems.findIndex(function (i) {\n return areSame(i, _this.$data.focusedItem, textField);\n }) : focusedItemIndex ? focusedItemIndex(dataItems, typedText, textField) : dataItems.indexOf(getFocusedItem(dataItems, typedText, textField));\n var newFocused = this.base.navigation.navigate({\n keyCode: keyCode,\n current: focusedIndex,\n max: dataItems.length - 1,\n min: 0\n });\n\n if (newFocused !== undefined) {\n this.itemFocus(newFocused, state);\n }\n\n this.applyState(state);\n },\n\n /**\n * @hidden\n */\n applyInputValue: function applyInputValue(value, state, eventKey) {\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField;\n this.suggested = '';\n\n if (opened && eventKey === Keys.enter) {\n var newValue = getItemValue(dataItems[this.focusedIndex(value)], textField);\n this.triggerOnChange(newValue, state);\n }\n\n if (opened) {\n this.togglePopup(state);\n }\n\n this.applyState(state);\n },\n setValidity: function setValidity() {\n if (this.input && this.input.setCustomValidity) {\n this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n handleItemClick: function handleItemClick(index, event) {\n this.base.handleItemClick(index, event);\n this.valueDuringOnChange = undefined;\n },\n onChangeHandler: function onChangeHandler(event) {\n var base = this.base;\n var state = base.initState();\n var input = event.target;\n var value = input.value;\n var selectionAtEnd = input.selectionEnd === value.length;\n state.event = event;\n var prevSuggestion = this.suggested;\n var prevValue = this.computedValue();\n var prevUserInput = prevValue && prevSuggestion && prevValue.substring(0, prevValue.length - prevSuggestion.length);\n var deletedSuggestion = prevUserInput && prevUserInput === value;\n var deleting = prevUserInput && prevUserInput.length > value.length;\n var suggest = this.$props.suggest;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n\n if (suggest !== undefined && suggest !== false) {\n if (deletedSuggestion || deleting || !selectionAtEnd) {\n this.suggested = '';\n } else {\n this.suggestValue(value);\n }\n\n var newValue = value + this.suggested;\n var suggestion = {\n userInput: value,\n value: this.suggested\n };\n this.triggerOnChange(newValue, state, {\n suggestion: suggestion\n });\n } else {\n this.suggested = '';\n this.triggerOnChange(value, state);\n }\n\n if (!opened && value || opened && !value) {\n this.togglePopup(state);\n }\n\n state.data.focusedItem = undefined;\n this.applyState(state);\n },\n clearButtonClick: function clearButtonClick(event) {\n var base = this.base;\n var state = base.initState();\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n state.event = event;\n var newValue = '';\n this.suggested = '';\n this.triggerOnChange(newValue, state);\n\n if (this.$data.focusedItem !== undefined) {\n state.data.focusedItem = undefined;\n }\n\n if (opened) {\n this.togglePopup(state);\n }\n\n this.applyState(state);\n },\n onInputKeyDown: function onInputKeyDown(event) {\n var keyCode = event.keyCode;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n state.event = event;\n\n var preventDefault = function preventDefault() {\n if (opened) {\n event.preventDefault();\n }\n };\n\n if (keyCode === Keys.enter || keyCode === Keys.esc) {\n preventDefault();\n this.applyInputValue(event.currentTarget.value, state, event.keyCode);\n } else if (keyCode === Keys.up || keyCode === Keys.down) {\n preventDefault();\n this.onNavigate(state, keyCode);\n }\n },\n handleBlur: function handleBlur(event) {\n if (this.currentFocused) {\n var state = this.base.initState();\n state.data.focused = false;\n state.events.push({\n type: 'blur'\n });\n state.event = event;\n this.applyInputValue(event.currentTarget.value, state);\n this.currentFocused = false;\n }\n },\n triggerOnChange: function triggerOnChange(newValue, state, eventArgs) {\n if (this.computedValue() === newValue && !eventArgs) {\n return;\n } // @ts-ignore\n\n\n state.data.currentValue = newValue;\n this.valueDuringOnChange = newValue;\n state.events.push(__assign({\n type: 'change'\n }, eventArgs || {}));\n },\n applyState: function applyState(state) {\n this.base.applyState(state);\n this.valueDuringOnChange = undefined;\n },\n suggestValue: function suggestValue(value) {\n this.suggested = '';\n\n if (value) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField;\n var suggestedItem = dataItems[itemIndexStartsWith(dataItems, value, textField)];\n\n if (suggestedItem) {\n var suggestedText = getItemValue(suggestedItem, textField);\n\n if (value.toLowerCase() !== suggestedText.toLowerCase()) {\n this.suggested = suggestedText.substring(value.length);\n }\n }\n }\n },\n focusedIndex: function focusedIndex(value) {\n var _this = this;\n\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n textField = _a.textField,\n focusedItemIndex = _a.focusedItemIndex;\n var inputValue = value !== undefined ? value : this.computedValue();\n return this.$data.focusedItem !== undefined ? dataItems.findIndex(function (i) {\n return areSame(i, _this.$data.focusedItem, textField);\n }) : focusedItemIndex ? focusedItemIndex(dataItems, inputValue, textField) : Math.max(0, dataItems.indexOf(getFocusedItem(dataItems, inputValue, textField)));\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n dir = _a.dir,\n disabled = _a.disabled,\n label = _a.label,\n className = _a.className,\n style = _a.style,\n loading = _a.loading,\n suggest = _a.suggest;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var focused = this.currentFocused;\n var base = this.base;\n var value = this.computedValue();\n var clearButton = !loading && !!value;\n var id = this.$props.id || this.inputId;\n var popupSettings = Object.assign({}, {\n animate: true,\n height: '200px'\n }, this.$props.popupSettings);\n\n if (typeof suggest === 'string') {\n this.suggested = suggest;\n }\n\n var renderSearchBar = function renderSearchBar(searchValue, searchId) {\n var _this = this;\n\n var _a = this.$props,\n placeholder = _a.placeholder,\n tabIndex = _a.tabIndex,\n readonly = _a.readonly;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n return (// @ts-ignore function children\n h(SearchBar, {\n id: searchId,\n attrs: this.v3 ? undefined : {\n id: searchId,\n placeholder: placeholder,\n tabIndex: tabIndex || undefined,\n accessKey: this.$props.accessKey,\n value: searchValue,\n suggestedText: this.suggested,\n focused: focused,\n name: this.$props.name,\n disabled: disabled,\n readOnly: readonly,\n expanded: opened,\n owns: base.listBoxId,\n activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(),\n ariaLabelledBy: this.$props.ariaLabelledBy,\n ariaDescribedBy: this.$props.ariaDescribedBy\n },\n placeholder: placeholder,\n tabIndex: tabIndex || undefined,\n accessKey: this.$props.accessKey,\n value: searchValue,\n suggestedText: this.suggested,\n focused: focused,\n name: this.$props.name,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n onKeydown: this.onInputKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onInputKeyDown,\n \"change\": this.onChangeHandler,\n \"focus\": base.handleFocus,\n \"blur\": this.handleBlur,\n \"clearbuttonclick\": this.clearButtonClick\n },\n onChange: this.onChangeHandler,\n onFocus: base.handleFocus,\n onBlur: this.handleBlur,\n disabled: disabled,\n readOnly: readonly,\n expanded: opened,\n owns: base.listBoxId,\n activedescendant: 'option-' + base.guid + '-' + this.focusedIndex(),\n onClearbuttonclick: this.clearButtonClick,\n ariaLabelledBy: this.$props.ariaLabelledBy,\n ariaDescribedBy: this.$props.ariaDescribedBy\n })\n );\n };\n\n var renderList = function renderList() {\n var _a = this.$props,\n textField = _a.textField,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b;\n var itemRender = templateRendering.call(this, this.$props.itemRender, getListeners.call(this));\n var listNoDataRender = templateRendering.call(this, this.$props.listNoDataRender, getListeners.call(this));\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n return (// @ts-ignore\n h(List, {\n id: base.listBoxId,\n attrs: this.v3 ? undefined : {\n id: base.listBoxId,\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: this.focusedIndex(),\n value: value,\n textField: textField,\n valueField: textField,\n highlightSelected: false,\n optionsGuid: base.guid,\n wrapperStyle: {\n maxHeight: popupSettings.height\n },\n wrapperCssClass: \"k-list-scroller\",\n itemRender: itemRender,\n noDataRender: listNoDataRender\n },\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: this.focusedIndex(),\n value: value,\n textField: textField,\n valueField: textField,\n highlightSelected: false,\n optionsGuid: base.guid,\n ref: 'list',\n wrapperStyle: {\n maxHeight: popupSettings.height\n },\n wrapperCssClass: \"k-list-scroller\",\n onListclick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"listclick\": this.handleItemClick\n },\n itemRender: itemRender,\n noDataRender: listNoDataRender\n })\n );\n };\n\n var renderListContainer = function renderListContainer() {\n var _this2 = this;\n\n var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));\n var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));\n var header = getTemplate.call(this, {\n h: h,\n template: headerTemplate\n });\n var footer = getTemplate.call(this, {\n h: h,\n template: footerTemplate\n });\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n return (// @ts-ignore function children\n h(ListContainer, {\n onMousedown: function onMousedown(e) {\n return e.preventDefault();\n },\n on: this.v3 ? undefined : {\n \"mousedown\": function onMousedown(e) {\n return e.preventDefault();\n }\n },\n width: popupWidth,\n attrs: this.v3 ? undefined : {\n width: popupWidth,\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n dir: dir !== undefined ? dir : this.base.dirCalculated\n },\n ref: 'container',\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n dir: dir !== undefined ? dir : this.base.dirCalculated\n }, this.v3 ? function () {\n return [header, renderList.call(_this2), footer];\n } : [header, renderList.call(_this2), footer])\n );\n };\n\n var renderClearButton = function renderClearButton(cbutton) {\n if (cbutton) {\n // @ts-ignore function children\n return h(ClearButton, {\n onClearclick: this.clearButtonClick,\n on: this.v3 ? undefined : {\n \"clearclick\": this.clearButtonClick\n },\n key: \"clearbutton\"\n });\n }\n\n return h(\"span\");\n };\n\n var renderLoading = function renderLoading(cloading) {\n if (cloading) {\n return h(\"span\", {\n \"class\": \"k-icon k-i-loading\"\n });\n }\n\n return h(\"span\");\n };\n\n var autoComplete = h(\"span\", {\n \"class\": classNames('k-widget k-autocomplete', className, {\n 'k-state-disabled': disabled,\n 'k-state-focused': focused && !disabled,\n 'k-state-invalid': !isValid\n }),\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this.anchor,\n style: !label ? style : __assign(__assign({}, style), {\n width: undefined\n }),\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [renderSearchBar.call(this, value || '', id), renderClearButton.call(this, clearButton), renderLoading.call(this, loading), renderListContainer.call(this)]);\n return label ? h(\"span\", {\n \"class\": this.spanClassNames,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [autoComplete, this.$props.label ? id ? h(\"label\", {\n \"for\": id,\n attrs: this.v3 ? undefined : {\n \"for\": id\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : autoComplete;\n }\n};\nvar AutoCompleteVue3 = AutoComplete;\nexport { AutoComplete, AutoCompleteVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nvar tagClassName = 'k-button';\nvar focusedTagClassName = tagClassName + ' k-state-focused';\n\nvar preventDefault = function preventDefault(event) {\n return event.preventDefault();\n};\n\nvar stopPropagation = function stopPropagation(event) {\n return event.stopPropagation();\n};\n/**\n * Represents the default `TagList` component.\n */\n\n\nvar TagList = {\n name: 'TagList',\n props: {\n dataItems: Array,\n guid: String,\n focused: Object,\n tagRender: [String, Function, Object]\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n methods: {\n onTagDelete: function onTagDelete(tagData, event) {\n this.$emit('tagdelete', tagData, event);\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n dataItems = _a.dataItems,\n guid = _a.guid;\n return h(\"ul\", {\n \"class\": \"k-reset\",\n role: \"listbox\",\n attrs: this.v3 ? undefined : {\n role: \"listbox\",\n id: 'tagslist-' + guid\n },\n id: 'tagslist-' + guid\n }, [dataItems.map(function (tagData, index) {\n var _this = this;\n\n var defaultRendering = h(\"li\", {\n \"class\": tagData === this.$props.focused ? focusedTagClassName : tagClassName,\n key: tagData.text + index,\n id: \"tag-\" + guid + \"-\" + tagData.text.replace(/\\s+/g, '-'),\n attrs: this.v3 ? undefined : {\n id: \"tag-\" + guid + \"-\" + tagData.text.replace(/\\s+/g, '-'),\n \"aria-selected\": true,\n role: \"option\",\n \"aria-setsize\": dataItems.length\n },\n onMousedown: preventDefault,\n on: this.v3 ? undefined : {\n \"mousedown\": preventDefault,\n \"click\": stopPropagation\n },\n onClick: stopPropagation,\n \"aria-selected\": true,\n role: \"option\",\n \"aria-setsize\": dataItems.length\n }, [h(\"span\", [tagData.text]), h(\"span\", {\n \"aria-label\": \"delete\",\n attrs: this.v3 ? undefined : {\n \"aria-label\": \"delete\"\n },\n \"class\": \"k-select\",\n onClick: function onClick(e) {\n return _this.onTagDelete(tagData.data, e);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.onTagDelete(tagData.data, e);\n }\n }\n }, [h(\"span\", {\n \"class\": \"k-icon k-i-close\"\n })])]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.tagRender,\n defaultRendering: defaultRendering,\n additionalProps: __assign(__assign({}, this.$props), {\n tagData: tagData,\n index: index\n }),\n additionalListeners: {\n tagdelete: this.onTagDelete\n }\n });\n }, this)]);\n }\n};\nexport { TagList };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar ref = allVue.ref;\nimport { classNames, Keys, guid, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nimport { ListContainer } from '../common/ListContainer';\nimport { List } from '../common/List';\nimport { TagList } from './TagList';\nimport { SearchBar } from '../common/SearchBar';\nimport DropDownBase from '../common/DropDownBase';\nimport { ClearButton } from '../common/ClearButton';\nimport { ActiveDescendant } from './../common/settings';\nimport { itemIndexStartsWith, getItemValue, areSame, matchDataCollections, removeDataItems, isPresent, preventDefaultNonInputs } from '../common/utils';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\n\nvar preventDefault = function preventDefault(event) {\n return event.preventDefault();\n};\n\nvar matchTags = function matchTags(tag1, tag2, key) {\n if (!!tag1 !== !!tag2 || tag1.text !== tag2.text) {\n return false;\n }\n\n return tag1 === tag2 || matchDataCollections(tag1.data, tag2.data, key);\n};\n\nvar isCustom = function isCustom(type) {\n return type === FocusedItemType.CustomItem;\n};\n\nvar FocusedItemType;\n\n(function (FocusedItemType) {\n FocusedItemType[FocusedItemType[\"None\"] = 0] = \"None\";\n FocusedItemType[FocusedItemType[\"ListItem\"] = 1] = \"ListItem\";\n FocusedItemType[FocusedItemType[\"CustomItem\"] = 2] = \"CustomItem\";\n})(FocusedItemType || (FocusedItemType = {}));\n/**\n * Represents the default `MultiSelect` component.\n */\n\n\nvar MultiSelect = {\n name: 'KendoMultiSelect',\n model: {\n event: 'changemodel'\n },\n props: {\n autoClose: {\n type: Boolean,\n default: true\n },\n allowCustom: Boolean,\n modelValue: Array,\n opened: {\n type: Boolean,\n default: undefined\n },\n disabled: Boolean,\n dir: String,\n tabIndex: {\n type: Number,\n default: 0\n },\n accessKey: String,\n dataItems: Array,\n textField: String,\n label: String,\n loading: Boolean,\n name: String,\n value: Array,\n defaultValue: Array,\n dataItemKey: String,\n placeholder: String,\n tags: Array,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n tagRender: [String, Function, Object],\n id: String,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {\n animate: true,\n height: '200px'\n };\n }\n },\n itemRender: [String, Function, Object],\n listNoDataRender: [String, Function, Object],\n focusedItemIndex: Function,\n virtual: {\n type: Object,\n default: undefined\n },\n header: [String, Function, Object],\n footer: [String, Function, Object],\n filterable: Boolean,\n filter: {\n type: String,\n default: undefined\n },\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var inputRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var editorValue = this.currentText || getItemValue(this.computedValue()[0], this.$props.textField);\n return {\n 'k-textbox-container': true,\n 'k-state-focused': this.currentFocused,\n 'k-state-empty': !(editorValue && editorValue !== 0),\n 'k-state-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n }\n },\n created: function created() {\n this.valuesItemsDuringOnChange = null;\n this._tags = [];\n this._skipFocusEvent = false;\n this.scrollToFocused = false;\n this.base = new DropDownBase(this);\n this.anchor = guid();\n this.inputId = guid();\n },\n data: function data() {\n return {\n hasMounted: false,\n currentText: '',\n currentValue: '',\n currentFocused: false,\n currentOpened: false,\n currentFocusedIndex: undefined,\n currentFocusedTag: undefined,\n searchState: {\n word: '',\n last: ''\n },\n suggested: '',\n activedescendant: ActiveDescendant.PopupList\n };\n },\n watch: {\n currentOpened: function currentOpened(_, oldValue) {\n this.prevCurrentOpened = oldValue;\n },\n opened: function opened(_, oldValue) {\n this.prevOpened = oldValue;\n },\n virtual: function virtual(_newValue, _oldValue) {\n if (_newValue.total !== _oldValue.total) {\n this.virtualTotalHasChanged = true;\n }\n }\n },\n updated: function updated() {\n var virtual = this.$props.virtual;\n var skip = virtual ? virtual.skip : 0;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;\n var opening = !prevOpened && opened;\n var closing = prevOpened && !opened;\n var popupSettings = Object.assign({}, {\n animate: true,\n height: '200px'\n }, this.$props.popupSettings);\n var list = this.$refs.list;\n var scrollElement = this.$refs.scrollElement;\n var scroller = this.$refs.scroller;\n\n if (list) {\n // @ts-ignore\n this.base.vs.list = list.list; // @ts-ignore\n\n this.base.list = list.list;\n }\n\n if (scrollElement) {\n this.base.vs.scrollElement = scrollElement;\n }\n\n if (scroller) {\n this.base.vs.scrollerRef(scroller);\n }\n\n if (!popupSettings.animate && closing) {\n this.onPopupClosed();\n }\n\n if (virtual && this.virtualTotalHasChanged) {\n this.base.vs.calcScrollElementHeight();\n this.base.vs.reset();\n this.virtualTotalHasChanged = false;\n } else {\n var _a = this.getFocusedState(),\n focusedItem = _a.focusedItem,\n focusedIndex = _a.focusedIndex;\n\n if (opening && virtual) {\n this.base.scrollToVirtualItem(virtual, focusedIndex - skip);\n this.prevCurrentOpened = true;\n } else if (opening && !virtual) {\n this.base.scrollToItem(focusedIndex);\n this.prevCurrentOpened = true;\n } else if (opened && prevOpened && focusedItem && this.scrollToFocused) {\n this.base.scrollToItem(focusedIndex - skip);\n }\n }\n\n this.scrollToFocused = false;\n this.searchBarRef();\n this.setValidity();\n },\n mounted: function mounted() {\n this.hasMounted = true; // @ts-ignore\n\n this.input = this.v3 ? this.inputRef.input : this.$refs.input.input;\n this.base.wrapper = this.v3 ? this.baseWrapperRef : this.$refs.baseWrapper;\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this.anchor];\n this.base.didMount();\n this.searchBarRef();\n this.setValidity();\n },\n methods: {\n computedValue: function computedValue() {\n var result = [];\n\n if (this.valuesItemsDuringOnChange) {\n result.push.apply(result, this.valuesItemsDuringOnChange);\n } else if (this.$props.value) {\n result.push.apply(result, this.$props.value);\n } else if (this.$props.modelValue !== undefined) {\n result.push.apply(result, this.$props.modelValue);\n } else if (this.currentValue) {\n result.push.apply(result, this.currentValue);\n } else if (this.$props.defaultValue) {\n result.push.apply(result, this.$props.defaultValue);\n }\n\n return result;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var value = this.computedValue();\n var isValid = !this.$props.required || value !== null && value.length > 0 && value !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: value === null\n };\n },\n handleItemSelect: function handleItemSelect(index, state) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey,\n virtual = _a.virtual;\n var value = this.computedValue();\n var skip = virtual ? virtual.skip : 0;\n var dataItem = dataItems[index - skip];\n var indexInValue = value.findIndex(function (i) {\n return areSame(i, dataItem, dataItemKey);\n });\n var newItems = [];\n\n if (indexInValue !== -1) {\n // item is already selected\n newItems = value;\n newItems.splice(indexInValue, 1);\n } else {\n newItems = __spreadArrays(value, [dataItem]);\n }\n\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n\n if (text) {\n if (this.currentText) {\n state.data.currentText = '';\n }\n\n this.base.filterChanged('', state);\n }\n\n if (this.currentFocusedIndex !== undefined) {\n state.data.currentFocusedIndex = undefined;\n }\n\n this.triggerOnChange(newItems, state);\n this.base.triggerPageChangeCornerItems(dataItem, state);\n },\n onTagDelete: function onTagDelete(itemsToRemove, event) {\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n state.event = event;\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n if (!this.currentFocused) {\n state.data.currentFocused = true;\n }\n\n var selected = this.computedValue();\n removeDataItems(selected, itemsToRemove, this.$props.dataItemKey);\n this.triggerOnChange(selected, state);\n this.applyState(state);\n },\n onNavigate: function onNavigate(state, keyCode) {\n var _a = this.$props,\n allowCustom = _a.allowCustom,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n\n var _c = this.getFocusedState(),\n focusedType = _c.focusedType,\n focusedIndex = _c.focusedIndex;\n\n var customItem = allowCustom && text;\n var customItemFocused = isCustom(focusedType);\n var base = this.base;\n var vs = base.vs;\n\n if (opened && keyCode === Keys.up && customItemFocused) {\n if (this.currentFocusedIndex !== undefined) {\n state.data.currentFocusedIndex = undefined;\n }\n } else {\n var newFocused = base.navigation.navigate({\n keyCode: keyCode,\n current: focusedIndex,\n max: (vs.enabled ? vs.total : dataItems.length) - 1,\n min: customItem ? -1 : 0\n });\n\n if (newFocused !== undefined) {\n this.itemFocus(newFocused, state);\n this.scrollToFocused = true;\n }\n }\n\n this.applyState(state);\n },\n itemFocus: function itemFocus(index, state) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n allowCustom = _a.allowCustom,\n virtual = _a.virtual;\n var skip = virtual ? virtual.skip : 0;\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var focusedIndex = this.getFocusedState().focusedIndex;\n var customItem = allowCustom && text;\n var nextFocusedItem = dataItems[index - skip];\n\n if (nextFocusedItem && focusedIndex !== index) {\n if (this.currentFocusedIndex !== index) {\n state.data.currentFocusedIndex = index;\n state.data.activedescendant = ActiveDescendant.PopupList;\n }\n } else if (customItem && index === -1) {\n if (this.currentFocusedIndex !== undefined) {\n state.data.currentFocusedIndex = undefined;\n }\n }\n\n this.base.triggerPageChangeCornerItems(nextFocusedItem, state);\n },\n searchBarRef: function searchBarRef() {\n var _this = this;\n\n if (this.input && this.currentFocused) {\n setTimeout(function () {\n return _this.input.focus();\n }, 0);\n }\n },\n onChangeHandler: function onChangeHandler(event) {\n var state = this.base.initState();\n var value = event.currentTarget.value;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n state.event = event;\n\n if (this.$props.filter === undefined) {\n state.data.currentText = value;\n }\n\n state.data.currentFocusedIndex = undefined;\n\n if (!opened) {\n this.base.togglePopup(state);\n }\n\n this.base.filterChanged(value, state);\n this.applyState(state);\n },\n clearButtonClick: function clearButtonClick(event) {\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n state.event = event;\n event.stopPropagation();\n\n if (this.computedValue().length > 0) {\n this.triggerOnChange([], state);\n }\n\n if (this.currentFocusedIndex !== undefined) {\n state.data.currentFocusedIndex = undefined;\n }\n\n if (opened) {\n this.base.togglePopup(state);\n }\n\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n\n if (isPresent(text) && text !== '') {\n this.base.filterChanged('', state);\n }\n\n if (this.currentText) {\n state.data.currentText = '';\n }\n\n this.applyState(state);\n },\n onInputKeyDown: function onInputKeyDown(event) {\n var _this = this;\n\n var keyCode = event.keyCode;\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var focusedItem = this.getFocusedState().focusedItem;\n var state = this.base.initState();\n state.event = event;\n\n if (!text && this.computedValue().length > 0 && (keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end || keyCode === Keys.delete || keyCode === Keys.backspace)) {\n return this.onTagsNavigate(event, state);\n }\n\n var togglePopup = function togglePopup() {\n event.preventDefault();\n\n _this.base.togglePopup(state);\n\n _this.applyState(state);\n };\n\n if (opened) {\n if (event.altKey && keyCode === Keys.up) {\n togglePopup();\n } else if (keyCode === Keys.up || keyCode === Keys.down) {\n event.preventDefault();\n this.onNavigate(state, keyCode);\n } else if (keyCode === Keys.enter) {\n event.preventDefault();\n\n if (this.$props.allowCustom && text && focusedItem === null) {\n this.customItemSelect(event);\n } else {\n this.selectFocusedItem(event);\n }\n } else if (keyCode === Keys.esc) {\n togglePopup();\n }\n } else if (event.altKey && keyCode === Keys.down) {\n togglePopup();\n }\n },\n onTagsNavigate: function onTagsNavigate(event, state) {\n var keyCode = event.keyCode;\n var focusedTag = this.currentFocusedTag;\n var tags = this._tags;\n var itemsKey = this.$props.dataItemKey;\n var focusedIndex = focusedTag ? tags.findIndex(function (t) {\n return matchTags(t, focusedTag, itemsKey);\n }) : -1;\n var newFocusedTag = undefined;\n var hasFocused = focusedIndex !== -1;\n\n if (keyCode === Keys.left) {\n if (hasFocused) {\n focusedIndex = Math.max(0, focusedIndex - 1);\n } else {\n focusedIndex = tags.length - 1;\n }\n\n newFocusedTag = tags[focusedIndex];\n } else if (keyCode === Keys.right) {\n if (focusedIndex === tags.length - 1) {\n newFocusedTag = undefined;\n } else if (hasFocused) {\n focusedIndex = Math.min(tags.length - 1, focusedIndex + 1);\n newFocusedTag = tags[focusedIndex];\n }\n } else if (keyCode === Keys.home) {\n newFocusedTag = tags[0];\n } else if (keyCode === Keys.end) {\n newFocusedTag = tags[tags.length - 1];\n } else if (keyCode === Keys.delete) {\n if (hasFocused) {\n var items = this.computedValue();\n removeDataItems(items, tags[focusedIndex].data, itemsKey);\n this.triggerOnChange(items, state);\n }\n } else if (keyCode === Keys.backspace) {\n var items = this.computedValue();\n\n if (hasFocused) {\n removeDataItems(items, tags[focusedIndex].data, itemsKey);\n this.triggerOnChange(items, state);\n } else if (!hasFocused && tags.length) {\n var removed = tags.pop();\n removeDataItems(items, removed.data, itemsKey);\n this.triggerOnChange(items, state);\n }\n }\n\n if (newFocusedTag !== focusedTag) {\n state.data.currentFocusedTag = newFocusedTag;\n state.data.activedescendant = ActiveDescendant.TagsList;\n }\n\n this.applyState(state);\n },\n triggerOnChange: function triggerOnChange(items, state) {\n if (this.$props.value === undefined) {\n state.data.currentValue = __spreadArrays(items);\n }\n\n this.valuesItemsDuringOnChange = [];\n this.setItems(items, this.valuesItemsDuringOnChange);\n state.events.push({\n type: 'change'\n });\n },\n selectFocusedItem: function selectFocusedItem(event) {\n var _a = this.$props,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n virtual = _a.virtual;\n var focusedIndex = this.getFocusedState().focusedIndex;\n var skip = virtual ? virtual.skip : 0;\n\n if (dataItems[focusedIndex - skip] !== undefined) {\n this.handleItemClick(focusedIndex, event);\n }\n },\n setItems: function setItems(srcItems, destItems) {\n destItems.length = 0;\n destItems.push.apply(destItems, srcItems);\n },\n getFocusedState: function getFocusedState() {\n var focusedIndex = this.currentFocusedIndex;\n var text = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var _a = this.$props,\n allowCustom = _a.allowCustom,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b,\n dataItemKey = _a.dataItemKey,\n virtual = _a.virtual,\n textField = _a.textField,\n _c = _a.focusedItemIndex,\n focusedItemIndex = _c === void 0 ? itemIndexStartsWith : _c;\n var skip = virtual && virtual.skip || 0;\n var focusedInd;\n\n if (focusedIndex !== undefined) {\n return {\n focusedIndex: focusedIndex,\n focusedItem: dataItems[focusedIndex - skip],\n focusedType: FocusedItemType.ListItem\n };\n }\n\n var selected = this.computedValue();\n\n if (allowCustom && text) {\n return {\n focusedItem: null,\n focusedIndex: -1,\n focusedType: FocusedItemType.CustomItem\n };\n } else if (text) {\n focusedInd = focusedItemIndex(dataItems, text, textField);\n return {\n focusedItem: dataItems[focusedInd],\n focusedIndex: focusedInd + skip,\n focusedType: FocusedItemType.ListItem\n };\n } else if (selected.length) {\n var last_1 = selected[selected.length - 1];\n focusedInd = dataItems.findIndex(function (i) {\n return areSame(i, last_1, dataItemKey);\n });\n\n if (dataItems[focusedInd] !== undefined) {\n return {\n focusedIndex: focusedInd + skip,\n focusedItem: dataItems[focusedInd],\n focusedType: FocusedItemType.ListItem\n };\n }\n\n return {\n focusedType: FocusedItemType.None,\n focusedIndex: -1\n };\n }\n\n return skip === 0 ? {\n focusedItem: dataItems[0],\n focusedIndex: 0,\n focusedType: FocusedItemType.ListItem\n } : {\n focusedType: FocusedItemType.None,\n focusedIndex: -1\n };\n },\n customItemSelect: function customItemSelect(event) {\n var _a;\n\n var itemText = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var textField = this.$props.textField;\n\n if (!itemText) {\n return;\n }\n\n var state = this.base.initState();\n state.event = event;\n var item = textField ? (_a = {}, _a[textField] = itemText, _a) : itemText;\n\n if (this.currentText !== undefined) {\n state.data.currentText = '';\n }\n\n state.data.currentFocusedIndex = undefined;\n this.base.filterChanged('', state);\n\n var newItems = __spreadArrays(this.computedValue(), [item]);\n\n this.triggerOnChange(newItems, state);\n this.base.togglePopup(state);\n this.applyState(state);\n },\n handleWrapperClick: function handleWrapperClick(event) {\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var input = this.input;\n\n if (!opened && input) {\n this.focusElement(input);\n }\n\n var state = this.base.initState();\n state.event = event;\n\n if (!this.currentFocused) {\n state.events.push({\n type: 'focus'\n });\n state.data.currentFocused = true;\n }\n\n this.base.togglePopup(state);\n this.applyState(state);\n },\n handleItemClick: function handleItemClick(index, event) {\n var state = this.base.initState();\n state.event = event;\n this.handleItemSelect(index, state);\n\n if (this.$props.autoClose) {\n this.base.togglePopup(state);\n }\n\n this.applyState(state);\n },\n handleBlur: function handleBlur(event) {\n if (!this.currentFocused || this._skipFocusEvent) {\n return;\n }\n\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var state = this.base.initState();\n var _a = this.$props,\n allowCustom = _a.allowCustom,\n filterable = _a.filterable;\n state.event = event;\n state.data.currentFocused = false;\n state.events.push({\n type: 'blur'\n });\n\n if (opened) {\n if (this.currentOpened) {\n state.data.currentOpened = false;\n }\n\n state.events.push({\n type: 'close'\n });\n }\n\n if (!allowCustom && !filterable && this.currentText) {\n state.data.currentText = '';\n }\n\n this.applyState(state);\n },\n handleFocus: function handleFocus(event) {\n if (this._skipFocusEvent) {\n return;\n }\n\n this.base.handleFocus(event);\n },\n onPopupOpened: function onPopupOpened() {\n if (this.input && this.currentFocused) {\n this.focusElement(this.input);\n }\n },\n onPopupClosed: function onPopupClosed() {\n var _this = this;\n\n if (this.currentFocused) {\n setTimeout(function () {\n if (_this.currentFocused) {\n _this.focusElement(_this.input);\n }\n }, 0);\n }\n },\n focusElement: function focusElement(element) {\n var _this = this;\n\n this._skipFocusEvent = true;\n element.focus();\n setTimeout(function () {\n return _this._skipFocusEvent = false;\n }, 30);\n },\n applyState: function applyState(state) {\n this.base.applyState(state);\n this.valuesItemsDuringOnChange = null;\n },\n setValidity: function setValidity() {\n if (this.input && this.input.setCustomValidity) {\n this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n }\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n style = _a.style,\n label = _a.label,\n dir = _a.dir,\n disabled = _a.disabled,\n tags = _a.tags,\n textField = _a.textField,\n dataItemKey = _a.dataItemKey,\n virtual = _a.virtual,\n loading = _a.loading;\n var focused = this.currentFocused;\n var popupSettings = Object.assign({}, {\n animate: true,\n height: '200px'\n }, this.$props.popupSettings);\n var focusedTag = this.currentFocusedTag;\n var value = this.computedValue();\n var searchText = (this.$props.filter !== undefined ? this.$props.filter : this.currentText) || '';\n var clearButton = !loading && (!!searchText || value.length > 0);\n var vs = this.base.vs;\n var id = this.$props.id || this.inputId;\n var tagRender = templateRendering.call(this, this.$props.tagRender, getListeners.call(this));\n vs.enabled = virtual !== undefined;\n\n if (virtual !== undefined) {\n vs.skip = virtual.skip;\n vs.total = virtual.total;\n vs.pageSize = virtual.pageSize;\n }\n\n var tagsToRender = [];\n\n if (tags === undefined) {\n this.computedValue().forEach(function (item) {\n tagsToRender.push({\n text: getItemValue(item, textField),\n data: [item]\n });\n });\n } else {\n tagsToRender.push.apply(tagsToRender, tags);\n }\n\n this.setItems(tagsToRender, this._tags);\n var isValid = !this.$props.validityStyles || this.validity().valid;\n\n var renderClearButton = function renderClearButton(cbutton) {\n if (cbutton) {\n // @ts-ignore function children\n return h(ClearButton, {\n onClearclick: this.clearButtonClick,\n on: this.v3 ? undefined : {\n \"clearclick\": this.clearButtonClick\n },\n key: \"clearbutton\"\n });\n }\n\n return h(\"span\");\n };\n\n var renderLoading = function renderLoading(cloading) {\n if (cloading) {\n return h(\"span\", {\n \"class\": \"k-icon k-i-loading\"\n });\n }\n\n return h(\"span\");\n };\n\n var renderSearchBar = function renderSearchBar(searchId) {\n var _this = this;\n\n var activedescendant = this.activedescendant;\n var placeholder = this.$props.placeholder;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var focusedIndex = this.getFocusedState().focusedIndex;\n var placeholderToShow = value.length === 0 && !searchText ? placeholder : undefined;\n var ariaActivedescendant = activedescendant === ActiveDescendant.TagsList && focusedTag !== undefined ? \"tag-\" + this.base.guid + \"-\" + focusedTag.text.replace(/\\s+/g, '-') : \"option-\" + this.base.guid + \"-\" + focusedIndex;\n return (// @ts-ignore function children\n h(SearchBar, {\n id: searchId,\n attrs: this.v3 ? undefined : {\n id: searchId,\n size: Math.max((placeholderToShow || '').length, searchText.length, 1),\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n placeholder: placeholderToShow,\n value: searchText,\n disabled: disabled,\n expanded: opened,\n owns: this.base.listBoxId,\n activedescendant: ariaActivedescendant,\n \"aria-describedBy\": \"tagslist-\" + this.base.guid + \" \" + (this.$props.ariaDescribedBy || ''),\n \"aria-labelledBy\": this.$props.ariaLabelledBy\n },\n size: Math.max((placeholderToShow || '').length, searchText.length, 1),\n tabIndex: this.$props.tabIndex,\n accessKey: this.$props.accessKey,\n placeholder: placeholderToShow,\n value: searchText,\n onChange: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.onChangeHandler,\n \"blur\": this.handleBlur,\n \"keydown\": this.onInputKeyDown\n },\n onBlur: this.handleBlur,\n onKeydown: this.onInputKeyDown,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n disabled: disabled,\n expanded: opened,\n owns: this.base.listBoxId,\n activedescendant: ariaActivedescendant,\n \"aria-describedBy\": \"tagslist-\" + this.base.guid + \" \" + (this.$props.ariaDescribedBy || ''),\n \"aria-labelledBy\": this.$props.ariaLabelledBy\n })\n );\n };\n\n var renderList = function renderList() {\n var _a = this.$props.dataItems,\n dataItems = _a === void 0 ? [] : _a;\n var itemRender = templateRendering.call(this, this.$props.itemRender, getListeners.call(this));\n var listNoDataRender = templateRendering.call(this, this.$props.listNoDataRender, getListeners.call(this));\n var skip = virtual ? virtual.skip : 0;\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var focusedIndex = this.getFocusedState().focusedIndex;\n var translate = \"translateY(\" + vs.translate + \"px)\";\n return (// @ts-ignore\n h(List, {\n id: this.base.listBoxId,\n attrs: this.v3 ? undefined : {\n id: this.base.listBoxId,\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: focusedIndex - skip,\n value: this.computedValue(),\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: this.base.guid,\n wrapperStyle: vs.enabled ? {\n float: 'left',\n width: '100%'\n } : {\n maxHeight: popupSettings.height\n },\n wrapperCssClass: vs.enabled ? undefined : 'k-list-scroller',\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n skip: skip,\n itemRender: itemRender,\n noDataRender: listNoDataRender\n },\n show: opened,\n dataItems: dataItems.slice(),\n focusedIndex: focusedIndex - skip,\n value: this.computedValue(),\n textField: textField,\n valueField: dataItemKey,\n optionsGuid: this.base.guid,\n ref: 'list',\n wrapperStyle: vs.enabled ? {\n float: 'left',\n width: '100%'\n } : {\n maxHeight: popupSettings.height\n },\n wrapperCssClass: vs.enabled ? undefined : 'k-list-scroller',\n listStyle: vs.enabled ? {\n transform: translate\n } : undefined,\n key: \"listKey\",\n skip: skip,\n onListclick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"listclick\": this.handleItemClick\n },\n itemRender: itemRender,\n noDataRender: listNoDataRender\n })\n );\n }; // Common rendering\n\n\n var renderScrollWrapper = function renderScrollWrapper(children) {\n return vs.enabled ? h(\"div\", {\n onScroll: vs.scrollHandler,\n on: this.v3 ? undefined : {\n \"scroll\": vs.scrollHandler\n },\n ref: 'scroller',\n style: {\n height: popupSettings.height,\n overflowY: 'scroll'\n }\n }, [children]) : children;\n };\n\n var renderScrollElement = function renderScrollElement() {\n return vs.enabled && h(\"div\", {\n ref: 'scrollElement',\n key: 'scrollElementKey'\n });\n };\n\n var renderListContainer = function renderListContainer() {\n var _this2 = this;\n\n var base = this.base;\n var _a = this.$props,\n allowCustom = _a.allowCustom,\n _b = _a.dataItems,\n dataItems = _b === void 0 ? [] : _b;\n var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));\n var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));\n var header = getTemplate.call(this, {\n h: h,\n template: headerTemplate\n });\n var footer = getTemplate.call(this, {\n h: h,\n template: footerTemplate\n });\n var opened = this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;\n var currentText = this.$props.filter !== undefined ? this.$props.filter : this.currentText;\n var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;\n var focusedType = this.getFocusedState().focusedType;\n var customItem = allowCustom && currentText && h(\"div\", {\n \"class\": \"k-list\",\n key: \"customitem\",\n onClick: this.customItemSelect,\n on: this.v3 ? undefined : {\n \"click\": this.customItemSelect\n }\n }, [h(\"div\", {\n \"class\": classNames('k-item k-custom-item', {\n 'k-state-focused': isCustom(focusedType)\n })\n }, [currentText, h(\"span\", {\n \"class\": \"k-icon k-i-plus\",\n style: {\n float: 'right'\n }\n })])]);\n return (// @ts-ignore function children\n h(ListContainer, {\n ref: 'container',\n onMousedown: preventDefault,\n on: this.v3 ? undefined : {\n \"mousedown\": preventDefault,\n \"blur\": this.handleBlur\n },\n dir: dir !== undefined ? dir : base.dirCalculated,\n attrs: this.v3 ? undefined : {\n dir: dir !== undefined ? dir : base.dirCalculated,\n width: popupWidth,\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n onOpen: this.onPopupOpened,\n onClose: this.onPopupClosed,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n itemsCount: dataItems.length\n },\n onBlur: this.handleBlur,\n width: popupWidth,\n popupSettings: {\n animate: popupSettings.animate,\n anchor: this.anchor,\n show: opened,\n onOpen: this.onPopupOpened,\n onClose: this.onPopupClosed,\n className: classNames('k-list-container k-reset', popupSettings.className),\n appendTo: popupSettings.appendTo\n },\n itemsCount: dataItems.length\n }, this.v3 ? function () {\n return [virtual && header, renderScrollWrapper.call(_this2, [!virtual && header, customItem, renderList.call(_this2), !virtual && footer, renderScrollElement.call(_this2)]), virtual && footer];\n } : [virtual && header, renderScrollWrapper.call(_this2, [!virtual && header, customItem, renderList.call(_this2), !virtual && footer, renderScrollElement.call(_this2)]), virtual && footer])\n );\n };\n\n var component = h(\"span\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this.anchor,\n \"class\": classNames('k-widget k-multiselect', {\n 'k-state-focused': focused && !disabled,\n 'k-state-invalid': !isValid,\n 'k-state-disabled': disabled\n }),\n style: !label ? style : __assign(__assign({}, style), {\n width: undefined\n }),\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n },\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus\n }\n }, [h(\"div\", {\n onClick: this.handleWrapperClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleWrapperClick,\n \"mousedown\": preventDefaultNonInputs\n },\n ref: this.v3 ? function (el) {\n _this.baseWrapperRef = el;\n } : 'baseWrapper',\n \"class\": \"k-multiselect-wrap k-floatwrap\",\n onMousedown: preventDefaultNonInputs\n }, [tagsToRender.length > 0 && // @ts-ignore function children\n h(TagList, {\n tagRender: tagRender,\n attrs: this.v3 ? undefined : {\n tagRender: tagRender,\n dataItems: tagsToRender,\n guid: this.base.guid,\n focused: focusedTag ? tagsToRender.find(function (t) {\n return matchTags(t, focusedTag, dataItemKey);\n }) : undefined\n },\n onTagdelete: this.onTagDelete,\n on: this.v3 ? undefined : {\n \"tagdelete\": this.onTagDelete\n },\n dataItems: tagsToRender,\n guid: this.base.guid,\n focused: focusedTag ? tagsToRender.find(function (t) {\n return matchTags(t, focusedTag, dataItemKey);\n }) : undefined\n }), renderSearchBar.call(this, id), renderClearButton.call(this, clearButton), renderLoading.call(this, loading)]), renderListContainer.call(this)]);\n return label ? h(\"span\", {\n \"class\": this.spanClassNames,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [component, this.$props.label ? id ? h(\"label\", {\n \"for\": id,\n attrs: this.v3 ? undefined : {\n \"for\": id\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : component;\n }\n};\nvar MultiSelectVue3 = MultiSelect;\nexport { MultiSelect, MultiSelectVue3 };","/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nexport var isBlank = function (value) { return value === null || value === undefined; };\n/**\n * @hidden\n */\nexport var isArray = function (value) { return Array.isArray(value); };\n/**\n * @hidden\n */\nexport var isFunction = function (value) { return typeof value === 'function'; };\n/**\n * @hidden\n */\nexport var isString = function (value) { return typeof value === 'string'; };\n/**\n * @hidden\n */\nexport var isTruthy = function (value) { return !!value; };\n/**\n * @hidden\n */\nexport var isNullOrEmptyString = function (value) { return isBlank(value) || value.trim().length === 0; };\n/**\n * @hidden\n */\nexport var isNotNullOrEmptyString = function (value) { return !isNullOrEmptyString(value); };\n/**\n * @hidden\n */\nexport var isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n/**\n * @hidden\n */\nexport var isDate = function (value) { return value && value.getTime; };\n","import { isPresent } from '../utils';\n// tslint:enable:max-line-length\n/**\n * @hidden\n * Type guard for `CompositeFilterDescriptor`.\n */\nexport var isCompositeFilterDescriptor = function (source) {\n return isPresent(source.filters);\n};\n","/**\n * @hidden\n */\nexport var ifElse = function (predicate, right, left) { return function (value) { return predicate(value) ? right(value) : left(value); }; };\n/**\n * @hidden\n * Performs the right-to-left function composition. Functions should have a unary.\n */\nexport var compose = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (data) { return args.reduceRight(function (acc, curr) { return curr(acc); }, data); };\n};\n/**\n * @hidden\n */\nexport var constant = function (x) { return function () { return x; }; };\n/**\n * @hidden\n */\nexport var identity = function (x) { return x; };\n","import * as tslib_1 from \"tslib\";\nimport { isString, isDate } from './utils';\n/**\n * @hidden\n * Creates a single arity function which wraps the value based on the provided predicate.\n * @example\n * ```\n * wrapIf(() => ignoreCase) `tolower(${field})`\n * //ignoreCase=true -> tolower(${field})`\n * //ignoreCase=false -> ${field}`\n * ```\n */\nexport var wrapIf = function (predicate) { return function (str) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return predicate() ? \"\" + str[0] + args[0] + str[1] : args[0];\n}; };\n/**\n * @hidden\n */\nexport var toUTC = function (date) {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n};\n/**\n * @hidden\n */\nexport var quote = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"'\" + value.replace(/'/g, \"''\") + \"'\",\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var encodeValue = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"\" + encodeURIComponent(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var toLower = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n field: wrapIf(function () { return ignoreCase; })(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"tolower(\", \")\"], [\"tolower(\", \")\"])), field),\n value: value,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var normalizeField = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: value,\n field: field.replace(/\\./g, \"/\"),\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var isStringValue = function (x) { return isString(x.value); };\n/**\n * @hidden\n */\nexport var isDateValue = function (x) { return isDate(x.value); };\n/**\n * @hidden\n */\nexport var serializeFilters = function (map, join) { return function (filter) {\n var brackets = wrapIf(function () { return filter.filters.length > 1; });\n return brackets(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"(\", \")\"], [\"(\",\n \")\"])), filter.filters\n .map(map)\n .join(join(filter)));\n}; };\nvar templateObject_1, templateObject_2;\n","import { isPresent, isString, isArray } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nvar operatorMap = function (key) { return ({\n \"!=\": \"neq\",\n \"<\": \"lt\",\n \"<=\": \"lte\",\n \"==\": \"eq\",\n \">\": \"gt\",\n \">=\": \"gte\",\n equal: \"eq\",\n equals: \"eq\",\n equalto: \"eq\",\n ge: \"gte\",\n greater: \"gt\",\n greaterthan: \"gt\",\n greaterthanequal: \"gte\",\n isempty: \"isempty\",\n isequalto: \"eq\",\n isgreaterthan: \"gt\",\n isgreaterthanorequalto: \"gte\",\n islessthan: \"lt\",\n islessthanorequalto: \"lte\",\n isnotempty: \"isnotempty\",\n isnotequalto: \"neq\",\n isnull: \"isnull\",\n le: \"lte\",\n less: \"lt\",\n lessthan: \"lt\",\n lessthanequal: \"lte\",\n ne: \"neq\",\n notequal: \"neq\",\n notequals: \"neq\",\n notequalto: \"neq\",\n notsubstringof: \"doesnotcontain\"\n}[key.toLowerCase()] || key); };\nvar normalizeOperator = function (descriptor) {\n if (descriptor.filters) {\n descriptor.filters = descriptor.filters.map(function (filter) {\n var result = Object.assign({}, filter);\n if (!isCompositeFilterDescriptor(filter) && isString(filter.operator)) {\n result.operator = operatorMap(filter.operator);\n }\n if (isCompositeFilterDescriptor(filter)) {\n normalizeOperator(result);\n }\n return result;\n });\n }\n};\nvar normalizeDescriptor = function (descriptor) {\n if (!isCompositeFilterDescriptor(descriptor)) {\n return {\n filters: isArray(descriptor) ? descriptor : [descriptor],\n logic: \"and\"\n };\n }\n return Object.assign({}, descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.\n *\n * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.\n * @returns {CompositeFilterDescriptor} - The normalized descriptor.\n */\n// tslint:enable:max-line-length\nexport var normalizeFilters = function (descriptor) {\n if (isPresent(descriptor)) {\n descriptor = normalizeDescriptor(descriptor);\n normalizeOperator(descriptor);\n }\n return descriptor;\n};\n","import { isPresent } from './utils';\nvar getterCache = {};\nvar FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n// tslint:disable-next-line:no-string-literal\ngetterCache['undefined'] = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport var getter = function (field, safe) {\n var key = field + safe;\n if (getterCache[key]) {\n return getterCache[key];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_, index, indexAccessor, field) {\n fields.push(isPresent(index) ? index : (indexAccessor || field));\n return undefined;\n });\n getterCache[key] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length; idx++) {\n result = result[fields[idx]];\n if (!isPresent(result) && safe) {\n return result;\n }\n }\n return result;\n };\n return getterCache[key];\n};\n","import * as tslib_1 from \"tslib\";\nimport { isPresent, isNotNullOrEmptyString } from './utils';\nimport { serializeFilter } from './odata-filtering.operators';\nimport { ifElse, constant } from './funcs';\nvar serializeSort = function (orderby) {\n var str = orderby\n .filter(function (sort) { return isPresent(sort.dir); })\n .map(function (sort) {\n var order = sort.field.replace(/\\./g, \"/\");\n return sort.dir === \"desc\" ? order + \" desc\" : order;\n }).join(\",\");\n return str ? \"$orderby=\" + str : str;\n};\nvar emptyString = constant('');\nvar concat = function (a) { return function (b) { return a + b; }; };\nvar serializeKey = function (strings, val) { return ifElse(isPresent, concat(strings[0]), emptyString)(val); };\nvar rules = function (settings, state) { return function (key) { return ({\n \"filter\": serializeFilter(state.filter || {}, settings),\n \"skip\": serializeKey(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"$skip=\", \"\"], [\"$skip=\", \"\"])), state.skip),\n \"sort\": serializeSort(state.sort || []),\n \"take\": serializeKey(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"$top=\", \"\"], [\"$top=\", \"\"])), state.take)\n}[key]); }; };\n// tslint:enable:max-line-length\n/**\n * Converts a [State]({% slug api_kendo-data-query_state %}) into an OData v4 compatible string.\n *\n * @param {State} state - The state that will be serialized.\n * @param {ODataSettings} settings - The settings that are used during the serialization.\n * @returns {string} - The serialized state.\n */\nexport var toODataString = function (state, settings) {\n if (settings === void 0) { settings = {}; }\n return (Object.keys(state)\n .map(rules(settings, state))\n .filter(isNotNullOrEmptyString)\n .join('&'));\n};\nvar templateObject_1, templateObject_2;\n","import * as tslib_1 from \"tslib\";\nimport { isCompositeFilterDescriptor } from '../filtering/filter-descriptor.interface';\nimport { isPresent, isNotNullOrEmptyString, isArray } from '../utils';\nimport { getter } from '../accessor';\nimport { compose, ifElse, identity } from '../funcs';\nimport { isStringValue, isDateValue, quote, serializeFilters, toUTC, encodeValue } from '../filter-serialization.common';\nvar toQueryString = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n return acc.concat([key + \"=\" + value]);\n}, []); };\nvar toObject = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n var _b;\n return (tslib_1.__assign({}, acc, (_b = {}, _b[key] = value, _b)));\n}, {}); };\nvar pairwise = function (key) { return function (value) { return [key, value]; }; };\nvar empty = function () { return null; };\nvar isNotEmptyArray = function (value) { return isPresent(value) && isArray(value) && value.length > 0; };\nvar has = function (accessor) { return function (value) { return isPresent(accessor(value)); }; };\nvar isNotEmpty = function (accessor) { return function (value) { return isNotEmptyArray(accessor(value)); }; };\nvar runOrEmpty = function (predicate, fn) { return ifElse(predicate, fn, empty); };\nvar calcPage = function (_a) {\n var skip = _a.skip, take = _a.take;\n return Math.floor((skip || 0) / take) + 1;\n};\nvar formatDescriptors = function (accessor, formatter) { return function (state) { return (accessor(state).map(formatter).join(\"~\")); }; };\nvar removeAfter = function (what) { return function (str) { return str.slice(0, str.indexOf(what)); }; };\nvar replace = function (patterns) {\n return compose.apply(void 0, patterns.map(function (_a) {\n var left = _a[0], right = _a[1];\n return function (s) { return s.replace(new RegExp(left, \"g\"), right); };\n }));\n};\nvar sanitizeDateLiterals = replace([[\"\\\"\", \"\"], [\":\", \"-\"]]);\nvar removeAfterDot = removeAfter(\".\");\nvar directionFormatter = function (_a) {\n var field = _a.field, _b = _a.dir, dir = _b === void 0 ? \"asc\" : _b;\n return field + \"-\" + dir;\n};\nvar aggregateFormatter = function (_a) {\n var field = _a.field, aggregate = _a.aggregate;\n return field + \"-\" + aggregate;\n};\nvar take = getter(\"take\");\nvar aggregates = getter(\"aggregates\");\nvar skip = getter(\"skip\");\nvar group = getter(\"group\");\nvar sort = getter(\"sort\", true);\nvar formatSort = formatDescriptors(sort, directionFormatter);\nvar formatGroup = formatDescriptors(group, directionFormatter);\nvar formatAggregates = formatDescriptors(aggregates, aggregateFormatter);\nvar prefixDateValue = function (value) { return \"datetime'\" + value + \"'\"; };\nvar formatDateValue = compose(prefixDateValue, removeAfterDot, sanitizeDateLiterals, JSON.stringify, toUTC);\nvar formatDate = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: formatDateValue(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\nvar normalizeSort = function (state) { return Object.assign({}, state, {\n sort: (sort(state) || []).filter(function (_a) {\n var dir = _a.dir;\n return isNotNullOrEmptyString(dir);\n })\n}); };\nvar transformSkip = compose(pairwise('page'), calcPage);\nvar transformTake = compose(pairwise('pageSize'), take);\nvar transformGroup = compose(pairwise('group'), formatGroup);\nvar transformSort = compose(pairwise('sort'), formatSort);\nvar transformAggregates = compose(pairwise('aggregate'), formatAggregates);\nvar serializePage = runOrEmpty(has(skip), transformSkip);\nvar serializePageSize = runOrEmpty(has(take), transformTake);\nvar serializeGroup = runOrEmpty(isNotEmpty(group), transformGroup);\nvar serializeAggregates = runOrEmpty(has(aggregates), transformAggregates);\nvar serializeSort = compose(runOrEmpty(isNotEmpty(sort), transformSort), normalizeSort);\nvar hasField = function (_a) {\n var field = _a.field;\n return isNotNullOrEmptyString(field);\n};\nvar filterFormatter = function (_a) {\n var field = _a.field, operator = _a.operator, value = _a.value;\n return field + \"~\" + operator + \"~\" + value;\n};\nvar dateFormatter = ifElse(isDateValue, compose(filterFormatter, formatDate), filterFormatter);\nvar typedFormatter = function (encode) { return runOrEmpty(hasField, ifElse(isStringValue, compose(filterFormatter, quote, encode ? encodeValue : identity), dateFormatter)); };\nvar join = function (_a) {\n var logic = _a.logic;\n return \"~\" + logic + \"~\";\n};\nvar serialize = function (encode) { return serializeFilters(function (filter) { return ifElse(isCompositeFilterDescriptor, serialize(encode), typedFormatter(encode))(filter); }, join); };\nvar serializeFilter = function (_a, encode) {\n var filter = _a.filter;\n if (filter && filter.filters) {\n var filters = serialize(encode)(filter);\n if (filters.length) {\n return ['filter', filters];\n }\n }\n return null;\n};\nvar rules = function (state, encode) {\n if (encode === void 0) { encode = true; }\n return function (key) { return ({\n \"aggregates\": serializeAggregates(state),\n \"filter\": serializeFilter(state, encode),\n \"group\": serializeGroup(state),\n \"skip\": serializePage(state),\n \"sort\": serializeSort(state),\n \"take\": serializePageSize(state)\n }[key]); };\n};\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into a string\n * that is comparable with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {string} - The serialized state.\n *\n * @example\n * {% platform_content angular %}\n * ```ts\n * import {\n * toDataSourceRequestString,\n * translateDataSourceResultGroups,\n * translateAggregateResults\n * } from '@progress/kendo-data-query';\n *\n * export class Service {\n * private BASE_URL: string = '...';\n *\n * constructor(private http: Http) { }\n *\n * // Omitted for brevity...\n *\n * private fetch(state: DataSourceRequestState): Observable {\n * const queryStr = `${toDataSourceRequestString(state)}`; //serialize the state\n * const hasGroups = state.group && state.group.length;\n *\n * return this.http\n * .get(`${this.BASE_URL}?${queryStr}`) //send the state to the server\n * .map(response => response.json())\n * .map(({Data, Total, AggregateResults}) => // process the response\n * ({\n * //if there are groups convert them to compatible format\n * data: hasGroups ? translateDataSourceResultGroups(Data) : Data,\n * total: Total,\n * // convert the aggregates if such exists\n * aggregateResult: translateAggregateResults(AggregateResults)\n * })\n * );\n * }\n * }\n * ```\n * {% endplatform_content %}\n *\n * {% platform_content react %}\n * ```jsx\n * import React from 'react';\n * import { toDataSourceRequestString, translateDataSourceResultGroups } from '@progress/kendo-data-query';\n *\n * export function withState(WrappedGrid) {\n * return class StatefullGrid extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = { dataState: { skip: 0, take: 20 } };\n * }\n *\n * render() {\n * return (\n * \n * );\n * }\n *\n * componentDidMount() {\n * this.fetchData(this.state.dataState);\n * }\n *\n * dataStateChange = (changeEvent) => {\n * this.setState({ dataState: changeEvent.data });\n * this.fetchData(changeEvent.data);\n * }\n *\n * fetchData(dataState) {\n * const queryStr = `${toDataSourceRequestString(dataState)}`; // Serialize the state\n * const hasGroups = dataState.group && dataState.group.length;\n *\n * const base_url = 'api/Products';\n * const init = { method: 'GET', accept: 'application/json', headers: {} };\n *\n * fetch(`${base_url}?${queryStr}`, init)\n * .then(response => response.json())\n * .then(({ data, total }) => {\n * this.setState({\n * data: hasGroups ? translateDataSourceResultGroups(data) : data,\n * total,\n * dataState\n * });\n * });\n * }\n * }\n * }\n * ```\n * {% endplatform_content %}\n */\nexport var toDataSourceRequestString = function (state) { return (toQueryString(Object.keys(state)\n .map(rules(state))\n .filter(isPresent)).join('&')); };\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into an object\n * that is compatible with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {any} - The serialized state.\n */\nexport var toDataSourceRequest = function (state) { return (toObject(Object.keys(state)\n .map(rules(state, false))\n .filter(isPresent))); };\n","import { isPresent } from '../utils';\nimport { compose } from '../funcs';\n// tslint:enable:max-line-length\nvar set = function (field, target, value) {\n target[field] = value;\n return target;\n};\nvar toCamelCase = function (str) { return str.replace(/(^[A-Z])/g, function (_, g1) { return g1.toLowerCase(); }); };\nvar prop = function (fieldName) { return function (obj) {\n var value = obj[fieldName];\n if (isPresent(value)) {\n return value;\n }\n return obj[toCamelCase(fieldName)];\n}; };\nvar member = prop(\"Member\");\nvar aggregateMethodName = prop(\"AggregateMethodName\");\nvar value = prop(\"Value\");\nvar convert = function (mapper) { return function (values) { return Object.keys(values).reduce(mapper.bind(null, values), {}); }; };\nvar translateAggregate = convert(function (source, acc, field) { return set(field.toLowerCase(), acc, source[field]); });\nvar translateAggregates = convert(function (source, acc, field) { return set(field, acc, translateAggregate(source[field])); });\nvar valueOrDefault = function (value, defaultValue) { return isPresent(value) ? value : defaultValue; };\nvar normalizeGroup = function (group) { return ({\n aggregates: group.Aggregates || group.aggregates,\n field: group.Member || group.member || group.field,\n hasSubgroups: group.HasSubgroups || group.hasSubgroups || false,\n items: group.Items || group.items,\n value: valueOrDefault(group.Key, valueOrDefault(group.key, group.value))\n}); };\nvar translateGroup = compose(function (_a) {\n var field = _a.field, hasSubgroups = _a.hasSubgroups, value = _a.value, aggregates = _a.aggregates, items = _a.items;\n return ({\n aggregates: translateAggregates(aggregates),\n field: field,\n items: hasSubgroups ? items.map(translateGroup) : items,\n value: value\n });\n}, normalizeGroup);\n// tslint:disable:max-line-length\n/**\n * Converts the grouped result, which is returned into the `Data` field of the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `Data` field of the response.\n * @returns {GroupResult[]} - The converted result.\n */\nexport var translateDataSourceResultGroups = function (data) { return data.map(translateGroup); };\n/**\n * Converts the `AggregateResults` field content, which is returned by the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `AggregateResults` field of the response.\n * @returns {AggregateResult} - The converted result.\n */\n// tslint:enable:max-line-length\nexport var translateAggregateResults = function (data) { return ((data || []).reduce(function (acc, x) { return set(member(x), acc, set(aggregateMethodName(x).toLowerCase(), acc[member(x)] || {}, value(x))); }, {})); };\n","import { isPresent, isBlank } from '../utils';\nimport { getter } from '../accessor';\nvar compare = function (a, b) {\n if (isBlank(a)) {\n return a === b ? 0 : -1;\n }\n if (isBlank(b)) {\n return 1;\n }\n if (a.localeCompare) {\n return a.localeCompare(b);\n }\n return a > b ? 1 : (a < b ? -1 : 0);\n};\nvar compareDesc = function (a, b) { return compare(b, a); };\nvar descriptorAsFunc = function (descriptor) {\n var prop = getter(descriptor.field, true);\n return function (a, b) { return (descriptor.dir === 'asc' ? compare : compareDesc)(prop(a), prop(b)); };\n};\nvar initial = function (_a, _b) { return 0; };\n// tslint:disable:max-line-length\n/**\n * Converts the `SortDescriptors` into a [Comparer]({% slug api_kendo-data-query_comparer %}) function that can be used through `Array.sort`. If multiple descriptors are provided, sorting is applied in a right-to-left order.\n * @param {SortDescriptor[]} descriptors - The descriptors which will be converted.\n * @returns {Comparer} - The produced function.\n *\n * @example\n * ```ts\n * import { composeSortDescriptors } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const comparer = composeSortDescriptors([{ field: \"name\", dir: \"asc\" }]);\n * const result = data.sort(comparer);\n * // output: [{ name: \"Beef\" }, { name: \"Pepper\" }, { name: \"Pork\" }];\n * ```\n */\n// tslint:enable:max-line-length\nexport var composeSortDescriptors = function (descriptors) { return (descriptors\n .filter(function (x) { return isPresent(x.dir); })\n .map(function (descriptor) { return descriptorAsFunc(descriptor); })\n .reduce(function (acc, curr) { return function (a, b) { return acc(a, b) || curr(a, b); }; }, initial)); };\n","import { isPresent, isNumeric, isDate } from './utils';\nimport { getter } from './accessor';\nvar valueToString = function (value) {\n value = isPresent(value) && value.getTime ? value.getTime() : value;\n return value + \"\";\n};\n/**\n * @hidden\n */\nexport var groupCombinator = function (field) {\n var prop = getter(field, true);\n var position = 0;\n return function (agg, value) {\n agg[field] = agg[field] || {};\n var groupValue = prop(value);\n var key = valueToString(groupValue);\n var values = agg[field][key] || { __position: position++, aggregates: {}, items: [], value: groupValue };\n values.items.push(value);\n agg[field][key] = values;\n return agg;\n };\n};\n/**\n * @hidden\n */\nexport var expandAggregates = function (result) {\n if (result === void 0) { result = {}; }\n Object.keys(result).forEach(function (field) {\n var aggregates = result[field];\n Object.keys(aggregates).forEach(function (aggregate) {\n aggregates[aggregate] = aggregates[aggregate].result();\n });\n });\n return result;\n};\nvar aggregatesFuncs = function (name) { return ({\n average: function () {\n var value = 0;\n var count = 0;\n return {\n calc: function (curr) {\n if (isNumeric(curr)) {\n value += curr;\n count++;\n }\n else {\n value = curr;\n }\n },\n result: function () { return isNumeric(value) ? value / count : value; }\n };\n },\n count: function () {\n var state = 0;\n return {\n calc: function () { return state++; },\n result: function () { return state; }\n };\n },\n max: function () {\n var state = Number.NEGATIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state < value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n min: function () {\n var state = Number.POSITIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state > value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n sum: function () {\n var state = 0;\n return {\n calc: function (value) {\n value = isPresent(value) ? value : 0;\n state += value;\n },\n result: function () { return state; }\n };\n }\n}[name]()); };\n/**\n * @hidden\n */\nexport var aggregatesCombinator = function (descriptors) {\n var functions = descriptors.map(function (descriptor) {\n var fieldAccessor = getter(descriptor.field, true);\n var aggregateName = (descriptor.aggregate || \"\").toLowerCase();\n var aggregateAccessor = getter(aggregateName, true);\n return function (state, value) {\n var fieldAggregates = state[descriptor.field] || {};\n var aggregateFunction = aggregateAccessor(fieldAggregates)\n || aggregatesFuncs(aggregateName);\n aggregateFunction.calc(fieldAccessor(value));\n fieldAggregates[descriptor.aggregate] = aggregateFunction;\n state[descriptor.field] = fieldAggregates;\n return state;\n };\n });\n return function (state, value) { return functions.reduce(function (agg, calc) { return calc(agg, value); }, state); };\n};\n/**\n * @hidden\n * Adds the value to the `arr` and produces a new array.\n *\n * > The original array will be modified.\n */\nexport var concat = function (arr, value) {\n arr.push(value);\n return arr;\n};\n/**\n * @hidden\n * Returns a reducer that will apply the specified transformation to the value.\n */\nexport var map = function (transform) { return (function (reduce) { return (function (acc, curr, index) { return reduce(acc, transform(curr, index)); }); }); };\n/**\n * @hidden\n * Returns a reducer that will filter out items which do not match the `Predicate`.\n */\nexport var filter = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n */\nexport var isTransformerResult = function (source) {\n return isPresent(source.__value);\n};\nvar reduced = function (x) {\n if (isTransformerResult(x)) {\n return x;\n }\n return {\n __value: x,\n reduced: true\n };\n};\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var take = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- > 0 ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var takeWhile = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will skip the specified number of items.\n */\nexport var skip = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- <= 0 ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n * Transforms the data by applying the supplied transformer.\n */\nexport var exec = function (transform, initialValue, data) {\n var result = initialValue;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n result = transform(result, data[idx], idx);\n if (isTransformerResult(result)) {\n result = result.__value;\n break;\n }\n }\n return result;\n};\n","import { exec, map, aggregatesCombinator, expandAggregates } from '../transducers';\nvar identity = map(function (x) { return x; });\n// tslint:disable:max-line-length\n/**\n * Applies the specified [AggregateDescriptors]({% slug api_kendo-data-query_aggregatedescriptor %}) to the data. Returns an [AggregateResult]({% slug api_kendo-data-query_aggregateresult %}) instance.\n *\n * @example\n * ```ts\n * const data = [\n * { unitPrice: 23, unitsInStock: 21 },\n * { unitPrice: 10, unitsInStock: 12 },\n * { unitPrice: 20, unitsInStock: 33 }\n * ];\n *\n * const result = aggregateBy(data, [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]);\n *\n * //output:\n * // {\n * // \"unitPrice\": { \"sum\": 53 },\n * // \"unitsInStock\": { \"sum\": 66 }\n * // }\n * ```\n * @param {T[]} data - The data on which the calculation will be executed.\n * @param {AggregateDescriptor[]} descriptors - The aggregate operations that will be executed.\n * @param {any} transformers - For internal use.\n * @returns {AggregateResult} - The aggregated result.\n * For more information, refer to the [aggregateresult]({% slug api_kendo-data-query_aggregateresult %}) configuration.\n */\n// tslint:enable:max-line-length\nexport var aggregateBy = function (data, descriptors, transformers) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n var initialValue = {};\n if (!descriptors.length) {\n return initialValue;\n }\n var result = exec(transformers(aggregatesCombinator(descriptors)), initialValue, data);\n return expandAggregates(result);\n};\n","import { isCompositeFilterDescriptor } from \"./filter-descriptor.interface\";\nimport { getter } from \"../accessor\";\nimport { isFunction, isPresent, isDate, isString, isBlank, isNumeric } from \"../utils\";\nvar logic = {\n \"or\": {\n concat: function (acc, fn) { return function (a) { return acc(a) || fn(a); }; },\n identity: function () { return false; }\n },\n \"and\": {\n concat: function (acc, fn) { return function (a) { return acc(a) && fn(a); }; },\n identity: function () { return true; }\n }\n};\nvar operatorsMap = {\n contains: function (a, b) { return (a || \"\").indexOf(b) >= 0; },\n doesnotcontain: function (a, b) { return (a || \"\").indexOf(b) === -1; },\n doesnotendwith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) < 0; },\n doesnotstartwith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === -1; },\n endswith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) >= 0; },\n eq: function (a, b) { return a === b; },\n gt: function (a, b) { return a > b; },\n gte: function (a, b) { return a >= b; },\n isempty: function (a) { return a === ''; },\n isnotempty: function (a) { return a !== ''; },\n isnotnull: function (a) { return isPresent(a); },\n isnull: function (a) { return isBlank(a); },\n lt: function (a, b) { return a < b; },\n lte: function (a, b) { return a <= b; },\n neq: function (a, b) { return a != b; },\n startswith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === 0; }\n};\nvar dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\nvar convertValue = function (value, ignoreCase) {\n if (value != null && isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n return new Date(+date[1]).getTime();\n }\n else if (ignoreCase) {\n return value.toLowerCase();\n }\n }\n else if (value != null && isDate(value)) {\n return value.getTime();\n }\n return value;\n};\nvar typedGetter = function (prop, value, ignoreCase) {\n if (!isPresent(value)) {\n return prop;\n }\n var acc = prop;\n if (isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n value = new Date(+date[1]);\n }\n else {\n acc = function (a) {\n var x = prop(a);\n if (typeof x === 'string' && ignoreCase) {\n return x.toLowerCase();\n }\n else {\n return isNumeric(x) ? x + \"\" : x;\n }\n };\n }\n }\n if (isDate(value)) {\n return function (a) {\n var x = acc(a);\n return isDate(x) ? x.getTime() : x;\n };\n }\n return acc;\n};\nvar transformFilter = function (_a) {\n var field = _a.field, ignoreCase = _a.ignoreCase, value = _a.value, operator = _a.operator;\n field = !isPresent(field) ? function (a) { return a; } : field;\n ignoreCase = isPresent(ignoreCase) ? ignoreCase : true;\n var itemProp = typedGetter(isFunction(field) ? field : getter(field, true), value, ignoreCase);\n value = convertValue(value, ignoreCase);\n var op = isFunction(operator) ? operator : operatorsMap[operator];\n return function (a) { return op(itemProp(a), value, ignoreCase); };\n};\n/**\n * @hidden\n */\nexport var transformCompositeFilter = function (filter) {\n var combiner = logic[filter.logic];\n return filter.filters\n .filter(isPresent)\n .map(function (x) { return isCompositeFilterDescriptor(x) ? transformCompositeFilter(x) : transformFilter(x); })\n .reduce(combiner.concat, combiner.identity);\n};\n","import { isPresent } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nimport { normalizeFilters } from './filter.operators';\nimport { transformCompositeFilter } from \"./filter-no-eval\";\n// tslint:disable:max-line-length\n/**\n * Creates a [Predicate]({% slug api_kendo-data-query_predicate %}) function for the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {CompositeFilterDescriptor} descriptor - The descriptor for which the predicate is created.\n * @returns {Predicate} - The created function instance.\n *\n * @example\n * ```ts\n * import { compileFilter } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const predicate = compileFilter({ logic: \"and\", filters: [{ field: \"name\", operator: \"startswith\", value: \"P\" }] });\n * const result = data.filter(predicate);\n *\n * ```\n */\n// tslint:enable:max-line-length\nexport var compileFilter = function (descriptor) {\n if (!descriptor || descriptor.filters.length === 0) {\n return function () { return true; };\n }\n return transformCompositeFilter(descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Filters the provided array according to the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {T[]} data - The data that will be filtered.\n * @param {(CompositeFilterDescriptor | FilterDescriptor)} descriptor - The filter criteria that will be applied.\n * @returns {T[]} - The filtered data.\n *\n * @example\n * ```ts\n * import { filterBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = filterBy(data, {\n * logic: 'and',\n * filters: [\n * { field: \"name\", operator: \"startswith\", value: \"p\", ignoreCase: true },\n * { field: \"subcategory\", operator: \"eq\", value: \"Meat\" },\n * ]\n * });\n *\n * // output:\n * // [{ \"name\": \"Pork\", \"category\": \"Food\", \"subcategory\": \"Meat\" }]\n * ```\n */\n// tslint:enable:max-line-length\nexport var filterBy = function (data, descriptor) {\n if (!isPresent(descriptor) || (isCompositeFilterDescriptor(descriptor) && descriptor.filters.length === 0)) {\n return data;\n }\n return data.filter(compileFilter(normalizeFilters(descriptor)));\n};\n","import { exec, map, groupCombinator } from '../transducers';\nimport { isArray, isPresent } from '../utils';\nimport { aggregateBy } from './aggregate.operators';\nimport { filterBy } from '../filtering/filter-expression.factory';\n/**\n * @hidden\n */\nexport var normalizeGroups = function (descriptors) {\n descriptors = isArray(descriptors) ? descriptors : [descriptors];\n return descriptors.map(function (x) { return Object.assign({ dir: \"asc\" }, x); });\n};\nvar identity = map(function (x) { return x; });\n/**\n * Groups the provided data according to the specified descriptors.\n *\n * @param {Array} data - The data that will be grouped.\n * @param {GroupDescriptor[]} descriptors - The descriptors.\n * @param {any} transformers - For internal use.\n * @param {Array} originalData - For internal use.\n * @returns {(Array> | T[])} - The grouped data.\n *\n * @example\n * ```ts\n *\n * import { groupBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = groupBy(data, [{ field: \"subcategory\" }]);\n * ```\n */\nexport var groupBy = function (data, descriptors, transformers, originalData) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n if (originalData === void 0) { originalData = data; }\n descriptors = normalizeGroups(descriptors);\n if (!descriptors.length) {\n return data;\n }\n var descriptor = descriptors[0];\n var initialValue = {};\n var view = exec(transformers(groupCombinator(descriptor.field)), initialValue, data);\n var result = [];\n Object.keys(view).forEach(function (field) {\n Object.keys(view[field]).forEach(function (value) {\n var group = view[field][value];\n var aggregateResult = {};\n var filteredData = originalData;\n if (isPresent(descriptor.aggregates)) {\n filteredData = filterBy(originalData, {\n field: descriptor.field,\n ignoreCase: false,\n operator: 'eq',\n value: group.value\n });\n aggregateResult = aggregateBy(filteredData, descriptor.aggregates);\n }\n result[group.__position] = {\n aggregates: aggregateResult,\n field: field,\n items: descriptors.length > 1 ?\n groupBy(group.items, descriptors.slice(1), identity, filteredData)\n : group.items,\n value: group.value\n };\n });\n });\n return result;\n};\n","var merge = function (data, left, middle, right, compare) {\n var leftLength = middle - left;\n var rightLength = right - middle;\n var temp = [];\n for (var idx = 0; idx < leftLength; idx++) {\n temp.push(data[left + idx]);\n }\n var cursor1 = 0;\n var cursor2 = middle;\n var dest = left;\n do {\n if (compare(data[cursor2], temp[cursor1]) < 0) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n else {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n } while (rightLength > 0 && leftLength > 0);\n while (leftLength) {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n while (rightLength) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n};\n/**\n * @hidden\n */\nexport var sort = function (data, start, end, compare) {\n if (end - start < 2) {\n return;\n }\n var mid = (start + end) >>> 1; // tslint:disable-line:no-bitwise\n sort(data, start, mid, compare);\n sort(data, mid, end, compare);\n merge(data, start, mid, end, compare);\n};\n","import { isPresent, isString } from './utils';\nimport { composeSortDescriptors } from './sorting/sort-array.operator';\nimport { groupBy, normalizeGroups } from './grouping/group.operators';\nimport { normalizeFilters } from './filtering/filter.operators';\nimport { compileFilter } from './filtering/filter-expression.factory';\nimport { exec, skip, take, filter, concat } from './transducers';\nimport { getter } from './accessor';\nimport { compose } from './funcs';\nimport { sort } from './sorting/sort';\n/**\n * Orders the specified array according to the provided sort descriptors.\n *\n * @param {T[]} data - The data to be sorted.\n * @param {SortDescriptor[]} descriptors - The descriptors by which the data will be sorted.\n * @returns {T[]} - The sorted data.\n *\n * @example\n * ```ts\n * import { orderBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = orderBy(data, [{ field: \"name\", dir: \"asc\" }]);\n * ```\n */\nexport var orderBy = function (data, descriptors) {\n if (descriptors.some(function (x) { return isPresent(x.dir); })) {\n data = data.slice(0);\n var comparer = composeSortDescriptors(descriptors);\n sort(data, 0, data.length, comparer);\n }\n return data;\n};\nvar defaultComparer = function (a, b) { return a === b; };\nvar normalizeComparer = function (comparer) {\n if (isString(comparer)) {\n var accessor_1 = getter(comparer);\n comparer = function (a, b) { return accessor_1(a) === accessor_1(b); };\n }\n return comparer;\n};\nvar _distinct = function (data, comparer) {\n return data.filter(function (x, idx, xs) { return xs.findIndex(comparer.bind(null, x)) === idx; });\n};\n/**\n * Reduces the provided array so it contains only unique values.\n *\n * @param {T[]} data - The array that will be reduced.\n * @param {(Comparer | string)} comparer - An optional custom comparer function or the field name that will be used for comparison.\n * @returns {T[]} - The reduced data.\n *\n * @example\n * ```ts\n * import { distinct } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = distinct(data, \"subcategory\");\n *\n * // output:\n * // result => [\n * // { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * // { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" }\n * // ];\n * ```\n */\nexport var distinct = function (data, comparer) {\n if (comparer === void 0) { comparer = defaultComparer; }\n return _distinct(data, normalizeComparer(comparer));\n};\n/**\n * @hidden\n */\nexport var count = function (data, predicate) {\n var counter = 0;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n if (predicate(data[idx])) {\n counter++;\n }\n }\n return counter;\n};\n/**\n * @hidden\n */\nexport var limit = function (data, predicate) {\n if (predicate) {\n return data.filter(predicate);\n }\n return data;\n};\n/**\n * Applies the specified operation descriptors to the data.\n *\n * @param {T[]} data - The data to be processed.\n * @param {State} state - The operation descriptors that will be applied to the data.\n * @returns {DataResult} - The processed data.\n *\n * @example\n * ```ts\n *\n * const result = process(data, {\n * skip: 10,\n * take: 20,\n * group: [{\n * field: 'category.categoryName',\n * aggregates: [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]\n * }],\n * sort: [{ field: 'productName', dir: 'desc' }],\n * filter: {\n * logic: \"or\",\n * filters: [\n * { field: \"discontinued\", operator: \"eq\", value: true },\n * { field: \"unitPrice\", operator: \"lt\", value: 22 }\n * ]\n * }\n * });\n *\n * ```\n */\nexport var process = function (data, state) {\n var skipCount = state.skip, takeCount = state.take, filterDescriptor = state.filter, sort = state.sort, group = state.group;\n var sortDescriptors = normalizeGroups(group || []).concat(sort || []);\n if (sortDescriptors.length) {\n data = orderBy(data, sortDescriptors);\n }\n var hasFilters = isPresent(filterDescriptor) && filter.length;\n var hasGroups = isPresent(group) && group.length;\n if (!hasFilters && !hasGroups) {\n return {\n data: takeCount ? data.slice(skipCount, skipCount + takeCount) : data,\n total: data.length\n };\n }\n var total;\n var transformers = [];\n var predicate;\n if (hasFilters) {\n predicate = compileFilter(normalizeFilters(filterDescriptor));\n total = count(data, predicate);\n transformers.push(filter(predicate));\n }\n else {\n total = data.length;\n }\n if (isPresent(skipCount) && isPresent(takeCount)) {\n transformers.push(skip(skipCount));\n transformers.push(take(takeCount));\n }\n if (transformers.length) {\n var transform = compose.apply(void 0, transformers);\n var result = hasGroups ?\n groupBy(data, group, transform, limit(data, predicate)) :\n exec(transform(concat), [], data);\n return { data: result, total: total };\n }\n return {\n data: hasGroups ? groupBy(data, group) : data,\n total: total\n };\n};\n","import * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\n/**\n * Represents the default `PagerNumericButtons` component.\n */\n\nvar PagerNumericButtons = {\n name: 'KendoNumericButtons',\n props: {\n buttonCount: Number,\n totalPages: Number,\n currentPage: Number,\n size: String\n },\n computed: {\n start: {\n get: function get() {\n var page = this.$props.currentPage;\n var buttonCount = this.$props.buttonCount;\n\n if (page > buttonCount) {\n var reminder = page % buttonCount;\n return reminder === 0 ? page - buttonCount + 1 : page - reminder + 1;\n }\n\n return 1;\n }\n },\n end: {\n get: function get() {\n return Math.min(this.start + this.$props.buttonCount - 1, this.$props.totalPages);\n }\n }\n },\n methods: {\n click: function click(e, page) {\n e.preventDefault();\n this.$emit('pagechange', page, e);\n },\n ddlChange: function ddlChange(event) {\n this.$emit('pagechange', parseInt(event.target.value, 10), event);\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var prevDots = this.start > 1 ? h(\"li\", [h(\"a\", {\n \"class\": \"k-link\",\n onClick: function onClick(e) {\n return _this.click(e, _this.start - 1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, _this.start - 1);\n }\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n }\n }, [\"...\"])]) : '';\n var postDots = this.end < this.$props.totalPages ? h(\"li\", [h(\"a\", {\n \"class\": \"k-link\",\n onClick: function onClick(e) {\n return _this.click(e, _this.end + 1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, _this.end + 1);\n }\n },\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n }\n }, [\"...\"])]) : '';\n var buttons = [];\n\n for (var idx = this.start; idx <= this.end; idx++) {\n buttons.push(idx);\n }\n\n var numerics = buttons.map(function (page) {\n var _this = this;\n\n return h(\"li\", {\n key: page\n }, [h(\"a\", {\n href: \"#\",\n attrs: this.v3 ? undefined : {\n href: \"#\"\n },\n onClick: function onClick(e) {\n return _this.click(e, page);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(e) {\n return _this.click(e, page);\n }\n },\n \"class\": this.$props.currentPage === page ? 'k-link k-state-selected' : 'k-link'\n }, [page])]);\n }, this);\n\n var dropdown = function dropdown(currentButtons) {\n return h(\"select\", {\n \"class\": \"k-dropdown\",\n onChange: this.ddlChange,\n on: this.v3 ? undefined : {\n \"change\": this.ddlChange\n }\n }, [currentButtons.map(function (cb) {\n return h(\"option\", {\n value: this.v3 ? cb : null,\n domProps: this.v3 ? undefined : {\n \"value\": cb,\n \"selected\": cb === this.$props.currentPage\n },\n selected: this.v3 ? cb === this.$props.currentPage : null\n }, [cb]);\n }, this)]);\n };\n\n return h(\"div\", {\n \"class\": \"k-pager-numbers-wrap\"\n }, [this.$props.size !== 'small' ? h(\"ul\", {\n \"class\": \"k-pager-numbers k-reset\"\n }, [prevDots, numerics, postDots]) : dropdown.call(this, buttons)]);\n }\n};\nvar PagerNumericButtonsVue3 = PagerNumericButtons;\nexport { PagerNumericButtons, PagerNumericButtonsVue3 };","import { FOCUSABLE_ELEMENTS, KEYBOARD_NAV_DATA_BODY, KEYBOARD_NAV_DATA_HEADER, KEYBOARD_NAV_DATA_ID, KEYBOARD_NAV_DATA_LEVEL, KEYBOARD_NAV_DATA_SCOPE, KEYBOARD_NAV_FILTER_COL_SUFFIX, TABBABLE_ELEMENTS } from './constants';\n/**\n * @hidden\n */\nexport var generateNavigatableId = function (navigationId, idPrefix, type) {\n if (type === void 0) { type = 'cell'; }\n return idPrefix + \"_\" + navigationId + \"_\" + type;\n};\n/**\n * @hidden\n */\nexport var getNavigatableLevel = function (element) {\n if (!element) {\n return;\n }\n return parseInt(element.getAttribute(KEYBOARD_NAV_DATA_LEVEL) || '', 10);\n};\n/**\n * @hidden\n */\nexport var getNavigatableId = function (element) {\n if (!element) {\n return;\n }\n var dataId = element.getAttribute(KEYBOARD_NAV_DATA_ID);\n return dataId ? dataId : undefined;\n};\n/**\n * @hidden\n */\nexport var isNavigatable = function (element) {\n if (!element) {\n return false;\n }\n var dataId = element.getAttribute(KEYBOARD_NAV_DATA_ID);\n return Boolean(dataId);\n};\n/**\n * @hidden\n */\nexport var getNavigatableElement = function (scope, options) {\n if (options === void 0) { options = { level: 0 }; }\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\");\n};\n/**\n * @hidden\n */\nexport var getClosestNavigatableElement = function (target) {\n return (target.parentElement &&\n target.parentElement.closest(\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"]\"));\n};\n/**\n * @hidden\n */\nexport var getActiveElement = function (scope, activeId) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_ID + \"='\" + activeId + \"']\");\n};\n/**\n * @hidden\n */\nexport var getClosestScope = function (target) {\n return (target.parentElement &&\n target.parentElement.closest(\"[\" + KEYBOARD_NAV_DATA_SCOPE + \"]\"));\n};\n/**\n * @hidden\n */\nexport var getHeaderElement = function (scope) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_HEADER + \"]\");\n};\n/**\n * @hidden\n */\nexport var getBodyElement = function (scope) {\n return scope.querySelector(\"[\" + KEYBOARD_NAV_DATA_BODY + \"]\");\n};\n/**\n * @hidden\n */\nexport var getFocusableElements = function (scope, options) {\n if (options === void 0) { options = { focusable: false }; }\n var selectors = options.focusable ? FOCUSABLE_ELEMENTS : TABBABLE_ELEMENTS;\n return Array.from(scope.querySelectorAll(selectors.join(',')));\n};\n/**\n * @hidden\n */\nexport var getNavigatableElements = function (scope, options) {\n if (options === void 0) { options = { level: 0 }; }\n if (!scope) {\n return [];\n }\n var selector = FOCUSABLE_ELEMENTS.map(function (el) { return el + (\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\"); }).join(',');\n return Array.from(scope.querySelectorAll(selector));\n};\n/**\n * @hidden\n */\nexport var filterNavigatableElements = function (options) {\n if (options === void 0) { options = { level: 0 }; }\n var selector = FOCUSABLE_ELEMENTS.map(function (sel) { return sel + (\"[\" + KEYBOARD_NAV_DATA_LEVEL + \"='\" + options.level + \"']\"); }).join(',');\n return function (element) { return element.matches(selector); };\n};\n/**\n * @hidden\n */\nexport var focusElement = function (options) {\n var elementForFocus = options.elementForFocus, event = options.event, kbContext = options.kbContext, prevElement = options.prevElement;\n if (kbContext && elementForFocus && elementForFocus.focus) {\n event.preventDefault();\n elementForFocus.focus();\n if (isNavigatable(elementForFocus)) {\n elementForFocus.setAttribute('tabIndex', '0');\n kbContext.activeId = getNavigatableId(elementForFocus);\n }\n if (prevElement && isNavigatable(prevElement)) {\n prevElement.setAttribute('tabIndex', '-1');\n }\n }\n};\n/**\n * @hidden\n */\nexport var getIdPrefix = function (navigation) {\n return navigation ? navigation.idPrefix : '';\n};\n/**\n * @hidden\n */\nexport var findNextIdByRowIndex = function (initialRowIndex, cellIndex, elementId, matrix, isReverse) {\n if (!elementId) {\n return [];\n }\n var currentRowIndex = initialRowIndex + (isReverse ? -1 : 1);\n while (currentRowIndex >= 0 && currentRowIndex < matrix.length) {\n var currentId = matrix[currentRowIndex][cellIndex];\n if (currentId !== elementId) {\n return [currentId, [currentRowIndex, cellIndex]];\n }\n currentRowIndex = currentRowIndex + (isReverse ? -1 : 1);\n }\n return [];\n};\n/**\n * @hidden\n */\nexport var findNextIdByCellIndex = function (rowIndex, initialCellIndex, elementId, matrix, isReverse) {\n if (!elementId) {\n return [];\n }\n var currentCellIndex = initialCellIndex + (isReverse ? -1 : 1);\n while (currentCellIndex >= 0 && currentCellIndex < matrix[rowIndex].length) {\n var currentId = matrix[rowIndex][currentCellIndex];\n if (currentId !== elementId) {\n return [currentId, [rowIndex, currentCellIndex]];\n }\n currentCellIndex = currentCellIndex + (isReverse ? -1 : 1);\n }\n return [];\n};\n/**\n * @hidden\n */\nexport var findId = function (navigationMatrix, cellId) {\n if (!cellId) {\n return;\n }\n for (var rowIndex = 0; rowIndex < navigationMatrix.length; rowIndex++) {\n for (var cellIndex = 0; cellIndex < navigationMatrix[rowIndex].length; cellIndex++) {\n if (navigationMatrix[rowIndex][cellIndex] === cellId) {\n return [rowIndex, cellIndex];\n }\n }\n }\n};\n/**\n * @hidden\n */\nexport var getNextNavigationIndex = function (navigation) {\n return navigation ? navigation.navigationMatrix.length : 0;\n};\n/**\n * @hidden\n */\nexport var getFilterColumnId = function (columnId) {\n return columnId ? \"\" + columnId + KEYBOARD_NAV_FILTER_COL_SUFFIX : '';\n};\n/**\n * @hidden\n */\nexport var tableKeyboardNavigationTools = {\n generateNavigatableId: generateNavigatableId,\n getNavigatableId: getNavigatableId,\n getNavigatableLevel: getNavigatableLevel,\n getNavigatableElement: getNavigatableElement,\n getClosestNavigatableElement: getClosestNavigatableElement,\n getActiveElement: getActiveElement,\n getClosestScope: getClosestScope,\n getHeaderElement: getHeaderElement,\n getBodyElement: getBodyElement,\n getFocusableElements: getFocusableElements,\n getNavigatableElements: getNavigatableElements,\n filterNavigatableElements: filterNavigatableElements,\n focusElement: focusElement,\n getIdPrefix: getIdPrefix,\n isNavigatable: isNavigatable,\n findNextIdByRowIndex: findNextIdByRowIndex,\n findNextIdByCellIndex: findNextIdByCellIndex,\n findId: findId,\n getNextNavigationIndex: getNextNavigationIndex,\n getFilterColumnId: getFilterColumnId\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex flex-wrap\"},_vm._l((_vm.Grupos),function(group){return _c('div',{key:group.id,staticClass:\"rounded-full mr-1 mb-1 pl-1 pr-1 border-2\",class:[\n group.idTipo === 1 ? 'bg-primary-800 dark:bg-darkblue text-white group-pool' : \n group.idTipo === 2 ? 'bg-primary-50 dark:bg-darkblue text-primary-800 dark:text-primary-600 group-border' : \n group.idTipo === 3 ? 'bg-secondary-600 dark:bg-secondary-600 text-white group-reparto' : ''\n ]},[_c('el-tooltip',{attrs:{\"open-delay\":200}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_c('div',{staticClass:\"max-w-sm max-h-500p overflow-auto\"},[_c('div',[_c('ul',[_c('li',[_vm._v(_vm._s(group.Propietario ? 'Propietario' : ''))]),_c('li',[_vm._v(_vm._s('Tipo de grupo: ' + group.Tipo))])])])])]),_c('span',[(group.Propietario)?_c('base-icon',{attrs:{\"name\":\"key\",\"size\":\"xs\"}}):_vm._e(),_vm._v(\" \"+_vm._s(group.Nombre)+\" \")],1)])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupsTags.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupsTags.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GroupsTags.vue?vue&type=template&id=73f4d347&\"\nimport script from \"./GroupsTags.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupsTags.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","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar inject = allVue.inject;\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, pagerInfo } from '../messages';\n/**\n * Represents the default `PagerInfo` component.\n */\n\nvar PagerInfo = {\n name: 'KendoPagerInfo',\n props: {\n totalPages: Number,\n currentPage: Number,\n skip: Number,\n messagesMap: Function\n },\n inject: {\n kendoLocalizationService: {\n default: null\n },\n kendoIntlService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n var kendoIntlService = inject('kendoIntlService', {});\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var intlService = provideIntlService(this);\n var localizationService = provideLocalizationService(this);\n var infoMessage = this.$props.messagesMap ? this.$props.messagesMap(pagerInfo) : {\n messageKey: pagerInfo,\n defaultMessage: messages[pagerInfo]\n };\n return h(\"div\", {\n \"class\": \"k-pager-info k-label\"\n }, [intlService.format(localizationService.toLanguageString(infoMessage.messageKey, infoMessage.defaultMessage), [Math.min(this.$props.skip + 1, this.$props.totalPages), Math.min(this.$props.skip + this.$props.currentPage, this.$props.totalPages), this.$props.totalPages])]);\n }\n};\nvar PagerInfoVue3 = PagerInfo;\nexport { PagerInfo, PagerInfoVue3 };","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KendoGridComponent.vue?vue&type=style&index=0&lang=scss&\"","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nimport { GroupToolbar } from './GroupToolbar';\nimport { Expression } from './Expression'; // tslint:enable:max-line-length\n\nvar GroupFilter = {\n name: 'KendoFilterGroup',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n },\n defaultGroupFilter: {\n type: Object,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter,\n filterRender = _a.filterRender;\n return filter.filters.length > 0 ? h(\"ul\", {\n \"class\": \"k-filter-lines\"\n }, [filter.filters.map(function (f, idx) {\n return h(\"li\", {\n key: idx,\n \"class\": \"k-filter-item\"\n }, [isCompositeFilterDescriptor(f) ? [// @ts-ignore\n h(GroupToolbar, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter\n },\n fields: fields,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter\n }), h(GroupFilter, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n defaultGroupFilter: this.$props.defaultGroupFilter\n },\n fields: fields,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove,\n defaultGroupFilter: this.$props.defaultGroupFilter\n })] : // @ts-ignore\n h(Expression, {\n filter: f,\n attrs: this.v3 ? undefined : {\n filter: f,\n fields: fields,\n filterRender: filterRender\n },\n fields: fields,\n filterRender: filterRender,\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange,\n \"remove\": this.onRemove\n },\n onRemove: this.onRemove\n })]);\n }, this)]) : null;\n },\n methods: {\n replaceFilter: function replaceFilter(prevFilter, nextFilter) {\n var filter = this.$props.filter;\n var filters = filter.filters.map(function (f) {\n return f === prevFilter ? nextFilter : f;\n });\n return __assign(__assign({}, filter), {\n filters: filters\n });\n },\n onChange: function onChange(event) {\n var nextFilter = this.replaceFilter(event.prevFilter, event.nextFilter);\n var changeEvent = {\n nextFilter: nextFilter,\n prevFilter: this.$props.filter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n },\n onRemove: function onRemove(event) {\n var prevFilter = this.$props.filter;\n var filters = prevFilter.filters.filter(function (f) {\n return f !== event.filter;\n });\n var changeEvent = {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: filters\n }),\n prevFilter: prevFilter,\n event: event.event,\n target: this\n };\n this.$emit('change', changeEvent);\n }\n }\n};\nvar GroupFilterVue3 = GroupFilter;\nexport { GroupFilter, GroupFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { DatePicker } from '@progress/kendo-vue-dateinputs'; // tslint:enable:max-line-length\n\nvar DateFilter = {\n name: 'KendoDateFilter',\n props: {\n filter: {\n type: Object,\n required: true\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var filter = this.$props.filter;\n return (// @ts-ignore\n h(DatePicker, {\n value: filter.value || null,\n attrs: this.v3 ? undefined : {\n value: filter.value || null\n },\n onChange: this.onChange,\n on: this.v3 ? undefined : {\n \"change\": this.onChange\n }\n })\n );\n },\n methods: {\n onChange: function onChange(event) {\n this.$emit('filterchange', {\n nextFilter: __assign(__assign({}, this.$props.filter), {\n value: event.value\n })\n });\n }\n }\n};\nvar DateFilterVue3 = DateFilter;\nexport { DateFilter, DateFilterVue3 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __spreadArrays = this && this.__spreadArrays || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}; // @ts-ignore\n\n\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nimport { Button, Toolbar, ToolbarItem, ButtonGroup } from '@progress/kendo-vue-buttons';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { stringOperator } from './operators';\nimport { messages, filterAndLogic, filterOrLogic, filterAddExpression, filterAddGroup, filterClose } from '../messages'; // tslint:enable:max-line-length\n\nvar GroupToolbar = {\n name: 'KendoFilterGroup',\n // @ts-ignore\n emits: {\n change: null,\n remove: null\n },\n props: {\n filter: {\n type: Object,\n required: true\n },\n fields: {\n type: Array,\n required: true\n },\n defaultGroupFilter: {\n type: Object,\n required: true\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !gh ? undefined : function () {\n var v3 = !!gh;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n\n var h = gh || createElement;\n var _a = this.$props,\n fields = _a.fields,\n filter = _a.filter;\n var locService = provideLocalizationService(this);\n return h(\"div\", {\n \"class\": \"k-filter-toolbar\"\n }, [// @ts-ignore function children \n h(Toolbar, {\n keyboardNavigation: false,\n attrs: this.v3 ? undefined : {\n keyboardNavigation: false\n }\n }, this.v3 ? function () {\n return [// @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(ButtonGroup, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), // @ts-ignore function children \n h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])];\n } : [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })]), // @ts-ignore function children \n h(ToolbarItem, _this.v3 ? function () {\n return [// @ts-ignore function children \n h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })])];\n } : [h(ToolbarItem, _this.v3 ? function () {\n return [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])];\n } : [h(ButtonGroup, _this.v3 ? function () {\n return [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])];\n } : [h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'and',\n type: \"button\"\n },\n onClick: _this.onLogicAnd,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicAnd\n },\n selected: filter.logic === 'and',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])];\n } : [locService.toLanguageString(filterAndLogic, messages[filterAndLogic])]), h(Button, {\n togglable: true,\n attrs: _this.v3 ? undefined : {\n togglable: true,\n selected: filter.logic === 'or',\n type: \"button\"\n },\n onClick: _this.onLogicOr,\n on: _this.v3 ? undefined : {\n \"click\": _this.onLogicOr\n },\n selected: filter.logic === 'or',\n type: \"button\"\n }, _this.v3 ? function () {\n return [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])];\n } : [locService.toLanguageString(filterOrLogic, messages[filterOrLogic])])])]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddExpression, messages[filterAddExpression]),\n icon: \"filter-add-expression\",\n type: \"button\"\n },\n icon: \"filter-add-expression\",\n type: \"button\",\n onClick: _this.onAddExpression,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddExpression\n }\n })]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterAddGroup, messages[filterAddGroup]),\n icon: \"filter-add-group\",\n type: \"button\"\n },\n icon: \"filter-add-group\",\n type: \"button\",\n onClick: _this.onAddGroup,\n on: _this.v3 ? undefined : {\n \"click\": _this.onAddGroup\n }\n })]), h(ToolbarItem, _this.v3 ? function () {\n return [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })];\n } : [h(Button, {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n attrs: _this.v3 ? undefined : {\n title: locService.toLanguageString(filterClose, messages[filterClose]),\n icon: \"close\",\n look: \"flat\",\n type: \"button\"\n },\n icon: \"close\",\n look: \"flat\",\n type: \"button\",\n onClick: _this.onGroupRemove,\n on: _this.v3 ? undefined : {\n \"click\": _this.onGroupRemove\n }\n })])])]);\n },\n methods: {\n onGroupRemove: function onGroupRemove() {\n this.$emit('remove', {\n filter: this.$props.filter\n });\n },\n onAddExpression: function onAddExpression() {\n var prevFilter = this.$props.filter;\n var firstField = this.$props.fields[0];\n var newExpression = {\n field: firstField.name,\n operator: firstField.operators[0].operator\n };\n newExpression.value = stringOperator(newExpression.operator) ? '' : null;\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: __spreadArrays(prevFilter.filters, [newExpression])\n }),\n prevFilter: prevFilter\n });\n },\n onAddGroup: function onAddGroup() {\n var prevFilter = this.$props.filter;\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n filters: __spreadArrays(prevFilter.filters, [__assign({}, this.$props.defaultGroupFilter)])\n }),\n prevFilter: prevFilter\n });\n },\n onLogicAnd: function onLogicAnd() {\n this.changeLogic('and');\n },\n onLogicOr: function onLogicOr() {\n this.changeLogic('or');\n },\n changeLogic: function changeLogic(logic) {\n var prevFilter = this.$props.filter;\n\n if (prevFilter.logic !== logic) {\n this.$emit('change', {\n nextFilter: __assign(__assign({}, prevFilter), {\n logic: logic\n }),\n prevFilter: prevFilter\n });\n }\n }\n }\n};\nvar GroupToolbarVue3 = GroupToolbar;\nexport { GroupToolbar, GroupToolbarVue3 };"],"sourceRoot":""}