@ic-pay/icpay-widget 1.1.9 → 1.1.11

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.
@@ -0,0 +1,2 @@
1
+ var h=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var j=(g,b,d,c)=>{for(var a=c>1?void 0:c?i(b,d):b,e=g.length-1,f;e>=0;e--)(f=g[e])&&(a=(c?f(b,d,a):f(a))||a);return c&&a&&h(b,d,a),a};export{j as a};
2
+ //# sourceMappingURL=chunk-LTEQ7OUJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { T as ThemeConfig, C as CommonConfig } from './amount-input-D02zIJ9C.js';
2
- export { g as AmountInputConfig, A as ArticlePaywallConfig, e as CoffeeShopConfig, b as CryptoOption, D as DonationThermometerConfig, m as ICPayAmountInput, i as ICPayArticlePaywall, j as ICPayCoffeeShop, k as ICPayDonationThermometer, l as ICPayPayButton, I as ICPayPremiumContent, h as ICPayTipJar, O as OnrampConfig, f as PayButtonConfig, P as PlugNPlayConfig, c as PremiumContentConfig, a as ProgressBarConfig, d as TipJarConfig } from './amount-input-D02zIJ9C.js';
1
+ import { T as ThemeConfig, C as CommonConfig } from './amount-input-BuRsVrmL.js';
2
+ export { g as AmountInputConfig, A as ArticlePaywallConfig, e as CoffeeShopConfig, b as CryptoOption, D as DonationThermometerConfig, m as ICPayAmountInput, i as ICPayArticlePaywall, j as ICPayCoffeeShop, k as ICPayDonationThermometer, l as ICPayPayButton, I as ICPayPremiumContent, h as ICPayTipJar, O as OnrampConfig, f as PayButtonConfig, P as PlugNPlayConfig, c as PremiumContentConfig, a as ProgressBarConfig, d as TipJarConfig } from './amount-input-BuRsVrmL.js';
3
3
  import * as lit from 'lit';
4
4
  import { TemplateResult } from 'lit';
5
5
  import { Icpay, PriceCalculationResult } from '@ic-pay/icpay-sdk';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as o,b as a,c as e,d as r,e as p,f as t,g as n,h as m,i as y,j as i,k as c}from"./chunk-653W5E3H.js";export{c as ICPayAmountInput,n as ICPayArticlePaywall,m as ICPayCoffeeShop,y as ICPayDonationThermometer,i as ICPayPayButton,p as ICPayPremiumContent,t as ICPayTipJar,a as applyThemeVars,o as baseStyles,e as createSdk,r as renderTransakOnrampModal};
1
+ import{a as o,b as a,c as e,d as r,e as p,f as t,g as n,h as m,i as y,j as i,k as c}from"./chunk-FSWERL6L.js";import"./chunk-LTEQ7OUJ.js";export{c as ICPayAmountInput,n as ICPayArticlePaywall,m as ICPayCoffeeShop,y as ICPayDonationThermometer,i as ICPayPayButton,p as ICPayPremiumContent,t as ICPayTipJar,a as applyThemeVars,o as baseStyles,e as createSdk,r as renderTransakOnrampModal};
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ import"./chunk-LTEQ7OUJ.js";function f(t){if(t&&typeof t=="string"&&t.trim())return t.trim();try{if(typeof window>"u")return;let i=new URL(window.location.origin),n=i.hostname.split(".");if(n.length<2)return window.location.origin;let l=n.slice(-2).join("."),o=n[n.length-1],e=n[n.length-2],c=new Set(["uk","au","nz","za","br"]),s=new Set(["co","com","gov","ac","org","net","edu"]),r=`${e}.${o}`;return c.has(o)&&s.has(e)&&n.length>=3&&(r=`${n[n.length-3]}.${e}.${o}`),`${i.protocol}//${r}`}catch{try{return typeof window<"u"?window.location.origin:void 0}catch{return}}}export{f as resolveDerivationOrigin};
2
+ //# sourceMappingURL=origin-7KFJTYXK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/origin.ts"],"sourcesContent":["// Utility to resolve derivationOrigin with sane defaults and apex-domain fallback\n// - If user provided derivationOrigin, return it\n// - Else, prefer window.location.origin but collapse subdomains to apex domain when possible\n// e.g., demo.icpay.org -> https://icpay.org, app.example.co.uk -> https://example.co.uk\n// - Fallback to origin as-is if parsing fails\n\nexport function resolveDerivationOrigin(userValue?: string): string | undefined {\n if (userValue && typeof userValue === 'string' && userValue.trim()) {\n return userValue.trim();\n }\n try {\n if (typeof window === 'undefined') return undefined;\n const url = new URL(window.location.origin);\n const host = url.hostname;\n // Heuristic apex extraction without external deps:\n // - Split by '.' and keep last 2 labels by default\n // - If TLD looks like 2-part ccTLD (e.g., co.uk, com.au), keep last 3\n const labels = host.split('.');\n if (labels.length < 2) return window.location.origin;\n const tld = labels.slice(-2).join('.');\n const last = labels[labels.length - 1];\n const secondLast = labels[labels.length - 2];\n const ccTLD2 = new Set(['uk', 'au', 'nz', 'za', 'br']);\n const secondLevelCC = new Set(['co', 'com', 'gov', 'ac', 'org', 'net', 'edu']);\n let apexHost = `${secondLast}.${last}`;\n if (ccTLD2.has(last) && secondLevelCC.has(secondLast) && labels.length >= 3) {\n // e.g., app.example.co.uk -> example.co.uk\n apexHost = `${labels[labels.length - 3]}.${secondLast}.${last}`;\n }\n return `${url.protocol}//${apexHost}`;\n } catch {\n try { return typeof window !== 'undefined' ? window.location.origin : undefined; } catch { return undefined; }\n }\n}\n\n\n"],"mappings":"4BAMO,SAASA,EAAwBC,EAAwC,CAC9E,GAAIA,GAAa,OAAOA,GAAc,UAAYA,EAAU,KAAK,EAC/D,OAAOA,EAAU,KAAK,EAExB,GAAI,CACF,GAAI,OAAO,OAAW,IAAa,OACnC,IAAMC,EAAM,IAAI,IAAI,OAAO,SAAS,MAAM,EAKpCC,EAJOD,EAAI,SAIG,MAAM,GAAG,EAC7B,GAAIC,EAAO,OAAS,EAAG,OAAO,OAAO,SAAS,OAC9C,IAAMC,EAAMD,EAAO,MAAM,EAAE,EAAE,KAAK,GAAG,EAC/BE,EAAOF,EAAOA,EAAO,OAAS,CAAC,EAC/BG,EAAaH,EAAOA,EAAO,OAAS,CAAC,EACrCI,EAAS,IAAI,IAAI,CAAC,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAC/CC,EAAgB,IAAI,IAAI,CAAC,KAAM,MAAO,MAAO,KAAM,MAAO,MAAO,KAAK,CAAC,EACzEC,EAAW,GAAGH,CAAU,IAAID,CAAI,GACpC,OAAIE,EAAO,IAAIF,CAAI,GAAKG,EAAc,IAAIF,CAAU,GAAKH,EAAO,QAAU,IAExEM,EAAW,GAAGN,EAAOA,EAAO,OAAS,CAAC,CAAC,IAAIG,CAAU,IAAID,CAAI,IAExD,GAAGH,EAAI,QAAQ,KAAKO,CAAQ,EACrC,MAAQ,CACN,GAAI,CAAE,OAAO,OAAO,OAAW,IAAc,OAAO,SAAS,OAAS,MAAW,MAAQ,CAAE,MAAkB,CAC/G,CACF","names":["resolveDerivationOrigin","userValue","url","labels","tld","last","secondLast","ccTLD2","secondLevelCC","apexHost"]}
@@ -1,4 +1,4 @@
1
- import '../amount-input-D02zIJ9C.js';
1
+ import '../amount-input-BuRsVrmL.js';
2
2
  import 'lit';
3
3
 
4
4
  type IcpaySuccess = {
@@ -1,2 +1,2 @@
1
- import"../chunk-653W5E3H.js";import I,{forwardRef as M,useEffect as d,useRef as b}from"react";function n(m,i){let f=M((o,t)=>{let s=b(null);d(()=>{let e=s.current;if(!e)return;let{children:p,className:r,style:y,id:c,role:l,tabIndex:u,title:a,ref:h,...C}=o;for(let[S,T]of Object.entries(C))try{e[S]=T}catch{}},[o]),d(()=>{let e=s.current;if(!e||!i?.eventMap)return;let p=[];for(let[r,y]of Object.entries(i.eventMap)){let c=o[r];if(typeof c=="function"){let l=u=>{let a=u;a&&"detail"in a?c(a.detail):c(u)};e.addEventListener(y,l),p.push(()=>e.removeEventListener(y,l))}}return()=>{p.forEach(r=>r())}},[o,i?.eventMap]);let g=e=>{s.current=e,typeof t=="function"?t(e):t&&typeof t=="object"&&(t.current=e)},{children:E,...v}=o;return I.createElement(m,{ref:g,...v},E)});return f.displayName=`ICPay(${m})`,f}var R=n("icpay-pay-button",{eventMap:{onSuccess:"icpay-pay",onError:"icpay-error"}}),A=n("icpay-amount-input",{eventMap:{onSuccess:"icpay-amount-pay",onError:"icpay-error"}}),H=n("icpay-premium-content",{eventMap:{onSuccess:"icpay-unlock",onError:"icpay-error"}}),w=n("icpay-tip-jar",{eventMap:{onSuccess:"icpay-tip",onError:"icpay-error"}}),k=n("icpay-article-paywall",{eventMap:{onSuccess:"icpay-unlock",onError:"icpay-error"}}),j=n("icpay-coffee-shop",{eventMap:{onSuccess:"icpay-coffee",onError:"icpay-error"}}),B=n("icpay-donation-thermometer",{eventMap:{onSuccess:"icpay-donation",onError:"icpay-error"}}),N=n("icpay-progress-bar");export{A as IcpayAmountInput,k as IcpayArticlePaywall,j as IcpayCoffeeShop,B as IcpayDonationThermometer,R as IcpayPayButton,H as IcpayPremiumContent,N as IcpayProgressBar,w as IcpayTipJar};
1
+ import"../chunk-FSWERL6L.js";import"../chunk-LTEQ7OUJ.js";import I,{forwardRef as M,useEffect as d,useRef as b}from"react";function n(m,i){let f=M((o,t)=>{let s=b(null);d(()=>{let e=s.current;if(!e)return;let{children:p,className:r,style:y,id:c,role:l,tabIndex:u,title:a,ref:h,...C}=o;for(let[S,T]of Object.entries(C))try{e[S]=T}catch{}},[o]),d(()=>{let e=s.current;if(!e||!i?.eventMap)return;let p=[];for(let[r,y]of Object.entries(i.eventMap)){let c=o[r];if(typeof c=="function"){let l=u=>{let a=u;a&&"detail"in a?c(a.detail):c(u)};e.addEventListener(y,l),p.push(()=>e.removeEventListener(y,l))}}return()=>{p.forEach(r=>r())}},[o,i?.eventMap]);let g=e=>{s.current=e,typeof t=="function"?t(e):t&&typeof t=="object"&&(t.current=e)},{children:E,...v}=o;return I.createElement(m,{ref:g,...v},E)});return f.displayName=`ICPay(${m})`,f}var R=n("icpay-pay-button",{eventMap:{onSuccess:"icpay-pay",onError:"icpay-error"}}),A=n("icpay-amount-input",{eventMap:{onSuccess:"icpay-amount-pay",onError:"icpay-error"}}),H=n("icpay-premium-content",{eventMap:{onSuccess:"icpay-unlock",onError:"icpay-error"}}),w=n("icpay-tip-jar",{eventMap:{onSuccess:"icpay-tip",onError:"icpay-error"}}),k=n("icpay-article-paywall",{eventMap:{onSuccess:"icpay-unlock",onError:"icpay-error"}}),j=n("icpay-coffee-shop",{eventMap:{onSuccess:"icpay-coffee",onError:"icpay-error"}}),B=n("icpay-donation-thermometer",{eventMap:{onSuccess:"icpay-donation",onError:"icpay-error"}}),N=n("icpay-progress-bar");export{A as IcpayAmountInput,k as IcpayArticlePaywall,j as IcpayCoffeeShop,B as IcpayDonationThermometer,R as IcpayPayButton,H as IcpayPremiumContent,N as IcpayProgressBar,w as IcpayTipJar};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/react/createWrapper.tsx","../../src/react/widgets.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\ntype AnyProps = Record<string, unknown> & { children?: React.ReactNode };\n\n// Generic React wrapper for ICPay custom elements.\n// - Assigns all non-React props as properties on the underlying element\n// - Leaves events to be handled via config callbacks (recommended)\nexport function createWebComponent<TElement extends HTMLElement, TProps extends AnyProps>(\n tagName: string,\n options?: { eventMap?: Record<string, string> }\n) {\n const Component = forwardRef<TElement, TProps>((props, ref) => {\n const innerRef = useRef<TElement | null>(null);\n\n useEffect(() => {\n const el = innerRef.current as any;\n if (!el) return;\n\n // Assign props as element properties (exclude standard React DOM props)\n const {\n children,\n className,\n style,\n id,\n role,\n tabIndex,\n title,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ref: _ignoredRef,\n ...rest\n } = props as any;\n\n for (const [key, value] of Object.entries(rest)) {\n try {\n (el as any)[key] = value;\n } catch {\n // no-op if property assignment fails\n }\n }\n }, [props]);\n\n // Wire custom-element events from props via eventMap\n useEffect(() => {\n const el = innerRef.current as unknown as HTMLElement | null;\n if (!el || !options?.eventMap) return;\n const cleanup: Array<() => void> = [];\n for (const [propName, eventName] of Object.entries(options.eventMap)) {\n const handler = (props as any)[propName];\n if (typeof handler === 'function') {\n const listener = (e: Event) => {\n const ce = e as CustomEvent;\n if (ce && 'detail' in ce) handler(ce.detail);\n else handler(e);\n };\n el.addEventListener(eventName, listener as EventListener);\n cleanup.push(() => el.removeEventListener(eventName, listener as EventListener));\n }\n }\n return () => { cleanup.forEach(fn => fn()); };\n }, [props, options?.eventMap]);\n\n // Merge forwarded ref\n const setRef = (node: TElement | null) => {\n innerRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<TElement | null>).current = node;\n }\n };\n\n const { children, ...rest } = props as any;\n return React.createElement(tagName, { ref: setRef, ...rest }, children);\n });\n\n Component.displayName = `ICPay(${tagName})`;\n return Component;\n}\n\n\n","import { createWebComponent } from './createWrapper';\nimport type {\n PayButtonConfig,\n AmountInputConfig,\n PremiumContentConfig,\n TipJarConfig,\n ArticlePaywallConfig,\n CoffeeShopConfig,\n DonationThermometerConfig,\n ThemeConfig\n} from '../types';\n\n// Public success detail types\nexport type IcpaySuccess = { amount?: number; tx: unknown };\nexport type IcpayCoffeeSuccess = { item: { name: string; priceUsd: number }; tx: unknown };\n\n// Public React components\nexport const IcpayPayButton = createWebComponent<HTMLElement, { config?: PayButtonConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-pay-button', { eventMap: { onSuccess: 'icpay-pay', onError: 'icpay-error' } });\nexport const IcpayAmountInput = createWebComponent<HTMLElement, { config?: AmountInputConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-amount-input', { eventMap: { onSuccess: 'icpay-amount-pay', onError: 'icpay-error' } });\nexport const IcpayPremiumContent = createWebComponent<HTMLElement, { config?: PremiumContentConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-premium-content', { eventMap: { onSuccess: 'icpay-unlock', onError: 'icpay-error' } });\nexport const IcpayTipJar = createWebComponent<HTMLElement, { config?: TipJarConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-tip-jar', { eventMap: { onSuccess: 'icpay-tip', onError: 'icpay-error' } });\nexport const IcpayArticlePaywall = createWebComponent<HTMLElement, { config?: ArticlePaywallConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-article-paywall', { eventMap: { onSuccess: 'icpay-unlock', onError: 'icpay-error' } });\nexport const IcpayCoffeeShop = createWebComponent<HTMLElement, { config?: CoffeeShopConfig; onSuccess?: (detail: IcpayCoffeeSuccess) => void; onError?: (detail: any) => void }>('icpay-coffee-shop', { eventMap: { onSuccess: 'icpay-coffee', onError: 'icpay-error' } });\nexport const IcpayDonationThermometer = createWebComponent<HTMLElement, { config?: DonationThermometerConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-donation-thermometer', { eventMap: { onSuccess: 'icpay-donation', onError: 'icpay-error' } });\nexport const IcpayProgressBar = createWebComponent<HTMLElement, {\n open?: boolean;\n steps?: Array<{ key: string; label: string; tooltip: string; status: string }>;\n amount?: number;\n currency?: string;\n ledgerSymbol?: string;\n debug?: boolean;\n theme?: ThemeConfig;\n}>('icpay-progress-bar');\n\n// Internal helpers (not exported): wallet selector is not a standalone element.\n\n\n"],"mappings":"6BAAA,OAAOA,GAAS,cAAAC,EAAY,aAAAC,EAAW,UAAAC,MAAc,QAO9C,SAASC,EACdC,EACAC,EACA,CACA,IAAMC,EAAYN,EAA6B,CAACO,EAAOC,IAAQ,CAC7D,IAAMC,EAAWP,EAAwB,IAAI,EAE7CD,EAAU,IAAM,CACd,IAAMS,EAAKD,EAAS,QACpB,GAAI,CAACC,EAAI,OAGT,GAAM,CACJ,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAAC,EACA,KAAAC,EACA,SAAAC,EACA,MAAAC,EAEA,IAAKC,EACL,GAAGC,CACL,EAAIZ,EAEJ,OAAW,CAACa,EAAKC,CAAK,IAAK,OAAO,QAAQF,CAAI,EAC5C,GAAI,CACDT,EAAWU,CAAG,EAAIC,CACrB,MAAQ,CAER,CAEJ,EAAG,CAACd,CAAK,CAAC,EAGVN,EAAU,IAAM,CACd,IAAMS,EAAKD,EAAS,QACpB,GAAI,CAACC,GAAM,CAACL,GAAS,SAAU,OAC/B,IAAMiB,EAA6B,CAAC,EACpC,OAAW,CAACC,EAAUC,CAAS,IAAK,OAAO,QAAQnB,EAAQ,QAAQ,EAAG,CACpE,IAAMoB,EAAWlB,EAAcgB,CAAQ,EACvC,GAAI,OAAOE,GAAY,WAAY,CACjC,IAAMC,EAAYC,GAAa,CAC7B,IAAMC,EAAKD,EACPC,GAAM,WAAYA,EAAIH,EAAQG,EAAG,MAAM,EACtCH,EAAQE,CAAC,CAChB,EACAjB,EAAG,iBAAiBc,EAAWE,CAAyB,EACxDJ,EAAQ,KAAK,IAAMZ,EAAG,oBAAoBc,EAAWE,CAAyB,CAAC,CACjF,CACF,CACA,MAAO,IAAM,CAAEJ,EAAQ,QAAQO,GAAMA,EAAG,CAAC,CAAG,CAC9C,EAAG,CAACtB,EAAOF,GAAS,QAAQ,CAAC,EAG7B,IAAMyB,EAAUC,GAA0B,CACxCtB,EAAS,QAAUsB,EACf,OAAOvB,GAAQ,WACjBA,EAAIuB,CAAI,EACCvB,GAAO,OAAOA,GAAQ,WAC9BA,EAAgD,QAAUuB,EAE/D,EAEM,CAAE,SAAApB,EAAU,GAAGQ,CAAK,EAAIZ,EAC9B,OAAOR,EAAM,cAAcK,EAAS,CAAE,IAAK0B,EAAQ,GAAGX,CAAK,EAAGR,CAAQ,CACxE,CAAC,EAED,OAAAL,EAAU,YAAc,SAASF,CAAO,IACjCE,CACT,CC5DO,IAAM0B,EAAiBC,EAA2I,mBAAoB,CAAE,SAAU,CAAE,UAAW,YAAa,QAAS,aAAc,CAAE,CAAC,EAChPC,EAAmBD,EAA6I,qBAAsB,CAAE,SAAU,CAAE,UAAW,mBAAoB,QAAS,aAAc,CAAE,CAAC,EAC7PE,EAAsBF,EAAgJ,wBAAyB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAClQG,EAAcH,EAAwI,gBAAiB,CAAE,SAAU,CAAE,UAAW,YAAa,QAAS,aAAc,CAAE,CAAC,EACvOI,EAAsBJ,EAAgJ,wBAAyB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAClQK,EAAkBL,EAAkJ,oBAAqB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAC5PM,EAA2BN,EAAqJ,6BAA8B,CAAE,SAAU,CAAE,UAAW,iBAAkB,QAAS,aAAc,CAAE,CAAC,EACnRO,EAAmBP,EAQ7B,oBAAoB","names":["React","forwardRef","useEffect","useRef","createWebComponent","tagName","options","Component","props","ref","innerRef","el","children","className","style","id","role","tabIndex","title","_ignoredRef","rest","key","value","cleanup","propName","eventName","handler","listener","e","ce","fn","setRef","node","IcpayPayButton","createWebComponent","IcpayAmountInput","IcpayPremiumContent","IcpayTipJar","IcpayArticlePaywall","IcpayCoffeeShop","IcpayDonationThermometer","IcpayProgressBar"]}
1
+ {"version":3,"sources":["../../src/react/createWrapper.tsx","../../src/react/widgets.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\ntype AnyProps = Record<string, unknown> & { children?: React.ReactNode };\n\n// Generic React wrapper for ICPay custom elements.\n// - Assigns all non-React props as properties on the underlying element\n// - Leaves events to be handled via config callbacks (recommended)\nexport function createWebComponent<TElement extends HTMLElement, TProps extends AnyProps>(\n tagName: string,\n options?: { eventMap?: Record<string, string> }\n) {\n const Component = forwardRef<TElement, TProps>((props, ref) => {\n const innerRef = useRef<TElement | null>(null);\n\n useEffect(() => {\n const el = innerRef.current as any;\n if (!el) return;\n\n // Assign props as element properties (exclude standard React DOM props)\n const {\n children,\n className,\n style,\n id,\n role,\n tabIndex,\n title,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ref: _ignoredRef,\n ...rest\n } = props as any;\n\n for (const [key, value] of Object.entries(rest)) {\n try {\n (el as any)[key] = value;\n } catch {\n // no-op if property assignment fails\n }\n }\n }, [props]);\n\n // Wire custom-element events from props via eventMap\n useEffect(() => {\n const el = innerRef.current as unknown as HTMLElement | null;\n if (!el || !options?.eventMap) return;\n const cleanup: Array<() => void> = [];\n for (const [propName, eventName] of Object.entries(options.eventMap)) {\n const handler = (props as any)[propName];\n if (typeof handler === 'function') {\n const listener = (e: Event) => {\n const ce = e as CustomEvent;\n if (ce && 'detail' in ce) handler(ce.detail);\n else handler(e);\n };\n el.addEventListener(eventName, listener as EventListener);\n cleanup.push(() => el.removeEventListener(eventName, listener as EventListener));\n }\n }\n return () => { cleanup.forEach(fn => fn()); };\n }, [props, options?.eventMap]);\n\n // Merge forwarded ref\n const setRef = (node: TElement | null) => {\n innerRef.current = node;\n if (typeof ref === 'function') {\n ref(node);\n } else if (ref && typeof ref === 'object') {\n (ref as React.MutableRefObject<TElement | null>).current = node;\n }\n };\n\n const { children, ...rest } = props as any;\n return React.createElement(tagName, { ref: setRef, ...rest }, children);\n });\n\n Component.displayName = `ICPay(${tagName})`;\n return Component;\n}\n\n\n","import { createWebComponent } from './createWrapper';\nimport type {\n PayButtonConfig,\n AmountInputConfig,\n PremiumContentConfig,\n TipJarConfig,\n ArticlePaywallConfig,\n CoffeeShopConfig,\n DonationThermometerConfig,\n ThemeConfig\n} from '../types';\n\n// Public success detail types\nexport type IcpaySuccess = { amount?: number; tx: unknown };\nexport type IcpayCoffeeSuccess = { item: { name: string; priceUsd: number }; tx: unknown };\n\n// Public React components\nexport const IcpayPayButton = createWebComponent<HTMLElement, { config?: PayButtonConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-pay-button', { eventMap: { onSuccess: 'icpay-pay', onError: 'icpay-error' } });\nexport const IcpayAmountInput = createWebComponent<HTMLElement, { config?: AmountInputConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-amount-input', { eventMap: { onSuccess: 'icpay-amount-pay', onError: 'icpay-error' } });\nexport const IcpayPremiumContent = createWebComponent<HTMLElement, { config?: PremiumContentConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-premium-content', { eventMap: { onSuccess: 'icpay-unlock', onError: 'icpay-error' } });\nexport const IcpayTipJar = createWebComponent<HTMLElement, { config?: TipJarConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-tip-jar', { eventMap: { onSuccess: 'icpay-tip', onError: 'icpay-error' } });\nexport const IcpayArticlePaywall = createWebComponent<HTMLElement, { config?: ArticlePaywallConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-article-paywall', { eventMap: { onSuccess: 'icpay-unlock', onError: 'icpay-error' } });\nexport const IcpayCoffeeShop = createWebComponent<HTMLElement, { config?: CoffeeShopConfig; onSuccess?: (detail: IcpayCoffeeSuccess) => void; onError?: (detail: any) => void }>('icpay-coffee-shop', { eventMap: { onSuccess: 'icpay-coffee', onError: 'icpay-error' } });\nexport const IcpayDonationThermometer = createWebComponent<HTMLElement, { config?: DonationThermometerConfig; onSuccess?: (detail: IcpaySuccess) => void; onError?: (detail: any) => void }>('icpay-donation-thermometer', { eventMap: { onSuccess: 'icpay-donation', onError: 'icpay-error' } });\nexport const IcpayProgressBar = createWebComponent<HTMLElement, {\n open?: boolean;\n steps?: Array<{ key: string; label: string; tooltip: string; status: string }>;\n amount?: number;\n currency?: string;\n ledgerSymbol?: string;\n debug?: boolean;\n theme?: ThemeConfig;\n}>('icpay-progress-bar');\n\n// Internal helpers (not exported): wallet selector is not a standalone element.\n\n\n"],"mappings":"0DAAA,OAAOA,GAAS,cAAAC,EAAY,aAAAC,EAAW,UAAAC,MAAc,QAO9C,SAASC,EACdC,EACAC,EACA,CACA,IAAMC,EAAYN,EAA6B,CAACO,EAAOC,IAAQ,CAC7D,IAAMC,EAAWP,EAAwB,IAAI,EAE7CD,EAAU,IAAM,CACd,IAAMS,EAAKD,EAAS,QACpB,GAAI,CAACC,EAAI,OAGT,GAAM,CACJ,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAAC,EACA,KAAAC,EACA,SAAAC,EACA,MAAAC,EAEA,IAAKC,EACL,GAAGC,CACL,EAAIZ,EAEJ,OAAW,CAACa,EAAKC,CAAK,IAAK,OAAO,QAAQF,CAAI,EAC5C,GAAI,CACDT,EAAWU,CAAG,EAAIC,CACrB,MAAQ,CAER,CAEJ,EAAG,CAACd,CAAK,CAAC,EAGVN,EAAU,IAAM,CACd,IAAMS,EAAKD,EAAS,QACpB,GAAI,CAACC,GAAM,CAACL,GAAS,SAAU,OAC/B,IAAMiB,EAA6B,CAAC,EACpC,OAAW,CAACC,EAAUC,CAAS,IAAK,OAAO,QAAQnB,EAAQ,QAAQ,EAAG,CACpE,IAAMoB,EAAWlB,EAAcgB,CAAQ,EACvC,GAAI,OAAOE,GAAY,WAAY,CACjC,IAAMC,EAAYC,GAAa,CAC7B,IAAMC,EAAKD,EACPC,GAAM,WAAYA,EAAIH,EAAQG,EAAG,MAAM,EACtCH,EAAQE,CAAC,CAChB,EACAjB,EAAG,iBAAiBc,EAAWE,CAAyB,EACxDJ,EAAQ,KAAK,IAAMZ,EAAG,oBAAoBc,EAAWE,CAAyB,CAAC,CACjF,CACF,CACA,MAAO,IAAM,CAAEJ,EAAQ,QAAQO,GAAMA,EAAG,CAAC,CAAG,CAC9C,EAAG,CAACtB,EAAOF,GAAS,QAAQ,CAAC,EAG7B,IAAMyB,EAAUC,GAA0B,CACxCtB,EAAS,QAAUsB,EACf,OAAOvB,GAAQ,WACjBA,EAAIuB,CAAI,EACCvB,GAAO,OAAOA,GAAQ,WAC9BA,EAAgD,QAAUuB,EAE/D,EAEM,CAAE,SAAApB,EAAU,GAAGQ,CAAK,EAAIZ,EAC9B,OAAOR,EAAM,cAAcK,EAAS,CAAE,IAAK0B,EAAQ,GAAGX,CAAK,EAAGR,CAAQ,CACxE,CAAC,EAED,OAAAL,EAAU,YAAc,SAASF,CAAO,IACjCE,CACT,CC5DO,IAAM0B,EAAiBC,EAA2I,mBAAoB,CAAE,SAAU,CAAE,UAAW,YAAa,QAAS,aAAc,CAAE,CAAC,EAChPC,EAAmBD,EAA6I,qBAAsB,CAAE,SAAU,CAAE,UAAW,mBAAoB,QAAS,aAAc,CAAE,CAAC,EAC7PE,EAAsBF,EAAgJ,wBAAyB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAClQG,EAAcH,EAAwI,gBAAiB,CAAE,SAAU,CAAE,UAAW,YAAa,QAAS,aAAc,CAAE,CAAC,EACvOI,EAAsBJ,EAAgJ,wBAAyB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAClQK,EAAkBL,EAAkJ,oBAAqB,CAAE,SAAU,CAAE,UAAW,eAAgB,QAAS,aAAc,CAAE,CAAC,EAC5PM,EAA2BN,EAAqJ,6BAA8B,CAAE,SAAU,CAAE,UAAW,iBAAkB,QAAS,aAAc,CAAE,CAAC,EACnRO,EAAmBP,EAQ7B,oBAAoB","names":["React","forwardRef","useEffect","useRef","createWebComponent","tagName","options","Component","props","ref","innerRef","el","children","className","style","id","role","tabIndex","title","_ignoredRef","rest","key","value","cleanup","propName","eventName","handler","listener","e","ce","fn","setRef","node","IcpayPayButton","createWebComponent","IcpayAmountInput","IcpayPremiumContent","IcpayTipJar","IcpayArticlePaywall","IcpayCoffeeShop","IcpayDonationThermometer","IcpayProgressBar"]}
package/dist/tailwind.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:.25rem}.border{border-width:1px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--icpay-cobalt-blue:#06f;--icpay-cobalt-blue-dark:#0052cc;--icpay-background:#0b0f1a;--icpay-surface:#1f2937;--icpay-border:#263042;--icpay-text:#e5e7eb;--icpay-muted:#9ca3af}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes zoom-in{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoom-out{0%{transform:scale(1)}to{transform:scale(.95)}}.animate-fade-in-0{animation:fade-in .5s ease-out}.animate-fade-out-0{animation:fade-out .5s ease-in}.animate-zoom-in-95{animation:zoom-in .2s ease-out}.animate-zoom-out-95{animation:zoom-out .2s ease-in}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:rgba(0,102,255,.5)}.btn-primary{--tw-bg-opacity:1;background-color:rgb(0 102 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(0 82 204/var(--tw-bg-opacity,1))}.btn-outline{border-width:1px;--tw-border-opacity:1;border-color:rgb(38 48 66/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(11 15 26/var(--tw-bg-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;background-color:rgba(0,102,255,.2)}.progress-fill{height:100%;--tw-bg-opacity:1;background-color:rgb(0 102 255/var(--tw-bg-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:.25rem}.border{border-width:1px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--icpay-cobalt-blue:#06f;--icpay-cobalt-blue-dark:#0052cc;--icpay-background:#0b0f1a;--icpay-surface:#1f2937;--icpay-border:#263042;--icpay-text:#e5e7eb;--icpay-muted:#9ca3af}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes zoom-in{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoom-out{0%{transform:scale(1)}to{transform:scale(.95)}}.animate-fade-in-0{animation:fade-in .5s ease-out}.animate-fade-out-0{animation:fade-out .5s ease-in}.animate-zoom-in-95{animation:zoom-in .2s ease-out}.animate-zoom-out-95{animation:zoom-out .2s ease-in}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:rgba(0,102,255,.5)}.btn-primary{--tw-bg-opacity:1;background-color:rgb(0 102 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:hover{--tw-bg-opacity:1;background-color:rgb(0 82 204/var(--tw-bg-opacity,1))}.btn-outline{border-width:1px;--tw-border-opacity:1;border-color:rgb(38 48 66/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(11 15 26/var(--tw-bg-opacity,1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.progress-bar{height:.5rem;width:100%;overflow:hidden;border-radius:9999px;background-color:rgba(0,102,255,.2)}.progress-fill{height:100%;--tw-bg-opacity:1;background-color:rgb(0 102 255/var(--tw-bg-opacity,1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ic-pay/icpay-widget",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "ICPay embeddable payment widgets as framework-agnostic Web Components",
5
5
  "homepage": "https://github.com/icpay/icpay-widget#readme",
6
6
  "bugs": {