@primer-io/primer-js 0.1.2 → 0.1.3

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.
@@ -16,32 +16,48 @@
16
16
  },
17
17
  {
18
18
  "kind": "variable",
19
- "name": "mr",
19
+ "name": "ur",
20
20
  "default": "class{constructor(t){this._methods=t}get(t){return this._methods.get(t)}toArray(){return Array.from(this._methods.values())}size(){return this._methods.size}}"
21
21
  },
22
22
  {
23
23
  "kind": "variable",
24
24
  "name": "ae",
25
- "default": "class extends f{constructor(){super();this.customStyles=\"\";this.clientToken=\"\";this.options={};this._jsInitialized=!1;this.previousLoadingState=!0;this.hasAssignedContent=!1;this.locale=\"en-GB\";this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.sdkContextController=new Wt(this),this.sdkStateController=new qt(this),this.primerEventsController=new tt(this),this.styleProcessingController=new Zt(this),this.vaultManagerController=new _t(this),this.cardNetworkController=new Bt(this),new ur(this)}set jsInitialized(e){this.requestUpdate(),this._jsInitialized=e}get jsInitialized(){return this._jsInitialized}attributeChangedCallback(e,r,i){e===\"customstyles\"?this.styleProcessingController.processCustomStyles(i):super.attributeChangedCallback(e,r,i)}willUpdate(e){e.has(\"options\")&&(this.options?.locale&&(Wr(this.options?.locale)?this.locale=Zr(this.options?.locale):N.warn(\"\\u{1F30E}\\u2757 Unsupported locale provided:\",this.options?.locale,\"- Falling back to default locale `en-GB`\")),qr(this.locale||\"en-GB\"))}updated(){let e=getComputedStyle(this);this.sdkContextController.setComputedStyles(e),this.checkLoadingStateChange()}checkLoadingStateChange(){let e=this.sdkStateController?.state.isLoading||!1;this.previousLoadingState&&!e&&(this.jsInitialized=!0),this.previousLoadingState=e}render(){let e=this.sdkStateController.state,r=e.isLoading,i=e.error,n=!r&&!i;return m` ${$(r,()=>u)} ${$(i,()=>m`<primer-checkout-error></primer-checkout-error>`)} ${$(n,()=>m` <slot name=\"main\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m`<primer-main></primer-main>`)} `,()=>u)} `}addEventListener(e,r,i){super.addEventListener(e,r,i)}}"
25
+ "default": "class extends f{constructor(){super();this.customStyles=\"\";this.clientToken=\"\";this.options={};this._jsInitialized=!1;this.previousLoadingState=!0;this.hasAssignedContent=!1;this._loadingTimeoutId=null;this.locale=\"en-GB\";this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.sdkContextController=new Zt(this),this.sdkStateController=new Wt(this),this.primerEventsController=new tt(this),this.styleProcessingController=new Xt(this),this.vaultManagerController=new St(this),this.cardNetworkController=new Ft(this),new gr(this)}set jsInitialized(e){this.requestUpdate(),this._jsInitialized=e}get jsInitialized(){return this._jsInitialized}attributeChangedCallback(e,r,i){e===\"customstyles\"?this.styleProcessingController.processCustomStyles(i):super.attributeChangedCallback(e,r,i)}disconnectedCallback(){this._loadingTimeoutId&&(window.clearTimeout(this._loadingTimeoutId),this._loadingTimeoutId=null),this.sdkStateController?.state.isLoading&&this.sdkStateController.forceCompleteLoading(),super.disconnectedCallback()}willUpdate(e){e.has(\"options\")&&(this.options?.locale&&(Xr(this.options?.locale)?this.locale=Jr(this.options?.locale):k.warn(\"\\u{1F30E}\\u2757 Unsupported locale provided:\",this.options?.locale,\"- Falling back to default locale `en-GB`\")),Zr(this.locale||\"en-GB\"))}updated(){let e=getComputedStyle(this);this.sdkContextController.setComputedStyles(e),this.checkLoadingStateChange()}checkLoadingStateChange(){let e=this.sdkStateController?.state.isLoading||!1;this.previousLoadingState&&!e&&(this.jsInitialized=!0),this.previousLoadingState=e,e&&!this._loadingTimeoutId?this._loadingTimeoutId=window.setTimeout(()=>{this.sdkStateController?.state.isLoading&&(k.warn(\"Loading timeout in component, forcing completion\"),this.sdkStateController.forceCompleteLoading(),this.jsInitialized=!0),this._loadingTimeoutId=null},1e4):!e&&this._loadingTimeoutId&&(window.clearTimeout(this._loadingTimeoutId),this._loadingTimeoutId=null)}render(){let e=this.sdkStateController.state,r=e.isLoading,i=e.error,s=!r&&!i;return m` ${$(r,()=>u)} ${$(i,()=>m`<primer-checkout-error></primer-checkout-error>`)} ${$(s,()=>m` <slot name=\"main\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m`<primer-main></primer-main>`)} `,()=>u)} `}addEventListener(e,r,i){super.addEventListener(e,r,i)}}"
26
+ },
27
+ {
28
+ "kind": "function",
29
+ "name": "_i"
30
+ },
31
+ {
32
+ "kind": "function",
33
+ "name": "Ti"
34
+ },
35
+ {
36
+ "kind": "function",
37
+ "name": "Ln"
38
+ },
39
+ {
40
+ "kind": "function",
41
+ "name": "Nn"
26
42
  },
27
43
  {
28
44
  "kind": "variable",
29
45
  "name": "xe",
30
- "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-loader)\";this.size=\"medium\";this.compact=!1}getSize(){if(this.size in ro)return ro[this.size];let e=parseInt(this.size,10);return isNaN(e)?ro.medium:e}render(){let e=this.getSize(),r=20,i=`0 0 ${r} ${r}`;return this.style.setProperty(\"--spinner-color\",this.color),this.style.setProperty(\"--spinner-size\",`${e}px`),m` <div class=\"spinner-container ${this.compact?\"compact\":\"\"}\"> <svg class=\"spinner\" width=\"${e}\" height=\"${e}\" viewBox=\"${i}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"status\" aria-label=\"Loading\" > <path d=\"M4.27827 10.002C4.27827 6.84166 6.84019 4.27973 10.0005 4.27973C10.7676 4.27973 11.3894 3.6579 11.3894 2.89084C11.3894 2.12378 10.7676 1.50195 10.0005 1.50195C5.30607 1.50195 1.50049 5.30753 1.50049 10.002C1.50049 14.6964 5.30607 18.502 10.0005 18.502C14.6949 18.502 18.5005 14.6964 18.5005 10.002C18.5005 9.23489 17.8787 8.61306 17.1116 8.61306C16.3445 8.61306 15.7227 9.23489 15.7227 10.002C15.7227 13.1622 13.1608 15.7242 10.0005 15.7242C6.84019 15.7242 4.27827 13.1622 4.27827 10.002Z\" fill=\"currentColor\" class=\"path\" /> </svg> </div> `}}"
46
+ "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-loader)\";this.size=\"medium\";this.compact=!1}getSize(){if(this.size in no)return no[this.size];let e=parseInt(this.size,10);return isNaN(e)?no.medium:e}render(){let e=this.getSize(),r=20,i=`0 0 ${r} ${r}`;return this.style.setProperty(\"--spinner-color\",this.color),this.style.setProperty(\"--spinner-size\",`${e}px`),m` <div class=\"spinner-container ${this.compact?\"compact\":\"\"}\"> <svg class=\"spinner\" width=\"${e}\" height=\"${e}\" viewBox=\"${i}\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" role=\"status\" aria-label=\"Loading\" > <path d=\"M4.27827 10.002C4.27827 6.84166 6.84019 4.27973 10.0005 4.27973C10.7676 4.27973 11.3894 3.6579 11.3894 2.89084C11.3894 2.12378 10.7676 1.50195 10.0005 1.50195C5.30607 1.50195 1.50049 5.30753 1.50049 10.002C1.50049 14.6964 5.30607 18.502 10.0005 18.502C14.6949 18.502 18.5005 14.6964 18.5005 10.002C18.5005 9.23489 17.8787 8.61306 17.1116 8.61306C16.3445 8.61306 15.7227 9.23489 15.7227 10.002C15.7227 13.1622 13.1608 15.7242 10.0005 15.7242C6.84019 15.7242 4.27827 13.1622 4.27827 10.002Z\" fill=\"currentColor\" class=\"path\" /> </svg> </div> `}}"
31
47
  },
32
48
  {
33
49
  "kind": "variable",
34
50
  "name": "Ce",
35
- "default": "class extends f{constructor(){super(...arguments);this.focusWithin=!1;this.hasError=!1}handleWrapperClick(e){if(e.target!==e.currentTarget)return;let r=this.findSlottedPrimerInput();r?r.focus():this.dispatchEvent(new CustomEvent(\"wrapper-click\",{bubbles:!0,composed:!0}))}findSlottedPrimerInput(){if(!this.inputSlot)return null;let e=this.inputSlot.assignedElements({flatten:!0}),r=e.find(i=>i.tagName.toLowerCase()===\"primer-input\");if(r)return r;for(let i of e){let n=i.querySelector(\"primer-input\");if(n)return n}return null}render(){let e={\"input-slot\":!0,\"focus-within\":this.focusWithin};return m` <div class=\"input-wrapper\"> <slot name=\"label\"></slot> <div class=\"${ce(e)}\" @click=\"${this.handleWrapperClick}\"> <slot name=\"input\"></slot> </div> <slot name=\"error\"></slot> </div> `}}"
51
+ "default": "class extends f{constructor(){super(...arguments);this.focusWithin=!1;this.hasError=!1}handleWrapperClick(e){if(e.target!==e.currentTarget)return;let r=this.findSlottedPrimerInput();r?r.focus():this.dispatchEvent(new CustomEvent(\"wrapper-click\",{bubbles:!0,composed:!0}))}findSlottedPrimerInput(){if(!this.inputSlot)return null;let e=this.inputSlot.assignedElements({flatten:!0}),r=e.find(i=>i.tagName.toLowerCase()===\"primer-input\");if(r)return r;for(let i of e){let s=i.querySelector(\"primer-input\");if(s)return s}return null}render(){let e={\"input-slot\":!0,\"focus-within\":this.focusWithin};return m` <div class=\"input-wrapper\"> <slot name=\"label\"></slot> <div class=\"${ce(e)}\" @click=\"${this.handleWrapperClick}\"> <slot name=\"input\"></slot> </div> <slot name=\"error\"></slot> </div> `}}"
36
52
  },
37
53
  {
38
54
  "kind": "variable",
39
- "name": "Le",
55
+ "name": "Ne",
40
56
  "default": "class extends f{constructor(){super(...arguments);this.for=\"\";this.disabled=!1}render(){return m`<label for=${this.for}><slot></slot></label>`}}"
41
57
  },
42
58
  {
43
59
  "kind": "variable",
44
- "name": "se",
60
+ "name": "ne",
45
61
  "default": "class extends f{constructor(){super(...arguments);this.variant=\"primary\";this.disabled=!1;this.loading=!1;this.buttonType=\"button\";this.selectionState=\"default\";this.selectable=!1}handleClick(){!this.selectable||this.disabled||this.loading||(this.selectionState=this.selectionState===\"default\"?\"checked\":\"default\",this.dispatchEvent(new CustomEvent(\"selection-change\",{bubbles:!0,composed:!0,detail:{state:this.selectionState}})))}renderCheckmark(){return!this.selectable||this.selectionState!==\"checked\"||this.loading?u:m` <primer-icon name=\"checkmark\" size=\"sm\" color=\"var(--primer-color-icon-primary)\" ></primer-icon> `}renderSpinner(){if(!this.loading)return u;let e;return this.variant===\"primary\"?e=\"var(--primer-color-background-outlined-default)\":(this.variant===\"secondary\"||this.variant===\"tertiary\")&&(e=\"var(--primer-color-gray-900)\"),m` <primer-spinner size=\"small\" color=\"${e}\" compact ></primer-spinner> `}render(){return m` <button type=${this.buttonType} ?disabled=${this.disabled||this.loading} @click=${this.handleClick} part=\"button\" aria-checked=${this.selectionState===\"checked\"} aria-busy=${this.loading} > ${this.renderSpinner()} <span class=\"button-content ${this.loading?\"loading\":\"\"}\"> <slot></slot> </span> ${this.renderCheckmark()} </button> `}}"
46
62
  },
47
63
  {
@@ -52,7 +68,7 @@
52
68
  {
53
69
  "kind": "variable",
54
70
  "name": "Ae",
55
- "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-icon-primary)\";this.size=\"lg\"}render(){let e=this.name?Mi[this.name]:null;return m` <div style=\"--internal-icon-color: ${this.color}\"> ${e||m`<slot></slot>`} </div> `}}"
71
+ "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-icon-primary)\";this.size=\"lg\"}render(){let e=this.name?Ni[this.name]:null;return m` <div style=\"--internal-icon-color: ${this.color}\"> ${e||m`<slot></slot>`} </div> `}}"
56
72
  },
57
73
  {
58
74
  "kind": "variable",
@@ -77,7 +93,7 @@
77
93
  {
78
94
  "kind": "variable",
79
95
  "name": "Z",
80
- "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this.klarnaCategories=null;this.selectedCategory=null;this.isExpanded=!1;this.headerAriaLabel=P(\"pay_with\",{id:\"pay_with\"});this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>{if(!e||!r)return D;let i=await r.getCDNAssets(\"KLARNA\");return{manager:e.manager,klarnaIcon:i?.assets?.icon?`${i.goatCdnUrl}/${i.assets.icon}`:\"\"}},args:()=>[this.paymentManagers.get(\"KLARNA\"),this.headlessUtils]})}toggleExpand(){this.isExpanded=!this.isExpanded,this.isExpanded||(this.selectedCategory=null)}async startKlarnaPayment(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory))try{await this._paymentMethodManagerTask.value.manager.start({paymentMethodCategoryId:this.selectedCategory})}catch(e){N.error(\"Failed to start Klarna payment\",e)}}async renderSelectedCategory(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory||!this.klarnaContainer))try{this.klarnaContainer.innerHTML=\"\",await this._paymentMethodManagerTask.value.manager.renderCategory({containerId:this.klarnaContainer,paymentMethodCategoryId:this.selectedCategory,onHeightChange:e=>{e>0&&(this.klarnaContainer.style.height=`${e}px`)}})}catch(e){N.error(\"Failed to render Klarna category\",e)}}selectCategory(e){this.selectedCategory=e,this.renderSelectedCategory()}updated(e){e.has(\"selectedCategory\")&&this.selectedCategory&&this.renderSelectedCategory()}renderCategorySelection(){let e=this.klarnaCategories?.categories||[];return this.klarnaCategories?.isLoading||!1?m`<div class=\"loading\"> <primer-spinner size=\"small\"></primer-spinner> </div>`:e.length<=1?u:m` <div class=\"category-selection\"> ${e.map(i=>m` <button class=${ce({\"category-button\":!0,selected:i.id===this.selectedCategory})} @click=${()=>{this.selectCategory(i.id)}} > ${i.name} </button> `)} </div> `}renderExpandedContent(){return m` ${this.renderCategorySelection()} ${this.selectedCategory?m` <div id=\"klarna-category-container\" class=\"klarna-category-container\" ></div> `:u} <button class=${ce({\"klarna-pay-button\":!0,loading:!!this.sdkState?.isProcessing,disabled:!this.selectedCategory})} ?disabled=${!this.selectedCategory||this.sdkState?.isProcessing} @click=${()=>this.startKlarnaPayment()} > ${P(\"confirm\",{id:\"confirm\"})} </button> `}render(){return this._paymentMethodManagerTask.render({error:e=>{let r=e instanceof Error?e.message:\"Unknown error in Klarna\";return m`<div class=\"error\"> Error loading Klarna: ${r} </div>`},complete:({manager:e,klarnaIcon:r})=>e?m` <div class=\"klarna-container ${this.isExpanded?\"expanded\":\"\"}\"> <div class=\"klarna-button-header\"> <primer-button buttonType=\"button\" variant=\"secondary\" class=\"klarna-button\" @click=${this.toggleExpand} aria-expanded=${this.isExpanded} aria-controls=\"collapsable-content\" aria-label=${this.headerAriaLabel} > <img src=${r} alt=\"Klarna logo\" /> <span>${P(\"pay_with\",{id:\"pay_with\"})} Klarna</span> <span class=\"klarna-accordion-icon ${this.isExpanded?\"expanded\":\"\"}\" > ▼ </span> </primer-button> </div> <div class=\"klarna-expanded-content ${this.isExpanded?\"visible\":\"\"}\" > <div class=\"klarna-accordion-content\"> ${this.renderExpandedContent()} </div> </div> </div> `:u})}}"
96
+ "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this.klarnaCategories=null;this.selectedCategory=null;this.isExpanded=!1;this.headerAriaLabel=T(\"pay_with\",{id:\"pay_with\"});this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>{if(!e||!r)return N;let i=await r.getCDNAssets(\"KLARNA\");return{manager:e.manager,klarnaIcon:i?.assets?.icon?`${i.goatCdnUrl}/${i.assets.icon}`:\"\"}},args:()=>[this.paymentManagers.get(\"KLARNA\"),this.headlessUtils]})}toggleExpand(){this.isExpanded=!this.isExpanded,this.isExpanded||(this.selectedCategory=null)}async startKlarnaPayment(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory))try{await this._paymentMethodManagerTask.value.manager.start({paymentMethodCategoryId:this.selectedCategory})}catch(e){k.error(\"Failed to start Klarna payment\",e)}}async renderSelectedCategory(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory||!this.klarnaContainer))try{this.klarnaContainer.innerHTML=\"\",await this._paymentMethodManagerTask.value.manager.renderCategory({containerId:this.klarnaContainer,paymentMethodCategoryId:this.selectedCategory,onHeightChange:e=>{e>0&&(this.klarnaContainer.style.height=`${e}px`)}})}catch(e){k.error(\"Failed to render Klarna category\",e)}}selectCategory(e){this.selectedCategory=e,this.renderSelectedCategory()}updated(e){e.has(\"selectedCategory\")&&this.selectedCategory&&this.renderSelectedCategory()}renderCategorySelection(){let e=this.klarnaCategories?.categories||[];return this.klarnaCategories?.isLoading||!1?m`<div class=\"loading\"> <primer-spinner size=\"small\"></primer-spinner> </div>`:e.length<=1?u:m` <div class=\"category-selection\"> ${e.map(i=>m` <button class=${ce({\"category-button\":!0,selected:i.id===this.selectedCategory})} @click=${()=>{this.selectCategory(i.id)}} > ${i.name} </button> `)} </div> `}renderExpandedContent(){return m` ${this.renderCategorySelection()} ${this.selectedCategory?m` <div id=\"klarna-category-container\" class=\"klarna-category-container\" ></div> `:u} <button class=${ce({\"klarna-pay-button\":!0,loading:!!this.sdkState?.isProcessing,disabled:!this.selectedCategory})} ?disabled=${!this.selectedCategory||this.sdkState?.isProcessing} @click=${()=>this.startKlarnaPayment()} > ${T(\"confirm\",{id:\"confirm\"})} </button> `}render(){return this._paymentMethodManagerTask.render({error:e=>{let r=e instanceof Error?e.message:\"Unknown error in Klarna\";return m`<div class=\"error\"> Error loading Klarna: ${r} </div>`},complete:({manager:e,klarnaIcon:r})=>e?m` <div class=\"klarna-container ${this.isExpanded?\"expanded\":\"\"}\"> <div class=\"klarna-button-header\"> <primer-button buttonType=\"button\" variant=\"secondary\" class=\"klarna-button\" @click=${this.toggleExpand} aria-expanded=${this.isExpanded} aria-controls=\"collapsable-content\" aria-label=${this.headerAriaLabel} > <img src=${r} alt=\"Klarna logo\" /> <span>${T(\"pay_with\",{id:\"pay_with\"})} Klarna</span> <span class=\"klarna-accordion-icon ${this.isExpanded?\"expanded\":\"\"}\" > ▼ </span> </primer-button> </div> <div class=\"klarna-expanded-content ${this.isExpanded?\"visible\":\"\"}\" > <div class=\"klarna-accordion-content\"> ${this.renderExpandedContent()} </div> </div> </div> `:u})}}"
81
97
  },
82
98
  {
83
99
  "kind": "variable",
@@ -87,7 +103,7 @@
87
103
  {
88
104
  "kind": "variable",
89
105
  "name": "ge",
90
- "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>!e||!r?D:r.get(e)?.manager,args:()=>[this.paymentMethod?.type,this.paymentManagers]});this._getAssetsTask=new V(this,{task:async([e,r])=>{if(!e||!r)return D;let i=r.getPaymentMethodConfiguration(e);return i?{backgroundColor:i.displayMetadata.button.backgroundColor.colored,name:i.name,iconUrl:i.displayMetadata.button.iconUrl.colored}:D},args:()=>[this.paymentMethod?.type,this.headlessUtils]});this._setupTasks=new V(this,{task:async([e,r])=>!e||!r?D:{paymentMethodManager:e,assetsConfig:r},args:()=>[this._paymentMethodManagerTask.value,this._getAssetsTask.value]})}startRedirectPayment(){this._paymentMethodManagerTask.value&&this._paymentMethodManagerTask.value.start()}render(){return this._setupTasks.render({error:()=>u,complete:({assetsConfig:e})=>(this.style.setProperty(\"--redirect-payment-button-bg-color\",e.backgroundColor),m` <primer-button @click=\"${()=>this.startRedirectPayment()}\" class=${ce({loading:!!this.sdkState?.isProcessing})} title=\"${P(\"pay_with\",{id:\"pay_with\"})} ${e.name}\" > <span class=\"image-container\"> <img src=\"${e.iconUrl}\" alt=\"${e.name}\" /> </span> </primer-button>`)})}}"
106
+ "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>!e||!r?N:r.get(e)?.manager,args:()=>[this.paymentMethod?.type,this.paymentManagers]});this._getAssetsTask=new V(this,{task:async([e,r])=>{if(!e||!r)return N;let i=r.getPaymentMethodConfiguration(e);return i?{backgroundColor:i.displayMetadata.button.backgroundColor.colored,name:i.name,iconUrl:i.displayMetadata.button.iconUrl.colored}:N},args:()=>[this.paymentMethod?.type,this.headlessUtils]});this._setupTasks=new V(this,{task:async([e,r])=>!e||!r?N:{paymentMethodManager:e,assetsConfig:r},args:()=>[this._paymentMethodManagerTask.value,this._getAssetsTask.value]})}startRedirectPayment(){this._paymentMethodManagerTask.value&&this._paymentMethodManagerTask.value.start()}render(){return this._setupTasks.render({error:()=>u,complete:({assetsConfig:e})=>(this.style.setProperty(\"--redirect-payment-button-bg-color\",e.backgroundColor),m` <primer-button @click=\"${()=>this.startRedirectPayment()}\" class=${ce({loading:!!this.sdkState?.isProcessing})} title=\"${T(\"pay_with\",{id:\"pay_with\"})} ${e.name}\" > <span class=\"image-container\"> <img src=\"${e.iconUrl}\" alt=\"${e.name}\" /> </span> </primer-button>`)})}}"
91
107
  },
92
108
  {
93
109
  "kind": "variable",
@@ -97,91 +113,91 @@
97
113
  {
98
114
  "kind": "variable",
99
115
  "name": "Me",
100
- "default": "class extends f{constructor(){super();this.paymentManagers=new Map;this.computedStyles=null;this._buttonId=\"button-container\";this.loadManagerTask=new V(this,{args:()=>[this.paymentMethod?.type],task:async([e])=>{if(!e)return D;let r=this.paymentManagers.get(e)?.manager;if(!r)throw new Error(`No manager found for payment method type ${e}`);return r}}),new V(this,{args:()=>[this.loadManagerTask.value],task:async([e])=>{if(!e)return D;await this.updateComplete;let r=this.shadowRoot?.getElementById(this._buttonId);if(!r)return;let i=this.calculateButtonHeight(),n=e.createButton(),p=this.createRenderOptions(i);return await n.render(this.paymentMethod?.type===\"GOOGLE_PAY\"?this.shadowRoot?.getRootNode():r,p),e}})}calculateButtonHeight(){if(typeof window>\"u\"||!this.isConnected||!this.computedStyles)return 0;let e=parseFloat(this.computedStyles.getPropertyValue(\"--primer-typography-title-large-line-height\")),r=parseFloat(this.computedStyles.getPropertyValue(\"--primer-space-medium\"));return e+2*r}createRenderOptions(e){let r=this.paymentMethod?.type;return r===\"GOOGLE_PAY\"?{style:{shadowRoot:!0}}:r===\"APPLE_PAY\"?{style:{buttonHeight:e}}:r===\"PAYPAL\"?{style:{buttonHeight:e}}:{style:{buttonHeight:e}}}updated(e){e.has(\"paymentMethod\")&&this.paymentMethod&&(this._buttonId=`button-container-${this.paymentMethod.type}`)}render(){return this.loadManagerTask.render({error:()=>u,complete:()=>m` <!-- The native button container is rendered first --> <div class=\"native-button-container\" id=\"${this._buttonId}\"></div> `,pending:()=>u})}}"
116
+ "default": "class extends f{constructor(){super();this.paymentManagers=new Map;this.computedStyles=null;this._buttonId=\"button-container\";this.loadManagerTask=new V(this,{args:()=>[this.paymentMethod?.type],task:async([e])=>{if(!e)return N;let r=this.paymentManagers.get(e)?.manager;if(!r)throw new Error(`No manager found for payment method type ${e}`);return r}}),new V(this,{args:()=>[this.loadManagerTask.value],task:async([e])=>{if(!e)return N;await this.updateComplete;let r=this.shadowRoot?.getElementById(this._buttonId);if(!r)return;let i=this.calculateButtonHeight(),s=e.createButton(),p=this.createRenderOptions(i);return await s.render(this.paymentMethod?.type===\"GOOGLE_PAY\"?this.shadowRoot?.getRootNode():r,p),e}})}calculateButtonHeight(){if(typeof window>\"u\"||!this.isConnected||!this.computedStyles)return 0;let e=parseFloat(this.computedStyles.getPropertyValue(\"--primer-typography-title-large-line-height\")),r=parseFloat(this.computedStyles.getPropertyValue(\"--primer-space-medium\"));return e+2*r}createRenderOptions(e){let r=this.paymentMethod?.type;return r===\"GOOGLE_PAY\"?{style:{shadowRoot:!0}}:r===\"APPLE_PAY\"?{style:{buttonHeight:e}}:r===\"PAYPAL\"?{style:{buttonHeight:e}}:{style:{buttonHeight:e}}}updated(e){e.has(\"paymentMethod\")&&this.paymentMethod&&(this._buttonId=`button-container-${this.paymentMethod.type}`)}render(){return this.loadManagerTask.render({error:()=>u,complete:()=>m` <!-- The native button container is rendered first --> <div class=\"native-button-container\" id=\"${this._buttonId}\"></div> `,pending:()=>u})}}"
101
117
  },
102
118
  {
103
119
  "kind": "variable",
104
- "name": "_e",
105
- "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.selectedCardNetwork=null;this.paymentManagers=new Map;this.cardFormProvider=new K(this,{context:gr,initialValue:null});this.eventsController=new tt(this);this.setupCardFormTask=new V(this,{task:async([e])=>{if(!e?.manager)return D;let{manager:r}=e,{cardNumberInput:i,expiryInput:n,cvvInput:p}=r.createHostedInputs();return this.cardFormProvider.setValue({cardNumberInput:i,expiryInput:n,cvvInput:p,setCardholderName:x=>r.setCardholderName(x),setCardNetwork:x=>{this.selectedCardNetwork=x},validate:()=>r.validate(),submit:x=>r.submit(x)}),!0},args:()=>[this.paymentManagers.get(\"PAYMENT_CARD\")]});this.handleSlotButtonClick=e=>{let i=e.target.closest(\"button, primer-button\");if(!i)return;this.isSubmitButton(i)&&(e.preventDefault(),this.submitCardPayment())};this.handleDirectSubmit=e=>{e.stopPropagation(),this.submitCardPayment()};this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0};this.handleFormSubmit=e=>{e.preventDefault(),e.stopPropagation(),this.submitCardPayment()}}connectedCallback(){super.connectedCallback(),this.addEventListener(\"click\",this.handleSlotButtonClick),this.addEventListener(\"primer-form-submit\",this.handleDirectSubmit)}disconnectedCallback(){this.removeEventListener(\"click\",this.handleSlotButtonClick),this.removeEventListener(\"primer-form-submit\",this.handleDirectSubmit),super.disconnectedCallback()}isSubmitButton(e){let r=e.tagName.toLowerCase(),i=r===\"button\",n=r===\"primer-button\";return i&&(e.getAttribute(\"type\")===\"submit\"||e.hasAttribute(\"data-submit\"))||n&&(e.getAttribute(\"buttonType\")===\"submit\"||e.hasAttribute(\"data-submit\"))}async submitCardPayment(){let e=this.cardFormProvider.value;if(!e)return;let r=await e.validate?.();if(r?.valid){let i=await e.submit?.(this.selectedCardNetwork?{cardNetwork:this.selectedCardNetwork}:void 0);this.eventsController.dispatchFormSubmitSuccess(i)}else{let i=r?.validationErrors;this.cardFormProvider.setValue({...e,errors:i}),this.eventsController.dispatchFormSubmitErrors(i)}}render(){return this.setupCardFormTask.status===ke.ERROR||this.setupCardFormTask.status===ke.INITIAL?u:m` <form @submit=${this.handleFormSubmit}> <slot name=\"card-form-content\" @slotchange=${this.onSlotChange}></slot> ${this.setupCardFormTask.render({complete:()=>$(this.hasAssignedContent,()=>u,()=>m` <div class=\"card-form\"> <primer-input-card-number></primer-input-card-number> <div class=\"card-form-row\"> <primer-input-card-expiry></primer-input-card-expiry> <primer-input-cvv></primer-input-cvv> </div> <primer-input-card-holder-name></primer-input-card-holder-name> </div> <primer-card-form-submit></primer-card-form-submit> `)})} </form> `}}"
120
+ "name": "Se",
121
+ "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.selectedCardNetwork=null;this.paymentManagers=new Map;this.cardFormProvider=new K(this,{context:vr,initialValue:null});this.eventsController=new tt(this);this.setupCardFormTask=new V(this,{task:async([e])=>{if(!e?.manager)return N;let{manager:r}=e,{cardNumberInput:i,expiryInput:s,cvvInput:p}=r.createHostedInputs();return this.cardFormProvider.setValue({cardNumberInput:i,expiryInput:s,cvvInput:p,setCardholderName:x=>r.setCardholderName(x),setCardNetwork:x=>{this.selectedCardNetwork=x},validate:()=>r.validate(),submit:x=>r.submit(x)}),!0},args:()=>[this.paymentManagers.get(\"PAYMENT_CARD\")]});this.handleSlotButtonClick=e=>{let i=e.target.closest(\"button, primer-button\");if(!i)return;this.isSubmitButton(i)&&(e.preventDefault(),this.submitCardPayment())};this.handleDirectSubmit=e=>{e.stopPropagation(),this.submitCardPayment()};this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0};this.handleFormSubmit=e=>{e.preventDefault(),e.stopPropagation(),this.submitCardPayment()}}connectedCallback(){super.connectedCallback(),this.addEventListener(\"click\",this.handleSlotButtonClick),this.addEventListener(\"primer-form-submit\",this.handleDirectSubmit)}disconnectedCallback(){this.removeEventListener(\"click\",this.handleSlotButtonClick),this.removeEventListener(\"primer-form-submit\",this.handleDirectSubmit),super.disconnectedCallback()}isSubmitButton(e){let r=e.tagName.toLowerCase(),i=r===\"button\",s=r===\"primer-button\";return i&&(e.getAttribute(\"type\")===\"submit\"||e.hasAttribute(\"data-submit\"))||s&&(e.getAttribute(\"buttonType\")===\"submit\"||e.hasAttribute(\"data-submit\"))}async submitCardPayment(){let e=this.cardFormProvider.value;if(!e)return;let r=await e.validate?.();if(r?.valid){let i=await e.submit?.(this.selectedCardNetwork?{cardNetwork:this.selectedCardNetwork}:void 0);this.eventsController.dispatchFormSubmitSuccess(i)}else{let i=r?.validationErrors;this.cardFormProvider.setValue({...e,errors:i}),this.eventsController.dispatchFormSubmitErrors(i)}}render(){return this.setupCardFormTask.status===we.ERROR||this.setupCardFormTask.status===we.INITIAL?u:m` <form @submit=${this.handleFormSubmit}> <slot name=\"card-form-content\" @slotchange=${this.onSlotChange}></slot> ${this.setupCardFormTask.render({complete:()=>$(this.hasAssignedContent,()=>u,()=>m` <div class=\"card-form\"> <primer-input-card-number></primer-input-card-number> <div class=\"card-form-row\"> <primer-input-card-expiry></primer-input-card-expiry> <primer-input-cvv></primer-input-cvv> </div> <primer-input-card-holder-name></primer-input-card-holder-name> </div> <primer-card-form-submit></primer-card-form-submit> `)})} </form> `}}"
106
122
  },
107
123
  {
108
124
  "kind": "variable",
109
125
  "name": "lt",
110
- "default": "class extends j{constructor(){super();this.config={inputType:\"cardNumber\",containerSelector:\"#cardNumber\",errorName:\"cardNumber-card\",translations:{label:{id:\"cardNumber\",defaultMessage:\"Card Number\"},placeholder:\"4111 1111 1111 1111\",ariaLabel:{id:\"cardNumber\",defaultMessage:\"Card Number\"}}};this.childUpdated()}handleNetworkSelected(e){let{network:r}=e.detail;this.cardFormContext&&this.cardFormContext.setCardNetwork(r)}renderInput(){if(this.hostedInputController.setupTask.status===ke.ERROR)return u;let e=this.getError();return m` <primer-input-wrapper .focusWithin=\"${this.hostedInputController.isFocused}\" .hasError=${!!e} > <primer-input-label slot=\"label\">${this.label}</primer-input-label> <div slot=\"input\" class=\"card-number-container\"> <div id=\"${this.config.containerSelector.substring(1)}\"></div> <div class=\"network-selector-container\"> <primer-card-network-selector @network-selected=${this.handleNetworkSelected} ></primer-card-network-selector> </div> </div> ${$(e,r=>m` <primer-input-error slot=\"error\"> ${P(r,{id:r})} </primer-input-error> `,()=>u)} </primer-input-wrapper> `}render(){return this.renderInput()}}"
126
+ "default": "class extends G{constructor(){super();this.config={inputType:\"cardNumber\",containerSelector:\"#cardNumber\",errorName:\"cardNumber-card\",translations:{label:{id:\"cardNumber\",defaultMessage:\"Card Number\"},placeholder:\"4111 1111 1111 1111\",ariaLabel:{id:\"cardNumber\",defaultMessage:\"Card Number\"}}};this.childUpdated()}handleNetworkSelected(e){let{network:r}=e.detail;this.cardFormContext&&this.cardFormContext.setCardNetwork(r)}renderInput(){if(this.hostedInputController.setupTask.status===we.ERROR)return u;let e=this.getError();return m` <primer-input-wrapper .focusWithin=\"${this.hostedInputController.isFocused}\" .hasError=${!!e} > <primer-input-label slot=\"label\">${this.label}</primer-input-label> <div slot=\"input\" class=\"card-number-container\"> <div id=\"${this.config.containerSelector.substring(1)}\"></div> <div class=\"network-selector-container\"> <primer-card-network-selector @network-selected=${this.handleNetworkSelected} ></primer-card-network-selector> </div> </div> ${$(e,r=>m` <primer-input-error slot=\"error\"> ${T(r,{id:r})} </primer-input-error> `,()=>u)} </primer-input-wrapper> `}render(){return this.renderInput()}}"
111
127
  },
112
128
  {
113
129
  "kind": "variable",
114
130
  "name": "dt",
115
- "default": "class extends j{constructor(){super();this.config={inputType:\"cvv\",containerSelector:\"#cvv\",errorName:\"cvv-card\",translations:{label:\"CVV\",placeholder:\"123\"}};this.childUpdated()}render(){return this.renderInput()}}"
131
+ "default": "class extends G{constructor(){super();this.config={inputType:\"cvv\",containerSelector:\"#cvv\",errorName:\"cvv-card\",translations:{label:\"CVV\",placeholder:\"123\"}};this.childUpdated()}render(){return this.renderInput()}}"
116
132
  },
117
133
  {
118
134
  "kind": "variable",
119
135
  "name": "ct",
120
- "default": "class extends j{constructor(){super();this.config={inputType:\"expire\",containerSelector:\"#expiry\",errorName:\"expiryDate-card\",translations:{label:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"},placeholder:{id:\"cardExpiryPlaceholder\",defaultMessage:\"MM/YY\"},ariaLabel:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"}}};this.childUpdated()}render(){return this.renderInput()}}"
136
+ "default": "class extends G{constructor(){super();this.config={inputType:\"expire\",containerSelector:\"#expiry\",errorName:\"expiryDate-card\",translations:{label:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"},placeholder:{id:\"cardExpiryPlaceholder\",defaultMessage:\"MM/YY\"},ariaLabel:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"}}};this.childUpdated()}render(){return this.renderInput()}}"
121
137
  },
122
138
  {
123
139
  "kind": "variable",
124
140
  "name": "pt",
125
- "default": "class extends j{constructor(){super();this.config={inputType:\"cardholderName\",containerSelector:\"#cardFormName\",errorName:\"cardholderName\",translations:{label:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"},placeholder:{id:\"cardholderNamePlaceholder\",defaultMessage:\"Name on card\"},ariaLabel:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"}},onInput:e=>this.handleInput(e)};this.childUpdated()}handleInput(e){this.cardFormContext?.setCardholderName?.(e)}render(){return this.renderInput()}}"
141
+ "default": "class extends G{constructor(){super();this.config={inputType:\"cardholderName\",containerSelector:\"#cardFormName\",errorName:\"cardholderName\",translations:{label:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"},placeholder:{id:\"cardholderNamePlaceholder\",defaultMessage:\"Name on card\"},ariaLabel:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"}},onInput:e=>this.handleInput(e)};this.childUpdated()}handleInput(e){this.cardFormContext?.setCardholderName?.(e)}render(){return this.renderInput()}}"
126
142
  },
127
143
  {
128
144
  "kind": "variable",
129
- "name": "ne",
130
- "default": "class extends f{constructor(){super(...arguments);this._userAssignedProps=new Set;this._internalButtonText=\"\";this.headlessInstance=null;this.clientOptions=null;this.sdkState=null;this.variant=\"primary\";this.disabled=!1;this.handleClick=e=>{if(e.preventDefault(),this.disabled)return;let r=new CustomEvent(\"primer-form-submit\",{bubbles:!0,composed:!0,detail:{source:\"primer-card-form-submit\"}});this.dispatchEvent(r)}}get buttonText(){return this._userAssignedProps.has(\"buttonText\")?this._internalButtonText:P(\"pay\",{id:\"pay\"})}set buttonText(e){let r=this.buttonText;e!==\"\"?(this._userAssignedProps.add(\"buttonText\"),this._internalButtonText=e):(this._userAssignedProps.delete(\"buttonText\"),this._internalButtonText=\"\"),this.requestUpdate(\"buttonText\",r)}render(){let e=this.clientOptions?.submitButton?.amountVisible?this.headlessInstance?.getUIOrderAmount():null,r=e?` ${e}`:u;return m` <primer-button buttonType=\"submit\" variant=${this.variant} ?disabled=${this.disabled} @click=${this.handleClick} .loading=${!!this.sdkState?.isProcessing} data-submit > ${this.buttonText}${r} </primer-button> `}}"
145
+ "name": "se",
146
+ "default": "class extends f{constructor(){super(...arguments);this._userAssignedProps=new Set;this._internalButtonText=\"\";this.headlessInstance=null;this.clientOptions=null;this.sdkState=null;this.variant=\"primary\";this.disabled=!1;this.handleClick=e=>{if(e.preventDefault(),this.disabled)return;let r=new CustomEvent(\"primer-form-submit\",{bubbles:!0,composed:!0,detail:{source:\"primer-card-form-submit\"}});this.dispatchEvent(r)}}get buttonText(){return this._userAssignedProps.has(\"buttonText\")?this._internalButtonText:T(\"pay\",{id:\"pay\"})}set buttonText(e){let r=this.buttonText;e!==\"\"?(this._userAssignedProps.add(\"buttonText\"),this._internalButtonText=e):(this._userAssignedProps.delete(\"buttonText\"),this._internalButtonText=\"\"),this.requestUpdate(\"buttonText\",r)}render(){let e=this.clientOptions?.submitButton?.amountVisible?this.headlessInstance?.getUIOrderAmount():null,r=e?` ${e}`:u;return m` <primer-button buttonType=\"submit\" variant=${this.variant} ?disabled=${this.disabled} @click=${this.handleClick} .loading=${!!this.sdkState?.isProcessing} data-submit > ${this.buttonText}${r} </primer-button> `}}"
131
147
  },
132
148
  {
133
149
  "kind": "variable",
134
150
  "name": "le",
135
- "default": "class extends f{constructor(){super(...arguments);this.cardNetworks=null;this.headlessUtils=null;this.selectedCardNetwork=null;this.isDropdownOpen=!1;this.focusedNetworkIndex=0;this.isKeyboardNavigation=!1;this.buttonRef=ao();this.dropdownRef=ao();this.networkOptionRefs=[];this.handleClickOutside=e=>{this.isDropdownOpen&&(this.contains(e.target)||(this.isDropdownOpen=!1,this.isKeyboardNavigation=!1))};this.handleMouseMove=()=>{this.isKeyboardNavigation&&(this.isKeyboardNavigation=!1)};this.handleKeyDown=e=>{if(!(!(this.getSelectableNetworks().length>1)||!(this.contains(e.target)||this===e.target||this.isDropdownOpen&&e.target===document.body)))switch(this.isKeyboardNavigation=!0,e.key){case\"ArrowDown\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex+1)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"ArrowUp\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex-1+this.getSelectableNetworks().length)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Enter\":case\" \":this.isDropdownOpen&&this.focusedNetworkIndex>=0?(e.preventDefault(),this.selectNetwork(e,this.getSelectableNetworks()[this.focusedNetworkIndex])):!this.isDropdownOpen&&this.buttonRef.value===document.activeElement&&(e.preventDefault(),this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Escape\":this.isDropdownOpen&&(e.preventDefault(),this.isDropdownOpen=!1,this.buttonRef.value?.focus());break;case\"Tab\":this.isDropdownOpen&&(this.isDropdownOpen=!1);break}};this.handleDocumentKeyDown=e=>{this.isDropdownOpen&&this.handleKeyDown(e)}}toggleDropdown(e){this.isKeyboardNavigation=!1,e.stopPropagation(),this.getSelectableNetworks().length>1&&(this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}getNetworkIconUrl(e){return this.headlessUtils?.getCardNetworkAsset(e.network)?.cardUrl}getSelectableNetworks(){return this.cardNetworks?.selectableCardNetworks||[]}getDetectedNetwork(){return this.selectedCardNetwork??(this.cardNetworks?.detectedCardNetwork||null)}getSelectedNetworkIndex(){let e=this.getDetectedNetwork();if(!e)return 0;let r=this.getSelectableNetworks().findIndex(i=>i.network===e.network);return r>=0?r:0}selectNetwork(e,r){e.stopPropagation(),this.selectedCardNetwork=r,this.isDropdownOpen=!1,this.buttonRef.value?.focus(),this.cardNetworks&&this.dispatchEvent(new CustomEvent(\"network-selected\",{detail:{network:r.network},bubbles:!0,composed:!0}))}focusNetworkOption(){requestAnimationFrame(()=>{this.networkOptionRefs[this.focusedNetworkIndex]&&this.networkOptionRefs[this.focusedNetworkIndex].focus()})}setNetworkOptionRef(e,r){this.networkOptionRefs[r]=e}connectedCallback(){super.connectedCallback(),setTimeout(()=>{document.addEventListener(\"click\",this.handleClickOutside),document.addEventListener(\"mousemove\",this.handleMouseMove),this.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"keydown\",this.handleDocumentKeyDown)},0)}disconnectedCallback(){document.removeEventListener(\"click\",this.handleClickOutside),document.removeEventListener(\"keydown\",this.handleDocumentKeyDown),document.removeEventListener(\"mousemove\",this.handleMouseMove),this.removeEventListener(\"keydown\",this.handleKeyDown),super.disconnectedCallback()}render(){if(this.cardNetworks?.isLoading)return m`<primer-spinner size=\"small\" compact></primer-spinner>`;let e=this.getSelectableNetworks();if(!this.getDetectedNetwork()&&e.length===0)return m`<primer-icon name=\"payment-card\"></primer-icon>`;let r=this.getDetectedNetwork()||(e.length>0?e[0]:null);if(!r)return m`<primer-icon name=\"payment-card\" size=\"sm\"></primer-icon>`;let i=e.length>1;return m` <button ${br(this.buttonRef)} class=\"network-selector\" @click=${this.toggleDropdown} @keydown=${n=>{(n.key===\" \"||n.key===\"Enter\")&&i&&(n.preventDefault(),this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}} aria-label=${i?`Selected card network: ${r.displayName}. Click to change.`:`Card network: ${r.displayName}`} aria-expanded=${i?this.isDropdownOpen:u} aria-haspopup=${i?\"true\":u} aria-controls=${i?\"network-dropdown\":u} > <img class=\"network-icon\" src=${this.getNetworkIconUrl(r)} alt=${r.displayName} /> ${$(i,()=>m` <primer-icon class=\"caret ${this.isDropdownOpen?\"open\":\"\"}\" name=\"chevron-down\" ></primer-icon> `,()=>u)} </button> ${$(this.isDropdownOpen,()=>m` <div ${br(this.dropdownRef)} id=\"network-dropdown\" class=\"dropdown open\" role=\"listbox\" aria-label=\"Select card network\" > ${e.map((n,p)=>m` <div ${br(x=>this.setNetworkOptionRef(x,p))} class=\"network-option ${this.isKeyboardNavigation&&p===this.focusedNetworkIndex?\"focused\":\"\"}\" @click=${x=>this.selectNetwork(x,n)} @keydown=${x=>{(x.key===\"Enter\"||x.key===\" \")&&this.selectNetwork(x,n)}} role=\"option\" aria-selected=${n.network===r.network} tabindex=\"${p===this.focusedNetworkIndex?\"0\":\"-1\"}\" > <img class=\"network-option-icon\" src=${this.getNetworkIconUrl(n)} alt=${n.displayName} /> <span class=\"network-name\">${n.displayName}</span> ${$(n.network===r.network,()=>m` <primer-icon class=\"checkmark\" name=\"checkmark\" ></primer-icon> `,()=>u)} </div> `)} </div> `,()=>u)} `}}"
151
+ "default": "class extends f{constructor(){super(...arguments);this.cardNetworks=null;this.headlessUtils=null;this.selectedCardNetwork=null;this.isDropdownOpen=!1;this.focusedNetworkIndex=0;this.isKeyboardNavigation=!1;this.buttonRef=co();this.dropdownRef=co();this.networkOptionRefs=[];this.handleClickOutside=e=>{this.isDropdownOpen&&(this.contains(e.target)||(this.isDropdownOpen=!1,this.isKeyboardNavigation=!1))};this.handleMouseMove=()=>{this.isKeyboardNavigation&&(this.isKeyboardNavigation=!1)};this.handleKeyDown=e=>{if(!(!(this.getSelectableNetworks().length>1)||!(this.contains(e.target)||this===e.target||this.isDropdownOpen&&e.target===document.body)))switch(this.isKeyboardNavigation=!0,e.key){case\"ArrowDown\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex+1)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"ArrowUp\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex-1+this.getSelectableNetworks().length)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Enter\":case\" \":this.isDropdownOpen&&this.focusedNetworkIndex>=0?(e.preventDefault(),this.selectNetwork(e,this.getSelectableNetworks()[this.focusedNetworkIndex])):!this.isDropdownOpen&&this.buttonRef.value===document.activeElement&&(e.preventDefault(),this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Escape\":this.isDropdownOpen&&(e.preventDefault(),this.isDropdownOpen=!1,this.buttonRef.value?.focus());break;case\"Tab\":this.isDropdownOpen&&(this.isDropdownOpen=!1);break}};this.handleDocumentKeyDown=e=>{this.isDropdownOpen&&this.handleKeyDown(e)}}toggleDropdown(e){this.isKeyboardNavigation=!1,e.stopPropagation(),this.getSelectableNetworks().length>1&&(this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}getNetworkIconUrl(e){return this.headlessUtils?.getCardNetworkAsset(e.network)?.cardUrl}getSelectableNetworks(){return this.cardNetworks?.selectableCardNetworks||[]}getDetectedNetwork(){return this.selectedCardNetwork??(this.cardNetworks?.detectedCardNetwork||null)}getSelectedNetworkIndex(){let e=this.getDetectedNetwork();if(!e)return 0;let r=this.getSelectableNetworks().findIndex(i=>i.network===e.network);return r>=0?r:0}selectNetwork(e,r){e.stopPropagation(),this.selectedCardNetwork=r,this.isDropdownOpen=!1,this.buttonRef.value?.focus(),this.cardNetworks&&this.dispatchEvent(new CustomEvent(\"network-selected\",{detail:{network:r.network},bubbles:!0,composed:!0}))}focusNetworkOption(){requestAnimationFrame(()=>{this.networkOptionRefs[this.focusedNetworkIndex]&&this.networkOptionRefs[this.focusedNetworkIndex].focus()})}setNetworkOptionRef(e,r){this.networkOptionRefs[r]=e}connectedCallback(){super.connectedCallback(),setTimeout(()=>{document.addEventListener(\"click\",this.handleClickOutside),document.addEventListener(\"mousemove\",this.handleMouseMove),this.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"keydown\",this.handleDocumentKeyDown)},0)}disconnectedCallback(){document.removeEventListener(\"click\",this.handleClickOutside),document.removeEventListener(\"keydown\",this.handleDocumentKeyDown),document.removeEventListener(\"mousemove\",this.handleMouseMove),this.removeEventListener(\"keydown\",this.handleKeyDown),super.disconnectedCallback()}render(){if(this.cardNetworks?.isLoading)return m`<primer-spinner size=\"small\" compact></primer-spinner>`;let e=this.getSelectableNetworks();if(!this.getDetectedNetwork()&&e.length===0)return m`<primer-icon name=\"payment-card\"></primer-icon>`;let r=this.getDetectedNetwork()||(e.length>0?e[0]:null);if(!r)return m`<primer-icon name=\"payment-card\" size=\"sm\"></primer-icon>`;let i=e.length>1;return m` <button ${Cr(this.buttonRef)} class=\"network-selector\" @click=${this.toggleDropdown} @keydown=${s=>{(s.key===\" \"||s.key===\"Enter\")&&i&&(s.preventDefault(),this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}} aria-label=${i?`Selected card network: ${r.displayName}. Click to change.`:`Card network: ${r.displayName}`} aria-expanded=${i?this.isDropdownOpen:u} aria-haspopup=${i?\"true\":u} aria-controls=${i?\"network-dropdown\":u} > <img class=\"network-icon\" src=${this.getNetworkIconUrl(r)} alt=${r.displayName} /> ${$(i,()=>m` <primer-icon class=\"caret ${this.isDropdownOpen?\"open\":\"\"}\" name=\"chevron-down\" ></primer-icon> `,()=>u)} </button> ${$(this.isDropdownOpen,()=>m` <div ${Cr(this.dropdownRef)} id=\"network-dropdown\" class=\"dropdown open\" role=\"listbox\" aria-label=\"Select card network\" > ${e.map((s,p)=>m` <div ${Cr(x=>this.setNetworkOptionRef(x,p))} class=\"network-option ${this.isKeyboardNavigation&&p===this.focusedNetworkIndex?\"focused\":\"\"}\" @click=${x=>this.selectNetwork(x,s)} @keydown=${x=>{(x.key===\"Enter\"||x.key===\" \")&&this.selectNetwork(x,s)}} role=\"option\" aria-selected=${s.network===r.network} tabindex=\"${p===this.focusedNetworkIndex?\"0\":\"-1\"}\" > <img class=\"network-option-icon\" src=${this.getNetworkIconUrl(s)} alt=${s.displayName} /> <span class=\"network-name\">${s.displayName}</span> ${$(s.network===r.network,()=>m` <primer-icon class=\"checkmark\" name=\"checkmark\" ></primer-icon> `,()=>u)} </div> `)} </div> `,()=>u)} `}}"
136
152
  },
137
153
  {
138
154
  "kind": "variable",
139
155
  "name": "pe",
140
- "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.isEditMode=!1;this.deletePaymentMethodId=null;this.isDeleting=!1;this.errorMessage=\"\"}handleToggleEditMode(e){this.isEditMode=e.detail,this.deletePaymentMethodId=null}handleDeletePaymentMethod(e){this.deletePaymentMethodId=e.detail}handleCancelDelete(){this.deletePaymentMethodId=null}async handleConfirmDelete(){if(!this.vaultManagerContext?.deleteVaultedPaymentMethod||!this.deletePaymentMethodId){this.errorMessage=P(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"});return}try{this.isDeleting=!0,await this.vaultManagerContext.deleteVaultedPaymentMethod(this.deletePaymentMethodId),this.deletePaymentMethodId=null}catch(e){this.errorMessage=e instanceof Error?e.message:P(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"})}finally{this.isDeleting=!1}}handlePaymentError(e){let r=e.detail?.error;this.errorMessage=r instanceof Error?r.message:P(\"payment_processing_error\",{id:\"payment_processing_error\"})}handleCloseError(){this.errorMessage=\"\"}getPaymentMethodName(e){if(!this.vaultManagerContext)return\"\";let r=this.vaultManagerContext.vaultedPaymentMethods.find(i=>i.id===e);if(!r)return\"\";try{return Cr(r).description||\"\"}catch{return\"\"}}renderDeleteConfirmation(){if(!this.deletePaymentMethodId)return u;let e=this.getPaymentMethodName(this.deletePaymentMethodId);return m` <div class=\"delete-confirmation-container\"> <primer-vault-delete-confirmation .isDeleting=${this.isDeleting} .paymentMethodId=${this.deletePaymentMethodId} .paymentMethodName=${e} @confirm-delete=${this.handleConfirmDelete} @cancel-delete=${this.handleCancelDelete} ></primer-vault-delete-confirmation> </div> `}renderPaymentMethodItem(e){return this.deletePaymentMethodId===e.id?u:m` <primer-vault-payment-method-item .paymentMethod=${e} .isEditMode=${this.isEditMode} @delete-payment-method=${this.handleDeletePaymentMethod} ></primer-vault-payment-method-item> `}render(){if(!this.vaultManagerContext?.enabled)return u;let e=this.vaultManagerContext.vaultedPaymentMethods.length>0,r=this.vaultManagerContext.isLoading,i=!this.isEditMode&&e&&!r&&!this.deletePaymentMethodId;return m` <div class=\"vault-manager\"> <primer-vault-manager-header .isEditMode=${this.isEditMode} .hasPaymentMethods=${e} @toggle-edit-mode=${this.handleToggleEditMode} ></primer-vault-manager-header> ${$(this.errorMessage,()=>m` <primer-vault-error-message .errorMessage=${this.errorMessage} @close-error=${this.handleCloseError} ></primer-vault-error-message> `,()=>u)} <div class=\"vault-manager-content\"> ${$(!r&&!e,()=>m`<primer-vault-empty-state></primer-vault-empty-state>`,()=>u)} ${$(!r&&e&&this.deletePaymentMethodId,()=>this.renderDeleteConfirmation(),()=>u)} ${$(!r&&e&&!this.deletePaymentMethodId,()=>m` <div class=\"payment-methods-list\"> ${this.vaultManagerContext?.vaultedPaymentMethods.map(n=>this.renderPaymentMethodItem(n))} ${$(i,()=>m` <primer-vault-payment-submit @primer-vault-payment-error=${this.handlePaymentError} ></primer-vault-payment-submit> `,()=>u)} </div> `,()=>u)} </div> </div> `}}"
156
+ "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.isEditMode=!1;this.deletePaymentMethodId=null;this.isDeleting=!1;this.errorMessage=\"\"}handleToggleEditMode(e){this.isEditMode=e.detail,this.deletePaymentMethodId=null}handleDeletePaymentMethod(e){this.deletePaymentMethodId=e.detail}handleCancelDelete(){this.deletePaymentMethodId=null}async handleConfirmDelete(){if(!this.vaultManagerContext?.deleteVaultedPaymentMethod||!this.deletePaymentMethodId){this.errorMessage=T(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"});return}try{this.isDeleting=!0,await this.vaultManagerContext.deleteVaultedPaymentMethod(this.deletePaymentMethodId),this.deletePaymentMethodId=null}catch(e){this.errorMessage=e instanceof Error?e.message:T(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"})}finally{this.isDeleting=!1}}handlePaymentError(e){let r=e.detail?.error;this.errorMessage=r instanceof Error?r.message:T(\"payment_processing_error\",{id:\"payment_processing_error\"})}handleCloseError(){this.errorMessage=\"\"}getPaymentMethodName(e){if(!this.vaultManagerContext)return\"\";let r=this.vaultManagerContext.vaultedPaymentMethods.find(i=>i.id===e);if(!r)return\"\";try{return Mr(r).description||\"\"}catch{return\"\"}}renderDeleteConfirmation(){if(!this.deletePaymentMethodId)return u;let e=this.getPaymentMethodName(this.deletePaymentMethodId);return m` <div class=\"delete-confirmation-container\"> <primer-vault-delete-confirmation .isDeleting=${this.isDeleting} .paymentMethodId=${this.deletePaymentMethodId} .paymentMethodName=${e} @confirm-delete=${this.handleConfirmDelete} @cancel-delete=${this.handleCancelDelete} ></primer-vault-delete-confirmation> </div> `}renderPaymentMethodItem(e){return this.deletePaymentMethodId===e.id?u:m` <primer-vault-payment-method-item .paymentMethod=${e} .isEditMode=${this.isEditMode} @delete-payment-method=${this.handleDeletePaymentMethod} ></primer-vault-payment-method-item> `}render(){if(!this.vaultManagerContext?.enabled)return u;let e=this.vaultManagerContext.vaultedPaymentMethods.length>0,r=this.vaultManagerContext.isLoading,i=!this.isEditMode&&e&&!r&&!this.deletePaymentMethodId;return m` <div class=\"vault-manager\"> <primer-vault-manager-header .isEditMode=${this.isEditMode} .hasPaymentMethods=${e} @toggle-edit-mode=${this.handleToggleEditMode} ></primer-vault-manager-header> ${$(this.errorMessage,()=>m` <primer-vault-error-message .errorMessage=${this.errorMessage} @close-error=${this.handleCloseError} ></primer-vault-error-message> `,()=>u)} <div class=\"vault-manager-content\"> ${$(!r&&!e,()=>m`<primer-vault-empty-state></primer-vault-empty-state>`,()=>u)} ${$(!r&&e&&this.deletePaymentMethodId,()=>this.renderDeleteConfirmation(),()=>u)} ${$(!r&&e&&!this.deletePaymentMethodId,()=>m` <div class=\"payment-methods-list\"> ${this.vaultManagerContext?.vaultedPaymentMethods.map(s=>this.renderPaymentMethodItem(s))} ${$(i,()=>m` <primer-vault-payment-submit @primer-vault-payment-error=${this.handlePaymentError} ></primer-vault-payment-submit> `,()=>u)} </div> `,()=>u)} </div> </div> `}}"
141
157
  },
142
158
  {
143
159
  "kind": "variable",
144
160
  "name": "me",
145
- "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.vaultItemContext=null;this.headlessUtils=null;this.paymentMethod=null;this.isEditMode=!1;this._getAssetsTask=new V(this,{task:async([e,r,i])=>{if(!e||!r||!i)return D;let n=\"\";if(Zi(e))n=r.getCardNetworkAsset(e.paymentInstrumentData.network).cardUrl;else{let h=await r.getCDNAssets(e.paymentMethodType);h&&(n=h.assets?.icon?`${h.goatCdnUrl}/${h.assets.icon}`:\"\")}let p=i.cvvRecapture,x=Cr(e);return{icon:n,shouldShowCVV:p,...x}},args:()=>[this.paymentMethod,this.headlessUtils,this.vaultManagerContext]})}isSelected(){if(!this.vaultManagerContext||!this.paymentMethod)return!1;let e=this.vaultItemContext?.selectedVaultedPaymentMethod;return!!e&&e.id===this.paymentMethod.id}handleClick(){this.isEditMode||!this.vaultManagerContext||!this.paymentMethod||(this.isSelected()?this.vaultItemContext?.setSelectedVaultedPaymentMethod(null):this.vaultItemContext?.setSelectedVaultedPaymentMethod(this.paymentMethod))}handleDeleteClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(\"delete-payment-method\",{detail:this.paymentMethod?.id,bubbles:!0,composed:!0}))}renderPaymentMethodContent(e){let r=e.icon?m`<img class=\"payment-method-icon\" src=${e.icon} alt=${e.description} />`:m` <div class=\"payment-method-icon payment-method-icon-generic\"> <primer-icon name=\"payment-card\" size=\"sm\"></primer-icon> </div> `;return m` ${r} <div class=\"payment-method-details\"> <div class=\"payment-method-description\">${e.description}</div> ${e.secondaryDescription?m`<div class=\"payment-method-secondary-description\"> ${e.secondaryDescription} </div>`:u} </div> `}render(){return this._getAssetsTask.render({error:()=>u,complete:e=>{let r=this.isSelected()?\"checked\":\"default\";return this.isEditMode?m` <div class=\"payment-method-item\" @click=${this.handleClick}> <div class=\"payment-method-content\"> ${this.renderPaymentMethodContent(e)} <button class=\"delete-button\" @click=${this.handleDeleteClick} aria-label=${`${P(\"delete\",{id:\"delete\"})} ${e.description}`} > <primer-icon name=\"trash\" size=\"sm\"></primer-icon> </button> </div> </div> `:m` <div class=\"payment-method-wrapper\"> <primer-button variant=\"secondary\" class=\"payment-method-button\" selectable selectionState=${r} @click=${this.handleClick} > ${this.renderPaymentMethodContent(e)} </primer-button> ${$(e.shouldShowCVV&&this.isSelected(),()=>m`<primer-vault-cvv-input .paymentMethod=\"${this.paymentMethod}\" ></primer-vault-cvv-input>`)} </div> `}})}}"
161
+ "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.vaultItemContext=null;this.headlessUtils=null;this.paymentMethod=null;this.isEditMode=!1;this._getAssetsTask=new V(this,{task:async([e,r,i])=>{if(!e||!r||!i)return N;let s=\"\";if(aa(e))s=r.getCardNetworkAsset(e.paymentInstrumentData.network).cardUrl;else{let h=await r.getCDNAssets(e.paymentMethodType);h&&(s=h.assets?.icon?`${h.goatCdnUrl}/${h.assets.icon}`:\"\")}let p=i.cvvRecapture,x=Mr(e);return{icon:s,shouldShowCVV:p,...x}},args:()=>[this.paymentMethod,this.headlessUtils,this.vaultManagerContext]})}isSelected(){if(!this.vaultManagerContext||!this.paymentMethod)return!1;let e=this.vaultItemContext?.selectedVaultedPaymentMethod;return!!e&&e.id===this.paymentMethod.id}handleClick(){this.isEditMode||!this.vaultManagerContext||!this.paymentMethod||(this.isSelected()?this.vaultItemContext?.setSelectedVaultedPaymentMethod(null):this.vaultItemContext?.setSelectedVaultedPaymentMethod(this.paymentMethod))}handleDeleteClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(\"delete-payment-method\",{detail:this.paymentMethod?.id,bubbles:!0,composed:!0}))}renderPaymentMethodContent(e){let r=e.icon?m`<img class=\"payment-method-icon\" src=${e.icon} alt=${e.description} />`:m` <div class=\"payment-method-icon payment-method-icon-generic\"> <primer-icon name=\"payment-card\" size=\"sm\"></primer-icon> </div> `;return m` ${r} <div class=\"payment-method-details\"> <div class=\"payment-method-description\">${e.description}</div> ${e.secondaryDescription?m`<div class=\"payment-method-secondary-description\"> ${e.secondaryDescription} </div>`:u} </div> `}render(){return this._getAssetsTask.render({error:()=>u,complete:e=>{let r=this.isSelected()?\"checked\":\"default\";return this.isEditMode?m` <div class=\"payment-method-item\" @click=${this.handleClick}> <div class=\"payment-method-content\"> ${this.renderPaymentMethodContent(e)} <button class=\"delete-button\" @click=${this.handleDeleteClick} aria-label=${`${T(\"delete\",{id:\"delete\"})} ${e.description}`} > <primer-icon name=\"trash\" size=\"sm\"></primer-icon> </button> </div> </div> `:m` <div class=\"payment-method-wrapper\"> <primer-button variant=\"secondary\" class=\"payment-method-button\" selectable selectionState=${r} @click=${this.handleClick} > ${this.renderPaymentMethodContent(e)} </primer-button> ${$(e.shouldShowCVV&&this.isSelected(),()=>m`<primer-vault-cvv-input .paymentMethod=\"${this.paymentMethod}\" ></primer-vault-cvv-input>`)} </div> `}})}}"
146
162
  },
147
163
  {
148
164
  "kind": "variable",
149
165
  "name": "He",
150
- "default": "class extends f{constructor(){super(...arguments);this.isEditMode=!1;this.hasPaymentMethods=!1}toggleEditMode(){this.dispatchEvent(new CustomEvent(\"toggle-edit-mode\",{detail:!this.isEditMode,bubbles:!0,composed:!0}))}render(){return m` <div class=\"vault-manager-header\"> <h3>${P(\"previouslyUsed\",{id:\"previouslyUsed\"})}</h3> ${this.hasPaymentMethods?m` <primer-button class=\"edit-button ${this.isEditMode?\"active\":\"\"}\" @click=${this.toggleEditMode} aria-label=${this.isEditMode?P(\"confirm\",{id:\"confirm\"}):P(\"editPaymentMethods\",{id:\"editPaymentMethods\"})} > ${this.isEditMode?m`<primer-icon name=\"checkmark\" size=\"sm\"></primer-icon>`:m`<primer-icon name=\"pencil\" size=\"sm\"></primer-icon>`} </primer-button> `:u} </div> `}}"
166
+ "default": "class extends f{constructor(){super(...arguments);this.isEditMode=!1;this.hasPaymentMethods=!1}toggleEditMode(){this.dispatchEvent(new CustomEvent(\"toggle-edit-mode\",{detail:!this.isEditMode,bubbles:!0,composed:!0}))}render(){return m` <div class=\"vault-manager-header\"> <h3>${T(\"previouslyUsed\",{id:\"previouslyUsed\"})}</h3> ${this.hasPaymentMethods?m` <primer-button class=\"edit-button ${this.isEditMode?\"active\":\"\"}\" @click=${this.toggleEditMode} aria-label=${this.isEditMode?T(\"confirm\",{id:\"confirm\"}):T(\"editPaymentMethods\",{id:\"editPaymentMethods\"})} > ${this.isEditMode?m`<primer-icon name=\"checkmark\" size=\"sm\"></primer-icon>`:m`<primer-icon name=\"pencil\" size=\"sm\"></primer-icon>`} </primer-button> `:u} </div> `}}"
151
167
  },
152
168
  {
153
169
  "kind": "variable",
154
170
  "name": "fe",
155
- "default": "class extends f{constructor(){super(...arguments);this.isDeleting=!1;this.paymentMethodId=\"\";this.paymentMethodName=\"\";this.vaultManager=null}handleConfirmClick(){this.dispatchEvent(new CustomEvent(\"confirm-delete\",{bubbles:!0,composed:!0}))}handleCancelClick(){this.dispatchEvent(new CustomEvent(\"cancel-delete\",{bubbles:!0,composed:!0}))}render(){let e=this.paymentMethodName;return m` <div class=\"delete-confirmation\"> <div class=\"delete-message\"> <p class=\"delete-text\">${e}</p> </div> <div class=\"delete-actions\"> <button class=\"delete-confirm\" @click=${this.handleConfirmClick} ?disabled=${this.isDeleting} > ${this.isDeleting?P(\"deleting\",{id:\"deleting\"}):P(\"confirmVaultedPaymentMethodDeletion\",{id:\"confirmVaultedPaymentMethodDeletion\"})} </button> <button class=\"delete-cancel\" @click=${this.handleCancelClick} ?disabled=${this.isDeleting} > ${P(\"cancel\",{id:\"cancel\"})} </button> </div> </div> `}}"
171
+ "default": "class extends f{constructor(){super(...arguments);this.isDeleting=!1;this.paymentMethodId=\"\";this.paymentMethodName=\"\";this.vaultManager=null}handleConfirmClick(){this.dispatchEvent(new CustomEvent(\"confirm-delete\",{bubbles:!0,composed:!0}))}handleCancelClick(){this.dispatchEvent(new CustomEvent(\"cancel-delete\",{bubbles:!0,composed:!0}))}render(){let e=this.paymentMethodName;return m` <div class=\"delete-confirmation\"> <div class=\"delete-message\"> <p class=\"delete-text\">${e}</p> </div> <div class=\"delete-actions\"> <button class=\"delete-confirm\" @click=${this.handleConfirmClick} ?disabled=${this.isDeleting} > ${this.isDeleting?T(\"deleting\",{id:\"deleting\"}):T(\"confirmVaultedPaymentMethodDeletion\",{id:\"confirmVaultedPaymentMethodDeletion\"})} </button> <button class=\"delete-cancel\" @click=${this.handleCancelClick} ?disabled=${this.isDeleting} > ${T(\"cancel\",{id:\"cancel\"})} </button> </div> </div> `}}"
156
172
  },
157
173
  {
158
174
  "kind": "variable",
159
175
  "name": "ut",
160
- "default": "class extends f{render(){return m` <div class=\"empty-state\"> <p> ${P(\"savedPaymentMethodsEmpty\",{id:\"savedPaymentMethodsEmpty\"})} </p> </div> `}}"
176
+ "default": "class extends f{render(){return m` <div class=\"empty-state\"> <p> ${T(\"savedPaymentMethodsEmpty\",{id:\"savedPaymentMethodsEmpty\"})} </p> </div> `}}"
161
177
  },
162
178
  {
163
179
  "kind": "variable",
164
180
  "name": "Ze",
165
- "default": "class extends f{constructor(){super(...arguments);this.errorMessage=\"\"}handleDismiss(){this.dispatchEvent(new CustomEvent(\"close-error\",{bubbles:!0,composed:!0}))}render(){return m` <div class=\"error-message\"> <div class=\"error-content\"> <primer-icon name=\"warning\" size=\"sm\" color=\"var(--primer-color-red-500)\" ></primer-icon> <p>${this.errorMessage}</p> </div> <button @click=${this.handleDismiss} aria-label=${P(\"closeErrorMessage\",{id:\"closeErrorMessage\"})} > <primer-icon name=\"close\" size=\"sm\"></primer-icon> </button> </div> `}}"
181
+ "default": "class extends f{constructor(){super(...arguments);this.errorMessage=\"\"}handleDismiss(){this.dispatchEvent(new CustomEvent(\"close-error\",{bubbles:!0,composed:!0}))}render(){return m` <div class=\"error-message\"> <div class=\"error-content\"> <primer-icon name=\"warning\" size=\"sm\" color=\"var(--primer-color-red-500)\" ></primer-icon> <p>${this.errorMessage}</p> </div> <button @click=${this.handleDismiss} aria-label=${T(\"closeErrorMessage\",{id:\"closeErrorMessage\"})} > <primer-icon name=\"close\" size=\"sm\"></primer-icon> </button> </div> `}}"
166
182
  },
167
183
  {
168
184
  "kind": "variable",
169
185
  "name": "X",
170
- "default": "class extends f{constructor(){super(...arguments);this._userAssignedProps=new Set;this._internalButtonText=\"\";this.headlessInstance=null;this.sdkState=null;this.vaultItemContext=null;this.vaultManager=null;this.clientOptions=null;this.variant=\"primary\";this.disabled=!1;this.handleClick=async e=>{if(e.preventDefault(),!this.isButtonDisabled)try{await this.vaultManager?.startVaultedPaymentFlow()}catch(r){let i=new CustomEvent(\"primer-vault-payment-error\",{bubbles:!0,composed:!0,detail:{error:r}});this.dispatchEvent(i)}}}get buttonText(){return this._userAssignedProps.has(\"buttonText\")?this._internalButtonText:P(\"pay\",{id:\"pay\"})}set buttonText(e){let r=this.buttonText;e!==\"\"?(this._userAssignedProps.add(\"buttonText\"),this._internalButtonText=e):(this._userAssignedProps.delete(\"buttonText\"),this._internalButtonText=\"\"),this.requestUpdate(\"buttonText\",r)}get isButtonDisabled(){return!!(this.disabled||!this.vaultItemContext?.selectedVaultedPaymentMethod||this.vaultManager?.isLoading)}render(){let e=this.clientOptions?.submitButton?.amountVisible?this.headlessInstance?.getUIOrderAmount():null,r=e?` ${e}`:u;return m` <primer-button buttonType=\"submit\" variant=${this.variant} @click=${this.handleClick} .disabled=${this.isButtonDisabled} .loading=${this.sdkState?.isProcessing} data-submit > ${this.buttonText}${r} </primer-button> `}}"
186
+ "default": "class extends f{constructor(){super(...arguments);this._userAssignedProps=new Set;this._internalButtonText=\"\";this.headlessInstance=null;this.sdkState=null;this.vaultItemContext=null;this.vaultManager=null;this.clientOptions=null;this.variant=\"primary\";this.disabled=!1;this.handleClick=async e=>{if(e.preventDefault(),!this.isButtonDisabled)try{await this.vaultManager?.startVaultedPaymentFlow()}catch(r){let i=new CustomEvent(\"primer-vault-payment-error\",{bubbles:!0,composed:!0,detail:{error:r}});this.dispatchEvent(i)}}}get buttonText(){return this._userAssignedProps.has(\"buttonText\")?this._internalButtonText:T(\"pay\",{id:\"pay\"})}set buttonText(e){let r=this.buttonText;e!==\"\"?(this._userAssignedProps.add(\"buttonText\"),this._internalButtonText=e):(this._userAssignedProps.delete(\"buttonText\"),this._internalButtonText=\"\"),this.requestUpdate(\"buttonText\",r)}get isButtonDisabled(){return!!(this.disabled||!this.vaultItemContext?.selectedVaultedPaymentMethod||this.vaultManager?.isLoading)}render(){let e=this.clientOptions?.submitButton?.amountVisible?this.headlessInstance?.getUIOrderAmount():null,r=e?` ${e}`:u;return m` <primer-button buttonType=\"submit\" variant=${this.variant} @click=${this.handleClick} .disabled=${this.isButtonDisabled} .loading=${this.sdkState?.isProcessing} data-submit > ${this.buttonText}${r} </primer-button> `}}"
171
187
  },
172
188
  {
173
189
  "kind": "variable",
174
190
  "name": "J",
175
- "default": "class extends f{constructor(){super();this.vaultManagerFormContext=null;this.vaultManagerCvvContext=null;this.computedStyles=null;this.paymentMethod=null;this.cvvError=null;this.cvvInputIsDirty=!1;this.cvvInputIsBlurred=!1;this.cvvInput=null;this._setupCVVIframe=new V(this,{task:async([e,r])=>!e||!r||e.paymentMethodType!==\"PAYMENT_CARD\"||!e.paymentInstrumentData?.network||r.createCvvInput===void 0?D:{network:e.paymentInstrumentData.network,createCvvInput:r.createCvvInput},args:()=>[this.paymentMethod,this.vaultManagerFormContext]});this.cvvContainerId=`cvv-container-${Math.random().toString(36).substring(2,9)}`,new V(this,{task:async([e])=>{if(!e)return D;await this.updateComplete;let r=this.renderRoot.querySelector(`#${this.cvvContainerId}`);if(!r)return;let i=fr(this.computedStyles),n=i?{input:{base:i}}:void 0,p={cardNetwork:e.network,container:r,name:\"cvv\",placeholder:\"123\",style:n};this.cvvInput=await e.createCvvInput(p),this.cvvInput&&(this.cvvInput.focus(),this.cvvError=this.cvvInput.metadata.error||null,this.vaultManagerCvvContext?.setCvvInput(this.cvvInput),this.cvvInput.addListener(\"change\",()=>{this.onCvvInputChange()}),this.cvvInput.addListener(\"blur\",()=>{this.onBlur()}))},args:()=>[this._setupCVVIframe.value]})}disconnectedCallback(){super.disconnectedCallback(),this.cvvInput&&(this.cvvInput.remove(),this.cvvInput=null,this.cvvError=null,this.vaultManagerCvvContext?.setCvvInput(null))}onCvvInputChange(){!this.cvvInput||!this.vaultManagerCvvContext||(this.cvvInputIsDirty=!0,this.cvvError=this.cvvInput.metadata.error||null)}onBlur(){this.cvvInput&&(this.cvvInputIsBlurred=!0,this.cvvError=this.cvvInput.metadata.error||null)}render(){return this._setupCVVIframe.render({error:()=>u,complete:()=>m` <div class=\"cvv-input-container\"> <primer-input-wrapper .hasError=${!!this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred)} > <primer-input-label slot=\"label\">CVV</primer-input-label> <div slot=\"input\" id=\"${this.cvvContainerId}\"></div> ${$(this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred),()=>m` <primer-input-error slot=\"error\"> ${this.cvvError} </primer-input-error> `)} </primer-input-wrapper> </div> `})}}"
191
+ "default": "class extends f{constructor(){super();this.vaultManagerFormContext=null;this.vaultManagerCvvContext=null;this.computedStyles=null;this.paymentMethod=null;this.cvvError=null;this.cvvInputIsDirty=!1;this.cvvInputIsBlurred=!1;this.cvvInput=null;this._setupCVVIframe=new V(this,{task:async([e,r])=>!e||!r||e.paymentMethodType!==\"PAYMENT_CARD\"||!e.paymentInstrumentData?.network||r.createCvvInput===void 0?N:{network:e.paymentInstrumentData.network,createCvvInput:r.createCvvInput},args:()=>[this.paymentMethod,this.vaultManagerFormContext]});this.cvvContainerId=`cvv-container-${Math.random().toString(36).substring(2,9)}`,new V(this,{task:async([e])=>{if(!e)return N;await this.updateComplete;let r=this.renderRoot.querySelector(`#${this.cvvContainerId}`);if(!r)return;let i=yr(this.computedStyles),s=i?{input:{base:i}}:void 0,p={cardNetwork:e.network,container:r,name:\"cvv\",placeholder:\"123\",style:s};this.cvvInput=await e.createCvvInput(p),this.cvvInput&&(this.cvvInput.focus(),this.cvvError=this.cvvInput.metadata.error||null,this.vaultManagerCvvContext?.setCvvInput(this.cvvInput),this.cvvInput.addListener(\"change\",()=>{this.onCvvInputChange()}),this.cvvInput.addListener(\"blur\",()=>{this.onBlur()}))},args:()=>[this._setupCVVIframe.value]})}disconnectedCallback(){super.disconnectedCallback(),this.cvvInput&&(this.cvvInput.remove(),this.cvvInput=null,this.cvvError=null,this.vaultManagerCvvContext?.setCvvInput(null))}onCvvInputChange(){!this.cvvInput||!this.vaultManagerCvvContext||(this.cvvInputIsDirty=!0,this.cvvError=this.cvvInput.metadata.error||null)}onBlur(){this.cvvInput&&(this.cvvInputIsBlurred=!0,this.cvvError=this.cvvInput.metadata.error||null)}render(){return this._setupCVVIframe.render({error:()=>u,complete:()=>m` <div class=\"cvv-input-container\"> <primer-input-wrapper .hasError=${!!this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred)} > <primer-input-label slot=\"label\">CVV</primer-input-label> <div slot=\"input\" id=\"${this.cvvContainerId}\"></div> ${$(this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred),()=>m` <primer-input-error slot=\"error\"> ${this.cvvError} </primer-input-error> `)} </primer-input-wrapper> </div> `})}}"
176
192
  },
177
193
  {
178
194
  "kind": "variable",
179
195
  "name": "Ye",
180
- "default": "class extends f{constructor(){super(...arguments);this.isShowingOtherPayments=!1;this.vaultManager=null}handleExpandedChanged(e){this.isShowingOtherPayments=e.detail.expanded}render(){return this.vaultManager?.isLoading?u:!this.vaultManager||!this.vaultManager.enabled||this.vaultManager.vaultedPaymentMethods.length===0?m`<slot name=\"other-payments\"></slot>`:m` <div class=\"other-payment-methods-container\"> <primer-collapsable buttonVariant=\"secondary\" .expanded=\"${this.isShowingOtherPayments}\" .header=\"${P(\"navigateToPaymentMethods\",{id:\"navigateToPaymentMethods\"})}\" @expanded-changed=\"${this.handleExpandedChanged}\" > <div class=\"other-payment-methods-content\"> <slot name=\"other-payments\"></slot> </div> </primer-collapsable> </div> `}}"
196
+ "default": "class extends f{constructor(){super(...arguments);this.isShowingOtherPayments=!1;this.vaultManager=null}handleExpandedChanged(e){this.isShowingOtherPayments=e.detail.expanded}render(){return this.vaultManager?.isLoading?u:!this.vaultManager||!this.vaultManager.enabled||this.vaultManager.vaultedPaymentMethods.length===0?m`<slot name=\"other-payments\"></slot>`:m` <div class=\"other-payment-methods-container\"> <primer-collapsable buttonVariant=\"secondary\" .expanded=\"${this.isShowingOtherPayments}\" .header=\"${T(\"navigateToPaymentMethods\",{id:\"navigateToPaymentMethods\"})}\" @expanded-changed=\"${this.handleExpandedChanged}\" > <div class=\"other-payment-methods-content\"> <slot name=\"other-payments\"></slot> </div> </primer-collapsable> </div> `}}"
181
197
  },
182
198
  {
183
199
  "kind": "variable",
184
- "name": "Vt",
200
+ "name": "Ht",
185
201
  "default": "class extends f{render(){return m` <primer-checkout-state type=\"complete\"></primer-checkout-state> `}}"
186
202
  },
187
203
  {
@@ -192,7 +208,7 @@
192
208
  {
193
209
  "kind": "variable",
194
210
  "name": "Ue",
195
- "default": "class extends f{constructor(){super(...arguments);this.showProcessingErrors=!0}get shouldShowError(){return!this.sdkState||this.sdkState.isProcessing?!1:!!(this.sdkState.failure&&this.showProcessingErrors)}render(){return this.sdkState?m` <primer-error-message message=\"${P(this.sdkState.failure?.message??\"\",{id:\"tokenizationError\"})}\" ?visible=\"${this.shouldShowError}\" ></primer-error-message> `:u}}"
211
+ "default": "class extends f{constructor(){super(...arguments);this.showProcessingErrors=!0}get shouldShowError(){return!this.sdkState||this.sdkState.isProcessing?!1:!!(this.sdkState.failure&&this.showProcessingErrors)}render(){return this.sdkState?m` <primer-error-message message=\"${T(this.sdkState.failure?.message??\"\",{id:\"tokenizationError\"})}\" ?visible=\"${this.shouldShowError}\" ></primer-error-message> `:u}}"
196
212
  }
197
213
  ],
198
214
  "exports": [
@@ -216,7 +232,7 @@
216
232
  "kind": "js",
217
233
  "name": "Button",
218
234
  "declaration": {
219
- "name": "se",
235
+ "name": "ne",
220
236
  "module": "cdn/primer-components.js"
221
237
  }
222
238
  },
@@ -224,7 +240,7 @@
224
240
  "kind": "js",
225
241
  "name": "CardForm",
226
242
  "declaration": {
227
- "name": "_e",
243
+ "name": "Se",
228
244
  "module": "cdn/primer-components.js"
229
245
  }
230
246
  },
@@ -280,7 +296,7 @@
280
296
  "kind": "js",
281
297
  "name": "CardFormSubmit",
282
298
  "declaration": {
283
- "name": "ne",
299
+ "name": "se",
284
300
  "module": "cdn/primer-components.js"
285
301
  }
286
302
  },
@@ -312,7 +328,7 @@
312
328
  "kind": "js",
313
329
  "name": "InitializedPayments",
314
330
  "declaration": {
315
- "name": "mr",
331
+ "name": "ur",
316
332
  "module": "cdn/primer-components.js"
317
333
  }
318
334
  },
@@ -328,7 +344,7 @@
328
344
  "kind": "js",
329
345
  "name": "InputLabel",
330
346
  "declaration": {
331
- "name": "Le",
347
+ "name": "Ne",
332
348
  "module": "cdn/primer-components.js"
333
349
  }
334
350
  },
@@ -360,7 +376,7 @@
360
376
  "kind": "js",
361
377
  "name": "PrimerCheckoutComplete",
362
378
  "declaration": {
363
- "name": "Vt",
379
+ "name": "Ht",
364
380
  "module": "cdn/primer-components.js"
365
381
  }
366
382
  },
@@ -499,6 +515,38 @@
499
515
  "name": "X",
500
516
  "module": "cdn/primer-components.js"
501
517
  }
518
+ },
519
+ {
520
+ "kind": "js",
521
+ "name": "injectDarkTheme",
522
+ "declaration": {
523
+ "name": "Nn",
524
+ "module": "cdn/primer-components.js"
525
+ }
526
+ },
527
+ {
528
+ "kind": "js",
529
+ "name": "injectLightTheme",
530
+ "declaration": {
531
+ "name": "Ln",
532
+ "module": "cdn/primer-components.js"
533
+ }
534
+ },
535
+ {
536
+ "kind": "js",
537
+ "name": "injectLoaderStyles",
538
+ "declaration": {
539
+ "name": "_i",
540
+ "module": "cdn/primer-components.js"
541
+ }
542
+ },
543
+ {
544
+ "kind": "js",
545
+ "name": "injectThemeStyles",
546
+ "declaration": {
547
+ "name": "Ti",
548
+ "module": "cdn/primer-components.js"
549
+ }
502
550
  }
503
551
  ]
504
552
  },
@@ -516,13 +564,29 @@
516
564
  },
517
565
  {
518
566
  "kind": "variable",
519
- "name": "hr",
567
+ "name": "ur",
520
568
  "default": "class{constructor(t){this._methods=t}get(t){return this._methods.get(t)}toArray(){return Array.from(this._methods.values())}size(){return this._methods.size}}"
521
569
  },
522
570
  {
523
571
  "kind": "variable",
524
572
  "name": "ae",
525
- "default": "class extends f{constructor(){super();this.customStyles=\"\";this.clientToken=\"\";this.options={};this._jsInitialized=!1;this.previousLoadingState=!0;this.hasAssignedContent=!1;this.locale=\"en-GB\";this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.sdkContextController=new Xt(this),this.sdkStateController=new Zt(this),this.primerEventsController=new tt(this),this.styleProcessingController=new Jt(this),this.vaultManagerController=new St(this),this.cardNetworkController=new Kt(this),new gr(this)}set jsInitialized(e){this.requestUpdate(),this._jsInitialized=e}get jsInitialized(){return this._jsInitialized}attributeChangedCallback(e,r,i){e===\"customstyles\"?this.styleProcessingController.processCustomStyles(i):super.attributeChangedCallback(e,r,i)}willUpdate(e){e.has(\"options\")&&(this.options?.locale&&(Qr(this.options?.locale)?this.locale=eo(this.options?.locale):N.warn(\"\\u{1F30E}\\u2757 Unsupported locale provided:\",this.options?.locale,\"- Falling back to default locale `en-GB`\")),Jr(this.locale||\"en-GB\"))}updated(){let e=getComputedStyle(this);this.sdkContextController.setComputedStyles(e),this.checkLoadingStateChange()}checkLoadingStateChange(){let e=this.sdkStateController?.state.isLoading||!1;this.previousLoadingState&&!e&&(this.jsInitialized=!0),this.previousLoadingState=e}render(){let e=this.sdkStateController.state,r=e.isLoading,i=e.error,s=!r&&!i;return m` ${$(r,()=>u)} ${$(i,()=>m`<primer-checkout-error></primer-checkout-error>`)} ${$(s,()=>m` <slot name=\"main\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m`<primer-main></primer-main>`)} `,()=>u)} `}addEventListener(e,r,i){super.addEventListener(e,r,i)}}"
573
+ "default": "class extends f{constructor(){super();this.customStyles=\"\";this.clientToken=\"\";this.options={};this._jsInitialized=!1;this.previousLoadingState=!0;this.hasAssignedContent=!1;this._loadingTimeoutId=null;this.locale=\"en-GB\";this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.sdkContextController=new Zt(this),this.sdkStateController=new Wt(this),this.primerEventsController=new tt(this),this.styleProcessingController=new Xt(this),this.vaultManagerController=new St(this),this.cardNetworkController=new Ft(this),new gr(this)}set jsInitialized(e){this.requestUpdate(),this._jsInitialized=e}get jsInitialized(){return this._jsInitialized}attributeChangedCallback(e,r,i){e===\"customstyles\"?this.styleProcessingController.processCustomStyles(i):super.attributeChangedCallback(e,r,i)}disconnectedCallback(){this._loadingTimeoutId&&(window.clearTimeout(this._loadingTimeoutId),this._loadingTimeoutId=null),this.sdkStateController?.state.isLoading&&this.sdkStateController.forceCompleteLoading(),super.disconnectedCallback()}willUpdate(e){e.has(\"options\")&&(this.options?.locale&&(Xr(this.options?.locale)?this.locale=Jr(this.options?.locale):w.warn(\"\\u{1F30E}\\u2757 Unsupported locale provided:\",this.options?.locale,\"- Falling back to default locale `en-GB`\")),Zr(this.locale||\"en-GB\"))}updated(){let e=getComputedStyle(this);this.sdkContextController.setComputedStyles(e),this.checkLoadingStateChange()}checkLoadingStateChange(){let e=this.sdkStateController?.state.isLoading||!1;this.previousLoadingState&&!e&&(this.jsInitialized=!0),this.previousLoadingState=e,e&&!this._loadingTimeoutId?this._loadingTimeoutId=window.setTimeout(()=>{this.sdkStateController?.state.isLoading&&(w.warn(\"Loading timeout in component, forcing completion\"),this.sdkStateController.forceCompleteLoading(),this.jsInitialized=!0),this._loadingTimeoutId=null},1e4):!e&&this._loadingTimeoutId&&(window.clearTimeout(this._loadingTimeoutId),this._loadingTimeoutId=null)}render(){let e=this.sdkStateController.state,r=e.isLoading,i=e.error,s=!r&&!i;return m` ${$(r,()=>u)} ${$(i,()=>m`<primer-checkout-error></primer-checkout-error>`)} ${$(s,()=>m` <slot name=\"main\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m`<primer-main></primer-main>`)} `,()=>u)} `}addEventListener(e,r,i){super.addEventListener(e,r,i)}}"
574
+ },
575
+ {
576
+ "kind": "function",
577
+ "name": "_i"
578
+ },
579
+ {
580
+ "kind": "function",
581
+ "name": "Pi"
582
+ },
583
+ {
584
+ "kind": "function",
585
+ "name": "Ln"
586
+ },
587
+ {
588
+ "kind": "function",
589
+ "name": "Nn"
526
590
  },
527
591
  {
528
592
  "kind": "variable",
@@ -532,11 +596,11 @@
532
596
  {
533
597
  "kind": "variable",
534
598
  "name": "Ce",
535
- "default": "class extends f{constructor(){super(...arguments);this.focusWithin=!1;this.hasError=!1}handleWrapperClick(e){if(e.target!==e.currentTarget)return;let r=this.findSlottedPrimerInput();r?r.focus():this.dispatchEvent(new CustomEvent(\"wrapper-click\",{bubbles:!0,composed:!0}))}findSlottedPrimerInput(){if(!this.inputSlot)return null;let e=this.inputSlot.assignedElements({flatten:!0}),r=e.find(i=>i.tagName.toLowerCase()===\"primer-input\");if(r)return r;for(let i of e){let s=i.querySelector(\"primer-input\");if(s)return s}return null}render(){let e={\"input-slot\":!0,\"focus-within\":this.focusWithin};return m` <div class=\"input-wrapper\"> <slot name=\"label\"></slot> <div class=\"${pe(e)}\" @click=\"${this.handleWrapperClick}\"> <slot name=\"input\"></slot> </div> <slot name=\"error\"></slot> </div> `}}"
599
+ "default": "class extends f{constructor(){super(...arguments);this.focusWithin=!1;this.hasError=!1}handleWrapperClick(e){if(e.target!==e.currentTarget)return;let r=this.findSlottedPrimerInput();r?r.focus():this.dispatchEvent(new CustomEvent(\"wrapper-click\",{bubbles:!0,composed:!0}))}findSlottedPrimerInput(){if(!this.inputSlot)return null;let e=this.inputSlot.assignedElements({flatten:!0}),r=e.find(i=>i.tagName.toLowerCase()===\"primer-input\");if(r)return r;for(let i of e){let s=i.querySelector(\"primer-input\");if(s)return s}return null}render(){let e={\"input-slot\":!0,\"focus-within\":this.focusWithin};return m` <div class=\"input-wrapper\"> <slot name=\"label\"></slot> <div class=\"${ce(e)}\" @click=\"${this.handleWrapperClick}\"> <slot name=\"input\"></slot> </div> <slot name=\"error\"></slot> </div> `}}"
536
600
  },
537
601
  {
538
602
  "kind": "variable",
539
- "name": "Le",
603
+ "name": "Ne",
540
604
  "default": "class extends f{constructor(){super(...arguments);this.for=\"\";this.disabled=!1}render(){return m`<label for=${this.for}><slot></slot></label>`}}"
541
605
  },
542
606
  {
@@ -552,7 +616,7 @@
552
616
  {
553
617
  "kind": "variable",
554
618
  "name": "Ae",
555
- "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-icon-primary)\";this.size=\"lg\"}render(){let e=this.name?Ii[this.name]:null;return m` <div style=\"--internal-icon-color: ${this.color}\"> ${e||m`<slot></slot>`} </div> `}}"
619
+ "default": "class extends f{constructor(){super(...arguments);this.color=\"var(--primer-color-icon-primary)\";this.size=\"lg\"}render(){let e=this.name?Ni[this.name]:null;return m` <div style=\"--internal-icon-color: ${this.color}\"> ${e||m`<slot></slot>`} </div> `}}"
556
620
  },
557
621
  {
558
622
  "kind": "variable",
@@ -572,12 +636,12 @@
572
636
  {
573
637
  "kind": "variable",
574
638
  "name": "he",
575
- "default": "class extends f{constructor(){super(...arguments);this.message=\"\";this.visible=!1;this.role=\"alert\";this.showMessage=!1}updated(e){e.has(\"visible\")&&this.handleVisibilityChange()}handleVisibilityChange(){this.visible?(this.showMessage=!0,this.setAttribute(\"aria-hidden\",\"false\")):setTimeout(()=>{this.showMessage=!1,this.setAttribute(\"aria-hidden\",\"true\")},200)}render(){if(!this.showMessage&&!this.visible)return u;let e={\"error-message\":!0,hidden:!this.visible};return m` <div part=\"error-message\" class=${pe(e)} aria-live=\"assertive\" aria-atomic=\"true\" > <div part=\"error-icon\" class=\"error-icon\"> <primer-icon name=\"failure-icon\" size=\"sm\" color=\"var(--primer-color-icon-negative)\" ></primer-icon> </div> <div part=\"error-content\" class=\"error-content\">${this.message}</div> </div> `}}"
639
+ "default": "class extends f{constructor(){super(...arguments);this.message=\"\";this.visible=!1;this.role=\"alert\";this.showMessage=!1}updated(e){e.has(\"visible\")&&this.handleVisibilityChange()}handleVisibilityChange(){this.visible?(this.showMessage=!0,this.setAttribute(\"aria-hidden\",\"false\")):setTimeout(()=>{this.showMessage=!1,this.setAttribute(\"aria-hidden\",\"true\")},200)}render(){if(!this.showMessage&&!this.visible)return u;let e={\"error-message\":!0,hidden:!this.visible};return m` <div part=\"error-message\" class=${ce(e)} aria-live=\"assertive\" aria-atomic=\"true\" > <div part=\"error-icon\" class=\"error-icon\"> <primer-icon name=\"failure-icon\" size=\"sm\" color=\"var(--primer-color-icon-negative)\" ></primer-icon> </div> <div part=\"error-content\" class=\"error-content\">${this.message}</div> </div> `}}"
576
640
  },
577
641
  {
578
642
  "kind": "variable",
579
643
  "name": "Z",
580
- "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this.klarnaCategories=null;this.selectedCategory=null;this.isExpanded=!1;this.headerAriaLabel=P(\"pay_with\",{id:\"pay_with\"});this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>{if(!e||!r)return D;let i=await r.getCDNAssets(\"KLARNA\");return{manager:e.manager,klarnaIcon:i?.assets?.icon?`${i.goatCdnUrl}/${i.assets.icon}`:\"\"}},args:()=>[this.paymentManagers.get(\"KLARNA\"),this.headlessUtils]})}toggleExpand(){this.isExpanded=!this.isExpanded,this.isExpanded||(this.selectedCategory=null)}async startKlarnaPayment(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory))try{await this._paymentMethodManagerTask.value.manager.start({paymentMethodCategoryId:this.selectedCategory})}catch(e){N.error(\"Failed to start Klarna payment\",e)}}async renderSelectedCategory(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory||!this.klarnaContainer))try{this.klarnaContainer.innerHTML=\"\",await this._paymentMethodManagerTask.value.manager.renderCategory({containerId:this.klarnaContainer,paymentMethodCategoryId:this.selectedCategory,onHeightChange:e=>{e>0&&(this.klarnaContainer.style.height=`${e}px`)}})}catch(e){N.error(\"Failed to render Klarna category\",e)}}selectCategory(e){this.selectedCategory=e,this.renderSelectedCategory()}updated(e){e.has(\"selectedCategory\")&&this.selectedCategory&&this.renderSelectedCategory()}renderCategorySelection(){let e=this.klarnaCategories?.categories||[];return this.klarnaCategories?.isLoading||!1?m`<div class=\"loading\"> <primer-spinner size=\"small\"></primer-spinner> </div>`:e.length<=1?u:m` <div class=\"category-selection\"> ${e.map(i=>m` <button class=${pe({\"category-button\":!0,selected:i.id===this.selectedCategory})} @click=${()=>{this.selectCategory(i.id)}} > ${i.name} </button> `)} </div> `}renderExpandedContent(){return m` ${this.renderCategorySelection()} ${this.selectedCategory?m` <div id=\"klarna-category-container\" class=\"klarna-category-container\" ></div> `:u} <button class=${pe({\"klarna-pay-button\":!0,loading:!!this.sdkState?.isProcessing,disabled:!this.selectedCategory})} ?disabled=${!this.selectedCategory||this.sdkState?.isProcessing} @click=${()=>this.startKlarnaPayment()} > ${P(\"confirm\",{id:\"confirm\"})} </button> `}render(){return this._paymentMethodManagerTask.render({error:e=>{let r=e instanceof Error?e.message:\"Unknown error in Klarna\";return m`<div class=\"error\"> Error loading Klarna: ${r} </div>`},complete:({manager:e,klarnaIcon:r})=>e?m` <div class=\"klarna-container ${this.isExpanded?\"expanded\":\"\"}\"> <div class=\"klarna-button-header\"> <primer-button buttonType=\"button\" variant=\"secondary\" class=\"klarna-button\" @click=${this.toggleExpand} aria-expanded=${this.isExpanded} aria-controls=\"collapsable-content\" aria-label=${this.headerAriaLabel} > <img src=${r} alt=\"Klarna logo\" /> <span>${P(\"pay_with\",{id:\"pay_with\"})} Klarna</span> <span class=\"klarna-accordion-icon ${this.isExpanded?\"expanded\":\"\"}\" > ▼ </span> </primer-button> </div> <div class=\"klarna-expanded-content ${this.isExpanded?\"visible\":\"\"}\" > <div class=\"klarna-accordion-content\"> ${this.renderExpandedContent()} </div> </div> </div> `:u})}}"
644
+ "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this.klarnaCategories=null;this.selectedCategory=null;this.isExpanded=!1;this.headerAriaLabel=P(\"pay_with\",{id:\"pay_with\"});this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>{if(!e||!r)return N;let i=await r.getCDNAssets(\"KLARNA\");return{manager:e.manager,klarnaIcon:i?.assets?.icon?`${i.goatCdnUrl}/${i.assets.icon}`:\"\"}},args:()=>[this.paymentManagers.get(\"KLARNA\"),this.headlessUtils]})}toggleExpand(){this.isExpanded=!this.isExpanded,this.isExpanded||(this.selectedCategory=null)}async startKlarnaPayment(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory))try{await this._paymentMethodManagerTask.value.manager.start({paymentMethodCategoryId:this.selectedCategory})}catch(e){w.error(\"Failed to start Klarna payment\",e)}}async renderSelectedCategory(){if(!(!this._paymentMethodManagerTask.value||!this.selectedCategory||!this.klarnaContainer))try{this.klarnaContainer.innerHTML=\"\",await this._paymentMethodManagerTask.value.manager.renderCategory({containerId:this.klarnaContainer,paymentMethodCategoryId:this.selectedCategory,onHeightChange:e=>{e>0&&(this.klarnaContainer.style.height=`${e}px`)}})}catch(e){w.error(\"Failed to render Klarna category\",e)}}selectCategory(e){this.selectedCategory=e,this.renderSelectedCategory()}updated(e){e.has(\"selectedCategory\")&&this.selectedCategory&&this.renderSelectedCategory()}renderCategorySelection(){let e=this.klarnaCategories?.categories||[];return this.klarnaCategories?.isLoading||!1?m`<div class=\"loading\"> <primer-spinner size=\"small\"></primer-spinner> </div>`:e.length<=1?u:m` <div class=\"category-selection\"> ${e.map(i=>m` <button class=${ce({\"category-button\":!0,selected:i.id===this.selectedCategory})} @click=${()=>{this.selectCategory(i.id)}} > ${i.name} </button> `)} </div> `}renderExpandedContent(){return m` ${this.renderCategorySelection()} ${this.selectedCategory?m` <div id=\"klarna-category-container\" class=\"klarna-category-container\" ></div> `:u} <button class=${ce({\"klarna-pay-button\":!0,loading:!!this.sdkState?.isProcessing,disabled:!this.selectedCategory})} ?disabled=${!this.selectedCategory||this.sdkState?.isProcessing} @click=${()=>this.startKlarnaPayment()} > ${P(\"confirm\",{id:\"confirm\"})} </button> `}render(){return this._paymentMethodManagerTask.render({error:e=>{let r=e instanceof Error?e.message:\"Unknown error in Klarna\";return m`<div class=\"error\"> Error loading Klarna: ${r} </div>`},complete:({manager:e,klarnaIcon:r})=>e?m` <div class=\"klarna-container ${this.isExpanded?\"expanded\":\"\"}\"> <div class=\"klarna-button-header\"> <primer-button buttonType=\"button\" variant=\"secondary\" class=\"klarna-button\" @click=${this.toggleExpand} aria-expanded=${this.isExpanded} aria-controls=\"collapsable-content\" aria-label=${this.headerAriaLabel} > <img src=${r} alt=\"Klarna logo\" /> <span>${P(\"pay_with\",{id:\"pay_with\"})} Klarna</span> <span class=\"klarna-accordion-icon ${this.isExpanded?\"expanded\":\"\"}\" > ▼ </span> </primer-button> </div> <div class=\"klarna-expanded-content ${this.isExpanded?\"visible\":\"\"}\" > <div class=\"klarna-accordion-content\"> ${this.renderExpandedContent()} </div> </div> </div> `:u})}}"
581
645
  },
582
646
  {
583
647
  "kind": "variable",
@@ -587,22 +651,22 @@
587
651
  {
588
652
  "kind": "variable",
589
653
  "name": "ge",
590
- "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>!e||!r?D:r.get(e)?.manager,args:()=>[this.paymentMethod?.type,this.paymentManagers]});this._getAssetsTask=new V(this,{task:async([e,r])=>{if(!e||!r)return D;let i=r.getPaymentMethodConfiguration(e);return i?{backgroundColor:i.displayMetadata.button.backgroundColor.colored,name:i.name,iconUrl:i.displayMetadata.button.iconUrl.colored}:D},args:()=>[this.paymentMethod?.type,this.headlessUtils]});this._setupTasks=new V(this,{task:async([e,r])=>!e||!r?D:{paymentMethodManager:e,assetsConfig:r},args:()=>[this._paymentMethodManagerTask.value,this._getAssetsTask.value]})}startRedirectPayment(){this._paymentMethodManagerTask.value&&this._paymentMethodManagerTask.value.start()}render(){return this._setupTasks.render({error:()=>u,complete:({assetsConfig:e})=>(this.style.setProperty(\"--redirect-payment-button-bg-color\",e.backgroundColor),m` <primer-button @click=\"${()=>this.startRedirectPayment()}\" class=${pe({loading:!!this.sdkState?.isProcessing})} title=\"${P(\"pay_with\",{id:\"pay_with\"})} ${e.name}\" > <span class=\"image-container\"> <img src=\"${e.iconUrl}\" alt=\"${e.name}\" /> </span> </primer-button>`)})}}"
654
+ "default": "class extends f{constructor(){super(...arguments);this.paymentManagers=new Map;this.sdkState=null;this.headlessUtils=null;this._paymentMethodManagerTask=new V(this,{task:async([e,r])=>!e||!r?N:r.get(e)?.manager,args:()=>[this.paymentMethod?.type,this.paymentManagers]});this._getAssetsTask=new V(this,{task:async([e,r])=>{if(!e||!r)return N;let i=r.getPaymentMethodConfiguration(e);return i?{backgroundColor:i.displayMetadata.button.backgroundColor.colored,name:i.name,iconUrl:i.displayMetadata.button.iconUrl.colored}:N},args:()=>[this.paymentMethod?.type,this.headlessUtils]});this._setupTasks=new V(this,{task:async([e,r])=>!e||!r?N:{paymentMethodManager:e,assetsConfig:r},args:()=>[this._paymentMethodManagerTask.value,this._getAssetsTask.value]})}startRedirectPayment(){this._paymentMethodManagerTask.value&&this._paymentMethodManagerTask.value.start()}render(){return this._setupTasks.render({error:()=>u,complete:({assetsConfig:e})=>(this.style.setProperty(\"--redirect-payment-button-bg-color\",e.backgroundColor),m` <primer-button @click=\"${()=>this.startRedirectPayment()}\" class=${ce({loading:!!this.sdkState?.isProcessing})} title=\"${P(\"pay_with\",{id:\"pay_with\"})} ${e.name}\" > <span class=\"image-container\"> <img src=\"${e.iconUrl}\" alt=\"${e.name}\" /> </span> </primer-button>`)})}}"
591
655
  },
592
656
  {
593
657
  "kind": "variable",
594
658
  "name": "$e",
595
- "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.paymentMethods=null;this.sdkState=null}render(){return this.sdkState?.isSuccessful?m` <slot name=\"checkout-complete\"> <primer-checkout-complete></primer-checkout-complete> </slot> `:m` <slot name=\"payments\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m` <div class=${pe({\"primer-is-processing\":!!this.sdkState?.isProcessing})} > <primer-vault-manager></primer-vault-manager> <primer-show-other-payments> <div slot=\"other-payments\" class=\"primer-main-list\"> ${this.paymentMethods?.toArray().map(e=>m` <primer-payment-method type=${e.type} ></primer-payment-method> `)} </div> </primer-show-other-payments> <primer-error-message-container></primer-error-message-container> </div> `)} `}}"
659
+ "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0,this.requestUpdate()};this.paymentMethods=null;this.sdkState=null}render(){return this.sdkState?.isSuccessful?m` <slot name=\"checkout-complete\"> <primer-checkout-complete></primer-checkout-complete> </slot> `:m` <slot name=\"payments\" @slotchange=${this.onSlotChange}></slot> ${$(this.hasAssignedContent,()=>u,()=>m` <div class=${ce({\"primer-is-processing\":!!this.sdkState?.isProcessing})} > <primer-vault-manager></primer-vault-manager> <primer-show-other-payments> <div slot=\"other-payments\" class=\"primer-main-list\"> ${this.paymentMethods?.toArray().map(e=>m` <primer-payment-method type=${e.type} ></primer-payment-method> `)} </div> </primer-show-other-payments> <primer-error-message-container></primer-error-message-container> </div> `)} `}}"
596
660
  },
597
661
  {
598
662
  "kind": "variable",
599
663
  "name": "Me",
600
- "default": "class extends f{constructor(){super();this.paymentManagers=new Map;this.computedStyles=null;this._buttonId=\"button-container\";this.loadManagerTask=new V(this,{args:()=>[this.paymentMethod?.type],task:async([e])=>{if(!e)return D;let r=this.paymentManagers.get(e)?.manager;if(!r)throw new Error(`No manager found for payment method type ${e}`);return r}}),new V(this,{args:()=>[this.loadManagerTask.value],task:async([e])=>{if(!e)return D;await this.updateComplete;let r=this.shadowRoot?.getElementById(this._buttonId);if(!r)return;let i=this.calculateButtonHeight(),s=e.createButton(),c=this.createRenderOptions(i);return await s.render(this.paymentMethod?.type===\"GOOGLE_PAY\"?this.shadowRoot?.getRootNode():r,c),e}})}calculateButtonHeight(){if(typeof window>\"u\"||!this.isConnected||!this.computedStyles)return 0;let e=parseFloat(this.computedStyles.getPropertyValue(\"--primer-typography-title-large-line-height\")),r=parseFloat(this.computedStyles.getPropertyValue(\"--primer-space-medium\"));return e+2*r}createRenderOptions(e){let r=this.paymentMethod?.type;return r===\"GOOGLE_PAY\"?{style:{shadowRoot:!0}}:r===\"APPLE_PAY\"?{style:{buttonHeight:e}}:r===\"PAYPAL\"?{style:{buttonHeight:e}}:{style:{buttonHeight:e}}}updated(e){e.has(\"paymentMethod\")&&this.paymentMethod&&(this._buttonId=`button-container-${this.paymentMethod.type}`)}render(){return this.loadManagerTask.render({error:()=>u,complete:()=>m` <!-- The native button container is rendered first --> <div class=\"native-button-container\" id=\"${this._buttonId}\"></div> `,pending:()=>u})}}"
664
+ "default": "class extends f{constructor(){super();this.paymentManagers=new Map;this.computedStyles=null;this._buttonId=\"button-container\";this.loadManagerTask=new V(this,{args:()=>[this.paymentMethod?.type],task:async([e])=>{if(!e)return N;let r=this.paymentManagers.get(e)?.manager;if(!r)throw new Error(`No manager found for payment method type ${e}`);return r}}),new V(this,{args:()=>[this.loadManagerTask.value],task:async([e])=>{if(!e)return N;await this.updateComplete;let r=this.shadowRoot?.getElementById(this._buttonId);if(!r)return;let i=this.calculateButtonHeight(),s=e.createButton(),p=this.createRenderOptions(i);return await s.render(this.paymentMethod?.type===\"GOOGLE_PAY\"?this.shadowRoot?.getRootNode():r,p),e}})}calculateButtonHeight(){if(typeof window>\"u\"||!this.isConnected||!this.computedStyles)return 0;let e=parseFloat(this.computedStyles.getPropertyValue(\"--primer-typography-title-large-line-height\")),r=parseFloat(this.computedStyles.getPropertyValue(\"--primer-space-medium\"));return e+2*r}createRenderOptions(e){let r=this.paymentMethod?.type;return r===\"GOOGLE_PAY\"?{style:{shadowRoot:!0}}:r===\"APPLE_PAY\"?{style:{buttonHeight:e}}:r===\"PAYPAL\"?{style:{buttonHeight:e}}:{style:{buttonHeight:e}}}updated(e){e.has(\"paymentMethod\")&&this.paymentMethod&&(this._buttonId=`button-container-${this.paymentMethod.type}`)}render(){return this.loadManagerTask.render({error:()=>u,complete:()=>m` <!-- The native button container is rendered first --> <div class=\"native-button-container\" id=\"${this._buttonId}\"></div> `,pending:()=>u})}}"
601
665
  },
602
666
  {
603
667
  "kind": "variable",
604
- "name": "_e",
605
- "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.selectedCardNetwork=null;this.paymentManagers=new Map;this.cardFormProvider=new K(this,{context:vr,initialValue:null});this.eventsController=new tt(this);this.setupCardFormTask=new V(this,{task:async([e])=>{if(!e?.manager)return D;let{manager:r}=e,{cardNumberInput:i,expiryInput:s,cvvInput:c}=r.createHostedInputs();return this.cardFormProvider.setValue({cardNumberInput:i,expiryInput:s,cvvInput:c,setCardholderName:x=>r.setCardholderName(x),setCardNetwork:x=>{this.selectedCardNetwork=x},validate:()=>r.validate(),submit:x=>r.submit(x)}),!0},args:()=>[this.paymentManagers.get(\"PAYMENT_CARD\")]});this.handleSlotButtonClick=e=>{let i=e.target.closest(\"button, primer-button\");if(!i)return;this.isSubmitButton(i)&&(e.preventDefault(),this.submitCardPayment())};this.handleDirectSubmit=e=>{e.stopPropagation(),this.submitCardPayment()};this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0};this.handleFormSubmit=e=>{e.preventDefault(),e.stopPropagation(),this.submitCardPayment()}}connectedCallback(){super.connectedCallback(),this.addEventListener(\"click\",this.handleSlotButtonClick),this.addEventListener(\"primer-form-submit\",this.handleDirectSubmit)}disconnectedCallback(){this.removeEventListener(\"click\",this.handleSlotButtonClick),this.removeEventListener(\"primer-form-submit\",this.handleDirectSubmit),super.disconnectedCallback()}isSubmitButton(e){let r=e.tagName.toLowerCase(),i=r===\"button\",s=r===\"primer-button\";return i&&(e.getAttribute(\"type\")===\"submit\"||e.hasAttribute(\"data-submit\"))||s&&(e.getAttribute(\"buttonType\")===\"submit\"||e.hasAttribute(\"data-submit\"))}async submitCardPayment(){let e=this.cardFormProvider.value;if(!e)return;let r=await e.validate?.();if(r?.valid){let i=await e.submit?.(this.selectedCardNetwork?{cardNetwork:this.selectedCardNetwork}:void 0);this.eventsController.dispatchFormSubmitSuccess(i)}else{let i=r?.validationErrors;this.cardFormProvider.setValue({...e,errors:i}),this.eventsController.dispatchFormSubmitErrors(i)}}render(){return this.setupCardFormTask.status===ke.ERROR||this.setupCardFormTask.status===ke.INITIAL?u:m` <form @submit=${this.handleFormSubmit}> <slot name=\"card-form-content\" @slotchange=${this.onSlotChange}></slot> ${this.setupCardFormTask.render({complete:()=>$(this.hasAssignedContent,()=>u,()=>m` <div class=\"card-form\"> <primer-input-card-number></primer-input-card-number> <div class=\"card-form-row\"> <primer-input-card-expiry></primer-input-card-expiry> <primer-input-cvv></primer-input-cvv> </div> <primer-input-card-holder-name></primer-input-card-holder-name> </div> <primer-card-form-submit></primer-card-form-submit> `)})} </form> `}}"
668
+ "name": "Se",
669
+ "default": "class extends f{constructor(){super(...arguments);this.hasAssignedContent=!1;this.selectedCardNetwork=null;this.paymentManagers=new Map;this.cardFormProvider=new K(this,{context:vr,initialValue:null});this.eventsController=new tt(this);this.setupCardFormTask=new V(this,{task:async([e])=>{if(!e?.manager)return N;let{manager:r}=e,{cardNumberInput:i,expiryInput:s,cvvInput:p}=r.createHostedInputs();return this.cardFormProvider.setValue({cardNumberInput:i,expiryInput:s,cvvInput:p,setCardholderName:x=>r.setCardholderName(x),setCardNetwork:x=>{this.selectedCardNetwork=x},validate:()=>r.validate(),submit:x=>r.submit(x)}),!0},args:()=>[this.paymentManagers.get(\"PAYMENT_CARD\")]});this.handleSlotButtonClick=e=>{let i=e.target.closest(\"button, primer-button\");if(!i)return;this.isSubmitButton(i)&&(e.preventDefault(),this.submitCardPayment())};this.handleDirectSubmit=e=>{e.stopPropagation(),this.submitCardPayment()};this.onSlotChange=e=>{let i=e.target.assignedNodes({flatten:!0});this.hasAssignedContent=i.length>0};this.handleFormSubmit=e=>{e.preventDefault(),e.stopPropagation(),this.submitCardPayment()}}connectedCallback(){super.connectedCallback(),this.addEventListener(\"click\",this.handleSlotButtonClick),this.addEventListener(\"primer-form-submit\",this.handleDirectSubmit)}disconnectedCallback(){this.removeEventListener(\"click\",this.handleSlotButtonClick),this.removeEventListener(\"primer-form-submit\",this.handleDirectSubmit),super.disconnectedCallback()}isSubmitButton(e){let r=e.tagName.toLowerCase(),i=r===\"button\",s=r===\"primer-button\";return i&&(e.getAttribute(\"type\")===\"submit\"||e.hasAttribute(\"data-submit\"))||s&&(e.getAttribute(\"buttonType\")===\"submit\"||e.hasAttribute(\"data-submit\"))}async submitCardPayment(){let e=this.cardFormProvider.value;if(!e)return;let r=await e.validate?.();if(r?.valid){let i=await e.submit?.(this.selectedCardNetwork?{cardNetwork:this.selectedCardNetwork}:void 0);this.eventsController.dispatchFormSubmitSuccess(i)}else{let i=r?.validationErrors;this.cardFormProvider.setValue({...e,errors:i}),this.eventsController.dispatchFormSubmitErrors(i)}}render(){return this.setupCardFormTask.status===ke.ERROR||this.setupCardFormTask.status===ke.INITIAL?u:m` <form @submit=${this.handleFormSubmit}> <slot name=\"card-form-content\" @slotchange=${this.onSlotChange}></slot> ${this.setupCardFormTask.render({complete:()=>$(this.hasAssignedContent,()=>u,()=>m` <div class=\"card-form\"> <primer-input-card-number></primer-input-card-number> <div class=\"card-form-row\"> <primer-input-card-expiry></primer-input-card-expiry> <primer-input-cvv></primer-input-cvv> </div> <primer-input-card-holder-name></primer-input-card-holder-name> </div> <primer-card-form-submit></primer-card-form-submit> `)})} </form> `}}"
606
670
  },
607
671
  {
608
672
  "kind": "variable",
@@ -616,12 +680,12 @@
616
680
  },
617
681
  {
618
682
  "kind": "variable",
619
- "name": "pt",
683
+ "name": "ct",
620
684
  "default": "class extends G{constructor(){super();this.config={inputType:\"expire\",containerSelector:\"#expiry\",errorName:\"expiryDate-card\",translations:{label:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"},placeholder:{id:\"cardExpiryPlaceholder\",defaultMessage:\"MM/YY\"},ariaLabel:{id:\"cardExpiry\",defaultMessage:\"Expiry Date\"}}};this.childUpdated()}render(){return this.renderInput()}}"
621
685
  },
622
686
  {
623
687
  "kind": "variable",
624
- "name": "ct",
688
+ "name": "pt",
625
689
  "default": "class extends G{constructor(){super();this.config={inputType:\"cardholderName\",containerSelector:\"#cardFormName\",errorName:\"cardholderName\",translations:{label:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"},placeholder:{id:\"cardholderNamePlaceholder\",defaultMessage:\"Name on card\"},ariaLabel:{id:\"cardholderNameLabel\",defaultMessage:\"Cardholder Name\"}},onInput:e=>this.handleInput(e)};this.childUpdated()}handleInput(e){this.cardFormContext?.setCardholderName?.(e)}render(){return this.renderInput()}}"
626
690
  },
627
691
  {
@@ -632,17 +696,17 @@
632
696
  {
633
697
  "kind": "variable",
634
698
  "name": "le",
635
- "default": "class extends f{constructor(){super(...arguments);this.cardNetworks=null;this.headlessUtils=null;this.selectedCardNetwork=null;this.isDropdownOpen=!1;this.focusedNetworkIndex=0;this.isKeyboardNavigation=!1;this.buttonRef=po();this.dropdownRef=po();this.networkOptionRefs=[];this.handleClickOutside=e=>{this.isDropdownOpen&&(this.contains(e.target)||(this.isDropdownOpen=!1,this.isKeyboardNavigation=!1))};this.handleMouseMove=()=>{this.isKeyboardNavigation&&(this.isKeyboardNavigation=!1)};this.handleKeyDown=e=>{if(!(!(this.getSelectableNetworks().length>1)||!(this.contains(e.target)||this===e.target||this.isDropdownOpen&&e.target===document.body)))switch(this.isKeyboardNavigation=!0,e.key){case\"ArrowDown\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex+1)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"ArrowUp\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex-1+this.getSelectableNetworks().length)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Enter\":case\" \":this.isDropdownOpen&&this.focusedNetworkIndex>=0?(e.preventDefault(),this.selectNetwork(e,this.getSelectableNetworks()[this.focusedNetworkIndex])):!this.isDropdownOpen&&this.buttonRef.value===document.activeElement&&(e.preventDefault(),this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Escape\":this.isDropdownOpen&&(e.preventDefault(),this.isDropdownOpen=!1,this.buttonRef.value?.focus());break;case\"Tab\":this.isDropdownOpen&&(this.isDropdownOpen=!1);break}};this.handleDocumentKeyDown=e=>{this.isDropdownOpen&&this.handleKeyDown(e)}}toggleDropdown(e){this.isKeyboardNavigation=!1,e.stopPropagation(),this.getSelectableNetworks().length>1&&(this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}getNetworkIconUrl(e){return this.headlessUtils?.getCardNetworkAsset(e.network)?.cardUrl}getSelectableNetworks(){return this.cardNetworks?.selectableCardNetworks||[]}getDetectedNetwork(){return this.selectedCardNetwork??(this.cardNetworks?.detectedCardNetwork||null)}getSelectedNetworkIndex(){let e=this.getDetectedNetwork();if(!e)return 0;let r=this.getSelectableNetworks().findIndex(i=>i.network===e.network);return r>=0?r:0}selectNetwork(e,r){e.stopPropagation(),this.selectedCardNetwork=r,this.isDropdownOpen=!1,this.buttonRef.value?.focus(),this.cardNetworks&&this.dispatchEvent(new CustomEvent(\"network-selected\",{detail:{network:r.network},bubbles:!0,composed:!0}))}focusNetworkOption(){requestAnimationFrame(()=>{this.networkOptionRefs[this.focusedNetworkIndex]&&this.networkOptionRefs[this.focusedNetworkIndex].focus()})}setNetworkOptionRef(e,r){this.networkOptionRefs[r]=e}connectedCallback(){super.connectedCallback(),setTimeout(()=>{document.addEventListener(\"click\",this.handleClickOutside),document.addEventListener(\"mousemove\",this.handleMouseMove),this.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"keydown\",this.handleDocumentKeyDown)},0)}disconnectedCallback(){document.removeEventListener(\"click\",this.handleClickOutside),document.removeEventListener(\"keydown\",this.handleDocumentKeyDown),document.removeEventListener(\"mousemove\",this.handleMouseMove),this.removeEventListener(\"keydown\",this.handleKeyDown),super.disconnectedCallback()}render(){if(this.cardNetworks?.isLoading)return m`<primer-spinner size=\"small\" compact></primer-spinner>`;let e=this.getSelectableNetworks();if(!this.getDetectedNetwork()&&e.length===0)return m`<primer-icon name=\"payment-card\"></primer-icon>`;let r=this.getDetectedNetwork()||(e.length>0?e[0]:null);if(!r)return m`<primer-icon name=\"payment-card\" size=\"sm\"></primer-icon>`;let i=e.length>1;return m` <button ${Cr(this.buttonRef)} class=\"network-selector\" @click=${this.toggleDropdown} @keydown=${s=>{(s.key===\" \"||s.key===\"Enter\")&&i&&(s.preventDefault(),this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}} aria-label=${i?`Selected card network: ${r.displayName}. Click to change.`:`Card network: ${r.displayName}`} aria-expanded=${i?this.isDropdownOpen:u} aria-haspopup=${i?\"true\":u} aria-controls=${i?\"network-dropdown\":u} > <img class=\"network-icon\" src=${this.getNetworkIconUrl(r)} alt=${r.displayName} /> ${$(i,()=>m` <primer-icon class=\"caret ${this.isDropdownOpen?\"open\":\"\"}\" name=\"chevron-down\" ></primer-icon> `,()=>u)} </button> ${$(this.isDropdownOpen,()=>m` <div ${Cr(this.dropdownRef)} id=\"network-dropdown\" class=\"dropdown open\" role=\"listbox\" aria-label=\"Select card network\" > ${e.map((s,c)=>m` <div ${Cr(x=>this.setNetworkOptionRef(x,c))} class=\"network-option ${this.isKeyboardNavigation&&c===this.focusedNetworkIndex?\"focused\":\"\"}\" @click=${x=>this.selectNetwork(x,s)} @keydown=${x=>{(x.key===\"Enter\"||x.key===\" \")&&this.selectNetwork(x,s)}} role=\"option\" aria-selected=${s.network===r.network} tabindex=\"${c===this.focusedNetworkIndex?\"0\":\"-1\"}\" > <img class=\"network-option-icon\" src=${this.getNetworkIconUrl(s)} alt=${s.displayName} /> <span class=\"network-name\">${s.displayName}</span> ${$(s.network===r.network,()=>m` <primer-icon class=\"checkmark\" name=\"checkmark\" ></primer-icon> `,()=>u)} </div> `)} </div> `,()=>u)} `}}"
699
+ "default": "class extends f{constructor(){super(...arguments);this.cardNetworks=null;this.headlessUtils=null;this.selectedCardNetwork=null;this.isDropdownOpen=!1;this.focusedNetworkIndex=0;this.isKeyboardNavigation=!1;this.buttonRef=co();this.dropdownRef=co();this.networkOptionRefs=[];this.handleClickOutside=e=>{this.isDropdownOpen&&(this.contains(e.target)||(this.isDropdownOpen=!1,this.isKeyboardNavigation=!1))};this.handleMouseMove=()=>{this.isKeyboardNavigation&&(this.isKeyboardNavigation=!1)};this.handleKeyDown=e=>{if(!(!(this.getSelectableNetworks().length>1)||!(this.contains(e.target)||this===e.target||this.isDropdownOpen&&e.target===document.body)))switch(this.isKeyboardNavigation=!0,e.key){case\"ArrowDown\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex+1)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"ArrowUp\":e.preventDefault(),this.isDropdownOpen?(this.focusedNetworkIndex=(this.focusedNetworkIndex-1+this.getSelectableNetworks().length)%this.getSelectableNetworks().length,this.focusNetworkOption()):(this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Enter\":case\" \":this.isDropdownOpen&&this.focusedNetworkIndex>=0?(e.preventDefault(),this.selectNetwork(e,this.getSelectableNetworks()[this.focusedNetworkIndex])):!this.isDropdownOpen&&this.buttonRef.value===document.activeElement&&(e.preventDefault(),this.isDropdownOpen=!0,this.focusedNetworkIndex=this.getSelectedNetworkIndex());break;case\"Escape\":this.isDropdownOpen&&(e.preventDefault(),this.isDropdownOpen=!1,this.buttonRef.value?.focus());break;case\"Tab\":this.isDropdownOpen&&(this.isDropdownOpen=!1);break}};this.handleDocumentKeyDown=e=>{this.isDropdownOpen&&this.handleKeyDown(e)}}toggleDropdown(e){this.isKeyboardNavigation=!1,e.stopPropagation(),this.getSelectableNetworks().length>1&&(this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}getNetworkIconUrl(e){return this.headlessUtils?.getCardNetworkAsset(e.network)?.cardUrl}getSelectableNetworks(){return this.cardNetworks?.selectableCardNetworks||[]}getDetectedNetwork(){return this.selectedCardNetwork??(this.cardNetworks?.detectedCardNetwork||null)}getSelectedNetworkIndex(){let e=this.getDetectedNetwork();if(!e)return 0;let r=this.getSelectableNetworks().findIndex(i=>i.network===e.network);return r>=0?r:0}selectNetwork(e,r){e.stopPropagation(),this.selectedCardNetwork=r,this.isDropdownOpen=!1,this.buttonRef.value?.focus(),this.cardNetworks&&this.dispatchEvent(new CustomEvent(\"network-selected\",{detail:{network:r.network},bubbles:!0,composed:!0}))}focusNetworkOption(){requestAnimationFrame(()=>{this.networkOptionRefs[this.focusedNetworkIndex]&&this.networkOptionRefs[this.focusedNetworkIndex].focus()})}setNetworkOptionRef(e,r){this.networkOptionRefs[r]=e}connectedCallback(){super.connectedCallback(),setTimeout(()=>{document.addEventListener(\"click\",this.handleClickOutside),document.addEventListener(\"mousemove\",this.handleMouseMove),this.addEventListener(\"keydown\",this.handleKeyDown),document.addEventListener(\"keydown\",this.handleDocumentKeyDown)},0)}disconnectedCallback(){document.removeEventListener(\"click\",this.handleClickOutside),document.removeEventListener(\"keydown\",this.handleDocumentKeyDown),document.removeEventListener(\"mousemove\",this.handleMouseMove),this.removeEventListener(\"keydown\",this.handleKeyDown),super.disconnectedCallback()}render(){if(this.cardNetworks?.isLoading)return m`<primer-spinner size=\"small\" compact></primer-spinner>`;let e=this.getSelectableNetworks();if(!this.getDetectedNetwork()&&e.length===0)return m`<primer-icon name=\"payment-card\"></primer-icon>`;let r=this.getDetectedNetwork()||(e.length>0?e[0]:null);if(!r)return m`<primer-icon name=\"payment-card\" size=\"sm\"></primer-icon>`;let i=e.length>1;return m` <button ${Cr(this.buttonRef)} class=\"network-selector\" @click=${this.toggleDropdown} @keydown=${s=>{(s.key===\" \"||s.key===\"Enter\")&&i&&(s.preventDefault(),this.isDropdownOpen=!this.isDropdownOpen,this.isDropdownOpen&&(this.focusedNetworkIndex=this.getSelectedNetworkIndex()))}} aria-label=${i?`Selected card network: ${r.displayName}. Click to change.`:`Card network: ${r.displayName}`} aria-expanded=${i?this.isDropdownOpen:u} aria-haspopup=${i?\"true\":u} aria-controls=${i?\"network-dropdown\":u} > <img class=\"network-icon\" src=${this.getNetworkIconUrl(r)} alt=${r.displayName} /> ${$(i,()=>m` <primer-icon class=\"caret ${this.isDropdownOpen?\"open\":\"\"}\" name=\"chevron-down\" ></primer-icon> `,()=>u)} </button> ${$(this.isDropdownOpen,()=>m` <div ${Cr(this.dropdownRef)} id=\"network-dropdown\" class=\"dropdown open\" role=\"listbox\" aria-label=\"Select card network\" > ${e.map((s,p)=>m` <div ${Cr(x=>this.setNetworkOptionRef(x,p))} class=\"network-option ${this.isKeyboardNavigation&&p===this.focusedNetworkIndex?\"focused\":\"\"}\" @click=${x=>this.selectNetwork(x,s)} @keydown=${x=>{(x.key===\"Enter\"||x.key===\" \")&&this.selectNetwork(x,s)}} role=\"option\" aria-selected=${s.network===r.network} tabindex=\"${p===this.focusedNetworkIndex?\"0\":\"-1\"}\" > <img class=\"network-option-icon\" src=${this.getNetworkIconUrl(s)} alt=${s.displayName} /> <span class=\"network-name\">${s.displayName}</span> ${$(s.network===r.network,()=>m` <primer-icon class=\"checkmark\" name=\"checkmark\" ></primer-icon> `,()=>u)} </div> `)} </div> `,()=>u)} `}}"
636
700
  },
637
701
  {
638
702
  "kind": "variable",
639
- "name": "ce",
703
+ "name": "pe",
640
704
  "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.isEditMode=!1;this.deletePaymentMethodId=null;this.isDeleting=!1;this.errorMessage=\"\"}handleToggleEditMode(e){this.isEditMode=e.detail,this.deletePaymentMethodId=null}handleDeletePaymentMethod(e){this.deletePaymentMethodId=e.detail}handleCancelDelete(){this.deletePaymentMethodId=null}async handleConfirmDelete(){if(!this.vaultManagerContext?.deleteVaultedPaymentMethod||!this.deletePaymentMethodId){this.errorMessage=P(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"});return}try{this.isDeleting=!0,await this.vaultManagerContext.deleteVaultedPaymentMethod(this.deletePaymentMethodId),this.deletePaymentMethodId=null}catch(e){this.errorMessage=e instanceof Error?e.message:P(\"something_went_wrong_error\",{id:\"something_went_wrong_error\"})}finally{this.isDeleting=!1}}handlePaymentError(e){let r=e.detail?.error;this.errorMessage=r instanceof Error?r.message:P(\"payment_processing_error\",{id:\"payment_processing_error\"})}handleCloseError(){this.errorMessage=\"\"}getPaymentMethodName(e){if(!this.vaultManagerContext)return\"\";let r=this.vaultManagerContext.vaultedPaymentMethods.find(i=>i.id===e);if(!r)return\"\";try{return Mr(r).description||\"\"}catch{return\"\"}}renderDeleteConfirmation(){if(!this.deletePaymentMethodId)return u;let e=this.getPaymentMethodName(this.deletePaymentMethodId);return m` <div class=\"delete-confirmation-container\"> <primer-vault-delete-confirmation .isDeleting=${this.isDeleting} .paymentMethodId=${this.deletePaymentMethodId} .paymentMethodName=${e} @confirm-delete=${this.handleConfirmDelete} @cancel-delete=${this.handleCancelDelete} ></primer-vault-delete-confirmation> </div> `}renderPaymentMethodItem(e){return this.deletePaymentMethodId===e.id?u:m` <primer-vault-payment-method-item .paymentMethod=${e} .isEditMode=${this.isEditMode} @delete-payment-method=${this.handleDeletePaymentMethod} ></primer-vault-payment-method-item> `}render(){if(!this.vaultManagerContext?.enabled)return u;let e=this.vaultManagerContext.vaultedPaymentMethods.length>0,r=this.vaultManagerContext.isLoading,i=!this.isEditMode&&e&&!r&&!this.deletePaymentMethodId;return m` <div class=\"vault-manager\"> <primer-vault-manager-header .isEditMode=${this.isEditMode} .hasPaymentMethods=${e} @toggle-edit-mode=${this.handleToggleEditMode} ></primer-vault-manager-header> ${$(this.errorMessage,()=>m` <primer-vault-error-message .errorMessage=${this.errorMessage} @close-error=${this.handleCloseError} ></primer-vault-error-message> `,()=>u)} <div class=\"vault-manager-content\"> ${$(!r&&!e,()=>m`<primer-vault-empty-state></primer-vault-empty-state>`,()=>u)} ${$(!r&&e&&this.deletePaymentMethodId,()=>this.renderDeleteConfirmation(),()=>u)} ${$(!r&&e&&!this.deletePaymentMethodId,()=>m` <div class=\"payment-methods-list\"> ${this.vaultManagerContext?.vaultedPaymentMethods.map(s=>this.renderPaymentMethodItem(s))} ${$(i,()=>m` <primer-vault-payment-submit @primer-vault-payment-error=${this.handlePaymentError} ></primer-vault-payment-submit> `,()=>u)} </div> `,()=>u)} </div> </div> `}}"
641
705
  },
642
706
  {
643
707
  "kind": "variable",
644
708
  "name": "me",
645
- "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.vaultItemContext=null;this.headlessUtils=null;this.paymentMethod=null;this.isEditMode=!1;this._getAssetsTask=new V(this,{task:async([e,r,i])=>{if(!e||!r||!i)return D;let s=\"\";if(oa(e))s=r.getCardNetworkAsset(e.paymentInstrumentData.network).cardUrl;else{let h=await r.getCDNAssets(e.paymentMethodType);h&&(s=h.assets?.icon?`${h.goatCdnUrl}/${h.assets.icon}`:\"\")}let c=i.cvvRecapture,x=Mr(e);return{icon:s,shouldShowCVV:c,...x}},args:()=>[this.paymentMethod,this.headlessUtils,this.vaultManagerContext]})}isSelected(){if(!this.vaultManagerContext||!this.paymentMethod)return!1;let e=this.vaultItemContext?.selectedVaultedPaymentMethod;return!!e&&e.id===this.paymentMethod.id}handleClick(){this.isEditMode||!this.vaultManagerContext||!this.paymentMethod||(this.isSelected()?this.vaultItemContext?.setSelectedVaultedPaymentMethod(null):this.vaultItemContext?.setSelectedVaultedPaymentMethod(this.paymentMethod))}handleDeleteClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(\"delete-payment-method\",{detail:this.paymentMethod?.id,bubbles:!0,composed:!0}))}renderPaymentMethodContent(e){let r=e.icon?m`<img class=\"payment-method-icon\" src=${e.icon} alt=${e.description} />`:m` <div class=\"payment-method-icon payment-method-icon-generic\"> <primer-icon name=\"payment-card\" size=\"sm\"></primer-icon> </div> `;return m` ${r} <div class=\"payment-method-details\"> <div class=\"payment-method-description\">${e.description}</div> ${e.secondaryDescription?m`<div class=\"payment-method-secondary-description\"> ${e.secondaryDescription} </div>`:u} </div> `}render(){return this._getAssetsTask.render({error:()=>u,complete:e=>{let r=this.isSelected()?\"checked\":\"default\";return this.isEditMode?m` <div class=\"payment-method-item\" @click=${this.handleClick}> <div class=\"payment-method-content\"> ${this.renderPaymentMethodContent(e)} <button class=\"delete-button\" @click=${this.handleDeleteClick} aria-label=${`${P(\"delete\",{id:\"delete\"})} ${e.description}`} > <primer-icon name=\"trash\" size=\"sm\"></primer-icon> </button> </div> </div> `:m` <div class=\"payment-method-wrapper\"> <primer-button variant=\"secondary\" class=\"payment-method-button\" selectable selectionState=${r} @click=${this.handleClick} > ${this.renderPaymentMethodContent(e)} </primer-button> ${$(e.shouldShowCVV&&this.isSelected(),()=>m`<primer-vault-cvv-input .paymentMethod=\"${this.paymentMethod}\" ></primer-vault-cvv-input>`)} </div> `}})}}"
709
+ "default": "class extends f{constructor(){super(...arguments);this.vaultManagerContext=null;this.vaultItemContext=null;this.headlessUtils=null;this.paymentMethod=null;this.isEditMode=!1;this._getAssetsTask=new V(this,{task:async([e,r,i])=>{if(!e||!r||!i)return N;let s=\"\";if(aa(e))s=r.getCardNetworkAsset(e.paymentInstrumentData.network).cardUrl;else{let h=await r.getCDNAssets(e.paymentMethodType);h&&(s=h.assets?.icon?`${h.goatCdnUrl}/${h.assets.icon}`:\"\")}let p=i.cvvRecapture,x=Mr(e);return{icon:s,shouldShowCVV:p,...x}},args:()=>[this.paymentMethod,this.headlessUtils,this.vaultManagerContext]})}isSelected(){if(!this.vaultManagerContext||!this.paymentMethod)return!1;let e=this.vaultItemContext?.selectedVaultedPaymentMethod;return!!e&&e.id===this.paymentMethod.id}handleClick(){this.isEditMode||!this.vaultManagerContext||!this.paymentMethod||(this.isSelected()?this.vaultItemContext?.setSelectedVaultedPaymentMethod(null):this.vaultItemContext?.setSelectedVaultedPaymentMethod(this.paymentMethod))}handleDeleteClick(e){e.stopPropagation(),this.dispatchEvent(new CustomEvent(\"delete-payment-method\",{detail:this.paymentMethod?.id,bubbles:!0,composed:!0}))}renderPaymentMethodContent(e){let r=e.icon?m`<img class=\"payment-method-icon\" src=${e.icon} alt=${e.description} />`:m` <div class=\"payment-method-icon payment-method-icon-generic\"> <primer-icon name=\"payment-card\" size=\"sm\"></primer-icon> </div> `;return m` ${r} <div class=\"payment-method-details\"> <div class=\"payment-method-description\">${e.description}</div> ${e.secondaryDescription?m`<div class=\"payment-method-secondary-description\"> ${e.secondaryDescription} </div>`:u} </div> `}render(){return this._getAssetsTask.render({error:()=>u,complete:e=>{let r=this.isSelected()?\"checked\":\"default\";return this.isEditMode?m` <div class=\"payment-method-item\" @click=${this.handleClick}> <div class=\"payment-method-content\"> ${this.renderPaymentMethodContent(e)} <button class=\"delete-button\" @click=${this.handleDeleteClick} aria-label=${`${P(\"delete\",{id:\"delete\"})} ${e.description}`} > <primer-icon name=\"trash\" size=\"sm\"></primer-icon> </button> </div> </div> `:m` <div class=\"payment-method-wrapper\"> <primer-button variant=\"secondary\" class=\"payment-method-button\" selectable selectionState=${r} @click=${this.handleClick} > ${this.renderPaymentMethodContent(e)} </primer-button> ${$(e.shouldShowCVV&&this.isSelected(),()=>m`<primer-vault-cvv-input .paymentMethod=\"${this.paymentMethod}\" ></primer-vault-cvv-input>`)} </div> `}})}}"
646
710
  },
647
711
  {
648
712
  "kind": "variable",
@@ -672,7 +736,7 @@
672
736
  {
673
737
  "kind": "variable",
674
738
  "name": "J",
675
- "default": "class extends f{constructor(){super();this.vaultManagerFormContext=null;this.vaultManagerCvvContext=null;this.computedStyles=null;this.paymentMethod=null;this.cvvError=null;this.cvvInputIsDirty=!1;this.cvvInputIsBlurred=!1;this.cvvInput=null;this._setupCVVIframe=new V(this,{task:async([e,r])=>!e||!r||e.paymentMethodType!==\"PAYMENT_CARD\"||!e.paymentInstrumentData?.network||r.createCvvInput===void 0?D:{network:e.paymentInstrumentData.network,createCvvInput:r.createCvvInput},args:()=>[this.paymentMethod,this.vaultManagerFormContext]});this.cvvContainerId=`cvv-container-${Math.random().toString(36).substring(2,9)}`,new V(this,{task:async([e])=>{if(!e)return D;await this.updateComplete;let r=this.renderRoot.querySelector(`#${this.cvvContainerId}`);if(!r)return;let i=yr(this.computedStyles),s=i?{input:{base:i}}:void 0,c={cardNetwork:e.network,container:r,name:\"cvv\",placeholder:\"123\",style:s};this.cvvInput=await e.createCvvInput(c),this.cvvInput&&(this.cvvInput.focus(),this.cvvError=this.cvvInput.metadata.error||null,this.vaultManagerCvvContext?.setCvvInput(this.cvvInput),this.cvvInput.addListener(\"change\",()=>{this.onCvvInputChange()}),this.cvvInput.addListener(\"blur\",()=>{this.onBlur()}))},args:()=>[this._setupCVVIframe.value]})}disconnectedCallback(){super.disconnectedCallback(),this.cvvInput&&(this.cvvInput.remove(),this.cvvInput=null,this.cvvError=null,this.vaultManagerCvvContext?.setCvvInput(null))}onCvvInputChange(){!this.cvvInput||!this.vaultManagerCvvContext||(this.cvvInputIsDirty=!0,this.cvvError=this.cvvInput.metadata.error||null)}onBlur(){this.cvvInput&&(this.cvvInputIsBlurred=!0,this.cvvError=this.cvvInput.metadata.error||null)}render(){return this._setupCVVIframe.render({error:()=>u,complete:()=>m` <div class=\"cvv-input-container\"> <primer-input-wrapper .hasError=${!!this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred)} > <primer-input-label slot=\"label\">CVV</primer-input-label> <div slot=\"input\" id=\"${this.cvvContainerId}\"></div> ${$(this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred),()=>m` <primer-input-error slot=\"error\"> ${this.cvvError} </primer-input-error> `)} </primer-input-wrapper> </div> `})}}"
739
+ "default": "class extends f{constructor(){super();this.vaultManagerFormContext=null;this.vaultManagerCvvContext=null;this.computedStyles=null;this.paymentMethod=null;this.cvvError=null;this.cvvInputIsDirty=!1;this.cvvInputIsBlurred=!1;this.cvvInput=null;this._setupCVVIframe=new V(this,{task:async([e,r])=>!e||!r||e.paymentMethodType!==\"PAYMENT_CARD\"||!e.paymentInstrumentData?.network||r.createCvvInput===void 0?N:{network:e.paymentInstrumentData.network,createCvvInput:r.createCvvInput},args:()=>[this.paymentMethod,this.vaultManagerFormContext]});this.cvvContainerId=`cvv-container-${Math.random().toString(36).substring(2,9)}`,new V(this,{task:async([e])=>{if(!e)return N;await this.updateComplete;let r=this.renderRoot.querySelector(`#${this.cvvContainerId}`);if(!r)return;let i=yr(this.computedStyles),s=i?{input:{base:i}}:void 0,p={cardNetwork:e.network,container:r,name:\"cvv\",placeholder:\"123\",style:s};this.cvvInput=await e.createCvvInput(p),this.cvvInput&&(this.cvvInput.focus(),this.cvvError=this.cvvInput.metadata.error||null,this.vaultManagerCvvContext?.setCvvInput(this.cvvInput),this.cvvInput.addListener(\"change\",()=>{this.onCvvInputChange()}),this.cvvInput.addListener(\"blur\",()=>{this.onBlur()}))},args:()=>[this._setupCVVIframe.value]})}disconnectedCallback(){super.disconnectedCallback(),this.cvvInput&&(this.cvvInput.remove(),this.cvvInput=null,this.cvvError=null,this.vaultManagerCvvContext?.setCvvInput(null))}onCvvInputChange(){!this.cvvInput||!this.vaultManagerCvvContext||(this.cvvInputIsDirty=!0,this.cvvError=this.cvvInput.metadata.error||null)}onBlur(){this.cvvInput&&(this.cvvInputIsBlurred=!0,this.cvvError=this.cvvInput.metadata.error||null)}render(){return this._setupCVVIframe.render({error:()=>u,complete:()=>m` <div class=\"cvv-input-container\"> <primer-input-wrapper .hasError=${!!this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred)} > <primer-input-label slot=\"label\">CVV</primer-input-label> <div slot=\"input\" id=\"${this.cvvContainerId}\"></div> ${$(this.cvvError&&(this.vaultManagerCvvContext?.formIsDirty||this.cvvInputIsDirty&&this.cvvInputIsBlurred),()=>m` <primer-input-error slot=\"error\"> ${this.cvvError} </primer-input-error> `)} </primer-input-wrapper> </div> `})}}"
676
740
  },
677
741
  {
678
742
  "kind": "variable",
@@ -696,23 +760,7 @@
696
760
  },
697
761
  {
698
762
  "kind": "function",
699
- "name": "Fn"
700
- },
701
- {
702
- "kind": "function",
703
- "name": "Kn"
704
- },
705
- {
706
- "kind": "function",
707
- "name": "Px"
708
- },
709
- {
710
- "kind": "function",
711
- "name": "Tx"
712
- },
713
- {
714
- "kind": "function",
715
- "name": "wx"
763
+ "name": "Ix"
716
764
  }
717
765
  ],
718
766
  "exports": [
@@ -744,7 +792,7 @@
744
792
  "kind": "js",
745
793
  "name": "CardForm",
746
794
  "declaration": {
747
- "name": "_e",
795
+ "name": "Se",
748
796
  "module": "dist/primer-loader.js"
749
797
  }
750
798
  },
@@ -784,7 +832,7 @@
784
832
  "kind": "js",
785
833
  "name": "CardFormExpiry",
786
834
  "declaration": {
787
- "name": "pt",
835
+ "name": "ct",
788
836
  "module": "dist/primer-loader.js"
789
837
  }
790
838
  },
@@ -792,7 +840,7 @@
792
840
  "kind": "js",
793
841
  "name": "CardFormName",
794
842
  "declaration": {
795
- "name": "ct",
843
+ "name": "pt",
796
844
  "module": "dist/primer-loader.js"
797
845
  }
798
846
  },
@@ -832,7 +880,7 @@
832
880
  "kind": "js",
833
881
  "name": "InitializedPayments",
834
882
  "declaration": {
835
- "name": "hr",
883
+ "name": "ur",
836
884
  "module": "dist/primer-loader.js"
837
885
  }
838
886
  },
@@ -848,7 +896,7 @@
848
896
  "kind": "js",
849
897
  "name": "InputLabel",
850
898
  "declaration": {
851
- "name": "Le",
899
+ "name": "Ne",
852
900
  "module": "dist/primer-loader.js"
853
901
  }
854
902
  },
@@ -992,7 +1040,7 @@
992
1040
  "kind": "js",
993
1041
  "name": "VaultManager",
994
1042
  "declaration": {
995
- "name": "ce",
1043
+ "name": "pe",
996
1044
  "module": "dist/primer-loader.js"
997
1045
  }
998
1046
  },
@@ -1024,7 +1072,7 @@
1024
1072
  "kind": "js",
1025
1073
  "name": "injectDarkTheme",
1026
1074
  "declaration": {
1027
- "name": "Tx",
1075
+ "name": "Nn",
1028
1076
  "module": "dist/primer-loader.js"
1029
1077
  }
1030
1078
  },
@@ -1032,7 +1080,7 @@
1032
1080
  "kind": "js",
1033
1081
  "name": "injectLightTheme",
1034
1082
  "declaration": {
1035
- "name": "Px",
1083
+ "name": "Ln",
1036
1084
  "module": "dist/primer-loader.js"
1037
1085
  }
1038
1086
  },
@@ -1040,7 +1088,7 @@
1040
1088
  "kind": "js",
1041
1089
  "name": "injectLoaderStyles",
1042
1090
  "declaration": {
1043
- "name": "Fn",
1091
+ "name": "_i",
1044
1092
  "module": "dist/primer-loader.js"
1045
1093
  }
1046
1094
  },
@@ -1048,7 +1096,7 @@
1048
1096
  "kind": "js",
1049
1097
  "name": "injectThemeStyles",
1050
1098
  "declaration": {
1051
- "name": "Kn",
1099
+ "name": "Pi",
1052
1100
  "module": "dist/primer-loader.js"
1053
1101
  }
1054
1102
  },
@@ -1056,7 +1104,7 @@
1056
1104
  "kind": "js",
1057
1105
  "name": "loadPrimer",
1058
1106
  "declaration": {
1059
- "name": "wx",
1107
+ "name": "Ix",
1060
1108
  "module": "dist/primer-loader.js"
1061
1109
  }
1062
1110
  }
@@ -1148,6 +1196,38 @@
1148
1196
  "name": "PrimerCheckoutComponent",
1149
1197
  "module": "src/components.ts"
1150
1198
  }
1199
+ },
1200
+ {
1201
+ "kind": "js",
1202
+ "name": "injectLoaderStyles",
1203
+ "declaration": {
1204
+ "name": "injectLoaderStyles",
1205
+ "module": "src/components.ts"
1206
+ }
1207
+ },
1208
+ {
1209
+ "kind": "js",
1210
+ "name": "injectThemeStyles",
1211
+ "declaration": {
1212
+ "name": "injectThemeStyles",
1213
+ "module": "src/components.ts"
1214
+ }
1215
+ },
1216
+ {
1217
+ "kind": "js",
1218
+ "name": "injectLightTheme",
1219
+ "declaration": {
1220
+ "name": "injectLightTheme",
1221
+ "module": "src/components.ts"
1222
+ }
1223
+ },
1224
+ {
1225
+ "kind": "js",
1226
+ "name": "injectDarkTheme",
1227
+ "declaration": {
1228
+ "name": "injectDarkTheme",
1229
+ "module": "src/components.ts"
1230
+ }
1151
1231
  }
1152
1232
  ]
1153
1233
  },
@@ -1197,46 +1277,6 @@
1197
1277
  "kind": "javascript-module",
1198
1278
  "path": "src/loader.ts",
1199
1279
  "declarations": [
1200
- {
1201
- "kind": "function",
1202
- "name": "injectLoaderStyles",
1203
- "return": {
1204
- "type": {
1205
- "text": "void"
1206
- }
1207
- },
1208
- "description": "Injects the CSS loader styles into the page\nThese styles display a loading indicator before JavaScript initializes\n\nUnlike theme styles, loader styles should take precedence over merchant styles\nto ensure the loading indicator is visible. We append them to the end of the head."
1209
- },
1210
- {
1211
- "kind": "function",
1212
- "name": "injectThemeStyles",
1213
- "return": {
1214
- "type": {
1215
- "text": "void"
1216
- }
1217
- },
1218
- "description": "Injects all required theme CSS variables into the page\nThis should be called before components are rendered to ensure\nthey have access to all design tokens\n\nTheme styles are prepended to the document head to allow merchant styles\nto override our default variables."
1219
- },
1220
- {
1221
- "kind": "function",
1222
- "name": "injectLightTheme",
1223
- "return": {
1224
- "type": {
1225
- "text": "void"
1226
- }
1227
- },
1228
- "description": "Utility function to inject only the light theme CSS variables"
1229
- },
1230
- {
1231
- "kind": "function",
1232
- "name": "injectDarkTheme",
1233
- "return": {
1234
- "type": {
1235
- "text": "void"
1236
- }
1237
- },
1238
- "description": "Utility function to inject only the dark theme CSS variables"
1239
- },
1240
1280
  {
1241
1281
  "kind": "function",
1242
1282
  "name": "loadPrimer",
@@ -1419,6 +1459,15 @@
1419
1459
  "privacy": "private",
1420
1460
  "default": "false"
1421
1461
  },
1462
+ {
1463
+ "kind": "field",
1464
+ "name": "_loadingTimeoutId",
1465
+ "type": {
1466
+ "text": "number | null"
1467
+ },
1468
+ "privacy": "private",
1469
+ "default": "null"
1470
+ },
1422
1471
  {
1423
1472
  "kind": "field",
1424
1473
  "name": "locale",
@@ -1699,6 +1748,86 @@
1699
1748
  }
1700
1749
  ]
1701
1750
  },
1751
+ {
1752
+ "kind": "javascript-module",
1753
+ "path": "src/styles.ts",
1754
+ "declarations": [
1755
+ {
1756
+ "kind": "function",
1757
+ "name": "injectLoaderStyles",
1758
+ "return": {
1759
+ "type": {
1760
+ "text": "void"
1761
+ }
1762
+ },
1763
+ "description": "Injects the CSS loader styles into the page\nThese styles display a loading indicator before JavaScript initializes\n\nUnlike theme styles, loader styles should take precedence over merchant styles\nto ensure the loading indicator is visible. We append them to the end of the head."
1764
+ },
1765
+ {
1766
+ "kind": "function",
1767
+ "name": "injectThemeStyles",
1768
+ "return": {
1769
+ "type": {
1770
+ "text": "void"
1771
+ }
1772
+ },
1773
+ "description": "Injects all required theme CSS variables into the page\nThis should be called before components are rendered to ensure\nthey have access to all design tokens\n\nTheme styles are prepended to the document head to allow merchant styles\nto override our default variables."
1774
+ },
1775
+ {
1776
+ "kind": "function",
1777
+ "name": "injectLightTheme",
1778
+ "return": {
1779
+ "type": {
1780
+ "text": "void"
1781
+ }
1782
+ },
1783
+ "description": "Utility function to inject only the light theme CSS variables"
1784
+ },
1785
+ {
1786
+ "kind": "function",
1787
+ "name": "injectDarkTheme",
1788
+ "return": {
1789
+ "type": {
1790
+ "text": "void"
1791
+ }
1792
+ },
1793
+ "description": "Utility function to inject only the dark theme CSS variables"
1794
+ }
1795
+ ],
1796
+ "exports": [
1797
+ {
1798
+ "kind": "js",
1799
+ "name": "injectLoaderStyles",
1800
+ "declaration": {
1801
+ "name": "injectLoaderStyles",
1802
+ "module": "src/styles.ts"
1803
+ }
1804
+ },
1805
+ {
1806
+ "kind": "js",
1807
+ "name": "injectThemeStyles",
1808
+ "declaration": {
1809
+ "name": "injectThemeStyles",
1810
+ "module": "src/styles.ts"
1811
+ }
1812
+ },
1813
+ {
1814
+ "kind": "js",
1815
+ "name": "injectLightTheme",
1816
+ "declaration": {
1817
+ "name": "injectLightTheme",
1818
+ "module": "src/styles.ts"
1819
+ }
1820
+ },
1821
+ {
1822
+ "kind": "js",
1823
+ "name": "injectDarkTheme",
1824
+ "declaration": {
1825
+ "name": "injectDarkTheme",
1826
+ "module": "src/styles.ts"
1827
+ }
1828
+ }
1829
+ ]
1830
+ },
1702
1831
  {
1703
1832
  "kind": "javascript-module",
1704
1833
  "path": "cdn/chunks/ar.5AY75F5J.js",
@@ -4544,6 +4673,33 @@
4544
4673
  "privacy": "private",
4545
4674
  "default": "[]"
4546
4675
  },
4676
+ {
4677
+ "kind": "field",
4678
+ "name": "currentSdkInstance",
4679
+ "type": {
4680
+ "text": "PrimerHeadlessCheckout | null"
4681
+ },
4682
+ "privacy": "private",
4683
+ "default": "null"
4684
+ },
4685
+ {
4686
+ "kind": "field",
4687
+ "name": "loadingTimeout",
4688
+ "type": {
4689
+ "text": "any"
4690
+ },
4691
+ "privacy": "private",
4692
+ "default": "null"
4693
+ },
4694
+ {
4695
+ "kind": "field",
4696
+ "name": "isDisconnected",
4697
+ "type": {
4698
+ "text": "boolean"
4699
+ },
4700
+ "privacy": "private",
4701
+ "default": "false"
4702
+ },
4547
4703
  {
4548
4704
  "kind": "field",
4549
4705
  "name": "paymentsList",
@@ -4560,6 +4716,45 @@
4560
4716
  }
4561
4717
  }
4562
4718
  },
4719
+ {
4720
+ "kind": "method",
4721
+ "name": "hostDisconnected",
4722
+ "return": {
4723
+ "type": {
4724
+ "text": "void"
4725
+ }
4726
+ }
4727
+ },
4728
+ {
4729
+ "kind": "method",
4730
+ "name": "setupLoadingTimeout",
4731
+ "privacy": "private",
4732
+ "return": {
4733
+ "type": {
4734
+ "text": "void"
4735
+ }
4736
+ }
4737
+ },
4738
+ {
4739
+ "kind": "method",
4740
+ "name": "clearLoadingTimeout",
4741
+ "privacy": "private",
4742
+ "return": {
4743
+ "type": {
4744
+ "text": "void"
4745
+ }
4746
+ }
4747
+ },
4748
+ {
4749
+ "kind": "method",
4750
+ "name": "cleanupResources",
4751
+ "privacy": "private",
4752
+ "return": {
4753
+ "type": {
4754
+ "text": "void"
4755
+ }
4756
+ }
4757
+ },
4563
4758
  {
4564
4759
  "kind": "method",
4565
4760
  "name": "_loadV2Sdk",
@@ -5215,6 +5410,10 @@
5215
5410
  "kind": "method",
5216
5411
  "name": "reset"
5217
5412
  },
5413
+ {
5414
+ "kind": "method",
5415
+ "name": "forceCompleteLoading"
5416
+ },
5218
5417
  {
5219
5418
  "kind": "field",
5220
5419
  "name": "state",