@vuetify/nightly 3.0.0-next-20220107.0 → 3.0.0-next-20220112.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.0.0-next-20220107.0
2
+ * Vuetify v3.0.0-next-20220112.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -251,6 +251,9 @@
251
251
  function isObject(obj) {
252
252
  return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
253
253
  }
254
+ function isComponentInstance(obj) {
255
+ return obj == null ? void 0 : obj.$el;
256
+ } // KeyboardEvent.keyCode aliases
254
257
 
255
258
  const keyCodes = Object.freeze({
256
259
  enter: 13,
@@ -4781,6 +4784,7 @@
4781
4784
  name: 'VMessages',
4782
4785
  props: {
4783
4786
  active: Boolean,
4787
+ color: String,
4784
4788
  value: {
4785
4789
  type: [Array, String],
4786
4790
  default: () => []
@@ -4788,6 +4792,7 @@
4788
4792
  ...makeTransitionProps({
4789
4793
  transition: {
4790
4794
  component: VSlideYTransition,
4795
+ leaveAbsolute: true,
4791
4796
  group: true
4792
4797
  }
4793
4798
  })
@@ -4798,20 +4803,25 @@
4798
4803
  slots
4799
4804
  } = _ref;
4800
4805
  const messages = vue.computed(() => wrapInArray(props.value));
4806
+ const {
4807
+ textColorClasses,
4808
+ textColorStyles
4809
+ } = useTextColor(vue.computed(() => props.color));
4801
4810
  return () => {
4802
4811
  var _slots$default;
4803
4812
 
4804
4813
  return vue.createVNode(MaybeTransition, {
4805
4814
  "transition": props.transition,
4806
4815
  "tag": "div",
4807
- "class": "v-messages"
4816
+ "class": ['v-messages', textColorClasses.value],
4817
+ "style": textColorStyles.value
4808
4818
  }, {
4809
4819
  default: () => [messages.value.length > 0 && props.active && messages.value.map((message, i) => vue.createVNode("div", {
4810
4820
  "class": "v-messages__message",
4811
- "key": i
4821
+ "key": `${i}-${messages.value}`
4812
4822
  }, [message])), slots == null ? void 0 : (_slots$default = slots.default) == null ? void 0 : _slots$default.call(slots)],
4813
4823
  _: 1
4814
- }, 8, ["transition"]);
4824
+ }, 8, ["transition", "class", "style"]);
4815
4825
  };
4816
4826
  }
4817
4827
 
@@ -5115,10 +5125,11 @@
5115
5125
  "class": "v-input__details"
5116
5126
  }, [vue.createVNode(VMessages, {
5117
5127
  "active": showMessages,
5118
- "value": errorMessages.value || (hasMessages ? props.messages : props.hint)
5128
+ "color": isValid.value === false ? 'error' : undefined,
5129
+ "value": errorMessages.value.length > 0 ? errorMessages.value : hasMessages ? props.messages : props.hint
5119
5130
  }, {
5120
5131
  default: slots.messages
5121
- }, 8, ["active", "value"]), (_slots$details = slots.details) == null ? void 0 : _slots$details.call(slots, slotProps.value)])], 2);
5132
+ }, 8, ["active", "color", "value"]), (_slots$details = slots.details) == null ? void 0 : _slots$details.call(slots, slotProps.value)])], 2);
5122
5133
  });
5123
5134
  return {
5124
5135
  isValid,
@@ -5823,6 +5834,14 @@
5823
5834
 
5824
5835
  return events;
5825
5836
  });
5837
+ const activatorRef = vue.ref();
5838
+ vue.watchEffect(() => {
5839
+ if (!activatorRef.value) return;
5840
+ vue.nextTick(() => {
5841
+ const activator = activatorRef.value;
5842
+ activatorEl.value = isComponentInstance(activator) ? activator.$el : activator;
5843
+ });
5844
+ });
5826
5845
  let scope;
5827
5846
  vue.watch(() => !!props.activator, val => {
5828
5847
  if (val && IN_BROWSER) {
@@ -5830,6 +5849,7 @@
5830
5849
  scope.run(() => {
5831
5850
  _useActivator(props, {
5832
5851
  activatorEl,
5852
+ activatorRef,
5833
5853
  activatorEvents
5834
5854
  });
5835
5855
  });
@@ -5842,6 +5862,7 @@
5842
5862
  });
5843
5863
  return {
5844
5864
  activatorEl,
5865
+ activatorRef,
5845
5866
  activatorEvents
5846
5867
  };
5847
5868
  }
@@ -6627,6 +6648,7 @@
6627
6648
  }));
6628
6649
  const {
6629
6650
  activatorEl,
6651
+ activatorRef,
6630
6652
  activatorEvents
6631
6653
  } = useActivator(props, isActive);
6632
6654
  const {
@@ -6721,8 +6743,7 @@
6721
6743
  return vue.createVNode(vue.Fragment, null, [(_slots$activator = slots.activator) == null ? void 0 : _slots$activator.call(slots, {
6722
6744
  isActive: isActive.value,
6723
6745
  props: vue.mergeProps({
6724
- modelValue: isActive.value,
6725
- 'onUpdate:modelValue': val => isActive.value = val
6746
+ ref: activatorRef
6726
6747
  }, vue.toHandlers(activatorEvents.value), props.activatorProps)
6727
6748
  }), vue.createVNode(vue.Teleport, {
6728
6749
  "disabled": !teleportTarget.value,
@@ -10155,14 +10176,13 @@
10155
10176
  default: '...'
10156
10177
  },
10157
10178
  showFirstLastPage: Boolean,
10179
+ ...makeBorderProps(),
10180
+ ...makeDensityProps(),
10181
+ ...makeElevationProps(),
10182
+ ...makeSizeProps(),
10158
10183
  ...makeTagProps({
10159
10184
  tag: 'nav'
10160
10185
  }),
10161
- ...makeElevationProps(),
10162
- ...makeDensityProps(),
10163
- ...makeRoundedProps(),
10164
- ...makeSizeProps(),
10165
- ...makeBorderProps(),
10166
10186
  ...makeThemeProps(),
10167
10187
  ...makeVariantProps({
10168
10188
  variant: 'text'
@@ -10256,12 +10276,15 @@
10256
10276
  refs,
10257
10277
  updateRef
10258
10278
  } = useRefs();
10279
+ provideDefaults({
10280
+ VBtn: {
10281
+ border: vue.toRef(props, 'border'),
10282
+ density: vue.toRef(props, 'density'),
10283
+ size: vue.toRef(props, 'size'),
10284
+ variant: vue.toRef(props, 'variant')
10285
+ }
10286
+ });
10259
10287
  const items = vue.computed(() => {
10260
- const sharedProps = {
10261
- density: props.density,
10262
- rounded: props.rounded,
10263
- size: props.size
10264
- };
10265
10288
  return range.value.map((item, index) => {
10266
10289
  const ref = e => updateRef(e, index);
10267
10290
 
@@ -10269,13 +10292,11 @@
10269
10292
  return {
10270
10293
  isActive: false,
10271
10294
  page: item,
10272
- props: { ...sharedProps,
10295
+ props: {
10273
10296
  ref,
10274
10297
  ellipsis: true,
10275
10298
  icon: true,
10276
- disabled: true,
10277
- variant: props.variant,
10278
- border: props.border
10299
+ disabled: true
10279
10300
  }
10280
10301
  };
10281
10302
  } else {
@@ -10283,14 +10304,12 @@
10283
10304
  return {
10284
10305
  isActive,
10285
10306
  page: n(item),
10286
- props: { ...sharedProps,
10307
+ props: {
10287
10308
  ref,
10288
10309
  ellipsis: false,
10289
10310
  icon: true,
10290
10311
  disabled: !!props.disabled || props.length < 2,
10291
10312
  elevation: props.elevation,
10292
- variant: props.variant,
10293
- border: props.border,
10294
10313
  color: isActive ? props.color : undefined,
10295
10314
  ariaCurrent: isActive,
10296
10315
  ariaLabel: t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, index + 1),
@@ -10301,39 +10320,31 @@
10301
10320
  });
10302
10321
  });
10303
10322
  const controls = vue.computed(() => {
10304
- const sharedProps = {
10305
- color: undefined,
10306
- density: props.density,
10307
- rounded: props.rounded,
10308
- size: props.size,
10309
- variant: props.variant,
10310
- border: props.border
10311
- };
10312
10323
  const prevDisabled = !!props.disabled || page.value <= start.value;
10313
10324
  const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1;
10314
10325
  return {
10315
- first: props.showFirstLastPage ? { ...sharedProps,
10326
+ first: props.showFirstLastPage ? {
10316
10327
  icon: isRtl.value ? props.lastIcon : props.firstIcon,
10317
10328
  onClick: e => setValue(e, start.value, 'first'),
10318
10329
  disabled: prevDisabled,
10319
10330
  ariaLabel: t(props.firstAriaLabel),
10320
10331
  ariaDisabled: prevDisabled
10321
10332
  } : undefined,
10322
- prev: { ...sharedProps,
10333
+ prev: {
10323
10334
  icon: isRtl.value ? props.nextIcon : props.prevIcon,
10324
10335
  onClick: e => setValue(e, page.value - 1, 'prev'),
10325
10336
  disabled: prevDisabled,
10326
10337
  ariaLabel: t(props.previousAriaLabel),
10327
10338
  ariaDisabled: prevDisabled
10328
10339
  },
10329
- next: { ...sharedProps,
10340
+ next: {
10330
10341
  icon: isRtl.value ? props.prevIcon : props.nextIcon,
10331
10342
  onClick: e => setValue(e, page.value + 1, 'next'),
10332
10343
  disabled: nextDisabled,
10333
10344
  ariaLabel: t(props.nextAriaLabel),
10334
10345
  ariaDisabled: nextDisabled
10335
10346
  },
10336
- last: props.showFirstLastPage ? { ...sharedProps,
10347
+ last: props.showFirstLastPage ? {
10337
10348
  icon: isRtl.value ? props.firstIcon : props.lastIcon,
10338
10349
  onClick: e => setValue(e, start.value + length.value - 1, 'last'),
10339
10350
  disabled: nextDisabled,
@@ -13312,7 +13323,7 @@
13312
13323
  ...options
13313
13324
  });
13314
13325
  };
13315
- const version = "3.0.0-next-20220107.0";
13326
+ const version = "3.0.0-next-20220112.0";
13316
13327
 
13317
13328
  exports.components = components;
13318
13329
  exports.createVuetify = createVuetify;