@adyen/bento-vue3 1.90.0 → 1.91.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 (199) hide show
  1. package/dist/@types/components.d.ts +2 -0
  2. package/dist/@types/index.d.ts +559 -419
  3. package/dist/action-bar.js +1 -1
  4. package/dist/ai-tag.js +1 -1
  5. package/dist/assets/accordion-item.css +1 -1
  6. package/dist/assets/action-bar.css +1 -1
  7. package/dist/assets/base-modal.css +1 -1
  8. package/dist/assets/button-actions.css +1 -1
  9. package/dist/assets/card.css +1 -1
  10. package/dist/assets/data-grid.css +1 -1
  11. package/dist/assets/date-picker.css +1 -1
  12. package/dist/assets/date-range-picker.css +1 -1
  13. package/dist/assets/dialog-page.css +1 -1
  14. package/dist/assets/draggable-handle.css +1 -1
  15. package/dist/assets/dropdown.css +1 -1
  16. package/dist/assets/error-message.css +1 -1
  17. package/dist/assets/field-label.css +1 -0
  18. package/dist/assets/file-uploader.css +1 -1
  19. package/dist/assets/filter-bar.css +1 -1
  20. package/dist/assets/form-layout-title.css +1 -1
  21. package/dist/assets/input-field.css +1 -1
  22. package/dist/assets/input-time.css +1 -1
  23. package/dist/assets/inspector.css +1 -1
  24. package/dist/assets/modal-fullscreen.css +1 -1
  25. package/dist/assets/secondary-nav.css +1 -1
  26. package/dist/assets/sidepanel.css +1 -1
  27. package/dist/assets/use-cached-selected-values.css +1 -1
  28. package/dist/button.js +1 -1
  29. package/dist/card.js +1 -1
  30. package/dist/checkbox.js +2 -2
  31. package/dist/chunks/{action-bar.Pe_hvtja.js → action-bar.BPS3wPde.js} +3 -3
  32. package/dist/chunks/{action-bar.Pe_hvtja.js.map → action-bar.BPS3wPde.js.map} +1 -1
  33. package/dist/chunks/{ai-tag.BSlc78DU.js → ai-tag.D7shWB_x.js} +2 -2
  34. package/dist/chunks/{ai-tag.BSlc78DU.js.map → ai-tag.D7shWB_x.js.map} +1 -1
  35. package/dist/chunks/{base-modal.BjjDrx0z.js → base-modal.BxcS7Pao.js} +4 -4
  36. package/dist/chunks/{base-modal.BjjDrx0z.js.map → base-modal.BxcS7Pao.js.map} +1 -1
  37. package/dist/chunks/{button-actions-with-menu.DvkS16ur.js → button-actions-with-menu.BKdNXYgU.js} +2 -2
  38. package/dist/chunks/{button-actions-with-menu.DvkS16ur.js.map → button-actions-with-menu.BKdNXYgU.js.map} +1 -1
  39. package/dist/chunks/{button-actions.Bh_PZ_fV.js → button-actions.DLiM8KZL.js} +2 -2
  40. package/dist/chunks/{button-actions.Bh_PZ_fV.js.map → button-actions.DLiM8KZL.js.map} +1 -1
  41. package/dist/chunks/{calendar.CH-1Vgeb.js → calendar.qm-kFNQv.js} +275 -257
  42. package/dist/chunks/calendar.qm-kFNQv.js.map +1 -0
  43. package/dist/chunks/{card.BzCGCCzH.js → card.BEChcEqg.js} +2 -2
  44. package/dist/chunks/{card.BzCGCCzH.js.map → card.BEChcEqg.js.map} +1 -1
  45. package/dist/chunks/{checkbox-group.D_fN6Glu.js → checkbox-group.i3W8WO-7.js} +4 -4
  46. package/dist/chunks/{checkbox-group.D_fN6Glu.js.map → checkbox-group.i3W8WO-7.js.map} +1 -1
  47. package/dist/chunks/{checkbox.BlAhQl9N.js → checkbox.BPrymcRl.js} +18 -18
  48. package/dist/chunks/{checkbox.BlAhQl9N.js.map → checkbox.BPrymcRl.js.map} +1 -1
  49. package/dist/chunks/{click-outside.BPylIosK.js → click-outside.B0whuTUU.js} +2 -2
  50. package/dist/chunks/{click-outside.BPylIosK.js.map → click-outside.B0whuTUU.js.map} +1 -1
  51. package/dist/chunks/{code-snippet.BePxxR3q.js → code-snippet.BG5ZmCrb.js} +3 -3
  52. package/dist/chunks/{code-snippet.BePxxR3q.js.map → code-snippet.BG5ZmCrb.js.map} +1 -1
  53. package/dist/chunks/{controls-group.Cxk-0fCy.js → controls-group.DqRpF9bh.js} +2 -2
  54. package/dist/chunks/{controls-group.Cxk-0fCy.js.map → controls-group.DqRpF9bh.js.map} +1 -1
  55. package/dist/chunks/{dashboard-section.CiNDItU2.js → dashboard-section.C7mfUXOl.js} +2 -2
  56. package/dist/chunks/{dashboard-section.CiNDItU2.js.map → dashboard-section.C7mfUXOl.js.map} +1 -1
  57. package/dist/chunks/{dashed-underline.CwdpUz76.js → dashed-underline.B50DIXjK.js} +2 -2
  58. package/dist/chunks/{dashed-underline.CwdpUz76.js.map → dashed-underline.B50DIXjK.js.map} +1 -1
  59. package/dist/chunks/{data-grid-template.nXn1dLCw.js → data-grid-template.CKdZb6EN.js} +2 -2
  60. package/dist/chunks/{data-grid-template.nXn1dLCw.js.map → data-grid-template.CKdZb6EN.js.map} +1 -1
  61. package/dist/chunks/{data-grid.CXWaoqzi.js → data-grid.DvMe72LK.js} +411 -406
  62. package/dist/chunks/{data-grid.CXWaoqzi.js.map → data-grid.DvMe72LK.js.map} +1 -1
  63. package/dist/chunks/date-picker.CidHad1p.js +269 -0
  64. package/dist/chunks/date-picker.CidHad1p.js.map +1 -0
  65. package/dist/chunks/date-range-picker.c5OwESTS.js +1027 -0
  66. package/dist/chunks/date-range-picker.c5OwESTS.js.map +1 -0
  67. package/dist/chunks/{directive.Dpivxq_t.js → directive.C8kY-ZW-.js} +2 -2
  68. package/dist/chunks/{directive.Dpivxq_t.js.map → directive.C8kY-ZW-.js.map} +1 -1
  69. package/dist/{draggable-handle.js → chunks/draggable-handle.CySRx1tb.js} +56 -47
  70. package/dist/chunks/draggable-handle.CySRx1tb.js.map +1 -0
  71. package/dist/chunks/{dropdown-tag.B7OA_Yv9.js → dropdown-tag.wcJ6Mgqe.js} +2 -2
  72. package/dist/chunks/{dropdown-tag.B7OA_Yv9.js.map → dropdown-tag.wcJ6Mgqe.js.map} +1 -1
  73. package/dist/chunks/dropdown.DHoL50gV.js +1214 -0
  74. package/dist/chunks/dropdown.DHoL50gV.js.map +1 -0
  75. package/dist/chunks/error-message.Dyvrw6ZB.js +55 -0
  76. package/dist/chunks/error-message.Dyvrw6ZB.js.map +1 -0
  77. package/dist/chunks/field-label.DZYFjFgr.js +111 -0
  78. package/dist/chunks/field-label.DZYFjFgr.js.map +1 -0
  79. package/dist/chunks/{file-uploader.BUvDU_cn.js → file-uploader.Dbg3vfZ_.js} +5 -4
  80. package/dist/chunks/{file-uploader.BUvDU_cn.js.map → file-uploader.Dbg3vfZ_.js.map} +1 -1
  81. package/dist/chunks/{filter-bar.fowl40RS.js → filter-bar.Dt-cU3zy.js} +1473 -1455
  82. package/dist/chunks/filter-bar.Dt-cU3zy.js.map +1 -0
  83. package/dist/chunks/{footer-actions.uoNbOGAQ.js → footer-actions.CYBdKDPo.js} +2 -2
  84. package/dist/chunks/{footer-actions.uoNbOGAQ.js.map → footer-actions.CYBdKDPo.js.map} +1 -1
  85. package/dist/chunks/{form-layout-title.Cr3wdpK_.js → form-layout-title.B3ePK3yi.js} +78 -64
  86. package/dist/chunks/form-layout-title.B3ePK3yi.js.map +1 -0
  87. package/dist/chunks/{header-meta.CmH6SnjE.js → header-meta.COak4D8-.js} +2 -2
  88. package/dist/chunks/{header-meta.CmH6SnjE.js.map → header-meta.COak4D8-.js.map} +1 -1
  89. package/dist/chunks/{header-with-views.B2pPBcTf.js → header-with-views.DqioajcO.js} +10 -10
  90. package/dist/chunks/{header-with-views.B2pPBcTf.js.map → header-with-views.DqioajcO.js.map} +1 -1
  91. package/dist/chunks/{header.BVM8Usdi.js → header.C21yzWrk.js} +3 -3
  92. package/dist/chunks/{header.BVM8Usdi.js.map → header.C21yzWrk.js.map} +1 -1
  93. package/dist/chunks/{input-field-password.CHb2Ros_.js → input-field-password.DyUphhxB.js} +4 -4
  94. package/dist/chunks/{input-field-password.CHb2Ros_.js.map → input-field-password.DyUphhxB.js.map} +1 -1
  95. package/dist/chunks/{input-field-phone-number.DM2rmZkQ.js → input-field-phone-number.BXVaC5ra.js} +3 -3
  96. package/dist/chunks/{input-field-phone-number.DM2rmZkQ.js.map → input-field-phone-number.BXVaC5ra.js.map} +1 -1
  97. package/dist/chunks/{input-field.DnYjM6yy.js → input-field.DkUFvIWt.js} +113 -109
  98. package/dist/chunks/input-field.DkUFvIWt.js.map +1 -0
  99. package/dist/chunks/input-time.WI_qdwJc.js +122 -0
  100. package/dist/chunks/input-time.WI_qdwJc.js.map +1 -0
  101. package/dist/chunks/{modal-fullscreen.9CSTqFQc.js → modal-fullscreen.c6QphYQo.js} +2 -2
  102. package/dist/chunks/{modal-fullscreen.9CSTqFQc.js.map → modal-fullscreen.c6QphYQo.js.map} +1 -1
  103. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.BAxTkaQM.js → modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js} +4 -4
  104. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.BAxTkaQM.js.map → modal.vue_vue_type_script_setup_true_lang.ImqHKH-g.js.map} +1 -1
  105. package/dist/chunks/on-click-outside.BgIzQ2G1.js +108 -0
  106. package/dist/chunks/on-click-outside.BgIzQ2G1.js.map +1 -0
  107. package/dist/chunks/{pagination.DL-h8OLF.js → pagination.Cu85Lqms.js} +100 -100
  108. package/dist/chunks/{pagination.DL-h8OLF.js.map → pagination.Cu85Lqms.js.map} +1 -1
  109. package/dist/chunks/{radio-group.DzhQgXv9.js → radio-group.CfMr1fmW.js} +3 -3
  110. package/dist/chunks/{radio-group.DzhQgXv9.js.map → radio-group.CfMr1fmW.js.map} +1 -1
  111. package/dist/chunks/{rich-text-editor.Ij2t4pyI.js → rich-text-editor.Bf9EWzNk.js} +6 -5
  112. package/dist/chunks/{rich-text-editor.Ij2t4pyI.js.map → rich-text-editor.Bf9EWzNk.js.map} +1 -1
  113. package/dist/chunks/{search-bar.DfNwnjes.js → search-bar.p6kHCCvT.js} +4 -4
  114. package/dist/chunks/{search-bar.DfNwnjes.js.map → search-bar.p6kHCCvT.js.map} +1 -1
  115. package/dist/chunks/{secondary-nav.CvipTDRh.js → secondary-nav.CaxiyVaO.js} +2 -2
  116. package/dist/chunks/{secondary-nav.CvipTDRh.js.map → secondary-nav.CaxiyVaO.js.map} +1 -1
  117. package/dist/chunks/{selection-card-group.CcOWQAUC.js → selection-card-group.58XZj_SJ.js} +11 -11
  118. package/dist/chunks/{selection-card-group.CcOWQAUC.js.map → selection-card-group.58XZj_SJ.js.map} +1 -1
  119. package/dist/chunks/{sidepanel.BObSv8UU.js → sidepanel.CAVhSs-O.js} +4 -4
  120. package/dist/chunks/{sidepanel.BObSv8UU.js.map → sidepanel.CAVhSs-O.js.map} +1 -1
  121. package/dist/chunks/{summary-grid.types.DKPhtHw3.js → summary-grid.types.CDithi8M.js} +2 -2
  122. package/dist/chunks/{summary-grid.types.DKPhtHw3.js.map → summary-grid.types.CDithi8M.js.map} +1 -1
  123. package/dist/chunks/{textarea.C-sBemuo.js → textarea.JGXAlpx9.js} +19 -18
  124. package/dist/chunks/{textarea.C-sBemuo.js.map → textarea.JGXAlpx9.js.map} +1 -1
  125. package/dist/chunks/{timeline-item.CHk8wXeT.js → timeline-item.BNFPpQz1.js} +4 -4
  126. package/dist/chunks/{timeline-item.CHk8wXeT.js.map → timeline-item.BNFPpQz1.js.map} +1 -1
  127. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.CUDeriBU.js → tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js} +2 -2
  128. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.CUDeriBU.js.map → tutorial.vue_vue_type_script_setup_true_lang.C1cF-adv.js.map} +1 -1
  129. package/dist/chunks/{use-cached-selected-values.DIbfa5F1.js → use-cached-selected-values.Bx8uuky9.js} +170 -165
  130. package/dist/chunks/use-cached-selected-values.Bx8uuky9.js.map +1 -0
  131. package/dist/chunks/{use-date-input-formatter.BiIraXZZ.js → use-date-input-formatter.BOuXpRb-.js} +2 -2
  132. package/dist/chunks/{use-date-input-formatter.BiIraXZZ.js.map → use-date-input-formatter.BOuXpRb-.js.map} +1 -1
  133. package/dist/chunks/use-touch-device.DTqFAbXh.js +11 -0
  134. package/dist/chunks/use-touch-device.DTqFAbXh.js.map +1 -0
  135. package/dist/click-outside.js +1 -1
  136. package/dist/code-snippet.js +1 -1
  137. package/dist/dashboard-template.js +1 -1
  138. package/dist/dashed-underline.js +1 -1
  139. package/dist/data-grid-template.js +1 -1
  140. package/dist/data-grid.js +1 -1
  141. package/dist/date-picker.js +2 -2
  142. package/dist/date-range-picker.js +2 -2
  143. package/dist/draggable.js +1383 -0
  144. package/dist/draggable.js.map +1 -0
  145. package/dist/dropdown.js +10 -11
  146. package/dist/dropdown.js.map +1 -1
  147. package/dist/file-uploader.js +1 -1
  148. package/dist/filter-bar.js +1 -1
  149. package/dist/form-layout.js +1 -1
  150. package/dist/header-with-views.js +1 -1
  151. package/dist/header.js +1 -1
  152. package/dist/index.js +277 -274
  153. package/dist/index.js.map +1 -1
  154. package/dist/input-field-password.js +1 -1
  155. package/dist/input-field-phone-number.js +1 -1
  156. package/dist/input-field.js +1 -1
  157. package/dist/input-time.js +1 -1
  158. package/dist/internal.js +24 -23
  159. package/dist/internal.js.map +1 -1
  160. package/dist/menu.js +1 -1
  161. package/dist/modal-fullscreen.js +1 -1
  162. package/dist/modal.js +2 -2
  163. package/dist/pagination.js +1 -1
  164. package/dist/popover.js +1 -1
  165. package/dist/radio-group.js +1 -1
  166. package/dist/rich-text-editor.js +1 -1
  167. package/dist/search-bar.js +2 -2
  168. package/dist/secondary-nav.js +1 -1
  169. package/dist/selection-card.js +1 -1
  170. package/dist/sidepanel.js +1 -1
  171. package/dist/summary-grid.js +1 -1
  172. package/dist/textarea.js +1 -1
  173. package/dist/timeline.js +1 -1
  174. package/dist/tutorial.js +1 -1
  175. package/dist/web-types.json +1 -1
  176. package/package.json +7 -10
  177. package/dist/assets/dropdown-default-textbox.css +0 -1
  178. package/dist/chunks/calendar.CH-1Vgeb.js.map +0 -1
  179. package/dist/chunks/date-picker.DPjCROIP.js +0 -238
  180. package/dist/chunks/date-picker.DPjCROIP.js.map +0 -1
  181. package/dist/chunks/date-range-picker.fyrfFd04.js +0 -998
  182. package/dist/chunks/date-range-picker.fyrfFd04.js.map +0 -1
  183. package/dist/chunks/debounce.DUTu11PS.js +0 -10
  184. package/dist/chunks/debounce.DUTu11PS.js.map +0 -1
  185. package/dist/chunks/dropdown-default-textbox.aYsTZDZ7.js +0 -415
  186. package/dist/chunks/dropdown-default-textbox.aYsTZDZ7.js.map +0 -1
  187. package/dist/chunks/dropdown.Do-mZiI6.js +0 -813
  188. package/dist/chunks/dropdown.Do-mZiI6.js.map +0 -1
  189. package/dist/chunks/error-message.849uzpkq.js +0 -157
  190. package/dist/chunks/error-message.849uzpkq.js.map +0 -1
  191. package/dist/chunks/filter-bar.fowl40RS.js.map +0 -1
  192. package/dist/chunks/form-layout-title.Cr3wdpK_.js.map +0 -1
  193. package/dist/chunks/input-field.DnYjM6yy.js.map +0 -1
  194. package/dist/chunks/input-time.DeJ8lDio.js +0 -103
  195. package/dist/chunks/input-time.DeJ8lDio.js.map +0 -1
  196. package/dist/chunks/on-click-outside.ZUMLlxE_.js +0 -90
  197. package/dist/chunks/on-click-outside.ZUMLlxE_.js.map +0 -1
  198. package/dist/chunks/use-cached-selected-values.DIbfa5F1.js.map +0 -1
  199. package/dist/draggable-handle.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dashed-underline.CwdpUz76.js","sources":["../../../vue2/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=\"dashedUnderlineOnFocus\"\n @focusout=\"dashedUnderlineOnFocusOut\"\n >\n <span class=\"b-dashed-underline__content\">\n <slot></slot>\n </span>\n <bento-teleport v-if=\"element && hasPopover\" :disabled=\"teleport?.disabled\" :to=\"teleport?.to\">\n <span v-on=\"computedPopoverContainerEvents\">\n <bento-popover\n :open=\"isOpen\"\n :target-element=\"element\"\n :position=\"popoverPosition\"\n role=\"tooltip\"\n :fit-content=\"popoverSize === 'fit-content' || undefined\"\n :large=\"popoverSize === 'large' || undefined\"\n :small=\"popoverSize === 'small' || undefined\"\n :title=\"popoverTitle\"\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 </bento-teleport>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, ref, useSlots, watch } from 'vue';\n import { BentoPopover } from '@/components/popover';\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives/tooltip/index';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { BentoTeleport } from '@/internal';\n import { type BentoDashedUnderlineProps } from './dashed-underline.types';\n\n const CLOSING_POPOVER_DELAY_MS = 200;\n\n const props = withDefaults(defineProps<BentoDashedUnderlineProps>(), {\n popoverText: null,\n popoverTitle: null,\n popoverPosition: 'top',\n popoverSize: 'fit-content',\n teleport: () => ({\n disabled: true,\n }),\n tooltipText: null,\n tooltipPosition: '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 dashedUnderlineOnFocus = () => {\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 dashedUnderlineOnFocusOut = (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\n /**\n * When the popover is teleported, it is no longer a DOM descendant of the trigger element.\n * We add these event listeners to the popover's container to keep the popover open when\n * the user moves their mouse or focuses out from the trigger to the popover BUT then mouses over\n * or focuses on the popover content.\n */\n const computedPopoverContainerEvents = computed(() =>\n props.teleport?.disabled === false\n ? {\n mouseenter: openPopover,\n mouseleave: closePopover,\n focus: dashedUnderlineOnFocus,\n focusout: dashedUnderlineOnFocusOut,\n }\n : {}\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Provides a dashed underline to text, indicating that more information is available on\n * hover or focus. The additional information is displayed in a tooltip or a popover.\n *\n * @example\n * import { BentoDashedUnderline } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashedUnderline },\n * template: `\n * <p>\n * This is some <bento-dashed-underline tooltip-text=\"A short explanation\">annotated text</bento-dashed-underline>.\n * </p>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashed-underline.scss\" />\n"],"names":["__default__","props","__props","slots","useSlots","hasSlot","useHasSlot","element","ref","isOpen","closingTimeOutId","openPopover","closePopover","timeOutId","dashedUnderlineOnFocus","dashedUnderlineOnFocusOut","hasPopover","computed","shouldShowTooltipPopoverError","watch","value","computedPopoverContainerEvents"],"mappings":";;;;;;;oDAsJIA,IAAA,CAAA;;;;;;;;;;;;;;;AArGA,UAAAC,IAAAC,GAYAC,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,GAAA,GAAA;AAEnB,MAAAC,EAAA,QAAAG;AAAA,IAAyB,GAG7BC,IAAA,MAAA;AACI,MAAAH,EAAA;AAAA,IAAY,GAOhBI,IAAA,CAAA,MAAA;AACI,OAAA,CAAAR,EAAA,SAAA,EAAA,GAAA,yBAAA,YAAA,CAAAA,EAAA,MAAA,SAAA,EAAA,aAAA,MACIK,EAAA;AAAA,IACJ,GAGJI,IAAAC,EAAA,MAAAhB,EAAA,eAAAI,EAAA,iBAAA,CAAA,GAEAa,IAAAD,EAAA,MAAA,CAAAhB,EAAA,eAAA,CAAAe,EAAA,KAAA;AAEA,IAAAG;AAAA,MAAAD;AAAA,MACI,CAAAE,MAAA;AAEI,YAAAA;AACI,gBAAA,IAAA;AAAA,YAAU;AAAA,UACN;AAAA,MAER;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;AAStB,UAAAC,IAAAJ;AAAA,MAAuC,MAAAhB,EAAA,UAAA,aAAA,KAAA;AAAA,QAE7B,YAAAU;AAAA,QACgB,YAAAC;AAAA,QACA,OAAAE;AAAA,QACL,UAAAC;AAAA,MACG,IAAA,CAAA;AAAA,IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dashed-underline.B50DIXjK.js","sources":["../../../vue2/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=\"dashedUnderlineOnFocus\"\n @focusout=\"dashedUnderlineOnFocusOut\"\n >\n <span class=\"b-dashed-underline__content\">\n <slot></slot>\n </span>\n <bento-teleport v-if=\"element && hasPopover\" :disabled=\"teleport?.disabled\" :to=\"teleport?.to\">\n <span v-on=\"computedPopoverContainerEvents\">\n <bento-popover\n :open=\"isOpen\"\n :target-element=\"element\"\n :position=\"popoverPosition\"\n role=\"tooltip\"\n :fit-content=\"popoverSize === 'fit-content' || undefined\"\n :large=\"popoverSize === 'large' || undefined\"\n :small=\"popoverSize === 'small' || undefined\"\n :title=\"popoverTitle\"\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 </bento-teleport>\n </span>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, ref, useSlots, watch } from 'vue';\n import { BentoPopover } from '@/components/popover';\n import { BentoTooltipDirective as vBentoTooltipDirective } from '@/directives/tooltip/index';\n import { BentoTypography } from '@/components/typography';\n import { useHasSlot } from '@/composables';\n import { BentoTeleport } from '@/internal';\n import { type BentoDashedUnderlineProps } from './dashed-underline.types';\n\n const CLOSING_POPOVER_DELAY_MS = 200;\n\n const props = withDefaults(defineProps<BentoDashedUnderlineProps>(), {\n popoverText: null,\n popoverTitle: null,\n popoverPosition: 'top',\n popoverSize: 'fit-content',\n teleport: () => ({\n disabled: true,\n }),\n tooltipText: null,\n tooltipPosition: '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 dashedUnderlineOnFocus = () => {\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 dashedUnderlineOnFocusOut = (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\n /**\n * When the popover is teleported, it is no longer a DOM descendant of the trigger element.\n * We add these event listeners to the popover's container to keep the popover open when\n * the user moves their mouse or focuses out from the trigger to the popover BUT then mouses over\n * or focuses on the popover content.\n */\n const computedPopoverContainerEvents = computed(() =>\n props.teleport?.disabled === false\n ? {\n mouseenter: openPopover,\n mouseleave: closePopover,\n focus: dashedUnderlineOnFocus,\n focusout: dashedUnderlineOnFocusOut,\n }\n : {}\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Provides a dashed underline to text, indicating that more information is available on\n * hover or focus. The additional information is displayed in a tooltip or a popover.\n *\n * @example\n * import { BentoDashedUnderline } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoDashedUnderline },\n * template: `\n * <p>\n * This is some <bento-dashed-underline tooltip-text=\"A short explanation\">annotated text</bento-dashed-underline>.\n * </p>\n * `\n * }\n */\n export default {};\n</script>\n\n<style lang=\"scss\" scoped src=\"./dashed-underline.scss\" />\n"],"names":["__default__","props","__props","slots","useSlots","hasSlot","useHasSlot","element","ref","isOpen","closingTimeOutId","openPopover","closePopover","timeOutId","dashedUnderlineOnFocus","dashedUnderlineOnFocusOut","hasPopover","computed","shouldShowTooltipPopoverError","watch","value","computedPopoverContainerEvents"],"mappings":";;;;;;;oDAsJIA,IAAA,CAAA;;;;;;;;;;;;;;;AArGA,UAAAC,IAAAC,GAYAC,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,GAAA,GAAA;AAEnB,MAAAC,EAAA,QAAAG;AAAA,IAAyB,GAG7BC,IAAA,MAAA;AACI,MAAAH,EAAA;AAAA,IAAY,GAOhBI,IAAA,CAAA,MAAA;AACI,OAAA,CAAAR,EAAA,SAAA,EAAA,GAAA,yBAAA,YAAA,CAAAA,EAAA,MAAA,SAAA,EAAA,aAAA,MACIK,EAAA;AAAA,IACJ,GAGJI,IAAAC,EAAA,MAAAhB,EAAA,eAAAI,EAAA,iBAAA,CAAA,GAEAa,IAAAD,EAAA,MAAA,CAAAhB,EAAA,eAAA,CAAAe,EAAA,KAAA;AAEA,IAAAG;AAAA,MAAAD;AAAA,MACI,CAAAE,MAAA;AAEI,YAAAA;AACI,gBAAA,IAAA;AAAA,YAAU;AAAA,UACN;AAAA,MAER;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;AAStB,UAAAC,IAAAJ;AAAA,MAAuC,MAAAhB,EAAA,UAAA,aAAA,KAAA;AAAA,QAE7B,YAAAU;AAAA,QACgB,YAAAC;AAAA,QACA,OAAAE;AAAA,QACL,UAAAC;AAAA,MACG,IAAA,CAAA;AAAA,IAEb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as E, useSlots as G, ref as p, computed as a, provide as H, openBlock as i, createElementBlock as u, createVNode as T, unref as o, mergeProps as N, toHandlers as O, withCtx as d, renderSlot as n, createElementVNode as P, normalizeProps as j, guardReactiveProps as x, createSlots as V, normalizeClass as w, createCommentVNode as z, createBlock as _, Fragment as L, renderList as F, toRef as C } from "vue";
2
- import { B as J } from "./header.BVM8Usdi.js";
2
+ import { B as J } from "./header.C21yzWrk.js";
3
3
  import { B as K } from "./inspector.DMhKNW1K.js";
4
4
  import { a as M, B as U } from "./tab.9nyNZiGw.js";
5
5
  import { u as Y } from "./use-has-slot.CyMiImRQ.js";
@@ -132,4 +132,4 @@ const W = { class: "b-data-grid-template" }, X = { class: "b-data-grid-template_
132
132
  export {
133
133
  ct as d
134
134
  };
135
- //# sourceMappingURL=data-grid-template.nXn1dLCw.js.map
135
+ //# sourceMappingURL=data-grid-template.CKdZb6EN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid-template.nXn1dLCw.js","sources":["../../../vue2/src/templates/data-grid-template/data-grid-template.vue"],"sourcesContent":["<template>\n <main class=\"b-data-grid-template\">\n <bento-inspector v-bind=\"computedInspectorProps\" ref=\"inspectorRef\" v-on=\"inspectorEvents\">\n <template #page>\n <div class=\"b-data-grid-template__header\">\n <slot name=\"header\">\n <bento-header v-bind=\"header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n </slot>\n </div>\n\n <div\n v-if=\"hasSlot('additionalContent')\"\n ref=\"additionalContentRef\"\n class=\"b-data-grid-template__additional-content\"\n :class=\"additionalContentConditionalClasses\"\n >\n <slot name=\"additionalContent\" />\n </div>\n\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n :sticky=\"stickyTabs\"\n :sticky-options=\"stickyAdditionalContent ? { top: computedStickyAdditionalContentHeight } : null\"\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\n <slot v-else />\n </template>\n\n <template #content>\n <slot name=\"inspector-content\" />\n </template>\n </bento-inspector>\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoHeader } from '@/components/header';\n import { BentoInspector } from '@/components/inspector';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useHasSlot } from '@/composables';\n import { computed, type PropType, provide, type Ref, ref, toRef, type UnwrapRef, useSlots } from 'vue';\n import { DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY } from './data-grid-template.keys';\n import type {\n BentoDataGridTemplateDataGrid,\n BentoDataGridTemplateHeader,\n BentoDataGridTemplateInspector,\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 default: undefined,\n },\n\n /**\n * All the tab properties that can be set on the inner tab components.\n * - tabs.activeTabIndex: the currenly 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 additional content slot with a sticky positioning\n */\n stickyAdditionalContent: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyTabs: {\n type: Boolean,\n default: false,\n },\n\n /**\n * All the inspector properties that can be set on the inner inspector component.\n */\n inspector: {\n type: Object as PropType<BentoDataGridTemplateInspector>,\n default: undefined,\n },\n });\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits<{\n /**\n * Emits update event when activeTabIndex changes internally\n */\n (e: 'update:tabs', value: BentoDataGridTemplateTabs): void;\n\n /**\n * Emits update event when the inspector's `isOpen` state changes\n */\n (e: 'update:is-open:inspector', value: boolean): void;\n\n /**\n * Emits update event when the inspector's `activePage` changes\n */\n (e: 'update:active-page:inspector', value: string): void;\n\n /**\n * Emits event when the inspector's expand button is clicked\n */\n (e: 'expand:inspector', value: boolean): void;\n }>();\n\n const tabsRef = ref(null);\n const additionalContentRef = ref(null);\n const inspectorRef = ref(null);\n\n const additionalContentConditionalClasses = computed(() => ({\n 'b-data-grid-template__additional-content--sticky': props.stickyAdditionalContent,\n }));\n\n const computedInspectorProps = computed(() => ({\n title: '',\n ...props.inspector,\n }));\n\n const computedStickyAdditionalContentHeight = computed(() => additionalContentRef?.value?.offsetHeight);\n\n const computedTabsRef = computed(() => tabsRef.value?.$refs?.tablistwrapper);\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const inspectorEvents = computed(() => ({\n 'update:is-open': (value: boolean) => emit('update:is-open:inspector', value),\n 'update:active-page': (value: string) => emit('update:active-page:inspector', value),\n expand: (value: boolean) => emit('expand:inspector', value),\n }));\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 stickyAdditionalContent: Ref<boolean> = toRef(props, 'stickyAdditionalContent');\n const tabsRef: Ref<UnwrapRef<HTMLDivElement>> | null = computedTabsRef;\n const additionalContentSlotRef: Ref<UnwrapRef<HTMLDivElement>> | null = additionalContentRef;\n\n // return values to the Tab component\n return {\n isDataGridTemplate,\n stickyTabs,\n tabsRef,\n stickyAdditionalContent,\n additionalContentSlotRef,\n };\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__","props","__props","slots","useSlots","hasSlot","useHasSlot","emit","__emit","tabsRef","ref","additionalContentRef","inspectorRef","additionalContentConditionalClasses","computed","computedInspectorProps","computedStickyAdditionalContentHeight","computedTabsRef","tabsSlots","el","inspectorEvents","value","emitTabs","newActiveTabIndex","getTabTitle","index","provide","DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY","stickyTabs","toRef","stickyAdditionalContent"],"mappings":";;;;;;;;4FA2MIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/IA,UAAAC,IAAAC,GA2CAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,GAsBAC,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,IAAA,GAEAG,IAAAC,EAAA,OAAA;AAAA,MAA4D,oDAAAb,EAAA;AAAA,IACE,EAAA,GAG9Dc,IAAAD,EAAA,OAAA;AAAA,MAA+C,OAAA;AAAA,MACpC,GAAAb,EAAA;AAAA,IACE,EAAA,GAGbe,IAAAF,EAAA,MAAAH,GAAA,OAAA,YAAA,GAEAM,IAAAH,EAAA,MAAAL,EAAA,OAAA,OAAA,cAAA,GAEAS,IAAAJ,EAAA,MAAA,OAAA,KAAAX,CAAA,EAAA,OAAA,CAAAgB,MAAAA,GAAA,SAAA,MAAA,CAAA,CAAA,GAEAC,IAAAN,EAAA,OAAA;AAAA,MAAwC,kBAAA,CAAAO,MAAAd,EAAA,4BAAAc,CAAA;AAAA,MACwC,sBAAA,CAAAA,MAAAd,EAAA,gCAAAc,CAAA;AAAA,MACO,QAAA,CAAAA,MAAAd,EAAA,oBAAAc,CAAA;AAAA,IACzB,EAAA,GAG9DC,IAAA,CAAAC,MAAA;AACI,MAAAhB,EAAA,eAAA,EAAA,GAAAN,EAAA,MAAA,gBAAAsB,EAAA,CAAA;AAAA,IAAwE,GAG5EC,IAAA,CAAAC,MAAAxB,GAAA,KAAA,OAAAwB,CAAA,GAAA,SAAA,OAAAA,IAAA,CAAA;AAmBA,WAAAC,EAAAC,GAjBA,MAAA;AAEI,YAAAC,IAAAC,EAAA5B,GAAA,YAAA,GACA6B,IAAAD,EAAA5B,GAAA,yBAAA;AAKA,aAAA;AAAA,QAAO;AAAA,QACH,YAAA2B;AAAA,QACA,SANJX;AAAA,QAOI,yBAAAa;AAAA,QACA,0BAPJnB;AAAA,MAQI;AAAA,IACJ,CAGJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"data-grid-template.CKdZb6EN.js","sources":["../../../vue2/src/templates/data-grid-template/data-grid-template.vue"],"sourcesContent":["<template>\n <main class=\"b-data-grid-template\">\n <bento-inspector v-bind=\"computedInspectorProps\" ref=\"inspectorRef\" v-on=\"inspectorEvents\">\n <template #page>\n <div class=\"b-data-grid-template__header\">\n <slot name=\"header\">\n <bento-header v-bind=\"header\">\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #infoIconTooltipContent>\n <slot name=\"infoIconTooltipContent\" />\n </template>\n </bento-header>\n </slot>\n </div>\n\n <div\n v-if=\"hasSlot('additionalContent')\"\n ref=\"additionalContentRef\"\n class=\"b-data-grid-template__additional-content\"\n :class=\"additionalContentConditionalClasses\"\n >\n <slot name=\"additionalContent\" />\n </div>\n\n <bento-tabs\n v-if=\"tabsSlots.length > 1\"\n ref=\"tabsRef\"\n :active-tab-index=\"tabs.activeTabIndex\"\n :sticky=\"stickyTabs\"\n :sticky-options=\"stickyAdditionalContent ? { top: computedStickyAdditionalContentHeight } : null\"\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\n <slot v-else />\n </template>\n\n <template #content>\n <slot name=\"inspector-content\" />\n </template>\n </bento-inspector>\n </main>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoHeader } from '@/components/header';\n import { BentoInspector } from '@/components/inspector';\n import { BentoTab, BentoTabs } from '@/components/tabs';\n import { useHasSlot } from '@/composables';\n import { computed, type PropType, provide, type Ref, ref, toRef, type UnwrapRef, useSlots } from 'vue';\n import { DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY } from './data-grid-template.keys';\n import type {\n BentoDataGridTemplateDataGrid,\n BentoDataGridTemplateHeader,\n BentoDataGridTemplateInspector,\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 default: undefined,\n },\n\n /**\n * All the tab properties that can be set on the inner tab components.\n * - tabs.activeTabIndex: the currenly 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 additional content slot with a sticky positioning\n */\n stickyAdditionalContent: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Renders the tabs with a sticky positioning\n */\n stickyTabs: {\n type: Boolean,\n default: false,\n },\n\n /**\n * All the inspector properties that can be set on the inner inspector component.\n */\n inspector: {\n type: Object as PropType<BentoDataGridTemplateInspector>,\n default: undefined,\n },\n });\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n\n const emit = defineEmits<{\n /**\n * Emits update event when activeTabIndex changes internally\n */\n (e: 'update:tabs', value: BentoDataGridTemplateTabs): void;\n\n /**\n * Emits update event when the inspector's `isOpen` state changes\n */\n (e: 'update:is-open:inspector', value: boolean): void;\n\n /**\n * Emits update event when the inspector's `activePage` changes\n */\n (e: 'update:active-page:inspector', value: string): void;\n\n /**\n * Emits event when the inspector's expand button is clicked\n */\n (e: 'expand:inspector', value: boolean): void;\n }>();\n\n const tabsRef = ref(null);\n const additionalContentRef = ref(null);\n const inspectorRef = ref(null);\n\n const additionalContentConditionalClasses = computed(() => ({\n 'b-data-grid-template__additional-content--sticky': props.stickyAdditionalContent,\n }));\n\n const computedInspectorProps = computed(() => ({\n title: '',\n ...props.inspector,\n }));\n\n const computedStickyAdditionalContentHeight = computed(() => additionalContentRef?.value?.offsetHeight);\n\n const computedTabsRef = computed(() => tabsRef.value?.$refs?.tablistwrapper);\n\n const tabsSlots = computed(() => Object.keys(slots).filter(el => el?.includes('tab-')));\n\n const inspectorEvents = computed(() => ({\n 'update:is-open': (value: boolean) => emit('update:is-open:inspector', value),\n 'update:active-page': (value: string) => emit('update:active-page:inspector', value),\n expand: (value: boolean) => emit('expand:inspector', value),\n }));\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 stickyAdditionalContent: Ref<boolean> = toRef(props, 'stickyAdditionalContent');\n const tabsRef: Ref<UnwrapRef<HTMLDivElement>> | null = computedTabsRef;\n const additionalContentSlotRef: Ref<UnwrapRef<HTMLDivElement>> | null = additionalContentRef;\n\n // return values to the Tab component\n return {\n isDataGridTemplate,\n stickyTabs,\n tabsRef,\n stickyAdditionalContent,\n additionalContentSlotRef,\n };\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__","props","__props","slots","useSlots","hasSlot","useHasSlot","emit","__emit","tabsRef","ref","additionalContentRef","inspectorRef","additionalContentConditionalClasses","computed","computedInspectorProps","computedStickyAdditionalContentHeight","computedTabsRef","tabsSlots","el","inspectorEvents","value","emitTabs","newActiveTabIndex","getTabTitle","index","provide","DATA_GRID_REGISTER_TEMPLATE_INJECTION_KEY","stickyTabs","toRef","stickyAdditionalContent"],"mappings":";;;;;;;;4FA2MIA,IAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/IA,UAAAC,IAAAC,GA2CAC,IAAAC,EAAA,GACAC,IAAAC,EAAAH,CAAA,GAEAI,IAAAC,GAsBAC,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,IAAA,GAEAG,IAAAC,EAAA,OAAA;AAAA,MAA4D,oDAAAb,EAAA;AAAA,IACE,EAAA,GAG9Dc,IAAAD,EAAA,OAAA;AAAA,MAA+C,OAAA;AAAA,MACpC,GAAAb,EAAA;AAAA,IACE,EAAA,GAGbe,IAAAF,EAAA,MAAAH,GAAA,OAAA,YAAA,GAEAM,IAAAH,EAAA,MAAAL,EAAA,OAAA,OAAA,cAAA,GAEAS,IAAAJ,EAAA,MAAA,OAAA,KAAAX,CAAA,EAAA,OAAA,CAAAgB,MAAAA,GAAA,SAAA,MAAA,CAAA,CAAA,GAEAC,IAAAN,EAAA,OAAA;AAAA,MAAwC,kBAAA,CAAAO,MAAAd,EAAA,4BAAAc,CAAA;AAAA,MACwC,sBAAA,CAAAA,MAAAd,EAAA,gCAAAc,CAAA;AAAA,MACO,QAAA,CAAAA,MAAAd,EAAA,oBAAAc,CAAA;AAAA,IACzB,EAAA,GAG9DC,IAAA,CAAAC,MAAA;AACI,MAAAhB,EAAA,eAAA,EAAA,GAAAN,EAAA,MAAA,gBAAAsB,EAAA,CAAA;AAAA,IAAwE,GAG5EC,IAAA,CAAAC,MAAAxB,GAAA,KAAA,OAAAwB,CAAA,GAAA,SAAA,OAAAA,IAAA,CAAA;AAmBA,WAAAC,EAAAC,GAjBA,MAAA;AAEI,YAAAC,IAAAC,EAAA5B,GAAA,YAAA,GACA6B,IAAAD,EAAA5B,GAAA,yBAAA;AAKA,aAAA;AAAA,QAAO;AAAA,QACH,YAAA2B;AAAA,QACA,SANJX;AAAA,QAOI,yBAAAa;AAAA,QACA,0BAPJnB;AAAA,MAQI;AAAA,IACJ,CAGJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}