@adyen/bento-vue2 1.1.0 → 1.2.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 (299) hide show
  1. package/dist/@types/packages/vue2/src/components/alert/alert.vue.d.ts +15 -11
  2. package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -1
  3. package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +14 -14
  4. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.types.d.ts +2 -2
  5. package/dist/@types/packages/vue2/src/components/button/components/button-actions/button-actions.vue.d.ts +4 -4
  6. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +4 -4
  7. package/dist/@types/packages/vue2/src/components/button/index.d.ts +1 -1
  8. package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +20 -16
  9. package/dist/@types/packages/vue2/src/components/checkbox/checkbox.vue.d.ts +1 -1
  10. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +3 -3
  11. package/dist/@types/packages/vue2/src/components/code-snippet/code-snippet.vue.d.ts +13 -9
  12. package/dist/@types/packages/vue2/src/components/code-snippet/composables/useLanguage.d.ts +2 -2
  13. package/dist/@types/packages/vue2/src/components/country/composables/useCountryCapital/useCountryCapital.d.ts +1 -1
  14. package/dist/@types/packages/vue2/src/components/country/composables/useCountryName/useCountryName.d.ts +1 -1
  15. package/dist/@types/packages/vue2/src/components/country/composables/useCountryPhoneCode/useCountryPhoneCode.d.ts +1 -1
  16. package/dist/@types/packages/vue2/src/components/country/country.vue.d.ts +9 -7
  17. package/dist/@types/packages/vue2/src/components/currency/currency.vue.d.ts +5 -5
  18. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-columns/data-grid-columns.vue.d.ts +3 -3
  19. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/components/data-grid-config-settings-column-row/data-grid-config-settings-column-row.vue.d.ts +4 -4
  20. package/dist/@types/packages/vue2/src/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.vue.d.ts +4 -4
  21. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.d.ts +1 -1
  22. package/dist/@types/packages/vue2/src/components/data-grid/composables/useColumnReorderer/useColumnReorderer.d.ts +1 -1
  23. package/dist/@types/packages/vue2/src/components/data-grid/composables/useConfigSettings/useConfigSettings.d.ts +1 -1
  24. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +1 -1
  25. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +3 -3
  26. package/dist/@types/packages/vue2/src/components/date/date.vue.d.ts +7 -5
  27. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.types.d.ts +2 -2
  28. package/dist/@types/packages/vue2/src/components/date-picker/date-picker.vue.d.ts +10 -10
  29. package/dist/@types/packages/vue2/src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue.d.ts +13 -13
  30. package/dist/@types/packages/vue2/src/components/date-range-picker/composables/use-date-range-picker-calendar-text.d.ts +1 -1
  31. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.types.d.ts +2 -2
  32. package/dist/@types/packages/vue2/src/components/date-range-picker/date-range-picker.vue.d.ts +10 -10
  33. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.types.d.ts +1 -1
  34. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +2 -2
  35. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +1 -1
  36. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/composables/useDropdownOptionsListbox.d.ts +2 -2
  37. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +87 -85
  38. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +2 -2
  39. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.types.d.ts +1 -1
  40. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +18 -16
  41. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/composables/useCountryItems.d.ts +3 -3
  42. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.types.d.ts +2 -2
  43. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +22 -20
  44. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.types.d.ts +2 -2
  45. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +17 -15
  46. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.d.ts +2 -2
  47. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +17 -15
  48. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.types.d.ts +1 -1
  49. package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +8 -6
  50. package/dist/@types/packages/vue2/src/components/dropdown/composables/useDisplayValue.types.d.ts +1 -1
  51. package/dist/@types/packages/vue2/src/components/dropdown/composables/useDropdownSearchFilter.d.ts +1 -1
  52. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.types.d.ts +2 -2
  53. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +14 -12
  54. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +26 -26
  55. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter/base-filter.vue.d.ts +7 -7
  56. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +2 -2
  57. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +9 -9
  58. package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +1 -1
  59. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/select-filter.vue.d.ts +2 -2
  60. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-avatar-filter/select-avatar-filter.vue.d.ts +2 -2
  61. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +8 -8
  62. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-currency-filter/select-currency-filter.vue.d.ts +2 -2
  63. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-payment-method-filter/select-payment-method-filter.vue.d.ts +2 -2
  64. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +7 -7
  65. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.types.d.ts +10 -10
  66. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +2 -2
  67. package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +5 -5
  68. package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +8 -6
  69. package/dist/@types/packages/vue2/src/components/input-field/input-field.types.d.ts +1 -1
  70. package/dist/@types/packages/vue2/src/components/input-field/input-field.vue.d.ts +23 -15
  71. package/dist/@types/packages/vue2/src/components/internal/avatar/avatar.vue.d.ts +2 -2
  72. package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +2 -2
  73. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/calendar-month.vue.d.ts +2 -2
  74. package/dist/@types/packages/vue2/src/components/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.vue.d.ts +1 -1
  75. package/dist/@types/packages/vue2/src/components/internal/controls-group/controls-group.vue.d.ts +1 -1
  76. package/dist/@types/packages/vue2/src/components/internal/copy/copy.vue.d.ts +4 -4
  77. package/dist/@types/packages/vue2/src/components/internal/footer-actions/footer-actions.vue.d.ts +1 -1
  78. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.vue.d.ts +2 -2
  79. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.vue.d.ts +2 -2
  80. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue.d.ts +2 -2
  81. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option/listbox-option.vue.d.ts +1 -1
  82. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue.d.ts +3 -3
  83. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select/listbox-single-select.vue.d.ts +4 -4
  84. package/dist/@types/packages/vue2/src/components/internal/listbox/components/listbox-single-select-option/listbox-single-select-option.vue.d.ts +2 -2
  85. package/dist/@types/packages/vue2/src/components/internal/listbox/listbox.vue.d.ts +11 -9
  86. package/dist/@types/packages/vue2/src/components/link/index.d.ts +1 -1
  87. package/dist/@types/packages/vue2/src/components/link/link.vue.d.ts +3 -3
  88. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.types.d.ts +1 -1
  89. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +3 -3
  90. package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +5 -5
  91. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/__mocks__/base-modal.vue.d.ts +3 -3
  92. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +4 -4
  93. package/dist/@types/packages/vue2/src/components/modal/components/modal-default/modal-default.vue.d.ts +2 -2
  94. package/dist/@types/packages/vue2/src/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +7 -7
  95. package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +24 -16
  96. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-context/pagination-context.vue.d.ts +2 -2
  97. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-controls/pagination-controls.vue.d.ts +1 -1
  98. package/dist/@types/packages/vue2/src/components/pagination/components/pagination-results-per-page/pagination-results-per-page.vue.d.ts +1 -1
  99. package/dist/@types/packages/vue2/src/components/payment-method/composables/usePaymentIcon.d.ts +1 -1
  100. package/dist/@types/packages/vue2/src/components/payment-method/payment-method.vue.d.ts +6 -4
  101. package/dist/@types/packages/vue2/src/components/popover/components/popover-dismiss-button/popover-dismiss-button.vue.d.ts +1 -1
  102. package/dist/@types/packages/vue2/src/components/popover/components/popover-title/popover-title.vue.d.ts +1 -1
  103. package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +12 -12
  104. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.utils.d.ts +1 -1
  105. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +4 -4
  106. package/dist/@types/packages/vue2/src/components/radio-group/components/radio-button/radio-button.vue.d.ts +1 -1
  107. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +3 -3
  108. package/dist/@types/packages/vue2/src/components/search-bar/search-bar.vue.d.ts +62 -46
  109. package/dist/@types/packages/vue2/src/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
  110. package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +3 -3
  111. package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +2 -2
  112. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +38 -30
  113. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +16 -10
  114. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +16 -10
  115. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +16 -10
  116. package/dist/@types/packages/vue2/src/components/summary-grid/summary-grid.types.d.ts +1 -1
  117. package/dist/@types/packages/vue2/src/components/tabs/tabs.vue.d.ts +1 -1
  118. package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +5 -5
  119. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +8 -6
  120. package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +20 -20
  121. package/dist/@types/packages/vue2/src/components/timeline/timeline.types.d.ts +2 -2
  122. package/dist/@types/packages/vue2/src/components/toast/components/toast-item/toast-item.vue.d.ts +2 -2
  123. package/dist/@types/packages/vue2/src/components/toggle/toggle.types.d.ts +4 -0
  124. package/dist/@types/packages/vue2/src/components/toggle/toggle.vue.d.ts +9 -9
  125. package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +25 -25
  126. package/dist/@types/packages/vue2/src/components/typography/typography.vue.d.ts +6 -6
  127. package/dist/@types/packages/vue2/src/composables/initials.d.ts +1 -1
  128. package/dist/@types/packages/vue2/src/composables/use-checkbox-select-all/use-checkbox-select-all.d.ts +2 -2
  129. package/dist/@types/packages/vue2/src/composables/useDynamicImport.d.ts +1 -1
  130. package/dist/@types/packages/vue2/src/directives/click-outside/on-click-outside.d.ts +1 -1
  131. package/dist/@types/packages/vue2/src/directives/click-outside/types.d.ts +1 -1
  132. package/dist/@types/packages/vue2/src/directives/click-outside/useEventListener/index.d.ts +1 -1
  133. package/dist/@types/packages/vue2/src/directives/click-outside/utils.d.ts +1 -1
  134. package/dist/@types/packages/vue2/src/directives/tooltip/tooltip.types.d.ts +1 -1
  135. package/dist/@types/packages/vue2/src/plugins/toastController.d.ts +1 -1
  136. package/dist/@types/packages/vue2/src/types/index.d.ts +0 -1
  137. package/dist/@types/packages/vue2/src/types/listbox.d.ts +1 -1
  138. package/dist/@types/packages/vue2/src/utils/ts/aria-label.d.ts +1 -1
  139. package/dist/@types/packages/vue2/src/utils/ts/events.d.ts +1 -1
  140. package/dist/@types/packages/vue2/src/utils/ts/focus-trap.utils.d.ts +1 -1
  141. package/dist/accordion.js +1 -1
  142. package/dist/alert.js +34 -32
  143. package/dist/alert.js.map +1 -1
  144. package/dist/assets/button-actions.css +1 -1
  145. package/dist/assets/button.css +1 -1
  146. package/dist/assets/dropdown.css +1 -1
  147. package/dist/assets/index10.css +1 -1
  148. package/dist/assets/index11.css +1 -1
  149. package/dist/assets/index12.css +1 -1
  150. package/dist/assets/index13.css +1 -1
  151. package/dist/assets/index14.css +1 -1
  152. package/dist/assets/index15.css +1 -1
  153. package/dist/assets/index16.css +1 -1
  154. package/dist/assets/index17.css +1 -1
  155. package/dist/assets/index18.css +1 -1
  156. package/dist/assets/index19.css +1 -1
  157. package/dist/assets/index2.css +1 -1
  158. package/dist/assets/index20.css +1 -1
  159. package/dist/assets/index21.css +1 -1
  160. package/dist/assets/index22.css +1 -1
  161. package/dist/assets/index23.css +1 -1
  162. package/dist/assets/index24.css +1 -1
  163. package/dist/assets/index25.css +1 -1
  164. package/dist/assets/index26.css +1 -1
  165. package/dist/assets/index27.css +1 -1
  166. package/dist/assets/index28.css +1 -1
  167. package/dist/assets/index29.css +1 -1
  168. package/dist/assets/index3.css +1 -1
  169. package/dist/assets/index30.css +1 -1
  170. package/dist/assets/index31.css +1 -1
  171. package/dist/assets/index32.css +1 -1
  172. package/dist/assets/index33.css +1 -1
  173. package/dist/assets/index34.css +1 -1
  174. package/dist/assets/index35.css +1 -1
  175. package/dist/assets/index36.css +1 -1
  176. package/dist/assets/index37.css +1 -1
  177. package/dist/assets/index38.css +1 -1
  178. package/dist/assets/index39.css +1 -1
  179. package/dist/assets/index4.css +1 -1
  180. package/dist/assets/index5.css +1 -1
  181. package/dist/assets/index6.css +1 -1
  182. package/dist/assets/index7.css +1 -1
  183. package/dist/assets/index8.css +1 -1
  184. package/dist/assets/index9.css +1 -1
  185. package/dist/assets/listbox.css +1 -1
  186. package/dist/avatar-image.js +1 -1
  187. package/dist/button.js +3 -3
  188. package/dist/card.js +60 -51
  189. package/dist/card.js.map +1 -1
  190. package/dist/checkbox.js +10 -10
  191. package/dist/checkbox.js.map +1 -1
  192. package/dist/chunks/{base-button.e7630a1d.js → base-button.d4487ac9.js} +2 -2
  193. package/dist/chunks/{base-button.e7630a1d.js.map → base-button.d4487ac9.js.map} +1 -1
  194. package/dist/chunks/{button-actions.03751d96.js → button-actions.cf73ed47.js} +10 -10
  195. package/dist/chunks/{button-actions.03751d96.js.map → button-actions.cf73ed47.js.map} +1 -1
  196. package/dist/chunks/{button.f64585fc.js → button.c27a7ce2.js} +11 -11
  197. package/dist/chunks/button.c27a7ce2.js.map +1 -0
  198. package/dist/chunks/{calendar.c9cfce76.js → calendar.8f50a65a.js} +4 -4
  199. package/dist/chunks/{calendar.c9cfce76.js.map → calendar.8f50a65a.js.map} +1 -1
  200. package/dist/chunks/{checkbox.27fae2af.js → checkbox.c06daf12.js} +3 -3
  201. package/dist/chunks/{checkbox.27fae2af.js.map → checkbox.c06daf12.js.map} +1 -1
  202. package/dist/chunks/{controls-group.e4745546.js → controls-group.9d58a091.js} +2 -2
  203. package/dist/chunks/{controls-group.e4745546.js.map → controls-group.9d58a091.js.map} +1 -1
  204. package/dist/chunks/{copy.888486ff.js → copy.b62beae5.js} +3 -3
  205. package/dist/chunks/{copy.888486ff.js.map → copy.b62beae5.js.map} +1 -1
  206. package/dist/chunks/{dropdown-default-textbox.e425fc5b.js → dropdown-default-textbox.a5eca928.js} +2 -2
  207. package/dist/chunks/{dropdown-default-textbox.e425fc5b.js.map → dropdown-default-textbox.a5eca928.js.map} +1 -1
  208. package/dist/chunks/{dropdown.e298bb6c.js → dropdown.368486b1.js} +60 -58
  209. package/dist/chunks/dropdown.368486b1.js.map +1 -0
  210. package/dist/chunks/{error-message.4269d92b.js → error-message.a581a172.js} +2 -2
  211. package/dist/chunks/{error-message.4269d92b.js.map → error-message.a581a172.js.map} +1 -1
  212. package/dist/chunks/{index.e1fcc9e0.js → index.175f9e2d.js} +3 -3
  213. package/dist/chunks/index.175f9e2d.js.map +1 -0
  214. package/dist/chunks/{index.ada08445.js → index.3b6fc08a.js} +6 -6
  215. package/dist/chunks/{index.ada08445.js.map → index.3b6fc08a.js.map} +1 -1
  216. package/dist/chunks/{index.7bbd6611.js → index.3dfea3bd.js} +3 -3
  217. package/dist/chunks/{index.7bbd6611.js.map → index.3dfea3bd.js.map} +1 -1
  218. package/dist/chunks/{index.96e2f563.js → index.ad39b625.js} +2 -2
  219. package/dist/chunks/{index.96e2f563.js.map → index.ad39b625.js.map} +1 -1
  220. package/dist/chunks/{index.8d590c55.js → index.d07f9800.js} +33 -32
  221. package/dist/chunks/{index.8d590c55.js.map → index.d07f9800.js.map} +1 -1
  222. package/dist/chunks/{index.bc51abe9.js → index.f0d99471.js} +8 -8
  223. package/dist/chunks/{index.bc51abe9.js.map → index.f0d99471.js.map} +1 -1
  224. package/dist/chunks/{listbox-option-tag.aae99730.js → listbox-option-tag.c7e9a228.js} +3 -3
  225. package/dist/chunks/{listbox-option-tag.aae99730.js.map → listbox-option-tag.c7e9a228.js.map} +1 -1
  226. package/dist/chunks/{listbox.99d23071.js → listbox.f51e92cd.js} +28 -27
  227. package/dist/chunks/{listbox.99d23071.js.map → listbox.f51e92cd.js.map} +1 -1
  228. package/dist/chunks/{loading-button.f7768964.js → loading-button.6d34f66f.js} +2 -2
  229. package/dist/chunks/{loading-button.f7768964.js.map → loading-button.6d34f66f.js.map} +1 -1
  230. package/dist/chunks/{tooltip.1e7cda50.js → tooltip.9af34fba.js} +2 -2
  231. package/dist/chunks/{tooltip.1e7cda50.js.map → tooltip.9af34fba.js.map} +1 -1
  232. package/dist/chunks/useCountryItems.5d7b436e.js.map +1 -1
  233. package/dist/code-snippet.js +132 -130
  234. package/dist/code-snippet.js.map +1 -1
  235. package/dist/country.js +17 -16
  236. package/dist/country.js.map +1 -1
  237. package/dist/currency.js +1 -1
  238. package/dist/currency.js.map +1 -1
  239. package/dist/data-grid.js +112 -112
  240. package/dist/data-grid.js.map +1 -1
  241. package/dist/date-picker.js +7 -7
  242. package/dist/date-range-picker.js +2 -2
  243. package/dist/date.js +1 -1
  244. package/dist/divider.js +1 -1
  245. package/dist/dropdown.js +3 -3
  246. package/dist/dropdown.js.map +1 -1
  247. package/dist/filter-bar.js +13 -13
  248. package/dist/filter-bar.js.map +1 -1
  249. package/dist/focus-trap.js +1 -1
  250. package/dist/header.js +30 -30
  251. package/dist/header.js.map +1 -1
  252. package/dist/index.js +147 -147
  253. package/dist/info-icon.js +13 -12
  254. package/dist/info-icon.js.map +1 -1
  255. package/dist/input-field.js +45 -41
  256. package/dist/input-field.js.map +1 -1
  257. package/dist/internal.js +6 -6
  258. package/dist/link.js +12 -12
  259. package/dist/link.js.map +1 -1
  260. package/dist/loading-indicator.js +1 -1
  261. package/dist/menu.js +5 -5
  262. package/dist/menu.js.map +1 -1
  263. package/dist/modal.js +85 -81
  264. package/dist/modal.js.map +1 -1
  265. package/dist/pagination.js +4 -4
  266. package/dist/payment-method.js +12 -11
  267. package/dist/payment-method.js.map +1 -1
  268. package/dist/popover.js +5 -5
  269. package/dist/popover.js.map +1 -1
  270. package/dist/popper-container.js +14 -14
  271. package/dist/popper-container.js.map +1 -1
  272. package/dist/radio-group.js +14 -14
  273. package/dist/radio-group.js.map +1 -1
  274. package/dist/search-bar.js +2 -2
  275. package/dist/segmented-control.js +4 -4
  276. package/dist/status.js +9 -9
  277. package/dist/status.js.map +1 -1
  278. package/dist/structured-list.js +1 -1
  279. package/dist/summary-grid.js +101 -88
  280. package/dist/summary-grid.js.map +1 -1
  281. package/dist/tabs.js +2 -2
  282. package/dist/tag.js +13 -13
  283. package/dist/tag.js.map +1 -1
  284. package/dist/textarea.js +27 -23
  285. package/dist/textarea.js.map +1 -1
  286. package/dist/timeline.js +6 -6
  287. package/dist/timeline.js.map +1 -1
  288. package/dist/toast.js +3 -3
  289. package/dist/toggle.js +117 -2
  290. package/dist/toggle.js.map +1 -1
  291. package/dist/typography.js +1 -1
  292. package/dist/web-types.json +60 -60
  293. package/package.json +4 -3
  294. package/dist/@types/packages/vue2/src/types/label-position.d.ts +0 -4
  295. package/dist/chunks/button.f64585fc.js.map +0 -1
  296. package/dist/chunks/dropdown.e298bb6c.js.map +0 -1
  297. package/dist/chunks/index.4ec4409f.js +0 -121
  298. package/dist/chunks/index.4ec4409f.js.map +0 -1
  299. package/dist/chunks/index.e1fcc9e0.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.bc51abe9.js","sources":["../../../../node_modules/date-fns/esm/setHours/index.js","../../../../node_modules/date-fns/esm/setMinutes/index.js","../../../../node_modules/date-fns/esm/setSeconds/index.js","../../src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.types.ts","../../src/utils/ts/time-input.ts","../../src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue","../../src/components/date-range-picker/date-range-picker.types.ts","../../src/components/date-range-picker/composables/use-date-range-picker-calendar-text.ts","../../src/components/date-range-picker/date-range-picker.vue"],"sourcesContent":["import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * var result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\n\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\n\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\n\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}","export interface DateRangePickerCalendarFormData {\n startDate: string;\n endDate: string;\n startTime?: string;\n endTime?: string;\n}\n\nexport enum DateRangePickerCalendarEvent {\n CUSTOM_RANGE = 'custom-range',\n INPUT = 'input',\n ERROR = 'error',\n FORM_DATE = 'form-date',\n}\n\nexport type DateRangePickerCalendarRangeSelectorItems = Array<{\n label: string;\n value: string;\n data: { startDate: Date; endDate: Date };\n}>;\n","const validDigitRegex = /[\\d]/;\n\nconst hourRegex = /^\\d{2}$/;\nconst minuteRegex = /^\\d{2}:\\d{2}$/;\n\nexport const validateTimeInput = (event: KeyboardEvent) => {\n const { selectionStart } = event.target as HTMLInputElement;\n\n const isValidKey = validDigitRegex.test(event.key) || event.key === 'Backspace';\n const isValidColon = [1, 2, 4, 5].includes(selectionStart) && event.key === ':';\n\n if (!isValidKey && !isValidColon) {\n event.preventDefault();\n }\n};\n\nexport const formatTimeInputValue = (value: string) => {\n if (!value) {\n return value;\n }\n\n let formattedValue = value;\n\n // Format if the first value is bigger than 2, because it can't be bigger than 24 hours\n if (formattedValue.length === 1 && parseInt(value, 10) > 2) {\n return `0${formattedValue}:`;\n }\n\n const [secondToLastDigit, lastDigit] = formattedValue.slice(-2);\n if ([2, 5].includes(formattedValue.length) && lastDigit === ':') {\n formattedValue = `${formattedValue.slice(0, formattedValue.length - 2)}0${secondToLastDigit}`;\n }\n\n // Add `:` after hour/minute\n if (hourRegex.test(formattedValue) || minuteRegex.test(formattedValue)) {\n formattedValue += ':';\n }\n return formattedValue;\n};\n","<template>\n <div class=\"b-date-range-picker-calendar\">\n <!-- Form -->\n <div class=\"b-date-range-picker-calendar__form-container\">\n <div class=\"b-date-range-picker-calendar__form\">\n <bento-dropdown\n v-if=\"quickSelectRanges\"\n :aria-label=\"t('customRange')\"\n :items=\"quickSelectRangeDefaultItems\"\n :value=\"selectedRangeSelectorValue\"\n @input=\"onRangeSelectorInput\"\n />\n\n <template v-if=\"hasSlot('title')\">\n <slot name=\"title\" />\n </template>\n <div>\n <bento-typography\n stronger\n :el=\"BentoTypographyElement.SPAN\"\n class=\"b-date-range-picker-calendar__label\"\n >\n From\n </bento-typography>\n <div :class=\"formInputWrapperConditionalClasses\">\n <bento-input-field\n :aria-label=\"$t('dateFrom')\"\n :value=\"dateTextInput.startDate\"\n :error=\"startDateError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onStartDateInput\"\n @keydown=\"onDateInputKeyDown\"\n >\n <template #description>YYYY-MM-DD</template>\n </bento-input-field>\n\n <bento-input-field\n v-if=\"allowTimeInput\"\n :aria-label=\"t('timeFrom')\"\n :value=\"dateTextInput.startTime\"\n :error=\"startTimeError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onStartTimeInput\"\n @keydown=\"onTimeInputKeyDown\"\n >\n <template #description>HH:MM:SS</template>\n </bento-input-field>\n </div>\n </div>\n\n <div>\n <bento-typography\n stronger\n :el=\"BentoTypographyElement.SPAN\"\n class=\"b-date-range-picker-calendar__label\"\n >\n To\n </bento-typography>\n <div :class=\"formInputWrapperConditionalClasses\">\n <bento-input-field\n class=\"b-date-range-picker-calendar__form-input\"\n :aria-label=\"$t('dateTo')\"\n :value=\"dateTextInput.endDate\"\n :error=\"endDateError\"\n @input=\"onEndDateInput\"\n @keydown=\"onDateInputKeyDown\"\n >\n <template #description>YYYY-MM-DD</template>\n </bento-input-field>\n\n <bento-input-field\n v-if=\"allowTimeInput\"\n :aria-label=\"t('timeTo')\"\n :value=\"dateTextInput.endTime\"\n :error=\"endTimeError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onEndTimeInput\"\n @keydown=\"onTimeInputKeyDown\"\n >\n <template #description>HH:MM:SS</template>\n </bento-input-field>\n </div>\n </div>\n </div>\n\n <div v-if=\"hasSlot('actions')\">\n <slot name=\"actions\" />\n </div>\n </div>\n\n <!-- Calendar -->\n <div class=\"b-date-range-picker-calendar__calendars-container\">\n <calendar\n :value=\"value\"\n :first-day-of-week=\"firstDayOfWeek\"\n :is-date-disabled=\"isDateDisabled\"\n :max-range=\"maxRange\"\n :number-of-months=\"numberOfMonths\"\n is-range\n @input=\"onDateInput\"\n @start-date-selected=\"onStartDateSelected\"\n @end-date-selected=\"onEndDateSelected\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, onMounted, PropType, reactive, ref } from 'vue';\n import { Calendar, CalendarRangeDateValue } from '@/internal';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoInputField } from '@/components/input-field';\n import { BentoDropdown } from '@/components/dropdown';\n import { de, enUS, fr } from 'date-fns/locale';\n import { useI18n } from '@/utils/ts/i18n';\n import { debounce } from '@/utils/ts/debounce';\n import { useHasSlot } from '@/composables';\n import { formatDateInputValue, validateDateInput } from '@/utils/ts/date-input';\n import {\n DateRangePickerCalendarEvent,\n DateRangePickerCalendarFormData,\n DateRangePickerCalendarRangeSelectorItems,\n } from './date-range-picker-calendar.types';\n import { DateFormat } from '@/types';\n import { formatTimeInputValue, validateTimeInput } from '@/utils/ts/time-input';\n import setHours from 'date-fns/setHours';\n import setMinutes from 'date-fns/setMinutes';\n import setSeconds from 'date-fns/setSeconds';\n import format from 'date-fns/format';\n import endOfDay from 'date-fns/endOfDay';\n import messages from './messages.json';\n\n const FORM_INPUT_DEBOUNCE_TIME = 300;\n const RANGE_SELECTOR_CUSTOM_RANGE_KEY = 'customRange';\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Calendar for range dates. Contains the logic to handle the range forms.\n *\n * @example\n * import DatePickerCalendarRange from './date-range-picker-calendar.vue';\n *\n * export default {\n * components: { DatePickerCalendarRange },\n * template: `\n * <date-range-picker-calendar\n * :value=\"{startDate: new Date(), endDate: new Date() }\"\n * :first-day-of-week=\"BentoDatePickerFirstDayOfWeek.MONDAY\"\n * :is-date-disabled=\"(date: Date) => boolean\"\n * :number-of-months=\"2\"\n * @input=\"({ startDate, endDate }) => void\"\n * />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'date-range-picker-calendar',\n components: {\n BentoDropdown,\n BentoInputField,\n BentoTypography,\n Calendar,\n },\n props: {\n /**\n * Allows user to enter time values in the form\n */\n allowTimeInput: { type: Boolean, default: false },\n\n /**\n * Ranges form persistance data\n */\n dateFormData: {\n type: Object as PropType<DateRangePickerCalendarFormData>,\n default: () => ({ startDate: undefined, endDate: undefined, startTime: undefined, endTime: undefined }),\n },\n\n /**\n * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n */\n firstDayOfWeek: Calendar.props.firstDayOfWeek,\n\n /**\n * Indicate if a date should be disabled or not\n */\n isDateDisabled: Calendar.props.isDateDisabled,\n\n /**\n * Set a maximum number of dates to be selectable by the range.\n */\n maxRange: Calendar.props.maxRange,\n\n /**\n * Number of months rendered on pane\n */\n numberOfMonths: Calendar.props.numberOfMonths,\n\n /**\n * Enables the custom range selector.\n * If provided, must be an array that sets the custom range dropdown items. Items are of the structure:\n * `label` - label of custom range item.\n * `value` - a unique key of the custom range item.\n * `data` - an object `{ startDate: Date; endDate: Date }` to set the date picker range to upon selecting.\n */\n quickSelectRanges: {\n type: Array as PropType<DateRangePickerCalendarRangeSelectorItems>,\n default: undefined,\n },\n\n /**\n * Selected date\n */\n value: { type: Object as PropType<CalendarRangeDateValue>, default: undefined },\n },\n emits: [\n DateRangePickerCalendarEvent.CUSTOM_RANGE,\n DateRangePickerCalendarEvent.INPUT,\n DateRangePickerCalendarEvent.ERROR,\n DateRangePickerCalendarEvent.FORM_DATE,\n ],\n setup(props, { emit, slots }) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n const locales = { de, enUS, fr };\n const internalRangeDate = reactive({\n startDate: (props.value as CalendarRangeDateValue)?.startDate,\n endDate: (props.value as CalendarRangeDateValue)?.endDate,\n });\n const selectedRangeSelectorValue = ref(RANGE_SELECTOR_CUSTOM_RANGE_KEY);\n const formInputWrapperConditionalClasses = computed(() => ({\n 'b-date-range-picker-calendar__form-input-wrapper': props.allowTimeInput,\n }));\n const quickSelectRangeDefaultItems = computed(() => {\n if (props.quickSelectRanges) {\n return [\n { label: t('customRange'), value: RANGE_SELECTOR_CUSTOM_RANGE_KEY },\n ...props.quickSelectRanges,\n ];\n }\n return [];\n });\n\n /**\n * When selecting a custom range, set the range selecter if it is enabled.\n */\n const resetCustomRangeToDefault = () => {\n if (props?.quickSelectRanges) {\n selectedRangeSelectorValue.value = RANGE_SELECTOR_CUSTOM_RANGE_KEY;\n }\n };\n\n /**\n * Format date to a string value in format yyyy-MM-dd\n * @param {Date} dateToFormat Date to be formatted\n */\n const formatDate = (dateToFormat?: Date) => {\n if (!dateToFormat) {\n return '';\n }\n return format(dateToFormat, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n };\n\n const formatTime = (dateToFormat?: Date) => {\n if (!dateToFormat) {\n return '';\n }\n\n return format(dateToFormat, DateFormat.HOUR_MINUTE_SECONDS, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n };\n\n // Form error flags\n const startDateError = ref(false);\n const endDateError = ref(false);\n const startTimeError = ref(false);\n const endTimeError = ref(false);\n\n // Form input text used in range variant\n const dateTextInput = reactive({\n startDate: props.dateFormData.startDate,\n endDate: props.dateFormData.endDate,\n startTime: props.dateFormData.startTime,\n endTime: props.dateFormData.endTime,\n });\n\n const onDateInput = (selectedDate: Date) => {\n emit(DateRangePickerCalendarEvent.INPUT, selectedDate);\n };\n\n // Validate time\n const isValidTime = (timeText: string) => {\n // HH:MM:SS regex\n const timeRegex = /^(?:[01]\\d|2[01234]):(?:[012345]\\d):(?:[012345]\\d)$/;\n return timeRegex.test(timeText);\n };\n\n const setTimeInDate = (date: Date, time: string) => {\n if (!time || !isValidTime(time)) {\n return date;\n }\n\n let dateWithTime = new Date(date);\n\n const [hours, minutes, seconds] = time.split(':');\n dateWithTime = setHours(dateWithTime, parseInt(hours, 10));\n dateWithTime = setMinutes(dateWithTime, parseInt(minutes, 10));\n dateWithTime = setSeconds(dateWithTime, parseInt(seconds, 10));\n return dateWithTime;\n };\n\n const isValidDate = (dateText: string) => {\n // Is date selectable\n const isDateEnabled = (date: Date) => {\n // Check if function is set, otherwise all dates are enabled\n if (props.isDateDisabled) {\n return !props.isDateDisabled(date);\n }\n\n return true;\n };\n\n // YYYY-MM-DD regex\n const dateRegex = /^\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/;\n // Date matches text regex\n return dateRegex.test(dateText) && isDateEnabled(new Date(dateText));\n };\n\n /**\n * When mounted, set the input error states to true if the values are not valid\n */\n onMounted(() => {\n if (props.dateFormData.startDate && !isValidDate(props.dateFormData.startDate)) {\n startDateError.value = true;\n } else {\n startDateError.value = false;\n startTimeError.value = false;\n }\n\n if (props.dateFormData.endDate && !isValidDate(props.dateFormData.endDate)) {\n endDateError.value = true;\n } else {\n endDateError.value = false;\n endTimeError.value = false;\n }\n });\n\n const onStartDateSelected = (newStartDate: Date) => {\n resetCustomRangeToDefault();\n dateTextInput.startDate = formatDate(newStartDate);\n if (!dateTextInput.startTime) {\n // Set the time to the beginning of the day\n dateTextInput.startTime = formatTime(newStartDate);\n } else if (startTimeError.value) {\n // Set the form time if it was previously set\n dateTextInput.startTime = props.dateFormData?.startTime;\n }\n\n // Reset errors\n startDateError.value = false;\n startTimeError.value = false;\n };\n\n const onEndDateSelected = (newEndDate: Date) => {\n dateTextInput.endDate = formatDate(newEndDate);\n if (!dateTextInput.endTime) {\n // Set the time to the end of the day\n dateTextInput.endTime = formatTime(endOfDay(newEndDate));\n } else if (endTimeError.value) {\n // Set the form time if it was previously set\n dateTextInput.endTime = props.dateFormData?.endTime;\n }\n\n // Reset errors\n endDateError.value = false;\n endTimeError.value = false;\n };\n\n const getDate = (keyName: keyof CalendarRangeDateValue) => {\n const dateProp = (props.value as CalendarRangeDateValue)[keyName];\n if (dateProp) {\n return dateProp;\n }\n\n if (props.dateFormData[keyName] && isValidDate(props.dateFormData[keyName])) {\n return new Date(props.dateFormData[keyName]);\n }\n\n return undefined;\n };\n\n const validateStartDate = debounce((startDateText: string) => {\n // Checks for YYYY-MM-DD format\n if (isValidDate(startDateText)) {\n startDateError.value = false;\n // Format date string to Date object\n internalRangeDate.startDate = setTimeInDate(new Date(startDateText), dateTextInput.startTime);\n\n const endDate = getDate('endDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate: new Date(startDateText),\n endDate,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate: new Date(startDateText),\n endDate,\n });\n } else {\n // Indicate form error\n startDateError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n }, FORM_INPUT_DEBOUNCE_TIME);\n\n const onStartDateInput = (startDateText: string) => {\n resetCustomRangeToDefault();\n // Set the date as string when input through the form\n dateTextInput.startDate = formatDateInputValue(startDateText);\n validateStartDate(dateTextInput.startDate);\n };\n\n const validateEndDate = debounce((endDateText: string) => {\n // Checks for YYYY-MM-DD format\n if (isValidDate(endDateText)) {\n endDateError.value = false;\n internalRangeDate.endDate = setTimeInDate(new Date(endDateText), dateTextInput.endTime);\n\n const startDate = getDate('startDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n startTime: props.dateFormData.endTime,\n endTime: endDateText,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n });\n } else {\n // Indicate form error\n endDateError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n }, FORM_INPUT_DEBOUNCE_TIME);\n\n const onEndDateInput = (endDateText: string) => {\n resetCustomRangeToDefault();\n // Set the date as string when input through the form\n dateTextInput.endDate = formatDateInputValue(endDateText);\n validateEndDate(dateTextInput.endDate);\n };\n\n const onDateInputKeyDown = (event: KeyboardEvent) => {\n validateDateInput(event);\n };\n\n const validateStartTime = debounce((startTimeText: string) => {\n if (isValidTime(startTimeText)) {\n startTimeError.value = false;\n internalRangeDate.startDate = setTimeInDate(internalRangeDate.startDate, startTimeText);\n\n const endDate = getDate('endDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate: new Date(internalRangeDate.startDate),\n endDate,\n startTime: startTimeText,\n endTime: props.dateFormData.endTime,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate: new Date(internalRangeDate.startDate),\n endDate,\n });\n } else {\n // Indicate form error\n startTimeError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n });\n\n const validateEndTime = debounce((endTimeText: string) => {\n if (isValidTime(endTimeText)) {\n endTimeError.value = false;\n internalRangeDate.endDate = setTimeInDate(internalRangeDate.endDate, endTimeText);\n\n const startDate = getDate('startDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n startTime: props.dateFormData.startTime,\n endTime: endTimeText,\n });\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n });\n } else {\n // Indicate form error\n endTimeError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n });\n\n const onStartTimeInput = (startTimeText: string) => {\n resetCustomRangeToDefault();\n dateTextInput.startTime = formatTimeInputValue(startTimeText);\n validateStartTime(dateTextInput.startTime);\n };\n\n const onEndTimeInput = (endDateText: string) => {\n resetCustomRangeToDefault();\n dateTextInput.endTime = formatTimeInputValue(endDateText);\n validateEndTime(dateTextInput.endTime);\n };\n\n const onTimeInputKeyDown = (event: KeyboardEvent) => {\n validateTimeInput(event);\n };\n\n const onRangeSelectorInput = (newCustomRangeValue: string) => {\n selectedRangeSelectorValue.value = newCustomRangeValue;\n const foundResult = props.quickSelectRanges?.find(({ value }) => value === newCustomRangeValue)?.data;\n if (foundResult) {\n dateTextInput.startDate = formatDate(foundResult.startDate);\n dateTextInput.endDate = formatDate(foundResult.endDate);\n if (!dateTextInput.startTime) {\n dateTextInput.startTime = formatTime(endOfDay(foundResult.startDate));\n }\n if (!dateTextInput.endTime) {\n dateTextInput.endTime = formatTime(endOfDay(foundResult.endDate));\n }\n emit(DateRangePickerCalendarEvent.CUSTOM_RANGE, foundResult);\n }\n };\n\n return {\n // Values\n dateTextInput,\n endDateError,\n endTimeError,\n selectedRangeSelectorValue,\n startDateError,\n startTimeError,\n quickSelectRangeDefaultItems,\n formInputWrapperConditionalClasses,\n\n // Enums\n BentoTypographyElement,\n\n // Methods\n hasSlot: useHasSlot(slots),\n t,\n\n // Events\n onRangeSelectorInput,\n onDateInput,\n onDateInputKeyDown,\n onEndDateInput,\n onEndDateSelected,\n onEndTimeInput,\n onStartDateSelected,\n onStartDateInput,\n onStartTimeInput,\n onTimeInputKeyDown,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./date-range-picker-calendar.scss\" />\n","export { CalendarFirstDayOfWeek as BentoDateRangePickerFirstDayOfWeek } from '@/internal';\nexport type {\n CalendarIsDateDisabled as BentoDateRangePickerIsDateDisabled,\n CalendarRangeDateValue as BentoDateRangePickerValue,\n} from '@/internal';\n\nexport enum BentoDateRangePickerEvent {\n INPUT = 'input',\n}\n","import { computed, reactive } from 'vue';\nimport { de, enUS, fr } from 'date-fns/locale';\nimport { useI18n } from '@/utils/ts/i18n';\nimport { UseDateDisplayText } from './use-date-range-picker-calendar-text.types';\nimport { DateFormat } from '@/types';\nimport { CalendarRangeDateValue } from '@/internal';\nimport { DateRangePickerCalendarFormData } from '../components/date-range-picker-calendar/date-range-picker-calendar.types';\nimport format from 'date-fns/format';\n\nexport const useDateRangePickerCalendarText: UseDateDisplayText<CalendarRangeDateValue> = ({\n datePickerValue,\n isDateIncorrect,\n}) => {\n const { locale, t } = useI18n();\n const locales = { de, enUS, fr };\n\n const formatDate = (date: Date, dateFormat: DateFormat) =>\n format(date, dateFormat, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n const formatTime = (date: Date) =>\n format(date, DateFormat.HOUR_MINUTE_SECONDS, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n // Handle the form input text\n const textInputDisplayValue = reactive<DateRangePickerCalendarFormData>({\n startDate: datePickerValue.value?.startDate\n ? formatDate(datePickerValue.value.startDate, DateFormat.NUMERIC_DATE_YEAR_FIRST)\n : undefined,\n endDate: datePickerValue.value?.endDate\n ? formatDate(datePickerValue.value.endDate, DateFormat.NUMERIC_DATE_YEAR_FIRST)\n : undefined,\n\n // Set time if the startDate/endDate are set\n startTime: datePickerValue.value?.startDate ? formatTime(datePickerValue.value?.startDate) : undefined,\n endTime: datePickerValue.value?.endDate ? formatTime(datePickerValue.value.endDate) : undefined,\n });\n\n const dateDisplayValue = computed(() => {\n // Display incorrect date when there's an error with the input\n if (isDateIncorrect.value) {\n return `${textInputDisplayValue.startDate || ''} - ${textInputDisplayValue.endDate || ''}`;\n }\n\n // Display \"Select a date\" when there's no date selected or input\n if (!datePickerValue.value || (!datePickerValue.value.startDate && !datePickerValue.value.endDate)) {\n return t('selectDateRange') as string;\n }\n\n const { startDate, endDate } = textInputDisplayValue;\n return `${formatDate(new Date(startDate), DateFormat.FULL_DATE_MONTH_FIRST)} - ${formatDate(\n new Date(endDate),\n DateFormat.FULL_DATE_MONTH_FIRST\n )}`;\n });\n\n const formatTextInputDisplayValue = () => '';\n\n return {\n // Values\n dateDisplayValue,\n textInputDisplayValue,\n\n // Methods\n formatTextInputDisplayValue,\n };\n};\n","<!-- TODO: Remove aria props as these are part of JSX elements /vue/types/jsx.d.ts -->\n<!-- eslint-disable vue/attribute-hyphenation -->\n<template>\n <div v-bento-click-outside-directive=\"closeDateRangePicker\" class=\"b-date-range-picker\">\n <!-- Label -->\n <div v-if=\"label\" :id=\"labelId\" class=\"b-date-range-picker__label\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\" stronger>{{ label }}</bento-typography>\n <bento-typography\n v-if=\"optional\"\n class=\"b-date-range-picker__label-requirement\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n ({{ $t('optional') }})\n </bento-typography>\n <bento-typography\n v-if=\"required\"\n class=\"b-date-range-picker__label-requirement\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n ({{ $t('required') }})\n </bento-typography>\n </div>\n\n <!-- Input -->\n <div @keydown.enter=\"onEnterPressedOverInput\">\n <dropdown-input-default\n ref=\"inputContainerRef\"\n :ariaControls=\"datePickerContainerId\"\n :ariaExpanded=\"isDateRangePickerOpen\"\n :aria-labelledby=\"label ? labelId : null\"\n :aria-describedby=\"ariaDescribedBy\"\n :disabled=\"disabled\"\n :is-invalid=\"!!errorMessage || isDateIncorrect\"\n :open=\"isDateRangePickerOpen\"\n :display-value=\"dateDisplayValue\"\n @open=\"openDateRangePicker\"\n @clear=\"clearDateRangePickerValue\"\n @close=\"closeDateRangePicker\"\n />\n </div>\n\n <!-- Error Messages -->\n <error-message\n v-if=\"isDateIncorrect\"\n :id=\"dateErrorId\"\n :error-message=\"$t('provideDateInAFormat').toString()\"\n class=\"b-date-range-picker__error-message\"\n />\n <error-message\n v-if=\"!!errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-date-range-picker__error-message\"\n />\n\n <!-- Description -->\n <bento-typography\n v-if=\"description\"\n :id=\"descriptionId\"\n class=\"b-date-range-picker__description\"\n :class=\"descriptionConditionalClasses\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n {{ description }}\n </bento-typography>\n\n <!-- Calendar container -->\n <bento-popover\n v-if=\"inputContainerRef\"\n :id=\"datePickerContainerId\"\n class=\"b-date-range-picker__container\"\n :open=\"isDateRangePickerOpen\"\n :target-element=\"inputContainerRef\"\n :disable-focus-trap=\"true\"\n :aria-label=\"popoverAriaLabel\"\n :position=\"BentoPopoverPositions.BOTTOM_START\"\n without-space\n fit-content\n >\n <date-range-picker-calendar\n :allow-time-input=\"allowTimeInput\"\n :quick-select-ranges=\"quickSelectRanges\"\n :value=\"value\"\n :first-day-of-week=\"firstDayOfWeek\"\n :is-date-disabled=\"isDateDisabled\"\n :max-range=\"maxRange\"\n :number-of-months=\"numberOfMonths\"\n :date-form-data=\"textInputDisplayValue\"\n @custom-range=\"onRangeSelectorInput\"\n @input=\"onDateRangePickerInput\"\n @error=\"onDateRangePickerError\"\n @form-date=\"onDateRangePickerFormDateInputUpdate\"\n />\n </bento-popover>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, toRef, watch } from 'vue';\n import { BentoClickOutsideDirective } from '@/directives';\n import { BentoDateRangePickerEvent, BentoDateRangePickerValue } from './date-range-picker.types';\n import { DateRangePickerCalendar } from './components/date-range-picker-calendar';\n import { DropdownInputDefault } from '@/components/dropdown/components';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { ErrorMessage } from '@/internal';\n import { generateUid } from '@/utils/ts/unique-id';\n import { de, enUS, fr } from 'date-fns/locale';\n import { useI18n } from '@/utils/ts/i18n';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '../typography';\n import { useDateRangePickerCalendarText } from './composables/use-date-range-picker-calendar-text';\n import {\n DateRangePickerCalendarFormData,\n DateRangePickerCalendarRangeSelectorItems,\n } from './components/date-range-picker-calendar/date-range-picker-calendar.types';\n import { DateFormat } from '@/types';\n import format from 'date-fns/format';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Date range picker selector.\n *\n * @example\n * import { BentoDateRangePicker } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDateRangePicker },\n * template: `\n * <bento-date-range-picker\n * label=\"Label\"\n * description=\"Supporting text\"\n * required\n * optional\n * disabled\n * @input=\"onDateChanged\"\n * v-model=\"selectedDate\"\n * />\n * `,\n * setup() {\n * const selectedDate = ref(new Date()); // reactive({ startDate: new Date(), endDate: new Date() })\n * return {\n * selectedDate,\n * }\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-date-range-picker',\n components: {\n BentoTypography,\n BentoPopover,\n DateRangePickerCalendar,\n DropdownInputDefault,\n ErrorMessage,\n },\n directives: { BentoClickOutsideDirective },\n props: {\n /**\n * Allows user to enter time values in the form\n */\n allowTimeInput: { type: Boolean, default: false },\n\n /**\n * Descriptive supporting text visbile underneath the dropdown.\n */\n description: { type: String, default: undefined },\n\n /**\n * Disables dropdown functionality.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Displays component in an error state with an error message\n */\n errorMessage: { type: String, default: null },\n\n /**\n * Allows user to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n */\n firstDayOfWeek: DateRangePickerCalendar.props.firstDayOfWeek,\n\n /**\n * Indicate if a date should be disabled or not\n */\n isDateDisabled: DateRangePickerCalendar.props.isDateDisabled,\n\n /**\n * Text that is displayed as a label above the element.\n */\n label: { type: String, default: undefined },\n\n /**\n * Highlights the dropdown is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * Highlights the dropdown is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Enables the range selector.\n * If provided, must be an array that sets the custom range dropdown items. Items are of the structure:\n * `label` - label of custom range item.\n * `value` - a unique key of the custom range item.\n * `data` - an object `{ startDate: Date; endDate: Date }` to set the date picker range to upon selecting.\n */\n quickSelectRanges: {\n type: Array as PropType<DateRangePickerCalendarRangeSelectorItems>,\n default: undefined,\n },\n\n /**\n * Set a maximum number of dates to be selectable by the range.\n */\n maxRange: DateRangePickerCalendar.props.maxRange,\n\n /**\n * Number of months rendered on pane\n */\n numberOfMonths: DateRangePickerCalendar.props.numberOfMonths,\n\n /**\n * Selected date\n */\n value: DateRangePickerCalendar.props.value,\n },\n emits: [BentoDateRangePickerEvent.INPUT],\n setup(props, { emit }) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n const locales = { de, enUS, fr };\n const datePickerContainerId = generateUid('bento-date-range-picker-container');\n const labelId = generateUid('bento-date-range-picker-label');\n const descriptionId = generateUid('bento-date-range-picker-description');\n const errorId = generateUid('bento-date-range-picker-error');\n const dateErrorId = generateUid('bento-date-range-picker-date-error');\n const popoverAriaLabel = computed(\n () => props.label || t('dateRangePicker', { name: datePickerContainerId })\n );\n\n const isDateIncorrect = ref(false);\n const inputContainerRef = ref(null);\n const isDateRangePickerOpen = ref(false);\n\n watch(\n () => props.disabled,\n () => {\n // Close date picker popover if it's opened when it's disabled\n if (props.disabled && isDateRangePickerOpen.value) {\n isDateRangePickerOpen.value = false;\n }\n }\n );\n\n const descriptionConditionalClasses = computed(() => ({\n 'b-date-range-picker__description--error': !!props.errorMessage || isDateIncorrect.value,\n }));\n\n const { dateDisplayValue, textInputDisplayValue, formatTextInputDisplayValue } =\n useDateRangePickerCalendarText({\n datePickerValue: toRef(props, 'value'),\n isDateIncorrect,\n });\n\n const ariaDescribedBy = computed(\n () =>\n `${props.description ? descriptionId : ''} ${props.errorMessage ? errorId : ''} ${\n isDateIncorrect.value ? dateErrorId : ''\n }`.trim() || null\n );\n\n const closeDateRangePicker = () => {\n isDateRangePickerOpen.value = false;\n };\n\n const openDateRangePicker = () => {\n isDateRangePickerOpen.value = true;\n formatTextInputDisplayValue();\n };\n\n const onDateRangePickerInput = (selectedRange: BentoDateRangePickerValue) => {\n // Reset the errors when the date is correct\n isDateIncorrect.value = false;\n\n const formatDate = (date: Date) =>\n format(date, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n textInputDisplayValue.startDate = formatDate(selectedRange.startDate);\n textInputDisplayValue.endDate = formatDate(selectedRange.endDate);\n emit(BentoDateRangePickerEvent.INPUT, selectedRange);\n };\n\n const clearDateRangePickerValue = async () => {\n if (isDateIncorrect.value) {\n isDateIncorrect.value = false;\n }\n emit(BentoDateRangePickerEvent.INPUT, null);\n };\n\n const onEnterPressedOverInput = () => {\n // Close the date picker if the date is correct\n if (!isDateIncorrect.value) {\n isDateRangePickerOpen.value = false;\n }\n };\n\n const onDateRangePickerFormDateInputUpdate = (dateFormDate: DateRangePickerCalendarFormData) => {\n isDateIncorrect.value = false;\n\n if (dateFormDate.startTime) {\n textInputDisplayValue.startTime = dateFormDate.startTime;\n }\n\n if (dateFormDate.endTime) {\n textInputDisplayValue.endTime = dateFormDate.endTime;\n }\n };\n\n const onDateRangePickerError = dateTextInput => {\n isDateIncorrect.value = true;\n textInputDisplayValue.startDate = dateTextInput.startDate;\n textInputDisplayValue.endDate = dateTextInput.endDate;\n\n // Remove current date range selection\n emit(BentoDateRangePickerEvent.INPUT, { startDate: null, endDate: null });\n };\n\n const onRangeSelectorInput = (quickSelectRanges?: { startDate: Date; endDate: Date }) => {\n if (quickSelectRanges) {\n const formatDate = (date: Date) =>\n format(date, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n textInputDisplayValue.startDate = formatDate(quickSelectRanges.startDate);\n textInputDisplayValue.endDate = formatDate(quickSelectRanges.endDate);\n emit(BentoDateRangePickerEvent.INPUT, quickSelectRanges);\n }\n };\n\n return {\n // Refs\n inputContainerRef,\n\n // Values,\n dateDisplayValue,\n datePickerContainerId,\n descriptionConditionalClasses,\n isDateIncorrect,\n isDateRangePickerOpen,\n labelId,\n descriptionId,\n dateErrorId,\n errorId,\n popoverAriaLabel,\n ariaDescribedBy,\n textInputDisplayValue,\n\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n BentoPopoverPositions,\n\n // Events\n closeDateRangePicker,\n clearDateRangePickerValue,\n openDateRangePicker,\n onRangeSelectorInput,\n onEnterPressedOverInput,\n onDateRangePickerInput,\n onDateRangePickerError,\n onDateRangePickerFormDateInputUpdate,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./date-range-picker.scss\" />\n"],"names":["setHours","dirtyDate","dirtyHours","requiredArgs","date","toDate","hours","toInteger","setMinutes","dirtyMinutes","minutes","setSeconds","dirtySeconds","seconds","DateRangePickerCalendarEvent","DateRangePickerCalendarEvent2","validDigitRegex","hourRegex","minuteRegex","validateTimeInput","event","selectionStart","isValidKey","isValidColon","formatTimeInputValue","value","formattedValue","secondToLastDigit","lastDigit","FORM_INPUT_DEBOUNCE_TIME","RANGE_SELECTOR_CUSTOM_RANGE_KEY","_sfc_main$1","defineComponent","messages$1","BentoDropdown","BentoInputField","BentoTypography","Calendar","props","emit","slots","locale","t","useI18n","locales","de","enUS","fr","internalRangeDate","reactive","_a","_b","selectedRangeSelectorValue","ref","formInputWrapperConditionalClasses","computed","quickSelectRangeDefaultItems","resetCustomRangeToDefault","formatDate","dateToFormat","format","DateFormat","formatTime","startDateError","endDateError","startTimeError","endTimeError","dateTextInput","onDateInput","selectedDate","isValidTime","timeText","setTimeInDate","time","dateWithTime","isValidDate","dateText","isDateEnabled","onMounted","onStartDateSelected","newStartDate","onEndDateSelected","newEndDate","endOfDay","getDate","keyName","dateProp","validateStartDate","debounce","startDateText","endDate","onStartDateInput","formatDateInputValue","validateEndDate","endDateText","startDate","onEndDateInput","onDateInputKeyDown","validateDateInput","validateStartTime","startTimeText","validateEndTime","endTimeText","onStartTimeInput","onEndTimeInput","onTimeInputKeyDown","onRangeSelectorInput","newCustomRangeValue","foundResult","BentoTypographyElement","useHasSlot","BentoDateRangePickerEvent","BentoDateRangePickerEvent2","useDateRangePickerCalendarText","datePickerValue","isDateIncorrect","dateFormat","textInputDisplayValue","_c","_d","_e","_sfc_main","messages","BentoPopover","DateRangePickerCalendar","DropdownInputDefault","ErrorMessage","BentoClickOutsideDirective","datePickerContainerId","generateUid","labelId","descriptionId","errorId","dateErrorId","popoverAriaLabel","inputContainerRef","isDateRangePickerOpen","watch","descriptionConditionalClasses","dateDisplayValue","formatTextInputDisplayValue","toRef","ariaDescribedBy","BentoTypographyVariant","BentoPopoverPositions","quickSelectRanges","selectedRange","dateFormDate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
1
+ {"version":3,"file":"index.f0d99471.js","sources":["../../../../node_modules/date-fns/esm/setHours/index.js","../../../../node_modules/date-fns/esm/setMinutes/index.js","../../../../node_modules/date-fns/esm/setSeconds/index.js","../../src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.types.ts","../../src/utils/ts/time-input.ts","../../src/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue","../../src/components/date-range-picker/date-range-picker.types.ts","../../src/components/date-range-picker/composables/use-date-range-picker-calendar-text.ts","../../src/components/date-range-picker/date-range-picker.vue"],"sourcesContent":["import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * var result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\n\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\n\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\n\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}","export interface DateRangePickerCalendarFormData {\n startDate: string;\n endDate: string;\n startTime?: string;\n endTime?: string;\n}\n\nexport enum DateRangePickerCalendarEvent {\n CUSTOM_RANGE = 'custom-range',\n INPUT = 'input',\n ERROR = 'error',\n FORM_DATE = 'form-date',\n}\n\nexport type DateRangePickerCalendarRangeSelectorItems = Array<{\n label: string;\n value: string;\n data: { startDate: Date; endDate: Date };\n}>;\n","const validDigitRegex = /[\\d]/;\n\nconst hourRegex = /^\\d{2}$/;\nconst minuteRegex = /^\\d{2}:\\d{2}$/;\n\nexport const validateTimeInput = (event: KeyboardEvent) => {\n const { selectionStart } = event.target as HTMLInputElement;\n\n const isValidKey = validDigitRegex.test(event.key) || event.key === 'Backspace';\n const isValidColon = [1, 2, 4, 5].includes(selectionStart) && event.key === ':';\n\n if (!isValidKey && !isValidColon) {\n event.preventDefault();\n }\n};\n\nexport const formatTimeInputValue = (value: string) => {\n if (!value) {\n return value;\n }\n\n let formattedValue = value;\n\n // Format if the first value is bigger than 2, because it can't be bigger than 24 hours\n if (formattedValue.length === 1 && parseInt(value, 10) > 2) {\n return `0${formattedValue}:`;\n }\n\n const [secondToLastDigit, lastDigit] = formattedValue.slice(-2);\n if ([2, 5].includes(formattedValue.length) && lastDigit === ':') {\n formattedValue = `${formattedValue.slice(0, formattedValue.length - 2)}0${secondToLastDigit}`;\n }\n\n // Add `:` after hour/minute\n if (hourRegex.test(formattedValue) || minuteRegex.test(formattedValue)) {\n formattedValue += ':';\n }\n return formattedValue;\n};\n","<template>\n <div class=\"b-date-range-picker-calendar\">\n <!-- Form -->\n <div class=\"b-date-range-picker-calendar__form-container\">\n <div class=\"b-date-range-picker-calendar__form\">\n <bento-dropdown\n v-if=\"quickSelectRanges\"\n :aria-label=\"t('customRange')\"\n :items=\"quickSelectRangeDefaultItems\"\n :value=\"selectedRangeSelectorValue\"\n @input=\"onRangeSelectorInput\"\n />\n\n <template v-if=\"hasSlot('title')\">\n <slot name=\"title\" />\n </template>\n <div>\n <bento-typography\n stronger\n :el=\"BentoTypographyElement.SPAN\"\n class=\"b-date-range-picker-calendar__label\"\n >\n From\n </bento-typography>\n <div :class=\"formInputWrapperConditionalClasses\">\n <bento-input-field\n :aria-label=\"$t('dateFrom')\"\n :value=\"dateTextInput.startDate\"\n :error=\"startDateError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onStartDateInput\"\n @keydown=\"onDateInputKeyDown\"\n >\n <template #description>YYYY-MM-DD</template>\n </bento-input-field>\n\n <bento-input-field\n v-if=\"allowTimeInput\"\n :aria-label=\"t('timeFrom')\"\n :value=\"dateTextInput.startTime\"\n :error=\"startTimeError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onStartTimeInput\"\n @keydown=\"onTimeInputKeyDown\"\n >\n <template #description>HH:MM:SS</template>\n </bento-input-field>\n </div>\n </div>\n\n <div>\n <bento-typography\n stronger\n :el=\"BentoTypographyElement.SPAN\"\n class=\"b-date-range-picker-calendar__label\"\n >\n To\n </bento-typography>\n <div :class=\"formInputWrapperConditionalClasses\">\n <bento-input-field\n class=\"b-date-range-picker-calendar__form-input\"\n :aria-label=\"$t('dateTo')\"\n :value=\"dateTextInput.endDate\"\n :error=\"endDateError\"\n @input=\"onEndDateInput\"\n @keydown=\"onDateInputKeyDown\"\n >\n <template #description>YYYY-MM-DD</template>\n </bento-input-field>\n\n <bento-input-field\n v-if=\"allowTimeInput\"\n :aria-label=\"t('timeTo')\"\n :value=\"dateTextInput.endTime\"\n :error=\"endTimeError\"\n class=\"b-date-range-picker-calendar__form-input\"\n @input=\"onEndTimeInput\"\n @keydown=\"onTimeInputKeyDown\"\n >\n <template #description>HH:MM:SS</template>\n </bento-input-field>\n </div>\n </div>\n </div>\n\n <div v-if=\"hasSlot('actions')\">\n <slot name=\"actions\" />\n </div>\n </div>\n\n <!-- Calendar -->\n <div class=\"b-date-range-picker-calendar__calendars-container\">\n <calendar\n :value=\"value\"\n :first-day-of-week=\"firstDayOfWeek\"\n :is-date-disabled=\"isDateDisabled\"\n :max-range=\"maxRange\"\n :number-of-months=\"numberOfMonths\"\n is-range\n @input=\"onDateInput\"\n @start-date-selected=\"onStartDateSelected\"\n @end-date-selected=\"onEndDateSelected\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, onMounted, PropType, reactive, ref } from 'vue';\n import { Calendar, CalendarRangeDateValue } from '@/internal';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { BentoInputField } from '@/components/input-field';\n import { BentoDropdown } from '@/components/dropdown';\n import { de, enUS, fr } from 'date-fns/locale';\n import { useI18n } from '@/utils/ts/i18n';\n import { debounce } from '@/utils/ts/debounce';\n import { useHasSlot } from '@/composables';\n import { formatDateInputValue, validateDateInput } from '@/utils/ts/date-input';\n import {\n DateRangePickerCalendarEvent,\n DateRangePickerCalendarFormData,\n DateRangePickerCalendarRangeSelectorItems,\n } from './date-range-picker-calendar.types';\n import { DateFormat } from '@/types';\n import { formatTimeInputValue, validateTimeInput } from '@/utils/ts/time-input';\n import setHours from 'date-fns/setHours';\n import setMinutes from 'date-fns/setMinutes';\n import setSeconds from 'date-fns/setSeconds';\n import format from 'date-fns/format';\n import endOfDay from 'date-fns/endOfDay';\n import messages from './messages.json';\n\n const FORM_INPUT_DEBOUNCE_TIME = 300;\n const RANGE_SELECTOR_CUSTOM_RANGE_KEY = 'customRange';\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Calendar for range dates. Contains the logic to handle the range forms.\n *\n * @example\n * import DatePickerCalendarRange from './date-range-picker-calendar.vue';\n *\n * export default {\n * components: { DatePickerCalendarRange },\n * template: `\n * <date-range-picker-calendar\n * :value=\"{startDate: new Date(), endDate: new Date() }\"\n * :first-day-of-week=\"BentoDatePickerFirstDayOfWeek.MONDAY\"\n * :is-date-disabled=\"(date: Date) => boolean\"\n * :number-of-months=\"2\"\n * @input=\"({ startDate, endDate }) => void\"\n * />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'date-range-picker-calendar',\n components: {\n BentoDropdown,\n BentoInputField,\n BentoTypography,\n Calendar,\n },\n props: {\n /**\n * Allows user to enter time values in the form\n */\n allowTimeInput: { type: Boolean, default: false },\n\n /**\n * Ranges form persistance data\n */\n dateFormData: {\n type: Object as PropType<DateRangePickerCalendarFormData>,\n default: () => ({ startDate: undefined, endDate: undefined, startTime: undefined, endTime: undefined }),\n },\n\n /**\n * Allows you to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n */\n firstDayOfWeek: Calendar.props.firstDayOfWeek,\n\n /**\n * Indicate if a date should be disabled or not\n */\n isDateDisabled: Calendar.props.isDateDisabled,\n\n /**\n * Set a maximum number of dates to be selectable by the range.\n */\n maxRange: Calendar.props.maxRange,\n\n /**\n * Number of months rendered on pane\n */\n numberOfMonths: Calendar.props.numberOfMonths,\n\n /**\n * Enables the custom range selector.\n * If provided, must be an array that sets the custom range dropdown items. Items are of the structure:\n * `label` - label of custom range item.\n * `value` - a unique key of the custom range item.\n * `data` - an object `{ startDate: Date; endDate: Date }` to set the date picker range to upon selecting.\n */\n quickSelectRanges: {\n type: Array as PropType<DateRangePickerCalendarRangeSelectorItems>,\n default: undefined,\n },\n\n /**\n * Selected date\n */\n value: { type: Object as PropType<CalendarRangeDateValue>, default: undefined },\n },\n emits: [\n DateRangePickerCalendarEvent.CUSTOM_RANGE,\n DateRangePickerCalendarEvent.INPUT,\n DateRangePickerCalendarEvent.ERROR,\n DateRangePickerCalendarEvent.FORM_DATE,\n ],\n setup(props, { emit, slots }) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n const locales = { de, enUS, fr };\n const internalRangeDate = reactive({\n startDate: (props.value as CalendarRangeDateValue)?.startDate,\n endDate: (props.value as CalendarRangeDateValue)?.endDate,\n });\n const selectedRangeSelectorValue = ref(RANGE_SELECTOR_CUSTOM_RANGE_KEY);\n const formInputWrapperConditionalClasses = computed(() => ({\n 'b-date-range-picker-calendar__form-input-wrapper': props.allowTimeInput,\n }));\n const quickSelectRangeDefaultItems = computed(() => {\n if (props.quickSelectRanges) {\n return [\n { label: t('customRange'), value: RANGE_SELECTOR_CUSTOM_RANGE_KEY },\n ...props.quickSelectRanges,\n ];\n }\n return [];\n });\n\n /**\n * When selecting a custom range, set the range selecter if it is enabled.\n */\n const resetCustomRangeToDefault = () => {\n if (props?.quickSelectRanges) {\n selectedRangeSelectorValue.value = RANGE_SELECTOR_CUSTOM_RANGE_KEY;\n }\n };\n\n /**\n * Format date to a string value in format yyyy-MM-dd\n * @param {Date} dateToFormat Date to be formatted\n */\n const formatDate = (dateToFormat?: Date) => {\n if (!dateToFormat) {\n return '';\n }\n return format(dateToFormat, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n };\n\n const formatTime = (dateToFormat?: Date) => {\n if (!dateToFormat) {\n return '';\n }\n\n return format(dateToFormat, DateFormat.HOUR_MINUTE_SECONDS, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n };\n\n // Form error flags\n const startDateError = ref(false);\n const endDateError = ref(false);\n const startTimeError = ref(false);\n const endTimeError = ref(false);\n\n // Form input text used in range variant\n const dateTextInput = reactive({\n startDate: props.dateFormData.startDate,\n endDate: props.dateFormData.endDate,\n startTime: props.dateFormData.startTime,\n endTime: props.dateFormData.endTime,\n });\n\n const onDateInput = (selectedDate: Date) => {\n emit(DateRangePickerCalendarEvent.INPUT, selectedDate);\n };\n\n // Validate time\n const isValidTime = (timeText: string) => {\n // HH:MM:SS regex\n const timeRegex = /^(?:[01]\\d|2[01234]):(?:[012345]\\d):(?:[012345]\\d)$/;\n return timeRegex.test(timeText);\n };\n\n const setTimeInDate = (date: Date, time: string) => {\n if (!time || !isValidTime(time)) {\n return date;\n }\n\n let dateWithTime = new Date(date);\n\n const [hours, minutes, seconds] = time.split(':');\n dateWithTime = setHours(dateWithTime, parseInt(hours, 10));\n dateWithTime = setMinutes(dateWithTime, parseInt(minutes, 10));\n dateWithTime = setSeconds(dateWithTime, parseInt(seconds, 10));\n return dateWithTime;\n };\n\n const isValidDate = (dateText: string) => {\n // Is date selectable\n const isDateEnabled = (date: Date) => {\n // Check if function is set, otherwise all dates are enabled\n if (props.isDateDisabled) {\n return !props.isDateDisabled(date);\n }\n\n return true;\n };\n\n // YYYY-MM-DD regex\n const dateRegex = /^\\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$/;\n // Date matches text regex\n return dateRegex.test(dateText) && isDateEnabled(new Date(dateText));\n };\n\n /**\n * When mounted, set the input error states to true if the values are not valid\n */\n onMounted(() => {\n if (props.dateFormData.startDate && !isValidDate(props.dateFormData.startDate)) {\n startDateError.value = true;\n } else {\n startDateError.value = false;\n startTimeError.value = false;\n }\n\n if (props.dateFormData.endDate && !isValidDate(props.dateFormData.endDate)) {\n endDateError.value = true;\n } else {\n endDateError.value = false;\n endTimeError.value = false;\n }\n });\n\n const onStartDateSelected = (newStartDate: Date) => {\n resetCustomRangeToDefault();\n dateTextInput.startDate = formatDate(newStartDate);\n if (!dateTextInput.startTime) {\n // Set the time to the beginning of the day\n dateTextInput.startTime = formatTime(newStartDate);\n } else if (startTimeError.value) {\n // Set the form time if it was previously set\n dateTextInput.startTime = props.dateFormData?.startTime;\n }\n\n // Reset errors\n startDateError.value = false;\n startTimeError.value = false;\n };\n\n const onEndDateSelected = (newEndDate: Date) => {\n dateTextInput.endDate = formatDate(newEndDate);\n if (!dateTextInput.endTime) {\n // Set the time to the end of the day\n dateTextInput.endTime = formatTime(endOfDay(newEndDate));\n } else if (endTimeError.value) {\n // Set the form time if it was previously set\n dateTextInput.endTime = props.dateFormData?.endTime;\n }\n\n // Reset errors\n endDateError.value = false;\n endTimeError.value = false;\n };\n\n const getDate = (keyName: keyof CalendarRangeDateValue) => {\n const dateProp = (props.value as CalendarRangeDateValue)[keyName];\n if (dateProp) {\n return dateProp;\n }\n\n if (props.dateFormData[keyName] && isValidDate(props.dateFormData[keyName])) {\n return new Date(props.dateFormData[keyName]);\n }\n\n return undefined;\n };\n\n const validateStartDate = debounce((startDateText: string) => {\n // Checks for YYYY-MM-DD format\n if (isValidDate(startDateText)) {\n startDateError.value = false;\n // Format date string to Date object\n internalRangeDate.startDate = setTimeInDate(new Date(startDateText), dateTextInput.startTime);\n\n const endDate = getDate('endDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate: new Date(startDateText),\n endDate,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate: new Date(startDateText),\n endDate,\n });\n } else {\n // Indicate form error\n startDateError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n }, FORM_INPUT_DEBOUNCE_TIME);\n\n const onStartDateInput = (startDateText: string) => {\n resetCustomRangeToDefault();\n // Set the date as string when input through the form\n dateTextInput.startDate = formatDateInputValue(startDateText);\n validateStartDate(dateTextInput.startDate);\n };\n\n const validateEndDate = debounce((endDateText: string) => {\n // Checks for YYYY-MM-DD format\n if (isValidDate(endDateText)) {\n endDateError.value = false;\n internalRangeDate.endDate = setTimeInDate(new Date(endDateText), dateTextInput.endTime);\n\n const startDate = getDate('startDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n startTime: props.dateFormData.endTime,\n endTime: endDateText,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n });\n } else {\n // Indicate form error\n endDateError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n }, FORM_INPUT_DEBOUNCE_TIME);\n\n const onEndDateInput = (endDateText: string) => {\n resetCustomRangeToDefault();\n // Set the date as string when input through the form\n dateTextInput.endDate = formatDateInputValue(endDateText);\n validateEndDate(dateTextInput.endDate);\n };\n\n const onDateInputKeyDown = (event: KeyboardEvent) => {\n validateDateInput(event);\n };\n\n const validateStartTime = debounce((startTimeText: string) => {\n if (isValidTime(startTimeText)) {\n startTimeError.value = false;\n internalRangeDate.startDate = setTimeInDate(internalRangeDate.startDate, startTimeText);\n\n const endDate = getDate('endDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate: new Date(internalRangeDate.startDate),\n endDate,\n startTime: startTimeText,\n endTime: props.dateFormData.endTime,\n });\n\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate: new Date(internalRangeDate.startDate),\n endDate,\n });\n } else {\n // Indicate form error\n startTimeError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n });\n\n const validateEndTime = debounce((endTimeText: string) => {\n if (isValidTime(endTimeText)) {\n endTimeError.value = false;\n internalRangeDate.endDate = setTimeInDate(internalRangeDate.endDate, endTimeText);\n\n const startDate = getDate('startDate');\n\n emit(DateRangePickerCalendarEvent.FORM_DATE, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n startTime: props.dateFormData.startTime,\n endTime: endTimeText,\n });\n emit(DateRangePickerCalendarEvent.INPUT, {\n startDate,\n endDate: new Date(internalRangeDate.endDate),\n });\n } else {\n // Indicate form error\n endTimeError.value = true;\n // Emit Date picker calendar error\n emit(DateRangePickerCalendarEvent.ERROR, { ...dateTextInput });\n }\n });\n\n const onStartTimeInput = (startTimeText: string) => {\n resetCustomRangeToDefault();\n dateTextInput.startTime = formatTimeInputValue(startTimeText);\n validateStartTime(dateTextInput.startTime);\n };\n\n const onEndTimeInput = (endDateText: string) => {\n resetCustomRangeToDefault();\n dateTextInput.endTime = formatTimeInputValue(endDateText);\n validateEndTime(dateTextInput.endTime);\n };\n\n const onTimeInputKeyDown = (event: KeyboardEvent) => {\n validateTimeInput(event);\n };\n\n const onRangeSelectorInput = (newCustomRangeValue: string) => {\n selectedRangeSelectorValue.value = newCustomRangeValue;\n const foundResult = props.quickSelectRanges?.find(({ value }) => value === newCustomRangeValue)?.data;\n if (foundResult) {\n dateTextInput.startDate = formatDate(foundResult.startDate);\n dateTextInput.endDate = formatDate(foundResult.endDate);\n if (!dateTextInput.startTime) {\n dateTextInput.startTime = formatTime(endOfDay(foundResult.startDate));\n }\n if (!dateTextInput.endTime) {\n dateTextInput.endTime = formatTime(endOfDay(foundResult.endDate));\n }\n emit(DateRangePickerCalendarEvent.CUSTOM_RANGE, foundResult);\n }\n };\n\n return {\n // Values\n dateTextInput,\n endDateError,\n endTimeError,\n selectedRangeSelectorValue,\n startDateError,\n startTimeError,\n quickSelectRangeDefaultItems,\n formInputWrapperConditionalClasses,\n\n // Enums\n BentoTypographyElement,\n\n // Methods\n hasSlot: useHasSlot(slots),\n t,\n\n // Events\n onRangeSelectorInput,\n onDateInput,\n onDateInputKeyDown,\n onEndDateInput,\n onEndDateSelected,\n onEndTimeInput,\n onStartDateSelected,\n onStartDateInput,\n onStartTimeInput,\n onTimeInputKeyDown,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./date-range-picker-calendar.scss\" />\n","export { CalendarFirstDayOfWeek as BentoDateRangePickerFirstDayOfWeek } from '@/internal';\nexport type {\n CalendarIsDateDisabled as BentoDateRangePickerIsDateDisabled,\n CalendarRangeDateValue as BentoDateRangePickerValue,\n} from '@/internal';\n\nexport enum BentoDateRangePickerEvent {\n INPUT = 'input',\n}\n","import { computed, reactive } from 'vue';\nimport { de, enUS, fr } from 'date-fns/locale';\nimport { useI18n } from '@/utils/ts/i18n';\nimport { UseDateDisplayText } from './use-date-range-picker-calendar-text.types';\nimport { DateFormat } from '@/types';\nimport { CalendarRangeDateValue } from '@/internal';\nimport { DateRangePickerCalendarFormData } from '../components/date-range-picker-calendar/date-range-picker-calendar.types';\nimport format from 'date-fns/format';\n\nexport const useDateRangePickerCalendarText: UseDateDisplayText<CalendarRangeDateValue> = ({\n datePickerValue,\n isDateIncorrect,\n}) => {\n const { locale, t } = useI18n();\n const locales = { de, enUS, fr };\n\n const formatDate = (date: Date, dateFormat: DateFormat) =>\n format(date, dateFormat, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n const formatTime = (date: Date) =>\n format(date, DateFormat.HOUR_MINUTE_SECONDS, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n // Handle the form input text\n const textInputDisplayValue = reactive<DateRangePickerCalendarFormData>({\n startDate: datePickerValue.value?.startDate\n ? formatDate(datePickerValue.value.startDate, DateFormat.NUMERIC_DATE_YEAR_FIRST)\n : undefined,\n endDate: datePickerValue.value?.endDate\n ? formatDate(datePickerValue.value.endDate, DateFormat.NUMERIC_DATE_YEAR_FIRST)\n : undefined,\n\n // Set time if the startDate/endDate are set\n startTime: datePickerValue.value?.startDate ? formatTime(datePickerValue.value?.startDate) : undefined,\n endTime: datePickerValue.value?.endDate ? formatTime(datePickerValue.value.endDate) : undefined,\n });\n\n const dateDisplayValue = computed(() => {\n // Display incorrect date when there's an error with the input\n if (isDateIncorrect.value) {\n return `${textInputDisplayValue.startDate || ''} - ${textInputDisplayValue.endDate || ''}`;\n }\n\n // Display \"Select a date\" when there's no date selected or input\n if (!datePickerValue.value || (!datePickerValue.value.startDate && !datePickerValue.value.endDate)) {\n return t('selectDateRange') as string;\n }\n\n const { startDate, endDate } = textInputDisplayValue;\n return `${formatDate(new Date(startDate), DateFormat.FULL_DATE_MONTH_FIRST)} - ${formatDate(\n new Date(endDate),\n DateFormat.FULL_DATE_MONTH_FIRST\n )}`;\n });\n\n const formatTextInputDisplayValue = () => '';\n\n return {\n // Values\n dateDisplayValue,\n textInputDisplayValue,\n\n // Methods\n formatTextInputDisplayValue,\n };\n};\n","<!-- TODO: Remove aria props as these are part of JSX elements /vue/types/jsx.d.ts -->\n<!-- eslint-disable vue/attribute-hyphenation -->\n<template>\n <div v-bento-click-outside-directive=\"closeDateRangePicker\" class=\"b-date-range-picker\">\n <!-- Label -->\n <div v-if=\"label\" :id=\"labelId\" class=\"b-date-range-picker__label\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\" stronger>{{ label }}</bento-typography>\n <bento-typography\n v-if=\"optional\"\n class=\"b-date-range-picker__label-requirement\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n ({{ $t('optional') }})\n </bento-typography>\n <bento-typography\n v-if=\"required\"\n class=\"b-date-range-picker__label-requirement\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n ({{ $t('required') }})\n </bento-typography>\n </div>\n\n <!-- Input -->\n <div @keydown.enter=\"onEnterPressedOverInput\">\n <dropdown-input-default\n ref=\"inputContainerRef\"\n :ariaControls=\"datePickerContainerId\"\n :ariaExpanded=\"isDateRangePickerOpen\"\n :aria-labelledby=\"label ? labelId : null\"\n :aria-describedby=\"ariaDescribedBy\"\n :disabled=\"disabled\"\n :is-invalid=\"!!errorMessage || isDateIncorrect\"\n :open=\"isDateRangePickerOpen\"\n :display-value=\"dateDisplayValue\"\n @open=\"openDateRangePicker\"\n @clear=\"clearDateRangePickerValue\"\n @close=\"closeDateRangePicker\"\n />\n </div>\n\n <!-- Error Messages -->\n <error-message\n v-if=\"isDateIncorrect\"\n :id=\"dateErrorId\"\n :error-message=\"$t('provideDateInAFormat').toString()\"\n class=\"b-date-range-picker__error-message\"\n />\n <error-message\n v-if=\"!!errorMessage\"\n :id=\"errorId\"\n :error-message=\"errorMessage\"\n class=\"b-date-range-picker__error-message\"\n />\n\n <!-- Description -->\n <bento-typography\n v-if=\"description\"\n :id=\"descriptionId\"\n class=\"b-date-range-picker__description\"\n :class=\"descriptionConditionalClasses\"\n :el=\"BentoTypographyElement.SPAN\"\n >\n {{ description }}\n </bento-typography>\n\n <!-- Calendar container -->\n <bento-popover\n v-if=\"inputContainerRef\"\n :id=\"datePickerContainerId\"\n class=\"b-date-range-picker__container\"\n :open=\"isDateRangePickerOpen\"\n :target-element=\"inputContainerRef\"\n :disable-focus-trap=\"true\"\n :aria-label=\"popoverAriaLabel\"\n :position=\"BentoPopoverPositions.BOTTOM_START\"\n without-space\n fit-content\n >\n <date-range-picker-calendar\n :allow-time-input=\"allowTimeInput\"\n :quick-select-ranges=\"quickSelectRanges\"\n :value=\"value\"\n :first-day-of-week=\"firstDayOfWeek\"\n :is-date-disabled=\"isDateDisabled\"\n :max-range=\"maxRange\"\n :number-of-months=\"numberOfMonths\"\n :date-form-data=\"textInputDisplayValue\"\n @custom-range=\"onRangeSelectorInput\"\n @input=\"onDateRangePickerInput\"\n @error=\"onDateRangePickerError\"\n @form-date=\"onDateRangePickerFormDateInputUpdate\"\n />\n </bento-popover>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref, toRef, watch } from 'vue';\n import { BentoClickOutsideDirective } from '@/directives';\n import { BentoDateRangePickerEvent, BentoDateRangePickerValue } from './date-range-picker.types';\n import { DateRangePickerCalendar } from './components/date-range-picker-calendar';\n import { DropdownInputDefault } from '@/components/dropdown/components';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { ErrorMessage } from '@/internal';\n import { generateUid } from '@/utils/ts/unique-id';\n import { de, enUS, fr } from 'date-fns/locale';\n import { useI18n } from '@/utils/ts/i18n';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '../typography';\n import { useDateRangePickerCalendarText } from './composables/use-date-range-picker-calendar-text';\n import {\n DateRangePickerCalendarFormData,\n DateRangePickerCalendarRangeSelectorItems,\n } from './components/date-range-picker-calendar/date-range-picker-calendar.types';\n import { DateFormat } from '@/types';\n import format from 'date-fns/format';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * Date range picker selector.\n *\n * @example\n * import { BentoDateRangePicker } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDateRangePicker },\n * template: `\n * <bento-date-range-picker\n * label=\"Label\"\n * description=\"Supporting text\"\n * required\n * optional\n * disabled\n * @input=\"onDateChanged\"\n * v-model=\"selectedDate\"\n * />\n * `,\n * setup() {\n * const selectedDate = ref(new Date()); // reactive({ startDate: new Date(), endDate: new Date() })\n * return {\n * selectedDate,\n * }\n * }\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-date-range-picker',\n components: {\n BentoTypography,\n BentoPopover,\n DateRangePickerCalendar,\n DropdownInputDefault,\n ErrorMessage,\n },\n directives: { BentoClickOutsideDirective },\n props: {\n /**\n * Allows user to enter time values in the form\n */\n allowTimeInput: { type: Boolean, default: false },\n\n /**\n * Descriptive supporting text visbile underneath the dropdown.\n */\n description: { type: String, default: undefined },\n\n /**\n * Disables dropdown functionality.\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Displays component in an error state with an error message\n */\n errorMessage: { type: String, default: null },\n\n /**\n * Allows user to set the first day of the week. 0 is sunday, 1 is monday, 6 is saturday\n */\n firstDayOfWeek: DateRangePickerCalendar.props.firstDayOfWeek,\n\n /**\n * Indicate if a date should be disabled or not\n */\n isDateDisabled: DateRangePickerCalendar.props.isDateDisabled,\n\n /**\n * Text that is displayed as a label above the element.\n */\n label: { type: String, default: undefined },\n\n /**\n * Highlights the dropdown is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * Highlights the dropdown is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Enables the range selector.\n * If provided, must be an array that sets the custom range dropdown items. Items are of the structure:\n * `label` - label of custom range item.\n * `value` - a unique key of the custom range item.\n * `data` - an object `{ startDate: Date; endDate: Date }` to set the date picker range to upon selecting.\n */\n quickSelectRanges: {\n type: Array as PropType<DateRangePickerCalendarRangeSelectorItems>,\n default: undefined,\n },\n\n /**\n * Set a maximum number of dates to be selectable by the range.\n */\n maxRange: DateRangePickerCalendar.props.maxRange,\n\n /**\n * Number of months rendered on pane\n */\n numberOfMonths: DateRangePickerCalendar.props.numberOfMonths,\n\n /**\n * Selected date\n */\n value: DateRangePickerCalendar.props.value,\n },\n emits: [BentoDateRangePickerEvent.INPUT],\n setup(props, { emit }) {\n const { locale, t } = useI18n<{ message: MessageSchema }>({ messages });\n const locales = { de, enUS, fr };\n const datePickerContainerId = generateUid('bento-date-range-picker-container');\n const labelId = generateUid('bento-date-range-picker-label');\n const descriptionId = generateUid('bento-date-range-picker-description');\n const errorId = generateUid('bento-date-range-picker-error');\n const dateErrorId = generateUid('bento-date-range-picker-date-error');\n const popoverAriaLabel = computed(\n () => props.label || t('dateRangePicker', { name: datePickerContainerId })\n );\n\n const isDateIncorrect = ref(false);\n const inputContainerRef = ref(null);\n const isDateRangePickerOpen = ref(false);\n\n watch(\n () => props.disabled,\n () => {\n // Close date picker popover if it's opened when it's disabled\n if (props.disabled && isDateRangePickerOpen.value) {\n isDateRangePickerOpen.value = false;\n }\n }\n );\n\n const descriptionConditionalClasses = computed(() => ({\n 'b-date-range-picker__description--error': !!props.errorMessage || isDateIncorrect.value,\n }));\n\n const { dateDisplayValue, textInputDisplayValue, formatTextInputDisplayValue } =\n useDateRangePickerCalendarText({\n datePickerValue: toRef(props, 'value'),\n isDateIncorrect,\n });\n\n const ariaDescribedBy = computed(\n () =>\n `${props.description ? descriptionId : ''} ${props.errorMessage ? errorId : ''} ${\n isDateIncorrect.value ? dateErrorId : ''\n }`.trim() || null\n );\n\n const closeDateRangePicker = () => {\n isDateRangePickerOpen.value = false;\n };\n\n const openDateRangePicker = () => {\n isDateRangePickerOpen.value = true;\n formatTextInputDisplayValue();\n };\n\n const onDateRangePickerInput = (selectedRange: BentoDateRangePickerValue) => {\n // Reset the errors when the date is correct\n isDateIncorrect.value = false;\n\n const formatDate = (date: Date) =>\n format(date, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n\n textInputDisplayValue.startDate = formatDate(selectedRange.startDate);\n textInputDisplayValue.endDate = formatDate(selectedRange.endDate);\n emit(BentoDateRangePickerEvent.INPUT, selectedRange);\n };\n\n const clearDateRangePickerValue = async () => {\n if (isDateIncorrect.value) {\n isDateIncorrect.value = false;\n }\n emit(BentoDateRangePickerEvent.INPUT, null);\n };\n\n const onEnterPressedOverInput = () => {\n // Close the date picker if the date is correct\n if (!isDateIncorrect.value) {\n isDateRangePickerOpen.value = false;\n }\n };\n\n const onDateRangePickerFormDateInputUpdate = (dateFormDate: DateRangePickerCalendarFormData) => {\n isDateIncorrect.value = false;\n\n if (dateFormDate.startTime) {\n textInputDisplayValue.startTime = dateFormDate.startTime;\n }\n\n if (dateFormDate.endTime) {\n textInputDisplayValue.endTime = dateFormDate.endTime;\n }\n };\n\n const onDateRangePickerError = dateTextInput => {\n isDateIncorrect.value = true;\n textInputDisplayValue.startDate = dateTextInput.startDate;\n textInputDisplayValue.endDate = dateTextInput.endDate;\n\n // Remove current date range selection\n emit(BentoDateRangePickerEvent.INPUT, { startDate: null, endDate: null });\n };\n\n const onRangeSelectorInput = (quickSelectRanges?: { startDate: Date; endDate: Date }) => {\n if (quickSelectRanges) {\n const formatDate = (date: Date) =>\n format(date, DateFormat.NUMERIC_DATE_YEAR_FIRST, {\n locale: locales[locale.value.substring(0, 2)] || enUS,\n });\n textInputDisplayValue.startDate = formatDate(quickSelectRanges.startDate);\n textInputDisplayValue.endDate = formatDate(quickSelectRanges.endDate);\n emit(BentoDateRangePickerEvent.INPUT, quickSelectRanges);\n }\n };\n\n return {\n // Refs\n inputContainerRef,\n\n // Values,\n dateDisplayValue,\n datePickerContainerId,\n descriptionConditionalClasses,\n isDateIncorrect,\n isDateRangePickerOpen,\n labelId,\n descriptionId,\n dateErrorId,\n errorId,\n popoverAriaLabel,\n ariaDescribedBy,\n textInputDisplayValue,\n\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n BentoPopoverPositions,\n\n // Events\n closeDateRangePicker,\n clearDateRangePickerValue,\n openDateRangePicker,\n onRangeSelectorInput,\n onEnterPressedOverInput,\n onDateRangePickerInput,\n onDateRangePickerError,\n onDateRangePickerFormDateInputUpdate,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./date-range-picker.scss\" />\n"],"names":["setHours","dirtyDate","dirtyHours","requiredArgs","date","toDate","hours","toInteger","setMinutes","dirtyMinutes","minutes","setSeconds","dirtySeconds","seconds","DateRangePickerCalendarEvent","DateRangePickerCalendarEvent2","validDigitRegex","hourRegex","minuteRegex","validateTimeInput","event","selectionStart","isValidKey","isValidColon","formatTimeInputValue","value","formattedValue","secondToLastDigit","lastDigit","FORM_INPUT_DEBOUNCE_TIME","RANGE_SELECTOR_CUSTOM_RANGE_KEY","_sfc_main$1","defineComponent","messages$1","BentoDropdown","BentoInputField","BentoTypography","Calendar","props","emit","slots","locale","t","useI18n","locales","de","enUS","fr","internalRangeDate","reactive","_a","_b","selectedRangeSelectorValue","ref","formInputWrapperConditionalClasses","computed","quickSelectRangeDefaultItems","resetCustomRangeToDefault","formatDate","dateToFormat","format","DateFormat","formatTime","startDateError","endDateError","startTimeError","endTimeError","dateTextInput","onDateInput","selectedDate","isValidTime","timeText","setTimeInDate","time","dateWithTime","isValidDate","dateText","isDateEnabled","onMounted","onStartDateSelected","newStartDate","onEndDateSelected","newEndDate","endOfDay","getDate","keyName","dateProp","validateStartDate","debounce","startDateText","endDate","onStartDateInput","formatDateInputValue","validateEndDate","endDateText","startDate","onEndDateInput","onDateInputKeyDown","validateDateInput","validateStartTime","startTimeText","validateEndTime","endTimeText","onStartTimeInput","onEndTimeInput","onTimeInputKeyDown","onRangeSelectorInput","newCustomRangeValue","foundResult","BentoTypographyElement","useHasSlot","BentoDateRangePickerEvent","BentoDateRangePickerEvent2","useDateRangePickerCalendarText","datePickerValue","isDateIncorrect","dateFormat","textInputDisplayValue","_c","_d","_e","_sfc_main","messages","BentoPopover","DateRangePickerCalendar","DropdownInputDefault","ErrorMessage","BentoClickOutsideDirective","datePickerContainerId","generateUid","labelId","descriptionId","errorId","dateErrorId","popoverAriaLabel","inputContainerRef","isDateRangePickerOpen","watch","descriptionConditionalClasses","dateDisplayValue","formatTextInputDisplayValue","toRef","ariaDescribedBy","BentoTypographyVariant","BentoPopoverPositions","quickSelectRanges","selectedRange","dateFormDate"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i, toRefs as v, computed as r } from "vue";
2
- import { A as f, u as b, B as n, a as y } from "./index.7bbd6611.js";
3
- import { B as c, a as _, b as d } from "./index.e1fcc9e0.js";
2
+ import { A as f, u as b, B as n, a as y } from "./index.3dfea3bd.js";
3
+ import { B as c, a as _, b as d } from "./index.175f9e2d.js";
4
4
  import { n as p } from "./_plugin-vue2_normalizer.71e2aa87.js";
5
5
  import { BentoTag as g } from "../tag.js";
6
6
  import "../assets/listbox-option-tag.css";
@@ -107,4 +107,4 @@ export {
107
107
  N as B,
108
108
  U as L
109
109
  };
110
- //# sourceMappingURL=listbox-option-tag.aae99730.js.map
110
+ //# sourceMappingURL=listbox-option-tag.c7e9a228.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listbox-option-tag.aae99730.js","sources":["../../src/components/internal/avatar/avatar.vue","../../src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue"],"sourcesContent":["<template>\n <div class=\"b-avatar\" :aria-label=\"computedAriaLabel\">\n <avatar-image\n :src=\"src\"\n :username=\"computedUsername\"\n :variant=\"BentoAvatarImageVariant.SMALL\"\n :color=\"avatarColor\"\n />\n <bento-typography\n v-if=\"!iconOnly\"\n class=\"b-avatar__label\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n {{ username }}\n </bento-typography>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, toRefs } from 'vue';\n import { AvatarImage, BentoAvatarImageColor, BentoAvatarImageVariant } from '@/components/avatar-image';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n /**\n * Displays an user profile including an avatar and optionally a label.\n *\n * @example\n * import { BentoUserProfile } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoUserProfile },\n * template: `\n * <bento-user-profile :src=\"userAvatarSrc\" username=\"Jane\" />\n */\n export default defineComponent({\n name: 'bento-avatar',\n components: { AvatarImage, BentoTypography },\n props: {\n /**\n * Displays the user profile without the label.\n */\n iconOnly: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Name of the user that will be used both in the label and to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username: {\n type: String,\n required: true,\n },\n\n /**\n * Image src to load the profile picture.\n */\n src: {\n type: String,\n default: null,\n },\n },\n\n setup(props) {\n const { username } = toRefs(props);\n\n const computedAriaLabel = computed(() => (props.iconOnly ? props.username : null));\n const computedUsername = computed(() => (!props.src ? props.username : null));\n const initials = useInitials(username);\n\n // Returns the UTF-16 char code\n const charCode = computed(() => (initials.value ? initials.value.charCodeAt(0) - 65 : null));\n\n // Returns a computed color based on the letter passed\n const avatarColor = computed(() => {\n const numberOfAlphabetLetters = 26;\n const numberOfColors = Object.keys(BentoAvatarImageColor).length;\n const rangeStep = numberOfAlphabetLetters / numberOfColors;\n\n if (charCode.value <= rangeStep) {\n return BentoAvatarImageColor.YELLOW;\n }\n if (charCode.value <= rangeStep * 2) {\n return BentoAvatarImageColor.BLUE;\n }\n if (charCode.value <= rangeStep * 3) {\n return BentoAvatarImageColor.GREEN;\n }\n return BentoAvatarImageColor.RED;\n });\n\n return {\n // Enums\n BentoAvatarImageVariant,\n BentoTypographyElement,\n BentoTypographyVariant,\n\n // Values\n computedAriaLabel,\n computedUsername,\n avatarColor,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar.scss\" />\n","<template>\n <span class=\"b-listbox-tag-option\">\n <span aria-hidden=\"true\">\n <bento-tag class=\"b-listbox-tag-option__tag\" :label=\"option.value.toString()\" :variant=\"variant\" />\n </span>\n <bento-typography v-if=\"option.label\" :el=\"BentoTypographyElement.SPAN\" class=\"b-listbox-tag-option__label\">\n {{ option.label }}\n </bento-typography>\n </span>\n</template>\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoListboxOptionItem } from '@/types';\n import { BentoTag, BentoTagVariant } from '@/components/tag';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n\n /**\n * A Tag Dropdown option item used in the Dropdown and Filter components.\n */\n export default defineComponent({\n name: 'listbox-tag-option',\n components: {\n BentoTag,\n BentoTypography,\n },\n props: {\n /**\n * The option item that contains all the option item's data.\n * @type {BentoListboxOptionItem}\n */\n option: {\n type: Object as PropType<BentoListboxOptionItem>,\n required: true,\n },\n },\n setup(props) {\n const variant = computed(() => props.option.data as BentoTagVariant);\n\n return {\n // Values\n variant,\n // Enums\n BentoTypographyElement,\n };\n },\n });\n</script>\n<style lang=\"scss\" scoped src=\"./listbox-option-tag.scss\" />\n"],"names":["_sfc_main$1","defineComponent","AvatarImage","BentoTypography","props","username","toRefs","computedAriaLabel","computed","computedUsername","initials","useInitials","charCode","avatarColor","rangeStep","BentoAvatarImageColor","BentoAvatarImageVariant","BentoTypographyElement","BentoTypographyVariant","_sfc_main","BentoTag"],"mappings":";;;;;;AAoCA,MAAAA,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,aAAAC,GAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MASA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,KAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAGA,UAAA,EAAA,UAAAC,EAAA,IAAAC,EAAAF,CAAA,GAEAG,IAAAC,EAAA,MAAAJ,EAAA,WAAAA,EAAA,WAAA,IAAA,GACAK,IAAAD,EAAA,MAAAJ,EAAA,MAAA,OAAAA,EAAA,QAAA,GACAM,IAAAC,EAAAN,CAAA,GAGAO,IAAAJ,EAAA,MAAAE,EAAA,QAAAA,EAAA,MAAA,WAAA,CAAA,IAAA,KAAA,IAAA,GAGAG,IAAAL,EAAA,MAAA;AAGA,YAAAM,IAAA,KADA,OAAA,KAAAC,CAAA,EAAA;AAGA,aAAAH,EAAA,SAAAE,IACAC,EAAA,SAEAH,EAAA,SAAAE,IAAA,IACAC,EAAA,OAEAH,EAAA,SAAAE,IAAA,IACAC,EAAA,QAEAA,EAAA;AAAA,IAAA,CAAA;AAGA,WAAA;AAAA;AAAA,MAAA,yBAAAC;AAAA,MAEA,wBAAAC;AAAA,MACA,wBAAAC;AAAA;AAAA,MACA,mBAAAX;AAAA,MAGA,kBAAAE;AAAA,MACA,aAAAI;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;qBC1FAM,IAAAlB,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,UAAAmB;AAAA,IACA,iBAAAjB;AAAA,EACA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAKA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAIA,WAAA;AAAA;AAAA,MAAA,SAFAI,EAAA,MAAAJ,EAAA,OAAA,IAAA;AAAA;AAAA,MAIA,wBAAAa;AAAA,IAEA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"listbox-option-tag.c7e9a228.js","sources":["../../src/components/internal/avatar/avatar.vue","../../src/components/internal/listbox/components/listbox-option-tag/listbox-option-tag.vue"],"sourcesContent":["<template>\n <div class=\"b-avatar\" :aria-label=\"computedAriaLabel\">\n <avatar-image\n :src=\"src\"\n :username=\"computedUsername\"\n :variant=\"BentoAvatarImageVariant.SMALL\"\n :color=\"avatarColor\"\n />\n <bento-typography\n v-if=\"!iconOnly\"\n class=\"b-avatar__label\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n >\n {{ username }}\n </bento-typography>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, toRefs } from 'vue';\n import { AvatarImage, BentoAvatarImageColor, BentoAvatarImageVariant } from '@/components/avatar-image';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { useInitials } from '@/composables';\n\n /**\n * Displays an user profile including an avatar and optionally a label.\n *\n * @example\n * import { BentoUserProfile } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoUserProfile },\n * template: `\n * <bento-user-profile :src=\"userAvatarSrc\" username=\"Jane\" />\n */\n export default defineComponent({\n name: 'bento-avatar',\n components: { AvatarImage, BentoTypography },\n props: {\n /**\n * Displays the user profile without the label.\n */\n iconOnly: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Name of the user that will be used both in the label and to extract initials to display default value.\n * John => J\n * John Smith => JS\n * John Smith Doe => JD\n * John Smith Doe Holly => JH\n */\n username: {\n type: String,\n required: true,\n },\n\n /**\n * Image src to load the profile picture.\n */\n src: {\n type: String,\n default: null,\n },\n },\n\n setup(props) {\n const { username } = toRefs(props);\n\n const computedAriaLabel = computed(() => (props.iconOnly ? props.username : null));\n const computedUsername = computed(() => (!props.src ? props.username : null));\n const initials = useInitials(username);\n\n // Returns the UTF-16 char code\n const charCode = computed(() => (initials.value ? initials.value.charCodeAt(0) - 65 : null));\n\n // Returns a computed color based on the letter passed\n const avatarColor = computed(() => {\n const numberOfAlphabetLetters = 26;\n const numberOfColors = Object.keys(BentoAvatarImageColor).length;\n const rangeStep = numberOfAlphabetLetters / numberOfColors;\n\n if (charCode.value <= rangeStep) {\n return BentoAvatarImageColor.YELLOW;\n }\n if (charCode.value <= rangeStep * 2) {\n return BentoAvatarImageColor.BLUE;\n }\n if (charCode.value <= rangeStep * 3) {\n return BentoAvatarImageColor.GREEN;\n }\n return BentoAvatarImageColor.RED;\n });\n\n return {\n // Enums\n BentoAvatarImageVariant,\n BentoTypographyElement,\n BentoTypographyVariant,\n\n // Values\n computedAriaLabel,\n computedUsername,\n avatarColor,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./avatar.scss\" />\n","<template>\n <span class=\"b-listbox-tag-option\">\n <span aria-hidden=\"true\">\n <bento-tag class=\"b-listbox-tag-option__tag\" :label=\"option.value.toString()\" :variant=\"variant\" />\n </span>\n <bento-typography v-if=\"option.label\" :el=\"BentoTypographyElement.SPAN\" class=\"b-listbox-tag-option__label\">\n {{ option.label }}\n </bento-typography>\n </span>\n</template>\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoListboxOptionItem } from '@/types';\n import { BentoTag, BentoTagVariant } from '@/components/tag';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n\n /**\n * A Tag Dropdown option item used in the Dropdown and Filter components.\n */\n export default defineComponent({\n name: 'listbox-tag-option',\n components: {\n BentoTag,\n BentoTypography,\n },\n props: {\n /**\n * The option item that contains all the option item's data.\n * @type {BentoListboxOptionItem}\n */\n option: {\n type: Object as PropType<BentoListboxOptionItem>,\n required: true,\n },\n },\n setup(props) {\n const variant = computed(() => props.option.data as BentoTagVariant);\n\n return {\n // Values\n variant,\n // Enums\n BentoTypographyElement,\n };\n },\n });\n</script>\n<style lang=\"scss\" scoped src=\"./listbox-option-tag.scss\" />\n"],"names":["_sfc_main$1","defineComponent","AvatarImage","BentoTypography","props","username","toRefs","computedAriaLabel","computed","computedUsername","initials","useInitials","charCode","avatarColor","rangeStep","BentoAvatarImageColor","BentoAvatarImageVariant","BentoTypographyElement","BentoTypographyVariant","_sfc_main","BentoTag"],"mappings":";;;;;;AAoCA,MAAAA,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,aAAAC,GAAA,iBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,UAAA;AAAA,MASA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,KAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAGA,UAAA,EAAA,UAAAC,EAAA,IAAAC,EAAAF,CAAA,GAEAG,IAAAC,EAAA,MAAAJ,EAAA,WAAAA,EAAA,WAAA,IAAA,GACAK,IAAAD,EAAA,MAAAJ,EAAA,MAAA,OAAAA,EAAA,QAAA,GACAM,IAAAC,EAAAN,CAAA,GAGAO,IAAAJ,EAAA,MAAAE,EAAA,QAAAA,EAAA,MAAA,WAAA,CAAA,IAAA,KAAA,IAAA,GAGAG,IAAAL,EAAA,MAAA;AAGA,YAAAM,IAAA,KADA,OAAA,KAAAC,CAAA,EAAA;AAGA,aAAAH,EAAA,SAAAE,IACAC,EAAA,SAEAH,EAAA,SAAAE,IAAA,IACAC,EAAA,OAEAH,EAAA,SAAAE,IAAA,IACAC,EAAA,QAEAA,EAAA;AAAA,IAAA,CAAA;AAGA,WAAA;AAAA;AAAA,MAAA,yBAAAC;AAAA,MAEA,wBAAAC;AAAA,MACA,wBAAAC;AAAA;AAAA,MACA,mBAAAX;AAAA,MAGA,kBAAAE;AAAA,MACA,aAAAI;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;qBC1FAM,IAAAlB,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,UAAAmB;AAAA,IACA,iBAAAjB;AAAA,EACA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAKA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAIA,WAAA;AAAA;AAAA,MAAA,SAFAI,EAAA,MAAAJ,EAAA,OAAA,IAAA;AAAA;AAAA,MAIA,wBAAAa;AAAA,IAEA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}
@@ -1,13 +1,13 @@
1
- import { computed as c, defineComponent as R, ref as h, onMounted as _e, toRef as be, watch as me } from "vue";
2
- import { B as P, a as $ } from "./index.e1fcc9e0.js";
1
+ import { computed as c, defineComponent as k, ref as h, onMounted as _e, toRef as be, watch as me } from "vue";
2
+ import { B as P, a as $ } from "./index.175f9e2d.js";
3
3
  import { BentoLoadingIndicator as ve } from "../loading-indicator.js";
4
- import { a as fe } from "./button.f64585fc.js";
4
+ import { a as fe } from "./button.c27a7ce2.js";
5
5
  import { u as F } from "./i18n.155748d6.js";
6
6
  import { B as T, a as U, d as ge } from "./debounce.f8d92e44.js";
7
7
  import { n as I } from "./_plugin-vue2_normalizer.71e2aa87.js";
8
- import { B as Y } from "./checkbox.27fae2af.js";
8
+ import { B as Y } from "./checkbox.c06daf12.js";
9
9
  import { C as pe, a as Ee } from "./chevron-down.b851a6da.js";
10
- import { B as ye, a as V } from "./loading-button.f7768964.js";
10
+ import { B as ye, a as V } from "./loading-button.6d34f66f.js";
11
11
  import "../assets/listbox.css";
12
12
  const W = (t, e, l, s) => {
13
13
  const n = c(
@@ -27,8 +27,8 @@ const W = (t, e, l, s) => {
27
27
  }
28
28
  };
29
29
  };
30
- var o = /* @__PURE__ */ ((t) => (t.SELECT = "select", t.SHOW_MORE = "show-more", t.ESCAPE = "escape-pressed", t.CLICK = "click", t.ENTER = "enter-pressed", t.SPACE = "space-pressed", t.TAB = "tab-pressed", t.CLOSE_DROPDOWN = "close-dropdown", t))(o || {}), k = /* @__PURE__ */ ((t) => (t.AUTOMATIC = "automatic", t.BUTTON = "button", t.NONE = "none", t))(k || {});
31
- const xe = R({
30
+ var o = /* @__PURE__ */ ((t) => (t.SELECT = "select", t.SHOW_MORE = "show-more", t.ESCAPE = "escape-pressed", t.CLICK = "click", t.ENTER = "enter-pressed", t.SPACE = "space-pressed", t.TAB = "tab-pressed", t.CLOSE_DROPDOWN = "close-dropdown", t))(o || {}), R = /* @__PURE__ */ ((t) => (t.AUTOMATIC = "automatic", t.BUTTON = "button", t.NONE = "none", t))(R || {});
31
+ const xe = k({
32
32
  name: "bento-listbox-option",
33
33
  props: {
34
34
  /**
@@ -101,7 +101,7 @@ var Ae = function() {
101
101
  null,
102
102
  null
103
103
  );
104
- const Be = Oe.exports, Ie = R({
104
+ const Be = Oe.exports, Ie = k({
105
105
  name: "bento-listbox-single-select-option",
106
106
  components: {
107
107
  BentoListboxOption: w,
@@ -216,7 +216,7 @@ const De = Ne.exports, q = ({ items: t, isOptionDisabled: e }, l) => {
216
216
  moveToNextElement: _,
217
217
  moveToPreviousElement: y
218
218
  };
219
- }, Pe = R({
219
+ }, Pe = k({
220
220
  name: "bento-listbox-single-select",
221
221
  components: {
222
222
  BentoListboxSingleSelectOption: De
@@ -319,7 +319,7 @@ const Fe = {
319
319
  categoryClosed: "{category} closed",
320
320
  categoryOpened: "{category} opened"
321
321
  }
322
- }, Ue = R({
322
+ }, Ue = k({
323
323
  i18n: { messages: Fe },
324
324
  name: "bento-listbox-multi-select-category",
325
325
  components: {
@@ -437,7 +437,7 @@ var Ye = function() {
437
437
  );
438
438
  const Ke = He.exports;
439
439
  var B = /* @__PURE__ */ ((t) => (t.SELECT_CATEGORY = "select-category", t.TOGGLE_CHECKBOX_SELECTION = "toggle-checkbox-selection", t.UNSELECT_CATEGORY = "unselect-category", t))(B || {});
440
- const We = R({
440
+ const We = k({
441
441
  name: "listbox-multi-select-options",
442
442
  components: {
443
443
  BentoCheckbox: Y,
@@ -545,7 +545,7 @@ var qe = function() {
545
545
  return [l("span", { staticClass: "b-listbox-multi-select__option-text" }, [l("bento-typography", { attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(e._s(s.label))]), e.shouldShowDescription(s) ? l("bento-typography", { staticClass: "b-listbox-multi-select__option-description", attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(" " + e._s(s.description) + " ")]) : e._e()], 1)];
546
546
  }, null, s)], 2)]], 2);
547
547
  }), 0);
548
- }, ze = [], Xe = /* @__PURE__ */ I(
548
+ }, ze = [], je = /* @__PURE__ */ I(
549
549
  We,
550
550
  qe,
551
551
  ze,
@@ -555,20 +555,20 @@ var qe = function() {
555
555
  null,
556
556
  null
557
557
  );
558
- const je = Xe.exports, Ze = {
558
+ const Xe = je.exports, Ze = {
559
559
  "en-US": {
560
560
  allSelected: "All selected ({total})",
561
561
  numberOfTotalSelected: "{number} of {total} selected",
562
562
  selectAll: "Select all ({total})"
563
563
  }
564
- }, Je = R({
564
+ }, Je = k({
565
565
  i18n: { messages: Ze },
566
566
  name: "bento-listbox-multi-select",
567
567
  components: {
568
568
  BentoCheckbox: Y,
569
569
  BentoListboxOption: w,
570
570
  BentoTypography: P,
571
- ListboxMultiSelectOptions: je
571
+ ListboxMultiSelectOptions: Xe
572
572
  },
573
573
  directives: { BentoKeyboardNavigationDirective: U },
574
574
  props: {
@@ -665,12 +665,12 @@ const je = Xe.exports, Ze = {
665
665
  L(_.value);
666
666
  }, C = () => {
667
667
  f(_.value);
668
- }, { isAllSelected: E, isIndeterminate: N, toggleSelectAll: X } = W(
668
+ }, { isAllSelected: E, isIndeterminate: N, toggleSelectAll: j } = W(
669
669
  x,
670
670
  p,
671
671
  S,
672
672
  C
673
- ), j = (i) => {
673
+ ), X = (i) => {
674
674
  L(i.items);
675
675
  }, Z = (i) => {
676
676
  f(i.items);
@@ -742,9 +742,9 @@ const je = Xe.exports, Ze = {
742
742
  BentoTypographyElement: $,
743
743
  BentoListboxEvent: o,
744
744
  // Methods
745
- selectAllCategory: j,
745
+ selectAllCategory: X,
746
746
  toggleCheckboxSelection: J,
747
- toggleSelectAll: X,
747
+ toggleSelectAll: j,
748
748
  unselectAllCategory: Z,
749
749
  // Events
750
750
  listboxListeners: de
@@ -793,7 +793,7 @@ const K = tt.exports, st = {
793
793
  showMore: "Show more",
794
794
  loading: "Loading"
795
795
  }
796
- }, lt = R({
796
+ }, lt = k({
797
797
  name: "bento-listbox",
798
798
  components: {
799
799
  BentoListboxSingleSelect: Ge,
@@ -852,7 +852,8 @@ const K = tt.exports, st = {
852
852
  */
853
853
  lazyLoadType: {
854
854
  type: String,
855
- default: k.NONE
855
+ default: R.NONE,
856
+ validator: (t) => Object.values(R).includes(t)
856
857
  },
857
858
  /**
858
859
  * If enabled, the user will be able to select multiple items.
@@ -888,7 +889,7 @@ const K = tt.exports, st = {
888
889
  o.TAB
889
890
  ],
890
891
  setup(t, { emit: e, slots: l }) {
891
- const { t: s } = F(), n = h(null), r = h([]), m = c(() => t.lazyLoadType !== k.AUTOMATIC), u = c(() => t.lazyLoadType === k.AUTOMATIC), d = c(
892
+ const { t: s } = F(), n = h(null), r = h([]), m = c(() => t.lazyLoadType !== R.AUTOMATIC), u = c(() => t.lazyLoadType === R.AUTOMATIC), d = c(
892
893
  () => m.value ? "true" : void 0
893
894
  ), _ = c(
894
895
  () => m.value && t.loading ? "true" : "false"
@@ -905,7 +906,7 @@ const K = tt.exports, st = {
905
906
  var E;
906
907
  return t.searching && ((E = t.items) == null ? void 0 : E.length) === 0;
907
908
  }), L = c(
908
- () => t.lazyLoadType === k.BUTTON && t.hasMoreItems
909
+ () => t.lazyLoadType === R.BUTTON && t.hasMoreItems
909
910
  ), f = c(
910
911
  () => t.loading ? V.LOADING : V.START
911
912
  ), S = c(() => t.loading ? s("loading") : s("showMore")), C = {
@@ -932,7 +933,7 @@ const K = tt.exports, st = {
932
933
  // Enums
933
934
  BentoTypographyElement: $,
934
935
  BentoButtonVariant: fe,
935
- BentoListboxLazyLoadType: k,
936
+ BentoListboxLazyLoadType: R,
936
937
  BentoKeyboardNavigationKeyDownEvent: T,
937
938
  BentoListboxEvent: o,
938
939
  // Methods
@@ -960,7 +961,7 @@ var nt = function() {
960
961
  ot,
961
962
  !1,
962
963
  null,
963
- "60f6cf64",
964
+ "62a0d103",
964
965
  null,
965
966
  null
966
967
  );
@@ -969,6 +970,6 @@ export {
969
970
  gt as B,
970
971
  Be as C,
971
972
  o as a,
972
- k as b
973
+ R as b
973
974
  };
974
- //# sourceMappingURL=listbox.99d23071.js.map
975
+ //# sourceMappingURL=listbox.f51e92cd.js.map