@quoreadmin/ui 1.5.0 → 1.6.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.
Files changed (360) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +48 -46
  3. package/dist/index10.js +26 -26
  4. package/dist/index100.js +119 -6
  5. package/dist/index102.js +128 -25
  6. package/dist/index103.js +10 -0
  7. package/dist/index105.js +39 -0
  8. package/dist/{index104.js → index107.js} +2 -2
  9. package/dist/{index106.js → index109.js} +1 -1
  10. package/dist/index11.js +2 -2
  11. package/dist/{index108.js → index111.js} +4 -4
  12. package/dist/{index110.js → index113.js} +7 -7
  13. package/dist/{index112.js → index115.js} +1 -1
  14. package/dist/{index114.js → index117.js} +5 -5
  15. package/dist/index12.js +2 -2
  16. package/dist/{index118.js → index121.js} +1 -1
  17. package/dist/{index126.js → index129.js} +1 -1
  18. package/dist/index13.js +2 -2
  19. package/dist/{index128.js → index131.js} +1 -1
  20. package/dist/{index132.js → index135.js} +1 -1
  21. package/dist/{index136.js → index139.js} +111 -110
  22. package/dist/index14.js +2 -2
  23. package/dist/{index138.js → index141.js} +1 -1
  24. package/dist/{index140.js → index143.js} +11 -11
  25. package/dist/index15.js +2 -2
  26. package/dist/{index148.js → index151.js} +1 -1
  27. package/dist/{index150.js → index153.js} +1 -1
  28. package/dist/{index152.js → index155.js} +2 -2
  29. package/dist/index157.js +205 -111
  30. package/dist/index16.js +2 -2
  31. package/dist/index160.js +110 -87
  32. package/dist/index161.js +478 -844
  33. package/dist/index162.js +5520 -36
  34. package/dist/index163.js +90 -279
  35. package/dist/index164.js +833 -122
  36. package/dist/index165.js +36 -1197
  37. package/dist/index166.js +268 -760
  38. package/dist/index167.js +146 -1304
  39. package/dist/index168.js +1151 -228
  40. package/dist/index169.js +754 -88
  41. package/dist/index17.js +2 -2
  42. package/dist/index170.js +1308 -2
  43. package/dist/index171.js +259 -1359
  44. package/dist/index172.js +108 -0
  45. package/dist/index173.js +2 -18
  46. package/dist/index174.js +1372 -14
  47. package/dist/index176.js +8 -8
  48. package/dist/index177.js +10 -17
  49. package/dist/index178.js +18 -759
  50. package/dist/index179.js +18 -1100
  51. package/dist/index18.js +2 -2
  52. package/dist/index180.js +22 -1231
  53. package/dist/index181.js +740 -11258
  54. package/dist/index182.js +1100 -36
  55. package/dist/index183.js +1200 -81
  56. package/dist/index184.js +11276 -43
  57. package/dist/index185.js +36 -1190
  58. package/dist/{index94.js → index186.js} +4 -4
  59. package/dist/index187.js +44 -5938
  60. package/dist/index188.js +5830 -99
  61. package/dist/index189.js +188 -16
  62. package/dist/index19.js +2 -2
  63. package/dist/index190.js +25 -8
  64. package/dist/index191.js +16 -76
  65. package/dist/index192.js +1172 -235
  66. package/dist/index194.js +77 -26
  67. package/dist/index195.js +245 -55
  68. package/dist/index196.js +13655 -209
  69. package/dist/index197.js +26 -307
  70. package/dist/index198.js +43 -268
  71. package/dist/index199.js +237 -32
  72. package/dist/index2.js +2 -2
  73. package/dist/index20.js +2 -2
  74. package/dist/index200.js +301 -109
  75. package/dist/index201.js +287 -35
  76. package/dist/index202.js +88 -26
  77. package/dist/index203.js +407 -36
  78. package/dist/index204.js +22 -9
  79. package/dist/index205.js +31 -17
  80. package/dist/index206.js +116 -10
  81. package/dist/index207.js +35 -9
  82. package/dist/index208.js +26 -51
  83. package/dist/index209.js +34 -41
  84. package/dist/index21.js +2 -2
  85. package/dist/index210.js +9 -4
  86. package/dist/index211.js +18 -38
  87. package/dist/index212.js +10 -21
  88. package/dist/index213.js +10 -88
  89. package/dist/index214.js +48 -404
  90. package/dist/index215.js +43 -22
  91. package/dist/index216.js +3 -3631
  92. package/dist/index217.js +38 -54
  93. package/dist/index218.js +21 -77
  94. package/dist/index219.js +122 -47
  95. package/dist/index22.js +2 -2
  96. package/dist/index220.js +33 -210
  97. package/dist/index221.js +79 -9
  98. package/dist/index222.js +20 -57
  99. package/dist/index223.js +20 -61
  100. package/dist/index224.js +20 -54
  101. package/dist/index225.js +20 -75
  102. package/dist/index226.js +19 -722
  103. package/dist/index227.js +160 -38
  104. package/dist/index228.js +225 -61
  105. package/dist/index229.js +37 -11
  106. package/dist/index23.js +61 -170
  107. package/dist/index230.js +9 -704
  108. package/dist/index231.js +153 -812
  109. package/dist/index232.js +11 -13
  110. package/dist/index233.js +12 -12
  111. package/dist/index234.js +198 -19
  112. package/dist/index235.js +48 -814
  113. package/dist/index236.js +34 -702
  114. package/dist/index237.js +39 -175
  115. package/dist/index238.js +3632 -20
  116. package/dist/index239.js +55 -20
  117. package/dist/index24.js +173 -10
  118. package/dist/index240.js +77 -22
  119. package/dist/index241.js +52 -20
  120. package/dist/index242.js +215 -20
  121. package/dist/index243.js +10 -20
  122. package/dist/index244.js +57 -3
  123. package/dist/index245.js +55 -181
  124. package/dist/index246.js +49 -128
  125. package/dist/index247.js +68 -154
  126. package/dist/index248.js +694 -1194
  127. package/dist/index249.js +34 -122
  128. package/dist/index25.js +9 -38
  129. package/dist/index250.js +64 -20
  130. package/dist/index251.js +11 -22
  131. package/dist/index252.js +705 -20
  132. package/dist/index253.js +820 -22
  133. package/dist/index254.js +21 -37
  134. package/dist/index255.js +15 -22
  135. package/dist/index256.js +6 -6
  136. package/dist/index257.js +836 -20
  137. package/dist/index258.js +702 -2
  138. package/dist/index259.js +176 -2
  139. package/dist/index26.js +36 -116
  140. package/dist/index260.js +21 -160
  141. package/dist/index261.js +20 -228
  142. package/dist/index262.js +19 -36
  143. package/dist/index263.js +3 -10
  144. package/dist/index264.js +186 -21
  145. package/dist/index265.js +102 -168
  146. package/dist/index266.js +1199 -46
  147. package/dist/index267.js +20 -34
  148. package/dist/index268.js +21 -39
  149. package/dist/index269.js +22 -80
  150. package/dist/index27.js +116 -22
  151. package/dist/index270.js +22 -13
  152. package/dist/index271.js +11 -11
  153. package/dist/index272.js +20 -253
  154. package/dist/index273.js +2 -8
  155. package/dist/index274.js +2 -138
  156. package/dist/index275.js +232 -62
  157. package/dist/index276.js +8 -3
  158. package/dist/index277.js +135 -24
  159. package/dist/index278.js +73 -225
  160. package/dist/index279.js +2 -6
  161. package/dist/index28.js +24 -158
  162. package/dist/index280.js +73 -128
  163. package/dist/index281.js +229 -62
  164. package/dist/index282.js +5 -86
  165. package/dist/index283.js +131 -26
  166. package/dist/index284.js +67 -8
  167. package/dist/index285.js +83 -71
  168. package/dist/index286.js +28 -3
  169. package/dist/index287.js +9 -2
  170. package/dist/index288.js +70 -78
  171. package/dist/index289.js +3 -53
  172. package/dist/index29.js +141 -264
  173. package/dist/index290.js +2 -6
  174. package/dist/index291.js +82 -4
  175. package/dist/index292.js +51 -176
  176. package/dist/index293.js +5 -62
  177. package/dist/index294.js +5 -75
  178. package/dist/index295.js +149 -1488
  179. package/dist/index296.js +55 -378
  180. package/dist/index297.js +75 -2731
  181. package/dist/index298.js +3 -86
  182. package/dist/index299.js +21 -3764
  183. package/dist/index3.js +2 -2
  184. package/dist/index30.js +279 -62
  185. package/dist/index300.js +50 -56
  186. package/dist/index301.js +26 -15
  187. package/dist/index302.js +21 -83
  188. package/dist/index303.js +22 -202
  189. package/dist/index304.js +16 -246
  190. package/dist/index305.js +16 -78
  191. package/dist/index306.js +21 -77
  192. package/dist/index307.js +1518 -22
  193. package/dist/index308.js +362 -911
  194. package/dist/index309.js +2731 -22
  195. package/dist/index31.js +64 -178
  196. package/dist/index310.js +85 -19
  197. package/dist/index311.js +3770 -20
  198. package/dist/index312.js +59 -68
  199. package/dist/index313.js +15 -19
  200. package/dist/index314.js +84 -19
  201. package/dist/index315.js +201 -53
  202. package/dist/index316.js +246 -22
  203. package/dist/index317.js +78 -21
  204. package/dist/index318.js +22 -63
  205. package/dist/index319.js +935 -2
  206. package/dist/index32.js +177 -38
  207. package/dist/index320.js +13 -17
  208. package/dist/index321.js +11 -13
  209. package/dist/index322.js +13 -15
  210. package/dist/index323.js +67 -14
  211. package/dist/index324.js +16 -14
  212. package/dist/index325.js +17 -21
  213. package/dist/index326.js +21 -8
  214. package/dist/index327.js +21 -12
  215. package/dist/index328.js +63 -55
  216. package/dist/index329.js +34 -9
  217. package/dist/index33.js +38 -49
  218. package/dist/index330.js +20 -13
  219. package/dist/index331.js +53 -55
  220. package/dist/index332.js +27 -50
  221. package/dist/index333.js +6 -30
  222. package/dist/index334.js +52 -2
  223. package/dist/index335.js +5 -4
  224. package/dist/index336.js +12 -2
  225. package/dist/index337.js +6 -22
  226. package/dist/index338.js +27 -40
  227. package/dist/index339.js +2 -2
  228. package/dist/index34.js +47 -30
  229. package/dist/index340.js +69 -10
  230. package/dist/index341.js +165 -18
  231. package/dist/index342.js +9 -16
  232. package/dist/index343.js +9 -9
  233. package/dist/index344.js +13 -9
  234. package/dist/index345.js +10 -2
  235. package/dist/index346.js +16 -8
  236. package/dist/index347.js +8 -9
  237. package/dist/index348.js +13 -14
  238. package/dist/index349.js +52 -18
  239. package/dist/index35.js +31 -28
  240. package/dist/index350.js +11 -55
  241. package/dist/index351.js +13 -28
  242. package/dist/index352.js +57 -6
  243. package/dist/index353.js +50 -50
  244. package/dist/index354.js +31 -6
  245. package/dist/index355.js +2 -12
  246. package/dist/index356.js +4 -6
  247. package/dist/index357.js +2 -28
  248. package/dist/index358.js +23 -2
  249. package/dist/index359.js +40 -69
  250. package/dist/index36.js +29 -13
  251. package/dist/index360.js +2 -167
  252. package/dist/index361.js +10 -36
  253. package/dist/index362.js +19 -19
  254. package/dist/index363.js +2 -20
  255. package/dist/index364.js +9 -64
  256. package/dist/index365.js +20 -37
  257. package/dist/index366.js +20 -13
  258. package/dist/index367.js +64 -7
  259. package/dist/index368.js +37 -31
  260. package/dist/index369.js +30 -10
  261. package/dist/index37.js +15 -43
  262. package/dist/index370.js +10 -3
  263. package/dist/index371.js +3 -3
  264. package/dist/index372.js +3 -11
  265. package/dist/index373.js +13 -5
  266. package/dist/index374.js +7 -33
  267. package/dist/index375.js +11 -30
  268. package/dist/index376.js +5 -28
  269. package/dist/index377.js +33 -61
  270. package/dist/index378.js +29 -96
  271. package/dist/index379.js +26 -99
  272. package/dist/index38.js +42 -37
  273. package/dist/index380.js +61 -91
  274. package/dist/index381.js +97 -16
  275. package/dist/index382.js +100 -2
  276. package/dist/index383.js +91 -2
  277. package/dist/index384.js +17 -2
  278. package/dist/index385.js +3 -17
  279. package/dist/index386.js +2 -13
  280. package/dist/index387.js +2 -6
  281. package/dist/index388.js +17 -32
  282. package/dist/index389.js +15 -0
  283. package/dist/index39.js +36 -26
  284. package/dist/index390.js +8 -0
  285. package/dist/index391.js +34 -0
  286. package/dist/index4.js +2 -2
  287. package/dist/index40.js +25 -32
  288. package/dist/index41.js +32 -37
  289. package/dist/index42.js +37 -1068
  290. package/dist/index43.js +1045 -309
  291. package/dist/index44.js +326 -146
  292. package/dist/index45.js +155 -18
  293. package/dist/index46.js +16 -36
  294. package/dist/index47.js +38 -68
  295. package/dist/index48.js +67 -60
  296. package/dist/index49.js +56 -175
  297. package/dist/index5.js +2 -2
  298. package/dist/index50.js +173 -77
  299. package/dist/index51.js +79 -200
  300. package/dist/index52.js +206 -68
  301. package/dist/index53.js +69 -20
  302. package/dist/index54.js +20 -11
  303. package/dist/index55.js +10 -6
  304. package/dist/index56.js +5 -209
  305. package/dist/index57.js +210 -12
  306. package/dist/index58.js +12 -184
  307. package/dist/index59.js +176 -68
  308. package/dist/index6.js +2 -2
  309. package/dist/index60.js +79 -0
  310. package/dist/index62.js +7 -63
  311. package/dist/index63.js +65 -0
  312. package/dist/index7.js +2 -2
  313. package/dist/{index70.js → index71.js} +2 -2
  314. package/dist/index75.js +40 -301
  315. package/dist/index76.js +326 -0
  316. package/dist/{index77.js → index78.js} +1 -1
  317. package/dist/index8.js +3 -3
  318. package/dist/{index79.js → index80.js} +7 -7
  319. package/dist/{index81.js → index82.js} +1 -1
  320. package/dist/index84.js +22 -126
  321. package/dist/index85.js +140 -0
  322. package/dist/{index86.js → index87.js} +5 -5
  323. package/dist/{index88.js → index89.js} +5 -5
  324. package/dist/index9.js +2 -2
  325. package/dist/index95.js +117 -0
  326. package/dist/index97.js +20 -25
  327. package/dist/index98.js +34 -0
  328. package/dist/src/components/calendar/calendar.d.ts +65 -37
  329. package/dist/src/components/calendar/calendar.stories.d.ts +13 -6
  330. package/dist/src/components/event/event.d.ts +356 -0
  331. package/dist/src/components/event/event.stories.d.ts +33 -0
  332. package/dist/src/components/event/event.vue.d.ts +2 -0
  333. package/dist/src/components/room-details-popover/room-details-popover.d.ts +1 -1
  334. package/dist/src/index.d.ts +3 -1
  335. package/package.json +1 -1
  336. package/dist/index154.js +0 -210
  337. package/dist/index158.js +0 -497
  338. package/dist/index159.js +0 -5524
  339. package/dist/index175.js +0 -20
  340. package/dist/index193.js +0 -13686
  341. package/dist/index61.js +0 -9
  342. package/dist/index74.js +0 -62
  343. package/dist/index83.js +0 -36
  344. package/dist/index96.js +0 -29
  345. package/dist/index99.js +0 -142
  346. /package/dist/{index116.js → index119.js} +0 -0
  347. /package/dist/{index120.js → index123.js} +0 -0
  348. /package/dist/{index122.js → index125.js} +0 -0
  349. /package/dist/{index124.js → index127.js} +0 -0
  350. /package/dist/{index130.js → index133.js} +0 -0
  351. /package/dist/{index134.js → index137.js} +0 -0
  352. /package/dist/{index142.js → index145.js} +0 -0
  353. /package/dist/{index144.js → index147.js} +0 -0
  354. /package/dist/{index146.js → index149.js} +0 -0
  355. /package/dist/{index64.js → index65.js} +0 -0
  356. /package/dist/{index66.js → index67.js} +0 -0
  357. /package/dist/{index68.js → index69.js} +0 -0
  358. /package/dist/{index72.js → index73.js} +0 -0
  359. /package/dist/{index90.js → index91.js} +0 -0
  360. /package/dist/{index92.js → index93.js} +0 -0
@@ -18,9 +18,12 @@ export interface CalendarMonth {
18
18
  year: number;
19
19
  dates: CalendarDate[];
20
20
  }
21
+ export interface PrimaryMonth {
22
+ month: number;
23
+ year: number;
24
+ }
21
25
  export interface ContinuousCalendarData {
22
26
  dates: CalendarDate[];
23
- primaryMonths: number[];
24
27
  }
25
28
  export type CalendarView = 'days' | 'months' | 'years';
26
29
  declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -34,10 +37,31 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
34
37
  type: BooleanConstructor;
35
38
  default: boolean;
36
39
  };
37
- /** Number of months to display (for multi-view) */
38
- numberOfMonths: {
39
- type: NumberConstructor;
40
- default: number;
40
+ /**
41
+ * Start date of the calendar view.
42
+ * When provided with endDate, enables multi-month display.
43
+ * The calendar will show all weeks from startDate to endDate.
44
+ */
45
+ startDate: {
46
+ type: PropType<Date | null>;
47
+ default: null;
48
+ };
49
+ /**
50
+ * End date of the calendar view.
51
+ * When provided with startDate, enables multi-month display.
52
+ */
53
+ endDate: {
54
+ type: PropType<Date | null>;
55
+ default: null;
56
+ };
57
+ /**
58
+ * Which months to consider as "primary" (not greyed out).
59
+ * Array of {month, year} objects where month is 0-11.
60
+ * If not provided, derives from startDate/endDate range.
61
+ */
62
+ primaryMonths: {
63
+ type: PropType<PrimaryMonth[]>;
64
+ default: null;
41
65
  };
42
66
  /** Grey out dates that are not in the primary displayed month(s) */
43
67
  greyOutNonCurrentMonth: {
@@ -69,7 +93,7 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
69
93
  type: PropType<(date: Date) => boolean>;
70
94
  default: () => boolean;
71
95
  };
72
- /** Dates that should show an indicator dot */
96
+ /** Dates that should show an event indicator (green background) */
73
97
  indicatorDates: {
74
98
  type: PropType<Date[]>;
75
99
  default: () => never[];
@@ -95,27 +119,19 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
95
119
  default: string;
96
120
  };
97
121
  /**
98
- * Display multiple months in a single continuous vertical grid
99
- * instead of side-by-side. Works with numberOfMonths > 1.
122
+ * When true and startDate/endDate are provided, displays all months
123
+ * in a single continuous vertical grid instead of side-by-side.
100
124
  */
101
125
  continuous: {
102
126
  type: BooleanConstructor;
103
127
  default: boolean;
104
128
  };
105
- /**
106
- * Number of months to consider as "primary" (not greyed out) in continuous mode.
107
- * Defaults to 1, meaning only the first month is highlighted.
108
- * Set to same as numberOfMonths to highlight all visible months.
109
- */
110
- primaryMonthCount: {
111
- type: NumberConstructor;
112
- default: number;
113
- };
114
129
  }>, {
115
130
  currentView: import('vue').Ref<CalendarView, CalendarView>;
116
131
  viewDate: import('vue').Ref<Date, Date>;
117
132
  hoverDate: import('vue').Ref<Date | null, Date | null>;
118
133
  yearRangeStart: import('vue').Ref<number, number>;
134
+ isMultiMonth: import('vue').ComputedRef<boolean>;
119
135
  daysOfWeek: import('vue').ComputedRef<string[]>;
120
136
  monthNames: import('vue').ComputedRef<string[]>;
121
137
  monthNamesShort: import('vue').ComputedRef<string[]>;
@@ -123,7 +139,7 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
123
139
  headerTitle: import('vue').ComputedRef<string>;
124
140
  yearsInRange: import('vue').ComputedRef<number[]>;
125
141
  selectedDates: import('vue').ComputedRef<Date[]>;
126
- primaryMonths: import('vue').ComputedRef<Set<string>>;
142
+ primaryMonthsSet: import('vue').ComputedRef<Set<string>>;
127
143
  continuousCalendarData: import('vue').ComputedRef<ContinuousCalendarData>;
128
144
  isSameDay: (date1: Date, date2: Date) => boolean;
129
145
  isToday: (date: Date) => boolean;
@@ -135,7 +151,6 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
135
151
  hasIndicator: (date: Date) => boolean;
136
152
  generateMonthData: (monthDate: Date) => CalendarMonth;
137
153
  createDateObject: (date: Date, isCurrentMonth: boolean) => CalendarDate;
138
- createDateObjectForContinuous: (date: Date, isPrimaryMonth: boolean) => CalendarDate;
139
154
  prevMonth: () => void;
140
155
  nextMonth: () => void;
141
156
  prevYearRange: () => void;
@@ -158,10 +173,31 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
158
173
  type: BooleanConstructor;
159
174
  default: boolean;
160
175
  };
161
- /** Number of months to display (for multi-view) */
162
- numberOfMonths: {
163
- type: NumberConstructor;
164
- default: number;
176
+ /**
177
+ * Start date of the calendar view.
178
+ * When provided with endDate, enables multi-month display.
179
+ * The calendar will show all weeks from startDate to endDate.
180
+ */
181
+ startDate: {
182
+ type: PropType<Date | null>;
183
+ default: null;
184
+ };
185
+ /**
186
+ * End date of the calendar view.
187
+ * When provided with startDate, enables multi-month display.
188
+ */
189
+ endDate: {
190
+ type: PropType<Date | null>;
191
+ default: null;
192
+ };
193
+ /**
194
+ * Which months to consider as "primary" (not greyed out).
195
+ * Array of {month, year} objects where month is 0-11.
196
+ * If not provided, derives from startDate/endDate range.
197
+ */
198
+ primaryMonths: {
199
+ type: PropType<PrimaryMonth[]>;
200
+ default: null;
165
201
  };
166
202
  /** Grey out dates that are not in the primary displayed month(s) */
167
203
  greyOutNonCurrentMonth: {
@@ -193,7 +229,7 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
193
229
  type: PropType<(date: Date) => boolean>;
194
230
  default: () => boolean;
195
231
  };
196
- /** Dates that should show an indicator dot */
232
+ /** Dates that should show an event indicator (green background) */
197
233
  indicatorDates: {
198
234
  type: PropType<Date[]>;
199
235
  default: () => never[];
@@ -219,22 +255,13 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
219
255
  default: string;
220
256
  };
221
257
  /**
222
- * Display multiple months in a single continuous vertical grid
223
- * instead of side-by-side. Works with numberOfMonths > 1.
258
+ * When true and startDate/endDate are provided, displays all months
259
+ * in a single continuous vertical grid instead of side-by-side.
224
260
  */
225
261
  continuous: {
226
262
  type: BooleanConstructor;
227
263
  default: boolean;
228
264
  };
229
- /**
230
- * Number of months to consider as "primary" (not greyed out) in continuous mode.
231
- * Defaults to 1, meaning only the first month is highlighted.
232
- * Set to same as numberOfMonths to highlight all visible months.
233
- */
234
- primaryMonthCount: {
235
- type: NumberConstructor;
236
- default: number;
237
- };
238
265
  }>> & Readonly<{
239
266
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
240
267
  "onDate-click"?: ((...args: any[]) => any) | undefined;
@@ -243,7 +270,9 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
243
270
  }>, {
244
271
  modelValue: Date | Date[] | null;
245
272
  range: boolean;
246
- numberOfMonths: number;
273
+ startDate: Date | null;
274
+ endDate: Date | null;
275
+ primaryMonths: PrimaryMonth[];
247
276
  greyOutNonCurrentMonth: boolean;
248
277
  showNavigation: boolean;
249
278
  showHeader: boolean;
@@ -256,7 +285,6 @@ declare const QCalendar: import('vue').DefineComponent<import('vue').ExtractProp
256
285
  firstDayOfWeek: number;
257
286
  locale: string;
258
287
  continuous: boolean;
259
- primaryMonthCount: number;
260
288
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
261
289
  export type QCalendarType = typeof QCalendar;
262
290
  export default QCalendar;
@@ -3,6 +3,11 @@ import { default as QCalendar } from './calendar.vue';
3
3
  /**
4
4
  * The Calendar component provides a flexible date selection interface.
5
5
  * It supports single date selection, date range selection, and multi-month views.
6
+ *
7
+ * ## Multi-month Display
8
+ * To display multiple months, provide `startDate` and `endDate` props.
9
+ * - `continuous: false` (default) - Months displayed side-by-side
10
+ * - `continuous: true` - Months displayed in one vertical grid
6
11
  */
7
12
  declare const meta: Meta<typeof QCalendar>;
8
13
  export default meta;
@@ -11,20 +16,22 @@ export declare const Default: Story;
11
16
  export declare const WithSelectedDate: Story;
12
17
  export declare const RangeSelection: Story;
13
18
  export declare const WithSelectedRange: Story;
14
- export declare const TwoMonthView: Story;
15
- export declare const ThreeMonthView: Story;
16
- export declare const WithIndicators: Story;
19
+ export declare const TwoMonthsSideBySide: Story;
20
+ export declare const ThreeMonthsSideBySide: Story;
21
+ export declare const WithEventIndicators: Story;
22
+ export declare const TodayIndicator: Story;
17
23
  export declare const WithDisabledDates: Story;
18
24
  export declare const WithMinMaxDates: Story;
19
25
  export declare const WithoutNavigation: Story;
20
26
  export declare const WithoutHeader: Story;
21
27
  export declare const SundayFirst: Story;
22
28
  export declare const WithCustomDaySlot: Story;
29
+ export declare const AllIndicatorTypes: Story;
23
30
  export declare const WithFooter: Story;
24
31
  export declare const Compact: Story;
25
- export declare const FullMultiView: Story;
26
32
  export declare const ContinuousTwoMonths: Story;
27
33
  export declare const ContinuousThreeMonths: Story;
28
- export declare const ContinuousWithRange: Story;
29
- export declare const ContinuousNoGreyOut: Story;
34
+ export declare const ContinuousWithEvents: Story;
30
35
  export declare const ContinuousBothMonthsPrimary: Story;
36
+ export declare const BackendDrivenExample: Story;
37
+ export declare const PartialMonthRange: Story;
@@ -0,0 +1,356 @@
1
+ import { PropType } from 'vue';
2
+ export interface EventData {
3
+ id: number | string;
4
+ name: string;
5
+ startDate: string;
6
+ startTime?: string;
7
+ endDate: string;
8
+ endTime?: string;
9
+ allDay?: boolean;
10
+ eventType?: string;
11
+ typeName?: string;
12
+ typeColor?: string;
13
+ propertyName?: string;
14
+ postByName?: string;
15
+ timeZone?: string;
16
+ url?: string;
17
+ }
18
+ export type EventTypeName = 'Event' | 'Vendor' | 'Holiday' | 'Birthday' | 'Inspection' | 'Other';
19
+ export interface EventTypeConfig {
20
+ icon: string;
21
+ iconType: string;
22
+ color: string;
23
+ }
24
+ declare const QEvent: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
25
+ /** Event data object */
26
+ event: {
27
+ type: PropType<EventData>;
28
+ required: true;
29
+ };
30
+ /**
31
+ * Override the event type for icon/color.
32
+ * If not provided, derives from event.typeName or event.eventType
33
+ */
34
+ type: {
35
+ type: PropType<string>;
36
+ default: string;
37
+ };
38
+ /** Use long date format (e.g., "January 25" instead of "Jan 25") */
39
+ longDateFormat: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ /** Show year in the date */
44
+ showYear: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ /** Use 24-hour time format */
49
+ use24HourFormat: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ /** Hide the time, show only the date */
54
+ hideTime: {
55
+ type: BooleanConstructor;
56
+ default: boolean;
57
+ };
58
+ /** Custom date format function - overrides built-in formatting */
59
+ dateFormatter: {
60
+ type: PropType<(startDate: Date, endDate: Date, event: EventData) => string>;
61
+ default: null;
62
+ };
63
+ /** Show the event as compact (icon only, no text) */
64
+ compact: {
65
+ type: BooleanConstructor;
66
+ default: boolean;
67
+ };
68
+ /** Position of the tooltip */
69
+ tooltipPosition: {
70
+ type: PropType<"top" | "bottom" | "left" | "right">;
71
+ default: string;
72
+ };
73
+ }>, {
74
+ eventTypeKey: import('vue').ComputedRef<string>;
75
+ eventTypeConfig: import('vue').ComputedRef<EventTypeConfig>;
76
+ eventTypeName: import('vue').ComputedRef<string>;
77
+ startDate: import('vue').ComputedRef<Date>;
78
+ endDate: import('vue').ComputedRef<Date>;
79
+ isSameDay: import('vue').ComputedRef<boolean>;
80
+ formattedDateTime: import('vue').ComputedRef<string>;
81
+ formatDate: (date: Date, includeYear?: boolean) => string;
82
+ formatTime: (date: Date) => string;
83
+ handleClick: () => void;
84
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "click"[], "click", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
85
+ /** Event data object */
86
+ event: {
87
+ type: PropType<EventData>;
88
+ required: true;
89
+ };
90
+ /**
91
+ * Override the event type for icon/color.
92
+ * If not provided, derives from event.typeName or event.eventType
93
+ */
94
+ type: {
95
+ type: PropType<string>;
96
+ default: string;
97
+ };
98
+ /** Use long date format (e.g., "January 25" instead of "Jan 25") */
99
+ longDateFormat: {
100
+ type: BooleanConstructor;
101
+ default: boolean;
102
+ };
103
+ /** Show year in the date */
104
+ showYear: {
105
+ type: BooleanConstructor;
106
+ default: boolean;
107
+ };
108
+ /** Use 24-hour time format */
109
+ use24HourFormat: {
110
+ type: BooleanConstructor;
111
+ default: boolean;
112
+ };
113
+ /** Hide the time, show only the date */
114
+ hideTime: {
115
+ type: BooleanConstructor;
116
+ default: boolean;
117
+ };
118
+ /** Custom date format function - overrides built-in formatting */
119
+ dateFormatter: {
120
+ type: PropType<(startDate: Date, endDate: Date, event: EventData) => string>;
121
+ default: null;
122
+ };
123
+ /** Show the event as compact (icon only, no text) */
124
+ compact: {
125
+ type: BooleanConstructor;
126
+ default: boolean;
127
+ };
128
+ /** Position of the tooltip */
129
+ tooltipPosition: {
130
+ type: PropType<"top" | "bottom" | "left" | "right">;
131
+ default: string;
132
+ };
133
+ }>> & Readonly<{
134
+ onClick?: ((...args: any[]) => any) | undefined;
135
+ }>, {
136
+ type: string;
137
+ compact: boolean;
138
+ longDateFormat: boolean;
139
+ showYear: boolean;
140
+ use24HourFormat: boolean;
141
+ hideTime: boolean;
142
+ dateFormatter: (startDate: Date, endDate: Date, event: EventData) => string;
143
+ tooltipPosition: "bottom" | "left" | "right" | "top";
144
+ }, {}, {
145
+ QIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
146
+ icon: {
147
+ type: StringConstructor;
148
+ required: true;
149
+ };
150
+ type: {
151
+ type: StringConstructor;
152
+ default: string;
153
+ };
154
+ width: {
155
+ type: NumberConstructor;
156
+ default: number;
157
+ required: false;
158
+ };
159
+ height: {
160
+ type: NumberConstructor;
161
+ default: number;
162
+ required: false;
163
+ };
164
+ size: {
165
+ type: StringConstructor;
166
+ default: string;
167
+ };
168
+ color: {
169
+ type: StringConstructor;
170
+ default: string;
171
+ };
172
+ inline: {
173
+ type: BooleanConstructor;
174
+ default: boolean;
175
+ };
176
+ customClass: {
177
+ type: StringConstructor;
178
+ default: string;
179
+ };
180
+ customSize: {
181
+ type: BooleanConstructor;
182
+ default: boolean;
183
+ };
184
+ }>, {
185
+ iconPath: import('vue').ComputedRef<string>;
186
+ customizedSize: import('vue').ComputedRef<boolean>;
187
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
188
+ icon: {
189
+ type: StringConstructor;
190
+ required: true;
191
+ };
192
+ type: {
193
+ type: StringConstructor;
194
+ default: string;
195
+ };
196
+ width: {
197
+ type: NumberConstructor;
198
+ default: number;
199
+ required: false;
200
+ };
201
+ height: {
202
+ type: NumberConstructor;
203
+ default: number;
204
+ required: false;
205
+ };
206
+ size: {
207
+ type: StringConstructor;
208
+ default: string;
209
+ };
210
+ color: {
211
+ type: StringConstructor;
212
+ default: string;
213
+ };
214
+ inline: {
215
+ type: BooleanConstructor;
216
+ default: boolean;
217
+ };
218
+ customClass: {
219
+ type: StringConstructor;
220
+ default: string;
221
+ };
222
+ customSize: {
223
+ type: BooleanConstructor;
224
+ default: boolean;
225
+ };
226
+ }>> & Readonly<{}>, {
227
+ type: string;
228
+ color: string;
229
+ size: string;
230
+ height: number;
231
+ width: number;
232
+ inline: boolean;
233
+ customClass: string;
234
+ customSize: boolean;
235
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
236
+ QTooltip: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
237
+ id: {
238
+ type: StringConstructor;
239
+ default: string;
240
+ };
241
+ color: {
242
+ type: StringConstructor;
243
+ default: string;
244
+ };
245
+ controlled: {
246
+ type: BooleanConstructor;
247
+ default: boolean;
248
+ };
249
+ disabled: {
250
+ type: BooleanConstructor;
251
+ default: boolean;
252
+ };
253
+ noWrap: {
254
+ type: BooleanConstructor;
255
+ default: boolean;
256
+ };
257
+ position: {
258
+ type: StringConstructor;
259
+ default: string;
260
+ };
261
+ relative: {
262
+ type: BooleanConstructor;
263
+ default: boolean;
264
+ };
265
+ teleport: {
266
+ type: BooleanConstructor;
267
+ default: boolean;
268
+ };
269
+ teleportTo: {
270
+ type: StringConstructor;
271
+ default: string;
272
+ };
273
+ tooltipClasses: {
274
+ type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
275
+ default: string;
276
+ };
277
+ visible: {
278
+ type: BooleanConstructor;
279
+ default: boolean;
280
+ };
281
+ }>, {
282
+ tooltipStyle: import('vue').Ref<{
283
+ top: string;
284
+ left: string;
285
+ }, {
286
+ top: string;
287
+ left: string;
288
+ } | {
289
+ top: string;
290
+ left: string;
291
+ }>;
292
+ tooltipTarget: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
293
+ isVisible: import('vue').ComputedRef<boolean>;
294
+ hideTooltip: () => void;
295
+ showTooltip: () => void;
296
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
297
+ id: {
298
+ type: StringConstructor;
299
+ default: string;
300
+ };
301
+ color: {
302
+ type: StringConstructor;
303
+ default: string;
304
+ };
305
+ controlled: {
306
+ type: BooleanConstructor;
307
+ default: boolean;
308
+ };
309
+ disabled: {
310
+ type: BooleanConstructor;
311
+ default: boolean;
312
+ };
313
+ noWrap: {
314
+ type: BooleanConstructor;
315
+ default: boolean;
316
+ };
317
+ position: {
318
+ type: StringConstructor;
319
+ default: string;
320
+ };
321
+ relative: {
322
+ type: BooleanConstructor;
323
+ default: boolean;
324
+ };
325
+ teleport: {
326
+ type: BooleanConstructor;
327
+ default: boolean;
328
+ };
329
+ teleportTo: {
330
+ type: StringConstructor;
331
+ default: string;
332
+ };
333
+ tooltipClasses: {
334
+ type: (StringConstructor | ArrayConstructor | ObjectConstructor)[];
335
+ default: string;
336
+ };
337
+ visible: {
338
+ type: BooleanConstructor;
339
+ default: boolean;
340
+ };
341
+ }>> & Readonly<{}>, {
342
+ color: string;
343
+ position: string;
344
+ visible: boolean;
345
+ relative: boolean;
346
+ disabled: boolean;
347
+ id: string;
348
+ controlled: boolean;
349
+ noWrap: boolean;
350
+ teleport: boolean;
351
+ teleportTo: string;
352
+ tooltipClasses: string | Record<string, any> | unknown[];
353
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
354
+ }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
355
+ export type QEventType = typeof QEvent;
356
+ export default QEvent;
@@ -0,0 +1,33 @@
1
+ import { Meta, StoryObj } from '@storybook/vue3';
2
+ import { default as QEvent } from './event.vue';
3
+ /**
4
+ * The Event component displays calendar events with type-specific icons and colors.
5
+ *
6
+ * ## Event Types
7
+ * - **Event/Calendar**: Purple calendar icon
8
+ * - **Vendor**: Maroon shop icon
9
+ * - **Holiday**: Teal star icon
10
+ * - **Birthday**: Blue cake icon
11
+ * - **Inspection**: Orange tasks icon
12
+ * - **Other**: Gray announcement icon
13
+ */
14
+ declare const meta: Meta<typeof QEvent>;
15
+ export default meta;
16
+ type Story = StoryObj<typeof meta>;
17
+ export declare const Default: Story;
18
+ export declare const AllEventTypes: Story;
19
+ export declare const BirthdayEvent: Story;
20
+ export declare const InspectionEvent: Story;
21
+ export declare const HolidayEvent: Story;
22
+ export declare const VendorEvent: Story;
23
+ export declare const MultiDayEvent: Story;
24
+ export declare const LongDateFormat: Story;
25
+ export declare const WithYear: Story;
26
+ export declare const TwentyFourHourFormat: Story;
27
+ export declare const HideTime: Story;
28
+ export declare const CompactMode: Story;
29
+ export declare const WithExtraSlot: Story;
30
+ export declare const CustomDateTimeSlot: Story;
31
+ export declare const CustomDateFormatter: Story;
32
+ export declare const EventList: Story;
33
+ export declare const APIResponseExample: Story;
@@ -0,0 +1,2 @@
1
+ export * from './event.js';
2
+ export { default } from './event.js';
@@ -310,7 +310,7 @@ declare const QRoomDetailsPopover: import('vue').DefineComponent<import('vue').E
310
310
  getRoomNotices: () => Promise<void>;
311
311
  getSharedData: () => Promise<void>;
312
312
  getStayDetails: () => Promise<void>;
313
- getTicketColor: (ticketType: any) => "red-30" | "green-20" | "maroon-30" | "teal-10" | "orange-20" | undefined;
313
+ getTicketColor: (ticketType: any) => "red-30" | "maroon-30" | "green-20" | "teal-10" | "orange-20" | undefined;
314
314
  getTicketIcon: (ticketType: any) => "check" | "hammer" | "phone" | "face-frown" | "concierge-bell" | undefined;
315
315
  getTickets: () => Promise<void>;
316
316
  handleFailedResponse: (response: any) => Promise<any>;
@@ -19,6 +19,7 @@ export { default as QDataTableHead } from './components/data-table-head/data-tab
19
19
  export { default as QDatePicker } from './components/date-picker/date-picker.vue';
20
20
  export { default as QDivider } from './components/divider/divider.vue';
21
21
  export { default as QErrorModal } from './components/modal/variants/error-modal/error-modal.vue';
22
+ export { default as QEvent } from './components/event/event.vue';
22
23
  export { default as QFileUpload } from './components/file-upload/file-upload.vue';
23
24
  export { default as QFooterActions } from './components/footer-actions/footer-actions.vue';
24
25
  export { default as QFormGroup } from './components/form-group/form-group.vue';
@@ -48,7 +49,8 @@ export { default as QTooltip } from './components/tooltip/tooltip.vue';
48
49
  export { default as QTour } from './components/tour/tour.vue';
49
50
  export { default as QWarningModal } from './components/modal/variants/warning-modal/warning-modal.vue';
50
51
  export { default as QWysiwyg } from './components/wysiwyg/wysiwyg.vue';
51
- export type { CalendarDate, CalendarMonth, CalendarView, ContinuousCalendarData } from './components/calendar/calendar';
52
+ export type { CalendarDate, CalendarMonth, CalendarView, ContinuousCalendarData, PrimaryMonth } from './components/calendar/calendar';
53
+ export type { EventData, EventTypeName, EventTypeConfig } from './components/event/event';
52
54
  export type { MenuItem } from './components/menu/menu';
53
55
  export type { IconActionOption } from './components/icon-action-group/icon-action-group';
54
56
  export type { QTourStep } from './components/tour/tour';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@quoreadmin/ui",
3
3
  "private": false,
4
- "version": "1.5.0",
4
+ "version": "1.6.0",
5
5
  "type": "module",
6
6
  "sideEffects": [
7
7
  "**/*.css",