@sirendesign/markup 1.0.27 ā 1.0.28
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.
|
@@ -3762,5 +3762,5 @@ const Ip=$e("authIdTokenMaxAge")||300;let xp=null;function Tp(e=Ht()){const A=It
|
|
|
3762
3762
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3763
3763
|
* See the License for the specific language governing permissions and
|
|
3764
3764
|
* limitations under the License.
|
|
3765
|
-
*/(n);for(const A of n)e=A._apply(e);return e}(Eh(Hp(),Np),function(e,A,t){const n=A,r=zh("where",e);return ld._create(r,n,t)}("projectId","==",e),function(e,A="asc"){const t=A,n=zh("orderBy",e);return hd._create(n,t)}("createdAt","desc"));return bd(t,e=>{e.size;const t=e.docs.map(e=>{var A,t,n,r,s,i,o,a,c;const l=e.data();return{id:e.id,title:l.title,description:l.description,screenshot:l.screenshot,status:l.status,comments:l.comments||[],annotations:l.annotations||[],type:l.type||"general",currentCopy:l.currentCopy,newCopy:l.newCopy,priority:l.priority||"medium",pageMetadata:l.pageMetadata||{url:"",title:"",screenWidth:0,screenHeight:0,devicePixelRatio:1,userAgent:"",timestamp:(new Date).toISOString(),deviceType:"desktop"},createdAt:(null===(n=null===(t=null===(A=l.createdAt)||void 0===A?void 0:A.toDate)||void 0===t?void 0:t.call(A))||void 0===n?void 0:n.toISOString())||(new Date).toISOString(),updatedAt:(null===(i=null===(s=null===(r=l.updatedAt)||void 0===r?void 0:r.toDate)||void 0===s?void 0:s.call(r))||void 0===i?void 0:i.toISOString())||(null===(c=null===(a=null===(o=l.createdAt)||void 0===o?void 0:o.toDate)||void 0===a?void 0:a.call(o))||void 0===c?void 0:c.toISOString())||(new Date).toISOString(),createdBy:l.createdBy||{id:l.userId,name:"User",email:"",role:"default"},tags:l.tags||[],sessionEvents:l.sessionEvents,componentName:l.componentName,designMockup:l.designMockup,screenRecording:l.screenRecording,pinLocation:l.pinLocation}});A(t)},e=>{console.error("Firestore subscription error:",e),console.error("Error code:",e.code),console.error("Error message:",e.message),("failed-precondition"===e.code||e.message.includes("index"))&&(console.error("š„ FIRESTORE INDEX REQUIRED!"),console.error("Create index at:",e.message))})},Kp=async(e,A,t,n="default")=>{const r=Hp();if(!r)throw new Error("Firestore is not available. Widget is running in offline mode.");const s=bh(r,"users",e),i=await vd(s);if(i.exists()){const e=i.data();return await Ed(s,{updatedAt:(new Date).toISOString()}),e}const o={id:e,name:t||A.split("@")[0],email:A,role:n,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()};return await function(e,A,t){e=Ns(e,Ch);const n=Ns(e.firestore,Ih),r=pd(e.converter,A);return Qd(n,[Vh(Ph(n),"setDoc",e._key,r,null!==e.converter,t).toMutation(e._key,ha.none())])}(s,o),o},Pp=[{value:"open",label:"Open",color:"bg-brand-blue text-gray-900"},{value:"in-progress",label:"In Progress",color:"bg-yellow-100 text-gray-900"},{value:"resolved",label:"Resolved",color:"bg-brand-green text-white"},{value:"closed",label:"Closed",color:"bg-brand-pink text-gray-900"}],Vp={low:"bg-brand-green/30 text-gray-700",medium:"bg-brand-blue/50 text-gray-800",high:"bg-brand-pink/30 text-gray-800",critical:"bg-brand-pink text-gray-800"},Gp=({feedback:A,onBack:n,onDelete:r,onUpdate:i})=>{var a,c,l;const{config:u,updateFeedback:h,currentUser:d}=O(),[g,f]=t(A),[p,m]=t(""),[B,w]=t(!1),[y,C]=t(!1),[v,E]=t(!1),[b,Q]=t(!1),[U,F]=t(!1),[I,x]=t(!1),[T,k]=t(!1),[S,_]=t(50),H=s(()=>{if(!g.sessionEvents)return null;try{return JSON.parse(g.sessionEvents)}catch(e){return console.error("Failed to parse session events",e),null}},[g.sessionEvents]),N="default"===(null===(a=u.user)||void 0===a?void 0:a.role)||!1===u.allowStatusChange,D=!!d&&((e,A)=>e.id===A||"admin"===e.role||"developer"===e.role)(d,g.createdBy.id),L=!!d&&((e,A)=>e.id===A||"admin"===e.role||"developer"===e.role)(d,g.createdBy.id),R=async e=>{f(e),h(e);try{await Rp(g.id,e)}catch(e){console.warn("Failed to update feedback in Firebase:",e)}i&&i(e),Q(!1)};if(b)return e.createElement("div",{className:"flex flex-col h-full"},e.createElement("div",{className:"flex items-center justify-between p-5 pb-3 mb-3 border-b border-gray-200"},e.createElement("div",{onClick:()=>Q(!1),className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(wr,{className:"w-4 h-4"}),"Cancel Editing")),e.createElement("div",{className:"flex-1 overflow-y-auto px-5"},e.createElement(Tr,{initialData:g,onSubmit:R,onCancel:()=>Q(!1)})));const M=async()=>{var e,A,t,n;if(!p.trim())return;w(!0);const r={id:j(),content:p.trim(),text:p.trim(),createdAt:(new Date).toISOString(),createdBy:d||{id:(null===(e=u.user)||void 0===e?void 0:e.id)||"anonymous",name:(null===(A=u.user)||void 0===A?void 0:A.name)||"Anonymous",email:(null===(t=u.user)||void 0===t?void 0:t.email)||"",role:(null===(n=u.user)||void 0===n?void 0:n.role)||"default"}},s={...g,comments:[...g.comments||[],r],updatedAt:(new Date).toISOString()};f(s),h(s);try{await Rp(g.id,{comments:s.comments})}catch(e){console.warn("Failed to add comment in Firebase:",e)}u.onCommentAdd&&await u.onCommentAdd(g.id,r),i&&i(s),m(""),w(!1)};return e.createElement("div",{className:"flex flex-col h-full px-5 overflow-y-auto"},e.createElement("div",{className:"flex items-center justify-between pb-3 mb-3 border-b border-gray-200"},e.createElement("div",{onClick:n,className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(wr,{className:"w-4 h-4"}),"Back"),e.createElement("div",{className:"flex items-center gap-2"},e.createElement("div",{onClick:async()=>{const e=`\nš ${g.title}\nāāāāāāāāāāāāāāāāāāāāāā\n\n${g.description?`Description:\n${g.description}\n\n`:""}Priority: ${g.priority.toUpperCase()}\nStatus: ${g.status.replace("-"," ").toUpperCase()}\nCreated: ${W(g.createdAt)}\nCreated by: ${g.createdBy.name}\n${g.tags&&g.tags.length>0?`\nTags: ${g.tags.join(", ")}`:""}\n${g.pageMetadata?`\nāāāāāāāāāāāāāāāāāāāāāā\nPage: ${g.pageMetadata.url}\nScreen: ${g.pageMetadata.screenWidth}x${g.pageMetadata.screenHeight}`:""}\n${g.comments&&g.comments.length>0?`\nāāāāāāāāāāāāāāāāāāāāāā\nComments (${g.comments.length}):\n${g.comments.map(e=>`⢠${e.createdBy.name} (${W(e.createdAt)}): ${e.content||e.text}`).join("\n")}`:""}\n `.trim();try{await navigator.clipboard.writeText(e),E(!0),setTimeout(()=>E(!1),2e3)}catch(e){console.error("Failed to copy:",e)}},className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},v?e.createElement(e.Fragment,null,e.createElement(ur,{className:"w-4 h-4"}),"Copied!"):e.createElement(e.Fragment,null,e.createElement(gr,{className:"w-4 h-4"}))),L&&e.createElement("div",{onClick:()=>Q(!0),className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(dr,{className:"w-4 h-4"})),D&&r&&e.createElement("div",{onClick:()=>F(!0),className:"flex items-center gap-1.5 text-sm text-red-600 bg-transparent border-none cursor-pointer hover:text-red-700 transition-colors"},e.createElement(hr,{className:"w-4 h-4"})))),U&&e.createElement("div",{className:"mb-3 p-2 rounded-xl border border-red-200 bg-red-50 text-red-800 flex items-center gap-3"},e.createElement("div",{className:"flex-1 text-xs font-medium"},"Delete this feedback?"),e.createElement("div",{onClick:()=>F(!1),className:"px-2 py-1.5 text-xs font-semibold text-red-700 rounded-lg hover:bg-red-100 cursor-pointer"},"Cancel"),e.createElement("div",{onClick:async()=>{try{await Op(g.id)}catch(e){console.warn("Failed to delete from Firebase:",e)}u.onDelete&&await u.onDelete(g.id),r&&r(g.id),F(!1)},className:"px-2 py-1.5 text-xs font-semibold text-white bg-red-600 rounded-lg hover:bg-red-700 cursor-pointer"},"Delete")),e.createElement("div",{className:"flex-1 pr-1"},e.createElement("div",{className:"mb-4"},e.createElement("div",{className:"flex items-start gap-2 mb-2"},e.createElement("h3",{className:"text-base font-semibold text-gray-900 m-0 flex-1"},g.title),(null===(c=g.pageMetadata)||void 0===c?void 0:c.deviceType)&&e.createElement("div",{className:"flex-shrink-0 mt-0.5"},"desktop"===g.pageMetadata.deviceType&&e.createElement(br,{className:"w-5 h-5 text-gray-500",title:"Desktop"}),"tablet"===g.pageMetadata.deviceType&&e.createElement(Qr,{className:"w-5 h-5 text-gray-500",title:"Tablet"}),"mobile"===g.pageMetadata.deviceType&&e.createElement(Ur,{className:"w-5 h-5 text-gray-500",title:"Mobile"}))),e.createElement("div",{className:"flex items-center gap-2 flex-wrap"},g.type&&e.createElement("span",{className:Ke("px-2 py-0.5 rounded-full text-[10px] font-medium uppercase","copy-amendment"===g.type?"bg-brand-blue/50 text-gray-800":"bug"===g.type?"bg-brand-pink/30 text-gray-800":"feature"===g.type?"bg-brand-green/30 text-gray-800":"bg-gray-100 text-gray-700")},"copy-amendment"===g.type?"Copy":"General"),e.createElement("span",{className:Ke("px-2 py-0.5 rounded-full text-[10px] font-medium uppercase",Vp[g.priority])},g.priority),e.createElement("span",{className:"text-xs text-gray-400"},W(g.createdAt)))),!N&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Status"),e.createElement("div",{className:"flex gap-1.5"},Pp.map(A=>e.createElement("div",{key:A.value,onClick:()=>(async e=>{const A={...g,status:e,updatedAt:(new Date).toISOString()};f(A),h(A);try{await Rp(g.id,{status:e})}catch(e){console.warn("Failed to update status in Firebase:",e)}u.onStatusChange&&await u.onStatusChange(g.id,e),i&&i(A)})(A.value),className:Ke("flex-1 py-1.5 px-2 rounded-lg text-[10px] font-medium border cursor-pointer transition-all text-center",g.status===A.value?Ke(A.color,"border-transparent"):"bg-white text-gray-600 border-gray-200 hover:border-brand-blue")},A.label)))),g.screenshot&&e.createElement("div",{className:"mb-5"},e.createElement("label",{className:"block text-xs font-semibold text-gray-800 mb-2 uppercase tracking-wide"},"Screenshot"),e.createElement("div",{className:"relative rounded-xl overflow-hidden shadow-md cursor-pointer group",onClick:()=>C(!0)},e.createElement("img",{src:g.screenshot,alt:"Feedback screenshot",className:"w-full block"}),e.createElement("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-all flex items-center justify-center"},e.createElement("div",{className:"bg-white rounded-full p-3 shadow-xl transform scale-90 group-hover:scale-100 transition-transform"},e.createElement(Cr,{className:"w-6 h-6 text-gray-700"}))))),g.screenRecording&&e.createElement("div",{className:"mb-5"},e.createElement("label",{className:"block text-xs font-semibold text-gray-800 mb-2 uppercase tracking-wide"},"Screen Recording"),e.createElement("div",{className:"relative rounded-xl overflow-hidden shadow-md border border-gray-200"},e.createElement("video",{src:g.screenRecording,controls:!0,className:"w-full h-auto bg-black"}))),(g.designMockup||g.sessionEvents)&&e.createElement("div",{className:"flex gap-2 mb-5"},g.sessionEvents&&e.createElement("div",{onClick:()=>x(!0),className:"flex-1 bg-gray-100 text-gray-700 py-2.5 rounded-xl text-xs font-semibold hover:bg-gray-200 transition-colors flex items-center justify-center gap-2 border border-gray-200 cursor-pointer"},"Play Session"),g.designMockup&&e.createElement("div",{onClick:()=>k(!0),className:"flex-1 bg-gray-100 text-gray-700 py-2.5 rounded-xl text-xs font-semibold hover:bg-gray-200 transition-colors flex items-center justify-center gap-2 border border-gray-200 cursor-pointer"},"Overlay Mockup")),"copy-amendment"===g.type&&e.createElement(e.Fragment,null,g.currentCopy&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Current Copy"),e.createElement("div",{className:"bg-red-50 border border-red-200 rounded-lg p-3"},e.createElement("p",{className:"text-sm text-gray-800 m-0 whitespace-pre-wrap"},g.currentCopy))),g.newCopy&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"New Copy"),e.createElement("div",{className:"bg-green-50 border border-green-200 rounded-lg p-3"},e.createElement("p",{className:"text-sm text-gray-800 m-0 whitespace-pre-wrap"},g.newCopy)))),"image-change"===g.type&&e.createElement(e.Fragment,null,(g.originalImageSrc||g.originalImageBackground)&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Current Image"),e.createElement("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-3"},g.originalImageSrc?e.createElement(e.Fragment,null,e.createElement("img",{src:g.originalImageSrc,alt:"Original",className:"w-full h-48 object-cover rounded-lg mb-2"}),e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},g.originalImageSrc)):e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},"Background Image:"," ",g.originalImageBackground))),g.replacementImageUrl&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Replacement Image"),e.createElement("div",{className:"bg-green-50 border border-green-200 rounded-lg p-3"},e.createElement("img",{src:g.replacementImageUrl,alt:"Replacement",className:"w-full h-48 object-cover rounded-lg mb-2"}),e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},g.replacementImageUrl)))),g.description&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Description"),e.createElement("p",{className:"text-sm text-gray-600 m-0 whitespace-pre-wrap"},g.description)),g.tags&&g.tags.length>0&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Tags"),e.createElement("div",{className:"flex flex-wrap gap-1.5"},g.tags.map(A=>e.createElement("span",{key:A,className:"px-2 py-1 bg-gray-100 text-gray-700 rounded-full text-xs"},A)))),g.pageMetadata&&e.createElement("div",{className:"mb-4 p-2.5 bg-gray-50 rounded-lg"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Page Info"),e.createElement("div",{className:"text-xs text-gray-500 space-y-1"},e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"URL:")," ",g.pageMetadata.url),g.pageMetadata.componentName&&e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"Component:")," ",e.createElement("code",{className:"bg-gray-200 px-1.5 py-0.5 rounded text-xs font-mono text-gray-800"},g.pageMetadata.componentName)),g.pageMetadata.elementInfo&&e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"Element:")," ",e.createElement("code",{className:"bg-blue-50 px-1.5 py-0.5 rounded text-xs font-mono text-blue-800"},g.pageMetadata.elementInfo)),e.createElement("div",null,e.createElement("span",{className:"font-medium"},"Screen:")," ",g.pageMetadata.screenWidth,"x",g.pageMetadata.screenHeight),e.createElement("div",null,e.createElement("span",{className:"font-medium"},"User Agent:")," ",g.pageMetadata.userAgent))),e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-2"},"Comments (",(null===(l=g.comments)||void 0===l?void 0:l.length)||0,")"),g.comments&&g.comments.length>0&&e.createElement("div",{className:"space-y-3 mb-4"},g.comments.map(A=>e.createElement("div",{key:A.id,className:"p-3 bg-white border border-gray-200 rounded-xl shadow-sm"},e.createElement("div",{className:"flex items-center gap-2 mb-2"},e.createElement("div",{className:"w-8 h-8 rounded-full bg-gradient-to-br from-[#C2D1D9] to-purple-500 flex items-center justify-center shadow-md"},e.createElement(yr,{className:"w-4 h-4 text-white"})),e.createElement("span",{className:"text-xs font-semibold text-gray-900"},A.createdBy.name),e.createElement("span",{className:"text-[10px] text-gray-500 font-medium"},W(A.createdAt))),e.createElement("p",{className:"text-sm text-gray-700 m-0 ml-10 whitespace-pre-wrap"},A.content||A.text)))),e.createElement("div",{className:"flex gap-2"},e.createElement("input",{type:"text",value:p,onChange:e=>m(e.target.value),placeholder:"Add a comment...",className:"flex-1 px-4 py-2.5 bg-gray-50 border border-gray-200 rounded-xl text-sm focus:outline-none focus:bg-white focus:border-[#C2D1D9] focus:shadow-lg focus:shadow-[#C2D1D9]/10 transition-all",onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),M())}}),e.createElement("button",{onClick:M,disabled:!p.trim()||B,className:"p-2.5 rounded-xl border-none text-white cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed hover:shadow-lg transition-all",style:{backgroundColor:"var(--markup-primary)"}},e.createElement(pr,{className:"w-5 h-5"}))))),y&&g.screenshot&&o(e.createElement("div",{className:"fixed inset-0 bg-black/90 backdrop-blur-sm z-[2147483647] flex items-center justify-center p-10 animate-in fade-in duration-200",onClick:()=>C(!1)},e.createElement("button",{onClick:()=>C(!1),className:"absolute top-6 right-6 p-2 bg-white/10 rounded-full border-none cursor-pointer hover:bg-white/20 transition-colors z-10"},e.createElement(ar,{className:"w-8 h-8 text-white"})),e.createElement("img",{src:g.screenshot,alt:"Feedback screenshot",className:"max-w-full max-h-full object-contain rounded-lg shadow-2xl",onClick:e=>e.stopPropagation()})),document.body),I&&H&&H.length>0&&o(e.createElement("div",{className:"fixed inset-0 z-[10000] bg-black/80 backdrop-blur-sm flex items-center justify-center p-5 animate-in fade-in duration-200",onClick:()=>x(!1)},e.createElement("div",{className:"bg-white rounded-2xl overflow-hidden shadow-2xl max-w-[900px] w-full flex flex-col max-h-[90vh]",onClick:e=>e.stopPropagation()},e.createElement("div",{className:"p-4 border-b border-gray-100 flex items-center justify-between bg-gray-50"},e.createElement("div",null,e.createElement("h3",{className:"font-semibold text-gray-900"},"Session Activity Timeline"),e.createElement("p",{className:"text-xs text-gray-600 mt-1"},"User actions recorded during feedback creation")),e.createElement("button",{onClick:()=>x(!1),className:"p-2 hover:bg-gray-200 rounded-full transition-colors cursor-pointer text-gray-500 hover:text-gray-900 border-none bg-transparent"},e.createElement(ar,{className:"w-5 h-5"}))),e.createElement("div",{className:"flex-1 overflow-y-auto p-4"},e.createElement("div",{className:"space-y-2"},H.map((A,t)=>{var n;const r=(null===(n=H[0])||void 0===n?void 0:n.timestamp)||A.timestamp;return e.createElement("div",{key:t,className:"flex items-start gap-3 p-3 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors"},e.createElement("div",{className:"flex-shrink-0 w-20 text-xs font-mono text-gray-600"},e.createElement("div",null,(s=A.timestamp,new Date(s).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}))),e.createElement("div",{className:"text-gray-400"},((e,A)=>{const t=Math.floor((e-A)/1e3);return 0===t?"start":`+${t}s`})(A.timestamp,r))),e.createElement("div",{className:"flex-1 min-w-0"},"click"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-blue-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Clicked")),e.createElement("div",{className:"text-sm text-gray-700 font-mono bg-white px-2 py-1 rounded border border-gray-200"},"<",A.data.elementTag||"unknown",A.data.elementId&&` id="${A.data.elementId}"`,A.data.elementClass&&` class="${A.data.elementClass}"`,">"),A.data.elementText&&e.createElement("div",{className:"mt-1 text-sm text-gray-600"},"Text:"," ",e.createElement("span",{className:"italic"},'"',A.data.elementText.substring(0,100),A.data.elementText.length>100?"...":"",'"'))),"navigation"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-purple-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Navigated")),e.createElement("div",{className:"text-sm text-gray-700 break-all"},A.data.url)),"scroll"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-green-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Scrolled")),e.createElement("div",{className:"text-sm text-gray-700"},"Position:"," ",A.data.scrollY,"px")),"input"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-orange-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Input")),e.createElement("div",{className:"text-sm text-gray-700"},A.data.inputType," ","field"))));var s}))))),document.body),T&&g.designMockup&&o(e.createElement("div",{className:"fixed inset-0 z-[10000] pointer-events-none"},e.createElement("img",{src:g.designMockup,style:{opacity:S/100},className:"w-full h-full object-contain object-top",alt:"Design Mockup Overlay"}),e.createElement("div",{className:"fixed bottom-10 left-1/2 -translate-x-1/2 bg-white/90 backdrop-blur border border-gray-200 shadow-xl rounded-full p-2 px-6 flex items-center gap-4 pointer-events-auto"},e.createElement("span",{className:"text-xs font-bold text-gray-500 uppercase whitespace-nowrap"},"Overlay Opacity"),e.createElement("input",{type:"range",min:"0",max:"100",value:S,onChange:e=>_(Number(e.target.value)),className:"w-32 accent-brand-blue"}),e.createElement("button",{onClick:()=>k(!1),className:"ml-2 hover:bg-gray-200 p-1.5 rounded-full border-none bg-transparent"},e.createElement(ar,{className:"w-4 h-4 text-gray-500"})))),document.body))},jp=async(e,A)=>{const t=_p();if(!t)throw new Error("Firebase authentication is not available. Widget is running in offline mode.");return async function(e,A,t){if(xt(e.app))return Promise.reject(Nd(e));const n=Og(e),r=Jg(n,{returnSecureToken:!0,email:A,password:t,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",df),s=await r.catch(A=>{throw"auth/password-does-not-meet-requirements"===A.code&&wf(e),A}),i=await gf._fromIdTokenResponse(n,"signIn",s);return await n._updateCurrentUser(i.user),i}(t,e,A)},Wp=async()=>{const e=_p();if(e)return function(e){return BA(e).signOut()}(e);console.warn("Firebase authentication is not available. Cannot log out.")},Xp=e=>{const A=_p();return A?function(e,A,t,n){return BA(e).onAuthStateChanged(A,t,n)}(A,e):(e(null),()=>{})},Jp=()=>{const e=_p();return e?e.currentUser:null},Yp=({onSuccess:e})=>{const[A,n]=t("login"),[r,s]=t(""),[i,o]=t(""),[a,c]=t(null),[l,u]=t(!1),h=async t=>{t.preventDefault(),c(null),u(!0);try{"signup"===A?await jp(r,i):await(async(e,A)=>{const t=_p();if(!t)throw new Error("Firebase authentication is not available. Widget is running in offline mode.");return yf(t,e,A)})(r,i),e()}catch(e){c(e.message||"Authentication failed")}finally{u(!1)}};return React.createElement("div",{className:"flex flex-col items-center justify-center h-full p-5"},React.createElement("div",{className:"w-full max-w-md"},React.createElement("div",{className:"bg-white rounded-2xl shadow-2xl p-8"},React.createElement("h2",{className:"text-2xl font-bold text-gray-900 mb-2 text-center"},"login"===A?"Sign In":"Create Account"),React.createElement("p",{className:"text-gray-600 text-sm text-center mb-6"},"login"===A?"Sign in to submit and manage feedback":"Create an account to get started"),React.createElement("form",{onSubmit:h,className:"space-y-4"},React.createElement("div",null,React.createElement("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 mb-2"},"Email Address"),React.createElement("input",{id:"email",type:"email",value:r,onChange:e=>s(e.target.value),required:!0,className:"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#C2D1D9] focus:border-transparent transition-all",placeholder:"you@example.com"})),React.createElement("div",null,React.createElement("label",{htmlFor:"password",className:"block text-sm font-medium text-gray-700 mb-2"},"Password"),React.createElement("input",{id:"password",type:"password",value:i,onChange:e=>o(e.target.value),required:!0,minLength:6,className:"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#C2D1D9] focus:border-transparent transition-all",placeholder:"Minimum 6 characters"})),a&&React.createElement("div",{className:"bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg text-sm"},a),React.createElement("div",{onClick:h,className:"w-full bg-[#c2d1d9] text-black py-2.5 px-4 rounded-lg font-medium hover:bg-[#c2d1d9]/80 focus:ring-4 focus:ring-blue transition-all cursor-pointer text-center"},l?"Please wait...":"login"===A?"Sign In":"Create Account")),React.createElement("div",{className:"mt-6 text-center"},React.createElement("div",{onClick:()=>{n("login"===A?"signup":"login"),c(null)},className:"bg-pink text-black w-full font-medium cursor-pointer hover:underline"},"login"===A?"Don't have an account? Sign up":"Already have an account? Sign in"))),React.createElement("p",{className:"text-center text-xs text-gray-500 mt-6"},"Your feedback will be associated with your account")))},zp=[{name:"iPhone SE",width:375,height:667,deviceType:"mobile"},{name:"iPhone 12 Pro",width:390,height:844,deviceType:"mobile"},{name:"iPhone 14 Pro Max",width:430,height:932,deviceType:"mobile"},{name:"iPad Mini",width:768,height:1024,deviceType:"tablet"},{name:"iPad Pro",width:1024,height:1366,deviceType:"tablet"},{name:"Desktop",width:1920,height:1080,deviceType:"desktop"}],qp=()=>{const{viewportMode:A,setViewportMode:t,isOpen:n}=O(),[r,s]=e.useState(!1),i=e.useRef(null),o=e=>{t({width:e.width,height:e.height}),s(!1)},a=()=>{t(null),s(!1)},c=e=>(null==A?void 0:A.width)===e.width&&(null==A?void 0:A.height)===e.height;return e.useEffect(()=>{if(!r)return;const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r]),e.useEffect(()=>{const e=e=>{"Escape"===e.key&&(r?(s(!1),e.preventDefault()):A&&(a(),e.preventDefault()))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r,A]),n?e.createElement("div",{ref:i,className:"fixed cursor-pointer top-4 left-1/2 -translate-x-1/2 z-[999998] flex items-center gap-2"},A?e.createElement("div",{className:"bg-white border-2 border-gray-300 rounded-xl px-4 py-2 shadow-lg flex items-center gap-3"},e.createElement("span",{className:"text-sm font-medium text-gray-700"},A.width," Ć ",A.height),e.createElement("div",{onClick:()=>s(!r),className:"text-gray-600 hover:text-gray-900 transition-colors"},e.createElement(br,{className:"w-4 h-4"})),e.createElement("div",{onClick:a,className:"px-2 py-1 text-xs font-medium text-red-600 hover:text-white hover:bg-red-600 border border-red-600 rounded transition-colors"},"Reset")):e.createElement("div",{onClick:()=>s(!r),className:"bg-white border-2 border-gray-300 rounded-xl px-4 py-2 shadow-lg hover:shadow-xl transition-all flex items-center gap-2 text-sm font-medium text-gray-700 hover:text-gray-900 hover:border-gray-400"},e.createElement(br,{className:"w-4 h-4"}),"Responsive Mode"),r&&e.createElement("div",{className:"absolute top-full left-1/2 -translate-x-1/2 mt-2 bg-white border-2 border-gray-200 rounded-xl shadow-2xl p-3 min-w-[240px]"},e.createElement("div",{className:"space-y-2"},e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mb-2"},"Mobile"),zp.filter(e=>"mobile"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(Ur,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height)))),e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mt-4 mb-2"},"Tablet"),zp.filter(e=>"tablet"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(Qr,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height)))),e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mt-4 mb-2"},"Desktop"),zp.filter(e=>"desktop"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(br,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height))))))):null},$p=({onPinClick:A})=>{const{feedbackItems:r,showPins:i}=O(),[o,a]=t({width:0,height:0});n(()=>{const e=()=>{const e=document.documentElement,A=document.body,t=e.clientWidth||A.clientWidth||window.innerWidth,n=Math.max(e.scrollHeight,A.scrollHeight,e.clientHeight,A.clientHeight);a({width:t,height:n})};e();const A=new ResizeObserver(()=>e());A.observe(document.documentElement),A.observe(document.body);const t=()=>e(),n=()=>e();return window.addEventListener("resize",t),window.addEventListener("scroll",n,{passive:!0}),()=>{A.disconnect(),window.removeEventListener("resize",t),window.removeEventListener("scroll",n)}},[]);const c=s(()=>{const e=window.location.href;return r.filter(A=>{var t;return!!A.pinLocation&&(null===(t=A.pageMetadata)||void 0===t?void 0:t.url)===e})},[r]);if(!i)return null;if(0===c.length)return null;const l={position:"absolute",top:0,left:0,width:o.width||"100%",height:o.height||"100%",pointerEvents:"none",zIndex:999998};return e.createElement("div",{className:"feedback-pins-container","data-markup-pins":!0,style:l},c.map(t=>{const{pinLocation:n}=t;if(!n)return null;if(n.elementSelector)try{const r=o.width||n.pageWidth||n.viewportWidth||window.innerWidth,s=o.height||n.pageHeight||n.viewportHeight||window.innerHeight,i="number"==typeof n.percentX?n.percentX:r?n.pageX/r*100:0,a={position:"absolute",left:`${i}%`,top:`${"number"==typeof n.percentY?n.percentY:s?n.pageY/s*100:0}%`,transform:"translate(-50%, -50%)",pointerEvents:"auto"};return e.createElement("div",{key:t.id,className:"feedback-pin-wrapper",style:a,onClick:()=>A(t)},e.createElement("div",{className:"feedback-pin group relative cursor-pointer"},e.createElement("div",{className:`\n w-8 h-8 rounded-full flex items-center justify-center\n shadow-lg hover:shadow-xl transition-all\n ${"open"===t.status?"bg-[#E6B6CF] hover:bg-[#d9a3c0]":"bg-green-500 hover:bg-green-600"}\n border-2 border-white\n hover:scale-110\n `},e.createElement(or,{className:"w-4 h-4 text-white"})),e.createElement("div",{className:"\n absolute bottom-full left-1/2 -translate-x-1/2 mb-2\n opacity-0 group-hover:opacity-100\n pointer-events-none\n transition-opacity duration-200\n bg-gray-900 text-white text-xs rounded-lg py-2 px-3\n whitespace-nowrap shadow-xl\n max-w-[200px]\n "},e.createElement("div",{className:"font-semibold truncate"},t.title||"Feedback"),e.createElement("div",{className:"text-gray-300 text-[10px] mt-0.5"},"Click to view"),e.createElement("div",{className:"\n absolute top-full left-1/2 -translate-x-1/2\n w-0 h-0\n border-l-4 border-l-transparent\n border-r-4 border-r-transparent\n border-t-4 border-t-gray-900\n "}))))}finally{}}))},Zp=({config:s})=>{var i;const o=A(!1);if(!o.current&&(null==s?void 0:s.firebaseConfig)&&0===Nt().length)try{Sp(s.firebaseConfig),o.current=!0}catch(e){console.error("Failed to initialize Firebase:",e)}const{isOpen:a,setIsOpen:c,activeTab:l,setActiveTab:u,selectedFeedback:h,setSelectedFeedback:d,feedbackItems:g,addFeedbackItem:f,removeFeedbackItem:p,updateFeedback:m,config:B,setConfig:w,reset:y,isAuthenticated:C,currentUser:v,viewportMode:E,setViewportMode:b,showPins:Q,setShowPins:U}=O();(()=>{const e=O(e=>e.config),A=O(e=>e.setCurrentUser),t=O(e=>e.setIsAuthenticated),r=O(e=>e.setFeedbackItems),s=O(e=>e.isAuthenticated);n(()=>{if(0===Nt().length)return void console.warn("Firebase not initialized. Call initFirebase() at app root or authentication will be disabled.");const e=Xp(async e=>{var n;if(e&&e.email,e)try{const n=await Kp(e.uid,e.email||"",e.displayName||void 0),r={id:n.id,email:n.email,name:n.name,role:n.role,avatar:n.avatar};r.name,r.role,A(r),t(!0)}catch(r){console.error("Failed to load user profile:",r);const s={id:e.uid,email:e.email||"",name:e.displayName||(null===(n=e.email)||void 0===n?void 0:n.split("@")[0])||"User",role:"default"};A(s),t(!0)}else A(null),t(!1)});return()=>{e()}},[A,t]),n(()=>{if(Nt().length,e.projectId,Jp(),0===Nt().length)return;if(!e.projectId)return;if(!Jp())return;e.projectId;const A=Mp(e.projectId,e=>{e.length,e.map(e=>({id:e.id,title:e.title})),r(e),e.length});return()=>{A()}},[e.projectId,r,s])})();const{getSessionEvents:F}=(()=>{const e=A([]);return n(()=>{if("undefined"==typeof window)return;const A=A=>{e.current.length>=50&&e.current.shift(),e.current.push(A)},t=e=>{var t;const n=e.target;n.closest("[data-markup-widget]")||A({type:"click",timestamp:Date.now(),data:{elementTag:n.tagName.toLowerCase(),elementText:(null===(t=n.textContent)||void 0===t?void 0:t.slice(0,50).trim())||void 0,elementId:n.id||void 0,elementClass:n.className&&"string"==typeof n.className?n.className.split(" ").slice(0,3).join(" "):void 0}})},n=()=>{A({type:"navigation",timestamp:Date.now(),data:{url:window.location.href}})};let r;const s=()=>{clearTimeout(r),r=setTimeout(()=>{A({type:"scroll",timestamp:Date.now(),data:{scrollY:window.scrollY}})},500)},i=e=>{const t=e.target;t.closest("[data-markup-widget]")||A({type:"input",timestamp:Date.now(),data:{elementTag:t.tagName.toLowerCase(),elementId:t.id||void 0,inputType:t.type||void 0}})};return A({type:"navigation",timestamp:Date.now(),data:{url:window.location.href}}),document.addEventListener("click",t,!0),window.addEventListener("popstate",n),window.addEventListener("scroll",s,{passive:!0}),document.addEventListener("input",i,!0),()=>{document.removeEventListener("click",t,!0),window.removeEventListener("popstate",n),window.removeEventListener("scroll",s),document.removeEventListener("input",i,!0),clearTimeout(r)}},[]),{getSessionEvents:r(()=>{if(0!==e.current.length)return JSON.stringify(e.current)},[]),clearSession:r(()=>{e.current=[]},[])}})(),I=A(null),[x,T]=t("");n(()=>{const e=e=>{var A;const t=e.target;if(!t.closest("[data-markup-widget]")){I.current=t;let e="";if(t.childNodes.length>0){for(const A of Array.from(t.childNodes))A.nodeType===Node.TEXT_NODE&&(e+=A.textContent||"");e=e.trim()}e||(e=(null===(A=t.textContent)||void 0===A?void 0:A.trim())||""),e&&e.length>0&&e.length<500?T(e):T("")}};return document.addEventListener("click",e,!0),()=>document.removeEventListener("click",e,!0)},[]),n(()=>{if(E){const e=document.documentElement,A=document.body;return A.style.background="rgba(0, 0, 0, 0.5)",A.style.overflow="visible",e.style.transition="max-width 0.3s ease-in-out, margin 0.3s ease-in-out, background 0.2s ease-in-out",e.style.maxWidth=`${E.width}px`,e.style.margin="0 auto",e.style.border="2px solid #999",e.style.background="#ffffff",e.style.boxShadow="0 0 50px rgba(0, 0, 0, 0.3)",()=>{e.style.transition="",e.style.maxWidth="",e.style.margin="",e.style.border="",e.style.background="",e.style.boxShadow="",A.style.overflow="",A.style.background=""}}},[E]),n(()=>{s&&w(s)},[s,w]),n(()=>{const e=e=>{const A=(B.shortcut||"ctrl+shift+m").split("+").map(e=>e.trim().toLowerCase()),t=A.includes("ctrl"),n=A.includes("shift"),r=A.includes("alt"),s=A[A.length-1];e.key.toLowerCase()===s&&e.ctrlKey===t&&e.shiftKey===n&&e.altKey===r&&(e.preventDefault(),c(!a))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[B.shortcut,a,c]);const k=r(()=>{a?(c(!1),d(null),u("create")):c(!0)},[a,c,d,u]),S=r(async e=>{try{const A=Jp();if(B.projectId,e.title,A&&B.projectId){const t=await Lp(e,B.projectId,A.uid),n={...e,id:t};f(n)}else console.warn("No user or projectId - saving to local storage only"),f(e)}catch(A){console.error("ā Failed to save feedback to Firebase:",A),f(e)}u("list")},[f,u,B.projectId]),_=r(()=>{y(),c(!1)},[y,c]),H=r(e=>{if(d(e),e.pinLocation){const{pinLocation:A}=e,t=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,r="number"==typeof A.percentX?A.percentX/100*t:A.pageX||0,s="number"==typeof A.percentY?A.percentY/100*n:A.pageY||0;window.scrollTo({left:r-window.innerWidth/2,top:s-window.innerHeight/2,behavior:"smooth"})}},[d]),N=r(e=>{if(c(!0),u("list"),d(e),e.pinLocation){const{pinLocation:A}=e,t=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,r="number"==typeof A.percentX?A.percentX/100*t:A.pageX||0,s="number"==typeof A.percentY?A.percentY/100*n:A.pageY||0;window.scrollTo({left:r-window.innerWidth/2,top:s-window.innerHeight/2,behavior:"smooth"})}},[c,u,d]),D=r(()=>{d(null),b(null)},[d,b]),L=r(async()=>{try{await Wp(),y()}catch(e){console.error("Logout failed:",e)}},[y]),R=r(()=>{u("create")},[u]),M=r(async e=>{const A=g.find(A=>A.id===e);if((null==A?void 0:A.screenRecording)&&A.screenRecording.includes("firebasestorage"))try{await ir(A.screenRecording)}catch(e){console.error("Failed to delete screen recording from storage:",e)}p(e),d(null)},[p,d,g]),K=r(e=>{m(e),d(e)},[m,d]),P=g.filter(e=>"open"===e.status).length;return B.primaryColor,B.primaryColor&&em(B.primaryColor,-20),e.createElement(e.Fragment,null,e.createElement($p,{onPinClick:N}),e.createElement(qp,null),e.createElement("div",{className:Ke("markup-widget fixed z-[999999] right-0 top-1/2 flex items-center transition-transform duration-300 ease-in-out",a?"":"hover:translate-x-[-8px]"),style:{transform:a?"translateY(-50%) translateX(0)":"translateY(-50%) translateX(calc(100% - 40px))"},"data-markup-widget":!0},e.createElement("div",{onClick:k,className:"relative bg-white h-fit flex items-center gap-2 px-2 pr-5 text-black border-none rounded-l-2xl cursor-pointer text-sm font-semibold transition-all py-5 shadow-lg"},a&&e.createElement(ar,{className:"w-5 h-5"}),e.createElement("span",{className:"text-black",style:{writingMode:"sideways-lr"}},"Siren"),P>0&&e.createElement("span",{className:"absolute -top-3 -left-1 min-w-[24px] h-[24px] px-1 bg-[#E6B6CF] text-black rounded-full text-xs font-semibold flex items-center justify-center"},P)),e.createElement("div",{className:"bg-white w-[500px] h-[750px] rounded-l-xl shadow-2xl overflow-hidden flex flex-col text-black"},e.createElement("div",{className:"flex items-center justify-between px-5 py-4 text-black",style:{backgroundColor:"var(--markup-primary)"}},e.createElement("h2",{className:"text-base font-semibold m-0"},(null===(i=B.labels)||void 0===i?void 0:i.feedbackTitle)||"Feedback"),e.createElement("div",{className:"flex items-center gap-2"},e.createElement("div",{onClick:e=>{e.stopPropagation(),U(!Q)},className:"p-2 text-xs font-medium bg-gray-50 border border-gray-200 text-black rounded-lg hover:bg-gray-100 cursor-pointer transition-all flex items-center gap-1.5",title:Q?"Hide pins":"Show pins"},e.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})),Q?"Hide":"Show"),C&&v&&e.createElement("div",{onClick:L,className:"text-xs py-2 px-2 bg-gray-50 border border-gray-200 text-gray-900 rounded-lg hover:bg-gray-200 cursor-pointer transition-all flex items-center gap-2"},e.createElement("h2",null,"Sign Out")))),C?h?e.createElement(Gp,{feedback:h,onBack:D,onDelete:M,onUpdate:K}):e.createElement(e.Fragment,null,e.createElement("div",{className:"flex border-b border-gray-200 px-5"},e.createElement("div",{className:Ke("flex-1 py-3 px-4 border border-b-0 border-gray-200 rounded-t-xl hover:bg-gray-100 cursor-pointer text-sm font-medium transition-all flex items-center justify-center gap-1","create"===l?"bg-gray-200":"border-white"),onClick:()=>u("create")},e.createElement(mr,{className:"w-3.5 h-3.5"}),"New"),e.createElement("div",{className:Ke("flex-1 py-3 px-4 border border-b-0 border-gray-200 rounded-t-xl hover:bg-gray-100 cursor-pointer text-sm font-medium transition-all flex items-center justify-center gap-1","list"===l?"bg-gray-200":"border-white"),onClick:()=>u("list")},"View All (",g.length,")")),e.createElement("div",{className:"flex-1 overflow-y-auto p-5"},"create"===l&&e.createElement(Tr,{onSubmit:S,onCancel:_,getSessionEvents:F,lastClickedElement:I.current,lastClickedText:x}),"list"===l&&e.createElement(Hr,{feedbackItems:g,onSelectFeedback:H}))):e.createElement("div",{className:"flex-1 overflow-y-auto"},e.createElement(Yp,{onSuccess:R})))))};function em(e,A){const t=e=>Math.min(255,Math.max(0,e));if(e.startsWith("#")){const n=e.slice(1),r=parseInt(n,16);return`#${(t((r>>16)+A)<<16|t((r>>8&255)+A)<<8|t((255&r)+A)).toString(16).padStart(6,"0")}`}return e}let Am=null;const tm={init:function(A,t="markup-widget-root"){let n=document.getElementById(t);n||(n=document.createElement("div"),n.id=t,n.setAttribute("data-markup-widget-root","true"),document.body.appendChild(n)),Am=i.createRoot(n),Am.render(e.createElement(e.StrictMode,null,e.createElement(Zp,{config:A})))},open:function(){document.querySelector("[data-markup-widget-root]")&&window.dispatchEvent(new CustomEvent("markup-widget-open"))},close:function(){window.dispatchEvent(new CustomEvent("markup-widget-close"))},destroy:function(){Am&&(Am.unmount(),Am=null);const e=document.getElementById("markup-widget-root");e&&e.remove()}};"undefined"!=typeof window&&(window.MarkupWidget=tm);export{tm as default};
|
|
3765
|
+
*/(n);for(const A of n)e=A._apply(e);return e}(Eh(Hp(),Np),function(e,A,t){const n=A,r=zh("where",e);return ld._create(r,n,t)}("projectId","==",e),function(e,A="asc"){const t=A,n=zh("orderBy",e);return hd._create(n,t)}("createdAt","desc"));return bd(t,e=>{e.size;const t=e.docs.map(e=>{var A,t,n,r,s,i,o,a,c;const l=e.data();return{id:e.id,title:l.title,description:l.description,screenshot:l.screenshot,status:l.status,comments:l.comments||[],annotations:l.annotations||[],type:l.type||"general",currentCopy:l.currentCopy,newCopy:l.newCopy,priority:l.priority||"medium",pageMetadata:l.pageMetadata||{url:"",title:"",screenWidth:0,screenHeight:0,devicePixelRatio:1,userAgent:"",timestamp:(new Date).toISOString(),deviceType:"desktop"},createdAt:(null===(n=null===(t=null===(A=l.createdAt)||void 0===A?void 0:A.toDate)||void 0===t?void 0:t.call(A))||void 0===n?void 0:n.toISOString())||(new Date).toISOString(),updatedAt:(null===(i=null===(s=null===(r=l.updatedAt)||void 0===r?void 0:r.toDate)||void 0===s?void 0:s.call(r))||void 0===i?void 0:i.toISOString())||(null===(c=null===(a=null===(o=l.createdAt)||void 0===o?void 0:o.toDate)||void 0===a?void 0:a.call(o))||void 0===c?void 0:c.toISOString())||(new Date).toISOString(),createdBy:l.createdBy||{id:l.userId,name:"User",email:"",role:"default"},tags:l.tags||[],sessionEvents:l.sessionEvents,componentName:l.componentName,designMockup:l.designMockup,screenRecording:l.screenRecording,pinLocation:l.pinLocation}});A(t)},e=>{console.error("Firestore subscription error:",e),console.error("Error code:",e.code),console.error("Error message:",e.message),("failed-precondition"===e.code||e.message.includes("index"))&&(console.error("š„ FIRESTORE INDEX REQUIRED!"),console.error("Create index at:",e.message))})},Kp=async(e,A,t,n="default")=>{const r=Hp();if(!r)throw new Error("Firestore is not available. Widget is running in offline mode.");const s=bh(r,"users",e),i=await vd(s);if(i.exists()){const e=i.data();return await Ed(s,{updatedAt:(new Date).toISOString()}),e}const o={id:e,name:t||A.split("@")[0],email:A,role:n,createdAt:(new Date).toISOString(),updatedAt:(new Date).toISOString()};return await function(e,A,t){e=Ns(e,Ch);const n=Ns(e.firestore,Ih),r=pd(e.converter,A);return Qd(n,[Vh(Ph(n),"setDoc",e._key,r,null!==e.converter,t).toMutation(e._key,ha.none())])}(s,o),o},Pp=[{value:"open",label:"Open",color:"bg-brand-blue text-gray-900"},{value:"in-progress",label:"In Progress",color:"bg-yellow-100 text-gray-900"},{value:"resolved",label:"Resolved",color:"bg-brand-green text-white"},{value:"closed",label:"Closed",color:"bg-brand-pink text-gray-900"}],Vp={low:"bg-brand-green/30 text-gray-700",medium:"bg-brand-blue/50 text-gray-800",high:"bg-brand-pink/30 text-gray-800",critical:"bg-brand-pink text-gray-800"},Gp=({feedback:A,onBack:n,onDelete:r,onUpdate:i})=>{var a,c,l;const{config:u,updateFeedback:h,currentUser:d}=O(),[g,f]=t(A),[p,m]=t(""),[B,w]=t(!1),[y,C]=t(!1),[v,E]=t(!1),[b,Q]=t(!1),[U,F]=t(!1),[I,x]=t(!1),[T,k]=t(!1),[S,_]=t(50),H=s(()=>{if(!g.sessionEvents)return null;try{return JSON.parse(g.sessionEvents)}catch(e){return console.error("Failed to parse session events",e),null}},[g.sessionEvents]),N="default"===(null===(a=u.user)||void 0===a?void 0:a.role)||!1===u.allowStatusChange,D=!!d&&((e,A)=>e.id===A||"admin"===e.role||"developer"===e.role)(d,g.createdBy.id),L=!!d&&((e,A)=>e.id===A||"admin"===e.role||"developer"===e.role)(d,g.createdBy.id),R=async e=>{f(e),h(e);try{await Rp(g.id,e)}catch(e){console.warn("Failed to update feedback in Firebase:",e)}i&&i(e),Q(!1)};if(b)return e.createElement("div",{className:"flex flex-col h-full"},e.createElement("div",{className:"flex items-center justify-between p-5 pb-3 mb-3 border-b border-gray-200"},e.createElement("div",{onClick:()=>Q(!1),className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(wr,{className:"w-4 h-4"}),"Cancel Editing")),e.createElement("div",{className:"flex-1 overflow-y-auto px-5"},e.createElement(Tr,{initialData:g,onSubmit:R,onCancel:()=>Q(!1)})));const M=async()=>{var e,A,t,n;if(!p.trim())return;w(!0);const r={id:j(),content:p.trim(),text:p.trim(),createdAt:(new Date).toISOString(),createdBy:d||{id:(null===(e=u.user)||void 0===e?void 0:e.id)||"anonymous",name:(null===(A=u.user)||void 0===A?void 0:A.name)||"Anonymous",email:(null===(t=u.user)||void 0===t?void 0:t.email)||"",role:(null===(n=u.user)||void 0===n?void 0:n.role)||"default"}},s={...g,comments:[...g.comments||[],r],updatedAt:(new Date).toISOString()};f(s),h(s);try{await Rp(g.id,{comments:s.comments})}catch(e){console.warn("Failed to add comment in Firebase:",e)}u.onCommentAdd&&await u.onCommentAdd(g.id,r),i&&i(s),m(""),w(!1)};return e.createElement("div",{className:"flex flex-col h-full px-5 overflow-y-auto"},e.createElement("div",{className:"flex items-center justify-between pb-3 mb-3 border-b border-gray-200"},e.createElement("div",{onClick:n,className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(wr,{className:"w-4 h-4"}),"Back"),e.createElement("div",{className:"flex items-center gap-2"},e.createElement("div",{onClick:async()=>{const e=`\nš ${g.title}\nāāāāāāāāāāāāāāāāāāāāāā\n\n${g.description?`Description:\n${g.description}\n\n`:""}Priority: ${g.priority.toUpperCase()}\nStatus: ${g.status.replace("-"," ").toUpperCase()}\nCreated: ${W(g.createdAt)}\nCreated by: ${g.createdBy.name}\n${g.tags&&g.tags.length>0?`\nTags: ${g.tags.join(", ")}`:""}\n${g.pageMetadata?`\nāāāāāāāāāāāāāāāāāāāāāā\nPage: ${g.pageMetadata.url}\nScreen: ${g.pageMetadata.screenWidth}x${g.pageMetadata.screenHeight}`:""}\n${g.comments&&g.comments.length>0?`\nāāāāāāāāāāāāāāāāāāāāāā\nComments (${g.comments.length}):\n${g.comments.map(e=>`⢠${e.createdBy.name} (${W(e.createdAt)}): ${e.content||e.text}`).join("\n")}`:""}\n `.trim();try{await navigator.clipboard.writeText(e),E(!0),setTimeout(()=>E(!1),2e3)}catch(e){console.error("Failed to copy:",e)}},className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},v?e.createElement(e.Fragment,null,e.createElement(ur,{className:"w-4 h-4"}),"Copied!"):e.createElement(e.Fragment,null,e.createElement(gr,{className:"w-4 h-4"}))),L&&e.createElement("div",{onClick:()=>Q(!0),className:"flex items-center gap-1.5 text-sm text-gray-600 bg-transparent border-none cursor-pointer hover:text-gray-900 transition-colors"},e.createElement(dr,{className:"w-4 h-4"})),D&&r&&e.createElement("div",{onClick:()=>F(!0),className:"flex items-center gap-1.5 text-sm text-red-600 bg-transparent border-none cursor-pointer hover:text-red-700 transition-colors"},e.createElement(hr,{className:"w-4 h-4"})))),U&&e.createElement("div",{className:"mb-3 p-2 rounded-xl border border-red-200 bg-red-50 text-red-800 flex items-center gap-3"},e.createElement("div",{className:"flex-1 text-xs font-medium"},"Delete this feedback?"),e.createElement("div",{onClick:()=>F(!1),className:"px-2 py-1.5 text-xs font-semibold text-red-700 rounded-lg hover:bg-red-100 cursor-pointer"},"Cancel"),e.createElement("div",{onClick:async()=>{try{await Op(g.id)}catch(e){console.warn("Failed to delete from Firebase:",e)}u.onDelete&&await u.onDelete(g.id),r&&r(g.id),F(!1)},className:"px-2 py-1.5 text-xs font-semibold text-white bg-red-600 rounded-lg hover:bg-red-700 cursor-pointer"},"Delete")),e.createElement("div",{className:"flex-1 pr-1"},e.createElement("div",{className:"mb-4"},e.createElement("div",{className:"flex items-start gap-2 mb-2"},e.createElement("h3",{className:"text-base font-semibold text-gray-900 m-0 flex-1"},g.title),(null===(c=g.pageMetadata)||void 0===c?void 0:c.deviceType)&&e.createElement("div",{className:"flex-shrink-0 mt-0.5"},"desktop"===g.pageMetadata.deviceType&&e.createElement(br,{className:"w-5 h-5 text-gray-500",title:"Desktop"}),"tablet"===g.pageMetadata.deviceType&&e.createElement(Qr,{className:"w-5 h-5 text-gray-500",title:"Tablet"}),"mobile"===g.pageMetadata.deviceType&&e.createElement(Ur,{className:"w-5 h-5 text-gray-500",title:"Mobile"}))),e.createElement("div",{className:"flex items-center gap-2 flex-wrap"},g.type&&e.createElement("span",{className:Ke("px-2 py-0.5 rounded-full text-[10px] font-medium uppercase","copy-amendment"===g.type?"bg-brand-blue/50 text-gray-800":"bug"===g.type?"bg-brand-pink/30 text-gray-800":"feature"===g.type?"bg-brand-green/30 text-gray-800":"bg-gray-100 text-gray-700")},"copy-amendment"===g.type?"Copy":"General"),e.createElement("span",{className:Ke("px-2 py-0.5 rounded-full text-[10px] font-medium uppercase",Vp[g.priority])},g.priority),e.createElement("span",{className:"text-xs text-gray-400"},W(g.createdAt)))),!N&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Status"),e.createElement("div",{className:"flex gap-1.5"},Pp.map(A=>e.createElement("div",{key:A.value,onClick:()=>(async e=>{const A={...g,status:e,updatedAt:(new Date).toISOString()};f(A),h(A);try{await Rp(g.id,{status:e})}catch(e){console.warn("Failed to update status in Firebase:",e)}u.onStatusChange&&await u.onStatusChange(g.id,e),i&&i(A)})(A.value),className:Ke("flex-1 py-1.5 px-2 rounded-lg text-[10px] font-medium border cursor-pointer transition-all text-center",g.status===A.value?Ke(A.color,"border-transparent"):"bg-white text-gray-600 border-gray-200 hover:border-brand-blue")},A.label)))),g.screenshot&&e.createElement("div",{className:"mb-5"},e.createElement("label",{className:"block text-xs font-semibold text-gray-800 mb-2 uppercase tracking-wide"},"Screenshot"),e.createElement("div",{className:"relative rounded-xl overflow-hidden shadow-md cursor-pointer group",onClick:()=>C(!0)},e.createElement("img",{src:g.screenshot,alt:"Feedback screenshot",className:"w-full block"}),e.createElement("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-all flex items-center justify-center"},e.createElement("div",{className:"bg-white rounded-full p-3 shadow-xl transform scale-90 group-hover:scale-100 transition-transform"},e.createElement(Cr,{className:"w-6 h-6 text-gray-700"}))))),g.screenRecording&&e.createElement("div",{className:"mb-5"},e.createElement("label",{className:"block text-xs font-semibold text-gray-800 mb-2 uppercase tracking-wide"},"Screen Recording"),e.createElement("div",{className:"relative rounded-xl overflow-hidden shadow-md border border-gray-200"},e.createElement("video",{src:g.screenRecording,controls:!0,className:"w-full h-auto bg-black"}))),(g.designMockup||g.sessionEvents)&&e.createElement("div",{className:"flex gap-2 mb-5"},g.sessionEvents&&e.createElement("div",{onClick:()=>x(!0),className:"flex-1 bg-gray-100 text-gray-700 py-2.5 rounded-xl text-xs font-semibold hover:bg-gray-200 transition-colors flex items-center justify-center gap-2 border border-gray-200 cursor-pointer"},"Play Session"),g.designMockup&&e.createElement("div",{onClick:()=>k(!0),className:"flex-1 bg-gray-100 text-gray-700 py-2.5 rounded-xl text-xs font-semibold hover:bg-gray-200 transition-colors flex items-center justify-center gap-2 border border-gray-200 cursor-pointer"},"Overlay Mockup")),"copy-amendment"===g.type&&e.createElement(e.Fragment,null,g.currentCopy&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Current Copy"),e.createElement("div",{className:"bg-red-50 border border-red-200 rounded-lg p-3"},e.createElement("p",{className:"text-sm text-gray-800 m-0 whitespace-pre-wrap"},g.currentCopy))),g.newCopy&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"New Copy"),e.createElement("div",{className:"bg-green-50 border border-green-200 rounded-lg p-3"},e.createElement("p",{className:"text-sm text-gray-800 m-0 whitespace-pre-wrap"},g.newCopy)))),"image-change"===g.type&&e.createElement(e.Fragment,null,(g.originalImageSrc||g.originalImageBackground)&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Current Image"),e.createElement("div",{className:"bg-blue-50 border border-blue-200 rounded-lg p-3"},g.originalImageSrc?e.createElement(e.Fragment,null,e.createElement("img",{src:g.originalImageSrc,alt:"Original",className:"w-full h-48 object-cover rounded-lg mb-2"}),e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},g.originalImageSrc)):e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},"Background Image:"," ",g.originalImageBackground))),g.replacementImageUrl&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Replacement Image"),e.createElement("div",{className:"bg-green-50 border border-green-200 rounded-lg p-3"},e.createElement("img",{src:g.replacementImageUrl,alt:"Replacement",className:"w-full h-48 object-cover rounded-lg mb-2"}),e.createElement("p",{className:"text-[10px] text-gray-600 font-mono break-all"},g.replacementImageUrl)))),g.description&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Description"),e.createElement("p",{className:"text-sm text-gray-600 m-0 whitespace-pre-wrap"},g.description)),g.tags&&g.tags.length>0&&e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Tags"),e.createElement("div",{className:"flex flex-wrap gap-1.5"},g.tags.map(A=>e.createElement("span",{key:A,className:"px-2 py-1 bg-gray-100 text-gray-700 rounded-full text-xs"},A)))),g.pageMetadata&&e.createElement("div",{className:"mb-4 p-2.5 bg-gray-50 rounded-lg"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-1.5"},"Page Info"),e.createElement("div",{className:"text-xs text-gray-500 space-y-1"},e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"URL:")," ",g.pageMetadata.url),g.pageMetadata.componentName&&e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"Component:")," ",e.createElement("code",{className:"bg-gray-200 px-1.5 py-0.5 rounded text-xs font-mono text-gray-800"},g.pageMetadata.componentName)),g.pageMetadata.elementInfo&&e.createElement("div",{className:"truncate"},e.createElement("span",{className:"font-medium"},"Element:")," ",e.createElement("code",{className:"bg-blue-50 px-1.5 py-0.5 rounded text-xs font-mono text-blue-800"},g.pageMetadata.elementInfo)),e.createElement("div",null,e.createElement("span",{className:"font-medium"},"Screen:")," ",g.pageMetadata.screenWidth,"x",g.pageMetadata.screenHeight),e.createElement("div",null,e.createElement("span",{className:"font-medium"},"User Agent:")," ",g.pageMetadata.userAgent))),e.createElement("div",{className:"mb-4"},e.createElement("label",{className:"block text-xs font-medium text-gray-700 mb-2"},"Comments (",(null===(l=g.comments)||void 0===l?void 0:l.length)||0,")"),g.comments&&g.comments.length>0&&e.createElement("div",{className:"space-y-3 mb-4"},g.comments.map(A=>e.createElement("div",{key:A.id,className:"p-3 bg-white border border-gray-200 rounded-xl shadow-sm"},e.createElement("div",{className:"flex items-center gap-2 mb-2"},e.createElement("div",{className:"w-8 h-8 rounded-full bg-gradient-to-br from-[#C2D1D9] to-purple-500 flex items-center justify-center shadow-md"},e.createElement(yr,{className:"w-4 h-4 text-white"})),e.createElement("span",{className:"text-xs font-semibold text-gray-900"},A.createdBy.name),e.createElement("span",{className:"text-[10px] text-gray-500 font-medium"},W(A.createdAt))),e.createElement("p",{className:"text-sm text-gray-700 m-0 ml-10 whitespace-pre-wrap"},A.content||A.text)))),e.createElement("div",{className:"flex gap-2"},e.createElement("input",{type:"text",value:p,onChange:e=>m(e.target.value),placeholder:"Add a comment...",className:"flex-1 px-4 py-2.5 bg-gray-50 border border-gray-200 rounded-xl text-sm focus:outline-none focus:bg-white focus:border-[#C2D1D9] focus:shadow-lg focus:shadow-[#C2D1D9]/10 transition-all",onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),M())}}),e.createElement("button",{onClick:M,disabled:!p.trim()||B,className:"p-2.5 rounded-xl border-none text-white cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed hover:shadow-lg transition-all",style:{backgroundColor:"var(--markup-primary)"}},e.createElement(pr,{className:"w-5 h-5"}))))),y&&g.screenshot&&o(e.createElement("div",{className:"fixed inset-0 bg-black/90 backdrop-blur-sm z-[2147483647] flex items-center justify-center p-10 animate-in fade-in duration-200",onClick:()=>C(!1)},e.createElement("button",{onClick:()=>C(!1),className:"absolute top-6 right-6 p-2 bg-white/10 rounded-full border-none cursor-pointer hover:bg-white/20 transition-colors z-10"},e.createElement(ar,{className:"w-8 h-8 text-white"})),e.createElement("img",{src:g.screenshot,alt:"Feedback screenshot",className:"max-w-full max-h-full object-contain rounded-lg shadow-2xl",onClick:e=>e.stopPropagation()})),document.body),I&&H&&H.length>0&&o(e.createElement("div",{className:"fixed inset-0 z-[10000] bg-black/80 backdrop-blur-sm flex items-center justify-center p-5 animate-in fade-in duration-200",onClick:()=>x(!1)},e.createElement("div",{className:"bg-white rounded-2xl overflow-hidden shadow-2xl max-w-[900px] w-full flex flex-col max-h-[90vh]",onClick:e=>e.stopPropagation()},e.createElement("div",{className:"p-4 border-b border-gray-100 flex items-center justify-between bg-gray-50"},e.createElement("div",null,e.createElement("h3",{className:"font-semibold text-gray-900"},"Session Activity Timeline"),e.createElement("p",{className:"text-xs text-gray-600 mt-1"},"User actions recorded during feedback creation")),e.createElement("button",{onClick:()=>x(!1),className:"p-2 hover:bg-gray-200 rounded-full transition-colors cursor-pointer text-gray-500 hover:text-gray-900 border-none bg-transparent"},e.createElement(ar,{className:"w-5 h-5"}))),e.createElement("div",{className:"flex-1 overflow-y-auto p-4"},e.createElement("div",{className:"space-y-2"},H.map((A,t)=>{var n;const r=(null===(n=H[0])||void 0===n?void 0:n.timestamp)||A.timestamp;return e.createElement("div",{key:t,className:"flex items-start gap-3 p-3 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors"},e.createElement("div",{className:"flex-shrink-0 w-20 text-xs font-mono text-gray-600"},e.createElement("div",null,(s=A.timestamp,new Date(s).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}))),e.createElement("div",{className:"text-gray-400"},((e,A)=>{const t=Math.floor((e-A)/1e3);return 0===t?"start":`+${t}s`})(A.timestamp,r))),e.createElement("div",{className:"flex-1 min-w-0"},"click"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-blue-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Clicked")),e.createElement("div",{className:"text-sm text-gray-700 font-mono bg-white px-2 py-1 rounded border border-gray-200"},"<",A.data.elementTag||"unknown",A.data.elementId&&` id="${A.data.elementId}"`,A.data.elementClass&&` class="${A.data.elementClass}"`,">"),A.data.elementText&&e.createElement("div",{className:"mt-1 text-sm text-gray-600"},"Text:"," ",e.createElement("span",{className:"italic"},'"',A.data.elementText.substring(0,100),A.data.elementText.length>100?"...":"",'"'))),"navigation"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-purple-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Navigated")),e.createElement("div",{className:"text-sm text-gray-700 break-all"},A.data.url)),"scroll"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-green-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Scrolled")),e.createElement("div",{className:"text-sm text-gray-700"},"Position:"," ",A.data.scrollY,"px")),"input"===A.type&&e.createElement("div",null,e.createElement("div",{className:"flex items-center gap-2 mb-1"},e.createElement("span",{className:"inline-block w-2 h-2 bg-orange-500 rounded-full"}),e.createElement("span",{className:"font-medium text-gray-900"},"Input")),e.createElement("div",{className:"text-sm text-gray-700"},A.data.inputType," ","field"))));var s}))))),document.body),T&&g.designMockup&&o(e.createElement("div",{className:"fixed inset-0 z-[10000] pointer-events-none"},e.createElement("img",{src:g.designMockup,style:{opacity:S/100},className:"w-full h-full object-contain object-top",alt:"Design Mockup Overlay"}),e.createElement("div",{className:"fixed bottom-10 left-1/2 -translate-x-1/2 bg-white/90 backdrop-blur border border-gray-200 shadow-xl rounded-full p-2 px-6 flex items-center gap-4 pointer-events-auto"},e.createElement("span",{className:"text-xs font-bold text-gray-500 uppercase whitespace-nowrap"},"Overlay Opacity"),e.createElement("input",{type:"range",min:"0",max:"100",value:S,onChange:e=>_(Number(e.target.value)),className:"w-32 accent-brand-blue"}),e.createElement("button",{onClick:()=>k(!1),className:"ml-2 hover:bg-gray-200 p-1.5 rounded-full border-none bg-transparent"},e.createElement(ar,{className:"w-4 h-4 text-gray-500"})))),document.body))},jp=async(e,A)=>{const t=_p();if(!t)throw new Error("Firebase authentication is not available. Widget is running in offline mode.");return async function(e,A,t){if(xt(e.app))return Promise.reject(Nd(e));const n=Og(e),r=Jg(n,{returnSecureToken:!0,email:A,password:t,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",df),s=await r.catch(A=>{throw"auth/password-does-not-meet-requirements"===A.code&&wf(e),A}),i=await gf._fromIdTokenResponse(n,"signIn",s);return await n._updateCurrentUser(i.user),i}(t,e,A)},Wp=async()=>{const e=_p();if(e)return function(e){return BA(e).signOut()}(e);console.warn("Firebase authentication is not available. Cannot log out.")},Xp=e=>{const A=_p();return A?function(e,A,t,n){return BA(e).onAuthStateChanged(A,t,n)}(A,e):(e(null),()=>{})},Jp=()=>{const e=_p();return e?e.currentUser:null},Yp=({onSuccess:e})=>{const[A,n]=t("login"),[r,s]=t(""),[i,o]=t(""),[a,c]=t(null),[l,u]=t(!1),h=async t=>{t.preventDefault(),c(null),u(!0);try{"signup"===A?await jp(r,i):await(async(e,A)=>{const t=_p();if(!t)throw new Error("Firebase authentication is not available. Widget is running in offline mode.");return yf(t,e,A)})(r,i),e()}catch(e){c(e.message||"Authentication failed")}finally{u(!1)}};return React.createElement("div",{className:"flex flex-col items-center justify-center h-full p-5"},React.createElement("div",{className:"w-full max-w-md"},React.createElement("div",{className:"bg-white rounded-2xl shadow-2xl p-8"},React.createElement("h2",{className:"text-2xl font-bold text-gray-900 mb-2 text-center"},"login"===A?"Sign In":"Create Account"),React.createElement("p",{className:"text-gray-600 text-sm text-center mb-6"},"login"===A?"Sign in to submit and manage feedback":"Create an account to get started"),React.createElement("form",{onSubmit:h,className:"space-y-4"},React.createElement("div",null,React.createElement("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 mb-2"},"Email Address"),React.createElement("input",{id:"email",type:"email",value:r,onChange:e=>s(e.target.value),required:!0,className:"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#C2D1D9] focus:border-transparent transition-all",placeholder:"you@example.com"})),React.createElement("div",null,React.createElement("label",{htmlFor:"password",className:"block text-sm font-medium text-gray-700 mb-2"},"Password"),React.createElement("input",{id:"password",type:"password",value:i,onChange:e=>o(e.target.value),required:!0,minLength:6,className:"w-full px-4 py-2.5 border border-gray-300 rounded-lg focus:ring-2 focus:ring-[#C2D1D9] focus:border-transparent transition-all",placeholder:"Minimum 6 characters"})),a&&React.createElement("div",{className:"bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-lg text-sm"},a),React.createElement("div",{onClick:h,className:"w-full bg-[#c2d1d9] text-black py-2.5 px-4 rounded-lg font-medium hover:bg-[#c2d1d9]/80 focus:ring-4 focus:ring-blue transition-all cursor-pointer text-center"},l?"Please wait...":"login"===A?"Sign In":"Create Account")),React.createElement("div",{className:"mt-6 text-center"},React.createElement("div",{onClick:()=>{n("login"===A?"signup":"login"),c(null)},className:"bg-pink text-black w-full font-medium cursor-pointer hover:underline"},"login"===A?"Don't have an account? Sign up":"Already have an account? Sign in"))),React.createElement("p",{className:"text-center text-xs text-gray-500 mt-6"},"Your feedback will be associated with your account")))},zp=[{name:"iPhone SE",width:375,height:667,deviceType:"mobile"},{name:"iPhone 12 Pro",width:390,height:844,deviceType:"mobile"},{name:"iPhone 14 Pro Max",width:430,height:932,deviceType:"mobile"},{name:"iPad Mini",width:768,height:1024,deviceType:"tablet"},{name:"iPad Pro",width:1024,height:1366,deviceType:"tablet"},{name:"Desktop",width:1920,height:1080,deviceType:"desktop"}],qp=()=>{const{viewportMode:A,setViewportMode:t,isOpen:n}=O(),[r,s]=e.useState(!1),i=e.useRef(null),o=e=>{t({width:e.width,height:e.height}),s(!1)},a=()=>{t(null),s(!1)},c=e=>(null==A?void 0:A.width)===e.width&&(null==A?void 0:A.height)===e.height;return e.useEffect(()=>{if(!r)return;const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r]),e.useEffect(()=>{const e=e=>{"Escape"===e.key&&(r?(s(!1),e.preventDefault()):A&&(a(),e.preventDefault()))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r,A]),n?e.createElement("div",{ref:i,className:"fixed cursor-pointer top-4 left-1/2 -translate-x-1/2 z-[999998] flex items-center gap-2"},A?e.createElement("div",{className:"bg-white border-2 border-gray-300 rounded-xl px-4 py-2 shadow-lg flex items-center gap-3"},e.createElement("span",{className:"text-sm font-medium text-gray-700"},A.width," Ć ",A.height),e.createElement("div",{onClick:()=>s(!r),className:"text-gray-600 hover:text-gray-900 transition-colors"},e.createElement(br,{className:"w-4 h-4"})),e.createElement("div",{onClick:a,className:"px-2 py-1 text-xs font-medium text-red-600 hover:text-white hover:bg-red-600 border border-red-600 rounded transition-colors"},"Reset")):e.createElement("div",{onClick:()=>s(!r),className:"bg-white border-2 border-gray-300 rounded-xl px-4 py-2 shadow-lg hover:shadow-xl transition-all flex items-center gap-2 text-sm font-medium text-gray-700 hover:text-gray-900 hover:border-gray-400"},e.createElement(br,{className:"w-4 h-4"}),"Responsive Mode"),r&&e.createElement("div",{className:"absolute top-full left-1/2 -translate-x-1/2 mt-2 bg-white border-2 border-gray-200 rounded-xl shadow-2xl p-3 min-w-[240px]"},e.createElement("div",{className:"space-y-2"},e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mb-2"},"Mobile"),zp.filter(e=>"mobile"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(Ur,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height)))),e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mt-4 mb-2"},"Tablet"),zp.filter(e=>"tablet"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(Qr,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height)))),e.createElement("div",{className:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-2 mt-4 mb-2"},"Desktop"),zp.filter(e=>"desktop"===e.deviceType).map(A=>e.createElement("div",{key:A.name,onClick:()=>o(A),className:Ke("w-full flex items-center gap-3 px-3 py-2 rounded-lg transition-all text-left group",c(A)?"bg-blue-50 border border-blue-200":"hover:bg-gray-100")},e.createElement(br,{className:Ke("w-4 h-4 transition-colors",c(A)?"text-blue-600":"text-gray-400 group-hover:text-gray-600")}),e.createElement("div",{className:"flex-1"},e.createElement("div",{className:"text-sm font-medium text-gray-700 group-hover:text-gray-900"},A.name),e.createElement("div",{className:"text-xs text-gray-500"},A.width," Ć ",A.height))))))):null},$p=({onPinClick:A})=>{const{feedbackItems:r,showPins:i}=O(),[o,a]=t({width:0,height:0});n(()=>{const e=()=>{const e=document.documentElement,A=document.body,t=e.clientWidth||A.clientWidth||window.innerWidth,n=Math.max(e.scrollHeight,A.scrollHeight,e.clientHeight,A.clientHeight);a({width:t,height:n})};e();const A=new ResizeObserver(()=>e());A.observe(document.documentElement),A.observe(document.body);const t=()=>e(),n=()=>e();return window.addEventListener("resize",t),window.addEventListener("scroll",n,{passive:!0}),()=>{A.disconnect(),window.removeEventListener("resize",t),window.removeEventListener("scroll",n)}},[]);const c=s(()=>{const e=window.location.href;return r.filter(A=>{var t;return!!A.pinLocation&&(null===(t=A.pageMetadata)||void 0===t?void 0:t.url)===e})},[r]);if(!i)return null;if(0===c.length)return null;const l={position:"absolute",top:0,left:0,width:o.width||"100%",height:o.height||"100%",pointerEvents:"none",zIndex:999998};return e.createElement("div",{className:"feedback-pins-container","data-markup-pins":!0,style:l},c.map(t=>{const{pinLocation:n}=t;if(!n)return null;if(n.elementSelector)try{const r=o.width||n.pageWidth||n.viewportWidth||window.innerWidth,s=o.height||n.pageHeight||n.viewportHeight||window.innerHeight,i="number"==typeof n.percentX?n.percentX:r?n.pageX/r*100:0,a={position:"absolute",left:`${i}%`,top:`${"number"==typeof n.percentY?n.percentY:s?n.pageY/s*100:0}%`,transform:"translate(-50%, -50%)",pointerEvents:"auto"};return e.createElement("div",{key:t.id,className:"feedback-pin-wrapper",style:a,onClick:()=>A(t)},e.createElement("div",{className:"feedback-pin group relative cursor-pointer"},e.createElement("div",{className:`\n w-8 h-8 rounded-full flex items-center justify-center\n shadow-lg hover:shadow-xl transition-all\n ${"open"===t.status?"bg-[#E6B6CF] hover:bg-[#d9a3c0]":"bg-green-500 hover:bg-green-600"}\n border-2 border-white\n hover:scale-110\n `},e.createElement(or,{className:"w-4 h-4 text-white"})),e.createElement("div",{className:"\n absolute bottom-full left-1/2 -translate-x-1/2 mb-2\n opacity-0 group-hover:opacity-100\n pointer-events-none\n transition-opacity duration-200\n bg-gray-900 text-white text-xs rounded-lg py-2 px-3\n whitespace-nowrap shadow-xl\n max-w-[200px]\n "},e.createElement("div",{className:"font-semibold truncate"},t.title||"Feedback"),e.createElement("div",{className:"text-gray-300 text-[10px] mt-0.5"},"Click to view"),e.createElement("div",{className:"\n absolute top-full left-1/2 -translate-x-1/2\n w-0 h-0\n border-l-4 border-l-transparent\n border-r-4 border-r-transparent\n border-t-4 border-t-gray-900\n "}))))}finally{}}))},Zp=({config:s})=>{var i;const o=A(!1);if(!o.current&&(null==s?void 0:s.firebaseConfig)&&0===Nt().length)try{Sp(s.firebaseConfig),o.current=!0}catch(e){console.error("Failed to initialize Firebase:",e)}const{isOpen:a,setIsOpen:c,activeTab:l,setActiveTab:u,selectedFeedback:h,setSelectedFeedback:d,feedbackItems:g,addFeedbackItem:f,removeFeedbackItem:p,updateFeedback:m,config:B,setConfig:w,reset:y,isAuthenticated:C,currentUser:v,viewportMode:E,setViewportMode:b,showPins:Q,setShowPins:U}=O();(()=>{const e=O(e=>e.config),A=O(e=>e.setCurrentUser),t=O(e=>e.setIsAuthenticated),r=O(e=>e.setFeedbackItems),s=O(e=>e.isAuthenticated);n(()=>{if(0===Nt().length)return void console.warn("Firebase not initialized. Call initFirebase() at app root or authentication will be disabled.");const e=Xp(async e=>{var n;if(e&&e.email,e)try{const n=await Kp(e.uid,e.email||"",e.displayName||void 0),r={id:n.id,email:n.email,name:n.name,role:n.role,avatar:n.avatar};r.name,r.role,A(r),t(!0)}catch(r){console.error("Failed to load user profile:",r);const s={id:e.uid,email:e.email||"",name:e.displayName||(null===(n=e.email)||void 0===n?void 0:n.split("@")[0])||"User",role:"default"};A(s),t(!0)}else A(null),t(!1)});return()=>{e()}},[A,t]),n(()=>{if(Nt().length,e.projectId,Jp(),0===Nt().length)return;if(!e.projectId)return;if(!Jp())return;e.projectId;const A=Mp(e.projectId,e=>{e.length,e.map(e=>({id:e.id,title:e.title})),r(e),e.length});return()=>{A()}},[e.projectId,r,s])})();const{getSessionEvents:F}=(()=>{const e=A([]);return n(()=>{if("undefined"==typeof window)return;const A=A=>{e.current.length>=50&&e.current.shift(),e.current.push(A)},t=e=>{var t;const n=e.target;n.closest("[data-markup-widget]")||A({type:"click",timestamp:Date.now(),data:{elementTag:n.tagName.toLowerCase(),elementText:(null===(t=n.textContent)||void 0===t?void 0:t.slice(0,50).trim())||void 0,elementId:n.id||void 0,elementClass:n.className&&"string"==typeof n.className?n.className.split(" ").slice(0,3).join(" "):void 0}})},n=()=>{A({type:"navigation",timestamp:Date.now(),data:{url:window.location.href}})};let r;const s=()=>{clearTimeout(r),r=setTimeout(()=>{A({type:"scroll",timestamp:Date.now(),data:{scrollY:window.scrollY}})},500)},i=e=>{const t=e.target;t.closest("[data-markup-widget]")||A({type:"input",timestamp:Date.now(),data:{elementTag:t.tagName.toLowerCase(),elementId:t.id||void 0,inputType:t.type||void 0}})};return A({type:"navigation",timestamp:Date.now(),data:{url:window.location.href}}),document.addEventListener("click",t,!0),window.addEventListener("popstate",n),window.addEventListener("scroll",s,{passive:!0}),document.addEventListener("input",i,!0),()=>{document.removeEventListener("click",t,!0),window.removeEventListener("popstate",n),window.removeEventListener("scroll",s),document.removeEventListener("input",i,!0),clearTimeout(r)}},[]),{getSessionEvents:r(()=>{if(0!==e.current.length)return JSON.stringify(e.current)},[]),clearSession:r(()=>{e.current=[]},[])}})(),I=A(null),[x,T]=t("");n(()=>{const e=e=>{var A;const t=e.target;if(!t.closest("[data-markup-widget]")){I.current=t;let e="";if(t.childNodes.length>0){for(const A of Array.from(t.childNodes))A.nodeType===Node.TEXT_NODE&&(e+=A.textContent||"");e=e.trim()}e||(e=(null===(A=t.textContent)||void 0===A?void 0:A.trim())||""),e&&e.length>0&&e.length<500?T(e):T("")}};return document.addEventListener("click",e,!0),()=>document.removeEventListener("click",e,!0)},[]),n(()=>{if(E){const e=document.documentElement,A=document.body;return A.style.background="rgba(0, 0, 0, 0.5)",A.style.overflow="visible",e.style.transition="max-width 0.3s ease-in-out, margin 0.3s ease-in-out, background 0.2s ease-in-out",e.style.maxWidth=`${E.width}px`,e.style.margin="0 auto",e.style.border="2px solid #999",e.style.background="#ffffff",e.style.boxShadow="0 0 50px rgba(0, 0, 0, 0.3)",()=>{e.style.transition="",e.style.maxWidth="",e.style.margin="",e.style.border="",e.style.background="",e.style.boxShadow="",A.style.overflow="",A.style.background=""}}},[E]),n(()=>{s&&w(s)},[s,w]),n(()=>{const e=e=>{const A=(B.shortcut||"ctrl+shift+m").split("+").map(e=>e.trim().toLowerCase()),t=A.includes("ctrl"),n=A.includes("shift"),r=A.includes("alt"),s=A[A.length-1];e.key.toLowerCase()===s&&e.ctrlKey===t&&e.shiftKey===n&&e.altKey===r&&(e.preventDefault(),c(!a))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[B.shortcut,a,c]);const k=r(()=>{a?(c(!1),d(null),u("create")):c(!0)},[a,c,d,u]),S=r(async e=>{try{const A=Jp();if(B.projectId,e.title,A&&B.projectId){const t=await Lp(e,B.projectId,A.uid),n={...e,id:t};f(n)}else console.warn("No user or projectId - saving to local storage only"),f(e)}catch(A){console.error("ā Failed to save feedback to Firebase:",A),f(e)}u("list")},[f,u,B.projectId]),_=r(()=>{y(),c(!1)},[y,c]),H=r(e=>{if(d(e),e.pinLocation){const{pinLocation:A}=e,t=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,r="number"==typeof A.percentX?A.percentX/100*t:A.pageX||0,s="number"==typeof A.percentY?A.percentY/100*n:A.pageY||0;window.scrollTo({left:r-window.innerWidth/2,top:s-window.innerHeight/2,behavior:"smooth"})}},[d]),N=r(e=>{if(c(!0),u("list"),d(e),e.pinLocation){const{pinLocation:A}=e,t=document.documentElement.scrollWidth,n=document.documentElement.scrollHeight,r="number"==typeof A.percentX?A.percentX/100*t:A.pageX||0,s="number"==typeof A.percentY?A.percentY/100*n:A.pageY||0;window.scrollTo({left:r-window.innerWidth/2,top:s-window.innerHeight/2,behavior:"smooth"})}},[c,u,d]),D=r(()=>{d(null),b(null)},[d,b]),L=r(async()=>{try{await Wp(),y()}catch(e){console.error("Logout failed:",e)}},[y]),R=r(()=>{u("create")},[u]),M=r(async e=>{const A=g.find(A=>A.id===e);if((null==A?void 0:A.screenRecording)&&A.screenRecording.includes("firebasestorage"))try{await ir(A.screenRecording)}catch(e){console.error("Failed to delete screen recording from storage:",e)}p(e),d(null)},[p,d,g]),K=r(e=>{m(e),d(e)},[m,d]),P=g.filter(e=>"open"===e.status).length;return B.primaryColor,B.primaryColor&&em(B.primaryColor,-20),e.createElement(e.Fragment,null,e.createElement($p,{onPinClick:N}),e.createElement(qp,null),e.createElement("div",{className:Ke("markup-widget fixed z-[999999] right-0 top-1/2 flex items-center transition-transform duration-300 ease-in-out",a?"":"hover:translate-x-[-8px]"),style:{transform:a?"translateY(-50%) translateX(0)":"translateY(-50%) translateX(calc(100% - 40px))"},"data-markup-widget":!0},e.createElement("div",{onClick:k,className:"relative bg-white h-fit flex items-center gap-2 px-2 pr-5 text-black border-none rounded-l-2xl cursor-pointer text-sm font-semibold transition-all py-5 shadow-lg"},a&&e.createElement(ar,{className:"w-5 h-5"}),e.createElement("span",{className:"text-black",style:{writingMode:"sideways-lr"}},"Siren"),P>0&&e.createElement("span",{className:"absolute -top-3 -left-1 min-w-[24px] h-[24px] px-1 bg-[#E6B6CF] text-black rounded-full text-xs font-semibold flex items-center justify-center"},P)),e.createElement("div",{className:"bg-white w-[500px] h-[750px] rounded-l-xl shadow-2xl overflow-hidden flex flex-col text-black"},e.createElement("div",{className:"flex items-center justify-between px-5 py-4 text-black",style:{backgroundColor:"var(--markup-primary)"}},e.createElement("h2",{className:"text-base font-semibold m-0"},(null===(i=B.labels)||void 0===i?void 0:i.feedbackTitle)||"Feedback"),e.createElement("div",{className:"flex items-center gap-2"},e.createElement("div",{onClick:e=>{e.stopPropagation(),U(!Q)},className:"p-2 text-xs font-medium bg-gray-50 border border-gray-200 text-black rounded-lg hover:bg-gray-100 cursor-pointer transition-all flex items-center gap-1.5",title:Q?"Hide pins":"Show pins"},e.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"}),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M15 11a3 3 0 11-6 0 3 3 0 016 0z"})),Q?"Hide":"Show"),C&&v&&e.createElement("div",{onClick:L,className:"text-xs py-2 px-2 bg-gray-50 border border-gray-200 text-gray-900 rounded-lg hover:bg-gray-200 cursor-pointer transition-all flex items-center gap-2"},e.createElement("h2",null,"Sign Out")))),C?h?e.createElement(Gp,{feedback:h,onBack:D,onDelete:M,onUpdate:K}):e.createElement(e.Fragment,null,e.createElement("div",{className:"flex border-b border-gray-200 px-5"},e.createElement("div",{className:Ke("flex-1 py-3 px-4 border border-b-0 border-gray-200 rounded-t-xl hover:bg-gray-100 cursor-pointer text-sm font-medium transition-all flex items-center justify-center gap-1","create"===l?"bg-gray-200":"border-white"),onClick:()=>u("create")},e.createElement(mr,{className:"w-3.5 h-3.5"}),"New"),e.createElement("div",{className:Ke("flex-1 py-3 px-4 border border-b-0 border-gray-200 rounded-t-xl hover:bg-gray-100 cursor-pointer text-sm font-medium transition-all flex items-center justify-center gap-1","list"===l?"bg-gray-200":"border-white"),onClick:()=>u("list")},"View All (",g.length,")")),e.createElement("div",{className:"flex-1 overflow-y-auto p-5"},"create"===l&&e.createElement(Tr,{onSubmit:S,onCancel:_,getSessionEvents:F,lastClickedElement:I.current,lastClickedText:x}),"list"===l&&e.createElement(Hr,{feedbackItems:g,onSelectFeedback:H}))):e.createElement("div",{className:"flex-1 overflow-y-auto"},e.createElement(Yp,{onSuccess:R})))))};function em(e,A){const t=e=>Math.min(255,Math.max(0,e));if(e.startsWith("#")){const n=e.slice(1),r=parseInt(n,16);return`#${(t((r>>16)+A)<<16|t((r>>8&255)+A)<<8|t((255&r)+A)).toString(16).padStart(6,"0")}`}return e}let Am=null;const tm={init:function(A,t="markup-widget-root"){const n=()=>{let n=document.getElementById(t);n||(n=document.createElement("div"),n.id=t,n.setAttribute("data-markup-widget-root","true"),document.body.appendChild(n)),Am=i.createRoot(n),Am.render(e.createElement(e.StrictMode,null,e.createElement(Zp,{config:A})))};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n()},open:function(){document.querySelector("[data-markup-widget-root]")&&window.dispatchEvent(new CustomEvent("markup-widget-open"))},close:function(){window.dispatchEvent(new CustomEvent("markup-widget-close"))},destroy:function(){Am&&(Am.unmount(),Am=null);const e=document.getElementById("markup-widget-root");e&&e.remove()}};"undefined"!=typeof window&&(window.MarkupWidget=tm);export{tm as default};
|
|
3766
3766
|
//# sourceMappingURL=markup-widget.esm.js.map
|