vuetify 3.1.8 → 3.1.9
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/dist/json/attributes.json +7 -3
- package/dist/json/importMap.json +40 -40
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +51 -17
- package/dist/vuetify-labs.css +288 -268
- package/dist/vuetify-labs.d.ts +14 -7
- package/dist/vuetify-labs.esm.js +460 -250
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +460 -250
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1253 -1236
- package/dist/vuetify.d.ts +18 -13
- package/dist/vuetify.esm.js +306 -193
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +306 -193
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +411 -408
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +29 -15
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +2 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +19 -12
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +25 -19
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VCard/VCard.mjs +10 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +27 -23
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VChip/VChip.css +110 -90
- package/lib/components/VChip/VChip.mjs +70 -48
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/_mixins.scss +27 -23
- package/lib/components/VChip/index.d.ts +2 -2
- package/lib/components/VCombobox/VCombobox.mjs +11 -5
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +3 -0
- package/lib/components/VFooter/VFooter.css +2 -0
- package/lib/components/VFooter/VFooter.sass +2 -0
- package/lib/components/VFooter/_variables.scss +2 -0
- package/lib/components/VImg/VImg.mjs +2 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +23 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +11 -5
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +1 -0
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +3 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +2 -7
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +3 -8
- package/lib/components/VTabs/VTabs.mjs +23 -15
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +9 -5
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/index.d.ts +7 -2
- package/lib/composables/defaults.mjs +2 -0
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/labs/VDataTable/VDataTable.css +3 -0
- package/lib/labs/VDataTable/VDataTable.mjs +41 -17
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTable.sass +3 -0
- package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +6 -2
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +39 -17
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +23 -12
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +12 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +0 -12
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +25 -4
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +19 -3
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +7 -5
- package/lib/labs/components.d.ts +7 -5
- package/lib/locale/adapters/vue-i18n.d.ts +1 -1
- package/lib/locale/adapters/vue-i18n.mjs +1 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +3 -2
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +5 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.mjs","names":["makeElevationProps","makeRoundedProps","useRtl","clamp","createRange","propsFactory","computed","provide","ref","toRef","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","Boolean","error","readonly","max","type","Number","String","default","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","useSlider","props","handleSliderMouseUp","handleMouseMove","getActiveThumb","isRtl","isReversed","horizontalDirection","hd","value","parseFloat","decimals","trimmedStep","toString","trim","indexOf","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","offset","newValue","Math","round","toFixed","parseMouseMove","start","trackStart","trackLength","$el","clickOffset","clickPos","thumbMoved","handleStop","handleStart","focus","contains","target","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","keys","key","hasLabels","some","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { clamp, createRange, propsFactory } from '@/util'\nimport { computed, provide, ref, toRef } from 'vue'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = toRef(props, 'reverse')\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || horizontalDirection.value === 'rtl') clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.removeEventListener('touchend', onSliderTouchend as EventListener)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.addEventListener('touchend', onSliderTouchend as EventListener, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const parsedTicks = computed<Tick[]>(() => {\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks: toRef(props, 'showTicks'),\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.mjs","names":["makeElevationProps","makeRoundedProps","useRtl","clamp","createRange","propsFactory","computed","provide","ref","toRef","VSliderSymbol","Symbol","for","getOffset","e","el","direction","vertical","rect","getBoundingClientRect","touch","touches","clientY","top","height","clientX","left","width","getPosition","position","length","changedTouches","makeSliderProps","disabled","Boolean","error","readonly","max","type","Number","String","default","min","step","thumbColor","thumbLabel","undefined","validator","v","thumbSize","showTicks","ticks","Array","Object","tickSize","color","trackColor","trackFillColor","trackSize","includes","reverse","elevation","useSlider","props","handleSliderMouseUp","handleMouseMove","getActiveThumb","isRtl","isReversed","horizontalDirection","hd","value","parseFloat","decimals","trimmedStep","toString","trim","indexOf","parseInt","numTicks","mousePressed","startOffset","trackContainerRef","activeThumbRef","roundValue","clamped","offset","newValue","Math","round","toFixed","parseMouseMove","start","trackStart","trackLength","$el","clickOffset","clickPos","thumbMoved","handleStop","handleStart","focus","contains","target","moveListenerOptions","passive","capture","onMouseMove","onSliderMouseUp","stopPropagation","preventDefault","window","removeEventListener","onSliderTouchend","onSliderTouchstart","addEventListener","onSliderMousedown","val","percentage","isNaN","parsedTicks","Infinity","map","t","isArray","label","keys","key","hasLabels","some","data","rounded"],"sources":["../../../src/components/VSlider/slider.ts"],"sourcesContent":["/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from '@/composables/elevation'\nimport { makeRoundedProps } from '@/composables/rounded'\nimport { useRtl } from '@/composables/locale'\n\n// Utilities\nimport { clamp, createRange, propsFactory } from '@/util'\nimport { computed, provide, ref, toRef } from 'vue'\n\n// Types\nimport type { ExtractPropTypes, InjectionKey, PropType, Ref } from 'vue'\nimport type { VSliderTrack } from './VSliderTrack'\n\ntype Tick = {\n value: number\n position: number\n label?: string\n}\n\ntype SliderProvide = {\n activeThumbRef: Ref<HTMLElement | undefined>\n color: Ref<string | undefined>\n decimals: Ref<number>\n direction: Ref<'vertical' | 'horizontal'>\n disabled: Ref<boolean | undefined>\n elevation: Ref<number | string | undefined>\n min: Ref<number>\n max: Ref<number>\n mousePressed: Ref<boolean>\n numTicks: Ref<number>\n onSliderMousedown: (e: MouseEvent) => void\n onSliderTouchstart: (e: TouchEvent) => void\n parseMouseMove: (e: MouseEvent | TouchEvent) => number\n position: (val: number) => number\n readonly: Ref<boolean | undefined>\n rounded: Ref<boolean | number | string | undefined>\n roundValue: (value: number) => number\n thumbLabel: Ref<boolean | string | undefined>\n showTicks: Ref<boolean | 'always'>\n startOffset: Ref<number>\n step: Ref<number>\n thumbSize: Ref<number>\n thumbColor: Ref<string | undefined>\n trackColor: Ref<string | undefined>\n trackFillColor: Ref<string | undefined>\n trackSize: Ref<number>\n ticks: Ref<number[] | Record<string, string> | undefined>\n tickSize: Ref<number>\n trackContainerRef: Ref<VSliderTrack | undefined>\n vertical: Ref<boolean>\n parsedTicks: Ref<Tick[]>\n hasLabels: Ref<boolean>\n isReversed: Ref<boolean>\n horizontalDirection: Ref<'ltr' | 'rtl'>\n}\n\nexport const VSliderSymbol: InjectionKey<SliderProvide> = Symbol.for('vuetify:v-slider')\n\nexport function getOffset (e: MouseEvent | TouchEvent, el: HTMLElement, direction: string) {\n const vertical = direction === 'vertical'\n const rect = el.getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n return vertical\n ? touch.clientY - (rect.top + rect.height / 2)\n : touch.clientX - (rect.left + rect.width / 2)\n}\n\nfunction getPosition (e: MouseEvent | TouchEvent, position: 'clientX' | 'clientY'): number {\n if ('touches' in e && e.touches.length) return e.touches[0][position]\n else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position]\n else return (e as MouseEvent)[position]\n}\n\nexport const makeSliderProps = propsFactory({\n disabled: Boolean,\n error: Boolean,\n readonly: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 0,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 20,\n },\n showTicks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: (v: any) => typeof v === 'boolean' || v === 'always',\n },\n ticks: {\n type: [Array, Object] as PropType<number[] | Record<number, string>>,\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4,\n },\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n validator: (v: any) => ['vertical', 'horizontal'].includes(v),\n },\n reverse: Boolean,\n\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2,\n }),\n}, 'slider')\n\ntype SliderProps = ExtractPropTypes<ReturnType<typeof makeSliderProps>>\n\nexport const useSlider = ({\n props,\n handleSliderMouseUp,\n handleMouseMove,\n getActiveThumb,\n}: {\n props: SliderProps\n handleSliderMouseUp: (v: number) => void\n handleMouseMove: (v: number) => void\n getActiveThumb: (e: MouseEvent | TouchEvent) => HTMLElement\n}) => {\n const { isRtl } = useRtl()\n const isReversed = toRef(props, 'reverse')\n const horizontalDirection = computed(() => {\n let hd: 'ltr' | 'rtl' = isRtl.value ? 'rtl' : 'ltr'\n\n if (props.reverse) {\n hd = hd === 'rtl' ? 'ltr' : 'rtl'\n }\n\n return hd\n })\n const min = computed(() => parseFloat(props.min))\n const max = computed(() => parseFloat(props.max))\n const step = computed(() => props.step > 0 ? parseFloat(props.step) : 0)\n const decimals = computed(() => {\n const trimmedStep = step.value.toString().trim()\n return trimmedStep.includes('.')\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n })\n\n const thumbSize = computed(() => parseInt(props.thumbSize, 10))\n const tickSize = computed(() => parseInt(props.tickSize, 10))\n const trackSize = computed(() => parseInt(props.trackSize, 10))\n const numTicks = computed(() => (max.value - min.value) / step.value)\n const disabled = toRef(props, 'disabled')\n const vertical = computed(() => props.direction === 'vertical')\n\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color)\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color)\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color)\n\n const mousePressed = ref(false)\n\n const startOffset = ref(0)\n const trackContainerRef = ref<VSliderTrack | undefined>()\n const activeThumbRef = ref<HTMLElement | undefined>()\n\n function roundValue (value: number) {\n if (step.value <= 0) return value\n\n const clamped = clamp(value, min.value, max.value)\n const offset = min.value % step.value\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset\n\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value))\n }\n\n function parseMouseMove (e: MouseEvent | TouchEvent): number {\n const vertical = props.direction === 'vertical'\n const start = vertical ? 'top' : 'left'\n const length = vertical ? 'height' : 'width'\n const position = vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = trackContainerRef.value?.$el.getBoundingClientRect()\n const clickOffset = getPosition(e, position)\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0\n\n if (vertical || horizontalDirection.value === 'rtl') clickPos = 1 - clickPos\n\n return roundValue(min.value + clickPos * (max.value - min.value))\n }\n\n let thumbMoved = false\n\n const handleStop = (e: MouseEvent | TouchEvent) => {\n if (!thumbMoved) {\n startOffset.value = 0\n handleSliderMouseUp(parseMouseMove(e))\n }\n\n mousePressed.value = false\n thumbMoved = false\n startOffset.value = 0\n }\n\n const handleStart = (e: MouseEvent | TouchEvent) => {\n activeThumbRef.value = getActiveThumb(e)\n\n if (!activeThumbRef.value) return\n\n activeThumbRef.value.focus()\n mousePressed.value = true\n\n if (activeThumbRef.value.contains(e.target as Node)) {\n thumbMoved = true\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction)\n } else {\n startOffset.value = 0\n handleMouseMove(parseMouseMove(e))\n }\n }\n\n const moveListenerOptions = { passive: true, capture: true }\n\n function onMouseMove (e: MouseEvent | TouchEvent) {\n thumbMoved = true\n handleMouseMove(parseMouseMove(e))\n }\n\n function onSliderMouseUp (e: MouseEvent) {\n e.stopPropagation()\n e.preventDefault()\n\n handleStop(e)\n\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.removeEventListener('mouseup', onSliderMouseUp)\n }\n\n function onSliderTouchend (e: TouchEvent) {\n handleStop(e)\n\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.removeEventListener('touchend', onSliderTouchend as EventListener)\n }\n\n function onSliderTouchstart (e: TouchEvent) {\n handleStart(e)\n\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions)\n e.target?.addEventListener('touchend', onSliderTouchend as EventListener, { passive: false })\n }\n\n function onSliderMousedown (e: MouseEvent) {\n e.preventDefault()\n\n handleStart(e)\n\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions)\n window.addEventListener('mouseup', onSliderMouseUp, { passive: false })\n }\n\n const position = (val: number) => {\n const percentage = (val - min.value) / (max.value - min.value) * 100\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100)\n }\n\n const showTicks = toRef(props, 'showTicks')\n const parsedTicks = computed<Tick[]>(() => {\n if (!showTicks.value) return []\n\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + (t * step.value)\n return {\n value,\n position: position(value),\n }\n }) : []\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({ value: t, position: position(t), label: t.toString() }))\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: (props.ticks as Record<string, string>)[key],\n }))\n })\n\n const hasLabels = computed(() => parsedTicks.value.some(({ label }) => !!label))\n\n const data: SliderProvide = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n horizontalDirection,\n isReversed,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical,\n }\n\n provide(VSliderSymbol, data)\n\n return data\n}\n"],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
.v-snackbar {
|
|
2
2
|
justify-content: center;
|
|
3
|
-
padding-inline-end: var(--v-scrollbar-offset);
|
|
4
|
-
}
|
|
5
|
-
.v-snackbar:not(.v-snackbar--absolute) {
|
|
6
|
-
height: 100vh;
|
|
7
|
-
position: fixed;
|
|
8
3
|
z-index: 10000;
|
|
4
|
+
margin: 8px;
|
|
5
|
+
margin-inline-end: calc(8px + var(--v-scrollbar-offset));
|
|
9
6
|
}
|
|
10
7
|
.v-snackbar:not(.v-snackbar--centered):not(.v-snackbar--top) {
|
|
11
8
|
align-items: flex-end;
|
|
@@ -13,7 +10,6 @@
|
|
|
13
10
|
.v-snackbar__wrapper {
|
|
14
11
|
align-items: center;
|
|
15
12
|
display: flex;
|
|
16
|
-
margin: 8px;
|
|
17
13
|
max-width: 672px;
|
|
18
14
|
min-height: 48px;
|
|
19
15
|
min-width: 344px;
|
|
@@ -82,7 +78,6 @@
|
|
|
82
78
|
min-width: auto;
|
|
83
79
|
}
|
|
84
80
|
.v-snackbar--absolute {
|
|
85
|
-
height: 100%;
|
|
86
81
|
position: absolute;
|
|
87
82
|
z-index: 1;
|
|
88
83
|
}
|
|
@@ -103,7 +103,8 @@ export const VSnackbar = genericComponent()({
|
|
|
103
103
|
"persistent": true,
|
|
104
104
|
"noClickAnimation": true,
|
|
105
105
|
"scrim": false,
|
|
106
|
-
"scrollStrategy": "none"
|
|
106
|
+
"scrollStrategy": "none",
|
|
107
|
+
"_disableGlobalStack": true
|
|
107
108
|
}, scopeId), {
|
|
108
109
|
default: () => [genOverlays(false, 'v-snackbar'), slots.default && _createVNode("div", {
|
|
109
110
|
"class": "v-snackbar__content",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","genOverlays","makeVariantProps","useVariant","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeThemeProps","provideTheme","useProxiedModel","useScopeId","forwardRefs","mergeProps","onMounted","ref","watch","genericComponent","omit","useRender","filterVOverlayProps","makeVOverlayProps","VSnackbar","name","props","multiLine","Boolean","timeout","type","Number","String","default","vertical","location","transition","emits","v","setup","slots","isActive","locationStyles","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","overlay","startTimeout","value","activeTimeout","window","clearTimeout","setTimeout","onPointerenter","overlayProps","class","style","onPointerleave","contentProps","actions","VBtn","variant","ripple","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'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { mergeProps, onMounted, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender } from '@/util'\nimport { filterVOverlayProps, makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\ntype VSnackbarSlots = {\n activator: [{ isActive: boolean, props: Record<string, any> }]\n default: []\n actions: []\n}\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: {\n multiLine: Boolean,\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 },\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\n const overlay = ref<VOverlay>()\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 window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => {\n const [overlayProps] = filterVOverlayProps(props)\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--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\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: startTimeout,\n }, overlayProps.contentProps)}\n persistent\n noClickAnimation\n scrim={ false }\n scrollStrategy=\"none\"\n { ...scopeId }\n v-slots={{ activator: slots.activator }}\n >\n { genOverlays(false, 'v-snackbar') }\n\n { slots.default && (\n <div\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\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":";AAAA;AACA;;AAEA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,QAAQ,iCAEjB;AAAA,SACSC,WAAW,EAAEC,gBAAgB,EAAEC,UAAU;AAAA,SACzCC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,eAAe;AAAA,SACfC,UAAU;AAAA,SACVC,WAAW,6CAEpB;AACA,SAASC,UAAU,EAAEC,SAAS,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC9CC,gBAAgB,EAAEC,IAAI,EAAEC,SAAS;AAAA,SACjCC,mBAAmB,EAAEC,iBAAiB;AAQ/C,OAAO,MAAMC,SAAS,GAAGL,gBAAgB,EAAkB,CAAC;EAC1DM,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAE;IACLC,SAAS,EAAEC,OAAO;IAClBC,OAAO,EAAE;MACPC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;MACtBC,OAAO,EAAE;IACX,CAAC;IACDC,QAAQ,EAAEN,OAAO;IAEjB,GAAGxB,iBAAiB,CAAC;MAAE+B,QAAQ,EAAE;IAAS,CAAC,CAAU;IACrD,GAAG7B,iBAAiB,EAAE;IACtB,GAAGE,gBAAgB,EAAE;IACrB,GAAGN,gBAAgB,EAAE;IACrB,GAAGQ,cAAc,EAAE;IACnB,GAAGU,IAAI,CAACG,iBAAiB,CAAC;MACxBa,UAAU,EAAE;IACd,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,CAAC;EACnE,CAAC;EAEDC,KAAK,EAAE;IACL,mBAAmB,EAAGC,CAAU,IAAK;EACvC,CAAC;EAEDC,KAAK,CAAEb,KAAK,QAAa;IAAA,IAAX;MAAEc;IAAM,CAAC;IACrB,MAAMC,QAAQ,GAAG7B,eAAe,CAACc,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM;MAAEgB;IAAe,CAAC,GAAGrC,WAAW,CAACqB,KAAK,CAAC;IAC7C,MAAM;MAAEiB;IAAgB,CAAC,GAAGpC,WAAW,CAACmB,KAAK,CAAC;IAC9C,MAAM;MAAEkB;IAAQ,CAAC,GAAG/B,UAAU,EAAE;IAChC,MAAM;MAAEgC;IAAa,CAAC,GAAGlC,YAAY,CAACe,KAAK,CAAC;IAC5C,MAAM;MAAEoB,YAAY;MAAEC,WAAW;MAAEC;IAAe,CAAC,GAAG7C,UAAU,CAACuB,KAAK,CAAC;IACvE,MAAM;MAAEuB;IAAe,CAAC,GAAGxC,UAAU,CAACiB,KAAK,CAAC;IAE5C,MAAMwB,OAAO,GAAGjC,GAAG,EAAY;IAE/BC,KAAK,CAACuB,QAAQ,EAAEU,YAAY,CAAC;IAC7BjC,KAAK,CAAC,MAAMQ,KAAK,CAACG,OAAO,EAAEsB,YAAY,CAAC;IAExCnC,SAAS,CAAC,MAAM;MACd,IAAIyB,QAAQ,CAACW,KAAK,EAAED,YAAY,EAAE;IACpC,CAAC,CAAC;IAEF,IAAIE,aAAa,GAAG,CAAC,CAAC;IACtB,SAASF,YAAY,GAAI;MACvBG,MAAM,CAACC,YAAY,CAACF,aAAa,CAAC;MAClC,MAAMxB,OAAO,GAAGE,MAAM,CAACL,KAAK,CAACG,OAAO,CAAC;MAErC,IAAI,CAACY,QAAQ,CAACW,KAAK,IAAIvB,OAAO,KAAK,CAAC,CAAC,EAAE;MAEvCwB,aAAa,GAAGC,MAAM,CAACE,UAAU,CAAC,MAAM;QACtCf,QAAQ,CAACW,KAAK,GAAG,KAAK;MACxB,CAAC,EAAEvB,OAAO,CAAC;IACb;IAEA,SAAS4B,cAAc,GAAI;MACzBH,MAAM,CAACC,YAAY,CAACF,aAAa,CAAC;IACpC;IAEAhC,SAAS,CAAC,MAAM;MACd,MAAM,CAACqC,YAAY,CAAC,GAAGpC,mBAAmB,CAACI,KAAK,CAAC;MAEjD;QAAA,OAEUwB,OAAO;QAAA,SACN,CACL,YAAY,EACZ;UACE,oBAAoB,EAAET,QAAQ,CAACW,KAAK;UACpC,wBAAwB,EAAE1B,KAAK,CAACC,SAAS,IAAI,CAACD,KAAK,CAACQ,QAAQ;UAC5D,sBAAsB,EAAER,KAAK,CAACQ;QAChC,CAAC,EACDS,eAAe,CAACS,KAAK;MACtB,GACIM,YAAY;QAAA,cACPjB,QAAQ,CAACW,KAAK;QAAA,iCAAdX,QAAQ,CAACW,KAAK;QAAA,gBACTrC,UAAU,CAAC;UACxB4C,KAAK,EAAE,CACL,qBAAqB,EACrBd,YAAY,CAACO,KAAK,EAClBN,YAAY,CAACM,KAAK,EAClBH,cAAc,CAACG,KAAK,EACpBJ,cAAc,CAACI,KAAK,CACrB;UACDQ,KAAK,EAAE,CACLlB,cAAc,CAACU,KAAK,EACpBL,WAAW,CAACK,KAAK,CAClB;UACDK,cAAc;UACdI,cAAc,EAAEV;QAClB,CAAC,EAAEO,YAAY,CAACI,YAAY,CAAC;QAAA;QAAA;QAAA,SAGrB,KAAK;QAAA,kBACE;
|
|
1
|
+
{"version":3,"file":"VSnackbar.mjs","names":["VDefaultsProvider","VOverlay","genOverlays","makeVariantProps","useVariant","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeThemeProps","provideTheme","useProxiedModel","useScopeId","forwardRefs","mergeProps","onMounted","ref","watch","genericComponent","omit","useRender","filterVOverlayProps","makeVOverlayProps","VSnackbar","name","props","multiLine","Boolean","timeout","type","Number","String","default","vertical","location","transition","emits","v","setup","slots","isActive","locationStyles","positionClasses","scopeId","themeClasses","colorClasses","colorStyles","variantClasses","roundedClasses","overlay","startTimeout","value","activeTimeout","window","clearTimeout","setTimeout","onPointerenter","overlayProps","class","style","onPointerleave","contentProps","actions","VBtn","variant","ripple","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'\n\n// Composables\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\nimport { forwardRefs } from '@/composables/forwardRefs'\n\n// Utilities\nimport { mergeProps, onMounted, ref, watch } from 'vue'\nimport { genericComponent, omit, useRender } from '@/util'\nimport { filterVOverlayProps, makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\ntype VSnackbarSlots = {\n activator: [{ isActive: boolean, props: Record<string, any> }]\n default: []\n actions: []\n}\n\nexport const VSnackbar = genericComponent<VSnackbarSlots>()({\n name: 'VSnackbar',\n\n props: {\n multiLine: Boolean,\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 },\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\n const overlay = ref<VOverlay>()\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 window.clearTimeout(activeTimeout)\n const timeout = Number(props.timeout)\n\n if (!isActive.value || timeout === -1) return\n\n activeTimeout = window.setTimeout(() => {\n isActive.value = false\n }, timeout)\n }\n\n function onPointerenter () {\n window.clearTimeout(activeTimeout)\n }\n\n useRender(() => {\n const [overlayProps] = filterVOverlayProps(props)\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--vertical': props.vertical,\n },\n positionClasses.value,\n ]}\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: startTimeout,\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 { slots.default && (\n <div\n class=\"v-snackbar__content\"\n role=\"status\"\n aria-live=\"polite\"\n >\n { slots.default() }\n </div>\n )}\n\n { slots.actions && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n variant: 'text',\n ripple: false,\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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"}
|
|
@@ -4,12 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
.v-snackbar
|
|
6
6
|
justify-content: center
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
height: 100vh
|
|
11
|
-
position: fixed
|
|
12
|
-
z-index: $snackbar-z-index
|
|
7
|
+
z-index: $snackbar-z-index
|
|
8
|
+
margin: $snackbar-wrapper-margin
|
|
9
|
+
margin-inline-end: calc(#{$snackbar-wrapper-margin} + var(--v-scrollbar-offset))
|
|
13
10
|
|
|
14
11
|
&:not(.v-snackbar--centered):not(.v-snackbar--top)
|
|
15
12
|
align-items: flex-end
|
|
@@ -17,7 +14,6 @@
|
|
|
17
14
|
&__wrapper
|
|
18
15
|
align-items: center
|
|
19
16
|
display: flex
|
|
20
|
-
margin: $snackbar-wrapper-margin
|
|
21
17
|
max-width: $snackbar-wrapper-max-width
|
|
22
18
|
min-height: $snackbar-wrapper-min-height
|
|
23
19
|
min-width: $snackbar-wrapper-min-width
|
|
@@ -49,7 +45,6 @@
|
|
|
49
45
|
min-width: auto
|
|
50
46
|
|
|
51
47
|
&--absolute
|
|
52
|
-
height: 100%
|
|
53
48
|
position: absolute
|
|
54
49
|
z-index: $snackbar-absolute-z-index
|
|
55
50
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
1
|
+
import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VTabs.css";
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
|
+
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
6
7
|
import { VSlideGroup } from "../VSlideGroup/index.mjs";
|
|
7
8
|
import { VTab } from "./VTab.mjs"; // Composables
|
|
8
9
|
import { makeDensityProps, useDensity } from "../../composables/density.mjs";
|
|
9
10
|
import { makeTagProps } from "../../composables/tag.mjs";
|
|
10
|
-
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
11
11
|
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
12
12
|
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
|
13
13
|
import { computed, toRef } from 'vue';
|
|
@@ -73,16 +73,6 @@ export const VTabs = genericComponent()({
|
|
|
73
73
|
backgroundColorClasses,
|
|
74
74
|
backgroundColorStyles
|
|
75
75
|
} = useBackgroundColor(toRef(props, 'bgColor'));
|
|
76
|
-
provideDefaults({
|
|
77
|
-
VTab: {
|
|
78
|
-
color: toRef(props, 'color'),
|
|
79
|
-
direction: toRef(props, 'direction'),
|
|
80
|
-
stacked: toRef(props, 'stacked'),
|
|
81
|
-
fixed: toRef(props, 'fixedTabs'),
|
|
82
|
-
sliderColor: toRef(props, 'sliderColor'),
|
|
83
|
-
hideSlider: toRef(props, 'hideSlider')
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
76
|
useRender(() => _createVNode(VSlideGroup, {
|
|
87
77
|
"modelValue": model.value,
|
|
88
78
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
@@ -99,9 +89,27 @@ export const VTabs = genericComponent()({
|
|
|
99
89
|
"mandatory": props.mandatory,
|
|
100
90
|
"direction": props.direction
|
|
101
91
|
}, {
|
|
102
|
-
default: () => [slots.default ?
|
|
103
|
-
"key": item.title
|
|
104
|
-
|
|
92
|
+
default: () => [!slots.default ? parsedItems.value.map(item => _createVNode(VTab, _mergeProps({
|
|
93
|
+
"key": item.title,
|
|
94
|
+
"color": props.color,
|
|
95
|
+
"direction": props.direction,
|
|
96
|
+
"fixed": props.fixedTabs,
|
|
97
|
+
"hideSlider": props.hideSlider,
|
|
98
|
+
"sliderColor": props.sliderColor,
|
|
99
|
+
"stacked": props.stacked
|
|
100
|
+
}, item), null)) : _createVNode(VDefaultsProvider, {
|
|
101
|
+
"key": "tabs-defaults",
|
|
102
|
+
"defaults": {
|
|
103
|
+
VTab: {
|
|
104
|
+
color: props.color,
|
|
105
|
+
direction: props.direction,
|
|
106
|
+
fixed: props.fixedTabs,
|
|
107
|
+
hideSlider: props.hideSlider,
|
|
108
|
+
sliderColor: props.sliderColor,
|
|
109
|
+
stacked: props.stacked
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}, slots.default)]
|
|
105
113
|
}));
|
|
106
114
|
return {};
|
|
107
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTabs.mjs","names":["VSlideGroup","VTab","makeDensityProps","useDensity","makeTagProps","
|
|
1
|
+
{"version":3,"file":"VTabs.mjs","names":["VDefaultsProvider","VSlideGroup","VTab","makeDensityProps","useDensity","makeTagProps","useBackgroundColor","useProxiedModel","computed","toRef","convertToUnit","genericComponent","useRender","VTabsSymbol","parseItems","items","map","item","title","value","VTabs","name","props","alignTabs","type","String","default","color","direction","fixedTabs","Boolean","Array","stacked","bgColor","grow","height","Number","undefined","hideSlider","sliderColor","modelValue","mandatory","emits","v","setup","slots","model","parsedItems","densityClasses","backgroundColorClasses","backgroundColorStyles","fixed"],"sources":["../../../src/components/VTabs/VTabs.tsx"],"sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VSlideGroup } from '@/components/VSlideGroup'\nimport { VTab } from './VTab'\n\n// Composables\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeTagProps } from '@/composables/tag'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { convertToUnit, genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport type TabItem = string | Record<string, any>\n\nfunction parseItems (items: TabItem[] | undefined) {\n if (!items) return []\n\n return items.map(item => {\n if (typeof item === 'string') return { title: item, value: item }\n\n return item\n })\n}\n\nexport const VTabs = genericComponent()({\n name: 'VTabs',\n\n props: {\n alignTabs: {\n type: String as PropType<'start' | 'title' | 'center' | 'end'>,\n default: 'start',\n },\n color: String,\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n fixedTabs: Boolean,\n items: {\n type: Array as PropType<TabItem[]>,\n default: () => ([]),\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n sliderColor: String,\n modelValue: null,\n mandatory: {\n type: [Boolean, String] as PropType<boolean | 'force'>,\n default: 'force',\n },\n\n ...makeDensityProps(),\n ...makeTagProps(),\n },\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const parsedItems = computed(() => parseItems(props.items))\n const { densityClasses } = useDensity(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'bgColor'))\n\n useRender(() => (\n <VSlideGroup\n v-model={ model.value }\n class={[\n 'v-tabs',\n `v-tabs--${props.direction}`,\n `v-tabs--align-tabs-${props.alignTabs}`,\n {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked,\n },\n densityClasses.value,\n backgroundColorClasses.value,\n ]}\n style={[\n { '--v-tabs-height': convertToUnit(props.height) },\n backgroundColorStyles.value,\n ]}\n role=\"tablist\"\n symbol={ VTabsSymbol }\n mandatory={ props.mandatory }\n direction={ props.direction }\n >\n { !slots.default ? (\n parsedItems.value.map(item => (\n <VTab\n key={ item.title }\n color={ props.color }\n direction={ props.direction }\n fixed={ props.fixedTabs }\n hideSlider={ props.hideSlider }\n sliderColor={ props.sliderColor }\n stacked={ props.stacked }\n { ...item }\n />\n ))\n ) : (\n <VDefaultsProvider\n key=\"tabs-defaults\"\n defaults={{\n VTab: {\n color: props.color,\n direction: props.direction,\n fixed: props.fixedTabs,\n hideSlider: props.hideSlider,\n sliderColor: props.sliderColor,\n stacked: props.stacked,\n },\n }}\n v-slots:default={ slots.default }\n />\n )}\n </VSlideGroup>\n ))\n\n return {}\n },\n})\n\nexport type VTabs = InstanceType<typeof VTabs>\n"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from "vue";
|
|
1
|
+
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Components
|
|
3
|
+
import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
|
|
3
4
|
import { VIcon } from "../VIcon/index.mjs"; // Composables
|
|
4
5
|
import { IconValue } from "../../composables/icons.mjs";
|
|
5
6
|
import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
|
|
6
7
|
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
7
8
|
import { makeSizeProps, useSize } from "../../composables/size.mjs";
|
|
8
|
-
import { provideDefaults } from "../../composables/defaults.mjs";
|
|
9
9
|
import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
|
|
10
10
|
import { genericComponent, useRender } from "../../util/index.mjs";
|
|
11
11
|
import { toRef } from 'vue';
|
|
@@ -44,13 +44,6 @@ export const VTimelineDivider = genericComponent()({
|
|
|
44
44
|
backgroundColorClasses: lineColorClasses,
|
|
45
45
|
backgroundColorStyles: lineColorStyles
|
|
46
46
|
} = useBackgroundColor(toRef(props, 'lineColor'));
|
|
47
|
-
provideDefaults({
|
|
48
|
-
VIcon: {
|
|
49
|
-
color: toRef(props, 'iconColor'),
|
|
50
|
-
icon: toRef(props, 'icon'),
|
|
51
|
-
size: toRef(props, 'size')
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
47
|
useRender(() => _createVNode("div", {
|
|
55
48
|
"class": ['v-timeline-divider', {
|
|
56
49
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
@@ -65,7 +58,22 @@ export const VTimelineDivider = genericComponent()({
|
|
|
65
58
|
}, [_createVNode("div", {
|
|
66
59
|
"class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
|
|
67
60
|
"style": backgroundColorStyles.value
|
|
68
|
-
}, [slots.default
|
|
61
|
+
}, [!slots.default ? _createVNode(VIcon, {
|
|
62
|
+
"key": "icon",
|
|
63
|
+
"color": props.iconColor,
|
|
64
|
+
"icon": props.icon,
|
|
65
|
+
"size": props.size
|
|
66
|
+
}, null) : _createVNode(VDefaultsProvider, {
|
|
67
|
+
"key": "icon-defaults",
|
|
68
|
+
"disabled": !props.icon,
|
|
69
|
+
"defaults": {
|
|
70
|
+
VIcon: {
|
|
71
|
+
color: props.iconColor,
|
|
72
|
+
icon: props.icon,
|
|
73
|
+
size: props.size
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}, slots.default)])]), _createVNode("div", {
|
|
69
77
|
"class": ['v-timeline-divider__after', lineColorClasses.value],
|
|
70
78
|
"style": lineColorStyles.value
|
|
71
79
|
}, null)]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VTimelineDivider.mjs","names":["VIcon","IconValue","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeSizeProps","useSize","
|
|
1
|
+
{"version":3,"file":"VTimelineDivider.mjs","names":["VDefaultsProvider","VIcon","IconValue","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeSizeProps","useSize","useBackgroundColor","genericComponent","useRender","toRef","VTimelineDivider","name","props","dotColor","String","fillDot","Boolean","hideDot","icon","iconColor","lineColor","setup","slots","sizeClasses","sizeStyles","backgroundColorStyles","backgroundColorClasses","roundedClasses","elevationClasses","lineColorClasses","lineColorStyles","value","default","size","color"],"sources":["../../../src/components/VTimeline/VTimelineDivider.tsx"],"sourcesContent":["// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeSizeProps, useSize } from '@/composables/size'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\nimport { toRef } from 'vue'\n\nexport const VTimelineDivider = genericComponent()({\n name: 'VTimelineDivider',\n\n props: {\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps(),\n },\n\n setup (props, { slots }) {\n const { sizeClasses, sizeStyles } = useSize(props, 'v-timeline-divider__dot')\n const { backgroundColorStyles, backgroundColorClasses } = useBackgroundColor(toRef(props, 'dotColor'))\n const { roundedClasses } = useRounded(props, 'v-timeline-divider__dot')\n const { elevationClasses } = useElevation(props)\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles,\n } = useBackgroundColor(toRef(props, 'lineColor'))\n\n useRender(() => (\n <div\n class={[\n 'v-timeline-divider',\n {\n 'v-timeline-divider--fill-dot': props.fillDot,\n },\n ]}\n >\n <div\n class={[\n 'v-timeline-divider__before',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n\n { !props.hideDot && (\n <div\n key=\"dot\"\n class={[\n 'v-timeline-divider__dot',\n elevationClasses.value,\n roundedClasses.value,\n sizeClasses.value,\n ]}\n style={ sizeStyles.value }\n >\n <div\n class={[\n 'v-timeline-divider__inner-dot',\n backgroundColorClasses.value,\n roundedClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { !slots.default ? (\n <VIcon\n key=\"icon\"\n color={ props.iconColor }\n icon={ props.icon }\n size={ props.size }\n />\n ) : (\n <VDefaultsProvider\n key=\"icon-defaults\"\n disabled={ !props.icon }\n defaults={{\n VIcon: {\n color: props.iconColor,\n icon: props.icon,\n size: props.size,\n },\n }}\n v-slots:default={ slots.default }\n />\n )}\n </div>\n </div>\n )}\n\n <div\n class={[\n 'v-timeline-divider__after',\n lineColorClasses.value,\n ]}\n style={ lineColorStyles.value }\n />\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VTimelineDivider = InstanceType<typeof VTimelineDivider>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB;AAAA,SACjBC,KAAK,8BAEd;AAAA,SACSC,SAAS;AAAA,SACTC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,aAAa,EAAEC,OAAO;AAAA,SACtBC,kBAAkB,uCAE3B;AAAA,SACSC,gBAAgB,EAAEC,SAAS;AACpC,SAASC,KAAK,QAAQ,KAAK;AAE3B,OAAO,MAAMC,gBAAgB,GAAGH,gBAAgB,EAAE,CAAC;EACjDI,IAAI,EAAE,kBAAkB;EAExBC,KAAK,EAAE;IACLC,QAAQ,EAAEC,MAAM;IAChBC,OAAO,EAAEC,OAAO;IAChBC,OAAO,EAAED,OAAO;IAChBE,IAAI,EAAEnB,SAAS;IACfoB,SAAS,EAAEL,MAAM;IACjBM,SAAS,EAAEN,MAAM;IAEjB,GAAGZ,gBAAgB,EAAE;IACrB,GAAGE,aAAa,EAAE;IAClB,GAAGJ,kBAAkB;EACvB,CAAC;EAEDqB,KAAK,CAAET,KAAK,QAAa;IAAA,IAAX;MAAEU;IAAM,CAAC;IACrB,MAAM;MAAEC,WAAW;MAAEC;IAAW,CAAC,GAAGnB,OAAO,CAACO,KAAK,EAAE,yBAAyB,CAAC;IAC7E,MAAM;MAAEa,qBAAqB;MAAEC;IAAuB,CAAC,GAAGpB,kBAAkB,CAACG,KAAK,CAACG,KAAK,EAAE,UAAU,CAAC,CAAC;IACtG,MAAM;MAAEe;IAAe,CAAC,GAAGxB,UAAU,CAACS,KAAK,EAAE,yBAAyB,CAAC;IACvE,MAAM;MAAEgB;IAAiB,CAAC,GAAG3B,YAAY,CAACW,KAAK,CAAC;IAChD,MAAM;MACJc,sBAAsB,EAAEG,gBAAgB;MACxCJ,qBAAqB,EAAEK;IACzB,CAAC,GAAGxB,kBAAkB,CAACG,KAAK,CAACG,KAAK,EAAE,WAAW,CAAC,CAAC;IAEjDJ,SAAS,CAAC;MAAA,SAEC,CACL,oBAAoB,EACpB;QACE,8BAA8B,EAAEI,KAAK,CAACG;MACxC,CAAC;IACF;MAAA,SAGQ,CACL,4BAA4B,EAC5Bc,gBAAgB,CAACE,KAAK,CACvB;MAAA,SACOD,eAAe,CAACC;IAAK,UAG7B,CAACnB,KAAK,CAACK,OAAO;MAAA,OAER,KAAK;MAAA,SACF,CACL,yBAAyB,EACzBW,gBAAgB,CAACG,KAAK,EACtBJ,cAAc,CAACI,KAAK,EACpBR,WAAW,CAACQ,KAAK,CAClB;MAAA,SACOP,UAAU,CAACO;IAAK;MAAA,SAGf,CACL,+BAA+B,EAC/BL,sBAAsB,CAACK,KAAK,EAC5BJ,cAAc,CAACI,KAAK,CACrB;MAAA,SACON,qBAAqB,CAACM;IAAK,IAEjC,CAACT,KAAK,CAACU,OAAO;MAAA,OAER,MAAM;MAAA,SACFpB,KAAK,CAACO,SAAS;MAAA,QAChBP,KAAK,CAACM,IAAI;MAAA,QACVN,KAAK,CAACqB;IAAI;MAAA,OAIb,eAAe;MAAA,YACR,CAACrB,KAAK,CAACM,IAAI;MAAA,YACZ;QACRpB,KAAK,EAAE;UACLoC,KAAK,EAAEtB,KAAK,CAACO,SAAS;UACtBD,IAAI,EAAEN,KAAK,CAACM,IAAI;UAChBe,IAAI,EAAErB,KAAK,CAACqB;QACd;MACF;IAAC,GACiBX,KAAK,CAACU,OAAO,CAElC,IAGN;MAAA,SAGQ,CACL,2BAA2B,EAC3BH,gBAAgB,CAACE,KAAK,CACvB;MAAA,SACOD,eAAe,CAACC;IAAK,UAGlC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createVNode as _createVNode } from "vue";
|
|
1
|
+
import { resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
|
|
2
2
|
// Styles
|
|
3
3
|
import "./VToolbar.css";
|
|
4
4
|
|
|
@@ -96,16 +96,20 @@ export const VToolbar = genericComponent()({
|
|
|
96
96
|
default: () => [hasImage && _createVNode("div", {
|
|
97
97
|
"key": "image",
|
|
98
98
|
"class": "v-toolbar__image"
|
|
99
|
-
}, [_createVNode(
|
|
99
|
+
}, [!slots.image ? _createVNode(VImg, {
|
|
100
|
+
"key": "image-img",
|
|
101
|
+
"cover": true,
|
|
102
|
+
"src": props.image
|
|
103
|
+
}, null) : _createVNode(VDefaultsProvider, {
|
|
104
|
+
"key": "image-defaults",
|
|
105
|
+
"disabled": !props.image,
|
|
100
106
|
"defaults": {
|
|
101
107
|
VImg: {
|
|
102
108
|
cover: true,
|
|
103
109
|
src: props.image
|
|
104
110
|
}
|
|
105
111
|
}
|
|
106
|
-
}, {
|
|
107
|
-
default: () => [slots.image ? slots.image?.() : _createVNode(VImg, null, null)]
|
|
108
|
-
})]), _createVNode(VDefaultsProvider, {
|
|
112
|
+
}, slots.image)]), _createVNode(VDefaultsProvider, {
|
|
109
113
|
"defaults": {
|
|
110
114
|
VTabs: {
|
|
111
115
|
height: convertToUnit(contentHeight.value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","VTabs","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport type VToolbarSlots = MakeSlots<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n}>\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n <VDefaultsProvider\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n >\n { slots.image ? slots.image?.() : (<VImg />) }\n </VDefaultsProvider>\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VToolbar.mjs","names":["VDefaultsProvider","VExpandTransition","VImg","VToolbarTitle","makeBorderProps","useBorder","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","provideDefaults","useBackgroundColor","computed","ref","toRef","convertToUnit","genericComponent","pick","propsFactory","useRender","allowedDensities","makeVToolbarProps","absolute","Boolean","collapse","color","String","density","type","default","validator","v","includes","extended","extensionHeight","Number","flat","floating","height","image","title","tag","VToolbar","name","props","setup","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","elevationClasses","roundedClasses","themeClasses","isExtended","extension","contentHeight","parseInt","value","VBtn","variant","hasTitle","hasImage","cover","src","VTabs","prepend","text","append","filterToolbarProps","Object","keys"],"sources":["../../../src/components/VToolbar/VToolbar.tsx"],"sourcesContent":["// Styles\nimport './VToolbar.sass'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VExpandTransition } from '@/components/transitions'\nimport { VImg } from '@/components/VImg'\nimport { VToolbarTitle } from './VToolbarTitle'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { provideDefaults } from '@/composables/defaults'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { convertToUnit, genericComponent, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { MakeSlots } from '@/util'\n\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'] as const\n\nexport type Density = null | 'prominent' | 'default' | 'comfortable' | 'compact'\n\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String as PropType<Density>,\n default: 'default',\n validator: (v: any) => allowedDensities.includes(v),\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48,\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64,\n },\n image: String,\n title: String,\n\n ...makeBorderProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'header' }),\n ...makeThemeProps(),\n}, 'v-toolbar')\n\nexport type VToolbarSlots = MakeSlots<{\n default: []\n image: []\n prepend: []\n append: []\n title: []\n extension: []\n}>\n\nexport const VToolbar = genericComponent<VToolbarSlots>()({\n name: 'VToolbar',\n\n props: makeVToolbarProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { themeClasses } = provideTheme(props)\n\n const isExtended = ref(!!(props.extended || slots.extension?.()))\n const contentHeight = computed(() => parseInt((\n Number(props.height) +\n (props.density === 'prominent' ? Number(props.height) : 0) -\n (props.density === 'comfortable' ? 8 : 0) -\n (props.density === 'compact' ? 16 : 0)\n ), 10))\n const extensionHeight = computed(() => isExtended.value\n ? parseInt((\n Number(props.extensionHeight) +\n (props.density === 'prominent' ? Number(props.extensionHeight) : 0) -\n (props.density === 'comfortable' ? 4 : 0) -\n (props.density === 'compact' ? 8 : 0)\n ), 10)\n : 0\n )\n\n provideDefaults({\n VBtn: {\n variant: 'text',\n },\n })\n\n useRender(() => {\n const hasTitle = !!(props.title || slots.title)\n const hasImage = !!(slots.image || props.image)\n\n const extension = slots.extension?.()\n isExtended.value = !!(props.extended || extension)\n\n return (\n <props.tag\n class={[\n 'v-toolbar',\n {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true,\n },\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n ]}\n >\n { hasImage && (\n <div key=\"image\" class=\"v-toolbar__image\">\n { !slots.image ? (\n <VImg\n key=\"image-img\"\n cover\n src={ props.image }\n />\n ) : (\n <VDefaultsProvider\n key=\"image-defaults\"\n disabled={ !props.image }\n defaults={{\n VImg: {\n cover: true,\n src: props.image,\n },\n }}\n v-slots:default={ slots.image }\n />\n )}\n </div>\n )}\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(contentHeight.value),\n },\n }}\n >\n <div\n class=\"v-toolbar__content\"\n style={{ height: convertToUnit(contentHeight.value) }}\n >\n { slots.prepend && (\n <div class=\"v-toolbar__prepend\">\n { slots.prepend?.() }\n </div>\n )}\n\n { hasTitle && (\n <VToolbarTitle key=\"title\" text={ props.title }>\n {{ text: slots.title }}\n </VToolbarTitle>\n )}\n\n { slots.default?.() }\n\n { slots.append && (\n <div class=\"v-toolbar__append\">\n { slots.append?.() }\n </div>\n )}\n </div>\n </VDefaultsProvider>\n\n <VDefaultsProvider\n defaults={{\n VTabs: {\n height: convertToUnit(extensionHeight.value),\n },\n }}\n >\n <VExpandTransition>\n { isExtended.value && (\n <div\n class=\"v-toolbar__extension\"\n style={{ height: convertToUnit(extensionHeight.value) }}\n >\n { extension }\n </div>\n )}\n </VExpandTransition>\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n contentHeight,\n extensionHeight,\n }\n },\n})\n\nexport type VToolbar = InstanceType<typeof VToolbar>\n\nexport function filterToolbarProps (props: ExtractPropTypes<ReturnType<typeof makeVToolbarProps>>) {\n return pick(props, Object.keys(VToolbar?.props ?? {}) as any)\n}\n"],"mappings":"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"}
|
|
@@ -637,6 +637,7 @@ declare const VAlert: vue.DefineComponent<{
|
|
|
637
637
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
638
638
|
"v-slot:close"?: false | (() => vue.VNodeChild) | undefined;
|
|
639
639
|
}, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
640
|
+
'click:close': (e: MouseEvent) => true;
|
|
640
641
|
'update:modelValue': (value: boolean) => true;
|
|
641
642
|
}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
|
|
642
643
|
tag: string;
|
|
@@ -700,6 +701,7 @@ declare const VAlert: vue.DefineComponent<{
|
|
|
700
701
|
"v-slot:close"?: false | (() => vue.VNodeChild) | undefined;
|
|
701
702
|
} & {
|
|
702
703
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
704
|
+
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
|
|
703
705
|
}, {
|
|
704
706
|
tag: string;
|
|
705
707
|
icon: false | IconValue;
|
|
@@ -5316,7 +5318,7 @@ declare const VChip: vue.DefineComponent<{
|
|
|
5316
5318
|
"v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
|
|
5317
5319
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
5318
5320
|
}, () => false | JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
5319
|
-
'click:close': (e:
|
|
5321
|
+
'click:close': (e: MouseEvent) => true;
|
|
5320
5322
|
'update:modelValue': (value: boolean) => true;
|
|
5321
5323
|
'group:selected': (val: {
|
|
5322
5324
|
value: boolean;
|
|
@@ -5389,7 +5391,7 @@ declare const VChip: vue.DefineComponent<{
|
|
|
5389
5391
|
"onGroup:selected"?: ((val: {
|
|
5390
5392
|
value: boolean;
|
|
5391
5393
|
}) => any) | undefined;
|
|
5392
|
-
"onClick:close"?: ((e:
|
|
5394
|
+
"onClick:close"?: ((e: MouseEvent) => any) | undefined;
|
|
5393
5395
|
}, {
|
|
5394
5396
|
replace: boolean;
|
|
5395
5397
|
link: boolean;
|
|
@@ -7454,6 +7456,7 @@ type DefaultsInstance = undefined | {
|
|
|
7454
7456
|
type DefaultsOptions = Partial<DefaultsInstance>;
|
|
7455
7457
|
|
|
7456
7458
|
declare const VDefaultsProvider: vue.DefineComponent<{
|
|
7459
|
+
disabled: boolean;
|
|
7457
7460
|
root: boolean;
|
|
7458
7461
|
scoped: boolean;
|
|
7459
7462
|
} & {
|
|
@@ -7474,6 +7477,7 @@ declare const VDefaultsProvider: vue.DefineComponent<{
|
|
|
7474
7477
|
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
7475
7478
|
[key: string]: any;
|
|
7476
7479
|
}>[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, {
|
|
7480
|
+
disabled: boolean;
|
|
7477
7481
|
root: boolean;
|
|
7478
7482
|
scoped: boolean;
|
|
7479
7483
|
} & {
|
|
@@ -7492,6 +7496,7 @@ declare const VDefaultsProvider: vue.DefineComponent<{
|
|
|
7492
7496
|
} & {
|
|
7493
7497
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
7494
7498
|
}, {
|
|
7499
|
+
disabled: boolean;
|
|
7495
7500
|
root: boolean;
|
|
7496
7501
|
scoped: boolean;
|
|
7497
7502
|
}>;
|
|
@@ -14,6 +14,8 @@ export function provideDefaults(defaults, options) {
|
|
|
14
14
|
const injectedDefaults = useDefaults();
|
|
15
15
|
const providedDefaults = ref(defaults);
|
|
16
16
|
const newDefaults = computed(() => {
|
|
17
|
+
const disabled = unref(options?.disabled);
|
|
18
|
+
if (disabled) return {};
|
|
17
19
|
const scoped = unref(options?.scoped);
|
|
18
20
|
const reset = unref(options?.reset);
|
|
19
21
|
const root = unref(options?.root);
|