1import{j as e,a as o,F as J}from"./emotion_react-BVPf6G3j.js";import{r as h,R as It}from"./react-C9FX0eBv.js";import{H as At}from"./react-helmet-MQQA5Dgx.js";import{T as Vt}from"./TabStackView-D3ra6riA.js";import{cG as Dt,cx as Tt,an as Ue,aR as St,L as F,B as _,b9 as Et,D as j,C as le,aB as xt,cP as zt,cR as Be,bC as ee,a$ as Pt,bK as Mt,aO as kt,b as ie,ak as We,u as ue,bS as Ye,E as de,cS as Rt,cT as Lt,cU as _t,cV as Ft,cW as Ot,z as ge,cX as $t,bO as qt,aQ as Kt,aq as Ht}from"./affiliateProgram-P2hj8LxP.js";import{bY as Ne,cz as Ut,cg as Ie,cS as Ae,cT as Ve,cO as Bt,ah as Wt,cx as Yt,bu as Gt,cU as jt,D as Zt,H as Ge,C as Xt,aa as je,cV as Ze,bo as Qt,e as Jt,aM as ei,cW as ti,q as ii,br as ni,a3 as ai,cX as oi,cY as si,a9 as ri,cZ as ci,c_ as li,a8 as di,c$ as mi,cw as ui,ba as pi,a7 as gi,d0 as hi,a4 as fi,d1 as yi,A as bi,K as vi,d2 as wi,X as Ci,O as Ni,J as Ii}from"./mui_icons-material-AUoORzUP.js";import{c as ne,l as Ai,o as xe,s as Vi,e as Di}from"./lodash-BJJwIU1B.js";import{c as Q}from"./settingsTabAccess-BZZhZwPm.js";import Ti from"./OrganizationUsersView-VX5tiLgw.js";import Si from"./OrganizationSubscriptionView-rFglPnAF.js";import Ei from"./OrganizationIntegrationsView-BD2P2sKW.js";import xi from"./OrganizationItemCategoriesView-5tlnuCUR.js";import zi from"./OrganizationHashTagsView--T4IZ-fZ.js";import Pi from"./OrganizationPaymentMethodsView-DR3V2L0Y.js";import{P as g}from"./prop-types-BhtEdj74.js";import{F as K}from"./FlashMessage-T5q3Y7hZ.js";import{L as Mi}from"./ListEditor-Bd2jXzK6.js";import{r as ki,j as Ri,S as he,a as Li,o as _i}from"./wrappedInputFields-DTk4aCZT.js";import{N as pe}from"./NoContentPlaceholder-Ca-kwmCS.js";import{P as M}from"./PageHeader-CjznD-Ez.js";import{D as R}from"./DashboardPageContent-CVyBfamO.js";import{D as z}from"./DashboardCard-AemqOjam.js";import{u as Fi}from"./hooks-D-8yNvfq.js";import{u as De}from"./useOrganizationSettings-BALNs4u0.js";import{i as oe}from"./inputLimits-C6TyfMS3.js";import{u as x,T as Xe}from"./react-i18next-D67ENad-.js";import Oi from"./OrganizationTaxRatesView-DYU-W5UX.js";import{L as $i,u as qi}from"./react-router-dom-P_DllCrA.js";import{a as ae}from"./react-router-C3Rcsaz-.js";import{L as Ki}from"./ListSelectInput-BcAmTZA3.js";import{M as Hi}from"./ModalViewHeader-DHXqigfk.js";import{a as Te,b as Qe,c as Ui,o as Bi}from"./hooks-B9SQ7kRw.js";import{M as te}from"./react-moment-Ct9a_n-K.js";import{P as Wi}from"./PopupMenu-CrRz7llG.js";import{d as Yi}from"./utils-BwD_nkr7.js";import{M as Je}from"./MultipleChoiceBar-Cbnu5mHp.js";import{D as ze,a as Pe,P as Gi,A as et,b as tt,R as Me}from"./RecurringDocumentAutomationEditor-BBGtS3Kp.js";import it from"./react-hot-toast-DxL42CuQ.js";import{a as ji}from"./hooks-BV96wozt.js";import{u as Zi}from"./hooks-oQ1-DVrz.js";import{c as Xi}from"./hooks-Cw_b41jO.js";import{I as Qi}from"./ItemCategorySelect-CPTZoEb0.js";import{S as Ji}from"./CheckboxInput-DGRLlNdU.js";import{m as G}from"./framer-motion-piYoXb_9.js";import{debugPrintAndLogError as Se}from"./logger-DzCVGiID.js";import{u as en}from"./hooks-mOyhV8xa.js";import{F as tn}from"./fortawesome_react-fontawesome-Cuc6mC5c.js";import{h as nn}from"./fortawesome_free-solid-svg-icons-BNDI4WTj.js";import{I as an}from"./IconButton-ClHjzMSl.js";import{C as on}from"./CustomContentSidebar-xEeUo-ao.js";import{A as sn}from"./Accordion-BrsewogK.js";import{T as rn}from"./TextAreaInput-DfM1Sxsr.js";import{c as me,e as cn}from"./posthog-D2PZtCZ-.js";import{B as ln}from"./BreadCrumb-4IXTfscb.js";import{R as dn}from"./ResultPager-QBbEeHDS.js";import mn from"./EmailReceiptsSettingsView-C73TE8MO.js";import un from"./DashboardAccountsView-RfHnxOCc.js";import pn from"./ProfileView-DMDkJcvV.js";import{j as gn,J as ke,e as H,x as hn,I as Re,y as fn,E as yn,z as bn,G as vn,K as wn,N as Cn,O as Nn,d as fe,g as Le}from"./mui_material-BiFWnopX.js";import{ad as _e,ai as In}from"./date-fns-DScYpV5L.js";import{u as nt}from"./swr-DdiXrpfJ.js";import{a as An}from"./hooks-CptypQjv.js";import{F as Vn}from"./FillHeightContainer-DJOg9qE_.js";import{Y as Fe}from"./codesweetly_react-youtube-playlist-DmhN8nMG.js";import{c as Dn,d as Tn,D as Sn,e as En,P as xn}from"./dnd-kit_core-C-9yyIfC.js";import{u as zn,a as Pn,S as Mn,v as kn}from"./dnd-kit_sortable-D2wveQQx.js";import{C as Rn}from"./dnd-kit_utilities-BhLVgA2U.js";import{u as Ln}from"./useCustomDataFieldDefinitions-BHSNCA6C.js";import{S as _n}from"./SelectInput-DAVvhnJA.js";import{S as Fn}from"./SparkAgentEntryButton-kv3cpjIZ.js";import{i as On,S as $n}from"./TemplateSettingsForm-CgjAdjmG.js";import{t as qn,a as Kn,u as Hn,S as Un,s as Oe,b as Bn}from"./schedule-c-mapping-view-7U4lnPTt.js";import"./hoist-non-react-statics-B-d788PL.js";import"./attr-accept-BE5kXu1g.js";import"./react-is-CkcYJxFh.js";import"./emotion_cache-DKP5sEOD.js";import"./emotion_sheet-Dg7RO00T.js";import"./stylis-DqWqFrCZ.js";import"./emotion_utils-Clg_WIJS.js";import"./emotion_serialize-2v476EL3.js";import"./emotion_hash-CwjzsPdV.js";import"./emotion_unitless-DHCVFmgU.js";import"./emotion_memoize-77woTfWC.js";import"./emotion_use-insertion-effect-with-fallbacks-BpO5uXTG.js";import"./react-side-effect-DqsBcQ0y.js";import"./react-fast-compare-CJIXDbaj.js";import"./object-assign-dPo7TEcm.js";import"./axios-CDvrNIWm.js";import"./i18next-C6kDbJw5.js";import"./js-base64-BeC_tGAF.js";import"./react-redux-nKfzAp4H.js";import"./react-dom-Bo4UA0lR.js";import"./scheduler-BDk_n4qU.js";import"./use-sync-external-store-CcTmx6fG.js";import"./redux-Myj6fYa9.js";import"./babel_runtime-C_Cjc3Sk.js";import"./redux-devtools-extension-Bg86-J7t.js";import"./redux-first-history-B5KuQWFU.js";import"./redux-saga_core-BF1VVHZt.js";import"./redux-saga_symbols-BFTKvujX.js";import"./redux-saga_is-BqKyWs8n.js";import"./redux-saga_deferred-4sfVhzns.js";import"./redux-saga_delay-p-ndmVJRJb.js";import"./history-BvnFWuQc.js";import"./redux-actions-DUU0ebJa.js";import"./invariant-COjoZ0C5.js";import"./reduce-reducers-DhlM-UTW.js";import"./moment-q-jwNasx.js";import"./jszip-BGTyH2Th.js";import"./analyticsService-BcKN_Mvl.js";
1import"./pdfjs-dist-BewFdSJe.js";import"./firebase_analytics-D6X4yKE_.js";import"./firebase_app-ZNay9Vnv.js";import"./firebase_component-TAF9WINc.js";import"./firebase_util-DAvhdLVf.js";import"./firebase_logger-BQmbZQKK.js";import"./idb-Ceu7aarG.js";import"./firebase_installations-DVPfXkEh.js";import"./stripe_stripe-js-CpGSCrtQ.js";import"./paddle_paddle-js-DCcC9Rpo.js";import"./fortawesome_pro-thin-svg-icons-D8ZJx772.js";import"./react-spinners-CrVD_eO5.js";import"./fortawesome_pro-duotone-svg-icons-0W79YkRM.js";import"./fortawesome_pro-solid-svg-icons-DkS6UlKZ.js";import"./fortawesome_pro-regular-svg-icons-B_TudKvO.js";import"./seatRoster-BuqNUgSS.js";import"./userRoleUtils-CeBgb-OD.js";import"./emailUtils-D5Wur9eX.js";import"./yup-CfgtqdXe.js";import"./nanoclone-BAKL0vFP.js";import"./property-expr-DrgWC0pP.js";import"./toposort-DUHzPpub.js";import"./ModalViewActions-BNctnrwQ.js";import"./VerticalAlignCenter-Bl4R3oJ2.js";import"./timeZones-BBX0kWQg.js";import"./UserAvatar-BkAGjK4T.js";import"./onboardingUtils-Bbler2bd.js";import"./TextInput-_RoCJw2S.js";import"./NavigateLink-CH6rA2k7.js";import"./fortawesome_fontawesome-svg-core-pybwtlQ2.js";import"./goober-Dk0TTqkH.js";import"./remix-run_router-DZbTBZfN.js";import"./index-C5JvfXP5.js";import"./dequal-Dbe6kcBr.js";import"./hey-listen-hAH01MF1.js";import"./html-parse-stringify-rZAr5BWX.js";import"./void-elements-BZ41NvNI.js";import"./react-autosize-textarea-AGtjCChs.js";import"./autosize-D5tY_Gxd.js";import"./line-height-FAjCljCH.js";import"./computed-style-C105sdCe.js";import"./usePrevious-DiVHwgzH.js";import"./react-hook_resize-observer-_5IXbr48.js";import"./juggle_resize-observer-jqI8Tqct.js";import"./react-hook_passive-layout-effect-Duq6Lv0d.js";import"./react-hook_latest-BQVcqgbX.js";import"./react-date-picker-DQBb7Q4W.js";import"./make-event-props-CNbzmWvT.js";import"./clsx-DQJ8k6jq.js";import"./react-calendar-d4c6ViPk.js";import"./get-user-locale-IJxyTfWa.js";import"./mem-C9PEXaLp.js";import"./mimic-fn-CaER66Vr.js";import"./map-age-cleaner-BcqumNMG.js";import"./p-defer-BkbnR653.js";import"./wojtekmaj_date-utils-C9S_1H1p.js";import"./warning-C8XogW1a.js";import"./react-fit-DiQJZ4aT.js";import"./detect-element-overflow-BcL3Z60_.js";import"./update-input-width-FKNyWi_E.js";import"./dateUtils-DZ6uQPK-.js";import"./BrowsePopper-CRBrapQf.js";import"./AutoCompleteInput-Bw3LmMme.js";import"./store-CFvj33Ye.js";import"./dashboardRouteUtils-DAoa1fFh.js";import"./BottomSheet-PDD9E8yS.js";import"./mui_system-c7Y8sudJ.js";import"./mui_styled-engine-JCL4mkx3.js";import"./emotion_styled-Blsdt89w.js";import"./emotion_is-prop-valid-B48Y3GmA.js";import"./mui_utils-NS1P4H2L.js";import"./mui_private-theming-B0SSGScv.js";import"./react-transition-group-CJgQD9Hf.js";import"./popperjs_core-BZJNqh9-.js";import"./MoneyLabel-DLqWYP44.js";import"./StatusBanner-b9BxYAGE.js";import"./founder-joel-call-DSSYEkcc.js";import"./OrganizationHmrcMtdView-D3qugYdC.js";import"./hooks-DID3ZsHA.js";import"./accountLinking-BgWH5A7C.js";import"./api-vMDAvGh0.js";import"./providers-aIP1dRmx.js";import"./react-plaid-link-CmMocEMl.js";import"./tinkLink-Dse94X6P.js";import"./bankActivationReturn-Cgsy9FX-.js";import"./hooks-DgES7bag.js";import"./BankAccountCard-B6BjGvqE.js";import"./api-DMlEiwxv.js";import"./QuickbooksLogo-dQCpp8rD.js";import"./XeroLogo-Cm2_7p-L.js";import"./FreshbooksLogo-CXs4564T.js";import"./ZohoBooksLogo-CJuV_och.js";import"./SageLogo-C7LxnK0u.js";import"./accountingSoftwareUtils-DVTHYTM5.js";import"./FreeagentLogo-D9OXRD_b.js";import"./SimplbooksLogo-CDXb2TXK.js";import"./ProgressBar--pd-U8oz.js";import"./api-CN0_cDum.js";import"./document_transaction_type-D0lHMT98.js";import"./Icon-BT8Iuz3s.js";import"./PageContent-BfenmNWj.js";import"./PageView-wT2Cb7mQ.js";import"./FileDropzone-D8PWyH_l.js";import"./react-dropzone-DRxOakKE.js";import"./file-selector-EzGFT1pO.js";import"./tslib-BDzM6an0.js";import"./CsvViewer-WiSRsXNS.js";import"./react-papaparse-UwrFllY6.js";import"./papaparse-FGZBGzHV.js";import"./api-P-dkNP1u.js";import"./timingUtils-BNDv6KgJ.js";import"./DataTable-DF4JhyxB.js";import"./BatchSelectionBar-Dkhm5B3G.js";import"./showBatchConfirmDialog-CKDo7zPO.js";import"./StatementCascadeChoice-BnBa_1P3.js";import"./SparkAgentWidgetContext-BxmFu13p.js";import"./hooks-DKS4kpmy.js";
1import"./utils-BJr6qS7_.js";import"./fortawesome_free-brands-svg-icons-yZvFy8Z9.js";import"./hooks-DPAG1cai.js";import"./TaxRateTemplateSuggestion-DrP_jxvL.js";import"./utils-C30uuEMP.js";import"./LightContentContainer-BdLKA-IO.js";import"./hooks-DtsISFH0.js";import"./document_tax_modes-Cw1bOJfW.js";import"./TablePagination-NKBfutAx.js";import"./hooks-GdA2sAcK.js";import"./AddEmailSourceModal-Brdlg2Yn.js";import"./emailSourceHelpers-BB55QD1C.js";import"./constants-Cf7BB1Kj.js";import"./PaidFeatureModal-DTvx28Fc.js";import"./PaidFeatureGuard-CiXcN0UX.js";import"./organizationTree-Di39EYXY.js";import"./react-advanced-cropper-BMFgTegn.js";import"./classnames-BXuF2VDH.js";import"./advanced-cropper-t8VQ0zsb.js";import"./dnd-kit_accessibility-DWrsFIoa.js";import"./App-DR_BqZje.js";import"./react-oauth_google-BpWuTlO-.js";import"./loadable_component-BuayeGM4.js";import"./react-linkedin-login-oauth2-CpJ4RCU-.js";import"./i18next-browser-languagedetector-DK__g18a.js";import"./sparkAgentUiActions-CIui0hNT.js";import"./useBrowseFilters-DO8YAhV9.js";import"./constants-DG1tivhz.js";import"./hooks-93OJmWDh.js";import"./api-CWV_602R.js";try{let t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},i=new t.Error().stack;i&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[i]="de23d47f-6368-4444-a651-f85ad883bc05",t._sentryDebugIdIdentifier="sentry-dbid-de23d47f-6368-4444-a651-f85ad883bc05")}catch{}const Wn=t=>{if(t==null||t==="")return!0;const i=parseFloat(t);return Number.isFinite(i)&&i>=0},ye=({label:t,description:i,placeholder:a,invalidMessage:n,settingValue:r,currencyCode:m,loading:s,updating:l,onCommit:d})=>{const[c,u]=h.useState(!1);return s?null:o("div",{className:"default-mileage-rate-section",children:[o("div",{className:"default-rate-text",children:[e("span",{className:"default-rate-label",children:t}),e("span",{className:"default-rate-description",children:i})]}),e(ki,{className:"default-rate-input",theme:"modern",value:r||"",currencyCode:m,ariaLabel:t,placeholder:a,disabled:l,minDecimalPlaces:2,maxDecimalPlaces:4,onChange:f=>{if(f!=null&&!(Number.isFinite(f)&&f>=0)){u(!0);return}u(!1),d(f==null?null:String(f))}}),c&&e("span",{className:"default-rate-error",children:n})]})};ye.propTypes={label:g.string.isRequired,description:g.string.isRequired,placeholder:g.string.isRequired,invalidMessage:g.string.isRequired,settingValue:g.string,currencyCode:g.string,loading:g.bool.isRequired,updating:g.bool.isRequired,onCommit:g.func.isRequired};const at=({settings:t,loading:i,updating:a,updateSettings:n})=>{const{t:r}=x("views");if(i)return null;const m=t?.mileageCurrency||"",s=t?.resolvedMileageCurrency||"USD",l=m||s;return o("div",{className:"default-mileage-rate-section",children:[o("div",{className:"default-rate-text",children:[e("span",{className:"default-rate-label",children:r("organizationVehiclesView.mileageCurrency.label")}),e("span",{className:"default-rate-description",children:r("organizationVehiclesView.mileageCurrency.description")})]}),o("div",{className:"mileage-currency-control",children:[e(Ri,{value:l,labelStyle:"full",disabled:a,onChange:d=>n({mileageCurrency:d||null})}),m?e(_,{theme:"link",className:"mileage-currency-reset",disabled:a,onClick:()=>n({mileageCurrency:null}),children:r("organizationVehiclesView.mileageCurrency.useOwnerCurrency")}):e("span",{className:"mileage-currency-inherited",children:r("organizationVehiclesView.mileageCurrency.inheritedHint",{currency:s})})]})]})};at.propTypes={settings:g.shape({mileageCurrency:g.string,resolvedMileageCurrency:g.string}),loading:g.bool.isRequired,updating:g.bool.isRequired,updateSettings:g.func.isRequired};const ot=()=>{const{t}=x("views"),{vehicles:i,isLoaded:a,error:n,createVehicle:r,updateVehicle:m,deleteVehicle:s}=Fi(),[l]=Dt(Tt),d=Ue(),c=St(),{settings:u,loading:v,updating:f,updateSettings:A}=De(),{role:N}=d,I=u?.distanceUnit==="mi"?"mi":"km",T=u?.resolvedMileageCurrency||"USD",V=h.useRef({}),b=h.useCallback((w,y)=>{V.current[w]=y},[]);if(!a&&!n)return e(F,{});function S(){return N==="contributor"?[{value:d.id,label:d.userDisplayName}]:l.map(w=>({value:w.id,label:w.userDisplayName}))}return o("div",{className:"organization-vehicles-view settings-page-wide",children:[e(M,{title:t("organizationVehiclesView.title"),toolbar:e(_,{icon:e(Ne,{}),onClick:()=>{V.current.create()},children:t("organizationVehiclesView.create")})}),o(R,{children:[c&&o(z,{className:"vehicle-settings-card",children:[e(ye,{label:t("organizationVehiclesView.defaultRate.label",{unit:I}),description:t("organizationVehiclesView.defaultRate.description"),placeholder:t("organizationVehiclesView.defaultRate.placeholder"),invalidMessage:t("organizationVehiclesView.defaultRate.invali
1d"),settingValue:u?.defaultMileageRate,currencyCode:T,loading:v,updating:f,onCommit:w=>A({defaultMileageRate:w})}),e(ye,{label:t("organizationVehiclesView.passengerRate.label",{unit:I}),description:t("organizationVehiclesView.passengerRate.description"),placeholder:t("organizationVehiclesView.passengerRate.placeholder"),invalidMessage:t("organizationVehiclesView.passengerRate.invalid"),settingValue:u?.passengerRatePerUnit,currencyCode:T,loading:v,updating:f,onCommit:w=>A({passengerRatePerUnit:w})}),e(at,{settings:u,loading:v,updating:f,updateSettings:A})]}),!n&&e("p",{className:"settings-intro",children:t(`organizationVehiclesView.helpMessage.${i.length>0?"withVehicles":"noVehicles"}`)}),n&&e(K,{severity:"error",message:t("organizationVehiclesView.loadError")}),o(z,{noPadding:!0,children:[!n&&i.length===0&&e(pe,{}),e(Mi,{items:i,controller:b,actions:["edit","delete"],createEmptyItem:()=>({name:"",registration:"",make:"",model:"",ratePerUnit:"",organizationUserId:S().find(w=>w.value===d.id)?.value||""}),onCreate:async({item:w,onCompletion:y})=>{try{await r(w),y()}catch(E){le({errorDetail:E.message})}},onEdit:async({id:w,newProps:y,onCompletion:E})=>{try{await m(w,y),E()}catch(k){le({errorDetail:k.message})}},onDelete:({id:w,onCompletion:y})=>{j({title:t("organizationVehiclesView.deleteConfirm.title"),message:e(Xe,{ns:"views",i18nKey:"organizationVehiclesView.deleteConfirm.message",values:{name:i.find(E=>E.id===w)?.name},components:{strong:e("strong",{})}}),cancelAction:()=>{y(!1)},confirmAction:async()=>{try{const E=await s(w);y(E.status==="deleted")}catch(E){le({errorDetail:E.message}),y(!1)}}})},fields:w=>[{propName:"name",label:t("organizationVehiclesView.fields.name.label"),placeholder:t("organizationVehiclesView.fields.name.placeholder"),type:"text",included:!0,columnWeight:3,inputProps:{maxLength:oe.vehicle.name.maxLength}},{propName:"registration",label:t("organizationVehiclesView.fields.registration.label"),placeholder:t("organizationVehiclesView.fields.registration.placeholder"),type:"text",included:!0,columnWeight:2,inputProps:{maxLength:oe.vehicle.registration.maxLength}},{propName:"make",label:t("organizationVehiclesView.fields.make.label"),placeholder:t("organizationVehiclesView.fields.make.placeholder"),type:"text",included:!0,columnWeight:2,inputProps:{maxLength:oe.vehicle.make.maxLength}},{propName:"model",label:t("organizationVehiclesView.fields.model.label"),placeholder:t("organizationVehiclesView.fields.model.placeholder"),type:"text",included:!0,columnWeight:2,inputProps:{maxLength:oe.vehicle.model.maxLength}},{propName:"ratePerUnit",label:t("organizationVehiclesView.fields.ratePerUnit.label",{unit:I}),placeholder:t("organizationVehiclesView.fields.ratePerUnit.placeholder"),displayValue:w.ratePerUnit?`${w.ratePerUnit} ${Et(T)}`:"-",type:"money",currencyCode:T,inputProps:{minValue:0,maxDecimalPlaces:4},included:!0,columnWeight:2},{propName:"organizationUserId",label:t("organizationVehiclesView.fields.organizationUserId.label"),icon:e(Ut,{}),columnWeight:2,placeholder:t("organizationVehiclesView.fields.organizationUserId.placeholder"),displayValue:l.find(y=>y.id===w.organizationUserId)?.userEmail||"-",type:"select",included:!0,options:S()}].filter(y=>y.included),itemValidator:w=>{const y=[];return w.name||y.push({propName:"name",message:t("organizationVehiclesView.fields.name.required")}),w.organizationUserId||y.push({propName:"organizationUserId",message:t("organizationVehiclesView.fields.organizationUserId.required")}),Wn(w.ratePerUnit)||y.push({propName:"ratePerUnit",message:t("organizationVehiclesView.fields.ratePerUnit.invalid")}),y}})]})]})]})};ot.propTypes={};const st=({onSelect:t,onClose:i})=>{const{t:a}=x("views");return o("div",{className:"create-organization-automation-modal",children:[e(Hi,{header:a("createOrganizationAutomationModal.title"),onClose:i}),o(xt,{children:[e(K,{severity:"info",message:a("createOrganizationAutomationModal.help")}),e(Ki,{options:[{id:"recurringDocument",name:a("organizationAutomationsView.automationTypes.recurringDocument.title"),description:a("organizationAutomationsView.automationTypes.recurringDocument.description"),icon:e(Ie,{})},{id:"documentAssign",name:a("organizationAutomationsView.automationTypes.documentAssign.title"),description:a("organizationAutomationsView.automationTypes.documentAssign.description"),icon:e(Ae,{})},{id:"aiInstruction",badge:e(zt,{color:"primary",htmlColor:"#000000",textColor:"#ffffff",children:e("span",{children:"Elite"})}),name:a("organizationAutomationsView.automationTypes.aiInstruction.title"),description:a("organizationAutomationsView.automationTypes.aiInstruction.description"),icon:e(Ve,{})}],onSelect:n=>{t(n)}})]})]})};st.propTypes={onSelect:g.func.isRequired,onClose:g.func.isRequired};const Ee=({segments:t})=>!t||t.length===0?e("span",{className:"automation-description",children:"-"}):e("span",{className:"automation-description",children:t.map((i,a)=>e("span",{className:`desc-segment desc-segment-${i.style||"default"}`,children:i.text},a))});
1Ee.propTypes={segments:g.arrayOf(g.shape({text:g.string.isRequired,style:g.oneOf(["label","emphasis","default"])}))};const Yn={documentAssign:"#622b48",aiInstruction:"#0047AB"};function Gn(t,i){return t==="recurringDocument"?Yi(i):Yn[t]||"#555"}function jn(t,i){return{recurringDocument:e(Ie,{htmlColor:i,fontSize:"small"}),documentAssign:e(Ae,{htmlColor:i,fontSize:"small"}),aiInstruction:e(Ve,{htmlColor:i,fontSize:"small"})}[t]||null}function Zn(t,i){return t==="recurringDocument"?i.documentTransactionType:t==="documentAssign"?i.sourceTransactionType:t==="aiInstruction"?i.transactionType:"expense"}const rt=({automation:t})=>{const{t:i}=x(["views","meta"]),a=ae(),n=Be(),r=Te(),[m,s]=h.useState(!1),{organizationAutomation:l}=t,d=ne(l.kind),c=Zn(d,t),u=Gn(d,c);function v(){const I={recurringDocument:"recurring-document",documentAssign:"document-assign",aiInstruction:"ai-instruction"}[d];if(!I)throw new Error(`Unknown automation kind: ${d}`);a(`/dashboard/settings?tab=automations&mode=edit&type=${I}&id=${t.id}`)}function f(){a(`/dashboard/settings?tab=automations&mode=activity-log&automationId=${l.id}`)}function A(){j({title:i("organizationAutomationItem.deleteConfirm.title"),message:i("organizationAutomationItem.deleteConfirm.message"),confirmAction:async()=>{s(!0);const I={recurringDocument:r.recurringDocumentAutomation,documentAssign:r.documentAssignAutomation,aiInstruction:r.aiInstructionAutomation}[d];if(!I)throw new Error(`Unknown automation kind: ${d}`);try{await I.destroy({id:t.id})}finally{s(!1)}}})}return o("tr",{className:`automation-row ${m?"destroying":""}`,children:[e("td",{className:"col-type",children:o("div",{className:"type-cell",children:[e("span",{className:"type-icon",children:jn(d,u)}),e("span",{className:"type-label",style:{color:u},children:i(`meta:organizationAutomations.${d}.${c}`)})]})}),e("td",{className:"col-description",children:e(Ee,{segments:t.description})}),e("td",{className:"col-latest-activation",children:l.lastRunAt?e(te,{format:"L",tz:n,locale:ee(),children:l.lastRunAt}):e("span",{className:"no-value",children:"-"})}),e("td",{className:"col-next-activation",children:d==="recurringDocument"&&t.nextRunAt?e(te,{format:"L",tz:n,locale:ee(),children:t.nextRunAt}):e("span",{className:"no-value",children:"-"})}),e("td",{className:"col-actions",children:e(Wi,{menuButton:e(Gt,{htmlColor:"orange"}),items:[{value:"activity-log",label:i("organizationAutomationItem.viewActivityLog"),icon:e(Bt,{})},{value:"edit",label:i("meta:common.edit"),icon:e(Wt,{})},{value:"remove",label:i("meta:common.remove"),icon:e(Yt,{})}],onItemClick:({value:N})=>{N==="activity-log"?f():N==="edit"?v():N==="remove"&&A()}})})]})};rt.propTypes={automation:g.object.isRequired};function Xn(t){const i=ne(t.organizationAutomation.kind);return i==="recurringDocument"?t.documentName:i==="documentAssign"?t.assignName:i==="aiInstruction"?`${t.kind} - ${t.transactionType}`:""}const ct=()=>{const{t}=x("views"),i=ae(),{automations:a,isLoading:n}=Qe(),[r,m]=It.useState("all"),s=Ai(a.filter(d=>r==="all"?!0:ne(d.organizationAutomation.kind)===r),Xn);function l(d){const u={recurringDocument:"recurring-document",documentAssign:"document-assign",aiInstruction:"ai-instruction"}[d];if(!u)throw new Error(`Unknown automation type: ${d}`);i(`/dashboard/settings?tab=automations&mode=create&type=${u}`)}return o("div",{className:"organization-automations-main-list-view settings-page-wide",children:[e(M,{title:t("organizationAutomationsView.title"),toolbar:e(_,{icon:e(Ne,{}),onClick:()=>{Pt({id:"create-organization-automation",children:({dismiss:d})=>e(st,{onClose:d,onSelect:c=>{d(),l(c)}})})},children:t("organizationAutomationsView.createNew")})}),o(R,{children:[e("p",{className:"settings-intro",children:t("organizationAutomationsView.help")}),e(Je,{options:[{id:"all",label:t("organizationAutomationsView.tabs.all"),icon:e(jt,{})},{id:"recurringDocument",label:t("organizationAutomationsView.tabs.recurringDocuments"),icon:e(Ie,{})},{id:"documentAssign",label:t("organizationAutomationsView.tabs.documentAssigns"),icon:e(Ae,{})},{id:"aiInstruction",label:t("organizationAutomationsView.tabs.aiInstructions"),icon:e(Ve,{})}],selectedId:r,onSelectOption:({id:d})=>m(d)}),n&&e(z,{children:e("div",{className:"automations-loading",children:e(F,{})})}),!n&&s.length===0&&e(pe,{}),!n&&s.length>0&&e(z,{noPadding:!0,children:e("div",{className:"automations-table-container",children:e("div",{className:"table-scroll-wrapper",children:o("table",{className:"automations-table",children:[e("thead",{children:o("tr",{children:[e("th",{className:"col-type",children:t("organizationAutomationsView.table.type")}),e("th",{className:"col-description",children:t("organizationAutomationsView.table.description")}),e("th",{className:"col-latest-activation",children:t("organizationAutomationsView.table.latestActivation")}),e("th",{className:"col-next-activation",children:t("organizationAutomationsView.table.nextActivation")}),e("th",{className:"col-actions"})]})}),e("tbody",{children:s.map(d=>e(rt,{automation:d},d.id))})]})})})})]})]})};ct.propTypes={};const Y=({children:t,label:i,isToggled:a,onToggle:n})=>o("div",{className:"togglable-override-row",children:[e("div",{className:"togglable-override-row-toggle",children:e(Ji,{ariaLabel:i,isSelected:a,onToggled:n,checkboxSize:"small"})}),e(G.div,{className:"togglable-override-row-content",animate:{o
1pacity:a?1:.4},children:t})]});Y.propTypes={label:g.string.isRequired,children:g.node,isToggled:g.bool,onToggle:g.func};function Qn({documentCategories:t}){return{id:null,scope:"organization",documentEvents:["created"],sourceName:"",sourceDocumentCategoryId:t.find(i=>i.transactionType==="expense")?.id,sourceMatchKind:"contains",assignName:"",assignDescription:null,assignReference:null,assignDocumentCategoryId:null,assignItemCategoryId:null,assignPaymentMethodId:null,assignReviewStatus:null,assignHashTags:[],replaceHashTags:!1,autoPublishToIntegration:!1}}function Jn(t){const i=[];return t.assignDocumentCategoryId&&i.push("assignDocumentCategoryId"),t.assignName&&i.push("assignName"),t.assignItemCategoryId&&i.push("assignItemCategoryId"),t.assignPaymentMethodId&&i.push("assignPaymentMethodId"),t.assignReviewStatus&&i.push("assignReviewStatus"),(t.assignHashTags||[]).length>0&&i.push("assignHashTags"),i}function ea({automation:t,t:i,documentCategories:a,assignFields:n}){const r={};if(!t||!a.length)return r;const m=a.find(l=>l.id===t.sourceDocumentCategoryId),{transactionType:s}=m;return t.sourceName||(r.sourceName={code:"required",message:i(`documentAssignAutomationEditor.errors.documentName.required.${s}`)}),n.length||(r.assignFields={code:"required",message:i("documentAssignAutomationEditor.errors.assignFields.required")}),r}const $e=["assignName","assignDocumentCategoryId","assignItemCategoryId","assignPaymentMethodId","assignReviewStatus","assignHashTags"],be=({documentAssignAutomationId:t=null})=>{const{t:i}=x(["views","meta"]),a=ae(),n=Te(),[r,m]=h.useState(null),[s,l]=h.useState([]),[d,c]=h.useState(!1),{accountables:u}=Mt(),[v,f]=Zi(),A=kt(),N=Xi(),I=en(),T=!!I&&I.status==="active"&&["quickbooks","xero","freshbooks","zoho_books","sage","freeagent","simplbooks"].includes(I.platform),V=["contains","exact","wildcard"].map(p=>({value:p,label:i(`documentAssignAutomationEditor.matchType.${p}`)})),b=t?"edit":"create",S=u.filter(p=>p.transactionType==="expense"),w=u.filter(p=>p.transactionType==="income"),y=ji(),E=y.find(p=>p.id===r?.sourceDocumentCategoryId)?.transactionType,k=y.find(p=>p.id===r?.assignDocumentCategoryId)?.transactionType||E,O=!f||y.length===0||!r,Z=s.includes("assignItemCategoryId")&&!!r?.assignItemCategoryId,L=!!r?.autoPublishToIntegration&&!Z,$=ea({automation:r,t:i,documentCategories:y,assignFields:s});h.useEffect(()=>{y.length>0&&!r&&!t&&m(Qn({documentCategories:y}))},[y]),h.useEffect(()=>{t&&!r&&n.documentAssignAutomation.get({id:t}).then(p=>{m(p.documentAssignAutomation),l(Jn(p.documentAssignAutomation))})},[t]);function q(p){D({[p]:null}),C(p,!1)}function D(p){m(W=>({...W,...p}));const B=!!p.sourceDocumentCategoryId,P=!!p.assignDocumentCategoryId,X=!!r.assignDocumentCategoryId;B&&!X?(q("assignItemCategoryId"),q("assignPaymentMethodId")):P&&(q("assignPaymentMethodId"),q("assignItemCategoryId"))}function C(p,B){if(l(B?P=>[...P,p]:P=>P.filter(X=>X!==p)),B)p==="assignReviewStatus"&&!r.assignReviewStatus&&D({assignReviewStatus:"reviewed"});else switch(p){case"assignDocumentCategoryId":D({assignDocumentCategoryId:null});break;case"assignItemCategoryId":D({assignItemCategoryId:null});break;case"assignPaymentMethodId":D({assignPaymentMethodId:null});break;case"assignReviewStatus":D({assignReviewStatus:null});break}}function U(){let p=xe({...r},$e);b==="create"&&(p=xe(p,["id"])),s.forEach(P=>{p[P]=r[P]}),b==="edit"&&(p.clearAssignFields=$e.filter(P=>!s.includes(P)).map(P=>Vi(P))),c(!0),(b==="create"?n.documentAssignAutomation.create({params:p}):n.documentAssignAutomation.update({id:t,params:p})).then(()=>{a("/dashboard/settings?tab=automations",{replace:!0,state:{status:b==="create"?"created":"updated"}})}).catch(P=>{Se(P),it.error(tt(P,i("documentAutomationEditor.errors.saveFailed")))}).finally(()=>{c(!1)})}return o("div",{className:"document-assign-automation-editor",children:[e(M,{title:i("documentAssignAutomationEditor.title"),backRoute:"/dashboard/settings?tab=automations"}),!O&&o("div",{className:"document-assign-automation-editor-loaded-content",children:[e("h2",{children:i("documentAssignAutomationEditor.conditionsTitle")}),o("fieldset",{children:[e(ze,{value:r.sourceDocumentCategoryId,documentCategories:y.filter(p=>["expense","income"].includes(p.transactionType)),onChange:p=>{D({sourceDocumentCategoryId:p})}}),e(Pe,{name:r.sourceName,errorMessage:$.sourceName?.message,label:i(`documentAssignAutomationEditor.sourceNameLabel.${E}.${r.sourceMatchKind}`),accountables:E==="expense"?S:w,enabledGroups:["quickbooks","xero","none"],onChange:p=>{D({sourceName:p})}}),e(he,{label:i("documentAssignAutomationEditor.matchTypeTitle"),value:r.sourceMatchKind,options:V,hintText:i("documentAssignAutomationEditor.matchTypeHint"),onChange:p=>{D({sourceMatchKind:p})}})]}),e("h2",{children:i("documentAssignAutomationEditor.assignmentsTitle")}),o("fieldset",{children:[o(Y,{label:i("documentAssignAutomationEditor.assignDocumentCategory.label"),isToggled:s.includes("assignDocumentCategoryId"),onToggle:p=>{C("assignDocumentCategoryId",p)},children:[e(ze,{label:i("documentAssignAutomationEditor.assignDocumentCategory.label"),value:r.assignDocumentCategoryId,readOnly:!s.includes("assignDocumentCategoryId"),allowEmpty:!0,documentCategories:y.filter(p=>["expense","income"].includes(p.transactionType)),onChange:p=>{D({assignDocumentCategoryId:p})}}),e("p",{className:"assignment-field-hint",children:i("documentAssignAutomationEditor.assignDocumentCategory.hint")})]}),e(Y,{label:i(`meta:accountable.${k}`),isToggled:s.includes("assignName"),onToggle:p=>{C("assignName",p)},children:e(Pe,{name:r.assignName||"",errorMessage:"",readOnly:!s.includes("assignName"),label:i(`meta:accountable.${k}`),accountables:k==="expense"?S:w,enabledGroups:["quickbooks","xero","none"],onChange:p=>{D({assignName:p})}})}),o(Y,{label:i("documentAssignAutomationEditor.assignItemCategory.label"),isToggled:s.includes("assignItemCategoryId"),onToggle:p=>{C("assignItemCategoryId",p)},children:[e(Qi,{label:i("documentAssignAutomationEditor.assignItemCategory.label"),value:r.assignItemCategoryId,itemCategories:v,transactionType:k,readOnly:!s.includes("assignItemCategoryId"),onChange:p=>{D({assignItemCategoryId:p})}}),e("p",{className:"assignment-field-hint",children:i("documentAssignAutomationEditor.assignItemCategory.hint")})]}),k==="expense"&&e(Y,{label:i("documentForm.paymentMethod.label"),isToggled:s.includes("assignPaymentMethodId"),onToggle:p=>{C("assignPaymentMethodId",p)},children:e(Gi,{value:r.assignPaymentMethodId,disabled:!s.includes("assignPaymentMethodId"),onChange:p=>{D({assignPaymentMethodId:p})}})}),e(Y,{label:i("documentAssignAutomationEditor.reviewStatus"),isToggled:s.includes("assignReviewStatus"),onToggle:p=>{C("assignReviewStatus",p)},children:e(he,{label:i("documentAssignAutomationEditor.reviewStatus"),value:r.assignReviewStatus||"",disabled:!s.includes("assignReviewStatus"),options:N,onChange:p=>{D({assignReviewStatus:p})}})})]}),e("fieldset",{children:e(Y,{label:i("documentAssignAutomationEditor.documentHashTags"),isToggled:s.includes("assignHashTags"),onToggle:p=>{C("assignHashTags",p)},children:e("div",{className:"tags-editor",children:e(Li,{label:i("documentAssignAutomationEditor.documentHashTags"),value:r.assignHashTags||[],disabled:!s.includes("assignHashTags"),options:A,labelCellLayout:"small-12 large-4",inputCellLayout:"small-12 large-8",onChange:p=>{D({assignHashTags:p})}})})})}),T&&o(J,{children:[e("h2",{children:i("documentAssignAutomationEditor.autoPublishTitle")}),o("fieldset",{children:[e(_i,{label:i("documentAssignAutomationEditor.autoPublish.label"),checked:r.autoPublishToIntegration||!1,onChange:p=>{D({autoPublishToIntegration:p.target.checked})}}),e("p",{className:"auto-publish-description",children:i("documentAssignAutomationEditor.autoPublish.description")}),L&&e("p",{className:"auto-publish-warning",children:i("documentAssignAutomationEditor.autoPublish.missingCategoryWarning")})]})]}),$.assignFields&&e("p",{className:"error-message",style:{marginLeft:"1rem"},children:$.assignFields.message}),e(et,{mode:b,onSaveChanges:U,isSaving:d,hasError:Object.keys($).length>0})]})]})};be.propTypes={documentAssignAutomationId:g.string};const lt=({isOpen:t,onDismiss:i})=>{const{t:a}=x("views"),n="aiInstructionHelpSidebar",r=[{key:"categorization",good:a(`${n}.examples.categorization.good`),bad:a(`${n}.examples.categorization.bad`),why:a(`${n}.examples.categorization.why`)},{key:"hashTags",good:a(`${n}.examples.hashTags.good`),bad:a(`${n}.examples.hashTags.bad`),why:a(`${n}.examples.hashTags.why`)},{key:"combineLineItems",good:a(`${n}.examples.combineLineItems.good`),bad:a(`${n}.examples.combineLineItems.bad`),why:a(`${n}.examples.combineLineItems.why`)},{key:"removeLineItems",good:a(`${n}.examples.removeLineItems.good`),bad:a(`${n}.examples.removeLineItems.bad`),why:a(`${n}.examples.removeLineItems.why`)},{key:"description",good:a(`${n}.examples.description.good`),bad:a(`${n}.examples.description.bad`),why:a(`${n}.examples.description.why`)},{key:"reviewStatus",good:a(`${n}.examples.reviewStatus.good`),bad:a(`${n}.examples.reviewStatus.bad`),why:a(`${n}.examples.reviewStatus.why`)},{key:"conditional",good:a(`${n}.examples.conditional.good`),bad:a(`${n}.examples.conditional.bad`),why:a(`${n}.examples.conditional.why`)}];return e(on,{isOpen:t,onDismiss:i,openFrom:"right",width:520,className:"ai-instruction-help-sidebar",children:o("div",{className:"ai-instruction-help-sidebar__content",children:[e("h2",{children:a(`${n}.title`)}),e("p",{className:"ai-instruction-help-sidebar__intro",children:a(`${n}.intro`)}),o("div",{className:"ai-instruction-help-sidebar__section",children:[e("h3",{children:a(`${n}.tipsTitle`)}),o("ul",{className:"ai-instruction-help-sidebar__tips",children:[e("li",{children:a(`${n}.tips.beSpecific`)}),e("li",{children:a(`${n}.tips.useActionWords`)}),e("li",{children:a(`${n}.tips.nameFields`)}),e("li",{children:a(`${n}.tips.stateConditions`)}),e("li",{children:a(`${n}
1.tips.oneGoalPerInstruction`)})]})]}),o("div",{className:"ai-instruction-help-sidebar__section",children:[e("h3",{children:a(`${n}.examplesTitle`)}),e("div",{className:"ai-instruction-help-sidebar__examples",children:r.map(m=>e(sn,{header:a(`${n}.examples.${m.key}.title`),className:"ai-instruction-help-sidebar__example-accordion",children:o("div",{className:"ai-instruction-help-sidebar__example",children:[o("div",{className:"example-block example-block--good",children:[e("span",{className:"example-label",children:a(`${n}.goodLabel`)}),e("code",{children:m.good})]}),o("div",{className:"example-block example-block--bad",children:[e("span",{className:"example-label",children:a(`${n}.badLabel`)}),e("code",{children:m.bad})]}),e("p",{className:"example-why",children:m.why})]})},m.key))})]})]})})};lt.propTypes={isOpen:g.bool.isRequired,onDismiss:g.func.isRequired};function ta(){return{id:null,transactionType:"expense",instructions:""}}function ia({automation:t,t:i,isAtMaximumLimit:a}){const n={};return t?a?(n.general={code:"maximumLimitReached",message:i("aiInstructionAutomationEditor.errors.maximumLimitReached")},n):(!t.instructions||t.instructions.trim().length===0?n.instructions={code:"required",message:i("aiInstructionAutomationEditor.errors.instructions.required")}:t.instructions.length>me.textFieldLimits.aiInstructionAutomation.instructions&&(n.instructions={code:"maxLength",message:i("aiInstructionAutomationEditor.errors.instructions.maxLength",{maxLength:me.textFieldLimits.aiInstructionAutomation.instructions})}),n):n}const ve=({aiInstructionAutomationId:t=null})=>{const{t:i}=x("views"),a=ae(),{aiInstructionAutomations:n,isLoaded:r}=Qe(),m=Te(),s=n.find(D=>D.id===t),l=n.length,[d,c]=ie("aiInstructionAutomationsMaxCount"),[u,v]=h.useState(ta()),[f,A]=h.useState({}),[N,I]=h.useState(!1),[T,V]=h.useState(!1),b=!!t,S=me.textFieldLimits.aiInstructionAutomation.instructions,[w,y]=We(),E=w==="elite",k=d||10,O=!b&&l>=k,Z=!b&&l>Math.floor(k/2),L=(E||b)&&!O;h.useEffect(()=>{s&&v({id:s.id,transactionType:s.transactionType||"expense",instructions:s.instructions||""})},[s]);const $=[{value:"expense",label:i("aiInstructionAutomationEditor.transactionTypeOptions.expense.title")},{value:"income",label:i("aiInstructionAutomationEditor.transactionTypeOptions.income.title")},{value:"none",label:i("aiInstructionAutomationEditor.transactionTypeOptions.none.title")}];function q(){const D=ia({automation:u,t:i,isAtMaximumLimit:O});if(Object.keys(D).length>0){A(D);return}A({}),I(!0);const C={transactionType:u.transactionType,instructions:u.instructions.trim()};(b?m.aiInstructionAutomation.update({id:u.id,params:C}):m.aiInstructionAutomation.create({params:C})).then(()=>{a("/dashboard/settings?tab=automations")}).catch(p=>{Se(p),it.error(tt(p,i("documentAutomationEditor.errors.saveFailed")))}).finally(()=>{I(!1)})}return!y||!c||!r?e(F,{}):o("div",{className:"ai-instruction-automation-editor",children:[e(M,{title:i("aiInstructionAutomationEditor.title"),backRoute:"/dashboard/settings?tab=automations"}),!E&&y&&e(K,{severity:"warning",message:i("aiInstructionAutomationEditor.eliteFeatureLevelNotice")}),O&&e(K,{severity:"error",message:i("aiInstructionAutomationEditor.maximumLimitReached",{current:l,max:k})}),Z&&!O&&e(K,{severity:"warning",message:i("aiInstructionAutomationEditor.automationCount",{current:l,max:k})}),o("div",{className:"ai-instruction-automation-editor__content",children:[e(K,{severity:"info",message:i("aiInstructionAutomationEditor.subtitle")}),o("div",{className:"ai-instruction-automation-editor__form",children:[e("div",{className:"form-section",children:e(he,{label:i("aiInstructionAutomationEditor.transactionTypeLabel"),value:u.transactionType,disabled:!L,options:$,hintText:u.transactionType==="expense"?i("aiInstructionAutomationEditor.transactionTypeOptions.expense.description"):u.transactionType==="income"?i("aiInstructionAutomationEditor.transactionTypeOptions.income.description"):i("aiInstructionAutomationEditor.transactionTypeOptions.none.description"),onChange:D=>{v({...u,transactionType:D})},error:f.transactionType})}),o("div",{className:"form-section",children:[o("div",{className:"ai-instruction-automation-editor__instructions-header",children:[e("h3",{children:i("aiInstructionAutomationEditor.instructionsTitle")}),e(an,{icon:e(tn,{icon:nn.faQuestionCircle}),label:i("aiInstructionAutomationEditor.instructionsHelpButton"),onClick:()=>V(!0)})]}),e(rn,{placeholder:i(`aiInstructionAutomationEditor.instructionsPlaceholder.${u.transactionType}`),value:u.instructions,theme:"light",minRows:6,disabled:!L,onChange:D=>{v({...u,instructions:D})},error:f.instructions,rows:6,maxLength:S}),o("div",{className:`ai-instruction-automation-editor__char-count ${u.instructions.length>S?"ai-instruction-automation-editor__char-count--over":""}`,children:[u.instructions.length," / ",S]})]})]}),e(et,{mode:b?"edit":"create",disabled:!L,onSaveChanges:q,isSaving:N,hasError:Object.keys(f).length>0})]}),e(lt,{isOpen:T,onDismiss:()=>V(!1)})]})};ve.propTypes={aiInstructionAutomationId:g.string};const qe=20,dt=({automationId:t})=>{const{t:i}=x("views"),a=ue(),n=Be(),r=Ui(t),[m,s]=h.useState([]),[l,d]=h.useState(1),[c,u]=h.useState(0),[v,f]=h.useState(!0),[A,N]=h.useState(null),I=h.useCallback(async S=>{if(a?.id){f(!0),N(null);try{const w=await Bi.automationLogs.list({organizationId:a.id,automationId:t,page:S,pageSize:qe});s(w.data.logs),u(w.data.totalCount)}catch{N(i("automationActivityLog.loadError"))}finally{f(!1)}}},[a?.id,t,i]);h.useEffect(()=>{I(l)},[I,l]);const T=h.useMemo(()=>[{label:i("loginInfoComponent.automations"),route:"/dashboard/settings?tab=automations"},{label:i("automationActivityLog.title"),route:null}],[i]),V=h.useCallback(S=>{d(S)},[]),b=!v&&m.length===0&&!A;return o("div",{className:"automation-activity-log-view settings-page-wide",children:[e(ln,{components:T}),e(M,{title:i("automationActivityLog.title"),badge:c>0?c:null}),r?.description&&e("div",{className:"activity-log-automation-description",children:e(Ee,{segments:r.description})}),o(R,{children:[A&&e(K,{severity:"error",message:A}),v&&e(F,{}),b&&e(z,{children:e(pe,{title:i("automationActivityLog.emptyState"),subtitle:i("automationActivityLog.emptyStateDescription")})}),!b&&!v&&!A&&e(z,{noPadding:!0,children:o("div",{className:"activity-log-table-container",children:[o("table",{className:"activity-log-table",children:[e("thead",{children:o("tr",{children:[e("th",{className:"col-date",children:i("automationActivityLog.columns.date")}),e("th",{className:"col-document",children:i("automationActivityLog.columns.document")}),e("th",{className:"col-description",children:i("automationActivityLog.columns.description")})]})}),e("tbody",{children:m.map(S=>o("tr",{children:[e("td",{className:"col-date",children:e(te,{format:"L LT",tz:n,locale:ee(),children:S.createdAt})}),e("td",{className:"col-document",children:S.documentId?o($i,{className:"document-link",to:`/dashboard/documents/edit/${S.documentId}`,children:[e(Zt,{fontSize:"small"}),S.documentName]}):e("span",{className:"document-removed",children:S.documentName||i("automationActivityLog.documentDeleted")})}),e("td",{className:"col-description",children:S.description})]},S.id))})]}),e("div",{className:"activity-log-pagination",children:e(dn,{page:l,pageSize:qe,totalCount:c,onSelectPage:V,disabled:v})})]})})]})]})};dt.propTypes={automationId:g.string.isRequired};const na=["list","create","edit","activity-log"],mt=()=>{const[t]=qi();let i=t.get("mode")||"list";na.includes(i)||(i="list");const a=t.get("type"),n=t.get("id")||t.get("automationId");return o("div",{className:"organization-automations-view","data-onboarding-target":"automations-tab-content",children:[i==="list"&&e(ct,{}),i==="create"&&o(J,{children:[a==="recurring-document"&&e(Me,{}),a==="document-assign"&&e(be,{}),a==="ai-instruction"&&e(ve,{})]}),i==="edit"&&o(J,{children:[a==="recurring-document"&&e(Me,{recurringDocumentAutomationId:n}),a==="document-assign"&&e(be,{documentAssignAutomationId:n}),a==="ai-instruction"&&e(ve,{aiInstructionAutomationId:n})]}),i==="activity-log"&&n&&e(dt,{automationId:n})]})};
1mt.propTypes={};const ut=({value:t,onChange:i,eventKey:a})=>{const[n,r]=h.useState(t||"");h.useEffect(()=>{r(t||"")},[t]);const m=s=>{const l=s.target.value;r(l),i(l)};return e("input",{id:`time-${a}`,type:"time",value:n,onChange:m,className:"time-input"})};ut.propTypes={value:g.string,onChange:g.func.isRequired,eventKey:g.string.isRequired};const aa=(t,i)=>{const a={};return t.forEach(n=>{const r=n.categoryKey||"other",m=ne(r),s=i(`notificationPreferencesView.categories.${m}`,{defaultValue:n.category||r});a[r]||(a[r]={label:s,preferences:[]}),a[r].preferences.push(n)}),a},pt=({preferences:t,onUpdatePreference:i})=>{const{t:a}=x("views");if(t.length===0)return e("p",{children:a("notificationPreferencesView.noPreferences","No notification preferences available.")});const n=aa(t,a),r=(l,d,c)=>{const u={eventKey:l.eventKey};d==="email"?u.emailEnabled=!c:d==="push"&&(u.pushEnabled=!c),i(u)},m=(l,d)=>{const c=d?`${d}:00`:null,u={eventKey:l.eventKey,scheduledTime:c};i(u)},s=l=>l?l.substring(0,5):"";return e("div",{className:"notification-preferences-list",children:Object.entries(n).map(([l,d])=>o("div",{className:"preference-category",children:[e("div",{className:"preference-category-title",children:d.label}),e("div",{className:"category-preferences",children:d.preferences.map(c=>{const u=ne(c.eventKey),v=`notificationPreferencesView.events.${u}.title`,f=`notificationPreferencesView.events.${u}.description`,A=a(v,{defaultValue:c.description||c.eventKey}),N=a(f,{defaultValue:c.description||""});return o("div",{className:"preference-item",children:[o("div",{className:"preference-info",children:[e("div",{className:"preference-title",children:A}),N&&e("div",{className:"preference-description",children:N}),c.supportsScheduling&&o("div",{className:"preference-schedule",children:[o("label",{className:"time-input-label",htmlFor:`time-${c.eventKey}`,children:[a("notificationPreferencesView.remindMeAt"),e(gn,{title:a("notificationPreferencesView.remindMeAtTooltip"),placement:"top",children:e(Ge,{className:"time-help-icon"})})]}),e(ut,{value:s(c.scheduledTime),onChange:I=>m(c,I),eventKey:c.eventKey})]})]}),o("div",{className:"preference-channels",children:[e(ke,{control:e(H,{checked:c.emailEnabled,onChange:()=>r(c,"email",c.emailEnabled),size:"small"}),label:a("notificationPreferencesView.channels.email"),labelPlacement:"start",className:"channel-toggle"}),e(ke,{control:e(H,{checked:c.pushEnabled,onChange:()=>r(c,"push",c.pushEnabled),size:"small"}),label:a("notificationPreferencesView.channels.push"),labelPlacement:"start",className:"channel-toggle"})]})]},c.eventKey)})})]},l))})};pt.propTypes={preferences:g.array.isRequired,onUpdatePreference:g.func.isRequired};const gt=({devices:t,onClose:i,onRevokeDevice:a})=>{const{t:n}=x("components"),r=Ye(),m=async s=>{await j({title:n("manageDevicesModal.revokeConfirm.title"),message:n("manageDevicesModal.revokeConfirm.message"),confirmButtonText:n("manageDevicesModal.revokeConfirm.confirm"),cancelButtonText:n("manageDevicesModal.revokeConfirm.cancel")})&&a(s.id)};return o(vn,{open:!0,onClose:i,maxWidth:"md",fullWidth:!0,children:[o(hn,{children:[n("manageDevicesModal.title"),e(Re,{"aria-label":"close",onClick:i,sx:{position:"absolute",right:8,top:8},children:e(Xt,{})})]}),o(fn,{dividers:!0,children:[e("p",{className:"manage-devices-description",children:n("manageDevicesModal.description")}),t.length===0?e("p",{className:"no-devices-message",children:n("manageDevicesModal.noDevices")}):e("div",{className:"devices-list",children:t.map(s=>{const l=s.deviceName||n("manageDevicesModal.deviceName"),d=s.createdAt?_e(new Date(s.createdAt),"PPP",{locale:r}):"-",c=s.lastActiveAt?_e(new Date(s.lastActiveAt),"PPP",{locale:r}):d;return o("div",{className:"device-list-item",children:[o("div",{className:"device-list-info",children:[e("div",{className:"device-list-name",children:l}),o("div",{className:"device-list-details",children:[o("span",{className:"device-detail-label",children:[n("manageDevicesModal.createdAt"),":"]})," ",e("span",{children:d})," ⢠",o("span",{className:"device-detail-label",children:[n("manageDevicesModal.lastActiveAt"),":"]})," ",e("span",{children:c})]})]}),e("div",{className:"device-list-actions",children:e(Re,{"aria-label":n("manageDevicesModal.actions.revoke"),onClick:()=>m(s),color:"error",size:"small",children:e(je,{})})})]},s.id)})})]}),e(bn,{children:e(yn,{onClick:i,children:n("manageDevicesModal.actions.close")})})]})};gt.propTypes={devices:g.array.isRequired,onClose:g.func.isRequired,onRevokeDevice:g.func.isRequired};const ht=({notificationPreferences:t=[],pushDevices:i=[],loading:a=!1,pushDevicesLoading:n=!1,sendingTest:r=!1,onUpdatePreference:m,onRestoreDefaults:s,onSendTestPush:l,onRevokeDevice:d})=>{const{t:c}=x(["views","components"]),u=Ye(),[v,f]=h.useState(!1);if(a)return e(F,{});const A=async()=>{await j({title:c("notificationPreferencesView.restoreDefaultsConfirm.title"),message:c("notificationPreferencesView.restoreDefaultsConfirm.message"),confirmButtonText:c("notificationPreferencesView.restoreDefaultsConfirm.confirm"),cancelButtonText:c("notificationPreferencesView.restoreDefaultsConfirm.cancel")})&&s()},N=i.length>0?i.reduce((V,b)=>{const S=new Date(V.lastActiveAt||V.createdAt);return new Date(b.lastActiveAt||b.createdAt)>S?b:V}):null,I=N?.deviceName||c("notificationPreferencesView.unknownDevice"),T=N?In(new Date(N.lastActiveAt||N.createdAt),{addSuffix:!0,locale:u}):"";return o(J,{children:[e("p",{className:"settings-intro",children:c("notificationPreferencesView.description")}),e(z,{children:o("section",{className:"notification-section device-section",children:[e("h3",{className:"notification-section-title",children:c("notificationPreferencesView.devicesSection")}),o("div",{className:"device-info",children:[o("div",{className:"device-header",children:[e(Ze,{className:"device-icon"}),e("div",{className:"device-details",children:i.length>0?o(J,{children:[e("div",{className:"device-name",children:I}),e("div",{className:"device-last-active",children:c("notificationPreferencesView.lastActive",{date:T})})]}):e("div",{className:"device-name",children:c("notificationPreferencesView.noPushDevices")})})]}),o("div",{className:"device-actions",children:[e(de,{variant:"secondary",size:"sm",onClick:l,disabled:r||i.length===0,children:c("notificationPreferencesView.testPush")}),e(de,{variant:"secondary",size:"sm",onClick:()=>f(!0),disabled:n,children:c("notificationPreferencesView.manageDevices")})]})]}),i.length>0&&o("div",{className:"device-help-section",children:[e("p",{className:"device-help-text",children:c("notificationPreferencesView.testPushHelp")}),o(wn,{className:"push-help-accordion",children:[o(Cn,{expandIcon:e(Qt,{}),children:[e(Ge,{className:"help-icon"}),e("span",{className:"help-title",children:c("notificationPreferencesView.pushHelpTitle")})]}),e(Nn,{children:o("div",{className:"help-content",children:[o("ol",{children:[e("li",{children:c("notificationPreferencesView.pushHelpStep1")}),e("li",{children:c("notificationPreferencesView.pushHelpStep2")}),e("li",{children:c("notificationPreferencesView.pushHelpStep3")}),e("li",{children:c("notificationPreferencesView.pushHelpStep4")}),e("li",{children:c("notificationPreferencesView.pushHelpStep5")})]}),e("p",{className:"help-alternative",children:c("notificationPreferencesView.pushHelpAlternative")}
1)]})})]})]})]})}),o(z,{children:[o("section",{className:"notification-section",children:[e("h3",{className:"notification-section-title",children:c("notificationPreferencesView.preferences")}),e(pt,{preferences:t,onUpdatePreference:m})]}),e("div",{className:"notification-preferences-actions",children:e(de,{variant:"secondary",size:"sm",onClick:A,children:c("notificationPreferencesView.restoreDefaults")})})]}),v&&e(gt,{devices:i,onClose:()=>f(!1),onRevokeDevice:d})]})};ht.propTypes={notificationPreferences:g.array,pushDevices:g.array,loading:g.bool,pushDevicesLoading:g.bool,sendingTest:g.bool,onUpdatePreference:g.func.isRequired,onRestoreDefaults:g.func.isRequired,onSendTestPush:g.func.isRequired,onRevokeDevice:g.func.isRequired};const oa=()=>["notificationPreferences"],sa=()=>["pushDevices"],ra=()=>{const{data:t,error:i,isLoading:a,mutate:n}=nt(oa(),async()=>(await Rt()).data.notificationPreferences||[],{revalidateOnFocus:!1}),r=h.useCallback(async({eventKey:s,emailEnabled:l,pushEnabled:d,scheduledTime:c})=>{await n(v=>(v||[]).map(f=>f.eventKey===s?{...f,emailEnabled:l!==void 0?l:f.emailEnabled,pushEnabled:d!==void 0?d:f.pushEnabled,scheduledTime:c!==void 0?c:f.scheduledTime}:f),{revalidate:!1});try{await Lt({eventKey:s,emailEnabled:l,pushEnabled:d,scheduledTime:c}
1)}catch(v){throw await n(),v}},[n]),m=h.useCallback(async()=>{await n(l=>(l||[]).map(d=>({...d,emailEnabled:d.defaultEmailEnabled,pushEnabled:d.defaultPushEnabled,scheduledTime:d.defaultScheduledTime})),{revalidate:!1});try{await _t()}catch(l){throw await n(),l}},[n]);return{notificationPreferences:t||[],isLoading:a,isLoaded:t!==void 0,error:i,mutate:n,updatePreference:r,restoreDefaults:m}},ca=()=>{const{t}=x("views"),[i,a]=h.useState(!1),{data:n,error:r,isLoading:m,mutate:s}=nt(sa(),async()=>(await Ft()).data.pushTokens||[],{revalidateOnFocus:!1}),l=h.useCallback(async()=>{a(!0);try{await Ot(),await ge({title:t("notificationPreferencesView.testPushResult.successTitle"),message:t("notificationPreferencesView.testPushResult.successMessage")})}catch{await ge({title:t("notificationPreferencesView.testPushResult.errorTitle"),message:t("notificationPreferencesView.testPushResult.errorMessage")})}finally{a(!1)}},[t]),d=h.useCallback(async c=>{await $t({id:c}),await s()},[s]);return{pushDevices:n||[],isLoading:m,isLoaded:n!==void 0,error:r,sendingTest:i,mutate:s,sendTest:l,revoke:d}},ft=()=>{const{t}=x("views"),{notificationPreferences:i,isLoading:a,updatePreference:n,restoreDefaults:r}=ra(),{pushDevices:m,isLoading:s,sendingTest:l,sendTest:d,revoke:c}=ca();return o("div",{className:"notification-preferences-view settings-page-reading",children:[e(M,{title:t("notificationPreferencesView.title")}),e(R,{children:e(ht,{notificationPreferences:i,pushDevices:m,loading:a,pushDevicesLoading:s,sendingTest:l,onUpdatePreference:n,onRestoreDefaults:r,onSendTestPush:d,onRevokeDevice:c})})]})};ft.propTypes={};const we=({code:t,ariaLabel:i=null})=>{const{t:a}=x("views"),[n,r]=h.useState(!1);return o("div",{className:"mcp-copyable-code",children:[e("pre",{className:"mcp-copyable-code-content",children:e("code",{children:t})}),e("button",{type:"button",className:"mcp-copyable-code-button",onClick:async()=>{try{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)}catch(s){Se(s)}},"aria-label":i||a("organizationMcpView.endpoint.copy"),title:a(n?"organizationMcpView.endpoint.copied":"organizationMcpView.endpoint.copy"),children:n?e(Jt,{fontSize:"small"}):e(ei,{fontSize:"small"})})]})};we.propTypes={code:g.string.isRequired,ariaLabel:g.string};const Ke={"mcp:read":"read","mcp:write":"write","mcp:destructive":"destructive"},la=(t=[])=>t.filter(i=>Ke[i]).map(i=>Ke[i]),da=t=>t.allOrganizations?{allAccounts:!0,names:[]}:{allAccounts:!1,names:(t.organizations||[]).map(a=>a.name).filter(Boolean)},yt=()=>{const{t}=x("views"),{connections:i,isLoaded:a,isValidating:n,revokeConnection:r}=An(),[m,s]=h.useState(null),l=async u=>{if(await j({title:t("organizationMcpView.connections.disconnect.title"),message:t("organizationMcpView.connections.disconnect.message",{client:u.clientName||t("organizationMcpView.connections.unknownClient")}),confirmButton:t("organizationMcpView.connections.disconnect.confirm"),cancelButton:t("organizationMcpView.connections.disconnect.cancel")})){s(u.id);try{await r(u.id)}catch{le()}finally{s(null)}}},d=u=>la(u).map(v=>t(`organizationMcpView.connections.scopes.${v}`)),c=u=>{const{allAccounts:v,names:f}=da(u);return v?t("organizationMcpView.connections.allAccounts"):f.length>0?f.join(", "):t("organizationMcpView.connections.unknownAccount")};return o("div",{className:"mcp-connected-apps",children:[e("h3",{className:"mcp-section-title",children:t("organizationMcpView.connections.title")}),e("p",{className:"mcp-section-hint",children:t("organizationMcpView.connections.hint")}),!a&&e(F,{}),a&&i.length===0&&e(z,{className:"mcp-connections-empty",children:t("organizationMcpView.connections.empty")}),a&&i.map(u=>o(z,{className:"mcp-connection-card",children:[o("div",{className:"mcp-connection-info",children:[e("h4",{className:"mcp-connection-name",children:u.clientName||t("organizationMcpView.connections.unknownClient")}),o("dl",{className:"mcp-connection-meta",children:[o("div",{className:"mcp-connection-meta-row",children:[e("dt",{children:t("organizationMcpView.connections.meta.permissions")}),e("dd",{children:d(u.scopes).join(", ")})]}),o("div",{className:"mcp-connection-meta-row",children:[e("dt",{children:t("organizationMcpView.connections.meta.accounts")}),e("dd",{children:c(u)})]}),o("div",{className:"mcp-connection-meta-row",children:[e("dt",{children:t("organizationMcpView.connections.meta.connected")}),e("dd",{children:e(te,{date:u.connectedAt,locale:ee(),format:"LL"})})]}),o("div",{className:"mcp-connection-meta-row",children:[e("dt",{children:t("organizationMcpView.connections.meta.lastUsed")}),e("dd",{children:u.lastUsedAt?e(te,{date:u.lastUsedAt,locale:ee(),fromNow:!0}):t("organizationMcpView.connections.neverUsed")})]})]})]}),e(_,{theme:"danger",size:"small",className:"mcp-disconnect-button",disabled:m===u.id||n,onClick:()=>l(u),children:t("organizationMcpView.connections.disconnectButton")})]},u.id))]})};yt.propTypes={};const se=[{id:"claudeCode",label:"Claude Code",steps:[{textKey:"organizationMcpView.clients.claudeCode.steps.add",code:t=>
1`claude mcp add --transport http sparkreceipt ${t}`},{textKey:"organizationMcpView.clients.claudeCode.steps.authorize"},{textKey:"organizationMcpView.clients.claudeCode.steps.verify"}]},{id:"cursor",label:"Cursor",steps:[{textKey:"organizationMcpView.clients.cursor.steps.config",code:t=>["{",' "mcpServers": {',' "sparkreceipt": {',` "url": "${t}"`," }"," }","}"].join(` 2`)},{textKey:"organizationMcpView.clients.cursor.steps.authorize"}]},{id:"claudeDesktop",label:"Claude Desktop",steps:[{textKey:"organizationMcpView.clients.claudeDesktop.steps.open"},{textKey:"organizationMcpView.clients.claudeDesktop.steps.url"},{textKey:"organizationMcpView.clients.claudeDesktop.steps.authorize"}]},{id:"chatgpt",label:"ChatGPT",steps:[{textKey:"organizationMcpView.clients.chatgpt.steps.developerMode"},{textKey:"organizationMcpView.clients.chatgpt.steps.addConnector"},{textKey:"organizationMcpView.clients.chatgpt.steps.authorize"},{textKey:"organizationMcpView.clients.chatgpt.steps.use"}]}],ma=t=>`${t.replace(/\/api\/?$/,"")}/mcp`,bt=()=>{const{t}=x("views"),[i,a]=h.useState(se[0].id),n=h.useMemo(()=>ma(cn),[]),r=se.find(s=>s.id===i)||se[0],m=se.map(s=>({id:s.id,label:s.label}));return o("div",{className:"mcp-connect-view settings-page-reading",children:[e(M,{title:t("organizationMcpView.title"),toolbar:e(_,{theme:"plain",href:"/dashboard/mcp/logs",children:t("organizationMcpView.viewLogs")})}),o(R,{children:[e("p",{className:"mcp-connect-intro",children:t("organizationMcpView.intro")}),e(yt,{}),o(z,{children:[e("h3",{className:"mcp-section-title",children:t("organizationMcpView.endpoint.title")}),e("p",{className:"mcp-section-hint",children:t("organizationMcpView.endpoint.hint")}),e(we,{code:n,ariaLabel:t("organizationMcpView.endpoint.copy")})]}),e("h3",{className:"mcp-section-title mcp-clients-title",children:t("organizationMcpView.clients.title")}),e(Je,{className:"mcp-clients-choice-bar",options:m,selectedId:i,theme:"alternative1",onSelectOption:s=>a(s.id)}),e(z,{className:"mcp-client-instructions",children:e("ol",{className:"mcp-steps",children:r.steps.map(s=>o("li",{className:"mcp-step",children:[e("span",{className:"mcp-step-text",children:t(s.textKey,{endpoint:n})}),s.code&&e(we,{code:s.code(n)})]},s.textKey))})}),e("p",{className:"mcp-connect-footnote",children:t("organizationMcpView.footnote")})]})]})};bt.propTypes={};const vt=()=>{const{t}=x("views"),[i]=ie("affiliateCommission");return o("div",{className:"affiliate-program-view settings-page-wide",children:[e(M,{title:t("affiliateProgramView.title")}),e(R,{children:e(z,{children:o(G.div,{className:"affiliate-program-view-content grid-x grid-margin-x",initial:{opacity:0}
2,animate:{opacity:1},children:[e(G.div,{className:"cell small-12 large-5",initial:{translateY:100},animate:{translateY:0},transition:{duration:.66},children:e("div",{className:"affiliate-program-view-image"})}),o("div",{className:"cell small-12 large-7",children:[e(G.h2,{initial:{translateY:30,opacity:0},animate:{translateY:0,opacity:1},transition:{delay:.3,duration:.66},children:t("affiliateProgramView.subtitle")}),e(G.p,{className:"affiliate-program-help-paragraph",initial:{translateY:30,opacity:0},animate:{translateY:0,opacity:1},transition:{delay:.5,duration:.66},children:e(Xe,{ns:"views",i18nKey:"affiliateProgramView.help",values:{rate:i},components:{strong:e("strong",{style:{color:"orange"}})}})}),e(G.div,{className:"read-more-action",initial:{translateY:30,opacity:0},animate:{translateY:0,opacity:1},transition:{delay:1,duration:.66},children:e(_,{href:me.links.affiliateProgram.en,hrefTarget:"_blank",icon:e(ti,{sx:{width:18}}),iconPosition:"right",theme:"primary",children:t("affiliateProgramView.readMoreAndSignUp")})})]})]})})})]})};vt.propTypes={};const He={galleryContainerStyle:{display:"grid",gridTemplateColumns:"repeat(auto-fill, 230px)",columnGap:"12px",rowGap:"0px",textAlign:"center",alignItems:"start",maxWidth:1200}},wt=()=>{const{t}=x("views");return o("div",{className:"tutorials-view settings-page-reading",children:[e(M,{title:t("tutorialsView.title")}),o(R,{children:[o(z,{className:"playlist-container",children:[e("h2",{className:"playlist-title",children:t("tutorialsView.instructionsList.title")}),e(Fe,{apiKey:"AIzaSyBwla7DRqNmM6lP44VH7_m76LbfcNg4Szo",playlistId:"PLueZHG41Frz5Qga_wz4kAsJdzBagkCmhK",customStyles:He})]}),o(z,{className:"playlist-container",children:[e("h2",{className:"playlist-title",children:t("tutorialsView.accountantList.title")}),e(Fe,{apiKey:"AIzaSyBwla7DRqNmM6lP44VH7_m76LbfcNg4Szo",playlistId:"PLueZHG41Frz7AI33im5CyqPAfu8xk5EdL",customStyles:He})]})]})]})};wt.propTypes={};const ua=()=>{const{t}=x("views"),{settings:i,loading:a,error:n,updateSettings:r}=De(),[m,s]=We(),l=m==="elite",d=c=>u=>{l&&r({[c]:u.target.checked})};return a||!s?o("div",{className:"organization-document-scanning-view settings-page-reading",children:[e(M,{title:t("documentScanningView.title")}),e(R,{children:e(z,{children:e(F,{})})})]}):n&&!i?o("div",{className:"organization-document-scanning-view settings-page-reading",children:[e(M,{title:t("documentScanningView.title")}),e(R,{children:e("p",{className:"settings-intro",children:t("documentScanningView.loadError")})})]}):o("div",{className:"organization-document-scanning-view settings-page-reading",children:[e(M,{title:t("documentScanningView.title")}),o(R,{children:[e("p",{className:"settings-intro",children:t("documentScanningView.description")}),!l&&e(K,{severity:"warning",message:t("documentScanningView.eliteRequired")}),e(z,{children:o("div",{className:"settings-section",children:[e("h3",{children:t("documentScanningView.lineItemExtraction")}),e("p",{className:"section-description",children:t("documentScanningView.lineItemExtractionDescription")}),o("div",{className:"toggle-list",children:[o("div",{className:"toggle-item",children:[e("span",{className:"toggle-label",children:t("documentScanningView.expenseLineItemScan")}),e(H,{checked:l&&(i?.expenseLineItemScanEnabled??!0),onChange:d("expenseLineItemScanEnabled"),disabled:!l})]}),o("div",{className:"toggle-item",children:[e("span",{className:"toggle-label",children:t("documentScanningView.incomeLineItemScan")}),e(H,{checked:l&&(i?.incomeLineItemScanEnabled??!0),onChange:d("incomeLineItemScanEnabled"),disabled:!l})]})]})]})})]})]})},pa=t=>t?t.slice(0,5):"09:00",ga=t=>`${t}:00`,Ce=({value:t=null,onCommit:i,disabled:a=!1,label:n,className:r=void 0})=>{const m=pa(t),[s,l]=h.useState(m);h.useEffect(()=>{l(m)},[m]);const d=h.useCallback(u=>{l(u.target.value)},[]),c=h.useCallback(()=>{if(!s){l(m);return}s!==m&&i(ga(s))},[s,m,i]);return e(fe,{type:"time",size:"small",label:n,value:s,onChange:d,onBlur:c,disabled:a,className:r,InputLabelProps:{shrink:!0}})};Ce.propTypes={value:g.string,onCommit:g.func.isRequired,disabled:g.bool,label:g.string.isRequired,className:g.string};const ha=Array.from({length:31},(t,i)=>i+1),fa=[{value:1,labelKey:"meta:weekdays.monday"},{value:2,labelKey:"meta:weekdays.tuesday"},{value:3,labelKey:"meta:weekdays.wednesday"},{value:4,labelKey:"meta:weekdays.thursday"},{value:5,labelKey:"meta:weekdays.friday"},{value:6,labelKey:"meta:weekdays.saturday"},{value:7,labelKey:"meta:weekdays.sunday"}],ya=()=>{const{t}=x(["views","meta"]),{settings:i,loading:a,updating:n,error:r,updateSettings:m}=De(),s=i?.monthlyExpenseReportEnabled??!0,l=i?.monthlyExpenseReportSendDay??5,d=i?.monthlyExpenseReportSendTime,c=i?.weeklyExpenseReportEnabled??!1,u=i?.weeklyExpenseReportSendWeekday??2,v=i?.weeklyExpenseReportSendTime,f=b=>{m({monthlyExpenseReportEnabled:b.target.checked})},A=b=>{m({monthlyExpenseReportSendDay:Number(b.target.value)})},N=h.useCallback(b=>m({monthlyExpenseReportSendTime:b}),[m]),I=b=>{m({weeklyExpenseReportEnabled:b.target.checked})},T=b=>{m({weeklyExpenseReportSendWeekday:Number(b.target.value)})},V=h.useCallback(b=>m({weeklyExpenseReportSendTime:b}),[m]);return a?o("div",{className:"organization-report-emails-view settings-page-reading",children:[e(M,{title:t("reportEmailsView.title")}),e(R,{children:e(z,{children:e(F,{})})})]}):r&&!i?o("div",{className:"organization-report-emails-view settings-page-reading",children:[e(M,{title:t("reportEmailsView.title")}),e(R,{children:e("p",{className:"settings-intro",children:t("reportEmailsView.loadError")})})]}):o("div",{className:"organization-report-emails-view settings-page-reading",children:[e(M,{title:t("reportEmailsView.title")}),o(R,{children:[e("p",{className:"settings-intro",children:t("reportEmailsView.description")}),e(z,{children:o("div",{className:"settings-section",children:[e("h3",{children:t("reportEmailsView.monthly.title")}),o("div",{className:"toggle-item",children:[e("span",{className:"toggle-label",children:t("reportEmailsView.monthly.enabledLabel")}),e(H,{checked:s,onChange:f,disabled:n})]}),e("p",{className:"section-description",children:t("reportEmailsView.monthly.enabledDescription")}),o("div",{className:"schedule-fields",children:[e(fe,{select:!0,size:"small",label:t("reportEmailsView.monthly.sendDayLabel"),value:l,onCh
2ange:A,disabled:!s||n,className:"send-day-field",children:ha.map(b=>e(Le,{value:b,children:b},b))}),e(Ce,{label:t("reportEmailsView.sendTimeLabel"),value:d,onCommit:N,disabled:!s,className:"send-time-field"})]}),e("p",{className:"section-description",children:t("reportEmailsView.scheduleHint")}),e("p",{className:"section-description",children:t("reportEmailsView.monthly.sendDayHint")})]})}),e(z,{children:o("div",{className:"settings-section",children:[e("h3",{children:t("reportEmailsView.weekly.title")}),o("div",{className:"toggle-item",children:[e("span",{className:"toggle-label",children:t("reportEmailsView.weekly.enabledLabel")}),e(H,{checked:c,onChange:I,disabled:n})]}),e("p",{className:"section-description",children:t("reportEmailsView.weekly.enabledDescription")}),o("div",{className:"schedule-fields",children:[e(fe,{select:!0,size:"small",label:t("reportEmailsView.weekly.sendWeekdayLabel"),value:u,onChange:T,disabled:!c||n,className:"send-weekday-field",children:fa.map(b=>e(Le,{value:b.value,children:t(b.labelKey)},b.value))}),e(Ce,{label:t("reportEmailsView.sendTimeLabel"),value:v,onCommit:V,disabled:!c,className:"send-time-field"})]}),e("p",{className:"section-description",children:t("reportEmailsView.scheduleHint")})]})})]})]})},re=100,ce=500,Ct=({definition:t,existingNames:i,onSave:a,onCancel:n})=>{const{t:r}=x("views"),m=!!t,[s]=ie("customDataFieldValuesMaxPerField"),l=Number(s)||50,[d,c]=h.useState(t?.name||""),[u,v]=h.useState(t?.extractionPrompt||""),[f,A]=h.useState(t?.allowMultiple||!1),[N,I]=h.useState(!1),[T,V]=h.useState({}),b=h.useCallback(()=>{const y={},E=d.trim();return E?E.length>re?y.name=r("customDataFieldEditor.errors.nameTooLong",{max:re}):i.some(k=>k.toLowerCase()===E.toLowerCase())&&(y.name=r("customDataFieldEditor.errors.nameExists")):y.name=r("customDataFieldEditor.errors.nameRequired"),u.trim()?u.length>ce&&(y.extractionPrompt=r("customDataFieldEditor.errors.promptTooLong",{max:ce})):y.extractionPrompt=r("customDataFieldEditor.errors.promptRequired"),V(y),Object.keys(y).length===0},[d,u,i,r]),S=h.useCallback(async y=>{if(y.preventDefault(),!!b()){I(!0);try{await a({name:d.trim(),extractionPrompt:u.trim(),allowMultiple:f})}catch{I(!1)}}},[d,u,f,b,a]),w=r(m?"customDataFieldEditor.titleEdit":"customDataFieldEditor.titleCreate");return o("div",{className:"custom-data-field-editor",children:[e("div",{className:"custom-data-field-editor__header",children:w}),e("p",{className:"custom-data-field-editor__description",children:r("customDataFieldEditor.description")}),o("form",{onSubmit:S,className:"custom-data-field-editor__form",children:[o("div",{className:"custom-data-field-editor__field",children:[e("label",{htmlFor:"cdf-name",children:r("customDataFieldEditor.fields.name.label")}),e("input",{id:"cdf-name",type:"text",value:d,onChange:y=>{c(y.target.value),V(E=>({...E,name:void 0}))},placeholder:r("customDataFieldEditor.fields.name.placeholder"),maxLength:re,disabled:N}),T.name&&e("div",{className:"custom-data-field-editor__error",children:T.name}),o("div",{className:"custom-data-field-editor__char-count",children:[d.length,"/",re]})]}),o("div",{className:"custom-data-field-editor__field",children:[e("label",{htmlFor:"cdf-prompt",children:r("customDataFieldEditor.fields.extractionPrompt.label")}),e("textarea",{id:"cdf-prompt",value:u,onChange:y=>{v(y.target.value),V(E=>({...E,extractionPrompt:void 0}))},placeholder:r("customDataFieldEditor.fields.extractionPrompt.placeholder"),maxLength:ce,rows:4,disabled:N}),T.extractionPrompt&&e("div",{className:"custom-data-field-editor__error",children:T.extractionPrompt}),o("div",{className:"custom-data-field-editor__char-count",children:[u.length,"/",ce]})]}),o("div",{className:"custom-data-field-editor__field",children:[o("label",{className:"custom-data-field-editor__checkbox-label",children:[e("input",{type:"checkbox",checked:f,onChange:y=>A(y.target.checked),disabled:N||m}),r("customDataFieldEditor.fields.allowMultiple.label")]}),e("div",{className:"custom-data-field-editor__hint",children:r("customDataFieldEditor.fields.allowMultiple.hint",{max:l})})]}),o("div",{className:"custom-data-field-editor__actions",children:[e(_,{type:"button",theme:"secondary",onClick:n,disabled:N,children:r("customDataFieldEditor.cancel")}),e(_,{type:"submit",theme:"primary",disabled:N,children:r(m?"customDataFieldEditor.save":"customDataFieldEditor.create")})]})]})]})};Ct.propTypes={definition:g.shape({id:g.string,name:g.string,extractionPrompt:g.string,allowMultiple:g.bool}),existingNames:g.arrayOf(g.string).isRequired,onSave:g.func.isRequired,onCancel:g.func.isRequired};const Nt=({definition:t,canEdit:i,onEdit:a,onDelete:n,onToggleEnabled:r,onToggleIncludeInReport:m,t:s})=>{const{attributes:l,listeners:d,setNodeRef:c,transform:u,transition:v,isDragging:f}=zn({id:t.id}),A={transform:Rn.Transform.toString(u?{...u,x:0}:null),transition:v,opacity:f?.5:1};return o("div",{ref:c,style:A,className:`custom-data-field-item ${t.enabled?"":"custom-data-field-item--disabled"}`,children:[i&&e("span",{className:"custom-data-field-item__drag-handle",...l,...d,children:e(ii,{fontSize:"small"})}),o("div",{className:"custom-data-field-item__body",children:[o("div",{className:"custom-data-field-item__top-row",children:[o("div",{className:"custom-data-field-item__content",children:[o("div",{className:"custom-data-field-item__name",children:[t.name,t.allowMultiple&&e("span",{className:"custom-data-field-item__badge",children:s("customDataFieldsView.multipleValues")})]}),e("div",{className:"custom-data-field-item__prompt",children:t.extractionPrompt})]}),i&&o("div",{className:"custom-data-field-item__buttons",children:[e("button",{className:"custom-data-field-item__action-btn",onClick:()=>a(t),type:"button",children:e(ni,{fontSize:"small"})}),e("button",{className:"custom-data-field-item__action-btn custom-data-field-item__action-btn--delete",onClick:()=>n(t),type:"button",children:e(je,{fontSize:"small"})})]})]}),i&&o("div",{className:"custom-data-field-item__toggles",children:[o("label",{className:"custom-data-field-item__toggle",children:[e(H,{size:"small",checked:t.enabled,onChange:()=>r(t)}),e("span",{className:"custom-data-field-item__toggle-label",children:t.enabled?s("customDataFieldsView.enabled"):s("customDataFieldsView.disabled")})]}),o("label",{className:"custom-data-field-item__toggle",children:[e(H,{size:"small",checked:t.includeInReport,onChange:()=>m(t),disabled:!t.enabled}),e("span",{className:"custom-data-field-item__toggle-label",children:s("customDataFieldsView.includeInReport")})]})]})]})]})};Nt.propTypes={definition:g.object.isRequired,canEdit:g.bool.isRequired,onEdit:g.func.isRequired,onDelete:g.func.isRequired,onToggleEnabled:g.func.isRequired,onToggleIncludeInReport:g.func.isRequired,t:g.func.isRequired};const ba=()=>{const{t}=x("views"),i=ue(),n=qt()?.aiFieldsAccessible===!0,r=Kt(),m=n&&r,[s]=ie("customDataFieldDefinitionsMaxCount"),l=Number(s)||20,{definitions:d,isLoading:c,createDefinition:u,updateDefinition:v,deleteDefinition:f,reorderDefinitions:A}=Ln({organizationId:i?.id}),[N,I]=h.useState(!1),[T,V]=h.useState(null),b=d.length>=l,S=Dn(Tn(xn,{activationConstraint:{distance:5}})),w=h.useCallback(()=>{V(null),I(!0)},[]),y=h.useCallback(C=>{V(C),I(!0)},[]),E=h.useCallback(async C=>{T?await v(T.id,C):await u(C),I(!1),V(null)},[T,u,v]),k=h.useCallback(C=>{j({title:t("customDataFieldsView.deleteConfirm.title"),message:t("customDataFieldsView.deleteConfirm.message",{name:C.name}),cancelButton:t("customDataFieldsView.deleteConfirm.cancel"),confirmButton:t("customDataFieldsView.deleteConfirm.confirm"),confirmAction:()=>f(C.id)})}
2,[f,t]),O=h.useCallback(async C=>{await v(C.id,{enabled:!C.enabled})},[v]),Z=h.useCallback(async C=>{await v(C.id,{includeInReport:!C.includeInReport})},[v]),L=h.useMemo(()=>[...d].sort((C,U)=>C.position-U.position),[d]),$=h.useMemo(()=>L.map(C=>C.id),[L]),q=h.useCallback(C=>{const{active:U,over:p}=C;if(!p||U.id===p.id)return;const B=L.findIndex(W=>W.id===U.id),P=L.findIndex(W=>W.id===p.id),X=Pn(L,B,P);A(X.map(W=>W.id))},[L,A]),D=h.useCallback(()=>{I(!1),V(null)},[]);return c?e(F,{}):o("div",{className:"custom-data-fields-view settings-page-reading",children:[e(Ht,{isOpen:N,onDismiss:D,allowDismiss:!0,className:"custom-data-field-editor-modal",children:N&&e(Ct,{definition:T,existingNames:d.filter(C=>C.id!==T?.id).map(C=>C.name),onSave:E,onCancel:D})}),e(M,{title:t("customDataFieldsView.title"),sticky:!0,toolbar:m&&!b?e(_,{theme:"primary",size:"small",icon:e(Ne,{fontSize:"small"}),onClick:w,children:t("customDataFieldsView.addButton")}):void 0}),o(R,{children:[e("p",{className:"custom-data-fields-description",children:t("customDataFieldsView.description")}),n&&d.length>0&&e("div",{className:"custom-data-fields-count",children:t("customDataFieldsView.fieldCount",{count:d.length,max:l})}),!n&&e(z,{children:e("div",{className:"custom-data-fields-elite-notice",children:t("customDataFieldsView.eliteRequired")})}),e(z,{noPadding:!0,children:L.length===0?o("div",{className:"custom-data-fields-empty",children:[e(pe,{message:t("customDataFieldsView.empty")}),m&&e(_,{theme:"primary",size:"small",onClick:w,children:t("customDataFieldsView.addButton")})]}):e(Sn,{sensors:S,collisionDetection:En,onDragEnd:q,children:e(Mn,{items:$,strategy:kn,children:e("div",{className:"custom-data-fields-list",children:L.map(C=>e(Nt,{definition:C,canEdit:m,onEdit:y,onDelete:k,onToggleEnabled:O,onToggleIncludeInReport:Z,t},C.id))})})})}),m&&b&&e("div",{className:"custom-data-fields-limit-notice",children:t("customDataFieldsView.limitReached",{max:l})})]})]})},va=new Date().getFullYear()-1,wa=()=>{const{t}=x("views"),i=ae(),a=ue(),[n,r]=h.useState(va),[m,s]=h.useState({}),[l,d]=h.useState(null),[c,u]=h.useState(!1),v=h.useMemo(()=>qn(),[]),f=h.useMemo(()=>Kn(n),[n]),A=h.useCallback(V=>d({section:V,nonce:Date.now()}),[]),N=Hn({organizationId:a?.id}),I=On({templateKey:$n,templateSettings:m}),T=h.useCallback(()=>{u(!0),N({period:f,settings:m,onError:()=>ge({title:t("createReportView.createError.title"),message:t("createReportView.createError.message"),confirmButton:t("createReportView.createError.confirm"),confirmAction:()=>{}})}).then(()=>i("/dashboard/documents/report-builder",{state:{result:"success"}})).catch(()=>{}).finally(()=>u(!1))},[N,i,f,m,t]);return o("div",{className:"schedule-c-mapping-view",children:[e(M,{title:t("scheduleCMapping.title"),toolbar:e(Fn,{theme:"subtle"}),sticky:!0}),e(R,{children:o(z,{children:[e("p",{className:"schedule-c-section-help",children:t("scheduleCMapping.help")}),o("div",{className:"schedule-c-readiness-controls",children:[e("span",{children:t("scheduleCMapping.readiness.selectYear")}),e(_n,{layout:"small",theme:"modern",options:v,value:String(n),onChange:V=>r(Number(V))})]}),e(Un,{period:f,standardMileage:Oe(m.standard_mileage),unmappedExpenseCategoriesToOther:Oe(m.unmapped_expense_categories_to_other),onOpenSection:A}),a?.id&&e(Bn,{organizationId:a.id,settings:m,onSettingsChange:s,period:f,theme:"modern",note:t("scheduleCMapping.setup.sharedWithReport"),openRequest:l}),a?.id&&o("div",{className:"schedule-c-generate",children:[e(de,{variant:"accent",icon:e(ai,{}),disabled:c||!I,onClick:T,children:t(c?"scheduleCMapping.generate.generating":"scheduleCMapping.generate.button")}),e("p",{className:"schedule-c-generate-hint",children:t("scheduleCMapping.generate.hint",{year:n})})]})]})})]})};function Ca(t,i,{aiFieldsEnabled:a=!0,mileageTrackerEnabled:n=!1,userMcpEnabled:r=!1,scheduleCEnabled:m=!1}={}){let s=[];return s=[...s,{id:"team",label:i("loginInfoComponent.team"),icon:e(oi,{}),content:()=>e(Ti,{})}],Q(t,"subscription")&&(s=[...s,{id:"subscription",label:i("loginInfoComponent.subscription"),icon:e(si,{}),content:()=>e(Si,{})}]),Q(t,"integrations")&&(s=[...s,{id:"integrations",label:i("loginInfoComponent.integrations"),icon:e(ri,{}),content:()=>e(Ei,{})}]),s=[...s,{id:"emailReceipts",label:i("loginInfoComponent.emailReceipts"),icon:e(ci,{}),content:()=>e(mn,{})},{id:"automations",label:i("loginInfoComponent.automations"),icon:e(li,{}),content:()=>e(mt,{})},...a&&Q(t,"customDataFields")?[{id:"customDataFields",label:i("loginInfoComponent.customDataFields"),icon:e(di,{}),content:()=>e(ba,{})}]:[],...Q(t,"documentScanning")?[{id:"documentScanning",label:i("loginInfoComponent.documentScanning"),icon:e(mi,{}),content:()=>e(ua,{})},{id:"reportEmails",label:i("loginInfoComponent.reportEmails"),icon:e(ui,{}),content:()=>e(ya,{})}]:[],{id:"itemCategories",label:i("loginInfoComponent.itemCategories"),icon:e(pi,{}),divider:s.length>0,content:()=>e(xi,{})},{id:"hashTags",label:i("loginInfoComponent.hashTags"),icon:e(gi,{}),content:()=>e(zi,{})},{id:"paymentMethods",label:i("loginInfoComponent.paymentMethods"),icon:e(hi,{}),content:()=>e(Pi,{})},...n?[{id:"vehicles",label:i("loginInfoComponent.vehicles"),icon:e(fi,{}),content:()=>e(ot,{})}]:[],{id:"taxRates",label:i("loginInfoComponent.taxRates"),icon:e(yi,{}),content:()=>e(Oi,{})},...m&&Q(t,"scheduleC")?[{id:"scheduleC",label:i("loginInfoComponent.scheduleC"),icon:e(bi,{}),content:()=>e(wa,{})}]:[],{id:"accounts",label:i("loginInfoComponent.accounts"),icon:e(vi,{}),content:()=>e(un,{})},...r?[{id:"mcp",label:i("loginInfoComponent.mcp"),icon:e(wi,{}),content:()=>e(bt,{})}]:[],{id:"tutorials",label:i("loginInfoComponent.tutorials"),icon:e(Ci,{}),content:()=>e(wt,{})},{id:"affiliates",label:i("loginInfoComponent.affiliates"),icon:e(Ni,{}),content:()=>e(vt,{})},{id:"profile",label:i("loginInfoComponent.profile"),icon:e(Ii,{}),content:()=>e(pn,{})},{id:"notificationPreferences",label:i("loginInfoComponent.notificationPreferences"),icon:e(Ze,{}),content:()=>e(ft,{})}],s=s.map(l=>l?{...l,content:()=>e(Vn,{className:`option-page-wrapper-${l.id}`,padding:0,disableOnMobile:!0,children:l.content instanceof Function?l.content():l.content})}:null),Di(s)}const Na=()=>{const{t}=x("views"),i=Ue(),a=ue(),n=a?.aiFieldsAccessible===!0,r=a?.enabledFeatures||[],m=r.includes("enable_mileage_tracker"),s=r.includes("enable_schedule_c_exp
2ort"),[l]=ie("userMcpEnabled");return o("div",{className:"dashboard-settings-view",children:[e(At,{children:e("body",{className:"dashboard-settings-view-page"})}),e(Vt,{tabs:Ca(i,t,{aiFieldsEnabled:n,mileageTrackerEnabled:m,userMcpEnabled:l===!0,scheduleCEnabled:s}),encodeTabInUrl:!0,compact:!0})]})};Na.propTypes={};export{Na as default}; 3//# sourceMappingURL=DashboardSettingsView-BK4Gk0IP.js.map
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.