@vuetify/nightly 3.3.12-dev.2023-08-17 → 3.3.12-dev.2023-08-18

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 (41) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/dist/json/attributes.json +20 -4
  3. package/dist/json/importMap.json +42 -42
  4. package/dist/json/tags.json +4 -0
  5. package/dist/json/web-types.json +47 -11
  6. package/dist/vuetify-labs.css +923 -923
  7. package/dist/vuetify-labs.d.ts +56 -1
  8. package/dist/vuetify-labs.esm.js +43 -17
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +43 -17
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +217 -217
  13. package/dist/vuetify.d.ts +67 -12
  14. package/dist/vuetify.esm.js +43 -17
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +43 -17
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +282 -277
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VBanner/VBanner.mjs +5 -3
  22. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  23. package/lib/components/VBanner/index.d.mts +10 -0
  24. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
  25. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  26. package/lib/components/VNavigationDrawer/index.d.mts +10 -0
  27. package/lib/components/VSlideGroup/VSlideGroup.mjs +5 -3
  28. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  29. package/lib/components/VSlideGroup/index.d.mts +10 -0
  30. package/lib/components/VTabs/index.d.mts +10 -0
  31. package/lib/components/index.d.mts +28 -0
  32. package/lib/composables/directiveComponent.mjs +69 -0
  33. package/lib/composables/directiveComponent.mjs.map +1 -0
  34. package/lib/composables/display.mjs +23 -3
  35. package/lib/composables/display.mjs.map +1 -1
  36. package/lib/composables/theme.mjs +7 -7
  37. package/lib/composables/theme.mjs.map +1 -1
  38. package/lib/entry-bundler.mjs +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/index.d.mts +43 -12
  41. package/package.json +1 -1
@@ -101,6 +101,9 @@ type DisplayBreakpoint = 'xs' | Breakpoint;
101
101
  type DisplayThresholds = {
102
102
  [key in DisplayBreakpoint]: number;
103
103
  };
104
+ interface DisplayProps {
105
+ mobileBreakpoint?: number | DisplayBreakpoint;
106
+ }
104
107
  interface DisplayOptions {
105
108
  mobileBreakpoint?: number | DisplayBreakpoint;
106
109
  thresholds?: Partial<DisplayThresholds>;
@@ -148,7 +151,35 @@ interface DisplayInstance {
148
151
  thresholds: Ref<DisplayThresholds>;
149
152
  update(): void;
150
153
  }
151
- declare function useDisplay(): DisplayInstance;
154
+ declare function useDisplay(props?: DisplayProps, name?: string): {
155
+ displayClasses: vue.ComputedRef<{
156
+ [x: string]: boolean;
157
+ }>;
158
+ mobile: vue.ComputedRef<boolean>;
159
+ xs: Ref<boolean>;
160
+ sm: Ref<boolean>;
161
+ md: Ref<boolean>;
162
+ lg: Ref<boolean>;
163
+ xl: Ref<boolean>;
164
+ xxl: Ref<boolean>;
165
+ smAndUp: Ref<boolean>;
166
+ mdAndUp: Ref<boolean>;
167
+ lgAndUp: Ref<boolean>;
168
+ xlAndUp: Ref<boolean>;
169
+ smAndDown: Ref<boolean>;
170
+ mdAndDown: Ref<boolean>;
171
+ lgAndDown: Ref<boolean>;
172
+ xlAndDown: Ref<boolean>;
173
+ name: Ref<DisplayBreakpoint>;
174
+ height: Ref<number>;
175
+ width: Ref<number>;
176
+ mobileBreakpoint: Ref<number | DisplayBreakpoint>;
177
+ platform: Ref<DisplayPlatform>;
178
+ thresholds: Ref<DisplayThresholds>;
179
+ /** @internal */
180
+ ssr: boolean;
181
+ update(): void;
182
+ };
152
183
 
153
184
  declare const block: readonly ["top", "bottom"];
154
185
  declare const inline: readonly ["start", "end", "left", "right"];
@@ -7624,6 +7655,7 @@ declare const VBanner: {
7624
7655
  }>) => void)[] | undefined;
7625
7656
  "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
7626
7657
  lines?: "one" | "two" | "three" | undefined;
7658
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
7627
7659
  avatar?: string | undefined;
7628
7660
  "v-slot:actions"?: false | (() => vue.VNodeChild) | undefined;
7629
7661
  };
@@ -7675,6 +7707,7 @@ declare const VBanner: {
7675
7707
  theme?: string | undefined;
7676
7708
  rounded?: string | number | boolean | undefined;
7677
7709
  lines?: "one" | "two" | "three" | undefined;
7710
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
7678
7711
  avatar?: string | undefined;
7679
7712
  } & {
7680
7713
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -7758,6 +7791,7 @@ declare const VBanner: {
7758
7791
  theme?: string | undefined;
7759
7792
  rounded?: string | number | boolean | undefined;
7760
7793
  lines?: "one" | "two" | "three" | undefined;
7794
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
7761
7795
  avatar?: string | undefined;
7762
7796
  } & {
7763
7797
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -7805,6 +7839,7 @@ declare const VBanner: {
7805
7839
  theme?: string | undefined;
7806
7840
  rounded?: string | number | boolean | undefined;
7807
7841
  lines?: "one" | "two" | "three" | undefined;
7842
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
7808
7843
  avatar?: string | undefined;
7809
7844
  } & {
7810
7845
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -7863,6 +7898,7 @@ declare const VBanner: {
7863
7898
  type: (StringConstructor | NumberConstructor)[];
7864
7899
  validator(v: any): boolean;
7865
7900
  };
7901
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
7866
7902
  height: (StringConstructor | NumberConstructor)[];
7867
7903
  maxHeight: (StringConstructor | NumberConstructor)[];
7868
7904
  maxWidth: (StringConstructor | NumberConstructor)[];
@@ -7906,6 +7942,7 @@ declare const VBanner: {
7906
7942
  type: (StringConstructor | NumberConstructor)[];
7907
7943
  validator(v: any): boolean;
7908
7944
  };
7945
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
7909
7946
  height: (StringConstructor | NumberConstructor)[];
7910
7947
  maxHeight: (StringConstructor | NumberConstructor)[];
7911
7948
  maxWidth: (StringConstructor | NumberConstructor)[];
@@ -35148,6 +35185,7 @@ declare const VNavigationDrawer: {
35148
35185
  "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
35149
35186
  "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
35150
35187
  "onUpdate:modelValue"?: ((val: boolean) => any) | undefined;
35188
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
35151
35189
  "onUpdate:rail"?: ((val: boolean) => any) | undefined;
35152
35190
  };
35153
35191
  $attrs: {
@@ -35202,6 +35240,7 @@ declare const VNavigationDrawer: {
35202
35240
  elevation?: string | number | undefined;
35203
35241
  theme?: string | undefined;
35204
35242
  rounded?: string | number | boolean | undefined;
35243
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
35205
35244
  } & {
35206
35245
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
35207
35246
  default?: (() => vue.VNodeChild) | undefined;
@@ -35309,6 +35348,7 @@ declare const VNavigationDrawer: {
35309
35348
  elevation?: string | number | undefined;
35310
35349
  theme?: string | undefined;
35311
35350
  rounded?: string | number | boolean | undefined;
35351
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
35312
35352
  } & {
35313
35353
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
35314
35354
  default?: (() => vue.VNodeChild) | undefined;
@@ -35364,6 +35404,7 @@ declare const VNavigationDrawer: {
35364
35404
  elevation?: string | number | undefined;
35365
35405
  theme?: string | undefined;
35366
35406
  rounded?: string | number | boolean | undefined;
35407
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
35367
35408
  } & {
35368
35409
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
35369
35410
  default?: (() => vue.VNodeChild) | undefined;
@@ -35448,6 +35489,7 @@ declare const VNavigationDrawer: {
35448
35489
  type: (StringConstructor | NumberConstructor)[];
35449
35490
  validator(v: any): boolean;
35450
35491
  };
35492
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
35451
35493
  class: PropType<any>;
35452
35494
  style: {
35453
35495
  type: PropType<vue.StyleValue>;
@@ -35514,6 +35556,7 @@ declare const VNavigationDrawer: {
35514
35556
  type: (StringConstructor | NumberConstructor)[];
35515
35557
  validator(v: any): boolean;
35516
35558
  };
35559
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
35517
35560
  class: PropType<any>;
35518
35561
  style: {
35519
35562
  type: PropType<vue.StyleValue>;
@@ -42571,6 +42614,7 @@ declare const VSlideGroup: {
42571
42614
  [key: string]: any;
42572
42615
  }>) => void)[] | undefined;
42573
42616
  "onUpdate:modelValue"?: ((value: any) => any) | undefined;
42617
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
42574
42618
  showArrows?: string | boolean | undefined;
42575
42619
  "v-slot:next"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined;
42576
42620
  "v-slot:prev"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined;
@@ -42612,6 +42656,7 @@ declare const VSlideGroup: {
42612
42656
  class?: any;
42613
42657
  mandatory?: boolean | "force" | undefined;
42614
42658
  modelValue?: any;
42659
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
42615
42660
  showArrows?: string | boolean | undefined;
42616
42661
  } & {
42617
42662
  $children?: vue.VNodeChild | {
@@ -42695,6 +42740,7 @@ declare const VSlideGroup: {
42695
42740
  class?: any;
42696
42741
  mandatory?: boolean | "force" | undefined;
42697
42742
  modelValue?: any;
42743
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
42698
42744
  showArrows?: string | boolean | undefined;
42699
42745
  } & {
42700
42746
  $children?: vue.VNodeChild | {
@@ -42738,6 +42784,7 @@ declare const VSlideGroup: {
42738
42784
  class?: any;
42739
42785
  mandatory?: boolean | "force" | undefined;
42740
42786
  modelValue?: any;
42787
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
42741
42788
  showArrows?: string | boolean | undefined;
42742
42789
  } & {
42743
42790
  $children?: vue.VNodeChild | {
@@ -42802,6 +42849,7 @@ declare const VSlideGroup: {
42802
42849
  type: StringConstructor;
42803
42850
  default: string;
42804
42851
  };
42852
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
42805
42853
  class: PropType<any>;
42806
42854
  style: {
42807
42855
  type: PropType<vue.StyleValue>;
@@ -42845,6 +42893,7 @@ declare const VSlideGroup: {
42845
42893
  type: StringConstructor;
42846
42894
  default: string;
42847
42895
  };
42896
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
42848
42897
  class: PropType<any>;
42849
42898
  style: {
42850
42899
  type: PropType<vue.StyleValue>;
@@ -46822,6 +46871,7 @@ declare const VTabs: {
46822
46871
  }>) => void)[] | undefined;
46823
46872
  "onUpdate:modelValue"?: ((v: unknown) => any) | undefined;
46824
46873
  bgColor?: string | undefined;
46874
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
46825
46875
  showArrows?: string | boolean | undefined;
46826
46876
  sliderColor?: string | undefined;
46827
46877
  };
@@ -46866,6 +46916,7 @@ declare const VTabs: {
46866
46916
  class?: any;
46867
46917
  modelValue?: any;
46868
46918
  bgColor?: string | undefined;
46919
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
46869
46920
  showArrows?: string | boolean | undefined;
46870
46921
  sliderColor?: string | undefined;
46871
46922
  } & {
@@ -46952,6 +47003,7 @@ declare const VTabs: {
46952
47003
  class?: any;
46953
47004
  modelValue?: any;
46954
47005
  bgColor?: string | undefined;
47006
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
46955
47007
  showArrows?: string | boolean | undefined;
46956
47008
  sliderColor?: string | undefined;
46957
47009
  } & {
@@ -46995,6 +47047,7 @@ declare const VTabs: {
46995
47047
  class?: any;
46996
47048
  modelValue?: any;
46997
47049
  bgColor?: string | undefined;
47050
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
46998
47051
  showArrows?: string | boolean | undefined;
46999
47052
  sliderColor?: string | undefined;
47000
47053
  } & {
@@ -47060,6 +47113,7 @@ declare const VTabs: {
47060
47113
  default: string;
47061
47114
  };
47062
47115
  disabled: BooleanConstructor;
47116
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
47063
47117
  class: PropType<any>;
47064
47118
  style: {
47065
47119
  type: PropType<vue.StyleValue>;
@@ -47130,6 +47184,7 @@ declare const VTabs: {
47130
47184
  default: string;
47131
47185
  };
47132
47186
  disabled: BooleanConstructor;
47187
+ mobileBreakpoint: PropType<number | DisplayBreakpoint>;
47133
47188
  class: PropType<any>;
47134
47189
  style: {
47135
47190
  type: PropType<vue.StyleValue>;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.12-dev.2023-08-17
2
+ * Vuetify v3.3.12-dev.2023-08-18
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -2125,9 +2125,9 @@ const defaultThemeOptions = {
2125
2125
  surface: '#FFFFFF',
2126
2126
  'surface-variant': '#424242',
2127
2127
  'on-surface-variant': '#EEEEEE',
2128
- primary: '#6200EE',
2129
- 'primary-darken-1': '#3700B3',
2130
- secondary: '#03DAC6',
2128
+ primary: '#1867C0',
2129
+ 'primary-darken-1': '#1F5592',
2130
+ secondary: '#48A9A6',
2131
2131
  'secondary-darken-1': '#018786',
2132
2132
  error: '#B00020',
2133
2133
  info: '#2196F3',
@@ -2160,10 +2160,10 @@ const defaultThemeOptions = {
2160
2160
  surface: '#212121',
2161
2161
  'surface-variant': '#BDBDBD',
2162
2162
  'on-surface-variant': '#424242',
2163
- primary: '#BB86FC',
2164
- 'primary-darken-1': '#3700B3',
2165
- secondary: '#03DAC5',
2166
- 'secondary-darken-1': '#03DAC5',
2163
+ primary: '#2196F3',
2164
+ 'primary-darken-1': '#277CC1',
2165
+ secondary: '#54B6B2',
2166
+ 'secondary-darken-1': '#48A9A6',
2167
2167
  error: '#CF6679',
2168
2168
  info: '#2196F3',
2169
2169
  success: '#4CAF50',
@@ -9307,10 +9307,30 @@ function createDisplay(options, ssr) {
9307
9307
  ssr: !!ssr
9308
9308
  };
9309
9309
  }
9310
+ const makeDisplayProps = propsFactory({
9311
+ mobileBreakpoint: [Number, String]
9312
+ }, 'display');
9310
9313
  function useDisplay() {
9314
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9315
+ let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
9311
9316
  const display = inject$1(DisplaySymbol);
9312
9317
  if (!display) throw new Error('Could not find Vuetify display injection');
9313
- return display;
9318
+ const mobile = computed(() => {
9319
+ if (!props.mobileBreakpoint) return display.mobile.value;
9320
+ const breakpointValue = typeof props.mobileBreakpoint === 'number' ? props.mobileBreakpoint : display.thresholds.value[props.mobileBreakpoint];
9321
+ return display.width.value < breakpointValue;
9322
+ });
9323
+ const displayClasses = computed(() => {
9324
+ if (!name) return {};
9325
+ return {
9326
+ [`${name}--mobile`]: mobile.value
9327
+ };
9328
+ });
9329
+ return {
9330
+ ...display,
9331
+ displayClasses,
9332
+ mobile
9333
+ };
9314
9334
  }
9315
9335
 
9316
9336
  // Composables
@@ -11892,6 +11912,7 @@ const makeVBannerProps = propsFactory({
11892
11912
  ...makeComponentProps(),
11893
11913
  ...makeDensityProps(),
11894
11914
  ...makeDimensionProps(),
11915
+ ...makeDisplayProps(),
11895
11916
  ...makeElevationProps(),
11896
11917
  ...makeLocationProps(),
11897
11918
  ...makePositionProps(),
@@ -11913,8 +11934,9 @@ const VBanner = genericComponent()({
11913
11934
  densityClasses
11914
11935
  } = useDensity(props);
11915
11936
  const {
11937
+ displayClasses,
11916
11938
  mobile
11917
- } = useDisplay();
11939
+ } = useDisplay(props);
11918
11940
  const {
11919
11941
  dimensionStyles
11920
11942
  } = useDimension(props);
@@ -11950,7 +11972,7 @@ const VBanner = genericComponent()({
11950
11972
  'v-banner--stacked': props.stacked || mobile.value,
11951
11973
  'v-banner--sticky': props.sticky,
11952
11974
  [`v-banner--${props.lines}-line`]: !!props.lines
11953
- }, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
11975
+ }, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
11954
11976
  "style": [dimensionStyles.value, locationStyles.value, props.style],
11955
11977
  "role": "banner"
11956
11978
  }, {
@@ -16948,6 +16970,7 @@ const makeVNavigationDrawerProps = propsFactory({
16948
16970
  sticky: Boolean,
16949
16971
  ...makeBorderProps(),
16950
16972
  ...makeComponentProps(),
16973
+ ...makeDisplayProps(),
16951
16974
  ...makeElevationProps(),
16952
16975
  ...makeLayoutItemProps(),
16953
16976
  ...makeRoundedProps(),
@@ -16986,8 +17009,9 @@ const VNavigationDrawer = genericComponent()({
16986
17009
  elevationClasses
16987
17010
  } = useElevation(props);
16988
17011
  const {
17012
+ displayClasses,
16989
17013
  mobile
16990
- } = useDisplay();
17014
+ } = useDisplay(props);
16991
17015
  const {
16992
17016
  roundedClasses
16993
17017
  } = useRounded(props);
@@ -17098,7 +17122,7 @@ const VNavigationDrawer = genericComponent()({
17098
17122
  'v-navigation-drawer--temporary': isTemporary.value,
17099
17123
  'v-navigation-drawer--active': isActive.value,
17100
17124
  'v-navigation-drawer--sticky': isSticky.value
17101
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
17125
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
17102
17126
  "style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
17103
17127
  }, scopeId, attrs), {
17104
17128
  default: () => [hasImage && createVNode("div", {
@@ -18150,6 +18174,7 @@ const makeVSlideGroupProps = propsFactory({
18150
18174
  validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
18151
18175
  },
18152
18176
  ...makeComponentProps(),
18177
+ ...makeDisplayProps(),
18153
18178
  ...makeTagProps(),
18154
18179
  ...makeGroupProps({
18155
18180
  selectedClass: 'v-slide-group-item--active'
@@ -18169,8 +18194,9 @@ const VSlideGroup = genericComponent()({
18169
18194
  isRtl
18170
18195
  } = useRtl();
18171
18196
  const {
18197
+ displayClasses,
18172
18198
  mobile
18173
- } = useDisplay();
18199
+ } = useDisplay(props);
18174
18200
  const group = useGroup(props, props.symbol);
18175
18201
  const isOverflowing = shallowRef(false);
18176
18202
  const scrollOffset = shallowRef(0);
@@ -18390,7 +18416,7 @@ const VSlideGroup = genericComponent()({
18390
18416
  'v-slide-group--vertical': !isHorizontal.value,
18391
18417
  'v-slide-group--has-affixes': hasAffixes.value,
18392
18418
  'v-slide-group--is-overflowing': isOverflowing.value
18393
- }, props.class],
18419
+ }, displayClasses.value, props.class],
18394
18420
  "style": props.style,
18395
18421
  "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
18396
18422
  "onFocus": onFocus
@@ -24536,7 +24562,7 @@ function createVuetify$1() {
24536
24562
  date
24537
24563
  };
24538
24564
  }
24539
- const version$1 = "3.3.12-dev.2023-08-17";
24565
+ const version$1 = "3.3.12-dev.2023-08-18";
24540
24566
  createVuetify$1.version = version$1;
24541
24567
 
24542
24568
  // Vue's inject() can only be used in setup
@@ -24550,7 +24576,7 @@ function inject(key) {
24550
24576
 
24551
24577
  /* eslint-disable local-rules/sort-imports */
24552
24578
 
24553
- const version = "3.3.12-dev.2023-08-17";
24579
+ const version = "3.3.12-dev.2023-08-18";
24554
24580
 
24555
24581
  /* eslint-disable local-rules/sort-imports */
24556
24582