@adyen/bento-vue2 0.10.0 → 0.10.1-2

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 (239) hide show
  1. package/dist/@types/components/currency/currency.vue.d.ts +9 -0
  2. package/dist/@types/components/data-grid/data-grid.vue.d.ts +3 -3
  3. package/dist/@types/components/date/date.vue.d.ts +9 -0
  4. package/dist/@types/components/modal/components/base-modal/base-modal.vue.d.ts +10 -0
  5. package/dist/@types/components/modal/components/modal-default/modal-default.vue.d.ts +9 -0
  6. package/dist/@types/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +9 -0
  7. package/dist/@types/components/modal/modal.vue.d.ts +11 -0
  8. package/dist/@types/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
  9. package/dist/@types/components/segmented-control/index.d.ts +2 -0
  10. package/dist/@types/components/segmented-control/segmented-control.types.d.ts +8 -0
  11. package/dist/@types/components/segmented-control/segmented-control.vue.d.ts +53 -0
  12. package/dist/@types/components.d.ts +2 -4
  13. package/dist/@types/index.d.ts +1 -0
  14. package/dist/accordion.js +206 -0
  15. package/dist/accordion.js.map +1 -0
  16. package/dist/alert.js +103 -0
  17. package/dist/alert.js.map +1 -0
  18. package/dist/assets/base-button.css +1 -0
  19. package/dist/assets/button-actions.css +1 -0
  20. package/dist/assets/button.css +1 -0
  21. package/dist/assets/checkbox.css +1 -0
  22. package/dist/assets/checkmark-circle-fill.css +1 -0
  23. package/dist/assets/checkmark-small.css +1 -0
  24. package/dist/assets/chevron-left.css +1 -0
  25. package/dist/assets/chevron-up.css +1 -0
  26. package/dist/assets/copy.css +1 -0
  27. package/dist/assets/cross-circle-fill.css +1 -0
  28. package/dist/assets/cross-small.css +1 -0
  29. package/dist/assets/cross.css +1 -0
  30. package/dist/assets/dropdown.css +1 -0
  31. package/dist/assets/grid-layout.css +1 -0
  32. package/dist/assets/index.css +1 -0
  33. package/dist/assets/index10.css +1 -0
  34. package/dist/assets/index11.css +1 -0
  35. package/dist/assets/index12.css +1 -0
  36. package/dist/assets/index13.css +1 -0
  37. package/dist/assets/index14.css +1 -0
  38. package/dist/assets/index15.css +1 -0
  39. package/dist/assets/index16.css +1 -0
  40. package/dist/assets/index17.css +1 -0
  41. package/dist/assets/index18.css +1 -0
  42. package/dist/assets/index19.css +1 -0
  43. package/dist/assets/index2.css +1 -0
  44. package/dist/assets/index20.css +1 -0
  45. package/dist/assets/index21.css +1 -0
  46. package/dist/assets/index22.css +1 -0
  47. package/dist/assets/index23.css +1 -0
  48. package/dist/assets/index24.css +1 -0
  49. package/dist/assets/index25.css +1 -0
  50. package/dist/assets/index26.css +1 -0
  51. package/dist/assets/index27.css +1 -0
  52. package/dist/assets/index28.css +1 -0
  53. package/dist/assets/index29.css +1 -0
  54. package/dist/assets/index3.css +1 -0
  55. package/dist/assets/index30.css +1 -0
  56. package/dist/assets/index31.css +1 -0
  57. package/dist/assets/index32.css +1 -0
  58. package/dist/assets/index33.css +1 -0
  59. package/dist/assets/index34.css +1 -0
  60. package/dist/assets/index35.css +1 -0
  61. package/dist/assets/index36.css +1 -0
  62. package/dist/assets/index37.css +1 -0
  63. package/dist/assets/index38.css +1 -0
  64. package/dist/assets/index4.css +1 -0
  65. package/dist/assets/index5.css +1 -0
  66. package/dist/assets/index6.css +1 -0
  67. package/dist/assets/index7.css +1 -0
  68. package/dist/assets/index8.css +1 -0
  69. package/dist/assets/index9.css +1 -0
  70. package/dist/assets/info-filled.css +1 -0
  71. package/dist/assets/listbox-option-tag.css +1 -0
  72. package/dist/assets/listbox.css +1 -0
  73. package/dist/assets/search.css +1 -0
  74. package/dist/assets/tooltip.css +1 -0
  75. package/dist/avatar-image.js +7 -0
  76. package/dist/avatar-image.js.map +1 -0
  77. package/dist/badge.js +57 -0
  78. package/dist/badge.js.map +1 -0
  79. package/dist/button.js +110 -0
  80. package/dist/button.js.map +1 -0
  81. package/dist/card.js +178 -0
  82. package/dist/card.js.map +1 -0
  83. package/dist/checkbox.js +94 -0
  84. package/dist/checkbox.js.map +1 -0
  85. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +33 -0
  86. package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +1 -0
  87. package/dist/chunks/aria-label.ac9651a5.js +13 -0
  88. package/dist/chunks/aria-label.ac9651a5.js.map +1 -0
  89. package/dist/chunks/base-button.38651156.js +83 -0
  90. package/dist/chunks/base-button.38651156.js.map +1 -0
  91. package/dist/chunks/button-actions.59406268.js +105 -0
  92. package/dist/chunks/button-actions.59406268.js.map +1 -0
  93. package/dist/chunks/button.31b757d1.js +102 -0
  94. package/dist/chunks/button.31b757d1.js.map +1 -0
  95. package/dist/chunks/checkbox.fab16cce.js +138 -0
  96. package/dist/chunks/checkbox.fab16cce.js.map +1 -0
  97. package/dist/chunks/checkmark-circle-fill.d1aa324d.js +26 -0
  98. package/dist/chunks/checkmark-circle-fill.d1aa324d.js.map +1 -0
  99. package/dist/chunks/checkmark-small.1371dd20.js +26 -0
  100. package/dist/chunks/checkmark-small.1371dd20.js.map +1 -0
  101. package/dist/chunks/chevron-left.e3a49e62.js +47 -0
  102. package/dist/chunks/chevron-left.e3a49e62.js.map +1 -0
  103. package/dist/chunks/chevron-up.416431cd.js +47 -0
  104. package/dist/chunks/chevron-up.416431cd.js.map +1 -0
  105. package/dist/chunks/copy.fa9aa27e.js +105 -0
  106. package/dist/chunks/copy.fa9aa27e.js.map +1 -0
  107. package/dist/chunks/cross-circle-fill.0a1d738c.js +26 -0
  108. package/dist/chunks/cross-circle-fill.0a1d738c.js.map +1 -0
  109. package/dist/chunks/cross-small.7ecb1b97.js +26 -0
  110. package/dist/chunks/cross-small.7ecb1b97.js.map +1 -0
  111. package/dist/chunks/cross.db1f9177.js +26 -0
  112. package/dist/chunks/cross.db1f9177.js.map +1 -0
  113. package/dist/chunks/directive.23e35ab0.js +21 -0
  114. package/dist/chunks/directive.23e35ab0.js.map +1 -0
  115. package/dist/chunks/dropdown.0d394d2f.js +771 -0
  116. package/dist/chunks/dropdown.0d394d2f.js.map +1 -0
  117. package/dist/chunks/grid-layout.14423a2e.js +69 -0
  118. package/dist/chunks/grid-layout.14423a2e.js.map +1 -0
  119. package/dist/chunks/hasSlot.dceac207.js +5 -0
  120. package/dist/chunks/hasSlot.dceac207.js.map +1 -0
  121. package/dist/chunks/i18n.8934ef6c.js +1695 -0
  122. package/dist/chunks/i18n.8934ef6c.js.map +1 -0
  123. package/dist/chunks/index.2e54c294.js +801 -0
  124. package/dist/chunks/index.2e54c294.js.map +1 -0
  125. package/dist/chunks/index.34eba2c4.js +107 -0
  126. package/dist/chunks/index.34eba2c4.js.map +1 -0
  127. package/dist/chunks/index.59dc2e3f.js +801 -0
  128. package/dist/chunks/index.59dc2e3f.js.map +1 -0
  129. package/dist/chunks/index.73d7902e.js +29 -0
  130. package/dist/chunks/index.73d7902e.js.map +1 -0
  131. package/dist/chunks/index.8c38e06b.js +441 -0
  132. package/dist/chunks/index.8c38e06b.js.map +1 -0
  133. package/dist/chunks/index.8e9cdc73.js +441 -0
  134. package/dist/chunks/index.8e9cdc73.js.map +1 -0
  135. package/dist/chunks/index.a7a22907.js +929 -0
  136. package/dist/chunks/index.a7a22907.js.map +1 -0
  137. package/dist/chunks/index.ad5e1dbd.js +107 -0
  138. package/dist/chunks/index.ad5e1dbd.js.map +1 -0
  139. package/dist/chunks/index.e2141d95.js +86 -0
  140. package/dist/chunks/index.e2141d95.js.map +1 -0
  141. package/dist/chunks/index.f4582460.js +86 -0
  142. package/dist/chunks/index.f4582460.js.map +1 -0
  143. package/dist/chunks/index.f55fdc32.js +1118 -0
  144. package/dist/chunks/index.f55fdc32.js.map +1 -0
  145. package/dist/chunks/info-filled.9748686e.js +26 -0
  146. package/dist/chunks/info-filled.9748686e.js.map +1 -0
  147. package/dist/chunks/listbox-option-tag.2e5c4012.js +111 -0
  148. package/dist/chunks/listbox-option-tag.2e5c4012.js.map +1 -0
  149. package/dist/chunks/listbox-option-tag.f44b4ee0.js +111 -0
  150. package/dist/chunks/listbox-option-tag.f44b4ee0.js.map +1 -0
  151. package/dist/chunks/listbox.152dab0a.js +485 -0
  152. package/dist/chunks/listbox.152dab0a.js.map +1 -0
  153. package/dist/chunks/on-click-outside.3e0c3e2a.js +91 -0
  154. package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -0
  155. package/dist/chunks/search.6be3396b.js +26 -0
  156. package/dist/chunks/search.6be3396b.js.map +1 -0
  157. package/dist/chunks/toastController.b1b08299.js +15 -0
  158. package/dist/chunks/toastController.b1b08299.js.map +1 -0
  159. package/dist/chunks/tooltip.a4625a7b.js +220 -0
  160. package/dist/chunks/tooltip.a4625a7b.js.map +1 -0
  161. package/dist/chunks/unique-id.a2a2b458.js +34 -0
  162. package/dist/chunks/unique-id.a2a2b458.js.map +1 -0
  163. package/dist/chunks/use-default-slot-validator.83d977a1.js +11 -0
  164. package/dist/chunks/use-default-slot-validator.83d977a1.js.map +1 -0
  165. package/dist/chunks/useCountryItems.cbe60557.js +29 -0
  166. package/dist/chunks/useCountryItems.cbe60557.js.map +1 -0
  167. package/dist/click-outside.js +23 -0
  168. package/dist/click-outside.js.map +1 -0
  169. package/dist/controls-group.js +59 -0
  170. package/dist/controls-group.js.map +1 -0
  171. package/dist/country.js +5979 -0
  172. package/dist/country.js.map +1 -0
  173. package/dist/currency.js +119 -0
  174. package/dist/currency.js.map +1 -0
  175. package/dist/data-grid.js +1169 -0
  176. package/dist/data-grid.js.map +1 -0
  177. package/dist/date-picker.js +8 -0
  178. package/dist/date-picker.js.map +1 -0
  179. package/dist/date.js +6 -0
  180. package/dist/date.js.map +1 -0
  181. package/dist/divider.js +35 -0
  182. package/dist/divider.js.map +1 -0
  183. package/dist/dropdown.js +262 -0
  184. package/dist/dropdown.js.map +1 -0
  185. package/dist/filter-bar.js +1735 -0
  186. package/dist/filter-bar.js.map +1 -0
  187. package/dist/focus-trap.js +5 -0
  188. package/dist/focus-trap.js.map +1 -0
  189. package/dist/header.js +205 -0
  190. package/dist/header.js.map +1 -0
  191. package/dist/index.js +335 -21278
  192. package/dist/index.js.map +1 -1
  193. package/dist/info-icon.js +61 -0
  194. package/dist/info-icon.js.map +1 -0
  195. package/dist/input-field.js +168 -0
  196. package/dist/input-field.js.map +1 -0
  197. package/dist/internal.js +13 -0
  198. package/dist/internal.js.map +1 -0
  199. package/dist/link.js +46 -0
  200. package/dist/link.js.map +1 -0
  201. package/dist/loading-indicator.js +51 -0
  202. package/dist/loading-indicator.js.map +1 -0
  203. package/dist/menu.js +474 -0
  204. package/dist/menu.js.map +1 -0
  205. package/dist/modal.js +709 -0
  206. package/dist/modal.js.map +1 -0
  207. package/dist/pagination.js +487 -0
  208. package/dist/pagination.js.map +1 -0
  209. package/dist/payment-method.js +84 -0
  210. package/dist/payment-method.js.map +1 -0
  211. package/dist/popover.js +284 -0
  212. package/dist/popover.js.map +1 -0
  213. package/dist/popper-container.js +225 -0
  214. package/dist/popper-container.js.map +1 -0
  215. package/dist/radio-group.js +192 -0
  216. package/dist/radio-group.js.map +1 -0
  217. package/dist/search-bar.js +106 -0
  218. package/dist/search-bar.js.map +1 -0
  219. package/dist/status.js +47 -0
  220. package/dist/status.js.map +1 -0
  221. package/dist/structured-list.js +98 -0
  222. package/dist/structured-list.js.map +1 -0
  223. package/dist/summary-grid.js +526 -0
  224. package/dist/summary-grid.js.map +1 -0
  225. package/dist/tabs.js +106 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tag.js +73 -0
  228. package/dist/tag.js.map +1 -0
  229. package/dist/textarea.js +64 -0
  230. package/dist/textarea.js.map +1 -0
  231. package/dist/toast.js +132 -0
  232. package/dist/toast.js.map +1 -0
  233. package/dist/toggle.js +6 -0
  234. package/dist/toggle.js.map +1 -0
  235. package/dist/typography.js +111 -0
  236. package/dist/typography.js.map +1 -0
  237. package/dist/web-types.json +130 -13
  238. package/package.json +6 -4
  239. package/dist/@types/utils/ts/inject-css.d.ts +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-click-outside.3e0c3e2a.js","sources":["../../src/directives/click-outside/utils.ts","../../src/directives/click-outside/useEventListener/index.ts","../../src/directives/click-outside/on-click-outside.ts"],"sourcesContent":["import type { AnyFn, MaybeComputedElementRef, MaybeElement, VueInstance } from '@/types';\nimport { unref } from 'vue';\n\nconst isClient = typeof window !== 'undefined';\n\nexport const defaultWindow = /* #__PURE__ */ isClient ? window : undefined;\n\nexport const isIOS =\n /* #__PURE__ */ isClient && window?.navigator?.userAgent && /iP(ad|hone|od)/.test(window.navigator.userAgent);\n\n/**\n * Get the value of value/ref/getter.\n */\nexport function resolveUnref<T>(r): T {\n return typeof r === 'function' ? (r as AnyFn<T>)() : unref<T>(r);\n}\n\n/**\n * Get the dom element of a ref of element or Vue component instance\n *\n * @param elRef\n */\nexport function unrefElement<T extends MaybeElement>(elRef: MaybeComputedElementRef<T>): any {\n const plain = resolveUnref(elRef);\n return (plain as VueInstance)?.$el ?? plain;\n}\n\n// No operation\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const noop = () => {};\n","import type { Fn, MaybeComputedRef, MaybeElementRef } from '@/types';\nimport type { Arrayable, GeneralEventListener } from './types';\nimport { watch } from 'vue';\nimport { defaultWindow, noop, resolveUnref, unrefElement } from '../utils';\n\n/**\n * Verify type of input value\n * @param val Value to be evaluated as string\n * @returns {boolean} true if the value is a \"string\", false if it's something else\n */\nconst isString = (val: unknown): val is string => typeof val === 'string';\n\n/**\n * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.\n *\n * Overload 1: Omitted Window target\n *\n * @see https://vueuse.org/useEventListener\n * @param event\n * @param listener\n * @param options\n */\nexport function useEventListener<E extends keyof WindowEventMap>(\n event: Arrayable<E>,\n listener: Arrayable<(this: Window, ev: WindowEventMap[E]) => unknown>,\n options?: MaybeComputedRef<boolean | AddEventListenerOptions>\n): Fn;\n\n/**\n * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.\n *\n * Overload 2: Explicitly Window target\n *\n * @see https://vueuse.org/useEventListener\n * @param target\n * @param event\n * @param listener\n * @param options\n */\nexport function useEventListener<E extends keyof WindowEventMap>(\n target: Window,\n event: Arrayable<E>,\n listener: Arrayable<(this: Window, ev: WindowEventMap[E]) => unknown>,\n options?: MaybeComputedRef<boolean | AddEventListenerOptions>\n): Fn;\n\n/**\n * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.\n *\n * Overload 3: Explicitly Document target\n *\n * @see https://vueuse.org/useEventListener\n * @param target\n * @param event\n * @param listener\n * @param options\n */\nexport function useEventListener<E extends keyof DocumentEventMap>(\n target: DocumentOrShadowRoot,\n event: Arrayable<E>,\n listener: Arrayable<(this: Document, ev: DocumentEventMap[E]) => unknown>,\n options?: MaybeComputedRef<boolean | AddEventListenerOptions>\n): Fn;\n\n/**\n * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.\n *\n * Overload 4: Custom event target with event type infer\n *\n * @see https://vueuse.org/useEventListener\n * @param target\n * @param event\n * @param listener\n * @param options\n */\nexport function useEventListener<Names extends string, EventType = Event>(\n target: EventTarget,\n event: Arrayable<Names>,\n listener: Arrayable<GeneralEventListener<EventType>>,\n options?: MaybeComputedRef<boolean | AddEventListenerOptions>\n): Fn;\n\n/**\n * Register using addEventListener on mounted, and removeEventListener automatically on unmounted.\n *\n * Overload 5: Custom event target fallback\n *\n * @see https://vueuse.org/useEventListener\n * @param target\n * @param event\n * @param listener\n * @param options\n */\nexport function useEventListener<EventType = Event>(\n target: MaybeComputedRef<EventTarget | null | undefined>,\n event: Arrayable<string>,\n listener: Arrayable<GeneralEventListener<EventType>>,\n options?: MaybeComputedRef<boolean | AddEventListenerOptions>\n): Fn;\n\nexport function useEventListener(...args) {\n let target: MaybeComputedRef<EventTarget> | undefined;\n let events: Arrayable<string>;\n let listeners: Arrayable<EventListenerOrEventListenerObject>;\n let options: MaybeComputedRef<boolean | AddEventListenerOptions> | undefined;\n\n if (isString(args[0]) || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n\n if (!target) return noop;\n\n if (!Array.isArray(events)) events = [events];\n if (!Array.isArray(listeners)) listeners = [listeners];\n\n const cleanups: Array<() => void> = [];\n const cleanup = () => {\n cleanups.forEach(fn => fn());\n cleanups.length = 0;\n };\n\n const register = (\n el: EventTarget,\n event: string,\n listener: EventListenerOrEventListenerObject,\n registerOptions: boolean | AddEventListenerOptions\n ) => {\n // eslint-disable-next-line scanjs-rules/call_addEventListener\n el.addEventListener(event, listener, registerOptions);\n return () => el.removeEventListener(event, listener, registerOptions);\n };\n\n const stopWatch = watch(\n () => [unrefElement(target as unknown as MaybeElementRef), resolveUnref(options)],\n ([el, stopWatchOptions]) => {\n cleanup();\n if (!el) return;\n\n cleanups.push(\n ...(events as string[]).flatMap(event =>\n (listeners as EventListenerOrEventListenerObject[]).map(listener =>\n register(\n el as EventTarget,\n event,\n listener as EventListenerOrEventListenerObject,\n stopWatchOptions as boolean | AddEventListenerOptions\n )\n )\n )\n );\n },\n { immediate: true, flush: 'post' }\n );\n\n const stop = () => {\n stopWatch();\n cleanup();\n };\n\n return stop;\n}\n","import type { Fn, MaybeElementRef } from '@/types';\nimport type { OnClickOutsideHandler, OnClickOutsideOptions } from './types';\nimport { useEventListener } from './useEventListener';\nimport { defaultWindow, isIOS, noop, unrefElement } from './utils';\n\n// eslint-disable-next-line no-underscore-dangle\nlet _iOSWorkaround = false;\n\n/**\n * Listen for clicks outside of an element.\n *\n * @see https://vueuse.org/onClickOutside\n * @param target\n * @param handler\n * @param options\n */\nexport function onClickOutside<T extends OnClickOutsideOptions>(\n target: MaybeElementRef,\n handler: OnClickOutsideHandler,\n options: T = {} as T\n) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n\n if (!window) return;\n\n // Fixes \"onClickOutside not working on Safari iOS\": https://github.com/vueuse/vueuse/issues/1520\n // How it works: https://stackoverflow.com/a/39712411\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n // eslint-disable-next-line scanjs-rules/call_addEventListener\n Array.from(window.document.body.children).forEach((el: Element) => el.addEventListener('click', noop));\n }\n\n let shouldListen = true;\n\n const shouldIgnore = (event: PointerEvent) =>\n // eslint-disable-next-line @typescript-eslint/no-shadow\n ignore.some(target => {\n if (typeof target === 'string') {\n return Array.from(window.document.querySelectorAll(target)).some(\n (el: Element) => el === event.target || event.composedPath().includes(el)\n );\n }\n\n const el = unrefElement(target) as EventTarget;\n return el && (event.target === el || event.composedPath().includes(el));\n });\n\n const listener = (event: PointerEvent) => {\n const el = unrefElement(target) as EventTarget;\n\n if (!el || el === event.target || event.composedPath().includes(el)) return;\n\n if (event.detail === 0) shouldListen = !shouldIgnore(event);\n\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n\n handler(event);\n };\n\n const cleanup = [\n useEventListener(window, 'click', listener, { passive: true, capture }),\n useEventListener(\n window,\n 'pointerdown',\n e => {\n const el = unrefElement(target) as EventTarget;\n if (el) shouldListen = !e.composedPath().includes(el) && !shouldIgnore(e);\n },\n { passive: true }\n ),\n detectIframe &&\n useEventListener(window, 'blur', event => {\n const el: Element = unrefElement(target);\n if (window.document.activeElement?.tagName === 'IFRAME' && !el?.contains(window.document.activeElement))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handler(event as any);\n }),\n ].filter(Boolean) as Fn[];\n\n const stop = () => cleanup.forEach(fn => fn());\n\n // eslint-disable-next-line consistent-return\n return stop;\n}\n"],"names":["isClient","defaultWindow","isIOS","_a","resolveUnref","r","unref","unrefElement","elRef","plain","noop","isString","val","useEventListener","args","target","events","listeners","options","cleanups","cleanup","fn","register","el","event","listener","registerOptions","stopWatch","watch","stopWatchOptions","_iOSWorkaround","onClickOutside","handler","window","ignore","capture","detectIframe","shouldListen","shouldIgnore","e"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import "../assets/search.css";
2
+ import { n as r } from "./_plugin-vue2_normalizer.71e2aa87.js";
3
+ let s = 0;
4
+ const a = {
5
+ beforeCreate() {
6
+ this.uuid = s.toString(), s += 1;
7
+ }
8
+ };
9
+ var i = function() {
10
+ var t = this, e = t._self._c;
11
+ return e("svg", t._b({ attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", t.$attrs, !1), [t.$attrs["svg-title"] ? e("title", [t._v(t._s(t.$attrs["svg-title"]))]) : t._e(), e("g", { attrs: { "clip-path": "url(#uia-icons-16-search__a" + t.uuid + ")" } }, [e("path", { attrs: { fill: "#00112C", "fill-rule": "evenodd", d: "M8.31686 0.379702C7.00749 0.119252 5.65029 0.252925 4.41689 0.763816C3.18349 1.27471 2.12928 2.13987 1.38758 3.2499C0.645881 4.35994 0.25 5.66498 0.25 7C0.25 8.79021 0.961159 10.5071 2.22703 11.773C3.4929 13.0388 5.20979 13.75 7 13.75C8.33502 13.75 9.64007 13.3541 10.7501 12.6124C10.9096 12.5059 11.064 12.3928 11.2131 12.2737L14.4697 15.5303C14.7626 15.8232 15.2374 15.8232 15.5303 15.5303C15.8232 15.2374 15.8232 14.7626 15.5303 14.4697L12.2738 11.2131C12.6674 10.7203 12.9922 10.1721 13.2362 9.58312C13.7471 8.34972 13.8808 6.99252 13.6203 5.68314C13.3598 4.37377 12.717 3.17104 11.773 2.22703C10.829 1.28303 9.62623 0.640153 8.31686 0.379702ZM10.7619 10.6621C11.2239 10.1875 11.5943 9.6272 11.8504 9.00909C12.2477 8.04978 12.3517 6.99418 12.1491 5.97578C11.9465 4.95738 11.4465 4.02192 10.7123 3.28769C9.97808 2.55347 9.04262 2.05345 8.02422 1.85088C7.00582 1.64831 5.95022 1.75228 4.99091 2.14964C4.0316 2.547 3.21166 3.2199 2.63478 4.08326C2.05791 4.94662 1.75 5.96165 1.75 7C1.75 8.39239 2.30312 9.72775 3.28769 10.7123C4.27226 11.6969 5.60761 12.25 7 12.25C8.03835 12.25 9.05339 11.9421 9.91674 11.3652C10.1843 11.1864 10.4336 10.9843 10.6621 10.7619C10.677 10.7439 10.6928 10.7265 10.7097 10.7097C10.7265 10.6928 10.7439 10.677 10.7619 10.6621Z", "clip-rule": "evenodd" } })]), e("defs", [e("clipPath", { attrs: { id: "uia-icons-16-search__a" + t.uuid } }, [e("rect", { attrs: { width: "16", height: "16", fill: "#fff" } })])])]);
12
+ }, l = [], n = /* @__PURE__ */ r(
13
+ a,
14
+ i,
15
+ l,
16
+ !1,
17
+ null,
18
+ "493560a7",
19
+ null,
20
+ null
21
+ );
22
+ const c = n.exports;
23
+ export {
24
+ c as S
25
+ };
26
+ //# sourceMappingURL=search.6be3396b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.6be3396b.js","sources":["../../../../node_modules/@adyen/ui-assets-icons-16/dist/vue/search.vue"],"sourcesContent":["\n<template>\n <svg role=\"img\" v-bind=\"$attrs\" 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-search__a' + uuid + ')'\"><path fill=\"#00112C\" fill-rule=\"evenodd\" d=\"M8.31686 0.379702C7.00749 0.119252 5.65029 0.252925 4.41689 0.763816C3.18349 1.27471 2.12928 2.13987 1.38758 3.2499C0.645881 4.35994 0.25 5.66498 0.25 7C0.25 8.79021 0.961159 10.5071 2.22703 11.773C3.4929 13.0388 5.20979 13.75 7 13.75C8.33502 13.75 9.64007 13.3541 10.7501 12.6124C10.9096 12.5059 11.064 12.3928 11.2131 12.2737L14.4697 15.5303C14.7626 15.8232 15.2374 15.8232 15.5303 15.5303C15.8232 15.2374 15.8232 14.7626 15.5303 14.4697L12.2738 11.2131C12.6674 10.7203 12.9922 10.1721 13.2362 9.58312C13.7471 8.34972 13.8808 6.99252 13.6203 5.68314C13.3598 4.37377 12.717 3.17104 11.773 2.22703C10.829 1.28303 9.62623 0.640153 8.31686 0.379702ZM10.7619 10.6621C11.2239 10.1875 11.5943 9.6272 11.8504 9.00909C12.2477 8.04978 12.3517 6.99418 12.1491 5.97578C11.9465 4.95738 11.4465 4.02192 10.7123 3.28769C9.97808 2.55347 9.04262 2.05345 8.02422 1.85088C7.00582 1.64831 5.95022 1.75228 4.99091 2.14964C4.0316 2.547 3.21166 3.2199 2.63478 4.08326C2.05791 4.94662 1.75 5.96165 1.75 7C1.75 8.39239 2.30312 9.72775 3.28769 10.7123C4.27226 11.6969 5.60761 12.25 7 12.25C8.03835 12.25 9.05339 11.9421 9.91674 11.3652C10.1843 11.1864 10.4336 10.9843 10.6621 10.7619C10.677 10.7439 10.6928 10.7265 10.7097 10.7097C10.7265 10.6928 10.7439 10.677 10.7619 10.6621Z\" clip-rule=\"evenodd\"/></g><defs><clipPath :id=\"'uia-icons-16-search__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 scoped lang=\"scss\">\n svg {\n display: inline-flex;\n flex-shrink: 0;\n }\n \n svg,\n svg * {\n fill: currentcolor;\n }\n</style>\n"],"names":["uuid","_sfc_main"],"mappings":";;AAKA,IAAAA,IAAA;AAEA,MAAAC,IAAA;AAAA,EACA,eAAA;AACA,SAAA,OAAAD,EAAA,SAAA,GACAA,KAAA;AAAA,EACA;AACA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,15 @@
1
+ import { getCurrentInstance as r } from "vue";
2
+ import "./index.73d7902e.js";
3
+ let t = null;
4
+ function s() {
5
+ const n = r();
6
+ {
7
+ const o = n.proxy;
8
+ o != null && o.$bentoToastController && (t = o.$bentoToastController);
9
+ }
10
+ return t;
11
+ }
12
+ export {
13
+ s as u
14
+ };
15
+ //# sourceMappingURL=toastController.b1b08299.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toastController.b1b08299.js","sources":["../../src/utils/ts/toastController.ts"],"sourcesContent":["import { getCurrentInstance } from 'vue';\nimport { isVue2 } from 'vue-demi';\nimport BentoToastController from '../../plugins/toastController';\n\nlet bentoToastController: BentoToastController = null;\n\nexport function useBentoToastController(): BentoToastController {\n const instance = getCurrentInstance() as { proxy: any & { $bentoToastController } } | null;\n if (isVue2) {\n const vm = instance.proxy;\n\n if (vm?.$bentoToastController) {\n bentoToastController = vm.$bentoToastController;\n }\n } else {\n bentoToastController = (instance as any).appContext.config.globalProperties.$bentoToastController;\n }\n\n return bentoToastController;\n}\n"],"names":["bentoToastController","useBentoToastController","instance","getCurrentInstance","vm"],"mappings":";;AAIA,IAAIA,IAA6C;AAE1C,SAASC,IAAgD;AAC5D,QAAMC,IAAWC;AACL;AACR,UAAMC,IAAKF,EAAS;AAEpB,IAAIE,KAAA,QAAAA,EAAI,0BACJJ,IAAuBI,EAAG;AAAA,EAIlC;AAEO,SAAAJ;AACX;"}
@@ -0,0 +1,220 @@
1
+ import "../assets/tooltip.css";
2
+ import B, { computed as P, defineComponent as I, reactive as N, nextTick as D } from "vue";
3
+ import { g as L } from "./unique-id.a2a2b458.js";
4
+ import { PopperContainerPositionBasic as k, PopperContainer as $, PopperContainerAriaRole as V, PopperContainerPositionExtended as q } from "../popper-container.js";
5
+ import { V as C, c as R } from "./index.73d7902e.js";
6
+ import { BentoTypography as U, BentoTypographyElement as j, BentoTypographyVariant as F } from "../typography.js";
7
+ import { n as H } from "./_plugin-vue2_normalizer.71e2aa87.js";
8
+ const f = { ...k };
9
+ var w = /* @__PURE__ */ ((e) => (e.HIDDEN = "hidden", e))(w || {});
10
+ const v = (() => {
11
+ const e = {
12
+ capture: !1,
13
+ passive: !1,
14
+ once: !1
15
+ };
16
+ try {
17
+ const t = {
18
+ get capture() {
19
+ return e.capture = !0, !1;
20
+ },
21
+ get passive() {
22
+ return e.passive = !0, !1;
23
+ },
24
+ get once() {
25
+ return e.once = !0, !1;
26
+ }
27
+ };
28
+ document.addEventListener("test", null, t), document.removeEventListener("test", null, t);
29
+ } catch {
30
+ }
31
+ return e;
32
+ })();
33
+ function u(e, t, o, n) {
34
+ if (t.indexOf(" ") >= 0) {
35
+ const s = t.split(" ").map((i) => u(e, i, o, n));
36
+ return () => s.forEach((i) => i && i());
37
+ }
38
+ let c, a, m = !1;
39
+ const g = (s) => {
40
+ if (!(n != null && n.self && s.target !== e))
41
+ try {
42
+ o(s);
43
+ } finally {
44
+ n != null && n.once && c();
45
+ }
46
+ };
47
+ return c = () => {
48
+ var s, i;
49
+ m || e.removeEventListener(t, g, a), (s = n == null ? void 0 : n.vm) == null || s.$off("hook:beforeDestroy", c), (i = n == null ? void 0 : n.onCleanup) == null || i.call(n);
50
+ }, n != null && n.capture && (a = v.capture ? { capture: !0 } : !0), n != null && n.passive && v.passive && (a = { ...a, passive: !0 }), n != null && n.once && v.once && !(n != null && n.self) && !(n != null && n.vm) && !(n != null && n.onCleanup) && (m = !0, a = { ...a, once: !0 }), e.addEventListener(t, g, a), c;
51
+ }
52
+ var A = /* @__PURE__ */ ((e) => (e[e.ESCAPE = 27] = "ESCAPE", e))(A || {});
53
+ const M = {
54
+ name: "tooltip",
55
+ components: { BentoTypography: U, PopperContainer: $ },
56
+ inheritAttrs: !1,
57
+ props: {
58
+ /**
59
+ * The tooltip's id. Necessary for accessibility purposes.
60
+ */
61
+ id: { type: String, default: null },
62
+ /**
63
+ * Tooltip's target reference to the DOM element or Vue component.
64
+ * The tooltip will position itself relatively to target element, in the specified position.
65
+ */
66
+ targetElement: { type: [Element, Object], required: !0 },
67
+ /**
68
+ * Tooltip's position relative to the target element.
69
+ * Possible values are: 'top', 'bottom', 'left' and 'right'.
70
+ */
71
+ position: {
72
+ type: String,
73
+ default: f.TOP,
74
+ validator: (e) => Object.values(f).includes(e)
75
+ },
76
+ /**
77
+ * Tooltip's offset.
78
+ * If specified, the tooltip will have an offset in pixels between it and the target element
79
+ * in specified position.
80
+ */
81
+ offset: { type: Number, default: 0 },
82
+ /**
83
+ * Tooltip's text content.
84
+ */
85
+ content: { type: String, required: !0 },
86
+ /**
87
+ * Shows / Hides the Tooltip component
88
+ */
89
+ isShown: { type: Boolean, default: !1 }
90
+ },
91
+ setup(e) {
92
+ const t = P(() => ({
93
+ [`b-tooltip--${w.HIDDEN}`]: !e.isShown
94
+ })), o = P(() => e.isShown ? 1 : -1);
95
+ return {
96
+ // Enums
97
+ BentoTypographyElement: j,
98
+ BentoTypographyVariant: F,
99
+ PopperContainerAriaRole: V,
100
+ PopperContainerPositionExtended: q,
101
+ // Values
102
+ conditionalClasses: t,
103
+ tabIndex: o
104
+ };
105
+ }
106
+ }, z = I(M);
107
+ var G = function() {
108
+ var t = this, o = t._self._c;
109
+ return t._self._setupProxy, o("popper-container", { staticClass: "b-tooltip", class: t.conditionalClasses, attrs: { id: t.id, "target-element": t.targetElement, position: t.position, offset: [0, 4], arrow: { classes: ["b-tooltip__arrow"] }, "aria-hidden": !t.isShown, tabindex: t.tabIndex, "aria-role": t.PopperContainerAriaRole.TOOLTIP, "fallback-position": t.PopperContainerPositionExtended.AUTO } }, [o("bento-typography", { attrs: { el: t.BentoTypographyElement.SPAN, variant: t.BentoTypographyVariant.CAPTION } }, [t._v(" " + t._s(t.content) + " ")])], 1);
110
+ }, J = [], Q = /* @__PURE__ */ H(
111
+ z,
112
+ G,
113
+ J,
114
+ !1,
115
+ null,
116
+ "165c481a",
117
+ null,
118
+ null
119
+ );
120
+ const T = Q.exports, p = [], W = "aria-describedby", E = L("tooltip");
121
+ let d, r, y = !1;
122
+ const l = N({
123
+ targetElement: null,
124
+ content: "START_MESSAGE",
125
+ id: E,
126
+ position: void 0,
127
+ isShown: !1
128
+ }), X = (e) => {
129
+ if (e.setAttribute(W, E), e.setAttribute("tabindex", "0"), e.style.width = "fit-content", C) {
130
+ const t = B.extend(T);
131
+ r = new t({ propsData: { targetElement: e, content: "", id: E } }).$mount(), document.body.appendChild(r.$el);
132
+ } else
133
+ l.targetElement = e, r = R({
134
+ components: { Tooltip: T },
135
+ template: `<tooltip
136
+ :targetElement="tooltipProps.targetElement"
137
+ :content="tooltipProps.content"
138
+ :id="tooltipProps.id"
139
+ :is-shown="tooltipProps.isShown"
140
+ />`,
141
+ setup() {
142
+ return { tooltipProps: l };
143
+ }
144
+ }), d = document.createElement("div"), d.id = "tooltip-parent", document.body.appendChild(d), r.mount("#tooltip-parent");
145
+ }, Y = () => {
146
+ C ? (document.body.removeChild(r.$el), r.$destroy()) : (r.unmount(), document.body.removeChild(d)), r = void 0;
147
+ }, x = (e) => Object.values(f).includes(e.arg) ? e.arg : f.TOP, _ = (e) => p.find(
148
+ (t) => (
149
+ // isEqualNode doesn't work correct for svg element, hence the second check here
150
+ t.target.isEqualNode(e) && t.target === e
151
+ )
152
+ ), Z = (e) => {
153
+ const t = _(e);
154
+ !t.content || !e || (y = !0, r.content = t.content, r.position = t.position, l.content = t.content, l.position = t.position, D(() => {
155
+ y && (r.targetElement = e, r.isShown = !0, l.targetElement = e, l.isShown = !0);
156
+ }));
157
+ }, O = () => {
158
+ y = !1, r.isShown = !1, l.isShown = !1;
159
+ }, b = (e, t) => {
160
+ if (!t.hasOwnProperty("value") || t.value) {
161
+ p.length === 0 && X(e);
162
+ const o = () => Z(e), n = () => O(), c = {
163
+ target: e,
164
+ content: t.value,
165
+ position: x(t),
166
+ removeListeners: [
167
+ u(e, "mouseenter", o),
168
+ u(e, "mouseleave", n),
169
+ u(e, "focus", o),
170
+ u(e, "blur", n),
171
+ u(e, "keydown", (a) => {
172
+ a.keyCode === A.ESCAPE && n();
173
+ })
174
+ ]
175
+ };
176
+ p.push(c);
177
+ }
178
+ }, h = (e, t) => {
179
+ const o = _(e);
180
+ if (o.content !== t.value && (o.content = t.value, r.isShown && r.targetElement.isEqualNode(e) && (o.content ? r.content = t.value : r.isShown = !1)), o.position !== t.arg) {
181
+ const n = x(t);
182
+ o.position = n, r.position = n;
183
+ }
184
+ }, S = (e) => {
185
+ const t = _(e);
186
+ t && (t.removeListeners.forEach((o) => {
187
+ o();
188
+ }), O(), p.splice(p.indexOf(t), 1), p.length === 0 && Y());
189
+ }, se = {
190
+ // Vue 2 Directive hooks
191
+ bind(e, t) {
192
+ b(e, t);
193
+ },
194
+ update(e, t) {
195
+ h(e, t);
196
+ },
197
+ unbind(e) {
198
+ S(e);
199
+ },
200
+ // Vue 3 Directive hooks
201
+ beforeMount(e, t) {
202
+ b(e, t);
203
+ },
204
+ mounted(e, t) {
205
+ h(e, t);
206
+ },
207
+ updated(e, t) {
208
+ h(e, t);
209
+ },
210
+ unmounted(e) {
211
+ S(e);
212
+ }
213
+ };
214
+ export {
215
+ se as B,
216
+ f as a,
217
+ w as b,
218
+ u as l
219
+ };
220
+ //# sourceMappingURL=tooltip.a4625a7b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.a4625a7b.js","sources":["../../src/directives/tooltip/tooltip.types.ts","../../src/utils/ts/events.ts","../../src/types/utils-events.ts","../../src/components/tooltip/tooltip.vue","../../src/directives/tooltip/tooltip.ts"],"sourcesContent":["import { PopperContainerPositionBasic } from '@/components/popper-container';\n\nexport const BentoTooltipPosition = { ...PopperContainerPositionBasic };\nexport type BentoTooltipPosition = PopperContainerPositionBasic;\n\nexport enum BentoTooltipState {\n HIDDEN = 'hidden',\n}\n\nexport interface TooltipInstance {\n target: HTMLElement;\n content: string;\n position: BentoTooltipPosition;\n removeListeners: Array<() => void>;\n}\n","import { ListenOptions } from '@/types/utils-events';\n\n/**\n * Browser event options object feature support\n * @type {object}\n * @property {boolean} capture\n * @property {boolean} passive\n * @property {boolean} once\n */\nconst optionsSupport = (() => {\n const support = {\n capture: false,\n passive: false,\n once: false,\n };\n\n try {\n // `addEventListener`/`removeEventListener` last argument can be boolean or Object.\n // Old browsers only support boolean, so passing an Object would make them evaluate are true.\n // To detect Object support and each feature, we provide an object with getters.\n // If the getter is invoked means that browser supports that specific feature.\n const options = {\n get capture() {\n support.capture = true;\n return false;\n },\n get passive() {\n support.passive = true;\n return false;\n },\n get once() {\n support.once = true;\n return false;\n },\n };\n // eslint-disable-next-line scanjs-rules/call_addEventListener\n document.addEventListener('test', null, options);\n document.removeEventListener('test', null, options);\n } catch {\n // ignored\n }\n\n return support;\n})();\n\n/**\n * Attach event listeners using options object (implementing browser fallbacks), easy cleanup\n *\n * @param {EventTarget} target - Target where the event will be attached\n * @param {string} type - Event type(s). Accepts multiple types separated by space\n * @param {EventHandler} listener - Handler function\n * @param {ListenOptions}[options] - Listener options\n * @param {boolean} [options.capture] - Capture event listener\n * @param {boolean} [options.passive] - Passive event listener\n * @param {boolean} [options.once] - Auto cleanup after event is fired for the first time\n * @param {boolean} [options.self] - Only trigger if the target of the event is itself\n * @param {Vue} [options.vm] - Auto cleanup when vue instance is destroyed\n * @param {Function} [options.onCleanup] - Callback function invoked after cleaning up\n * @return {Function} Cleanup function that removes the listener\n */\nexport function listen(target: EventTarget, type: string, listener: EventListener, options?: ListenOptions) {\n if (type.indexOf(' ') >= 0) {\n const cleanupBatch = type.split(' ').map(eventType => listen(target, eventType, listener, options));\n return () => cleanupBatch.forEach(cleanup => cleanup && cleanup());\n }\n\n let cleanup;\n let eventOptions: boolean | AddEventListenerOptions;\n let useNativeOnce = false;\n\n // Listener wrapper\n const eventListener = event => {\n if (options?.self && event.target !== target) {\n return;\n }\n try {\n listener(event);\n } finally {\n if (options?.once) {\n cleanup();\n }\n }\n };\n\n // Cleanup function\n cleanup = () => {\n if (!useNativeOnce) {\n target.removeEventListener(type, eventListener, eventOptions);\n }\n options?.vm?.$off('hook:beforeDestroy', cleanup);\n options?.onCleanup?.();\n };\n\n // addEventListener options adjustments\n if (options?.capture) {\n eventOptions = optionsSupport.capture ? { capture: true } : true;\n }\n\n if (options?.passive && optionsSupport.passive) {\n eventOptions = { ...(eventOptions as AddEventListenerOptions), passive: true };\n }\n\n if (options?.once && optionsSupport.once) {\n // `self`, `vm` and `onCleanup` options forces to skip native `once`\n if (!options?.self && !options?.vm && !options?.onCleanup) {\n useNativeOnce = true;\n eventOptions = { ...(eventOptions as AddEventListenerOptions), once: true };\n }\n }\n\n // TODO: vue 3 uses old vue event emitter, do we need this?\n // https://v3-migration.vuejs.org/breaking-changes/events-api.html#event-bus\n // if (options?.vm) {\n // if (!(options.vm instanceof Vue)) {\n // throw new TypeError('options.vm is not a Vue component instance');\n // }\n // options.vm.$once('hook:beforeDestroy', cleanup);\n // }\n // eslint-disable-next-line scanjs-rules/call_addEventListener\n target.addEventListener(type, eventListener, eventOptions);\n return cleanup;\n}\n","import Vue from 'vue';\n\nexport interface ListenOptions {\n capture?: boolean;\n passive?: boolean;\n once?: boolean;\n self?: boolean;\n vm?: Vue;\n onCleanup?: () => void;\n}\n\nexport enum KeyCode {\n ESCAPE = 27,\n}\n","<template>\n <popper-container\n :id=\"id\"\n :target-element=\"targetElement\"\n :position=\"position\"\n :offset=\"[0, 4]\"\n :arrow=\"{ classes: ['b-tooltip__arrow'] }\"\n :aria-hidden=\"!isShown\"\n :class=\"conditionalClasses\"\n :tabindex=\"tabIndex\"\n class=\"b-tooltip\"\n :aria-role=\"PopperContainerAriaRole.TOOLTIP\"\n :fallback-position=\"PopperContainerPositionExtended.AUTO\"\n >\n <bento-typography :el=\"BentoTypographyElement.SPAN\" :variant=\"BentoTypographyVariant.CAPTION\">\n {{ content }}\n </bento-typography>\n </popper-container>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { BentoTooltipPosition, BentoTooltipState } from '@/directives/tooltip/tooltip.types';\n import {\n PopperContainer,\n PopperContainerAriaRole,\n PopperContainerPositionExtended,\n } from '@/components/popper-container';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { VueNodeElement } from '@/types';\n\n /**\n * Tooltip container, to be used internally to render the tooltip container where the text is shown.\n */\n export const Tooltip = {\n name: 'tooltip',\n components: { BentoTypography, PopperContainer },\n inheritAttrs: false,\n props: {\n /**\n * The tooltip's id. Necessary for accessibility purposes.\n */\n id: { type: String, default: null },\n /**\n * Tooltip's target reference to the DOM element or Vue component.\n * The tooltip will position itself relatively to target element, in the specified position.\n */\n targetElement: { type: [Element, Object] as PropType<VueNodeElement>, required: true },\n /**\n * Tooltip's position relative to the target element.\n * Possible values are: 'top', 'bottom', 'left' and 'right'.\n */\n position: {\n type: String as PropType<BentoTooltipPosition>,\n default: BentoTooltipPosition.TOP,\n validator: value => Object.values(BentoTooltipPosition).includes(value as BentoTooltipPosition),\n },\n /**\n * Tooltip's offset.\n * If specified, the tooltip will have an offset in pixels between it and the target element\n * in specified position.\n */\n offset: { type: Number, default: 0 },\n /**\n * Tooltip's text content.\n */\n content: { type: String, required: true },\n /**\n * Shows / Hides the Tooltip component\n */\n isShown: { type: Boolean, default: false },\n },\n setup(props) {\n const conditionalClasses = computed(() => ({\n [`b-tooltip--${BentoTooltipState.HIDDEN}`]: !props.isShown,\n }));\n\n const tabIndex = computed((): number => (props.isShown ? 1 : -1));\n\n return {\n // Enums\n BentoTypographyElement,\n BentoTypographyVariant,\n PopperContainerAriaRole,\n PopperContainerPositionExtended,\n\n // Values\n conditionalClasses,\n tabIndex,\n };\n },\n };\n\n export default defineComponent(Tooltip);\n</script>\n\n<style lang=\"scss\" scoped src=\"./tooltip.scss\" />\n","import { nextTick, reactive } from 'vue';\nimport { listen } from '@/utils/ts/events';\nimport { generateUid } from '@/utils/ts/unique-id';\nimport { KeyCode } from '@/types/utils-events';\nimport { BentoTooltipPosition, TooltipInstance } from './tooltip.types';\nimport type { DirectiveBinding } from 'vue/types/options';\nimport { createApp, Vue, Vue2 } from 'vue-demi';\nimport Tooltip from '@/components/tooltip/tooltip.vue';\n\n/**\n * Tooltip directive to render a tooltip on a given HTML element or component.\n *\n * @usage\n * import { BentoTooltipDirective } from '@adyen/bento-vue2';\n *\n * export default {\n * directives: { BentoTooltipDirective },\n * template: `\n * <bento-button\n * v-bento-tooltip-directive:top=\"Tooltip Content\"\n * >\n * Button text\n * </bento-button>\n * `,\n * }\n */\nconst tooltipInstances: Array<TooltipInstance> = [];\nconst ariaDescribedByAttr = 'aria-describedby';\nconst tooltipId = generateUid('tooltip');\n\nlet tooltipVNode;\n\n// Reusable Tooltip component instance.\nlet tooltip;\n// Global visibility state to prevent tooltips from showing after it being instructed to hide\nlet open = false;\n\nconst tooltipProps = reactive({\n targetElement: null,\n content: 'START_MESSAGE',\n id: tooltipId,\n position: undefined,\n isShown: false,\n});\n\n/**\n * Creates a new Tooltip component instance and inserts it into DOM.\n * @param {HTMLElement} el the target element for the Tooltip\n * @internal\n */\nconst createTooltip = (el: HTMLElement) => {\n // Sets the target's 'aria-describedby' attribute\n el.setAttribute(ariaDescribedByAttr, tooltipId);\n // Sets the target's tabindex so as to make the tooltip interactive via keyboard navigation\n el.setAttribute('tabindex', '0');\n // eslint-disable-next-line no-param-reassign\n el.style.width = 'fit-content';\n\n if (Vue2) {\n const TooltipComponent = Vue.extend(Tooltip);\n tooltip = new TooltipComponent({ propsData: { targetElement: el, content: '', id: tooltipId } }).$mount();\n document.body.appendChild(tooltip.$el);\n } else {\n tooltipProps.targetElement = el;\n tooltip = createApp({\n components: { Tooltip },\n template: `<tooltip \n :targetElement=\"tooltipProps.targetElement\"\n :content=\"tooltipProps.content\"\n :id=\"tooltipProps.id\"\n :is-shown=\"tooltipProps.isShown\"\n />`,\n setup() {\n return { tooltipProps };\n },\n });\n tooltipVNode = document.createElement('div');\n tooltipVNode.id = 'tooltip-parent';\n document.body.appendChild(tooltipVNode);\n tooltip.mount('#tooltip-parent');\n }\n};\n\n/**\n * Removes Tooltip component instance from the DOM and destroys it.\n * @internal\n */\nconst destroyTooltip = () => {\n if (Vue2) {\n document.body.removeChild(tooltip.$el);\n tooltip.$destroy();\n } else {\n tooltip.unmount();\n document.body.removeChild(tooltipVNode);\n }\n\n tooltip = undefined;\n};\n\n/**\n * Returns tooltip position based on the specified argument.\n * By default returns 'top' if no argument is specified.\n * @param {DirectiveBinding} binding Directive binding object.\n * @returns {string} Tooltip position.\n * @internal\n */\nconst getTooltipPosition = (binding: DirectiveBinding): BentoTooltipPosition =>\n Object.values(BentoTooltipPosition).includes(binding.arg as BentoTooltipPosition)\n ? (binding.arg as BentoTooltipPosition)\n : BentoTooltipPosition.TOP;\n\n/**\n * Get the correct Tooltip instance for the given target element\n * @param {HTMLElement} el the target element for the Tooltip\n * @returns\n */\nconst getTooltipInstanceForTarget = (el: HTMLElement): TooltipInstance =>\n tooltipInstances.find(\n ctx =>\n // isEqualNode doesn't work correct for svg element, hence the second check here\n ctx.target.isEqualNode(el) && ctx.target === el\n );\n\n/**\n * On mouse enter event updates tooltip with correct content and position, and shows tooltip.\n * @param {?HTMLElement} el - Target element\n * @internal\n */\nconst showTooltip = (el?: HTMLElement) => {\n const tooltipInstance = getTooltipInstanceForTarget(el);\n\n // If tooltip content is empty – do not show the tooltip\n if (!tooltipInstance.content || !el) {\n return;\n }\n\n open = true;\n\n tooltip.content = tooltipInstance.content;\n tooltip.position = tooltipInstance.position;\n\n tooltipProps.content = tooltipInstance.content;\n tooltipProps.position = tooltipInstance.position;\n\n // Do calculations on a next tick, otherwise tooltip position calculations will be wrong\n nextTick(() => {\n // Do not open tooltip if it has been instructed to hide in process\n if (!open) {\n return;\n }\n tooltip.targetElement = el;\n tooltip.isShown = true;\n\n tooltipProps.targetElement = el;\n tooltipProps.isShown = true;\n });\n};\n\n/**\n * On mouse leave event hides the tooltip.\n * @internal\n */\nconst hideTooltip = () => {\n open = false;\n tooltip.isShown = false;\n tooltipProps.isShown = false;\n};\n\nconst tooltipBind = (el, binding) => {\n // eslint-disable-next-line no-prototype-builtins\n if (!binding.hasOwnProperty('value') || binding.value) {\n // Create Tooltip component singleton instance\n if (tooltipInstances.length === 0) {\n createTooltip(el);\n }\n\n const show = () => showTooltip(el);\n const hide = () => hideTooltip();\n\n // Create and store context object, which has directive related handlers and content.\n const tooltipInstance: TooltipInstance = {\n target: el,\n content: binding.value,\n position: getTooltipPosition(binding),\n removeListeners: [\n listen(el, 'mouseenter', show),\n listen(el, 'mouseleave', hide),\n listen(el, 'focus', show),\n listen(el, 'blur', hide),\n listen(el, 'keydown', evt => {\n const keyboardEvent = <KeyboardEvent>evt;\n if (keyboardEvent.keyCode === KeyCode.ESCAPE) {\n hide();\n }\n }),\n ],\n };\n\n tooltipInstances.push(tooltipInstance);\n }\n};\n\nconst tooltipUpdate = (el, binding) => {\n const tooltipInstance = getTooltipInstanceForTarget(el);\n // Update tooltip content value if it is changed\n if (tooltipInstance.content !== binding.value) {\n tooltipInstance.content = binding.value;\n // If tooltip is currently shown for current element – update tooltip's content value\n if (tooltip.isShown && tooltip.targetElement.isEqualNode(el)) {\n if (!tooltipInstance.content) {\n tooltip.isShown = false;\n } else {\n tooltip.content = binding.value;\n }\n }\n }\n // Update tooltip position if it is changed\n if (tooltipInstance.position !== binding.arg) {\n const position = getTooltipPosition(binding);\n tooltipInstance.position = position;\n tooltip.position = position;\n }\n};\n\nconst tooltipUnbind = el => {\n const context = getTooltipInstanceForTarget(el);\n\n // Prevent unbinding/removing when there's nothing to unbind, leads to stack overflow errors\n if (!context) {\n return;\n }\n\n context.removeListeners.forEach(removeListener => {\n removeListener();\n });\n\n // If el is removed while tooltip is displayed, the tooltip doesnt hide as\n // there is no el to trigger mouseleave/blur.\n hideTooltip();\n\n tooltipInstances.splice(tooltipInstances.indexOf(context), 1);\n\n // If all the elements using the directive are removed, then no point having\n // the component on the page.\n if (tooltipInstances.length === 0) {\n destroyTooltip();\n }\n};\n\n/**\n * This directive allows you to bind a tooltip to an element.\n * Tooltip can be configured to be shown in one of four positions: `top`, `left`, `right` and `bottom`.\n *\n * @example\n * import { BentoTooltipDirective as BentoTooltip, TooltipPosition } from '@adyen/ds-vue2';\n *\n * export default {\n * directives: { BentoTooltip },\n * methods: {\n * contentExpression() {\n * return 'tooltip content';\n * },\n * },\n * template: `<div>\n * <div v-adl-tooltip:left=\"'tooltip content'\"></div>\n * <div v-adl-tooltip:[TooltipPosition.BOTTOM]=\"'bottom tooltip content'\"></div>\n *\n * <!-- If you don't specify the position then by default it's `TooltipPosition.TOP` -->\n * <div v-adl-tooltip=\"'tooltip content'\"></div>\n *\n * <!-- Tooltip content can also be a data property or a method or a computed property as well -->\n * <div v-adl-tooltip=\"contentExpression()\"></div>\n * </div>`,\n * };\n */\nexport const BentoTooltipDirective = {\n // Vue 2 Directive hooks\n bind(el, binding) {\n tooltipBind(el, binding);\n },\n update(el, binding) {\n tooltipUpdate(el, binding);\n },\n unbind(el) {\n tooltipUnbind(el);\n },\n // Vue 3 Directive hooks\n beforeMount(el, binding) {\n tooltipBind(el, binding);\n },\n mounted(el, binding) {\n tooltipUpdate(el, binding);\n },\n updated(el, binding) {\n tooltipUpdate(el, binding);\n },\n unmounted(el) {\n tooltipUnbind(el);\n },\n};\n"],"names":["BentoTooltipPosition","PopperContainerPositionBasic","BentoTooltipState","BentoTooltipState2","optionsSupport","support","options","listen","target","type","listener","cleanupBatch","eventType","cleanup2","cleanup","eventOptions","useNativeOnce","eventListener","event","_a","_b","KeyCode","KeyCode2","Tooltip$1","BentoTypography","PopperContainer","value","props","conditionalClasses","computed","tabIndex","BentoTypographyElement","BentoTypographyVariant","PopperContainerAriaRole","PopperContainerPositionExtended","_sfc_main","defineComponent","tooltipInstances","ariaDescribedByAttr","tooltipId","generateUid","tooltipVNode","tooltip","open","tooltipProps","reactive","createTooltip","el","Vue2","TooltipComponent","Vue","Tooltip","createApp","destroyTooltip","getTooltipPosition","binding","getTooltipInstanceForTarget","ctx","showTooltip","tooltipInstance","nextTick","hideTooltip","tooltipBind","show","hide","evt","tooltipUpdate","position","tooltipUnbind","context","removeListener","BentoTooltipDirective"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ let o;
2
+ const p = new Uint8Array(16);
3
+ function y() {
4
+ if (!o && (o = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !o))
5
+ throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
6
+ return o(p);
7
+ }
8
+ const d = [];
9
+ for (let n = 0; n < 256; ++n)
10
+ d.push((n + 256).toString(16).slice(1));
11
+ function g(n, t = 0) {
12
+ return (d[n[t + 0]] + d[n[t + 1]] + d[n[t + 2]] + d[n[t + 3]] + "-" + d[n[t + 4]] + d[n[t + 5]] + "-" + d[n[t + 6]] + d[n[t + 7]] + "-" + d[n[t + 8]] + d[n[t + 9]] + "-" + d[n[t + 10]] + d[n[t + 11]] + d[n[t + 12]] + d[n[t + 13]] + d[n[t + 14]] + d[n[t + 15]]).toLowerCase();
13
+ }
14
+ const m = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), i = {
15
+ randomUUID: m
16
+ };
17
+ function r(n, t, u) {
18
+ if (i.randomUUID && !t && !n)
19
+ return i.randomUUID();
20
+ n = n || {};
21
+ const e = n.random || (n.rng || y)();
22
+ if (e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, t) {
23
+ u = u || 0;
24
+ for (let c = 0; c < 16; ++c)
25
+ t[u + c] = e[c];
26
+ return t;
27
+ }
28
+ return g(e);
29
+ }
30
+ const U = (n) => n ? `${n}-${r()}` : r();
31
+ export {
32
+ U as g
33
+ };
34
+ //# sourceMappingURL=unique-id.a2a2b458.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-id.a2a2b458.js","sources":["../../../../node_modules/uuid/dist/esm-browser/rng.js","../../../../node_modules/uuid/dist/esm-browser/stringify.js","../../../../node_modules/uuid/dist/esm-browser/native.js","../../../../node_modules/uuid/dist/esm-browser/v4.js","../../src/utils/ts/unique-id.ts"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","import { v4 } from 'uuid';\n\n/**\n * Returns a unique identifier optionally prefixed by a custom string\n * @param value - The string to be prepended to the unique identifier\n */\nexport const generateUid = (value: string): string => (value ? `${value}-${v4()}` : v4());\n"],"names":["getRandomValues","rnds8","rng","byteToHex","i","unsafeStringify","arr","offset","randomUUID","native","v4","options","buf","rnds","generateUid","value"],"mappings":"AAGA,IAAIA;AACJ,MAAMC,IAAQ,IAAI,WAAW,EAAE;AAChB,SAASC,IAAM;AAE5B,MAAI,CAACF,MAEHA,IAAkB,OAAO,SAAW,OAAe,OAAO,mBAAmB,OAAO,gBAAgB,KAAK,MAAM,GAE3G,CAACA;AACH,UAAM,IAAI,MAAM,0GAA0G;AAI9H,SAAOA,EAAgBC,CAAK;AAC9B;ACXA,MAAME,IAAY,CAAA;AAElB,SAASC,IAAI,GAAGA,IAAI,KAAK,EAAEA;AACzB,EAAAD,EAAU,MAAMC,IAAI,KAAO,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC;AAG3C,SAASC,EAAgBC,GAAKC,IAAS,GAAG;AAG/C,UAAQJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,CAAC,CAAC,IAAI,MAAMJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,IAAIJ,EAAUG,EAAIC,IAAS,EAAE,CAAC,GAAG;AACvf;AChBA,MAAMC,IAAa,OAAO,SAAW,OAAe,OAAO,cAAc,OAAO,WAAW,KAAK,MAAM,GACvFC,IAAA;AAAA,EACb,YAAAD;AACF;ACCA,SAASE,EAAGC,GAASC,GAAKL,GAAQ;AAChC,MAAIE,EAAO,cAAc,CAACG,KAAO,CAACD;AAChC,WAAOF,EAAO;AAGhB,EAAAE,IAAUA,KAAW;AACrB,QAAME,IAAOF,EAAQ,WAAWA,EAAQ,OAAOT;AAK/C,MAHAW,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBD,GAAK;AACP,IAAAL,IAASA,KAAU;AAEnB,aAASH,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAQ,EAAIL,IAASH,CAAC,IAAIS,EAAKT,CAAC;AAG1B,WAAOQ;AAAA;AAGT,SAAOP,EAAgBQ,CAAI;AAC7B;ACpBa,MAAAC,IAAc,CAACC,MAA2BA,IAAQ,GAAGA,KAASL,QAASA,EAAG;","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,11 @@
1
+ import { onMounted as l } from "vue";
2
+ const a = (o, t, ...e) => {
3
+ l(() => {
4
+ if (!t && e.some((r) => r))
5
+ throw new Error(`${o}: optional slots should only be provided together with #default slot`);
6
+ });
7
+ };
8
+ export {
9
+ a as u
10
+ };
11
+ //# sourceMappingURL=use-default-slot-validator.83d977a1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-default-slot-validator.83d977a1.js","sources":["../../src/composables/use-default-slot-validator/use-default-slot-validator.ts"],"sourcesContent":["import { onMounted } from 'vue';\n\nexport const useDefaultSlotValidator = (\n componentName: string,\n hasDefaultSlot: boolean,\n ...hasOptionalSlots: boolean[]\n) => {\n onMounted(() => {\n if (!hasDefaultSlot && hasOptionalSlots.some(hasSlot => hasSlot)) {\n throw new Error(`${componentName}: optional slots should only be provided together with #default slot`);\n }\n });\n};\n"],"names":["useDefaultSlotValidator","componentName","hasDefaultSlot","hasOptionalSlots","onMounted","hasSlot"],"mappings":";AAEO,MAAMA,IAA0B,CACnCC,GACAC,MACGC,MACF;AACD,EAAAC,EAAU,MAAM;AACZ,QAAI,CAACF,KAAkBC,EAAiB,KAAK,CAAAE,MAAWA,CAAO;AACrD,YAAA,IAAI,MAAM,GAAGJ,uEAAmF;AAAA,EAC1G,CACH;AACL;"}
@@ -0,0 +1,29 @@
1
+ import { computed as o } from "vue";
2
+ import { useCountryName as n, BentoCountryVariant as a, useCountryCapital as l, useCountryPhoneCode as s } from "../country.js";
3
+ import { u as C } from "./i18n.8934ef6c.js";
4
+ const v = (t, u) => {
5
+ const { locale: r } = C(void 0, !0);
6
+ return o(() => {
7
+ switch (t.value) {
8
+ case a.CUSTOM:
9
+ return u.value;
10
+ case a.PHONE_CODE:
11
+ return u.value.map(({ value: e }) => ({
12
+ value: e,
13
+ label: s(e).value
14
+ }));
15
+ case a.CAPITAL:
16
+ return u.value.map(({ value: e }) => ({
17
+ value: e,
18
+ label: l(e, r).value
19
+ }));
20
+ case a.NAME:
21
+ default:
22
+ return u.value.map(({ value: e }) => ({ value: e, label: n(e, r).value }));
23
+ }
24
+ });
25
+ };
26
+ export {
27
+ v as u
28
+ };
29
+ //# sourceMappingURL=useCountryItems.cbe60557.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCountryItems.cbe60557.js","sources":["../../src/components/dropdown/components/variants/dropdown-country/composables/useCountryItems.ts"],"sourcesContent":["import { computed, ComputedRef, Ref } from 'vue';\nimport { BentoCountryVariant, useCountryCapital, useCountryName, useCountryPhoneCode } from '@/components/country';\nimport { BentoCountryListboxOptions } from '../dropdown-country.types';\nimport { useI18n } from '@/utils/ts/i18n';\nimport { BentoListboxOptions } from '@/types';\n\nexport const useCountryItems = (variant: Ref<BentoCountryVariant>, items: Ref<BentoCountryListboxOptions>) => {\n const { locale } = useI18n(undefined, true);\n\n return computed(() => {\n switch (variant.value) {\n case BentoCountryVariant.CUSTOM:\n return items.value;\n case BentoCountryVariant.PHONE_CODE:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryPhoneCode(value).value,\n }));\n case BentoCountryVariant.CAPITAL:\n return items.value.map(({ value }) => ({\n value,\n label: useCountryCapital(value, locale).value,\n }));\n case BentoCountryVariant.NAME:\n default:\n return items.value.map(({ value }) => ({ value, label: useCountryName(value, locale).value }));\n }\n }) as ComputedRef<BentoListboxOptions>;\n};\n"],"names":["useCountryItems","variant","items","locale","useI18n","computed","BentoCountryVariant","value","useCountryPhoneCode","useCountryCapital","useCountryName"],"mappings":";;;AAMa,MAAAA,IAAkB,CAACC,GAAmCC,MAA2C;AAC1G,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAQ,QAAW,EAAI;AAE1C,SAAOC,EAAS,MAAM;AAClB,YAAQJ,EAAQ,OAAO;AAAA,MACnB,KAAKK,EAAoB;AACrB,eAAOJ,EAAM;AAAA,MACjB,KAAKI,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOC,EAAoBD,CAAK,EAAE;AAAA,QACpC,EAAA;AAAA,MACN,KAAKD,EAAoB;AACrB,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,SAAa;AAAA,UACnC,OAAAA;AAAA,UACA,OAAOE,EAAkBF,GAAOJ,CAAM,EAAE;AAAA,QAC1C,EAAA;AAAA,MACN,KAAKG,EAAoB;AAAA,MACzB;AACI,eAAOJ,EAAM,MAAM,IAAI,CAAC,EAAE,OAAAK,EAAM,OAAO,EAAE,OAAAA,GAAO,OAAOG,EAAeH,GAAOJ,CAAM,EAAE,QAAQ;AAAA,IACrG;AAAA,EAAA,CACH;AACL;"}
@@ -0,0 +1,23 @@
1
+ import { defineComponent as o, ref as d, h as p } from "vue";
2
+ import { o as u } from "./chunks/on-click-outside.3e0c3e2a.js";
3
+ const l = /* @__PURE__ */ o({
4
+ name: "bento-click-outside",
5
+ props: {
6
+ /**
7
+ * Sets the HTML DOM element.
8
+ */
9
+ el: { type: String, default: "div" }
10
+ },
11
+ emits: ["handler"],
12
+ setup(r, { emit: i, slots: t }) {
13
+ const n = d(null);
14
+ return u(n, (e) => i("handler", e)), () => {
15
+ var e;
16
+ return p(r.el, { ref: n }, (e = t.default) == null ? void 0 : e.call(t));
17
+ };
18
+ }
19
+ });
20
+ export {
21
+ l as BentoClickOutside
22
+ };
23
+ //# sourceMappingURL=click-outside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"click-outside.js","sources":["../src/components/click-outside/click-outside.ts"],"sourcesContent":["import { defineComponent, h, ref } from 'vue';\nimport { onClickOutside } from '@/directives/click-outside/on-click-outside';\n\nexport const BentoClickOutside = /* #__PURE__ */ defineComponent({\n name: 'bento-click-outside',\n props: {\n /**\n * Sets the HTML DOM element.\n */\n el: { type: String, default: 'div' },\n },\n emits: ['handler'],\n setup(props, { emit, slots }) {\n const target = ref(null);\n\n onClickOutside(target, event => emit('handler', event));\n\n return () => h(props.el, { ref: target }, slots.default?.());\n },\n});\n"],"names":["BentoClickOutside","defineComponent","props","emit","slots","target","ref","onClickOutside","event","h","_a"],"mappings":";;AAGO,MAAMA,IAAoD,gBAAAC,EAAA;AAAA,EAC7D,MAAM;AAAA,EACN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIH,IAAI,EAAE,MAAM,QAAQ,SAAS,MAAM;AAAA,EACvC;AAAA,EACA,OAAO,CAAC,SAAS;AAAA,EACjB,MAAMC,GAAO,EAAE,MAAAC,GAAM,OAAAC,KAAS;AACpB,UAAAC,IAASC,EAAI,IAAI;AAEvB,WAAAC,EAAeF,GAAQ,CAAAG,MAASL,EAAK,WAAWK,CAAK,CAAC,GAE/C,MAAM;;AAAA,aAAAC,EAAEP,EAAM,IAAI,EAAE,KAAKG,MAAUK,IAAAN,EAAM,YAAN,gBAAAM,EAAA,KAAAN,EAAiB;AAAA;AAAA,EAC/D;AACJ,CAAC;"}
@@ -0,0 +1,59 @@
1
+ import "./assets/index6.css";
2
+ import { defineComponent as l, computed as t } from "vue";
3
+ import { BentoTypography as n, BentoTypographyElement as r } from "./typography.js";
4
+ import { n as a } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
5
+ const d = l({
6
+ name: "controls-group",
7
+ components: { BentoTypography: n },
8
+ inheritAttrs: !1,
9
+ props: {
10
+ /**
11
+ * The name associated with the group. Required for accessibility purposes.
12
+ */
13
+ label: { type: String, required: !0 },
14
+ /**
15
+ * Shows/hides the group label.
16
+ */
17
+ showLabel: { type: Boolean, default: !1 },
18
+ /**
19
+ * The value of the id attribute of a <form> element the <fieldset> is to part of, even if it is not inside the form itself.
20
+ */
21
+ form: { type: String, default: null },
22
+ /**
23
+ * Sets all child controls of the <fieldset> as disabled.
24
+ */
25
+ disabled: { type: Boolean, default: !1 }
26
+ },
27
+ setup(s) {
28
+ const e = t(() => ({
29
+ "b-controls-group--disabled": s.disabled
30
+ })), o = t(() => ({
31
+ "b-controls-group__label--hidden": !s.showLabel
32
+ }));
33
+ return {
34
+ // Enums
35
+ BentoTypographyElement: r,
36
+ // Values
37
+ conditionalClasses: e,
38
+ legendConditionalClasses: o
39
+ };
40
+ }
41
+ });
42
+ var p = function() {
43
+ var e = this, o = e._self._c;
44
+ return e._self._setupProxy, o("fieldset", { staticClass: "b-controls-group", class: e.conditionalClasses, attrs: { form: e.form, disabled: e.disabled } }, [o("legend", { staticClass: "b-controls-group__label", class: e.legendConditionalClasses }, [o("bento-typography", { attrs: { el: e.BentoTypographyElement.SPAN } }, [e._v(" " + e._s(e.label) + " ")])], 1), e._t("default")], 2);
45
+ }, _ = [], i = /* @__PURE__ */ a(
46
+ d,
47
+ p,
48
+ _,
49
+ !1,
50
+ null,
51
+ "d01b0fef",
52
+ null,
53
+ null
54
+ );
55
+ const b = i.exports;
56
+ export {
57
+ b as ControlsGroup
58
+ };
59
+ //# sourceMappingURL=controls-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controls-group.js","sources":["../src/components/controls-group/controls-group.vue"],"sourcesContent":["<template>\n <fieldset class=\"b-controls-group\" :class=\"conditionalClasses\" :form=\"form\" :disabled=\"disabled\">\n <legend class=\"b-controls-group__label\" :class=\"legendConditionalClasses\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">\n {{ label }}\n </bento-typography>\n </legend>\n <slot />\n </fieldset>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n\n /**\n * A controls group components should be used whenever it is necessary to group a set of controls (i.e. radio buttons or checkboxes)\n * This component conforms to the official WAI-ARIA guidelines for grouping controls: https://www.w3.org/WAI/tutorials/forms/grouping/\n *\n * NOTE: This component should not be used by itself but more implemented by other exported components\n * @example\n * import { ControlsGroup, BentoCheckbox } from '@adyen/bento-vue2/';\n *\n * export default {\n * components: { ControlsGroup, RadioButton },\n * template: `\n * <controls-group label=\"Your group label\">\n * <radio-button\n * disabled\n * value=\"inputRadio\"\n * >\n * Label text\n * </radio-button>\n * <radio-button\n * value=\"inputRadio\"\n * >\n * Another label text\n * </radio-button>\n * </controls-group>\n * `\n * };\n */\n export default defineComponent({\n name: 'controls-group',\n components: { BentoTypography },\n inheritAttrs: false,\n props: {\n /**\n * The name associated with the group. Required for accessibility purposes.\n */\n label: { type: String, required: true },\n /**\n * Shows/hides the group label.\n */\n showLabel: { type: Boolean, default: false },\n /**\n * The value of the id attribute of a <form> element the <fieldset> is to part of, even if it is not inside the form itself.\n */\n form: { type: String, default: null },\n /**\n * Sets all child controls of the <fieldset> as disabled.\n */\n disabled: { type: Boolean, default: false },\n },\n setup(props) {\n const conditionalClasses = computed(() => ({\n 'b-controls-group--disabled': props.disabled,\n }));\n\n const legendConditionalClasses = computed(() => ({\n 'b-controls-group__label--hidden': !props.showLabel,\n }));\n\n return {\n // Enums\n BentoTypographyElement,\n\n // Values\n conditionalClasses,\n legendConditionalClasses,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./controls-group.scss\" />\n"],"names":["_sfc_main","defineComponent","BentoTypography","props","conditionalClasses","computed","legendConditionalClasses","BentoTypographyElement"],"mappings":";;;;AA0CA,MAAAA,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA,EAAA,MAAA,QAAA,UAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA,EAAA,MAAA,SAAA,SAAA,GAAA;AAAA,EAIA;AAAA,EACA,MAAAC,GAAA;AAEA,UAAAC,IAAAC,EAAA,OAAA;AAAA,MAAA,8BAAAF,EAAA;AAAA,IACA,EAAA,GAGAG,IAAAD,EAAA,OAAA;AAAA,MAAA,mCAAA,CAAAF,EAAA;AAAA,IACA,EAAA;AAGA,WAAA;AAAA;AAAA,MAAA,wBAAAI;AAAA;AAAA,MAEA,oBAAAH;AAAA,MAGA,0BAAAE;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}