@vuetify/nightly 3.5.9-dev.2024-03-26 → 3.5.9-dev.2024-03-30

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 (38) hide show
  1. package/CHANGELOG.md +5 -2
  2. package/dist/json/attributes.json +43 -7
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/importMap.json +110 -110
  5. package/dist/json/tags.json +9 -0
  6. package/dist/json/web-types.json +101 -14
  7. package/dist/vuetify-labs.css +2027 -2025
  8. package/dist/vuetify-labs.d.ts +130 -19
  9. package/dist/vuetify-labs.esm.js +162 -138
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +162 -138
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +336 -334
  14. package/dist/vuetify.d.ts +163 -52
  15. package/dist/vuetify.esm.js +162 -138
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +162 -138
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +189 -189
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
  23. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  24. package/lib/components/VDatePicker/VDatePickerMonth.mjs +64 -42
  25. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  26. package/lib/components/VDatePicker/index.d.mts +60 -0
  27. package/lib/components/VTimeline/VTimeline.mjs +12 -6
  28. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  29. package/lib/components/VTimeline/index.d.mts +70 -19
  30. package/lib/components/index.d.mts +130 -19
  31. package/lib/entry-bundler.mjs +1 -1
  32. package/lib/framework.mjs +1 -1
  33. package/lib/index.d.mts +33 -33
  34. package/lib/labs/VPicker/VPicker.css +2 -0
  35. package/lib/labs/VPicker/VPicker.sass +2 -0
  36. package/lib/styles/generic/_transitions.scss +4 -4
  37. package/lib/styles/main.css +4 -4
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.5.9-dev.2024-03-26
2
+ * Vuetify v3.5.9-dev.2024-03-30
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -18948,7 +18948,7 @@ const VDataTableFooter = genericComponent()({
18948
18948
  }
18949
18949
  return {
18950
18950
  ...option,
18951
- title: t(option.title)
18951
+ title: !isNaN(Number(option.title)) ? option.title : t(option.title)
18952
18952
  };
18953
18953
  }));
18954
18954
  useRender(() => {
@@ -20998,6 +20998,14 @@ const makeVDatePickerMonthProps = propsFactory({
20998
20998
  hideWeekdays: Boolean,
20999
20999
  multiple: [Boolean, Number, String],
21000
21000
  showWeek: Boolean,
21001
+ transition: {
21002
+ type: String,
21003
+ default: 'picker-transition'
21004
+ },
21005
+ reverseTransition: {
21006
+ type: String,
21007
+ default: 'picker-reverse-transition'
21008
+ },
21001
21009
  ...makeCalendarProps()
21002
21010
  }, 'VDatePickerMonth');
21003
21011
  const VDatePickerMonth = genericComponent()({
@@ -21022,6 +21030,10 @@ const VDatePickerMonth = genericComponent()({
21022
21030
  const adapter = useDate();
21023
21031
  const rangeStart = shallowRef();
21024
21032
  const rangeStop = shallowRef();
21033
+ const isReverse = shallowRef(false);
21034
+ const transition = computed(() => {
21035
+ return !isReverse.value ? props.transition : props.reverseTransition;
21036
+ });
21025
21037
  if (props.multiple === 'range' && model.value.length > 0) {
21026
21038
  rangeStart.value = model.value[0];
21027
21039
  if (model.value.length > 1) {
@@ -21032,6 +21044,10 @@ const VDatePickerMonth = genericComponent()({
21032
21044
  const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity;
21033
21045
  return model.value.length >= max;
21034
21046
  });
21047
+ watch(daysInMonth, (val, oldVal) => {
21048
+ if (!oldVal) return;
21049
+ isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date);
21050
+ });
21035
21051
  function onRangeClick(value) {
21036
21052
  const _value = adapter.startOfDay(value);
21037
21053
  if (!rangeStart.value) {
@@ -21091,48 +21107,53 @@ const VDatePickerMonth = genericComponent()({
21091
21107
  "class": "v-date-picker-month__day"
21092
21108
  }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createVNode("div", {
21093
21109
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
21094
- }, [week]))]), createVNode("div", {
21095
- "ref": daysRef,
21096
- "class": "v-date-picker-month__days"
21097
- }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
21098
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
21099
- }, [weekDay])), daysInMonth.value.map((item, i) => {
21100
- const slotProps = {
21101
- props: {
21102
- onClick: () => onClick(item.date)
21103
- },
21104
- item,
21105
- i
21106
- };
21107
- if (atMax.value && !item.isSelected) {
21108
- item.isDisabled = true;
21109
- }
21110
- return createVNode("div", {
21111
- "class": ['v-date-picker-month__day', {
21112
- 'v-date-picker-month__day--adjacent': item.isAdjacent,
21113
- 'v-date-picker-month__day--hide-adjacent': item.isHidden,
21114
- 'v-date-picker-month__day--selected': item.isSelected,
21115
- 'v-date-picker-month__day--week-end': item.isWeekEnd,
21116
- 'v-date-picker-month__day--week-start': item.isWeekStart
21117
- }],
21118
- "data-v-date": !item.isDisabled ? item.isoDate : undefined
21119
- }, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(VDefaultsProvider, {
21120
- "defaults": {
21121
- VBtn: {
21122
- class: 'v-date-picker-month__day-btn',
21123
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
21124
- disabled: item.isDisabled,
21125
- icon: true,
21126
- ripple: false,
21127
- text: item.localized,
21128
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
21110
+ }, [week]))]), createVNode(MaybeTransition, {
21111
+ "name": transition.value
21112
+ }, {
21113
+ default: () => [createVNode("div", {
21114
+ "ref": daysRef,
21115
+ "key": daysInMonth.value[0].date.toString(),
21116
+ "class": "v-date-picker-month__days"
21117
+ }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
21118
+ "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
21119
+ }, [weekDay])), daysInMonth.value.map((item, i) => {
21120
+ const slotProps = {
21121
+ props: {
21129
21122
  onClick: () => onClick(item.date)
21130
- }
21123
+ },
21124
+ item,
21125
+ i
21126
+ };
21127
+ if (atMax.value && !item.isSelected) {
21128
+ item.isDisabled = true;
21131
21129
  }
21132
- }, {
21133
- default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
21134
- })]);
21135
- })])]);
21130
+ return createVNode("div", {
21131
+ "class": ['v-date-picker-month__day', {
21132
+ 'v-date-picker-month__day--adjacent': item.isAdjacent,
21133
+ 'v-date-picker-month__day--hide-adjacent': item.isHidden,
21134
+ 'v-date-picker-month__day--selected': item.isSelected,
21135
+ 'v-date-picker-month__day--week-end': item.isWeekEnd,
21136
+ 'v-date-picker-month__day--week-start': item.isWeekStart
21137
+ }],
21138
+ "data-v-date": !item.isDisabled ? item.isoDate : undefined
21139
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(VDefaultsProvider, {
21140
+ "defaults": {
21141
+ VBtn: {
21142
+ class: 'v-date-picker-month__day-btn',
21143
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
21144
+ disabled: item.isDisabled,
21145
+ icon: true,
21146
+ ripple: false,
21147
+ text: item.localized,
21148
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
21149
+ onClick: () => onClick(item.date)
21150
+ }
21151
+ }
21152
+ }, {
21153
+ default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
21154
+ })]);
21155
+ })])]
21156
+ })]);
21136
21157
  }
21137
21158
  });
21138
21159
 
@@ -25506,100 +25527,6 @@ const VThemeProvider = genericComponent()({
25506
25527
  }
25507
25528
  });
25508
25529
 
25509
- // Types
25510
-
25511
- const makeVTimelineProps = propsFactory({
25512
- align: {
25513
- type: String,
25514
- default: 'center',
25515
- validator: v => ['center', 'start'].includes(v)
25516
- },
25517
- direction: {
25518
- type: String,
25519
- default: 'vertical',
25520
- validator: v => ['vertical', 'horizontal'].includes(v)
25521
- },
25522
- justify: {
25523
- type: String,
25524
- default: 'auto',
25525
- validator: v => ['auto', 'center'].includes(v)
25526
- },
25527
- side: {
25528
- type: String,
25529
- validator: v => v == null || ['start', 'end'].includes(v)
25530
- },
25531
- lineInset: {
25532
- type: [String, Number],
25533
- default: 0
25534
- },
25535
- lineThickness: {
25536
- type: [String, Number],
25537
- default: 2
25538
- },
25539
- lineColor: String,
25540
- truncateLine: {
25541
- type: String,
25542
- validator: v => ['start', 'end', 'both'].includes(v)
25543
- },
25544
- ...makeComponentProps(),
25545
- ...makeDensityProps(),
25546
- ...makeTagProps(),
25547
- ...makeThemeProps()
25548
- }, 'VTimeline');
25549
- const VTimeline = genericComponent()({
25550
- name: 'VTimeline',
25551
- props: makeVTimelineProps(),
25552
- setup(props, _ref) {
25553
- let {
25554
- slots
25555
- } = _ref;
25556
- const {
25557
- themeClasses
25558
- } = provideTheme(props);
25559
- const {
25560
- densityClasses
25561
- } = useDensity(props);
25562
- const {
25563
- rtlClasses
25564
- } = useRtl();
25565
- provideDefaults({
25566
- VTimelineDivider: {
25567
- lineColor: toRef(props, 'lineColor')
25568
- },
25569
- VTimelineItem: {
25570
- density: toRef(props, 'density'),
25571
- lineInset: toRef(props, 'lineInset')
25572
- }
25573
- });
25574
- const sideClasses = computed(() => {
25575
- const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;
25576
- return side && `v-timeline--side-${side}`;
25577
- });
25578
- const truncateClasses = computed(() => {
25579
- const classes = ['v-timeline--truncate-line-start', 'v-timeline--truncate-line-end'];
25580
- switch (props.truncateLine) {
25581
- case 'both':
25582
- return classes;
25583
- case 'start':
25584
- return classes[0];
25585
- case 'end':
25586
- return classes[1];
25587
- default:
25588
- return null;
25589
- }
25590
- });
25591
- useRender(() => createVNode(props.tag, {
25592
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
25593
- 'v-timeline--inset-line': !!props.lineInset
25594
- }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
25595
- "style": [{
25596
- '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
25597
- }, props.style]
25598
- }, slots));
25599
- return {};
25600
- }
25601
- });
25602
-
25603
25530
  const makeVTimelineDividerProps = propsFactory({
25604
25531
  dotColor: String,
25605
25532
  fillDot: Boolean,
@@ -25746,6 +25673,103 @@ const VTimelineItem = genericComponent()({
25746
25673
  }
25747
25674
  });
25748
25675
 
25676
+ const makeVTimelineProps = propsFactory({
25677
+ align: {
25678
+ type: String,
25679
+ default: 'center',
25680
+ validator: v => ['center', 'start'].includes(v)
25681
+ },
25682
+ direction: {
25683
+ type: String,
25684
+ default: 'vertical',
25685
+ validator: v => ['vertical', 'horizontal'].includes(v)
25686
+ },
25687
+ justify: {
25688
+ type: String,
25689
+ default: 'auto',
25690
+ validator: v => ['auto', 'center'].includes(v)
25691
+ },
25692
+ side: {
25693
+ type: String,
25694
+ validator: v => v == null || ['start', 'end'].includes(v)
25695
+ },
25696
+ lineThickness: {
25697
+ type: [String, Number],
25698
+ default: 2
25699
+ },
25700
+ lineColor: String,
25701
+ truncateLine: {
25702
+ type: String,
25703
+ validator: v => ['start', 'end', 'both'].includes(v)
25704
+ },
25705
+ ...only(makeVTimelineItemProps({
25706
+ lineInset: 0
25707
+ }), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),
25708
+ ...makeComponentProps(),
25709
+ ...makeDensityProps(),
25710
+ ...makeTagProps(),
25711
+ ...makeThemeProps()
25712
+ }, 'VTimeline');
25713
+ const VTimeline = genericComponent()({
25714
+ name: 'VTimeline',
25715
+ props: makeVTimelineProps(),
25716
+ setup(props, _ref) {
25717
+ let {
25718
+ slots
25719
+ } = _ref;
25720
+ const {
25721
+ themeClasses
25722
+ } = provideTheme(props);
25723
+ const {
25724
+ densityClasses
25725
+ } = useDensity(props);
25726
+ const {
25727
+ rtlClasses
25728
+ } = useRtl();
25729
+ provideDefaults({
25730
+ VTimelineDivider: {
25731
+ lineColor: toRef(props, 'lineColor')
25732
+ },
25733
+ VTimelineItem: {
25734
+ density: toRef(props, 'density'),
25735
+ dotColor: toRef(props, 'lineColor'),
25736
+ fillDot: toRef(props, 'fillDot'),
25737
+ hideOpposite: toRef(props, 'hideOpposite'),
25738
+ iconColor: toRef(props, 'iconColor'),
25739
+ lineColor: toRef(props, 'lineColor'),
25740
+ lineInset: toRef(props, 'lineInset'),
25741
+ size: toRef(props, 'size')
25742
+ }
25743
+ });
25744
+ const sideClasses = computed(() => {
25745
+ const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;
25746
+ return side && `v-timeline--side-${side}`;
25747
+ });
25748
+ const truncateClasses = computed(() => {
25749
+ const classes = ['v-timeline--truncate-line-start', 'v-timeline--truncate-line-end'];
25750
+ switch (props.truncateLine) {
25751
+ case 'both':
25752
+ return classes;
25753
+ case 'start':
25754
+ return classes[0];
25755
+ case 'end':
25756
+ return classes[1];
25757
+ default:
25758
+ return null;
25759
+ }
25760
+ });
25761
+ useRender(() => createVNode(props.tag, {
25762
+ "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
25763
+ 'v-timeline--inset-line': !!props.lineInset
25764
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
25765
+ "style": [{
25766
+ '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
25767
+ }, props.style]
25768
+ }, slots));
25769
+ return {};
25770
+ }
25771
+ });
25772
+
25749
25773
  const makeVToolbarItemsProps = propsFactory({
25750
25774
  ...makeComponentProps(),
25751
25775
  ...makeVariantProps({
@@ -26256,7 +26280,7 @@ function createVuetify$1() {
26256
26280
  goTo
26257
26281
  };
26258
26282
  }
26259
- const version$1 = "3.5.9-dev.2024-03-26";
26283
+ const version$1 = "3.5.9-dev.2024-03-30";
26260
26284
  createVuetify$1.version = version$1;
26261
26285
 
26262
26286
  // Vue's inject() can only be used in setup
@@ -26281,7 +26305,7 @@ const createVuetify = function () {
26281
26305
  ...options
26282
26306
  });
26283
26307
  };
26284
- const version = "3.5.9-dev.2024-03-26";
26308
+ const version = "3.5.9-dev.2024-03-30";
26285
26309
  createVuetify.version = version;
26286
26310
 
26287
26311
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };