Skip to content

Commit 1a98d03

Browse files
mueller-jensJens MüllerJ-Sekjohnleider
authored
feat(date): export VuetifyDateAdapter (#21252)
resolves #19904 Co-authored-by: Jens Müller <[email protected]> Co-authored-by: J-Sek <[email protected]> Co-authored-by: John Leider <[email protected]>
1 parent 385f7de commit 1a98d03

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

packages/docs/src/pages/en/features/dates.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,3 +338,35 @@ export interface DateAdapter<TDate> {
338338
getNextMonth (date: TDate): TDate
339339
}
340340
```
341+
342+
## Inheritance
343+
344+
You can also extend and override build-in DateAdapter using class inheritance:
345+
346+
```ts
347+
import { VuetifyDateAdapter } from 'vuetify/date/adapters/vuetify'
348+
349+
export class MyAdapter extends VuetifyDateAdapter {
350+
sayHello () {
351+
return `Hello, current week starts at ${this.startOfWeek(this.date())}`
352+
}
353+
override startOfWeek (date: Date, firstDayOfWeek?: string | number): Date {
354+
return super.startOfWeek(date, 2) // forcing Tuesday
355+
}
356+
}
357+
```
358+
359+
```ts { resource="src/plugins/vuetify.js" }
360+
export default createVuetify({
361+
date: {
362+
adapter: MyAdapter,
363+
},
364+
...
365+
})
366+
367+
declare module 'vuetify' {
368+
namespace DateModule {
369+
interface Adapter extends MyAdapter {}
370+
}
371+
}
372+
```

packages/vuetify/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
"./labs/components": "./lib/labs/components.js",
7777
"./labs/*": "./lib/labs/*/index.js",
7878
"./util/colors": "./lib/util/colors.js",
79+
"./date/adapters/*": "./lib/composables/date/adapters/*.js",
7980
"./util/transitions": "./lib/components/transitions/createTransition.js",
8081
"./dist/vuetify.js": {
8182
"types": "./dist/vuetify.d.ts",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
export { createDate, useDate, DateAdapterSymbol } from './date'
22
export type { DateAdapter } from './DateAdapter'
33
export type { DateOptions, DateInstance, DateModule } from './date'
4+
export { VuetifyDateAdapter } from './adapters/vuetify'

0 commit comments

Comments
 (0)