{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/quasar/src/composables/private/use-refocus-target.js","webpack:///./node_modules/quasar/src/utils/private/option-sizes.js","webpack:///./node_modules/quasar/src/components/checkbox/use-checkbox.js","webpack:///./node_modules/quasar/src/components/table/QTd.js","webpack:///./node_modules/quasar/src/components/table/QTh.js","webpack:///./node_modules/quasar/src/components/markup-table/QMarkupTable.js","webpack:///./node_modules/quasar/src/components/table/get-table-middle.js","webpack:///./node_modules/quasar/src/components/virtual-scroll/QVirtualScroll.js","webpack:///./node_modules/quasar/src/components/linear-progress/QLinearProgress.js","webpack:///./node_modules/quasar/src/components/checkbox/QCheckbox.js","webpack:///./node_modules/quasar/src/composables/private/use-fullscreen.js","webpack:///./node_modules/quasar/src/utils/private/sort.js","webpack:///./node_modules/quasar/src/components/table/table-sort.js","webpack:///./node_modules/quasar/src/components/table/table-filter.js","webpack:///./node_modules/quasar/src/components/table/table-pagination.js","webpack:///./node_modules/quasar/src/components/table/table-row-selection.js","webpack:///./node_modules/quasar/src/components/table/table-row-expand.js","webpack:///./node_modules/quasar/src/components/table/table-column-selection.js","webpack:///./node_modules/quasar/src/components/table/QTable.js"],"names":["$","uncurryThis","aCallable","toObject","lengthOfArrayLike","toString","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","test","un$Sort","sort","push","FAILS_ON_UNDEFINED","undefined","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","value","index","result","String","fromCharCode","k","v","a","b","length","charAt","FORCED","getSortCompare","comparefn","x","y","target","proto","forced","array","this","itemsLength","items","arrayLength","props","rootRef","refocusRef","ref","refocusTargetEl","computed","disable","h","class","tabindex","refocusTarget","e","root","type","indexOf","document","activeElement","contains","focus","xs","sm","md","lg","xl","useCheckboxProps","useDarkProps","useSizeProps","useFormProps","modelValue","required","default","val","trueValue","falseValue","indeterminateValue","checkedIcon","uncheckedIcon","indeterminateIcon","toggleOrder","validator","toggleIndeterminate","Boolean","label","leftLabel","color","keepColor","dense","Number","useCheckboxEmits","getInner","getCurrentInstance","slots","emit","proxy","$q","isDark","useDark","useRefocusTarget","sizeStyle","useSize","optionSizes","modelIsArray","Array","isArray","isTrue","isFalse","isIndeterminate","classes","innerClass","state","formAttrs","prop","name","Object","assign","injectFormInput","useFormInject","attributes","attrs","role","onClick","stopAndPrevent","getNextValue","slice","splice","concat","onKeydown","keyCode","onKeyup","getInnerContent","toggle","inner","child","style","hMergeSlot","hSlot","createComponent","autoWidth","noHover","setup","vm","vnode","key","col","colsMap","row","__tdClass","__tdStyle","emits","sortable","action","align","hUniqueSlot","QIcon","__iconClass","iconSet","table","arrowUp","data","__thClass","headerStyle","evt","separatorValues","flat","bordered","square","wrapCells","separator","includes","content","comps","list","QList","QMarkupTable","typeOptions","useVirtualScrollProps","itemsFn","Function","itemsSize","scrollTarget","localScrollTarget","virtualScrollLength","parseInt","useVirtualScroll","getVirtualScrollTarget","getVirtualScrollEl","virtualScrollSliceRange","localResetVirtualScroll","padVirtualScroll","onVirtualScrollEvt","virtualScrollScope","mapFn","item","i","from","to","map","virtualScrollHorizontal","$el","configureScrollTarget","getScrollTarget","addEventListener","listenOpts","passive","unconfigureScrollTarget","removeEventListener","__getVirtualChildren","before","after","watch","onBeforeMount","onMounted","onBeforeUnmount","getTableMiddle","console","error","defaultSizes","width","reverse","transform","lang","rtl","buffer","trackColor","stripe","indeterminate","query","rounded","animationSpeed","instantFeedback","motion","widthReverse","trackStyle","trackClass","modelStyle","modelClass","stripeStyle","stripeClass","bgNode","viewBox","fill","d","icon","useCheckbox","counter","useFullscreenProps","fullscreen","noRouteFullscreenExit","useFullscreenEmits","historyEntry","fullscreenFillerNode","container","inFullscreen","toggleFullscreen","exitFullscreen","setFullscreen","parentNode","replaceChild","body","appendChild","classList","add","handler","History","remove","Math","max","scrollIntoView","setTimeout","vmHasRouter","$route","fullPath","createElement","sortDate","Date","useTableSortProps","sortMethod","binaryStateSort","columnSortOrder","useTableSort","computedPagination","colList","setPagination","columnToSort","sortBy","find","def","computedSortMethod","descending","field","dir","A","B","isNumber","isDate","s","toLocaleString","toLowerCase","sortOrder","isPlainObject","page","useTableFilterProps","filter","filterMethod","useTableFilter","computedFilterMethod","rows","terms","cols","cellValue","lowerTerms","some","haystack","nextTick","deep","samePagination","oldPag","newPag","fixPagination","p","rowsPerPage","useTablePaginationProps","pagination","rowsPerPageOptions","useTablePaginationState","getCellValue","innerPagination","pag","isServerSide","rowsNumber","sendServerRequest","requestServerInteraction","forceServerRequest","newPagination","useTablePagination","filteredSortedRowsNumber","computedRowsNumber","firstRowIndex","lastRowIndex","isFirstPage","pagesNumber","ceil","isLastPage","computedRowsPerPageOptions","opts","count","allRows","firstPage","prevPage","nextPage","lastPage","oldLastPage","currentPage","useTableRowSelectionProps","selection","selected","useTableRowSelectionEmits","useTableRowSelection","computedRows","getRowKey","selectedKeys","keys","forEach","hasSelectionMode","singleSelection","multipleSelection","allRowsSelected","every","someRowsSelected","rowsSelectedNumber","isRowSelected","clearSelection","updateSelection","added","payload","getVal","useTableRowExpandProps","expanded","useTableRowExpandEmits","useTableRowExpand","innerExpanded","isRowExpanded","setExpanded","updateExpanded","useTableColumnSelectionProps","visibleColumns","useTableColumnSelection","columns","toUpperCase","computedCols","alignClass","headerClasses","computedColsMap","names","computedColspan","tableColspan","bottomClass","commonVirtPropsObj","commonVirtPropsList","rowKey","loading","iconFirstPage","iconPrevPage","iconNextPage","iconLastPage","title","hideHeader","grid","gridHeader","virtualScroll","noDataLabel","noResultsLabel","loadingLabel","selectedRowsLabel","rowsPerPageLabel","paginationLabel","titleClass","tableStyle","tableClass","tableHeaderStyle","tableHeaderClass","cardContainerClass","cardContainerStyle","cardStyle","cardClass","hideBottom","hideSelectedBanner","hideNoData","hidePagination","onRowClick","onRowDblclick","onRowContextmenu","useFullscreen","virtScrollRef","hasVirtScroll","cardDefaultClass","__containerClass","containerClass","reset","filteredSortedRows","nothingToDisplay","virtProps","acc","virtualScrollItemSize","resetVirtualScroll","getBody","getGridBody","header","getTHead","topRow","bottomRow","virtSlots","getTBodyTR","topContent","QVirtualScroll","onVirtualScroll","onVScroll","getTBody","unshift","scrollTo","toIndex","edge","rowEl","querySelector","offsetTop","direction","scrollTop","info","getProgress","QLinearProgress","dark","bodySlot","pageIndex","getBodyScope","__trClass","bodyCell","bodyCellCol","slot","getBodyCellScope","getBodySelectionScope","QCheckbox","adding","onDblclick","onContextmenu","injectBodyCommonScope","c","injectProp","rowIndex","format","marginalsScope","getTopDiv","top","topLeft","topRight","topSelection","hasSelection","topClass","headerSelectedValue","getTHeadTR","colspan","headerCell","getHeaderScope","headerCellCol","QTh","onMultipleSelectionSet","navIcon","ico","getBottomDiv","message","noResults","noData","children","warning","bottom","selectedRecords","getPaginationDiv","onPagSelection","control","paginationSlot","hasOpts","recordsPerPage","QSelect","options","displayValue","borderless","optionsDense","optionsCover","min","btnProps","round","size","QBtn","getGridHeader","scope","QSeparator","injectMultipleProps"],"mappings":"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","file":"js/chunk-455e7971.212738c5.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","import { h, computed, ref } from 'vue'\n\nexport default function (props, rootRef) {\n const refocusRef = ref(null)\n\n const refocusTargetEl = computed(() => {\n if (props.disable !== true) {\n return null\n }\n\n return h('span', {\n ref: refocusRef,\n class: 'no-outline',\n tabindex: -1\n })\n })\n\n function refocusTarget (e) {\n const root = rootRef.value\n\n if (e !== void 0 && e.type.indexOf('key') === 0) {\n if (\n root !== null\n && document.activeElement !== root\n && root.contains(document.activeElement) === true\n ) {\n root.focus()\n }\n }\n else if (\n refocusRef.value !== null\n && (e === void 0 || (root !== null && root.contains(e.target) === true))\n ) {\n refocusRef.value.focus()\n }\n }\n\n return {\n refocusTargetEl,\n refocusTarget\n }\n}\n","export default {\n xs: 30,\n sm: 35,\n md: 40,\n lg: 50,\n xl: 60\n}\n","import { h, ref, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\nimport useRefocusTarget from '../../composables/private/use-refocus-target.js'\nimport { useFormInject, useFormProps } from '../../composables/private/use-form.js'\n\nimport optionSizes from '../../utils/private/option-sizes.js'\nimport { stopAndPrevent } from '../../utils/event.js'\nimport { hSlot, hMergeSlot } from '../../utils/private/render.js'\n\nexport const useCheckboxProps = {\n ...useDarkProps,\n ...useSizeProps,\n ...useFormProps,\n\n modelValue: {\n required: true,\n default: null\n },\n val: {},\n\n trueValue: { default: true },\n falseValue: { default: false },\n indeterminateValue: { default: null },\n\n checkedIcon: String,\n uncheckedIcon: String,\n indeterminateIcon: String,\n\n toggleOrder: {\n type: String,\n validator: v => v === 'tf' || v === 'ft'\n },\n toggleIndeterminate: Boolean,\n\n label: String,\n leftLabel: Boolean,\n\n color: String,\n keepColor: Boolean,\n dense: Boolean,\n\n disable: Boolean,\n tabindex: [ String, Number ]\n}\n\nexport const useCheckboxEmits = [ 'update:modelValue' ]\n\nexport default function (type, getInner) {\n const { props, slots, emit, proxy } = getCurrentInstance()\n const { $q } = proxy\n\n const isDark = useDark(props, $q)\n\n const rootRef = ref(null)\n const { refocusTargetEl, refocusTarget } = useRefocusTarget(props, rootRef)\n const sizeStyle = useSize(props, optionSizes)\n\n const modelIsArray = computed(() =>\n props.val !== void 0 && Array.isArray(props.modelValue)\n )\n\n const index = computed(() => (\n modelIsArray.value === true\n ? props.modelValue.indexOf(props.val)\n : -1\n ))\n\n const isTrue = computed(() => (\n modelIsArray.value === true\n ? index.value > -1\n : props.modelValue === props.trueValue\n ))\n\n const isFalse = computed(() => (\n modelIsArray.value === true\n ? index.value === -1\n : props.modelValue === props.falseValue\n ))\n\n const isIndeterminate = computed(() =>\n isTrue.value === false && isFalse.value === false\n )\n\n const tabindex = computed(() => (\n props.disable === true ? -1 : props.tabindex || 0\n ))\n\n const classes = computed(() =>\n `q-${ type } cursor-pointer no-outline row inline no-wrap items-center`\n + (props.disable === true ? ' disabled' : '')\n + (isDark.value === true ? ` q-${ type }--dark` : '')\n + (props.dense === true ? ` q-${ type }--dense` : '')\n + (props.leftLabel === true ? ' reverse' : '')\n )\n\n const innerClass = computed(() => {\n const state = isTrue.value === true ? 'truthy' : (isFalse.value === true ? 'falsy' : 'indet')\n const color = props.color !== void 0 && (\n props.keepColor === true\n || (type === 'toggle' ? isTrue.value === true : isFalse.value !== true)\n )\n ? ` text-${ props.color }`\n : ''\n\n return `q-${ type }__inner relative-position non-selectable q-${ type }__inner--${ state }${ color }`\n })\n\n const formAttrs = computed(() => {\n const prop = { type: 'checkbox' }\n\n props.name !== void 0 && Object.assign(prop, {\n '^checked': isTrue.value === true ? 'checked' : void 0,\n name: props.name,\n value: modelIsArray.value === true\n ? props.val\n : props.trueValue\n })\n\n return prop\n })\n\n const injectFormInput = useFormInject(formAttrs)\n\n const attributes = computed(() => {\n const attrs = {\n tabindex: tabindex.value,\n role: 'checkbox',\n 'aria-label': props.label,\n 'aria-checked': isIndeterminate.value === true\n ? 'mixed'\n : (isTrue.value === true ? 'true' : 'false')\n }\n\n if (props.disable === true) {\n attrs[ 'aria-disabled' ] = 'true'\n }\n\n return attrs\n })\n\n function onClick (e) {\n if (e !== void 0) {\n stopAndPrevent(e)\n refocusTarget(e)\n }\n\n if (props.disable !== true) {\n emit('update:modelValue', getNextValue(), e)\n }\n }\n\n function getNextValue () {\n if (modelIsArray.value === true) {\n if (isTrue.value === true) {\n const val = props.modelValue.slice()\n val.splice(index.value, 1)\n return val\n }\n\n return props.modelValue.concat([ props.val ])\n }\n\n if (isTrue.value === true) {\n if (props.toggleOrder !== 'ft' || props.toggleIndeterminate === false) {\n return props.falseValue\n }\n }\n else if (isFalse.value === true) {\n if (props.toggleOrder === 'ft' || props.toggleIndeterminate === false) {\n return props.trueValue\n }\n }\n else {\n return props.toggleOrder !== 'ft'\n ? props.trueValue\n : props.falseValue\n }\n\n return props.indeterminateValue\n }\n\n function onKeydown (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n stopAndPrevent(e)\n }\n }\n\n function onKeyup (e) {\n if (e.keyCode === 13 || e.keyCode === 32) {\n onClick(e)\n }\n }\n\n const getInnerContent = getInner(isTrue, isIndeterminate)\n\n // expose public methods\n Object.assign(proxy, { toggle: onClick })\n\n return () => {\n const inner = getInnerContent()\n\n props.disable !== true && injectFormInput(\n inner,\n 'unshift',\n ` q-${ type }__native absolute q-ma-none q-pa-none`\n )\n\n const child = [\n h('div', {\n class: innerClass.value,\n style: sizeStyle.value\n }, inner)\n ]\n\n if (refocusTargetEl.value !== null) {\n child.push(refocusTargetEl.value)\n }\n\n const label = props.label !== void 0\n ? hMergeSlot(slots.default, [ props.label ])\n : hSlot(slots.default)\n\n label !== void 0 && child.push(\n h('div', {\n class: `q-${ type }__label q-anchor--skip`\n }, label)\n )\n\n return h('div', {\n ref: rootRef,\n class: classes.value,\n ...attributes.value,\n onClick,\n onKeydown,\n onKeyup\n }, child)\n }\n}\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QTd',\n\n props: {\n props: Object,\n autoWidth: Boolean,\n noHover: Boolean\n },\n\n setup (props, { slots }) {\n const vm = getCurrentInstance()\n const classes = computed(() =>\n 'q-td' + (props.autoWidth === true ? ' q-table--col-auto-width' : '')\n + (props.noHover === true ? ' q-td--no-hover' : '')\n + ' '\n )\n\n return () => {\n if (props.props === void 0) {\n return h('td', { class: classes.value }, hSlot(slots.default))\n }\n\n const name = vm.vnode.key\n const col = (\n (props.props.colsMap !== void 0 ? props.props.colsMap[ name ] : null)\n || props.props.col\n )\n\n if (col === void 0) { return }\n\n const { row } = props.props\n\n return h('td', {\n class: classes.value + col.__tdClass(row),\n style: col.__tdStyle(row)\n }, hSlot(slots.default))\n }\n }\n})\n","import { h, getCurrentInstance } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot, hUniqueSlot } from '../../utils/private/render.js'\n\nexport default createComponent({\n name: 'QTh',\n\n props: {\n props: Object,\n autoWidth: Boolean\n },\n\n emits: [ 'click' ],\n\n setup (props, { slots, emit }) {\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n return () => {\n if (props.props === void 0) {\n return h('th', {\n class: props.autoWidth === true ? 'q-table--col-auto-width' : ''\n }, hSlot(slots.default))\n }\n\n let col, child\n const name = vm.vnode.key\n\n if (name) {\n col = props.props.colsMap[ name ]\n if (col === void 0) { return }\n }\n else {\n col = props.props.col\n }\n\n if (col.sortable === true) {\n const action = col.align === 'right'\n ? 'unshift'\n : 'push'\n\n child = hUniqueSlot(slots.default, [])\n child[ action ](\n h(QIcon, {\n class: col.__iconClass,\n name: $q.iconSet.table.arrowUp\n })\n )\n }\n else {\n child = hSlot(slots.default)\n }\n\n const data = {\n class: col.__thClass\n + (props.autoWidth === true ? ' q-table--col-auto-width' : ''),\n style: col.headerStyle,\n onClick: evt => {\n col.sortable === true && props.props.sort(col) // eslint-disable-line\n emit('click', evt)\n }\n }\n\n return h('th', data, child)\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hSlot } from '../../utils/private/render.js'\n\nconst separatorValues = [ 'horizontal', 'vertical', 'cell', 'none' ]\n\nexport default createComponent({\n name: 'QMarkupTable',\n\n props: {\n ...useDarkProps,\n\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n wrapCells: Boolean,\n\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => separatorValues.includes(v)\n }\n },\n\n setup (props, { slots }) {\n const vm = getCurrentInstance()\n const isDark = useDark(props, vm.proxy.$q)\n\n const classes = computed(() =>\n 'q-markup-table q-table__container q-table__card'\n + ` q-table--${ props.separator }-separator`\n + (isDark.value === true ? ' q-table--dark q-table__card--dark q-dark' : '')\n + (props.dense === true ? ' q-table--dense' : '')\n + (props.flat === true ? ' q-table--flat' : '')\n + (props.bordered === true ? ' q-table--bordered' : '')\n + (props.square === true ? ' q-table--square' : '')\n + (props.wrapCells === false ? ' q-table--no-wrap' : '')\n )\n\n return () => h('div', {\n class: classes.value\n }, [\n h('table', { class: 'q-table' }, hSlot(slots.default))\n ])\n }\n})\n","import { h } from 'vue'\n\nexport default function (props, content) {\n return h('div', props, [\n h('table', { class: 'q-table' }, content)\n ])\n}\n","import { h, ref, computed, watch, onBeforeMount, onMounted, onBeforeUnmount } from 'vue'\n\nimport QList from '../item/QList.js'\nimport QMarkupTable from '../markup-table/QMarkupTable.js'\nimport getTableMiddle from '../table/get-table-middle.js'\n\nimport { useVirtualScroll, useVirtualScrollProps } from './use-virtual-scroll.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { getScrollTarget } from '../../utils/scroll.js'\nimport { listenOpts } from '../../utils/event.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst comps = {\n list: QList,\n table: QMarkupTable\n}\n\nconst typeOptions = [ 'list', 'table', '__qtable' ]\n\nexport default createComponent({\n name: 'QVirtualScroll',\n\n props: {\n ...useVirtualScrollProps,\n\n type: {\n type: String,\n default: 'list',\n validator: v => typeOptions.includes(v)\n },\n\n items: {\n type: Array,\n default: () => []\n },\n\n itemsFn: Function,\n itemsSize: Number,\n\n scrollTarget: {\n default: void 0\n }\n },\n\n setup (props, { slots, attrs }) {\n let localScrollTarget\n const rootRef = ref(null)\n\n const virtualScrollLength = computed(() => (\n props.itemsSize >= 0 && props.itemsFn !== void 0\n ? parseInt(props.itemsSize, 10)\n : (Array.isArray(props.items) ? props.items.length : 0)\n ))\n\n const {\n virtualScrollSliceRange,\n localResetVirtualScroll,\n padVirtualScroll,\n onVirtualScrollEvt\n } = useVirtualScroll({\n virtualScrollLength, getVirtualScrollTarget, getVirtualScrollEl\n })\n\n const virtualScrollScope = computed(() => {\n if (virtualScrollLength.value === 0) {\n return []\n }\n\n const mapFn = (item, i) => ({\n index: virtualScrollSliceRange.value.from + i,\n item\n })\n\n return props.itemsFn === void 0\n ? props.items.slice(virtualScrollSliceRange.value.from, virtualScrollSliceRange.value.to).map(mapFn)\n : props.itemsFn(virtualScrollSliceRange.value.from, virtualScrollSliceRange.value.to - virtualScrollSliceRange.value.from).map(mapFn)\n })\n\n const classes = computed(() =>\n 'q-virtual-scroll q-virtual-scroll' + (props.virtualScrollHorizontal === true ? '--horizontal' : '--vertical')\n + (props.scrollTarget !== void 0 ? '' : ' scroll')\n )\n\n const attributes = computed(() => (\n props.scrollTarget !== void 0 ? {} : { tabindex: 0 }\n ))\n\n watch(virtualScrollLength, () => {\n localResetVirtualScroll()\n })\n\n watch(() => props.scrollTarget, () => {\n unconfigureScrollTarget()\n configureScrollTarget()\n })\n\n function getVirtualScrollEl () {\n return rootRef.value.$el || rootRef.value\n }\n\n function getVirtualScrollTarget () {\n return localScrollTarget\n }\n\n function configureScrollTarget () {\n localScrollTarget = getScrollTarget(getVirtualScrollEl(), props.scrollTarget)\n localScrollTarget.addEventListener('scroll', onVirtualScrollEvt, listenOpts.passive)\n }\n\n function unconfigureScrollTarget () {\n if (localScrollTarget !== void 0) {\n localScrollTarget.removeEventListener('scroll', onVirtualScrollEvt, listenOpts.passive)\n localScrollTarget = void 0\n }\n }\n\n function __getVirtualChildren () {\n let child = padVirtualScroll(\n props.type === 'list' ? 'div' : 'tbody',\n virtualScrollScope.value.map(slots.default)\n )\n\n if (slots.before !== void 0) {\n child = slots.before().concat(child)\n }\n\n return hMergeSlot(slots.after, child)\n }\n\n onBeforeMount(() => {\n localResetVirtualScroll()\n })\n\n onMounted(() => {\n configureScrollTarget()\n })\n\n onBeforeUnmount(() => {\n unconfigureScrollTarget()\n })\n\n return () => {\n if (slots.default === void 0) {\n console.error('QVirtualScroll: default scoped slot is required for rendering')\n return\n }\n\n return props.type === '__qtable'\n ? getTableMiddle(\n { ref: rootRef, class: 'q-table__middle ' + classes.value },\n __getVirtualChildren()\n )\n : h(comps[ props.type ], {\n ...attrs,\n ref: rootRef,\n class: [ attrs.class, classes.value ],\n ...attributes.value\n }, __getVirtualChildren)\n }\n }\n})\n","import { h, computed, getCurrentInstance } from 'vue'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport useSize, { useSizeProps } from '../../composables/private/use-size.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport { hMergeSlot } from '../../utils/private/render.js'\n\nconst defaultSizes = {\n xs: 2,\n sm: 4,\n md: 6,\n lg: 10,\n xl: 14\n}\n\nfunction width (val, reverse, $q) {\n return {\n transform: reverse === true\n ? `translateX(${ $q.lang.rtl === true ? '-' : '' }100%) scale3d(${ -val },1,1)`\n : `scale3d(${ val },1,1)`\n }\n}\n\nexport default createComponent({\n name: 'QLinearProgress',\n\n props: {\n ...useDarkProps,\n ...useSizeProps,\n\n value: {\n type: Number,\n default: 0\n },\n buffer: Number,\n\n color: String,\n trackColor: String,\n\n reverse: Boolean,\n stripe: Boolean,\n indeterminate: Boolean,\n query: Boolean,\n rounded: Boolean,\n\n animationSpeed: {\n type: [ String, Number ],\n default: 2100\n },\n\n instantFeedback: Boolean\n },\n\n setup (props, { slots }) {\n const { proxy } = getCurrentInstance()\n const isDark = useDark(props, proxy.$q)\n const sizeStyle = useSize(props, defaultSizes)\n\n const motion = computed(() => props.indeterminate === true || props.query === true)\n const widthReverse = computed(() => props.reverse !== props.query)\n const style = computed(() => ({\n ...(sizeStyle.value !== null ? sizeStyle.value : {}),\n '--q-linear-progress-speed': `${ props.animationSpeed }ms`\n }))\n\n const classes = computed(() =>\n 'q-linear-progress'\n + (props.color !== void 0 ? ` text-${ props.color }` : '')\n + (props.reverse === true || props.query === true ? ' q-linear-progress--reverse' : '')\n + (props.rounded === true ? ' rounded-borders' : '')\n )\n\n const trackStyle = computed(() => width(props.buffer !== void 0 ? props.buffer : 1, widthReverse.value, proxy.$q))\n const trackClass = computed(() =>\n 'q-linear-progress__track absolute-full'\n + ` q-linear-progress__track--with${ props.instantFeedback === true ? 'out' : '' }-transition`\n + ` q-linear-progress__track--${ isDark.value === true ? 'dark' : 'light' }`\n + (props.trackColor !== void 0 ? ` bg-${ props.trackColor }` : '')\n )\n\n const modelStyle = computed(() => width(motion.value === true ? 1 : props.value, widthReverse.value, proxy.$q))\n const modelClass = computed(() =>\n 'q-linear-progress__model absolute-full'\n + ` q-linear-progress__model--with${ props.instantFeedback === true ? 'out' : '' }-transition`\n + ` q-linear-progress__model--${ motion.value === true ? 'in' : '' }determinate`\n )\n\n const stripeStyle = computed(() => ({ width: `${ props.value * 100 }%` }))\n const stripeClass = computed(() =>\n `q-linear-progress__stripe absolute-${ props.reverse === true ? 'right' : 'left' }`\n )\n\n return () => {\n const child = [\n h('div', {\n class: trackClass.value,\n style: trackStyle.value\n }),\n\n h('div', {\n class: modelClass.value,\n style: modelStyle.value\n })\n ]\n\n props.stripe === true && motion.value === false && child.push(\n h('div', {\n class: stripeClass.value,\n style: stripeStyle.value\n })\n )\n\n return h('div', {\n class: classes.value,\n style: style.value,\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 1,\n 'aria-valuenow': props.indeterminate === true\n ? void 0\n : props.value\n }, hMergeSlot(slots.default, child))\n }\n }\n})\n","import { h, computed } from 'vue'\n\nimport QIcon from '../icon/QIcon.js'\n\nimport { createComponent } from '../../utils/private/create.js'\nimport useCheckbox, { useCheckboxProps, useCheckboxEmits } from './use-checkbox.js'\n\nconst bgNode = h('div', {\n key: 'svg',\n class: 'q-checkbox__bg absolute'\n}, [\n h('svg', {\n class: 'q-checkbox__svg fit absolute-full',\n viewBox: '0 0 24 24',\n 'aria-hidden': 'true'\n }, [\n h('path', {\n class: 'q-checkbox__truthy',\n fill: 'none',\n d: 'M1.73,12.91 8.1,19.28 22.79,4.59'\n }),\n\n h('path', {\n class: 'q-checkbox__indet',\n d: 'M4,14H20V10H4'\n })\n ])\n])\n\nexport default createComponent({\n name: 'QCheckbox',\n\n props: useCheckboxProps,\n emits: useCheckboxEmits,\n\n setup (props) {\n function getInner (isTrue, isIndeterminate) {\n const icon = computed(() =>\n (isTrue.value === true\n ? props.checkedIcon\n : (isIndeterminate.value === true\n ? props.indeterminateIcon\n : props.uncheckedIcon\n )\n ) || null\n )\n\n return () => (\n icon.value !== null\n ? [\n h('div', {\n key: 'icon',\n class: 'q-checkbox__icon-container absolute flex flex-center no-wrap'\n }, [\n h(QIcon, {\n class: 'q-checkbox__icon',\n name: icon.value\n })\n ])\n ]\n : [ bgNode ]\n )\n }\n\n return useCheckbox('checkbox', getInner)\n }\n})\n","import { ref, watch, onBeforeMount, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'\n\nimport History from '../../history.js'\nimport { vmHasRouter } from '../../utils/private/vm.js'\n\nlet counter = 0\n\nexport const useFullscreenProps = {\n fullscreen: Boolean,\n noRouteFullscreenExit: Boolean\n}\n\nexport const useFullscreenEmits = [ 'update:fullscreen', 'fullscreen' ]\n\nexport default function () {\n const vm = getCurrentInstance()\n const { props, emit, proxy } = vm\n\n let historyEntry, fullscreenFillerNode, container\n const inFullscreen = ref(false)\n\n vmHasRouter(vm) === true && watch(() => proxy.$route.fullPath, () => {\n props.noRouteFullscreenExit !== true && exitFullscreen()\n })\n\n watch(() => props.fullscreen, v => {\n if (inFullscreen.value !== v) {\n toggleFullscreen()\n }\n })\n\n watch(inFullscreen, v => {\n emit('update:fullscreen', v)\n emit('fullscreen', v)\n })\n\n function toggleFullscreen () {\n if (inFullscreen.value === true) {\n exitFullscreen()\n }\n else {\n setFullscreen()\n }\n }\n\n function setFullscreen () {\n if (inFullscreen.value === true) {\n return\n }\n\n inFullscreen.value = true\n container = proxy.$el.parentNode\n container.replaceChild(fullscreenFillerNode, proxy.$el)\n document.body.appendChild(proxy.$el)\n\n counter++\n if (counter === 1) {\n document.body.classList.add('q-body--fullscreen-mixin')\n }\n\n historyEntry = {\n handler: exitFullscreen\n }\n History.add(historyEntry)\n }\n\n function exitFullscreen () {\n if (inFullscreen.value !== true) {\n return\n }\n\n if (historyEntry !== void 0) {\n History.remove(historyEntry)\n historyEntry = void 0\n }\n\n container.replaceChild(proxy.$el, fullscreenFillerNode)\n inFullscreen.value = false\n\n counter = Math.max(0, counter - 1)\n\n if (counter === 0) {\n document.body.classList.remove('q-body--fullscreen-mixin')\n\n if (proxy.$el.scrollIntoView !== void 0) {\n setTimeout(() => { proxy.$el.scrollIntoView() })\n }\n }\n }\n\n onBeforeMount(() => {\n fullscreenFillerNode = document.createElement('span')\n })\n\n onMounted(() => {\n props.fullscreen === true && setFullscreen()\n })\n\n onBeforeUnmount(exitFullscreen)\n\n // expose public methods\n Object.assign(proxy, {\n toggleFullscreen,\n setFullscreen,\n exitFullscreen\n })\n\n return {\n inFullscreen,\n toggleFullscreen\n }\n}\n","export function sortString (a, b) {\n if (typeof a !== 'string') {\n throw new TypeError('The value for sorting must be a String')\n }\n return a.localeCompare(b)\n}\n\nexport function sortNumber (a, b) {\n return a - b\n}\n\nexport function sortDate (a, b) {\n return (new Date(a)) - (new Date(b))\n}\n\nexport function sortBoolean (a, b) {\n return a && !b\n ? -1\n : (!a && b ? 1 : 0)\n}\n","import { computed } from 'vue'\n\nimport { sortDate } from '../../utils/private/sort.js'\nimport { isNumber, isDate, isPlainObject } from '../../utils/private/is.js'\n\nexport const useTableSortProps = {\n sortMethod: Function,\n binaryStateSort: Boolean,\n columnSortOrder: {\n type: String,\n validator: v => v === 'ad' || v === 'da',\n default: 'ad'\n }\n}\n\nexport function useTableSort (props, computedPagination, colList, setPagination) {\n const columnToSort = computed(() => {\n const { sortBy } = computedPagination.value\n\n return sortBy\n ? colList.value.find(def => def.name === sortBy) || null\n : null\n })\n\n const computedSortMethod = computed(() => (\n props.sortMethod !== void 0\n ? props.sortMethod\n : (data, sortBy, descending) => {\n const col = colList.value.find(def => def.name === sortBy)\n if (col === void 0 || col.field === void 0) {\n return data\n }\n\n const\n dir = descending === true ? -1 : 1,\n val = typeof col.field === 'function'\n ? v => col.field(v)\n : v => v[ col.field ]\n\n return data.sort((a, b) => {\n let\n A = val(a),\n B = val(b)\n\n if (A === null || A === void 0) {\n return -1 * dir\n }\n if (B === null || B === void 0) {\n return 1 * dir\n }\n if (col.sort !== void 0) {\n return col.sort(A, B, a, b) * dir\n }\n if (isNumber(A) === true && isNumber(B) === true) {\n return (A - B) * dir\n }\n if (isDate(A) === true && isDate(B) === true) {\n return sortDate(A, B) * dir\n }\n if (typeof A === 'boolean' && typeof B === 'boolean') {\n return (A - B) * dir\n }\n\n [ A, B ] = [ A, B ].map(s => (s + '').toLocaleString().toLowerCase())\n\n return A < B\n ? -1 * dir\n : (A === B ? 0 : dir)\n })\n }\n ))\n\n function sort (col /* String(col name) or Object(col definition) */) {\n let sortOrder = props.columnSortOrder\n\n if (isPlainObject(col) === true) {\n if (col.sortOrder) {\n sortOrder = col.sortOrder\n }\n\n col = col.name\n }\n else {\n const def = colList.value.find(def => def.name === col)\n if (def !== void 0 && def.sortOrder) {\n sortOrder = def.sortOrder\n }\n }\n\n let { sortBy, descending } = computedPagination.value\n\n if (sortBy !== col) {\n sortBy = col\n descending = sortOrder === 'da'\n }\n else if (props.binaryStateSort === true) {\n descending = !descending\n }\n else if (descending === true) {\n if (sortOrder === 'ad') {\n sortBy = null\n }\n else {\n descending = false\n }\n }\n else { // ascending\n if (sortOrder === 'ad') {\n descending = true\n }\n else {\n sortBy = null\n }\n }\n\n setPagination({ sortBy, descending, page: 1 })\n }\n\n return {\n columnToSort,\n computedSortMethod,\n sort\n }\n}\n","import { computed, watch, nextTick } from 'vue'\n\nexport const useTableFilterProps = {\n filter: [ String, Object ],\n filterMethod: Function\n}\n\nexport function useTableFilter (props, setPagination) {\n const computedFilterMethod = computed(() => (\n props.filterMethod !== void 0\n ? props.filterMethod\n : (rows, terms, cols, cellValue) => {\n const lowerTerms = terms ? terms.toLowerCase() : ''\n return rows.filter(\n row => cols.some(col => {\n const val = cellValue(col, row) + ''\n const haystack = (val === 'undefined' || val === 'null') ? '' : val.toLowerCase()\n return haystack.indexOf(lowerTerms) !== -1\n })\n )\n }\n ))\n\n watch(\n () => props.filter,\n () => {\n nextTick(() => {\n setPagination({ page: 1 }, true)\n })\n },\n { deep: true }\n )\n\n return { computedFilterMethod }\n}\n","import { ref, computed, watch, nextTick } from 'vue'\n\nfunction samePagination (oldPag, newPag) {\n for (const prop in newPag) {\n if (newPag[ prop ] !== oldPag[ prop ]) {\n return false\n }\n }\n return true\n}\n\nfunction fixPagination (p) {\n if (p.page < 1) {\n p.page = 1\n }\n if (p.rowsPerPage !== void 0 && p.rowsPerPage < 1) {\n p.rowsPerPage = 0\n }\n return p\n}\n\nexport const useTablePaginationProps = {\n pagination: Object,\n rowsPerPageOptions: {\n type: Array,\n default: () => [ 5, 7, 10, 15, 20, 25, 50, 0 ]\n },\n\n 'onUpdate:pagination': [ Function, Array ]\n}\n\nexport function useTablePaginationState (vm, getCellValue) {\n const { props, emit } = vm\n\n const innerPagination = ref(\n Object.assign({\n sortBy: null,\n descending: false,\n page: 1,\n rowsPerPage: props.rowsPerPageOptions.length > 0\n ? props.rowsPerPageOptions[ 0 ]\n : 5\n }, props.pagination)\n )\n\n const computedPagination = computed(() => {\n const pag = props[ 'onUpdate:pagination' ] !== void 0\n ? { ...innerPagination.value, ...props.pagination }\n : innerPagination.value\n\n return fixPagination(pag)\n })\n\n const isServerSide = computed(() => computedPagination.value.rowsNumber !== void 0)\n\n function sendServerRequest (pagination) {\n requestServerInteraction({\n pagination,\n filter: props.filter\n })\n }\n\n function requestServerInteraction (prop = {}) {\n nextTick(() => {\n emit('request', {\n pagination: prop.pagination || computedPagination.value,\n // FIXME: 'props.filter' is string/object, but 'prop.filter' can be controlled by the user, and the docs are suggesting 'prop.filter' is a function\n // So, value of 'filter' becomes function/string/object, which makes a lot of things unpredictable and can break things\n // Either update the docs to say 'prop.filter' should be a string/object, or use 'prop.filter || props.filterMethod' or maybe get 'computedFilterFunction' here and use that instead of 'props.filterMethod'\n // The examples on our docs are using 'filter' as a string in onRequest handler, but the JSON API is saying 'filter' is a function\n filter: prop.filter || props.filter,\n getCellValue\n })\n })\n }\n\n function setPagination (val, forceServerRequest) {\n const newPagination = fixPagination({\n ...computedPagination.value,\n ...val\n })\n\n if (samePagination(computedPagination.value, newPagination) === true) {\n if (isServerSide.value === true && forceServerRequest === true) {\n sendServerRequest(newPagination)\n }\n return\n }\n\n if (isServerSide.value === true) {\n sendServerRequest(newPagination)\n return\n }\n\n if (\n props.pagination !== void 0\n && props[ 'onUpdate:pagination' ] !== void 0\n ) {\n emit('update:pagination', newPagination)\n }\n else {\n innerPagination.value = newPagination\n }\n }\n\n return {\n innerPagination,\n computedPagination,\n isServerSide,\n\n requestServerInteraction,\n setPagination\n }\n}\n\nexport function useTablePagination (vm, innerPagination, computedPagination, isServerSide, setPagination, filteredSortedRowsNumber) {\n const { props, emit, proxy: { $q } } = vm\n\n const computedRowsNumber = computed(() => (\n isServerSide.value === true\n ? computedPagination.value.rowsNumber || 0\n : filteredSortedRowsNumber.value\n ))\n\n const firstRowIndex = computed(() => {\n const { page, rowsPerPage } = computedPagination.value\n return (page - 1) * rowsPerPage\n })\n\n const lastRowIndex = computed(() => {\n const { page, rowsPerPage } = computedPagination.value\n return page * rowsPerPage\n })\n\n const isFirstPage = computed(() => computedPagination.value.page === 1)\n\n const pagesNumber = computed(() => (\n computedPagination.value.rowsPerPage === 0\n ? 1\n : Math.max(\n 1,\n Math.ceil(computedRowsNumber.value / computedPagination.value.rowsPerPage)\n )\n ))\n\n const isLastPage = computed(() => (\n lastRowIndex.value === 0\n ? true\n : computedPagination.value.page >= pagesNumber.value\n ))\n\n const computedRowsPerPageOptions = computed(() => {\n const opts = props.rowsPerPageOptions.includes(innerPagination.value.rowsPerPage)\n ? props.rowsPerPageOptions\n : [ innerPagination.value.rowsPerPage ].concat(props.rowsPerPageOptions)\n\n return opts.map(count => ({\n label: count === 0 ? $q.lang.table.allRows : '' + count,\n value: count\n }))\n })\n\n watch(pagesNumber, (lastPage, oldLastPage) => {\n if (lastPage === oldLastPage) {\n return\n }\n\n const currentPage = computedPagination.value.page\n if (lastPage && !currentPage) {\n setPagination({ page: 1 })\n }\n else if (lastPage < currentPage) {\n setPagination({ page: lastPage })\n }\n })\n\n function firstPage () {\n setPagination({ page: 1 })\n }\n\n function prevPage () {\n const { page } = computedPagination.value\n if (page > 1) {\n setPagination({ page: page - 1 })\n }\n }\n\n function nextPage () {\n const { page, rowsPerPage } = computedPagination.value\n if (lastRowIndex.value > 0 && page * rowsPerPage < computedRowsNumber.value) {\n setPagination({ page: page + 1 })\n }\n }\n\n function lastPage () {\n setPagination({ page: pagesNumber.value })\n }\n\n if (props[ 'onUpdate:pagination' ] !== void 0) {\n emit('update:pagination', { ...computedPagination.value })\n }\n\n return {\n firstRowIndex,\n lastRowIndex,\n isFirstPage,\n isLastPage,\n pagesNumber,\n computedRowsPerPageOptions,\n computedRowsNumber,\n\n firstPage,\n prevPage,\n nextPage,\n lastPage\n }\n}\n","import { computed } from 'vue'\n\nexport const useTableRowSelectionProps = {\n selection: {\n type: String,\n default: 'none',\n validator: v => [ 'single', 'multiple', 'none' ].includes(v)\n },\n selected: {\n type: Array,\n default: () => []\n }\n}\n\nexport const useTableRowSelectionEmits = [ 'update:selected', 'selection' ]\n\nexport function useTableRowSelection (props, emit, computedRows, getRowKey) {\n const selectedKeys = computed(() => {\n const keys = {}\n props.selected.map(getRowKey.value).forEach(key => {\n keys[ key ] = true\n })\n return keys\n })\n\n const hasSelectionMode = computed(() => {\n return props.selection !== 'none'\n })\n\n const singleSelection = computed(() => {\n return props.selection === 'single'\n })\n\n const multipleSelection = computed(() => {\n return props.selection === 'multiple'\n })\n\n const allRowsSelected = computed(() =>\n computedRows.value.length > 0 && computedRows.value.every(\n row => selectedKeys.value[ getRowKey.value(row) ] === true\n )\n )\n\n const someRowsSelected = computed(() =>\n allRowsSelected.value !== true\n && computedRows.value.some(row => selectedKeys.value[ getRowKey.value(row) ] === true)\n )\n\n const rowsSelectedNumber = computed(() => props.selected.length)\n\n function isRowSelected (key) {\n return selectedKeys.value[ key ] === true\n }\n\n function clearSelection () {\n emit('update:selected', [])\n }\n\n function updateSelection (keys, rows, added, evt) {\n emit('selection', { rows, added, keys, evt })\n\n const payload = singleSelection.value === true\n ? (added === true ? rows : [])\n : (\n added === true\n ? props.selected.concat(rows)\n : props.selected.filter(\n row => keys.includes(getRowKey.value(row)) === false\n )\n )\n\n emit('update:selected', payload)\n }\n\n return {\n hasSelectionMode,\n singleSelection,\n multipleSelection,\n allRowsSelected,\n someRowsSelected,\n rowsSelectedNumber,\n\n isRowSelected,\n clearSelection,\n updateSelection\n }\n}\n","import { ref, watch } from 'vue'\n\nfunction getVal (val) {\n return Array.isArray(val)\n ? val.slice()\n : []\n}\n\nexport const useTableRowExpandProps = {\n expanded: Array // v-model:expanded\n}\n\nexport const useTableRowExpandEmits = [ 'update:expanded' ]\n\nexport function useTableRowExpand (props, emit) {\n const innerExpanded = ref(getVal(props.expanded))\n\n watch(() => props.expanded, val => {\n innerExpanded.value = getVal(val)\n })\n\n function isRowExpanded (key) {\n return innerExpanded.value.includes(key)\n }\n\n function setExpanded (val) {\n if (props.expanded !== void 0) {\n emit('update:expanded', val)\n }\n else {\n innerExpanded.value = val\n }\n }\n\n function updateExpanded (key, add) {\n const target = innerExpanded.value.slice()\n const index = target.indexOf(key)\n\n if (add === true) {\n if (index === -1) {\n target.push(key)\n setExpanded(target)\n }\n }\n else if (index !== -1) {\n target.splice(index, 1)\n setExpanded(target)\n }\n }\n\n return {\n isRowExpanded,\n setExpanded,\n updateExpanded\n }\n}\n","import { computed } from 'vue'\n\nimport { isNumber } from '../../utils/private/is.js'\n\nexport const useTableColumnSelectionProps = {\n visibleColumns: Array\n}\n\nexport function useTableColumnSelection (props, computedPagination, hasSelectionMode) {\n const colList = computed(() => {\n if (props.columns !== void 0) {\n return props.columns\n }\n\n // we infer columns from first row\n const row = props.rows[ 0 ]\n\n return row !== void 0\n ? Object.keys(row).map(name => ({\n name,\n label: name.toUpperCase(),\n field: name,\n align: isNumber(row[ name ]) ? 'right' : 'left',\n sortable: true\n }))\n : []\n })\n\n const computedCols = computed(() => {\n const { sortBy, descending } = computedPagination.value\n\n const cols = props.visibleColumns !== void 0\n ? colList.value.filter(col => col.required === true || props.visibleColumns.includes(col.name) === true)\n : colList.value\n\n return cols.map(col => {\n const align = col.align || 'right'\n const alignClass = `text-${ align }`\n\n return {\n ...col,\n align,\n __iconClass: `q-table__sort-icon q-table__sort-icon--${ align }`,\n __thClass: alignClass\n + (col.headerClasses !== void 0 ? ' ' + col.headerClasses : '')\n + (col.sortable === true ? ' sortable' : '')\n + (col.name === sortBy ? ` sorted ${ descending === true ? 'sort-desc' : '' }` : ''),\n\n __tdStyle: col.style !== void 0\n ? (\n typeof col.style !== 'function'\n ? () => col.style\n : col.style\n )\n : () => null,\n\n __tdClass: col.classes !== void 0\n ? (\n typeof col.classes !== 'function'\n ? () => alignClass + ' ' + col.classes\n : row => alignClass + ' ' + col.classes(row)\n )\n : () => alignClass\n }\n })\n })\n\n const computedColsMap = computed(() => {\n const names = {}\n computedCols.value.forEach(col => {\n names[ col.name ] = col\n })\n return names\n })\n\n const computedColspan = computed(() => {\n return props.tableColspan !== void 0\n ? props.tableColspan\n : computedCols.value.length + (hasSelectionMode.value === true ? 1 : 0)\n })\n\n return {\n colList,\n computedCols,\n computedColsMap,\n computedColspan\n }\n}\n","import { h, ref, computed, watch, getCurrentInstance } from 'vue'\n\nimport QTh from './QTh.js'\n\nimport QSeparator from '../separator/QSeparator.js'\nimport QIcon from '../icon/QIcon.js'\nimport QVirtualScroll from '../virtual-scroll/QVirtualScroll.js'\nimport QSelect from '../select/QSelect.js'\nimport QLinearProgress from '../linear-progress/QLinearProgress.js'\nimport QCheckbox from '../checkbox/QCheckbox.js'\nimport QBtn from '../btn/QBtn.js'\n\nimport getTableMiddle from './get-table-middle.js'\n\nimport useDark, { useDarkProps } from '../../composables/private/use-dark.js'\nimport { commonVirtPropsList } from '../virtual-scroll/use-virtual-scroll.js'\nimport useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private/use-fullscreen.js'\n\nimport { useTableSort, useTableSortProps } from './table-sort.js'\nimport { useTableFilter, useTableFilterProps } from './table-filter.js'\nimport { useTablePaginationState, useTablePagination, useTablePaginationProps } from './table-pagination.js'\nimport { useTableRowSelection, useTableRowSelectionProps, useTableRowSelectionEmits } from './table-row-selection.js'\nimport { useTableRowExpand, useTableRowExpandProps, useTableRowExpandEmits } from './table-row-expand.js'\nimport { useTableColumnSelection, useTableColumnSelectionProps } from './table-column-selection.js'\n\nimport { injectProp, injectMultipleProps } from '../../utils/private/inject-obj-prop.js'\nimport { createComponent } from '../../utils/private/create.js'\n\nconst bottomClass = 'q-table__bottom row items-center'\n\nconst commonVirtPropsObj = {}\ncommonVirtPropsList.forEach(p => { commonVirtPropsObj[ p ] = {} })\n\nexport default createComponent({\n name: 'QTable',\n\n props: {\n rows: {\n type: Array,\n default: () => []\n },\n rowKey: {\n type: [ String, Function ],\n default: 'id'\n },\n\n columns: Array,\n loading: Boolean,\n\n iconFirstPage: String,\n iconPrevPage: String,\n iconNextPage: String,\n iconLastPage: String,\n\n title: String,\n\n hideHeader: Boolean,\n\n grid: Boolean,\n gridHeader: Boolean,\n\n dense: Boolean,\n flat: Boolean,\n bordered: Boolean,\n square: Boolean,\n separator: {\n type: String,\n default: 'horizontal',\n validator: v => [ 'horizontal', 'vertical', 'cell', 'none' ].includes(v)\n },\n wrapCells: Boolean,\n\n virtualScroll: Boolean,\n ...commonVirtPropsObj,\n\n noDataLabel: String,\n noResultsLabel: String,\n loadingLabel: String,\n selectedRowsLabel: Function,\n rowsPerPageLabel: String,\n paginationLabel: Function,\n\n color: {\n type: String,\n default: 'grey-8'\n },\n\n titleClass: [ String, Array, Object ],\n tableStyle: [ String, Array, Object ],\n tableClass: [ String, Array, Object ],\n tableHeaderStyle: [ String, Array, Object ],\n tableHeaderClass: [ String, Array, Object ],\n cardContainerClass: [ String, Array, Object ],\n cardContainerStyle: [ String, Array, Object ],\n cardStyle: [ String, Array, Object ],\n cardClass: [ String, Array, Object ],\n\n hideBottom: Boolean,\n hideSelectedBanner: Boolean,\n hideNoData: Boolean,\n hidePagination: Boolean,\n\n onRowClick: Function,\n onRowDblclick: Function,\n onRowContextmenu: Function,\n\n ...useDarkProps,\n ...useFullscreenProps,\n\n ...useTableColumnSelectionProps,\n ...useTableFilterProps,\n ...useTablePaginationProps,\n ...useTableRowExpandProps,\n ...useTableRowSelectionProps,\n ...useTableSortProps\n },\n\n emits: [\n 'request', 'virtual-scroll',\n ...useFullscreenEmits,\n ...useTableRowExpandEmits,\n ...useTableRowSelectionEmits\n ],\n\n setup (props, { slots, emit }) {\n const vm = getCurrentInstance()\n const { proxy: { $q } } = vm\n\n const isDark = useDark(props, $q)\n const { inFullscreen, toggleFullscreen } = useFullscreen()\n\n const getRowKey = computed(() => (\n typeof props.rowKey === 'function'\n ? props.rowKey\n : row => row[ props.rowKey ]\n ))\n\n const rootRef = ref(null)\n const virtScrollRef = ref(null)\n const hasVirtScroll = computed(() => props.grid !== true && props.virtualScroll === true)\n\n const cardDefaultClass = computed(() =>\n ' q-table__card'\n + (isDark.value === true ? ' q-table__card--dark q-dark' : '')\n + (props.square === true ? ' q-table--square' : '')\n + (props.flat === true ? ' q-table--flat' : '')\n + (props.bordered === true ? ' q-table--bordered' : '')\n )\n\n const __containerClass = computed(() =>\n `q-table__container q-table--${ props.separator }-separator column no-wrap`\n + (props.loading === true ? ' q-table--loading' : '')\n + (props.grid === true ? ' q-table--grid' : cardDefaultClass.value)\n + (isDark.value === true ? ' q-table--dark' : '')\n + (props.dense === true ? ' q-table--dense' : '')\n + (props.wrapCells === false ? ' q-table--no-wrap' : '')\n + (inFullscreen.value === true ? ' fullscreen scroll' : '')\n )\n\n const containerClass = computed(() =>\n __containerClass.value + (props.loading === true ? ' q-table--loading' : '')\n )\n\n watch(\n () => props.tableStyle + props.tableClass + props.tableHeaderStyle + props.tableHeaderClass + __containerClass.value,\n () => { hasVirtScroll.value === true && virtScrollRef.value !== null && virtScrollRef.value.reset() }\n )\n\n const {\n innerPagination,\n computedPagination,\n isServerSide,\n\n requestServerInteraction,\n setPagination\n } = useTablePaginationState(vm, getCellValue)\n\n const { computedFilterMethod } = useTableFilter(props, setPagination)\n const { isRowExpanded, setExpanded, updateExpanded } = useTableRowExpand(props, emit)\n\n const filteredSortedRows = computed(() => {\n let rows = props.rows\n\n if (isServerSide.value === true || rows.length === 0) {\n return rows\n }\n\n const { sortBy, descending } = computedPagination.value\n\n if (props.filter) {\n rows = computedFilterMethod.value(rows, props.filter, computedCols.value, getCellValue)\n }\n\n if (columnToSort.value !== null) {\n rows = computedSortMethod.value(\n props.rows === rows ? rows.slice() : rows,\n sortBy,\n descending\n )\n }\n\n return rows\n })\n\n const filteredSortedRowsNumber = computed(() => filteredSortedRows.value.length)\n\n const computedRows = computed(() => {\n let rows = filteredSortedRows.value\n\n if (isServerSide.value === true) {\n return rows\n }\n\n const { rowsPerPage } = computedPagination.value\n\n if (rowsPerPage !== 0) {\n if (firstRowIndex.value === 0 && props.rows !== rows) {\n if (rows.length > lastRowIndex.value) {\n rows = rows.slice(0, lastRowIndex.value)\n }\n }\n else {\n rows = rows.slice(firstRowIndex.value, lastRowIndex.value)\n }\n }\n\n return rows\n })\n\n const {\n hasSelectionMode,\n singleSelection,\n multipleSelection,\n allRowsSelected,\n someRowsSelected,\n rowsSelectedNumber,\n\n isRowSelected,\n clearSelection,\n updateSelection\n } = useTableRowSelection(props, emit, computedRows, getRowKey)\n\n const { colList, computedCols, computedColsMap, computedColspan } = useTableColumnSelection(props, computedPagination, hasSelectionMode)\n\n const { columnToSort, computedSortMethod, sort } = useTableSort(props, computedPagination, colList, setPagination)\n\n const {\n firstRowIndex,\n lastRowIndex,\n isFirstPage,\n isLastPage,\n pagesNumber,\n computedRowsPerPageOptions,\n computedRowsNumber,\n\n firstPage,\n prevPage,\n nextPage,\n lastPage\n } = useTablePagination(vm, innerPagination, computedPagination, isServerSide, setPagination, filteredSortedRowsNumber)\n\n const nothingToDisplay = computed(() => computedRows.value.length === 0)\n\n const virtProps = computed(() => {\n const acc = {}\n\n commonVirtPropsList\n .forEach(p => { acc[ p ] = props[ p ] })\n\n if (acc.virtualScrollItemSize === void 0) {\n acc.virtualScrollItemSize = props.dense === true ? 28 : 48\n }\n\n return acc\n })\n\n function resetVirtualScroll () {\n hasVirtScroll.value === true && virtScrollRef.value.reset()\n }\n\n function getBody () {\n if (props.grid === true) {\n return getGridBody()\n }\n\n const header = props.hideHeader !== true ? getTHead : null\n\n if (hasVirtScroll.value === true) {\n const topRow = slots[ 'top-row' ]\n const bottomRow = slots[ 'bottom-row' ]\n\n const virtSlots = {\n default: props => getTBodyTR(props.item, slots.body, props.index)\n }\n\n if (topRow !== void 0) {\n const topContent = h('tbody', topRow({ cols: computedCols.value }))\n\n virtSlots.before = header === null\n ? () => topContent\n : () => [ header() ].concat(topContent)\n }\n else if (header !== null) {\n virtSlots.before = header\n }\n\n if (bottomRow !== void 0) {\n virtSlots.after = () => h('tbody', bottomRow({ cols: computedCols.value }))\n }\n\n return h(QVirtualScroll, {\n ref: virtScrollRef,\n class: props.tableClass,\n style: props.tableStyle,\n ...virtProps.value,\n items: computedRows.value,\n type: '__qtable',\n tableColspan: computedColspan.value,\n onVirtualScroll: onVScroll\n }, virtSlots)\n }\n\n const child = [\n getTBody()\n ]\n\n if (header !== null) {\n child.unshift(header())\n }\n\n return getTableMiddle({\n class: [ 'q-table__middle scroll', props.tableClass ],\n style: props.tableStyle\n }, child)\n }\n\n function scrollTo (toIndex, edge) {\n if (virtScrollRef.value !== null) {\n virtScrollRef.value.scrollTo(toIndex, edge)\n return\n }\n\n toIndex = parseInt(toIndex, 10)\n const rowEl = rootRef.value.querySelector(`tbody tr:nth-of-type(${ toIndex + 1 })`)\n\n if (rowEl !== null) {\n const scrollTarget = rootRef.value.querySelector('.q-table__middle.scroll')\n const { offsetTop } = rowEl\n const direction = offsetTop < scrollTarget.scrollTop ? 'decrease' : 'increase'\n\n scrollTarget.scrollTop = offsetTop\n\n emit('virtual-scroll', {\n index: toIndex,\n from: 0,\n to: innerPagination.value.rowsPerPage - 1,\n direction\n })\n }\n }\n\n function onVScroll (info) {\n emit('virtual-scroll', info)\n }\n\n function getProgress () {\n return [\n h(QLinearProgress, {\n class: 'q-table__linear-progress',\n color: props.color,\n dark: isDark.value,\n indeterminate: true,\n trackColor: 'transparent'\n })\n ]\n }\n\n function getTBodyTR (row, bodySlot, pageIndex) {\n const\n key = getRowKey.value(row),\n selected = isRowSelected(key)\n\n if (bodySlot !== void 0) {\n return bodySlot(\n getBodyScope({\n key,\n row,\n pageIndex,\n __trClass: selected ? 'selected' : ''\n })\n )\n }\n\n const\n bodyCell = slots[ 'body-cell' ],\n child = computedCols.value.map(col => {\n const\n bodyCellCol = slots[ `body-cell-${ col.name }` ],\n slot = bodyCellCol !== void 0 ? bodyCellCol : bodyCell\n\n return slot !== void 0\n ? slot(getBodyCellScope({ key, row, pageIndex, col }))\n : h('td', {\n class: col.__tdClass(row),\n style: col.__tdStyle(row)\n }, getCellValue(col, row))\n })\n\n if (hasSelectionMode.value === true) {\n const slot = slots[ 'body-selection' ]\n const content = slot !== void 0\n ? slot(getBodySelectionScope({ key, row, pageIndex }))\n : [\n h(QCheckbox, {\n modelValue: selected,\n color: props.color,\n dark: isDark.value,\n dense: props.dense,\n 'onUpdate:modelValue': (adding, evt) => {\n updateSelection([ key ], [ row ], adding, evt)\n }\n })\n ]\n\n child.unshift(\n h('td', { class: 'q-table--col-auto-width' }, content)\n )\n }\n\n const data = { key, class: { selected } }\n\n if (props.onRowClick !== void 0) {\n data.class[ 'cursor-pointer' ] = true\n data.onClick = evt => {\n emit('RowClick', evt, row, pageIndex)\n }\n }\n\n if (props.onRowDblclick !== void 0) {\n data.class[ 'cursor-pointer' ] = true\n data.onDblclick = evt => {\n emit('RowDblclick', evt, row, pageIndex)\n }\n }\n\n if (props.onRowContextmenu !== void 0) {\n data.class[ 'cursor-pointer' ] = true\n data.onContextmenu = evt => {\n emit('RowContextmenu', evt, row, pageIndex)\n }\n }\n\n return h('tr', data, child)\n }\n\n function getTBody () {\n const\n body = slots.body,\n topRow = slots[ 'top-row' ],\n bottomRow = slots[ 'bottom-row' ]\n\n let child = computedRows.value.map(\n (row, pageIndex) => getTBodyTR(row, body, pageIndex)\n )\n\n if (topRow !== void 0) {\n child = topRow({ cols: computedCols.value }).concat(child)\n }\n if (bottomRow !== void 0) {\n child = child.concat(bottomRow({ cols: computedCols.value }))\n }\n\n return h('tbody', child)\n }\n\n function getBodyScope (data) {\n injectBodyCommonScope(data)\n\n data.cols = data.cols.map(col => {\n const c = { ...col }\n injectProp(c, 'value', () => getCellValue(col, data.row))\n return c\n })\n\n return data\n }\n\n function getBodyCellScope (data) {\n injectBodyCommonScope(data)\n injectProp(data, 'value', () => getCellValue(data.col, data.row))\n return data\n }\n\n function getBodySelectionScope (data) {\n injectBodyCommonScope(data)\n return data\n }\n\n function injectBodyCommonScope (data) {\n Object.assign(data, {\n cols: computedCols.value,\n colsMap: computedColsMap.value,\n sort,\n rowIndex: firstRowIndex.value + data.pageIndex,\n color: props.color,\n dark: isDark.value,\n dense: props.dense\n })\n\n hasSelectionMode.value === true && injectProp(\n data,\n 'selected',\n () => isRowSelected(data.key),\n (adding, evt) => {\n updateSelection([ data.key ], [ data.row ], adding, evt)\n }\n )\n\n injectProp(\n data,\n 'expand',\n () => isRowExpanded(data.key),\n adding => { updateExpanded(data.key, adding) }\n )\n }\n\n function getCellValue (col, row) {\n const val = typeof col.field === 'function' ? col.field(row) : row[ col.field ]\n return col.format !== void 0 ? col.format(val, row) : val\n }\n\n const marginalsScope = computed(() => ({\n pagination: computedPagination.value,\n pagesNumber: pagesNumber.value,\n isFirstPage: isFirstPage.value,\n isLastPage: isLastPage.value,\n firstPage,\n prevPage,\n nextPage,\n lastPage,\n\n inFullscreen: inFullscreen.value,\n toggleFullscreen\n }))\n\n function getTopDiv () {\n const\n top = slots.top,\n topLeft = slots[ 'top-left' ],\n topRight = slots[ 'top-right' ],\n topSelection = slots[ 'top-selection' ],\n hasSelection = hasSelectionMode.value === true\n && topSelection !== void 0\n && rowsSelectedNumber.value > 0,\n topClass = 'q-table__top relative-position row items-center'\n\n if (top !== void 0) {\n return h('div', { class: topClass }, [ top(marginalsScope.value) ])\n }\n\n let child\n\n if (hasSelection === true) {\n child = topSelection(marginalsScope.value).slice()\n }\n else {\n child = []\n\n if (topLeft !== void 0) {\n child.push(\n h('div', { class: 'q-table-control' }, [\n topLeft(marginalsScope.value)\n ])\n )\n }\n else if (props.title) {\n child.push(\n h('div', { class: 'q-table__control' }, [\n h('div', {\n class: [ 'q-table__title', props.titleClass ]\n }, props.title)\n ])\n )\n }\n }\n\n if (topRight !== void 0) {\n child.push(\n h('div', { class: 'q-table__separator col' })\n )\n child.push(\n h('div', { class: 'q-table__control' }, [\n topRight(marginalsScope.value)\n ])\n )\n }\n\n if (child.length === 0) {\n return\n }\n\n return h('div', { class: topClass }, child)\n }\n\n const headerSelectedValue = computed(() => (\n someRowsSelected.value === true\n ? null\n : allRowsSelected.value\n ))\n\n function getTHead () {\n const child = getTHeadTR()\n\n if (props.loading === true && slots.loading === void 0) {\n child.push(\n h('tr', { class: 'q-table__progress' }, [\n h('th', {\n class: 'relative-position',\n colspan: computedColspan.value\n }, getProgress())\n ])\n )\n }\n\n return h('thead', child)\n }\n\n function getTHeadTR () {\n const\n header = slots.header,\n headerCell = slots[ 'header-cell' ]\n\n if (header !== void 0) {\n return header(\n getHeaderScope({ header: true })\n ).slice()\n }\n\n const child = computedCols.value.map(col => {\n const\n headerCellCol = slots[ `header-cell-${ col.name }` ],\n slot = headerCellCol !== void 0 ? headerCellCol : headerCell,\n props = getHeaderScope({ col })\n\n return slot !== void 0\n ? slot(props)\n : h(QTh, {\n key: col.name,\n props\n }, () => col.label)\n })\n\n if (singleSelection.value === true && props.grid !== true) {\n child.unshift(\n h('th', { class: 'q-table--col-auto-width' }, ' ')\n )\n }\n else if (multipleSelection.value === true) {\n const slot = slots[ 'header-selection' ]\n const content = slot !== void 0\n ? slot(getHeaderScope({}))\n : [\n h(QCheckbox, {\n color: props.color,\n modelValue: headerSelectedValue.value,\n dark: isDark.value,\n dense: props.dense,\n 'onUpdate:modelValue': onMultipleSelectionSet\n })\n ]\n\n child.unshift(\n h('th', { class: 'q-table--col-auto-width' }, content)\n )\n }\n\n return [\n h('tr', {\n class: props.tableHeaderClass,\n style: props.tableHeaderStyle\n }, child)\n ]\n }\n\n function getHeaderScope (data) {\n Object.assign(data, {\n cols: computedCols.value,\n sort,\n colsMap: computedColsMap.value,\n color: props.color,\n dark: isDark.value,\n dense: props.dense\n })\n\n if (multipleSelection.value === true) {\n injectProp(\n data,\n 'selected',\n () => headerSelectedValue.value,\n onMultipleSelectionSet\n )\n }\n\n return data\n }\n\n function onMultipleSelectionSet (val) {\n if (someRowsSelected.value === true) {\n val = false\n }\n\n updateSelection(\n computedRows.value.map(getRowKey.value),\n computedRows.value,\n val\n )\n }\n\n const navIcon = computed(() => {\n const ico = [\n props.iconFirstPage || $q.iconSet.table.firstPage,\n props.iconPrevPage || $q.iconSet.table.prevPage,\n props.iconNextPage || $q.iconSet.table.nextPage,\n props.iconLastPage || $q.iconSet.table.lastPage\n ]\n return $q.lang.rtl === true ? ico.reverse() : ico\n })\n\n function getBottomDiv () {\n if (props.hideBottom === true) {\n return\n }\n\n if (nothingToDisplay.value === true) {\n if (props.hideNoData === true) {\n return\n }\n\n const message = props.loading === true\n ? props.loadingLabel || $q.lang.table.loading\n : (props.filter ? props.noResultsLabel || $q.lang.table.noResults : props.noDataLabel || $q.lang.table.noData)\n\n const noData = slots[ 'no-data' ]\n const children = noData !== void 0\n ? [ noData({ message, icon: $q.iconSet.table.warning, filter: props.filter }) ]\n : [\n h(QIcon, {\n class: 'q-table__bottom-nodata-icon',\n name: $q.iconSet.table.warning\n }),\n message\n ]\n\n return h('div', { class: bottomClass + ' q-table__bottom--nodata' }, children)\n }\n\n const bottom = slots.bottom\n\n if (bottom !== void 0) {\n return h('div', { class: bottomClass }, [ bottom(marginalsScope.value) ])\n }\n\n const child = props.hideSelectedBanner !== true && hasSelectionMode.value === true && rowsSelectedNumber.value > 0\n ? [\n h('div', { class: 'q-table__control' }, [\n h('div', [\n (props.selectedRowsLabel || $q.lang.table.selectedRecords)(rowsSelectedNumber.value)\n ])\n ])\n ]\n : []\n\n if (props.hidePagination !== true) {\n return h('div', {\n class: bottomClass + ' justify-end'\n }, getPaginationDiv(child))\n }\n\n if (child.length > 0) {\n return h('div', { class: bottomClass }, child)\n }\n }\n\n function onPagSelection (pag) {\n setPagination({\n page: 1,\n rowsPerPage: pag.value\n })\n }\n\n function getPaginationDiv (child) {\n let control\n const\n { rowsPerPage } = computedPagination.value,\n paginationLabel = props.paginationLabel || $q.lang.table.pagination,\n paginationSlot = slots.pagination,\n hasOpts = props.rowsPerPageOptions.length > 1\n\n child.push(\n h('div', { class: 'q-table__separator col' })\n )\n\n if (hasOpts === true) {\n child.push(\n h('div', { class: 'q-table__control' }, [\n h('span', { class: 'q-table__bottom-item' }, [\n props.rowsPerPageLabel || $q.lang.table.recordsPerPage\n ]),\n h(QSelect, {\n class: 'q-table__select inline q-table__bottom-item',\n color: props.color,\n modelValue: rowsPerPage,\n options: computedRowsPerPageOptions.value,\n displayValue: rowsPerPage === 0\n ? $q.lang.table.allRows\n : rowsPerPage,\n dark: isDark.value,\n borderless: true,\n dense: true,\n optionsDense: true,\n optionsCover: true,\n 'onUpdate:modelValue': onPagSelection\n })\n ])\n )\n }\n\n if (paginationSlot !== void 0) {\n control = paginationSlot(marginalsScope.value)\n }\n else {\n control = [\n h('span', rowsPerPage !== 0 ? { class: 'q-table__bottom-item' } : {}, [\n rowsPerPage\n ? paginationLabel(firstRowIndex.value + 1, Math.min(lastRowIndex.value, computedRowsNumber.value), computedRowsNumber.value)\n : paginationLabel(1, filteredSortedRowsNumber.value, computedRowsNumber.value)\n ])\n ]\n\n if (rowsPerPage !== 0 && pagesNumber.value > 1) {\n const btnProps = {\n color: props.color,\n round: true,\n dense: true,\n flat: true\n }\n\n if (props.dense === true) {\n btnProps.size = 'sm'\n }\n\n pagesNumber.value > 2 && control.push(\n h(QBtn, {\n key: 'pgFirst',\n ...btnProps,\n icon: navIcon.value[ 0 ],\n disable: isFirstPage.value,\n onClick: firstPage\n })\n )\n\n control.push(\n h(QBtn, {\n key: 'pgPrev',\n ...btnProps,\n icon: navIcon.value[ 1 ],\n disable: isFirstPage.value,\n onClick: prevPage\n }),\n\n h(QBtn, {\n key: 'pgNext',\n ...btnProps,\n icon: navIcon.value[ 2 ],\n disable: isLastPage.value,\n onClick: nextPage\n })\n )\n\n pagesNumber.value > 2 && control.push(\n h(QBtn, {\n key: 'pgLast',\n ...btnProps,\n icon: navIcon.value[ 3 ],\n disable: isLastPage.value,\n onClick: lastPage\n })\n )\n }\n }\n\n child.push(\n h('div', { class: 'q-table__control' }, control)\n )\n\n return child\n }\n\n function getGridHeader () {\n const child = props.gridHeader === true\n ? [\n h('table', { class: 'q-table' }, [\n getTHead(h)\n ])\n ]\n : (\n props.loading === true && slots.loading === void 0\n ? getProgress(h)\n : void 0\n )\n\n return h('div', { class: 'q-table__middle' }, child)\n }\n\n function getGridBody () {\n const item = slots.item !== void 0\n ? slots.item\n : scope => {\n const child = scope.cols.map(\n col => h('div', { class: 'q-table__grid-item-row' }, [\n h('div', { class: 'q-table__grid-item-title' }, [ col.label ]),\n h('div', { class: 'q-table__grid-item-value' }, [ col.value ])\n ])\n )\n\n if (hasSelectionMode.value === true) {\n const slot = slots[ 'body-selection' ]\n const content = slot !== void 0\n ? slot(scope)\n : [\n h(QCheckbox, {\n modelValue: scope.selected,\n color: props.color,\n dark: isDark.value,\n dense: props.dense,\n 'onUpdate:modelValue': (adding, evt) => {\n updateSelection([ scope.key ], [ scope.row ], adding, evt)\n }\n })\n ]\n\n child.unshift(\n h('div', { class: 'q-table__grid-item-row' }, content),\n h(QSeparator, { dark: isDark.value })\n )\n }\n\n const data = {\n class: [\n 'q-table__grid-item-card' + cardDefaultClass.value,\n props.cardClass\n ],\n style: props.cardStyle\n }\n\n if (\n props.onRowClick !== void 0\n || props.onRowDblclick !== void 0\n ) {\n data.class[ 0 ] += ' cursor-pointer'\n\n if (props.onRowClick !== void 0) {\n data.onClick = evt => {\n emit('RowClick', evt, scope.row, scope.pageIndex)\n }\n }\n\n if (props.onRowDblclick !== void 0) {\n data.onDblclick = evt => {\n emit('RowDblclick', evt, scope.row, scope.pageIndex)\n }\n }\n }\n\n return h('div', {\n class: 'q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3'\n + (scope.selected === true ? 'q-table__grid-item--selected' : '')\n }, [\n h('div', data, child)\n ])\n }\n\n return h('div', {\n class: [\n 'q-table__grid-content row',\n props.cardContainerClass\n ],\n style: props.cardContainerStyle\n }, computedRows.value.map((row, pageIndex) => {\n return item(getBodyScope({\n key: getRowKey.value(row),\n row,\n pageIndex\n }))\n }))\n }\n\n // expose public methods and needed computed props\n Object.assign(vm.proxy, {\n requestServerInteraction,\n setPagination,\n firstPage,\n prevPage,\n nextPage,\n lastPage,\n isRowSelected,\n clearSelection,\n isRowExpanded,\n setExpanded,\n sort,\n resetVirtualScroll,\n scrollTo,\n getCellValue\n })\n\n injectMultipleProps(vm.proxy, {\n filteredSortedRows: () => filteredSortedRows.value,\n computedRows: () => computedRows.value,\n computedRowsNumber: () => computedRowsNumber.value\n })\n\n return () => {\n const child = [ getTopDiv() ]\n const data = { ref: rootRef, class: containerClass.value }\n\n if (props.grid === true) {\n child.push(getGridHeader())\n }\n else {\n Object.assign(data, {\n class: [ data.class, props.cardClass ],\n style: props.cardStyle\n })\n }\n\n child.push(\n getBody(),\n getBottomDiv()\n )\n\n if (props.loading === true && slots.loading !== void 0) {\n child.push(\n slots.loading()\n )\n }\n\n return h('div', data, child)\n }\n }\n})\n"],"sourceRoot":""}