@vuetify/nightly 3.8.7-master.2025-06-03 → 3.8.8-dev.2025-06-08
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -15
- package/dist/json/attributes.json +3542 -3418
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +168 -168
- package/dist/json/tags.json +32 -1
- package/dist/json/web-types.json +6581 -6195
- package/dist/vuetify-labs.cjs +369 -147
- package/dist/vuetify-labs.css +3246 -3212
- package/dist/vuetify-labs.d.ts +2433 -1899
- package/dist/vuetify-labs.esm.js +370 -148
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +369 -147
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +363 -136
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3712 -3678
- package/dist/vuetify.d.ts +1588 -1094
- package/dist/vuetify.esm.js +364 -137
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +363 -136
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1224 -1206
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +6 -1
- package/lib/components/VAlert/VAlert.d.ts +35 -0
- package/lib/components/VAlert/VAlert.js +15 -10
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAlert/VAlert.sass +7 -1
- package/lib/components/VAppBar/VAppBar.d.ts +15 -3
- package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +154 -103
- package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.d.ts +60 -0
- package/lib/components/VBadge/VBadge.js +7 -2
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBtn/VBtn.d.ts +20 -10
- package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
- package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
- package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
- package/lib/components/VCard/VCard.d.ts +20 -10
- package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
- package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
- package/lib/components/VChip/VChip.d.ts +20 -10
- package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
- package/lib/components/VCombobox/VCombobox.d.ts +154 -103
- package/lib/components/VCombobox/VCombobox.js +22 -3
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.d.ts +60 -0
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
- package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
- package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
- package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
- package/lib/components/VFab/VFab.d.ts +20 -10
- package/lib/components/VField/VField.d.ts +3 -3
- package/lib/components/VFileInput/VFileInput.d.ts +15 -15
- package/lib/components/VInput/VInput.d.ts +4 -4
- package/lib/components/VList/VList.d.ts +13 -0
- package/lib/components/VList/VList.js +4 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +23 -10
- package/lib/components/VList/VListItem.js +7 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VList/list.d.ts +9 -2
- package/lib/components/VList/list.js +7 -0
- package/lib/components/VList/list.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
- package/lib/components/VNumberInput/VNumberInput.js +19 -4
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +2 -1
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VRadio/VRadio.d.ts +20 -10
- package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
- package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
- package/lib/components/VSelect/VSelect.d.ts +171 -107
- package/lib/components/VSelect/VSelect.js +21 -3
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
- package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
- package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.d.ts +3 -3
- package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
- package/lib/components/VStepper/VStepperItem.d.ts +28 -14
- package/lib/components/VSwitch/VSwitch.d.ts +23 -13
- package/lib/components/VTable/VTable.css +6 -0
- package/lib/components/VTable/VTable.d.ts +55 -24
- package/lib/components/VTable/VTable.js +9 -2
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTable/VTable.sass +14 -0
- package/lib/components/VTable/_variables.scss +1 -0
- package/lib/components/VTabs/VTab.d.ts +56 -28
- package/lib/components/VTabs/VTabs.d.ts +10 -0
- package/lib/components/VTextField/VTextField.d.ts +27 -27
- package/lib/components/VTextarea/VTextarea.d.ts +15 -15
- package/lib/components/VToolbar/VToolbar.d.ts +15 -3
- package/lib/components/VToolbar/VToolbar.js +6 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/composables/calendar.d.ts +6 -0
- package/lib/composables/calendar.js +2 -1
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/DateAdapter.d.ts +3 -3
- package/lib/composables/date/DateAdapter.js.map +1 -1
- package/lib/composables/date/adapters/string.d.ts +54 -0
- package/lib/composables/date/adapters/string.js +153 -0
- package/lib/composables/date/adapters/string.js.map +1 -0
- package/lib/composables/date/adapters/vuetify.d.ts +1 -1
- package/lib/composables/date/adapters/vuetify.js +4 -4
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/date/date.d.ts +3 -3
- package/lib/composables/date/index.d.ts +1 -0
- package/lib/composables/date/index.js +1 -0
- package/lib/composables/date/index.js.map +1 -1
- package/lib/composables/filter.js +3 -0
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/iconSizes.d.ts +28 -0
- package/lib/composables/iconSizes.js +23 -0
- package/lib/composables/iconSizes.js.map +1 -0
- package/lib/composables/list-items.js +2 -2
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/theme.d.ts +6 -1
- package/lib/composables/theme.js +94 -26
- package/lib/composables/theme.js.map +1 -1
- package/lib/composables/virtual.js +6 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/directives/ripple/index.d.ts +2 -1
- package/lib/directives/ripple/index.js +12 -7
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/entry-bundler.d.ts +3 -3
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +83 -68
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
- package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
- package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
- package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
- package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
- package/lib/labs/VIconBtn/VIconBtn.js +7 -11
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
- package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
- package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
- package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
- package/lib/labs/entry-bundler.d.ts +3 -3
- package/lib/util/globals.d.ts +1 -0
- package/lib/util/globals.js +1 -0
- package/lib/util/globals.js.map +1 -1
- package/lib/util/helpers.d.ts +1 -0
- package/lib/util/helpers.js +9 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +3 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableHeaders.js","names":["VDataTableColumn","VCheckboxBtn","VChip","VIcon","VSelect","useHeaders","useSelection","useSort","useBackgroundColor","makeDisplayProps","useDisplay","IconValue","LoaderSlot","makeLoaderProps","useLoader","useLocale","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","disableSort","Boolean","fixedHeader","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","sticky","VDataTableHeaders","name","props","setup","_ref","slots","t","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","displayClasses","mobile","slotProps","headerCellClasses","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","maxWidth","colspan","rowspan","nowrap","lastFixed","columnSlotName","columnSlotProps","_createElementVNode","title","_normalizeClass","_normalizeStyle","findIndex","VDataTableMobileHeaderCell","displayItems","filter","appendIcon","showSelectColumn","length","onClick:clear","onClick:append","chip","raw","e","preventDefault","stopPropagation","_Fragment","map","row","loading","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VIcon } from '@/components/VIcon'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { ItemProps } from '@/composables/list-items'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\nexport type VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n disableSort: Boolean,\n fixedHeader: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n /** @deprecated */\n sticky: Boolean,\n\n ...makeDisplayProps(),\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!(props.sticky || props.fixedHeader) && !column.fixed) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: (props.sticky || props.fixedHeader) ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n\n const { displayClasses, mobile } = useDisplay(props)\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const headerCellClasses = computed(() => ([\n 'v-data-table__th',\n {\n 'v-data-table__th--sticky': (props.sticky || props.fixedHeader),\n },\n displayClasses.value,\n loaderClasses.value,\n ]))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n {\n 'v-data-table__th--sortable': column.sortable && !props.disableSort,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n },\n ...headerCellClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && !props.disableSort && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n const VDataTableMobileHeaderCell = () => {\n const displayItems = computed<ItemProps['items']>(() => {\n return columns.value.filter(column => column?.sortable && !props.disableSort)\n })\n\n const appendIcon = computed(() => {\n const showSelectColumn = columns.value.find(column => column.key === 'data-table-select')\n\n if (showSelectColumn == null) return\n\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff'\n })\n\n return (\n <VDataTableColumn\n tag=\"th\"\n class={[\n ...headerCellClasses.value,\n ]}\n colspan={ headers.value.length + 1 }\n { ...props.headerProps }\n >\n <div class=\"v-data-table-header__content\">\n <VSelect\n chips\n class=\"v-data-table__td-sort-select\"\n clearable\n density=\"default\"\n items={ displayItems.value }\n label={ t('$vuetify.dataTable.sortBy') }\n multiple={ props.multiSort }\n variant=\"underlined\"\n onClick:clear={ () => sortBy.value = [] }\n appendIcon={ appendIcon.value }\n onClick:append={ () => selectAll(!allSelected.value) }\n >\n {{\n ...slots,\n chip: props => (\n <VChip\n onClick={ props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.item.title }\n <VIcon\n class={[\n 'v-data-table__td-sort-icon',\n isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active',\n ]}\n icon={ getSortIcon(props.item.raw) }\n size=\"small\"\n />\n </VChip>\n ),\n }}\n </VSelect>\n </div>\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return mobile.value ? (\n <tr>\n <VDataTableMobileHeaderCell />\n </tr>\n ) : (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB;AAAA,SAChBC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,KAAK;AAAA,SACLC,OAAO,+BAEhB;AAAA,SACSC,UAAU;AAAA,SACVC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,kBAAkB;AAAA,SAClBC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,SAAS;AAAA,SACTC,UAAU,EAAEC,eAAe,EAAEC,SAAS;AAAA,SACtCC,SAAS,uCAElB;AACA,SAASC,QAAQ,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACjCC,aAAa,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,+BAEjE;AAsCA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,KAAK,EAAEC,MAAM;EACbC,WAAW,EAAEC,OAAO;EACpBC,WAAW,EAAED,OAAO;EACpBE,SAAS,EAAEF,OAAO;EAClBG,WAAW,EAAE;IACXC,IAAI,EAAEnB,SAAS;IACfoB,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZF,IAAI,EAAEnB,SAAS;IACfoB,OAAO,EAAE;EACX,CAAC;EACDE,WAAW,EAAE;IACXH,IAAI,EAAEI;EACR,CAAC;EAED;EACAC,MAAM,EAAET,OAAO;EAEf,GAAGjB,gBAAgB,CAAC,CAAC;EACrB,GAAGI,eAAe,CAAC;AACrB,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMuB,iBAAiB,GAAGjB,gBAAgB,CAAyB,CAAC,CAAC;EAC1EkB,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAEhB,0BAA0B,CAAC,CAAC;EAEnCiB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAG3B,SAAS,CAAC,CAAC;IACzB,MAAM;MAAE4B,UAAU;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAGtC,OAAO,CAAC,CAAC;IAClD,MAAM;MAAEuC,YAAY;MAAEC,WAAW;MAAEC,SAAS;MAAEC;IAAc,CAAC,GAAG3C,YAAY,CAAC,CAAC;IAC9E,MAAM;MAAE4C,OAAO;MAAEC;IAAQ,CAAC,GAAG9C,UAAU,CAAC,CAAC;IACzC,MAAM;MAAE+C;IAAc,CAAC,GAAGtC,SAAS,CAACwB,KAAK,CAAC;IAE1C,SAASe,cAAcA,CAAEC,MAA+B,EAAEC,CAAS,EAA6B;MAC9F,IAAI,EAAEjB,KAAK,CAACH,MAAM,IAAIG,KAAK,CAACX,WAAW,CAAC,IAAI,CAAC2B,MAAM,CAACE,KAAK,EAAE,OAAOC,SAAS;MAE3E,OAAO;QACLC,QAAQ,EAAE,QAAQ;QAClBC,IAAI,EAAEL,MAAM,CAACE,KAAK,GAAGtC,aAAa,CAACoC,MAAM,CAACM,WAAW,CAAC,GAAGH,SAAS;QAClEI,GAAG,EAAGvB,KAAK,CAACH,MAAM,IAAIG,KAAK,CAACX,WAAW,GAAI,uCAAuC4B,CAAC,GAAG,GAAGE;MAC3F,CAAC;IACH;IAEA,SAASK,WAAWA,CAAER,MAA+B,EAAE;MACrD,MAAMS,IAAI,GAAGnB,MAAM,CAACoB,KAAK,CAACC,IAAI,CAACF,IAAI,IAAIA,IAAI,CAACG,GAAG,KAAKZ,MAAM,CAACY,GAAG,CAAC;MAE/D,IAAI,CAACH,IAAI,EAAE,OAAOzB,KAAK,CAACT,WAAW;MAEnC,OAAOkC,IAAI,CAACI,KAAK,KAAK,KAAK,GAAG7B,KAAK,CAACT,WAAW,GAAGS,KAAK,CAACN,YAAY;IACtE;IAEA,MAAM;MAAEoC,sBAAsB;MAAEC;IAAsB,CAAC,GAAG7D,kBAAkB,CAAC,MAAM8B,KAAK,CAACf,KAAK,CAAC;IAE/F,MAAM;MAAE+C,cAAc;MAAEC;IAAO,CAAC,GAAG7D,UAAU,CAAC4B,KAAK,CAAC;IAEpD,MAAMkC,SAAS,GAAGxD,QAAQ,CAAC,OAAO;MAChCmC,OAAO,EAAEA,OAAO,CAACa,KAAK;MACtBd,OAAO,EAAEA,OAAO,CAACc,KAAK;MACtBrB,UAAU;MACVE,QAAQ;MACRD,MAAM,EAAEA,MAAM,CAACoB,KAAK;MACpBlB,YAAY,EAAEA,YAAY,CAACkB,KAAK;MAChCjB,WAAW,EAAEA,WAAW,CAACiB,KAAK;MAC9BhB,SAAS;MACTc;IACF,CAAC,CAA4B,CAAC;IAE9B,MAAMW,iBAAiB,GAAGzD,QAAQ,CAAC,MAAO,CACxC,kBAAkB,EAClB;MACE,0BAA0B,EAAGsB,KAAK,CAACH,MAAM,IAAIG,KAAK,CAACX;IACrD,CAAC,EACD2C,cAAc,CAACN,KAAK,EACpBZ,aAAa,CAACY,KAAK,CACnB,CAAC;IAEH,MAAMU,oBAAoB,GAAGC,KAAA,IAAiF;MAAA,IAAhF;QAAErB,MAAM;QAAEsB,CAAC;QAAErB;MAA6D,CAAC,GAAAoB,KAAA;MACvG,MAAME,SAAS,GAAGvB,MAAM,CAACY,GAAG,KAAK,mBAAmB,IAAIZ,MAAM,CAACY,GAAG,KAAK,mBAAmB;MAC1F,MAAMjC,WAAW,GAAGhB,UAAU,CAACqB,KAAK,CAACL,WAAW,IAAI,CAAC,CAAC,EAAEqB,MAAM,CAACrB,WAAW,IAAI,CAAC,CAAC,CAAC;MAEjF,OAAA6C,YAAA,CAAA9E,gBAAA,EAAA+E,WAAA;QAAA;QAAA,SAGYzB,MAAM,CAAC0B,KAAK;QAAA,SACb,CACL;UACE,4BAA4B,EAAE1B,MAAM,CAAC2B,QAAQ,IAAI,CAAC3C,KAAK,CAACb,WAAW;UACnE,0BAA0B,EAAEoB,QAAQ,CAACS,MAAM,CAAC;UAC5C,yBAAyB,EAAEA,MAAM,CAACE;QACpC,CAAC,EACD,GAAGiB,iBAAiB,CAACT,KAAK,CAC3B;QAAA,SACM;UACLkB,KAAK,EAAEhE,aAAa,CAACoC,MAAM,CAAC4B,KAAK,CAAC;UAClCC,QAAQ,EAAEjE,aAAa,CAACoC,MAAM,CAAC6B,QAAQ,CAAC;UACxCC,QAAQ,EAAElE,aAAa,CAACoC,MAAM,CAAC8B,QAAQ,CAAC;UACxC,GAAG/B,cAAc,CAACC,MAAM,EAAEC,CAAC;QAC7B,CAAC;QAAA,WACSD,MAAM,CAAC+B,OAAO;QAAA,WACd/B,MAAM,CAACgC,OAAO;QAAA,WACdhC,MAAM,CAAC2B,QAAQ,GAAG,MAAMtC,UAAU,CAACW,MAAM,CAAC,GAAGG,SAAS;QAAA,SACxDH,MAAM,CAACE,KAAK;QAAA,UACXF,MAAM,CAACiC,MAAM;QAAA,aACVjC,MAAM,CAACkC,SAAS;QAAA,aAChBX;MAAS,GAChB5C,WAAW;QAGdF,OAAO,EAAEA,CAAA,KAAM;UACb,MAAM0D,cAAc,GAAG,UAAUnC,MAAM,CAACY,GAAG,EAAW;UACtD,MAAMwB,eAAoD,GAAG;YAC3DpC,MAAM;YACNN,SAAS;YACTH,QAAQ;YACRF,UAAU;YACVC,MAAM,EAAEA,MAAM,CAACoB,KAAK;YACpBlB,YAAY,EAAEA,YAAY,CAACkB,KAAK;YAChCjB,WAAW,EAAEA,WAAW,CAACiB,KAAK;YAC9BF;UACF,CAAC;UAED,IAAIrB,KAAK,CAACgD,cAAc,CAAC,EAAE,OAAOhD,KAAK,CAACgD,cAAc,CAAC,CAAEC,eAAe,CAAC;UAEzE,IAAIpC,MAAM,CAACY,GAAG,KAAK,mBAAmB,EAAE;YACtC,OAAOzB,KAAK,CAAC,0BAA0B,CAAC,GAAGiD,eAAe,CAAC,KAAKzC,aAAa,CAACe,KAAK,IAAAc,YAAA,CAAA7E,YAAA;cAAA,cAElE8C,WAAW,CAACiB,KAAK;cAAA,iBACdlB,YAAY,CAACkB,KAAK,IAAI,CAACjB,WAAW,CAACiB,KAAK;cAAA,uBAClChB;YAAS,QAElC,CAAC;UACJ;UAEA,OAAA2C,mBAAA;YAAA;UAAA,IAAAA,mBAAA,gBAEYrC,MAAM,CAACsC,KAAK,IAClBtC,MAAM,CAAC2B,QAAQ,IAAI,CAAC3C,KAAK,CAACb,WAAW,IAAAqD,YAAA,CAAA3E,KAAA;YAAA;YAAA;YAAA,QAI5B2D,WAAW,CAACR,MAAM;UAAC,QAE7B,EACChB,KAAK,CAACV,SAAS,IAAIiB,QAAQ,CAACS,MAAM,CAAC,IAAAqC,mBAAA;YAAA;YAAA,SAAAE,eAAA,CAG1B,CACL,iCAAiC,EACjC,GAAGzB,sBAAsB,CAACJ,KAAK,CAChC;YAAA,SAAA8B,eAAA,CACOzB,qBAAqB,CAACL,KAAK;UAAA,IAEjCpB,MAAM,CAACoB,KAAK,CAAC+B,SAAS,CAACnB,CAAC,IAAIA,CAAC,CAACV,GAAG,KAAKZ,MAAM,CAACY,GAAG,CAAC,GAAG,CAAC,EAE1D;QAGP;MAAC;IAIT,CAAC;IAED,MAAM8B,0BAA0B,GAAGA,CAAA,KAAM;MACvC,MAAMC,YAAY,GAAGjF,QAAQ,CAAqB,MAAM;QACtD,OAAOkC,OAAO,CAACc,KAAK,CAACkC,MAAM,CAAC5C,MAAM,IAAIA,MAAM,EAAE2B,QAAQ,IAAI,CAAC3C,KAAK,CAACb,WAAW,CAAC;MAC/E,CAAC,CAAC;MAEF,MAAM0E,UAAU,GAAGnF,QAAQ,CAAC,MAAM;QAChC,MAAMoF,gBAAgB,GAAGlD,OAAO,CAACc,KAAK,CAACC,IAAI,CAACX,MAAM,IAAIA,MAAM,CAACY,GAAG,KAAK,mBAAmB,CAAC;QAEzF,IAAIkC,gBAAgB,IAAI,IAAI,EAAE;QAE9B,OAAOrD,WAAW,CAACiB,KAAK,GAAG,aAAa,GAAGlB,YAAY,CAACkB,KAAK,GAAG,wBAAwB,GAAG,cAAc;MAC3G,CAAC,CAAC;MAEF,OAAAc,YAAA,CAAA9E,gBAAA,EAAA+E,WAAA;QAAA;QAAA,SAGW,CACL,GAAGN,iBAAiB,CAACT,KAAK,CAC3B;QAAA,WACSb,OAAO,CAACa,KAAK,CAACqC,MAAM,GAAG;MAAC,GAC7B/D,KAAK,CAACL,WAAW;QAAAF,OAAA,EAAAA,CAAA,MAAA4D,mBAAA;UAAA;QAAA,IAAAb,YAAA,CAAA1E,OAAA;UAAA;UAAA;UAAA;UAAA;UAAA,SAQV6F,YAAY,CAACjC,KAAK;UAAA,SAClBtB,CAAC,CAAC,2BAA2B,CAAC;UAAA,YAC3BJ,KAAK,CAACV,SAAS;UAAA;UAAA,iBAEV0E,CAAA,KAAM1D,MAAM,CAACoB,KAAK,GAAG,EAAE;UAAA,cAC1BmC,UAAU,CAACnC,KAAK;UAAA,kBACZuC,CAAA,KAAMvD,SAAS,CAAC,CAACD,WAAW,CAACiB,KAAK;QAAC;UAGlD,GAAGvB,KAAK;UACR+D,IAAI,EAAElE,KAAK,IAAAwC,YAAA,CAAA5E,KAAA;YAAA,WAEGoC,KAAK,CAACyB,IAAI,CAAC0C,GAAG,EAAExB,QAAQ,GAAG,MAAMtC,UAAU,CAACL,KAAK,CAACyB,IAAI,CAAC0C,GAAG,CAAC,GAAGhD,SAAS;YAAA,eAClEiD,CAAa,IAAK;cAC/BA,CAAC,CAACC,cAAc,CAAC,CAAC;cAClBD,CAAC,CAACE,eAAe,CAAC,CAAC;YACrB;UAAC;YAAA7E,OAAA,EAAAA,CAAA,MAECO,KAAK,CAACyB,IAAI,CAAC6B,KAAK,EAAAd,YAAA,CAAA3E,KAAA;cAAA,SAAA0F,eAAA,CAET,CACL,4BAA4B,EAC5BhD,QAAQ,CAACP,KAAK,CAACyB,IAAI,CAAC0C,GAAG,CAAC,IAAI,mCAAmC,CAChE;cAAA,QACM3C,WAAW,CAACxB,KAAK,CAACyB,IAAI,CAAC0C,GAAG,CAAC;cAAA;YAAA;UAAA;QAIvC;MAAA;IAMb,CAAC;IAEDpF,SAAS,CAAC,MAAM;MACd,OAAOkD,MAAM,CAACP,KAAK,GAAA2B,mBAAA,cAAAb,YAAA,CAAAkB,0BAAA,kBAAAL,mBAAA,CAAAkB,SAAA,SAMbpE,KAAK,CAACU,OAAO,GACXV,KAAK,CAACU,OAAO,CAACqB,SAAS,CAACR,KAAK,CAAC,GAC9Bb,OAAO,CAACa,KAAK,CAAC8C,GAAG,CAAC,CAACC,GAAG,EAAExD,CAAC,KAAAoC,mBAAA,cAErBoB,GAAG,CAACD,GAAG,CAAC,CAACxD,MAAM,EAAEsB,CAAC,KAAAE,YAAA,CAAAJ,oBAAA;QAAA,UACapB,MAAM;QAAA,KAAOsB,CAAC;QAAA,KAAOrB;MAAC,QACtD,CAAC,EAEL,CAAC,EAEFjB,KAAK,CAAC0E,OAAO,IAAArB,mBAAA;QAAA;MAAA,IAAAA,mBAAA;QAAA,WAEGzC,OAAO,CAACc,KAAK,CAACqC;MAAM,IAAAvB,YAAA,CAAAlE,UAAA;QAAA;QAAA;QAAA;QAAA,SAKtB,OAAO0B,KAAK,CAAC0E,OAAO,KAAK,SAAS,GAAGvD,SAAS,GAAGnB,KAAK,CAAC0E,OAAO;QAAA;MAAA,GAE7D;QAAEjF,OAAO,EAAEU,KAAK,CAACwE;MAAO,CAAC,KAIzC,EAEJ;IACH,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDataTableHeaders.js","names":["VDataTableColumn","VCheckboxBtn","VChip","VIcon","VSelect","useHeaders","useSelection","useSort","useBackgroundColor","makeDisplayProps","useDisplay","IconValue","LoaderSlot","makeLoaderProps","useLoader","useLocale","computed","mergeProps","convertToUnit","genericComponent","propsFactory","useRender","makeVDataTableHeadersProps","color","String","disableSort","Boolean","fixedHeader","lastFixed","multiSort","sortAscIcon","type","default","sortDescIcon","headerProps","Object","sticky","VDataTableHeaders","name","props","setup","_ref","slots","t","toggleSort","sortBy","isSorted","someSelected","allSelected","selectAll","showSelectAll","columns","headers","loaderClasses","getFixedStyles","column","y","fixed","undefined","position","left","fixedOffset","right","top","getSortIcon","item","value","find","key","order","backgroundColorClasses","backgroundColorStyles","displayClasses","mobile","slotProps","headerCellClasses","VDataTableHeaderCell","_ref2","x","noPadding","_createVNode","_mergeProps","align","sortable","width","minWidth","maxWidth","colspan","rowspan","nowrap","columnSlotName","columnSlotProps","_createElementVNode","title","_normalizeClass","_normalizeStyle","findIndex","VDataTableMobileHeaderCell","displayItems","filter","appendIcon","showSelectColumn","length","onClick:clear","onClick:append","chip","raw","e","preventDefault","stopPropagation","_Fragment","map","row","loading","loader"],"sources":["../../../src/components/VDataTable/VDataTableHeaders.tsx"],"sourcesContent":["// Components\nimport { VDataTableColumn } from './VDataTableColumn'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VIcon } from '@/components/VIcon'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { useHeaders } from './composables/headers'\nimport { useSelection } from './composables/select'\nimport { useSort } from './composables/sort'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed, mergeProps } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { CSSProperties, PropType, UnwrapRef } from 'vue'\nimport type { provideSelection } from './composables/select'\nimport type { provideSort } from './composables/sort'\nimport type { InternalDataTableHeader } from './types'\nimport type { ItemProps } from '@/composables/list-items'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type HeadersSlotProps = {\n headers: InternalDataTableHeader[][]\n columns: InternalDataTableHeader[]\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n isSorted: ReturnType<typeof provideSort>['isSorted']\n}\n\nexport type VDataTableHeaderCellColumnSlotProps = {\n column: InternalDataTableHeader\n selectAll: ReturnType<typeof provideSelection>['selectAll']\n isSorted: ReturnType<typeof provideSort>['isSorted']\n toggleSort: ReturnType<typeof provideSort>['toggleSort']\n sortBy: UnwrapRef<ReturnType<typeof provideSort>['sortBy']>\n someSelected: UnwrapRef<ReturnType<typeof provideSelection>['someSelected']>\n allSelected: UnwrapRef<ReturnType<typeof provideSelection>['allSelected']>\n getSortIcon: (column: InternalDataTableHeader) => IconValue\n}\n\nexport type VDataTableHeadersSlots = {\n headers: HeadersSlotProps\n loader: LoaderSlotProps\n 'header.data-table-select': VDataTableHeaderCellColumnSlotProps\n 'header.data-table-expand': VDataTableHeaderCellColumnSlotProps\n} & { [key: `header.${string}`]: VDataTableHeaderCellColumnSlotProps }\n\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n disableSort: Boolean,\n fixedHeader: Boolean,\n lastFixed: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc',\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc',\n },\n headerProps: {\n type: Object as PropType<Record<string, any>>,\n },\n\n /** @deprecated */\n sticky: Boolean,\n\n ...makeDisplayProps(),\n ...makeLoaderProps(),\n}, 'VDataTableHeaders')\n\nexport const VDataTableHeaders = genericComponent<VDataTableHeadersSlots>()({\n name: 'VDataTableHeaders',\n\n props: makeVDataTableHeadersProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { toggleSort, sortBy, isSorted } = useSort()\n const { someSelected, allSelected, selectAll, showSelectAll } = useSelection()\n const { columns, headers } = useHeaders()\n const { loaderClasses } = useLoader(props)\n\n function getFixedStyles (column: InternalDataTableHeader, y: number): CSSProperties | undefined {\n if (!(props.sticky || props.fixedHeader) && !(column.fixed || column.lastFixed)) return undefined\n\n return {\n position: 'sticky',\n left: column.fixed || column.lastFixed ? convertToUnit(column.fixedOffset) : undefined,\n right: column.lastFixed ? convertToUnit(column.fixedOffset ?? 0) : undefined,\n top: (props.sticky || props.fixedHeader) ? `calc(var(--v-table-header-height) * ${y})` : undefined,\n }\n }\n\n function getSortIcon (column: InternalDataTableHeader) {\n const item = sortBy.value.find(item => item.key === column.key)\n\n if (!item) return props.sortAscIcon\n\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon\n }\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n\n const { displayClasses, mobile } = useDisplay(props)\n\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon,\n } satisfies HeadersSlotProps))\n\n const headerCellClasses = computed(() => ([\n 'v-data-table__th',\n {\n 'v-data-table__th--sticky': (props.sticky || props.fixedHeader),\n },\n displayClasses.value,\n loaderClasses.value,\n ]))\n\n const VDataTableHeaderCell = ({ column, x, y }: { column: InternalDataTableHeader, x: number, y: number }) => {\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand'\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {})\n\n return (\n <VDataTableColumn\n tag=\"th\"\n align={ column.align }\n class={[\n {\n 'v-data-table__th--sortable': column.sortable && !props.disableSort,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed,\n },\n ...headerCellClasses.value,\n ]}\n style={{\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y),\n }}\n colspan={ column.colspan }\n rowspan={ column.rowspan }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n { ...headerProps }\n >\n {{\n default: () => {\n const columnSlotName = `header.${column.key}` as const\n const columnSlotProps: VDataTableHeaderCellColumnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon,\n }\n\n if (slots[columnSlotName]) return slots[columnSlotName]!(columnSlotProps)\n\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && (\n <VCheckboxBtn\n modelValue={ allSelected.value }\n indeterminate={ someSelected.value && !allSelected.value }\n onUpdate:modelValue={ selectAll }\n />\n ))\n }\n\n return (\n <div class=\"v-data-table-header__content\">\n <span>{ column.title }</span>\n { column.sortable && !props.disableSort && (\n <VIcon\n key=\"icon\"\n class=\"v-data-table-header__sort-icon\"\n icon={ getSortIcon(column) }\n />\n )}\n { props.multiSort && isSorted(column) && (\n <div\n key=\"badge\"\n class={[\n 'v-data-table-header__sort-badge',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { sortBy.value.findIndex(x => x.key === column.key) + 1 }\n </div>\n )}\n </div>\n )\n },\n }}\n </VDataTableColumn>\n )\n }\n\n const VDataTableMobileHeaderCell = () => {\n const displayItems = computed<ItemProps['items']>(() => {\n return columns.value.filter(column => column?.sortable && !props.disableSort)\n })\n\n const appendIcon = computed(() => {\n const showSelectColumn = columns.value.find(column => column.key === 'data-table-select')\n\n if (showSelectColumn == null) return\n\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff'\n })\n\n return (\n <VDataTableColumn\n tag=\"th\"\n class={[\n ...headerCellClasses.value,\n ]}\n colspan={ headers.value.length + 1 }\n { ...props.headerProps }\n >\n <div class=\"v-data-table-header__content\">\n <VSelect\n chips\n class=\"v-data-table__td-sort-select\"\n clearable\n density=\"default\"\n items={ displayItems.value }\n label={ t('$vuetify.dataTable.sortBy') }\n multiple={ props.multiSort }\n variant=\"underlined\"\n onClick:clear={ () => sortBy.value = [] }\n appendIcon={ appendIcon.value }\n onClick:append={ () => selectAll(!allSelected.value) }\n >\n {{\n ...slots,\n chip: props => (\n <VChip\n onClick={ props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.item.title }\n <VIcon\n class={[\n 'v-data-table__td-sort-icon',\n isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active',\n ]}\n icon={ getSortIcon(props.item.raw) }\n size=\"small\"\n />\n </VChip>\n ),\n }}\n </VSelect>\n </div>\n </VDataTableColumn>\n )\n }\n\n useRender(() => {\n return mobile.value ? (\n <tr>\n <VDataTableMobileHeaderCell />\n </tr>\n ) : (\n <>\n { slots.headers\n ? slots.headers(slotProps.value)\n : headers.value.map((row, y) => (\n <tr>\n { row.map((column, x) => (\n <VDataTableHeaderCell column={ column } x={ x } y={ y } />\n ))}\n </tr>\n ))}\n\n { props.loading && (\n <tr class=\"v-data-table-progress\">\n <th colspan={ columns.value.length }>\n <LoaderSlot\n name=\"v-data-table-progress\"\n absolute\n active\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate\n v-slots={{ default: slots.loader }}\n />\n </th>\n </tr>\n )}\n </>\n )\n })\n },\n})\n\nexport type VDataTableHeaders = InstanceType<typeof VDataTableHeaders>\n"],"mappings":"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","ignoreList":[]}
|
@@ -26,11 +26,13 @@ export declare const makeVDataTableServerProps: <Defaults extends {
|
|
26
26
|
fixedFooter?: unknown;
|
27
27
|
height?: unknown;
|
28
28
|
hover?: unknown;
|
29
|
+
striped?: unknown;
|
29
30
|
loading?: unknown;
|
30
31
|
mobile?: unknown;
|
31
32
|
mobileBreakpoint?: unknown;
|
32
33
|
color?: unknown;
|
33
34
|
disableSort?: unknown;
|
35
|
+
lastFixed?: unknown;
|
34
36
|
multiSort?: unknown;
|
35
37
|
sortAscIcon?: unknown;
|
36
38
|
sortDescIcon?: unknown;
|
@@ -260,6 +262,18 @@ export declare const makeVDataTableServerProps: <Defaults extends {
|
|
260
262
|
type: import("vue").PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>;
|
261
263
|
default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"];
|
262
264
|
};
|
265
|
+
striped: unknown extends Defaults["striped"] ? {
|
266
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
267
|
+
default: null;
|
268
|
+
validator: (v: any) => boolean;
|
269
|
+
} : Omit<{
|
270
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
271
|
+
default: null;
|
272
|
+
validator: (v: any) => boolean;
|
273
|
+
}, "type" | "default"> & {
|
274
|
+
type: import("vue").PropType<unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : import("../VTable/VTable.js").Striped | Defaults["striped"]>;
|
275
|
+
default: unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : NonNullable<import("../VTable/VTable.js").Striped> | Defaults["striped"];
|
276
|
+
};
|
263
277
|
loading: unknown extends Defaults["loading"] ? (StringConstructor | BooleanConstructor)[] : {
|
264
278
|
type: import("vue").PropType<unknown extends Defaults["loading"] ? string | boolean : string | boolean | Defaults["loading"]>;
|
265
279
|
default: unknown extends Defaults["loading"] ? string | boolean : NonNullable<string | boolean> | Defaults["loading"];
|
@@ -286,6 +300,10 @@ export declare const makeVDataTableServerProps: <Defaults extends {
|
|
286
300
|
type: import("vue").PropType<unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"]>;
|
287
301
|
default: unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"];
|
288
302
|
};
|
303
|
+
lastFixed: unknown extends Defaults["lastFixed"] ? BooleanConstructor : {
|
304
|
+
type: import("vue").PropType<unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"]>;
|
305
|
+
default: unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"];
|
306
|
+
};
|
289
307
|
multiSort: unknown extends Defaults["multiSort"] ? BooleanConstructor : {
|
290
308
|
type: import("vue").PropType<unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]>;
|
291
309
|
default: unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"];
|
@@ -758,6 +776,7 @@ export declare const VDataTableServer: {
|
|
758
776
|
selectStrategy: "all" | "page" | "single";
|
759
777
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
760
778
|
density: import("../../composables/density.js").Density;
|
779
|
+
striped: import("../VTable/VTable.js").Striped;
|
761
780
|
nextIcon: import("../../composables/icons.js").IconValue;
|
762
781
|
prevIcon: import("../../composables/icons.js").IconValue;
|
763
782
|
hideNoData: boolean;
|
@@ -775,6 +794,7 @@ export declare const VDataTableServer: {
|
|
775
794
|
value: number;
|
776
795
|
})[];
|
777
796
|
showCurrentPage: boolean;
|
797
|
+
lastFixed: boolean;
|
778
798
|
fixedHeader: boolean;
|
779
799
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
780
800
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -831,6 +851,7 @@ export declare const VDataTableServer: {
|
|
831
851
|
selectStrategy: "all" | "page" | "single";
|
832
852
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
833
853
|
density: import("../../composables/density.js").Density;
|
854
|
+
striped: import("../VTable/VTable.js").Striped;
|
834
855
|
nextIcon: import("../../composables/icons.js").IconValue;
|
835
856
|
prevIcon: import("../../composables/icons.js").IconValue;
|
836
857
|
hideNoData: boolean;
|
@@ -847,6 +868,7 @@ export declare const VDataTableServer: {
|
|
847
868
|
value: number;
|
848
869
|
})[];
|
849
870
|
showCurrentPage: boolean;
|
871
|
+
lastFixed: boolean;
|
850
872
|
fixedHeader: boolean;
|
851
873
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
852
874
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -929,6 +951,7 @@ export declare const VDataTableServer: {
|
|
929
951
|
selectStrategy: "all" | "page" | "single";
|
930
952
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
931
953
|
density: import("../../composables/density.js").Density;
|
954
|
+
striped: import("../VTable/VTable.js").Striped;
|
932
955
|
nextIcon: import("../../composables/icons.js").IconValue;
|
933
956
|
prevIcon: import("../../composables/icons.js").IconValue;
|
934
957
|
hideNoData: boolean;
|
@@ -946,6 +969,7 @@ export declare const VDataTableServer: {
|
|
946
969
|
value: number;
|
947
970
|
})[];
|
948
971
|
showCurrentPage: boolean;
|
972
|
+
lastFixed: boolean;
|
949
973
|
fixedHeader: boolean;
|
950
974
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
951
975
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -994,6 +1018,7 @@ export declare const VDataTableServer: {
|
|
994
1018
|
selectStrategy: "all" | "page" | "single";
|
995
1019
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
996
1020
|
density: import("../../composables/density.js").Density;
|
1021
|
+
striped: import("../VTable/VTable.js").Striped;
|
997
1022
|
nextIcon: import("../../composables/icons.js").IconValue;
|
998
1023
|
prevIcon: import("../../composables/icons.js").IconValue;
|
999
1024
|
hideNoData: boolean;
|
@@ -1010,6 +1035,7 @@ export declare const VDataTableServer: {
|
|
1010
1035
|
value: number;
|
1011
1036
|
})[];
|
1012
1037
|
showCurrentPage: boolean;
|
1038
|
+
lastFixed: boolean;
|
1013
1039
|
fixedHeader: boolean;
|
1014
1040
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1015
1041
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1044,6 +1070,7 @@ export declare const VDataTableServer: {
|
|
1044
1070
|
selectStrategy: "all" | "page" | "single";
|
1045
1071
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
1046
1072
|
density: import("../../composables/density.js").Density;
|
1073
|
+
striped: import("../VTable/VTable.js").Striped;
|
1047
1074
|
nextIcon: import("../../composables/icons.js").IconValue;
|
1048
1075
|
prevIcon: import("../../composables/icons.js").IconValue;
|
1049
1076
|
hideNoData: boolean;
|
@@ -1061,6 +1088,7 @@ export declare const VDataTableServer: {
|
|
1061
1088
|
value: number;
|
1062
1089
|
})[];
|
1063
1090
|
showCurrentPage: boolean;
|
1091
|
+
lastFixed: boolean;
|
1064
1092
|
fixedHeader: boolean;
|
1065
1093
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1066
1094
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1117,6 +1145,7 @@ export declare const VDataTableServer: {
|
|
1117
1145
|
selectStrategy: "all" | "page" | "single";
|
1118
1146
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
1119
1147
|
density: import("../../composables/density.js").Density;
|
1148
|
+
striped: import("../VTable/VTable.js").Striped;
|
1120
1149
|
nextIcon: import("../../composables/icons.js").IconValue;
|
1121
1150
|
prevIcon: import("../../composables/icons.js").IconValue;
|
1122
1151
|
hideNoData: boolean;
|
@@ -1133,6 +1162,7 @@ export declare const VDataTableServer: {
|
|
1133
1162
|
value: number;
|
1134
1163
|
})[];
|
1135
1164
|
showCurrentPage: boolean;
|
1165
|
+
lastFixed: boolean;
|
1136
1166
|
fixedHeader: boolean;
|
1137
1167
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
1138
1168
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1265,6 +1295,11 @@ export declare const VDataTableServer: {
|
|
1265
1295
|
fixedFooter: BooleanConstructor;
|
1266
1296
|
height: (StringConstructor | NumberConstructor)[];
|
1267
1297
|
hover: BooleanConstructor;
|
1298
|
+
striped: {
|
1299
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
1300
|
+
default: null;
|
1301
|
+
validator: (v: any) => boolean;
|
1302
|
+
};
|
1268
1303
|
loading: (StringConstructor | BooleanConstructor)[];
|
1269
1304
|
mobile: {
|
1270
1305
|
type: import("vue").PropType<boolean | null>;
|
@@ -1273,6 +1308,7 @@ export declare const VDataTableServer: {
|
|
1273
1308
|
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
|
1274
1309
|
color: StringConstructor;
|
1275
1310
|
disableSort: BooleanConstructor;
|
1311
|
+
lastFixed: BooleanConstructor;
|
1276
1312
|
multiSort: BooleanConstructor;
|
1277
1313
|
sortAscIcon: {
|
1278
1314
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -1428,6 +1464,11 @@ export declare const VDataTableServer: {
|
|
1428
1464
|
fixedFooter: BooleanConstructor;
|
1429
1465
|
height: (StringConstructor | NumberConstructor)[];
|
1430
1466
|
hover: BooleanConstructor;
|
1467
|
+
striped: {
|
1468
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
1469
|
+
default: null;
|
1470
|
+
validator: (v: any) => boolean;
|
1471
|
+
};
|
1431
1472
|
loading: (StringConstructor | BooleanConstructor)[];
|
1432
1473
|
mobile: {
|
1433
1474
|
type: import("vue").PropType<boolean | null>;
|
@@ -1436,6 +1477,7 @@ export declare const VDataTableServer: {
|
|
1436
1477
|
mobileBreakpoint: import("vue").PropType<number | import("../../types.js").DisplayBreakpoint>;
|
1437
1478
|
color: StringConstructor;
|
1438
1479
|
disableSort: BooleanConstructor;
|
1480
|
+
lastFixed: BooleanConstructor;
|
1439
1481
|
multiSort: BooleanConstructor;
|
1440
1482
|
sortAscIcon: {
|
1441
1483
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -65,8 +65,10 @@ export declare const makeVDataTableVirtualProps: <Defaults extends {
|
|
65
65
|
selectStrategy?: unknown;
|
66
66
|
valueComparator?: unknown;
|
67
67
|
density?: unknown;
|
68
|
+
striped?: unknown;
|
68
69
|
hideNoData?: unknown;
|
69
70
|
hover?: unknown;
|
71
|
+
lastFixed?: unknown;
|
70
72
|
fixedHeader?: unknown;
|
71
73
|
sortAscIcon?: unknown;
|
72
74
|
sortDescIcon?: unknown;
|
@@ -570,6 +572,18 @@ export declare const makeVDataTableVirtualProps: <Defaults extends {
|
|
570
572
|
type: import("vue").PropType<unknown extends Defaults["density"] ? import("../../composables/density.js").Density : import("../../composables/density.js").Density | Defaults["density"]>;
|
571
573
|
default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable<import("../../composables/density.js").Density> | Defaults["density"];
|
572
574
|
};
|
575
|
+
striped: unknown extends Defaults["striped"] ? {
|
576
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
577
|
+
default: null;
|
578
|
+
validator: (v: any) => boolean;
|
579
|
+
} : Omit<{
|
580
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
581
|
+
default: null;
|
582
|
+
validator: (v: any) => boolean;
|
583
|
+
}, "type" | "default"> & {
|
584
|
+
type: import("vue").PropType<unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : import("../VTable/VTable.js").Striped | Defaults["striped"]>;
|
585
|
+
default: unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : NonNullable<import("../VTable/VTable.js").Striped> | Defaults["striped"];
|
586
|
+
};
|
573
587
|
hideNoData: unknown extends Defaults["hideNoData"] ? BooleanConstructor : {
|
574
588
|
type: import("vue").PropType<unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"]>;
|
575
589
|
default: unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"];
|
@@ -578,6 +592,10 @@ export declare const makeVDataTableVirtualProps: <Defaults extends {
|
|
578
592
|
type: import("vue").PropType<unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]>;
|
579
593
|
default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"];
|
580
594
|
};
|
595
|
+
lastFixed: unknown extends Defaults["lastFixed"] ? BooleanConstructor : {
|
596
|
+
type: import("vue").PropType<unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"]>;
|
597
|
+
default: unknown extends Defaults["lastFixed"] ? boolean : boolean | Defaults["lastFixed"];
|
598
|
+
};
|
581
599
|
fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : {
|
582
600
|
type: import("vue").PropType<unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]>;
|
583
601
|
default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"];
|
@@ -639,10 +657,12 @@ export declare const VDataTableVirtual: {
|
|
639
657
|
selectStrategy: "all" | "page" | "single";
|
640
658
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
641
659
|
density: import("../../composables/density.js").Density;
|
660
|
+
striped: import("../VTable/VTable.js").Striped;
|
642
661
|
itemHeight: string | number;
|
643
662
|
itemKey: SelectItemKey;
|
644
663
|
hideNoData: boolean;
|
645
664
|
hover: boolean;
|
665
|
+
lastFixed: boolean;
|
646
666
|
fixedHeader: boolean;
|
647
667
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
648
668
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -699,10 +719,12 @@ export declare const VDataTableVirtual: {
|
|
699
719
|
selectStrategy: "all" | "page" | "single";
|
700
720
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
701
721
|
density: import("../../composables/density.js").Density;
|
722
|
+
striped: import("../VTable/VTable.js").Striped;
|
702
723
|
itemHeight: string | number;
|
703
724
|
itemKey: SelectItemKey;
|
704
725
|
hideNoData: boolean;
|
705
726
|
hover: boolean;
|
727
|
+
lastFixed: boolean;
|
706
728
|
fixedHeader: boolean;
|
707
729
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
708
730
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -782,10 +804,12 @@ export declare const VDataTableVirtual: {
|
|
782
804
|
selectStrategy: "all" | "page" | "single";
|
783
805
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
784
806
|
density: import("../../composables/density.js").Density;
|
807
|
+
striped: import("../VTable/VTable.js").Striped;
|
785
808
|
itemHeight: string | number;
|
786
809
|
itemKey: SelectItemKey;
|
787
810
|
hideNoData: boolean;
|
788
811
|
hover: boolean;
|
812
|
+
lastFixed: boolean;
|
789
813
|
fixedHeader: boolean;
|
790
814
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
791
815
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -836,10 +860,12 @@ export declare const VDataTableVirtual: {
|
|
836
860
|
selectStrategy: "all" | "page" | "single";
|
837
861
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
838
862
|
density: import("../../composables/density.js").Density;
|
863
|
+
striped: import("../VTable/VTable.js").Striped;
|
839
864
|
itemHeight: string | number;
|
840
865
|
itemKey: SelectItemKey;
|
841
866
|
hideNoData: boolean;
|
842
867
|
hover: boolean;
|
868
|
+
lastFixed: boolean;
|
843
869
|
fixedHeader: boolean;
|
844
870
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
845
871
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -872,10 +898,12 @@ export declare const VDataTableVirtual: {
|
|
872
898
|
selectStrategy: "all" | "page" | "single";
|
873
899
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
874
900
|
density: import("../../composables/density.js").Density;
|
901
|
+
striped: import("../VTable/VTable.js").Striped;
|
875
902
|
itemHeight: string | number;
|
876
903
|
itemKey: SelectItemKey;
|
877
904
|
hideNoData: boolean;
|
878
905
|
hover: boolean;
|
906
|
+
lastFixed: boolean;
|
879
907
|
fixedHeader: boolean;
|
880
908
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
881
909
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -932,10 +960,12 @@ export declare const VDataTableVirtual: {
|
|
932
960
|
selectStrategy: "all" | "page" | "single";
|
933
961
|
valueComparator: typeof import("../../util/index.js").deepEqual;
|
934
962
|
density: import("../../composables/density.js").Density;
|
963
|
+
striped: import("../VTable/VTable.js").Striped;
|
935
964
|
itemHeight: string | number;
|
936
965
|
itemKey: SelectItemKey;
|
937
966
|
hideNoData: boolean;
|
938
967
|
hover: boolean;
|
968
|
+
lastFixed: boolean;
|
939
969
|
fixedHeader: boolean;
|
940
970
|
sortAscIcon: import("../../composables/icons.js").IconValue;
|
941
971
|
sortDescIcon: import("../../composables/icons.js").IconValue;
|
@@ -1096,8 +1126,14 @@ export declare const VDataTableVirtual: {
|
|
1096
1126
|
default: string;
|
1097
1127
|
validator: (v: any) => boolean;
|
1098
1128
|
};
|
1129
|
+
striped: {
|
1130
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
1131
|
+
default: null;
|
1132
|
+
validator: (v: any) => boolean;
|
1133
|
+
};
|
1099
1134
|
hideNoData: BooleanConstructor;
|
1100
1135
|
hover: BooleanConstructor;
|
1136
|
+
lastFixed: BooleanConstructor;
|
1101
1137
|
fixedHeader: BooleanConstructor;
|
1102
1138
|
sortAscIcon: {
|
1103
1139
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -1211,8 +1247,14 @@ export declare const VDataTableVirtual: {
|
|
1211
1247
|
default: string;
|
1212
1248
|
validator: (v: any) => boolean;
|
1213
1249
|
};
|
1250
|
+
striped: {
|
1251
|
+
type: import("vue").PropType<import("../VTable/VTable.js").Striped>;
|
1252
|
+
default: null;
|
1253
|
+
validator: (v: any) => boolean;
|
1254
|
+
};
|
1214
1255
|
hideNoData: BooleanConstructor;
|
1215
1256
|
hover: BooleanConstructor;
|
1257
|
+
lastFixed: BooleanConstructor;
|
1216
1258
|
fixedHeader: BooleanConstructor;
|
1217
1259
|
sortAscIcon: {
|
1218
1260
|
type: import("vue").PropType<import("../../composables/icons.js").IconValue>;
|
@@ -42,6 +42,7 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
42
42
|
weeksInMonth?: unknown;
|
43
43
|
firstDayOfWeek?: unknown;
|
44
44
|
allowedDates?: unknown;
|
45
|
+
weekdayFormat?: unknown;
|
45
46
|
hideWeekdays?: unknown;
|
46
47
|
multiple?: unknown;
|
47
48
|
showWeek?: unknown;
|
@@ -263,6 +264,10 @@ export declare const makeVDatePickerProps: <Defaults extends {
|
|
263
264
|
type: import("vue").PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
|
264
265
|
default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
|
265
266
|
};
|
267
|
+
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? import("vue").PropType<"long" | "short" | "narrow" | undefined> : {
|
268
|
+
type: import("vue").PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
269
|
+
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : NonNullable<"long" | "short" | "narrow" | undefined> | Defaults["weekdayFormat"];
|
270
|
+
};
|
266
271
|
hideWeekdays: unknown extends Defaults["hideWeekdays"] ? BooleanConstructor : {
|
267
272
|
type: import("vue").PropType<unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"]>;
|
268
273
|
default: unknown extends Defaults["hideWeekdays"] ? boolean : boolean | Defaults["hideWeekdays"];
|
@@ -416,6 +421,7 @@ export declare const VDatePicker: {
|
|
416
421
|
headerColor?: string | undefined;
|
417
422
|
firstDayOfWeek?: string | number | undefined;
|
418
423
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
424
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
419
425
|
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
420
426
|
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
421
427
|
} & {
|
@@ -513,6 +519,7 @@ export declare const VDatePicker: {
|
|
513
519
|
headerColor?: string | undefined;
|
514
520
|
firstDayOfWeek?: string | number | undefined;
|
515
521
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
522
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
516
523
|
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
517
524
|
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
518
525
|
} & {
|
@@ -594,6 +601,7 @@ export declare const VDatePicker: {
|
|
594
601
|
headerColor?: string | undefined;
|
595
602
|
firstDayOfWeek?: string | number | undefined;
|
596
603
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
604
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
597
605
|
allowedMonths?: number[] | ((date: number) => boolean) | undefined;
|
598
606
|
allowedYears?: number[] | ((date: number) => boolean) | undefined;
|
599
607
|
} & {
|
@@ -710,6 +718,7 @@ export declare const VDatePicker: {
|
|
710
718
|
default: undefined;
|
711
719
|
};
|
712
720
|
allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
|
721
|
+
weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
|
713
722
|
hideWeekdays: BooleanConstructor;
|
714
723
|
multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
|
715
724
|
showWeek: BooleanConstructor;
|
@@ -817,6 +826,7 @@ export declare const VDatePicker: {
|
|
817
826
|
default: undefined;
|
818
827
|
};
|
819
828
|
allowedDates: import("vue").PropType<unknown[] | ((date: unknown) => boolean)>;
|
829
|
+
weekdayFormat: import("vue").PropType<"long" | "short" | "narrow" | undefined>;
|
820
830
|
hideWeekdays: BooleanConstructor;
|
821
831
|
multiple: import("vue").PropType<boolean | "range" | number | (string & {})>;
|
822
832
|
showWeek: BooleanConstructor;
|
@@ -20,6 +20,7 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
|
|
20
20
|
weeksInMonth?: unknown;
|
21
21
|
firstDayOfWeek?: unknown;
|
22
22
|
allowedDates?: unknown;
|
23
|
+
weekdayFormat?: unknown;
|
23
24
|
color?: unknown;
|
24
25
|
hideWeekdays?: unknown;
|
25
26
|
multiple?: unknown;
|
@@ -95,6 +96,10 @@ export declare const makeVDatePickerMonthProps: <Defaults extends {
|
|
95
96
|
type: PropType<unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : unknown[] | ((date: unknown) => boolean) | Defaults["allowedDates"]>;
|
96
97
|
default: unknown extends Defaults["allowedDates"] ? unknown[] | ((date: unknown) => boolean) : NonNullable<unknown[] | ((date: unknown) => boolean)> | Defaults["allowedDates"];
|
97
98
|
};
|
99
|
+
weekdayFormat: unknown extends Defaults["weekdayFormat"] ? PropType<"long" | "short" | "narrow" | undefined> : {
|
100
|
+
type: PropType<unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : "long" | "short" | "narrow" | Defaults["weekdayFormat"] | undefined>;
|
101
|
+
default: unknown extends Defaults["weekdayFormat"] ? "long" | "short" | "narrow" | undefined : NonNullable<"long" | "short" | "narrow" | undefined> | Defaults["weekdayFormat"];
|
102
|
+
};
|
98
103
|
color: unknown extends Defaults["color"] ? StringConstructor : {
|
99
104
|
type: PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
|
100
105
|
default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
|
@@ -152,6 +157,7 @@ export declare const VDatePickerMonth: {
|
|
152
157
|
modelValue?: unknown[] | undefined;
|
153
158
|
firstDayOfWeek?: string | number | undefined;
|
154
159
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
160
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
155
161
|
} & {
|
156
162
|
$children?: {} | import("vue").VNodeChild | {
|
157
163
|
day?: ((arg: {
|
@@ -231,6 +237,7 @@ export declare const VDatePickerMonth: {
|
|
231
237
|
modelValue?: unknown[] | undefined;
|
232
238
|
firstDayOfWeek?: string | number | undefined;
|
233
239
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
240
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
234
241
|
} & {
|
235
242
|
$children?: {} | import("vue").VNodeChild | {
|
236
243
|
day?: ((arg: {
|
@@ -295,6 +302,7 @@ export declare const VDatePickerMonth: {
|
|
295
302
|
modelValue?: unknown[] | undefined;
|
296
303
|
firstDayOfWeek?: string | number | undefined;
|
297
304
|
allowedDates?: unknown[] | ((date: unknown) => boolean) | undefined;
|
305
|
+
weekdayFormat?: "long" | "short" | "narrow" | undefined;
|
298
306
|
} & {
|
299
307
|
$children?: {} | import("vue").VNodeChild | {
|
300
308
|
day?: ((arg: {
|
@@ -372,6 +380,7 @@ export declare const VDatePickerMonth: {
|
|
372
380
|
default: undefined;
|
373
381
|
};
|
374
382
|
allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
|
383
|
+
weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
|
375
384
|
color: StringConstructor;
|
376
385
|
hideWeekdays: BooleanConstructor;
|
377
386
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
@@ -408,6 +417,7 @@ export declare const VDatePickerMonth: {
|
|
408
417
|
default: undefined;
|
409
418
|
};
|
410
419
|
allowedDates: PropType<unknown[] | ((date: unknown) => boolean)>;
|
420
|
+
weekdayFormat: PropType<"long" | "short" | "narrow" | undefined>;
|
411
421
|
color: StringConstructor;
|
412
422
|
hideWeekdays: BooleanConstructor;
|
413
423
|
multiple: PropType<boolean | "range" | number | (string & {})>;
|
@@ -129,7 +129,7 @@ export const VDatePickerMonth = genericComponent()({
|
|
129
129
|
"ref": daysRef,
|
130
130
|
"key": daysInMonth.value[0].date?.toString(),
|
131
131
|
"class": "v-date-picker-month__days"
|
132
|
-
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => _createElementVNode("div", {
|
132
|
+
}, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => _createElementVNode("div", {
|
133
133
|
"class": _normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
134
134
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
135
135
|
const slotProps = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","createDateRange","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","_createTextVNode","map","week","_normalizeClass","_createVNode","toString","getWeekdays","firstDayOfWeek","weekDay","item","i","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n model.value = adapter.createDateRange(rangeStart.value, rangeStop.value)\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","createDateRange","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","_createTextVNode","map","week","_normalizeClass","_createVNode","toString","getWeekdays","firstDayOfWeek","weekdayFormat","weekDay","item","i","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n model.value = adapter.createDateRange(rangeStart.value, rangeStop.value)\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|