vuetify 3.2.3 → 3.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/json/attributes.json +9 -9
  2. package/dist/json/web-types.json +11 -11
  3. package/dist/vuetify-labs.css +505 -502
  4. package/dist/vuetify-labs.d.ts +4918 -437
  5. package/dist/vuetify-labs.esm.js +142 -124
  6. package/dist/vuetify-labs.esm.js.map +1 -1
  7. package/dist/vuetify-labs.js +142 -124
  8. package/dist/vuetify-labs.min.css +2 -2
  9. package/dist/vuetify.css +10 -7
  10. package/dist/vuetify.d.ts +3796 -248
  11. package/dist/vuetify.esm.js +131 -115
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +131 -115
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +469 -469
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/components/VAlert/VAlert.mjs +1 -2
  19. package/lib/components/VAlert/VAlert.mjs.map +1 -1
  20. package/lib/components/VAlert/index.d.ts +52 -0
  21. package/lib/components/VApp/index.d.ts +16 -0
  22. package/lib/components/VAppBar/VAppBar.mjs +2 -2
  23. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  24. package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -2
  25. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  26. package/lib/components/VAppBar/VAppBarTitle.mjs +1 -2
  27. package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
  28. package/lib/components/VAppBar/index.d.ts +84 -0
  29. package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -5
  30. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  31. package/lib/components/VAutocomplete/index.d.ts +76 -12
  32. package/lib/components/VAvatar/index.d.ts +16 -0
  33. package/lib/components/VBadge/index.d.ts +20 -0
  34. package/lib/components/VBanner/index.d.ts +60 -0
  35. package/lib/components/VBottomNavigation/index.d.ts +16 -0
  36. package/lib/components/VBreadcrumbs/index.d.ts +39 -3
  37. package/lib/components/VBtn/index.d.ts +28 -0
  38. package/lib/components/VBtnGroup/index.d.ts +16 -0
  39. package/lib/components/VBtnToggle/index.d.ts +16 -0
  40. package/lib/components/VCard/index.d.ts +144 -0
  41. package/lib/components/VCarousel/index.d.ts +128 -0
  42. package/lib/components/VCheckbox/index.d.ts +84 -0
  43. package/lib/components/VChip/VChip.css +4 -3
  44. package/lib/components/VChip/VChip.sass +3 -3
  45. package/lib/components/VChip/index.d.ts +28 -0
  46. package/lib/components/VChipGroup/index.d.ts +16 -0
  47. package/lib/components/VCode/index.d.ts +16 -0
  48. package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -5
  49. package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
  50. package/lib/components/VCombobox/VCombobox.mjs +5 -5
  51. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  52. package/lib/components/VCombobox/index.d.ts +76 -12
  53. package/lib/components/VCounter/index.d.ts +16 -0
  54. package/lib/components/VDefaultsProvider/index.d.ts +16 -0
  55. package/lib/components/VDialog/index.d.ts +133 -3
  56. package/lib/components/VDivider/index.d.ts +16 -0
  57. package/lib/components/VExpansionPanel/index.d.ts +76 -0
  58. package/lib/components/VField/index.d.ts +23 -3
  59. package/lib/components/VFileInput/index.d.ts +118 -3
  60. package/lib/components/VFooter/VFooter.mjs +2 -2
  61. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  62. package/lib/components/VFooter/index.d.ts +16 -0
  63. package/lib/components/VForm/index.d.ts +19 -3
  64. package/lib/components/VGrid/index.d.ts +64 -0
  65. package/lib/components/VHover/index.d.ts +28 -0
  66. package/lib/components/VIcon/index.d.ts +32 -0
  67. package/lib/components/VImg/VImg.mjs +6 -6
  68. package/lib/components/VImg/VImg.mjs.map +1 -1
  69. package/lib/components/VImg/index.d.ts +40 -12
  70. package/lib/components/VInput/index.d.ts +28 -0
  71. package/lib/components/VItemGroup/index.d.ts +32 -0
  72. package/lib/components/VKbd/index.d.ts +16 -0
  73. package/lib/components/VLabel/index.d.ts +16 -0
  74. package/lib/components/VLayout/index.d.ts +32 -0
  75. package/lib/components/VLazy/index.d.ts +16 -0
  76. package/lib/components/VList/VList.mjs +2 -2
  77. package/lib/components/VList/VList.mjs.map +1 -1
  78. package/lib/components/VList/index.d.ts +176 -12
  79. package/lib/components/VList/list.mjs +4 -4
  80. package/lib/components/VList/list.mjs.map +1 -1
  81. package/lib/components/VLocaleProvider/index.d.ts +16 -0
  82. package/lib/components/VMain/index.d.ts +16 -0
  83. package/lib/components/VMenu/VMenu.mjs +3 -3
  84. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  85. package/lib/components/VMenu/index.d.ts +136 -6
  86. package/lib/components/VMessages/index.d.ts +16 -0
  87. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -0
  88. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +2 -2
  89. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  90. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -0
  91. package/lib/components/VNavigationDrawer/index.d.ts +31 -3
  92. package/lib/components/VNavigationDrawer/sticky.mjs +5 -4
  93. package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
  94. package/lib/components/VNavigationDrawer/touch.mjs +4 -4
  95. package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
  96. package/lib/components/VOverlay/index.d.ts +40 -0
  97. package/lib/components/VOverlay/locationStrategies.mjs +1 -1
  98. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  99. package/lib/components/VPagination/VPagination.mjs +2 -2
  100. package/lib/components/VPagination/VPagination.mjs.map +1 -1
  101. package/lib/components/VPagination/index.d.ts +32 -0
  102. package/lib/components/VParallax/index.d.ts +28 -0
  103. package/lib/components/VProgressCircular/index.d.ts +16 -0
  104. package/lib/components/VProgressLinear/index.d.ts +28 -0
  105. package/lib/components/VRadio/index.d.ts +36 -0
  106. package/lib/components/VRadioGroup/index.d.ts +48 -0
  107. package/lib/components/VRangeSlider/index.d.ts +36 -0
  108. package/lib/components/VRating/VRating.mjs +6 -3
  109. package/lib/components/VRating/VRating.mjs.map +1 -1
  110. package/lib/components/VRating/index.d.ts +20 -0
  111. package/lib/components/VResponsive/index.d.ts +20 -0
  112. package/lib/components/VSelect/VSelect.mjs +2 -2
  113. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  114. package/lib/components/VSelect/index.d.ts +76 -12
  115. package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
  116. package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
  117. package/lib/components/VSelectionControl/index.d.ts +10 -6
  118. package/lib/components/VSelectionControlGroup/index.d.ts +16 -0
  119. package/lib/components/VSheet/index.d.ts +16 -0
  120. package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
  121. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  122. package/lib/components/VSlideGroup/index.d.ts +63 -3
  123. package/lib/components/VSlider/index.d.ts +36 -0
  124. package/lib/components/VSlider/slider.mjs +3 -3
  125. package/lib/components/VSlider/slider.mjs.map +1 -1
  126. package/lib/components/VSnackbar/index.d.ts +129 -3
  127. package/lib/components/VSwitch/VSwitch.css +3 -3
  128. package/lib/components/VSwitch/VSwitch.sass +4 -3
  129. package/lib/components/VSwitch/index.d.ts +52 -0
  130. package/lib/components/VSystemBar/VSystemBar.mjs +2 -2
  131. package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
  132. package/lib/components/VSystemBar/index.d.ts +16 -0
  133. package/lib/components/VTable/index.d.ts +28 -0
  134. package/lib/components/VTabs/VTab.mjs +4 -5
  135. package/lib/components/VTabs/VTab.mjs.map +1 -1
  136. package/lib/components/VTabs/index.d.ts +32 -0
  137. package/lib/components/VTextField/index.d.ts +121 -6
  138. package/lib/components/VTextarea/VTextarea.mjs +6 -3
  139. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  140. package/lib/components/VTextarea/index.d.ts +110 -3
  141. package/lib/components/VThemeProvider/index.d.ts +16 -0
  142. package/lib/components/VTimeline/VTimelineItem.mjs +2 -2
  143. package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
  144. package/lib/components/VTimeline/index.d.ts +40 -0
  145. package/lib/components/VToolbar/VToolbar.mjs +2 -2
  146. package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
  147. package/lib/components/VToolbar/index.d.ts +72 -0
  148. package/lib/components/VTooltip/index.d.ts +133 -3
  149. package/lib/components/VValidation/index.d.ts +16 -0
  150. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -3
  151. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  152. package/lib/components/VVirtualScroll/index.d.ts +7 -3
  153. package/lib/components/VWindow/VWindow.mjs +3 -3
  154. package/lib/components/VWindow/VWindow.mjs.map +1 -1
  155. package/lib/components/VWindow/VWindowItem.mjs +3 -3
  156. package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
  157. package/lib/components/VWindow/index.d.ts +76 -0
  158. package/lib/components/index.d.ts +3786 -245
  159. package/lib/components/transitions/index.d.ts +256 -0
  160. package/lib/composables/display.mjs +3 -3
  161. package/lib/composables/display.mjs.map +1 -1
  162. package/lib/composables/form.mjs +4 -4
  163. package/lib/composables/form.mjs.map +1 -1
  164. package/lib/composables/hydration.mjs +6 -6
  165. package/lib/composables/hydration.mjs.map +1 -1
  166. package/lib/composables/intersectionObserver.mjs +2 -2
  167. package/lib/composables/intersectionObserver.mjs.map +1 -1
  168. package/lib/composables/layout.mjs +3 -3
  169. package/lib/composables/layout.mjs.map +1 -1
  170. package/lib/composables/lazy.mjs +2 -2
  171. package/lib/composables/lazy.mjs.map +1 -1
  172. package/lib/composables/nested/nested.mjs +5 -4
  173. package/lib/composables/nested/nested.mjs.map +1 -1
  174. package/lib/composables/scroll.mjs +6 -6
  175. package/lib/composables/scroll.mjs.map +1 -1
  176. package/lib/composables/ssrBoot.mjs +2 -2
  177. package/lib/composables/ssrBoot.mjs.map +1 -1
  178. package/lib/composables/stack.mjs +5 -4
  179. package/lib/composables/stack.mjs.map +1 -1
  180. package/lib/composables/transition.mjs +5 -2
  181. package/lib/composables/transition.mjs.map +1 -1
  182. package/lib/composables/validation.mjs +3 -3
  183. package/lib/composables/validation.mjs.map +1 -1
  184. package/lib/entry-bundler.mjs +1 -1
  185. package/lib/framework.mjs +1 -1
  186. package/lib/index.d.ts +9 -2
  187. package/lib/labs/VDataTable/VDataTable.mjs +2 -1
  188. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  189. package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
  190. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  191. package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -6
  192. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  193. package/lib/labs/VDataTable/composables/virtual.mjs +3 -3
  194. package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
  195. package/lib/labs/VDataTable/index.d.ts +894 -2
  196. package/lib/labs/VInfiniteScroll/index.d.ts +32 -0
  197. package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  198. package/lib/labs/VSkeletonLoader/index.d.ts +25 -9
  199. package/lib/labs/components.d.ts +951 -11
  200. package/lib/locale/adapters/vuetify.mjs +8 -5
  201. package/lib/locale/adapters/vuetify.mjs.map +1 -1
  202. package/lib/styles/settings/_variables.scss +3 -3
  203. package/lib/util/defineComponent.mjs.map +1 -1
  204. package/package.json +2 -2
@@ -184,6 +184,15 @@ declare const VSnackbar: {
184
184
  }) => vue.VNodeChild) | undefined;
185
185
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
186
186
  "v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
187
+ } & {
188
+ $slots?: {
189
+ activator?: ((args_0: {
190
+ isActive: boolean;
191
+ props: Record<string, any>;
192
+ }) => vue.VNodeChild) | undefined;
193
+ default?: (() => vue.VNodeChild) | undefined;
194
+ actions?: (() => vue.VNodeChild) | undefined;
195
+ } | undefined;
187
196
  } & {
188
197
  "onUpdate:modelValue"?: ((v: boolean) => any) | undefined;
189
198
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "timeout" | "vertical" | "rounded" | "variant" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "closeOnBack" | "contained" | "multiLine">;
@@ -269,6 +278,15 @@ declare const VSnackbar: {
269
278
  }) => vue.VNodeChild) | undefined;
270
279
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
271
280
  "v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
281
+ } & {
282
+ $slots?: {
283
+ activator?: ((args_0: {
284
+ isActive: boolean;
285
+ props: Record<string, any>;
286
+ }) => vue.VNodeChild) | undefined;
287
+ default?: (() => vue.VNodeChild) | undefined;
288
+ actions?: (() => vue.VNodeChild) | undefined;
289
+ } | undefined;
272
290
  } & {
273
291
  "onUpdate:modelValue"?: ((v: boolean) => any) | undefined;
274
292
  }, Omit<Omit<{
@@ -373,6 +391,16 @@ declare const VSnackbar: {
373
391
  isActive: boolean;
374
392
  props: Record<string, any>;
375
393
  }) => vue.VNodeChild) | undefined;
394
+ } & {
395
+ $slots?: {
396
+ default?: ((args_0: {
397
+ isActive: vue.Ref<boolean>;
398
+ }) => vue.VNodeChild) | undefined;
399
+ activator?: ((args_0: {
400
+ isActive: boolean;
401
+ props: Record<string, any>;
402
+ }) => vue.VNodeChild) | undefined;
403
+ } | undefined;
376
404
  } & {
377
405
  onAfterLeave?: (() => any) | undefined;
378
406
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -463,6 +491,16 @@ declare const VSnackbar: {
463
491
  isActive: boolean;
464
492
  props: Record<string, any>;
465
493
  }) => vue.VNodeChild) | undefined;
494
+ } & {
495
+ $slots?: {
496
+ default?: ((args_0: {
497
+ isActive: vue.Ref<boolean>;
498
+ }) => vue.VNodeChild) | undefined;
499
+ activator?: ((args_0: {
500
+ isActive: boolean;
501
+ props: Record<string, any>;
502
+ }) => vue.VNodeChild) | undefined;
503
+ } | undefined;
466
504
  } & {
467
505
  onAfterLeave?: (() => any) | undefined;
468
506
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -597,6 +635,16 @@ declare const VSnackbar: {
597
635
  isActive: boolean;
598
636
  props: Record<string, any>;
599
637
  }) => vue.VNodeChild) | undefined;
638
+ } & {
639
+ $slots?: {
640
+ default?: ((args_0: {
641
+ isActive: vue.Ref<boolean>;
642
+ }) => vue.VNodeChild) | undefined;
643
+ activator?: ((args_0: {
644
+ isActive: boolean;
645
+ props: Record<string, any>;
646
+ }) => vue.VNodeChild) | undefined;
647
+ } | undefined;
600
648
  } & {
601
649
  onAfterLeave?: (() => any) | undefined;
602
650
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -608,7 +656,7 @@ declare const VSnackbar: {
608
656
  globalTop: Readonly<vue.Ref<boolean>>;
609
657
  localTop: vue.ComputedRef<boolean>;
610
658
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
611
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
659
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
612
660
  'update:modelValue': (v: boolean) => boolean;
613
661
  }, string, {
614
662
  absolute: boolean;
@@ -726,6 +774,15 @@ declare const VSnackbar: {
726
774
  }) => vue.VNodeChild) | undefined;
727
775
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
728
776
  "v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
777
+ } & {
778
+ $slots?: {
779
+ activator?: ((args_0: {
780
+ isActive: boolean;
781
+ props: Record<string, any>;
782
+ }) => vue.VNodeChild) | undefined;
783
+ default?: (() => vue.VNodeChild) | undefined;
784
+ actions?: (() => vue.VNodeChild) | undefined;
785
+ } | undefined;
729
786
  } & {
730
787
  "onUpdate:modelValue"?: ((v: boolean) => any) | undefined;
731
788
  } & vue.ShallowUnwrapRef<Omit<Omit<{
@@ -830,6 +887,16 @@ declare const VSnackbar: {
830
887
  isActive: boolean;
831
888
  props: Record<string, any>;
832
889
  }) => vue.VNodeChild) | undefined;
890
+ } & {
891
+ $slots?: {
892
+ default?: ((args_0: {
893
+ isActive: vue.Ref<boolean>;
894
+ }) => vue.VNodeChild) | undefined;
895
+ activator?: ((args_0: {
896
+ isActive: boolean;
897
+ props: Record<string, any>;
898
+ }) => vue.VNodeChild) | undefined;
899
+ } | undefined;
833
900
  } & {
834
901
  onAfterLeave?: (() => any) | undefined;
835
902
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -920,6 +987,16 @@ declare const VSnackbar: {
920
987
  isActive: boolean;
921
988
  props: Record<string, any>;
922
989
  }) => vue.VNodeChild) | undefined;
990
+ } & {
991
+ $slots?: {
992
+ default?: ((args_0: {
993
+ isActive: vue.Ref<boolean>;
994
+ }) => vue.VNodeChild) | undefined;
995
+ activator?: ((args_0: {
996
+ isActive: boolean;
997
+ props: Record<string, any>;
998
+ }) => vue.VNodeChild) | undefined;
999
+ } | undefined;
923
1000
  } & {
924
1001
  onAfterLeave?: (() => any) | undefined;
925
1002
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -1054,6 +1131,16 @@ declare const VSnackbar: {
1054
1131
  isActive: boolean;
1055
1132
  props: Record<string, any>;
1056
1133
  }) => vue.VNodeChild) | undefined;
1134
+ } & {
1135
+ $slots?: {
1136
+ default?: ((args_0: {
1137
+ isActive: vue.Ref<boolean>;
1138
+ }) => vue.VNodeChild) | undefined;
1139
+ activator?: ((args_0: {
1140
+ isActive: boolean;
1141
+ props: Record<string, any>;
1142
+ }) => vue.VNodeChild) | undefined;
1143
+ } | undefined;
1057
1144
  } & {
1058
1145
  onAfterLeave?: (() => any) | undefined;
1059
1146
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -1065,7 +1152,7 @@ declare const VSnackbar: {
1065
1152
  globalTop: Readonly<vue.Ref<boolean>>;
1066
1153
  localTop: vue.ComputedRef<boolean>;
1067
1154
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1068
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1155
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
1069
1156
  __isFragment?: undefined;
1070
1157
  __isTeleport?: undefined;
1071
1158
  __isSuspense?: undefined;
@@ -1138,6 +1225,15 @@ declare const VSnackbar: {
1138
1225
  }) => vue.VNodeChild) | undefined;
1139
1226
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
1140
1227
  "v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
1228
+ } & {
1229
+ $slots?: {
1230
+ activator?: ((args_0: {
1231
+ isActive: boolean;
1232
+ props: Record<string, any>;
1233
+ }) => vue.VNodeChild) | undefined;
1234
+ default?: (() => vue.VNodeChild) | undefined;
1235
+ actions?: (() => vue.VNodeChild) | undefined;
1236
+ } | undefined;
1141
1237
  } & {
1142
1238
  "onUpdate:modelValue"?: ((v: boolean) => any) | undefined;
1143
1239
  }, Omit<Omit<{
@@ -1242,6 +1338,16 @@ declare const VSnackbar: {
1242
1338
  isActive: boolean;
1243
1339
  props: Record<string, any>;
1244
1340
  }) => vue.VNodeChild) | undefined;
1341
+ } & {
1342
+ $slots?: {
1343
+ default?: ((args_0: {
1344
+ isActive: vue.Ref<boolean>;
1345
+ }) => vue.VNodeChild) | undefined;
1346
+ activator?: ((args_0: {
1347
+ isActive: boolean;
1348
+ props: Record<string, any>;
1349
+ }) => vue.VNodeChild) | undefined;
1350
+ } | undefined;
1245
1351
  } & {
1246
1352
  onAfterLeave?: (() => any) | undefined;
1247
1353
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -1332,6 +1438,16 @@ declare const VSnackbar: {
1332
1438
  isActive: boolean;
1333
1439
  props: Record<string, any>;
1334
1440
  }) => vue.VNodeChild) | undefined;
1441
+ } & {
1442
+ $slots?: {
1443
+ default?: ((args_0: {
1444
+ isActive: vue.Ref<boolean>;
1445
+ }) => vue.VNodeChild) | undefined;
1446
+ activator?: ((args_0: {
1447
+ isActive: boolean;
1448
+ props: Record<string, any>;
1449
+ }) => vue.VNodeChild) | undefined;
1450
+ } | undefined;
1335
1451
  } & {
1336
1452
  onAfterLeave?: (() => any) | undefined;
1337
1453
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -1466,6 +1582,16 @@ declare const VSnackbar: {
1466
1582
  isActive: boolean;
1467
1583
  props: Record<string, any>;
1468
1584
  }) => vue.VNodeChild) | undefined;
1585
+ } & {
1586
+ $slots?: {
1587
+ default?: ((args_0: {
1588
+ isActive: vue.Ref<boolean>;
1589
+ }) => vue.VNodeChild) | undefined;
1590
+ activator?: ((args_0: {
1591
+ isActive: boolean;
1592
+ props: Record<string, any>;
1593
+ }) => vue.VNodeChild) | undefined;
1594
+ } | undefined;
1469
1595
  } & {
1470
1596
  onAfterLeave?: (() => any) | undefined;
1471
1597
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
@@ -1477,7 +1603,7 @@ declare const VSnackbar: {
1477
1603
  globalTop: Readonly<vue.Ref<boolean>>;
1478
1604
  localTop: vue.ComputedRef<boolean>;
1479
1605
  updateLocation: vue.Ref<((e: Event) => void) | undefined>;
1480
- }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1606
+ }> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1481
1607
  'update:modelValue': (v: boolean) => boolean;
1482
1608
  }, string, {
1483
1609
  absolute: boolean;
@@ -59,9 +59,6 @@
59
59
  .v-switch .v-selection-control {
60
60
  min-height: var(--v-input-control-height);
61
61
  }
62
- .v-switch .v-selection-control__wrapper {
63
- width: auto;
64
- }
65
62
  .v-switch .v-selection-control__input {
66
63
  border-radius: 50%;
67
64
  transition: 0.15s transform cubic-bezier(0.4, 0, 0.2, 1);
@@ -77,4 +74,7 @@
77
74
  .v-switch.v-switch--indeterminate .v-switch__thumb {
78
75
  transform: scale(0.75);
79
76
  box-shadow: none;
77
+ }
78
+ .v-switch.v-switch--inset .v-selection-control__wrapper {
79
+ width: auto;
80
80
  }
@@ -62,9 +62,6 @@
62
62
  .v-selection-control
63
63
  min-height: var(--v-input-control-height)
64
64
 
65
- .v-selection-control__wrapper
66
- width: auto
67
-
68
65
  .v-selection-control__input
69
66
  border-radius: 50%
70
67
  transition: $switch-control-input-transition
@@ -81,3 +78,7 @@
81
78
  .v-switch__thumb
82
79
  transform: scale(.75)
83
80
  box-shadow: none
81
+
82
+ &.v-switch--inset
83
+ .v-selection-control__wrapper
84
+ width: auto
@@ -153,6 +153,19 @@ declare const VSwitch: {
153
153
  }) => vue.VNodeChild) | undefined;
154
154
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
155
155
  "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
156
+ } & {
157
+ $slots?: {
158
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
159
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
160
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
161
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
162
+ label?: ((args_0: {
163
+ label: string | undefined;
164
+ props: Record<string, unknown>;
165
+ }) => vue.VNodeChild) | undefined;
166
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
167
+ loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
168
+ } | undefined;
156
169
  } & {
157
170
  "onUpdate:modelValue"?: (() => any) | undefined;
158
171
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -252,6 +265,19 @@ declare const VSwitch: {
252
265
  }) => vue.VNodeChild) | undefined;
253
266
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
254
267
  "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
268
+ } & {
269
+ $slots?: {
270
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
271
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
272
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
273
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
274
+ label?: ((args_0: {
275
+ label: string | undefined;
276
+ props: Record<string, unknown>;
277
+ }) => vue.VNodeChild) | undefined;
278
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
279
+ loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
280
+ } | undefined;
255
281
  } & {
256
282
  "onUpdate:modelValue"?: (() => any) | undefined;
257
283
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -382,6 +408,19 @@ declare const VSwitch: {
382
408
  }) => vue.VNodeChild) | undefined;
383
409
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
384
410
  "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
411
+ } & {
412
+ $slots?: {
413
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
414
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
415
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
416
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
417
+ label?: ((args_0: {
418
+ label: string | undefined;
419
+ props: Record<string, unknown>;
420
+ }) => vue.VNodeChild) | undefined;
421
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
422
+ loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
423
+ } | undefined;
385
424
  } & {
386
425
  "onUpdate:modelValue"?: (() => any) | undefined;
387
426
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -471,6 +510,19 @@ declare const VSwitch: {
471
510
  }) => vue.VNodeChild) | undefined;
472
511
  "v-slot:input"?: false | ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
473
512
  "v-slot:loader"?: false | ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
513
+ } & {
514
+ $slots?: {
515
+ default?: ((...args: never) => vue.VNodeChild) | undefined;
516
+ prepend?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
517
+ append?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
518
+ details?: ((args_0: VInputSlot) => vue.VNodeChild) | undefined;
519
+ label?: ((args_0: {
520
+ label: string | undefined;
521
+ props: Record<string, unknown>;
522
+ }) => vue.VNodeChild) | undefined;
523
+ input?: ((args_0: SelectionControlSlot) => vue.VNodeChild) | undefined;
524
+ loader?: ((args_0: LoaderSlotProps) => vue.VNodeChild) | undefined;
525
+ } | undefined;
474
526
  } & {
475
527
  "onUpdate:modelValue"?: (() => any) | undefined;
476
528
  "onUpdate:focused"?: ((focused: boolean) => any) | undefined;
@@ -11,7 +11,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
11
11
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
12
12
  import { useBackgroundColor } from "../../composables/color.mjs";
13
13
  import { useSsrBoot } from "../../composables/ssrBoot.mjs"; // Utilities
14
- import { computed, ref, toRef } from 'vue';
14
+ import { computed, shallowRef, toRef } from 'vue';
15
15
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs";
16
16
  export const makeVSystemBarProps = propsFactory({
17
17
  color: String,
@@ -53,7 +53,7 @@ export const VSystemBar = genericComponent()({
53
53
  } = useLayoutItem({
54
54
  id: props.name,
55
55
  order: computed(() => parseInt(props.order, 10)),
56
- position: ref('top'),
56
+ position: shallowRef('top'),
57
57
  layoutSize: height,
58
58
  elementSize: height,
59
59
  active: computed(() => true),
@@ -1 +1 @@
1
- {"version":3,"file":"VSystemBar.mjs","names":["makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useSsrBoot","computed","ref","toRef","genericComponent","propsFactory","useRender","makeVSystemBarProps","color","String","height","Number","window","Boolean","VSystemBar","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","ssrBootStyles","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSystemBar/VSystemBar.tsx"],"sourcesContent":["// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { computed, ref, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSystemBarProps = propsFactory({\n color: String,\n height: [Number, String],\n window: Boolean,\n\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-system-bar')\n\nexport const VSystemBar = genericComponent()({\n name: 'VSystemBar',\n\n props: makeVSystemBarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => props.height ?? (props.window ? 32 : 24))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: ref('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSystemBar = InstanceType<typeof VSystemBar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,mBAAmB,EAAEC,aAAa;AAAA,SAClCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,kBAAkB;AAAA,SAClBC,UAAU,yCAEnB;AACA,SAASC,QAAQ,EAAEC,GAAG,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACjCC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACC,MAAM,EAAEF,MAAM,CAAC;EACxBG,MAAM,EAAEC,OAAO;EAEf,GAAGxB,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB,EAAE;EACvB,GAAGE,mBAAmB,EAAE;EACxB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMiB,UAAU,GAAGV,gBAAgB,EAAE,CAAC;EAC3CW,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAET,mBAAmB,EAAE;EAE5BU,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGtB,YAAY,CAACkB,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAGvB,kBAAkB,CAACI,KAAK,CAACa,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAiB,CAAC,GAAGhC,YAAY,CAACyB,KAAK,CAAC;IAChD,MAAM;MAAEQ;IAAe,CAAC,GAAG7B,UAAU,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAc,CAAC,GAAGzB,UAAU,EAAE;IACtC,MAAMU,MAAM,GAAGT,QAAQ,CAAC,MAAMe,KAAK,CAACN,MAAM,KAAKM,KAAK,CAACJ,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM;MAAEc;IAAiB,CAAC,GAAGjC,aAAa,CAAC;MACzCkC,EAAE,EAAEX,KAAK,CAACD,IAAI;MACda,KAAK,EAAE3B,QAAQ,CAAC,MAAM4B,QAAQ,CAACb,KAAK,CAACY,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDE,QAAQ,EAAE5B,GAAG,CAAC,KAAK,CAAC;MACpB6B,UAAU,EAAErB,MAAM;MAClBsB,WAAW,EAAEtB,MAAM;MACnBuB,MAAM,EAAEhC,QAAQ,CAAC,MAAM,IAAI,CAAC;MAC5BiC,QAAQ,EAAE/B,KAAK,CAACa,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEFV,SAAS,CAAC,MAAA6B,YAAA,CAAAnB,KAAA,CAAAoB,GAAA;MAAA,SAEC,CACL,cAAc,EACd;QAAE,sBAAsB,EAAEpB,KAAK,CAACJ;MAAO,CAAC,EACxCQ,YAAY,CAACiB,KAAK,EAClBhB,sBAAsB,CAACgB,KAAK,EAC5Bd,gBAAgB,CAACc,KAAK,EACtBb,cAAc,CAACa,KAAK,EACpBrB,KAAK,CAACsB,KAAK,CACZ;MAAA,SACM,CACLhB,qBAAqB,CAACe,KAAK,EAC3BX,gBAAgB,CAACW,KAAK,EACtBZ,aAAa,CAACY,KAAK,EACnBrB,KAAK,CAACuB,KAAK;IACZ,GACSpB,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VSystemBar.mjs","names":["makeComponentProps","makeElevationProps","useElevation","makeLayoutItemProps","useLayoutItem","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useBackgroundColor","useSsrBoot","computed","shallowRef","toRef","genericComponent","propsFactory","useRender","makeVSystemBarProps","color","String","height","Number","window","Boolean","VSystemBar","name","props","setup","_ref","slots","themeClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","ssrBootStyles","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","_createVNode","tag","value","class","style"],"sources":["../../../src/components/VSystemBar/VSystemBar.tsx"],"sourcesContent":["// Styles\nimport './VSystemBar.sass'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useBackgroundColor } from '@/composables/color'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVSystemBarProps = propsFactory({\n color: String,\n height: [Number, String],\n window: Boolean,\n\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'v-system-bar')\n\nexport const VSystemBar = genericComponent()({\n name: 'VSystemBar',\n\n props: makeVSystemBarProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const { ssrBootStyles } = useSsrBoot()\n const height = computed(() => props.height ?? (props.window ? 32 : 24))\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: shallowRef('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-system-bar',\n { 'v-system-bar--window': props.window },\n themeClasses.value,\n backgroundColorClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n layoutItemStyles.value,\n ssrBootStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VSystemBar = InstanceType<typeof VSystemBar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,mBAAmB,EAAEC,aAAa;AAAA,SAClCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY;AAAA,SAC5BC,kBAAkB;AAAA,SAClBC,UAAU,yCAEnB;AACA,SAASC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,QAAQ,KAAK;AAAA,SACxCC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAE,CAACC,MAAM,EAAEF,MAAM,CAAC;EACxBG,MAAM,EAAEC,OAAO;EAEf,GAAGxB,kBAAkB,EAAE;EACvB,GAAGC,kBAAkB,EAAE;EACvB,GAAGE,mBAAmB,EAAE;EACxB,GAAGE,gBAAgB,EAAE;EACrB,GAAGE,YAAY,EAAE;EACjB,GAAGC,cAAc;AACnB,CAAC,EAAE,cAAc,CAAC;AAElB,OAAO,MAAMiB,UAAU,GAAGV,gBAAgB,EAAE,CAAC;EAC3CW,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAET,mBAAmB,EAAE;EAE5BU,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGtB,YAAY,CAACkB,KAAK,CAAC;IAC5C,MAAM;MAAEK,sBAAsB;MAAEC;IAAsB,CAAC,GAAGvB,kBAAkB,CAACI,KAAK,CAACa,KAAK,EAAE,OAAO,CAAC,CAAC;IACnG,MAAM;MAAEO;IAAiB,CAAC,GAAGhC,YAAY,CAACyB,KAAK,CAAC;IAChD,MAAM;MAAEQ;IAAe,CAAC,GAAG7B,UAAU,CAACqB,KAAK,CAAC;IAC5C,MAAM;MAAES;IAAc,CAAC,GAAGzB,UAAU,EAAE;IACtC,MAAMU,MAAM,GAAGT,QAAQ,CAAC,MAAMe,KAAK,CAACN,MAAM,KAAKM,KAAK,CAACJ,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM;MAAEc;IAAiB,CAAC,GAAGjC,aAAa,CAAC;MACzCkC,EAAE,EAAEX,KAAK,CAACD,IAAI;MACda,KAAK,EAAE3B,QAAQ,CAAC,MAAM4B,QAAQ,CAACb,KAAK,CAACY,KAAK,EAAE,EAAE,CAAC,CAAC;MAChDE,QAAQ,EAAE5B,UAAU,CAAC,KAAK,CAAC;MAC3B6B,UAAU,EAAErB,MAAM;MAClBsB,WAAW,EAAEtB,MAAM;MACnBuB,MAAM,EAAEhC,QAAQ,CAAC,MAAM,IAAI,CAAC;MAC5BiC,QAAQ,EAAE/B,KAAK,CAACa,KAAK,EAAE,UAAU;IACnC,CAAC,CAAC;IAEFV,SAAS,CAAC,MAAA6B,YAAA,CAAAnB,KAAA,CAAAoB,GAAA;MAAA,SAEC,CACL,cAAc,EACd;QAAE,sBAAsB,EAAEpB,KAAK,CAACJ;MAAO,CAAC,EACxCQ,YAAY,CAACiB,KAAK,EAClBhB,sBAAsB,CAACgB,KAAK,EAC5Bd,gBAAgB,CAACc,KAAK,EACtBb,cAAc,CAACa,KAAK,EACpBrB,KAAK,CAACsB,KAAK,CACZ;MAAA,SACM,CACLhB,qBAAqB,CAACe,KAAK,EAC3BX,gBAAgB,CAACW,KAAK,EACtBZ,aAAa,CAACY,KAAK,EACnBrB,KAAK,CAACuB,KAAK;IACZ,GACSpB,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
@@ -39,6 +39,10 @@ declare const VSystemBar: {
39
39
  } | undefined;
40
40
  } & {
41
41
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
42
+ } & {
43
+ $slots?: {
44
+ default?: (() => vue.VNodeChild) | undefined;
45
+ } | undefined;
42
46
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "window" | "absolute" | "order" | "style" | "tag" | "rounded">;
43
47
  $attrs: {
44
48
  [x: string]: unknown;
@@ -76,6 +80,10 @@ declare const VSystemBar: {
76
80
  } | undefined;
77
81
  } & {
78
82
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
83
+ } & {
84
+ $slots?: {
85
+ default?: (() => vue.VNodeChild) | undefined;
86
+ } | undefined;
79
87
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
80
88
  window: boolean;
81
89
  absolute: boolean;
@@ -126,6 +134,10 @@ declare const VSystemBar: {
126
134
  } | undefined;
127
135
  } & {
128
136
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
137
+ } & {
138
+ $slots?: {
139
+ default?: (() => vue.VNodeChild) | undefined;
140
+ } | undefined;
129
141
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
130
142
  __isFragment?: undefined;
131
143
  __isTeleport?: undefined;
@@ -153,6 +165,10 @@ declare const VSystemBar: {
153
165
  } | undefined;
154
166
  } & {
155
167
  "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
168
+ } & {
169
+ $slots?: {
170
+ default?: (() => vue.VNodeChild) | undefined;
171
+ } | undefined;
156
172
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
157
173
  window: boolean;
158
174
  absolute: boolean;
@@ -47,6 +47,13 @@ declare const VTable: {
47
47
  "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
48
48
  "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
49
49
  "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
50
+ } & {
51
+ $slots?: {
52
+ default?: (() => vue.VNodeChild) | undefined;
53
+ top?: (() => vue.VNodeChild) | undefined;
54
+ bottom?: (() => vue.VNodeChild) | undefined;
55
+ wrapper?: (() => vue.VNodeChild) | undefined;
56
+ } | undefined;
50
57
  } & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "tag" | "density" | "hover" | "fixedHeader" | "fixedFooter">;
51
58
  $attrs: {
52
59
  [x: string]: unknown;
@@ -90,6 +97,13 @@ declare const VTable: {
90
97
  "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
91
98
  "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
92
99
  "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
100
+ } & {
101
+ $slots?: {
102
+ default?: (() => vue.VNodeChild) | undefined;
103
+ top?: (() => vue.VNodeChild) | undefined;
104
+ bottom?: (() => vue.VNodeChild) | undefined;
105
+ wrapper?: (() => vue.VNodeChild) | undefined;
106
+ } | undefined;
93
107
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
94
108
  style: vue.StyleValue;
95
109
  tag: string;
@@ -146,6 +160,13 @@ declare const VTable: {
146
160
  "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
147
161
  "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
148
162
  "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
163
+ } & {
164
+ $slots?: {
165
+ default?: (() => vue.VNodeChild) | undefined;
166
+ top?: (() => vue.VNodeChild) | undefined;
167
+ bottom?: (() => vue.VNodeChild) | undefined;
168
+ wrapper?: (() => vue.VNodeChild) | undefined;
169
+ } | undefined;
149
170
  } & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
150
171
  __isFragment?: undefined;
151
172
  __isTeleport?: undefined;
@@ -179,6 +200,13 @@ declare const VTable: {
179
200
  "v-slot:top"?: false | (() => vue.VNodeChild) | undefined;
180
201
  "v-slot:bottom"?: false | (() => vue.VNodeChild) | undefined;
181
202
  "v-slot:wrapper"?: false | (() => vue.VNodeChild) | undefined;
203
+ } & {
204
+ $slots?: {
205
+ default?: (() => vue.VNodeChild) | undefined;
206
+ top?: (() => vue.VNodeChild) | undefined;
207
+ bottom?: (() => vue.VNodeChild) | undefined;
208
+ wrapper?: (() => vue.VNodeChild) | undefined;
209
+ } | undefined;
182
210
  }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
183
211
  style: vue.StyleValue;
184
212
  tag: string;
@@ -3,12 +3,11 @@ import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
3
3
  import "./VTab.css";
4
4
 
5
5
  // Components
6
- import { VBtn } from "../VBtn/index.mjs"; // Composables
6
+ import { makeVBtnProps, VBtn } from "../VBtn/VBtn.mjs"; // Composables
7
7
  import { useTextColor } from "../../composables/color.mjs"; // Utilities
8
- import { computed, ref } from 'vue';
9
8
  import { animate, genericComponent, omit, propsFactory, standardEasing, useRender } from "../../util/index.mjs";
10
- import { makeVBtnProps } from "../VBtn/VBtn.mjs"; // Types
11
- import { VTabsSymbol } from "./shared.mjs";
9
+ import { computed, ref, shallowRef } from 'vue';
10
+ import { VTabsSymbol } from "./shared.mjs"; // Types
12
11
  export const makeVTabProps = propsFactory({
13
12
  fixed: Boolean,
14
13
  sliderColor: String,
@@ -35,7 +34,7 @@ export const VTab = genericComponent()({
35
34
  textColorStyles: sliderColorStyles
36
35
  } = useTextColor(props, 'sliderColor');
37
36
  const isHorizontal = computed(() => props.direction === 'horizontal');
38
- const isSelected = ref(false);
37
+ const isSelected = shallowRef(false);
39
38
  const rootEl = ref();
40
39
  const sliderEl = ref();
41
40
  function updateSlider(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"file":"VTab.mjs","names":["VBtn","useTextColor","computed","ref","animate","genericComponent","omit","propsFactory","standardEasing","useRender","makeVBtnProps","VTabsSymbol","makeVTabProps","fixed","Boolean","sliderColor","String","hideSlider","direction","type","default","selectedClass","variant","VTab","name","props","setup","_ref","slots","attrs","textColorClasses","sliderColorClasses","textColorStyles","sliderColorStyles","isHorizontal","isSelected","rootEl","sliderEl","updateSlider","_ref2","value","prevEl","$el","parentElement","querySelector","nextEl","color","getComputedStyle","prevBox","getBoundingClientRect","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","delta","origin","Math","sign","size","abs","scale","max","initialScale","sigma","backgroundColor","transform","transformOrigin","Array","fill","duration","easing","btnProps","filterProps","_createVNode","_mergeProps","class","style","undefined","text"],"sources":["../../../src/components/VTabs/VTab.tsx"],"sourcesContent":["// Styles\nimport './VTab.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { animate, genericComponent, omit, propsFactory, standardEasing, useRender } from '@/util'\nimport { makeVBtnProps } from '@/components/VBtn/VBtn'\n\n// Types\nimport type { PropType } from 'vue'\nimport { VTabsSymbol } from './shared'\n\nexport const makeVTabProps = propsFactory({\n fixed: Boolean,\n\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...omit(makeVBtnProps({\n selectedClass: 'v-tab--selected',\n variant: 'text' as const,\n }), [\n 'active',\n 'block',\n 'flat',\n 'location',\n 'position',\n 'symbol',\n ]),\n}, 'v-tabs')\n\nexport const VTab = genericComponent()({\n name: 'VTab',\n\n props: makeVTabProps(),\n\n setup (props, { slots, attrs }) {\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n const isSelected = ref(false)\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n\n function updateSlider ({ value }: { value: boolean }) {\n isSelected.value = value\n\n if (value) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n animate(nextEl, {\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n }\n\n useRender(() => {\n const [btnProps] = VBtn.filterProps(props)\n\n return (\n <VBtn\n symbol={ VTabsSymbol }\n ref={ rootEl }\n class={[\n 'v-tab',\n props.class,\n ]}\n style={ props.style }\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n active={ false }\n block={ props.fixed }\n maxWidth={ props.fixed ? 300 : undefined }\n rounded={ 0 }\n { ...btnProps }\n { ...attrs }\n onGroup:selected={ updateSlider }\n >\n { slots.default?.() ?? props.text }\n\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n )}\n </VBtn>\n )\n })\n\n return {}\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VTab.mjs","names":["makeVBtnProps","VBtn","useTextColor","animate","genericComponent","omit","propsFactory","standardEasing","useRender","computed","ref","shallowRef","VTabsSymbol","makeVTabProps","fixed","Boolean","sliderColor","String","hideSlider","direction","type","default","selectedClass","variant","VTab","name","props","setup","_ref","slots","attrs","textColorClasses","sliderColorClasses","textColorStyles","sliderColorStyles","isHorizontal","isSelected","rootEl","sliderEl","updateSlider","_ref2","value","prevEl","$el","parentElement","querySelector","nextEl","color","getComputedStyle","prevBox","getBoundingClientRect","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","delta","origin","Math","sign","size","abs","scale","max","initialScale","sigma","backgroundColor","transform","transformOrigin","Array","fill","duration","easing","btnProps","filterProps","_createVNode","_mergeProps","class","style","undefined","text"],"sources":["../../../src/components/VTabs/VTab.tsx"],"sourcesContent":["// Styles\nimport './VTab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { animate, genericComponent, omit, propsFactory, standardEasing, useRender } from '@/util'\nimport { computed, ref, shallowRef } from 'vue'\nimport { VTabsSymbol } from './shared'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVTabProps = propsFactory({\n fixed: Boolean,\n\n sliderColor: String,\n hideSlider: Boolean,\n\n direction: {\n type: String as PropType<'horizontal' | 'vertical'>,\n default: 'horizontal',\n },\n\n ...omit(makeVBtnProps({\n selectedClass: 'v-tab--selected',\n variant: 'text' as const,\n }), [\n 'active',\n 'block',\n 'flat',\n 'location',\n 'position',\n 'symbol',\n ]),\n}, 'v-tabs')\n\nexport const VTab = genericComponent()({\n name: 'VTab',\n\n props: makeVTabProps(),\n\n setup (props, { slots, attrs }) {\n const { textColorClasses: sliderColorClasses, textColorStyles: sliderColorStyles } = useTextColor(props, 'sliderColor')\n const isHorizontal = computed(() => props.direction === 'horizontal')\n const isSelected = shallowRef(false)\n\n const rootEl = ref<VBtn>()\n const sliderEl = ref<HTMLElement>()\n\n function updateSlider ({ value }: { value: boolean }) {\n isSelected.value = value\n\n if (value) {\n const prevEl: HTMLElement | undefined = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider')\n const nextEl = sliderEl.value\n\n if (!prevEl || !nextEl) return\n\n const color = getComputedStyle(prevEl).color\n\n const prevBox = prevEl.getBoundingClientRect()\n const nextBox = nextEl.getBoundingClientRect()\n\n const xy = isHorizontal.value ? 'x' : 'y'\n const XY = isHorizontal.value ? 'X' : 'Y'\n const rightBottom = isHorizontal.value ? 'right' : 'bottom'\n const widthHeight = isHorizontal.value ? 'width' : 'height'\n\n const prevPos = prevBox[xy]\n const nextPos = nextBox[xy]\n const delta = prevPos > nextPos\n ? prevBox[rightBottom] - nextBox[rightBottom]\n : prevBox[xy] - nextBox[xy]\n const origin =\n Math.sign(delta) > 0 ? (isHorizontal.value ? 'right' : 'bottom')\n : Math.sign(delta) < 0 ? (isHorizontal.value ? 'left' : 'top')\n : 'center'\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight])\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight])\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight]\n\n const sigma = 1.5\n animate(nextEl, {\n backgroundColor: [color, ''],\n transform: [\n `translate${XY}(${delta}px) scale${XY}(${initialScale})`,\n `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`,\n '',\n ],\n transformOrigin: Array(3).fill(origin),\n }, {\n duration: 225,\n easing: standardEasing,\n })\n }\n }\n\n useRender(() => {\n const [btnProps] = VBtn.filterProps(props)\n\n return (\n <VBtn\n symbol={ VTabsSymbol }\n ref={ rootEl }\n class={[\n 'v-tab',\n props.class,\n ]}\n style={ props.style }\n tabindex={ isSelected.value ? 0 : -1 }\n role=\"tab\"\n aria-selected={ String(isSelected.value) }\n active={ false }\n block={ props.fixed }\n maxWidth={ props.fixed ? 300 : undefined }\n rounded={ 0 }\n { ...btnProps }\n { ...attrs }\n onGroup:selected={ updateSlider }\n >\n { slots.default?.() ?? props.text }\n\n { !props.hideSlider && (\n <div\n ref={ sliderEl }\n class={[\n 'v-tab__slider',\n sliderColorClasses.value,\n ]}\n style={ sliderColorStyles.value }\n />\n )}\n </VBtn>\n )\n })\n\n return {}\n },\n})\n\nexport type VTab = InstanceType<typeof VTab>\n"],"mappings":"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"}