@adyen/bento-vue2 0.10.0 → 0.10.1-2

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 (239) hide show
  1. package/dist/@types/components/currency/currency.vue.d.ts +9 -0
  2. package/dist/@types/components/data-grid/data-grid.vue.d.ts +3 -3
  3. package/dist/@types/components/date/date.vue.d.ts +9 -0
  4. package/dist/@types/components/modal/components/base-modal/base-modal.vue.d.ts +10 -0
  5. package/dist/@types/components/modal/components/modal-default/modal-default.vue.d.ts +9 -0
  6. package/dist/@types/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +9 -0
  7. package/dist/@types/components/modal/modal.vue.d.ts +11 -0
  8. package/dist/@types/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
  9. package/dist/@types/components/segmented-control/index.d.ts +2 -0
  10. package/dist/@types/components/segmented-control/segmented-control.types.d.ts +8 -0
  11. package/dist/@types/components/segmented-control/segmented-control.vue.d.ts +53 -0
  12. package/dist/@types/components.d.ts +2 -4
  13. package/dist/@types/index.d.ts +1 -0
  14. package/dist/accordion.js +206 -0
  15. package/dist/accordion.js.map +1 -0
  16. package/dist/alert.js +103 -0
  17. package/dist/alert.js.map +1 -0
  18. package/dist/assets/base-button.css +1 -0
  19. package/dist/assets/button-actions.css +1 -0
  20. package/dist/assets/button.css +1 -0
  21. package/dist/assets/checkbox.css +1 -0
  22. package/dist/assets/checkmark-circle-fill.css +1 -0
  23. package/dist/assets/checkmark-small.css +1 -0
  24. package/dist/assets/chevron-left.css +1 -0
  25. package/dist/assets/chevron-up.css +1 -0
  26. package/dist/assets/copy.css +1 -0
  27. package/dist/assets/cross-circle-fill.css +1 -0
  28. package/dist/assets/cross-small.css +1 -0
  29. package/dist/assets/cross.css +1 -0
  30. package/dist/assets/dropdown.css +1 -0
  31. package/dist/assets/grid-layout.css +1 -0
  32. package/dist/assets/index.css +1 -0
  33. package/dist/assets/index10.css +1 -0
  34. package/dist/assets/index11.css +1 -0
  35. package/dist/assets/index12.css +1 -0
  36. package/dist/assets/index13.css +1 -0
  37. package/dist/assets/index14.css +1 -0
  38. package/dist/assets/index15.css +1 -0
  39. package/dist/assets/index16.css +1 -0
  40. package/dist/assets/index17.css +1 -0
  41. package/dist/assets/index18.css +1 -0
  42. package/dist/assets/index19.css +1 -0
  43. package/dist/assets/index2.css +1 -0
  44. package/dist/assets/index20.css +1 -0
  45. package/dist/assets/index21.css +1 -0
  46. package/dist/assets/index22.css +1 -0
  47. package/dist/assets/index23.css +1 -0
  48. package/dist/assets/index24.css +1 -0
  49. package/dist/assets/index25.css +1 -0
  50. package/dist/assets/index26.css +1 -0
  51. package/dist/assets/index27.css +1 -0
  52. package/dist/assets/index28.css +1 -0
  53. package/dist/assets/index29.css +1 -0
  54. package/dist/assets/index3.css +1 -0
  55. package/dist/assets/index30.css +1 -0
  56. package/dist/assets/index31.css +1 -0
  57. package/dist/assets/index32.css +1 -0
  58. package/dist/assets/index33.css +1 -0
  59. package/dist/assets/index34.css +1 -0
  60. package/dist/assets/index35.css +1 -0
  61. package/dist/assets/index36.css +1 -0
  62. package/dist/assets/index37.css +1 -0
  63. package/dist/assets/index38.css +1 -0
  64. package/dist/assets/index4.css +1 -0
  65. package/dist/assets/index5.css +1 -0
  66. package/dist/assets/index6.css +1 -0
  67. package/dist/assets/index7.css +1 -0
  68. package/dist/assets/index8.css +1 -0
  69. package/dist/assets/index9.css +1 -0
  70. package/dist/assets/info-filled.css +1 -0
  71. package/dist/assets/listbox-option-tag.css +1 -0
  72. package/dist/assets/listbox.css +1 -0
  73. package/dist/assets/search.css +1 -0
  74. package/dist/assets/tooltip.css +1 -0
  75. package/dist/avatar-image.js +7 -0
  76. package/dist/avatar-image.js.map +1 -0
  77. package/dist/badge.js +57 -0
  78. package/dist/badge.js.map +1 -0
  79. package/dist/button.js +110 -0
  80. package/dist/button.js.map +1 -0
  81. package/dist/card.js +178 -0
  82. package/dist/card.js.map +1 -0
  83. package/dist/checkbox.js +94 -0
  84. package/dist/checkbox.js.map +1 -0
  85. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +33 -0
  86. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +1 -0
  87. package/dist/chunks/aria-label.ac9651a5.js +13 -0
  88. package/dist/chunks/aria-label.ac9651a5.js.map +1 -0
  89. package/dist/chunks/base-button.38651156.js +83 -0
  90. package/dist/chunks/base-button.38651156.js.map +1 -0
  91. package/dist/chunks/button-actions.59406268.js +105 -0
  92. package/dist/chunks/button-actions.59406268.js.map +1 -0
  93. package/dist/chunks/button.31b757d1.js +102 -0
  94. package/dist/chunks/button.31b757d1.js.map +1 -0
  95. package/dist/chunks/checkbox.fab16cce.js +138 -0
  96. package/dist/chunks/checkbox.fab16cce.js.map +1 -0
  97. package/dist/chunks/checkmark-circle-fill.d1aa324d.js +26 -0
  98. package/dist/chunks/checkmark-circle-fill.d1aa324d.js.map +1 -0
  99. package/dist/chunks/checkmark-small.1371dd20.js +26 -0
  100. package/dist/chunks/checkmark-small.1371dd20.js.map +1 -0
  101. package/dist/chunks/chevron-left.e3a49e62.js +47 -0
  102. package/dist/chunks/chevron-left.e3a49e62.js.map +1 -0
  103. package/dist/chunks/chevron-up.416431cd.js +47 -0
  104. package/dist/chunks/chevron-up.416431cd.js.map +1 -0
  105. package/dist/chunks/copy.fa9aa27e.js +105 -0
  106. package/dist/chunks/copy.fa9aa27e.js.map +1 -0
  107. package/dist/chunks/cross-circle-fill.0a1d738c.js +26 -0
  108. package/dist/chunks/cross-circle-fill.0a1d738c.js.map +1 -0
  109. package/dist/chunks/cross-small.7ecb1b97.js +26 -0
  110. package/dist/chunks/cross-small.7ecb1b97.js.map +1 -0
  111. package/dist/chunks/cross.db1f9177.js +26 -0
  112. package/dist/chunks/cross.db1f9177.js.map +1 -0
  113. package/dist/chunks/directive.23e35ab0.js +21 -0
  114. package/dist/chunks/directive.23e35ab0.js.map +1 -0
  115. package/dist/chunks/dropdown.0d394d2f.js +771 -0
  116. package/dist/chunks/dropdown.0d394d2f.js.map +1 -0
  117. package/dist/chunks/grid-layout.14423a2e.js +69 -0
  118. package/dist/chunks/grid-layout.14423a2e.js.map +1 -0
  119. package/dist/chunks/hasSlot.dceac207.js +5 -0
  120. package/dist/chunks/hasSlot.dceac207.js.map +1 -0
  121. package/dist/chunks/i18n.8934ef6c.js +1695 -0
  122. package/dist/chunks/i18n.8934ef6c.js.map +1 -0
  123. package/dist/chunks/index.2e54c294.js +801 -0
  124. package/dist/chunks/index.2e54c294.js.map +1 -0
  125. package/dist/chunks/index.34eba2c4.js +107 -0
  126. package/dist/chunks/index.34eba2c4.js.map +1 -0
  127. package/dist/chunks/index.59dc2e3f.js +801 -0
  128. package/dist/chunks/index.59dc2e3f.js.map +1 -0
  129. package/dist/chunks/index.73d7902e.js +29 -0
  130. package/dist/chunks/index.73d7902e.js.map +1 -0
  131. package/dist/chunks/index.8c38e06b.js +441 -0
  132. package/dist/chunks/index.8c38e06b.js.map +1 -0
  133. package/dist/chunks/index.8e9cdc73.js +441 -0
  134. package/dist/chunks/index.8e9cdc73.js.map +1 -0
  135. package/dist/chunks/index.a7a22907.js +929 -0
  136. package/dist/chunks/index.a7a22907.js.map +1 -0
  137. package/dist/chunks/index.ad5e1dbd.js +107 -0
  138. package/dist/chunks/index.ad5e1dbd.js.map +1 -0
  139. package/dist/chunks/index.e2141d95.js +86 -0
  140. package/dist/chunks/index.e2141d95.js.map +1 -0
  141. package/dist/chunks/index.f4582460.js +86 -0
  142. package/dist/chunks/index.f4582460.js.map +1 -0
  143. package/dist/chunks/index.f55fdc32.js +1118 -0
  144. package/dist/chunks/index.f55fdc32.js.map +1 -0
  145. package/dist/chunks/info-filled.9748686e.js +26 -0
  146. package/dist/chunks/info-filled.9748686e.js.map +1 -0
  147. package/dist/chunks/listbox-option-tag.2e5c4012.js +111 -0
  148. package/dist/chunks/listbox-option-tag.2e5c4012.js.map +1 -0
  149. package/dist/chunks/listbox-option-tag.f44b4ee0.js +111 -0
  150. package/dist/chunks/listbox-option-tag.f44b4ee0.js.map +1 -0
  151. package/dist/chunks/listbox.152dab0a.js +485 -0
  152. package/dist/chunks/listbox.152dab0a.js.map +1 -0
  153. package/dist/chunks/on-click-outside.3e0c3e2a.js +91 -0
  154. package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -0
  155. package/dist/chunks/search.6be3396b.js +26 -0
  156. package/dist/chunks/search.6be3396b.js.map +1 -0
  157. package/dist/chunks/toastController.b1b08299.js +15 -0
  158. package/dist/chunks/toastController.b1b08299.js.map +1 -0
  159. package/dist/chunks/tooltip.a4625a7b.js +220 -0
  160. package/dist/chunks/tooltip.a4625a7b.js.map +1 -0
  161. package/dist/chunks/unique-id.a2a2b458.js +34 -0
  162. package/dist/chunks/unique-id.a2a2b458.js.map +1 -0
  163. package/dist/chunks/use-default-slot-validator.83d977a1.js +11 -0
  164. package/dist/chunks/use-default-slot-validator.83d977a1.js.map +1 -0
  165. package/dist/chunks/useCountryItems.cbe60557.js +29 -0
  166. package/dist/chunks/useCountryItems.cbe60557.js.map +1 -0
  167. package/dist/click-outside.js +23 -0
  168. package/dist/click-outside.js.map +1 -0
  169. package/dist/controls-group.js +59 -0
  170. package/dist/controls-group.js.map +1 -0
  171. package/dist/country.js +5979 -0
  172. package/dist/country.js.map +1 -0
  173. package/dist/currency.js +119 -0
  174. package/dist/currency.js.map +1 -0
  175. package/dist/data-grid.js +1169 -0
  176. package/dist/data-grid.js.map +1 -0
  177. package/dist/date-picker.js +8 -0
  178. package/dist/date-picker.js.map +1 -0
  179. package/dist/date.js +6 -0
  180. package/dist/date.js.map +1 -0
  181. package/dist/divider.js +35 -0
  182. package/dist/divider.js.map +1 -0
  183. package/dist/dropdown.js +262 -0
  184. package/dist/dropdown.js.map +1 -0
  185. package/dist/filter-bar.js +1735 -0
  186. package/dist/filter-bar.js.map +1 -0
  187. package/dist/focus-trap.js +5 -0
  188. package/dist/focus-trap.js.map +1 -0
  189. package/dist/header.js +205 -0
  190. package/dist/header.js.map +1 -0
  191. package/dist/index.js +335 -21278
  192. package/dist/index.js.map +1 -1
  193. package/dist/info-icon.js +61 -0
  194. package/dist/info-icon.js.map +1 -0
  195. package/dist/input-field.js +168 -0
  196. package/dist/input-field.js.map +1 -0
  197. package/dist/internal.js +13 -0
  198. package/dist/internal.js.map +1 -0
  199. package/dist/link.js +46 -0
  200. package/dist/link.js.map +1 -0
  201. package/dist/loading-indicator.js +51 -0
  202. package/dist/loading-indicator.js.map +1 -0
  203. package/dist/menu.js +474 -0
  204. package/dist/menu.js.map +1 -0
  205. package/dist/modal.js +709 -0
  206. package/dist/modal.js.map +1 -0
  207. package/dist/pagination.js +487 -0
  208. package/dist/pagination.js.map +1 -0
  209. package/dist/payment-method.js +84 -0
  210. package/dist/payment-method.js.map +1 -0
  211. package/dist/popover.js +284 -0
  212. package/dist/popover.js.map +1 -0
  213. package/dist/popper-container.js +225 -0
  214. package/dist/popper-container.js.map +1 -0
  215. package/dist/radio-group.js +192 -0
  216. package/dist/radio-group.js.map +1 -0
  217. package/dist/search-bar.js +106 -0
  218. package/dist/search-bar.js.map +1 -0
  219. package/dist/status.js +47 -0
  220. package/dist/status.js.map +1 -0
  221. package/dist/structured-list.js +98 -0
  222. package/dist/structured-list.js.map +1 -0
  223. package/dist/summary-grid.js +526 -0
  224. package/dist/summary-grid.js.map +1 -0
  225. package/dist/tabs.js +106 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tag.js +73 -0
  228. package/dist/tag.js.map +1 -0
  229. package/dist/textarea.js +64 -0
  230. package/dist/textarea.js.map +1 -0
  231. package/dist/toast.js +132 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/toggle.js +6 -0
  234. package/dist/toggle.js.map +1 -0
  235. package/dist/typography.js +111 -0
  236. package/dist/typography.js.map +1 -0
  237. package/dist/web-types.json +130 -13
  238. package/package.json +6 -4
  239. package/dist/@types/utils/ts/inject-css.d.ts +0 -2
@@ -0,0 +1,801 @@
1
+ import "../assets/index10.css";
2
+ import { defineComponent as $, computed as f, reactive as F, watch as z, ref as C, toRef as X, onMounted as De } from "vue";
3
+ import { BentoPopover as _e, BentoPopoverPositions as ve } from "../popover.js";
4
+ import { g as re } from "./unique-id.a2a2b458.js";
5
+ import { u as G } from "./i18n.8934ef6c.js";
6
+ import { BentoTypography as ee, BentoTypographyElement as te, BentoTypographyVariant as de } from "../typography.js";
7
+ import { t as x, B as fe, a as pe, f as L } from "./index.a7a22907.js";
8
+ import { r as h, t as m, e as b, d as H, f as W } from "./index.f55fdc32.js";
9
+ import { B as Ee, a as ye } from "./button.31b757d1.js";
10
+ import { C as me, a as be } from "./chevron-left.e3a49e62.js";
11
+ import { n as q } from "./_plugin-vue2_normalizer.71e2aa87.js";
12
+ import { BentoInputField as Te } from "../input-field.js";
13
+ import { d as se, D as ge } from "./dropdown.0d394d2f.js";
14
+ import { h as Ie } from "./hasSlot.dceac207.js";
15
+ import { B as Me } from "./directive.23e35ab0.js";
16
+ var O = /* @__PURE__ */ ((t) => (t.DAY_OF_MONTH = "d", t.NUMERIC_DAY = "dd", t.SHORT_WEEKDAY = "EEE", t.NUMERIC_MONTH = "MM", t.SHORT_MONTH = "MMM", t.LONG_MONTH = "MMMM", t.LONG_MONTH_YEAR = "MMMM yyyy", t.FULL_YEAR = "yyyy", t.FULL_DATE = "d MMM, yyyy", t.FULL_DATE_MONTH_FIRST = "MMM dd, yyyy", t.NUMERIC_DATE_YEAR_FIRST = "yyyy-MM-dd", t.NUMERIC_DATE_DAY_FIRST = "yyyy-MM-dd", t))(O || {});
17
+ function Ne(t, e) {
18
+ h(2, arguments);
19
+ var a = m(t), n = x(e);
20
+ return isNaN(n) ? /* @__PURE__ */ new Date(NaN) : (n && a.setDate(a.getDate() + n), a);
21
+ }
22
+ function Z(t, e) {
23
+ h(2, arguments);
24
+ var a = m(t), n = x(e);
25
+ if (isNaN(n))
26
+ return /* @__PURE__ */ new Date(NaN);
27
+ if (!n)
28
+ return a;
29
+ var s = a.getDate(), o = new Date(a.getTime());
30
+ o.setMonth(a.getMonth() + n + 1, 0);
31
+ var u = o.getDate();
32
+ return s >= u ? o : (a.setFullYear(o.getFullYear(), o.getMonth(), s), a);
33
+ }
34
+ function V(t) {
35
+ h(1, arguments);
36
+ var e = m(t);
37
+ return e.setHours(0, 0, 0, 0), e;
38
+ }
39
+ function Q(t, e) {
40
+ h(2, arguments);
41
+ var a = V(t), n = V(e);
42
+ return a.getTime() === n.getTime();
43
+ }
44
+ function he(t) {
45
+ h(1, arguments);
46
+ var e = m(t);
47
+ return e.setDate(1), e.setHours(0, 0, 0, 0), e;
48
+ }
49
+ function Re(t, e) {
50
+ h(2, arguments);
51
+ var a = x(e);
52
+ return Z(t, -a);
53
+ }
54
+ function Se(t, e) {
55
+ h(2, arguments);
56
+ var a = m(t), n = m(e);
57
+ return a.getTime() > n.getTime();
58
+ }
59
+ function Oe(t, e) {
60
+ h(2, arguments);
61
+ var a = m(t), n = m(e);
62
+ return a.getTime() < n.getTime();
63
+ }
64
+ function oe(t, e) {
65
+ h(2, arguments);
66
+ var a = m(t).getTime(), n = m(e.start).getTime(), s = m(e.end).getTime();
67
+ if (!(n <= s))
68
+ throw new RangeError("Invalid interval");
69
+ return a >= n && a <= s;
70
+ }
71
+ function ke(t, e, a) {
72
+ h(2, arguments);
73
+ var n = a || {}, s = n.locale, o = s && s.options && s.options.weekStartsOn, u = o == null ? 0 : x(o), c = n.weekStartsOn == null ? u : x(n.weekStartsOn);
74
+ if (!(c >= 0 && c <= 6))
75
+ throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");
76
+ var r = m(t), l = x(e), D = r.getDay(), p = l % 7, P = (p + 7) % 7, k = 7 - c, _ = l < 0 || l > 6 ? l - (D + k) % 7 : (P + k) % 7 - (D + k) % 7;
77
+ return Ne(r, _);
78
+ }
79
+ var y = /* @__PURE__ */ ((t) => (t.SINGLE = "single", t.MIDDLE = "middle", t.BEGINNING = "beginning", t.END = "end", t))(y || {}), R = /* @__PURE__ */ ((t) => (t.SINGLE = "single", t.MIDDLE = "middle", t.BEGINNING = "beginning", t.END = "end", t.SELECTED = "selected", t.UNSELECTED = "unselected", t.CURRENT_DAY = "current-day", t.DISABLED = "disabled", t))(R || {}), Y = /* @__PURE__ */ ((t) => (t.CLICK = "click", t.MOUSE_OVER = "mouseover", t))(Y || {});
80
+ const Ae = $({
81
+ name: "date-picker-calendar-day",
82
+ components: { BentoDate: fe },
83
+ inheritAttrs: !0,
84
+ props: {
85
+ /**
86
+ * Date to be displayed as the calendar day. From 1st to 31st (or end of the month defined in the date)
87
+ */
88
+ day: { type: Date, required: !0 },
89
+ /**
90
+ * Indicate if a date should be disabled or not
91
+ */
92
+ disabled: { type: Boolean, default: !1 },
93
+ /**
94
+ * Changes the state of the calendar day to selected.
95
+ */
96
+ selected: { type: Boolean, default: !1 },
97
+ /**
98
+ * When the day is selected, this indicates if the selection is a single date or part of a range.
99
+ * If it's a range it can be at the beginning, middle or end of the selection.
100
+ */
101
+ variant: {
102
+ type: String,
103
+ default: y.SINGLE,
104
+ validator: (t) => Object.values(y).includes(t)
105
+ }
106
+ },
107
+ emits: [Y.CLICK, Y.MOUSE_OVER],
108
+ setup(t, { emit: e }) {
109
+ const a = f(() => {
110
+ const o = /* @__PURE__ */ new Date();
111
+ return t.day.getDate() === o.getDate() && t.day.getMonth() === o.getMonth() && t.day.getFullYear() === o.getFullYear();
112
+ });
113
+ return {
114
+ // Values
115
+ conditionalClasses: f(() => ({
116
+ // Variants
117
+ [`b-date-picker-calendar-day--${R.BEGINNING}`]: t.variant === y.BEGINNING,
118
+ [`b-date-picker-calendar-day--${R.MIDDLE}`]: t.variant === y.MIDDLE,
119
+ [`b-date-picker-calendar-day--${R.END}`]: t.variant === y.END,
120
+ [`b-date-picker-calendar-day--${R.SINGLE}`]: t.variant === y.SINGLE,
121
+ // Selected
122
+ [`b-date-picker-calendar-day--${R.UNSELECTED}`]: !t.selected,
123
+ [`b-date-picker-calendar-day--${R.SELECTED}`]: t.selected,
124
+ // Current Day
125
+ [`b-date-picker-calendar-day--${R.CURRENT_DAY}`]: a.value,
126
+ // Disabled
127
+ [`b-date-picker-calendar-day--${R.DISABLED}`]: t.disabled
128
+ })),
129
+ // Enums
130
+ BentoDateFormat: pe,
131
+ DatePickerCalendarDayEvent: Y,
132
+ // Events
133
+ onClick: (o) => {
134
+ t.disabled || e(Y.CLICK, o, t.day);
135
+ }
136
+ };
137
+ }
138
+ });
139
+ var Ce = function() {
140
+ var e = this, a = e._self._c;
141
+ return e._self._setupProxy, a("td", { staticClass: "b-date-picker-calendar-day", class: e.conditionalClasses, attrs: { tabindex: "-1" }, on: { click: () => e.onClick(e.day), mouseover: function(n) {
142
+ return e.$emit(e.DatePickerCalendarDayEvent.MOUSE_OVER);
143
+ } } }, [a("div", { staticClass: "b-date-picker-calendar-day__wrapper" }, [a("bento-date", { staticClass: "b-date-picker-calendar-day__label", attrs: { date: e.day, format: e.BentoDateFormat.DAY_OF_MONTH } })], 1)]);
144
+ }, Ue = [], Le = /* @__PURE__ */ q(
145
+ Ae,
146
+ Ce,
147
+ Ue,
148
+ !1,
149
+ null,
150
+ "dd56f285",
151
+ null,
152
+ null
153
+ );
154
+ const Pe = Le.exports;
155
+ var S = /* @__PURE__ */ ((t) => (t.INPUT = "input", t.MOUSE_OVER = "mouseover", t.NEXT_MONTH = "nextMonth", t.PREVIOUS_MONTH = "previousMonth", t))(S || {}), M = /* @__PURE__ */ ((t) => (t.FIRST = "first", t.LAST = "last", t.MIDDLE = "middle", t.UNIQUE = "unique", t))(M || {}), U = /* @__PURE__ */ ((t) => (t[t.MONDAY = 1] = "MONDAY", t[t.SATURDAY = 6] = "SATURDAY", t[t.SUNDAY = 0] = "SUNDAY", t))(U || {});
156
+ const le = {
157
+ "en-US": {
158
+ nextMonth: "Next month",
159
+ previousMonth: "Previous month"
160
+ }
161
+ }, we = $({
162
+ i18n: { messages: le },
163
+ name: "date-picker-calendar",
164
+ components: {
165
+ BentoButton: Ee,
166
+ BentoTypography: ee,
167
+ DatePickerCalendarDay: Pe,
168
+ ChevronLeftIcon: me,
169
+ ChevronRightIcon: be
170
+ },
171
+ inheritAttrs: !1,
172
+ props: {
173
+ /**
174
+ * end of the selected range
175
+ */
176
+ endDate: { type: Date, default: null },
177
+ /**
178
+ * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday
179
+ */
180
+ firstDayOfWeek: {
181
+ type: Number,
182
+ default: U.MONDAY,
183
+ validator: (t) => Object.values(U).includes(t)
184
+ },
185
+ /**
186
+ * Indicate if a date should be disabled or not
187
+ */
188
+ isDateDisabled: { type: Function, default: void 0 },
189
+ /**
190
+ * Indicates if the calendar is part of a range date picker or a sigle date picker
191
+ */
192
+ isRange: { type: Boolean, default: !1 },
193
+ /**
194
+ * Month of the year to be displayed in the calendar
195
+ */
196
+ month: { type: Date, required: !0 },
197
+ /**
198
+ * When rendering multiple calendars, this property allows to render the
199
+ * Next and Previous calendar buttons to the right, left or not at all
200
+ * depending on the position: Unique (only 1), First, Middle or Last
201
+ */
202
+ position: {
203
+ type: String,
204
+ default: M.UNIQUE,
205
+ validator: (t) => Object.values(M).includes(t)
206
+ },
207
+ /**
208
+ * start of the selected range
209
+ */
210
+ startDate: { type: Date, default: null }
211
+ // can be undefined, eslint complains without default
212
+ },
213
+ emits: [
214
+ S.INPUT,
215
+ S.NEXT_MONTH,
216
+ S.PREVIOUS_MONTH,
217
+ S.MOUSE_OVER
218
+ ],
219
+ setup(t, { emit: e }) {
220
+ const { locale: a } = G({ messages: le }), n = { de: H, enUS: b, fr: W }, s = f(
221
+ () => Object.values(U).includes(t.firstDayOfWeek) ? t.firstDayOfWeek : U.MONDAY
222
+ ), o = f(
223
+ () => [M.FIRST, M.UNIQUE].includes(t.position)
224
+ ), u = f(
225
+ () => [M.LAST, M.UNIQUE].includes(t.position)
226
+ ), c = f(
227
+ () => L(t.month, "MMMM yyyy", {
228
+ locale: n[a.value.substring(0, 2)] || b
229
+ })
230
+ ), r = f(
231
+ () => new Array(7).fill(/* @__PURE__ */ new Date()).map((d, T) => {
232
+ const N = ke(d, s.value + T);
233
+ return L(N, "EEE", {
234
+ locale: n[a.value.substring(0, 2)] || b
235
+ });
236
+ })
237
+ ), l = f(() => {
238
+ const d = [], T = he(t.month);
239
+ let N = d[d.push([]) - 1];
240
+ for (; T.getMonth() === t.month.getMonth(); )
241
+ T.getDay() - s.value === 0 && N.length > 0 && (N = d[d.push([]) - 1]), N.push(V(T)), T.setDate(T.getDate() + 1);
242
+ return d;
243
+ });
244
+ return {
245
+ // Values
246
+ daysOfWeek: r,
247
+ weeksOfMonth: l,
248
+ formattedMonthDate: c,
249
+ shouldShowNextMonthButton: u,
250
+ shouldShowPreviousMonthButton: o,
251
+ // Enums
252
+ BentoButtonVariant: ye,
253
+ BentoTypographyElement: te,
254
+ BentoTypographyVariant: de,
255
+ DatePickerCalendarDayVariant: y,
256
+ DatePickerCalendarEvent: S,
257
+ // Functions
258
+ isSelectedDate: (d) => t.startDate && Q(t.startDate, d) ? !0 : t.startDate && t.endDate && oe(d, { start: t.startDate, end: t.endDate }),
259
+ showNextMonth: () => {
260
+ e(S.NEXT_MONTH);
261
+ },
262
+ showPreviousMonth: () => {
263
+ e(S.PREVIOUS_MONTH);
264
+ },
265
+ dayVariant: (d) => {
266
+ if (!t.isRange || Q(t.startDate, t.endDate))
267
+ return y.SINGLE;
268
+ if (t.startDate && Q(t.startDate, d))
269
+ return y.BEGINNING;
270
+ if (t.endDate && Q(t.endDate, d))
271
+ return y.END;
272
+ if (t.startDate && t.endDate && oe(d, { start: t.startDate, end: t.endDate }))
273
+ return y.MIDDLE;
274
+ },
275
+ // Events
276
+ onDayClicked: (d) => {
277
+ e(S.INPUT, d);
278
+ }
279
+ };
280
+ }
281
+ });
282
+ var Be = function() {
283
+ var e = this, a = e._self._c;
284
+ return e._self._setupProxy, a("div", { staticClass: "b-date-picker-calendar" }, [a("div", { staticClass: "b-date-picker-calendar__month-selector" }, [a("div", { staticClass: "b-date-picker-calendar__previous" }, [e.shouldShowPreviousMonthButton ? a("bento-button", { attrs: { variant: e.BentoButtonVariant.TERTIARY }, on: { click: e.showPreviousMonth }, scopedSlots: e._u([{ key: "iconLeft", fn: function() {
285
+ return [a("chevron-left-icon", { attrs: { "svg-title": e.$t("previousMonth") } })];
286
+ }, proxy: !0 }], null, !1, 351640624) }) : e._e()], 1), a("bento-typography", { attrs: { el: e.BentoTypographyElement.H2, variant: e.BentoTypographyVariant.SUBTITLE, "aria-live": "polite" } }, [e._v(" " + e._s(e.formattedMonthDate) + " ")]), a("div", { staticClass: "b-date-picker-calendar__next" }, [e.shouldShowNextMonthButton ? a("bento-button", { attrs: { variant: e.BentoButtonVariant.TERTIARY }, on: { click: e.showNextMonth }, scopedSlots: e._u([{ key: "iconLeft", fn: function() {
287
+ return [a("chevron-right-icon", { attrs: { "svg-title": e.$t("nextMonth") } })];
288
+ }, proxy: !0 }], null, !1, 1260976669) }) : e._e()], 1)], 1), a("table", { staticClass: "b-date-picker-calendar__month-calendar" }, [a("thead", [a("tr", { staticClass: "b-date-picker-calendar__week-header" }, e._l(e.daysOfWeek, function(n, s) {
289
+ return a("th", { key: s, staticClass: "b-date-picker-calendar__day-of-week" }, [a("bento-typography", { staticClass: "b-date-picker-calendar__day-of-week-font", attrs: { el: e.BentoTypographyElement.SPAN, variant: e.BentoTypographyVariant.CAPTION } }, [e._v(" " + e._s(n) + " ")])], 1);
290
+ }), 0)]), a("tbody", e._l(e.weeksOfMonth, function(n, s) {
291
+ return a("tr", { key: s }, [s === 0 && n.length < 7 ? a("td", { attrs: { colspan: 7 - n.length } }) : e._e(), e._l(n, function(o, u) {
292
+ return a("date-picker-calendar-day", { key: `data-picker-calendar-day-${u}`, attrs: { day: o, disabled: e.isDateDisabled ? e.isDateDisabled(o) : void 0, selected: e.isSelectedDate(o), variant: e.dayVariant(o) }, on: { click: e.onDayClicked, mouseover: function(c) {
293
+ return e.$emit(e.DatePickerCalendarEvent.MOUSE_OVER, o);
294
+ } } });
295
+ })], 2);
296
+ }), 0)])]);
297
+ }, xe = [], Ye = /* @__PURE__ */ q(
298
+ we,
299
+ Be,
300
+ xe,
301
+ !1,
302
+ null,
303
+ "a312067c",
304
+ null,
305
+ null
306
+ );
307
+ const K = Ye.exports;
308
+ var E = /* @__PURE__ */ ((t) => (t.INPUT = "input", t.START_DATE_SELECTED = "start-date-selected", t.END_DATE_SELECTED = "end-date-selected", t))(E || {});
309
+ const Fe = ({ selectedDate: t }, e) => {
310
+ const a = F({
311
+ startDate: null,
312
+ endDate: null
313
+ });
314
+ return z(
315
+ () => t.value,
316
+ () => {
317
+ a.startDate = t.value, a.endDate = void 0;
318
+ },
319
+ { immediate: !0 }
320
+ ), {
321
+ internalValue: a,
322
+ onDateInput: (s) => {
323
+ e(E.INPUT, s);
324
+ },
325
+ // Empty function to prevent the listeners from throwing a warning
326
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
327
+ onMouseOver: () => {
328
+ }
329
+ };
330
+ }, Ve = ({ selectedDate: t, isDateDisabled: e }, a) => {
331
+ const n = F({
332
+ startDate: null,
333
+ endDate: null
334
+ }), s = C(null);
335
+ z(
336
+ () => t.value,
337
+ () => {
338
+ let { startDate: r = null, endDate: l = null } = t.value || {};
339
+ r && (r = V(r)), l && (l = V(l)), !(r && e && e(r) || l && e && e(l) || r && l && Se(r, l)) && (n.startDate = r, n.endDate = l);
340
+ },
341
+ { immediate: !0 }
342
+ );
343
+ const o = (r, l) => {
344
+ n.startDate = r, n.endDate = l;
345
+ };
346
+ return {
347
+ internalValue: n,
348
+ onDateInput: (r) => {
349
+ s.value ? (s.value = null, o(n.startDate, r), a(E.INPUT, n)) : (s.value = r, o(r, r), a(E.START_DATE_SELECTED, r), a(E.END_DATE_SELECTED, r));
350
+ },
351
+ onMouseOver: (r) => {
352
+ !s.value || e && e(r) || (Oe(r, s.value) ? (o(r, s.value), a(E.START_DATE_SELECTED, r), a(E.END_DATE_SELECTED, s.value)) : (o(s.value, r), a(E.START_DATE_SELECTED, s.value), a(E.END_DATE_SELECTED, r)));
353
+ }
354
+ };
355
+ }, $e = $({
356
+ name: "bento-date-picker-calendar-pane",
357
+ components: {
358
+ DatePickerCalendar: K
359
+ },
360
+ inheritAttrs: !1,
361
+ props: {
362
+ /**
363
+ * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday
364
+ */
365
+ firstDayOfWeek: K.props.firstDayOfWeek,
366
+ /**
367
+ * Indicate if a date should be disabled or not
368
+ */
369
+ isDateDisabled: K.props.isDateDisabled,
370
+ /**
371
+ * Enables the Date Range calendar
372
+ */
373
+ isRange: K.props.isRange,
374
+ /**
375
+ * Number of months rendered on pane
376
+ */
377
+ numberOfMonths: {
378
+ type: Number,
379
+ default: 3,
380
+ validator: (t) => t >= 1
381
+ },
382
+ /**
383
+ * Selected date. Can be a single Date or a DatePickerCalendarPaneRangeDate
384
+ * instance that contains startDate and endDate attributes.
385
+ */
386
+ value: { type: [Date, Object], default: void 0 }
387
+ },
388
+ emit: [
389
+ E.INPUT,
390
+ E.START_DATE_SELECTED,
391
+ E.END_DATE_SELECTED
392
+ ],
393
+ setup(t, { emit: e }) {
394
+ const a = C();
395
+ z(
396
+ () => t.value,
397
+ () => {
398
+ t.isRange ? a.value = t.value.startDate || /* @__PURE__ */ new Date() : a.value = t.value || /* @__PURE__ */ new Date();
399
+ },
400
+ { immediate: !0 }
401
+ );
402
+ const n = f(() => ({
403
+ "b-date-picker-calendar-pane__range": t.isRange
404
+ })), {
405
+ internalValue: s,
406
+ onDateInput: o,
407
+ onMouseOver: u
408
+ } = t.isRange ? Ve(
409
+ {
410
+ selectedDate: X(t, "value"),
411
+ isDateDisabled: t.isDateDisabled
412
+ },
413
+ e
414
+ ) : Fe(
415
+ {
416
+ selectedDate: X(t, "value")
417
+ },
418
+ e
419
+ );
420
+ return {
421
+ // Values
422
+ baseDate: a,
423
+ conditionalClasses: n,
424
+ internalValue: s,
425
+ // Methods
426
+ calculateOffsetMonth: (p) => Z(a.value, p),
427
+ calendarPosition: (p) => t.numberOfMonths === 1 ? M.UNIQUE : p === 0 ? M.FIRST : p === t.numberOfMonths - 1 ? M.LAST : M.MIDDLE,
428
+ // Events
429
+ onDateInput: o,
430
+ onMouseOver: u,
431
+ calculateNextMonths: () => {
432
+ a.value = Z(a.value, 1);
433
+ },
434
+ calculatePreviousMonths: () => {
435
+ a.value = Re(a.value, 1);
436
+ }
437
+ };
438
+ }
439
+ });
440
+ var Ge = function() {
441
+ var e = this, a = e._self._c;
442
+ return e._self._setupProxy, a("div", { staticClass: "b-date-picker-calendar-pane", class: e.conditionalClasses }, e._l(e.numberOfMonths, function(n, s) {
443
+ return a("date-picker-calendar", { key: `date-picker-calendar-range-${s}`, attrs: { "first-day-of-week": e.firstDayOfWeek, "is-date-disabled": e.isDateDisabled, month: e.calculateOffsetMonth(s), position: e.calendarPosition(s), "is-range": e.isRange, "start-date": e.internalValue.startDate, "end-date": e.internalValue.endDate }, on: { input: e.onDateInput, mouseover: e.onMouseOver, nextMonth: e.calculateNextMonths, previousMonth: e.calculatePreviousMonths } });
444
+ }), 1);
445
+ }, He = [], We = /* @__PURE__ */ q(
446
+ $e,
447
+ Ge,
448
+ He,
449
+ !1,
450
+ null,
451
+ "07f9e235",
452
+ null,
453
+ null
454
+ );
455
+ const B = We.exports;
456
+ var A = /* @__PURE__ */ ((t) => (t.INPUT = "input", t))(A || {}), w = /* @__PURE__ */ ((t) => (t.SINGLE_CALENDAR = "single-calendar", t.RANGE_CALENDAR = "range-calendar", t))(w || {}), I = /* @__PURE__ */ ((t) => (t.INPUT = "input", t.ERROR = "error", t.FORM_DATE = "form-date", t))(I || {});
457
+ const ie = 300, qe = $({
458
+ name: "date-picker-calendar-range",
459
+ components: {
460
+ BentoInputField: Te,
461
+ BentoTypography: ee,
462
+ DatePickerCalendarPane: B
463
+ },
464
+ inheritAttrs: !1,
465
+ props: {
466
+ /**
467
+ * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday
468
+ */
469
+ firstDayOfWeek: B.props.firstDayOfWeek,
470
+ /**
471
+ * Indicate if a date should be disabled or not
472
+ */
473
+ isDateDisabled: B.props.isDateDisabled,
474
+ /**
475
+ * Number of months rendered on pane
476
+ */
477
+ numberOfMonths: B.props.numberOfMonths,
478
+ /**
479
+ * Ranges form persistance data
480
+ */
481
+ dateFormData: { type: Object, default: () => ({ startDate: void 0, endDate: void 0 }) },
482
+ /**
483
+ * Selected date
484
+ */
485
+ value: { type: Object, default: void 0 }
486
+ },
487
+ emits: [
488
+ I.INPUT,
489
+ I.ERROR,
490
+ I.FORM_DATE
491
+ ],
492
+ setup(t, { emit: e, slots: a }) {
493
+ var N, j;
494
+ const { locale: n } = G(void 0, !0), s = { de: H, enUS: b, fr: W }, o = F({
495
+ startDate: (N = t.value) == null ? void 0 : N.startDate,
496
+ endDate: (j = t.value) == null ? void 0 : j.endDate
497
+ }), u = (i) => i ? L(i, O.NUMERIC_DATE_YEAR_FIRST, {
498
+ locale: s[n.value.substring(0, 2)] || b
499
+ }) : "", c = C(!1), r = C(!1), l = F({
500
+ startDate: t.dateFormData.startDate,
501
+ endDate: t.dateFormData.endDate
502
+ }), D = (i) => {
503
+ e(I.INPUT, i);
504
+ }, p = (i) => {
505
+ const g = (ae) => t.isDateDisabled ? !t.isDateDisabled(ae) : !0;
506
+ return /^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/.test(i) && g(new Date(i));
507
+ };
508
+ De(() => {
509
+ t.dateFormData.startDate && !p(t.dateFormData.startDate) && (c.value = !0), t.dateFormData.endDate && !p(t.dateFormData.endDate) && (r.value = !0);
510
+ });
511
+ const P = (i) => {
512
+ l.startDate = u(i);
513
+ }, k = (i) => {
514
+ l.endDate = u(i);
515
+ }, _ = (i) => {
516
+ const g = t.value[i];
517
+ if (g)
518
+ return g;
519
+ if (t.dateFormData[i] && p(t.dateFormData[i]))
520
+ return new Date(t.dateFormData[i]);
521
+ }, d = se((i) => {
522
+ if (l.startDate = i, p(i)) {
523
+ c.value = !1, o.startDate = new Date(i);
524
+ const g = _("endDate");
525
+ e(I.FORM_DATE, {
526
+ startDate: new Date(i),
527
+ endDate: g
528
+ }), e(I.INPUT, {
529
+ startDate: new Date(i),
530
+ endDate: g
531
+ });
532
+ } else
533
+ c.value = !0, e(I.ERROR, { ...l });
534
+ }, ie), T = se((i) => {
535
+ if (l.endDate = i, p(i)) {
536
+ r.value = !1, o.endDate = new Date(i);
537
+ const g = _("startDate");
538
+ e(I.FORM_DATE, {
539
+ startDate: g,
540
+ endDate: new Date(i)
541
+ }), e(I.INPUT, {
542
+ startDate: g,
543
+ endDate: new Date(i)
544
+ });
545
+ } else
546
+ r.value = !0, e(I.ERROR, { ...l });
547
+ }, ie);
548
+ return {
549
+ // Values
550
+ dateTextInput: l,
551
+ endDateError: r,
552
+ startDateError: c,
553
+ // Enums
554
+ BentoTypographyElement: te,
555
+ // Methods
556
+ hasSlot: Ie(a),
557
+ // Events
558
+ onDateInput: D,
559
+ onStartDateSelected: P,
560
+ onEndDateSelected: k,
561
+ onStartDateInput: d,
562
+ onEndDateInput: T
563
+ };
564
+ }
565
+ });
566
+ var je = function() {
567
+ var e = this, a = e._self._c;
568
+ return e._self._setupProxy, a("div", { staticClass: "b-date-picker-calendar-range" }, [a("div", { staticClass: "b-date-picker-calendar-range__form-container" }, [a("div", { staticClass: "b-date-picker-calendar-range__form" }, [e.hasSlot("title") ? [e._t("title")] : e._e(), a("div", [a("bento-typography", { staticClass: "b-date-picker-calendar-range__label", attrs: { stronger: "", el: e.BentoTypographyElement.SPAN } }, [e._v(" From ")]), a("div", [a("bento-input-field", { staticClass: "b-date-picker-calendar-range__form-input", attrs: { value: e.dateTextInput.startDate, error: e.startDateError }, on: { input: e.onStartDateInput }, scopedSlots: e._u([{ key: "description", fn: function() {
569
+ return [e._v("YYYY-MM-DD")];
570
+ }, proxy: !0 }]) })], 1)], 1), a("div", [a("bento-typography", { staticClass: "b-date-picker-calendar-range__label", attrs: { stronger: "", el: e.BentoTypographyElement.SPAN } }, [e._v(" To ")]), a("div", [a("bento-input-field", { staticClass: "b-date-picker-calendar-range__form-input", attrs: { value: e.dateTextInput.endDate, error: e.endDateError }, on: { input: e.onEndDateInput }, scopedSlots: e._u([{ key: "description", fn: function() {
571
+ return [e._v("YYYY-MM-DD")];
572
+ }, proxy: !0 }]) })], 1)], 1)], 2), e.hasSlot("actions") ? a("div", [e._t("actions")], 2) : e._e()]), a("div", { staticClass: "b-date-picker-calendar-range__calendars-container" }, [a("date-picker-calendar-pane", { attrs: { value: e.value, "first-day-of-week": e.firstDayOfWeek, "is-date-disabled": e.isDateDisabled, "number-of-months": e.numberOfMonths, "is-range": "" }, on: { input: e.onDateInput, "start-date-selected": e.onStartDateSelected, "end-date-selected": e.onEndDateSelected } })], 1)]);
573
+ }, Qe = [], Ke = /* @__PURE__ */ q(
574
+ qe,
575
+ je,
576
+ Qe,
577
+ !1,
578
+ null,
579
+ "0f8d089a",
580
+ null,
581
+ null
582
+ );
583
+ const Xe = Ke.exports, ze = ({ datePickerValue: t, isDateIncorrect: e }) => {
584
+ const { locale: a, t: n } = G(), s = { de: H, enUS: b, fr: W }, o = C(null);
585
+ return {
586
+ // Values
587
+ dateDisplayValue: f(() => e.value ? o.value : t.value ? L(t.value, O.FULL_DATE, {
588
+ locale: s[a.value.substring(0, 2)] || b
589
+ }) : n("selectDate")),
590
+ textInputDisplayValue: o,
591
+ // Methods
592
+ formatTextInputDisplayValue: () => {
593
+ o.value = L(t.value, O.NUMERIC_DATE_YEAR_FIRST, {
594
+ locale: s[a.value.substring(0, 2)] || b
595
+ });
596
+ }
597
+ };
598
+ }, Je = ({
599
+ datePickerValue: t,
600
+ isDateIncorrect: e
601
+ }) => {
602
+ const { locale: a, t: n } = G(), s = { de: H, enUS: b, fr: W }, o = (l, D) => L(l, D, {
603
+ locale: s[a.value.substring(0, 2)] || b
604
+ }), u = F({
605
+ startDate: t.value.startDate ? o(t.value.startDate, O.NUMERIC_DATE_YEAR_FIRST) : void 0,
606
+ endDate: t.value.endDate ? o(t.value.endDate, O.NUMERIC_DATE_YEAR_FIRST) : void 0
607
+ });
608
+ return {
609
+ // Values
610
+ dateDisplayValue: f(() => {
611
+ if (e.value)
612
+ return `${u.startDate || ""} - ${u.endDate || ""}`;
613
+ if (!t.value || !t.value.startDate && !t.value.endDate)
614
+ return n("selectDateRange");
615
+ const { startDate: l, endDate: D } = u;
616
+ return `${o(new Date(l), O.FULL_DATE_MONTH_FIRST)} - ${o(
617
+ new Date(D),
618
+ O.FULL_DATE_MONTH_FIRST
619
+ )}`;
620
+ }),
621
+ textInputDisplayValue: u,
622
+ // Methods
623
+ formatTextInputDisplayValue: () => ""
624
+ };
625
+ }, ue = {
626
+ "en-US": {
627
+ optional: "optional",
628
+ required: "required",
629
+ provideDateInAFormat: "Provide date in a YYYY-MM-DD format",
630
+ selectDate: "Select a date",
631
+ selectDateRange: "Select a date range",
632
+ selectedDateIsNotAvailable: "Selected date is not available"
633
+ }
634
+ }, Ze = $({
635
+ i18n: { messages: ue },
636
+ name: "bento-date-picker",
637
+ components: {
638
+ BentoTypography: ee,
639
+ BentoPopover: _e,
640
+ DatePickerCalendarPane: B,
641
+ DatePickerCalendarRange: Xe,
642
+ DropdownInputDefault: ge
643
+ },
644
+ directives: { BentoClickOutsideDirective: Me },
645
+ inheritAttrs: !1,
646
+ props: {
647
+ /**
648
+ * Descriptive supporting text visbile underneath the dropdown.
649
+ */
650
+ description: { type: String, default: void 0 },
651
+ /**
652
+ * Disables dropdown functionality.
653
+ */
654
+ disabled: { type: Boolean, default: !1 },
655
+ /**
656
+ * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday
657
+ */
658
+ firstDayOfWeek: {
659
+ type: Number,
660
+ default: U.MONDAY,
661
+ validator: (t) => Object.values(U).includes(t)
662
+ },
663
+ /**
664
+ * Indicate if a date should be disabled or not
665
+ */
666
+ isDateDisabled: { type: Function, default: void 0 },
667
+ /**
668
+ * Text that is displayed as a label above the element.
669
+ */
670
+ label: { type: String, default: void 0 },
671
+ /**
672
+ * Highlights the dropdown is optional.
673
+ */
674
+ optional: { type: Boolean, default: !1 },
675
+ /**
676
+ * Highlights the dropdown is required.
677
+ */
678
+ required: { type: Boolean, default: !1 },
679
+ /**
680
+ * Number of months rendered on pane
681
+ */
682
+ numberOfMonths: B.props.numberOfMonths,
683
+ /**
684
+ * Selected date
685
+ */
686
+ value: { type: [Date, Object], default: null },
687
+ /**
688
+ * Allows to render a single date calendar or a range calendar
689
+ */
690
+ variant: {
691
+ type: String,
692
+ default: w.SINGLE_CALENDAR,
693
+ validator: (t) => Object.values(w).includes(t)
694
+ }
695
+ },
696
+ emits: [A.INPUT],
697
+ setup(t, { emit: e }) {
698
+ const { locale: a, t: n } = G({ messages: ue }), s = { de: H, enUS: b, fr: W }, o = re("bento-date-picker-container"), u = re("bento-date-picker-label"), c = f(() => t.label || n("datePicker", { name: o })), r = C(!1), l = C(null), D = C(!1);
699
+ z(
700
+ () => t.disabled,
701
+ () => {
702
+ t.disabled && D.value && (D.value = !1);
703
+ }
704
+ );
705
+ const p = f(() => ({
706
+ "b-date-picker__description--error": r.value
707
+ })), P = f(() => ({
708
+ "b-date-picker__container-range": t.variant === w.RANGE_CALENDAR
709
+ })), { dateDisplayValue: k, textInputDisplayValue: _, formatTextInputDisplayValue: d } = t.variant === "single-calendar" ? ze({
710
+ datePickerValue: X(t, "value"),
711
+ isDateIncorrect: r
712
+ }) : Je({
713
+ datePickerValue: X(t, "value"),
714
+ isDateIncorrect: r
715
+ }), T = f(
716
+ () => t.variant === w.SINGLE_CALENDAR ? _.value : void 0
717
+ ), N = f(() => t.isDateDisabled && t.isDateDisabled(new Date(_.value)) ? n("selectedDateIsNotAvailable") : r.value ? n("provideDateInAFormat") : t.description), j = (v) => t.isDateDisabled ? !t.isDateDisabled(v) : !0, i = () => {
718
+ D.value = !1, r.value || (_.value = null);
719
+ };
720
+ return {
721
+ // Refs
722
+ inputContainerRef: l,
723
+ // Values,
724
+ dateDisplayValue: k,
725
+ datePickerContainerId: o,
726
+ descriptionConditionalClasses: p,
727
+ dropdownValue: T,
728
+ isDateIncorrect: r,
729
+ isDatePickerOpen: D,
730
+ labelId: u,
731
+ popoverAriaLabel: c,
732
+ popoverConditionalClasses: P,
733
+ supportDescriptionText: N,
734
+ textInputDisplayValue: _,
735
+ // Enums
736
+ BentoTypographyElement: te,
737
+ BentoTypographyVariant: de,
738
+ BentoPopoverPositions: ve,
739
+ BentoDatePickerVariant: w,
740
+ // Events
741
+ closeDatePicker: i,
742
+ clearDatePickerValue: async () => {
743
+ r.value && (r.value = !1, _.value = null), e(A.INPUT, null);
744
+ },
745
+ onDateSelected: (v) => {
746
+ r.value = !1, i(), e(A.INPUT, v);
747
+ },
748
+ openDatePicker: () => {
749
+ D.value = !0, d();
750
+ },
751
+ onDateInputChange: (v) => {
752
+ _.value = v, /^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/.test(v) && j(new Date(v)) ? (r.value = !1, e(A.INPUT, new Date(v))) : v && (r.value = !0, e(A.INPUT, null));
753
+ },
754
+ onEnterPressedOverInput: () => {
755
+ r.value || (D.value = !1);
756
+ },
757
+ onDatePickerRangeInput: (v) => {
758
+ const J = (ne) => L(ne, O.NUMERIC_DATE_YEAR_FIRST, {
759
+ locale: s[a.value.substring(0, 2)] || b
760
+ });
761
+ _.startDate = J(
762
+ v.startDate
763
+ ), _.endDate = J(
764
+ v.endDate
765
+ ), e(A.INPUT, v);
766
+ },
767
+ onDatePickerRangeError: (v) => {
768
+ r.value = !0, _.startDate = v.startDate, _.endDate = v.endDate, e(A.INPUT, { startDate: null, endDate: null });
769
+ },
770
+ onDatePickerRangeFormDateInputUpdate: () => {
771
+ r.value = !1;
772
+ }
773
+ };
774
+ }
775
+ });
776
+ var et = function() {
777
+ var e = this, a = e._self._c;
778
+ return e._self._setupProxy, a("div", { directives: [{ name: "bento-click-outside-directive", rawName: "v-bento-click-outside-directive", value: e.closeDatePicker, expression: "closeDatePicker" }], staticClass: "b-date-picker" }, [e.label ? a("div", { staticClass: "b-date-picker__label", attrs: { id: e.labelId } }, [a("bento-typography", { attrs: { el: e.BentoTypographyElement.SPAN, stronger: "" } }, [e._v(e._s(e.label))]), e.optional ? a("bento-typography", { staticClass: "b-date-picker__label-requirement", attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(" (" + e._s(e.$t("optional")) + ") ")]) : e._e(), e.required ? a("bento-typography", { staticClass: "b-date-picker__label-requirement", attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(" (" + e._s(e.$t("required")) + ") ")]) : e._e()], 1) : e._e(), a("div", { on: { keydown: function(n) {
779
+ return !n.type.indexOf("key") && e._k(n.keyCode, "enter", 13, n.key, "Enter") ? null : e.onEnterPressedOverInput.apply(null, arguments);
780
+ } } }, [a("dropdown-input-default", { ref: "inputContainerRef", attrs: { ariaControls: e.datePickerContainerId, ariaExpanded: e.isDatePickerOpen, "aria-labelledby": e.label ? e.labelId : null, disabled: e.disabled, "dynamic-filtering": e.variant === "single-calendar", "is-invalid": e.isDateIncorrect, open: e.isDatePickerOpen, value: e.dropdownValue, "display-value": e.dateDisplayValue }, on: { input: e.onDateInputChange, open: e.openDatePicker, clear: e.clearDatePickerValue, close: e.closeDatePicker } })], 1), e.description ? a("bento-typography", { staticClass: "b-date-picker__description", class: e.descriptionConditionalClasses, attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(" " + e._s(e.supportDescriptionText) + " ")]) : e._e(), e.inputContainerRef ? a("bento-popover", { staticClass: "b-date-picker__container", class: e.popoverConditionalClasses, attrs: { open: e.isDatePickerOpen, "target-element": e.inputContainerRef, "disable-focus-trap": !0, "aria-label": e.popoverAriaLabel, position: e.BentoPopoverPositions.BOTTOM_START, "without-space": e.variant === e.BentoDatePickerVariant.RANGE_CALENDAR, "fit-content": "" } }, [e.variant === e.BentoDatePickerVariant.SINGLE_CALENDAR ? a("date-picker-calendar-pane", { attrs: { "first-day-of-week": e.firstDayOfWeek, "is-date-disabled": e.isDateDisabled, "number-of-months": 1, value: e.value }, on: { input: e.onDateSelected } }) : e._e(), e.variant === e.BentoDatePickerVariant.RANGE_CALENDAR ? a("date-picker-calendar-range", { attrs: { value: e.value, "first-day-of-week": e.firstDayOfWeek, "is-date-disabled": e.isDateDisabled, "number-of-months": e.numberOfMonths, "date-form-data": e.textInputDisplayValue }, on: { input: e.onDatePickerRangeInput, error: e.onDatePickerRangeError, "form-date": e.onDatePickerRangeFormDateInputUpdate } }) : e._e()], 1) : e._e()], 1);
781
+ }, tt = [], at = /* @__PURE__ */ q(
782
+ Ze,
783
+ et,
784
+ tt,
785
+ !1,
786
+ null,
787
+ "36fed905",
788
+ null,
789
+ null
790
+ );
791
+ const It = at.exports;
792
+ export {
793
+ It as B,
794
+ U as D,
795
+ A as a,
796
+ w as b,
797
+ O as c,
798
+ B as d,
799
+ Xe as e
800
+ };
801
+ //# sourceMappingURL=index.2e54c294.js.map