@adyen/adyen-web 6.42.0 → 6.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/adyen.css +4 -2
- package/dist/cjs/adyen.css.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/es/adyen.css +4 -2
- package/dist/es/adyen.css.map +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
- package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
- package/dist/es/components/internal/Tag/Tag.js +2 -0
- package/dist/es/components/internal/Tag/Tag.js.map +1 -0
- package/dist/es/components/internal/Tag/Tag.module.scss.js +2 -0
- package/dist/es/components/internal/Tag/Tag.module.scss.js.map +1 -0
- package/dist/es/components/internal/Tag/TagList.js +2 -0
- package/dist/es/components/internal/Tag/TagList.js.map +1 -0
- package/dist/es/components/internal/Tag/TagList.module.scss.js +2 -0
- package/dist/es/components/internal/Tag/TagList.module.scss.js.map +1 -0
- package/dist/es/components/internal/Tag/types.js +2 -0
- package/dist/es/components/internal/Tag/types.js.map +1 -0
- package/dist/es/core/config.js +1 -1
- package/dist/es/packages/server/translations/en-US.json.js +1 -1
- package/dist/es-legacy/adyen.css +4 -2
- package/dist/es-legacy/adyen.css.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
- package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
- package/dist/es-legacy/components/internal/Tag/Tag.js +2 -0
- package/dist/es-legacy/components/internal/Tag/Tag.js.map +1 -0
- package/dist/es-legacy/components/internal/Tag/Tag.module.scss.js +2 -0
- package/dist/es-legacy/components/internal/Tag/Tag.module.scss.js.map +1 -0
- package/dist/es-legacy/components/internal/Tag/TagList.js +2 -0
- package/dist/es-legacy/components/internal/Tag/TagList.js.map +1 -0
- package/dist/es-legacy/components/internal/Tag/TagList.module.scss.js +2 -0
- package/dist/es-legacy/components/internal/Tag/TagList.module.scss.js.map +1 -0
- package/dist/es-legacy/components/internal/Tag/types.js +2 -0
- package/dist/es-legacy/components/internal/Tag/types.js.map +1 -0
- package/dist/es-legacy/core/config.js +1 -1
- package/dist/es-legacy/packages/server/translations/en-US.json.js +1 -1
- package/package.json +5 -5
- package/styles/adyen.css +4 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as t,useState as n,useMemo as r,useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";import
|
|
1
|
+
import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as t,useState as n,useMemo as r,useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../../_virtual/index.js";import s from"./components/SelectButton.js";import a from"./components/SelectList.js";import i from"../../../../utils/uuid.js";import{keys as c}from"./constants.js";import{ARIA_ERROR_SUFFIX as u,ARIA_CONTEXT_SUFFIX as d}from"../../../../core/Errors/constants.js";import{simulateFocusScroll as m}from"../utils.js";import{useCoreContext as f}from"../../../../core/Context/CoreProvider.js";function p({items:p=[],className:g="",classNameModifiers:v=[],filterable:h=!0,readonly:y=!1,onChange:b=()=>{},onInput:k,selectedValue:w,name:I,isInvalid:L,isValid:j,placeholder:D,uniqueId:x,disabled:T,disableTextFilter:_,clearOnSelect:B,blurOnClose:C,onListToggle:E,required:N,additionalDescribedBy:S}){const{i18n:$}=f(),M=t(null),P=t(null),R=t(null),q=t(null),[O,V]=n(null),[A,F]=n(!1),[H,K]=n(null),U=r(()=>`select-${i()}`,[]),z=p.find(e=>e.id===w)||{},[G,J]=n(),[Q,W]=n(z),X=z,Y=_?p:p.filter(e=>!O||e.name.toLowerCase().includes(O.toLowerCase())),Z=[x?`${x}${L?u:d}`:null,S].filter(Boolean).join(" ")||null,ee=e=>{if(!e)return;const t=document.getElementById(`listItem-${e.id}`);m(t)},te=()=>{C&&M.current.blur(),F(!1)},ne=()=>{F(!0)},re=e=>{const t=e.currentTarget.getAttribute("data-value");return Y.find(e=>e.id==t)},le=e=>{let t;e.preventDefault(),t=e.currentTarget instanceof HTMLElement&&"option"===e.currentTarget.getAttribute("role")?re(e):Q.id&&Y.some(e=>e.id===Q.id)?Q:O?Y[0]:{id:w},t&&!t.disabled&&(b({target:{value:t.id,name:I}}),B&&J(null),te())},oe=e=>{switch(e.key){case c.space:case c.enter:le(e);break;case c.arrowDown:e.preventDefault(),(()=>{if(!Y||Y.length<1)return;const e=Y.findIndex(e=>e.id===Q.id)+1,t=e<Y.length?e:0,n=Y[t];ee(n),W(n)})();break;case c.arrowUp:e.preventDefault(),(()=>{if(!Y||Y.length<1)return;const e=Y.findIndex(e=>e.id===Q.id)-1,t=e<0?Y.length-1:e,n=Y[t];ee(n),W(n)})()}};return l(()=>{A?J(null):V(null)},[A]),l(()=>{A&&h&&M.current&&M.current.focus(),E?.(A)},[A]),l(()=>{function e(e){(e.composedPath?!e.composedPath().includes(P.current):!P.current.contains(e.target))&&te()}return document.addEventListener("click",e,!1),()=>{document.removeEventListener("click",e,!1)}},[P]),l(()=>{const e=setTimeout(()=>{0===Y.length?K($.get("select.noOptionsFound")):K($.get("select.results",{values:{count:Y.length}}))},500);return()=>clearTimeout(e)},[A,Y.length,$]),e("div",{className:o(["adyen-checkout__dropdown",g,...v.map(e=>`adyen-checkout__dropdown--${e}`)]),ref:P},e(s,{inputText:G,id:x??null,active:Q,selected:X,filterInputRef:M,filterable:h,isInvalid:L,isValid:j,onButtonKeyDown:e=>{e.key===c.enter&&h&&A&&O?le(e):e.key===c.escape?te():![c.arrowUp,c.arrowDown,c.enter].includes(e.key)&&(e.key!==c.space||h&&A)?(e.shiftKey&&e.key===c.tab||e.key===c.tab)&&te():(e.preventDefault(),A?oe(e):ne())},onInput:e=>{const t=e.target.value;J(t),V(t),A||ne(),k&&k(t)},placeholder:D,readonly:y,selectListId:U,showList:A,toggleButtonRef:R,toggleList:e=>{e.preventDefault(),A?(J(X.name),te()):(J(null),ne())},disabled:T,ariaDescribedBy:Z,required:N}),e(a,{active:Q,filteredItems:Y,onHover:e=>{e.preventDefault();const t=re(e);W(t)},onSelect:le,selected:X,selectListId:U,selectListRef:q,showList:A}),e("div",{key:G,role:"status","aria-live":"polite","aria-relevant":"additions text",className:"adyen-checkout__dropdown__status"},H))}p.defaultProps={className:"",classNameModifiers:[],filterable:!0,items:[],readonly:!1,onChange:()=>{}};export{p as default};
|
|
2
2
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../../../../src/components/internal/FormFields/Select/Select.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport cx from 'classnames';\nimport SelectButton from './components/SelectButton';\nimport SelectList from './components/SelectList';\nimport uuid from '../../../../utils/uuid';\nimport { keys } from './constants';\nimport { SelectItem, SelectProps } from './types';\nimport './Select.scss';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../../core/Errors/constants';\nimport { simulateFocusScroll } from '../utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nfunction Select({\n items = [],\n className = '',\n classNameModifiers = [],\n filterable = true,\n readonly = false,\n onChange = () => {},\n onInput,\n selectedValue,\n name,\n isInvalid,\n isValid,\n placeholder,\n uniqueId,\n disabled,\n disableTextFilter,\n clearOnSelect,\n blurOnClose,\n onListToggle,\n required,\n additionalDescribedBy\n}: Readonly<SelectProps>) {\n const { i18n } = useCoreContext();\n const filterInputRef = useRef(null);\n const selectContainerRef = useRef(null);\n const toggleButtonRef = useRef(null);\n const selectListRef = useRef(null);\n const [textFilter, setTextFilter] = useState<string>(null);\n const [showList, setShowList] = useState<boolean>(false);\n const [statusMessage, setStatusMessage] = useState<string | null>(null);\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n\n const active: SelectItem = items.find(i => i.id === selectedValue) || ({} as SelectItem);\n\n const [inputText, setInputText] = useState<string>();\n\n const [activeOption, setActiveOption] = useState<SelectItem>(active);\n\n const selectedOption = active;\n\n const filteredItems = disableTextFilter ? items : items.filter(item => !textFilter || item.name.toLowerCase().includes(textFilter.toLowerCase()));\n\n const suffix = isInvalid ? ARIA_ERROR_SUFFIX : ARIA_CONTEXT_SUFFIX;\n const baseDescribedBy = uniqueId ? `${uniqueId}${suffix}` : null;\n const ariaDescribedBy = [baseDescribedBy, additionalDescribedBy].filter(Boolean).join(' ') || null;\n\n const setNextActive = () => {\n if (!filteredItems || filteredItems.length < 1) return;\n const possibleNextIndex = filteredItems.findIndex(listItem => listItem.id === activeOption.id) + 1;\n const nextIndex = possibleNextIndex < filteredItems.length ? possibleNextIndex : 0;\n const nextItem = filteredItems[nextIndex];\n scrollToItem(nextItem);\n setActiveOption(nextItem);\n };\n\n const setPreviousActive = () => {\n if (!filteredItems || filteredItems.length < 1) return;\n const possibleNextIndex = filteredItems.findIndex(listItem => listItem.id === activeOption.id) - 1;\n const nextIndex = possibleNextIndex < 0 ? filteredItems.length - 1 : possibleNextIndex;\n const nextItem = filteredItems[nextIndex];\n scrollToItem(nextItem);\n setActiveOption(nextItem);\n };\n\n const scrollToItem = (item: SelectItem) => {\n if (!item) return;\n const nextElement = document.getElementById(`listItem-${item.id}`);\n simulateFocusScroll(nextElement);\n };\n\n /**\n * Closes the selectList, empties the text filter and focuses the button element\n */\n const closeList = () => {\n //blurs the field when the list is closed, makes for a better UX for most users, needs more testing\n if (blurOnClose) {\n filterInputRef.current.blur();\n }\n setShowList(false);\n };\n\n const openList = () => {\n setShowList(true);\n };\n\n const extractItemFromEvent = (e: Event): SelectItem => {\n const value = (e.currentTarget as HTMLInputElement).getAttribute('data-value');\n return filteredItems.find(listItem => listItem.id == value);\n };\n\n /**\n * Closes the select list and fires an onChange\n * @param e - Event\n */\n const handleSelect = (e: Event) => {\n e.preventDefault();\n\n // We use a local variable here since writing and if statement is cleaner then a long ternary\n let valueToEmit;\n\n if (e.currentTarget instanceof HTMLElement && e.currentTarget.getAttribute('role') === 'option') {\n // This is the main scenario when clicking and item in the list\n // Item comes from the event\n valueToEmit = extractItemFromEvent(e);\n } else if (activeOption.id && filteredItems.some(item => item.id === activeOption.id)) {\n // This is the scenario where a user is using the keyboard to navigate\n // In the case item comes from the visually select item\n valueToEmit = activeOption;\n } else {\n // This is the scenario the user didn't select anything\n if (textFilter) {\n // if we filtering for something then select the first option\n valueToEmit = filteredItems[0];\n } else {\n // This will happen when we want to keep an already chosen option\n // If no active option we should just emit again with the value that was already selected\n valueToEmit = { id: selectedValue };\n }\n }\n\n if (valueToEmit && !valueToEmit.disabled) {\n onChange({ target: { value: valueToEmit.id, name: name } });\n\n if (clearOnSelect) setInputText(null);\n\n closeList();\n }\n };\n\n /**\n * Handles hovering and directions\n * @param e - Event\n */\n const handleHover = (e: Event) => {\n e.preventDefault();\n const item = extractItemFromEvent(e);\n setActiveOption(item);\n };\n\n /**\n * Handle keyDown events on the selectList button\n * Responsible for opening and closing the list\n * @param e - KeyboardEvent\n */\n const handleButtonKeyDown = (e: KeyboardEvent) => {\n if (e.key === keys.enter && filterable && showList && textFilter) {\n handleSelect(e);\n } else if (e.key === keys.escape) {\n // When user has focused Select button but not yet moved into Select list - close list and keep focus on the Select Button re. a11y guidelines\n // https://w3c.github.io/aria-practices/examples/disclosure/disclosure-navigation.html\n closeList();\n } else if ([keys.arrowUp, keys.arrowDown, keys.enter].includes(e.key) || (e.key === keys.space && (!filterable || !showList))) {\n e.preventDefault();\n if (!showList) {\n openList();\n } else {\n handleNavigationKeys(e);\n }\n } else if (e.shiftKey && e.key === keys.tab) {\n // Shift-Tab out of Select - close list re. a11y guidelines (above)\n closeList();\n } else if (e.key === keys.tab) {\n closeList();\n }\n };\n\n /**\n * Handles movement with navigation keys and enter\n * Navigates through the list, or select an element, or focus the filter input, or close the menu.\n * @param e - KeyDownEvent\n */\n const handleNavigationKeys = (e: KeyboardEvent) => {\n switch (e.key) {\n case keys.space:\n case keys.enter:\n handleSelect(e);\n break;\n case keys.arrowDown:\n e.preventDefault();\n setNextActive();\n break;\n case keys.arrowUp:\n e.preventDefault();\n setPreviousActive();\n break;\n default:\n }\n };\n\n /**\n * Updates the state with the current text filter value and opens the dropdown\n * @param e - KeyboardEvent\n */\n const handleTextFilter = (e: KeyboardEvent) => {\n const value: string = (e.target as HTMLInputElement).value;\n setInputText(value);\n setTextFilter(value);\n\n // Open the dropdown when user starts typing\n if (!showList) {\n openList();\n }\n\n if (onInput) {\n onInput(value);\n }\n };\n\n /**\n * Toggles the selectList and focuses in either the filter input or in the selectList button\n * @param e - Event\n */\n const toggleList = (e: Event) => {\n e.preventDefault();\n if (!showList) {\n setInputText(null);\n openList();\n } else {\n setInputText(selectedOption.name);\n closeList();\n }\n };\n\n useEffect(() => {\n if (showList) {\n setInputText(null);\n } else {\n setTextFilter(null);\n }\n }, [showList]);\n\n /**\n * Focus on the input if filterable\n */\n useEffect(() => {\n if (showList && filterable && filterInputRef.current) {\n filterInputRef.current.focus();\n }\n onListToggle?.(showList);\n }, [showList]);\n\n useEffect(() => {\n /**\n * Close the select list when clicking outside the list\n * @param e - MouseEvent\n */\n function handleClickOutside(e: MouseEvent) {\n // use composedPath so it can also check when inside a web component\n // if composedPath is not available fallback to e.target\n const clickIsOutside = e.composedPath\n ? !e.composedPath().includes(selectContainerRef.current)\n : !selectContainerRef.current.contains(e.target);\n if (clickIsOutside) {\n closeList();\n }\n }\n\n document.addEventListener('click', handleClickOutside, false);\n\n return () => {\n document.removeEventListener('click', handleClickOutside, false);\n };\n }, [selectContainerRef]);\n\n /**\n * Update status message for screen readers when no options are found\n */\n useEffect(() => {\n // Debounce to avoid announcing on every keystroke\n const SR_ANNOUNCEMENT_DELAY_MS = 500;\n const timer = setTimeout(() => {\n if (filteredItems.length === 0) {\n setStatusMessage(i18n.get('select.noOptionsFound'));\n } else {\n setStatusMessage(i18n.get('select.results', { values: { count: filteredItems.length } }));\n }\n }, SR_ANNOUNCEMENT_DELAY_MS);\n\n return () => clearTimeout(timer);\n }, [showList, filteredItems.length, i18n]);\n\n return (\n <div\n className={cx(['adyen-checkout__dropdown', className, ...classNameModifiers.map(m => `adyen-checkout__dropdown--${m}`)])}\n ref={selectContainerRef}\n >\n <SelectButton\n inputText={inputText}\n id={uniqueId ?? null}\n active={activeOption}\n selected={selectedOption}\n filterInputRef={filterInputRef}\n filterable={filterable}\n isInvalid={isInvalid}\n isValid={isValid}\n onButtonKeyDown={handleButtonKeyDown}\n onInput={handleTextFilter}\n placeholder={placeholder}\n readonly={readonly}\n selectListId={selectListId}\n showList={showList}\n toggleButtonRef={toggleButtonRef}\n toggleList={toggleList}\n disabled={disabled}\n ariaDescribedBy={ariaDescribedBy}\n required={required}\n />\n <SelectList\n active={activeOption}\n filteredItems={filteredItems}\n onHover={handleHover}\n onSelect={handleSelect}\n selected={selectedOption}\n selectListId={selectListId}\n selectListRef={selectListRef}\n showList={showList}\n />\n <div\n key={inputText}\n role=\"status\"\n aria-live=\"polite\"\n // aria-relevant seems to be needed here make make sure a second time we get\n // \"No options found\" we still announce the status message.\n // What happens otherwise is that just the first status message is announced\n // tested on VoiceOver on Chrome\n aria-relevant=\"additions text\"\n className=\"adyen-checkout-sr-panel--sr-only\"\n >\n {statusMessage}\n </div>\n </div>\n );\n}\n\nSelect.defaultProps = {\n className: '',\n classNameModifiers: [],\n filterable: true,\n items: [],\n readonly: false,\n onChange: () => {}\n};\n\nexport default Select;\n"],"names":["Select","items","className","classNameModifiers","filterable","readonly","onChange","onInput","selectedValue","name","isInvalid","isValid","placeholder","uniqueId","disabled","disableTextFilter","clearOnSelect","blurOnClose","onListToggle","required","additionalDescribedBy","i18n","useCoreContext","filterInputRef","useRef","selectContainerRef","toggleButtonRef","selectListRef","textFilter","setTextFilter","useState","showList","setShowList","statusMessage","setStatusMessage","selectListId","useMemo","uuid","active","find","i","id","inputText","setInputText","activeOption","setActiveOption","selectedOption","filteredItems","filter","item","toLowerCase","includes","ariaDescribedBy","ARIA_ERROR_SUFFIX","ARIA_CONTEXT_SUFFIX","Boolean","join","scrollToItem","nextElement","document","getElementById","simulateFocusScroll","closeList","current","blur","openList","extractItemFromEvent","e","value","currentTarget","getAttribute","listItem","handleSelect","valueToEmit","preventDefault","HTMLElement","some","target","handleNavigationKeys","key","keys","space","enter","arrowDown","length","possibleNextIndex","findIndex","nextIndex","nextItem","setNextActive","arrowUp","setPreviousActive","useEffect","focus","handleClickOutside","composedPath","contains","addEventListener","removeEventListener","timer","setTimeout","get","values","count","clearTimeout","h","div","cx","map","m","ref","SelectButton","selected","onButtonKeyDown","escape","shiftKey","tab","toggleList","SelectList","onHover","onSelect","role","aria-live","aria-relevant","defaultProps"],"mappings":"8mBAaA,SAASA,GAAOC,MACZA,EAAQ,GAAEC,UACVA,EAAY,GAAEC,mBACdA,EAAqB,GAAEC,WACvBA,GAAa,EAAIC,SACjBA,GAAW,EAAKC,SAChBA,EAAW,OAAQC,QACnBA,EAAOC,cACPA,EAAaC,KACbA,EAAIC,UACJA,EAASC,QACTA,EAAOC,YACPA,EAAWC,SACXA,EAAQC,SACRA,EAAQC,kBACRA,EAAiBC,cACjBA,EAAaC,YACbA,EAAWC,aACXA,EAAYC,SACZA,EAAQC,sBACRA,IAEA,MAAMC,KAAEA,GAASC,IACXC,EAAiBC,EAAO,MACxBC,EAAqBD,EAAO,MAC5BE,EAAkBF,EAAO,MACzBG,EAAgBH,EAAO,OACtBI,EAAYC,GAAiBC,EAAiB,OAC9CC,EAAUC,GAAeF,GAAkB,IAC3CG,EAAeC,GAAoBJ,EAAwB,MAC5DK,EAAuBC,EAAQ,IAAM,UAAUC,MAAU,IAEzDC,EAAqBrC,EAAMsC,KAAKC,GAAKA,EAAEC,KAAOjC,IAAmB,CAAA,GAEhEkC,EAAWC,GAAgBb,KAE3Bc,EAAcC,GAAmBf,EAAqBQ,GAEvDQ,EAAiBR,EAEjBS,EAAgBhC,EAAoBd,EAAQA,EAAM+C,OAAOC,IAASrB,GAAcqB,EAAKxC,KAAKyC,cAAcC,SAASvB,EAAWsB,gBAI5HE,EAAkB,CADAvC,EAAW,GAAGA,IADvBH,EAAY2C,EAAoBC,IACa,KAClBlC,GAAuB4B,OAAOO,SAASC,KAAK,MAAQ,KAoBxFC,GAAgBR,IAClB,IAAKA,EAAM,OACX,MAAMS,EAAcC,SAASC,eAAe,YAAYX,EAAKR,MAC7DoB,EAAoBH,IAMlBI,GAAY,KAEV7C,GACAM,EAAewC,QAAQC,OAE3BhC,GAAY,IAGViC,GAAW,KACbjC,GAAY,IAGVkC,GAAwBC,IAC1B,MAAMC,EAAQD,EAAGE,cAAmCC,aAAa,cACjE,OAAOvB,EAAcR,KAAKgC,GAAYA,EAAS9B,IAAM2B,IAOnDI,GAAgBL,IAIlB,IAAIM,EAHJN,EAAEO,iBAQED,EAHAN,EAAEE,yBAAyBM,aAAwD,WAAzCR,EAAEE,cAAcC,aAAa,QAGzDJ,GAAqBC,GAC5BvB,EAAaH,IAAMM,EAAc6B,KAAK3B,GAAQA,EAAKR,KAAOG,EAAaH,IAGhEG,EAGVhB,EAEcmB,EAAc,GAId,CAAEN,GAAIjC,GAIxBiE,IAAgBA,EAAY3D,WAC5BR,EAAS,CAAEuE,OAAQ,CAAET,MAAOK,EAAYhC,GAAIhC,KAAMA,KAE9CO,GAAe2B,EAAa,MAEhCmB,OA8CFgB,GAAwBX,IAC1B,OAAQA,EAAEY,KACN,KAAKC,EAAKC,MACV,KAAKD,EAAKE,MACNV,GAAaL,GACb,MACJ,KAAKa,EAAKG,UACNhB,EAAEO,iBApIQ,MAClB,IAAK3B,GAAiBA,EAAcqC,OAAS,EAAG,OAChD,MAAMC,EAAoBtC,EAAcuC,UAAUf,GAAYA,EAAS9B,KAAOG,EAAaH,IAAM,EAC3F8C,EAAYF,EAAoBtC,EAAcqC,OAASC,EAAoB,EAC3EG,EAAWzC,EAAcwC,GAC/B9B,GAAa+B,GACb3C,EAAgB2C,IA+HRC,GACA,MACJ,KAAKT,EAAKU,QACNvB,EAAEO,iBA/HY,MACtB,IAAK3B,GAAiBA,EAAcqC,OAAS,EAAG,OAChD,MAAMC,EAAoBtC,EAAcuC,UAAUf,GAAYA,EAAS9B,KAAOG,EAAaH,IAAM,EAC3F8C,EAAYF,EAAoB,EAAItC,EAAcqC,OAAS,EAAIC,EAC/DG,EAAWzC,EAAcwC,GAC/B9B,GAAa+B,GACb3C,EAAgB2C,IA0HRG,KAkGZ,OA1DAC,EAAU,KACF7D,EACAY,EAAa,MAEbd,EAAc,OAEnB,CAACE,IAKJ6D,EAAU,KACF7D,GAAY3B,GAAcmB,EAAewC,SACzCxC,EAAewC,QAAQ8B,QAE3B3E,IAAea,IAChB,CAACA,IAEJ6D,EAAU,KAKN,SAASE,EAAmB3B,IAGDA,EAAE4B,cAClB5B,EAAE4B,eAAe5C,SAAS1B,EAAmBsC,UAC7CtC,EAAmBsC,QAAQiC,SAAS7B,EAAEU,UAEzCf,IAER,CAIA,OAFAH,SAASsC,iBAAiB,QAASH,GAAoB,GAEhD,KACHnC,SAASuC,oBAAoB,QAASJ,GAAoB,KAE/D,CAACrE,IAKJmE,EAAU,KAEN,MACMO,EAAQC,WAAW,KACQ,IAAzBrD,EAAcqC,OACdlD,EAAiBb,EAAKgF,IAAI,0BAE1BnE,EAAiBb,EAAKgF,IAAI,iBAAkB,CAAEC,OAAQ,CAAEC,MAAOxD,EAAcqC,YALpD,KASjC,MAAO,IAAMoB,aAAaL,IAC3B,CAACpE,EAAUgB,EAAcqC,OAAQ/D,IAGhCoF,EAACC,MAAAA,CACGxG,UAAWyG,EAAG,CAAC,2BAA4BzG,KAAcC,EAAmByG,IAAIC,GAAK,6BAA6BA,OAClHC,IAAKrF,GAELgF,EAACM,EAAAA,CACGrE,UAAWA,EACXD,GAAI5B,GAAY,KAChByB,OAAQM,EACRoE,SAAUlE,EACVvB,eAAgBA,EAChBnB,WAAYA,EACZM,UAAWA,EACXC,QAASA,EACTsG,gBAvJiB9C,IACrBA,EAAEY,MAAQC,EAAKE,OAAS9E,GAAc2B,GAAYH,EAClD4C,GAAaL,GACNA,EAAEY,MAAQC,EAAKkC,OAGtBpD,MACO,CAACkB,EAAKU,QAASV,EAAKG,UAAWH,EAAKE,OAAO/B,SAASgB,EAAEY,OAASZ,EAAEY,MAAQC,EAAKC,OAAW7E,GAAe2B,IAOxGoC,EAAEgD,UAAYhD,EAAEY,MAAQC,EAAKoC,KAG7BjD,EAAEY,MAAQC,EAAKoC,MADtBtD,MARAK,EAAEO,iBACG3C,EAGD+C,GAAqBX,GAFrBF,OA8IA1D,QAvGc4D,IACtB,MAAMC,EAAiBD,EAAEU,OAA4BT,MACrDzB,EAAayB,GACbvC,EAAcuC,GAGTrC,GACDkC,KAGA1D,GACAA,EAAQ6D,IA6FJxD,YAAaA,EACbP,SAAUA,EACV8B,aAAcA,EACdJ,SAAUA,EACVL,gBAAiBA,EACjB2F,WA1FQlD,IAChBA,EAAEO,iBACG3C,GAIDY,EAAaG,EAAerC,MAC5BqD,OAJAnB,EAAa,MACbsB,OAuFInD,SAAUA,EACVsC,gBAAiBA,EACjBjC,SAAUA,IAEdsF,EAACa,EAAAA,CACGhF,OAAQM,EACRG,cAAeA,EACfwE,QAjLSpD,IACjBA,EAAEO,iBACF,MAAMzB,EAAOiB,GAAqBC,GAClCtB,EAAgBI,IA+KRuE,SAAUhD,GACVwC,SAAUlE,EACVX,aAAcA,EACdR,cAAeA,EACfI,SAAUA,IAEd0E,EAACC,MAAAA,CACG3B,IAAKrC,EACL+E,KAAK,SACLC,YAAU,SAKVC,gBAAc,iBACdzH,UAAU,oCAET+B,GAIjB,CAEAjC,EAAO4H,aAAe,CAClB1H,UAAW,GACXC,mBAAoB,GACpBC,YAAY,EACZH,MAAO,GACPI,UAAU,EACVC,SAAU"}
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../../../../src/components/internal/FormFields/Select/Select.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport cx from 'classnames';\nimport SelectButton from './components/SelectButton';\nimport SelectList from './components/SelectList';\nimport uuid from '../../../../utils/uuid';\nimport { keys } from './constants';\nimport { SelectItem, SelectProps } from './types';\nimport './Select.scss';\nimport { ARIA_CONTEXT_SUFFIX, ARIA_ERROR_SUFFIX } from '../../../../core/Errors/constants';\nimport { simulateFocusScroll } from '../utils';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\n\nfunction Select({\n items = [],\n className = '',\n classNameModifiers = [],\n filterable = true,\n readonly = false,\n onChange = () => {},\n onInput,\n selectedValue,\n name,\n isInvalid,\n isValid,\n placeholder,\n uniqueId,\n disabled,\n disableTextFilter,\n clearOnSelect,\n blurOnClose,\n onListToggle,\n required,\n additionalDescribedBy\n}: Readonly<SelectProps>) {\n const { i18n } = useCoreContext();\n const filterInputRef = useRef(null);\n const selectContainerRef = useRef(null);\n const toggleButtonRef = useRef(null);\n const selectListRef = useRef(null);\n const [textFilter, setTextFilter] = useState<string>(null);\n const [showList, setShowList] = useState<boolean>(false);\n const [statusMessage, setStatusMessage] = useState<string | null>(null);\n const selectListId: string = useMemo(() => `select-${uuid()}`, []);\n\n const active: SelectItem = items.find(i => i.id === selectedValue) || ({} as SelectItem);\n\n const [inputText, setInputText] = useState<string>();\n\n const [activeOption, setActiveOption] = useState<SelectItem>(active);\n\n const selectedOption = active;\n\n const filteredItems = disableTextFilter ? items : items.filter(item => !textFilter || item.name.toLowerCase().includes(textFilter.toLowerCase()));\n\n const suffix = isInvalid ? ARIA_ERROR_SUFFIX : ARIA_CONTEXT_SUFFIX;\n const baseDescribedBy = uniqueId ? `${uniqueId}${suffix}` : null;\n const ariaDescribedBy = [baseDescribedBy, additionalDescribedBy].filter(Boolean).join(' ') || null;\n\n const setNextActive = () => {\n if (!filteredItems || filteredItems.length < 1) return;\n const possibleNextIndex = filteredItems.findIndex(listItem => listItem.id === activeOption.id) + 1;\n const nextIndex = possibleNextIndex < filteredItems.length ? possibleNextIndex : 0;\n const nextItem = filteredItems[nextIndex];\n scrollToItem(nextItem);\n setActiveOption(nextItem);\n };\n\n const setPreviousActive = () => {\n if (!filteredItems || filteredItems.length < 1) return;\n const possibleNextIndex = filteredItems.findIndex(listItem => listItem.id === activeOption.id) - 1;\n const nextIndex = possibleNextIndex < 0 ? filteredItems.length - 1 : possibleNextIndex;\n const nextItem = filteredItems[nextIndex];\n scrollToItem(nextItem);\n setActiveOption(nextItem);\n };\n\n const scrollToItem = (item: SelectItem) => {\n if (!item) return;\n const nextElement = document.getElementById(`listItem-${item.id}`);\n simulateFocusScroll(nextElement);\n };\n\n /**\n * Closes the selectList, empties the text filter and focuses the button element\n */\n const closeList = () => {\n //blurs the field when the list is closed, makes for a better UX for most users, needs more testing\n if (blurOnClose) {\n filterInputRef.current.blur();\n }\n setShowList(false);\n };\n\n const openList = () => {\n setShowList(true);\n };\n\n const extractItemFromEvent = (e: Event): SelectItem => {\n const value = (e.currentTarget as HTMLInputElement).getAttribute('data-value');\n return filteredItems.find(listItem => listItem.id == value);\n };\n\n /**\n * Closes the select list and fires an onChange\n * @param e - Event\n */\n const handleSelect = (e: Event) => {\n e.preventDefault();\n\n // We use a local variable here since writing and if statement is cleaner then a long ternary\n let valueToEmit;\n\n if (e.currentTarget instanceof HTMLElement && e.currentTarget.getAttribute('role') === 'option') {\n // This is the main scenario when clicking and item in the list\n // Item comes from the event\n valueToEmit = extractItemFromEvent(e);\n } else if (activeOption.id && filteredItems.some(item => item.id === activeOption.id)) {\n // This is the scenario where a user is using the keyboard to navigate\n // In the case item comes from the visually select item\n valueToEmit = activeOption;\n } else {\n // This is the scenario the user didn't select anything\n if (textFilter) {\n // if we filtering for something then select the first option\n valueToEmit = filteredItems[0];\n } else {\n // This will happen when we want to keep an already chosen option\n // If no active option we should just emit again with the value that was already selected\n valueToEmit = { id: selectedValue };\n }\n }\n\n if (valueToEmit && !valueToEmit.disabled) {\n onChange({ target: { value: valueToEmit.id, name: name } });\n\n if (clearOnSelect) setInputText(null);\n\n closeList();\n }\n };\n\n /**\n * Handles hovering and directions\n * @param e - Event\n */\n const handleHover = (e: Event) => {\n e.preventDefault();\n const item = extractItemFromEvent(e);\n setActiveOption(item);\n };\n\n /**\n * Handle keyDown events on the selectList button\n * Responsible for opening and closing the list\n * @param e - KeyboardEvent\n */\n const handleButtonKeyDown = (e: KeyboardEvent) => {\n if (e.key === keys.enter && filterable && showList && textFilter) {\n handleSelect(e);\n } else if (e.key === keys.escape) {\n // When user has focused Select button but not yet moved into Select list - close list and keep focus on the Select Button re. a11y guidelines\n // https://w3c.github.io/aria-practices/examples/disclosure/disclosure-navigation.html\n closeList();\n } else if ([keys.arrowUp, keys.arrowDown, keys.enter].includes(e.key) || (e.key === keys.space && (!filterable || !showList))) {\n e.preventDefault();\n if (!showList) {\n openList();\n } else {\n handleNavigationKeys(e);\n }\n } else if (e.shiftKey && e.key === keys.tab) {\n // Shift-Tab out of Select - close list re. a11y guidelines (above)\n closeList();\n } else if (e.key === keys.tab) {\n closeList();\n }\n };\n\n /**\n * Handles movement with navigation keys and enter\n * Navigates through the list, or select an element, or focus the filter input, or close the menu.\n * @param e - KeyDownEvent\n */\n const handleNavigationKeys = (e: KeyboardEvent) => {\n switch (e.key) {\n case keys.space:\n case keys.enter:\n handleSelect(e);\n break;\n case keys.arrowDown:\n e.preventDefault();\n setNextActive();\n break;\n case keys.arrowUp:\n e.preventDefault();\n setPreviousActive();\n break;\n default:\n }\n };\n\n /**\n * Updates the state with the current text filter value and opens the dropdown\n * @param e - KeyboardEvent\n */\n const handleTextFilter = (e: KeyboardEvent) => {\n const value: string = (e.target as HTMLInputElement).value;\n setInputText(value);\n setTextFilter(value);\n\n // Open the dropdown when user starts typing\n if (!showList) {\n openList();\n }\n\n if (onInput) {\n onInput(value);\n }\n };\n\n /**\n * Toggles the selectList and focuses in either the filter input or in the selectList button\n * @param e - Event\n */\n const toggleList = (e: Event) => {\n e.preventDefault();\n if (!showList) {\n setInputText(null);\n openList();\n } else {\n setInputText(selectedOption.name);\n closeList();\n }\n };\n\n useEffect(() => {\n if (showList) {\n setInputText(null);\n } else {\n setTextFilter(null);\n }\n }, [showList]);\n\n /**\n * Focus on the input if filterable\n */\n useEffect(() => {\n if (showList && filterable && filterInputRef.current) {\n filterInputRef.current.focus();\n }\n onListToggle?.(showList);\n }, [showList]);\n\n useEffect(() => {\n /**\n * Close the select list when clicking outside the list\n * @param e - MouseEvent\n */\n function handleClickOutside(e: MouseEvent) {\n // use composedPath so it can also check when inside a web component\n // if composedPath is not available fallback to e.target\n const clickIsOutside = e.composedPath\n ? !e.composedPath().includes(selectContainerRef.current)\n : !selectContainerRef.current.contains(e.target);\n if (clickIsOutside) {\n closeList();\n }\n }\n\n document.addEventListener('click', handleClickOutside, false);\n\n return () => {\n document.removeEventListener('click', handleClickOutside, false);\n };\n }, [selectContainerRef]);\n\n /**\n * Update status message for screen readers when no options are found\n */\n useEffect(() => {\n // Debounce to avoid announcing on every keystroke\n const SR_ANNOUNCEMENT_DELAY_MS = 500;\n const timer = setTimeout(() => {\n if (filteredItems.length === 0) {\n setStatusMessage(i18n.get('select.noOptionsFound'));\n } else {\n setStatusMessage(i18n.get('select.results', { values: { count: filteredItems.length } }));\n }\n }, SR_ANNOUNCEMENT_DELAY_MS);\n\n return () => clearTimeout(timer);\n }, [showList, filteredItems.length, i18n]);\n\n return (\n <div\n className={cx(['adyen-checkout__dropdown', className, ...classNameModifiers.map(m => `adyen-checkout__dropdown--${m}`)])}\n ref={selectContainerRef}\n >\n <SelectButton\n inputText={inputText}\n id={uniqueId ?? null}\n active={activeOption}\n selected={selectedOption}\n filterInputRef={filterInputRef}\n filterable={filterable}\n isInvalid={isInvalid}\n isValid={isValid}\n onButtonKeyDown={handleButtonKeyDown}\n onInput={handleTextFilter}\n placeholder={placeholder}\n readonly={readonly}\n selectListId={selectListId}\n showList={showList}\n toggleButtonRef={toggleButtonRef}\n toggleList={toggleList}\n disabled={disabled}\n ariaDescribedBy={ariaDescribedBy}\n required={required}\n />\n <SelectList\n active={activeOption}\n filteredItems={filteredItems}\n onHover={handleHover}\n onSelect={handleSelect}\n selected={selectedOption}\n selectListId={selectListId}\n selectListRef={selectListRef}\n showList={showList}\n />\n <div\n key={inputText}\n role=\"status\"\n aria-live=\"polite\"\n // aria-relevant seems to be needed here make make sure a second time we get\n // \"No options found\" we still announce the status message.\n // What happens otherwise is that just the first status message is announced\n // tested on VoiceOver on Chrome\n aria-relevant=\"additions text\"\n className=\"adyen-checkout__dropdown__status\"\n >\n {statusMessage}\n </div>\n </div>\n );\n}\n\nSelect.defaultProps = {\n className: '',\n classNameModifiers: [],\n filterable: true,\n items: [],\n readonly: false,\n onChange: () => {}\n};\n\nexport default Select;\n"],"names":["Select","items","className","classNameModifiers","filterable","readonly","onChange","onInput","selectedValue","name","isInvalid","isValid","placeholder","uniqueId","disabled","disableTextFilter","clearOnSelect","blurOnClose","onListToggle","required","additionalDescribedBy","i18n","useCoreContext","filterInputRef","useRef","selectContainerRef","toggleButtonRef","selectListRef","textFilter","setTextFilter","useState","showList","setShowList","statusMessage","setStatusMessage","selectListId","useMemo","uuid","active","find","i","id","inputText","setInputText","activeOption","setActiveOption","selectedOption","filteredItems","filter","item","toLowerCase","includes","ariaDescribedBy","ARIA_ERROR_SUFFIX","ARIA_CONTEXT_SUFFIX","Boolean","join","scrollToItem","nextElement","document","getElementById","simulateFocusScroll","closeList","current","blur","openList","extractItemFromEvent","e","value","currentTarget","getAttribute","listItem","handleSelect","valueToEmit","preventDefault","HTMLElement","some","target","handleNavigationKeys","key","keys","space","enter","arrowDown","length","possibleNextIndex","findIndex","nextIndex","nextItem","setNextActive","arrowUp","setPreviousActive","useEffect","focus","handleClickOutside","composedPath","contains","addEventListener","removeEventListener","timer","setTimeout","get","values","count","clearTimeout","h","div","cx","map","m","ref","SelectButton","selected","onButtonKeyDown","escape","shiftKey","tab","toggleList","SelectList","onHover","onSelect","role","aria-live","aria-relevant","defaultProps"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e,Fragment as t}from"../../../../../external/preact/dist/preact.js";import a from"../../../../../_virtual/index.js";import o from"../../../Img/Img.js";import{useMemo as n}from"../../../../../external/preact/hooks/dist/hooks.js";function
|
|
1
|
+
import{createElement as e,Fragment as t}from"../../../../../external/preact/dist/preact.js";import a from"../../../../../_virtual/index.js";import o from"../../../Img/Img.js";import{TagList as d}from"../../../Tag/TagList.js";import{useMemo as n}from"../../../../../external/preact/hooks/dist/hooks.js";function i({filterable:t,toggleButtonRef:a,showList:o,selectListId:d,readonly:n,...i}){if(t){const{id:t,...o}=i;return e("div",{...o,ref:a})}return e("button",{role:"combobox",type:"button",id:i.id,className:i.className,"aria-haspopup":"listbox","aria-expanded":o,"aria-controls":d,"aria-activedescendant":i["aria-activedescendant"]||void 0,disabled:i.disabled,"aria-disabled":n,"aria-describedby":i["aria-describedby"],"aria-labelledby":i.id?`${i.id}-label ${i.id}-value`:void 0,onClick:i.onClick,onKeyDown:i.onKeyDown,ref:a},i.children)}function r(r){const{active:l,selected:s,inputText:c,readonly:u,showList:_,required:p}=r,b=n(()=>{const e=s.selectedOptionName||s.name;return!0!==("string"==typeof e&&""!==e.trim())},[s,r.placeholder]),m=s.selectedOptionName||s.name||r.placeholder||"",y=_?c??"":m,f=e=>{e.preventDefault(),r.filterInputRef.current?.focus(),e.target===r.filterInputRef.current&&r.showList||r.toggleList(e)},h=l.id?`listItem-${l.id}`:"";return e(i,{className:a({"adyen-checkout__dropdown__button":!0,"adyen-checkout__dropdown__button--readonly":u,"adyen-checkout__dropdown__button--active":_,"adyen-checkout__dropdown__button--invalid":r.isInvalid,"adyen-checkout__dropdown__button--valid":r.isValid,"adyen-checkout__dropdown__button--disabled":s.disabled}),disabled:r.disabled,filterable:r.filterable,readonly:u,onClick:u?null:r.filterable?f:r.toggleList,onKeyDown:u?null:r.onButtonKeyDown,toggleButtonRef:r.toggleButtonRef,id:r.id,showList:_,selectListId:r.selectListId,"aria-activedescendant":!r.filterable&&_&&h||void 0,"aria-describedby":r.ariaDescribedBy},r.filterable?e(t,null,!_&&s.icon&&e(o,{className:"adyen-checkout__dropdown__button__icon",src:s.icon,alt:s.name}),e("input",{value:y,"aria-autocomplete":"list","aria-controls":r.selectListId,"aria-expanded":_,"aria-owns":r.selectListId,autoComplete:"off",className:a("adyen-checkout__filter-input",{"adyen-checkout__filter-input--placeholder":!_&&b}),onInput:r.onInput,ref:r.filterInputRef,role:"combobox","aria-activedescendant":h,type:"text",readOnly:r.readonly,"aria-disabled":r.readonly,id:r.id,"aria-describedby":r.ariaDescribedBy,required:p}),!_&&e(d,{tags:s.tags,className:"adyen-checkout__dropdown__button__tags"})):e(t,null,s.icon&&e(o,{className:"adyen-checkout__dropdown__button__icon",src:s.icon,alt:s.name}),e("span",{id:r.id?`${r.id}-value`:void 0,className:a("adyen-checkout__dropdown__button__text",{"adyen-checkout__dropdown__button__text-placeholder":b})},m),e(d,{tags:s.tags,className:"adyen-checkout__dropdown__button__tags"})))}export{r as default};
|
|
2
2
|
//# sourceMappingURL=SelectButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectButton.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectButton.tsx"],"sourcesContent":["import { h, Fragment, Ref } from 'preact';\nimport cx from 'classnames';\nimport { SelectButtonElementProps, SelectButtonProps } from '../types';\nimport Img from '../../../Img';\nimport { useMemo } from 'preact/hooks';\nimport classnames from 'classnames';\n\nfunction SelectButtonElement({ filterable, toggleButtonRef, showList, selectListId, ...props }: Readonly<SelectButtonElementProps>) {\n if (filterable) {\n // Even if passed, we can't add an id to this div since it is not allowed to associate a div with a label element\n const { id, ...strippedProps } = props;\n return <div {...strippedProps} ref={toggleButtonRef as Ref<HTMLDivElement>} />;\n }\n\n return (\n <button\n role=\"combobox\"\n type=\"button\"\n id={props.id}\n className={props.className}\n aria-haspopup=\"listbox\"\n aria-expanded={showList}\n aria-controls={selectListId}\n aria-activedescendant={props['aria-activedescendant'] || undefined}\n disabled={props.disabled}\n aria-disabled={props.readonly}\n aria-describedby={props['aria-describedby']}\n aria-labelledby={props.id ? `${props.id as string}-label ${props.id as string}-value` : undefined}\n onClick={props.onClick}\n onKeyDown={props.onKeyDown}\n ref={toggleButtonRef as Ref<HTMLButtonElement>}\n >\n {props.children}\n </button>\n );\n}\n\nfunction SelectButton(props: Readonly<SelectButtonProps>) {\n const { active, selected, inputText, readonly, showList, required } = props;\n\n const isShowingPlaceholder = useMemo(() => {\n const displayText = selected.selectedOptionName || selected.name;\n const isValidValue = typeof displayText === 'string' && displayText.trim() !== '';\n return isValidValue !== true;\n }, [selected, props.placeholder]);\n\n // display fallback order\n const displayText = selected.selectedOptionName || selected.name || props.placeholder || '';\n // displayInputText only used for the text input for the filter\n // display the \"typed\" filter text when showing the dropdown,\n // hide it and show the \"selected\" value when collapsed\n // When list is open, show user's typed input (or empty); otherwise show selected value\n const textWhenListOpen = inputText ?? '';\n const displayInputText = showList ? textWhenListOpen : displayText;\n\n const setFocus = (e: Event) => {\n e.preventDefault();\n if (document.activeElement === props.filterInputRef.current) {\n if (!props.showList) {\n props.toggleList(e);\n }\n } else if (props.filterInputRef.current) props.filterInputRef.current.focus();\n };\n\n // 1. If readonly we ignore the click action\n // 2. If filterable we want to show the list and focus on the input\n // 3. Otherwise we just toggle the list\n const onClickHandler = readonly ? null : props.filterable ? setFocus : props.toggleList;\n\n // check COWEB-1301 [Investigate] Drop-in Accessibility - ADA Compliance questions\n const currentSelectedItemId = active.id ? `listItem-${active.id}` : '';\n\n return (\n <SelectButtonElement\n className={cx({\n 'adyen-checkout__dropdown__button': true,\n 'adyen-checkout__dropdown__button--readonly': readonly,\n 'adyen-checkout__dropdown__button--active': showList,\n 'adyen-checkout__dropdown__button--invalid': props.isInvalid,\n 'adyen-checkout__dropdown__button--valid': props.isValid,\n 'adyen-checkout__dropdown__button--disabled': selected.disabled\n })}\n disabled={props.disabled}\n filterable={props.filterable}\n onClick={onClickHandler}\n onKeyDown={!readonly ? props.onButtonKeyDown : null}\n toggleButtonRef={props.toggleButtonRef}\n id={props.id}\n showList={showList}\n selectListId={props.selectListId}\n aria-activedescendant={!props.filterable && showList ? currentSelectedItemId || undefined : undefined}\n aria-describedby={props.ariaDescribedBy}\n >\n {!props.filterable ? (\n <Fragment>\n {selected.icon && <Img className=\"adyen-checkout__dropdown__button__icon\" src={selected.icon} alt={selected.name} />}\n <span\n id={props.id ? `${props.id}-value` : undefined}\n className={classnames('adyen-checkout__dropdown__button__text', {\n 'adyen-checkout__dropdown__button__text-placeholder': isShowingPlaceholder\n })}\n >\n {displayText}\n </span>\n {selected.secondaryText && <span className=\"adyen-checkout__dropdown__button__secondary-text\">{selected.secondaryText}</span>}\n </Fragment>\n ) : (\n <Fragment>\n {!showList && selected.icon && <Img className=\"adyen-checkout__dropdown__button__icon\" src={selected.icon} alt={selected.name} />}\n <input\n value={displayInputText}\n aria-autocomplete=\"list\"\n aria-controls={props.selectListId}\n aria-expanded={showList}\n aria-owns={props.selectListId}\n autoComplete=\"off\"\n className={classnames('adyen-checkout__filter-input', {\n 'adyen-checkout__filter-input--placeholder': !showList && isShowingPlaceholder\n })}\n onInput={props.onInput}\n ref={props.filterInputRef}\n role=\"combobox\"\n aria-activedescendant={currentSelectedItemId}\n type=\"text\"\n readOnly={props.readonly}\n aria-disabled={props.readonly}\n id={props.id}\n aria-describedby={props.ariaDescribedBy}\n required={required}\n />\n {!showList && selected.secondaryText && (\n <span className=\"adyen-checkout__dropdown__button__secondary-text\">{selected.secondaryText}</span>\n )}\n </Fragment>\n )}\n </SelectButtonElement>\n );\n}\n\nexport default SelectButton;\n"],"names":["SelectButtonElement","filterable","toggleButtonRef","showList","selectListId","props","id","strippedProps","h","div","ref","button","role","type","className","aria-haspopup","aria-expanded","aria-controls","aria-activedescendant","undefined","disabled","aria-disabled","readonly","aria-describedby","aria-labelledby","onClick","onKeyDown","children","SelectButton","active","selected","inputText","required","isShowingPlaceholder","useMemo","displayText","selectedOptionName","name","trim","placeholder","displayInputText","onClickHandler","e","preventDefault","document","activeElement","filterInputRef","current","toggleList","focus","currentSelectedItemId","cx","isInvalid","isValid","onButtonKeyDown","ariaDescribedBy","Fragment","icon","Img","src","alt","input","value","aria-autocomplete","aria-owns","autoComplete","classnames","onInput","readOnly","secondaryText","span"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectButton.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectButton.tsx"],"sourcesContent":["import { h, Fragment, Ref } from 'preact';\nimport cx from 'classnames';\nimport { SelectButtonElementProps, SelectButtonProps } from '../types';\nimport Img from '../../../Img';\nimport { TagList } from '../../../Tag';\nimport { useMemo } from 'preact/hooks';\nimport classnames from 'classnames';\n\nfunction SelectButtonElement({ filterable, toggleButtonRef, showList, selectListId, readonly, ...props }: Readonly<SelectButtonElementProps>) {\n if (filterable) {\n // Even if passed, we can't add an id to this div since it is not allowed to associate a div with a label element\n const { id, ...strippedProps } = props;\n return <div {...strippedProps} ref={toggleButtonRef as Ref<HTMLDivElement>} />;\n }\n\n return (\n <button\n role=\"combobox\"\n type=\"button\"\n id={props.id}\n className={props.className}\n aria-haspopup=\"listbox\"\n aria-expanded={showList}\n aria-controls={selectListId}\n aria-activedescendant={props['aria-activedescendant'] || undefined}\n disabled={props.disabled}\n aria-disabled={readonly}\n aria-describedby={props['aria-describedby']}\n aria-labelledby={props.id ? `${props.id as string}-label ${props.id as string}-value` : undefined}\n onClick={props.onClick}\n onKeyDown={props.onKeyDown}\n ref={toggleButtonRef as Ref<HTMLButtonElement>}\n >\n {props.children}\n </button>\n );\n}\n\nfunction SelectButton(props: Readonly<SelectButtonProps>) {\n const { active, selected, inputText, readonly, showList, required } = props;\n\n const isShowingPlaceholder = useMemo(() => {\n const displayText = selected.selectedOptionName || selected.name;\n const isValidValue = typeof displayText === 'string' && displayText.trim() !== '';\n return isValidValue !== true;\n }, [selected, props.placeholder]);\n\n // display fallback order\n const displayText = selected.selectedOptionName || selected.name || props.placeholder || '';\n // displayInputText only used for the text input for the filter\n // display the \"typed\" filter text when showing the dropdown,\n // hide it and show the \"selected\" value when collapsed\n // When list is open, show user's typed input (or empty); otherwise show selected value\n const textWhenListOpen = inputText ?? '';\n const displayInputText = showList ? textWhenListOpen : displayText;\n\n const handleClick = (e: Event) => {\n e.preventDefault();\n props.filterInputRef.current?.focus();\n\n // Clicking the input of an open list keeps it open\n if (e.target === props.filterInputRef.current && props.showList) return;\n\n props.toggleList(e);\n };\n\n // 1. If readonly we ignore the click action\n // 2. If filterable we want to toggle the list and focus on the input\n // 3. Otherwise we just toggle the list\n const getOnClickHandler = (): ((e: Event) => void) | null => {\n if (readonly) return null;\n\n if (props.filterable) return handleClick;\n\n return props.toggleList;\n };\n\n // check COWEB-1301 [Investigate] Drop-in Accessibility - ADA Compliance questions\n const currentSelectedItemId = active.id ? `listItem-${active.id}` : '';\n\n return (\n <SelectButtonElement\n className={cx({\n 'adyen-checkout__dropdown__button': true,\n 'adyen-checkout__dropdown__button--readonly': readonly,\n 'adyen-checkout__dropdown__button--active': showList,\n 'adyen-checkout__dropdown__button--invalid': props.isInvalid,\n 'adyen-checkout__dropdown__button--valid': props.isValid,\n 'adyen-checkout__dropdown__button--disabled': selected.disabled\n })}\n disabled={props.disabled}\n filterable={props.filterable}\n readonly={readonly}\n onClick={getOnClickHandler()}\n onKeyDown={!readonly ? props.onButtonKeyDown : null}\n toggleButtonRef={props.toggleButtonRef}\n id={props.id}\n showList={showList}\n selectListId={props.selectListId}\n aria-activedescendant={!props.filterable && showList ? currentSelectedItemId || undefined : undefined}\n aria-describedby={props.ariaDescribedBy}\n >\n {!props.filterable ? (\n <Fragment>\n {selected.icon && <Img className=\"adyen-checkout__dropdown__button__icon\" src={selected.icon} alt={selected.name} />}\n <span\n id={props.id ? `${props.id}-value` : undefined}\n className={classnames('adyen-checkout__dropdown__button__text', {\n 'adyen-checkout__dropdown__button__text-placeholder': isShowingPlaceholder\n })}\n >\n {displayText}\n </span>\n <TagList tags={selected.tags} className=\"adyen-checkout__dropdown__button__tags\" />\n </Fragment>\n ) : (\n <Fragment>\n {!showList && selected.icon && <Img className=\"adyen-checkout__dropdown__button__icon\" src={selected.icon} alt={selected.name} />}\n <input\n value={displayInputText}\n aria-autocomplete=\"list\"\n aria-controls={props.selectListId}\n aria-expanded={showList}\n aria-owns={props.selectListId}\n autoComplete=\"off\"\n className={classnames('adyen-checkout__filter-input', {\n 'adyen-checkout__filter-input--placeholder': !showList && isShowingPlaceholder\n })}\n onInput={props.onInput}\n ref={props.filterInputRef}\n role=\"combobox\"\n aria-activedescendant={currentSelectedItemId}\n type=\"text\"\n readOnly={props.readonly}\n aria-disabled={props.readonly}\n id={props.id}\n aria-describedby={props.ariaDescribedBy}\n required={required}\n />\n {!showList && <TagList tags={selected.tags} className=\"adyen-checkout__dropdown__button__tags\" />}\n </Fragment>\n )}\n </SelectButtonElement>\n );\n}\n\nexport default SelectButton;\n"],"names":["SelectButtonElement","filterable","toggleButtonRef","showList","selectListId","readonly","props","id","strippedProps","h","div","ref","button","role","type","className","aria-haspopup","aria-expanded","aria-controls","aria-activedescendant","undefined","disabled","aria-disabled","aria-describedby","aria-labelledby","onClick","onKeyDown","children","SelectButton","active","selected","inputText","required","isShowingPlaceholder","useMemo","displayText","selectedOptionName","name","trim","placeholder","displayInputText","handleClick","e","preventDefault","filterInputRef","current","focus","target","toggleList","currentSelectedItemId","cx","isInvalid","isValid","onButtonKeyDown","ariaDescribedBy","Fragment","icon","Img","src","alt","input","value","aria-autocomplete","aria-owns","autoComplete","classnames","onInput","readOnly","TagList","tags","span"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createElement as e}from"../../../../../external/preact/dist/preact.js";import
|
|
1
|
+
import{createElement as e}from"../../../../../external/preact/dist/preact.js";import a from"../../../../../_virtual/index.js";import t from"../../../Img/Img.js";import o from"../../../Icon/Icon.js";import{PREFIX as d}from"../../../Icon/constants.js";import{TagList as n}from"../../../Tag/TagList.js";const c=({item:c,active:_,selected:s,...r})=>e("li",{"aria-disabled":!!c.disabled,"aria-selected":s,className:a(["adyen-checkout__dropdown__element",{"adyen-checkout__dropdown__element--active":_,"adyen-checkout__dropdown__element--disabled":!!c.disabled}]),"data-disabled":!0===c.disabled||null,"data-value":c.id,onClick:r.onSelect,onMouseEnter:r.onHover,role:"option",id:`listItem-${c.id}`},e("div",{className:"adyen-checkout__dropdown__element__content"},e("div",{className:"adyen-checkout__dropdown__element__primary"},c.icon&&e(t,{className:"adyen-checkout__dropdown__element__icon",alt:c.name,src:c.icon}),e("span",{className:"adyen-checkout__dropdown__element__text"},c.name)),c.secondaryText&&e("span",{className:"adyen-checkout__dropdown__element__secondary-text"},c.secondaryText)),e(n,{tags:c.tags,className:"adyen-checkout__dropdown__element__tags"}),s&&e(o,{type:`${d}checkmark_black`,height:14,width:14}));export{c as default};
|
|
2
2
|
//# sourceMappingURL=SelectListItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectListItem.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectListItem.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { SelectItemProps } from '../types';\nimport Img from '../../../Img';\nimport Icon from '../../../Icon';\nimport { PREFIX } from '../../../Icon/constants';\n\nconst SelectListItem = ({ item, active, selected, ...props }: Readonly<SelectItemProps>) => {\n return (\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n <li\n aria-disabled={!!item.disabled}\n aria-selected={selected}\n className={cx([\n 'adyen-checkout__dropdown__element',\n {\n 'adyen-checkout__dropdown__element--active': active,\n 'adyen-checkout__dropdown__element--disabled': !!item.disabled\n }\n ])}\n // A change in Preact v10.11.1 means that all falsy values are assessed and set on data attributes.\n // In the case of data-disabled we only ever want it set if item.disabled is actually true, since the presence of the data-disabled attr,\n // regardless of its value, will disable the select list item\n data-disabled={item.disabled === true ? true : null}\n data-value={item.id}\n onClick={props.onSelect}\n onMouseEnter={props.onHover}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role */\n role=\"option\"\n //tabIndex={-1}\n id={`listItem-${item.id}`}\n >\n {item.icon && <Img className=\"adyen-checkout__dropdown__element__icon\" alt={item.name} src={item.icon} />}\n
|
|
1
|
+
{"version":3,"file":"SelectListItem.js","sources":["../../../../../../../src/components/internal/FormFields/Select/components/SelectListItem.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { SelectItemProps } from '../types';\nimport Img from '../../../Img';\nimport Icon from '../../../Icon';\nimport { PREFIX } from '../../../Icon/constants';\nimport { TagList } from '../../../Tag';\n\nconst SelectListItem = ({ item, active, selected, ...props }: Readonly<SelectItemProps>) => {\n return (\n /* eslint-disable jsx-a11y/click-events-have-key-events */\n <li\n aria-disabled={!!item.disabled}\n aria-selected={selected}\n className={cx([\n 'adyen-checkout__dropdown__element',\n {\n 'adyen-checkout__dropdown__element--active': active,\n 'adyen-checkout__dropdown__element--disabled': !!item.disabled\n }\n ])}\n // A change in Preact v10.11.1 means that all falsy values are assessed and set on data attributes.\n // In the case of data-disabled we only ever want it set if item.disabled is actually true, since the presence of the data-disabled attr,\n // regardless of its value, will disable the select list item\n data-disabled={item.disabled === true ? true : null}\n data-value={item.id}\n onClick={props.onSelect}\n onMouseEnter={props.onHover}\n /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role */\n role=\"option\"\n //tabIndex={-1}\n id={`listItem-${item.id}`}\n >\n <div className=\"adyen-checkout__dropdown__element__content\">\n <div className=\"adyen-checkout__dropdown__element__primary\">\n {item.icon && <Img className=\"adyen-checkout__dropdown__element__icon\" alt={item.name} src={item.icon} />}\n <span className=\"adyen-checkout__dropdown__element__text\">{item.name}</span>\n </div>\n {item.secondaryText && <span className=\"adyen-checkout__dropdown__element__secondary-text\">{item.secondaryText}</span>}\n </div>\n <TagList tags={item.tags} className=\"adyen-checkout__dropdown__element__tags\" />\n {selected && <Icon type={`${PREFIX}checkmark_black`} height={14} width={14} />}\n </li>\n );\n};\n\nexport default SelectListItem;\n"],"names":["SelectListItem","item","active","selected","props","h","li","aria-disabled","disabled","aria-selected","className","cx","data-disabled","data-value","id","onClick","onSelect","onMouseEnter","onHover","role","div","icon","Img","alt","name","src","span","secondaryText","TagList","tags","Icon","type","PREFIX","height","width"],"mappings":"4SAQA,MAAMA,EAAiB,EAAGC,OAAMC,SAAQC,cAAaC,KAG7CC,EAACC,KAAAA,CACGC,kBAAiBN,EAAKO,SACtBC,gBAAeN,EACfO,UAAWC,EAAG,CACV,oCACA,CACI,4CAA6CT,EAC7C,gDAAiDD,EAAKO,YAM9DI,iBAAiC,IAAlBX,EAAKO,UAA2B,KAC/CK,aAAYZ,EAAKa,GACjBC,QAASX,EAAMY,SACfC,aAAcb,EAAMc,QAEpBC,KAAK,SAELL,GAAI,YAAYb,EAAKa,MAErBT,EAACe,MAAAA,CAAIV,UAAU,8CACXL,EAACe,MAAAA,CAAIV,UAAU,8CACVT,EAAKoB,MAAQhB,EAACiB,EAAAA,CAAIZ,UAAU,0CAA0Ca,IAAKtB,EAAKuB,KAAMC,IAAKxB,EAAKoB,OACjGhB,EAACqB,OAAAA,CAAKhB,UAAU,2CAA2CT,EAAKuB,OAEnEvB,EAAK0B,eAAiBtB,EAACqB,OAAAA,CAAKhB,UAAU,qDAAqDT,EAAK0B,gBAErGtB,EAACuB,EAAAA,CAAQC,KAAM5B,EAAK4B,KAAMnB,UAAU,4CACnCP,GAAYE,EAACyB,EAAAA,CAAKC,KAAM,GAAGC,mBAAyBC,OAAQ,GAAIC,MAAO"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createElement as s}from"../../../external/preact/dist/preact.js";import t from"../../../_virtual/index.js";import e from"./Tag.module.scss.js";import{TagVariant as r}from"./types.js";const a={[r.SUCCESS]:e.success,[r.INFO]:e.info},o=({label:o,variant:m=r.INFO})=>s("span",{className:t(e.tag,a[m])},o);export{o as Tag};
|
|
2
|
+
//# sourceMappingURL=Tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.js","sources":["../../../../../src/components/internal/Tag/Tag.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport type { TagProps } from './types';\nimport styles from './Tag.module.scss';\nimport { TagVariant } from './types';\n\nconst variantClass: Record<TagVariant, string> = {\n [TagVariant.SUCCESS]: styles.success,\n [TagVariant.INFO]: styles.info\n};\n\nexport const Tag = ({ label, variant = TagVariant.INFO }: Readonly<TagProps>) => {\n return <span className={cx(styles.tag, variantClass[variant])}>{label}</span>;\n};\n"],"names":["variantClass","TagVariant","SUCCESS","styles","success","INFO","info","Tag","label","variant","h","span","className","cx","tag"],"mappings":"8LAMA,MAAMA,EAA2C,CAC7C,CAACC,EAAWC,SAAUC,EAAOC,QAC7B,CAACH,EAAWI,MAAOF,EAAOG,MAGjBC,EAAM,EAAGC,QAAOC,UAAUR,EAAWI,QACvCK,EAACC,OAAAA,CAAKC,UAAWC,EAAGV,EAAOW,IAAKd,EAAaS,KAAYD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{createElement as a}from"../../../external/preact/dist/preact.js";import t from"../../../_virtual/index.js";import{Tag as e}from"./Tag.js";import s from"./TagList.module.scss.js";const r=({tags:r,className:l})=>r?.length?a("div",{className:t(s.tagList,l)},r.map((t,s)=>a(e,{key:`${s}-${t.label}`,label:t.label,variant:t.variant}))):null;export{r as TagList};
|
|
2
|
+
//# sourceMappingURL=TagList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagList.js","sources":["../../../../../src/components/internal/Tag/TagList.tsx"],"sourcesContent":["import { h } from 'preact';\nimport cx from 'classnames';\nimport { Tag } from './Tag';\nimport type { TagListProps } from './types';\nimport styles from './TagList.module.scss';\n\nexport const TagList = ({ tags, className }: Readonly<TagListProps>) => {\n if (!tags?.length) return null;\n return (\n <div className={cx(styles.tagList, className)}>\n {tags.map((tag, index) => (\n <Tag key={`${index}-${tag.label}`} label={tag.label} variant={tag.variant} />\n ))}\n </div>\n );\n};\n"],"names":["TagList","tags","className","length","h","div","cx","styles","tagList","map","tag","index","Tag","key","label","variant"],"mappings":"+LAMaA,EAAU,EAAGC,OAAMC,eACvBD,GAAME,OAEPC,EAACC,MAAAA,CAAIH,UAAWI,EAAGC,EAAOC,QAASN,IAC9BD,EAAKQ,IAAI,CAACC,EAAKC,IACZP,EAACQ,EAAAA,CAAIC,IAAK,GAAGF,KAASD,EAAII,QAASA,MAAOJ,EAAII,MAAOC,QAASL,EAAIK,YAJpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagList.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../../src/components/internal/Tag/types.ts"],"sourcesContent":["export enum TagVariant {\n SUCCESS = 'success',\n INFO = 'info'\n}\n\nexport interface TagProps {\n label: string;\n variant?: TagVariant;\n}\n\nexport interface TagListProps {\n tags?: TagProps[];\n className?: string;\n}\n"],"names":["TagVariant"],"mappings":"AAAO,IAAAA,EAAKA,SAAAA,GAAAA,yCAAAA,CAGX,CAHWA,CAGX,CAAA"}
|
package/dist/es/core/config.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,n){if(null==e)throw new Error(n);return e}const n="https://checkoutshopper-live.adyen.com/checkoutshopper/",o=e("6.
|
|
1
|
+
function e(e,n){if(null==e)throw new Error(n);return e}const n="https://checkoutshopper-live.adyen.com/checkoutshopper/",o=e("6.43.0","LIBRARY_VERSION is not defined"),t=e("esm","BUNDLE_TYPE is not defined"),r=["amount","secondaryAmount","countryCode","environment","_environmentUrls","loadingContext","i18n","modules","order","session","clientKey","showPayButton","redirectFromTopWhenInIframe","donation","onPaymentCompleted","onPaymentFailed","beforeRedirect","beforeSubmit","onSubmit","onActionHandled","onAdditionalDetails","onChange","onEnterKeyPressed","onError","onBalanceCheck","onOrderCancel","onOrderRequest","onOrderUpdated","onPaymentMethodsRequest"],i=6e4;var d=function(e){return e.WEB="web",e}({});const a="web";var s=function(e){return e.NATIVE="nativeComponent",e.GENERIC="genericComponent",e}({});export{d as CHANNEL,i as DEFAULT_HTTP_TIMEOUT,n as FALLBACK_CONTEXT,r as GENERIC_OPTIONS,t as LIBRARY_BUNDLE_TYPE,o as LIBRARY_VERSION,s as PAYMENT_METHOD_BEHAVIOR,a as PLATFORM};
|
|
2
2
|
//# sourceMappingURL=config.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e={payButton:"Pay","payButton.redirecting":"Redirecting...","payButton.with":"Pay %{value} with %{maskedData}","payButton.saveDetails":"Save details",close:"Close",storeDetails:"Save for my next payment",readMore:"Read more","creditCard.holderName":"Name on card","creditCard.holderName.invalid":"Enter name as shown on card","creditCard.expiryDateField.month":"Month","creditCard.expiryDateField.year":"Year","creditCard.storeDetailsButton":"Remember for next time","creditCard.dualBrand.title":"Card Brand","creditCard.dualBrand.description":"You can select the card brand you prefer to pay with. This is optional.",installments:"Number of installments",installmentOption:"%{times}x %{partialValue}",installmentOptionMonths:"%{times} months","installments.oneTime":"One time payment","installments.installments":"Installments payment","installments.revolving":"Revolving payment","installments.bonus":"Bonus payment","sepaDirectDebit.ibanField.invalid":"Invalid account number","sepa.ownerName":"Holder Name","sepa.ibanNumber":"Account Number (IBAN)","error.title":"Error","error.subtitle.redirect":"Redirect failed","error.subtitle.payment":"Payment failed","error.subtitle.refused":"Payment refused","error.message.unknown":"An unknown error occurred","errorPanel.title":"Existing errors","idealIssuer.selectField.title":"Bank","creditCard.success":"Payment Successful",loading:"Loading…",continue:"Continue",continueTo:"Continue to","wechatpay.timetopay":"You have %@ to pay","sr.wechatpay.timetopay":"You have %#minutes%# %#seconds%# to pay","wechatpay.scanqrcode":"Scan QR code",personalDetails:"Personal details",companyDetails:"Company details","companyDetails.name":"Company name","companyDetails.registrationNumber":"Registration number",socialSecurityNumber:"Social security number",firstName:"First name","firstName.invalid":"Enter your first name",infix:"Prefix",lastName:"Last name","lastName.invalid":"Enter your last name",mobileNumber:"Mobile number","mobileNumber.invalid":"Invalid mobile number",city:"City",postalCode:"Postal code","postalCode.optional":"Postal code (optional)",countryCode:"Country Code",telephoneNumber:"Telephone number",telephonePrefix:"Prefix",dateOfBirth:"Date of birth",shopperEmail:"Email address",gender:"Gender","gender.notselected":"Select your gender",male:"Male",female:"Female",billingAddress:"Billing address",street:"Street",stateOrProvince:"State or province",country:"Country/Region",houseNumberOrName:"House number",separateDeliveryAddress:"Specify a separate delivery address",deliveryAddress:"Delivery Address","deliveryAddress.firstName":"Recipient first name","deliveryAddress.lastName":"Recipient last name",zipCode:"Zip code",apartmentSuite:"Apartment / Suite",provinceOrTerritory:"Province or Territory",cityTown:"City / Town",address:"Address","address.search.contextualText":"Type to start searching your address","address.errors.incomplete":"Enter an address to continue","address.enterManually":"Enter address manually",state:"State",payAmountFormat:"Pay %@","field.title.optional":"(optional)","issuerList.selectField.contextualText":"Select your bank to continue","issuerList.selectField.label":"Bank selection",privacyPolicy:"Privacy policy","afterPay.agreement":"I agree with the %@ of Riverty","riverty.termsAndConditions":"I agree with the general %#Terms & Conditions%# for the Riverty Payment Method. The privacy policy of Riverty can be found %#here%#.",paymentConditions:"payment conditions",openApp:"Open the app","voucher.readInstructions":"Read instructions","voucher.introduction":"Thank you for your purchase, please use the following coupon to complete your payment.","voucher.expirationDate":"Expiration Date","voucher.alternativeReference":"Alternative Reference","voucher.paymentReferenceLabel":"Payment Reference","voucher.surcharge":"Incl. %@ surcharge","voucher.introduction.doku":"Thank you for your purchase, please use the following information to complete your payment.","voucher.shopperName":"Shopper Name","voucher.merchantName":"Merchant","voucher.introduction.econtext":"Thank you for your purchase, please use the following information to complete your payment.","voucher.telephoneNumber":"Phone Number","voucher.shopperReference":"Shopper Reference","voucher.collectionInstitutionNumber":"Collection Institution Number","voucher.econtext.telephoneNumber.invalid":"Telephone number must be 10 or 11 digits long","boletobancario.btnLabel":"Generate Boleto","boleto.sendCopyToEmail":"Send a copy to my email","button.copy":"Copy","button.copied":"Copied!","button.download":"Download","boleto.socialSecurityNumber":"CPF/CNPJ","boleto.socialSecurityNumber.invalid":"Enter a valid CPF/CNPJ number","creditCard.storedCard.description.ariaLabel":"Stored card ends in %@","voucher.entity":"Entity",donateButton:"Donate",donationTermsCondition:"By donating you agree to the %#terms and conditions%#",donationRoundUpDescription:"%{donationAmount} is a round up from your original payment (%{originalPaymentAmount})",notNowButton:"Not now",thanksForYourSupport:"Thanks for your support!","resultMessages.preauthorized":"Details saved",preauthorizeWith:"Preauthorize with",confirmPreauthorization:"Confirm preauthorization",confirmPurchase:"Confirm purchase",applyGiftcard:"Redeem",giftcardBalance:"Gift card balance",deductedBalance:"Deducted balance","creditCard.taxNumber":"Cardholder birthdate or Corporate registration number","creditCard.taxNumber.label":"Cardholder birthdate (YYMMDD) or Corporate registration number (10 digits)","creditCard.taxNumber.labelAlt":"Corporate registration number (10 digits)","creditCard.taxNumber.invalid":"Invalid Cardholder birthdate or Corporate registration number","storedPaymentMethod.disable.button":"Remove","storedPaymentMethod.disable.confirmation":"Remove stored payment method","storedPaymentMethod.disable.confirmButton":"Yes, remove","storedPaymentMethod.disable.cancelButton":"Cancel","ach.bankAccount":"Bank account","ach.bankAccount.title":"Bank account details","ach.bankAccount.label":"Account type","ach.bankAccount.placeholder":"Choose an account type","ach.bankAccount.nothing-selected-error":"Choose an account type","ach.bankAccount.option.personal-checking":"Personal Checking Account","ach.bankAccount.option.personal-savings":"Personal Savings Account","ach.bankAccount.option.business-checking":"Business Checking Account","ach.bankAccount.option.business-savings":"Business Savings Account","ach.bankAccountNumberVerification.label":"Verify account number","ach.bankAccountNumberVerification.error.not-match":"Account number does not match","ach.bankAccountNumberVerification.error.empty":"Enter the provided account number to verify the account number","ach.routingNumber.label":"Routing number","ach.accountHolderNameField.title":"Account holder name","ach.accountHolderNameField.contextualText":"Located on the front of your card","ach.accountHolderNameField.invalid":"Invalid account holder name","ach.accountNumberField.invalid":"Invalid account number","ach.accountLocationField.invalid":"Invalid ABA routing number","ach.savedBankAccount":"Saved bank account","ach.savings":"Savings account","ach.checking":"Checking account","select.state":"Select state","select.stateOrProvince":"Select state or province","select.provinceOrTerritory":"Select province or territory","select.country":"Select country/region","select.noOptionsFound":"No options found","select.results":"%{count} results available","telephoneNumber.invalid":"Invalid telephone number",qrCodeOrApp:"or","paypal.processingPayment":"Processing payment...",generateQRCode:"Generate QR code","await.waitForConfirmation":"Waiting for confirmation","mbway.confirmPayment":"Confirm your payment on the MB WAY app","shopperEmail.invalid":"Invalid email address","dateOfBirth.format":"DD/MM/YYYY","dateOfBirth.invalid":"Enter a valid date of birth that indicates you are at least 18 years old","blik.confirmPayment":"Open your banking app to confirm the payment.","blik.invalid":"Enter 6 numbers","blik.code":"6-digit code","blik.help":"Get the code from your banking app.","swish.pendingMessage":"After you scan, the status can be pending for up to 10 minutes. Attempting to pay again within this time may result in multiple charges.","field.valid":"Field valid","field.invalid":"Field not valid","field.error.required":"Enter the %{label}","field.error.invalid":"Enter a valid %{label}","error.giftcard.no-balance":"This gift card has zero balance","error.giftcard.card-error":"In our records we have no gift card with this number","error.giftcard.currency-error":"Gift cards are only valid in the currency they were issued in","err.gen.9100":"Incomplete field","err.gen.9101":"Field not valid","err.gen.9102":"Data parsing error","3ds.chal.805":"Challenge resolved without a %{result} object","cc.num.902":"Enter a valid card number","cc.num.900":"Enter the card number","cc.num.903":"Enter a supported card brand","cc.num.901":"Enter the complete card number","cc.dat.912":"Enter a valid expiry date","cc.dat.913":"Enter a valid expiry date","cc.dat.914":"Credit card about to expire","cc.dat.910":"Enter the expiry date","cc.dat.911":"Enter the complete expiry date","cc.mth.915":"Enter the expiry month","cc.yr.917":"Enter the expiry year","cc.yr.918":"Enter the complete expiry year","cc.cvc.920":"Enter the security code","cc.cvc.921":"Enter the complete security code","ach.num.945":"Enter the bank account number","ach.num.946":"Enter the complete bank account number","ach.loc.947":"Enter the bank routing number","ach.loc.948":"Enter the complete bank routing number","kcp.pwd.940":"Enter the password","kcp.pwd.941":"Enter the complete password","amazonpay.signout":"Sign out from Amazon","amazonpay.changePaymentDetails":"Change payment details","partialPayment.warning":"Select another payment method to pay the remaining","partialPayment.remainingBalance":"Remaining balance will be %{amount}","order.paymentMethod.description":"%{name} ending in %{lastFour}","bankTransfer.beneficiary":"Beneficiary name","bankTransfer.iban":"IBAN","bankTransfer.bic":"BIC","bankTransfer.reference":"Reference","bankTransfer.accountNumber":"Account number","bankTransfer.sortCode":"Sort code","bankTransfer.routingNumber":"Routing number","bankTransfer.branchCode":"Branch code","bankTransfer.bankCode":"Bank code","bankTransfer.introduction":"Press ‘Continue’ to create a new bank transfer payment. You can use the details in the following screen to finalize this payment.","bankTransfer.instructions":"Thank you for your purchase, please use the following information to complete your payment.","bankTransfer.shopperEmail.contextualText":"A copy of the payment details will be sent to your email so you can complete the payment later.","bankTransfer.details.title":"Payment details","bankTransfer.instruction.title":"Payment process","bankTransfer.instruction.step1":"Open your banking app","bankTransfer.instruction.step2":"Start a new transfer","bankTransfer.instruction.step3":"Enter the account details provided below","bankTransfer.instruction.step4":"Review and confirm the payment","bacs.accountHolderName":"Bank account holder name","bacs.accountHolderName.invalid":"Invalid bank account holder name","bacs.accountNumber":"Bank account number","bacs.accountNumber.invalid":"Invalid bank account number","bacs.bankLocationId":"Sort code","bacs.bankLocationId.invalid":"Invalid sort code","bacs.consent.amount":"I agree that the above amount will be deducted from my bank account.","bacs.consent.account":"I confirm the account is in my name and I am the only signatory required to authorise the Direct Debit on this account.",edit:"Edit","bacs.confirm":"Confirm and pay","bacs.result.introduction":"Download your Direct Debit Instruction (DDI / Mandate)","download.pdf":"Download PDF","creditCard.encryptedCardNumber.aria.iframeTitle":"Card number","creditCard.encryptedExpiryDate.aria.iframeTitle":"Expiry date","creditCard.encryptedExpiryMonth.aria.iframeTitle":"Expiry month","creditCard.encryptedExpiryYear.aria.iframeTitle":"Expiry year","creditCard.encryptedSecurityCode.aria.iframeTitle":"Security code","creditCard.encryptedPassword.aria.iframeTitle":"Password","giftcard.encryptedCardNumber.aria.iframeTitle":"Card number","giftcard.encryptedSecurityCode.aria.iframeTitle":"Pin",giftcardTransactionLimit:"Max. %{amount} allowed per transaction on this gift card","pix.instructions":"Use your banking app to scan the QR code or copy the PIX code below to complete your payment.","pix.code.label":"PIX code","pix.code.copy.label":"Copy PIX code","pix.code.copied.label":"PIX code copied","twint.saved":"saved",orPayWith:"or pay with","invalid.format.expects":"%{label} Invalid format. Expected format: %{format}","upi.qrCodeWaitingMessage":"Scan the QR code using your preferred UPI app to complete the payment","upi.vpaWaitingMessage":"Open your UPI app to confirm the payment","upi.modeSelection":"How would you like to use UPI?","upi.completePayment":"Complete your payment","upi.mode.enterUpiId":"UPI ID","upi.mode.qrCode":"QR code","upi.mode.payByAnyUpi":"UPI apps","upi.collect.dropdown.label":"Enter UPI ID","upi.collect.instruction":"Enter your UPI ID","upi.collect.field.label":"UPI ID","upi.collect.field.contextualText":"Enter the UPI ID connected to your account and press continue","upi.collect.field.invalid-id-error":"Enter a valid UPI","upi.error.noAppSelected":"Select your preferred UPI app to continue","upi.intent.instruction":"Select your preferred UPI app","upi.qrCode.instruction":"After generating the QR code you can use your preferred UPI app to complete the payment.","onlineBanking.termsAndConditions":"By continuing you agree with the %#terms and conditions%#","onlineBankingPL.termsAndConditions":"By continuing you agree with the %#regulations%# and %#information obligation%# of Przelewy24","ctp.loading.poweredByCtp":"Powered by Click to Pay","ctp.loading.intro":"We are checking to see if you have any saved cards with Click to Pay...","ctp.login.title":"Continue to Click to Pay","ctp.login.subtitle":"Enter the email address that is connected to Click to Pay to continue.","ctp.login.inputLabel":"Email","ctp.logout.notYou":"Not you?","ctp.logout.notYourCards":"Not your cards?","ctp.logout.notYourCard":"Not your card?","ctp.logout.notYourProfile":"Not your profile?","ctp.otp.fieldLabel":"One time code","ctp.otp.resendCode":"Resend code","ctp.otp.codeResent":"Code resent","ctp.otp.title":"Access your Click to Pay cards","ctp.otp.subtitle":"Enter the code %@ sent to %@ to verify it‘s you.","ctp.otp.saveCookiesCheckbox.label":"Skip verification next time","ctp.otp.saveCookiesCheckbox.information":"Select to be remembered on your device and browser at participating stores for faster checkout. Not recommended for shared devices.","ctp.otp.saveCookiesCheckbox.shorterInfo":"Select to be remembered on your device and browser","ctp.emptyProfile.message":"No cards registered in this Click to Pay profile","ctp.separatorText":"or use","ctp.cards.title":"Complete payment with Click to Pay","ctp.cards.subtitle":"Select a card to use.","ctp.cards.expiredCard":"Expired","ctp.manualCardEntry":"Manual card entry","ctp.aria.infoModalButton":"What is Click to Pay","ctp.infoPopup.title":"Click to Pay brings the ease of contactless, online","ctp.infoPopup.subtitle":"A fast, secure payment method supported by Mastercard, Visa and other payment cards.","ctp.infoPopup.benefit1":"Click to Pay uses encryption to keep your information safe and secure","ctp.infoPopup.benefit2":"Use it with merchants worldwide","ctp.infoPopup.benefit3":"Set up once for hassle-free payments in the future","ctp.errors.AUTH_INVALID":"Authentication Invalid","ctp.errors.NOT_FOUND":"No account found, enter a valid email or continue using manual card entry","ctp.errors.ID_FORMAT_UNSUPPORTED":"Format not supported","ctp.errors.FRAUD":"The user account was locked or disabled","ctp.errors.CONSUMER_ID_MISSING":"Consumer identity is missing in the request","ctp.errors.ACCT_INACCESSIBLE":"This account is currently not available, e.g it is locked","ctp.errors.CODE_INVALID":"Incorrect verification code","ctp.errors.CODE_EXPIRED":"This code has expired","ctp.errors.RETRIES_EXCEEDED":"The limit for the number of retries for OTP generation was exceeded","ctp.errors.OTP_SEND_FAILED":"The OTP could not be sent to the recipient","ctp.errors.REQUEST_TIMEOUT":"Something went wrong, try again or use the manual card entry","ctp.errors.UNKNOWN_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.SERVICE_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.SERVER_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.INVALID_PARAMETER":"Something went wrong, try again or use the manual card entry","ctp.errors.INVALID_EMAIL":"Enter a valid email address (e.g. name@example.com)","ctp.errors.AUTH_ERROR":"Something went wrong, try again or use the manual card entry","paymentMethodsList.aria.label":"Choose a payment method","paymentMethodsList.storedPayments.label":"Saved payment methods","paymentMethodsList.otherPayments.label":"More payment options","paymentMethodsList.otherPayments.buttonLabel":"Show %{count} more","paymentMethodsList.promotedPayments.label":"Other","companyDetails.name.invalid":"Enter the company name","companyDetails.registrationNumber.invalid":"Enter the registration number","consent.checkbox.invalid":"You must agree with the terms & conditions","form.instruction":"All fields are required unless marked otherwise.","trustly.descriptor":"Instant Bank Payment","trustly.description1":"Pay directly from any of your bank accounts, backed by bank-level security","trustly.description2":"No cards, no app download, no registration","ancv.input.label":"Your ANCV identification","ancv.confirmPayment":"Use your ANCV application to confirm the payment.","ancv.form.instruction":"The Cheque-Vacances application is necessary to validate this payment.","ancv.beneficiaryId.invalid":"Enter a valid email address or ANCV ID","creditCard.cardNumber.label":"Card number","creditCard.expiryDate.label":"Expiry date","creditCard.expiryDate.contextualText":"Front of card in MM/YY format","creditCard.securityCode.label":"Security code","creditCard.securityCode.label.optional":"Security code (optional)","creditCard.securityCode.contextualText.3digits":"3 digits on back of card","creditCard.securityCode.contextualText.4digits":"4 digits on front of card","creditCard.expiryMonth.label":"Expiry month","creditCard.expiryYear.label":"Expiry year","creditCard.pin.label":"Pin","creditCard.password.label":"First 2 digits of card password","giftcard.cardNumber.label":"Card Number","giftcard.expiryDate.label":"Expiry date","giftcard.securityCode.label":"Pin","ach.bankAccountNumber.label":"Account number","ach.bankLocationId.label":"ABA routing number","dragonpayVoucher.selectField.contextualText.nonBank":"Select your provider","dragonpayVoucher.selectField.contextualText.bank":"Select your bank","payme.openPayMeApp":"Complete your payment in the PayMe app by authorizing the payment in the app and wait for the confirmation.","payme.redirectButtonLabel":"Open PayMe app","payme.scanQrCode":"Complete your payment by QR code","payme.timeToPay":"This QR code is valid for %@","payme.instructions.steps":"Open the PayMe app.%@Scan the QR code to authorize the payment.%@Complete the payment in the app and wait for confirmation.","payme.instructions.footnote":"Please do not close this page before the payment is completed","payByBankAISDD.disclaimer.header":"Use Pay by Bank to pay instantly from any bank account.","payByBankAISDD.disclaimer.body":"By connecting your bank account you are authorizing debits to your account for any amount owed for use of our services and/or purchase of our products, until this authorization is revoked.","paymentMethodBrand.other":"other","paynow.scanQrCode":"Scan the QR code using the PayNow app to complete the payment","paynow.mobileViewInstruction.step1":"Take a screenshot of the QR code.","paynow.mobileViewInstruction.step2":"Open the PayNow bank or payment app.","paynow.mobileViewInstruction.step3":"Select the option to scan a QR code.","paynow.mobileViewInstruction.step4":"Choose the option to upload a QR and select the screenshot.","paynow.mobileViewInstruction.step5":"Complete the transaction.","payto.payid.description":"Enter the PayID and account details that are connected to your PayTo account.","payto.payid.label.identifier":"Identifier","payto.payid.label.orgid":"Organization ID","payto.payid.option.phone":"Mobile","payto.payid.option.email":"Email","payto.payid.option.orgid":"Organization ID","payto.bsb.description":"Enter the bank account number and the Bank State Branch that is connected to your account to continue","payto.bsb.label.bankAccountNumber":"Bank account number","payto.instructions.steps":"Log into your PayTo banking app@Authorize the PayTo agreement@Approve the payment terms@Complete the transaction","payto.confirmPayment":"Thank you for your purchase, complete your payment by following the instructions below.","payto.mandate.amount.label":"Amount","payto.mandate.frequency.label":"Frequency","payto.mandate.remarks.label":"Description","payto.mandate.startsAt.label":"First payment date","payto.mandate.endsAt.label":"End date","payto.mandate.payee.label":"Payee","payto.mandate.amount.max":"Up to %{amount} per transaction","payto.mandate.frequency.adhoc-no-count":"Ad Hoc","payto.mandate.frequency.adhoc":"%{count} time(s)","payto.mandate.frequency.daily":"%{count} payment(s) Daily","payto.mandate.frequency.weekly":"%{count} payment(s) Weekly","payto.mandate.frequency.biWeekly":"%{count} payment(s) Fortnightly","payto.mandate.frequency.monthly":"%{count} payment(s) Monthly","payto.mandate.frequency.quarterly":"%{count} payment(s) Quarterly","payto.mandate.frequency.halfYearly":"%{count} payment(s) Bi-Annual","payto.mandate.frequency.yearly":"%{count} payment(s) Yearly","payto.label.firstName":"Account holder first name","payto.label.lastName":"Account holder last name","payto.errors.accountHolderFirstName.invalid":"Enter your account holder first name","payto.errors.accountHolderLastName.invalid":"Enter your account holder last name","payto.await.waitForConfirmation":"Awaiting your approval","payto.bsb.option.label":"BSB and account number","card.fastlane.a11y.logo":"Fastlane by Paypal logo","card.fastlane.a11y.openDialog":"Read more about Fastlane","card.fastlane.a11y.closeDialog":"Close dialog","card.fastlane.mobileInputLabel":"Mobile number","card.fastlane.consentToggle":"Save your info with Fastlane for faster checkouts and more","card.fastlane.consentText":"By saving your info, you agree to get codes by text to use Fastlane everywhere it's available. Fastlane will text the number provided. You also agree to this %#terms%# and %#privacy statement%#.","card.fastlane.modal.benefit1.header":"Autofill your checkouts","card.fastlane.modal.benefit1.text":"Get one-time codes to use card and addresses you’ve saved.","card.fastlane.modal.benefit2.header":"Protect your info","card.fastlane.modal.benefit2.text":"Your payment info is encrypted when it’s stored and sent to places you shop.","card.fastlane.modal.benefit3.header":"Use across stores","card.fastlane.modal.benefit3.text":"Speed through checkout everywhere Fastlane is available.","paybybankpix.redirectBtn.label":"Continue to PIX through OpenBanking","paybybankpix.issuerList.disclaimer":"By continuing, you agree to the %#Consent Notice%# and will be redirected to your bank.","paybybankpix.issuerList.selectField.label":"Bank","paybybankpix.issuerList.introduction.logo.content":"Connect your favorite PIX keys to pay through Open Finance","paybybankpix.await.waitForConfirmation":"Waiting for your confirmation...","paybybankpix.await.timeToPay":"This process will take approximately %{numberOfMin} minute(s)","paybybankpix.await.withOpenFinance":"With the ease of Open Finance","paybybankpix.await.logoAlt.openFinance":"Open Finance","paybybankpix.storedPayment.payButton.label":"Continue payment","paybybankpix.storedPayment.additionalLabel":"%{receiver} account through PIX","paybybankpix.await.fetchDetails":"Fetching details...","eftpad-canada.input.accountHolderName.label":"Account holder name","eftpad-canada.input.accountHolderName.error":"Enter an account holder name","eftpad-canada.input.accountNumber.label":"Account number","eftpad-canada.input.accountNumber.contextualText":"Between 7 and 12 digits","eftpad-canada.input.accountNumber.error":"Enter an account number that is between 7 and 12 digits","eftpad-canada.input.institutionNumber.label":"Institution number","eftpad-canada.input.institutionNumber.contextualText":"3 digits","eftpad-canada.input.institutionNumber.error":"Enter an institution number that consists of 3 digits","eftpad-canada.input.transitNumber.label":"Transit number","eftpad-canada.input.transitNumber.contextualText":"5 digits","eftpad-canada.input.transitNumber.error":"Enter a transit number that consists of 5 digits","eftpad-canada.settlement-info":"The funds will be withdrawn from your bank account within 1–3 business days.","upi.mandate.intro":"You’re setting up a UPI Autopay recurring payment","upi.mandate.max.extraText":"You’ll approve a higher limit to allow future plan changes","upi.mandate.upTo":"up to %{amount}","upi.mandate.frequency.monthly":"/month","upi.mandate.frequency.weekly":"/week","upi.mandate.frequency.adhoc":" as presented",bankList:"Bank list",qrCode:"QR code","iris.instructions.generateQrCode":"After generating the QR code you can use your preferred banking app to complete the payment.","iris.instructions.payment.step1":"Open your preferred banking app.","iris.instructions.payment.step2":"Scan the QR code with your banking app.","iris.instructions.payment.step3":"Complete the payment in the app and wait for the confirmation here.","econtext.customerNumber":"Customer number","econtext.confirmationNumber":"Confirmation number","econtext.useBefore":"Use before","econtext.paymentInformation":"Payment information","issuerList.separatorText":"or choose from list","upi.intent.apps.title":"Options","upi.intent.apps.dropdown.label":"UPI apps","upi.intent.apps.dropdown.placeholder":"Choose preferred app"};export{e as default};
|
|
1
|
+
var e={payButton:"Pay","payButton.redirecting":"Redirecting...","payButton.with":"Pay %{value} with %{maskedData}","payButton.saveDetails":"Save details",close:"Close",storeDetails:"Save for my next payment",readMore:"Read more","creditCard.holderName":"Name on card","creditCard.holderName.invalid":"Enter name as shown on card","creditCard.expiryDateField.month":"Month","creditCard.expiryDateField.year":"Year","creditCard.storeDetailsButton":"Remember for next time","creditCard.dualBrand.title":"Card Brand","creditCard.dualBrand.description":"You can select the card brand you prefer to pay with. This is optional.",installments:"Number of installments",installmentOption:"%{times}x %{partialValue}",installmentOptionMonths:"%{times} months","installments.oneTime":"One time payment","installments.installments":"Installments payment","installments.revolving":"Revolving payment","installments.bonus":"Bonus payment","sepaDirectDebit.ibanField.invalid":"Invalid account number","sepa.ownerName":"Holder Name","sepa.ibanNumber":"Account Number (IBAN)","error.title":"Error","error.subtitle.redirect":"Redirect failed","error.subtitle.payment":"Payment failed","error.subtitle.refused":"Payment refused","error.message.unknown":"An unknown error occurred","errorPanel.title":"Existing errors","idealIssuer.selectField.title":"Bank","creditCard.success":"Payment Successful",loading:"Loading…",continue:"Continue",continueTo:"Continue to","wechatpay.timetopay":"You have %@ to pay","sr.wechatpay.timetopay":"You have %#minutes%# %#seconds%# to pay","wechatpay.scanqrcode":"Scan QR code",personalDetails:"Personal details",companyDetails:"Company details","companyDetails.name":"Company name","companyDetails.registrationNumber":"Registration number",socialSecurityNumber:"Social security number",firstName:"First name","firstName.invalid":"Enter your first name",infix:"Prefix",lastName:"Last name","lastName.invalid":"Enter your last name",mobileNumber:"Mobile number","mobileNumber.invalid":"Invalid mobile number",city:"City",postalCode:"Postal code","postalCode.optional":"Postal code (optional)",countryCode:"Country Code",telephoneNumber:"Telephone number",telephonePrefix:"Prefix",dateOfBirth:"Date of birth",shopperEmail:"Email address",gender:"Gender","gender.notselected":"Select your gender",male:"Male",female:"Female",billingAddress:"Billing address",street:"Street",stateOrProvince:"State or province",country:"Country/Region",houseNumberOrName:"House number",separateDeliveryAddress:"Specify a separate delivery address",deliveryAddress:"Delivery Address","deliveryAddress.firstName":"Recipient first name","deliveryAddress.lastName":"Recipient last name",zipCode:"Zip code",apartmentSuite:"Apartment / Suite",provinceOrTerritory:"Province or Territory",cityTown:"City / Town",address:"Address","address.search.contextualText":"Type to start searching your address","address.errors.incomplete":"Enter an address to continue","address.enterManually":"Enter address manually",state:"State",payAmountFormat:"Pay %@","field.title.optional":"(optional)","issuerList.selectField.contextualText":"Select your bank to continue","issuerList.selectField.label":"Bank selection",privacyPolicy:"Privacy policy","afterPay.agreement":"I agree with the %@ of Riverty","riverty.termsAndConditions":"I agree with the general %#Terms & Conditions%# for the Riverty Payment Method. The privacy policy of Riverty can be found %#here%#.",paymentConditions:"payment conditions",openApp:"Open the app","voucher.readInstructions":"Read instructions","voucher.introduction":"Thank you for your purchase, please use the following coupon to complete your payment.","voucher.expirationDate":"Expiration Date","voucher.alternativeReference":"Alternative Reference","voucher.paymentReferenceLabel":"Payment Reference","voucher.surcharge":"Incl. %@ surcharge","voucher.introduction.doku":"Thank you for your purchase, please use the following information to complete your payment.","voucher.shopperName":"Shopper Name","voucher.merchantName":"Merchant","voucher.introduction.econtext":"Thank you for your purchase, please use the following information to complete your payment.","voucher.telephoneNumber":"Phone Number","voucher.shopperReference":"Shopper Reference","voucher.collectionInstitutionNumber":"Collection Institution Number","voucher.econtext.telephoneNumber.invalid":"Telephone number must be 10 or 11 digits long","boletobancario.btnLabel":"Generate Boleto","boleto.sendCopyToEmail":"Send a copy to my email","button.copy":"Copy","button.copied":"Copied!","button.download":"Download","boleto.socialSecurityNumber":"CPF/CNPJ","boleto.socialSecurityNumber.invalid":"Enter a valid CPF/CNPJ number","creditCard.storedCard.description.ariaLabel":"Stored card ends in %@","voucher.entity":"Entity",donateButton:"Donate",donationTermsCondition:"By donating you agree to the %#terms and conditions%#",donationRoundUpDescription:"%{donationAmount} is a round up from your original payment (%{originalPaymentAmount})",notNowButton:"Not now",thanksForYourSupport:"Thanks for your support!","resultMessages.preauthorized":"Details saved",preauthorizeWith:"Preauthorize with",confirmPreauthorization:"Confirm preauthorization",confirmPurchase:"Confirm purchase",applyGiftcard:"Redeem",giftcardBalance:"Gift card balance",deductedBalance:"Deducted balance","creditCard.taxNumber":"Cardholder birthdate or Corporate registration number","creditCard.taxNumber.label":"Cardholder birthdate (YYMMDD) or Corporate registration number (10 digits)","creditCard.taxNumber.labelAlt":"Corporate registration number (10 digits)","creditCard.taxNumber.invalid":"Invalid Cardholder birthdate or Corporate registration number","storedPaymentMethod.disable.button":"Remove","storedPaymentMethod.disable.confirmation":"Remove stored payment method","storedPaymentMethod.disable.confirmButton":"Yes, remove","storedPaymentMethod.disable.cancelButton":"Cancel","ach.bankAccount":"Bank account","ach.bankAccount.title":"Bank account details","ach.bankAccount.label":"Account type","ach.bankAccount.placeholder":"Choose an account type","ach.bankAccount.nothing-selected-error":"Choose an account type","ach.bankAccount.option.personal-checking":"Personal Checking Account","ach.bankAccount.option.personal-savings":"Personal Savings Account","ach.bankAccount.option.business-checking":"Business Checking Account","ach.bankAccount.option.business-savings":"Business Savings Account","ach.bankAccountNumberVerification.label":"Verify account number","ach.bankAccountNumberVerification.error.not-match":"Account number does not match","ach.bankAccountNumberVerification.error.empty":"Enter the provided account number to verify the account number","ach.routingNumber.label":"Routing number","ach.accountHolderNameField.title":"Account holder name","ach.accountHolderNameField.contextualText":"Located on the front of your card","ach.accountHolderNameField.invalid":"Invalid account holder name","ach.accountNumberField.invalid":"Invalid account number","ach.accountLocationField.invalid":"Invalid ABA routing number","ach.savedBankAccount":"Saved bank account","ach.savings":"Savings account","ach.checking":"Checking account","select.state":"Select state","select.stateOrProvince":"Select state or province","select.provinceOrTerritory":"Select province or territory","select.country":"Select country/region","select.noOptionsFound":"No options found","select.results":"%{count} results available","telephoneNumber.invalid":"Invalid telephone number",qrCodeOrApp:"or","paypal.processingPayment":"Processing payment...",generateQRCode:"Generate QR code","await.waitForConfirmation":"Waiting for confirmation","mbway.confirmPayment":"Confirm your payment on the MB WAY app","shopperEmail.invalid":"Invalid email address","dateOfBirth.format":"DD/MM/YYYY","dateOfBirth.invalid":"Enter a valid date of birth that indicates you are at least 18 years old","blik.confirmPayment":"Open your banking app to confirm the payment.","blik.invalid":"Enter 6 numbers","blik.code":"6-digit code","blik.help":"Get the code from your banking app.","swish.pendingMessage":"After you scan, the status can be pending for up to 10 minutes. Attempting to pay again within this time may result in multiple charges.","field.valid":"Field valid","field.invalid":"Field not valid","field.error.required":"Enter the %{label}","field.error.invalid":"Enter a valid %{label}","field.error.invalidCharacters":"Some special characters are not allowed, enter a valid %{label}","error.giftcard.no-balance":"This gift card has zero balance","error.giftcard.card-error":"In our records we have no gift card with this number","error.giftcard.currency-error":"Gift cards are only valid in the currency they were issued in","err.gen.9100":"Incomplete field","err.gen.9101":"Field not valid","err.gen.9102":"Data parsing error","3ds.chal.805":"Challenge resolved without a %{result} object","cc.num.902":"Enter a valid card number","cc.num.900":"Enter the card number","cc.num.903":"Enter a supported card brand","cc.num.901":"Enter the complete card number","cc.dat.912":"Enter a valid expiry date","cc.dat.913":"Enter a valid expiry date","cc.dat.914":"Credit card about to expire","cc.dat.910":"Enter the expiry date","cc.dat.911":"Enter the complete expiry date","cc.mth.915":"Enter the expiry month","cc.yr.917":"Enter the expiry year","cc.yr.918":"Enter the complete expiry year","cc.cvc.920":"Enter the security code","cc.cvc.921":"Enter the complete security code","ach.num.945":"Enter the bank account number","ach.num.946":"Enter the complete bank account number","ach.loc.947":"Enter the bank routing number","ach.loc.948":"Enter the complete bank routing number","kcp.pwd.940":"Enter the password","kcp.pwd.941":"Enter the complete password","amazonpay.signout":"Sign out from Amazon","amazonpay.changePaymentDetails":"Change payment details","order.paymentMethod.description":"%{name} ending in %{lastFour}","partialPayment.warning":"Select another payment method to pay the remaining","partialPayment.remainingBalance":"Remaining balance will be %{amount}","bankTransfer.beneficiary":"Beneficiary name","bankTransfer.iban":"IBAN","bankTransfer.bic":"BIC","bankTransfer.reference":"Reference","bankTransfer.accountNumber":"Account number","bankTransfer.sortCode":"Sort code","bankTransfer.routingNumber":"Routing number","bankTransfer.branchCode":"Branch code","bankTransfer.bankCode":"Bank code","bankTransfer.introduction":"Press ‘Continue’ to create a new bank transfer payment. You can use the details in the following screen to finalize this payment.","bankTransfer.instructions":"Thank you for your purchase, please use the following information to complete your payment.","bankTransfer.shopperEmail.contextualText":"A copy of the payment details will be sent to your email so you can complete the payment later.","bankTransfer.details.title":"Payment details","bankTransfer.instruction.title":"Payment process","bankTransfer.instruction.step1":"Open your banking app","bankTransfer.instruction.step2":"Start a new transfer","bankTransfer.instruction.step3":"Enter the account details provided below","bankTransfer.instruction.step4":"Review and confirm the payment","bacs.accountHolderName":"Bank account holder name","bacs.accountHolderName.invalid":"Invalid bank account holder name","bacs.accountNumber":"Bank account number","bacs.accountNumber.invalid":"Invalid bank account number","bacs.bankLocationId":"Sort code","bacs.bankLocationId.invalid":"Invalid sort code","bacs.consent.amount":"I agree that the above amount will be deducted from my bank account.","bacs.consent.account":"I confirm the account is in my name and I am the only signatory required to authorise the Direct Debit on this account.",edit:"Edit","bacs.confirm":"Confirm and pay","bacs.result.introduction":"Download your Direct Debit Instruction (DDI / Mandate)","download.pdf":"Download PDF","creditCard.encryptedCardNumber.aria.iframeTitle":"Card number","creditCard.encryptedExpiryDate.aria.iframeTitle":"Expiry date","creditCard.encryptedExpiryMonth.aria.iframeTitle":"Expiry month","creditCard.encryptedExpiryYear.aria.iframeTitle":"Expiry year","creditCard.encryptedSecurityCode.aria.iframeTitle":"Security code","creditCard.encryptedPassword.aria.iframeTitle":"Password","giftcard.encryptedCardNumber.aria.iframeTitle":"Card number","giftcard.encryptedSecurityCode.aria.iframeTitle":"Pin",giftcardTransactionLimit:"Max. %{amount} allowed per transaction on this gift card","pix.instructions":"Use your banking app to scan the QR code or copy the PIX code below to complete your payment.","pix.code.label":"PIX code","pix.code.copy.label":"Copy PIX code","pix.code.copied.label":"PIX code copied","twint.saved":"saved",orPayWith:"or pay with","invalid.format.expects":"%{label} Invalid format. Expected format: %{format}","upi.qrCodeWaitingMessage":"Scan the QR code using your preferred UPI app to complete the payment","upi.vpaWaitingMessage":"Open your UPI app to confirm the payment","upi.modeSelection":"How would you like to use UPI?","upi.completePayment":"Complete your payment","upi.mode.enterUpiId":"UPI ID","upi.mode.qrCode":"QR code","upi.mode.payByAnyUpi":"UPI apps","upi.collect.dropdown.label":"Enter UPI ID","upi.collect.instruction":"Enter your UPI ID","upi.collect.field.label":"UPI ID","upi.collect.field.contextualText":"Enter the UPI ID connected to your account and press continue","upi.collect.field.invalid-id-error":"Enter a valid UPI","upi.error.noAppSelected":"Select your preferred UPI app to continue","upi.intent.instruction":"Select your preferred UPI app","upi.qrCode.instruction":"After generating the QR code you can use your preferred UPI app to complete the payment.","onlineBanking.termsAndConditions":"By continuing you agree with the %#terms and conditions%#","onlineBankingPL.termsAndConditions":"By continuing you agree with the %#regulations%# and %#information obligation%# of Przelewy24","ctp.loading.poweredByCtp":"Powered by Click to Pay","ctp.loading.intro":"We are checking to see if you have any saved cards with Click to Pay...","ctp.login.title":"Continue to Click to Pay","ctp.login.subtitle":"Enter the email address that is connected to Click to Pay to continue.","ctp.login.inputLabel":"Email","ctp.logout.notYou":"Not you?","ctp.logout.notYourCards":"Not your cards?","ctp.logout.notYourCard":"Not your card?","ctp.logout.notYourProfile":"Not your profile?","ctp.otp.fieldLabel":"One time code","ctp.otp.resendCode":"Resend code","ctp.otp.codeResent":"Code resent","ctp.otp.title":"Access your Click to Pay cards","ctp.otp.subtitle":"Enter the code %@ sent to %@ to verify it‘s you.","ctp.otp.saveCookiesCheckbox.label":"Skip verification next time","ctp.otp.saveCookiesCheckbox.information":"Select to be remembered on your device and browser at participating stores for faster checkout. Not recommended for shared devices.","ctp.otp.saveCookiesCheckbox.shorterInfo":"Select to be remembered on your device and browser","ctp.emptyProfile.message":"No cards registered in this Click to Pay profile","ctp.separatorText":"or use","ctp.cards.title":"Complete payment with Click to Pay","ctp.cards.subtitle":"Select a card to use.","ctp.cards.expiredCard":"Expired","ctp.manualCardEntry":"Manual card entry","ctp.aria.infoModalButton":"What is Click to Pay","ctp.infoPopup.title":"Click to Pay brings the ease of contactless, online","ctp.infoPopup.subtitle":"A fast, secure payment method supported by Mastercard, Visa and other payment cards.","ctp.infoPopup.benefit1":"Click to Pay uses encryption to keep your information safe and secure","ctp.infoPopup.benefit2":"Use it with merchants worldwide","ctp.infoPopup.benefit3":"Set up once for hassle-free payments in the future","ctp.errors.AUTH_INVALID":"Authentication Invalid","ctp.errors.NOT_FOUND":"No account found, enter a valid email or continue using manual card entry","ctp.errors.ID_FORMAT_UNSUPPORTED":"Format not supported","ctp.errors.FRAUD":"The user account was locked or disabled","ctp.errors.CONSUMER_ID_MISSING":"Consumer identity is missing in the request","ctp.errors.ACCT_INACCESSIBLE":"This account is currently not available, e.g it is locked","ctp.errors.CODE_INVALID":"Incorrect verification code","ctp.errors.CODE_EXPIRED":"This code has expired","ctp.errors.RETRIES_EXCEEDED":"The limit for the number of retries for OTP generation was exceeded","ctp.errors.OTP_SEND_FAILED":"The OTP could not be sent to the recipient","ctp.errors.REQUEST_TIMEOUT":"Something went wrong, try again or use the manual card entry","ctp.errors.UNKNOWN_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.SERVICE_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.SERVER_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.INVALID_PARAMETER":"Something went wrong, try again or use the manual card entry","ctp.errors.AUTH_ERROR":"Something went wrong, try again or use the manual card entry","ctp.errors.INVALID_EMAIL":"Enter a valid email address (e.g. name@example.com)","paymentMethodsList.aria.label":"Choose a payment method","paymentMethodsList.storedPayments.label":"Saved payment methods","paymentMethodsList.otherPayments.label":"More payment options","paymentMethodsList.otherPayments.buttonLabel":"Show %{count} more","paymentMethodsList.promotedPayments.label":"Other","companyDetails.name.invalid":"Enter the company name","companyDetails.registrationNumber.invalid":"Enter the registration number","consent.checkbox.invalid":"You must agree with the terms & conditions","form.instruction":"All fields are required unless marked otherwise.","trustly.descriptor":"Instant Bank Payment","trustly.description1":"Pay directly from any of your bank accounts, backed by bank-level security","trustly.description2":"No cards, no app download, no registration","ancv.input.label":"Your ANCV identification","ancv.confirmPayment":"Use your ANCV application to confirm the payment.","ancv.form.instruction":"The Cheque-Vacances application is necessary to validate this payment.","ancv.beneficiaryId.invalid":"Enter a valid email address or ANCV ID","creditCard.cardNumber.label":"Card number","creditCard.expiryDate.label":"Expiry date","creditCard.expiryDate.contextualText":"Front of card in MM/YY format","creditCard.securityCode.label":"Security code","creditCard.securityCode.label.optional":"Security code (optional)","creditCard.securityCode.contextualText.3digits":"3 digits on back of card","creditCard.securityCode.contextualText.4digits":"4 digits on front of card","creditCard.expiryMonth.label":"Expiry month","creditCard.expiryYear.label":"Expiry year","creditCard.pin.label":"Pin","creditCard.password.label":"First 2 digits of card password","giftcard.cardNumber.label":"Card Number","giftcard.expiryDate.label":"Expiry date","giftcard.securityCode.label":"Pin","ach.bankAccountNumber.label":"Account number","ach.bankLocationId.label":"ABA routing number","dragonpayVoucher.selectField.contextualText.nonBank":"Select your provider","dragonpayVoucher.selectField.contextualText.bank":"Select your bank","payme.openPayMeApp":"Complete your payment in the PayMe app by authorizing the payment in the app and wait for the confirmation.","payme.redirectButtonLabel":"Open PayMe app","payme.scanQrCode":"Complete your payment by QR code","payme.timeToPay":"This QR code is valid for %@","payme.instructions.steps":"Open the PayMe app.%@Scan the QR code to authorize the payment.%@Complete the payment in the app and wait for confirmation.","payme.instructions.footnote":"Please do not close this page before the payment is completed","payByBankAISDD.disclaimer.header":"Use Pay by Bank to pay instantly from any bank account.","payByBankAISDD.disclaimer.body":"By connecting your bank account you are authorizing debits to your account for any amount owed for use of our services and/or purchase of our products, until this authorization is revoked.","paymentMethodBrand.other":"other","paynow.scanQrCode":"Scan the QR code using the PayNow app to complete the payment","paynow.mobileViewInstruction.step1":"Take a screenshot of the QR code.","paynow.mobileViewInstruction.step2":"Open the PayNow bank or payment app.","paynow.mobileViewInstruction.step3":"Select the option to scan a QR code.","paynow.mobileViewInstruction.step4":"Choose the option to upload a QR and select the screenshot.","paynow.mobileViewInstruction.step5":"Complete the transaction.","payto.payid.description":"Enter the PayID and account details that are connected to your PayTo account.","payto.payid.label.identifier":"Identifier","payto.payid.label.orgid":"Organization ID","payto.payid.option.phone":"Mobile","payto.payid.option.email":"Email","payto.payid.option.orgid":"Organization ID","payto.bsb.description":"Enter the bank account number and the Bank State Branch that is connected to your account to continue","payto.bsb.label.bankAccountNumber":"Bank account number","payto.instructions.steps":"Log into your PayTo banking app@Authorize the PayTo agreement@Approve the payment terms@Complete the transaction","payto.confirmPayment":"Thank you for your purchase, complete your payment by following the instructions below.","payto.mandate.amount.label":"Amount","payto.mandate.frequency.label":"Frequency","payto.mandate.remarks.label":"Description","payto.mandate.startsAt.label":"First payment date","payto.mandate.endsAt.label":"End date","payto.mandate.payee.label":"Payee","payto.mandate.amount.max":"Up to %{amount} per transaction","payto.mandate.frequency.adhoc-no-count":"Ad Hoc","payto.mandate.frequency.adhoc":"%{count} time(s)","payto.mandate.frequency.daily":"%{count} payment(s) Daily","payto.mandate.frequency.weekly":"%{count} payment(s) Weekly","payto.mandate.frequency.biWeekly":"%{count} payment(s) Fortnightly","payto.mandate.frequency.monthly":"%{count} payment(s) Monthly","payto.mandate.frequency.quarterly":"%{count} payment(s) Quarterly","payto.mandate.frequency.halfYearly":"%{count} payment(s) Bi-Annual","payto.mandate.frequency.yearly":"%{count} payment(s) Yearly","payto.label.firstName":"Account holder first name","payto.label.lastName":"Account holder last name","payto.await.waitForConfirmation":"Awaiting your approval","payto.errors.accountHolderFirstName.invalid":"Enter your account holder first name","payto.errors.accountHolderLastName.invalid":"Enter your account holder last name","payto.bsb.option.label":"BSB and account number","card.fastlane.a11y.logo":"Fastlane by Paypal logo","card.fastlane.a11y.openDialog":"Read more about Fastlane","card.fastlane.a11y.closeDialog":"Close dialog","card.fastlane.mobileInputLabel":"Mobile number","card.fastlane.consentToggle":"Save your info with Fastlane for faster checkouts and more","card.fastlane.consentText":"By saving your info, you agree to get codes by text to use Fastlane everywhere it's available. Fastlane will text the number provided. You also agree to this %#terms%# and %#privacy statement%#.","card.fastlane.modal.benefit1.header":"Autofill your checkouts","card.fastlane.modal.benefit1.text":"Get one-time codes to use card and addresses you’ve saved.","card.fastlane.modal.benefit2.header":"Protect your info","card.fastlane.modal.benefit2.text":"Your payment info is encrypted when it’s stored and sent to places you shop.","card.fastlane.modal.benefit3.header":"Use across stores","card.fastlane.modal.benefit3.text":"Speed through checkout everywhere Fastlane is available.","paybybankpix.redirectBtn.label":"Continue to PIX through OpenBanking","paybybankpix.issuerList.disclaimer":"By continuing, you agree to the %#Consent Notice%# and will be redirected to your bank.","paybybankpix.issuerList.selectField.label":"Bank","paybybankpix.issuerList.introduction.logo.content":"Connect your favorite PIX keys to pay through Open Finance","paybybankpix.await.waitForConfirmation":"Waiting for your confirmation...","paybybankpix.await.timeToPay":"This process will take approximately %{numberOfMin} minute(s)","paybybankpix.await.withOpenFinance":"With the ease of Open Finance","paybybankpix.await.logoAlt.openFinance":"Open Finance","paybybankpix.storedPayment.payButton.label":"Continue payment","paybybankpix.storedPayment.additionalLabel":"%{receiver} account through PIX","paybybankpix.await.fetchDetails":"Fetching details...","eftpad-canada.input.accountHolderName.label":"Account holder name","eftpad-canada.input.accountHolderName.error":"Enter an account holder name","eftpad-canada.input.accountNumber.label":"Account number","eftpad-canada.input.accountNumber.contextualText":"Between 7 and 12 digits","eftpad-canada.input.accountNumber.error":"Enter an account number that is between 7 and 12 digits","eftpad-canada.input.institutionNumber.label":"Institution number","eftpad-canada.input.institutionNumber.contextualText":"3 digits","eftpad-canada.input.institutionNumber.error":"Enter an institution number that consists of 3 digits","eftpad-canada.input.transitNumber.label":"Transit number","eftpad-canada.input.transitNumber.contextualText":"5 digits","eftpad-canada.input.transitNumber.error":"Enter a transit number that consists of 5 digits","eftpad-canada.settlement-info":"The funds will be withdrawn from your bank account within 1–3 business days.","upi.mandate.intro":"You’re setting up a UPI Autopay recurring payment","upi.mandate.max.extraText":"You’ll approve a higher limit to allow future plan changes","upi.mandate.upTo":"up to %{amount}","upi.mandate.frequency.monthly":"/month","upi.mandate.frequency.weekly":"/week","upi.mandate.frequency.adhoc":" as presented",bankList:"Bank list",qrCode:"QR code","iris.instructions.generateQrCode":"After generating the QR code you can use your preferred banking app to complete the payment.","iris.instructions.payment.step1":"Open your preferred banking app.","iris.instructions.payment.step2":"Scan the QR code with your banking app.","iris.instructions.payment.step3":"Complete the payment in the app and wait for the confirmation here.","econtext.customerNumber":"Customer number","econtext.confirmationNumber":"Confirmation number","econtext.useBefore":"Use before","econtext.paymentInformation":"Payment information","issuerList.separatorText":"or choose from list","upi.intent.apps.title":"Options","upi.intent.apps.dropdown.label":"UPI apps","upi.intent.apps.dropdown.placeholder":"Choose preferred app","emi.subtitle":"Installment plans on credit cards","emi.title":"EMI plan","emi.instructions":"Choose your preferred combination from the options listed below and continue to enter your card details","emi.provider":"Provider","emi.plan":"Plan","emi.planSummary":"Plan summary","emi.itemPrice":"Item price","emi.amountReservedOnCard":"Amount reserved on card","emi.interestChargedByBank":"Interest charged by bank @%{interest}","emi.totalAmountOverTime":"Total amount to be paid over time","emi.upcomingMonthlyPayment":"Upcoming monthly payment","emi.discount":"Discount","emi.discountApplied":"%{amount} discount offer applied for using %{provider}","emi.noCost":"No cost","emi.lowCost":"Low cost","emi.discountAvailable":"discount available","emi.perAnnum":"p.a","emi.cardDetailsInstructions":"Enter card details that are associated with a %{provider} card","emi.cardDetails":"Card details"};export{e as default};
|
|
2
2
|
//# sourceMappingURL=en-US.json.js.map
|
package/dist/es-legacy/adyen.css
CHANGED
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
.adyen-checkout__fieldset{display:block;padding-bottom:var(--adyen-sdk-spacer-040,8px);width:100%;margin-inline-start:0;margin-inline-end:0;margin:0;border:none;padding-block-start:0;padding-block-end:0;padding-inline-start:0;padding-inline-end:0}.adyen-checkout__fieldset__description{font-weight:var(--adyen-sdk-text-body-font-weight,400);list-style-type:disc;color:var(--adyen-sdk-color-label-secondary,#5c687c);margin:0;font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:1.5}.adyen-checkout__fieldset:last-of-type{padding-bottom:0}.adyen-checkout__fieldset+.adyen-checkout__fieldset{margin-top:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__fieldset__title{font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);font-weight:var(--adyen-sdk-text-subtitle-stronger-font-weight,600);line-height:var(--adyen-sdk-text-subtitle-line-height,26px);color:var(--adyen-sdk-color-label-primary,#00112c);font-weight:var(--adyen-sdk-text-subtitle-font-weight,500);display:block;margin:0;padding:0 0 var(--adyen-sdk-spacer-060,12px)}.adyen-checkout__fieldset__title:has(+.adyen-checkout__fieldset__description){padding:0}.adyen-checkout__fieldset__title-heading{font:inherit;color:inherit;margin:0;padding:0}.adyen-checkout__fieldset__fields{display:flex;flex-wrap:wrap;width:100%;gap:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout__fieldset__fields>.adyen-checkout__field{margin-bottom:0}.adyen-checkout__fieldset--readonly .adyen-checkout__fieldset__fields{color:var(--adyen-sdk-color-label-primary,#00112c);font-size:var(--adyen-sdk-text-body-font-size,.875rem);line-height:var(--adyen-sdk-text-caption-line-height,18px);margin:0}
|
|
10
10
|
.adyen-checkout__card__exp-date__input--oneclick{line-height:var(--adyen-sdk-text-title-line-height,26px);font-weight:var(--adyen-sdk-text-body-font-weight,400);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left}
|
|
11
11
|
.adyen-checkout__radio_group+.adyen-checkout-input__inline-validation{display:none}.adyen-checkout__radio_group__input{opacity:0;position:absolute}.adyen-checkout__radio_group__label{margin:0;padding-bottom:0;padding-left:var(--adyen-sdk-spacer-090,24px);position:relative;display:block;color:inherit;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:400;line-height:var(--adyen-sdk-text-body-line-height,20px);overflow:visible}.adyen-checkout__label--focused .adyen-checkout__radio_group__label{color:inherit}.adyen-checkout__radio_group__label:before{content:"";position:absolute;background-color:var(--adyen-sdk-color-background-primary,#ffffff);border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-tertiary,#848d96);border-radius:50%;height:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-070,16px);left:0;top:var(--adyen-sdk-spacer-010,2px);transition:border-color .2s ease-out,box-shadow .2s ease-out}.adyen-checkout__radio_group__label:hover:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-primary-hover,#c9cdd3);cursor:pointer}.adyen-checkout__radio_group__label:after{content:"";display:block;position:absolute;margin:0 auto;left:5px;top:7px;height:var(--adyen-sdk-spacer-030,6px);width:var(--adyen-sdk-spacer-030,6px);background-color:var(--adyen-sdk-color-background-primary,#ffffff);border-radius:50%;transform:scale(0);transition:transform .2s ease-out;box-shadow:0 1px 1px rgba(0,15,45,.25)}.adyen-checkout__radio_group__label:hover{border-color:var(--adyen-sdk-color-label-primary,#00112c);cursor:pointer}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:before{background-color:var(--adyen-sdk-color-label-primary,#00112c);border:0;transition:all .2s ease-out}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:after{transform:scale(1)}.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{border-color:var(--adyen-sdk-color-label-primary,#00112c)}.adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label:hover:before,.adyen-checkout__radio_group__input:checked:active+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label:before,.adyen-checkout__radio_group__input:focus+.adyen-checkout__radio_group__label:before{box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-color-outline-tertiary,#848D96)}.adyen-checkout__radio_group__label.adyen-checkout__radio_group__label--invalid:before{border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__radio_group--button{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--adyen-sdk-spacer-070,16px);align-self:stretch;width:100%}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input-wrapper{display:flex;flex:1 0 0}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:after{position:absolute;top:calc(50% - var(--adyen-sdk-spacer-030, 6px)/2);left:calc(var(--adyen-sdk-spacer-060, 12px) + 5px)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label:before{position:absolute;top:calc(50% - var(--adyen-sdk-spacer-070, 16px)/2);left:calc(var(--adyen-sdk-spacer-060, 12px))}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__label{padding:var(--adyen-sdk-spacer-060,12px);padding-left:calc(var(--adyen-sdk-spacer-060, 12px) + var(--adyen-sdk-spacer-090, 24px));width:100%;border:var(--adyen-sdk-border-width-s,1px) solid var(--adyen-sdk-color-outline-primary,#dbdee2);border-radius:var(--adyen-sdk-border-radius-m,8px);background-color:var(--adyen-sdk-color-background-primary,#ffffff)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input+.adyen-checkout__radio_group__label:hover,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked+.adyen-checkout__radio_group__label{border-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:active+.adyen-checkout__radio_group__label,.adyen-checkout__radio_group--button .adyen-checkout__radio_group__input:checked:focus+.adyen-checkout__radio_group__label{box-shadow:0 0 0 .8px var(--adyen-sdk-color-outline-primary-active,#00112c);border-color:var(--adyen-sdk-color-outline-primary-active,#00112c)}
|
|
12
|
-
.
|
|
12
|
+
.Tag-module_tag__zTym4{display:inline-flex;align-items:center;padding:var(--adyen-sdk-spacer-010,2px) var(--adyen-sdk-spacer-040,8px);font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:var(--adyen-sdk-text-caption-stronger-font-weight,500);line-height:var(--adyen-sdk-text-caption-line-height,18px);white-space:nowrap}.Tag-module_tag__zTym4.Tag-module_success__UU5x9{border-radius:var(--adyen-sdk-border-radius-s,4px);background:var(--adyen-sdk-color-background-success-weak,#edfaf3);color:var(--adyen-sdk-color-label-on-background-success-weak,#067934)}.Tag-module_tag__zTym4.Tag-module_info__iyn3C{border-radius:var(--adyen-sdk-border-radius-s,4px);background:var(--adyen-sdk-color-background-highlight-weak,#f2f8ff);color:var(--adyen-sdk-color-label-on-background-highlight-weak,#0063d7)}
|
|
13
|
+
.TagList-module_tagList__qCdT0{display:flex;align-items:center;flex-shrink:0;gap:var(--adyen-sdk-spacer-020,4px)}
|
|
14
|
+
.adyen-checkout__dropdown{position:relative;max-width:100%;width:100%;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem)}.adyen-checkout__dropdown__status{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:-1px;padding:0;position:absolute}.adyen-checkout__dropdown__button{box-sizing:border-box;display:flex;align-items:center;cursor:pointer;border-radius:inherit;color:var(--adyen-sdk-color-label-primary,#00112c);background:inherit;text-decoration:none;outline:0;padding:0 var(--adyen-sdk-spacer-060,12px);width:100%;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);height:var(--adyen-sdk-spacer-110,40px);line-height:var(--adyen-sdk-text-body-line-height,20px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border .2s ease-out,box-shadow .2s ease-out}[dir=rtl] .adyen-checkout__dropdown__button{padding:7px var(--adyen-sdk-spacer-060,12px) 7px var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__dropdown__button:after{position:absolute;content:"";height:var(--adyen-sdk-spacer-030,6px);right:var(--adyen-sdk-spacer-070,16px);width:var(--adyen-sdk-spacer-040,8px);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='17' fill='none' viewBox='0 0 16 17'%3E%3Cpath fill='%2300112c' fill-rule='evenodd' d='M4.47 6.47a.75.75 0 0 1 1.06 0L8 8.94l2.47-2.47a.75.75 0 0 1 1.06 1.06l-3 3a.75.75 0 0 1-1.06 0l-3-3a.75.75 0 0 1 0-1.06' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%}[dir=rtl] .adyen-checkout__dropdown__button:after{left:var(--adyen-sdk-spacer-070,16px);right:auto}.adyen-checkout__dropdown__button--active:after{transform:rotate(180deg)}.adyen-checkout__dropdown__button--disabled{opacity:.4}.adyen-checkout__dropdown__button--readonly,.adyen-checkout__dropdown__button--readonly--active,.adyen-checkout__dropdown__button--readonly:focus,.adyen-checkout__dropdown__button--readonly:hover{background:var(--adyen-sdk-color-background-disabled,#eeeff1);border-color:transparent;color:var(--adyen-sdk-color-label-primary,#00112c);cursor:not-allowed}.adyen-checkout__dropdown__button--readonly:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='7' fill='none' viewBox='0 0 8 7'%3E%3Cpath fill='%23b9c4c9' d='M3.195 6.565a1 1 0 0 0 1.6 0l2.992-3.98a1 1 0 0 0-.8-1.602H1.013a1 1 0 0 0-.8 1.6z'/%3E%3C/svg%3E")}.adyen-checkout__dropdown__button--invalid{border-color:var(--adyen-sdk-color-outline-critical,#e22d2d)}.adyen-checkout__dropdown__button__icon{margin-right:var(--adyen-sdk-spacer-040,8px);max-width:var(--adyen-sdk-spacer-110,40px);height:26px;border-radius:3px}[dir=rtl] .adyen-checkout__dropdown__button__icon{margin-right:0;margin-left:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__button__text{overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;text-align:left;min-width:0}.adyen-checkout__dropdown__button__text-placeholder{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__dropdown__button__tags{margin-right:var(--adyen-sdk-spacer-090,24px);max-width:50%;overflow:hidden}.adyen-checkout__filter-input{background:inherit;border:0;color:var(--adyen-sdk-color-label-primary,#00112c);font-family:inherit;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);height:100%;padding:0;width:100%;flex:1 1 auto;min-width:0;text-overflow:ellipsis}.adyen-checkout__filter-input:active,.adyen-checkout__filter-input:focus{outline:0}.adyen-checkout__filter-input[readonly]{border-color:transparent;color:var(--adyen-sdk-color-label-secondary,#5c687c)!important;cursor:not-allowed}.adyen-checkout__filter-input--placeholder{color:var(--adyen-sdk-color-label-secondary,#5c687c)}.adyen-checkout__dropdown__list{overflow-y:auto;display:none;position:absolute;z-index:2;border-radius:var(--adyen-sdk-border-radius-m,8px);max-height:375px;box-shadow:0 var(--adyen-sdk-spacer-010,2px) 7px rgba(0,15,45,.3);width:100%;background:var(--adyen-sdk-color-background-primary,#ffffff);list-style:none;padding:0;margin:0 0 var(--adyen-sdk-spacer-120,48px)}.adyen-checkout__dropdown__list.adyen-checkout__dropdown__list--active{display:block;margin-top:var(--adyen-sdk-spacer-010,2px)}.adyen-checkout__dropdown__element{display:flex;align-items:center;padding:var(--adyen-sdk-spacer-060,12px);line-height:var(--adyen-sdk-text-body-line-height,20px);border:var(--adyen-sdk-border-width-s,1px) solid transparent;word-break:break-word;hyphens:auto;cursor:pointer;font-size:var(--adyen-sdk-text-body-font-size,.875rem);outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s ease-out,border-color .2s ease-out}.adyen-checkout__dropdown__element .adyen-checkout__icon{flex-shrink:0}.adyen-checkout__dropdown__element:last-child{border-bottom:0}.adyen-checkout__dropdown__element.adyen-checkout__dropdown__element--active{background:rgba(230,233,235,.6);border-radius:var(--adyen-sdk-border-radius-m,8px);box-shadow:inset 0 0 0 var(--adyen-sdk-border-width-s,1px) var(--adyen-sdk-color-outline-primary-active,#00112c)}.adyen-checkout__dropdown__element:hover{background:rgba(230,233,235,.6)}.adyen-checkout__dropdown__element--disabled{opacity:.4;cursor:not-allowed}.adyen-checkout__dropdown__element__icon{border-radius:var(--adyen-sdk-border-radius-s,4px);margin-right:var(--adyen-sdk-spacer-040,8px);max-width:var(--adyen-sdk-spacer-110,40px);max-height:26px}[dir=rtl] .adyen-checkout__dropdown__element__icon{margin-left:var(--adyen-sdk-spacer-040,8px);margin-right:0}.adyen-checkout__dropdown__element__content{display:flex;flex-direction:column;flex-grow:1;min-width:0;gap:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__element__primary{display:flex;align-items:center}.adyen-checkout__dropdown__element__text{flex-grow:1;font-size:var(--adyen-sdk-text-subtitle-font-size,1rem)}.adyen-checkout__dropdown__element__tags{margin-left:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown__element__tags:not(:last-child){margin-right:var(--adyen-sdk-spacer-040,8px)}.adyen-checkout__dropdown+.adyen-checkout-input__inline-validation{right:var(--adyen-sdk-spacer-100,32px)}
|
|
13
15
|
.adyen-checkout__installments--revolving-plan .adyen-checkout__field--installments>.adyen-checkout__input-wrapper{border:none;background-color:transparent;box-shadow:none}.adyen-checkout__installments--revolving-plan .adyen-checkout__field--installments>.adyen-checkout__input-wrapper:active,.adyen-checkout__installments--revolving-plan .adyen-checkout__field--installments>.adyen-checkout__input-wrapper:active:hover,.adyen-checkout__installments--revolving-plan .adyen-checkout__field--installments>.adyen-checkout__input-wrapper:focus-within,.adyen-checkout__installments--revolving-plan .adyen-checkout__field--installments>.adyen-checkout__input-wrapper:focus-within:hover{box-shadow:none}.adyen-checkout__installments--revolving-plan .adyen-checkout__fieldset--revolving-plan{margin-top:-5px}
|
|
14
16
|
.adyen-checkout-disclaimer__label{margin-top:var(--adyen-sdk-spacer-070,16px);padding-left:0;display:inline-block;line-height:var(--adyen-sdk-text-caption-line-height,18px);color:var(--adyen-sdk-color-label-secondary,#5c687c);font-size:var(--adyen-sdk-text-caption-font-size,.75rem);font-weight:400}[dir=rtl] .adyen-checkout-disclaimer__label{padding-right:0}
|
|
15
17
|
.adyen-checkout-link{--text-decoration:none;color:var(--adyen-sdk-color-label-highlight,#0070f5);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration)}.adyen-checkout-link:focus-visible{outline:none}.adyen-checkout-link:active,.adyen-checkout-link:hover{--text-decoration:underline}.adyen-checkout-link:focus-visible{box-shadow:0 0 0 1px #fff,0 0 0 3px var(--adyen-sdk-focus-ring-color,rgba(0,112,245,.8));transition:.1s cubic-bezier(.785,.135,.15,.86);border-radius:var(--adyen-sdk-border-radius-xs,2px)}
|
|
@@ -39,7 +41,7 @@
|
|
|
39
41
|
.adyen-checkout-ctp__otp-subtitle--highlighted{color:var(--adyen-sdk-color-label-primary,#00112c);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500)}
|
|
40
42
|
.adyen-checkout-ctp__otp-checkbox-container{padding:var(--adyen-sdk-spacer-060,12px);margin-bottom:var(--adyen-sdk-spacer-070,16px);border-radius:var(--adyen-sdk-border-radius-s,4px);background-color:#f7f8f9}.adyen-checkout-ctp__otp-checkbox-container--checked{background-color:#F2F8FF}.adyen-checkout-ctp__otp-checkbox-container label{cursor:pointer}.adyen-checkout-ctp__section .adyen-checkout__field.adyen-checkout-ctp__otp-checkbox-container{margin-bottom:var(--adyen-sdk-spacer-020,4px)}.adyen-checkout-ctp__otp-checkbox-info{color:#707070;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-body-line-height,20px);margin:var(--adyen-sdk-spacer-020,4px) 0 0}.adyen-checkout-ctp__otp-readmore-button{all:unset;text-transform:lowercase;cursor:pointer;color:var(--adyen-sdk-color-label-on-background-highlight-weak,#0063d7)}
|
|
41
43
|
.adyen-checkout-ctp__card-list-single-card{border-radius:var(--adyen-sdk-spacer-030,6px);background-color:var(--adyen-sdk-color-background-secondary,#f7f7f8);height:var(--adyen-sdk-spacer-110,40px);padding:var(--adyen-sdk-spacer-060,12px);margin-top:var(--adyen-sdk-spacer-070,16px);display:flex;align-items:center;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px)}.adyen-checkout-ctp__card-list-single-card-expired{text-decoration:line-through;color:var(--adyen-sdk-color-label-tertiary,#5c687c)}.adyen-checkout-ctp__expired-label{color:var(--adyen-sdk-color-label-tertiary,#5c687c);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);line-height:17px;margin-left:auto}.adyen-checkout-ctp__card-image{border-radius:3px;margin-right:var(--adyen-sdk-spacer-040,8px);height:24px}
|
|
42
|
-
.adyen-checkout-ctp__cards-list-field .adyen-checkout__label{margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-ctp__cards-list-field .adyen-checkout__label__text{font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);color:var(--adyen-sdk-color-label-tertiary,#5c687c)}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled{opacity:1}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled .adyen-checkout__dropdown__element__text{text-decoration:line-through;opacity:.4;margin:0}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled .adyen-checkout__dropdown__element__secondary-text{color:var(--adyen-sdk-color-label-tertiary,#5c687c);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);line-height:17px}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__button--disabled{opacity:1}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__button--disabled .adyen-checkout__dropdown__button__text{text-decoration:line-through;opacity:.4}
|
|
44
|
+
.adyen-checkout-ctp__cards-list-field .adyen-checkout__label{margin-bottom:var(--adyen-sdk-spacer-070,16px)}.adyen-checkout-ctp__cards-list-field .adyen-checkout__label__text{font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);color:var(--adyen-sdk-color-label-tertiary,#5c687c)}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled{opacity:1}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled .adyen-checkout__dropdown__element__text{text-decoration:line-through;opacity:.4;margin:0}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__element--disabled .adyen-checkout__dropdown__element__secondary-text{color:var(--adyen-sdk-color-label-tertiary,#5c687c);font-weight:var(--adyen-sdk-text-body-stronger-font-weight,500);line-height:17px}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__button--disabled{opacity:1}.adyen-checkout-ctp__cards-list-dropdown .adyen-checkout__dropdown__button--disabled .adyen-checkout__dropdown__button__text{text-decoration:line-through;opacity:.4}
|
|
43
45
|
.adyen-checkout__iframe{border:0}
|
|
44
46
|
.adyen-checkout-ctp__card{width:100%;height:var(--adyen-sdk-spacer-110,40px);margin:0;background-color:white;border:none;border-radius:var(--adyen-sdk-spacer-020,4px);margin-bottom:var(--adyen-sdk-spacer-080,20px);box-shadow:0 0 0 var(--adyen-sdk-spacer-010,2px) #999595;cursor:pointer}.adyen-checkout-ctp__empty-cards{border-radius:var(--adyen-sdk-spacer-030,6px);background-color:var(--adyen-sdk-color-background-secondary,#f7f7f8);color:var(--adyen-sdk-color-label-tertiary,#5c687c);height:var(--adyen-sdk-spacer-110,40px);display:flex;align-items:center;font-size:var(--adyen-sdk-text-body-font-size,.875rem);font-weight:var(--adyen-sdk-text-body-font-weight,400);line-height:var(--adyen-sdk-text-caption-line-height,18px);padding:var(--adyen-sdk-spacer-060,12px) var(--adyen-sdk-spacer-070,16px);margin-top:var(--adyen-sdk-spacer-070,16px);margin-bottom:var(--adyen-sdk-spacer-090,24px)}.adyen-checkout__iframe--ctpIframe{pointer-events:auto}.adyen-checkout__iframe--ctpIframe-hidden{display:none}
|
|
45
47
|
@keyframes card-bounce{0%{-webkit-translate:0 -60%;-moz-translate:0 -60%;-ms-translate:0 -60%;translate:0 -60%;animation-timing-function:cubic-bezier(.17,.17,.32,1)}9.70874%{-webkit-translate:0 8.5%;-moz-translate:0 8.5%;-ms-translate:0 8.5%;translate:0 8.5%;animation-timing-function:cubic-bezier(.41,0,.49,1)}23.4466%{-webkit-translate:0 -22.5%;-moz-translate:0 -22.5%;-ms-translate:0 -22.5%;translate:0 -22.5%;animation-timing-function:cubic-bezier(.29,0,.26,1)}47.7184%{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0}63.8835%{-webkit-translate:0;-moz-translate:0;-ms-translate:0;translate:0;animation-timing-function:cubic-bezier(1,0,.78,1)}86.5534%{-webkit-translate:0 40.7%;-moz-translate:0 40.7%;-ms-translate:0 40.7%;translate:0 40.7%}to{-webkit-translate:0 40.7%;-moz-translate:0 40.7%;-ms-translate:0 40.7%;translate:0 40.7%}}@keyframes card-fade-100{0%{opacity:0;animation-timing-function:linear}8.1068%{opacity:1}78.4466%{opacity:1}86.5534%{opacity:0}to{opacity:0}}@keyframes card-fade-60{0%{opacity:0;animation-timing-function:linear}8.1068%{opacity:.6}78.4466%{opacity:.6}86.5534%{opacity:0}to{opacity:0}}@keyframes card-fade-20{0%{opacity:0;animation-timing-function:linear}8.1068%{opacity:.2}78.4466%{opacity:.2}86.5534%{opacity:0}to{opacity:0}}.adyen-checkout-ctp__card-animation{position:relative;max-width:100%;aspect-ratio:1/.438;filter:grayscale(1);width:140px;margin:40px auto 50px}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer{opacity:0;width:100%;height:100%;position:absolute;background-size:contain!important}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:first-of-type{z-index:3;opacity:1;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='m895.31 228.862-46.416-10.988c-1.172-.381-2.528-.481-3.565-.203-1.582.424-1.825 1.567-.543 2.554.676.52 1.641.893 2.634 1.067l42.816 10.545-.537 21.742-2.328.624-6.897 1.848 1.146-20.056q.002-.019.003-.037h.005c.061-.536-.274-1.054-.864-1.494-.563-.447-1.399-.831-2.462-1.065l-.003.001-.072-.016-46.587-10.849-.032-.008c-1.18-.39-2.554-.496-3.601-.215l-16.926 4.535c-1.582.424-1.825 1.568-.542 2.555.389.299.859.593 1.407.742l44.453 10.938-.526 19.429c-.021.101.234 2.007-2.662 2.783l-22.831 6.118c-3.105.832-7.644.01-10.253-1.998l-32.227-24.8c-2.271-1.748-2.029-4.233 1.146-5.083l14.204-3.806c1.674-.449 1.938-1.481.58-2.526s-3.556-1.501-5.23-1.053l-14.297 3.879c-6.795 1.82-6.817 6.539-2.199 10.093l32.275 24.837c4.972 3.826 14.615 5.636 20.567 4.042l22.824-6.116c1.151-.309 2.067-.696 2.797-1.118q.156-.091.301-.183c2.32-1.48 2.521-3.296 2.528-3.671l1.19-21.406c.081-.992-1.14-2.073-3.289-2.548l-.003.002-.072-.017-39.385-9.196 7.065-1.893 2.329-.624 41.998 10.256-.496 22.836q0 .01.093.032c.113.304.361.618.75.918 1.283.987 3.605 1.443 5.187 1.02l16.925-4.535c1.048-.281 1.507-.878 1.326-1.536l1.612-23.779.002-.037.005-.001c.123-1.083-1.369-2.092-3.323-2.539'/%3E%3Cpath stroke='%23fff' d='m895.31 228.862-46.416-10.988c-1.172-.381-2.528-.481-3.565-.203-1.582.424-1.825 1.567-.543 2.554.676.52 1.641.893 2.634 1.067l42.816 10.545-.537 21.742-2.328.624-6.897 1.848 1.146-20.056q.002-.019.003-.037h.005c.061-.536-.274-1.054-.864-1.494-.563-.447-1.399-.831-2.462-1.065l-.003.001-.072-.016-46.587-10.849-.032-.008c-1.18-.39-2.554-.496-3.601-.215l-16.926 4.535c-1.582.424-1.825 1.568-.542 2.555.389.299.859.593 1.407.742l44.453 10.938-.526 19.429c-.021.101.234 2.007-2.662 2.783l-22.831 6.118c-3.105.832-7.644.01-10.253-1.998l-32.227-24.8c-2.271-1.748-2.029-4.233 1.146-5.083l14.204-3.806c1.674-.449 1.938-1.481.58-2.526s-3.556-1.501-5.23-1.053l-14.297 3.879c-6.795 1.82-6.817 6.539-2.199 10.093l32.275 24.837c4.972 3.826 14.615 5.636 20.567 4.042l22.824-6.116c1.151-.309 2.067-.696 2.797-1.118q.156-.091.301-.183c2.32-1.48 2.521-3.296 2.528-3.671l1.19-21.406c.081-.992-1.14-2.073-3.289-2.548l-.003.002-.072-.017-39.385-9.196 7.065-1.893 2.329-.624 41.998 10.256-.496 22.836q0 .01.093.032c.113.304.361.618.75.918 1.283.987 3.605 1.443 5.187 1.02l16.925-4.535c1.048-.281 1.507-.878 1.326-1.536l1.612-23.779.002-.037.005-.001c.123-1.083-1.369-2.092-3.323-2.539'/%3E%3Cpath fill='%23fff' fill-opacity='.9' fill-rule='evenodd' d='M418.95 242.813c-1.166.08-3.042-.372-4.121-.994-.702-.405-.941-.755-1.527-2.243-2.373-6.017-6.517-11.028-13.679-16.54-6.921-5.325-13.863-9.053-24.178-12.987-2.215-.844-4.182-1.652-4.368-1.795-.687-.528-.979-1.482-.612-1.986.505-.691 2.349-1.081 3.824-.809.567.103 2.521.743 4.345 1.421 7.215 2.687 13.99 5.937 20.009 9.598 3.723 2.267 9.803 6.823 12.219 9.164 4.462 4.317 7.493 8.422 9.4 12.73 1.153 2.604 1.269 3.77.4 4.003a2.4 2.4 0 0 0-.548.23c-.132.08-.653.173-1.164.208m-16.069-.701c-1.791.122-4.29-.719-4.965-1.671-.163-.23-.697-1.349-1.19-2.485-2.083-4.815-6.346-9.43-12.427-13.455-4.994-3.305-8.797-5.218-15.392-7.737-4.424-1.69-4.929-2-5.087-3.117-.146-1.06 1.961-1.804 4.061-1.431 1.457.258 8.467 2.972 11.969 4.634 11.594 5.498 19.993 12.484 23.913 19.889 2.008 3.792 1.779 5.192-.882 5.373m-16.492-.659c-1.224-.015-2.768-.406-3.758-.951-.603-.332-.912-.797-1.614-2.437-2.575-6.024-8.768-10.833-18.898-14.676-4.447-1.688-5.038-2.104-4.718-3.324.158-.605.358-.757 1.34-1.02 1.642-.44 3.175-.146 7.121 1.365 6.068 2.325 10.298 4.621 14.525 7.881 4.345 3.352 6.465 5.882 8.069 9.62.915 2.141.839 2.79-.389 3.282-.375.149-1.131.266-1.678.26m-15.379-.611c-.949.006-2.546-.385-3.476-.851-1.035-.519-1.424-1.045-1.796-2.434-.477-1.786-1.147-2.632-3.558-4.488s-3.719-2.531-6.931-3.584c-1.089-.356-2.302-.809-2.698-1.003-1.658-.818-1.914-2.296-.508-2.936 1.187-.544 2.67-.406 5.617.522 8.533 2.685 14.934 7.611 15.941 12.27.357 1.645-.521 2.495-2.591 2.504'/%3E%3Crect width='110' height='74' fill='url(%23a)' rx='10' transform='matrix(.96593 -.25882 .7925 .60987 199.717 245.906)'/%3E%3Cg stroke='%23000' stroke-opacity='.8' stroke-width='2'%3E%3Cpath d='m233.447 236.868 46.846 36.05c.876.673.72 1.451-.347 1.737l-31.799 8.521M266.657 262.424l-33.731 9.038m17.126-21.816-33.73 9.038m115.215 13.423-46.846-36.05c-.875-.673-.72-1.451.347-1.737l31.799-8.52M298.327 246.551l33.731-9.038m-17.126 21.816 33.731-9.038'/%3E%3Crect width='112' height='76' x='-1.758' y='-.351' rx='11' style='mix-blend-mode:soft-light' transform='matrix(.96593 -.25882 .7925 .60987 199.935 245.314)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='a' x1='-12.604' x2='99.193' y1='0' y2='88.114' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23fff'/%3E%3Cstop offset='.484' stop-color='%23b3b3b3'/%3E%3Cstop offset='1' stop-color='%23fff'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='728' height='455' fill='url(%23b)' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3Cg fill='%23033783'%3E%3Cpath fill-opacity='.2' d='M638.209-50.009C376.564 99.506 477.408 320.518 560.535 412.335L1063.78 277.49z'/%3E%3Cpath fill-opacity='.4' d='M711.119 6.099C494.132 130.043 577.63 313.21 646.503 389.3l417.277-111.81z'/%3E%3C/g%3E%3Cpath fill='%23003780' d='M791.162 67.695C624.04 163.343 688.839 304.87 742.129 363.677l321.651-86.187z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='72.545' x2='249.224' y1='26.435' y2='498.002' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%233382ea'/%3E%3Cstop offset='1' stop-color='%23003ea9'/%3E%3C/linearGradient%3E%3CclipPath id='a'%3E%3Crect width='728' height='455' fill='%23fff' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat;animation:card-bounce 2.06s linear infinite both,card-fade-100 2.06s linear infinite both;animation-delay:.1s}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(2){z-index:2;opacity:.6;transform:translateY(25%);animation:card-bounce 2.06s linear infinite both,card-fade-60 2.06s linear infinite both;animation-delay:50ms}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(2),.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(3){background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1064' height='466' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='728' height='455' fill='url(%23b)' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3Cg fill='%23033783'%3E%3Cpath fill-opacity='.2' d='M638.209-50.009C376.564 99.506 477.408 320.518 560.535 412.335L1063.78 277.49z'/%3E%3Cpath fill-opacity='.4' d='M711.119 6.099C494.132 130.043 577.63 313.21 646.503 389.3l417.277-111.81z'/%3E%3C/g%3E%3Cpath fill='%23003780' d='M791.162 67.695C624.04 163.343 688.839 304.87 742.129 363.677l321.651-86.187z'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='b' x1='72.545' x2='249.224' y1='26.435' y2='498.002' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%233382ea'/%3E%3Cstop offset='1' stop-color='%23003ea9'/%3E%3C/linearGradient%3E%3CclipPath id='a'%3E%3Crect width='728' height='455' fill='%23fff' rx='24' transform='matrix(.96593 -.25882 .7925 .60987 0 188.42)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E") 0 0 no-repeat}.adyen-checkout-ctp__card-animation>.adyen-checkout-ctp__card-animation-layer:nth-of-type(3){z-index:1;opacity:.2;transform:translateY(50%);animation:card-bounce 2.06s linear infinite both,card-fade-20 2.06s linear infinite both}.adyen-checkout-ctp__loading-subtitle{font-size:var(--adyen-sdk-text-subtitle-font-size,1rem);line-height:var(--adyen-sdk-text-caption-line-height,18px);max-width:280px;text-align:center;margin:0 auto 58px}
|