@rebilly/instruments 3.14.2-beta.0 → 3.14.3-beta.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/index.js CHANGED
@@ -62,4 +62,4 @@ function j(e){var t=$(e);return null===t?null:("hsl"===t.type&&(t.values=T(t.val
62
62
  * @version v2.0.0
63
63
  * @link http://noeldelgado.github.io/values.js/
64
64
  * @license MIT
65
- */var L=function(e,t){return null===e||isNaN(e)||"string"==typeof e?t:e},R=function(e,t,n){var r;void 0===e&&(e="#000"),void 0===t&&(t="base"),void 0===n&&(n=0),r=[[0,0,0],1,t,n],this.rgb=r[0],this.alpha=r[1],this.type=r[2],this.weight=r[3];var i=null===e?"#000":e;if("string"!=typeof i)throw new TypeError("Input should be a string: "+i);var a=$(i);if(!a)throw new Error("Unable to parse color from string: "+i);return this["_setFrom"+a.type.toUpperCase()](a.values.concat([a.alpha]))},M={hex:{configurable:!0}};return M.hex.get=function(){return this.hexString().replace(/^#/,"")},R.prototype.setColor=function(e){var t=$(e);return t?this["_setFrom"+t.type.toUpperCase()](t.values.concat([t.alpha])):null},R.prototype.tint=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#fff",this.rgbString(),t).rgba+")","tint",t)},R.prototype.shade=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#000",this.rgbString(),t).rgba+")","shade",t)},R.prototype.tints=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.tint((r+1)*t)}))},R.prototype.shades=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.shade((r+1)*t)}))},R.prototype.all=function(e){return void 0===e&&(e=10),this.tints(e).reverse().concat([Object.assign(this)],this.shades(e))},R.prototype.hexString=function(){return H(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha]))},R.prototype.rgbString=function(){var e=(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha])).join(", ");return(this.alpha>=1?"rgb":"rgba")+"("+e+")"},R.prototype.getBrightness=function(){return Math.round(this.rgb.reduce((function(e,t){return e+t}))/765*100)},R.prototype._setFromRGB=function(e){var t;return t=[[e[0],e[1],e[2]],e[3]],this.rgb=t[0],this.alpha=t[1],this},R.prototype._setFromHSL=function(e){var t,n=e[0],r=e[1],i=e[2],a=e[3];return t=[T([n,r,i]).map(Math.round),a],this.rgb=t[0],this.alpha=t[1],this},Object.defineProperties(R.prototype,M),R.VERSION="v2.0.0",R}()})),mo=fo;const ho=e=>new mo(e);function go(e,t=1){if(null===e)return e;const n=ho(e);return n.alpha=t,n.rgbString()}const yo=e=>go(e,.5),vo=(e,t)=>{if(null===e)return e;return ho(e).shade(t).hexString()};class bo{allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"];constructor(e){this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e))),n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const wo={colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>yo(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?go(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"Avenir, Helvetica, Arial, sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorPrimary"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorPrimary}`}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?vo(e.buttonColorBackground,20):vo(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new bo(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"buttonSecondaryColorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${vo(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new bo(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?yo(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new bo(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?yo(e.inputErrorColorText):yo(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}};var xo=new Proxy(wo,{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:i}=e[t].fallback;if("static"===r)return i;if("variable"===r)return`var(--rebilly-${i})`;if("func"===r)return i(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}});class ko{constructor(e={}){this.overrides=e,this.theme=xo}static nonCssProperties=["labels"];overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((e=>!ko.nonCssProperties.includes(e))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}}function So(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}var Ao=({options:{theme:e={},css:t}}={})=>{const n=(e=>{const t=`\n ${(e=>`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root {\n ${e.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n height: 44px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: 32px;\n height: 22px;\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n`)(new ko(e).build())}\n `;return t})(e||{});return no({element:"style",attributes:{type:"text/css"},content:So(n),target:"head"}),t&&no({element:"style",attributes:{type:"text/css"},content:So(t),target:"head"}),n};const Eo=({state:e})=>{e.translate.init(e.options.locale,e.options.i18n),e.translate.translateItems()};function $o(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let i=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i)[1];i=e.replace(n,t[r])})),n(i)}return e}return[...e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)].forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const To=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`]});function Co({eventName:e,callback:t}){if(!We.includes(e))throw new Error(`${e} is not a supported event`);const n=le(e);Ue[n].addEventListener(t)}async function Io({name:e="",url:t="",model:n={},classListArray:r=[],close:i=(()=>{}),state:a=null}={}){var o;const s=null==n||null===(o=n.method)||void 0===o?void 0:o.method,l="rebilly-instruments-approval-url"===e;a.form.insertAdjacentHTML("beforeend",((e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`)(l,s));const u=document.querySelector(".rebilly-instruments-modal-overlay"),c=document.querySelector(".rebilly-instruments-modal-container"),d=document.querySelector(".rebilly-instruments-modal-close"),p=document.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{u.classList.add("is-visible"),c.classList.add("is-visible")}),240),a.loader.addDOMElement({section:"modal",el:p}),a.loader.startLoading({section:"modal",id:e});const f={options:a.options,...n},m=await new Qe({state:a,name:e,url:t,model:f,classListArray:r,container:p}),h=(...e)=>{c.classList.remove("is-visible"),u.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto",u.children.forEach((e=>e.remove())),u.remove(),i(...e),m.destroy()}),300)};return m.bindEventListeners({close:h,loader:a.loader}),l||d.addEventListener("click",h),m}async function Ho({state:e,payload:t}){const{_raw:{id:n},isExistingInstrument:r}=t;delete t.isExistingInstrument,delete t._raw;const i={...t};r?i.paymentInstrumentId=n:i.token=n,e.options.invoiceId&&(i.invoiceId=e.options.invoiceId),e.options.transactionId&&(i.transactionId=e.options.transactionId),e.options.money&&(i.websiteId=e.options.websiteId,i.amount=e.options.money.amount,i.currency=e.options.money.currency);let{fields:a}=await async function({data:e,state:t}){return di({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.payment({data:e}))))}({state:e,data:i});return a={transaction:a,token:a.token||e.options.jwt},e.data.invoice&&(a.invoice=e.data.invoice),a}async function Fo({state:e,payload:t}){const{fields:n}=await async function({data:e,state:t}){return di({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.purchase({data:e}))))}({state:e,data:{websiteId:e.options.websiteId,items:e.options.items,paymentInstruction:{token:t._raw.id},...t}});return n}async function jo({state:e,payload:t}){try{var n,r;let i;return i=e.data.isPayment?await Ho({state:e,payload:t}):await Fo({state:e,payload:t}),null!==(n=i.transaction)&&void 0!==n&&n.approvalUrl&&"unknown"===(null===(r=i.transaction)||void 0===r?void 0:r.result)?function({state:e,fields:t}){const{paymentMethodsUrl:n}=e.options._computed,r={};e.data.isPayment?r.payment=t:r.purchase=t,e.data=new Ja({state:e,...t}),Io({state:e,name:"rebilly-instruments-approval-url",url:`${n}/approval-url`,model:r,close:e=>{Ue.purchaseCompleted.dispatch(e)}})}({state:e,fields:i}):Ue.purchaseCompleted.dispatch(i),i}catch(e){return Ge(e),e}}async function Po({state:e,payload:t}){try{var n;const{_raw:{id:r},isExistingInstrument:i}=t;delete t.isExistingInstrument,delete t._raw;const a={...t};i?a.paymentInstrumentId=r:a.token=r;const{instrument:o,transaction:s}=await async function({data:e,state:t}){return di({state:t},(async()=>{var n,r;const{fields:i}=await t.storefront.paymentInstruments.create({data:e});t.storefront.setSessionToken(i.token||t.options.jwt);const a={id:i.id,data:{websiteId:t.options.websiteId,...e}};t.data.amountAndCurrency&&(a.data={...a.data,...t.data.amountAndCurrency}),null!==(n=t.data)&&void 0!==n&&null!==(r=n.transaction)&&void 0!==r&&r.redirectUrl&&(a.data.redirectUrl=`${a.data.redirectUrl}&originalRedirectUrl=${t.data.transaction.redirectUrl}`);const{fields:o}=await t.storefront.paymentInstruments.setup(a);return{instrument:i,transaction:o}}))}({state:e,data:{websiteId:null===(n=e.options)||void 0===n?void 0:n.websiteId,...a}});if(e.data=new Ja({state:e,instrument:o,transaction:s}),s.approvalUrl&&"unknown"===s.result){const{paymentMethodsUrl:t}=e.options._computed;Io({state:e,name:"rebilly-instruments-approval-url",url:`${t}/approval-url`,model:{setup:{transaction:s}},close:({transaction:e=s})=>{Ue.setupCompleted.dispatch({instrument:o,transaction:e})}})}else Ue.setupCompleted.dispatch({instrument:o,transaction:s});return{instrument:o,transaction:s}}catch(e){return Ge(e),e}}async function Lo({payload:e,state:t}){e.billingAddress&&t.summary&&t.data.isPurchase&&mi({state:t,instrument:e});t.form.querySelector(".rebilly-instruments-content").insertAdjacentHTML("afterend",'<div class="rebilly-instruments-confirmation"></div>');const n=t.form.querySelector(".rebilly-instruments-method-selector");n.style.visibility="hidden",n.style.height="0px",t.loader.startLoading({id:"rebilly-instruments-confirmation"});const r=document.querySelector(".rebilly-instruments-confirmation"),{paymentMethodsUrl:i}=t.options._computed,a={options:t.options,data:t.data.toPostmatesModel(),mainStyleVars:t.mainStyleVars,instrument:e},o="rebilly-instruments-confirmation",s=await new Ye({name:o,url:`${i}/confirmation`,container:r,model:a});s.bindEventListeners({loader:t.loader}),s.component.on(`${o}-confirm-purchase`,(e=>{jo({state:t,payload:e})})),s.component.on(`${o}-confirm-setup`,(e=>{Po({state:t,payload:e})})),s.component.on("choose-another-method",(()=>{t.iframeComponents.form=t.iframeComponents.form.filter((e=>e.name!==s.name||(e.destroy(),!1))),t.data.isPurchase&&mi({state:t}),async function({state:e}){var t;e.loader.startLoading({id:"rebilly-instruments-methods"});const{riskMetadata:n}=await Pa();e.data=await Xa({state:e,riskMetadata:n}),e.data.transaction&&"setup"===(null===(t=e.data.transaction)||void 0===t?void 0:t.type)&&(e.options.transactionType="setup"),to({state:e})}({state:t,mainStyleVars:t.mainStyleVars}),t.form.querySelector(".rebilly-instruments-confirmation").remove()})),t.iframeComponents.form.push(s)}async function Ro({componentName:e,payload:t,state:n}){switch(e){case"result":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),async function({payload:e,state:t}){var n,r;n=t.form,r='<div class="rebilly-instruments-result"></div>',n.querySelector(".rebilly-instruments-content").innerHTML=r,t.loader.startLoading({id:"rebilly-instruments-result"}),t.loader.stopLoading({id:"express-purchase"});const i=document.querySelector(".rebilly-instruments-result"),{paymentMethodsUrl:a}=t.options._computed,o={options:t.options,mainStyleVars:t.mainStyleVars,[t.options.transactionType]:e},s=await new Ye({name:"rebilly-instruments-result",url:`${a}/result`,container:i,model:o});s.bindEventListeners({loader:t.loader}),t.iframeComponents.form.push(s)}({payload:t,state:n});break;case"confirmation":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),Lo({payload:t,state:n});break;default:throw new Error(`'${e}' not a supported component`)}}var Mo=({state:e={}})=>{e.options.features.autoConfirmation&&Co({eventName:"instrument-ready",callback:t=>{var n;if("paypal"===(null===(n=t._raw)||void 0===n?void 0:n.method)&&!e.data.isShippingRequired)return"setup"===e.options.transactionType?Po({state:e,payload:t}):jo({state:e,payload:t}),void e.loader.startLoading({state:e,id:"express-purchase",message:"form.loaderMessages.processingPayment"});Ro({componentName:"confirmation",payload:t,state:e})}}),e.options.features.autoResult&&Co({eventName:"setup"===e.options.transactionType?"setup-completed":"purchase-completed",callback:t=>{!function({state:e,payload:t}){Ro({componentName:"result",payload:t,state:e})}({state:e,payload:t})}})};async function Oo({state:e,setupFramepay:t=po,...n}={}){try{var r,i,a;e.data={},e.options={},e.form=ro({element:"form",options:n}),e.summary=ro({element:"summary",options:n}),e.form.style.maxWidth="750px",e.summary.style.maxWidth="750px",e.options=co({options:n}),e.storefront=io({options:n}),e.mainStyleVars=Ao({options:n}),e.options.themeFramepay=(({state:e,options:t={}})=>{const n=$o(`\n ${e.mainStyleVars}\n ${t.css||""}\n `);return{base:{...To(n,"input"),":hover":To(n,"inputHover"),":focus":To(n,"inputFocus"),"::placeholder":To(n,"inputPlaceholder"),"::selection":To(n,"inputSelection")},invalid:{...To(n,"inputError"),":hover":To(n,"inputErrorHover"),":focus":To(n,"inputErrorFocus"),"::placeholder":To(n,"inputErrorPlaceholder"),"::selection":To(n,"inputErrorSelection")},buttons:{base:{...To(n,"buttonSecondary"),":hover":To(n,"buttonSecondaryHover"),":focus":To(n,"buttonSecondaryActive")},active:{...To(n,"button"),":hover":To(n,"buttonHover"),":focus":To(n,"buttonActive")}}}})({state:e,options:n}),e.loader.addDOMElement({el:e.form}),e.loader.addDOMElement({section:"summary",el:e.summary}),e.loader.startLoading({state:e,section:"summary",id:"rebilly-instruments-summary"}),e.loader.startLoading({state:e,id:"rebilly-instruments-methods"}),e.data=await Xa({state:e}),Ue.dataReady.dispatch(e.data),e.i18n=(({state:e={}})=>{var t,n;if("auto"===e.options.locale&&null!==(t=e.data.riskMetadata)&&void 0!==t&&null!==(n=t.browserData)&&void 0!==n&&n.language){const{browserData:{language:t}}=e.data.riskMetadata;e.options.locale=t}return e.translate.init(e.options.locale,e.options.i18n),Eo})({state:e}),await t(e),!e.options.websiteId&&null!==(r=e.data.transaction)&&void 0!==r&&r.websiteId?e.options.websiteId=e.data.transaction.websiteId:!e.options.websiteId&&null!==(i=e.data.invoice)&&void 0!==i&&i.websiteId&&(e.options.websiteId=e.data.invoice.websiteId),e.data.transaction&&"setup"===(null===(a=e.data.transaction)||void 0===a?void 0:a.type)&&(e.options.transactionType="setup"),e.form&&to({state:e}),e.summary&&async function({state:e}){const t={options:e.options,data:e.data.toPostmatesModel(),mainStyleVars:e.mainStyleVars},{paymentMethodsUrl:n}=e.options._computed,r=await new Ye({name:"rebilly-instruments-summary",url:`${n}/summary`,container:e.summary,model:t});r.bindEventListeners({loader:e.loader}),e.iframeComponents.summary.push(r)}({state:e}),e.i18n({state:e}),e.hasMounted=!0}catch(e){throw Ge(e),e}Mo({state:e})}async function qo({state:e}){var t,n;var r;await(r=1e3,new Promise((e=>setTimeout(e,r)))),[...(null===(t=e.iframeComponents)||void 0===t?void 0:t.form)||[],...(null===(n=e.iframeComponents)||void 0===n?void 0:n.summary)||[]].forEach((e=>{e.destroy()})),De.removeAll(document),e.iframeComponents={summary:[],form:[]},e.hasMounted=!1,e.summary.textContent="",e.form.textContent="",Zr(),e.loader.clearAll()}function Bo({newOptions:e}){let t={};return t=Object.keys(e).some((e=>["items","money","invoiceId","transactionId"].includes(e)))?{items:null,money:null,invoiceId:null,transactionId:null}:t,t}var _o={en:{summary:{subTotal:"Sub Total",discounts:"Discounts",taxes:"Taxes",shipping:"Shipping",total:"Total"},form:{expressCheckout:"Express checkout",or:"Or",popupOverlayText:"Click here to show popup window",andMore:"and more",error:{noPaymentMethods:"No payment methods available for this transaction, please contact support."},loaderMessages:{processingPayment:"Processing payment instrument."}},paymentMethods:{"payment-card":"Payment card",ach:"Bank account"}}},zo={es:{summary:{subTotal:"Sub Total",discounts:"Descuentos",taxes:"Impuestos",shipping:"Envío",total:"Total"},form:{expressCheckout:"Chequeo rápido",or:"O pague con",andMore:"y más",popupOverlayText:"Haga clic aquí para mostrar la ventana emergente",error:{noPaymentMethods:"No hay métodos de pago disponibles para esta transacción, por favor, póngase en contacto con el servicio de asistencia."}},paymentMethods:{"payment-card":"Tarjeta de crédito",ach:"Cuenta bancaria"}}};class Do{constructor(){this.locale="",this.items=[],this.languages={}}init(e,t){this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale=this.getLocale(e),this.languages=Ya({},{..._o,...zo},t)}translateItems(){return this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale in this.languages&&this.items.forEach((e=>{const t=this.getTranslation(this.languages[this.locale],e.dataset.rebillyI18n);t&&(e.innerHTML=t)}))}updateTranslationsToNewLocale(e){this.locale=e,this.translateItems()}getLocale(e=this.locale){return!e.includes("-")||e in this.languages?e:(e=e.replace(/[-._]\w+$/gi,""),this.getLocale(e))}translateItem(e){const t=this.getLocale();return this.getTranslation(this.languages[t],e.dataset.rebillyI18n)}getTranslation(e=this.locale,t){return t.split(".").reduce(((e,t)=>null==e?void 0:e[t]),e)}}class No{constructor(){this.options=null,this.data={},this.mountingPoints=null,this.storefront=null,this.form=null,this.summary=null,this.loader=new m,this.translate=new Do,this.iframeComponents={summary:[],form:[]},this.hasMounted=!1}}var Uo=new class{constructor(){this.state=new No}async mount(e){await Oo({state:this.state,...e})}async destroy(){await qo({state:this.state})}async update(e){await async function({state:e,newOptions:t={}}){if(!e.hasMounted)throw Error("Update method cannot be called before mounting instruments");const n={...e.options,...Bo({newOptions:t})},r=Ya({...n},t);await qo({state:e}),Oo({state:e,form:e.form,summary:e.summary,...r})}({state:this.state,newOptions:e})}async purchase(e){await jo({state:this.state,payload:e})}async setup(e){await Po({state:this.state,payload:e})}async show(e,t){await Ro({state:this.state,componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.3.14.2-beta.0"}on(e,t){Co({state:this.state,eventName:e,callback:t})}};export{Uo as default};
65
+ */var L=function(e,t){return null===e||isNaN(e)||"string"==typeof e?t:e},R=function(e,t,n){var r;void 0===e&&(e="#000"),void 0===t&&(t="base"),void 0===n&&(n=0),r=[[0,0,0],1,t,n],this.rgb=r[0],this.alpha=r[1],this.type=r[2],this.weight=r[3];var i=null===e?"#000":e;if("string"!=typeof i)throw new TypeError("Input should be a string: "+i);var a=$(i);if(!a)throw new Error("Unable to parse color from string: "+i);return this["_setFrom"+a.type.toUpperCase()](a.values.concat([a.alpha]))},M={hex:{configurable:!0}};return M.hex.get=function(){return this.hexString().replace(/^#/,"")},R.prototype.setColor=function(e){var t=$(e);return t?this["_setFrom"+t.type.toUpperCase()](t.values.concat([t.alpha])):null},R.prototype.tint=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#fff",this.rgbString(),t).rgba+")","tint",t)},R.prototype.shade=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#000",this.rgbString(),t).rgba+")","shade",t)},R.prototype.tints=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.tint((r+1)*t)}))},R.prototype.shades=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.shade((r+1)*t)}))},R.prototype.all=function(e){return void 0===e&&(e=10),this.tints(e).reverse().concat([Object.assign(this)],this.shades(e))},R.prototype.hexString=function(){return H(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha]))},R.prototype.rgbString=function(){var e=(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha])).join(", ");return(this.alpha>=1?"rgb":"rgba")+"("+e+")"},R.prototype.getBrightness=function(){return Math.round(this.rgb.reduce((function(e,t){return e+t}))/765*100)},R.prototype._setFromRGB=function(e){var t;return t=[[e[0],e[1],e[2]],e[3]],this.rgb=t[0],this.alpha=t[1],this},R.prototype._setFromHSL=function(e){var t,n=e[0],r=e[1],i=e[2],a=e[3];return t=[T([n,r,i]).map(Math.round),a],this.rgb=t[0],this.alpha=t[1],this},Object.defineProperties(R.prototype,M),R.VERSION="v2.0.0",R}()})),mo=fo;const ho=e=>new mo(e);function go(e,t=1){if(null===e)return e;const n=ho(e);return n.alpha=t,n.rgbString()}const yo=e=>go(e,.5),vo=(e,t)=>{if(null===e)return e;return ho(e).shade(t).hexString()};class bo{allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"];constructor(e){this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e))),n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const wo={colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>yo(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?go(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"Avenir, Helvetica, Arial, sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorPrimary"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorPrimary}`}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?vo(e.buttonColorBackground,20):vo(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new bo(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"buttonSecondaryColorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${vo(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new bo(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?yo(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new bo(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?yo(e.inputErrorColorText):yo(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}};var xo=new Proxy(wo,{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:i}=e[t].fallback;if("static"===r)return i;if("variable"===r)return`var(--rebilly-${i})`;if("func"===r)return i(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}});class ko{constructor(e={}){this.overrides=e,this.theme=xo}static nonCssProperties=["labels"];overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((e=>!ko.nonCssProperties.includes(e))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}}function So(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}var Ao=({options:{theme:e={},css:t}}={})=>{const n=(e=>{const t=`\n ${(e=>`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root {\n ${e.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n height: 44px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: 32px;\n height: 22px;\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n`)(new ko(e).build())}\n `;return t})(e||{});return no({element:"style",attributes:{type:"text/css"},content:So(n),target:"head"}),t&&no({element:"style",attributes:{type:"text/css"},content:So(t),target:"head"}),n};const Eo=({state:e})=>{e.translate.init(e.options.locale,e.options.i18n),e.translate.translateItems()};function $o(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let i=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i)[1];i=e.replace(n,t[r])})),n(i)}return e}return[...e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)].forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const To=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`]});function Co({eventName:e,callback:t}){if(!We.includes(e))throw new Error(`${e} is not a supported event`);const n=le(e);Ue[n].addEventListener(t)}async function Io({name:e="",url:t="",model:n={},classListArray:r=[],close:i=(()=>{}),state:a=null}={}){var o;const s=null==n||null===(o=n.method)||void 0===o?void 0:o.method,l="rebilly-instruments-approval-url"===e;a.form.insertAdjacentHTML("beforeend",((e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`)(l,s));const u=document.querySelector(".rebilly-instruments-modal-overlay"),c=document.querySelector(".rebilly-instruments-modal-container"),d=document.querySelector(".rebilly-instruments-modal-close"),p=document.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{u.classList.add("is-visible"),c.classList.add("is-visible")}),240),a.loader.addDOMElement({section:"modal",el:p}),a.loader.startLoading({section:"modal",id:e});const f={options:a.options,...n},m=await new Qe({state:a,name:e,url:t,model:f,classListArray:r,container:p}),h=(...e)=>{c.classList.remove("is-visible"),u.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto",u.children.forEach((e=>e.remove())),u.remove(),i(...e),m.destroy()}),300)};return m.bindEventListeners({close:h,loader:a.loader}),l||d.addEventListener("click",h),m}async function Ho({state:e,payload:t}){const{_raw:{id:n},isExistingInstrument:r}=t;delete t.isExistingInstrument,delete t._raw;const i={...t};r?i.paymentInstrumentId=n:i.token=n,e.options.invoiceId&&(i.invoiceId=e.options.invoiceId),e.options.transactionId&&(i.transactionId=e.options.transactionId),e.options.money&&(i.websiteId=e.options.websiteId,i.amount=e.options.money.amount,i.currency=e.options.money.currency);let{fields:a}=await async function({data:e,state:t}){return di({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.payment({data:e}))))}({state:e,data:i});return a={transaction:a,token:a.token||e.options.jwt},e.data.invoice&&(a.invoice=e.data.invoice),a}async function Fo({state:e,payload:t}){const{fields:n}=await async function({data:e,state:t}){return di({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.purchase({data:e}))))}({state:e,data:{websiteId:e.options.websiteId,items:e.options.items,paymentInstruction:{token:t._raw.id},...t}});return n}async function jo({state:e,payload:t}){try{var n,r;let i;return i=e.data.isPayment?await Ho({state:e,payload:t}):await Fo({state:e,payload:t}),null!==(n=i.transaction)&&void 0!==n&&n.approvalUrl&&"unknown"===(null===(r=i.transaction)||void 0===r?void 0:r.result)?function({state:e,fields:t}){const{paymentMethodsUrl:n}=e.options._computed,r={};e.data.isPayment?r.payment=t:r.purchase=t,e.data=new Ja({state:e,...t}),Io({state:e,name:"rebilly-instruments-approval-url",url:`${n}/approval-url`,model:r,close:e=>{Ue.purchaseCompleted.dispatch(e)}})}({state:e,fields:i}):Ue.purchaseCompleted.dispatch(i),i}catch(e){return Ge(e),e}}async function Po({state:e,payload:t}){try{var n;const{_raw:{id:r},isExistingInstrument:i}=t;delete t.isExistingInstrument,delete t._raw;const a={...t};i?a.paymentInstrumentId=r:a.token=r;const{instrument:o,transaction:s}=await async function({data:e,state:t}){return di({state:t},(async()=>{var n,r;const{fields:i}=await t.storefront.paymentInstruments.create({data:e});t.storefront.setSessionToken(i.token||t.options.jwt);const a={id:i.id,data:{websiteId:t.options.websiteId,...e}};t.data.amountAndCurrency&&(a.data={...a.data,...t.data.amountAndCurrency}),null!==(n=t.data)&&void 0!==n&&null!==(r=n.transaction)&&void 0!==r&&r.redirectUrl&&(a.data.redirectUrl=`${a.data.redirectUrl}&originalRedirectUrl=${t.data.transaction.redirectUrl}`);const{fields:o}=await t.storefront.paymentInstruments.setup(a);return{instrument:i,transaction:o}}))}({state:e,data:{websiteId:null===(n=e.options)||void 0===n?void 0:n.websiteId,...a}});if(e.data=new Ja({state:e,instrument:o,transaction:s}),s.approvalUrl&&"unknown"===s.result){const{paymentMethodsUrl:t}=e.options._computed;Io({state:e,name:"rebilly-instruments-approval-url",url:`${t}/approval-url`,model:{setup:{transaction:s}},close:({transaction:e=s})=>{Ue.setupCompleted.dispatch({instrument:o,transaction:e})}})}else Ue.setupCompleted.dispatch({instrument:o,transaction:s});return{instrument:o,transaction:s}}catch(e){return Ge(e),e}}async function Lo({payload:e,state:t}){e.billingAddress&&t.summary&&t.data.isPurchase&&mi({state:t,instrument:e});t.form.querySelector(".rebilly-instruments-content").insertAdjacentHTML("afterend",'<div class="rebilly-instruments-confirmation"></div>');const n=t.form.querySelector(".rebilly-instruments-method-selector");n.style.visibility="hidden",n.style.height="0px",t.loader.startLoading({id:"rebilly-instruments-confirmation"});const r=document.querySelector(".rebilly-instruments-confirmation"),{paymentMethodsUrl:i}=t.options._computed,a={options:t.options,data:t.data.toPostmatesModel(),mainStyleVars:t.mainStyleVars,instrument:e},o="rebilly-instruments-confirmation",s=await new Ye({name:o,url:`${i}/confirmation`,container:r,model:a});s.bindEventListeners({loader:t.loader}),s.component.on(`${o}-confirm-purchase`,(e=>{jo({state:t,payload:e})})),s.component.on(`${o}-confirm-setup`,(e=>{Po({state:t,payload:e})})),s.component.on("choose-another-method",(()=>{t.iframeComponents.form=t.iframeComponents.form.filter((e=>e.name!==s.name||(e.destroy(),!1))),t.data.isPurchase&&mi({state:t}),async function({state:e}){var t;e.loader.startLoading({id:"rebilly-instruments-methods"});const{riskMetadata:n}=await Pa();e.data=await Xa({state:e,riskMetadata:n}),e.data.transaction&&"setup"===(null===(t=e.data.transaction)||void 0===t?void 0:t.type)&&(e.options.transactionType="setup"),to({state:e})}({state:t,mainStyleVars:t.mainStyleVars}),t.form.querySelector(".rebilly-instruments-confirmation").remove()})),t.iframeComponents.form.push(s)}async function Ro({componentName:e,payload:t,state:n}){switch(e){case"result":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),async function({payload:e,state:t}){var n,r;n=t.form,r='<div class="rebilly-instruments-result"></div>',n.querySelector(".rebilly-instruments-content").innerHTML=r,t.loader.startLoading({id:"rebilly-instruments-result"}),t.loader.stopLoading({id:"express-purchase"});const i=document.querySelector(".rebilly-instruments-result"),{paymentMethodsUrl:a}=t.options._computed,o={options:t.options,mainStyleVars:t.mainStyleVars,[t.options.transactionType]:e},s=await new Ye({name:"rebilly-instruments-result",url:`${a}/result`,container:i,model:o});s.bindEventListeners({loader:t.loader}),t.iframeComponents.form.push(s)}({payload:t,state:n});break;case"confirmation":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),Lo({payload:t,state:n});break;default:throw new Error(`'${e}' not a supported component`)}}var Mo=({state:e={}})=>{e.options.features.autoConfirmation&&Co({eventName:"instrument-ready",callback:t=>{var n;if("paypal"===(null===(n=t._raw)||void 0===n?void 0:n.method)&&!e.data.isShippingRequired)return"setup"===e.options.transactionType?Po({state:e,payload:t}):jo({state:e,payload:t}),void e.loader.startLoading({state:e,id:"express-purchase",message:"form.loaderMessages.processingPayment"});Ro({componentName:"confirmation",payload:t,state:e})}}),e.options.features.autoResult&&Co({eventName:"setup"===e.options.transactionType?"setup-completed":"purchase-completed",callback:t=>{!function({state:e,payload:t}){Ro({componentName:"result",payload:t,state:e})}({state:e,payload:t})}})};async function Oo({state:e,setupFramepay:t=po,...n}={}){try{var r,i,a;e.data={},e.options={},e.form=ro({element:"form",options:n}),e.summary=ro({element:"summary",options:n}),e.form.style.maxWidth="750px",e.summary&&(e.summary.style.maxWidth="750px"),e.options=co({options:n}),e.storefront=io({options:n}),e.mainStyleVars=Ao({options:n}),e.options.themeFramepay=(({state:e,options:t={}})=>{const n=$o(`\n ${e.mainStyleVars}\n ${t.css||""}\n `);return{base:{...To(n,"input"),":hover":To(n,"inputHover"),":focus":To(n,"inputFocus"),"::placeholder":To(n,"inputPlaceholder"),"::selection":To(n,"inputSelection")},invalid:{...To(n,"inputError"),":hover":To(n,"inputErrorHover"),":focus":To(n,"inputErrorFocus"),"::placeholder":To(n,"inputErrorPlaceholder"),"::selection":To(n,"inputErrorSelection")},buttons:{base:{...To(n,"buttonSecondary"),":hover":To(n,"buttonSecondaryHover"),":focus":To(n,"buttonSecondaryActive")},active:{...To(n,"button"),":hover":To(n,"buttonHover"),":focus":To(n,"buttonActive")}}}})({state:e,options:n}),e.loader.addDOMElement({el:e.form}),e.loader.addDOMElement({section:"summary",el:e.summary}),e.loader.startLoading({state:e,section:"summary",id:"rebilly-instruments-summary"}),e.loader.startLoading({state:e,id:"rebilly-instruments-methods"}),e.data=await Xa({state:e}),Ue.dataReady.dispatch(e.data),e.i18n=(({state:e={}})=>{var t,n;if("auto"===e.options.locale&&null!==(t=e.data.riskMetadata)&&void 0!==t&&null!==(n=t.browserData)&&void 0!==n&&n.language){const{browserData:{language:t}}=e.data.riskMetadata;e.options.locale=t}return e.translate.init(e.options.locale,e.options.i18n),Eo})({state:e}),await t(e),!e.options.websiteId&&null!==(r=e.data.transaction)&&void 0!==r&&r.websiteId?e.options.websiteId=e.data.transaction.websiteId:!e.options.websiteId&&null!==(i=e.data.invoice)&&void 0!==i&&i.websiteId&&(e.options.websiteId=e.data.invoice.websiteId),e.data.transaction&&"setup"===(null===(a=e.data.transaction)||void 0===a?void 0:a.type)&&(e.options.transactionType="setup"),e.form&&to({state:e}),e.summary&&async function({state:e}){const t={options:e.options,data:e.data.toPostmatesModel(),mainStyleVars:e.mainStyleVars},{paymentMethodsUrl:n}=e.options._computed,r=await new Ye({name:"rebilly-instruments-summary",url:`${n}/summary`,container:e.summary,model:t});r.bindEventListeners({loader:e.loader}),e.iframeComponents.summary.push(r)}({state:e}),e.i18n({state:e}),e.hasMounted=!0}catch(e){throw Ge(e),e}Mo({state:e})}async function qo({state:e}){var t,n;var r;await(r=1e3,new Promise((e=>setTimeout(e,r)))),[...(null===(t=e.iframeComponents)||void 0===t?void 0:t.form)||[],...(null===(n=e.iframeComponents)||void 0===n?void 0:n.summary)||[]].forEach((e=>{e.destroy()})),De.removeAll(document),e.iframeComponents={summary:[],form:[]},e.hasMounted=!1,e.summary.textContent="",e.form.textContent="",Zr(),e.loader.clearAll()}function Bo({newOptions:e}){let t={};return t=Object.keys(e).some((e=>["items","money","invoiceId","transactionId"].includes(e)))?{items:null,money:null,invoiceId:null,transactionId:null}:t,t}var _o={en:{summary:{subTotal:"Sub Total",discounts:"Discounts",taxes:"Taxes",shipping:"Shipping",total:"Total"},form:{expressCheckout:"Express checkout",or:"Or",popupOverlayText:"Click here to show popup window",andMore:"and more",error:{noPaymentMethods:"No payment methods available for this transaction, please contact support."},loaderMessages:{processingPayment:"Processing payment instrument."}},paymentMethods:{"payment-card":"Payment card",ach:"Bank account"}}},zo={es:{summary:{subTotal:"Sub Total",discounts:"Descuentos",taxes:"Impuestos",shipping:"Envío",total:"Total"},form:{expressCheckout:"Chequeo rápido",or:"O pague con",andMore:"y más",popupOverlayText:"Haga clic aquí para mostrar la ventana emergente",error:{noPaymentMethods:"No hay métodos de pago disponibles para esta transacción, por favor, póngase en contacto con el servicio de asistencia."}},paymentMethods:{"payment-card":"Tarjeta de crédito",ach:"Cuenta bancaria"}}};class Do{constructor(){this.locale="",this.items=[],this.languages={}}init(e,t){this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale=this.getLocale(e),this.languages=Ya({},{..._o,...zo},t)}translateItems(){return this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale in this.languages&&this.items.forEach((e=>{const t=this.getTranslation(this.languages[this.locale],e.dataset.rebillyI18n);t&&(e.innerHTML=t)}))}updateTranslationsToNewLocale(e){this.locale=e,this.translateItems()}getLocale(e=this.locale){return!e.includes("-")||e in this.languages?e:(e=e.replace(/[-._]\w+$/gi,""),this.getLocale(e))}translateItem(e){const t=this.getLocale();return this.getTranslation(this.languages[t],e.dataset.rebillyI18n)}getTranslation(e=this.locale,t){return t.split(".").reduce(((e,t)=>null==e?void 0:e[t]),e)}}class No{constructor(){this.options=null,this.data={},this.mountingPoints=null,this.storefront=null,this.form=null,this.summary=null,this.loader=new m,this.translate=new Do,this.iframeComponents={summary:[],form:[]},this.hasMounted=!1}}var Uo=new class{constructor(){this.state=new No}async mount(e){await Oo({state:this.state,...e})}async destroy(){await qo({state:this.state})}async update(e){await async function({state:e,newOptions:t={}}){if(!e.hasMounted)throw Error("Update method cannot be called before mounting instruments");const n={...e.options,...Bo({newOptions:t})},r=Ya({...n},t);await qo({state:e}),Oo({state:e,form:e.form,summary:e.summary,...r})}({state:this.state,newOptions:e})}async purchase(e){await jo({state:this.state,payload:e})}async setup(e){await Po({state:this.state,payload:e})}async show(e,t){await Ro({state:this.state,componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.3.14.3-beta.0"}on(e,t){Co({state:this.state,eventName:e,callback:t})}};export{Uo as default};
package/dist/index.min.js CHANGED
@@ -62,4 +62,4 @@ function j(e){var t=$(e);return null===t?null:("hsl"===t.type&&(t.values=T(t.val
62
62
  * @version v2.0.0
63
63
  * @link http://noeldelgado.github.io/values.js/
64
64
  * @license MIT
65
- */var L=function(e,t){return null===e||isNaN(e)||"string"==typeof e?t:e},R=function(e,t,n){var r;void 0===e&&(e="#000"),void 0===t&&(t="base"),void 0===n&&(n=0),r=[[0,0,0],1,t,n],this.rgb=r[0],this.alpha=r[1],this.type=r[2],this.weight=r[3];var i=null===e?"#000":e;if("string"!=typeof i)throw new TypeError("Input should be a string: "+i);var a=$(i);if(!a)throw new Error("Unable to parse color from string: "+i);return this["_setFrom"+a.type.toUpperCase()](a.values.concat([a.alpha]))},M={hex:{configurable:!0}};return M.hex.get=function(){return this.hexString().replace(/^#/,"")},R.prototype.setColor=function(e){var t=$(e);return t?this["_setFrom"+t.type.toUpperCase()](t.values.concat([t.alpha])):null},R.prototype.tint=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#fff",this.rgbString(),t).rgba+")","tint",t)},R.prototype.shade=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#000",this.rgbString(),t).rgba+")","shade",t)},R.prototype.tints=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.tint((r+1)*t)}))},R.prototype.shades=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.shade((r+1)*t)}))},R.prototype.all=function(e){return void 0===e&&(e=10),this.tints(e).reverse().concat([Object.assign(this)],this.shades(e))},R.prototype.hexString=function(){return H(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha]))},R.prototype.rgbString=function(){var e=(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha])).join(", ");return(this.alpha>=1?"rgb":"rgba")+"("+e+")"},R.prototype.getBrightness=function(){return Math.round(this.rgb.reduce((function(e,t){return e+t}))/765*100)},R.prototype._setFromRGB=function(e){var t;return t=[[e[0],e[1],e[2]],e[3]],this.rgb=t[0],this.alpha=t[1],this},R.prototype._setFromHSL=function(e){var t,n=e[0],r=e[1],i=e[2],a=e[3];return t=[T([n,r,i]).map(Math.round),a],this.rgb=t[0],this.alpha=t[1],this},Object.defineProperties(R.prototype,M),R.VERSION="v2.0.0",R}()})),Fo=Ho;const jo=e=>new Fo(e);function Po(e,t=1){if(null===e)return e;const n=jo(e);return n.alpha=t,n.rgbString()}const Lo=e=>Po(e,.5),Ro=(e,t)=>{if(null===e)return e;return jo(e).shade(t).hexString()};class Mo{allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"];constructor(e){this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e))),n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const Oo={colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>Lo(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?Po(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"Avenir, Helvetica, Arial, sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorPrimary"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorPrimary}`}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?Ro(e.buttonColorBackground,20):Ro(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new Mo(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"buttonSecondaryColorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${Ro(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new Mo(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?Lo(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new Mo(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?Lo(e.inputErrorColorText):Lo(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}};var qo=new Proxy(Oo,{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:i}=e[t].fallback;if("static"===r)return i;if("variable"===r)return`var(--rebilly-${i})`;if("func"===r)return i(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}});class Bo{constructor(e={}){this.overrides=e,this.theme=qo}static nonCssProperties=["labels"];overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((e=>!Bo.nonCssProperties.includes(e))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}}function _o(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}var zo=({options:{theme:e={},css:t}}={})=>{const n=(e=>{const t=`\n ${(e=>`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root {\n ${e.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n height: 44px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: 32px;\n height: 22px;\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n`)(new Bo(e).build())}\n `;return t})(e||{});return wo({element:"style",attributes:{type:"text/css"},content:_o(n),target:"head"}),t&&wo({element:"style",attributes:{type:"text/css"},content:_o(t),target:"head"}),n};const Do=({state:e})=>{e.translate.init(e.options.locale,e.options.i18n),e.translate.translateItems()};function No(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let i=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i)[1];i=e.replace(n,t[r])})),n(i)}return e}return[...e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)].forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const Uo=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`]});function Wo({eventName:e,callback:t}){if(!lt.includes(e))throw new Error(`${e} is not a supported event`);const n=ye(e);st[n].addEventListener(t)}async function Vo({name:e="",url:t="",model:n={},classListArray:r=[],close:i=(()=>{}),state:a=null}={}){var o;const s=null==n||null===(o=n.method)||void 0===o?void 0:o.method,l="rebilly-instruments-approval-url"===e;a.form.insertAdjacentHTML("beforeend",((e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`)(l,s));const u=document.querySelector(".rebilly-instruments-modal-overlay"),c=document.querySelector(".rebilly-instruments-modal-container"),d=document.querySelector(".rebilly-instruments-modal-close"),p=document.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{u.classList.add("is-visible"),c.classList.add("is-visible")}),240),a.loader.addDOMElement({section:"modal",el:p}),a.loader.startLoading({section:"modal",id:e});const f={options:a.options,...n},m=await new gt({state:a,name:e,url:t,model:f,classListArray:r,container:p}),h=(...e)=>{c.classList.remove("is-visible"),u.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto",u.children.forEach((e=>e.remove())),u.remove(),i(...e),m.destroy()}),300)};return m.bindEventListeners({close:h,loader:a.loader}),l||d.addEventListener("click",h),m}async function Go({state:e,payload:t}){const{_raw:{id:n},isExistingInstrument:r}=t;delete t.isExistingInstrument,delete t._raw;const i={...t};r?i.paymentInstrumentId=n:i.token=n,e.options.invoiceId&&(i.invoiceId=e.options.invoiceId),e.options.transactionId&&(i.transactionId=e.options.transactionId),e.options.money&&(i.websiteId=e.options.websiteId,i.amount=e.options.money.amount,i.currency=e.options.money.currency);let{fields:a}=await async function({data:e,state:t}){return Ci({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.payment({data:e}))))}({state:e,data:i});return a={transaction:a,token:a.token||e.options.jwt},e.data.invoice&&(a.invoice=e.data.invoice),a}async function Ko({state:e,payload:t}){const{fields:n}=await async function({data:e,state:t}){return Ci({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.purchase({data:e}))))}({state:e,data:{websiteId:e.options.websiteId,items:e.options.items,paymentInstruction:{token:t._raw.id},...t}});return n}async function Jo({state:e,payload:t}){try{var n,r;let i;return i=e.data.isPayment?await Go({state:e,payload:t}):await Ko({state:e,payload:t}),null!==(n=i.transaction)&&void 0!==n&&n.approvalUrl&&"unknown"===(null===(r=i.transaction)||void 0===r?void 0:r.result)?function({state:e,fields:t}){const{paymentMethodsUrl:n}=e.options._computed,r={};e.data.isPayment?r.payment=t:r.purchase=t,e.data=new fo({state:e,...t}),Vo({state:e,name:"rebilly-instruments-approval-url",url:`${n}/approval-url`,model:r,close:e=>{st.purchaseCompleted.dispatch(e)}})}({state:e,fields:i}):st.purchaseCompleted.dispatch(i),i}catch(e){return ct(e),e}}async function Xo({state:e,payload:t}){try{var n;const{_raw:{id:r},isExistingInstrument:i}=t;delete t.isExistingInstrument,delete t._raw;const a={...t};i?a.paymentInstrumentId=r:a.token=r;const{instrument:o,transaction:s}=await async function({data:e,state:t}){return Ci({state:t},(async()=>{var n,r;const{fields:i}=await t.storefront.paymentInstruments.create({data:e});t.storefront.setSessionToken(i.token||t.options.jwt);const a={id:i.id,data:{websiteId:t.options.websiteId,...e}};t.data.amountAndCurrency&&(a.data={...a.data,...t.data.amountAndCurrency}),null!==(n=t.data)&&void 0!==n&&null!==(r=n.transaction)&&void 0!==r&&r.redirectUrl&&(a.data.redirectUrl=`${a.data.redirectUrl}&originalRedirectUrl=${t.data.transaction.redirectUrl}`);const{fields:o}=await t.storefront.paymentInstruments.setup(a);return{instrument:i,transaction:o}}))}({state:e,data:{websiteId:null===(n=e.options)||void 0===n?void 0:n.websiteId,...a}});if(e.data=new fo({state:e,instrument:o,transaction:s}),s.approvalUrl&&"unknown"===s.result){const{paymentMethodsUrl:t}=e.options._computed;Vo({state:e,name:"rebilly-instruments-approval-url",url:`${t}/approval-url`,model:{setup:{transaction:s}},close:({transaction:e=s})=>{st.setupCompleted.dispatch({instrument:o,transaction:e})}})}else st.setupCompleted.dispatch({instrument:o,transaction:s});return{instrument:o,transaction:s}}catch(e){return ct(e),e}}async function Zo({payload:e,state:t}){e.billingAddress&&t.summary&&t.data.isPurchase&&Fi({state:t,instrument:e});t.form.querySelector(".rebilly-instruments-content").insertAdjacentHTML("afterend",'<div class="rebilly-instruments-confirmation"></div>');const n=t.form.querySelector(".rebilly-instruments-method-selector");n.style.visibility="hidden",n.style.height="0px",t.loader.startLoading({id:"rebilly-instruments-confirmation"});const r=document.querySelector(".rebilly-instruments-confirmation"),{paymentMethodsUrl:i}=t.options._computed,a={options:t.options,data:t.data.toPostmatesModel(),mainStyleVars:t.mainStyleVars,instrument:e},o="rebilly-instruments-confirmation",s=await new ht({name:o,url:`${i}/confirmation`,container:r,model:a});s.bindEventListeners({loader:t.loader}),s.component.on(`${o}-confirm-purchase`,(e=>{Jo({state:t,payload:e})})),s.component.on(`${o}-confirm-setup`,(e=>{Xo({state:t,payload:e})})),s.component.on("choose-another-method",(()=>{t.iframeComponents.form=t.iframeComponents.form.filter((e=>e.name!==s.name||(e.destroy(),!1))),t.data.isPurchase&&Fi({state:t}),async function({state:e}){var t;e.loader.startLoading({id:"rebilly-instruments-methods"});const{riskMetadata:n}=await Xa();e.data=await mo({state:e,riskMetadata:n}),e.data.transaction&&"setup"===(null===(t=e.data.transaction)||void 0===t?void 0:t.type)&&(e.options.transactionType="setup"),bo({state:e})}({state:t,mainStyleVars:t.mainStyleVars}),t.form.querySelector(".rebilly-instruments-confirmation").remove()})),t.iframeComponents.form.push(s)}async function Yo({componentName:e,payload:t,state:n}){switch(e){case"result":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),async function({payload:e,state:t}){var n,r;n=t.form,r='<div class="rebilly-instruments-result"></div>',n.querySelector(".rebilly-instruments-content").innerHTML=r,t.loader.startLoading({id:"rebilly-instruments-result"}),t.loader.stopLoading({id:"express-purchase"});const i=document.querySelector(".rebilly-instruments-result"),{paymentMethodsUrl:a}=t.options._computed,o={options:t.options,mainStyleVars:t.mainStyleVars,[t.options.transactionType]:e},s=await new ht({name:"rebilly-instruments-result",url:`${a}/result`,container:i,model:o});s.bindEventListeners({loader:t.loader}),t.iframeComponents.form.push(s)}({payload:t,state:n});break;case"confirmation":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),Zo({payload:t,state:n});break;default:throw new Error(`'${e}' not a supported component`)}}var Qo=({state:e={}})=>{e.options.features.autoConfirmation&&Wo({eventName:"instrument-ready",callback:t=>{var n;if("paypal"===(null===(n=t._raw)||void 0===n?void 0:n.method)&&!e.data.isShippingRequired)return"setup"===e.options.transactionType?Xo({state:e,payload:t}):Jo({state:e,payload:t}),void e.loader.startLoading({state:e,id:"express-purchase",message:"form.loaderMessages.processingPayment"});Yo({componentName:"confirmation",payload:t,state:e})}}),e.options.features.autoResult&&Wo({eventName:"setup"===e.options.transactionType?"setup-completed":"purchase-completed",callback:t=>{!function({state:e,payload:t}){Yo({componentName:"result",payload:t,state:e})}({state:e,payload:t})}})};async function es({state:e,setupFramepay:t=Io,...n}={}){try{var r,i,a;e.data={},e.options={},e.form=xo({element:"form",options:n}),e.summary=xo({element:"summary",options:n}),e.form.style.maxWidth="750px",e.summary.style.maxWidth="750px",e.options=Co({options:n}),e.storefront=ko({options:n}),e.mainStyleVars=zo({options:n}),e.options.themeFramepay=(({state:e,options:t={}})=>{const n=No(`\n ${e.mainStyleVars}\n ${t.css||""}\n `);return{base:{...Uo(n,"input"),":hover":Uo(n,"inputHover"),":focus":Uo(n,"inputFocus"),"::placeholder":Uo(n,"inputPlaceholder"),"::selection":Uo(n,"inputSelection")},invalid:{...Uo(n,"inputError"),":hover":Uo(n,"inputErrorHover"),":focus":Uo(n,"inputErrorFocus"),"::placeholder":Uo(n,"inputErrorPlaceholder"),"::selection":Uo(n,"inputErrorSelection")},buttons:{base:{...Uo(n,"buttonSecondary"),":hover":Uo(n,"buttonSecondaryHover"),":focus":Uo(n,"buttonSecondaryActive")},active:{...Uo(n,"button"),":hover":Uo(n,"buttonHover"),":focus":Uo(n,"buttonActive")}}}})({state:e,options:n}),e.loader.addDOMElement({el:e.form}),e.loader.addDOMElement({section:"summary",el:e.summary}),e.loader.startLoading({state:e,section:"summary",id:"rebilly-instruments-summary"}),e.loader.startLoading({state:e,id:"rebilly-instruments-methods"}),e.data=await mo({state:e}),st.dataReady.dispatch(e.data),e.i18n=(({state:e={}})=>{var t,n;if("auto"===e.options.locale&&null!==(t=e.data.riskMetadata)&&void 0!==t&&null!==(n=t.browserData)&&void 0!==n&&n.language){const{browserData:{language:t}}=e.data.riskMetadata;e.options.locale=t}return e.translate.init(e.options.locale,e.options.i18n),Do})({state:e}),await t(e),!e.options.websiteId&&null!==(r=e.data.transaction)&&void 0!==r&&r.websiteId?e.options.websiteId=e.data.transaction.websiteId:!e.options.websiteId&&null!==(i=e.data.invoice)&&void 0!==i&&i.websiteId&&(e.options.websiteId=e.data.invoice.websiteId),e.data.transaction&&"setup"===(null===(a=e.data.transaction)||void 0===a?void 0:a.type)&&(e.options.transactionType="setup"),e.form&&bo({state:e}),e.summary&&async function({state:e}){const t={options:e.options,data:e.data.toPostmatesModel(),mainStyleVars:e.mainStyleVars},{paymentMethodsUrl:n}=e.options._computed,r=await new ht({name:"rebilly-instruments-summary",url:`${n}/summary`,container:e.summary,model:t});r.bindEventListeners({loader:e.loader}),e.iframeComponents.summary.push(r)}({state:e}),e.i18n({state:e}),e.hasMounted=!0}catch(e){throw ct(e),e}Qo({state:e})}async function ts({state:e}){var t,n;var r;await(r=1e3,new Promise((e=>setTimeout(e,r)))),[...(null===(t=e.iframeComponents)||void 0===t?void 0:t.form)||[],...(null===(n=e.iframeComponents)||void 0===n?void 0:n.summary)||[]].forEach((e=>{e.destroy()})),at.removeAll(document),e.iframeComponents={summary:[],form:[]},e.hasMounted=!1,e.summary.textContent="",e.form.textContent="",mi(),e.loader.clearAll()}function ns({newOptions:e}){let t={};return t=Object.keys(e).some((e=>["items","money","invoiceId","transactionId"].includes(e)))?{items:null,money:null,invoiceId:null,transactionId:null}:t,t}var rs={en:{summary:{subTotal:"Sub Total",discounts:"Discounts",taxes:"Taxes",shipping:"Shipping",total:"Total"},form:{expressCheckout:"Express checkout",or:"Or",popupOverlayText:"Click here to show popup window",andMore:"and more",error:{noPaymentMethods:"No payment methods available for this transaction, please contact support."},loaderMessages:{processingPayment:"Processing payment instrument."}},paymentMethods:{"payment-card":"Payment card",ach:"Bank account"}}},is={es:{summary:{subTotal:"Sub Total",discounts:"Descuentos",taxes:"Impuestos",shipping:"Envío",total:"Total"},form:{expressCheckout:"Chequeo rápido",or:"O pague con",andMore:"y más",popupOverlayText:"Haga clic aquí para mostrar la ventana emergente",error:{noPaymentMethods:"No hay métodos de pago disponibles para esta transacción, por favor, póngase en contacto con el servicio de asistencia."}},paymentMethods:{"payment-card":"Tarjeta de crédito",ach:"Cuenta bancaria"}}};class as{constructor(){this.locale="",this.items=[],this.languages={}}init(e,t){this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale=this.getLocale(e),this.languages=go({},{...rs,...is},t)}translateItems(){return this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale in this.languages&&this.items.forEach((e=>{const t=this.getTranslation(this.languages[this.locale],e.dataset.rebillyI18n);t&&(e.innerHTML=t)}))}updateTranslationsToNewLocale(e){this.locale=e,this.translateItems()}getLocale(e=this.locale){return!e.includes("-")||e in this.languages?e:(e=e.replace(/[-._]\w+$/gi,""),this.getLocale(e))}translateItem(e){const t=this.getLocale();return this.getTranslation(this.languages[t],e.dataset.rebillyI18n)}getTranslation(e=this.locale,t){return t.split(".").reduce(((e,t)=>null==e?void 0:e[t]),e)}}class os{constructor(){this.options=null,this.data={},this.mountingPoints=null,this.storefront=null,this.form=null,this.summary=null,this.loader=new m,this.translate=new as,this.iframeComponents={summary:[],form:[]},this.hasMounted=!1}}var ss=new class{constructor(){this.state=new os}async mount(e){await es({state:this.state,...e})}async destroy(){await ts({state:this.state})}async update(e){await async function({state:e,newOptions:t={}}){if(!e.hasMounted)throw Error("Update method cannot be called before mounting instruments");const n={...e.options,...ns({newOptions:t})},r=go({...n},t);await ts({state:e}),es({state:e,form:e.form,summary:e.summary,...r})}({state:this.state,newOptions:e})}async purchase(e){await Jo({state:this.state,payload:e})}async setup(e){await Xo({state:this.state,payload:e})}async show(e,t){await Yo({state:this.state,componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.3.14.2-beta.0"}on(e,t){Wo({state:this.state,eventName:e,callback:t})}};return ss}();
65
+ */var L=function(e,t){return null===e||isNaN(e)||"string"==typeof e?t:e},R=function(e,t,n){var r;void 0===e&&(e="#000"),void 0===t&&(t="base"),void 0===n&&(n=0),r=[[0,0,0],1,t,n],this.rgb=r[0],this.alpha=r[1],this.type=r[2],this.weight=r[3];var i=null===e?"#000":e;if("string"!=typeof i)throw new TypeError("Input should be a string: "+i);var a=$(i);if(!a)throw new Error("Unable to parse color from string: "+i);return this["_setFrom"+a.type.toUpperCase()](a.values.concat([a.alpha]))},M={hex:{configurable:!0}};return M.hex.get=function(){return this.hexString().replace(/^#/,"")},R.prototype.setColor=function(e){var t=$(e);return t?this["_setFrom"+t.type.toUpperCase()](t.values.concat([t.alpha])):null},R.prototype.tint=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#fff",this.rgbString(),t).rgba+")","tint",t)},R.prototype.shade=function(e,t){return void 0===t&&(t=L(e,50)),new R("rgb("+P("#000",this.rgbString(),t).rgba+")","shade",t)},R.prototype.tints=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.tint((r+1)*t)}))},R.prototype.shades=function(e,t){var n=this;return void 0===t&&(t=L(e,10)),Array.from({length:100/t},(function(e,r){return n.shade((r+1)*t)}))},R.prototype.all=function(e){return void 0===e&&(e=10),this.tints(e).reverse().concat([Object.assign(this)],this.shades(e))},R.prototype.hexString=function(){return H(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha]))},R.prototype.rgbString=function(){var e=(this.alpha>=1?this.rgb:this.rgb.concat([this.alpha])).join(", ");return(this.alpha>=1?"rgb":"rgba")+"("+e+")"},R.prototype.getBrightness=function(){return Math.round(this.rgb.reduce((function(e,t){return e+t}))/765*100)},R.prototype._setFromRGB=function(e){var t;return t=[[e[0],e[1],e[2]],e[3]],this.rgb=t[0],this.alpha=t[1],this},R.prototype._setFromHSL=function(e){var t,n=e[0],r=e[1],i=e[2],a=e[3];return t=[T([n,r,i]).map(Math.round),a],this.rgb=t[0],this.alpha=t[1],this},Object.defineProperties(R.prototype,M),R.VERSION="v2.0.0",R}()})),Fo=Ho;const jo=e=>new Fo(e);function Po(e,t=1){if(null===e)return e;const n=jo(e);return n.alpha=t,n.rgbString()}const Lo=e=>Po(e,.5),Ro=(e,t)=>{if(null===e)return e;return jo(e).shade(t).hexString()};class Mo{allStyles=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset","initial","inherit"];constructor(e){this.str=e||"";const t=this.allStyles.find((e=>this.str.includes(e))),n=this.str.split(t).map((e=>e.trim()));this.border=[n[0],t,n[1]]}get stylePosition(){let e=0;return 3===this.border.length?e=1:2===this.border.length&&(e=this.allStyles.includes(this.border[0])?0:1),e}updateColor(e){return this.border[this.stylePosition+1]=e,this}get value(){return this.border.join(" ")}}const Oo={colorPrimary:{fallback:{type:"static",value:"#0044D4"}},colorBackground:{fallback:{type:"static",value:"#FFFFFF"}},colorText:{fallback:{type:"static",value:"#0D2B3E"}},colorMutedText:{fallback:{type:"func",value:e=>Lo(e.colorText)}},colorMutedBorder:{fallback:{type:"func",value:e=>e.colorTextProvided?Po(e.colorText,.25):"#DCE3EA"}},colorDanger:{fallback:{type:"static",value:"#CD5C5C"}},fontFamily:{fallback:{type:"static",value:"Avenir, Helvetica, Arial, sans-serif"}},fontSizeBase:{fallback:{type:"static",value:"16px"}},fontWeightBase:{fallback:{type:"static",value:"500"}},fontLineHeightBase:{fallback:{type:"func",value:e=>`calc(${e.fontSizeBase} * 1.5)`}},fontSmooth:{fallback:{type:"static",value:"auto"}},borderRadius:{fallback:{type:"static",value:"6px"}},headingFontFamily:{fallback:{type:"variable",value:"fontFamily"}},headingFontWeight:{fallback:{type:"static",value:"600"}},headingColorText:{fallback:{type:"variable",value:"colorText"}},buttonColorBackground:{fallback:{type:"variable",value:"colorPrimary"}},buttonColorText:{fallback:{type:"static",value:"#FFFFFF"}},buttonFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonBorder:{fallback:{type:"static",value:"1px solid transparent"}},buttonBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonBoxShadow:{fallback:{type:"static",value:"none"}},buttonSecondaryColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryColorText:{fallback:{type:"variable",value:"colorPrimary"}},buttonSecondaryFontFamily:{fallback:{type:"variable",value:"fontFamily"}},buttonSecondaryFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},buttonSecondaryFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},buttonSecondaryFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},buttonSecondaryBorder:{fallback:{type:"func",value:e=>`1px solid ${e.colorPrimary}`}},buttonSecondaryBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},buttonSecondaryBoxShadow:{fallback:{type:"static",value:"none"}},buttonHoverColorBackground:{fallback:{type:"func",value:e=>e.buttonColorBackgroundProvided?Ro(e.buttonColorBackground,20):Ro(e.colorPrimary,20)}},buttonHoverColorText:{fallback:{type:"variable",value:"buttonColorText"}},buttonHoverFontFamily:{fallback:{type:"variable",value:"buttonFontFamily"}},buttonHoverFontSize:{fallback:{type:"variable",value:"buttonFontSize"}},buttonHoverFontLineHeight:{fallback:{type:"variable",value:"buttonFontLineHeight"}},buttonHoverFontWeight:{fallback:{type:"variable",value:"buttonFontWeight"}},buttonHoverBorder:{fallback:{type:"func",value:e=>{if(e.buttonBorderProvided)return e.buttonBorder;return new Mo(e.buttonBorder).updateColor(e.buttonHoverColorBackground).value}}},buttonHoverBorderRadius:{fallback:{type:"variable",value:"buttonBorderRadius"}},buttonHoverBoxShadow:{fallback:{type:"variable",value:"buttonBoxShadow"}},buttonSecondaryHoverColorBackground:{fallback:{type:"variable",value:"colorBackground"}},buttonSecondaryHoverColorText:{fallback:{type:"variable",value:"buttonSecondaryColorText"}},buttonSecondaryHoverFontFamily:{fallback:{type:"variable",value:"buttonSecondaryFontFamily"}},buttonSecondaryHoverFontSize:{fallback:{type:"variable",value:"buttonSecondaryFontSize"}},buttonSecondaryHoverFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryFontLineHeight"}},buttonSecondaryHoverFontWeight:{fallback:{type:"variable",value:"buttonSecondaryFontWeight"}},buttonSecondaryHoverBorder:{fallback:{type:"variable",value:"buttonSecondaryBorder"}},buttonSecondaryHoverBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryBorderRadius"}},buttonSecondaryHoverBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryBoxShadow"}},buttonActiveColorBackground:{fallback:{type:"variable",value:"buttonHoverColorBackground"}},buttonActiveColorText:{fallback:{type:"variable",value:"buttonHoverColorText"}},buttonActiveFontFamily:{fallback:{type:"variable",value:"buttonHoverFontFamily"}},buttonActiveFontSize:{fallback:{type:"variable",value:"buttonHoverFontSize"}},buttonActiveFontLineHeight:{fallback:{type:"variable",value:"buttonHoverFontLineHeight"}},buttonActiveFontWeight:{fallback:{type:"variable",value:"buttonHoverFontWeight"}},buttonActiveBorder:{fallback:{type:"variable",value:"buttonHoverBorder"}},buttonActiveBorderRadius:{fallback:{type:"variable",value:"buttonHoverBorderRadius"}},buttonActiveBoxShadow:{fallback:{type:"variable",value:"buttonHoverBoxShadow"}},buttonSecondaryActiveColorBackground:{fallback:{type:"variable",value:"buttonSecondaryHoverColorBackground"}},buttonSecondaryActiveColorText:{fallback:{type:"variable",value:"buttonSecondaryHoverColorText"}},buttonSecondaryActiveFontFamily:{fallback:{type:"variable",value:"buttonSecondaryHoverFontFamily"}},buttonSecondaryActiveFontSize:{fallback:{type:"variable",value:"buttonSecondaryHoverFontSize"}},buttonSecondaryActiveFontLineHeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontLineHeight"}},buttonSecondaryActiveFontWeight:{fallback:{type:"variable",value:"buttonSecondaryHoverFontWeight"}},buttonSecondaryActiveBorder:{fallback:{type:"variable",value:"buttonSecondaryHoverBorder"}},buttonSecondaryActiveBorderRadius:{fallback:{type:"variable",value:"buttonSecondaryHoverBorderRadius"}},buttonSecondaryActiveBoxShadow:{fallback:{type:"variable",value:"buttonSecondaryHoverBoxShadow"}},inputColorBackground:{fallback:{type:"static",value:"transparent"}},inputColorText:{fallback:{type:"variable",value:"colorText"}},inputFontFamily:{fallback:{type:"variable",value:"fontFamily"}},inputFontSize:{fallback:{type:"variable",value:"fontSizeBase"}},inputFontLineHeight:{fallback:{type:"variable",value:"fontLineHeightBase"}},inputFontWeight:{fallback:{type:"variable",value:"fontWeightBase"}},inputBorder:{fallback:{type:"func",value:e=>`1px solid ${Ro(e.colorMutedBorder,4)}`}},inputBorderRadius:{fallback:{type:"variable",value:"borderRadius"}},inputBoxShadow:{fallback:{type:"static",value:"none"}},inputHoverColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputHoverColorText:{fallback:{type:"variable",value:"inputColorText"}},inputHoverFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputHoverFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputHoverFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputHoverFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputHoverBorder:{fallback:{type:"variable",value:"inputBorder"}},inputHoverBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputHoverBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputFocusColorBackground:{fallback:{type:"variable",value:"inputHoverColorBackground"}},inputFocusColorText:{fallback:{type:"variable",value:"inputHoverColorText"}},inputFocusFontFamily:{fallback:{type:"variable",value:"inputHoverFontFamily"}},inputFocusFontSize:{fallback:{type:"variable",value:"inputHoverFontSize"}},inputFocusFontLineHeight:{fallback:{type:"variable",value:"inputHoverFontLineHeight"}},inputFocusFontWeight:{fallback:{type:"variable",value:"inputHoverFontWeight"}},inputFocusBorder:{fallback:{type:"func",value:e=>{if(e.inputHoverBorderProvided)return e.inputHoverBorder;return new Mo(e.inputBorder).updateColor(e.colorPrimary).value}}},inputFocusBorderRadius:{fallback:{type:"variable",value:"inputHoverBorderRadius"}},inputFocusBoxShadow:{fallback:{type:"func",value:e=>`0 0 0 1px ${e.colorPrimary}`}},inputPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputColorTextProvided?Lo(e.inputColorText):e.colorMutedText}},inputPlaceholderFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputPlaceholderFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputPlaceholderFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputSelectionColorText:{fallback:{type:"static",value:"initial"}},inputSelectionColorBackground:{fallback:{type:"static",value:"highlight"}},inputErrorColorBackground:{fallback:{type:"variable",value:"inputColorBackground"}},inputErrorColorText:{fallback:{type:"variable",value:"colorDanger"}},inputErrorFontFamily:{fallback:{type:"variable",value:"inputFontFamily"}},inputErrorFontSize:{fallback:{type:"variable",value:"inputFontSize"}},inputErrorFontLineHeight:{fallback:{type:"variable",value:"inputFontLineHeight"}},inputErrorFontWeight:{fallback:{type:"variable",value:"inputFontWeight"}},inputErrorBorder:{fallback:{type:"func",value:e=>{if(e.inputBorderProvided){return new Mo(e.inputBorder).updateColor(e.colorDanger).value}return`1px solid ${e.colorDanger}`}}},inputErrorBorderRadius:{fallback:{type:"variable",value:"inputBorderRadius"}},inputErrorBoxShadow:{fallback:{type:"variable",value:"inputBoxShadow"}},inputErrorHoverColorBackground:{fallback:{type:"variable",value:"inputErrorColorBackground"}},inputErrorHoverColorText:{fallback:{type:"variable",value:"inputErrorColorText"}},inputErrorHoverFontFamily:{fallback:{type:"variable",value:"inputErrorFontFamily"}},inputErrorHoverFontSize:{fallback:{type:"variable",value:"inputErrorFontSize"}},inputErrorHoverFontLineHeight:{fallback:{type:"variable",value:"inputErrorFontLineHeight"}},inputErrorHoverFontWeight:{fallback:{type:"variable",value:"inputErrorFontWeight"}},inputErrorHoverBorder:{fallback:{type:"variable",value:"inputErrorBorder"}},inputErrorHoverBorderRadius:{fallback:{type:"variable",value:"inputErrorBorderRadius"}},inputErrorHoverBoxShadow:{fallback:{type:"variable",value:"inputErrorBoxShadow"}},inputErrorFocusColorBackground:{fallback:{type:"variable",value:"inputErrorHoverColorBackground"}},inputErrorFocusColorText:{fallback:{type:"variable",value:"inputErrorHoverColorText"}},inputErrorFocusFontFamily:{fallback:{type:"variable",value:"inputErrorHoverFontFamily"}},inputErrorFocusFontSize:{fallback:{type:"variable",value:"inputErrorHoverFontSize"}},inputErrorFocusFontLineHeight:{fallback:{type:"variable",value:"inputErrorHoverFontLineHeight"}},inputErrorFocusFontWeight:{fallback:{type:"variable",value:"inputErrorHoverFontWeight"}},inputErrorFocusBorder:{fallback:{type:"variable",value:"inputErrorHoverBorder"}},inputErrorFocusBorderRadius:{fallback:{type:"variable",value:"inputErrorHoverBorderRadius"}},inputErrorFocusBoxShadow:{fallback:{type:"variable",value:"inputErrorHoverBoxShadow"}},inputErrorPlaceholderColorText:{fallback:{type:"func",value:e=>e.inputErrorColorTextProvided?Lo(e.inputErrorColorText):Lo(e.colorDanger)}},inputErrorPlaceholderFontFamily:{fallback:{type:"variable",value:"inputPlaceholderFontFamily"}},inputErrorPlaceholderFontSize:{fallback:{type:"variable",value:"inputPlaceholderFontSize"}},inputErrorPlaceholderFontLineHeight:{fallback:{type:"variable",value:"inputPlaceholderFontLineHeight"}},inputErrorPlaceholderFontWeight:{fallback:{type:"variable",value:"inputPlaceholderFontWeight"}},inputErrorSelectionColorText:{fallback:{type:"variable",value:"inputSelectionColorText"}},inputErrorSelectionColorBackground:{fallback:{type:"variable",value:"inputSelectionColorBackground"}},labels:{fallback:{type:"static",value:"floating"}}};var qo=new Proxy(Oo,{get(e,t,n){if(t in e){if(e[t].value)return e[t].value;const{type:r,value:i}=e[t].fallback;if("static"===r)return i;if("variable"===r)return`var(--rebilly-${i})`;if("func"===r)return i(n)}if(t.endsWith("Provided")){const n=t.replace("Provided","");if(n in e)return e[n].isProvided}},set:(e,t,n)=>{if(!(t in e)||!n)throw new Error(`Invalid theme option provided: ${t}`);return e[t].value=n,e[t].isProvided=!0,!0}});class Bo{constructor(e={}){this.overrides=e,this.theme=qo}static nonCssProperties=["labels"];overrideTheme(){Object.keys(this.overrides).forEach((e=>{this.theme[e]=this.overrides[e]}))}get cssVars(){return Object.keys(this.theme).filter((e=>!Bo.nonCssProperties.includes(e))).map(((e,t)=>`${t?" ":""}--rebilly-${e}: ${this.theme[e]};`)).join("\n")}build(){return this.overrideTheme(),{cssVars:this.cssVars}}}function _o(e){let t=e;return t=t.replace(/\/\*(?:(?!\*\/)[\s\S])*\*\/|[\r\n\t]+/g,""),t=t.replace(/\s{2,}/g," "),t=t.replace(/\s([{:}])\s/g,"$1"),t=t.replace(/([;,])\s/g,"$1"),t=t.replace(/\s!/g,"!"),t}var zo=({options:{theme:e={},css:t}}={})=>{const n=(e=>{const t=`\n ${(e=>`\n/* Instruments 'global' variables\n------------------------------------------------------------ */\n:root {\n ${e.cssVars}\n\n --rebilly-fontWeight400: 400;\n --rebilly-fontWeight500: 500;\n --rebilly-fontWeight600: 600;\n --rebilly-fontScaleFactor: 1.5;\n --rebilly-fontScaleFactorS: 0.875;\n --rebilly-fontSizeS: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactorS));\n --rebilly-fontLineHeightS: calc(var(--rebilly-fontSizeS) * 1);\n\n --rebilly-fontSizeL: calc(var(--rebilly-fontSizeBase) * var(--rebilly-fontScaleFactor));\n --rebilly-fontLineHeightL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-fontMarginTopL: 0;\n --rebilly-fontMarginBottomL: var(--rebilly-fontLineHeightBase);\n\n --rebilly-spacing2xs: calc(var(--rebilly-fontLineHeightBase) / 6);\n --rebilly-spacingXs: calc(var(--rebilly-fontLineHeightBase) / 4);\n --rebilly-spacingS: calc(var(--rebilly-fontLineHeightBase) / 2);\n --rebilly-spacingM: var(--rebilly-fontLineHeightBase);\n --rebilly-spacingL: calc(var(--rebilly-fontLineHeightBase) * 2);\n --rebilly-spacingXl: calc(var(--rebilly-fontLineHeightBase) * 4);\n\n --rebilly-spacingFormElementMinHeight: calc(var(--rebilly-spacingM) * 1.83333);\n\n --rebilly-summaryLoaderMinHeight: var(--rebilly-fontLineHeightBase);\n --rebilly-methodLoaderMinHeight: calc((4 * var(--rebilly-spacingFormElementMinHeight)) + (2 * var(--rebilly-fontLineHeightBase)) + (2 * var(--rebilly-spacingM)) + var(--rebilly-spacing2xs) + var(--rebilly-fontSizeS) + calc(2 * (var(--rebilly-spacingXs) + var(--rebilly-spacingS))) + var(--rebilly-spacingL));\n}\n\n/* Views. Method Selector\n------------------------------------------------------------ */\n.rebilly-instruments-method-selector.has-express-compact {\n padding-top: var(--rebilly-spacingS);\n}\n\n/* Express Methods\n------------------------------------------------------------ */\n@-webkit-keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n@keyframes rebillyExpressShine {\n to {\n background-position-x: -200%;\n }\n}\n\n.rebilly-instruments-express-methods { padding: 2px; }\n\n.rebilly-instruments-express-methods.is-compact {\n border: 1px solid var(--rebilly-colorMutedBorder);\n padding: var(--rebilly-spacingS);\n padding-top: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS));\n padding-top: calc(var(--rebilly-fontSizeBase) + var(--rebilly-spacing2xs));\n border-radius: var(--rebilly-borderRadius);\n position: relative;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-iframe {\n display: block;\n margin-bottom: 0;\n height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > * {\n border-radius: 6px;\n margin-bottom: var(--rebilly-spacingS);\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n height: 44px;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n -webkit-box-flex: 1;\n -ms-flex: 1 1 0px;\n flex: 1 1 0px;\n max-width: 260px;\n margin: 0 var(--rebilly-spacingXs);\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:first-child {\n margin-left: 0;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin-right: 0;\n}\n\n.rebilly-instruments-express-methods .rebilly-instruments-express-methods-label {\n display: none;\n}\n\n.rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-label {\n position: absolute;\n font-family: var(--rebilly-fontFamily);\n top: 0; left: 50%;\n -webkit-transform: translateX(-50%) translateY(-50%);\n transform: translateX(-50%) translateY(-50%);\n color: var(--rebilly-colorText);\n padding: var(--rebilly-spacing2xs) var(--rebilly-spacingM);\n line-height: 1;\n background: var(--rebilly-colorBackground);\n display: inline-block;\n font-weight: var(--rebilly-fontWeightBase);\n min-height: auto;\n margin: 0;\n white-space: nowrap;\n}\n\n@media (max-width: 600px) {\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n }\n\n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > * {\n max-width: 100%;\n margin: 0 0 var(--rebilly-spacingS);\n }\n \n .rebilly-instruments-express-methods.is-compact .rebilly-instruments-express-methods-container > *:last-child {\n margin: 0;\n }\n}\n\n/* Components. Divider\n------------------------------------------------------------ */\n.rebilly-instruments-divider {\n line-height: var(--rebilly-fontLineHeightBase);\n padding: var(--rebilly-spacingM) 0;\n margin: 0;\n position: relative;\n outline: 0;\n border: 0;\n text-align: center;\n font-family: var(--rebilly-fontFamily);\n}\n\n.rebilly-instruments-divider-s { padding: var(--rebilly-spacingS) 0; }\n.rebilly-instruments-divider-xs { padding: var(--rebilly-spacingXs) 0; }\n\n.rebilly-instruments-divider::before {\n background: var(--rebilly-colorMutedBorder);\n content: '';\n position: absolute;\n left: 0;\n top: 50%;\n width: 100%;\n height: 1px;\n}\n\n.rebilly-instruments-divider .rebilly-instruments-divider-label {\n color: var(--rebilly-colorMutedText);\n font-weight: var(--rebilly-fontWeightBase);\n padding: 0 var(--rebilly-spacingM);\n line-height: var(--rebilly-fontLineHeightS);\n background-color: var(--rebilly-colorBackground);\n font-size: var(--rebilly-fontSizeS);\n position: relative;\n display: inline-block;\n}\n\n/* Vendor, Postmate\n------------------------------------------------------------ */\n.rebilly-instruments-iframe {\n border: none;\n width: 100%;\n height: 0;\n padding: 0;\n}\n\n.rebilly-instruments-iframe-overlay {\n top: -2px;\n left: -2px;\n width: calc(100vw + 2px);\n height: 100vh;\n min-height: calc(100vh + 4px);\n position: fixed;\n z-index: 99999999999999;\n}\n\n/* Views. Modal\n------------------------------------------------------------ */\n.rebilly-instruments-modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n overflow-x: hidden;\n overflow-y: auto;\n z-index: 1055;\n padding: 30px;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n -webkit-transition: all 0.12s ease-in-out;\n transition: all 0.12s ease-in-out;\n background-color: rgba(0,0,0,0.7);\n opacity: 0\n}\n\n.rebilly-instruments-modal-overlay.is-visible {\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container {\n -webkit-transition: all .24s ease-in-out;\n transition: all .24s ease-in-out;\n position: relative;\n max-width: 750px;\n background: var(--rebilly-colorBackground);\n margin: 50px auto 20px;\n -webkit-box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n box-shadow: 0 19px 38px rgba(0,0,0,0.20), 0 15px 12px rgba(0,0,0,0.12);\n border-radius: 4px;\n -webkit-transform: translateY(-50px);\n transform: translateY(-50px);\n opacity: 0;\n}\n\n.rebilly-instruments-modal-container.is-visible {\n -webkit-transform: translateY(0);\n transform: translateY(0);\n opacity: 1;\n}\n\n.rebilly-instruments-modal-container.is-redirect {\n max-width: 60vw;\n width: auto;\n}\n\n.rebilly-instruments-modal-content {\n -webkit-transition: all .15s;\n transition: all .15s;\n padding: 20px;\n overflow: hidden;\n background-color: var(--rebilly-colorBackground);\n text-align: center;\n border-radius: 4px;\n}\n\n.rebilly-instruments-modal-content .rebilly-instruments-iframe {\n -webkit-transition: all .15s;\n transition: all .15s;\n height: auto;\n min-height: 360px;\n}\n\n.rebilly-instruments-modal-container.is-redirect .rebilly-instruments-modal-content {\n padding: 0;\n}\n\n.rebilly-instruments-modal-close {\n position: absolute;\n width: 30px;\n height: 30px;\n top: -40px;\n right: 0;\n fill: #FFF;\n cursor: pointer;\n}\n\n.rebilly-instruments-modal-close:hover{\n color: #000;\n}\n\n@media screen and (max-width: 480px) {\n .rebilly-instruments-modal-container.is-redirect {\n max-width: 96vw;\n margin: 20px auto 20px;\n }\n}\n\n/* Components. Loader\n------------------------------------------------------------ */\n.rebilly-instruments-loader {\n text-align: left;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n display: none;\n background-color: var(--rebilly-colorBackground);\n z-index: 1000;\n -webkit-transition: all 200ms;\n transition: all 200ms;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader.is-active {\n display: block;\n}\n\n/* Type */\n.rebilly-instruments-loader p {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n\n.rebilly-instruments-loader small {\n color: var(--rebilly-colorText);\n display: inline-block;\n margin: 0;\n font-size: var(--rebilly-fontSizeS);\n line-height: 1;\n}\n\n/* Summary */\n.rebilly-instruments-summary-loader-total p.total {\n font-family: var(--rebilly-fontFamily);\n font-size: var(--rebilly-fontSizeL);\n font-weight: var(--rebilly-headingFontWeight);\n}\n\n/* Methods */\n.rebilly-instruments-methods-loader-card-icon {\n width: 32px;\n height: 22px;\n margin-left: var(--rebilly-spacing2xs);\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-methods-loader-form-fields { margin: calc(var(--rebilly-spacingXs) + var(--rebilly-spacingS)) 0; }\n\n/* Spinner */\n.rebilly-instruments-loader-spinner {\n top: 50%;\n left: 50%;\n position: absolute;\n -webkit-transform: translate(-50%, -50%);\n transform: translate(-50%, -50%);\n border: 2px solid transparent;\n border-top: 2px solid var(--rebilly-colorPrimary);\n border-radius: 50%;\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n margin-top: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n margin-left: calc(-1 * var(--rebilly-fontLineHeightBase) / 2);\n -webkit-animation: spin 0.5s ease infinite;\n animation: spin 0.5s ease infinite;\n}\n\n@-webkit-keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n@keyframes spin {\n 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }\n 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n\n/* Utils */\n.rebilly-instruments-loader-display-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }\n.rebilly-instruments-loader-align-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }\n.rebilly-instruments-loader-justify-space-between { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }\n.rebilly-instruments-loader-justify-end { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }\n\n.is-el-loading {\n position: relative;\n color: transparent!important;\n}\n\n.is-el-loading::before {\n position: absolute;\n content: '';\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(110deg, var(--rebilly-colorMutedBorder) 0%, var(--rebilly-colorBackground) 25%, var(--rebilly-colorMutedBorder) 50%);\n background-size: 200% 100%;\n -webkit-animation: 1.5s rebillyExpressShine linear infinite;\n animation: 1.5s rebillyExpressShine linear infinite;\n border-radius: var(--rebilly-borderRadius);\n}\n\n.rebilly-instruments-loader-form-el {\n width: 100%;\n min-height: var(--rebilly-spacingFormElementMinHeight);\n}\n\n.rebilly-instruments-loader-form-label {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n margin-bottom: var(--rebilly-spacing2xs);\n}\n\n.rebilly-instruments-loader-form-el.is-button {\n margin-top: var(--rebilly-spacingL);\n text-align: center;\n font-size: var(--rebilly-buttonFontSize);\n font-family: var(--rebilly-buttonFontFamily);\n line-height: var(--rebilly-buttonFontLineHeight);\n padding: var(--rebilly-spacingS);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n background: var(--rebilly-buttonColorBackground);\n color: transparent;\n border-radius: var(--rebilly-buttonBorderRadius);\n font-weight: var(--rebilly-buttonFontWeight);\n border: var(--rebilly-buttonBorder);\n -webkit-box-shadow: var(--rebilly-buttonBoxShadow);\n box-shadow: var(--rebilly-buttonBoxShadow);\n outline: none;\n cursor: not-allowed;\n opacity: 0.6; \n}\n\n.rebilly-instruments-methods-loader-card-icon.is-el-loading::before {\n border-radius: calc(var(--rebilly-borderRadius) / 2);\n}\n\n/* Error\n------------------------------------------------------------ */\n.rebilly-instruments-error-card {\n border: 1px solid var(--rebilly-colorDanger);\n border-radius: var(--rebilly-borderRadius);\n text-align: left;\n padding: var(--rebilly-spacingS);\n margin-bottom: var(--rebilly-spacingL);\n}\n\n.rebilly-instruments-error-card-header {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.rebilly-instruments-error-card-title {\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n font-family: var(--rebilly-headingFontFamily);\n margin: 0 0 var(--rebilly-spacingS);\n color: var(--rebilly-colorDanger);\n}\n\n.rebilly-instruments-error-card-close-button {\n cursor: pointer;\n background: transparent;\n border: none;\n padding: 0;\n}\n\n.rebilly-instruments-error-card-close-button svg {\n width: var(--rebilly-fontLineHeightBase);\n height: var(--rebilly-fontLineHeightBase);\n fill: var(--rebilly-colorText);\n}\n\n.rebilly-instruments-error-card-details {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.rebilly-instruments-error-card-details li,\n.rebilly-instruments-error-card-message {\n color: var(--rebilly-colorText);\n margin: 0;\n font-weight: var(--rebilly-fontWeightBase);\n font-size: var(--rebilly-fontSizeBase);\n line-height: var(--rebilly-fontLineHeightBase);\n}\n`)(new Bo(e).build())}\n `;return t})(e||{});return wo({element:"style",attributes:{type:"text/css"},content:_o(n),target:"head"}),t&&wo({element:"style",attributes:{type:"text/css"},content:_o(t),target:"head"}),n};const Do=({state:e})=>{e.translate.init(e.options.locale,e.options.i18n),e.translate.translateItems()};function No(e){const t={};return function(e){const t={};function n(e){const r=e.match(/var\((.+?)\)/g);if(r){let i=e;return r.forEach((n=>{const r=n.match(/\((.*)\)/i)[1];i=e.replace(n,t[r])})),n(i)}return e}return[...e.matchAll(/(--rebilly.*(?=:))[:\s](.*(?=;))/g)].forEach((e=>{t[e[1]]=e[2].trim()})),Object.entries(t).map((([e,t])=>[e,n(t)]))}(e).forEach((([e,n])=>{t[e]=n})),t}const Uo=(e,t="")=>({color:e[`--rebilly-${t}ColorText`],fontFamily:e[`--rebilly-${t}FontFamily`],fontSize:e[`--rebilly-${t}FontSize`],fontWeight:e[`--rebilly-${t}FontWeight`],lineHeight:e[`--rebilly-${t}FontLineHeight`],background:e[`--rebilly-${t}ColorBackground`],boxShadow:e[`--rebilly-${t}BoxShadow`]});function Wo({eventName:e,callback:t}){if(!lt.includes(e))throw new Error(`${e} is not a supported event`);const n=ye(e);st[n].addEventListener(t)}async function Vo({name:e="",url:t="",model:n={},classListArray:r=[],close:i=(()=>{}),state:a=null}={}){var o;const s=null==n||null===(o=n.method)||void 0===o?void 0:o.method,l="rebilly-instruments-approval-url"===e;a.form.insertAdjacentHTML("beforeend",((e,t)=>`\n <div class="rebilly-instruments-modal-overlay">\n <div class="rebilly-instruments-modal-container ${t?`rebilly-instruments-${t}`:""} ${e?"is-redirect":""}">\n ${e?"":'\n <svg class="rebilly-instruments-modal-close" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg">\n <path d="m15 13.5858 7.2929-7.293c.3905-.3904 1.0237-.3904 1.4142 0 .3905.3906.3905 1.0238 0 1.4143L16.4142 15l7.293 7.2929c.3904.3905.3904 1.0237 0 1.4142-.3906.3905-1.0238.3905-1.4143 0L15 16.4142l-7.2929 7.293c-.3905.3904-1.0237.3904-1.4142 0-.3905-.3906-.3905-1.0238 0-1.4143L13.5858 15l-7.293-7.2929c-.3904-.3905-.3904-1.0237 0-1.4142.3906-.3905 1.0238-.3905 1.4143 0L15 13.5858Z" fill-rule="nonzero"/>\n </svg>\n '}\n <div class="rebilly-instruments-modal-content"></div>\n </div>\n </div>\n`)(l,s));const u=document.querySelector(".rebilly-instruments-modal-overlay"),c=document.querySelector(".rebilly-instruments-modal-container"),d=document.querySelector(".rebilly-instruments-modal-close"),p=document.querySelector(".rebilly-instruments-modal-content");document.body.style.overflow="hidden",setTimeout((()=>{u.classList.add("is-visible"),c.classList.add("is-visible")}),240),a.loader.addDOMElement({section:"modal",el:p}),a.loader.startLoading({section:"modal",id:e});const f={options:a.options,...n},m=await new gt({state:a,name:e,url:t,model:f,classListArray:r,container:p}),h=(...e)=>{c.classList.remove("is-visible"),u.classList.remove("is-visible"),setTimeout((()=>{document.body.style.overflow="auto",u.children.forEach((e=>e.remove())),u.remove(),i(...e),m.destroy()}),300)};return m.bindEventListeners({close:h,loader:a.loader}),l||d.addEventListener("click",h),m}async function Go({state:e,payload:t}){const{_raw:{id:n},isExistingInstrument:r}=t;delete t.isExistingInstrument,delete t._raw;const i={...t};r?i.paymentInstrumentId=n:i.token=n,e.options.invoiceId&&(i.invoiceId=e.options.invoiceId),e.options.transactionId&&(i.transactionId=e.options.transactionId),e.options.money&&(i.websiteId=e.options.websiteId,i.amount=e.options.money.amount,i.currency=e.options.money.currency);let{fields:a}=await async function({data:e,state:t}){return Ci({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.payment({data:e}))))}({state:e,data:i});return a={transaction:a,token:a.token||e.options.jwt},e.data.invoice&&(a.invoice=e.data.invoice),a}async function Ko({state:e,payload:t}){const{fields:n}=await async function({data:e,state:t}){return Ci({state:t},(async()=>(e._raw&&delete e._raw,t.storefront.purchase.purchase({data:e}))))}({state:e,data:{websiteId:e.options.websiteId,items:e.options.items,paymentInstruction:{token:t._raw.id},...t}});return n}async function Jo({state:e,payload:t}){try{var n,r;let i;return i=e.data.isPayment?await Go({state:e,payload:t}):await Ko({state:e,payload:t}),null!==(n=i.transaction)&&void 0!==n&&n.approvalUrl&&"unknown"===(null===(r=i.transaction)||void 0===r?void 0:r.result)?function({state:e,fields:t}){const{paymentMethodsUrl:n}=e.options._computed,r={};e.data.isPayment?r.payment=t:r.purchase=t,e.data=new fo({state:e,...t}),Vo({state:e,name:"rebilly-instruments-approval-url",url:`${n}/approval-url`,model:r,close:e=>{st.purchaseCompleted.dispatch(e)}})}({state:e,fields:i}):st.purchaseCompleted.dispatch(i),i}catch(e){return ct(e),e}}async function Xo({state:e,payload:t}){try{var n;const{_raw:{id:r},isExistingInstrument:i}=t;delete t.isExistingInstrument,delete t._raw;const a={...t};i?a.paymentInstrumentId=r:a.token=r;const{instrument:o,transaction:s}=await async function({data:e,state:t}){return Ci({state:t},(async()=>{var n,r;const{fields:i}=await t.storefront.paymentInstruments.create({data:e});t.storefront.setSessionToken(i.token||t.options.jwt);const a={id:i.id,data:{websiteId:t.options.websiteId,...e}};t.data.amountAndCurrency&&(a.data={...a.data,...t.data.amountAndCurrency}),null!==(n=t.data)&&void 0!==n&&null!==(r=n.transaction)&&void 0!==r&&r.redirectUrl&&(a.data.redirectUrl=`${a.data.redirectUrl}&originalRedirectUrl=${t.data.transaction.redirectUrl}`);const{fields:o}=await t.storefront.paymentInstruments.setup(a);return{instrument:i,transaction:o}}))}({state:e,data:{websiteId:null===(n=e.options)||void 0===n?void 0:n.websiteId,...a}});if(e.data=new fo({state:e,instrument:o,transaction:s}),s.approvalUrl&&"unknown"===s.result){const{paymentMethodsUrl:t}=e.options._computed;Vo({state:e,name:"rebilly-instruments-approval-url",url:`${t}/approval-url`,model:{setup:{transaction:s}},close:({transaction:e=s})=>{st.setupCompleted.dispatch({instrument:o,transaction:e})}})}else st.setupCompleted.dispatch({instrument:o,transaction:s});return{instrument:o,transaction:s}}catch(e){return ct(e),e}}async function Zo({payload:e,state:t}){e.billingAddress&&t.summary&&t.data.isPurchase&&Fi({state:t,instrument:e});t.form.querySelector(".rebilly-instruments-content").insertAdjacentHTML("afterend",'<div class="rebilly-instruments-confirmation"></div>');const n=t.form.querySelector(".rebilly-instruments-method-selector");n.style.visibility="hidden",n.style.height="0px",t.loader.startLoading({id:"rebilly-instruments-confirmation"});const r=document.querySelector(".rebilly-instruments-confirmation"),{paymentMethodsUrl:i}=t.options._computed,a={options:t.options,data:t.data.toPostmatesModel(),mainStyleVars:t.mainStyleVars,instrument:e},o="rebilly-instruments-confirmation",s=await new ht({name:o,url:`${i}/confirmation`,container:r,model:a});s.bindEventListeners({loader:t.loader}),s.component.on(`${o}-confirm-purchase`,(e=>{Jo({state:t,payload:e})})),s.component.on(`${o}-confirm-setup`,(e=>{Xo({state:t,payload:e})})),s.component.on("choose-another-method",(()=>{t.iframeComponents.form=t.iframeComponents.form.filter((e=>e.name!==s.name||(e.destroy(),!1))),t.data.isPurchase&&Fi({state:t}),async function({state:e}){var t;e.loader.startLoading({id:"rebilly-instruments-methods"});const{riskMetadata:n}=await Xa();e.data=await mo({state:e,riskMetadata:n}),e.data.transaction&&"setup"===(null===(t=e.data.transaction)||void 0===t?void 0:t.type)&&(e.options.transactionType="setup"),bo({state:e})}({state:t,mainStyleVars:t.mainStyleVars}),t.form.querySelector(".rebilly-instruments-confirmation").remove()})),t.iframeComponents.form.push(s)}async function Yo({componentName:e,payload:t,state:n}){switch(e){case"result":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),async function({payload:e,state:t}){var n,r;n=t.form,r='<div class="rebilly-instruments-result"></div>',n.querySelector(".rebilly-instruments-content").innerHTML=r,t.loader.startLoading({id:"rebilly-instruments-result"}),t.loader.stopLoading({id:"express-purchase"});const i=document.querySelector(".rebilly-instruments-result"),{paymentMethodsUrl:a}=t.options._computed,o={options:t.options,mainStyleVars:t.mainStyleVars,[t.options.transactionType]:e},s=await new ht({name:"rebilly-instruments-result",url:`${a}/result`,container:i,model:o});s.bindEventListeners({loader:t.loader}),t.iframeComponents.form.push(s)}({payload:t,state:n});break;case"confirmation":n.iframeComponents.form=n.iframeComponents.form.filter((e=>(e.destroy(),!1))),Zo({payload:t,state:n});break;default:throw new Error(`'${e}' not a supported component`)}}var Qo=({state:e={}})=>{e.options.features.autoConfirmation&&Wo({eventName:"instrument-ready",callback:t=>{var n;if("paypal"===(null===(n=t._raw)||void 0===n?void 0:n.method)&&!e.data.isShippingRequired)return"setup"===e.options.transactionType?Xo({state:e,payload:t}):Jo({state:e,payload:t}),void e.loader.startLoading({state:e,id:"express-purchase",message:"form.loaderMessages.processingPayment"});Yo({componentName:"confirmation",payload:t,state:e})}}),e.options.features.autoResult&&Wo({eventName:"setup"===e.options.transactionType?"setup-completed":"purchase-completed",callback:t=>{!function({state:e,payload:t}){Yo({componentName:"result",payload:t,state:e})}({state:e,payload:t})}})};async function es({state:e,setupFramepay:t=Io,...n}={}){try{var r,i,a;e.data={},e.options={},e.form=xo({element:"form",options:n}),e.summary=xo({element:"summary",options:n}),e.form.style.maxWidth="750px",e.summary&&(e.summary.style.maxWidth="750px"),e.options=Co({options:n}),e.storefront=ko({options:n}),e.mainStyleVars=zo({options:n}),e.options.themeFramepay=(({state:e,options:t={}})=>{const n=No(`\n ${e.mainStyleVars}\n ${t.css||""}\n `);return{base:{...Uo(n,"input"),":hover":Uo(n,"inputHover"),":focus":Uo(n,"inputFocus"),"::placeholder":Uo(n,"inputPlaceholder"),"::selection":Uo(n,"inputSelection")},invalid:{...Uo(n,"inputError"),":hover":Uo(n,"inputErrorHover"),":focus":Uo(n,"inputErrorFocus"),"::placeholder":Uo(n,"inputErrorPlaceholder"),"::selection":Uo(n,"inputErrorSelection")},buttons:{base:{...Uo(n,"buttonSecondary"),":hover":Uo(n,"buttonSecondaryHover"),":focus":Uo(n,"buttonSecondaryActive")},active:{...Uo(n,"button"),":hover":Uo(n,"buttonHover"),":focus":Uo(n,"buttonActive")}}}})({state:e,options:n}),e.loader.addDOMElement({el:e.form}),e.loader.addDOMElement({section:"summary",el:e.summary}),e.loader.startLoading({state:e,section:"summary",id:"rebilly-instruments-summary"}),e.loader.startLoading({state:e,id:"rebilly-instruments-methods"}),e.data=await mo({state:e}),st.dataReady.dispatch(e.data),e.i18n=(({state:e={}})=>{var t,n;if("auto"===e.options.locale&&null!==(t=e.data.riskMetadata)&&void 0!==t&&null!==(n=t.browserData)&&void 0!==n&&n.language){const{browserData:{language:t}}=e.data.riskMetadata;e.options.locale=t}return e.translate.init(e.options.locale,e.options.i18n),Do})({state:e}),await t(e),!e.options.websiteId&&null!==(r=e.data.transaction)&&void 0!==r&&r.websiteId?e.options.websiteId=e.data.transaction.websiteId:!e.options.websiteId&&null!==(i=e.data.invoice)&&void 0!==i&&i.websiteId&&(e.options.websiteId=e.data.invoice.websiteId),e.data.transaction&&"setup"===(null===(a=e.data.transaction)||void 0===a?void 0:a.type)&&(e.options.transactionType="setup"),e.form&&bo({state:e}),e.summary&&async function({state:e}){const t={options:e.options,data:e.data.toPostmatesModel(),mainStyleVars:e.mainStyleVars},{paymentMethodsUrl:n}=e.options._computed,r=await new ht({name:"rebilly-instruments-summary",url:`${n}/summary`,container:e.summary,model:t});r.bindEventListeners({loader:e.loader}),e.iframeComponents.summary.push(r)}({state:e}),e.i18n({state:e}),e.hasMounted=!0}catch(e){throw ct(e),e}Qo({state:e})}async function ts({state:e}){var t,n;var r;await(r=1e3,new Promise((e=>setTimeout(e,r)))),[...(null===(t=e.iframeComponents)||void 0===t?void 0:t.form)||[],...(null===(n=e.iframeComponents)||void 0===n?void 0:n.summary)||[]].forEach((e=>{e.destroy()})),at.removeAll(document),e.iframeComponents={summary:[],form:[]},e.hasMounted=!1,e.summary.textContent="",e.form.textContent="",mi(),e.loader.clearAll()}function ns({newOptions:e}){let t={};return t=Object.keys(e).some((e=>["items","money","invoiceId","transactionId"].includes(e)))?{items:null,money:null,invoiceId:null,transactionId:null}:t,t}var rs={en:{summary:{subTotal:"Sub Total",discounts:"Discounts",taxes:"Taxes",shipping:"Shipping",total:"Total"},form:{expressCheckout:"Express checkout",or:"Or",popupOverlayText:"Click here to show popup window",andMore:"and more",error:{noPaymentMethods:"No payment methods available for this transaction, please contact support."},loaderMessages:{processingPayment:"Processing payment instrument."}},paymentMethods:{"payment-card":"Payment card",ach:"Bank account"}}},is={es:{summary:{subTotal:"Sub Total",discounts:"Descuentos",taxes:"Impuestos",shipping:"Envío",total:"Total"},form:{expressCheckout:"Chequeo rápido",or:"O pague con",andMore:"y más",popupOverlayText:"Haga clic aquí para mostrar la ventana emergente",error:{noPaymentMethods:"No hay métodos de pago disponibles para esta transacción, por favor, póngase en contacto con el servicio de asistencia."}},paymentMethods:{"payment-card":"Tarjeta de crédito",ach:"Cuenta bancaria"}}};class as{constructor(){this.locale="",this.items=[],this.languages={}}init(e,t){this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale=this.getLocale(e),this.languages=go({},{...rs,...is},t)}translateItems(){return this.items=document.querySelectorAll("[data-rebilly-i18n]"),this.locale in this.languages&&this.items.forEach((e=>{const t=this.getTranslation(this.languages[this.locale],e.dataset.rebillyI18n);t&&(e.innerHTML=t)}))}updateTranslationsToNewLocale(e){this.locale=e,this.translateItems()}getLocale(e=this.locale){return!e.includes("-")||e in this.languages?e:(e=e.replace(/[-._]\w+$/gi,""),this.getLocale(e))}translateItem(e){const t=this.getLocale();return this.getTranslation(this.languages[t],e.dataset.rebillyI18n)}getTranslation(e=this.locale,t){return t.split(".").reduce(((e,t)=>null==e?void 0:e[t]),e)}}class os{constructor(){this.options=null,this.data={},this.mountingPoints=null,this.storefront=null,this.form=null,this.summary=null,this.loader=new m,this.translate=new as,this.iframeComponents={summary:[],form:[]},this.hasMounted=!1}}var ss=new class{constructor(){this.state=new os}async mount(e){await es({state:this.state,...e})}async destroy(){await ts({state:this.state})}async update(e){await async function({state:e,newOptions:t={}}){if(!e.hasMounted)throw Error("Update method cannot be called before mounting instruments");const n={...e.options,...ns({newOptions:t})},r=go({...n},t);await ts({state:e}),es({state:e,form:e.form,summary:e.summary,...r})}({state:this.state,newOptions:e})}async purchase(e){await Jo({state:this.state,payload:e})}async setup(e){await Xo({state:this.state,payload:e})}async show(e,t){await Yo({state:this.state,componentName:e,payload:t})}get version(){return"RebillyInstruments Ver.3.14.3-beta.0"}on(e,t){Wo({state:this.state,eventName:e,callback:t})}};return ss}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebilly/instruments",
3
- "version": "3.14.2-beta.0",
3
+ "version": "3.14.3-beta.0",
4
4
  "author": "Rebilly",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -91,7 +91,9 @@ export async function mount({
91
91
  // hardcode max-width to not break UX
92
92
  // PayPal button cannot exceed 750px;
93
93
  state.form.style.maxWidth = '750px';
94
- state.summary.style.maxWidth = '750px';
94
+ if (state.summary) {
95
+ state.summary.style.maxWidth = '750px';
96
+ }
95
97
 
96
98
  // Setup state
97
99
  state.options = setupOptions({ options });