@vuetify/nightly 3.6.5-master.2024-05-12 → 3.6.5-master.2024-05-14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -2
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +112 -112
- package/dist/json/web-types.json +3 -3
- package/dist/vuetify-labs.css +2465 -2421
- package/dist/vuetify-labs.d.ts +1 -1
- package/dist/vuetify-labs.esm.js +23 -11
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +23 -11
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4988 -4944
- package/dist/vuetify.d.ts +36 -36
- package/dist/vuetify.esm.js +7 -5
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +7 -5
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +13 -12
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +1 -0
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.css +44 -0
- package/lib/components/VSwitch/VSwitch.mjs +4 -3
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +55 -0
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +36 -36
- package/lib/labs/VNumberInput/VNumberInput.mjs +16 -6
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +1 -1
- package/lib/labs/components.d.mts +1 -1
- package/lib/locale/hu.mjs +18 -18
- package/lib/locale/hu.mjs.map +1 -1
- package/package.json +1 -1
@@ -96,6 +96,7 @@ export const VMenu = genericComponent()({
|
|
96
96
|
function onKeydown(e) {
|
97
97
|
if (props.disabled) return;
|
98
98
|
if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
|
99
|
+
if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
|
99
100
|
if (e.key === 'Enter') e.preventDefault();
|
100
101
|
const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
|
101
102
|
if (!nextElement) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","e","setTimeout","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (e.key === 'Enter') e.preventDefault()\n\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {\n isActive.value = false\n parent?.closeParents()\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VMenu.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","computed","inject","mergeProps","nextTick","provide","ref","shallowRef","watch","VMenuSymbol","focusableChildren","focusChild","genericComponent","getNextElement","getUid","isClickInsideElement","omit","propsFactory","useRender","makeVMenuProps","id","String","closeDelay","closeOnContentClick","locationStrategy","openDelay","scrim","scrollStrategy","transition","component","VMenu","name","props","emits","value","setup","_ref","slots","isActive","scopeId","uid","overlay","parent","openChildren","register","unregister","closeParents","e","setTimeout","contentEl","onFocusIn","before","relatedTarget","after","target","globalTop","document","includes","contains","focusable","focus","val","addEventListener","once","removeEventListener","onClickOutside","onKeydown","disabled","key","HTMLTextAreaElement","preventDefault","nextElement","shiftKey","el","tabIndex","activatorEl","onActivatorKeydown","activatorProps","overlayProps","filterProps","_createVNode","_mergeProps","class","style","$event","activator","default","_len","arguments","length","args","Array","_key","ΨopenChildren"],"sources":["../../../src/components/VMenu/VMenu.tsx"],"sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { computed, inject, mergeProps, nextTick, provide, ref, shallowRef, watch } from 'vue'\nimport { VMenuSymbol } from './shared'\nimport {\n focusableChildren,\n focusChild,\n genericComponent,\n getNextElement,\n getUid,\n isClickInsideElement,\n omit,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected' as const,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition' as const,\n transition: { component: VDialogTransition as Component },\n }), ['absolute']),\n}, 'VMenu')\n\nexport const VMenu = genericComponent<OverlaySlots>()({\n name: 'VMenu',\n\n props: makeVMenuProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const uid = getUid()\n const id = computed(() => props.id || `v-menu-${uid}`)\n\n const overlay = ref<VOverlay>()\n\n const parent = inject(VMenuSymbol, null)\n const openChildren = shallowRef(0)\n provide(VMenuSymbol, {\n register () {\n ++openChildren.value\n },\n unregister () {\n --openChildren.value\n },\n closeParents (e) {\n setTimeout(() => {\n if (!openChildren.value &&\n (e == null || (e && !isClickInsideElement(e, overlay.value!.contentEl!)))\n ) {\n isActive.value = false\n parent?.closeParents()\n }\n }, 40)\n },\n })\n\n async function onFocusIn (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n await nextTick()\n\n if (\n isActive.value &&\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n focusable[0]?.focus()\n }\n }\n\n watch(isActive, val => {\n if (val) {\n parent?.register()\n document.addEventListener('focusin', onFocusIn, { once: true })\n } else {\n parent?.unregister()\n document.removeEventListener('focusin', onFocusIn)\n }\n })\n\n function onClickOutside (e: MouseEvent) {\n parent?.closeParents(e)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n if (e.key === 'Tab' || (e.key === 'Enter' && !props.closeOnContentClick)) {\n if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return\n if (e.key === 'Enter') e.preventDefault()\n\n const nextElement = getNextElement(\n focusableChildren(overlay.value?.contentEl as Element, false),\n e.shiftKey ? 'prev' : 'next',\n (el: HTMLElement) => el.tabIndex >= 0\n )\n if (!nextElement) {\n isActive.value = false\n overlay.value?.activatorEl?.focus()\n }\n } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {\n isActive.value = false\n parent?.closeParents()\n }\n }\n\n function onActivatorKeydown (e: KeyboardEvent) {\n if (props.disabled) return\n\n const el = overlay.value?.contentEl\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n focusChild(el, 'next')\n } else if (e.key === 'ArrowUp') {\n e.preventDefault()\n focusChild(el, 'prev')\n }\n } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true\n e.preventDefault()\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)))\n }\n }\n\n const activatorProps = computed(() =>\n mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown,\n }, props.activatorProps)\n )\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n\n return (\n <VOverlay\n ref={ overlay }\n id={ id.value }\n class={[\n 'v-menu',\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n absolute\n activatorProps={ activatorProps.value }\n onClick:outside={ onClickOutside }\n onKeydown={ onKeydown }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VMenu\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({ id, ΨopenChildren: openChildren }, overlay)\n },\n})\n\nexport type VMenu = InstanceType<typeof VMenu>\n"],"mappings":"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","ignoreList":[]}
|
@@ -134,4 +134,48 @@
|
|
134
134
|
}
|
135
135
|
.v-switch.v-input--vertical .v-selection-control__wrapper {
|
136
136
|
transform: rotate(-90deg);
|
137
|
+
}
|
138
|
+
|
139
|
+
@media (forced-colors: active) {
|
140
|
+
.v-switch .v-switch__loader .v-progress-circular {
|
141
|
+
color: currentColor;
|
142
|
+
}
|
143
|
+
.v-switch .v-switch__thumb {
|
144
|
+
background-color: buttontext;
|
145
|
+
}
|
146
|
+
.v-switch .v-switch__track,
|
147
|
+
.v-switch .v-switch__thumb {
|
148
|
+
border: 1px solid;
|
149
|
+
color: buttontext;
|
150
|
+
}
|
151
|
+
.v-switch:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb {
|
152
|
+
background-color: highlight;
|
153
|
+
}
|
154
|
+
.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track {
|
155
|
+
background-color: highlight;
|
156
|
+
}
|
157
|
+
.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__track,
|
158
|
+
.v-switch:not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb {
|
159
|
+
color: highlight;
|
160
|
+
}
|
161
|
+
.v-switch.v-switch--inset .v-switch__track {
|
162
|
+
border-width: 2px;
|
163
|
+
}
|
164
|
+
.v-switch.v-switch--inset:not(.v-switch--loading):not(.v-input--disabled) .v-selection-control--dirty .v-switch__thumb {
|
165
|
+
background-color: highlighttext;
|
166
|
+
color: highlighttext;
|
167
|
+
}
|
168
|
+
.v-switch.v-input--disabled .v-switch__thumb {
|
169
|
+
background-color: graytext;
|
170
|
+
}
|
171
|
+
.v-switch.v-input--disabled .v-switch__track,
|
172
|
+
.v-switch.v-input--disabled .v-switch__thumb {
|
173
|
+
color: graytext;
|
174
|
+
}
|
175
|
+
.v-switch.v-switch--loading .v-switch__thumb {
|
176
|
+
background-color: canvas;
|
177
|
+
}
|
178
|
+
.v-switch.v-switch--loading.v-switch--inset .v-switch__thumb, .v-switch.v-switch--loading.v-switch--indeterminate .v-switch__thumb {
|
179
|
+
border-width: 0;
|
180
|
+
}
|
137
181
|
}
|
@@ -13,7 +13,7 @@ import { useFocus } from "../../composables/focus.mjs";
|
|
13
13
|
import { LoaderSlot, useLoader } from "../../composables/loader.mjs";
|
14
14
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
15
15
|
import { computed, ref } from 'vue';
|
16
|
-
import { filterInputAttrs, genericComponent, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
16
|
+
import { filterInputAttrs, genericComponent, getUid, IN_BROWSER, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
17
17
|
export const makeVSwitchProps = propsFactory({
|
18
18
|
indeterminate: Boolean,
|
19
19
|
inset: Boolean,
|
@@ -50,6 +50,7 @@ export const VSwitch = genericComponent()({
|
|
50
50
|
blur
|
51
51
|
} = useFocus(props);
|
52
52
|
const control = ref();
|
53
|
+
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
|
53
54
|
const loaderColor = computed(() => {
|
54
55
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
55
56
|
});
|
@@ -118,7 +119,7 @@ export const VSwitch = genericComponent()({
|
|
118
119
|
backgroundColorStyles
|
119
120
|
} = _ref3;
|
120
121
|
return _createVNode("div", {
|
121
|
-
"class": ['v-switch__track',
|
122
|
+
"class": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
|
122
123
|
"style": backgroundColorStyles.value,
|
123
124
|
"onClick": onTrackClick
|
124
125
|
}, [slots['track-true'] && _createVNode("div", {
|
@@ -139,7 +140,7 @@ export const VSwitch = genericComponent()({
|
|
139
140
|
return _createVNode(_Fragment, null, [inputNode, _createVNode("div", {
|
140
141
|
"class": ['v-switch__thumb', {
|
141
142
|
'v-switch__thumb--filled': icon || props.loading
|
142
|
-
}, props.inset ? undefined : backgroundColorClasses.value],
|
143
|
+
}, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],
|
143
144
|
"style": props.inset ? undefined : backgroundColorStyles.value
|
144
145
|
}, [slots.thumb ? _createVNode(VDefaultsProvider, {
|
145
146
|
"defaults": {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VSwitch.mjs","names":["VScaleTransition","VDefaultsProvider","VIcon","makeVInputProps","VInput","VProgressCircular","makeVSelectionControlProps","VSelectionControl","useFocus","LoaderSlot","useLoader","useProxiedModel","computed","ref","filterInputAttrs","genericComponent","getUid","propsFactory","useRender","makeVSwitchProps","indeterminate","Boolean","inset","flat","loading","type","String","default","VSwitch","name","inheritAttrs","props","emits","focused","value","setup","_ref","attrs","slots","model","loaderClasses","isFocused","focus","blur","control","loaderColor","color","uid","id","onChange","onTrackClick","e","stopPropagation","preventDefault","input","click","rootAttrs","controlAttrs","inputProps","filterProps","controlProps","_createVNode","_mergeProps","class","$event","style","_ref2","messagesId","isDisabled","isReadonly","isValid","slotProps","undefined","_ref3","backgroundColorClasses","backgroundColorStyles","_ref4","inputNode","icon","_Fragment","thumb","size","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { VScaleTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, Ref } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\nimport type { IconValue } from '@/composables/icons'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nexport type VSwitchSlot = {\n model: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n}\n\nexport type VSwitchSlots =\n & VInputSlots\n & VSelectionControlSlots\n & {\n loader: LoaderSlotProps\n thumb: { icon: IconValue | undefined } & VSwitchSlot\n 'track-false': VSwitchSlot\n 'track-true': VSwitchSlot\n }\n\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeVSelectionControlProps(),\n}, 'VSwitch')\n\nexport const VSwitch = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VSwitchSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: makeVSwitchProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n const control = ref<VSelectionControl>()\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n function onTrackClick (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n control.value?.input?.click()\n }\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const inputProps = VInput.filterProps(props)\n const controlProps = VSelectionControl.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--flat': props.flat },\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid,\n }) => {\n const slotProps = {\n model,\n isValid,\n }\n\n return (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n v-model={ model.value }\n id={ id.value }\n aria-describedby={ messagesId.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n onFocus={ focus }\n onBlur={ blur }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: ({ backgroundColorClasses, backgroundColorStyles }) => (\n <div\n class={[\n 'v-switch__track',\n ...backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onTrackClick }\n >\n { slots['track-true'] && (\n <div key=\"prepend\" class=\"v-switch__track-true\">\n { slots['track-true'](slotProps) }\n </div>\n )}\n\n { slots['track-false'] && (\n <div key=\"append\" class=\"v-switch__track-false\">\n { slots['track-false'](slotProps) }\n </div>\n )}\n </div>\n ),\n input: ({ inputNode, icon, backgroundColorClasses, backgroundColorStyles }) => (\n <>\n { inputNode }\n <div\n class={[\n 'v-switch__thumb',\n { 'v-switch__thumb--filled': icon || props.loading },\n props.inset ? undefined : backgroundColorClasses.value,\n ]}\n style={ props.inset ? undefined : backgroundColorStyles.value }\n >\n { slots.thumb ? (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon,\n size: 'x-small',\n },\n }}\n >\n { slots.thumb({ ...slotProps, icon }) }\n </VDefaultsProvider>\n ) : (\n <VScaleTransition>\n { !props.loading ? (\n (icon && (\n <VIcon\n key={ String(icon) }\n icon={ icon }\n size=\"x-small\"\n />\n ))) : (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n )}\n </VScaleTransition>\n )}\n </div>\n </>\n ),\n }}\n </VSelectionControl>\n )\n },\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VSwitch.mjs","names":["VScaleTransition","VDefaultsProvider","VIcon","makeVInputProps","VInput","VProgressCircular","makeVSelectionControlProps","VSelectionControl","useFocus","LoaderSlot","useLoader","useProxiedModel","computed","ref","filterInputAttrs","genericComponent","getUid","IN_BROWSER","propsFactory","useRender","makeVSwitchProps","indeterminate","Boolean","inset","flat","loading","type","String","default","VSwitch","name","inheritAttrs","props","emits","focused","value","setup","_ref","attrs","slots","model","loaderClasses","isFocused","focus","blur","control","isForcedColorsModeActive","window","matchMedia","matches","loaderColor","color","uid","id","onChange","onTrackClick","e","stopPropagation","preventDefault","input","click","rootAttrs","controlAttrs","inputProps","filterProps","controlProps","_createVNode","_mergeProps","class","$event","style","_ref2","messagesId","isDisabled","isReadonly","isValid","slotProps","undefined","_ref3","backgroundColorClasses","backgroundColorStyles","_ref4","inputNode","icon","_Fragment","thumb","size","loader","isActive"],"sources":["../../../src/components/VSwitch/VSwitch.tsx"],"sourcesContent":["// Styles\nimport './VSwitch.sass'\n\n// Components\nimport { VScaleTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { makeVInputProps, VInput } from '@/components/VInput/VInput'\nimport { VProgressCircular } from '@/components/VProgressCircular'\nimport { makeVSelectionControlProps, VSelectionControl } from '@/components/VSelectionControl/VSelectionControl'\n\n// Composables\nimport { useFocus } from '@/composables/focus'\nimport { LoaderSlot, useLoader } from '@/composables/loader'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { filterInputAttrs, genericComponent, getUid, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, Ref } from 'vue'\nimport type { VInputSlots } from '@/components/VInput/VInput'\nimport type { VSelectionControlSlots } from '@/components/VSelectionControl/VSelectionControl'\nimport type { IconValue } from '@/composables/icons'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nexport type VSwitchSlot = {\n model: Ref<boolean>\n isValid: ComputedRef<boolean | null>\n}\n\nexport type VSwitchSlots =\n & VInputSlots\n & VSelectionControlSlots\n & {\n loader: LoaderSlotProps\n thumb: { icon: IconValue | undefined } & VSwitchSlot\n 'track-false': VSwitchSlot\n 'track-true': VSwitchSlot\n }\n\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n\n ...makeVInputProps(),\n ...makeVSelectionControlProps(),\n}, 'VSwitch')\n\nexport const VSwitch = genericComponent<new <T>(\n props: {\n modelValue?: T | null\n 'onUpdate:modelValue'?: (value: T | null) => void\n },\n slots: VSwitchSlots,\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VSwitch',\n\n inheritAttrs: false,\n\n props: makeVSwitchProps(),\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n 'update:indeterminate': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const indeterminate = useProxiedModel(props, 'indeterminate')\n const model = useProxiedModel(props, 'modelValue')\n const { loaderClasses } = useLoader(props)\n const { isFocused, focus, blur } = useFocus(props)\n const control = ref<VSelectionControl>()\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches\n\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== ''\n ? props.loading\n : props.color\n })\n\n const uid = getUid()\n const id = computed(() => props.id || `switch-${uid}`)\n\n function onChange () {\n if (indeterminate.value) {\n indeterminate.value = false\n }\n }\n function onTrackClick (e: Event) {\n e.stopPropagation()\n e.preventDefault()\n control.value?.input?.click()\n }\n\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs)\n const inputProps = VInput.filterProps(props)\n const controlProps = VSelectionControl.filterProps(props)\n\n return (\n <VInput\n class={[\n 'v-switch',\n { 'v-switch--flat': props.flat },\n { 'v-switch--inset': props.inset },\n { 'v-switch--indeterminate': indeterminate.value },\n loaderClasses.value,\n props.class,\n ]}\n { ...rootAttrs }\n { ...inputProps }\n v-model={ model.value }\n id={ id.value }\n focused={ isFocused.value }\n style={ props.style }\n >\n {{\n ...slots,\n default: ({\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid,\n }) => {\n const slotProps = {\n model,\n isValid,\n }\n\n return (\n <VSelectionControl\n ref={ control }\n { ...controlProps }\n v-model={ model.value }\n id={ id.value }\n aria-describedby={ messagesId.value }\n type=\"checkbox\"\n onUpdate:modelValue={ onChange }\n aria-checked={ indeterminate.value ? 'mixed' : undefined }\n disabled={ isDisabled.value }\n readonly={ isReadonly.value }\n onFocus={ focus }\n onBlur={ blur }\n { ...controlAttrs }\n >\n {{\n ...slots,\n default: ({ backgroundColorClasses, backgroundColorStyles }) => (\n <div\n class={[\n 'v-switch__track',\n !isForcedColorsModeActive ? backgroundColorClasses.value : undefined,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onTrackClick }\n >\n { slots['track-true'] && (\n <div key=\"prepend\" class=\"v-switch__track-true\">\n { slots['track-true'](slotProps) }\n </div>\n )}\n\n { slots['track-false'] && (\n <div key=\"append\" class=\"v-switch__track-false\">\n { slots['track-false'](slotProps) }\n </div>\n )}\n </div>\n ),\n input: ({ inputNode, icon, backgroundColorClasses, backgroundColorStyles }) => (\n <>\n { inputNode }\n <div\n class={[\n 'v-switch__thumb',\n { 'v-switch__thumb--filled': icon || props.loading },\n props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value,\n ]}\n style={ props.inset ? undefined : backgroundColorStyles.value }\n >\n { slots.thumb ? (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon,\n size: 'x-small',\n },\n }}\n >\n { slots.thumb({ ...slotProps, icon }) }\n </VDefaultsProvider>\n ) : (\n <VScaleTransition>\n { !props.loading ? (\n (icon && (\n <VIcon\n key={ String(icon) }\n icon={ icon }\n size=\"x-small\"\n />\n ))) : (\n <LoaderSlot\n name=\"v-switch\"\n active\n color={ isValid.value === false ? undefined : loaderColor.value }\n >\n { slotProps => (\n slots.loader\n ? slots.loader(slotProps)\n : (\n <VProgressCircular\n active={ slotProps.isActive }\n color={ slotProps.color }\n indeterminate\n size=\"16\"\n width=\"2\"\n />\n )\n )}\n </LoaderSlot>\n )}\n </VScaleTransition>\n )}\n </div>\n </>\n ),\n }}\n </VSelectionControl>\n )\n },\n }}\n </VInput>\n )\n })\n\n return {}\n },\n})\n\nexport type VSwitch = InstanceType<typeof VSwitch>\n"],"mappings":"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","ignoreList":[]}
|
@@ -134,3 +134,58 @@
|
|
134
134
|
|
135
135
|
.v-selection-control__wrapper
|
136
136
|
transform: $switch-thumb-vertical-transform
|
137
|
+
|
138
|
+
@media (forced-colors: active)
|
139
|
+
.v-switch
|
140
|
+
.v-switch__loader
|
141
|
+
.v-progress-circular
|
142
|
+
color: currentColor
|
143
|
+
|
144
|
+
.v-switch__thumb
|
145
|
+
background-color: buttontext
|
146
|
+
|
147
|
+
.v-switch__track,
|
148
|
+
.v-switch__thumb
|
149
|
+
border: 1px solid
|
150
|
+
color: buttontext
|
151
|
+
|
152
|
+
&:not(.v-switch--loading):not(.v-input--disabled)
|
153
|
+
.v-selection-control--dirty
|
154
|
+
.v-switch__thumb
|
155
|
+
background-color: highlight
|
156
|
+
|
157
|
+
&:not(.v-input--disabled)
|
158
|
+
.v-selection-control--dirty
|
159
|
+
.v-switch__track
|
160
|
+
background-color: highlight
|
161
|
+
|
162
|
+
.v-switch__track,
|
163
|
+
.v-switch__thumb
|
164
|
+
color: highlight
|
165
|
+
|
166
|
+
&.v-switch--inset
|
167
|
+
.v-switch__track
|
168
|
+
border-width: 2px
|
169
|
+
|
170
|
+
&:not(.v-switch--loading):not(.v-input--disabled)
|
171
|
+
.v-selection-control--dirty
|
172
|
+
.v-switch__thumb
|
173
|
+
background-color: highlighttext
|
174
|
+
color: highlighttext
|
175
|
+
|
176
|
+
&.v-input--disabled
|
177
|
+
.v-switch__thumb
|
178
|
+
background-color: graytext
|
179
|
+
|
180
|
+
.v-switch__track,
|
181
|
+
.v-switch__thumb
|
182
|
+
color: graytext
|
183
|
+
|
184
|
+
&.v-switch--loading
|
185
|
+
.v-switch__thumb
|
186
|
+
background-color: canvas
|
187
|
+
|
188
|
+
&.v-switch--inset,
|
189
|
+
&.v-switch--indeterminate
|
190
|
+
.v-switch__thumb
|
191
|
+
border-width: 0
|
package/lib/entry-bundler.mjs
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.6.5-master.2024-05-
|
19
|
+
export const version = "3.6.5-master.2024-05-14";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.mjs";
|
package/lib/framework.mjs
CHANGED
package/lib/index.d.mts
CHANGED
@@ -494,41 +494,41 @@ declare module '@vue/runtime-core' {
|
|
494
494
|
|
495
495
|
export interface GlobalComponents {
|
496
496
|
VApp: typeof import('vuetify/components')['VApp']
|
497
|
-
VAlert: typeof import('vuetify/components')['VAlert']
|
498
|
-
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
499
|
-
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
500
497
|
VAppBar: typeof import('vuetify/components')['VAppBar']
|
501
498
|
VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
|
502
499
|
VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
|
503
|
-
VAvatar: typeof import('vuetify/components')['VAvatar']
|
504
|
-
VBadge: typeof import('vuetify/components')['VBadge']
|
505
500
|
VBanner: typeof import('vuetify/components')['VBanner']
|
506
501
|
VBannerActions: typeof import('vuetify/components')['VBannerActions']
|
507
502
|
VBannerText: typeof import('vuetify/components')['VBannerText']
|
503
|
+
VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
|
504
|
+
VAlert: typeof import('vuetify/components')['VAlert']
|
505
|
+
VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
|
506
|
+
VBadge: typeof import('vuetify/components')['VBadge']
|
507
|
+
VAvatar: typeof import('vuetify/components')['VAvatar']
|
508
|
+
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
508
509
|
VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
|
510
|
+
VBtn: typeof import('vuetify/components')['VBtn']
|
509
511
|
VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
|
510
512
|
VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
|
511
513
|
VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
|
512
|
-
VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
|
513
|
-
VBtn: typeof import('vuetify/components')['VBtn']
|
514
514
|
VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
|
515
|
-
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
516
|
-
VCarousel: typeof import('vuetify/components')['VCarousel']
|
517
|
-
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
518
515
|
VCard: typeof import('vuetify/components')['VCard']
|
519
516
|
VCardActions: typeof import('vuetify/components')['VCardActions']
|
520
517
|
VCardItem: typeof import('vuetify/components')['VCardItem']
|
521
518
|
VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
|
522
519
|
VCardText: typeof import('vuetify/components')['VCardText']
|
523
520
|
VCardTitle: typeof import('vuetify/components')['VCardTitle']
|
524
|
-
|
521
|
+
VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
|
522
|
+
VCarousel: typeof import('vuetify/components')['VCarousel']
|
523
|
+
VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
|
524
|
+
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
525
525
|
VCheckbox: typeof import('vuetify/components')['VCheckbox']
|
526
526
|
VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
|
527
527
|
VChip: typeof import('vuetify/components')['VChip']
|
528
|
+
VCode: typeof import('vuetify/components')['VCode']
|
528
529
|
VColorPicker: typeof import('vuetify/components')['VColorPicker']
|
529
|
-
VChipGroup: typeof import('vuetify/components')['VChipGroup']
|
530
|
-
VCounter: typeof import('vuetify/components')['VCounter']
|
531
530
|
VCombobox: typeof import('vuetify/components')['VCombobox']
|
531
|
+
VCounter: typeof import('vuetify/components')['VCounter']
|
532
532
|
VDataTable: typeof import('vuetify/components')['VDataTable']
|
533
533
|
VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
|
534
534
|
VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
|
@@ -543,27 +543,28 @@ declare module '@vue/runtime-core' {
|
|
543
543
|
VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
|
544
544
|
VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
|
545
545
|
VDivider: typeof import('vuetify/components')['VDivider']
|
546
|
+
VEmptyState: typeof import('vuetify/components')['VEmptyState']
|
546
547
|
VDialog: typeof import('vuetify/components')['VDialog']
|
547
548
|
VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
|
548
549
|
VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
|
549
550
|
VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
|
550
551
|
VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
|
551
|
-
|
552
|
+
VFab: typeof import('vuetify/components')['VFab']
|
552
553
|
VField: typeof import('vuetify/components')['VField']
|
553
554
|
VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
|
554
|
-
VFab: typeof import('vuetify/components')['VFab']
|
555
555
|
VFileInput: typeof import('vuetify/components')['VFileInput']
|
556
556
|
VFooter: typeof import('vuetify/components')['VFooter']
|
557
|
+
VImg: typeof import('vuetify/components')['VImg']
|
558
|
+
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
557
559
|
VIcon: typeof import('vuetify/components')['VIcon']
|
558
560
|
VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
|
559
561
|
VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
|
560
562
|
VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
|
561
563
|
VClassIcon: typeof import('vuetify/components')['VClassIcon']
|
562
|
-
VInput: typeof import('vuetify/components')['VInput']
|
563
|
-
VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
|
564
|
-
VImg: typeof import('vuetify/components')['VImg']
|
565
564
|
VItemGroup: typeof import('vuetify/components')['VItemGroup']
|
566
565
|
VItem: typeof import('vuetify/components')['VItem']
|
566
|
+
VInput: typeof import('vuetify/components')['VInput']
|
567
|
+
VLabel: typeof import('vuetify/components')['VLabel']
|
567
568
|
VKbd: typeof import('vuetify/components')['VKbd']
|
568
569
|
VList: typeof import('vuetify/components')['VList']
|
569
570
|
VListGroup: typeof import('vuetify/components')['VListGroup']
|
@@ -574,33 +575,32 @@ declare module '@vue/runtime-core' {
|
|
574
575
|
VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
|
575
576
|
VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
|
576
577
|
VListSubheader: typeof import('vuetify/components')['VListSubheader']
|
577
|
-
|
578
|
+
VMain: typeof import('vuetify/components')['VMain']
|
578
579
|
VMenu: typeof import('vuetify/components')['VMenu']
|
579
580
|
VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
|
580
581
|
VMessages: typeof import('vuetify/components')['VMessages']
|
581
|
-
VMain: typeof import('vuetify/components')['VMain']
|
582
|
-
VOverlay: typeof import('vuetify/components')['VOverlay']
|
583
582
|
VOtpInput: typeof import('vuetify/components')['VOtpInput']
|
584
|
-
|
583
|
+
VOverlay: typeof import('vuetify/components')['VOverlay']
|
585
584
|
VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
|
585
|
+
VPagination: typeof import('vuetify/components')['VPagination']
|
586
586
|
VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
|
587
587
|
VRating: typeof import('vuetify/components')['VRating']
|
588
|
-
VSelect: typeof import('vuetify/components')['VSelect']
|
589
588
|
VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
|
590
|
-
|
591
|
-
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
592
|
-
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
593
|
-
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
589
|
+
VSelect: typeof import('vuetify/components')['VSelect']
|
594
590
|
VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
|
595
591
|
VSheet: typeof import('vuetify/components')['VSheet']
|
596
|
-
|
592
|
+
VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
|
593
|
+
VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
|
597
594
|
VSlider: typeof import('vuetify/components')['VSlider']
|
595
|
+
VSnackbar: typeof import('vuetify/components')['VSnackbar']
|
598
596
|
VStepper: typeof import('vuetify/components')['VStepper']
|
599
597
|
VStepperActions: typeof import('vuetify/components')['VStepperActions']
|
600
598
|
VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
|
601
599
|
VStepperItem: typeof import('vuetify/components')['VStepperItem']
|
602
600
|
VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
|
603
601
|
VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
|
602
|
+
VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
|
603
|
+
VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
|
604
604
|
VSwitch: typeof import('vuetify/components')['VSwitch']
|
605
605
|
VSystemBar: typeof import('vuetify/components')['VSystemBar']
|
606
606
|
VTable: typeof import('vuetify/components')['VTable']
|
@@ -608,10 +608,10 @@ declare module '@vue/runtime-core' {
|
|
608
608
|
VTabs: typeof import('vuetify/components')['VTabs']
|
609
609
|
VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
|
610
610
|
VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
|
611
|
-
VTimeline: typeof import('vuetify/components')['VTimeline']
|
612
|
-
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
613
611
|
VTextarea: typeof import('vuetify/components')['VTextarea']
|
614
612
|
VTextField: typeof import('vuetify/components')['VTextField']
|
613
|
+
VTimeline: typeof import('vuetify/components')['VTimeline']
|
614
|
+
VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
|
615
615
|
VToolbar: typeof import('vuetify/components')['VToolbar']
|
616
616
|
VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
|
617
617
|
VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
|
@@ -621,23 +621,23 @@ declare module '@vue/runtime-core' {
|
|
621
621
|
VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
|
622
622
|
VDataIterator: typeof import('vuetify/components')['VDataIterator']
|
623
623
|
VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
|
624
|
+
VForm: typeof import('vuetify/components')['VForm']
|
624
625
|
VContainer: typeof import('vuetify/components')['VContainer']
|
625
626
|
VCol: typeof import('vuetify/components')['VCol']
|
626
627
|
VRow: typeof import('vuetify/components')['VRow']
|
627
628
|
VSpacer: typeof import('vuetify/components')['VSpacer']
|
628
|
-
VForm: typeof import('vuetify/components')['VForm']
|
629
629
|
VHover: typeof import('vuetify/components')['VHover']
|
630
630
|
VLayout: typeof import('vuetify/components')['VLayout']
|
631
631
|
VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
|
632
632
|
VLazy: typeof import('vuetify/components')['VLazy']
|
633
633
|
VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
|
634
634
|
VNoSsr: typeof import('vuetify/components')['VNoSsr']
|
635
|
-
VRadio: typeof import('vuetify/components')['VRadio']
|
636
635
|
VParallax: typeof import('vuetify/components')['VParallax']
|
636
|
+
VRadio: typeof import('vuetify/components')['VRadio']
|
637
637
|
VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
|
638
638
|
VResponsive: typeof import('vuetify/components')['VResponsive']
|
639
|
-
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
640
639
|
VSparkline: typeof import('vuetify/components')['VSparkline']
|
640
|
+
VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
|
641
641
|
VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
|
642
642
|
VValidation: typeof import('vuetify/components')['VValidation']
|
643
643
|
VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
|
@@ -666,15 +666,15 @@ declare module '@vue/runtime-core' {
|
|
666
666
|
VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
|
667
667
|
VPicker: typeof import('vuetify/labs/components')['VPicker']
|
668
668
|
VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
|
669
|
-
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
670
|
-
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
671
|
-
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
672
669
|
VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
|
673
670
|
VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
|
674
671
|
VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
|
675
672
|
VTreeview: typeof import('vuetify/labs/components')['VTreeview']
|
676
673
|
VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
|
677
674
|
VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
|
675
|
+
VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
|
676
|
+
VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
|
677
|
+
VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
|
678
678
|
VDateInput: typeof import('vuetify/labs/components')['VDateInput']
|
679
679
|
VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
|
680
680
|
VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
|
@@ -84,10 +84,12 @@ export const VNumberInput = genericComponent()({
|
|
84
84
|
if (canDecrease.value) model.value = +(model.value - props.step).toFixed(decimals);
|
85
85
|
}
|
86
86
|
}
|
87
|
-
function onClickUp() {
|
87
|
+
function onClickUp(e) {
|
88
|
+
e.stopPropagation();
|
88
89
|
toggleUpDown();
|
89
90
|
}
|
90
|
-
function onClickDown() {
|
91
|
+
function onClickDown(e) {
|
92
|
+
e.stopPropagation();
|
91
93
|
toggleUpDown(false);
|
92
94
|
}
|
93
95
|
function onKeydown(e) {
|
@@ -111,6 +113,9 @@ export const VNumberInput = genericComponent()({
|
|
111
113
|
function onModelUpdate(v) {
|
112
114
|
model.value = v ? +v : undefined;
|
113
115
|
}
|
116
|
+
function onControlMousedown(e) {
|
117
|
+
e.stopPropagation();
|
118
|
+
}
|
114
119
|
useRender(() => {
|
115
120
|
const {
|
116
121
|
modelValue: _,
|
@@ -129,7 +134,8 @@ export const VNumberInput = genericComponent()({
|
|
129
134
|
"icon": "$expand",
|
130
135
|
"size": "small",
|
131
136
|
"tabindex": "-1",
|
132
|
-
"onClick": onClickDown
|
137
|
+
"onClick": onClickDown,
|
138
|
+
"onMousedown": onControlMousedown
|
133
139
|
}, null) : _createVNode(VDefaultsProvider, {
|
134
140
|
"key": "decrement-defaults",
|
135
141
|
"defaults": {
|
@@ -153,6 +159,7 @@ export const VNumberInput = genericComponent()({
|
|
153
159
|
"name": "increment-btn",
|
154
160
|
"icon": "$collapse",
|
155
161
|
"onClick": onClickUp,
|
162
|
+
"onMousedown": onControlMousedown,
|
156
163
|
"size": "small",
|
157
164
|
"tabindex": "-1"
|
158
165
|
}, null) : _createVNode(VDefaultsProvider, {
|
@@ -185,7 +192,8 @@ export const VNumberInput = genericComponent()({
|
|
185
192
|
"icon": "$plus",
|
186
193
|
"tile": true,
|
187
194
|
"tabindex": "-1",
|
188
|
-
"onClick": onClickUp
|
195
|
+
"onClick": onClickUp,
|
196
|
+
"onMousedown": onControlMousedown
|
189
197
|
}, null)]) : !props.reverse ? _createVNode(_Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
190
198
|
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
191
199
|
const prependInnerControl = controlVariant.value === 'split' ? _createVNode("div", {
|
@@ -196,7 +204,8 @@ export const VNumberInput = genericComponent()({
|
|
196
204
|
"icon": "$minus",
|
197
205
|
"tile": true,
|
198
206
|
"tabindex": "-1",
|
199
|
-
"onClick": onClickDown
|
207
|
+
"onClick": onClickDown,
|
208
|
+
"onMousedown": onControlMousedown
|
200
209
|
}, null), _createVNode(VDivider, {
|
201
210
|
"vertical": true
|
202
211
|
}, null)]) : props.reverse ? _createVNode(_Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
@@ -214,7 +223,8 @@ export const VNumberInput = genericComponent()({
|
|
214
223
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
215
224
|
}, props.class]
|
216
225
|
}, textFieldProps, {
|
217
|
-
"style": props.style
|
226
|
+
"style": props.style,
|
227
|
+
"inputmode": "decimal"
|
218
228
|
}), {
|
219
229
|
...slots,
|
220
230
|
'append-inner': hasAppendInner ? function () {
|