UNPKG

@feelback/react

Version:

Use Feelback service within your React website

2 lines (1 loc) 32.5 kB
"use strict";var Et=Object.create;var le=Object.defineProperty;var St=Object.getOwnPropertyDescriptor;var Lt=Object.getOwnPropertyNames;var Rt=Object.getPrototypeOf,Ft=Object.prototype.hasOwnProperty;var It=(e,t)=>{for(var o in t)le(e,o,{get:t[o],enumerable:!0})},Qe=(e,t,o,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Lt(t))!Ft.call(e,n)&&n!==o&&le(e,n,{get:()=>t[n],enumerable:!(a=St(t,n))||a.enumerable});return e};var h=(e,t,o)=>(o=e!=null?Et(Rt(e)):{},Qe(t||!e||!e.__esModule?le(o,"default",{value:e,enumerable:!0}):o,e)),Tt=e=>Qe(le({},"__esModule",{value:!0}),e);var ho={};It(ho,{Answer:()=>X,ButtonValue:()=>Se,ButtonValueList:()=>R,FeelbackButtonList:()=>ee,FeelbackLayout:()=>te,FeelbackMessage:()=>$t,FeelbackProvider:()=>Vt,FeelbackPulse:()=>At,FeelbackReaction:()=>Ot,FeelbackTaggedMessage:()=>Kt,FeelbackYesNo:()=>Nt,Form:()=>oe,PRESET_EVALUATION:()=>vo,PRESET_FACEBOOK_EMOJI:()=>mo,PRESET_FEEDBACK:()=>bo,PRESET_FEELING:()=>go,PRESET_GITHUB_EMOJI:()=>fo,PRESET_LIKE_DISLIKE:()=>so,PRESET_PULSE_HEART:()=>ro,PRESET_PULSE_LIKE:()=>io,PRESET_PULSE_STAR:()=>lo,PRESET_UP_DOWN_VOTE:()=>po,PRESET_YESNO_CHECK:()=>uo,PRESET_YESNO_LIKE_DISLIKE:()=>co,Question:()=>V,RadioValue:()=>Re,RadioValueList:()=>Fe,createIcon:()=>G,mergeCallback:()=>Ee,useFeelbackAggregates:()=>A,useFeelbackContext:()=>$,useLocalFeelback:()=>B,useRemoveFeelback:()=>N,useSendFeelback:()=>F});module.exports=Tt(ho);var ut=require("react");function we(e,t){if(!e||e==="$auto")return t?.toString()||(typeof window<"u"?window.location.href:"/");if(e==="$path"){typeof t=="string"&&(t=new URL(t));let o=t||(typeof window<"u"?window.location:void 0);return o?`${o.origin}${o.pathname}`:"/"}return e}var ve="fbs-store";function be(e){return"contentId"in e?e.contentId:`${e.contentSetId}/${we(e.key)}`}var Pt=class{constructor(e){if(this.feelbacks=void 0,e??="local",typeof window>"u"&&(e="memory"),e==="local")this.storage=window.localStorage;else if(e==="session")this.storage=window.sessionStorage;else{let t=()=>{};this.storage={getItem:t,setItem:t,removeItem:t,clear:t,key:t,length:0}}this.load()}add(e){let t=be(e.target),o=(this.feelbacks??=[]).findIndex(a=>a.key===t);o>=0&&this.feelbacks.splice(o,1),this.feelbacks.push({key:t,value:e.value,expire:e.expireIn&&e.expireIn>0?Math.floor(Date.now()/1e3)+e.expireIn:void 0,feelbackId:e.feelbackId,revokeToken:e.revokable?.token,revokeExpire:e.revokable?.expireAt&&Math.floor(new Date(e.revokable.expireAt).getTime()/1e3)||void 0}),this.save()}clear(){this.feelbacks?.splice(0,this.feelbacks.length),this.storage.removeItem(ve)}remove(e){let t=typeof e=="string"?this.feelbacks?.findIndex(o=>o.feelbackId===e):(e=be(e),this.feelbacks?.findIndex(o=>o.key===e));t!==void 0&&t>=0&&(this.feelbacks.splice(t,1),this.save())}getValue(e){return this.getFeelback(e)?.value}isRevokable(e){return!!this.getRevocable(e)}getRevocable(e){let t=this.getFeelback(e);if(t&&t.revokeToken&&!(t.revokeExpire&&t.revokeExpire<Date.now()/1e3))return{feelbackId:t.feelbackId,revokeToken:t.revokeToken}}load(e){if(this.feelbacks&&!e)return;let t;try{t=JSON.parse(this.storage.getItem(ve))||[]}catch{t=[]}this.feelbacks=t.filter(o=>!o.expire||o.expire>Date.now()/1e3),t.length!==this.feelbacks.length&&this.save()}save(){try{this.storage.setItem(ve,JSON.stringify(this.feelbacks))}catch{}}getFeelback(e){let t=typeof e=="string"?this.feelbacks?.find(o=>o.feelbackId===e):(e=be(e),this.feelbacks?.find(o=>o.key===e));if(t&&t.expire&&t.expire<Date.now()/1e3){this.remove(t.feelbackId);return}return t}},he,ke;function Q(e){return e??=ke||"local",he&&ke===e?he:(ke=e,he=new Pt(e))}async function Mt(e,...t){return t.length>0&&(e=`${e}?$p=${JSON.stringify(t)}`),await Ye(fetch(e,{method:"GET"}))}async function Dt(e,...t){return await Ye(fetch(e,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}))}async function Ye(e){if(e=await e,e.status>=400)throw new Error("[feelback] API error");if(e.status!==204)return await e.json()}var ie={get:Mt,post:Dt},ye="https://api.feelback.dev/v0";async function Ge(e){let{endpoint:t=ye,store:o="local",revokable:a=!0,value:n,metadata:r,expireIn:i=3600}=e,l="contentId"in e?{contentId:e.contentId}:{contentSetId:e.contentSetId,key:we(e.key)},s=o&&o!=="none"&&Q(o)||void 0,c=a&&s?.getRevocable(l)||void 0,p=c?await ie.post(`${t}/feelbacks/edit`,{...c,value:n}):await ie.post(`${t}/feelbacks/create`,{...l,value:n,context:r,revokable:a});s?.add({...p,target:l,value:n,expireIn:i})}async function Je(e){let{endpoint:t=ye,feelbackId:o}=e,a=e.revokeToken,n=Q();if(!a){let r=n.getRevocable(o);if(!r)throw new Error("Cannot revoke feelback");a=r.revokeToken}await ie.post(`${t}/feelbacks/remove`,{feelbackId:o,revokeToken:a}),n.remove(o)}async function Ze(e){let{endpoint:t=ye}=e,o="contentId"in e?e.contentId:{contentSetId:e.contentSetId,key:we(e.key)};return await ie.get(`${t}/feelbacks/getAggregates`,o)}var H=require("react"),je=require("react/jsx-runtime"),Xe=(0,H.createContext)(void 0);function $(){return(0,H.useContext)(Xe)}function Vt(e){let{endpoint:t,store:o,children:a}=e,n=(0,H.useMemo)(()=>({endpoint:t,store:o}),[t,o]);return(0,je.jsx)(Xe.Provider,{value:n,children:a})}var se=require("react"),et=()=>{let e=(0,se.useRef)(!1);return(0,se.useEffect)(()=>(e.current=!0,()=>{e.current=!1}),[]),()=>e.current};var L=require("react");function tt(e,t){let o=setTimeout(t,e);return()=>clearTimeout(o)}function xe(e=5e3,t,o){(0,L.useEffect)(()=>{if(t)return tt(e,()=>o(t))},[t])}function T(e=5e3,t=!1){let o=(0,L.useRef)(t),[a,n]=(0,L.useState)(),r=(0,L.useCallback)(()=>i(o.current),[]),i=(0,L.useCallback)(l=>n(l??!0),[]);return xe(e,a,r),{value:a,set:i,reset:r}}var ce=require("react");function ue(e,t){let o=(0,ce.useRef)(null);return(0,ce.useEffect)(()=>{if(e&&t){let a=n=>{(!n.target||!o.current?.contains(n.target))&&(t(),n.stopPropagation(),n.preventDefault())};return document.addEventListener("click",a,{capture:!0}),()=>document.removeEventListener("click",a,{capture:!0})}},[e]),o}var _=require("react");var Y={data:void 0,isLoading:!1,isCompleted:!1,isSuccess:!1,isError:!1,error:void 0};function de(e,t,o){let a=(0,_.useRef)(0),n=et(),r=!!o?.paused,i=!!t&&!r,[l,s]=(0,_.useReducer)(Ce,i,u=>({...Y,isLoading:u}));async function c(...u){let d=++a.current;try{l.isLoading||s({type:"LOADING"});let v=await e(...u);return n()&&d===a.current&&s({type:"SUCCESS",data:v}),Ce(l,{type:"SUCCESS",data:v})}catch(v){return n()&&d===a.current&&s({type:"ERROR",error:v}),Ce(l,{type:"ERROR",error:v})}}let p=async(...u)=>{let d=await c(...u);if(d.error)throw d.error;return d.data},f=()=>{s({type:"RESET"})};return(0,_.useEffect)(()=>{!r&&t&&c()},[r,...t||[]]),{...l,call:c,exec:p,reset:f}}function Ce(e,t){switch(t.type){case"LOADING":return{...Y,isLoading:!0,data:e.data};case"SUCCESS":return{...Y,isCompleted:!0,isSuccess:!0,data:t.data};case"ERROR":return{...Y,isCompleted:!0,error:t.error,isError:!0};case"RESET":return{...Y};default:let o=t;throw new Error("unknown action")}}var ot=require("react");function pe(){let e=(0,ot.useRef)("");return e.current||(e.current="i"+Math.random().toString().substring(2)),e.current}var M=require("react");function G(e){if(typeof e=="function")return(0,M.createElement)(e);if(typeof e=="object"&&"text"in e)return(0,M.createElement)(M.Fragment,void 0,[e.text]);if((0,M.isValidElement)(e))return e;throw console.error("Invalid icon",e),new Error("Invalid icon")}function Ee(e,t){return!e||!t?e||t:function(){e.apply(this,arguments),t.apply(this,arguments)}}var C=require("react/jsx-runtime");function Se(e){let{count:t=!1,isActive:o=!1,isDisabled:a=!1,label:n,title:r,icon:i,onClick:l}=e;return(0,C.jsxs)("button",{title:r,className:`feelback-btn ${a?"disabled":""} ${o?"active":""}`,onClick:l,children:[i&&(Array.isArray(i)?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{className:"feelback-icon inactive",children:G(i[0])}),(0,C.jsx)("span",{className:"feelback-icon active",children:G(i[1])})]}):(0,C.jsx)("span",{className:"feelback-icon",children:G(i)})),n&&(0,C.jsx)("span",{className:"label",children:n}),t!==!1&&(0,C.jsx)("span",{className:"feelback-count",children:t})]})}var Le=require("react/jsx-runtime");function R(e){let{active:t,showCount:o=!1,showLabels:a=!1,showTitle:n=!a,hideZero:r=!1,hideZeroCount:i=!0,isDisabled:l=!1,items:s,counts:c,onClick:p}=e;return(0,Le.jsx)("div",{className:`feelback-buttons${o&&s.length>1?" with-count":""}`,children:s.map(({value:f,icon:u,title:d},v)=>{let b=c?.[v]||(t===f?1:0);return r&&b<=0?null:(0,Le.jsx)(Se,{title:n&&d||void 0,label:a&&d||void 0,icon:u,count:o&&b||(i?void 0:0),isDisabled:l,isActive:t===f,onClick:()=>p?.(f)},f)})})}var D=require("react/jsx-runtime");function Re(e){let{group:t,value:o,label:a,description:n,checked:r,onSelected:i}=e,l=`radio-${pe()}`;return(0,D.jsxs)("div",{className:"feelback-radio-item",children:[(0,D.jsx)("input",{id:l,name:t,type:"radio",value:o,checked:r,onChange:s=>s.target.checked?i?.():void 0}),(0,D.jsxs)("div",{className:"feelback-radio-side",children:[a&&(0,D.jsx)("label",{htmlFor:l,children:a}),n&&(0,D.jsx)("span",{className:"feelback-text",children:n})]})]})}var J=require("react/jsx-runtime");function Fe(e){let{active:t,isDisabled:o=!1,items:a,onRenderAddon:n,onSelected:r}=e,i=`rg-${pe()}`;return(0,J.jsx)("fieldset",{className:"feelback-radio-group",children:a.map(l=>(0,J.jsxs)("div",{className:"feelback-radio-item-wrap",children:[(0,J.jsx)(Re,{group:i,checked:t===l.value,value:l.value,label:l.title,description:l.description,onSelected:()=>r?.(l.value)}),n?.({item:l,isSelected:t===l.value,isDisabled:o})||null]},l.value))})}var nt=require("react");var Z=require("react/jsx-runtime");function V(e){let{text:t,...o}=e;return(0,Z.jsxs)("div",{className:"feelback-q",children:[t&&typeof t=="string"&&(0,Z.jsx)("span",{className:"feelback-text",children:t}),t&&(0,nt.isValidElement)(t)&&t,(0,Z.jsx)(R,{...o})]})}var Ie=require("react/jsx-runtime");function X(e){let{text:t}=e;return(0,Ie.jsx)("div",{className:"feelback-a",children:(0,Ie.jsx)("span",{className:"feelback-text",children:t})})}var j=require("react/jsx-runtime");function ee(e){let{className:t,showCount:o,preset:a,textQuestion:n,textAnswer:r,revokable:i=!0,...l}=e,{value:s,isRevokable:c}=B(l)||{},{data:p}=A(l,{paused:!o}),{call:f,isSuccess:u,reset:d}=F(l),{call:v}=N(l),{value:b,set:m}=T(1e3),y=r&&u,I=x=>{x===s?c&&(m(!0),v()):(m(!0),f(x,{revokable:i}))};return xe(5e3,u,d),!a||a.length===0?(console.warn("[feelback] Invalid preset or items"),null):(0,j.jsxs)("div",{className:`feelback-container${t?" "+t:""}`,style:{pointerEvents:b?"none":void 0},children:[!y&&(0,j.jsx)(V,{text:n,items:a,showCount:o,counts:p,isDisabled:s!==void 0&&!c,active:s,onClick:I}),y&&(0,j.jsx)(X,{text:r})]})}var E=require("react"),lt=require("react-dom");var k=require("react/jsx-runtime"),te=(0,E.forwardRef)((e,t)=>{let{className:o,layout:a,label:n="Send feedback",textAnswer:r="Thanks for your feedback",revokable:i=!0,onClose:l,onSuccess:s,children:c,...p}=e,{call:f,isSuccess:u}=F(p),{value:d,set:v}=T(1e3),b=({value:m,metadata:y})=>{v(!0),f(m,{metadata:y,revokable:i}).then(({isSuccess:I})=>{I&&s?.({...p,value:m})})};return(0,k.jsxs)("div",{ref:t,className:`feelback-container${o?" "+o:""}`,style:{pointerEvents:d?"none":void 0},children:[!u&&(()=>{switch(a){case"button-switch":return(0,k.jsx)(at,{label:n,behavior:"remove-when-open",children:m=>(0,E.cloneElement)(c,{onSubmit:b,onCancel:m})});case"button-dialog":return(0,k.jsx)(at,{label:n,behavior:"disable-when-open",children:m=>(0,k.jsx)(rt,{onClose:m,children:(0,E.cloneElement)(c,{onSubmit:b,onCancel:m})})});case"radio-group-dialog":return(0,k.jsx)(rt,{onClose:l,children:(0,E.cloneElement)(c,{onSubmit:b,onCancel:Ee(c.props.onCancel,l)})});case"reveal-message":case"inline":case"radio-group":default:return(0,E.cloneElement)(c,{onSubmit:b})}})(),u&&(0,k.jsx)(X,{text:r})]})});function at(e){let{label:t,behavior:o="remove-when-open",children:a}=e,[n,r]=(0,E.useState)(!1);return(0,k.jsxs)(k.Fragment,{children:[(!n||o!=="remove-when-open")&&(0,k.jsx)("button",{className:"feelback-btn btn-action trigger-btn",disabled:n,onClick:()=>r(!0),children:t}),n&&a(()=>r(!1))]})}function rt(e){let{onClose:t,children:o}=e,a=ue(!0,t);return(0,lt.createPortal)((0,k.jsx)("div",{className:"feelback-style",children:(0,k.jsx)("div",{className:"dialog",children:(0,E.cloneElement)(o,{ref:a})})}),document.body)}var it=require("react"),P=require("react/jsx-runtime"),oe=(0,it.forwardRef)((e,t)=>{let{title:o="Send feedback",alignButton:a="right",showButton:n=!0,onCancel:r,onSubmit:i,onValidate:l,slots:s,children:c}=e,p=()=>{let f=l();f!==void 0&&i?.(f)};return(0,P.jsx)("div",{ref:t,className:"feelback-form",children:(0,P.jsxs)("div",{className:"content",children:[o&&(0,P.jsx)("span",{className:"feelback-text form-title",children:o}),c,n&&s?.BeforeFormButtons,n&&(0,P.jsxs)("div",{className:`form-buttons feelback-buttons ${a==="right"?"align-end":""}`,children:[(0,P.jsx)("button",{className:"feelback-btn btn-action",onClick:p,children:"Send"}),r&&(0,P.jsx)("button",{className:"feelback-btn btn-cancel",onClick:r,children:"Cancel"})]})]})})});var Te=require("react/jsx-runtime");function At(e){let{showCount:t,preset:o,revokable:a=!0,...n}=e,{value:r,isRevokable:i}=B(n)||{},{data:l}=A(n,{paused:!t}),{call:s}=F(n),{call:c}=N(n),{value:p,set:f}=T(1e3),u=()=>{r==="+"?i&&(f(!0),c()):(f(!0),s("+",{revokable:a}))};return!o||o.length===0?(console.warn("[feelback] Invalid preset or items"),null):(0,Te.jsx)("div",{className:"feelback-container feelback-pulse",style:{pointerEvents:p?"none":void 0},children:(0,Te.jsx)(R,{items:o,showCount:t,counts:l,isDisabled:r!==void 0&&!i,active:r,onClick:u})})}var st=require("react/jsx-runtime");function Nt(e){return(0,st.jsx)(ee,{className:"feelback-yesno",...e})}var ct=require("react");var Pe=h(require("react")),Bt=e=>Pe.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e},Pe.createElement("path",{d:"M18,10c0-4.4-3.6-8-8-8s-8,3.6-8,8s3.6,8,8,8S18,14.4,18,10 M20,10c0,5.5-4.5,10-10,10S0,15.5,0,10S4.5,0,10,0S20,4.5,20,10 M8,7.5C8,8.3,7.3,9,6.5,9S5,8.3,5,7.5S5.7,6,6.5,6S8,6.7,8,7.5 M15,7.5C15,8.3,14.3,9,13.5,9S12,8.3,12,7.5S12.7,6,13.5,6 C14.3,6,15,6.7,15,7.5 M10,15.2c-1.8,0-3.3-0.7-4.2-1.8L7.2,12c0.4,0.7,1.5,1.2,2.8,1.2s2.3-0.5,2.8-1.2l1.4,1.4 C13.3,14.5,11.8,15.2,10,15.2z"})),ne=Bt;var w=require("react/jsx-runtime");function Ot(e){let{layout:t="list",...o}=e;return t==="picker"?(0,w.jsx)(Ht,{...o}):(0,w.jsx)(ee,{className:"feelback-reaction layout-list",...o})}function Ht(e){let{showCount:t=!0,preset:o,revokable:a=!0,...n}=e,{value:r,isRevokable:i}=B(n)||{},{data:l}=A(n,{paused:!t}),{call:s,isSuccess:c}=F(n),{call:p}=N(n),{value:f,set:u}=T(1e3),[d,v]=(0,ct.useState)(!1),b=ue(d,()=>v(!1)),m=y=>{d&&v(!1),y===r?i&&(u(!0),p()):(u(!0),s(y,{revokable:a}))};return!o||o.length===0?(console.warn("[feelback] Invalid preset or items"),null):(0,w.jsx)("div",{className:"feelback-container feelback-reaction layout-picker",style:{pointerEvents:f?"none":void 0},children:(0,w.jsx)(V,{text:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)("button",{className:"feelback-btn btn-reaction-picker",style:d?{visibility:"hidden"}:void 0,onClick:()=>v(!0),children:(0,w.jsx)("span",{className:"feelback-icon",children:(0,w.jsx)(ne,{})})}),(0,w.jsx)("div",{ref:b,className:"popup",style:d?{display:"block",top:"0"}:void 0,children:(0,w.jsx)(R,{items:o,onClick:m})})]}),items:o,hideZero:!0,showCount:t,counts:l,isDisabled:d||r!==void 0&&!i,active:r,onClick:m})})}var ae=require("react");var S=require("react/jsx-runtime");function $t(e){let{layout:t="button-switch",label:o="Send feedback",revokable:a,title:n,placeholder:r,minLength:i,maxLength:l,textAnswer:s="Thanks for your feedback",withEmail:c,placeholderEmail:p,slots:f,...u}=e;return(0,S.jsx)(te,{className:`feelback-message layout-${t}`,layout:t,label:o,revokable:a,...u,children:(0,S.jsx)(_t,{title:n,placeholder:r,minLength:i,maxLength:l,withEmail:c,placeholderEmail:p,slots:f})})}var _t=(0,ae.forwardRef)((e,t)=>{let{title:o="Send feedback",placeholder:a="Type your message",minLength:n,maxLength:r,withEmail:i,placeholderEmail:l=`your@email.com${i&&i!=="required"?" (optional)":""}`,slots:s,onCancel:c,onSubmit:p}=e,f=(0,ae.useRef)(null),u=i==="required",d=(0,ae.useRef)(null);return(0,S.jsxs)(oe,{slots:s,title:o,onCancel:c,onSubmit:p,ref:t,onValidate:()=>{let b=f.current?.value.trim()||void 0,m=d.current?.value?.trim()||void 0;if(!(!b||n&&n>0&&b.length<n)&&!(m&&!m.match(/^(.+)@(.+)$/)||u))return{value:b,metadata:m?{$user:m}:void 0}},children:[s?.BeforeMessage,(0,S.jsx)("textarea",{ref:f,required:!0,placeholder:a||void 0,minLength:n,maxLength:r}),i&&(0,S.jsxs)(S.Fragment,{children:[s?.BeforeEmail,(0,S.jsx)("input",{ref:d,type:"email",name:"email",required:u,placeholder:l||void 0})]})]})});var O=require("react");var g=require("react/jsx-runtime");function Kt(e){let{layout:t="button-switch",label:o="Send feedback",revokable:a,preset:n,tags:r=n,active:i,title:l,placeholder:s,minLength:c,maxLength:p,textAnswer:f="Thanks for your feedback",showLabels:u=!1,style:d,withEmail:v,placeholderEmail:b,onCancel:m,onSuccess:y,slots:I,...x}=e;if(!r)return console.warn("Missing tags"),null;let q=d&&Array.isArray(d)?d.join(" "):d||void 0;return(0,g.jsx)(te,{className:`feelback-tagged-message layout-${t} ${q}`,layout:t,label:o,revokable:a,onSuccess:y,...x,children:(0,g.jsx)(zt,{title:l,tags:r,showLabels:u,placeholder:s,minLength:c,maxLength:p,withEmail:v,placeholderEmail:b,onCancel:m,slots:I,layout:t==="reveal-message"?t:t==="radio-group"||t==="radio-group-dialog"?"radio-group":"form"})})}var zt=(0,O.forwardRef)((e,t)=>{let{layout:o,title:a="Send feedback",active:n,tags:r,showLabels:i=!0,placeholder:l="Type your message",minLength:s,maxLength:c,withEmail:p,placeholderEmail:f=`your@email.com${p&&p!=="required"?" (optional)":""}`,slots:u,onCancel:d,onSubmit:v}=e,b=!!s&&s>0,m=(0,O.useRef)(null),y=p==="required",I=(0,O.useRef)(null),[x,q]=(0,O.useState)(n==="$auto"?r[0].value:n),Ct=()=>{let W=m.current?.value?.trim()||void 0,re=I.current?.value?.trim()||void 0;if(x&&!(b&&(!W||W.length<s))&&!(re&&!re.match(/^(.+)@(.+)$/)||y))return{value:{tag:x,message:W},metadata:re?{$user:re}:void 0}},me=(0,g.jsxs)(g.Fragment,{children:[u?.BeforeMessage,(0,g.jsx)("textarea",{ref:m,required:b,placeholder:l||void 0,minLength:s,maxLength:c})]}),ge=p&&(0,g.jsxs)(g.Fragment,{children:[u?.BeforeEmail,(0,g.jsx)("input",{ref:I,type:"email",name:"email",required:y,placeholder:f||void 0})]});return(0,g.jsxs)(oe,{onCancel:d,onSubmit:v,ref:t,onValidate:Ct,title:o==="reveal-message"?!1:a,showButton:o==="reveal-message"?!!x:!0,alignButton:o==="radio-group"?"left":"right",slots:u,children:[o==="form"&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(R,{items:r,showLabels:i,active:x,onClick:q}),me,ge]}),o==="radio-group"&&(0,g.jsx)(Fe,{items:r,active:x,onSelected:q,onRenderAddon:({isSelected:W})=>W&&(0,g.jsxs)(g.Fragment,{children:[me,ge]})}),o==="reveal-message"&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(V,{text:a,items:r,showLabels:i,active:x,onClick:q}),x&&(0,g.jsxs)(g.Fragment,{children:[me,ge]})]})]})});function A(e,t){let o=$(),a=Me(e);return de(()=>Ze({endpoint:o?.endpoint,...a}),[a],t)}function F(e){let t=$(),o=Me(e);return de((a,n)=>Ge({endpoint:t?.endpoint,store:t?.store,...n,...o,value:a}))}function N(e){let t=$(),o=Me(e);return de(async()=>{if(t?.store==="none")return;let a=Q(t?.store).getRevocable(o);if(a)return await Je({endpoint:t?.endpoint,feelbackId:a.feelbackId})})}function B(e){let t=$();if(t?.store==="none")return;let o=Q(t?.store)||void 0;return{value:o.getValue(e),isRevokable:o.isRevokable(e)}}function Me(e){let t=(0,ut.useRef)(e);return t.current!==e&&("contentId"in t.current&&"contentId"in e?t.current.contentId!==e.contentId&&t.current==e:"contentSetId"in t.current&&"contentSetId"in e?(t.current.contentSetId!==e.contentSetId||t.current.key!==e.key)&&(t.current=e):t.current=e),t.current}var De=h(require("react")),Ut=e=>De.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},De.createElement("path",{d:"M364.5,91.5c6,0,12.3,0.9,18.6,2.7c9.6,2.8,19.8,9.3,27.8,17.9c9.6,10.3,15.7,22.8,18,37.1c4.5,28-5.8,62.5-29.9,99.7 c-16.2,25-38.5,51.2-66.4,77.8c-23.6,22.5-51.3,45.5-82.7,68.5c-31.4-23.1-59.2-46-82.7-68.5c-27.8-26.6-50.2-52.7-66.4-77.8 c-24.1-37.2-34.4-71.7-29.8-99.7c2.3-14.3,8.4-26.8,18-37.1c8-8.6,18.2-15.1,27.9-17.9l0,0l0,0c6.4-1.8,12.5-2.7,18.6-2.7 c36.2,0,63,33.7,65.5,36.9l47.7,71l50.2-71.2C299.3,127.8,327.2,91.5,364.5,91.5 M364.5,31.5C293.8,31.5,250,93.6,250,93.6 s-43.7-62.1-114.4-62.1c-11.1,0-22.8,1.5-35.1,5C9.5,62.4-98.7,231.3,250,468.6C598.7,231.3,490.4,62.4,399.6,36.5 C387.3,33,375.6,31.5,364.5,31.5L364.5,31.5z"})),dt=Ut;var Ve=h(require("react")),qt=e=>Ve.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},Ve.createElement("path",{d:"M399.6,36.5c-91-26-149.6,57.1-149.6,57.1s-58.5-83.1-149.5-57.1C9.5,62.4-98.7,231.3,250,468.6 C598.7,231.3,490.4,62.4,399.6,36.5z"})),pt=qt;var Ae=h(require("react")),Wt=e=>Ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},Ae.createElement("path",{d:"M250,122.6l28.2,73.1L288,221l27.1,1.5l78.2,4.2l-60.8,49.4l-21.1,17.1l7,26.3l20.1,75.7l-65.8-42.5L250,337.9l-22.8,14.7 l-65.8,42.5l20.1-75.7l7-26.3l-21.1-17.1l-60.8-49.4l78.2-4.2L212,221l9.8-25.4L250,122.6 M250,21.3c-3.6,0-6.8,2.2-8.1,5.5 l-59.3,153.6l-164.4,8.9c-3.6,0.2-6.7,2.6-7.8,6c-1.1,3.4,0,7.1,2.8,9.4L141,308.7L98.7,467.8c-0.9,3.5,0.4,7.1,3.3,9.2 c1.5,1.1,3.3,1.7,5.1,1.7c1.6,0,3.3-0.5,4.7-1.4L250,387.9l138.3,89.4c1.4,0.9,3.1,1.4,4.7,1.4c1.8,0,3.6-0.6,5.1-1.7 c2.9-2.1,4.2-5.8,3.3-9.2L359,308.7l127.8-103.8h0c2.8-2.3,3.9-6,2.8-9.4c-1.1-3.4-4.2-5.8-7.8-6l-164.4-8.9L258.1,26.9 C256.8,23.5,253.6,21.3,250,21.3L250,21.3z"})),ft=Wt;var Ne=h(require("react")),Qt=e=>Ne.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},Ne.createElement("path",{d:"M486.8,204.8L359,308.7l42.3,159.1c0.9,3.5-0.4,7.1-3.3,9.2c-2.9,2.1-6.8,2.2-9.8,0.3L250,387.9l-138.3,89.4 c-3,1.9-6.9,1.8-9.8-0.3c-2.9-2.1-4.2-5.8-3.3-9.2L141,308.7L13.2,204.8c-2.8-2.3-3.9-6-2.8-9.4c1.1-3.4,4.2-5.8,7.8-6l164.4-8.9 l59.3-153.6c1.3-3.3,4.5-5.5,8.1-5.5c3.6,0,6.8,2.2,8.1,5.5l59.3,153.6l164.4,8.9c3.6,0.2,6.7,2.6,7.8,6 C490.7,198.8,489.6,202.5,486.8,204.8L486.8,204.8z"})),mt=Qt;var K=h(require("react")),Yt=e=>K.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},K.createElement("g",null,K.createElement("path",{d:"M172.7,309.1c0-7.4-3-14.6-8.3-19.9s-12.4-8.3-19.9-8.3H74.4c-10.1,0-19.3,5.4-24.4,14.1c-5.1,8.7-5,19.5,0,28.1 s14.3,14.1,24.4,14.1h70.2c7.4,0,14.6-3,19.9-8.3S172.7,316.5,172.7,309.1L172.7,309.1z"}),K.createElement("path",{d:"M102.5,449.5h70.2c10.1,0,19.3-5.4,24.4-14.1c5-8.6,5-19.5,0-28.1s-14.3-14.1-24.4-14.1h-70.2c-10.1,0-19.3,5.4-24.4,14.1 c-5,8.6-5,19.5,0,28.1C83.2,444.1,92.5,449.5,102.5,449.5z"}),K.createElement("path",{d:"M53.2,224.9h83.3c18.8,0,36.4-9.4,46.8-24.9l95.7-143.6h5c11.6,0,22.5,5.7,29.2,15.1s8.6,21.6,5,32.5l-25.4,76.5 c-1.3,3.7-0.6,7.9,1.8,11.2c2.3,3.2,6.2,5.2,10.1,5.2h65.6c14.7-0.3,28.8,6.3,37.9,17.7c5.3,6.6,8.6,14.3,9.8,22.6 c1.3,8.3,0.3,16.7-2.7,24.5l-47.6,118.7c-1.5,3.9-4.3,7.2-7.6,9.5c-3.5,2.3-7.5,3.6-11.6,3.6h-61.8l0,0c-7.1-0.3-14.2,2.2-19.7,7 c-5.4,4.6-8.9,11.2-9.9,18.4c-0.8,7.9,1.9,15.8,7.1,21.7c5.4,5.9,12.9,9.2,20.9,9.2h63.3c15.5,0,30.5-4.6,43.2-13.3 c12.8-8.6,22.7-20.9,28.5-35.2l47.6-118.8c12.8-32.1,8.8-68.5-11-97c-19.7-28.5-52.1-45.3-86.8-44.6h-4.6l5.7-17 c5.2-14.8,6.7-30.6,4.3-46.2c-3.6-21.6-14.8-41.3-31.5-55.5s-37.9-22.1-60-22h-20c-9.4,0-18.2,4.6-23.3,12.5l-104,156H54.5 c-7.1-0.1-14.1,2.3-19.6,7c-5.5,4.7-8.9,11.2-9.8,18.3c-0.8,7.9,1.9,15.8,7.1,21.7C37.8,221.4,45.2,224.9,53.2,224.9L53.2,224.9z"}))),fe=Yt;var Be=h(require("react")),Gt=e=>Be.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},Be.createElement("path",{d:"M456.7,185.2c-19.7-28.5-52.1-45.3-86.8-44.6h-4.6l5.7-17c5.2-14.8,6.7-30.6,4.3-46.2c-3.6-21.6-14.8-41.3-31.5-55.5 c-16.7-14.2-37.9-22.1-60-22h-20c-9.4,0-18.2,4.6-23.3,12.5l-104,156H54.5c-7.1-0.1-14.1,2.3-19.6,7c-5.5,4.7-8.9,11.2-9.8,18.3 c-0.8,7.9,1.9,15.8,7.1,21.7c5.5,5.9,12.9,9.3,20.9,9.3h9.1l14.2,56h-2.1c-10.1,0-19.3,5.4-24.4,14.1c-5.1,8.7-5,19.5,0,28.1 c5,8.6,14.3,14.1,24.4,14.1h16.3l14.2,56.1h-2.5c-10.1,0-19.3,5.4-24.4,14.1c-5,8.6-5,19.5,0,28.1c5.1,8.7,14.4,14.1,24.4,14.1h16.7 l165.6,0.1c0,0,0.1,0,0.1,0h63.3c15.5,0,30.5-4.6,43.2-13.3c12.8-8.6,22.7-20.9,28.5-35.2l47.6-118.8 C480.4,250.2,476.4,213.8,456.7,185.2z"})),gt=Gt;var z=h(require("react")),Jt=e=>z.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},z.createElement("g",null,z.createElement("path",{d:"M327.3,190.8c0,7.3,2.9,14.6,8.3,19.8c5.3,5.3,12.4,8.3,19.8,8.3h70.2c10.1,0,19.4-5.4,24.4-14c5-8.6,5-19.5,0-28.1 c-5-8.6-14.3-14-24.4-14h-70.2c-7.3,0-14.6,2.9-19.8,8.3C330.3,176.3,327.3,183.4,327.3,190.8L327.3,190.8z"}),z.createElement("path",{d:"M397.5,50.4h-70.2c-10.1,0-19.4,5.4-24.4,14c-5,8.6-5,19.5,0,28.1c5,8.6,14.3,14,24.4,14h70.2c10.1,0,19.4-5.4,24.4-14 s5-19.5,0-28.1S407.6,50.4,397.5,50.4z"}),z.createElement("path",{d:"M446.8,275.1h-83.3c-18.8,0-36.3,9.5-46.8,25l-95.7,143.6h-5c-11.6,0-22.5-5.7-29.3-15.1c-6.8-9.4-8.6-21.6-5-32.5 l25.4-76.5c1.3-3.8,0.6-7.9-1.8-11.2c-2.3-3.2-6.2-5.1-10.1-5.1h-65.5c-14.7,0.3-28.7-6.3-38.1-17.7c-5.3-6.6-8.6-14.3-9.8-22.6 c-1.3-8.3-0.3-16.6,2.7-24.5l47.6-118.8c1.6-3.9,4.2-7.2,7.6-9.5c3.5-2.3,7.5-3.6,11.6-3.6h61.8l0,0c7.1,0.3,14.2-2.3,19.7-7 c5.4-4.7,8.9-11.3,9.9-18.4c0.7-7.9-1.9-15.8-7.1-21.7c-5.4-6-12.9-9.2-20.9-9.2h-63.3c-15.5,0-30.5,4.7-43.2,13.3 C95.7,72.4,85.8,84.7,80,99L32.4,217.8c-12.8,32.1-8.8,68.5,10.9,97.1c19.7,28.6,52.1,45.2,86.8,44.7h4.7l-5.7,17.1 c-5.1,14.9-6.7,30.6-4.2,46.2c3.6,21.6,14.9,41.3,31.5,55.4s37.9,21.8,59.8,21.7h20c9.5,0,18.2-4.7,23.3-12.5l104.1-156h82.1 c7.1,0.1,14-2.3,19.6-7c5.5-4.7,8.9-11.2,9.8-18.4c0.7-7.9-1.9-15.8-7.1-21.7C462.4,278.5,454.8,275.1,446.8,275.1L446.8,275.1z"}))),Oe=Jt;var He=h(require("react")),Zt=e=>He.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},He.createElement("path",{d:"M175.6,426.3L17.8,268.6c-9.5-9.5-9.5-24.8,0-34.3L52.1,200c9.5-9.5,24.8-9.5,34.3,0l106.3,106.3L420.3,78.6 c9.5-9.5,24.8-9.5,34.3,0l34.3,34.3c9.5,9.5,9.5,24.8,0,34.3L209.9,426.3C200.4,435.8,185,435.8,175.6,426.3L175.6,426.3z"})),vt=Zt;var $e=h(require("react")),Xt=e=>$e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},$e.createElement("path",{d:"M316.7,250l100.1-100.1c12.3-12.3,12.3-32.2,0-44.5l-22.2-22.2c-12.3-12.3-32.2-12.3-44.5,0L250,183.3L149.9,83.2 c-12.3-12.3-32.2-12.3-44.5,0l-22.2,22.2c-12.3,12.3-12.3,32.2,0,44.5L183.3,250L83.2,350.1c-12.3,12.3-12.3,32.2,0,44.5l22.2,22.2 c12.3,12.3,32.2,12.3,44.5,0L250,316.7l100.1,100.1c12.3,12.3,32.2,12.3,44.5,0l22.2-22.2c12.3-12.3,12.3-32.2,0-44.5L316.7,250z"})),bt=Xt;var _e=h(require("react")),jt=e=>_e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},_e.createElement("path",{d:"M60.9,283.5l-22.2-22.2c-9.4-9.4-9.4-24.6,0-33.9L233.1,33c9.4-9.4,24.6-9.4,33.9,0l194.3,194.3c9.4,9.4,9.4,24.6,0,33.9 L439,283.4c-9.5,9.5-25,9.3-34.3-0.4L290,162.6V450c0,13.3-10.7,24-24,24h-32c-13.3,0-24-10.7-24-24V162.6L95.2,283.1 C85.9,292.9,70.4,293.1,60.9,283.5z"})),ht=jt;var Ke=h(require("react")),eo=e=>Ke.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",fill:"currentColor",width:"1em",height:"1em",...e},Ke.createElement("path",{d:"M439,216.5l22.2,22.2c9.4,9.4,9.4,24.6,0,33.9L267,467c-9.4,9.4-24.6,9.4-33.9,0L38.7,272.7c-9.4-9.4-9.4-24.6,0-33.9 L61,216.6c9.5-9.5,25-9.3,34.3,0.4l114.7,120.4V50c0-13.3,10.7-24,24-24h32c13.3,0,24,10.7,24,24v287.4l114.8-120.5 C414.1,207.1,429.6,206.9,439,216.5z"})),kt=eo;var ze=h(require("react")),to=e=>ze.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e},ze.createElement("path",{d:"M10,0C4.5,0,0,4.5,0,10s4.5,10,10,10s10-4.5,10-10S15.5,0,10,0 M10,18c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S14.4,18,10,18 M6.5,9C5.7,9,5,8.3,5,7.5S5.7,6,6.5,6S8,6.7,8,7.5S7.3,9,6.5,9 M15,7.5C15,8.3,14.3,9,13.5,9C12.7,9,12,8.3,12,7.5S12.7,6,13.5,6 C14.3,6,15,6.7,15,7.5 M14,12v2H6v-2H14z"})),wt=to;var Ue=h(require("react")),oo=e=>Ue.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e},Ue.createElement("path",{d:"M18,10c0-4.4-3.6-8-8-8s-8,3.6-8,8s3.6,8,8,8S18,14.4,18,10 M20,10c0,5.5-4.5,10-10,10S0,15.5,0,10S4.5,0,10,0S20,4.5,20,10 M13.5,6C14.3,6,15,6.7,15,7.5S14.3,9,13.5,9S12,8.3,12,7.5S12.7,6,13.5,6 M8,7.5C8,8.3,7.3,9,6.5,9S5,8.3,5,7.5S5.7,6,6.5,6 S8,6.7,8,7.5 M10,12c1.8,0,3.3,0.7,4.2,1.8l-1.4,1.4C12.3,14.5,11.2,14,10,14s-2.3,0.5-2.8,1.2l-1.4-1.4C6.7,12.7,8.2,12,10,12z"})),qe=oo;var We=h(require("react")),no=e=>We.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 10 10",fill:"currentColor",width:"1em",height:"1em",...e},We.createElement("path",{d:"M2.8,9C2.1,9,1.6,8.5,1.6,7.8c0-0.5,0.6-1.5,1.2-2.4C3.4,6.2,4,7.2,4,7.8C4,8.5,3.5,9,2.8,9 M5,0C2.2,0,0,2.2,0,5 c0,0.9,0.2,1.7,0.6,2.4C0.7,7,0.9,6.5,1.2,6.1C1.1,5.7,1,5.4,1,5c0-2.2,1.8-4,4-4s4,1.8,4,4S7.2,9,5,9C4.9,9,4.8,9,4.6,9 c-0.2,0.4-0.6,0.7-1,0.8C4.1,9.9,4.5,10,5,10c2.8,0,5-2.2,5-5S7.8,0,5,0 M5,6C4.8,6,4.6,6,4.4,6.1C4.6,6.4,4.7,6.7,4.8,7H5 c0.6,0,1.2,0.2,1.4,0.6l0.7-0.7C6.6,6.4,5.9,6,5,6 M6.8,3C6.3,3,6,3.3,6,3.8s0.3,0.8,0.8,0.8c0.4,0,0.8-0.3,0.8-0.8S7.1,3,6.8,3 M4,3.8C4,3.3,3.7,3,3.2,3S2.5,3.3,2.5,3.8s0.3,0.8,0.8,0.8S4,4.2,4,3.8"})),yt=no;var U=h(require("react")),ao=e=>U.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",width:"1em",height:"1em",...e},U.createElement("path",{d:"M10,15.5c2.3,0,4.3-1.5,5.1-3.5H4.9C5.7,14,7.7,15.5,10,15.5z"}),U.createElement("path",{d:"M10,0C4.5,0,0,4.5,0,10s4.5,10,10,10c5.5,0,10-4.5,10-10C20,4.5,15.5,0,10,0z M10,18c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8 S14.4,18,10,18z"}),U.createElement("path",{d:"M9,6L9,6C8.6,5.6,8,5.6,7.6,6l0,0c-0.4,0.4-1,0.4-1.4,0l0,0c-0.4-0.4-1-0.4-1.4,0l0,0c-0.4,0.4-0.4,1,0,1.4l1.4,1.4 c0.4,0.4,1,0.4,1.4,0L9,7.4C9.4,7,9.4,6.4,9,6z"}),U.createElement("path",{d:"M15.3,6L15.3,6c-0.4-0.4-1-0.4-1.4,0l0,0c-0.4,0.4-1,0.4-1.4,0l0,0c-0.4-0.4-1-0.4-1.4,0l0,0c-0.4,0.4-0.4,1,0,1.4l1.4,1.4 c0.4,0.4,1,0.4,1.4,0l1.4-1.4C15.7,7,15.7,6.4,15.3,6z"})),xt=ao;var ro=[{value:"+",icon:[dt,pt],title:"Love"}],lo=[{value:"+",icon:[ft,mt],title:"Star"}],io=[{value:"+",icon:[fe,gt],title:"Like"}],so=[{value:"+1",icon:fe,title:"Like"},{value:"-1",icon:Oe,title:"Dislike"}],co=[{value:"y",icon:fe,title:"Yes"},{value:"n",icon:Oe,title:"No"}],uo=[{value:"y",icon:vt,title:"Yes"},{value:"n",icon:bt,title:"No"}],po=[{value:"+1",icon:ht,title:"Upvote"},{value:"-1",icon:kt,title:"Downvote"}],fo=[{value:"+1",icon:{text:"\u{1F44D}"},title:"Like"},{value:"-1",icon:{text:"\u{1F44E}"},title:"Dislike"},{value:"laugh",icon:{text:"\u{1F604}"},title:"Laugh"},{value:"confused",icon:{text:"\u{1F615}"},title:"Confused"},{value:"heart",icon:{text:"\u2764\uFE0F"},title:"Love"},{value:"hooray",icon:{text:"\u{1F389}"},title:"Hooray!"},{value:"rocket",icon:{text:"\u{1F680}"},title:"Let's go!"},{value:"eyes",icon:{text:"\u{1F440}"},title:"What?"}],mo=[{value:"like",icon:{text:"\u{1F44D}"},title:"Like"},{value:"love",icon:{text:"\u2764\uFE0F"},title:"Love"},{value:"laugh",icon:{text:"\u{1F604}"},title:"AhAh"},{value:"wow",icon:{text:"\u{1F62E}"},title:"Wow"},{value:"sad",icon:{text:"\u{1F625}"},title:"Cry"},{value:"angry",icon:{text:"\u{1F621}"},title:"Angry"}],go=[{value:"happy",icon:ne,title:"Happy"},{value:"neutral",icon:wt,title:"Neutral"},{value:"sad",icon:qe,title:"Sad"}],vo=[{value:"love",icon:xt,title:"Love it"},{value:"happy",icon:ne,title:"It's Ok"},{value:"sad",icon:qe,title:"Not so great"},{value:"hate",icon:yt,title:"Hate it"}],bo=[{value:"idea",icon:{text:"\u{1F4A1}"},title:"Idea"},{value:"error",icon:{text:"\u{1F4A5}"},title:"Error"},{value:"other",icon:{text:"\u{1F4AC}"},title:"Other"}];