@adyen/bento-vue3 1.66.0 → 1.67.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 (137) hide show
  1. package/dist/@types/index.d.ts +65 -29
  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.css +1 -1
  7. package/dist/assets/card.css +1 -1
  8. package/dist/assets/data-grid.css +1 -1
  9. package/dist/assets/date-range-picker.css +1 -1
  10. package/dist/assets/dialog-page.css +1 -1
  11. package/dist/assets/dropdown-default-textbox.css +1 -1
  12. package/dist/assets/file-uploader.css +1 -1
  13. package/dist/assets/footer-actions.css +1 -1
  14. package/dist/assets/header-with-views.css +1 -1
  15. package/dist/assets/input-field-password.css +1 -1
  16. package/dist/assets/input-field.css +1 -1
  17. package/dist/assets/inspector.css +1 -1
  18. package/dist/assets/menu.css +1 -1
  19. package/dist/assets/modal-fullscreen.css +1 -1
  20. package/dist/assets/popover.css +1 -1
  21. package/dist/assets/sidepanel.css +1 -1
  22. package/dist/assets/use-cached-selected-values.css +1 -1
  23. package/dist/button.js +1 -1
  24. package/dist/card.js +1 -1
  25. package/dist/chunks/{action-bar.OzhLTUKc.js → action-bar.ComuZPet.js} +4 -4
  26. package/dist/chunks/{action-bar.OzhLTUKc.js.map → action-bar.ComuZPet.js.map} +1 -1
  27. package/dist/chunks/{base-modal.CCwWuH6k.js → base-modal.DzJrvis_.js} +2 -2
  28. package/dist/chunks/{base-modal.CCwWuH6k.js.map → base-modal.DzJrvis_.js.map} +1 -1
  29. package/dist/chunks/{button-actions-with-menu.xZYmwO7S.js → button-actions-with-menu.B0nWCTwZ.js} +3 -3
  30. package/dist/chunks/{button-actions-with-menu.xZYmwO7S.js.map → button-actions-with-menu.B0nWCTwZ.js.map} +1 -1
  31. package/dist/chunks/{button-actions.D1pXI1AJ.js → button-actions.BwpznQ6c.js} +2 -2
  32. package/dist/chunks/button-actions.BwpznQ6c.js.map +1 -0
  33. package/dist/chunks/{card.DiBtLuRU.js → card.JBOvn2BO.js} +2 -2
  34. package/dist/chunks/{card.DiBtLuRU.js.map → card.JBOvn2BO.js.map} +1 -1
  35. package/dist/chunks/{code-snippet.DPIhpuKa.js → code-snippet.vrlSqi9k.js} +3 -3
  36. package/dist/chunks/{code-snippet.DPIhpuKa.js.map → code-snippet.vrlSqi9k.js.map} +1 -1
  37. package/dist/chunks/{dashboard-section.BmtN9b0B.js → dashboard-section.Bg0dfNs-.js} +2 -2
  38. package/dist/chunks/{dashboard-section.BmtN9b0B.js.map → dashboard-section.Bg0dfNs-.js.map} +1 -1
  39. package/dist/chunks/{dashed-underline.ywc0ydgS.js → dashed-underline.DgE-UB-x.js} +2 -2
  40. package/dist/chunks/{dashed-underline.ywc0ydgS.js.map → dashed-underline.DgE-UB-x.js.map} +1 -1
  41. package/dist/chunks/{data-grid-template.DAuqLhPI.js → data-grid-template.Df7j2oxe.js} +2 -2
  42. package/dist/chunks/{data-grid-template.DAuqLhPI.js.map → data-grid-template.Df7j2oxe.js.map} +1 -1
  43. package/dist/chunks/{data-grid.BrYCmbPR.js → data-grid.rDZadZwc.js} +367 -365
  44. package/dist/chunks/data-grid.rDZadZwc.js.map +1 -0
  45. package/dist/chunks/{date-picker.Bk4FNLyR.js → date-picker.CZ6zU-NJ.js} +15 -15
  46. package/dist/chunks/{date-picker.Bk4FNLyR.js.map → date-picker.CZ6zU-NJ.js.map} +1 -1
  47. package/dist/chunks/date-range-picker.Dw4R9bIs.js +1225 -0
  48. package/dist/chunks/date-range-picker.Dw4R9bIs.js.map +1 -0
  49. package/dist/chunks/{dropdown-default-textbox.B05elQig.js → dropdown-default-textbox.Ce5D3ipi.js} +40 -39
  50. package/dist/chunks/dropdown-default-textbox.Ce5D3ipi.js.map +1 -0
  51. package/dist/chunks/{dropdown-tag.BUDNO3d0.js → dropdown-tag.BlHovDol.js} +2 -2
  52. package/dist/chunks/{dropdown-tag.BUDNO3d0.js.map → dropdown-tag.BlHovDol.js.map} +1 -1
  53. package/dist/chunks/{dropdown.usAqDecC.js → dropdown.B5ZaFDn_.js} +30 -30
  54. package/dist/chunks/{dropdown.usAqDecC.js.map → dropdown.B5ZaFDn_.js.map} +1 -1
  55. package/dist/chunks/{filter-bar.BxfaFHTk.js → filter-bar.XonJn7ao.js} +11 -11
  56. package/dist/chunks/{filter-bar.BxfaFHTk.js.map → filter-bar.XonJn7ao.js.map} +1 -1
  57. package/dist/chunks/{footer-actions.vQ4flLqU.js → footer-actions.CdJLLWNR.js} +2 -2
  58. package/dist/chunks/{footer-actions.vQ4flLqU.js.map → footer-actions.CdJLLWNR.js.map} +1 -1
  59. package/dist/chunks/{header-with-views.COrWDbtU.js → header-with-views.CHbH1_1V.js} +669 -652
  60. package/dist/chunks/header-with-views.CHbH1_1V.js.map +1 -0
  61. package/dist/chunks/{header.DAEUKoX5.js → header.CJJWPB5Z.js} +4 -4
  62. package/dist/chunks/{header.DAEUKoX5.js.map → header.CJJWPB5Z.js.map} +1 -1
  63. package/dist/chunks/{info-icon-with-popover.Duk1tj5G.js → info-icon-with-popover.DVH46dPy.js} +2 -2
  64. package/dist/chunks/{info-icon-with-popover.Duk1tj5G.js.map → info-icon-with-popover.DVH46dPy.js.map} +1 -1
  65. package/dist/chunks/{input-field-password.XrXAnMpT.js → input-field-password.DWZAf1Oh.js} +86 -85
  66. package/dist/chunks/input-field-password.DWZAf1Oh.js.map +1 -0
  67. package/dist/chunks/{input-field-phone-number.CNurVdiF.js → input-field-phone-number.CbpRItYf.js} +3 -3
  68. package/dist/chunks/{input-field-phone-number.CNurVdiF.js.map → input-field-phone-number.CbpRItYf.js.map} +1 -1
  69. package/dist/chunks/input-field.DExw_Cow.js +303 -0
  70. package/dist/chunks/input-field.DExw_Cow.js.map +1 -0
  71. package/dist/chunks/{menu.CiyYOoKd.js → menu.CeLJ1gIz.js} +2 -2
  72. package/dist/chunks/{menu.CiyYOoKd.js.map → menu.CeLJ1gIz.js.map} +1 -1
  73. package/dist/chunks/{modal-fullscreen.CuL9oSAq.js → modal-fullscreen.CZnLS-fQ.js} +2 -2
  74. package/dist/chunks/{modal-fullscreen.CuL9oSAq.js.map → modal-fullscreen.CZnLS-fQ.js.map} +1 -1
  75. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.LnD61fHp.js → modal.vue_vue_type_script_setup_true_lang.CP7dV1Yy.js} +4 -4
  76. package/dist/chunks/{modal.vue_vue_type_script_setup_true_lang.LnD61fHp.js.map → modal.vue_vue_type_script_setup_true_lang.CP7dV1Yy.js.map} +1 -1
  77. package/dist/chunks/{pagination._rYMF2W_.js → pagination.DL9LmFMJ.js} +2 -2
  78. package/dist/chunks/{pagination._rYMF2W_.js.map → pagination.DL9LmFMJ.js.map} +1 -1
  79. package/dist/chunks/{popover.maCMPyz8.js → popover.VI3TrUkL.js} +2 -2
  80. package/dist/chunks/{popover.maCMPyz8.js.map → popover.VI3TrUkL.js.map} +1 -1
  81. package/dist/chunks/promo-banner.CQp3z2CP.js.map +1 -1
  82. package/dist/chunks/{rich-text-editor.RD8aCPTi.js → rich-text-editor.Dl9PsYbk.js} +4 -3
  83. package/dist/chunks/{rich-text-editor.RD8aCPTi.js.map → rich-text-editor.Dl9PsYbk.js.map} +1 -1
  84. package/dist/chunks/{search-bar.i7BY4IGB.js → search-bar.a-jzP1UA.js} +3 -3
  85. package/dist/chunks/{search-bar.i7BY4IGB.js.map → search-bar.a-jzP1UA.js.map} +1 -1
  86. package/dist/chunks/{secondary-nav.DkRQsIx7.js → secondary-nav.UrmIAVGD.js} +2 -2
  87. package/dist/chunks/{secondary-nav.DkRQsIx7.js.map → secondary-nav.UrmIAVGD.js.map} +1 -1
  88. package/dist/chunks/{sidepanel.CTIjklfG.js → sidepanel.BuNmgmpj.js} +2 -2
  89. package/dist/chunks/{sidepanel.CTIjklfG.js.map → sidepanel.BuNmgmpj.js.map} +1 -1
  90. package/dist/chunks/{summary-grid.types.BTr6x5cg.js → summary-grid.types.CoSCUI1V.js} +2 -2
  91. package/dist/chunks/{summary-grid.types.BTr6x5cg.js.map → summary-grid.types.CoSCUI1V.js.map} +1 -1
  92. package/dist/chunks/{timeline-item.Coz_LRD3.js → timeline-item.BRHwCA1F.js} +2 -2
  93. package/dist/chunks/{timeline-item.Coz_LRD3.js.map → timeline-item.BRHwCA1F.js.map} +1 -1
  94. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.E8oBlhrC.js → tutorial.vue_vue_type_script_setup_true_lang.CAf69UYO.js} +4 -4
  95. package/dist/chunks/{tutorial.vue_vue_type_script_setup_true_lang.E8oBlhrC.js.map → tutorial.vue_vue_type_script_setup_true_lang.CAf69UYO.js.map} +1 -1
  96. package/dist/chunks/{use-cached-selected-values.rqtiP4Nd.js → use-cached-selected-values.D7dOPJSO.js} +87 -83
  97. package/dist/chunks/use-cached-selected-values.D7dOPJSO.js.map +1 -0
  98. package/dist/code-snippet.js +1 -1
  99. package/dist/dashboard-template.js +1 -1
  100. package/dist/dashed-underline.js +1 -1
  101. package/dist/data-grid-template.js +1 -1
  102. package/dist/data-grid.js +1 -1
  103. package/dist/date-picker.js +1 -1
  104. package/dist/date-range-picker.js +1 -1
  105. package/dist/dropdown.js +4 -4
  106. package/dist/filter-bar.js +1 -1
  107. package/dist/header-with-views.js +1 -1
  108. package/dist/header.js +1 -1
  109. package/dist/index.js +33 -33
  110. package/dist/input-field-password.js +1 -1
  111. package/dist/input-field-phone-number.js +1 -1
  112. package/dist/input-field.js +1 -1
  113. package/dist/internal.js +4 -4
  114. package/dist/menu.js +1 -1
  115. package/dist/modal-fullscreen.js +1 -1
  116. package/dist/modal.js +2 -2
  117. package/dist/pagination.js +1 -1
  118. package/dist/popover.js +1 -1
  119. package/dist/rich-text-editor.js +1 -1
  120. package/dist/search-bar.js +2 -2
  121. package/dist/secondary-nav.js +1 -1
  122. package/dist/sidepanel.js +1 -1
  123. package/dist/summary-grid.js +1 -1
  124. package/dist/timeline.js +1 -1
  125. package/dist/tutorial.js +1 -1
  126. package/dist/web-types.json +1 -1
  127. package/package.json +6 -6
  128. package/dist/chunks/button-actions.D1pXI1AJ.js.map +0 -1
  129. package/dist/chunks/data-grid.BrYCmbPR.js.map +0 -1
  130. package/dist/chunks/date-range-picker.-YsRuGmp.js +0 -1208
  131. package/dist/chunks/date-range-picker.-YsRuGmp.js.map +0 -1
  132. package/dist/chunks/dropdown-default-textbox.B05elQig.js.map +0 -1
  133. package/dist/chunks/header-with-views.COrWDbtU.js.map +0 -1
  134. package/dist/chunks/input-field-password.XrXAnMpT.js.map +0 -1
  135. package/dist/chunks/input-field.EOIwm2tq.js +0 -298
  136. package/dist/chunks/input-field.EOIwm2tq.js.map +0 -1
  137. package/dist/chunks/use-cached-selected-values.rqtiP4Nd.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-default-textbox.Ce5D3ipi.js","sources":["../../../vue2/src/components/dropdown/dropdown.types.ts","../../../vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.types.ts","../../../vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue","../../../vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue"],"sourcesContent":["/**\n * @deprecated Do not use. Only 'default' size should be used.\n */\nexport enum BentoDropdownSize {\n DEFAULT = 'DropdownInputDefault',\n SMALL = 'DropdownInputSmall',\n}\n\nexport {\n /**\n * @deprecated since version 2.0. Use the string literal instead.\n */\n BentoListboxLazyLoadType as BentoDropdownLazyLoadType,\n BentoListboxEvent as BentoDropdownEvent,\n} from '@/types';\n\nexport type { BentoListboxSearchOptions as BentoDropdownSearchOptions } from '@/types';\nexport type { BentoListboxEmptyStateProps as BentoDropdownEmptyStateProps } from '@/types';\nexport type { BentoListboxVirtulisationOptions as BentoDropdownVirtulisationOptions } from '@/types';\n","import { PropType } from 'vue';\nimport { Booleanish } from '@/types';\n\n// TODO: Change this to script setup + Typescript interface\nexport const DropdownBaseTextboxProps = {\n /**\n * The number of additional items that have been selected in the dropdown.\n */\n additionalItemsSelected: { type: [Number, String] as PropType<number | string>, default: 0 },\n\n /**\n * Sets the possibility to type into the textbox\n */\n dynamicFiltering: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.\n */\n ariaControls: {\n type: String,\n required: true,\n },\n\n /**\n * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.\n */\n ariaExpanded: {\n type: [String, Boolean] as PropType<Booleanish>,\n required: true,\n },\n\n /**\n * Corresponds to the label's id that labels the textbox element.\n */\n ariaLabelledby: {\n type: String,\n default: null,\n },\n\n /**\n * Disables any textbox functionality\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Marks the textbox as invalid, rendering an error state\n */\n isInvalid: { type: Boolean, default: false },\n\n /**\n * Selected option's label\n */\n displayValue: { type: String, default: null },\n\n /**\n * Indicates if the dropdown is open so that\n * the respective event can be emitted\n */\n open: { type: Boolean, default: false },\n\n /**\n * The input value\n */\n value: { type: String, default: '' },\n\n /**\n * Custom debounce time. Default: 300\n */\n debounceTime: { type: Number, default: 300 },\n};\n\nexport enum DropdownBaseTextboxState {\n DISABLED = 'disabled',\n READONLY = 'readonly',\n HAS_ITEMS = 'has-items',\n OPENED = 'opened',\n ERROR = 'error',\n}\n\nexport enum DropdownBaseTextboxEvent {\n OPEN = 'dropdown-base-open',\n KEYDOWN = 'dropdown-base-keydown',\n CLOSE = 'dropdown-base-close',\n INPUT = 'dropdown-base-input',\n CLEAR = 'dropdown-base-clear',\n}\n\nexport default DropdownBaseTextboxProps;\n","<template>\n <div\n :class=\"$attrs.class\"\n data-testid=\"textbox-wrapper\"\n @click=\"onToggleDropdown\"\n @keydown.escape=\"onCloseDropdown\"\n >\n <bento-typography\n class=\"b-dropdown-base-textbox\"\n :class=\"conditionalClasses\"\n el=\"div\"\n data-testid=\"base-textbox\"\n >\n <input\n v-if=\"shouldShowInput\"\n v-bind=\"ariaAttributes\"\n :id=\"textboxId\"\n ref=\"textbox\"\n class=\"b-dropdown-base-textbox__input\"\n role=\"combobox\"\n type=\"text\"\n aria-autocomplete=\"list\"\n size=\"1\"\n :value=\"open ? value : displayValue\"\n :disabled=\"disabled ? true : null\"\n :readonly=\"readonly\"\n @keydown=\"$emit(DropdownBaseTextboxEvent.KEYDOWN, $event)\"\n @keydown.enter=\"onToggleDropdown\"\n @input=\"onInputEvent\"\n />\n <div\n v-else\n :id=\"textboxId\"\n v-bind=\"ariaAttributes\"\n ref=\"textbox\"\n class=\"b-dropdown-base-textbox__input\"\n :class=\"comboboxConditionalClasses\"\n :aria-readonly=\"readonly ? 'true' : null\"\n role=\"combobox\"\n :tabindex=\"0\"\n >\n <slot v-if=\"shouldShowSingleSelectSlot\" v-bind=\"selectedValueItem\">\n {{ displayValue }}\n </slot>\n <template v-else-if=\"shouldShowMultipleSlot\">\n <div class=\"b-dropdown-base-textbox__input-multiple-selected\">\n <div v-for=\"singleItem of selectedValueItems\" :key=\"singleItem.value\">\n <div class=\"b-dropdown-base-textbox__input-selected-element\">\n <slot v-bind=\"singleItem\">\n {{ displayValue }}\n </slot>\n </div>\n </div>\n </div>\n </template>\n <template v-else>{{ displayValue }}</template>\n </div>\n <span v-if=\"additionalItemsSelected\" class=\"b-dropdown-base-textbox__additional-items\">\n {{ additionalItemsSelected }}\n </span>\n <span v-if=\"hasSlot('icon') && !isFiltering\" class=\"b-dropdown-base-textbox__icon\" aria-hidden=\"true\">\n <slot name=\"icon\"></slot>\n </span>\n <span\n v-if=\"isFiltering\"\n class=\"b-dropdown-base-textbox__clear-search\"\n tabindex=\"0\"\n data-testid=\"clear-search-button\"\n @click.stop=\"onClearSearch\"\n @keydown.enter.stop=\"onClearSearch\"\n @keyup.space=\"onClearSearch\"\n >\n <cross-circle-fill-small-icon v-if=\"size === BentoDropdownSize.SMALL\" :svg-title=\"t('clearSearch')\" />\n <cross-circle-fill-icon v-else :svg-title=\"t('clearSearch')\" />\n </span>\n </bento-typography>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, nextTick, PropType, ref, useAttrs, useSlots, watch } from 'vue';\n import { generateUid } from '@/core/utils/ts';\n import { useI18n } from '@/utils/ts/i18n';\n import { useHasSlot } from '@/composables';\n import { BentoTypography } from '@/components/typography';\n import { debounce } from '@/utils/ts/debounce';\n import { BentoListboxOptionItem, Booleanish } from '@/types';\n import type { HTMLAttributes } from 'vue/types/jsx.d.ts';\n import { DropdownBaseTextboxEvent, DropdownBaseTextboxState } from './dropdown-base-textbox.types';\n import CrossCircleFillIcon from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n import CrossCircleFillSmallIcon from '@adyen/ui-assets-icons-16/vue/cross-circle-fill-small';\n import { BentoDropdownSize } from '@/components/dropdown/dropdown.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const attrs = useAttrs();\n const slots = useSlots();\n const hasSlot = useHasSlot(slots);\n const props = defineProps({\n /**\n * The number of additional items that have been selected in the dropdown.\n */\n additionalItemsSelected: { type: [Number, String] as PropType<number | string>, default: 0 },\n\n /**\n * If the combobox DOM element should be an `input` element.\n */\n alwaysComboboxIsInput: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.\n */\n ariaControls: { type: String, required: true },\n\n /**\n * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.\n */\n ariaExpanded: {\n type: [String, Boolean] as PropType<Booleanish>,\n required: true,\n },\n\n /**\n * If no label element is used then the aria-label is be set should be set.\n */\n ariaLabel: { type: String, default: null },\n\n /**\n * Corresponds to the label's id that labels the textbox element.\n */\n ariaLabelledby: { type: String, default: null },\n\n /**\n * Custom debounce time for the user type event.\n */\n debounceTime: { type: Number, default: 300 },\n\n /**\n * Disables any textbox functionality\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Selected option's label\n */\n displayValue: { type: String, default: null },\n\n /**\n * Sets the possibility to type into the textbox.\n */\n dynamicFiltering: { type: Boolean, default: false },\n\n /**\n * Marks the textbox as invalid, rendering an error state\n */\n isInvalid: { type: Boolean, default: false },\n\n /*\n * If enabled, the user will be able to select multiple items.\n */\n multiple: { type: Boolean, default: false },\n\n /**\n * Indicates if the dropdown is open so that\n * the respective event can be emitted\n */\n open: { type: Boolean, default: false },\n\n /**\n * Sets the dropdown to readonly state\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * The input value\n */\n value: { type: String, default: '' },\n\n /**\n * The selected value's list box item.\n */\n selectedValueItem: {\n type: [Object, Array] as PropType<BentoListboxOptionItem | BentoListboxOptionItem[]>,\n default: undefined,\n },\n\n /**\n * Toggles whether to use the slot content select items shown in the textbox in multiple mode.\n */\n showSlotContentInMultiple: { type: Boolean, default: false },\n\n /**\n * Dropdown size\n */\n size: {\n type: String as PropType<BentoDropdownSize | `${BentoDropdownSize}`>,\n default: null,\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when the \"clear\" button is clicked\n */\n (e: DropdownBaseTextboxEvent.CLEAR);\n\n /**\n * Emitted on click, space, enter and esc user events. It will close the dropdown.\n */\n (e: DropdownBaseTextboxEvent.CLOSE);\n\n /**\n * Emitted when `dynamicFiltering` is enabled and a search input is entered\n */\n (e: DropdownBaseTextboxEvent.INPUT, searchValue: string);\n\n /**\n * Emitted when any key is pressed and the focus is on the input field\n */\n (e: DropdownBaseTextboxEvent.KEYDOWN, event: KeyboardEvent);\n\n /**\n * Emitted on click, space and enter user events. It will open the dropdown.\n */\n (e: DropdownBaseTextboxEvent.OPEN);\n }>();\n\n const textbox = ref(null);\n const textboxId = generateUid('textbox');\n\n const conditionalClasses = computed(() => ({\n [`b-dropdown-base-textbox--${DropdownBaseTextboxState.DISABLED}`]: props.disabled,\n [`b-dropdown-base-textbox--${DropdownBaseTextboxState.READONLY}`]: props.readonly,\n [`b-dropdown-base-textbox--${DropdownBaseTextboxState.HAS_ITEMS}`]: !!props.additionalItemsSelected,\n }));\n\n const comboboxConditionalClasses = computed(() => ({\n [`b-dropdown-base-textbox__input--dynamic-filtering`]: props.dynamicFiltering,\n }));\n\n const isFiltering = computed(() => props.dynamicFiltering && !!props.value && props.open);\n\n const ariaAttributes = computed(\n () =>\n ({\n 'aria-haspopup': 'listbox',\n 'aria-controls': props.ariaControls,\n 'aria-describedby': attrs['aria-describedby']?.toString() as string,\n 'aria-expanded': props.ariaExpanded ? 'true' : 'false',\n 'aria-labelledby': props.ariaLabelledby,\n 'aria-label': props.ariaLabelledby ? null : props.ariaLabel,\n 'aria-invalid': props.isInvalid,\n 'aria-disabled': props.disabled ? true : null,\n }) as HTMLAttributes\n );\n // Cast selectedValueItem if it is an array of selected items\n const selectedValueItems = computed(() =>\n props.multiple ? (props.selectedValueItem as BentoListboxOptionItem[]) : []\n );\n\n const shouldShowInput = computed(() => props.dynamicFiltering && (props.open || props.alwaysComboboxIsInput));\n const shouldShowSingleSelectSlot = computed(() => props.selectedValueItem && !props.multiple);\n const shouldShowMultipleSlot = computed(\n () =>\n props.multiple &&\n props.selectedValueItem &&\n selectedValueItems.value.length > 0 &&\n props.showSlotContentInMultiple\n );\n\n watch(\n () => shouldShowInput.value,\n () => {\n if (shouldShowInput.value && !props.alwaysComboboxIsInput) {\n nextTick(() => {\n textbox.value.focus();\n });\n }\n }\n );\n\n const onOpenDropdown = async () => {\n if (!props.disabled && !props.readonly) {\n emit(DropdownBaseTextboxEvent.OPEN);\n // wait for popover to open before setting focus\n await nextTick();\n textbox.value.focus();\n }\n };\n\n const onCloseDropdown = () => {\n if (props.open) {\n textbox.value.focus();\n emit(DropdownBaseTextboxEvent.CLOSE);\n }\n };\n\n const onToggleDropdown = (event: Event) => {\n const isDynamicFilteringInputClickEvent = props.open && (event.target as HTMLDivElement).tagName === 'INPUT';\n if (isDynamicFilteringInputClickEvent) {\n /**\n * When there's a click even on the input during filtering\n * and the popover is open, do not toggle the popover.\n * Allow for click events inside the input field\n */\n return null;\n }\n\n return props.open ? onCloseDropdown() : onOpenDropdown();\n };\n\n const onClearSearch = () => {\n emit(DropdownBaseTextboxEvent.CLEAR);\n emit(DropdownBaseTextboxEvent.INPUT, '');\n textbox.value.focus();\n };\n const onInputEvent = debounce<(event: Event) => void>((event: Event) => {\n if (!props.readonly && !props.disabled) {\n emit(DropdownBaseTextboxEvent.INPUT, (event.target as HTMLInputElement).value);\n } else {\n event.preventDefault();\n event.stopPropagation();\n }\n }, props.debounceTime);\n\n const focus = () => {\n textbox.value.focus();\n };\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * Only for internal use, implements the logic of the textbox element to be implemented in the combobox.\n */\n export default defineComponent({\n i18n: { messages },\n name: 'dropdown-base-textbox',\n inheritAttrs: false,\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-base-textbox.scss\" />\n","<template>\n <div class=\"b-dropdown-default-textbox\" :class=\"conditionalClasses\" data-testid=\"default-textbox\">\n <dropdown-base-textbox\n ref=\"baseTextbox\"\n v-bind=\"{ ...$attrs, ...$props }\"\n class=\"b-dropdown-default-textbox__textbox\"\n :value=\"value\"\n v-on=\"listeners\"\n >\n <template v-for=\"(_, innerSlot) of slots\" #[innerSlot]=\"scope\">\n <slot :name=\"innerSlot\" v-bind=\"scope\" />\n </template>\n <template #icon>\n <div class=\"b-dropdown-default-textbox__chevron\">\n <chevron-up-icon v-show=\"isDropdownOpen\" svg-title=\"opened\" />\n <chevron-down-icon v-show=\"!isDropdownOpen\" svg-title=\"closed\" />\n </div>\n </template>\n </dropdown-base-textbox>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { computed, defineComponent, PropType, ref, useSlots } from 'vue';\n import DropdownBaseTextbox from '@/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue';\n import { BentoListboxOptionItem, Booleanish } from '@/types';\n import { stopEventPropagation } from '@/utils/ts/events';\n import {\n DropdownBaseTextboxEvent,\n DropdownBaseTextboxState,\n } from '../dropdown-base-textbox/dropdown-base-textbox.types';\n import ChevronDownIcon from '@adyen/ui-assets-icons-16/vue/chevron-down';\n import ChevronUpIcon from '@adyen/ui-assets-icons-16/vue/chevron-up';\n\n const emit = defineEmits<{\n /**\n * Emitted on clearing the input.\n */\n (e: 'clear');\n\n /**\n * Emitted on click, space and enter user events. It will open the dropdown.\n */\n (e: 'close');\n\n /**\n * Emitted on input event.\n */\n (e: 'input', newInput: string);\n\n /**\n * Emitted on keydown event.\n */\n (e: 'keydown', keydownEvent: KeyboardEvent);\n\n /**\n * Emitted on click, space, enter and esc user events. It will close the dropdown.\n */\n (e: 'open');\n }>();\n\n const slots = useSlots();\n\n const props = defineProps({\n /**\n * The number of additional items that have been selected in the dropdown.\n */\n additionalItemsSelected: { type: [Number, String] as PropType<number | string>, default: 0 },\n\n /**\n * Sets the aria-controls attribute on the textbox. This should correspond to the popover's id that the textbox triggers.\n */\n ariaControls: {\n type: String,\n required: true,\n },\n\n /**\n * Indicates whether the content the textbox triggers is visible or not. Needs to be set accordingly when the textbox is used and changed every time the popover is shown/hidden.\n */\n ariaExpanded: {\n type: [String, Boolean] as PropType<Booleanish>,\n required: true,\n },\n\n /**\n * If no label element is used then the aria-label is be set should be set.\n */\n ariaLabel: {\n type: String,\n default: null,\n },\n\n /**\n * Corresponds to the label's id that labels the textbox element.\n */\n ariaLabelledby: {\n type: String,\n default: null,\n },\n\n /**\n * Renders the dropdown with a condensed style.\n */\n condensed: { type: Boolean, default: false },\n\n /**\n * Custom debounce time. Default: 300\n */\n debounceTime: { type: Number, default: 300 },\n\n /**\n * Disables any textbox functionality\n */\n disabled: { type: Boolean, default: false },\n\n /**\n * Selected option's label\n */\n displayValue: { type: String, default: null },\n\n /**\n * Sets the possibility to type into the textbox\n */\n dynamicFiltering: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Marks the textbox as invalid, rendering an error state\n */\n isInvalid: { type: Boolean, default: false },\n\n /**\n * Indicates if the dropdown is open so that\n * the respective event can be emitted\n */\n open: { type: Boolean, default: false },\n\n /**\n * Sets the dropdown to readonly state\n */\n readonly: { type: Boolean, default: false },\n\n /**\n * The selected value's list box item.\n */\n selectedValueItem: {\n type: [Object, Array] as PropType<BentoListboxOptionItem | BentoListboxOptionItem[]>,\n default: undefined,\n },\n\n /**\n * Toggles whether to use the slot content select items shown in the textbox in multiple mode.\n */\n showSlotContentInMultiple: { type: Boolean, default: false },\n\n /**\n * The input value\n */\n value: { type: String, default: '' },\n\n /*\n * If enabled, the user will be able to select multiple items.\n */\n multiple: { type: Boolean, default: false },\n });\n\n const baseTextbox = ref(null);\n\n const conditionalClasses = computed(() => ({\n [`b-dropdown-default-textbox--${DropdownBaseTextboxState.ERROR}`]:\n !props.disabled && !props.readonly && props.isInvalid,\n [`b-dropdown-default-textbox--${DropdownBaseTextboxState.DISABLED}`]: props.disabled,\n [`b-dropdown-default-textbox--${DropdownBaseTextboxState.READONLY}`]: props.readonly,\n [`b-dropdown-default-textbox--${DropdownBaseTextboxState.OPENED}`]: props.open,\n 'b-dropdown-default-textbox--condensed': props.condensed,\n }));\n\n const isDropdownOpen = computed(() => props.open && !props.disabled && !props.readonly);\n\n const onInput = (newInput: string) => {\n emit('input', newInput);\n };\n const onKeyDown = (e: KeyboardEvent) => {\n emit('keydown', e);\n };\n const openDropdown = (e: Event) => {\n stopEventPropagation(e);\n emit('open');\n };\n const closeDropdown = (e: Event) => {\n stopEventPropagation(e);\n emit('close');\n };\n const clearValue = (e: Event) => {\n stopEventPropagation(e);\n emit('clear');\n };\n\n const listeners = {\n [DropdownBaseTextboxEvent.INPUT]: onInput,\n [DropdownBaseTextboxEvent.OPEN]: openDropdown,\n [DropdownBaseTextboxEvent.CLOSE]: closeDropdown,\n [DropdownBaseTextboxEvent.CLEAR]: clearValue,\n [DropdownBaseTextboxEvent.KEYDOWN]: onKeyDown,\n };\n\n const focus = () => {\n baseTextbox.value.focus();\n };\n\n defineExpose({\n focus,\n });\n</script>\n\n<script lang=\"ts\">\n /**\n * For internal use only, textbox component used in the dropdown component.\n */\n export default defineComponent({\n name: 'dropdown-default-textbox',\n inheritAttrs: false,\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-default-textbox.scss\" />\n"],"names":["BentoDropdownSize","BentoDropdownSize2","DropdownBaseTextboxState","DropdownBaseTextboxState2","DropdownBaseTextboxEvent","DropdownBaseTextboxEvent2","__default__$1","defineComponent","messages","t","useI18n","attrs","useAttrs","slots","useSlots","hasSlot","useHasSlot","props","__props","emit","__emit","textbox","ref","textboxId","generateUid","conditionalClasses","computed","comboboxConditionalClasses","isFiltering","ariaAttributes","_a","selectedValueItems","shouldShowInput","shouldShowSingleSelectSlot","shouldShowMultipleSlot","watch","nextTick","onOpenDropdown","onCloseDropdown","onToggleDropdown","event","onClearSearch","onInputEvent","debounce","__expose","__default__","baseTextbox","isDropdownOpen","onInput","newInput","onKeyDown","e","openDropdown","stopEventPropagation","closeDropdown","clearValue","listeners"],"mappings":";;;;;;;;;;;;;AAGY,IAAAA,KAAA,kBAAAC,OACRA,EAAA,UAAA,wBACAA,EAAA,QAAA,sBAFQA,IAAAD,MAAA,CAAA,CAAA,GCuEAE,IAAA,kBAAAC,OACRA,EAAA,WAAA,YACAA,EAAA,WAAA,YACAA,EAAA,YAAA,aACAA,EAAA,SAAA,UACAA,EAAA,QAAA,SALQA,IAAAD,KAAA,CAAA,CAAA,GAQAE,IAAA,kBAAAC,OACRA,EAAA,OAAA,sBACAA,EAAA,UAAA,yBACAA,EAAA,QAAA,uBACAA,EAAA,QAAA,uBACAA,EAAA,QAAA,uBALQA,IAAAD,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;uBCsQRE,KAAAC,EAAA;AAAA,EAA+B,MAAA,EAAA,UAAAC,GAAA;AAAA,EACV,MAAA;AAAA,EACX,cAAA;AAEV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA5PA,UAAA,EAAA,GAAAC,EAAA,IAAAC,GAAA,EAAA,UAAAF,GAAA,CAAA,GAEAG,IAAAC,GAAA,GACAC,IAAAC,EAAA,GACAC,IAAAC,GAAAH,CAAA,GACAI,IAAAC,GAyGAC,IAAAC,GA2BAC,IAAAC,EAAA,IAAA,GACAC,IAAAC,GAAA,SAAA,GAEAC,IAAAC,EAAA,OAAA;AAAA,MAA2C,CAAA,4BAAAxB,EAAA,QAAA,EAAA,GAAAe,EAAA;AAAA,MACkC,CAAA,4BAAAf,EAAA,QAAA,EAAA,GAAAe,EAAA;AAAA,MACA,CAAA,4BAAAf,EAAA,SAAA,EAAA,GAAA,CAAA,CAAAe,EAAA;AAAA,IACG,EAAA,GAGhFU,IAAAD,EAAA,OAAA;AAAA,MAAmD,qDAAAT,EAAA;AAAA,IACc,EAAA,GAGjEW,IAAAF,EAAA,MAAAT,EAAA,oBAAA,CAAA,CAAAA,EAAA,SAAAA,EAAA,IAAA,GAEAY,IAAAH;AAAA,MAAuB,MAAA;;AAAA;AAAA,UAEd,iBAAA;AAAA,UACoB,iBAAAT,EAAA;AAAA,UACM,qBAAAa,IAAAnB,EAAA,kBAAA,MAAA,gBAAAmB,EAAA;AAAA,UACiC,iBAAAb,EAAA,eAAA,SAAA;AAAA,UACT,mBAAAA,EAAA;AAAA,UACtB,cAAAA,EAAA,iBAAA,OAAAA,EAAA;AAAA,UACyB,gBAAAA,EAAA;AAAA,UAC5B,iBAAAA,EAAA,WAAA,KAAA;AAAA,QACmB;AAAA;AAAA,IAC7C,GAGRc,IAAAL;AAAA,MAA2B,MAAAT,EAAA,WAAAA,EAAA,oBAAA,CAAA;AAAA,IACmD,GAG9Ee,IAAAN,EAAA,MAAAT,EAAA,qBAAAA,EAAA,QAAAA,EAAA,sBAAA,GACAgB,IAAAP,EAAA,MAAAT,EAAA,qBAAA,CAAAA,EAAA,QAAA,GACAiB,IAAAR;AAAA,MAA+B,MAAAT,EAAA,YAAAA,EAAA,qBAAAc,EAAA,MAAA,SAAA,KAAAd,EAAA;AAAA,IAKjB;AAGd,IAAAkB;AAAA,MAAA,MAAAH,EAAA;AAAA,MAC0B,MAAA;AAElB,QAAAA,EAAA,SAAA,CAAAf,EAAA,yBACImB,EAAA,MAAA;AACI,UAAAf,EAAA,MAAA,MAAA;AAAA,QAAoB,CAAA;AAAA,MAE5B;AAAA,IACJ;AAGJ,UAAAgB,IAAA,YAAA;AACI,MAAA,CAAApB,EAAA,YAAA,CAAAA,EAAA,aACIE,EAAAf,EAAA,IAAA,GAEA,MAAAgC,EAAA,GACAf,EAAA,MAAA,MAAA;AAAA,IACJ,GAGJiB,IAAA,MAAA;AACI,MAAArB,EAAA,SACII,EAAA,MAAA,MAAA,GACAF,EAAAf,EAAA,KAAA;AAAA,IACJ,GAGJmC,IAAA,CAAAC,MACIvB,EAAA,QAAAuB,EAAA,OAAA,YAAA,UAOI,OAGJvB,EAAA,OAAAqB,EAAA,IAAAD,EAAA,GAGJI,IAAA,MAAA;AACI,MAAAtB,EAAAf,EAAA,KAAA,GACAe,EAAAf,EAAA,OAAA,EAAA,GACAiB,EAAA,MAAA,MAAA;AAAA,IAAoB,GAExBqB,IAAAC,GAAA,CAAAH,MAAA;AACI,MAAA,CAAAvB,EAAA,YAAA,CAAAA,EAAA,WACIE,EAAAf,EAAA,OAAAoC,EAAA,OAAA,KAAA,KAEAA,EAAA,eAAA,GACAA,EAAA,gBAAA;AAAA,IACJ,GAAAvB,EAAA,YAAA;AAOJ,WAAA2B,EAAA;AAAA,MAAa,OAJb,MAAA;AACI,QAAAvB,EAAA,MAAA,MAAA;AAAA,MAAoB;AAAA,IAIpB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4HClHJwB,KAAAtC,EAAA;AAAA,EAA+B,MAAA;AAAA,EACrB,cAAA;AAEV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/LA,UAAAY,IAAAC,GA2BAP,IAAAC,EAAA,GAEAG,IAAAC,GA0GA4B,IAAAxB,EAAA,IAAA,GAEAG,IAAAC,EAAA,OAAA;AAAA,MAA2C,CAAA,+BAAAxB,EAAA,KAAA,EAAA,GAAA,CAAAe,EAAA,YAAA,CAAAA,EAAA,YAAAA,EAAA;AAAA,MAES,CAAA,+BAAAf,EAAA,QAAA,EAAA,GAAAe,EAAA;AAAA,MAC4B,CAAA,+BAAAf,EAAA,QAAA,EAAA,GAAAe,EAAA;AAAA,MACA,CAAA,+BAAAf,EAAA,MAAA,EAAA,GAAAe,EAAA;AAAA,MACF,yCAAAA,EAAA;AAAA,IAC3B,EAAA,GAGnD8B,IAAArB,EAAA,MAAAT,EAAA,QAAA,CAAAA,EAAA,YAAA,CAAAA,EAAA,QAAA,GAEA+B,IAAA,CAAAC,MAAA;AACI,MAAA9B,EAAA,SAAA8B,CAAA;AAAA,IAAsB,GAE1BC,IAAA,CAAAC,MAAA;AACI,MAAAhC,EAAA,WAAAgC,CAAA;AAAA,IAAiB,GAErBC,IAAA,CAAAD,MAAA;AACI,MAAAE,EAAAF,CAAA,GACAhC,EAAA,MAAA;AAAA,IAAW,GAEfmC,IAAA,CAAAH,MAAA;AACI,MAAAE,EAAAF,CAAA,GACAhC,EAAA,OAAA;AAAA,IAAY,GAEhBoC,IAAA,CAAAJ,MAAA;AACI,MAAAE,EAAAF,CAAA,GACAhC,EAAA,OAAA;AAAA,IAAY,GAGhBqC,IAAA;AAAA,MAAkB,CAAApD,EAAA,KAAA,GAAA4C;AAAA,MACoB,CAAA5C,EAAA,IAAA,GAAAgD;AAAA,MACD,CAAAhD,EAAA,KAAA,GAAAkD;AAAA,MACC,CAAAlD,EAAA,KAAA,GAAAmD;AAAA,MACA,CAAAnD,EAAA,OAAA,GAAA8C;AAAA,IACE;AAOxC,WAAAN,EAAA;AAAA,MAAa,OAJb,MAAA;AACI,QAAAE,EAAA,MAAA,MAAA;AAAA,MAAwB;AAAA,IAIxB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as s, computed as b, createElementBlock as v, openBlock as f, createVNode as c, mergeProps as y, withCtx as d, unref as _, toRefs as I, createTextVNode as g, toDisplayString as C, createBlock as w } from "vue";
2
2
  import { B as A } from "./avatar.B0-9jC6H.js";
3
- import { B as n } from "./dropdown.usAqDecC.js";
3
+ import { B as n } from "./dropdown.B5ZaFDn_.js";
4
4
  import { d as x, B as D } from "./typography.DN5eC5ch.js";
5
5
  import { u as T } from "./use-country-items.4kZgVg_l.js";
6
6
  import { B } from "./country.types.C0Q_hhgJ.js";
@@ -199,4 +199,4 @@ export {
199
199
  W as c,
200
200
  X as d
201
201
  };
202
- //# sourceMappingURL=dropdown-tag.BUDNO3d0.js.map
202
+ //# sourceMappingURL=dropdown-tag.BlHovDol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-tag.BUDNO3d0.js","sources":["../../../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue"],"sourcesContent":["<template>\n <div>\n <bento-dropdown v-slot=\"{ label, data }\" v-bind=\"$props\" :items=\"dropdownItems\" @input=\"onInput\">\n <bento-avatar :username=\"label\" :src=\"data\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoAvatarListboxOptions } from './dropdown-avatar.types';\n import { BentoAvatar } from '@/components/avatar';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the avatar dropdown with.\n * It must be an array of {@see BentoAvatarListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option.\n * * @property {string,number} value.value - Value of the option.\n * * @property {string} value.src - Image source of the avatar image.\n */\n items: {\n type: Array as PropType<BentoAvatarListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const dropdownItems = computed(() => props.items.map(({ value, label, src }) => ({ value, label, data: src })));\n</script>\n\n<script lang=\"ts\">\n /**\n * A Avatar Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownAvatar } from '@adyen/bento-vue2';\n * import type { BentoAvatarListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownAvatar },\n * template: `\n * <bento-dropdown-avatar\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('user-id-1') // Default value\n * const options: BentoAvatarListboxOptions = [\n * { label: 'User 1', value: 'user-id-1' },\n * { label: 'User 2', value: 'user-id-2', src: 'image-source.jpeg' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-avatar',\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ label }\" v-bind=\"$props\" :items=\"countryItems\" @input=\"onInput\">\n <bento-typography el=\"span\">{{ label }}</bento-typography>\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType, toRefs } from 'vue';\n import { BentoCountryListboxOptions } from './dropdown-country.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoTypography } from '@/components/typography';\n import { useCountryItems } from './composables/use-country-items';\n import { deprecate } from '@/utils/ts/deprecate';\n import { BentoCountryVariant } from '@/components/country';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCountryListboxOptions }\n * * @deprecated {string} value.label - Use BentoDropdown instead of custom labels\n * * @property {BentoCountryCode | string} value.value - Country code of the option\n */\n items: {\n type: Array as PropType<BentoCountryListboxOptions>,\n default: () => [],\n },\n\n /**\n * Which label variant to display.\n * @values iso, name, phone_code, capital\n */\n variant: {\n type: String as PropType<BentoCountryVariant | `${BentoCountryVariant}`>,\n default: BentoCountryVariant.CUSTOM,\n validator: (value: BentoCountryVariant) => Object.values(BentoCountryVariant).includes(value),\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const { variant, items } = toRefs(props);\n const countryItems = useCountryItems(variant, items);\n\n if (variant.value === 'custom' || items.value.some(item => item.label)) {\n deprecate(\n 'BentoDropdownCountry \"custom\" variant and \"items\" prop \"label\" key',\n 'Use any of the other BentoDropdownCountry variants instead OR use BentoDropdown component for custom labels',\n '2.0.0'\n );\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * A Country Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-country\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-country',\n });\n</script>\n","<template>\n <bento-dropdown v-slot=\"slotProps\" v-bind=\"$props\" @input=\"onInput\">\n <listbox-option-tag :option=\"slotProps\" />\n </bento-dropdown>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import type { BentoCurrencyListboxOptions } from './dropdown-currency.types';\n import type { BentoListboxSelectedValue } from '@/types';\n import { ListboxOptionTag } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCurrencyListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoCurrencyISOCode} value.code - Currency ISO code of the option\n */\n items: {\n type: Array as PropType<BentoCurrencyListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n</script>\n\n<script lang=\"ts\">\n /**\n * A Currency Dropdown showing a selectable list of currencies.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-currency\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-currency',\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" @input=\"onInput\">\n <bento-payment-method :type=\"value\" :label=\"label\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import { BentoPaymentMethodListboxOptions } from './dropdown-payment-method.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoPaymentMethod } from '@/components/payment-method';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the payment method dropdown with.\n * It must be an array of {@see BentoPaymentMethodListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string} value.value - Payment type code that translates to a payment icon name {@see https://adyen-ui-assets.netlify.app/?path=/story/packages-ui-assets-payment-method-icons--icons}\n */\n items: {\n type: Array as PropType<BentoPaymentMethodListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n</script>\n\n<script lang=\"ts\">\n /**\n * A Payment method Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownPaymentMethod } from '@adyen/bento-vue2';\n * import type { BentoPaymentMethodListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownPaymentMethod },\n * template: `\n * <bento-dropdown-payment-method\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 'Visa'\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('ideal') // Default value\n * const options: BentoPaymentMethodListboxOptions = [\n * { label: 'Option 1', value: 'ideal' },\n * { label: 'Option 2', value: 'visa' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-payment-method',\n });\n</script>\n","<template>\n <bento-dropdown\n v-slot=\"{ label, data }\"\n v-bind=\"$props\"\n class=\"b-dropdown-tag\"\n :items=\"tagItems\"\n show-slot-content-in-multiple\n @input=\"onInput\"\n >\n <listbox-option-tag :option=\"{ value: label, data, label: '' }\" />\n </bento-dropdown>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoTagListboxOptions } from './dropdown-tag.types';\n import type { BentoListboxSelectedValue } from '../../../../../types';\n import { ListboxOptionTag } from '../../../../internal';\n import BentoDropdown from '../../../dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the tag dropdown with.\n * It must be an array of {@see BentoTagListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string,number} value.value - Value of the option\n * * @property {string} value.variant - The BentTag variant shown for the option.\n */\n items: {\n type: Array as PropType<BentoTagListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const tagItems = computed(() => props.items?.map(({ label, value, variant }) => ({ label, value, data: variant })));\n</script>\n\n<script lang=\"ts\">\n /**\n * A Tag Dropdown showing a selectable list of tags.\n *\n * @example\n * import { BentoDropdownTag } from '@adyen/bento-vue2';\n * import type { BentoTagListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownTag },\n * template: `\n * <bento-dropdown-tag\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('unique-id-1') // Default value\n * const options: BentoTagListboxOptions = [\n * { label: 'Offline', value: 'unique-id-1', variant: 'red' },\n * { label: 'Online', value: 'unique-id-2', variant: 'green' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-tag',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-tag.scss\" />\n"],"names":["__default__$4","defineComponent","props","__props","emit","__emit","onInput","selectedValue","dropdownItems","computed","value","label","src","__default__$3","variant","items","toRefs","countryItems","useCountryItems","item","deprecate","__default__$2","__default__$1","__default__","tagItems","_a"],"mappings":";;;;;;;;;;AAuEI,MAAAA,IAAAC,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;AA1DA,UAAAC,IAAAC,GAeAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEAC,IAAAC,EAAA,MAAAP,EAAA,MAAA,IAAA,CAAA,EAAA,OAAAQ,GAAA,OAAAC,GAAA,KAAAC,EAAA,OAAA,EAAA,OAAAF,GAAA,OAAAC,GAAA,MAAAC,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;ICqDAC,IAAAZ,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA5EA,UAAAC,IAAAC,GAwBAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEA,EAAA,SAAAO,GAAA,OAAAC,EAAA,IAAAC,EAAAd,CAAA,GACAe,IAAAC,EAAAJ,GAAAC,CAAA;AAEA,YAAAD,EAAA,UAAA,YAAAC,EAAA,MAAA,KAAA,CAAAI,MAAAA,EAAA,KAAA,MACIC;AAAA,MAAA;AAAA,MACI;AAAA,MACA;AAAA,IACA;;;;;;;;;;;;;;;;;ICQRC,IAAApB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;AAzCA,UAAAG,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA;;;;;;;;ICkCAe,IAAArB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;AAzCA,UAAAG,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA;;;;;;;;;;;;;ICsCAgB,IAAAtB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;AAxDA,UAAAC,IAAAC,GAeAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEAiB,IAAAf,EAAA,MAAA;;AAAA,cAAAgB,IAAAvB,EAAA,UAAA,gBAAAuB,EAAA,IAAA,CAAA,EAAA,OAAAd,GAAA,OAAAD,GAAA,SAAAI,EAAA,OAAA,EAAA,OAAAH,GAAA,OAAAD,GAAA,MAAAI,EAAA;AAAA,KAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dropdown-tag.BlHovDol.js","sources":["../../../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue","../../../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue"],"sourcesContent":["<template>\n <div>\n <bento-dropdown v-slot=\"{ label, data }\" v-bind=\"$props\" :items=\"dropdownItems\" @input=\"onInput\">\n <bento-avatar :username=\"label\" :src=\"data\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoAvatarListboxOptions } from './dropdown-avatar.types';\n import { BentoAvatar } from '@/components/avatar';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the avatar dropdown with.\n * It must be an array of {@see BentoAvatarListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option.\n * * @property {string,number} value.value - Value of the option.\n * * @property {string} value.src - Image source of the avatar image.\n */\n items: {\n type: Array as PropType<BentoAvatarListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const dropdownItems = computed(() => props.items.map(({ value, label, src }) => ({ value, label, data: src })));\n</script>\n\n<script lang=\"ts\">\n /**\n * A Avatar Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownAvatar } from '@adyen/bento-vue2';\n * import type { BentoAvatarListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownAvatar },\n * template: `\n * <bento-dropdown-avatar\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('user-id-1') // Default value\n * const options: BentoAvatarListboxOptions = [\n * { label: 'User 1', value: 'user-id-1' },\n * { label: 'User 2', value: 'user-id-2', src: 'image-source.jpeg' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-avatar',\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ label }\" v-bind=\"$props\" :items=\"countryItems\" @input=\"onInput\">\n <bento-typography el=\"span\">{{ label }}</bento-typography>\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType, toRefs } from 'vue';\n import { BentoCountryListboxOptions } from './dropdown-country.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoTypography } from '@/components/typography';\n import { useCountryItems } from './composables/use-country-items';\n import { deprecate } from '@/utils/ts/deprecate';\n import { BentoCountryVariant } from '@/components/country';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCountryListboxOptions }\n * * @deprecated {string} value.label - Use BentoDropdown instead of custom labels\n * * @property {BentoCountryCode | string} value.value - Country code of the option\n */\n items: {\n type: Array as PropType<BentoCountryListboxOptions>,\n default: () => [],\n },\n\n /**\n * Which label variant to display.\n * @values iso, name, phone_code, capital\n */\n variant: {\n type: String as PropType<BentoCountryVariant | `${BentoCountryVariant}`>,\n default: BentoCountryVariant.CUSTOM,\n validator: (value: BentoCountryVariant) => Object.values(BentoCountryVariant).includes(value),\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const { variant, items } = toRefs(props);\n const countryItems = useCountryItems(variant, items);\n\n if (variant.value === 'custom' || items.value.some(item => item.label)) {\n deprecate(\n 'BentoDropdownCountry \"custom\" variant and \"items\" prop \"label\" key',\n 'Use any of the other BentoDropdownCountry variants instead OR use BentoDropdown component for custom labels',\n '2.0.0'\n );\n }\n</script>\n\n<script lang=\"ts\">\n /**\n * A Country Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-country\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-country',\n });\n</script>\n","<template>\n <bento-dropdown v-slot=\"slotProps\" v-bind=\"$props\" @input=\"onInput\">\n <listbox-option-tag :option=\"slotProps\" />\n </bento-dropdown>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import type { BentoCurrencyListboxOptions } from './dropdown-currency.types';\n import type { BentoListboxSelectedValue } from '@/types';\n import { ListboxOptionTag } from '@/internal';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the country dropdown with.\n * It must be an array of {@see BentoCurrencyListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {BentoCurrencyISOCode} value.code - Currency ISO code of the option\n */\n items: {\n type: Array as PropType<BentoCurrencyListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n</script>\n\n<script lang=\"ts\">\n /**\n * A Currency Dropdown showing a selectable list of currencies.\n *\n * @example\n * import { BentoDropdownCountry, BentoCountryCode } from '@adyen/bento-vue2';\n * import type { BentoCountryListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdown },\n * template: `\n * <bento-dropdown-currency\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 2\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref(BentoCountryCode.NL) // Default value\n * const options: BentoCountryListboxOptions = [\n * { label: 'Option 1', value: BentoCountryCode.NL },\n * { label: 'Option 2', value: BentoCountryCode.BE },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'b-dropdown-currency',\n });\n</script>\n","<template>\n <div>\n <bento-dropdown v-slot=\"{ value, label }\" v-bind=\"$props\" @input=\"onInput\">\n <bento-payment-method :type=\"value\" :label=\"label\" />\n </bento-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { defineComponent, PropType } from 'vue';\n import { BentoPaymentMethodListboxOptions } from './dropdown-payment-method.types';\n import { BentoListboxSelectedValue } from '@/types';\n import { BentoPaymentMethod } from '@/components/payment-method';\n import BentoDropdown from '@/components/dropdown/dropdown.vue';\n\n defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the payment method dropdown with.\n * It must be an array of {@see BentoPaymentMethodListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string} value.value - Payment type code that translates to a payment icon name {@see https://adyen-ui-assets.netlify.app/?path=/story/packages-ui-assets-payment-method-icons--icons}\n */\n items: {\n type: Array as PropType<BentoPaymentMethodListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n</script>\n\n<script lang=\"ts\">\n /**\n * A Payment method Dropdown showing a selectable list of countries.\n *\n * @example\n * import { BentoDropdownPaymentMethod } from '@adyen/bento-vue2';\n * import type { BentoPaymentMethodListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownPaymentMethod },\n * template: `\n * <bento-dropdown-payment-method\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :multiple=\"true\"\n * :isOptionsDisabled=\"option => option.value === 'Visa'\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('ideal') // Default value\n * const options: BentoPaymentMethodListboxOptions = [\n * { label: 'Option 1', value: 'ideal' },\n * { label: 'Option 2', value: 'visa' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-payment-method',\n });\n</script>\n","<template>\n <bento-dropdown\n v-slot=\"{ label, data }\"\n v-bind=\"$props\"\n class=\"b-dropdown-tag\"\n :items=\"tagItems\"\n show-slot-content-in-multiple\n @input=\"onInput\"\n >\n <listbox-option-tag :option=\"{ value: label, data, label: '' }\" />\n </bento-dropdown>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import type { BentoTagListboxOptions } from './dropdown-tag.types';\n import type { BentoListboxSelectedValue } from '../../../../../types';\n import { ListboxOptionTag } from '../../../../internal';\n import BentoDropdown from '../../../dropdown.vue';\n\n const props = defineProps({\n ...BentoDropdown.props,\n /**\n * The option elements to populate the tag dropdown with.\n * It must be an array of {@see BentoTagListboxOptions }\n * * @property {string} value.label - Text to be displayed in the option\n * * @property {string,number} value.value - Value of the option\n * * @property {string} value.variant - The BentTag variant shown for the option.\n */\n items: {\n type: Array as PropType<BentoTagListboxOptions>,\n default: () => [],\n },\n });\n\n const emit = defineEmits<{\n /**\n * Emitted when an item is selected\n */\n (e: 'input', selectedValue: BentoListboxSelectedValue);\n }>();\n\n const onInput = (selectedValue: BentoListboxSelectedValue) => emit('input', selectedValue);\n\n const tagItems = computed(() => props.items?.map(({ label, value, variant }) => ({ label, value, data: variant })));\n</script>\n\n<script lang=\"ts\">\n /**\n * A Tag Dropdown showing a selectable list of tags.\n *\n * @example\n * import { BentoDropdownTag } from '@adyen/bento-vue2';\n * import type { BentoTagListboxOptions } from '@adyen/bento-vue2'\n *\n * export default {\n * components: { BentoDropdownTag },\n * template: `\n * <bento-dropdown-tag\n * v-model=\"selectedValue\"\n * :disabled=\"false\"\n * :items=\"options\"\n * />\n * `,\n * setup() {\n * const selectedValue = ref('unique-id-1') // Default value\n * const options: BentoTagListboxOptions = [\n * { label: 'Offline', value: 'unique-id-1', variant: 'red' },\n * { label: 'Online', value: 'unique-id-2', variant: 'green' },\n * ];\n * return { options, selectedValue };\n * }\n * }\n */\n export default defineComponent({\n name: 'bento-dropdown-tag',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./dropdown-tag.scss\" />\n"],"names":["__default__$4","defineComponent","props","__props","emit","__emit","onInput","selectedValue","dropdownItems","computed","value","label","src","__default__$3","variant","items","toRefs","countryItems","useCountryItems","item","deprecate","__default__$2","__default__$1","__default__","tagItems","_a"],"mappings":";;;;;;;;;;AAuEI,MAAAA,IAAAC,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;AA1DA,UAAAC,IAAAC,GAeAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEAC,IAAAC,EAAA,MAAAP,EAAA,MAAA,IAAA,CAAA,EAAA,OAAAQ,GAAA,OAAAC,GAAA,KAAAC,EAAA,OAAA,EAAA,OAAAF,GAAA,OAAAC,GAAA,MAAAC,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;ICqDAC,IAAAZ,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA5EA,UAAAC,IAAAC,GAwBAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEA,EAAA,SAAAO,GAAA,OAAAC,EAAA,IAAAC,EAAAd,CAAA,GACAe,IAAAC,EAAAJ,GAAAC,CAAA;AAEA,YAAAD,EAAA,UAAA,YAAAC,EAAA,MAAA,KAAA,CAAAI,MAAAA,EAAA,KAAA,MACIC;AAAA,MAAA;AAAA,MACI;AAAA,MACA;AAAA,IACA;;;;;;;;;;;;;;;;;ICQRC,IAAApB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;AAzCA,UAAAG,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA;;;;;;;;ICkCAe,IAAArB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;AAzCA,UAAAG,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA;;;;;;;;;;;;;ICsCAgB,IAAAtB,EAAA;AAAA,EAA+B,MAAA;AAE/B,CAAA;;;;;;;;;;;;;;;;;;AAxDA,UAAAC,IAAAC,GAeAC,IAAAC,GAOAC,IAAA,CAAAC,MAAAH,EAAA,SAAAG,CAAA,GAEAiB,IAAAf,EAAA,MAAA;;AAAA,cAAAgB,IAAAvB,EAAA,UAAA,gBAAAuB,EAAA,IAAA,CAAA,EAAA,OAAAd,GAAA,OAAAD,GAAA,SAAAI,EAAA,OAAA,EAAA,OAAAH,GAAA,OAAAD,GAAA,MAAAI,EAAA;AAAA,KAAA;;;;;;;;;;;;;;;;"}
@@ -1,21 +1,21 @@
1
1
  import { ref as C, watch as Te, computed as r, defineComponent as j, useSlots as Ie, toRefs as Ne, createBlock as K, openBlock as L, resolveDynamicComponent as Ae, mergeProps as R, withCtx as z, createElementVNode as te, withKeys as tt, unref as n, createVNode as Q, toHandlers as G, createSlots as de, renderList as ue, renderSlot as X, normalizeProps as ce, guardReactiveProps as pe, createElementBlock as P, createCommentVNode as F, toDisplayString as ye, normalizeClass as fe, withDirectives as ee, vShow as Ce, nextTick as w, useAttrs as at, toRef as x, inject as ot, createTextVNode as lt } from "vue";
2
2
  import { d as Oe, B as nt } from "./typography.DN5eC5ch.js";
3
- import { g as J } from "./generate-uid.NJ8tVoha.js";
4
- import { u as st } from "./aria-label.CaUURpnB.js";
3
+ import { a as ie, b as V, c as st, B as J, D as it } from "./dropdown-default-textbox.Ce5D3ipi.js";
4
+ /* empty css */
5
+ import { _ as Y } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
+ import { s as re } from "./events.FNmSWp_P.js";
7
+ import { g as _ } from "./generate-uid.NJ8tVoha.js";
8
+ import { u as rt } from "./aria-label.CaUURpnB.js";
5
9
  import { u as be } from "./i18n.B6g5VX0q.js";
6
- import { a as m, b as me, B as ve, c as it, u as rt, d as dt } from "./use-cached-selected-values.rqtiP4Nd.js";
7
- import { u as ut } from "./use-form-layout-loading.D3lALhtC.js";
8
- import { B as ct } from "./directive.Cbdox5VL.js";
9
- import { s as ie } from "./events.FNmSWp_P.js";
10
- import { B as I, a as pt } from "./keyboard-navigation.CqgGzfZQ.js";
11
- import { a as re, b as V, c as ft, B as _, D as mt } from "./dropdown-default-textbox.B05elQig.js";
10
+ import { a as m, b as me, B as ve, c as dt, u as ut, d as ct } from "./use-cached-selected-values.D7dOPJSO.js";
11
+ import { u as pt } from "./use-form-layout-loading.D3lALhtC.js";
12
+ import { B as ft } from "./directive.Cbdox5VL.js";
13
+ import { B as I, a as mt } from "./keyboard-navigation.CqgGzfZQ.js";
12
14
  import { u as vt } from "./use-has-slot.B7eQSabc.js";
13
15
  import { F as yt, E as bt } from "./error-message.DHMHq9bR.js";
14
16
  import { P as xe } from "./popper-container.b5h4zYgT.js";
15
17
  import "./popper-container.types.BCZMbVFD.js";
16
- import { B as gt } from "./popover.maCMPyz8.js";
17
- import { _ as Y } from "./_plugin-vue_export-helper.CHgC5LLL.js";
18
- /* empty css */
18
+ import { B as gt } from "./popover.VI3TrUkL.js";
19
19
  import "../assets/dropdown.css";
20
20
  const ge = {
21
21
  "en-US": {
@@ -212,7 +212,7 @@ const ge = {
212
212
  actions: B.value,
213
213
  divider: !0,
214
214
  fallbackPosition: ["top-start"],
215
- id: J(`dropdown-options-${o.id}`),
215
+ id: _(`dropdown-options-${o.id}`),
216
216
  open: o.open,
217
217
  position: "bottom-start",
218
218
  style: {
@@ -386,19 +386,19 @@ const It = /* @__PURE__ */ Y(Bt, [["render", Tt]]), Nt = { class: "b-dropdown-sm
386
386
  emits: ["clear", "close", "input", "keydown", "open"],
387
387
  setup(e, { expose: i, emit: s }) {
388
388
  const a = s, l = e, o = C(null), t = r(() => ({
389
- [`b-dropdown-small-textbox--${re.DISABLED}`]: l.disabled,
390
- [`b-dropdown-small-textbox--${re.READONLY}`]: l.readonly,
391
- [`b-dropdown-small-textbox--${re.OPENED}`]: l.open
389
+ [`b-dropdown-small-textbox--${ie.DISABLED}`]: l.disabled,
390
+ [`b-dropdown-small-textbox--${ie.READONLY}`]: l.readonly,
391
+ [`b-dropdown-small-textbox--${ie.OPENED}`]: l.open
392
392
  })), c = r(() => l.open && !l.disabled && !l.readonly), v = (y) => {
393
393
  a("input", y);
394
394
  }, g = (y) => {
395
395
  a("keydown", y);
396
396
  }, d = (y) => {
397
- ie(y), a("open");
397
+ re(y), a("open");
398
398
  }, b = (y) => {
399
- ie(y), a("close");
399
+ re(y), a("close");
400
400
  }, u = (y) => {
401
- ie(y), a("clear");
401
+ re(y), a("clear");
402
402
  }, O = {
403
403
  [V.INPUT]: v,
404
404
  [V.OPEN]: d,
@@ -413,12 +413,12 @@ const It = /* @__PURE__ */ Y(Bt, [["render", Tt]]), Nt = { class: "b-dropdown-sm
413
413
  }), (y, D) => (L(), P("div", {
414
414
  class: fe(["b-dropdown-small-textbox", t.value])
415
415
  }, [
416
- Q(ft, R({
416
+ Q(st, R({
417
417
  ref_key: "baseTextbox",
418
418
  ref: o
419
419
  }, { ...y.$attrs, ...y.$props }, {
420
420
  class: "b-dropdown-small-textbox__textbox",
421
- size: n(_).SMALL
421
+ size: n(J).SMALL
422
422
  }, G(O)), {
423
423
  icon: z(() => [
424
424
  te("div", Nt, [
@@ -558,7 +558,7 @@ const Me = {
558
558
  i18n: { messages: Me },
559
559
  name: "b-dropdown",
560
560
  components: {
561
- DropdownInputDefault: mt,
561
+ DropdownInputDefault: it,
562
562
  DropdownInputSmall: Mt
563
563
  }
564
564
  }), Wt = /* @__PURE__ */ j({
@@ -694,7 +694,7 @@ const Me = {
694
694
  size: {
695
695
  type: String,
696
696
  default: null,
697
- validator: (e) => Object.values(_).includes(e)
697
+ validator: (e) => Object.values(J).includes(e)
698
698
  },
699
699
  /**
700
700
  * If enabled, dropdown will display non-selectable, static categories
@@ -739,17 +739,17 @@ const Me = {
739
739
  emits: ["input", "show-more"],
740
740
  setup(e, { expose: i, emit: s }) {
741
741
  var we;
742
- const a = at(), l = Ie(), o = vt(l), t = e, c = s, { t: v } = be({ messages: Me }), g = C(null), d = C(null), b = C(null), u = C(!1), O = J("bento-dropdown-options-container"), B = J("dropdown-label"), y = J("dropdown-description"), D = J("dropdown-error"), { isReadOnly: E } = ut(x(t, "readonly")), { cachedSelectedListboxOptions: S, cachedListboxSelectedValues: W, setCachedValues: U } = it(
742
+ const a = at(), l = Ie(), o = vt(l), t = e, c = s, { t: v } = be({ messages: Me }), g = C(null), d = C(null), b = C(null), u = C(!1), O = _("bento-dropdown-options-container"), B = _("dropdown-label"), y = _("dropdown-description"), D = _("dropdown-error"), { isReadOnly: E } = pt(x(t, "readonly")), { cachedSelectedListboxOptions: S, cachedListboxSelectedValues: W, setCachedValues: U } = dt(
743
743
  x(t, "items"),
744
744
  x(t, "value"),
745
745
  x(t, "multiple"),
746
746
  x(t, "enableValueLabelPair")
747
- ), N = C(a["aria-label"]), { ariaLabel: p, label: h } = Ne(t), A = r(() => v("ariaLabelFallback")), $ = st({
747
+ ), N = C(a["aria-label"]), { ariaLabel: p, label: h } = Ne(t), A = r(() => v("ariaLabelFallback")), $ = rt({
748
748
  // TODO: take ariaLabel ref away when aria-label prop is removed
749
749
  ariaLabel: p.value || N,
750
750
  label: h,
751
751
  defaultFallback: A
752
- }), he = t.size === _.SMALL || ot(zt, !1), Re = r(() => he ? _.SMALL : _.DEFAULT), Pe = r(() => ({
752
+ }), he = t.size === J.SMALL || ot(zt, !1), Re = r(() => he ? J.SMALL : J.DEFAULT), Pe = r(() => ({
753
753
  "b-dropdown--condensed": t.condensed
754
754
  })), ke = r(() => ({
755
755
  "b-dropdown__description--error": !!t.errorMessage
@@ -773,7 +773,7 @@ const Me = {
773
773
  }), ze = r(() => {
774
774
  const f = ae.value.findIndex(({ value: T }) => t.value === T);
775
775
  return f > -1 ? f : 0;
776
- }), { isMultiLevelSelect: Le, flattenedItemsList: je } = rt(Z), We = r(() => Le.value && !t.staticCategories), Ue = r(() => We.value ? "treeitem" : "option"), qe = r(() => {
776
+ }), { isMultiLevelSelect: Le, flattenedItemsList: je } = ut(Z), We = r(() => Le.value && !t.staticCategories), Ue = r(() => We.value ? "treeitem" : "option"), qe = r(() => {
777
777
  if (t.multiple) {
778
778
  const f = Array.isArray(t.value) ? t.value.length : 0, T = Le.value ? je.value.length : Z.value.length;
779
779
  return f === 0 ? null : !t.hasMoreItems && T > 0 && T === f ? v("all") : f;
@@ -784,7 +784,7 @@ const Me = {
784
784
  ), Ve = r(() => {
785
785
  var f;
786
786
  return (f = b.value) == null ? void 0 : f.$el;
787
- }), { visibleDomOptions: Je, updateVisibleDomOptions: Ee } = dt(
787
+ }), { visibleDomOptions: Je, updateVisibleDomOptions: Ee } = ct(
788
788
  Ve,
789
789
  ae,
790
790
  Ue
@@ -890,7 +890,7 @@ const Me = {
890
890
  }))
891
891
  ]), 1064, ["condensed", "value", "additional-items-selected", "aria-controls", "ariaExpanded", "aria-labelledby", "aria-describedby", "aria-label", "aria-readonly", "readonly", "disabled", "display-value", "dynamic-filtering", "is-invalid", "multiple", "open", "selected-value-item", "show-slot-content-in-multiple"]))
892
892
  ], 16)), [
893
- [n(pt)]
893
+ [n(mt)]
894
894
  ]),
895
895
  g.value ? (L(), K(n(Et), R({
896
896
  key: 1,
@@ -942,7 +942,7 @@ const Me = {
942
942
  _: 3
943
943
  }, 8, ["id", "class"])) : F("", !0)
944
944
  ], 2)), [
945
- [n(ct), Ye]
945
+ [n(ft), Ye]
946
946
  ]);
947
947
  };
948
948
  }
@@ -954,4 +954,4 @@ export {
954
954
  da as b,
955
955
  Ft as u
956
956
  };
957
- //# sourceMappingURL=dropdown.usAqDecC.js.map
957
+ //# sourceMappingURL=dropdown.B5ZaFDn_.js.map