@highloop/feedback-react
Version:
3 lines (2 loc) • 2.81 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("@highloop/feedback"),n=require("react"),r=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,u=function(e){var u=n.useRef(),c=n.useRef();n.useEffect((function(){if(u.current&&"undefined"!=typeof window)return t.createPopoverWidget(e.id,u.current,{theme:e.theme,text:e.text,meta:e.meta,position:e.position,closeOnOutsideClick:e.closeOnOutsideClick,expanded:e.expanded}).then((function(e){c.current=e})).catch((function(e){return console.warn("[highloop-feedback]: Could not create widget",e)})),function(){c.current&&c.current.destroy()}}),[e.id]),n.useEffect((function(){c.current&&c.current.setTheme(e.theme)}),[e.theme]),n.useEffect((function(){c.current&&c.current.setMeta(e.meta)}),[e.meta]);var o=n.useMemo((function(){var t=Object.assign({children:"Feedback",style:e.className||e.style?{}:{color:"white",background:"black",height:34,border:"none",borderRadius:8,padding:"0px 14px",fontSize:14,fontWeight:500}},e);return delete t.id,delete t.resetOnSubmit,delete t.theme,delete t.text,delete t.meta,delete t.position,delete t.expanded,delete t.closeOnOutsideClick,t}),[e]);return r.createElement("button",Object.assign({},o,{ref:u}))};Object.keys(t).forEach((function(e){"default"!==e&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})})),exports.FeedbackButton=u,exports.FeedbackWidget=function(e){var u=e.id,c=e.resetOnSubmit,o=e.theme,i=e.text,d=e.meta,f=e.expanded,a=n.useRef(),s=n.useRef();return n.useEffect((function(){if(a.current&&"undefined"!=typeof window)return t.createInlineWidget(u,a.current,{meta:d,resetOnSubmit:c,theme:o,text:i,expanded:f}).then((function(e){s.current=e})).catch((function(e){return console.warn("[highloop-feedback]: Could not create widget",e)})),function(){s.current&&s.current.destroy()}}),[u]),n.useEffect((function(){s.current&&s.current.setTheme(o)}),[o]),n.useEffect((function(){s.current&&s.current.setMeta(d)}),[d]),r.createElement("div",{ref:a})},exports.default=u,exports.useFeedbackDialog=function(e,r){var u=n.useRef();return n.useEffect((function(){return t.createDialogWidget(e,r).then((function(e){u.current=e})).catch((function(e){return console.warn("[highloop-feedback]: Could not create widget",e)})),function(){u.current&&u.current.destroy()}}),[e]),n.useEffect((function(){u.current&&u.current.setTheme(null==r?void 0:r.theme)}),[null==r?void 0:r.theme]),n.useEffect((function(){u.current&&u.current.setMeta(null==r?void 0:r.meta)}),[null==r?void 0:r.meta]),{open:function(){var e;return null==(e=u.current)?void 0:e.open()},close:function(){var e;return null==(e=u.current)?void 0:e.close()},toggle:function(){var e;return null==(e=u.current)?void 0:e.toggle()}}};
//# sourceMappingURL=feedback-react.cjs.production.min.js.map