@adyen/bento-vue3 1.75.0 → 1.76.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 (120) hide show
  1. package/dist/assets/accordion-item.css +1 -1
  2. package/dist/assets/action-bar.css +1 -1
  3. package/dist/assets/base-modal.css +1 -1
  4. package/dist/assets/button-actions.css +1 -1
  5. package/dist/assets/calendar.css +1 -1
  6. package/dist/assets/card.css +1 -1
  7. package/dist/assets/data-grid-template.css +1 -1
  8. package/dist/assets/data-grid.css +1 -1
  9. package/dist/assets/date-picker.css +1 -1
  10. package/dist/assets/date-range-picker.css +1 -1
  11. package/dist/assets/dialog-page.css +1 -1
  12. package/dist/assets/file-uploader.css +1 -1
  13. package/dist/assets/filter-bar.css +1 -1
  14. package/dist/assets/header-meta.css +1 -1
  15. package/dist/assets/inspector.css +1 -1
  16. package/dist/assets/modal-fullscreen.css +1 -1
  17. package/dist/assets/sidepanel.css +1 -1
  18. package/dist/assets/timeline-item.css +1 -1
  19. package/dist/checkbox.js +2 -2
  20. package/dist/chunks/calendar.Tm7Cvpwu.js +2001 -0
  21. package/dist/chunks/calendar.Tm7Cvpwu.js.map +1 -0
  22. package/dist/chunks/{checkbox-group.8ebmaHsA.js → checkbox-group.8J29fVna.js} +2 -2
  23. package/dist/chunks/{checkbox-group.8ebmaHsA.js.map → checkbox-group.8J29fVna.js.map} +1 -1
  24. package/dist/chunks/{checkbox.BI0dqARY.js → checkbox.CfNYUty6.js} +18 -18
  25. package/dist/chunks/{checkbox.BI0dqARY.js.map → checkbox.CfNYUty6.js.map} +1 -1
  26. package/dist/chunks/{code-snippet.Bjf1ma1L.js → code-snippet.EeIcRV20.js} +2 -2
  27. package/dist/chunks/{code-snippet.Bjf1ma1L.js.map → code-snippet.EeIcRV20.js.map} +1 -1
  28. package/dist/chunks/constructNow.CHWWeLPc.js +8 -0
  29. package/dist/chunks/constructNow.CHWWeLPc.js.map +1 -0
  30. package/dist/chunks/{dashboard-section.CVttsom5.js → dashboard-section.Cqi0PWeJ.js} +2 -2
  31. package/dist/chunks/{dashboard-section.CVttsom5.js.map → dashboard-section.Cqi0PWeJ.js.map} +1 -1
  32. package/dist/chunks/{data-grid-template.CFt1NV_4.js → data-grid-template.D7kB3S1u.js} +2 -2
  33. package/dist/chunks/{data-grid-template.CFt1NV_4.js.map → data-grid-template.D7kB3S1u.js.map} +1 -1
  34. package/dist/chunks/{data-grid.8Neri_45.js → data-grid.DJIxBwCa.js} +19 -22
  35. package/dist/chunks/{data-grid.8Neri_45.js.map → data-grid.DJIxBwCa.js.map} +1 -1
  36. package/dist/chunks/{date-picker.DSkvT_CA.js → date-picker.CobmiKaJ.js} +16 -16
  37. package/dist/chunks/date-picker.CobmiKaJ.js.map +1 -0
  38. package/dist/chunks/date-range-picker.B6UKl1_N.js +1114 -0
  39. package/dist/chunks/date-range-picker.B6UKl1_N.js.map +1 -0
  40. package/dist/chunks/{get-date-locale.CAyOIbcp.js → differenceInMonths.C8FyCrav.js} +580 -364
  41. package/dist/chunks/differenceInMonths.C8FyCrav.js.map +1 -0
  42. package/dist/chunks/{dropdown-tag.DFeoXIgH.js → dropdown-tag.CMjilUQb.js} +2 -2
  43. package/dist/chunks/{dropdown-tag.DFeoXIgH.js.map → dropdown-tag.CMjilUQb.js.map} +1 -1
  44. package/dist/chunks/{dropdown.KStrJVoP.js → dropdown.DG_EnV8g.js} +18 -18
  45. package/dist/chunks/{dropdown.KStrJVoP.js.map → dropdown.DG_EnV8g.js.map} +1 -1
  46. package/dist/chunks/es6.MoTTyETW.js.map +1 -1
  47. package/dist/chunks/{filter-bar.C6A0MJ8m.js → filter-bar.dmC284Po.js} +735 -709
  48. package/dist/chunks/filter-bar.dmC284Po.js.map +1 -0
  49. package/dist/chunks/getRoundingMethod.C3eaeGLR.js +10 -0
  50. package/dist/chunks/getRoundingMethod.C3eaeGLR.js.map +1 -0
  51. package/dist/chunks/{index.BrH1t1iu.js → getTimezoneOffsetInMilliseconds.BW7U6PxE.js} +254 -177
  52. package/dist/chunks/getTimezoneOffsetInMilliseconds.BW7U6PxE.js.map +1 -0
  53. package/dist/chunks/header-meta.BE6QfUNi.js +221 -0
  54. package/dist/chunks/header-meta.BE6QfUNi.js.map +1 -0
  55. package/dist/chunks/{header-with-views.f5BlTD7U.js → header-with-views.BZ16v5-m.js} +4 -4
  56. package/dist/chunks/{header-with-views.f5BlTD7U.js.map → header-with-views.BZ16v5-m.js.map} +1 -1
  57. package/dist/chunks/{header.DARVAeE9.js → header.3It50Clh.js} +2 -2
  58. package/dist/chunks/{header.DARVAeE9.js.map → header.3It50Clh.js.map} +1 -1
  59. package/dist/chunks/{input-field-password.BGyFeRu0.js → input-field-password.BVnZWBAV.js} +3 -3
  60. package/dist/chunks/{input-field-password.BGyFeRu0.js.map → input-field-password.BVnZWBAV.js.map} +1 -1
  61. package/dist/chunks/{input-field-phone-number.DSvCOtqX.js → input-field-phone-number.CWhPGQ1U.js} +3 -3
  62. package/dist/chunks/{input-field-phone-number.DSvCOtqX.js.map → input-field-phone-number.CWhPGQ1U.js.map} +1 -1
  63. package/dist/chunks/{input-field.Dm47icwU.js → input-field.A-dEZZfC.js} +2 -2
  64. package/dist/chunks/{input-field.Dm47icwU.js.map → input-field.A-dEZZfC.js.map} +1 -1
  65. package/dist/chunks/{pagination.BaBWNlIF.js → pagination.B4qBK4pM.js} +2 -2
  66. package/dist/chunks/{pagination.BaBWNlIF.js.map → pagination.B4qBK4pM.js.map} +1 -1
  67. package/dist/chunks/{rich-text-editor.BK9AivIm.js → rich-text-editor.BA6_k4Vv.js} +354 -352
  68. package/dist/chunks/{rich-text-editor.BK9AivIm.js.map → rich-text-editor.BA6_k4Vv.js.map} +1 -1
  69. package/dist/chunks/{search-bar.CbNBCQnM.js → search-bar.dZ7UCMxb.js} +3 -3
  70. package/dist/chunks/{search-bar.CbNBCQnM.js.map → search-bar.dZ7UCMxb.js.map} +1 -1
  71. package/dist/chunks/{secondary-nav.DXsgUTqk.js → secondary-nav.CE082cQ_.js} +2 -2
  72. package/dist/chunks/{secondary-nav.DXsgUTqk.js.map → secondary-nav.CE082cQ_.js.map} +1 -1
  73. package/dist/chunks/{selection-card-group.F8alOPtl.js → selection-card-group.NnTbPQjj.js} +9 -9
  74. package/dist/chunks/{selection-card-group.F8alOPtl.js.map → selection-card-group.NnTbPQjj.js.map} +1 -1
  75. package/dist/chunks/timeline-item.DNjubXL2.js +556 -0
  76. package/dist/chunks/timeline-item.DNjubXL2.js.map +1 -0
  77. package/dist/code-snippet.js +1 -1
  78. package/dist/dashboard-template.js +1 -1
  79. package/dist/data-grid-template.js +1 -1
  80. package/dist/data-grid.js +1 -1
  81. package/dist/date-picker.js +2 -2
  82. package/dist/date-range-picker.js +2 -2
  83. package/dist/dropdown.js +2 -2
  84. package/dist/filter-bar.js +1 -1
  85. package/dist/header-with-views.js +1 -1
  86. package/dist/header.js +1 -1
  87. package/dist/index.js +23 -23
  88. package/dist/input-field-password.js +1 -1
  89. package/dist/input-field-phone-number.js +1 -1
  90. package/dist/input-field.js +1 -1
  91. package/dist/internal.js +2 -2
  92. package/dist/pagination.js +1 -1
  93. package/dist/rich-text-editor.js +1 -1
  94. package/dist/search-bar.js +2 -2
  95. package/dist/secondary-nav.js +1 -1
  96. package/dist/selection-card.js +1 -1
  97. package/dist/styles/bento-dark.css +7 -5
  98. package/dist/styles/bento-light.css +7 -5
  99. package/dist/styles/bento.css +7 -5
  100. package/dist/styles/legacy.css +7 -5
  101. package/dist/styles/styleguide.css +7 -5
  102. package/dist/timeline.js +1 -1
  103. package/dist/web-types.json +1 -1
  104. package/package.json +8 -23
  105. package/dist/chunks/_commonjsHelpers.C6fGbg64.js +0 -7
  106. package/dist/chunks/_commonjsHelpers.C6fGbg64.js.map +0 -1
  107. package/dist/chunks/calendar.Cqjyxc69.js +0 -2223
  108. package/dist/chunks/calendar.Cqjyxc69.js.map +0 -1
  109. package/dist/chunks/date-picker.DSkvT_CA.js.map +0 -1
  110. package/dist/chunks/date-range-picker.DSMt6XMF.js +0 -1117
  111. package/dist/chunks/date-range-picker.DSMt6XMF.js.map +0 -1
  112. package/dist/chunks/filter-bar.C6A0MJ8m.js.map +0 -1
  113. package/dist/chunks/get-date-locale.CAyOIbcp.js.map +0 -1
  114. package/dist/chunks/header-meta.C4iaUsfq.js +0 -236
  115. package/dist/chunks/header-meta.C4iaUsfq.js.map +0 -1
  116. package/dist/chunks/index.BrH1t1iu.js.map +0 -1
  117. package/dist/chunks/index.BxBB1rsx.js +0 -15
  118. package/dist/chunks/index.BxBB1rsx.js.map +0 -1
  119. package/dist/chunks/timeline-item.C8PA_w7m.js +0 -568
  120. package/dist/chunks/timeline-item.C8PA_w7m.js.map +0 -1
@@ -0,0 +1,1114 @@
1
+ import { reactive as Ee, defineComponent as tt, ref as F, computed as S, onMounted as at, toRaw as he, resolveComponent as De, createElementBlock as Me, openBlock as A, createElementVNode as H, createCommentVNode as B, renderSlot as qe, createBlock as V, createVNode as W, withCtx as Q, createTextVNode as se, normalizeClass as Oe, toRef as we, watch as ke, withDirectives as pt, unref as b, withKeys as $e, toDisplayString as bt, createSlots as It } from "vue";
2
+ import { B as Rt } from "./divider.DnKNNyWB.js";
3
+ import { h as St, B as Et } from "./button-actions.BQ3AFQqt.js";
4
+ import { B as nt, d as wt } from "./typography.yBEME_Gu.js";
5
+ import { e as P, a as Pe, g as _e } from "./differenceInMonths.C8FyCrav.js";
6
+ import { g as fe } from "./generate-uid.NJ8tVoha.js";
7
+ import { u as Fe } from "./index.pdBj0KQU.js";
8
+ import { e as C, g as rt, h as Ye, i as q, j as kt, k as Le, l as ht, s as je, m as Mt, n as ve, o as Ke, b as te, u as Ot, f as me } from "./calendar.Tm7Cvpwu.js";
9
+ import { f as Ge, v as _t, D as h } from "./date-format.B8RU7D42.js";
10
+ import { t as z, c as Ft, n as Ct } from "./getTimezoneOffsetInMilliseconds.BW7U6PxE.js";
11
+ import { u as At } from "./use-form-layout-loading.D3lALhtC.js";
12
+ import { B as Ut } from "./directive.Cbdox5VL.js";
13
+ import { D as Nt } from "./dropdown-default-textbox.MkU0tMf1.js";
14
+ import { B as Bt } from "./input-field.A-dEZZfC.js";
15
+ import { B as qt } from "./dropdown.DG_EnV8g.js";
16
+ import { B as $t } from "./segmented-control.BCHGDSrf.js";
17
+ import { d as Ie } from "./debounce.DUTu11PS.js";
18
+ import { u as Pt } from "./use-has-slot.B7eQSabc.js";
19
+ import { c as Yt } from "./constructNow.CHWWeLPc.js";
20
+ import { _ as lt } from "./_plugin-vue_export-helper.CHgC5LLL.js";
21
+ import { F as Lt, E as He } from "./field-label.C97CrBI_.js";
22
+ import { B as jt } from "./button-actions.types.BptAXjD8.js";
23
+ import "../assets/date-range-picker.css";
24
+ function oe(e) {
25
+ if (e == null)
26
+ return C(/* @__PURE__ */ new Date());
27
+ const [a, i, r] = e.split("-").map((d) => parseInt(d, 10));
28
+ return new Date(a, i - 1, r);
29
+ }
30
+ function st(e, a, i) {
31
+ return rt(e, a * 3, i);
32
+ }
33
+ function Kt(e, a, i) {
34
+ return st(e, -1, i);
35
+ }
36
+ const Gt = ({
37
+ firstDayOfWeek: e,
38
+ min: a,
39
+ max: i
40
+ }) => ({ getGranularCalendarLimits: (d) => {
41
+ if (!a && !i)
42
+ return { min: null, max: null };
43
+ let m = a ? C(a) : null, D = i ? P(i) : null;
44
+ if ((d == null ? void 0 : d.type) === "weekly") {
45
+ if (d.earliest)
46
+ m = C(d.earliest);
47
+ else if (m) {
48
+ const y = Ye(m, { weekStartsOn: e });
49
+ q(m, y) || (m = C(kt(Le(m, { weekStartsOn: e }), 1)));
50
+ }
51
+ if (d.latest)
52
+ D = P(d.latest);
53
+ else if (D) {
54
+ const y = Le(D, { weekStartsOn: e });
55
+ q(D, y) || (D = P(ht(Ye(D, { weekStartsOn: e }), 1)));
56
+ }
57
+ }
58
+ if ((d == null ? void 0 : d.type) === "monthly") {
59
+ if (d.earliest)
60
+ m = C(d.earliest);
61
+ else if (m) {
62
+ const y = je(m);
63
+ q(m, y) || (m = je(rt(m, 1)));
64
+ }
65
+ if (d.latest)
66
+ D = P(d.latest);
67
+ else if (D) {
68
+ const y = Pe(D);
69
+ q(D, y) || (D = Pe(Mt(D, 1)));
70
+ }
71
+ }
72
+ if ((d == null ? void 0 : d.type) === "quarterly") {
73
+ if (d.earliest)
74
+ m = ve(d.earliest);
75
+ else if (m) {
76
+ const y = ve(m);
77
+ q(m, y) || (m = ve(st(m, 1)));
78
+ }
79
+ if (d.latest)
80
+ D = P(d.latest);
81
+ else if (D) {
82
+ const y = Ke(D);
83
+ q(D, y) || (D = Ke(Kt(D)));
84
+ }
85
+ }
86
+ return { min: m, max: D };
87
+ } }), Ht = () => {
88
+ const e = Ee({
89
+ daily: null,
90
+ weekly: null,
91
+ monthly: null,
92
+ quarterly: null
93
+ });
94
+ return {
95
+ savedRanges: e,
96
+ saveRange: (r, d) => {
97
+ e[r] = d;
98
+ },
99
+ resetSavedRanges: () => {
100
+ e.daily = null, e.weekly = null, e.monthly = null, e.quarterly = null;
101
+ }
102
+ };
103
+ };
104
+ var g = /* @__PURE__ */ ((e) => (e.CUSTOM_RANGE = "custom-range", e.INPUT = "input", e.ERROR = "error", e.FORM_DATE = "form-date", e.START_DATE_SELECTED = "start-date-selected", e))(g || {});
105
+ const Qt = /[\d]/, Vt = /^\d{2}$/, Wt = /^\d{2}:\d{2}$/, zt = (e) => {
106
+ const { selectionStart: a } = e.target, i = ["Backspace", "Tab", "ArrowLeft", "ArrowRight"], r = Qt.test(e.key) || i.includes(e.key), d = [1, 2, 4, 5].includes(a) && e.key === ":";
107
+ !r && !d && e.preventDefault();
108
+ }, Qe = (e) => {
109
+ if (!e)
110
+ return e;
111
+ let a = e;
112
+ if (a.length === 1 && parseInt(e, 10) > 2)
113
+ return `0${a}:`;
114
+ const [i, r] = a.slice(-2);
115
+ return [2, 5].includes(a.length) && r === ":" && (a = `${a.slice(0, a.length - 2)}0${i}`), (Vt.test(a) || Wt.test(a)) && (a += ":"), a;
116
+ };
117
+ function Jt(e, a, i) {
118
+ const r = z(e, i == null ? void 0 : i.in);
119
+ return r.setHours(a), r;
120
+ }
121
+ function Xt(e, a, i) {
122
+ const r = z(e, i == null ? void 0 : i.in);
123
+ return r.setMinutes(a), r;
124
+ }
125
+ function Zt(e, a, i) {
126
+ const r = z(e, i == null ? void 0 : i.in);
127
+ return r.setSeconds(a), r;
128
+ }
129
+ function Ve(e, a) {
130
+ const i = z(e, a == null ? void 0 : a.in);
131
+ return i.setMilliseconds(0), i;
132
+ }
133
+ function We(e, a) {
134
+ return +Ve(e) == +Ve(a);
135
+ }
136
+ function Re(e, a) {
137
+ return +z(e) == +z(a);
138
+ }
139
+ function xt(e, a) {
140
+ return q(
141
+ Ft(e, e),
142
+ Yt(e)
143
+ );
144
+ }
145
+ function ze(e, a, i) {
146
+ const r = z(e, i == null ? void 0 : i.in);
147
+ return r.setMilliseconds(a), r;
148
+ }
149
+ const Je = {
150
+ "en-US": {
151
+ customRange: "Custom range",
152
+ daily: "Daily",
153
+ dateFrom: "Date from",
154
+ dateTo: "Date to",
155
+ lastMonth: "Last month",
156
+ lastSevenDays: "Last 7 days",
157
+ lastThreeMonths: "Last three months",
158
+ monthly: "Monthly",
159
+ quarterly: "Quarterly",
160
+ timeFrom: "Time from",
161
+ timeTo: "Time to",
162
+ weekly: "Weekly"
163
+ },
164
+ "ja-JP": {
165
+ customRange: "カスタム範囲を選択",
166
+ daily: "毎日",
167
+ lastMonth: "先月",
168
+ lastSevenDays: "過去7日間",
169
+ monthly: "毎月",
170
+ weekly: "毎週"
171
+ },
172
+ "pt-BR": {
173
+ customRange: "Selecione um intervalo personalizado",
174
+ daily: "Diário",
175
+ lastMonth: "Último mês",
176
+ lastSevenDays: "Últimos 7 dias",
177
+ monthly: "Mensal",
178
+ weekly: "Semanal"
179
+ }
180
+ }, Xe = 300, Ze = "customRange", ea = tt({
181
+ i18n: { messages: Je },
182
+ name: "date-range-picker-calendar",
183
+ components: {
184
+ BentoDropdown: qt,
185
+ BentoInputField: Bt,
186
+ BentoSegmentedControl: $t,
187
+ BentoTypography: nt,
188
+ Calendar: te
189
+ },
190
+ props: {
191
+ /**
192
+ * Allows user to enter time values in the form
193
+ */
194
+ allowTimeInput: { type: Boolean, default: !1 },
195
+ /**
196
+ * Ranges form persistance data
197
+ */
198
+ dateFormData: {
199
+ type: Object,
200
+ default: () => ({ startDate: void 0, endDate: void 0, startTime: void 0, endTime: void 0 })
201
+ },
202
+ /**
203
+ * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday
204
+ */
205
+ firstDayOfWeek: te.props.firstDayOfWeek,
206
+ /**
207
+ * A list of available granularities.
208
+ * If present, the date picker will display a segmented control to change granularity.
209
+ */
210
+ granularities: {
211
+ type: Array,
212
+ default: null
213
+ },
214
+ /**
215
+ * Indicate if a date should be disabled or not
216
+ */
217
+ isDateDisabled: te.props.isDateDisabled,
218
+ /**
219
+ * Set a maximum number of dates to be selectable by the range.
220
+ */
221
+ maxRange: te.props.maxRange,
222
+ /**
223
+ * Sets a minimum limit for selectable dates - dates before `min` will not be selectable
224
+ */
225
+ min: te.props.min,
226
+ /**
227
+ * Sets a maximum limit for selectable dates - dates after `max` will not be selectable
228
+ */
229
+ max: te.props.max,
230
+ /**
231
+ * Number of months rendered on pane
232
+ */
233
+ numberOfMonths: te.props.numberOfMonths,
234
+ /**
235
+ * Displays the end date's month when the calendar is opened. Defaults to false i.e. the start date's month is displayed.
236
+ */
237
+ showEndDateOnOpen: { type: Boolean, default: !1 },
238
+ /**
239
+ * Enables the custom range selector.
240
+ * If provided, must be an array that sets the custom range dropdown items. Items are of the structure:
241
+ * `label` - label of custom range item.
242
+ * `value` - a unique key of the custom range item.
243
+ * `data` - an object `{ startDate: Date; endDate: Date }` to set the date picker range to upon selecting.
244
+ */
245
+ quickSelectRanges: {
246
+ type: Array,
247
+ default: void 0
248
+ },
249
+ /**
250
+ * Selected date
251
+ */
252
+ value: { type: Object, default: void 0 },
253
+ /**
254
+ * The type of calendar to display. Defaults to showing days.
255
+ */
256
+ variant: te.props.variant
257
+ },
258
+ emits: [
259
+ g.CUSTOM_RANGE,
260
+ g.INPUT,
261
+ g.ERROR,
262
+ g.FORM_DATE,
263
+ g.START_DATE_SELECTED
264
+ ],
265
+ setup(e, { emit: a, slots: i }) {
266
+ var Ae, Ue, Ne, Be;
267
+ const { locale: r, t: d } = Fe({ messages: Je }), m = _e(), D = F({}), y = S(() => e.variant === "month" ? "monthly" : "daily"), n = Ee({
268
+ startDate: (Ae = e.value) == null ? void 0 : Ae.startDate,
269
+ endDate: (Ue = e.value) == null ? void 0 : Ue.endDate,
270
+ range: (Ne = e.value) == null ? void 0 : Ne.range,
271
+ ...e.granularities ? {
272
+ granularity: ((Be = e.value) == null ? void 0 : Be.granularity) || y.value
273
+ } : {}
274
+ });
275
+ function T(t) {
276
+ return t ? new Date(
277
+ t.getUTCFullYear(),
278
+ t.getUTCMonth(),
279
+ t.getUTCDate(),
280
+ t.getUTCHours(),
281
+ t.getUTCMinutes(),
282
+ t.getUTCSeconds()
283
+ ) : null;
284
+ }
285
+ const I = S(() => {
286
+ var t, s;
287
+ return (
288
+ // eslint-disable-next-line consistent-return
289
+ ((s = (t = e == null ? void 0 : e.quickSelectRanges) == null ? void 0 : t.find(({ value: c, data: u }) => {
290
+ var k;
291
+ if (!u.endDate) {
292
+ if (u.isRelativeToNow) {
293
+ const O = (k = D.value) == null ? void 0 : k[c];
294
+ return O ? Re(
295
+ T(O.startDate),
296
+ T(n.startDate)
297
+ ) && Re(
298
+ T(O.endDate),
299
+ T(n.endDate)
300
+ ) : (
301
+ // If not stored calculated dates, fall back to comparing the quick select item's value
302
+ // with the internal range's stored range identifier.
303
+ c === n.range
304
+ );
305
+ }
306
+ return Re(
307
+ T(u.startDate),
308
+ T(n.startDate)
309
+ ) && Re(
310
+ T(n.endDate),
311
+ T(P(n.endDate))
312
+ ) && xt(T(n.endDate)) && (e.granularities ? u.granularity === n.granularity : !0);
313
+ }
314
+ if (e.allowTimeInput)
315
+ return We(
316
+ T(u.startDate),
317
+ T(n.startDate)
318
+ ) && We(
319
+ T(u.endDate),
320
+ T(n.endDate)
321
+ ) && (e.granularities ? u.granularity === n.granularity : !0);
322
+ if (u.endDate)
323
+ return q(u.startDate, n.startDate) && q(u.endDate, n.endDate) && (e.granularities ? u.granularity === n.granularity : !0);
324
+ })) == null ? void 0 : s.value) ?? Ze
325
+ );
326
+ }), Y = S(() => ({
327
+ "b-date-range-picker-calendar__form-input-wrapper": e.allowTimeInput
328
+ })), ye = S(() => [
329
+ { label: d("customRange"), value: Ze },
330
+ ...e.quickSelectRanges ? e.quickSelectRanges : []
331
+ ]), J = S(
332
+ () => {
333
+ var t;
334
+ return ((t = e.granularities) == null ? void 0 : t.find(({ type: s }) => s === n.granularity)) || null;
335
+ }
336
+ ), w = S(
337
+ () => {
338
+ var t;
339
+ return ((t = e.granularities) == null ? void 0 : t.map(({ type: s, disabled: c }) => ({
340
+ label: d(s),
341
+ value: s,
342
+ disabled: c
343
+ }))) ?? [];
344
+ }
345
+ ), { getGranularCalendarLimits: X } = Gt(e), f = S(
346
+ () => e.granularities ? X(J.value) : { min: e.min ? C(e.min) : null, max: e.max ? P(e.max) : null }
347
+ ), {
348
+ adjustDateForQuarterly: ie,
349
+ adjustDateForMonthly: M,
350
+ adjustDateForWeekly: ae,
351
+ adjustStartDateInputForWeekly: Z,
352
+ adjustEndDateInputForWeekly: ue,
353
+ adjustStartDateInputForMonthly: x,
354
+ adjustEndDateInputForMonthly: p,
355
+ adjustStartDateInputForQuarterly: de,
356
+ adjustEndDateInputForQuarterly: L
357
+ } = Ot(e.firstDayOfWeek), { savedRanges: $, saveRange: ne, resetSavedRanges: _ } = Ht(), v = (t) => {
358
+ var s;
359
+ return t ? me(t, h.NUMERIC_DATE_YEAR_FIRST, {
360
+ locale: m[(s = r.value) == null ? void 0 : s.substring(0, 2)] || m.enUS
361
+ }) : "";
362
+ }, E = (t) => {
363
+ var s;
364
+ return t ? me(t, h.HOUR_MINUTE_SECONDS, {
365
+ locale: m[(s = r.value) == null ? void 0 : s.substring(0, 2)] || m.enUS
366
+ }) : "";
367
+ }, j = F(!1), re = F(!1), K = F(!1), G = F(!1), o = Ee({
368
+ startDate: e.dateFormData.startDate,
369
+ endDate: e.dateFormData.endDate,
370
+ startTime: e.dateFormData.startTime,
371
+ endTime: e.dateFormData.endTime
372
+ }), Te = (t, s) => {
373
+ let c = new Date(t);
374
+ const [u, k, O] = s.split(":");
375
+ return c = Jt(c, parseInt(u, 10)), c = Xt(c, parseInt(k, 10)), c = Zt(c, parseInt(O, 10)), c;
376
+ }, ge = (t) => /^(?:[01]\d|2[01234]):(?:[012345]\d):(?:[012345]\d)$/.test(t), ce = (t, s) => {
377
+ const c = () => {
378
+ if (s && R(s)) {
379
+ const u = Te(new Date(s), t);
380
+ if (e.min && u < ze(e.min, 0) || e.max && u > ze(e.max, 0))
381
+ return !1;
382
+ }
383
+ return !0;
384
+ };
385
+ return ge(t) && c();
386
+ }, U = (t, s) => !s || !ge(s) || e.variant === "month" ? t : Te(new Date(t), s), l = (t) => {
387
+ o.startTime = E(
388
+ e.min && e.allowTimeInput && q(e.min, t.startDate) ? e.min : C(t.startDate)
389
+ ), o.endTime = E(
390
+ e.max && e.allowTimeInput && q(e.max, t.endDate) ? e.max : P(t.endDate)
391
+ ), n.startDate = U(t.startDate, o.startTime), n.endDate = U(t.endDate, o.endTime), n.range = null, e.granularities && _(), a(g.INPUT, {
392
+ ...n,
393
+ range: I.value
394
+ });
395
+ }, R = (t) => {
396
+ const s = (u) => e.min && C(u) < C(e.min) || e.max && C(u) > C(e.max) ? !1 : e.isDateDisabled ? !e.isDateDisabled(C(u)) : !0;
397
+ return /^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/.test(t) && s(new Date(t));
398
+ };
399
+ at(() => {
400
+ j.value = !!(e.dateFormData.startDate && !R(e.dateFormData.startDate)), e.allowTimeInput ? K.value = !!(e.dateFormData.startTime && !ce(e.dateFormData.startTime, e.dateFormData.startDate)) : K.value = !1, re.value = !!(e.dateFormData.endDate && !R(e.dateFormData.endDate)), e.allowTimeInput ? G.value = !!(e.dateFormData.endTime && !ce(e.dateFormData.endTime, e.dateFormData.endDate)) : G.value = !1;
401
+ });
402
+ const le = (t) => {
403
+ var s;
404
+ o.startDate = v(t), o.startTime ? K.value && (o.startTime = (s = e.dateFormData) == null ? void 0 : s.startTime) : o.startTime = E(t), j.value = !1, K.value = !1, a(g.START_DATE_SELECTED, t);
405
+ }, ee = (t) => {
406
+ var s;
407
+ o.endDate = v(t), o.endTime ? G.value && (o.endTime = (s = e.dateFormData) == null ? void 0 : s.endTime) : o.endTime = E(P(t)), re.value = !1, G.value = !1;
408
+ }, N = (t) => {
409
+ const s = e.value[t];
410
+ if (s)
411
+ return s;
412
+ if (e.dateFormData[t] && R(e.dateFormData[t]))
413
+ return new Date(e.dateFormData[t]);
414
+ }, pe = Ie((t) => {
415
+ var s;
416
+ if (R(t)) {
417
+ let c = t;
418
+ switch (j.value = !1, (s = J.value) == null ? void 0 : s.type) {
419
+ case "weekly":
420
+ c = Z(
421
+ t,
422
+ v,
423
+ f.value.min,
424
+ f.value.max
425
+ ), o.startDate = c;
426
+ break;
427
+ case "monthly":
428
+ c = x(
429
+ t,
430
+ v,
431
+ f.value.min,
432
+ f.value.max
433
+ ), o.startDate = c;
434
+ break;
435
+ case "quarterly":
436
+ c = de(
437
+ t,
438
+ v,
439
+ f.value.min,
440
+ f.value.max
441
+ ), o.startDate = c;
442
+ break;
443
+ }
444
+ const u = oe(c);
445
+ n.startDate = U(u, o.startTime), n.endDate = U(
446
+ oe(o.endDate),
447
+ o.endTime
448
+ ), R(o.endDate) && (n.endDate = U(
449
+ oe(o.endDate),
450
+ o.endTime
451
+ ));
452
+ const k = N("endDate");
453
+ n.range = null, a(g.FORM_DATE, {
454
+ startDate: u,
455
+ endDate: k
456
+ }), a(g.INPUT, {
457
+ ...n,
458
+ range: I.value
459
+ });
460
+ } else
461
+ j.value = !0, a(g.ERROR, { ...o });
462
+ }, Xe), ot = (t) => {
463
+ o.startDate = Ge(t), pe(o.startDate);
464
+ }, it = Ie((t) => {
465
+ var s;
466
+ if (R(t)) {
467
+ let c = t;
468
+ switch (re.value = !1, (s = J.value) == null ? void 0 : s.type) {
469
+ case "weekly":
470
+ c = ue(
471
+ t,
472
+ v,
473
+ f.value.min,
474
+ f.value.max
475
+ ), o.endDate = c;
476
+ break;
477
+ case "monthly":
478
+ c = p(
479
+ t,
480
+ v,
481
+ f.value.min,
482
+ f.value.max
483
+ ), o.endDate = c;
484
+ break;
485
+ case "quarterly":
486
+ c = L(
487
+ t,
488
+ v,
489
+ f.value.min,
490
+ f.value.max
491
+ ), o.endDate = c;
492
+ break;
493
+ }
494
+ const u = oe(c);
495
+ n.endDate = U(u, o.endTime), R(o.startDate) && (n.startDate = U(
496
+ oe(o.startDate),
497
+ o.startTime
498
+ ));
499
+ const k = N("startDate");
500
+ n.range = null, a(g.FORM_DATE, {
501
+ startDate: k,
502
+ endDate: u
503
+ }), a(g.INPUT, {
504
+ ...n,
505
+ range: I.value
506
+ });
507
+ } else
508
+ re.value = !0, a(g.ERROR, { ...o });
509
+ }, Xe), ut = (t) => {
510
+ o.endDate = Ge(t), it(o.endDate);
511
+ }, dt = (t) => {
512
+ _t(t);
513
+ }, ct = Ie((t) => {
514
+ if (ce(t, e.dateFormData.startDate)) {
515
+ K.value = !1, n.startDate = U(n.startDate, t);
516
+ const s = N("endDate");
517
+ a(g.FORM_DATE, {
518
+ startDate: n.startDate,
519
+ endDate: s,
520
+ startTime: t,
521
+ endTime: o.endTime ?? e.dateFormData.endTime
522
+ }), a(g.INPUT, {
523
+ ...n,
524
+ range: I.value
525
+ });
526
+ } else
527
+ K.value = !0, a(g.ERROR, { ...o });
528
+ }), mt = Ie((t) => {
529
+ ce(t, e.dateFormData.endDate) ? (G.value = !1, n.endDate = U(n.endDate, t), a(g.FORM_DATE, {
530
+ startDate: n.startDate,
531
+ endDate: n.endDate,
532
+ startTime: o.startTime ?? e.dateFormData.startTime,
533
+ endTime: t
534
+ }), a(g.INPUT, {
535
+ ...n,
536
+ range: I.value
537
+ })) : (G.value = !0, a(g.ERROR, { ...o }));
538
+ }), Dt = (t) => {
539
+ o.startTime = Qe(t), ct(o.startTime);
540
+ }, ft = (t) => {
541
+ o.endTime = Qe(t), mt(o.endTime);
542
+ }, vt = (t) => {
543
+ zt(t);
544
+ }, be = (t, s, c, u) => {
545
+ n.startDate = t, n.endDate = s, c && (n.granularity = c), u && (n.range = u);
546
+ }, yt = (t) => {
547
+ var c;
548
+ const s = (c = e.quickSelectRanges) == null ? void 0 : c.find(({ value: u }) => u === t);
549
+ if (s) {
550
+ _();
551
+ const u = s.data, k = u.endDate || (u.isRelativeToNow ? new Date(Date.now()) : P(new Date(Date.now()))), O = u.isRelativeToNow && u.timeDifference ? new Date(k.getTime() - u.timeDifference) : u.startDate;
552
+ o.endDate = v(k), o.startDate = v(O), be(O, k, null, t), e.granularities && (n.granularity = u.granularity || y.value), o.startTime = E(O), o.endTime = E(k), n.startDate = O, n.endDate = k, u.isRelativeToNow && (D.value = {
553
+ ...D.value,
554
+ [t]: {
555
+ startDate: O,
556
+ endDate: k
557
+ }
558
+ }), a(g.CUSTOM_RANGE, {
559
+ ...s.data,
560
+ startDate: O,
561
+ endDate: k,
562
+ range: s.value
563
+ });
564
+ }
565
+ }, Tt = {
566
+ weekly: ae,
567
+ monthly: M,
568
+ quarterly: ie
569
+ }, gt = (t) => {
570
+ const s = n.granularity;
571
+ if (n.granularity = t, s && ne(s, structuredClone(he(n))), n.startDate && n.endDate) {
572
+ switch (t) {
573
+ case "quarterly":
574
+ case "monthly":
575
+ case "weekly": {
576
+ if ($[t]) {
577
+ be($[t].startDate, $[t].endDate, t);
578
+ break;
579
+ }
580
+ const { startDate: c, endDate: u } = Tt[t](
581
+ n.startDate,
582
+ n.endDate,
583
+ f.value.min,
584
+ f.value.max
585
+ );
586
+ be(c, u, t);
587
+ break;
588
+ }
589
+ case "daily":
590
+ $.daily && be($.daily.startDate, $.daily.endDate, t);
591
+ break;
592
+ }
593
+ o.startDate = v(n.startDate), o.endDate = v(n.endDate), a(g.INPUT, {
594
+ ...n,
595
+ range: I.value
596
+ });
597
+ }
598
+ };
599
+ return {
600
+ // Values
601
+ internalRangeDate: n,
602
+ dateTextInput: o,
603
+ endDateError: re,
604
+ endTimeError: G,
605
+ granularityItems: w,
606
+ selectedGranularity: J,
607
+ computedMinMax: f,
608
+ selectedRangeSelectorValue: I,
609
+ startDateError: j,
610
+ startTimeError: K,
611
+ quickSelectRangeDefaultItems: ye,
612
+ formInputWrapperConditionalClasses: Y,
613
+ // Methods
614
+ hasSlot: Pt(i),
615
+ t: d,
616
+ // Events
617
+ onDateInput: l,
618
+ onDateInputKeyDown: dt,
619
+ onEndDateInput: ut,
620
+ onEndDateSelected: ee,
621
+ onEndTimeInput: ft,
622
+ onGranularityInput: gt,
623
+ onRangeSelectorInput: yt,
624
+ onStartDateInput: ot,
625
+ onStartDateSelected: le,
626
+ onStartTimeInput: Dt,
627
+ onTimeInputKeyDown: vt
628
+ };
629
+ }
630
+ }), ta = { class: "b-date-range-picker-calendar" }, aa = { class: "b-date-range-picker-calendar__form-container" }, na = { class: "b-date-range-picker-calendar__form" }, ra = { key: 0 }, la = { class: "b-date-range-picker-calendar__calendars-container" };
631
+ function sa(e, a, i, r, d, m) {
632
+ const D = De("bento-dropdown"), y = De("bento-segmented-control"), n = De("bento-typography"), T = De("bento-input-field"), I = De("calendar");
633
+ return A(), Me("div", ta, [
634
+ H("div", aa, [
635
+ H("div", na, [
636
+ e.hasSlot("title") ? qe(e.$slots, "title", { key: 0 }, void 0, !0) : B("", !0),
637
+ e.quickSelectRanges ? (A(), V(D, {
638
+ key: 1,
639
+ "aria-label": e.t("customRange"),
640
+ items: e.quickSelectRangeDefaultItems,
641
+ value: e.selectedRangeSelectorValue,
642
+ onInput: e.onRangeSelectorInput
643
+ }, null, 8, ["aria-label", "items", "value", "onInput"])) : B("", !0),
644
+ e.granularities ? (A(), V(y, {
645
+ key: 2,
646
+ items: e.granularityItems,
647
+ "model-value": e.internalRangeDate.granularity,
648
+ "full-width": "",
649
+ "onUpdate:modelValue": e.onGranularityInput
650
+ }, null, 8, ["items", "model-value", "onUpdate:modelValue"])) : B("", !0),
651
+ H("div", null, [
652
+ W(n, {
653
+ stronger: "",
654
+ el: "span",
655
+ class: "b-date-range-picker-calendar__label"
656
+ }, {
657
+ default: Q(() => a[0] || (a[0] = [
658
+ se(" From ")
659
+ ])),
660
+ _: 1
661
+ }),
662
+ H("div", {
663
+ class: Oe(e.formInputWrapperConditionalClasses)
664
+ }, [
665
+ W(T, {
666
+ "aria-label": e.t("dateFrom"),
667
+ value: e.dateTextInput.startDate,
668
+ error: e.startDateError,
669
+ class: "b-date-range-picker-calendar__form-input",
670
+ onInput: e.onStartDateInput,
671
+ onKeydown: e.onDateInputKeyDown
672
+ }, {
673
+ description: Q(() => a[1] || (a[1] = [
674
+ se("YYYY-MM-DD")
675
+ ])),
676
+ _: 1
677
+ }, 8, ["aria-label", "value", "error", "onInput", "onKeydown"]),
678
+ e.allowTimeInput ? (A(), V(T, {
679
+ key: 0,
680
+ "aria-label": e.t("timeFrom"),
681
+ value: e.dateTextInput.startTime,
682
+ error: e.startTimeError,
683
+ class: "b-date-range-picker-calendar__form-input",
684
+ onInput: e.onStartTimeInput,
685
+ onKeydown: e.onTimeInputKeyDown
686
+ }, {
687
+ description: Q(() => a[2] || (a[2] = [
688
+ se("HH:MM:SS")
689
+ ])),
690
+ _: 1
691
+ }, 8, ["aria-label", "value", "error", "onInput", "onKeydown"])) : B("", !0)
692
+ ], 2)
693
+ ]),
694
+ H("div", null, [
695
+ W(n, {
696
+ stronger: "",
697
+ el: "span",
698
+ class: "b-date-range-picker-calendar__label"
699
+ }, {
700
+ default: Q(() => a[3] || (a[3] = [
701
+ se(" To ")
702
+ ])),
703
+ _: 1
704
+ }),
705
+ H("div", {
706
+ class: Oe(e.formInputWrapperConditionalClasses)
707
+ }, [
708
+ W(T, {
709
+ class: "b-date-range-picker-calendar__form-input",
710
+ "aria-label": e.t("dateTo"),
711
+ value: e.dateTextInput.endDate,
712
+ error: e.endDateError,
713
+ onInput: e.onEndDateInput,
714
+ onKeydown: e.onDateInputKeyDown
715
+ }, {
716
+ description: Q(() => a[4] || (a[4] = [
717
+ se("YYYY-MM-DD")
718
+ ])),
719
+ _: 1
720
+ }, 8, ["aria-label", "value", "error", "onInput", "onKeydown"]),
721
+ e.allowTimeInput ? (A(), V(T, {
722
+ key: 0,
723
+ "aria-label": e.t("timeTo"),
724
+ value: e.dateTextInput.endTime,
725
+ error: e.endTimeError,
726
+ class: "b-date-range-picker-calendar__form-input",
727
+ onInput: e.onEndTimeInput,
728
+ onKeydown: e.onTimeInputKeyDown
729
+ }, {
730
+ description: Q(() => a[5] || (a[5] = [
731
+ se("HH:MM:SS")
732
+ ])),
733
+ _: 1
734
+ }, 8, ["aria-label", "value", "error", "onInput", "onKeydown"])) : B("", !0)
735
+ ], 2)
736
+ ])
737
+ ]),
738
+ e.hasSlot("actions") ? (A(), Me("div", ra, [
739
+ qe(e.$slots, "actions", {}, void 0, !0)
740
+ ])) : B("", !0)
741
+ ]),
742
+ H("div", la, [
743
+ W(I, {
744
+ value: e.internalRangeDate,
745
+ "first-day-of-week": e.firstDayOfWeek,
746
+ "is-date-disabled": e.isDateDisabled,
747
+ "max-range": e.maxRange,
748
+ min: e.computedMinMax.min,
749
+ max: e.computedMinMax.max,
750
+ "number-of-months": e.numberOfMonths,
751
+ "show-end-date-on-open": e.showEndDateOnOpen,
752
+ granularity: e.selectedGranularity,
753
+ variant: e.variant,
754
+ "is-range": "",
755
+ onInput: e.onDateInput,
756
+ onStartDateSelected: e.onStartDateSelected,
757
+ onEndDateSelected: e.onEndDateSelected
758
+ }, null, 8, ["value", "first-day-of-week", "is-date-disabled", "max-range", "min", "max", "number-of-months", "show-end-date-on-open", "granularity", "variant", "onInput", "onStartDateSelected", "onEndDateSelected"])
759
+ ])
760
+ ]);
761
+ }
762
+ const oa = /* @__PURE__ */ lt(ea, [["render", sa], ["__scopeId", "data-v-225b979c"]]);
763
+ function xe(e, a) {
764
+ const i = z(e, a == null ? void 0 : a.in);
765
+ return Math.trunc(i.getMonth() / 3) + 1;
766
+ }
767
+ function et(e, a) {
768
+ return z(e, a == null ? void 0 : a.in).getFullYear();
769
+ }
770
+ function ia(e, a, i) {
771
+ const [r, d] = Ct(
772
+ i == null ? void 0 : i.in,
773
+ e,
774
+ a
775
+ );
776
+ return +ve(r) == +ve(d);
777
+ }
778
+ const Ce = {
779
+ "en-US": {
780
+ apply: "Apply",
781
+ cancel: "Cancel",
782
+ dateRangePicker: "Date range picker {name}",
783
+ provideDateInAFormat: "Provide date in a YYYY-MM-DD format",
784
+ quarter: "Q{quarter} {year}",
785
+ selectDate: "Select a date",
786
+ selectDateRange: "Select a date range",
787
+ selectedDateIsNotAvailable: "Selected date is not available"
788
+ },
789
+ "ja-JP": {
790
+ apply: "適用",
791
+ cancel: "キャンセル",
792
+ selectDate: "日付を選択"
793
+ },
794
+ "pt-BR": {
795
+ apply: "Aplicar",
796
+ cancel: "Cancelar",
797
+ selectDate: "Selecione uma data"
798
+ }
799
+ }, ua = ({
800
+ datePickerValue: e,
801
+ isDateIncorrect: a,
802
+ quickSelectRanges: i,
803
+ isMonthVariant: r,
804
+ withTimeInput: d,
805
+ placeholder: m
806
+ }) => {
807
+ var w, X, f, ie;
808
+ const { locale: D, t: y } = Fe({ messages: Ce }), n = _e(), T = (M) => !!M && !isNaN(M.getTime()), I = (M, ae) => {
809
+ var Z;
810
+ return T(M) ? me(M, ae, {
811
+ locale: n[(Z = D.value) == null ? void 0 : Z.substring(0, 2)] || n.enUS
812
+ }) : void 0;
813
+ }, Y = Ee({
814
+ startDate: I((w = e.value) == null ? void 0 : w.startDate, h.NUMERIC_DATE_YEAR_FIRST),
815
+ endDate: I((X = e.value) == null ? void 0 : X.endDate, h.NUMERIC_DATE_YEAR_FIRST),
816
+ startTime: I((f = e.value) == null ? void 0 : f.startDate, h.HOUR_MINUTE_SECONDS),
817
+ endTime: I((ie = e.value) == null ? void 0 : ie.endDate, h.HOUR_MINUTE_SECONDS)
818
+ });
819
+ return {
820
+ // Values
821
+ dateDisplayValue: S(() => {
822
+ var ne;
823
+ if (a.value)
824
+ return `${Y.startDate || ""} - ${Y.endDate || ""}`;
825
+ if (!e.value || !e.value.startDate && !e.value.endDate)
826
+ return (m == null ? void 0 : m.value) || y("selectDateRange");
827
+ if ((ne = i.value) != null && ne.length) {
828
+ const _ = i.value.find(({ value: v }) => {
829
+ var E;
830
+ return v === ((E = e.value) == null ? void 0 : E.range);
831
+ });
832
+ if (_)
833
+ return _.label;
834
+ }
835
+ if (e.value.granularity === "quarterly") {
836
+ const { startDate: _, endDate: v } = e.value, E = y("quarter", { quarter: xe(_), year: et(_) });
837
+ if (ia(_, v))
838
+ return E;
839
+ const j = y("quarter", { quarter: xe(v), year: et(v) });
840
+ return `${E} - ${j}`;
841
+ }
842
+ const { startDate: M, endDate: ae, startTime: Z, endTime: ue } = Y, x = r != null && r.value ? h.LONG_MONTH_YEAR : h.FULL_DATE_MONTH_FIRST, p = I(oe(M), x), de = I(oe(ae), x);
843
+ if (!d.value)
844
+ return `${p} - ${de}`;
845
+ const L = [p, Z].filter(Boolean).join(", "), $ = [de, ue].filter(Boolean).join(", ");
846
+ return `${L} - ${$}`;
847
+ }),
848
+ textInputDisplayValue: Y,
849
+ // Methods
850
+ formatTextInputDisplayValue: () => ""
851
+ };
852
+ };
853
+ var Se = /* @__PURE__ */ ((e) => (e.INPUT = "input", e))(Se || {});
854
+ const da = { class: "b-date-range-picker" }, ca = { class: "b-date-range-picker__footer" }, ma = {
855
+ i18n: { messages: Ce },
856
+ name: "bento-date-range-picker"
857
+ }, Da = /* @__PURE__ */ tt({
858
+ ...ma,
859
+ props: {
860
+ allowTimeInput: { type: Boolean },
861
+ firstDayOfWeek: { default: 1 },
862
+ granularities: {},
863
+ isDateDisabled: { type: Function, default: void 0 },
864
+ showEndDateOnOpen: { type: Boolean, default: !1 },
865
+ quickSelectRanges: { default: void 0 },
866
+ maxRange: { default: null },
867
+ min: { default: null },
868
+ max: { default: null },
869
+ numberOfMonths: { default: void 0 },
870
+ value: { default: null },
871
+ variant: { default: void 0 },
872
+ hasActions: { type: Boolean, default: !1 },
873
+ description: { default: void 0 },
874
+ disabled: { type: Boolean, default: !1 },
875
+ errorMessage: { default: null },
876
+ label: { default: void 0 },
877
+ optional: { type: Boolean, default: !1 },
878
+ placeholder: { default: null },
879
+ readonly: { type: Boolean, default: !1 },
880
+ required: { type: Boolean, default: !1 },
881
+ tooltipText: { default: null }
882
+ },
883
+ emits: [Se.INPUT],
884
+ setup(e, { emit: a }) {
885
+ const i = a, r = e, { locale: d, t: m } = Fe({ messages: Ce }), D = _e(), y = fe("bento-date-range-picker-container"), n = fe("bento-date-range-picker-label"), T = fe("bento-date-range-picker-description"), I = fe("bento-date-range-picker-error"), Y = fe("bento-date-range-picker-date-error"), ye = S(() => r.label || m("dateRangePicker", { name: y })), J = S(() => (r == null ? void 0 : r.quickSelectRanges) && r.quickSelectRanges.map((l) => {
886
+ const R = l.data.endDate ? void 0 : new Date(Date.now()).getTime() - l.data.startDate.getTime();
887
+ return {
888
+ ...l,
889
+ data: {
890
+ ...l.data,
891
+ // Adding timeDifference to calculate an up-to-date endDate on range selection
892
+ timeDifference: R
893
+ }
894
+ };
895
+ })), w = F(!1), X = F(null), f = F(!1), { isReadOnly: ie } = At(we(r, "readonly"));
896
+ ke(
897
+ () => r.disabled,
898
+ () => {
899
+ r.disabled && f.value && (f.value = !1);
900
+ }
901
+ );
902
+ const M = S(() => r.hasActions ? !E.value && w.value : w.value), ae = S(() => ({
903
+ "b-date-range-picker__description--error": !!r.errorMessage || M.value
904
+ })), Z = S(() => r.variant === "month"), ue = S(() => r.allowTimeInput && r.variant !== "month"), { dateDisplayValue: x, textInputDisplayValue: p } = ua({
905
+ datePickerValue: we(r, "value"),
906
+ isDateIncorrect: w,
907
+ quickSelectRanges: J,
908
+ isMonthVariant: Z,
909
+ withTimeInput: ue,
910
+ placeholder: we(r, "placeholder")
911
+ }), de = S(
912
+ () => `${r.description ? T : ""} ${r.errorMessage ? I : ""} ${w.value ? Y : ""}`.trim() || null
913
+ ), L = () => {
914
+ f.value = !1;
915
+ }, $ = () => {
916
+ f.value = !0;
917
+ }, ne = F(x.value), _ = F(
918
+ // textInputDisplayValue is a reactive object
919
+ structuredClone(he(p))
920
+ ), v = F(r.value), E = F(!0), j = S(
921
+ () => r.hasActions ? _.value : p
922
+ ), re = S(
923
+ () => r.hasActions ? ne.value : x.value
924
+ );
925
+ at(() => {
926
+ if (r.hasActions || wt(
927
+ 'BentoDateRangePicker "hasActions" property',
928
+ `Set the BentoDateRangePicker "hasActions" property true which will display the "Apply" and "Cancel" buttons.
929
+ This will be the default behavior in the v2 and "hasActions" will be removed.`,
930
+ "2.0.0"
931
+ ), r.granularities && r.variant !== "month" && r.granularities.find(({ type: l }) => l === "quarterly"))
932
+ throw new Error('Quarterly granularity is only supported by BentoDateRangePicker with variant: "month"');
933
+ }), ke(
934
+ () => r.value,
935
+ () => {
936
+ ne.value = x.value, _.value = structuredClone(he(p));
937
+ }
938
+ );
939
+ const K = S(() => [
940
+ {
941
+ title: m("apply"),
942
+ event: () => {
943
+ i(Se.INPUT, v.value), L(), E.value = !0;
944
+ },
945
+ disabled: E.value
946
+ },
947
+ {
948
+ title: m("cancel"),
949
+ event: L
950
+ }
951
+ ]);
952
+ ke(v, (l) => {
953
+ if (r.hasActions) {
954
+ E.value = w.value;
955
+ return;
956
+ }
957
+ i(Se.INPUT, l);
958
+ });
959
+ const G = (l) => {
960
+ w.value = !1;
961
+ const R = (le, ee) => {
962
+ var N;
963
+ return le ? me(le, ee, {
964
+ locale: D[(N = d.value) == null ? void 0 : N.substring(0, 2)] || D.enUS
965
+ }) : void 0;
966
+ };
967
+ p.startDate = R(l.startDate, h.NUMERIC_DATE_YEAR_FIRST), p.endDate = R(l.endDate, h.NUMERIC_DATE_YEAR_FIRST), p.startTime = R(l.startDate, h.HOUR_MINUTE_SECONDS), p.endTime = R(l.endDate, h.HOUR_MINUTE_SECONDS), v.value = l;
968
+ }, o = async () => {
969
+ w.value && (w.value = !1), v.value = null;
970
+ }, Te = () => {
971
+ if (!f.value) {
972
+ f.value = !0;
973
+ return;
974
+ }
975
+ w.value || (f.value = !1);
976
+ }, ge = (l) => {
977
+ w.value = !1, l.startTime && (p.startTime = l.startTime), l.endTime && (p.endTime = l.endTime);
978
+ }, ce = (l) => {
979
+ w.value = !0, p.startDate = l.startDate, p.endDate = l.endDate, v.value = { startDate: null, endDate: null };
980
+ }, U = (l) => {
981
+ if (l) {
982
+ const R = (ee, N) => {
983
+ var pe;
984
+ return ee ? me(ee, N, {
985
+ locale: D[(pe = d.value) == null ? void 0 : pe.substring(0, 2)] || D.enUS
986
+ }) : void 0;
987
+ }, le = (ee) => {
988
+ var N;
989
+ return me(ee, h.NUMERIC_DATE_YEAR_FIRST, {
990
+ locale: D[(N = d.value) == null ? void 0 : N.substring(0, 2)] || D.enUS
991
+ });
992
+ };
993
+ p.startDate = le(l.startDate), p.endDate = le(l.endDate), p.startTime = R(
994
+ l.startDate,
995
+ h.HOUR_MINUTE_SECONDS
996
+ ), p.endTime = R(l.endDate, h.HOUR_MINUTE_SECONDS), v.value = l;
997
+ }
998
+ };
999
+ return (l, R) => pt((A(), Me("div", da, [
1000
+ l.label ? (A(), V(b(Lt), {
1001
+ key: 0,
1002
+ id: b(n),
1003
+ label: l.label,
1004
+ "tooltip-text": l.tooltipText,
1005
+ optional: l.optional,
1006
+ required: l.required
1007
+ }, null, 8, ["id", "label", "tooltip-text", "optional", "required"])) : B("", !0),
1008
+ H("div", {
1009
+ onKeydown: $e(Te, ["enter"])
1010
+ }, [
1011
+ W(b(Nt), {
1012
+ ref_key: "inputContainerRef",
1013
+ ref: X,
1014
+ "always-combobox-is-input": "",
1015
+ ariaControls: b(y),
1016
+ ariaExpanded: f.value,
1017
+ "aria-labelledby": l.label ? b(n) : null,
1018
+ "aria-describedby": de.value,
1019
+ disabled: l.disabled,
1020
+ "is-invalid": !!l.errorMessage || M.value,
1021
+ open: f.value,
1022
+ "display-value": re.value,
1023
+ readonly: b(ie),
1024
+ onOpen: $,
1025
+ onClear: o,
1026
+ onClose: L
1027
+ }, null, 8, ["ariaControls", "ariaExpanded", "aria-labelledby", "aria-describedby", "disabled", "is-invalid", "open", "display-value", "readonly"])
1028
+ ], 32),
1029
+ M.value ? (A(), V(b(He), {
1030
+ key: 1,
1031
+ id: b(Y),
1032
+ "error-message": b(m)("provideDateInAFormat"),
1033
+ class: "b-date-range-picker__error-message"
1034
+ }, null, 8, ["id", "error-message"])) : B("", !0),
1035
+ l.errorMessage ? (A(), V(b(He), {
1036
+ key: 2,
1037
+ id: b(I),
1038
+ "error-message": l.errorMessage,
1039
+ class: "b-date-range-picker__error-message"
1040
+ }, null, 8, ["id", "error-message"])) : B("", !0),
1041
+ l.description ? (A(), V(b(nt), {
1042
+ key: 3,
1043
+ id: b(T),
1044
+ class: Oe(["b-date-range-picker__description", ae.value]),
1045
+ el: "span"
1046
+ }, {
1047
+ default: Q(() => [
1048
+ se(bt(l.description), 1)
1049
+ ]),
1050
+ _: 1
1051
+ }, 8, ["id", "class"])) : B("", !0),
1052
+ X.value ? (A(), V(b(St), {
1053
+ key: 4,
1054
+ id: b(y),
1055
+ class: "b-date-range-picker__container",
1056
+ open: f.value,
1057
+ "target-element": X.value,
1058
+ "aria-label": ye.value,
1059
+ position: "bottom-start",
1060
+ "without-space": "",
1061
+ "fit-content": "",
1062
+ "trap-all": "",
1063
+ onKeydown: $e(L, ["esc", "native"])
1064
+ }, {
1065
+ default: Q(() => [
1066
+ W(b(oa), {
1067
+ "allow-time-input": ue.value,
1068
+ "quick-select-ranges": J.value,
1069
+ value: l.value,
1070
+ "first-day-of-week": l.firstDayOfWeek,
1071
+ granularities: l.granularities,
1072
+ "is-date-disabled": l.isDateDisabled,
1073
+ "max-range": l.maxRange,
1074
+ min: l.min,
1075
+ max: l.max,
1076
+ "number-of-months": l.numberOfMonths,
1077
+ "show-end-date-on-open": l.showEndDateOnOpen,
1078
+ "date-form-data": j.value,
1079
+ variant: l.variant,
1080
+ onCustomRange: U,
1081
+ onInput: G,
1082
+ onError: ce,
1083
+ onFormDate: ge
1084
+ }, It({ _: 2 }, [
1085
+ l.hasActions ? {
1086
+ name: "actions",
1087
+ fn: Q(() => [
1088
+ W(b(Rt)),
1089
+ H("div", ca, [
1090
+ W(b(Et), {
1091
+ actions: K.value,
1092
+ layout: b(jt).SPACE_BETWEEN
1093
+ }, null, 8, ["actions", "layout"])
1094
+ ])
1095
+ ]),
1096
+ key: "0"
1097
+ } : void 0
1098
+ ]), 1032, ["allow-time-input", "quick-select-ranges", "value", "first-day-of-week", "granularities", "is-date-disabled", "max-range", "min", "max", "number-of-months", "show-end-date-on-open", "date-form-data", "variant"])
1099
+ ]),
1100
+ _: 1
1101
+ }, 8, ["id", "open", "target-element", "aria-label"])) : B("", !0)
1102
+ ])), [
1103
+ [b(Ut), L]
1104
+ ]);
1105
+ }
1106
+ }), Ba = /* @__PURE__ */ lt(Da, [["__scopeId", "data-v-09f3b2b1"]]);
1107
+ export {
1108
+ Ba as B,
1109
+ oa as D,
1110
+ Se as a,
1111
+ xt as b,
1112
+ Re as i
1113
+ };
1114
+ //# sourceMappingURL=date-range-picker.B6UKl1_N.js.map