PageSourceSearch

https://dashboard.onetapcheckin.com/6814.f0a4d4fd1df457bba023.chunk.js

js onetapcheckin.com collected 2026-10-01 14:04:47 UTC 37,472 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="01a0f391-acac-7ce0-8f68-155b1d4da745")}catch(e){}}();"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6814],{5577(e,t,a){a.d(t,{A:()=>h});var s=a(63696),n=a(47449),r=a(54086),i=a(20090),l=a(89073),o=a(99552),c=a(36973),m=a(70762),d=a(64165);const h=({onSortChange:e,onGroupChange:t,onPreviewChange:a,onFilterChange:h,activeSort:p,activeGroup:u,activePreview:w,activeFilters:g,globalProfileCustomFields:E,globalCheckInCustomFields:f,checkInSurveyData:S,checkOutSurveyData:v,className:C="",hideParticipantFields:b=!1})=>{const[y,N]=(0,s.useState)(!1),[A,P]=(0,s.useState)(!1),[x,M]=(0,s.useState)(!1),[k,F]=(0,s.useState)(!1),[D,L]=(0,s.useState)(!1);return s.createElement(s.Fragment,null,s.createElement(n.A,{isOpen:y,toggle:()=>N(e=>!e),className:`d-inline-block ${C}`},s.createElement(l.A,{color:"light",className:"d-flex align-items-center p-2 position-relative m-0"},s.createElement("i",{className:"zmdi zmdi-view-list-alt"}),(g.length>0||p||u)&&s.createElement("span",{className:"badge badge-primary position-absolute",style:{top:"-10px",right:"-10px"}},(g.length>0?1:0)+(p?1:0)+(u?1:0))),s.createElement(i.A,{end:!0,className:"py-2"},s.createElement(r.A,{onClick:()=>L(!0),className:"d-flex align-items-center justify-content-between"},s.createElement("div",null,s.createElement("i",{className:"zmdi zmdi-filter-list mr-2"}),"Filter"),g.length>0&&s.createElement("span",{className:"badge badge-primary"},g.length)),s.createElement(r.A,{onClick:()=>P(!0),className:"d-flex align-items-center justify-content-between"},s.createElement("div",null,s.createElement("i",{className:"zmdi zmdi-sort-amount-desc mr-2"}),"Sort"),p&&s.createElement("i",{className:"zmdi zmdi-check text-primary"})),s.createElement(r.A,{onClick:()=>M(!0),className:"d-flex align-items-center justify-content-between"},s.createElement("div",null,s.createElement("i",{className:"zmdi zmdi-group mr-2"}),"Group"),u&&s.createElement("i",{className:"zmdi zmdi-check text-primary"})),s.createElement(r.A,{onClick:()=>F(!0),className:"d-flex align-items-center justify-content-between"},s.createElement("div",null,w.length>0?s.createElement("i",{className:"zmdi zmdi-eye mr-2"}):s.createElement("i",{className:"zmdi zmdi-eye-off mr-2"}),"Preview")))),s.createElement(o.A,{isOpen:A,didClose:()=>P(!1),onSort:e,activeSort:p,hideParticipantFields:b,globalCustomFields:E,globalCheckInCustomFields:f}),s.createElement(c.A,{isOpen:x,didClose:()=>M(!1),onGroup:t,activeGroup:u,globalProfileCustomFields:E,globalCheckInCustomFields:f,checkInSurveyData:S,checkOutSurveyData:v,hideParticipantFields:b}),s.createElement(m.A,{isOpen:k,didClose:()=>F(!1),onPreviewChange:a,activePreview:w,globalProfileCustomFields:E,globalCheckInCustomFields:f,checkInSurveyData:S,checkOutSurveyData:v}),s.createElement(d.A,{isOpen:D,didClose:()=>L(!1),updatedFilters:h,activeFilters:g,globalCustomFields:E,globalCheckInCustomFields:f}))}},1703(e,t,a){a.d(t,{A:()=>ce});var s=a(63696),n=a(91835),r=a(82519),i=a(85022),l=a(4603),o=a(11583),c=a(80889),m=a(13729),d=a(10452),h=a(41210),p=a(93354),u=a(48600),w=a(28085),g=a(47629),E=a(81058),f=a(53053),S=a(16125),v=a(2887),C=a(85889),b=a(14437),y=a(56420),N=a(92223),A=a(42599),P=a(90220),x=a(34627),M=a(28098),k=a(31679),F=a(42254),D=a(689),L=a(61838),I=a(9571),R=(e=>(e[e.IMAGE=0]="IMAGE",e[e.WEB=1]="WEB",e))(R||{}),G=(e=>(e.SMS="SMS",e.EMAIL="Email",e))(G||{}),T=(e=>(e[e.STANDBY=0]="STANDBY",e[e.SENDING=1]="SENDING",e[e.SENT=2]="SENT",e))(T||{}),O=(e=>(e.IDLE="idle",e.CHECKING="checking",e.SAFE="safe",e.UNSAFE="unsafe",e))(O||{}),_=(e=>(e.destination="destination",e.channel="channel",e.message="message",e.passDeliveryFormat="passDeliveryFormat",e.apiError="apiError",e))(_||{}),U=(e=>(e.ALL="all",e.MISSING="missing",e.HAS_CONTACT="has_contact",e))(U||{}),V=(e=>(e.HAS_EMAIL="has_email",e.MISSING_EMAIL="missing_email",e.HAS_PHONE="has_phone",e.MISSING_PHONE="missing_phone",e))(V||{}),z=(e=>(e.ALL="all",e.IN_PROGRESS="in_progress",e.FAILED="failed",e.DELIVERED="delivered",e))(z||{}),B=Object.defineProperty,j=Object.defineProperties,H=Object.getOwnPropertyDescriptors,$=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,Y=(e,t,a)=>t in e?B(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,q=(e,t)=>
1{for(var a in t||(t={}))W.call(t,a)&&Y(e,a,t[a]);if($)for(var a of $(t))K.call(t,a)&&Y(e,a,t[a]);return e};class Q extends s.Component{constructor(){super(...arguments),this.getInProgressTooltip=e=>{const t=e.getLastSendAt();if(t){const e=new Date;if(Math.floor((e.getTime()-t.getTime())/6e4)>=10)return"We are retrying to send the pass, but it is taking longer than expected. Please try again with different contact details"}return"In progress"},this.getColumnDefs=()=>{const{channel:e}=this.props;return[{headerName:"Name",field:"profile.name",flex:2,sortable:!0,editable:!1,cellRenderer:t=>{const a=t.data,n=null==a?void 0:a.profile,r=(null==n?void 0:n.name)||"Unknown",i=null==n?void 0:n.avatarURL,l=e===G.SMS?!(null==n?void 0:n.phone):!(null==n?void 0:n.email);return s.createElement("div",{className:"tw-flex tw-items-center tw-gap-3 tw-h-full"},s.createElement(c.A,{size:m.g.VERY_SMALL,profileName:r,avatarUrl:i,avatarClassName:"tw-border-2 tw-border-white"}),s.createElement("span",{className:l?"tw-text-red-500 tw-font-medium":""},r))}},(t=q({headerName:e===G.SMS?"Phone":"Email",field:e===G.SMS?"profile.phone":"profile.email",flex:2,sortable:!1,editable:!0,singleClickEdit:!0},e===G.SMS?{cellEditor:P.A}:{}),a={valueGetter:t=>{var a;const s=null==(a=t.data)?void 0:a.profile;return e===G.SMS?null==s?void 0:s.phone:null==s?void 0:s.email},valueSetter:t=>{const a=e===G.SMS?"phone":"email";return t.data.profile&&(t.data.profile[a]=t.newValue),!0},cellRenderer:t=>{const a=t.data,n=null==a?void 0:a.profile,r=e===G.SMS?null==n?void 0:n.phone:null==n?void 0:n.email,i=e===G.SMS&&r?b.p.toHumanFormatted(r):r,l=!r;return s.createElement("div",{className:"tw-flex tw-items-center tw-h-full"},s.createElement("span",{className:l?"tw-text-red-500":""},i||"—"))}},j(t,H(a))),{headerName:"Status",flex:1,sortable:!1,editable:!1,cellRenderer:e=>{var t,a,n,r;const i=e.data,l=null!=(a=null==(t=i.getLastSendStatus)?void 0:t.call(i))?a:i.lastSendStatus;let o="";switch(l){case y.p1.DELIVERED:o="Delivered";break;case y.p1.FAILED:o="Failed";break;case y.p1.IN_PROGRESS:o="In Progress";break;default:o="-"}if(l===y.p1.FAILED){const e=null!=(r=null==(n=i.getLastSendError)?void 0:n.call(i))?r:"";return s.createElement(F.m_,null,s.createElement(F.k$,{asChild:!0},s.createElement("div",{className:"tw-flex tw-h-full tw-w-full tw-min-h-[44px] tw-items-center tw-gap-1.5 tw-cursor-pointer"},s.createElement("span",null,o),s.createElement(D.A,{className:"tw-h-4 tw-w-4 tw-shrink-0 tw-text-muted-foreground","aria-hidden":!0}))),s.createElement(F.ZI,{side:"top",className:"tw-max-w-sm tw-break-words"},e||"No error details available."))}if(l===y.p1.IN_PROGRESS){const e=this.getInProgressTooltip(i);return s.createElement(F.m_,null,s.createElement(F.k$,{asChild:!0},s.createElement("div",{className:"tw-flex tw-h-full tw-w-full tw-min-h-[44px] tw-items-center tw-gap-1.5 tw-cursor-pointer"},s.createElement("span",null,o),s.createElement(D.A,{className:"tw-h-4 tw-w-4 tw-shrink-0 tw-text-muted-foreground","aria-hidden":!0}))),s.createElement(F.ZI,{side:"top",className:"tw-max-w-sm tw-break-words"},e))}return s.createElement("div",{className:"tw-flex tw-items-center tw-h-full"},s.createElement("span",null,o))}}];var t,a},this.renderMissingContactAlert=()=>{const{missingContactCount:e,channel:t}=this.props;return 0===e?null:s.createElement(S.Fc,{variant:"destructive",className:"tw-mb-4"},s.createElement(D.A,{className:"tw-h-4 tw-w-4"}),s.createElement(S.TN,null,s.createElement("strong",null,"Missing Contact Information"),s.createElement("p",{className:"tw-mb-0 tw-mt-1"},e," recipient",1!==e?"s":""," do not have"," ",t===G.SMS?"phone numbers":"email addresses"," on file. They are highlighted below and will not receive passes until updated.")))},this.renderFilterBar=()=>{const{deliveryStatusFilter:e,contactFilter:t,onDeliveryStatusFilterChange:a,onContactFilterChange:n,onResetFilters:i}=this.props,l=e!==z.ALL||t!==U.ALL;return s.createElement("div",{className:"tw-mb-3 tw-rounded-lg tw-bg-gray-50 tw-p-3"},s.createElement("div",{className:"tw-flex tw-items-center tw-justify-between tw-mb-2"},s.createElement("div",{className:"tw-flex tw-items-center tw-gap-1.5 tw-text-sm tw-font-medium tw-text-muted-foreground"},s.createElement(L.A,{className:"tw-h-4 tw-w-4"}),s.createElement("span",null,"Filters")),l&&s.createElement(r.$,{variant:"link",size:"sm",onClick:i,className:"tw-h-7 tw-text-xs tw-text-muted-foreground"},"Reset")),s.createElement("div",{className:"tw-flex tw-items-center tw-gap-2 tw-flex-wrap"},s.createElement(I.l6,{value:t,onValueChange:e=>n(e)},s.createElement(I.bq,{className:"tw-max-w-[160px] tw-h-8 tw-bg-white"},s.createElement(I.yv,{placeholder:"Contact"})),s.createElement(I.gC,null,s.createElement(I.eb,{value:U.ALL},"All Contacts"),s.createElement(I.eb,{value:U.HAS_CONTACT},"Has Contact"),s.createElement(I.eb,{value:U.MISSING},"Missing Contact"))),s.createElement(I.l6,{value:e,onValueChange:e=>a(e)},s.createElement(I.bq,{className:"tw-max-w-[160px] tw-h-8 tw-bg-white"},s.createElement(I.yv,{placeholder:"Delivery Status"})),s.createElement(I.gC,null,s.createElement(I.eb,{value:z.ALL},"All"),s.createElement(I.eb,{value:z.DELIVERED},"Delivered"),s.createElement(I.eb,{value:z.IN_PROGRESS},"In Progress"),s.createElement(I.eb,{value:z.FAILED},"Failed")))))},this.renderRecipientsTable=()=>{const{passports:e,passportsTotal:t,passportsPage:a,isLoadingPassports:n,onPageChange:r}=this.props,i=Math.ceil(t/5);return s.createElement("div",{className:"tw-mb-4"},s.createElement(f.J,{className:"tw-font-semibold tw-mb-2 tw-block"},"Recipients"),this.renderFilterBar(),s.createElement("div",{className:"tw-rounded-md tw-border tw-overflow-hidden"},s.createElement(F.Bc,{delayDuration:200},s.createElement("div",{style:{width:"100%"}},s.createElement(w.W6,{theme:g.g,columnDefs:this.getColumnDefs(),rowData:e,defaultColDef:{headerComponent:E.A},suppressMultiSort:!0,domLayout:"autoHeight",suppressRowHoverHighlight:!1,headerHeight:44,rowHeight:56,overlayNoRowsTemplate:"<span>No recipients found</span>",loading:n,onCellValueChanged:this.props.onContactCellValueChanged,stopEditingWhenCellsLoseFocus:!0})))),i>1&&s.createElement("div",{className:"tw-mt-2"},s.createElement(k.A,{currentPage:a,totalPages:i,totalItems:t,pageSize:5,loading:n,itemLabel:"recipients",onPageChange:r})))},this.renderMessageSafetyAlerts=()=>{const{messageSafetyStatus:e,unsafeUrls:t,contentRisks:a}=this.props;return s.createElement(s.Fragment,null,e===O.CHECKING&&s.createElement("div",{className:"tw-mb-3 tw-flex tw-items-center tw-justify-center tw-gap-2"},s.createElement(M.E,{className:"tw-h-4 tw-w-4 tw-rounded-full"}),s.createElement("span",null,"Checking message safety...")),e===O.UNSAFE&&s.createElement(S.Fc,{variant:"destructive",className:"tw-mb-3"},s.createElement(S.TN,null,s.createElement("strong",null,"Warning: Message Blocked"),s.createElement("div",{className:"tw-mt-2"},"This message contains content that appears unsafe or suspicious."),s.createElement("div",{className:"tw-mt-2"},a.includes("unicode_obfuscation")&&s.createElement("div",null,"- Hidden or unusual characters"),a.includes("delivery_scam_pattern")&&s.createElement("div",null,"- Scam or phishing patterns"),a.includes("ai_moderation_flagged")&&s.createElement("div",null,"- Inappropriate content"),t.length>0&&s.createElement("div",null,"Unsafe links:"," ",t.map((e,a)=>s.createElement("span",{key:e},s.createElement("code",null,e),a<t.length-1&&", ")))))))}}render(){const{error:e,channel:t,status:a,passDeliveryFormat:n,destination:r,message:i,isLoadingData:l,showCaptcha:o,captchaKey:c,pass:m,isSendDisabled:d,sendDisabledReason:h,onChannelToggle:p,onDestinationChange:u,onMessageChange:w,onPassDeliveryFormatChange:g,onSendPass:E,onCaptchaVerify:b,onCaptchaExpire:y,onCaptchaError:P}=this.props;return s.createElement("div",null,a===T.SENT&&s.createElement(S.Fc,{className:"tw-mb-3"}
1,s.createElement(S.TN,null,m.isGroupPass()?"Passes queued for delivery, check your account notifications for updates.":"Pass sent!")),s.createElement("div",{className:"tw-mb-4"},s.createElement(A.w,{onChangeVal:e=>p(e),type:A.w.TYPES.List,enums:Object.values(G),value:t})),!m.isGroupPass()&&s.createElement("div",{className:"tw-mb-3"},s.createElement(N.A,{field:_.destination,error:e},t===G.EMAIL?s.createElement(A.w,{type:A.w.TYPES.Text,value:r,onChangeVal:e=>u(e),placeholder:"Email"}):s.createElement(x.A,{value:r,onChange:e=>u(e)}))),t===G.SMS&&s.createElement(v.tU,{value:n===R.WEB?"web":"image",onValueChange:e=>g("web"===e?R.WEB:R.IMAGE),className:"tw-mb-4"},s.createElement(v.j7,null,s.createElement(v.Xi,{value:"web"},"Weblink"),s.createElement(v.Xi,{value:"image"},"Image")),s.createElement("p",{className:"tw-text-xs tw-text-muted-foreground tw-mt-1.5 tw-mb-0"},n===R.WEB?"Recipient will receive a link to view their pass online.":"Recipient will receive the pass as a raw image.")),s.createElement("div",{className:"tw-mb-4"},s.createElement(f.J,{className:"tw-font-semibold tw-mb-1.5 tw-block"},"Custom Message"),s.createElement(C.T,{value:i,onChange:w,placeholder:"Write a personalized message to include with the passes...",className:"tw-min-h-[80px]"})),this.renderMessageSafetyAlerts(),m.isGroupPass()&&s.createElement(s.Fragment,null,l?s.createElement("div",{className:"tw-space-y-4"},s.createElement("div",{className:"tw-bg-gray-50 tw-rounded-lg tw-p-4"},s.createElement("div",{className:"tw-flex tw-items-center tw-gap-1 tw-mb-2"},[...Array(5)].map((e,t)=>s.createElement(M.E,{key:t,className:"tw-h-9 tw-w-9 tw-rounded-full",style:{marginLeft:t>0?"-8px":"0"}})),s.createElement(M.E,{className:"tw-h-4 tw-w-16 tw-ml-2"})),s.createElement(M.E,{className:"tw-h-4 tw-w-3/4"})),s.createElement("div",null,s.createElement(M.E,{className:"tw-h-5 tw-w-24 tw-mb-2"}),s.createElement("div",{className:"tw-rounded-md tw-border tw-overflow-hidden"},s.createElement("div",{className:"tw-flex tw-gap-4 tw-p-3 tw-bg-gray-50 tw-border-b"},s.createElement(M.E,{className:"tw-h-4 tw-flex-[2]"}),s.createElement(M.E,{className:"tw-h-4 tw-flex-[2]"}),s.createElement(M.E,{className:"tw-h-4 tw-flex-[1.5]"}),s.createElement(M.E,{className:"tw-h-4 tw-flex-1"})),[...Array(3)].map((e,t)=>s.createElement("div",{key:t,className:"tw-flex tw-items-center tw-gap-4 tw-p-3 tw-border-b last:tw-border-b-0"},s.createElement("div",{className:"tw-flex tw-items-center tw-gap-3 tw-flex-[2]"},s.createElement(M.E,{className:"tw-h-8 tw-w-8 tw-rounded-full"}),s.createElement(M.E,{className:"tw-h-4 tw-w-24"})),s.createElement(M.E,{className:"tw-h-4 tw-w-32 tw-flex-[2]"}),s.createElement(M.E,{className:"tw-h-6 tw-w-16 tw-rounded-full tw-flex-[1.5]"}),s.createElement(M.E,{className:"tw-h-4 tw-w-14 tw-flex-1"})))))):s.createElement(s.Fragment,null,this.renderMissingContactAlert(),this.renderRecipientsTable())),e&&e.field===_.apiError&&s.createElement("p",{className:"tw-text-destructive tw-mt-2"},e.message))}}var J=a(39453),X=a(76245),Z=Object.defineProperty,ee=Object.defineProperties,te=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,se=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,re=(e,t,a)=>t in e?Z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,ie=(e,t)=>{for(var a in t||(t={}))se.call(t,a)&&re(e,a,t[a]);if(ae)for(var a of ae(t))ne.call(t,a)&&re(e,a,t[a]);return e},le=(e,t)=>
1ee(e,te(t));class oe extends s.Component{constructor(e){super(e),this._isRevertingContact=!1,this.getContactFilterParam=()=>{const{contactFilter:e,channel:t}=this.state;if(e!==U.ALL)return e===U.HAS_CONTACT?t===G.SMS?V.HAS_PHONE:V.HAS_EMAIL:t===G.SMS?V.MISSING_PHONE:V.MISSING_EMAIL},this.fetchPassports=(e,t)=>{const{pass:a}=this.props,{deliveryStatusFilter:s}=this.state;if(!a.isGroupPass())return;this.setState({isLoadingPassports:!0});const n=s===z.ALL?void 0:s,r=this.getContactFilterParam();p.Ay.fetchGroupPassChildPasses(a.id,{page:t,pageSize:5,passDeliveryStatus:n,contactFilter:r}).then(({passports:e,total:a})=>{this.setState({passports:e,passportsTotal:a,passportsPage:t,isLoadingPassports:!1})}).catch(e=>{console.error(e),this.setState({isLoadingPassports:!1})})},this.fetchProfileData=e=>{const{pass:t}=this.props;this.setState({isLoadingData:!0}),new p.Ay(t).fetchPassSendPreview({phone:e===G.SMS?"0":"1",email:e===G.EMAIL?"0":"1"}).then(({total:e})=>{this.setState({isLoadingData:!1,missingContactCount:e})}).catch(e=>{console.error(e);const t=e instanceof J.LG?e.getFormattedMessage():e instanceof Error?e.message:"An unknown error occurred",a=new N.j(_.apiError,t);this.setState({error:a,isLoadingData:!1})})},this.isSmsOutOfBalance=()=>{const{planEntitlements:e}=this.props,{channel:t}=this.state;if(t!==G.SMS||!e)return!1;const a=e.sms;return-1!==a.limit&&a.remaining<=0},this.computeIsSendDisabled=()=>{const{status:e,isLoadingData:t,isLoadingPassports:a,messageSafetyStatus:s,showCaptcha:n}=this.state;return e===T.SENDING||t||a||s===O.CHECKING||s===O.UNSAFE||n||this.isSmsOutOfBalance()},this.getSendDisabledReason=()=>{const{messageSafetyStatus:e}=this.state;return e===O.UNSAFE?"Your message contains unsafe content. Please revise it before sending.":this.isSmsOutOfBalance()?"You have no SMS balance remaining. Please upgrade your plan to send SMS.":void 0},this._validate=()=>{const{destination:e,channel:t}=this.state,{pass:a}=this.props;if(!a.isGroupPass()&&("string"==typeof e&&""===e.trim()||"number"==typeof e&&isNaN(e))){const e="You must put a "+(t===G.EMAIL?"email":"phone");return new N.j(_.destination,e)}},this.didSendPass=()=>{const{messageSafetyStatus:e}=this.state;if(this.isSmsOutOfBalance()){const e=new N.j(_.apiError,"You have no SMS balance remaining. Please upgrade your plan to send SMS.");return this.setState({error:e})}if(e===O.CHECKING){const e=new N.j(_.apiError,"Please wait while we check message safety");return this.setState({error:e})}const t=this._validate();if(void 0!==t)return this.setState({error:t});this.setState({showCaptcha:!0,error:void 0})},this.handleCaptchaVerify=e=>{const{pass:t,onSuccess:a}=this.props,{channel:s,destination:n,passDeliveryFormat:r,message:i,deliveryStatusFilter:l,contactFilter:c,passports:m}=this.state;this.setState({captchaToken:e,status:T.SENDING,showCaptcha:!1});const d=l!==z.ALL||c!==U.ALL?m.map(e=>e.id):void 0;new p.Ay(t).sendPass({channel:s===G.SMS?"sms":"email",sharingType:r===R.IMAGE?"image":"weblink",contact:n.trim().toString(),message:""===i.trim()?void 0:i.trim(),captchaToken:e,childPassIds:d}).then(e=>{this.setState(e=>({channel:G.EMAIL,destination:this.props.email||"",passDeliveryFormat:R.WEB,message:"",error:void 0,status:T.STANDBY,captchaToken:null,showCaptcha:!1,captchaKey:e.captchaKey+1,messageSafetyStatus:O.IDLE,unsafeUrls:[],contentRisks:[]})),o.oR.success("Pass sent successfully!"),this.props.toggle(),a&&a()}).catch(e=>{console.error(e);const t=e instanceof J.LG?e.getFormattedMessage():e instanceof Error?e.message:"An unknown error occurred",a=new N.j(_.apiError,t);this.setState(e=>({status:T.STANDBY,error:a,captchaToken:null,showCaptcha:!1,captchaKey:e.captchaKey+1})),o.oR.error(t)})},this.checkMessageSafety=async()=>{var e,t,a,s;const{message:n,checkedMessages:r}=this.state;if(n&&""!==n.trim()){if(r.has(n)){const e=r.get(n);return void(e.safe?this.setState({messageSafetyStatus:O.SAFE,unsafeUrls:[],contentRisks:[]}):this.setState({messageSafetyStatus:O.UNSAFE,unsafeUrls:e.unsafeUrls,contentRisks:e.contentRisks}))}this.setState({messageSafetyStatus:O.CHECKING});try{const i=await p.Ay.checkMessageSafety(n),l=new Map(r);l.set(n,{safe:i.data.safe,contentRisks:(null==(e=i.data.contentCheck)?void 0:e.risks)||[],unsafeUrls:(null==(t=i.data.urlCheck)?void 0:t.unsafeUrls)||[]}),i.data.safe?this.setState({messageSafetyStatus:O.SAFE,unsafeUrls:[],contentRisks:[],checkedMessages:l}):this.setState({messageSafetyStatus:O.UNSAFE,unsafeUrls:(null==(a=i.data.urlCheck)?void 0:a.unsafeUrls)||[],contentRisks:(null==(s=i.data.contentCheck)?void 0:s.risks)||[],checkedMessages:l})}catch(e){console.error("Message safety check failed:",e),this.setState({messageSafetyStatus:O.IDLE,unsafeUrls:[],contentRisks:[]})}}else this.setState({messageSafetyStatus:O.IDLE,unsafeUrls:[],contentRisks:[]})},this.onChannelToggle=e=>{const{pass:t}=this.props;let a=G.EMAIL;switch(e){case G.SMS:a=G.SMS;break;case G.EMAIL:a=G.EMAIL;break;default:console.warn("[GroupPassShareModal]","onChannelToggle","unknown channel",e)}t.isGroupPass()&&(this.fetchProfileData(a),this.fetchPassports(a,0)),this.setState({channel:a,destination:a===G.EMAIL?this.props.email||"":this.props.sms||"",error:void 0,passDeliveryFormat:R.WEB,passportsPage:0,deliveryStatusFilter:z.ALL,contactFilter:U.ALL})},this.onDestinationChange=e=>
1{this.setState({destination:e})},this.onMessageChange=e=>{const t=e.target.value;this.setState({message:t},()=>{this._messageSafetyTimeout&&clearTimeout(this._messageSafetyTimeout),this._messageSafetyTimeout=window.setTimeout(this.checkMessageSafety,750)})},this.onPassDeliveryFormatChange=e=>{this.setState({passDeliveryFormat:e})},this.onPageChange=e=>{const{channel:t}=this.state;this.fetchPassports(t,e)},this.onDeliveryStatusFilterChange=e=>{this.setState({deliveryStatusFilter:e,passportsPage:0,isLoadingPassports:!0},()=>{this.fetchPassports(this.state.channel,0)})},this.onContactFilterChange=e=>{this.setState({contactFilter:e,passportsPage:0,isLoadingPassports:!0},()=>{this.fetchPassports(this.state.channel,0)})},this.onResetFilters=()=>{this.setState({deliveryStatusFilter:z.ALL,contactFilter:U.ALL,passportsPage:0,isLoadingPassports:!0},()=>{this.fetchPassports(this.state.channel,0)})},this.handleContactCellValueChanged=async e=>{if(this._isRevertingContact)return;const{data:t,colDef:a,newValue:s,oldValue:n}=e;if(s===n)return;const r=null==t?void 0:t.profile;if(!(null==r?void 0:r.id))return;const i=a.field,l=null==i?void 0:i.split(".")[1];if("email"!==l&&"phone"!==l)return;const c="string"==typeof s?s.trim():s;if(c&&"email"===l&&!(0,X.B9)(c))return this._isRevertingContact=!0,e.node.setDataValue(i,n),this._isRevertingContact=!1,void o.oR.error("Please enter a valid email address");try{const e=new h.A(le(ie({},r),{createdAt:r.createdAt||Math.floor(Date.now()/1e3),updatedAt:r.updatedAt||Math.floor(Date.now()/1e3)})),t=new u.Ay(e);await t.updateProfile(new u.xL({[l]:s}));const a=!("string"==typeof n?n.trim():n),i=!c,m=a&&!i?-1:!a&&i?1:0;this.setState(e=>({passports:e.passports.map(e=>{var t;return(null==(t=e.profile)?void 0:t.id)===r.id?le(ie({},e),{profile:le(ie({},e.profile),{[l]:c})}):e}),missingContactCount:e.missingContactCount+m})),o.oR.success("Contact updated successfully")}catch(t){console.error("[GroupPassShareModal] handleContactCellValueChanged() error:",t),this._isRevertingContact=!0,e.node.setDataValue(i,n),this._isRevertingContact=!1;const a=t instanceof J.LG?t.getFormattedMessage():t instanceof Error?t.message:"Failed to update contact";o.oR.error(`Error updating contact: ${a}`)}},this.onCaptchaExpire=()=>{this.setState({captchaToken:null})},this.onCaptchaError=()=>{this.setState({captchaToken:null})},this.renderSMSBalance=e=>{const{plan:t}=this.props,a=e.sms;return-1===a.limit?null:s.createElement("p",{className:"tw-text-xs tw-text-muted-foreground tw-mb-0 tw-text-right"},a.remaining,"/",a.limit," SMS sends remaining")},this.renderGroupPassFooter=()=>{const{toggle:e,planEntitlements:t}=this.props,{passports:a,passportsTotal:n,missingContactCount:i,showCaptcha:o,captchaKey:h,channel:p}=this.state;return s.createElement("div",{className:"tw-flex tw-flex-col tw-w-full tw-gap-3"},s.createElement("div",{className:"tw-flex tw-items-center tw-justify-between tw-pt-4 tw-border-t tw-w-full"},s.createElement("div",{className:"tw-flex tw-flex-col tw-gap-1"},s.createElement("div",{className:"tw-flex tw-items-center tw-gap-1"},a.slice(0,5).map((e,t)=>{const a=e.profile,n=(null==a?void 0:a.name)||"Unknown";return s.createElement("div",{key:e.id||t,style:{marginLeft:t>0?"-8px":"0",zIndex:5-t}},s.createElement(c.A,{size:m.g.VERY_SMALL,profileName:n,avatarUrl:null==a?void 0:a.avatarURL,avatarClassName:"tw-border-2 tw-border-white"}))})),s.createElement("div",{className:"tw-flex tw-flex-col"},s.createElement("p",{className:"tw-text-sm tw-text-foreground tw-mb-0 tw-font-medium"},a.slice(0,3).map(e=>{var t;return(null==(t=e.profile)?void 0:t.name)||"Unknown"}).join(", "),n>3&&` and ${n-3} others`),s.createElement("p",{className:"tw-text-sm tw-text-muted-foreground tw-mb-0"},this.getSendDisabledReason()?s.createElement("span",{className:"tw-text-destructive"},this.getSendDisabledReason()):n-i>0&&n-i+" will receive this pass"))),s.createElement("div",{className:"tw-flex tw-gap-2"},s.createElement(r.$,{variant:"outline",onClick:e},"Cancel"),s.createElement(r.$,{onClick:this.didSendPass,disabled:this.computeIsSendDisabled()},s.createElement(l.A,{className:"tw-h-4 tw-w-4 tw-mr-2"}),"Send Passes"))),p===G.SMS&&t&&this.renderSMSBalance(t),o&&s.createElement("div",{className:"tw-w-full"},s.createElement(d.A,{key:h,onVerify:this.handleCaptchaVerify,onExpire:this.onCaptchaExpire,onError:this.onCaptchaError,theme:"light",size:"flexible"})))},this.renderSinglePassFooter=()=>{const{toggle:e,planEntitlements:t}=this.props,{status:a,showCaptcha:n,captchaKey:i,channel:o}=this.state;return s.createElement("div",{className:"tw-flex tw-flex-col tw-w-full tw-gap-3 tw-pt-4 tw-border-t"},s.createElement("div",{className:"tw-flex tw-gap-2 tw-justify-end"},s.createElement(r.$,{variant:"outline",onClick:e},"Cancel"),s.createElement(r.$,{onClick:this.didSendPass,disabled:this.computeIsSendDisabled()},s.createElement(l.A,{className:"tw-h-4 tw-w-4 tw-mr-2"}),a===T.SENDING?"Sending...":"Send Pass")),o===G.SMS&&t&&this.renderSMSBalance(t),n&&s.createElement("div",{className:"tw-w-full"},s.createElement(d.A,{key:i,onVerify:this.handleCaptchaVerify,onExpire:this.onCaptchaExpire,onError:this.onCaptchaError,theme:"light",size:"flexible"})))},this.state={channel:G.EMAIL,destination:e.email||"",passDeliveryFormat:R.WEB,message:"",status:T.STANDBY,error:void 0,isLoadingData:!1,missingContactCount:0,passports:[],passportsTotal:0,passportsPage:0,isLoadingPassports:!1,deliveryStatusFilter:z.ALL,contactFilter:U.ALL,captchaToken:null,
1showCaptcha:!1,captchaKey:0,messageSafetyStatus:O.IDLE,unsafeUrls:[],contentRisks:[],checkedMessages:new Map}}componentDidMount(){const{pass:e}=this.props,{channel:t}=this.state;e.isGroupPass()&&(this.fetchProfileData(t),this.fetchPassports(t,0))}render(){const{toggle:e,isOpen:t,sms:a,email:r,pass:i,planEntitlements:l}=this.props,{channel:o,destination:c,message:m,passDeliveryFormat:d,status:h,error:p,missingContactCount:u,passports:w,passportsTotal:g,passportsPage:E,isLoadingData:f,isLoadingPassports:S,showCaptcha:v,captchaKey:C,messageSafetyStatus:b,unsafeUrls:y,contentRisks:N,deliveryStatusFilter:A,contactFilter:P}=this.state;return s.createElement(n.lG,{open:t,onOpenChange:e},s.createElement(n.Cf,{className:"sm:tw-max-w-[50rem] tw-max-h-[90vh] !tw-grid-rows-[auto_1fr_auto] tw-overflow-hidden"},s.createElement(n.c7,null,s.createElement(n.L3,{className:"tw-text-2xl tw-font-bold tw-mb-0"},i.isGroupPass()?"Send Passes":"Send Pass"),s.createElement(n.rr,null,i.isGroupPass()?"Choose how you'd like to deliver passes to your recipients.":"Choose how you'd like to deliver this pass.")),s.createElement("div",{className:"tw-flex-1 tw-overflow-y-auto"},s.createElement("div",{className:"tw-px-1"},s.createElement(Q,{pass:i,email:r,sms:a,planEntitlements:l,channel:o,destination:c,message:m,passDeliveryFormat:d,status:h,error:p,missingContactCount:u,passports:w,passportsTotal:g,passportsPage:E,isLoadingData:f,isLoadingPassports:S,showCaptcha:v,captchaKey:C,messageSafetyStatus:b,unsafeUrls:y,contentRisks:N,isSendDisabled:this.computeIsSendDisabled(),sendDisabledReason:this.getSendDisabledReason(),onChannelToggle:this.onChannelToggle,onDestinationChange:this.onDestinationChange,onMessageChange:this.onMessageChange,onPassDeliveryFormatChange:this.onPassDeliveryFormatChange,onSendPass:this.didSendPass,onPageChange:this.onPageChange,onCaptchaVerify:this.handleCaptchaVerify,onCaptchaExpire:this.onCaptchaExpire,onCaptchaError:this.onCaptchaError,deliveryStatusFilter:A,contactFilter:P,onDeliveryStatusFilterChange:this.onDeliveryStatusFilterChange,onContactFilterChange:this.onContactFilterChange,onResetFilters:this.onResetFilters,onContactCellValueChanged:this.handleContactCellValueChanged}))),s.createElement(n.Es,null,i.isGroupPass()?this.renderGroupPassFooter():this.renderSinglePassFooter())))}}const ce=(0,i.Ng)(({plan:e})=>({plan:e.plan,planEntitlements:e.entitlements}),e=>({}))(oe)},51847(e,t,a){a.d(t,{IM:()=>n,JV:()=>i,PQ:()=>l});var s=a(39453);function n(e){const t=e.trim().split(/\s+/).filter(e=>e.length>0);return 0===t.length?"?":1===t.length?t[0].charAt(0).toUpperCase():(t[0].charAt(0)+t[t.length-1].charAt(0)).toUpperCase()}const r=new Set(["qr","sms","api"]);function i(e){const t=e.split(/[-_\s]+/).filter(e=>e.length>0);return 0===t.length?e:t.map(e=>{const t=e.toLowerCase();return r.has(t)?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1)}).join(" ")}function l(e){return e instanceof s.LG&&404===e.code}},64587(e,t,a){a.d(t,{A:()=>i});var s=a(63696),n=a(98262),r=a(19009);const i=function({pass:e,hideBarcodeBottomText:t,qrSize:a=160}){const i=e.barcodeFormat?e.barcodeFormat:void 0,l=e.barcodeValue?e.barcodeValue:void 0;if(e.isPassTypeBarCode()&&l)return s.createElement(n.A,{hideBottomText:t,value:l,format:i});const o=e.getCustomQrCodeValue();return e.isPassTypeCustomQrCode()&&o?s.createElement(r.A,{id:`pass-customqr-${e.id}`,value:o,qrSize:a}):s.createElement(r.A,{id:`pass-qr-${e.id}`,value:JSON.stringify({uid:e.uid}),qrSize:a})}},23554(e,t,a){a.d(t,{A:()=>p});var s=a(63696),n=a(28904),r=a.n(n),i=a(82519),l=a(85363),o=a(56420),c=a(98262),m=a(59390);const d="[PassScanComponent]";class h extends s.Component{constructor(e){super(e),this.startScanning=()=>{var e;console.log("startScanning"),this.setState({scannedCode:void 0});const t=null==(e=this.webcamRef)?void 0:e.current.video;if(!t){const e="cannot initialize scanner - video canvas not found";return console.error(d,e),this.setState({error:new Error(e)})}this.reader.decodeFromVideoElementContinuously(t,this.onCodeDetection).then(()=>{this.setState({initializing:!1,scanning:!0})}).catch(e=>{let t="Failed to initialize the scanner";e&&e.message&&(t=e.message),this.setState({scanning:!1,initializing:!1,error:new Error(t)})})},this.stopScanning=()=>{console.log(d,"stopScanning"),this.reader.stopContinuousDecode(),this.setState({scanning:!1})},this.onCodeDetection=(e,t)=>{if(t&&!(t instanceof l.X6))return console.error(d,t);if(e){const{scannedCode:t}=this.state,{enablePreview:a,onCodeDetection:s}=this.props,n=e.getText(),r=e.getBarcodeFormat();let i;switch(r){case l.Gi.UPC_A:i=o.Gi.UPC_A;break;case l.Gi.CODE_39:i=o.Gi.Code39;break;case l.Gi.CODE_128:i=o.Gi.Code128;break;case l.Gi.EAN_13:i=o.Gi.EAN13;break;case l.Gi.UPC_E:i=o.Gi.UPC_E;break;case l.Gi.ITF:i=o.Gi.Itf;break;case l.Gi.QR_CODE:i=void 0;break;default:return this.setState({error:new Error(`invalid barcode: ${r}(${n}`)})}if(a)return this.setState({scannedCode:{format:i,value:n}});this.stopScanning(),s(n,i)}},this.didConfirmClick=()=>{const{onCodeDetection:e}=this.props,{scannedCode:t}=this.state;t&&e(t.value,t.format)},this.state={scanning:!1,initializing:!0},this.webcamRef=s.createRef();const t=new Map,a=[l.Gi.CODE_128,l.Gi.CODE_39,l.Gi.UPC_A,l.Gi.UPC_E,l.Gi.EAN_13,l.Gi.ITF];e.disableQR||a.push(l.Gi.QR_CODE),t.set(l.Es.POSSIBLE_FORMATS,a),this.reader=new l.sx(t,500),this.onCodeDetection=this.onCodeDetection.bind(this),this.startScanning=this.startScanning.bind(this),this.stopScanning=this.stopScanning.bind(this),this.didConfirmClick=this.didConfirmClick.bind(this)}componentDidMount(){this.startScanning()}componentWillUnmount(){this.stopScanning()}render(){const{scanning:e,scannedCode:t,error:a,initializing:n}=this.state,{enablePreview:l}=this.props;return s.createElement("div",null,s.createElement(r(),{className:"tw-w-full",style:{maxHeight:160,objectFit:"cover"},videoConstraints:{width:1280,height:600},audio:!1,ref:this.webcamRef}),n&&s.createElement("div",{className:"tw-flex tw-items-center tw-justify-center tw-py-8"},s.createElement(m.A,null)),a&&s.createElement("p",{className:"tw-text-destructive tw-text-center tw-text-sm"},a.message),t&&l&&void 0!==t.format&&s.createElement("div",{className:"tw-my-3 tw-text-center"},s.createElement("h2",{className:"tw-mb-2 tw-text-lg tw-font-semibold"},"Scanned Barcode ",s.createElement("span",{className:"tw-text-sm tw-font-normal"},"(",t.format,")")),s.createElement(c.A,{containerClassName:"tw-pb-3",value:t.value,format:t.format}),s.createElement(i.$,{onClick:this.didConfirmClick},"Confirm")))}}const p=h},14987(e,t,a){a.d(t,{A:()=>w});
1var s=a(63696),n=a(19720),r=a(67201),i=a(93354),l=a(39453),o=a(84095),c=a(13461),m=a(64587),d=a(82519),h=a(16125),p=a(28098);const u=e=>e instanceof l.LG?e.getFormattedMessage():e instanceof Error?e.message:"An unknown error occurred";class w extends s.Component{constructor(e){super(e),this.state={isLoading:!0,passes:[],error:void 0,visibleModal:void 0},this.loadPasses=this.loadPasses.bind(this),this.openCreateModal=this.openCreateModal.bind(this),this.openViewAllModal=this.openViewAllModal.bind(this),this.closeModal=this.closeModal.bind(this),this.handleModalReload=this.handleModalReload.bind(this)}componentDidMount(){this.loadPasses()}componentDidUpdate(e){e.profile.id!==this.props.profile.id&&(this.setState({isLoading:!0,passes:[],error:void 0,visibleModal:void 0}),this.loadPasses())}async loadPasses(){this.setState({isLoading:!0,error:void 0});try{const e=await i.Ay.fetchPassports({profileId:this.props.profile.id,sortBy:"type"});this.setState({passes:e,isLoading:!1})}catch(e){console.error("[PassesSection]","loadPasses",e),this.setState({error:u(e),isLoading:!1})}}openCreateModal(){this.setState({visibleModal:"create"})}openViewAllModal(){this.setState({visibleModal:"viewAll"})}closeModal(){this.setState({visibleModal:void 0})}handleModalReload(){this.closeModal(),this.loadPasses()}render(){const{profile:e,errorMode:t="banner",hideWhenEmpty:a=!1}=this.props,{passes:i,isLoading:l,error:u,visibleModal:w}=this.state,g=i[0];return a&&l?null:!a||l||u||g?s.createElement("section",{className:"tw-rounded-xl tw-border tw-border-gray-200 tw-bg-white tw-px-6 tw-py-6"},s.createElement("div",{className:"tw-mb-4 tw-flex tw-items-center tw-justify-between tw-gap-2"},s.createElement("h2",{className:"tw-m-0 tw-text-base tw-font-bold tw-text-gray-900"},"Passes"),s.createElement("div",{className:"tw-flex tw-items-center tw-gap-2"},s.createElement(d.$,{type:"button",size:"icon",onClick:this.openCreateModal,className:"tw-h-8 tw-w-8 tw-bg-gray-900 tw-text-white hover:tw-bg-gray-900/90"},s.createElement(r.A,{className:"tw-h-4 tw-w-4"})),i.length>0&&s.createElement("div",{className:"tw-relative"},s.createElement("span",{className:"tw-absolute -tw-right-2 -tw-top-2 tw-flex tw-h-5 tw-min-w-5 tw-items-center tw-justify-center tw-rounded-full tw-bg-gray-900 tw-px-1 tw-text-xs tw-font-medium tw-text-white"},i.length),s.createElement(d.$,{type:"button",variant:"outline",size:"sm",onClick:this.openViewAllModal},"View All")))),l&&s.createElement("div",{className:"tw-space-y-3"},s.createElement(p.E,{className:"tw-mx-auto tw-h-40 tw-w-40"}),s.createElement(p.E,{className:"tw-mx-auto tw-h-4 tw-w-1/2"})),!l&&u&&"banner"===t&&s.createElement(h.Fc,{variant:"destructive"},s.createElement(n.A,{className:"tw-h-4 tw-w-4"}),s.createElement(h.XL,null,"Could not load passes"),s.createElement(h.TN,null,u)),!l&&!u&&g&&(()=>{const e=Math.min(i.length-1,2);return s.createElement("div",{className:"tw-flex tw-flex-col tw-items-center tw-gap-3"},s.createElement("div",{className:"tw-relative",style:{paddingBottom:10*e}},Array.from({length:e}).map((e,t)=>s.createElement("div",{key:t,className:"tw-absolute tw-rounded-xl tw-border tw-border-gray-200 tw-bg-white",style:{inset:0,top:10*(t+1)}})),s.createElement("div",{className:"tw-relative tw-rounded-xl tw-border tw-border-gray-200 tw-bg-white tw-p-4"},s.createElement(m.A,{pass:g,qrSize:160,hideBarcodeBottomText:!0}))),s.createElement("div",{className:"tw-text-center"},s.createElement("p",{className:"tw-mb-0 tw-text-sm tw-font-medium tw-text-gray-900"},g.getName())))})(),!l&&!u&&!g&&s.createElement("p",{className:"tw-text-sm tw-text-gray-500"},"No passes yet."),"create"===w&&s.createElement(o.A,{isOpen:!0,toggle:this.closeModal,profileId:e.id,onCreatePass:this.handleModalReload}),"viewAll"===w&&s.createElement(c.A,{isOpen:!0,onClose:this.closeModal,profile:e,passes:i,onPassesUpdated:this.loadPasses})):null}}},73423(e,t,a){a.d(t,{A:()=>r});var s=a(63696),n=a(88645);const r=({password:e})=>e?s.createElement("ul",{className:"password-checklist"},n.F.map(t=>{const a=t.test(e);return s.createElement("li",{key:t.label,style:{color:a?"#28a745":"#dc3545"}},a?"✓":"✗"," ",t.label)})):null}}]);
2//# chunkId=01a0f391-acac-7ce0-8f68-155b1d4da745

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.