@vuetify/nightly 3.7.15-dev.2025-03-06 → 3.7.15-dev.2025-03-07
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 +4 -3
- package/dist/json/attributes.json +2993 -2993
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +136 -136
- package/dist/json/web-types.json +5667 -5667
- package/dist/vuetify-labs.css +2946 -2946
- package/dist/vuetify-labs.d.ts +57 -54
- package/dist/vuetify-labs.esm.js +43 -34
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +43 -34
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4513 -4513
- package/dist/vuetify.d.ts +57 -54
- package/dist/vuetify.esm.js +43 -34
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +43 -34
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +431 -429
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -13
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +2 -13
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/composables/filter.d.ts +13 -9
- package/lib/composables/filter.js +39 -8
- package/lib/composables/filter.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +49 -49
- package/lib/framework.js +1 -1
- package/package.json +1 -1
package/dist/vuetify.d.ts
CHANGED
@@ -3635,12 +3635,15 @@ declare const VField: {
|
|
3635
3635
|
type VField = InstanceType<typeof VField>;
|
3636
3636
|
|
3637
3637
|
/**
|
3638
|
-
* - match without highlight
|
3639
|
-
* - single match (index), length already known
|
3640
|
-
* - single match (start, end)
|
3641
|
-
* - multiple matches (start, end),
|
3638
|
+
* - boolean: match without highlight
|
3639
|
+
* - number: single match (index), length already known
|
3640
|
+
* - []: single match (start, end)
|
3641
|
+
* - [][]: multiple matches (start, end), shouldn't overlap
|
3642
3642
|
*/
|
3643
|
-
type
|
3643
|
+
type FilterMatchArraySingle = readonly [number, number];
|
3644
|
+
type FilterMatchArrayMultiple = readonly FilterMatchArraySingle[];
|
3645
|
+
type FilterMatchArray = FilterMatchArraySingle | FilterMatchArrayMultiple;
|
3646
|
+
type FilterMatch = boolean | number | FilterMatchArray;
|
3644
3647
|
type FilterFunction = (value: string, query: string, item?: InternalItem) => FilterMatch;
|
3645
3648
|
type FilterKeyFunctions = Record<string, FilterFunction>;
|
3646
3649
|
type FilterKeys = string | string[];
|
@@ -57888,19 +57891,20 @@ declare module 'vue' {
|
|
57888
57891
|
VAppBar: VAppBar
|
57889
57892
|
VAppBarNavIcon: VAppBarNavIcon
|
57890
57893
|
VAppBarTitle: VAppBarTitle
|
57891
|
-
VAlert: VAlert
|
57892
|
-
VAlertTitle: VAlertTitle
|
57893
|
-
VAutocomplete: VAutocomplete
|
57894
57894
|
VApp: VApp
|
57895
|
-
|
57896
|
-
VAvatar: VAvatar
|
57895
|
+
VAutocomplete: VAutocomplete
|
57897
57896
|
VBadge: VBadge
|
57897
|
+
VAlert: VAlert
|
57898
|
+
VAlertTitle: VAlertTitle
|
57898
57899
|
VBottomSheet: VBottomSheet
|
57899
57900
|
VBanner: VBanner
|
57900
57901
|
VBannerActions: VBannerActions
|
57901
57902
|
VBannerText: VBannerText
|
57902
|
-
|
57903
|
+
VAvatar: VAvatar
|
57903
57904
|
VBtnToggle: VBtnToggle
|
57905
|
+
VBottomNavigation: VBottomNavigation
|
57906
|
+
VCheckbox: VCheckbox
|
57907
|
+
VCheckboxBtn: VCheckboxBtn
|
57904
57908
|
VBreadcrumbs: VBreadcrumbs
|
57905
57909
|
VBreadcrumbsItem: VBreadcrumbsItem
|
57906
57910
|
VBreadcrumbsDivider: VBreadcrumbsDivider
|
@@ -57910,15 +57914,21 @@ declare module 'vue' {
|
|
57910
57914
|
VCardSubtitle: VCardSubtitle
|
57911
57915
|
VCardText: VCardText
|
57912
57916
|
VCardTitle: VCardTitle
|
57917
|
+
VBtnGroup: VBtnGroup
|
57918
|
+
VBtn: VBtn
|
57919
|
+
VColorPicker: VColorPicker
|
57913
57920
|
VChip: VChip
|
57914
|
-
VCheckbox: VCheckbox
|
57915
|
-
VCheckboxBtn: VCheckboxBtn
|
57916
57921
|
VCarousel: VCarousel
|
57917
57922
|
VCarouselItem: VCarouselItem
|
57918
|
-
VBtnGroup: VBtnGroup
|
57919
|
-
VCombobox: VCombobox
|
57920
57923
|
VChipGroup: VChipGroup
|
57921
|
-
|
57924
|
+
VCounter: VCounter
|
57925
|
+
VDialog: VDialog
|
57926
|
+
VDivider: VDivider
|
57927
|
+
VCombobox: VCombobox
|
57928
|
+
VExpansionPanels: VExpansionPanels
|
57929
|
+
VExpansionPanel: VExpansionPanel
|
57930
|
+
VExpansionPanelText: VExpansionPanelText
|
57931
|
+
VExpansionPanelTitle: VExpansionPanelTitle
|
57922
57932
|
VDataTable: VDataTable
|
57923
57933
|
VDataTableHeaders: VDataTableHeaders
|
57924
57934
|
VDataTableFooter: VDataTableFooter
|
@@ -57926,10 +57936,6 @@ declare module 'vue' {
|
|
57926
57936
|
VDataTableRow: VDataTableRow
|
57927
57937
|
VDataTableVirtual: VDataTableVirtual
|
57928
57938
|
VDataTableServer: VDataTableServer
|
57929
|
-
VCounter: VCounter
|
57930
|
-
VColorPicker: VColorPicker
|
57931
|
-
VDialog: VDialog
|
57932
|
-
VDivider: VDivider
|
57933
57939
|
VDatePicker: VDatePicker
|
57934
57940
|
VDatePickerControls: VDatePickerControls
|
57935
57941
|
VDatePickerHeader: VDatePickerHeader
|
@@ -57937,26 +57943,26 @@ declare module 'vue' {
|
|
57937
57943
|
VDatePickerMonths: VDatePickerMonths
|
57938
57944
|
VDatePickerYears: VDatePickerYears
|
57939
57945
|
VEmptyState: VEmptyState
|
57940
|
-
VFab: VFab
|
57941
|
-
VExpansionPanels: VExpansionPanels
|
57942
|
-
VExpansionPanel: VExpansionPanel
|
57943
|
-
VExpansionPanelText: VExpansionPanelText
|
57944
|
-
VExpansionPanelTitle: VExpansionPanelTitle
|
57945
|
-
VFooter: VFooter
|
57946
|
-
VFileInput: VFileInput
|
57947
57946
|
VField: VField
|
57948
57947
|
VFieldLabel: VFieldLabel
|
57949
|
-
|
57948
|
+
VFooter: VFooter
|
57949
|
+
VFileInput: VFileInput
|
57950
|
+
VFab: VFab
|
57950
57951
|
VIcon: VIcon
|
57951
57952
|
VComponentIcon: VComponentIcon
|
57952
57953
|
VSvgIcon: VSvgIcon
|
57953
57954
|
VLigatureIcon: VLigatureIcon
|
57954
57955
|
VClassIcon: VClassIcon
|
57955
57956
|
VImg: VImg
|
57957
|
+
VInfiniteScroll: VInfiniteScroll
|
57958
|
+
VLabel: VLabel
|
57956
57959
|
VItemGroup: VItemGroup
|
57957
57960
|
VItem: VItem
|
57961
|
+
VMain: VMain
|
57958
57962
|
VKbd: VKbd
|
57959
57963
|
VInput: VInput
|
57964
|
+
VMessages: VMessages
|
57965
|
+
VMenu: VMenu
|
57960
57966
|
VList: VList
|
57961
57967
|
VListGroup: VListGroup
|
57962
57968
|
VListImg: VListImg
|
@@ -57966,73 +57972,70 @@ declare module 'vue' {
|
|
57966
57972
|
VListItemSubtitle: VListItemSubtitle
|
57967
57973
|
VListItemTitle: VListItemTitle
|
57968
57974
|
VListSubheader: VListSubheader
|
57969
|
-
VMain: VMain
|
57970
|
-
VLabel: VLabel
|
57971
57975
|
VNavigationDrawer: VNavigationDrawer
|
57972
|
-
VMenu: VMenu
|
57973
|
-
VMessages: VMessages
|
57974
57976
|
VOtpInput: VOtpInput
|
57975
57977
|
VPagination: VPagination
|
57976
57978
|
VOverlay: VOverlay
|
57979
|
+
VProgressCircular: VProgressCircular
|
57977
57980
|
VRadioGroup: VRadioGroup
|
57978
57981
|
VProgressLinear: VProgressLinear
|
57982
|
+
VSelect: VSelect
|
57983
|
+
VCode: VCode
|
57979
57984
|
VRating: VRating
|
57980
|
-
VProgressCircular: VProgressCircular
|
57981
57985
|
VSelectionControlGroup: VSelectionControlGroup
|
57982
|
-
|
57983
|
-
VSelectionControl: VSelectionControl
|
57984
|
-
VSlideGroup: VSlideGroup
|
57985
|
-
VSlideGroupItem: VSlideGroupItem
|
57986
|
-
VSnackbar: VSnackbar
|
57986
|
+
VSheet: VSheet
|
57987
57987
|
VSkeletonLoader: VSkeletonLoader
|
57988
|
+
VSelectionControl: VSelectionControl
|
57988
57989
|
VSlider: VSlider
|
57990
|
+
VSnackbar: VSnackbar
|
57991
|
+
VSystemBar: VSystemBar
|
57989
57992
|
VSwitch: VSwitch
|
57993
|
+
VSlideGroup: VSlideGroup
|
57994
|
+
VSlideGroupItem: VSlideGroupItem
|
57990
57995
|
VTab: VTab
|
57991
57996
|
VTabs: VTabs
|
57992
57997
|
VTabsWindow: VTabsWindow
|
57993
57998
|
VTabsWindowItem: VTabsWindowItem
|
57999
|
+
VTextarea: VTextarea
|
57994
58000
|
VStepper: VStepper
|
57995
58001
|
VStepperActions: VStepperActions
|
57996
58002
|
VStepperHeader: VStepperHeader
|
57997
58003
|
VStepperItem: VStepperItem
|
57998
58004
|
VStepperWindow: VStepperWindow
|
57999
58005
|
VStepperWindowItem: VStepperWindowItem
|
58000
|
-
VSystemBar: VSystemBar
|
58001
|
-
VTextarea: VTextarea
|
58002
58006
|
VTable: VTable
|
58003
58007
|
VTextField: VTextField
|
58004
58008
|
VTimeline: VTimeline
|
58005
58009
|
VTimelineItem: VTimelineItem
|
58010
|
+
VTooltip: VTooltip
|
58006
58011
|
VToolbar: VToolbar
|
58007
58012
|
VToolbarTitle: VToolbarTitle
|
58008
58013
|
VToolbarItems: VToolbarItems
|
58009
|
-
VTooltip: VTooltip
|
58010
58014
|
VWindow: VWindow
|
58011
58015
|
VWindowItem: VWindowItem
|
58012
58016
|
VConfirmEdit: VConfirmEdit
|
58013
58017
|
VDataIterator: VDataIterator
|
58014
58018
|
VDefaultsProvider: VDefaultsProvider
|
58015
|
-
VForm: VForm
|
58016
58019
|
VContainer: VContainer
|
58017
58020
|
VCol: VCol
|
58018
58021
|
VRow: VRow
|
58019
58022
|
VSpacer: VSpacer
|
58023
|
+
VForm: VForm
|
58020
58024
|
VHover: VHover
|
58021
|
-
VLazy: VLazy
|
58022
58025
|
VLayout: VLayout
|
58023
58026
|
VLayoutItem: VLayoutItem
|
58027
|
+
VLazy: VLazy
|
58024
58028
|
VLocaleProvider: VLocaleProvider
|
58029
|
+
VNoSsr: VNoSsr
|
58025
58030
|
VParallax: VParallax
|
58026
58031
|
VRadio: VRadio
|
58027
58032
|
VRangeSlider: VRangeSlider
|
58028
58033
|
VResponsive: VResponsive
|
58029
|
-
VNoSsr: VNoSsr
|
58030
58034
|
VSparkline: VSparkline
|
58031
58035
|
VSpeedDial: VSpeedDial
|
58032
58036
|
VThemeProvider: VThemeProvider
|
58033
|
-
VVirtualScroll: VVirtualScroll
|
58034
58037
|
VValidation: VValidation
|
58035
|
-
|
58038
|
+
VVirtualScroll: VVirtualScroll
|
58036
58039
|
VFabTransition: VFabTransition
|
58037
58040
|
VDialogBottomTransition: VDialogBottomTransition
|
58038
58041
|
VDialogTopTransition: VDialogTopTransition
|
@@ -58049,26 +58052,26 @@ declare module 'vue' {
|
|
58049
58052
|
VExpandTransition: VExpandTransition
|
58050
58053
|
VExpandXTransition: VExpandXTransition
|
58051
58054
|
VDialogTransition: VDialogTransition
|
58055
|
+
VFileUpload: VFileUpload
|
58056
|
+
VFileUploadItem: VFileUploadItem
|
58057
|
+
VNumberInput: VNumberInput
|
58052
58058
|
VCalendar: VCalendar
|
58053
58059
|
VCalendarDay: VCalendarDay
|
58054
58060
|
VCalendarHeader: VCalendarHeader
|
58055
58061
|
VCalendarInterval: VCalendarInterval
|
58056
58062
|
VCalendarIntervalEvent: VCalendarIntervalEvent
|
58057
58063
|
VCalendarMonthDay: VCalendarMonthDay
|
58058
|
-
VPicker: VPicker
|
58059
|
-
VPickerTitle: VPickerTitle
|
58060
|
-
VFileUpload: VFileUpload
|
58061
|
-
VFileUploadItem: VFileUploadItem
|
58062
58064
|
VStepperVertical: VStepperVertical
|
58063
58065
|
VStepperVerticalItem: VStepperVerticalItem
|
58064
58066
|
VStepperVerticalActions: VStepperVerticalActions
|
58065
|
-
|
58066
|
-
|
58067
|
-
VTreeviewGroup: VTreeviewGroup
|
58068
|
-
VNumberInput: VNumberInput
|
58067
|
+
VPicker: VPicker
|
58068
|
+
VPickerTitle: VPickerTitle
|
58069
58069
|
VTimePicker: VTimePicker
|
58070
58070
|
VTimePickerClock: VTimePickerClock
|
58071
58071
|
VTimePickerControls: VTimePickerControls
|
58072
|
+
VTreeview: VTreeview
|
58073
|
+
VTreeviewItem: VTreeviewItem
|
58074
|
+
VTreeviewGroup: VTreeviewGroup
|
58072
58075
|
VDateInput: VDateInput
|
58073
58076
|
VPullToRefresh: VPullToRefresh
|
58074
58077
|
VSnackbarQueue: VSnackbarQueue
|
package/dist/vuetify.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.7.15-dev.2025-03-
|
2
|
+
* Vuetify v3.7.15-dev.2025-03-07
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -13157,17 +13157,31 @@ const VSelect = genericComponent()({
|
|
13157
13157
|
// Types
|
13158
13158
|
|
13159
13159
|
/**
|
13160
|
-
* - match without highlight
|
13161
|
-
* - single match (index), length already known
|
13162
|
-
* - single match (start, end)
|
13163
|
-
* - multiple matches (start, end),
|
13160
|
+
* - boolean: match without highlight
|
13161
|
+
* - number: single match (index), length already known
|
13162
|
+
* - []: single match (start, end)
|
13163
|
+
* - [][]: multiple matches (start, end), shouldn't overlap
|
13164
13164
|
*/
|
13165
13165
|
|
13166
13166
|
// Composables
|
13167
13167
|
const defaultFilter = (value, query, item) => {
|
13168
13168
|
if (value == null || query == null) return -1;
|
13169
|
-
|
13169
|
+
value = value.toString().toLocaleLowerCase();
|
13170
|
+
query = query.toString().toLocaleLowerCase();
|
13171
|
+
const result = [];
|
13172
|
+
let idx = value.indexOf(query);
|
13173
|
+
while (~idx) {
|
13174
|
+
result.push([idx, idx + query.length]);
|
13175
|
+
idx = value.indexOf(query, idx + query.length);
|
13176
|
+
}
|
13177
|
+
return result.length ? result : -1;
|
13170
13178
|
};
|
13179
|
+
function normaliseMatch(match, query) {
|
13180
|
+
if (match == null || typeof match === 'boolean' || match === -1) return;
|
13181
|
+
if (typeof match === 'number') return [[match, query.length]];
|
13182
|
+
if (Array.isArray(match[0])) return match;
|
13183
|
+
return [match];
|
13184
|
+
}
|
13171
13185
|
const makeFilterProps = propsFactory({
|
13172
13186
|
customFilter: Function,
|
13173
13187
|
customKeyFilter: Object,
|
@@ -13198,7 +13212,7 @@ function filterItems(items, query, options) {
|
|
13198
13212
|
const keyFilter = options?.customKeyFilter?.[key];
|
13199
13213
|
match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);
|
13200
13214
|
if (match !== -1 && match !== false) {
|
13201
|
-
if (keyFilter) customMatches[key] = match;else defaultMatches[key] = match;
|
13215
|
+
if (keyFilter) customMatches[key] = normaliseMatch(match, query);else defaultMatches[key] = normaliseMatch(match, query);
|
13202
13216
|
} else if (options?.filterMode === 'every') {
|
13203
13217
|
continue loop;
|
13204
13218
|
}
|
@@ -13206,7 +13220,7 @@ function filterItems(items, query, options) {
|
|
13206
13220
|
} else {
|
13207
13221
|
match = filter(item, query, item);
|
13208
13222
|
if (match !== -1 && match !== false) {
|
13209
|
-
defaultMatches.title = match;
|
13223
|
+
defaultMatches.title = normaliseMatch(match, query);
|
13210
13224
|
}
|
13211
13225
|
}
|
13212
13226
|
const defaultMatchesLength = Object.keys(defaultMatches).length;
|
@@ -13266,20 +13280,26 @@ function useFilter(props, items, query, options) {
|
|
13266
13280
|
getMatches
|
13267
13281
|
};
|
13268
13282
|
}
|
13283
|
+
function highlightResult(name, text, matches) {
|
13284
|
+
if (matches == null || !matches.length) return text;
|
13285
|
+
return matches.map((match, i) => {
|
13286
|
+
const start = i === 0 ? 0 : matches[i - 1][1];
|
13287
|
+
const result = [createVNode("span", {
|
13288
|
+
"class": `${name}__unmask`
|
13289
|
+
}, [text.slice(start, match[0])]), createVNode("span", {
|
13290
|
+
"class": `${name}__mask`
|
13291
|
+
}, [text.slice(match[0], match[1])])];
|
13292
|
+
if (i === matches.length - 1) {
|
13293
|
+
result.push(createVNode("span", {
|
13294
|
+
"class": `${name}__unmask`
|
13295
|
+
}, [text.slice(match[1])]));
|
13296
|
+
}
|
13297
|
+
return createVNode(Fragment, null, [result]);
|
13298
|
+
});
|
13299
|
+
}
|
13269
13300
|
|
13270
13301
|
// Types
|
13271
13302
|
|
13272
|
-
function highlightResult$1(text, matches, length) {
|
13273
|
-
if (matches == null) return text;
|
13274
|
-
if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');
|
13275
|
-
return typeof matches === 'number' && ~matches ? createVNode(Fragment, null, [createVNode("span", {
|
13276
|
-
"class": "v-autocomplete__unmask"
|
13277
|
-
}, [text.substr(0, matches)]), createVNode("span", {
|
13278
|
-
"class": "v-autocomplete__mask"
|
13279
|
-
}, [text.substr(matches, length)]), createVNode("span", {
|
13280
|
-
"class": "v-autocomplete__unmask"
|
13281
|
-
}, [text.substr(matches + length)])]) : text;
|
13282
|
-
}
|
13283
13303
|
const makeVAutocompleteProps = propsFactory({
|
13284
13304
|
autoSelectFirst: {
|
13285
13305
|
type: [Boolean, String]
|
@@ -13651,7 +13671,7 @@ const VAutocomplete = genericComponent()({
|
|
13651
13671
|
}, null)]);
|
13652
13672
|
},
|
13653
13673
|
title: () => {
|
13654
|
-
return isPristine.value ? item.title : highlightResult
|
13674
|
+
return isPristine.value ? item.title : highlightResult('v-autocomplete', item.title, getMatches(item)?.title);
|
13655
13675
|
}
|
13656
13676
|
});
|
13657
13677
|
}
|
@@ -17144,17 +17164,6 @@ const VColorPicker = defineComponent({
|
|
17144
17164
|
|
17145
17165
|
// Types
|
17146
17166
|
|
17147
|
-
function highlightResult(text, matches, length) {
|
17148
|
-
if (matches == null) return text;
|
17149
|
-
if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');
|
17150
|
-
return typeof matches === 'number' && ~matches ? createVNode(Fragment, null, [createVNode("span", {
|
17151
|
-
"class": "v-combobox__unmask"
|
17152
|
-
}, [text.substr(0, matches)]), createVNode("span", {
|
17153
|
-
"class": "v-combobox__mask"
|
17154
|
-
}, [text.substr(matches, length)]), createVNode("span", {
|
17155
|
-
"class": "v-combobox__unmask"
|
17156
|
-
}, [text.substr(matches + length)])]) : text;
|
17157
|
-
}
|
17158
17167
|
const makeVComboboxProps = propsFactory({
|
17159
17168
|
autoSelectFirst: {
|
17160
17169
|
type: [Boolean, String]
|
@@ -17568,7 +17577,7 @@ const VCombobox = genericComponent()({
|
|
17568
17577
|
}, null)]);
|
17569
17578
|
},
|
17570
17579
|
title: () => {
|
17571
|
-
return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title
|
17580
|
+
return isPristine.value ? item.title : highlightResult('v-combobox', item.title, getMatches(item)?.title);
|
17572
17581
|
}
|
17573
17582
|
});
|
17574
17583
|
}
|
@@ -28517,7 +28526,7 @@ function createVuetify$1() {
|
|
28517
28526
|
};
|
28518
28527
|
});
|
28519
28528
|
}
|
28520
|
-
const version$1 = "3.7.15-dev.2025-03-
|
28529
|
+
const version$1 = "3.7.15-dev.2025-03-07";
|
28521
28530
|
createVuetify$1.version = version$1;
|
28522
28531
|
|
28523
28532
|
// Vue's inject() can only be used in setup
|
@@ -28542,7 +28551,7 @@ const createVuetify = function () {
|
|
28542
28551
|
...options
|
28543
28552
|
});
|
28544
28553
|
};
|
28545
|
-
const version = "3.7.15-dev.2025-03-
|
28554
|
+
const version = "3.7.15-dev.2025-03-07";
|
28546
28555
|
createVuetify.version = version;
|
28547
28556
|
|
28548
28557
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|