@revolugo/elements 5.5.5-rc.9 → 5.5.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (250) hide show
  1. package/dist/css/revolugo.0.min.css +5 -0
  2. package/dist/css/revolugo.1.min.css +1 -0
  3. package/dist/css/revolugo.11.min.css +1 -0
  4. package/dist/css/revolugo.12.min.css +1 -0
  5. package/dist/css/revolugo.13.min.css +1 -0
  6. package/dist/css/revolugo.14.min.css +1 -0
  7. package/dist/css/revolugo.15.min.css +1 -0
  8. package/dist/css/revolugo.16.min.css +1 -0
  9. package/dist/css/revolugo.17.min.css +1 -0
  10. package/dist/css/revolugo.18.min.css +1 -0
  11. package/dist/css/revolugo.19.min.css +1 -0
  12. package/dist/css/revolugo.2.min.css +1 -0
  13. package/dist/css/revolugo.20.min.css +1 -0
  14. package/dist/css/revolugo.21.min.css +1 -0
  15. package/dist/css/revolugo.22.min.css +1 -0
  16. package/dist/css/revolugo.23.min.css +1 -0
  17. package/dist/css/revolugo.24.min.css +1 -0
  18. package/dist/css/revolugo.25.min.css +1 -0
  19. package/dist/css/revolugo.26.min.css +1 -0
  20. package/dist/css/revolugo.27.min.css +1 -0
  21. package/dist/css/revolugo.28.min.css +1 -0
  22. package/dist/css/revolugo.29.min.css +1 -0
  23. package/dist/css/revolugo.30.min.css +1 -0
  24. package/dist/css/revolugo.31.min.css +1 -0
  25. package/dist/css/revolugo.32.min.css +1 -0
  26. package/dist/css/revolugo.33.min.css +1 -0
  27. package/dist/css/revolugo.34.min.css +1 -0
  28. package/dist/css/revolugo.35.min.css +1 -0
  29. package/dist/css/revolugo.4.min.css +1 -0
  30. package/dist/css/revolugo.5.min.css +1 -0
  31. package/dist/css/revolugo.6.min.css +1 -0
  32. package/dist/css/revolugo.7.min.css +1 -0
  33. package/dist/css/revolugo.fonts.min.css +1 -0
  34. package/dist/fonts/amenities.2aad1d12.woff +0 -0
  35. package/dist/fonts/amenities.9adae269.ttf +0 -0
  36. package/dist/fonts/amenities.a9bf50f8.svg +42 -0
  37. package/dist/fonts/amenities.bd6b3a4a.eot +0 -0
  38. package/dist/fonts/beds.2b8e38c8.svg +12 -0
  39. package/dist/img/apst.c1092975.png +0 -0
  40. package/dist/img/apst.ec7669f2.png +0 -0
  41. package/dist/img/atout-france.72107e30.png +0 -0
  42. package/dist/img/atout-france.df038f22.png +0 -0
  43. package/dist/img/revolugo.179c459d.png +0 -0
  44. package/dist/img/revolugo.e0879dcc.png +0 -0
  45. package/dist/img/stripe.405543e2.png +0 -0
  46. package/dist/img/stripe.c3e16f9f.png +0 -0
  47. package/dist/index.min.js +1 -65
  48. package/dist/revolugo.0.min.js +18 -0
  49. package/dist/revolugo.1.min.js +1 -0
  50. package/dist/revolugo.11.min.js +134 -0
  51. package/dist/revolugo.12.min.js +19 -0
  52. package/dist/revolugo.13.min.js +14 -0
  53. package/dist/revolugo.14.min.js +14 -0
  54. package/dist/revolugo.15.min.js +19 -0
  55. package/dist/revolugo.16.min.js +139 -0
  56. package/dist/revolugo.17.min.js +14 -0
  57. package/dist/revolugo.18.min.js +14 -0
  58. package/dist/revolugo.19.min.js +1 -0
  59. package/dist/revolugo.2.min.js +1 -0
  60. package/dist/revolugo.20.min.js +1 -0
  61. package/dist/revolugo.21.min.js +1 -0
  62. package/dist/revolugo.22.min.js +116 -0
  63. package/dist/revolugo.23.min.js +1 -0
  64. package/dist/revolugo.24.min.js +1 -0
  65. package/dist/revolugo.25.min.js +1 -0
  66. package/dist/revolugo.26.min.js +1 -0
  67. package/dist/revolugo.27.min.js +1 -0
  68. package/dist/revolugo.28.min.js +1 -0
  69. package/dist/revolugo.29.min.js +116 -0
  70. package/dist/revolugo.30.min.js +1 -0
  71. package/dist/revolugo.31.min.js +1 -0
  72. package/dist/revolugo.32.min.js +1 -0
  73. package/dist/revolugo.33.min.js +1 -0
  74. package/dist/revolugo.34.min.js +1 -0
  75. package/dist/revolugo.35.min.js +1 -0
  76. package/dist/revolugo.36.min.js +1 -0
  77. package/dist/revolugo.37.min.js +1 -0
  78. package/dist/revolugo.4.min.js +1 -0
  79. package/dist/revolugo.5.min.js +1 -0
  80. package/dist/revolugo.6.min.js +1 -0
  81. package/dist/revolugo.7.min.js +1 -0
  82. package/dist/revolugo.en-US.min.js +1 -0
  83. package/dist/revolugo.fonts.min.js +1 -0
  84. package/dist/revolugo.fr-FR.min.js +1 -0
  85. package/dist/revolugo.min.js +7 -260
  86. package/package.json +30 -23
  87. package/dist/css/fonts.css +0 -1
  88. package/dist/css/revolugo.bdaterangepicker.DEh20utH.css +0 -1
  89. package/dist/css/revolugo.bhotelroomsdetails.4XsxkvH7.css +0 -1
  90. package/dist/css/revolugo.bhotelsearchbar.dwYB1gUC.css +0 -1
  91. package/dist/css/revolugo.bookingdetailssidebar.tDtXpaIj.css +0 -1
  92. package/dist/css/revolugo.bphoneinput.Kq_-XiGI.css +0 -1
  93. package/dist/css/revolugo.bstarrating.nzH7iii4.css +0 -1
  94. package/dist/css/revolugo.btag.Bdbqb_8a.css +0 -1
  95. package/dist/css/revolugo.common.BSIsYREh.css +0 -1
  96. package/dist/css/revolugo.creditcardform.BGPUxkRC.css +0 -1
  97. package/dist/css/revolugo.creditcardpayment.0MNnDloZ.css +0 -1
  98. package/dist/css/revolugo.currencypicker.BRYsKdMu.css +0 -1
  99. package/dist/css/revolugo.fullbookingflow.BHV7_MhK.css +0 -1
  100. package/dist/css/revolugo.hotel-offer.CEd50mBT.css +0 -1
  101. package/dist/css/revolugo.hoteldescriptionview.9ofE1uWG.css +0 -1
  102. package/dist/css/revolugo.hoteloffersmap.0LnWfOu_.css +0 -1
  103. package/dist/css/revolugo.hoteloffersview.MWOmwEwv.css +0 -1
  104. package/dist/css/revolugo.hotelroomofferlist.xJfKaofV.css +0 -1
  105. package/dist/css/revolugo.hotelroomoffersbookingflow.PPEIqHuM.css +0 -1
  106. package/dist/css/revolugo.hotelroomoffersview.B8Y-2QYc.css +0 -1
  107. package/dist/css/revolugo.index.BMkl7a3p.css +0 -1
  108. package/dist/css/revolugo.index.CFW4Oklv.css +0 -1
  109. package/dist/css/revolugo.index.vq4xksqn.css +0 -1
  110. package/dist/css/revolugo.langpicker.B3TsOwUq.css +0 -1
  111. package/dist/css/revolugo.parsed-height.Xzhpy3D3.css +0 -1
  112. package/dist/css/revolugo.parsed-props.C3kOvm7T.css +0 -1
  113. package/dist/css/revolugo.prebookform.DBm2B4rS.css +0 -1
  114. package/dist/css/revolugo.revolugo-config.Dg8v1l3c.css +0 -5
  115. package/dist/css/revolugo.storybooktoolbar.CVnww0dZ.css +0 -1
  116. package/dist/css/revolugo.termsandconditions.DV2YnGzG.css +0 -1
  117. package/dist/css/revolugo.valert.BzcMswjJ.css +0 -1
  118. package/dist/css/revolugo.vautocomplete.OMX_yAge.css +0 -1
  119. package/dist/css/revolugo.vbadge.CiK_DSkI.css +0 -1
  120. package/dist/css/revolugo.vbtn.By46MJOU.css +0 -1
  121. package/dist/css/revolugo.vcard.DmB53ZNL.css +0 -1
  122. package/dist/css/revolugo.vchip.BdAdP6lC.css +0 -1
  123. package/dist/css/revolugo.vdialog.C02Cvwul.css +0 -1
  124. package/dist/css/revolugo.vexpansionpanelheader.B2eKo8Lo.css +0 -1
  125. package/dist/css/revolugo.vinput.SfhpXNi0.css +0 -1
  126. package/dist/css/revolugo.vitemgroup.EbHsz8Rr.css +0 -1
  127. package/dist/css/revolugo.vlistitem.BzwNE1YK.css +0 -1
  128. package/dist/css/revolugo.vmenu.BKE0IO4q.css +0 -1
  129. package/dist/css/revolugo.vselect.DljSkk6y.css +0 -1
  130. package/dist/css/revolugo.vsheet.Dtdo2Rps.css +0 -1
  131. package/dist/css/revolugo.vskeletonloader.BpGoaAbZ.css +0 -1
  132. package/dist/css/revolugo.vslidegroup.D5TIbmaw.css +0 -1
  133. package/dist/css/revolugo.vsnackbar.DTAXPYkr.css +0 -1
  134. package/dist/css/revolugo.vtextfield.BliJY6uv.css +0 -1
  135. package/dist/css/revolugo.vtoolbar.DQsezjcM.css +0 -1
  136. package/dist/css/revolugo.vtooltip.B_oOB9pj.css +0 -1
  137. package/dist/css/revolugo.vuetify.BpIoHlAi.css +0 -1
  138. package/dist/css/revolugo.webcomponentwrapper.BRZRuwZ0.css +0 -1
  139. package/dist/index.es.min.js +0 -14203
  140. package/dist/index.es.min.js.map +0 -1
  141. package/dist/index.min.js.map +0 -1
  142. package/dist/revolugo.banktransferdetails.BizR-rRI.min.js +0 -105
  143. package/dist/revolugo.bbreakfastoptionbadge.B7i2HO4j.min.js +0 -62
  144. package/dist/revolugo.bdaterangepicker.S6or4pKG.min.js +0 -1351
  145. package/dist/revolugo.bformattedamount.b9Kq7aJt.min.js +0 -82
  146. package/dist/revolugo.bhotelroomsdetails.CZnD6K9I.min.js +0 -213
  147. package/dist/revolugo.bhotelsearchbar.BqvoePCQ.min.js +0 -446
  148. package/dist/revolugo.booking-api-client.DiqqOOFv.min.js +0 -7680
  149. package/dist/revolugo.bookingdetailssidebar.Bfbk59f9.min.js +0 -242
  150. package/dist/revolugo.bookingdetailssidebar.d7t71nic.min.js +0 -28
  151. package/dist/revolugo.bookingmanager.DKrJHtvs.min.js +0 -404
  152. package/dist/revolugo.bphoneinput.BZevDjso.min.js +0 -1935
  153. package/dist/revolugo.bpricesummaryskeleton.Dr-IXzQj.min.js +0 -47
  154. package/dist/revolugo.breakpoint-service.Bdi4f4LL.min.js +0 -65
  155. package/dist/revolugo.bstarrating.C1e3VjIg.min.js +0 -173
  156. package/dist/revolugo.btag.ynoHdYtY.min.js +0 -68
  157. package/dist/revolugo.cancellationpoliciesbadge.DZay7gI5.min.js +0 -28
  158. package/dist/revolugo.cancellationpoliciesbadge.Doo8xToy.min.js +0 -76
  159. package/dist/revolugo.cancellationpolicieslist.CZEYlDTa.min.js +0 -28
  160. package/dist/revolugo.cancellationpolicieslist.DXv5Z9hC.min.js +0 -316
  161. package/dist/revolugo.common.B8ukCAYr.min.js +0 -34
  162. package/dist/revolugo.creditcardform.7gTSzV5W.min.js +0 -2047
  163. package/dist/revolugo.creditcardform.SmEMmTLR.min.js +0 -28
  164. package/dist/revolugo.creditcardpayment.DQlxkhJS.min.js +0 -288
  165. package/dist/revolugo.creditcardpayment.DtXrvXH4.min.js +0 -28
  166. package/dist/revolugo.currencypicker.BCNyv5ii.min.js +0 -122
  167. package/dist/revolugo.currencypickerbtn.BF9FgIdV.min.js +0 -121
  168. package/dist/revolugo.currencypickerbtn.BWgg2zFw.min.js +0 -28
  169. package/dist/revolugo.dialog-attach.CLehyi_Z.min.js +0 -27
  170. package/dist/revolugo.en-us.BP-UxrRq.min.js +0 -1171
  171. package/dist/revolugo.event-bus.CYLYgD3Y.min.js +0 -37
  172. package/dist/revolugo.fastbookingflow.CBRdWsow.min.js +0 -37
  173. package/dist/revolugo.fr-fr.CF_knN5b.min.js +0 -1177
  174. package/dist/revolugo.fullbookingflow.BJd4ny2A.min.js +0 -239
  175. package/dist/revolugo.hotel-offer.DzBqMuPb.min.js +0 -608
  176. package/dist/revolugo.hoteldescriptionview.CGdmUTg0.min.js +0 -28
  177. package/dist/revolugo.hoteldescriptionview.lCnbS6b4.min.js +0 -2174
  178. package/dist/revolugo.hotelofferitemlayout.DXXrORSY.min.js +0 -64
  179. package/dist/revolugo.hotelofferlist.BxfZD-Hx.min.js +0 -28
  180. package/dist/revolugo.hotelofferlist.DKU3x1vK.min.js +0 -3779
  181. package/dist/revolugo.hotelofferrequestcreator.BKtwbR1c.min.js +0 -225
  182. package/dist/revolugo.hoteloffersearchmenu.YDC-swcZ.min.js +0 -54
  183. package/dist/revolugo.hoteloffersmap.ChURKCgn.min.js +0 -28
  184. package/dist/revolugo.hoteloffersmap.DJMCqwEM.min.js +0 -8737
  185. package/dist/revolugo.hoteloffersview.BWW1PvKj.min.js +0 -157
  186. package/dist/revolugo.hoteloffersview.DeV2kko1.min.js +0 -28
  187. package/dist/revolugo.hotelroomofferlist.CQxO5ol9.min.js +0 -28
  188. package/dist/revolugo.hotelroomofferlist.wOCXtTfR.min.js +0 -1336
  189. package/dist/revolugo.hotelroomofferrequestcreator.D-DxsDfm.min.js +0 -225
  190. package/dist/revolugo.hotelroomoffersbookingflow.CWjPCnhZ.min.js +0 -679
  191. package/dist/revolugo.hotelroomoffersearchmenu.Cwq9AvP9.min.js +0 -38
  192. package/dist/revolugo.hotelroomoffersearchmenu.D1Dm7gll.min.js +0 -29
  193. package/dist/revolugo.hotelroomoffersview.CurXk1Qa.min.js +0 -28
  194. package/dist/revolugo.hotelroomoffersview.DSLdqExT.min.js +0 -124
  195. package/dist/revolugo.i18n.CRsrl-Pc.min.js +0 -11271
  196. package/dist/revolugo.index.BDiaVuDm.min.js +0 -13
  197. package/dist/revolugo.index.BKI-x0X1.min.js +0 -15
  198. package/dist/revolugo.index.BaOVjjbA.min.js +0 -270
  199. package/dist/revolugo.index.Bd4gj7lY.min.js +0 -281
  200. package/dist/revolugo.index.CaW0A4-I.min.js +0 -128
  201. package/dist/revolugo.index.ChwgO4PY.min.js +0 -9
  202. package/dist/revolugo.index.CrUqCwlt.min.js +0 -43
  203. package/dist/revolugo.index.D9oFW8GL.min.js +0 -142
  204. package/dist/revolugo.index.DdfBQ-Rf.min.js +0 -68
  205. package/dist/revolugo.index.Dzk2SkvT.min.js +0 -322
  206. package/dist/revolugo.index.EYgmKzgP.min.js +0 -161
  207. package/dist/revolugo.index.XyUtDK9P.min.js +0 -9
  208. package/dist/revolugo.index.m6ONybqj.min.js +0 -390
  209. package/dist/revolugo.index.tMtdwus3.min.js +0 -42
  210. package/dist/revolugo.langpicker.l4d8BoJv.min.js +0 -103
  211. package/dist/revolugo.langpickerbtn.9pVysmgl.min.js +0 -111
  212. package/dist/revolugo.langpickerbtn.KLFzIU2U.min.js +0 -28
  213. package/dist/revolugo.localizedformat.kGeR9TO1.min.js +0 -47
  214. package/dist/revolugo.parsed-height.RjM3ROVm.min.js +0 -2492
  215. package/dist/revolugo.parsed-props.CeKdpJq1.min.js +0 -95
  216. package/dist/revolugo.prebookform.B9hptGJt.min.js +0 -483
  217. package/dist/revolugo.prebookform.C20WiiJU.min.js +0 -28
  218. package/dist/revolugo.revolugo-config.BBCvt4tY.min.js +0 -1707
  219. package/dist/revolugo.roominglisteditor.BQFRMTqN.min.js +0 -28
  220. package/dist/revolugo.roominglisteditor.DKudFq9U.min.js +0 -201
  221. package/dist/revolugo.sentry.xhJk8885.min.js +0 -12206
  222. package/dist/revolugo.store.Dg4TGX2q.min.js +0 -1718
  223. package/dist/revolugo.storybooktoolbar.6FB21Mqr.min.js +0 -300
  224. package/dist/revolugo.termsandconditions.AVL5ZYgL.min.js +0 -27
  225. package/dist/revolugo.termsandconditions.eAt9qptD.min.js +0 -162
  226. package/dist/revolugo.typed-mixins.CXpTuH4X.min.js +0 -8
  227. package/dist/revolugo.valert.C1kuupGe.min.js +0 -194
  228. package/dist/revolugo.vautocomplete.C4l-Ka2p.min.js +0 -255
  229. package/dist/revolugo.vbadge.BBQRY5xR.min.js +0 -172
  230. package/dist/revolugo.vbtn.DeuwYrz5.min.js +0 -286
  231. package/dist/revolugo.vcard.BKxRQQ01.min.js +0 -80
  232. package/dist/revolugo.vchip.CEc65kMd.min.js +0 -157
  233. package/dist/revolugo.vdialog.C9783vta.min.js +0 -341
  234. package/dist/revolugo.vexpansionpanelheader.Cr3QVtbD.min.js +0 -263
  235. package/dist/revolugo.vform.CsA6cOOm.min.js +0 -98
  236. package/dist/revolugo.vinput.B2IMBlIc.min.js +0 -509
  237. package/dist/revolugo.vitemgroup.D3TxEClV.min.js +0 -168
  238. package/dist/revolugo.vlistitem.KnCHREOd.min.js +0 -204
  239. package/dist/revolugo.vmenu.wrYJ1_Jd.min.js +0 -349
  240. package/dist/revolugo.vselect.C2jjNX-T.min.js +0 -859
  241. package/dist/revolugo.vsheet.DfK-4KUu.min.js +0 -120
  242. package/dist/revolugo.vskeletonloader.CNAsjf23.min.js +0 -172
  243. package/dist/revolugo.vslidegroup.k_V57iVz.min.js +0 -650
  244. package/dist/revolugo.vsnackbar.C0_FaHQ5.min.js +0 -178
  245. package/dist/revolugo.vtextfield.BI1xVkms.min.js +0 -438
  246. package/dist/revolugo.vtoolbar.CQGrg3aT.min.js +0 -364
  247. package/dist/revolugo.vtooltip.CiB9pLhM.min.js +0 -168
  248. package/dist/revolugo.vuetify.CTFxOcuS.min.js +0 -865
  249. package/dist/revolugo.watch-list.DwvyzUAT.min.js +0 -44
  250. package/dist/revolugo.webcomponentwrapper.DUSo7NhW.min.js +0 -777
@@ -1,1351 +0,0 @@
1
- import { V as M, d as m, x as V, O as Y } from "./revolugo.i18n.CRsrl-Pc.min.js";
2
- import { b as N } from "./revolugo.breakpoint-service.Bdi4f4LL.min.js";
3
- import { m as c, C as f, T as v, g as A, c as R, l as W, n as U, _ as D, a as y } from "./revolugo.webcomponentwrapper.DUSo7NhW.min.js";
4
- import "./revolugo.common.B8ukCAYr.min.js";
5
- import { _ as w } from "./revolugo.index.m6ONybqj.min.js";
6
- import { B as j, I as H, J as x, h as Z, C as E, q as z } from "./revolugo.revolugo-config.BBCvt4tY.min.js";
7
- import { _ as q } from "./revolugo.vbtn.DeuwYrz5.min.js";
8
- import { T as G } from "./revolugo.vuetify.CTFxOcuS.min.js";
9
- import "./revolugo.vcard.BKxRQQ01.min.js";
10
- import { E as F } from "./revolugo.vsheet.DfK-4KUu.min.js";
11
- import { _ as X } from "./revolugo.parsed-props.CeKdpJq1.min.js";
12
- function O(t) {
13
- try {
14
- if (typeof document < "u") {
15
- window.REVOLUGO_ELEMENTS_STYLES = window.REVOLUGO_ELEMENTS_STYLES || {
16
- sheets: [],
17
- components: []
18
- };
19
- const e = import.meta.url, i = e.slice(0, e.lastIndexOf("/") + 1) + t;
20
- window.REVOLUGO_ELEMENTS_STYLES.sheets.push(i);
21
- for (const s of REVOLUGO_ELEMENTS_STYLES.components)
22
- s(i);
23
- if (t.indexOf("fonts") >= 0) {
24
- const s = document.createElement("link");
25
- s.rel = "stylesheet", linK.href = i, document.head.appendChild(s);
26
- }
27
- }
28
- } catch (e) {
29
- console.error("[revolugo-elements] ", e);
30
- }
31
- }
32
- const k = M.extend({
33
- name: "localable",
34
- props: {
35
- locale: String
36
- },
37
- computed: {
38
- currentLocale() {
39
- return this.locale || this.$vuetify.lang.current;
40
- }
41
- }
42
- });
43
- function J(t, e = 0, i = 1) {
44
- let s;
45
- return t < 100 && t >= 0 ? (s = new Date(Date.UTC(t, e, i)), isFinite(s.getUTCFullYear()) && s.setUTCFullYear(t)) : s = new Date(Date.UTC(t, e, i)), s;
46
- }
47
- function _(t, e, i) {
48
- const s = 7 + e - i;
49
- return -((7 + J(t, 0, s).getUTCDay() - e) % 7) + s - 1;
50
- }
51
- function K(t, e, i, s) {
52
- let n = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][e];
53
- return e > 1 && C(t) && n++, n + i;
54
- }
55
- function $(t, e, i) {
56
- const s = _(t, e, i), n = _(t + 1, e, i);
57
- return ((C(t) ? 366 : 365) - s + n) / 7;
58
- }
59
- function Q(t, e, i, s, n) {
60
- const r = _(t, s, n), a = Math.ceil((K(t, e, i) - r) / 7);
61
- return a < 1 ? a + $(t - 1, s, n) : a > $(t, s, n) ? a - $(t, s, n) : a;
62
- }
63
- function C(t) {
64
- return t % 4 === 0 && t % 100 !== 0 || t % 400 === 0;
65
- }
66
- const tt = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], et = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
67
- function it(t, e) {
68
- return C(t) ? et[e] : tt[e];
69
- }
70
- const st = c(f).extend({
71
- methods: {
72
- genPickerButton(t, e, i, s = !1, n = "") {
73
- const r = this[t] === e, a = (o) => {
74
- o.stopPropagation(), this.$emit(`update:${j(t)}`, e);
75
- };
76
- return this.$createElement("div", {
77
- staticClass: `v-picker__title__btn ${n}`.trim(),
78
- class: {
79
- "v-picker__title__btn--active": r,
80
- "v-picker__title__btn--readonly": s
81
- },
82
- on: r || s ? void 0 : {
83
- click: a
84
- }
85
- }, Array.isArray(i) ? i : [i]);
86
- }
87
- }
88
- }), nt = c(
89
- st
90
- /* @vue/component */
91
- ).extend({
92
- name: "v-date-picker-title",
93
- props: {
94
- date: {
95
- type: String,
96
- default: ""
97
- },
98
- disabled: Boolean,
99
- readonly: Boolean,
100
- selectingYear: Boolean,
101
- value: {
102
- type: String
103
- },
104
- year: {
105
- type: [Number, String],
106
- default: ""
107
- },
108
- yearIcon: {
109
- type: String
110
- }
111
- },
112
- data: () => ({
113
- isReversing: !1
114
- }),
115
- computed: {
116
- computedTransition() {
117
- return this.isReversing ? "picker-reverse-transition" : "picker-transition";
118
- }
119
- },
120
- watch: {
121
- value(t, e) {
122
- this.isReversing = t < e;
123
- }
124
- },
125
- methods: {
126
- genYearIcon() {
127
- return this.$createElement(w, {
128
- props: {
129
- dark: !0
130
- }
131
- }, this.yearIcon);
132
- },
133
- getYearBtn() {
134
- return this.genPickerButton("selectingYear", !0, [String(this.year), this.yearIcon ? this.genYearIcon() : null], !1, "v-date-picker-title__year");
135
- },
136
- genTitleText() {
137
- return this.$createElement("transition", {
138
- props: {
139
- name: this.computedTransition
140
- }
141
- }, [this.$createElement("div", {
142
- domProps: {
143
- innerHTML: this.date || "&nbsp;"
144
- },
145
- key: this.value
146
- })]);
147
- },
148
- genTitleDate() {
149
- return this.genPickerButton("selectingYear", !1, [this.genTitleText()], !1, "v-date-picker-title__date");
150
- }
151
- },
152
- render(t) {
153
- return t("div", {
154
- staticClass: "v-date-picker-title",
155
- class: {
156
- "v-date-picker-title--disabled": this.disabled
157
- }
158
- }, [this.getYearBtn(), this.genTitleDate()]);
159
- }
160
- });
161
- function B(t, e, i) {
162
- return Object.keys(t.$listeners).reduce((s, n) => (n.endsWith(e) && (s[n.slice(0, -e.length)] = (r) => t.$emit(n, i, r)), s), {});
163
- }
164
- function T(t, e) {
165
- return Object.keys(t.$listeners).reduce((i, s) => (s.endsWith(e) && (i[s] = t.$listeners[s]), i), {});
166
- }
167
- const rt = (t, e, i) => (e = e >> 0, t = String(t), i = String(i), t.length > e ? String(t) : (e = e - t.length, e > i.length && (i += i.repeat(e / i.length)), i.slice(0, e) + String(t))), l = (t, e = 2) => rt(t, e, "0");
168
- function p(t, e, i = {
169
- start: 0,
170
- length: 0
171
- }) {
172
- const s = (n) => {
173
- const [r, a, o] = n.trim().split(" ")[0].split("-");
174
- return [l(r, 4), l(a || 1), l(o || 1)].join("-");
175
- };
176
- try {
177
- const n = new Intl.DateTimeFormat(t || void 0, e);
178
- return (r) => n.format(/* @__PURE__ */ new Date(`${s(r)}T00:00:00+00:00`));
179
- } catch {
180
- return i.start || i.length ? (r) => s(r).substr(i.start || 0, i.length) : void 0;
181
- }
182
- }
183
- const P = (t, e) => {
184
- const [i, s] = t.split("-").map(Number);
185
- return s + e === 0 ? `${i - 1}-12` : s + e === 13 ? `${i + 1}-01` : `${i}-${l(s + e)}`;
186
- }, h = (t, e) => {
187
- const [i, s = 1, n = 1] = t.split("-");
188
- return `${i}-${l(s)}-${l(n)}`.substr(0, {
189
- date: 10,
190
- month: 7,
191
- year: 4
192
- }[e]);
193
- }, at = c(
194
- f,
195
- k,
196
- v
197
- /* @vue/component */
198
- ).extend({
199
- name: "v-date-picker-header",
200
- props: {
201
- disabled: Boolean,
202
- format: Function,
203
- min: String,
204
- max: String,
205
- nextAriaLabel: String,
206
- nextIcon: {
207
- type: String,
208
- default: "$next"
209
- },
210
- prevAriaLabel: String,
211
- prevIcon: {
212
- type: String,
213
- default: "$prev"
214
- },
215
- readonly: Boolean,
216
- value: {
217
- type: [Number, String],
218
- required: !0
219
- }
220
- },
221
- data() {
222
- return {
223
- isReversing: !1
224
- };
225
- },
226
- computed: {
227
- formatter() {
228
- return this.format ? this.format : String(this.value).split("-")[1] ? p(this.currentLocale, {
229
- month: "long",
230
- year: "numeric",
231
- timeZone: "UTC"
232
- }, {
233
- length: 7
234
- }) : p(this.currentLocale, {
235
- year: "numeric",
236
- timeZone: "UTC"
237
- }, {
238
- length: 4
239
- });
240
- }
241
- },
242
- watch: {
243
- value(t, e) {
244
- this.isReversing = t < e;
245
- }
246
- },
247
- methods: {
248
- genBtn(t) {
249
- const e = t > 0 ? this.nextAriaLabel : this.prevAriaLabel, i = e ? this.$vuetify.lang.t(e) : void 0, s = this.disabled || t < 0 && this.min && this.calculateChange(t) < this.min || t > 0 && this.max && this.calculateChange(t) > this.max;
250
- return this.$createElement(q, {
251
- attrs: {
252
- "aria-label": i
253
- },
254
- props: {
255
- dark: this.dark,
256
- disabled: s,
257
- icon: !0,
258
- light: this.light
259
- },
260
- on: {
261
- click: (n) => {
262
- n.stopPropagation(), this.$emit("input", this.calculateChange(t));
263
- }
264
- }
265
- }, [this.$createElement(w, t < 0 == !this.$vuetify.rtl ? this.prevIcon : this.nextIcon)]);
266
- },
267
- calculateChange(t) {
268
- const [e, i] = String(this.value).split("-").map(Number);
269
- return i == null ? `${e + t}` : P(String(this.value), t);
270
- },
271
- genHeader() {
272
- const t = !this.disabled && (this.color || "accent"), e = this.$createElement("div", this.setTextColor(t, {
273
- key: String(this.value)
274
- }), [this.$createElement("button", {
275
- attrs: {
276
- type: "button"
277
- },
278
- on: {
279
- click: () => this.$emit("toggle")
280
- }
281
- }, [this.$slots.default || this.formatter(String(this.value))])]), i = this.$createElement("transition", {
282
- props: {
283
- name: this.isReversing === !this.$vuetify.rtl ? "tab-reverse-transition" : "tab-transition"
284
- }
285
- }, [e]);
286
- return this.$createElement("div", {
287
- staticClass: "v-date-picker-header__value",
288
- class: {
289
- "v-date-picker-header__value--disabled": this.disabled
290
- }
291
- }, [i]);
292
- }
293
- },
294
- render() {
295
- return this.$createElement("div", {
296
- staticClass: "v-date-picker-header",
297
- class: {
298
- "v-date-picker-header--disabled": this.disabled,
299
- ...this.themeClasses
300
- }
301
- }, [this.genBtn(-1), this.genHeader(), this.genBtn(1)]);
302
- }
303
- });
304
- function I(t, e, i, s) {
305
- return (!s || s(t)) && (!e || t >= e.substr(0, 10)) && (!i || t <= i);
306
- }
307
- const L = c(
308
- f,
309
- k,
310
- v
311
- /* @vue/component */
312
- ).extend({
313
- directives: {
314
- Touch: G
315
- },
316
- props: {
317
- allowedDates: Function,
318
- current: String,
319
- disabled: Boolean,
320
- format: Function,
321
- events: {
322
- type: [Array, Function, Object],
323
- default: () => null
324
- },
325
- eventColor: {
326
- type: [Array, Function, Object, String],
327
- default: () => "warning"
328
- },
329
- min: String,
330
- max: String,
331
- range: Boolean,
332
- readonly: Boolean,
333
- scrollable: Boolean,
334
- tableDate: {
335
- type: String,
336
- required: !0
337
- },
338
- value: [String, Array]
339
- },
340
- data: () => ({
341
- isReversing: !1,
342
- wheelThrottle: null
343
- }),
344
- computed: {
345
- computedTransition() {
346
- return this.isReversing === !this.$vuetify.rtl ? "tab-reverse-transition" : "tab-transition";
347
- },
348
- displayedMonth() {
349
- return Number(this.tableDate.split("-")[1]) - 1;
350
- },
351
- displayedYear() {
352
- return Number(this.tableDate.split("-")[0]);
353
- }
354
- },
355
- watch: {
356
- tableDate(t, e) {
357
- this.isReversing = t < e;
358
- }
359
- },
360
- mounted() {
361
- this.wheelThrottle = H(this.wheel, 250);
362
- },
363
- methods: {
364
- genButtonClasses(t, e, i, s, n, r) {
365
- return {
366
- "v-size--default": !e,
367
- "v-date-picker-table__current": s,
368
- "v-btn--active": i,
369
- "v-btn--flat": !t || this.disabled,
370
- "v-btn--text": i === s,
371
- "v-btn--rounded": e,
372
- "v-btn--disabled": !t || this.disabled,
373
- "v-btn--outlined": s && !i,
374
- "v-date-picker--first-in-range": n,
375
- "v-date-picker--last-in-range": r,
376
- ...this.themeClasses
377
- };
378
- },
379
- genButtonEvents(t, e, i) {
380
- if (!this.disabled)
381
- return A({
382
- click: () => {
383
- e && !this.readonly && this.$emit("input", t);
384
- }
385
- }, B(this, `:${i}`, t));
386
- },
387
- genButton(t, e, i, s, n = !1) {
388
- const r = I(t, this.min, this.max, this.allowedDates), a = this.isSelected(t) && r, o = t === this.current, u = a ? this.setBackgroundColor : this.setTextColor, b = (a || o) && (this.color || "accent");
389
- let g = !1, d = !1;
390
- return this.range && this.value && Array.isArray(this.value) && (g = t === this.value[0], d = t === this.value[this.value.length - 1]), this.$createElement("button", u(b, {
391
- staticClass: "v-btn",
392
- class: this.genButtonClasses(r && !n, e, a, o, g, d),
393
- attrs: {
394
- type: "button"
395
- },
396
- domProps: {
397
- disabled: this.disabled || !r || n
398
- },
399
- on: this.genButtonEvents(t, r, i)
400
- }), [this.$createElement("div", {
401
- staticClass: "v-btn__content"
402
- }, [s(t)]), this.genEvents(t)]);
403
- },
404
- getEventColors(t) {
405
- const e = (n) => Array.isArray(n) ? n : [n];
406
- let i, s = [];
407
- if (Array.isArray(this.events) ? i = this.events.includes(t) : this.events instanceof Function ? i = this.events(t) || !1 : this.events ? i = this.events[t] || !1 : i = !1, i)
408
- i !== !0 ? s = e(i) : typeof this.eventColor == "string" ? s = [this.eventColor] : typeof this.eventColor == "function" ? s = e(this.eventColor(t)) : Array.isArray(this.eventColor) ? s = this.eventColor : s = e(this.eventColor[t]);
409
- else
410
- return [];
411
- return s.filter((n) => n);
412
- },
413
- genEvents(t) {
414
- const e = this.getEventColors(t);
415
- return e.length ? this.$createElement("div", {
416
- staticClass: "v-date-picker-table__events"
417
- }, e.map((i) => this.$createElement("div", this.setBackgroundColor(i)))) : null;
418
- },
419
- isValidScroll(t, e) {
420
- const i = e(t), s = i.split("-").length === 1 ? "year" : "month";
421
- return t < 0 && (this.min ? i >= h(this.min, s) : !0) || t > 0 && (this.max ? i <= h(this.max, s) : !0);
422
- },
423
- wheel(t, e) {
424
- this.$emit("update:table-date", e(t.deltaY));
425
- },
426
- touch(t, e) {
427
- this.$emit("update:table-date", e(t));
428
- },
429
- genTable(t, e, i) {
430
- const s = this.$createElement("transition", {
431
- props: {
432
- name: this.computedTransition
433
- }
434
- }, [this.$createElement("table", {
435
- key: this.tableDate
436
- }, e)]), n = {
437
- name: "touch",
438
- value: {
439
- left: (r) => r.offsetX < -15 && this.isValidScroll(1, i) && this.touch(1, i),
440
- right: (r) => r.offsetX > 15 && this.isValidScroll(-1, i) && this.touch(-1, i)
441
- }
442
- };
443
- return this.$createElement("div", {
444
- staticClass: t,
445
- class: {
446
- "v-date-picker-table--disabled": this.disabled,
447
- ...this.themeClasses
448
- },
449
- on: !this.disabled && this.scrollable ? {
450
- wheel: (r) => {
451
- r.preventDefault(), this.isValidScroll(r.deltaY, i) && this.wheelThrottle(r, i);
452
- }
453
- } : void 0,
454
- directives: [n]
455
- }, [s]);
456
- },
457
- isSelected(t) {
458
- if (Array.isArray(this.value))
459
- if (this.range && this.value.length === 2) {
460
- const [e, i] = [...this.value].sort();
461
- return e <= t && t <= i;
462
- } else
463
- return this.value.indexOf(t) !== -1;
464
- return t === this.value;
465
- }
466
- }
467
- }), lt = c(
468
- L
469
- /* @vue/component */
470
- ).extend({
471
- name: "v-date-picker-date-table",
472
- props: {
473
- firstDayOfWeek: {
474
- type: [String, Number],
475
- default: 0
476
- },
477
- localeFirstDayOfYear: {
478
- type: [String, Number],
479
- default: 0
480
- },
481
- showAdjacentMonths: Boolean,
482
- showWeek: Boolean,
483
- weekdayFormat: Function
484
- },
485
- computed: {
486
- formatter() {
487
- return this.format || p(this.currentLocale, {
488
- day: "numeric",
489
- timeZone: "UTC"
490
- }, {
491
- start: 8,
492
- length: 2
493
- });
494
- },
495
- weekdayFormatter() {
496
- return this.weekdayFormat || p(this.currentLocale, {
497
- weekday: "narrow",
498
- timeZone: "UTC"
499
- });
500
- },
501
- weekDays() {
502
- const t = parseInt(this.firstDayOfWeek, 10);
503
- return this.weekdayFormatter ? x(7).map((e) => this.weekdayFormatter(`2017-01-${t + e + 15}`)) : x(7).map((e) => ["S", "M", "T", "W", "T", "F", "S"][(e + t) % 7]);
504
- }
505
- },
506
- methods: {
507
- calculateTableDate(t) {
508
- return P(this.tableDate, Math.sign(t || 1));
509
- },
510
- genTHead() {
511
- const t = this.weekDays.map((e) => this.$createElement("th", e));
512
- return this.showWeek && t.unshift(this.$createElement("th")), this.$createElement("thead", this.genTR(t));
513
- },
514
- // Returns number of the days from the firstDayOfWeek to the first day of the current month
515
- weekDaysBeforeFirstDayOfTheMonth() {
516
- return ((/* @__PURE__ */ new Date(`${this.displayedYear}-${l(this.displayedMonth + 1)}-01T00:00:00+00:00`)).getUTCDay() - parseInt(this.firstDayOfWeek) + 7) % 7;
517
- },
518
- getWeekNumber(t) {
519
- return Q(this.displayedYear, this.displayedMonth, t, parseInt(this.firstDayOfWeek), parseInt(this.localeFirstDayOfYear));
520
- },
521
- genWeekNumber(t) {
522
- return this.$createElement("td", [this.$createElement("small", {
523
- staticClass: "v-date-picker-table--date__week"
524
- }, String(t).padStart(2, "0"))]);
525
- },
526
- // eslint-disable-next-line max-statements
527
- genTBody() {
528
- const t = [], e = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate();
529
- let i = [], s = this.weekDaysBeforeFirstDayOfTheMonth();
530
- this.showWeek && i.push(this.genWeekNumber(this.getWeekNumber(1)));
531
- const n = this.displayedMonth ? this.displayedYear : this.displayedYear - 1, r = (this.displayedMonth + 11) % 12, a = new Date(this.displayedYear, this.displayedMonth, 0).getDate(), o = this.showWeek ? 8 : 7;
532
- for (; s--; ) {
533
- const d = `${n}-${l(r + 1)}-${l(a - s)}`;
534
- i.push(this.$createElement("td", this.showAdjacentMonths ? [this.genButton(d, !0, "date", this.formatter, !0)] : []));
535
- }
536
- for (s = 1; s <= e; s++) {
537
- const d = `${this.displayedYear}-${l(this.displayedMonth + 1)}-${l(s)}`;
538
- i.push(this.$createElement("td", [this.genButton(d, !0, "date", this.formatter)])), i.length % o === 0 && (t.push(this.genTR(i)), i = [], this.showWeek && (s < e || this.showAdjacentMonths) && i.push(this.genWeekNumber(this.getWeekNumber(s + 7))));
539
- }
540
- const u = this.displayedMonth === 11 ? this.displayedYear + 1 : this.displayedYear, b = (this.displayedMonth + 1) % 12;
541
- let g = 1;
542
- for (; i.length < o; ) {
543
- const d = `${u}-${l(b + 1)}-${l(g++)}`;
544
- i.push(this.$createElement("td", this.showAdjacentMonths ? [this.genButton(d, !0, "date", this.formatter, !0)] : []));
545
- }
546
- return i.length && t.push(this.genTR(i)), this.$createElement("tbody", t);
547
- },
548
- genTR(t) {
549
- return [this.$createElement("tr", t)];
550
- }
551
- },
552
- render() {
553
- return this.genTable("v-date-picker-table v-date-picker-table--date", [this.genTHead(), this.genTBody()], this.calculateTableDate);
554
- }
555
- }), ot = c(
556
- L
557
- /* @vue/component */
558
- ).extend({
559
- name: "v-date-picker-month-table",
560
- computed: {
561
- formatter() {
562
- return this.format || p(this.currentLocale, {
563
- month: "short",
564
- timeZone: "UTC"
565
- }, {
566
- start: 5,
567
- length: 2
568
- });
569
- }
570
- },
571
- methods: {
572
- calculateTableDate(t) {
573
- return `${parseInt(this.tableDate, 10) + Math.sign(t || 1)}`;
574
- },
575
- genTBody() {
576
- const t = [], e = Array(3).fill(null), i = 12 / e.length;
577
- for (let s = 0; s < i; s++) {
578
- const n = e.map((r, a) => {
579
- const o = s * e.length + a, u = `${this.displayedYear}-${l(o + 1)}`;
580
- return this.$createElement("td", {
581
- key: o
582
- }, [this.genButton(u, !1, "month", this.formatter)]);
583
- });
584
- t.push(this.$createElement("tr", {
585
- key: s
586
- }, n));
587
- }
588
- return this.$createElement("tbody", t);
589
- }
590
- },
591
- render() {
592
- return this.genTable("v-date-picker-table v-date-picker-table--month", [this.genTBody()], this.calculateTableDate);
593
- }
594
- }), ht = c(
595
- f,
596
- k
597
- /* @vue/component */
598
- ).extend({
599
- name: "v-date-picker-years",
600
- props: {
601
- format: Function,
602
- min: [Number, String],
603
- max: [Number, String],
604
- readonly: Boolean,
605
- value: [Number, String]
606
- },
607
- data() {
608
- return {
609
- defaultColor: "primary"
610
- };
611
- },
612
- computed: {
613
- formatter() {
614
- return this.format || p(this.currentLocale, {
615
- year: "numeric",
616
- timeZone: "UTC"
617
- }, {
618
- length: 4
619
- });
620
- }
621
- },
622
- mounted() {
623
- setTimeout(() => {
624
- const t = this.$el.getElementsByClassName("active")[0];
625
- t ? this.$el.scrollTop = t.offsetTop - this.$el.offsetHeight / 2 + t.offsetHeight / 2 : this.min && !this.max ? this.$el.scrollTop = this.$el.scrollHeight : !this.min && this.max ? this.$el.scrollTop = 0 : this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2;
626
- });
627
- },
628
- methods: {
629
- genYearItem(t) {
630
- const e = this.formatter(`${t}`), i = parseInt(this.value, 10) === t, s = i && (this.color || "primary");
631
- return this.$createElement("li", this.setTextColor(s, {
632
- key: t,
633
- class: {
634
- active: i
635
- },
636
- on: A({
637
- click: () => this.$emit("input", t)
638
- }, B(this, ":year", t))
639
- }), e);
640
- },
641
- genYearItems() {
642
- const t = [], e = this.value ? parseInt(this.value, 10) : (/* @__PURE__ */ new Date()).getFullYear(), i = this.max ? parseInt(this.max, 10) : e + 100, s = Math.min(i, this.min ? parseInt(this.min, 10) : e - 100);
643
- for (let n = i; n >= s; n--)
644
- t.push(this.genYearItem(n));
645
- return t;
646
- }
647
- },
648
- render() {
649
- return this.$createElement("ul", {
650
- staticClass: "v-date-picker-years",
651
- ref: "years"
652
- }, this.genYearItems());
653
- }
654
- }), ct = c(f, F, v).extend({
655
- name: "v-picker",
656
- props: {
657
- flat: Boolean,
658
- fullWidth: Boolean,
659
- landscape: Boolean,
660
- noTitle: Boolean,
661
- transition: {
662
- type: String,
663
- default: "fade-transition"
664
- },
665
- width: {
666
- type: [Number, String],
667
- default: 290
668
- }
669
- },
670
- computed: {
671
- computedTitleColor() {
672
- const t = this.isDark ? !1 : this.color || "primary";
673
- return this.color || t;
674
- }
675
- },
676
- methods: {
677
- genTitle() {
678
- return this.$createElement("div", this.setBackgroundColor(this.computedTitleColor, {
679
- staticClass: "v-picker__title",
680
- class: {
681
- "v-picker__title--landscape": this.landscape
682
- }
683
- }), this.$slots.title);
684
- },
685
- genBodyTransition() {
686
- return this.$createElement("transition", {
687
- props: {
688
- name: this.transition
689
- }
690
- }, this.$slots.default);
691
- },
692
- genBody() {
693
- return this.$createElement("div", {
694
- staticClass: "v-picker__body",
695
- class: {
696
- "v-picker__body--no-title": this.noTitle,
697
- ...this.themeClasses
698
- },
699
- style: this.fullWidth ? void 0 : {
700
- width: Z(this.width)
701
- }
702
- }, [this.genBodyTransition()]);
703
- },
704
- genActions() {
705
- return this.$createElement("div", {
706
- staticClass: "v-picker__actions v-card__actions",
707
- class: {
708
- "v-picker__actions--no-title": this.noTitle
709
- }
710
- }, this.$slots.actions);
711
- }
712
- },
713
- render(t) {
714
- return t("div", {
715
- staticClass: "v-picker v-card",
716
- class: {
717
- "v-picker--flat": this.flat,
718
- "v-picker--landscape": this.landscape,
719
- "v-picker--full-width": this.fullWidth,
720
- ...this.themeClasses,
721
- ...this.elevationClasses
722
- }
723
- }, [this.$slots.title ? this.genTitle() : null, this.genBody(), this.$slots.actions ? this.genActions() : null]);
724
- }
725
- }), ut = c(
726
- f,
727
- F,
728
- v
729
- /* @vue/component */
730
- ).extend({
731
- name: "picker",
732
- props: {
733
- flat: Boolean,
734
- fullWidth: Boolean,
735
- headerColor: String,
736
- landscape: Boolean,
737
- noTitle: Boolean,
738
- width: {
739
- type: [Number, String],
740
- default: 290
741
- }
742
- },
743
- methods: {
744
- genPickerTitle() {
745
- return null;
746
- },
747
- genPickerBody() {
748
- return null;
749
- },
750
- genPickerActionsSlot() {
751
- return this.$scopedSlots.default ? this.$scopedSlots.default({
752
- save: this.save,
753
- cancel: this.cancel
754
- }) : this.$slots.default;
755
- },
756
- genPicker(t) {
757
- const e = [];
758
- if (!this.noTitle) {
759
- const s = this.genPickerTitle();
760
- s && e.push(s);
761
- }
762
- const i = this.genPickerBody();
763
- return i && e.push(i), e.push(this.$createElement("template", {
764
- slot: "actions"
765
- }, [this.genPickerActionsSlot()])), this.$createElement(ct, {
766
- staticClass: t,
767
- props: {
768
- color: this.headerColor || this.color,
769
- dark: this.dark,
770
- elevation: this.elevation,
771
- flat: this.flat,
772
- fullWidth: this.fullWidth,
773
- landscape: this.landscape,
774
- light: this.light,
775
- width: this.width,
776
- noTitle: this.noTitle
777
- }
778
- }, e);
779
- }
780
- }
781
- }), S = c(k, ut).extend({
782
- name: "v-date-picker",
783
- props: {
784
- activePicker: String,
785
- allowedDates: Function,
786
- // Function formatting the day in date picker table
787
- dayFormat: Function,
788
- disabled: Boolean,
789
- events: {
790
- type: [Array, Function, Object],
791
- default: () => null
792
- },
793
- eventColor: {
794
- type: [Array, Function, Object, String],
795
- default: () => "warning"
796
- },
797
- firstDayOfWeek: {
798
- type: [String, Number],
799
- default: 0
800
- },
801
- // Function formatting the tableDate in the day/month table header
802
- headerDateFormat: Function,
803
- localeFirstDayOfYear: {
804
- type: [String, Number],
805
- default: 0
806
- },
807
- max: String,
808
- min: String,
809
- // Function formatting month in the months table
810
- monthFormat: Function,
811
- multiple: Boolean,
812
- nextIcon: {
813
- type: String,
814
- default: "$next"
815
- },
816
- nextMonthAriaLabel: {
817
- type: String,
818
- default: "$vuetify.datePicker.nextMonthAriaLabel"
819
- },
820
- nextYearAriaLabel: {
821
- type: String,
822
- default: "$vuetify.datePicker.nextYearAriaLabel"
823
- },
824
- pickerDate: String,
825
- prevIcon: {
826
- type: String,
827
- default: "$prev"
828
- },
829
- prevMonthAriaLabel: {
830
- type: String,
831
- default: "$vuetify.datePicker.prevMonthAriaLabel"
832
- },
833
- prevYearAriaLabel: {
834
- type: String,
835
- default: "$vuetify.datePicker.prevYearAriaLabel"
836
- },
837
- range: Boolean,
838
- reactive: Boolean,
839
- readonly: Boolean,
840
- scrollable: Boolean,
841
- showCurrent: {
842
- type: [Boolean, String],
843
- default: !0
844
- },
845
- selectedItemsText: {
846
- type: String,
847
- default: "$vuetify.datePicker.itemsSelected"
848
- },
849
- showAdjacentMonths: Boolean,
850
- showWeek: Boolean,
851
- // Function formatting currently selected date in the picker title
852
- titleDateFormat: Function,
853
- type: {
854
- type: String,
855
- default: "date",
856
- validator: (t) => ["date", "month"].includes(t)
857
- // TODO: year
858
- },
859
- value: [Array, String],
860
- weekdayFormat: Function,
861
- // Function formatting the year in table header and pickup title
862
- yearFormat: Function,
863
- yearIcon: String
864
- },
865
- data() {
866
- const t = /* @__PURE__ */ new Date();
867
- return {
868
- internalActivePicker: this.type.toUpperCase(),
869
- inputDay: null,
870
- inputMonth: null,
871
- inputYear: null,
872
- isReversing: !1,
873
- now: t,
874
- // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)
875
- tableDate: (() => {
876
- if (this.pickerDate)
877
- return this.pickerDate;
878
- const e = E(this.value), i = e[e.length - 1] || (typeof this.showCurrent == "string" ? this.showCurrent : `${t.getFullYear()}-${t.getMonth() + 1}`);
879
- return h(i, this.type === "date" ? "month" : "year");
880
- })()
881
- };
882
- },
883
- computed: {
884
- multipleValue() {
885
- return E(this.value);
886
- },
887
- isMultiple() {
888
- return this.multiple || this.range;
889
- },
890
- lastValue() {
891
- return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : this.value;
892
- },
893
- selectedMonths() {
894
- return !this.value || this.type === "month" ? this.value : this.isMultiple ? this.multipleValue.map((t) => t.substr(0, 7)) : this.value.substr(0, 7);
895
- },
896
- current() {
897
- return this.showCurrent === !0 ? h(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type) : this.showCurrent || null;
898
- },
899
- inputDate() {
900
- return this.type === "date" ? `${this.inputYear}-${l(this.inputMonth + 1)}-${l(this.inputDay)}` : `${this.inputYear}-${l(this.inputMonth + 1)}`;
901
- },
902
- tableMonth() {
903
- return Number((this.pickerDate || this.tableDate).split("-")[1]) - 1;
904
- },
905
- tableYear() {
906
- return Number((this.pickerDate || this.tableDate).split("-")[0]);
907
- },
908
- minMonth() {
909
- return this.min ? h(this.min, "month") : null;
910
- },
911
- maxMonth() {
912
- return this.max ? h(this.max, "month") : null;
913
- },
914
- minYear() {
915
- return this.min ? h(this.min, "year") : null;
916
- },
917
- maxYear() {
918
- return this.max ? h(this.max, "year") : null;
919
- },
920
- formatters() {
921
- return {
922
- year: this.yearFormat || p(this.currentLocale, {
923
- year: "numeric",
924
- timeZone: "UTC"
925
- }, {
926
- length: 4
927
- }),
928
- titleDate: this.titleDateFormat || (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)
929
- };
930
- },
931
- defaultTitleMultipleDateFormatter() {
932
- return (t) => t.length ? t.length === 1 ? this.defaultTitleDateFormatter(t[0]) : this.$vuetify.lang.t(this.selectedItemsText, t.length) : "-";
933
- },
934
- defaultTitleDateFormatter() {
935
- const t = {
936
- year: {
937
- year: "numeric",
938
- timeZone: "UTC"
939
- },
940
- month: {
941
- month: "long",
942
- timeZone: "UTC"
943
- },
944
- date: {
945
- weekday: "short",
946
- month: "short",
947
- day: "numeric",
948
- timeZone: "UTC"
949
- }
950
- }, e = p(this.currentLocale, t[this.type], {
951
- start: 0,
952
- length: {
953
- date: 10,
954
- month: 7,
955
- year: 4
956
- }[this.type]
957
- }), i = (s) => e(s).replace(/([^\d\s])([\d])/g, (n, r, a) => `${r} ${a}`).replace(", ", ",<br>");
958
- return this.landscape ? i : e;
959
- }
960
- },
961
- watch: {
962
- internalActivePicker: {
963
- immediate: !0,
964
- handler(t) {
965
- this.$emit("update:active-picker", t);
966
- }
967
- },
968
- activePicker(t) {
969
- this.internalActivePicker = t;
970
- },
971
- tableDate(t, e) {
972
- const i = this.type === "month" ? "year" : "month";
973
- this.isReversing = h(t, i) < h(e, i), this.$emit("update:picker-date", t);
974
- },
975
- pickerDate(t) {
976
- t ? this.tableDate = t : this.lastValue && this.type === "date" ? this.tableDate = h(this.lastValue, "month") : this.lastValue && this.type === "month" && (this.tableDate = h(this.lastValue, "year"));
977
- },
978
- value(t, e) {
979
- this.checkMultipleProp(), this.setInputDate(), (!this.isMultiple && this.value && !this.pickerDate || this.isMultiple && this.multipleValue.length && (!e || !e.length) && !this.pickerDate) && (this.tableDate = h(this.inputDate, this.type === "month" ? "year" : "month"));
980
- },
981
- type(t) {
982
- if (this.internalActivePicker = t.toUpperCase(), this.value && this.value.length) {
983
- const e = this.multipleValue.map((i) => h(i, t)).filter(this.isDateAllowed);
984
- this.$emit("input", this.isMultiple ? e : e[0]);
985
- }
986
- }
987
- },
988
- created() {
989
- this.checkMultipleProp(), this.pickerDate !== this.tableDate && this.$emit("update:picker-date", this.tableDate), this.setInputDate();
990
- },
991
- methods: {
992
- emitInput(t) {
993
- if (this.range) {
994
- if (this.multipleValue.length !== 1)
995
- this.$emit("input", [t]);
996
- else {
997
- const i = [this.multipleValue[0], t];
998
- this.$emit("input", i), this.$emit("change", i);
999
- }
1000
- return;
1001
- }
1002
- const e = this.multiple ? this.multipleValue.indexOf(t) === -1 ? this.multipleValue.concat([t]) : this.multipleValue.filter((i) => i !== t) : t;
1003
- this.$emit("input", e), this.multiple || this.$emit("change", t);
1004
- },
1005
- checkMultipleProp() {
1006
- if (this.value == null)
1007
- return;
1008
- const t = this.value.constructor.name, e = this.isMultiple ? "Array" : "String";
1009
- t !== e && z(`Value must be ${this.isMultiple ? "an" : "a"} ${e}, got ${t}`, this);
1010
- },
1011
- isDateAllowed(t) {
1012
- return I(t, this.min, this.max, this.allowedDates);
1013
- },
1014
- yearClick(t) {
1015
- this.inputYear = t, this.type === "month" ? this.tableDate = `${t}` : this.tableDate = `${t}-${l((this.tableMonth || 0) + 1)}`, this.internalActivePicker = "MONTH", this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate) && this.$emit("input", this.inputDate);
1016
- },
1017
- monthClick(t) {
1018
- const [e, i] = t.split("-");
1019
- this.inputYear = parseInt(e, 10), this.inputMonth = parseInt(i, 10) - 1, this.type === "date" ? (this.inputDay && (this.inputDay = Math.min(this.inputDay, it(this.inputYear, this.inputMonth + 1))), this.tableDate = t, this.internalActivePicker = "DATE", this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate) && this.$emit("input", this.inputDate)) : this.emitInput(this.inputDate);
1020
- },
1021
- dateClick(t) {
1022
- const [e, i, s] = t.split("-");
1023
- this.inputYear = parseInt(e, 10), this.inputMonth = parseInt(i, 10) - 1, this.inputDay = parseInt(s, 10), this.emitInput(this.inputDate);
1024
- },
1025
- genPickerTitle() {
1026
- return this.$createElement(nt, {
1027
- props: {
1028
- date: this.value ? this.formatters.titleDate(this.isMultiple ? this.multipleValue : this.value) : "",
1029
- disabled: this.disabled,
1030
- readonly: this.readonly,
1031
- selectingYear: this.internalActivePicker === "YEAR",
1032
- year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),
1033
- yearIcon: this.yearIcon,
1034
- value: this.multipleValue[0]
1035
- },
1036
- slot: "title",
1037
- on: {
1038
- "update:selecting-year": (t) => this.internalActivePicker = t ? "YEAR" : this.type.toUpperCase()
1039
- }
1040
- });
1041
- },
1042
- genTableHeader() {
1043
- return this.$createElement(at, {
1044
- props: {
1045
- nextIcon: this.nextIcon,
1046
- color: this.color,
1047
- dark: this.dark,
1048
- disabled: this.disabled,
1049
- format: this.headerDateFormat,
1050
- light: this.light,
1051
- locale: this.locale,
1052
- min: this.internalActivePicker === "DATE" ? this.minMonth : this.minYear,
1053
- max: this.internalActivePicker === "DATE" ? this.maxMonth : this.maxYear,
1054
- nextAriaLabel: this.internalActivePicker === "DATE" ? this.nextMonthAriaLabel : this.nextYearAriaLabel,
1055
- prevAriaLabel: this.internalActivePicker === "DATE" ? this.prevMonthAriaLabel : this.prevYearAriaLabel,
1056
- prevIcon: this.prevIcon,
1057
- readonly: this.readonly,
1058
- value: this.internalActivePicker === "DATE" ? `${l(this.tableYear, 4)}-${l(this.tableMonth + 1)}` : `${l(this.tableYear, 4)}`
1059
- },
1060
- on: {
1061
- toggle: () => this.internalActivePicker = this.internalActivePicker === "DATE" ? "MONTH" : "YEAR",
1062
- input: (t) => this.tableDate = t
1063
- }
1064
- });
1065
- },
1066
- genDateTable() {
1067
- return this.$createElement(lt, {
1068
- props: {
1069
- allowedDates: this.allowedDates,
1070
- color: this.color,
1071
- current: this.current,
1072
- dark: this.dark,
1073
- disabled: this.disabled,
1074
- events: this.events,
1075
- eventColor: this.eventColor,
1076
- firstDayOfWeek: this.firstDayOfWeek,
1077
- format: this.dayFormat,
1078
- light: this.light,
1079
- locale: this.locale,
1080
- localeFirstDayOfYear: this.localeFirstDayOfYear,
1081
- min: this.min,
1082
- max: this.max,
1083
- range: this.range,
1084
- readonly: this.readonly,
1085
- scrollable: this.scrollable,
1086
- showAdjacentMonths: this.showAdjacentMonths,
1087
- showWeek: this.showWeek,
1088
- tableDate: `${l(this.tableYear, 4)}-${l(this.tableMonth + 1)}`,
1089
- value: this.value,
1090
- weekdayFormat: this.weekdayFormat
1091
- },
1092
- ref: "table",
1093
- on: {
1094
- input: this.dateClick,
1095
- "update:table-date": (t) => this.tableDate = t,
1096
- ...T(this, ":date")
1097
- }
1098
- });
1099
- },
1100
- genMonthTable() {
1101
- return this.$createElement(ot, {
1102
- props: {
1103
- allowedDates: this.type === "month" ? this.allowedDates : null,
1104
- color: this.color,
1105
- current: this.current ? h(this.current, "month") : null,
1106
- dark: this.dark,
1107
- disabled: this.disabled,
1108
- events: this.type === "month" ? this.events : null,
1109
- eventColor: this.type === "month" ? this.eventColor : null,
1110
- format: this.monthFormat,
1111
- light: this.light,
1112
- locale: this.locale,
1113
- min: this.minMonth,
1114
- max: this.maxMonth,
1115
- range: this.range,
1116
- readonly: this.readonly && this.type === "month",
1117
- scrollable: this.scrollable,
1118
- value: this.selectedMonths,
1119
- tableDate: `${l(this.tableYear, 4)}`
1120
- },
1121
- ref: "table",
1122
- on: {
1123
- input: this.monthClick,
1124
- "update:table-date": (t) => this.tableDate = t,
1125
- ...T(this, ":month")
1126
- }
1127
- });
1128
- },
1129
- genYears() {
1130
- return this.$createElement(ht, {
1131
- props: {
1132
- color: this.color,
1133
- format: this.yearFormat,
1134
- locale: this.locale,
1135
- min: this.minYear,
1136
- max: this.maxYear,
1137
- value: this.tableYear
1138
- },
1139
- on: {
1140
- input: this.yearClick,
1141
- ...T(this, ":year")
1142
- }
1143
- });
1144
- },
1145
- genPickerBody() {
1146
- const t = this.internalActivePicker === "YEAR" ? [this.genYears()] : [this.genTableHeader(), this.internalActivePicker === "DATE" ? this.genDateTable() : this.genMonthTable()];
1147
- return this.$createElement("div", {
1148
- key: this.internalActivePicker
1149
- }, t);
1150
- },
1151
- setInputDate() {
1152
- if (this.lastValue) {
1153
- const t = this.lastValue.split("-");
1154
- this.inputYear = parseInt(t[0], 10), this.inputMonth = parseInt(t[1], 10) - 1, this.type === "date" && (this.inputDay = parseInt(t[2], 10));
1155
- } else
1156
- this.inputYear = this.inputYear || this.now.getFullYear(), this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth(), this.inputDay = this.inputDay || this.now.getDate();
1157
- }
1158
- },
1159
- render() {
1160
- return this.genPicker("v-picker--date");
1161
- }
1162
- });
1163
- function dt(t) {
1164
- return M.extend({
1165
- name: `v-${t}`,
1166
- functional: !0,
1167
- props: {
1168
- id: String,
1169
- tag: {
1170
- type: String,
1171
- default: "div"
1172
- }
1173
- },
1174
- render(e, {
1175
- props: i,
1176
- data: s,
1177
- children: n
1178
- }) {
1179
- s.staticClass = `${t} ${s.staticClass || ""}`.trim();
1180
- const {
1181
- attrs: r
1182
- } = s;
1183
- if (r) {
1184
- s.attrs = {};
1185
- const a = Object.keys(r).filter((o) => {
1186
- if (o === "slot")
1187
- return !1;
1188
- const u = r[o];
1189
- return o.startsWith("data-") ? (s.attrs[o] = u, !1) : u || typeof u == "string";
1190
- });
1191
- a.length && (s.staticClass += ` ${a.join(" ")}`);
1192
- }
1193
- return i.id && (s.domProps = s.domProps || {}, s.domProps.id = i.id), e(i.tag, s, n);
1194
- }
1195
- });
1196
- }
1197
- const mt = dt("container").extend({
1198
- name: "v-container",
1199
- functional: !0,
1200
- props: {
1201
- id: String,
1202
- tag: {
1203
- type: String,
1204
- default: "div"
1205
- },
1206
- fluid: {
1207
- type: Boolean,
1208
- default: !1
1209
- }
1210
- },
1211
- render(t, {
1212
- props: e,
1213
- data: i,
1214
- children: s
1215
- }) {
1216
- let n;
1217
- const {
1218
- attrs: r
1219
- } = i;
1220
- return r && (i.attrs = {}, n = Object.keys(r).filter((a) => {
1221
- if (a === "slot")
1222
- return !1;
1223
- const o = r[a];
1224
- return a.startsWith("data-") ? (i.attrs[a] = o, !1) : o || typeof o == "string";
1225
- })), e.id && (i.domProps = i.domProps || {}, i.domProps.id = e.id), t(e.tag, R(i, {
1226
- staticClass: "container",
1227
- class: Array({
1228
- "container--fluid": e.fluid
1229
- }).concat(n || [])
1230
- }), s);
1231
- }
1232
- }), pt = {
1233
- value: { type: Array },
1234
- minDate: {
1235
- default: m().format("YYYY-MM-DD"),
1236
- type: String,
1237
- required: !1
1238
- }
1239
- }, ft = M.extend({
1240
- name: "BDateRangePicker",
1241
- mixins: [W("components/ui/BDateRangePicker"), N],
1242
- props: pt,
1243
- data() {
1244
- return {
1245
- model: this.value,
1246
- dateFrom: this.value && this.value[0],
1247
- dateTo: this.value && this.value[1],
1248
- monthFrom: this.value && this.value[0],
1249
- monthTo: this.value && m(this.value[0]).add(1, "month").format("YYYY-MM-DD")
1250
- };
1251
- },
1252
- computed: {
1253
- nightCount() {
1254
- return !this.model || this.model.length < 2 ? 0 : m(this.model[1]).diff(m(this.model[0]), "day");
1255
- },
1256
- eventDateMarkers() {
1257
- const t = window.RevolugoElements.config.eventMetadata, e = t == null ? void 0 : t.dateStart, i = t == null ? void 0 : t.dateEnd;
1258
- let s = null;
1259
- return e && i && (s = this.getDatesBetween(e, i)), s;
1260
- }
1261
- },
1262
- watch: {
1263
- monthFrom: {
1264
- handler() {
1265
- this.monthTo = m(this.monthFrom).add(1, "month").format("YYYY-MM-DD");
1266
- }
1267
- },
1268
- monthTo: {
1269
- handler() {
1270
- this.monthFrom = m(this.monthTo).add(-1, "month").format("YYYY-MM-DD");
1271
- }
1272
- },
1273
- value: {
1274
- handler(t) {
1275
- t && (this.model = V(t[0], t[1]), this.dateFrom = this.model[0], this.dateTo = this.model[1], this.$emit("input", this.model));
1276
- },
1277
- deep: !0
1278
- }
1279
- },
1280
- methods: {
1281
- onDateClicked(t) {
1282
- if (this.dateFrom && this.dateTo || !this.dateFrom && !this.dateTo)
1283
- this.dateFrom = t, this.dateTo = "";
1284
- else if (this.dateFrom) {
1285
- if (t === this.dateFrom)
1286
- return;
1287
- this.dateTo = t, this.model = Y([
1288
- this.dateFrom,
1289
- this.dateTo
1290
- ]), this.$emit("input", this.model);
1291
- }
1292
- },
1293
- onDateMouseEntered(t) {
1294
- this.dateFrom && this.dateTo || !this.dateFrom && !this.dateTo || (this.model = t === this.dateFrom ? [this.dateFrom, this.dateFrom] : Y([
1295
- this.dateFrom,
1296
- t
1297
- ]));
1298
- },
1299
- onDateMouseLeft() {
1300
- this.dateTo || (this.model = [this.dateFrom, this.dateFrom]);
1301
- },
1302
- readableDate(t) {
1303
- if (t)
1304
- return m(t).toDate().toLocaleString(this.$i18n.locale, {
1305
- weekday: "short",
1306
- day: "2-digit",
1307
- month: "short"
1308
- });
1309
- },
1310
- getDatesBetween(t, e) {
1311
- const i = [];
1312
- let s = m(t);
1313
- for (; s.isBefore(e) || s.isSame(e); )
1314
- i.push(s.format("YYYY-MM-DD")), s = s.add(1, "day");
1315
- return i;
1316
- }
1317
- }
1318
- });
1319
- var gt = function() {
1320
- var e = this, i = e._self._c;
1321
- return e._self._setupProxy, i(mt, { staticClass: "text-center pa-3 px-n6 white" }, [i(D, { attrs: { "no-gutters": "" } }, [i(y, { attrs: { align: e.$breakpointService.xs ? "center" : "right", cols: e.$breakpointService.xs ? 12 : 6 } }, [i(S, { attrs: { color: "secondary", "event-color": "error lighten-1", events: e.eventDateMarkers, "first-day-of-week": 1, "full-width": e.$isCurrentBreakpointBelowOrEqual("sm"), locale: e.$i18n.locale, min: e.minDate || e.today, "next-icon": e.$breakpointService.xs ? "$next" : null, "no-title": "", "picker-date": e.monthFrom, range: "", scrollable: "", "show-current": !1 }, on: { "update:pickerDate": function(s) {
1322
- e.monthFrom = s;
1323
- }, "update:picker-date": function(s) {
1324
- e.monthFrom = s;
1325
- }, "click:date": e.onDateClicked, "mouseenter:date": e.onDateMouseEntered, "mouseleave:date": e.onDateMouseLeft }, model: { value: e.model, callback: function(s) {
1326
- e.model = s;
1327
- }, expression: "model" } })], 1), e.$breakpointService.xs ? e._e() : i(y, { attrs: { align: "left", cols: "6" } }, [i(S, { attrs: { color: "secondary", "event-color": "error lighten-1", events: e.eventDateMarkers, "first-day-of-week": 1, locale: e.$i18n.locale, min: e.minDate, "no-title": "", "picker-date": e.monthTo, "prev-icon": null, range: "", scrollable: "", "show-current": !1 }, on: { "update:pickerDate": function(s) {
1328
- e.monthTo = s;
1329
- }, "update:picker-date": function(s) {
1330
- e.monthTo = s;
1331
- }, "click:date": e.onDateClicked, "mouseenter:date": e.onDateMouseEntered, "mouseleave:date": e.onDateMouseLeft }, model: { value: e.model, callback: function(s) {
1332
- e.model = s;
1333
- }, expression: "model" } })], 1)], 1), i(D, { attrs: { "no-gutters": "" } }, [i(y, [i(X)], 1)], 1), i(D, { staticClass: "mt-0" }, [i(y, [i("p", { staticClass: "mb-1 text-center text-caption" }, [i("b", [e._v(e._s(e.model && e.readableDate(e.model[0]) || e.$t("BDateRangePicker.checkIn")))]), i(w, { staticClass: "mx-2" }, [e._v(" fa-long-arrow-alt-right ")]), i("b", [e._v(e._s(e.model && e.model[0] !== e.model[1] && e.readableDate(e.model[1]) || e.$t("BDateRangePicker.checkOut")))]), e.nightCount > 0 ? i("small", [e._v(" " + e._s(e.$tc("BDateRangePicker.stay", e.nightCount, { count: e.nightCount })) + " ")]) : e._e()], 1)])], 1)], 1);
1334
- }, yt = [], vt = /* @__PURE__ */ U(
1335
- ft,
1336
- gt,
1337
- yt,
1338
- !1,
1339
- null,
1340
- "4d146a78",
1341
- null,
1342
- null
1343
- );
1344
- const Et = vt.exports;
1345
- O("css/revolugo.bdaterangepicker.DEh20utH.css");
1346
- export {
1347
- Et as B,
1348
- mt as _,
1349
- S as a
1350
- };
1351
- //# sourceMappingURL=revolugo.bdaterangepicker.S6or4pKG.min.js.map