1_N_E=(window.webpackJsonp_N_E=window.webpackJsonp_N_E||[]).push([[60],{N6jK:function(e,t,a){e.exports={"gray-100":"general_gray-100__1fjBP","gray-200":"general_gray-200__393KB","gray-300":"general_gray-300__2KWbC","gray-400":"general_gray-400__3z0d-","gray-500":"general_gray-500__3HABz","gray-600":"general_gray-600__15NAQ","gray-700":"general_gray-700__3R8oP","gray-800":"general_gray-800__1YKnz","gray-900":"general_gray-900__2T8Vr","green-600":"general_green-600__21B10","hover:gray-100":"general_hover__gray-100__3TEQJ","hover:gray-200":"general_hover__gray-200__2CDNf","hover:gray-300":"general_hover__gray-300__1JEJi","hover:gray-400":"general_hover__gray-400__HA9a7","hover:gray-500":"general_hover__gray-500__1MPDd","hover:gray-600":"general_hover__gray-600__2SiRH","hover:gray-700":"general_hover__gray-700__1h0nE","hover:gray-800":"general_hover__gray-800__2XXhk","hover:gray-900":"general_hover__gray-900__Ms5mw","bg-white":"general_bg-white__Msz4Z","bg-gray-000":"general_bg-gray-000__2dhr3","hover:bg-gray-000":"general_hover__bg-gray-000__3XjVk","bg-gray-100":"general_bg-gray-100__wgWtl","hover:bg-gray-100":"general_hover__bg-gray-100__2iDlm","bg-gray-200":"general_bg-gray-200__1oPIx","hover:bg-gray-200":"general_hover__bg-gray-200__3Wm7I","bg-gray-300":"general_bg-gray-300__1zWss","hover:bg-gray-300":"general_hover__bg-gray-300__1njHY","bg-orange-100":"general_bg-orange-100__JZn2i","bg-red-500":"general_bg-red-500__30g6f","hover:red-500":"general_hover__red-500__1ak-A","bg-yellow-300":"general_bg-yellow-300__1QRAR","yellow-900":"general_yellow-900__Ktvt1","pink-500":"general_pink-500__3DkBy","bg-green-100":"general_bg-green-100__26n-b","bg-green-200":"general_bg-green-200__wOBVn","green-500":"general_green-500__SxQPN","color-link":"general_color-link__gNJHM","blue-600":"general_blue-600__3HZ_2","bg-primary":"general_bg-primary__3Jt8Y",avatarActions:"general_avatarActions__CCP30",subdomainRightElement:"general_subdomainRightElement__1x9ud",subdomainAvailableIcon:"general_subdomainAvailableIcon__3ZDL_",subdomainNotAvailableIcon:"general_subdomainNotAvailableIcon__xPvoD"}},NOAw:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin_view/settings/company_settings",function(){return a("m7Ap")}])},Nlfv:function(e,t,a){"use strict";var s=a("q1tI"),r=a.n(s),n=a("2Xj3"),i=a("wx14"),o=a("rePB"),l=a("TSYQ"),c=a.n(l),d=a("YFqc"),m=a.n(d),g=a("LvDl"),p=a("98oD"),u=a("Auht"),h=a("h06D"),b=a("hZGj"),_=a("JtBB"),y=a("ttDI"),v=a.n(y),f=r.a.createElement;const N={createBoard:{title:"Create a board",description:"Board is a bucket where you'll collect ideas, feature requests, and feedback from your customers.",button:"Create board",as:"/admin/collect",href:"/admin_view/collect/board_listing",help:"https://help.rapidr.io/article/9-how-to-create-a-feedback-board"},createEntries:{title:"Create 3 feedback entries",description:f(r.a.Fragment,null,"Well done! Now, add feedback to the board. Consider:",f("ul",null,f("li",null,"What recent feedback have your customers provided?"),f("li",null,"What requests are most common?"),f("li",null,"What are the crucial problems to address?"))),help:"https://help.rapidr.io/article/10-how-to-create-a-feedback-entry"},roadmap:{title:"Move feedback along the roadmap",description:"Change the feedback status to add or move it within the roadmap columns. Adding items on the roadmap is the best way to gather feedback on upcoming features.",help:"https://help.rapidr.io/article/23-how-to-add-status-to-a-feedback-entry"},changelog:{title:"Announce product updates",description:"Released something recently? Notify your customers by publishing a changelog.",button:"Publish changelog",href:"/admin_view/changelog/new_changelog",as:"/admin/changelog/new"},integrations:{title:"Connect your apps",description:"Connect the apps your team uses with Rapidr.",as:"/admin/settings/company/integrations",href:"/admin_view/settings/company_settings",button:"Connect apps"},invite:{title:"Invite teammates",description:"Invite your teammates to help you with managing feedback",href:"/admin_view/team/invite",as:"/admin/team/invite/",button:"Invite",help:"https://help.rapidr.io/article/11-how-to-add-teammates-to-your-rapidr-account"},install:{title:"Setup Rapidr in your app",description:"Rapidr works best when you collect feedback directly from your customers. Install Rapidr in your app to collect feedback.",help:"https://help.rapidr.io/article/32-setup-rapidr-on-your-website"}},w=Object.keys(N).length;class k extends s.Component{constructor(e){var t;super(e),Object(o.a)(this,"toggleView",(()=>{const{onboardingTicker_isExpanded:e,dispatch:t}=this.props;t(Object(b.b)({onboardingTicker_isExpanded:!e})),this.setState({showFinalScreen:!1})})),Object(o.a)(this,"closeView",(()=>{this.setState({showFinalScreen:!1})})),Object(o.a)(this,"markAsDone",(async e=>{const{currentTarget:{dataset:{stepName:t}}}=e,{onboardingData:a}=this.state,s=a.indexOf(t);if(-1===s)return;try{await u.a.post("/admin/onboarding/ticker.json",{stepName:t})}catch(i){console.error(i)}const r=[...a];r.splice(s,s+1);const{dispatch:n}=this.props;n(Object(_.c)(r)),this.setState({onboardingData:r}),0===r.length&&this.setState({showFinalScreen:!0})}));const{company:a}=e;this.state={onboardingData:(null===(t=a.extra_data)||void 0===t?void 0:t.onboarding_data)||[],showFinalScreen:!1}}onboardingData(){const{onboardingData:e}=this.state;return e}getProgressPercentage(){return(w-this.onboardingData().length)/w}renderStepsProgress(){return f("span",{className:"gray-600 text-base flex items-center"},w-this.onboardingData().length," of ",w," done")}renderDoneStep(e){const{title:t}=N[e];return f("div",{className:"flex items-center pt-8 pb-8 pl-16 pr-16",key:e},f("img",{src:Object(h.a)("/assets/images/svg_icons/ok.svg"),height:"24"}),f("strike",{className:"ml-8 bold text-base"},t))}renderCurrentStep(e){const{title:t,description:a,href:s,as:r,button:o,help:l}=N[e];return f("div",{className:c()("pt-12 pb-12 pl-16 pr-16",v.a.currentStep)},f("div",{className:"flex items-center"},f("div",{className:c()(v.a.stepDot,"inline-flex items-center content-center pointer"),onClick:this.markAsDone,"data-step-name":e},f("div",{className:v.a.stepDotInner})),f("div",{className:"bold flex-1 ml-8 bolder gray-800"},t)),f("div",{className:"flex-1 ml-24 pl-8 gray-500"},a),f("div",{className:"flex mt-12 items-center ml-24 pl-8"},s&&f(m.a,{href:s,as:r,passHref:!0},f("a",Object(i.a)({className:"bolder color-primary text-base"},{target:r?"_self":"_blank"}),f(n.L,null,f("span",{className:"text-sm gray-600"},o)))),l&&s!==l&&f(m.a,{href:l,passHref:!0},f("a",{className:c()("bold color-primary text-base",{"ml-8":s}),target:"_blank"},f("span",{className:"text-sm"},f(n.S,null,"Need help?"))))))}renderUpcomingStep(e){const{title:t}=N[e];return f("div",{key:e,className:"pt-12 pb-12 pl-16 pr-16 flex items-center"},f("div",{className:c()(v.a.stepDot,"inline-flex items-center content-center not-allowed")},f("div",{className:v.a.stepDotInner})),f("div",{className:"bold flex-1 ml-8"},t))}renderFinalScreen(){return f(n.g,null,f(n.A,{onOutsideClick:this.toggleView},f("div",{className:v.a.onboardingTickerExpanded},f("div",{className:v.a.tickerContainer},f("div",{className:c()(v.a.steps,"flex items-center content-center flex-column")},f("img",{src:Object(h.a)("/assets/images/svg_icons/ok.svg"),height:"42",className:"mt-12 mb-12"}),f("h3",{className:"bold mb-8 text-xl"},"Milestone Reached!"),f("p",{className:"gray-500 pl-16 pr-16 text-align-center"},"You've completed all the steps in the setup guide."))))))}renderExpandedView(){const e=this.onboardingData(),t=Object(g.difference)(Object.keys(N),e),a=e[0],s=e.slice(1);return f(n.g,null,f(n.A,{onOutsideClick:this.toggleView},f("div",{className:v.a.onboardingTickerExpanded},f("div",{className:v.a.tickerContainer},f("div",{className:v.a.steps},t.map(this.renderDoneStep),a&&this.renderCurrentStep(a),s.map(this.renderUpcomingStep))))))}renderCollapsedView(){return f("div",{className:v.a.onboardingTickerCollapsed,onClick:this.toggleView},f("div",{className:"mb-8"},f(n.S,null,"Setup guide"),f("div",{className:c()("bold text-xs border-radius inline-flex pl-8 pr-8 border-radius-24 ml-4",v.a.onboardingTickerSteps)},w-this.onboardingData().length," of ",w)),f("div",{className:"mt-8 mb-4 flex items-center"},f(n.F,{className:v.a.collapsedProgressBar,animate:!1,stripes:!1,value:this.getProgressPercentage()})))}render(){var e;const{onboardingTicker_isExpanded:t}=this.props,{showFinalScreen:a}=this.state;return a||0!==(null===(e=this.onboardingData())||void 0===e?void 0:e.length)?a?f(r.a.Fragment,null,this.renderCollapsedView(),this.renderFinalScreen()):t?f(r.a.Fragment,null,this.renderCollapsedView(),this.renderExpandedView()):this.renderCollapsedView():null}}var S=k=Object(p.a)((({company:e,localState:{onboardingTicker_isExpanded:t}})=>({company:e,onboardingTicker_isExpanded:t})))(k),O=r.a.createElement;t.a=function(){return O(n.c.Item,{title:O(S,null)})}},NwIi:function(e,t,a){e.exports={"gray-100":"integration_settings_gray-100__3BFtO","gray-200":"integration_settings_gray-200__V80db","gray-300":"integration_settings_gray-300__3vcXu","gray-400":"integration_settings_gray-400__ZbLyg","gray-500":"integration_settings_gray-500__3NVIV","gray-600":"integration_settings_gray-600__jjQAN","gray-700":"integration_settings_gray-700__81IFh","gray-800":"integration_settings_gray-800__1TY-Z","gray-900":"integration_settings_gray-900__3JRvr","green-600":"integration_settings_green-600__PdrfQ","hover:gray-100":"integration_settings_hover__gray-100__3iIAh","hover:gray-200":"integration_settings_hover__gray-200__2uxPd","hover:gray-300":"integration_settings_hover__gray-300__2wkZa","hover:gray-400":"integration_settings_hover__gray-400__3MYgV","hover:gray-500":"integration_settings_hover__gray-500__3BiAI","hover:gray-600":"integration_settings_hover__gray-600__Hr2Oz","hover:gray-700":"integration_settings_hover__gray-700__2Auqd","hover:gray-800":"integration_settings_hover__gray-800__G-suE","hover:gray-900":"integration_settings_hover__gray-900__36fR7","bg-white":"integration_settings_bg-white__3vKLt","bg-gray-000":"integration_settings_bg-gray-000__1AHJh","hover:bg-gray-000":"integration_settings_hover__bg-gray-000__AYuq9","bg-gray-100":"integration_settings_bg-gray-100__3KDHE","hover:bg-gray-100":"integration_settings_hover__bg-gray-100__1k7Qr","bg-gray-200":"integration_settings_bg-gray-200__fh2cu","hover:bg-gray-200":"integration_settings_hover__bg-gray-200__3X63U","bg-gray-300":"integration_settings_bg-gray-300__1hIzo","hover:bg-gray-300":"integration_settings_hover__bg-gray-300__2nEV-","bg-orange-100":"integration_settings_bg-orange-100__DF3ed","bg-red-500":"integration_settings_bg-red-500__1dFq0","hover:red-500":"integration_settings_hover__red-500__3DOLT","bg-yellow-300":"integration_settings_bg-yellow-300__3Uf6e","yellow-900":"integration_settings_yellow-900__2AWEK","pink-500":"integration_settings_pink-500__pnaJu","bg-green-100":"integration_settings_bg-green-100__2G2CR","bg-green-200":"integration_settings_bg-green-200__w1gYZ","green-500":"integration_settings_green-500__oBd-3","color-link":"integration_settings_color-link__Iy1Bt","blue-600":"integration_settings_blue-600__228JK","bg-primary":"integration_settings_bg-primary__3d7Ly",hubspotIcon:"integration_settings_hubspotIcon__3ErHQ",syncableFields:"integration_settings_syncableFields__7UbZ5"}},PVkK:function(e,t,a){e.exports={"gray-100":"customize_gray-100__1IKxg","gray-200":"customize_gray-200__1smWa","gray-300":"customize_gray-300__1zNrv","gray-400":"customize_gray-400__F6zdX","gray-500":"customize_gray-500__2Ex-l","gray-600":"customize_gray-600__3J4i1","gray-700":"customize_gray-700__Kzst3","gray-800":"customize_gray-800__3qWhy","gray-900":"customize_gray-900__1U5bc","green-600":"customize_green-600__246p1","hover:gray-100":"customize_hover__gray-100__2HToL","hover:gray-200":"customize_hover__gray-200__4mqw3","hover:gray-300":"customize_hover__gray-300__1mwBG","hover:gray-400":"customize_hover__gray-400__34Fx3","hover:gray-500":"customize_hover__gray-500__g85e_","hover:gray-600":"customize_hover__gray-600__UBEpg","hover:gray-700":"customize_hover__gray-700__1eVwA","hover:gray-800":"customize_hover__gray-800__1PNG6","hover:gray-900":"customize_hover__gray-900__3WhPB","bg-white":"customize_bg-white__JVx9Q","bg-gray-000":"customize_bg-gray-000__3wHF1","hover:bg-gray-000":"customize_hover__bg-gray-000__25cK3","bg-gray-100":"customize_bg-gray-100__8YZbq","hover:bg-gray-100":"customize_hover__bg-gray-100__1qbn3","bg-gray-200":"customize_bg-gray-200__3hybL","hover:bg-gray-200":"customize_hover__bg-gray-200__aGhlC","bg-gray-300":"customize_bg-gray-300__139dq","hover:bg-gray-300":"customize_hover__bg-gray-300__32_RE","bg-orange-100":"customize_bg-orange-100__2j2Np","bg-red-500":"customize_bg-red-500__34rrP","hover:red-500":"customize_hover__red-500__UVhdG","bg-yellow-300":"customize_bg-yellow-300__1vtdQ","yellow-900":"customize_yellow-900__334IQ","pink-500":"customize_pink-500__1rQP1","bg-green-100":"customize_bg-green-100__3h42b","bg-green-200":"customize_bg-green-200__20Ywy","green-500":"customize_green-500__2-bFY","color-link":"customize_color-link__N6pOi","blue-600":"customize_blue-600__3DxP9","bg-primary":"customize_bg-primary__1Weet",brandColorRightElement:"customize_brandColorRightElement__18pj0",uploadContainer:"customize_uploadContainer__6j1ei",uploadIcon:"customize_uploadIcon__1Eb84"}},YssW:function(e){e.exports=JSON.parse('[{"id":1,"name":"Slack","url_slug":"slack","short_description":"Capture feedback from Slack and get realtime activity alerts","website":"https://slack.com","icon_url":"/assets/images/integrations/slack.svg","tags":["Alerts","Capture"],"active":true},{"id":2,"name":"Intercom","url_slug":"intercom","short_description":"Track feedback & votes from Inbox and Messenger","website":"https://intercom.com","icon_url":"/assets/images/integrations/intercom.svg","tags":["Capture","Enrich","Widget"],"active":true},{"id":3,"name":"Zapier","url_slug":"zapier","short_description":"Connect with 5,000+ apps","website":"https://zapier.com","icon_url":"/assets/images/integrations/zapier.svg","tags":["Automation"],"active":true},{"id":4,"name":"Jira","url_slug":"jira","short_description":"Sync feedback & status with Jira","website":"https://jira.com","icon_url":"/assets/images/integrations/jira.svg","tags":["Project Management","Sync Status"],"active":true},{"id":8,"name":"Hubspot","url_slug":"hubspot","short_description":"Track feedback on behalf of contacts and deals in HubSpot","website":"https://hubspot.com","icon_url":"/assets/images/integrations/hubspot.svg","tags":["CRM","Enrich","Capture"],"active":true,"coming_soon":false},{"id":5,"name":"Azure Active Directory","url_slug":"active_directory","short_description":"Enable your organization to sign in with Active Directory","website":"https://portal.azure.com","icon_url":"/assets/images/integrations/azure_active_directory.svg","tags":["Auth"],"active":true,"coming_soon":false,"marketing_page":"https://help.rapidr.io/article/46-integrate-with-an-identity-provider-and-sign-in-with-saml-sso"},{"id":6,"name":"Okta","url_slug":"okta","short_description":"Enable your organization to sign in with Okta","website":"https://okta.com","icon_url":"/assets/images/integrations/okta.svg","tags":["Auth"],"active":true,"coming_soon":false,"marketing_page":"https://help.rapidr.io/article/46-integrate-with-an-identity-provider-and-sign-in-with-saml-sso"},{"id":7,"name":"OneLogin","url_slug":"onelogin","short_description":"Enable your organization to sign in with OneLogin","website":"https://onelogin.com","icon_url":"/assets/images/integrations/onelogin.svg","tags":["Auth"],"active":true,"coming_soon":false,"marketing_page":"https://help.rapidr.io/article/46-integrate-with-an-identity-provider-and-sign-in-with-saml-sso"},{"id":9,"name":"Zendesk","url_slug":"zendesk","short_description":"Track feedback from tickets","website":"https://zendesk.com","icon_url":"/assets/images/integrations/zendesk.svg","tags":["Capture","Enrich","Widget"],"active":false,"coming_soon":true},{"id":10,"name":"Salesforce","url_slug":"salesforce","short_description":"Track and manage feedback from Salesforce.","website":"https://www.salesforce.com/","icon_url":"/assets/images/integrations/salesforce.svg","tags":["Capture","Enrich","Widget"],"active":false,"coming_soon":true},{"id"
1:11,"name":"GitHub","url_slug":"github","short_description":"Sync feedback & status with GitHub.","icon_url":"/assets/images/integrations/github.svg","tags":["Product Development","Sync Status"],"active":false,"coming_soon":true},{"id":12,"name":"Segment","url_slug":"segment","short_description":"Track feedback and sync status from Segment.","icon_url":"/assets/images/integrations/segment.svg","tags":["Capture","Enrich","Widget"],"active":false,"coming_soon":true}]')},m7Ap:function(e,t,a){"use strict";a.r(t);var s=a("rePB"),r=a("MX0m"),n=a.n(r),i=a("q1tI"),o=a.n(i),l=a("20a2"),c=a.n(l),d=a("YFqc"),m=a.n(d),g=a("g4pe"),p=a.n(g),u=a("LvDl"),h=a("98oD"),b=a("2Xj3"),_=a("ocgq"),y=a("TSYQ"),v=a.n(y),f=a("Auht"),N=a("h06D"),w=a("nXTe"),k=a("P9Ni"),S=a("RruQ"),O=a("JtBB"),j=a("noEJ"),x=o.a.createElement;class C extends i.Component{constructor(e){super(e),Object(s.a)(this,"state",{}),Object(s.a)(this,"handleEditButton",(()=>{this.setState({editMode:!this.state.editMode})})),Object(s.a)(this,"handleChange",(e=>{var t;this.setState({localCustomDomain:null===(t=e.target.value)||void 0===t?void 0:t.trim(),error:null})})),Object(s.a)(this,"validateCustomDomain",(()=>{const{localCustomDomain:e}=this.state;return e?e.startsWith("http")?(this.setState({error:"Please remove http or https from the URL, eg. feedback.your_domain.com"}),!1):e.endsWith("/")?(this.setState({error:"Please remove the leading / from the URL"}),!1):!!e.match(/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/)||(this.setState({error:"URL doesn't look right. Eg. feedback.your_domain.com"}),!1):(this.setState({error:"Domain can't be empty"}),!1)})),Object(s.a)(this,"saveCustomDomain",(async()=>{const{error:e,localCustomDomain:t}=this.state;if(e||!this.validateCustomDomain())return;this.setState({loading:!0});const{data:a}=await f.a.post("/api/v1/company/custom-domain.json",{custom_domain:t});if(!a.status&&a.error)return this.setState({error:a.error,loading:!1});const{data:s}=await Object(S.h)(),{dispatch:r}=this.props;r(Object(O.b)(s.data)),this.setState({loading:!1,editMode:!1})})),Object(s.a)(this,"removeCustomDomain",(async()=>{this.setState({localCustomDomain:""}),await f.a.post("/api/v1/company/custom-domain.json",{custom_domain:null});const{company:e}=this.props;if(e.custom_domain===window.location.hostname)window.location.host="".concat(e.subdomain,".rapidr.io");else{const{data:e}=await Object(S.h)(),{dispatch:t}=this.props;t(Object(O.b)(e.data))}}));const{company:t}=e;this.state={localCustomDomain:t.custom_domain||""}}renderInput(){const{localCustomDomain:e,loading:t,error:a}=this.state;return x("div",{className:"pl-16 pr-16 pt-12 pb-12 bg-gray-000"},x("div",{className:"flex items-center"},x(b.u,{id:"custom-domain-url",type:"url",name:"custom_domain_url",placeholder:"feedback.example.com",large:!0,onBlur:this.validateCustomDomain,onChange:this.handleChange,value:e,className:"mr-4 flex-1",onKeyDown:e=>{"Enter"===e.key&&this.saveCustomDomain()}}),x(b.L,{large:!0,onClick:this.saveCustomDomain,className:"ml-4",loading:t},x(b.S,null,"Save"))),(null===a||void 0===a?void 0:a.length)>0&&x("div",{className:"danger text-xs mt-4"},a))}renderForm(){const{editMode:e}=this.state,{company:{custom_domain:t,features:a}}=this.props,s=Object(u.get)(a,"custom_domain"),r=Boolean((null===t||void 0===t?void 0:t.length)>=0);return x("div",{className:"border border-radius-2 border-gray-200"},x("div",{className:"pl-16 pr-16 pb-12 pt-12"},x("div",{className:"bold gray-800 flex items-center"},x(b.S,null,"Custom Domain"),!s&&x(j.a,{className:"ml-8"}),x("span",{className:v()("color-primary bolder letter-spacing-0.5 text-sm ml-auto pointer",!s&&"not-allowed pointer-events-none opacity-0.5"),onClick:this.handleEditButton},e?"CLOSE":r?"EDIT":"ADD")),x("div",{className:"gray-600 text-wrap pr-64 mt-8"},"Run Rapidr on your own domain. To setup add a DNS CNAME record that points to ",x("span",{className:"bold gray-800"},"app.rapidr.io"),". Read our detailed"," ",x("a",{className:"color-primary bold",href:"https://help.rapidr.io/article/37-create-custom-domain-cname",target:"_blank",rel:"noopener noreferrer"},"DNS configuration guide")," ","to learn more.")),x(b.q,null),e?this.renderInput():x("div",{className:"pl-16 pr-16 pt-12 pb-12 bg-gray-000 gray-500"},r?x("div",{className:"flex items-center"},t,x(b.f,{className:"ml-8",variant:"green"},x(b.S,null,"LIVE")),x("span",{className:"danger bold letter-spacing-0.5 text-xs ml-auto pointer",onClick:this.removeCustomDomain},x(b.t,{icon:"xmark",size:16}))):b.S.t("No domain added")))}render(){return x(i.Fragment,null,this.renderForm())}}var E=C=Object(h.a)(null,null)(C),D=a("6Rd8"),R=o.a.createElement;class I extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"handleToggle",(async()=>{const{localSearchEngineVisibility:e}=this.state;this.setState({localSearchEngineVisibility:!e,loading:!0});const{data:t}=await f.a.post(Object(k.f)(),{settings:{search_engine_visibility:!e}});if(!t.status&&t.error)return this.setState({error:t.error,loading:!1}),void Object(D.a)({intent:"danger",message:t.error});const{data:a}=await Object(S.h)(),{dispatch:s}=this.props;s(Object(O.b)(a.data)),this.setState({loading:!1}),Object(D.a)({message:"Saved successfully"})}));const{company:a}=e;this.state={localSearchEngineVisibility:!0===(null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.search_engine_visibility)}}render(){const{localSearchEngineVisibility:e}=this.state;return R("div",null,R("div",{className:"pl-16 pr-16 pb-12 pt-12"},R("div",{className:"bold gray-800 flex items-center"},R(b.S,null,"Disable search engine indexing"),R(b.R,{className:"ml-auto mb-0 mr-0 pr-0",large:!0,checked:e,onChange:this.handleToggle})),R("div",{className:"gray-600 text-wrap pr-64 mt-4"},"Prevent search engines like Google from indexing your portal")))}}var z=I=Object(h.a)(null,null)(I),T=o.a.createElement;class A extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"handleToggle",(async()=>{const{localPortalDisabled:e}=this.state;this.setState({localPortalDisabled:!e,loading:!0});const{data:t}=await f.a.post(Object(k.f)(),{settings:{portal_status:e?null:"disabled"}});if(!t.status&&t.error)return this.setState({error:t.error,loading:!1}),void Object(D.a)({intent:"danger",message:t.error});const{data:a}=await Object(S.h)(),{dispatch:s}=this.props;s(Object(O.b)(a.data)),this.setState({loading:!1})}
1));const{company:a}=e;this.state={localPortalDisabled:"disabled"===(null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.portal_status)}}render(){const{localPortalDisabled:e}=this.state;return T("div",null,T("div",{className:"pl-16 pr-16 pb-12 pt-12"},T("div",{className:"bold gray-800 flex items-center"},T(b.S,null,"Disable feedback portal and widgets"),T(b.R,{className:"ml-auto mb-0 mr-0 pr-0",large:!0,checked:e,onChange:this.handleToggle})),T("div",{className:"gray-600 text-wrap pr-64 mt-4"},"Turn off your customer feedback portal and widgets.")))}}var P=A=Object(h.a)(null,null)(A),F=o.a.createElement;class L extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"handleToggle",(async()=>{const{localDisableRoadmap:e}=this.state;this.setState({localDisableRoadmap:!e,loading:!0});const{data:t}=await f.a.post(Object(k.f)(),{settings:{disable_roadmap:!e}});if(!t.status&&t.error)return this.setState({error:t.error,loading:!1}),void Object(D.a)({intent:"danger",message:t.error});const{data:a}=await Object(S.h)(),{dispatch:s}=this.props;s(Object(O.b)(a.data)),this.setState({loading:!1})}));const{company:a}=e;this.state={localDisableRoadmap:!!(null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.disable_roadmap)}}render(){const{localDisableRoadmap:e}=this.state;return F("div",{className:"pl-16 pr-16 pb-12 pt-12"},F("div",{className:"bold gray-800 flex items-center"},F(b.S,null,"Disable roadmap"),F(b.R,{className:"ml-auto mb-0 mr-0 pr-0",large:!0,checked:e,onChange:this.handleToggle})),F("div",{className:"gray-600 text-wrap pr-64 mt-4"},"Turn off Roadmap from your feedback portal"))}}var B=L=Object(h.a)(null,null)(L),U=o.a.createElement;class q extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"handleToggle",(async()=>{const{localDisableFeedback:e}=this.state;this.setState({localDisableFeedback:!e,loading:!0});const{data:t}=await f.a.post(Object(k.f)(),{settings:{disable_feedback:!e}});if(!t.status&&t.error)return this.setState({error:t.error,loading:!1}),void Object(D.a)({intent:"danger",message:t.error});const{data:a}=await Object(S.h)(),{dispatch:s}=this.props;s(Object(O.b)(a.data)),this.setState({loading:!1})}));const{company:a}=e;this.state={localDisableFeedback:!!(null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.disable_feedback)}}render(){const{localDisableFeedback:e}=this.state;return U("div",{className:"pl-16 pr-16 pb-12 pt-12"},U("div",{className:"bold gray-800 flex items-center"},U(b.S,null,"Disable feedback"),U(b.R,{className:"ml-auto mb-0 mr-0 pr-0",large:!0,checked:e,onChange:this.handleToggle})),U("div",{className:"gray-600 text-wrap pr-64 mt-4"},"Turn off Feedback from your feedback portal"))}}var M=q=Object(h.a)(null,null)(q),H=a("N6jK"),K=a.n(H),W=o.a.createElement;class V extends i.Component{constructor(e){var t,a;super(e),Object(s.a)(this,"checkAndSyncSubdomain",(async e=>{const{value:t}=e.target,a=Object(w.urlSafeString)(t&&t.toLowerCase());if(this.syncCompanySubdomain({target:{value:a}}),this.props.company.subdomain!==a){this.setState({subdomainAvailable:null,subdomainChecking:!0});try{var s;if(!a)return;!1===(null===(s=(await f.a.get(Object(k.e)(a))).data)||void 0===s?void 0:s.status)?this.setState({subdomainAvailable:!0,subdomainChecking:!1}):this.setState({subdomainAvailable:!1,subdomainChecking:!1})}catch(r){console.error(r),this.setState({subdomainAvailable:!1})}finally{this.setState({subdomainChecking:!1})}}})),Object(s.a)(this,"syncInput",(e=>t=>{this.setState({[e]:t.target.value,["".concat(e,"Error")]:null,stateChanged:!0})})),Object(s.a)(this,"uploadFile",(e=>{const t=e.target;t.files&&t.files[0]&&this.setState({uploadedLogo:Object(N.c)(t.files[0]),uploadedLogoFileRef:t.files[0],stateChanged:!0})})),Object(s.a)(this,"removeLogo",(()=>{this.setState({logo_url:null,stateChanged:!0,uploadedLogoFileRef:null,uploadedLogo:null})})),Object(s.a)(this,"uploadFavicon",(e=>{const t=e.target;t.files&&t.files[0]&&this.setState({uploadedFavicon:Object(N.c)(t.files[0]),uploadedFaviconFileRef:t.files[0],stateChanged:!0})})),Object(s.a)(this,"removeFavicon",(()=>{this.setState({favicon_url:null,stateChanged:!0,uploadedFaviconFileRef:null,uploadedFavicon:null})})),Object(s.a)(this,"saveChanges",(async()=>{var e,t,a;this.setState({saving:!0,savingError:null});const{company:s}=this.props,{name:r,subdomain:n,ga_tracking_code:i,uploadedLogoFileRef:o,uploadedFaviconFileRef:l}=this.state;let{logo_url:d,favicon_url:m}=this.state;if(o){const e=new FormData;e.append("file",o);const t=await f.a.post(Object(k.G)(),e,{headers:{"Content-Type":"multipart/form-data"},params:{location:"company/".concat(s.id)}}),{data:a}=t.data;d=Object(k.G)(a)}if(l){const e=new FormData;e.append("file",l);const t=await f.a.post(Object(k.G)(),e,{headers:{"Content-Type":"multipart/form-data"},params:{location:"company/".concat(s.id)}}),{data:a}=t.data;m=Object(k.G)(a)}const g={};r!==s.name&&(g.name=r),n!==s.subdomain&&(g.subdomain=n),i!==(null===(e=s.settings)||void 0===e?void 0:e.ga_tracking_code)&&(g.settings=g.settings||{},g.settings.ga_tracking_code=i),d!==(null===(t=s.settings)||void 0===t?void 0:t.logo_url)&&(g.settings=g.settings||{},g.settings.logo_url=d),m!==(null===(a=s.settings)||void 0===a?void 0:a.favicon_url)&&(g.settings=g.settings||{},g.settings.favicon_url=m);let p=!1;try{const e=await f.a.post(Object(k.f)(),g),{error:t,status:a}=e.data;a||(p=!0,this.setState({savingError:t}))}catch(u){const{data:e}=u.response;p=!0,e.error&&this.setState({savingError:e.error})}if(this.setState({saving:!1}),!p)if(g.subdomain){const e=window.location.protocol+"//"+window.location.href.replace(/^[^.]*/,g.subdomain);window.location.href=e}else c.a.reload()}));const{company:r}=e;this.state={name:r.name,logo_url:null===(t=r.settings)||void 0===t?void 0:t.logo_url,favicon_url:null===(a=r.settings)||void 0===a?void 0:a.favicon_url,subdomain:r.
1subdomain,stateChanged:!1},this.syncCompanyName=this.syncInput("name"),this.syncCompanySubdomain=this.syncInput("subdomain"),this.syncGoogleAnalytics=this.syncInput("ga_tracking_code")}render(){const{stateChanged:e,saving:t,savingError:a,name:s,logo_url:r,favicon_url:n,subdomain:i,subdomainChecking:o,subdomainAvailable:l,uploadedLogo:c,uploadedFavicon:d}=this.state,{company:m}=this.props,g=d||n;return W("div",null,W("h2",{className:"bolder mb-12 text-2xl"},W(b.S,null,"Basic")),W("div",{className:"border border-radius-2 border-gray-200"},W("div",{className:"pl-16 pr-16 pt-12 pb-12"},W(b.r,{label:W("div",{className:"bold"},W(b.S,null,"Company name")),labelFor:"name",className:"mb-16"},W(b.v,{id:"name",placeholder:"Acme Co",large:!0,onChange:this.syncCompanyName,value:s}))),W(b.q,null),W("div",{className:"pl-16 pr-16 pt-12 pb-12"},W(b.r,{label:W("div",null,W("div",{className:"bold"},W(b.S,null,"Logo")),W("div",null,W(b.S,null,"Upload"),m.name,"'s logo. Make sure it's a square, ideally of 200 x 200 dimension.")),labelFor:"logo_url"},W(b.e,{name:m.name,url:c||r,className:K.a.avatar,shape:"rectangular"}),W("label",{htmlFor:"attach-logo",className:"pointer"},W("span",{className:v()("color-primary ml-16",K.a.avatarActions)},W(b.t,{icon:"upload",className:"mr-4"}),W(b.S,null,"Change")),W("input",{type:"file",id:"attach-logo",accept:"image/*",className:"none",onChange:this.uploadFile})),!(!r&&!c)&&W("span",{className:v()("danger ml-16 pointer",K.a.avatarActions),onClick:this.removeLogo},W(b.t,{icon:"trash",className:"mr-4"}),W(b.S,null,"Remove")))),W(b.q,null),W("div",{className:"pl-16 pr-16 pt-12 pb-12"},W(b.r,{label:W("div",null,W("div",{className:"bold"},W(b.S,null,"Favicon")),W("div",null,"Upload favicon for your customer portal. Make sure it's a square, ideally of 64 x 64 dimension.")),labelFor:"logo_url"},g?W(b.e,{name:m.name,url:d||n,className:K.a.avatar,shape:"rectangular"}):W("div",{className:"gray-500 mb-8"},W(b.t,{icon:"circle-exclamation",className:"mr-8"}),W(b.S,null,"No favicon uploaded yet"),"."),W("label",{htmlFor:"attach-favicon",className:"pointer"},W("span",{className:v()("color-primary",K.a.avatarActions,g?"ml-16":null)},W(b.t,{icon:"upload",className:"mr-4"}),g?b.S.t("Change"):b.S.t("Upload")),W("input",{type:"file",id:"attach-favicon",accept:"image/*",className:"none",onChange:this.uploadFavicon})),!(!n&&!d)&&W("span",{className:v()("danger ml-16 pointer",K.a.avatarActions),onClick:this.removeFavicon},W(b.t,{icon:"trash",className:"mr-4"}),W(b.S,null,"Remove")))),W(b.q,null),W("div",{className:"pl-16 pr-16 pt-12 pb-12"},W(b.r,{label:W("div",{className:"bold"},W(b.S,null,"Subdomain")),labelFor:"subdomain",helperText:W("span",null,W(b.S,null,"Current URL:")," ",W("a",{className:"bold",href:"https://".concat(m.subdomain,".rapidr.io/home"),target:"_blank",rel:"noreferrer noopener"},m.subdomain,".rapidr.io"," ",W(b.t,{icon:"arrow-up-right-from-square",size:10})))},W(b.v,{id:"subdomain",placeholder:"acme",large:!0,onChange:this.checkAndSyncSubdomain,value:i,rightElement:W("span",{className:K.a.subdomainRightElement},o&&W(b.P,{size:16,className:"mr-8"}),l&&W(b.Z,{defaultIsOpen:!0,content:"It's available. \ud83c\udf89"},W(b.t,{icon:"check",className:v()("mr-8",K.a.subdomainAvailableIcon)})),!1===l&&W(b.Z,{defaultIsOpen:!0,content:b.S.t("Oops, it's taken. Try another one.")},W(b.t,{icon:"xmark",className:v()("mr-8",K.a.subdomainNotAvailableIcon)})),i,".rapidr.io")})))),!!a&&W("div",{className:"danger mb-16"},a),W("div",{className:"flex mt-16"},W(b.E,{className:"ml-auto",disabled:!e,onClick:this.saveChanges,loading:t},W(b.S,null,"Save Changes"))),W("h2",{className:"mt-36 bolder mb-12 text-2xl"},W(b.S,null,"Advanced")),W(E,{company:m}),W("div",{className:"mt-12"}),W("div",{className:"border border-radius-4 border-gray-200"},W(z,{company:m}),W(b.q,null),W(B,{company:m}),W(b.q,null),W(M,{company:m}),W(b.q,null),W(P,{company:m})))}}var J=V,G=a("PVkK"),Y=a.n(G),Z=o.a.createElement;class X extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"syncInput",(e=>t=>
1{this.setState({[e]:t.target.value,["".concat(e,"Error")]:null,stateChanged:!0})})),Object(s.a)(this,"saveChanges",(async()=>{var e;const{company:t}=this.props,{brandColor:a}=this.state;if(a&&!/^#([0-9A-F]{3}){1,2}$/i.test(a))return this.setState({brandColorError:b.S.t("Please enter correct hex code")});this.setState({saving:!0});const s={};a!==(null===(e=t.settings)||void 0===e?void 0:e.brand_color)&&(s.brand_color=a),await f.a.post(Object(k.f)(t.id),{settings:s}),this.setState({saving:!1,brandColorError:null}),c.a.reload()}));const{company:a}=e;this.state={brandColor:null===(t=a.settings)||void 0===t?void 0:t.brand_color,stateChanged:!1},this.syncBrandColor=this.syncInput("brandColor")}render(){const{brandColor:e,brandColorError:t,stateChanged:a,saving:s}=this.state;return Z("div",null,Z(b.r,{label:b.S.t("Brand Color"),labelFor:"brand-color",className:"mb-36",intent:t&&b.w.DANGER,helperText:t||b.S.t("Your brand's color or accent color will be reflected on the portal and widgets.")},Z(b.v,{id:"brand-color",placeholder:"#645aff",large:!0,onChange:this.syncBrandColor,value:e,intent:t&&b.w.DANGER,rightElement:Z("span",{style:{background:e||"#645aff"},className:Y.a.brandColorRightElement})})),Z("div",{className:"flex"},Z(b.E,{className:"ml-auto",disabled:!a||s,onClick:this.saveChanges,loading:s},Z(b.S,null,"Save changes"))))}}var Q=X,$=a("mapa"),ee=o.a.createElement;class te extends i.Component{constructor(e){var t;super(e),Object(s.a)(this,"generateSecretKey",(async()=>{this.setState({generateSecretKeyLoading:!0});try{await f.a.post(Object(k.k)("generate-secret"));const{data:e}=await Object(S.h)(),{dispatch:t}=this.props;t(Object(O.b)(e.data))}catch(e){console.error(e)}this.setState({generateSecretKeyLoading:!1})})),Object(s.a)(this,"saveRedirectUrl",(async()=>{const{localRedirectUrl:e}=this.state;this.setState({redirectUrlLoading:!0});try{await f.a.post(Object(k.f)(),{settings:{sso:{redirect_url:e}}});const{data:t}=await Object(S.h)(),{dispatch:a}=this.props;a(Object(O.b)(t.data))}catch(t){console.error(t)}this.setState({editRedirectUrl:!1,redirectUrlLoading:!1})})),Object(s.a)(this,"handleEnableSSO",(async()=>{const{localSsoActive:e}=this.state,t=!e;try{await f.a.post(Object(k.f)(),{settings:{sso:{active:t}}});const{data:e}=await Object(S.h)(),{dispatch:a}=this.props;a(Object(O.b)(e.data))}catch(a){console.error(a)}this.setState({localSsoActive:t})})),Object(s.a)(this,"performDecodeJWT",(async()=>{const{decodeJWT:e}=this.state;if(!e)return;const{data:t}=await f.a.get(Object(k.k)("test-decode-jwt"),{params:{token:e}});this.setState({debuggerDecodedJWT:t.data})}));const{company:a}=e,{active:r=!1,redirect_url:n}=(null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.sso)||{};this.state={localSsoActive:r,localRedirectUrl:n}}renderSecretKey(){var e;const{company:t}=this.props,{generateSecretKeyLoading:a}=this.state,{secret_key:s}=(null===t||void 0===t||null===(e=t.settings)||void 0===e?void 0:e.sso)||{};return ee("div",{className:"pl-16 pr-16 pt-24 pb-24"},ee("div",{className:"flex items-center"},ee("span",{className:"bolder gray-900"},ee(b.S,null,"Secret Key"))),ee("div",{className:"gray-700 text-wrap pr-64"},"Make sure this key stays safe, private, and is accessible only by your authentication backend."),s&&ee("div",{className:"mt-8 border border-gray-200 bg-gray-100 border-radius-4 gray-700 pt-8 pb-8 pl-8 pr-4"},s),ee("div",{className:"mt-16"},s&&ee(b.L,{onClick:()=>{Object(N.b)(s),Object(D.a)({message:b.S.t("Successfully copied to your clipboard")})},className:"mr-8"},ee(b.t,{icon:"copy",className:"mr-4"}),ee("span",{className:"text-sm bold"},ee(b.S,null,"Copy to clipboard"))),ee(b.L,{loading:a,onClick:this.generateSecretKey},ee(b.t,{icon:"arrows-rotate",className:"mr-4"}),ee("span",{className:"text-sm bold"},s?b.S.t("Regenerate secret key"):b.S.t("Generate secret key")))))}renderRedirectUrl(){var e;const{editRedirectUrl:t,localRedirectUrl:a,redirectUrlLoading:s}=this.state,{company:r}=this.props,{redirect_url:n}=(null===r||void 0===r||null===(e=r.settings)||void 0===e?void 0:e.sso)||{};return ee("div",{className:"pl-16 pr-16 pt-24 pb-24"},ee("div",{className:"flex items-center"},ee("span",{className:"bolder"},ee(b.S,null,"Redirect URL")),!t&&ee("span",{className:"color-primary text-sm bolder ml-auto pointer",onClick:()=>{this.setState({editRedirectUrl:!0})}},ee(b.S,null,"EDIT"))),ee("div",{className:"gray-700 text-wrap pr-64"},"Your application's endpoint that facilitates login. Rapidr will redirect your unauthenticated customers here."),Boolean(null===n||void 0===n?void 0:n.length)&&ee(i.Fragment,null,ee("div",{className:"mt-8 border border-gray-200 bg-gray-100 border-radius-4 gray-700 pt-8 pb-8 pl-8 pr-4"},n)),t&&ee(i.Fragment,null,ee(b.q,{className:"mt-8 mb-8"}),ee("div",{className:"flex items-center mt-12"},ee(b.u,{id:"sso-redirect-url",placeholder:"https://your-company.com/sso/rapidr",large:!0,onChange:e=>this.setState({localRedirectUrl:e.target.value}),value:a,autoComplete:"off",autoFocus:!0,onKeyDown:e=>{"Enter"===e.key&&this.saveRedirectUrl()},className:"width-100 mr-8"}),ee(b.E,{large:!0,className:"ml-8",onClick:this.saveRedirectUrl,loading:s}
1,ee(b.S,null,"Save")))))}renderEnableSSO(){const{localSsoActive:e}=this.state;return ee("div",{className:"pl-16 pr-16 pt-24 pb-24"},ee("div",{className:"flex items-center"},ee("span",{className:"bolder"},ee(b.S,null,"Enable SSO")),ee(b.R,{className:"ml-auto mb-0 mr-0 pr-0",large:!0,checked:e,onChange:this.handleEnableSSO})),ee("div",{className:"gray-700 text-wrap pr-64"},"Once you switch SSO on, we'll exclusively use this to authenticate your customers."," ",ee("span",{className:"bold"},"(NOTE: This means that we'll disable all existing authentication mechanisms.)")))}renderDebugger(){const{debuggerDecodedJWT:e}=this.state;return ee("div",{className:"pl-16 pr-16 pt-12 pb-12"},ee("div",{className:"flex items-center bold mb-12"},ee(b.S,null,"Decode your JSON Web Token")),ee(b.X,{className:"width-100 bg-gray-100 mb-12",id:"sso-jwt-token",onChange:e=>this.setState({decodeJWT:e.target.value})}),ee("div",{className:"flex"},ee(b.L,{onClick:this.performDecodeJWT,className:"ml-auto"},ee(b.S,null,"Decode"))),e&&ee(i.Fragment,null,ee(b.q,{className:"mt-12 mb-12"}),ee("pre",{className:"monospace gray-500 text-xs bg-gray-100 pt-8 pb-8 pl-4 pr-4"},JSON.stringify(e,null,2))))}render(){const{company:e}=this.props,t=Object(u.get)(e.features,"sso");return ee("div",null,ee(p.a,null,ee("title",null,"Single Sign-On | Company Settings - Rapidr")),ee("div",{className:"mb-36 gray-600"},this.renderInstructions()),ee("div",{className:"relative"},ee("div",{className:"border border-gray-200 border-radius-4"},this.renderSecretKey(),ee(b.q,null),this.renderRedirectUrl(),ee(b.q,null),this.renderEnableSSO()),ee("div",{className:"text-2xl bolder mt-36"},ee(b.S,null,"JSON Web Token Debugger")),ee("div",{className:"mb-16 gray-700"},"Test your JSON Web Token to see if it's valid."),ee("div",{className:"border border-gray-200 border-radius-4"},this.renderDebugger()),!t&&ee($.a,{featureName:"Single Sign-On"})))}renderInstructions(){const{company:e}=this.props;return ee(i.Fragment,null,ee("p",{className:"mb-16"},ee(b.S,null,"Authenticate your customers seamlessly with Single Sign-On. To learn more on how it works,")," ",ee("a",{className:"color-primary bold",href:"https://help.rapidr.io/article/33-what-is-single-sign-on-sso-and-how-to-implement-it",target:"_blank",rel:"noopener noreferrer nofollow"},ee(b.S,null,"check out the guide")),"."),ee("p",null,"Read"," ",ee(m.a,{as:"/docs/sso",href:"/dev_docs/docs_page",passHref:!0},ee("a",{className:"color-primary bold"}," installation instructions"))," ","to get your SSO up and running for ",e.name," in minutes."))}}var ae=te,se=a("YGsg"),re=a("YssW"),ne=o.a.createElement;function ie(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function oe(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ie(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ie(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const le=re.find((e=>"slack"===e.url_slug)),ce=[{event:"vote.new",eventTitle:"New vote"},{event:"feedback.new",eventTitle:"New feedback"},{event:"comment.new",eventTitle:"New comment"}];class de extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"state",{connections:[],connectionsLoading:!0,showBoardList:{},showEventList:{}}),Object(s.a)(this,"toggleShowBoardList",(e=>{let{dataset:{id:t}}=e.currentTarget;const{showBoardList:a}=this.state,s=a[t];this.setState({showBoardList:oe(oe({},a),{},{[t]:!s})})})),Object(s.a)(this,"toggleShowEventList",(e=>{let{dataset:{id:t}}=e.currentTarget;const{showEventList:a}=this.state,s=a[t];this.setState({showEventList:oe(oe({},a),{},{[t]:!s})})})),Object(s.a)(this,"fetchConnections",(async()=>{const{data:e}=await f.a.get("/admin/settings/company/integrations-data.json?service=slack");var t,a;e.status&&e.data?this.setState({boards:null===(t=e.data)||void 0===t?void 0:t.boards,connections:null===(a=e.data)||void 0===a?void 0:a.connections,connectionsLoading:!1}):this.setState({connectionsLoading:!1,connectionsLoadingError:e.error||"Something went wrong while fetching data"})})),Object(s.a)(this,"toggleBoard",(e=>{let{currentTarget:{dataset:{boardId:t,connectionId:a}}}=e;a=parseInt(a,10),t=parseInt(t,10);const{connections:s}=this.state,r=s.find((e=>e.id===a));r.blacklisted_boards.includes(t)?r.blacklisted_boards=r.blacklisted_boards.filter((e=>e!==t)):r.blacklisted_boards.push(t),this.saveConnectionSettings(r),this.forceUpdate()})),Object(s.a)(this,"toggleEvent",(e=>{let{currentTarget:{dataset:{event:t,connectionId:a}}}=e;a=parseInt(a,10);const{connections:s}=this.state,r=s.find((e=>e.id===a));r.blacklisted_events.includes(t)?r.blacklisted_events=r.blacklisted_events.filter((e=>e!==t)):r.blacklisted_events.push(t),this.saveConnectionSettings(r),this.forceUpdate()})),Object(s.a)(this,"saveConnectionSettings",(async e=>{const{data:t}=await f.a.post("/admin/settings/company/integrations-data.json?service=slack",{connection:e});t.status?Object(D.a)({message:"Saved successfully",intent:"success"}):Object(D.a)({message:t.error||"Something went wrong while saving data",intent:"danger"})})),Object(s.a)(this,"disconnectConnection",(async e=>{let{currentTarget:{dataset:{connectionId:t}}}=e;t=parseInt(t,10);const{connections:a}=this.state,s=a.find((e=>e.id===t));if(!confirm("Are you sure you want to disconnect alerts from this channel?"))return;const{data:r}=await f.a.delete("/admin/settings/company/integrations-data.json",{params:{service:"slack",connection_id:s.id}});r.status?(Object(D.a)({message:"Disconnected successfully",intent:"primary"}),this.setState({connections:a.filter((e=>
1e.id!==s.id))})):Object(D.a)({message:r.error||"Something went wrong while disconnecting",intent:"danger"})}))}componentDidMount(){this.fetchConnections()}renderButton({btn:e="Add to Slack Workspace"}={}){const{host:t,companyId:a}=this.props,s="https://".concat(t,"/admin/settings/company/integrations/?service=slack"),r=encodeURIComponent(JSON.stringify({company_id:a,redirect_url:s})),n=encodeURIComponent("https://rapidr.io/integrations/v1/slack/oauth");return ne(b.L,{anchor:!0,href:"https://slack.com/oauth/v2/authorize?client_id=1338765059812.2660786631414&scope=commands,incoming-webhook&user_scope=&redirect_uri=".concat(n,"&state=").concat(r),target:"_blank"},ne("span",{className:"flex items-center gray-900"},ne("svg",{height:"16",width:"16",className:"mr-12",viewBox:"0 0 122.8 122.8"},ne("path",{d:"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z",fill:"#e01e5a"}),ne("path",{d:"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z",fill:"#36c5f0"}),ne("path",{d:"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z",fill:"#2eb67d"}),ne("path",{d:"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z",fill:"#ecb22e"})),e))}renderNoConnections(){return ne(i.Fragment,null,ne("p",{className:"gray-600 mb-12"},"You haven't authorized any channels for incoming notifications."),this.renderButton({btn:"Authorize Slack channel"}))}renderConnections(){const{connections:e=[],boards:t=[],connectionsLoadingError:a}=this.state;return a||(0===e.length?this.renderNoConnections():ne("div",{className:"border border-radius-4 border-gray-200"},e.map(((e,a)=>{const s=this.state.showBoardList[e.id],r=this.state.showEventList[e.id];return ne(i.Fragment,{key:e.id},0!==a&&ne(b.q,null),ne("div",{className:"pl-16 pr-16 pt-24 pb-24"},ne("div",{className:"flex"},ne("span",{className:"mr-4 gray-900"},"Channel:"),ne("strong",{className:"gray-900"},e.slack_channel),ne("span",{className:"danger ml-auto text-xs bold pointer",onClick:this.disconnectConnection,"data-connection-id":e.id},"disconnect")),ne("div",{className:"flex flex-column mt-24"},ne("div",{className:"flex-1"},ne("h4",{className:"text-base gray-600 bold flex items-center pointer hover:color-primary ",onClick:this.toggleShowEventList,"data-id":e.id},"Filter by event types",ne(b.t,r?{icon:"angle-up",spanClassName:"ml-auto ",className:"text-base"}:{icon:"angle-down",spanClassName:"ml-auto",className:"text-base"})),ne("span",{className:"text-sm gray-600"},"Select event types that are relevant to you for this channel."),r&&ne("div",{className:"border border-radius-4 border-gray-200 pt-12 pb-12 pl-16 pr-16 mt-8"},ce.map(((t,a)=>ne(i.Fragment,{key:a},0!==a&&ne(b.q,{className:"mt-8 mb-8"}),ne("div",{className:"flex items-center"},ne("span",null,t.eventTitle),ne(b.R,{onChange:this.toggleEvent,"data-connection-id":e.id,"data-event":t.event,checked:!e.blacklisted_events.includes(t.event),className:"ml-auto"}))))))),ne("div",{className:"flex-1 mt-24"},ne("div",null,ne("h4",{className:"text-base gray-600 bold flex items-center pointer hover:color-primary",onClick:this.toggleShowBoardList,"data-id":e.id},"Filter by feedback boards",ne(b.t,s?{icon:"angle-up",spanClassName:"ml-auto ",className:"text-base"}:{icon:"angle-down",spanClassName:"ml-auto",className:"text-base"})),ne("span",{className:"text-sm gray-600"},"Select feedback boards that are relevant to you for this channel.")),s&&ne("div",{className:"border border-radius-4 border-gray-200 pt-12 pb-12 pl-16 pr-16 mt-8"},t.map(((t,a)=>ne(i.Fragment,{key:t.id},0!==a&&ne(b.q,{className:"mt-8 mb-8"}),ne("div",{className:"flex items-center"},ne("span",null,t.title),ne(b.R,{onChange:this.toggleBoard,"data-connection-id":e.id,"data-board-id":t.id,checked:!e.blacklisted_boards.includes(t.id),className:"ml-auto"}))))))))))})),ne(b.q,null),ne("div",{className:"pl-16 pr-16 pt-24 pb-24 flex items-center"},ne("span",{className:"gray-600"},"Need notifications in other Slack channels?"),ne("div",{className:"ml-auto"},this.renderButton({btn:"Authorize another channel"})))))}render(){var e;const{connectionsLoading:t,connections:a=[]}=this.state,{company:s}=this.props;return ne("div",{className:"relative"},ne("h1",{className:"text-base bold mb-24"},ne(m.a,{href:"/admin_view/settings/company_settings",as:"/admin/settings/company/integrations"},ne("a",{className:"color-primary"},ne(b.t,{icon:"arrow-left"})," Back"))),ne("p",{className:"text-lg gray-600 mb-24"},le.short_description),ne("h2",{className:"text-xl bold mb-12"},"Capture feedback"),ne("p",{className:"gray-600 mb-8"},"Capture feedback directly from Slack by invoking the slash command"," ",ne("span",{className:"markdown-container"},ne("code",null,"/rapidr"))," ","anywhere in the application."," ",ne("a",{href:"https://help.rapidr.io/article/41-slack-integration",target:"_blank",rel:"noopener noreferrer nofollow",className:"bold color-primary"},"Learn more.")),ne("p",{className:"gray-600 mb-12"},"To install the app, click the button below."),t?ne("div",{className:"color-primary"},ne(b.d,{size:20})):a.length>0?ne("div",{className:"gray-600"},ne(b.t,{icon:"check",className:"green-600 mr-8"})," Nice, you've installed Rapidr on Slack"):ne("div",null,this.renderButton({btn:"Install Slack app"})),ne(b.q,{className:"mt-24 mb-24"}),ne("h2",{className:"text-xl bold mb-8"},"Notifications & alerts"),ne("p",{className:"gray-600 mb-8"}
1,"Receive notifications on new activity."),t?ne("div",{className:"color-primary"},ne(b.d,{size:20})):this.renderConnections(),!(null===s||void 0===s||null===(e=s.features)||void 0===e?void 0:e.slack_integration)&&ne($.a,{featureName:"Slack integration"}))}}var me=de=Object(h.a)((({meta:e,company:t})=>({host:e.host,companyId:t.id,company:t})))(de),ge=o.a.createElement;const pe=re.find((e=>"intercom"===e.url_slug));class ue extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"state",{}),Object(s.a)(this,"fetchData",(async()=>{this.setState({loading:!0});const{data:e}=await f.a.get("/admin/settings/company/integrations-data.json?service=intercom");e.status?this.setState({data:e.data,loading:!1}):this.setState({data:null,loading:!1,loadingError:e.error||"Something went wrong while fetching data"})})),Object(s.a)(this,"disconnectIntegration",(async()=>{if(!confirm("Are you sure you want to disconnect from Intercom?"))return;const{data:{app_id:e}}=this.state,{data:t}=await f.a.delete("/admin/settings/company/integrations-data.json",{params:{service:"intercom",app_id:e}});t.status?(Object(D.a)({message:"Disconnected successfully",intent:"primary"}),await this.fetchData()):Object(D.a)({message:t.error||"Something went wrong while disconnecting. Please try again.",intent:"danger"})}))}componentDidMount(){this.fetchData()}renderButton(){const{host:e,companyId:t}=this.props,a="https://".concat(e,"/admin/settings/company/integrations/?service=intercom"),s=encodeURIComponent(JSON.stringify({company_id:t,redirect_url:a}));return ge(i.Fragment,null,ge("div",{className:"gray-600 mb-8 mb-12"},ge("div",{className:"mb-8"},ge(b.t,{icon:"check",size:16,className:"mr-8 color-primary"}),"Let users send feedback from Messenger"),ge("div",null,ge(b.t,{icon:"check",size:16,className:"mr-8 color-primary"}),"Track feedback and votes from Inbox")),ge(b.L,{anchor:!0,href:"https://app.intercom.com/oauth?client_id=".concat("94e01d6e-f975-4aa1-b3a8-c60fb423a93c","&state=").concat(s),target:"_blank",large:!0,style:{backgroundColor:"#334bfa",border:"none"}},ge("span",{className:"flex items-center gray-100"},ge("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 256 256",className:"mr-8"},ge("path",{d:"M221.867 140.748a8.534 8.534 0 0 1-17.067 0V64a8.534 8.534 0 0 1 17.067 0v76.748zm-2.978 53.413c-1.319 1.129-32.93 27.655-90.889 27.655-57.958 0-89.568-26.527-90.887-27.656a8.535 8.535 0 0 1-.925-12.033 8.53 8.53 0 0 1 12.013-.942c.501.42 28.729 23.563 79.8 23.563 51.712 0 79.503-23.31 79.778-23.545 3.571-3.067 8.968-2.655 12.033.925a8.534 8.534 0 0 1-.923 12.033zM34.133 64A8.534 8.534 0 0 1 51.2 64v76.748a8.534 8.534 0 0 1-17.067 0V64zm42.668-17.067a8.534 8.534 0 0 1 17.066 0v114.001a8.534 8.534 0 0 1-17.066 0v-114zm42.666-4.318A8.532 8.532 0 0 1 128 34.082a8.532 8.532 0 0 1 8.534 8.533v123.733a8.534 8.534 0 0 1-17.067 0V42.615zm42.667 4.318a8.534 8.534 0 0 1 17.066 0v114.001a8.534 8.534 0 0 1-17.066 0v-114zM224 0H32C14.327 0 0 14.327 0 32v192c0 17.672 14.327 32 32 32h192c17.673 0 32-14.328 32-32V32c0-17.673-14.327-32-32-32z",fill:"#fff"})),"Connect with Intercom")))}renderData(){const{data:e}=this.state;return ge("div",null,ge("div",{className:"border border-gray-200 border-radius-4 mb-24"},ge("div",{className:"pt-12 pb-12 pl-16 pr-16"},ge("strong",{className:"mr-8 text-sm letter-spacing-1"},"STATUS:"),ge(b.t,{icon:"circle-check",size:14,className:"green-600"})," Active"),ge(b.q,null),ge("div",{className:"pt-12 pb-12 pl-16 pr-16"},ge("strong",{className:"mr-8 text-sm letter-spacing-1"},"WORKSPACE:"),null===e||void 0===e?void 0:e.app_name," \xa0",ge("span",{className:"gray-400"},"(",null===e||void 0===e?void 0:e.app_id,")")),ge(b.q,null),ge("div",{className:"pt-12 pb-12 pl-16 pr-16"},ge("strong",{className:"mr-8 text-sm letter-spacing-1"},"CONNECTED BY:"),null===e||void 0===e?void 0:e.authenticated_by.name,"\xa0"," ",ge("span",{className:"gray-400"},"(#",null===e||void 0===e?void 0:e.authenticated_by.id,ge("span",{className:"ml-4 mr-4"},"\xb7"),null===e||void 0===e?void 0:e.authenticated_by.email,")"))),ge("div",{className:"mb-4"},ge(b.o,{large:!0,onClick:this.disconnectIntegration},"Disconnect integration")),ge("div",{className:"gray-400"},"Having troubles?"," ",ge("span",{className:"bold pointer hover:color-primary text-underline",onClick:()=>{window.Beacon("navigate","/ask/message"),window.Beacon("open")}},"Contact support.")))}render(){var e;const{data:t,loading:a,loadingError:s}=this.state,{company:r,query:{error:n}={}}=this.props;return ge("div",{className:"relative"},ge("h1",{className:"text-base bold mb-24"},ge(m.a,{href:"/admin_view/settings/company_settings",as:"/admin/settings/company/integrations"},ge("a",{className:"color-primary"},ge(b.t,{icon:"arrow-left"})," Back"))),ge("p",{className:"text-lg gray-600 mb-12"},pe.short_description,"\xa0"," ",ge("a",{href:"https://rapidr.io/integrations/intercom",className:"bold text-underline color-primary"},"Learn more")),ge("p",{className:"text-lg gray-600 mb-12"}),(n||s)&&ge(b.k,{className:"mb-12",intent:b.w.DANGER,icon:null},n||s),a?ge("div",{className:"color-primary"},ge(b.d,{size:20})):ge("div",null,t?this.renderData():this.renderButton()),!(null===r||void 0===r||null===(e=r.features)||void 0===e?void 0:e.intercom_integration)&&ge($.a,{featureName:"Intercom integration"}))}}var he=ue=Object(h.a)((({meta:e,company:t})=>({query:e.query,host:e.host,companyId:t.id,company:t})))(ue),be=o.a.createElement;const _e=re.find((e=>"zapier"===e.url_slug));class ye extends i.Component{render(){var e;const{company:t}=this.props;return be("div",{className:"relative"},be("h1",{className:"text-base bold mb-24"},be(m.a,{href:"/admin_view/settings/company_settings",as:"/admin/settings/company/integrations"},be("a",{className:"color-primary"},be(b.t,{icon:"arrow-left"})," Back"))),be("p",{className:"text-lg gray-600 mb-24"},_e.short_description),be("p",{className:"gray-600 mb-12"},"Our Zapier integration is currently invite-only. However, you can use this"," ",be("a",{className:"bold color-primary",target:"_blank",rel:"noopener noreferrer nofollow",href:"https://zapier.com/developer/public-invite/162221/ec56ab31e54d736f8310191b9a1155a9/"},"link")," ","to access the integration and use it in any zap."),be("p",{className:"gray-600 mb-8"},be(b.t,{icon:"circle-question",className:"mr-8"}),be(m.a,{as:"/admin/settings/company/api",href:"/admin_view/company_settings"},be("span",{className:"bold text-underline pointer hover:color-primary"},"Where can I find my API key?"))),!(null===t||void 0===t||null===(e=t.features)||void 0===e?void 0:e.zapier_integration)&&be($.a,{featureName:"Zapier integration"}))}}var ve=ye=Object(h.a)((({company:e})=>({company:e})))(ye),fe=o.a.createElement;function Ne(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function we(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};
1t%2?Ne(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ne(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const ke=re.find((e=>"jira"===e.url_slug));class Se extends i.Component{constructor(e){super(e),Object(s.a)(this,"fetchData",(async()=>{this.setState({loading:!0});const{data:e}=await f.a.get("/admin/settings/company/integrations-data.json?service=jira");e.status?this.setState({data:e.data,currentRule:this.getDefaultCurrentRule(e.data),loading:!1}):this.setState({data:null,loading:!1,loadingError:e.error||"Something went wrong while fetching data"})})),Object(s.a)(this,"showCreateRule",(()=>{this.setState({showCreateRule:!this.state.showCreateRule})})),Object(s.a)(this,"saveRule",(async()=>{const{data:e,currentRule:t}=this.state;t.action.board_id=parseInt(document.querySelector('[data-key-id="board_id"]').value,10),t.action.status_id=parseInt(document.querySelector('[data-key-id="status_id"]').value,10);const{data:a}=await f.a.post("/admin/settings/company/integrations-data.json?service=jira",{connection_id:e.id,rules:[...e.rules,t]});a.status?(Object(D.a)({message:"Saved successfully",intent:"success"}),this.setState({showCreateRule:!1,currentRule:this.getDefaultCurrentRule(e)}),await this.fetchData()):Object(D.a)({message:a.error||"Something went wrong while saving data",intent:"danger"})})),Object(s.a)(this,"deleteRule",(async e=>{if(!confirm("Confirm delete this rule?"))return;const{dataset:{index:t}}=e.currentTarget,{data:a}=this.state,s=a.rules.filter(((e,a)=>a!=t)),{data:r}=await f.a.post("/admin/settings/company/integrations-data.json?service=jira",{connection_id:a.id,rules:s});r.status?await this.fetchData():Object(D.a)({message:r.error||"Something went wrong while deleting this rule",intent:"danger"})})),Object(s.a)(this,"handleOptionSelect",(e=>{const{value:t,dataset:{context:a,keyId:s,isInt:r}}=e.currentTarget,{currentRule:n}=this.state;n[a][s]=r?parseInt(t,10):t,this.setState({currentRule:we({},n)})})),this.state={loading:!1,loadingError:null,currentRule:{when:{},action:{}},data:{}}}getDefaultCurrentRule(e){return e&&e.jira_statuses&&e.rapidr_boards&&e.rapidr_statuses?{when:{apply_to:"all",jira_status:Object(u.first)(e.jira_statuses)},action:{board_id:Object(u.first)(e.rapidr_boards).id,status_id:Object(u.first)(e.rapidr_statuses[Object(u.first)(e.rapidr_boards).id]).id}}:{currentRule:{when:{},action:{}}}}get jiraWorkflowStatusOptions(){const{loading:e,data:t}=this.state;return e?[]:t.jira_statuses.map((e=>({label:e,value:e})))}get rapidrBoardOptions(){const{loading:e,data:t}=this.state;return e?[]:t.rapidr_boards.map((e=>({label:e.title,value:e.id})))}get rapidrStatusOptions(){const{loading:e,data:t,currentRule:a}=this.state;return e?[]:a&&a.action.board_id?t.rapidr_statuses[a.action.board_id].map((e=>({label:e.title,value:e.id}))):[]}componentDidMount(){this.fetchData()}renderCreateRule(){const{data:{rules:e=[],rapidr_boards:t},currentRule:a}=this.state;let s,r,i,o;for(let n=0;n<e.length;n++){const l=e[n];if(l.action.board_id===a.action.board_id&&l.when.jira_status===a.when.jira_status){r=l,i=n,s=!0,o=Object(u.first)(t.filter((e=>e.id===l.action.board_id))).title;break}}return fe("div",{className:"jsx-3748181884 mt-8 border border-radius-4 border-gray-200 pt-16 pl-12 pr-12 pb-16"},fe(n.a,{id:"3748181884"},[".badge.jsx-3748181884{height:32px;border:1px solid #e4e4e7;border-right:0;border-radius:6px 0 0 6px;display:block;text-align:center;color:#71717a;padding:7px;font-weight:600;}",".caret.jsx-3748181884{-webkit-transform:translate(0px,4px);-ms-transform:translate(0px,4px);transform:translate(0px,4px);height:38px;}"]),fe("div",{className:"jsx-3748181884 bold mb-12"},"Create rule"),fe("div",{className:"jsx-3748181884 flex items-center mb-12"},fe("div",{className:"jsx-3748181884 flex flex-row items-center"},fe("div",{className:"jsx-3748181884 badge"},"WHEN"),fe("div",{className:"jsx-3748181884 caret"},fe("svg",{xmlns:"http://www.w3.org/2000/svg",height:"30",viewBox:"0 0 8 38",className:"jsx-3748181884"},fe("path",{fill:"#fff",d:"M0 0h.3c.4 0 .8.3.9.7l6.7 18c.1.2.1.5 0 .7l-6.7 18c-.1.3-.5.6-.9.6H0V0z",className:"jsx-3748181884"}),fe("path",{fill:"#e4e4e7",d:"M.3 38H0v-1h.3L7 19 .3 1H0V0h.3c.4 0 .8.3.9.7l6.7 18c.1.2.1.5 0 .7l-6.7 18c-.1.3-.5.6-.9.6z",className:"jsx-3748181884"})))),fe("div",{className:"jsx-3748181884 ml-16"},fe(b.M,{options:[{label:"All",value:"all"},{label:"Any",value:"any"}],onChange:this.handleOptionSelect,"data-context":"when","data-key-id":"apply_to"})),fe("div",{className:"jsx-3748181884 ml-4"},fe("div",{className:"jsx-3748181884 inline-flex pt-4 pb-4 pl-8 pr-8 border-radius-4"},"linked Jira issues are changed to")),fe("div",{className:"jsx-3748181884 ml-4"},fe(b.M,{options:this.jiraWorkflowStatusOptions,onChange:this.handleOptionSelect,"data-context":"when","data-key-id":"jira_status"}))),fe("div",{className:"jsx-3748181884 flex items-center mb-12"},fe("div",{className:"jsx-3748181884 flex flex-row items-center"},fe("div",{className:"jsx-3748181884 badge"},"ACTION"),fe("div",{className:"jsx-3748181884 caret"},fe("svg",{xmlns:"http://www.w3.org/2000/svg",height:"30",viewBox:"0 0 8 38",className:"jsx-3748181884"},fe("path",{fill:"#fff",d:"M0 0h.3c.4 0 .8.3.9.7l6.7 18c.1.2.1.5 0 .7l-6.7 18c-.1.3-.5.6-.9.6H0V0z",className:"jsx-3748181884"}),fe("path",{fill:"#e4e4e7",d:"M.3 38H0v-1h.3L7 19 .3 1H0V0h.3c.4 0 .8.3.9.7l6.7 18c.1.2.1.5 0 .7l-6.7 18c-.1.3-.5.6-.9.6z",className:"jsx-3748181884"})))),fe("div",{className:"jsx-3748181884 ml-16"},fe("div",{className:"jsx-3748181884 inline-flex pt-4 pb-4 pl-8 pr-8 border-radius-4"},"change all linked Rapidr feedback in")),fe("div",{className:"jsx-3748181884 ml-4"},fe(b.M,{options:this.rapidrBoardOptions,onChange:this.handleOptionSelect,"data-context":"action","data-key-id":"board_id","data-is-int":"true"})),fe("div",{className:"jsx-3748181884 ml-4"},fe("div",{className:"jsx-3748181884 inline-flex pt-4 pb-4 pl-8 pr-8 border-radius-4"},"board to")),fe("div",{className:"jsx-3748181884 ml-4"},fe(b.M,{options:this.rapidrStatusOptions,onChange:this.handleOptionSelect,"data-context":"action","data-key-id":"status_id","data-is-int":"true"}))),s&&fe("div",{className:"jsx-3748181884 mb-12"},fe(b.k,{intent:b.w.WARNING,icon:null,className:"mt-16"},fe("p",{className:"jsx-3748181884 bold gray-800"},fe(b.t,{icon:"triangle-exclamation",className:"mr-4"}),"We found a conflicting rule"),fe("p",{className:"jsx-3748181884 gray-500"},"It appears that there is already a rule in place that links the"," ",fe("strong",{className:"jsx-3748181884"},'Jira "',r.when.jira_status,'"')," ","status to the ",fe("strong",{className:"jsx-3748181884"},'"',o,'" board'),". To ensure predictable outcomes, we recommend removing the existing rule before creating a new one."),this.renderRule(r,i))),fe("div",{className:"jsx-3748181884 flex"},fe(b.L,{className:"mr-8 ml-auto",onClick:this.showCreateRule},"Cancel"),fe(b.E,{onClick:this.saveRule},s?"Save anyway":"Save rule")))}renderRule(e,t){var a;const{when:{jira_status:s,apply_to:r}
1,action:{board_id:n,status_id:i}}=e,{data:{rapidr_boards:o,rapidr_statuses:l}}=this.state,c=(null===(a=Object(u.first)(o.filter((e=>e.id===n))))||void 0===a?void 0:a.title)||"Deleted board";let d="Deleted status";var m;l[n]&&(d=(null===(m=Object(u.first)(l[n].filter((e=>e.id===i))))||void 0===m?void 0:m.title)||"Deleted status");return fe("div",{key:t,className:"border border-radius-4 border-gray-200 mt-12 markdown-container bg-white"},fe("div",{className:"flex pt-16 pb-12 pl-16 pr-16"},fe("span",{className:"bold mr-8"},"Rule #",t+1),fe("div",{className:"ml-auto gray-700 hover:danger pointer text-sm",onClick:this.deleteRule,"data-index":t},fe(b.t,{icon:"trash",size:12}),fe("span",{className:"ml-4"},"Delete"))),fe("div",{className:"mb-4 pt-4 pb-4 pl-16 pr-16"},fe("span",{className:"bold gray-500 mr-8"},"When... ",fe(b.t,{icon:"arrow-right",size:12})),fe("code",null,Object(u.startCase)(r))," linked Jira issues are changed to"," ",fe("code",null,s)),fe("div",{className:"pt-4 pb-16 pl-16 pr-16"},fe("span",{className:"bold gray-500 mr-8"},"Action... ",fe(b.t,{icon:"arrow-right",size:12})),"change all linked Rapidr feedback in ",fe("code",null,c)," board to"," ",fe("code",null,d)))}renderHowRulesWork(){return fe("div",{className:"pt-16 pb-16 pr-16 pl-16 border border-radius-4 border-gray-200 mt-12",id:"help"},fe("div",{className:"bold gray-800 mb-12 inline-flex items-center"},fe(b.t,{icon:"circle-info",size:16,className:"mr-8"}),"How does rules work?"),fe("p",{className:"mb-12 gray-500"},"Rules help you maintain control by outlining how changes in status for any Jira issue affect feedback in Rapidr."),fe("p",{className:"mb-12 gray-500"},"For illustration, if the ",fe("b",null,"AB-236")," issue is moved to"," ",fe("b",null,"'In Progress'")," in Jira, the rules defined here will automatically change the status of all linked feedback in Rapidr to"," ",fe("b",null,"'Doing'"),"."))}render(){var e;const{company:t,user:a}=this.props,{loading:s,loadingError:r,showCreateRule:n,data:{id:o,base_url:l,rules:c}}=this.state;return fe("div",{className:"relative"},fe("h1",{className:"text-base bold mb-24"},fe(m.a,{href:"/admin_view/settings/company_settings",as:"/admin/settings/company/integrations"},fe("a",{className:"color-primary"},fe(b.t,{icon:"arrow-left"})," Back"))),fe("p",{className:"text-lg gray-600 mb-24"},ke.short_description),r&&fe(b.k,{className:"mb-12",intent:b.w.DANGER,icon:null},r),s&&fe(b.d,{size:16,className:"color-primary"}),!s&&(o?fe(i.Fragment,null,fe("div",{className:"inline-flex flex-column"},fe("div",{className:"bold mb-4"},"Your Jira account is connected"),fe("div",{className:"border border-radius-4 border-gray-200 inline-flex items-center"},fe("div",{className:"pt-8 pb-8 pr-8 pl-8 inline-flex items-center border-radius-4 bg-gray-100"},fe("img",{src:ke.icon_url,height:"18"})),fe("div",{className:"pl-8 pr-8"},fe("a",{className:"hover:text-underline",target:"_blank",rel:"noopener noreferrer",href:l},l)))),fe(b.q,{className:"mt-24 mb-24"}),fe("div",null,fe("div",{className:"mb-12 flex items-center"},fe("div",{className:"bold"},fe("span",null,"Rules to sync status"),fe("a",{href:"#help"},fe(b.t,{icon:"circle-info",size:14,className:"ml-4"}))),fe("div",{className:"color-primary bold hover:text-underline pointer ml-auto",onClick:this.showCreateRule},fe(b.t,{icon:"plus",size:14})," Create Rule")),n&&this.renderCreateRule(),c.map(((e,t)=>this.renderRule(e,t))),this.renderHowRulesWork())):fe("div",{className:"pt-16 pb-16 pl-24 pr-24 border border-radius-4 border-gray-200"},fe("div",{className:"bold gray-800 mb-12"},"Connect Jira account"),fe("p",{className:"mb-12 gray-500"},"To use this integration, you need to connect your Jira account."," ",fe("a",{href:"https://help.rapidr.io/article/42-jira-integration",target:"_blank",rel:"noopener noreferrer",className:"bold text-underline hover:text-underline hover:color-primary"},"Here is a step-by-step guide")," ","on how to do so."),fe("p",{className:"mb-12 gray-500"},"When prompted, use the following details to connect Jira with Rapidr."),fe("div",null,fe("div",{className:"border-radius-4 inline-flex border border-gray-200"},fe("div",{className:"pl-12 pr-12 pt-4 pb-4 bg-gray-100 border-radius-4"},fe("div",{className:"bold gray-500"},"Subdomain")),fe("div",{className:"pl-12 pr-12 pt-4 pb-4"},fe("div",{className:""},t.subdomain))),fe("div",{className:"border-radius-4 inline-flex border border-gray-200 ml-24"},fe("div",{className:"pl-12 pr-12 pt-4 pb-4 bg-gray-100 border-radius-4"},fe("div",{className:"bold gray-500"},"Email")),fe("div",{className:"pl-12 pr-12 pt-4 pb-4"},fe("div",{className:""},a.email)))))),!(null===t||void 0===t||null===(e=t.features)||void 0===e?void 0:e.jira_integration)&&fe($.a,{featureName:"Jira integration"}))}}var Oe=Se=Object(h.a)((({company:e,user:t})=>({company:e,user:t})))(Se),je=a("NwIi"),xe=a.n(je),Ce=o.a.createElement;function Ee(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function De(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};
1t%2?Ee(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ee(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const Re=re.find((e=>"hubspot"===e.url_slug));class Ie extends i.Component{constructor(e){super(e),Object(s.a)(this,"fetchData",(async()=>{this.setState({loading:!0});const{data:e}=await f.a.get("/admin/settings/company/integrations-data.json?service=hubspot");e.status?this.setState({data:e.data,loading:!1,localCanSyncContacts:e.data.canSyncContacts}):this.setState({data:null,loading:!1,loadingError:e.error||"Something went wrong while fetching data"})})),Object(s.a)(this,"disconnectHubspot",(async e=>{let{currentTarget:{dataset:{connectionId:t}}}=e;t=parseInt(t,10);if(!confirm("All your synced data will be deleted. Sure you want to disconnect the HubSpot integration?"))return;const{data:a}=await f.a.delete("/admin/settings/company/integrations-data.json",{params:{service:"hubspot",connection_id:t}});a.status?Object(D.a)({message:"Disconnected successfully",intent:"primary"}):Object(D.a)({message:a.error||"Something went wrong while disconnecting",intent:"danger"}),c.a.reload()})),this.state={loading:!0}}componentDidMount(){this.fetchData()}renderButton({btn:e="Connect with HubSpot"}={}){const{host:t,companyId:a}=this.props,s="https://".concat(t,"/admin/settings/company/integrations/?service=hubspot"),r=encodeURIComponent(JSON.stringify({company_id:a,redirect_url:s})),n=encodeURIComponent("https://".concat("rapidr.io","/integrations/v1/hubspot/oauth"));return Ce(b.L,{anchor:!0,href:"https://app.hubspot.com/oauth/authorize?client_id=0daca51a-4749-4202-8de9-ab4fe28aefb9&scope=crm.objects.contacts.read%20crm.objects.deals.read&redirect_uri=".concat(n,"&state=").concat(r),target:"_blank"},Ce("span",{className:"flex items-center gray-900"},Ce("img",{src:Object(N.a)(Re.icon_url),className:v()(xe.a.hubspotIcon,"mr-4")}),e))}renderConnected(){const{data:e}=this.state,{syncableFields:t}=e,{localCanSyncContacts:a,localSyncedFieldsSearch:s}=this.state;return Ce("div",null,Ce("div",{className:"border border-radius-6 border-gray-200 pl-16 pr-16 pt-12 pb-12 flex items-center"},Ce("div",null,Ce(b.t,{icon:"check",size:16,className:"mr-8 green-600"}),Ce("span",{className:"bold gray-700"},"Connected with HubSpot")),Ce("div",{className:"ml-auto"},Ce(b.L,{onClick:this.disconnectHubspot,"data-connection-id":e.id},"Disconnect"))),Ce("div",{className:"border border-radius-6 border-gray-200 pl-16 pr-16 pt-12 pb-12 flex flex-column mt-16"},Ce("div",{className:"flex items-center"},Ce("div",{className:"flex flex-column"},Ce("div",{className:"bold"},"Sync HubSpot contact fields"),Ce("div",{className:"mt-4 gray-400"},"Choose the contact fields you wish to sync with Rapidr. Please ensure data fields in Rapidr have matching names. Example,"," ",Ce("b",null,"total_revenue")," in HubSpot should be ",Ce("b",null,"total_revenue")," ","in Rapidr.")),Ce("div",{className:"ml-auto"},Ce(b.R,{className:"mb-0 mr-0 pr-0",large:!0,checked:a,onChange:async()=>{const t=!a;this.setState({localCanSyncContacts:!a});const{data:s}=await f.a.post("/admin/settings/company/integrations-data.json?service=hubspot",{connection_id:e.id,action:"canSyncContacts",value:t});s.status||Object(D.a)({message:"Something went wrong while saving",intent:"danger"})}}))),a&&Ce(i.Fragment,null,Ce("div",{className:"border-top border-gray-200 mt-12 pt-12"},Ce("div",null,Ce(b.u,{type:"text",onChange:e=>{this.setState({localSyncedFieldsSearch:e.target.value})},placeholder:"Search field by name or attribute",className:"width-100"}))),Ce("div",{className:v()(xe.a.syncableFields,"mt-8 pt-12")},t.map((e=>s&&-1===e.name.indexOf(s.toLowerCase())&&-1===e.label.toLowerCase().indexOf(s.toLowerCase())?null:Ce("div",{key:e.name},Ce(b.m,{checked:e.selected,className:"inline-block! gray-600",onClick:async()=>{const{data:t}=this.state,{syncableFields:a}=t,s=a.map((t=>t.name===e.name?De(De({},t),{},{selected:!t.selected}):t));this.setState({data:De(De({},t),{},{syncableFields:s})});const{data:r}=await f.a.post("/admin/settings/company/integrations-data.json?service=hubspot",{connection_id:t.
1id,action:"addSyncedField",field:e.name});r.status||Object(D.a)({message:"Something went wrong while saving",intent:"danger"})}}),Ce("span",{className:"bold gray-700"},e.label),Ce("span",{className:"gray-500 ml-8"},e.name))))))))}render(){var e;const{company:t}=this.props,{loading:a,data:s}=this.state;return Ce("div",{className:"relative"},Ce("h1",{className:"text-base bold mb-24"},Ce(m.a,{href:"/admin_view/settings/company_settings",as:"/admin/settings/company/integrations"},Ce("a",{className:"color-primary"},Ce(b.t,{icon:"arrow-left"})," Back"))),Ce("p",{className:"text-lg gray-600 mb-12"},Re.short_description),a?Ce("div",null,Ce(b.d,{className:"color-primary",size:16})):(null===s||void 0===s?void 0:s.connected)?this.renderConnected():Ce("div",null,this.renderButton(),Ce(b.C,{minimal:!0,interactionKind:"hover",popoverClassName:"push-down",content:Ce("div",{className:"pt-12 pb-12 pl-16 pr-16"},"Capture user feedback, enrich customer data ",Ce("br",null),"and view feature requests inside HubSpot. ",Ce("br",null),Ce("a",{href:"#",target:"_blank",rel:"noopener noreferrer nofollow",className:"bold color-primary"},"Learn more."))},Ce("a",{href:"https://help.rapidr.io/article/47-hubspot-integration",className:"ml-12 text-underline gray-600",target:"_blank",rel:"noopener noreferrer"},"How does this work?"))),!(null===t||void 0===t||null===(e=t.features)||void 0===e?void 0:e.hubspot_integration)&&Ce($.a,{featureName:"Hubspot integration"}))}}var ze=Ie=Object(h.a)((({meta:e,company:t})=>({host:e.host,companyId:t.id,company:t})))(Ie),Te=o.a.createElement;function Ae(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function Pe(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ae(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ae(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}const Fe={slack:me,intercom:he,zapier:ve,jira:Oe,hubspot:ze},Le=["active_directory","okta","onelogin"];class Be extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"handleClick",(e=>{const{dataset:{urlSlug:t}}=e.currentTarget,{query:a={},path:s}=this.props;Le.includes(t)?c.a.push("/admin_view/settings/company_settings","/admin/settings/company/saml"):c.a.push("/admin_view/settings/company_settings",{pathname:s,query:Pe(Pe({},a),{},{service:t})})}))}render(){const{company:e,query:{service:t=""}={}}=this.props;if(Le.includes(t))return c.a.push("/admin_view/settings/company_settings","/admin/settings/company/saml"),null;if(t&&Fe[t]){return Te(Fe[t],null)}return Te("div",null,Te("p",{className:"text-lg gray-600 mb-24"},Te(b.S,null,"Connect your favorite services with Rapidr.")),Te("div",{className:"border border-gray-200 border-radius-4"},re.map(((t,a)=>{var s;const r=null===e||void 0===e||null===(s=e.features)||void 0===s?void 0:s["".concat(t.url_slug,"_integration")];return Te(i.Fragment,{key:t.url_slug},0!==a&&Te(b.q,null),Te("div",{className:v()("flex items-center width-100 border-radius-4 hover:bg-gray-000 pl-16 pr-16 pt-24 pb-24",t.coming_soon||!t.active?"opacity-0.5 disabled":"pointer",!r&&"not-allowed"),"data-url-slug":t.url_slug,onClick:t.active&&r?this.handleClick:null},Te("img",{src:t.icon_url,className:"mr-8",height:"24",width:"24"}),Te("h3",{className:"bold color-link text-lg"},t.name,t.coming_soon&&Te("span",{className:"ml-8 text-xxs gray-500 border-radius-24"},Te(b.S,null,"Coming Soon"))),!r&&Te(j.a,{className:"ml-24"}),Te("div",{className:"ml-auto"},t.tags.map((e=>Te("span",{key:e,className:"bg-gray-100 gray-500 border-radius-24 text-sm bold ml-4 pl-8 pr-8 pt-4 pb-4"},e))))))}))))}}var Ue=Be=Object(h.a)((({company:e,meta:t})=>({company:e,query:t.query,path:t.path,url:t.url})))(Be),qe=o.a.createElement;class Me extends i.Component{constructor(e){super(e),Object(s.a)(this,"generateApiKey",(async()=>
1{if(this.state.apiKey){if(!confirm("All your current integrations depending on the current API key will stop working. Are you sure you want to proceed?"))return}this.setState({loading:!0});try{await f.a.post(Object(k.d)())}catch(s){if(s.response)return this.setState({loading:!1}),Object(D.a)({message:s.response.error,intent:b.w.DANGER});console.error(s)}const{dispatch:e}=this.props,t=await Object(S.h)(),{data:a}=null===t||void 0===t?void 0:t.data;e(Object(O.b)(a)),this.setState({loading:!1})})),this.state={loading:!1}}static getDerivedStateFromProps(e,t){var a;return{apiKey:null===(a=e.company.settings)||void 0===a?void 0:a.api_key}}render(){const{apiKey:e,loading:t}=this.state;return e?qe("div",null,qe("p",{className:"text-lg"},"You can use the API key to programmatically access and make changes to your Rapidr account. ",qe("strong",null,"Please keep this key secret.")),qe(b.r,{label:"API Key",labelFor:"api-key",className:"mt-12"},qe(b.v,{id:"api-key",disabled:!0,large:!0,value:e,autoComplete:"off"})),qe("div",{className:"flex items-center"},qe(b.L,{onClick:t=>{t.preventDefault(),Object(N.b)(e)}},qe(b.t,{icon:"copy",className:"mr-4"}),qe(b.S,null,"Copy")),qe(b.L,{className:"ml-8",onClick:this.generateApiKey,loading:t},qe(b.t,{icon:"arrows-rotate",className:"mr-4"}),qe(b.S,null,"Regenerate")))):qe("div",null,qe("p",{className:"text-lg"},"You can use the API key to programmatically access and make changes to your Rapidr account. ",qe("b",null,"Please keep this key secret.")),qe("p",{className:"text-lg mt-12"},"You don't have an API key yet."," ",qe("span",{className:"bold text-underline pointer hover:color-primary",onClick:this.generateApiKey},qe(b.S,null,"Generate one now."))))}}var He=Me,Ke=a("wx14"),We=a("53Kp"),Ve=o.a.createElement;class Je extends i.Component{render(){return Ve("div",null,Ve("p",{className:"text-lg gray-600 mb-24"},"Group users based on attributes and traits for targeted feedback filtering."),Ve(Ge,this.props))}}class Ge extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"state",{dialogIsOpen:!1,userCounts:null}),Object(s.a)(this,"toggleDialog",(()=>{this.setState({dialogIsOpen:!this.state.dialogIsOpen,editingSegmentKey:null})})),Object(s.a)(this,"editSegment",(e=>{const{dataset:{segmentKey:t}}=e.currentTarget;this.setState({editingSegmentKey:t,dialogIsOpen:!0})})),Object(s.a)(this,"deleteSegment",(async e=>{var t;if(!confirm("Are you sure you want to delete this segment?"))return;const{dataset:{segmentKey:a}}=e.currentTarget,{company:s}=this.props,r=((null===s||void 0===s||null===(t=s.settings)||void 0===t?void 0:t.user_segments)||[]).filter((e=>e.key!==a));try{const{data:e}=await f.a.post(Object(k.f)(),{settings:{user_segments:r}});if(null===e||void 0===e?void 0:e.status){const{data:e}=await Object(S.h)(),{dispatch:t}=this.props;t(Object(O.b)(e.data))}}catch(n){console.error(n),Object(D.a)({message:"Something went wrong while saving the segment",intent:b.w.DANGER})}})),Object(s.a)(this,"fetchUserCounts",(async e=>{const{company:t}=this.props,{user_segmentation:a}=t.features;if(a){var s,r;const e=null!==(s=null===t||void 0===t||null===(r=t.settings)||void 0===r?void 0:r.user_segments)&&void 0!==s?s:[],a=await Promise.all(e.map((e=>f.a.get("/admin/participants.json/?tab=users&user_segment_key=".concat(e.key,"&limit=0&offset=0"))))),o={};for(let t=0;t<e.length;t++){var n,i;o[e[t].key]=null===(n=a[t].data)||void 0===n||null===(i=n.data)||void 0===i?void 0:i["participants/load/total_user_count"]}this.setState({userCounts:o})}}))}componentDidMount(){this.fetchUserCounts()}render(){var e,t;const{company:a}=this.props,{user_segmentation:s}=a.features,{dialogIsOpen:r,editingSegmentKey:n,userCounts:o}=this.state,l=null!==(e=null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.user_segments)&&void 0!==e?e:[];let c=null;n&&(c=l.find((e=>e.key===n)));const d=(null===l||void 0===l?void 0:l.length)>0;return Ve("div",{className:"relative"},Ve("div",{className:"flex pl-12 pr-12 pt-12 pb-12"},Ve("span",{className:"bold color-primary pointer hover:text-underline",onClick:this.toggleDialog},Ve(b.t,{icon:"plus",size:14,className:"mr-4"})," ",Ve(b.S,null,"Create new segment"))),!d&&Ve("div",{className:"border border-radius-4 border-gray-200 pl-16 pr-16 pt-12 pb-12"},Ve("div",{className:"gray-400"},Ve(b.S,null,"No segments yet!"))),r&&Ve(We.a,Object(Ke.a)({isOpen:r,onClose:this.toggleDialog,editingSegment:c},this.props)),d&&Ve("div",{className:"border border-radius-4 border-gray-200"},l.map(((e,t)=>Ve(i.Fragment,{key:e.key},Ve("div",{className:"flex items-center pl-16 pr-16 pt-12 pb-12"},Ve("div",{className:"bold gray-600"},Ve("span",null,e.name),o&&Ve("span",null,Ve("span",{className:"ml-8 mr-8"},"\xb7"),Ve(m.a,{href:"/admin_view/participants/participants_listing",as:"/admin/participants?tab=users&user_segment_key=".concat(e.key)},Ve("a",{className:"color-primary hover:text-underline"},o[e.key]," ",Object(w.pluralize)("user","users",o[e.key]))))),Ve("div",{className:"ml-24"},Ve(b.Z,{content:b.S.t("Edit segment"),position:"top",minimal:!0},Ve(b.t,{icon:"pencil",className:"gray-500 hover:gray-700 mr-4 pointer",size:16,onClick:this.editSegment,"data-segment-key":e.key})),Ve(b.Z,{content:b.S.t("Delete segment"),position:"top",minimal:!0},Ve(b.t,{icon:"trash",className:"gray-500 hover:danger ml-4 pointer",size:16,"data-segment-key":e.key,onClick:this.deleteSegment})))),t!==l.length-1&&Ve(b.q,{className:"ml-12 mr-12"}))))),!s&&Ve(i.Fragment,null,Ve($.a,{featureName:"user segments"}),Ve("div",{className:"pb-64 mb-64"})))}}var Ye=Je,Ze=o.a.createElement;class Xe extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"state",{loading:!1}),Object(s.a)(this,"generateSecretKey",(async()=>{this.setState({loading:!0});try{await f.a.post(Object(k.g)());const{data:e}=await Object(S.h)(),{dispatch:t}=this.props;t(Object(O.b)(e.data))}catch(e){console.error(e)}this.setState({loading:!1})}
1)),Object(s.a)(this,"handleEnforceIdentity",(async()=>{const{company:e,dispatch:t}=this.props,{settings:{enforce_identity_verification:a}={}}=e,{data:s}=await f.a.post(Object(k.f)(),{settings:{enforce_identity_verification:!a}});if(s.status&&s.error)return void Object(D.a)({message:s.error,intent:"error"});const{data:r}=await Object(S.h)();t(Object(O.b)(r.data))}))}render(){var e,t;const{company:a}=this.props,{loading:s}=this.state,r=null===a||void 0===a||null===(e=a.settings)||void 0===e?void 0:e.identity_verification_secret_key,i=null===a||void 0===a||null===(t=a.settings)||void 0===t?void 0:t.enforce_identity_verification,o=(null===r||void 0===r?void 0:r.length)>0;return Ze("div",null,Ze("div",{className:"flex items-center mb-12"},Ze("div",{className:"gray-700 bold"},Ze(b.S,null,"Identity verification"))),Ze("div",{className:"border border-radius-4 border-gray-200"},Ze("div",{className:"flex items-center"},Ze("div",{className:"pt-12 pb-12 pl-8 pr-8 bold gray-500 letter-spacing-0.5 text-sm"},Ze(b.S,null,"SECRET KEY")),o&&Ze("div",{className:"pt-12 pb-12 pl-8 pr-8 monospace"},r,Ze("span",{onClick:()=>{Object(N.b)(r),Object(D.a)({message:"Successfully copied to your clipboard"})},className:"ml-8 pointer gray-400 hover:color-primary",title:"Copy to clipboard"},Ze(b.t,{icon:"copy",className:"mr-4"}))),o&&Ze("div",{className:"ml-auto pt-12 pb-12 pl-8 pr-8"},Ze("span",{onClick:this.generateSecretKey,className:"color-primary pointer hover:text-underline bold"},Ze(b.t,{icon:"arrows-rotate",className:"mr-4"}),Ze(b.S,null,"Regenerate"))),!o&&Ze("div",{className:"ml-auto pt-12 pb-12 pl-8 pr-8"},Ze("span",{onClick:this.generateSecretKey,className:"color-primary pointer hover:text-underline bold"},Ze(b.t,{icon:"arrows-rotate",className:"mr-4"}),Ze(b.S,null,"Generate")))),Ze(b.q,null),Ze("div",{className:"flex items-center"},Ze("div",{className:"pt-12 pb-12 pl-8 pr-8 bold gray-500 letter-spacing-0.5 text-sm"},Ze(b.S,null,"ENFORCE IDENTITY VERIFICATION"),Ze(b.Z,{content:Ze("div",{className:"jsx-3947448545 maxWidth"},Ze(n.a,{id:"3947448545"},[".maxWidth.jsx-3947448545{max-width:300px;}"]),"Identity verification prevents third parties from impersonating your logged-in users. We strongly recommend enabling this option."),position:"top"},Ze(b.t,{icon:"circle-question",className:"ml-4"}))),Ze("div",{className:"ml-auto"},o?Ze(b.R,{onChange:this.handleEnforceIdentity,checked:i,large:!0,key:"switch"}):Ze(b.Z,{content:b.S.t("Generate a secret key first"),position:"top"},Ze(b.R,{onChange:this.handleEnforceIdentity,checked:i,large:!0,disabled:!0,key:"switch"}))))))}}var Qe=Xe,$e=o.a.createElement;function et(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function tt(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?et(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):et(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}class at extends i.Component{constructor(e){super(e),Object(s.a)(this,"getFormatOptions",(()=>[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"True or false",value:"boolean"},{label:"Date",value:"date"}])),Object(s.a)(this,"getPlaceholderText",(()=>{const{appliesTo:e}=this.props;return"user"===e?"eg. name, type, last_login_at, critical_action_performed etc.":"eg. plan_name, revenue, MRR, LTV, ACV, company_name etc."})),Object(s.a)(this,"handleKey",(e=>{const t=e.target.value,a=(e=>0===e.length?"Key is required":null)(t);this.setState({key:t,keyError:a})})),Object(s.a)(this,"handleFormat",(e=>{const t=e.target.value;this.setState({format:t})})),Object(s.a)(this,"createTrait",(async()=>{const{key:e,format:t,keyError:a}=this.state,{dispatch:s,onClose:r,company:n,appliesTo:i}=this.props;if(a)return;const o="user"===i?"user_traits":"account_traits",l=Object(u.get)(n,"settings.".concat(o))||{};if(l[e])return void this.setState({keyError:"This trait already exists"});this.setState({loading:!0});const{data:c}=await f.a.post(Object(k.f)(),{settings:{[o]:tt(tt({},l),{},{[e]:t})}});if(!c.status)return Object(D.a)({message:c.error||"Something went wrong",intent:b.w.DANGER}),void this.setState({loading:!1});const{data:d}=await Object(S.h)();s(Object(O.b)(d.data)),this.setState({key:"",keyError:null,loading:!1,format:"text"}),r()})),this.state={format:"text",key:"",keyError:null}}render(){const{isOpen:e,onClose:t}=this.props,{key:a,keyError:s,format:r,loading:n}=this.state;return $e(b.p,{isOpen:e,onClose:t,title:b.S.t("Create new trait")},$e("div",{className:b.n.DIALOG_BODY},$e("div",{className:"flex flex-column"},$e(b.r,{label:b.S.t("Key"),labelFor:"key",helperText:s,intent:s&&b.w.DANGER},$e(b.v,{id:"key",placeholder:this.getPlaceholderText(),onChange:this.handleKey,value:a,autoComplete:"off",autoFocus:!0,"data-1p-ignore":!0})),$e(b.r,{label:b.S.t("Format"),labelFor:"format"},$e(b.M,{options:this.getFormatOptions(),value:r,onChange:this.handleFormat})))),$e("div",{className:b.n.DIALOG_FOOTER},$e("div",{className:b.n.DIALOG_FOOTER_ACTIONS},$e(b.L,{className:"ml-auto",onClick:this.createTrait,disabled:s||n,loading:n},$e(b.S,null,"Create")))))}}var st=at,rt=o.a.createElement;function nt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,s)}return a}function it(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};
1t%2?nt(Object(a),!0).forEach((function(t){Object(s.a)(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):nt(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}class ot extends i.Component{render(){return rt("div",{className:"relative"},rt("p",{className:"text-lg gray-600 mb-24"},"Create and track custom data that matters to your business"),rt("div",{className:"mb-16"},rt("a",{href:"https://help.rapidr.io/article/43-send-custom-user-attributes-traits-to-rapidr",target:"_blank",rel:"noopener noreferrer",className:"bold color-primary hover:text-underline"},rt(b.t,{icon:"book",className:"mr-4",size:14})," Learn how to send data to Rapidr"),rt("span",{className:"ml-12 mr-12"},"\u2022"),rt("a",{className:"bold color-primary hover:text-underline",href:"/docs/identify",target:"_blank",rel:"noopener noreferrer"},rt(b.t,{icon:"code",className:"mr-4",size:14}),rt(b.S,null,"Identify developer documentation"))),rt(b.q,{className:"mt-24 mb-24"}),rt(Qe,this.props),rt(b.q,{className:"mt-36 mb-24"}),rt(lt,Object(Ke.a)({},this.props,{title:"User traits",appliesTo:"user",description:rt("div",{className:"gray-500 mb-24"},"User Traits are attributes that belong to the user. They include facts about your customers \u2014 like the plan someone is on, or when they signed up. You can use these to segment your users, and to create powerful user profiles.")})),rt(b.q,{className:"mt-36 mb-24"}),rt(lt,Object(Ke.a)({},this.props,{title:"Account traits",appliesTo:"account",description:rt("div",{className:"gray-500 mb-24"},"Account Traits are attributes that belong to the company or account of the user. They include important SaaS metrics that can be summed up, such as revenue (MRR, ARR, ACV), lifetime value, etc.")})))}}class lt extends i.Component{constructor(...e){super(...e),Object(s.a)(this,"state",{dialogIsOpen:!1}),Object(s.a)(this,"toggleDialog",(()=>{this.setState({dialogIsOpen:!this.state.dialogIsOpen})})),Object(s.a)(this,"removeTrait",(async e=>{var t,a;const{dispatch:s,company:r,appliesTo:n}=this.props,{key:i}=e.currentTarget.dataset,o="user"===n?"user_traits":"account_traits",l=[];if(null===(t=r.settings)||void 0===t||null===(a=t.user_segments)||void 0===a||a.forEach((e=>{e.filters[n].some((e=>e.name===i))&&l.push({name:e.name,key:e.key})})),l.length>0){const e=Object(w.pluralize)("segment","segments",l.length);return void Object(D.a)({message:rt("div",{className:"markdown-container"},rt("p",null,"This trait is used in the following ",e,". Please remove it from the ",e," before deleting it."),rt("ul",{className:"mt-8"},l.map((e=>rt("li",{className:"mb-4",key:e.key},e.name)))),rt("div",{className:"mt-8"},rt("a",{href:"/admin/settings/company/user-segments",className:"color-link bold"},rt(b.S,null,"Review user segments")," \u2197"))),intent:b.w.DANGER,timeout:1e4})}if(!confirm(b.S.t("Are you sure you want to delete this trait?")))return;const{data:c}=await f.a.post(Object(k.f)(),{settings:{[o]:it(it({},Object(u.get)(r,"settings.".concat(o))||{}),{},{[i]:void 0})}});if(!c.status)return void Object(D.a)({message:c.error||"Something went wrong",intent:b.w.DANGER});const{data:d}=await Object(S.h)();s(Object(O.b)(d.data))}))}render(){const{dispatch:e,company:t,title:a,appliesTo:s,description:r}=this.props,n=Object(u.get)(t,"settings.".concat(s,"_traits"))||{},o=Object.keys(n),l=o.length>0,{dialogIsOpen:c}=this.state;return rt("div",null,rt(st,{isOpen:c,onClose:this.toggleDialog,appliesTo:s,dispatch:e,company:t}),rt("div",{className:"gray-700 bold mb-12"},a,rt("span",{className:"ml-16 color-primary pointer",onClick:this.toggleDialog},rt(b.t,{icon:"plus",className:"mr-4"}),rt(b.S,null,"Add trait"))),r,l&&rt("div",{className:"border border-radius-4 border-gray-200 flex flex-column"},o.map(((e,t)=>rt(i.Fragment,{key:"".concat(e,"-").concat(t)},rt("div",{key:t,className:"flex pl-16 pr-16 pt-12 pb-12"},rt("div",{className:"bold gray-700"},e),rt("div",{className:"gray-500 ml-16"},n[e]),rt("div",{className:"ml-16"},rt(b.t,{icon:"trash",className:"hover:danger pointer",onClick:this.removeTrait,"data-key":e}))),t!==o.length-1&&rt(b.q,{className:"ml-12 mr-12"}))))))}}var ct=ot,dt=o.a.createElement;class mt extends i.Component{constructor(e){super(e),Object(s.a)(this,"saveSamlSso",(async()=>{const{idpUrl:e,cert:t,issuer:a}=this.state;if(!e||!t)return;this.setState({loading:!0});const{data:s}=await f.a.post("/api/v1/company/saml-sso.json",{idpUrl:e,cert:t,issuer:a});if(!s.status)return Object(D.a)({message:s.error,intent:b.w.danger}),void this.setState({loading:!1});const{dispatch:r}=this.props,n=await Object(S.h)(),{data:i}=null===n||void 0===n?void 0:n.data;r(Object(O.b)(i)),this.setState({loading:!1})}
1)),Object(s.a)(this,"handleCert",(e=>{const{value:t}=e.target;this.setState({cert:t})})),Object(s.a)(this,"handleIdpUrl",(e=>{const{value:t}=e.target;this.setState({idpUrl:t,idpUrlError:null})})),Object(s.a)(this,"validateIDPUrl",(()=>{const{idpUrl:e}=this.state;try{new URL(e)}catch(t){this.setState({idpUrlError:"Invalid URL"})}}));const{settings:{saml:t={}}={}}=e.company;this.state={idpUrl:t.entry_point,idpUrlError:null,cert:t.cert,issuer:t.issuer}}renderConsumeUrl(){const{company:e}=this.props,t="https://saml.".concat("rapidr.io","/auth/saml/").concat(e.subdomain,"-").concat(e.id,"/consume");return dt(b.r,{className:"mb-16",label:b.S.t("SAML Consumer URL"),labelFor:"consume-saml-url"},dt(b.v,{id:"consume-saml-url",large:!0,disabled:!0,value:t}))}renderIdentityProviderUrl(){const{idpUrl:e,idpUrlError:t}=this.state;return dt(b.r,{className:"mb-12",label:b.S.t("Identity provider Single Sign-On URL"),labelFor:"idp-url",required:!0,intent:t&&b.w.DANGER},dt(b.v,{id:"idp-url",placeholder:"https://example.com/saml2",large:!0,onChange:this.handleIdpUrl,onBlur:this.validateIDPUrl,intent:t&&b.w.DANGER,value:e,autoComplete:"off"}))}renderCert(){const{cert:e}=this.state;return dt(b.r,{className:"mb-12",label:b.S.t("Public certificate"),labelFor:"cert",required:!0},dt(b.X,{id:"cert",placeholder:"-----BEGIN CERTIFICATE-----",large:!0,onChange:this.handleCert,value:e,autoComplete:"off",className:"width-100",rows:"5"}))}renderIssuer(){const{idpUrl:e,issuer:t}=this.state;if(!e)return null;let a=null;try{const{host:t}=new URL(e);a=t}catch{}if(!a)return null;if(!["login.microsoftonline.com","okta.com","oktapreview.com"].some((e=>a.includes(e))))return;return dt(b.r,{className:"mb-12",label:"Application ID",labelFor:"issuer"},dt(b.v,{id:"issuer",placeholder:a.includes("login.microsoftonline.com")?"d1z1fd1b-21e8-45db-b733-t018ap8faa34":a.includes("okta.com")||a.includes("oktapreview.com")?"http://www.okta.com/pqra2fxsf7EuzlfpT237":"d1z1fd1b-21e8-45db-b733-t018ap8faa34",large:!0,onChange:e=>{const{value:t}=e.target;this.setState({issuer:t})},value:t,autoComplete:"off"}))}renderSave(){const{idpUrl:e,cert:t,loading:a}=this.state,s=e&&t;return dt("div",null,dt(b.E,{disabled:!s,loading:a,onClick:this.saveSamlSso},dt(b.S,null,"Save")))}render(){var e,t,a,s;const{company:r}=this.props,n=(null===r||void 0===r||null===(e=r.features)||void 0===e?void 0:e.saml_sso)||(null===r||void 0===r||null===(t=r.features)||void 0===t?void 0:t.okta_integration)||(null===r||void 0===r||null===(a=r.features)||void 0===a?void 0:a.azure_active_directory_integration)||(null===r||void 0===r||null===(s=r.features)||void 0===s?void 0:s.onelogin_integration);return dt("div",{className:"relative"},dt(p.a,null,dt("title",null,"SAML SSO | Company Settings - Rapidr")),dt("p",{className:"mb-36 gray-600"},dt(b.S,null,"Enable and configure SAML SSO for your organization.")),dt("div",{className:"mb-24"},dt("a",{className:"color-primary",href:"https://help.rapidr.io/article/46-integrate-with-an-identity-provider-and-sign-in-with-saml-sso",target:"_blank",rel:"noopener noreferrer"},dt(b.t,{icon:"book",className:"mr-8"}),dt(b.S,null,"How to configure SAML SSO"))),this.renderConsumeUrl(),this.renderIdentityProviderUrl(),this.renderCert(),this.renderIssuer(),this.renderSave(),dt("div",null,!n&&dt($.a,{featureName:"Single Sign-On"})))}}var gt=mt=Object(h.a)((({meta:e})=>({meta:e})))(mt),pt=a("pau3"),ut=a("nkyL"),ht=a("Nlfv"),bt=o.a.createElement;const _t="general",yt="customize",vt="sso",ft="billing",Nt="integrations",wt="api",kt="user-segments",St="user-data",Ot="saml";class jt extends i.Component{constructor(e){super(e),Object(s.a)(this,"navigate",(e=>{const{dataset:{settingsSlug:t}}=e.currentTarget;c.a.push("/admin_view/settings/company_settings","/admin/settings/company/".concat(t)),this.setState({settingsSlug:t})}));const{settingsSlug:t=_t}=e;this.state={settingsSlug:t}}static getDerivedStateFromProps(e){const{settingsSlug:t=_t}=e;return{settingsSlug:t}}render(){const{company:e,dispatch:t}=this.props,{settingsSlug:a}=this.state,s=[_t,yt,Ot,vt,Nt,St,kt,ft,wt],r={[_t]:"General",[yt]:"Customize",[Ot]:"SAML SSO",[vt]:"Single Sign On",[Nt]:"Integrations",[ft]:"Billing",[wt]:"API",[kt]:"User Segments",[St]:"User Data"},o={[_t]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"gear",className:"mr-8"}),bt(b.S,null,"General")),[yt]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"palette",className:"mr-8"}),bt(b.S,null,"Customize")),[Ot]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"shield",className:"mr-8"}),bt(b.S,null,"SAML SSO")),[vt]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"at",className:"mr-8"}),bt(b.S,null,"Single Sign-On")),[ft]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"credit-card",className:"mr-8"}),bt(b.S,null,"Billing")),[Nt]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"plug",className:"mr-8"}),bt(b.S,null,"Integrations")),[wt]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"brackets-curly",className:"mr-8"}),bt(b.S,null,"API")),[kt]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"chart-pie-simple",className:"mr-8"}),bt(b.S,null,"User Segments")),[St]:bt("span",{className:"inline-flex items-center"},bt(b.t,{icon:"database",className:"mr-8"}),bt(b.S,null,"User Data"))},l={[_t]:J,[yt]:Q,[Ot]:gt,[vt]:ae,[ft]:se.a,[Nt]:Ue,[wt]:He,[kt]:Ye,[St]:ct}[a],c="Company Settings - Rapidr";return bt(i.Fragment,null,bt(p.a,null,bt("title",null,a?"".concat(Object(u.startCase)(a)," | ").concat(c):c)),bt(_.a,null),bt(b.b,null,bt(b.c,{title:b.S.t("Company Settings")},s.map((e=>bt(b.c.Item,{key:e,active:a===e,title:bt("span",{onClick:this.navigate,"data-settings-slug":e},o[e])}))),bt(b.c.Footer,null,bt(ht.a,null),bt(ut.a,null),bt(pt.a,null))),bt(b.a,null,bt("div",{className:"container-lg pl-24 pr-24 mt-36 pb-36 m-auto"},bt(b.a.Heading,null,bt(m.a,{as:"/admin/settings/company",href:"/admin_view/settings/company_settings"},"Settings")," ",bt(b.t,{icon:"angle-right",size:20})," ",r[a]),bt("div",{className:"jsx-3395340042 mt-24 maxWidth"},bt(n.a,{id:"3395340042"},[".maxWidth.jsx-3395340042{max-width:800px;}"]),bt(l,{company:e,dispatch:t,className:"jsx-3395340042"}),bt("div",{className:"jsx-3395340042 pt-64 pb-64"}))))))}}jt=Object(h.a)((({company:e,meta:{params:t}})=>({company:e,settingsSlug:null===t||void 0===t?void 0:t.settings_slug})))(jt),jt=Object(h.c)(jt);t.default=jt},nkyL:function(e,t,a){"use strict";var s=a("q1tI"),r=a.n(s),n=a("20a2"),i=a("2Xj3"),o=a("pOPE"),l=a.n(o),c=r.a.createElement;t.a=function(){const e=Object(n.useRouter)();return c(i.c.Item,{title:c(i.C,{content:c(i.y,null,c(i.z,{onClick:()=>{e.push("https://feedback.rapidr.io/")},text:i.S.t("Send us feedback"),label:c(i.t,{icon:"lightbulb",className:"mr-4"}),textClassName:"gray-600"}),c(i.z,{onClick:()=>{e.push("https://help.rapidr.io")},text:i.S.t("Knowledge base"),label:c(i.t,{icon:"book",className:"mr-4"}),textClassName:"gray-600"}),c(i.z,{onClick:()=>{e.push("/docs/")},text:i.S.t("Developer docs"),label:c(i.t,{icon:"plug",className:"mr-4"}),textClassName:"gray-600"}),c(i.z,{onClick:()=>
1{if("function"!==typeof window.Beacon)return alert("Couldn't load the library");window.Beacon("open")},text:i.S.t("Talk with support"),label:c(i.t,{icon:"life-ring",className:"mr-4"}),textClassName:"gray-600"})),position:i.D.LEFT_BOTTOM,fill:!0,portalClassName:l.a.footerSidebarItemPortalContainer},c("div",{className:"hover:color-primary"},c(i.t,{icon:"life-ring",className:"mr-4"}),c(i.S,null,"Get Help"))),active:!1})}},pOPE:function(e,t,a){e.exports={footerSidebarItemPortalContainer:"sidebar_item_footerSidebarItemPortalContainer__3L74e"}},pau3:function(e,t,a){"use strict";var s=a("q1tI"),r=a.n(s),n=a("TSYQ"),i=a.n(n),o=a("2Xj3"),l=a("20a2"),c=a("98oD"),d=a("h06D"),m=a("pOPE"),g=a.n(m),p=r.a.createElement;function u({company:e}){var t;const a=Object(l.useRouter)();return p(s.Fragment,null,p(o.q,null),p(o.c.Item,{title:p(o.C,{content:p(o.y,null,p(o.z,{onClick:()=>{a.push("/admin_view/team/invite","/admin/team/invite")},text:o.S.t("Invite Teammates"),label:p(o.t,{icon:"user-plus",className:"mr-4"}),textClassName:"gray-600"}),p(o.z,{onClick:()=>{a.push("/admin_view/settings/company_settings","/admin/settings/company/integrations/")},text:o.S.t("Integrations"),label:p(o.t,{icon:"plug",className:"mr-4"}),textClassName:"gray-600"}),p(o.z,{onClick:()=>{a.push("/admin_view/settings/company_settings","/admin/settings/company/billing/")},text:o.S.t("Billing"),label:p(o.t,{icon:"credit-card",className:"mr-4"}),textClassName:"gray-600"}),p(o.q,{className:"mt-4 mb-4"}),p(o.z,{onClick:()=>{a.push("/admin_view/settings/company_settings","/admin/settings/company")},text:o.S.t("Settings"),label:p(o.t,{icon:"gear",className:"mr-4"}),textClassName:"gray-600"})),position:o.D.LEFT_BOTTOM,fill:!0,portalClassName:g.a.footerSidebarItemPortalContainer},p("div",{className:"flex items-center"},p(o.e,{name:e.name,url:Object(d.a)(null===(t=e.settings)||void 0===t?void 0:t.logo_url),className:i()("no-box-shadow mr-8"),size:"medium",shape:"rectangular"}),e.name,p(o.t,{icon:"angle-right",size:14,spanClassName:"ml-auto"}))),active:!1}))}u=Object(c.a)((({company:e})=>({company:e})))(u),t.a=u},ttDI:function(e,t,a){e.exports={"gray-100":"ticker_gray-100__3oi4N","gray-200":"ticker_gray-200__dCRSt","gray-300":"ticker_gray-300__3IfEc","gray-400":"ticker_gray-400__2QKL3","gray-500":"ticker_gray-500__ZgXd3","gray-600":"ticker_gray-600__cY-4a","gray-700":"ticker_gray-700__P3uVJ","gray-800":"ticker_gray-800__2FWtB","gray-900":"ticker_gray-900__3LOkR","green-600":"ticker_green-600__3A7ZZ","hover:gray-100":"ticker_hover__gray-100__9Wn5d","hover:gray-200":"ticker_hover__gray-200__1y7c1","hover:gray-300":"ticker_hover__gray-300__22vky","hover:gray-400":"ticker_hover__gray-400__3nNSd","hover:gray-500":"ticker_hover__gray-500__64bbg","hover:gray-600":"ticker_hover__gray-600__1q3T_","hover:gray-700":"ticker_hover__gray-700__1uf9v","hover:gray-800":"ticker_hover__gray-800__2NI87","hover:gray-900":"ticker_hover__gray-900__3mSx9","bg-white":"ticker_bg-white__1ya7Z","bg-gray-000":"ticker_bg-gray-000__2iDXr","hover:bg-gray-000":"ticker_hover__bg-gray-000__n0BTM","bg-gray-100":"ticker_bg-gray-100__93QcL","hover:bg-gray-100":"ticker_hover__bg-gray-100__tM4WU","bg-gray-200":"ticker_bg-gray-200__3qK76","hover:bg-gray-200":"ticker_hover__bg-gray-200__MK3yH","bg-gray-300":"ticker_bg-gray-300__1z01x","hover:bg-gray-300":"ticker_hover__bg-gray-300__2O-lu","bg-orange-100":"ticker_bg-orange-100__2fSlo","bg-red-500":"ticker_bg-red-500__3E7HO","hover:red-500":"ticker_hover__red-500__11F6r","bg-yellow-300":"ticker_bg-yellow-300__1AMlz","yellow-900":"ticker_yellow-900__sZMNj","pink-500":"ticker_pink-500__ZYfXe","bg-green-100":"ticker_bg-green-100__2Ohds","bg-green-200":"ticker_bg-green-200__t07D3","green-500":"ticker_green-500__35Y2s","color-link":"ticker_color-link__3JvBj","blue-600":"ticker_blue-600__2kgmP","bg-primary":"ticker_bg-primary__s9obj",onboardingTickerCollapsed:"ticker_onboardingTickerCollapsed__3nFqu",onboardingTickerSteps:"ticker_onboardingTickerSteps__1lnZB",onboardingTickerExpanded:"ticker_onboardingTickerExpanded__2MiEN",tickerContainer:"ticker_tickerContainer__3msdN",steps:"ticker_steps__1as7Z",currentStep:"ticker_currentStep__2e808",stepDot:"ticker_stepDot__2vPTv",stepDotInner:"ticker_stepDotInner__2m9E6",collapsedProgressBar:"ticker_collapsedProgressBar__33w8R"}}},[["NOAw",0,1,4,5,9,2,3,6,7,8,10,12,24,30,31,26]]]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.