vuetify 3.5.5 → 3.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/_component-variables-labs.sass +2 -0
  2. package/dist/json/attributes.json +352 -40
  3. package/dist/json/importMap-labs.json +16 -8
  4. package/dist/json/importMap.json +122 -118
  5. package/dist/json/tags.json +93 -0
  6. package/dist/json/web-types.json +1084 -52
  7. package/dist/vuetify-labs.css +2121 -1996
  8. package/dist/vuetify-labs.d.ts +1336 -128
  9. package/dist/vuetify-labs.esm.js +332 -81
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +332 -81
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +838 -839
  14. package/dist/vuetify.d.ts +320 -145
  15. package/dist/vuetify.esm.js +87 -75
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +87 -75
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +60 -58
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VApp/index.d.mts +8 -6
  23. package/lib/components/VAutocomplete/VAutocomplete.css +4 -4
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs +33 -29
  25. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  27. package/lib/components/VCheckbox/VCheckbox.mjs +3 -1
  28. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  29. package/lib/components/VCombobox/VCombobox.css +4 -4
  30. package/lib/components/VCombobox/VCombobox.mjs +22 -23
  31. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  32. package/lib/components/VCombobox/VCombobox.sass +1 -1
  33. package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
  34. package/lib/components/VDataIterator/index.d.mts +50 -94
  35. package/lib/components/VDataTable/index.d.mts +214 -1
  36. package/lib/components/VDataTable/index.mjs +1 -0
  37. package/lib/components/VDataTable/index.mjs.map +1 -1
  38. package/lib/components/VExpansionPanel/VExpansionPanel.css +4 -7
  39. package/lib/components/VExpansionPanel/VExpansionPanel.sass +4 -3
  40. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +2 -0
  41. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  42. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +2 -0
  43. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  44. package/lib/components/VExpansionPanel/index.d.mts +27 -0
  45. package/lib/components/VLayout/index.d.mts +8 -6
  46. package/lib/components/VSelect/VSelect.mjs +20 -18
  47. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  48. package/lib/components/VToolbar/VToolbar.css +3 -1
  49. package/lib/components/VToolbar/VToolbar.sass +2 -1
  50. package/lib/components/index.d.mts +279 -106
  51. package/lib/composables/filter.mjs +1 -1
  52. package/lib/composables/filter.mjs.map +1 -1
  53. package/lib/composables/goto.mjs +2 -2
  54. package/lib/composables/goto.mjs.map +1 -1
  55. package/lib/composables/layout.mjs.map +1 -1
  56. package/lib/entry-bundler.mjs +1 -1
  57. package/lib/framework.mjs +1 -1
  58. package/lib/index.d.mts +42 -39
  59. package/lib/labs/VEmptyState/VEmptyState.css +59 -0
  60. package/lib/labs/VEmptyState/VEmptyState.mjs +145 -0
  61. package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -0
  62. package/lib/labs/VEmptyState/VEmptyState.sass +53 -0
  63. package/lib/labs/VEmptyState/_variables.scss +22 -0
  64. package/lib/labs/VEmptyState/index.d.mts +415 -0
  65. package/lib/labs/VEmptyState/index.mjs +2 -0
  66. package/lib/labs/VEmptyState/index.mjs.map +1 -0
  67. package/lib/labs/VFab/VFab.css +69 -0
  68. package/lib/labs/VFab/VFab.mjs +114 -0
  69. package/lib/labs/VFab/VFab.mjs.map +1 -0
  70. package/lib/labs/VFab/VFab.sass +82 -0
  71. package/lib/labs/VFab/_mixins.scss +22 -0
  72. package/lib/labs/VFab/_variables.scss +33 -0
  73. package/lib/labs/VFab/index.d.mts +656 -0
  74. package/lib/labs/VFab/index.mjs +2 -0
  75. package/lib/labs/VFab/index.mjs.map +1 -0
  76. package/lib/labs/VSparkline/VBarline.mjs +4 -4
  77. package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
  78. package/lib/labs/VSparkline/VTrendline.mjs +6 -2
  79. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
  80. package/lib/labs/VSparkline/index.d.mts +12 -0
  81. package/lib/labs/VSparkline/util/line.mjs +2 -0
  82. package/lib/labs/VSparkline/util/line.mjs.map +1 -1
  83. package/lib/labs/components.d.mts +1066 -2
  84. package/lib/labs/components.mjs +2 -0
  85. package/lib/labs/components.mjs.map +1 -1
  86. package/package.json +2 -2
@@ -0,0 +1,69 @@
1
+ .v-fab {
2
+ align-items: center;
3
+ display: inline-flex;
4
+ flex: 1 1 auto;
5
+ pointer-events: none;
6
+ position: relative;
7
+ transition-duration: 0.2s;
8
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
9
+ vertical-align: middle;
10
+ }
11
+ .v-fab .v-btn {
12
+ pointer-events: auto;
13
+ }
14
+ .v-fab .v-btn--variant-elevated {
15
+ box-shadow: 0px 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 3px 4px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 8px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
16
+ }
17
+ .v-fab--app, .v-fab--absolute {
18
+ display: flex;
19
+ }
20
+ .v-fab--start, .v-fab--left {
21
+ justify-content: flex-start;
22
+ }
23
+ .v-fab--center {
24
+ align-items: center;
25
+ justify-content: center;
26
+ }
27
+ .v-fab--end, .v-fab--right {
28
+ justify-content: flex-end;
29
+ }
30
+ .v-fab--bottom {
31
+ align-items: flex-end;
32
+ }
33
+ .v-fab--top {
34
+ align-items: flex-start;
35
+ }
36
+ .v-fab--extended .v-btn {
37
+ border-radius: 9999px !important;
38
+ }
39
+
40
+ .v-fab__container {
41
+ align-self: center;
42
+ display: inline-flex;
43
+ vertical-align: middle;
44
+ }
45
+ .v-fab--app .v-fab__container {
46
+ margin: 4px;
47
+ }
48
+ .v-fab--absolute .v-fab__container {
49
+ position: absolute;
50
+ z-index: 4;
51
+ }
52
+ .v-fab--offset.v-fab--top .v-fab__container {
53
+ transform: translateY(-50%);
54
+ }
55
+ .v-fab--offset.v-fab--bottom .v-fab__container {
56
+ transform: translateY(50%);
57
+ }
58
+ .v-fab--top .v-fab__container {
59
+ top: 0;
60
+ }
61
+ .v-fab--bottom .v-fab__container {
62
+ bottom: 0;
63
+ }
64
+ .v-fab--left .v-fab__container, .v-fab--start .v-fab__container {
65
+ left: 0;
66
+ }
67
+ .v-fab--right .v-fab__container, .v-fab--end .v-fab__container {
68
+ right: 0;
69
+ }
@@ -0,0 +1,114 @@
1
+ import { withDirectives as _withDirectives, createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, vShow as _vShow } from "vue";
2
+ // Styles
3
+ import "./VFab.css";
4
+
5
+ // Components
6
+ import { makeVBtnProps, VBtn } from "../../components/VBtn/VBtn.mjs"; // Composables
7
+ import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs";
8
+ import { useProxiedModel } from "../../composables/proxiedModel.mjs";
9
+ import { useResizeObserver } from "../../composables/resizeObserver.mjs";
10
+ import { useToggleScope } from "../../composables/toggleScope.mjs";
11
+ import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Utilities
12
+ import { computed, ref, shallowRef, toRef, watchEffect } from 'vue';
13
+ import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
14
+ const locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];
15
+ export const makeVFabProps = propsFactory({
16
+ app: Boolean,
17
+ appear: Boolean,
18
+ extended: Boolean,
19
+ location: {
20
+ type: String,
21
+ default: 'bottom end'
22
+ },
23
+ offset: Boolean,
24
+ modelValue: {
25
+ type: Boolean,
26
+ default: true
27
+ },
28
+ ...omit(makeVBtnProps({
29
+ active: true
30
+ }), ['location']),
31
+ ...makeLayoutItemProps(),
32
+ ...makeTransitionProps({
33
+ transition: 'fab-transition'
34
+ })
35
+ }, 'VFab');
36
+ export const VFab = genericComponent()({
37
+ name: 'VFab',
38
+ props: makeVFabProps(),
39
+ emits: {
40
+ 'update:modelValue': value => true
41
+ },
42
+ setup(props, _ref) {
43
+ let {
44
+ slots
45
+ } = _ref;
46
+ const model = useProxiedModel(props, 'modelValue');
47
+ const height = shallowRef(56);
48
+ const layoutItemStyles = ref();
49
+ const {
50
+ resizeRef
51
+ } = useResizeObserver(entries => {
52
+ if (!entries.length) return;
53
+ height.value = entries[0].target.clientHeight;
54
+ });
55
+ const hasPosition = computed(() => props.app || props.absolute);
56
+ const position = computed(() => {
57
+ if (!hasPosition.value) return false;
58
+ return props.location.split(' ').shift();
59
+ });
60
+ const orientation = computed(() => {
61
+ if (!hasPosition.value) return false;
62
+ return props.location.split(' ')[1] ?? 'end';
63
+ });
64
+ useToggleScope(() => props.app, () => {
65
+ const layout = useLayoutItem({
66
+ id: props.name,
67
+ order: computed(() => parseInt(props.order, 10)),
68
+ position,
69
+ layoutSize: height,
70
+ elementSize: computed(() => height.value + 32),
71
+ active: computed(() => props.app && model.value),
72
+ absolute: toRef(props, 'absolute')
73
+ });
74
+ watchEffect(() => {
75
+ layoutItemStyles.value = layout.layoutItemStyles.value;
76
+ });
77
+ });
78
+ const vFabRef = ref();
79
+ useRender(() => {
80
+ const btnProps = VBtn.filterProps(props);
81
+ return _createVNode("div", {
82
+ "ref": vFabRef,
83
+ "class": ['v-fab', {
84
+ 'v-fab--absolute': props.absolute,
85
+ 'v-fab--app': !!props.app,
86
+ 'v-fab--extended': props.extended,
87
+ 'v-fab--offset': props.offset,
88
+ [`v-fab--${position.value}`]: hasPosition.value,
89
+ [`v-fab--${orientation.value}`]: hasPosition.value
90
+ }, props.class],
91
+ "style": [props.app ? {
92
+ ...layoutItemStyles.value
93
+ } : {
94
+ height: 'inherit',
95
+ width: undefined
96
+ }, props.style]
97
+ }, [_createVNode("div", {
98
+ "class": "v-fab__container"
99
+ }, [_createVNode(MaybeTransition, {
100
+ "appear": props.appear,
101
+ "transition": props.transition
102
+ }, {
103
+ default: () => [_withDirectives(_createVNode(VBtn, _mergeProps({
104
+ "ref": resizeRef
105
+ }, btnProps, {
106
+ "active": undefined,
107
+ "location": undefined
108
+ }), slots), [[_vShow, props.active]])]
109
+ })])]);
110
+ });
111
+ return {};
112
+ }
113
+ });
114
+ //# sourceMappingURL=VFab.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VFab.mjs","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","locations","makeVFabProps","app","Boolean","appear","extended","location","type","String","default","offset","modelValue","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","split","shift","orientation","layout","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","width","undefined","style","_withDirectives","_mergeProps","_vShow"],"sources":["../../../src/labs/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef, PropType } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'] as const\n\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n location: {\n type: String as PropType<typeof locations[number]>,\n default: 'bottom end',\n },\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true,\n },\n\n ...omit(makeVBtnProps({ active: true }), ['location']),\n ...makeLayoutItemProps(),\n ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n name: 'VFab',\n\n props: makeVFabProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const height = shallowRef(56)\n const layoutItemStyles = ref()\n\n const { resizeRef } = useResizeObserver(entries => {\n if (!entries.length) return\n height.value = entries[0].target.clientHeight\n })\n\n const hasPosition = computed(() => props.app || props.absolute)\n\n const position = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location.split(' ').shift()\n }) as ComputedRef<Position>\n\n const orientation = computed(() => {\n if (!hasPosition.value) return false\n\n return props.location.split(' ')[1] ?? 'end'\n })\n\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: height,\n elementSize: computed(() => height.value + 32),\n active: computed(() => props.app && model.value),\n absolute: toRef(props, 'absolute'),\n })\n\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value\n })\n })\n\n const vFabRef = ref()\n\n useRender(() => {\n const btnProps = VBtn.filterProps(props)\n\n return (\n <div\n ref={ vFabRef }\n class={[\n 'v-fab',\n {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value,\n },\n props.class,\n ]}\n style={[\n props.app ? {\n ...layoutItemStyles.value,\n } : {\n height: 'inherit',\n width: undefined,\n },\n props.style,\n ]}\n >\n <div class=\"v-fab__container\">\n <MaybeTransition\n appear={ props.appear }\n transition={ props.transition }\n >\n <VBtn\n v-show={ props.active }\n ref={ resizeRef }\n { ...btnProps }\n active={ undefined }\n location={ undefined }\n v-slots={ slots }\n />\n </MaybeTransition>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType<typeof VFab>\n"],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ @use '../../styles/tools'
2
+ @use '../../styles/settings'
3
+ @use 'sass:math'
4
+ @use 'sass:map'
5
+ @use './variables' as *
6
+ @use './mixins' as *
7
+
8
+ .v-fab
9
+ align-items: center
10
+ display: inline-flex
11
+ flex: 1 1 auto
12
+ pointer-events: none
13
+ position: relative
14
+ transition-duration: $fab-transition-duration
15
+ transition-timing-function: $fab-transition-timing-function
16
+ vertical-align: middle
17
+
18
+ .v-btn
19
+ pointer-events: auto
20
+
21
+ &--variant-elevated
22
+ @include tools.elevation(3)
23
+
24
+ &--app,
25
+ &--absolute
26
+ display: flex
27
+
28
+ &--start,
29
+ &--left
30
+ justify-content: flex-start
31
+
32
+ &--center
33
+ align-items: center
34
+ justify-content: center
35
+
36
+ &--end,
37
+ &--right
38
+ justify-content: flex-end
39
+
40
+ &--bottom
41
+ align-items: flex-end
42
+
43
+ &--top
44
+ align-items: flex-start
45
+
46
+ &--extended
47
+ .v-btn
48
+ // min-height: 56px
49
+ // min-width: 80px
50
+ border-radius: 9999px !important
51
+
52
+ .v-fab__container
53
+ align-self: center
54
+ display: inline-flex
55
+ vertical-align: middle
56
+
57
+ .v-fab--app &
58
+ margin: 4px
59
+
60
+ .v-fab--absolute &
61
+ position: absolute
62
+ z-index: 4
63
+
64
+ .v-fab--offset.v-fab--top &
65
+ transform: translateY(-50%)
66
+
67
+ .v-fab--offset.v-fab--bottom &
68
+ transform: translateY(50%)
69
+
70
+ .v-fab--top &
71
+ top: 0
72
+
73
+ .v-fab--bottom &
74
+ bottom: 0
75
+
76
+ .v-fab--left &,
77
+ .v-fab--start &
78
+ left: 0
79
+
80
+ .v-fab--right &,
81
+ .v-fab--end &
82
+ right: 0
@@ -0,0 +1,22 @@
1
+ @use 'sass:math';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use '../../styles/settings';
5
+ @use '../../styles/tools';
6
+ @use './variables' as *;
7
+
8
+ @mixin fab-sizes ($map: $fab-sizes, $immediate: false) {
9
+ @each $sizeName, $multiplier in $fab-size-scales {
10
+ $size: map.get($map, 'font-size') + math.div(2 * $multiplier, 16);
11
+ $height: map.get($map, 'height') + (12px * $multiplier);
12
+
13
+ // .v-fab .v-btn--size-#{$sizeName} {
14
+ // --v-btn-size: #{$size};
15
+ // --v-btn-height: #{$height};
16
+ // }
17
+
18
+ .v-fab--bottom .v-btn--size-#{$sizeName} {
19
+ bottom: -1 * $height / 2;
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,33 @@
1
+ @use 'sass:math';
2
+ @use 'sass:map';
3
+ @use '../../styles/settings';
4
+ @use '../../styles/tools';
5
+
6
+ $fab-border-radius: map.get(settings.$rounded, 'circle') !default;
7
+ $fab-border-radius-multiplier: 0 !default; // 2.4 for MD3
8
+ $fab-height: 56px !default;
9
+ $fab-font-size: tools.map-deep-get(settings.$typography, 'button', 'size') !default;
10
+ $fab-font-weight: tools.map-deep-get(settings.$typography, 'button', 'weight') !default;
11
+ $fab-transition-duration: 0.2s !default;
12
+ $fab-transition-timing-function: settings.$standard-easing !default;
13
+ $fab-width-ratio: math.div(16, 9) !default;
14
+ $fab-padding-ratio: 2.25 !default;
15
+
16
+ $fab-size-scales: (
17
+ 'x-small': -2,
18
+ 'small': -1,
19
+ 'default': 0,
20
+ 'large': 2,
21
+ 'x-large': 5
22
+ ) !default;
23
+
24
+ $fab-sizes: () !default;
25
+ $fab-sizes: map.merge(
26
+ (
27
+ 'height': $fab-height,
28
+ 'font-size': $fab-font-size,
29
+ 'width-ratio': $fab-width-ratio,
30
+ 'padding-ratio': $fab-padding-ratio
31
+ ),
32
+ $fab-sizes
33
+ );