PageSourceSearch

https://app.engineroommedia.com/assets/LinkDetailPage-CsWACiH3.js

js engineroommedia.com collected 2026-10-04 06:40:56 UTC 47,630 bytes, 8 lines download raw bytes

vendor: 21,150 bytes, lines 1-7
1import{r as D,w as ct,c as C,f as k,y as c,ac as Ne,x as U,i as S,O as L,N as Y,ad as Le,s as V,R as Ie,o as Re,F as Z,D as et,Q as Me,S as Et,T as Gt,V as At,H as Qt,z as ut,C as De,ag as Ue,B as qt,J as Fe,a2 as ze,G as $e}from"./vue-vendor-Ca2KJKWD.js";import{u as Ve}from"./conversions-DksKOlDg.js";import{e as N,t as R,c as Oe}from"./index-DUF3Nigd.js";import{_ as Wt}from"./StatCard-OKeeOZs2.js";import{S as Zt,_ as Ke,g as Xt}from"./CrossPlatformClickTraffic-CgKJBfZO.js";import"./sentry-CIlHrBXa.js";import"./ag-grid-Dji7NRd5.js";import"./metricConfig-DC23_NW-.js";import"./ChartAPINew-DwBmiGEq.js";import"./TableAPI-CcguwXrd.js";import"./dataGaps-C-ER-kOB.js";/* empty css                                                                    */import"./ERMForm-BC6KFco6.js";var nt={},He=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then},oe={},z={};let Dt;const je=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];z.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};z.getSymbolTotalCodewords=function(t){return je[t]};z.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};z.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Dt=t};z.isKanjiModeEnabled=function(){return typeof Dt<"u"};z.toSJIS=function(t){return Dt(t)};var xt={};(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(s){if(typeof s!="string")throw new Error("Param is not a string");switch(s.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+s)}}e.isValid=function(o){return o&&typeof o.bit<"u"&&o.bit>=0&&o.bit<4},e.from=function(o,n){if(e.isValid(o))return o;try{return t(o)}catch{return n}}})(xt);function re(){this.buffer=[],this.length=0}re.prototype={get:function(e){const t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let s=0;s<t;s++)this.putBit((e>>>t-s-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};var Je=re;function gt(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}gt.prototype.set=function(e,t,s,o){const n=e*this.size+t;this.data[n]=s,o&&(this.reservedBit[n]=!0)};gt.prototype.get=function(e,t){return this.data[e*this.size+t]};gt.prototype.xor=function(e,t,s){this.data[e*this.size+t]^=s};gt.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};var Ye=gt,se={};(function(e){const t=z.getSymbolSize;e.getRowColCoords=function(o){if(o===1)return[];const n=Math.floor(o/7)+2,r=t(o),a=r===145?26:Math.ceil((r-13)/(2*n-2))*2,i=[r-7];for(let l=1;l<n-1;l++)i[l]=i[l-1]-a;return i.push(6),i.reverse()},e.getPositions=function(o){const n=[],r=e.getRowColCoords(o),a=r.length;for(let i=0;i<a;i++)for(let l=0;l<a;l++)i===0&&l===0||i===0&&l===a-1||i===a-1&&l===0||n.push([r[i],r[l]]);return n}})(se);var ie={};const Ge=z.getSymbolSize,te=7;ie.getPositions=function(t){const s=Ge(t);return[[0,0],[s-te,0],[0,s-te]]};var ae={};(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(n){return n!=null&&n!==""&&!isNaN(n)&&n>=0&&n<=7},e.from=function(n){return e.isValid(n)?parseInt(n,10):void 0},e.getPenaltyN1=function(n){const r=n.size;let a=0,i=0,l=0,h=null,m=null;for(let P=0;P<r;P++){i=l=0,h=m=null;for(let v=0;v<r;v++){let p=n.get(P,v);p===h?i++:(i>=5&&(a+=t.N1+(i-5)),h=p,i=1),p=n.get(v,P),p===m?l++:(l>=5&&(a+=t.N1+(l-5)),m=p,l=1)}i>=5&&(a+=t.N1+(i-5)),l>=5&&(a+=t.N1+(l-5))}return a},e.getPenaltyN2=function(n){const r=n.size;let a=0;for(let i=0;i<r-1;i++)for(let l=0;l<r-1;l++){const h=n.get(i,l)+n.get(i,l+1)+n.get(i+1,l)+n.get(i+1,l+1);(h===4||h===0)&&a++}return a*t.N2},e.getPenaltyN3=function(n){const r=n.size;let a=0,i=0,l=0;for(let h=0;h<r;h++){i=l=0;for(let m=0;m<r;m++)i=i<<1&2047|n.get(h,m),m>=10&&(i===1488||i===93)&&a++,l=l<<1&2047|n.get(m,h),m>=10&&(l===1488||l===93)&&a++}return a*t.N3},e.getPenaltyN4=function(n){let r=0;const a=n.data.length;for(let l=0;l<a;l++)r+=n.data[l];return Math.abs(Math.ceil(r*100/a/5)-10)*t.N4};function s(o,n,r){switch(o){case e.Patterns.PATTERN000:return(n+r)%2===0;case e.Patterns.PATTERN001:return n%2===0;case e.Patterns.PATTERN010:return r%3===0;case e.Patterns.PATTERN011:return(n+r)%3===0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2===0;case e.Patterns.PATTERN101:return n*r%2+n*r%3===0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2===0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2===0;default:throw new Error("bad maskPattern:"+o)}}e.applyMask=function(n,r){const a=r.size;for(let i=0;i<a;i++)for(let l=0;l<a;l++)r.isReserved(l,i)||r.xor(l,i,s(n,l,i))},e.getBestMask=function(n,r){const a=Object.keys(e.Patterns).length;let i=0,l=1/0;for(let h=0;h<a;h++){r(h),e.applyMask(h,n);const m=e.getPenaltyN1(n)+e.getPenaltyN2(n)+e.getPenaltyN3(n)+e.getPenaltyN4(n);e.applyMask(h,n),m<l&&(l=m,i=h)}return i}})(ae);var _t={};const G=xt,yt=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],bt=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];_t.getBlocksCount=function(t,s){switch(s){case G.L:return yt[(t-1)*4+0];case G.M:return yt[(t-1)*4+1];case G.Q:return yt[(t-1)*4+2];case G.H:return yt[(t-1)*4+3];default:return}};_t.getTotalCodewordsCount=function(t,s){switch(s){case G.L:return bt[(t-1)*4+0];case G.M:return bt[(t-1)*4+1];case G.Q:return bt[(t-1)*4+2];case G.H:return bt[(t-1)*4+3];default:return}};var le={},kt={};const dt=new Uint8Array(512),vt=new Uint8Array(256);(function(){let t=1;for(let s=0;s<255;s++)dt[s]=t,vt[t]=s,t<<=1,t&256&&(t^=285);for(let s=255;s<512;s++)dt[s]=dt[s-255]})();kt.log=function(t){if(t<1)throw new Error("log("+t+")");return vt[t]};kt.exp=function(t){return dt[t]};kt.mul=function(t,s){return t===0||s===0?0:dt[vt[t]+vt[s]]};(function(e){const t=kt;e.mul=function(o,n){const r=new Uint8Array(o.length+n.length-1);for(let a=0;a<o.length;a++)for(let i=0;i<n.length;i++)r[a+i]^=t.mul(o[a],n[i]);return r},e.mod=function(o,n){let r=new Uint8Array(o);for(;r.length-n.length>=0;){const a=r[0];for(let l=0;l<n.length;l++)r[l]^=t.mul(n[l],a);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(o){let n=new Uint8Array([1]);for(let r=0;r<o;r++)n=e.mul(n,new Uint8Array([1,t.exp(r)]));return n}})(le);const ue=le;function Ut(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Ut.prototype.initialize=function(t){this.degree=t,this.genPoly=ue.generateECPolynomial(this.degree)};Ut.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");const s=new Uint8Array(t.length+this.degree);s.set(t);const o=ue.mod(s,this.genPoly),n=this.degree-o.length;if(n>0){const r=new Uint8Array(this.degree);return r.set(o,n),r}return o};var Qe=Ut,ce={},Q={},Ft={};Ft.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40};var H={};const de="[0-9]+",qe="[A-Z $%*+\\-./:]+";let ft="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";ft=ft.replace(/u/g,"\\u");const We="(?:(?![A-Z0-9 $%*+\\-./:]|"+ft+`)(?:.|[\r
2]))+`;H.KANJI=new RegExp(ft,"g");H.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");H.BYTE=new RegExp(We,"g");H.NUMERIC=new RegExp(de,"g");H.ALPHANUMERIC=new RegExp(qe,"g");const Ze=new RegExp("^"+ft+"$"),Xe=new RegExp("^"+de+"$"),tn=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");H.testKanji=function(t){return Ze.test(t)};H.testNumeric=function(t){return Xe.test(t)};H.testAlphanumeric=function(t){return tn.test(t)};(function(e){const t=Ft,s=H;e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(r,a){if(!r.ccBits)throw new Error("Invalid mode: "+r);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?r.ccBits[0]:a<27?r.ccBits[1]:r.ccBits[2]},e.getBestModeForData=function(r){return s.testNumeric(r)?e.NUMERIC:s.testAlphanumeric(r)?e.ALPHANUMERIC:s.testKanji(r)?e.KANJI:e.BYTE},e.toString=function(r){if(r&&r.id)return r.id;throw new Error("Invalid mode")},e.isValid=function(r){return r&&r.bit&&r.ccBits};function o(n){if(typeof n!="string")throw new Error("Param is not a string");switch(n.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+n)}}e.from=function(r,a){if(e.isValid(r))return r;try{return o(r)}catch{return a}}})(Q);(function(e){const t=z,s=_t,o=xt,n=Q,r=Ft,a=7973,i=t.getBCHDigit(a);function l(v,p,x){for(let E=1;E<=40;E++)if(p<=e.getCapacity(E,x,v))return E}function h(v,p){return n.getCharCountIndicator(v,p)+4}function m(v,p){let x=0;return v.forEach(function(E){const I=h(E.mode,p);x+=I+E.getBitsLength()}),x}function P(v,p){for(let x=1;x<=40;x++)if(m(v,x)<=e.getCapacity(x,p,n.MIXED))return x}e.from=function(p,x){return r.isValid(p)?parseInt(p,10):x},e.getCapacity=function(p,x,E){if(!r.isValid(p))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=n.BYTE);const I=t.getSymbolTotalCodewords(p),w=s.getTotalCodewordsCount(p,x),d=(I-w)*8;if(E===n.MIXED)return d;const b=d-h(E,p);switch(E){case n.NUMERIC:return Math.floor(b/10*3);case n.ALPHANUMERIC:return Math.floor(b/11*2);case n.KANJI:return Math.floor(b/13);case n.BYTE:default:return Math.floor(b/8)}},e.getBestVersionForData=function(p,x){let E;const I=o.from(x,o.M);if(Array.isArray(p)){if(p.length>1)return P(p,I);if(p.length===0)return 1;E=p[0]}else E=p;return l(E.mode,E.getLength(),I)},e.getEncodedBits=function(p){if(!r.isValid(p)||p<7)throw new Error("Invalid QR Code version");let x=p<<12;for(;t.getBCHDigit(x)-i>=0;)x^=a<<t.getBCHDigit(x)-i;return p<<12|x}})(ce);var fe={};const Lt=z,ge=1335,en=21522,ee=Lt.getBCHDigit(ge);fe.getEncodedBits=function(t,s){const o=t.bit<<3|s;let n=o<<10;for(;Lt.getBCHDigit(n)-ee>=0;)n^=ge<<Lt.getBCHDigit(n)-ee;return(o<<10|n)^en};var he={};const nn=Q;function ot(e){this.mode=nn.NUMERIC,this.data=e.toString()}ot.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};ot.prototype.getLength=function(){return this.data.length};ot.prototype.getBitsLength=function(){return ot.getBitsLength(this.data.length)};ot.prototype.write=function(t){let s,o,n;for(s=0;s+3<=this.data.length;s+=3)o=this.data.substr(s,3),n=parseInt(o,10),t.put(n,10);const r=this.data.length-s;r>0&&(o=this.data.substr(s),n=parseInt(o,10),t.put(n,r*3+1))};var on=ot;const rn=Q,St=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function rt(e){this.mode=rn.ALPHANUMERIC,this.data=e}rt.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};rt.prototype.getLength=function(){return this.data.length};rt.prototype.getBitsLength=function(){return rt.getBitsLength(this.data.length)};rt.prototype.write=function(t){let s;for(s=0;s+2<=this.data.length;s+=2){let o=St.indexOf(this.data[s])*45;o+=St.indexOf(this.data[s+1]),t.put(o,11)}this.data.length%2&&t.put(St.indexOf(this.data[s]),6)};var sn=rt;const an=Q;function st(e){this.mode=an.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}st.getBitsLength=function(t){return t*8};st.prototype.getLength=function(){return this.data.length};st.prototype.getBitsLength=function(){return st.getBitsLength(this.data.length)};st.prototype.write=function(e){for(let t=0,s=this.data.length;t<s;t++)e.put(this.data[t],8)};var ln=st;const un=Q,cn=z;function it(e){this.mode=un.KANJI,this.data=e}it.getBitsLength=function(t){return t*13};it.prototype.getLength=function(){return this.data.length};it.prototype.getBitsLength=function(){return it.getBitsLength(this.data.length)};it.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let s=cn.toSJIS(this.data[t]);if(s>=33088&&s<=40956)s-=33088;else if(s>=57408&&s<=60351)s-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
3Make sure your charset is UTF-8`);s=(s>>>8&255)*192+(s&255),e.put(s,13)}};var dn=it,me={exports:{}};(function(e){var t={single_source_shortest_paths:function(s,o,n){var r={},a={};a[o]=0;var i=t.PriorityQueue.make();i.push(o,0);for(var l,h,m,P,v,p,x,E,I;!i.empty();){l=i.pop(),h=l.value,P=l.cost,v=s[h]||{};for(m in v)v.hasOwnProperty(m)&&(p=v[m],x=P+p,E=a[m],I=typeof a[m]>"u",(I||E>x)&&(a[m]=x,i.push(m,x),r[m]=h))}if(typeof n<"u"&&typeof a[n]>"u"){var w=["Could not find a path from ",o," to ",n,"."].join("");throw new Error(w)}return r},extract_shortest_path_from_predecessor_list:function(s,o){for(var n=[],r=o;r;)n.push(r),s[r],r=s[r];return n.reverse(),n},find_path:function(s,o,n){var r=t.single_source_shortest_paths(s,o,n);return t.extract_shortest_path_from_predecessor_list(r,n)},PriorityQueue:{make:function(s){var o=t.PriorityQueue,n={},r;s=s||{};for(r in o)o.hasOwnProperty(r)&&(n[r]=o[r]);return n.queue=[],n.sorter=s.sorter||o.default_sorter,n},default_sorter:function(s,o){return s.cost-o.cost},push:function(s,o){var n={value:s,cost:o};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(me);var fn=me.exports;(function(e){const t=Q,s=on,o=sn,n=ln,r=dn,a=H,i=z,l=fn;function h(w){return unescape(encodeURIComponent(w)).length}function m(w,d,b){const y=[];let A;for(;(A=w.exec(b))!==null;)y.push({data:A[0],index:A.index,mode:d,length:A[0].length});return y}function P(w){const d=m(a.NUMERIC,t.NUMERIC,w),b=m(a.ALPHANUMERIC,t.ALPHANUMERIC,w);let y,A;return i.isKanjiModeEnabled()?(y=m(a.BYTE,t.BYTE,w),A=m(a.KANJI,t.KANJI,w)):(y=m(a.BYTE_KANJI,t.BYTE,w),A=[]),d.concat(b,y,A).sort(function(B,M){return B.index-M.index}).map(function(B){return{data:B.data,mode:B.mode,length:B.length}})}function v(w,d){switch(d){case t.NUMERIC:return s.getBitsLength(w);case t.ALPHANUMERIC:return o.getBitsLength(w);case t.KANJI:return r.getBitsLength(w);case t.BYTE:return n.getBitsLength(w)}}function p(w){return w.reduce(function(d,b){const y=d.length-1>=0?d[d.length-1]:null;return y&&y.mode===b.mode?(d[d.length-1].data+=b.data,d):(d.push(b),d)},[])}function x(w){const d=[];for(let b=0;b<w.length;b++){const y=w[b];switch(y.mode){case t.NUMERIC:d.push([y,{data:y.data,mode:t.ALPHANUMERIC,length:y.length},{data:y.data,mode:t.BYTE,length:y.length}]);break;case t.ALPHANUMERIC:d.push([y,{data:y.data,mode:t.BYTE,length:y.length}]);break;case t.KANJI:d.push([y,{data:y.data,mode:t.BYTE,length:h(y.data)}]);break;case t.BYTE:d.push([{data:y.data,mode:t.BYTE,length:h(y.data)}])}}return d}function E(w,d){const b={},y={start:{}};let A=["start"];for(let T=0;T<w.length;T++){const B=w[T],M=[];for(let O=0;O<B.length;O++){const $=B[O],J=""+T+O;M.push(J),b[J]={node:$,lastCount:0},y[J]={};for(let at=0;at<A.length;at++){const K=A[at];b[K]&&b[K].node.mode===$.mode?(y[K][J]=v(b[K].lastCount+$.length,$.mode)-v(b[K].lastCount,$.mode),b[K].lastCount+=$.length):(b[K]&&(b[K].lastCount=$.length),y[K][J]=v($.length,$.mode)+4+t.getCharCountIndicator($.mode,d))}}A=M}for(let T=0;T<A.length;T++)y[A[T]].end=0;return{map:y,table:b}}function I(w,d){let b;const y=t.getBestModeForData(w);if(b=t.from(d,y),b!==t.BYTE&&b.bit<y.bit)throw new Error('"'+w+'" cannot be encoded with mode '+t.toString(b)+`.
4 Suggested mode is: `+t.toString(y));switch(b===t.KANJI&&!i.isKanjiModeEnabled()&&(b=t.BYTE),b){case t.NUMERIC:return new s(w);case t.ALPHANUMERIC:return new o(w);case t.KANJI:return new r(w);case t.BYTE:return new n(w)}}e.fromArray=function(d){return d.reduce(function(b,y){return typeof y=="string"?b.push(I(y,null)):y.data&&b.push(I(y.data,y.mode)),b},[])},e.fromString=function(d,b){const y=P(d,i.isKanjiModeEnabled()),A=x(y),T=E(A,b),B=l.find_path(T.map,"start","end"),M=[];for(let O=1;O<B.length-1;O++)M.push(T.table[B[O]].node);return e.fromArray(p(M))},e.rawSplit=function(d){return e.fromArray(P(d,i.isKanjiModeEnabled()))}})(he);const Ct=z,Pt=xt,gn=Je,hn=Ye,mn=se,pn=ie,It=ae,Rt=_t,yn=Qe,wt=ce,bn=fe,vn=Q,Bt=he;function wn(e,t){const s=e.size,o=pn.getPositions(t);for(let n=0;n<o.length;n++){const r=o[n][0],a=o[n][1];for(let i=-1;i<=7;i++)if(!(r+i<=-1||s<=r+i))for(let l=-1;l<=7;l++)a+l<=-1||s<=a+l||(i>=0&&i<=6&&(l===0||l===6)||l>=0&&l<=6&&(i===0||i===6)||i>=2&&i<=4&&l>=2&&l<=4?e.set(r+i,a+l,!0,!0):e.set(r+i,a+l,!1,!0))}}function xn(e){const t=e.size;for(let s=8;s<t-8;s++){const o=s%2===0;e.set(s,6,o,!0),e.set(6,s,o,!0)}}function _n(e,t){const s=mn.getPositions(t);for(let o=0;o<s.length;o++){const n=s[o][0],r=s[o][1];for(let a=-2;a<=2;a++)for(let i=-2;i<=2;i++)a===-2||a===2||i===-2||i===2||a===0&&i===0?e.set(n+a,r+i,!0,!0):e.set(n+a,r+i,!1,!0)}}function kn(e,t){const s=e.size,o=wt.getEncodedBits(t);let n,r,a;for(let i=0;i<18;i++)n=Math.floor(i/3),r=i%3+s-8-3,a=(o>>i&1)===1,e.set(n,r,a,!0),e.set(r,n,a,!0)}function Tt(e,t,s){const o=e.size,n=bn.getEncodedBits(t,s);let r,a;for(r=0;r<15;r++)a=(n>>r&1)===1,r<6?e.set(r,8,a,!0):r<8?e.set(r+1,8,a,!0):e.set(o-15+r,8,a,!0),r<8?e.set(8,o-r-1,a,!0):r<9?e.set(8,15-r-1+1,a,!0):e.set(8,15-r-1,a,!0);e.set(o-8,8,1,!0)}function Cn(e,t){const s=e.size;let o=-1,n=s-1,r=7,a=0;for(let i=s-1;i>0;i-=2)for(i===6&&i--;;){for(let l=0;l<2;l++)if(!e.isReserved(n,i-l)){let h=!1;a<t.length&&(h=(t[a]>>>r&1)===1),e.set(n,i-l,h),r--,r===-1&&(a++,r=7)}if(n+=o,n<0||s<=n){n-=o,o=-o;break}}}function En(e,t,s){const o=new gn;s.forEach(function(l){o.put(l.mode.bit,4),o.put(l.getLength(),vn.getCharCountIndicator(l.mode,e)),l.write(o)});const n=Ct.getSymbolTotalCodewords(e),r=Rt.getTotalCodewordsCount(e,t),a=(n-r)*8;for(o.getLengthInBits()+4<=a&&o.put(0,4);o.getLengthInBits()%8!==0;)o.putBit(0);const i=(a-o.getLengthInBits())/8;for(let l=0;l<i;l++)o.put(l%2?17:236,8);return An(o,e,t)}function An(e,t,s){const o=Ct.getSymbolTotalCodewords(t),n=Rt.getTotalCodewordsCount(t,s),r=o-n,a=Rt.getBlocksCount(t,s),i=o%a,l=a-i,h=Math.floor(o/a),m=Math.floor(r/a),P=m+1,v=h-m,p=new yn(v);let x=0;const E=new Array(a),I=new Array(a);let w=0;const d=new Uint8Array(e.buffer);for(let B=0;B<a;B++){const M=B<l?m:P;E[B]=d.slice(x,x+M),I[B]=p.encode(E[B]),x+=M,w=Math.max(w,M)}const b=new Uint8Array(o);let y=0,A,T;for(A=0;A<w;A++)for(T=0;T<a;T++)A<E[T].length&&(b[y++]=E[T][A]);for(A=0;A<v;A++)for(T=0;T<a;T++)b[y++]=I[T][A];return b}function Sn(e,t,s,o){let n;if(Array.isArray(e))n=Bt.fromArray(e);else if(typeof e=="string"){let h=t;if(!h){const m=Bt.rawSplit(e);h=wt.getBestVersionForData(m,s)}n=Bt.fromString(e,h||40)}else throw new Error("Invalid data");const r=wt.getBestVersionForData(n,s);if(!r)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=r;else if(t<r)throw new Error(`
5The chosen QR Code version cannot contain this amount of data.
6Minimum version required to store current data is: `+r+`.
7`);const a=En(t,s,n),i=Ct.getSymbolSize(t),l=new hn(i);return wn(l,t),xn(l),_n(l,t),Tt(l,s,0),t>=7&&kn(l,t),Cn(l,a),isNaN(o)&&(o=It.getBestMask(l,Tt.bind(null,l,s))),It.applyMask(o,l),Tt(l,s,o),{modules:l,version:t,errorCorrectionLevel:s,maskPattern:o,segments:n}}oe.create=function(t,s){if(typeof t>"u"||t==="")throw new Error("No input text");let o=Pt.M,n,r;return typeof s<"u"&&(o=Pt.from(s.errorCorrectionLevel,Pt.M),n=wt.from(s.version),r=It.from(s.maskPattern),s.toSJISFunc&&Ct.setToSJISFunction(s.toSJISFunc)),Sn(t,n,o,r)};var pe={},zt={};(function(e){function t(s){if(typeof s=="number"&&(s=s.toString()),typeof s!="str
7ing")throw new Error("Color should be defined as hex string");let o=s.slice().replace("#","").split("");if(o.length<3||o.length===5||o.length>8)throw new Error("Invalid hex color: "+s);(o.length===3||o.length===4)&&(o=Array.prototype.concat.apply([],o.map(function(r){return[r,r]}))),o.length===6&&o.push("F","F");const n=parseInt(o.join(""),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:"#"+o.slice(0,6).join("")}}e.getOptions=function(o){o||(o={}),o.color||(o.color={});const n=typeof o.margin>"u"||o.margin===null||o.margin<0?4:o.margin,r=o.width&&o.width>=21?o.width:void 0,a=o.scale||4;return{width:r,scale:r?4:a,margin:n,color:{dark:t(o.color.dark||"#000000ff"),light:t(o.color.light||"#ffffffff")},type:o.type,rendererOpts:o.rendererOpts||{}}},e.getScale=function(o,n){return n.width&&n.width>=o+n.margin*2?n.width/(o+n.margin*2):n.scale},e.getImageWidth=function(o,n){const r=e.getScale(o,n);return Math.floor((o+n.margin*2)*r)},e.qrToImageData=function(o,n,r){const a=n.modules.size,i=n.modules.data,l=e.getScale(a,r),h=Math.floor((a+r.margin*2)*l),m=r.margin*l,P=[r.color.light,r.color.dark];for(let v=0;v<h;v++)for(let p=0;p<h;p++){let x=(v*h+p)*4,E=r.color.light;if(v>=m&&p>=m&&v<h-m&&p<h-m){const I=Math.floor((v-m)/l),w=Math.floor((p-m)/l);E=P[i[I*a+w]?1:0]}o[x++]=E.r,o[x++]=E.g,o[x++]=E.b,o[x]=E.a}}})(zt);(function(e){const t=zt;function s(n,r,a){n.clearRect(0,0,r.width,r.height),r.style||(r.style={}),r.height=a,r.width=a,r.style.height=a+"px",r.style.width=a+"px"}function o(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(r,a,i){let l=i,h=a;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),a||(h=o()),l=t.getOptions(l);const m=t.getImageWidth(r.modules.size,l),P=h.getContext("2d"),v=P.createImageData(m,m);return t.qrToImageData(v.data,r,l),s(P,h,m),P.putImageData(v,0,0),h},e.renderToDataURL=function(r,a,i){let l=i;typeof l>"u"&&(!a||!a.getContext)&&(l=a,a=void 0),l||(l={});const h=e.render(r,a,l),m=l.type||"image/png",P=l.rendererOpts||{};return h.toDataURL(m,P.quality)}})(pe);var ye={};const Pn=zt;function ne(e,t){const s=e.a/255,o=t+'="'+e.hex+'"';return s<1?o+" "+t+'-opacity="'+s.toFixed(2).slice(1)+'"':o}function Nt(e,t,s){let o=e+t;return typeof s<"u"&&(o+=" "+s),o}function Bn(e,t,s){let o="",n=0,r=!1,a=0;for(let i=0;i<e.length;i++){const l=Math.floor(i%t),h=Math.floor(i/t);!l&&!r&&(r=!0),e[i]?(a++,i>0&&l>0&&e[i-1]||(o+=r?Nt("M",l+s,.5+h+s):Nt("m",n,0),n=0,r=!1),l+1<t&&e[i+1]||(o+=Nt("h",a),a=0)):n++}return o}ye.render=function(t,s,o){const n=Pn.getOptions(s),r=t.modules.size,a=t.modules.data,i=r+n.margin*2,l=n.color.light.a?"<path "+ne(n.color.light,"fill")+' d="M0 0h'+i+"v"+i+'H0z"/>':"",h="<path "+ne(n.color.dark,"stroke")+' d="'+Bn(a,r,n.margin)+'"/>',m='viewBox="0 0 '+i+" "+i+'"',v='<svg xmlns="http://www.w3.org/2000/svg" '+(n.width?'width="'+n.width+'" height="'+n.width+'" ':"")+m+' shape-rendering="crispEdges">'+l+h+`</svg>
8`;return typeof o=="function"&&o(null,v),v};const Tn=He,Mt=oe,be=pe,Nn=ye;function $t(e,t,s,o,n){const r=[].slice.call(arguments,1),a=r.length,i=typeof r[a-1]=="function";if(!i&&!Tn())throw new Error("Callback required as last argument");if(i){if(a<2)throw new Error("Too few arguments provided");a===2?(n=s,s=t,t=o=void 0):a===3&&(t.getContext&&typeof n>"u"?(n=o,o=void 0):(n=o,o=s,s=t,t=void 0))}else{if(a<1)throw new Error("Too few arguments provided");return a===1?(s=t,t=o=void 0):a===2&&!t.getContext&&(o=s,s=t,t=void 0),new Promise(function(l,h){try{const m=Mt.create(s,o);l(e(m,t,o))}catch(m){h(m)}})}try{const l=Mt.create(s,o);n(null,e(l,t,o))}catch(l){n(l)}}nt.create=Mt.create;nt.toCanvas=$t.bind(null,be.render);nt.toDataURL=$t.bind(null,be.renderToDataURL);nt.toString=$t.bind(null,function(e,t,s){return Nn.render(e,s)});const Ln={class:"grid grid-cols-1 gap-6 lg:grid-cols-5"},In={class:"rounded-2xl border border-gray-200 bg-white px-6 py-6 lg:col-span-3"},Rn={key:0,class:"mt-5 flex items-center gap-2 rounded-2xl bg-primary px-4 py-3 text-white"},Mn=["href"],Dn=["href"],Un={class:"mt-4 flex items-center gap-2 text-sm font-bold text-gray-500"},Fn={class:"mt-2 flex items-center gap-3 rounded-2xl border border-gray-200 bg-gray-50 px-4 py-3"},zn=["href"],$n={key:1,class:"mt-5 flex items-center gap-5 border-t border-gray-200 pt-5"},Vn=["src"],On={class:"min-w-0"},Kn={__name:"SmartLinkHowTo",props:{shortUrl:{type:String,default:""},targetUrl:{type:String,default:""},downloadName:{type:String,default:"smart-link"}},setup(e){const t=e,s=D("");ct(()=>t.shortUrl,async a=>{try{s.value=a?await nt.toDataURL(a,{width:256,margin:2}):""}catch{s.value=""}},{immediate:!0});async function o(){try{const a=await nt.toDataURL(t.shortUrl,{width:1024,margin:3}),i=document.createElement("a");i.href=a,i.download=`${n(t.downloadName)}-qr.png`,i.click()}catch{R.error("Failed to generate QR code")}}function n(a){return(a||"smart-link").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"smart-link"}async function r(a){if(a)try{await navigator.clipboard.writeText(a),R.success("Copied to clipboard")}catch{R.error("Copy failed")}}return(a,i)=>(k(),C("div",Ln,[c("div",In,[i[7]||(i[7]=c("p",{class:"text-xs font-bold uppercase tracking-wide text-gray-500"},"Smart Link",-1)),i[8]||(i[8]=c("p",{class:"mt-2 text-base leading-snug text-gray-600"}," Share this short link anywhere you post. Every click is counted, then visitors are forwarded to your target URL below. ",-1)),e.shortUrl?(k(),C("div",Rn,[S(N,{name:"link",size:"18px",class:"shrink-0"}),c("a",{href:e.shortUrl,target:"_blank",rel:"noopener noreferrer",class:"min-w-0 flex-1 truncate font-mono text-base text-white hover:underline"},L(e.shortUrl),9,Mn),c("button",{class:"shrink-0 rounded-lg bg-white/15 p-2 transition-colors hover:bg-white/25",title:"Copy",onClick:i[0]||(i[0]=l=>r(e.shortUrl))},[S(N,{name:"copy",size:"16px"})]),c("a",{href:e.shortUrl,target:"_blank",rel:"noopener noreferrer",class:"shrink-0 rounded-lg bg-white/15 p-2 transition-colors hover:bg-white/25",title:"Open link"},[S(N,{name:"share",size:"16px"})],8,Dn)])):U("",!0),c("p",Un,[S(N,{name:"arrow-down",size:"14px"}),i[2]||(i[2]=Y(" redirects visitors to ",-1))]),c("div",Fn,[S(N,{name:"global-link",size:"18px",class:"shrink-0 text-gray-400"}),c("a",{href:e.targetUrl,target:"_blank",rel:"noopener noreferrer",class:"min-w-0 flex-1 truncate font-mono text-sm text-primary hover:underline"},L(e.targetUrl),9,zn),i[3]||(i[3]=c("span",{class:"shrink-0 text-xs font-bold uppercase tracking-wide text-gray-400"},"Target",-1)),c("button",{class:"shrink-0 rounded-lg border border-gray-200 p-2 text-gray-500 transition-colors hover:bg-gray-100",title:"Copy",onClick:i[1]||(i[1]=l=>r(e.targetUrl))},[S(N,{name:"copy",size:"16px"})])]),s.value?(k(),C("div",$n,[c("img",{src:s.value,alt:"QR code for your smart link",class:"h-32 w-32 shrink-0 rounded-lg border border-gray-200"},null,8,Vn),c("div",On,[i[5]||(i[5]=c("p",{class:"text-xs font-bold uppercase tracking-wide text-gray-500"},"QR Code",-1)),i[6]||(i[6]=c("p",{class:"mt-1 text-sm leading-snug text-gray-600"}," Use this QR code in your content — video outros, story slides, thumbnails, flyers, or merch. Every scan opens your smart link and is counted as a click. ",-1)),c("button",{type:"button",class:"btn-secondary mt-3",onClick:o},[S(N,{name:"download",class:"mr-2",size:"14px"}),i[4]||(i[4]=Y(" DOWNLOAD PNG ",-1))])])])):U("",!0)]),i[9]||(i[9]=Ne('<div class="rounded-2xl border border-gray-200 bg-white px-6 py-6 lg:col-span-2"><p class="text-xs font-bold uppercase tracking-wide text-gray-500">How to use it</p><ol class="mt-4 space-y-4"><li class="flex gap-3"><span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary">1</span>
8<p class="text-sm leading-snug text-gray-700"><span class="font-bold text-gray-900">Copy the smart link</span> and paste it into your bio, post, or story on the platform above.</p></li><li class="flex gap-3"><span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary">2</span><p class="text-sm leading-snug text-gray-700"><span class="font-bold text-gray-900">Visitors are forwarded</span> to your target URL — they never see the redirect.</p></li><li class="flex gap-3"><span class="flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-sm font-bold text-primary">3</span><p class="text-sm leading-snug text-gray-700"><span class="font-bold text-gray-900">Track clicks here</span> as they come in, broken down by the platform you shared on.</p></li></ol></div>',1))]))}},Hn={class:"min-h-screen bg-gray-50 py-8"},jn={class:"mx-auto px-4 sm:px-6 lg:px-8"},Jn={key:0,class:"text-center py-20 text-gray-500"},Yn={class:"flex items-center gap-3 mb-8"},Gn={class:"flex items-end justify-between mb-8 gap-4 flex-wrap pb-4 border-b border-gray-200"},Qn={class:"flex items-center gap-3 min-w-0"},qn={class:"text-3xl font-medium truncate"},Wn=["disabled"],Zn={class:"flex items-center gap-6"},Xn={class:"text-right"},to={class:"text-sm font-bold"},eo=["disabled"],no=["disabled"],oo={key:0,class:"mb-10"},ro={class:"overflow-hidden rounded-lg border border-gray-200 bg-white"},so={class:"w-full text-sm"},io={class:"px-4 py-3"},ao={class:"inline-flex items-center gap-2 font-medium"},lo={class:"px-4 py-3 text-center"},uo={class:"px-4 py-3 text-center font-bold"},co={class:"px-4 py-3 text-center font-bold"},fo={class:"px-4 py-3"},go={class:"inline-flex max-w-full items-center gap-2 rounded-full bg-primary px-3 py-1.5 text-white"},ho={class:"font-mono text-xs break-all"},mo=["onClick"],po={class:"px-4 py-3 text-right"},yo={class:"mt-4"},bo=["disabled"],vo={key:1,class:"rounded-lg border border-gray-200 bg-white px-4 py-4"},wo={class:"mb-3 flex items-center justify-between"},xo={class:"flex flex-wrap gap-3"},_o=["title","disabled","onClick"],ko={key:0,class:"text-xs text-gray-500"},Co={key:1,class:"rounded-2xl border border-gray-200 bg-white px-5 py-5 mb-10"},Eo={class:"flex flex-col gap-1"},Ao={class:"flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl bg-gray-100 text-gray-700"},So={class:"min-w-0 flex-1"},Po={class:"truncate text-lg font-bold text-gray-900"}
8,Bo={key:1,class:"-mx-2 flex items-center gap-4 rounded-xl px-2 py-2"},To={class:"flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl bg-gray-100 text-gray-700"},No={class:"truncate text-lg font-bold text-gray-900 group-hover:underline"},Lo={key:2,class:"-mx-2 flex items-center justify-between gap-3 rounded-xl px-2 py-2"},Io={class:"flex items-center gap-4"},Ro={class:"flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl bg-gray-100 text-gray-700"},Mo={key:3,class:"mt-2 flex flex-col gap-3 sm:flex-row sm:items-center"},Do=["value"],Uo={key:0,value:"__remove__"},Fo={class:"flex shrink-0 gap-2"},zo=["disabled"],$o={key:2,class:"rounded-lg border border-gray-200 bg-white px-4 py-4 mb-10"},Vo={class:"flex items-center justify-between gap-3 mb-3"},Oo={key:0,class:"flex items-center gap-2"},Ko=["disabled"],Ho=["disabled"],jo={class:"flex flex-wrap gap-3"},Jo=["title","onClick"],Yo={class:"mt-5 border-t border-gray-200 pt-4"},Go=["disabled"],Qo={key:1},qo={class:"mb-3 flex items-center justify-between"},Wo={class:"flex flex-wrap gap-3"},Zo=["title","disabled","onClick"],Xo={key:0,class:"text-xs text-gray-500"},tr={class:"grid grid-cols-1 sm:grid-cols-2 gap-4 mb-10"},er={key:3,class:"mb-10"},nr={key:2,class:"text-center py-20"},pr={__name:"LinkDetailPage",setup(e){const t="https://enginerm.link",s=Ie(),o=ze(),n=Ve(),{get:r}=Oe(),{enrichedLinks:a,loadingLinks:i,promotions:l}=Le(n),h=D(!1),m=D(!1),P=D(""),v=D(!1),p=D(null);function x(){var f;P.value=((f=d.value)==null?void 0:f.name)||"",m.value=!0,Fe(()=>{var u;return(u=p.value)==null?void 0:u.focus()})}function E(){m.value=!1}async function I(){var u,_,g;if(!m.value)return;m.value=!1;const f=P.value.trim();if(f!==(((u=d.value)==null?void 0:u.name)||"")){v.value=!0;try{await n.updateLink(d.value.id,{name:f||null}),R.success("Title updated")}catch(F){R.error(((g=(_=F==null?void 0:F.response)==null?void 0:_.data)==null?void 0:g.message)||"Failed to update title")}finally{v.value=!1}}}const w=V(()=>i.value),d=V(()=>a.value.find(f=>String(f.id)===String(s.params.id))||null),b=V(()=>d.value?`${t}/c/${d.value.short_code}`:""),y=V(()=>d.value?a.value.filter(f=>String(f.parent_link_id)===String(d.value.id)):[]),A=V(()=>y.value.length>0),T=Zt,B=D([]),M=D(!1);ct(d,f=>{B.value=Array.isArray(f==null?void 0:f.source_platforms)?[...f.source_platforms]:[]},{immediate:!0});const O=V(()=>{var f;return Array.isArray((f=d.value)==null?void 0:f.source_platforms)?d.value.source_platforms:[]}),$=V(()=>{const f=[...B.value].sort(),u=[...O.value].sort();return f.length!==u.length||f.some((_,g)=>_!==u[g])});function J(f){return B.value[0]===f}function at(f){B.value=B.value[0]===f?[]:[f]}function K(){B.value=[...O.value]}async function ve(){var f,u;M.value=!0;try{await n.updateLink(d.value.id,{source_platforms:[...B.value]}),R.success("Platforms updated")}catch(_){R.error(((u=(f=_==null?void 0:_.response)==null?void 0:f.data)==null?void 0:u.message)||"Failed to update platforms")}finally{M.value=!1}}function ht(f){const u=f==null?void 0:f.source_platforms;return Array.isArray(u)&&u.length?u[0]:null}const q=D(!1),W=D(null),we=V(()=>{var _,g;const f=Array.isArray((_=d.value)==null?void 0:_.source_platforms)?d.value.source_platforms:[],u=(g=d.value)!=null&&g.parent_link_id?a.value.filter(F=>String(F.parent_link_id)===String(d.value.parent_link_id)):[];return[...y.value.map(ht).filter(Boolean),...u.map(ht).filter(Boolean),...f]}),X=V(()=>Zt.filter(f=>!we.value.includes(f.value)));async function Vt(f){var u,_;if(!W.value){W.value=f;try{const g=await n.addLinkPlatform(d.value.id,f);q.value=!1,g!=null&&g.container&&String(g.container.id)!==String(d.value.id)?(R.success(g.promoted?"Smart link is now multi-platform":"Platform link added"),o.push(`/conversions/links/${g.container.id}`)):R.success("Platform link created")}catch(g){R.error(((_=(u=g==null?void 0:g.response)==null?void 0:u.data)==null?void 0:_.message)||"Failed to add platform")}finally{W.value=null}}}const tt=D(!1),j=D(""),lt=D(""),mt=D(!1),Ot=V(()=>!!d.value&&!d.value.promotion_id&&!A.value&&!d.value.parent_link_id&&!d.value.page_id),Kt=V(()=>mt.value?!1:j.value==="__new__"?!!lt.value.trim():j.value==="__remove__"?!0:!!j.value);function Ht(){tt.value=!0,j.value="",lt.value="",l.value.length||n.loadPromotions()}async function jt(){var u,_;if(!Kt.value)return;const f=!!d.value.promotion_id;mt.value=!0;try{if(j.value==="__remove__"){await n.detachLinkFromPromotion(d.value.id,d.value.promotion_id),R.success("Removed from promotion"),tt.value=!1;return}let g=j.value;if(g==="__new__"){const F=await n.createPromotion({name:lt.value.trim()});if(!F.ok){R.error(F.error||"Failed to create promotion");return}g=F.promotion.id}await n.attachLinkToPromotion(d.value.id,g),R.success(f?"Promotion updated":"Added to promotion"),tt.value=!1}catch(g){R.error(((_=(u=g==null?void 0:g.response)==null?void 0:u.data)==null?void 0:_.message)||"Failed to update promotion")}finally{mt.value=!1}}function xe(f){const u=ht(f);return u?Xt(u).label:"—"}function _e(f){const u=ht(f);return u?Xt(u).icon:"link"}function Jt(f){return`${t}/c/${f.short_code}`}
8function Yt(f){return f==null?"—":Number(f).toLocaleString("en-US")}function ke(f){return f==null?"—":`${Number(f).toFixed(2)}%`}const Ce=V(()=>{var u,_;const f=(u=d.value)==null?void 0:u.promotion_id;return f&&((_=l.value.find(g=>String(g.id)===String(f)))==null?void 0:_.name)||null}),pt=D("");ct(()=>{var f;return(f=d.value)==null?void 0:f.page_id},async f=>{var u;if(pt.value="",!!f)try{const _=await r(`/pages/${f}`);pt.value=((u=_==null?void 0:_.page)==null?void 0:u.title)||""}catch{pt.value=""}},{immediate:!0});function Ee(f){return f==="disabled"?"PAUSED":"ACTIVE"}function Ae(f){return f==="disabled"?"bg-gray-200 text-gray-700":"bg-green-100 text-green-800"}function Se(f){if(!f)return"—";try{return new Date(f).toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"})}catch{return"—"}}async function Pe(f){if(f)try{await navigator.clipboard.writeText(f),R.success("Copied to clipboard")}catch{R.error("Copy failed")}}async function Be(){var f,u;h.value=!0;try{await n.disableLink(d.value.id),R.success("Smart link paused")}catch(_){R.error(((u=(f=_==null?void 0:_.response)==null?void 0:f.data)==null?void 0:u.message)||"Failed to pause link")}finally{h.value=!1}}async function Te(){var f,u;h.value=!0;try{await n.enableLink(d.value.id),R.success("Smart link enabled")}catch(_){R.error(((u=(f=_==null?void 0:_.response)==null?void 0:f.data)==null?void 0:u.message)||"Failed to enable link")}finally{h.value=!1}}return Re(()=>{n.links.length||n.loadAll()}),ct(()=>s.params.id,()=>{n.links.length||n.loadAll()}),ct(()=>{var f;return(f=d.value)==null?void 0:f.promotion_id},f=>{f&&!l.value.length&&!n.loadingPromotions&&n.loadPromotions()},{immediate:!0}),(f,u)=>{const _=Me("router-link");return k(),C("div",Hn,[c("div",jn,[w.value&&!d.value?(k(),C("div",Jn," Loading smart link… ")):d.value?(k(),C(Z,{key:1},[c("div",Yn,[S(_,{to:"/conversions",class:"rounded-full h-10 w-10 flex items-center justify-center bg-white border border-[#D9D9D9] hover:bg-gray-80 disabled:opacity-0 disabled:cursor-not-allowed transition-opacity"},{default:et(()=>[S(N,{name:"arrow-left",class:"w-5 h-5text-gray-600"})]),_:1})]),c("div",Gn,[c("div",Qn,[m.value?Et((k(),C("input",{key:1,ref_key:"titleInput",ref:p,"onUpdate:modelValue":u[0]||(u[0]=g=>P.value=g),type:"text",placeholder:"Untitled link",disabled:v.value,class:"min-w-0 border-b-2 border-primary bg-transparent text-3xl font-medium focus:outline-none",onKeydown:[At(I,["enter"]),At(E,["esc"])],onBlur:I},null,40,Wn)),[[Gt,P.value]]):(k(),C(Z,{key:0},[c("h1",qn,L(d.value.name||"Untitled link"),1),c("button",{class:"shrink-0 text-gray-400 hover:text-gray-700",title:"Edit title",onClick:x},[S(N,{name:"edit",size:"16px"})])],64)),c("span",{class:Qt(["px-2 py-1 text-xs font-medium rounded uppercase",Ae(d.value.status)])},L(Ee(d.value.status)),3)]),c("div",Zn,[c("div",Xn,[u[8]||(u[8]=c("p",{class:"text-xs font-bold uppercase text-gray-500"},"Launch Date",-1)),c("p",to,L(Se(d.value.created_at)),1)]),d.value.status==="disabled"?(k(),C("button",{key:0,class:"btn-primary",disabled:h.value,onClick:Te},L(h.value?"…":"ENABLE"),9,eo)):(k(),C("button",{key:1,class:"btn-secondary",disabled:h.value,onClick:Be},L(h.value?"…":"DISABLE"),9,no))])]),A.value?(k(),C("section",oo,[u[12]||(u[12]=c("h2",{class:"text-xl font-medium mb-4"},"Platform Links",-1)),c("div",ro,[c("table",so,[u[10]||(u[10]=c("thead",null,[c("tr",{class:"border-b border-gray-200 text-left text-xs font-bold uppercase text-gray-500"},[c("th",{class:"px-4 py-3"},"Origin Platform"),c("th",{class:"px-4 py-3 text-center"},"Impressions"),c("th",{class:"px-4 py-3 text-center"},"Clicks"),c("th",{class:"px-4 py-3 text-center"},"Click Rate"),c("th",{class:"px-4 py-3"},"Smart Link URL"),c("th",{class:"px-4 py-3"})])],-1)),c("tbody",null,[(k(!0),C(Z,null,ut(y.value,g=>(k(),C("tr",{key:g.id,class:"border-b border-gray-100 last:border-0"},[c("td",io,[c("span",ao,[S(N,{name:_e(g),size:"16px"},null,8,["name"]),Y(" "+L(xe(g)),1)])]),c("td",lo,L(Yt(g.impressions)),1),c("td",uo,L(Yt(g.clicks)),1),c("td",co,L(ke(g.click_rate)),1),c("td",fo,[c("div",go,[c("span",ho,L(Jt(g)),1),c("button",{class:"shrink-0 text-white/80 hover:text-white",title:"Copy",onClick:F=>Pe(Jt(g))},[S(N,{name:"copy",size:"14px"})],8,mo)])]),c("td",po,[S(_,{to:`/conversions/links/${g.id}`,class:"btn-secondary"},{default:et(()=>[...u[9]||(u[9]=[Y(" EDIT ",-1)])]),_:1},8,["to"])])]))),128))])])]),c("div",yo,[q.value?(k(),C("div",vo,[c("div",wo,[u[11]||(u[11]=c("p",{class:"text-xs font-bold uppercase text-gray-500"},"Add a platform",-1)),c("button",{class:"text-sm text-gray-500 hover:text-gray-900",onClick:u[2]||(u[2]=g=>q.value=!1)},"Cancel")]),c("div",xo,[(k(!0),C(Z,null,ut(X.value,g=>(k(),C("button",{key:g.value,type:"button",title:g.label,disabled:!!W.value,class:"flex items-center gap-2 rounded-full border border-gray-200 bg-gray-100 px-3 py-2 text-sm transition-colors hover:bg-gray-200 disabled:opacity-50",onClick:F=>Vt(g.value)},[S(N,{name:g.icon,size:"16px"},null,8,["name"]),c("span",null,L(g.label),1),W.value===g.value?(k(),C("span",ko,"…")):U("",!0)],8,_o))),128))])])):(k(),C("button",{key:0,t
8ype:"button",class:"btn-secondary",disabled:!X.value.length,onClick:u[1]||(u[1]=g=>q.value=!0)},[S(N,{name:"add",class:"mr-2",size:"14px"}),Y(" "+L(X.value.length?"ADD PLATFORM":"ALL PLATFORMS ADDED"),1)],8,bo))])])):U("",!0),S(Kn,{class:"mb-10","short-url":A.value?"":b.value,"target-url":d.value.destination_url,"download-name":d.value.name||d.value.short_code},null,8,["short-url","target-url","download-name"]),d.value.page_id||d.value.promotion_id||Ot.value?(k(),C("div",Co,[u[19]||(u[19]=c("p",{class:"mb-3 text-xs font-bold uppercase tracking-wide text-gray-400"},"Associated With",-1)),c("div",Eo,[d.value.page_id?(k(),De(_,{key:0,to:`/pages/${d.value.page_id}/edit`,class:"group -mx-2 flex items-center gap-4 rounded-xl px-2 py-2 transition-colors hover:bg-gray-50"},{default:et(()=>[c("span",Ao,[S(N,{name:"media-kit",size:"22px"})]),c("div",So,[u[13]||(u[13]=c("p",{class:"text-xs font-bold uppercase tracking-wide text-gray-400"},"Media Kit",-1)),c("p",Po,L(pt.value||"View Media Kit"),1)]),S(N,{name:"arrow-right",size:"18px",class:"shrink-0 text-gray-300 transition-colors group-hover:text-gray-500"})]),_:1},8,["to"])):U("",!0),d.value.promotion_id?(k(),C("div",Bo,[c("span",To,[S(N,{name:"conversion",size:"22px"})]),S(_,{to:`/conversions/promotions/${d.value.promotion_id}`,class:"group min-w-0 flex-1"},{default:et(()=>[u[14]||(u[14]=c("p",{class:"text-xs font-bold uppercase tracking-wide text-gray-400"},"Promotion",-1)),c("p",No,L(Ce.value||"View Promotion"),1)]),_:1},8,["to"]),c("button",{class:"shrink-0 text-gray-400 hover:text-gray-700",title:"Change promotion",onClick:Ht},[S(N,{name:"edit",size:"16px"})]),S(_,{to:`/conversions/promotions/${d.value.promotion_id}`,class:"shrink-0 text-gray-300 hover:text-gray-500"},{default:et(()=>[S(N,{name:"arrow-right",size:"18px"})]),_:1},8,["to"])])):Ot.value?(k(),C("div",Lo,[c("div",Io,[c("span",Ro,[S(N,{name:"conversion",size:"22px"})]),u[15]||(u[15]=c("div",null,[c("p",{class:"text-xs font-bold uppercase tracking-wide text-gray-400"},"Promotion"),c("p",{class:"text-sm text-gray-500"},"Not part of a promotion.")],-1))]),tt.value?U("",!0):(k(),C("button",{key:0,class:"btn-secondary shrink-0",onClick:Ht},[S(N,{name:"add",class:"mr-2",size:"14px"}),u[16]||(u[16]=Y(" ADD TO PROMOTION ",-1))]))])):U("",!0),tt.value?(k(),C("div",Mo,[Et(c("select",{"onUpdate:modelValue":u[3]||(u[3]=g=>j.value=g),class:"w-full rounded-md border border-gray-300 bg-white px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary sm:max-w-xs"},[u[17]||(u[17]=c("option",{value:""},"Select a promotion…",-1)),(k(!0),C(Z,null,ut(qt(l),g=>(k(),C("option",{key:g.id,value:g.id},L(g.name),9,Do))),128)),u[18]||(u[18]=c("option",{value:"__new__"},"+ New promotion…",-1)),d.value.promotion_id?(k(),C("option",Uo,"Remove from promotion")):U("",!0)],512),[[Ue,j.value]]),j.value==="__new__"?Et((k(),C("input",{key:0,"onUpdate:modelValue":u[4]||(u[4]=g=>lt.value=g),type:"text",placeholder:"New promotion name",class:"w-full flex-1 rounded-md border border-gray-300 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary",onKeydown:At(jt,["enter"])},null,544)),[[Gt,lt.value]]):U("",!0),c("div",Fo,[c("button",{class:"btn-secondary",onClick:u[5]||(u[5]=g=>tt.value=!1)},"CANCEL"),c("button",{class:"btn-primary",disabled:!Kt.value,onClick:jt},L(mt.value?"SAVING…":"SAVE"),9,zo)])])):U("",!0)])])):U("",!0),A.value?U("",!0):(k(),C("div",$o,[c("div",Vo,[u[20]||(u[20]=c("p",{class:"text-xs font-bold uppercase text-gray-500"},"Shared On",-1)),$.value?(k(),C("div",Oo,[c("button",{class:"btn-secondary",disabled:M.value,onClick:K},"RESET",8,Ko),c("button",{class:"btn-primary",disabled:M.value,onClick:ve},L(M.value?"SAVING…":"SAVE"),9,Ho)])):U("",!0)]),u[22]||(u[22]=c("p",{class:"text-xs text-gray-500 mb-4"},"The platform where you're sharing this link. Used for organizing and filtering.",-1)),c("div",jo,[(k(!0),C(Z,null,ut(qt(T),g=>(k(),C("button",{key:g.value,type:"button",title:g.label,class:Qt(["flex h-11 w-11 items-center justify-center rounded-full transition-colors",J(g.value)?"bg-primary/10 ring-2 ring-primary":"bg-gray-200 text-gray-700 hover:bg-gray-300"]),style:$e(J(g.value)?{color:g.activeColor||"#4F85A3"}:null),onClick:F=>at(g.value)},[S(N,{name:g.icon,size:"18px"},null,8,["name"])],14,Jo))),128))]),c("div",Yo,[q.value?(k(),C("div",Qo,[c("div",qo,[u[21]||(u[21]=c("p",{class:"text-xs font-bold uppercase text-gray-500"},"Add a platform — creates a new tracked link",-1)),c("button",{class:"text-sm text-gray-500 hover:text-gray-900",onClick:u[7]||(u[7]=g=>q.value=!1)},"Cancel")]),c("div",Wo,[(k(!0),C(Z,null,ut(X.value,g=>(k(),C("button",{key:g.value,type:"button",title:g.label,disabled:!!W.value,class:"flex items-center gap-2 rounded-full border border-gray-200 bg-gray-100 px-3 py-2 text-sm transition-colors hover:bg-gray-200 disabled:opacity-50",onClick:F=>Vt(g.value)},[S(N,{name:g.icon,size:"16px"},null,8,["name"]),c("span",null,L(g.label),1),W.value===g.value?(k(),C("span",Xo,"…")):U("",!0)],8,Zo))),128))])])):(k(),C("button",{key:0,t
8ype:"button",class:"btn-secondary",disabled:!X.value.length,onClick:u[6]||(u[6]=g=>q.value=!0)},[S(N,{name:"smart-link",class:"mr-2",size:"14px"}),Y(" "+L(X.value.length?"ADD ANOTHER PLATFORM":"ALL PLATFORMS ADDED"),1)],8,Go))])])),c("div",tr,[S(Wt,{title:"Clicks",metric:"clicks","result-type":"number","show-sign":!1,"link-id":d.value.id,"date-range":"last_30_days"},null,8,["link-id"]),S(Wt,{title:"Average Daily Clicks",metric:"avg_daily_link_clicks","result-type":"number","show-sign":!1,"link-id":d.value.id,"date-range":"last_30_days"},null,8,["link-id"])]),A.value?(k(),C("section",er,[S(Ke,{"link-id":d.value.id},null,8,["link-id"])])):U("",!0)],64)):(k(),C("div",nr,[u[24]||(u[24]=c("p",{class:"text-sm text-gray-600"},"Smart link not found.",-1)),S(_,{to:"/conversions",class:"btn-primary mt-4 inline-block"},{default:et(()=>[...u[23]||(u[23]=[Y(" BACK TO CONVERSIONS ",-1)])]),_:1})]))])])}}};export{pr as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.