PageSourceSearch

https://olfcaqueens.org/build/_route-DiDwdMoR.js

js olfcaqueens.org collected 2026-09-29 00:43:26 UTC 33,911 bytes, 25 lines download raw bytes

1import{A as fe,r as y,j as e,d as n,ah as ke,g as ne,ai as je,M as be,F as Ae,o as B,Q as h,J as H,aj as R,ak as te,al as ie,am as K,S as Ee}from"./index-D6EGPuBX.js";import{C as De}from"./common_admin_layout-Br0pPwuB.js";import{d as j,c as Ce,g as S,D as z,a as P,b as q,h as Ie,e as Te,f as Oe,i as we,j as Me}from"./utils-C8gA_5rN.js";import{c as Z,a as x}from"./object-D4RecLdd.js";import{G as J,g as W,u as Le}from"./gql-pDldDZKs.js";import{u as U}from"./utils-C2CneUTw.js";import{u as E}from"./useMutation-C1Ch55G_.js";import{c as f}from"./hub-B0HBP01d.js";import{i as Q}from"./isEmpty-V_e8evrK.js";import{c as A}from"./index-D6eu1Y6_.js";import{c as oe}from"./capitalize-CBVuOp2I.js";import"./admin_layout_base-OFjLav4n.js";import"./layout-BCNhc604.js";import"./ApolloContext-C4RA8h06.js";import"./index-CzKlQJMC.js";const X=[{label:"Weekly Mass Times",key:"MASS",group:"MASS"},{label:"Christmas Mass Times",key:"CHRISTMAS",group:"MASS"},{label:"Solemnity of Mary, the Holy Mother of God",key:"SOLEMNITYOFMARY",group:"MASS"},{label:"Ash Wednesday",key:"ASHWEDNESDAY",group:"MASS"},{label:"Holy Thursday",key:"HOLYTHURSDAY",group:"MASS"},{label:"Good Friday",key:"GOODFRIDAY",group:"MASS"},{label:"Easter Vigil",key:"EASTERVIGIL",group:"MASS"},{label:"Easter Sunday",key:"EASTERSUNDAY",group:"MASS"},{label:"Weekly Confession Times",key:"CONFESSION",group:"CONFESSION"},{label:"Advent Penitential Service",key:"ADVENTPENITENTIAL",group:"CONFESSION"},{label:"Lent Penitential Service",key:"LENTPENITENTIAL",group:"CONFESSION"},{label:"Devotion",key:"DEVOTION",group:"DEVOTION"},{label:"Weekly Eucharistic Adoration Times",key:"WEEKLYADORATION",group:"DEVOTION"}];function re(){var r;const[a,t,i]=fe("type"),d=a.value,c=(r=X.find(({key:u})=>u===d))==null?void 0:r.group,[l,o]=y.useState(c),m=X.filter(u=>u.group===l),s=u=>{var v;const g=((v=u==null?void 0:u.target)==null?void 0:v.value)||"MASS";o(g),i.setValue(g)};return e.jsxs(e.Fragment,{children:[e.jsxs(n.Select,{label:"Type",size:"small",onChange:s,value:l,children:[e.jsx("option",{value:"MASS",children:"Mass Type"},"MASS"),e.jsx("option",{value:"CONFESSION",children:"Confession Type"},"CONFESSION"),e.jsx("option",{value:"DEVOTION",children:"Devotion Type"},"DEVOTION")]}),e.jsx(n.FormikSelectField,{name:"type",size:"small",children:m.map(({label:u,key:g})=>e.jsx("option",{value:g,children:u},g))})]})}var Fe=ke;function ze(a,t,i,d){return Fe(a,function(c,l,o){t(d,i(c),l,o)}),d}var $e=ze,Be=$e;function Re(a,t){return function(i,d){return Be(i,a,t(d),{})}}var We=Re,Pe=je,He=We,Ke=be,Ue=Object.prototype,Ge=Ue.toString,Ve=He(function(a,t,i){t!=null&&typeof t.toString!="function"&&(t=Ge.call(t)),a[t]=i},Pe(Ke)),Ye=Ve;const se=ne(Ye),_e={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"اَلْعَرَبِيَّةُ"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"Català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"ދިވެހި"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"Ελληνικά"},en:{name:"English",nativeName:"English"}
1,eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fo:{name:"Faroese",nativeName:"føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"Hrvatski"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາລາວ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Kiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"Bahasa Melayu"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Dorerin Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"Polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"}
1,ro:{name:"Romanian",nativeName:"Română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovenian",nativeName:"slovenščina"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"Svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmençe"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};var qe=_e;const M=qe,le={},$={},me=[],ce=[],de=[];for(const a in M){const{name:t,nativeName:i}=M[a];le[a]=$[t.toLowerCase()]=$[i.toLowerCase()]={code:a,name:t,nativeName:i},me.push(a),ce.push(t),de.push(i)}var Ze=class F{static getLanguages(t=[]){return t.map(i=>F.validate(i)?Object.assign({},le[i]):{code:i,name:"",nativeName:""})}static getName(t){return F.validate(t)?M[t].name:""}static getAllNames(){return ce.slice()}static getNativeName(t){return F.validate(t)?M[t].nativeName:""}static getAllNativeNames(){return de.slice()}static getCode(t){return t=t.toLowerCase(),$.hasOwnProperty(t)?$[t].code:""}static getAllCodes(){return me.slice()}static validate(t){return M.hasOwnProperty(t)}};const ee=ne(Ze),Je={ceb:"Cebuano",kmv:"French Creole",yue:"Cantonese",cmn:"Mandarin",arc:"Aramaic",kok:"Konkani"},G=ee.getAllCodes().concat(["ceb","kmv","yue","cmn","arc","kok"]).map(a=>({title:ee.getName(a)||Je[a],code:a})).filter(({title:a})=>!!a).sort((a,t)=>a.title.localeCompare(t.title)),V={Coptic:"COPTIC",Ethiopian:"ETHIOPIAN",Eritrean:"ERITREAN",Armenian:"ARMENIAN",Albanian:"ALBANIAN",Belarusian:"BELARUSIAN",Bulgarian:"BULGARIAN","Croatian and Serbian":"CROATIANANDSERBIAN",Greek:"GREEK",Hungarian:"HUNGARIAN","Italo-Albanian":"ITALOALBANIAN",Macedonian:"MACEDONIAN",Melkite:"MELKITE",Romanian:"ROMANIAN",Russian:"RUSSIAN",Ruthenian:"RUTHENIAN",Slovak:"SLOVAK",Ukrainian:"UKRAINIAN",Chaldean:"CHALDEAN","Syro Malabar":"SYROMALABAR",Latin:"LATIN",Maronite:"MARONITE",Syriac:"SYRIAC","Syro Malankara":"SYROMA
1LANKARA"},Qe=Z().shape({frequency:x().oneOf(["WEEKLY","once"]),byDayOfWeek:x().oneOf(Object.values(j.DateAdapter.WEEKDAYS)),title:x().max(26),note:x().max(26),language:x().matches(/^[a-zA-Z]{2,3}(-[a-zA-Z]{2,3})?$/,"Invalid language code"),rite:x(),season:Z().shape({value:x(),id:x()}),type:x().required()});function Xe(a){const t=h.fromJSDate(a.start.toDate()).setZone(S.timezone),i={start:t.toString(),rank:a.rank,note:a.note,language:a.language,type:a.type},d=t.startOf("minute");if(a.frequency==="WEEKLY")try{const c=new j.Rule({frequency:"WEEKLY",byDayOfWeek:[a.byDayOfWeek],start:d.minus({week:1})});i.rule=c.toJSON()}catch(c){console.error(c),f(c)}else try{i.date=new j.Dates({dates:[d]}).toJSON(),i.title=a.title}catch(c){console.error(c),f(c)}return i}function ea(){const{defaultLocale:a}=U(),[t,i]=y.useState(!1),[d]=E(Ce);return e.jsxs(y.Fragment,{children:[e.jsx(n.Button,{iconBefore:n.AddIcon,onPress:()=>i(!0),children:e.jsx(Ae,{id:"new_service",defaultMessage:"New Service"})}),e.jsx(B,{validationSchema:Qe,initialValues:{frequency:"WEEKLY",start:n.dateTimeToCalendarDateTime(h.local().plus({hour:1}).startOf("hour"))||n.now(S.timezone),byDayOfWeek:j.DateAdapter.WEEKDAYS[h.local().weekday],type:"MASS"},onSubmit:async(c,l)=>{try{await d({variables:{service:Xe(c)},update:(o,{data:{createService:m}})=>{const s=o.readQuery({query:J});s&&o.writeQuery({query:J,data:{services:[...s.services,m]}})}}),l.setSubmitting(!1),i(!1)}catch(o){console.error(o),f(o)}},children:({resetForm:c,values:l,setFieldValue:o,setFieldTouched:m})=>e.jsxs(n.Dialog,{shouldCloseOnClick:!0,title:"New Service",onCancel:()=>{i(!1),c()},isDismissable:!0,isShown:t,containerCSS:{maxWidth:350},children:[e.jsx(n.Content,{children:e.jsx(H,{children:e.jsxs(n.VStack,{children:[e.jsx(n.FormikSegementedControl,{label:"Frequency",name:"freq",onChange:s=>{s==="WEEKLY"&&o("title",""),o("frequency",s)},options:[{label:"Every Week",value:"WEEKLY"},{label:"Once",value:"once"}]}),l.frequency==="once"?e.jsxs(y.Fragment,{children:[e.jsx(n.FormikTextField,{name:"title",max:26,label:"Title (optional)"}),e.jsx(n.DatePicker,{granularity:"minute",value:l.start,hideTimeZone:l.start.timeZone!==R.instance.name,isDateUnavailable:s=>n.toLuxonDateTime(s).diffNow("days").days<-1,onChange:s=>o("start",s),onBlur:()=>m("start",!0),hourCycle:12,label:"Date/Time"})]}):e.jsxs(y.Fragment,{children:[e.jsx(n.WeekdayField,{defaultValue:z[l.byDayOfWeek],onChange:s=>o("byDayOfWeek",se(z)[s])}),e.jsx(n.TimeField,{value:l.start,onChange:s=>o("start",s),onBlur:()=>m("start",!0),label:"Time"})]}),((l==null?void 0:l.byDayOfWeek)==="SA"||n.toLuxonDateTime(l.start).weekday===6)&&l.start.hour>15&&e.jsx(n.Checkbox,{label:"Saturday Vigil?",checked:l.rank==="SUNDAY",onChange:s=>
1o("rank",s?"SUNDAY":"FERIAL")}),e.jsx(re,{}),e.jsx(n.FormikTextField,{name:"note",max:"26",label:"Note (optional)",size:"small"}),e.jsx(n.FormikSelectField,{name:"language",description:`Defaults to your site's language (${a}).`,placeholder:"Choose a locale",label:"Language Code (optional)",size:"small",children:G.map(({code:s,title:r})=>e.jsxs("option",{value:s,children:[r," ",`(${s})`]},s))}),e.jsxs(n.FormikSelectField,{name:"rite",placeholder:"Choose a rite",label:"Rite (optional)",size:"small",children:[e.jsx("option",{value:""}),Object.entries(V).map(([s,r])=>e.jsx("option",{value:r,children:s},r))]})]})})}),e.jsx(n.Footer,{children:e.jsxs(n.ButtonGroup,{children:[e.jsx(n.Button,{onPress:()=>i(!1),color:"secondary",children:"Cancel"}),e.jsx(n.FormikSubmitButton,{intent:"success"})]})})]})})]})}const aa=W(`
2	mutation addException($id: ID!, $exception: ExDateAttributes!) {
3		addException(id: $id, exception: $exception) {
4			...ServiceFragment
5		}
6	}
7`),na=W(`
8	mutation deleteException($serviceId: ID!, $id: ID!) {
9		deleteException(serviceId: $serviceId, id: $id) {
10			...ServiceFragment
11		}
12	}
13`);function ta(a){var d,c,l;const[t,i]=y.useState(((c=(d=a.exdates)==null?void 0:d[0])==null?void 0:c.id)??"new");return e.jsxs(n.HStack,{space:"none",css:{alignSelf:"stretch",width:"100%"},children:[e.jsxs(n.VStack,{css:{minWidth:300,maxWidth:300,backgroundColor:"$gray6",padding:"$5 $3",alignSelf:"stretch"},children:[e.jsx(n.Heading,{size:"subHeadline",children:"Exceptions"}),e.jsx(n.ListBox,{appearance:"standalone",defaultSelectedKeys:[t],selectionMode:"single",disallowEmptySelection:!0,onSelectionChange:o=>{o!=="all"&&i([...o][0])},css:{backgroundColor:"$background"},items:(((l=a.exdates)==null?void 0:l.map(o=>({id:o.id,description:ue(o.date.data.type),title:h.fromObject(te(o.date.dates[0],["__typename","timezone"])).toLocaleString(h.DATE_MED)})))||[]).concat([{id:"new",title:"New Exception",description:e.jsx(n.AddIcon,{size:"$3"})}])||[],children:({title:o,description:m,id:s})=>e.jsx(n.Item,{textValue:o,children:e.jsxs(n.HStack,{align:"center",children:[e.jsx(n.Text,{size:"caption1",children:o}),e.jsx(n.Spacer,{css:{marginInline:"auto"}}),m]})},s)})]}),e.jsx(n.Box,{css:{padding:"$5 $3",flexGrow:1,alignSelf:"stretch",overflowY:"scroll",maxHeight:600},children:t==="new"?e.jsx(oa,{...a,setSelectedItem:i}):e.jsx(ia,{...a,setSelectedItem:i,exId:t})})]})}function ue(a){switch(a){case"CANCEL":return e.jsx(n.Badge,{round:!0,intent:"danger",children:"Cancelled"});case"MODIFY":return e.jsx(n.Badge,{round:!0,intent:"warning",children:"Modified"});default:return null}}function ia({exdates:a,exId:t,id:i,setSelectedItem:d}){var I,p,k,D,L,T,O,w,N,b;const[c,{loading:l}]=E(na,{variables:{serviceId:i,id:t},update:(C,{data:{deleteException:ye}})=>{var Y,_;return d(((_=(Y=ye.exdates)==null?void 0:Y[0])==null?void 0:_.id)||"new")}}),o=a==null?void 0:a.find(C=>C.id===t);let m;try{m=j.Dates.fromJSON(o.date)}catch(C){f(C)}const s=m==null?void 0:m.occurrences({take:1}).toArray()[0],r=s==null?void 0:s.date,u=(p=(I=s==null?void 0:s.generators)==null?void 0:I[0])==null?void 0:p.data;if(!m||!r||!u)return e.jsxs(n.VStack,{children:[e.jsx(n.Text,{children:"Data is malformed"}),e.jsx(n.Button,{onPress:()=>c(),children:"Delete"})]});let g,v;try{g=h.fromISO(u==null?void 0:u.newDate).setZone(r.zone),v=P(r,g)}catch(C){f(C)}return e.jsxs(n.Box,{children:[e.jsx(n.Heading,{size:"subHeadline",children:r.toLocaleString(h.DATETIME_MED)}),ue(o.date.data.type),o.date.data.type==="CANCEL"?e.jsxs(n.VStack,{css:{paddingBlock:"$3"},children:[e.jsxs(n.Paragraph,{size:"caption1",children:["The service scheduled for ",e.jsx("b",{children:r.toLocaleString(h.DATETIME_MED)})," has been cancelled"," ",((D=(k=o.date)==null?void 0:k.data)==null?void 0:D.reason)&&` because ${(T=(L=o.date)==null?void 0:L.data)==null?void 0:T.reason}`]}),e.jsx(n.Button,{intent:"warning",onClick:()=>c(),loading:l,iconBefore:n.UndoIcon,children:"Undo Cancellation"})]}):e.jsxs(n.VStack,{css:{paddingBlock:"$3"},children:[e.jsxs(n.Paragraph,{children:["The Mass that would have been ",q(v)," ",r.toLocaleString(P(r,g))," will be"," ",q(v)," ",g instanceof h?g.toLocaleStr
13ing(P(r,g)):"",((w=(O=o.date)==null?void 0:O.data)==null?void 0:w.reason)&&` due to ${(b=(N=o.date)==null?void 0:N.data)==null?void 0:b.reason}`]}),e.jsx(n.Button,{intent:"warning",onClick:()=>c(),loading:l,iconBefore:n.UndoIcon,children:"Undo Modification"})]})]})}function oa({setSelectedItem:a,...t}){var o;const[i]=E(aa),d=((o=t.exdates)==null?void 0:o.map(m=>h.fromObject(te(m.date.dates[0],["__typename","timezone"])).startOf("day").toMillis()))||[],c=t.nextDate.zoneName,l=t.computedSchedule.occurrences({start:h.local().setZone(c),end:h.local().setZone(c).endOf("month").plus({year:1})}).toArray().map(m=>m.date.startOf("day").toMillis()).filter(m=>!d.includes(m));return e.jsxs(n.VStack,{children:[e.jsx(n.Heading,{size:"subHeadline",children:"New Exception"}),e.jsx(B,{onSubmit:async(m,s)=>{try{const r=t.nextDate.zoneName;await i({variables:{id:t.id,exception:{date:new j.Dates({timezone:r,dates:[t.nextDate.set({day:m.date.day,month:m.date.month,year:m.date.year}).setZone(r)],data:m.data}).toJSON({data:!0})}},update:(u,{data:{addException:{exdates:g}}})=>{a(g[g.length-1].id)}}),s.setSubmitting(!1)}catch(r){f(r)}},initialValues:{date:n.parseAbsolute(h.fromMillis(l==null?void 0:l[0]).toISO(),c),data:{type:"CANCEL",reason:void 0,newDate:void 0}},children:({setFieldValue:m,values:s})=>e.jsxs(n.VStack,{children:[e.jsx(n.Calendar,{isDateUnavailable:r=>!l.includes(h.fromJSDate(r.toDate(c)).startOf("day").toMillis()),onChange:r=>m("date",r.set({minute:0,second:0,millisecond:0})),value:s.date}),e.jsx(n.FormikSegementedControl,{size:"small",label:"Exception Type",appearance:"outline",value:s.data.type,onChange:r=>m("data.type",r),options:["CANCEL","MODIFY"].map(r=>({label:oe(r),value:r})),name:"data.type"}),s.data.type==="MODIFY"&&e.jsx(n.DatePicker,{isRequired:!0,onChange:r=>m("data.newDate",r),value:s.data.newDate||s.date,label:"New Date/Time",granularity:"minute",hideTimeZone:t.nextDate.zoneName!==R.instance.name,isDateUnavailable:r=>h.fromJSDate(r.toDate(c)).endOf("day")<t.nextDate,description:"Pick a new date/time for this service"}),e.jsx(n.FormikTextField,{name:"data.reason",max:"35",label:"Reason",placeholder:"Provide a reason for the exception",description:"Optional"}),e.jsx(n.HStack,{children:e.jsx(n.FormikSubmitButton,{intent:"success",iconBefore:n.FloppyDiskIcon,children:"Save"})})]})})]})}const he=W(`
14	mutation UpdateService($id: ID!, $service: UpdateServiceAttributes!) {
15		updateService(id: $id, service: $service) {
16			...ServiceFragment
17		}
18	}
19`),ge=W(`
20	mutation deleteService($id: ID!) {
21		deleteService(id: $id) {
22			id
23		}
24	}
25`);function ra(a){return a.service.isRecurring?e.jsx(sa,{...a}):e.jsx(la,{...a})}function pe({values:a,service:t}){const i=h.fromJSDate(a.start.toDate()).setZone(S.timezone),d={id:t.id,service:{note:a.note,start:i.toISO(),language:a.language,type:a.type,rank:a.rank}},c=S.timezone,l=i.startOf("minute");try{t.isRecurring?d.service.rule=new j.Rule({frequency:"WEEKLY",byDayOfWeek:[a.byDayOfWeek],start:l}).toJSON():(d.service.date=new j.Dates({timezone:c,dates:[l]}).toJSON(),d.service.title=a.title)}catch(o){f(o)}return d}const Ne=n.styled("div",{position:"relative",maxWidth:300,"&::after":{content:'""',opacity:0,pointerEvents:"none",zIndex:99,alignItems:"center",justifyContent:"center",position:"absolute",top:0,left:0,width:"100%",height:"100%"},variants:{exceptionsShown:{true:{minHeight:600,cursor:"pointer",pointerEvents:"none","&:hover::after":{backdropFilter:"brightness(20%)"},"&::after":{pointerEvents:"all",transition:"225ms",borderBottomLeftRadius:6,content:'"Back to Service"',color:"white",display:"flex",opacity:1,zIndex:"$overlay",backgroundColor:"$overlay",backdropFilter:"brightness(30%)"}}}}});function sa({service:a,toggleShown:t,isShown:i}){const{defaultLocale:d}=U(),{formatMessage:c}=ie(),[l]=E(he),[o,m]=K(!1),s=n.useConfirm(),[r]=E(ge,Se({id:a.id}));return e.jsx(n.Dialog,{shouldCloseOnClick:!1,shouldCloseOnEscapePress:!1,title:"Update Recurring Service",isDismissable:!0,isShown:i,containerCSS:{width:"max-content",section:{padding:0}},onCancel:()=>{t(!1),m(!1)},children:u=>{var g,v,I;return e.jsx(n.Content,{children:e.jsxs(n.HStack,{as:A.motion.div,space:"none",exit:{},initial:!1,animate:{width:o?1e3:300},children:[e.jsx(Ne,{exceptionsShown:o,onClick:o?m:void 0,children:e.jsx(B,{onSubmit:async(p,k)=>{try{await l({variables:pe({values:p,service:a})}),k.setSubmitting(!1),u()}catch(D){f(D)}},initialValues:{start:n.parseAbsolute(a.start,S.timezone||a.nextDate.zone.name),byDayOfWeek:(I=(v=(g=a.rule)==null?void 0:g.config)==null?void 0:v.byDayOfWeek)==null?void 0:I[0],note:a.note??void 0,rank:a.rank??void 0,language:a.language??void 0,type:a.type??void 0},children:({values:p,setFieldValue:k,setFieldTouched:D,dirty:L,initialValues:T})=>{var O,w;
25return e.jsxs(H,{children:[e.jsxs(n.VStack,{css:{padding:"$3"},children:[e.jsx(n.WeekdayField,{defaultValue:z[p.byDayOfWeek],onChange:N=>k("byDayOfWeek",se(z)[N])}),e.jsx(n.TimeField,{value:p.start,onChange:N=>k("start",N),onBlur:()=>D("start",!0)}),L&&((O=a.exdates)==null?void 0:O.length)>0&&(T.byDayOfWeek!==p.byDayOfWeek||T.start!==p.start)&&e.jsx(n.Text,{size:"caption2",children:"Changing the date or time of this service will remove any future exceptions"}),((p==null?void 0:p.byDayOfWeek)==="SA"||n.toLuxonDateTime(p.start).weekday+1===n.Weekday.Saturday)&&p.start.hour>15&&e.jsx(n.Switch,{label:"Saturday Vigil?",selected:p.rank==="SUNDAY",onChange:N=>k("rank",N?"SUNDAY":"FERIAL")}),e.jsx(n.FieldLabelAndDescription,{label:"Cancellations / Modifications",description:c({id:"serviceForm.exceptionDescription",defaultMessage:"{exceptionCount, plural, =0 {No exceptions} one {# exception} other {# exceptions}}"},{exceptionCount:((w=a.exdates)==null?void 0:w.length)||0})}),e.jsx(n.Button,{onPress:m,size:"small",iconBefore:n.TimeClockCircleIcon,children:"Edit Future Services"}),e.jsx(re,{}),e.jsx(n.FormikTextField,{name:"note",max:"30",label:"Note (optional)",size:"small"}),e.jsx(n.FormikSelectField,{name:"language",description:`Defaults to your site's language (${d}).`,placeholder:"Choose a locale",label:"Language Code (optional)",size:"small",children:G.map(({code:N,title:b})=>e.jsxs("option",{value:N,children:[b," ",`(${N})`]},N))}),e.jsxs(n.FormikSelectField,{name:"rite",placeholder:"Choose a rite",label:"Rite (optional)",size:"small",children:[e.jsx("option",{value:""}),Object.entries(V).map(([N,b])=>e.jsx("option",{value:b,children:N},b))]})]}),e.jsx(n.Footer,{children:e.jsxs(n.ButtonGroup,{children:[e.jsx(n.Button,{size:"small",onPress:u,appearance:"minimal",children:"Cancel"}),e.jsx(n.Button,{onPress:()=>{s({title:"Delete Service",message:"Are you sure you want to delete this service? This cannot be undone.",intent:"danger",confirmLabel:"Delete",confirmButtonProps:{icon:n.TrashIcon}}).then(()=>{r(),u()})},iconBefore:n.TrashIcon,intent:"danger",size:"small",children:"Delete"}),e.jsx(n.FormikSubmitButton,{size:"small",iconBefore:n.FloppyDiskIcon,intent:"success",title:"Save"})]})})]})}})}),e.jsx(A.AnimatePresence,{children:o&&e.jsx(n.Box,{as:A.motion.div,css:{display:"contents",overflowX:"clip"},exit:{width:0,opacity:0},initial:{width:0,opacity:0},animate:{width:700,height:"100%",opacity:1},children:e.jsx(ta,{...a})})})]})})}})}function la({service:a,isShown:t,toggleShown:i}){const[d]=E(he),c=n.useConfirm(),[l]=E(ge,Se({id:a.id}));return e.jsx(n.Dialog,{shouldCloseOnClick:!1,shouldCloseOnEscapePress:!1,title:"Update Single Service",isDismissable:!0,isShown:t,containerCSS:{width:300,section:{padding:0}},contentContainerProps:{css:{width:300}},onCancel:()=>{i(!1)},children:o=>e.jsx(Ne,{children:e.jsx(B,{onSubmit:async(m,s)=>{try{await d({variables:pe({values:m,service:a})}),s.setSubmitting(!1),o()}catch(r){f(r)}},initialValues:{start:n.parseAbsolute(a.start,S.timezone||a.nextDate.zone.name),title:a.title??void 0,note:a.note??void 0,rank:a.rank??void 0},children:({values:m,setFieldValue:s})=>e.jsxs(e.Fragment,{children:[e.jsx(n.Content,{children:e.jsx(H,{children:e.jsxs(n.VStack,{space:"large",css:{padding:"$3"},children:[e.jsx(n.FormikTextField,{name:"title",label:"Title (optional)"}),e.jsx(n.DatePicker,{value:m.start,granularity:"minute",hideTimeZone:m.start.timeZone!==R.instance.name,isDateUnavailable:r=>n.toLuxonDateTime(r).diffNow("days").days<-1,onChange:r=>s("start",r),label:"Date/Time"}),((m==null?void 0:m.byDayOfWeek)==="SA"||m.start.weekday+1===n.Weekday.Saturday)&&m.start.hour>15&&e.jsx(n.Switch,{label:"Saturday Vigil?",selected:m.rank==="SUNDAY",onChange:r=>s("rank",r?"SUNDAY":"FERIAL")}),e.jsx(n.FormikTextField,{name:"note",label:"Note (optional)"}),e.jsx(n.FormikSelectField,{name:"language",placeholder:"Choose a locale",label:"Language Code (optional)",size:"small",children:G.map(({code:r,title:u})=>e.jsxs("option",{value:r,children:[u," ",`(${r})`]},r))}),e.jsxs(n.FormikSelectField,{name:"rite",placeholder:"Choose a rite",label:"Rite (optional)",size:"small",children:[e.jsx("option",{value:""}),Object.entries(V).map(([r,u])=>e.jsx("option",{value:u,children:r},u))]})]})})}),e.jsx(n.Footer,{children:e.jsxs(n.ButtonGroup,{children:[e.jsx(n.Button,{size:"small",onPress:o,appearance:"minimal",children:"Cancel"}),e.jsx(n.Button,{onPress:()=>{c({title:"Delete Service",message:"Are you sure you want to delete this service? This cannot be undone.",intent:"danger",confirmLabel:"Delete",confirmButtonProps:{icon:n.TrashIcon}}).then(()=>{l(),o()})},iconBefore:n.TrashIcon,intent:"danger",size:"small",children:"Delete"}),e.jsx(n.FormikSubmitButton,{size:"small",iconBefore:n.FloppyDiskIcon,intent:"success",title:"Save",children:"Save"})]})})]})})})})}function Se(a){return{variables:a,update:t=>{t.evict({id:t.identify({__typename:"Service",id:a.id})})}}}function ma(a){switch(a){case"WEEKLY":default:return"week"}}function ca(a){var i;const t=((i=a.exdates)==null?void 0:i.length)||0;return t>0?` with ${t} exception${t>1?"s":""}`:""}function da(a){var t;return a?a.isRecurring?`Every ${ma(a.rule.config.frequency)}${ca(a)}`:a.title||`Once on ${(t=a==null?void 0:a.nextDate)==null?void 0:t.toLocaleStr
25ing({year:"numeric",month:"short",day:"numeric"})}`:""}const ua={weekday:"long",hour:"numeric",minute:"2-digit"};function ve({service:a,preview:t}){var l,o;const[i,d]=K(!1),{formatDisplayName:c}=ie();return Ee.defaultZone=S.timezone,e.jsxs(e.Fragment,{children:[!t&&e.jsx(ra,{service:a,isShown:i,toggleShown:d}),e.jsxs(ha,{initial:!1,animate:{opacity:1},exit:{opacity:0},preview:t,onClick:!t&&d,border:a.isRecurring,hoverElevation:t?void 0:"1",children:[e.jsxs(n.Text,{size:"caption2",children:[da(a)," ",a.type?` • ${oe(a.type)}`:""," ",a.language?` • ${c(a.language,{type:"language"})}`:""]}),e.jsxs(n.Strong,{size:"large",children:[a.isRecurring?(l=a==null?void 0:a.nextDate)==null?void 0:l.toLocaleString(ua):(o=a==null?void 0:a.nextDate)==null?void 0:o.toLocaleString(h.DATETIME_MED),S.timezone!==(a==null?void 0:a.nextDate.zoneName)&&` ${a==null?void 0:a.nextDate.offsetNameShort}`]}),a.note&&e.jsx(n.Text,{css:{color:"$primary"},size:"footnote",children:a.note})]})]})}const ha=n.styled(A.motion.div,n.Card,{position:"relative",padding:"$3",paddingBottom:"$4",display:"flex",gap:"$2",width:"100%",flexDirection:"column",justifyContent:"center",userSelect:"none",borderColor:"hsl($hsl_primary / 0.3)",backgroundColor:"hsl($hsl_primary / 0.1)",cursor:"pointer",variants:{preview:{true:{cursor:"default"}}}}),xe=n.styled(A.motion.div,{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))",gap:"$2"});function ae({masses:a,heading:t}){return a!=null&&a.some(i=>i.isRecurring)?e.jsxs(n.VStack,{children:[e.jsx(n.Heading,{size:"groupHeadline",children:t}),e.jsx(xe,{children:e.jsx(A.AnimatePresence,{initial:!1,children:a.map(i=>e.jsx(ve,{service:i},i.id))})})]}):null}function ga({masses:a}){return e.jsx(n.VStack,{children:Object.entries(a).map(([t,i])=>e.jsx(pa,{seasonName:t,...i},i.id))})}function pa({seasonName:a,days:t,...i}){const[d,c]=K(!0);return e.jsx(n.Card,{css:{position:"relative",backgroundColor:"$gray6",padding:"$2"},border:!0,children:e.jsxs(n.VStack,{space:"extraSmall",children:[e.jsxs(n.HStack,{align:"center",children:[e.jsx(n.Heading,{size:"groupHeadline",children:a}),e.jsx(n.Button,{icon:n.ChevronDownIcon,appearance:"overlay",size:"contain",onPress:c,css:{marginLeft:"auto",size:"$4"}})]}),e.jsx(Na,{...i}),e.jsx(xe,{transition:{type:"tween"},animate:d?{height:"auto"}:{height:0},initial:!1,css:{overflow:"hidden"},children:e.jsx(A.AnimatePresence,{initial:!1,children:d?Object.values(t).map(l=>l.map(o=>e.jsx(ve,{service:o},o.id))):null})})]})})}function Na(a){return!a||!a.start&&!a.end?e.jsx("div",{}):e.jsx(n.Text,{css:{display:"block"},children:`${a.start?`Will be shown ${a.end?"from":"on"} ${h.fromISO(a.start).toLocaleString(h.DATE_FULL)}`:""}${a.start&&a.end?" to ":""}${a.end?`until ${h.fromISO(a.end).toLocaleString(h.DATE_FULL)}`:""}`})}const Sa=y.createContext({timezone:""});function va(){const{data:a,loading:t}=Le(Me),{timezone:i}=U(),d=y.useMemo(()=>Ie(a==null?void 0:a.services,{exceptions:!1}),[a==null?void 0:a.services]),c=Te(d),l=Oe(d),o=we(d);return i?(S.timezone=i,e.jsx(Sa.Provider,{value:{timezone:i},children:e.jsx(n.Card,{border:!0,elevation:1,css:{width:"100%",maxWidth:"min(1300px, calc(100% - $space$10))",marginInline:"auto",padding:"$10",marginBlock:"$10"},children:e.jsxs(n.VStack,{children:[e.jsxs(n.HStack,{align:"center",css:{width:"100%"},children:[e.jsx(n.Heading,{children:"All Schedules"}),S.timezone!==R.instance.name&&e.jsxs(n.Text,{size:"caption1",css:{color:"$warning"},children:["* Schedules are in ",h.local().setZone(i==null?void 0:i.toString()).offsetNameShort]}),e.jsx(n.Spacer,{css:{marginInline:"auto"}}),e.jsx(ea,{})]}),t?e.jsx(n.Spinner,{}):Q(d)?e.jsx(n.EmptyState,{description:null,title:"Start by adding your first service"}):e.jsxs(n.VStack,{css:{paddingBlock:"$3"},space:"large",children:[!Q(c)&&e.jsxs(n.VStack,{children:[e.jsx(n.Heading,{size:"subHeadline",children:"Single Services"}),e.jsx(ga,{masses:c})]}),(o.length>0||l.length)>0&&e.jsxs(n.VStack,{children:[e.jsx(n.Heading,{size:"subHeadline",children:"Recurring"}),e.jsx(ae,{heading:"Sunday",masses:l}),e.jsx(ae,{heading:"Ferial",masses:o})]})]})]})})})):null}function La(){return e.jsx(y.StrictMode,{children:e.jsx(De,{title:"Mass times",children:e.jsx(va,{})})})}export{La as default};

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.