@vuetify/nightly 3.9.0-beta.1-dev.2025-06-28 → 3.9.0-beta.1-dev.2025-07-04
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 +112 -3
- package/dist/json/attributes.json +3349 -3357
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +160 -160
- package/dist/json/tags.json +2 -4
- package/dist/json/web-types.json +6608 -6629
- package/dist/vuetify-labs.cjs +179 -121
- package/dist/vuetify-labs.css +3814 -3803
- package/dist/vuetify-labs.d.ts +248 -258
- package/dist/vuetify-labs.esm.js +179 -121
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +179 -121
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +154 -97
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3909 -3898
- package/dist/vuetify.d.ts +105 -115
- package/dist/vuetify.esm.js +154 -97
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +154 -97
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +102 -89
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +12 -1
- package/lib/components/VDataTable/VDataTable.d.ts +20 -38
- package/lib/components/VDataTable/VDataTable.sass +12 -2
- package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
- package/lib/components/VDataTable/VDataTableColumn.js +12 -4
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableHeaders.js +10 -9
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.js +2 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
- package/lib/components/VDataTable/composables/headers.d.ts +22 -14
- package/lib/components/VDataTable/composables/headers.js +51 -22
- package/lib/components/VDataTable/composables/headers.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +2 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +3 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +13 -0
- package/lib/components/VList/VListGroup.js +2 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +6 -3
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +17 -14
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +1 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.d.ts +6 -21
- package/lib/components/VTreeview/VTreeview.js +6 -9
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +18 -9
- package/lib/components/VTreeview/VTreeviewItem.js +1 -1
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/composables/calendar.d.ts +0 -1
- package/lib/composables/calendar.js +6 -10
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.js +1 -1
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +7 -4
- package/lib/composables/nested/nested.js +16 -6
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/nested/selectStrategies.d.ts +2 -1
- package/lib/composables/nested/selectStrategies.js +22 -11
- package/lib/composables/nested/selectStrategies.js.map +1 -1
- package/lib/composables/virtual.js +1 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -57
- package/lib/framework.js +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendar.js +9 -9
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendarDay.js +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n type={ props.tag === 'button' ? 'button' : undefined }\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED