choco-one-click-payment 1.1.25 → 1.1.26

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.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.choco-one-click-widget{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;font-family:Sirius,sans-serif;--choco-widget-accent-color: #2F2F2F;pointer-events:none}.choco-one-click-widget--embedded{position:static;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:auto;min-height:1px}.choco-one-click-widget--embedded .choco-widget-bottom-bar{position:static;box-shadow:none;border-radius:24px}.choco-one-click-widget--embedded .choco-widget-payment-sheet{position:fixed}.choco-one-click-widget *{box-sizing:border-box;font-family:Sirius,sans-serif}.choco-one-click-widget .choco-widget-bottom-bar{opacity:0;transform:translateY(16px)}.choco-one-click-widget .choco-widget-balance-section,.choco-one-click-widget .choco-widget-payment-info{opacity:0;transform:translateY(8px)}.choco-one-click-widget--visible .choco-widget-bottom-bar,.choco-one-click-widget--visible .choco-widget-balance-section,.choco-one-click-widget--visible .choco-widget-payment-info{opacity:1;transform:translateY(0)}.choco-widget-bottom-bar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -4px 20px #0000001a;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:auto}.choco-widget-payment-info{display:flex;flex-direction:column;gap:12px;align-items:stretch;transition:transform .22s ease,opacity .2s ease}.choco-widget-payment-info-main{display:flex;gap:12px;align-items:center}.choco-widget-payment-method{gap:12px;background:#f1f2f7;border-radius:16px;padding:5px 8px;cursor:pointer;transition:background .2s ease;border:none;font-family:inherit;text-align:left;width:100%;position:relative;height:46px}.choco-widget-payment-method:disabled{cursor:not-allowed;pointer-events:none;opacity:.5}.choco-widget-payment-method.google_pay,.choco-widget-payment-method.apple_pay{max-width:140px}.choco-widget-method-icon-placeholder{font-size:24px}.choco-widget-method-details{flex:1}.choco-widget-method-label{font-size:14px;color:#000}.choco-widget-method-value{font-size:14px;font-weight:600;color:#000;display:flex;align-items:center;gap:4px}.choco-widget-method-icon-wrapper svg{display:block;width:100%;max-width:29px;max-height:18px;margin-top:2px}.choco-widget-method-icon-wrapper:empty{display:none}.choco-widget-method-icon-wrapper.google_pay svg{height:17px;max-width:35px;border:1px solid #3C4043;padding:3px 4px 2px;border-radius:8px}.choco-widget-method-name{font-size:14px;font-weight:700}.choco-widget-method-name.google_pay,.choco-widget-method-name.apple_pay{display:none}.choco-widget-method-chevron{position:absolute;right:5px;top:0;bottom:0;margin:auto 0;width:24px;height:24px}.choco-widget-pay-button{background:var(--choco-widget-accent-color);color:#fff;border:none;border-radius:16px;height:46px;padding:0 16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:100%;overflow:hidden}.choco-widget-pay-button--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-pay-button--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-pay-button--loading:after{content:"";display:block;width:100%;height:100%;background:#2f2f2f;position:absolute;left:0;top:0}.choco-widget-pay-button:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button--hidden{display:none}.choco-widget-google-pay-amount{min-width:124px;height:46px;display:flex;flex-direction:column;justify-content:center;text-align:right;width:100%}.choco-widget-google-pay-amount--hidden{display:none}.choco-widget-google-pay-amount-label{font-size:20px;font-weight:700;line-height:24px;color:#1d1d1d}.choco-widget-google-pay-amount-value{font-size:14px;line-height:18px;color:#1d1d1d;white-space:nowrap;opacity:.5}.choco-widget-google-pay-amount-value--hidden{display:none}.choco-widget-google-pay-amount-value-number{text-decoration:line-through}.choco-widget-google-pay-row--hidden{display:none}.choco-widget-wallet-blocked{pointer-events:none;opacity:.6}.choco-widget-google-pay-button-slot{width:100%}.choco-widget-google-pay-button-slot>button{width:100%!important;height:52px;min-height:52px;border-radius:12px!important;font-size:16px!important}.choco-widget-apple-pay-row--hidden{display:none}.choco-widget-apple-pay-button-slot{width:100%}.choco-widget-apple-pay-button-wrapper{position:relative;width:100%;height:52px}.choco-widget-apple-pay-button{width:100%;height:52px;min-height:52px;border:0;border-radius:12px;cursor:pointer;background:#000;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.choco-widget-apple-pay-button--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:52px;opacity:.01;z-index:2}.choco-widget-apple-pay-button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border-radius:12px;pointer-events:none;z-index:1}.choco-widget-apple-pay-button-text{font-size:16px;line-height:20px;font-weight:600;color:#fff}.choco-widget-apple-pay-button-icon{display:inline-flex;align-items:center;justify-content:center}.choco-widget-payment-sheet{position:absolute;bottom:0;left:0;right:0;top:0;background:#00000080;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease}.choco-widget-payment-sheet--open{opacity:1;pointer-events:auto}.choco-widget-payment-sheet--open .choco-widget-sheet-content{transform:translateY(0)}.choco-widget-sheet-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:8px 16px 16px;position:relative;will-change:transform}.choco-widget-sheet-content--dragging{transition:none}.choco-widget-sheet-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}.choco-widget-sheet-grabber:active{cursor:grabbing}.choco-widget-sheet-grabber:before{content:"";width:72px;height:6px;background:#e5e5e7;border-radius:42px}.choco-widget-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.choco-widget-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative}.choco-widget-sheet-title{font-size:20px;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.choco-widget-payment-sheet--edit .choco-widget-sheet-title{padding-left:30px}.choco-widget-payment-sheet--no-cards .choco-widget-sheet-title{padding-right:30px}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-title{padding:0}.choco-widget-sheet-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.choco-widget-sheet-button svg{color:#000}.choco-widget-sheet-delete-confirm{display:none;padding-top:16px}.choco-widget-payment-sheet--delete-confirm .choco-widget-payment-methods,.choco-widget-payment-sheet--delete-confirm .choco-widget-cashback-section{display:none!important}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-delete-confirm{display:block}.choco-widget-sheet-delete-confirm-text{margin:0 0 24px;font-size:16px;line-height:1.4;color:#242424;text-align:center}.choco-widget-sheet-delete-confirm-actions{display:flex;gap:12px}.choco-widget-delete-confirm-btn{flex:1;padding:14px 20px;font-size:16px;font-weight:600;font-family:inherit;border-radius:16px;border:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}.choco-widget-delete-confirm-btn--cancel{background:#f1f2f7;color:#242424}.choco-widget-delete-confirm-btn--delete{background:var(--choco-widget-accent-color);color:#fff}.choco-widget-delete-confirm-btn--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-sheet-delete-confirm-actions.choco-widget-sheet-delete-confirm-actions--loading .choco-widget-delete-confirm-btn{pointer-events:none;cursor:not-allowed;opacity:.7}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:after{content:"";display:block;width:100%;height:100%;background:#cc3434;position:absolute;left:0;top:0;border-radius:16px}.choco-widget-add-card-sheet{align-items:stretch}.choco-widget-add-card-sheet .choco-widget-add-card-sheet-content{max-height:none;height:100%;display:flex;flex-direction:column;transform:none;border-radius:0;padding:0}.choco-widget-add-card-sheet--open .choco-widget-add-card-sheet-content{transform:none}.choco-widget-add-card-sheet .choco-widget-sheet-header{flex-shrink:0;margin-bottom:0;padding:12px 0;border-bottom:1px solid #eee}.choco-widget-add-card-iframe-wrapper{flex:1;min-height:0;background:#fff}.choco-widget-add-card-iframe{width:100%;height:100%;border:none;display:block}.choco-widget-balance-section{margin-bottom:12px;padding:12px 8px;background:#f1f2f7;border-radius:12px;transition:transform .22s ease,opacity .2s ease}.choco-widget-balance-section.disabled{opacity:.5;pointer-events:none}.choco-widget-balance-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:4px 0}.choco-widget-balance-toggle:last-child{margin-bottom:0}.choco-widget-balance-info{display:flex;align-items:center;gap:12px}.choco-widget-balance-text{display:flex;flex-direction:column}.choco-widget-balance-label-wrapper{display:flex;align-items:center;gap:8px}.choco-widget-balance-label{font-size:16px;font-weight:500}.choco-widget-balance-sublabel{font-size:12px;color:#767485;margin-top:2px}.choco-widget-balance-icon{width:22px;height:22px}.choco-widget-balance-amount{font-size:16px;font-weight:500;color:#000}.choco-widget-toggle{position:relative;display:inline-block;width:42px;height:26px}.choco-widget-toggle input{opacity:0;width:0;height:0}.choco-widget-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d4d3df;transition:.3s;border-radius:28px}.choco-widget-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:0;top:0;margin:auto;background-color:#fff;transition:.3s;border-radius:50%}.choco-widget-toggle input:checked+.choco-widget-toggle-slider{background-color:var(--choco-widget-accent-color)}.choco-widget-toggle input:checked+.choco-widget-toggle-slider:before{transform:translate(16px)}.choco-widget-cashback-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.choco-widget-cashback-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5ee;border-radius:12px;font-size:14px;color:#ff6b00}.choco-widget-cashback-icon{font-size:20px}.choco-widget-cashback-text strong{font-weight:700}.choco-widget-payment-methods{display:flex;flex-direction:column;gap:8px}.choco-widget-method-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:all .2s ease;border:2px solid transparent;width:100%;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit}.choco-widget-method-item-icon-wrapper{width:37px}.choco-widget-method-item-icon-wrapper svg{display:block;width:100%;max-width:29px;height:29px;margin:0 auto}.choco-widget-method-item-icon-wrapper.google_pay{outline:1px solid #3C4043;padding:3px 5px 2px;border-radius:15px}.choco-widget-method-item-icon-wrapper.google_pay svg{height:15px;max-width:29px}.choco-widget-method-item-label{flex:1;font-size:16px;color:#000}.choco-widget-method-item-check,.choco-widget-method-item-trash-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px;margin:-6px 0 -6px 6px;background:none;border:none;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.choco-widget-method-item-trash-btn:hover{background:#cc343414}.choco-widget-method-item-trash{flex-shrink:0;width:20px;height:20px}.choco-widget-bottom-bar-prerender{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1);height:78px}.choco-widget-payment-loading{width:30px;height:30px;animation:choco-spin 1s linear infinite;border:3px solid var(--choco-widget-accent-color);border-top:3px solid transparent;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}@keyframes choco-spin{to{transform:rotate(360deg)}}@keyframes choco-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.choco-widget-bottom-bar{padding:16px 16px 20px}.choco-widget-sheet-content{max-height:80vh}.choco-widget-sheet-title{font-size:18px}.choco-widget-method-item-label{font-size:17px}}@media(max-width:768px)and (min-height:812px){.choco-widget-bottom-bar,.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}}@supports (padding: env(safe-area-inset-bottom)){.choco-widget-bottom-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.choco-one-click-widget{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;font-family:Sirius,sans-serif;--choco-widget-accent-color: #2F2F2F;pointer-events:none}.choco-one-click-widget--embedded{position:static;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:auto;min-height:1px}.choco-one-click-widget--embedded .choco-widget-bottom-bar{position:static;box-shadow:none;border-radius:24px}.choco-one-click-widget--embedded .choco-widget-payment-sheet{position:fixed}.choco-one-click-widget *{box-sizing:border-box;font-family:Sirius,sans-serif}.choco-one-click-widget .choco-widget-bottom-bar{opacity:0;transform:translateY(16px)}.choco-one-click-widget .choco-widget-balance-section,.choco-one-click-widget .choco-widget-payment-info{opacity:0;transform:translateY(8px)}.choco-one-click-widget--visible .choco-widget-bottom-bar,.choco-one-click-widget--visible .choco-widget-balance-section,.choco-one-click-widget--visible .choco-widget-payment-info{opacity:1;transform:translateY(0)}.choco-widget-bottom-bar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -4px 20px #0000001a;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:auto}.choco-widget-payment-info{display:flex;flex-direction:column;gap:12px;align-items:stretch;transition:transform .22s ease,opacity .2s ease}.choco-widget-payment-info-main{display:flex;gap:12px;align-items:center}.choco-widget-payment-method{gap:12px;background:#f1f2f7;border-radius:16px;padding:5px 8px;cursor:pointer;transition:background .2s ease;border:none;font-family:inherit;text-align:left;width:100%;position:relative;height:46px}.choco-widget-payment-method:disabled{cursor:not-allowed;pointer-events:none;opacity:.5}.choco-widget-payment-method.google_pay,.choco-widget-payment-method.apple_pay{max-width:140px}.choco-widget-method-icon-placeholder{font-size:24px}.choco-widget-method-details{flex:1}.choco-widget-method-label{font-size:14px;color:#000}.choco-widget-method-value{font-size:14px;font-weight:600;color:#000;display:flex;align-items:center;gap:4px}.choco-widget-method-icon-wrapper svg{display:block;width:100%;max-width:29px;max-height:18px;margin-top:2px}.choco-widget-method-icon-wrapper:empty{display:none}.choco-widget-method-icon-wrapper.google_pay svg{height:17px;max-width:35px;border:1px solid #3C4043;padding:3px 4px 2px;border-radius:8px}.choco-widget-method-name{font-size:14px;font-weight:700}.choco-widget-method-name.google_pay,.choco-widget-method-name.apple_pay{display:none}.choco-widget-method-chevron{position:absolute;right:5px;top:0;bottom:0;margin:auto 0;width:24px;height:24px}.choco-widget-pay-button{background:var(--choco-widget-accent-color);color:#fff;border:none;border-radius:16px;height:46px;padding:0 16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:100%;overflow:hidden}.choco-widget-pay-button--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-pay-button--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-pay-button--loading:after{content:"";display:block;width:100%;height:100%;background:#2f2f2f;position:absolute;left:0;top:0}.choco-widget-pay-button:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button--hidden{display:none}.choco-widget-google-pay-amount{min-width:124px;height:46px;display:flex;flex-direction:column;justify-content:center;text-align:right;width:100%}.choco-widget-google-pay-amount--hidden{display:none}.choco-widget-google-pay-amount-label{font-size:20px;font-weight:700;line-height:24px;color:#1d1d1d}.choco-widget-google-pay-amount-value{font-size:14px;line-height:18px;color:#1d1d1d;white-space:nowrap;opacity:.5}.choco-widget-google-pay-amount-value--hidden{display:none}.choco-widget-google-pay-amount-value-number{text-decoration:line-through}.choco-widget-google-pay-row--hidden{display:none}.choco-widget-wallet-blocked{pointer-events:none;opacity:.6}.choco-widget-google-pay-button-slot{width:100%}.choco-widget-google-pay-button-slot>button{width:100%!important;height:52px;min-height:52px;border-radius:12px!important;font-size:16px!important}.choco-widget-apple-pay-row--hidden{display:none}.choco-widget-apple-pay-button-slot{width:100%}.choco-widget-apple-pay-button-wrapper{position:relative;width:100%;height:52px}.choco-widget-apple-pay-button{width:100%;height:52px;min-height:52px;border:0;border-radius:12px;cursor:pointer;background:#000;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.choco-widget-apple-pay-button--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:52px;opacity:.01;z-index:2}.choco-widget-apple-pay-button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border-radius:12px;pointer-events:none;z-index:1}.choco-widget-apple-pay-button-text{font-size:16px;line-height:20px;font-weight:600;color:#fff}.choco-widget-apple-pay-button-icon{display:inline-flex;align-items:center;justify-content:center}.choco-widget-payment-sheet{position:absolute;bottom:0;left:0;right:0;top:0;background:#00000080;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease}.choco-widget-payment-sheet--open{opacity:1;pointer-events:auto}.choco-widget-payment-sheet--open .choco-widget-sheet-content{transform:translateY(0)}.choco-widget-sheet-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:8px 16px 16px;position:relative;will-change:transform}.choco-widget-sheet-content--dragging{transition:none}.choco-widget-sheet-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}.choco-widget-sheet-grabber:active{cursor:grabbing}.choco-widget-sheet-grabber:before{content:"";width:72px;height:6px;background:#e5e5e7;border-radius:42px}.choco-widget-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.choco-widget-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative}.choco-widget-sheet-title{font-size:20px;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.choco-widget-payment-sheet--edit .choco-widget-sheet-title{padding-left:30px}.choco-widget-payment-sheet--no-cards .choco-widget-sheet-title{padding-right:30px}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-title{padding:0}.choco-widget-sheet-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.choco-widget-sheet-button svg{color:#000}.choco-widget-sheet-delete-confirm{display:none;padding-top:16px}.choco-widget-payment-sheet--delete-confirm .choco-widget-payment-methods,.choco-widget-payment-sheet--delete-confirm .choco-widget-cashback-section{display:none!important}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-delete-confirm{display:block}.choco-widget-sheet-delete-confirm-text{margin:0 0 24px;font-size:16px;line-height:1.4;color:#242424;text-align:center}.choco-widget-sheet-delete-confirm-actions{display:flex;gap:12px}.choco-widget-delete-confirm-btn{flex:1;padding:14px 20px;font-size:16px;font-weight:600;font-family:inherit;border-radius:16px;border:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}.choco-widget-delete-confirm-btn--cancel{background:#f1f2f7;color:#242424}.choco-widget-delete-confirm-btn--delete{background:var(--choco-widget-accent-color);color:#fff}.choco-widget-delete-confirm-btn--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-sheet-delete-confirm-actions.choco-widget-sheet-delete-confirm-actions--loading .choco-widget-delete-confirm-btn{pointer-events:none;cursor:not-allowed;opacity:.7}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:after{content:"";display:block;width:100%;height:100%;background:#cc3434;position:absolute;left:0;top:0;border-radius:16px}.choco-widget-add-card-sheet{align-items:stretch}.choco-widget-add-card-sheet .choco-widget-add-card-sheet-content{max-height:none;height:100%;display:flex;flex-direction:column;transform:none;border-radius:0;padding:0}.choco-widget-add-card-sheet--open .choco-widget-add-card-sheet-content{transform:none}.choco-widget-add-card-sheet .choco-widget-sheet-header{flex-shrink:0;margin-bottom:0;padding:12px 0;border-bottom:1px solid #eee}.choco-widget-add-card-iframe-wrapper{flex:1;min-height:0;background:#fff}.choco-widget-add-card-iframe{width:100%;height:100%;border:none;display:block}.choco-widget-balance-section{margin-bottom:12px;padding:12px 8px;background:#f1f2f7;border-radius:12px;transition:transform .22s ease,opacity .2s ease}.choco-widget-balance-section.disabled{opacity:.5;pointer-events:none}.choco-widget-balance-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:4px 0}.choco-widget-balance-toggle:last-child{margin-bottom:0}.choco-widget-balance-info{display:flex;align-items:center;gap:12px}.choco-widget-balance-text{display:flex;flex-direction:column}.choco-widget-balance-label-wrapper{display:flex;align-items:center;gap:8px}.choco-widget-balance-label{font-size:16px;font-weight:500}.choco-widget-balance-sublabel{font-size:12px;color:#767485;margin-top:2px}.choco-widget-balance-icon{width:22px;height:22px}.choco-widget-balance-amount{font-size:16px;font-weight:500;color:#000}.choco-widget-toggle{position:relative;display:inline-block;width:42px;height:26px}.choco-widget-toggle input{opacity:0;width:0;height:0}.choco-widget-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d4d3df;transition:.3s;border-radius:28px}.choco-widget-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:0;top:0;margin:auto;background-color:#fff;transition:.3s;border-radius:50%}.choco-widget-toggle input:checked+.choco-widget-toggle-slider{background-color:var(--choco-widget-accent-color)}.choco-widget-toggle input:checked+.choco-widget-toggle-slider:before{transform:translate(16px)}.choco-widget-cashback-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.choco-widget-cashback-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5ee;border-radius:12px;font-size:14px;color:#ff6b00}.choco-widget-cashback-icon{font-size:20px}.choco-widget-cashback-text strong{font-weight:700}.choco-widget-payment-methods{display:flex;flex-direction:column;gap:8px}.choco-widget-method-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:all .2s ease;border:2px solid transparent;width:100%;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit}.choco-widget-method-item-icon-wrapper{width:37px}.choco-widget-method-item-icon-wrapper svg{display:block;width:100%;max-width:29px;height:29px;margin:0 auto}.choco-widget-method-item-icon-wrapper.google_pay{outline:1px solid #3C4043;padding:3px 5px 2px;border-radius:15px}.choco-widget-method-item-icon-wrapper.google_pay svg{height:15px;max-width:29px}.choco-widget-method-item-label{flex:1;font-size:16px;color:#000}.choco-widget-method-item-check,.choco-widget-method-item-trash-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px;margin:-6px 0 -6px 6px;background:none;border:none;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.choco-widget-method-item-check{height:30px;width:30px}.choco-widget-method-item-trash-btn:hover{background:#cc343414}.choco-widget-method-item-trash{flex-shrink:0;width:20px;height:20px}.choco-widget-bottom-bar-prerender{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1);height:78px}.choco-widget-payment-loading{width:30px;height:30px;animation:choco-spin 1s linear infinite;border:3px solid var(--choco-widget-accent-color);border-top:3px solid transparent;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}@keyframes choco-spin{to{transform:rotate(360deg)}}@keyframes choco-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.choco-widget-bottom-bar{padding:16px 16px 20px}.choco-widget-sheet-content{max-height:80vh}.choco-widget-sheet-title{font-size:18px}.choco-widget-method-item-label{font-size:17px}}@media(max-width:768px)and (min-height:812px){.choco-widget-bottom-bar,.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}}@supports (padding: env(safe-area-inset-bottom)){.choco-widget-bottom-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
2
  const Ct = {
3
3
  ru: {
4
4
  paymentMethod: "Способ оплаты",
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.choco-one-click-widget{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;font-family:Sirius,sans-serif;--choco-widget-accent-color: #2F2F2F;pointer-events:none}.choco-one-click-widget--embedded{position:static;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:auto;min-height:1px}.choco-one-click-widget--embedded .choco-widget-bottom-bar{position:static;box-shadow:none;border-radius:24px}.choco-one-click-widget--embedded .choco-widget-payment-sheet{position:fixed}.choco-one-click-widget *{box-sizing:border-box;font-family:Sirius,sans-serif}.choco-one-click-widget .choco-widget-bottom-bar{opacity:0;transform:translateY(16px)}.choco-one-click-widget .choco-widget-balance-section,.choco-one-click-widget .choco-widget-payment-info{opacity:0;transform:translateY(8px)}.choco-one-click-widget--visible .choco-widget-bottom-bar,.choco-one-click-widget--visible .choco-widget-balance-section,.choco-one-click-widget--visible .choco-widget-payment-info{opacity:1;transform:translateY(0)}.choco-widget-bottom-bar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -4px 20px #0000001a;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:auto}.choco-widget-payment-info{display:flex;flex-direction:column;gap:12px;align-items:stretch;transition:transform .22s ease,opacity .2s ease}.choco-widget-payment-info-main{display:flex;gap:12px;align-items:center}.choco-widget-payment-method{gap:12px;background:#f1f2f7;border-radius:16px;padding:5px 8px;cursor:pointer;transition:background .2s ease;border:none;font-family:inherit;text-align:left;width:100%;position:relative;height:46px}.choco-widget-payment-method:disabled{cursor:not-allowed;pointer-events:none;opacity:.5}.choco-widget-payment-method.google_pay,.choco-widget-payment-method.apple_pay{max-width:140px}.choco-widget-method-icon-placeholder{font-size:24px}.choco-widget-method-details{flex:1}.choco-widget-method-label{font-size:14px;color:#000}.choco-widget-method-value{font-size:14px;font-weight:600;color:#000;display:flex;align-items:center;gap:4px}.choco-widget-method-icon-wrapper svg{display:block;width:100%;max-width:29px;max-height:18px;margin-top:2px}.choco-widget-method-icon-wrapper:empty{display:none}.choco-widget-method-icon-wrapper.google_pay svg{height:17px;max-width:35px;border:1px solid #3C4043;padding:3px 4px 2px;border-radius:8px}.choco-widget-method-name{font-size:14px;font-weight:700}.choco-widget-method-name.google_pay,.choco-widget-method-name.apple_pay{display:none}.choco-widget-method-chevron{position:absolute;right:5px;top:0;bottom:0;margin:auto 0;width:24px;height:24px}.choco-widget-pay-button{background:var(--choco-widget-accent-color);color:#fff;border:none;border-radius:16px;height:46px;padding:0 16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:100%;overflow:hidden}.choco-widget-pay-button--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-pay-button--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-pay-button--loading:after{content:"";display:block;width:100%;height:100%;background:#2f2f2f;position:absolute;left:0;top:0}.choco-widget-pay-button:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button--hidden{display:none}.choco-widget-google-pay-amount{min-width:124px;height:46px;display:flex;flex-direction:column;justify-content:center;text-align:right;width:100%}.choco-widget-google-pay-amount--hidden{display:none}.choco-widget-google-pay-amount-label{font-size:20px;font-weight:700;line-height:24px;color:#1d1d1d}.choco-widget-google-pay-amount-value{font-size:14px;line-height:18px;color:#1d1d1d;white-space:nowrap;opacity:.5}.choco-widget-google-pay-amount-value--hidden{display:none}.choco-widget-google-pay-amount-value-number{text-decoration:line-through}.choco-widget-google-pay-row--hidden{display:none}.choco-widget-wallet-blocked{pointer-events:none;opacity:.6}.choco-widget-google-pay-button-slot{width:100%}.choco-widget-google-pay-button-slot>button{width:100%!important;height:52px;min-height:52px;border-radius:12px!important;font-size:16px!important}.choco-widget-apple-pay-row--hidden{display:none}.choco-widget-apple-pay-button-slot{width:100%}.choco-widget-apple-pay-button-wrapper{position:relative;width:100%;height:52px}.choco-widget-apple-pay-button{width:100%;height:52px;min-height:52px;border:0;border-radius:12px;cursor:pointer;background:#000;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.choco-widget-apple-pay-button--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:52px;opacity:.01;z-index:2}.choco-widget-apple-pay-button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border-radius:12px;pointer-events:none;z-index:1}.choco-widget-apple-pay-button-text{font-size:16px;line-height:20px;font-weight:600;color:#fff}.choco-widget-apple-pay-button-icon{display:inline-flex;align-items:center;justify-content:center}.choco-widget-payment-sheet{position:absolute;bottom:0;left:0;right:0;top:0;background:#00000080;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease}.choco-widget-payment-sheet--open{opacity:1;pointer-events:auto}.choco-widget-payment-sheet--open .choco-widget-sheet-content{transform:translateY(0)}.choco-widget-sheet-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:8px 16px 16px;position:relative;will-change:transform}.choco-widget-sheet-content--dragging{transition:none}.choco-widget-sheet-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}.choco-widget-sheet-grabber:active{cursor:grabbing}.choco-widget-sheet-grabber:before{content:"";width:72px;height:6px;background:#e5e5e7;border-radius:42px}.choco-widget-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.choco-widget-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative}.choco-widget-sheet-title{font-size:20px;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.choco-widget-payment-sheet--edit .choco-widget-sheet-title{padding-left:30px}.choco-widget-payment-sheet--no-cards .choco-widget-sheet-title{padding-right:30px}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-title{padding:0}.choco-widget-sheet-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.choco-widget-sheet-button svg{color:#000}.choco-widget-sheet-delete-confirm{display:none;padding-top:16px}.choco-widget-payment-sheet--delete-confirm .choco-widget-payment-methods,.choco-widget-payment-sheet--delete-confirm .choco-widget-cashback-section{display:none!important}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-delete-confirm{display:block}.choco-widget-sheet-delete-confirm-text{margin:0 0 24px;font-size:16px;line-height:1.4;color:#242424;text-align:center}.choco-widget-sheet-delete-confirm-actions{display:flex;gap:12px}.choco-widget-delete-confirm-btn{flex:1;padding:14px 20px;font-size:16px;font-weight:600;font-family:inherit;border-radius:16px;border:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}.choco-widget-delete-confirm-btn--cancel{background:#f1f2f7;color:#242424}.choco-widget-delete-confirm-btn--delete{background:var(--choco-widget-accent-color);color:#fff}.choco-widget-delete-confirm-btn--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-sheet-delete-confirm-actions.choco-widget-sheet-delete-confirm-actions--loading .choco-widget-delete-confirm-btn{pointer-events:none;cursor:not-allowed;opacity:.7}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:after{content:"";display:block;width:100%;height:100%;background:#cc3434;position:absolute;left:0;top:0;border-radius:16px}.choco-widget-add-card-sheet{align-items:stretch}.choco-widget-add-card-sheet .choco-widget-add-card-sheet-content{max-height:none;height:100%;display:flex;flex-direction:column;transform:none;border-radius:0;padding:0}.choco-widget-add-card-sheet--open .choco-widget-add-card-sheet-content{transform:none}.choco-widget-add-card-sheet .choco-widget-sheet-header{flex-shrink:0;margin-bottom:0;padding:12px 0;border-bottom:1px solid #eee}.choco-widget-add-card-iframe-wrapper{flex:1;min-height:0;background:#fff}.choco-widget-add-card-iframe{width:100%;height:100%;border:none;display:block}.choco-widget-balance-section{margin-bottom:12px;padding:12px 8px;background:#f1f2f7;border-radius:12px;transition:transform .22s ease,opacity .2s ease}.choco-widget-balance-section.disabled{opacity:.5;pointer-events:none}.choco-widget-balance-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:4px 0}.choco-widget-balance-toggle:last-child{margin-bottom:0}.choco-widget-balance-info{display:flex;align-items:center;gap:12px}.choco-widget-balance-text{display:flex;flex-direction:column}.choco-widget-balance-label-wrapper{display:flex;align-items:center;gap:8px}.choco-widget-balance-label{font-size:16px;font-weight:500}.choco-widget-balance-sublabel{font-size:12px;color:#767485;margin-top:2px}.choco-widget-balance-icon{width:22px;height:22px}.choco-widget-balance-amount{font-size:16px;font-weight:500;color:#000}.choco-widget-toggle{position:relative;display:inline-block;width:42px;height:26px}.choco-widget-toggle input{opacity:0;width:0;height:0}.choco-widget-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d4d3df;transition:.3s;border-radius:28px}.choco-widget-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:0;top:0;margin:auto;background-color:#fff;transition:.3s;border-radius:50%}.choco-widget-toggle input:checked+.choco-widget-toggle-slider{background-color:var(--choco-widget-accent-color)}.choco-widget-toggle input:checked+.choco-widget-toggle-slider:before{transform:translate(16px)}.choco-widget-cashback-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.choco-widget-cashback-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5ee;border-radius:12px;font-size:14px;color:#ff6b00}.choco-widget-cashback-icon{font-size:20px}.choco-widget-cashback-text strong{font-weight:700}.choco-widget-payment-methods{display:flex;flex-direction:column;gap:8px}.choco-widget-method-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:all .2s ease;border:2px solid transparent;width:100%;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit}.choco-widget-method-item-icon-wrapper{width:37px}.choco-widget-method-item-icon-wrapper svg{display:block;width:100%;max-width:29px;height:29px;margin:0 auto}.choco-widget-method-item-icon-wrapper.google_pay{outline:1px solid #3C4043;padding:3px 5px 2px;border-radius:15px}.choco-widget-method-item-icon-wrapper.google_pay svg{height:15px;max-width:29px}.choco-widget-method-item-label{flex:1;font-size:16px;color:#000}.choco-widget-method-item-check,.choco-widget-method-item-trash-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px;margin:-6px 0 -6px 6px;background:none;border:none;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.choco-widget-method-item-trash-btn:hover{background:#cc343414}.choco-widget-method-item-trash{flex-shrink:0;width:20px;height:20px}.choco-widget-bottom-bar-prerender{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1);height:78px}.choco-widget-payment-loading{width:30px;height:30px;animation:choco-spin 1s linear infinite;border:3px solid var(--choco-widget-accent-color);border-top:3px solid transparent;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}@keyframes choco-spin{to{transform:rotate(360deg)}}@keyframes choco-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.choco-widget-bottom-bar{padding:16px 16px 20px}.choco-widget-sheet-content{max-height:80vh}.choco-widget-sheet-title{font-size:18px}.choco-widget-method-item-label{font-size:17px}}@media(max-width:768px)and (min-height:812px){.choco-widget-bottom-bar,.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}}@supports (padding: env(safe-area-inset-bottom)){.choco-widget-bottom-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('.choco-one-click-widget{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999999;font-family:Sirius,sans-serif;--choco-widget-accent-color: #2F2F2F;pointer-events:none}.choco-one-click-widget--embedded{position:static;top:auto;left:auto;right:auto;bottom:auto;z-index:auto;pointer-events:auto;min-height:1px}.choco-one-click-widget--embedded .choco-widget-bottom-bar{position:static;box-shadow:none;border-radius:24px}.choco-one-click-widget--embedded .choco-widget-payment-sheet{position:fixed}.choco-one-click-widget *{box-sizing:border-box;font-family:Sirius,sans-serif}.choco-one-click-widget .choco-widget-bottom-bar{opacity:0;transform:translateY(16px)}.choco-one-click-widget .choco-widget-balance-section,.choco-one-click-widget .choco-widget-payment-info{opacity:0;transform:translateY(8px)}.choco-one-click-widget--visible .choco-widget-bottom-bar,.choco-one-click-widget--visible .choco-widget-balance-section,.choco-one-click-widget--visible .choco-widget-payment-info{opacity:1;transform:translateY(0)}.choco-widget-bottom-bar{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;padding:16px;box-shadow:0 -4px 20px #0000001a;transition:transform .24s cubic-bezier(.4,0,.2,1),opacity .2s ease;pointer-events:auto}.choco-widget-payment-info{display:flex;flex-direction:column;gap:12px;align-items:stretch;transition:transform .22s ease,opacity .2s ease}.choco-widget-payment-info-main{display:flex;gap:12px;align-items:center}.choco-widget-payment-method{gap:12px;background:#f1f2f7;border-radius:16px;padding:5px 8px;cursor:pointer;transition:background .2s ease;border:none;font-family:inherit;text-align:left;width:100%;position:relative;height:46px}.choco-widget-payment-method:disabled{cursor:not-allowed;pointer-events:none;opacity:.5}.choco-widget-payment-method.google_pay,.choco-widget-payment-method.apple_pay{max-width:140px}.choco-widget-method-icon-placeholder{font-size:24px}.choco-widget-method-details{flex:1}.choco-widget-method-label{font-size:14px;color:#000}.choco-widget-method-value{font-size:14px;font-weight:600;color:#000;display:flex;align-items:center;gap:4px}.choco-widget-method-icon-wrapper svg{display:block;width:100%;max-width:29px;max-height:18px;margin-top:2px}.choco-widget-method-icon-wrapper:empty{display:none}.choco-widget-method-icon-wrapper.google_pay svg{height:17px;max-width:35px;border:1px solid #3C4043;padding:3px 4px 2px;border-radius:8px}.choco-widget-method-name{font-size:14px;font-weight:700}.choco-widget-method-name.google_pay,.choco-widget-method-name.apple_pay{display:none}.choco-widget-method-chevron{position:absolute;right:5px;top:0;bottom:0;margin:auto 0;width:24px;height:24px}.choco-widget-pay-button{background:var(--choco-widget-accent-color);color:#fff;border:none;border-radius:16px;height:46px;padding:0 16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;width:100%;overflow:hidden}.choco-widget-pay-button--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-pay-button--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-pay-button--loading:after{content:"";display:block;width:100%;height:100%;background:#2f2f2f;position:absolute;left:0;top:0}.choco-widget-pay-button:disabled{opacity:.5;pointer-events:none}.choco-widget-pay-button--hidden{display:none}.choco-widget-google-pay-amount{min-width:124px;height:46px;display:flex;flex-direction:column;justify-content:center;text-align:right;width:100%}.choco-widget-google-pay-amount--hidden{display:none}.choco-widget-google-pay-amount-label{font-size:20px;font-weight:700;line-height:24px;color:#1d1d1d}.choco-widget-google-pay-amount-value{font-size:14px;line-height:18px;color:#1d1d1d;white-space:nowrap;opacity:.5}.choco-widget-google-pay-amount-value--hidden{display:none}.choco-widget-google-pay-amount-value-number{text-decoration:line-through}.choco-widget-google-pay-row--hidden{display:none}.choco-widget-wallet-blocked{pointer-events:none;opacity:.6}.choco-widget-google-pay-button-slot{width:100%}.choco-widget-google-pay-button-slot>button{width:100%!important;height:52px;min-height:52px;border-radius:12px!important;font-size:16px!important}.choco-widget-apple-pay-row--hidden{display:none}.choco-widget-apple-pay-button-slot{width:100%}.choco-widget-apple-pay-button-wrapper{position:relative;width:100%;height:52px}.choco-widget-apple-pay-button{width:100%;height:52px;min-height:52px;border:0;border-radius:12px;cursor:pointer;background:#000;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.choco-widget-apple-pay-button--native{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:52px;opacity:.01;z-index:2}.choco-widget-apple-pay-button-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#000;border-radius:12px;pointer-events:none;z-index:1}.choco-widget-apple-pay-button-text{font-size:16px;line-height:20px;font-weight:600;color:#fff}.choco-widget-apple-pay-button-icon{display:inline-flex;align-items:center;justify-content:center}.choco-widget-payment-sheet{position:absolute;bottom:0;left:0;right:0;top:0;background:#00000080;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease}.choco-widget-payment-sheet--open{opacity:1;pointer-events:auto}.choco-widget-payment-sheet--open .choco-widget-sheet-content{transform:translateY(0)}.choco-widget-sheet-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-height:70vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:8px 16px 16px;position:relative;will-change:transform}.choco-widget-sheet-content--dragging{transition:none}.choco-widget-sheet-grabber{flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;margin-bottom:8px;-webkit-user-select:none;user-select:none}.choco-widget-sheet-grabber:active{cursor:grabbing}.choco-widget-sheet-grabber:before{content:"";width:72px;height:6px;background:#e5e5e7;border-radius:42px}.choco-widget-sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.choco-widget-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;position:relative}.choco-widget-sheet-title{font-size:20px;font-weight:700;color:#000;margin:0;flex:1;text-align:center}.choco-widget-payment-sheet--edit .choco-widget-sheet-title{padding-left:30px}.choco-widget-payment-sheet--no-cards .choco-widget-sheet-title{padding-right:30px}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-title{padding:0}.choco-widget-sheet-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.choco-widget-sheet-button svg{color:#000}.choco-widget-sheet-delete-confirm{display:none;padding-top:16px}.choco-widget-payment-sheet--delete-confirm .choco-widget-payment-methods,.choco-widget-payment-sheet--delete-confirm .choco-widget-cashback-section{display:none!important}.choco-widget-payment-sheet--delete-confirm .choco-widget-sheet-delete-confirm{display:block}.choco-widget-sheet-delete-confirm-text{margin:0 0 24px;font-size:16px;line-height:1.4;color:#242424;text-align:center}.choco-widget-sheet-delete-confirm-actions{display:flex;gap:12px}.choco-widget-delete-confirm-btn{flex:1;padding:14px 20px;font-size:16px;font-weight:600;font-family:inherit;border-radius:16px;border:none;cursor:pointer;transition:background .2s ease,opacity .2s ease}.choco-widget-delete-confirm-btn--cancel{background:#f1f2f7;color:#242424}.choco-widget-delete-confirm-btn--delete{background:var(--choco-widget-accent-color);color:#fff}.choco-widget-delete-confirm-btn--loading{cursor:not-allowed;pointer-events:none;position:relative}.choco-widget-sheet-delete-confirm-actions.choco-widget-sheet-delete-confirm-actions--loading .choco-widget-delete-confirm-btn{pointer-events:none;cursor:not-allowed;opacity:.7}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:before{content:"";display:block;width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:choco-spin 1s linear infinite;position:absolute;left:0;right:0;margin:0 auto;z-index:2}.choco-widget-delete-confirm-btn--delete.choco-widget-delete-confirm-btn--loading:after{content:"";display:block;width:100%;height:100%;background:#cc3434;position:absolute;left:0;top:0;border-radius:16px}.choco-widget-add-card-sheet{align-items:stretch}.choco-widget-add-card-sheet .choco-widget-add-card-sheet-content{max-height:none;height:100%;display:flex;flex-direction:column;transform:none;border-radius:0;padding:0}.choco-widget-add-card-sheet--open .choco-widget-add-card-sheet-content{transform:none}.choco-widget-add-card-sheet .choco-widget-sheet-header{flex-shrink:0;margin-bottom:0;padding:12px 0;border-bottom:1px solid #eee}.choco-widget-add-card-iframe-wrapper{flex:1;min-height:0;background:#fff}.choco-widget-add-card-iframe{width:100%;height:100%;border:none;display:block}.choco-widget-balance-section{margin-bottom:12px;padding:12px 8px;background:#f1f2f7;border-radius:12px;transition:transform .22s ease,opacity .2s ease}.choco-widget-balance-section.disabled{opacity:.5;pointer-events:none}.choco-widget-balance-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:4px 0}.choco-widget-balance-toggle:last-child{margin-bottom:0}.choco-widget-balance-info{display:flex;align-items:center;gap:12px}.choco-widget-balance-text{display:flex;flex-direction:column}.choco-widget-balance-label-wrapper{display:flex;align-items:center;gap:8px}.choco-widget-balance-label{font-size:16px;font-weight:500}.choco-widget-balance-sublabel{font-size:12px;color:#767485;margin-top:2px}.choco-widget-balance-icon{width:22px;height:22px}.choco-widget-balance-amount{font-size:16px;font-weight:500;color:#000}.choco-widget-toggle{position:relative;display:inline-block;width:42px;height:26px}.choco-widget-toggle input{opacity:0;width:0;height:0}.choco-widget-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#d4d3df;transition:.3s;border-radius:28px}.choco-widget-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:0;top:0;margin:auto;background-color:#fff;transition:.3s;border-radius:50%}.choco-widget-toggle input:checked+.choco-widget-toggle-slider{background-color:var(--choco-widget-accent-color)}.choco-widget-toggle input:checked+.choco-widget-toggle-slider:before{transform:translate(16px)}.choco-widget-cashback-section{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.choco-widget-cashback-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5ee;border-radius:12px;font-size:14px;color:#ff6b00}.choco-widget-cashback-icon{font-size:20px}.choco-widget-cashback-text strong{font-weight:700}.choco-widget-payment-methods{display:flex;flex-direction:column;gap:8px}.choco-widget-method-item{display:flex;align-items:center;gap:12px;padding:10px 0;cursor:pointer;transition:all .2s ease;border:2px solid transparent;width:100%;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit}.choco-widget-method-item-icon-wrapper{width:37px}.choco-widget-method-item-icon-wrapper svg{display:block;width:100%;max-width:29px;height:29px;margin:0 auto}.choco-widget-method-item-icon-wrapper.google_pay{outline:1px solid #3C4043;padding:3px 5px 2px;border-radius:15px}.choco-widget-method-item-icon-wrapper.google_pay svg{height:15px;max-width:29px}.choco-widget-method-item-label{flex:1;font-size:16px;color:#000}.choco-widget-method-item-check,.choco-widget-method-item-trash-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:6px;margin:-6px 0 -6px 6px;background:none;border:none;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.choco-widget-method-item-check{height:30px;width:30px}.choco-widget-method-item-trash-btn:hover{background:#cc343414}.choco-widget-method-item-trash{flex-shrink:0;width:20px;height:20px}.choco-widget-bottom-bar-prerender{position:absolute;bottom:0;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 20px #0000001a;transition:transform .3s cubic-bezier(.4,0,.2,1);height:78px}.choco-widget-payment-loading{width:30px;height:30px;animation:choco-spin 1s linear infinite;border:3px solid var(--choco-widget-accent-color);border-top:3px solid transparent;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}@keyframes choco-spin{to{transform:rotate(360deg)}}@keyframes choco-fade-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:768px){.choco-widget-bottom-bar{padding:16px 16px 20px}.choco-widget-sheet-content{max-height:80vh}.choco-widget-sheet-title{font-size:18px}.choco-widget-method-item-label{font-size:17px}}@media(max-width:768px)and (min-height:812px){.choco-widget-bottom-bar,.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom,20px))}}@supports (padding: env(safe-area-inset-bottom)){.choco-widget-bottom-bar{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.choco-widget-sheet-content{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
2
  (function(ae,ce){typeof exports=="object"&&typeof module<"u"?module.exports=ce():typeof define=="function"&&define.amd?define(ce):(ae=typeof globalThis<"u"?globalThis:ae||self,ae.ChocoOneClickWidget=ce())})(this,(function(){"use strict";const ae={ru:{paymentMethod:"Способ оплаты",selectMethod:"Выберите метод",pay:"Оплатить",paymentSuccess:"Оплата прошла успешно!",paymentError:"Ошибка оплаты",paymentMethods:"Способ оплаты",newCard:"Оплата новой картой",balance:"Списать баланс",bonus:"Списать бонусы",bonusText:"Можно оплатить до {amount}%",cashback:"Кешбэк",willGet:"Получите",total:"Итого",instead:"вместо",addCard:"Добавление карты",editCards:"Редактировать карты",cardDeleted:"Карта успешно удалена",confirmDeleteCard:"Вы действительно хотите удалить карту?",cancel:"Отмена",delete:"Удалить",back:"Назад",errorMissingTrackClient:"Укажите trackId и clientId",errorNoServerResponseRetry:"Нет ответа от сервера, попробуйте заново",errorNoServerResponse:"Нет ответа от сервера",errorPaymentMethodNotSelected:"Метод оплаты не выбран",errorApplePayUnsupported:"Apple Pay не поддерживается в этом браузере",errorApplePayInit:"Ошибка инициализации Apple Pay",errorApplePayPayment:"Ошибка оплаты через Apple Pay",errorGooglePayUnsupported:"Google Pay не поддерживается в этом браузере",errorGooglePaySettingsUnavailable:"Настройки Google Pay недоступны",errorGooglePayPayment:"Ошибка оплаты через Google Pay",errorActionUrlMissing:"action_url отсутствует в событии order.action_required",errorWidgetInit:"Ошибка инициализации виджета",errorPaymentProcess:"Ошибка оплаты"},en:{paymentMethod:"Payment method",selectMethod:"Select method",pay:"Pay",paymentSuccess:"Payment successful!",paymentError:"Payment error",paymentMethods:"Payment method",newCard:"Pay with new card",balance:"Use balance",bonus:"Use bonuses",bonusText:"You can pay up to {amount}%",cashback:"Cashback",willGet:"You will get",total:"Total",instead:"instead",addCard:"Add card",editCards:"Edit cards",cardDeleted:"Card successfully deleted",confirmDeleteCard:"Are you sure you want to delete this card?",cancel:"Cancel",delete:"Delete",back:"Back",errorMissingTrackClient:"Provide trackId and clientId",errorNoServerResponseRetry:"No response from server, please try again",errorNoServerResponse:"No response from server",errorPaymentMethodNotSelected:"Payment method is not selected",errorApplePayUnsupported:"Apple Pay is not supported in this browser",errorApplePayInit:"Apple Pay initialization error",errorApplePayPayment:"Apple Pay payment error",errorGooglePayUnsupported:"Google Pay is not supported in this browser",errorGooglePaySettingsUnavailable:"Google Pay settings are unavailable",errorGooglePayPayment:"Google Pay payment error",errorActionUrlMissing:"action_url is missing in order.action_required event",errorWidgetInit:"Widget initialization error",errorPaymentProcess:"Payment error"},kk:{paymentMethod:"Төлем әдісі",selectMethod:"Әдісті таңдаңыз",pay:"Төлеу",paymentSuccess:"Төлем сәтті өтті!",paymentError:"Төлем қатесі",paymentMethods:"Төлем әдісі",newCard:"Жаңа картамен төлеу",balance:"Балансты пайдалану",bonus:"Бонусдарды пайдалану",bonusText:"{amount}%-ге дейін төлеуге болады",cashback:"Кэшбэк",willGet:"Аласыз",total:"Барлығы",instead:"орнына",addCard:"Картаны қосу",editCards:"Карталарды өңдеу",cardDeleted:"Карта жойылды",confirmDeleteCard:"Картаны жойғыңыз келетініне сенімдісіз бе?",cancel:"Болдырмау",delete:"Жою",back:"Артқа",errorMissingTrackClient:"trackId пен clientId көрсетіңіз",errorNoServerResponseRetry:"Серверден жауап жоқ, қайтадан көріңіз",errorNoServerResponse:"Серверден жауап жоқ",errorPaymentMethodNotSelected:"Төлем әдісі таңдалмаған",errorApplePayUnsupported:"Бұл браузерде Apple Pay қолдау көрсетілмейді",errorApplePayInit:"Apple Pay инициализация қатесі",errorApplePayPayment:"Apple Pay арқылы төлем қатесі",errorGooglePayUnsupported:"Бұл браузерде Google Pay қолдау көрсетілмейді",errorGooglePaySettingsUnavailable:"Google Pay баптаулары қолжетімсіз",errorGooglePayPayment:"Google Pay арқылы төлем қатесі",errorActionUrlMissing:"order.action_required оқиғасында action_url жоқ",errorWidgetInit:"Виджетті инициализациялау қатесі",errorPaymentProcess:"Төлем қатесі"},ka:{paymentMethod:"გადახდის მეთოდი",selectMethod:"აირჩიეთ მეთოდი",pay:"გადახდა",paymentSuccess:"გადახდა წარმატებით შესრულდა!",paymentError:"გადახდის შეცდომა",paymentMethods:"გადახდის მეთოდი",newCard:"ახალი ბარათით გადახდა",balance:"ბალანსის გამოყენება",bonus:"ბონუსების გამოყენება",bonusText:"{amount}%-ზე გადახდა შესაძლებელია",cashback:"ქეშბექი",willGet:"მიიღებთ",total:"ჯამი",instead:"ნაცვლად",addCard:"ბარათის დამატება",editCards:"ბარათების რედაქტირება",cardDeleted:"ბარათი წაშლილია",confirmDeleteCard:"დარწმუნებული ხართ, რომ გსურთ ამ ბარათის წაშლა?",cancel:"გაუქმება",delete:"წაშლა",back:"უკან",errorMissingTrackClient:"მიუთითეთ trackId და clientId",errorNoServerResponseRetry:"სერვერის პასუხი არ არის, სცადეთ თავიდან",errorNoServerResponse:"სერვერის პასუხი არ არის",errorPaymentMethodNotSelected:"გადახდის მეთოდი არ არის არჩეული",errorApplePayUnsupported:"ამ ბრაუზერში Apple Pay არ არის მხარდაჭერილი",errorApplePayInit:"Apple Pay-ის ინიციალიზაციის შეცდომა",errorApplePayPayment:"Apple Pay-ით გადახდის შეცდომა",errorGooglePayUnsupported:"ამ ბრაუზერში Google Pay არ არის მხარდაჭერილი",errorGooglePaySettingsUnavailable:"Google Pay-ის პარამეტრები მიუწვდომელია",errorGooglePayPayment:"Google Pay-ით გადახდის შეცდომა",errorActionUrlMissing:"order.action_required მოვლენაში action_url არ არის",errorWidgetInit:"ვიჯეტის ინიციალიზაციის შეცდომა",errorPaymentProcess:"გადახდის შეცდომა"}},ce={KZT:"₸",GEL:"₾"};function yt(e){return e==="production"?"https://api-proxy.choco.kz":"https://api-proxy.chocodev.kz"}let de;const mt=new Uint8Array(16);function bt(){if(!de&&(de=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!de))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return de(mt)}const X=[];for(let e=0;e<256;++e)X.push((e+256).toString(16).slice(1));function Et(e,n=0){return X[e[n+0]]+X[e[n+1]]+X[e[n+2]]+X[e[n+3]]+"-"+X[e[n+4]]+X[e[n+5]]+"-"+X[e[n+6]]+X[e[n+7]]+"-"+X[e[n+8]]+X[e[n+9]]+"-"+X[e[n+10]]+X[e[n+11]]+X[e[n+12]]+X[e[n+13]]+X[e[n+14]]+X[e[n+15]]}const He={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function he(e,n,o){if(He.randomUUID&&!e)return He.randomUUID();e=e||{};const s=e.random||(e.rng||bt)();return s[6]=s[6]&15|64,s[8]=s[8]&63|128,Et(s)}const xe="choco_device_id";function Y(e,n="ru",o="KZT"){const s=Number(e),i=n==="ru"?"ru-RU":"en-US";return`${s.toLocaleString(i)} ${ce[o]}`}function Fe(){let e=localStorage.getItem(xe);return e||(e=he(),localStorage.setItem(xe,e)),e}function fe(){if(typeof window>"u")return!1;const e=window.safari!==void 0,n=window.navigator.userAgent||"",o=!!n.match(/iPad/i)||!!n.match(/iPhone/i),s=!!n.match(/WebKit/i),i=o&&s&&!n.match(/CriOS/i);return e||i}function Je(){if(typeof navigator>"u")return 0;const e=navigator.userAgent||"",n=e.indexOf("OS");return(e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1)&&n>-1?Number(e.substring(n+3,n+6).replace("_",".")):0}function ke(){var u;if(typeof navigator>"u")return"unknown";const e=(navigator.userAgent||navigator.vendor||"").toLowerCase(),n=(navigator.platform||"").toLowerCase(),o=(((u=navigator.userAgentData)==null?void 0:u.platform)||"").toLowerCase(),s=`${e} ${n} ${o}`;return/iphone|ipad|ipod/.test(s)||s.includes("macintosh")&&typeof document<"u"&&"ontouchend"in document?"ios":s.includes("android")?"android":s.includes("windows")?"windows":s.includes("mac")?"macos":"other"}function ge(){if(typeof navigator>"u")return!1;const e=navigator.userAgentData;return e!=null&&e.platform&&["iOS","iPadOS"].includes(e.platform)||ke()==="ios"?!0:(navigator.userAgent||"").includes("Macintosh")&&typeof document<"u"&&"ontouchend"in document}function pe(e){if(typeof sessionStorage>"u")return!1;const n=e==="apple_pay"?"disableApplePay":e==="google_pay"?"disableGooglePay":null;return n?sessionStorage.getItem(n)==="true":!1}function vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ce={exports:{}},Bt=Ce.exports,qe;function It(){return qe||(qe=1,(function(e,n){(function(s,i){e.exports=i()})(Bt,function(){return(function(){var o={382:(function(c,d,g){Object.defineProperty(d,"__esModule",{value:!0}),d.Centrifuge=void 0;var C=Q(g(187)),S=Q(g(471)),T=g(147),v=g(853);function Q(f){return f&&f.__esModule?f:{default:f}}function _(f){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_=function(p){return typeof p}:_=function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},_(f)}function m(f,h){if(!(f instanceof h))throw new TypeError("Cannot call a class as a function")}function P(f,h){for(var p=0;p<h.length;p++){var A=h[p];A.enumerable=A.enumerable||!1,A.configurable=!0,"value"in A&&(A.writable=!0),Object.defineProperty(f,A.key,A)}}function k(f,h,p){return h&&P(f.prototype,h),f}function w(f,h){if(typeof h!="function"&&h!==null)throw new TypeError("Super expression must either be null or a function");f.prototype=Object.create(h&&h.prototype,{constructor:{value:f,writable:!0,configurable:!0}}),h&&L(f,h)}function L(f,h){return L=Object.setPrototypeOf||function(A,t){return A.__proto__=t,A},L(f,h)}function O(f){var h=J();return function(){var A=x(f),t;if(h){var r=x(this).constructor;t=Reflect.construct(A,arguments,r)}else t=A.apply(this,arguments);return F(this,t)}}function F(f,h){if(h&&(_(h)==="object"||typeof h=="function"))return h;if(h!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return M(f)}function M(f){if(f===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f}function J(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function x(f){return x=Object.setPrototypeOf?Object.getPrototypeOf:function(p){return p.__proto__||Object.getPrototypeOf(p)},x(f)}var q="timeout",N="connection closed",b=(function(f){w(p,f);var h=O(p);function p(A,t){var r;return m(this,p),r=h.call(this),r._url=A,r._websocket=null,r._sockjs=null,r._isSockjs=!1,r._xmlhttprequest=null,r._binary=!1,r._methodType=null,r._pushType=null,r._encoder=null,r._decoder=null,r._status="disconnected",r._reconnect=!0,r._reconnecting=!1,r._transport=null,r._transportName=null,r._transportClosed=!0,r._messageId=0,r._clientID=null,r._refreshRequired=!1,r._subs={},r._serverSubs={},r._lastSeq={},r._lastGen={},r._lastOffset={},r._lastEpoch={},r._messages=[],r._isBatching=!1,r._isSubscribeBatching=!1,r._privateChannels={},r._numRefreshFailed=0,r._refreshTimeout=null,r._pingTimeout=null,r._pongTimeout=null,r._subRefreshTimeouts={},r._retries=0,r._callbacks={},r._latency=null,r._latencyStart=null,r._connectData=null,r._token=null,r._xhrID=0,r._xhrs={},r._dispatchPromise=Promise.resolve(),r._protocol="",r._config={protocol:"",debug:!1,name:"js",version:"",websocket:null,sockjs:null,xmlhttprequest:null,minRetry:1e3,maxRetry:2e4,timeout:5e3,ping:!0,pingInterval:25e3,pongWaitTimeout:5e3,privateChannelPrefix:"$",onTransportClose:null,sockjsServer:null,sockjsTimeout:null,sockjsTransports:["websocket","xdr-streaming","xhr-streaming","eventsource","iframe-eventsource","iframe-htmlfile","xdr-polling","xhr-polling","iframe-xhr-polling","jsonp-polling"],refreshEndpoint:"/centrifuge/refresh",refreshHeaders:{},refreshParams:{},refreshData:{},refreshAttempts:null,refreshInterval:1e3,onRefreshFailed:null,onRefresh:null,subscribeEndpoint:"/centrifuge/subscribe",subscribeHeaders:{},subscribeParams:{},subRefreshInterval:1e3,onPrivateSubscribe:null,disableWithCredentials:!1},r._configure(t),r}return k(p,[{key:"setToken",value:function(t){this._token=t}},{key:"setConnectData",value:function(t){this._connectData=t}},{key:"setRefreshHeaders",value:function(t){this._config.refreshHeaders=t}},{key:"setRefreshParams",value:function(t){this._config.refreshParams=t}},{key:"setRefreshData",value:function(t){this._config.refreshData=t}},{key:"setSubscribeHeaders",value:function(t){this._config.subscribeHeaders=t}},{key:"setSubscribeParams",value:function(t){this._config.subscribeParams=t}},{key:"_ajax",value:function(t,r,a,l,y){var E=this,I="";this._debug("sending AJAX request to",t,"with data",JSON.stringify(l));var B;this._xmlhttprequest!==null?B=new this._xmlhttprequest:B=g.g.XMLHttpRequest?new g.g.XMLHttpRequest:new g.g.ActiveXObject("Microsoft.XMLHTTP");for(var R in r)r.hasOwnProperty(R)&&(I.length>0&&(I+="&"),I+=encodeURIComponent(R)+"="+encodeURIComponent(r[R]));I.length>0&&(I="?"+I),B.open("POST",t+I,!0),"withCredentials"in B&&(B.withCredentials=!this._config.disableWithCredentials),B.setRequestHeader("X-Requested-With","XMLHttpRequest"),B.setRequestHeader("Content-Type","application/json");for(var U in a)a.hasOwnProperty(U)&&B.setRequestHeader(U,a[U]);return B.onreadystatechange=function(){if(B.readyState===4)if(B.status===200){var H,D=!1;try{H=JSON.parse(B.responseText),D=!0}catch{y({error:"Invalid JSON. Data was: "+B.responseText,status:200,data:null})}D&&y({data:H,status:200})}else E._log("wrong status code in AJAX response",B.status),y({status:B.status,data:null})},setTimeout(function(){return B.send(JSON.stringify(l))},20),B}},{key:"_log",value:function(){(0,v.log)("info",arguments)}},{key:"_debug",value:function(){this._config.debug===!0&&(0,v.log)("debug",arguments)}},{key:"_websocketSupported",value:function(){return this._config.websocket!==null?!0:!(typeof WebSocket!="function"&&(typeof WebSocket>"u"?"undefined":_(WebSocket))!=="object")}},{key:"_setFormat",value:function(t){if(!this._formatOverride(t)){if(t==="protobuf")throw new Error("not implemented by JSON only Centrifuge client – use client with Protobuf");this._binary=!1,this._methodType=T.JsonMethodType,this._pushType=T.JsonPushType,this._encoder=new T.JsonEncoder,this._decoder=new T.JsonDecoder}}},{key:"_formatOverride",value:function(t){return!1}},{key:"_configure",value:function(t){if(!("Promise"in g.g))throw new Error("Promise polyfill required");if((0,v.extend)(this._config,t||{}),this._debug("centrifuge config",this._config),!this._url)throw new Error("url required");var r=(0,v.startsWith)(this._url,"ws")&&this._url.indexOf("format=protobuf")>-1;if(r||this._config.protocol==="protobuf")this._setFormat("protobuf"),this._protocol="protobuf";else{if(this._config.protocol!==""&&this._config.protocol!=="json")throw new Error("unsupported protocol "+this._config.protocol);this._setFormat("json")}if((0,v.startsWith)(this._url,"http"))if(this._debug("client will try to connect to SockJS endpoint"),this._config.sockjs!==null)this._debug("SockJS explicitly provided in options"),this._sockjs=this._config.sockjs;else{if(typeof g.g.SockJS>"u")throw new Error("SockJS not found, use ws:// in url or include SockJS");this._debug("use globally defined SockJS"),this._sockjs=g.g.SockJS}else this._debug("client will connect to websocket endpoint");this._xmlhttprequest=this._config.xmlhttprequest}},{key:"_setStatus",value:function(t){this._status!==t&&(this._debug("Status",this._status,"->",t),this._status=t)}},{key:"_isDisconnected",value:function(){return this._status==="disconnected"}},{key:"_isConnecting",value:function(){return this._status==="connecting"}},{key:"_isConnected",value:function(){return this._status==="connected"}},{key:"_nextMessageId",value:function(){return++this._messageId}},{key:"_resetRetry",value:function(){this._debug("reset retries count to 0"),this._retries=0}},{key:"_getRetryInterval",value:function(){var t=(0,v.backoff)(this._retries,this._config.minRetry,this._config.maxRetry);return this._retries+=1,t}},{key:"_abortInflightXHRs",value:function(){for(var t in this._xhrs){try{this._xhrs[t].abort()}catch(r){this._debug("error aborting xhr",r)}delete this._xhrs[t]}}},{key:"_clearConnectedState",value:function(t){this._clientID=null,this._stopPing();for(var r in this._callbacks)if(this._callbacks.hasOwnProperty(r)){var a=this._callbacks[r];clearTimeout(a.timeout);var l=a.errback;if(!l)continue;l({error:this._createErrorObject("disconnected")})}this._callbacks={};for(var y in this._subs)if(this._subs.hasOwnProperty(y)){var E=this._subs[y];t?(E._isSuccess()&&(E._triggerUnsubscribe(),E._recover=!0),E._shouldResubscribe()&&E._setSubscribing()):E._setUnsubscribed()}this._abortInflightXHRs(),this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);for(var I in this._subRefreshTimeouts)this._subRefreshTimeouts.hasOwnProperty(I)&&this._subRefreshTimeouts[I]&&this._clearSubRefreshTimeout(I);this._subRefreshTimeouts={},this._reconnect||(this._subs={})}},{key:"_isTransportOpen",value:function(){return this._isSockjs?this._transport&&this._transport.transport&&this._transport.transport.readyState===this._transport.transport.OPEN:this._transport&&this._transport.readyState===this._transport.OPEN}},{key:"_transportSend",value:function(t){if(!t.length)return!0;if(!this._isTransportOpen()){for(var r in t){var a=r.id;if(a in this._callbacks){var l=this._callbacks[a];clearTimeout(this._callbacks[a].timeout),delete this._callbacks[a];var y=l.errback;y({error:this._createErrorObject(N,0)})}}return!1}return this._transport.send(this._encoder.encodeCommands(t)),!0}},{key:"_getSubProtocol",value:function(){return this._protocol?"centrifuge-"+this._protocol:""}},{key:"_setupTransport",value:function(){var t=this;if(this._isSockjs=!1,this._sockjs!==null){var r={transports:this._config.sockjsTransports};this._config.sockjsServer!==null&&(r.server=this._config.sockjsServer),this._config.sockjsTimeout!==null&&(r.timeout=this._config.sockjsTimeout),this._isSockjs=!0,this._transport=new this._sockjs(this._url,null,r)}else{if(!this._websocketSupported())throw this._debug("No Websocket support and no SockJS configured, can not connect"),new Error("No Websocket support and no SockJS configured, can not connect");this._config.websocket!==null?this._websocket=this._config.websocket:this._websocket=WebSocket;var a=this._getSubProtocol();a!==""?this._transport=new this._websocket(this._url,a):this._transport=new this._websocket(this._url),this._binary===!0&&(this._transport.binaryType="arraybuffer")}this._transport.onopen=function(){t._transportClosed=!1,t._isSockjs?(t._transportName="sockjs-"+t._transport.transport,t._transport.onheartbeat=function(){return t._restartPing()}):t._transportName="websocket";var l={};(t._token||t._connectData||t._config.name||t._config.version)&&(l.params={}),t._token&&(l.params.token=t._token),t._connectData&&(l.params.data=t._connectData),t._config.name&&(l.params.name=t._config.name),t._config.version&&(l.params.version=t._config.version);var y={},E=!1;for(var I in t._serverSubs)if(t._serverSubs.hasOwnProperty(I)&&t._serverSubs[I].recoverable){E=!0;var B={recover:!0};t._serverSubs[I].seq||t._serverSubs[I].gen?(t._serverSubs[I].seq&&(B.seq=t._serverSubs[I].seq),t._serverSubs[I].gen&&(B.gen=t._serverSubs[I].gen)):t._serverSubs[I].offset&&(B.offset=t._serverSubs[I].offset),t._serverSubs[I].epoch&&(B.epoch=t._serverSubs[I].epoch),y[I]=B}E&&(l.params||(l.params={}),l.params.subs=y),t._latencyStart=new Date,t._call(l).then(function(R){t._connectResponse(t._decoder.decodeCommandResult(t._methodType.CONNECT,R.result),E),R.next&&R.next()},function(R){var U=R.error;U.code===109&&(t._refreshRequired=!0),t._disconnect("connect error",!0),R.next&&R.next()})},this._transport.onerror=function(l){t._debug("transport level error",l)},this._transport.onclose=function(l){t._transportClosed=!0;var y=N,E=!0;if(l&&"reason"in l&&l.reason)try{var I=JSON.parse(l.reason);t._debug("reason is an advice object",I),y=I.reason,E=I.reconnect}catch{y=l.reason,t._debug("reason is a plain string",y)}if(t._config.onTransportClose!==null&&t._config.onTransportClose({event:l,reason:y,reconnect:E}),t._disconnect(y,E),t._reconnect===!0){t._reconnecting=!0;var B=t._getRetryInterval();t._debug("reconnect after "+B+" milliseconds"),setTimeout(function(){t._reconnect===!0&&(t._refreshRequired?t._refresh():t._connect())},B)}},this._transport.onmessage=function(l){t._dataReceived(l.data)}}},{key:"rpc",value:function(t){return this._rpc("",t)}},{key:"namedRPC",value:function(t,r){return this._rpc(t,r)}},{key:"_rpc",value:function(t,r){var a={data:r};t!==""&&(a.method=t);var l={method:this._methodType.RPC,params:a};return this._methodCall(l,function(y){return y})}},{key:"send",value:function(t){var r={method:this._methodType.SEND,params:{data:t}};if(!this.isConnected())return Promise.reject(this._createErrorObject(N,0));var a=this._transportSend([r]);return a?Promise.resolve({}):Promise.reject(this._createErrorObject(N,0))}},{key:"_getHistoryParams",value:function(t,r){var a={channel:t};return r!==void 0&&(r.since&&(a.since={offset:r.since.offset},r.since.epoch&&(a.since.epoch=r.since.epoch)),r.limit!==void 0&&(a.limit=r.limit),r.reverse===!0&&(a.reverse=!0)),a}},{key:"_methodCall",value:function(t,r){var a=this;return this.isConnected()?new Promise(function(l,y){a._call(t).then(function(E){l(r(a._decoder.decodeCommandResult(t.method,E.result))),E.next&&E.next()},function(E){y(E.error),E.next&&E.next()})}):Promise.reject(this._createErrorObject(N,0))}},{key:"publish",value:function(t,r){var a={method:this._methodType.PUBLISH,params:{channel:t,data:r}};return this._methodCall(a,function(){return{}})}},{key:"history",value:function(t,r){var a=this._getHistoryParams(t,r),l={method:this._methodType.HISTORY,params:a};return this._methodCall(l,function(y){return{publications:y.publications,epoch:y.epoch||"",offset:y.offset||0}})}},{key:"presence",value:function(t){var r={method:this._methodType.PRESENCE,params:{channel:t}};return this._methodCall(r,function(a){return{presence:a.presence}})}},{key:"presenceStats",value:function(t){var r={method:this._methodType.PRESENCE_STATS,params:{channel:t}};return this._methodCall(r,function(a){return{num_users:a.num_users,num_clients:a.num_clients}})}},{key:"_dataReceived",value:function(t){var r=this,a=this._decoder.decodeReplies(t);this._dispatchPromise=this._dispatchPromise.then(function(){var l;r._dispatchPromise=new Promise(function(y){l=y}),r._dispatchSynchronized(a,l)}),this._restartPing()}},{key:"_dispatchSynchronized",value:function(t,r){var a=this,l=Promise.resolve(),y=function(B){t.hasOwnProperty(B)&&(l=l.then(function(){return a._dispatchReply(t[B])}))};for(var E in t)y(E);l=l.then(function(){r()})}},{key:"_dispatchReply",value:function(t){var r,a=new Promise(function(y){r=y});if(t==null)return this._debug("dispatch: got undefined or null reply"),r(),a;var l=t.id;return l&&l>0?this._handleReply(t,r):this._handlePush(t.result,r),a}},{key:"_call",value:function(t){var r=this;return new Promise(function(a,l){var y=r._addMessage(t);r._registerCall(y,a,l)})}},{key:"_connect",value:function(){if(this.isConnected()){this._debug("connect called when already connected");return}this._status!=="connecting"&&(this._debug("start connecting"),this._setStatus("connecting"),this._clientID=null,this._reconnect=!0,this._setupTransport())}},{key:"_disconnect",value:function(t,r){var a=r||!1;if(a===!1&&(this._reconnect=!1),this._isDisconnected()){a||this._clearConnectedState(a);return}if(this._clearConnectedState(a),this._debug("disconnected:",t,r),this._setStatus("disconnected"),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),this._reconnecting===!1){for(var l in this._serverSubs)this._serverSubs.hasOwnProperty(l)&&this.emit("unsubscribe",{channel:l});this.emit("disconnect",{reason:t,reconnect:a})}a===!1&&(this._subs={},this._serverSubs={}),this._transportClosed||this._transport.close()}},{key:"_refreshFailed",value:function(){this._numRefreshFailed=0,this._isDisconnected()||this._disconnect("refresh failed",!1),this._config.onRefreshFailed!==null&&this._config.onRefreshFailed()}},{key:"_refresh",value:function(){var t=this;if(this._debug("refresh token"),this._config.refreshAttempts===0){this._debug("refresh attempts set to 0, do not send refresh request at all"),this._refreshFailed();return}this._refreshTimeout!==null&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var r=this._clientID,a=this._newXHRID(),l=function(B){if(a in t._xhrs&&delete t._xhrs[a],t._clientID===r){if(B.error||B.status!==200){if(B.error?t._debug("error refreshing connection token",B.error):t._debug("error refreshing connection token: wrong status code",B.status),t._numRefreshFailed++,t._refreshTimeout!==null&&(clearTimeout(t._refreshTimeout),t._refreshTimeout=null),t._config.refreshAttempts!==null&&t._numRefreshFailed>=t._config.refreshAttempts){t._refreshFailed();return}var R=Math.round(Math.random()*1e3*Math.max(t._numRefreshFailed,20)),U=t._config.refreshInterval+R;t._refreshTimeout=setTimeout(function(){return t._refresh()},U);return}if(t._numRefreshFailed=0,t._token=B.data.token,!t._token){t._refreshFailed();return}if(t._isDisconnected()&&t._reconnect)t._debug("token refreshed, connect from scratch"),t._connect();else{t._debug("send refreshed token");var H={method:t._methodType.REFRESH,params:{token:t._token}};t._call(H).then(function(D){t._refreshResponse(t._decoder.decodeCommandResult(t._methodType.REFRESH,D.result)),D.next&&D.next()},function(D){t._refreshError(D.error),D.next&&D.next()})}}};if(this._config.onRefresh!==null){var y={};this._config.onRefresh(y,l)}else{var E=this._ajax(this._config.refreshEndpoint,this._config.refreshParams,this._config.refreshHeaders,this._config.refreshData,l);this._xhrs[a]=E}}},{key:"_refreshError",value:function(t){var r=this;this._debug("refresh error",t),this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null);var a=this._config.refreshInterval+Math.round(Math.random()*1e3);this._refreshTimeout=setTimeout(function(){return r._refresh()},a)}},{key:"_refreshResponse",value:function(t){var r=this;this._refreshTimeout&&(clearTimeout(this._refreshTimeout),this._refreshTimeout=null),t.expires&&(this._clientID=t.client,this._refreshTimeout=setTimeout(function(){return r._refresh()},this._getTTLMilliseconds(t.ttl)))}},{key:"_newXHRID",value:function(){return this._xhrID++,this._xhrID}},{key:"_subRefresh",value:function(t){var r=this;if(this._debug("refresh subscription token for channel",t),this._subRefreshTimeouts[t]!==void 0)this._clearSubRefreshTimeout(t);else return;var a=this._clientID,l=this._newXHRID(),y=function(R){if(l in r._xhrs&&delete r._xhrs[l],!(R.error||R.status!==200||r._clientID!==a)){var U={};if(R.data.channels)for(var H in R.data.channels){var D=R.data.channels[H];D.channel&&(U[D.channel]=D.token)}var se=U[t];if(se){var Ne={method:r._methodType.SUB_REFRESH,params:{channel:t,token:se}},Pe=r._getSub(t);Pe!==null&&r._call(Ne).then(function(V){r._subRefreshResponse(t,r._decoder.decodeCommandResult(r._methodType.SUB_REFRESH,V.result)),V.next&&V.next()},function(V){r._subRefreshError(t,V.error),V.next&&V.next()})}}},E={client:this._clientID,channels:[t]};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:E},y);else{var I=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,E,y);this._xhrs[l]=I}}},{key:"_clearSubRefreshTimeout",value:function(t){this._subRefreshTimeouts[t]!==void 0&&(clearTimeout(this._subRefreshTimeouts[t]),delete this._subRefreshTimeouts[t])}},{key:"_subRefreshError",value:function(t,r){var a=this;this._debug("subscription refresh error",t,r),this._clearSubRefreshTimeout(t);var l=this._getSub(t);if(l!==null){var y=Math.round(Math.random()*1e3),E=setTimeout(function(){return a._subRefresh(t)},this._config.subRefreshInterval+y);this._subRefreshTimeouts[t]=E}}},{key:"_subRefreshResponse",value:function(t,r){var a=this;this._debug("subscription refresh success",t),this._clearSubRefreshTimeout(t);var l=this._getSub(t);if(l!==null&&r.expires===!0){var y=setTimeout(function(){return a._subRefresh(t)},this._getTTLMilliseconds(r.ttl));this._subRefreshTimeouts[t]=y}}},{key:"_subscribe",value:function(t,r){var a=this;this._debug("subscribing on",t.channel);var l=t.channel;if(l in this._subs||(this._subs[l]=t),!this.isConnected()){t._setNew();return}t._setSubscribing(r);var y={method:this._methodType.SUBSCRIBE,params:{channel:l}};if(t._subscribeData&&(y.params.data=t._subscribeData),(0,v.startsWith)(l,this._config.privateChannelPrefix))this._isSubscribeBatching?this._privateChannels[l]=!0:(this.startSubscribeBatching(),this._subscribe(t),this.stopSubscribeBatching());else{var E=t._needRecover();if(E===!0){y.params.recover=!0;var I=this._getLastSeq(l),B=this._getLastGen(l);if(I||B)I&&(y.params.seq=I),B&&(y.params.gen=B);else{var R=this._getLastOffset(l);R&&(y.params.offset=R)}var U=this._getLastEpoch(l);U&&(y.params.epoch=U)}this._call(y).then(function(H){a._subscribeResponse(l,E,a._decoder.decodeCommandResult(a._methodType.SUBSCRIBE,H.result)),H.next&&H.next()},function(H){a._subscribeError(l,H.error),H.next&&H.next()})}}},{key:"_unsubscribe",value:function(t){delete this._subs[t.channel],delete this._lastOffset[t.channel],delete this._lastSeq[t.channel],delete this._lastGen[t.channel],this.isConnected()&&this._addMessage({method:this._methodType.UNSUBSCRIBE,params:{channel:t.channel}})}},{key:"_getTTLMilliseconds",value:function(t){return Math.min(t*1e3,2147483647)}},{key:"getSub",value:function(t){return this._getSub(t)}},{key:"_getSub",value:function(t){var r=this._subs[t];return r||null}},{key:"_isServerSub",value:function(t){return this._serverSubs[t]!==void 0}},{key:"_connectResponse",value:function(t,r){var a=this,l=this._reconnecting;if(this._reconnecting=!1,this._resetRetry(),this._refreshRequired=!1,!this.isConnected()){this._latencyStart!==null&&(this._latency=new Date().getTime()-this._latencyStart.getTime(),this._latencyStart=null),this._clientID=t.client,this._setStatus("connected"),this._refreshTimeout&&clearTimeout(this._refreshTimeout),t.expires&&(this._refreshTimeout=setTimeout(function(){return a._refresh()},this._getTTLMilliseconds(t.ttl))),this.startBatching(),this.startSubscribeBatching();for(var y in this._subs)if(this._subs.hasOwnProperty(y)){var E=this._subs[y];E._shouldResubscribe()&&this._subscribe(E,l)}this.stopSubscribeBatching(),this.stopBatching(),this._startPing();var I={client:t.client,transport:this._transportName,latency:this._latency};t.data&&(I.data=t.data),this.emit("connect",I),t.subs&&this._processServerSubs(t.subs)}}},{key:"_processServerSubs",value:function(t){for(var r in t)if(t.hasOwnProperty(r)){var a=t[r],l=this._serverSubs[r]!==void 0,y={channel:r,isResubscribe:l};y=this._expandSubscribeContext(y,a),this.emit("subscribe",y)}for(var E in t)if(t.hasOwnProperty(E)){var I=t[E];if(I.recovered){var B=I.publications;if(B&&B.length>0){B.length>1&&(!B[0].offset||B[0].offset>B[1].offset)&&(B=B.reverse());for(var R in B)B.hasOwnProperty(R)&&this._handlePublication(E,B[R])}}this._serverSubs[E]={seq:I.seq,gen:I.gen,offset:I.offset,epoch:I.epoch,recoverable:I.recoverable}}}},{key:"_stopPing",value:function(){this._pongTimeout!==null&&(clearTimeout(this._pongTimeout),this._pongTimeout=null),this._pingTimeout!==null&&(clearTimeout(this._pingTimeout),this._pingTimeout=null)}},{key:"_startPing",value:function(){var t=this;this._config.ping!==!0||this._config.pingInterval<=0||this.isConnected()&&(this._pingTimeout=setTimeout(function(){if(!t.isConnected()){t._stopPing();return}t.ping(),t._pongTimeout=setTimeout(function(){t._disconnect("no ping",!0)},t._config.pongWaitTimeout)},this._config.pingInterval))}},{key:"_restartPing",value:function(){this._stopPing(),this._startPing()}},{key:"_subscribeError",value:function(t,r){var a=this._getSub(t);if(a&&a._isSubscribing()){if(r.code===0&&r.message===q){this._disconnect("timeout",!0);return}a._setSubscribeError(r)}}},{key:"_expandSubscribeContext",value:function(t,r){var a=!1;"recovered"in r&&(a=r.recovered),t.recovered=a;var l=!1;"positioned"in r&&(l=r.positioned);var y="";"epoch"in r&&(y=r.epoch);var E=0;return"offset"in r&&(E=r.offset),l&&(t.streamPosition={offset:E,epoch:y}),r.data&&(t.data=r.data),t}},{key:"_subscribeResponse",value:function(t,r,a){var l=this,y=this._getSub(t);if(y&&y._isSubscribing()){y._setSubscribeSuccess(a);var E=a.publications;if(E&&E.length>0){E.length>=2&&!E[0].offset&&!E[1].offset&&(E=E.reverse());for(var I in E)E.hasOwnProperty(I)&&this._handlePublication(t,E[I])}if(a.recoverable&&(!r||!a.recovered)&&(this._lastSeq[t]=a.seq||0,this._lastGen[t]=a.gen||0,this._lastOffset[t]=a.offset||0),this._lastEpoch[t]=a.epoch||"",a.recoverable&&(y._recoverable=!0),a.expires===!0){var B=setTimeout(function(){return l._subRefresh(t)},this._getTTLMilliseconds(a.ttl));this._subRefreshTimeouts[t]=B}}}},{key:"_handleReply",value:function(t,r){var a=t.id,l=t.result;if(!(a in this._callbacks)){r();return}var y=this._callbacks[a];if(clearTimeout(this._callbacks[a].timeout),delete this._callbacks[a],(0,v.errorExists)(t)){var I=y.errback;if(!I){r();return}var B=t.error;I({error:B,next:r})}else{var E=y.callback;if(!E)return;E({result:l,next:r})}}},{key:"_handleJoin",value:function(t,r){var a={info:r.info},l=this._getSub(t);if(!l){this._isServerSub(t)&&(a.channel=t,this.emit("join",a));return}l.emit("join",a)}},{key:"_handleLeave",value:function(t,r){var a={info:r.info},l=this._getSub(t);if(!l){this._isServerSub(t)&&(a.channel=t,this.emit("leave",a));return}l.emit("leave",a)}},{key:"_handleUnsub",value:function(t,r){var a={},l=this._getSub(t);if(!l){this._isServerSub(t)&&(delete this._serverSubs[t],a.channel=t,this.emit("unsubscribe",a));return}l.unsubscribe(),r.resubscribe===!0&&l.subscribe()}},{key:"_handleSub",value:function(t,r){this._serverSubs[t]={seq:r.seq,gen:r.gen,offset:r.offset,epoch:r.epoch,recoverable:r.recoverable};var a={channel:t,isResubscribe:!1};a=this._expandSubscribeContext(a,r),this.emit("subscribe",a)}},{key:"_handlePublication",value:function(t,r){var a=this._getSub(t),l={data:r.data,seq:r.seq,gen:r.gen,offset:r.offset};if(r.info&&(l.info=r.info),!a){this._isServerSub(t)&&(r.seq!==void 0&&(this._serverSubs[t].seq=r.seq),r.gen!==void 0&&(this._serverSubs[t].gen=r.gen),r.offset!==void 0&&(this._serverSubs[t].offset=r.offset),l.channel=t,this.emit("publish",l));return}r.seq!==void 0&&(this._lastSeq[t]=r.seq),r.gen!==void 0&&(this._lastGen[t]=r.gen),r.offset!==void 0&&(this._lastOffset[t]=r.offset),a.emit("publish",l)}},{key:"_handleMessage",value:function(t){this.emit("message",t.data)}},{key:"_handlePush",value:function(t,r){var a=this._decoder.decodePush(t),l=0;"type"in a&&(l=a.type);var y=a.channel;if(l===this._pushType.PUBLICATION){var E=this._decoder.decodePushData(this._pushType.PUBLICATION,a.data);this._handlePublication(y,E)}else if(l===this._pushType.MESSAGE){var I=this._decoder.decodePushData(this._pushType.MESSAGE,a.data);this._handleMessage(I)}else if(l===this._pushType.JOIN){var B=this._decoder.decodePushData(this._pushType.JOIN,a.data);this._handleJoin(y,B)}else if(l===this._pushType.LEAVE){var R=this._decoder.decodePushData(this._pushType.LEAVE,a.data);this._handleLeave(y,R)}else if(l===this._pushType.UNSUBSCRIBE){var U=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,a.data);this._handleUnsub(y,U)}else if(l===this._pushType.SUBSCRIBE){var H=this._decoder.decodePushData(this._pushType.UNSUBSCRIBE,a.data);this._handleSub(y,H)}r()}},{key:"_flush",value:function(){var t=this._messages.slice(0);this._messages=[],this._transportSend(t)}},{key:"_ping",value:function(){var t=this,r={method:this._methodType.PING};this._call(r).then(function(a){t._pingResponse(t._decoder.decodeCommandResult(t._methodType.PING,a.result)),a.next&&a.next()},function(a){t._debug("ping error",a.error),a.next&&a.next()})}},{key:"_pingResponse",value:function(t){this.isConnected()&&(this._stopPing(),this._startPing())}},{key:"_getLastSeq",value:function(t){var r=this._lastSeq[t];return r||0}},{key:"_getLastOffset",value:function(t){var r=this._lastOffset[t];return r||0}},{key:"_getLastGen",value:function(t){var r=this._lastGen[t];return r||0}},{key:"_getLastEpoch",value:function(t){var r=this._lastEpoch[t];return r||""}},{key:"_createErrorObject",value:function(t,r){var a={message:t,code:r||0};return a}},{key:"_registerCall",value:function(t,r,a){var l=this;this._callbacks[t]={callback:r,errback:a,timeout:null},this._callbacks[t].timeout=setTimeout(function(){delete l._callbacks[t],(0,v.isFunction)(a)&&a({error:l._createErrorObject(q)})},this._config.timeout)}},{key:"_addMessage",value:function(t){var r=this._nextMessageId();return t.id=r,this._isBatching===!0?this._messages.push(t):this._transportSend([t]),r}},{key:"isConnected",value:function(){return this._isConnected()}},{key:"connect",value:function(){this._connect()}},{key:"disconnect",value:function(){this._disconnect("client",!1)}},{key:"ping",value:function(){return this._ping()}},{key:"startBatching",value:function(){this._isBatching=!0}},{key:"stopBatching",value:function(){this._isBatching=!1,this._flush()}},{key:"startSubscribeBatching",value:function(){this._isSubscribeBatching=!0}},{key:"stopSubscribeBatching",value:function(){var t=this;this._isSubscribeBatching=!1;var r=this._privateChannels;this._privateChannels={};var a=[];for(var l in r)if(r.hasOwnProperty(l)){var y=this._getSub(l);if(!y)continue;a.push(l)}if(a.length===0){this._debug("no private channels found, no need to make request");return}var E={client:this._clientID,channels:a},I=this._clientID,B=this._newXHRID(),R=function(D){if(B in t._xhrs&&delete t._xhrs[B],t._clientID===I){if(D.error||D.status!==200){t._debug("authorization request failed");for(var se in a)if(a.hasOwnProperty(se)){var Ne=a[se];t._subscribeError(Ne,t._createErrorObject("authorization request failed"))}return}var Pe={};if(D.data.channels)for(var V in D.data.channels){var De=D.data.channels[V];De.channel&&(Pe[De.channel]=De.token)}var lt=!1;t._isBatching||(t.startBatching(),lt=!0);for(var dt in a)if(a.hasOwnProperty(dt)){var Cn=(function(){var K=a[dt],ht=Pe[K];if(ht){var ie={method:t._methodType.SUBSCRIBE,params:{channel:K,token:ht}},ft=t._getSub(K);if(ft===null)return"continue";var gt=ft._needRecover();if(gt===!0){ie.params.recover=!0;var Xe=t._getLastSeq(K),Ue=t._getLastGen(K);if(Xe||Ue)Xe&&(ie.params.seq=Xe),Ue&&(ie.params.gen=Ue);else{var pt=t._getLastOffset(K);pt&&(ie.params.offset=pt)}var Ct=t._getLastEpoch(K);Ct&&(ie.params.epoch=Ct)}t._call(ie).then(function(ne){t._subscribeResponse(K,gt,t._decoder.decodeCommandResult(t._methodType.SUBSCRIBE,ne.result)),ne.next&&ne.next()},function(ne){t._subscribeError(K,ne.error),ne.next&&ne.next()})}else return t._subscribeError(K,t._createErrorObject("permission denied",103)),"continue"})();if(Cn==="continue")continue}lt&&t.stopBatching()}};if(this._config.onPrivateSubscribe!==null)this._config.onPrivateSubscribe({data:E},R);else{var U=this._ajax(this._config.subscribeEndpoint,this._config.subscribeParams,this._config.subscribeHeaders,E,R);this._xhrs[B]=U}}},{key:"_setSubscribeSince",value:function(t,r){this._lastOffset[t.channel]=r.offset,this._lastEpoch[t.channel]=r.epoch,t._setNeedRecover(!0)}},{key:"subscribe",value:function(t,r,a){var l=this._getSub(t);if(l!==null)return l._setEvents(r),l._isUnsubscribed()&&l.subscribe(a),l;var y=new S.default(this,t,r);return this._subs[t]=y,y.subscribe(a),y}}]),p})(C.default);d.Centrifuge=b}),579:(function(c,d,g){Object.defineProperty(d,"__esModule",{value:!0}),d.default=void 0;var C=g(382),S=C.Centrifuge;d.default=S,c.exports=d.default}),147:(function(c,d){Object.defineProperty(d,"__esModule",{value:!0}),d.JsonPushType=d.JsonMethodType=d.JsonEncoder=d.JsonDecoder=void 0;function g(m,P){if(!(m instanceof P))throw new TypeError("Cannot call a class as a function")}function C(m,P){for(var k=0;k<P.length;k++){var w=P[k];w.enumerable=w.enumerable||!1,w.configurable=!0,"value"in w&&(w.writable=!0),Object.defineProperty(m,w.key,w)}}function S(m,P,k){return P&&C(m.prototype,P),m}var T={CONNECT:0,SUBSCRIBE:1,UNSUBSCRIBE:2,PUBLISH:3,PRESENCE:4,PRESENCE_STATS:5,HISTORY:6,PING:7,SEND:8,RPC:9,REFRESH:10,SUB_REFRESH:11};d.JsonMethodType=T;var v={PUBLICATION:0,JOIN:1,LEAVE:2,UNSUBSCRIBE:3,MESSAGE:4,SUBSCRIBE:5};d.JsonPushType=v;var Q=(function(){function m(){g(this,m)}return S(m,[{key:"encodeCommands",value:function(k){return k.map(function(w){return JSON.stringify(w)}).join(`
3
3
  `)}}]),m})();d.JsonEncoder=Q;var _=(function(){function m(){g(this,m)}return S(m,[{key:"decodeReplies",value:function(k){return k.split(`
4
4
  `).filter(function(w){return w!==""}).map(function(w){return JSON.parse(w)})}},{key:"decodeCommandResult",value:function(k,w){return w}},{key:"decodePush",value:function(k){return k}},{key:"decodePushData",value:function(k,w){return w}}]),m})();d.JsonDecoder=_}),471:(function(c,d,g){function C(h){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?C=function(A){return typeof A}:C=function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},C(h)}Object.defineProperty(d,"__esModule",{value:!0}),d.default=void 0;var S=v(g(187)),T=g(853);function v(h){return h&&h.__esModule?h:{default:h}}function Q(h,p){if(!(h instanceof p))throw new TypeError("Cannot call a class as a function")}function _(h,p){for(var A=0;A<p.length;A++){var t=p[A];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(h,t.key,t)}}function m(h,p,A){return p&&_(h.prototype,p),h}function P(h,p){if(typeof p!="function"&&p!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(p&&p.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),p&&k(h,p)}function k(h,p){return k=Object.setPrototypeOf||function(t,r){return t.__proto__=r,t},k(h,p)}function w(h){var p=F();return function(){var t=M(h),r;if(p){var a=M(this).constructor;r=Reflect.construct(t,arguments,a)}else r=t.apply(this,arguments);return L(this,r)}}function L(h,p){if(p&&(C(p)==="object"||typeof p=="function"))return p;if(p!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return O(h)}function O(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}function F(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function M(h){return M=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)},M(h)}var J=0,x=1,q=2,N=3,b=4,f=(function(h){P(A,h);var p=w(A);function A(t,r,a){var l;return Q(this,A),l=p.call(this),l.channel=r,l._centrifuge=t,l._status=J,l._error=null,l._isResubscribe=!1,l._ready=!1,l._subscriptionPromise=null,l._noResubscribe=!1,l._recoverable=!1,l._recover=!1,l._setEvents(a),l._initializePromise(),l._promises={},l._promiseId=0,l._subscribeData=null,l.on("error",function(y){this._centrifuge._debug("subscription error",y)}),l}return m(A,[{key:"_nextPromiseId",value:function(){return++this._promiseId}},{key:"_initializePromise",value:function(){var r=this;this._ready=!1,this._subscriptionPromise=new Promise(function(a,l){r._resolve=function(y){r._ready=!0,a(y)},r._reject=function(y){r._ready=!0,l(y)}}).then(function(){},function(){})}},{key:"_setNeedRecover",value:function(r){this._recoverable=r,this._recover=r}},{key:"_needRecover",value:function(){return this._recoverable===!0&&this._recover===!0}},{key:"_setEvents",value:function(r){if(r){if((0,T.isFunction)(r))this.on("publish",r);else if(Object.prototype.toString.call(r)===Object.prototype.toString.call({}))for(var a=["publish","join","leave","unsubscribe","subscribe","error"],l=0,y=a.length;l<y;l++){var E=a[l];E in r&&this.on(E,r[E])}}}},{key:"_isNew",value:function(){return this._status===J}},{key:"_isUnsubscribed",value:function(){return this._status===b}},{key:"_isSubscribing",value:function(){return this._status===x}},{key:"_isReady",value:function(){return this._status===q||this._status===N}},{key:"_isSuccess",value:function(){return this._status===q}},{key:"_isError",value:function(){return this._status===N}},{key:"_setNew",value:function(){this._status=J}},{key:"_setSubscribing",value:function(r){this._isResubscribe=r||!1,this._ready===!0&&this._initializePromise(),this._status=x}},{key:"_setSubscribeSuccess",value:function(r){if(this._status!==q){this._status=q;var a=this._getSubscribeSuccessContext(r);this._recover=!1,this.emit("subscribe",a),this._resolve(a);for(var l in this._promises)clearTimeout(this._promises[l].timeout),this._promises[l].resolve(),delete this._promises[l]}}},{key:"_setSubscribeError",value:function(r){if(this._status!==N){this._status=N,this._error=r;var a=this._getSubscribeErrorContext();this.emit("error",a),this._reject(a);for(var l in this._promises)clearTimeout(this._promises[l].timeout),this._promises[l].reject(r),delete this._promises[l]}}},{key:"_triggerUnsubscribe",value:function(){this.emit("unsubscribe",{channel:this.channel})}},{key:"_setUnsubscribed",value:function(r){if(this._centrifuge._clearSubRefreshTimeout(this.channel),this._status!==b){var a=this._status===q;this._status=b,r===!0&&(this._recover=!1,this._noResubscribe=!0,delete this._centrifuge._lastSeq[this.channel],delete this._centrifuge._lastGen[this.channel],delete this._centrifuge._lastEpoch[this.channel]),a&&this._triggerUnsubscribe()}}},{key:"_shouldResubscribe",value:function(){return!this._noResubscribe}},{key:"_getSubscribeSuccessContext",value:function(r){var a={channel:this.channel,isResubscribe:this._isResubscribe};return r&&(a=this._centrifuge._expandSubscribeContext(a,r)),a}},{key:"_getSubscribeErrorContext",value:function(){var r=this._error;return r.channel=this.channel,r.isResubscribe=this._isResubscribe,r}},{key:"_setSubscribeData",value:function(r){this._subscribeData=r}},{key:"ready",value:function(r,a){this._ready&&(this._isSuccess()?r(this._getSubscribeSuccessContext()):a(this._getSubscribeErrorContext()))}},{key:"subscribe",value:function(r){this._status!==q&&(r&&r.since&&this._centrifuge._setSubscribeSince(this,r.since),r&&r.data&&this._setSubscribeData(r.data),this._noResubscribe=!1,this._centrifuge._subscribe(this))}},{key:"unsubscribe",value:function(){this._setUnsubscribed(!0),this._centrifuge._unsubscribe(this)}},{key:"_methodCall",value:function(){var r=this;if(this._isSuccess())return Promise.resolve();if(this._isError())return Promise.reject(this._error);var a=new Promise(function(l,y){var E=setTimeout(function(){y({code:0,message:"timeout"})},r._centrifuge._config.timeout);r._promises[r._nextPromiseId()]={timeout:E,resolve:l,reject:y}});return a}},{key:"publish",value:function(r){var a=this;return this._methodCall().then(function(){return a._centrifuge.publish(a.channel,r)})}},{key:"presence",value:function(){var r=this;return this._methodCall().then(function(){return r._centrifuge.presence(r.channel)})}},{key:"presenceStats",value:function(){var r=this;return this._methodCall().then(function(){return r._centrifuge.presenceStats(r.channel)})}},{key:"history",value:function(r){var a=this;return this._methodCall().then(function(){return a._centrifuge.history(a.channel,r)})}}]),A})(S.default);d.default=f,c.exports=d.default}),853:(function(c,d,g){Object.defineProperty(d,"__esModule",{value:!0}),d.backoff=v,d.errorExists=Q,d.extend=_,d.isFunction=S,d.log=T,d.startsWith=C;function C(m,P){return m.lastIndexOf(P,0)===0}function S(m){return m==null?!1:typeof m=="function"}function T(m,P){if(g.g.console){var k=g.g.console[m];S(k)&&k.apply(g.g.console,P)}}function v(m,P,k){var w=.5*Math.random(),L=Math.min(k,P*Math.pow(2,m+1));return Math.floor((1-w)*L)}function Q(m){return"error"in m&&m.error!==null}function _(m,P){for(var k in P)P.hasOwnProperty(k)&&(m[k]=P[k]);return m}}),187:(function(c){var d=typeof Reflect=="object"?Reflect:null,g=d&&typeof d.apply=="function"?d.apply:function(f,h,p){return Function.prototype.apply.call(f,h,p)},C;d&&typeof d.ownKeys=="function"?C=d.ownKeys:Object.getOwnPropertySymbols?C=function(f){return Object.getOwnPropertyNames(f).concat(Object.getOwnPropertySymbols(f))}:C=function(f){return Object.getOwnPropertyNames(f)};function S(b){console&&console.warn&&console.warn(b)}var T=Number.isNaN||function(f){return f!==f};function v(){v.init.call(this)}c.exports=v,c.exports.once=x,v.EventEmitter=v,v.prototype._events=void 0,v.prototype._eventsCount=0,v.prototype._maxListeners=void 0;var Q=10;function _(b){if(typeof b!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof b)}Object.defineProperty(v,"defaultMaxListeners",{enumerable:!0,get:function(){return Q},set:function(b){if(typeof b!="number"||b<0||T(b))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+b+".");Q=b}}),v.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},v.prototype.setMaxListeners=function(f){if(typeof f!="number"||f<0||T(f))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+f+".");return this._maxListeners=f,this};function m(b){return b._maxListeners===void 0?v.defaultMaxListeners:b._maxListeners}v.prototype.getMaxListeners=function(){return m(this)},v.prototype.emit=function(f){for(var h=[],p=1;p<arguments.length;p++)h.push(arguments[p]);var A=f==="error",t=this._events;if(t!==void 0)A=A&&t.error===void 0;else if(!A)return!1;if(A){var r;if(h.length>0&&(r=h[0]),r instanceof Error)throw r;var a=new Error("Unhandled error."+(r?" ("+r.message+")":""));throw a.context=r,a}var l=t[f];if(l===void 0)return!1;if(typeof l=="function")g(l,this,h);else for(var y=l.length,E=F(l,y),p=0;p<y;++p)g(E[p],this,h);return!0};function P(b,f,h,p){var A,t,r;if(_(h),t=b._events,t===void 0?(t=b._events=Object.create(null),b._eventsCount=0):(t.newListener!==void 0&&(b.emit("newListener",f,h.listener?h.listener:h),t=b._events),r=t[f]),r===void 0)r=t[f]=h,++b._eventsCount;else if(typeof r=="function"?r=t[f]=p?[h,r]:[r,h]:p?r.unshift(h):r.push(h),A=m(b),A>0&&r.length>A&&!r.warned){r.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+r.length+" "+String(f)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=b,a.type=f,a.count=r.length,S(a)}return b}v.prototype.addListener=function(f,h){return P(this,f,h,!1)},v.prototype.on=v.prototype.addListener,v.prototype.prependListener=function(f,h){return P(this,f,h,!0)};function k(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function w(b,f,h){var p={fired:!1,wrapFn:void 0,target:b,type:f,listener:h},A=k.bind(p);return A.listener=h,p.wrapFn=A,A}v.prototype.once=function(f,h){return _(h),this.on(f,w(this,f,h)),this},v.prototype.prependOnceListener=function(f,h){return _(h),this.prependListener(f,w(this,f,h)),this},v.prototype.removeListener=function(f,h){var p,A,t,r,a;if(_(h),A=this._events,A===void 0)return this;if(p=A[f],p===void 0)return this;if(p===h||p.listener===h)--this._eventsCount===0?this._events=Object.create(null):(delete A[f],A.removeListener&&this.emit("removeListener",f,p.listener||h));else if(typeof p!="function"){for(t=-1,r=p.length-1;r>=0;r--)if(p[r]===h||p[r].listener===h){a=p[r].listener,t=r;break}if(t<0)return this;t===0?p.shift():M(p,t),p.length===1&&(A[f]=p[0]),A.removeListener!==void 0&&this.emit("removeListener",f,a||h)}return this},v.prototype.off=v.prototype.removeListener,v.prototype.removeAllListeners=function(f){var h,p,A;if(p=this._events,p===void 0)return this;if(p.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):p[f]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete p[f]),this;if(arguments.length===0){var t=Object.keys(p),r;for(A=0;A<t.length;++A)r=t[A],r!=="removeListener"&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(h=p[f],typeof h=="function")this.removeListener(f,h);else if(h!==void 0)for(A=h.length-1;A>=0;A--)this.removeListener(f,h[A]);return this};function L(b,f,h){var p=b._events;if(p===void 0)return[];var A=p[f];return A===void 0?[]:typeof A=="function"?h?[A.listener||A]:[A]:h?J(A):F(A,A.length)}v.prototype.listeners=function(f){return L(this,f,!0)},v.prototype.rawListeners=function(f){return L(this,f,!1)},v.listenerCount=function(b,f){return typeof b.listenerCount=="function"?b.listenerCount(f):O.call(b,f)},v.prototype.listenerCount=O;function O(b){var f=this._events;if(f!==void 0){var h=f[b];if(typeof h=="function")return 1;if(h!==void 0)return h.length}return 0}v.prototype.eventNames=function(){return this._eventsCount>0?C(this._events):[]};function F(b,f){for(var h=new Array(f),p=0;p<f;++p)h[p]=b[p];return h}function M(b,f){for(;f+1<b.length;f++)b[f]=b[f+1];b.pop()}function J(b){for(var f=new Array(b.length),h=0;h<f.length;++h)f[h]=b[h].listener||b[h];return f}function x(b,f){return new Promise(function(h,p){function A(r){b.removeListener(f,t),p(r)}function t(){typeof b.removeListener=="function"&&b.removeListener("error",A),h([].slice.call(arguments))}N(b,f,t,{once:!0}),f!=="error"&&q(b,A,{once:!0})})}function q(b,f,h){typeof b.on=="function"&&N(b,"error",f,h)}function N(b,f,h,p){if(typeof b.on=="function")p.once?b.once(f,h):b.on(f,h);else if(typeof b.addEventListener=="function")b.addEventListener(f,function A(t){p.once&&b.removeEventListener(f,A),h(t)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof b)}})},s={};function i(c){var d=s[c];if(d!==void 0)return d.exports;var g=s[c]={exports:{}};return o[c](g,g.exports,i),g.exports}(function(){i.g=(function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}})()})();var u=i(579);return u})()})})(Ce)),Ce.exports}var Qt=It();const St=vt(Qt);let ye=null;function je(e,n){if(!(e!=null&&e.client_url)||!(e!=null&&e.token)||!(e!=null&&e.channel))return console.error("[Centrifuge] Invalid socket_connections"),null;const{client_url:o,token:s,channel:i}=e;if(i.includes("#")||console.warn("[Centrifuge] Channel should contain #user_id"),ye){try{console.log("[Centrifuge] Disconnecting previous instance..."),ye.disconnect()}catch(c){console.error("[Centrifuge] Error while disconnecting previous instance:",c)}ye=null}console.log("[Centrifuge] Creating new instance:",o);const u=new St(o);return u.setToken(s),u.on("connect",c=>{console.log("[Centrifuge] Connected",c),console.log("[Centrifuge] Subscribing to channel:",i);const d=u.subscribe(i);d.on("publish",g=>{console.log("[Centrifuge] Publish event received:",g);const C=Pt(g);C&&n(C)}),d.on("subscribe",g=>{console.log("[Centrifuge] ✅ Channel subscribed successfully:",i,g)}),d.on("error",g=>{console.error("[Centrifuge] ❌ Subscription error:",g)}),d.on("unsubscribe",g=>{console.log("[Centrifuge] Channel unsubscribed:",g)})}),u.on("disconnect",c=>console.log("[Centrifuge] Disconnected",c)),u.on("error",c=>console.error("[Centrifuge] Error",c)),console.log("[Centrifuge] Calling connect()..."),u.connect(),ye=u,{centrifuge:u}}function Pt(e){var o,s,i;if(console.log("[Centrifuge] Raw message received:",JSON.stringify(e)),!(e!=null&&e.data))return console.warn("[Centrifuge] Empty or invalid response"),null;let n=e.data;return(o=n.data)!=null&&o.type?n=n.data:(i=(s=n.data)==null?void 0:s.data)!=null&&i.type&&(n=n.data.data),console.log("[Centrifuge] Parsed message:",n),n.type?n:(console.warn("[Centrifuge] Message has no type:",n),null)}function me(e){return/^4[0-9]/.test(e)?"visa":/^5[1-5]/.test(e)||/^2[2-7]/.test(e)?"mastercard":"card"}const G={iconType:"kaspi_pay",label:"Kaspi.kz",type:"kaspi_pay"},ze={iconType:"apple_pay",label:"Apple Pay",type:"apple_pay"},Ke={iconType:"google_pay",label:"Google Pay",type:"google_pay"};function z(e){return e==="enabled"||e===!0}function Ve(e){if(!e)return null;let n=String(e).trim().toLowerCase();return n.startsWith("payment_method_")&&(n=n.replace("payment_method_","")),n==="kaspi"?"kaspi_pay":n==="apple"?"apple_pay":n==="google"?"google_pay":n==="newcard"?"new_card":n==="card"?"card":["kaspi_pay","apple_pay","google_pay","new_card"].includes(n)?n:null}function kt(e){var u,c,d;const n=e,o=((u=n==null?void 0:n.context)==null?void 0:u.last_payment_method)??(n==null?void 0:n.last_payment_method)??((c=n==null?void 0:n.attributes)==null?void 0:c.last_payment_method);if(!o)return null;if(typeof o=="string")return{type:Ve(o),cardId:null};if(typeof o!="object")return null;const s=o.type??o.payment_method??o.method,i=o.card_id??o.cardId??o.id??((d=o.card)==null?void 0:d.id)??null;return{type:Ve(s),cardId:i!=null?String(i):null}}function wt(e,n,o={}){var P,k,w,L;const s=[],i=(P=e==null?void 0:e.kaspi)==null?void 0:P.data,u=((k=e==null?void 0:e.cards_v2)==null?void 0:k.data)||[],c=((L=(w=e==null?void 0:e.payment_methods)==null?void 0:w.data)==null?void 0:L.attributes)||{},d=z(c.payment_method_kaspi),g=z(c.payment_method_card),C=typeof window<"u"&&window.self===window.top,T=ke()==="ios",v=!!(o!=null&&o.onlyKaspiAvailable),Q=!!(o!=null&&o.disableKaspi);return i!=null&&i.isKaspiOnly&&d&&!Q?[G]:v?i!=null&&i.isAvailable&&d&&!Q?[G]:[]:(z(c.payment_method_apple_pay)&&!pe("apple_pay")&&(fe()&&C||ge()||T||Je()===16)&&s.push(ze),i!=null&&i.isAvailable&&d&&!Q&&s.push(G),g&&u.filter(O=>!O.isExpired).forEach(O=>{s.push({iconType:me(O.attributes.mask),type:"card",cardId:O.id,label:`•••• ${O.attributes.mask.slice(-4)}`,cardType:O.type,isDefault:O.attributes.isDefault})}),z(c.payment_method_google_pay)&&!pe("google_pay")&&!fe()&&!ge()&&s.push(Ke),z(c.payment_method_new_card)&&s.push({iconType:"new_card",type:"new_card",label:n?n("newCard"):"Оплата новой картой"}),s)}function we(e,n={}){var m,P,k,w;const o=(m=e==null?void 0:e.kaspi)==null?void 0:m.data,s=((P=e==null?void 0:e.cards_v2)==null?void 0:P.data)||[],i=((w=(k=e==null?void 0:e.payment_methods)==null?void 0:k.data)==null?void 0:w.attributes)||{},u=z(i.payment_method_kaspi),c=z(i.payment_method_card),d=!!(n!=null&&n.disableKaspi),g=typeof window<"u"&&window.self===window.top,S=ke()==="ios",T=z(i.payment_method_apple_pay)&&!pe("apple_pay")&&(fe()&&g||ge()||S||Je()===16),v=z(i.payment_method_google_pay)&&!pe("google_pay")&&!fe()&&!ge();if(o!=null&&o.isKaspiOnly&&u&&!d||n!=null&&n.onlyKaspiAvailable&&(o!=null&&o.isAvailable)&&u&&!d)return G;const Q=kt(e);if((Q==null?void 0:Q.type)==="kaspi_pay"&&(o!=null&&o.isAvailable)&&u&&!d)return G;if((Q==null?void 0:Q.type)==="apple_pay"&&T)return ze;if((Q==null?void 0:Q.type)==="google_pay"&&v)return Ke;if((Q==null?void 0:Q.type)==="new_card"&&z(i.payment_method_new_card))return{iconType:"new_card",type:"new_card",label:"Оплата новой картой"};if((Q==null?void 0:Q.type)==="card"&&c){const L=Q.cardId!=null?s.find(O=>!O.isExpired&&String(O.id)===Q.cardId):null;if(L)return{iconType:me(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(c){const L=s.find(O=>{var F;return((F=O.attributes)==null?void 0:F.isDefault)&&!O.isExpired});if(L)return{iconType:me(L.attributes.mask),type:"card",cardId:L.id,label:`•••• ${L.attributes.mask.slice(-4)}`,cardType:L.type}}if(o!=null&&o.isAvailable&&u&&!d)return G;const _=c?s.find(L=>!L.isExpired):null;return _?{iconType:me(_.attributes.mask),type:"card",cardId:_.id,label:`••••${_.attributes.mask.slice(-4)}`,cardType:_.type}:null}function We(e){if(typeof localStorage>"u")return null;try{return localStorage.getItem(e)}catch{return null}}function _e(e,n){if(!(typeof localStorage>"u"))try{localStorage.setItem(e,n)}catch{}}function be(e){if(!(typeof localStorage>"u"))try{localStorage.removeItem(e)}catch{}}async function _t(e,n){var o;try{const s=await e.json(),i=(o=s==null?void 0:s.errors)==null?void 0:o[0];return(i==null?void 0:i.title)||(i==null?void 0:i.detail)||(s==null?void 0:s.message)||(s==null?void 0:s.error)||n}catch{return`HTTP ${e.status}: ${e.statusText}`}}async function Z(e,n){const o=await _t(e,n);throw Object.assign(new Error(o),{status:e.status})}function Ee(e,n,o={}){const s=Number.isFinite(o.checkoutAmount)&&o.checkoutAmount>=0?Number(o.checkoutAmount):e.amount,i=!!o.forceBalanceMethod,u=!!o.useBalance;return{checkoutAmount:s,checkoutPaymentMethod:i?{type:"balance"}:n,useBalanceFlag:u}}function ve(e,n,o,s){return{preorder_id:e.preorderId,terminal_id:e.terminalId,merchant_order_id:e.merchantOrderId,money:{amount:String(o),currency:e.currency},payment_method:n,...e.backlink&&{backlink:e.backlink},...s&&{use_balance:!0}}}async function Be(e,n,o,s,i){const u=await fetch(`${e}/orders/v1/checkout`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.accessToken}`,"X-Idempotency-Key":he(),"X-Device-Id":o,"X-OS":"WEB"},body:JSON.stringify(s)});return u.ok||await Z(u,i),u.json()}async function Tt(e,n,o){var d,g,C,S;const s=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json","X-Idempotency-Key":he(),"X-Fingerprint":Fe()},body:JSON.stringify({client_id:n,grant_type:"authorization_track_id",track_id:o})});s.ok||await Z(s,"Не удалось авторизоваться через track_id");const i=await s.json(),u=(i==null?void 0:i.access_token)??((g=(d=i==null?void 0:i.data)==null?void 0:d.attributes)==null?void 0:g.access_token),c=(i==null?void 0:i.refresh_token)??((S=(C=i==null?void 0:i.data)==null?void 0:C.attributes)==null?void 0:S.refresh_token)??null;if(!u)throw new Error("В ответе отсутствует access_token");return{access_token:u,refresh_token:c}}async function Lt(e,n,o){var d,g,C,S;const s=await fetch(`${e}/api/v2/oauth2/tokens`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:n,grant_type:"refresh_token",refresh_token:o})});s.ok||await Z(s,"Не удалось обновить токен по refresh_token");const i=await s.json(),u=(i==null?void 0:i.access_token)??((g=(d=i==null?void 0:i.data)==null?void 0:d.attributes)==null?void 0:g.access_token),c=(i==null?void 0:i.refresh_token)??((S=(C=i==null?void 0:i.data)==null?void 0:C.attributes)==null?void 0:S.refresh_token)??null;if(!u)throw new Error("В ответе отсутствует access_token");return{access_token:u,refresh_token:c}}async function Te(e,n){const o=await fetch(`${e}/orders/v1/checkout/context`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.accessToken}`,"X-Idempotency-Key":he()},body:JSON.stringify({terminal_id:n.terminalId,include:["cards","payment_methods","balance","cashback"],money:{amount:String(n.amount),currency:n.currency}})});return o.ok||await Z(o,"Ошибка получения контекста оплаты"),o.json()}async function Rt(e,n,o){const s=await fetch(`${e}/payment-gateway/v1/cards/${o}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.accessToken}`}});return s.ok||await Z(s,"Не удалось удалить карту"),s.json().catch(()=>({}))}async function Ot(e,n,o){const s=await fetch(`${e}/payment-gateway/v1/cards/${o}/mark_as_default`,{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.accessToken}`}});return s.ok||await Z(s,"Не удалось отметить карту как основную"),s.json().catch(()=>({}))}async function Mt(e,n,o){const s=await fetch(`${e}/orders/v1/orders/${o}/status`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.accessToken}`}});if(!s.ok)throw Object.assign(new Error(`Ошибка проверки статуса заказа: ${s.status} ${s.statusText}`),{status:s.status});const i=await s.json(),u=(i==null?void 0:i.data)??i;return{data:{status:u==null?void 0:u.status,payload:(u==null?void 0:u.payload)??{}}}}async function Ye(e,n,o,s,i={}){const{checkoutAmount:u,checkoutPaymentMethod:c,useBalanceFlag:d}=Ee(n,{type:s.type,...s.cardId&&{card_id:s.cardId}},i);return Be(e,n,o,ve(n,c,u,d),"Ошибка создания заказа")}async function Nt(e,n,o,s={}){const{checkoutAmount:i,checkoutPaymentMethod:u,useBalanceFlag:c}=Ee(n,{type:"new_card"},s);return Be(e,n,o,ve(n,u,i,c),"Ошибка создания заказа для новой карты")}async function Dt(e,n,o){const s=window.location.hostname,i=await fetch(`${e}/payment-gateway/v1/apple/session`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/vnd.api+json",Authorization:`Bearer ${n.accessToken}`},body:JSON.stringify({validationUrl:o,domainName:s})});return i.ok||await Z(i,"Ошибка получения Apple Pay сессии"),i.json()}async function Xt(e,n,o,s,i={}){const{checkoutAmount:u,checkoutPaymentMethod:c,useBalanceFlag:d}=Ee(n,{type:"apple_pay",data:s},i);return Be(e,n,o,ve(n,c,u,d),"Ошибка создания заказа с Apple Pay")}async function Ut(e,n,o,s,i={}){const{checkoutAmount:u,checkoutPaymentMethod:c,useBalanceFlag:d}=Ee(n,{type:"google_pay",data:s},i);return Be(e,n,o,ve(n,c,u,d),"Ошибка создания заказа с Google Pay")}function Ht(e){const n=typeof e.color=="string"?e.color.trim():"",o=n&&/^[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/.test(n)?`#${n}`:n,s=e.bonuses,i=s&&typeof s=="object"&&Number.isFinite(s.amount)&&Number.isFinite(s.percent)?{availableBonus:Number.isFinite(s.availableBonus)?Number(s.availableBonus):0,amount:Number(s.amount),percent:Number(s.percent)}:null;return{preorderId:e.preorderId,trackId:e.trackId,clientId:e.clientId,terminalId:e.terminalId,merchantOrderId:e.merchantOrderId,amount:e.amount,currency:e.currency||"KZT",environment:e.environment||"production",backlink:e.backlink,onSuccess:e.onSuccess||(()=>{}),onAppliedBonus:e.onAppliedBonus||(()=>{}),onError:e.onError||(()=>{}),onCancel:e.onCancel||(()=>{}),onCardDeleted:typeof e.onCardDeleted=="function"?e.onCardDeleted:null,onConfirmPay:typeof e.onConfirmPay=="function"?e.onConfirmPay:null,onPaymentMethodSelected:typeof e.onPaymentMethodSelected=="function"?e.onPaymentMethodSelected:null,onKaspiLink:typeof e.onKaspiLink=="function"?e.onKaspiLink:null,onUserEvent:typeof e.onUserEvent=="function"?e.onUserEvent:null,onBeforeCheckout:typeof e.onBeforeCheckout=="function"?e.onBeforeCheckout:null,locale:e.locale||"ru",containerSelector:typeof e.containerSelector=="string"?e.containerSelector.trim():"",color:o||"#2F2F2F",onlyKaspiAvailable:!!e.onlyKaspiAvailable,disableKaspi:!!e.disableKaspi,bonuses:i}}function Le(e,n){_e("webPayToken",e),n&&_e("webPayRefreshToken",n)}function Ge(){be("webPayToken"),be("webPayRefreshToken")}async function xt(e){const n=We("webPayRefreshToken");if(n&&e.config.clientId)try{const s=await Lt(e.apiUrl,e.config.clientId,n);Le(s.access_token,s.refresh_token),e.accessToken=s.access_token;return}catch{be("webPayRefreshToken")}if(!e.config.trackId||!e.config.clientId){e.config.onError({attributes:{message:e.t("errorMissingTrackClient")}});return}const o=await Tt(e.apiUrl,e.config.clientId,e.config.trackId);Le(o.access_token,o.refresh_token),e.accessToken=o.access_token}const Ft={kaspi_pay:`<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "choco-one-click-payment",
3
- "version": "1.1.25",
3
+ "version": "1.1.26",
4
4
  "description": "Встраиваемый виджет для быстрой оплаты с bottom sheet интерфейсом",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",