@nexlylab/widget 1.32.14
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/README.md +66 -0
- package/dist/INSTALL.txt +3 -0
- package/dist/runtime/1.32.14/chunks/ClickToLoadEmbed-CDdotCS8-W2yBrg7b.js +2 -0
- package/dist/runtime/1.32.14/chunks/PanelInfoVideo-BKn3ucAb-BrU-Qlul.js +3 -0
- package/dist/runtime/1.32.14/chunks/PanelVideoOverlay-BY__oBYV-B8OPC1xh.js +3 -0
- package/dist/runtime/1.32.14/chunks/_commonjsHelpers-C6fGbg64-BC8KDfbh.js +2 -0
- package/dist/runtime/1.32.14/chunks/accent-legibility-BJF2VO5n-CDPQ7suO.js +2 -0
- package/dist/runtime/1.32.14/chunks/allowed-elements-BXnLJV1S-C-_lr2zm.js +28 -0
- package/dist/runtime/1.32.14/chunks/assistant-link-components-MZWf5ty7-C44wlQAi.js +2 -0
- package/dist/runtime/1.32.14/chunks/assistant-link-policy-DWaWTnGr-Cc-yj-a-.js +2 -0
- package/dist/runtime/1.32.14/chunks/block-helpers-Cg_zAqG6-DnN2COvk.js +2 -0
- package/dist/runtime/1.32.14/chunks/block-rating-DH7mp-_R-CoiP5C2K.js +2 -0
- package/dist/runtime/1.32.14/chunks/external-url-LRu_ntew-CJQjg_od.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-1o6W5wiJ-I68tb-d3.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-B1ef1IlE-QeFj7CR9.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-B8aKMeg5-BLxOZxZv.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-B9ozeox8-oy07dUaV.js +6 -0
- package/dist/runtime/1.32.14/chunks/index-BD-jPdzs-ZRnEJoQe.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BPDIV1BN-DINkyYvc.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BSoCdILD-D6wzHiS0.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BcsmWDTX-Dw9WA5Ac.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BljIlfbh-D9I6jaso.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BnKOhYKk-CkemNrch.js +4 -0
- package/dist/runtime/1.32.14/chunks/index-Bu9Gh6Nc-BfWdQCT7.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BvlAsO4n-DbuSZfeK.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-BylVnv7X-DBhSkJ7i.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-C1WD1dlq-Dm9kbc85.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-C262wwK4-DpyhuXqd.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-C6_8JGpJ-BqZmEVev.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-C75hX_dj-VhJcCfAC.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-CMFQhtEe-BcW8HKb8.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-CNJUK2bK-C0OfCXUx.js +50 -0
- package/dist/runtime/1.32.14/chunks/index-Chy2Zmo5-CiRb-0NX.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-CmYYEi7N-Dr1V6OGz.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-CqV8rHvG-DS9JaGVN.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-CwbUW6dx-BLBDoJCM.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-Czz6Gyh_-C3bBvEcm.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-D-ZhVFzi-A3rpkVmQ.js +6 -0
- package/dist/runtime/1.32.14/chunks/index-D72orqXX-C_0Ll4qr.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-D9grn5WJ-Dp5AxBD4.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DDEE3QfX-3B-eE3K7.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DMQkz1bV-BuMYksln.js +272 -0
- package/dist/runtime/1.32.14/chunks/index-DO0-ht8E-DUgMllqN.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DPNGQF5b-_M0CWPEY.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DP_6HfDM-DAdxCQyi.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DTVlG27U-DP0QKkgf.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DZADUAKv-DPfvWVuj.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DZKtK9hT-DQBGsPwB.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-Dh0aThiP-Aqz1AnQ5.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-Dkv5YXXW-pkywvGDF.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-DphwDFW6-C9wFr7fa.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-Dt6OpItC-R_xuAEQV.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-Gi-3UOyp-DuzPeEIz.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-IW3aNe-y-W1lJrIDD.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-V1EfdiK7-bdo5pwX-.js +4 -0
- package/dist/runtime/1.32.14/chunks/index-csHaX5dv-BpgnWlB8.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-hHQjRGar-TEMHje2B.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-k-jZV_MQ-H31PHMqm.js +2 -0
- package/dist/runtime/1.32.14/chunks/index-qpVhJY7A-Cgivx3vY.js +4 -0
- package/dist/runtime/1.32.14/chunks/index-uM4Y0lxc-Dsa9X9U7.js +2 -0
- package/dist/runtime/1.32.14/chunks/index.modern-CioVZ357-BA5NTOmY.js +6 -0
- package/dist/runtime/1.32.14/chunks/inert-assistant-components-B6Cx9pG5-DWb6n3Yq.js +2 -0
- package/dist/runtime/1.32.14/chunks/use-deferred-rating-XlgCUwcY-DDVOwURi.js +2 -0
- package/dist/runtime/1.32.14/nexly.js +61 -0
- package/dist/v1.js +6 -0
- package/package.json +36 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{r as F,j as a,Q as Z,e as oe}from"../nexly.js";import{C as He}from"./block-rating-DH7mp-_R-CoiP5C2K.js";import{m as b}from"./block-helpers-Cg_zAqG6-DnN2COvk.js";import{j as ve}from"./PanelInfoVideo-BKn3ucAb-BrU-Qlul.js";const Ve=se([["!","ǃⵑ"],[":","ː˸։׃܃܄ःઃ᛬᠃᠉⁚∶ꓽ꞉"],["<","˂ᐸᚲ‹❮𝈶"],["<<","≪"],["<<<","⋘"],["a","ɑαаᗅ⍶⍺ꓮꭺ𐊠𖽀"],["aa","ꜳ"],["ae","æӕ"],["ao","ꜵ"],["ar","🜇"],["au","ꜷ"],["c","¢ȼςϛсҫငၚᴄ₡ⲋⲥꓚꮯ𐊢𐌂𐐽𐔜𑣩𑣲🅮🝌"],["cc","🅭"],["d","ðđƌɖɗԁᑯᗞᗪ₫ꓒꓓꭰꮷ"],["e","ɇεеҽҿ℮⋿ⴹꓰꬲꭼ𐊆𑣆𑣎"],["g","ƍǥɠɡԍցᏻᶃꓖꮐ"],["h","ħɦнћңһӈӊհᏺᕼⱨⲏꓧꚕꮋꮒ𐋏𐓵"],["i","ıɨɩɪιіւᵻᵼ⍳⍸ⲓꙇꭵ𑣃"],["k","ƙκкқҟᛕ₭ⱪⲕꓗꝁꮶ𐔘"],["l","1|łƚǀɫɭӏ׀וןا١ٳ۱ߊᒪᛁ∣⏽│┃ⳑⵏꓡꓲꮮ𐊊𐌉𐌠𐑃𐔦𑣒𖼖𖼨𝈪𞣇"],["ll","ǁװ‖∥𐆙"],["lls","𐆘"],["lo","ю⏨"],["ls","ʪ"],["lt","₶"],["n","ŋƞɲɳηνղոռበᑎᵰ∩⋂ⲛꓠꓵ𐆎𐔓𝉅"],["o","0øɵθοσϭоѳөօסه٥ھہە۵ۿ߀०০੦૦ଠ୦௦ం౦ಂ೦ംഠ൦ං๐໐ဝ၀ჿዐ០ᴏᴑ⊖⊝⍬ⲑⲟⴱⵁⵔ〇ꓳꝋꬽꬾꭴꮎꮻ𐊒𐊫𐐬𐓪𐔖𑓐𑣈𑣕𑣗𑣠𝈚🜔"],["oe","œ"],["oo","∞ꚙꝏ"],["p","þƥƿρϸрᑭᵽ⍴ⲣⳏꓑꮲ𐊕𐓬"],["q","ʠԛգզⵕ"],["qe","🜀"],["r","ɍɼɽʀгғᖇᴦᵲⲅꓣꭇꭈꭱꮁꮢ𐓜𖼵𝈖"],["rn","mɱμϻмӎᗰᛖᵯ₥ⲙꓟꮇ𐊰𐌑𑜀𑣣"],["s","ƽʂѕտടᵴꓢꜱꮥꮪ𐊖𐑈𑣁𖼺"],["sss","🝜"],["t","ŧƭʈτтҭᵵ₮⊤⍡⟙ⱦⲧꓔꭲ𐊗𐊱𐌕𑣜𖼊🝨"],["ts","ʦ"],["u","ʉʋυџսሀᑌᴜᵾ∪⋃ꓴꞟꭎꭒꮜ𐓶𑣘𖽂"],["ue","ᵫ"],["uo","ꭣ"],["w","ɯшѡѽԝաᗯᴡ₩ⲽꓪꝡꮃꮗꮤ𑓅𑜊𑜎𑜏𑣦𑣯𝈢"]]),Ue=se([["h","Η"],["l","ƖƗΙІⲒ𑢣"]]),We=se([["c","Ϲ"]]),Be=new Set([..."˗۔⁃∸➖⨩⨪ⲲⲳⲺⲻ﬩~"]);function se(r){const t=new Map;for(const[e,o]of r)for(const i of o)t.set(i,e);return t}const pe=7e3,we=80;function xe(r){return r.length<=we?r:`${r.slice(0,we-1).trimEnd()}…`}function ie(r){if(typeof r!="string")return"";const t=r.replace(/\p{Cc}/gu," ").replace(/[\p{Cf}\p{Default_Ignorable_Code_Point}]/gu,"").replace(/\s+/g," ").trim();return t?xe(t):""}function Fe(r){return typeof r!="string"?"":ie(ce(r))}function v(r){return r.length<=pe?r:`${r.slice(0,pe-1).trimEnd()}…`}function S(r,t){return r==null?t("network_growth.gaio.a_member"):ie(ce(r))||t("network_growth.gaio.a_member")}function m(r){return xe(ce(r))}const fe={citizensWithRank:"network_growth.gaio.gap.citizens",binaryTreeRank:"network_growth.gaio.gap.binary",totalTreeVolume:"network_growth.gaio.gap.volume",personalPoints:"network_growth.gaio.gap.points",personalPurchase:"network_growth.gaio.gap.purchase"};function x(r,t){const e=r.next_target_rank?t("network_growth.gaio.leader",{rank:m(r.current_rank),next:m(r.next_target_rank)}):t("network_growth.gaio.leader_top",{rank:m(r.current_rank)}),o=r.binding_constraint;if(!o)return e;const i=t("network_growth.gaio.leader_gap",{gap:t(fe[o.type]),current:o.current,required:o.required});return`${e} ${i}`}function ye(r,t){const e=r.next_rank?t("network_growth.gaio.cand_path",{name:S(r.display_name,t),rank:m(r.current_rank),next:m(r.next_rank)}):t("network_growth.gaio.cand_path_max",{name:S(r.display_name,t),rank:m(r.current_rank)}),o=[];return r.is_tree_branch_qualifier&&o.push(t("network_growth.gaio.flag_branch")),r.is_binary_qualifier&&o.push(t("network_growth.gaio.flag_binary")),r.paid_rank_decay_risk&&o.push(t("network_growth.gaio.flag_decay")),o.length===0?e:`${e} ${t("network_growth.gaio.cand_why",{reasons:o.join("; ")})}`}const V={defend_citizen:"network_growth.t2.reason.defend_citizen",promotes_to_citizen:"network_growth.t2.reason.promotes_to_citizen",existing_citizen:"network_growth.t2.reason.existing_citizen",complete_leg:"network_growth.t2.reason.complete_leg",reengage:"network_growth.t2.reason.reengage",grow_volume:"network_growth.t2.reason.grow_volume"};function Qe(r,t,e,o){switch(r){case"defend_citizen":return o(V.defend_citizen,{rank:m(t.citizen_rank_type??e),payout_rank:m(t.payout_rank??"")});case"promotes_to_citizen":return o(V.promotes_to_citizen,{rank:m(t.citizen_rank_type??""),count:t.citizens_gap??0});case"existing_citizen":return o(V.existing_citizen,{rank:m(t.rank??e)});case"complete_leg":return o(V.complete_leg,{leg:o(`network_growth.leg.${t.leg??"balanced"}`)});case"reengage":return o(V.reengage);default:return o(V.grow_volume)}}function je(r,t){const e=r.next_rank?t("network_growth.gaio.cand_path",{name:S(r.display_name,t),rank:m(r.current_rank),next:m(r.next_rank)}):t("network_growth.gaio.cand_path_max",{name:S(r.display_name,t),rank:m(r.current_rank)}),o=Qe(r.reason_code,r.reason_params,r.current_rank,t);return`${e} ${t("network_growth.gaio.cand_why",{reasons:o})}`}function Ye(r,t){const e=r.recommendations;if(e.length===0)return v(x(r.leader,t));const o=e.map((i,l)=>`${l+1}. ${i.title}. ${i.detail}`);return v(`${x(r.leader,t)}
|
|
2
|
+
|
|
3
|
+
${t("network_growth.gaio.support_list")}
|
|
4
|
+
${o.join(`
|
|
5
|
+
`)}`)}function Ne(r,t,e){const o=t.target_member?` ${e("network_growth.gaio.about_member",{name:S(t.target_member.display_name,e),rank:m(t.target_member.current_rank)})}`:"";return v(`${x(r.leader,e)}
|
|
6
|
+
|
|
7
|
+
${e("network_growth.gaio.suggestion",{title:t.title})}${o} ${t.detail}`)}function Xe(r,t){const e=r.tiles.cascade_potential,o=[x(r.leader,t)];return e.cascade_candidates.length>0?o.push(`${t("network_growth.gaio.cascade_intro")}
|
|
8
|
+
`+e.cascade_candidates.map((i,l)=>`${l+1}. ${ye(i,t)}`).join(`
|
|
9
|
+
`)):o.push(t("network_growth.gaio.cascade_empty")),e.tree_branch_coverage&&o.push(t("network_growth.gaio.branch_coverage",{rank:m(e.tree_branch_coverage.next_rank_target),covered:e.tree_branch_coverage.covered_branches,required:e.tree_branch_coverage.required_branches})),e.aggregated_stats&&o.push(t("network_growth.gaio.team_activity",{active:e.aggregated_stats.active_count,total:e.total_members})),v(o.join(`
|
|
10
|
+
|
|
11
|
+
`))}function Je(r,t,e){return v(`${x(r.leader,e)}
|
|
12
|
+
|
|
13
|
+
${e("network_growth.gaio.want_support",{member:ye(t,e)})}`)}function Ze(r,t){const e=r.tiles.at_risk;if(e.members.length===0)return v(`${x(r.leader,t)}
|
|
14
|
+
|
|
15
|
+
${t("network_growth.gaio.atrisk_empty")}`);const o=e.members.map((l,d)=>{let _=t("network_growth.gaio.atrisk_member",{name:S(l.display_name,t),rank:m(l.rank),signal:t(`network_growth.signal.${l.signal.toLowerCase()}`)});return l.is_reactivatable&&(_+=` (${t("network_growth.t4.reactivatable_badge")})`),l.is_reactivatable&&l.paid_rank_grace_expires_in_days!==null&&(_+=` ${t("network_growth.t4.grace_expires",{days:l.paid_rank_grace_expires_in_days})}`),`${d+1}. ${_}`}),i=t("network_growth.gaio.atrisk_head",{count:e.members.length,reactivatable:e.re_activatable_count});return v(`${x(r.leader,t)}
|
|
16
|
+
|
|
17
|
+
${i}
|
|
18
|
+
${o.join(`
|
|
19
|
+
`)}`)}function et(r,t){const e=r.tiles.binary_placement,o=(e.top5_by_cycle_loss.length>0?e.top5_by_cycle_loss:e.imbalanced_members).map((l,d)=>`${d+1}. `+t("network_growth.gaio.placement_member",{name:S(l.display_name,t),side:t(`network_growth.leg.${l.dominant_side}`),ratio:l.generation_ratio.toFixed(1),cycles:l.cycles_lost_lifetime_estimate,usd:Math.round(l.usd_lost_lifetime_upper_bound)})),i=t("network_growth.gaio.placement_head",{watch:e.imbalanced_count_watch,critical:e.imbalanced_count_critical});return v(`${x(r.leader,t)}
|
|
20
|
+
|
|
21
|
+
${i}
|
|
22
|
+
${o.join(`
|
|
23
|
+
`)}`)}function tt(r,t){const e=r.tiles.structure_summary,o=e.team_binary_force,i=[x(r.leader,t),t("network_growth.gaio.structure_health",{active:e.active_purchasing_count_30d,builders:e.builders_count,paid:e.active_paid_rank_count,react:e.reactivatable_paid_rank_count,status:t(`network_growth.t8.balance.${o.balance_status}`),ratio:o.ratio.toFixed(1),side:t(`network_growth.leg.${o.dominant_side}`)})],l=e.structure_expansion_gap;if(l){let d=t("network_growth.gaio.expansion",{rank:m(l.next_normal_rank_target)});l.scp2_uncovered_levels>0&&(d+=` ${t("network_growth.gaio.scp2_uncovered",{levels:l.scp2_uncovered_levels})}`),i.push(d)}return v(i.join(`
|
|
24
|
+
|
|
25
|
+
`))}function rt(r,t){const e=r.tiles.earning_levers,o=e.scp2_active_members.length>0?t("network_growth.gaio.levers_contributors",{names:e.scp2_active_members.map(i=>S(i.display_name,t)).join(", ")}):t("network_growth.gaio.levers_empty");return v(`${x(r.leader,t)}
|
|
26
|
+
|
|
27
|
+
${t("network_growth.gaio.levers",{levels:e.scp2_levels_unlocked,contributors:o,referrals:e.scp3_direct_referrals.length})}`)}function at(r,t){const e=r.leader.path_to_next_rank;if(!e||e.length===0)return v(x(r.leader,t));const o=e.map((i,l)=>`${l+1}. ${t(fe[i.type])}: ${i.met?t("network_growth.gaio.path_met"):t("network_growth.gaio.path_progress",{current:i.current,required:i.required})}`);return v(`${x(r.leader,t)}
|
|
28
|
+
|
|
29
|
+
${t("network_growth.gaio.path_head")}
|
|
30
|
+
${o.join(`
|
|
31
|
+
`)}`)}function nt(r,t,e){return v(`${x(r.leader,e)}
|
|
32
|
+
|
|
33
|
+
${e("network_growth.gaio.want_support",{member:je(t,e)})}`)}function ot(r,t){const{leader:e,context_mode:o}=r;if(o.is_onboarding)return v(`${x(e,t)}
|
|
34
|
+
|
|
35
|
+
${t("network_growth.gaio.hero_onboarding")}`);const i=e.mode==="defend"?t("network_growth.gaio.hero_defend",{rank:m(e.defend_target_rank??e.current_rank)}):t("network_growth.gaio.hero_advance",{rank:m(e.next_target_rank??e.current_rank)});return v(`${x(e,t)}
|
|
36
|
+
|
|
37
|
+
${i}`)}function st(r,t){return r.length===0?t("network_growth.gaio.hidden.path_direct"):r.map(e=>`${ne(e.display_name,t)}${e.active?"":` (${t("network_growth.signal.dormant")})`}`).join(" → ")}function it(r,t,e){const o=ne(t.display_name,e),i=e("network_growth.gaio.hidden.briefing",{name:o,rank:m(t.rank),sales:Math.round(t.team_sales)}),l=e("network_growth.gaio.hidden.path",{path:st(t.sponsor_path,e)}),d=t.nearest_active_intermediary?e("network_growth.gaio.hidden.intermediary",{name:ne(t.nearest_active_intermediary.display_name,e)}):e("network_growth.gaio.hidden.no_intermediary"),_=e("network_growth.gaio.hidden.ask",{name:o});return v(`${x(r.leader,e)}
|
|
38
|
+
|
|
39
|
+
${i}
|
|
40
|
+
${l}
|
|
41
|
+
${d}
|
|
42
|
+
|
|
43
|
+
${_}`)}const ct=new Set(["ng.q.overview.how_to_start","ng.q.structure.first_two_legs","ng.q.branches.single_live_branch","ng.q.branches.dormant_mega_branch","ng.q.structure.healthy_symmetric_legs","ng.q.structure.shallow_tree_no_duplication","ng.q.structure.same_stage_cohort","ng.q.reactivation.reactivation_pool_large","ng.q.cascade.broken_support_chains","ng.q.hidden_leaders.introduce_me","ng.q.branches.grow_leg","ng.q.cascade.who_to_support"]);function lt(r){return r.startsWith("ng.q.")&&ct.has(r)}function $e(r,t){if(!lt(r.key))return null;const e={};for(const[o,i]of Object.entries(r.params))i!=null&&(e[o]=typeof i=="string"?ie(i):i);return v(t(r.key,e))}const qe=10;function Ce(r,t,e,o){if(r.length===0)return t(o);const i=r.map((l,d)=>`${d+1}. ${je(l,t)}`);return`${t(e,{count:r.length})}
|
|
44
|
+
${i.join(`
|
|
45
|
+
`)}`}function _t(r,t){const e=r.digest_v3;if(!e)return"";const o=e.top_candidates.filter(i=>i.reason_code==="reengage").slice(0,qe);return Ce(o,t,"network_growth.gaio.reactivation_shortlist_head","network_growth.gaio.reactivation_shortlist_empty")}function gt(r,t){const e=r.digest_v3;if(!e)return"";const o=e.top_candidates.slice(0,qe);return Ce(o,t,"network_growth.gaio.who_to_support_shortlist_head","network_growth.gaio.who_to_support_shortlist_empty")}const dt={"ng.q.reactivation.reactivation_pool_large":_t,"ng.q.cascade.who_to_support":gt},ht="[Network Growth — Hidden Leader Introduction Request]",pt="[end Hidden Leader Introduction Request]",wt="Hidden Leader Introduction Request",mt="[Pasted link:",ut="[Pasted link]",kt="[end pasted link]",bt="pasted link",vt="<!-- hardened-section:start",xt="<!-- hardened-section:end",ft="hardened-section",yt=[ht,pt,wt,mt,ut,kt,bt,vt,xt,ft],jt=/[\s\p{Mn}\p{Me}\p{Pd}−]/gu,Nt=r=>{let t="";for(const e of r)Be.has(e)||(t+=e);return t},$t=[[/\p{Ps}/gu,"["],[/\p{Pe}/gu,"]"],[/[il1|]/gu,"i"]],qt=r=>$t.reduce((t,[e,o])=>t.replace(e,o),r),ae=(r,t)=>{let e="";for(const o of r)e+=t.get(o)??o;return e},me=new Map;function Ct(r){const t=me.get(r);if(t!==void 0)return t;const e=ae(ae(Nt(r),We).normalize("NFKC"),Ue).toLowerCase().normalize("NFD").replace(jt,""),o=qt(ae(e,Ve));return me.set(r,o),o}function Le(r){let t="";const e=[],o=[];for(let i=0;i<r.length;){const l=String.fromCodePoint(r.codePointAt(i)),d=i+l.length,_=Ct(l);for(let n=0;n<_.length;n++)e.push(i),o.push(d);t+=_,i=d}return{text:t,origin:e,originEnd:o}}const ze=yt.map(r=>Le(r).text),Lt=new Set(ze.filter(r=>r.length>0).map(r=>r.charAt(0)));function zt(r){const{text:t,origin:e,originEnd:o}=Le(r);let i="",l=0,d=!1;for(let _=0;_<t.length;){if(!Lt.has(t.charAt(_))){_++;continue}let n=0;for(const y of ze)y.length>n&&t.startsWith(y,_)&&(n=y.length);if(n===0){_++;continue}d=!0,i+=`${r.slice(l,e[_])} `,l=o[_+n-1],_+=n}return d?i+r.slice(l):r}const ue=1024;function At(r){if(r.length<=ue)return r;const t=r.slice(0,ue),e=t.charCodeAt(t.length-1);return e>=55296&&e<=56319?t.slice(0,-1):t}function ce(r){if(typeof r!="string")return"";let t=At(r).replace(/\p{Cc}/gu," ").replace(/[\p{Cf}\p{Default_Ignorable_Code_Point}]/gu,""),e;do e=t,t=t.replace(/\s+/g," "),t=zt(t);while(t!==e);return t.trim()}function ne(r,t){return S(r,t)}const E=r=>Math.abs(r)>=1e3?`${(r/1e3).toFixed(1)}k`:String(Math.round(r)),Ae=r=>`$${E(r)}`,ke=r=>r>99.9?"99.9+":r.toFixed(1),$=(r,t)=>Fe(r)||t,le=(r,t)=>t(r==="left"?"network_growth.leg.left":r==="right"?"network_growth.leg.right":r==="unassigned"?"network_growth.leg.unassigned":"network_growth.leg.balanced");function Se(r,t,e,o){switch(r){case"defend_citizen":return o("network_growth.t2.reason.defend_citizen",{rank:b(t.citizen_rank_type??e,o),payout_rank:t.payout_rank?b(t.payout_rank,o):""});case"promotes_to_citizen":return o("network_growth.t2.reason.promotes_to_citizen",{rank:t.citizen_rank_type?b(t.citizen_rank_type,o):"",count:t.citizens_gap??0});case"existing_citizen":return o("network_growth.t2.reason.existing_citizen",{rank:b(t.rank??e,o)});case"complete_leg":return o("network_growth.t2.reason.complete_leg",{leg:le(t.leg??"none",o)});case"reengage":return o("network_growth.t2.reason.reengage");default:return o("network_growth.t2.reason.grow_volume")}}const St={citizensWithRank:"network_growth.gaio.gap.citizens",binaryTreeRank:"network_growth.gaio.gap.binary",totalTreeVolume:"network_growth.gaio.gap.volume",personalPoints:"network_growth.gaio.gap.points",personalPurchase:"network_growth.gaio.gap.purchase"},Et={critical:"critical",high:"high",medium:"medium"},Tt={P0_DEFEND:"network_growth.tier.defend",P1_CASCADE:"network_growth.tier.cascade",P2_ACTIVATE:"network_growth.tier.activate",P3_VOLUME:"network_growth.tier.volume",P4_BUILD:"network_growth.tier.build"};function Pt({open:r}){return a.jsx("svg",{className:`ng-chevron${r?" ng-chevron--open":""}`,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true",children:a.jsx("path",{d:"M6 9l6 6 6-6",stroke:"currentColor",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"})})}function M({id:r,title:t,teaser:e,narrativeDetail:o,defaultOpen:i,expandLabel:l,collapseLabel:d,help:_,gaio:n,rating:y,children:N}){const[g,f]=F.useState(i??!1),[C,L]=F.useState(!1),h=`ng-tile-body-${r}`,I=`ng-tile-help-${r}`;return a.jsxs("section",{className:`ng-tile ng-tile--${r}${g?" ng-tile--open":""}`,children:[a.jsxs("div",{className:"ng-tile__bar",children:[a.jsxs("button",{type:"button",className:"ng-tile__head",onClick:()=>f(j=>!j),"aria-expanded":g,"aria-controls":h,"aria-label":g?d:l,children:[a.jsxs("span",{className:"ng-tile__heading",children:[a.jsx("span",{className:"ng-tile__title",children:t}),!g&&a.jsx("span",{className:"ng-tile__teaser",children:e})]}),a.jsx(Pt,{open:g})]}),_&&a.jsx("button",{type:"button",className:`ng-tile__help${C?" ng-tile__help--open":""}`,onClick:()=>L(j=>!j),onKeyDown:j=>{j.key==="Escape"&&L(!1)},"aria-expanded":C,"aria-controls":I,"aria-label":_.ariaLabel,children:a.jsx("span",{"aria-hidden":"true",children:"?"})})]}),_&&C&&a.jsx("div",{id:I,className:"ng-tile__help-pop",role:"note",children:_.text}),a.jsxs("div",{id:h,className:"ng-tile__body",hidden:!g,children:[o&&a.jsx("p",{className:"ng-tile__narrative",children:o}),N,n&&a.jsx(Q,{label:n.label,onClick:n.onClick,className:"ng-gaio-btn--section"}),y]})]})}function Q({label:r,onClick:t,className:e}){return a.jsxs("button",{type:"button",className:`ng-gaio-btn${e?` ${e}`:""}`,onClick:t,children:[a.jsx(oe,{size:14,className:"ng-gaio-btn__owl"}),r]})}const Rt={SINGLE_LIVE_BRANCH:"network_growth.insight.single_live_branch",DORMANT_MEGA_BRANCH:"network_growth.insight.dormant_mega_branch",SHALLOW_TREE_NO_DUPLICATION:"network_growth.insight.shallow_tree_no_duplication",SAME_STAGE_COHORT:"network_growth.insight.same_stage_cohort",REACTIVATION_POOL_LARGE:"network_growth.insight.reactivation_pool_large",BROKEN_SUPPORT_CHAINS:"network_growth.insight.broken_support_chains",HEALTHY_SYMMETRIC_LEGS:"network_growth.insight.healthy_symmetric_legs",BINARY_IMBALANCE:"network_growth.insight.binary_imbalance"};function Mt(r,t){const e=r.params,o={};return e.branch_name!==void 0&&(o.branch_name=$(e.branch_name,t("network_growth.gaio.a_member"))),e.member_count!==void 0&&(o.member_count=e.member_count),e.active_pct!==void 0&&(o.active_pct=Math.round(e.active_pct)),e.count!==void 0&&(o.count=e.count),e.high_leverage_count!==void 0&&(o.high_leverage_count=e.high_leverage_count),e.total_branches!==void 0&&(o.total_branches=e.total_branches),e.live_branches!==void 0&&(o.live_branches=e.live_branches),e.legs_building_further!==void 0&&(o.legs_building_further=e.legs_building_further),e.max_depth!==void 0&&(o.max_depth=e.max_depth),e.direct_legs!==void 0&&(o.direct_legs=e.direct_legs),e.stage!==void 0&&(o.stage=b(e.stage,t)),e.pct!==void 0&&(o.pct=e.pct),e.deepest!==void 0&&(o.deepest=e.deepest),e.ratio!==void 0&&(o.ratio=e.ratio),e.side!==void 0&&(o.side=le(e.side,t)),t(Rt[r.code],o)}function X({questions:r,onAsk:t,t:e}){const o=r.map(i=>({q:i,text:$e(i,e)})).filter(i=>i.text!==null);return o.length===0?null:a.jsxs("div",{className:"ng4-gaio-bar",role:"group","aria-label":e("network_growth.v4.gaio_bar_aria"),children:[a.jsx(oe,{size:16,className:"ng4-gaio-bar__owl"}),a.jsx("div",{className:"ng4-gaio-bar__chips",children:o.map(({q:i,text:l})=>a.jsx("button",{type:"button",className:"ng4-gaio-bar__chip",onClick:()=>t(i),children:l},i.key))})]})}function It(r,t,e,o){return[{done:r>=1,label:o("network_growth.v4.milestone.first_member")},{done:r>=2&&t,label:o("network_growth.v4.milestone.both_legs")},{done:e,label:o("network_growth.v4.milestone.first_citizen")}]}function J({value:r,label:t}){return a.jsxs("div",{className:"ng-stat",children:[a.jsx("span",{className:"ng-stat__value",children:r}),a.jsx("span",{className:"ng-stat__label",children:t})]})}function be({binary:r,branch:t,t:e}){if(!r&&!t)return null;const o=!!r&&r.strong_leg_met&&r.weak_leg_met,i=!!t&&t.covered_branches>=t.required_branches;return a.jsxs("div",{className:"ng-gaps",children:[r&&a.jsx("span",{className:`ng-gap${o?" ng-gap--met":""}`,children:o?e("network_growth.t2.binary_gap_met",{rank:b(r.next_rank_target,e)}):e("network_growth.t2.binary_gap",{rank:b(r.next_rank_target,e),sc:r.strong_leg_current,sr:r.strong_leg_required,wc:r.weak_leg_current,wr:r.weak_leg_required})}),t&&a.jsx("span",{className:`ng-gap${i?" ng-gap--met":""}`,children:i?e("network_growth.t2.branch_coverage_met",{rank:b(t.next_rank_target,e),required:t.required_branches}):e("network_growth.t2.branch_coverage",{rank:b(t.next_rank_target,e),covered:t.covered_branches,required:t.required_branches})})]})}function Vt({data:r,actions:t,metadata:e,i18n:o,externalContext:i,baseUrl:l,auth:d,previewMode:_}){const n=o?.t??(s=>s),y=i?.hasChatView===!0,N=s=>a.jsx(He,{compact:!0,blockSlug:"network-growth",sectionKey:s,baseUrl:l,apiKey:i?.apiKey,jwt:d?.jwt,previewMode:_,t:n}),g=r,f=F.useCallback((s,k,G)=>{t.emit("chat:draft",{message:`${n("network_growth.gaio_draft",{headline:s})}
|
|
46
|
+
|
|
47
|
+
${k}`,autoSend:!1,quickChips:G??[{label:n("network_growth.chip.approach"),message:n("network_growth.chip.approach_msg"),autoSend:!0},{label:n("network_growth.chip.message"),message:n("network_growth.chip.message_msg"),autoSend:!0},{label:n("network_growth.chip.why"),message:n("network_growth.chip.why_msg"),autoSend:!0},{label:n("network_growth.chip.other"),message:"",autoSend:!1}]})},[t,n]),C=F.useCallback(s=>{const k=$e(s,n);if(k===null||!g)return;const G=dt[s.key],H=G?.(g,n);t.emit("chat:draft",{message:H?`${k}
|
|
48
|
+
|
|
49
|
+
${H}`:k,autoSend:!0})},[t,n,g]),L=F.useCallback((s,k)=>{f(s,k,[{label:n("network_growth.chip.plan_first"),message:n("network_growth.chip.plan_first_msg"),autoSend:!0},{label:n("network_growth.chip.plan_fastest"),message:n("network_growth.chip.plan_fastest_msg"),autoSend:!0},{label:n("network_growth.chip.other"),message:"",autoSend:!1}])},[f,n]);if(!g||g.contract_version!=="2.0"&&g.contract_version!=="3.0"){if(r.error)return a.jsx(Z,{blockType:"network-growth",children:a.jsx("div",{className:"ng2",children:a.jsx("p",{className:"ng2__error",children:n("network_growth.error")})})});const s=e?.dataQuality,k=s!=="none"&&!!r&&Object.keys(r).some(Ge=>!Ge.startsWith("_"));let G="🌱",H=n("network_growth.empty.loading");return s==="none"?H=n("network_growth.empty.sign_in"):k&&(G="🔄",H=n("network_growth.empty.stale")),a.jsx(Z,{blockType:"network-growth",children:a.jsxs("div",{className:"ng2 ng2--empty",children:[a.jsx("div",{className:"ng2__empty-icon","aria-hidden":"true",children:G}),a.jsx("p",{className:"ng2__empty-text",children:H})]})})}const{leader:h,tiles:I,recommendations:j,context_size:Y,digest_v3:z}=g,{cascade_potential:p,at_risk:w,binary_placement:c,structure_summary:u,earning_levers:q}=I;if(z)return a.jsx(Ot,{out:g,digestV3:z,t:n,hasChatView:y,handleTalkToGaio:f,handleAskGaio:C,handlePlanWithGaio:L,sectionRating:N,actions:t,baseUrl:l,apiKey:i?.apiKey});const T=n("network_growth.a11y.expand"),P=n("network_growth.a11y.collapse"),ee=n("network_growth.talk_to_gaio"),O=(s,k)=>({text:n(`network_growth.${s}.help`),ariaLabel:n("network_growth.help_aria",{title:n(k)})}),U=(s,k)=>s?.title?.trim()||k,W=(s,k)=>s?.teaser?.trim()||k,te=s=>le(s,n),Ee=s=>s.cascade_reason_code?Se(s.cascade_reason_code,s.cascade_reason_params??{},s.current_rank,n):s.cascade_reason,D=(s,k)=>y?{label:ee,onClick:()=>f(s,k)}:void 0,_e=j[0],Te=_e?_e.teaser:n("network_growth.t3.empty_teaser"),ge=h.path_to_next_rank??[],A=b(h.mode==="defend"?h.defend_target_rank??h.current_rank:h.next_target_rank??h.current_rank,n),re=h.mode==="defend"?n("network_growth.tpath.move_title_defend",{rank:A}):n("network_growth.tpath.move_title_advance",{rank:A}),B=h.binding_constraint??ge.find(s=>!s.met)??null,de=B?h.mode==="defend"?n("network_growth.tpath.move_advice_defend",{rank:A,dimension:n(St[B.type])}):n(`network_growth.tpath.move_advice.${B.type}`,{rank:A,gap:E(Math.max(0,B.required-B.current))}):n("network_growth.tpath.move_all_met",{rank:A}),Pe=h.mode==="defend"?n("network_growth.tpath.move_intro_defend",{rank:A}):n("network_growth.tpath.move_intro_advance",{rank:A}),Re=h.mode==="defend"?n("network_growth.tpath.move_cta_defend",{rank:A}):n("network_growth.tpath.move_cta_advance",{rank:A}),Me=p.cascade_candidates.length>0?n("network_growth.t2.teaser",{count:p.cascade_candidates.length}):n("network_growth.t2.teaser_empty"),Ie=w.re_activatable_count>0?n("network_growth.t4.teaser_reactivatable",{count:w.members.length,reactivatable:w.re_activatable_count}):n("network_growth.t4.teaser",{count:w.members.length}),Oe=n("network_growth.t7.teaser",{count:c.imbalanced_members.length,usd:E(c.estimated_total_weekly_usd_lost)}),De=n("network_growth.t8.teaser",{active:u.active_purchasing_count_30d,paid:u.active_paid_rank_count}),Ke=n("network_growth.t6.teaser",{count:q.scp2_active_members.length,levels:q.scp2_levels_unlocked}),he=c.top5_by_cycle_loss.length>0?c.top5_by_cycle_loss:c.imbalanced_members,K=u.team_binary_force,R=u.structure_expansion_gap;return a.jsx(Z,{blockType:"network-growth",children:a.jsxs("div",{className:`ng2 ng2--${Y}`,children:[a.jsx("div",{className:"ng2__icon-row",children:a.jsx(ve,{panelKey:"network-growth",baseUrl:l,apiKey:i?.apiKey,t:n})}),h.grace_period_ranks.length>0&&a.jsxs("div",{className:"ng2__grace",role:"alert",children:[a.jsx("span",{"aria-hidden":"true",children:"⚠️"}),a.jsx("span",{children:n("network_growth.grace_banner",{rank:h.grace_period_ranks[0]?b(h.grace_period_ranks[0],n):""})})]}),ge.length>0&&a.jsxs(M,{id:"path",title:re,teaser:de,defaultOpen:!0,expandLabel:T,collapseLabel:P,help:{text:n("network_growth.tpath.move_help"),ariaLabel:n("network_growth.help_aria",{title:re})},gaio:y?{label:Re,onClick:()=>f(re,at(g,n))}:void 0,rating:N("path"),children:[a.jsx("p",{className:"ng-path-intro",children:Pe}),a.jsx("p",{className:"ng-path-advice",children:de})]}),a.jsx(M,{id:"support",title:n("network_growth.t3.title"),teaser:Te,defaultOpen:!0,expandLabel:T,collapseLabel:P,help:O("t3","network_growth.t3.title"),gaio:j.length>0?void 0:D(n("network_growth.t3.title"),Ye(g,n)),rating:N("support"),children:j.length===0?a.jsx("p",{className:"ng-empty-note",children:n("network_growth.t3.empty")}):a.jsx("ul",{className:"ng-rec-list",children:j.map(s=>a.jsxs("li",{className:"ng-rec",children:[a.jsxs("div",{className:"ng-rec__head",children:[a.jsx("span",{className:`ng-badge ng-badge--${s.tier.toLowerCase()}`,children:n(Tt[s.tier])}),a.jsx("span",{className:"ng-rec__title",children:s.title})]}),a.jsx("p",{className:"ng-rec__detail",children:s.detail}),y&&a.jsx(Q,{label:ee,onClick:()=>f(s.title,Ne(g,s,n))})]},s.id))})}),p.visible&&a.jsxs(M,{id:"cascade",title:U(p.narrative,n("network_growth.t2.title")),teaser:W(p.narrative,Me),narrativeDetail:p.narrative?.detail,expandLabel:T,collapseLabel:P,help:O("t2","network_growth.t2.title"),gaio:p.cascade_candidates.length>0?void 0:D(n("network_growth.t2.title"),Xe(g,n)),rating:N("cascade"),children:[a.jsx(be,{binary:p.binary_qualification_gap,branch:p.tree_branch_coverage,t:n}),p.rank_elevation_candidates_count>0&&a.jsx("p",{className:"ng-aggregate",children:n("network_growth.t2.elevation",{count:p.rank_elevation_candidates_count,high:p.high_cascade_count})}),p.cascade_candidates.length===0?a.jsx("p",{className:"ng-empty-note",children:n("network_growth.t2.empty")}):a.jsx("ul",{className:"ng-cand-list",children:p.cascade_candidates.map(s=>a.jsxs("li",{className:`ng-cand${s.is_defend_priority?" ng-cand--defend":""}`,children:[a.jsx("div",{className:"ng-cand__top",children:a.jsx("span",{className:"ng-cand__name",children:$(s.display_name,s.user_id)})}),a.jsxs("div",{className:"ng-cand__rank",children:[b(s.current_rank,n),s.next_rank?` → ${b(s.next_rank,n)}`:""]}),(s.is_binary_qualifier||s.is_tree_branch_qualifier||s.paid_rank_decay_risk)&&a.jsxs("div",{className:"ng-cand__chips",children:[s.is_binary_qualifier&&a.jsx("span",{className:"ng-chip ng-chip--qualifier",children:n("network_growth.t2.chip.binary_qualifier")}),s.is_tree_branch_qualifier&&a.jsx("span",{className:"ng-chip ng-chip--qualifier",children:n("network_growth.t2.chip.branch_qualifier")}),s.paid_rank_decay_risk&&a.jsx("span",{className:"ng-chip ng-chip--decay",children:n("network_growth.t2.chip.decay_risk")})]}),a.jsx("p",{className:"ng-cand__reason",children:Ee(s)}),y&&a.jsx(Q,{label:ee,onClick:()=>f(n("network_growth.t2.gaio_headline",{name:$(s.display_name,s.user_id)}),Je(g,s,n))})]},s.user_id))}),p.aggregated_stats&&a.jsx("p",{className:"ng-aggregate",children:n("network_growth.t2.aggregate",{active:p.aggregated_stats.active_count,total:p.total_members})})]}),w.visible&&w.members.length>0&&a.jsxs(M,{id:"atrisk",title:U(w.narrative,n("network_growth.t4.title")),teaser:W(w.narrative,Ie),narrativeDetail:w.narrative?.detail,expandLabel:T,collapseLabel:P,help:O("t4","network_growth.t4.title"),gaio:D(n("network_growth.t4.title"),Ze(g,n)),rating:N("atrisk"),children:[(w.paid_rank_expiry_warnings>0||w.weekly_points_lost_to_dormancy>0)&&a.jsxs("div",{className:"ng-atrisk-summary",children:[w.paid_rank_expiry_warnings>0&&a.jsx("span",{className:"ng-chip ng-chip--urgent",children:n("network_growth.t4.expiry_warning",{count:w.paid_rank_expiry_warnings})}),w.weekly_points_lost_to_dormancy>0&&a.jsx("span",{className:"ng-atrisk-summary__lost",children:n("network_growth.t4.points_lost",{points:w.weekly_points_lost_to_dormancy})})]}),a.jsx("ul",{className:"ng-risk-list",children:w.members.map(s=>a.jsxs("li",{className:`ng-risk ng-risk--${Et[s.severity]}`,children:[a.jsx("span",{className:"ng-risk__dot","aria-hidden":"true"}),a.jsxs("div",{className:"ng-risk__info",children:[a.jsx("span",{className:"ng-risk__name",children:$(s.display_name,s.user_id)}),a.jsx("span",{className:"ng-risk__signal",children:n(`network_growth.signal.${s.signal.toLowerCase()}`)}),s.is_reactivatable&&s.paid_rank_grace_expires_in_days!==null&&a.jsx("span",{className:"ng-risk__grace",children:n("network_growth.t4.grace_expires",{days:s.paid_rank_grace_expires_in_days})})]}),a.jsxs("span",{className:"ng-risk__tags",children:[s.is_reactivatable&&a.jsx("span",{className:"ng-chip ng-chip--reactivate",children:n("network_growth.t4.reactivatable_badge")}),s.is_counted_citizen&&a.jsx("span",{className:"ng-risk__flag",children:n("network_growth.t4.counts")})]})]},s.user_id))})]}),c.visible&&he.length>0&&a.jsxs(M,{id:"placement",title:U(c.narrative,n("network_growth.t7.title")),teaser:W(c.narrative,Oe),narrativeDetail:c.narrative?.detail,expandLabel:T,collapseLabel:P,help:O("t7","network_growth.t7.title"),gaio:D(n("network_growth.t7.title"),et(g,n)),rating:N("placement"),children:[a.jsx("p",{className:"ng-aggregate",children:n("network_growth.t7.totals",{watch:c.imbalanced_count_watch,critical:c.imbalanced_count_critical})}),c.auto_placement_risk.flagged&&a.jsx("div",{className:"ng-placement-warn",role:"note",children:n("network_growth.t7.autoplace_warning",{side:te(c.auto_placement_risk.dominant_leg??"none")})}),a.jsx("ul",{className:"ng-cand-list",children:he.map(s=>a.jsxs("li",{className:`ng-place ng-place--${s.severity}`,children:[a.jsxs("div",{className:"ng-cand__top",children:[a.jsx("span",{className:"ng-cand__name",children:$(s.display_name,s.user_id)}),a.jsx("span",{className:`ng-chip ng-chip--sev-${s.severity}`,children:n(`network_growth.t7.severity.${s.severity}`)})]}),a.jsx("div",{className:"ng-cand__rank",children:n("network_growth.t7.member_ratio",{ratio:ke(s.generation_ratio),side:te(s.dominant_side)})}),s.cycles_lost_lifetime_estimate>0&&a.jsx("p",{className:"ng-cand__reason",children:n("network_growth.t7.member_loss",{cycles:s.cycles_lost_lifetime_estimate,usd:E(s.usd_lost_lifetime_upper_bound)})})]},s.user_id))}),a.jsx("p",{className:"ng-disclaimer",children:n("network_growth.t7.estimate_disclaimer")})]}),a.jsxs(M,{id:"structure",title:U(u.narrative,n("network_growth.t8.title")),teaser:W(u.narrative,De),narrativeDetail:u.narrative?.detail,expandLabel:T,collapseLabel:P,help:O("t8","network_growth.t8.title"),gaio:D(n("network_growth.t8.title"),tt(g,n)),rating:N("structure"),children:[a.jsxs("div",{className:"ng-stats",children:[a.jsx(J,{value:E(u.active_purchasing_count_30d),label:n("network_growth.t8.active_buyers")}),a.jsx(J,{value:E(u.builders_count),label:n("network_growth.t8.builders")}),a.jsx(J,{value:E(u.active_paid_rank_count),label:n("network_growth.t8.active_paid")}),a.jsx(J,{value:E(u.reactivatable_paid_rank_count),label:n("network_growth.t8.reactivatable_paid")})]}),a.jsxs("div",{className:`ng-binforce ng-binforce--${K.balance_status}`,children:[a.jsx("span",{className:"ng-binforce__dot","aria-hidden":"true"}),a.jsx("span",{children:K.dominant_side==="balanced"?n("network_growth.t8.binary_force_balanced",{status:n(`network_growth.t8.balance.${K.balance_status}`)}):n("network_growth.t8.binary_force",{ratio:ke(K.ratio),side:te(K.dominant_side),status:n(`network_growth.t8.balance.${K.balance_status}`)})})]}),R&&a.jsxs("div",{className:"ng-expansion",children:[a.jsx("div",{className:"ng-expansion__title",children:n("network_growth.t8.expansion_title",{rank:b(R.next_normal_rank_target,n)})}),a.jsx(be,{binary:R.binary_gap,branch:R.tree_branch_gap,t:n}),a.jsx("p",{className:"ng-aggregate",children:R.scp2_uncovered_levels>0?n("network_growth.t8.scp2_uncovered",{levels:R.scp2_uncovered_levels,cycles:R.scp2_cycles_per_month_locked}):n("network_growth.t8.scp2_covered")})]})]}),q.visible&&a.jsxs(M,{id:"levers",title:U(q.narrative,n("network_growth.t6.title")),teaser:W(q.narrative,Ke),narrativeDetail:q.narrative?.detail,expandLabel:T,collapseLabel:P,help:O("t6","network_growth.t6.title"),gaio:D(n("network_growth.t6.title"),rt(g,n)),rating:N("levers"),children:[q.scp2_active_members.length>0?a.jsx("ul",{className:"ng-lever-list",children:q.scp2_active_members.map(s=>a.jsxs("li",{className:"ng-lever",children:[a.jsx("span",{className:"ng-lever__name",children:$(s.display_name,s.user_id)}),a.jsxs("span",{className:"ng-lever__meta",children:[n("network_growth.t6.level",{level:s.position})," · ",Ae(s.team_sales)]})]},s.user_id))}):a.jsx("p",{className:"ng-empty-note",children:n("network_growth.t6.empty")}),q.scp3_direct_referrals.length>0&&a.jsx("p",{className:"ng-aggregate",children:n("network_growth.t6.referrals",{count:q.scp3_direct_referrals.length})})]})]})})}function Ot({out:r,digestV3:t,t:e,hasChatView:o,handleTalkToGaio:i,handleAskGaio:l,handlePlanWithGaio:d,sectionRating:_,actions:n,baseUrl:y,apiKey:N}){const{leader:g,context_mode:f,recommendations:C}=r,L=f.is_onboarding,h=L?"onboarding":g.mode,I=L?e("network_growth.v4.hero.onboarding_headline"):h==="defend"?e("network_growth.v4.hero.defend_headline",{rank:b(g.defend_target_rank??g.current_rank,e)}):e("network_growth.v4.hero.advance_headline",{rank:b(g.next_target_rank??g.current_rank,e)}),j=e(L?"network_growth.v4.hero.cta_onboarding":h==="defend"?"network_growth.v4.hero.cta_defend":"network_growth.v4.hero.cta_advance"),Y=L?It(f.member_count,f.has_binary_data,f.leader_has_paid_rank,e):null,z=c=>t.suggested_questions.filter(u=>u.section===c).slice(0,2),p=t.top_candidates.filter(c=>!C.some(u=>u.target_member?.user_id===c.user_id)),w=r.tiles.at_risk.members.find(c=>c.is_reactivatable&&c.has_active_substructure);return a.jsx(Z,{blockType:"network-growth",children:a.jsxs("div",{className:`ng4 ng4--${h}`,children:[a.jsx("div",{className:"ng4__icon-row",children:a.jsx(ve,{panelKey:"network-growth",baseUrl:y,apiKey:N,t:e})}),a.jsxs("section",{className:`ng4-hero ng4-hero--${h}`,children:[a.jsx("p",{className:"ng4-hero__headline",children:I}),r.hero_reason&&a.jsx("p",{className:"ng4-hero__reason",children:r.hero_reason}),Y&&a.jsx("ol",{className:"ng4-hero__milestones",children:Y.map((c,u)=>a.jsxs("li",{className:`ng4-hero__milestone${c.done?" ng4-hero__milestone--done":""}`,children:[a.jsx("span",{className:"ng4-hero__milestone-dot","aria-hidden":"true"}),c.label]},u))}),o&&a.jsxs("button",{type:"button",className:"ng4-hero__cta",onClick:()=>d(j,ot(r,e)),children:[a.jsx(oe,{size:16,className:"ng4-hero__cta-owl"}),j]}),_("hero")]}),t.insights.length>0&&a.jsxs("section",{className:"ng4-section ng4-insights",children:[a.jsx("h3",{className:"ng4-section__title",children:e("network_growth.v4.insights.title")}),a.jsx("ul",{className:"ng4-insight-list",children:t.insights.map((c,u)=>a.jsx("li",{className:`ng4-insight ng4-insight--${c.severity}`,children:Mt(c,e)},u))}),o&&a.jsx(X,{questions:z("branches").concat(z("structure"),z("overview")).slice(0,2),onAsk:l,t:e}),_("insights")]}),t.hidden_leaders.length>0&&a.jsxs("section",{className:"ng4-section ng4-hidden",children:[a.jsx("h3",{className:"ng4-section__title",children:e("network_growth.v4.hidden.title")}),a.jsx("ul",{className:"ng4-hidden-list",children:t.hidden_leaders.map(c=>a.jsxs("li",{className:"ng4-hidden-row",children:[a.jsxs("div",{className:"ng4-hidden-row__info",children:[a.jsx("span",{className:"ng4-hidden-row__name",children:$(c.display_name,c.user_id)}),a.jsx("span",{className:"ng4-hidden-row__meta",children:b(c.rank,e)}),a.jsxs("span",{className:"ng4-hidden-row__caption",children:[c.team_sales>0&&a.jsxs(a.Fragment,{children:[e("network_growth.v4.hidden.team_sales",{sales:Ae(c.team_sales)})," · "]}),e("network_growth.t6.level",{level:c.height})]})]}),o&&a.jsx("button",{type:"button",className:"ng4-hidden-row__cta",onClick:()=>i(e("network_growth.v4.hidden.topic",{name:$(c.display_name,c.user_id)}),it(r,c,e)),children:e("network_growth.v4.hidden.cta")})]},c.user_id))}),o&&a.jsx(X,{questions:z("hidden_leaders"),onAsk:l,t:e}),_("hidden_leaders")]}),a.jsxs("section",{className:"ng4-section ng4-coach",children:[a.jsx("h3",{className:"ng4-section__title",children:e("network_growth.v4.coach.title")}),C.length===0&&p.length===0?a.jsx("p",{className:"ng-empty-note",children:e("network_growth.t3.empty")}):a.jsxs("ul",{className:"ng4-coach-list",children:[C.map(c=>a.jsxs("li",{className:"ng4-coach-item",children:[a.jsx("p",{className:"ng4-coach-item__reason",children:c.detail}),o&&a.jsx(Q,{label:e("network_growth.v4.coach.cta"),onClick:()=>i(c.title,Ne(r,c,e))})]},c.id)),p.map(c=>a.jsxs("li",{className:"ng4-coach-item",children:[a.jsx("span",{className:"ng4-coach-item__name",children:$(c.display_name,c.user_id)}),a.jsx("p",{className:"ng4-coach-item__reason",children:r.candidate_notes?.[c.user_id]??Se(c.reason_code,c.reason_params??{},c.current_rank,e)}),o&&a.jsx(Q,{label:e("network_growth.v4.coach.cta"),onClick:()=>i(e("network_growth.t2.gaio_headline",{name:$(c.display_name,c.user_id)}),nt(r,c,e))})]},c.user_id))]}),o&&a.jsx(X,{questions:z("cascade"),onAsk:l,t:e}),_("coach")]}),t.segments.reactivation_pool_count>0&&a.jsxs("section",{className:"ng4-section ng4-reactivation",children:[a.jsx("p",{className:"ng4-reactivation__sentence",children:w?e("network_growth.v4.reactivation.sentence_named",{name:$(w.display_name,w.user_id)}):e("network_growth.v4.reactivation.sentence")}),o&&a.jsx(X,{questions:z("reactivation"),onAsk:l,t:e}),_("reactivation")]})]})})}const Ut={slug:"network-growth",name:"Network Growth Tracker",version:"2.0.0",category:"interactive",requiredService:"network-growth",configSchema:{properties:{readAloudEnabled:{type:"boolean",default:!1}}},defaultConfig:{readAloudEnabled:!1},fields:[{id:"readAloudEnabled",type:"toggle",label:"Read this panel aloud",default:!1,group:"Voice"}],sizing:{minWidth:280,preferredHeight:"auto",scrollable:!0},supportedPlacements:["main","sidebar"],dataContract:{serviceSlug:"network-growth",inputSchema:{type:"object",properties:{contract_version:{type:"string"},context_size:{type:"string"},leader:{type:"object"},tiles:{type:"object"},recommendations:{type:"array"},context_mode:{type:"object"},digest_v3:{type:"object"}},required:["contract_version","leader","tiles","recommendations"]}},events:{emits:[{name:"chat:draft",description:'User clicked "Talk to GAIO" on a recommendation — drafts the gaioContext into the chat bot'}]}};export{Vt as Component,Vt as NetworkGrowthBlock,Ut as manifest};
|
|
50
|
+
//# sourceMappingURL=index-CNJUK2bK-C0OfCXUx.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as p,j as e,Q as r}from"../nexly.js";const N={slug:"event-list",name:"Event List",version:"1.0.0",category:"content",requiredService:"event-scraper",configSchema:{properties:{maxEvents:{type:"number",default:20},freeOnly:{type:"boolean",default:!1}}},defaultConfig:{maxEvents:20,freeOnly:!1},dataContract:{serviceSlug:"event-scraper",inputSchema:{type:"object",properties:{events:{type:"array",items:{type:"object",properties:{id:{type:"string"},title:{type:"string"},date:{type:"string"},location:{type:"string"},price:{type:"number"},isFree:{type:"boolean"},url:{type:"string"},imageUrl:{type:"string"}}}},total:{type:"number"}},required:["events"]},previewDataOverride:{events:[{id:"evt-1",title:"Tech Startup Networking Night",date:"2026-04-10T18:00:00Z",location:"Seoul, Gangnam-gu",price:0,isFree:!0,url:"https://onoffmix.com/event/1",imageUrl:""},{id:"evt-2",title:"AI & Machine Learning Summit",date:"2026-04-15T09:00:00Z",location:"Seoul, Mapo-gu",price:25e3,isFree:!1,url:"https://onoffmix.com/event/2",imageUrl:""},{id:"evt-3",title:"Web3 Developer Workshop",date:"2026-04-20T14:00:00Z",location:"Seoul, Songpa-gu",price:0,isFree:!0,url:"https://onoffmix.com/event/3",imageUrl:""}],total:3}},fields:[{id:"maxEvents",type:"range",label:"Max events to show",default:20,min:1,max:100,step:1,group:"Content"},{id:"freeOnly",type:"toggle",label:"Show free events only",default:!1,group:"Filters"}],events:{emits:[{name:"events:eventSelected",description:"User clicked on an event"},{name:"events:filterChanged",description:"User changed the event filter"}],listens:[{name:"events:refresh",description:"Reload events from scraper"}]},sizing:{minWidth:240,preferredHeight:"auto",scrollable:!1},supportedPlacements:["main"]};function j(l,s){const n=new Date(l);return isNaN(n.getTime())?l:new Intl.DateTimeFormat(s,{month:"short",day:"numeric",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(n)}function c(){return e.jsxs("li",{className:"es-evlist__skeleton","aria-hidden":"true",children:[e.jsx("div",{className:"es-evlist__skeleton-line es-evlist__skeleton-line--title"}),e.jsx("div",{className:"es-evlist__skeleton-line es-evlist__skeleton-line--meta"}),e.jsx("div",{className:"es-evlist__skeleton-line es-evlist__skeleton-line--short"})]})}function k({data:l,actions:s,i18n:n}){const i=n?.t??(t=>t),_=n?.currentLanguage??"en",d=l.events??[],u=l.loading===!0,h=l.error,[g,x]=p.useState(null);p.useEffect(()=>{const t=s.on("events:markerHighlight",o=>{x(o?.id??null)});return()=>t()},[s]);const y=t=>{t&&s.emit("events:hover",{id:t})},f=()=>{s.emit("events:hover",{id:null})},v=t=>{t.id&&s.emit("events:eventSelected",{id:t.id,event:t})};return u?e.jsx(r,{blockType:"event-list",children:e.jsx("div",{className:"es-block__body",children:e.jsxs("ul",{className:"es-evlist__items","aria-label":i("event_list.loading"),"aria-busy":"true",children:[e.jsx(c,{}),e.jsx(c,{}),e.jsx(c,{})]})})}):h?e.jsx(r,{blockType:"event-list",children:e.jsx("div",{className:"es-block__body",children:e.jsxs("div",{className:"es-evlist__error",role:"alert",children:[e.jsx("span",{className:"es-evlist__error-icon","aria-hidden":"true",children:"⚠"}),e.jsx("span",{children:i("event_list.error")}),e.jsx("button",{type:"button",className:"es-evlist__retry",onClick:()=>s.refresh(),children:i("event_list.retry")})]})})}):d.length===0?e.jsx(r,{blockType:"event-list",children:e.jsx("div",{className:"es-block__body",children:e.jsxs("div",{className:"es-evlist__empty",children:[e.jsx("span",{className:"es-evlist__empty-icon","aria-hidden":"true",children:"📅"}),e.jsx("span",{className:"es-evlist__empty-text",children:i("event_list.empty")})]})})}):e.jsx(r,{blockType:"event-list",children:e.jsx("div",{className:"es-block__body",children:e.jsx("ul",{className:"es-evlist__items",role:"list","aria-label":i("event_list.aria_list_label"),children:d.map((t,o)=>{const m=t.id!=null&&t.id===g;return e.jsx("li",{className:`es-evlist__item${m?" es-evlist__item--highlighted":""}`,onMouseEnter:()=>y(t.id),onMouseLeave:f,onClick:()=>v(t),onKeyDown:a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),v(t))},tabIndex:0,role:"button","aria-pressed":m,children:e.jsxs("div",{className:"es-evlist__item-content",children:[e.jsxs("div",{className:"es-evlist__header",children:[e.jsx("span",{className:"es-evlist__title",children:t.title}),t.isFree&&e.jsx("span",{className:"es-evlist__badge es-evlist__badge--free",children:i("event_list.free")})]}),e.jsxs("div",{className:"es-evlist__meta",children:[t.date&&e.jsxs("span",{className:"es-evlist__date","aria-label":t.date,children:[e.jsx("span",{className:"es-evlist__meta-icon","aria-hidden":"true",children:"🗓"}),j(t.date,_)]}),t.location&&e.jsxs("span",{className:"es-evlist__location",children:[e.jsx("span",{className:"es-evlist__meta-icon","aria-hidden":"true",children:"📍"}),t.location]})]}),t.url&&e.jsxs("a",{href:t.url,className:"es-evlist__cta",target:"_blank",rel:"noopener noreferrer","aria-label":`${i("event_list.view_details")}: ${t.title}`,onClick:a=>a.stopPropagation(),children:[i("event_list.view_details")," →"]})]})},t.id??o)})})})})}export{k as Component,N as manifest};
|
|
2
|
+
//# sourceMappingURL=index-Chy2Zmo5-CiRb-0NX.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as b,r as s,j as e,Q as k}from"../nexly.js";const v={slug:"knowledge-search",name:"Knowledge Search",version:"1.0.0",category:"interactive",requiredService:"knowledge-search",configSchema:{properties:{readAloudEnabled:{type:"boolean",default:!1},maxResults:{type:"number",default:5},minScore:{type:"number",default:.7},placeholder:{type:"string",default:""}}},defaultConfig:{readAloudEnabled:!1,maxResults:5,minScore:.7,placeholder:""},dataContract:{serviceSlug:"knowledge-search",inputSchema:{type:"object",properties:{query:{type:"string",description:"Search query entered by user"},results:{type:"array",items:{type:"object",properties:{title:{type:"string"},excerpt:{type:"string"},score:{type:"number"},url:{type:"string"}}}},totalFound:{type:"number"}},required:["results"]},previewDataOverride:{query:"return policy",results:[{title:"Return & Refund Policy",excerpt:"You may return any item within 30 days of purchase for a full refund.",score:.94,url:"/faq/returns"},{title:"Exchange Policy",excerpt:"Exchanges are accepted within 60 days with original receipt.",score:.81,url:"/faq/exchange"},{title:"Damaged Item Returns",excerpt:"For damaged items, please contact support within 7 days.",score:.75,url:"/faq/damaged"}],totalFound:3}},fields:[{id:"readAloudEnabled",type:"toggle",label:"Read this panel aloud",default:!1,group:"Voice"},{id:"maxResults",type:"range",label:"Max results",default:5,min:1,max:20,step:1,group:"Search"},{id:"minScore",type:"range",label:"Minimum relevance score",default:.7,min:.1,max:1,step:.05,group:"Search"},{id:"placeholder",type:"localized-text",label:"Search placeholder",default:"",placeholder:'Leave empty to use translated default (e.g. "Search knowledge base...")',group:"Content"},{id:"model",type:"text",label:"AI model",default:"gpt-4o-mini",placeholder:"e.g. gpt-4o-mini, gpt-4o",group:"AI"}],events:{emits:[{name:"search:querySubmitted",description:"User submitted a search query"},{name:"search:resultSelected",description:"User clicked on a search result"}],listens:[{name:"search:clear",description:"Clear search results and query"}]},sizing:{minWidth:240,preferredHeight:"auto",scrollable:!1},supportedPlacements:["main"]};function j({config:m,actions:o,i18n:d}){const t=d?.t??(a=>a),g=d?.currentLanguage??"en",y=b(m.placeholder,g,{t,fallbackKey:"knowledge_search.placeholder",enDefault:"Search knowledge base..."}),[l,u]=s.useState(""),[n,f]=s.useState(null),[p,c]=s.useState(null),[r,h]=s.useState(!1),i=s.useCallback(async()=>{const a=l.trim();if(!(!a||r)){f(a),c(null),u(""),h(!0);try{const _=await o.call("search",{query:a});c(_?.answer??null)}catch{c(t("knowledge_search.error"))}finally{h(!1)}}},[l,r,o,t]),x=s.useCallback(a=>{a.key==="Enter"&&(a.preventDefault(),i())},[i]);return e.jsxs(k,{blockType:"knowledge-search",children:[e.jsx("div",{className:"es-block__header",children:e.jsxs("div",{className:"es-ksearch__input-row",children:[e.jsx("input",{className:"es-ksearch__input",type:"text",value:l,onChange:a=>u(a.target.value),onKeyDown:x,placeholder:y}),e.jsx("button",{className:"es-ksearch__btn",onClick:i,disabled:!l.trim()||r,type:"button",children:t("knowledge_search.search_btn")})]})}),e.jsxs("div",{className:"es-block__body",children:[r&&e.jsxs("div",{className:"es-ksearch__loading",children:[e.jsx("div",{className:"es-ksearch__loading-question",children:n}),e.jsxs("div",{className:"es-ksearch__loading-indicator",children:[e.jsx("span",{className:"es-ksearch__dot"}),e.jsx("span",{className:"es-ksearch__dot"}),e.jsx("span",{className:"es-ksearch__dot"})]}),e.jsx("div",{className:"es-ksearch__loading-text",children:t("knowledge_search.generating")})]}),!r&&n&&p&&e.jsxs("div",{className:"es-ksearch__answer-section",children:[e.jsx("div",{className:"es-ksearch__question",children:n}),e.jsx("div",{className:"es-ksearch__answer",children:p})]})]})]})}export{j as Component,v as manifest};
|
|
2
|
+
//# sourceMappingURL=index-CmYYEi7N-Dr1V6OGz.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as h,j as e,Q as g,o as M}from"../nexly.js";import{C as L}from"./block-rating-DH7mp-_R-CoiP5C2K.js";const A={slug:"social-insights",name:"Social Insights",version:"1.0.0",category:"data",requiredService:"social-insights",configSchema:{properties:{readAloudEnabled:{type:"boolean",default:!1},proMode:{type:"boolean",default:!1},maxEvents:{type:"number",default:2},showCrmPlan:{type:"boolean",default:!0},showConversationTips:{type:"boolean",default:!1}}},defaultConfig:{readAloudEnabled:!1,proMode:!1,maxEvents:2,showCrmPlan:!0,showConversationTips:!1},sizing:{minWidth:240,preferredHeight:"auto",scrollable:!0},dataContract:{serviceSlug:"social-insights",inputSchema:{type:"object",properties:{eventIntelligence:{type:"object",properties:{scoredEvents:{type:"array",items:{type:"object",properties:{eventName:{type:"string"},conversionScore:{type:"number"}}}},recommendedEvent:{type:"object",properties:{eventName:{type:"string"},missionGoal:{type:"string"}}}}},eventMissionBrief:{type:"object",properties:{conversationOpeners:{type:"array",items:{type:"string"}},qualificationQuestions:{type:"array",items:{type:"string"}},positioningStatement:{type:"string"}}},crmExecutionPlan:{type:"object",properties:{leadPipelineStructure:{type:"string"},recommendedDailyOutreachVolume:{type:"number"},messageTemplates:{type:"object",properties:{firstContact:{type:"string"},followup48h:{type:"string"}}}}},weeklySocialStrategy:{type:"object",properties:{mainObjectiveThisWeek:{type:"string"},numericTarget:{type:"string"}}}}},previewDataOverride:{eventIntelligence:{scoredEvents:[{eventName:"Seoul Tech & Crypto Meetup",category:"Networking",conversionScore:92,whyRelevant:"High density of crypto-curious professionals matching your target profile.",targetProfile:"Tech professionals aged 28–42",priorityLevel:"high"},{eventName:"Gangnam Business Luncheon",category:"Business Networking",conversionScore:74,whyRelevant:"Established entrepreneurs with disposable income open to investment opportunities.",targetProfile:"SME owners and executives",priorityLevel:"medium"},{eventName:"Online MLM Success Webinar",category:"Industry",conversionScore:61,whyRelevant:"Pre-qualified audience already interested in network marketing.",targetProfile:"MLM beginners and career changers",priorityLevel:"medium"}],recommendedEvent:{eventName:"Seoul Tech & Crypto Meetup",missionGoal:"Connect with 5 warm prospects and set 2 follow-up calls",contactsTarget:5,followupTarget:2}},eventMissionBrief:{conversationOpeners:["What brings you to the crypto/tech space?","Have you been following the recent Bitcoin surge?"],qualificationQuestions:["Are you currently looking for passive income opportunities?","What's your experience with network marketing?"],positioningStatement:"I help people build financial freedom through crypto-backed network marketing.",whatNotToSay:["Don't mention specific income figures in the first meeting."]},crmExecutionPlan:{leadPipelineStructure:"Prospect → First Contact → Follow-up (48h) → Meeting → Close",recommendedDailyOutreachVolume:8,followupIntervalsHours:48,messageTemplates:{firstContact:"Hi [Name], great meeting you at the Seoul meetup! I'd love to share something exciting with you — when's a good time for a 15-min call?",followup48h:"Hi [Name], just following up on my message. I have some insights about [topic we discussed] that I think you'll find valuable.",postEventMessage:"Thanks for connecting at [event]! Let me know if you're open to exploring what I mentioned."}},weeklySocialStrategy:{mainObjectiveThisWeek:"Qualify 10 new prospects from event pipeline",numericTarget:"10 new prospects, 3 follow-up calls",structureAlignmentGoal:"Focus on right leg to balance binary structure",riskMitigationFocus:"Avoid cap waste by ensuring team volume is distributed evenly"}}},fields:[{id:"readAloudEnabled",type:"toggle",label:"Read this panel aloud",default:!1,group:"Voice"},{id:"proMode",type:"toggle",label:"Pro mode (full strategy details)",default:!1,group:"Display"},{id:"maxEvents",type:"range",label:"Max events shown",default:2,min:1,max:5,step:1,group:"Display"},{id:"showCrmPlan",type:"toggle",label:"Show CRM outreach plan",default:!0,group:"Display"},{id:"showConversationTips",type:"toggle",label:"Show conversation tips (pro)",default:!1,group:"Display"}],events:{emits:[{name:"social:eventSelected",description:"User selected an event to attend"},{name:"social:templateCopied",description:"User copied a message template"},{name:"chat:draft",description:"Seed the chat composer with a draft message + quick-reply chips"}],listens:[{name:"social:refresh",description:"Force refresh social insights"}]},supportedPlacements:["main","sidebar"]},j={high:0,medium:1,low:2};function v({text:s,prefix:a,onCopy:l,t:o}){const[t,d]=h.useState(!1),p=h.useRef(null),u=h.useCallback(()=>{l(s),d(!0),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>d(!1),1200)},[l,s]);return h.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]),e.jsxs("div",{className:`es-si__copyable${t?" es-si__copyable--copied":""}`,onClick:u,role:"button",tabIndex:0,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),u())},"aria-label":o(t?"social_insights.copied":"social_insights.tap_to_copy"),title:o("social_insights.tap_to_copy"),children:[a&&e.jsx("span",{className:"es-si__copyable-prefix",children:a}),e.jsx("span",{className:"es-si__copyable-text",children:s})]})}function P({total:s,high:a,medium:l,t:o}){return e.jsxs("div",{className:"es-si__stats",children:[e.jsxs("div",{className:"es-si__stat",children:[e.jsx("div",{className:"es-si__stat-n",children:s}),e.jsx("div",{className:"es-si__stat-l",children:o("social_insights.stat_events")})]}),e.jsxs("div",{className:"es-si__stat",children:[e.jsx("div",{className:"es-si__stat-n es-si__stat-n--high",children:a}),e.jsx("div",{className:"es-si__stat-l",children:o("social_insights.stat_high")})]}),e.jsxs("div",{className:"es-si__stat",children:[e.jsx("div",{className:"es-si__stat-n es-si__stat-n--medium",children:l}),e.jsx("div",{className:"es-si__stat-l",children:o("social_insights.stat_medium")})]})]})}function I({card:s,selected:a,onSelect:l,t:o}){return e.jsxs("div",{className:`es-si__row${a?" es-si__row--active":""}`,onClick:l,role:"button",tabIndex:0,"aria-pressed":a,onKeyDown:t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),l())},children:[e.jsx("span",{className:`es-si__dot es-si__dot--${s.priorityLevel}`,role:"img","aria-label":o(`social_insights.priority_${s.priorityLevel}`)}),e.jsxs("div",{className:"es-si__row-body",children:[e.jsx("div",{className:"es-si__row-name",children:s.eventName}),e.jsx("div",{className:"es-si__row-why",children:s.whyThisEventMatters})]}),e.jsx("span",{className:"es-si__row-go","aria-hidden":"true",children:o("social_insights.focus_cta")})]})}function D({card:s,onCopy:a,onTalkToGaio:l,hasChatView:o,t}){const d=s.conversationOpeners?.[0];return e.jsxs("div",{className:"es-si__focus",children:[e.jsxs("div",{className:"es-si__focus-tag",children:[e.jsx("span",{"aria-hidden":"true",children:"★"})," ",t("social_insights.focus_play")," ·"," ",e.jsx("span",{className:"es-si__focus-cat",children:s.category})]}),e.jsx("div",{className:"es-si__focus-name",children:s.eventName}),e.jsx("div",{className:"es-si__focus-profile",children:s.targetProfile}),e.jsxs("div",{className:"es-si__detail-label",children:[e.jsx("span",{"aria-hidden":"true",children:"👁"})," ",t("social_insights.spot_them")]}),e.jsx("div",{className:"es-si__detail-text es-si__detail-text--muted",children:s.howToSpotThem}),d&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"es-si__detail-label",children:[e.jsx("span",{"aria-hidden":"true",children:"💬"})," ",t("social_insights.best_opener")]}),e.jsx(v,{text:d,onCopy:a,t})]}),e.jsxs("div",{className:"es-si__detail-label",children:[e.jsx("span",{"aria-hidden":"true",children:"🌉"})," ",t("social_insights.bridge")]}),e.jsx(v,{text:s.bridgeLine,onCopy:a,t}),e.jsxs("div",{className:"es-si__detail-label",children:[e.jsx("span",{"aria-hidden":"true",children:"📩"})," ",t("social_insights.followup_48h")]}),e.jsx(v,{text:s.followUp48h,onCopy:a,t}),e.jsxs("div",{className:"es-si__focus-warn",children:[e.jsx("div",{className:"es-si__detail-label es-si__detail-label--warn",children:t("social_insights.do_not_say")}),e.jsx("div",{className:"es-si__detail-text",children:s.doNotSay})]}),o&&e.jsx("div",{className:"es-si__gaio-row",children:e.jsxs("button",{type:"button",className:"es-si__gaio-link","aria-label":t("social_insights.gaio.aria",{event:s.eventName}),onClick:()=>l(s),children:[e.jsx("span",{"aria-hidden":"true",children:"💬"})," ",t("social_insights.talk_to_gaio")]})})]})}function F({data:s,actions:a,metadata:l,i18n:o,baseUrl:t,externalContext:d,auth:p,previewMode:u}){const i=o?.t??(n=>n),_=s,b=s.promptLogId,w=d?.apiKey??"",N=d?.hasChatView===!0,[y,k]=h.useState(0),C=h.useCallback(n=>{navigator.clipboard?.writeText(n).catch(()=>{}),a.emit("social:templateCopied",{text:n})},[a]),S=h.useCallback(n=>{const c=n.eventName;a.emit("chat:draft",{message:i("social_insights.gaio_draft",{event:c,why:n.whyThisEventMatters}),autoSend:!1,quickChips:[{label:i("social_insights.gaio.chip.plan"),message:i("social_insights.gaio.chip.plan_msg",{event:c}),autoSend:!0},{label:i("social_insights.gaio.chip.opener"),message:i("social_insights.gaio.chip.opener_msg",{event:c}),autoSend:!0},{label:i("social_insights.gaio.chip.target"),message:i("social_insights.gaio.chip.target_msg",{event:c}),autoSend:!0},{label:i("social_insights.gaio.chip.other"),message:"",autoSend:!1}]})},[a,i]);if(!_.events&&!s.error)return e.jsx(g,{blockType:"social-insights",children:e.jsx("div",{className:"es-block__body",children:e.jsx("div",{className:"es-si__loading",children:l?.dataQuality==="none"?i("social_insights.sign_in_prompt"):i("social_insights.gathering_events")})})});if(s.error)return e.jsx(g,{blockType:"social-insights",error:M(s.error)});const r=[..._.events??[]].sort((n,c)=>j[n.priorityLevel]-j[c.priorityLevel]),m=_.quietWeek,T=r.filter(n=>n.priorityLevel==="high").length,E=r.filter(n=>n.priorityLevel==="medium").length,x=y<r.length?y:0,f=r[x];return e.jsx(g,{blockType:"social-insights",children:e.jsxs("div",{className:"es-block__body",children:[e.jsx(L,{promptLogId:b,baseUrl:t,apiKey:w,jwt:p?.jwt,previewMode:u,t:i}),r.length>0&&e.jsx(P,{total:r.length,high:T,medium:E,t:i}),r.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"es-si__section-head",children:[e.jsx("span",{className:"es-si__section-title",children:i("social_insights.ranked_events")}),e.jsx("span",{className:"es-si__section-hint",children:i("social_insights.tap_to_focus")})]}),e.jsx("div",{className:"es-si__list",role:"list","aria-label":i("social_insights.ranked_events"),children:r.map((n,c)=>e.jsx(I,{card:n,selected:c===x,onSelect:()=>k(c),t:i},`${n.eventName}-${c}`))}),f&&e.jsx(D,{card:f,onCopy:C,onTalkToGaio:S,hasChatView:N,t:i})]}),r.length===0&&m&&e.jsxs("div",{className:"es-si__quiet-week",children:[e.jsx("div",{className:"es-si__quiet-week-headline",children:m.headline}),e.jsxs("div",{className:"es-si__detail-section",children:[e.jsx("div",{className:"es-si__detail-label",children:i("social_insights.downline_focus")}),e.jsx("div",{className:"es-si__detail-text",children:m.downlineActivationTarget})]}),e.jsxs("div",{className:"es-si__detail-section",children:[e.jsx("div",{className:"es-si__detail-label",children:i("social_insights.warm_network_action")}),e.jsx("div",{className:"es-si__detail-text",children:m.warmNetworkAction})]}),e.jsxs("div",{className:"es-si__detail-section",children:[e.jsx("div",{className:"es-si__detail-label",children:i("social_insights.online_conversation")}),e.jsx("div",{className:"es-si__detail-text",children:m.onlineConversationPrompt})]})]}),_.complianceNote&&(r.length>0||m)&&e.jsxs("div",{className:"es-si__compliance",role:"note",children:[e.jsx("span",{className:"es-si__compliance-icon","aria-hidden":"true",children:"⚠"}),e.jsxs("span",{className:"es-si__compliance-text",children:[e.jsxs("span",{className:"es-si__compliance-label",children:[i("social_insights.compliance_label"),":"]})," ",_.complianceNote]})]})]})})}export{F as Component,A as manifest};
|
|
2
|
+
//# sourceMappingURL=index-CqV8rHvG-DS9JaGVN.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{w as B,p as T,f as O,x as E,A as W,S as G,O as X}from"./accent-legibility-BJF2VO5n-CDPQ7suO.js";import{H as J,r as j,j as s,d as K}from"../nexly.js";const Q=4.5,x="#3B6FD4",Z={"--ai-bg":"#FFFFFF","--ai-bg-elevated":"#F9FAFB","--ai-bg-card":"#F3F4F6","--ai-bg-input":"#FFFFFF","--ai-bg-footer":"#F9FAFB","--ai-fg":"#111827","--ai-fg-secondary":"#374151","--ai-muted":"#4B5563","--ai-muted-dim":"#6B7280","--ai-border":"#E5E7EB","--ai-border-subtle":"#F3F4F6","--ai-assistant-bubble":"#F3F4F6","--ai-assistant-bubble-fg":"#111827","--ai-shadow":"0 20px 60px -15px rgba(15, 23, 42, 0.25)","--ai-success":"#00672B","--ai-warning":"#9C5300","--ai-error":"#AD2C26","--ai-info":"#03669D","--es-color-surface":"#FFFFFF","--es-color-surface-elevated":"#F9FAFB","--es-color-surface-hover":"#F3F4F6","--es-color-on-surface":"#111827","--es-color-on-surface-muted":"#4B5563","--es-color-border":"#E5E7EB","--es-color-control-border":"#6B7280","--es-color-error":"#AD2C26","--es-color-success":"#00672B","--es-color-on-success":"#FFFFFF"},ee={"--ai-bg":"#0F1115","--ai-bg-elevated":"#171A20","--ai-bg-card":"#171A20","--ai-bg-input":"#0F1115","--ai-bg-footer":"#0F1115","--ai-fg":"#F3F4F6","--ai-fg-secondary":"#D1D5DB","--ai-muted":"#9CA3AF","--ai-muted-dim":"#6B7280","--ai-border":"#252A33","--ai-border-subtle":"#1B1F26","--ai-assistant-bubble":"#171A20","--ai-assistant-bubble-fg":"#F3F4F6","--ai-shadow":"0 20px 60px -15px rgba(0, 0, 0, 0.7)","--ai-success":"#4ADE80","--ai-warning":"#FACC15","--ai-error":"#F87171","--ai-info":"#38BDF8","--es-color-surface":"#0F1115","--es-color-surface-elevated":"#171A20","--es-color-surface-hover":"#252A33","--es-color-on-surface":"#F3F4F6","--es-color-on-surface-muted":"#9CA3AF","--es-color-border":"#252A33","--es-color-control-border":"#6B7280","--es-color-error":"#F87171","--es-color-success":"#4ADE80","--es-color-on-success":"#0F1115"};function Y(e){const a=X("#FFFFFF",e),r=X("#000000",e);return a>=r?"#FFFFFF":"#000000"}function ae(e){const[a,r,o]=O(e),t=G(e)<.2?28:-28;return T([Math.max(0,Math.min(255,a+t)),Math.max(0,Math.min(255,r+t)),Math.max(0,Math.min(255,o+t))])}function L({brandColor:e,mode:a}){const r=a==="light"?Z:ee,o=e&&B(e)?e:x,t=T(O(o)),l=Y(t),f={ai:["--ai-bg","--ai-bg-elevated","--ai-bg-card","--ai-bg-input","--ai-bg-sidebar","--ai-bg-footer"],es:["--es-color-surface","--es-color-surface-elevated","--es-color-surface-hover"]},w=(C,c)=>{const g=new Set([c]);for(const S of f[C]){const b=r[S];typeof b=="string"&&B(b)&&g.add(b)}return[...g]},p=E({accent:t,surface:w("ai",r["--ai-bg-card"]),backdrop:r["--ai-bg"],tintAlpha:a==="light"?.08:.12,mode:a}),m=E({accent:t,surface:w("es",r["--es-color-surface-elevated"]),backdrop:r["--es-color-surface"],tintAlpha:a==="light"?.08:.12,mode:a}),u=W(t,w("es",r["--es-color-surface"]),Q,a);return{...r,"--ai-accent":t,"--ai-accent-fg":l,"--ai-accent-hover":ae(t),"--ai-accent-subtle":p.tint,"--ai-accent-on-subtle":p.onTint,"--ai-accent-on-subtle-strong":p.onStrongTint,"--ai-accent-border":p.boundary,"--ai-user-bubble":t,"--ai-user-bubble-fg":l,"--ai-scrollbar":t,"--es-color-primary":u,"--es-color-on-primary":Y(u),"--es-color-primary-muted":m.tint,"--es-color-primary-on-muted":m.onTint,"--es-color-interactive":u}}const ge=L({brandColor:x,mode:"light"}),be=L({brandColor:x,mode:"dark"}),n={shape:"--es-demo-launcher-shape",width:"--es-demo-launcher-width",height:"--es-demo-launcher-height",radius:"--es-demo-launcher-radius",background:"--es-demo-launcher-background",shadow:"--es-demo-launcher-shadow",padding:"--es-demo-launcher-padding",offsetX:"--es-demo-launcher-offset-x",offsetY:"--es-demo-launcher-offset-y"},i={width:{min:32,max:240,step:2},height:{min:32,max:240,step:2},radius:{min:0,max:64,step:1},padding:{min:0,max:32,step:1},offsetX:{min:0,max:240,step:2},offsetY:{min:0,max:240,step:2}},H=8,re=8,oe=.6,d={shape:"pill",width:56,height:56,radius:12,background:"accent",shadow:!0,padding:0,offsetX:20,offsetY:20},se=new Set(["pill","circle","square","rectangle"]),te=new Set(["accent","neutral","none"]);function ne(e){if(typeof e!="string")return;const a=/^\s*(-?\d+(?:\.\d+)?)\s*(?:px)?\s*$/i.exec(e);if(!a)return;const r=Number(a[1]);return Number.isFinite(r)?r:void 0}function F(e,a,r){const o=ne(e);return o===void 0?r:Math.min(a.max,Math.max(a.min,o))}function R(e,a,r){if(typeof e!="string")return r;const o=e.trim().toLowerCase();return a.has(o)?o:r}function ie(e,a){if(typeof e!="string")return a;const r=e.trim().toLowerCase();return r==="true"||r==="1"?!0:r==="false"||r==="0"?!1:a}function U(e){const a=e.shape==="circle"||e.shape==="square";return{width:e.width,height:a?e.width:e.height}}function le(e,a,r,o){if(e==="pill")return o;const t=Math.max(0,Math.floor((Math.min(r.width,r.height)-H)/2)),l=a==="accent"?Math.min(re,t):0;return Math.min(t,Math.max(l,o))}function ce(e){const a=e??{},r=d,o=R(a[n.shape],se,r.shape),t=R(a[n.background],te,r.background),l=F(a[n.width],i.width,r.width),f=F(a[n.height],i.height,r.height);return{shape:o,width:l,height:f,radius:F(a[n.radius],i.radius,r.radius),background:t,shadow:ie(a[n.shadow],r.shadow),padding:le(o,t,U({shape:o,width:l,height:f}),F(a[n.padding],i.padding,r.padding)),offsetX:F(a[n.offsetX],i.offsetX,r.offsetX),offsetY:F(a[n.offsetY],i.offsetY,r.offsetY)}}const N={accent:"var(--ai-accent)",neutral:"var(--ai-bg)",none:"transparent"};function de(e){const{width:a,height:r}=U(e),o=e.shape==="circle"?"50%":e.shape==="pill"?"calc(var(--es-demo-launcher-h) / 2)":`${e.radius}px`;return{"--es-demo-launcher-w":`${a}px`,"--es-demo-launcher-h":`${r}px`,"--es-demo-launcher-radius":o,"--es-demo-launcher-bg":N[e.background],"--es-demo-launcher-dot-ring":e.background==="none"?N.neutral:N[e.background],"--es-demo-launcher-shadow":e.shadow?"var(--ai-shadow)":"none","--es-demo-launcher-pad":`${e.padding}px`,"--es-demo-launcher-coin":`${oe}`,"--es-demo-launcher-mark-min":`${H}px`,"--es-demo-launcher-x":`${e.offsetX}px`,"--es-demo-launcher-y":`${e.offsetY}px`}}const Fe={slug:"demo",name:"Demo",version:"0.1.0",slots:["header","main","footer"],cssVariables:{"--ai-accent":x},structure:{header:{id:"header",label:"Header",accepts:!0},main:{id:"main",label:"Main Content",accepts:!0},footer:{id:"footer",label:"Footer",accepts:!0}},defaultViews:[],requiredServices:["support-chat"],description:"Neutral, brand-adaptive shell for demo clones. Carries no mascot and no brand of its own: the logo, name and accent colour all come from the product, and the rest of the palette is derived around them so it stays legible for any input.",author:"E-Commerce Studio",packageName:"@ecommerce-studio/theme-demo",options:[{id:"colorScheme",type:"select",label:"Appearance mode",default:"auto",group:"Appearance",options:[{label:"Auto (match visitor)",value:"auto"},{label:"Light",value:"light"},{label:"Dark",value:"dark"}]},{id:"brandColor",type:"color",label:"Brand colour",default:x,cssVariable:"--ai-accent",group:"Colors"},{id:"launcherShape",type:"select",label:"Button shape",default:d.shape,cssVariable:n.shape,group:"Launcher",options:[{label:"Pill (wordmark on a chip)",value:"pill"},{label:"Circle",value:"circle"},{label:"Square",value:"square"},{label:"Rectangle",value:"rectangle"}]},{id:"launcherWidth",type:"range",label:"Width (side for circle / square)",default:d.width,unit:"px",cssVariable:n.width,group:"Launcher",...i.width},{id:"launcherHeight",type:"range",label:"Height (pill / rectangle)",default:d.height,unit:"px",cssVariable:n.height,group:"Launcher",...i.height},{id:"launcherRadius",type:"range",label:"Corner radius (square / rectangle)",default:d.radius,unit:"px",cssVariable:n.radius,group:"Launcher",...i.radius},{id:"launcherBackground",type:"select",label:"Background",default:d.background,cssVariable:n.background,group:"Launcher",options:[{label:"Brand colour",value:"accent"},{label:"Neutral",value:"neutral"},{label:"None (transparent)",value:"none"}]},{id:"launcherShadow",type:"toggle",label:"Shadow",default:d.shadow,cssVariable:n.shadow,group:"Launcher"},{id:"launcherPadding",type:"range",label:"Logo padding",default:d.padding,unit:"px",cssVariable:n.padding,group:"Launcher",...i.padding},{id:"launcherOffsetX",type:"range",label:"Distance from side",default:d.offsetX,unit:"px",cssVariable:n.offsetX,group:"Launcher",...i.offsetX},{id:"launcherOffsetY",type:"range",label:"Distance from bottom",default:d.offsetY,unit:"px",cssVariable:n.offsetY,group:"Launcher",...i.offsetY}],supports:{customCss:!1,customJs:!1,darkMode:!0,rtl:!1,views:!0}};function ue(e){const a=[e?.["--ai-accent"],e?.["--es-color-primary"]];for(const r of a)if(typeof r=="string"&&B(r))return r;return x}function he(e){const a=(e??"").trim().split(/\s+/).filter(Boolean);return a.length===0?"":a.slice(0,2).map(r=>[...r][0]??"").join("").toLocaleUpperCase()}function xe({brandName:e="",logoUrl:a,position:r="bottom-right",sidebarPosition:o="right",initialOpen:t=!1,views:l=[],activeView:f="",onViewChange:w=()=>{},children:p=null,cssVariables:m,t:u,colorScheme:C,builderMode:c=!1,unreadCount:g=0,onSettingsClick:S,onOpenChange:b,panelReadAloudControl:q}){const A=J(C)==="light"?"light":"dark",[_,M]=j.useState(t||c),y=j.useMemo(()=>ce(m),[m]),P=j.useMemo(()=>({...L({brandColor:ue(m),mode:A}),...de(y),...c?{width:"100%",height:"100%"}:{}}),[m,y,A,c]),I=()=>M(h=>{const v=!h;return b?.(v),v}),z=()=>{M(!1),b?.(!1)},D=r==="bottom-left",V=o!=="hidden"&&l.length>1,k=he(e);return s.jsxs("div",{className:["es-demo",`es-demo--${A}`].join(" "),style:P,children:[!c&&s.jsxs("button",{type:"button",className:["es-demo__launcher",`es-demo__launcher--${y.shape}`,`es-demo__launcher--bg-${y.background}`,D&&"es-demo__launcher--left",_&&"es-demo__launcher--hidden"].filter(Boolean).join(" "),onClick:I,"aria-label":u?.("floating.open_widget")??"Open chat widget",tabIndex:_?-1:0,"aria-hidden":_,children:[a?s.jsx("img",{className:"es-demo__launcher-logo",src:a,alt:""}):s.jsx("span",{className:"es-demo__launcher-monogram","aria-hidden":"true",children:k||"•"}),g>0&&s.jsx("span",{className:"es-demo__launcher-dot","aria-label":u?.("floating.unread",{count:g})??`${g} unread`})]}),s.jsxs("div",{className:["es-demo__panel",D&&!c&&"es-demo__panel--left",(_||c)&&"es-demo__panel--open"].filter(Boolean).join(" "),role:"dialog","aria-label":u?.("chat.widget_aria")??"Chat widget","aria-hidden":c?!1:!_,children:[s.jsxs("header",{className:"es-demo__header",children:[s.jsxs("div",{className:"es-demo__brand",children:[a?s.jsx("img",{className:"es-demo__brand-logo",src:a,alt:""}):k&&s.jsx("span",{className:"es-demo__brand-monogram","aria-hidden":"true",children:k}),e&&s.jsx("h1",{className:"es-demo__brand-name",children:e})]}),s.jsxs("div",{className:"es-demo__header-actions",children:[q,!c&&s.jsx("button",{type:"button",className:"es-demo__header-btn",onClick:z,"aria-label":u?.("header.close_widget")??"Close widget",children:s.jsx(me,{})})]})]}),s.jsxs("div",{className:["es-demo__body",V&&`es-demo__body--rail-${o}`].filter(Boolean).join(" "),children:[V&&s.jsx("nav",{className:`es-demo__rail es-demo__rail--${o}`,"aria-label":u?.("nav.views")??"Views",children:l.map(h=>{const v=K(h.icon||h.slug),$=h.slug===f;return s.jsxs("button",{type:"button",className:["es-demo__rail-item",$&&"es-demo__rail-item--active"].filter(Boolean).join(" "),onClick:()=>w(h.slug),"aria-current":$?"page":void 0,title:h.label,children:[v?s.jsx(v,{size:20}):null,s.jsx("span",{className:"es-demo__rail-label",children:h.label})]},h.slug)})}),s.jsx("main",{className:"es-demo__content",style:{containerName:"es-slot",containerType:"inline-size"},children:p})]})]})]})}function me({size:e=20}){return s.jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:s.jsx("path",{d:"m6 9 6 6 6-6"})})}export{x as DEFAULT_BRAND,d as LAUNCHER_DEFAULTS,i as LAUNCHER_LIMITS,n as LAUNCHER_VARS,Q as TEXT_FLOOR,xe as ThemeShell,be as darkVariables,L as deriveDemoPalette,ae as hoverStep,Y as inkOn,de as launcherRootStyle,ge as lightVariables,Fe as manifest,he as monogram,ce as resolveLauncherSettings};
|
|
2
|
+
//# sourceMappingURL=index-CwbUW6dx-BLBDoJCM.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as p,j as e,Q as n}from"../nexly.js";const a=o=>`$${o.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0})}`;function M({data:o,config:h,actions:l,metadata:x,i18n:j}){const s=j?.t??(i=>i),u=h.mode??o.mode??"basic",c=o.forecast,t=o.aiTip,[m,d]=p.useState("idle"),[N,b]=p.useState(!1);if(!c&&!o.error)return e.jsx(n,{blockType:"commission-forecast",children:e.jsx("div",{className:"cf-block",children:e.jsxs("div",{className:"cf-hero",children:[e.jsx("div",{className:"cf-hero-label",children:s("commission_forecast.estimated_commission")}),e.jsx("div",{className:"cf-hero-amount",style:{color:"var(--es-color-on-surface-muted, #4B5563)"},children:"—"}),e.jsx("div",{className:"cf-hero-sub",style:{color:"var(--es-color-on-surface-muted, #4B5563)"},children:x?.dataQuality==="none"?s("commission_forecast.signin_prompt"):s("commission_forecast.calculating")})]})})});if(o.error||!c)return e.jsx(n,{blockType:"commission-forecast",children:e.jsx("p",{style:{color:"var(--es-color-error, #AD2C26)",fontSize:13},children:s("commission_forecast.load_error")})});const r=c.deltaVsLastMonth,v=c.projectedMonthEnd>0?Math.min(100,Math.round(c.totalEstimated/c.projectedMonthEnd*100)):0,_=Math.round((c.scenarioOneMember-c.projectedMonthEnd)/Math.max(1,c.projectedMonthEnd)*100),g=()=>{t&&(navigator.clipboard.writeText(t).catch(()=>{}),d("copied"),l?.emit?.("cf:tipCopied",{tip:t}),setTimeout(()=>d("idle"),2e3))},f=()=>{b(!0),l?.emit?.("cf:scenarioViewed",{scenarioOneMember:c.scenarioOneMember})};return e.jsx(n,{blockType:"commission-forecast",children:e.jsxs("div",{className:"cf-block",children:[e.jsxs("div",{className:"cf-hero",children:[e.jsx("div",{className:"cf-hero-label",children:s("commission_forecast.estimated_commission")}),e.jsx("div",{className:"cf-hero-amount",children:a(c.totalEstimated)}),e.jsxs("div",{className:"cf-hero-sub",children:[e.jsxs("span",{children:[s("commission_forecast.projected_month_end_label")," ",e.jsx("strong",{children:a(c.projectedMonthEnd)})]}),r!==null&&e.jsxs("span",{className:`cf-delta-badge ${r>=0?"cf-delta--positive":"cf-delta--negative"}`,children:[r>=0?"↑":"↓"," ",a(Math.abs(r))," ",s("commission_forecast.vs_last_month")]})]})]}),e.jsxs("div",{className:"cf-forecast-row",children:[e.jsxs("div",{className:"cf-forecast-labels",children:[e.jsxs("span",{children:[s("commission_forecast.current_label")," ",a(c.totalEstimated)]}),e.jsxs("span",{children:[s("commission_forecast.target_label")," ",a(c.projectedMonthEnd)]})]}),e.jsx("div",{className:"cf-forecast-bar-track",children:e.jsx("div",{className:"cf-forecast-bar-fill",style:{width:`${v}%`}})}),e.jsx("div",{className:"cf-days-left",children:s("commission_forecast.days_left_run_rate",{days:c.daysLeft,rate:a(c.dailyRunRate)})})]}),e.jsxs("div",{className:"cf-scenario",onClick:f,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),f())},tabIndex:0,role:"button",children:[e.jsx("div",{className:"cf-scenario-label",children:s("commission_forecast.scenario_title")}),e.jsxs("div",{className:"cf-scenario-row",children:[e.jsx("span",{className:"cf-scenario-desc",children:s("commission_forecast.scenario_desc")}),e.jsx("span",{className:"cf-scenario-value",children:a(c.scenarioOneMember)})]}),e.jsx("div",{className:"cf-scenario-uplift",children:s("commission_forecast.uplift",{pct:_,amount:a(c.scenarioOneMember-c.projectedMonthEnd)})})]}),u==="pro"&&c.tiers.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"cf-section-title",children:s("commission_forecast.by_tier",{count:c.tiers.length})}),e.jsx("div",{className:"cf-tier-list",children:c.tiers.map(i=>e.jsxs("div",{className:`cf-tier${i.status==="unreachable"?" cf-tier--unreachable":""}`,children:[e.jsxs("div",{className:"cf-tier-header",children:[e.jsx("span",{className:"cf-tier-engine",children:s("commission_forecast.engine_number",{id:i.engineId})}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{className:`cf-tier-status cf-status--${i.status==="in progress"?"in-progress":"unreachable"}`,children:i.status==="in progress"?s("commission_forecast.status.in_progress"):s("commission_forecast.status.unreachable")}),e.jsx("span",{className:"cf-tier-amount",children:a(i.estimatedCommission)})]})]}),e.jsx("div",{className:"cf-tier-progress-track",children:e.jsx("div",{className:"cf-tier-progress-fill",style:{width:`${i.progressPct}%`}})}),e.jsxs("div",{className:"cf-tier-meta",children:[e.jsx("span",{children:s("commission_forecast.volume_label",{current:i.salesVolume.toLocaleString(),max:i.salesVolumeMax.toLocaleString()})}),e.jsx("span",{children:s("commission_forecast.points_label",{current:i.personalPoints,max:i.personalPointsMax})})]})]},i.engineId))})]}),t&&e.jsxs("div",{className:"cf-tip-box",children:[e.jsxs("div",{className:"cf-tip-header",children:[e.jsx("span",{className:"cf-tip-label",children:s("commission_forecast.ai_coach_label")}),e.jsx("button",{className:`cf-copy-btn${m==="copied"?" cf-copied":""}`,onClick:g,children:m==="copied"?`✓ ${s("common.copied")}`:s("common.copy")})]}),e.jsx("p",{className:"cf-tip-text",children:t})]})]})})}const k={slug:"commission-forecast",name:"Commission Forecast",version:"1.0.0",category:"data",requiredService:"commission-forecast",configSchema:{properties:{mode:{type:"string",default:"basic"}}},defaultConfig:{mode:"basic"},sizing:{minWidth:260,preferredHeight:"auto",scrollable:!0},supportedPlacements:["main","sidebar"],dataContract:{serviceSlug:"commission-forecast",inputSchema:{type:"object",properties:{forecast:{type:"object"},aiTip:{type:"string"},mode:{type:"string"}},required:["forecast","mode"]}},events:{emits:[{name:"cf:tipCopied",description:"User copied the AI commission tip"},{name:"cf:scenarioViewed",description:"User viewed the +1 member scenario projection"}]}};export{M as CommissionForecastBlock,M as Component,k as manifest};
|
|
2
|
+
//# sourceMappingURL=index-Czz6Gyh_-C3bBvEcm.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{r as s,j as t,a as kt,b as Te,Q as ts,_ as Ws,t as Xs}from"../nexly.js";import{H as Js,P as Vs}from"./use-deferred-rating-XlgCUwcY-DDVOwURi.js";import{j as Ys}from"./PanelInfoVideo-BKn3ucAb-BrU-Qlul.js";import{x as Zs,s as Gs,c as en,a as tn}from"./allowed-elements-BXnLJV1S-C-_lr2zm.js";import{f as sn}from"./assistant-link-components-MZWf5ty7-C44wlQAi.js";import{j as nn,X as an}from"./ClickToLoadEmbed-CDdotCS8-W2yBrg7b.js";import"./_commonjsHelpers-C6fGbg64-BC8KDfbh.js";import"./assistant-link-policy-DWaWTnGr-Cc-yj-a-.js";const ca={slug:"support-chat",name:"Support Chat",version:"1.0.0",category:"interactive",requiredService:"support-chat",configSchema:{properties:{voiceEnabled:{type:"boolean",default:!0},voiceConversationEnabled:{type:"boolean",default:!1},voiceReadAloudEnabled:{type:"boolean",default:!1},welcomeMessage:{type:"string",default:""},headerTitle:{type:"string",default:""},placeholder:{type:"string",default:""},showSuggestedQuestions:{type:"boolean",default:!0},suggestedQuestions:{type:"array",items:{type:"string"},default:[]},escalationLabel:{type:"string",default:""},humanHandoffButton:{type:"boolean",default:!1}}},defaultConfig:{voiceEnabled:!0,voiceConversationEnabled:!1,voiceReadAloudEnabled:!1,welcomeMessage:"",headerTitle:"",placeholder:"",showSuggestedQuestions:!0,suggestedQuestions:[],escalationLabel:"",humanHandoffButton:!1},dataContract:{serviceSlug:"support-chat",inputSchema:{type:"object",properties:{answer:{type:"string",description:"AI response text"},confidence:{type:"number",description:"Confidence score 0-1"},sources:{type:"array",items:{type:"object",properties:{title:{type:"string"},url:{type:"string"},excerpt:{type:"string"}}},description:"Source citations for the answer"}},required:["answer"]},previewDataOverride:{answer:"Our return policy allows returns within 30 days of purchase. Items must be in original condition with tags attached.",confidence:.85,sources:[{title:"Return Policy",url:"/policies/returns",excerpt:"Returns accepted within 30 days."}]}},fields:[{id:"voiceConversationEnabled",type:"toggle",label:"Voice conversation (live)",default:!1,group:"Voice"},{id:"voiceReadAloudEnabled",type:"toggle",label:"Read messages aloud",default:!1,group:"Voice"},{id:"headerTitle",type:"localized-text",label:"Header title",default:"",placeholder:'Leave empty to use translated default (e.g. "Support")',group:"Content"},{id:"welcomeMessage",type:"localized-text",label:"Welcome message",default:"",placeholder:'Leave empty to use translated default (e.g. "Hi! How can I help you today?")',group:"Content"},{id:"placeholder",type:"localized-text",label:"Input placeholder",default:"",placeholder:'Leave empty to use translated default (e.g. "Ask a question...")',group:"Content"},{id:"escalationLabel",type:"text",label:"Escalation button label",default:"",placeholder:'Leave empty to use translated default (e.g. "Contact Support")',group:"Content"},{id:"humanHandoffButton",type:"toggle",label:'Show "Human" button',default:!1,group:"Behavior"},{id:"showSuggestedQuestions",type:"toggle",label:"Show suggested questions",default:!0,group:"Behavior"},{id:"suggestedQuestions",type:"json",label:"Suggested questions",default:[],placeholder:'["What is your return policy?", "Do you ship internationally?"]',group:"Behavior"}],events:{emits:[{name:"support-chat:messageSent",description:"User sent a message"},{name:"support-chat:escalated",description:"User requested escalation to human support"},{name:"support-chat:feedbackSubmitted",description:"User rated helpfulness of answer"}],listens:[{name:"support-chat:clearHistory",description:"Clear chat history"}]},sizing:{minWidth:280,preferredHeight:"fill",scrollable:!0},supportedPlacements:["main","sidebar","fullscreen"]};function ss({text:n,allowedLinkHosts:a}){return t.jsx("div",{className:"es-sc__bubble-text es-sc__bubble-text--md",children:t.jsx(Zs,{remarkPlugins:[...en],allowedElements:[...Gs],transformLinkUri:o=>tn(o)??"",transformImageUri:()=>"",components:{input:({node:o,type:i,checked:l,...f})=>i==="checkbox"?t.jsx("input",{...f,type:"checkbox",checked:!!l,disabled:!0,readOnly:!0,className:"es-sc__md-task"}):null,...sn({allowedHosts:a})},children:n})})}function rn({media:n,t:a}){const{embeds:o,images:i}=n;return o.length===0&&i.length===0?null:t.jsxs("div",{className:"es-sc__media","data-testid":"support-chat-media",children:[o.map(l=>t.jsx(an,{embed:l,t:a,classPrefix:"es-sc"},`${l.provider}:${l.id}`)),i.map(l=>t.jsx("img",{className:"es-sc__media-img",src:l.src,alt:l.alt||a("support_chat.media_image_alt"),loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"},l.src))]})}function wt(n){return n?n.join(","):""}const on=s.memo(function({text:n,allowEmbeds:a,allowedImageHosts:o,t:i}){const l=wt(o),f=s.useMemo(()=>nn(n,{allowEmbeds:a,allowedImageHosts:o}),[n,a,l]);return t.jsx(rn,{media:f,t:i})},(n,a)=>n.text===a.text&&n.allowEmbeds===a.allowEmbeds&&n.t===a.t&&wt(n.allowedImageHosts)===wt(a.allowedImageHosts));function cn(n,a){const o=Math.round((Date.now()-n.getTime())/1e3);if(o<60)return a("time.just_now");const i=Math.round(o/60);if(i<60)return a("time.minutes_ago",{count:i});const l=Math.round(i/60);if(l<24)return a("time.hours_ago",{count:l});const f=Math.round(l/24);return a("time.days_ago",{count:f})}function us({card:n,t:a,onSelect:o}){const i=t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"es-sc__ticket-card-head",children:[t.jsxs("span",{className:"es-sc__ticket-card-number",children:["#",n.externalNumber]}),t.jsx("span",{className:`es-sc__ticket-card-status es-sc__ticket-card-status--${n.status}`,children:a(`escalation.status_${n.status}`)})]}),n.summary&&t.jsx("p",{className:"es-sc__ticket-card-summary",title:n.summary,children:n.summary}),t.jsxs("p",{className:"es-sc__ticket-card-meta",children:[cn(new Date(n.createdAt),a),n.priority?` · ${a(`support_chat.priority_${n.priority}`)}`:""]})]});if(o&&n.sessionId){const l=n.sessionId;return t.jsx("button",{type:"button",className:"es-sc__ticket-card es-sc__ticket-card--clickable",onClick:()=>o(l),"aria-label":a("support_chat.open_ticket_conversation"),title:a("support_chat.open_ticket_conversation"),children:i})}return t.jsx("div",{className:"es-sc__ticket-card",children:i})}const ln=[{value:"open",key:"support_chat.filter_open"},{value:"closed",key:"support_chat.filter_closed"},{value:"all",key:"support_chat.filter_all"}];function un(n){const{status:a,loading:o,tickets:i,onSelectStatus:l,onSelectSession:f,t:v}=n;return t.jsxs("div",{className:"es-sc__tickets-view",children:[t.jsx("div",{className:"es-sc__tickets-filters",children:ln.map(m=>t.jsx("button",{type:"button",className:`es-sc__tickets-chip${a===m.value?" es-sc__tickets-chip--active":""}`,onClick:()=>l(m.value),children:v(m.key)},m.value))}),t.jsx("div",{className:"es-sc__tickets-view-list",children:o?t.jsx("p",{className:"es-sc__tickets-empty",role:"status","aria-live":"polite",children:"…"}):i.length===0?t.jsx("p",{className:"es-sc__tickets-empty",children:v("support_chat.tickets_empty")}):i.map(m=>t.jsx(us,{card:m,t:v,onSelect:f},m.externalNumber))})]})}const dn=["audio/webm;codecs=opus","audio/webm","audio/mp4"];function pn(){return typeof navigator>"u"||typeof window>"u"?!1:typeof navigator.mediaDevices?.getUserMedia=="function"&&typeof window.MediaRecorder<"u"}function fn(){if(typeof window>"u"||typeof window.MediaRecorder>"u")return;const n=typeof window.MediaRecorder.isTypeSupported=="function";for(const a of dn)if(!n||window.MediaRecorder.isTypeSupported(a))return a}function hn({baseUrl:n,apiKey:a,jwt:o,language:i,onTranscript:l,t:f,disabled:v=!1,streaming:m,voiceStream:g,baseText:b,onText:r}){const[p]=s.useState(pn),[_,k]=s.useState("idle"),[w,E]=s.useState(null),[U,H]=s.useState("idle"),x=!!(m&&g&&b&&r),T=s.useRef(null),ee=s.useRef(null),X=s.useRef([]),J=s.useRef(!0);s.useEffect(()=>()=>{J.current=!1},[]);const ce=s.useRef({baseUrl:n,apiKey:a,jwt:o,language:i,onTranscript:l});s.useEffect(()=>{ce.current={baseUrl:n,apiKey:a,jwt:o,language:i,onTranscript:l}},[n,a,o,i,l]);const le=s.useCallback(()=>{ee.current?.getTracks().forEach(I=>I.stop()),ee.current=null,T.current=null,X.current=[]},[]);s.useEffect(()=>le,[le]);const R=s.useRef(()=>{});R.current=()=>{x&&(U==="connecting"||U==="listening")&&g?.stop()},s.useEffect(()=>()=>R.current(),[]);const O=s.useCallback(async I=>{const{baseUrl:F,apiKey:V,jwt:Y,language:$,onTranscript:P}=ce.current,te=new FormData;te.append("audio",I,"recording.webm"),te.append("language",$);const ae={};V&&(ae["X-API-Key"]=V),Y&&(ae.Authorization=`Bearer ${Y}`);const ke=await fetch(`${F}/api/widget/transcribe`,{method:"POST",headers:ae,credentials:"include",body:te});if(!ke.ok){const Q=new Error(`HTTP ${ke.status}`);throw Q.status=ke.status,Q}const Ie=await ke.json();P(Ie.text??"")},[]),pe=s.useCallback(async()=>{E(null);let I;try{I=await navigator.mediaDevices.getUserMedia({audio:!0})}catch{k("error"),E("voice.permission_denied");return}const F=fn();let V;try{V=F?new MediaRecorder(I,{mimeType:F}):new MediaRecorder(I)}catch{I.getTracks().forEach(Y=>Y.stop()),k("error"),E("voice.error_generic");return}ee.current=I,T.current=V,X.current=[],V.ondataavailable=Y=>{Y.data&&Y.data.size>0&&X.current.push(Y.data)},V.onstop=async()=>{const Y=V.mimeType||F||"audio/webm",$=new Blob(X.current,{type:Y});if(le(),$.size===0){k("idle");return}k("transcribing");try{if(await O($),!J.current)return;k("idle"),E(null)}catch(P){if(!J.current)return;const te=P.status;k("error"),E(te===413?"voice.error_too_large":"voice.error_generic")}},V.start(),k("recording")},[le,O]),ue=s.useCallback(()=>{const I=T.current;I&&I.state!=="inactive"?I.stop():(le(),k("idle"))},[le]),ne=s.useCallback(()=>{p&&(x?U==="connecting"||U==="listening"?(g.stop(),H("idle")):(E(null),g.start({language:i,baseText:b,onText:r,onState:I=>H(I),onError:I=>{E(I),H("error")}})):_==="recording"?ue():(_==="idle"||_==="error")&&pe())},[p,x,U,_,i,b,r,g,pe,ue]);if(!p)return null;const fe=x?U==="connecting"||U==="listening":_==="recording",he=!x&&_==="transcribing",Oe=x?U==="error":_==="error",xe=f(fe?"voice.stop":"voice.start"),me=w?f(w):he?f("voice.transcribing"):xe,ye=["es-sc__mic",fe&&"es-sc__mic--recording",he&&"es-sc__mic--transcribing",Oe&&"es-sc__mic--error"].filter(Boolean).join(" ");return t.jsx("button",{type:"button",className:ye,onClick:ne,disabled:he||v,"aria-label":xe,"aria-pressed":fe,title:me,children:he?t.jsx("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",className:"es-sc__mic-spinner","aria-hidden":"true",children:t.jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})}):fe?t.jsx("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:t.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})}):t.jsxs("svg",{width:18,height:18,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z"}),t.jsx("path",{d:"M19 10v2a7 7 0 0 1-14 0v-2"}),t.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"22"})]})})}function mn(){return t.jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none","aria-hidden":"true",children:t.jsx("path",{d:"M8 5.14v13.72a1 1 0 0 0 1.5.86l11-6.86a1 1 0 0 0 0-1.72l-11-6.86A1 1 0 0 0 8 5.14Z"})})}function gn(){return t.jsxs("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none","aria-hidden":"true",children:[t.jsx("rect",{x:"6",y:"5",width:"4",height:"14",rx:"1"}),t.jsx("rect",{x:"14",y:"5",width:"4",height:"14",rx:"1"})]})}function _n(){return t.jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none","aria-hidden":"true",children:t.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function bn(){return t.jsx("svg",{width:14,height:14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",className:"es-sc__readaloud-spinner","aria-hidden":"true",children:t.jsx("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})})}const vn=s.memo(function({id:n,session:a,onActivate:o,t:i}){const l=a.activeId===n?a.status:"idle",f=s.useCallback(()=>{if(l==="idle"||l==="error"){o();return}l!=="loading"&&a.togglePause()},[l,o,a]),v=s.useCallback(()=>a.stop(),[a]),m=i(l==="playing"?"voice_output.pause":"voice_output.play"),g=l==="error"?i("voice_output.error"):m;return t.jsxs("span",{className:"es-sc__readaloud-group",children:[t.jsx("button",{type:"button",className:["es-sc__readaloud-btn",l==="playing"&&"es-sc__readaloud-btn--playing",l==="paused"&&"es-sc__readaloud-btn--paused",l==="error"&&"es-sc__readaloud-btn--error"].filter(Boolean).join(" "),onClick:f,disabled:l==="loading","aria-label":m,"aria-pressed":l==="playing",title:g,children:l==="loading"?t.jsx(bn,{}):l==="playing"?t.jsx(gn,{}):t.jsx(mn,{})}),(l==="playing"||l==="paused")&&t.jsx("button",{type:"button",className:"es-sc__readaloud-btn es-sc__readaloud-btn--stop",onClick:v,"aria-label":i("voice_output.stop"),title:i("voice_output.stop"),children:t.jsx(_n,{})})]})});function xn(n){let a=null,o=0,i=null;const l=new Set,f={ended:new Set},v=g=>{for(const b of[...f[g]])b()},m=g=>{g.onended=null,Xs(()=>g.stop())};return{push(g){const b=new Uint8Array(g);let r;i&&i.length>0?(r=new Uint8Array(i.length+b.length),r.set(i,0),r.set(b,i.length),i=null):r=b;const p=r.length-r.length%2;if(p<r.length&&(i=r.slice(p)),p===0)return;const _=new Int16Array(r.buffer,r.byteOffset,p/2);if(_.length===0)return;a??(a=new AudioContext({sampleRate:n}));const k=a.createBuffer(1,_.length,n);k.getChannelData(0).set(Float32Array.from(_,U=>U/32768));const w=a.createBufferSource();w.buffer=k,w.connect(a.destination),w.onended=()=>{l.delete(w),l.size===0&&v("ended")},l.add(w);const E=Math.max(a.currentTime,o);w.start(E),o=E+k.duration},reset(){for(const g of[...l])m(g);l.clear(),o=0,i=null},pause(){a?.suspend()},resume(){a?.resume()},on(g,b){return f[g].add(b),()=>{f[g].delete(b)}},close(){for(const g of[...l])m(g);l.clear(),a?.close(),a=null,o=0,f.ended.clear()}}}function yn({baseUrl:n,apiKey:a,getJwt:o}){const[i,l]=s.useState(null),[f,v]=s.useState("idle"),m=s.useRef(null),g=s.useRef(null),b=s.useRef([]),r=s.useRef(!1),p=s.useRef(!1),_=s.useRef(!1),k=s.useRef(0),w=s.useRef(null),E=s.useRef(null),U=s.useCallback(()=>{E.current&&(clearTimeout(E.current),E.current=null)},[]),H=s.useCallback(()=>{w.current?.abort(),w.current=null,E.current&&(clearTimeout(E.current),E.current=null),g.current?.close(),g.current=null,b.current=[],r.current=!1,p.current=!1,_.current=!1},[]),x=s.useCallback(()=>{k.current+=1,H(),m.current=null,l(null),v("idle")},[H]),T=s.useCallback(()=>{const R=g.current;R&&v(O=>O==="playing"?(R.pause(),"paused"):O==="paused"?(R.resume(),"playing"):O)},[]),ee=s.useCallback(R=>{if(m.current===R)return;H(),k.current+=1,w.current=new AbortController,m.current=R,l(R),v("loading");const O=k.current;E.current=setTimeout(()=>{O===k.current&&(w.current?.abort(),v("error"))},12e3)},[H]),X=s.useCallback(async R=>{if(!R)return;const O=o?.();await Te(fetch(`${n}/api/widget/read-aloud-play`,{method:"POST",headers:{"Content-Type":"application/json",...a?{"X-API-Key":a}:{},...O?{Authorization:`Bearer ${O}`}:{}},body:JSON.stringify({messageId:R})}))},[n,a,o]),J=s.useCallback((R,O)=>{r.current||(r.current=!0,(async()=>{for(;b.current.length>0;){if(R!==k.current){r.current=!1;return}const pe=b.current.shift();if(!pe)continue;const ue=o?.(),[ne,fe]=await Te(fetch(`${n}/api/widget/read-aloud`,{method:"POST",headers:{"Content-Type":"application/json",...a?{"X-API-Key":a}:{},...ue?{Authorization:`Bearer ${ue}`}:{}},body:JSON.stringify({text:pe,language:O,messageId:m.current??void 0}),signal:w.current?.signal}));if(R!==k.current){r.current=!1;return}if(fe||!ne||!ne.ok||!ne.body){v("error"),r.current=!1;return}const he=ne.headers.get("X-Audio-Encoding");if(he&&he!=="pcm16"){v("error"),r.current=!1;return}if(!g.current){const me=Number(ne.headers.get("X-Audio-Sample-Rate"))||24e3,ye=xn(me);g.current=ye,ye.on("ended",()=>{R===k.current&&(!p.current||b.current.length>0||r.current||x())})}const Oe=g.current,xe=ne.body.getReader();for(;;){const[me,ye]=await Te(xe.read());if(R!==k.current){r.current=!1;return}if(ye){v("error"),r.current=!1;return}const{done:I,value:F}=me;if(I)break;F&&F.byteLength>0&&(Oe.push(F.buffer.slice(F.byteOffset,F.byteOffset+F.byteLength)),_.current||(_.current=!0,U(),v("playing"),X(m.current)))}}r.current=!1,p.current&&!_.current&&R===k.current&&x()})())},[n,a,o,x,X]),ce=s.useCallback((R,O,pe)=>{if(m.current!==R)return;const ue=O.trim();ue&&(b.current.push(ue),J(k.current,pe))},[J]),le=s.useCallback(R=>{m.current===R&&(p.current=!0,b.current.length===0&&!r.current&&!_.current&&x())},[x]);return s.useEffect(()=>()=>x(),[x]),{activeId:i,status:f,activate:ee,feed:ce,finish:le,togglePause:T,stop:x}}const kn=1200;function wn(n={language:"en"}){const{voiceStream:a,language:o,silenceMs:i=kn}=n;let l=null,f=null,v="",m=!1;const g=()=>{f&&clearTimeout(f),f=null},b=()=>{!a||!m||(v="",a.start({language:o,baseText:()=>"",onText:r=>{const p=r.trim();!p||p===v||(v=p,l?.({type:"user_partial",text:p}),g(),f=setTimeout(()=>{const _=v;_&&(v="",l?.({type:"user_final",text:_}),a.stop(),b())},i))},onError:r=>l?.({type:"error",message:r})}))};return{get available(){return!!a},async start({onEvent:r}){if(!a)throw new Error("conversation transport unavailable");l=r,m=!0,b()},stop(){m=!1,g(),v="",a&&a.stop(),l=null}}}function jn(n){let a=null,o=null;return{get available(){return n.enabled&&typeof RTCPeerConnection<"u"},async start({onEvent:i}){o=i;const l={"Content-Type":"application/json","X-API-Key":n.apiKey};n.jwt&&(l.Authorization=`Bearer ${n.jwt}`);const f=n.getSessionId?.()??null,v=await fetch(`${n.baseUrl}/api/widget/realtime-voice`,{method:"POST",headers:l,body:JSON.stringify({language:n.language,...f?{sessionId:f}:{}})});if(!v.ok)throw new Error("eleven token refused");const m=await v.json(),g=m.data?.token;if(m.data?.provider!=="elevenlabs"||!g)throw new Error("not an elevenlabs session");m.data?.sessionId&&n.onSessionId?.(m.data.sessionId);const b=m.data?.endUserToken??"",{Conversation:r}=await Ws(async()=>{const{Conversation:x}=await import("./index-DMQkz1bV-BuMYksln.js");return{Conversation:x}},[]);let p=!1,_=null;const k=.6,w=.35,E=x=>{x!==p&&(p=x,o?.({type:"user_speaking",active:x}))};let U="";const H=x=>{const T=x?.trim();T&&(E(!1),o?.({type:"thinking"}),T!==U&&(U=T,n.onUserTurnEnd?.()))};a=await r.startSession({conversationToken:g,connectionType:"webrtc",customLlmExtraBody:{end_user_token:b},onModeChange:({mode:x})=>{o?.(x==="speaking"?{type:"agent_delta",text:""}:{type:"agent_done"})},onVadScore:({vadScore:x})=>{x>=k?(_&&(clearTimeout(_),_=null),E(!0)):x<=w&&p&&!_&&(_=setTimeout(()=>{_=null,E(!1)},600))},onMessage:({message:x,role:T})=>{const ee=x?.trim();ee&&(T==="user"?H(ee):(n.onTranscript({role:"assistant",text:ee,streaming:!1}),U=""))},onIncomingEvent:x=>{x?.type==="user_transcript"&&H(x.user_transcription_event?.user_transcript)},onAgentTyping:()=>o?.({type:"thinking"}),onAgentChatResponsePart:x=>{const T=x?.text??"";T&&n.onTranscript({role:"assistant",text:T,streaming:!0})},onInterruption:()=>o?.({type:"interrupted"}),onError:x=>{console.warn("[voice] eleven blad:",x),o?.({type:"error",message:"voice_conv.error"})}})},setMuted(i){a?.setMicMuted?.(i)},sendUserMessage(i){const l=i.trim();return!l||!a||(a.sendUserActivity?.(),!a.sendUserMessage)?!1:(a.sendUserMessage(l),!0)},stop(){o=null;const i=a;a=null,i?.endSession()}}}function ns({followUps:n,isNewest:a,isPending:o,hasQuickReplies:i,isSending:l,onSelect:f,t:v}){return!a||o||i||!n||n.length===0?null:t.jsx("div",{className:"es-sc__followups",role:"list","aria-label":v("support_chat.followups_aria"),"data-es-no-read":!0,children:n.map(m=>t.jsx("button",{type:"button",role:"listitem",disabled:l,className:"es-sc__suggestion es-sc__suggestion--followup",onClick:()=>f(m.message),children:m.label},m.message))})}function Cn(n){switch(n){case"OUT_OF_HOURS":return"support_chat.handoff.out_of_hours";case"QUEUE_FULL":return"support_chat.handoff.queue_full";default:return"support_chat.handoff.no_operator_title"}}const jt={email:254,phone:32,note:2e3},Sn={email:"",phone:"",note:""};function Nn(n){const[a,o]=s.useState(()=>Date.now());return s.useEffect(()=>{if(n===null)return;const i=setInterval(()=>o(Date.now()),1e3);return()=>clearInterval(i)},[n]),n===null?null:Math.max(0,Math.ceil((n-a)/1e3))}function Rn({status:n,onSubmitContact:a,onDismissContact:o,t:i}){const[l,f]=s.useState(Sn),[v,m]=s.useState(!1),[g,b]=s.useState(null),r=s.useRef(null),p=Nn(n.kind==="waiting"?n.until:null);return s.useEffect(()=>{n.kind==="unavailable"&&r.current?.focus()},[n.kind]),n.kind==="idle"?null:n.kind==="waiting"?t.jsxs("div",{className:"es-sc__handoff es-sc__handoff--waiting",role:"status","aria-live":"polite",children:[t.jsx("span",{className:"es-sc__handoff-dot","aria-hidden":"true"}),t.jsx("span",{className:"es-sc__handoff-text",children:p===null?i("support_chat.handoff.queued"):i("support_chat.handoff.waiting",{seconds:p})})]}):n.kind==="human"?t.jsx("div",{className:"es-sc__handoff es-sc__handoff--human",role:"status","aria-live":"polite",children:t.jsx("span",{className:"es-sc__handoff-text",children:n.displayName?i("support_chat.handoff.human_joined",{name:n.displayName}):i("support_chat.handoff.human_joined_unnamed")})}):n.kind==="contact_left"?t.jsx("div",{className:"es-sc__handoff es-sc__handoff--done",role:"status","aria-live":"polite",children:t.jsx("span",{className:"es-sc__handoff-text",children:i("support_chat.handoff.contact_success")})}):t.jsxs("form",{className:"es-sc__handoff es-sc__handoff--form",onSubmit:async _=>{if(_.preventDefault(),v)return;if(l.email.trim().length===0&&l.phone.trim().length===0){b(i("support_chat.handoff.contact_validation")),r.current?.focus();return}m(!0),b(null);const k=await a({email:l.email.trim(),phone:l.phone.trim(),note:l.note.trim()});m(!1),k||b(i("support_chat.handoff.contact_error"))},noValidate:!0,children:[t.jsx("p",{className:"es-sc__handoff-title",children:i(Cn(n.reason))}),t.jsx("p",{className:"es-sc__handoff-text",children:i("support_chat.handoff.contact_prompt")}),t.jsx("label",{className:"es-sc__handoff-label",htmlFor:"es-sc-handoff-email",children:i("support_chat.handoff.contact_email_label")}),t.jsx("input",{id:"es-sc-handoff-email",ref:r,className:"es-sc__handoff-input",type:"email",autoComplete:"email",maxLength:jt.email,value:l.email,"aria-invalid":g!==null,"aria-describedby":g?"es-sc-handoff-error":void 0,onChange:_=>f(k=>({...k,email:_.target.value}))}),t.jsx("label",{className:"es-sc__handoff-label",htmlFor:"es-sc-handoff-phone",children:i("support_chat.handoff.contact_phone_label")}),t.jsx("input",{id:"es-sc-handoff-phone",className:"es-sc__handoff-input",type:"tel",autoComplete:"tel",maxLength:jt.phone,value:l.phone,onChange:_=>f(k=>({...k,phone:_.target.value}))}),t.jsx("label",{className:"es-sc__handoff-label",htmlFor:"es-sc-handoff-note",children:i("support_chat.handoff.contact_note_label")}),t.jsx("textarea",{id:"es-sc-handoff-note",className:"es-sc__handoff-input es-sc__handoff-textarea",rows:3,maxLength:jt.note,value:l.note,onChange:_=>f(k=>({...k,note:_.target.value}))}),g&&t.jsx("p",{className:"es-sc__handoff-error",id:"es-sc-handoff-error",role:"alert",children:g}),t.jsxs("div",{className:"es-sc__handoff-actions",children:[t.jsx("button",{className:"es-sc__handoff-submit",type:"submit",disabled:v,children:i("support_chat.handoff.contact_submit")}),t.jsx("button",{className:"es-sc__handoff-dismiss",type:"button",onClick:o,children:i("support_chat.handoff.contact_dismiss")})]})]})}const ds="live:";function De(n){return n.id.startsWith(ds)}function En(n,a){return n.text!==a.text?!0:JSON.stringify(n.metadata??null)!==JSON.stringify(a.metadata??null)}function Tn(n,a){if(a.length===0)return n;const o=new Map;n.forEach((b,r)=>o.set(b.id,r));let i=null;const l=[];let f=!1;for(const b of a){const r=o.get(b.id);if(r===void 0){l.push(b),b.role==="assistant"&&(f=!0);continue}const p=n[r];En(p,b)&&(i??(i=[...n]),i[r]={...p,...b})}if(l.length===0)return i??n;const v=i??[...n],m=f?v.filter(b=>!De(b)):v,g=m.filter(De);return[...m.filter(b=>!De(b)),...l,...g]}function In({transport:n,agentId:a,onUserMessage:o,onStopPlayback:i}){const[l,f]=s.useState("idle"),[v,m]=s.useState(null),[g,b]=s.useState(!1),[r,p]=s.useState(null),_=s.useRef(o);_.current=o;const k=s.useRef(i);k.current=i;const w=s.useCallback(x=>{switch(x.type){case"user_partial":k.current(),m(x.text),f("listening");return;case"user_final":m(null),b(!1),f("listening"),x.text.trim()&&_.current(x.text);return;case"user_speaking":b(x.active),x.active&&(k.current(),f("listening"));return;case"thinking":m(null),b(!1),f("thinking");return;case"agent_delta":f("speaking");return;case"agent_done":f("listening");return;case"interrupted":k.current(),f("listening");return;case"error":p(x.message),f("error");return}},[]),E=s.useCallback(async()=>{if(!n.available){p("voice_conv.error"),f("error");return}p(null),f("connecting"),k.current();const[,x]=await Te(n.start({agentId:a,onEvent:w}));if(x){p("voice_conv.error"),f("error");return}f("listening")},[n,a,w]),U=s.useCallback(()=>{n.stop(),m(null),b(!1),f("idle")},[n]),H=s.useRef(n);return H.current=n,s.useEffect(()=>()=>H.current.stop(),[]),{state:l,draft:v,userSpeaking:g,error:r,start:E,stop:U}}const Mn=()=>t.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("rect",{x:"9",y:"3",width:"6",height:"11",rx:"3"}),t.jsx("path",{d:"M5 11a7 7 0 0 0 14 0M12 18v3"})]}),as=()=>t.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M4 4l16 16"}),t.jsx("path",{d:"M9 5a3 3 0 0 1 6 0v5m-6 1.5V11"}),t.jsx("path",{d:"M5 11a7 7 0 0 0 10.9 5.8M19 11a7 7 0 0 1-.4 2.3M12 18v3"})]}),An=()=>t.jsx("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:t.jsx("path",{d:"M6 6l12 12M18 6L6 18"})});function Pn({running:n}){const[a,o]=s.useState(0);return s.useEffect(()=>{if(!n)return;const i=setInterval(()=>o(l=>l+1),1e3);return()=>clearInterval(i)},[n]),t.jsx("span",{className:"es-vm__elapsed","data-testid":"voice-mode-elapsed",children:$n(a)})}function $n(n){const a=Math.floor(n/60),o=n%60;return`${a}:${String(o).padStart(2,"0")}`}function Ln({state:n,draft:a,error:o,muted:i,listening:l,hasTranscript:f,transcript:v,onToggleMute:m,onEnd:g,onRetry:b,t:r}){const p=s.useRef(null);if(s.useEffect(()=>{const w=p.current;w&&(w.scrollTop=w.scrollHeight)},[v]),n==="error")return t.jsxs("div",{className:"es-vm","data-testid":"voice-mode",children:[t.jsxs("div",{className:"es-vm__top",children:[t.jsx("span",{className:"es-vm__dot es-vm__dot--error"}),t.jsx("span",{className:"es-vm__label",children:r("voice_conv.title")})]}),t.jsxs("div",{className:"es-vm__denied",children:[t.jsx("div",{className:"es-vm__denied-icon",children:t.jsx(as,{})}),t.jsxs("div",{children:[t.jsx("div",{className:"es-vm__denied-title",children:r("voice_conv.denied_title")}),t.jsx("div",{className:"es-vm__denied-body",children:r(o||"voice_conv.denied_body")})]}),t.jsxs("div",{className:"es-vm__denied-actions",children:[t.jsx("button",{type:"button",className:"es-vm__action es-vm__action--primary",onClick:b,"data-testid":"voice-mode-retry",children:r("voice_conv.retry")}),t.jsx("button",{type:"button",className:"es-vm__action",onClick:g,"data-testid":"voice-mode-back",children:r("voice_conv.back_to_typing")})]})]})]});const _=!i&&(!!l||!!(a&&a.trim())),k=i?"muted":n==="speaking"?"speaking":n==="thinking"?"thinking":"listening";return t.jsxs("div",{className:"es-vm","data-testid":"voice-mode","data-state":n,children:[t.jsxs("div",{className:"es-vm__top",children:[t.jsx("span",{className:"es-vm__label",children:r("voice_conv.title")}),t.jsx(Pn,{running:n!=="idle"})]}),t.jsxs("div",{className:"es-vm__orbwrap",children:[t.jsxs("div",{className:"es-vm__orb","data-s":k,"data-active":_?"1":void 0,"data-testid":"voice-mode-orb","aria-hidden":"true",children:[t.jsx("span",{className:"es-vm__orb-halo"}),t.jsx("span",{className:"es-vm__orb-halo es-vm__orb-halo--delayed"}),t.jsx("span",{className:"es-vm__orb-core"})]}),t.jsx("div",{className:"es-vm__orb-state",role:"status","data-testid":"voice-mode-state",children:r(`voice_conv.state_${k}`)}),t.jsx("div",{className:"es-vm__orb-hint",children:r(`voice_conv.state_${k}_hint`)})]}),t.jsx("div",{className:"es-vm__transcript","data-testid":"voice-mode-transcript",ref:p,children:f?v:t.jsx("div",{className:"es-vm__invite","data-testid":"voice-mode-invite",children:r("voice_conv.invite")})}),t.jsxs("div",{className:"es-vm__controls",children:[t.jsx("button",{type:"button",className:`es-vm__btn${i?" es-vm__btn--on":""}`,"aria-label":r(i?"voice_conv.unmute":"voice_conv.mute"),onClick:m,"data-testid":"voice-mode-mute",children:i?t.jsx(as,{}):t.jsx(Mn,{})}),t.jsx("button",{type:"button",className:"es-vm__btn es-vm__btn--end","aria-label":r("voice_conv.end"),onClick:g,"data-testid":"voice-mode-end",children:t.jsx(An,{})})]})]})}const rs=/[.!?]+(?:['")\]]+)?(\s+)/g;function Un(n){const a=[];let o=0;rs.lastIndex=0;let i;for(;i=rs.exec(n);){const l=i.index+i[0].length,f=n.slice(o,l).trim();f&&a.push(f),o=l}return{complete:a,remainder:n.slice(o)}}function Dn(n,a,o){return n===void 0?o:n.map(i=>{const l=i.translations?.[a]?.trim();return l||i.translations?.[i.baseLanguage]?.trim()||(Object.values(i.translations??{}).find(v=>v?.trim())?.trim()??"")}).filter(i=>i.length>0)}function On({size:n=16}){return t.jsxs("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("circle",{cx:"12",cy:"12",r:"10"}),t.jsx("polyline",{points:"12 6 12 12 16 14"})]})}function qn({size:n=18}){return t.jsxs("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M12 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),t.jsx("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})]})}function Bn({size:n=16}){return t.jsxs("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M2 9a3 3 0 1 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 1 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z"}),t.jsx("path",{d:"m9 12 2 2 4-4"})]})}const Hn=["confirm_escalation","cancel_escalation","confirm_handoff","decline_handoff"],Fn="<followups>",Kn=/<followups>/i;function zn(n){const a=n.search(Kn);if(a!==-1)return n.slice(0,a).trimEnd();const o=n.lastIndexOf("<");return o!==-1&&Fn.startsWith(n.slice(o).toLowerCase())?n.slice(0,o).trimEnd():n}function is(n){return n>=.6?"high":n>=.35?"medium":"low"}function Qn(n){return/^https?:\/\//i.test(n)}function Wn(n){return n==="OUT_OF_HOURS"||n==="QUEUE_FULL"||n==="NO_OPERATOR"?n:null}function os(n){const{metadata:a,...o}=n;return{...o,...a&&typeof a=="object"?a:{}}}function Xn(n){let a=null;const o=[];for(const i of n.split(`
|
|
2
|
+
`))i.startsWith("event:")?a=i.slice(6).trim():i.startsWith("data:")&&o.push(i.slice(5).trimStart());return{event:a,data:o.join(`
|
|
3
|
+
`)}}const Jn=12e4,cs=1500,Vn=6e4,ls=120,Yn=25e3,Zn=600;function Gn({value:n,onChange:a,disabled:o,t:i}){const[l,f]=s.useState(null),v=n??0,m=!o&&l!==null?l:v;return t.jsxs("div",{className:"es-sc__rating-group",children:[t.jsx("div",{className:"es-sc__rating",role:"radiogroup","aria-label":i("support_chat.rate_aria"),onMouseLeave:()=>!o&&f(null),children:[1,2,3,4,5].map(g=>{const b=g<=m;return t.jsx("button",{type:"button",role:"radio","aria-checked":g===v,"aria-label":i("support_chat.rate_star",{count:g}),disabled:o,onMouseEnter:()=>!o&&f(g),onFocus:()=>!o&&f(g),onBlur:()=>!o&&f(null),onClick:()=>!o&&a?.(g),className:`es-sc__rating-star${b?" es-sc__rating-star--filled":""}${o?" es-sc__rating-star--disabled":""}`,children:t.jsx("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:b?"currentColor":"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})})},g)})}),t.jsx("span",{className:"es-sc__rating-label","aria-live":"polite",children:m>0?i(`support_chat.rate_label_${m}`):""})]})}function la({config:n,actions:a,baseUrl:o,externalContext:i,productId:l,i18n:f,supportSessionId:v,auth:m,readOnly:g}){const b=g===!0,r=f?.t??(e=>e),p=i?.apiKey??"",_=s.useRef(m?.jwt);s.useEffect(()=>{_.current=m?.jwt},[m?.jwt]);const k=i?.voice,w=f?.currentLanguage??"en",E=!!k?.enabled&&(k?.languages??[]).includes(w),U=n.voiceConversationEnabled===!0,H=n.voiceReadAloudEnabled===!0,x=i?.voiceOutput,T=yn({baseUrl:o,apiKey:p,getJwt:()=>_.current}),ee=s.useRef(T);ee.current=T;const X=H&&!!x?.enabled&&(x?.languages??[]).includes(w),J=s.useRef(0),ce=i?.userContext??void 0,le=i?.resetSession??!1,R=i?.showTicketsTab??!1,O=kt(n.welcomeMessage,w,{t:r,fallbackKey:"support_chat.welcome_message",enDefault:"Hi! How can I help you today?"}),pe=kt(n.placeholder,w,{t:r,fallbackKey:"support_chat.input_placeholder",enDefault:"Ask a question..."}),ue=n.showSuggestedQuestions??!0,ne=Dn(n.localizedSuggestedQuestions,w,n.suggestedQuestions??[]),fe=n.escalationLabel||r("support_chat.escalation_label"),he=n.humanHandoffButton===!0,Oe=kt(n.headerTitle,w,{t:r,fallbackKey:"support.title",enDefault:"Support"}),xe=n.allowedLinkHosts,me=s.useMemo(()=>Array.isArray(xe)?xe.filter(e=>typeof e=="string"):void 0,[xe]),ye=n.allowMediaEmbeds===!0,I=typeof n._draft=="string"?n._draft:void 0,F=n._autoSend===!0,V=Array.isArray(n._quickChips)?n._quickChips:[],Y=JSON.stringify(V),[$,P]=s.useState([]);s.useEffect(()=>{if(!X)return;const e=T.activeId;if(!e){J.current=0;return}const c=$.find(h=>h.id===e);if(!c)return;const u=c.role==="assistant"&&c.refusalReason?r(`support_chat.refusal_${c.refusalReason}`,{productName:c.refusalProductName??""}):c.text??"";if(u.length>J.current){const h=u.slice(J.current),{complete:d,remainder:j}=Un(h);if(d.length>0){J.current=u.length-j.length;for(const C of d)T.feed(e,C,w)}}if(!c.isPending){const h=u.slice(J.current).trim();h&&(T.feed(e,h,w),J.current=u.length),T.finish(e)}},[$,T,X,w]);const[te,ae]=s.useState(""),[ke,Ie]=s.useState([]),[Q,qe]=s.useState(!1),[Ct,Ye]=s.useState(null),[Be,Ze]=s.useState(null),[W,Ne]=s.useState(v??null),[Me,it]=s.useState(null),[ot,ps]=s.useState(!1),[Re,St]=s.useState(null),[fs,Nt]=s.useState(0),[Ae,hs]=s.useState("open"),[ms,He]=s.useState([]),[gs,Ge]=s.useState(!1),[re,Fe]=s.useState("chat"),[Rt,ie]=s.useState({kind:"idle"}),Ee=s.useRef(null),et=s.useRef(le),Et=s.useRef(null),ct=s.useRef(!1),{containerRef:_s,isPinned:bs,scrollToBottom:Pe,stickToBottom:Tt}=Js(),Z=s.useRef(null),ge=s.useRef(null),tt=s.useRef(null),st=s.useRef(null);s.useEffect(()=>{Tt()},[$,Tt]),s.useEffect(()=>()=>{ge.current?.abort()},[]),s.useEffect(()=>{if(Me==null)return;const e=Me-Date.now();if(e<=0){it(null);return}const c=setTimeout(()=>it(null),e);return()=>clearTimeout(c)},[Me]),s.useEffect(()=>{if(Re==null)return;const e=()=>{const u=Re-Date.now();if(u<=0){St(null),Nt(0);return}Nt(Math.ceil(u/1e3))};e();const c=setInterval(e,1e3);return()=>clearInterval(c)},[Re]);const $e=s.useRef(null),we=s.useCallback(()=>{$e.current&&($e.current.cancelled=!0),$e.current=null},[]);s.useEffect(()=>a.on("support-chat:clearHistory",()=>{ge.current?.abort(),we(),P([]),Ye(null),Ze(null),qe(!1),Ne(null),st.current=null,et.current=!0}),[a,we]),s.useEffect(()=>{a.emit("support-chat:session",{sessionId:W})},[a,W]);const It=s.useCallback((e,c,u)=>{we();const h={cancelled:!1};$e.current=h;const d=u?.trim()?u:null,j=`resume-${crypto.randomUUID()}`;P(D=>[...D,{id:j,role:"assistant",text:d??"",isPending:!d}]),Pe();const C=Date.now()+(d?6e3:Vn),S=async()=>{if(h.cancelled)return;let D=null;try{const y=_.current,M=await fetch(`${o}/api/support-chat/sessions/${e}/messages?limit=50`,{headers:{...p?{"X-API-Key":p}:{},...y?{Authorization:`Bearer ${y}`}:{}}});if(M.ok){const z=await M.json(),ve=z.success&&z.data?z.data.messages:[];for(let A=ve.length-1;A>=0;A--){const K=ve[A];if(K.role!=="assistant")continue;const N=K.createdAt?Date.parse(K.createdAt):NaN;if(Number.isFinite(N)&&N>c){D=K;break}}}}catch{}if(!h.cancelled){if(D){const y=D.metadata??{},M=y.confidence,z=typeof M=="number"?is(M):void 0;P(ve=>ve.map(A=>A.id===j?{...A,id:D.id,serverId:D.id,promptLogId:D.promptLogId??null,text:D.content,isPending:!1,confidence:M,confidenceLevel:z,sources:y.sources&&y.sources.length>0?y.sources:void 0,actions:y.actions&&y.actions.length>0?y.actions:void 0,quickReplies:y.quickReplies&&y.quickReplies.length>0?y.quickReplies:void 0,ticketCards:y.ticketCards&&y.ticketCards.length>0?y.ticketCards:void 0,suggestedFollowUps:y.suggestedFollowUps&&y.suggestedFollowUps.length>0?y.suggestedFollowUps:void 0,awaitingConfirmation:y.awaitingConfirmation,refusalReason:y.refusalReason,refusalProductName:y.refusalProductName}:A)),Pe(),$e.current=null;return}if(Date.now()>=C){d||P(y=>y.map(M=>M.id===j?{...M,text:r("support_chat.error_message"),isPending:!1}:M)),$e.current=null;return}setTimeout(S,cs)}};setTimeout(S,cs)},[p,o,we,Pe,r]),Ke=s.useCallback(async(e,c)=>{try{const u=_.current,h=await fetch(`${o}/api/support-chat/sessions/${e}/messages?limit=50`,{headers:{...p?{"X-API-Key":p}:{},...u?{Authorization:`Bearer ${u}`}:{}}});if(!h.ok)return;const d=await h.json();if(!d.success||!d.data)return;const j=d.data.messages.filter(y=>y.role==="user"||y.role==="assistant").map(y=>{const M=y.metadata??void 0,z=M?.ticketCards&&M.ticketCards.length>0?M.ticketCards:void 0;return{id:y.id,role:y.role,text:y.content,promptLogId:y.promptLogId??null,rating:y.userScore??null,...z?{ticketCards:z}:{},...M?.suggestedFollowUps&&M.suggestedFollowUps.length>0?{suggestedFollowUps:M.suggestedFollowUps}:{},...M?.refusalReason?{refusalReason:M.refusalReason,refusalProductName:M.refusalProductName}:{}}}),C=j.length-1,S=C>=0?j[C]:void 0;if(S&&S.role==="assistant"){const y=d.data.messages[d.data.messages.length-1]?.metadata;y?.quickReplies&&y.quickReplies.length>0&&(j[C]={...S,quickReplies:y.quickReplies,...y.awaitingConfirmation?{awaitingConfirmation:y.awaitingConfirmation}:{}})}P(j),st.current=e;const D=d.data.messages[d.data.messages.length-1];if(D&&D.role==="user"){const y=D.createdAt?Date.parse(D.createdAt):NaN;Number.isFinite(y)&&Date.now()-y<Jn&&It(e,y,c)}}catch{}},[p,o,It]),_e=s.useCallback(async e=>{if(!R)return[];try{const c=_.current,u=await fetch(`${o}/api/widget/support-chat/tickets?status=${e}`,{headers:{...p?{"X-API-Key":p}:{},...c?{Authorization:`Bearer ${c}`}:{}}});if(!u.ok)return[];const h=await u.json();return h.data?.counts&&h.data?.tickets?h.data.tickets:[]}catch{return[]}},[o,p,R]);s.useEffect(()=>{let e=!1;return(async()=>{const c=await _e("open").catch(()=>[]);e||He(c)})(),()=>{e=!0}},[_e,m?.jwt]);const vs=s.useCallback(async e=>{hs(e),Ge(!0);const c=await _e(e).catch(()=>[]);He(c),Ge(!1)},[_e]),Mt=s.useRef(!1);s.useEffect(()=>{Mt.current||v&&m?.jwt&&(Mt.current=!0,Ke(v))},[m?.jwt,v,Ke]),s.useEffect(()=>we,[we]),s.useEffect(()=>a.on("support-chat:select-session",e=>{const{sessionId:c}=e;Fe("chat"),!(!c||c===st.current)&&(ge.current?.abort(),P([]),Ye(null),Ze(null),qe(!1),Ne(c),Ke(c))}),[a,Ke]);const je=s.useCallback(()=>{const e=Z.current;if(!e)return;e.style.height="auto";const c=e.scrollHeight>ls;e.style.height=`${Math.min(e.scrollHeight,ls)}px`,e.style.overflowY=c?"auto":"hidden"},[]);s.useEffect(()=>{je()},[je]);const lt=s.useCallback((e,c)=>{const u=c.metadata??{},h=u.confidence,d=typeof h=="number"?is(h):void 0;P(j=>j.map(C=>C.id===e?{...C,id:c.id,serverId:c.id,promptLogId:c.promptLogId,rating:null,text:c.content,isPending:!1,confidence:h,confidenceLevel:d,sources:u.sources&&u.sources.length>0?u.sources:void 0,actions:u.actions&&u.actions.length>0?u.actions:void 0,quickReplies:u.quickReplies&&u.quickReplies.length>0?u.quickReplies:void 0,ticketCards:u.ticketCards&&u.ticketCards.length>0?u.ticketCards:void 0,suggestedFollowUps:u.suggestedFollowUps&&u.suggestedFollowUps.length>0?u.suggestedFollowUps:void 0,awaitingConfirmation:u.awaitingConfirmation,refusalReason:u.refusalReason,refusalProductName:u.refusalProductName}:C))},[]),At=s.useCallback(e=>{ps(!0),P(c=>c.map(u=>u.id===e?{...u,role:"assistant",text:r("support_chat.demo_quota_reached"),isPending:!1}:u))},[r]),ut=s.useCallback((e,c)=>{it(c??Date.now()+6e4),P(u=>u.map(h=>h.id===e?{...h,role:"assistant",text:r("support_chat.daily_limit_reached"),isPending:!1}:h))},[r]),dt=s.useCallback((e,c)=>{const u=typeof c=="number"&&c>0?c:6e4;St(Date.now()+u);const h=Math.ceil(u/1e3);P(d=>d.map(j=>j.id===e?{...j,role:"assistant",text:r("support_chat.rate_limited",{seconds:String(h)}),isPending:!1}:j))},[r]),Pt=s.useCallback((e,c)=>{P(u=>u.filter(h=>h.id!==e)),ie(c==="human"?{kind:"human",displayName:null}:{kind:"waiting",until:Ee.current})},[]),Ce=s.useCallback(()=>{ct.current&&(ct.current=!1,a.emit("chat:draftConsumed",void 0))},[a]),G=s.useCallback(async(e,c)=>{const u=e.trim();if(!u)return;Ce(),we(),ge.current?.abort(),ge.current=new AbortController,Ye(null),Ze(null),ae(""),Ie([]),Z.current&&(Z.current.style.height="auto");const h={id:`user-${crypto.randomUUID()}`,role:"user",text:u},d=`assistant-${crypto.randomUUID()}`,j={id:d,role:"assistant",text:"",isPending:!0};P(A=>[...A,h,j]),Pe(),qe(!0),tt.current=d;const C=Date.now(),S=async()=>{const A=Zn-(Date.now()-C);A>0&&await new Promise(K=>setTimeout(K,A))};a.emit("support-chat:messageSent",{text:u});const[D]=await Te(async()=>await m?.ensureValidToken?.()??null),y=D??_.current,M={"Content-Type":"application/json",...p?{"X-API-Key":p}:{},...y?{Authorization:`Bearer ${y}`}:{}},z=et.current||W===null;let ve=!1;try{if(c?.quickReplyClick){const q=await fetch(`${o}/api/widget/support-chat/message`,{method:"POST",headers:M,body:JSON.stringify({message:u,productId:l,...z?{newSession:!0}:{},...ce?{userContext:os(ce)}:{},quickReplyClick:c.quickReplyClick}),signal:ge.current.signal}),B=await q.json();if(q.status===429&&B?.error?.code==="DAILY_TOKEN_LIMIT_EXCEEDED"){await S(),ut(d,B.error.resetAtMs);return}if(q.status===429&&B?.error?.code==="DEMO_QUOTA_EXCEEDED"){await S(),At(d);return}if(q.status===429&&B?.error?.code==="RATE_LIMITED"){await S(),dt(d,B.error.retryAfterMs);return}if(q.status===409&&B?.error?.code==="HANDOFF_ACTIVE"){await S(),Pt(d,B.data?.handoffState),B.data?.sessionId&&Ne(B.data.sessionId);return}if(!q.ok||!B.success||!B.data)throw new Error(B.error?.message??`HTTP ${q.status}`);Ne(B.data.sessionId),et.current=!1,lt(d,B.data.assistantMessage),c.quickReplyClick.payload==="confirm_handoff"&&((B.data.assistantMessage.metadata?.toolCalls?.includes("request_human_handoff")??!1)||(ie({kind:"idle"}),Ee.current=null)),_e(Ae).then(bt=>He(bt));return}let A;const K=()=>{A&&clearTimeout(A),A=setTimeout(()=>{ve=!0,ge.current?.abort()},Yn)};K();const N=ge.current;if(!N){clearTimeout(A);return}const[Se,Zt]=await Te(async()=>{const q=await fetch(`${o}/api/widget/support-chat/stream`,{method:"POST",headers:M,body:JSON.stringify({message:u,productId:l,...z?{newSession:!0}:{},...ce?{userContext:os(ce)}:{}}),signal:N.signal});if(!q.ok||!q.body){const se=await q.json().catch(()=>null);if(q.status===429&&se?.error?.code==="DAILY_TOKEN_LIMIT_EXCEEDED")return{dailyLimitResetAtMs:se.error.resetAtMs};if(q.status===429&&se?.error?.code==="DEMO_QUOTA_EXCEEDED")return{demoQuotaExhausted:!0};if(q.status===429&&se?.error?.code==="RATE_LIMITED")return{rateLimitRetryAfterMs:se.error.retryAfterMs??6e4};if(q.status===409&&se?.error?.code==="HANDOFF_ACTIVE")return se.data?.sessionId&&Ne(se.data.sessionId),{handoffState:se.data?.handoffState??null};throw new Error(se?.error?.message??`HTTP ${q.status}`)}const B=q.body.getReader(),bt=new TextDecoder;let Xe="",Gt="",es=!1;for(;;){const{done:se,value:Ks}=await B.read();if(se)break;K(),Xe+=bt.decode(Ks,{stream:!0});let vt;for(;(vt=Xe.indexOf(`
|
|
4
|
+
|
|
5
|
+
`))!==-1;){const zs=Xe.slice(0,vt);Xe=Xe.slice(vt+2);const{event:Je,data:Ve}=Xn(zs);if(!(!Je||!Ve)){if(Je==="start"){const de=JSON.parse(Ve);de.sessionId&&(Ne(de.sessionId),st.current=de.sessionId),et.current=!1}else if(Je==="token"){const de=JSON.parse(Ve);Gt+=de.value??"";const xt=zn(Gt);P(Qs=>Qs.map(yt=>yt.id===d?{...yt,text:xt}:yt))}else if(Je==="meta"){const de=JSON.parse(Ve);lt(d,de.assistantMessage),_e(Ae).then(xt=>He(xt)),es=!0}else if(Je==="error"){const de=JSON.parse(Ve);if(de.code==="HANDOFF_ACTIVE")return{handoffState:null};throw new Error(de.message??"Stream error")}}}}if(!es)throw new Error("Stream ended before completion");return null});if(A&&clearTimeout(A),Zt)throw Zt;if(Se&&"handoffState"in Se){await S(),Pt(d,Se.handoffState);return}if(Se?.dailyLimitResetAtMs!==void 0){await S(),ut(d,Se.dailyLimitResetAtMs);return}if(Se?.demoQuotaExhausted){await S(),At(d);return}if(Se?.rateLimitRetryAfterMs!==void 0){await S(),dt(d,Se.rateLimitRetryAfterMs);return}}catch(A){if(A instanceof Error&&A.name==="AbortError"&&!ve){P(K=>K.filter(N=>N.id!==d));return}await S(),P(K=>K.filter(N=>N.id!==d)),tt.current===d&&(Ze({text:u,options:c}),Ye(r("support_chat.error_message")))}finally{tt.current===d&&qe(!1)}},[a,o,ce,p,l,r,lt,ut,dt,_e,Ae,Pe,m,we,Ce]),be=k?.realtimeProvider==="elevenlabs",[pt,ft]=s.useState([]),$t=s.useRef(0),ze=s.useRef([]);ze.current=pt;const nt=s.useRef(null),ht=s.useRef(null),Lt=s.useRef(new Set),mt=s.useRef(new Set),Qe=s.useRef(!1),Le=s.useRef(null),gt=s.useRef(null),at=s.useRef(!1),Ut=s.useRef(W);Ut.current=W;const Dt=k?.realtime===!0,Ot=s.useRef(i?.voiceStream);Ot.current=i?.voiceStream;const qt=s.useMemo(()=>{if(be){const e=jn({baseUrl:o,apiKey:p,jwt:_.current,language:w,enabled:!0,getSessionId:()=>Ut.current,onSessionId:c=>{ht.current=c,Ne(c)},onUserTurnEnd:()=>Le.current?.(),onTranscript:c=>ft(u=>{const h=u[u.length-1];if(!(h&&De(h)&&h.streaming&&h.role===c.role)){$t.current+=1;const j=`${ds}${$t.current}`;return[...u,{id:j,role:c.role,text:c.text,streaming:c.streaming}]}const d=c.role==="assistant"&&c.streaming?h.text+c.text:c.text;return[...u.slice(0,-1),{...h,text:d,streaming:c.streaming}]})});return nt.current=e,e}return nt.current=null,wn({voiceStream:Ot.current,language:w})},[be,o,p,w]),L=In({transport:qt,agentId:i?.voiceAgentId??"",onUserMessage:e=>{G(e)},onStopPlayback:()=>ee.current?.stop()}),Bt=L.state!=="idle"&&L.state!=="error",oe=L.state!=="idle",Ht=s.useRef(!1);s.useEffect(()=>{const e=Ht.current;if(Ht.current=oe,!oe){const c=(()=>{const u=ze.current;for(let h=u.length-1;h>=0;h-=1){const d=u[h];if(d&&d.role==="assistant"&&d.text?.trim())return d.text}return null})();if(ft([]),e){const u=ht.current??W;u&&Ke(u,c??void 0)}}},[oe]),s.useEffect(()=>{try{window.dispatchEvent(new CustomEvent("es-support-voice-mode",{detail:{active:oe}}))}catch{}},[oe]),s.useEffect(()=>{if(!be||!oe){Lt.current=new Set,mt.current=new Set,Qe.current=!1,Le.current=null;return}let e=!1,c=!1;at.current=!1;const u=async(C=!1)=>{const S=ht.current??W;if(!S||e)return!1;const D=_.current;let y=null;try{const N=await fetch(`${o}/api/support-chat/sessions/${S}/messages?limit=30`,{headers:{...p?{"X-API-Key":p}:{},...D?{Authorization:`Bearer ${D}`}:{}}});if(!N.ok)return!1;y=await N.json()}catch{return!1}if(e)return!1;const M=y?.data?.messages??[],z=Lt.current;if(!Qe.current){if(!C)return!1;for(const N of M)N.id&&mt.current.add(N.id),N.role==="user"&&N.id&&z.add(N.id);return Qe.current=!0,!1}const ve=mt.current,A=M.filter(N=>N.id&&N.content?.trim()&&(N.role==="user"||N.role==="assistant")&&!ve.has(N.id)).map(N=>({id:N.id,role:N.role,text:N.content,...N.metadata?{metadata:N.metadata}:{}}));if(A.length===0)return!1;ft(N=>Tn(N,A));const K=A.filter(N=>N.role==="user"&&!z.has(N.id));if(K.length===0)return!1;for(const N of K)z.add(N.id);return at.current=!0,!0},h=async()=>{if(!(c||e)){c=!0;for(let C=0;C<10&&!e&&!await u(!1);C++)await new Promise(S=>setTimeout(S,500));c=!1}};let d=0;const j=5e3;return Le.current=()=>{if(at.current)return;const C=Date.now();C-d<j||(d=C,h())},gt.current=async()=>{for(let C=0;C<6&&!e;C+=1){if(await u(!1),!ze.current.some(De))return;await new Promise(S=>setTimeout(S,700))}},(async()=>{for(let C=0;C<4&&!e&&!Qe.current;C+=1){if(await u(!0),Qe.current)return;await new Promise(S=>setTimeout(S,300))}})(),()=>{e=!0,Le.current=null,gt.current=null}},[be,oe,W,o,p]);const Ft=s.useRef(!1);s.useEffect(()=>{const e=Ft.current;Ft.current=L.userSpeaking,!e&&L.userSpeaking&&(at.current=!1),e&&!L.userSpeaking&&Le.current?.()},[L.userSpeaking]);const Kt=s.useRef(L.state);s.useEffect(()=>{const e=Kt.current;Kt.current=L.state,(L.state==="thinking"||L.state==="speaking")&&!(e==="thinking"||e==="speaking")&&Le.current?.()},[L.state]);const We=s.useRef(null);s.useEffect(()=>{if(!be||!oe)return;const e=ze.current[ze.current.length-1];if(!(!e||!De(e)||e.role!=="assistant"||!e.text.trim()))return We.current&&clearTimeout(We.current),We.current=setTimeout(()=>{gt.current?.()},900),()=>{We.current&&clearTimeout(We.current)}},[pt,be,oe]);const[zt,xs]=s.useState(!1),[ys,Qt]=s.useState(!1),ks=s.useCallback(e=>{nt.current?.sendUserMessage(e)&&Qt(!0)},[]);s.useEffect(()=>{(L.state==="thinking"||L.state==="speaking")&&Qt(!1)},[L.state]);const Ue=be?pt.map(e=>({key:e.id,role:e.role,text:e.text,...e.metadata?{metadata:e.metadata}:{},...e.streaming?{streaming:!0}:{}})):$.map(e=>{const c=e.role==="assistant"&&e.refusalReason?r(`support_chat.refusal_${e.refusalReason}`,{productName:e.refusalProductName??""}):e.text;return c?{key:e.id,role:e.role==="assistant"?"assistant":"user",text:c,confidence:e.confidenceLevel}:null}).filter(e=>e!==null),ws=be&&oe&&Ue.length>0&&Ue[Ue.length-1].role==="user",js=t.jsxs("div",{className:"es-sc__messages",children:[Ue.map((e,c)=>{const u=c===Ue.length-1;return t.jsxs("div",{className:`es-sc__bubble es-sc__bubble--${e.role}`,"data-confidence":e.confidence,children:[e.role==="assistant"?t.jsx(ss,{text:e.text,allowedLinkHosts:me}):t.jsx("div",{className:"es-sc__bubble-text",children:e.text}),e.role==="assistant"&&t.jsx(ns,{followUps:e.metadata?.suggestedFollowUps,isNewest:u,isPending:!!e.streaming,hasQuickReplies:!!e.metadata?.quickReplies?.length,isSending:ys,onSelect:ks,t:r})]},e.key)}),ws?t.jsx("div",{className:"es-vm__answer-pending",role:"status","aria-label":r("voice_conv.thinking"),children:t.jsxs("div",{className:"es-vm__answer-wave",children:[t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{}),t.jsx("span",{})]})}):null]}),Wt=s.useRef(null);s.useEffect(()=>{if(Dt||!Bt||!T||!X)return;const e=$[$.length-1];!e||e.role!=="assistant"||Wt.current!==e.id&&(Wt.current=e.id,T.activate(e.id))},[$,Bt,T,X]);const _t=s.useCallback(()=>{const e=i?.voiceStream;e?.getState&&e.getState()!=="idle"&&e.stop(),G(te)},[te,G,i]),Cs=s.useCallback(()=>{ge.current?.abort(),qe(!1);const e=tt.current;e&&P(c=>c.filter(u=>u.id!==e))},[]),Ss=s.useCallback(()=>{Be&&G(Be.text,Be.options)},[Be,G]),Ns=s.useCallback(e=>{if(e.autoSend){G(e.message);return}Ie([]),ae(""),Ce(),Z.current&&(Z.current.style.height="auto",Z.current.focus())},[G,Ce]);s.useEffect(()=>{if(!(I!==void 0||V.length>0))return;const e=`${I}${String(F)}${Y}`;if(Et.current!==e){if(Et.current=e,ct.current=!0,F&&I!==void 0){Ie([]),G(I);return}Ie(V),I!==void 0&&(ae(I),requestAnimationFrame(()=>{je(),Z.current?.focus()}))}},[I,F,Y,G]),s.useEffect(()=>{const e=i?.voiceStream;e?.getState&&e.getState()!=="idle"&&e.stop()},[v]);const Rs=s.useCallback(e=>{e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),_t())},[_t]),Es=s.useCallback(e=>{Ce(),ae(e.target.value),je()},[je,Ce]),Ts=s.useCallback(()=>{Ce(),ae(""),Z.current&&(Z.current.style.height="auto",Z.current.focus())},[Ce]),Is=s.useCallback(e=>{const c=e.trim();c&&(ae(u=>u?`${u} ${c}`:c),requestAnimationFrame(()=>{je(),Z.current?.focus()}))},[je]),Ms=s.useCallback(e=>{a.emit("support-chat:escalated",{messageId:e})},[a]),Xt=s.useRef($);s.useEffect(()=>{Xt.current=$},[$]);const As=s.useCallback(({messageId:e,rating:c},{keepalive:u})=>{const h=Xt.current.find(d=>d.id===e);!h||!h.promptLogId||_.current&&(P(d=>d.map(j=>j.id===e?{...j,rating:c,ratingPending:!0}:j)),(async()=>{const[d,j]=await Te(fetch(`${o}/api/widget/ai-feedback`,{method:"POST",keepalive:u,headers:{"Content-Type":"application/json",...p?{"X-API-Key":p}:{},Authorization:`Bearer ${_.current}`},body:JSON.stringify({promptLogId:h.promptLogId,rating:c})}));if(!j&&d.status===409){P(C=>C.map(S=>S.id===e?{...S,rating:c,ratingPending:!1}:S));return}if(j||!d.ok){P(C=>C.map(S=>S.id===e?{...S,rating:null,ratingPending:!1}:S));return}P(C=>C.map(S=>S.id===e?{...S,rating:c,ratingPending:!1}:S)),a.emit("support-chat:feedbackSubmitted",{messageId:e,rating:c})})())},[a,p,o]),{pending:Jt,rate:Vt,undo:Ps}=Vs({submit:As}),$s=s.useCallback((e,c)=>{const u=$.find(h=>h.id===e);!u||!u.promptLogId||u.ratingPending||_.current&&Vt(e,c)},[$,Vt]),Ls=s.useCallback(()=>{Fe("chat"),ie({kind:"idle"}),Ee.current=null,a.emit("support-chat:clearHistory",void 0)},[a]),Us=s.useCallback(async()=>{if(!W)return;const e=_.current;try{const c=await fetch(`${o}/api/widget/support-chat/handoff/request`,{method:"POST",headers:{"Content-Type":"application/json",...p?{"X-API-Key":p}:{},...e?{Authorization:`Bearer ${e}`}:{}},body:JSON.stringify({sessionId:W,productId:l,conversationLanguage:w})}),u=await c.json();if(!c.ok||!u.success){ie({kind:"idle"});return}if(u.data?.outcome==="unavailable"){ie({kind:"unavailable",reason:Wn(u.data.reason)});return}if(u.data?.outcome==="already_active"){ie(u.data.state==="human"?{kind:"human",displayName:null}:{kind:"waiting",until:Ee.current});return}if(u.data?.outcome==="offered"){const h=u.data.acceptTimeoutSec;Ee.current=typeof h=="number"?Date.now()+h*1e3:null,ie({kind:"waiting",until:Ee.current})}}catch{ie({kind:"idle"})}},[p,o,w,l,W]),Ds=s.useCallback(async e=>{if(!W)return!1;const c=_.current;try{const u=await fetch(`${o}/api/widget/support-chat/handoff/contact`,{method:"POST",headers:{"Content-Type":"application/json",...p?{"X-API-Key":p}:{},...c?{Authorization:`Bearer ${c}`}:{}},body:JSON.stringify({sessionId:W,productId:l,...e.email?{email:e.email}:{},...e.phone?{phone:e.phone}:{},...e.note?{note:e.note}:{}})}),h=await u.json();return!u.ok||!h.success?!1:(ie({kind:"contact_left"}),!0)}catch{return!1}},[p,o,l,W]),Os=s.useCallback(()=>{ie({kind:"idle"})},[]),rt=s.useCallback(()=>{Fe("tickets"),Ge(!0),_e(Ae).then(e=>He(e)).catch(()=>{}).finally(()=>Ge(!1))},[_e,Ae]),qs=s.useCallback(()=>{re==="tickets"?Fe("chat"):rt()},[re,rt]),Bs=s.useCallback(e=>{Fe("chat"),a.emit("support-chat:select-session",{sessionId:e})},[a]);s.useEffect(()=>R?a.on("support-chat:showTickets",()=>{rt()}):void 0,[a,rt,R]);const Hs=s.useCallback((e,c,u)=>{P(j=>j.map(C=>C.id===e?{...C,quickReplyAnswered:c}:C));const h=$.find(j=>j.id===e)?.awaitingConfirmation,d=Hn.includes(u);u==="confirm_handoff"&&ie({kind:"waiting",until:Ee.current}),G(c,{...d?{quickReplyClick:{payload:u,summary:h?.summary,details:h?.details??void 0,priority:h?.priority,sourceMessageId:e}}:{}})},[$,G]),Fs=s.useCallback(()=>{a.emit("support-chat:showHistory",void 0)},[a]),Yt=$.length===0;return oe?t.jsx(ts,{blockType:"support-chat",children:t.jsx(Ln,{state:L.state,draft:L.draft,error:L.error,muted:zt,listening:L.userSpeaking,hasTranscript:Ue.length>0,transcript:js,onToggleMute:()=>{const e=!zt;xs(e),nt.current?.setMuted(e)},onEnd:()=>L.stop(),onRetry:()=>{L.start()},t:r})}):t.jsxs(ts,{blockType:"support-chat",children:[t.jsxs("div",{className:"es-sc__chat-header",children:[t.jsx("span",{className:"es-sc__chat-header-title",children:R&&re==="tickets"?r("support_chat.tickets_view_title"):Oe}),t.jsxs("div",{className:"es-sc__chat-header-actions",children:[t.jsx("button",{type:"button",className:"es-sc__chat-action-btn","aria-label":r("support_chat.new_conversation_button"),title:r("support_chat.new_conversation_button"),onClick:Ls,children:t.jsx(qn,{size:18})}),t.jsx("button",{type:"button",className:"es-sc__chat-action-btn","aria-label":r("support_chat.history_button"),title:r("support_chat.history_button"),onClick:Fs,children:t.jsx(On,{size:16})}),he&&re==="chat"&&Rt.kind==="idle"&&t.jsx("button",{type:"button",className:"es-sc__chat-action-btn es-sc__chat-action-btn--label","aria-label":r("support_chat.handoff.button_label"),title:r("support_chat.handoff.button_label"),onClick:()=>{Us()},children:r("support_chat.handoff.button_label")}),R&&t.jsx("button",{type:"button",className:`es-sc__chat-action-btn${re==="tickets"?" es-sc__chat-action-btn--active":""}`,"aria-label":r("support_chat.tickets_tab_button"),title:r("support_chat.tickets_tab_button"),"aria-pressed":re==="tickets",onClick:qs,children:t.jsx(Bn,{size:16})}),t.jsx(Ys,{panelKey:"support-chat",baseUrl:o,apiKey:p||void 0,t:r})]})]}),t.jsx("div",{className:"es-block__body es-sc__body",children:R&&re==="tickets"?t.jsx(un,{status:Ae,loading:gs,tickets:ms,onSelectStatus:vs,onSelectSession:Bs,t:r}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"es-sc__messages",ref:_s,children:[Yt&&t.jsx("div",{className:"es-sc__welcome",children:t.jsx("div",{className:"es-sc__welcome-text",children:O})}),$.map((e,c)=>{const u=c===$.length-1,h=e.role==="assistant"&&e.refusalReason?r(`support_chat.refusal_${e.refusalReason}`,{productName:e.refusalProductName??""}):e.text;return t.jsxs("div",{className:`es-sc__bubble es-sc__bubble--${e.role}`,"data-confidence":e.confidenceLevel,children:[h&&(e.role==="assistant"?t.jsxs(t.Fragment,{children:[t.jsx(ss,{text:h,allowedLinkHosts:me}),t.jsx(on,{text:h,allowEmbeds:ye,allowedImageHosts:me,t:r}),X&&t.jsx(vn,{id:e.id,session:T,onActivate:()=>T.activate(e.id),t:r})]}):t.jsx("div",{className:"es-sc__bubble-text",children:h})),e.isPending&&!e.text&&t.jsxs("div",{className:"es-sc__typing","aria-label":r("support_chat.typing_aria"),children:[t.jsx("span",{className:"es-sc__typing-dot"}),t.jsx("span",{className:"es-sc__typing-dot"}),t.jsx("span",{className:"es-sc__typing-dot"})]}),e.actions&&e.actions.length>0&&t.jsx("div",{className:"es-sc__actions","data-es-no-read":!0,children:e.actions.map(d=>t.jsx("a",{href:Qn(d.url)?d.url:"#",target:"_blank",rel:"noopener noreferrer",className:"es-sc__action-btn",children:d.title},d.slug))}),e.ticketCards&&e.ticketCards.length>0&&t.jsx("div",{className:"es-sc__ticket-cards",children:e.ticketCards.map(d=>t.jsx(us,{card:d,t:r},d.externalNumber))}),e.quickReplies&&e.quickReplies.length>0&&t.jsx("div",{className:"es-sc__quick-replies",children:e.quickReplies.map(d=>{const j=e.quickReplyAnswered===d.value;if(e.quickReplyAnswered!==void 0&&!j)return null;const C=d.payload==="confirm_escalation"?r("escalation.confirm_yes"):d.payload==="cancel_escalation"?r("escalation.confirm_no"):d.payload==="confirm_handoff"?r("support_chat.handoff.confirm_yes"):d.payload==="decline_handoff"?r("support_chat.handoff.confirm_no"):d.label;return t.jsx("button",{type:"button",disabled:j||Q,onClick:()=>Hs(e.id,d.value,d.payload??""),className:`es-sc__quick-reply-btn${j?" es-sc__quick-reply-btn--clicked":""}`,children:C},d.value)})}),e.role==="assistant"&&t.jsx(ns,{followUps:e.suggestedFollowUps,isNewest:u,isPending:!!e.isPending,hasQuickReplies:!!e.quickReplies?.length,isSending:Q,onSelect:d=>G(d),t:r}),e.role==="assistant"&&!e.isPending&&e.text&&t.jsxs(t.Fragment,{children:[e.promptLogId&&_.current&&(()=>{const d=Jt?.messageId===e.id?Jt.rating:null;return t.jsxs("div",{className:"es-sc__feedback","aria-label":r("support_chat.rate_aria"),"data-es-no-read":!0,children:[t.jsx("span",{className:"es-sc__feedback-label",children:e.rating&&d===null?r("support_chat.feedback_thanks"):r("support_chat.rate_aria")}),t.jsx(Gn,{value:d??e.rating??null,onChange:j=>$s(e.id,j),disabled:d===null&&(!!e.rating||e.ratingPending),t:r}),d!==null&&t.jsxs("div",{className:"es-sc__rating-undo",role:"status",children:[t.jsx("span",{className:"es-sc__rating-undo-text",children:r("support_chat.rating_undo_toast",{rating:d})}),t.jsx("button",{type:"button",className:"es-sc__rating-undo-btn",onClick:Ps,children:r("support_chat.rating_undo_button")})]})]})})(),e.confidenceLevel==="low"&&t.jsxs("div",{className:"es-sc__escalation",children:[t.jsx("span",{className:"es-sc__escalation-text",children:r("support_chat.low_confidence")}),t.jsx("button",{className:"es-sc__escalation-btn",onClick:()=>Ms(e.id),type:"button","aria-label":fe,children:fe})]})]})]},e.id)}),Ct&&t.jsxs("div",{className:"es-sc__error",role:"alert",children:[t.jsx("span",{className:"es-sc__error-text",children:Ct}),Be&&t.jsx("button",{type:"button",className:"es-sc__error-retry",onClick:Ss,children:r("support_chat.retry")})]})]}),!bs&&$.length>0&&t.jsxs("button",{type:"button",className:"es-sc__jump",onClick:()=>Pe(),"aria-label":r("support_chat.jump_to_latest"),title:r("support_chat.jump_to_latest"),children:[t.jsxs("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[t.jsx("path",{d:"M12 5v14"}),t.jsx("path",{d:"m19 12-7 7-7-7"})]}),t.jsx("span",{className:"es-sc__jump-label",children:r("support_chat.jump_to_latest")})]})]})}),re!=="tickets"&&ke.length>0&&t.jsx("div",{className:"es-sc__suggestions",role:"group","aria-label":r("support_chat.quick_actions_aria"),children:ke.map((e,c)=>t.jsx("button",{className:"es-sc__suggestion",onClick:()=>Ns(e),type:"button",disabled:Q||b,children:e.labelKey?r(e.labelKey):e.label},`${e.labelKey??e.label}-${c}`))}),re!=="tickets"&&ke.length===0&&Yt&&ue&&ne.length>0&&t.jsx("div",{className:"es-sc__suggestions",role:"list","aria-label":r("support_chat.suggestions_aria"),children:ne.map((e,c)=>t.jsx("button",{className:"es-sc__suggestion",onClick:()=>G(e),type:"button",role:"listitem",children:e},c))}),re!=="tickets"&&t.jsx(Rn,{status:Rt,onSubmitContact:Ds,onDismissContact:Os,t:r}),re!=="tickets"&&t.jsxs("div",{className:"es-block__footer es-sc__footer",children:[t.jsx("div",{className:"es-sc__disclaimer","data-es-no-read":!0,children:r("support_chat.disclaimer")}),t.jsxs("div",{className:"es-sc__input-row",children:[U&&qt.available&&(be||Dt||E)&&t.jsx("button",{type:"button",className:"es-sc__conv-start","data-testid":"conversation-start","aria-label":r("voice_conv.start"),title:r("voice_conv.start"),onClick:()=>{L.start()},children:t.jsx("svg",{width:"19",height:"19",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round","aria-hidden":"true",children:t.jsx("path",{d:"M4 10v4M8 6v12M12 3v18M16 6v12M20 10v4"})})}),t.jsxs("div",{className:"es-sc__textarea-wrap",children:[t.jsx("textarea",{ref:Z,className:"es-sc__textarea",value:te,onChange:Es,onKeyDown:Rs,placeholder:Re!=null?r("support_chat.rate_limited_wait",{seconds:String(fs)}):pe,rows:1,maxLength:2e3,disabled:Q||b||Me!=null||Re!=null||ot,"aria-label":r("support_chat.input_aria")}),te.length>0&&t.jsx("button",{className:"es-sc__clear",onClick:Ts,disabled:Q,type:"button","aria-label":r("support_chat.clear_input_aria"),children:t.jsx("span",{"aria-hidden":"true",children:"✕"})})]}),E&&!b&&t.jsx(hn,{baseUrl:o,apiKey:p,jwt:_.current,language:w,onTranscript:Is,t:r,disabled:Q||Me!=null||Re!=null||ot,streaming:k?.streaming,voiceStream:i?.voiceStream,baseText:()=>te,onText:e=>{if(ae(e.length>2e3?e.slice(0,2e3):e),e.length>=2e3){const c=i?.voiceStream;c?.getState&&c.getState()!=="idle"&&c.stop()}requestAnimationFrame(()=>{je(),Z.current?.focus()})}}),t.jsx("button",{className:`es-sc__send${Q?" es-sc__send--stop":""}`,onClick:Q?Cs:_t,disabled:!Q&&(b||!te.trim()||Me!=null||Re!=null||ot),type:"button","aria-label":r(Q?"support_chat.stop_aria":"chat.send_aria"),children:Q?t.jsx("span",{className:"es-sc__stop-icon","aria-hidden":"true"}):t.jsx("span",{"aria-hidden":"true",children:"➤"})})]})]})]})}export{on as AssistantMessageMedia,la as Component,ss as MarkdownBubble,rn as MessageMedia,Ln as VoiceModeView,ca as manifest};
|
|
6
|
+
//# sourceMappingURL=index-D-ZhVFzi-A3rpkVmQ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as l,j as e,Q as w}from"../nexly.js";import{S as z,I,L as T,j as W,_ as q,k as D,m as O}from"./index.modern-CioVZ357-BA5NTOmY.js";import"./_commonjsHelpers-C6fGbg64-BC8KDfbh.js";const Z={slug:"venue-map",name:"Venue Map",version:"1.0.0",category:"interactive",requiredService:"venue-discovery",configSchema:{properties:{zoom:{type:"number",default:13},showRadius:{type:"boolean",default:!0}}},defaultConfig:{zoom:13,showRadius:!0},dataContract:{serviceSlug:"venue-discovery",inputSchema:{type:"object",properties:{venues:{type:"array",items:{type:"object",properties:{id:{type:"string"},name:{type:"string"},category:{type:"string"},lat:{type:"number"},lng:{type:"number"},rating:{type:"number"},distanceKm:{type:"number"}}}},centerLat:{type:"number"},centerLng:{type:"number"},radiusKm:{type:"number"}},required:["venues"]},previewDataOverride:{venues:[{id:"v-1",name:"Blue Bottle Coffee",category:"cafe",lat:37.5172,lng:127.0473,rating:4.5,distanceKm:.3},{id:"v-2",name:"Coexartium Gallery",category:"gallery",lat:37.5118,lng:127.059,rating:4.2,distanceKm:.8},{id:"v-3",name:"Oakwood Premier COEX",category:"hotel",lat:37.5133,lng:127.0585,rating:4.7,distanceKm:1.1}],centerLat:37.515,centerLng:127.053,radiusKm:2}},fields:[{id:"zoom",type:"range",label:"Default zoom level",default:13,min:8,max:18,step:1,group:"Map"},{id:"showRadius",type:"toggle",label:"Show search radius circle",default:!0,group:"Display"}],events:{emits:[{name:"venueMap:markerClicked",description:"User clicked on a venue marker"},{name:"venueMap:viewChanged",description:"Map viewport moved or zoomed"}],listens:[{name:"venue:locationChanged",description:"Re-center map on new user location"},{name:"venues:refresh",description:"Reload venue pins on the map"}]},sizing:{minWidth:240,preferredHeight:"auto",scrollable:!1},supportedPlacements:["main"]},P={lat:37.5665,lng:126.978};let A=0;function F(){return e.jsxs("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[e.jsx("circle",{cx:"12",cy:"12",r:"3.5"}),e.jsx("line",{x1:"12",y1:"2",x2:"12",y2:"5"}),e.jsx("line",{x1:"12",y1:"19",x2:"12",y2:"22"}),e.jsx("line",{x1:"2",y1:"12",x2:"5",y2:"12"}),e.jsx("line",{x1:"19",y1:"12",x2:"22",y2:"12"})]})}function G(){return e.jsx("svg",{className:"es-venuemap__spinner",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5","aria-hidden":"true",children:e.jsx("path",{d:"M12 3 a9 9 0 1 0 9 9",strokeLinecap:"round"})})}function H({open:i}){return e.jsx("svg",{className:`es-venuemap__chevron${i?" es-venuemap__chevron--open":""}`,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:e.jsx("polyline",{points:"9 18 15 12 9 6"})})}function $({data:i,i18n:x,actions:d}){const r=x?.t??(a=>a),L=x?.currentLanguage??i.language??"en",[m,M]=l.useState(null),[o,S]=l.useState(!0),[p,y]=l.useState(!1),v=l.useState(()=>`es-venue-map-body-${A++}`)[0],j=l.useRef(null),K=z(j,"--es-color-on-primary","#ffffff"),R=l.useCallback(()=>{d?.emit&&(y(!0),d.emit("geo:request",void 0))},[d]);l.useEffect(()=>{if(!d?.on)return;const a=d.on("geo:status",t=>{const c=t?.state;(c==="granted"||c==="denied"||c==="unavailable")&&y(!1)});return()=>a()},[d]);const h=i.venues??[],u=h.length,b=i.googleMapsApiKey,g=i.googleMapsMapId??void 0,B=!!g,s=l.useMemo(()=>h.map(a=>{const t=a.coordinates?.lat??a.lat,c=a.coordinates?.lng??a.lng;return typeof t=="number"&&typeof c=="number"?{...a,lat:t,lng:c}:null}).filter(a=>a!==null),[h]),E=l.useMemo(()=>{const a=i.center;return a&&typeof a.lat=="number"&&typeof a.lng=="number"?{lat:a.lat,lng:a.lng}:s.length>0?{lat:s[0].lat,lng:s[0].lng}:P},[i.center,s]),n=m!=null?s[m]??null:null,_=l.useCallback(a=>M(a),[]),f=r(o?"venue_map.hide_map":"venue_map.show_map"),k=r("venue_map.use_my_location"),N=e.jsxs("div",{className:"es-venuemap__bar",children:[e.jsx("button",{type:"button",className:"es-venuemap__locate",onClick:R,disabled:p,"aria-label":k,"aria-busy":p,title:k,children:p?e.jsx(G,{}):e.jsx(F,{})}),e.jsxs("button",{type:"button",className:"es-venuemap__toggle",onClick:()=>S(a=>!a),"aria-expanded":o,"aria-controls":v,"aria-label":f,children:[e.jsx("span",{className:"es-venuemap__toggle-label",children:f}),e.jsx(H,{open:o})]})]}),C=o?void 0:"es-venuemap--collapsed";return b?e.jsxs(w,{blockType:"venue-map",className:C,children:[e.jsx("div",{id:v,className:"es-block__body es-block__body--map",hidden:!o,ref:j,children:o&&e.jsxs(e.Fragment,{children:[e.jsx(I,{apiKey:b,language:L,children:e.jsx(T,{className:"es-venuemap__canvas",defaultCenter:E,defaultZoom:s.length>0?13:11,mapTypeControl:!1,fullscreenControl:!1,streetViewControl:!1,...g?{mapId:g}:{},children:s.map((a,t)=>B?e.jsx(W,{position:{lat:a.lat,lng:a.lng},title:a.name,onClick:()=>_(t),children:e.jsx(q,{background:t===m?"var(--es-color-interactive, #2563EB)":"var(--es-color-primary, #2563EB)",borderColor:D,glyphColor:K,scale:t===m?1.25:1})},t):e.jsx(O,{position:{lat:a.lat,lng:a.lng},title:a.name,onClick:()=>_(t)},t))})}),s.length>0&&u>s.length&&e.jsxs("div",{className:"es-venuemap__no-coords-badge",role:"note",children:[e.jsx("span",{"aria-hidden":"true",children:"📍"})," ",r("venue_map.partial_no_coords_badge",{count:u-s.length})]}),u>0&&s.length===0&&e.jsxs("div",{className:"es-venuemap__no-coords-overlay",role:"note",children:[e.jsx("div",{"aria-hidden":"true",children:"📍"}),e.jsx("div",{children:r("venue_map.no_coords_notice")})]}),n&&e.jsxs("div",{className:"es-venuemap__detail",role:"dialog","aria-label":n.name,children:[e.jsx("button",{type:"button",className:"es-venuemap__detail-close",onClick:()=>_(null),"aria-label":r("venue_map.close_details"),children:"×"}),e.jsx("h3",{className:"es-venuemap__detail-title",children:n.name}),e.jsxs("div",{className:"es-venuemap__detail-meta",children:[n.rating!=null&&e.jsxs("span",{className:"es-venuemap__detail-meta-item",children:["★"," ",n.rating.toFixed(1)]}),(n.type||n.types?.[0])&&e.jsx("span",{className:"es-venuemap__detail-meta-item",children:n.type??n.types?.[0]})]}),n.address&&e.jsx("div",{className:"es-venuemap__detail-address",children:n.address}),n.url&&e.jsxs("a",{href:n.url,className:"es-venuemap__detail-cta",target:"_blank",rel:"noopener noreferrer",children:[r("venue_list.view_details")," →"]})]})]})}),N]}):e.jsxs(w,{blockType:"venue-map",className:C,children:[e.jsx("div",{id:v,className:"es-block__body",hidden:!o,children:e.jsxs("div",{className:"es-map-placeholder",children:[e.jsx("div",{className:"es-map-placeholder__icon","aria-hidden":"true",children:"🗺"}),e.jsx("div",{className:"es-map-placeholder__message",children:r("venue_map.no_api_key")}),u>0&&e.jsx("div",{className:"es-map-placeholder__count",children:r("venue_map.venues_available",{count:u})}),e.jsx("div",{className:"es-map-placeholder__hint",children:r("venue_map.use_list_hint")})]})}),N]})}export{$ as Component,Z as manifest};
|
|
2
|
+
//# sourceMappingURL=index-D72orqXX-C_0Ll4qr.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,Q as i}from"../nexly.js";const n={slug:"dashboard-overview",name:"Dashboard Overview",version:"1.0.0",category:"content",configSchema:{},defaultConfig:{},dataContract:{serviceSlug:null,inputSchema:{type:"object",properties:{}}},fields:[],sizing:{minWidth:240,preferredHeight:"auto",scrollable:!1},supportedPlacements:["main"]};function r({i18n:a}){const s=a?.t??(t=>t);return e.jsx(i,{blockType:"dashboard-overview",children:e.jsxs("div",{className:"es-widget__dash",children:[e.jsx("div",{className:"es-widget__panel-header",children:e.jsx("div",{className:"es-widget__panel-header-left",children:e.jsx("h2",{className:"es-widget__panel-header-title",children:s("dashboard.title")})})}),e.jsx("div",{className:"es-widget__dash-content",children:e.jsx("p",{className:"es-widget__dash-empty",children:s("dashboard.select_tab")})})]})})}export{r as Component,n as manifest};
|
|
2
|
+
//# sourceMappingURL=index-D9grn5WJ-Dp5AxBD4.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as e,Q as d}from"../nexly.js";const u={slug:"venue-list",name:"Venue List",version:"1.0.0",category:"content",requiredService:"venue-discovery",configSchema:{properties:{radiusKm:{type:"number",default:10},limit:{type:"number",default:10},hidden:{type:"boolean",default:!1}}},defaultConfig:{radiusKm:10,limit:10,hidden:!1},dataContract:{serviceSlug:"venue-discovery",inputSchema:{type:"object",properties:{venues:{type:"array",items:{type:"object",properties:{id:{type:"string"},name:{type:"string"},category:{type:"string"},address:{type:"string"},rating:{type:"number"},reviewCount:{type:"number"},distanceKm:{type:"number"},photoUrl:{type:"string"}}}},total:{type:"number"}},required:["venues"]},previewDataOverride:{venues:[{id:"v-1",name:"Blue Bottle Coffee",category:"cafe",address:"123 Teheran-ro, Gangnam-gu",rating:4.5,reviewCount:312,distanceKm:.3,photoUrl:""},{id:"v-2",name:"Coexartium Gallery",category:"gallery",address:"456 Samsung-dong, Gangnam-gu",rating:4.2,reviewCount:198,distanceKm:.8,photoUrl:""},{id:"v-3",name:"Oakwood Premier COEX",category:"hotel",address:"789 Bongeunsa-ro, Gangnam-gu",rating:4.7,reviewCount:567,distanceKm:1.1,photoUrl:""}],total:3}},fields:[{id:"radiusKm",type:"range",label:"Search radius (km)",default:10,min:1,max:50,step:1,group:"Search"},{id:"limit",type:"range",label:"Max venues to show",default:10,min:1,max:50,step:1,group:"Content"},{id:"hidden",type:"toggle",label:"Hidden (collect data only, render nothing)",default:!1,group:"Behavior"}],events:{emits:[{name:"venues:venueSelected",description:"User clicked on a venue in the list"},{name:"venues:radiusChanged",description:"User changed the search radius"}],listens:[{name:"venue:locationChanged",description:"Re-run venue search at new user location"},{name:"venues:refresh",description:"Reload venue list from discovery service"}]},sizing:{minWidth:240,preferredHeight:"auto",scrollable:!1},supportedPlacements:["main","sidebar"]};function c({data:n,config:a,i18n:i}){const r=i?.t??(s=>s),t=n.venues??[];return a?.hidden===!0?null:e.jsx(d,{blockType:"venue-list",children:e.jsxs("div",{className:"es-block__body",children:[t.length===0&&e.jsx("div",{className:"es-block__empty",children:r("venue_list.empty")}),t.length>0&&e.jsx("ul",{className:"es-vlist__items",children:t.map((s,l)=>e.jsxs("li",{className:"es-vlist__item",children:[e.jsx("div",{className:"es-vlist__name",children:s.name}),e.jsxs("div",{className:"es-vlist__meta",children:[s.type&&e.jsx("span",{className:"es-vlist__type",children:s.type}),s.rating!=null&&e.jsxs("span",{className:"es-vlist__rating",children:["★"," ",s.rating.toFixed(1)]})]}),s.address&&e.jsx("div",{className:"es-vlist__address",children:s.address})]},l))})]})})}export{c as Component,u as manifest};
|
|
2
|
+
//# sourceMappingURL=index-DDEE3QfX-3B-eE3K7.js.map
|