UNPKG

@truconsent/consent-banner-react

Version:

React consent-banner components (in-page & modal)

3 lines (2 loc) 31.4 kB
var e=require("react"),t=require("react-dom"),a=require("lucide-react");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=/*#__PURE__*/l(e),c=/*#__PURE__*/l(t);function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},r.apply(null,arguments)}function s(e){/*#__PURE__*/return n.default.createElement("svg",{className:"chevron "+(e.open?"open":""),width:"16",height:"16",viewBox:"0 0 24 24"},/*#__PURE__*/n.default.createElement("path",{d:"M6 9l6 6 6-6",fill:"none",stroke:"#333",strokeWidth:"2"}))}function o(t){var a=t.banner,l=t.purpose,c=t.onChangePurpose,r="accepted"===l.consented,o=e.useState(!1),m=o[0],i=o[1],u=e.useState(!1),d=u[0],f=u[1],p=e.useState(!1),E=p[0],N=p[1];/*#__PURE__*/return n.default.createElement("div",{className:"mcm-card"},/*#__PURE__*/n.default.createElement("div",{className:"mcm-card-header"},/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("h2",null,l.name),/*#__PURE__*/n.default.createElement("p",{className:"mcm-purpose-desc"},l.description)),/*#__PURE__*/n.default.createElement("div",{className:"mcm-card-actions"},l.is_mandatory&&/*#__PURE__*/n.default.createElement("span",{className:"badge mandatory"},"Mandatory"),/*#__PURE__*/n.default.createElement("span",{className:"badge expiry"},"Expiry: ",l.expiry_label||l.expiry_period.slice(0,6)),/*#__PURE__*/n.default.createElement("label",{className:"switch"},/*#__PURE__*/n.default.createElement("input",{type:"checkbox",checked:r,onChange:function(e){c(l.id,e.target.checked?"accepted":"declined")}}),/*#__PURE__*/n.default.createElement("span",{className:"track"}),/*#__PURE__*/n.default.createElement("span",{className:"thumb"})),/*#__PURE__*/n.default.createElement("span",{className:"toggle-label"},r?"Accepted":"Accept"))),/*#__PURE__*/n.default.createElement("div",{className:"accordion"},/*#__PURE__*/n.default.createElement("button",{className:"accordion-btn",onClick:function(){return i(function(e){return!e})}},"Data Elements ",/*#__PURE__*/n.default.createElement(s,{open:m})),m&&/*#__PURE__*/n.default.createElement("div",{className:"panel"},a.data_elements.map(function(e){/*#__PURE__*/return n.default.createElement("span",{key:e.id,className:"pill"},e.name)})),/*#__PURE__*/n.default.createElement("button",{className:"accordion-btn",onClick:function(){return f(function(e){return!e})}},"Legal Entities ",/*#__PURE__*/n.default.createElement(s,{open:d})),d&&/*#__PURE__*/n.default.createElement("div",{className:"panel"},a.legal_entities.map(function(e){/*#__PURE__*/return n.default.createElement("span",{key:e.id,className:"pill"},e.name)})),/*#__PURE__*/n.default.createElement("button",{className:"accordion-btn",onClick:function(){return N(function(e){return!e})}},"Tools ",/*#__PURE__*/n.default.createElement(s,{open:E})),E&&/*#__PURE__*/n.default.createElement("div",{className:"panel"},a.tools.map(function(e){/*#__PURE__*/return n.default.createElement("span",{key:e.id,className:"pill"},e.name)}))))}function m(t){var a=t.bannerId,l=t.userId,s=t.apiBaseUrl,m=void 0===s?"https://7nd6pu6evh.execute-api.ap-south-1.amazonaws.com/dev/banners":s,i=t.logoUrl,u=t.companyName,d=void 0===u?"Mars Company":u,f=t.onClose,p=e.useState(null),E=p[0],N=p[1],v=e.useState(!0),h=v[0],b=v[1],y=e.useState(!1),g=y[0],C=y[1],k=e.useState(""),S=k[0],w=k[1],x=e.useState(!0),_=x[0],P=x[1];e.useEffect(function(){if(!a)return w("Missing bannerId"),void b(!1);b(!0),fetch(m+"/"+a).then(function(e){if(!e.ok)throw new Error("Failed to load banner");return e.json()}).then(function(e){N(e)}).catch(function(e){return w(e.message)}).finally(function(){return b(!1)})},[a,m]);var T=function(e,t){N(function(a){return r({},a,{purposes:a.purposes.map(function(a){return a.id===e?r({},a,{consented:t}):a})})})},D=function(e){try{return E?(C(!0),w(""),console.log("banner",E.purposes),Promise.resolve(function(t,a){try{var n=function(t,a){try{var n=Promise.resolve(fetch(m+"/"+E.collection_point+"/consent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:l,purposes:E.purposes,action:e})})).then(function(t){if(!t.ok)throw new Error("Submission failed");var a;a=e,P(!1),f&&f(a)})}catch(e){return a()}return n&&n.then?n.then(void 0,a):n}(0,function(){w("Something went wrong. Please try again.")})}catch(e){return a(!0,e)}return n&&n.then?n.then(a.bind(null,!1),a.bind(null,!0)):a(!1,n)}(0,function(e,t){if(C(!1),e)throw t;return t}))):Promise.resolve()}catch(e){return Promise.reject(e)}};return _?c.default.createPortal(/*#__PURE__*/n.default.createElement("div",{className:"mcm-overlay"},h?/*#__PURE__*/n.default.createElement("div",{className:"mcm-spinner"}):/*#__PURE__*/n.default.createElement("div",{className:"mcm-container",role:"dialog","aria-modal":"true"},/*#__PURE__*/n.default.createElement("header",{className:"mcm-header"},i&&/*#__PURE__*/n.default.createElement("img",{src:i,alt:d+" Logo",className:"mcm-logo"}),/*#__PURE__*/n.default.createElement("div",{className:"mcm-header-text"},/*#__PURE__*/n.default.createElement("h1",null,"Consents by ",d),/*#__PURE__*/n.default.createElement("p",null,"You have the right to decline any non‐mandatory consents."))),/*#__PURE__*/n.default.createElement("div",{className:"mcm-separator"}),S&&/*#__PURE__*/n.default.createElement("div",{className:"mcm-error",role:"alert"},S),/*#__PURE__*/n.default.createElement("div",{className:"mcm-body"},E&&E.purposes.map(function(e){/*#__PURE__*/return n.default.createElement(o,{key:e.id,banner:E,purpose:e,onChangePurpose:T})})),/*#__PURE__*/n.default.createElement("div",{className:"mcm-separator"}),/*#__PURE__*/n.default.createElement("footer",{className:"mcm-footer"},/*#__PURE__*/n.default.createElement("button",{className:"mcm-btn reject",disabled:g,onClick:function(){return D("declined")}},g?"Processing…":"Reject All"),/*#__PURE__*/n.default.createElement("button",{className:"mcm-btn consent",disabled:g,onClick:function(){return D("approved")}},g?"Processing…":"I Consent")))),document.body):null}exports.RightCenter=function(t){var l=t.userId,c="https://7nd6pu6evh.execute-api.ap-south-1.amazonaws.com/dev/banners",s=e.useState("Consent"),o=s[0],m=s[1],i=e.useState(null),u=i[0],d=i[1],f=e.useState([]),p=f[0],E=f[1],N=e.useState(!1),v=N[0],h=N[1],b=e.useState({nominee_name:"",relationship:"",nominee_email:"",nominee_mobile:"",purpose_of_appointment:""}),y=b[0],g=b[1],C=p[0]||null,k=e.useState([]),S=k[0],w=k[1],x=e.useState(!1)[1],_=e.useState({subject:"",category:"",description:""}),P=_[0],T=_[1];e.useEffect(function(){fetch(c+"/dpo_information").then(function(e){return e.json()}).then(d).catch(console.error),fetch(c+"/user_nominees/user/"+l).then(function(e){return e.json()}).then(E).catch(console.error),fetch(c+"/grievance_tickets/user/"+l).then(function(e){return e.json()}).then(w).catch(console.error)},[l]);var D=e.useState([]),j=D[0],M=D[1],O=e.useState(!1),q=O[0],A=O[1],I=e.useState(null),U=I[0],Y=I[1],R=e.useState(!1),B=R[0],L=R[1],W=e.useState(!1),F=W[0],G=W[1],J=e.useState(!1),z=J[0],H=J[1];return e.useEffect(function(){fetch(c+"/user/"+l).then(function(e){return e.json()}).then(function(e){var t=e.flatMap(function(e){return e.purposes.map(function(t){return{id:t.id,title:t.name,name:t.name,description:t.description,expiry:t.expiry_period,collectionPoint:e.title,collectionId:e.collection_point,type:t.is_mandatory?"Mandatory":"Optional",dataElements:e.data_elements.map(function(e){return{label:e.name,description:e.description}}),shownToPrincipal:"yes",consented:t.consented}})});console.log("items",t),M(t)}).catch(console.error)},[l]),/*#__PURE__*/n.default.createElement("div",{className:"rc-container"},/*#__PURE__*/n.default.createElement("nav",{className:"rc-tabs"},["Consent","Rights","Transparency","Dpo","Nominee","Grievance"].map(function(e){/*#__PURE__*/return n.default.createElement("button",{key:e,onClick:function(){return m(e)},disabled:0==j.length,className:"rc-tab "+(o===e?"rc-tab-active":"")},e)})),/*#__PURE__*/n.default.createElement("div",{className:"rc-principal-id"},/*#__PURE__*/n.default.createElement(a.User,{className:"rc-principal-icon"}),/*#__PURE__*/n.default.createElement("span",{className:"rc-principal-text"},"Data Principal ID: ",l||"f93ba6f4-815a-44b9-9a3f-aab5c7667f8c")),"Consent"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-content"},/*#__PURE__*/n.default.createElement("div",{className:"rc-section-header"},/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Manage your Consents here!"),q&&/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-primary",onClick:function(){fetch(c+"/"+j[0].collectionId+"/consent",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userId:l,purposes:j,action:"approved"})}).then(function(){A(!1),alert("All changes saved.")}).catch(console.error)}},"Save Changes")),j.length>0?/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-list"},j.map(function(e){/*#__PURE__*/return n.default.createElement("div",{key:e.id,className:"rc-consent-item"},/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-header"},/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-title-row"},/*#__PURE__*/n.default.createElement("h3",{className:"rc-consent-title"},e.title),/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-header-right"},/*#__PURE__*/n.default.createElement(a.Info,{className:"rc-info-icon",onClick:function(){return Y(e)}}),/*#__PURE__*/n.default.createElement("span",{className:"rc-badge "+("Mandatory"===e.type?"rc-badge-mandatory":"rc-badge-optional")},e.type)))),/*#__PURE__*/n.default.createElement("p",{className:"rc-consent-description"},e.description),/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-details"},/*#__PURE__*/n.default.createElement("div",{className:"rc-detail-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-detail-label"},"Expiry:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-detail-value"},e.expiry)),/*#__PURE__*/n.default.createElement("div",{className:"rc-detail-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-detail-label"},"Collection Point:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-detail-value"},e.collectionPoint))),/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-status"},/*#__PURE__*/n.default.createElement("div",{className:"rc-status-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-status-label"},"Shown to Principal:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-status-pill "+(e.shownToPrincipal?"rc-status-yes":"rc-status-no")},e.shownToPrincipal?"Yes":"No")),/*#__PURE__*/n.default.createElement("div",{className:"rc-status-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-status-label"},"Consented:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-status-pill "+("accepted"===e.consented?"rc-status-yes":"rc-status-no")},"accepted"===e.consented?"Yes":"No"))),/*#__PURE__*/n.default.createElement("div",{className:"rc-consent-toggle"},/*#__PURE__*/n.default.createElement("label",{className:"rc-switch"},/*#__PURE__*/n.default.createElement("input",{type:"checkbox",checked:"accepted"===e.consented,onChange:function(){return t=e.id,M(function(e){return e.map(function(e){return e.id===t?r({},e,{consented:"accepted"===e.consented?"declined":"accepted"}):e})}),void A(!0);var t}}),/*#__PURE__*/n.default.createElement("span",{className:"rc-slider"}))))})):/*#__PURE__*/n.default.createElement("div",{className:"rc-empty-state"},/*#__PURE__*/n.default.createElement(a.Info,{className:"rc-empty-state-icon"}),"You currently have no consent records to display."),U&&/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-overlay"},/*#__PURE__*/n.default.createElement("div",{className:"rc-modal"},/*#__PURE__*/n.default.createElement("header",{className:"rc-modal-header"},/*#__PURE__*/n.default.createElement("h2",{className:"rc-modal-title"},U.title),/*#__PURE__*/n.default.createElement("button",{className:"rc-modal-close",onClick:function(){return Y(null)}},/*#__PURE__*/n.default.createElement(a.X,null))),/*#__PURE__*/n.default.createElement("p",{className:"rc-modal-subtitle"},"Detailed information about this purpose and how your data is used"),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-content"},/*#__PURE__*/n.default.createElement("section",{className:"rc-modal-section"},/*#__PURE__*/n.default.createElement("h3",{className:"rc-modal-section-title"},"Purpose Details"),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-field"},/*#__PURE__*/n.default.createElement("strong",{className:"rc-modal-field-label"},"Description:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-modal-field-value"},U.description)),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-field"},/*#__PURE__*/n.default.createElement("strong",{className:"rc-modal-field-label"},"Expiry Period:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-modal-field-value"},U.expiry)),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-field"},/*#__PURE__*/n.default.createElement("strong",{className:"rc-modal-field-label"},"Collection Point:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-modal-field-value"},U.collectionPoint)),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-field"},/*#__PURE__*/n.default.createElement("strong",{className:"rc-modal-field-label"},"Type:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-badge "+("Mandatory"===U.type?"rc-badge-mandatory":"rc-badge-optional")},U.type))),/*#__PURE__*/n.default.createElement("section",{className:"rc-modal-section"},/*#__PURE__*/n.default.createElement("h3",{className:"rc-modal-section-title"},"Data Elements"),/*#__PURE__*/n.default.createElement("div",{className:"rc-elements-grid"},Array.from(U.dataElements.reduce(function(e,t){return e.set(t.label,t),e},new Map).values()).map(function(e){/*#__PURE__*/return n.default.createElement("div",{key:e.label,className:"rc-element-card"},/*#__PURE__*/n.default.createElement("strong",{className:"rc-element-title"},e.label),/*#__PURE__*/n.default.createElement("p",{className:"rc-element-description"},e.description))}))),/*#__PURE__*/n.default.createElement("section",{className:"rc-modal-section"},/*#__PURE__*/n.default.createElement("h3",{className:"rc-modal-section-title"},"Current Status"),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-status-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-modal-status-label"},"Shown to Data Principal:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-status-pill "+(U.shownToPrincipal?"rc-status-yes":"rc-status-no")},U.shownToPrincipal?"Yes":"No")),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-status-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-modal-status-label"},"Consent Given:"),/*#__PURE__*/n.default.createElement("span",{className:"rc-status-pill "+(U.consented?"rc-status-yes":"rc-status-no")},"accepted"===U.consented?"Yes":"No"))))))),"Rights"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-content"},/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Your Data Rights"),/*#__PURE__*/n.default.createElement("p",{className:"rc-section-subtitle"},"You can access, correct, delete, or export your data."),/*#__PURE__*/n.default.createElement("div",{className:"rc-rights-actions"},/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-danger",onClick:function(){return L(!0)}},"Request Data Deletion")),B&&/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-overlay"},/*#__PURE__*/n.default.createElement("div",{className:"rc-modal rc-modal-small"},F?/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-success"},/*#__PURE__*/n.default.createElement(a.CheckCircle2,{className:"rc-success-icon"}),/*#__PURE__*/n.default.createElement("h3",{className:"rc-modal-title"},"Request Submitted"),/*#__PURE__*/n.default.createElement("p",{className:"rc-modal-subtitle"},"Your data deletion request has been submitted successfully!")):/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-content"},/*#__PURE__*/n.default.createElement("div",{className:"rc-warning-icon"},"⚠️"),/*#__PURE__*/n.default.createElement("h3",{className:"rc-modal-title"},"Confirm Data Deletion"),/*#__PURE__*/n.default.createElement("p",{className:"rc-modal-subtitle"},"Are you sure you want to request data deletion? This action cannot be undone."),/*#__PURE__*/n.default.createElement("div",{className:"rc-modal-actions"},/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-danger",onClick:function(){G(!0),setTimeout(function(){L(!1)},1500)}},"Confirm Deletion"),/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-secondary",onClick:function(){return L(!1)}},"Cancel")))))),"Transparency"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-content"},/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Transparency"),/*#__PURE__*/n.default.createElement("p",{className:"rc-section-subtitle"},"Learn how we collect, use, and protect your data"),/*#__PURE__*/n.default.createElement("p",{className:"rc-transparency-text"},"We collect your data to provide better services and comply with regulations. Your data is stored securely and used only for the purposes you've consented to.")),"Dpo"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-content"},/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-header"},/*#__PURE__*/n.default.createElement(a.User,{className:"rc-dpo-icon"}),/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Data Protection Officer (DPO) Contact")),/*#__PURE__*/n.default.createElement("p",{className:"rc-section-subtitle"},"Contact our DPO for data protection matters and privacy concerns"),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-content"},/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-left"},/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-item"},/*#__PURE__*/n.default.createElement(a.User,{className:"rc-dpo-item-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Name"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},null==u?void 0:u.full_name))),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-item"},/*#__PURE__*/n.default.createElement(a.Mail,{className:"rc-dpo-item-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Email"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},null==u?void 0:u.email))),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-item"},/*#__PURE__*/n.default.createElement(a.Clock,{className:"rc-dpo-item-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Appointment Date"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},null==u?void 0:u.appointment_date)))),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-right"},/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-info-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Qualifications"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},null==u?void 0:u.qualifications)),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-info-item"},/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Responsibilities"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},null==u?void 0:u.responsibilities)),/*#__PURE__*/n.default.createElement("div",{className:"rc-dpo-info-item"},/*#__PURE__*/n.default.createElement(a.Clock,{className:"rc-dpo-time-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-label"},"Working Hours"),/*#__PURE__*/n.default.createElement("span",{className:"rc-dpo-value"},"Monday - Friday, 9:00 AM - 5:00 PM"))),/*#__PURE__*/n.default.createElement("div",{className:"rc-response-box"},/*#__PURE__*/n.default.createElement("h4",{className:"rc-response-title"},"Response Time"),/*#__PURE__*/n.default.createElement("p",{className:"rc-response-text"},"We aim to respond to all privacy inquiries within 30 days as per regulatory requirements."))))),"Nominee"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-section-container"},/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Appoint Nominee"),/*#__PURE__*/n.default.createElement("p",{className:"rc-section-subtitle"},"Appoint someone to manage your data rights on your behalf"),/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-warning"},/*#__PURE__*/n.default.createElement("div",{className:"rc-warning-icon"},"⚠️"),/*#__PURE__*/n.default.createElement("p",null,"Your nominee will be able to exercise all data rights on your behalf.")),C&&!v?/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-details-grid"},/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-item"},/*#__PURE__*/n.default.createElement(a.User,{className:"rc-nominee-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-label"},"Name"),/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-value"},C.nominee_name))),/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-item"},/*#__PURE__*/n.default.createElement(a.User,{className:"rc-nominee-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-label"},"Relationship"),/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-value"},C.relationship))),/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-item"},/*#__PURE__*/n.default.createElement(a.Mail,{className:"rc-nominee-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-label"},"Email"),/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-value"},C.nominee_email))),/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-item"},/*#__PURE__*/n.default.createElement(a.Clock,{className:"rc-nominee-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-label"},"Mobile"),/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-value"},C.nominee_mobile))),C.purpose_of_appointment&&/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-item rc-nominee-fullwidth"},/*#__PURE__*/n.default.createElement(a.Info,{className:"rc-nominee-icon"}),/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-label"},"Purpose of Appointment"),/*#__PURE__*/n.default.createElement("span",{className:"rc-nominee-value"},C.purpose_of_appointment))),/*#__PURE__*/n.default.createElement("div",{className:"rc-nominee-actions-fullwidth"},/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-primary",onClick:function(){h(!0)}},"Edit"),/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-danger",onClick:function(){C&&fetch("/user_nominees/"+C.id,{method:"DELETE"}).then(function(){return E([])}).catch(console.error)}},"Delete"))):/*#__PURE__*/n.default.createElement("form",{className:"rc-nominee-form",onSubmit:function(e){e.preventDefault();var t=r({user_id:l},y);fetch(C&&v?"/user_nominees/"+C.id:"/user_nominees",{method:C&&v?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(function(e){return e.json()}).then(function(e){E([e]),h(!1)}).catch(console.error)}},/*#__PURE__*/n.default.createElement("div",{className:"rc-form-row"},/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Name *"),/*#__PURE__*/n.default.createElement("input",{type:"text",className:"rc-form-input",placeholder:"Full name of nominee",value:y.nominee_name,onChange:function(e){return g(r({},y,{nominee_name:e.target.value}))},required:!0})),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Relationship *"),/*#__PURE__*/n.default.createElement("select",{className:"rc-form-select",value:y.relationship,onChange:function(e){return g(r({},y,{relationship:e.target.value}))},required:!0},/*#__PURE__*/n.default.createElement("option",{value:""},"Select relationship"),/*#__PURE__*/n.default.createElement("option",null,"Spouse"),/*#__PURE__*/n.default.createElement("option",null,"Parent"),/*#__PURE__*/n.default.createElement("option",null,"Child"),/*#__PURE__*/n.default.createElement("option",null,"Sibling"),/*#__PURE__*/n.default.createElement("option",null,"Other")))),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-row"},/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Email *"),/*#__PURE__*/n.default.createElement("input",{type:"email",className:"rc-form-input",placeholder:"nominee@example.com",value:y.nominee_email,onChange:function(e){return g(r({},y,{nominee_email:e.target.value}))},required:!0})),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Mobile Number *"),/*#__PURE__*/n.default.createElement("input",{type:"tel",className:"rc-form-input",placeholder:"+1234567890",value:y.nominee_mobile,onChange:function(e){return g(r({},y,{nominee_mobile:e.target.value}))},required:!0}))),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Purpose of Appointment"),/*#__PURE__*/n.default.createElement("textarea",{className:"rc-form-textarea",placeholder:"Explain why you are appointing this nominee",rows:"4",value:y.purpose_of_appointment,onChange:function(e){return g(r({},y,{purpose_of_appointment:e.target.value}))}})),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-actions"},/*#__PURE__*/n.default.createElement("button",{type:"submit",className:"rc-btn-primary"},v?"Update Nominee":"Send Verification Code"),v&&/*#__PURE__*/n.default.createElement("button",{type:"button",className:"rc-btn-secondary",onClick:function(){return h(!1)}},"Cancel")))),"Grievance"===o&&/*#__PURE__*/n.default.createElement("div",{className:"rc-content"},/*#__PURE__*/n.default.createElement("div",{className:"rc-section-header"},/*#__PURE__*/n.default.createElement("div",null,/*#__PURE__*/n.default.createElement("h2",{className:"rc-section-title"},"Grievance Tickets"),/*#__PURE__*/n.default.createElement("p",{className:"rc-section-subtitle"},"Submit privacy concerns or view your existing tickets")),/*#__PURE__*/n.default.createElement("button",{className:"rc-btn-primary",onClick:function(){return H(!z)}},"Create New Ticket")),z&&/*#__PURE__*/n.default.createElement("form",{className:"rc-grievance-form",onSubmit:function(e){e.preventDefault(),fetch(c+"/grievance_tickets",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_user_id:l,subject:P.subject,category:P.category,description:P.description})}).then(function(e){return e.json()}).then(function(e){w(function(t){return[e].concat(t)}),x(!1),T({subject:"",category:"",description:""})}).catch(console.error)}},/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Subject *"),/*#__PURE__*/n.default.createElement("input",{name:"subject",type:"text",className:"rc-form-input",placeholder:"Brief description of your concern",value:P.subject,onChange:function(e){return T(r({},P,{subject:e.target.value}))},required:!0})),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Category *"),/*#__PURE__*/n.default.createElement("select",{name:"category",className:"rc-form-select",value:P.category,onChange:function(e){return T(r({},P,{category:e.target.value}))},required:!0},/*#__PURE__*/n.default.createElement("option",{value:""},"Select category"),/*#__PURE__*/n.default.createElement("option",{value:"Privacy Concern"},"Privacy Concern"),/*#__PURE__*/n.default.createElement("option",{value:"Data Access"},"Data Access"),/*#__PURE__*/n.default.createElement("option",{value:"Other"},"Other"))),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-group"},/*#__PURE__*/n.default.createElement("label",{className:"rc-form-label"},"Description *"),/*#__PURE__*/n.default.createElement("textarea",{name:"description",className:"rc-form-textarea",placeholder:"Detailed description of your concern or request",rows:"4",value:P.description,onChange:function(e){return T(r({},P,{description:e.target.value}))},required:!0})),/*#__PURE__*/n.default.createElement("div",{className:"rc-form-actions"},/*#__PURE__*/n.default.createElement("button",{type:"submit",className:"rc-btn-primary"},"Submit Ticket"),/*#__PURE__*/n.default.createElement("button",{type:"button",className:"rc-btn-secondary",onClick:function(){return H(!1)}},"Cancel"))),/*#__PURE__*/n.default.createElement("div",{className:"rc-tickets-section"},/*#__PURE__*/n.default.createElement("h3",{className:"rc-tickets-title"},"Your Tickets"),0===S.length?/*#__PURE__*/n.default.createElement("div",{className:"rc-empty-state"},/*#__PURE__*/n.default.createElement("p",null,"No tickets found. Create your first grievance ticket above.")):/*#__PURE__*/n.default.createElement("div",{className:"rc-ticket-list"},S.map(function(e,t){/*#__PURE__*/return n.default.createElement("div",{key:t,className:"rc-ticket-item"},/*#__PURE__*/n.default.createElement("div",{className:"rc-ticket-header"},/*#__PURE__*/n.default.createElement("h4",{className:"rc-ticket-subject"},e.subject),/*#__PURE__*/n.default.createElement("span",{className:"rc-ticket-status"},"Open")),/*#__PURE__*/n.default.createElement("p",{className:"rc-ticket-description"},e.description))})))))},exports.TruConsent=function(t){var a=t.bannerId,l=t.apiBaseUrl,c=t.logoUrl,r=t.companyName,s=e.useState(!1),o=s[0],i=s[1];/*#__PURE__*/return n.default.createElement(Fragment,null,/*#__PURE__*/n.default.createElement("div",{style:{position:"fixed",bottom:0,width:"100%",background:"#fff",boxShadow:"0 -2px 8px rgba(0,0,0,0.1)",padding:"10px",textAlign:"center"}},/*#__PURE__*/n.default.createElement("span",null,"We value your privacy."),/*#__PURE__*/n.default.createElement("button",{onClick:function(){return i(!0)},style:{marginLeft:"12px",padding:"6px 12px"}},"Manage Consents")),o&&/*#__PURE__*/n.default.createElement(m,{bannerId:a,apiBaseUrl:l,logoUrl:c,companyName:r}))},exports.TruConsentModal=m,exports.default=m; //# sourceMappingURL=index.js.map