@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
  */
@@ -18715,7 +18715,7 @@ const VDataTableFooter = genericComponent()({
18715
18715
  }
18716
18716
  return {
18717
18717
  ...option,
18718
- title: t(option.title)
18718
+ title: !isNaN(Number(option.title)) ? option.title : t(option.title)
18719
18719
  };
18720
18720
  }));
18721
18721
  useRender(() => {
@@ -20765,6 +20765,14 @@ const makeVDatePickerMonthProps = propsFactory({
20765
20765
  hideWeekdays: Boolean,
20766
20766
  multiple: [Boolean, Number, String],
20767
20767
  showWeek: Boolean,
20768
+ transition: {
20769
+ type: String,
20770
+ default: 'picker-transition'
20771
+ },
20772
+ reverseTransition: {
20773
+ type: String,
20774
+ default: 'picker-reverse-transition'
20775
+ },
20768
20776
  ...makeCalendarProps()
20769
20777
  }, 'VDatePickerMonth');
20770
20778
  const VDatePickerMonth = genericComponent()({
@@ -20789,6 +20797,10 @@ const VDatePickerMonth = genericComponent()({
20789
20797
  const adapter = useDate();
20790
20798
  const rangeStart = shallowRef();
20791
20799
  const rangeStop = shallowRef();
20800
+ const isReverse = shallowRef(false);
20801
+ const transition = computed(() => {
20802
+ return !isReverse.value ? props.transition : props.reverseTransition;
20803
+ });
20792
20804
  if (props.multiple === 'range' && model.value.length > 0) {
20793
20805
  rangeStart.value = model.value[0];
20794
20806
  if (model.value.length > 1) {
@@ -20799,6 +20811,10 @@ const VDatePickerMonth = genericComponent()({
20799
20811
  const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity;
20800
20812
  return model.value.length >= max;
20801
20813
  });
20814
+ watch(daysInMonth, (val, oldVal) => {
20815
+ if (!oldVal) return;
20816
+ isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date);
20817
+ });
20802
20818
  function onRangeClick(value) {
20803
20819
  const _value = adapter.startOfDay(value);
20804
20820
  if (!rangeStart.value) {
@@ -20858,48 +20874,53 @@ const VDatePickerMonth = genericComponent()({
20858
20874
  "class": "v-date-picker-month__day"
20859
20875
  }, [createTextVNode("\xA0")]), weekNumbers.value.map(week => createVNode("div", {
20860
20876
  "class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
20861
- }, [week]))]), createVNode("div", {
20862
- "ref": daysRef,
20863
- "class": "v-date-picker-month__days"
20864
- }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
20865
- "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
20866
- }, [weekDay])), daysInMonth.value.map((item, i) => {
20867
- const slotProps = {
20868
- props: {
20869
- onClick: () => onClick(item.date)
20870
- },
20871
- item,
20872
- i
20873
- };
20874
- if (atMax.value && !item.isSelected) {
20875
- item.isDisabled = true;
20876
- }
20877
- return createVNode("div", {
20878
- "class": ['v-date-picker-month__day', {
20879
- 'v-date-picker-month__day--adjacent': item.isAdjacent,
20880
- 'v-date-picker-month__day--hide-adjacent': item.isHidden,
20881
- 'v-date-picker-month__day--selected': item.isSelected,
20882
- 'v-date-picker-month__day--week-end': item.isWeekEnd,
20883
- 'v-date-picker-month__day--week-start': item.isWeekStart
20884
- }],
20885
- "data-v-date": !item.isDisabled ? item.isoDate : undefined
20886
- }, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(VDefaultsProvider, {
20887
- "defaults": {
20888
- VBtn: {
20889
- class: 'v-date-picker-month__day-btn',
20890
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
20891
- disabled: item.isDisabled,
20892
- icon: true,
20893
- ripple: false,
20894
- text: item.localized,
20895
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20877
+ }, [week]))]), createVNode(MaybeTransition, {
20878
+ "name": transition.value
20879
+ }, {
20880
+ default: () => [createVNode("div", {
20881
+ "ref": daysRef,
20882
+ "key": daysInMonth.value[0].date.toString(),
20883
+ "class": "v-date-picker-month__days"
20884
+ }, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => createVNode("div", {
20885
+ "class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
20886
+ }, [weekDay])), daysInMonth.value.map((item, i) => {
20887
+ const slotProps = {
20888
+ props: {
20896
20889
  onClick: () => onClick(item.date)
20897
- }
20890
+ },
20891
+ item,
20892
+ i
20893
+ };
20894
+ if (atMax.value && !item.isSelected) {
20895
+ item.isDisabled = true;
20898
20896
  }
20899
- }, {
20900
- default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
20901
- })]);
20902
- })])]);
20897
+ return createVNode("div", {
20898
+ "class": ['v-date-picker-month__day', {
20899
+ 'v-date-picker-month__day--adjacent': item.isAdjacent,
20900
+ 'v-date-picker-month__day--hide-adjacent': item.isHidden,
20901
+ 'v-date-picker-month__day--selected': item.isSelected,
20902
+ 'v-date-picker-month__day--week-end': item.isWeekEnd,
20903
+ 'v-date-picker-month__day--week-start': item.isWeekStart
20904
+ }],
20905
+ "data-v-date": !item.isDisabled ? item.isoDate : undefined
20906
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(VDefaultsProvider, {
20907
+ "defaults": {
20908
+ VBtn: {
20909
+ class: 'v-date-picker-month__day-btn',
20910
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
20911
+ disabled: item.isDisabled,
20912
+ icon: true,
20913
+ ripple: false,
20914
+ text: item.localized,
20915
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20916
+ onClick: () => onClick(item.date)
20917
+ }
20918
+ }
20919
+ }, {
20920
+ default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
20921
+ })]);
20922
+ })])]
20923
+ })]);
20903
20924
  }
20904
20925
  });
20905
20926
 
@@ -25273,100 +25294,6 @@ const VThemeProvider = genericComponent()({
25273
25294
  }
25274
25295
  });
25275
25296
 
25276
- // Types
25277
-
25278
- const makeVTimelineProps = propsFactory({
25279
- align: {
25280
- type: String,
25281
- default: 'center',
25282
- validator: v => ['center', 'start'].includes(v)
25283
- },
25284
- direction: {
25285
- type: String,
25286
- default: 'vertical',
25287
- validator: v => ['vertical', 'horizontal'].includes(v)
25288
- },
25289
- justify: {
25290
- type: String,
25291
- default: 'auto',
25292
- validator: v => ['auto', 'center'].includes(v)
25293
- },
25294
- side: {
25295
- type: String,
25296
- validator: v => v == null || ['start', 'end'].includes(v)
25297
- },
25298
- lineInset: {
25299
- type: [String, Number],
25300
- default: 0
25301
- },
25302
- lineThickness: {
25303
- type: [String, Number],
25304
- default: 2
25305
- },
25306
- lineColor: String,
25307
- truncateLine: {
25308
- type: String,
25309
- validator: v => ['start', 'end', 'both'].includes(v)
25310
- },
25311
- ...makeComponentProps(),
25312
- ...makeDensityProps(),
25313
- ...makeTagProps(),
25314
- ...makeThemeProps()
25315
- }, 'VTimeline');
25316
- const VTimeline = genericComponent()({
25317
- name: 'VTimeline',
25318
- props: makeVTimelineProps(),
25319
- setup(props, _ref) {
25320
- let {
25321
- slots
25322
- } = _ref;
25323
- const {
25324
- themeClasses
25325
- } = provideTheme(props);
25326
- const {
25327
- densityClasses
25328
- } = useDensity(props);
25329
- const {
25330
- rtlClasses
25331
- } = useRtl();
25332
- provideDefaults({
25333
- VTimelineDivider: {
25334
- lineColor: toRef(props, 'lineColor')
25335
- },
25336
- VTimelineItem: {
25337
- density: toRef(props, 'density'),
25338
- lineInset: toRef(props, 'lineInset')
25339
- }
25340
- });
25341
- const sideClasses = computed(() => {
25342
- const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;
25343
- return side && `v-timeline--side-${side}`;
25344
- });
25345
- const truncateClasses = computed(() => {
25346
- const classes = ['v-timeline--truncate-line-start', 'v-timeline--truncate-line-end'];
25347
- switch (props.truncateLine) {
25348
- case 'both':
25349
- return classes;
25350
- case 'start':
25351
- return classes[0];
25352
- case 'end':
25353
- return classes[1];
25354
- default:
25355
- return null;
25356
- }
25357
- });
25358
- useRender(() => createVNode(props.tag, {
25359
- "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
25360
- 'v-timeline--inset-line': !!props.lineInset
25361
- }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
25362
- "style": [{
25363
- '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
25364
- }, props.style]
25365
- }, slots));
25366
- return {};
25367
- }
25368
- });
25369
-
25370
25297
  const makeVTimelineDividerProps = propsFactory({
25371
25298
  dotColor: String,
25372
25299
  fillDot: Boolean,
@@ -25513,6 +25440,103 @@ const VTimelineItem = genericComponent()({
25513
25440
  }
25514
25441
  });
25515
25442
 
25443
+ const makeVTimelineProps = propsFactory({
25444
+ align: {
25445
+ type: String,
25446
+ default: 'center',
25447
+ validator: v => ['center', 'start'].includes(v)
25448
+ },
25449
+ direction: {
25450
+ type: String,
25451
+ default: 'vertical',
25452
+ validator: v => ['vertical', 'horizontal'].includes(v)
25453
+ },
25454
+ justify: {
25455
+ type: String,
25456
+ default: 'auto',
25457
+ validator: v => ['auto', 'center'].includes(v)
25458
+ },
25459
+ side: {
25460
+ type: String,
25461
+ validator: v => v == null || ['start', 'end'].includes(v)
25462
+ },
25463
+ lineThickness: {
25464
+ type: [String, Number],
25465
+ default: 2
25466
+ },
25467
+ lineColor: String,
25468
+ truncateLine: {
25469
+ type: String,
25470
+ validator: v => ['start', 'end', 'both'].includes(v)
25471
+ },
25472
+ ...only(makeVTimelineItemProps({
25473
+ lineInset: 0
25474
+ }), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),
25475
+ ...makeComponentProps(),
25476
+ ...makeDensityProps(),
25477
+ ...makeTagProps(),
25478
+ ...makeThemeProps()
25479
+ }, 'VTimeline');
25480
+ const VTimeline = genericComponent()({
25481
+ name: 'VTimeline',
25482
+ props: makeVTimelineProps(),
25483
+ setup(props, _ref) {
25484
+ let {
25485
+ slots
25486
+ } = _ref;
25487
+ const {
25488
+ themeClasses
25489
+ } = provideTheme(props);
25490
+ const {
25491
+ densityClasses
25492
+ } = useDensity(props);
25493
+ const {
25494
+ rtlClasses
25495
+ } = useRtl();
25496
+ provideDefaults({
25497
+ VTimelineDivider: {
25498
+ lineColor: toRef(props, 'lineColor')
25499
+ },
25500
+ VTimelineItem: {
25501
+ density: toRef(props, 'density'),
25502
+ dotColor: toRef(props, 'lineColor'),
25503
+ fillDot: toRef(props, 'fillDot'),
25504
+ hideOpposite: toRef(props, 'hideOpposite'),
25505
+ iconColor: toRef(props, 'iconColor'),
25506
+ lineColor: toRef(props, 'lineColor'),
25507
+ lineInset: toRef(props, 'lineInset'),
25508
+ size: toRef(props, 'size')
25509
+ }
25510
+ });
25511
+ const sideClasses = computed(() => {
25512
+ const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;
25513
+ return side && `v-timeline--side-${side}`;
25514
+ });
25515
+ const truncateClasses = computed(() => {
25516
+ const classes = ['v-timeline--truncate-line-start', 'v-timeline--truncate-line-end'];
25517
+ switch (props.truncateLine) {
25518
+ case 'both':
25519
+ return classes;
25520
+ case 'start':
25521
+ return classes[0];
25522
+ case 'end':
25523
+ return classes[1];
25524
+ default:
25525
+ return null;
25526
+ }
25527
+ });
25528
+ useRender(() => createVNode(props.tag, {
25529
+ "class": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {
25530
+ 'v-timeline--inset-line': !!props.lineInset
25531
+ }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],
25532
+ "style": [{
25533
+ '--v-timeline-line-thickness': convertToUnit(props.lineThickness)
25534
+ }, props.style]
25535
+ }, slots));
25536
+ return {};
25537
+ }
25538
+ });
25539
+
25516
25540
  const makeVToolbarItemsProps = propsFactory({
25517
25541
  ...makeComponentProps(),
25518
25542
  ...makeVariantProps({
@@ -27668,7 +27692,7 @@ function createVuetify$1() {
27668
27692
  goTo
27669
27693
  };
27670
27694
  }
27671
- const version$1 = "3.5.9-dev.2024-03-26";
27695
+ const version$1 = "3.5.9-dev.2024-03-30";
27672
27696
  createVuetify$1.version = version$1;
27673
27697
 
27674
27698
  // Vue's inject() can only be used in setup
@@ -27921,7 +27945,7 @@ var index = /*#__PURE__*/Object.freeze({
27921
27945
 
27922
27946
  /* eslint-disable local-rules/sort-imports */
27923
27947
 
27924
- const version = "3.5.9-dev.2024-03-26";
27948
+ const version = "3.5.9-dev.2024-03-30";
27925
27949
 
27926
27950
  /* eslint-disable local-rules/sort-imports */
27927
27951