@adyen/bento-vue2 1.52.0 → 1.53.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 (203) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +474 -75
  3. package/dist/action-bar.js +1 -1
  4. package/dist/assets/accordion-item.css +1 -1
  5. package/dist/assets/action-bar.css +1 -1
  6. package/dist/assets/base-modal.css +1 -1
  7. package/dist/assets/card.css +1 -1
  8. package/dist/assets/checkbox.css +1 -1
  9. package/dist/assets/dashed-underline.css +1 -1
  10. package/dist/assets/data-grid.css +1 -1
  11. package/dist/assets/dialog-page.css +1 -1
  12. package/dist/assets/dropdown.css +1 -1
  13. package/dist/assets/file-uploader.css +1 -1
  14. package/dist/assets/filter-bar.css +1 -1
  15. package/dist/assets/header-with-views.css +1 -0
  16. package/dist/assets/input-field-password.css +1 -1
  17. package/dist/assets/inspector.css +1 -1
  18. package/dist/assets/menu.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/popover.css +1 -1
  21. package/dist/assets/sidepanel.css +1 -1
  22. package/dist/assets/summary-grid-item-custom.css +1 -1
  23. package/dist/assets/use-cached-selected-values.css +1 -1
  24. package/dist/checkbox.js +2 -2
  25. package/dist/chunks/{action-bar.DuJkjAt1.js → action-bar.Cuktzrp5.js} +4 -4
  26. package/dist/chunks/{action-bar.DuJkjAt1.js.map → action-bar.Cuktzrp5.js.map} +1 -1
  27. package/dist/chunks/{base-modal.CiTysydg.js → base-modal.DnaWOvaM.js} +3 -3
  28. package/dist/chunks/{base-modal.CiTysydg.js.map → base-modal.DnaWOvaM.js.map} +1 -1
  29. package/dist/chunks/bin.DuebwJYu.js +24 -0
  30. package/dist/chunks/bin.DuebwJYu.js.map +1 -0
  31. package/dist/chunks/{button-actions-with-menu.B9oXYIgo.js → button-actions-with-menu.twMFsb82.js} +4 -4
  32. package/dist/chunks/{button-actions-with-menu.B9oXYIgo.js.map → button-actions-with-menu.twMFsb82.js.map} +1 -1
  33. package/dist/chunks/{calendar.Bq67h02Z.js → calendar.CJToU_uI.js} +2 -2
  34. package/dist/chunks/{calendar.Bq67h02Z.js.map → calendar.CJToU_uI.js.map} +1 -1
  35. package/dist/chunks/{checkbox-group.CqSIn-lG.js → checkbox-group.DkM6n3JR.js} +4 -4
  36. package/dist/chunks/{checkbox-group.CqSIn-lG.js.map → checkbox-group.DkM6n3JR.js.map} +1 -1
  37. package/dist/chunks/checkbox.l7h6GYew.js +176 -0
  38. package/dist/chunks/checkbox.l7h6GYew.js.map +1 -0
  39. package/dist/chunks/{click-outside.DSszkIvs.js → click-outside.C1Ud8AA2.js} +2 -2
  40. package/dist/chunks/{click-outside.DSszkIvs.js.map → click-outside.C1Ud8AA2.js.map} +1 -1
  41. package/dist/chunks/{code-snippet.CW42FdpP.js → code-snippet.BsEe6nml.js} +5 -5
  42. package/dist/chunks/{code-snippet.CW42FdpP.js.map → code-snippet.BsEe6nml.js.map} +1 -1
  43. package/dist/chunks/{controls-group.D0_cJaFF.js → controls-group.vFyThDMU.js} +2 -2
  44. package/dist/chunks/{controls-group.D0_cJaFF.js.map → controls-group.vFyThDMU.js.map} +1 -1
  45. package/dist/chunks/{copy.2iD8aI5a.js → copy.DD_Yfyn_.js} +3 -3
  46. package/dist/chunks/{copy.2iD8aI5a.js.map → copy.DD_Yfyn_.js.map} +1 -1
  47. package/dist/chunks/{dashboard-section.Cmulh6WM.js → dashboard-section.z-Rnv5E-.js} +3 -3
  48. package/dist/chunks/{dashboard-section.Cmulh6WM.js.map → dashboard-section.z-Rnv5E-.js.map} +1 -1
  49. package/dist/chunks/{dashed-underline.eMF75SuT.js → dashed-underline.CfQuYKV9.js} +8 -8
  50. package/dist/chunks/{dashed-underline.eMF75SuT.js.map → dashed-underline.CfQuYKV9.js.map} +1 -1
  51. package/dist/chunks/{data-grid-template.CdHnPE1-.js → data-grid-template.73mazFER.js} +2 -2
  52. package/dist/chunks/{data-grid-template.CdHnPE1-.js.map → data-grid-template.73mazFER.js.map} +1 -1
  53. package/dist/chunks/{data-grid.DedjAz4_.js → data-grid.C_Xoz-GC.js} +28 -18
  54. package/dist/chunks/data-grid.C_Xoz-GC.js.map +1 -0
  55. package/dist/chunks/{date-picker.BdMr3Sn2.js → date-picker.bgk9aymW.js} +5 -5
  56. package/dist/chunks/{date-picker.BdMr3Sn2.js.map → date-picker.bgk9aymW.js.map} +1 -1
  57. package/dist/chunks/{date-range-picker.BHfvD0GK.js → date-range-picker.-s05jOQA.js} +8 -8
  58. package/dist/chunks/{date-range-picker.BHfvD0GK.js.map → date-range-picker.-s05jOQA.js.map} +1 -1
  59. package/dist/chunks/{directive.O3yEdalv.js → directive.Cbdox5VL.js} +2 -2
  60. package/dist/chunks/{directive.O3yEdalv.js.map → directive.Cbdox5VL.js.map} +1 -1
  61. package/dist/chunks/{dropdown-tag.CvZ1jckk.js → dropdown-tag.8qh8J-NE.js} +3 -3
  62. package/dist/chunks/{dropdown-tag.CvZ1jckk.js.map → dropdown-tag.8qh8J-NE.js.map} +1 -1
  63. package/dist/chunks/{dropdown.CcHoKbLz.js → dropdown.DzWXcJyF.js} +50 -42
  64. package/dist/chunks/dropdown.DzWXcJyF.js.map +1 -0
  65. package/dist/chunks/{error-message.B1-ekAMa.js → error-message.CzQf7YOD.js} +2 -2
  66. package/dist/chunks/{error-message.B1-ekAMa.js.map → error-message.CzQf7YOD.js.map} +1 -1
  67. package/dist/chunks/es6.BtaxuP0b.js.map +1 -1
  68. package/dist/chunks/{file-uploader.Dlfzh5QQ.js → file-uploader.CcZPr-jD.js} +327 -326
  69. package/dist/chunks/file-uploader.CcZPr-jD.js.map +1 -0
  70. package/dist/chunks/{filter-bar.CwqoJGiK.js → filter-bar.BdGtQC7p.js} +305 -304
  71. package/dist/chunks/filter-bar.BdGtQC7p.js.map +1 -0
  72. package/dist/chunks/{focus-trap.CWlKh48z.js → focus-trap.CIUzScHc.js} +2 -2
  73. package/dist/chunks/{focus-trap.CWlKh48z.js.map → focus-trap.CIUzScHc.js.map} +1 -1
  74. package/dist/chunks/header-with-views.ChEgH2tn.js +1536 -0
  75. package/dist/chunks/header-with-views.ChEgH2tn.js.map +1 -0
  76. package/dist/chunks/{header.BAKjEGmH.js → header.0hX8OYwM.js} +3 -3
  77. package/dist/chunks/{header.BAKjEGmH.js.map → header.0hX8OYwM.js.map} +1 -1
  78. package/dist/chunks/index.BCUiAdb6.js +387 -0
  79. package/dist/chunks/{index.-wO_BQCb.js.map → index.BCUiAdb6.js.map} +1 -1
  80. package/dist/chunks/{info-icon-with-popover.CxXWP4TR.js → info-icon-with-popover.w6MpKOWh.js} +2 -2
  81. package/dist/chunks/{info-icon-with-popover.CxXWP4TR.js.map → info-icon-with-popover.w6MpKOWh.js.map} +1 -1
  82. package/dist/chunks/{info-icon.D3neDWqH.js → info-icon.C1ReXurF.js} +3 -3
  83. package/dist/chunks/{info-icon.D3neDWqH.js.map → info-icon.C1ReXurF.js.map} +1 -1
  84. package/dist/chunks/input-field-password.CZn4kW8v.js +198 -0
  85. package/dist/chunks/input-field-password.CZn4kW8v.js.map +1 -0
  86. package/dist/chunks/{input-field-phone-number.TXnK0dch.js → input-field-phone-number.C8WTJ1W-.js} +3 -3
  87. package/dist/chunks/{input-field-phone-number.TXnK0dch.js.map → input-field-phone-number.C8WTJ1W-.js.map} +1 -1
  88. package/dist/chunks/{input-field.De4sp76g.js → input-field.tP3Eupoo.js} +3 -3
  89. package/dist/chunks/{input-field.De4sp76g.js.map → input-field.tP3Eupoo.js.map} +1 -1
  90. package/dist/chunks/{inspector.types.ClnPOYmb.js → inspector.types.A0b4jNO3.js} +3 -3
  91. package/dist/chunks/{inspector.types.ClnPOYmb.js.map → inspector.types.A0b4jNO3.js.map} +1 -1
  92. package/dist/chunks/{layout-row.dh2VyGoD.js → layout-row.BgBazwnM.js} +2 -2
  93. package/dist/chunks/{layout-row.dh2VyGoD.js.map → layout-row.BgBazwnM.js.map} +1 -1
  94. package/dist/chunks/{listbox-option-tag.xGQr3Su1.js → listbox-option-tag.T9cfTst7.js} +2 -2
  95. package/dist/chunks/{listbox-option-tag.xGQr3Su1.js.map → listbox-option-tag.T9cfTst7.js.map} +1 -1
  96. package/dist/chunks/{menu.li3Kg9Uq.js → menu.CY7ceslP.js} +84 -83
  97. package/dist/chunks/{menu.li3Kg9Uq.js.map → menu.CY7ceslP.js.map} +1 -1
  98. package/dist/chunks/{modal-fullscreen.C4eL63TC.js → modal-fullscreen.Dz5w250z.js} +2 -2
  99. package/dist/chunks/{modal-fullscreen.C4eL63TC.js.map → modal-fullscreen.Dz5w250z.js.map} +1 -1
  100. package/dist/chunks/{modal.BpDz0Dhc.js → modal.CnmRkXZM.js} +2 -2
  101. package/dist/chunks/{modal.BpDz0Dhc.js.map → modal.CnmRkXZM.js.map} +1 -1
  102. package/dist/chunks/{on-click-outside.MUWbmGDn.js → on-click-outside.D9aY9g8G.js} +3 -2
  103. package/dist/chunks/{on-click-outside.MUWbmGDn.js.map → on-click-outside.D9aY9g8G.js.map} +1 -1
  104. package/dist/chunks/{pagination.FuELftBG.js → pagination.CvGOUwd8.js} +2 -2
  105. package/dist/chunks/{pagination.FuELftBG.js.map → pagination.CvGOUwd8.js.map} +1 -1
  106. package/dist/chunks/{popover.Cb6utVhS.js → popover.BvsqsZQ1.js} +2 -2
  107. package/dist/chunks/{popover.Cb6utVhS.js.map → popover.BvsqsZQ1.js.map} +1 -1
  108. package/dist/chunks/{popper-container.CiEkF7eb.js → popper-container.LRQgzjRf.js} +2 -2
  109. package/dist/chunks/{popper-container.CiEkF7eb.js.map → popper-container.LRQgzjRf.js.map} +1 -1
  110. package/dist/chunks/{promo-banner.PnHud5Wi.js → promo-banner.DDnJwMDC.js} +2 -2
  111. package/dist/chunks/{promo-banner.PnHud5Wi.js.map → promo-banner.DDnJwMDC.js.map} +1 -1
  112. package/dist/chunks/{radio-group._8PsjPCZ.js → radio-group.BvswbJa8.js} +4 -4
  113. package/dist/chunks/{radio-group._8PsjPCZ.js.map → radio-group.BvswbJa8.js.map} +1 -1
  114. package/dist/chunks/{search-bar.CVY2e8_B.js → search-bar.kKLreEXo.js} +3 -3
  115. package/dist/chunks/{search-bar.CVY2e8_B.js.map → search-bar.kKLreEXo.js.map} +1 -1
  116. package/dist/chunks/{secondary-nav.LxcuTR16.js → secondary-nav.C6bfsK2p.js} +3 -3
  117. package/dist/chunks/{secondary-nav.LxcuTR16.js.map → secondary-nav.C6bfsK2p.js.map} +1 -1
  118. package/dist/chunks/{segmented-control.D69WXQGh.js → segmented-control.BywW3ont.js} +2 -2
  119. package/dist/chunks/{segmented-control.D69WXQGh.js.map → segmented-control.BywW3ont.js.map} +1 -1
  120. package/dist/chunks/{selection-card-group.MTKkCBeK.js → selection-card-group.Ca4G00h5.js} +11 -11
  121. package/dist/chunks/{selection-card-group.MTKkCBeK.js.map → selection-card-group.Ca4G00h5.js.map} +1 -1
  122. package/dist/chunks/{sidepanel.BStCbRqN.js → sidepanel.D4H3Vu0m.js} +3 -3
  123. package/dist/chunks/{sidepanel.BStCbRqN.js.map → sidepanel.D4H3Vu0m.js.map} +1 -1
  124. package/dist/chunks/{structured-list-item.CeosjL40.js → structured-list-item.Bv8reTz2.js} +4 -4
  125. package/dist/chunks/{structured-list-item.CeosjL40.js.map → structured-list-item.Bv8reTz2.js.map} +1 -1
  126. package/dist/chunks/{summary-grid-item-custom.CF_TS7oA.js → summary-grid-item-custom.Bbdie4EL.js} +188 -135
  127. package/dist/chunks/summary-grid-item-custom.Bbdie4EL.js.map +1 -0
  128. package/dist/chunks/{tag.OgtZ3-ql.js → tag.IyMxowGc.js} +2 -2
  129. package/dist/chunks/{tag.OgtZ3-ql.js.map → tag.IyMxowGc.js.map} +1 -1
  130. package/dist/chunks/{teleport.B5fwsT5y.js → teleport.BHfrns33.js} +2 -2
  131. package/dist/chunks/{teleport.B5fwsT5y.js.map → teleport.BHfrns33.js.map} +1 -1
  132. package/dist/chunks/{textarea.BEISPJua.js → textarea.B9HjT5LH.js} +2 -2
  133. package/dist/chunks/{textarea.BEISPJua.js.map → textarea.B9HjT5LH.js.map} +1 -1
  134. package/dist/chunks/{timeline-item.BeWMuM8A.js → timeline-item.BIwk0vqM.js} +4 -4
  135. package/dist/chunks/{timeline-item.BeWMuM8A.js.map → timeline-item.BIwk0vqM.js.map} +1 -1
  136. package/dist/chunks/{tooltip.RPURZd36.js → tooltip.DShIiBiY.js} +2 -2
  137. package/dist/chunks/{tooltip.RPURZd36.js.map → tooltip.DShIiBiY.js.map} +1 -1
  138. package/dist/chunks/{tutorial.Ba8PTa0x.js → tutorial.DDlXTjAO.js} +4 -4
  139. package/dist/chunks/{tutorial.Ba8PTa0x.js.map → tutorial.DDlXTjAO.js.map} +1 -1
  140. package/dist/chunks/{use-cached-selected-values.CxlYYUbd.js → use-cached-selected-values.LVldNial.js} +12 -8
  141. package/dist/chunks/{use-cached-selected-values.CxlYYUbd.js.map → use-cached-selected-values.LVldNial.js.map} +1 -1
  142. package/dist/click-outside.js +1 -1
  143. package/dist/code-snippet.js +1 -1
  144. package/dist/dashboard-template.js +1 -1
  145. package/dist/dashed-underline.js +2 -2
  146. package/dist/data-grid-template.js +1 -1
  147. package/dist/data-grid.js +1 -1
  148. package/dist/date-picker.js +2 -2
  149. package/dist/date-range-picker.js +2 -2
  150. package/dist/dropdown.js +3 -3
  151. package/dist/file-uploader.js +1 -1
  152. package/dist/filter-bar.js +1 -1
  153. package/dist/focus-trap.js +1 -1
  154. package/dist/header-with-views.js +5 -0
  155. package/dist/header-with-views.js.map +1 -0
  156. package/dist/header.js +1 -1
  157. package/dist/index.js +195 -193
  158. package/dist/index.js.map +1 -1
  159. package/dist/info-icon.js +1 -1
  160. package/dist/input-field-password.js +1 -1
  161. package/dist/input-field-phone-number.js +1 -1
  162. package/dist/input-field.js +1 -1
  163. package/dist/inspector.js +1 -1
  164. package/dist/internal.js +10 -10
  165. package/dist/layout.js +1 -1
  166. package/dist/menu.js +1 -1
  167. package/dist/modal-fullscreen.js +1 -1
  168. package/dist/modal.js +2 -2
  169. package/dist/pagination.js +1 -1
  170. package/dist/popover.js +1 -1
  171. package/dist/popper-container.js +1 -1
  172. package/dist/promo-banner.js +1 -1
  173. package/dist/radio-group.js +1 -1
  174. package/dist/search-bar.js +2 -2
  175. package/dist/secondary-nav.js +1 -1
  176. package/dist/segmented-control.js +1 -1
  177. package/dist/selection-card.js +1 -1
  178. package/dist/sidepanel.js +1 -1
  179. package/dist/structured-list.js +1 -1
  180. package/dist/styles/bento-dark.css +47 -1
  181. package/dist/styles/bento-light.css +47 -1
  182. package/dist/styles/bento.css +47 -1
  183. package/dist/styles/legacy.css +47 -1
  184. package/dist/styles/styleguide.css +47 -1
  185. package/dist/summary-grid.js +1 -1
  186. package/dist/tag.js +1 -1
  187. package/dist/textarea.js +1 -1
  188. package/dist/timeline.js +1 -1
  189. package/dist/tutorial.js +1 -1
  190. package/dist/use-form-v4.js +8300 -0
  191. package/dist/use-form-v4.js.map +1 -0
  192. package/dist/web-types.json +520 -5
  193. package/package.json +6 -5
  194. package/dist/chunks/checkbox.BeYtbfPv.js +0 -170
  195. package/dist/chunks/checkbox.BeYtbfPv.js.map +0 -1
  196. package/dist/chunks/data-grid.DedjAz4_.js.map +0 -1
  197. package/dist/chunks/dropdown.CcHoKbLz.js.map +0 -1
  198. package/dist/chunks/file-uploader.Dlfzh5QQ.js.map +0 -1
  199. package/dist/chunks/filter-bar.CwqoJGiK.js.map +0 -1
  200. package/dist/chunks/index.-wO_BQCb.js +0 -370
  201. package/dist/chunks/input-field-password.CO0lAgMh.js +0 -194
  202. package/dist/chunks/input-field-password.CO0lAgMh.js.map +0 -1
  203. package/dist/chunks/summary-grid-item-custom.CF_TS7oA.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"copy.2iD8aI5a.js","sources":["../../src/components/internal/copy/copy.types.ts","../../../ui-assets/icons-16/dist/vue/copy.vue","../../src/components/internal/copy/copy.vue"],"sourcesContent":["import type { BentoButton } from '../../button';\n\nexport enum CopyTooltipState {\n DEFAULT = 'default',\n COPYING = 'copying',\n ERROR = 'error',\n}\n\ntype ButtonProps = InstanceType<typeof BentoButton>['$props'];\nexport type BentoCopyButtonProps = {\n variant?: ButtonProps['variant'];\n condensed?: ButtonProps['condensed'];\n disabled?: ButtonProps['disabled'];\n};\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#00112C\" d=\"M3.5 1.25C2.25736 1.25 1.25 2.25736 1.25 3.5V8.5C1.25 9.74264 2.25736 10.75 3.5 10.75H5.25V12.5C5.25 13.7426 6.25736 14.75 7.5 14.75H12.5C13.7426 14.75 14.75 13.7426 14.75 12.5V7.5C14.75 6.25736 13.7426 5.25 12.5 5.25H10.75V3.5C10.75 2.25736 9.74264 1.25 8.5 1.25H3.5ZM9.25 5.25H7.5C6.25736 5.25 5.25 6.25736 5.25 7.5V9.25H3.5C3.08579 9.25 2.75 8.91421 2.75 8.5V3.5C2.75 3.08579 3.08579 2.75 3.5 2.75H8.5C8.91421 2.75 9.25 3.08579 9.25 3.5V5.25ZM6.75 12.5V7.5C6.75 7.08579 7.08579 6.75 7.5 6.75H12.5C12.9142 6.75 13.25 7.08579 13.25 7.5V12.5C13.25 12.9142 12.9142 13.25 12.5 13.25H7.5C7.08579 13.25 6.75 12.9142 6.75 12.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","<template>\n <div class=\"b-copy\" @mouseleave=\"resetText\" @focusout=\"resetText\">\n <span v-if=\"$slots.default\" v-bento-tooltip-directive:[tooltipPosition]=\"copyText\" @click=\"onClickCopy\">\n <slot />\n </span>\n <bento-button\n v-else\n v-bento-tooltip-directive:[tooltipPosition]=\"copyText\"\n v-bind=\"button\"\n @click=\"onClickCopy\"\n >\n <template #iconLeft>\n <copy-icon :svg-title=\"svgTitle\" />\n </template>\n <template v-if=\"buttonText\" #default>\n {{ buttonText }}\n </template>\n </bento-button>\n <div v-if=\"showScreenReaderAlert\" role=\"alert\" class=\"b-copy__screen-reader-alert\">{{ t('copied') }}</div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoButton } from '@/components/button';\n import { PopperContainerPosition } from '@/components/popper-container';\n import { BentoTooltipDirective } from '@/directives';\n import { useI18n } from '@/utils/ts/i18n';\n import { BentoCopyButtonProps, CopyTooltipState } from './copy.types';\n import CopyIcon from '@adyen/ui-assets-icons-16/vue/copy';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * An internal button component that copies text to the user's clipboard.\n *\n * @example\n * import { Copy } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { Copy },\n * template: `\n * <copy :text=\"textToCopy\" />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'copy',\n components: { BentoButton, CopyIcon },\n directives: { BentoTooltipDirective },\n props: {\n /**\n * Object containing props to change the menu button appearance. Accepts the same props present in BentoButton.\n */\n button: {\n type: Object as PropType<BentoCopyButtonProps>,\n default: () =>\n ({\n variant: 'tertiary',\n } as BentoCopyButtonProps),\n },\n\n /**\n * Sets the button text of the copy button.\n */\n buttonText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Defines the string that will get copied to the clipboard\n */\n text: {\n type: String,\n required: true,\n },\n\n /**\n * Position the tooltip should take if space is available. Defaults to 'top'\n */\n tooltipPosition: {\n type: String as PropType<PopperContainerPosition>,\n default: PopperContainerPosition.TOP,\n },\n },\n setup(props) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const copyState = ref<CopyTooltipState>(CopyTooltipState.DEFAULT);\n\n const showScreenReaderAlert = ref(false);\n const onClickCopy = async () => {\n try {\n await navigator.clipboard.writeText(props.text);\n copyState.value = CopyTooltipState.COPYING;\n showScreenReaderAlert.value = true;\n } catch (e) {\n copyState.value = CopyTooltipState.ERROR;\n }\n };\n\n const resetText = () => {\n copyState.value = CopyTooltipState.DEFAULT;\n showScreenReaderAlert.value = false;\n };\n\n const copyText = computed(() => {\n switch (copyState.value) {\n case CopyTooltipState.COPYING:\n return t('copied');\n case CopyTooltipState.ERROR:\n return t('copyFailed');\n case CopyTooltipState.DEFAULT:\n default:\n return t('copy');\n }\n });\n\n const svgTitle = computed(() => (props?.buttonText ? undefined : t('copy')));\n\n return {\n copyText,\n onClickCopy,\n resetText,\n showScreenReaderAlert,\n svgTitle,\n\n // Translations\n t,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./copy.scss\" />\n"],"names":["CopyTooltipState","CopyTooltipState2","uuid","_sfc_main$1","_sfc_main","defineComponent","messages","BentoButton","CopyIcon","BentoTooltipDirective","PopperContainerPosition","props","useI18n","copyState","ref","showScreenReaderAlert","onClickCopy","resetText","copyText","computed","svgTitle"],"mappings":";;;;;;;;AAEY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,UAAA,WACAA,EAAA,QAAA,SAHQA,IAAAD,KAAA,CAAA,CAAA;ACKZ,IAAAE,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GCiCAE,IAAAC,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,aAAAC,GAAA,UAAAC,EAAA;AAAA,EACA,YAAA,EAAA,uBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA,OAAA;AAAA,QAEA,SAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,YAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,iBAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAEA,UAAA,EAAA,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAAd,EAAA,OAAA,GAEAe,IAAAD,EAAA,EAAA,GACAE,IAAA,YAAA;AACA,UAAA;AACA,cAAA,UAAA,UAAA,UAAAL,EAAA,IAAA,GACAE,EAAA,QAAAb,EAAA,SACAe,EAAA,QAAA;AAAA,MAAA,QAAA;AAEA,QAAAF,EAAA,QAAAb,EAAA;AAAA,MAAA;AAAA,IACA,GAGAiB,IAAA,MAAA;AACA,MAAAJ,EAAA,QAAAb,EAAA,SACAe,EAAA,QAAA;AAAA,IAAA,GAGAG,IAAAC,EAAA,MAAA;AACA,cAAAN,EAAA,OAAA;AAAA,QAAA,KAAAb,EAAA;AAEA,iBAAA,EAAA,QAAA;AAAA,QAAA,KAAAA,EAAA;AAEA,iBAAA,EAAA,YAAA;AAAA,QAAA,KAAAA,EAAA;AAAA,QACA;AAEA,iBAAA,EAAA,MAAA;AAAA,MAAA;AAAA,IACA,CAAA,GAGAoB,IAAAD,EAAA,MAAAR,KAAA,QAAAA,EAAA,aAAA,SAAA,EAAA,MAAA,CAAA;AAEA,WAAA;AAAA,MAAA,UAAAO;AAAA,MACA,aAAAF;AAAA,MACA,WAAAC;AAAA,MACA,uBAAAF;AAAA,MACA,UAAAK;AAAA;AAAA,MACA;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"copy.DD_Yfyn_.js","sources":["../../src/components/internal/copy/copy.types.ts","../../../ui-assets/icons-16/dist/vue/copy.vue","../../src/components/internal/copy/copy.vue"],"sourcesContent":["import type { BentoButton } from '../../button';\n\nexport enum CopyTooltipState {\n DEFAULT = 'default',\n COPYING = 'copying',\n ERROR = 'error',\n}\n\ntype ButtonProps = InstanceType<typeof BentoButton>['$props'];\nexport type BentoCopyButtonProps = {\n variant?: ButtonProps['variant'];\n condensed?: ButtonProps['condensed'];\n disabled?: ButtonProps['disabled'];\n};\n","\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" class=\"ui-assets-icons-16\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\"><title v-if=\"$attrs['svg-title']\">{{ $attrs['svg-title'] }}</title><path fill=\"#00112C\" d=\"M3.5 1.25C2.25736 1.25 1.25 2.25736 1.25 3.5V8.5C1.25 9.74264 2.25736 10.75 3.5 10.75H5.25V12.5C5.25 13.7426 6.25736 14.75 7.5 14.75H12.5C13.7426 14.75 14.75 13.7426 14.75 12.5V7.5C14.75 6.25736 13.7426 5.25 12.5 5.25H10.75V3.5C10.75 2.25736 9.74264 1.25 8.5 1.25H3.5ZM9.25 5.25H7.5C6.25736 5.25 5.25 6.25736 5.25 7.5V9.25H3.5C3.08579 9.25 2.75 8.91421 2.75 8.5V3.5C2.75 3.08579 3.08579 2.75 3.5 2.75H8.5C8.91421 2.75 9.25 3.08579 9.25 3.5V5.25ZM6.75 12.5V7.5C6.75 7.08579 7.08579 6.75 7.5 6.75H12.5C12.9142 6.75 13.25 7.08579 13.25 7.5V12.5C13.25 12.9142 12.9142 13.25 12.5 13.25H7.5C7.08579 13.25 6.75 12.9142 6.75 12.5Z\"/></svg>\n</template>\n<script>\n import '../css/main.css';\n\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n","<template>\n <div class=\"b-copy\" @mouseleave=\"resetText\" @focusout=\"resetText\">\n <span v-if=\"$slots.default\" v-bento-tooltip-directive:[tooltipPosition]=\"copyText\" @click=\"onClickCopy\">\n <slot />\n </span>\n <bento-button\n v-else\n v-bento-tooltip-directive:[tooltipPosition]=\"copyText\"\n v-bind=\"button\"\n @click=\"onClickCopy\"\n >\n <template #iconLeft>\n <copy-icon :svg-title=\"svgTitle\" />\n </template>\n <template v-if=\"buttonText\" #default>\n {{ buttonText }}\n </template>\n </bento-button>\n <div v-if=\"showScreenReaderAlert\" role=\"alert\" class=\"b-copy__screen-reader-alert\">{{ t('copied') }}</div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType, ref } from 'vue';\n import { BentoButton } from '@/components/button';\n import { PopperContainerPosition } from '@/components/popper-container';\n import { BentoTooltipDirective } from '@/directives';\n import { useI18n } from '@/utils/ts/i18n';\n import { BentoCopyButtonProps, CopyTooltipState } from './copy.types';\n import CopyIcon from '@adyen/ui-assets-icons-16/vue/copy';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n /**\n * An internal button component that copies text to the user's clipboard.\n *\n * @example\n * import { Copy } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { Copy },\n * template: `\n * <copy :text=\"textToCopy\" />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'copy',\n components: { BentoButton, CopyIcon },\n directives: { BentoTooltipDirective },\n props: {\n /**\n * Object containing props to change the menu button appearance. Accepts the same props present in BentoButton.\n */\n button: {\n type: Object as PropType<BentoCopyButtonProps>,\n default: () =>\n ({\n variant: 'tertiary',\n } as BentoCopyButtonProps),\n },\n\n /**\n * Sets the button text of the copy button.\n */\n buttonText: {\n type: String,\n default: undefined,\n },\n\n /**\n * Defines the string that will get copied to the clipboard\n */\n text: {\n type: String,\n required: true,\n },\n\n /**\n * Position the tooltip should take if space is available. Defaults to 'top'\n */\n tooltipPosition: {\n type: String as PropType<PopperContainerPosition>,\n default: PopperContainerPosition.TOP,\n },\n },\n setup(props) {\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n const copyState = ref<CopyTooltipState>(CopyTooltipState.DEFAULT);\n\n const showScreenReaderAlert = ref(false);\n const onClickCopy = async () => {\n try {\n await navigator.clipboard.writeText(props.text);\n copyState.value = CopyTooltipState.COPYING;\n showScreenReaderAlert.value = true;\n } catch (e) {\n copyState.value = CopyTooltipState.ERROR;\n }\n };\n\n const resetText = () => {\n copyState.value = CopyTooltipState.DEFAULT;\n showScreenReaderAlert.value = false;\n };\n\n const copyText = computed(() => {\n switch (copyState.value) {\n case CopyTooltipState.COPYING:\n return t('copied');\n case CopyTooltipState.ERROR:\n return t('copyFailed');\n case CopyTooltipState.DEFAULT:\n default:\n return t('copy');\n }\n });\n\n const svgTitle = computed(() => (props?.buttonText ? undefined : t('copy')));\n\n return {\n copyText,\n onClickCopy,\n resetText,\n showScreenReaderAlert,\n svgTitle,\n\n // Translations\n t,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./copy.scss\" />\n"],"names":["CopyTooltipState","CopyTooltipState2","uuid","_sfc_main$1","_sfc_main","defineComponent","messages","BentoButton","CopyIcon","BentoTooltipDirective","PopperContainerPosition","props","useI18n","copyState","ref","showScreenReaderAlert","onClickCopy","resetText","copyText","computed","svgTitle"],"mappings":";;;;;;;;AAEY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,UAAA,WACAA,EAAA,UAAA,WACAA,EAAA,QAAA,SAHQA,IAAAD,KAAA,CAAA,CAAA;ACKZ,IAAAE,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;GCiCAE,IAAAC,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,aAAAC,GAAA,UAAAC,EAAA;AAAA,EACA,YAAA,EAAA,uBAAAC,EAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,QAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA,OAAA;AAAA,QAEA,SAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,YAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAKA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,iBAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAAC,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAEA,UAAA,EAAA,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAAd,EAAA,OAAA,GAEAe,IAAAD,EAAA,EAAA,GACAE,IAAA,YAAA;AACA,UAAA;AACA,cAAA,UAAA,UAAA,UAAAL,EAAA,IAAA,GACAE,EAAA,QAAAb,EAAA,SACAe,EAAA,QAAA;AAAA,MAAA,QAAA;AAEA,QAAAF,EAAA,QAAAb,EAAA;AAAA,MAAA;AAAA,IACA,GAGAiB,IAAA,MAAA;AACA,MAAAJ,EAAA,QAAAb,EAAA,SACAe,EAAA,QAAA;AAAA,IAAA,GAGAG,IAAAC,EAAA,MAAA;AACA,cAAAN,EAAA,OAAA;AAAA,QAAA,KAAAb,EAAA;AAEA,iBAAA,EAAA,QAAA;AAAA,QAAA,KAAAA,EAAA;AAEA,iBAAA,EAAA,YAAA;AAAA,QAAA,KAAAA,EAAA;AAAA,QACA;AAEA,iBAAA,EAAA,MAAA;AAAA,MAAA;AAAA,IACA,CAAA,GAGAoB,IAAAD,EAAA,MAAAR,KAAA,QAAAA,EAAA,aAAA,SAAA,EAAA,MAAA,CAAA;AAEA,WAAA;AAAA,MAAA,UAAAO;AAAA,MACA,aAAAF;AAAA,MACA,WAAAC;AAAA,MACA,uBAAAF;AAAA,MACA,UAAAK;AAAA;AAAA,MACA;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as C, useSlots as T, ref as d, computed as l, watch as m, onUnmounted as R, onMounted as x } from "vue";
2
- import { B as y } from "./header.BAKjEGmH.js";
2
+ import { B as y } from "./header.0hX8OYwM.js";
3
3
  import { a as I, B as H } from "./tabs.UFoTqvew.js";
4
- import { c as P } from "./index.-wO_BQCb.js";
4
+ import { c as P } from "./index.BCUiAdb6.js";
5
5
  import { o as W } from "./resize.Bqks3WUm.js";
6
6
  import { u as S } from "./use-has-slot.C9lQZ6nz.js";
7
7
  import { n as k } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
@@ -102,4 +102,4 @@ export {
102
102
  st as a,
103
103
  tt as d
104
104
  };
105
- //# sourceMappingURL=dashboard-section.Cmulh6WM.js.map
105
+ //# sourceMappingURL=dashboard-section.z-Rnv5E-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-section.Cmulh6WM.js","sources":["../../src/templates/dashboard-template/dashboard-template.vue","../../src/templates/dashboard-template/components/dashboard-section/dashboard-section.vue"],"sourcesContent":["<template>\n <main class=\"b-dashboard-template\">\n <bento-header v-bind=\"header\" variant=\"page\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div class=\"b-dashboard-template__top-section\" :class=\"dashboardTopSectionConditionalClasses\">\n <div\n v-if=\"hasSlot('filters')\"\n ref=\"filtersRef\"\n class=\"b-dashboard-template__filters\"\n :class=\"dashboardFiltersConditionalClasses\"\n data-testid=\"filters\"\n >\n <slot name=\"filters\" />\n </div>\n\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n class=\"b-dashboard-template__tabs\"\n :class=\"dashboardTabsConditionalClasses\"\n data-testid=\"tabs\"\n >\n <bento-tab v-for=\"(_item, index) in tabsSlots\" :key=\"`tab-${index}`\" :title=\"getTabTitle(index)\">\n <div class=\"b-dashboard-template__container b-dashboard-template__container--tabs\">\n <slot :name=\"`tab-${index + 1}`\" />\n </div>\n </bento-tab>\n </bento-tabs>\n <div v-else class=\"b-dashboard-template__container\">\n <slot />\n </div>\n </div>\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onUnmounted, ref, useSlots, watch } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useWindowScroll } from '@vueuse/core';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader, BentoDashboardTemplateTabs } from './dashboard-template.types';\n\n const props = defineProps({\n header: null,\n tabs: { default: undefined },\n stickyTabs: { type: Boolean, default: false },\n stickyFilters: { type: Boolean, default: false }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const tabsRef = ref<InstanceType<typeof BentoTabs>>();\n const filtersRef = ref<HTMLDivElement>(null);\n const isFiltersPinned = ref(false);\n let filtersElementObserver: ResizeObserver | null = null;\n const isTabsPinned = ref(false);\n const tabsPosition = ref(0);\n\n const hasStickyFilters = computed(() => filtersRef.value && props.stickyFilters);\n const hasStickyTabs = computed(() => tabsRef.value && props.stickyTabs);\n\n const dashboardFiltersConditionalClasses = computed(() => ({\n 'b-dashboard-template__filters--sticky': props.stickyFilters,\n 'b-dashboard-template__filters--show-border':\n hasStickyFilters.value && !hasStickyTabs.value && isFiltersPinned.value,\n }));\n\n const dashboardTabsConditionalClasses = computed(() => ({\n 'b-dashboard-template__tabs--sticky': props.stickyTabs,\n 'b-dashboard-template__tabs--show-border': props.stickyTabs && isTabsPinned.value,\n }));\n\n const dashboardTopSectionConditionalClasses = computed(() => ({\n 'b-dashboard-template__top-section--sticky': props.stickyTabs || props.stickyFilters,\n }));\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const getTabTitle = (index: number) => props?.tabs.tabs?.[index]?.title ?? `Tab ${index + 1}`;\n\n const { y } = useWindowScroll();\n\n watch(\n () => filtersRef.value,\n () => {\n if (!filtersElementObserver && filtersRef.value) {\n filtersElementObserver = observeSizeOfElement(filtersRef.value, () => {\n if (filtersRef.value && hasStickyTabs.value) {\n const filtersHeight = filtersRef.value.offsetHeight;\n tabsPosition.value = hasStickyFilters.value ? filtersHeight : 0;\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement).style.top = `${tabsPosition.value}px`;\n }\n });\n }\n }\n );\n\n watch(\n () => y.value,\n () => {\n if (hasStickyFilters.value) {\n isFiltersPinned.value = filtersRef.value?.getBoundingClientRect().top === 0;\n }\n if (hasStickyTabs.value) {\n isTabsPinned.value =\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement)?.getBoundingClientRect().top ===\n tabsPosition.value;\n }\n }\n );\n\n onUnmounted(() => {\n filtersElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard template is a full page template used to visualize data on pages such as data dashboards and reports.\n *\n * @example\n * import { BentoDashboardTemplate, BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardTemplate, BentoDashboardSection },\n * template: `\n * <bento-dashboard-template :header=\"{ title: 'Dashboard'}\" :tabs=\"tabs: [{ title: 'Tab 1' }, { title: 'Tab 2' }]\" sticky-tabs sticky-filters>\n * <template #tab-1>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * <template #controls>\n * // Add your controls here\n * </template>\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * <template #tab-2>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * </bento-dashboard-template>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-template.scss\" />\n","<template>\n <div class=\"b-dashboard-section\" :class=\"conditionalClasses\">\n <bento-header v-bind=\"header\" variant=\"component\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div v-if=\"hasSlot('controls')\" class=\"b-dashboard-section__controls\">\n <slot name=\"controls\"></slot>\n </div>\n <div v-if=\"!hasSlot('content-col-1') && !hasSlot('content-col-2')\" class=\"b-dashboard-section__content\">\n <slot name=\"default\"></slot>\n </div>\n <div v-else class=\"b-dashboard-section__columns\">\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-1\"></slot></div>\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-2\"></slot></div>\n </div>\n <bento-divider class=\"b-dashboard-section__divider\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, useSlots } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoDivider } from '@/components/divider';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader } from '../../dashboard-template.types';\n\n const props = defineProps({\n header: null,\n halfWidth: { type: Boolean, default: false }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const conditionalClasses = computed(() => ({\n 'b-dashboard-section--half-width': props.halfWidth,\n }));\n\n onMounted(() => {\n if ((hasSlot('content-col-1') || hasSlot('content-col-2')) && props.halfWidth) {\n throw new Error('`content-col-1` and `content-col-2` cannot be used with half-width prop');\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard section is subcomponent of Dashboard template meant to be used to create the different sections within the page.\n *\n * @example\n * import { BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardSection },\n * template: `\n * <bento-dashboard-section :header=\"{ title: 'Section' }\" half-width>\n * <template #controls>\n * // Add your controls here\n * </template>\n * // You can render content with two cols\n * <template #content-col-1>\n * // Add your content here\n * </template>\n * <template #content-col-2>\n * // Add your content here\n * </template>\n * // Or you can render full width content by using default slot\n * // Add your content here\n * </bento-dashboard-section>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-section.scss\" />\n"],"names":["__default__$1","slots","useSlots","hasSlot","useHasSlot","tabsRef","ref","filtersRef","isFiltersPinned","filtersElementObserver","isTabsPinned","tabsPosition","hasStickyFilters","computed","props","hasStickyTabs","dashboardFiltersConditionalClasses","dashboardTabsConditionalClasses","dashboardTopSectionConditionalClasses","tabsSlots","el","getTabTitle","index","_b","_a","y","useWindowScroll","watch","observeSizeOfElement","filtersHeight","onUnmounted","__default__","conditionalClasses","onMounted"],"mappings":";;;;;;;;;AAuJI,MAAAA,IAAA,CAAA;;;;;;;;;;iBAhGAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,EAAA;AACA,QAAAG,IAAA;AACA,UAAAC,IAAAJ,EAAA,EAAA,GACAK,IAAAL,EAAA,CAAA,GAEAM,IAAAC,EAAA,MAAAN,EAAA,SAAAO,EAAA,aAAA,GACAC,IAAAF,EAAA,MAAAR,EAAA,SAAAS,EAAA,UAAA,GAEAE,IAAAH,EAAA,OAAA;AAAA,MAA2D,yCAAAC,EAAA;AAAA,MACR,8CAAAF,EAAA,SAAA,CAAAG,EAAA,SAAAP,EAAA;AAAA,IAEuB,EAAA,GAG1ES,IAAAJ,EAAA,OAAA;AAAA,MAAwD,sCAAAC,EAAA;AAAA,MACR,2CAAAA,EAAA,cAAAJ,EAAA;AAAA,IACgC,EAAA,GAGhFQ,IAAAL,EAAA,OAAA;AAAA,MAA8D,6CAAAC,EAAA,cAAAA,EAAA;AAAA,IACa,EAAA,GAG3EK,IAAAN,EAAA,MAAA,OAAA,KAAAZ,CAAA,EAAA,OAAA,CAAAmB,MAAAA,KAAA,gBAAAA,EAAA,SAAA,OAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;;AAAA,eAAAC,KAAAC,IAAAV,KAAA,gBAAAA,EAAA,KAAA,SAAA,gBAAAU,EAAAF,OAAA,gBAAAC,EAAA,UAAA,OAAAD,IAAA,CAAA;AAAA,OAEA,EAAA,GAAAG,EAAA,IAAAC,EAAA;AAEA,WAAAC;AAAA,MAAA,MAAApB,EAAA;AAAA,MACqB,MAAA;AAEb,QAAA,CAAAE,KAAAF,EAAA,UACIE,IAAAmB,EAAArB,EAAA,OAAA,MAAA;AACI,cAAAA,EAAA,SAAAQ,EAAA,OAAA;AACI,kBAAAc,IAAAtB,EAAA,MAAA;AACA,YAAAI,EAAA,QAAAC,EAAA,QAAAiB,IAAA,GACAxB,EAAA,MAAA,eAAA,IAAA,MAAA,MAAA,GAAAM,EAAA,KAAA;AAAA,UAAsF;AAAA,QAC1F,CAAA;AAAA,MAER;AAAA,IACJ,GAGJgB;AAAA,MAAA,MAAAF,EAAA;AAAA,MACY,MAAA;;AAEJ,QAAAb,EAAA,UACIJ,EAAA,UAAAgB,IAAAjB,EAAA,UAAA,gBAAAiB,EAAA,wBAAA,SAAA,IAEJT,EAAA,UACIL,EAAA,UAAAa,IAAAlB,EAAA,MAAA,eAAA,QAAA,gBAAAkB,EAAA,wBAAA,SAAAZ,EAAA;AAAA,MAGJ;AAAA,IACJ,GAGJmB,EAAA,MAAA;AACI,MAAArB,KAAA,QAAAA,EAAA;AAAA,IAAmC,CAAA;;;;;;;;;;;;;;;;;;sBC7CvCsB,IAAA,CAAA;;;;;;;;iBAzCA9B,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEA+B,IAAAnB,EAAA,OAAA;AAAA,MAA2C,mCAAAC,EAAA;AAAA,IACE,EAAA;AAG7C,WAAAmB,EAAA,MAAA;AACI,WAAA9B,EAAA,eAAA,KAAAA,EAAA,eAAA,MAAAW,EAAA;AACI,cAAA,IAAA,MAAA,yEAAA;AAAA,IACJ,CAAA;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dashboard-section.z-Rnv5E-.js","sources":["../../src/templates/dashboard-template/dashboard-template.vue","../../src/templates/dashboard-template/components/dashboard-section/dashboard-section.vue"],"sourcesContent":["<template>\n <main class=\"b-dashboard-template\">\n <bento-header v-bind=\"header\" variant=\"page\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div class=\"b-dashboard-template__top-section\" :class=\"dashboardTopSectionConditionalClasses\">\n <div\n v-if=\"hasSlot('filters')\"\n ref=\"filtersRef\"\n class=\"b-dashboard-template__filters\"\n :class=\"dashboardFiltersConditionalClasses\"\n data-testid=\"filters\"\n >\n <slot name=\"filters\" />\n </div>\n\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n class=\"b-dashboard-template__tabs\"\n :class=\"dashboardTabsConditionalClasses\"\n data-testid=\"tabs\"\n >\n <bento-tab v-for=\"(_item, index) in tabsSlots\" :key=\"`tab-${index}`\" :title=\"getTabTitle(index)\">\n <div class=\"b-dashboard-template__container b-dashboard-template__container--tabs\">\n <slot :name=\"`tab-${index + 1}`\" />\n </div>\n </bento-tab>\n </bento-tabs>\n <div v-else class=\"b-dashboard-template__container\">\n <slot />\n </div>\n </div>\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onUnmounted, ref, useSlots, watch } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useWindowScroll } from '@vueuse/core';\n import { observeSizeOfElement } from '@/utils/ts/resize';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader, BentoDashboardTemplateTabs } from './dashboard-template.types';\n\n const props = defineProps({\n header: null,\n tabs: { default: undefined },\n stickyTabs: { type: Boolean, default: false },\n stickyFilters: { type: Boolean, default: false }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const tabsRef = ref<InstanceType<typeof BentoTabs>>();\n const filtersRef = ref<HTMLDivElement>(null);\n const isFiltersPinned = ref(false);\n let filtersElementObserver: ResizeObserver | null = null;\n const isTabsPinned = ref(false);\n const tabsPosition = ref(0);\n\n const hasStickyFilters = computed(() => filtersRef.value && props.stickyFilters);\n const hasStickyTabs = computed(() => tabsRef.value && props.stickyTabs);\n\n const dashboardFiltersConditionalClasses = computed(() => ({\n 'b-dashboard-template__filters--sticky': props.stickyFilters,\n 'b-dashboard-template__filters--show-border':\n hasStickyFilters.value && !hasStickyTabs.value && isFiltersPinned.value,\n }));\n\n const dashboardTabsConditionalClasses = computed(() => ({\n 'b-dashboard-template__tabs--sticky': props.stickyTabs,\n 'b-dashboard-template__tabs--show-border': props.stickyTabs && isTabsPinned.value,\n }));\n\n const dashboardTopSectionConditionalClasses = computed(() => ({\n 'b-dashboard-template__top-section--sticky': props.stickyTabs || props.stickyFilters,\n }));\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const getTabTitle = (index: number) => props?.tabs.tabs?.[index]?.title ?? `Tab ${index + 1}`;\n\n const { y } = useWindowScroll();\n\n watch(\n () => filtersRef.value,\n () => {\n if (!filtersElementObserver && filtersRef.value) {\n filtersElementObserver = observeSizeOfElement(filtersRef.value, () => {\n if (filtersRef.value && hasStickyTabs.value) {\n const filtersHeight = filtersRef.value.offsetHeight;\n tabsPosition.value = hasStickyFilters.value ? filtersHeight : 0;\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement).style.top = `${tabsPosition.value}px`;\n }\n });\n }\n }\n );\n\n watch(\n () => y.value,\n () => {\n if (hasStickyFilters.value) {\n isFiltersPinned.value = filtersRef.value?.getBoundingClientRect().top === 0;\n }\n if (hasStickyTabs.value) {\n isTabsPinned.value =\n (tabsRef.value.tablistwrapper.$el as HTMLDivElement)?.getBoundingClientRect().top ===\n tabsPosition.value;\n }\n }\n );\n\n onUnmounted(() => {\n filtersElementObserver?.disconnect();\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard template is a full page template used to visualize data on pages such as data dashboards and reports.\n *\n * @example\n * import { BentoDashboardTemplate, BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardTemplate, BentoDashboardSection },\n * template: `\n * <bento-dashboard-template :header=\"{ title: 'Dashboard'}\" :tabs=\"tabs: [{ title: 'Tab 1' }, { title: 'Tab 2' }]\" sticky-tabs sticky-filters>\n * <template #tab-1>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * <template #controls>\n * // Add your controls here\n * </template>\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * <template #tab-2>\n * <bento-dashboard-section :header=\"{ title: 'Section'}\">\n * // Add your content here\n * </bento-dashboard-section>\n * </template>\n * </bento-dashboard-template>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-template.scss\" />\n","<template>\n <div class=\"b-dashboard-section\" :class=\"conditionalClasses\">\n <bento-header v-bind=\"header\" variant=\"component\" class=\"b-dashboard-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div v-if=\"hasSlot('controls')\" class=\"b-dashboard-section__controls\">\n <slot name=\"controls\"></slot>\n </div>\n <div v-if=\"!hasSlot('content-col-1') && !hasSlot('content-col-2')\" class=\"b-dashboard-section__content\">\n <slot name=\"default\"></slot>\n </div>\n <div v-else class=\"b-dashboard-section__columns\">\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-1\"></slot></div>\n <div class=\"b-dashboard-section__content\"><slot name=\"content-col-2\"></slot></div>\n </div>\n <bento-divider class=\"b-dashboard-section__divider\" />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, onMounted, useSlots } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoDivider } from '@/components/divider';\n import { useHasSlot } from '@/composables';\n import type { BentoDashboardTemplateHeader } from '../../dashboard-template.types';\n\n const props = defineProps({\n header: null,\n halfWidth: { type: Boolean, default: false }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const conditionalClasses = computed(() => ({\n 'b-dashboard-section--half-width': props.halfWidth,\n }));\n\n onMounted(() => {\n if ((hasSlot('content-col-1') || hasSlot('content-col-2')) && props.halfWidth) {\n throw new Error('`content-col-1` and `content-col-2` cannot be used with half-width prop');\n }\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Dashboard section is subcomponent of Dashboard template meant to be used to create the different sections within the page.\n *\n * @example\n * import { BentoDashboardSection } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashboardSection },\n * template: `\n * <bento-dashboard-section :header=\"{ title: 'Section' }\" half-width>\n * <template #controls>\n * // Add your controls here\n * </template>\n * // You can render content with two cols\n * <template #content-col-1>\n * // Add your content here\n * </template>\n * <template #content-col-2>\n * // Add your content here\n * </template>\n * // Or you can render full width content by using default slot\n * // Add your content here\n * </bento-dashboard-section>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashboard-section.scss\" />\n"],"names":["__default__$1","slots","useSlots","hasSlot","useHasSlot","tabsRef","ref","filtersRef","isFiltersPinned","filtersElementObserver","isTabsPinned","tabsPosition","hasStickyFilters","computed","props","hasStickyTabs","dashboardFiltersConditionalClasses","dashboardTabsConditionalClasses","dashboardTopSectionConditionalClasses","tabsSlots","el","getTabTitle","index","_b","_a","y","useWindowScroll","watch","observeSizeOfElement","filtersHeight","onUnmounted","__default__","conditionalClasses","onMounted"],"mappings":";;;;;;;;;AAuJI,MAAAA,IAAA,CAAA;;;;;;;;;;iBAhGAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,EAAA;AACA,QAAAG,IAAA;AACA,UAAAC,IAAAJ,EAAA,EAAA,GACAK,IAAAL,EAAA,CAAA,GAEAM,IAAAC,EAAA,MAAAN,EAAA,SAAAO,EAAA,aAAA,GACAC,IAAAF,EAAA,MAAAR,EAAA,SAAAS,EAAA,UAAA,GAEAE,IAAAH,EAAA,OAAA;AAAA,MAA2D,yCAAAC,EAAA;AAAA,MACR,8CAAAF,EAAA,SAAA,CAAAG,EAAA,SAAAP,EAAA;AAAA,IAEuB,EAAA,GAG1ES,IAAAJ,EAAA,OAAA;AAAA,MAAwD,sCAAAC,EAAA;AAAA,MACR,2CAAAA,EAAA,cAAAJ,EAAA;AAAA,IACgC,EAAA,GAGhFQ,IAAAL,EAAA,OAAA;AAAA,MAA8D,6CAAAC,EAAA,cAAAA,EAAA;AAAA,IACa,EAAA,GAG3EK,IAAAN,EAAA,MAAA,OAAA,KAAAZ,CAAA,EAAA,OAAA,CAAAmB,MAAAA,KAAA,gBAAAA,EAAA,SAAA,OAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;;AAAA,eAAAC,KAAAC,IAAAV,KAAA,gBAAAA,EAAA,KAAA,SAAA,gBAAAU,EAAAF,OAAA,gBAAAC,EAAA,UAAA,OAAAD,IAAA,CAAA;AAAA,OAEA,EAAA,GAAAG,EAAA,IAAAC,EAAA;AAEA,WAAAC;AAAA,MAAA,MAAApB,EAAA;AAAA,MACqB,MAAA;AAEb,QAAA,CAAAE,KAAAF,EAAA,UACIE,IAAAmB,EAAArB,EAAA,OAAA,MAAA;AACI,cAAAA,EAAA,SAAAQ,EAAA,OAAA;AACI,kBAAAc,IAAAtB,EAAA,MAAA;AACA,YAAAI,EAAA,QAAAC,EAAA,QAAAiB,IAAA,GACAxB,EAAA,MAAA,eAAA,IAAA,MAAA,MAAA,GAAAM,EAAA,KAAA;AAAA,UAAsF;AAAA,QAC1F,CAAA;AAAA,MAER;AAAA,IACJ,GAGJgB;AAAA,MAAA,MAAAF,EAAA;AAAA,MACY,MAAA;;AAEJ,QAAAb,EAAA,UACIJ,EAAA,UAAAgB,IAAAjB,EAAA,UAAA,gBAAAiB,EAAA,wBAAA,SAAA,IAEJT,EAAA,UACIL,EAAA,UAAAa,IAAAlB,EAAA,MAAA,eAAA,QAAA,gBAAAkB,EAAA,wBAAA,SAAAZ,EAAA;AAAA,MAGJ;AAAA,IACJ,GAGJmB,EAAA,MAAA;AACI,MAAArB,KAAA,QAAAA,EAAA;AAAA,IAAmC,CAAA;;;;;;;;;;;;;;;;;;sBC7CvCsB,IAAA,CAAA;;;;;;;;iBAzCA9B,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEA+B,IAAAnB,EAAA,OAAA;AAAA,MAA2C,mCAAAC,EAAA;AAAA,IACE,EAAA;AAG7C,WAAAmB,EAAA,MAAA;AACI,WAAA9B,EAAA,eAAA,KAAAA,EAAA,eAAA,MAAAW,EAAA;AACI,cAAA,IAAA,MAAA,yEAAA;AAAA,IACJ,CAAA;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
- import { defineComponent as h, useSlots as P, ref as p, computed as d, watch as T } from "vue";
2
- import { B as O } from "./popover.Cb6utVhS.js";
1
+ import { defineComponent as h, useSlots as P, ref as p, computed as m, watch as T } from "vue";
2
+ import { B as O } from "./popover.BvsqsZQ1.js";
3
3
  import { B as x } from "./typography.J1v_SPG3.js";
4
4
  import { u as B } from "./use-has-slot.C9lQZ6nz.js";
5
- import { B as g } from "./tooltip.RPURZd36.js";
5
+ import { B as g } from "./tooltip.DShIiBiY.js";
6
6
  import { n as I } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
7
7
  import "../assets/dashed-underline.css";
8
8
  const b = {}, S = /* @__PURE__ */ h({
@@ -22,11 +22,11 @@ const b = {}, S = /* @__PURE__ */ h({
22
22
  i.value = !1;
23
23
  }, n);
24
24
  r.value = t;
25
- }, m = () => {
25
+ }, d = () => {
26
26
  c();
27
27
  }, _ = (t) => {
28
28
  (!s.value || !((t == null ? void 0 : t.relatedTarget) instanceof Element) || !s.value.contains(t.relatedTarget)) && u();
29
- }, f = d(() => o.popoverText || a("popover-content")), v = d(() => !o.tooltipText && !f.value);
29
+ }, f = m(() => o.popoverText || a("popover-content")), v = m(() => !o.tooltipText && !f.value);
30
30
  return T(
31
31
  v,
32
32
  (t) => {
@@ -36,7 +36,7 @@ const b = {}, S = /* @__PURE__ */ h({
36
36
  );
37
37
  },
38
38
  { immediate: !0 }
39
- ), { __sfc: !0, CLOSING_POPOVER_DELAY_MS: n, props: o, slots: e, hasSlot: a, element: s, isOpen: i, closingTimeOutId: r, openPopover: c, closePopover: u, infoIconOnFocus: m, infoIconOnFocusOut: _, hasPopover: f, shouldShowTooltipPopoverError: v, BentoPopover: O, vBentoTooltipDirective: g, BentoTypography: x };
39
+ ), { __sfc: !0, CLOSING_POPOVER_DELAY_MS: n, props: o, slots: e, hasSlot: a, element: s, isOpen: i, closingTimeOutId: r, openPopover: c, closePopover: u, infoIconOnFocus: d, infoIconOnFocusOut: _, hasPopover: f, shouldShowTooltipPopoverError: v, BentoPopover: O, vBentoTooltipDirective: g, BentoTypography: x };
40
40
  }
41
41
  });
42
42
  var w = function() {
@@ -54,6 +54,6 @@ var w = function() {
54
54
  );
55
55
  const U = C.exports;
56
56
  export {
57
- U as d
57
+ U as B
58
58
  };
59
- //# sourceMappingURL=dashed-underline.eMF75SuT.js.map
59
+ //# sourceMappingURL=dashed-underline.CfQuYKV9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashed-underline.eMF75SuT.js","sources":["../../src/components/dashed-underline/dashed-underline.vue"],"sourcesContent":["<template>\n <span\n ref=\"element\"\n v-bento-tooltip-directive:[tooltipPosition]=\"tooltipText\"\n class=\"b-dashed-underline\"\n tabindex=\"0\"\n @mouseenter=\"openPopover\"\n @mouseleave=\"closePopover\"\n @focus=\"infoIconOnFocus\"\n @focusout=\"infoIconOnFocusOut\"\n >\n <slot></slot>\n <bento-popover\n v-if=\"element && hasPopover\"\n :open=\"isOpen\"\n :target-element=\"element\"\n :position=\"popoverPosition\"\n role=\"tooltip\"\n fit-content\n disable-focus-trap\n >\n <slot name=\"popover-content\">\n <bento-typography>\n {{ popoverText }}\n </bento-typography>\n </slot>\n </bento-popover>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, ref, useSlots, watch } from 'vue';\n import { BentoPopover, type BentoPopoverPositions } from '@/components/popover';\n import {\n type BentoTooltipPosition,\n BentoTooltipDirective as vBentoTooltipDirective,\n } from '@/directives/tooltip/index';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n\n const CLOSING_POPOVER_DELAY_MS = 200;\n\n const props = defineProps({\n popoverText: { default: null },\n popoverPosition: { default: 'top' },\n tooltipText: { default: null },\n tooltipPosition: { default: 'top' }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const element = ref<HTMLSpanElement>(null);\n const isOpen = ref(false);\n\n const closingTimeOutId = ref();\n\n const openPopover = () => {\n isOpen.value = true;\n if (closingTimeOutId.value) {\n clearTimeout(closingTimeOutId.value);\n }\n };\n\n const closePopover = () => {\n // We want to delay closing for a couple of seconds so\n // it doesn't flicker if a user hovers over the icon and then inside the popover.\n const timeOutId = setTimeout(() => {\n isOpen.value = false;\n }, CLOSING_POPOVER_DELAY_MS);\n closingTimeOutId.value = timeOutId;\n };\n\n const infoIconOnFocus = () => {\n openPopover();\n };\n\n /**\n * Only close popover on blur if the newly focus element is not a child of this element\n * @param e - the event that contains the newly focused element\n */\n const infoIconOnFocusOut = (e: FocusEvent) => {\n if (!element.value || !(e?.relatedTarget instanceof Element) || !element.value.contains(e.relatedTarget)) {\n closePopover();\n }\n };\n\n const hasPopover = computed(() => props.popoverText || hasSlot('popover-content'));\n\n const shouldShowTooltipPopoverError = computed(() => !props.tooltipText && !hasPopover.value);\n\n watch(\n shouldShowTooltipPopoverError,\n value => {\n if (value) {\n throw new Error(\n 'BentoDashedUnderline requires either a tooltip or a popover to be configured. Check the docs for more info.'\n );\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * The dashed underline serves as a visual cue to indicate that additional information is available for\n * a specific word or phrase without adding an icon.\n *\n * @example\n * import { BentoDashedUnderline } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashedUnderline },\n * template: `\n * <bento-dashed-underline>\n * annotated text\n * </bento-dashed-underline>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashed-underline.scss\" />\n"],"names":["__default__","CLOSING_POPOVER_DELAY_MS","slots","useSlots","hasSlot","useHasSlot","element","ref","isOpen","closingTimeOutId","openPopover","closePopover","timeOutId","infoIconOnFocus","infoIconOnFocusOut","e","hasPopover","computed","props","shouldShowTooltipPopoverError","watch","value"],"mappings":";;;;;;;AAyHI,MAAAA,IAAA,CAAA;;;;;;;;;;iBAjFAC,IAAA,KASAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,EAAA,GAEAE,IAAAF,EAAA,GAEAG,IAAA,MAAA;AACI,MAAAF,EAAA,QAAA,IACAC,EAAA,SACI,aAAAA,EAAA,KAAA;AAAA,IACJ,GAGJE,IAAA,MAAA;AAGI,YAAAC,IAAA,WAAA,MAAA;AACI,QAAAJ,EAAA,QAAA;AAAA,MAAe,GAAAP,CAAA;AAEnB,MAAAQ,EAAA,QAAAG;AAAA,IAAyB,GAG7BC,IAAA,MAAA;AACI,MAAAH,EAAA;AAAA,IAAY,GAOhBI,IAAA,CAAAC,MAAA;AACI,OAAA,CAAAT,EAAA,SAAA,GAAAS,KAAA,gBAAAA,EAAA,0BAAA,YAAA,CAAAT,EAAA,MAAA,SAAAS,EAAA,aAAA,MACIJ,EAAA;AAAA,IACJ,GAGJK,IAAAC,EAAA,MAAAC,EAAA,eAAAd,EAAA,iBAAA,CAAA,GAEAe,IAAAF,EAAA,MAAA,CAAAC,EAAA,eAAA,CAAAF,EAAA,KAAA;AAEA,WAAAI;AAAA,MAAAD;AAAA,MACI,CAAAE,MAAA;AAEI,YAAAA;AACI,gBAAA,IAAA;AAAA,YAAU;AAAA,UACN;AAAA,MAER;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dashed-underline.CfQuYKV9.js","sources":["../../src/components/dashed-underline/dashed-underline.vue"],"sourcesContent":["<template>\n <span\n ref=\"element\"\n v-bento-tooltip-directive:[tooltipPosition]=\"tooltipText\"\n class=\"b-dashed-underline\"\n tabindex=\"0\"\n @mouseenter=\"openPopover\"\n @mouseleave=\"closePopover\"\n @focus=\"infoIconOnFocus\"\n @focusout=\"infoIconOnFocusOut\"\n >\n <slot></slot>\n <bento-popover\n v-if=\"element && hasPopover\"\n :open=\"isOpen\"\n :target-element=\"element\"\n :position=\"popoverPosition\"\n role=\"tooltip\"\n fit-content\n disable-focus-trap\n >\n <slot name=\"popover-content\">\n <bento-typography>\n {{ popoverText }}\n </bento-typography>\n </slot>\n </bento-popover>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, ref, useSlots, watch } from 'vue';\n import { BentoPopover, type BentoPopoverPositions } from '@/components/popover';\n import {\n type BentoTooltipPosition,\n BentoTooltipDirective as vBentoTooltipDirective,\n } from '@/directives/tooltip/index';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n\n const CLOSING_POPOVER_DELAY_MS = 200;\n\n const props = defineProps({\n popoverText: { default: null },\n popoverPosition: { default: 'top' },\n tooltipText: { default: null },\n tooltipPosition: { default: 'top' }\n});\n\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const element = ref<HTMLSpanElement>(null);\n const isOpen = ref(false);\n\n const closingTimeOutId = ref();\n\n const openPopover = () => {\n isOpen.value = true;\n if (closingTimeOutId.value) {\n clearTimeout(closingTimeOutId.value);\n }\n };\n\n const closePopover = () => {\n // We want to delay closing for a couple of seconds so\n // it doesn't flicker if a user hovers over the icon and then inside the popover.\n const timeOutId = setTimeout(() => {\n isOpen.value = false;\n }, CLOSING_POPOVER_DELAY_MS);\n closingTimeOutId.value = timeOutId;\n };\n\n const infoIconOnFocus = () => {\n openPopover();\n };\n\n /**\n * Only close popover on blur if the newly focus element is not a child of this element\n * @param e - the event that contains the newly focused element\n */\n const infoIconOnFocusOut = (e: FocusEvent) => {\n if (!element.value || !(e?.relatedTarget instanceof Element) || !element.value.contains(e.relatedTarget)) {\n closePopover();\n }\n };\n\n const hasPopover = computed(() => props.popoverText || hasSlot('popover-content'));\n\n const shouldShowTooltipPopoverError = computed(() => !props.tooltipText && !hasPopover.value);\n\n watch(\n shouldShowTooltipPopoverError,\n value => {\n if (value) {\n throw new Error(\n 'BentoDashedUnderline requires either a tooltip or a popover to be configured. Check the docs for more info.'\n );\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * The dashed underline serves as a visual cue to indicate that additional information is available for\n * a specific word or phrase without adding an icon.\n *\n * @example\n * import { BentoDashedUnderline } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashedUnderline },\n * template: `\n * <bento-dashed-underline>\n * annotated text\n * </bento-dashed-underline>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashed-underline.scss\" />\n"],"names":["__default__","CLOSING_POPOVER_DELAY_MS","slots","useSlots","hasSlot","useHasSlot","element","ref","isOpen","closingTimeOutId","openPopover","closePopover","timeOutId","infoIconOnFocus","infoIconOnFocusOut","e","hasPopover","computed","props","shouldShowTooltipPopoverError","watch","value"],"mappings":";;;;;;;AAyHI,MAAAA,IAAA,CAAA;;;;;;;;;;iBAjFAC,IAAA,KASAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,EAAA,GAEAE,IAAAF,EAAA,GAEAG,IAAA,MAAA;AACI,MAAAF,EAAA,QAAA,IACAC,EAAA,SACI,aAAAA,EAAA,KAAA;AAAA,IACJ,GAGJE,IAAA,MAAA;AAGI,YAAAC,IAAA,WAAA,MAAA;AACI,QAAAJ,EAAA,QAAA;AAAA,MAAe,GAAAP,CAAA;AAEnB,MAAAQ,EAAA,QAAAG;AAAA,IAAyB,GAG7BC,IAAA,MAAA;AACI,MAAAH,EAAA;AAAA,IAAY,GAOhBI,IAAA,CAAAC,MAAA;AACI,OAAA,CAAAT,EAAA,SAAA,GAAAS,KAAA,gBAAAA,EAAA,0BAAA,YAAA,CAAAT,EAAA,MAAA,SAAAS,EAAA,aAAA,MACIJ,EAAA;AAAA,IACJ,GAGJK,IAAAC,EAAA,MAAAC,EAAA,eAAAd,EAAA,iBAAA,CAAA,GAEAe,IAAAF,EAAA,MAAA,CAAAC,EAAA,eAAA,CAAAF,EAAA,KAAA;AAEA,WAAAI;AAAA,MAAAD;AAAA,MACI,CAAAE,MAAA;AAEI,YAAAA;AACI,gBAAA,IAAA;AAAA,YAAU;AAAA,UACN;AAAA,MAER;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as m, useSlots as u, ref as T, computed as b, provide as v, toRef as y } from "vue";
2
- import { B as C } from "./header.BAKjEGmH.js";
2
+ import { B as C } from "./header.0hX8OYwM.js";
3
3
  import { a as g, B as R } from "./tabs.UFoTqvew.js";
4
4
  import { u as I } from "./use-has-slot.C9lQZ6nz.js";
5
5
  import { D as S } from "./data-grid-template.keys.2_AkxuNT.js";
@@ -66,4 +66,4 @@ const N = G.exports;
66
66
  export {
67
67
  N as d
68
68
  };
69
- //# sourceMappingURL=data-grid-template.CdHnPE1-.js.map
69
+ //# sourceMappingURL=data-grid-template.73mazFER.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid-template.CdHnPE1-.js","sources":["../../src/templates/data-grid-template/data-grid-template.vue"],"sourcesContent":["<template>\n <main class=\"b-data-grid-template b-data-grid-template--sticky-tabs\">\n <bento-header v-bind=\"header\" variant=\"component\" class=\"b-data-grid-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div v-if=\"hasSlot('additionalContent')\" class=\"b-data-grid-template__additional-content\">\n <slot name=\"additionalContent\" />\n </div>\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n class=\"b-data-grid-template__tabs\"\n @update:active-tab-index=\"emitTabs\"\n >\n <bento-tab v-for=\"(_item, index) in tabsSlots\" :key=\"`tab-${index}`\" :title=\"getTabTitle(index)\">\n <slot :name=\"`tab-${index + 1}`\" />\n </bento-tab>\n </bento-tabs>\n <slot v-else />\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, provide, Ref, ref, toRef, UnwrapRef, useSlots } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useHasSlot } from '@/composables';\n import { DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY } from './data-grid-template.keys';\n import type {\n BentoDataGridTemplateDataGrid,\n BentoDataGridTemplateHeader,\n BentoDataGridTemplateTabs,\n } from './data-grid-template.types';\n\n const props = defineProps({\n /**\n * The header that goes to the top of the template\n */\n header: {\n type: Object as PropType<BentoDataGridTemplateHeader>,\n required: true,\n },\n\n /**\n * All the tab properties that can be set on the inner tab components.\n * - tabs.activeTabIndex: the currently active tab index.\n * - tabs.tabs: an array of BentoTab props, the first item in the array will affect the `tab-1` slot and so on.\n */\n tabs: {\n type: Object as PropType<BentoDataGridTemplateTabs>,\n default: undefined,\n },\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyTabs: {\n type: Boolean,\n default: false,\n },\n });\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits([\"update:tabs\"]);\n\n const tabsRef = ref(null);\n\n const computedTabsRef = computed(() => tabsRef.value?.$refs?.tablist);\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const emitTabs = (newActiveTabIndex: number) => {\n emit('update:tabs', { ...props.tabs, activeTabIndex: newActiveTabIndex });\n };\n\n const getTabTitle = (index: number) => props?.tabs.tabs?.[index]?.title ?? `Tab ${index + 1}`;\n\n const registerDatagridInDataGridTemplate: BentoDataGridTemplateDataGrid = () => {\n const isDataGridTemplate = true;\n const stickyTabs: Ref<boolean> = toRef(props, 'stickyTabs');\n const tabsRef: Ref<UnwrapRef<HTMLDivElement>> | null = computedTabsRef;\n\n // return values to the Tab component\n return { isDataGridTemplate, stickyTabs, tabsRef };\n };\n\n provide(DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY, registerDatagridInDataGridTemplate);\n</script>\n\n<script lang=\"ts\">\n /**\n * The data grid template is a restrictive, full-page data grid used to display information from a data set.\n * You can use this data grid template when your user needs a clear overview of data or a way of organizing and analyzing the data in their own way.\n * This data grid template shouldn’t be confused with the data grid.\n *\n * @example\n * import { BentoDataGridTemplate } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDataGridTemplate },\n * template: `\n * // If you want to display multiple data grids in the same page (they will be rendered in different tabs)\n * <bento-data-grid-template>\n * <template #tab-1><bento-data-grid v-bind=\"your-data-grid-args\" title=\"Title for tab 1\"/></template>\n * <template #tab-2><bento-data-grid v-bind=\"your-data-grid-args\" title=\"Title for tab 2\"/></template>\n * </bento-data-grid-template>\n * // Alternatively, if you only want to pass one data grid to your template:\n * <bento-data-grid-template>\n * <template #default><bento-data-grid v-bind=\"your-data-grid-args\"/></template>\n * </bento-data-grid-template>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./data-grid-template.scss\" />\n"],"names":["__default__","slots","useSlots","hasSlot","useHasSlot","tabsRef","ref","computedTabsRef","computed","_b","_a","tabsSlots","el","emitTabs","newActiveTabIndex","emit","props","getTabTitle","index","registerDatagridInDataGridTemplate","toRef","provide","DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY"],"mappings":";;;;;;;AAqHI,MAAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBArDAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAIAI,IAAAC,EAAA,IAAA,GAEAC,IAAAC,EAAA,MAAA;;AAAA,cAAAC,KAAAC,IAAAL,EAAA,UAAA,gBAAAK,EAAA,UAAA,gBAAAD,EAAA;AAAA,KAAA,GAEAE,IAAAH,EAAA,MAAA,OAAA,KAAAP,CAAA,EAAA,OAAA,CAAAW,MAAAA,KAAA,gBAAAA,EAAA,SAAA,OAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;AACI,MAAAC,EAAA,eAAA,EAAA,GAAAC,EAAA,MAAA,gBAAAF,EAAA,CAAA;AAAA,IAAwE,GAG5EG,IAAA,CAAAC,MAAA;;AAAA,eAAAT,KAAAC,IAAAM,KAAA,gBAAAA,EAAA,KAAA,SAAA,gBAAAN,EAAAQ,OAAA,gBAAAT,EAAA,UAAA,OAAAS,IAAA,CAAA;AAAA,OAEAC,IAAA,OAMI,EAAA,wBAAA,YAJAC,EAAAJ,GAAA,YAAA,GAIA,SAHAT,EAGA;AAGJ,WAAAc,EAAAC,GAAAH,CAAA;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"data-grid-template.73mazFER.js","sources":["../../src/templates/data-grid-template/data-grid-template.vue"],"sourcesContent":["<template>\n <main class=\"b-data-grid-template b-data-grid-template--sticky-tabs\">\n <bento-header v-bind=\"header\" variant=\"component\" class=\"b-data-grid-template__header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n <div v-if=\"hasSlot('additionalContent')\" class=\"b-data-grid-template__additional-content\">\n <slot name=\"additionalContent\" />\n </div>\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n class=\"b-data-grid-template__tabs\"\n @update:active-tab-index=\"emitTabs\"\n >\n <bento-tab v-for=\"(_item, index) in tabsSlots\" :key=\"`tab-${index}`\" :title=\"getTabTitle(index)\">\n <slot :name=\"`tab-${index + 1}`\" />\n </bento-tab>\n </bento-tabs>\n <slot v-else />\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, provide, Ref, ref, toRef, UnwrapRef, useSlots } from 'vue';\n import { BentoHeader } from '@/components/header';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useHasSlot } from '@/composables';\n import { DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY } from './data-grid-template.keys';\n import type {\n BentoDataGridTemplateDataGrid,\n BentoDataGridTemplateHeader,\n BentoDataGridTemplateTabs,\n } from './data-grid-template.types';\n\n const props = defineProps({\n /**\n * The header that goes to the top of the template\n */\n header: {\n type: Object as PropType<BentoDataGridTemplateHeader>,\n required: true,\n },\n\n /**\n * All the tab properties that can be set on the inner tab components.\n * - tabs.activeTabIndex: the currently active tab index.\n * - tabs.tabs: an array of BentoTab props, the first item in the array will affect the `tab-1` slot and so on.\n */\n tabs: {\n type: Object as PropType<BentoDataGridTemplateTabs>,\n default: undefined,\n },\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyTabs: {\n type: Boolean,\n default: false,\n },\n });\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits([\"update:tabs\"]);\n\n const tabsRef = ref(null);\n\n const computedTabsRef = computed(() => tabsRef.value?.$refs?.tablist);\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const emitTabs = (newActiveTabIndex: number) => {\n emit('update:tabs', { ...props.tabs, activeTabIndex: newActiveTabIndex });\n };\n\n const getTabTitle = (index: number) => props?.tabs.tabs?.[index]?.title ?? `Tab ${index + 1}`;\n\n const registerDatagridInDataGridTemplate: BentoDataGridTemplateDataGrid = () => {\n const isDataGridTemplate = true;\n const stickyTabs: Ref<boolean> = toRef(props, 'stickyTabs');\n const tabsRef: Ref<UnwrapRef<HTMLDivElement>> | null = computedTabsRef;\n\n // return values to the Tab component\n return { isDataGridTemplate, stickyTabs, tabsRef };\n };\n\n provide(DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY, registerDatagridInDataGridTemplate);\n</script>\n\n<script lang=\"ts\">\n /**\n * The data grid template is a restrictive, full-page data grid used to display information from a data set.\n * You can use this data grid template when your user needs a clear overview of data or a way of organizing and analyzing the data in their own way.\n * This data grid template shouldn’t be confused with the data grid.\n *\n * @example\n * import { BentoDataGridTemplate } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDataGridTemplate },\n * template: `\n * // If you want to display multiple data grids in the same page (they will be rendered in different tabs)\n * <bento-data-grid-template>\n * <template #tab-1><bento-data-grid v-bind=\"your-data-grid-args\" title=\"Title for tab 1\"/></template>\n * <template #tab-2><bento-data-grid v-bind=\"your-data-grid-args\" title=\"Title for tab 2\"/></template>\n * </bento-data-grid-template>\n * // Alternatively, if you only want to pass one data grid to your template:\n * <bento-data-grid-template>\n * <template #default><bento-data-grid v-bind=\"your-data-grid-args\"/></template>\n * </bento-data-grid-template>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./data-grid-template.scss\" />\n"],"names":["__default__","slots","useSlots","hasSlot","useHasSlot","tabsRef","ref","computedTabsRef","computed","_b","_a","tabsSlots","el","emitTabs","newActiveTabIndex","emit","props","getTabTitle","index","registerDatagridInDataGridTemplate","toRef","provide","DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY"],"mappings":";;;;;;;AAqHI,MAAAA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBArDAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAIAI,IAAAC,EAAA,IAAA,GAEAC,IAAAC,EAAA,MAAA;;AAAA,cAAAC,KAAAC,IAAAL,EAAA,UAAA,gBAAAK,EAAA,UAAA,gBAAAD,EAAA;AAAA,KAAA,GAEAE,IAAAH,EAAA,MAAA,OAAA,KAAAP,CAAA,EAAA,OAAA,CAAAW,MAAAA,KAAA,gBAAAA,EAAA,SAAA,OAAA,CAAA,GAEAC,IAAA,CAAAC,MAAA;AACI,MAAAC,EAAA,eAAA,EAAA,GAAAC,EAAA,MAAA,gBAAAF,EAAA,CAAA;AAAA,IAAwE,GAG5EG,IAAA,CAAAC,MAAA;;AAAA,eAAAT,KAAAC,IAAAM,KAAA,gBAAAA,EAAA,KAAA,SAAA,gBAAAN,EAAAQ,OAAA,gBAAAT,EAAA,UAAA,OAAAS,IAAA,CAAA;AAAA,OAEAC,IAAA,OAMI,EAAA,wBAAA,YAJAC,EAAAJ,GAAA,YAAA,GAIA,SAHAT,EAGA;AAGJ,WAAAc,EAAAC,GAAAH,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -5,17 +5,17 @@ import { W as rn } from "./warning-filled.Cd0kVWwa.js";
5
5
  import { n as V } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
6
6
  import { C as lt } from "./cross.CJ5EEL2c.js";
7
7
  import { N as Ge } from "./checkbox-input.CMhyJDdo.js";
8
- import { d as dn } from "./popper-container.CiEkF7eb.js";
9
- import { K as te, B as cn } from "./tooltip.RPURZd36.js";
10
- import { B as un } from "./action-bar.DuJkjAt1.js";
11
- import { B as fn } from "./pagination.FuELftBG.js";
8
+ import { d as dn } from "./popper-container.LRQgzjRf.js";
9
+ import { K as te, B as cn } from "./tooltip.DShIiBiY.js";
10
+ import { B as un } from "./action-bar.Cuktzrp5.js";
11
+ import { B as fn } from "./pagination.CvGOUwd8.js";
12
12
  import { B as Ne } from "./loading-indicator.z8COalOc.js";
13
13
  import { B as he, p as at } from "./typography.J1v_SPG3.js";
14
14
  import { u as Ie } from "./use-has-slot.C9lQZ6nz.js";
15
15
  import { u as gn } from "./aria-label.CaUURpnB.js";
16
16
  import { g as _n } from "./get-slot-text.BQS5Olxm.js";
17
17
  import { u as ie } from "./i18n.BQkEbtPM.js";
18
- import { B as Le } from "./filter-bar.CwqoJGiK.js";
18
+ import { B as Le } from "./filter-bar.BdGtQC7p.js";
19
19
  import { B as vn } from "./empty-state.JbgxSrnv.js";
20
20
  import { E as Cn } from "./tabs.keys.Bc2pSKRw.js";
21
21
  import { D as hn } from "./data-grid-template.keys.2_AkxuNT.js";
@@ -23,24 +23,24 @@ import { o as De } from "./resize.Bqks3WUm.js";
23
23
  import "./index.Cl4_42j5.js";
24
24
  import { u as mn } from "./use-expandable-content-height.GkjjbmPy.js";
25
25
  import { g as Re } from "./generate-uid.NJ8tVoha.js";
26
- import { B as it } from "./checkbox.BeYtbfPv.js";
26
+ import { B as it } from "./checkbox.l7h6GYew.js";
27
27
  import { B as rt } from "./button.D-3uUhuG.js";
28
- import { B as dt, O as pn, D as Sn } from "./menu.li3Kg9Uq.js";
28
+ import { B as dt, O as pn, D as Sn } from "./menu.CY7ceslP.js";
29
29
  import { E as Ln } from "./link.BH3eB_7E.js";
30
- import { C as wn } from "./copy.2iD8aI5a.js";
30
+ import { C as wn } from "./copy.DD_Yfyn_.js";
31
31
  import { C as En, a as Rn } from "./chevron-up.CSVyoaTy.js";
32
32
  import { B as Fe } from "./toggle-button.DgSFugBP.js";
33
33
  import { e as yn, d as bn } from "./button-actions.DAvSJtOB.js";
34
- import { B as On } from "./info-icon.D3neDWqH.js";
35
- import { a as We, B as An } from "./popover.Cb6utVhS.js";
34
+ import { B as On } from "./info-icon.C1ReXurF.js";
35
+ import { a as We, B as An } from "./popover.BvsqsZQ1.js";
36
36
  import { A as Tn } from "./dialog-page.BfF5_hmG.js";
37
37
  import { H as Nn, S as In } from "./show.e4LEpZKG.js";
38
38
  import { l as He } from "./events.CMzGybJJ.js";
39
39
  import { B as ct } from "./toggle.Q52IIKfi.js";
40
- import { B as Dn } from "./search-bar.CVY2e8_B.js";
41
- import { u as Fn } from "./dropdown.CcHoKbLz.js";
40
+ import { B as Dn } from "./search-bar.kKLreEXo.js";
41
+ import { u as Fn } from "./dropdown.DzWXcJyF.js";
42
42
  import { S as xn } from "./search.DLtglc02.js";
43
- import { B as Mn } from "./directive.O3yEdalv.js";
43
+ import { B as Mn } from "./directive.Cbdox5VL.js";
44
44
  import "../assets/data-grid.css";
45
45
  var ye = /* @__PURE__ */ ((s) => (s.WRAP = "wrap", s.ELLIPSIS = "ellipsis", s))(ye || {}), se = /* @__PURE__ */ ((s) => (s.OUTLINE = "outline", s.SCROLL = "scroll", s.STICKY_FILTERS = "sticky-filters", s.OVERFLOW_SHADOW_LEFT = "overflow-shadow-left", s.OVERFLOW_SHADOW_RIGHT = "overflow-shadow-right", s.NO_SPACING_TOP = "no-spacing-top", s))(se || {}), ae = /* @__PURE__ */ ((s) => (s.ASCENDING = "asc", s.DESCENDING = "desc", s))(ae || {}), A = /* @__PURE__ */ ((s) => (s.COLUMNS = "columns", s.COLUMN_RESIZE = "column-resize", s.ITEMS_PAGE = "items-page", s.NAVIGATE = "navigate", s.NESTED_CONTENT_TOGGLED = "nested-content-toggled", s.FILTER_SEARCH_INPUT = "filter-search-input", s.FILTER_SEARCH_CLEAR = "filter-search-clear", s.UPDATE_COLUMNS = "update:columns", s.UPDATE_CONDENSED = "update:condensed", s.UPDATE_FILTERS = "update:filters", s.UPDATE_FILTER_VALUES = "update:filter-values", s.UPDATE_FILTER_SEARCH_TERM = "update:filter-search-term", s.UPDATE_PAGINATION = "update:pagination", s.UPDATE_SELECTION = "update:selection", s.UPDATE_SHOW_MORE = "update:show-more", s.UPDATE_SORT_BY = "update:sort-by", s.ROW_CLICK = "row-click", s.SELECT = "select", s.SELECT_ALL_ACROSS_PAGES = "select-all-across-pages", s.SORT = "sort", s))(A || {}), Ce = /* @__PURE__ */ ((s) => (s.ASCENDING = "ascending", s.DESCENDING = "descending", s.NONE = "none", s))(Ce || {}), k = /* @__PURE__ */ ((s) => (s.COLUMN_RESIZE = "column-resize", s.COLUMN_RESIZING = "column-resizing", s.SELECT_ALL_ROWS = "select-all-rows", s.SELECT_ALL_ACROSS_PAGES = "select-all-across-pages", s.COLUMN_MOVE = "column-move", s.COLUMN_UPDATE = "column-update", s.COLUMN_MENU_OPEN = "column-menu-open", s.COLUMN_MENU_CLOSE = "column-menu-close", s.COLUMN_HOVER = "column-hover", s.COLUMN_DRAG_START = "column-dragstart", s.COLUMN_DRAG_ENTER = "column-dragenter", s.COLUMN_DRAG_END = "column-dragend", s.COLUMN_DROP = "column-drop", s))(k || {});
46
46
  const Bn = (s, t) => {
@@ -995,7 +995,7 @@ const Is = Ns.exports, Ds = {
995
995
  var Ms = function() {
996
996
  var t = this, n = t._self._c, e = t._self._setupProxy;
997
997
  return n("div", { staticClass: "b-data-grid-columns", class: e.conditionalColumnsClasses, attrs: { "data-testid": "data-grid-columns" } }, t._l(e.columns, function(o, a) {
998
- return n("div", t._g({ key: o.field, ref: (i) => e.registerColumnsRefs(i, o.field), refInFor: !0, staticClass: "b-data-grid-columns__column", class: e.conditionalColumnClasses(o, a), style: { width: o.autoWidth && t.isMeasuringColumnWidths ? "auto" : `${o.width}px` }, attrs: { "aria-colindex": a + 1, "aria-label": o.label, "aria-sort": e.getSortingColumnDirection(o), "data-testid": `${o.field}-column-header`, draggable: t.hasDraggableColumns && !e.isResizing && !e.isActionsColumn(o), role: "columnheader", tabindex: o.sortable || t.hasColumnPanel || o.infoIconTooltip ? "0" : "-1" } }, e.dataGridColumnEvents(o)), [e.isActionsColumn(o) && t.selectable ? n("div", { staticClass: "b-data-grid-columns__select-column" }, [n(e.BentoCheckbox, { attrs: { "model-value": t.allItemsSelectedState.allItemsSelected, "data-testid": "checkbox-select-all", indeterminate: t.allItemsSelectedState.isIndeterminate, value: "data-grid-select-all" }, on: { "update:model-value": e.onAllRowSelect } }), t.selectableAcrossPages ? [n(e.BentoMenu, { staticClass: "b-data-grid-columns__select-column-menu", attrs: { data: e.selectAllMenu, "menu-position": "bottom-start", "menu-fixed-positioning": "", button: { variant: "tertiary", condensed: !0 } }, scopedSlots: t._u([{ key: "iconLeft", fn: function() {
998
+ return n("div", t._g({ key: o.field, ref: (i) => e.registerColumnsRefs(i, o.field), refInFor: !0, staticClass: "b-data-grid-columns__column", class: e.conditionalColumnClasses(o, a), style: { width: o.autoWidth && t.isMeasuringColumnWidths ? "auto" : `${o.width}px` }, attrs: { "aria-colindex": a + 1, "aria-label": o.label, "aria-sort": e.getSortingColumnDirection(o), "data-testid": `${o.field}-column-header`, draggable: t.hasDraggableColumns && !e.isResizing && !e.isActionsColumn(o), role: "columnheader", tabindex: o.sortable || t.hasColumnPanel || o.infoIconTooltip ? "0" : "-1" } }, e.dataGridColumnEvents(o)), [e.isActionsColumn(o) && t.selectable ? n("div", { staticClass: "b-data-grid-columns__select-column" }, [n(e.BentoCheckbox, { attrs: { "aria-label": e.t("selectAll"), "model-value": t.allItemsSelectedState.allItemsSelected, "data-testid": "checkbox-select-all", indeterminate: t.allItemsSelectedState.isIndeterminate, value: "data-grid-select-all" }, on: { "update:model-value": e.onAllRowSelect } }), t.selectableAcrossPages ? [n(e.BentoMenu, { staticClass: "b-data-grid-columns__select-column-menu", attrs: { data: e.selectAllMenu, "menu-position": "bottom-start", "menu-fixed-positioning": "", button: { variant: "tertiary", condensed: !0 } }, scopedSlots: t._u([{ key: "iconLeft", fn: function() {
999
999
  return [n(e.TriangleDown, { attrs: { "svg-title": e.t("selectionMenu") } })];
1000
1000
  }, proxy: !0 }], null, !0) })] : t._e()], 2) : [n("div", { staticClass: "b-data-grid-columns__column-header-and-actions", class: e.conditionalColumnHeaderAndActionsClasses(o), attrs: { "aria-label": e.t("columnActions", { name: o.label }), "aria-live": "polite", role: "region" } }, [n(e.BentoTypography, { staticClass: "b-data-grid-columns__column-header", class: e.conditionalColumnHeaderClasses, attrs: { el: "div", strongest: "" } }, [t._t(`head-${o.field}`, function() {
1001
1001
  return [n("span", { staticClass: "b-data-grid-columns__label" }, [t._v(t._s(o.label))])];
@@ -1019,7 +1019,7 @@ var Ms = function() {
1019
1019
  Bs,
1020
1020
  !1,
1021
1021
  null,
1022
- "43622155"
1022
+ "ba3e9ccf"
1023
1023
  );
1024
1024
  const zs = Ps.exports;
1025
1025
  var ne = /* @__PURE__ */ ((s) => (s.CONFIG_SETTINGS = "config-settings", s.UPDATE_COLUMNS = "update:columns", s))(ne || {});
@@ -2170,6 +2170,16 @@ const Pl = Go.exports, Wo = {
2170
2170
  type: Le.props.filterValues.type,
2171
2171
  default: () => []
2172
2172
  },
2173
+ // TODO: Move this prop as a part of "config" BentoFilterBarModel = Array<BentoFilterModel | BentoFilterSearchModel> in Bento 2.0.
2174
+ // It was not done now because it's a breaking change for the types.
2175
+ /**
2176
+ * Filter's search bar properties with which the placeholder, hint and other
2177
+ * "bento-search-bar" properties can be set. @see {@link BentoFilterBarSearchBarProps}
2178
+ */
2179
+ filterSearchConfig: {
2180
+ type: Object,
2181
+ default: void 0
2182
+ },
2173
2183
  /**
2174
2184
  * Filter bar search term useful to filter all the data by text
2175
2185
  */
@@ -2525,7 +2535,7 @@ const Pl = Go.exports, Wo = {
2525
2535
  var Vo = function() {
2526
2536
  var o;
2527
2537
  var t = this, n = t._self._c, e = t._self._setupProxy;
2528
- return n("div", { staticClass: "b-data-grid", class: e.conditionalGridClasses, attrs: { "aria-rowcount": e.data.length, "aria-colcount": e.columns.length, "aria-label": e.ariaGridHeaderText, role: e.ariaGridRole } }, [t.filters ? n("div", { ref: "filtersRef", staticClass: "b-data-grid__filters", class: e.conditionalFilterClasses, style: { top: e.computedStickyFiltersTopPosition } }, [t.filters ? n(e.BentoFilterBar, { ref: "filterBarRef", attrs: { config: t.filters, "filter-values": t.filterValues, "search-term": t.filterSearchTerm }, on: { "search-input": e.onSearchTermInput, "search-clear": e.onSearchTermCleared, input: (a) => t.$emit(e.BentoDatagridEvent.UPDATE_FILTERS, a), "update:filter-values": (a) => t.$emit(e.BentoDatagridEvent.UPDATE_FILTER_VALUES, a) } }) : t._e()], 1) : t._e(), t.$slots.header ? n("div", { staticClass: "b-data-grid__header" }, [t._t("header")], 2) : t._e(), n("div", { staticClass: "b-data-grid__column-headers", style: { top: e.computedColumnHeadersTopPosition } }, [e.columnPanel ? n(e.BentoDataGridConfigSettings, { staticClass: "b-data-grid__config-settings", attrs: { columns: e.localColumnsState, condensed: t.condensed }, on: { "config-settings": e.onConfigSettingsUpdate, "update:columns": e.onConfigSettingsColumnsUpdate } }) : t._e(), n("div", { ref: "columnsRef", staticClass: "b-data-grid__columns-row", attrs: { role: "rowgroup", tabindex: e.computedColumnsTabIndex }, on: { scroll: e.updateScrollPosition } }, [n("div", { staticClass: "b-data-grid__columns", style: e.gridColumnWidthStyle, attrs: { role: "row" } }, [t._l(e.columnSets, function({ columnSet: a, id: i, isFrozenColumns: C }, _) {
2538
+ return n("div", { staticClass: "b-data-grid", class: e.conditionalGridClasses, attrs: { "aria-rowcount": e.data.length, "aria-colcount": e.columns.length, "aria-label": e.ariaGridHeaderText, role: e.ariaGridRole } }, [t.filters ? n("div", { ref: "filtersRef", staticClass: "b-data-grid__filters", class: e.conditionalFilterClasses, style: { top: e.computedStickyFiltersTopPosition } }, [t.filters ? n(e.BentoFilterBar, { ref: "filterBarRef", attrs: { config: t.filters, "filter-values": t.filterValues, search: t.filterSearchConfig, "search-term": t.filterSearchTerm }, on: { "search-input": e.onSearchTermInput, "search-clear": e.onSearchTermCleared, input: (a) => t.$emit(e.BentoDatagridEvent.UPDATE_FILTERS, a), "update:filter-values": (a) => t.$emit(e.BentoDatagridEvent.UPDATE_FILTER_VALUES, a) } }) : t._e()], 1) : t._e(), t.$slots.header ? n("div", { staticClass: "b-data-grid__header" }, [t._t("header")], 2) : t._e(), n("div", { staticClass: "b-data-grid__column-headers", style: { top: e.computedColumnHeadersTopPosition } }, [e.columnPanel ? n(e.BentoDataGridConfigSettings, { staticClass: "b-data-grid__config-settings", attrs: { columns: e.localColumnsState, condensed: t.condensed }, on: { "config-settings": e.onConfigSettingsUpdate, "update:columns": e.onConfigSettingsColumnsUpdate } }) : t._e(), n("div", { ref: "columnsRef", staticClass: "b-data-grid__columns-row", attrs: { role: "rowgroup", tabindex: e.computedColumnsTabIndex }, on: { scroll: e.updateScrollPosition } }, [n("div", { staticClass: "b-data-grid__columns", style: e.gridColumnWidthStyle, attrs: { role: "row" } }, [t._l(e.columnSets, function({ columnSet: a, id: i, isFrozenColumns: C }, _) {
2529
2539
  return [a != null && a.length ? n(e.DataGridColumns, t._g({ key: `data-grid-columns-${i}`, ref: (f) => e.registerColumnHeaderRefs(f), refInFor: !0, attrs: { columns: a, "has-resizable-columns": t.hasResizableColumns, "sort-by": t.sortBy, "all-items-selected-state": e.allItemsSelectedState, "is-frozen-columns": C, "show-frozen-columns-separator": e.showFrozenColumnsSeparator, "dragging-columns": e.draggingColumns, "has-draggable-columns": e.allowColumnDragAndDrop, "has-column-panel": e.columnPanel, "has-left-overflow": e.hasLeftOverflow, "has-first-column-panel-right-aligned": _ === e.computedColumnPanelAlignment, "hovered-over-column-state": e.hoveredOverColumnState, "is-measuring-column-widths": e.isMeasuringColumnWidths, "is-only-one-visible-column": e.isOnlyOneVisibleColumn, selectable: e.selectable, "selectable-across-pages": e.selectableAcrossPagesComputed, "truncate-column-headers": t.truncateColumnHeaders }, on: { "column-hover": function(f) {
2530
2540
  e.hoveredOverColumn = f;
2531
2541
  }, "column-move": e.onMoveColumnByOffset, "column-update": e.onConfigSettingsColumnUpdate, "column-resize": e.onColumnResized, "column-resizing": e.onColumnWidthOverride, "select-all-rows": e.onAllRowSelect, "select-all-across-pages": function(f) {
@@ -2553,7 +2563,7 @@ var Vo = function() {
2553
2563
  Zo,
2554
2564
  !1,
2555
2565
  null,
2556
- "1a51db9c"
2566
+ "7e91535c"
2557
2567
  );
2558
2568
  const zl = jo.exports;
2559
2569
  export {
@@ -2565,4 +2575,4 @@ export {
2565
2575
  A as e,
2566
2576
  Ce as f
2567
2577
  };
2568
- //# sourceMappingURL=data-grid.DedjAz4_.js.map
2578
+ //# sourceMappingURL=data-grid.C_Xoz-GC.js.map