vuetify 3.4.0 → 3.4.2

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 (135) hide show
  1. package/dist/json/attributes.json +1860 -1856
  2. package/dist/json/importMap.json +140 -140
  3. package/dist/json/tags.json +1 -0
  4. package/dist/json/web-types.json +3641 -3631
  5. package/dist/vuetify-labs.css +1393 -1386
  6. package/dist/vuetify-labs.d.ts +1936 -9147
  7. package/dist/vuetify-labs.esm.js +91 -79
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +91 -79
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +940 -933
  12. package/dist/vuetify.d.ts +2081 -9282
  13. package/dist/vuetify.esm.js +91 -79
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +91 -79
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +67 -66
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/index.d.mts +0 -2
  21. package/lib/blueprints/md1.d.mts +0 -2
  22. package/lib/blueprints/md2.d.mts +0 -2
  23. package/lib/blueprints/md3.d.mts +0 -2
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -3
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/index.d.mts +74 -98
  27. package/lib/components/VBottomNavigation/VBottomNavigation.mjs +1 -1
  28. package/lib/components/VBottomNavigation/VBottomNavigation.mjs.map +1 -1
  29. package/lib/components/VBottomNavigation/index.d.mts +44 -69
  30. package/lib/components/VBtn/VBtn.mjs +1 -1
  31. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  32. package/lib/components/VBtn/index.d.mts +11 -11
  33. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  34. package/lib/components/VBtnToggle/index.d.mts +45 -71
  35. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  36. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  37. package/lib/components/VCarousel/index.d.mts +73 -513
  38. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  39. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  40. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  41. package/lib/components/VCheckbox/index.d.mts +100 -482
  42. package/lib/components/VChip/index.d.mts +15 -18
  43. package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
  44. package/lib/components/VChipGroup/index.d.mts +49 -189
  45. package/lib/components/VCombobox/VCombobox.mjs +3 -3
  46. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  47. package/lib/components/VCombobox/index.d.mts +74 -98
  48. package/lib/components/VDataIterator/index.d.mts +8 -6
  49. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  50. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  51. package/lib/components/VDataTable/VDataTableRows.mjs.map +1 -1
  52. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  53. package/lib/components/VDataTable/VDataTableVirtual.mjs +2 -1
  54. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  55. package/lib/components/VDataTable/composables/items.mjs.map +1 -1
  56. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  57. package/lib/components/VDataTable/composables/select.mjs.map +1 -1
  58. package/lib/components/VDataTable/index.d.mts +411 -4142
  59. package/lib/components/VDataTable/types.mjs.map +1 -1
  60. package/lib/components/VDatePicker/VDatePicker.css +4 -0
  61. package/lib/components/VDatePicker/VDatePicker.mjs +29 -22
  62. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  63. package/lib/components/VDatePicker/VDatePicker.sass +4 -0
  64. package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -1
  65. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  66. package/lib/components/VDatePicker/VDatePickerYears.mjs +1 -1
  67. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  68. package/lib/components/VDatePicker/index.d.mts +32 -36
  69. package/lib/components/VDialog/VDialog.css +4 -1
  70. package/lib/components/VDialog/VDialog.sass +4 -3
  71. package/lib/components/VField/VField.mjs +1 -1
  72. package/lib/components/VField/VField.mjs.map +1 -1
  73. package/lib/components/VField/index.d.mts +33 -41
  74. package/lib/components/VFileInput/index.d.mts +144 -385
  75. package/lib/components/VImg/VImg.mjs +10 -2
  76. package/lib/components/VImg/VImg.mjs.map +1 -1
  77. package/lib/components/VInput/VInput.mjs +1 -1
  78. package/lib/components/VInput/VInput.mjs.map +1 -1
  79. package/lib/components/VInput/index.d.mts +72 -154
  80. package/lib/components/VItemGroup/VItemGroup.mjs +1 -1
  81. package/lib/components/VItemGroup/VItemGroup.mjs.map +1 -1
  82. package/lib/components/VItemGroup/index.d.mts +49 -189
  83. package/lib/components/VList/VList.mjs +2 -2
  84. package/lib/components/VList/VList.mjs.map +1 -1
  85. package/lib/components/VList/index.d.mts +58 -95
  86. package/lib/components/VOtpInput/index.d.mts +8 -11
  87. package/lib/components/VRadio/index.d.mts +1 -1
  88. package/lib/components/VRadioGroup/VRadioGroup.mjs +1 -1
  89. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  90. package/lib/components/VRadioGroup/index.d.mts +77 -211
  91. package/lib/components/VRangeSlider/index.d.mts +22 -25
  92. package/lib/components/VSelect/VSelect.mjs +2 -2
  93. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  94. package/lib/components/VSelect/index.d.mts +67 -91
  95. package/lib/components/VSelectionControl/VSelectionControl.mjs +2 -2
  96. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  97. package/lib/components/VSelectionControl/index.d.mts +9 -18
  98. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs +1 -1
  99. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs.map +1 -1
  100. package/lib/components/VSelectionControlGroup/index.d.mts +46 -68
  101. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  102. package/lib/components/VSlideGroup/index.d.mts +47 -101
  103. package/lib/components/VSlider/index.d.mts +22 -25
  104. package/lib/components/VSwitch/VSwitch.mjs +7 -5
  105. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  106. package/lib/components/VSwitch/index.d.mts +90 -303
  107. package/lib/components/VTextField/index.d.mts +173 -451
  108. package/lib/components/VTextarea/index.d.mts +144 -385
  109. package/lib/components/VValidation/VValidation.mjs +2 -2
  110. package/lib/components/VValidation/VValidation.mjs.map +1 -1
  111. package/lib/components/VValidation/index.d.mts +88 -359
  112. package/lib/components/VWindow/VWindow.mjs +1 -1
  113. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  114. package/lib/components/VWindow/index.d.mts +58 -245
  115. package/lib/components/index.d.mts +1933 -9130
  116. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  117. package/lib/composables/date/adapters/vuetify.mjs +1 -13
  118. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  119. package/lib/composables/date/date.mjs +1 -1
  120. package/lib/composables/date/date.mjs.map +1 -1
  121. package/lib/composables/form.mjs.map +1 -1
  122. package/lib/composables/group.mjs.map +1 -1
  123. package/lib/composables/nested/nested.mjs.map +1 -1
  124. package/lib/composables/proxiedModel.mjs.map +1 -1
  125. package/lib/composables/validation.mjs.map +1 -1
  126. package/lib/composables/virtual.mjs +11 -13
  127. package/lib/composables/virtual.mjs.map +1 -1
  128. package/lib/entry-bundler.mjs +1 -1
  129. package/lib/framework.mjs +1 -1
  130. package/lib/index.d.mts +40 -44
  131. package/lib/labs/VConfirmEdit/index.d.mts +0 -10
  132. package/lib/labs/components.d.mts +0 -10
  133. package/lib/util/defineComponent.mjs.map +1 -1
  134. package/lib/util/helpers.mjs.map +1 -1
  135. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
1
  // Composables
2
2
  import { makeValidationProps, useValidation } from "../../composables/validation.mjs"; // Utilities
3
- import { genericComponent } from "../../util/index.mjs";
3
+ import { genericComponent } from "../../util/index.mjs"; // Types
4
4
  export const VValidation = genericComponent()({
5
5
  name: 'VValidation',
6
6
  props: makeValidationProps(),
7
7
  emits: {
8
- 'update:modelValue': val => true
8
+ 'update:modelValue': value => true
9
9
  },
10
10
  setup(props, _ref) {
11
11
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"VValidation.mjs","names":["makeValidationProps","useValidation","genericComponent","VValidation","name","props","emits","val","setup","_ref","slots","validation","default"],"sources":["../../../src/components/VValidation/VValidation.tsx"],"sourcesContent":["// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport type VValidationSlots = {\n default: ReturnType<typeof useValidation>\n}\n\nexport const VValidation = genericComponent<VValidationSlots>()({\n name: 'VValidation',\n\n props: makeValidationProps(),\n\n emits: {\n 'update:modelValue': (val: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n\nexport type VValidation = InstanceType<typeof VValidation>\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB,EAAEC,aAAa,4CAE3C;AAAA,SACSC,gBAAgB;AAMzB,OAAO,MAAMC,WAAW,GAAGD,gBAAgB,EAAoB,CAAC;EAC9DE,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,mBAAmB,EAAE;EAE5BM,KAAK,EAAE;IACL,mBAAmB,EAAGC,GAAQ,IAAK;EACrC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGV,aAAa,CAACI,KAAK,EAAE,YAAY,CAAC;IAErD,OAAO,MAAMK,KAAK,CAACE,OAAO,GAAGD,UAAU,CAAC;EAC1C;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VValidation.mjs","names":["makeValidationProps","useValidation","genericComponent","VValidation","name","props","emits","value","setup","_ref","slots","validation","default"],"sources":["../../../src/components/VValidation/VValidation.tsx"],"sourcesContent":["// Composables\nimport { makeValidationProps, useValidation } from '@/composables/validation'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nexport type VValidationSlots = {\n default: ReturnType<typeof useValidation>\n}\n\nexport const VValidation = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VValidationSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VValidation',\n\n props: makeValidationProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const validation = useValidation(props, 'validation')\n\n return () => slots.default?.(validation)\n },\n})\n\nexport type VValidation = InstanceType<typeof VValidation>\n"],"mappings":"AAAA;AAAA,SACSA,mBAAmB,EAAEC,aAAa,4CAE3C;AAAA,SACSC,gBAAgB,gCAEzB;AAOA,OAAO,MAAMC,WAAW,GAAGD,gBAAgB,EAMK,CAAC;EAC/CE,IAAI,EAAE,aAAa;EAEnBC,KAAK,EAAEL,mBAAmB,EAAE;EAE5BM,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,UAAU,GAAGV,aAAa,CAACI,KAAK,EAAE,YAAY,CAAC;IAErD,OAAO,MAAMK,KAAK,CAACE,OAAO,GAAGD,UAAU,CAAC;EAC1C;AACF,CAAC,CAAC"}
@@ -1,16 +1,76 @@
1
1
  import * as vue from 'vue';
2
- import { ComponentPropsOptions, ExtractPropTypes, PropType } from 'vue';
2
+ import { ComponentPropsOptions, ExtractPropTypes, VNodeChild, VNode, Ref, PropType } from 'vue';
3
3
 
4
+ type SlotsToProps<U extends RawSlots, T = MakeInternalSlots<U>> = {
5
+ $children?: (VNodeChild | (T extends {
6
+ default: infer V;
7
+ } ? V : {}) | {
8
+ [K in keyof T]?: T[K];
9
+ });
10
+ 'v-slots'?: {
11
+ [K in keyof T]?: T[K] | false;
12
+ };
13
+ } & {
14
+ [K in keyof T as `v-slot:${K & string}`]?: T[K] | false;
15
+ };
16
+ type RawSlots = Record<string, unknown>;
17
+ type Slot<T> = [T] extends [never] ? () => VNodeChild : (arg: T) => VNodeChild;
18
+ type VueSlot<T> = [T] extends [never] ? () => VNode[] : (arg: T) => VNode[];
19
+ type MakeInternalSlots<T extends RawSlots> = {
20
+ [K in keyof T]: Slot<T[K]>;
21
+ };
22
+ type MakeSlots<T extends RawSlots> = {
23
+ [K in keyof T]: VueSlot<T[K]>;
24
+ };
25
+ type GenericProps<Props, Slots extends Record<string, unknown>> = {
26
+ $props: Props & SlotsToProps<Slots>;
27
+ $slots: MakeSlots<Slots>;
28
+ };
4
29
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
30
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
31
  }
7
32
 
8
- type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
9
- declare const EventProp: <T extends any[] = any[]>() => PropType<EventProp<T, (...args: T) => any>>;
33
+ type MaybeRef<T> = T | Ref<T>;
34
+ type EventProp<T extends any[] = any[], F = (...args: T) => void> = F;
35
+ declare const EventProp: <T extends any[] = any[]>() => PropType<(...args: T) => void>;
10
36
 
11
37
  type ValidationResult = string | boolean;
12
38
  type ValidationRule = ValidationResult | PromiseLike<ValidationResult> | ((value: any) => ValidationResult) | ((value: any) => PromiseLike<ValidationResult>);
39
+ type ValidateOnValue = 'blur' | 'input' | 'submit';
40
+ interface ValidationProps {
41
+ disabled: boolean | null;
42
+ error: boolean;
43
+ errorMessages: string | readonly string[] | null;
44
+ focused: boolean;
45
+ maxErrors: string | number;
46
+ name: string | undefined;
47
+ label: string | undefined;
48
+ readonly: boolean | null;
49
+ rules: readonly ValidationRule[];
50
+ modelValue: any;
51
+ 'onUpdate:modelValue': EventProp | undefined;
52
+ validateOn?: ValidateOnValue | `${ValidateOnValue} lazy` | `lazy ${ValidateOnValue}` | 'lazy';
53
+ validationValue: any;
54
+ }
55
+ declare function useValidation(props: ValidationProps, name?: string, id?: MaybeRef<string | number>): {
56
+ errorMessages: vue.ComputedRef<string[]>;
57
+ isDirty: vue.ComputedRef<boolean>;
58
+ isDisabled: vue.ComputedRef<boolean>;
59
+ isReadonly: vue.ComputedRef<boolean>;
60
+ isPristine: vue.ShallowRef<boolean>;
61
+ isValid: vue.ComputedRef<boolean | null>;
62
+ isValidating: vue.ShallowRef<boolean>;
63
+ reset: () => void;
64
+ resetValidation: () => void;
65
+ validate: (silent?: boolean) => Promise<string[]>;
66
+ validationClasses: vue.ComputedRef<{
67
+ [x: string]: boolean;
68
+ }>;
69
+ };
13
70
 
71
+ type VValidationSlots = {
72
+ default: ReturnType<typeof useValidation>;
73
+ };
14
74
  declare const VValidation: {
15
75
  new (...args: any[]): {
16
76
  $: vue.ComponentInternalInstance;
@@ -33,74 +93,9 @@ declare const VValidation: {
33
93
  rules: readonly ValidationRule[];
34
94
  name?: string | undefined;
35
95
  label?: string | undefined;
36
- modelValue?: any;
37
- 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
96
+ 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
38
97
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
39
98
  validationValue?: any;
40
- $children?: vue.VNodeChild | {
41
- default?: ((arg: {
42
- errorMessages: vue.ComputedRef<string[]>;
43
- isDirty: vue.ComputedRef<boolean>;
44
- isDisabled: vue.ComputedRef<boolean>;
45
- isReadonly: vue.ComputedRef<boolean>;
46
- isPristine: vue.ShallowRef<boolean>;
47
- isValid: vue.ComputedRef<boolean | null>;
48
- isValidating: vue.ShallowRef<boolean>;
49
- reset: () => void;
50
- resetValidation: () => void;
51
- validate: (silent?: boolean) => Promise<string[]>;
52
- validationClasses: vue.ComputedRef<{
53
- [x: string]: boolean;
54
- }>;
55
- }) => vue.VNodeChild) | undefined;
56
- } | ((arg: {
57
- errorMessages: vue.ComputedRef<string[]>;
58
- isDirty: vue.ComputedRef<boolean>;
59
- isDisabled: vue.ComputedRef<boolean>;
60
- isReadonly: vue.ComputedRef<boolean>;
61
- isPristine: vue.ShallowRef<boolean>;
62
- isValid: vue.ComputedRef<boolean | null>;
63
- isValidating: vue.ShallowRef<boolean>;
64
- reset: () => void;
65
- resetValidation: () => void;
66
- validate: (silent?: boolean) => Promise<string[]>;
67
- validationClasses: vue.ComputedRef<{
68
- [x: string]: boolean;
69
- }>;
70
- }) => vue.VNodeChild);
71
- 'v-slots'?: {
72
- default?: false | ((arg: {
73
- errorMessages: vue.ComputedRef<string[]>;
74
- isDirty: vue.ComputedRef<boolean>;
75
- isDisabled: vue.ComputedRef<boolean>;
76
- isReadonly: vue.ComputedRef<boolean>;
77
- isPristine: vue.ShallowRef<boolean>;
78
- isValid: vue.ComputedRef<boolean | null>;
79
- isValidating: vue.ShallowRef<boolean>;
80
- reset: () => void;
81
- resetValidation: () => void;
82
- validate: (silent?: boolean) => Promise<string[]>;
83
- validationClasses: vue.ComputedRef<{
84
- [x: string]: boolean;
85
- }>;
86
- }) => vue.VNodeChild) | undefined;
87
- } | undefined;
88
- "v-slot:default"?: false | ((arg: {
89
- errorMessages: vue.ComputedRef<string[]>;
90
- isDirty: vue.ComputedRef<boolean>;
91
- isDisabled: vue.ComputedRef<boolean>;
92
- isReadonly: vue.ComputedRef<boolean>;
93
- isPristine: vue.ShallowRef<boolean>;
94
- isValid: vue.ComputedRef<boolean | null>;
95
- isValidating: vue.ShallowRef<boolean>;
96
- reset: () => void;
97
- resetValidation: () => void;
98
- validate: (silent?: boolean) => Promise<string[]>;
99
- validationClasses: vue.ComputedRef<{
100
- [x: string]: boolean;
101
- }>;
102
- }) => vue.VNodeChild) | undefined;
103
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
104
99
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
105
100
  error: boolean;
106
101
  disabled: boolean | null;
@@ -112,78 +107,10 @@ declare const VValidation: {
112
107
  } & {
113
108
  name?: string | undefined;
114
109
  label?: string | undefined;
115
- modelValue?: any;
116
- 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
110
+ 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
117
111
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
118
112
  validationValue?: any;
119
- } & {
120
- $children?: vue.VNodeChild | {
121
- default?: ((arg: {
122
- errorMessages: vue.ComputedRef<string[]>;
123
- isDirty: vue.ComputedRef<boolean>;
124
- isDisabled: vue.ComputedRef<boolean>;
125
- isReadonly: vue.ComputedRef<boolean>;
126
- isPristine: vue.ShallowRef<boolean>;
127
- isValid: vue.ComputedRef<boolean | null>;
128
- isValidating: vue.ShallowRef<boolean>;
129
- reset: () => void;
130
- resetValidation: () => void;
131
- validate: (silent?: boolean) => Promise<string[]>;
132
- validationClasses: vue.ComputedRef<{
133
- [x: string]: boolean;
134
- }>;
135
- }) => vue.VNodeChild) | undefined;
136
- } | ((arg: {
137
- errorMessages: vue.ComputedRef<string[]>;
138
- isDirty: vue.ComputedRef<boolean>;
139
- isDisabled: vue.ComputedRef<boolean>;
140
- isReadonly: vue.ComputedRef<boolean>;
141
- isPristine: vue.ShallowRef<boolean>;
142
- isValid: vue.ComputedRef<boolean | null>;
143
- isValidating: vue.ShallowRef<boolean>;
144
- reset: () => void;
145
- resetValidation: () => void;
146
- validate: (silent?: boolean) => Promise<string[]>;
147
- validationClasses: vue.ComputedRef<{
148
- [x: string]: boolean;
149
- }>;
150
- }) => vue.VNodeChild);
151
- 'v-slots'?: {
152
- default?: false | ((arg: {
153
- errorMessages: vue.ComputedRef<string[]>;
154
- isDirty: vue.ComputedRef<boolean>;
155
- isDisabled: vue.ComputedRef<boolean>;
156
- isReadonly: vue.ComputedRef<boolean>;
157
- isPristine: vue.ShallowRef<boolean>;
158
- isValid: vue.ComputedRef<boolean | null>;
159
- isValidating: vue.ShallowRef<boolean>;
160
- reset: () => void;
161
- resetValidation: () => void;
162
- validate: (silent?: boolean) => Promise<string[]>;
163
- validationClasses: vue.ComputedRef<{
164
- [x: string]: boolean;
165
- }>;
166
- }) => vue.VNodeChild) | undefined;
167
- } | undefined;
168
- } & {
169
- "v-slot:default"?: false | ((arg: {
170
- errorMessages: vue.ComputedRef<string[]>;
171
- isDirty: vue.ComputedRef<boolean>;
172
- isDisabled: vue.ComputedRef<boolean>;
173
- isReadonly: vue.ComputedRef<boolean>;
174
- isPristine: vue.ShallowRef<boolean>;
175
- isValid: vue.ComputedRef<boolean | null>;
176
- isValidating: vue.ShallowRef<boolean>;
177
- reset: () => void;
178
- resetValidation: () => void;
179
- validate: (silent?: boolean) => Promise<string[]>;
180
- validationClasses: vue.ComputedRef<{
181
- [x: string]: boolean;
182
- }>;
183
- }) => vue.VNodeChild) | undefined;
184
- } & {
185
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
186
- }, "error" | "disabled" | "readonly" | "focused" | "errorMessages" | "maxErrors" | "rules">;
113
+ } & {}, "error" | "disabled" | "readonly" | "focused" | "errorMessages" | "maxErrors" | "rules">;
187
114
  $attrs: {
188
115
  [x: string]: unknown;
189
116
  };
@@ -211,7 +138,7 @@ declare const VValidation: {
211
138
  }>;
212
139
  $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
213
140
  $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
214
- $emit: (event: "update:modelValue", val: any) => void;
141
+ $emit: (event: string, ...args: any[]) => void;
215
142
  $el: any;
216
143
  $options: vue.ComponentOptionsBase<{
217
144
  error: boolean;
@@ -224,82 +151,14 @@ declare const VValidation: {
224
151
  } & {
225
152
  name?: string | undefined;
226
153
  label?: string | undefined;
227
- modelValue?: any;
228
- 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
154
+ 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
229
155
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
230
156
  validationValue?: any;
231
- } & {
232
- $children?: vue.VNodeChild | {
233
- default?: ((arg: {
234
- errorMessages: vue.ComputedRef<string[]>;
235
- isDirty: vue.ComputedRef<boolean>;
236
- isDisabled: vue.ComputedRef<boolean>;
237
- isReadonly: vue.ComputedRef<boolean>;
238
- isPristine: vue.ShallowRef<boolean>;
239
- isValid: vue.ComputedRef<boolean | null>;
240
- isValidating: vue.ShallowRef<boolean>;
241
- reset: () => void;
242
- resetValidation: () => void;
243
- validate: (silent?: boolean) => Promise<string[]>;
244
- validationClasses: vue.ComputedRef<{
245
- [x: string]: boolean;
246
- }>;
247
- }) => vue.VNodeChild) | undefined;
248
- } | ((arg: {
249
- errorMessages: vue.ComputedRef<string[]>;
250
- isDirty: vue.ComputedRef<boolean>;
251
- isDisabled: vue.ComputedRef<boolean>;
252
- isReadonly: vue.ComputedRef<boolean>;
253
- isPristine: vue.ShallowRef<boolean>;
254
- isValid: vue.ComputedRef<boolean | null>;
255
- isValidating: vue.ShallowRef<boolean>;
256
- reset: () => void;
257
- resetValidation: () => void;
258
- validate: (silent?: boolean) => Promise<string[]>;
259
- validationClasses: vue.ComputedRef<{
260
- [x: string]: boolean;
261
- }>;
262
- }) => vue.VNodeChild);
263
- 'v-slots'?: {
264
- default?: false | ((arg: {
265
- errorMessages: vue.ComputedRef<string[]>;
266
- isDirty: vue.ComputedRef<boolean>;
267
- isDisabled: vue.ComputedRef<boolean>;
268
- isReadonly: vue.ComputedRef<boolean>;
269
- isPristine: vue.ShallowRef<boolean>;
270
- isValid: vue.ComputedRef<boolean | null>;
271
- isValidating: vue.ShallowRef<boolean>;
272
- reset: () => void;
273
- resetValidation: () => void;
274
- validate: (silent?: boolean) => Promise<string[]>;
275
- validationClasses: vue.ComputedRef<{
276
- [x: string]: boolean;
277
- }>;
278
- }) => vue.VNodeChild) | undefined;
279
- } | undefined;
280
- } & {
281
- "v-slot:default"?: false | ((arg: {
282
- errorMessages: vue.ComputedRef<string[]>;
283
- isDirty: vue.ComputedRef<boolean>;
284
- isDisabled: vue.ComputedRef<boolean>;
285
- isReadonly: vue.ComputedRef<boolean>;
286
- isPristine: vue.ShallowRef<boolean>;
287
- isValid: vue.ComputedRef<boolean | null>;
288
- isValidating: vue.ShallowRef<boolean>;
289
- reset: () => void;
290
- resetValidation: () => void;
291
- validate: (silent?: boolean) => Promise<string[]>;
292
- validationClasses: vue.ComputedRef<{
293
- [x: string]: boolean;
294
- }>;
295
- }) => vue.VNodeChild) | undefined;
296
- } & {
297
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
298
- }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
157
+ } & {}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
299
158
  [key: string]: any;
300
- }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
301
- 'update:modelValue': (val: any) => boolean;
302
- }, string, {
159
+ }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
160
+ 'update:modelValue': (value: any) => boolean;
161
+ }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue">, string, {
303
162
  error: boolean;
304
163
  disabled: boolean | null;
305
164
  readonly: boolean | null;
@@ -356,78 +215,10 @@ declare const VValidation: {
356
215
  } & {
357
216
  name?: string | undefined;
358
217
  label?: string | undefined;
359
- modelValue?: any;
360
- 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
218
+ 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
361
219
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
362
220
  validationValue?: any;
363
- } & {
364
- $children?: vue.VNodeChild | {
365
- default?: ((arg: {
366
- errorMessages: vue.ComputedRef<string[]>;
367
- isDirty: vue.ComputedRef<boolean>;
368
- isDisabled: vue.ComputedRef<boolean>;
369
- isReadonly: vue.ComputedRef<boolean>;
370
- isPristine: vue.ShallowRef<boolean>;
371
- isValid: vue.ComputedRef<boolean | null>;
372
- isValidating: vue.ShallowRef<boolean>;
373
- reset: () => void;
374
- resetValidation: () => void;
375
- validate: (silent?: boolean) => Promise<string[]>;
376
- validationClasses: vue.ComputedRef<{
377
- [x: string]: boolean;
378
- }>;
379
- }) => vue.VNodeChild) | undefined;
380
- } | ((arg: {
381
- errorMessages: vue.ComputedRef<string[]>;
382
- isDirty: vue.ComputedRef<boolean>;
383
- isDisabled: vue.ComputedRef<boolean>;
384
- isReadonly: vue.ComputedRef<boolean>;
385
- isPristine: vue.ShallowRef<boolean>;
386
- isValid: vue.ComputedRef<boolean | null>;
387
- isValidating: vue.ShallowRef<boolean>;
388
- reset: () => void;
389
- resetValidation: () => void;
390
- validate: (silent?: boolean) => Promise<string[]>;
391
- validationClasses: vue.ComputedRef<{
392
- [x: string]: boolean;
393
- }>;
394
- }) => vue.VNodeChild);
395
- 'v-slots'?: {
396
- default?: false | ((arg: {
397
- errorMessages: vue.ComputedRef<string[]>;
398
- isDirty: vue.ComputedRef<boolean>;
399
- isDisabled: vue.ComputedRef<boolean>;
400
- isReadonly: vue.ComputedRef<boolean>;
401
- isPristine: vue.ShallowRef<boolean>;
402
- isValid: vue.ComputedRef<boolean | null>;
403
- isValidating: vue.ShallowRef<boolean>;
404
- reset: () => void;
405
- resetValidation: () => void;
406
- validate: (silent?: boolean) => Promise<string[]>;
407
- validationClasses: vue.ComputedRef<{
408
- [x: string]: boolean;
409
- }>;
410
- }) => vue.VNodeChild) | undefined;
411
- } | undefined;
412
- } & {
413
- "v-slot:default"?: false | ((arg: {
414
- errorMessages: vue.ComputedRef<string[]>;
415
- isDirty: vue.ComputedRef<boolean>;
416
- isDisabled: vue.ComputedRef<boolean>;
417
- isReadonly: vue.ComputedRef<boolean>;
418
- isPristine: vue.ShallowRef<boolean>;
419
- isValid: vue.ComputedRef<boolean | null>;
420
- isValidating: vue.ShallowRef<boolean>;
421
- reset: () => void;
422
- resetValidation: () => void;
423
- validate: (silent?: boolean) => Promise<string[]>;
424
- validationClasses: vue.ComputedRef<{
425
- [x: string]: boolean;
426
- }>;
427
- }) => vue.VNodeChild) | undefined;
428
- } & {
429
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
430
- } & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
221
+ } & {} & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
431
222
  [key: string]: any;
432
223
  }>[] | undefined> & {} & vue.ComponentCustomProperties & {};
433
224
  __isFragment?: undefined;
@@ -444,82 +235,14 @@ declare const VValidation: {
444
235
  } & {
445
236
  name?: string | undefined;
446
237
  label?: string | undefined;
447
- modelValue?: any;
448
- 'onUpdate:focused'?: EventProp<[boolean], (args_0: boolean) => any> | undefined;
238
+ 'onUpdate:focused'?: ((args_0: boolean) => void) | undefined;
449
239
  validateOn?: "lazy" | ("input" | "blur" | "submit") | "input lazy" | "blur lazy" | "submit lazy" | "lazy input" | "lazy blur" | "lazy submit" | undefined;
450
240
  validationValue?: any;
451
- } & {
452
- $children?: vue.VNodeChild | {
453
- default?: ((arg: {
454
- errorMessages: vue.ComputedRef<string[]>;
455
- isDirty: vue.ComputedRef<boolean>;
456
- isDisabled: vue.ComputedRef<boolean>;
457
- isReadonly: vue.ComputedRef<boolean>;
458
- isPristine: vue.ShallowRef<boolean>;
459
- isValid: vue.ComputedRef<boolean | null>;
460
- isValidating: vue.ShallowRef<boolean>;
461
- reset: () => void;
462
- resetValidation: () => void;
463
- validate: (silent?: boolean) => Promise<string[]>;
464
- validationClasses: vue.ComputedRef<{
465
- [x: string]: boolean;
466
- }>;
467
- }) => vue.VNodeChild) | undefined;
468
- } | ((arg: {
469
- errorMessages: vue.ComputedRef<string[]>;
470
- isDirty: vue.ComputedRef<boolean>;
471
- isDisabled: vue.ComputedRef<boolean>;
472
- isReadonly: vue.ComputedRef<boolean>;
473
- isPristine: vue.ShallowRef<boolean>;
474
- isValid: vue.ComputedRef<boolean | null>;
475
- isValidating: vue.ShallowRef<boolean>;
476
- reset: () => void;
477
- resetValidation: () => void;
478
- validate: (silent?: boolean) => Promise<string[]>;
479
- validationClasses: vue.ComputedRef<{
480
- [x: string]: boolean;
481
- }>;
482
- }) => vue.VNodeChild);
483
- 'v-slots'?: {
484
- default?: false | ((arg: {
485
- errorMessages: vue.ComputedRef<string[]>;
486
- isDirty: vue.ComputedRef<boolean>;
487
- isDisabled: vue.ComputedRef<boolean>;
488
- isReadonly: vue.ComputedRef<boolean>;
489
- isPristine: vue.ShallowRef<boolean>;
490
- isValid: vue.ComputedRef<boolean | null>;
491
- isValidating: vue.ShallowRef<boolean>;
492
- reset: () => void;
493
- resetValidation: () => void;
494
- validate: (silent?: boolean) => Promise<string[]>;
495
- validationClasses: vue.ComputedRef<{
496
- [x: string]: boolean;
497
- }>;
498
- }) => vue.VNodeChild) | undefined;
499
- } | undefined;
500
- } & {
501
- "v-slot:default"?: false | ((arg: {
502
- errorMessages: vue.ComputedRef<string[]>;
503
- isDirty: vue.ComputedRef<boolean>;
504
- isDisabled: vue.ComputedRef<boolean>;
505
- isReadonly: vue.ComputedRef<boolean>;
506
- isPristine: vue.ShallowRef<boolean>;
507
- isValid: vue.ComputedRef<boolean | null>;
508
- isValidating: vue.ShallowRef<boolean>;
509
- reset: () => void;
510
- resetValidation: () => void;
511
- validate: (silent?: boolean) => Promise<string[]>;
512
- validationClasses: vue.ComputedRef<{
513
- [x: string]: boolean;
514
- }>;
515
- }) => vue.VNodeChild) | undefined;
516
- } & {
517
- "onUpdate:modelValue"?: ((val: any) => any) | undefined;
518
- }, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
241
+ } & {}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
519
242
  [key: string]: any;
520
- }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
521
- 'update:modelValue': (val: any) => boolean;
522
- }, string, {
243
+ }>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<{
244
+ 'update:modelValue': (value: any) => boolean;
245
+ }, "$children" | "v-slot:default" | "v-slots" | "modelValue" | "update:modelValue">, string, {
523
246
  error: boolean;
524
247
  disabled: boolean | null;
525
248
  readonly: boolean | null;
@@ -545,9 +268,15 @@ declare const VValidation: {
545
268
  }) => vue.VNode<vue.RendererNode, vue.RendererElement, {
546
269
  [key: string]: any;
547
270
  }>[];
548
- }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
271
+ }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T_1>(props: {
272
+ modelValue?: T_1 | null | undefined;
273
+ 'onUpdate:modelValue'?: ((value: T_1 | null) => void) | undefined;
274
+ }, slots: VValidationSlots) => GenericProps<{
275
+ modelValue?: T_1 | null | undefined;
276
+ 'onUpdate:modelValue'?: ((value: T_1 | null) => void) | undefined;
277
+ }, VValidationSlots>) & FilterPropsOptions<{
549
278
  focused: BooleanConstructor;
550
- 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
279
+ 'onUpdate:focused': vue.PropType<(args_0: boolean) => void>;
551
280
  disabled: {
552
281
  type: vue.PropType<boolean | null>;
553
282
  default: null;
@@ -576,7 +305,7 @@ declare const VValidation: {
576
305
  validationValue: null;
577
306
  }, vue.ExtractPropTypes<{
578
307
  focused: BooleanConstructor;
579
- 'onUpdate:focused': vue.PropType<EventProp<[boolean], (args_0: boolean) => any>>;
308
+ 'onUpdate:focused': vue.PropType<(args_0: boolean) => void>;
580
309
  disabled: {
581
310
  type: vue.PropType<boolean | null>;
582
311
  default: null;
@@ -59,7 +59,7 @@ export const VWindow = genericComponent()({
59
59
  },
60
60
  props: makeVWindowProps(),
61
61
  emits: {
62
- 'update:modelValue': v => true
62
+ 'update:modelValue': value => true
63
63
  },
64
64
  setup(props, _ref) {
65
65
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"VWindow.mjs","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","Touch","computed","provide","ref","shallowRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","value","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","ariaLabel","push","_createVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","style","height","additional","_resolveDirective"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<VWindowSlots>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (v: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VWindow.mjs","names":["VBtn","makeComponentProps","useGroup","useLocale","useRtl","makeTagProps","makeThemeProps","provideTheme","Touch","computed","provide","ref","shallowRef","watch","genericComponent","propsFactory","useRender","VWindowSymbol","Symbol","for","VWindowGroupSymbol","makeVWindowProps","continuous","Boolean","nextIcon","type","String","Function","Object","default","prevIcon","reverse","showArrows","validator","v","touch","undefined","direction","modelValue","disabled","selectedClass","mandatory","VWindow","name","directives","props","emits","value","setup","_ref","slots","themeClasses","isRtl","t","group","rootRef","isRtlReverse","isReversed","transition","axis","transitionCount","transitionHeight","activeIndex","items","findIndex","item","selected","includes","id","newVal","oldVal","itemsLength","length","lastIndex","canMoveBack","canMoveForward","prev","next","arrows","prevProps","icon","class","onClick","ariaLabel","push","_createVNode","nextProps","touchOptions","options","left","right","start","_ref2","originalEvent","stopPropagation","_withDirectives","tag","style","height","additional","_resolveDirective"],"sources":["../../../src/components/VWindow/VWindow.tsx"],"sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { useGroup } from '@/composables/group'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport { Touch } from '@/directives/touch'\n\n// Utilities\nimport { computed, provide, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, InjectionKey, PropType, Ref } from 'vue'\nimport type { GroupItemProvide, GroupProvide } from '@/composables/group'\nimport type { IconValue } from '@/composables/icons'\nimport type { TouchHandlers } from '@/directives/touch'\nimport type { GenericProps } from '@/util'\n\nexport type VWindowSlots = {\n default: { group: GroupProvide }\n additional: { group: GroupProvide }\n prev: { props: ControlProps }\n next: { props: ControlProps }\n}\n\ntype WindowProvide = {\n transition: ComputedRef<undefined | string>\n transitionCount: Ref<number>\n transitionHeight: Ref<undefined | string>\n isReversed: Ref<boolean>\n rootRef: Ref<HTMLElement | undefined>\n}\n\ntype ControlProps = {\n icon: IconValue\n class: string\n onClick: () => void\n ariaLabel: string\n}\n\nexport const VWindowSymbol: InjectionKey<WindowProvide> = Symbol.for('vuetify:v-window')\nexport const VWindowGroupSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-window-group')\n\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String, Function, Object] as PropType<IconValue>,\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => typeof v === 'boolean' || v === 'hover',\n },\n touch: {\n type: [Object, Boolean] as PropType<boolean | TouchHandlers>,\n default: undefined,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active',\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force' as const,\n },\n\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VWindow')\n\nexport const VWindow = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VWindowSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VWindow',\n\n directives: {\n Touch,\n },\n\n props: makeVWindowProps(),\n\n emits: {\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { isRtl } = useRtl()\n const { t } = useLocale()\n\n const group = useGroup(props, VWindowGroupSymbol)\n\n const rootRef = ref()\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse)\n const isReversed = shallowRef(false)\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x'\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n })\n const transitionCount = shallowRef(0)\n const transitionHeight = ref<undefined | string>(undefined)\n\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id))\n })\n\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false\n } else {\n isReversed.value = newVal < oldVal\n }\n })\n\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef,\n })\n\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0)\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1)\n\n function prev () {\n canMoveBack.value && group.prev()\n }\n\n function next () {\n canMoveForward.value && group.next()\n }\n\n const arrows = computed(() => {\n const arrows = []\n\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n ariaLabel: t('$vuetify.carousel.prev'),\n }\n\n arrows.push(canMoveBack.value\n ? slots.prev\n ? slots.prev({ props: prevProps })\n : <VBtn { ...prevProps } />\n : <div />\n )\n\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n ariaLabel: t('$vuetify.carousel.next'),\n }\n\n arrows.push(canMoveForward.value\n ? slots.next\n ? slots.next({ props: nextProps })\n : <VBtn { ...nextProps } />\n : <div />\n )\n\n return arrows\n })\n\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch\n\n const options: TouchHandlers = {\n left: () => {\n isRtlReverse.value ? prev() : next()\n },\n right: () => {\n isRtlReverse.value ? next() : prev()\n },\n start: ({ originalEvent }) => {\n originalEvent.stopPropagation()\n },\n }\n\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch),\n }\n })\n\n useRender(() => (\n <props.tag\n ref={ rootRef }\n class={[\n 'v-window',\n {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover',\n },\n themeClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-touch={ touchOptions.value }\n >\n <div\n class=\"v-window__container\"\n style={{\n height: transitionHeight.value,\n }}\n >\n { slots.default?.({ group }) }\n\n { props.showArrows !== false && (\n <div class=\"v-window__controls\">\n { arrows.value }\n </div>\n )}\n </div>\n\n { slots.additional?.({ group }) }\n </props.tag>\n ))\n\n return {\n group,\n }\n },\n})\n\nexport type VWindow = InstanceType<typeof VWindow>\n"],"mappings":"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"}