@adyen/bento-vue2 1.68.2 → 1.70.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 (451) hide show
  1. package/README.md +43 -97
  2. package/dist/@types/components.d.ts +1 -0
  3. package/dist/@types/index.d.ts +829 -2056
  4. package/dist/accordion.js +1 -1
  5. package/dist/action-bar.js +1 -1
  6. package/dist/alert.js +1 -1
  7. package/dist/assets/accordion-item.css +1 -1
  8. package/dist/assets/action-bar.css +1 -1
  9. package/dist/assets/alert.css +1 -1
  10. package/dist/assets/base-button.css +1 -1
  11. package/dist/assets/base-modal.css +1 -1
  12. package/dist/assets/button-actions-with-menu.css +1 -1
  13. package/dist/assets/button.css +1 -1
  14. package/dist/assets/calendar.css +1 -1
  15. package/dist/assets/card.css +1 -1
  16. package/dist/assets/checkbox-group.css +1 -1
  17. package/dist/assets/checkbox-input.css +1 -1
  18. package/dist/assets/checkbox.css +1 -1
  19. package/dist/assets/chip.css +1 -1
  20. package/dist/assets/code-snippet.css +1 -1
  21. package/dist/assets/controls-group.css +1 -1
  22. package/dist/assets/copy.css +1 -1
  23. package/dist/assets/country.css +1 -1
  24. package/dist/assets/currency.css +1 -1
  25. package/dist/assets/dashed-underline.css +1 -1
  26. package/dist/assets/data-grid-template.css +1 -1
  27. package/dist/assets/data-grid.css +1 -1
  28. package/dist/assets/date-picker.css +1 -1
  29. package/dist/assets/date-range-picker.css +1 -1
  30. package/dist/assets/dialog-page.css +1 -1
  31. package/dist/assets/divider.css +1 -1
  32. package/dist/assets/dropdown-default-textbox.css +1 -1
  33. package/dist/assets/dropdown-tag.css +1 -1
  34. package/dist/assets/dropdown.css +1 -1
  35. package/dist/assets/empty-state.css +1 -1
  36. package/dist/assets/error-message.css +1 -1
  37. package/dist/assets/file-uploader.css +1 -1
  38. package/dist/assets/filter-bar.css +1 -1
  39. package/dist/assets/focus-trap.css +1 -1
  40. package/dist/assets/footer-actions.css +1 -1
  41. package/dist/assets/form-layout-title.css +1 -1
  42. package/dist/assets/grid-layout.css +1 -1
  43. package/dist/assets/header-meta.css +1 -1
  44. package/dist/assets/header-with-views.css +1 -1
  45. package/dist/assets/header.css +1 -1
  46. package/dist/assets/info-icon.css +1 -1
  47. package/dist/assets/input-field-password.css +1 -1
  48. package/dist/assets/input-field-phone-number.css +1 -1
  49. package/dist/assets/input-field.css +1 -1
  50. package/dist/assets/inspector.css +1 -1
  51. package/dist/assets/layout-row.css +1 -1
  52. package/dist/assets/link.css +1 -1
  53. package/dist/assets/listbox-option-tag.css +1 -1
  54. package/dist/assets/loading-indicator.css +1 -1
  55. package/dist/assets/modal-fullscreen.css +1 -1
  56. package/dist/assets/pagination.css +1 -1
  57. package/dist/assets/payment-method.css +1 -1
  58. package/dist/assets/popper-container.css +1 -1
  59. package/dist/assets/promo-banner.css +1 -1
  60. package/dist/assets/radio-group.css +1 -1
  61. package/dist/assets/radio-input.css +1 -1
  62. package/dist/assets/rich-text-editor.css +1 -1
  63. package/dist/assets/search-bar.css +1 -1
  64. package/dist/assets/secondary-nav.css +1 -1
  65. package/dist/assets/segmented-control.css +1 -1
  66. package/dist/assets/selection-card-group.css +1 -1
  67. package/dist/assets/sidepanel.css +1 -1
  68. package/dist/assets/status.css +1 -1
  69. package/dist/assets/step.css +1 -1
  70. package/dist/assets/structured-list-item.css +1 -1
  71. package/dist/assets/tab.css +1 -1
  72. package/dist/assets/tag.css +1 -1
  73. package/dist/assets/textarea.css +1 -1
  74. package/dist/assets/timeline-item.css +1 -1
  75. package/dist/assets/toast.css +1 -1
  76. package/dist/assets/toggle-button.css +1 -1
  77. package/dist/assets/toggle.css +1 -1
  78. package/dist/assets/tooltip.css +1 -1
  79. package/dist/assets/tutorial.css +1 -1
  80. package/dist/assets/typography.css +1 -1
  81. package/dist/assets/use-cached-selected-values.css +1 -1
  82. package/dist/avatar.js +1 -1
  83. package/dist/button.js +9 -9
  84. package/dist/card.js +1 -1
  85. package/dist/checkbox.js +2 -2
  86. package/dist/chip.js +1 -1
  87. package/dist/chunks/{accordion-item.BNtdoVto.js → accordion-item.CoqaoVnC.js} +3 -3
  88. package/dist/chunks/accordion-item.CoqaoVnC.js.map +1 -0
  89. package/dist/chunks/{action-bar.DQb7WVVd.js → action-bar.LaW4Tzlo.js} +18 -19
  90. package/dist/chunks/action-bar.LaW4Tzlo.js.map +1 -0
  91. package/dist/chunks/{alert.c1rhDDrU.js → alert.CMyL-zWT.js} +17 -17
  92. package/dist/chunks/alert.CMyL-zWT.js.map +1 -0
  93. package/dist/chunks/aria-label.CaUURpnB.js.map +1 -1
  94. package/dist/chunks/{avatar.BgwjpLQO.js → avatar.KdcsNOsm.js} +2 -2
  95. package/dist/chunks/avatar.KdcsNOsm.js.map +1 -0
  96. package/dist/chunks/{base-button.-gx_u8Bd.js → base-button.BB5tkzjh.js} +6 -6
  97. package/dist/chunks/base-button.BB5tkzjh.js.map +1 -0
  98. package/dist/chunks/{base-modal.CkkfT6r6.js → base-modal.D8Rh5NUz.js} +19 -19
  99. package/dist/chunks/base-modal.D8Rh5NUz.js.map +1 -0
  100. package/dist/chunks/bin.Ddb69cr1.js +24 -0
  101. package/dist/chunks/bin.Ddb69cr1.js.map +1 -0
  102. package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js +85 -0
  103. package/dist/chunks/button-actions-with-menu.BDpWI2Fh.js.map +1 -0
  104. package/dist/chunks/button-actions.types.BptAXjD8.js +8 -0
  105. package/dist/chunks/button-actions.types.BptAXjD8.js.map +1 -0
  106. package/dist/chunks/{button.hF-nD1Og.js → button.CilT7NmM.js} +4 -4
  107. package/dist/chunks/button.CilT7NmM.js.map +1 -0
  108. package/dist/chunks/{calendar.DvIQEYwN.js → calendar.DYI4omOF.js} +25 -25
  109. package/dist/chunks/calendar.DYI4omOF.js.map +1 -0
  110. package/dist/chunks/{card.CASAAsuJ.js → card.C5Uub0Fb.js} +20 -19
  111. package/dist/chunks/card.C5Uub0Fb.js.map +1 -0
  112. package/dist/chunks/{checkbox-group.QdX-NrSG.js → checkbox-group.CLYgcDZl.js} +6 -6
  113. package/dist/chunks/checkbox-group.CLYgcDZl.js.map +1 -0
  114. package/dist/chunks/{checkbox-input.CNWigbX4.js → checkbox-input.B0NsfSNR.js} +2 -2
  115. package/dist/chunks/checkbox-input.B0NsfSNR.js.map +1 -0
  116. package/dist/chunks/{checkbox.DCD6SSXC.js → checkbox.lwLS8MMI.js} +6 -6
  117. package/dist/chunks/checkbox.lwLS8MMI.js.map +1 -0
  118. package/dist/chunks/{chip.OV0EWIP3.js → chip.Bfi-ff5E.js} +10 -10
  119. package/dist/chunks/chip.Bfi-ff5E.js.map +1 -0
  120. package/dist/chunks/{code-snippet.dIKi0D7d.js → code-snippet.DsHNr3DK.js} +8 -8
  121. package/dist/chunks/code-snippet.DsHNr3DK.js.map +1 -0
  122. package/dist/chunks/{controls-group.CccuLkgP.js → controls-group.az4jCZQF.js} +30 -27
  123. package/dist/chunks/controls-group.az4jCZQF.js.map +1 -0
  124. package/dist/chunks/{copy.CF8Fzu2Y.js → copy.Cb7gQhU4.js} +15 -15
  125. package/dist/chunks/copy.Cb7gQhU4.js.map +1 -0
  126. package/dist/chunks/{country.melpzEsY.js → country.1yIZNjdj.js} +7 -7
  127. package/dist/chunks/country.1yIZNjdj.js.map +1 -0
  128. package/dist/chunks/country.types.C0Q_hhgJ.js.map +1 -1
  129. package/dist/chunks/{currency.BM9OXTqe.js → currency.MT3baDtO.js} +3 -3
  130. package/dist/chunks/currency.MT3baDtO.js.map +1 -0
  131. package/dist/chunks/{dashboard-section.BIe6eVHq.js → dashboard-section.C6zV9yL-.js} +4 -4
  132. package/dist/chunks/{dashboard-section.BIe6eVHq.js.map → dashboard-section.C6zV9yL-.js.map} +1 -1
  133. package/dist/chunks/{dashed-underline.BbH6Lnd2.js → dashed-underline.Dry6H2zs.js} +12 -13
  134. package/dist/chunks/dashed-underline.Dry6H2zs.js.map +1 -0
  135. package/dist/chunks/{data-grid-template.Co0Ecr79.js → data-grid-template.Dlevchxd.js} +5 -5
  136. package/dist/chunks/data-grid-template.Dlevchxd.js.map +1 -0
  137. package/dist/chunks/{data-grid.erxjh5TN.js → data-grid.CrvFYgjF.js} +1234 -1182
  138. package/dist/chunks/data-grid.CrvFYgjF.js.map +1 -0
  139. package/dist/chunks/{date-picker.DGIS6Pp-.js → date-picker.DPasFJS2.js} +11 -11
  140. package/dist/chunks/date-picker.DPasFJS2.js.map +1 -0
  141. package/dist/chunks/date-range-picker.BIj17geh.js +967 -0
  142. package/dist/chunks/date-range-picker.BIj17geh.js.map +1 -0
  143. package/dist/chunks/{date.BfyWX2PY.js → date.BTdCYdkj.js} +2 -2
  144. package/dist/chunks/{date.BfyWX2PY.js.map → date.BTdCYdkj.js.map} +1 -1
  145. package/dist/chunks/{dialog-page.CLHZqQeU.js → dialog-page.D20YBRQF.js} +9 -9
  146. package/dist/chunks/dialog-page.D20YBRQF.js.map +1 -0
  147. package/dist/chunks/{divider.Cc4JFWG_.js → divider.CFbtmKeQ.js} +6 -6
  148. package/dist/chunks/divider.CFbtmKeQ.js.map +1 -0
  149. package/dist/chunks/{dropdown-default-textbox.94q6opSD.js → dropdown-default-textbox.CDm-PQfc.js} +81 -80
  150. package/dist/chunks/dropdown-default-textbox.CDm-PQfc.js.map +1 -0
  151. package/dist/chunks/dropdown-tag.cmaM8C2X.js +306 -0
  152. package/dist/chunks/dropdown-tag.cmaM8C2X.js.map +1 -0
  153. package/dist/chunks/{dropdown.DazYAy4B.js → dropdown.CEZXrC1C.js} +43 -43
  154. package/dist/chunks/dropdown.CEZXrC1C.js.map +1 -0
  155. package/dist/chunks/{empty-state.mtXfb1BB.js → empty-state.DAbj9xWF.js} +6 -6
  156. package/dist/chunks/empty-state.DAbj9xWF.js.map +1 -0
  157. package/dist/chunks/{error-message.BgxnwPLF.js → error-message.D_QAOG-5.js} +9 -9
  158. package/dist/chunks/{error-message.BgxnwPLF.js.map → error-message.D_QAOG-5.js.map} +1 -1
  159. package/dist/chunks/es6.MoTTyETW.js +12 -0
  160. package/dist/chunks/es6.MoTTyETW.js.map +1 -0
  161. package/dist/chunks/events.CMzGybJJ.js.map +1 -1
  162. package/dist/chunks/{file-uploader.BPslxGI8.js → file-uploader.D2k8GceS.js} +49 -49
  163. package/dist/chunks/file-uploader.D2k8GceS.js.map +1 -0
  164. package/dist/chunks/{filter-bar.DL19SXF1.js → filter-bar.C9suxxv-.js} +310 -316
  165. package/dist/chunks/filter-bar.C9suxxv-.js.map +1 -0
  166. package/dist/chunks/{fixed-scroller.XN-jvWqb.js → fixed-scroller.DDYpO7Li.js} +2 -2
  167. package/dist/chunks/{fixed-scroller.XN-jvWqb.js.map → fixed-scroller.DDYpO7Li.js.map} +1 -1
  168. package/dist/chunks/{focus-trap.C-wIQqpO.js → focus-trap.B4C5TXxl.js} +2 -2
  169. package/dist/chunks/focus-trap.B4C5TXxl.js.map +1 -0
  170. package/dist/chunks/{footer-actions.BE_zzX-e.js → footer-actions.Bbu1_rUb.js} +12 -12
  171. package/dist/chunks/footer-actions.Bbu1_rUb.js.map +1 -0
  172. package/dist/chunks/{form-layout-title.CIynHgCF.js → form-layout-title.aXVuAWiG.js} +5 -5
  173. package/dist/chunks/form-layout-title.aXVuAWiG.js.map +1 -0
  174. package/dist/chunks/{grid-layout.HvTAa4to.js → grid-layout.1aIiz2N_.js} +4 -4
  175. package/dist/chunks/grid-layout.1aIiz2N_.js.map +1 -0
  176. package/dist/chunks/{header-meta.CfloYa86.js → header-meta.Dj742jL5.js} +26 -27
  177. package/dist/chunks/{header-meta.CfloYa86.js.map → header-meta.Dj742jL5.js.map} +1 -1
  178. package/dist/chunks/{header-with-views.BUQ-MlAq.js → header-with-views.Cis2Ixho.js} +160 -164
  179. package/dist/chunks/header-with-views.Cis2Ixho.js.map +1 -0
  180. package/dist/chunks/{header.uyxNdQa3.js → header.Bo2fbjCm.js} +8 -8
  181. package/dist/chunks/header.Bo2fbjCm.js.map +1 -0
  182. package/dist/chunks/image.C2D2hKat.js.map +1 -1
  183. package/dist/chunks/{info-icon.CYOXx8CL.js → info-icon.BWC7gGmM.js} +7 -7
  184. package/dist/chunks/info-icon.BWC7gGmM.js.map +1 -0
  185. package/dist/chunks/info.CcMZ4aGg.js +24 -0
  186. package/dist/chunks/info.CcMZ4aGg.js.map +1 -0
  187. package/dist/chunks/{input-field-password.C1zTapiN.js → input-field-password.D6wAD55v.js} +29 -29
  188. package/dist/chunks/input-field-password.D6wAD55v.js.map +1 -0
  189. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js → input-field-phone-number.CLHuEXO7.js} +12 -11
  190. package/dist/chunks/{input-field-phone-number.K8BYjWfa.js.map → input-field-phone-number.CLHuEXO7.js.map} +1 -1
  191. package/dist/chunks/{input-field.5S-pUNxA.js → input-field.C3KYlPYa.js} +5 -5
  192. package/dist/chunks/input-field.C3KYlPYa.js.map +1 -0
  193. package/dist/chunks/{inspector.BI28vKQz.js → inspector.CH4kvF9q.js} +6 -6
  194. package/dist/chunks/inspector.CH4kvF9q.js.map +1 -0
  195. package/dist/chunks/keyboard-navigation.pB8weElW.js.map +1 -1
  196. package/dist/chunks/{layout-row.C_F2wX6d.js → layout-row.BLGCVZkD.js} +12 -12
  197. package/dist/chunks/layout-row.BLGCVZkD.js.map +1 -0
  198. package/dist/chunks/{link.CXy_LoFI.js → link.C4htMrDV.js} +3 -3
  199. package/dist/chunks/link.C4htMrDV.js.map +1 -0
  200. package/dist/chunks/{listbox-option-tag.D0Cql_R3.js → listbox-option-tag.3zcrQQvI.js} +4 -4
  201. package/dist/chunks/listbox-option-tag.3zcrQQvI.js.map +1 -0
  202. package/dist/chunks/{loading-indicator.z8COalOc.js → loading-indicator.DXc7I1Lm.js} +2 -2
  203. package/dist/chunks/loading-indicator.DXc7I1Lm.js.map +1 -0
  204. package/dist/chunks/minus-small.DJacLGTw.js.map +1 -1
  205. package/dist/chunks/{modal-fullscreen.DHotw1RI.js → modal-fullscreen.DNxrRLZ5.js} +61 -56
  206. package/dist/chunks/modal-fullscreen.DNxrRLZ5.js.map +1 -0
  207. package/dist/chunks/{modal.eoNQ6E3U.js → modal.BjoHqKYF.js} +6 -6
  208. package/dist/chunks/modal.BjoHqKYF.js.map +1 -0
  209. package/dist/chunks/{pagination.4J7ZMyf5.js → pagination.BNjvTjtR.js} +5 -5
  210. package/dist/chunks/pagination.BNjvTjtR.js.map +1 -0
  211. package/dist/chunks/{payment-method.Cx4nPDtE.js → payment-method.DtvfUnit.js} +3 -3
  212. package/dist/chunks/payment-method.DtvfUnit.js.map +1 -0
  213. package/dist/chunks/popover.types.CiUPrUuw.js +6 -0
  214. package/dist/chunks/popover.types.CiUPrUuw.js.map +1 -0
  215. package/dist/chunks/{popper-container.DIFqmRsp.js → popper-container.BRkYcBmL.js} +3 -3
  216. package/dist/chunks/popper-container.BRkYcBmL.js.map +1 -0
  217. package/dist/chunks/{promo-banner.Bbc2U3S3.js → promo-banner.CmkrgQsm.js} +6 -6
  218. package/dist/chunks/promo-banner.CmkrgQsm.js.map +1 -0
  219. package/dist/chunks/{radio-group.4_KKjvAm.js → radio-group.ANbubbQK.js} +14 -12
  220. package/dist/chunks/radio-group.ANbubbQK.js.map +1 -0
  221. package/dist/chunks/{radio-input.uJAhxKRs.js → radio-input.D8mv2EYC.js} +2 -2
  222. package/dist/chunks/radio-input.D8mv2EYC.js.map +1 -0
  223. package/dist/chunks/{rich-text-editor.BUKLdRkN.js → rich-text-editor.DfUK2cie.js} +8 -8
  224. package/dist/chunks/rich-text-editor.DfUK2cie.js.map +1 -0
  225. package/dist/chunks/{search-bar.CuBj5FAE.js → search-bar.B4ln_DGC.js} +6 -5
  226. package/dist/chunks/search-bar.B4ln_DGC.js.map +1 -0
  227. package/dist/chunks/{secondary-nav.C6usurfD.js → secondary-nav.DGRvSeRY.js} +9 -9
  228. package/dist/chunks/secondary-nav.DGRvSeRY.js.map +1 -0
  229. package/dist/chunks/{segmented-control.DHZEfmT-.js → segmented-control.5-G1EwGt.js} +11 -11
  230. package/dist/chunks/segmented-control.5-G1EwGt.js.map +1 -0
  231. package/dist/chunks/{selection-card-group.0o5T4tab.js → selection-card-group.xs_M1a46.js} +10 -10
  232. package/dist/chunks/selection-card-group.xs_M1a46.js.map +1 -0
  233. package/dist/chunks/{sidepanel.DyThBUgV.js → sidepanel.DJAmLLPS.js} +9 -9
  234. package/dist/chunks/sidepanel.DJAmLLPS.js.map +1 -0
  235. package/dist/chunks/{status.types.p_TCvoo0.js → status.types.BpMK-6IT.js} +3 -3
  236. package/dist/chunks/status.types.BpMK-6IT.js.map +1 -0
  237. package/dist/chunks/{step.DMMofD4B.js → step.DwXkOVky.js} +5 -5
  238. package/dist/chunks/step.DwXkOVky.js.map +1 -0
  239. package/dist/chunks/{structured-list-item.Bnn6-Z3q.js → structured-list-item.TPZLf2rC.js} +7 -7
  240. package/dist/chunks/structured-list-item.TPZLf2rC.js.map +1 -0
  241. package/dist/chunks/{summary-grid.types.D_FU3sUq.js → summary-grid.types.Mua4SprI.js} +7 -7
  242. package/dist/chunks/{summary-grid.types.D_FU3sUq.js.map → summary-grid.types.Mua4SprI.js.map} +1 -1
  243. package/dist/chunks/{tab.BhWPBxcB.js → tab.ClkH0GtX.js} +5 -5
  244. package/dist/chunks/tab.ClkH0GtX.js.map +1 -0
  245. package/dist/chunks/{tag.CGkclKVL.js → tag.D1niMJDQ.js} +4 -4
  246. package/dist/chunks/tag.D1niMJDQ.js.map +1 -0
  247. package/dist/chunks/textarea.BNGBZJ3C.js +214 -0
  248. package/dist/chunks/textarea.BNGBZJ3C.js.map +1 -0
  249. package/dist/chunks/timeline-item.DYUON6R3.js +387 -0
  250. package/dist/chunks/timeline-item.DYUON6R3.js.map +1 -0
  251. package/dist/chunks/{toast.BOyeuS19.js → toast.gMDjItrP.js} +5 -5
  252. package/dist/chunks/toast.gMDjItrP.js.map +1 -0
  253. package/dist/chunks/toggle-button.COXDzXWu.js +1031 -0
  254. package/dist/chunks/toggle-button.COXDzXWu.js.map +1 -0
  255. package/dist/chunks/{toggle.DyXL09-x.js → toggle.Ct-5NUGu.js} +8 -8
  256. package/dist/chunks/toggle.Ct-5NUGu.js.map +1 -0
  257. package/dist/chunks/{tooltip.wQsyAwkC.js → tooltip.B2XJl4VK.js} +64 -60
  258. package/dist/chunks/tooltip.B2XJl4VK.js.map +1 -0
  259. package/dist/chunks/{tutorial.CxrGhLS7.js → tutorial.BiGj42TP.js} +29 -31
  260. package/dist/chunks/tutorial.BiGj42TP.js.map +1 -0
  261. package/dist/chunks/{typography.J1v_SPG3.js → typography.hlOAxsEn.js} +9 -9
  262. package/dist/chunks/typography.hlOAxsEn.js.map +1 -0
  263. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js → use-bento-toast-controller.BKHU1qBv.js} +2 -2
  264. package/dist/chunks/{use-bento-toast-controller.Cn_2Eogn.js.map → use-bento-toast-controller.BKHU1qBv.js.map} +1 -1
  265. package/dist/chunks/{use-cached-selected-values.0EeyFfyF.js → use-cached-selected-values.ysbHRJ6L.js} +12 -12
  266. package/dist/chunks/use-cached-selected-values.ysbHRJ6L.js.map +1 -0
  267. package/dist/chunks/{use-country-items.BllTb5MK.js → use-country-items.DFdM2Ank.js} +2 -2
  268. package/dist/chunks/use-country-items.DFdM2Ank.js.map +1 -0
  269. package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js → use-country-phon-code.Bui3zD6W.js} +5 -3
  270. package/dist/chunks/{use-country-phon-code.BOaJ9PDl.js.map → use-country-phon-code.Bui3zD6W.js.map} +1 -1
  271. package/dist/chunks/use-has-slot.C9lQZ6nz.js.map +1 -1
  272. package/dist/chunks/warning-filled.CbJ1pcB2.js +24 -0
  273. package/dist/chunks/warning-filled.CbJ1pcB2.js.map +1 -0
  274. package/dist/code-snippet.js +1 -1
  275. package/dist/country.js +2 -2
  276. package/dist/currency.js +1 -1
  277. package/dist/dashboard-template.js +1 -1
  278. package/dist/dashed-underline.js +1 -1
  279. package/dist/data-grid-template.js +1 -1
  280. package/dist/data-grid.js +1 -1
  281. package/dist/date-picker.js +2 -2
  282. package/dist/date-range-picker.js +2 -2
  283. package/dist/date.js +1 -1
  284. package/dist/divider.js +1 -1
  285. package/dist/dropdown.js +4 -4
  286. package/dist/empty-state.js +1 -1
  287. package/dist/file-uploader.js +1 -1
  288. package/dist/filter-bar.js +1 -1
  289. package/dist/focus-trap.js +1 -1
  290. package/dist/form-layout.js +1 -1
  291. package/dist/header-with-views.js +1 -1
  292. package/dist/header.js +1 -1
  293. package/dist/index.js +225 -227
  294. package/dist/index.js.map +1 -1
  295. package/dist/info-icon.js +1 -1
  296. package/dist/input-field-password.js +1 -1
  297. package/dist/input-field-phone-number.js +3 -2
  298. package/dist/input-field.js +1 -1
  299. package/dist/inspector.js +1 -1
  300. package/dist/internal.js +33 -32
  301. package/dist/internal.js.map +1 -1
  302. package/dist/layout.js +1 -1
  303. package/dist/link.js +1 -1
  304. package/dist/loading-indicator.js +1 -1
  305. package/dist/menu.js +1 -1
  306. package/dist/modal-fullscreen.js +1 -1
  307. package/dist/modal.js +2 -2
  308. package/dist/pagination.js +1 -1
  309. package/dist/payment-method.js +1 -1
  310. package/dist/popover.js +2 -2
  311. package/dist/popper-container.js +1 -1
  312. package/dist/promo-banner.js +1 -1
  313. package/dist/radio-group.js +2 -2
  314. package/dist/rich-text-editor.js +1 -1
  315. package/dist/search-bar.js +2 -2
  316. package/dist/secondary-nav.js +1 -1
  317. package/dist/segmented-control.js +1 -1
  318. package/dist/selection-card.js +1 -1
  319. package/dist/sidepanel.js +1 -1
  320. package/dist/status.js +1 -1
  321. package/dist/stepper.js +1 -1
  322. package/dist/structured-list.js +1 -1
  323. package/dist/styles/bento-dark.css +17 -4
  324. package/dist/styles/bento-light.css +17 -4
  325. package/dist/styles/bento.css +17 -4
  326. package/dist/styles/styleguide.css +17 -4
  327. package/dist/styles/utility.css +3 -0
  328. package/dist/summary-grid.js +1 -1
  329. package/dist/tabs.js +1 -1
  330. package/dist/tag.js +1 -1
  331. package/dist/textarea.js +1 -1
  332. package/dist/timeline.js +1 -1
  333. package/dist/toast.js +1 -1
  334. package/dist/toggle.js +1 -1
  335. package/dist/tutorial.js +1 -1
  336. package/dist/typography.js +1 -1
  337. package/dist/use-form-v4.js.map +1 -1
  338. package/dist/web-types.json +1825 -740
  339. package/package.json +9 -13
  340. package/dist/assets/button-actions.css +0 -1
  341. package/dist/assets/menu.css +0 -1
  342. package/dist/assets/popover.css +0 -1
  343. package/dist/assets/teleport.css +0 -1
  344. package/dist/chunks/accordion-item.BNtdoVto.js.map +0 -1
  345. package/dist/chunks/action-bar.DQb7WVVd.js.map +0 -1
  346. package/dist/chunks/alert.c1rhDDrU.js.map +0 -1
  347. package/dist/chunks/avatar.BgwjpLQO.js.map +0 -1
  348. package/dist/chunks/base-button.-gx_u8Bd.js.map +0 -1
  349. package/dist/chunks/base-modal.CkkfT6r6.js.map +0 -1
  350. package/dist/chunks/base-modal.keys.C2PQXcE2.js +0 -5
  351. package/dist/chunks/base-modal.keys.C2PQXcE2.js.map +0 -1
  352. package/dist/chunks/bin.DLXkAVvw.js +0 -24
  353. package/dist/chunks/bin.DLXkAVvw.js.map +0 -1
  354. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js +0 -83
  355. package/dist/chunks/button-actions-with-menu.nPj7sdGE.js.map +0 -1
  356. package/dist/chunks/button-actions.Ju27CRNG.js +0 -194
  357. package/dist/chunks/button-actions.Ju27CRNG.js.map +0 -1
  358. package/dist/chunks/button.hF-nD1Og.js.map +0 -1
  359. package/dist/chunks/calendar.DvIQEYwN.js.map +0 -1
  360. package/dist/chunks/card.CASAAsuJ.js.map +0 -1
  361. package/dist/chunks/checkbox-group.QdX-NrSG.js.map +0 -1
  362. package/dist/chunks/checkbox-input.CNWigbX4.js.map +0 -1
  363. package/dist/chunks/checkbox.DCD6SSXC.js.map +0 -1
  364. package/dist/chunks/chip.OV0EWIP3.js.map +0 -1
  365. package/dist/chunks/code-snippet.dIKi0D7d.js.map +0 -1
  366. package/dist/chunks/controls-group.CccuLkgP.js.map +0 -1
  367. package/dist/chunks/copy.CF8Fzu2Y.js.map +0 -1
  368. package/dist/chunks/country.melpzEsY.js.map +0 -1
  369. package/dist/chunks/currency.BM9OXTqe.js.map +0 -1
  370. package/dist/chunks/dashed-underline.BbH6Lnd2.js.map +0 -1
  371. package/dist/chunks/data-grid-template.Co0Ecr79.js.map +0 -1
  372. package/dist/chunks/data-grid.erxjh5TN.js.map +0 -1
  373. package/dist/chunks/date-picker.DGIS6Pp-.js.map +0 -1
  374. package/dist/chunks/date-range-picker.CIaKRXIQ.js +0 -1021
  375. package/dist/chunks/date-range-picker.CIaKRXIQ.js.map +0 -1
  376. package/dist/chunks/dialog-page.CLHZqQeU.js.map +0 -1
  377. package/dist/chunks/divider.Cc4JFWG_.js.map +0 -1
  378. package/dist/chunks/dropdown-default-textbox.94q6opSD.js.map +0 -1
  379. package/dist/chunks/dropdown-tag.BaosvGGZ.js +0 -240
  380. package/dist/chunks/dropdown-tag.BaosvGGZ.js.map +0 -1
  381. package/dist/chunks/dropdown.DazYAy4B.js.map +0 -1
  382. package/dist/chunks/empty-state.mtXfb1BB.js.map +0 -1
  383. package/dist/chunks/es6.n1ewaW31.js +0 -11
  384. package/dist/chunks/es6.n1ewaW31.js.map +0 -1
  385. package/dist/chunks/file-uploader.BPslxGI8.js.map +0 -1
  386. package/dist/chunks/filter-bar.DL19SXF1.js.map +0 -1
  387. package/dist/chunks/focus-trap.C-wIQqpO.js.map +0 -1
  388. package/dist/chunks/footer-actions.BE_zzX-e.js.map +0 -1
  389. package/dist/chunks/form-layout-title.CIynHgCF.js.map +0 -1
  390. package/dist/chunks/grid-layout.HvTAa4to.js.map +0 -1
  391. package/dist/chunks/header-with-views.BUQ-MlAq.js.map +0 -1
  392. package/dist/chunks/header.uyxNdQa3.js.map +0 -1
  393. package/dist/chunks/info-icon.CYOXx8CL.js.map +0 -1
  394. package/dist/chunks/info.CszJ0kMi.js +0 -24
  395. package/dist/chunks/info.CszJ0kMi.js.map +0 -1
  396. package/dist/chunks/input-field-password.C1zTapiN.js.map +0 -1
  397. package/dist/chunks/input-field.5S-pUNxA.js.map +0 -1
  398. package/dist/chunks/inspector.BI28vKQz.js.map +0 -1
  399. package/dist/chunks/layout-row.C_F2wX6d.js.map +0 -1
  400. package/dist/chunks/link.CXy_LoFI.js.map +0 -1
  401. package/dist/chunks/listbox-option-tag.D0Cql_R3.js.map +0 -1
  402. package/dist/chunks/loading-indicator.z8COalOc.js.map +0 -1
  403. package/dist/chunks/menu.D0OQgk40.js +0 -515
  404. package/dist/chunks/menu.D0OQgk40.js.map +0 -1
  405. package/dist/chunks/modal-fullscreen.DHotw1RI.js.map +0 -1
  406. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js +0 -5
  407. package/dist/chunks/modal-fullscreen.keys.CMba3hYp.js.map +0 -1
  408. package/dist/chunks/modal.eoNQ6E3U.js.map +0 -1
  409. package/dist/chunks/pagination.4J7ZMyf5.js.map +0 -1
  410. package/dist/chunks/payment-method.Cx4nPDtE.js.map +0 -1
  411. package/dist/chunks/popover.Bo4Bkudr.js +0 -145
  412. package/dist/chunks/popover.Bo4Bkudr.js.map +0 -1
  413. package/dist/chunks/popover.types.CBqyA4ly.js +0 -6
  414. package/dist/chunks/popover.types.CBqyA4ly.js.map +0 -1
  415. package/dist/chunks/popper-container.DIFqmRsp.js.map +0 -1
  416. package/dist/chunks/promo-banner.Bbc2U3S3.js.map +0 -1
  417. package/dist/chunks/radio-group.4_KKjvAm.js.map +0 -1
  418. package/dist/chunks/radio-input.uJAhxKRs.js.map +0 -1
  419. package/dist/chunks/rich-text-editor.BUKLdRkN.js.map +0 -1
  420. package/dist/chunks/search-bar.CuBj5FAE.js.map +0 -1
  421. package/dist/chunks/secondary-nav.C6usurfD.js.map +0 -1
  422. package/dist/chunks/segmented-control.DHZEfmT-.js.map +0 -1
  423. package/dist/chunks/selection-card-group.0o5T4tab.js.map +0 -1
  424. package/dist/chunks/sidepanel.DyThBUgV.js.map +0 -1
  425. package/dist/chunks/sidepanel.keys.R0DKQuYx.js +0 -5
  426. package/dist/chunks/sidepanel.keys.R0DKQuYx.js.map +0 -1
  427. package/dist/chunks/status.types.p_TCvoo0.js.map +0 -1
  428. package/dist/chunks/step.DMMofD4B.js.map +0 -1
  429. package/dist/chunks/structured-list-item.Bnn6-Z3q.js.map +0 -1
  430. package/dist/chunks/tab.BhWPBxcB.js.map +0 -1
  431. package/dist/chunks/tag.CGkclKVL.js.map +0 -1
  432. package/dist/chunks/teleport.BV6zrDjA.js +0 -128
  433. package/dist/chunks/teleport.BV6zrDjA.js.map +0 -1
  434. package/dist/chunks/textarea.UPM6N9V1.js +0 -203
  435. package/dist/chunks/textarea.UPM6N9V1.js.map +0 -1
  436. package/dist/chunks/timeline-item.DqLhj0Lb.js +0 -385
  437. package/dist/chunks/timeline-item.DqLhj0Lb.js.map +0 -1
  438. package/dist/chunks/toast.BOyeuS19.js.map +0 -1
  439. package/dist/chunks/toggle-button.DEVVvpkw.js +0 -83
  440. package/dist/chunks/toggle-button.DEVVvpkw.js.map +0 -1
  441. package/dist/chunks/toggle.DyXL09-x.js.map +0 -1
  442. package/dist/chunks/tooltip.wQsyAwkC.js.map +0 -1
  443. package/dist/chunks/tutorial.CxrGhLS7.js.map +0 -1
  444. package/dist/chunks/typography.J1v_SPG3.js.map +0 -1
  445. package/dist/chunks/use-cached-selected-values.0EeyFfyF.js.map +0 -1
  446. package/dist/chunks/use-click-outside.BnhTgpSt.js +0 -14
  447. package/dist/chunks/use-click-outside.BnhTgpSt.js.map +0 -1
  448. package/dist/chunks/use-country-items.BllTb5MK.js.map +0 -1
  449. package/dist/chunks/warning-filled.tWOyLUQT.js +0 -24
  450. package/dist/chunks/warning-filled.tWOyLUQT.js.map +0 -1
  451. package/dist/styles/legacy.css +0 -2226
@@ -1,203 +0,0 @@
1
- import { defineComponent as ee, useAttrs as ae, toRefs as F, ref as p, toRef as te, computed as u, watch as A, nextTick as le, onMounted as re, onUnmounted as oe } from "vue";
2
- import { B as se } from "./button.hF-nD1Og.js";
3
- import { B as ne } from "./typography.J1v_SPG3.js";
4
- import { C as ie } from "./cross-circle-fill-small.DfxDedRr.js";
5
- import { g as ue } from "./generate-uid.NJ8tVoha.js";
6
- import { o as H } from "./resize.Bqks3WUm.js";
7
- import { u as ce } from "./aria-label.CaUURpnB.js";
8
- import { u as de } from "./i18n.BQkEbtPM.js";
9
- import { u as pe } from "./use-form-layout-loading.D3lALhtC.js";
10
- import { F as fe, E as be } from "./error-message.BgxnwPLF.js";
11
- import { n as ye } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
12
- import "../assets/textarea.css";
13
- var I = /* @__PURE__ */ ((t) => (t.HORIZONTAL = "horizontal", t.VERTICAL = "vertical", t.BOTH = "both", t.NONE = "none", t))(I || {}), f = /* @__PURE__ */ ((t) => (t.CLEARABLE = "clearable", t.DISABLED = "disabled", t.ERROR = "error", t.READONLY = "readonly", t))(f || {}), i = /* @__PURE__ */ ((t) => (t.BLUR = "blur", t.CHANGE = "change", t.CLEAR = "clear", t.ESCAPE_PRESSED = "escape-pressed", t.FOCUS = "focus", t.INPUT = "input", t.KEYDOWN = "keydown", t.KEYUP = "keyup", t))(i || {});
14
- const _e = {
15
- "en-US": {
16
- clearText: "Clear text",
17
- textarea: "textarea",
18
- yourTextCanBenAtMost: "Your text can be at most {characterLimit} characters"
19
- }
20
- }, he = {
21
- i18n: { messages: _e },
22
- name: "bento-textarea"
23
- }, me = /* @__PURE__ */ ee({
24
- ...he,
25
- props: {
26
- /**
27
- * Text that labels an the input element
28
- */
29
- ariaLabel: { type: String, default: void 0 },
30
- /**
31
- * Text that shows number of characters in textarea
32
- */
33
- characterLimit: { type: Number, default: void 0 },
34
- /**
35
- * Text displayed as the help text of the textarea
36
- */
37
- description: { type: String, default: "" },
38
- /**
39
- * Disables the possibility of changing value in the textarea
40
- */
41
- disabled: { type: Boolean, default: !1 },
42
- /**
43
- * If set to true, shows a button to clear all the text
44
- */
45
- clearable: { type: Boolean, default: !1 },
46
- /**
47
- * Adds error text
48
- */
49
- errorMessage: { type: String, default: "" },
50
- /**
51
- * Sets the height of the textarea, e.g 200px OR 20vh
52
- */
53
- height: { type: String, default: null },
54
- /**
55
- * Text displayed as the label of the textarea
56
- */
57
- label: { type: String, default: "" },
58
- /**
59
- * Highlights the textarea is optional.
60
- */
61
- optional: { type: Boolean, default: !1 },
62
- /**
63
- * Text displayed as the placeholder of the textarea
64
- */
65
- placeholder: { type: String, default: "" },
66
- /**
67
- * Set the textarea to read only state.
68
- */
69
- readonly: { type: Boolean, default: !1 },
70
- /**
71
- * Indicates the possibility of resize the textarea
72
- */
73
- resizable: {
74
- type: String,
75
- default: I.BOTH,
76
- validator: (t) => Object.values(I).includes(t)
77
- },
78
- /**
79
- * Highlights the textarea is required.
80
- */
81
- required: { type: Boolean, default: !1 },
82
- /**
83
- * Adds a info icon next to the label to display the passed tooltip message.
84
- */
85
- tooltipText: { type: String, default: null },
86
- /**
87
- * Text displayed as the value of the textarea
88
- */
89
- value: { type: String, default: "" }
90
- },
91
- emits: [],
92
- setup(t, { expose: a, emit: l }) {
93
- const e = t, o = ae(), { height: c } = F(e), N = ue("textarea"), s = p(null), b = p(null), n = p(e.value), m = 44, y = p(e.height || `${m}px`), C = p("100%");
94
- let _ = null, h = null;
95
- const { t: R, n: x } = de(), { isReadOnly: v } = pe(te(e, "readonly")), D = u(() => {
96
- var r;
97
- return `${x(((r = n == null ? void 0 : n.value) == null ? void 0 : r.length) ?? 0)} / ${x(e.characterLimit)}`;
98
- }), L = u(
99
- () => e.characterLimit && n.value.length > e.characterLimit
100
- ), g = () => {
101
- s.value && s.value.scrollHeight > m && (y.value = `${s.value.scrollHeight + 3}px`);
102
- };
103
- A(c, () => {
104
- c.value ? y.value = c.value : g();
105
- }), A(
106
- () => e.value,
107
- () => {
108
- n.value = e.value;
109
- },
110
- { immediate: !0 }
111
- ), A(
112
- () => n.value,
113
- async () => {
114
- var r, d;
115
- if (!c.value && (!s.value || ((r = s.value) == null ? void 0 : r.scrollHeight) > ((d = s.value) == null ? void 0 : d.clientHeight))) {
116
- if (y.value = `${m}px`, !n.value)
117
- return;
118
- await le(), g();
119
- }
120
- },
121
- { immediate: !0 }
122
- );
123
- const S = u(() => !!e.errorMessage || L.value), W = u(() => ({
124
- [`b-textarea--${f.DISABLED}`]: e.disabled
125
- })), T = u(() => ({
126
- [`b-textarea__input--${f.CLEARABLE}`]: e.clearable,
127
- [`b-textarea__input--${f.READONLY}`]: v.value,
128
- [`b-textarea__input--${f.ERROR}`]: S.value,
129
- "b-textarea__input--dynamic-height": !c.value
130
- })), w = u(() => ({
131
- "b-textarea__label-box--no-label": !e.label
132
- })), M = u(() => ({
133
- [`b-textarea__label-item--${f.ERROR}`]: L.value
134
- })), K = u(() => R("yourTextCanBenAtMost", { characterLimit: e.characterLimit })), k = p(o["aria-label"]), { ariaLabel: B, label: O } = F(e), Y = ce({
135
- ariaLabel: k.value,
136
- // TODO: take this line away when the aria-label props is removed
137
- label: B,
138
- defaultFallback: O
139
- }), q = u(
140
- () => e.clearable && n.value && !e.disabled && !v.value
141
- ), z = () => {
142
- n.value = "", l(i.CLEAR), l(i.INPUT, "");
143
- }, $ = (r) => {
144
- r.stopImmediatePropagation(), !e.disabled && !v.value && (n.value = r.target.value, l(i.INPUT, n.value));
145
- }, G = () => {
146
- s.value.scrollTop = 0, l(i.BLUR);
147
- }, j = () => {
148
- s.value.focus(), l(i.FOCUS);
149
- }, V = () => {
150
- l(i.CHANGE);
151
- }, Z = () => {
152
- l(i.ESCAPE_PRESSED);
153
- }, J = (r) => {
154
- r.stopPropagation(), l(i.KEYDOWN, r);
155
- }, Q = (r) => {
156
- r.stopPropagation(), l(i.KEYUP, r);
157
- }, E = (r = !1) => {
158
- var U;
159
- const d = s.value.style.width;
160
- if (s.value.style.height && (y.value = s.value.style.height), r && !d)
161
- return;
162
- const X = (U = b == null ? void 0 : b.value) == null ? void 0 : U.offsetWidth;
163
- !d || parseInt(d, 10) > X ? C.value = "100%" : C.value = d;
164
- }, P = () => {
165
- s.value.focus();
166
- };
167
- return a({
168
- focus: P
169
- }), re(() => {
170
- _ = H(s.value, () => {
171
- E(!0);
172
- }), h = H(b.value, () => {
173
- E();
174
- }), c.value || g();
175
- }), oe(() => {
176
- _ == null || _.disconnect(), h == null || h.disconnect();
177
- }), { __sfc: !0, attrs: o, props: e, emit: l, height: c, textareaId: N, textareaElement: s, textareaComponent: b, textareaValue: n, defaultTextareaHeight: m, textareaHeight: y, textareaWrapperWidth: C, textareaElementObserver: _, textareaComponentObserver: h, t: R, n: x, isReadOnly: v, counter: D, isOverCharacterLimit: L, calculateHeight: g, invalidInput: S, conditionalClasses: W, conditionalClassesInput: T, conditionalClassesLabelBox: w, conditionalClassesLabelItem: M, counterErrorText: K, ariaLabelAttribute: k, ariaLabel: B, label: O, computedAriaLabel: Y, showClearButton: q, onClear: z, onInput: $, onBlur: G, onFocus: j, onChange: V, onPressEscape: Z, onKeyDown: J, onKeyUp: Q, resizeTextareaWrapper: E, focus: P, BentoButton: se, BentoTypography: ne, ErrorMessage: be, FieldLabel: fe, CrossCircleFillSmallIcon: ie };
178
- }
179
- });
180
- var ve = function() {
181
- var a = this, l = a._self._c, e = a._self._setupProxy;
182
- return l("div", { ref: "textareaComponent", staticClass: "b-textarea", class: e.conditionalClasses }, [l("div", { style: { width: e.textareaWrapperWidth } }, [l("div", { staticClass: "b-textarea__label-box", class: e.conditionalClassesLabelBox }, [e.label ? l(e.FieldLabel, { attrs: { for: e.textareaId, label: e.label, "tooltip-text": a.tooltipText, optional: a.optional, required: a.required } }) : a._e(), a.characterLimit ? l(e.BentoTypography, { staticClass: "b-textarea__label-item", class: e.conditionalClassesLabelItem, attrs: { el: "span" } }, [a._v(" " + a._s(e.counter) + " ")]) : a._e()], 1), l(e.BentoTypography, { staticClass: "b-textarea__input-box", attrs: { el: "div", "aria-disabled": a.disabled } }, [l("textarea", { ref: "textareaElement", staticClass: "b-textarea__input", class: e.conditionalClassesInput, style: { resize: a.resizable, height: e.textareaHeight }, attrs: { id: e.textareaId, "aria-label": e.computedAriaLabel, "aria-invalid": e.invalidInput, readonly: e.isReadOnly, required: a.required, disabled: a.disabled, placeholder: a.placeholder }, domProps: { value: e.textareaValue }, on: { blur: e.onBlur, change: e.onChange, focus: e.onFocus, input: e.onInput, keydown: [function(o) {
183
- return !o.type.indexOf("key") && a._k(o.keyCode, "esc", 27, o.key, ["Esc", "Escape"]) ? null : e.onPressEscape.apply(null, arguments);
184
- }, e.onKeyDown], keyup: e.onKeyUp } }), e.showClearButton ? l("div", { staticClass: "b-textarea__clear-button" }, [l(e.BentoButton, { attrs: { variant: "tertiary", disabled: a.disabled }, on: { click: e.onClear, keypress: function(o) {
185
- return !o.type.indexOf("key") && a._k(o.keyCode, "enter", 13, o.key, "Enter") ? null : e.onClear.apply(null, arguments);
186
- }, keyup: function(o) {
187
- return !o.type.indexOf("key") && a._k(o.keyCode, "space", 32, o.key, [" ", "Spacebar"]) ? null : e.onClear.apply(null, arguments);
188
- } }, scopedSlots: a._u([{ key: "iconLeft", fn: function() {
189
- return [l(e.CrossCircleFillSmallIcon, { attrs: { "svg-title": e.t("clearText") } })];
190
- }, proxy: !0 }], null, !1, 3119266621) })], 1) : a._e()]), e.isOverCharacterLimit ? l(e.ErrorMessage, { attrs: { "error-message": e.counterErrorText } }) : a._e(), a.errorMessage ? l(e.ErrorMessage, { attrs: { "error-message": a.errorMessage } }) : a._e(), a.description ? l(e.BentoTypography, { staticClass: "b-textarea__description", attrs: { el: "span" } }, [a._v(" " + a._s(a.description) + " ")]) : a._e()], 1)]);
191
- }, ge = [], Ce = /* @__PURE__ */ ye(
192
- me,
193
- ve,
194
- ge,
195
- !1,
196
- null,
197
- "29dae93f"
198
- );
199
- const Ue = Ce.exports;
200
- export {
201
- Ue as B
202
- };
203
- //# sourceMappingURL=textarea.UPM6N9V1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea.UPM6N9V1.js","sources":["../../src/components/textarea/textarea.types.ts","../../src/components/textarea/textarea.vue"],"sourcesContent":["/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoTextareaResizeOption {\n HORIZONTAL = 'horizontal',\n VERTICAL = 'vertical',\n BOTH = 'both',\n NONE = 'none',\n}\n\nexport enum BentoTextareaStateClass {\n CLEARABLE = 'clearable',\n DISABLED = 'disabled',\n ERROR = 'error',\n READONLY = 'readonly',\n}\n\nexport enum BentoTextareaEvent {\n BLUR = 'blur',\n CHANGE = 'change',\n CLEAR = 'clear',\n ESCAPE_PRESSED = 'escape-pressed',\n FOCUS = 'focus',\n INPUT = 'input',\n KEYDOWN = 'keydown',\n KEYUP = 'keyup',\n}\n","<template>\n <div ref=\"textareaComponent\" class=\"b-textarea\" :class=\"conditionalClasses\">\n <div :style=\"{ width: textareaWrapperWidth }\">\n <div class=\"b-textarea__label-box\" :class=\"conditionalClassesLabelBox\">\n <field-label\n v-if=\"label\"\n :for=\"textareaId\"\n :label=\"label\"\n :tooltip-text=\"tooltipText\"\n :optional=\"optional\"\n :required=\"required\"\n />\n <bento-typography\n v-if=\"characterLimit\"\n el=\"span\"\n class=\"b-textarea__label-item\"\n :class=\"conditionalClassesLabelItem\"\n >\n {{ counter }}\n </bento-typography>\n </div>\n <bento-typography el=\"div\" class=\"b-textarea__input-box\" :aria-disabled=\"disabled\">\n <textarea\n :id=\"textareaId\"\n ref=\"textareaElement\"\n :value=\"textareaValue\"\n class=\"b-textarea__input\"\n :class=\"conditionalClassesInput\"\n :aria-label=\"computedAriaLabel\"\n :aria-invalid=\"invalidInput\"\n :readonly=\"isReadOnly\"\n :required=\"required\"\n :disabled=\"disabled\"\n :placeholder=\"placeholder\"\n :style=\"{ resize: resizable, height: textareaHeight }\"\n @blur=\"onBlur\"\n @change=\"onChange\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n @keydown.esc=\"onPressEscape\"\n @keydown=\"onKeyDown\"\n @keyup=\"onKeyUp\"\n >\n </textarea>\n\n <div v-if=\"showClearButton\" class=\"b-textarea__clear-button\">\n <bento-button\n variant=\"tertiary\"\n :disabled=\"disabled\"\n @click=\"onClear\"\n @keypress.enter=\"onClear\"\n @keyup.space=\"onClear\"\n >\n <template #iconLeft>\n <cross-circle-fill-small-icon :svg-title=\"t('clearText')\" />\n </template>\n </bento-button>\n </div>\n </bento-typography>\n\n <error-message v-if=\"isOverCharacterLimit\" :error-message=\"counterErrorText\" />\n\n <error-message v-if=\"errorMessage\" :error-message=\"errorMessage\" />\n\n <bento-typography v-if=\"description\" class=\"b-textarea__description\" el=\"span\">\n {{ description }}\n </bento-typography>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, onMounted, onUnmounted, PropType, ref, toRef, toRefs, useAttrs, watch } from 'vue';\n\n // Components\n import { BentoButton } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n import { ErrorMessage, FieldLabel } from '@/internal';\n import CrossCircleFillSmallIcon from '@adyen/ui-assets-icons-16/vue/cross-circle-fill-small';\n\n // Utils\n import { generateUid } from '@/core/utils/ts';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import { useAriaLabel } from '@/utils/ts/aria-label';\n import { useI18n } from '@/utils/ts/i18n';\n\n // Composables\n import { useFormLayoutFieldLoading } from '@/composables/use-form-layout-loading/use-form-layout-loading';\n\n // Types\n import { BentoTextareaEvent, BentoTextareaResizeOption, BentoTextareaStateClass } from './textarea.types';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const attrs = useAttrs();\n\n const props = defineProps({\n /**\n * Text that labels an the input element\n */\n ariaLabel: { type: String, default: undefined },\n\n /**\n * Text that shows number of characters in textarea\n */\n characterLimit: { type: Number, default: undefined },\n\n /**\n * Text displayed as the help text of the textarea\n */\n description: { type: String, default: '' },\n\n /**\n * Disables the possibility of changing value in the textarea\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * If set to true, shows a button to clear all the text\n */\n clearable: { type: Boolean, default: false },\n\n /**\n * Adds error text\n */\n errorMessage: { type: String, default: '' },\n\n /**\n * Sets the height of the textarea, e.g 200px OR 20vh\n */\n height: { type: String, default: null },\n\n /**\n * Text displayed as the label of the textarea\n */\n label: { type: String, default: '' },\n\n /**\n * Highlights the textarea is optional.\n */\n optional: { type: Boolean, default: false },\n\n /**\n * Text displayed as the placeholder of the textarea\n */\n placeholder: { type: String, default: '' },\n\n /**\n * Set the textarea to read only state.\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * Indicates the possibility of resize the textarea\n */\n resizable: {\n type: String as PropType<BentoTextareaResizeOption | `${BentoTextareaResizeOption}`>,\n default: BentoTextareaResizeOption.BOTH,\n validator: (value: BentoTextareaResizeOption) => Object.values(BentoTextareaResizeOption).includes(value),\n },\n\n /**\n * Highlights the textarea is required.\n */\n required: { type: Boolean, default: false },\n\n /**\n * Adds a info icon next to the label to display the passed tooltip message.\n */\n tooltipText: { type: String, default: null },\n\n /**\n * Text displayed as the value of the textarea\n */\n value: { type: String, default: '' },\n });\n\n const emit = defineEmits([]);\n\n const { height } = toRefs(props);\n\n const textareaId = generateUid('textarea');\n const textareaElement = ref<HTMLTextAreaElement>(null);\n const textareaComponent = ref<HTMLDivElement>(null);\n const textareaValue = ref(props.value);\n const defaultTextareaHeight = 44;\n const textareaHeight = ref(props.height || `${defaultTextareaHeight}px`);\n const textareaWrapperWidth = ref('100%'); // The width set to the wrapper of the label, textarea and description\n let textareaElementObserver: ResizeObserver | null = null;\n let textareaComponentObserver: ResizeObserver | null = null;\n\n const { t, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const { isReadOnly } = useFormLayoutFieldLoading(toRef(props, 'readonly'));\n\n const counter = computed(() => `${n(textareaValue?.value?.length ?? 0)} / ${n(props.characterLimit)}`);\n const isOverCharacterLimit = computed(\n () => props.characterLimit && textareaValue.value.length > props.characterLimit\n );\n\n const calculateHeight = () => {\n const borderWidth = 3;\n if (textareaElement.value && textareaElement.value.scrollHeight > defaultTextareaHeight) {\n textareaHeight.value = `${textareaElement.value.scrollHeight + borderWidth}px`;\n }\n };\n\n watch(height, () => {\n if (!height.value) {\n calculateHeight();\n } else {\n textareaHeight.value = height.value;\n }\n });\n\n watch(\n () => props.value,\n () => {\n textareaValue.value = props.value;\n },\n { immediate: true }\n );\n\n watch(\n () => textareaValue.value,\n async () => {\n // Auto-adjust height if the text area is overflowing\n if (\n !height.value &&\n (!textareaElement.value || textareaElement.value?.scrollHeight > textareaElement.value?.clientHeight)\n ) {\n // Hack to make the textarea calculate its height properly\n // Set the textarea back to the original value before calculating the height\n textareaHeight.value = `${defaultTextareaHeight}px`;\n if (!textareaValue.value) {\n return;\n }\n\n await nextTick();\n calculateHeight();\n }\n },\n { immediate: true }\n );\n\n const invalidInput = computed(() => !!props.errorMessage || isOverCharacterLimit.value);\n\n const conditionalClasses = computed(() => ({\n [`b-textarea--${BentoTextareaStateClass.DISABLED}`]: props.disabled,\n }));\n\n const conditionalClassesInput = computed(() => ({\n [`b-textarea__input--${BentoTextareaStateClass.CLEARABLE}`]: props.clearable,\n [`b-textarea__input--${BentoTextareaStateClass.READONLY}`]: isReadOnly.value,\n [`b-textarea__input--${BentoTextareaStateClass.ERROR}`]: invalidInput.value,\n [`b-textarea__input--dynamic-height`]: !height.value,\n }));\n\n const conditionalClassesLabelBox = computed(() => ({\n [`b-textarea__label-box--no-label`]: !props.label,\n }));\n\n const conditionalClassesLabelItem = computed(() => ({\n [`b-textarea__label-item--${BentoTextareaStateClass.ERROR}`]: isOverCharacterLimit.value,\n }));\n\n const counterErrorText = computed(() => t('yourTextCanBenAtMost', { characterLimit: props.characterLimit }));\n\n const ariaLabelAttribute = ref(attrs['aria-label']);\n const { ariaLabel, label } = toRefs(props);\n const computedAriaLabel = useAriaLabel({\n ariaLabel: ariaLabelAttribute.value as string,\n // TODO: take this line away when the aria-label props is removed\n label: ariaLabel,\n defaultFallback: label,\n });\n\n const showClearButton = computed(\n () => props.clearable && textareaValue.value && !props.disabled && !isReadOnly.value\n );\n\n const onClear = () => {\n textareaValue.value = '';\n emit(BentoTextareaEvent.CLEAR);\n emit(BentoTextareaEvent.INPUT, '');\n };\n\n const onInput = (event: InputEvent) => {\n event.stopImmediatePropagation();\n\n if (!props.disabled && !isReadOnly.value) {\n textareaValue.value = (event.target as HTMLInputElement).value;\n /**\n * Triggered when input value is changed\n *\n * @event input\n * @property {String} inputValue - the updated textarea value\n */\n emit(BentoTextareaEvent.INPUT, textareaValue.value);\n }\n };\n\n const onBlur = () => {\n textareaElement.value.scrollTop = 0;\n emit(BentoTextareaEvent.BLUR);\n };\n\n const onFocus = () => {\n textareaElement.value.focus();\n emit(BentoTextareaEvent.FOCUS);\n };\n\n const onChange = () => {\n emit(BentoTextareaEvent.CHANGE);\n };\n\n const onPressEscape = () => {\n emit(BentoTextareaEvent.ESCAPE_PRESSED);\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n event.stopPropagation();\n emit(BentoTextareaEvent.KEYDOWN, event);\n };\n\n const onKeyUp = (event: KeyboardEvent) => {\n event.stopPropagation();\n emit(BentoTextareaEvent.KEYUP, event);\n };\n\n /**\n * Updates the textarea width depending if the container or the user update its size.\n * @param isTextareaElement - sets to true if the element being observed is the textarea HTML element.\n */\n const resizeTextareaWrapper = (isTextareaElement = false) => {\n // Width assigned by the browser whenever the textarea is manually resized. String of the format `<value>px`.\n const textareaStyleWidth = textareaElement.value.style.width;\n\n // Make sure the tracked textareaHeight is always in sync with the height size in case we manually resize the textarea\n if (textareaElement.value.style.height) {\n textareaHeight.value = textareaElement.value.style.height;\n }\n\n // If the textarea element observer is being triggered, but there's no textareaStyleWidth, we want to ignore it, as no manual resize as happened yet\n // The component wrapper will handle the resizing logic instead\n if (isTextareaElement && !textareaStyleWidth) {\n return;\n }\n\n // Width of the whole bento-textarea component\n const textareaComponentWidth = textareaComponent?.value?.offsetWidth;\n\n // If there is no textareaStyleWidth or the textareaStyleWidth is larger than the component container, the wrapper should be 100% of the container\n if (!textareaStyleWidth || parseInt(textareaStyleWidth, 10) > textareaComponentWidth) {\n textareaWrapperWidth.value = '100%';\n } else {\n // Else the wrapper should always be as wide as the textarea element itself\n textareaWrapperWidth.value = textareaStyleWidth;\n }\n };\n\n const focus = () => {\n textareaElement.value.focus();\n };\n\n defineExpose({\n focus,\n });\n\n onMounted(() => {\n textareaElementObserver = observeSizeOfElement(textareaElement.value, () => {\n resizeTextareaWrapper(true);\n });\n\n textareaComponentObserver = observeSizeOfElement(textareaComponent.value, () => {\n resizeTextareaWrapper();\n });\n\n if (!height.value) {\n calculateHeight();\n }\n });\n\n onUnmounted(() => {\n textareaElementObserver?.disconnect();\n textareaComponentObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n export default {\n i18n: { messages },\n name: 'bento-textarea',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./textarea.scss\" />\n"],"names":["BentoTextareaResizeOption","BentoTextareaResizeOption2","BentoTextareaStateClass","BentoTextareaStateClass2","BentoTextareaEvent","BentoTextareaEvent2","__default__","messages","attrs","useAttrs","height","toRefs","props","textareaId","generateUid","textareaElement","ref","textareaComponent","textareaValue","defaultTextareaHeight","textareaHeight","textareaWrapperWidth","textareaElementObserver","textareaComponentObserver","t","n","useI18n","isReadOnly","useFormLayoutFieldLoading","toRef","counter","computed","_a","isOverCharacterLimit","calculateHeight","watch","_b","nextTick","invalidInput","conditionalClasses","conditionalClassesInput","conditionalClassesLabelBox","conditionalClassesLabelItem","counterErrorText","ariaLabelAttribute","ariaLabel","label","computedAriaLabel","useAriaLabel","showClearButton","onClear","emit","onInput","event","onBlur","onFocus","onChange","onPressEscape","onKeyDown","onKeyUp","resizeTextareaWrapper","isTextareaElement","textareaStyleWidth","textareaComponentWidth","focus","expose","onMounted","observeSizeOfElement","onUnmounted"],"mappings":"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"}
@@ -1,385 +0,0 @@
1
- import { defineComponent as P, computed as r, ref as T, toRefs as Z, provide as R, nextTick as G, inject as D, onUnmounted as Q } from "vue";
2
- import { B as z } from "./button.hF-nD1Og.js";
3
- import { B as X } from "./textarea.UPM6N9V1.js";
4
- import { u as H } from "./i18n.BQkEbtPM.js";
5
- import { B as ee } from "./button-actions.Ju27CRNG.js";
6
- import { n as x } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
7
- import { B as te } from "./date.BfyWX2PY.js";
8
- import { B as ie } from "./link.CXy_LoFI.js";
9
- import { B as ae } from "./tag.CGkclKVL.js";
10
- import { B as se, d as ne } from "./typography.J1v_SPG3.js";
11
- import { a as oe, B as re, S as le } from "./structured-list-item.Bnn6-Z3q.js";
12
- /* empty css */
13
- import { g as me } from "./generate-uid.NJ8tVoha.js";
14
- import { u as ce } from "./use-has-slot.C9lQZ6nz.js";
15
- import { r as de, l as ue, c as _e, t as M, g as B } from "./index.BrH1t1iu.js";
16
- import { c as ve } from "./index.BxBB1rsx.js";
17
- import "../assets/timeline-item.css";
18
- var $ = 1e3 * 60, A = 60 * 24, j = A * 30, F = A * 365;
19
- function U(t, e) {
20
- var i = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
21
- de(2, arguments);
22
- var s = i.locale || ue;
23
- if (!s.formatDistance)
24
- throw new RangeError("locale must contain localize.formatDistance property");
25
- var f = _e(t, e);
26
- if (isNaN(f))
27
- throw new RangeError("Invalid time value");
28
- var l = ve(i);
29
- l.addSuffix = !!i.addSuffix, l.comparison = f;
30
- var p, _;
31
- f > 0 ? (p = M(e), _ = M(t)) : (p = M(t), _ = M(e));
32
- var c = i.roundingMethod == null ? "round" : String(i.roundingMethod), a;
33
- if (c === "floor")
34
- a = Math.floor;
35
- else if (c === "ceil")
36
- a = Math.ceil;
37
- else if (c === "round")
38
- a = Math.round;
39
- else
40
- throw new RangeError("roundingMethod must be 'floor', 'ceil' or 'round'");
41
- var b = _.getTime() - p.getTime(), d = b / $, m = B(_) - B(p), u = (b - m) / $, n;
42
- if (i.unit == null ? d < 1 ? n = "second" : d < 60 ? n = "minute" : d < A ? n = "hour" : u < j ? n = "day" : u < F ? n = "month" : n = "year" : n = String(i.unit), n === "second") {
43
- var g = a(b / 1e3);
44
- return s.formatDistance("xSeconds", g, l);
45
- } else if (n === "minute") {
46
- var C = a(d);
47
- return s.formatDistance("xMinutes", C, l);
48
- } else if (n === "hour") {
49
- var E = a(d / 60);
50
- return s.formatDistance("xHours", E, l);
51
- } else if (n === "day") {
52
- var I = a(u / A);
53
- return s.formatDistance("xDays", I, l);
54
- } else if (n === "month") {
55
- var N = a(u / j);
56
- return N === 12 && i.unit !== "month" ? s.formatDistance("xYears", 1, l) : s.formatDistance("xMonths", N, l);
57
- } else if (n === "year") {
58
- var y = a(u / F);
59
- return s.formatDistance("xYears", y, l);
60
- }
61
- throw new RangeError("unit must be 'second', 'minute', 'hour', 'day', 'month' or 'year'");
62
- }
63
- var w = /* @__PURE__ */ ((t) => (t.BOTTOM = "bottom", t.AFTER_FIRST = "after-first", t.BEFORE_LAST = "before-last", t))(w || {}), fe = /* @__PURE__ */ ((t) => (t.SECOND = "second", t.MINUTE = "minute", t.HOUR = "hour", t.DAY = "day", t.MONTH = "month", t.YEAR = "year", t))(fe || {}), L = /* @__PURE__ */ ((t) => (t.DEFAULT = "SquareSmallIcon", t.SUCCESS = "CheckedCircleIcon", t.CRITICAL = "CrossCircleIcon", t))(L || {}), q = /* @__PURE__ */ ((t) => (t.BLACK = "black", t.BLUE = "blue", t.GREEN = "green", t.GREY = "grey", t.ORANGE = "orange", t.RED = "red", t.YELLOW = "yellow", t))(q || {});
64
- const J = Symbol("timeline register entry injection key"), K = Symbol("timeline config obj injection key"), pe = {
65
- "en-US": {
66
- addNote: "Add note",
67
- cancel: "Cancel"
68
- },
69
- "ja-JP": {
70
- addNote: "メモを追加",
71
- cancel: "キャンセル"
72
- },
73
- "pt-BR": {
74
- addNote: "Adicionar anotação",
75
- cancel: "Cancelar"
76
- }
77
- }, be = P({
78
- i18n: { messages: pe },
79
- name: "bento-timeline",
80
- components: { BentoButton: z, BentoButtonActions: ee, BentoTextarea: X },
81
- props: {
82
- /**
83
- * If set to true, gives the possibility to manually add notes to the timeline via a textarea
84
- */
85
- addNote: {
86
- type: Boolean,
87
- default: !1
88
- },
89
- /**
90
- * Object that determines the max number of items to show without clicking the show more button
91
- * and where in the timeline is the show more button placed
92
- */
93
- showMore: {
94
- type: Object,
95
- default: null
96
- },
97
- /**
98
- * Object that determines minimum amount of time for the automatic timegap indicator;
99
- * Define a unit (hour, day, month) and an amount (e.g. { amount: 7, unit: 'days' }).
100
- * If null, automatic timegap detection will be turned off
101
- */
102
- timegapLimit: {
103
- type: Object,
104
- default: null
105
- }
106
- },
107
- emits: ["add-timeline-note"],
108
- setup(t, { emit: e }) {
109
- const { t: i } = H(), s = r(() => i("addNote")), f = r(() => i("cancel")), l = T(), p = (o) => {
110
- l.value = o;
111
- }, _ = T(null), c = T(null), a = T(!1), b = async () => {
112
- var o, v;
113
- a.value = !a.value, await G(), a.value ? (o = _.value.$refs.textareaElement) == null || o.focus() : (v = c.value.$el) == null || v.focus();
114
- }, d = () => {
115
- e("add-timeline-note", {
116
- description: l.value,
117
- timestamp: { date: /* @__PURE__ */ new Date() },
118
- type: "note"
119
- }), b();
120
- }, m = T([]), u = r(
121
- () => t.showMore && m.value.length > t.showMore.limit ? m.value.length - t.showMore.limit : null
122
- ), n = T(!1), { timegapLimit: g } = Z(t), C = r(() => {
123
- if (!t.showMore)
124
- return null;
125
- const o = Array.from(m.value.keys());
126
- return t.showMore.placement === w.BEFORE_LAST ? [
127
- ...o.slice(0, t.showMore.limit - 1),
128
- o[o.length - 1]
129
- ] : t.showMore.placement === w.AFTER_FIRST ? [o[0], ...o.slice(-(t.showMore.limit - 1))] : o.slice(0, t.showMore.limit);
130
- }), E = r(() => {
131
- if (!t.showMore)
132
- return null;
133
- switch (t.showMore.placement) {
134
- case w.BEFORE_LAST:
135
- return t.showMore.limit - 2;
136
- case w.AFTER_FIRST:
137
- return 0;
138
- case w.BOTTOM:
139
- default:
140
- return t.showMore.limit - 1;
141
- }
142
- }), I = (o) => () => {
143
- var v;
144
- m.value = (v = m.value) == null ? void 0 : v.filter((S, h) => h !== o);
145
- }, N = ({ title: o, description: v, date: S }) => {
146
- const h = m.value.length;
147
- return m.value.push({ title: o, description: v, date: S }), { timelineEntries: m, index: h, unregisterTimelineEntry: I(h) };
148
- }, y = {
149
- showAll: n,
150
- showMoreIndex: E,
151
- hiddenItems: u,
152
- visibleIndexes: C,
153
- timegapLimit: g
154
- };
155
- return R(J, N), R(K, y), {
156
- addNoteLabel: s,
157
- cancelLabel: f,
158
- toggleAddNote: b,
159
- updateNoteContent: p,
160
- addNoteToTimeline: d,
161
- showAddNoteTextArea: a,
162
- // refs
163
- addNoteTextareaRef: _,
164
- addNoteButtonRef: c
165
- };
166
- }
167
- });
168
- var he = function() {
169
- var e = this, i = e._self._c;
170
- return e._self._setupProxy, i("div", { staticClass: "b-timeline" }, [e.addNote ? i("div", { staticClass: "b-timeline__add-note-section" }, [e.showAddNoteTextArea ? e._e() : i("bento-button", { ref: "addNoteButtonRef", attrs: { variant: "tertiary" }, on: { click: e.toggleAddNote } }, [e._v(e._s(e.addNoteLabel))]), e.showAddNoteTextArea ? i("div", [i("bento-textarea", { ref: "addNoteTextareaRef", attrs: { label: e.addNoteLabel, "character-limit": 150, resizable: "vertical" }, on: { input: e.updateNoteContent } }), i("bento-button-actions", { attrs: { actions: [
171
- { title: e.addNoteLabel, event: e.addNoteToTimeline },
172
- { title: e.cancelLabel, event: e.toggleAddNote }
173
- ] } })], 1) : e._e()], 1) : e._e(), i("ol", { staticClass: "b-timeline__items" }, [e._t("default")], 2)]);
174
- }, ge = [], ye = /* @__PURE__ */ x(
175
- be,
176
- he,
177
- ge,
178
- !1,
179
- null,
180
- "4e0a6d68"
181
- );
182
- const Ke = ye.exports;
183
- let Y = 0;
184
- const Ce = {
185
- beforeCreate() {
186
- this.uuid = Y.toString(), Y += 1;
187
- }
188
- };
189
- var Ne = function() {
190
- var e = this, i = e._self._c;
191
- return i("svg", e._b({ staticClass: "ui-assets-icons-16", attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", e.$attrs, !1), [e.$attrs["svg-title"] ? i("title", [e._v(e._s(e.$attrs["svg-title"]))]) : e._e(), i("path", { attrs: { fill: "#001222", d: "M10 3.25C11.5188 3.25 12.75 4.48122 12.75 6V10C12.75 11.5188 11.5188 12.75 10 12.75H6C4.48122 12.75 3.25 11.5188 3.25 10V6C3.25 4.48122 4.48122 3.25 6 3.25H10Z" } })]);
192
- }, Te = [], we = /* @__PURE__ */ x(
193
- Ce,
194
- Ne,
195
- Te,
196
- !1,
197
- null,
198
- null
199
- );
200
- const Ee = we.exports, Ie = {
201
- "en-US": {
202
- showLess: "Show less",
203
- showMore: "Show {items} more",
204
- timegap: "{timegap} passed between the timeline events"
205
- },
206
- "ja-JP": {
207
- showLess: "表示内容を減らす"
208
- },
209
- "pt-BR": {
210
- showLess: "Mostrar menos"
211
- }
212
- }, Se = P({
213
- name: "bento-timeline-item",
214
- components: {
215
- BentoButton: z,
216
- BentoDate: te,
217
- BentoLink: ie,
218
- BentoTag: ae,
219
- BentoTypography: se,
220
- BentoStructuredList: re,
221
- BentoStructuredListItem: oe,
222
- SquareSmallIcon: Ee
223
- },
224
- i18n: { messages: Ie },
225
- props: {
226
- /**
227
- * Additional timestamp of the event
228
- */
229
- additionalTimestamp: {
230
- type: Object,
231
- default: null
232
- },
233
- /**
234
- * Relevant key-value pair data to display in the event
235
- */
236
- dataList: {
237
- type: Array,
238
- default: null
239
- },
240
- /**
241
- * Description of the event
242
- */
243
- description: {
244
- type: String,
245
- default: null
246
- },
247
- /**
248
- * Modifier that changes the color of the timeline icon
249
- * @values blue, black, green, grey, orange, red, yellow
250
- */
251
- status: {
252
- type: String,
253
- default: "black",
254
- validator: (t) => Object.values(q).includes(t)
255
- },
256
- /**
257
- * Tag props that will be passed down to inner tag component
258
- */
259
- tag: {
260
- type: Object,
261
- default: void 0
262
- },
263
- /**
264
- * Main timestamp of the event. Used for timegap detection.
265
- */
266
- timestamp: {
267
- type: Object,
268
- required: !0
269
- },
270
- /**
271
- * Title of the event
272
- */
273
- title: {
274
- type: [Object, String],
275
- default: null
276
- },
277
- /**
278
- * Type of the timeline item. If set to 'note', it renders a note item in the timeline. Defaults to 'milestone'.
279
- * @values milestone, note
280
- */
281
- type: {
282
- type: String,
283
- default: "milestone",
284
- validator: (t) => ["milestone", "note"].includes(t)
285
- },
286
- /**
287
- * Variant for the timeline item
288
- * @values DEFAULT, SUCCESS, CRITICAL
289
- *
290
- * @deprecated Use "status" prop instead
291
- */
292
- variant: {
293
- type: String,
294
- default: null,
295
- validator: (t) => Object.values(L).includes(t)
296
- }
297
- },
298
- setup(t, { slots: e }) {
299
- const { t: i } = H(), s = r(() => t.type === "note"), f = r(() => t.variant === L.CRITICAL ? "red" : t.variant === L.SUCCESS ? "green" : t.status);
300
- t.variant && ne(
301
- 'BentoTimelineItem "variant" property',
302
- `Use the BentoTimelineItem "status" modifier instead to modify the color of the timeline icon.
303
- <bento-timeline-item status="red" />`,
304
- "2.0.0"
305
- );
306
- const l = r(() => ({
307
- [`b-timeline-item__icon--${f.value}`]: f.value && !s.value
308
- })), p = r(() => ({
309
- "b-timeline-item--note": s.value
310
- }));
311
- R(le, !0);
312
- const _ = D(J), { timelineEntries: c, index: a, unregisterTimelineEntry: b } = _({
313
- title: t.title,
314
- date: t.timestamp.date
315
- });
316
- Q(() => b());
317
- const { showAll: d, showMoreIndex: m, hiddenItems: u, visibleIndexes: n, timegapLimit: g } = D(K), C = r(() => d.value || !n.value), E = r(() => C.value ? !0 : n.value.includes(a)), I = r(() => typeof t.title == "object"), N = r(() => t.title), y = r(() => {
318
- var k;
319
- if (!g.value)
320
- return null;
321
- const h = (k = c.value[a - 1]) == null ? void 0 : k.date, V = C.value || n.value.includes(a - 1);
322
- if (!h || !V)
323
- return null;
324
- const { date: O } = c.value[a], W = parseInt(
325
- U(h, O, { unit: g.value.unit }),
326
- 10
327
- );
328
- return g.value.amount < W ? U(h, O, { roundingMethod: "floor" }) : null;
329
- }), o = r(() => y.value ? i("timegap", { timegap: y.value }) : ""), v = r(() => u.value && m.value === a), S = r(() => a === c.value.length - 1);
330
- return {
331
- // Values
332
- isNoteType: s,
333
- iconConditionalClasses: l,
334
- conditionalClasses: p,
335
- displayShowMoreButton: v,
336
- showAll: d,
337
- hiddenItems: u,
338
- isVisible: E,
339
- isLinkTitle: I,
340
- linkTitleProps: N,
341
- timegap: y,
342
- timegapAriaLabel: o,
343
- isLastItem: S,
344
- // Methods
345
- generateUid: me,
346
- hasSlot: ce(e),
347
- t: i
348
- };
349
- }
350
- });
351
- var Me = function() {
352
- var e = this, i = e._self._c;
353
- return e._self._setupProxy, e.isVisible ? i("li", { staticClass: "b-timeline-item", class: e.conditionalClasses }, [e.timegap ? i("div", { staticClass: "b-timeline-item__row" }, [e._m(0), i("div", { staticClass: "b-timeline-item__content" }, [i("bento-typography", { staticClass: "b-timeline-item__timegap", attrs: { "aria-label": e.timegapAriaLabel } }, [e._v(" " + e._s(e.timegap) + " ")])], 1)]) : e._e(), i("div", { staticClass: "b-timeline-item__row" }, [i("div", { staticClass: "b-timeline-item__marker", attrs: { "aria-hidden": "true" } }, [i("square-small-icon", { staticClass: "b-timeline-item__icon", class: e.iconConditionalClasses }), e.isLastItem ? e._e() : i("div", { staticClass: "b-timeline-item__separator", attrs: { "data-testid": "last-timeline-item-separator" } })], 1), i("div", { staticClass: "b-timeline-item__content" }, [e.isNoteType ? e._e() : i("bento-typography", { staticClass: "b-timeline-item__title", attrs: { el: "div", variant: "body", strongest: "", role: "heading", "aria-level": "2" } }, [e.isLinkTitle ? i("bento-link", e._b({ attrs: { "disable-typography": "" } }, "bento-link", e.linkTitleProps, !1), [e._v(e._s(e.linkTitleProps.title))]) : i("span", [e._v(e._s(e.title))])], 1), e.isNoteType && (e.description || e.hasSlot("default")) ? i("bento-typography", { staticClass: "b-timeline-item__description", attrs: { el: "div", variant: "body" } }, [e._t("default", function() {
354
- return [e._v(e._s(e.description))];
355
- })], 2) : e._e(), e.timestamp ? i("bento-typography", { staticClass: "b-timeline-item__timestamp", attrs: { el: "div", variant: "caption" } }, [i("bento-date", { attrs: { date: e.timestamp.date, format: e.timestamp.format, "disable-typography": "" } }), e._v(" " + e._s(e.timestamp.value) + " ")], 1) : e._e(), !e.isNoteType && e.additionalTimestamp ? i("bento-typography", { staticClass: "b-timeline-item__timestamp", attrs: { el: "div", variant: "caption" } }, [i("bento-date", { attrs: { date: e.additionalTimestamp.date, format: e.additionalTimestamp.format, "disable-typography": "" } }), e._v(" " + e._s(e.additionalTimestamp.value) + " ")], 1) : e._e(), !e.isNoteType && (e.description || e.hasSlot("default")) ? i("bento-typography", { staticClass: "b-timeline-item__description", attrs: { el: "div", variant: "body" } }, [e._t("default", function() {
356
- return [e._v(e._s(e.description))];
357
- })], 2) : e._e(), !e.isNoteType && e.dataList ? i("div", { staticClass: "b-timeline-item__data-list" }, [i("bento-structured-list", e._l(e.dataList, function(s) {
358
- return i("bento-structured-list-item", { key: e.generateUid(s.label), attrs: { label: s.label } }, [i("bento-typography", { attrs: { variant: "caption" } }, [e._v(e._s(s.value))])], 1);
359
- }), 1)], 1) : e._e(), !e.isNoteType && e.tag ? i("bento-tag", e._b({ staticClass: "b-timeline-item__tag" }, "bento-tag", e.tag, !1)) : e._e()], 1)]), e.displayShowMoreButton ? i("div", { staticClass: "b-timeline-item__row" }, [e._m(1), i("div", { staticClass: "b-timeline-item__content" }, [i("bento-button", { staticClass: "b-timeline__show-more", attrs: { variant: "tertiary" }, on: { click: function(s) {
360
- e.showAll = !e.showAll;
361
- } } }, [e.showAll ? [e._v(e._s(e.t("showLess")))] : [e._v(e._s(e.t("showMore", { items: e.hiddenItems })))]], 2)], 1)]) : e._e()]) : e._e();
362
- }, Le = [function() {
363
- var t = this, e = t._self._c;
364
- return t._self._setupProxy, e("div", { staticClass: "b-timeline-item__marker", attrs: { "aria-hidden": "true" } }, [e("div", { staticClass: "b-timeline-item__icon b-timeline-item__icon--timegap" }), e("div", { staticClass: "b-timeline-item__separator" })]);
365
- }, function() {
366
- var t = this, e = t._self._c;
367
- return t._self._setupProxy, e("div", { staticClass: "b-timeline-item__marker", attrs: { "aria-hidden": "true" } }, [e("div", { staticClass: "b-timeline-item__separator" })]);
368
- }], Ae = /* @__PURE__ */ x(
369
- Se,
370
- Me,
371
- Le,
372
- !1,
373
- null,
374
- "5626ecfd"
375
- );
376
- const Ve = Ae.exports;
377
- export {
378
- w as B,
379
- Ve as a,
380
- fe as b,
381
- L as c,
382
- q as d,
383
- Ke as t
384
- };
385
- //# sourceMappingURL=timeline-item.DqLhj0Lb.js.map