@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.
- package/dist/@types/components/currency/currency.vue.d.ts +9 -0
- package/dist/@types/components/data-grid/data-grid.vue.d.ts +3 -3
- package/dist/@types/components/date/date.vue.d.ts +9 -0
- package/dist/@types/components/modal/components/base-modal/base-modal.vue.d.ts +10 -0
- package/dist/@types/components/modal/components/modal-default/modal-default.vue.d.ts +9 -0
- package/dist/@types/components/modal/components/modal-dialog/modal-dialog.vue.d.ts +9 -0
- package/dist/@types/components/modal/modal.vue.d.ts +11 -0
- package/dist/@types/components/segmented-control/components/segmented-control-button/segmented-control-button.vue.d.ts +1 -1
- package/dist/@types/components/segmented-control/index.d.ts +2 -0
- package/dist/@types/components/segmented-control/segmented-control.types.d.ts +8 -0
- package/dist/@types/components/segmented-control/segmented-control.vue.d.ts +53 -0
- package/dist/@types/components.d.ts +2 -4
- package/dist/@types/index.d.ts +1 -0
- package/dist/accordion.js +206 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.js +103 -0
- package/dist/alert.js.map +1 -0
- package/dist/assets/base-button.css +1 -0
- package/dist/assets/button-actions.css +1 -0
- package/dist/assets/button.css +1 -0
- package/dist/assets/checkbox.css +1 -0
- package/dist/assets/checkmark-circle-fill.css +1 -0
- package/dist/assets/checkmark-small.css +1 -0
- package/dist/assets/chevron-left.css +1 -0
- package/dist/assets/chevron-up.css +1 -0
- package/dist/assets/copy.css +1 -0
- package/dist/assets/cross-circle-fill.css +1 -0
- package/dist/assets/cross-small.css +1 -0
- package/dist/assets/cross.css +1 -0
- package/dist/assets/dropdown.css +1 -0
- package/dist/assets/grid-layout.css +1 -0
- package/dist/assets/index.css +1 -0
- package/dist/assets/index10.css +1 -0
- package/dist/assets/index11.css +1 -0
- package/dist/assets/index12.css +1 -0
- package/dist/assets/index13.css +1 -0
- package/dist/assets/index14.css +1 -0
- package/dist/assets/index15.css +1 -0
- package/dist/assets/index16.css +1 -0
- package/dist/assets/index17.css +1 -0
- package/dist/assets/index18.css +1 -0
- package/dist/assets/index19.css +1 -0
- package/dist/assets/index2.css +1 -0
- package/dist/assets/index20.css +1 -0
- package/dist/assets/index21.css +1 -0
- package/dist/assets/index22.css +1 -0
- package/dist/assets/index23.css +1 -0
- package/dist/assets/index24.css +1 -0
- package/dist/assets/index25.css +1 -0
- package/dist/assets/index26.css +1 -0
- package/dist/assets/index27.css +1 -0
- package/dist/assets/index28.css +1 -0
- package/dist/assets/index29.css +1 -0
- package/dist/assets/index3.css +1 -0
- package/dist/assets/index30.css +1 -0
- package/dist/assets/index31.css +1 -0
- package/dist/assets/index32.css +1 -0
- package/dist/assets/index33.css +1 -0
- package/dist/assets/index34.css +1 -0
- package/dist/assets/index35.css +1 -0
- package/dist/assets/index36.css +1 -0
- package/dist/assets/index37.css +1 -0
- package/dist/assets/index38.css +1 -0
- package/dist/assets/index4.css +1 -0
- package/dist/assets/index5.css +1 -0
- package/dist/assets/index6.css +1 -0
- package/dist/assets/index7.css +1 -0
- package/dist/assets/index8.css +1 -0
- package/dist/assets/index9.css +1 -0
- package/dist/assets/info-filled.css +1 -0
- package/dist/assets/listbox-option-tag.css +1 -0
- package/dist/assets/listbox.css +1 -0
- package/dist/assets/search.css +1 -0
- package/dist/assets/tooltip.css +1 -0
- package/dist/avatar-image.js +7 -0
- package/dist/avatar-image.js.map +1 -0
- package/dist/badge.js +57 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.js +110 -0
- package/dist/button.js.map +1 -0
- package/dist/card.js +178 -0
- package/dist/card.js.map +1 -0
- package/dist/checkbox.js +94 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js +33 -0
- package/dist/chunks/_plugin-vue2_normalizer.71e2aa87.js.map +1 -0
- package/dist/chunks/aria-label.ac9651a5.js +13 -0
- package/dist/chunks/aria-label.ac9651a5.js.map +1 -0
- package/dist/chunks/base-button.38651156.js +83 -0
- package/dist/chunks/base-button.38651156.js.map +1 -0
- package/dist/chunks/button-actions.59406268.js +105 -0
- package/dist/chunks/button-actions.59406268.js.map +1 -0
- package/dist/chunks/button.31b757d1.js +102 -0
- package/dist/chunks/button.31b757d1.js.map +1 -0
- package/dist/chunks/checkbox.fab16cce.js +138 -0
- package/dist/chunks/checkbox.fab16cce.js.map +1 -0
- package/dist/chunks/checkmark-circle-fill.d1aa324d.js +26 -0
- package/dist/chunks/checkmark-circle-fill.d1aa324d.js.map +1 -0
- package/dist/chunks/checkmark-small.1371dd20.js +26 -0
- package/dist/chunks/checkmark-small.1371dd20.js.map +1 -0
- package/dist/chunks/chevron-left.e3a49e62.js +47 -0
- package/dist/chunks/chevron-left.e3a49e62.js.map +1 -0
- package/dist/chunks/chevron-up.416431cd.js +47 -0
- package/dist/chunks/chevron-up.416431cd.js.map +1 -0
- package/dist/chunks/copy.fa9aa27e.js +105 -0
- package/dist/chunks/copy.fa9aa27e.js.map +1 -0
- package/dist/chunks/cross-circle-fill.0a1d738c.js +26 -0
- package/dist/chunks/cross-circle-fill.0a1d738c.js.map +1 -0
- package/dist/chunks/cross-small.7ecb1b97.js +26 -0
- package/dist/chunks/cross-small.7ecb1b97.js.map +1 -0
- package/dist/chunks/cross.db1f9177.js +26 -0
- package/dist/chunks/cross.db1f9177.js.map +1 -0
- package/dist/chunks/directive.23e35ab0.js +21 -0
- package/dist/chunks/directive.23e35ab0.js.map +1 -0
- package/dist/chunks/dropdown.0d394d2f.js +771 -0
- package/dist/chunks/dropdown.0d394d2f.js.map +1 -0
- package/dist/chunks/grid-layout.14423a2e.js +69 -0
- package/dist/chunks/grid-layout.14423a2e.js.map +1 -0
- package/dist/chunks/hasSlot.dceac207.js +5 -0
- package/dist/chunks/hasSlot.dceac207.js.map +1 -0
- package/dist/chunks/i18n.8934ef6c.js +1695 -0
- package/dist/chunks/i18n.8934ef6c.js.map +1 -0
- package/dist/chunks/index.2e54c294.js +801 -0
- package/dist/chunks/index.2e54c294.js.map +1 -0
- package/dist/chunks/index.34eba2c4.js +107 -0
- package/dist/chunks/index.34eba2c4.js.map +1 -0
- package/dist/chunks/index.59dc2e3f.js +801 -0
- package/dist/chunks/index.59dc2e3f.js.map +1 -0
- package/dist/chunks/index.73d7902e.js +29 -0
- package/dist/chunks/index.73d7902e.js.map +1 -0
- package/dist/chunks/index.8c38e06b.js +441 -0
- package/dist/chunks/index.8c38e06b.js.map +1 -0
- package/dist/chunks/index.8e9cdc73.js +441 -0
- package/dist/chunks/index.8e9cdc73.js.map +1 -0
- package/dist/chunks/index.a7a22907.js +929 -0
- package/dist/chunks/index.a7a22907.js.map +1 -0
- package/dist/chunks/index.ad5e1dbd.js +107 -0
- package/dist/chunks/index.ad5e1dbd.js.map +1 -0
- package/dist/chunks/index.e2141d95.js +86 -0
- package/dist/chunks/index.e2141d95.js.map +1 -0
- package/dist/chunks/index.f4582460.js +86 -0
- package/dist/chunks/index.f4582460.js.map +1 -0
- package/dist/chunks/index.f55fdc32.js +1118 -0
- package/dist/chunks/index.f55fdc32.js.map +1 -0
- package/dist/chunks/info-filled.9748686e.js +26 -0
- package/dist/chunks/info-filled.9748686e.js.map +1 -0
- package/dist/chunks/listbox-option-tag.2e5c4012.js +111 -0
- package/dist/chunks/listbox-option-tag.2e5c4012.js.map +1 -0
- package/dist/chunks/listbox-option-tag.f44b4ee0.js +111 -0
- package/dist/chunks/listbox-option-tag.f44b4ee0.js.map +1 -0
- package/dist/chunks/listbox.152dab0a.js +485 -0
- package/dist/chunks/listbox.152dab0a.js.map +1 -0
- package/dist/chunks/on-click-outside.3e0c3e2a.js +91 -0
- package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -0
- package/dist/chunks/search.6be3396b.js +26 -0
- package/dist/chunks/search.6be3396b.js.map +1 -0
- package/dist/chunks/toastController.b1b08299.js +15 -0
- package/dist/chunks/toastController.b1b08299.js.map +1 -0
- package/dist/chunks/tooltip.a4625a7b.js +220 -0
- package/dist/chunks/tooltip.a4625a7b.js.map +1 -0
- package/dist/chunks/unique-id.a2a2b458.js +34 -0
- package/dist/chunks/unique-id.a2a2b458.js.map +1 -0
- package/dist/chunks/use-default-slot-validator.83d977a1.js +11 -0
- package/dist/chunks/use-default-slot-validator.83d977a1.js.map +1 -0
- package/dist/chunks/useCountryItems.cbe60557.js +29 -0
- package/dist/chunks/useCountryItems.cbe60557.js.map +1 -0
- package/dist/click-outside.js +23 -0
- package/dist/click-outside.js.map +1 -0
- package/dist/controls-group.js +59 -0
- package/dist/controls-group.js.map +1 -0
- package/dist/country.js +5979 -0
- package/dist/country.js.map +1 -0
- package/dist/currency.js +119 -0
- package/dist/currency.js.map +1 -0
- package/dist/data-grid.js +1169 -0
- package/dist/data-grid.js.map +1 -0
- package/dist/date-picker.js +8 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/date.js +6 -0
- package/dist/date.js.map +1 -0
- package/dist/divider.js +35 -0
- package/dist/divider.js.map +1 -0
- package/dist/dropdown.js +262 -0
- package/dist/dropdown.js.map +1 -0
- package/dist/filter-bar.js +1735 -0
- package/dist/filter-bar.js.map +1 -0
- package/dist/focus-trap.js +5 -0
- package/dist/focus-trap.js.map +1 -0
- package/dist/header.js +205 -0
- package/dist/header.js.map +1 -0
- package/dist/index.js +335 -21278
- package/dist/index.js.map +1 -1
- package/dist/info-icon.js +61 -0
- package/dist/info-icon.js.map +1 -0
- package/dist/input-field.js +168 -0
- package/dist/input-field.js.map +1 -0
- package/dist/internal.js +13 -0
- package/dist/internal.js.map +1 -0
- package/dist/link.js +46 -0
- package/dist/link.js.map +1 -0
- package/dist/loading-indicator.js +51 -0
- package/dist/loading-indicator.js.map +1 -0
- package/dist/menu.js +474 -0
- package/dist/menu.js.map +1 -0
- package/dist/modal.js +709 -0
- package/dist/modal.js.map +1 -0
- package/dist/pagination.js +487 -0
- package/dist/pagination.js.map +1 -0
- package/dist/payment-method.js +84 -0
- package/dist/payment-method.js.map +1 -0
- package/dist/popover.js +284 -0
- package/dist/popover.js.map +1 -0
- package/dist/popper-container.js +225 -0
- package/dist/popper-container.js.map +1 -0
- package/dist/radio-group.js +192 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/search-bar.js +106 -0
- package/dist/search-bar.js.map +1 -0
- package/dist/status.js +47 -0
- package/dist/status.js.map +1 -0
- package/dist/structured-list.js +98 -0
- package/dist/structured-list.js.map +1 -0
- package/dist/summary-grid.js +526 -0
- package/dist/summary-grid.js.map +1 -0
- package/dist/tabs.js +106 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tag.js +73 -0
- package/dist/tag.js.map +1 -0
- package/dist/textarea.js +64 -0
- package/dist/textarea.js.map +1 -0
- package/dist/toast.js +132 -0
- package/dist/toast.js.map +1 -0
- package/dist/toggle.js +6 -0
- package/dist/toggle.js.map +1 -0
- package/dist/typography.js +111 -0
- package/dist/typography.js.map +1 -0
- package/dist/web-types.json +130 -13
- package/package.json +6 -4
- package/dist/@types/utils/ts/inject-css.d.ts +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"country.js","sources":["../src/components/country/composables/useCountryCapital/useCountryCapital.ts","../src/components/country/composables/useCountryFlag.ts","../src/components/country/composables/useCountryName/useCountryName.ts","../src/components/country/composables/useCountryPhoneCode/useCountryPhoneCode.ts","../src/components/country/country.types.ts","../src/components/country/country.vue"],"sourcesContent":["import { MaybeRef } from '@/types';\nimport { computed, ref } from 'vue';\nimport messages from './messages.json';\n\n/**\n * Maps an ISO code to the country's translated capital city.\n *\n * @returns a translated country name\n */\nexport const useCountryCapital = (code: MaybeRef<string>, locale: MaybeRef<string>, useFallback = true) => {\n const countryCode = ref(code);\n const languageLocale = ref(locale);\n return computed(() => {\n const normalizedCode = countryCode?.value?.toUpperCase();\n const translatedCountryName =\n messages[languageLocale.value]?.[normalizedCode] ??\n messages['en-US']?.[normalizedCode] ??\n (useFallback ? normalizedCode : null);\n return translatedCountryName;\n });\n};\n\nexport default useCountryCapital;\n","import { ref, Ref, watch } from 'vue';\n\n/**\n * Dynamically retrieves the country flag SVG from the @adyen/ui-assets-flag-icons package.\n *\n * @param code 2 character code in ISO 3166-1 alpha-2 format\n * @param useFallback if fallback flag should be used in case of error\n * @returns\n */\nexport const useCountryFlag = (code: Ref<string>, useFallback = true) => {\n const countryCode = ref(code);\n const flagSrc = ref<string>();\n\n watch(\n countryCode,\n // eslint-disable-next-line consistent-return\n async newCountryCode => {\n if (newCountryCode == null) {\n return null;\n }\n try {\n // NOTE: must use the '/dist/svg' so the 'vite-plugin-dynamic-import' can understand the path\n const flag = await import(`@adyen/ui-assets-flag-icons/dist/svg/${newCountryCode.toLowerCase()}.svg`);\n flagSrc.value = flag?.default;\n } catch (e) {\n if (useFallback) {\n const unknownFlag = await import('@adyen/ui-assets-flag-icons/svg/zz.svg');\n flagSrc.value = unknownFlag.default;\n } else {\n flagSrc.value = null;\n }\n }\n },\n { immediate: true }\n );\n\n return flagSrc;\n};\n","import { computed, ref } from 'vue';\nimport messages from './messages.json';\nimport { MaybeRef } from '@/types';\n\n/**\n * Maps an ISO code to it's translated country name.\n *\n * @returns a translated country name\n */\nexport const useCountryName = (code: MaybeRef<string>, locale: MaybeRef<string>, useFallback = true) => {\n const countryCode = ref(code);\n const languageLocale = ref(locale);\n\n return computed(() => {\n const normalizedCode = countryCode?.value?.toUpperCase();\n const translatedCountryName =\n messages[languageLocale.value]?.[normalizedCode] ??\n messages['en-US']?.[normalizedCode] ??\n (useFallback ? normalizedCode : null);\n return translatedCountryName;\n });\n};\n","import { MaybeRef } from '@/types';\nimport { computed, ref } from 'vue';\nimport countryISOToPhoneCodes from './country-to-phone-codes.json';\n\n/**\n * Retrieves a country's phone number code.\n *\n * @param countryCode 2 character code in ISO 3166-1 alpha-2 format\n * @returns\n */\nexport const useCountryPhoneCode = (countryCode: MaybeRef<string>) => {\n const code = ref(countryCode);\n\n return computed(() => countryISOToPhoneCodes?.[code.value]?.join('/'));\n};\n\nexport default useCountryPhoneCode;\n","export enum BentoCountryVariant {\n ISO = 'iso',\n NAME = 'name',\n PHONE_CODE = 'phone_code',\n CAPITAL = 'capital',\n CUSTOM = 'custom',\n}\nexport enum BentoCountryCode {\n BD = 'BD',\n BE = 'BE',\n BF = 'BF',\n BG = 'BG',\n BA = 'BA',\n BB = 'BB',\n WF = 'WF',\n BL = 'BL',\n BM = 'BM',\n BN = 'BN',\n BO = 'BO',\n BH = 'BH',\n BI = 'BI',\n BJ = 'BJ',\n BT = 'BT',\n JM = 'JM',\n BV = 'BV',\n BW = 'BW',\n WS = 'WS',\n BQ = 'BQ',\n BR = 'BR',\n BS = 'BS',\n JE = 'JE',\n BY = 'BY',\n BZ = 'BZ',\n RU = 'RU',\n RW = 'RW',\n RS = 'RS',\n TL = 'TL',\n RE = 'RE',\n TM = 'TM',\n TJ = 'TJ',\n RO = 'RO',\n TK = 'TK',\n GW = 'GW',\n GU = 'GU',\n GT = 'GT',\n GS = 'GS',\n GR = 'GR',\n GQ = 'GQ',\n GP = 'GP',\n JP = 'JP',\n GY = 'GY',\n GG = 'GG',\n GF = 'GF',\n GE = 'GE',\n GD = 'GD',\n GB = 'GB',\n GA = 'GA',\n SV = 'SV',\n GN = 'GN',\n GM = 'GM',\n GL = 'GL',\n GI = 'GI',\n GH = 'GH',\n OM = 'OM',\n TN = 'TN',\n JO = 'JO',\n HR = 'HR',\n HT = 'HT',\n HU = 'HU',\n HK = 'HK',\n HN = 'HN',\n HM = 'HM',\n VE = 'VE',\n PR = 'PR',\n PS = 'PS',\n PW = 'PW',\n PT = 'PT',\n SJ = 'SJ',\n PY = 'PY',\n IQ = 'IQ',\n PA = 'PA',\n PF = 'PF',\n PG = 'PG',\n PE = 'PE',\n PK = 'PK',\n PH = 'PH',\n PN = 'PN',\n PL = 'PL',\n PM = 'PM',\n ZM = 'ZM',\n EH = 'EH',\n EE = 'EE',\n EG = 'EG',\n ZA = 'ZA',\n EC = 'EC',\n IT = 'IT',\n VN = 'VN',\n SB = 'SB',\n ET = 'ET',\n SO = 'SO',\n ZW = 'ZW',\n SA = 'SA',\n ES = 'ES',\n ER = 'ER',\n ME = 'ME',\n MD = 'MD',\n MG = 'MG',\n MF = 'MF',\n MA = 'MA',\n MC = 'MC',\n UZ = 'UZ',\n MM = 'MM',\n ML = 'ML',\n MO = 'MO',\n MN = 'MN',\n MH = 'MH',\n MK = 'MK',\n MU = 'MU',\n MT = 'MT',\n MW = 'MW',\n MV = 'MV',\n MQ = 'MQ',\n MP = 'MP',\n MS = 'MS',\n MR = 'MR',\n IM = 'IM',\n UG = 'UG',\n TZ = 'TZ',\n MY = 'MY',\n MX = 'MX',\n IL = 'IL',\n FR = 'FR',\n IO = 'IO',\n SH = 'SH',\n FI = 'FI',\n FJ = 'FJ',\n FK = 'FK',\n FM = 'FM',\n FO = 'FO',\n NI = 'NI',\n NL = 'NL',\n NO = 'NO',\n NA = 'NA',\n VU = 'VU',\n NC = 'NC',\n NE = 'NE',\n NF = 'NF',\n NG = 'NG',\n NZ = 'NZ',\n NP = 'NP',\n NR = 'NR',\n NU = 'NU',\n CK = 'CK',\n XK = 'XK',\n CI = 'CI',\n CH = 'CH',\n CO = 'CO',\n CN = 'CN',\n CM = 'CM',\n CL = 'CL',\n CC = 'CC',\n CA = 'CA',\n CG = 'CG',\n CF = 'CF',\n CD = 'CD',\n CZ = 'CZ',\n CY = 'CY',\n CX = 'CX',\n CR = 'CR',\n CW = 'CW',\n CV = 'CV',\n CU = 'CU',\n SZ = 'SZ',\n SY = 'SY',\n SX = 'SX',\n KG = 'KG',\n KE = 'KE',\n SS = 'SS',\n SR = 'SR',\n KI = 'KI',\n KH = 'KH',\n KN = 'KN',\n KM = 'KM',\n ST = 'ST',\n SK = 'SK',\n KR = 'KR',\n SI = 'SI',\n KP = 'KP',\n KW = 'KW',\n SN = 'SN',\n SM = 'SM',\n SL = 'SL',\n SC = 'SC',\n KZ = 'KZ',\n KY = 'KY',\n SG = 'SG',\n SE = 'SE',\n SD = 'SD',\n DO = 'DO',\n DM = 'DM',\n DJ = 'DJ',\n DK = 'DK',\n VG = 'VG',\n DE = 'DE',\n YE = 'YE',\n DZ = 'DZ',\n US = 'US',\n UY = 'UY',\n YT = 'YT',\n UM = 'UM',\n LB = 'LB',\n LC = 'LC',\n LA = 'LA',\n TV = 'TV',\n TW = 'TW',\n TT = 'TT',\n TR = 'TR',\n LK = 'LK',\n LI = 'LI',\n LV = 'LV',\n TO = 'TO',\n LT = 'LT',\n LU = 'LU',\n LR = 'LR',\n LS = 'LS',\n TH = 'TH',\n TF = 'TF',\n TG = 'TG',\n TD = 'TD',\n TC = 'TC',\n LY = 'LY',\n VA = 'VA',\n VC = 'VC',\n AE = 'AE',\n AD = 'AD',\n AG = 'AG',\n AF = 'AF',\n AI = 'AI',\n VI = 'VI',\n IS = 'IS',\n IR = 'IR',\n AM = 'AM',\n AL = 'AL',\n AO = 'AO',\n AQ = 'AQ',\n AS = 'AS',\n AR = 'AR',\n AU = 'AU',\n AT = 'AT',\n AW = 'AW',\n IN = 'IN',\n AX = 'AX',\n AZ = 'AZ',\n IE = 'IE',\n ID = 'ID',\n UA = 'UA',\n QA = 'QA',\n MZ = 'MZ',\n UNKNOWN = 'ZZ',\n}\n","<template>\n <div class=\"b-country\">\n <div class=\"b-country__flag\">\n <img\n v-if=\"flagIconSrc\"\n :alt=\"$t('countryFlag', { countryName }).toString()\"\n class=\"b-country__flag-icon\"\n :src=\"flagIconSrc\"\n />\n <unknown-flag-icon v-else aria-hidden=\"true\" />\n </div>\n <div class=\"b-country__label\">\n <bento-typography :el=\"BentoTypographyElement.SPAN\">{{ countryLabel }}</bento-typography>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, PropType, ref, toRefs, watch } from 'vue';\n import { BentoTypography, BentoTypographyElement } from '@/components/typography';\n import { useCountryCapital, useCountryFlag, useCountryName, useCountryPhoneCode } from './composables';\n import { BentoCountryCode, BentoCountryVariant } from './country.types';\n import { useI18n } from '@/utils/ts/i18n';\n import UnknownFlagIcon from '@adyen/ui-assets-flag-icons/vue/zz';\n import messages from './messages.json';\n\n /**\n * A component to display a country's flag and label.\n * The label comes in four variates: iso code, country name, phone number code or capital city.\n *\n * @example\n * import { BentoCountry, BentoCountryCode } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCountry },\n * template: `\n * <bento-country :code=\"BentoCountryCode.NL\" />\n * `\n * }\n */\n export default defineComponent({\n i18n: { messages },\n name: 'bento-country',\n components: { BentoTypography, UnknownFlagIcon },\n inheritAttrs: false,\n props: {\n /**\n * Two character country code ([ISO 3166-1 alpha-2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).\n */\n code: {\n type: String as PropType<BentoCountryCode>,\n default: BentoCountryCode.UNKNOWN,\n },\n\n /**\n * Custom label text for next to the flag.\n */\n label: {\n type: String,\n default: undefined,\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>,\n default: BentoCountryVariant.NAME,\n validator: (value: BentoCountryVariant) => Object.values(BentoCountryVariant).includes(value),\n },\n },\n\n setup(props) {\n const { code, variant, label: customLabel } = toRefs(props);\n const { locale } = useI18n({ messages });\n const flagIconSrc = useCountryFlag(code);\n const countryName = useCountryName(code, locale);\n const countryLabel = ref();\n\n const getLabel = () => {\n switch (variant.value) {\n case BentoCountryVariant.ISO:\n return code;\n case BentoCountryVariant.PHONE_CODE:\n return useCountryPhoneCode(code);\n case BentoCountryVariant.CAPITAL:\n // TODO: do we need an API OR get a longer translations list???\n // Need to be able TRANSLATE as well as map...\n return useCountryCapital(code, locale);\n case BentoCountryVariant.CUSTOM:\n return customLabel;\n case BentoCountryVariant.NAME:\n default:\n return countryName;\n }\n };\n\n // Update label if variant prop changes\n watch(\n [variant, locale, code],\n () => {\n countryLabel.value = getLabel().value;\n },\n { immediate: true }\n );\n\n return {\n // Values\n flagIconSrc,\n countryName,\n countryLabel,\n\n // Enums\n BentoTypographyElement,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./country.scss\" />\n"],"names":["useCountryCapital","code","locale","useFallback","countryCode","ref","languageLocale","computed","normalizedCode","_a","_b","messages$2","_c","useCountryFlag","flagSrc","watch","newCountryCode","flag","unknownFlag","useCountryName","messages$1","useCountryPhoneCode","countryISOToPhoneCodes","BentoCountryVariant","BentoCountryVariant2","BentoCountryCode","BentoCountryCode2","_sfc_main","defineComponent","messages","BentoTypography","UnknownFlagIcon","value","props","variant","customLabel","toRefs","useI18n","flagIconSrc","countryName","countryLabel","getLabel","BentoTypographyElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASOA,IAAA,CAAAC,GAAAC,GAAAC,IAAA,OAAA;AACH,QAAAC,IAAAC,EAAAJ,CAAA,GACAK,IAAAD,EAAAH,CAAA;AACA,SAAAK,EAAA,MAAA;;AACI,UAAAC,KAAAC,IAAAL,KAAA,gBAAAA,EAAA,UAAA,gBAAAK,EAAA;AAKA,aAJAC,IAAAC,EAAAL,EAAA,KAAA,MAAA,gBAAAI,EAAAF,SAAAI,IAAAD,EAAA,OAAA,MAAA,gBAAAC,EAAAJ,QAAAL,IAAAK,IAAA;AAAA,EAIO,CAAA;AAEf,GCXOK,IAAA,CAAAZ,GAAAE,IAAA,OAAA;AACH,QAAAC,IAAAC,EAAAJ,CAAA,GACAa,IAAAT,EAAA;AAEA,SAAAU;AAAA,IAAAX;AAAA;AAAA,IACI,OAAAY,MAAA;AAGI,UAAAA,KAAA;AACI,eAAA;AAEJ,UAAA;AAEI,cAAAC,IAAA,MAAA,OAAA,wCAAAD,EAAA,YAAA;AACA,QAAAF,EAAA,QAAAG,KAAA,gBAAAA,EAAA;AAAA,MAAsB,QAAA;AAEtB,YAAAd,GAAA;AACI,gBAAAe,IAAA,MAAA,OAAA,wCAAA;AACA,UAAAJ,EAAA,QAAAI,EAAA;AAAA;AAEA,UAAAJ,EAAA,QAAA;AAAA,MACJ;AAAA,IACJ;AAAA,IACJ,EAAA,WAAA,GAAA;AAAA,EACkB,GAGtBA;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GC5BOK,IAAA,CAAAlB,GAAAC,GAAAC,IAAA,OAAA;AACH,QAAAC,IAAAC,EAAAJ,CAAA,GACAK,IAAAD,EAAAH,CAAA;AAEA,SAAAK,EAAA,MAAA;;AACI,UAAAC,KAAAC,IAAAL,KAAA,gBAAAA,EAAA,UAAA,gBAAAK,EAAA;AAKA,aAJAC,IAAAU,EAAAd,EAAA,KAAA,MAAA,gBAAAI,EAAAF,SAAAI,IAAAQ,EAAA,OAAA,MAAA,gBAAAR,EAAAJ,QAAAL,IAAAK,IAAA;AAAA,EAIO,CAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCXaa,KAAA,CAAAjB,MAAA;AACT,QAAAH,IAAAI,EAAAD,CAAA;AAEA,SAAAG,EAAA,MAAA;;AAAA,YAAAE,IAAAa,KAAA,gBAAAA,EAAArB,EAAA,WAAA,gBAAAQ,EAAA,KAAA;AAAA,GAAA;AACJ;ACdY,IAAAc,IAAA,kBAAAC,OACRA,EAAA,MAAA,OACAA,EAAA,OAAA,QACAA,EAAA,aAAA,cACAA,EAAA,UAAA,WACAA,EAAA,SAAA,UALQA,IAAAD,KAAA,CAAA,CAAA,GAOAE,IAAA,kBAAAC,OACRA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,KAAA,MACAA,EAAA,UAAA,MA3PQA,IAAAD,KAAA,CAAA,CAAA;;;;;GCiCZE,KAAAC,EAAA;AAAA,EAAA,MAAA,EAAA,UAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,GAAA,iBAAAC,EAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,MAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAAN,EAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA;AAAA,MAKA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAAF,EAAA;AAAA,MACA,WAAA,CAAAS,MAAA,OAAA,OAAAT,CAAA,EAAA,SAAAS,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAC,GAAA;AAGA,UAAA,EAAA,MAAAhC,GAAA,SAAAiC,GAAA,OAAAC,EAAA,IAAAC,EAAAH,CAAA,GACA,EAAA,QAAA/B,EAAA,IAAAmC,EAAA,EAAA,UAAAR,EAAA,CAAA,GACAS,IAAAzB,EAAAZ,CAAA,GACAsC,IAAApB,EAAAlB,GAAAC,CAAA,GACAsC,IAAAnC,EAAA,GAEAoC,IAAA,MAAA;AACA,cAAAP,EAAA,OAAA;AAAA,QAAA,KAAAX,EAAA;AAEA,iBAAAtB;AAAA,QAAA,KAAAsB,EAAA;AAEA,iBAAAF,GAAApB,CAAA;AAAA,QAAA,KAAAsB,EAAA;AAIA,iBAAAvB,EAAAC,GAAAC,CAAA;AAAA,QAAA,KAAAqB,EAAA;AAEA,iBAAAY;AAAA,QAAA,KAAAZ,EAAA;AAAA,QACA;AAEA,iBAAAgB;AAAA,MAAA;AAAA,IACA;AAIA,WAAAxB;AAAA,MAAA,CAAAmB,GAAAhC,GAAAD,CAAA;AAAA,MACA,MAAA;AAEA,QAAAuC,EAAA,QAAAC,EAAA,EAAA;AAAA,MAAA;AAAA,MACA,EAAA,WAAA,GAAA;AAAA,IACA,GAGA;AAAA;AAAA,MAAA,aAAAH;AAAA,MAEA,aAAAC;AAAA,MACA,cAAAC;AAAA;AAAA,MACA,wBAAAE;AAAA,IAGA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;"}
|
package/dist/currency.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { defineComponent as F, computed as m } from "vue";
|
|
2
|
+
import { BentoTypography as G, BentoTypographyVariant as i, BentoTypographyElement as E } from "./typography.js";
|
|
3
|
+
import { n as U } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
|
|
4
|
+
const f = [
|
|
5
|
+
{
|
|
6
|
+
exponent: 0,
|
|
7
|
+
currencies: [
|
|
8
|
+
"CVE",
|
|
9
|
+
"DJF",
|
|
10
|
+
"GNF",
|
|
11
|
+
"IDR",
|
|
12
|
+
"JPY",
|
|
13
|
+
"KMF",
|
|
14
|
+
"KRW",
|
|
15
|
+
"PYG",
|
|
16
|
+
"RWF",
|
|
17
|
+
"UGX",
|
|
18
|
+
"VND",
|
|
19
|
+
"VUV",
|
|
20
|
+
"XAF",
|
|
21
|
+
"XOF",
|
|
22
|
+
"XPF"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
exponent: 1,
|
|
27
|
+
currencies: ["MRO"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
exponent: 3,
|
|
31
|
+
currencies: ["BHD", "IQD", "JOD", "KWD", "LYD", "OMR", "TND"]
|
|
32
|
+
}
|
|
33
|
+
], N = (D) => {
|
|
34
|
+
var a;
|
|
35
|
+
return ((a = f.find((R) => R.currencies.includes(D))) == null ? void 0 : a.exponent) ?? 2;
|
|
36
|
+
}, Y = (D) => {
|
|
37
|
+
const a = N(D.currency), R = Number(D.value);
|
|
38
|
+
return Math.round(R * 10 ** a);
|
|
39
|
+
}, p = (D, a) => (
|
|
40
|
+
// Amount is in minor units and have to be converted to number with fraction digits
|
|
41
|
+
// return (amount.value * 100) / 10 ** exp;
|
|
42
|
+
D.value / 10 ** a
|
|
43
|
+
);
|
|
44
|
+
function H(D, a = {}, R = !1) {
|
|
45
|
+
const K = (a == null ? void 0 : a.exponent) ?? N(D.currency), M = R ? Y(D) : D.value, l = { ...D, value: M }, P = p(l, K), T = P < 0 ? "decimal" : (a == null ? void 0 : a.style) || "currency", s = a != null && a.optionalFractions ? 0 : K, A = a != null && a.highPrecision ? 10 : K;
|
|
46
|
+
return {
|
|
47
|
+
value: P,
|
|
48
|
+
format: {
|
|
49
|
+
style: T,
|
|
50
|
+
currency: D.currency,
|
|
51
|
+
currencyDisplay: "symbol",
|
|
52
|
+
minimumFractionDigits: s,
|
|
53
|
+
maximumFractionDigits: A
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
const Z = (D, a, R) => {
|
|
58
|
+
const K = { value: parseFloat(D), currency: a }, M = H(K, { style: "decimal" }, R);
|
|
59
|
+
return new Intl.NumberFormat("en-US", M.format).format(M.value);
|
|
60
|
+
};
|
|
61
|
+
var L = /* @__PURE__ */ ((D) => (D.AFA = "AFA", D.ALL = "ALL", D.DZD = "DZD", D.AOA = "AOA", D.ARS = "ARS", D.AMD = "AMD", D.AWG = "AWG", D.AUD = "AUD", D.AZN = "AZN", D.BSD = "BSD", D.BHD = "BHD", D.BDT = "BDT", D.BBD = "BBD", D.BYR = "BYR", D.BEF = "BEF", D.BZD = "BZD", D.BMD = "BMD", D.BTN = "BTN", D.BTC = "BTC", D.BOB = "BOB", D.BAM = "BAM", D.BWP = "BWP", D.BRL = "BRL", D.GBP = "GBP", D.BND = "BND", D.BGN = "BGN", D.BIF = "BIF", D.KHR = "KHR", D.CAD = "CAD", D.CVE = "CVE", D.KYD = "KYD", D.XOF = "XOF", D.XAF = "XAF", D.XPF = "XPF", D.CLP = "CLP", D.CLF = "CLF", D.CNY = "CNY", D.COP = "COP", D.KMF = "KMF", D.CDF = "CDF", D.CRC = "CRC", D.HRK = "HRK", D.CUC = "CUC", D.CZK = "CZK", D.DKK = "DKK", D.DJF = "DJF", D.DOP = "DOP", D.XCD = "XCD", D.EGP = "EGP", D.ERN = "ERN", D.EEK = "EEK", D.ETB = "ETB", D.EUR = "EUR", D.FKP = "FKP", D.FJD = "FJD", D.GMD = "GMD", D.GEL = "GEL", D.DEM = "DEM", D.GHS = "GHS", D.GIP = "GIP", D.GRD = "GRD", D.GTQ = "GTQ", D.GNF = "GNF", D.GYD = "GYD", D.HTG = "HTG", D.HNL = "HNL", D.HKD = "HKD", D.HUF = "HUF", D.ISK = "ISK", D.INR = "INR", D.IDR = "IDR", D.IRR = "IRR", D.IQD = "IQD", D.ILS = "ILS", D.ITL = "ITL", D.JMD = "JMD", D.JPY = "JPY", D.JOD = "JOD", D.KZT = "KZT", D.KES = "KES", D.KWD = "KWD", D.KGS = "KGS", D.LAK = "LAK", D.LVL = "LVL", D.LBP = "LBP", D.LSL = "LSL", D.LRD = "LRD", D.LYD = "LYD", D.LTC = "LTC", D.LTL = "LTL", D.MOP = "MOP", D.MKD = "MKD", D.MGA = "MGA", D.MWK = "MWK", D.MYR = "MYR", D.MVR = "MVR", D.MRO = "MRO", D.MUR = "MUR", D.MXN = "MXN", D.MDL = "MDL", D.MNT = "MNT", D.MAD = "MAD", D.MZM = "MZM", D.MMK = "MMK", D.NAD = "NAD", D.NPR = "NPR", D.ANG = "ANG", D.TWD = "TWD", D.NZD = "NZD", D.NIO = "NIO", D.NGN = "NGN", D.KPW = "KPW", D.NOK = "NOK", D.OMR = "OMR", D.PKR = "PKR", D.PAB = "PAB", D.PGK = "PGK", D.PYG = "PYG", D.PEN = "PEN", D.PHP = "PHP", D.PLN = "PLN", D.QAR = "QAR", D.RON = "RON", D.RUB = "RUB", D.RWF = "RWF", D.SVC = "SVC", D.WST = "WST", D.STD = "STD", D.SAR = "SAR", D.RSD = "RSD", D.SCR = "SCR", D.SLL = "SLL", D.SGD = "SGD", D.SKK = "SKK", D.SBD = "SBD", D.SOS = "SOS", D.ZAR = "ZAR", D.KRW = "KRW", D.SSP = "SSP", D.XDR = "XDR", D.LKR = "LKR", D.SHP = "SHP", D.SDG = "SDG", D.SRD = "SRD", D.SZL = "SZL", D.SEK = "SEK", D.CHF = "CHF", D.SYP = "SYP", D.TJS = "TJS", D.TZS = "TZS", D.THB = "THB", D.TOP = "TOP", D.TTD = "TTD", D.TND = "TND", D.TRY = "TRY", D.TMT = "TMT", D.UGX = "UGX", D.UAH = "UAH", D.AED = "AED", D.UYU = "UYU", D.USD = "USD", D.UZS = "UZS", D.VUV = "VUV", D.VEF = "VEF", D.VND = "VND", D.YER = "YER", D.ZMK = "ZMK", D.ZWL = "ZWL", D))(L || {});
|
|
62
|
+
const _ = F({
|
|
63
|
+
name: "bento-currency",
|
|
64
|
+
components: { BentoTypography: G },
|
|
65
|
+
inheritAttrs: !1,
|
|
66
|
+
props: {
|
|
67
|
+
currency: {
|
|
68
|
+
type: String,
|
|
69
|
+
default: L.EUR,
|
|
70
|
+
validator: (D) => Object.values(L).includes(D)
|
|
71
|
+
},
|
|
72
|
+
/**
|
|
73
|
+
* Accepts currency value in major units instead of minor ones
|
|
74
|
+
*/
|
|
75
|
+
majorUnits: {
|
|
76
|
+
type: Boolean,
|
|
77
|
+
default: !1
|
|
78
|
+
},
|
|
79
|
+
/**
|
|
80
|
+
* Disable the default typography for the component. Only use this when the component is inside another typography component.
|
|
81
|
+
*/
|
|
82
|
+
disableTypography: {
|
|
83
|
+
type: Boolean,
|
|
84
|
+
default: !1
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
setup(D, { slots: a }) {
|
|
88
|
+
return {
|
|
89
|
+
// Values
|
|
90
|
+
formattedCurrency: m(() => {
|
|
91
|
+
var M, l, P;
|
|
92
|
+
const K = a.default ? ((M = a.default()[0]) == null ? void 0 : M.text) || ((P = (l = a.default()[0]) == null ? void 0 : l.children) == null ? void 0 : P.toString()) : null;
|
|
93
|
+
return Z(K, D.currency, D.majorUnits);
|
|
94
|
+
}),
|
|
95
|
+
// Enums
|
|
96
|
+
BentoTypographyVariant: i,
|
|
97
|
+
BentoTypographyElement: E
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
var V = function() {
|
|
102
|
+
var a = this, R = a._self._c;
|
|
103
|
+
return a._self._setupProxy, R("div", { staticClass: "b-currency" }, [a.disableTypography ? [a._v(a._s(a.formattedCurrency) + " " + a._s(a.currency))] : R("bento-typography", { staticClass: "b-currency__amount", attrs: { el: a.BentoTypographyElement.SPAN, variant: a.BentoTypographyVariant.BODY, strong: "" } }, [a._v(" " + a._s(a.formattedCurrency) + " " + a._s(a.currency) + " ")])], 2);
|
|
104
|
+
}, W = [], v = /* @__PURE__ */ U(
|
|
105
|
+
_,
|
|
106
|
+
V,
|
|
107
|
+
W,
|
|
108
|
+
!1,
|
|
109
|
+
null,
|
|
110
|
+
null,
|
|
111
|
+
null,
|
|
112
|
+
null
|
|
113
|
+
);
|
|
114
|
+
const h = v.exports;
|
|
115
|
+
export {
|
|
116
|
+
h as BentoCurrency,
|
|
117
|
+
L as BentoCurrencyISOCode
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=currency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currency.js","sources":["../src/utils/ts/currency/countries-list.ts","../src/utils/ts/currency/currency.ts","../src/components/currency/currency.types.ts","../src/components/currency/currency.vue"],"sourcesContent":["/**\n * Contains mapping configuration between currency code and exponent for amount in the corresponding currency.\n * Since the majority of the currencies have an exponent equal to 2, they are not listed here.\n * https://docs.adyen.com/development-resources/currency-codes\n * @type {Array}\n * @internal\n */\nexport const currencyExponentMap = [\n {\n exponent: 0,\n currencies: [\n 'CVE',\n 'DJF',\n 'GNF',\n 'IDR',\n 'JPY',\n 'KMF',\n 'KRW',\n 'PYG',\n 'RWF',\n 'UGX',\n 'VND',\n 'VUV',\n 'XAF',\n 'XOF',\n 'XPF',\n ],\n },\n {\n exponent: 1,\n currencies: ['MRO'],\n },\n {\n exponent: 3,\n currencies: ['BHD', 'IQD', 'JOD', 'KWD', 'LYD', 'OMR', 'TND'],\n },\n];\n","import { CurrencyAmount, CurrencyOptions, NumberFormatOptionsResult } from './currency.types';\nimport { currencyExponentMap } from './countries-list';\n\n/**\n * Returns exponent for specified currency code.\n */\nexport const getExponent = (currencyCode: string): number =>\n currencyExponentMap.find(obj => obj.currencies.includes(currencyCode))?.exponent ?? 2;\n\n/**\n * Converts passed amount from regular to minor units, based on currency exponent\n */\nexport const getMinorUnitsAmount = (amount: CurrencyAmount): number => {\n const exponent = getExponent(amount.currency);\n const value = Number(amount.value);\n\n return Math.round(value * 10 ** exponent);\n};\n\n/**\n * Returns normalized amount value from minor units as decimal point number (when exponent is more than zero).\n */\nexport const getNormalizedAmount = (amount: CurrencyAmount, exponent: number) =>\n // Amount is in minor units and have to be converted to number with fraction digits\n // return (amount.value * 100) / 10 ** exp;\n amount.value / 10 ** exponent;\n\n/**\n * /**\n * Prepares amount to be rendered by Intl.NumberFormat function.\n * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat\n *\n * It enables language-sensitive number formatting.\n * Adds currency symbol and ISO code based on provided options\n * The result of execution - is a configuration object that is used in 'getLocalizedCurrencyValue' function\n *\n * @param amount - the value and currency to format.\n * @param options - the formatting options that are passed to the Intl.NumberFormat function.\n * @param majorUnits - if set to true, then currency major units will be used instead of minor ones\n */\nexport function getNumberFormatOptions(\n amount: CurrencyAmount,\n options: CurrencyOptions = {},\n majorUnits = false\n): NumberFormatOptionsResult {\n // Exponent is based on currency, if not specified explicitly.\n const exp = options?.exponent ?? getExponent(amount.currency);\n // Minor Units have to be retrieved from component passed amount\n const minorAmount = majorUnits ? getMinorUnitsAmount(amount) : amount.value;\n const amountInMinorUnits: CurrencyAmount = { ...amount, value: minorAmount };\n // Amount is in minor units and have to be converted to number with fraction digits\n const value = getNormalizedAmount(amountInMinorUnits, exp);\n // This is the requirement for currency component - to remove currency symbol for negative values\n const style = value < 0 ? 'decimal' : options?.style || 'currency';\n // If optionalFractions is true, numbers will not contain fraction digits when they are zero (e.g. 100.00 will be 100)\n const minimumFractionDigits = options?.optionalFractions ? 0 : exp;\n // If highPrecision is true, numbers can contain 10 fraction digits (highest precision in Adyen is about 5)\n const maximumFractionDigits = options?.highPrecision ? 10 : exp;\n\n return {\n value,\n format: {\n style,\n currency: amount.currency,\n currencyDisplay: 'symbol',\n minimumFractionDigits,\n maximumFractionDigits,\n },\n };\n}\n\n/**\n * Get a formatted and localised currency string given an amount and currency type.\n *\n * @param amountValue - the amount of the currency.\n * @param currency - the ISO 4217 currency code.\n * @param majorUnits - if set to true, then currency major units will be used instead of minor ones\n */\nexport const getLocalizedCurrencyValue = (amountValue: string, currency: string, majorUnits?: boolean): string => {\n const amount: CurrencyAmount = { value: parseFloat(amountValue), currency };\n const numberFormatOptions = getNumberFormatOptions(amount, { style: 'decimal' }, majorUnits);\n // TODO replace hardcoded locale with dynamic one, when i18n strategy is defined\n const formatter = new Intl.NumberFormat('en-US', numberFormatOptions.format);\n\n return formatter.format(numberFormatOptions.value);\n};\n","export enum BentoCurrencyISOCode {\n AFA = 'AFA',\n ALL = 'ALL',\n DZD = 'DZD',\n AOA = 'AOA',\n ARS = 'ARS',\n AMD = 'AMD',\n AWG = 'AWG',\n AUD = 'AUD',\n AZN = 'AZN',\n BSD = 'BSD',\n BHD = 'BHD',\n BDT = 'BDT',\n BBD = 'BBD',\n BYR = 'BYR',\n BEF = 'BEF',\n BZD = 'BZD',\n BMD = 'BMD',\n BTN = 'BTN',\n BTC = 'BTC',\n BOB = 'BOB',\n BAM = 'BAM',\n BWP = 'BWP',\n BRL = 'BRL',\n GBP = 'GBP',\n BND = 'BND',\n BGN = 'BGN',\n BIF = 'BIF',\n KHR = 'KHR',\n CAD = 'CAD',\n CVE = 'CVE',\n KYD = 'KYD',\n XOF = 'XOF',\n XAF = 'XAF',\n XPF = 'XPF',\n CLP = 'CLP',\n CLF = 'CLF',\n CNY = 'CNY',\n COP = 'COP',\n KMF = 'KMF',\n CDF = 'CDF',\n CRC = 'CRC',\n HRK = 'HRK',\n CUC = 'CUC',\n CZK = 'CZK',\n DKK = 'DKK',\n DJF = 'DJF',\n DOP = 'DOP',\n XCD = 'XCD',\n EGP = 'EGP',\n ERN = 'ERN',\n EEK = 'EEK',\n ETB = 'ETB',\n EUR = 'EUR',\n FKP = 'FKP',\n FJD = 'FJD',\n GMD = 'GMD',\n GEL = 'GEL',\n DEM = 'DEM',\n GHS = 'GHS',\n GIP = 'GIP',\n GRD = 'GRD',\n GTQ = 'GTQ',\n GNF = 'GNF',\n GYD = 'GYD',\n HTG = 'HTG',\n HNL = 'HNL',\n HKD = 'HKD',\n HUF = 'HUF',\n ISK = 'ISK',\n INR = 'INR',\n IDR = 'IDR',\n IRR = 'IRR',\n IQD = 'IQD',\n ILS = 'ILS',\n ITL = 'ITL',\n JMD = 'JMD',\n JPY = 'JPY',\n JOD = 'JOD',\n KZT = 'KZT',\n KES = 'KES',\n KWD = 'KWD',\n KGS = 'KGS',\n LAK = 'LAK',\n LVL = 'LVL',\n LBP = 'LBP',\n LSL = 'LSL',\n LRD = 'LRD',\n LYD = 'LYD',\n LTC = 'LTC',\n LTL = 'LTL',\n MOP = 'MOP',\n MKD = 'MKD',\n MGA = 'MGA',\n MWK = 'MWK',\n MYR = 'MYR',\n MVR = 'MVR',\n MRO = 'MRO',\n MUR = 'MUR',\n MXN = 'MXN',\n MDL = 'MDL',\n MNT = 'MNT',\n MAD = 'MAD',\n MZM = 'MZM',\n MMK = 'MMK',\n NAD = 'NAD',\n NPR = 'NPR',\n ANG = 'ANG',\n TWD = 'TWD',\n NZD = 'NZD',\n NIO = 'NIO',\n NGN = 'NGN',\n KPW = 'KPW',\n NOK = 'NOK',\n OMR = 'OMR',\n PKR = 'PKR',\n PAB = 'PAB',\n PGK = 'PGK',\n PYG = 'PYG',\n PEN = 'PEN',\n PHP = 'PHP',\n PLN = 'PLN',\n QAR = 'QAR',\n RON = 'RON',\n RUB = 'RUB',\n RWF = 'RWF',\n SVC = 'SVC',\n WST = 'WST',\n STD = 'STD',\n SAR = 'SAR',\n RSD = 'RSD',\n SCR = 'SCR',\n SLL = 'SLL',\n SGD = 'SGD',\n SKK = 'SKK',\n SBD = 'SBD',\n SOS = 'SOS',\n ZAR = 'ZAR',\n KRW = 'KRW',\n SSP = 'SSP',\n XDR = 'XDR',\n LKR = 'LKR',\n SHP = 'SHP',\n SDG = 'SDG',\n SRD = 'SRD',\n SZL = 'SZL',\n SEK = 'SEK',\n CHF = 'CHF',\n SYP = 'SYP',\n TJS = 'TJS',\n TZS = 'TZS',\n THB = 'THB',\n TOP = 'TOP',\n TTD = 'TTD',\n TND = 'TND',\n TRY = 'TRY',\n TMT = 'TMT',\n UGX = 'UGX',\n UAH = 'UAH',\n AED = 'AED',\n UYU = 'UYU',\n USD = 'USD',\n UZS = 'UZS',\n VUV = 'VUV',\n VEF = 'VEF',\n VND = 'VND',\n YER = 'YER',\n ZMK = 'ZMK',\n ZWL = 'ZWL',\n}\n","<template>\n <div class=\"b-currency\">\n <bento-typography\n v-if=\"!disableTypography\"\n class=\"b-currency__amount\"\n :el=\"BentoTypographyElement.SPAN\"\n :variant=\"BentoTypographyVariant.BODY\"\n strong\n >\n {{ formattedCurrency }} {{ currency }}\n </bento-typography>\n <template v-else>{{ formattedCurrency }} {{ currency }}</template>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { getLocalizedCurrencyValue } from '@/utils/ts/currency/currency';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { BentoCurrencyISOCode } from '@/components/currency/currency.types';\n\n /**\n * A Currency component is used to display a formatted currency value.\n *\n * @example\n * import { BentoCurrency } from '@adyen/adl-vue-components';\n * import { BentoCurrency, BentoCurrencyCode } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoCurrency },\n * template: `\n * <bento-currency :currency=\"CurrencyCode.USD\">\n * 76.33\n * </bento-currency>\n * `\n * }\n */\n export default defineComponent({\n name: 'bento-currency',\n components: { BentoTypography },\n inheritAttrs: false,\n props: {\n currency: {\n type: String as PropType<BentoCurrencyISOCode>,\n default: BentoCurrencyISOCode.EUR,\n validator: (value: BentoCurrencyISOCode) => Object.values(BentoCurrencyISOCode).includes(value),\n },\n /**\n * Accepts currency value in major units instead of minor ones\n */\n majorUnits: {\n type: Boolean,\n default: false,\n },\n /**\n * Disable the default typography for the component. Only use this when the component is inside another typography component.\n */\n disableTypography: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots }) {\n const formattedCurrency = computed((): string => {\n const value = slots.default\n ? slots.default()[0]?.text || slots.default()[0]?.children?.toString()\n : null;\n return getLocalizedCurrencyValue(value, props.currency, props.majorUnits);\n });\n\n return {\n // Values\n formattedCurrency,\n\n // Enums\n BentoTypographyVariant,\n BentoTypographyElement,\n };\n },\n });\n</script>\n"],"names":["currencyExponentMap","getExponent","currencyCode","_a","obj","getMinorUnitsAmount","amount","exponent","value","getNormalizedAmount","getNumberFormatOptions","options","majorUnits","exp","minorAmount","amountInMinorUnits","style","minimumFractionDigits","maximumFractionDigits","getLocalizedCurrencyValue","amountValue","currency","numberFormatOptions","BentoCurrencyISOCode","_sfc_main","defineComponent","BentoTypography","props","slots","computed","_c","_b","BentoTypographyVariant","BentoTypographyElement"],"mappings":"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AAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OACNA,EAAA,MAAM,OAxKEA,IAAAA,KAAA,CAAA,CAAA;ACqCZ,MAAAC,IAAAC,EAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA,EAAA,iBAAAC,EAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,IACA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAAH,EAAA;AAAA,MACA,WAAA,CAAAf,MAAA,OAAA,OAAAe,CAAA,EAAA,SAAAf,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,mBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,MAAAmB,GAAA,EAAA,OAAAC,KAAA;AAQA,WAAA;AAAA;AAAA,MAEA,mBATAC,EAAA,MAAA;;AACA,cAAArB,IAAAoB,EAAA,YACAzB,IAAAyB,EAAA,UAAA,CAAA,MAAA,gBAAAzB,EAAA,WAAA2B,KAAAC,IAAAH,EAAA,UAAA,CAAA,MAAA,gBAAAG,EAAA,aAAA,gBAAAD,EAAA,cACA;AACA,eAAAX,EAAAX,GAAAmB,EAAA,UAAAA,EAAA,UAAA;AAAA,MAAA,CACA;AAAA;AAAA,MAOA,wBAAAK;AAAA,MACA,wBAAAC;AAAA,IAAA;AAAA,EAEA;AACA,CAAA;;;;;;;;;;;;;;;"}
|