@vuetify/nightly 3.8.11-master.2025-06-24 → 3.8.11-master.2025-06-27
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 +16 -3
- package/dist/json/attributes.json +3469 -3469
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +136 -136
- package/dist/json/web-types.json +6059 -6059
- package/dist/vuetify-labs.cjs +10 -10
- package/dist/vuetify-labs.css +5010 -5010
- package/dist/vuetify-labs.d.ts +51 -51
- package/dist/vuetify-labs.esm.js +10 -10
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +10 -10
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +9 -10
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4410 -4410
- package/dist/vuetify.d.ts +51 -51
- package/dist/vuetify.esm.js +9 -10
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +9 -10
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +6 -6
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableColumn.js +0 -1
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +51 -51
- package/lib/framework.js +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/package.json +1 -1
@@ -21,7 +21,6 @@ export const VDataTableColumn = defineFunctionalComponent({
|
|
21
21
|
} = _ref;
|
22
22
|
const Tag = props.tag ?? 'td';
|
23
23
|
return _createVNode(Tag, {
|
24
|
-
"tabindex": "0",
|
25
24
|
"class": _normalizeClass(['v-data-table__td', {
|
26
25
|
'v-data-table-column--fixed': props.fixed,
|
27
26
|
'v-data-table-column--last-fixed': props.lastFixed,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDataTableColumn.js","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","maxWidth","nowrap","props","_ref","slots","Tag","_createVNode","_normalizeClass","left"],"sources":["../../../src/components/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["// Utilities\nimport { convertToUnit, defineFunctionalComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n maxWidth: [Number, String],\n nowrap: Boolean,\n}, (props, { slots }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n
|
1
|
+
{"version":3,"file":"VDataTableColumn.js","names":["convertToUnit","defineFunctionalComponent","VDataTableColumn","align","type","String","default","fixed","Boolean","fixedOffset","Number","height","lastFixed","noPadding","tag","width","maxWidth","nowrap","props","_ref","slots","Tag","_createVNode","_normalizeClass","left"],"sources":["../../../src/components/VDataTable/VDataTableColumn.tsx"],"sourcesContent":["// Utilities\nimport { convertToUnit, defineFunctionalComponent } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String as PropType<'start' | 'center' | 'end'>,\n default: 'start',\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n maxWidth: [Number, String],\n nowrap: Boolean,\n}, (props, { slots }) => {\n const Tag = props.tag ?? 'td'\n return (\n <Tag\n class={[\n 'v-data-table__td',\n {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n 'v-data-table-column--nowrap': props.nowrap,\n },\n `v-data-table-column--align-${props.align}`,\n ]}\n style={{\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n maxWidth: convertToUnit(props.maxWidth),\n left: convertToUnit(props.fixedOffset || null),\n }}\n >\n { slots.default?.() }\n </Tag>\n )\n})\n"],"mappings":";AAAA;AAAA,SACSA,aAAa,EAAEC,yBAAyB,+BAEjD;AAGA,OAAO,MAAMC,gBAAgB,GAAGD,yBAAyB,CAAC;EACxDE,KAAK,EAAE;IACLC,IAAI,EAAEC,MAA8C;IACpDC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,OAAO;EACdC,WAAW,EAAE,CAACC,MAAM,EAAEL,MAAM,CAAC;EAC7BM,MAAM,EAAE,CAACD,MAAM,EAAEL,MAAM,CAAC;EACxBO,SAAS,EAAEJ,OAAO;EAClBK,SAAS,EAAEL,OAAO;EAClBM,GAAG,EAAET,MAAM;EACXU,KAAK,EAAE,CAACL,MAAM,EAAEL,MAAM,CAAC;EACvBW,QAAQ,EAAE,CAACN,MAAM,EAAEL,MAAM,CAAC;EAC1BY,MAAM,EAAET;AACV,CAAC,EAAE,CAACU,KAAK,EAAAC,IAAA,KAAgB;EAAA,IAAd;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAClB,MAAME,GAAG,GAAGH,KAAK,CAACJ,GAAG,IAAI,IAAI;EAC7B,OAAAQ,YAAA,CAAAD,GAAA;IAAA,SAAAE,eAAA,CAEW,CACL,kBAAkB,EAClB;MACE,4BAA4B,EAAEL,KAAK,CAACX,KAAK;MACzC,iCAAiC,EAAEW,KAAK,CAACN,SAAS;MAClD,iCAAiC,EAAEM,KAAK,CAACL,SAAS;MAClD,6BAA6B,EAAEK,KAAK,CAACD;IACvC,CAAC,EACD,8BAA8BC,KAAK,CAACf,KAAK,EAAE,CAC5C;IAAA,SACM;MACLQ,MAAM,EAAEX,aAAa,CAACkB,KAAK,CAACP,MAAM,CAAC;MACnCI,KAAK,EAAEf,aAAa,CAACkB,KAAK,CAACH,KAAK,CAAC;MACjCC,QAAQ,EAAEhB,aAAa,CAACkB,KAAK,CAACF,QAAQ,CAAC;MACvCQ,IAAI,EAAExB,aAAa,CAACkB,KAAK,CAACT,WAAW,IAAI,IAAI;IAC/C;EAAC;IAAAH,OAAA,EAAAA,CAAA,MAECc,KAAK,CAACd,OAAO,GAAG,CAAC;EAAA;AAGzB,CAAC,CAAC","ignoreList":[]}
|
@@ -128,14 +128,14 @@ export const VDataTableHeaders = genericComponent()({
|
|
128
128
|
},
|
129
129
|
"colspan": column.colspan,
|
130
130
|
"rowspan": column.rowspan,
|
131
|
-
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
132
131
|
"fixed": column.fixed,
|
133
132
|
"nowrap": column.nowrap,
|
134
133
|
"lastFixed": column.lastFixed,
|
135
|
-
"noPadding": noPadding
|
136
|
-
|
137
|
-
"
|
138
|
-
|
134
|
+
"noPadding": noPadding,
|
135
|
+
"tabindex": column.sortable ? 0 : undefined,
|
136
|
+
"onClick": column.sortable ? () => toggleSort(column) : undefined,
|
137
|
+
"onKeydown": column.sortable ? event => handleEnterKeyPress(event, column) : undefined
|
138
|
+
}, headerProps), {
|
139
139
|
default: () => {
|
140
140
|
const columnSlotName = `header.${column.key}`;
|
141
141
|
const columnSlotProps = {
|
@@ -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","handleEnterKeyPress","event","key","getSortIcon","item","value","find","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 function handleEnterKeyPress (event: KeyboardEvent, column: InternalDataTableHeader) {\n if (event.key === 'Enter' && !props.disableSort) {\n toggleSort(column)\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 onKeydown={ (event: KeyboardEvent) => column.sortable && handleEnterKeyPress(event, column) }\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":[]}
|
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","handleEnterKeyPress","event","key","getSortIcon","item","value","find","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 function handleEnterKeyPress (event: KeyboardEvent, column: InternalDataTableHeader) {\n if (event.key === 'Enter' && !props.disableSort) {\n toggleSort(column)\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 fixed={ column.fixed }\n nowrap={ column.nowrap }\n lastFixed={ column.lastFixed }\n noPadding={ noPadding }\n tabindex={ column.sortable ? 0 : undefined }\n onClick={ column.sortable ? () => toggleSort(column) : undefined }\n onKeydown={ column.sortable ? (event: KeyboardEvent) => handleEnterKeyPress(event, column) : undefined }\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":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","isActive","active","onFocus","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","inputNode","_withDirectives","_createElementVNode","handler","once","_Fragment","_normalizeClass","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus()\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n ) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role={ props.role }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VTextField.js","names":["VCounter","makeVFieldProps","VField","makeVInputProps","VInput","useAutofocus","useFocus","forwardRefs","useProxiedModel","vIntersect","cloneVNode","computed","nextTick","ref","callEvent","filterInputAttrs","genericComponent","propsFactory","useRender","activeTypes","makeVTextFieldProps","autofocus","Boolean","counter","Number","String","counterValue","Function","prefix","placeholder","persistentPlaceholder","persistentCounter","suffix","role","type","default","modelModifiers","Object","VTextField","name","directives","inheritAttrs","props","emits","e","focused","val","setup","_ref","attrs","emit","slots","model","isFocused","focus","blur","onIntersect","value","toString","length","max","maxlength","undefined","isPlainOrUnderlined","includes","variant","vInputRef","vFieldRef","inputRef","isActive","active","onFocus","document","activeElement","onControlMousedown","target","preventDefault","onControlClick","onClear","reset","stopPropagation","onInput","el","trim","caretPosition","selectionStart","selectionEnd","hasCounter","hasDetails","details","rootAttrs","inputAttrs","modelValue","_","inputProps","filterProps","fieldProps","_createVNode","_mergeProps","$event","class","style","_ref2","id","isDisabled","isDirty","isReadonly","isValid","dirty","_ref3","fieldClass","slotProps","inputNode","_withDirectives","_createElementVNode","handler","once","_Fragment","_normalizeClass","disabled"],"sources":["../../../src/components/VTextField/VTextField.tsx"],"sourcesContent":["// Styles\nimport './VTextField.sass'\n\n// Components\nimport { VCounter } from '@/components/VCounter/VCounter'\nimport { makeVFieldProps, VField } from '@/components/VField/VField'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\n\n// Composables\nimport { useAutofocus } from '@/composables/autofocus'\nimport { useFocus } from '@/composables/focus'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Directives\nimport vIntersect from '@/directives/intersect'\n\n// Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue'\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VCounterSlot } from '@/components/VCounter/VCounter'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\n\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month']\n\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function] as PropType<number | ((value: any) => number)>,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text',\n },\n modelModifiers: Object as PropType<Record<string, boolean>>,\n\n ...makeVInputProps(),\n ...makeVFieldProps(),\n}, 'VTextField')\n\nexport type VTextFieldSlots = Omit<VInputSlots & VFieldSlots, 'default'> & {\n default: never\n counter: VCounterSlot\n}\n\nexport const VTextField = genericComponent<VTextFieldSlots>()({\n name: 'VTextField',\n\n directives: { vIntersect },\n\n inheritAttrs: false,\n\n props: makeVTextFieldProps(),\n\n emits: {\n 'click:control': (e: MouseEvent) => true,\n 'mousedown:control': (e: MouseEvent) => true,\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: string) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const { isFocused, focus, blur } = useFocus(props)\n const { onIntersect } = useAutofocus(props)\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value)\n : typeof props.counterValue === 'number' ? props.counterValue\n : (model.value ?? '').toString().length\n })\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength as unknown as undefined\n\n if (\n !props.counter ||\n (typeof props.counter !== 'number' &&\n typeof props.counter !== 'string')\n ) return undefined\n\n return props.counter\n })\n\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n\n const vInputRef = ref<VInput>()\n const vFieldRef = ref<VField>()\n const inputRef = ref<HTMLInputElement>()\n const isActive = computed(() => (\n activeTypes.includes(props.type) ||\n props.persistentPlaceholder ||\n isFocused.value ||\n props.active\n ))\n function onFocus () {\n if (!isFocused.value) focus()\n\n nextTick(() => {\n if (inputRef.value !== document.activeElement) {\n nextTick(() => inputRef.value?.focus())\n }\n })\n }\n function onControlMousedown (e: MouseEvent) {\n emit('mousedown:control', e)\n\n if (e.target === inputRef.value) return\n\n onFocus()\n e.preventDefault()\n }\n function onControlClick (e: MouseEvent) {\n emit('click:control', e)\n }\n function onClear (e: MouseEvent, reset: () => void) {\n e.stopPropagation()\n\n onFocus()\n\n nextTick(() => {\n model.value = null\n reset()\n\n callEvent(props['onClick:clear'], e)\n })\n }\n function onInput (e: Event) {\n const el = e.target as HTMLInputElement\n model.value = el.value\n if (\n props.modelModifiers?.trim &&\n ['text', 'search', 'password', 'tel', 'url'].includes(props.type)\n ) {\n const caretPosition = [el.selectionStart, el.selectionEnd]\n nextTick(() => {\n el.selectionStart = caretPosition[0]\n el.selectionEnd = caretPosition[1]\n })\n }\n }\n\n useRender(() => {\n const hasCounter = !!(slots.counter || (props.counter !== false && props.counter != null))\n const hasDetails = !!(hasCounter || slots.details)\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs)\n const { modelValue: _, ...inputProps } = VInput.filterProps(props)\n const fieldProps = VField.filterProps(props)\n\n return (\n <VInput\n ref={ vInputRef }\n v-model={ model.value }\n class={[\n 'v-text-field',\n {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value,\n },\n props.class,\n ]}\n style={ props.style }\n { ...rootAttrs }\n { ...inputProps }\n centerAffix={ !isPlainOrUnderlined.value }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n default: ({\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid,\n reset,\n }) => (\n <VField\n ref={ vFieldRef }\n onMousedown={ onControlMousedown }\n onClick={ onControlClick }\n onClick:clear={ (e: MouseEvent) => onClear(e, reset) }\n onClick:prependInner={ props['onClick:prependInner'] }\n onClick:appendInner={ props['onClick:appendInner'] }\n role={ props.role }\n { ...fieldProps }\n id={ id.value }\n active={ isActive.value || isDirty.value }\n dirty={ isDirty.value || props.dirty }\n disabled={ isDisabled.value }\n focused={ isFocused.value }\n error={ isValid.value === false }\n >\n {{\n ...slots,\n default: ({\n props: { class: fieldClass, ...slotProps },\n }) => {\n const inputNode = (\n <input\n ref={ inputRef }\n value={ model.value }\n onInput={ onInput }\n v-intersect={[{\n handler: onIntersect,\n }, null, ['once']]}\n autofocus={ props.autofocus }\n readonly={ isReadonly.value }\n disabled={ isDisabled.value }\n name={ props.name }\n placeholder={ props.placeholder }\n size={ 1 }\n type={ props.type }\n onFocus={ onFocus }\n onBlur={ blur }\n { ...slotProps }\n { ...inputAttrs }\n />\n )\n\n return (\n <>\n { props.prefix && (\n <span class=\"v-text-field__prefix\">\n <span class=\"v-text-field__prefix__text\">\n { props.prefix }\n </span>\n </span>\n )}\n\n { slots.default ? (\n <div\n class={ fieldClass }\n data-no-activator=\"\"\n >\n { slots.default() }\n { inputNode }\n </div>\n ) : cloneVNode(inputNode, { class: fieldClass })}\n\n { props.suffix && (\n <span class=\"v-text-field__suffix\">\n <span class=\"v-text-field__suffix__text\">\n { props.suffix }\n </span>\n </span>\n )}\n </>\n )\n },\n }}\n </VField>\n ),\n details: hasDetails ? slotProps => (\n <>\n { slots.details?.(slotProps) }\n\n { hasCounter && (\n <>\n <span />\n\n <VCounter\n active={ props.persistentCounter || isFocused.value }\n value={ counterValue.value }\n max={ max.value }\n disabled={ props.disabled }\n v-slots:default={ slots.counter }\n />\n </>\n )}\n </>\n ) : undefined,\n }}\n </VInput>\n )\n })\n\n return forwardRefs({}, vInputRef, vFieldRef, inputRef)\n },\n})\n\nexport type VTextField = InstanceType<typeof VTextField>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.8.11-master.2025-06-
|
19
|
+
export const version = "3.8.11-master.2025-06-27";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|
package/lib/framework.d.ts
CHANGED
@@ -2546,40 +2546,39 @@ declare module 'vue' {
|
|
2546
2546
|
}
|
2547
2547
|
export interface GlobalComponents {
|
2548
2548
|
VApp: typeof import('vuetify/components')['VApp']
|
2549
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2549
2550
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
2550
2551
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
2551
2552
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
2553
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
2554
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2552
2555
|
VAvatar: typeof import('vuetify/components')['VAvatar']
|
2553
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
2554
2556
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
2557
|
+
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
2558
|
+
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
2559
|
+
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2555
2560
|
VBanner: typeof import('vuetify/components')['VBanner']
|
2556
2561
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
2557
2562
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
2558
|
-
|
2563
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
2559
2564
|
VBadge: typeof import('vuetify/components')['VBadge']
|
2565
|
+
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2566
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
2567
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2560
2568
|
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
2561
|
-
|
2562
|
-
|
2563
|
-
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
2564
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
2569
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2570
|
+
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2565
2571
|
VCard: typeof import('vuetify/components')['VCard']
|
2566
2572
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
2567
2573
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
2568
2574
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
2569
2575
|
VCardText: typeof import('vuetify/components')['VCardText']
|
2570
2576
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
2571
|
-
|
2572
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
2577
|
+
VChip: typeof import('vuetify/components')['VChip']
|
2573
2578
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
2574
2579
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
2575
|
-
VChip: typeof import('vuetify/components')['VChip']
|
2576
|
-
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
2577
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
2578
|
-
VCode: typeof import('vuetify/components')['VCode']
|
2579
2580
|
VCounter: typeof import('vuetify/components')['VCounter']
|
2580
|
-
|
2581
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
2582
|
-
VCombobox: typeof import('vuetify/components')['VCombobox']
|
2581
|
+
VCode: typeof import('vuetify/components')['VCode']
|
2583
2582
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
2584
2583
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
2585
2584
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -2587,37 +2586,36 @@ declare module 'vue' {
|
|
2587
2586
|
VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
|
2588
2587
|
VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
|
2589
2588
|
VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
|
2590
|
-
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2591
2589
|
VDatePicker: typeof import('vuetify/components')['VDatePicker']
|
2592
2590
|
VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
|
2593
2591
|
VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
|
2594
2592
|
VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
|
2595
2593
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
2596
2594
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
2597
|
-
VDialog: typeof import('vuetify/components')['VDialog']
|
2598
2595
|
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
2599
2596
|
VDivider: typeof import('vuetify/components')['VDivider']
|
2600
|
-
|
2597
|
+
VDialog: typeof import('vuetify/components')['VDialog']
|
2598
|
+
VFab: typeof import('vuetify/components')['VFab']
|
2599
|
+
VField: typeof import('vuetify/components')['VField']
|
2600
|
+
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2601
2601
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
2602
2602
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
2603
2603
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
2604
2604
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
2605
|
-
|
2606
|
-
VField: typeof import('vuetify/components')['VField']
|
2607
|
-
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
2605
|
+
VFileInput: typeof import('vuetify/components')['VFileInput']
|
2608
2606
|
VIcon: typeof import('vuetify/components')['VIcon']
|
2609
2607
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
2610
2608
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
2611
2609
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
2612
2610
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
2613
|
-
|
2614
|
-
VImg: typeof import('vuetify/components')['VImg']
|
2611
|
+
VFooter: typeof import('vuetify/components')['VFooter']
|
2615
2612
|
VInput: typeof import('vuetify/components')['VInput']
|
2613
|
+
VImg: typeof import('vuetify/components')['VImg']
|
2614
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2615
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
2616
|
+
VKbd: typeof import('vuetify/components')['VKbd']
|
2616
2617
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
2617
2618
|
VItem: typeof import('vuetify/components')['VItem']
|
2618
|
-
VKbd: typeof import('vuetify/components')['VKbd']
|
2619
|
-
VLabel: typeof import('vuetify/components')['VLabel']
|
2620
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
2621
2619
|
VList: typeof import('vuetify/components')['VList']
|
2622
2620
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
2623
2621
|
VListImg: typeof import('vuetify/components')['VListImg']
|
@@ -2628,23 +2626,22 @@ declare module 'vue' {
|
|
2628
2626
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
2629
2627
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
2630
2628
|
VMenu: typeof import('vuetify/components')['VMenu']
|
2631
|
-
VMain: typeof import('vuetify/components')['VMain']
|
2632
2629
|
VMessages: typeof import('vuetify/components')['VMessages']
|
2633
|
-
|
2630
|
+
VMain: typeof import('vuetify/components')['VMain']
|
2634
2631
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
2635
|
-
|
2636
|
-
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2632
|
+
VNumberInput: typeof import('vuetify/components')['VNumberInput']
|
2637
2633
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
2638
|
-
|
2634
|
+
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
2639
2635
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
2636
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
2640
2637
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
2641
|
-
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2642
2638
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
2643
2639
|
VRating: typeof import('vuetify/components')['VRating']
|
2644
|
-
|
2640
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
2641
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
2642
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
2645
2643
|
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
2646
2644
|
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
2647
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
2648
2645
|
VSheet: typeof import('vuetify/components')['VSheet']
|
2649
2646
|
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
2650
2647
|
VStepper: typeof import('vuetify/components')['VStepper']
|
@@ -2654,13 +2651,16 @@ declare module 'vue' {
|
|
2654
2651
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
2655
2652
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
2656
2653
|
VSlider: typeof import('vuetify/components')['VSlider']
|
2657
|
-
|
2654
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
2655
|
+
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
2658
2656
|
VTab: typeof import('vuetify/components')['VTab']
|
2659
2657
|
VTabs: typeof import('vuetify/components')['VTabs']
|
2660
2658
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
2661
2659
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
2660
|
+
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2661
|
+
VSwitch: typeof import('vuetify/components')['VSwitch']
|
2662
2662
|
VTable: typeof import('vuetify/components')['VTable']
|
2663
|
-
|
2663
|
+
VTextField: typeof import('vuetify/components')['VTextField']
|
2664
2664
|
VTimeline: typeof import('vuetify/components')['VTimeline']
|
2665
2665
|
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
2666
2666
|
VTooltip: typeof import('vuetify/components')['VTooltip']
|
@@ -2669,32 +2669,30 @@ declare module 'vue' {
|
|
2669
2669
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
2670
2670
|
VWindow: typeof import('vuetify/components')['VWindow']
|
2671
2671
|
VWindowItem: typeof import('vuetify/components')['VWindowItem']
|
2672
|
+
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
2672
2673
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
2673
2674
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
2674
|
-
|
2675
|
+
VForm: typeof import('vuetify/components')['VForm']
|
2676
|
+
VHover: typeof import('vuetify/components')['VHover']
|
2675
2677
|
VContainer: typeof import('vuetify/components')['VContainer']
|
2676
2678
|
VCol: typeof import('vuetify/components')['VCol']
|
2677
2679
|
VRow: typeof import('vuetify/components')['VRow']
|
2678
2680
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
2679
|
-
|
2680
|
-
VHover: typeof import('vuetify/components')['VHover']
|
2681
|
+
VLazy: typeof import('vuetify/components')['VLazy']
|
2681
2682
|
VLayout: typeof import('vuetify/components')['VLayout']
|
2682
2683
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
2683
|
-
VLazy: typeof import('vuetify/components')['VLazy']
|
2684
2684
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
2685
2685
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
2686
2686
|
VParallax: typeof import('vuetify/components')['VParallax']
|
2687
2687
|
VRadio: typeof import('vuetify/components')['VRadio']
|
2688
2688
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
2689
2689
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
2690
|
-
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2691
2690
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
2692
2691
|
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
2692
|
+
VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
|
2693
2693
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
2694
|
-
VValidation: typeof import('vuetify/components')['VValidation']
|
2695
2694
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
2696
|
-
|
2697
|
-
VTextarea: typeof import('vuetify/components')['VTextarea']
|
2695
|
+
VValidation: typeof import('vuetify/components')['VValidation']
|
2698
2696
|
VFabTransition: typeof import('vuetify/components')['VFabTransition']
|
2699
2697
|
VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
|
2700
2698
|
VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
|
@@ -2711,6 +2709,10 @@ declare module 'vue' {
|
|
2711
2709
|
VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
|
2712
2710
|
VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
|
2713
2711
|
VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
|
2712
|
+
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
2713
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
2714
|
+
VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
|
2715
|
+
VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
|
2714
2716
|
VColorInput: typeof import('vuetify/labs/components')['VColorInput']
|
2715
2717
|
VCalendar: typeof import('vuetify/labs/components')['VCalendar']
|
2716
2718
|
VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
|
@@ -2718,21 +2720,19 @@ declare module 'vue' {
|
|
2718
2720
|
VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
|
2719
2721
|
VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
|
2720
2722
|
VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
|
2721
|
-
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2722
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2723
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2724
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2725
2723
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
2726
2724
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
2727
2725
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
2728
2726
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
2729
2727
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
2730
|
-
|
2731
|
-
|
2728
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
2729
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
2730
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
2732
2731
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
2733
2732
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
2734
2733
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
2735
|
-
|
2734
|
+
VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
|
2736
2735
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
2736
|
+
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
2737
2737
|
}
|
2738
2738
|
}
|
package/lib/framework.js
CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
|
|
109
109
|
};
|
110
110
|
});
|
111
111
|
}
|
112
|
-
export const version = "3.8.11-master.2025-06-
|
112
|
+
export const version = "3.8.11-master.2025-06-27";
|
113
113
|
createVuetify.version = version;
|
114
114
|
|
115
115
|
// Vue's inject() can only be used in setup
|
@@ -134,6 +134,7 @@ export const VIconBtn = genericComponent()({
|
|
134
134
|
opacity: props.opacity
|
135
135
|
};
|
136
136
|
return _createVNode(props.tag, {
|
137
|
+
"type": props.tag === 'button' ? 'button' : undefined,
|
137
138
|
"class": _normalizeClass([{
|
138
139
|
'v-icon-btn': true,
|
139
140
|
'v-icon-btn--active': isActive.value,
|