vuetify 3.4.7 → 3.4.9

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 (210) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +300 -40
  3. package/dist/json/importMap-labs.json +24 -0
  4. package/dist/json/importMap.json +134 -134
  5. package/dist/json/tags.json +95 -0
  6. package/dist/json/web-types.json +910 -59
  7. package/dist/vuetify-labs.css +2402 -2052
  8. package/dist/vuetify-labs.d.ts +1660 -31
  9. package/dist/vuetify-labs.esm.js +733 -106
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +733 -106
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +810 -807
  14. package/dist/vuetify.d.ts +119 -74
  15. package/dist/vuetify.esm.js +242 -106
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +242 -106
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +235 -215
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/blueprints/index.d.mts +9 -0
  23. package/lib/blueprints/md1.d.mts +9 -0
  24. package/lib/blueprints/md2.d.mts +9 -0
  25. package/lib/blueprints/md3.d.mts +9 -0
  26. package/lib/components/VDataTable/VDataTableFooter.mjs +1 -1
  27. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  28. package/lib/components/VDatePicker/VDatePicker.mjs +4 -1
  29. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -99
  31. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  32. package/lib/components/VDatePicker/index.d.mts +42 -30
  33. package/lib/components/VOtpInput/VOtpInput.css +3 -0
  34. package/lib/components/VOtpInput/VOtpInput.mjs +1 -0
  35. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  36. package/lib/components/VOtpInput/VOtpInput.sass +3 -0
  37. package/lib/components/VOverlay/VOverlay.mjs +11 -6
  38. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  39. package/lib/components/index.d.mts +42 -30
  40. package/lib/composables/calendar.mjs +128 -0
  41. package/lib/composables/calendar.mjs.map +1 -0
  42. package/lib/composables/date/DateAdapter.mjs.map +1 -1
  43. package/lib/composables/date/adapters/vuetify.mjs +89 -2
  44. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  45. package/lib/composables/date/date.mjs +4 -0
  46. package/lib/composables/date/date.mjs.map +1 -1
  47. package/lib/entry-bundler.mjs +1 -1
  48. package/lib/framework.mjs +1 -1
  49. package/lib/index.d.mts +77 -44
  50. package/lib/labs/VCalendar/VCalendar.css +220 -0
  51. package/lib/labs/VCalendar/VCalendar.mjs +128 -0
  52. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -0
  53. package/lib/labs/VCalendar/VCalendar.sass +168 -0
  54. package/lib/labs/VCalendar/VCalendarDay.css +10 -0
  55. package/lib/labs/VCalendar/VCalendarDay.mjs +47 -0
  56. package/lib/labs/VCalendar/VCalendarDay.mjs.map +1 -0
  57. package/lib/labs/VCalendar/VCalendarDay.sass +9 -0
  58. package/lib/labs/VCalendar/VCalendarEvent.mjs +30 -0
  59. package/lib/labs/VCalendar/VCalendarEvent.mjs.map +1 -0
  60. package/lib/labs/VCalendar/VCalendarHeader.css +14 -0
  61. package/lib/labs/VCalendar/VCalendarHeader.mjs +76 -0
  62. package/lib/labs/VCalendar/VCalendarHeader.mjs.map +1 -0
  63. package/lib/labs/VCalendar/VCalendarHeader.sass +13 -0
  64. package/lib/labs/VCalendar/VCalendarInterval.css +42 -0
  65. package/lib/labs/VCalendar/VCalendarInterval.mjs +113 -0
  66. package/lib/labs/VCalendar/VCalendarInterval.mjs.map +1 -0
  67. package/lib/labs/VCalendar/VCalendarInterval.sass +39 -0
  68. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs +76 -0
  69. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -0
  70. package/lib/labs/VCalendar/VCalendarMonthDay.css +61 -0
  71. package/lib/labs/VCalendar/VCalendarMonthDay.mjs +64 -0
  72. package/lib/labs/VCalendar/VCalendarMonthDay.mjs.map +1 -0
  73. package/lib/labs/VCalendar/VCalendarMonthDay.sass +65 -0
  74. package/lib/{components → labs}/VCalendar/_variables.scss +14 -6
  75. package/lib/labs/VCalendar/index.d.mts +1592 -0
  76. package/lib/labs/VCalendar/index.mjs +7 -0
  77. package/lib/labs/VCalendar/index.mjs.map +1 -0
  78. package/lib/labs/components.d.mts +1586 -2
  79. package/lib/labs/components.mjs +1 -0
  80. package/lib/labs/components.mjs.map +1 -1
  81. package/lib/locale/af.mjs +2 -1
  82. package/lib/locale/af.mjs.map +1 -1
  83. package/lib/locale/ar.mjs +2 -1
  84. package/lib/locale/ar.mjs.map +1 -1
  85. package/lib/locale/az.mjs +2 -1
  86. package/lib/locale/az.mjs.map +1 -1
  87. package/lib/locale/bg.mjs +2 -1
  88. package/lib/locale/bg.mjs.map +1 -1
  89. package/lib/locale/ca.mjs +2 -1
  90. package/lib/locale/ca.mjs.map +1 -1
  91. package/lib/locale/ckb.mjs +2 -1
  92. package/lib/locale/ckb.mjs.map +1 -1
  93. package/lib/locale/cs.mjs +21 -20
  94. package/lib/locale/cs.mjs.map +1 -1
  95. package/lib/locale/da.mjs +2 -1
  96. package/lib/locale/da.mjs.map +1 -1
  97. package/lib/locale/de.mjs +2 -1
  98. package/lib/locale/de.mjs.map +1 -1
  99. package/lib/locale/el.mjs +2 -1
  100. package/lib/locale/el.mjs.map +1 -1
  101. package/lib/locale/en.mjs +2 -1
  102. package/lib/locale/en.mjs.map +1 -1
  103. package/lib/locale/es.mjs +2 -1
  104. package/lib/locale/es.mjs.map +1 -1
  105. package/lib/locale/et.mjs +2 -1
  106. package/lib/locale/et.mjs.map +1 -1
  107. package/lib/locale/fa.mjs +2 -1
  108. package/lib/locale/fa.mjs.map +1 -1
  109. package/lib/locale/fi.mjs +2 -1
  110. package/lib/locale/fi.mjs.map +1 -1
  111. package/lib/locale/fr.mjs +2 -1
  112. package/lib/locale/fr.mjs.map +1 -1
  113. package/lib/locale/he.mjs +2 -1
  114. package/lib/locale/he.mjs.map +1 -1
  115. package/lib/locale/hr.mjs +2 -1
  116. package/lib/locale/hr.mjs.map +1 -1
  117. package/lib/locale/hu.mjs +2 -1
  118. package/lib/locale/hu.mjs.map +1 -1
  119. package/lib/locale/id.mjs +2 -1
  120. package/lib/locale/id.mjs.map +1 -1
  121. package/lib/locale/index.d.mts +42 -0
  122. package/lib/locale/it.mjs +2 -1
  123. package/lib/locale/it.mjs.map +1 -1
  124. package/lib/locale/ja.mjs +2 -1
  125. package/lib/locale/ja.mjs.map +1 -1
  126. package/lib/locale/ko.mjs +2 -1
  127. package/lib/locale/ko.mjs.map +1 -1
  128. package/lib/locale/lt.mjs +2 -1
  129. package/lib/locale/lt.mjs.map +1 -1
  130. package/lib/locale/lv.mjs +2 -1
  131. package/lib/locale/lv.mjs.map +1 -1
  132. package/lib/locale/nl.mjs +2 -1
  133. package/lib/locale/nl.mjs.map +1 -1
  134. package/lib/locale/no.mjs +2 -1
  135. package/lib/locale/no.mjs.map +1 -1
  136. package/lib/locale/pl.mjs +2 -1
  137. package/lib/locale/pl.mjs.map +1 -1
  138. package/lib/locale/pt.mjs +2 -1
  139. package/lib/locale/pt.mjs.map +1 -1
  140. package/lib/locale/ro.mjs +2 -1
  141. package/lib/locale/ro.mjs.map +1 -1
  142. package/lib/locale/ru.mjs +2 -1
  143. package/lib/locale/ru.mjs.map +1 -1
  144. package/lib/locale/sk.mjs +2 -1
  145. package/lib/locale/sk.mjs.map +1 -1
  146. package/lib/locale/sl.mjs +2 -1
  147. package/lib/locale/sl.mjs.map +1 -1
  148. package/lib/locale/sr-Cyrl.mjs +2 -1
  149. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  150. package/lib/locale/sr-Latn.mjs +2 -1
  151. package/lib/locale/sr-Latn.mjs.map +1 -1
  152. package/lib/locale/sv.mjs +2 -1
  153. package/lib/locale/sv.mjs.map +1 -1
  154. package/lib/locale/th.mjs +2 -1
  155. package/lib/locale/th.mjs.map +1 -1
  156. package/lib/locale/tr.mjs +2 -1
  157. package/lib/locale/tr.mjs.map +1 -1
  158. package/lib/locale/uk.mjs +2 -1
  159. package/lib/locale/uk.mjs.map +1 -1
  160. package/lib/locale/vi.mjs +2 -1
  161. package/lib/locale/vi.mjs.map +1 -1
  162. package/lib/locale/zh-Hans.mjs +2 -1
  163. package/lib/locale/zh-Hans.mjs.map +1 -1
  164. package/lib/locale/zh-Hant.mjs +2 -1
  165. package/lib/locale/zh-Hant.mjs.map +1 -1
  166. package/lib/util/helpers.mjs +6 -0
  167. package/lib/util/helpers.mjs.map +1 -1
  168. package/package.json +2 -2
  169. package/lib/components/VCalendar/VCalendar.mjs +0 -352
  170. package/lib/components/VCalendar/VCalendar.mjs.map +0 -1
  171. package/lib/components/VCalendar/VCalendarCategory.mjs +0 -124
  172. package/lib/components/VCalendar/VCalendarCategory.mjs.map +0 -1
  173. package/lib/components/VCalendar/VCalendarCategory.sass +0 -100
  174. package/lib/components/VCalendar/VCalendarDaily.mjs +0 -239
  175. package/lib/components/VCalendar/VCalendarDaily.mjs.map +0 -1
  176. package/lib/components/VCalendar/VCalendarDaily.sass +0 -140
  177. package/lib/components/VCalendar/VCalendarMonthly.mjs +0 -25
  178. package/lib/components/VCalendar/VCalendarMonthly.mjs.map +0 -1
  179. package/lib/components/VCalendar/VCalendarWeekly.mjs +0 -193
  180. package/lib/components/VCalendar/VCalendarWeekly.mjs.map +0 -1
  181. package/lib/components/VCalendar/VCalendarWeekly.sass +0 -118
  182. package/lib/components/VCalendar/index.mjs +0 -16
  183. package/lib/components/VCalendar/index.mjs.map +0 -1
  184. package/lib/components/VCalendar/mixins/calendar-base.mjs +0 -89
  185. package/lib/components/VCalendar/mixins/calendar-base.mjs.map +0 -1
  186. package/lib/components/VCalendar/mixins/calendar-with-events.mjs +0 -416
  187. package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +0 -1
  188. package/lib/components/VCalendar/mixins/calendar-with-events.sass +0 -67
  189. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs +0 -135
  190. package/lib/components/VCalendar/mixins/calendar-with-intervals.mjs.map +0 -1
  191. package/lib/components/VCalendar/mixins/mouse.mjs +0 -85
  192. package/lib/components/VCalendar/mixins/mouse.mjs.map +0 -1
  193. package/lib/components/VCalendar/mixins/times.mjs +0 -65
  194. package/lib/components/VCalendar/mixins/times.mjs.map +0 -1
  195. package/lib/components/VCalendar/modes/column.mjs +0 -18
  196. package/lib/components/VCalendar/modes/column.mjs.map +0 -1
  197. package/lib/components/VCalendar/modes/common.mjs +0 -112
  198. package/lib/components/VCalendar/modes/common.mjs.map +0 -1
  199. package/lib/components/VCalendar/modes/index.mjs +0 -9
  200. package/lib/components/VCalendar/modes/index.mjs.map +0 -1
  201. package/lib/components/VCalendar/modes/stack.mjs +0 -204
  202. package/lib/components/VCalendar/modes/stack.mjs.map +0 -1
  203. package/lib/components/VCalendar/util/events.mjs +0 -44
  204. package/lib/components/VCalendar/util/events.mjs.map +0 -1
  205. package/lib/components/VCalendar/util/parser.mjs +0 -21
  206. package/lib/components/VCalendar/util/parser.mjs.map +0 -1
  207. package/lib/components/VCalendar/util/props.mjs +0 -248
  208. package/lib/components/VCalendar/util/props.mjs.map +0 -1
  209. package/lib/components/VCalendar/util/timestamp.mjs +0 -407
  210. package/lib/components/VCalendar/util/timestamp.mjs.map +0 -1
@@ -22006,8 +22006,8 @@ declare const VDatePicker: {
22006
22006
  prevIcon: string;
22007
22007
  modeIcon: string;
22008
22008
  viewMode: "month" | "year" | "months";
22009
- hideWeekdays: boolean;
22010
22009
  showAdjacentMonths: boolean;
22010
+ hideWeekdays: boolean;
22011
22011
  showWeek: boolean;
22012
22012
  hideHeader: boolean;
22013
22013
  } & {
@@ -22033,6 +22033,7 @@ declare const VDatePicker: {
22033
22033
  rounded?: string | number | boolean | undefined;
22034
22034
  bgColor?: string | undefined;
22035
22035
  allowedDates?: Function | unknown[] | undefined;
22036
+ displayValue?: unknown;
22036
22037
  } & {
22037
22038
  "onUpdate:month"?: ((date: any) => any) | undefined;
22038
22039
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -22053,8 +22054,8 @@ declare const VDatePicker: {
22053
22054
  prevIcon: string;
22054
22055
  modeIcon: string;
22055
22056
  viewMode: "month" | "year" | "months";
22056
- hideWeekdays: boolean;
22057
22057
  showAdjacentMonths: boolean;
22058
+ hideWeekdays: boolean;
22058
22059
  showWeek: boolean;
22059
22060
  hideHeader: boolean;
22060
22061
  } & {
@@ -22080,6 +22081,7 @@ declare const VDatePicker: {
22080
22081
  rounded?: string | number | boolean | undefined;
22081
22082
  bgColor?: string | undefined;
22082
22083
  allowedDates?: Function | unknown[] | undefined;
22084
+ displayValue?: unknown;
22083
22085
  } & {
22084
22086
  "onUpdate:month"?: ((date: any) => any) | undefined;
22085
22087
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -22097,8 +22099,8 @@ declare const VDatePicker: {
22097
22099
  prevIcon: string;
22098
22100
  modeIcon: string;
22099
22101
  viewMode: "month" | "year" | "months";
22100
- hideWeekdays: boolean;
22101
22102
  showAdjacentMonths: boolean;
22103
+ hideWeekdays: boolean;
22102
22104
  showWeek: boolean;
22103
22105
  hideHeader: boolean;
22104
22106
  }, true, {}, vue.SlotsType<Partial<{
@@ -22135,8 +22137,8 @@ declare const VDatePicker: {
22135
22137
  prevIcon: string;
22136
22138
  modeIcon: string;
22137
22139
  viewMode: "month" | "year" | "months";
22138
- hideWeekdays: boolean;
22139
22140
  showAdjacentMonths: boolean;
22141
+ hideWeekdays: boolean;
22140
22142
  showWeek: boolean;
22141
22143
  hideHeader: boolean;
22142
22144
  } & {
@@ -22162,6 +22164,7 @@ declare const VDatePicker: {
22162
22164
  rounded?: string | number | boolean | undefined;
22163
22165
  bgColor?: string | undefined;
22164
22166
  allowedDates?: Function | unknown[] | undefined;
22167
+ displayValue?: unknown;
22165
22168
  } & {
22166
22169
  "onUpdate:month"?: ((date: any) => any) | undefined;
22167
22170
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -22179,8 +22182,8 @@ declare const VDatePicker: {
22179
22182
  prevIcon: string;
22180
22183
  modeIcon: string;
22181
22184
  viewMode: "month" | "year" | "months";
22182
- hideWeekdays: boolean;
22183
22185
  showAdjacentMonths: boolean;
22186
+ hideWeekdays: boolean;
22184
22187
  showWeek: boolean;
22185
22188
  hideHeader: boolean;
22186
22189
  }>;
@@ -22198,8 +22201,8 @@ declare const VDatePicker: {
22198
22201
  prevIcon: string;
22199
22202
  modeIcon: string;
22200
22203
  viewMode: "month" | "year" | "months";
22201
- hideWeekdays: boolean;
22202
22204
  showAdjacentMonths: boolean;
22205
+ hideWeekdays: boolean;
22203
22206
  showWeek: boolean;
22204
22207
  hideHeader: boolean;
22205
22208
  } & {
@@ -22225,6 +22228,7 @@ declare const VDatePicker: {
22225
22228
  rounded?: string | number | boolean | undefined;
22226
22229
  bgColor?: string | undefined;
22227
22230
  allowedDates?: Function | unknown[] | undefined;
22231
+ displayValue?: unknown;
22228
22232
  } & {
22229
22233
  "onUpdate:month"?: ((date: any) => any) | undefined;
22230
22234
  "onUpdate:year"?: ((date: any) => any) | undefined;
@@ -22247,8 +22251,8 @@ declare const VDatePicker: {
22247
22251
  prevIcon: string;
22248
22252
  modeIcon: string;
22249
22253
  viewMode: "month" | "year" | "months";
22250
- hideWeekdays: boolean;
22251
22254
  showAdjacentMonths: boolean;
22255
+ hideWeekdays: boolean;
22252
22256
  showWeek: boolean;
22253
22257
  hideHeader: boolean;
22254
22258
  }, {}, string, vue.SlotsType<Partial<{
@@ -22319,12 +22323,13 @@ declare const VDatePicker: {
22319
22323
  min: vue.PropType<unknown>;
22320
22324
  allowedDates: (FunctionConstructor | ArrayConstructor)[];
22321
22325
  disabled: BooleanConstructor;
22326
+ displayValue: vue.PropType<unknown>;
22322
22327
  month: (StringConstructor | NumberConstructor)[];
22328
+ showAdjacentMonths: BooleanConstructor;
22329
+ year: (StringConstructor | NumberConstructor)[];
22323
22330
  hideWeekdays: BooleanConstructor;
22324
22331
  multiple: BooleanConstructor;
22325
- showAdjacentMonths: BooleanConstructor;
22326
22332
  showWeek: BooleanConstructor;
22327
- year: (StringConstructor | NumberConstructor)[];
22328
22333
  active: {
22329
22334
  type: vue.PropType<string | string[]>;
22330
22335
  default: undefined;
@@ -22394,12 +22399,13 @@ declare const VDatePicker: {
22394
22399
  min: vue.PropType<unknown>;
22395
22400
  allowedDates: (FunctionConstructor | ArrayConstructor)[];
22396
22401
  disabled: BooleanConstructor;
22402
+ displayValue: vue.PropType<unknown>;
22397
22403
  month: (StringConstructor | NumberConstructor)[];
22404
+ showAdjacentMonths: BooleanConstructor;
22405
+ year: (StringConstructor | NumberConstructor)[];
22398
22406
  hideWeekdays: BooleanConstructor;
22399
22407
  multiple: BooleanConstructor;
22400
- showAdjacentMonths: BooleanConstructor;
22401
22408
  showWeek: BooleanConstructor;
22402
- year: (StringConstructor | NumberConstructor)[];
22403
22409
  active: {
22404
22410
  type: vue.PropType<string | string[]>;
22405
22411
  default: undefined;
@@ -22785,8 +22791,8 @@ declare const VDatePickerMonth: {
22785
22791
  new (...args: any[]): vue.CreateComponentPublicInstance<{
22786
22792
  disabled: boolean;
22787
22793
  multiple: boolean;
22788
- hideWeekdays: boolean;
22789
22794
  showAdjacentMonths: boolean;
22795
+ hideWeekdays: boolean;
22790
22796
  showWeek: boolean;
22791
22797
  } & {
22792
22798
  max?: unknown;
@@ -22796,6 +22802,7 @@ declare const VDatePickerMonth: {
22796
22802
  year?: string | number | undefined;
22797
22803
  modelValue?: unknown[] | undefined;
22798
22804
  allowedDates?: Function | unknown[] | undefined;
22805
+ displayValue?: unknown;
22799
22806
  } & {
22800
22807
  $children?: {} | vue.VNodeChild | {
22801
22808
  day?: ((arg: {
@@ -22834,8 +22841,8 @@ declare const VDatePickerMonth: {
22834
22841
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
22835
22842
  disabled: boolean;
22836
22843
  multiple: boolean;
22837
- hideWeekdays: boolean;
22838
22844
  showAdjacentMonths: boolean;
22845
+ hideWeekdays: boolean;
22839
22846
  showWeek: boolean;
22840
22847
  } & {
22841
22848
  max?: unknown;
@@ -22845,6 +22852,7 @@ declare const VDatePickerMonth: {
22845
22852
  year?: string | number | undefined;
22846
22853
  modelValue?: unknown[] | undefined;
22847
22854
  allowedDates?: Function | unknown[] | undefined;
22855
+ displayValue?: unknown;
22848
22856
  } & {
22849
22857
  $children?: {} | vue.VNodeChild | {
22850
22858
  day?: ((arg: {
@@ -22879,8 +22887,8 @@ declare const VDatePickerMonth: {
22879
22887
  }, {
22880
22888
  disabled: boolean;
22881
22889
  multiple: boolean;
22882
- hideWeekdays: boolean;
22883
22890
  showAdjacentMonths: boolean;
22891
+ hideWeekdays: boolean;
22884
22892
  showWeek: boolean;
22885
22893
  }, true, {}, vue.SlotsType<Partial<{
22886
22894
  day: (arg: {
@@ -22902,8 +22910,8 @@ declare const VDatePickerMonth: {
22902
22910
  }, {
22903
22911
  disabled: boolean;
22904
22912
  multiple: boolean;
22905
- hideWeekdays: boolean;
22906
22913
  showAdjacentMonths: boolean;
22914
+ hideWeekdays: boolean;
22907
22915
  showWeek: boolean;
22908
22916
  } & {
22909
22917
  max?: unknown;
@@ -22913,6 +22921,7 @@ declare const VDatePickerMonth: {
22913
22921
  year?: string | number | undefined;
22914
22922
  modelValue?: unknown[] | undefined;
22915
22923
  allowedDates?: Function | unknown[] | undefined;
22924
+ displayValue?: unknown;
22916
22925
  } & {
22917
22926
  $children?: {} | vue.VNodeChild | {
22918
22927
  day?: ((arg: {
@@ -22947,8 +22956,8 @@ declare const VDatePickerMonth: {
22947
22956
  }, () => JSX.Element, {}, {}, {}, {
22948
22957
  disabled: boolean;
22949
22958
  multiple: boolean;
22950
- hideWeekdays: boolean;
22951
22959
  showAdjacentMonths: boolean;
22960
+ hideWeekdays: boolean;
22952
22961
  showWeek: boolean;
22953
22962
  }>;
22954
22963
  __isFragment?: undefined;
@@ -22957,8 +22966,8 @@ declare const VDatePickerMonth: {
22957
22966
  } & vue.ComponentOptionsBase<{
22958
22967
  disabled: boolean;
22959
22968
  multiple: boolean;
22960
- hideWeekdays: boolean;
22961
22969
  showAdjacentMonths: boolean;
22970
+ hideWeekdays: boolean;
22962
22971
  showWeek: boolean;
22963
22972
  } & {
22964
22973
  max?: unknown;
@@ -22968,6 +22977,7 @@ declare const VDatePickerMonth: {
22968
22977
  year?: string | number | undefined;
22969
22978
  modelValue?: unknown[] | undefined;
22970
22979
  allowedDates?: Function | unknown[] | undefined;
22980
+ displayValue?: unknown;
22971
22981
  } & {
22972
22982
  $children?: {} | vue.VNodeChild | {
22973
22983
  day?: ((arg: {
@@ -23006,8 +23016,8 @@ declare const VDatePickerMonth: {
23006
23016
  }, string, {
23007
23017
  disabled: boolean;
23008
23018
  multiple: boolean;
23009
- hideWeekdays: boolean;
23010
23019
  showAdjacentMonths: boolean;
23020
+ hideWeekdays: boolean;
23011
23021
  showWeek: boolean;
23012
23022
  }, {}, string, vue.SlotsType<Partial<{
23013
23023
  day: (arg: {
@@ -23022,29 +23032,31 @@ declare const VDatePickerMonth: {
23022
23032
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
23023
23033
  allowedDates: (FunctionConstructor | ArrayConstructor)[];
23024
23034
  disabled: BooleanConstructor;
23025
- color: StringConstructor;
23035
+ displayValue: vue.PropType<unknown>;
23036
+ modelValue: vue.PropType<unknown[] | undefined>;
23026
23037
  month: (StringConstructor | NumberConstructor)[];
23038
+ max: vue.PropType<unknown>;
23039
+ min: vue.PropType<unknown>;
23040
+ showAdjacentMonths: BooleanConstructor;
23041
+ year: (StringConstructor | NumberConstructor)[];
23042
+ color: StringConstructor;
23027
23043
  hideWeekdays: BooleanConstructor;
23028
- max: PropType<unknown>;
23029
- min: PropType<unknown>;
23030
- modelValue: PropType<unknown[]>;
23031
23044
  multiple: BooleanConstructor;
23032
- showAdjacentMonths: BooleanConstructor;
23033
23045
  showWeek: BooleanConstructor;
23034
- year: (StringConstructor | NumberConstructor)[];
23035
23046
  }, vue.ExtractPropTypes<{
23036
23047
  allowedDates: (FunctionConstructor | ArrayConstructor)[];
23037
23048
  disabled: BooleanConstructor;
23038
- color: StringConstructor;
23049
+ displayValue: vue.PropType<unknown>;
23050
+ modelValue: vue.PropType<unknown[] | undefined>;
23039
23051
  month: (StringConstructor | NumberConstructor)[];
23052
+ max: vue.PropType<unknown>;
23053
+ min: vue.PropType<unknown>;
23054
+ showAdjacentMonths: BooleanConstructor;
23055
+ year: (StringConstructor | NumberConstructor)[];
23056
+ color: StringConstructor;
23040
23057
  hideWeekdays: BooleanConstructor;
23041
- max: PropType<unknown>;
23042
- min: PropType<unknown>;
23043
- modelValue: PropType<unknown[]>;
23044
23058
  multiple: BooleanConstructor;
23045
- showAdjacentMonths: BooleanConstructor;
23046
23059
  showWeek: BooleanConstructor;
23047
- year: (StringConstructor | NumberConstructor)[];
23048
23060
  }>>;
23049
23061
  type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>;
23050
23062
 
@@ -0,0 +1,128 @@
1
+ // Composables
2
+ import { getWeek, useDate } from "./date/date.mjs";
3
+ import { useProxiedModel } from "./proxiedModel.mjs"; // Utilities
4
+ import { computed } from 'vue';
5
+ import { propsFactory, wrapInArray } from "../util/index.mjs"; // Types
6
+ // Types
7
+ // Composables
8
+ export const makeCalendarProps = propsFactory({
9
+ allowedDates: [Array, Function],
10
+ disabled: Boolean,
11
+ displayValue: null,
12
+ modelValue: Array,
13
+ month: [Number, String],
14
+ max: null,
15
+ min: null,
16
+ showAdjacentMonths: Boolean,
17
+ year: [Number, String]
18
+ }, 'calendar');
19
+ export function useCalendar(props) {
20
+ const adapter = useDate();
21
+ const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
22
+ const displayValue = computed(() => {
23
+ if (props.displayValue) return adapter.date(props.displayValue);
24
+ if (model.value.length > 0) return adapter.date(model.value[0]);
25
+ if (props.min) return adapter.date(props.min);
26
+ if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0]);
27
+ return adapter.date();
28
+ });
29
+ const year = useProxiedModel(props, 'year', undefined, v => {
30
+ const value = v != null ? Number(v) : adapter.getYear(displayValue.value);
31
+ return adapter.startOfYear(adapter.setYear(adapter.date(), value));
32
+ }, v => adapter.getYear(v));
33
+ const month = useProxiedModel(props, 'month', undefined, v => {
34
+ const value = v != null ? Number(v) : adapter.getMonth(displayValue.value);
35
+ const date = adapter.setYear(adapter.date(), adapter.getYear(year.value));
36
+ return adapter.setMonth(date, value);
37
+ }, v => adapter.getMonth(v));
38
+ const weeksInMonth = computed(() => {
39
+ const weeks = adapter.getWeekArray(month.value);
40
+ const days = weeks.flat();
41
+
42
+ // Make sure there's always 6 weeks in month (6 * 7 days)
43
+ // But only do it if we're not hiding adjacent months?
44
+ const daysInMonth = 6 * 7;
45
+ if (days.length < daysInMonth) {
46
+ const lastDay = days[days.length - 1];
47
+ let week = [];
48
+ for (let day = 1; day <= daysInMonth - days.length; day++) {
49
+ week.push(adapter.addDays(lastDay, day));
50
+ if (day % 7 === 0) {
51
+ weeks.push(week);
52
+ week = [];
53
+ }
54
+ }
55
+ }
56
+ return weeks;
57
+ });
58
+ const genDays = (days, today) => {
59
+ return days.map((date, index) => {
60
+ const isoDate = adapter.toISO(date);
61
+ const isAdjacent = !adapter.isSameMonth(date, month.value);
62
+ const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));
63
+ const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));
64
+ const isSame = adapter.isSameDay(date, month.value);
65
+ return {
66
+ date,
67
+ isoDate,
68
+ formatted: adapter.format(date, 'keyboardDate'),
69
+ year: adapter.getYear(date),
70
+ month: adapter.getMonth(date),
71
+ isDisabled: isDisabled(date),
72
+ isWeekStart: index % 7 === 0,
73
+ isWeekEnd: index % 7 === 6,
74
+ isToday: adapter.isSameDay(date, today),
75
+ isAdjacent,
76
+ isHidden: isAdjacent && !props.showAdjacentMonths,
77
+ isStart,
78
+ isSelected: model.value.some(value => adapter.isSameDay(date, value)),
79
+ isEnd,
80
+ isSame,
81
+ localized: adapter.format(date, 'dayOfMonth')
82
+ };
83
+ });
84
+ };
85
+ const daysInWeek = computed(() => {
86
+ const lastDay = adapter.startOfWeek(model.value);
87
+ const week = [];
88
+ for (let day = 0; day <= 6; day++) {
89
+ week.push(adapter.addDays(lastDay, day));
90
+ }
91
+ const days = week;
92
+ const today = adapter.date();
93
+ return genDays(days, today);
94
+ });
95
+ const daysInMonth = computed(() => {
96
+ const days = weeksInMonth.value.flat();
97
+ const today = adapter.date();
98
+ return genDays(days, today);
99
+ });
100
+ const weekNumbers = computed(() => {
101
+ return weeksInMonth.value.map(week => {
102
+ return week.length ? getWeek(adapter, week[0]) : null;
103
+ });
104
+ });
105
+ function isDisabled(value) {
106
+ if (props.disabled) return true;
107
+ const date = adapter.date(value);
108
+ if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true;
109
+ if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true;
110
+ if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {
111
+ return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));
112
+ }
113
+ if (typeof props.allowedDates === 'function') {
114
+ return !props.allowedDates(date);
115
+ }
116
+ return false;
117
+ }
118
+ return {
119
+ displayValue,
120
+ daysInMonth,
121
+ daysInWeek,
122
+ genDays,
123
+ model,
124
+ weeksInMonth,
125
+ weekNumbers
126
+ };
127
+ }
128
+ //# sourceMappingURL=calendar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.mjs","names":["getWeek","useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","Boolean","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","useCalendar","props","adapter","model","v","date","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","setMonth","weeksInMonth","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","day","push","addDays","genDays","today","map","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","startOfMonth","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isWeekStart","isWeekEnd","isToday","isHidden","isSelected","some","localized","daysInWeek","startOfWeek","weekNumbers","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { getWeek, useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean)\n disabled: boolean\n displayValue: unknown\n modelValue: unknown[]\n max: unknown\n min: unknown\n showAdjacentMonths?: boolean\n month: number | string\n year: number | string\n\n 'onUpdate:modelValue': (value: unknown[]) => void\n 'onUpdate:month': (value: number) => void\n 'onUpdate:year': (value: number) => void\n}\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function],\n disabled: Boolean,\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[] | undefined>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.date(), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weeksInMonth = computed<Date[][]>((): Date[][] => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks as Date[][]\n })\n\n const genDays = (days: Date[], today: Date) => {\n return days.map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(model.value)\n const week = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day))\n }\n\n const days = week as Date[]\n\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat()\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return false\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekNumbers,\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,OAAO,EAAEC,OAAO;AAAA,SAChBC,eAAe,8BAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,YAAY,EAAEC,WAAW,6BAElC;AAGA;AAiBA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,YAAY,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/BC,QAAQ,EAAEC,OAAO;EACjBC,YAAY,EAAE,IAAgC;EAC9CC,UAAU,EAAEL,KAAwC;EACpDM,KAAK,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACvBC,GAAG,EAAE,IAAgC;EACrCC,GAAG,EAAE,IAAgC;EACrCC,kBAAkB,EAAER,OAAO;EAC3BS,IAAI,EAAE,CAACL,MAAM,EAAEC,MAAM;AACvB,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASK,WAAWA,CAAEC,KAAoB,EAAE;EACjD,MAAMC,OAAO,GAAGtB,OAAO,CAAC,CAAC;EACzB,MAAMuB,KAAK,GAAGtB,eAAe,CAC3BoB,KAAK,EACL,YAAY,EACZ,EAAE,EACFG,CAAC,IAAIpB,WAAW,CAACoB,CAAC,CACpB,CAAC;EACD,MAAMb,YAAY,GAAGT,QAAQ,CAAC,MAAM;IAClC,IAAImB,KAAK,CAACV,YAAY,EAAE,OAAOW,OAAO,CAACG,IAAI,CAACJ,KAAK,CAACV,YAAY,CAAC;IAC/D,IAAIY,KAAK,CAACG,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE,OAAOL,OAAO,CAACG,IAAI,CAACF,KAAK,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAIL,KAAK,CAACJ,GAAG,EAAE,OAAOK,OAAO,CAACG,IAAI,CAACJ,KAAK,CAACJ,GAAG,CAAC;IAC7C,IAAIV,KAAK,CAACqB,OAAO,CAACP,KAAK,CAACf,YAAY,CAAC,EAAE,OAAOgB,OAAO,CAACG,IAAI,CAACJ,KAAK,CAACf,YAAY,CAAC,CAAC,CAAC,CAAC;IAEjF,OAAOgB,OAAO,CAACG,IAAI,CAAC,CAAC;EACvB,CAAC,CAAC;EAEF,MAAMN,IAAI,GAAGlB,eAAe,CAC1BoB,KAAK,EACL,MAAM,EACNQ,SAAS,EACTL,CAAC,IAAI;IACH,MAAME,KAAK,GAAGF,CAAC,IAAI,IAAI,GAAGV,MAAM,CAACU,CAAC,CAAC,GAAGF,OAAO,CAACQ,OAAO,CAACnB,YAAY,CAACe,KAAK,CAAC;IAEzE,OAAOJ,OAAO,CAACS,WAAW,CAACT,OAAO,CAACU,OAAO,CAACV,OAAO,CAACG,IAAI,CAAC,CAAC,EAAEC,KAAK,CAAC,CAAC;EACpE,CAAC,EACDF,CAAC,IAAIF,OAAO,CAACQ,OAAO,CAACN,CAAC,CACxB,CAAC;EAED,MAAMX,KAAK,GAAGZ,eAAe,CAC3BoB,KAAK,EACL,OAAO,EACPQ,SAAS,EACTL,CAAC,IAAI;IACH,MAAME,KAAK,GAAGF,CAAC,IAAI,IAAI,GAAGV,MAAM,CAACU,CAAC,CAAC,GAAGF,OAAO,CAACW,QAAQ,CAACtB,YAAY,CAACe,KAAK,CAAC;IAC1E,MAAMD,IAAI,GAAGH,OAAO,CAACU,OAAO,CAACV,OAAO,CAACG,IAAI,CAAC,CAAC,EAAEH,OAAO,CAACQ,OAAO,CAACX,IAAI,CAACO,KAAK,CAAC,CAAC;IAEzE,OAAOJ,OAAO,CAACY,QAAQ,CAACT,IAAI,EAAEC,KAAK,CAAC;EACtC,CAAC,EACDF,CAAC,IAAIF,OAAO,CAACW,QAAQ,CAACT,CAAC,CACzB,CAAC;EAED,MAAMW,YAAY,GAAGjC,QAAQ,CAAW,MAAgB;IACtD,MAAMkC,KAAK,GAAGd,OAAO,CAACe,YAAY,CAACxB,KAAK,CAACa,KAAK,CAAC;IAE/C,MAAMY,IAAI,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;;IAEzB;IACA;IACA,MAAMC,WAAW,GAAG,CAAC,GAAG,CAAC;IACzB,IAAIF,IAAI,CAACX,MAAM,GAAGa,WAAW,EAAE;MAC7B,MAAMC,OAAO,GAAGH,IAAI,CAACA,IAAI,CAACX,MAAM,GAAG,CAAC,CAAC;MAErC,IAAIe,IAAI,GAAG,EAAE;MACb,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAIH,WAAW,GAAGF,IAAI,CAACX,MAAM,EAAEgB,GAAG,EAAE,EAAE;QACzDD,IAAI,CAACE,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAACJ,OAAO,EAAEE,GAAG,CAAC,CAAC;QAExC,IAAIA,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;UACjBP,KAAK,CAACQ,IAAI,CAACF,IAAI,CAAC;UAChBA,IAAI,GAAG,EAAE;QACX;MACF;IACF;IAEA,OAAON,KAAK;EACd,CAAC,CAAC;EAEF,MAAMU,OAAO,GAAGA,CAACR,IAAY,EAAES,KAAW,KAAK;IAC7C,OAAOT,IAAI,CAACU,GAAG,CAAC,CAACvB,IAAI,EAAEwB,KAAK,KAAK;MAC/B,MAAMC,OAAO,GAAG5B,OAAO,CAAC6B,KAAK,CAAC1B,IAAI,CAAC;MACnC,MAAM2B,UAAU,GAAG,CAAC9B,OAAO,CAAC+B,WAAW,CAAC5B,IAAI,EAAEZ,KAAK,CAACa,KAAK,CAAC;MAC1D,MAAM4B,OAAO,GAAGhC,OAAO,CAACiC,SAAS,CAAC9B,IAAI,EAAEH,OAAO,CAACkC,YAAY,CAAC3C,KAAK,CAACa,KAAK,CAAC,CAAC;MAC1E,MAAM+B,KAAK,GAAGnC,OAAO,CAACiC,SAAS,CAAC9B,IAAI,EAAEH,OAAO,CAACoC,UAAU,CAAC7C,KAAK,CAACa,KAAK,CAAC,CAAC;MACtE,MAAMiC,MAAM,GAAGrC,OAAO,CAACiC,SAAS,CAAC9B,IAAI,EAAEZ,KAAK,CAACa,KAAK,CAAC;MAEnD,OAAO;QACLD,IAAI;QACJyB,OAAO;QACPU,SAAS,EAAEtC,OAAO,CAACuC,MAAM,CAACpC,IAAI,EAAE,cAAc,CAAC;QAC/CN,IAAI,EAAEG,OAAO,CAACQ,OAAO,CAACL,IAAI,CAAC;QAC3BZ,KAAK,EAAES,OAAO,CAACW,QAAQ,CAACR,IAAI,CAAC;QAC7BqC,UAAU,EAAEA,UAAU,CAACrC,IAAI,CAAC;QAC5BsC,WAAW,EAAEd,KAAK,GAAG,CAAC,KAAK,CAAC;QAC5Be,SAAS,EAAEf,KAAK,GAAG,CAAC,KAAK,CAAC;QAC1BgB,OAAO,EAAE3C,OAAO,CAACiC,SAAS,CAAC9B,IAAI,EAAEsB,KAAK,CAAC;QACvCK,UAAU;QACVc,QAAQ,EAAEd,UAAU,IAAI,CAAC/B,KAAK,CAACH,kBAAkB;QACjDoC,OAAO;QACPa,UAAU,EAAE5C,KAAK,CAACG,KAAK,CAAC0C,IAAI,CAAC1C,KAAK,IAAIJ,OAAO,CAACiC,SAAS,CAAC9B,IAAI,EAAEC,KAAK,CAAC,CAAC;QACrE+B,KAAK;QACLE,MAAM;QACNU,SAAS,EAAE/C,OAAO,CAACuC,MAAM,CAACpC,IAAI,EAAE,YAAY;MAC9C,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED,MAAM6C,UAAU,GAAGpE,QAAQ,CAAC,MAAM;IAChC,MAAMuC,OAAO,GAAGnB,OAAO,CAACiD,WAAW,CAAChD,KAAK,CAACG,KAAK,CAAC;IAChD,MAAMgB,IAAI,GAAG,EAAE;IACf,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAI,CAAC,EAAEA,GAAG,EAAE,EAAE;MACjCD,IAAI,CAACE,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAACJ,OAAO,EAAEE,GAAG,CAAC,CAAC;IAC1C;IAEA,MAAML,IAAI,GAAGI,IAAc;IAE3B,MAAMK,KAAK,GAAGzB,OAAO,CAACG,IAAI,CAAC,CAAS;IAEpC,OAAOqB,OAAO,CAACR,IAAI,EAAES,KAAK,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMP,WAAW,GAAGtC,QAAQ,CAAC,MAAM;IACjC,MAAMoC,IAAI,GAAGH,YAAY,CAACT,KAAK,CAACa,IAAI,CAAC,CAAC;IACtC,MAAMQ,KAAK,GAAGzB,OAAO,CAACG,IAAI,CAAC,CAAS;IAEpC,OAAOqB,OAAO,CAACR,IAAI,EAAES,KAAK,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMyB,WAAW,GAAGtE,QAAQ,CAAC,MAAM;IACjC,OAAOiC,YAAY,CAACT,KAAK,CAACsB,GAAG,CAACN,IAAI,IAAI;MACpC,OAAOA,IAAI,CAACf,MAAM,GAAG5B,OAAO,CAACuB,OAAO,EAAEoB,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IACvD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASoB,UAAUA,CAAEpC,KAAc,EAAE;IACnC,IAAIL,KAAK,CAACZ,QAAQ,EAAE,OAAO,IAAI;IAE/B,MAAMgB,IAAI,GAAGH,OAAO,CAACG,IAAI,CAACC,KAAK,CAAC;IAEhC,IAAIL,KAAK,CAACJ,GAAG,IAAIK,OAAO,CAACmD,OAAO,CAACnD,OAAO,CAACG,IAAI,CAACJ,KAAK,CAACJ,GAAG,CAAC,EAAEQ,IAAI,CAAC,EAAE,OAAO,IAAI;IAC5E,IAAIJ,KAAK,CAACL,GAAG,IAAIM,OAAO,CAACmD,OAAO,CAAChD,IAAI,EAAEH,OAAO,CAACG,IAAI,CAACJ,KAAK,CAACL,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI;IAE5E,IAAIT,KAAK,CAACqB,OAAO,CAACP,KAAK,CAACf,YAAY,CAAC,IAAIe,KAAK,CAACf,YAAY,CAACqB,MAAM,GAAG,CAAC,EAAE;MACtE,OAAO,CAACN,KAAK,CAACf,YAAY,CAAC8D,IAAI,CAACM,CAAC,IAAIpD,OAAO,CAACiC,SAAS,CAACjC,OAAO,CAACG,IAAI,CAACiD,CAAC,CAAC,EAAEjD,IAAI,CAAC,CAAC;IAChF;IAEA,IAAI,OAAOJ,KAAK,CAACf,YAAY,KAAK,UAAU,EAAE;MAC5C,OAAO,CAACe,KAAK,CAACf,YAAY,CAACmB,IAAI,CAAC;IAClC;IAEA,OAAO,KAAK;EACd;EAEA,OAAO;IACLd,YAAY;IACZ6B,WAAW;IACX8B,UAAU;IACVxB,OAAO;IACPvB,KAAK;IACLY,YAAY;IACZqC;EACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateAdapter.mjs","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isBefore (date: T, comparing: T): boolean\n isAfter (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addDays (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T): T[][]\n getWeekdays (): string[]\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getNextMonth (date: T): T\n}\n"],"mappings":""}
1
+ {"version":3,"file":"DateAdapter.mjs","names":[],"sources":["../../../src/composables/date/DateAdapter.ts"],"sourcesContent":["export interface DateAdapter<T = unknown> {\n date (value?: any): T | null\n format (date: T, formatString: string): string\n toJsDate (value: T): Date\n parseISO (date: string): T\n toISO (date: T): string\n\n startOfDay (date: T): T\n endOfDay (date: T): T\n startOfWeek (date: T): T\n endOfWeek (date: T): T\n startOfMonth (date: T): T\n endOfMonth (date: T): T\n startOfYear (date: T): T\n endOfYear (date: T): T\n\n isBefore (date: T, comparing: T): boolean\n isAfter (date: T, comparing: T): boolean\n isEqual (date: T, comparing: T): boolean\n isSameDay (date: T, comparing: T): boolean\n isSameMonth (date: T, comparing: T): boolean\n isValid (date: any): boolean\n isWithinRange (date: T, range: [T, T]): boolean\n\n addMinutes (date: T, amount: number): T\n addHours (date: T, amount: number): T\n addDays (date: T, amount: number): T\n addWeeks (date: T, amount: number): T\n addMonths (date: T, amount: number): T\n\n getYear (date: T): number\n setYear (date: T, year: number): T\n getDiff (date: T, comparing: T | string, unit?: string): number\n getWeekArray (date: T): T[][]\n getWeekdays (): string[]\n getMonth (date: T): number\n setMonth (date: T, month: number): T\n getNextMonth (date: T): T\n getHours (date: T): number\n setHours (date: T, hours: number): T\n getMinutes (date: T): number\n setMinutes (date: T, minutes: number): T\n}\n"],"mappings":""}
@@ -187,6 +187,20 @@ function getWeekArray(date, locale) {
187
187
  }
188
188
  return weeks;
189
189
  }
190
+ function startOfWeek(date) {
191
+ const d = new Date(date);
192
+ while (d.getDay() !== 0) {
193
+ d.setDate(d.getDate() - 1);
194
+ }
195
+ return d;
196
+ }
197
+ function endOfWeek(date) {
198
+ const d = new Date(date);
199
+ while (d.getDay() !== 6) {
200
+ d.setDate(d.getDate() + 1);
201
+ }
202
+ return d;
203
+ }
190
204
  function startOfMonth(date) {
191
205
  return new Date(date.getFullYear(), date.getMonth(), 1);
192
206
  }
@@ -215,14 +229,18 @@ function date(value) {
215
229
  return null;
216
230
  }
217
231
  const sundayJanuarySecond2000 = new Date(2000, 0, 2);
232
+
233
+ // The number of letters returned by getWeekday() varies by date library
234
+ // So we've opted for 3-letter abbreviations for all locales
218
235
  function getWeekdays(locale) {
219
236
  const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
220
237
  return createRange(7).map(i => {
221
238
  const weekday = new Date(sundayJanuarySecond2000);
222
239
  weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
223
- return new Intl.DateTimeFormat(locale, {
224
- weekday: 'narrow'
240
+ const formattedDay = new Intl.DateTimeFormat(locale, {
241
+ weekday: 'short'
225
242
  }).format(weekday);
243
+ return formattedDay.charAt(0).toUpperCase() + formattedDay.slice(1);
226
244
  });
227
245
  }
228
246
  function format(value, formatString, locale, formats) {
@@ -241,6 +259,12 @@ function format(value, formatString, locale, formats) {
241
259
  year: 'numeric'
242
260
  };
243
261
  break;
262
+ case 'hours12h':
263
+ options = {
264
+ hour: 'numeric',
265
+ hour12: true
266
+ };
267
+ break;
244
268
  case 'normalDateWithWeekday':
245
269
  options = {
246
270
  weekday: 'short',
@@ -289,6 +313,11 @@ function format(value, formatString, locale, formats) {
289
313
  day: 'numeric'
290
314
  };
291
315
  break;
316
+ case 'weekdayShort':
317
+ options = {
318
+ weekday: 'short'
319
+ };
320
+ break;
292
321
  case 'year':
293
322
  options = {
294
323
  year: 'numeric'
@@ -313,11 +342,26 @@ function parseISO(value) {
313
342
  const [year, month, day] = value.split('-').map(Number);
314
343
  return new Date(year, month - 1, day);
315
344
  }
345
+ function addMinutes(date, amount) {
346
+ const d = new Date(date);
347
+ d.setMinutes(d.getMinutes() + amount);
348
+ return d;
349
+ }
350
+ function addHours(date, amount) {
351
+ const d = new Date(date);
352
+ d.setHours(d.getHours() + amount);
353
+ return d;
354
+ }
316
355
  function addDays(date, amount) {
317
356
  const d = new Date(date);
318
357
  d.setDate(d.getDate() + amount);
319
358
  return d;
320
359
  }
360
+ function addWeeks(date, amount) {
361
+ const d = new Date(date);
362
+ d.setDate(d.getDate() + amount * 7);
363
+ return d;
364
+ }
321
365
  function addMonths(date, amount) {
322
366
  const d = new Date(date);
323
367
  d.setMonth(d.getMonth() + amount);
@@ -332,6 +376,12 @@ function getMonth(date) {
332
376
  function getNextMonth(date) {
333
377
  return new Date(date.getFullYear(), date.getMonth() + 1, 1);
334
378
  }
379
+ function getHours(date) {
380
+ return date.getHours();
381
+ }
382
+ function getMinutes(date) {
383
+ return date.getMinutes();
384
+ }
335
385
  function startOfYear(date) {
336
386
  return new Date(date.getFullYear(), 0, 1);
337
387
  }
@@ -368,6 +418,16 @@ function getDiff(date, comparing, unit) {
368
418
  }
369
419
  return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
370
420
  }
421
+ function setHours(date, count) {
422
+ const d = new Date(date);
423
+ d.setHours(count);
424
+ return d;
425
+ }
426
+ function setMinutes(date, count) {
427
+ const d = new Date(date);
428
+ d.setMinutes(count);
429
+ return d;
430
+ }
371
431
  function setMonth(date, count) {
372
432
  const d = new Date(date);
373
433
  d.setMonth(count);
@@ -401,15 +461,30 @@ export class VuetifyDateAdapter {
401
461
  parseISO(date) {
402
462
  return parseISO(date);
403
463
  }
464
+ addMinutes(date, amount) {
465
+ return addMinutes(date, amount);
466
+ }
467
+ addHours(date, amount) {
468
+ return addHours(date, amount);
469
+ }
404
470
  addDays(date, amount) {
405
471
  return addDays(date, amount);
406
472
  }
473
+ addWeeks(date, amount) {
474
+ return addWeeks(date, amount);
475
+ }
407
476
  addMonths(date, amount) {
408
477
  return addMonths(date, amount);
409
478
  }
410
479
  getWeekArray(date) {
411
480
  return getWeekArray(date, this.locale);
412
481
  }
482
+ startOfWeek(date) {
483
+ return startOfWeek(date);
484
+ }
485
+ endOfWeek(date) {
486
+ return endOfWeek(date);
487
+ }
413
488
  startOfMonth(date) {
414
489
  return startOfMonth(date);
415
490
  }
@@ -440,6 +515,12 @@ export class VuetifyDateAdapter {
440
515
  isSameMonth(date, comparing) {
441
516
  return isSameMonth(date, comparing);
442
517
  }
518
+ setMinutes(date, count) {
519
+ return setMinutes(date, count);
520
+ }
521
+ setHours(date, count) {
522
+ return setHours(date, count);
523
+ }
443
524
  setMonth(date, count) {
444
525
  return setMonth(date, count);
445
526
  }
@@ -461,6 +542,12 @@ export class VuetifyDateAdapter {
461
542
  getNextMonth(date) {
462
543
  return getNextMonth(date);
463
544
  }
545
+ getHours(date) {
546
+ return getHours(date);
547
+ }
548
+ getMinutes(date) {
549
+ return getMinutes(date);
550
+ }
464
551
  startOfDay(date) {
465
552
  return startOfDay(date);
466
553
  }