vuetify 3.4.0-beta.0 → 3.4.0

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 (204) hide show
  1. package/dist/json/attributes.json +1980 -2004
  2. package/dist/json/importMap.json +110 -110
  3. package/dist/json/tags.json +1 -7
  4. package/dist/json/web-types.json +3767 -3807
  5. package/dist/vuetify-labs.css +1045 -1032
  6. package/dist/vuetify-labs.d.ts +227 -305
  7. package/dist/vuetify-labs.esm.js +115 -87
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +115 -87
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +546 -533
  12. package/dist/vuetify.d.ts +260 -338
  13. package/dist/vuetify.esm.js +115 -87
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +115 -87
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +963 -961
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/index.d.mts +1 -1
  21. package/lib/components/VApp/index.d.mts +1 -1
  22. package/lib/components/VAppBar/VAppBar.mjs +1 -1
  23. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  24. package/lib/components/VAppBar/index.d.mts +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  27. package/lib/components/VAutocomplete/index.d.mts +1 -1
  28. package/lib/components/VAvatar/index.d.mts +1 -1
  29. package/lib/components/VBadge/VBadge.mjs +2 -2
  30. package/lib/components/VBadge/VBadge.mjs.map +1 -1
  31. package/lib/components/VBadge/index.d.mts +1 -1
  32. package/lib/components/VBanner/index.d.mts +1 -1
  33. package/lib/components/VBottomNavigation/index.d.mts +1 -1
  34. package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -1
  35. package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
  36. package/lib/components/VBottomSheet/index.d.mts +1 -1
  37. package/lib/components/VBreadcrumbs/index.d.mts +1 -1
  38. package/lib/components/VBtn/VBtn.css +0 -1
  39. package/lib/components/VBtn/_variables.scss +1 -1
  40. package/lib/components/VBtn/index.d.mts +1 -1
  41. package/lib/components/VBtnGroup/VBtnGroup.css +0 -1
  42. package/lib/components/VBtnGroup/index.d.mts +1 -1
  43. package/lib/components/VBtnToggle/VBtnToggle.mjs +1 -1
  44. package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
  45. package/lib/components/VBtnToggle/index.d.mts +1 -1
  46. package/lib/components/VCard/index.d.mts +1 -1
  47. package/lib/components/VCarousel/VCarousel.mjs +1 -1
  48. package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
  49. package/lib/components/VCarousel/VCarouselItem.mjs +2 -2
  50. package/lib/components/VCarousel/VCarouselItem.mjs.map +1 -1
  51. package/lib/components/VCarousel/index.d.mts +1 -1
  52. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  53. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  54. package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -1
  55. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  56. package/lib/components/VCheckbox/index.d.mts +1 -1
  57. package/lib/components/VChip/index.d.mts +1 -1
  58. package/lib/components/VChipGroup/index.d.mts +1 -1
  59. package/lib/components/VCode/index.d.mts +1 -1
  60. package/lib/components/VColorPicker/VColorPicker.mjs +1 -1
  61. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  62. package/lib/components/VColorPicker/index.d.mts +1 -1
  63. package/lib/components/VCombobox/VCombobox.mjs +1 -1
  64. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  65. package/lib/components/VCombobox/index.d.mts +1 -1
  66. package/lib/components/VCounter/index.d.mts +1 -1
  67. package/lib/components/VDataIterator/index.d.mts +1 -1
  68. package/lib/components/VDataTable/VDataTable.css +6 -1
  69. package/lib/components/VDataTable/VDataTable.mjs +6 -5
  70. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  71. package/lib/components/VDataTable/VDataTable.sass +5 -1
  72. package/lib/components/VDataTable/VDataTableHeaders.mjs +3 -2
  73. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  74. package/lib/components/VDataTable/VDataTableRow.mjs +8 -4
  75. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  76. package/lib/components/VDataTable/VDataTableServer.mjs +8 -7
  77. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  78. package/lib/components/VDataTable/VDataTableVirtual.mjs +7 -6
  79. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  80. package/lib/components/VDataTable/index.d.mts +213 -196
  81. package/lib/components/VDatePicker/VDatePicker.mjs +6 -6
  82. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  83. package/lib/components/VDatePicker/index.d.mts +1 -1
  84. package/lib/components/VDefaultsProvider/index.d.mts +1 -1
  85. package/lib/components/VDialog/VDialog.mjs +1 -1
  86. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  87. package/lib/components/VDialog/index.d.mts +1 -1
  88. package/lib/components/VDivider/index.d.mts +1 -1
  89. package/lib/components/VExpansionPanel/index.d.mts +1 -1
  90. package/lib/components/VField/index.d.mts +1 -1
  91. package/lib/components/VFileInput/VFileInput.mjs +3 -3
  92. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  93. package/lib/components/VFileInput/index.d.mts +1 -1
  94. package/lib/components/VFooter/index.d.mts +1 -1
  95. package/lib/components/VForm/index.d.mts +1 -1
  96. package/lib/components/VGrid/VSpacer.mjs +3 -0
  97. package/lib/components/VGrid/VSpacer.mjs.map +1 -1
  98. package/lib/components/VGrid/index.d.mts +1 -1
  99. package/lib/components/VHover/index.d.mts +1 -1
  100. package/lib/components/VIcon/index.d.mts +1 -1
  101. package/lib/components/VImg/VImg.mjs +1 -1
  102. package/lib/components/VImg/VImg.mjs.map +1 -1
  103. package/lib/components/VImg/index.d.mts +1 -1
  104. package/lib/components/VInfiniteScroll/index.d.mts +1 -1
  105. package/lib/components/VInput/index.d.mts +1 -1
  106. package/lib/components/VItemGroup/index.d.mts +1 -1
  107. package/lib/components/VKbd/index.d.mts +1 -1
  108. package/lib/components/VLabel/index.d.mts +1 -1
  109. package/lib/components/VLayout/index.d.mts +1 -1
  110. package/lib/components/VLazy/index.d.mts +1 -1
  111. package/lib/components/VList/VList.mjs +2 -2
  112. package/lib/components/VList/VList.mjs.map +1 -1
  113. package/lib/components/VList/VListChildren.mjs +1 -1
  114. package/lib/components/VList/VListChildren.mjs.map +1 -1
  115. package/lib/components/VList/index.d.mts +1 -1
  116. package/lib/components/VLocaleProvider/index.d.mts +1 -1
  117. package/lib/components/VMain/index.d.mts +1 -1
  118. package/lib/components/VMenu/VMenu.mjs +1 -1
  119. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  120. package/lib/components/VMenu/index.d.mts +1 -1
  121. package/lib/components/VMessages/index.d.mts +1 -1
  122. package/lib/components/VNavigationDrawer/index.d.mts +1 -1
  123. package/lib/components/VOtpInput/index.d.mts +1 -1
  124. package/lib/components/VOverlay/index.d.mts +1 -1
  125. package/lib/components/VPagination/index.d.mts +1 -1
  126. package/lib/components/VParallax/index.d.mts +1 -1
  127. package/lib/components/VProgressCircular/index.d.mts +1 -1
  128. package/lib/components/VProgressLinear/index.d.mts +1 -1
  129. package/lib/components/VRadio/index.d.mts +1 -1
  130. package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
  131. package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
  132. package/lib/components/VRadioGroup/index.d.mts +1 -1
  133. package/lib/components/VRangeSlider/VRangeSlider.mjs +1 -1
  134. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  135. package/lib/components/VRangeSlider/index.d.mts +1 -1
  136. package/lib/components/VRating/index.d.mts +1 -1
  137. package/lib/components/VResponsive/index.d.mts +1 -1
  138. package/lib/components/VSelect/VSelect.mjs +1 -1
  139. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  140. package/lib/components/VSelect/index.d.mts +1 -1
  141. package/lib/components/VSelectionControl/index.d.mts +1 -1
  142. package/lib/components/VSelectionControlGroup/index.d.mts +1 -1
  143. package/lib/components/VSheet/index.d.mts +1 -1
  144. package/lib/components/VSkeletonLoader/index.d.mts +1 -1
  145. package/lib/components/VSlideGroup/index.d.mts +1 -1
  146. package/lib/components/VSlider/VSlider.mjs +1 -1
  147. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  148. package/lib/components/VSlider/index.d.mts +1 -1
  149. package/lib/components/VSnackbar/VSnackbar.mjs +1 -1
  150. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  151. package/lib/components/VSnackbar/index.d.mts +1 -1
  152. package/lib/components/VStepper/VStepper.mjs +1 -1
  153. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  154. package/lib/components/VStepper/VStepperWindow.mjs +9 -7
  155. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  156. package/lib/components/VStepper/VStepperWindowItem.mjs +4 -2
  157. package/lib/components/VStepper/VStepperWindowItem.mjs.map +1 -1
  158. package/lib/components/VStepper/index.d.mts +19 -141
  159. package/lib/components/VSwitch/VSwitch.mjs +2 -2
  160. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  161. package/lib/components/VSwitch/index.d.mts +1 -1
  162. package/lib/components/VSystemBar/index.d.mts +1 -1
  163. package/lib/components/VTable/VTable.css +12 -2
  164. package/lib/components/VTable/VTable.sass +7 -2
  165. package/lib/components/VTable/index.d.mts +1 -1
  166. package/lib/components/VTabs/VTab.mjs +1 -1
  167. package/lib/components/VTabs/VTab.mjs.map +1 -1
  168. package/lib/components/VTabs/VTabs.mjs +1 -1
  169. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  170. package/lib/components/VTabs/index.d.mts +1 -1
  171. package/lib/components/VTextField/VTextField.mjs +3 -3
  172. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  173. package/lib/components/VTextField/index.d.mts +1 -1
  174. package/lib/components/VTextarea/VTextarea.mjs +5 -3
  175. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  176. package/lib/components/VTextarea/index.d.mts +1 -1
  177. package/lib/components/VThemeProvider/index.d.mts +1 -1
  178. package/lib/components/VTimeline/index.d.mts +1 -1
  179. package/lib/components/VToolbar/index.d.mts +1 -1
  180. package/lib/components/VTooltip/VTooltip.mjs +1 -1
  181. package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
  182. package/lib/components/VTooltip/index.d.mts +1 -1
  183. package/lib/components/VValidation/index.d.mts +1 -1
  184. package/lib/components/VVirtualScroll/index.d.mts +1 -1
  185. package/lib/components/VWindow/index.d.mts +1 -1
  186. package/lib/components/index.d.mts +227 -305
  187. package/lib/components/transitions/index.d.mts +1 -1
  188. package/lib/composables/list-items.mjs +2 -2
  189. package/lib/composables/list-items.mjs.map +1 -1
  190. package/lib/entry-bundler.mjs +1 -1
  191. package/lib/entry-bundler.mjs.map +1 -1
  192. package/lib/framework.mjs +1 -1
  193. package/lib/framework.mjs.map +1 -1
  194. package/lib/index.d.mts +33 -33
  195. package/lib/labs/VConfirmEdit/index.d.mts +1 -1
  196. package/lib/labs/VPicker/VPicker.mjs +1 -1
  197. package/lib/labs/VPicker/VPicker.mjs.map +1 -1
  198. package/lib/labs/VPicker/index.d.mts +1 -1
  199. package/lib/labs/components.d.mts +1 -1
  200. package/lib/util/defineComponent.mjs +2 -2
  201. package/lib/util/defineComponent.mjs.map +1 -1
  202. package/lib/util/helpers.mjs +17 -3
  203. package/lib/util/helpers.mjs.map +1 -1
  204. package/package.json +3 -3
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent, ComputedRef, Ref } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType, Prop } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  type Density = null | 'default' | 'comfortable' | 'compact';
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  declare const VResponsive: {
@@ -216,7 +216,7 @@ export const VSelect = genericComponent()({
216
216
  const hasChips = !!(props.chips || slots.chip);
217
217
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
218
218
  const isDirty = model.value.length > 0;
219
- const [textFieldProps] = VTextField.filterProps(props);
219
+ const textFieldProps = VTextField.filterProps(props);
220
220
  const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
221
221
  return _createVNode(VTextField, _mergeProps({
222
222
  "ref": vTextFieldRef
@@ -1 +1 @@
1
- {"version":3,"file":"VSelect.mjs","names":["VDialogTransition","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","ref","shallowRef","watch","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","closeText","type","String","default","openText","eager","hideNoData","hideSelected","menu","menuIcon","menuProps","Object","multiple","noDataText","openOnClear","itemColor","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selectedValues","map","selection","isFocused","label","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","item","some","s","menuDisabled","length","readonly","isReadonly","listRef","onListScroll","onListKeydown","onClear","e","onMousedownControl","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","now","performance","toLowerCase","find","title","startsWith","undefined","select","index","findIndex","valueComparator","splice","onBlur","$el","contains","relatedTarget","onAfterLeave","onFocusin","onModelUpdate","window","requestAnimationFrame","scrollToIndex","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_Fragment","color","_ref2","itemRef","itemProps","onClick","prepend","_ref3","isSelected","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","disabled","closable","size","text","_createTextVNode","append-inner","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, ref, shallowRef, watch } from 'vue'\nimport {\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: '$vuetify.close',\n },\n openText: {\n type: String,\n default: '$vuetify.open',\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'button',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\nexport const VSelect = genericComponent<new <\n T extends readonly any[],\n Item = T extends readonly (infer U)[] ? U : never,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (val: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => s === item))\n }\n return items.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ))\n\n const listRef = ref<VList>()\n const { onListScroll, onListKeydown } = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: ListItem) {\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\n }\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => props.valueComparator(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const [textFieldProps] = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ model.value.length }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onScrollPassive={ onListScroll }\n tabindex=\"-1\"\n color={ props.itemColor ?? props.color }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value }>\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n onClick: () => select(item),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps }>\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-select__menu-icon\"\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSelect.mjs","names":["VDialogTransition","VCheckboxBtn","VChip","VDefaultsProvider","VIcon","VList","VListItem","VMenu","makeVTextFieldProps","VTextField","VVirtualScroll","useScrolling","useForm","forwardRefs","IconValue","makeItemsProps","useItems","useLocale","useProxiedModel","makeTransitionProps","computed","mergeProps","ref","shallowRef","watch","ensureValidVNode","genericComponent","IN_BROWSER","matchesSelector","omit","propsFactory","useRender","wrapInArray","makeSelectProps","chips","Boolean","closableChips","closeText","type","String","default","openText","eager","hideNoData","hideSelected","menu","menuIcon","menuProps","Object","multiple","noDataText","openOnClear","itemColor","itemChildren","makeVSelectProps","modelValue","role","transition","component","VSelect","name","props","emits","focused","val","setup","_ref","slots","t","vTextFieldRef","vMenuRef","vVirtualScrollRef","_menu","get","value","set","v","ΨopenChildren","items","transformIn","transformOut","model","transformed","form","selectedValues","map","selection","isFocused","label","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","filter","item","some","s","menuDisabled","length","readonly","isReadonly","listRef","onListScroll","onListKeydown","onClear","e","onMousedownControl","onKeydown","key","includes","preventDefault","focus","KEYBOARD_LOOKUP_THRESHOLD","checkPrintable","isPrintableChar","noModifier","ctrlKey","metaKey","altKey","now","performance","toLowerCase","find","title","startsWith","undefined","select","index","findIndex","valueComparator","splice","onBlur","$el","contains","relatedTarget","onAfterLeave","onFocusin","onModelUpdate","window","requestAnimationFrame","scrollToIndex","hasChips","chip","hasList","isDirty","textFieldProps","filterProps","placeholder","persistentPlaceholder","_createVNode","_mergeProps","join","$event","externalValue","class","style","_Fragment","color","_ref2","itemRef","itemProps","onClick","prepend","_ref3","isSelected","prependIcon","onChipClose","stopPropagation","slotProps","onMousedown","hasSlot","slotContent","disabled","closable","size","text","_createTextVNode","append-inner","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VSelect/VSelect.tsx"],"sourcesContent":["// Styles\nimport './VSelect.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\nimport { VChip } from '@/components/VChip'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VList, VListItem } from '@/components/VList'\nimport { VMenu } from '@/components/VMenu'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\nimport { VVirtualScroll } from '@/components/VVirtualScroll'\n\n// Composables\nimport { useScrolling } from './useScrolling'\nimport { useForm } from '@/composables/form'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { IconValue } from '@/composables/icons'\nimport { makeItemsProps, useItems } from '@/composables/list-items'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeTransitionProps } from '@/composables/transition'\n\n// Utilities\nimport { computed, mergeProps, ref, shallowRef, watch } from 'vue'\nimport {\n ensureValidVNode,\n genericComponent,\n IN_BROWSER,\n matchesSelector,\n omit,\n propsFactory,\n useRender,\n wrapInArray,\n} from '@/util'\n\n// Types\nimport type { Component, PropType } from 'vue'\nimport type { VFieldSlots } from '@/components/VField/VField'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { ListItem } from '@/composables/list-items'\nimport type { GenericProps } from '@/util'\n\ntype Primitive = string | number | boolean | symbol\n\ntype Val <T, ReturnObject extends boolean> = [T] extends [Primitive]\n ? T\n : (ReturnObject extends true ? T : any)\n\ntype Value <T, ReturnObject extends boolean, Multiple extends boolean> =\n Multiple extends true\n ? readonly Val<T, ReturnObject>[]\n : Val<T, ReturnObject> | null\n\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: '$vuetify.close',\n },\n openText: {\n type: String,\n default: '$vuetify.open',\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown',\n },\n menuProps: {\n type: Object as PropType<VMenu['$props']>,\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText',\n },\n openOnClear: Boolean,\n itemColor: String,\n\n ...makeItemsProps({ itemChildren: false }),\n}, 'Select')\n\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'button',\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({ transition: { component: VDialogTransition as Component } }),\n}, 'VSelect')\n\nexport const VSelect = genericComponent<new <\n T extends readonly any[],\n Item = T extends readonly (infer U)[] ? U : never,\n ReturnObject extends boolean = false,\n Multiple extends boolean = false,\n V extends Value<Item, ReturnObject, Multiple> = Value<Item, ReturnObject, Multiple>\n>(\n props: {\n items?: T\n returnObject?: ReturnObject\n multiple?: Multiple\n modelValue?: V | null\n 'onUpdate:modelValue'?: (val: V) => void\n },\n slots: Omit<VInputSlots & VFieldSlots, 'default'> & {\n item: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n chip: { item: ListItem<Item>, index: number, props: Record<string, unknown> }\n selection: { item: ListItem<Item>, index: number }\n 'prepend-item': never\n 'append-item': never\n 'no-data': never\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSelect',\n\n props: makeVSelectProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (val: any) => true,\n 'update:menu': (val: boolean) => true,\n },\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const vTextFieldRef = ref()\n const vMenuRef = ref<VMenu>()\n const vVirtualScrollRef = ref<VVirtualScroll>()\n const _menu = useProxiedModel(props, 'menu')\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return\n _menu.value = v\n },\n })\n const { items, transformIn, transformOut } = useItems(props)\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => transformIn(v === null ? [null] : wrapInArray(v)),\n v => {\n const transformed = transformOut(v)\n return props.multiple ? transformed : (transformed[0] ?? null)\n }\n )\n const form = useForm()\n const selectedValues = computed(() => model.value.map(selection => selection.value))\n const isFocused = shallowRef(false)\n const label = computed(() => menu.value ? props.closeText : props.openText)\n\n let keyboardLookupPrefix = ''\n let keyboardLookupLastTime: number\n\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => s === item))\n }\n return items.value\n })\n\n const menuDisabled = computed(() => (\n (props.hideNoData && !items.value.length) ||\n props.readonly || form?.isReadonly.value\n ))\n\n const listRef = ref<VList>()\n const { onListScroll, onListKeydown } = useScrolling(listRef, vTextFieldRef)\n function onClear (e: MouseEvent) {\n if (props.openOnClear) {\n menu.value = true\n }\n }\n function onMousedownControl () {\n if (menuDisabled.value) return\n\n menu.value = !menu.value\n }\n function onKeydown (e: KeyboardEvent) {\n if (!e.key || props.readonly || form?.isReadonly.value) return\n\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault()\n }\n\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true\n }\n\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false\n }\n\n if (e.key === 'Home') {\n listRef.value?.focus('first')\n } else if (e.key === 'End') {\n listRef.value?.focus('last')\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n\n function checkPrintable (e: KeyboardEvent) {\n const isPrintableChar = e.key.length === 1\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey\n return isPrintableChar && noModifier\n }\n\n if (props.multiple || !checkPrintable(e)) return\n\n const now = performance.now()\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = ''\n }\n keyboardLookupPrefix += e.key.toLowerCase()\n keyboardLookupLastTime = now\n\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix))\n if (item !== undefined) {\n model.value = [item]\n }\n }\n function select (item: ListItem) {\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value))\n\n if (index === -1) {\n model.value = [...model.value, item]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n } else {\n model.value = [item]\n menu.value = false\n }\n }\n function onBlur (e: FocusEvent) {\n if (!listRef.value?.$el.contains(e.relatedTarget as HTMLElement)) {\n menu.value = false\n }\n }\n function onAfterLeave () {\n if (isFocused.value) {\n vTextFieldRef.value?.focus()\n }\n }\n function onFocusin (e: FocusEvent) {\n isFocused.value = true\n }\n function onModelUpdate (v: any) {\n if (v == null) model.value = []\n else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v)\n if (item) {\n select(item)\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = ''\n }\n }\n\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(\n item => model.value.some(s => props.valueComparator(s.value, item.value))\n )\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index)\n })\n }\n })\n\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip)\n const hasList = !!(\n (!props.hideNoData || displayItems.value.length) ||\n slots['prepend-item'] ||\n slots['append-item'] ||\n slots['no-data']\n )\n const isDirty = model.value.length > 0\n const textFieldProps = VTextField.filterProps(props)\n\n const placeholder = isDirty || (\n !isFocused.value &&\n props.label &&\n !props.persistentPlaceholder\n ) ? undefined : props.placeholder\n\n return (\n <VTextField\n ref={ vTextFieldRef }\n { ...textFieldProps }\n modelValue={ model.value.map(v => v.props.value).join(', ') }\n onUpdate:modelValue={ onModelUpdate }\n v-model:focused={ isFocused.value }\n validationValue={ model.externalValue }\n counterValue={ model.value.length }\n dirty={ isDirty }\n class={[\n 'v-select',\n {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection,\n },\n props.class,\n ]}\n style={ props.style }\n inputmode=\"none\"\n placeholder={ placeholder }\n onClick:clear={ onClear }\n onMousedown:control={ onMousedownControl }\n onBlur={ onBlur }\n onKeydown={ onKeydown }\n aria-label={ t(label.value) }\n title={ t(label.value) }\n >\n {{\n ...slots,\n default: () => (\n <>\n <VMenu\n ref={ vMenuRef }\n v-model={ menu.value }\n activator=\"parent\"\n contentClass=\"v-select__content\"\n disabled={ menuDisabled.value }\n eager={ props.eager }\n maxHeight={ 310 }\n openOnClick={ false }\n closeOnContentClick={ false }\n transition={ props.transition }\n onAfterLeave={ onAfterLeave }\n { ...props.menuProps }\n >\n { hasList && (\n <VList\n ref={ listRef }\n selected={ selectedValues.value }\n selectStrategy={ props.multiple ? 'independent' : 'single-independent' }\n onMousedown={ (e: MouseEvent) => e.preventDefault() }\n onKeydown={ onListKeydown }\n onFocusin={ onFocusin }\n onScrollPassive={ onListScroll }\n tabindex=\"-1\"\n color={ props.itemColor ?? props.color }\n >\n { slots['prepend-item']?.() }\n\n { !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? (\n <VListItem title={ t(props.noDataText) } />\n ))}\n\n <VVirtualScroll ref={ vVirtualScrollRef } renderless items={ displayItems.value }>\n { ({ item, index, itemRef }) => {\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n onClick: () => select(item),\n })\n\n return slots.item?.({\n item,\n index,\n props: itemProps,\n }) ?? (\n <VListItem { ...itemProps }>\n {{\n prepend: ({ isSelected }) => (\n <>\n { props.multiple && !props.hideSelected ? (\n <VCheckboxBtn\n key={ item.value }\n modelValue={ isSelected }\n ripple={ false }\n tabindex=\"-1\"\n />\n ) : undefined }\n\n { item.props.prependIcon && (\n <VIcon icon={ item.props.prependIcon } />\n )}\n </>\n ),\n }}\n </VListItem>\n )\n }}\n </VVirtualScroll>\n\n { slots['append-item']?.() }\n </VList>\n )}\n </VMenu>\n\n { model.value.map((item, index) => {\n function onChipClose (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n\n select(item)\n }\n\n const slotProps = {\n 'onClick:close': onChipClose,\n onMousedown (e: MouseEvent) {\n e.preventDefault()\n e.stopPropagation()\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined,\n }\n\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection\n const slotContent = hasSlot\n ? ensureValidVNode(\n hasChips\n ? slots.chip!({ item, index, props: slotProps })\n : slots.selection!({ item, index })\n )\n : undefined\n\n if (hasSlot && !slotContent) return undefined\n\n return (\n <div key={ item.value } class=\"v-select__selection\">\n { hasChips ? (\n !slots.chip ? (\n <VChip\n key=\"chip\"\n closable={ props.closableChips }\n size=\"small\"\n text={ item.title }\n disabled={ item.props.disabled }\n { ...slotProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"chip-defaults\"\n defaults={{\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title,\n },\n }}\n >\n { slotContent }\n </VDefaultsProvider>\n )\n ) : (\n slotContent ?? (\n <span class=\"v-select__selection-text\">\n { item.title }\n { props.multiple && (index < model.value.length - 1) && (\n <span class=\"v-select__selection-comma\">,</span>\n )}\n </span>\n )\n )}\n </div>\n )\n })}\n </>\n ),\n 'append-inner': (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { props.menuIcon ? (\n <VIcon\n class=\"v-select__menu-icon\"\n icon={ props.menuIcon }\n />\n ) : undefined }\n </>\n ),\n }}\n </VTextField>\n )\n })\n\n return forwardRefs({\n isFocused,\n menu,\n select,\n }, vTextFieldRef)\n },\n})\n\nexport type VSelect = InstanceType<typeof VSelect>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,YAAY;AAAA,SACZC,KAAK;AAAA,SACLC,iBAAiB;AAAA,SACjBC,KAAK;AAAA,SACLC,KAAK,EAAEC,SAAS;AAAA,SAChBC,KAAK;AAAA,SACLC,mBAAmB,EAAEC,UAAU;AAAA,SAC/BC,cAAc,uCAEvB;AAAA,SACSC,YAAY;AAAA,SACZC,OAAO;AAAA,SACPC,WAAW;AAAA,SACXC,SAAS;AAAA,SACTC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,SAAS;AAAA,SACTC,eAAe;AAAA,SACfC,mBAAmB,4CAE5B;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,GAAG,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAEhEC,gBAAgB,EAChBC,gBAAgB,EAChBC,UAAU,EACVC,eAAe,EACfC,IAAI,EACJC,YAAY,EACZC,SAAS,EACTC,WAAW,gCAGb;AAkBA,OAAO,MAAMC,eAAe,GAAGH,YAAY,CAAC;EAC1CI,KAAK,EAAEC,OAAO;EACdC,aAAa,EAAED,OAAO;EACtBE,SAAS,EAAE;IACTC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRH,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDE,KAAK,EAAEP,OAAO;EACdQ,UAAU,EAAER,OAAO;EACnBS,YAAY,EAAET,OAAO;EACrBU,IAAI,EAAEV,OAAO;EACbW,QAAQ,EAAE;IACRR,IAAI,EAAExB,SAAS;IACf0B,OAAO,EAAE;EACX,CAAC;EACDO,SAAS,EAAE;IACTT,IAAI,EAAEU;EACR,CAAC;EACDC,QAAQ,EAAEd,OAAO;EACjBe,UAAU,EAAE;IACVZ,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDW,WAAW,EAAEhB,OAAO;EACpBiB,SAAS,EAAEb,MAAM;EAEjB,GAAGxB,cAAc,CAAC;IAAEsC,YAAY,EAAE;EAAM,CAAC;AAC3C,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,MAAMC,gBAAgB,GAAGxB,YAAY,CAAC;EAC3C,GAAGG,eAAe,EAAE;EACpB,GAAGJ,IAAI,CAACrB,mBAAmB,CAAC;IAC1B+C,UAAU,EAAE,IAAI;IAChBC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;EACpD,GAAGrC,mBAAmB,CAAC;IAAEsC,UAAU,EAAE;MAAEC,SAAS,EAAE1D;IAA+B;EAAE,CAAC;AACtF,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAM2D,OAAO,GAAGjC,gBAAgB,EAsBS,CAAC;EAC/CkC,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEP,gBAAgB,EAAE;EAEzBQ,KAAK,EAAE;IACL,gBAAgB,EAAGC,OAAgB,IAAK,IAAI;IAC5C,mBAAmB,EAAGC,GAAQ,IAAK,IAAI;IACvC,aAAa,EAAGA,GAAY,IAAK;EACnC,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAE,CAAC,GAAGnD,SAAS,EAAE;IACzB,MAAMoD,aAAa,GAAG/C,GAAG,EAAE;IAC3B,MAAMgD,QAAQ,GAAGhD,GAAG,EAAS;IAC7B,MAAMiD,iBAAiB,GAAGjD,GAAG,EAAkB;IAC/C,MAAMkD,KAAK,GAAGtD,eAAe,CAAC2C,KAAK,EAAE,MAAM,CAAC;IAC5C,MAAMhB,IAAI,GAAGzB,QAAQ,CAAC;MACpBqD,GAAG,EAAEA,CAAA,KAAMD,KAAK,CAACE,KAAK;MACtBC,GAAG,EAAEC,CAAC,IAAI;QACR,IAAIJ,KAAK,CAACE,KAAK,IAAI,CAACE,CAAC,IAAIN,QAAQ,CAACI,KAAK,EAAEG,aAAa,EAAE;QACxDL,KAAK,CAACE,KAAK,GAAGE,CAAC;MACjB;IACF,CAAC,CAAC;IACF,MAAM;MAAEE,KAAK;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGhE,QAAQ,CAAC6C,KAAK,CAAC;IAC5D,MAAMoB,KAAK,GAAG/D,eAAe,CAC3B2C,KAAK,EACL,YAAY,EACZ,EAAE,EACFe,CAAC,IAAIG,WAAW,CAACH,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG5C,WAAW,CAAC4C,CAAC,CAAC,CAAC,EACtDA,CAAC,IAAI;MACH,MAAMM,WAAW,GAAGF,YAAY,CAACJ,CAAC,CAAC;MACnC,OAAOf,KAAK,CAACZ,QAAQ,GAAGiC,WAAW,GAAIA,WAAW,CAAC,CAAC,CAAC,IAAI,IAAK;IAChE,CAAC,CACF;IACD,MAAMC,IAAI,GAAGvE,OAAO,EAAE;IACtB,MAAMwE,cAAc,GAAGhE,QAAQ,CAAC,MAAM6D,KAAK,CAACP,KAAK,CAACW,GAAG,CAACC,SAAS,IAAIA,SAAS,CAACZ,KAAK,CAAC,CAAC;IACpF,MAAMa,SAAS,GAAGhE,UAAU,CAAC,KAAK,CAAC;IACnC,MAAMiE,KAAK,GAAGpE,QAAQ,CAAC,MAAMyB,IAAI,CAAC6B,KAAK,GAAGb,KAAK,CAACxB,SAAS,GAAGwB,KAAK,CAACpB,QAAQ,CAAC;IAE3E,IAAIgD,oBAAoB,GAAG,EAAE;IAC7B,IAAIC,sBAA8B;IAElC,MAAMC,YAAY,GAAGvE,QAAQ,CAAC,MAAM;MAClC,IAAIyC,KAAK,CAACjB,YAAY,EAAE;QACtB,OAAOkC,KAAK,CAACJ,KAAK,CAACkB,MAAM,CAACC,IAAI,IAAI,CAACZ,KAAK,CAACP,KAAK,CAACoB,IAAI,CAACC,CAAC,IAAIA,CAAC,KAAKF,IAAI,CAAC,CAAC;MACvE;MACA,OAAOf,KAAK,CAACJ,KAAK;IACpB,CAAC,CAAC;IAEF,MAAMsB,YAAY,GAAG5E,QAAQ,CAAC,MAC3ByC,KAAK,CAAClB,UAAU,IAAI,CAACmC,KAAK,CAACJ,KAAK,CAACuB,MAAM,IACxCpC,KAAK,CAACqC,QAAQ,IAAIf,IAAI,EAAEgB,UAAU,CAACzB,KACpC,CAAC;IAEF,MAAM0B,OAAO,GAAG9E,GAAG,EAAS;IAC5B,MAAM;MAAE+E,YAAY;MAAEC;IAAc,CAAC,GAAG3F,YAAY,CAACyF,OAAO,EAAE/B,aAAa,CAAC;IAC5E,SAASkC,OAAOA,CAAEC,CAAa,EAAE;MAC/B,IAAI3C,KAAK,CAACV,WAAW,EAAE;QACrBN,IAAI,CAAC6B,KAAK,GAAG,IAAI;MACnB;IACF;IACA,SAAS+B,kBAAkBA,CAAA,EAAI;MAC7B,IAAIT,YAAY,CAACtB,KAAK,EAAE;MAExB7B,IAAI,CAAC6B,KAAK,GAAG,CAAC7B,IAAI,CAAC6B,KAAK;IAC1B;IACA,SAASgC,SAASA,CAAEF,CAAgB,EAAE;MACpC,IAAI,CAACA,CAAC,CAACG,GAAG,IAAI9C,KAAK,CAACqC,QAAQ,IAAIf,IAAI,EAAEgB,UAAU,CAACzB,KAAK,EAAE;MAExD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAACkC,QAAQ,CAACJ,CAAC,CAACG,GAAG,CAAC,EAAE;QACzEH,CAAC,CAACK,cAAc,EAAE;MACpB;MAEA,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,CAACD,QAAQ,CAACJ,CAAC,CAACG,GAAG,CAAC,EAAE;QAC/C9D,IAAI,CAAC6B,KAAK,GAAG,IAAI;MACnB;MAEA,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAACkC,QAAQ,CAACJ,CAAC,CAACG,GAAG,CAAC,EAAE;QACrC9D,IAAI,CAAC6B,KAAK,GAAG,KAAK;MACpB;MAEA,IAAI8B,CAAC,CAACG,GAAG,KAAK,MAAM,EAAE;QACpBP,OAAO,CAAC1B,KAAK,EAAEoC,KAAK,CAAC,OAAO,CAAC;MAC/B,CAAC,MAAM,IAAIN,CAAC,CAACG,GAAG,KAAK,KAAK,EAAE;QAC1BP,OAAO,CAAC1B,KAAK,EAAEoC,KAAK,CAAC,MAAM,CAAC;MAC9B;;MAEA;MACA,MAAMC,yBAAyB,GAAG,IAAI,EAAC;;MAEvC,SAASC,cAAcA,CAAER,CAAgB,EAAE;QACzC,MAAMS,eAAe,GAAGT,CAAC,CAACG,GAAG,CAACV,MAAM,KAAK,CAAC;QAC1C,MAAMiB,UAAU,GAAG,CAACV,CAAC,CAACW,OAAO,IAAI,CAACX,CAAC,CAACY,OAAO,IAAI,CAACZ,CAAC,CAACa,MAAM;QACxD,OAAOJ,eAAe,IAAIC,UAAU;MACtC;MAEA,IAAIrD,KAAK,CAACZ,QAAQ,IAAI,CAAC+D,cAAc,CAACR,CAAC,CAAC,EAAE;MAE1C,MAAMc,GAAG,GAAGC,WAAW,CAACD,GAAG,EAAE;MAC7B,IAAIA,GAAG,GAAG5B,sBAAsB,GAAGqB,yBAAyB,EAAE;QAC5DtB,oBAAoB,GAAG,EAAE;MAC3B;MACAA,oBAAoB,IAAIe,CAAC,CAACG,GAAG,CAACa,WAAW,EAAE;MAC3C9B,sBAAsB,GAAG4B,GAAG;MAE5B,MAAMzB,IAAI,GAAGf,KAAK,CAACJ,KAAK,CAAC+C,IAAI,CAAC5B,IAAI,IAAIA,IAAI,CAAC6B,KAAK,CAACF,WAAW,EAAE,CAACG,UAAU,CAAClC,oBAAoB,CAAC,CAAC;MAChG,IAAII,IAAI,KAAK+B,SAAS,EAAE;QACtB3C,KAAK,CAACP,KAAK,GAAG,CAACmB,IAAI,CAAC;MACtB;IACF;IACA,SAASgC,MAAMA,CAAEhC,IAAc,EAAE;MAC/B,IAAIhC,KAAK,CAACZ,QAAQ,EAAE;QAClB,MAAM6E,KAAK,GAAG7C,KAAK,CAACP,KAAK,CAACqD,SAAS,CAACzC,SAAS,IAAIzB,KAAK,CAACmE,eAAe,CAAC1C,SAAS,CAACZ,KAAK,EAAEmB,IAAI,CAACnB,KAAK,CAAC,CAAC;QAEpG,IAAIoD,KAAK,KAAK,CAAC,CAAC,EAAE;UAChB7C,KAAK,CAACP,KAAK,GAAG,CAAC,GAAGO,KAAK,CAACP,KAAK,EAAEmB,IAAI,CAAC;QACtC,CAAC,MAAM;UACL,MAAMnB,KAAK,GAAG,CAAC,GAAGO,KAAK,CAACP,KAAK,CAAC;UAC9BA,KAAK,CAACuD,MAAM,CAACH,KAAK,EAAE,CAAC,CAAC;UACtB7C,KAAK,CAACP,KAAK,GAAGA,KAAK;QACrB;MACF,CAAC,MAAM;QACLO,KAAK,CAACP,KAAK,GAAG,CAACmB,IAAI,CAAC;QACpBhD,IAAI,CAAC6B,KAAK,GAAG,KAAK;MACpB;IACF;IACA,SAASwD,MAAMA,CAAE1B,CAAa,EAAE;MAC9B,IAAI,CAACJ,OAAO,CAAC1B,KAAK,EAAEyD,GAAG,CAACC,QAAQ,CAAC5B,CAAC,CAAC6B,aAAa,CAAgB,EAAE;QAChExF,IAAI,CAAC6B,KAAK,GAAG,KAAK;MACpB;IACF;IACA,SAAS4D,YAAYA,CAAA,EAAI;MACvB,IAAI/C,SAAS,CAACb,KAAK,EAAE;QACnBL,aAAa,CAACK,KAAK,EAAEoC,KAAK,EAAE;MAC9B;IACF;IACA,SAASyB,SAASA,CAAE/B,CAAa,EAAE;MACjCjB,SAAS,CAACb,KAAK,GAAG,IAAI;IACxB;IACA,SAAS8D,aAAaA,CAAE5D,CAAM,EAAE;MAC9B,IAAIA,CAAC,IAAI,IAAI,EAAEK,KAAK,CAACP,KAAK,GAAG,EAAE,MAC1B,IAAI9C,eAAe,CAACyC,aAAa,CAACK,KAAK,EAAE,WAAW,CAAC,IAAI9C,eAAe,CAACyC,aAAa,CAACK,KAAK,EAAE,mBAAmB,CAAC,EAAE;QACvH,MAAMmB,IAAI,GAAGf,KAAK,CAACJ,KAAK,CAAC+C,IAAI,CAAC5B,IAAI,IAAIA,IAAI,CAAC6B,KAAK,KAAK9C,CAAC,CAAC;QACvD,IAAIiB,IAAI,EAAE;UACRgC,MAAM,CAAChC,IAAI,CAAC;QACd;MACF,CAAC,MAAM,IAAIxB,aAAa,CAACK,KAAK,EAAE;QAC9BL,aAAa,CAACK,KAAK,CAACA,KAAK,GAAG,EAAE;MAChC;IACF;IAEAlD,KAAK,CAACqB,IAAI,EAAE,MAAM;MAChB,IAAI,CAACgB,KAAK,CAACjB,YAAY,IAAIC,IAAI,CAAC6B,KAAK,IAAIO,KAAK,CAACP,KAAK,CAACuB,MAAM,EAAE;QAC3D,MAAM6B,KAAK,GAAGnC,YAAY,CAACjB,KAAK,CAACqD,SAAS,CACxClC,IAAI,IAAIZ,KAAK,CAACP,KAAK,CAACoB,IAAI,CAACC,CAAC,IAAIlC,KAAK,CAACmE,eAAe,CAACjC,CAAC,CAACrB,KAAK,EAAEmB,IAAI,CAACnB,KAAK,CAAC,CAAC,CAC1E;QACD/C,UAAU,IAAI8G,MAAM,CAACC,qBAAqB,CAAC,MAAM;UAC/CZ,KAAK,IAAI,CAAC,IAAIvD,iBAAiB,CAACG,KAAK,EAAEiE,aAAa,CAACb,KAAK,CAAC;QAC7D,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF/F,SAAS,CAAC,MAAM;MACd,MAAM6G,QAAQ,GAAG,CAAC,EAAE/E,KAAK,CAAC3B,KAAK,IAAIiC,KAAK,CAAC0E,IAAI,CAAC;MAC9C,MAAMC,OAAO,GAAG,CAAC,EACd,CAACjF,KAAK,CAAClB,UAAU,IAAIgD,YAAY,CAACjB,KAAK,CAACuB,MAAM,IAC/C9B,KAAK,CAAC,cAAc,CAAC,IACrBA,KAAK,CAAC,aAAa,CAAC,IACpBA,KAAK,CAAC,SAAS,CAAC,CACjB;MACD,MAAM4E,OAAO,GAAG9D,KAAK,CAACP,KAAK,CAACuB,MAAM,GAAG,CAAC;MACtC,MAAM+C,cAAc,GAAGvI,UAAU,CAACwI,WAAW,CAACpF,KAAK,CAAC;MAEpD,MAAMqF,WAAW,GAAGH,OAAO,IACzB,CAACxD,SAAS,CAACb,KAAK,IAChBb,KAAK,CAAC2B,KAAK,IACX,CAAC3B,KAAK,CAACsF,qBACR,GAAGvB,SAAS,GAAG/D,KAAK,CAACqF,WAAW;MAEjC,OAAAE,YAAA,CAAA3I,UAAA,EAAA4I,WAAA;QAAA,OAEUhF;MAAa,GACd2E,cAAc;QAAA,cACN/D,KAAK,CAACP,KAAK,CAACW,GAAG,CAACT,CAAC,IAAIA,CAAC,CAACf,KAAK,CAACa,KAAK,CAAC,CAAC4E,IAAI,CAAC,IAAI,CAAC;QAAA,uBACrCd,aAAa;QAAA,WACjBjD,SAAS,CAACb,KAAK;QAAA,oBAAA6E,MAAA,IAAfhE,SAAS,CAACb,KAAK,GAAA6E,MAAA;QAAA,mBACftE,KAAK,CAACuE,aAAa;QAAA,gBACtBvE,KAAK,CAACP,KAAK,CAACuB,MAAM;QAAA,SACzB8C,OAAO;QAAA,SACR,CACL,UAAU,EACV;UACE,uBAAuB,EAAElG,IAAI,CAAC6B,KAAK;UACnC,iBAAiB,EAAE,CAAC,CAACb,KAAK,CAAC3B,KAAK;UAChC,CAAE,aAAY2B,KAAK,CAACZ,QAAQ,GAAG,UAAU,GAAG,QAAS,EAAC,GAAG,IAAI;UAC7D,oBAAoB,EAAEgC,KAAK,CAACP,KAAK,CAACuB,MAAM;UACxC,0BAA0B,EAAE,CAAC,CAAC9B,KAAK,CAACmB;QACtC,CAAC,EACDzB,KAAK,CAAC4F,KAAK,CACZ;QAAA,SACO5F,KAAK,CAAC6F,KAAK;QAAA,aACT,MAAM;QAAA,eACFR,WAAW;QAAA,iBACT3C,OAAO;QAAA,uBACDE,kBAAkB;QAAA,UAC/ByB,MAAM;QAAA,aACHxB,SAAS;QAAA,cACRtC,CAAC,CAACoB,KAAK,CAACd,KAAK,CAAC;QAAA,SACnBN,CAAC,CAACoB,KAAK,CAACd,KAAK;MAAC;QAGpB,GAAGP,KAAK;QACR3B,OAAO,EAAEA,CAAA,KAAA4G,YAAA,CAAAO,SAAA,SAAAP,YAAA,CAAA7I,KAAA,EAAA8I,WAAA;UAAA,OAGG/E,QAAQ;UAAA,cACJzB,IAAI,CAAC6B,KAAK;UAAA,uBAAA6E,MAAA,IAAV1G,IAAI,CAAC6B,KAAK,GAAA6E,MAAA;UAAA,aACV,QAAQ;UAAA,gBACL,mBAAmB;UAAA,YACrBvD,YAAY,CAACtB,KAAK;UAAA,SACrBb,KAAK,CAACnB,KAAK;UAAA,aACP,GAAG;UAAA,eACD,KAAK;UAAA,uBACG,KAAK;UAAA,cACdmB,KAAK,CAACJ,UAAU;UAAA,gBACd6E;QAAY,GACtBzE,KAAK,CAACd,SAAS;UAAAP,OAAA,EAAAA,CAAA,MAElBsG,OAAO,IAAAM,YAAA,CAAA/I,KAAA;YAAA,OAEC+F,OAAO;YAAA,YACFhB,cAAc,CAACV,KAAK;YAAA,kBACdb,KAAK,CAACZ,QAAQ,GAAG,aAAa,GAAG,oBAAoB;YAAA,eACvDuD,CAAa,IAAKA,CAAC,CAACK,cAAc,EAAE;YAAA,aACvCP,aAAa;YAAA,aACbiC,SAAS;YAAA,mBACHlC,YAAY;YAAA,YACrB,IAAI;YAAA,SACLxC,KAAK,CAACT,SAAS,IAAIS,KAAK,CAAC+F;UAAK;YAAApH,OAAA,EAAAA,CAAA,MAEpC2B,KAAK,CAAC,cAAc,CAAC,IAAI,EAEzB,CAACwB,YAAY,CAACjB,KAAK,CAACuB,MAAM,IAAI,CAACpC,KAAK,CAAClB,UAAU,KAAKwB,KAAK,CAAC,SAAS,CAAC,IAAI,IAAAiF,YAAA,CAAA9I,SAAA;cAAA,SACrD8D,CAAC,CAACP,KAAK,CAACX,UAAU;YAAC,QACvC,CAAC,EAAAkG,YAAA,CAAA1I,cAAA;cAAA,OAEoB6D,iBAAiB;cAAA;cAAA,SAAsBoB,YAAY,CAACjB;YAAK;cAAAlC,OAAA,EAC3EqH,KAAA,IAA8B;gBAAA,IAA7B;kBAAEhE,IAAI;kBAAEiC,KAAK;kBAAEgC;gBAAQ,CAAC,GAAAD,KAAA;gBACzB,MAAME,SAAS,GAAG1I,UAAU,CAACwE,IAAI,CAAChC,KAAK,EAAE;kBACvCvC,GAAG,EAAEwI,OAAO;kBACZnD,GAAG,EAAEmB,KAAK;kBACVkC,OAAO,EAAEA,CAAA,KAAMnC,MAAM,CAAChC,IAAI;gBAC5B,CAAC,CAAC;gBAEF,OAAO1B,KAAK,CAAC0B,IAAI,GAAG;kBAClBA,IAAI;kBACJiC,KAAK;kBACLjE,KAAK,EAAEkG;gBACT,CAAC,CAAC,IAAAX,YAAA,CAAA9I,SAAA,EACgByJ,SAAS;kBAErBE,OAAO,EAAEC,KAAA;oBAAA,IAAC;sBAAEC;oBAAW,CAAC,GAAAD,KAAA;oBAAA,OAAAd,YAAA,CAAAO,SAAA,SAElB9F,KAAK,CAACZ,QAAQ,IAAI,CAACY,KAAK,CAACjB,YAAY,GAAAwG,YAAA,CAAAnJ,YAAA;sBAAA,OAE7B4F,IAAI,CAACnB,KAAK;sBAAA,cACHyF,UAAU;sBAAA,UACd,KAAK;sBAAA,YACL;oBAAI,WAEbvC,SAAS,EAEX/B,IAAI,CAAChC,KAAK,CAACuG,WAAW,IAAAhB,YAAA,CAAAhJ,KAAA;sBAAA,QACRyF,IAAI,CAAChC,KAAK,CAACuG;oBAAW,QACrC;kBAAA;gBAEJ,EAGN;cACH;YAAC,IAGDjG,KAAK,CAAC,aAAa,CAAC,IAAI;UAAA,EAE7B;QAAA,IAGDc,KAAK,CAACP,KAAK,CAACW,GAAG,CAAC,CAACQ,IAAI,EAAEiC,KAAK,KAAK;UACjC,SAASuC,WAAWA,CAAE7D,CAAQ,EAAE;YAC9BA,CAAC,CAAC8D,eAAe,EAAE;YACnB9D,CAAC,CAACK,cAAc,EAAE;YAElBgB,MAAM,CAAChC,IAAI,CAAC;UACd;UAEA,MAAM0E,SAAS,GAAG;YAChB,eAAe,EAAEF,WAAW;YAC5BG,WAAWA,CAAEhE,CAAa,EAAE;cAC1BA,CAAC,CAACK,cAAc,EAAE;cAClBL,CAAC,CAAC8D,eAAe,EAAE;YACrB,CAAC;YACD/G,UAAU,EAAE,IAAI;YAChB,qBAAqB,EAAEqE;UACzB,CAAC;UAED,MAAM6C,OAAO,GAAG7B,QAAQ,GAAG,CAAC,CAACzE,KAAK,CAAC0E,IAAI,GAAG,CAAC,CAAC1E,KAAK,CAACmB,SAAS;UAC3D,MAAMoF,WAAW,GAAGD,OAAO,GACvBhJ,gBAAgB,CAChBmH,QAAQ,GACJzE,KAAK,CAAC0E,IAAI,CAAE;YAAEhD,IAAI;YAAEiC,KAAK;YAAEjE,KAAK,EAAE0G;UAAU,CAAC,CAAC,GAC9CpG,KAAK,CAACmB,SAAS,CAAE;YAAEO,IAAI;YAAEiC;UAAM,CAAC,CAAC,CACtC,GACCF,SAAS;UAEb,IAAI6C,OAAO,IAAI,CAACC,WAAW,EAAE,OAAO9C,SAAS;UAE7C,OAAAwB,YAAA;YAAA,OACavD,IAAI,CAACnB,KAAK;YAAA,SAAS;UAAqB,IAC/CkE,QAAQ,GACR,CAACzE,KAAK,CAAC0E,IAAI,GAAAO,YAAA,CAAAlJ,KAAA,EAAAmJ,WAAA;YAAA,OAEH,MAAM;YAAA,YACCxF,KAAK,CAACzB,aAAa;YAAA,QACzB,OAAO;YAAA,QACLyD,IAAI,CAAC6B,KAAK;YAAA,YACN7B,IAAI,CAAChC,KAAK,CAAC8G;UAAQ,GACzBJ,SAAS,WAAAnB,YAAA,CAAAjJ,iBAAA;YAAA,OAIV,eAAe;YAAA,YACT;cACRD,KAAK,EAAE;gBACL0K,QAAQ,EAAE/G,KAAK,CAACzB,aAAa;gBAC7ByI,IAAI,EAAE,OAAO;gBACbC,IAAI,EAAEjF,IAAI,CAAC6B;cACb;YACF;UAAC;YAAAlF,OAAA,EAAAA,CAAA,MAECkI,WAAW;UAAA,EAEhB,GAEDA,WAAW,IAAAtB,YAAA;YAAA,SACG;UAA0B,IAClCvD,IAAI,CAAC6B,KAAK,EACV7D,KAAK,CAACZ,QAAQ,IAAK6E,KAAK,GAAG7C,KAAK,CAACP,KAAK,CAACuB,MAAM,GAAG,CAAE,IAAAmD,YAAA;YAAA,SACtC;UAA2B,IAAA2B,gBAAA,OACxC,EAGN;QAGP,CAAC,CAAC,EAEL;QACD,cAAc,EAAE,SAAAC,CAAA;UAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAjF,MAAA,EAAIkF,IAAI,OAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAH,SAAA,CAAAG,IAAA;UAAA;UAAA,OAAAjC,YAAA,CAAAO,SAAA,SAElBxF,KAAK,CAAC,cAAc,CAAC,GAAG,GAAGgH,IAAI,CAAC,EAChCtH,KAAK,CAACf,QAAQ,GAAAsG,YAAA,CAAAhJ,KAAA;YAAA,SAEN,qBAAqB;YAAA,QACpByD,KAAK,CAACf;UAAQ,WAErB8E,SAAS;QAAA;MAEhB;IAIT,CAAC,CAAC;IAEF,OAAO/G,WAAW,CAAC;MACjB0E,SAAS;MACT1C,IAAI;MACJgF;IACF,CAAC,EAAExD,aAAa,CAAC;EACnB;AACF,CAAC,CAAC"}
@@ -50,7 +50,7 @@ type GenericProps<Props, Slots extends Record<string, unknown>> = {
50
50
  $slots: MakeSlots<Slots>;
51
51
  };
52
52
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
53
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
53
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
54
54
  }
55
55
 
56
56
  declare function deepEqual(a: any, b: any): boolean;
@@ -27,7 +27,7 @@ type GenericProps<Props, Slots extends Record<string, unknown>> = {
27
27
  $slots: MakeSlots<Slots>;
28
28
  };
29
29
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
30
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
30
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
31
31
  }
32
32
 
33
33
  declare function deepEqual(a: any, b: any): boolean;
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  declare function deepEqual(a: any, b: any): boolean;
@@ -8,7 +8,7 @@ type Tinline = typeof inline[number];
8
8
  type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
9
9
 
10
10
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
11
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
11
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
12
12
  }
13
13
 
14
14
  declare const VSheet: {
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, VNode, PropType } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  declare const VSkeletonLoader: {
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType, ComponentInternalInstance, Ref, ComputedRef, InjectionKey, UnwrapRef } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
@@ -84,7 +84,7 @@ export const VSlider = genericComponent()({
84
84
  } = useFocus(props);
85
85
  const trackStop = computed(() => position(model.value));
86
86
  useRender(() => {
87
- const [inputProps, _] = VInput.filterProps(props);
87
+ const inputProps = VInput.filterProps(props);
88
88
  const hasPrepend = !!(props.label || slots.label || slots.prepend);
89
89
  return _createVNode(VInput, _mergeProps({
90
90
  "class": ['v-slider', {
@@ -1 +1 @@
1
- {"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","makeVInputProps","VInput","VLabel","makeSliderProps","useSlider","useSteps","makeFocusProps","useFocus","useRtl","useProxiedModel","computed","ref","genericComponent","propsFactory","useRender","makeVSliderProps","modelValue","type","Number","String","default","VSlider","name","props","emits","value","v","start","end","setup","_ref","slots","emit","thumbContainerRef","rtlClasses","steps","model","undefined","roundValue","min","max","mousePressed","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","onSliderStart","onSliderEnd","_ref2","roundedValue","onSliderMove","_ref3","getActiveThumb","$el","isFocused","focus","blur","trackStop","inputProps","_","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","id","_ref4","messagesId","elevation","ripple"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeSliderProps, useSlider, useSteps } from './slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSliderThumbSlots } from './VSliderThumb'\nimport type { VSliderTrackSlots } from './VSliderTrack'\nimport type { VInputSlot, VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & VSliderThumbSlots & VSliderTrackSlots & {\n label: VInputSlot\n}\n\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n}, 'VSlider')\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: makeVSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n start: (value: number) => true,\n end: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const thumbContainerRef = ref()\n const { rtlClasses } = useRtl()\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n value => {\n return steps.roundValue(value == null ? steps.min.value : value)\n },\n )\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const roundedValue = roundValue(value)\n model.value = roundedValue\n emit('end', roundedValue)\n },\n onSliderMove: ({ value }) => model.value = roundValue(value),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const [inputProps, _] = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? (\n props.label\n ? (\n <VLabel\n id={ slotProps.id.value }\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n )}\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n ripple={ props.ripple }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,YAAY;AAAA,SACZC,eAAe,EAAEC,MAAM;AAAA,SACvBC,MAAM,+BAEf;AAAA,SACSC,eAAe,EAAEC,SAAS,EAAEC,QAAQ;AAAA,SACpCC,cAAc,EAAEC,QAAQ;AAAA,SACxBC,MAAM;AAAA,SACNC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,GAAG,QAAQ,KAAK;AAAA,SAC1BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AASA,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3C,GAAGP,cAAc,EAAE;EACnB,GAAGH,eAAe,EAAE;EACpB,GAAGH,eAAe,EAAE;EAEpBgB,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMC,OAAO,GAAGT,gBAAgB,EAAgB,CAAC;EACtDU,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAER,gBAAgB,EAAE;EAEzBS,KAAK,EAAE;IACL,gBAAgB,EAAGC,KAAc,IAAK,IAAI;IAC1C,mBAAmB,EAAGC,CAAS,IAAK,IAAI;IACxCC,KAAK,EAAGF,KAAa,IAAK,IAAI;IAC9BG,GAAG,EAAGH,KAAa,IAAK;EAC1B,CAAC;EAEDI,KAAKA,CAAEN,KAAK,EAAAO,IAAA,EAAmB;IAAA,IAAjB;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAAF,IAAA;IAC3B,MAAMG,iBAAiB,GAAGtB,GAAG,EAAE;IAC/B,MAAM;MAAEuB;IAAW,CAAC,GAAG1B,MAAM,EAAE;IAE/B,MAAM2B,KAAK,GAAG9B,QAAQ,CAACkB,KAAK,CAAC;IAE7B,MAAMa,KAAK,GAAG3B,eAAe,CAC3Bc,KAAK,EACL,YAAY,EACZc,SAAS,EACTZ,KAAK,IAAI;MACP,OAAOU,KAAK,CAACG,UAAU,CAACb,KAAK,IAAI,IAAI,GAAGU,KAAK,CAACI,GAAG,CAACd,KAAK,GAAGA,KAAK,CAAC;IAClE,CAAC,CACF;IAED,MAAM;MACJc,GAAG;MACHC,GAAG;MACHC,YAAY;MACZH,UAAU;MACVI,iBAAiB;MACjBC,kBAAkB;MAClBC,iBAAiB;MACjBC,QAAQ;MACRC,SAAS;MACTC;IACF,CAAC,GAAG3C,SAAS,CAAC;MACZmB,KAAK;MACLY,KAAK;MACLa,aAAa,EAAEA,CAAA,KAAM;QACnBhB,IAAI,CAAC,OAAO,EAAEI,KAAK,CAACX,KAAK,CAAC;MAC5B,CAAC;MACDwB,WAAW,EAAEC,KAAA,IAAe;QAAA,IAAd;UAAEzB;QAAM,CAAC,GAAAyB,KAAA;QACrB,MAAMC,YAAY,GAAGb,UAAU,CAACb,KAAK,CAAC;QACtCW,KAAK,CAACX,KAAK,GAAG0B,YAAY;QAC1BnB,IAAI,CAAC,KAAK,EAAEmB,YAAY,CAAC;MAC3B,CAAC;MACDC,YAAY,EAAEC,KAAA;QAAA,IAAC;UAAE5B;QAAM,CAAC,GAAA4B,KAAA;QAAA,OAAKjB,KAAK,CAACX,KAAK,GAAGa,UAAU,CAACb,KAAK,CAAC;MAAA;MAC5D6B,cAAc,EAAEA,CAAA,KAAMrB,iBAAiB,CAACR,KAAK,EAAE8B;IACjD,CAAC,CAAC;IAEF,MAAM;MAAEC,SAAS;MAAEC,KAAK;MAAEC;IAAK,CAAC,GAAGnD,QAAQ,CAACgB,KAAK,CAAC;IAClD,MAAMoC,SAAS,GAAGjD,QAAQ,CAAC,MAAMmC,QAAQ,CAACT,KAAK,CAACX,KAAK,CAAC,CAAC;IAEvDX,SAAS,CAAC,MAAM;MACd,MAAM,CAAC8C,UAAU,EAAEC,CAAC,CAAC,GAAG5D,MAAM,CAAC6D,WAAW,CAACvC,KAAK,CAAC;MACjD,MAAMwC,UAAU,GAAG,CAAC,EAAExC,KAAK,CAACyC,KAAK,IAAIjC,KAAK,CAACiC,KAAK,IAAIjC,KAAK,CAACkC,OAAO,CAAC;MAElE,OAAAC,YAAA,CAAAjE,MAAA,EAAAkE,WAAA;QAAA,SAEW,CACL,UAAU,EACV;UACE,sBAAsB,EAAE,CAAC,CAACpC,KAAK,CAAC,YAAY,CAAC,IAAIe,SAAS,CAACrB,KAAK;UAChE,mBAAmB,EAAE+B,SAAS,CAAC/B,KAAK;UACpC,mBAAmB,EAAEgB,YAAY,CAAChB,KAAK;UACvC,oBAAoB,EAAEF,KAAK,CAAC6C;QAC9B,CAAC,EACDlC,UAAU,CAACT,KAAK,EAChBF,KAAK,CAAC8C,KAAK,CACZ;QAAA,SACO9C,KAAK,CAAC+C;MAAK,GACdV,UAAU;QAAA,WACLJ,SAAS,CAAC/B;MAAK;QAGvB,GAAGM,KAAK;QACRkC,OAAO,EAAEF,UAAU,GAAGQ,SAAS,IAAAL,YAAA,CAAAM,SAAA,SAEzBzC,KAAK,CAACiC,KAAK,GAAGO,SAAS,CAAC,KACxBhD,KAAK,CAACyC,KAAK,GAAAE,YAAA,CAAAhE,MAAA;UAAA,MAGAqE,SAAS,CAACE,EAAE,CAAChD,KAAK;UAAA,SACjB,iBAAiB;UAAA,QAChBF,KAAK,CAACyC;QAAK,WAElB3B,SAAS,CAChB,EAECN,KAAK,CAACkC,OAAO,GAAGM,SAAS,CAAC,EAE/B,GAAGlC,SAAS;QACbjB,OAAO,EAAEsD,KAAA;UAAA,IAAC;YAAED,EAAE;YAAEE;UAAW,CAAC,GAAAD,KAAA;UAAA,OAAAR,YAAA;YAAA,SAElB,qBAAqB;YAAA,eACb,CAACnB,QAAQ,CAACtB,KAAK,GAAGiB,iBAAiB,GAAGL,SAAS;YAAA,uBACvC,CAACU,QAAQ,CAACtB,KAAK,GAAGkB,kBAAkB,GAAGN;UAAS,IAAA6B,YAAA;YAAA,MAG/DO,EAAE,CAAChD,KAAK;YAAA,QACNF,KAAK,CAACD,IAAI,IAAImD,EAAE,CAAChD,KAAK;YAAA,YAClB,CAAC,CAACF,KAAK,CAAC6C,QAAQ;YAAA,YAChB,CAAC,CAAC7C,KAAK,CAACwB,QAAQ;YAAA,YAClB,IAAI;YAAA,SACLX,KAAK,CAACX;UAAK,UAAAyC,YAAA,CAAAnE,YAAA;YAAA,OAIb6C,iBAAiB;YAAA,SACf,CAAC;YAAA,QACFe,SAAS,CAAClC;UAAK;YAEnB,YAAY,EAAEM,KAAK,CAAC,YAAY;UAAC,IAAAmC,YAAA,CAAApE,YAAA;YAAA,OAI9BmC,iBAAiB;YAAA,oBACJ0C,UAAU,CAAClD,KAAK;YAAA,WACzB+B,SAAS,CAAC/B,KAAK;YAAA,OACnBc,GAAG,CAACd,KAAK;YAAA,OACTe,GAAG,CAACf,KAAK;YAAA,cACFW,KAAK,CAACX,KAAK;YAAA,uBACFC,CAAC,IAAKU,KAAK,CAACX,KAAK,GAAGC,CAAE;YAAA,YACjCiC,SAAS,CAAClC,KAAK;YAAA,aACdF,KAAK,CAACqD,SAAS;YAAA,WACjBnB,KAAK;YAAA,UACNC,IAAI;YAAA,UACJnC,KAAK,CAACsD;UAAM;YAElB,aAAa,EAAE9C,KAAK,CAAC,aAAa;UAAC;QAAA;MAG3C;IAIT,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSlider.mjs","names":["VSliderThumb","VSliderTrack","makeVInputProps","VInput","VLabel","makeSliderProps","useSlider","useSteps","makeFocusProps","useFocus","useRtl","useProxiedModel","computed","ref","genericComponent","propsFactory","useRender","makeVSliderProps","modelValue","type","Number","String","default","VSlider","name","props","emits","value","v","start","end","setup","_ref","slots","emit","thumbContainerRef","rtlClasses","steps","model","undefined","roundValue","min","max","mousePressed","onSliderMousedown","onSliderTouchstart","trackContainerRef","position","hasLabels","readonly","onSliderStart","onSliderEnd","_ref2","roundedValue","onSliderMove","_ref3","getActiveThumb","$el","isFocused","focus","blur","trackStop","inputProps","filterProps","hasPrepend","label","prepend","_createVNode","_mergeProps","disabled","class","style","slotProps","_Fragment","id","_ref4","messagesId","elevation","ripple"],"sources":["../../../src/components/VSlider/VSlider.tsx"],"sourcesContent":["// Styles\nimport './VSlider.sass'\n\n// Components\nimport { VSliderThumb } from './VSliderThumb'\nimport { VSliderTrack } from './VSliderTrack'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VLabel } from '@/components/VLabel'\n\n// Composables\nimport { makeSliderProps, useSlider, useSteps } from './slider'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { VSliderThumbSlots } from './VSliderThumb'\nimport type { VSliderTrackSlots } from './VSliderTrack'\nimport type { VInputSlot, VInputSlots } from '@/components/VInput/VInput'\n\nexport type VSliderSlots = VInputSlots & VSliderThumbSlots & VSliderTrackSlots & {\n label: VInputSlot\n}\n\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n}, 'VSlider')\n\nexport const VSlider = genericComponent<VSliderSlots>()({\n name: 'VSlider',\n\n props: makeVSliderProps(),\n\n emits: {\n 'update:focused': (value: boolean) => true,\n 'update:modelValue': (v: number) => true,\n start: (value: number) => true,\n end: (value: number) => true,\n },\n\n setup (props, { slots, emit }) {\n const thumbContainerRef = ref()\n const { rtlClasses } = useRtl()\n\n const steps = useSteps(props)\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n value => {\n return steps.roundValue(value == null ? steps.min.value : value)\n },\n )\n\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly,\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value)\n },\n onSliderEnd: ({ value }) => {\n const roundedValue = roundValue(value)\n model.value = roundedValue\n emit('end', roundedValue)\n },\n onSliderMove: ({ value }) => model.value = roundValue(value),\n getActiveThumb: () => thumbContainerRef.value?.$el,\n })\n\n const { isFocused, focus, blur } = useFocus(props)\n const trackStop = computed(() => position(model.value))\n\n useRender(() => {\n const inputProps = VInput.filterProps(props)\n const hasPrepend = !!(props.label || slots.label || slots.prepend)\n\n return (\n <VInput\n class={[\n 'v-slider',\n {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...inputProps }\n focused={ isFocused.value }\n >\n {{\n ...slots,\n prepend: hasPrepend ? slotProps => (\n <>\n { slots.label?.(slotProps) ?? (\n props.label\n ? (\n <VLabel\n id={ slotProps.id.value }\n class=\"v-slider__label\"\n text={ props.label }\n />\n ) : undefined\n )}\n\n { slots.prepend?.(slotProps) }\n </>\n ) : undefined,\n default: ({ id, messagesId }) => (\n <div\n class=\"v-slider__container\"\n onMousedown={ !readonly.value ? onSliderMousedown : undefined }\n onTouchstartPassive={ !readonly.value ? onSliderTouchstart : undefined }\n >\n <input\n id={ id.value }\n name={ props.name || id.value }\n disabled={ !!props.disabled }\n readonly={ !!props.readonly }\n tabindex=\"-1\"\n value={ model.value }\n />\n\n <VSliderTrack\n ref={ trackContainerRef }\n start={ 0 }\n stop={ trackStop.value }\n >\n {{ 'tick-label': slots['tick-label'] }}\n </VSliderTrack>\n\n <VSliderThumb\n ref={ thumbContainerRef }\n aria-describedby={ messagesId.value }\n focused={ isFocused.value }\n min={ min.value }\n max={ max.value }\n modelValue={ model.value }\n onUpdate:modelValue={ v => (model.value = v) }\n position={ trackStop.value }\n elevation={ props.elevation }\n onFocus={ focus }\n onBlur={ blur }\n ripple={ props.ripple }\n >\n {{ 'thumb-label': slots['thumb-label'] }}\n </VSliderThumb>\n </div>\n ),\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSlider = InstanceType<typeof VSlider>\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import * as vue from 'vue';
2
2
  import { ComponentPropsOptions, ExtractPropTypes, PropType, JSXComponent, ComputedRef, Ref } from 'vue';
3
3
 
4
4
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
5
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
5
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
8
  type EventProp<T extends any[] = any[], F = (...args: T) => any> = F | F[];
@@ -134,7 +134,7 @@ export const VSnackbar = genericComponent()({
134
134
  startTimeout();
135
135
  }
136
136
  useRender(() => {
137
- const [overlayProps] = VOverlay.filterProps(props);
137
+ const overlayProps = VOverlay.filterProps(props);
138
138
  const hasContent = !!(slots.default || slots.text || props.text);
139
139
  return _createVNode(VOverlay, _mergeProps({
140
140
  "ref": overlay,
@@ -1 +1 @@
1
- {"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","makeVOverlayProps","VProgressLinear","forwardRefs","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","useScopeId","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","mergeProps","nextTick","onMounted","onScopeDispose","ref","shallowRef","watch","genericComponent","omit","propsFactory","refElement","useRender","useCountdown","milliseconds","time","timer","clear","clearInterval","reset","value","start","el","style","getComputedStyle","transitionDuration","interval","parseFloat","startTime","performance","now","window","setInterval","elapsed","Math","max","makeVSnackbarProps","multiLine","Boolean","text","String","timeout","type","Number","default","vertical","location","transition","VSnackbar","name","props","emits","v","setup","_ref","slots","isActive","locationStyles","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","countdown","overlay","timerRef","isHovering","startTimeout","activeTimeout","clearTimeout","element","setTimeout","onPointerenter","onPointerleave","overlayProps","filterProps","hasContent","_createVNode","_mergeProps","class","$event","contentProps","actions","VBtn","variant","ripple","slim","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, refElement, useRender } from '@/util'\n\ntype VSnackbarSlots = {\n activator: { isActive: boolean, props: Record<string, any> }\n default: never\n actions: never\n text: never\n}\n\nfunction useCountdown (milliseconds: number) {\n const time = shallowRef(milliseconds)\n let timer = -1\n\n function clear () {\n clearInterval(timer)\n }\n\n function reset () {\n clear()\n\n nextTick(() => time.value = milliseconds)\n }\n\n function start (el?: HTMLElement) {\n const style = el ? getComputedStyle(el) : { transitionDuration: 0.2 }\n const interval = parseFloat(style.transitionDuration) * 1000 || 200\n\n clear()\n\n if (time.value <= 0) return\n\n const startTime = performance.now()\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval\n time.value = Math.max(milliseconds - elapsed, 0)\n\n if (time.value <= 0) clear()\n }, interval)\n }\n\n onScopeDispose(clear)\n\n return { clear, time, start, reset }\n}\n\nexport const makeVSnackbarProps = propsFactory({\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition',\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy']),\n}, 'VSnackbar')\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: makeVSnackbarProps(),\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n const countdown = useCountdown(Number(props.timeout))\n\n const overlay = ref<VOverlay>()\n const timerRef = ref<VProgressLinear>()\n const isHovering = shallowRef(false)\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n const element = refElement(timerRef.value)\n\n countdown.start(element)\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function clearTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n }\n\n function onPointerenter () {\n isHovering.value = true\n clearTimeout()\n }\n\n function onPointerleave () {\n isHovering.value = false\n startTimeout()\n }\n\n useRender(() => {\n const [overlayProps] = VOverlay.filterProps(props)\n const hasContent = !!(slots.default || slots.text || props.text)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n contentProps={ mergeProps({\n class: [\n 'v-snackbar__wrapper',\n themeClasses.value,\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ],\n style: [\n locationStyles.value,\n colorStyles.value,\n ],\n onPointerenter,\n onPointerleave,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n _disableGlobalStack\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { props.timer && (\n <div key=\"timer\" class=\"v-snackbar__timer\">\n <VProgressLinear\n ref={ timerRef }\n active={ !isHovering.value }\n color={ typeof props.timer === 'string' ? props.timer : 'info' }\n max={ props.timeout }\n model-value={ countdown.time.value }\n />\n </div>\n )}\n\n { hasContent && (\n <div\n key=\"content\"\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions() }\n </div>\n </VDefaultsProvider>\n )}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","makeVOverlayProps","VProgressLinear","forwardRefs","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","useScopeId","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","mergeProps","nextTick","onMounted","onScopeDispose","ref","shallowRef","watch","genericComponent","omit","propsFactory","refElement","useRender","useCountdown","milliseconds","time","timer","clear","clearInterval","reset","value","start","el","style","getComputedStyle","transitionDuration","interval","parseFloat","startTime","performance","now","window","setInterval","elapsed","Math","max","makeVSnackbarProps","multiLine","Boolean","text","String","timeout","type","Number","default","vertical","location","transition","VSnackbar","name","props","emits","v","setup","_ref","slots","isActive","locationStyles","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","countdown","overlay","timerRef","isHovering","startTimeout","activeTimeout","clearTimeout","element","setTimeout","onPointerenter","onPointerleave","overlayProps","filterProps","hasContent","_createVNode","_mergeProps","class","$event","contentProps","actions","VBtn","variant","ripple","slim","activator"],"sources":["../../../src/components/VSnackbar/VSnackbar.tsx"],"sourcesContent":["// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\nimport { VProgressLinear } from '@/components/VProgressLinear'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { useScopeId } from '@/composables/scopeId'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, refElement, useRender } from '@/util'\n\ntype VSnackbarSlots = {\n activator: { isActive: boolean, props: Record<string, any> }\n default: never\n actions: never\n text: never\n}\n\nfunction useCountdown (milliseconds: number) {\n const time = shallowRef(milliseconds)\n let timer = -1\n\n function clear () {\n clearInterval(timer)\n }\n\n function reset () {\n clear()\n\n nextTick(() => time.value = milliseconds)\n }\n\n function start (el?: HTMLElement) {\n const style = el ? getComputedStyle(el) : { transitionDuration: 0.2 }\n const interval = parseFloat(style.transitionDuration) * 1000 || 200\n\n clear()\n\n if (time.value <= 0) return\n\n const startTime = performance.now()\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval\n time.value = Math.max(milliseconds - elapsed, 0)\n\n if (time.value <= 0) clear()\n }, interval)\n }\n\n onScopeDispose(clear)\n\n return { clear, time, start, reset }\n}\n\nexport const makeVSnackbarProps = propsFactory({\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n vertical: Boolean,\n\n ...makeLocationProps({ location: 'bottom' } as const),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition',\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy']),\n}, 'VSnackbar')\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: makeVSnackbarProps(),\n\n emits: {\n 'update:modelValue': (v: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { scopeId } = useScopeId()\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(props)\n const { roundedClasses } = useRounded(props)\n const countdown = useCountdown(Number(props.timeout))\n\n const overlay = ref<VOverlay>()\n const timerRef = ref<VProgressLinear>()\n const isHovering = shallowRef(false)\n\n watch(isActive, startTimeout)\n watch(() => props.timeout, startTimeout)\n\n onMounted(() => {\n if (isActive.value) startTimeout()\n })\n\n let activeTimeout = -1\n function startTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n const element = refElement(timerRef.value)\n\n countdown.start(element)\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function clearTimeout () {\n countdown.reset()\n window.clearTimeout(activeTimeout)\n }\n\n function onPointerenter () {\n isHovering.value = true\n clearTimeout()\n }\n\n function onPointerleave () {\n isHovering.value = false\n startTimeout()\n }\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const hasContent = !!(slots.default || slots.text || props.text)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-snackbar',\n {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical,\n },\n positionClasses.value,\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n contentProps={ mergeProps({\n class: [\n 'v-snackbar__wrapper',\n themeClasses.value,\n colorClasses.value,\n roundedClasses.value,\n variantClasses.value,\n ],\n style: [\n locationStyles.value,\n colorStyles.value,\n ],\n onPointerenter,\n onPointerleave,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n _disableGlobalStack\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { props.timer && (\n <div key=\"timer\" class=\"v-snackbar__timer\">\n <VProgressLinear\n ref={ timerRef }\n active={ !isHovering.value }\n color={ typeof props.timer === 'string' ? props.timer : 'info' }\n max={ props.timeout }\n model-value={ countdown.time.value }\n />\n </div>\n )}\n\n { hasContent && (\n <div\n key=\"content\"\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true,\n },\n }}\n >\n <div class=\"v-snackbar__actions\">\n { slots.actions() }\n </div>\n </VDefaultsProvider>\n )}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VSnackbar = InstanceType<typeof VSnackbar>\n"],"mappings":"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"}
@@ -47,7 +47,7 @@ type Tinline = typeof inline[number];
47
47
  type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
48
48
 
49
49
  interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
50
- filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): [yes: Partial<Pick<T, U>>, no: Omit<T, U>];
50
+ filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
51
51
  }
52
52
 
53
53
  interface LocationStrategyData {
@@ -96,7 +96,7 @@ export const VStepper = genericComponent()({
96
96
  }
97
97
  });
98
98
  useRender(() => {
99
- const [sheetProps] = VSheet.filterProps(props);
99
+ const sheetProps = VSheet.filterProps(props);
100
100
  const hasHeader = !!(slots.header || props.items.length);
101
101
  const hasWindow = props.items.length > 0;
102
102
  const hasActions = !props.hideActions && !!(hasWindow || slots.actions);
@@ -1 +1 @@
1
- {"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type StepperItem = string | Record<string, any>\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: StepperItem\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const [sheetProps] = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map((item, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type StepperItem = string | Record<string, any>\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: StepperItem\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeVStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map((item, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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"}
@@ -3,12 +3,10 @@ import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirectiv
3
3
  import { makeVWindowProps, VWindow } from "../VWindow/VWindow.mjs"; // Composables
4
4
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
5
5
  import { computed, inject } from 'vue';
6
- import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
6
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
7
7
  export const VStepperSymbol = Symbol.for('vuetify:v-stepper');
8
8
  export const makeVStepperWindowProps = propsFactory({
9
- ...makeVWindowProps({
10
- mandatory: false
11
- })
9
+ ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])
12
10
  }, 'VStepperWindow');
13
11
  export const VStepperWindow = genericComponent()({
14
12
  name: 'VStepperWindow',
@@ -37,11 +35,15 @@ export const VStepperWindow = genericComponent()({
37
35
  }
38
36
  });
39
37
  useRender(() => {
40
- const [windowProps] = VWindow.filterProps(props);
41
- return _createVNode(VWindow, _mergeProps(windowProps, {
38
+ const windowProps = VWindow.filterProps(props);
39
+ return _createVNode(VWindow, _mergeProps({
40
+ "_as": "VStepperWindow"
41
+ }, windowProps, {
42
42
  "modelValue": model.value,
43
43
  "onUpdate:modelValue": $event => model.value = $event,
44
- "class": "v-stepper-window"
44
+ "class": "v-stepper-window",
45
+ "mandatory": false,
46
+ "touch": false
45
47
  }), slots);
46
48
  });
47
49
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"VStepperWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperWindowProps","mandatory","VStepperWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VStepper/VStepperWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-stepper')\n\nexport const makeVStepperWindowProps = propsFactory({\n ...makeVWindowProps({\n mandatory: false as const,\n }),\n}, 'VStepperWindow')\n\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n\n props: makeVStepperWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VStepperSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const [windowProps] = VWindow.filterProps(props)\n\n return (\n <VWindow\n { ...windowProps }\n v-model={ model.value }\n class=\"v-stepper-window\"\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindow = InstanceType<typeof VStepperWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAIA,OAAO,MAAMC,cAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAEzF,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CAAC;EAClD,GAAGN,gBAAgB,CAAC;IAClBY,SAAS,EAAE;EACb,CAAC;AACH,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMC,cAAc,GAAGR,gBAAgB,EAAE,CAAC;EAC/CS,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEJ,uBAAuB,EAAE;EAEhCK,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGjB,MAAM,CAACI,cAAc,EAAE,IAAI,CAAC;IAC1C,MAAMc,MAAM,GAAGpB,eAAe,CAACa,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGpB,QAAQ,CAAC;MACrBqB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEF1B,SAAS,CAAC,MAAM;MACd,MAAM,CAAC2B,WAAW,CAAC,GAAGjC,OAAO,CAACkC,WAAW,CAACpB,KAAK,CAAC;MAEhD,OAAAqB,YAAA,CAAAnC,OAAA,EAAAoC,WAAA,CAESH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA,SACf;MAAkB,IACdlB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VStepperWindow.mjs","names":["makeVWindowProps","VWindow","useProxiedModel","computed","inject","genericComponent","omit","propsFactory","useRender","VStepperSymbol","Symbol","for","makeVStepperWindowProps","VStepperWindow","name","props","emits","v","setup","_ref","slots","group","_model","model","get","value","items","find","item","selected","includes","id","set","val","windowProps","filterProps","_createVNode","_mergeProps","$event"],"sources":["../../../src/components/VStepper/VStepperWindow.tsx"],"sourcesContent":["// Components\nimport { makeVWindowProps, VWindow } from '@/components/VWindow/VWindow'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupProvide> = Symbol.for('vuetify:v-stepper')\n\nexport const makeVStepperWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory']),\n}, 'VStepperWindow')\n\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n\n props: makeVStepperWindowProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const group = inject(VStepperSymbol, null)\n const _model = useProxiedModel(props, 'modelValue')\n\n const model = computed({\n get () {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value\n },\n set (val) {\n _model.value = val\n },\n })\n\n useRender(() => {\n const windowProps = VWindow.filterProps(props)\n\n return (\n <VWindow\n _as=\"VStepperWindow\"\n { ...windowProps }\n v-model={ model.value }\n class=\"v-stepper-window\"\n mandatory={ false }\n touch={ false }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VStepperWindow = InstanceType<typeof VStepperWindow>\n"],"mappings":";AAAA;AAAA,SACSA,gBAAgB,EAAEC,OAAO,kCAElC;AAAA,SACSC,eAAe,8CAExB;AACA,SAASC,QAAQ,EAAEC,MAAM,QAAQ,KAAK;AAAA,SAC7BC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAIA,OAAO,MAAMC,cAA0C,GAAGC,MAAM,CAACC,GAAG,CAAC,mBAAmB,CAAC;AAEzF,OAAO,MAAMC,uBAAuB,GAAGL,YAAY,CAAC;EAClD,GAAGD,IAAI,CAACN,gBAAgB,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC;AACxG,CAAC,EAAE,gBAAgB,CAAC;AAEpB,OAAO,MAAMa,cAAc,GAAGR,gBAAgB,EAAE,CAAC;EAC/CS,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEH,uBAAuB,EAAE;EAEhCI,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,KAAK,GAAGjB,MAAM,CAACK,cAAc,EAAE,IAAI,CAAC;IAC1C,MAAMa,MAAM,GAAGpB,eAAe,CAACa,KAAK,EAAE,YAAY,CAAC;IAEnD,MAAMQ,KAAK,GAAGpB,QAAQ,CAAC;MACrBqB,GAAGA,CAAA,EAAI;QACL;QACA;QACA,IAAIF,MAAM,CAACG,KAAK,IAAI,IAAI,IAAI,CAACJ,KAAK,EAAE,OAAOC,MAAM,CAACG,KAAK;;QAEvD;QACA;QACA,OAAOJ,KAAK,CAACK,KAAK,CAACD,KAAK,CAACE,IAAI,CAACC,IAAI,IAAIP,KAAK,CAACQ,QAAQ,CAACJ,KAAK,CAACK,QAAQ,CAACF,IAAI,CAACG,EAAE,CAAC,CAAC,EAAEN,KAAK;MACtF,CAAC;MACDO,GAAGA,CAAEC,GAAG,EAAE;QACRX,MAAM,CAACG,KAAK,GAAGQ,GAAG;MACpB;IACF,CAAC,CAAC;IAEFzB,SAAS,CAAC,MAAM;MACd,MAAM0B,WAAW,GAAGjC,OAAO,CAACkC,WAAW,CAACpB,KAAK,CAAC;MAE9C,OAAAqB,YAAA,CAAAnC,OAAA,EAAAoC,WAAA;QAAA,OAEQ;MAAgB,GACfH,WAAW;QAAA,cACNX,KAAK,CAACE,KAAK;QAAA,uBAAAa,MAAA,IAAXf,KAAK,CAACE,KAAK,GAAAa,MAAA;QAAA,SACf,kBAAkB;QAAA,aACZ,KAAK;QAAA,SACT;MAAK,IACHlB,KAAK;IAGrB,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -13,8 +13,10 @@ export const VStepperWindowItem = genericComponent()({
13
13
  slots
14
14
  } = _ref;
15
15
  useRender(() => {
16
- const [windowItemProps] = VWindowItem.filterProps(props);
17
- return _createVNode(VWindowItem, _mergeProps(windowItemProps, {
16
+ const windowItemProps = VWindowItem.filterProps(props);
17
+ return _createVNode(VWindowItem, _mergeProps({
18
+ "_as": "VStepperWindowItem"
19
+ }, windowItemProps, {
18
20
  "class": "v-stepper-window-item"
19
21
  }), slots);
20
22
  });