@mhosaic/feedback 0.15.0 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/embed.min.js CHANGED
@@ -1205,9 +1205,16 @@
1205
1205
  * Width/height/max-* are animated together; padding too, since the
1206
1206
  * board's denser layout needs less of the modal's default padding. */
1207
1207
  .modal.is-expanded {
1208
- width: min(1280px, calc(100vw - var(--mfb-space-5)));
1209
- max-height: calc(100vh - var(--mfb-space-5));
1210
- height: calc(100vh - var(--mfb-space-5));
1208
+ /* Margin around the expanded board view. --mfb-space-7 (48px) matches
1209
+ * the breathing room of the default modal \u2014 24px top + 24px bottom +
1210
+ * 24px on each side \u2014 so the panel reads as "near-fullscreen with a
1211
+ * visible frame" instead of "the whole viewport, content cut off".
1212
+ * Was --mfb-space-5 (24px total = 12px each side), which felt
1213
+ * claustrophobic and tricked users into expecting more vertical
1214
+ * scroll under the viewport edge. */
1215
+ width: min(1280px, calc(100vw - var(--mfb-space-7)));
1216
+ max-height: calc(100vh - var(--mfb-space-7));
1217
+ height: calc(100vh - var(--mfb-space-7));
1211
1218
  padding: var(--mfb-space-5);
1212
1219
  transition:
1213
1220
  width 320ms cubic-bezier(0.22, 1, 0.36, 1),
@@ -1221,6 +1228,10 @@
1221
1228
  .backdrop.is-expanded { /* hook for any backdrop-level overrides */ }
1222
1229
 
1223
1230
  @media (max-width: 640px) {
1231
+ /* On mobile the sheet still snaps to the bottom edge and stretches
1232
+ * almost the full viewport \u2014 24px gap from the top is enough to
1233
+ * convey "this is a panel, not a takeover", but we don't pull margin
1234
+ * off the sides where users expect the sheet to fill the viewport. */
1224
1235
  .modal.is-expanded {
1225
1236
  width: 100vw;
1226
1237
  height: calc(100vh - var(--mfb-space-5));
@@ -1623,5 +1634,5 @@
1623
1634
  @media (prefers-reduced-motion: reduce) {
1624
1635
  .skeleton-line { animation: none; }
1625
1636
  }
1626
- `;function $t(e){let t=e.host.attachShadow({mode:"open"}),r=document.createElement("style");r.textContent=It,t.appendChild(r);let n=document.createElement("div");t.appendChild(n);let a={open:!1,status:"idle",tab:"send"},i=null;function s(l){a=l,Ae(Be(f,{state:l}),n)}function c(l){let{selectedReportId:b,...d}=l;return d}function f({state:l}){var w;let b=_t(async h=>{s({...a,status:"submitting"});try{await e.onSubmit(h),s({...a,status:"success"}),i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,s({...a,open:!1,status:"idle",tab:e.api?"mine":"send"})},1200)}catch(m){s({...a,status:"error",error:m instanceof Error?m.message:String(m)})}},[]),d=(w=e.getExternalId)==null?void 0:w.call(e),y=e.showFAB&&(e.getExternalId===void 0?!0:!!d),v=!!(e.api&&d);return o(H,{children:[y&&o(Et,{label:e.strings["fab.label"],onClick:()=>s({...a,open:!0})}),l.open&&o(At,{onDismiss:()=>s(c({...a,open:!1,status:"idle"})),closeLabel:e.strings["form.close"],expanded:l.tab==="board",children:[v&&o("div",{class:"tab-strip",role:"tablist",children:[o("button",{type:"button",role:"tab","aria-selected":l.tab==="send",class:`tab-button ${l.tab==="send"?"is-active":""}`,onClick:()=>s(c({...a,tab:"send"})),children:e.strings["tab.send"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="mine",class:`tab-button ${l.tab==="mine"?"is-active":""}`,onClick:()=>s(c({...a,tab:"mine"})),children:e.strings["tab.mine"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="changelog",class:`tab-button ${l.tab==="changelog"?"is-active":""}`,onClick:()=>s(c({...a,tab:"changelog"})),children:e.strings["tab.changelog"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="board",class:`tab-button tab-button--board ${l.tab==="board"?"is-active":""}`,onClick:()=>s(c({...a,tab:"board"})),children:e.strings["tab.board"]})]}),l.tab==="send"&&o(zt,{strings:e.strings,onSubmit:b,onCancel:()=>s({...a,open:!1,status:"idle"}),status:l.status,...l.error!==void 0&&{errorMessage:l.error}}),l.tab==="mine"&&e.api&&d&&!l.selectedReportId&&o(Ft,{api:e.api,externalId:d,strings:e.strings,onSelect:h=>s({...a,selectedReportId:h.id})}),(l.tab==="mine"||l.tab==="changelog")&&e.api&&d&&l.selectedReportId&&o(ve,{api:e.api,externalId:d,reportId:l.selectedReportId,strings:e.strings,onBack:()=>s(c({...a}))}),l.tab==="changelog"&&e.api&&d&&!l.selectedReportId&&o(Rt,{api:e.api,externalId:d,strings:e.strings,onSelect:h=>s({...a,selectedReportId:h.id})}),l.tab==="board"&&e.api&&d&&o(Ct,{api:e.api,externalId:d,strings:e.strings})]})]})}return s(a),{open(){s({...a,open:!0})},close(){s({...a,open:!1,status:"idle"})},dispose(){i!==null&&(clearTimeout(i),i=null),Ae(null,n),e.host.innerHTML=""},notifyIdentityChanged(){s({...a})}}}function He(e){var v,w,h,m,p;let t=(v=e.env)!=null?v:"prod",r=(w=e.locale)!=null?w:typeof navigator!="undefined"?navigator.language:void 0,n=Ze((h=e.translations)!=null?h:{},r!==void 0?{locale:r}:{}),a=Xe({...e.sanitizeUrl!==void 0&&{sanitizeUrl:e.sanitizeUrl}}),i=e.user,s=(m=e.metadata)!=null?m:{},c=Ne({apiKey:e.apiKey,endpoint:e.endpoint,...e.fetchImpl!==void 0&&{fetch:e.fetchImpl},...e.beforeSend!==void 0&&{beforeSend:e.beforeSend},getSignedIdentity:()=>!i||!i.userHash||!i.exp||!i.email?null:{userHash:i.userHash,exp:i.exp,email:i.email}}),f=[],l=document.createElement("div");if(l.className="mhosaic-feedback",e.attachTo){let u=typeof e.attachTo=="string"?document.querySelector(e.attachTo):e.attachTo;u==null||u.appendChild(l)}else document.body.appendChild(l);async function b(u){var C,L,$,X,q;let _=u.synthetic?void 0:u.screenshot,S=a.snapshot();if(i){let{userHash:D,exp:V,...ne}=i;S.user=ne}s&&Object.keys(s).length>0&&(S.metadata={...s});let E=_?(C=u.capture_method)!=null?C:"manual":"none",B={description:u.description,feedback_type:(L=u.feedback_type)!=null?L:"bug",severity:($=u.severity)!=null?$:"medium",env:t,page_url:window.location.href,user_agent:navigator.userAgent,capture_method:E,technical_context:S};B.widget_version="0.15.0",_&&(B.screenshot=_),u.synthetic&&(B.synthetic=!0),(i==null?void 0:i.id)!==void 0&&i.id!==null&&i.id!==""&&(B.user={id:String(i.id),...i.email!==void 0&&{email:i.email},...i.name!==void 0&&{name:i.name}});let P=B;for(let D of f)P=await D(P);try{let D=await c.submitReport(P);return(X=e.onSubmitSuccess)==null||X.call(e,D),a.clear(),D}catch(D){let V=D instanceof Error?D:new Error(String(D));throw(q=e.onError)==null||q.call(e,V),V}}let d=$t({host:l,strings:n,showFAB:(p=e.showFAB)!=null?p:!0,onSubmit:async u=>{await b(u)},api:c,getExternalId:()=>(i==null?void 0:i.id)!==void 0&&i.id!==null&&i.id!==""?String(i.id):void 0}),y={show(){d.open()},hide(){d.close()},open(u){d.open()},async submit(u){return b({description:u.description,...u.feedback_type!==void 0&&{feedback_type:u.feedback_type},...u.severity!==void 0&&{severity:u.severity},...u.synthetic!==void 0&&{synthetic:u.synthetic},...u.screenshot!==void 0&&{screenshot:u.screenshot}})},identify(u){i=u,d.notifyIdentityChanged()},setMetadata(u){s={...s,...u}},shutdown(){d.dispose(),a.dispose(),l.remove();let u=window;u.mhosaicFeedback===y&&delete u.mhosaicFeedback},_registerTransformer(u){f.push(u)}};return window.mhosaicFeedback=y,y}var Ht=window;function po(){let e=document.currentScript;if(!e)return null;let t=e.dataset.key,r=e.dataset.endpoint;if(!t||!r)return null;let n=e.dataset.env;return{apiKey:t,endpoint:r,...n!==void 0&&{env:n}}}var J=null,Kt,Dt,xe=(Dt=(Kt=Ht.Feedback)==null?void 0:Kt.q)!=null?Dt:[];function Nt(e){let[t,r]=e;if(t==="init"){if(J)return;J=He(r);return}if(!J){xe.push(e);return}t==="identify"?J.identify(r):t==="setMetadata"?J.setMetadata(r):t==="open"&&J.open(r)}var Wt=po();Wt&&(J=He(Wt));for(;xe.length>0;)Nt(xe.shift());var uo=Object.assign(function(t,r){Nt([t,r])},{q:xe});Ht.Feedback=uo;})();
1637
+ `;function $t(e){let t=e.host.attachShadow({mode:"open"}),r=document.createElement("style");r.textContent=It,t.appendChild(r);let n=document.createElement("div");t.appendChild(n);let a={open:!1,status:"idle",tab:"send"},i=null;function s(l){a=l,Ae(Be(f,{state:l}),n)}function c(l){let{selectedReportId:b,...d}=l;return d}function f({state:l}){var w;let b=_t(async h=>{s({...a,status:"submitting"});try{await e.onSubmit(h),s({...a,status:"success"}),i!==null&&clearTimeout(i),i=setTimeout(()=>{i=null,s({...a,open:!1,status:"idle",tab:e.api?"mine":"send"})},1200)}catch(m){s({...a,status:"error",error:m instanceof Error?m.message:String(m)})}},[]),d=(w=e.getExternalId)==null?void 0:w.call(e),y=e.showFAB&&(e.getExternalId===void 0?!0:!!d),v=!!(e.api&&d);return o(H,{children:[y&&o(Et,{label:e.strings["fab.label"],onClick:()=>s({...a,open:!0})}),l.open&&o(At,{onDismiss:()=>s(c({...a,open:!1,status:"idle"})),closeLabel:e.strings["form.close"],expanded:l.tab==="board",children:[v&&o("div",{class:"tab-strip",role:"tablist",children:[o("button",{type:"button",role:"tab","aria-selected":l.tab==="send",class:`tab-button ${l.tab==="send"?"is-active":""}`,onClick:()=>s(c({...a,tab:"send"})),children:e.strings["tab.send"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="mine",class:`tab-button ${l.tab==="mine"?"is-active":""}`,onClick:()=>s(c({...a,tab:"mine"})),children:e.strings["tab.mine"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="changelog",class:`tab-button ${l.tab==="changelog"?"is-active":""}`,onClick:()=>s(c({...a,tab:"changelog"})),children:e.strings["tab.changelog"]}),o("button",{type:"button",role:"tab","aria-selected":l.tab==="board",class:`tab-button tab-button--board ${l.tab==="board"?"is-active":""}`,onClick:()=>s(c({...a,tab:"board"})),children:e.strings["tab.board"]})]}),l.tab==="send"&&o(zt,{strings:e.strings,onSubmit:b,onCancel:()=>s({...a,open:!1,status:"idle"}),status:l.status,...l.error!==void 0&&{errorMessage:l.error}}),l.tab==="mine"&&e.api&&d&&!l.selectedReportId&&o(Ft,{api:e.api,externalId:d,strings:e.strings,onSelect:h=>s({...a,selectedReportId:h.id})}),(l.tab==="mine"||l.tab==="changelog")&&e.api&&d&&l.selectedReportId&&o(ve,{api:e.api,externalId:d,reportId:l.selectedReportId,strings:e.strings,onBack:()=>s(c({...a}))}),l.tab==="changelog"&&e.api&&d&&!l.selectedReportId&&o(Rt,{api:e.api,externalId:d,strings:e.strings,onSelect:h=>s({...a,selectedReportId:h.id})}),l.tab==="board"&&e.api&&d&&o(Ct,{api:e.api,externalId:d,strings:e.strings})]})]})}return s(a),{open(){s({...a,open:!0})},close(){s({...a,open:!1,status:"idle"})},dispose(){i!==null&&(clearTimeout(i),i=null),Ae(null,n),e.host.innerHTML=""},notifyIdentityChanged(){s({...a})}}}function He(e){var v,w,h,m,p;let t=(v=e.env)!=null?v:"prod",r=(w=e.locale)!=null?w:typeof navigator!="undefined"?navigator.language:void 0,n=Ze((h=e.translations)!=null?h:{},r!==void 0?{locale:r}:{}),a=Xe({...e.sanitizeUrl!==void 0&&{sanitizeUrl:e.sanitizeUrl}}),i=e.user,s=(m=e.metadata)!=null?m:{},c=Ne({apiKey:e.apiKey,endpoint:e.endpoint,...e.fetchImpl!==void 0&&{fetch:e.fetchImpl},...e.beforeSend!==void 0&&{beforeSend:e.beforeSend},getSignedIdentity:()=>!i||!i.userHash||!i.exp||!i.email?null:{userHash:i.userHash,exp:i.exp,email:i.email}}),f=[],l=document.createElement("div");if(l.className="mhosaic-feedback",e.attachTo){let u=typeof e.attachTo=="string"?document.querySelector(e.attachTo):e.attachTo;u==null||u.appendChild(l)}else document.body.appendChild(l);async function b(u){var C,L,$,X,q;let _=u.synthetic?void 0:u.screenshot,S=a.snapshot();if(i){let{userHash:D,exp:V,...ne}=i;S.user=ne}s&&Object.keys(s).length>0&&(S.metadata={...s});let E=_?(C=u.capture_method)!=null?C:"manual":"none",B={description:u.description,feedback_type:(L=u.feedback_type)!=null?L:"bug",severity:($=u.severity)!=null?$:"medium",env:t,page_url:window.location.href,user_agent:navigator.userAgent,capture_method:E,technical_context:S};B.widget_version="0.15.1",_&&(B.screenshot=_),u.synthetic&&(B.synthetic=!0),(i==null?void 0:i.id)!==void 0&&i.id!==null&&i.id!==""&&(B.user={id:String(i.id),...i.email!==void 0&&{email:i.email},...i.name!==void 0&&{name:i.name}});let P=B;for(let D of f)P=await D(P);try{let D=await c.submitReport(P);return(X=e.onSubmitSuccess)==null||X.call(e,D),a.clear(),D}catch(D){let V=D instanceof Error?D:new Error(String(D));throw(q=e.onError)==null||q.call(e,V),V}}let d=$t({host:l,strings:n,showFAB:(p=e.showFAB)!=null?p:!0,onSubmit:async u=>{await b(u)},api:c,getExternalId:()=>(i==null?void 0:i.id)!==void 0&&i.id!==null&&i.id!==""?String(i.id):void 0}),y={show(){d.open()},hide(){d.close()},open(u){d.open()},async submit(u){return b({description:u.description,...u.feedback_type!==void 0&&{feedback_type:u.feedback_type},...u.severity!==void 0&&{severity:u.severity},...u.synthetic!==void 0&&{synthetic:u.synthetic},...u.screenshot!==void 0&&{screenshot:u.screenshot}})},identify(u){i=u,d.notifyIdentityChanged()},setMetadata(u){s={...s,...u}},shutdown(){d.dispose(),a.dispose(),l.remove();let u=window;u.mhosaicFeedback===y&&delete u.mhosaicFeedback},_registerTransformer(u){f.push(u)}};return window.mhosaicFeedback=y,y}var Ht=window;function po(){let e=document.currentScript;if(!e)return null;let t=e.dataset.key,r=e.dataset.endpoint;if(!t||!r)return null;let n=e.dataset.env;return{apiKey:t,endpoint:r,...n!==void 0&&{env:n}}}var J=null,Kt,Dt,xe=(Dt=(Kt=Ht.Feedback)==null?void 0:Kt.q)!=null?Dt:[];function Nt(e){let[t,r]=e;if(t==="init"){if(J)return;J=He(r);return}if(!J){xe.push(e);return}t==="identify"?J.identify(r):t==="setMetadata"?J.setMetadata(r):t==="open"&&J.open(r)}var Wt=po();Wt&&(J=He(Wt));for(;xe.length>0;)Nt(xe.shift());var uo=Object.assign(function(t,r){Nt([t,r])},{q:xe});Ht.Feedback=uo;})();
1627
1638
  //# sourceMappingURL=embed.min.js.map