@aikaara/chat-sdk 1.4.5 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AikaaraLinkButton-Bu-_kC4m.mjs → AikaaraLinkButton--t5yyst9.mjs} +1 -1
- package/dist/{AikaaraLinkButton-8noYZU6k.cjs → AikaaraLinkButton-DtbxlRUu.cjs} +1 -1
- package/dist/AikaaraPaymentLink-BlxQSATl.cjs +1 -0
- package/dist/{AikaaraPaymentLink-Bt-ZcRQQ.mjs → AikaaraPaymentLink-BuQX9XAE.mjs} +44 -44
- package/dist/{MountTenant-DeboVbWw.cjs → MountTenant-DUSZye2K.cjs} +9 -9
- package/dist/{MountTenant-b6kTA3yk.mjs → MountTenant-xtZIgPSM.mjs} +81 -82
- package/dist/headless.cjs +1 -1
- package/dist/headless.d.ts +0 -2
- package/dist/headless.mjs +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.mjs +2 -2
- package/dist/ui.cjs +1 -1
- package/dist/ui.mjs +1 -1
- package/package.json +1 -1
- package/dist/AikaaraPaymentLink-Bdhq7MOy.cjs +0 -1
- package/dist/cdn/aikaara-chat.iife.js +0 -1495
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./MountTenant-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./MountTenant-DUSZye2K.cjs");class l extends HTMLElement{shadow;payload=null;constructor(){super(),this.shadow=this.attachShadow({mode:"open"})}connectedCallback(){this.render()}setPayload(e){this.payload=e,this.render()}render(){const e=this.payload;this.shadow.innerHTML=`
|
|
2
2
|
<style>
|
|
3
3
|
:host { display: block; margin-top: 8px; }
|
|
4
4
|
button {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h="https://checkout.razorpay.com/v1/checkout.js";let p=null;function u(){return window}class m extends HTMLElement{shadow;payloadData=[];message="";paidIdx={};constructor(){super(),this.shadow=this.attachShadow({mode:"open"})}setPayload(r,t){this.payloadData=Array.isArray(r)?r:[],this.message=t??"",this.render()}render(){const r=this.payloadData.filter(e=>!!e&&typeof e=="object"&&e.type==="link"&&typeof e.url=="string"),t=r.map((e,n)=>{const i=e.name||"Open link",s=!!this.paidIdx[n];return`<button class="link${s?" paid":""}" data-i="${n}" type="button"${s?" disabled":""}><span class="lbl">${y(s?"Paid":i)}</span>`+(s?'<svg class="icon" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 L7 12 L13 5"/></svg>':'<svg class="icon" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 11 L11 5 M6 5 H11 V10"/></svg>')+"</button>"}).join("");this.shadow.innerHTML="<style>:host { display:block; margin:6px 0; font-family:inherit; }.bubble { padding:12px 16px; border-radius:14px; background:var(--aikaara-bot-bubble-bg, #d8e5f5); color:var(--aikaara-bot-bubble-text, #1a2845); font-size:14px; line-height:1.55; margin-bottom:10px; }.links { display:flex; flex-direction:column; gap:8px; }.link { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 22px; border:1.5px solid var(--aikaara-primary, #1849a9); background:var(--aikaara-primary, #1849a9); color:var(--aikaara-primary-contrast, #fff); border-radius:24px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; text-decoration:none; transition: filter 120ms; width:150px; align-self:flex-start; }.link:hover:not(:disabled) { filter: brightness(0.94); }.link.paid, .link:disabled { background:#e7f5ec; color:#0e7c3a; border-color:#0e7c3a; cursor:default; }.icon { width:13px; height:13px; }</style>"+(this.message?`<div class="bubble">${this.message}</div>`:"")+`<div class="links">${t}</div>`,this.shadow.querySelectorAll(".link").forEach(e=>{e.addEventListener("click",()=>{if(e.disabled)return;const n=Number(e.dataset.i||0),i=r[n];i&&this.handleClick(n,i)})})}handleClick(r,t){const e=k(t),n=u().__aikaara_descriptor__?.razorpay;if(!e||!n?.keyId){w(t.url,t.name||"Pay"),this.dispatchEvent(new CustomEvent("template-action",{detail:{text:t.name||"link-click",attributes:{action:{type:"link",url:t.url,orderId:e||t.orderId,openedIn:"modal"}}},bubbles:!0,composed:!0}));return}g(n.preferredBanksUrl,e,n.preferredBanksMethod).catch(i=>(console.warn("[payment_link] preferred-banks fetch failed; continuing with default UI",i),[])).then(i=>b().then(()=>this.openRazorpay(r,e,n,i))).catch(i=>{console.error("[payment_link] Razorpay launch failed",i)})}openRazorpay(r,t,e,n){const i=u(),s=i.__aikaara_runtime__?.identity??{},o={key:e.keyId,order_id:t,name:e.name||i.__aikaara_descriptor__?.title||"Payment",prefill:{},handler:()=>{this.paidIdx[r]=!0,this.render()},modal:{ondismiss:()=>{}}};typeof s.mobile=="string"?o.prefill.contact=s.mobile:typeof s.phone=="string"&&(o.prefill.contact=s.phone),typeof s.email=="string"&&(o.prefill.email=s.email),typeof s.name=="string"?o.prefill.name=s.name:typeof s.userName=="string"&&(o.prefill.name=s.userName),Array.isArray(n)&&n.length&&(o.config={display:{blocks:{banks:{name:"Preferred Netbanking",instruments:[{method:"netbanking",banks:n}]}},sequence:["block.banks","netbanking","card","upi"],preferences:{show_default_blocks:!0}}});const d=i.Razorpay;if(typeof d!="function")throw new Error("Razorpay Checkout script not available");const c=new d(o);c.on("payment.failed",l=>{console.warn("[payment_link] payment.failed",l?.error)}),c.open()}}function y(a){return String(a??"").replace(/[&<>]/g,r=>r==="&"?"&":r==="<"?"<":">")}function k(a){if(typeof a.orderId=="string"&&a.orderId)return a.orderId;try{const r=new URL(a.url,window.location.origin),t=r.searchParams.get("orderId")||r.searchParams.get("order_id");if(t)return t;if(r.hash&&r.hash.length>1){const e=new URLSearchParams(r.hash.replace(/^#/,"")),n=e.get("orderId")||e.get("order_id");if(n)return n}}catch{}return null}function b(){return typeof u().Razorpay=="function"?Promise.resolve():p||(p=new Promise((a,r)=>{const t=document.querySelector('script[data-aikaara-razorpay="1"]');if(t){t.addEventListener("load",()=>a()),t.addEventListener("error",()=>r(new Error("checkout.js failed to load")));return}const e=document.createElement("script");e.src=h,e.async=!0,e.dataset.aikaaraRazorpay="1",e.onload=()=>a(),e.onerror=()=>{p=null,r(new Error("checkout.js failed to load"))},document.head.appendChild(e)}),p)}function g(a,r,t){if(!a)return Promise.resolve([]);const e=String(t||"GET").toUpperCase()==="POST"?"POST":"GET",n=a.includes("{orderId}")?a.replace("{orderId}",encodeURIComponent(r)):a+(a.includes("?")?"&":"?")+"orderId="+encodeURIComponent(r),i=u().__aikaara_runtime__??{};return(typeof i.getChatJwt=="function"?i.getChatJwt():Promise.resolve(null)).then(o=>{const d={Accept:"application/json"};o&&(d.Authorization=`Bearer ${o}`);const c={method:e,headers:d,credentials:"omit"};return e==="POST"&&(d["Content-Type"]="application/json",c.body=JSON.stringify({orderId:r})),fetch(n,c)}).then(o=>{if(!o.ok)throw new Error(`preferred-banks ${o.status}`);return o.json()}).then(o=>{const d=o;return(Array.isArray(o)?o:Array.isArray(d?.banks)?d.banks:Array.isArray(d?.data)?d.data:Array.isArray(d?.data?.banks)?d.data.banks:[]).map(l=>{if(typeof l=="string")return l;if(l&&typeof l=="object"){const f=l;return f.code||f.bankCode||f.bank_code||null}return null}).filter(l=>!!l)})}function w(a,r){if(!a)return;let t=document.querySelector("aikaara-link-modal");t||(t=document.createElement("aikaara-link-modal"),document.body.appendChild(t)),typeof t.show=="function"?t.show(a,r):window.open(a,"_blank","noopener,noreferrer")}function _(){typeof customElements>"u"||customElements.get("aikaara-template-payment-link")||customElements.define("aikaara-template-payment-link",m)}exports.AikaaraPaymentLink=m;exports.registerAikaaraPaymentLink=_;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const h = "https://checkout.razorpay.com/v1/checkout.js";
|
|
2
|
-
let
|
|
2
|
+
let p = null;
|
|
3
3
|
function u() {
|
|
4
4
|
return window;
|
|
5
5
|
}
|
|
6
|
-
class
|
|
6
|
+
class m extends HTMLElement {
|
|
7
7
|
shadow;
|
|
8
8
|
payloadData = [];
|
|
9
9
|
message = "";
|
|
@@ -20,8 +20,8 @@ class y extends HTMLElement {
|
|
|
20
20
|
const r = this.payloadData.filter(
|
|
21
21
|
(e) => !!e && typeof e == "object" && e.type === "link" && typeof e.url == "string"
|
|
22
22
|
), t = r.map((e, a) => {
|
|
23
|
-
const i = e.name || "Open link",
|
|
24
|
-
return `<button class="link${
|
|
23
|
+
const i = e.name || "Open link", s = !!this.paidIdx[a];
|
|
24
|
+
return `<button class="link${s ? " paid" : ""}" data-i="${a}" type="button"${s ? " disabled" : ""}><span class="lbl">${y(s ? "Paid" : i)}</span>` + (s ? '<svg class="icon" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 L7 12 L13 5"/></svg>' : '<svg class="icon" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 11 L11 5 M6 5 H11 V10"/></svg>') + "</button>";
|
|
25
25
|
}).join("");
|
|
26
26
|
this.shadow.innerHTML = "<style>:host { display:block; margin:6px 0; font-family:inherit; }.bubble { padding:12px 16px; border-radius:14px; background:var(--aikaara-bot-bubble-bg, #d8e5f5); color:var(--aikaara-bot-bubble-text, #1a2845); font-size:14px; line-height:1.55; margin-bottom:10px; }.links { display:flex; flex-direction:column; gap:8px; }.link { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 22px; border:1.5px solid var(--aikaara-primary, #1849a9); background:var(--aikaara-primary, #1849a9); color:var(--aikaara-primary-contrast, #fff); border-radius:24px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; text-decoration:none; transition: filter 120ms; width:150px; align-self:flex-start; }.link:hover:not(:disabled) { filter: brightness(0.94); }.link.paid, .link:disabled { background:#e7f5ec; color:#0e7c3a; border-color:#0e7c3a; cursor:default; }.icon { width:13px; height:13px; }</style>" + (this.message ? `<div class="bubble">${this.message}</div>` : "") + `<div class="links">${t}</div>`, this.shadow.querySelectorAll(".link").forEach((e) => {
|
|
27
27
|
e.addEventListener("click", () => {
|
|
@@ -32,9 +32,9 @@ class y extends HTMLElement {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
handleClick(r, t) {
|
|
35
|
-
const e =
|
|
35
|
+
const e = k(t), a = u().__aikaara_descriptor__?.razorpay;
|
|
36
36
|
if (!e || !a?.keyId) {
|
|
37
|
-
|
|
37
|
+
w(t.url, t.name || "Pay"), this.dispatchEvent(
|
|
38
38
|
new CustomEvent("template-action", {
|
|
39
39
|
detail: {
|
|
40
40
|
text: t.name || "link-click",
|
|
@@ -48,12 +48,12 @@ class y extends HTMLElement {
|
|
|
48
48
|
);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
g(a.preferredBanksUrl, e, a.preferredBanksMethod).catch((i) => (console.warn("[payment_link] preferred-banks fetch failed; continuing with default UI", i), [])).then((i) => b().then(() => this.openRazorpay(r, e, a, i))).catch((i) => {
|
|
52
52
|
console.error("[payment_link] Razorpay launch failed", i);
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
openRazorpay(r, t, e, a) {
|
|
56
|
-
const i = u(),
|
|
56
|
+
const i = u(), s = i.__aikaara_runtime__?.identity ?? {}, o = {
|
|
57
57
|
key: e.keyId,
|
|
58
58
|
order_id: t,
|
|
59
59
|
name: e.name || i.__aikaara_descriptor__?.title || "Payment",
|
|
@@ -68,31 +68,31 @@ class y extends HTMLElement {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
|
-
typeof
|
|
71
|
+
typeof s.mobile == "string" ? o.prefill.contact = s.mobile : typeof s.phone == "string" && (o.prefill.contact = s.phone), typeof s.email == "string" && (o.prefill.email = s.email), typeof s.name == "string" ? o.prefill.name = s.name : typeof s.userName == "string" && (o.prefill.name = s.userName), Array.isArray(a) && a.length && (o.config = {
|
|
72
72
|
display: {
|
|
73
73
|
blocks: {
|
|
74
|
-
|
|
74
|
+
banks: {
|
|
75
75
|
name: "Preferred Netbanking",
|
|
76
|
-
instruments: a
|
|
76
|
+
instruments: [{ method: "netbanking", banks: a }]
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
|
-
sequence: ["block.
|
|
79
|
+
sequence: ["block.banks", "netbanking", "card", "upi"],
|
|
80
80
|
preferences: { show_default_blocks: !0 }
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
const d = i.Razorpay;
|
|
84
84
|
if (typeof d != "function")
|
|
85
85
|
throw new Error("Razorpay Checkout script not available");
|
|
86
|
-
const
|
|
87
|
-
|
|
86
|
+
const c = new d(o);
|
|
87
|
+
c.on("payment.failed", (l) => {
|
|
88
88
|
console.warn("[payment_link] payment.failed", l?.error);
|
|
89
|
-
}),
|
|
89
|
+
}), c.open();
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function y(n) {
|
|
93
93
|
return String(n ?? "").replace(/[&<>]/g, (r) => r === "&" ? "&" : r === "<" ? "<" : ">");
|
|
94
94
|
}
|
|
95
|
-
function
|
|
95
|
+
function k(n) {
|
|
96
96
|
if (typeof n.orderId == "string" && n.orderId) return n.orderId;
|
|
97
97
|
try {
|
|
98
98
|
const r = new URL(n.url, window.location.origin), t = r.searchParams.get("orderId") || r.searchParams.get("order_id");
|
|
@@ -105,8 +105,8 @@ function b(n) {
|
|
|
105
105
|
}
|
|
106
106
|
return null;
|
|
107
107
|
}
|
|
108
|
-
function
|
|
109
|
-
return typeof u().Razorpay == "function" ? Promise.resolve() :
|
|
108
|
+
function b() {
|
|
109
|
+
return typeof u().Razorpay == "function" ? Promise.resolve() : p || (p = new Promise((n, r) => {
|
|
110
110
|
const t = document.querySelector('script[data-aikaara-razorpay="1"]');
|
|
111
111
|
if (t) {
|
|
112
112
|
t.addEventListener("load", () => n()), t.addEventListener("error", () => r(new Error("checkout.js failed to load")));
|
|
@@ -114,42 +114,42 @@ function g() {
|
|
|
114
114
|
}
|
|
115
115
|
const e = document.createElement("script");
|
|
116
116
|
e.src = h, e.async = !0, e.dataset.aikaaraRazorpay = "1", e.onload = () => n(), e.onerror = () => {
|
|
117
|
-
|
|
117
|
+
p = null, r(new Error("checkout.js failed to load"));
|
|
118
118
|
}, document.head.appendChild(e);
|
|
119
|
-
}),
|
|
119
|
+
}), p);
|
|
120
120
|
}
|
|
121
|
-
function
|
|
121
|
+
function g(n, r, t) {
|
|
122
122
|
if (!n) return Promise.resolve([]);
|
|
123
|
-
const
|
|
124
|
-
return (typeof
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
return
|
|
129
|
-
}).then((
|
|
130
|
-
if (!
|
|
131
|
-
return
|
|
132
|
-
}).then((
|
|
133
|
-
const
|
|
134
|
-
return (Array.isArray(
|
|
135
|
-
if (typeof
|
|
136
|
-
if (
|
|
137
|
-
const
|
|
138
|
-
return
|
|
123
|
+
const e = String(t || "GET").toUpperCase() === "POST" ? "POST" : "GET", a = n.includes("{orderId}") ? n.replace("{orderId}", encodeURIComponent(r)) : n + (n.includes("?") ? "&" : "?") + "orderId=" + encodeURIComponent(r), i = u().__aikaara_runtime__ ?? {};
|
|
124
|
+
return (typeof i.getChatJwt == "function" ? i.getChatJwt() : Promise.resolve(null)).then((o) => {
|
|
125
|
+
const d = { Accept: "application/json" };
|
|
126
|
+
o && (d.Authorization = `Bearer ${o}`);
|
|
127
|
+
const c = { method: e, headers: d, credentials: "omit" };
|
|
128
|
+
return e === "POST" && (d["Content-Type"] = "application/json", c.body = JSON.stringify({ orderId: r })), fetch(a, c);
|
|
129
|
+
}).then((o) => {
|
|
130
|
+
if (!o.ok) throw new Error(`preferred-banks ${o.status}`);
|
|
131
|
+
return o.json();
|
|
132
|
+
}).then((o) => {
|
|
133
|
+
const d = o;
|
|
134
|
+
return (Array.isArray(o) ? o : Array.isArray(d?.banks) ? d.banks : Array.isArray(d?.data) ? d.data : Array.isArray(d?.data?.banks) ? d.data.banks : []).map((l) => {
|
|
135
|
+
if (typeof l == "string") return l;
|
|
136
|
+
if (l && typeof l == "object") {
|
|
137
|
+
const f = l;
|
|
138
|
+
return f.code || f.bankCode || f.bank_code || null;
|
|
139
139
|
}
|
|
140
140
|
return null;
|
|
141
|
-
}).filter((
|
|
141
|
+
}).filter((l) => !!l);
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
-
function
|
|
144
|
+
function w(n, r) {
|
|
145
145
|
if (!n) return;
|
|
146
146
|
let t = document.querySelector("aikaara-link-modal");
|
|
147
147
|
t || (t = document.createElement("aikaara-link-modal"), document.body.appendChild(t)), typeof t.show == "function" ? t.show(n, r) : window.open(n, "_blank", "noopener,noreferrer");
|
|
148
148
|
}
|
|
149
|
-
function
|
|
150
|
-
typeof customElements > "u" || customElements.get("aikaara-template-payment-link") || customElements.define("aikaara-template-payment-link",
|
|
149
|
+
function x() {
|
|
150
|
+
typeof customElements > "u" || customElements.get("aikaara-template-payment-link") || customElements.define("aikaara-template-payment-link", m);
|
|
151
151
|
}
|
|
152
152
|
export {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
m as AikaaraPaymentLink,
|
|
154
|
+
x as registerAikaaraPaymentLink
|
|
155
155
|
};
|