@vuetify/nightly 3.8.7-dev.2025-05-27 → 3.8.7-dev.2025-06-03

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.
Files changed (91) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +3213 -3189
  3. package/dist/json/importMap-labs.json +20 -20
  4. package/dist/json/importMap.json +176 -176
  5. package/dist/json/tags.json +6 -0
  6. package/dist/json/web-types.json +5962 -5902
  7. package/dist/vuetify-labs.cjs +52 -19
  8. package/dist/vuetify-labs.css +5727 -5721
  9. package/dist/vuetify-labs.d.ts +677 -402
  10. package/dist/vuetify-labs.esm.js +52 -19
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +52 -19
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +52 -19
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4233 -4227
  17. package/dist/vuetify.d.ts +621 -378
  18. package/dist/vuetify.esm.js +52 -19
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +52 -19
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +29 -24
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAppBar/VAppBar.d.ts +15 -3
  26. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  27. package/lib/components/VAutocomplete/VAutocomplete.d.ts +21 -7
  28. package/lib/components/VAutocomplete/VAutocomplete.js +2 -1
  29. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  30. package/lib/components/VBtn/VBtn.d.ts +20 -10
  31. package/lib/components/VCard/VCard.d.ts +20 -10
  32. package/lib/components/VCheckbox/VCheckbox.d.ts +20 -10
  33. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  34. package/lib/components/VChip/VChip.d.ts +20 -10
  35. package/lib/components/VCombobox/VCombobox.d.ts +21 -7
  36. package/lib/components/VCombobox/VCombobox.js +2 -1
  37. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  38. package/lib/components/VDataTable/VDataTable.d.ts +42 -0
  39. package/lib/components/VDataTable/VDataTableServer.d.ts +29 -0
  40. package/lib/components/VDataTable/VDataTableVirtual.d.ts +29 -0
  41. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  42. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  43. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  44. package/lib/components/VFab/VFab.d.ts +20 -10
  45. package/lib/components/VList/VList.d.ts +13 -0
  46. package/lib/components/VList/VList.js +4 -1
  47. package/lib/components/VList/VList.js.map +1 -1
  48. package/lib/components/VList/VListItem.d.ts +23 -10
  49. package/lib/components/VList/VListItem.js +7 -3
  50. package/lib/components/VList/VListItem.js.map +1 -1
  51. package/lib/components/VList/list.d.ts +9 -2
  52. package/lib/components/VList/list.js +7 -0
  53. package/lib/components/VList/list.js.map +1 -1
  54. package/lib/components/VRadio/VRadio.d.ts +20 -10
  55. package/lib/components/VRadioGroup/VRadioGroup.d.ts +20 -10
  56. package/lib/components/VSelect/VSelect.d.ts +33 -11
  57. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  58. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  59. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  60. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  61. package/lib/components/VSwitch/VSwitch.d.ts +20 -10
  62. package/lib/components/VTable/VTable.css +6 -0
  63. package/lib/components/VTable/VTable.d.ts +55 -24
  64. package/lib/components/VTable/VTable.js +9 -2
  65. package/lib/components/VTable/VTable.js.map +1 -1
  66. package/lib/components/VTable/VTable.sass +14 -0
  67. package/lib/components/VTable/_variables.scss +1 -0
  68. package/lib/components/VTabs/VTab.d.ts +56 -28
  69. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  70. package/lib/components/VToolbar/VToolbar.js +6 -3
  71. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  72. package/lib/composables/date/DateAdapter.d.ts +2 -2
  73. package/lib/composables/date/DateAdapter.js.map +1 -1
  74. package/lib/composables/date/adapters/string.d.ts +54 -0
  75. package/lib/composables/date/adapters/string.js +153 -0
  76. package/lib/composables/date/adapters/string.js.map +1 -0
  77. package/lib/composables/date/date.d.ts +2 -2
  78. package/lib/directives/ripple/index.d.ts +2 -1
  79. package/lib/directives/ripple/index.js +12 -7
  80. package/lib/directives/ripple/index.js.map +1 -1
  81. package/lib/entry-bundler.d.ts +2 -2
  82. package/lib/entry-bundler.js +1 -1
  83. package/lib/framework.d.ts +75 -65
  84. package/lib/framework.js +1 -1
  85. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  86. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  87. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  88. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  89. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  90. package/lib/labs/entry-bundler.d.ts +2 -2
  91. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VToolbar.js","names":["VToolbarTitle","VExpandTransition","VDefaultsProvider","VImg","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeElevationProps","useElevation","useRtl","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","shallowRef","convertToUnit","genericComponent","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","rtlClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","cover","src","VTabs","prepend","text","append"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VToolbarTitle } from './VToolbarTitle'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VImg } from '@/components/VImg'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: {\n type: Boolean,\n default: null,\n },\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'VToolbar')\n\nexport type VToolbarSlots = {\n default: never\n image: never\n prepend: never\n append: never\n title: never\n extension: never\n}\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n const { rtlClasses } = useRtl()\n\n const isExtended = shallowRef(props.extended === null ? !!(slots.extension?.()) : props.extended)\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = props.extended === null ? !!extension : props.extended\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n"],"mappings":"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","ignoreList":[]}
@@ -13,10 +13,10 @@ export interface DateAdapter<T = unknown> {
13
13
  startOfYear(date: T): T;
14
14
  endOfYear(date: T): T;
15
15
  isAfter(date: T, comparing: T): boolean;
16
- isAfterDay(value: T, comparing: T): boolean;
16
+ isAfterDay(date: T, comparing: T): boolean;
17
17
  isSameDay(date: T, comparing: T): boolean;
18
18
  isSameMonth(date: T, comparing: T): boolean;
19
- isSameYear(value: T, comparing: T): boolean;
19
+ isSameYear(date: T, comparing: T): boolean;
20
20
  isBefore(date: T, comparing: T): boolean;
21
21
  isEqual(date: T, comparing: T): boolean;
22
22
  isValid(date: any): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(value: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(value: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[]\n getWeek (date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getDate (date: T): number\n setDate (date: T, day: number): T\n getNextMonth (date: T): T\n getPreviousMonth(date: T): T\n\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"DateAdapter.js","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T, firstDayOfWeek?: number | string): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isAfter (date: T, comparing: T): boolean\n isAfterDay(date: T, comparing: T): boolean\n\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isSameYear(date: T, comparing: T): boolean\n\n isBefore (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T, firstDayOfWeek?: number | string): T[][]\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[]\n getWeek (date: T, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getDate (date: T): number\n setDate (date: T, day: number): T\n getNextMonth (date: T): T\n getPreviousMonth(date: T): T\n\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ import { VuetifyDateAdapter } from "./vuetify.js";
2
+ import type { DateAdapter } from "../index.js";
3
+ type CustomDateFormat = Intl.DateTimeFormatOptions | ((date: string, formatString: string, locale: string) => string);
4
+ export declare class StringDateAdapter implements DateAdapter<string> {
5
+ base: VuetifyDateAdapter;
6
+ constructor(options: {
7
+ locale: string;
8
+ formats?: Record<string, CustomDateFormat>;
9
+ });
10
+ addDays(date: string, amount: number): string;
11
+ addHours(date: string, amount: number): string;
12
+ addMinutes(date: string, amount: number): string;
13
+ addMonths(date: string, amount: number): string;
14
+ addWeeks(date: string, amount: number): string;
15
+ date(value?: any): string | null;
16
+ endOfDay(date: string): string;
17
+ endOfMonth(date: string): string;
18
+ endOfWeek(date: string): string;
19
+ endOfYear(date: string): string;
20
+ format(date: string, formatString: string): string;
21
+ getDate(date: string): number;
22
+ getDiff(date: string, comparing: string, unit?: string): number;
23
+ getHours(date: string): number;
24
+ getMinutes(date: string): number;
25
+ getMonth(date: string): number;
26
+ getWeek(date: string, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number;
27
+ getNextMonth(date: string): string;
28
+ getPreviousMonth(date: string): string;
29
+ getWeekArray(date: string, firstDayOfWeek?: number | string): string[][];
30
+ getWeekdays(firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[];
31
+ getYear(date: string): number;
32
+ isAfter(date: string, comparing: string): boolean;
33
+ isAfterDay(date: string, comparing: string): boolean;
34
+ isBefore(date: string, comparing: string): boolean;
35
+ isEqual(date: string, comparing: string): boolean;
36
+ isSameDay(date: string, comparing: string): boolean;
37
+ isSameMonth(date: string, comparing: string): boolean;
38
+ isSameYear(date: string, comparing: string): boolean;
39
+ isValid(date: any): boolean;
40
+ isWithinRange(date: string, range: [string, string]): boolean;
41
+ parseISO(date: string): string;
42
+ setDate(date: string, day: number): string;
43
+ setHours(date: string, hours: number): string;
44
+ setMinutes(date: string, minutes: number): string;
45
+ setMonth(date: string, month: number): string;
46
+ setYear(date: string, year: number): string;
47
+ startOfDay(date: string): string;
48
+ startOfMonth(date: string): string;
49
+ startOfWeek(date: string, firstDayOfWeek?: number | string): string;
50
+ startOfYear(date: string): string;
51
+ toISO(date: string): string;
52
+ toJsDate(value: string): Date;
53
+ }
54
+
@@ -0,0 +1,153 @@
1
+ // Composables
2
+ import { VuetifyDateAdapter } from "./vuetify.js"; // Types
3
+ export class StringDateAdapter {
4
+ constructor(options) {
5
+ var _this = this;
6
+ this.base = new VuetifyDateAdapter({
7
+ locale: options.locale,
8
+ formats: options.formats && Object.fromEntries(Object.entries(options.formats).map(_ref => {
9
+ let [k, v] = _ref;
10
+ return [k, typeof v === 'function' ? function (date) {
11
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
12
+ args[_key - 1] = arguments[_key];
13
+ }
14
+ return v(_this.base.toISO(date), ...args);
15
+ } : v];
16
+ }))
17
+ });
18
+ }
19
+ addDays(date, amount) {
20
+ return this.base.toISO(this.base.addDays(this.base.date(date), amount));
21
+ }
22
+ addHours(date, amount) {
23
+ return this.base.toISO(this.base.addHours(this.base.date(date), amount));
24
+ }
25
+ addMinutes(date, amount) {
26
+ return this.base.toISO(this.base.addMinutes(this.base.date(date), amount));
27
+ }
28
+ addMonths(date, amount) {
29
+ return this.base.toISO(this.base.addMonths(this.base.date(date), amount));
30
+ }
31
+ addWeeks(date, amount) {
32
+ return this.base.toISO(this.base.addWeeks(this.base.date(date), amount));
33
+ }
34
+ date(value) {
35
+ return this.base.toISO(this.base.date(value));
36
+ }
37
+ endOfDay(date) {
38
+ return this.base.toISO(this.base.endOfDay(this.base.date(date)));
39
+ }
40
+ endOfMonth(date) {
41
+ return this.base.toISO(this.base.endOfMonth(this.base.date(date)));
42
+ }
43
+ endOfWeek(date) {
44
+ return this.base.toISO(this.base.endOfWeek(this.base.date(date)));
45
+ }
46
+ endOfYear(date) {
47
+ return this.base.toISO(this.base.endOfYear(this.base.date(date)));
48
+ }
49
+ format(date, formatString) {
50
+ return this.base.format(this.base.date(date), formatString);
51
+ }
52
+ getDate(date) {
53
+ return this.base.getDate(this.base.date(date));
54
+ }
55
+ getDiff(date, comparing, unit) {
56
+ return this.base.getDiff(this.base.date(date), comparing, unit);
57
+ }
58
+ getHours(date) {
59
+ return this.base.getHours(this.base.date(date));
60
+ }
61
+ getMinutes(date) {
62
+ return this.base.getMinutes(this.base.date(date));
63
+ }
64
+ getMonth(date) {
65
+ return this.base.getMonth(this.base.date(date));
66
+ }
67
+ getWeek(date, firstDayOfWeek, firstWeekMinSize) {
68
+ return this.base.getWeek(this.base.date(date), firstDayOfWeek, firstWeekMinSize);
69
+ }
70
+ getNextMonth(date) {
71
+ return this.base.toISO(this.base.getNextMonth(this.base.date(date)));
72
+ }
73
+ getPreviousMonth(date) {
74
+ return this.base.toISO(this.base.getPreviousMonth(this.base.date(date)));
75
+ }
76
+ getWeekArray(date, firstDayOfWeek) {
77
+ return this.base.getWeekArray(this.base.date(date), firstDayOfWeek).map(week => {
78
+ return week.map(day => {
79
+ return this.base.toISO(day);
80
+ });
81
+ });
82
+ }
83
+ getWeekdays(firstDayOfWeek, weekdayFormat) {
84
+ return this.base.getWeekdays(firstDayOfWeek, weekdayFormat);
85
+ }
86
+ getYear(date) {
87
+ return this.base.getYear(this.base.date(date));
88
+ }
89
+ isAfter(date, comparing) {
90
+ return this.base.isAfter(this.base.date(date), this.base.date(comparing));
91
+ }
92
+ isAfterDay(date, comparing) {
93
+ return this.base.isAfterDay(this.base.date(date), this.base.date(comparing));
94
+ }
95
+ isBefore(date, comparing) {
96
+ return this.base.isBefore(this.base.date(date), this.base.date(comparing));
97
+ }
98
+ isEqual(date, comparing) {
99
+ return this.base.isEqual(this.base.date(date), this.base.date(comparing));
100
+ }
101
+ isSameDay(date, comparing) {
102
+ return this.base.isSameDay(this.base.date(date), this.base.date(comparing));
103
+ }
104
+ isSameMonth(date, comparing) {
105
+ return this.base.isSameMonth(this.base.date(date), this.base.date(comparing));
106
+ }
107
+ isSameYear(date, comparing) {
108
+ return this.base.isSameYear(this.base.date(date), this.base.date(comparing));
109
+ }
110
+ isValid(date) {
111
+ return this.base.isValid(date);
112
+ }
113
+ isWithinRange(date, range) {
114
+ return this.base.isWithinRange(this.base.date(date), [this.base.date(range[0]), this.base.date(range[1])]);
115
+ }
116
+ parseISO(date) {
117
+ return this.base.toISO(this.base.parseISO(date));
118
+ }
119
+ setDate(date, day) {
120
+ return this.base.toISO(this.base.setDate(this.base.date(date), day));
121
+ }
122
+ setHours(date, hours) {
123
+ return this.base.toISO(this.base.setHours(this.base.date(date), hours));
124
+ }
125
+ setMinutes(date, minutes) {
126
+ return this.base.toISO(this.base.setMinutes(this.base.date(date), minutes));
127
+ }
128
+ setMonth(date, month) {
129
+ return this.base.toISO(this.base.setMonth(this.base.date(date), month));
130
+ }
131
+ setYear(date, year) {
132
+ return this.base.toISO(this.base.setYear(this.base.date(date), year));
133
+ }
134
+ startOfDay(date) {
135
+ return this.base.toISO(this.base.startOfDay(this.base.date(date)));
136
+ }
137
+ startOfMonth(date) {
138
+ return this.base.toISO(this.base.startOfMonth(this.base.date(date)));
139
+ }
140
+ startOfWeek(date, firstDayOfWeek) {
141
+ return this.base.toISO(this.base.startOfWeek(this.base.date(date), firstDayOfWeek));
142
+ }
143
+ startOfYear(date) {
144
+ return this.base.toISO(this.base.startOfYear(this.base.date(date)));
145
+ }
146
+ toISO(date) {
147
+ return this.base.toISO(this.base.date(date));
148
+ }
149
+ toJsDate(value) {
150
+ return this.base.date(value);
151
+ }
152
+ }
153
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","names":["VuetifyDateAdapter","StringDateAdapter","constructor","options","_this","base","locale","formats","Object","fromEntries","entries","map","_ref","k","v","date","_len","arguments","length","args","Array","_key","toISO","addDays","amount","addHours","addMinutes","addMonths","addWeeks","value","endOfDay","endOfMonth","endOfWeek","endOfYear","format","formatString","getDate","getDiff","comparing","unit","getHours","getMinutes","getMonth","getWeek","firstDayOfWeek","firstWeekMinSize","getNextMonth","getPreviousMonth","getWeekArray","week","day","getWeekdays","weekdayFormat","getYear","isAfter","isAfterDay","isBefore","isEqual","isSameDay","isSameMonth","isSameYear","isValid","isWithinRange","range","parseISO","setDate","setHours","hours","setMinutes","minutes","setMonth","month","setYear","year","startOfDay","startOfMonth","startOfWeek","startOfYear","toJsDate"],"sources":["../../../../src/composables/date/adapters/string.ts"],"sourcesContent":["// Composables\nimport { VuetifyDateAdapter } from '@/composables/date/adapters/vuetify'\n\n// Types\nimport type { DateAdapter } from '@/composables/date'\n\ntype CustomDateFormat = Intl.DateTimeFormatOptions | ((date: string, formatString: string, locale: string) => string)\n\nexport class StringDateAdapter implements DateAdapter<string> {\n base: VuetifyDateAdapter\n\n constructor (options: { locale: string, formats?: Record<string, CustomDateFormat> }) {\n this.base = new VuetifyDateAdapter({\n locale: options.locale,\n formats: options.formats && Object.fromEntries(\n Object.entries(options.formats).map(([k, v]) => {\n return [\n k,\n typeof v === 'function'\n ? (date, ...args) => v(this.base.toISO(date), ...args)\n : v,\n ]\n })\n ),\n })\n }\n\n addDays (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addDays(this.base.date(date)!, amount)\n )\n }\n\n addHours (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addHours(this.base.date(date)!, amount)\n )\n }\n\n addMinutes (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMinutes(this.base.date(date)!, amount)\n )\n }\n\n addMonths (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addMonths(this.base.date(date)!, amount)\n )\n }\n\n addWeeks (date: string, amount: number): string {\n return this.base.toISO(\n this.base.addWeeks(this.base.date(date)!, amount)\n )\n }\n\n date (value?: any): string | null {\n return this.base.toISO(\n this.base.date(value)!\n )\n }\n\n endOfDay (date: string): string {\n return this.base.toISO(\n this.base.endOfDay(this.base.date(date)!)\n )\n }\n\n endOfMonth (date: string): string {\n return this.base.toISO(\n this.base.endOfMonth(this.base.date(date)!)\n )\n }\n\n endOfWeek (date: string): string {\n return this.base.toISO(\n this.base.endOfWeek(this.base.date(date)!)\n )\n }\n\n endOfYear (date: string): string {\n return this.base.toISO(\n this.base.endOfYear(this.base.date(date)!)\n )\n }\n\n format (date: string, formatString: string): string {\n return this.base.format(\n this.base.date(date)!,\n formatString\n )\n }\n\n getDate (date: string): number {\n return this.base.getDate(this.base.date(date)!)\n }\n\n getDiff (date: string, comparing: string, unit?: string): number {\n return this.base.getDiff(this.base.date(date)!, comparing, unit)\n }\n\n getHours (date: string): number {\n return this.base.getHours(this.base.date(date)!)\n }\n\n getMinutes (date: string): number {\n return this.base.getMinutes(this.base.date(date)!)\n }\n\n getMonth (date: string): number {\n return this.base.getMonth(this.base.date(date)!)\n }\n\n getWeek (date: string, firstDayOfWeek?: number | string, firstWeekMinSize?: number): number {\n return this.base.getWeek(this.base.date(date)!, firstDayOfWeek, firstWeekMinSize)\n }\n\n getNextMonth (date: string): string {\n return this.base.toISO(\n this.base.getNextMonth(this.base.date(date)!)\n )\n }\n\n getPreviousMonth (date: string): string {\n return this.base.toISO(\n this.base.getPreviousMonth(this.base.date(date)!)\n )\n }\n\n getWeekArray (date: string, firstDayOfWeek?: number | string): string[][] {\n return this.base.getWeekArray(\n this.base.date(date)!,\n firstDayOfWeek,\n ).map(week => {\n return week.map(day => {\n return this.base.toISO(day)\n })\n })\n }\n\n getWeekdays (firstDayOfWeek?: number | string, weekdayFormat?: 'long' | 'short' | 'narrow'): string[] {\n return this.base.getWeekdays(firstDayOfWeek, weekdayFormat)\n }\n\n getYear (date: string): number {\n return this.base.getYear(this.base.date(date)!)\n }\n\n isAfter (date: string, comparing: string): boolean {\n return this.base.isAfter(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isAfterDay (date: string, comparing: string): boolean {\n return this.base.isAfterDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isBefore (date: string, comparing: string): boolean {\n return this.base.isBefore(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isEqual (date: string, comparing: string): boolean {\n return this.base.isEqual(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameDay (date: string, comparing: string): boolean {\n return this.base.isSameDay(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameMonth (date: string, comparing: string): boolean {\n return this.base.isSameMonth(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isSameYear (date: string, comparing: string): boolean {\n return this.base.isSameYear(\n this.base.date(date)!,\n this.base.date(comparing)!,\n )\n }\n\n isValid (date: any): boolean {\n return this.base.isValid(date)\n }\n\n isWithinRange (date: string, range: [string, string]): boolean {\n return this.base.isWithinRange(\n this.base.date(date)!,\n [this.base.date(range[0])!, this.base.date(range[1])!],\n )\n }\n\n parseISO (date: string): string {\n return this.base.toISO(this.base.parseISO(date))\n }\n\n setDate (date: string, day: number): string {\n return this.base.toISO(\n this.base.setDate(this.base.date(date)!, day)\n )\n }\n\n setHours (date: string, hours: number): string {\n return this.base.toISO(\n this.base.setHours(this.base.date(date)!, hours)\n )\n }\n\n setMinutes (date: string, minutes: number): string {\n return this.base.toISO(\n this.base.setMinutes(this.base.date(date)!, minutes)\n )\n }\n\n setMonth (date: string, month: number): string {\n return this.base.toISO(\n this.base.setMonth(this.base.date(date)!, month)\n )\n }\n\n setYear (date: string, year: number): string {\n return this.base.toISO(\n this.base.setYear(this.base.date(date)!, year)\n )\n }\n\n startOfDay (date: string): string {\n return this.base.toISO(\n this.base.startOfDay(this.base.date(date)!)\n )\n }\n\n startOfMonth (date: string): string {\n return this.base.toISO(\n this.base.startOfMonth(this.base.date(date)!)\n )\n }\n\n startOfWeek (date: string, firstDayOfWeek?: number | string): string {\n return this.base.toISO(\n this.base.startOfWeek(this.base.date(date)!, firstDayOfWeek)\n )\n }\n\n startOfYear (date: string): string {\n return this.base.toISO(\n this.base.startOfYear(this.base.date(date)!)\n )\n }\n\n toISO (date: string): string {\n return this.base.toISO(\n this.base.date(date)!\n )\n }\n\n toJsDate (value: string): Date {\n return this.base.date(value)!\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -40,10 +40,10 @@ export declare function createDate(options: DateOptions | undefined, locale: Loc
40
40
  startOfYear: (date: unknown) => unknown;
41
41
  endOfYear: (date: unknown) => unknown;
42
42
  isAfter: (date: unknown, comparing: unknown) => boolean;
43
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
43
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
44
44
  isSameDay: (date: unknown, comparing: unknown) => boolean;
45
45
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
46
- isSameYear: (value: unknown, comparing: unknown) => boolean;
46
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
47
47
  isBefore: (date: unknown, comparing: unknown) => boolean;
48
48
  isEqual: (date: unknown, comparing: unknown) => boolean;
49
49
  isValid: (date: any) => boolean;
@@ -1,7 +1,8 @@
1
1
  import type { DirectiveBinding } from 'vue';
2
2
  export interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
3
3
  value?: boolean | {
4
- class: string;
4
+ class?: string;
5
+ keys?: number[];
5
6
  };
6
7
  modifiers: {
7
8
  center?: boolean;
@@ -189,8 +189,8 @@ function rippleCancelShow(e) {
189
189
  window.clearTimeout(element._ripple.showTimer);
190
190
  }
191
191
  let keyboardRipple = false;
192
- function keyboardRippleShow(e) {
193
- if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {
192
+ function keyboardRippleShow(e, keys) {
193
+ if (!keyboardRipple && keys.includes(e.keyCode)) {
194
194
  keyboardRipple = true;
195
195
  rippleShow(e);
196
196
  }
@@ -218,9 +218,12 @@ function updateRipple(el, binding, wasEnabled) {
218
218
  el._ripple.enabled = enabled;
219
219
  el._ripple.centered = modifiers.center;
220
220
  el._ripple.circle = modifiers.circle;
221
- if (isObject(value) && value.class) {
222
- el._ripple.class = value.class;
221
+ const bindingValue = isObject(value) ? value : {};
222
+ if (bindingValue.class) {
223
+ el._ripple.class = bindingValue.class;
223
224
  }
225
+ const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space];
226
+ el._ripple.keyDownHandler = e => keyboardRippleShow(e, allowedKeys);
224
227
  if (enabled && !wasEnabled) {
225
228
  if (modifiers.stop) {
226
229
  el.addEventListener('touchstart', rippleStop, {
@@ -242,7 +245,7 @@ function updateRipple(el, binding, wasEnabled) {
242
245
  el.addEventListener('mousedown', rippleShow);
243
246
  el.addEventListener('mouseup', rippleHide);
244
247
  el.addEventListener('mouseleave', rippleHide);
245
- el.addEventListener('keydown', keyboardRippleShow);
248
+ el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys));
246
249
  el.addEventListener('keyup', keyboardRippleHide);
247
250
  el.addEventListener('blur', focusRippleHide);
248
251
 
@@ -262,7 +265,9 @@ function removeListeners(el) {
262
265
  el.removeEventListener('touchcancel', rippleHide);
263
266
  el.removeEventListener('mouseup', rippleHide);
264
267
  el.removeEventListener('mouseleave', rippleHide);
265
- el.removeEventListener('keydown', keyboardRippleShow);
268
+ if (el._ripple?.keyDownHandler) {
269
+ el.removeEventListener('keydown', el._ripple.keyDownHandler);
270
+ }
266
271
  el.removeEventListener('keyup', keyboardRippleHide);
267
272
  el.removeEventListener('dragstart', rippleHide);
268
273
  el.removeEventListener('blur', focusRippleHide);
@@ -271,8 +276,8 @@ function mounted(el, binding) {
271
276
  updateRipple(el, binding, false);
272
277
  }
273
278
  function unmounted(el) {
274
- delete el._ripple;
275
279
  removeListeners(el);
280
+ delete el._ripple;
276
281
  }
277
282
  function updated(el, binding) {
278
283
  if (binding.value === binding.oldValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","arguments","length","undefined","localX","localY","offset","getBoundingClientRect","target","touches","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","requestAnimationFrame","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","setTimeout","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyCode","enter","space","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | { class: string }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n })\n })\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n if (isObject(value) && value.class) {\n el._ripple.class = value.class\n }\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["isObject","keyCodes","stopSymbol","Symbol","DELAY_RIPPLE","transform","el","value","style","webkitTransform","isTouchEvent","e","constructor","name","isKeyboardEvent","calculate","arguments","length","undefined","localX","localY","offset","getBoundingClientRect","target","touches","clientX","left","clientY","top","radius","scale","_ripple","circle","clientWidth","center","Math","sqrt","clientHeight","centerX","centerY","x","y","ripples","show","enabled","container","document","createElement","animation","appendChild","className","class","size","width","height","computed","window","getComputedStyle","position","dataset","previousPosition","classList","add","activated","String","performance","now","requestAnimationFrame","remove","hide","getElementsByClassName","isHiding","diff","Number","delay","max","setTimeout","parentNode","removeChild","isRippleEnabled","rippleShow","element","currentTarget","touched","isTouch","centered","showTimerCommit","showTimer","rippleStop","rippleHide","clearTimeout","type","rippleCancelShow","keyboardRipple","keyboardRippleShow","keys","includes","keyCode","keyboardRippleHide","focusRippleHide","updateRipple","binding","wasEnabled","modifiers","bindingValue","allowedKeys","enter","space","keyDownHandler","stop","addEventListener","passive","removeListeners","removeEventListener","mounted","unmounted","updated","oldValue","Ripple"],"sources":["../../../src/directives/ripple/index.ts"],"sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { isObject, keyCodes } from '@/util'\n\n// Types\nimport type { DirectiveBinding } from 'vue'\n\nconst stopSymbol = Symbol('rippleStop')\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { [stopSymbol]?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\ninterface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nexport interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?: boolean | {\n class?: string\n keys?: number[]\n }\n modifiers: {\n center?: boolean\n circle?: boolean\n stop?: boolean\n }\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple?.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el?._ripple?.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n })\n })\n },\n\n hide (el: HTMLElement | null) {\n if (!el?._ripple?.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any) {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleStop (e: VuetifyRippleEvent) {\n e[stopSymbol] = true\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element?._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element?._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent, keys: number[]) {\n if (!keyboardRipple && keys.includes(e.keyCode)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: RippleDirectiveBinding, wasEnabled: boolean) {\n const { value, modifiers } = binding\n\n const enabled = isRippleEnabled(value)\n if (!enabled) {\n ripples.hide(el)\n }\n\n el._ripple = el._ripple ?? {}\n el._ripple.enabled = enabled\n el._ripple.centered = modifiers.center\n el._ripple.circle = modifiers.circle\n\n const bindingValue = isObject(value) ? value : {}\n if (bindingValue.class) {\n el._ripple.class = bindingValue.class\n }\n\n const allowedKeys = bindingValue.keys ?? [keyCodes.enter, keyCodes.space]\n el._ripple.keyDownHandler = (e: KeyboardEvent) => keyboardRippleShow(e, allowedKeys)\n\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, { passive: true })\n el.addEventListener('mousedown', rippleStop)\n return\n }\n\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', e => keyboardRippleShow(e, allowedKeys))\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n if (el._ripple?.keyDownHandler) {\n el.removeEventListener('keydown', el._ripple.keyDownHandler)\n }\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction mounted (el: HTMLElement, binding: RippleDirectiveBinding) {\n updateRipple(el, binding, false)\n}\n\nfunction unmounted (el: HTMLElement) {\n removeListeners(el)\n delete el._ripple\n}\n\nfunction updated (el: HTMLElement, binding: RippleDirectiveBinding) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n mounted,\n unmounted,\n updated,\n}\n\nexport default Ripple\n"],"mappings":"AAAA;AACA;;AAEA;AAAA,SACSA,QAAQ,EAAEC,QAAQ,+BAE3B;AAGA,MAAMC,UAAU,GAAGC,MAAM,CAAC,YAAY,CAAC;AAIvC,MAAMC,YAAY,GAAG,EAAE;AAEvB,SAASC,SAASA,CAAEC,EAAe,EAAEC,KAAa,EAAE;EAClDD,EAAE,CAACE,KAAK,CAACH,SAAS,GAAGE,KAAK;EAC1BD,EAAE,CAACE,KAAK,CAACC,eAAe,GAAGF,KAAK;AAClC;AAoBA,SAASG,YAAYA,CAAEC,CAAqB,EAAmB;EAC7D,OAAOA,CAAC,CAACC,WAAW,CAACC,IAAI,KAAK,YAAY;AAC5C;AAEA,SAASC,eAAeA,CAAEH,CAAqB,EAAsB;EACnE,OAAOA,CAAC,CAACC,WAAW,CAACC,IAAI,KAAK,eAAe;AAC/C;AAEA,MAAME,SAAS,GAAG,SAAAA,CAChBJ,CAAqB,EACrBL,EAAe,EAEZ;EAAA,IADHC,KAAoB,GAAAS,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEzB,IAAIG,MAAM,GAAG,CAAC;EACd,IAAIC,MAAM,GAAG,CAAC;EAEd,IAAI,CAACN,eAAe,CAACH,CAAC,CAAC,EAAE;IACvB,MAAMU,MAAM,GAAGf,EAAE,CAACgB,qBAAqB,CAAC,CAAC;IACzC,MAAMC,MAAM,GAAGb,YAAY,CAACC,CAAC,CAAC,GAAGA,CAAC,CAACa,OAAO,CAACb,CAAC,CAACa,OAAO,CAACP,MAAM,GAAG,CAAC,CAAC,GAAGN,CAAC;IAEpEQ,MAAM,GAAGI,MAAM,CAACE,OAAO,GAAGJ,MAAM,CAACK,IAAI;IACrCN,MAAM,GAAGG,MAAM,CAACI,OAAO,GAAGN,MAAM,CAACO,GAAG;EACtC;EAEA,IAAIC,MAAM,GAAG,CAAC;EACd,IAAIC,KAAK,GAAG,GAAG;EACf,IAAIxB,EAAE,CAACyB,OAAO,EAAEC,MAAM,EAAE;IACtBF,KAAK,GAAG,IAAI;IACZD,MAAM,GAAGvB,EAAE,CAAC2B,WAAW,GAAG,CAAC;IAC3BJ,MAAM,GAAGtB,KAAK,CAAC2B,MAAM,GAAGL,MAAM,GAAGA,MAAM,GAAGM,IAAI,CAACC,IAAI,CAAC,CAACjB,MAAM,GAAGU,MAAM,KAAK,CAAC,GAAG,CAACT,MAAM,GAAGS,MAAM,KAAK,CAAC,CAAC,GAAG,CAAC;EAC1G,CAAC,MAAM;IACLA,MAAM,GAAGM,IAAI,CAACC,IAAI,CAAC9B,EAAE,CAAC2B,WAAW,IAAI,CAAC,GAAG3B,EAAE,CAAC+B,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;EACpE;EAEA,MAAMC,OAAO,GAAG,GAAG,CAAChC,EAAE,CAAC2B,WAAW,GAAIJ,MAAM,GAAG,CAAE,IAAI,CAAC,IAAI;EAC1D,MAAMU,OAAO,GAAG,GAAG,CAACjC,EAAE,CAAC+B,YAAY,GAAIR,MAAM,GAAG,CAAE,IAAI,CAAC,IAAI;EAE3D,MAAMW,CAAC,GAAGjC,KAAK,CAAC2B,MAAM,GAAGI,OAAO,GAAG,GAAGnB,MAAM,GAAGU,MAAM,IAAI;EACzD,MAAMY,CAAC,GAAGlC,KAAK,CAAC2B,MAAM,GAAGK,OAAO,GAAG,GAAGnB,MAAM,GAAGS,MAAM,IAAI;EAEzD,OAAO;IAAEA,MAAM;IAAEC,KAAK;IAAEU,CAAC;IAAEC,CAAC;IAAEH,OAAO;IAAEC;EAAQ,CAAC;AAClD,CAAC;AAED,MAAMG,OAAO,GAAG;EACd;EACAC,IAAIA,CACFhC,CAAqB,EACrBL,EAAe,EAEf;IAAA,IADAC,KAAoB,GAAAS,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAEzB,IAAI,CAACV,EAAE,EAAEyB,OAAO,EAAEa,OAAO,EAAE;MACzB;IACF;IAEA,MAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;IAChD,MAAMC,SAAS,GAAGF,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;IAEhDF,SAAS,CAACI,WAAW,CAACD,SAAS,CAAC;IAChCH,SAAS,CAACK,SAAS,GAAG,qBAAqB;IAE3C,IAAI3C,KAAK,CAAC4C,KAAK,EAAE;MACfN,SAAS,CAACK,SAAS,IAAI,IAAI3C,KAAK,CAAC4C,KAAK,EAAE;IAC1C;IAEA,MAAM;MAAEtB,MAAM;MAAEC,KAAK;MAAEU,CAAC;MAAEC,CAAC;MAAEH,OAAO;MAAEC;IAAQ,CAAC,GAAGxB,SAAS,CAACJ,CAAC,EAAEL,EAAE,EAAEC,KAAK,CAAC;IAEzE,MAAM6C,IAAI,GAAG,GAAGvB,MAAM,GAAG,CAAC,IAAI;IAC9BmB,SAAS,CAACE,SAAS,GAAG,qBAAqB;IAC3CF,SAAS,CAACxC,KAAK,CAAC6C,KAAK,GAAGD,IAAI;IAC5BJ,SAAS,CAACxC,KAAK,CAAC8C,MAAM,GAAGF,IAAI;IAE7B9C,EAAE,CAAC2C,WAAW,CAACJ,SAAS,CAAC;IAEzB,MAAMU,QAAQ,GAAGC,MAAM,CAACC,gBAAgB,CAACnD,EAAE,CAAC;IAC5C,IAAIiD,QAAQ,IAAIA,QAAQ,CAACG,QAAQ,KAAK,QAAQ,EAAE;MAC9CpD,EAAE,CAACE,KAAK,CAACkD,QAAQ,GAAG,UAAU;MAC9BpD,EAAE,CAACqD,OAAO,CAACC,gBAAgB,GAAG,QAAQ;IACxC;IAEAZ,SAAS,CAACa,SAAS,CAACC,GAAG,CAAC,4BAA4B,CAAC;IACrDd,SAAS,CAACa,SAAS,CAACC,GAAG,CAAC,8BAA8B,CAAC;IACvDzD,SAAS,CAAC2C,SAAS,EAAE,aAAaR,CAAC,KAAKC,CAAC,aAAaX,KAAK,IAAIA,KAAK,IAAIA,KAAK,GAAG,CAAC;IACjFkB,SAAS,CAACW,OAAO,CAACI,SAAS,GAAGC,MAAM,CAACC,WAAW,CAACC,GAAG,CAAC,CAAC,CAAC;IAEvDC,qBAAqB,CAAC,MAAM;MAC1BA,qBAAqB,CAAC,MAAM;QAC1BnB,SAAS,CAACa,SAAS,CAACO,MAAM,CAAC,4BAA4B,CAAC;QACxDpB,SAAS,CAACa,SAAS,CAACC,GAAG,CAAC,yBAAyB,CAAC;QAClDzD,SAAS,CAAC2C,SAAS,EAAE,aAAaV,OAAO,KAAKC,OAAO,kBAAkB,CAAC;MAC1E,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EAED8B,IAAIA,CAAE/D,EAAsB,EAAE;IAC5B,IAAI,CAACA,EAAE,EAAEyB,OAAO,EAAEa,OAAO,EAAE;IAE3B,MAAMF,OAAO,GAAGpC,EAAE,CAACgE,sBAAsB,CAAC,qBAAqB,CAAC;IAEhE,IAAI5B,OAAO,CAACzB,MAAM,KAAK,CAAC,EAAE;IAC1B,MAAM+B,SAAS,GAAGN,OAAO,CAACA,OAAO,CAACzB,MAAM,GAAG,CAAC,CAAC;IAE7C,IAAI+B,SAAS,CAACW,OAAO,CAACY,QAAQ,EAAE,OAAM,KACjCvB,SAAS,CAACW,OAAO,CAACY,QAAQ,GAAG,MAAM;IAExC,MAAMC,IAAI,GAAGP,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGO,MAAM,CAACzB,SAAS,CAACW,OAAO,CAACI,SAAS,CAAC;IACpE,MAAMW,KAAK,GAAGvC,IAAI,CAACwC,GAAG,CAAC,GAAG,GAAGH,IAAI,EAAE,CAAC,CAAC;IAErCI,UAAU,CAAC,MAAM;MACf5B,SAAS,CAACa,SAAS,CAACO,MAAM,CAAC,yBAAyB,CAAC;MACrDpB,SAAS,CAACa,SAAS,CAACC,GAAG,CAAC,0BAA0B,CAAC;MAEnDc,UAAU,CAAC,MAAM;QACf,MAAMlC,OAAO,GAAGpC,EAAE,CAACgE,sBAAsB,CAAC,qBAAqB,CAAC;QAChE,IAAI5B,OAAO,CAACzB,MAAM,KAAK,CAAC,IAAIX,EAAE,CAACqD,OAAO,CAACC,gBAAgB,EAAE;UACvDtD,EAAE,CAACE,KAAK,CAACkD,QAAQ,GAAGpD,EAAE,CAACqD,OAAO,CAACC,gBAAgB;UAC/C,OAAOtD,EAAE,CAACqD,OAAO,CAACC,gBAAgB;QACpC;QAEA,IAAIZ,SAAS,CAAC6B,UAAU,EAAEA,UAAU,KAAKvE,EAAE,EAAEA,EAAE,CAACwE,WAAW,CAAC9B,SAAS,CAAC6B,UAAU,CAAC;MACnF,CAAC,EAAE,GAAG,CAAC;IACT,CAAC,EAAEH,KAAK,CAAC;EACX;AACF,CAAC;AAED,SAASK,eAAeA,CAAExE,KAAU,EAAE;EACpC,OAAO,OAAOA,KAAK,KAAK,WAAW,IAAI,CAAC,CAACA,KAAK;AAChD;AAEA,SAASyE,UAAUA,CAAErE,CAAqB,EAAE;EAC1C,MAAMJ,KAAoB,GAAG,CAAC,CAAC;EAC/B,MAAM0E,OAAO,GAAGtE,CAAC,CAACuE,aAAwC;EAE1D,IAAI,CAACD,OAAO,EAAElD,OAAO,IAAIkD,OAAO,CAAClD,OAAO,CAACoD,OAAO,IAAIxE,CAAC,CAACT,UAAU,CAAC,EAAE;;EAEnE;EACAS,CAAC,CAACT,UAAU,CAAC,GAAG,IAAI;EAEpB,IAAIQ,YAAY,CAACC,CAAC,CAAC,EAAE;IACnBsE,OAAO,CAAClD,OAAO,CAACoD,OAAO,GAAG,IAAI;IAC9BF,OAAO,CAAClD,OAAO,CAACqD,OAAO,GAAG,IAAI;EAChC,CAAC,MAAM;IACL;IACA;IACA;IACA;IACA,IAAIH,OAAO,CAAClD,OAAO,CAACqD,OAAO,EAAE;EAC/B;EAEA7E,KAAK,CAAC2B,MAAM,GAAG+C,OAAO,CAAClD,OAAO,CAACsD,QAAQ,IAAIvE,eAAe,CAACH,CAAC,CAAC;EAC7D,IAAIsE,OAAO,CAAClD,OAAO,CAACoB,KAAK,EAAE;IACzB5C,KAAK,CAAC4C,KAAK,GAAG8B,OAAO,CAAClD,OAAO,CAACoB,KAAK;EACrC;EAEA,IAAIzC,YAAY,CAACC,CAAC,CAAC,EAAE;IACnB;IACA,IAAIsE,OAAO,CAAClD,OAAO,CAACuD,eAAe,EAAE;IAErCL,OAAO,CAAClD,OAAO,CAACuD,eAAe,GAAG,MAAM;MACtC5C,OAAO,CAACC,IAAI,CAAChC,CAAC,EAAEsE,OAAO,EAAE1E,KAAK,CAAC;IACjC,CAAC;IACD0E,OAAO,CAAClD,OAAO,CAACwD,SAAS,GAAG/B,MAAM,CAACoB,UAAU,CAAC,MAAM;MAClD,IAAIK,OAAO,EAAElD,OAAO,EAAEuD,eAAe,EAAE;QACrCL,OAAO,CAAClD,OAAO,CAACuD,eAAe,CAAC,CAAC;QACjCL,OAAO,CAAClD,OAAO,CAACuD,eAAe,GAAG,IAAI;MACxC;IACF,CAAC,EAAElF,YAAY,CAAC;EAClB,CAAC,MAAM;IACLsC,OAAO,CAACC,IAAI,CAAChC,CAAC,EAAEsE,OAAO,EAAE1E,KAAK,CAAC;EACjC;AACF;AAEA,SAASiF,UAAUA,CAAE7E,CAAqB,EAAE;EAC1CA,CAAC,CAACT,UAAU,CAAC,GAAG,IAAI;AACtB;AAEA,SAASuF,UAAUA,CAAE9E,CAAQ,EAAE;EAC7B,MAAMsE,OAAO,GAAGtE,CAAC,CAACuE,aAAmC;EACrD,IAAI,CAACD,OAAO,EAAElD,OAAO,EAAE;EAEvByB,MAAM,CAACkC,YAAY,CAACT,OAAO,CAAClD,OAAO,CAACwD,SAAS,CAAC;;EAE9C;EACA;EACA,IAAI5E,CAAC,CAACgF,IAAI,KAAK,UAAU,IAAIV,OAAO,CAAClD,OAAO,CAACuD,eAAe,EAAE;IAC5DL,OAAO,CAAClD,OAAO,CAACuD,eAAe,CAAC,CAAC;IACjCL,OAAO,CAAClD,OAAO,CAACuD,eAAe,GAAG,IAAI;;IAEtC;IACAL,OAAO,CAAClD,OAAO,CAACwD,SAAS,GAAG/B,MAAM,CAACoB,UAAU,CAAC,MAAM;MAClDa,UAAU,CAAC9E,CAAC,CAAC;IACf,CAAC,CAAC;IACF;EACF;EAEA6C,MAAM,CAACoB,UAAU,CAAC,MAAM;IACtB,IAAIK,OAAO,CAAClD,OAAO,EAAE;MACnBkD,OAAO,CAAClD,OAAO,CAACoD,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,CAAC;EACFzC,OAAO,CAAC2B,IAAI,CAACY,OAAO,CAAC;AACvB;AAEA,SAASW,gBAAgBA,CAAEjF,CAA0B,EAAE;EACrD,MAAMsE,OAAO,GAAGtE,CAAC,CAACuE,aAAwC;EAE1D,IAAI,CAACD,OAAO,EAAElD,OAAO,EAAE;EAEvB,IAAIkD,OAAO,CAAClD,OAAO,CAACuD,eAAe,EAAE;IACnCL,OAAO,CAAClD,OAAO,CAACuD,eAAe,GAAG,IAAI;EACxC;EAEA9B,MAAM,CAACkC,YAAY,CAACT,OAAO,CAAClD,OAAO,CAACwD,SAAS,CAAC;AAChD;AAEA,IAAIM,cAAc,GAAG,KAAK;AAE1B,SAASC,kBAAkBA,CAAEnF,CAAgB,EAAEoF,IAAc,EAAE;EAC7D,IAAI,CAACF,cAAc,IAAIE,IAAI,CAACC,QAAQ,CAACrF,CAAC,CAACsF,OAAO,CAAC,EAAE;IAC/CJ,cAAc,GAAG,IAAI;IACrBb,UAAU,CAACrE,CAAC,CAAC;EACf;AACF;AAEA,SAASuF,kBAAkBA,CAAEvF,CAAgB,EAAE;EAC7CkF,cAAc,GAAG,KAAK;EACtBJ,UAAU,CAAC9E,CAAC,CAAC;AACf;AAEA,SAASwF,eAAeA,CAAExF,CAAa,EAAE;EACvC,IAAIkF,cAAc,EAAE;IAClBA,cAAc,GAAG,KAAK;IACtBJ,UAAU,CAAC9E,CAAC,CAAC;EACf;AACF;AAEA,SAASyF,YAAYA,CAAE9F,EAAe,EAAE+F,OAA+B,EAAEC,UAAmB,EAAE;EAC5F,MAAM;IAAE/F,KAAK;IAAEgG;EAAU,CAAC,GAAGF,OAAO;EAEpC,MAAMzD,OAAO,GAAGmC,eAAe,CAACxE,KAAK,CAAC;EACtC,IAAI,CAACqC,OAAO,EAAE;IACZF,OAAO,CAAC2B,IAAI,CAAC/D,EAAE,CAAC;EAClB;EAEAA,EAAE,CAACyB,OAAO,GAAGzB,EAAE,CAACyB,OAAO,IAAI,CAAC,CAAC;EAC7BzB,EAAE,CAACyB,OAAO,CAACa,OAAO,GAAGA,OAAO;EAC5BtC,EAAE,CAACyB,OAAO,CAACsD,QAAQ,GAAGkB,SAAS,CAACrE,MAAM;EACtC5B,EAAE,CAACyB,OAAO,CAACC,MAAM,GAAGuE,SAAS,CAACvE,MAAM;EAEpC,MAAMwE,YAAY,GAAGxG,QAAQ,CAACO,KAAK,CAAC,GAAGA,KAAK,GAAG,CAAC,CAAC;EACjD,IAAIiG,YAAY,CAACrD,KAAK,EAAE;IACtB7C,EAAE,CAACyB,OAAO,CAACoB,KAAK,GAAGqD,YAAY,CAACrD,KAAK;EACvC;EAEA,MAAMsD,WAAW,GAAGD,YAAY,CAACT,IAAI,IAAI,CAAC9F,QAAQ,CAACyG,KAAK,EAAEzG,QAAQ,CAAC0G,KAAK,CAAC;EACzErG,EAAE,CAACyB,OAAO,CAAC6E,cAAc,GAAIjG,CAAgB,IAAKmF,kBAAkB,CAACnF,CAAC,EAAE8F,WAAW,CAAC;EAEpF,IAAI7D,OAAO,IAAI,CAAC0D,UAAU,EAAE;IAC1B,IAAIC,SAAS,CAACM,IAAI,EAAE;MAClBvG,EAAE,CAACwG,gBAAgB,CAAC,YAAY,EAAEtB,UAAU,EAAE;QAAEuB,OAAO,EAAE;MAAK,CAAC,CAAC;MAChEzG,EAAE,CAACwG,gBAAgB,CAAC,WAAW,EAAEtB,UAAU,CAAC;MAC5C;IACF;IAEAlF,EAAE,CAACwG,gBAAgB,CAAC,YAAY,EAAE9B,UAAU,EAAE;MAAE+B,OAAO,EAAE;IAAK,CAAC,CAAC;IAChEzG,EAAE,CAACwG,gBAAgB,CAAC,UAAU,EAAErB,UAAU,EAAE;MAAEsB,OAAO,EAAE;IAAK,CAAC,CAAC;IAC9DzG,EAAE,CAACwG,gBAAgB,CAAC,WAAW,EAAElB,gBAAgB,EAAE;MAAEmB,OAAO,EAAE;IAAK,CAAC,CAAC;IACrEzG,EAAE,CAACwG,gBAAgB,CAAC,aAAa,EAAErB,UAAU,CAAC;IAE9CnF,EAAE,CAACwG,gBAAgB,CAAC,WAAW,EAAE9B,UAAU,CAAC;IAC5C1E,EAAE,CAACwG,gBAAgB,CAAC,SAAS,EAAErB,UAAU,CAAC;IAC1CnF,EAAE,CAACwG,gBAAgB,CAAC,YAAY,EAAErB,UAAU,CAAC;IAE7CnF,EAAE,CAACwG,gBAAgB,CAAC,SAAS,EAAEnG,CAAC,IAAImF,kBAAkB,CAACnF,CAAC,EAAE8F,WAAW,CAAC,CAAC;IACvEnG,EAAE,CAACwG,gBAAgB,CAAC,OAAO,EAAEZ,kBAAkB,CAAC;IAEhD5F,EAAE,CAACwG,gBAAgB,CAAC,MAAM,EAAEX,eAAe,CAAC;;IAE5C;IACA7F,EAAE,CAACwG,gBAAgB,CAAC,WAAW,EAAErB,UAAU,EAAE;MAAEsB,OAAO,EAAE;IAAK,CAAC,CAAC;EACjE,CAAC,MAAM,IAAI,CAACnE,OAAO,IAAI0D,UAAU,EAAE;IACjCU,eAAe,CAAC1G,EAAE,CAAC;EACrB;AACF;AAEA,SAAS0G,eAAeA,CAAE1G,EAAe,EAAE;EACzCA,EAAE,CAAC2G,mBAAmB,CAAC,WAAW,EAAEjC,UAAU,CAAC;EAC/C1E,EAAE,CAAC2G,mBAAmB,CAAC,YAAY,EAAEjC,UAAU,CAAC;EAChD1E,EAAE,CAAC2G,mBAAmB,CAAC,UAAU,EAAExB,UAAU,CAAC;EAC9CnF,EAAE,CAAC2G,mBAAmB,CAAC,WAAW,EAAErB,gBAAgB,CAAC;EACrDtF,EAAE,CAAC2G,mBAAmB,CAAC,aAAa,EAAExB,UAAU,CAAC;EACjDnF,EAAE,CAAC2G,mBAAmB,CAAC,SAAS,EAAExB,UAAU,CAAC;EAC7CnF,EAAE,CAAC2G,mBAAmB,CAAC,YAAY,EAAExB,UAAU,CAAC;EAChD,IAAInF,EAAE,CAACyB,OAAO,EAAE6E,cAAc,EAAE;IAC9BtG,EAAE,CAAC2G,mBAAmB,CAAC,SAAS,EAAE3G,EAAE,CAACyB,OAAO,CAAC6E,cAAc,CAAC;EAC9D;EACAtG,EAAE,CAAC2G,mBAAmB,CAAC,OAAO,EAAEf,kBAAkB,CAAC;EACnD5F,EAAE,CAAC2G,mBAAmB,CAAC,WAAW,EAAExB,UAAU,CAAC;EAC/CnF,EAAE,CAAC2G,mBAAmB,CAAC,MAAM,EAAEd,eAAe,CAAC;AACjD;AAEA,SAASe,OAAOA,CAAE5G,EAAe,EAAE+F,OAA+B,EAAE;EAClED,YAAY,CAAC9F,EAAE,EAAE+F,OAAO,EAAE,KAAK,CAAC;AAClC;AAEA,SAASc,SAASA,CAAE7G,EAAe,EAAE;EACnC0G,eAAe,CAAC1G,EAAE,CAAC;EACnB,OAAOA,EAAE,CAACyB,OAAO;AACnB;AAEA,SAASqF,OAAOA,CAAE9G,EAAe,EAAE+F,OAA+B,EAAE;EAClE,IAAIA,OAAO,CAAC9F,KAAK,KAAK8F,OAAO,CAACgB,QAAQ,EAAE;IACtC;EACF;EAEA,MAAMf,UAAU,GAAGvB,eAAe,CAACsB,OAAO,CAACgB,QAAQ,CAAC;EACpDjB,YAAY,CAAC9F,EAAE,EAAE+F,OAAO,EAAEC,UAAU,CAAC;AACvC;AAEA,OAAO,MAAMgB,MAAM,GAAG;EACpBJ,OAAO;EACPC,SAAS;EACTC;AACF,CAAC;AAED,eAAeE,MAAM","ignoreList":[]}
@@ -42,10 +42,10 @@ export declare const createVuetify: {
42
42
  startOfYear: (date: unknown) => unknown;
43
43
  endOfYear: (date: unknown) => unknown;
44
44
  isAfter: (date: unknown, comparing: unknown) => boolean;
45
- isAfterDay: (value: unknown, comparing: unknown) => boolean;
45
+ isAfterDay: (date: unknown, comparing: unknown) => boolean;
46
46
  isSameDay: (date: unknown, comparing: unknown) => boolean;
47
47
  isSameMonth: (date: unknown, comparing: unknown) => boolean;
48
- isSameYear: (value: unknown, comparing: unknown) => boolean;
48
+ isSameYear: (date: unknown, comparing: unknown) => boolean;
49
49
  isBefore: (date: unknown, comparing: unknown) => boolean;
50
50
  isEqual: (date: unknown, comparing: unknown) => boolean;
51
51
  isValid: (date: any) => boolean;
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.7-dev.2025-05-27";
19
+ export const version = "3.8.7-dev.2025-06-03";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";