@adyen/bento-vue2 1.42.0 → 1.44.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 (169) hide show
  1. package/dist/@types/index.d.ts +136 -53
  2. package/dist/action-bar.js +1 -1
  3. package/dist/assets/accordion-item.css +1 -1
  4. package/dist/assets/action-bar.css +1 -1
  5. package/dist/assets/base-modal.css +1 -1
  6. package/dist/assets/button-actions-with-menu.css +1 -1
  7. package/dist/assets/button-actions.css +1 -1
  8. package/dist/assets/card.css +1 -1
  9. package/dist/assets/data-grid.css +1 -1
  10. package/dist/assets/date-range-picker.css +1 -1
  11. package/dist/assets/dialog-page.css +1 -1
  12. package/dist/assets/dropdown-default-textbox.css +1 -1
  13. package/dist/assets/dropdown.css +1 -1
  14. package/dist/assets/file-uploader.css +1 -1
  15. package/dist/assets/filter-bar.css +1 -1
  16. package/dist/assets/header.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/selection-card-group.css +1 -1
  22. package/dist/assets/sidepanel.css +1 -1
  23. package/dist/assets/textarea.css +1 -1
  24. package/dist/assets/typography.css +1 -1
  25. package/dist/button.js +7 -8
  26. package/dist/button.js.map +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/checkbox.js +2 -2
  29. package/dist/chunks/{action-bar.C1iwQWyj.js → action-bar.Dx12xlEW.js} +16 -16
  30. package/dist/chunks/action-bar.Dx12xlEW.js.map +1 -0
  31. package/dist/chunks/{base-modal.DroVbSCn.js → base-modal.BrqNR-ah.js} +2 -2
  32. package/dist/chunks/{base-modal.DroVbSCn.js.map → base-modal.BrqNR-ah.js.map} +1 -1
  33. package/dist/chunks/{button-actions-with-menu.dp6C-PKX.js → button-actions-with-menu.ptKgeQEb.js} +38 -29
  34. package/dist/chunks/button-actions-with-menu.ptKgeQEb.js.map +1 -0
  35. package/dist/chunks/button-actions.BIQ3qA8q.js +252 -0
  36. package/dist/chunks/button-actions.BIQ3qA8q.js.map +1 -0
  37. package/dist/chunks/{card.BcjxzwZV.js → card.D9g7fZDX.js} +2 -2
  38. package/dist/chunks/{card.BcjxzwZV.js.map → card.D9g7fZDX.js.map} +1 -1
  39. package/dist/chunks/{checkbox-group.B1FsPVSl.js → checkbox-group.Bcqac3y8.js} +2 -2
  40. package/dist/chunks/{checkbox-group.B1FsPVSl.js.map → checkbox-group.Bcqac3y8.js.map} +1 -1
  41. package/dist/chunks/{checkbox.kd1EnszA.js → checkbox.B1qjI4R_.js} +15 -15
  42. package/dist/chunks/{checkbox.kd1EnszA.js.map → checkbox.B1qjI4R_.js.map} +1 -1
  43. package/dist/chunks/{code-snippet.DGMVhQoj.js → code-snippet.rmKiWrIv.js} +4 -4
  44. package/dist/chunks/{code-snippet.DGMVhQoj.js.map → code-snippet.rmKiWrIv.js.map} +1 -1
  45. package/dist/chunks/{dashboard-section.D8ey7nzl.js → dashboard-section._KVy37B0.js} +3 -3
  46. package/dist/chunks/{dashboard-section.D8ey7nzl.js.map → dashboard-section._KVy37B0.js.map} +1 -1
  47. package/dist/chunks/{dashed-underline.dGO33Q_E.js → dashed-underline.DX5QlK14.js} +2 -2
  48. package/dist/chunks/{dashed-underline.dGO33Q_E.js.map → dashed-underline.DX5QlK14.js.map} +1 -1
  49. package/dist/chunks/{data-grid-template.BF7JMfoJ.js → data-grid-template.BgTUIoak.js} +2 -2
  50. package/dist/chunks/{data-grid-template.BF7JMfoJ.js.map → data-grid-template.BgTUIoak.js.map} +1 -1
  51. package/dist/chunks/data-grid.sAbzCVND.js +2556 -0
  52. package/dist/chunks/data-grid.sAbzCVND.js.map +1 -0
  53. package/dist/chunks/{date-picker.Dfg1_eo6.js → date-picker.DrSWxADA.js} +3 -3
  54. package/dist/chunks/{date-picker.Dfg1_eo6.js.map → date-picker.DrSWxADA.js.map} +1 -1
  55. package/dist/chunks/{date-range-picker.BvHFTptS.js → date-range-picker.CFIOD59O.js} +178 -175
  56. package/dist/chunks/date-range-picker.CFIOD59O.js.map +1 -0
  57. package/dist/chunks/{dropdown-default-textbox.DPZmj7xJ.js → dropdown-default-textbox.ZAFh7KqG.js} +111 -103
  58. package/dist/chunks/{dropdown-default-textbox.DPZmj7xJ.js.map → dropdown-default-textbox.ZAFh7KqG.js.map} +1 -1
  59. package/dist/chunks/{dropdown-tag.DqgJnpjk.js → dropdown-tag.Ntdp7P7W.js} +2 -2
  60. package/dist/chunks/{dropdown-tag.DqgJnpjk.js.map → dropdown-tag.Ntdp7P7W.js.map} +1 -1
  61. package/dist/chunks/{dropdown.2tXfuDlU.js → dropdown.DC9un4VJ.js} +240 -234
  62. package/dist/chunks/{dropdown.2tXfuDlU.js.map → dropdown.DC9un4VJ.js.map} +1 -1
  63. package/dist/chunks/es6.C-HLzYPA.js +11 -0
  64. package/dist/chunks/es6.C-HLzYPA.js.map +1 -0
  65. package/dist/chunks/{file-uploader.CK-Frs_q.js → file-uploader.ItCr8Ezn.js} +228 -227
  66. package/dist/chunks/file-uploader.ItCr8Ezn.js.map +1 -0
  67. package/dist/chunks/{filter-bar.DP_nQeeo.js → filter-bar.Dowrph-Z.js} +21 -22
  68. package/dist/chunks/filter-bar.Dowrph-Z.js.map +1 -0
  69. package/dist/chunks/{footer-actions.DwnLB4NW.js → footer-actions.B3GJ1wNP.js} +2 -2
  70. package/dist/chunks/{footer-actions.DwnLB4NW.js.map → footer-actions.B3GJ1wNP.js.map} +1 -1
  71. package/dist/chunks/{header.CAJtHW1k.js → header.BLjdXtYJ.js} +4 -4
  72. package/dist/chunks/{header.CAJtHW1k.js.map → header.BLjdXtYJ.js.map} +1 -1
  73. package/dist/chunks/index.Gcw_BUVh.js +367 -0
  74. package/dist/chunks/index.Gcw_BUVh.js.map +1 -0
  75. package/dist/chunks/{input-field-password.ijBN-aVx.js → input-field-password.CgxF9jhq.js} +4 -4
  76. package/dist/chunks/{input-field-password.ijBN-aVx.js.map → input-field-password.CgxF9jhq.js.map} +1 -1
  77. package/dist/chunks/{input-field.BoElSWuV.js → input-field.CcjqGkLs.js} +2 -2
  78. package/dist/chunks/{input-field.BoElSWuV.js.map → input-field.CcjqGkLs.js.map} +1 -1
  79. package/dist/chunks/{layout-row.6jCBhtd4.js → layout-row.DzS_XyyF.js} +2 -2
  80. package/dist/chunks/{layout-row.6jCBhtd4.js.map → layout-row.DzS_XyyF.js.map} +1 -1
  81. package/dist/chunks/{menu.N41WnXc8.js → menu.B78fzH_k.js} +81 -54
  82. package/dist/chunks/menu.B78fzH_k.js.map +1 -0
  83. package/dist/chunks/{modal-fullscreen.BbNe6M9T.js → modal-fullscreen.DgftXCJe.js} +2 -2
  84. package/dist/chunks/{modal-fullscreen.BbNe6M9T.js.map → modal-fullscreen.DgftXCJe.js.map} +1 -1
  85. package/dist/chunks/{modal.Cb4zg5fN.js → modal.BA745pfv.js} +4 -4
  86. package/dist/chunks/{modal.Cb4zg5fN.js.map → modal.BA745pfv.js.map} +1 -1
  87. package/dist/chunks/{pagination.FbkfItkS.js → pagination.CfwtuZ7R.js} +2 -2
  88. package/dist/chunks/{pagination.FbkfItkS.js.map → pagination.CfwtuZ7R.js.map} +1 -1
  89. package/dist/chunks/{popover.Uy-vuQq5.js → popover.ZlmaSYms.js} +2 -2
  90. package/dist/chunks/{popover.Uy-vuQq5.js.map → popover.ZlmaSYms.js.map} +1 -1
  91. package/dist/chunks/{promo-banner.CGz3MVPw.js → promo-banner.cTUF9seG.js} +2 -2
  92. package/dist/chunks/{promo-banner.CGz3MVPw.js.map → promo-banner.cTUF9seG.js.map} +1 -1
  93. package/dist/chunks/{search-bar.DD6eA0jG.js → search-bar.lYuXPzBX.js} +3 -3
  94. package/dist/chunks/{search-bar.DD6eA0jG.js.map → search-bar.lYuXPzBX.js.map} +1 -1
  95. package/dist/chunks/{secondary-nav.C56_jw55.js → secondary-nav.CF6WPYn4.js} +4 -4
  96. package/dist/chunks/{secondary-nav.C56_jw55.js.map → secondary-nav.CF6WPYn4.js.map} +1 -1
  97. package/dist/chunks/{selection-card-group.DwkH9xJd.js → selection-card-group.CjuBQ2UA.js} +11 -11
  98. package/dist/chunks/{selection-card-group.DwkH9xJd.js.map → selection-card-group.CjuBQ2UA.js.map} +1 -1
  99. package/dist/chunks/{sidepanel.CRJN9Acz.js → sidepanel.NUx7L5f1.js} +2 -2
  100. package/dist/chunks/{sidepanel.CRJN9Acz.js.map → sidepanel.NUx7L5f1.js.map} +1 -1
  101. package/dist/chunks/{teleport.CQKBJZU5.js → teleport.B5fwsT5y.js} +26 -17
  102. package/dist/chunks/teleport.B5fwsT5y.js.map +1 -0
  103. package/dist/chunks/textarea.F-JyRtIw.js +196 -0
  104. package/dist/chunks/{textarea.Y3yd_3ll.js.map → textarea.F-JyRtIw.js.map} +1 -1
  105. package/dist/chunks/{timeline-item.CCV4U3Zx.js → timeline-item.BJyB8-Wv.js} +3 -3
  106. package/dist/chunks/{timeline-item.CCV4U3Zx.js.map → timeline-item.BJyB8-Wv.js.map} +1 -1
  107. package/dist/chunks/{tutorial.4r7MKNEU.js → tutorial.DFvMZAN5.js} +4 -4
  108. package/dist/chunks/{tutorial.4r7MKNEU.js.map → tutorial.DFvMZAN5.js.map} +1 -1
  109. package/dist/chunks/{use-cached-selected-values.-_Gk6HO_.js → use-cached-selected-values.BiqVX5O7.js} +32 -29
  110. package/dist/chunks/{use-cached-selected-values.-_Gk6HO_.js.map → use-cached-selected-values.BiqVX5O7.js.map} +1 -1
  111. package/dist/code-snippet.js +1 -1
  112. package/dist/dashboard-template.js +1 -1
  113. package/dist/dashed-underline.js +1 -1
  114. package/dist/data-grid-template.js +1 -1
  115. package/dist/data-grid.js +1 -1
  116. package/dist/date-picker.js +1 -1
  117. package/dist/date-range-picker.js +1 -1
  118. package/dist/dropdown.js +4 -4
  119. package/dist/file-uploader.js +1 -1
  120. package/dist/filter-bar.js +1 -1
  121. package/dist/header.js +1 -1
  122. package/dist/index.js +88 -89
  123. package/dist/index.js.map +1 -1
  124. package/dist/input-field-password.js +1 -1
  125. package/dist/input-field.js +1 -1
  126. package/dist/internal.js +28 -24
  127. package/dist/internal.js.map +1 -1
  128. package/dist/layout.js +1 -1
  129. package/dist/menu.js +1 -1
  130. package/dist/modal-fullscreen.js +1 -1
  131. package/dist/modal.js +2 -2
  132. package/dist/pagination.js +1 -1
  133. package/dist/popover.js +1 -1
  134. package/dist/promo-banner.js +1 -1
  135. package/dist/search-bar.js +2 -2
  136. package/dist/secondary-nav.js +1 -1
  137. package/dist/selection-card.js +1 -1
  138. package/dist/sidepanel.js +1 -1
  139. package/dist/styles/bento-dark.css +3 -0
  140. package/dist/styles/bento-light.css +3 -0
  141. package/dist/styles/bento.css +3 -0
  142. package/dist/styles/legacy.css +3 -0
  143. package/dist/styles/styleguide.css +3 -0
  144. package/dist/textarea.js +1 -1
  145. package/dist/timeline.js +1 -1
  146. package/dist/tutorial.js +1 -1
  147. package/dist/web-types.json +122 -2
  148. package/package.json +7 -4
  149. package/dist/assets/loading-button.css +0 -1
  150. package/dist/chunks/action-bar.C1iwQWyj.js.map +0 -1
  151. package/dist/chunks/button-actions-with-menu.dp6C-PKX.js.map +0 -1
  152. package/dist/chunks/button-actions.Cpx4PQp0.js +0 -111
  153. package/dist/chunks/button-actions.Cpx4PQp0.js.map +0 -1
  154. package/dist/chunks/data-grid.bti50Fs6.js +0 -2373
  155. package/dist/chunks/data-grid.bti50Fs6.js.map +0 -1
  156. package/dist/chunks/date-range-picker.BvHFTptS.js.map +0 -1
  157. package/dist/chunks/es6.b4enG1py.js +0 -10
  158. package/dist/chunks/es6.b4enG1py.js.map +0 -1
  159. package/dist/chunks/file-uploader.CK-Frs_q.js.map +0 -1
  160. package/dist/chunks/filter-bar.DP_nQeeo.js.map +0 -1
  161. package/dist/chunks/index.BiaBX5uu.js +0 -345
  162. package/dist/chunks/index.BiaBX5uu.js.map +0 -1
  163. package/dist/chunks/loading-button.CiPmvU7F.js +0 -113
  164. package/dist/chunks/loading-button.CiPmvU7F.js.map +0 -1
  165. package/dist/chunks/menu.N41WnXc8.js.map +0 -1
  166. package/dist/chunks/teleport.CQKBJZU5.js.map +0 -1
  167. package/dist/chunks/textarea.Y3yd_3ll.js +0 -192
  168. package/dist/chunks/use-click-outside.D6aIgS15.js +0 -14
  169. package/dist/chunks/use-click-outside.D6aIgS15.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tutorial.4r7MKNEU.js","sources":["../../src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/tutorial-indicator.vue","../../../../node_modules/.pnpm/@adyen+ui-assets-icons-16@4.1.0_vue@2.7.16/node_modules/@adyen/ui-assets-icons-16/dist/vue/blocked.vue","../../src/components/tutorial/components/tutorial-popover/tutorial-popover.vue","../../src/components/tutorial/tutorial.vue"],"sourcesContent":["<template>\n <popper-container\n :target-element=\"targetElement\"\n :middleware=\"middleware\"\n position=\"top-start\"\n fixed-positioning\n disabled-focus-trap\n class=\"b-tutorial-indicator\"\n data-testid=\"tutorial-indicator\"\n >\n <div class=\"b-tutorial-indicator__highlight\" :style=\"computedStyles\"></div>\n </popper-container>\n</template>\n\n<script setup lang=\"ts\">\n import { ref } from 'vue';\n import { hide, type Middleware, offset } from '@floating-ui/vue';\n import { PopperContainer } from '@/components/popper-container';\n\n const BORDER_OFFSET = 2;\n\n defineProps({\n /**\n * Tutorial indicator's target element.\n * The indicator will position itself around the target element.\n */\n targetElement: {\n type: PopperContainer.props?.targetElement.type,\n required: true,\n },\n });\n\n const computedStyles = ref({\n width: '0',\n height: '0',\n borderRadius: '0',\n });\n\n function getBorderRadius(element: HTMLElement) {\n try {\n const radius = parseFloat(getComputedStyle(element).getPropertyValue('border-radius'));\n return Number.isNaN(radius) ? '' : `${radius + 2 * BORDER_OFFSET}px`;\n } catch {\n return '';\n }\n }\n\n const middleware = [\n hide(),\n offset({\n mainAxis: BORDER_OFFSET,\n alignmentAxis: -BORDER_OFFSET,\n }),\n {\n name: 'updateIndicatorSize',\n fn: ({ x, y, elements }) => {\n const target = elements.reference as HTMLElement;\n computedStyles.value.width = `${target.offsetWidth + 4 * BORDER_OFFSET}px`;\n computedStyles.value.height = `${target.offsetHeight + 4 * BORDER_OFFSET}px`;\n computedStyles.value.borderRadius = getBorderRadius(target);\n return { x, y };\n },\n } as Middleware,\n ];\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-indicator.scss\" />\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><g :clip-path=\"'url(#uia-icons-16-blocked__a' + uuid + ')'\"><path fill=\"#00112C\" d=\"M9.51195 0.398918C8.00859 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM5.60823 2.22576C6.75027 1.75271 8.00693 1.62894 9.21931 1.8701C10.4317 2.11125 11.5453 2.70651 12.4194 3.58059C13.2935 4.45466 13.8887 5.56831 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.5555 10.9198 13.2667 11.4124 12.9177 11.8573L4.14271 3.0823C4.58761 2.73333 5.08018 2.44448 5.60823 2.22576ZM3.08208 4.14298L11.857 12.9179C11.7327 13.0154 11.6044 13.1085 11.4723 13.1967C10.4445 13.8834 9.23613 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C2.89155 4.39564 2.98456 4.26733 3.08208 4.14298Z\"/></g><defs><clipPath :id=\"'uia-icons-16-blocked__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style>\n @import '../css/main.css';\n</style>\n","<template>\n <div v-if=\"active && targetElement\">\n <tutorial-indicator v-if=\"isIndicatorVisible && targetElement\" :target-element=\"targetElement\" />\n\n <bento-popover\n :target-element=\"targetElement\"\n :position=\"position\"\n :open=\"isPopoverOpen\"\n :aria-label=\"title\"\n fixed-positioning\n class=\"b-tutorial-popover\"\n @keydown.esc.native=\"emit('finish')\"\n >\n <template v-if=\"image\" #image>\n <bento-image v-bind=\"image\" aspect-ratio=\"landscape\" class=\"b-tutorial-popover__image\" />\n </template>\n\n <div aria-hidden=\"true\" class=\"b-tutorial-popover__ripple\"></div>\n\n <div class=\"b-tutorial-popover__header\">\n <bento-typography variant=\"title\" el=\"span\"> {{ title }} </bento-typography>\n\n <bento-typography v-if=\"showSteps\" el=\"span\" class=\"b-tutorial-popover__steps\">\n {{ t('stepsOfTotal', { step, totalSteps }) }}\n </bento-typography>\n </div>\n\n <bento-typography>\n <slot />\n </bento-typography>\n\n <div class=\"b-tutorial-popover__footer\">\n <bento-menu\n v-if=\"!isFirstStep\"\n :data=\"menuData\"\n class=\"b-tutorial-popover__menu\"\n data-testid=\"menu-button\"\n />\n <div class=\"b-tutorial-popover__actions\">\n <bento-button-actions :actions=\"computedActions\" layout=\"buttons-end\" />\n </div>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, isRef, nextTick, PropType, ref, type default as Vue, watch } from 'vue';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { type BentoButtonActionObject, BentoButtonActions } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { TutorialIndicator } from './components/tutorial-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoMenuItem } from '@/components/menu/components';\n import type { VueNodeElement } from '@/types';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from '../../tutorial.types';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import BlockedIcon from '@adyen/ui-assets-icons-16/vue/blocked';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const DEFAULT_SCROLL_OPTIONS: BentoTutorialScrollOptions = { behavior: 'smooth' };\n\n const props = defineProps({\n /**\n * Optional configuration for the secondary action.\n * In tour tutorials, this is ignored for the introductory step.\n */\n action: {\n type: Object as PropType<BentoButtonActionObject>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is the active step (and should be visible).\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional illustration to display at the top of the popover.\n */\n image: {\n type: Object as PropType<BentoTutorialStep['image']>,\n default: null,\n },\n\n /**\n * Popover's position relative to the target element.\n * Possible values are:\n * 'auto', 'auto-start', 'auto-end',\n * 'top', 'top-start', 'top-end'\n * 'right', 'right-start', 'right-end'\n * 'bottom', 'bottom-start', 'bottom-end'\n * 'left', 'left-start', 'left-end'\n */\n position: {\n type: String as PropType<`${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is a single tutorial or a tour.\n */\n single: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The tutorial step number.\n * In tour tutorials, `0` is the introductory step, and is displayed next\n * to the title.\n */\n step: {\n type: Number,\n default: null,\n },\n\n /**\n * Tutorial popover's target element.\n * The popover will position itself relatively to target element.\n */\n targetElement: {\n type: [Element, Object] as PropType<VueNodeElement>,\n required: true,\n },\n\n /**\n * The tutorial step title.\n */\n title: {\n type: String,\n required: true,\n },\n\n /**\n * Total count of steps.\n * In tour tutorials, this does not include the introductory step, and is\n * displayed next to the title.\n */\n totalSteps: {\n type: Number,\n default: null,\n },\n });\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"next\", \"finish\", \"restart\"]);\n\n const ACTION_SKIP = computed<BentoButtonActionObject>(() => ({\n title: t('skipTour') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_START = computed<BentoButtonActionObject>(() => ({\n title: t('startTour') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_NEXT = computed<BentoButtonActionObject>(() => ({\n title: t('next') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_FINISH = computed<BentoButtonActionObject>(() => ({\n title: t('finish') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_OK = computed<BentoButtonActionObject>(() => ({\n title: t('ok') as string,\n event: () => emit('finish'),\n }));\n\n const isPopoverOpen = ref(false);\n const isIndicatorVisible = ref(false);\n\n const targetElement = computed(() => {\n if (isRef(props.targetElement)) {\n return ((props.targetElement.value as Vue)?.$el || props.targetElement.value) as HTMLElement;\n }\n return ((props.targetElement as Vue).$el || props.targetElement) as HTMLElement;\n });\n\n const isFirstStep = computed(() => props.step === 0);\n const isLastStep = computed(() => props.step === props.totalSteps);\n\n const showSteps = computed(() => !isFirstStep.value);\n\n const menuData = computed<BentoMenuItem[]>(() => [\n {\n text: t('restartTour'),\n handler: () => emit('restart'),\n icon: RefreshIcon,\n },\n ...(isLastStep.value\n ? []\n : [\n {\n text: t('skipTour'),\n handler: () => emit('finish'),\n icon: BlockedIcon,\n },\n ]),\n ]);\n\n const computedActions = computed(() => {\n let primaryAction: BentoButtonActionObject;\n if (isFirstStep.value) {\n primaryAction = props.single ? ACTION_OK.value : ACTION_START.value;\n } else if (isLastStep.value) {\n primaryAction = ACTION_FINISH.value;\n } else {\n primaryAction = ACTION_NEXT.value;\n }\n\n const actions = [primaryAction];\n if (isFirstStep.value && !props.single) {\n actions.push(ACTION_SKIP.value);\n } else if (props.action) {\n actions.push(props.action);\n }\n\n return actions;\n });\n\n watch(\n () => props.active,\n async isActive => {\n if (isActive && targetElement.value?.scrollIntoView) {\n targetElement.value?.scrollIntoView(\n props.scrollOptions != null ? props.scrollOptions : DEFAULT_SCROLL_OPTIONS\n );\n\n // Skip to next tick to preserve popover appear animation\n await nextTick();\n }\n\n isPopoverOpen.value = isActive;\n isIndicatorVisible.value = isActive;\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-popover.scss\" />\n","<template>\n <div class=\"b-tutorial\">\n <tutorial-popover\n v-for=\"(step, i) in steps\"\n v-bind=\"getPopoverProps(step, i)\"\n :key=\"step.title\"\n @finish=\"currentStep = -1\"\n @next=\"currentStep += 1\"\n @restart=\"currentStep = 0\"\n >\n {{ step.description }}\n </tutorial-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, ref, watch } from 'vue';\n import { TutorialPopover } from './components/tutorial-popover';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from './tutorial.types';\n\n const props = defineProps({\n /**\n * The current step index. If provided, will start the tutorial in that step.\n */\n index: {\n type: Number,\n default: null,\n },\n\n /**\n * The steps configuration for the tutorial.\n *\n */\n steps: {\n type: Array as PropType<BentoTutorialStep[]>,\n required: true,\n validator: (value: BentoTutorialStep[]) => value.length > 0,\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n });\n\n const emit = defineEmits([\"update:index\"]);\n\n const currentStep = ref(props.index || 0);\n\n const totalSteps = computed(() => props.steps.length - 1);\n const isSingleTutorial = computed(() => totalSteps.value === 0);\n\n function getPopoverProps(step: BentoTutorialStep, index: number) {\n return {\n // Visual\n targetElement: step.target,\n image: step.image,\n title: step.title,\n step: index,\n totalSteps: totalSteps.value,\n action: step.action,\n scrollOptions: props.scrollOptions,\n\n // Config\n active: index === currentStep.value,\n single: isSingleTutorial.value,\n position: step.position,\n };\n }\n\n watch(currentStep, step => {\n emit('update:index', step);\n });\n\n watch(\n () => props.index,\n value => {\n if (value >= -1 && value <= totalSteps.value) {\n currentStep.value = value;\n }\n }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * The Tutorial is a temporary popover that should be used to educate users about\n * new or unfamiliar features or experiences.\n *\n * You can use single tutorial or chain them into a tour.\n *\n * Only use this component for new features/experiences that are not obvious and\n * self-explanatory on their own.\n *\n * @example\n * import { BentoTutorial } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTutorial },\n * template: `\n * <bento-tutorial\n * :steps=\"[\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * image: { src: imageSource, alt: 'Alt text' }\n * },\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * action: { title: 'Action label', event: () => {} }\n * },\n * ]\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n"],"names":["computedStyles","ref","getBorderRadius","element","radius","middleware","hide","offset","x","y","elements","target","uuid","_sfc_main$2","__default__$1","messages","DEFAULT_SCROLL_OPTIONS","t","useI18n","ACTION_SKIP","computed","emit","ACTION_START","ACTION_NEXT","ACTION_FINISH","ACTION_OK","isPopoverOpen","isIndicatorVisible","targetElement","isRef","props","_a","isFirstStep","isLastStep","showSteps","menuData","RefreshIcon","BlockedIcon","computedActions","primaryAction","actions","watch","isActive","_b","nextTick","__default__","currentStep","totalSteps","isSingleTutorial","getPopoverProps","step","index","value"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"tutorial.DFvMZAN5.js","sources":["../../src/components/tutorial/components/tutorial-popover/components/tutorial-indicator/tutorial-indicator.vue","../../../../node_modules/.pnpm/@adyen+ui-assets-icons-16@4.1.0_vue@2.7.16/node_modules/@adyen/ui-assets-icons-16/dist/vue/blocked.vue","../../src/components/tutorial/components/tutorial-popover/tutorial-popover.vue","../../src/components/tutorial/tutorial.vue"],"sourcesContent":["<template>\n <popper-container\n :target-element=\"targetElement\"\n :middleware=\"middleware\"\n position=\"top-start\"\n fixed-positioning\n disabled-focus-trap\n class=\"b-tutorial-indicator\"\n data-testid=\"tutorial-indicator\"\n >\n <div class=\"b-tutorial-indicator__highlight\" :style=\"computedStyles\"></div>\n </popper-container>\n</template>\n\n<script setup lang=\"ts\">\n import { ref } from 'vue';\n import { hide, type Middleware, offset } from '@floating-ui/vue';\n import { PopperContainer } from '@/components/popper-container';\n\n const BORDER_OFFSET = 2;\n\n defineProps({\n /**\n * Tutorial indicator's target element.\n * The indicator will position itself around the target element.\n */\n targetElement: {\n type: PopperContainer.props?.targetElement.type,\n required: true,\n },\n });\n\n const computedStyles = ref({\n width: '0',\n height: '0',\n borderRadius: '0',\n });\n\n function getBorderRadius(element: HTMLElement) {\n try {\n const radius = parseFloat(getComputedStyle(element).getPropertyValue('border-radius'));\n return Number.isNaN(radius) ? '' : `${radius + 2 * BORDER_OFFSET}px`;\n } catch {\n return '';\n }\n }\n\n const middleware = [\n hide(),\n offset({\n mainAxis: BORDER_OFFSET,\n alignmentAxis: -BORDER_OFFSET,\n }),\n {\n name: 'updateIndicatorSize',\n fn: ({ x, y, elements }) => {\n const target = elements.reference as HTMLElement;\n computedStyles.value.width = `${target.offsetWidth + 4 * BORDER_OFFSET}px`;\n computedStyles.value.height = `${target.offsetHeight + 4 * BORDER_OFFSET}px`;\n computedStyles.value.borderRadius = getBorderRadius(target);\n return { x, y };\n },\n } as Middleware,\n ];\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-indicator.scss\" />\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><g :clip-path=\"'url(#uia-icons-16-blocked__a' + uuid + ')'\"><path fill=\"#00112C\" d=\"M9.51195 0.398918C8.00859 0.0998821 6.45033 0.253358 5.0342 0.839937C3.61808 1.42652 2.40769 2.41985 1.55611 3.69433C0.704529 4.96881 0.25 6.4672 0.25 8C0.25 10.0554 1.06652 12.0267 2.51992 13.4801C3.97333 14.9335 5.94457 15.75 8 15.75C9.53281 15.75 11.0312 15.2955 12.3057 14.4439C13.5801 13.5923 14.5735 12.3819 15.1601 10.9658C15.7466 9.54967 15.9001 7.99141 15.6011 6.48805C15.3021 4.9847 14.5639 3.60378 13.4801 2.51993C12.3962 1.43607 11.0153 0.697953 9.51195 0.398918ZM5.60823 2.22576C6.75027 1.75271 8.00693 1.62894 9.21931 1.8701C10.4317 2.11125 11.5453 2.70651 12.4194 3.58059C13.2935 4.45466 13.8887 5.56831 14.1299 6.78069C14.3711 7.99307 14.2473 9.24974 13.7742 10.3918C13.5555 10.9198 13.2667 11.4124 12.9177 11.8573L4.14271 3.0823C4.58761 2.73333 5.08018 2.44448 5.60823 2.22576ZM3.08208 4.14298L11.857 12.9179C11.7327 13.0154 11.6044 13.1085 11.4723 13.1967C10.4445 13.8834 9.23613 14.25 8 14.25C6.3424 14.25 4.75268 13.5915 3.58058 12.4194C2.40848 11.2473 1.75 9.65761 1.75 8C1.75 6.76387 2.11656 5.5555 2.80331 4.52769C2.89155 4.39564 2.98456 4.26733 3.08208 4.14298Z\"/></g><defs><clipPath :id=\"'uia-icons-16-blocked__a' + uuid\"><rect width=\"16\" height=\"16\" fill=\"#fff\"/></clipPath></defs></svg>\n</template>\n<script>\n let uuid = 0;\n\n export default {\n beforeCreate() {\n this.uuid = uuid.toString();\n uuid += 1;\n },\n };\n</script>\n<style>\n @import '../css/main.css';\n</style>\n","<template>\n <div v-if=\"active && targetElement\">\n <tutorial-indicator v-if=\"isIndicatorVisible && targetElement\" :target-element=\"targetElement\" />\n\n <bento-popover\n :target-element=\"targetElement\"\n :position=\"position\"\n :open=\"isPopoverOpen\"\n :aria-label=\"title\"\n fixed-positioning\n class=\"b-tutorial-popover\"\n @keydown.esc.native=\"emit('finish')\"\n >\n <template v-if=\"image\" #image>\n <bento-image v-bind=\"image\" aspect-ratio=\"landscape\" class=\"b-tutorial-popover__image\" />\n </template>\n\n <div aria-hidden=\"true\" class=\"b-tutorial-popover__ripple\"></div>\n\n <div class=\"b-tutorial-popover__header\">\n <bento-typography variant=\"title\" el=\"span\"> {{ title }} </bento-typography>\n\n <bento-typography v-if=\"showSteps\" el=\"span\" class=\"b-tutorial-popover__steps\">\n {{ t('stepsOfTotal', { step, totalSteps }) }}\n </bento-typography>\n </div>\n\n <bento-typography>\n <slot />\n </bento-typography>\n\n <div class=\"b-tutorial-popover__footer\">\n <bento-menu\n v-if=\"!isFirstStep\"\n :data=\"menuData\"\n class=\"b-tutorial-popover__menu\"\n data-testid=\"menu-button\"\n />\n <div class=\"b-tutorial-popover__actions\">\n <bento-button-actions :actions=\"computedActions\" layout=\"buttons-end\" />\n </div>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, isRef, nextTick, PropType, ref, type default as Vue, watch } from 'vue';\n import { BentoMenu } from '@/components/menu';\n import { BentoPopover, BentoPopoverPositions } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { type BentoButtonActionObject, BentoButtonActions } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { TutorialIndicator } from './components/tutorial-indicator';\n import { useI18n } from '@/utils/ts/i18n';\n import type { BentoMenuItem } from '@/components/menu/components';\n import type { VueNodeElement } from '@/types';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from '../../tutorial.types';\n import RefreshIcon from '@adyen/ui-assets-icons-16/vue/refresh';\n import BlockedIcon from '@adyen/ui-assets-icons-16/vue/blocked';\n\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const DEFAULT_SCROLL_OPTIONS: BentoTutorialScrollOptions = { behavior: 'smooth' };\n\n const props = defineProps({\n /**\n * Optional configuration for the secondary action.\n * In tour tutorials, this is ignored for the introductory step.\n */\n action: {\n type: Object as PropType<BentoButtonActionObject>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is the active step (and should be visible).\n */\n active: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Optional illustration to display at the top of the popover.\n */\n image: {\n type: Object as PropType<BentoTutorialStep['image']>,\n default: null,\n },\n\n /**\n * Popover's position relative to the target element.\n * Possible values are:\n * 'auto', 'auto-start', 'auto-end',\n * 'top', 'top-start', 'top-end'\n * 'right', 'right-start', 'right-end'\n * 'bottom', 'bottom-start', 'bottom-end'\n * 'left', 'left-start', 'left-end'\n */\n position: {\n type: String as PropType<`${BentoPopoverPositions}`>,\n default: BentoPopoverPositions.BOTTOM_START,\n validator: (value: BentoPopoverPositions) => Object.values(BentoPopoverPositions).includes(value),\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n\n /**\n * Indicates whether this popover is a single tutorial or a tour.\n */\n single: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The tutorial step number.\n * In tour tutorials, `0` is the introductory step, and is displayed next\n * to the title.\n */\n step: {\n type: Number,\n default: null,\n },\n\n /**\n * Tutorial popover's target element.\n * The popover will position itself relatively to target element.\n */\n targetElement: {\n type: [Element, Object] as PropType<VueNodeElement>,\n required: true,\n },\n\n /**\n * The tutorial step title.\n */\n title: {\n type: String,\n required: true,\n },\n\n /**\n * Total count of steps.\n * In tour tutorials, this does not include the introductory step, and is\n * displayed next to the title.\n */\n totalSteps: {\n type: Number,\n default: null,\n },\n });\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const emit = defineEmits([\"next\", \"finish\", \"restart\"]);\n\n const ACTION_SKIP = computed<BentoButtonActionObject>(() => ({\n title: t('skipTour') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_START = computed<BentoButtonActionObject>(() => ({\n title: t('startTour') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_NEXT = computed<BentoButtonActionObject>(() => ({\n title: t('next') as string,\n event: () => emit('next'),\n }));\n\n const ACTION_FINISH = computed<BentoButtonActionObject>(() => ({\n title: t('finish') as string,\n event: () => emit('finish'),\n }));\n\n const ACTION_OK = computed<BentoButtonActionObject>(() => ({\n title: t('ok') as string,\n event: () => emit('finish'),\n }));\n\n const isPopoverOpen = ref(false);\n const isIndicatorVisible = ref(false);\n\n const targetElement = computed(() => {\n if (isRef(props.targetElement)) {\n return ((props.targetElement.value as Vue)?.$el || props.targetElement.value) as HTMLElement;\n }\n return ((props.targetElement as Vue).$el || props.targetElement) as HTMLElement;\n });\n\n const isFirstStep = computed(() => props.step === 0);\n const isLastStep = computed(() => props.step === props.totalSteps);\n\n const showSteps = computed(() => !isFirstStep.value);\n\n const menuData = computed<BentoMenuItem[]>(() => [\n {\n text: t('restartTour'),\n handler: () => emit('restart'),\n icon: RefreshIcon,\n },\n ...(isLastStep.value\n ? []\n : [\n {\n text: t('skipTour'),\n handler: () => emit('finish'),\n icon: BlockedIcon,\n },\n ]),\n ]);\n\n const computedActions = computed(() => {\n let primaryAction: BentoButtonActionObject;\n if (isFirstStep.value) {\n primaryAction = props.single ? ACTION_OK.value : ACTION_START.value;\n } else if (isLastStep.value) {\n primaryAction = ACTION_FINISH.value;\n } else {\n primaryAction = ACTION_NEXT.value;\n }\n\n const actions = [primaryAction];\n if (isFirstStep.value && !props.single) {\n actions.push(ACTION_SKIP.value);\n } else if (props.action) {\n actions.push(props.action);\n }\n\n return actions;\n });\n\n watch(\n () => props.active,\n async isActive => {\n if (isActive && targetElement.value?.scrollIntoView) {\n targetElement.value?.scrollIntoView(\n props.scrollOptions != null ? props.scrollOptions : DEFAULT_SCROLL_OPTIONS\n );\n\n // Skip to next tick to preserve popover appear animation\n await nextTick();\n }\n\n isPopoverOpen.value = isActive;\n isIndicatorVisible.value = isActive;\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./tutorial-popover.scss\" />\n","<template>\n <div class=\"b-tutorial\">\n <tutorial-popover\n v-for=\"(step, i) in steps\"\n v-bind=\"getPopoverProps(step, i)\"\n :key=\"step.title\"\n @finish=\"currentStep = -1\"\n @next=\"currentStep += 1\"\n @restart=\"currentStep = 0\"\n >\n {{ step.description }}\n </tutorial-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, PropType, ref, watch } from 'vue';\n import { TutorialPopover } from './components/tutorial-popover';\n import type { BentoTutorialScrollOptions, BentoTutorialStep } from './tutorial.types';\n\n const props = defineProps({\n /**\n * The current step index. If provided, will start the tutorial in that step.\n */\n index: {\n type: Number,\n default: null,\n },\n\n /**\n * The steps configuration for the tutorial.\n *\n */\n steps: {\n type: Array as PropType<BentoTutorialStep[]>,\n required: true,\n validator: (value: BentoTutorialStep[]) => value.length > 0,\n },\n\n /**\n * Options to control the scroll into view behavior.\n * Takes the same options as the `scrollIntoView` function\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView}\n */\n scrollOptions: {\n type: [Boolean, Object] as PropType<BentoTutorialScrollOptions>,\n default: null,\n },\n });\n\n const emit = defineEmits([\"update:index\"]);\n\n const currentStep = ref(props.index || 0);\n\n const totalSteps = computed(() => props.steps.length - 1);\n const isSingleTutorial = computed(() => totalSteps.value === 0);\n\n function getPopoverProps(step: BentoTutorialStep, index: number) {\n return {\n // Visual\n targetElement: step.target,\n image: step.image,\n title: step.title,\n step: index,\n totalSteps: totalSteps.value,\n action: step.action,\n scrollOptions: props.scrollOptions,\n\n // Config\n active: index === currentStep.value,\n single: isSingleTutorial.value,\n position: step.position,\n };\n }\n\n watch(currentStep, step => {\n emit('update:index', step);\n });\n\n watch(\n () => props.index,\n value => {\n if (value >= -1 && value <= totalSteps.value) {\n currentStep.value = value;\n }\n }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * The Tutorial is a temporary popover that should be used to educate users about\n * new or unfamiliar features or experiences.\n *\n * You can use single tutorial or chain them into a tour.\n *\n * Only use this component for new features/experiences that are not obvious and\n * self-explanatory on their own.\n *\n * @example\n * import { BentoTutorial } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTutorial },\n * template: `\n * <bento-tutorial\n * :steps=\"[\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * image: { src: imageSource, alt: 'Alt text' }\n * },\n * {\n * target: targetElement1,\n * title: 'Tutorial intro title',\n * description: 'Intro body content',\n * action: { title: 'Action label', event: () => {} }\n * },\n * ]\"\n * />\n * `\n * }\n */\n export default {};\n</script>\n"],"names":["computedStyles","ref","getBorderRadius","element","radius","middleware","hide","offset","x","y","elements","target","uuid","_sfc_main$2","__default__$1","messages","DEFAULT_SCROLL_OPTIONS","t","useI18n","ACTION_SKIP","computed","emit","ACTION_START","ACTION_NEXT","ACTION_FINISH","ACTION_OK","isPopoverOpen","isIndicatorVisible","targetElement","isRef","props","_a","isFirstStep","isLastStep","showSteps","menuData","RefreshIcon","BlockedIcon","computedActions","primaryAction","actions","watch","isActive","_b","nextTick","__default__","currentStep","totalSteps","isSingleTutorial","getPopoverProps","step","index","value"],"mappings":"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","x_google_ignoreList":[1]}
@@ -6,12 +6,12 @@ import { u as Y } from "./i18n.BQkEbtPM.js";
6
6
  import { d as pe } from "./debounce.DUTu11PS.js";
7
7
  import { n as D } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
8
8
  import { B as k, a as X } from "./keyboard-navigation.Clz1jOaA.js";
9
- import { B as J } from "./checkbox.kd1EnszA.js";
9
+ import { B as J } from "./checkbox.B1qjI4R_.js";
10
10
  import "./index.Cl4_42j5.js";
11
11
  import { C as Ce, a as Se } from "./chevron-up.B2uWhZf7.js";
12
12
  import { B as he } from "./base-button.4UYC3kp2.js";
13
13
  import { C as xe } from "./cross-small.BLUwtRB-.js";
14
- import { B as Ee, a as Z } from "./loading-button.CiPmvU7F.js";
14
+ import { d as Ee, e as Z } from "./button-actions.BIQ3qA8q.js";
15
15
  import { o as Le } from "./resize.Bqks3WUm.js";
16
16
  import "../assets/use-cached-selected-values.css";
17
17
  const le = (t, e, s, l) => {
@@ -56,7 +56,7 @@ function Oe(t, { disabled: e, itemHeight: s, overscan: l = 5, prefixHeight: n })
56
56
  }
57
57
  }
58
58
  return f;
59
- }, R = () => {
59
+ }, B = () => {
60
60
  if (m.value = a.value.clientHeight, typeof s == "number")
61
61
  return Math.ceil(m.value / s);
62
62
  const _ = r.value ?? 0;
@@ -69,10 +69,10 @@ function Oe(t, { disabled: e, itemHeight: s, overscan: l = 5, prefixHeight: n })
69
69
  return L - _;
70
70
  }, T = () => {
71
71
  if (a.value) {
72
- const _ = R();
72
+ const _ = B();
73
73
  r.value = S(), b.value = Math.min(r.value + _ + l, t.value.length), o.value = t.value.slice(r.value, b.value);
74
74
  }
75
- }, B = () => {
75
+ }, R = () => {
76
76
  T();
77
77
  };
78
78
  e || (te(() => {
@@ -101,7 +101,7 @@ function Oe(t, { disabled: e, itemHeight: s, overscan: l = 5, prefixHeight: n })
101
101
  } : {
102
102
  containerRef: a,
103
103
  containerProps: u,
104
- onScroll: B,
104
+ onScroll: R,
105
105
  list: o,
106
106
  wrapperProps: p
107
107
  };
@@ -125,7 +125,7 @@ const Te = $({
125
125
  var Ie = function() {
126
126
  var e = this, s = e._self._c;
127
127
  return e._self._setupProxy, s("div", { staticClass: "b-listbox-single-select-category" }, [s("bento-typography", { staticClass: "b-listbox-single-select-category__label-text", attrs: { variant: "caption", el: "span" } }, [e._v(" " + e._s(e.categoryLabel) + " ")]), s("div", [e._t("default")], 2)], 1);
128
- }, Ae = [], Be = /* @__PURE__ */ D(
128
+ }, Ae = [], Re = /* @__PURE__ */ D(
129
129
  Te,
130
130
  Ie,
131
131
  Ae,
@@ -133,7 +133,7 @@ var Ie = function() {
133
133
  null,
134
134
  "4aa8cc6e"
135
135
  );
136
- const Re = Be.exports, ke = $({
136
+ const Be = Re.exports, ke = $({
137
137
  name: "bento-listbox-option",
138
138
  props: {
139
139
  /**
@@ -326,7 +326,7 @@ const qe = Ye.exports, ne = ({ items: t, isOptionDisabled: e, hasStaticCategorie
326
326
  }, We = $({
327
327
  name: "bento-listbox-single-select",
328
328
  components: {
329
- BentoListboxSingleSelectCategory: Re,
329
+ BentoListboxSingleSelectCategory: Be,
330
330
  BentoListboxSingleSelectOption: qe
331
331
  },
332
332
  directives: { BentoKeyboardNavigationDirective: X },
@@ -382,7 +382,7 @@ const qe = Ye.exports, ne = ({ items: t, isOptionDisabled: e, hasStaticCategorie
382
382
  moveToPreviousElement: E,
383
383
  moveToFirstElement: p,
384
384
  moveToLastElement: S,
385
- setListboxFocusedIndex: R
385
+ setListboxFocusedIndex: B
386
386
  } = ne(
387
387
  {
388
388
  items: G(t, "items"),
@@ -395,7 +395,7 @@ const qe = Ye.exports, ne = ({ items: t, isOptionDisabled: e, hasStaticCategorie
395
395
  [k.ARROW_DOWN]: m,
396
396
  [k.HOME]: p,
397
397
  [k.END]: S
398
- }, B = {
398
+ }, R = {
399
399
  [i.SELECT]: r(i.SELECT),
400
400
  [i.SPACE]: r(i.SPACE),
401
401
  [i.TAB]: r(i.TAB),
@@ -411,7 +411,7 @@ const qe = Ye.exports, ne = ({ items: t, isOptionDisabled: e, hasStaticCategorie
411
411
  * Method to set the index of the item to be focused on
412
412
  * Used for focus management to be kept in-sync with parent e.g. dropdowns
413
413
  */
414
- setListboxFocusedIndex: R
414
+ setListboxFocusedIndex: B
415
415
  }), {
416
416
  // Enums
417
417
  BentoListboxEvent: i,
@@ -425,7 +425,7 @@ const qe = Ye.exports, ne = ({ items: t, isOptionDisabled: e, hasStaticCategorie
425
425
  onOptionSelected: r,
426
426
  // Keyboard navigation
427
427
  listboxListeners: T,
428
- listboxOptionListeners: B
428
+ listboxOptionListeners: R
429
429
  };
430
430
  }
431
431
  });
@@ -538,7 +538,7 @@ const Je = {
538
538
  }
539
539
  );
540
540
  }
541
- ), R = c(() => {
541
+ ), B = c(() => {
542
542
  const f = s.value ? "categoryOpened" : "categoryClosed";
543
543
  return l(f, { category: t.category.label });
544
544
  }), T = c(
@@ -546,19 +546,19 @@ const Je = {
546
546
  el: "span",
547
547
  variant: t.staticCategories ? "caption" : "body"
548
548
  })
549
- ), B = () => {
549
+ ), R = () => {
550
550
  e(z.SELECT_CATEGORY);
551
551
  }, u = () => {
552
552
  e(z.UNSELECT_CATEGORY);
553
553
  }, { isAllSelected: _, isIndeterminate: C, toggleSelectAll: L } = le(
554
554
  S,
555
555
  p,
556
- B,
556
+ R,
557
557
  u
558
558
  );
559
559
  return {
560
560
  // Values
561
- chevronTitle: R,
561
+ chevronTitle: B,
562
562
  conditionalClass: b,
563
563
  hasAllPropsDisabled: a,
564
564
  isOpen: s,
@@ -883,11 +883,11 @@ const vt = mt.exports, ft = {
883
883
  ).length === v.items.length : (g = r.value) == null ? void 0 : g.includes(v.value);
884
884
  });
885
885
  }
886
- ), R = () => b.value && !t.searching ? m.value.length : t.items.length, T = c(() => {
886
+ ), B = () => b.value && !t.searching ? m.value.length : t.items.length, T = c(() => {
887
887
  var x;
888
- const d = p.value.length, v = R(), g = ((x = S.value) == null ? void 0 : x.length) || 0;
888
+ const d = p.value.length, v = B(), g = ((x = S.value) == null ? void 0 : x.length) || 0;
889
889
  return g === 0 ? l("selectAll", { total: d }) : g === v ? l("allSelected", { total: v }) : g <= v ? l("numberOfTotalSelected", { number: g, total: v }) : l("numbersSelected", { number: g });
890
- }), B = (d) => {
890
+ }), R = (d) => {
891
891
  const v = (x) => {
892
892
  const { isDisabled: y, isPreSelected: M } = E(x);
893
893
  return y && M || !y;
@@ -900,7 +900,7 @@ const vt = mt.exports, ft = {
900
900
  }, g = d.filter(v).map(({ value: y }) => y), x = t.selectedValues.filter((y) => !(g != null && g.includes(y.value)));
901
901
  e(i.SELECT, x);
902
902
  }, _ = () => {
903
- B(m.value);
903
+ R(m.value);
904
904
  }, C = () => {
905
905
  u(m.value);
906
906
  }, { isAllSelected: L, isIndeterminate: f, toggleSelectAll: h } = le(
@@ -909,7 +909,7 @@ const vt = mt.exports, ft = {
909
909
  _,
910
910
  C
911
911
  ), A = (d) => {
912
- B(d.items);
912
+ R(d.items);
913
913
  }, F = (d) => {
914
914
  u(d.items);
915
915
  }, W = (d, v) => {
@@ -1152,14 +1152,14 @@ const ee = Ct.exports, St = {
1152
1152
  containerProps: E,
1153
1153
  onScroll: p,
1154
1154
  list: S,
1155
- wrapperProps: R
1155
+ wrapperProps: B
1156
1156
  } = Oe(n, {
1157
1157
  itemHeight: b(),
1158
1158
  // Disable virtual scrolling if not enabled or if lazy loading is enabled or if multi-select
1159
1159
  disabled: (t == null ? void 0 : t.multiple) || (t == null ? void 0 : t.virtualScroll) === !1 || (t == null ? void 0 : t.lazyLoadType) !== "none"
1160
1160
  }), T = c(
1161
1161
  () => o.value ? "true" : void 0
1162
- ), B = c(
1162
+ ), R = c(
1163
1163
  () => o.value && t.loading ? "true" : "false"
1164
1164
  ), u = c(
1165
1165
  () => o.value ? "polite" : void 0
@@ -1197,7 +1197,7 @@ const ee = Ct.exports, St = {
1197
1197
  listboxItemRef: l,
1198
1198
  // a11y
1199
1199
  ariaAtomic: T,
1200
- ariaBusy: B,
1200
+ ariaBusy: R,
1201
1201
  ariaLive: u,
1202
1202
  // Values
1203
1203
  containerProps: E,
@@ -1208,7 +1208,7 @@ const ee = Ct.exports, St = {
1208
1208
  shouldDisplayShowMoreButton: A,
1209
1209
  showMoreButtonText: W,
1210
1210
  virtualisedItems: S,
1211
- wrapperProps: R,
1211
+ wrapperProps: B,
1212
1212
  // Enums
1213
1213
  BentoKeyboardNavigationKeyDownEvent: k,
1214
1214
  BentoListboxEvent: i,
@@ -1246,8 +1246,11 @@ const zt = Ot.exports, H = (t, e) => {
1246
1246
  for (const s of t) {
1247
1247
  if (s.value === e)
1248
1248
  return s.label;
1249
- if (s.items)
1250
- return H(s.items, e);
1249
+ if (s.items) {
1250
+ const l = H(s.items, e);
1251
+ if (l)
1252
+ return l;
1253
+ }
1251
1254
  }
1252
1255
  return null;
1253
1256
  }, Vt = (t, e, s) => {
@@ -1295,4 +1298,4 @@ export {
1295
1298
  Vt as c,
1296
1299
  _t as u
1297
1300
  };
1298
- //# sourceMappingURL=use-cached-selected-values.-_Gk6HO_.js.map
1301
+ //# sourceMappingURL=use-cached-selected-values.BiqVX5O7.js.map