PageSourceSearch

https://togather.com/_public/_next/static/chunks/4360-357a64044f4faa7a.js

js togather.com collected 2026-10-02 07:52:27 UTC 72,379 bytes, 724 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4360],{54360:(e,t,i)=>{i.r(t),i.d(t,{__N_SSP:()=>iU,default:()=>iz,getEnquiryBuilderServerSideProps:()=>iV});var r=i(37876),a=i(14232),n=i(67628),l=i(91071),s=i(95881),o=i(43863),d=i(18530),u=i(50595),c=i(79594),p=i(25610),g=i(53464);let m=(e,t)=>null==t||""===t?{}:{[e]:t},h=({customerId:e,email:t,isLoggedIn:i,jobId:r,promptId:a,sessionId:n,userId:l})=>({isLoggedIn:!!i,promptId:a,...m("anonymousId",(0,g.mw)()),...m("customerId",e),...m("email",t),...m("jobId",r),...m("sessionId",n),...m("userId",l)}),y=(e,t,i="info")=>{((0,g.Gu)(e,t),"warning"===i)?(0,p.FF)(e,t):(0,p.fH)(e,t)},b=({errorCode:e,reason:t,statusCode:i,...r})=>y(o.rs,{...h(r),reason:t,...m("errorCode",e),...m("statusCode",i)},"warning");var f=i(2015),v=i(72188),x=i(9159),$=i(28107),w=i(92109),k=i(11822),j=i(35103),I=i(51187),q=i(81230),S=i(42896),A=i(8413),C=i(82859);let _=n.I4.main(({theme:e})=>(0,C.AH)`
2    background: ${e.colors.platinum};
3    min-height: 100vh;
4    padding: ${e.spacing[8]} ${e.spacing[4]} ${e.spacing[12]};
5  `),P=n.I4.form(({theme:e})=>(0,C.AH)`
6    display: flex;
7    flex-direction: column;
8    gap: ${e.spacing[4]};
9    margin: 0 auto;
10    max-width: ${(0,n.a8)(720)};
11    width: 100%;
12  `),H=n.I4.header(({theme:e})=>(0,C.AH)`
13    margin-bottom: ${e.spacing[2]};
14  `),T=n.I4.div(({theme:e})=>(0,C.AH)`
15    align-items: center;
16    display: flex;
17    justify-content: flex-start;
18    margin-bottom: -${e.spacing[1]};
19    margin-left: -${e.spacing[2]};
20  `),E=n.I4.h1(({theme:e})=>(0,C.AH)`
21    ${(0,n.XC)(e,"headingLarge","black")};
22    margin: 0;
23  `),B=n.I4.section(({theme:e})=>(0,C.AH)`
24    display: flex;
25    flex-direction: column;
26    gap: ${e.spacing[3]};
27  `),R=n.I4.div(({theme:e})=>(0,C.AH)`
28    padding: 0 ${e.spacing[1]};
29  `),M=n.I4.h2(({theme:e})=>(0,C.AH)`
30    ${(0,n.XC)(e,"bodyBoldSmall","black")};
31    text-transform: uppercase;
32    margin: 0;
33  `),L=n.I4.p(({theme:e})=>(0,C.AH)`
34    ${(0,n.XC)(e,"bodySmall","black")};
35    margin: ${e.spacing[1]} 0 0;
36  `),N=n.I4.div(({theme:e})=>(0,C.AH)`
37    display: flex;
38    gap: ${e.spacing[2]};
39    justify-content: flex-end;
40    margin-top: ${e.spacing[2]};
41  `),G=n.I4.div(({theme:e})=>(0,C.AH)`
42    display: flex;
43    flex-direction: column;
44    gap: ${e.spacing[5]};
45    width: 100%;
46    padding: ${e.spacing[6]};
47  `),O=n.I4.p(({theme:e})=>(0,C.AH)`
48    ${(0,n.XC)(e,"bodyMedium","black")};
49    display: flex;
50    justify-content: center;
51    margin: 0;
52    text-align: center;
53  `),F=n.I4.div(({theme:e})=>(0,C.AH)`
54    display: flex;
55    gap: ${e.spacing[2]};
56    justify-content: center;
57  `);function W({onCancel:e,onConfirm:t,open:i}){return(0,r.jsx)(n.aF,{handleClose:e,open:i,children:(0,r.jsxs)(G,{children:[(0,r.jsx)(O,{children:"Changing your description will reset all other information"}),(0,r.jsxs)(F,{children:[(0,r.jsx)(n.$n,{onClick:e,variant:"outline",color:"black",children:"Cancel"}),(0,r.jsx)(n.$n,{onClick:t,type:"button",variant:"solid",color:"mediumBlue",children:"Start over"})]})]})})}var X=i(52137);function U(){let{values:e,setFieldValue:t}=(0,A.useFormikContext)(),i=(0,A.getIn)(e,"request.category_tier1"),r=(0,A.getIn)(e,"event.type"),n=(0,A.getIn)(e,"request.category_tier2"),l="string"==typeof i?i:void 0,s="string"==typeof r?r:void 0,o="string"==typeof n?n:void 0;return(0,a.useEffect)(()=>{let e=(({eventType:e,tier1:t,tier2:i})=>{if(t===d.l4.VENUES)return e===d.Ru.CORPORATE_EVENT?i===d.l4.VENUES?"":void 0:i!==d.l4.VENUES?d.l4.VENUES:void 0})({eventType:s,tier1:l,tier2:o})??(({eventType:e,tier2:t})=>{if(e!==d.Ru.CORPORATE_EVENT&&t&&X.u.includes(t))return""})({eventType:s,tier2:o});void 0!==e&&t("request.category_tier2",e,!1)},[s,l,o,t]),null}var V=i(48230),z=i.n(V);let D=n.I4.header(({theme:e})=>(0,C.AH)`
58    align-items: center;
59    border-bottom: 1px solid ${e.colors.lightMediumGrey};
60    display: flex;
61    justify-content: flex-start;
62    /* Full-bleed: cancel the shell's top/side padding so the divider spans the whole page. */
63    margin: -${e.spacing[6]} -${e.spacing[4]} ${e.spacing[7]};
64    padding: ${e.spacing[4]};
65  `),Y=(0,n.I4)(z())`
66  align-items: center;
67  display: inline-flex;
68`;function K(){return(0,r.jsx)(D,{children:(0,r.jsx)(Y,{href:u.R.home,"aria-label":"Togather home",children:(0,r.jsx)(n.gu,{name:"Togather",width:"150px",fill:"black"})})})}let J=(0,a.createContext)(null);function Q({children:e,enquiry:t}){return(0,r.jsx)(J.Provider,{value:{enquiry:t,getOptionsForStep:e=>t.optionsByStepId?.[e]??[]},children:e})}function Z(){let e=(0,a.useContext)(J);if(!e)throw Error("useEnquiryBuilderContext must be used inside EnquiryBuilderProvider");return e}var ee=i(32020),et=i(34292);let ei=(e,t,i)=>t.filter(e=>!e.minNoOfGuests||!i||i>=e.minNoOfGuests).map(({explanation:t,lowerLimit:i,upperLimit:r,value:a,tagLabel:n})=>({type:e,...t?{explanation:t}:{},lowerLimit:i,upperLimit:r,value:a,...n?{tagLabel:n}:{}})),er=new Set(["food-tier-2-tags","request-tags"]),ea=e=>{let t=(0,A.getIn)(e,"request.category_tier2");return"string"==typeof t?t:void 0},en=e=>new Intl.NumberFormat("en-GB",{currency:"GBP",maximumFractionDigits:0,style:"currency"}).format(e),el=e=>{let t=`${en(e.lowerLimit)}-${en(e.upperLimit)} pp`;return{description:e.explanation,label:t,lowerLimit:e.lowerLimit,perHeadPriceText:t,tagLabel:e.tagLabel,totalPriceText:`From ${en(e.lowerLimit)}`,type:"per_head"===e.type?"per_head":void 0,upperLimit:e.upperLimit,value:e.value}},es=e=>{let t=e?.toLowerCase();return`When’s your ${"birthday"===t?"birthday party":t||"event"}?`},eo=(e,t)=>{let i=t?.toLowerCase()||"event";return e===d.l4.VENUES?`What type of venue would you like for your ${i}?`:e===d.l4.VIRTUAL?`What type of supplier would you like for your virtual ${i}?`:void 0},ed=(e,t)=>{let i=(0,A.getIn)(t,"request.category_tier1");if(i===d.l4.VENUES){let e,r,a=(0,A.getIn)(t,"event.type");return(({eventType:e,guestCount:t,tier1:i,tier2:r})=>{if(r&&(0,et.Vx)(r))return ei("package",ee.ie);let a=r?(0,et.R1)(r)?ee.pc:(0,et.Ro)(r)?ee.Bf:(0,et.RB)(r)?ee.pH:(0,et.HT)(r)?ee.Tk:(0,et.ty)(r)?ee.bg:(0,et.MK)(r)?ee.ql:(0,et.VF)(r)?ee.jI:(0,et.WJ)(r)?ee.tY:(0,et.zR)(r)?ee.O8:(0,et.ps)(r)?ee.nP:(0,et.gn)(r)?ee.gT:(0,et.l0)(r)?ee.fW:(0,et.Yj)(r)?ee.pX:(0,et.Lz)(r)?ee.Vy:(0,et.X6)(r)?ee.$C:null:null;return a?ei("per_head",a,t):i===d.l4.VENUES&&"Corporate Event"!==e&&"Public-facing Event"!==e?ei("per_head",ee.e1,t):[]})({eventType:"string"==typeof a?a:void 0,guestCount:Number.isFinite(r="number"==typeof(e=(0,A.getIn)(t,"request.item_quantity"))?e:Number(e))&&r>0?r:void 0,tier1:i,tier2:ea(t)}).map(el)}if(e?.budgetBucketsByTier2)return e.budgetBucketsByTier2[ea(t)??""]??[]},eu=(e,t,i)=>{if("date"===e.id){let t=(0,A.getIn)(i,"event.type");
68return{...e,label:es("string"==typeof t?t:void 0)}}if("tier-2"===e.id){let r=(0,A.getIn)(i,"request.category_tier1"),a=(0,A.getIn)(i,"event.type"),n="string"==typeof r?r:void 0,l="string"==typeof a?a:void 0,s=eo(n,l),o=t?.allTier2,u=o?.length?(({eventType:e,tier1:t,tier2:i})=>{let r=(({eventType:e,tier1:t})=>{if(t===d.l4.FLORISTS||t===d.l4.VIRTUAL||t===d.l4.VENUES&&e!==d.Ru.CORPORATE_EVENT)return t})({eventType:e,tier1:t});if(r)return i.filter(e=>e.value===r);let a=e===d.Ru.CORPORATE_EVENT;return i.filter(e=>{let t=e.value;return!X.u.includes(t)||a}).sort((e,t)=>X.F.indexOf(e.value)-X.F.indexOf(t.value))})({eventType:l,tier1:n,tier2:o.map(e=>({label:e.label,value:String(e.value)}))}):void 0;if(s||u)return{...e,...s?{label:s}:{},...u?{options:u}:{}}}let r=ea(i);if(er.has(e.id)&&r&&t?.tagsByTier2&&Object.keys(t.tagsByTier2).length)return{...e,options:t.tagsByTier2[r]??[]};if("budget"===e.id){let r=ed(t,i);if(r)return{...e,budgetBuckets:r,valuePaths:r.length?["request.budget_bucket"]:["request.budget"]}}return e},ec=new Set([d.s1.DRINKS_RECEPTION,d.s1.EVENT_BAR,d.s1.FULL_BAR_SERVICE,d.s1.MOBILE_BAR]),ep=(e,t)=>e.filter(e=>{let i,r;return i=(0,A.getIn)(t,"request.category_tier1"),r=(0,A.getIn)(t,"request.category_tier2"),"service-style-tags"===e.id?r===d.s1.CATERERS:"extras-tags"===e.id?r===d.s1.MARQUEES_TIPIS:"request-tags"===e.id&&i===d.l4.DRINK?"string"==typeof r&&ec.has(r):"tier-2"!==e.id||i!==d.l4.VENUES||(0,A.getIn)(t,"event.type")===d.Ru.CORPORATE_EVENT}),eg=(e,t)=>{if(Array.isArray(e)){if(t?.length){let i=new Set(t.map(e=>String(e.value)));return e.some(e=>i.has(String(e)))}return e.length>0}return e&&"object"==typeof e?Object.values(e).some(e=>eg(e)):!!e},em=e=>!0===(0,A.getIn)(e,"request.noPriorityTags"),eh=(e,t)=>{if("priority-tags"===e.id&&em(t))return!0;let i=(e.valuePaths?.length?e.valuePaths:[e.id]).map(e=>(0,A.getIn)(t,e));if(e.budgetBuckets?.length){let t=new Set(e.budgetBuckets.map(e=>String(e.value)));return i.some(e=>t.has(String(e)))}return"location"===e.id||1===i.length?i.some(t=>eg(t,e.options)):i.every(t=>eg(t,e.options))};var ey=i(14019);let eb=n.I4.div(({theme:e})=>(0,C.AH)`
69    display: flex;
70    flex-direction: column;
71    gap: ${e.spacing[3]};
72    width: 100%;
73  `),ef=n.I4.div(({theme:e})=>(0,C.AH)`
74    display: grid;
75    gap: ${e.spacing[4]};
76    width: 100%;
77  `),ev=n.I4.input(({theme:e})=>(0,C.AH)`
78    ${(0,n.XC)(e,"bodyMedium","black")};
79    border: ${(0,n.a8)(1.5)} solid ${e.colors.lightMediumGrey};
80    border-radius: ${e.radii[1]};
81    box-sizing: border-box;
82    padding: ${e.spacing[3]} ${e.spacing[4]};
83    width: 100%;
84  `);var ex=i(83852),e$=i(51586),ew=i(55548);let ek=n.I4.div(({theme:e})=>(0,C.AH)`
85    align-items: center;
86    display: flex;
87    flex-direction: column;
88    gap: ${e.spacing[3]};
89    width: 100%;
90
91    & > div {
92      display: flex;
93      justify-content: center;
94      width: 100%;
95    }
96
97    & > div > div > div > div {
98      padding: ${e.spacing[2]} ${e.spacing[3]};
99    }
100  `),ej=n.I4.label(({theme:e})=>(0,C.AH)`
101    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
102  `),eI=n.I4.div(({theme:e})=>(0,C.AH)`
103    display: flex;
104    flex-direction: column;
105    gap: ${e.spacing[4]};
106    max-width: 100%;
107    width: 100%;
108  `),eq=n.I4.div(({theme:e})=>(0,C.AH)`
109    display: flex;
110    flex-direction: column;
111    gap: ${e.spacing[1]};
112    width: 100%;
113  `),eS=n.I4.textarea(({theme:e})=>(0,C.AH)`
114    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
115    border: 1px solid ${e.colors.lightGrey};
116    border-radius: 4px;
117    box-sizing: border-box;
118    min-height: 100px;
119    padding: ${e.spacing[2]};
120    resize: vertical;
121    width: 100%;
122  `),eA=n.I4.span(({theme:e})=>(0,C.AH)`
123    ${(0,n.XC)(e,"bodySmall","darkGrey")};
124  `),eC=n.I4.div(({theme:e})=>(0,C.AH)`
125    display: grid;
126    gap: ${e.spacing[3]};
127  `),e_=n.I4.label(({theme:e})=>(0,C.AH)`
128    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
129    display: flex;
130    flex-direction: column;
131    gap: ${e.spacing[1]};
132  `),eP=n.I4.input(({theme:e})=>(0,C.AH)`
133    ${(0,n.XC)(e,"bodyMedium","black")};
134    border: ${(0,n.a8)(1.5)} solid ${e.colors.lightMediumGrey};
135    border-radius: ${e.radii[1]};
136    padding: ${e.spacing[3]} ${e.spacing[4]};
137    width: 100%;
138  `),eH=n.I4.textarea(({theme:e})=>(0,C.AH)`
139    ${(0,n.XC)(e,"bodyMedium","black")};
140    border: ${(0,n.a8)(1.5)} solid ${e.colors.lightMediumGrey};
141    border-radius: ${e.radii[1]};
142    min-height: ${(0,n.a8)(100)};
143    padding: ${e.spacing[3]} ${e.spacing[4]};
144    resize: vertical;
145    width: 100%;
146  `);var eT=i(85220);let eE=n.I4.div(({theme:e})=>(0,C.AH)`
147    display: grid;
148    gap: ${e.spacing[4]};
149    width: 100%;
150  `),eB=n.I4.div`
151  justify-self: start;
152`,eR=n.I4.div(({theme:e})=>(0,C.AH)`
153    display: grid;
154    gap: ${e.spacing[3]};
155    grid-template-columns: repeat(auto-fit, minmax(${(0,n.a8)(220)}, 1fr));
156  `),eM=n.I4.label(({theme:e})=>(0,C.AH)`
157    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
158    display: flex;
159    flex-direction: column;
160    gap: ${e.spacing[1]};
161  `),eL=n.I4.input(({theme:e})=>(0,C.AH)`
162    ${(0,n.XC)(e,"bodyMedium","black")};
163    border: ${(0,n.a8)(1.5)} solid ${e.colors.lightMediumGrey};
164    border-radius: ${e.radii[1]};
165    padding: ${e.spacing[3]} ${e.spacing[4]};
166    width: 100%;
167  `),eN="search",eG="details",eO=[{id:"event.location_line_1",label:"Address line 1",placeholder:"Address line 1"},{id:"event.location_line_2",label:"Address line 2",placeholder:"Address line 2"},{id:"event.location_city",label:"City",placeholder:"City"},{id:"event.postcode",label:"Postcode",placeholder:"Postcode"}],eF=n.I4.div(({theme:e})=>(0,C.AH)`
168    display: flex;
169    flex-wrap: wrap;
170    gap: ${e.spacing[2]};
171    justify-content: center;
172    max-width: ${(0,n.a8)(620)};
173    width: 100%;
174  `),eW="no-preference";function eX({field:e,setFieldValue:t,setValue:i,value:a,values:l}){let s="priority-tags"===e.id,o=s&&!0===(0,A.getIn)(l,"request.noPriorityTags")?[eW]:Array.isArray(a)?a.map(String):null==a||""===a?[]:[String(a)],{getOptionsForStep:d}=Z(),u=e.options??d(e.id),c=e.optionsMode??"single";return(0,r.jsx)(eF,{children:u.map(d=>{let u=String(d.value),p=o.includes(u);return(0,r.jsx)(n.tR,{checked:p,label:d.label,name:e.id,onChange:()=>{let r;return"multi"===c?void(i(r=o.includes(u)?o.filter(e=>e!==u):[...o,u]),(i=>{if("dietary-tags"!==e.id)return;let r=new Set(i),a=(0,A.getIn)(l,"request.priorityTags");if(!Array.isArray(a))return;let n=a.map(String).filter(e=>r.has(e));n.length!==a.length&&t("request.priorityTags",n)})(r)):(r=>
174{if("tier-1"===e.id&&String(a??"")!==r&&(t("request.category_tier2",""),t("request.tags",[]),t("request.priorityTags",[]),t("request.noPriorityTags",!1)),!s)return void i(r);if(r===eW){t("request.noPriorityTags",!0),i([]);return}t("request.noPriorityTags",!1),i([r])})(u)},testId:`${e.id}-option-${u}`,type:"multi"===c?"checkbox":"radio",value:u},d.value)})})}let eU=n.I4.div(({theme:e})=>(0,C.AH)`
175    display: flex;
176    flex-direction: column;
177    gap: ${e.spacing[5]};
178    width: 100%;
179  `),eV=n.I4.div(({theme:e})=>(0,C.AH)`
180    align-items: center;
181    display: flex;
182    flex-direction: column;
183    gap: ${e.spacing[2]};
184    width: 100%;
185  `),ez=n.I4.h3(({theme:e})=>(0,C.AH)`
186    ${(0,n.XC)(e,"bodyBoldMedium","black")};
187    margin: 0;
188    text-align: center;
189  `),eD=n.I4.input(({isCompact:e,theme:t})=>(0,C.AH)`
190    ${(0,n.XC)(t,"bodyMedium","black")};
191    background: ${t.colors.white};
192    border: ${(0,n.a8)(1.5)} solid ${t.colors.lightMediumGrey};
193    border-radius: ${t.radii[1]};
194    box-sizing: border-box;
195    display: block;
196    min-width: 0;
197    outline: none;
198    padding: ${t.spacing[3]} ${t.spacing[4]};
199    text-align: ${e?"center":"left"};
200    width: ${e?(0,n.a8)(150):"100%"};
201
202    &:focus {
203      border-color: ${t.colors.mediumBlue};
204    }
205
206    &::placeholder {
207      color: ${t.colors.mediumDarkGrey};
208    }
209  `),eY={quantity:"number"};function eK({field:e,setValue:t,value:i}){return(0,r.jsx)(eD,{id:e.id,isCompact:"quantity"===e.id,onChange:e=>t(e.target.value),placeholder:e.placeholder,type:eY[e.id]??"text",value:String(i??"")})}let eJ=n.I4.textarea(({theme:e})=>(0,C.AH)`
210    ${(0,n.XC)(e,"bodyMedium","black")};
211    background: ${e.colors.white};
212    border: ${(0,n.a8)(1.5)} solid ${e.colors.lightMediumGrey};
213    border-radius: ${e.radii[1]};
214    box-sizing: border-box;
215    display: block;
216    min-height: ${(0,n.a8)(120)};
217    outline: none;
218    padding: ${e.spacing[3]} ${e.spacing[4]};
219    resize: vertical;
220    width: 100%;
221
222    &:focus {
223      border-color: ${e.colors.mediumBlue};
224    }
225
226    &::placeholder {
227      color: ${e.colors.mediumDarkGrey};
228    }
229  `);var eQ=i(30404),eZ=i(4160);let e0=n.I4.div(({theme:e})=>(0,C.AH)`
230    display: flex;
231    flex-wrap: wrap;
232    gap: ${e.spacing[3]};
233    justify-content: center;
234    width: 100%;
235  `),e1=n.I4.div(()=>(0,C.AH)`
236    box-sizing: border-box;
237    flex: 1 1 clamp(${(0,n.a8)(156)}, 30vw, ${(0,n.a8)(180)});
238    max-width: ${(0,n.a8)(180)};
239    min-width: ${(0,n.a8)(156)};
240
241    > label {
242      width: 100%;
243    }
244  `);function e4({field:e,setFieldValue:t,setValue:i,value:l,values:s}){let o=(0,A.getIn)(s,"request.category_tier1"),d="string"==typeof o?o:"",u=(0,a.useRef)(d),[c,p]=(0,a.useState)(e.options?.length?d:""),[g,m]=(0,a.useState)(!1),[h,y]=(0,a.useState)(0),{requestTier2Verticals:b,tier2Verticals:f}=(0,eZ.c)({}),v=!!d&&c!==d,x=v?[]:f.length?f:e.options??[];return((0,a.useEffect)(()=>{let t=!!e.options?.length;if(!d||d===u.current&&t)return;let i=!0;return m(!1),b(d).then(()=>{i&&p(d)}).catch(()=>{i&&m(!0)}),()=>{i=!1}},[e.options?.length,b,h,d]),g)?(0,r.jsx)("button",{onClick:()=>{m(!1),y(e=>e+1)},type:"button",children:"We couldn’t load service styles. Try again."}):v?(0,r.jsx)("span",{children:"Loading service styles…"}):(0,r.jsx)(e0,{children:x.map(a=>{let s=String(a.value),o=String(l??"")===s;return(0,r.jsx)(e1,{children:(0,r.jsx)(n.Fv,{checked:o,imageProps:{alt:a.label,height:125,src:a.imageUrl??eQ.Vx[s],width:180},label:a.label.replace(" and "," & "),name:e.id,onChange:()=>{String(l??"")!==s&&(t("request.tags",[]),t("request.priorityTags",[]),t("request.noPriorityTags",!1),t("request.budget",""),t("request.budget_bucket","")),i(s)},testId:`tier-two-option-${s}`,type:"radio",value:s})},`tier-2-${s}`)})})}let e2=(e,t,i="single",r="request")=>({area:r,component:eX,id:e,label:t,optionsMode:i}),e8={"bar-type":e2("bar-type","What type of bar would you like?"),budget:{area:"request",component:function({field:e,setValue:t,value:i}){let a=e.budgetBuckets??[];return a.length?(0,r.jsx)(eb,{children:(0,r.jsx)(ef,{children:a.map((e,a)=>{let n=String(i)===String(e.value),l=e.perHeadPriceText??(e.lowerLimit&&e.upperLimit?`\xa3${e.lowerLimit}-\xa3${e.upperLimit} pp`:e.label??String(e.value));return(0,r.jsx)(ey.f,{bucketOnClick:()=>t(String(e.value)),explanation:e.description??"",formValue:a,isChecked:n,isDisabled:!1,perHeadPriceText:l,tagLabel:e.tagLabel,totalPriceText:e.totalPriceText},e.value)})})}):(0,r.jsx)(ev,{min:0,onChange:e=>t(e.target.value),placeholder:e.placeholder??"Enter your budget",type:"number",value:String(i??"")})},id:"budget",label:"Got a budget in mind?"},"coverage-hours":e2("coverage-hours","How many hours do you need?"),courses:e2("courses","What courses do you need?","multi"),date:{area:"event",component:function({field:e,setFieldValue:t,setValue:i,value:a,values:l}){let s=e.valuePaths?.[0]??e.id,o=!!(0,A.getIn)(l,"event.date_flexible"),d=String((0,A.getIn)(l,"event.dateFlexibilityNotes")??""),u=ew.V-d.length,c=u>=0?`${u} characters remaining`:`Exceeding character limit by ${Math.abs(u)} characters`;return(0,r.jsxs)(ek,{children:[(0,r.jsx)(ej,{htmlFor:s,children:"Select date"}),(0,r.jsx)(n.lr,{customInput:(0,r.jsx)(e$.J,{}),min:new Date,name:s,onChange:e=>i(e?(0,ex.x)(e,{representation:"date"}):""),value:String(a??"")}),(0,r.jsxs)(eI,{children:[(0,r.jsx)(n.Sc,{checked:o,label:"My date is flexible",name:"event.date_flexible",onCh
244ange:e=>{t("event.date_flexible",e),e||t("event.dateFlexibilityNotes",null)},value:o}),o&&(0,r.jsxs)(eq,{children:[(0,r.jsx)(ej,{htmlFor:"event.dateFlexibilityNotes",children:"Tell us more about the dates you are available"}),(0,r.jsx)(eS,{"data-testid":"date-flexibility-notes",id:"event.dateFlexibilityNotes",maxLength:ew.V,name:"event.dateFlexibilityNotes",onChange:e=>t("event.dateFlexibilityNotes",e.target.value),value:d}),(0,r.jsx)(eA,{children:c})]})]})]})},id:"date",label:"When’s your event?"},description:{area:"request",component:function({field:e,setValue:t,value:i}){return(0,r.jsx)(eJ,{id:e.id,onChange:e=>t(e.target.value),placeholder:e.placeholder,value:String(i??"")})},id:"description",label:"Anything else we should know?"},"dietary-tags":e2("dietary-tags","Any dietary requirements?","multi"),"drinks-category":{area:"event",component:e4,id:"drinks-category",label:"What drinks service are you looking for?",optionsMode:"single"},"event-type":e2("event-type","What’s the occasion?","single","event"),"extras-tags":e2("extras-tags","What extras do you need?","multi"),"food-tier-2-tags":e2("food-tier-2-tags","Any kinds of food you'd particularly like?","multi"),location:{area:"event",component:function({field:e,setFieldValue:t,values:i}){let[l,s]=(0,a.useState)((0,A.getIn)(i,"event.manualLocation")?eG:eN);return(0,r.jsxs)(eE,{children:[(0,r.jsx)(eB,{children:(0,r.jsx)(n.tU,{activeTabId:l,items:[{id:eN,name:"Search"},{id:eG,name:"Location details"}],onTabChange:e=>{e&&(s(e),t("event.manualLocation",e===eG))},darkTheme:!0})}),l===eN?(0,r.jsx)(eT.q,{name:"event.locationAutocomplete",placeholder:e.placeholder??"Start typing your address or venue name",testId:"enquiry-builder-location-autocomplete"}):(0,r.jsx)(eR,{children:eO.map(e=>(0,r.jsxs)(eM,{htmlFor:e.id,children:[e.label,(0,r.jsx)(eL,{id:e.id,onChange:i=>t(e.id,i.target.value),placeholder:e.placeholder,type:"text",value:String((0,A.getIn)(i,e.id)??"")})]},e.id))})]})},id:"location",label:"Where’s your event?"},"location-decision":e2("location-decision","Have you decided on a location?","single","event"),"matched-events":e2("matched-events","Looks like we’ve found an event on the same day","single","event"),power:e2("power","Is there access to power?"),"priority-tags":e2("priority-tags","Do you have a favourite?"),quantity:((e,t,i="request")=>({area:i,component:eK,id:e,label:t}))("quantity","How many guests are you expecting?"),"request-tags":e2("request-tags","What style are you looking for?","multi"),"service-style-tags":e2("service-style-tags","What kind of service style are you interested in?","multi"),"setup-space":{area:"request",component:function({field:e,setFieldValue:t,values:i}){return(0,r.jsx)(eU,{children:(e.setupSpaceSections??[]).map(e=>{let a=String((0,A.getIn)(i,e.valuePath)??"");return(0,r.jsxs)(eV,{children:[(0,r.jsx)(ez,{children:e.label}),(0,r.jsx)(eF,{children:e.options.map(i=>{let l=String(i.value),s=a===l;return(0,r.jsx)(n.tR,{checked:s,label:i.label,name:e.valuePath,onChange:()=>t(e.valuePath,l),testId:`${e.id}-option-${l}`,type:"checkbox",value:l},l)})})]},e.id)})})},id:"setup-space",label:"Setup & space"},"tier-1":e2("tier-1","What service are you looking for?"),"tier-2":{area:"event",component:e4,id:"tier-2",label:"What service style are you looking for?",optionsMode:"single"},"update-existing-event":{area:"event",component:function({field:e,setValue:t,value:i}){let a=i&&"object"==typeof i&&!Array.isArray(i)?i:{},n=(e,i)=>{t({...a,[e]:i})};return(0,r.jsx)(eC,{children:(e.subFields??[]).map(t=>{let i=String(a[t.id]??"");return(0,r.jsxs)(e_,{htmlFor:`${e.id}-${t.id}`,children:[t.label,"textarea"===t.type?(0,r.jsx)(eH,{id:`${e.id}-${t.id}`,onChange:e=>n(t.id,e.target.value),placeholder:t.placeholder,value:i}):(0,r.jsx)(eP,{id:`${e.id}-${t.id}`,onChange:e=>n(t.id,e.target.value),placeholder:t.placeholder,type:t.type??"text",value:i})]},t.id)})})},id:"update-existing-event",label:"Would you like to update these details?"},urgency:e2("urgency","How soon do you need to book?","single","event"),"venue-services":e2("venue-services","What would you like the venue to provide?","multi","venue"),"venue-type":e2("venue-type","Will setup be indoors or outdoors?"),"venue-layout":e2("venue-layout","What's your ideal layout for your event?","single","venue"),waiters:e2("waiters","Do you need staff?"),water:e2("water","Is there access to water?")};var e5=i(60604);let e3=e=>"complete"===e?"mediumGreen":"review"===e?"mediumYellow":"lightGrey",e
2446=n.I4.div(({isExpanded:e,state:t,theme:i})=>{var r;let a=(r=t,e?1:"complete"!==r?+("review"!==r):void 0);return(0,C.AH)`
245    background: ${i.colors.white};
246    border-radius: ${i.radii[1]};
247    box-shadow: ${void 0===a?"none":i.shadows[a]};
248    overflow: ${e?"visible":"hidden"};
249    position: relative;
250    transition:
251      border-color 150ms ease,
252      box-shadow 150ms ease;
253
254    &:focus-within {
255      border-color: ${i.colors[e3(t)]};
256      box-shadow: ${i.shadows[1]};
257    }
258  `}),e9=n.I4.span(({state:e,theme:t})=>(0,C.AH)`
259    background: ${t.colors[e3(e)]};
260    bottom: 0;
261    left: 0;
262    pointer-events: none;
263    position: absolute;
264    top: 0;
265    width: ${t.spacing[3]};
266  `),e7=n.I4.div(({isExpanded:e,theme:t})=>(0,C.AH)`
267    display: flex;
268    gap: ${t.spacing[3]};
269    padding: ${t.spacing[3]} ${t.spacing[4]} 0 ${t.spacing[4]};
270    width: 100%;
271    justify-content: space-between;
272    margin-bottom: ${e?0:t.spacing[4]};
273  `),te=n.I4.span`
274  display: flex;
275  align-items: center;
276  justify-content: space-between;
277  gap: ${({theme:e})=>e.spacing[2]};
278`,tt=n.I4.span(({state:e,theme:t})=>(0,C.AH)`
279    align-items: center;
280    background: ${"incomplete"===e?t.colors.white:t.colors[e3(e)]};
281    border: ${(0,n.a8)(2)} solid ${t.colors[e3(e)]};
282    border-radius: ${t.radii.round};
283    box-sizing: border-box;
284    display: inline-flex;
285    flex-shrink: 0;
286    height: ${t.spacing[5]};
287    justify-content: center;
288    width: ${t.spacing[5]};
289    margin-left: ${t.spacing[1]};
290
291    svg {
292      display: block;
293    }
294  `),ti=n.I4.div`
295  flex: 1 1 0;
296  min-width: 0;
297`,tr=n.I4.label(({theme:e})=>(0,C.AH)`
298    ${(0,n.XC)(e,"headingMobileSmall","black")};
299    display: block;
300    letter-spacing: 0.03em;
301  `),ta=n.I4.p(({theme:e})=>(0,C.AH)`
302    ${(0,n.XC)(e,"bodySmall","darkGrey")};
303    margin: ${e.spacing[1]} 0 0;
304  `),tn=n.I4.span(({theme:e})=>(0,C.AH)`
305    display: flex;
306    flex-direction: column;
307    align-items: center;
308    gap: ${e.spacing[2]};
309    margin-left: ${e.spacing[3]};
310  `),tl=n.I4.p(({theme:e})=>(0,C.AH)`
311    ${(0,n.XC)(e,"bodyBoldMedium","darkMediumGrey")};
312    margin: ${e.spacing[1]} 0 0;
313  `),ts=n.I4.span(({theme:e})=>(0,C.AH)`
314    ${(0,n.XC)(e,"bodyExtraSmall","darkGrey")};
315    align-items: center;
316    background: ${e.colors.white};
317    border-radius: ${e.radii[2]};
318    display: inline-flex;
319    flex-shrink: 0;
320    font-weight: 600;
321    height: ${e.spacing[6]};
322    padding: 0 ${e.spacing[2]};
323  `),to=n.I4.div(({theme:e})=>(0,C.AH)`
324    padding: 0 ${e.spacing[4]} ${e.spacing[4]};
325  `),td=n.I4.div`
326  align-items: center;
327  display: flex;
328  flex-direction: column;
329  justify-content: center;
330  width: 100%;
331`,tu=n.I4.div`
332  align-self: flex-start;
333`,tc=(0,n.I4)(e5.X)(({theme:e})=>(0,C.AH)`
334    margin: ${e.spacing[4]} 0;
335  `),tp={complete:"ValidSolid",incomplete:"Empty",review:"Partial"},tg={complete:"mediumGreen",incomplete:"mediumGrey",review:"mediumYellow"};function tm({children:e,description:t,id:i,initialExpanded:l=!1,isRequired:s,onEdit:o,onLooksGood:d,state:u,title:c,value:p}){let[g,m]=(0,a.useState)(l);return(0,r.jsxs)(e6,{isExpanded:g,state:u,children:[!g&&(0,r.jsx)(e9,{state:u}),(0,r.jsxs)(e7,{isExpanded:g,children:[(0,r.jsxs)(te,{children:[(0,r.jsx)(tt,{state:u,children:(0,r.jsx)(n.In,{fill:tg[u],name:tp[u],size:12})}),(0,r.jsxs)(ti,{children:[(0,r.jsx)(tr,{htmlFor:i,children:c}),!g&&p&&(0,r.jsx)(tl,{children:p}),t&&(!p||g)&&(0,r.jsx)(ta,{children:t})]})]}),(0,r.jsxs)(tn,{children:[(0,r.jsx)(ts,{children:s?"Required":"Optional"}),!g&&(0,r.jsx)(n.K0,{ariaLabel:g?`Collapse ${c}`:`Edit ${c}`,iconName:"Pencil",onClick:()=>{o?.(),m(e=>!e)},variant:"whiteSolid"})]})]}),g&&(0,r.jsxs)(to,{children:[(0,r.jsx)(tc,{}),(0,r.jsx)(td,{children:e}),(0,r.jsx)(tc,{}),(0,r.jsx)(tu,{children:(0,r.jsx)(n.$n,{variant:"solid",color:"mediumBlue",onClick:()=>{d?.(),m(!1)},children:"Looks good"})})]})]})}let th={complete:"green",incomplete:"grey",review:"amber"},ty={label:"No preference",value:"no-preference"},tb=e=>"string"==typeof e&&e.trim().length>0?e:void 0;function tf({field:e,setFieldValue:t,values:i}){let n,[l,s]=(0,a.useState)(!1);if("tier-2"===e.id&&!(0,A.getIn)(i,"request.category_tier1"))return null;let{enquiry:d,getOptionsForStep:u}=Z(),c=e8[e.id],p=c.component,m=e.isRequired??c.isRequired??!0,h=e.optionsMode??c.optionsMode,y=u(e.id),b=eu(e,d.dynamicOptions,i),f="priority-tags"===e.id?(({dietaryTagOptions:e,values:t})=>{let i=(0,A.getIn)(t,"request.tags"),r=new Set;
335return Array.isArray(i)&&i.forEach(e=>r.add(String(e))),[...Array.from(r).map(t=>e.find(e=>String(e.value)===t)??{label:t,value:t}),ty]})({dietaryTagOptions:u("dietary-tags"),values:i}):b.options??y,v={...b,area:e.area??c.area,label:b.label??c.label,options:f,optionsMode:h},x=v.valuePaths?.[0]??e.id,$=(0,A.getIn)(i,x),w=(n=(({field:e,values:t})=>eh(e,t)?"needs_review"===e.status?"review":"complete":!1===e.isRequired?"review":"incomplete")({field:v,setFieldValue:t,values:i}),l&&"review"===n?"complete":n);return(0,r.jsx)(tm,{description:v.description,id:v.id,initialExpanded:"incomplete"===w,isRequired:m,onEdit:()=>(0,g.Gu)(o.Jx,{page:"review",section_colour:th[w],section_key:v.id,section_label:v.label,..."number"==typeof v.confidence?{section_confidence:v.confidence}:{}}),onLooksGood:()=>{(0,g.Gu)(o.Rx,{page:"review"}),s(!0)},state:w,title:v.label,value:(({field:e,values:t})=>{if(e.setupSpaceSections?.length)return e.setupSpaceSections.map(e=>{let i=(0,A.getIn)(t,e.valuePath),r=e.options.find(e=>String(e.value)===String(i))?.label;return r?`${e.label}: ${r}`:null}).filter(Boolean).join(", ");let i=(0,A.getIn)(t,e.valuePaths?.[0]??e.id);if("location"===e.id){let e,i,r,a,n;return e=tb((0,A.getIn)(t,"event.location_line_1")),i=tb((0,A.getIn)(t,"event.location_city")),r=tb((0,A.getIn)(t,"event.postcode")),a=tb((0,A.getIn)(t,"event.locationAutocomplete.label")),(n=[e,i,r].filter(Boolean)).length?n.join(", "):a}if("priority-tags"===e.id&&em(t))return"No preference";if(Array.isArray(i))return i.map(t=>e.options?.find(e=>String(e.value)===String(t))?.label).filter(e=>!!e).join(", ");if(!i)return;if("object"==typeof i){let e=tb(i.label);return e||Object.values(i).filter(Boolean).map(String).join(", ")}let r=e.budgetBuckets?.find(e=>String(e.value)===String(i));return r?r.label:String(e.options?.find(e=>String(e.value)===String(i))?.label??i)})({field:v,setFieldValue:t,values:i}),children:(0,r.jsx)(p,{field:v,setFieldValue:t,setValue:e=>t(x,e),value:$,values:i})})}let tv=new Set(["power","venue-layout","venue-type","water"]),tx=e=>{let t=e.options??e.props?.options,i=e.valuePaths?.[0]??e.props?.fieldName;return t?.length&&i?{id:e.id,label:e.label,options:t,valuePath:i}:null},t$=e=>{let t=e.filter(e=>tv.has(e.id)).map(tx).filter(Boolean);if(!t.length)return e;let i=new Map(t.map(t=>[t.id,e.find(e=>e.id===t.id)])),r=t.map(e=>i.get(e.id)?.confidence).filter(e=>"number"==typeof e);return[...e.filter(e=>!tv.has(e.id)),{area:"request",confidence:r.length?Math.min(...r):void 0,id:"setup-space",isRequired:t.some(e=>i.get(e.id)?.requirement!=="optional"),label:"Setup & space",setupSpaceSections:t,status:t.some(e=>i.get(e.id)?.status==="needs_review")?"needs_review":void 0,valuePaths:t.map(e=>e.valuePath)}]},tw=(e,t,i)=>e.filter(e=>(e.isRequired??e8[e.id].isRequired??!0)&&!eh(eu(e,t,i),i));function tk({beforeHeader:e,enquiry:t,isSubmitting:i=!1,onCancel:l,onSubmit:s,submitLabel:d="Create request"}){let[u,c]=(0,a.useState)(!1),p=(0,a.useMemo)(()=>(e=>{if(e.sections?.length)return e.sections;let t=new Set,i=(e.steps??[]).reduce((e,i)=>{let r="food-tags"===i.id?{...i,id:"dietary-tags"}:i;return!(r.id in e8)||t.has(r.id)||(t.add(r.id),e.push(r)),e},[]);return[{fields:i.filter(e=>"event"===e.area),id:"event",title:"Event basics"},{fields:t$(i.filter(e=>"request"===e.area)),id:"request",title:"Service style"},{fields:t$(i.filter(e=>"venue"===e.area)),id:"venue",title:"Venue details"}].filter(e=>e.fields.length)})(t),[t]),m=(0,a.useMemo)(()=>p.flatMap(e=>e.fields),[p]),h=(0,a.useMemo)(()=>t.values??m.reduce((e,t)=>t.valuePaths?.length?e:(e[t.id]=t.initialValue??("multi"===t.optionsMode?[]:""),e),{}),[t.values,m]);return(0,r.jsx)(Q,{enquiry:t,children:(0,r.jsxs)(_,{children:[(0,r.jsx)(K,{}),(0,r.jsx)(W,{onCancel:()=>c(!1),onConfirm:()=>l?.(),open:u}),(0,r.jsx)(A.Formik,{enableReinitialize:!0,initialValues:h,validate:e=>tw(ep(m,e),t.dynamicOptions,e).length?{requiredSections:"Please complete all required sections before creating a request."}:{},onSubmit:e=>{(0,g.Gu)(o.pH,{page:"page_2"}),s?.(e)},children:({isValid:a,setFieldValue:s,values:u})=>{let h=!!tw(ep(m,u),t.dynamicOptions,u).length,y=p.map(e=>({...e,fields:ep(e.fields,u)})).filter(e=>e.fields.length);return(0,r.jsxs)(P,{as:A.Form,children:[(0,r.jsx)(U,{}),e,(0,r.jsx)(H,{children:(0,r.jsx)(E,{children:t.title})}),l&&(0,r.jsx)(T,{children:(0,r.jsx)(n.Yq,{color:"mediumBlue",onClick:()=>{(0,g.Gu)(o.o7,{page:"review"}),c(!0)},style:"bodyBoldMedium",children:"Start over"})}),y.map(e=>(0,r.jsxs)(B,{children:[(0,r.jsxs)(R,{children:[(0,r.jsx)(M,{children:e.title.toUpperCase()}),e.description&&(0,r.jsx)(L,{children:e.description})]}),e.fields.map(e=>(0,r.jsx)(tf,{field:e,setFieldValue:s,values:u},e.id))]},e.id)),(0,r.jsx)(N,{children:(0,r.jsx)(n.$n,{isDisabled:i||!a||h,type:"submit",variant:"solid",color:"mediumBlue",children:i?"Creating...":d})})]})}})]})})}var tj=i(84818),tI=i(14875),tq=i(80943),tS=i(5370),tA=i(19697),tC=i(93811);let t_=n.I4.div(({theme:e})=>(0,C.AH)`
336    display: flex;
337    flex-direction: column;
338    gap: ${e.spacing[4]};
339    margin: auto 0;
340  `),tP=n.I4.div(({theme:e})=>(0,C.AH)`
341    display: flex;
342    flex-direction: column;
343    gap: ${e.spacing[1]};
344    text-align: center;
345  `),tH=n.I4.h2(({theme:e})=>(0,C.AH)`
346    ${(0,n.XC)(e,"headingMedium","black")};
347    margin: 0;
348  `),tT=n.I4.p(({theme:e})=>(0,C.AH)`
349    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
350    margin: 0;
351  `),tE=n.I4.div(({theme:e})=>(0,C.AH)`
352    display: flex;
353    flex-direction: column;
354    gap: ${e.spacing[3]};
355  `),tB=n.I4.div(({theme:e})=>(0,C.AH)`
356    display: grid;
357    gap: ${e.spacing[2]};
358    grid-template-columns: repeat(2, minmax(0, 1fr));
359  `),tR=n.I4.div(({theme:e})=>(0,C.AH)`
360    display: flex;
361    flex-direction: column;
362    gap: ${e.spacing[2]};
363  `),tM=n.I4.button(({theme:e})=>(0,C.AH)`
364    ${(0,n.XC)(e,"bodySmall","mediumBlue")};
365    align-self: flex-start;
366    background: none;
367    border: none;
368    cursor: pointer;
369    font-weight: 600;
370    padding: 0;
371    text-decoration: underline;
372  `),tL=n.I4.p(({theme:e})=>(0,C.AH)`
373    ${(0,n.XC)(e,"bodySmall","red")};
374    margin: 0;
375    padding: 0 ${e.spacing[1]};
376  `),tN=n.I4.p(({theme:e})=>(0,C.AH)`
377    ${(0,n.XC)(e,"bodySmall","mediumGrey")};
378    margin: 0;
379    text-align: center;
380
381    a {
382      color: ${e.colors.mediumBlue};
383      text-decoration: underline;
384    }
385  `),tG=n.I4.div(({theme:e})=>(0,C.AH)`
386    display: flex;
387    flex-direction: column;
388    gap: ${e.spacing[3]};
389    padding-top: ${e.spacing[2]};
390  `),tO=n.I4.button(({theme:e})=>(0,C.AH)`
391    ${(0,n.XC)(e,"bodySmall","darkGrey")};
392    align-self: center;
393    background: none;
394    border: none;
395    cursor: pointer;
396    padding: ${e.spacing[1]};
397    text-decoration: underline;
398  `),tF=tj.Yj().required("Please enter a password.").min(10,"Password is too short - 10 characters minimum.").matches(/[A-Z]/,"Password must contain at least one uppercase letter.").matches(/[a-z]/,"Password must contain at least one lowercase letter.").matches(/[0-9]/,"Password must contain at least one number.").matches(/[!@#$%^&*(),.?":{}|<>]/,"Password must contain at least one special character."),tW=tj.Ik().shape({user:tj.Ik().shape({email:tj.Yj().email("Please enter a valid email address.").required("Please enter your email address."),password:tF})}),tX=tj.Ik().shape({user:tj.Ik().shape({firstName:tj.Yj().trim().required("Please enter your first name."),lastName:tj.Yj().trim().required("Please enter your last name."),phone:tj.Yj().trim().required("Please enter your phone number.")})});function tU({eventType:e,error:t,isSubmitting:i,onSSO:l,onSubmit:s,onBack:o,startAtDetails:c=!1,prefillUser:p}){let[g,m]=(0,a.useState)(c?"details":"credentials"),[h,y]=(0,a.useState)(!1),[b,f]=(0,a.useState)(null),{openM
398odal:v,closeModal:x,isModalOpen:$}=(0,tC.A)(),w=d.iK[e]??[],k=i||h,j={user:{email:"",password:"",firstName:p?.firstName??"",lastName:p?.lastName??"",phone:p?.phone??"",role:"",heardAboutUs:""}},I=async e=>{if("details"===g)return void s(e.user);f(null),y(!0);try{let t=await (0,tS.U)(e.user.email.trim().toLowerCase());t?.type?s(e.user):m("details")}catch{f("Something went wrong. Please try again.")}finally{y(!1)}};return(0,r.jsx)(A.Formik,{initialValues:j,validationSchema:"credentials"===g?tW:tX,onSubmit:I,children:({errors:e,touched:i,values:a})=>(0,r.jsxs)(t_,{as:A.Form,children:[(0,r.jsxs)(tP,{children:[(0,r.jsx)(tH,{children:"credentials"===g?"Almost there":"A few more details"}),(0,r.jsx)(tT,{children:"credentials"===g?"Sign up or log in to create your enquiry.":"We just need a few details to create your account."})]}),(t||b)&&(0,r.jsx)(tL,{"data-testid":"auth-error",children:t??b}),"credentials"===g?(0,r.jsxs)(tE,{children:[(0,r.jsx)(tI.x,{onClick:l,showLoginWithEmailButton:!1}),(0,r.jsx)(n.BY,{name:"user.email",label:{children:"Email address*"},testId:"auth-email",render:e=>(0,r.jsx)(n.ks,{...e,type:"email"})}),(0,r.jsxs)(tR,{children:[(0,r.jsx)(n.BY,{name:"user.password",label:{children:"Password*"},testId:"auth-password",hideErrorMessage:!0,render:e=>(0,r.jsx)(n.ks,{...e,type:"password"})}),(0,r.jsx)(tq.M,{password:a.user.password,shouldRenderErrorText:!!e.user?.password&&!!i.user?.password}),(0,r.jsx)(tM,{type:"button",onClick:v,children:"Forgotten your password?"})]}),(0,r.jsxs)(tG,{children:[(0,r.jsx)(n.$n,{type:"submit",color:"black",variant:"solid",isFullWidth:!0,isDisabled:k,isSubmitting:k,children:"Continue with email"}),o&&(0,r.jsx)(tO,{type:"button",onClick:o,children:"Back to enquiry"}),(0,r.jsxs)(tN,{children:["By continuing you agree to our"," ",(0,r.jsx)("a",{href:u.R.terms,target:"_blank",rel:"noreferrer",children:"Terms of Service"})," ","and"," ",(0,r.jsx)("a",{href:u.R.privacy,target:"_blank",rel:"noreferrer",children:"Privacy Policy"}),"."]})]})]}):(0,r.jsxs)(tE,{children:[(0,r.jsxs)(tB,{children:[(0,r.jsx)(n.BY,{name:"user.firstName",label:{children:"First name*"},testId:"auth-first-name",render:({onChange:e,...t})=>(0,r.jsx)(n.ks,{...t,type:"text",onChange:e})}),(0,r.jsx)(n.BY,{name:"user.lastName",label:{children:"Last name*"},testId:"auth-last-name",render:({onChange:e,...t})=>(0,r.jsx)(n.ks,{...t,type:"text",onChange:e})})]}),(0,r.jsx)(n.BY,{name:"user.phone",label:{children:"Phone number*"},testId:"auth-phone",render:({onChange:e,...t})=>(0,r.jsx)(n.ks,{...t,type:"tel",onChange:e})}),(0,r.jsx)(n.BY,{name:"user.role",label:{children:"What best describes your role?"},testId:"auth-role",render:({onChange:e,value:t,...i})=>(0,r.jsx)(n.wF,{...i,options:w,onChange:t=>e(t.value),value:t,placeholder:"Select an option"})}),(0,r.jsx)(n.BY,{name:"user.heardAboutUs",label:{children:"How did you hear about us?"},testId:"auth-heard",render:({onChange:e,...t})=>(0,r.jsx)(n.ks,{...t,type:"text",onChange:e})}),(0,r.jsxs)(tG,{children:[(0,r.jsx)(n.$n,{type:"submit",color:"black",variant:"solid",isFullWidth:!0,isDisabled:k,isSubmitting:k,children:"Create account"}),!c&&(0,r.jsx)(tO,{type:"button",onClick:()=>m("credentials"),children:"Back"})]})]}),(0,r.jsx)(tA.r,{isModalOpen:$,closeModal:x,forgotPasswordModalTitle:"Reset password",userEmail:a.user.email})]})})}let tV={description:"From your note. Check anything we’ve flagged — you can edit every detail.",id:"sample-enquiry-builder-response",values:{event:{coordinates:null,date:"",locationAutocomplete:{label:"London, UK",value:""},locationDecided:"yes",location_city:"London",location_line_1:"",location_line_2:"",manualLocation:!1,postcode:"",type:"birthday",urgency:"this_week"},request:{additional_info:{power:"required",supplier_setup:"outdoors",water:"required"},budget:"28",category_tier1:"food",category_tier2:"street_food",description:"Looking for relaxed street food with vegetarian options and quick service.",item_quantity:90,noPriorityTags:!1,priorityTags:[],tags:["korean","loaded_fries"]}},optionsByStepId:{"bar-type":[{label:"Open Bar",value:"open"},{label:"Cash Bar",value:"cash"},{label:"Mixed",value:"mixed"},{label:"Not sure",value:"not_sure"}],courses:[{label:"Canapes",value:"canapes"},{label:"Starter",value:"starter"},{label:"Main",value:"main"},{label:"Dessert",value:"dessert"}],"event-type":[{label:"Wedding",value:"wedding"},{label:"Corporate",value:"corporate"},{label:"Birthday",value:"birthday"},{label:"Festival",value:"festival"}],"dietary-tags":[{label:"Modern British",value:"modern_british"},{label:"Italian",value:"italian"},{label:"Korean",value:"korean"},{label:"Mexican",value:"mexican"},{label:"Mediterranean",value:"mediterranean"},{label:"Indian",value:"indian"},{label:"Loaded fries",value:"loaded_fries"},{label:"BBQ",value:"bbq"},{label:"Seafood",value:"seafood"},{label:"Plant-based",value:"plant_based"},{label:"Pizza",value:"pizza"},{label:"Caribbean",value:"caribbean"}],power:[{label:"Required",value:"required"},{label:"Not required",value:"not_required"}],"tier-2":[{label:"Street food",value:"street_food"},{label:"Private chef",value:"private_chef"},{label:"Drinks",value:"drinks"}],urgency:[{label:"ASAP",value:"asap"},{label:"This week",value:"this_week"},{label:"Just browsing",value:"browsing"}],water:[{label:"Required",value:"required"},{label:"Not required",value:"not_required"}]},steps:[{area:"event",id:"event-type",label:"What’s the occasion?",options:[{label:"Wedding",value:"wedding"},{label:"Corporate",value:"corporate"},{label:"Birthday",value:"birthday"},{label:"Festival",value:"festival"}],valuePaths:["event.type"]},{area:"event",id:"location",label:"Where’s your birthday?",placeholder:"Start typing your address or venue name",valuePaths:["event.location_city"]},{area:"event",id:"date",label:"When’s your birthday party?",valuePaths:["event.date"]},{area:"event",id:"urgency",label:"How soon do you need to book?",options:[{label:"ASAP",value:"asap"},{label:"This week",value:"this_week"},{label:"Just browsing",value:"browsing"}],valuePaths:["event.urgency"]},{area:"request",id:"tier-2",label:"What service style are you looking for?",options:[{label:"Street food",value:"street_food"},{label:"Private chef",value:"private_chef"},{label:"Catering",value:"caterers"}],valuePaths:["request.category_tier2"]},{area:"request",id:"dietary-tags",label:"Any kinds of food you'd particularly like?",options:[{label:"Modern British",value:"modern_british"},{label:"Italian",value:"italian"},{label:"Korean",value:"korean"},{label:"Mexican",value:"mexican"},{label:"Mediterranean",value:"mediterranean"},{label:"Indian",value:"indian"},{label:"Loaded fries",value:"loaded_fries"},{label:"BBQ",value:"bbq"},{label:"Seafood",value:"seafood"},{label:"Plant-based",value:"plant_based"},{label:"Pizza",value:"pizza"},{label:"Caribbean",value:"caribbean"}],optionsMode:"multi",valuePaths:["request.tags"]},{area:"request",id:"priority-tags",label:"Do you have a favourite?",options:[{label:"Korean",value:"korean"},{label:"Loaded fries",value:"loaded_fries"},{label:"No preference",value:"no-preference"}],valuePaths:["request.priorityTags"]},{area:"request",id:"quantity",label:"How many guests are you expecting?",placeholder:"e.g. 120",valuePaths:["request.item_quantity"]},{area:"request",id:"budget",budgetBuckets:[{description:"Simple menus and lighter service.",label:"\xa315-\xa325 pp",lowerLimit:15,perHeadPriceText:"\xa315-\xa325 pp",tagLabel:"Essential",totalPriceText:"From \xa31,350",upperLimit:25,value:"20"},{description:"A broader choice of suppliers and menus.",label:"\xa325-\xa345 pp",lowerLimit:25,perHeadPriceText:"\xa325-\xa345 pp",tagLabel:"Recommended",totalPriceText:"From \xa32,250",upperLimit:45,value:"28"},{description:"Premium menus, staffing, and service.",label:"\xa345+ pp",lowerLimit:45,perHeadPriceText:"\xa345+ pp",tagLabel:"Premium",totalPriceText:"From \xa34,050",value:"45"}],label:"Got a budget in mind?",valuePaths:["request.budget"]},{area:"request",id:"venue-type",label:"Will the street food supplier be set up indoors or outdoors?",options:[{label:"Indoors",value:"indoors"},{label:"Outdoors",value:"outdoors"},{label:"Both",value:"both"},{label:"Not sure",value:"not_sure"}],valuePaths:["request.additional_info.supplier_setup"]},{area:"request",id:"power",label:"Is there access to power?",options:[{label:"Yes",value:"required"},{label:"No",value:"not_required"},{label:"Not sure",value:"not_sure"}],valuePaths:["request.additional_info.power"]},{area:"request",id:"water",label:"Is there access to water?",options:[{label:"Yes",value:"required"},{label:"No",value:"not_required"},{label:"Not sure",value:"not_sure"}],valuePaths:["request.additional_info.water"]},{area:"request",id:"description",isRequired:!1,label:"Anything else we should know?",placeholder:"Add any details suppliers should know",valuePaths:["request.description"]}],submitLabel:"Update",title:"Here’s what we understood"};var tz=i(80496),tD=i(98806);let tY=[{id:"fetch_initial_options",label:"Loading enquiry options"},{id:"route_request",label:"Understanding the request"},{id:"fetch_dynamic_options",label:"Loading matching options"},{id:"generate_draft",label:"Generating the draft"},{id:"finalise_dynamic_options",label:"Checking final options"},{id:"resolve_location",label:"Resolving location"},{id:"map_values",label:"Preparing form values"},{id:"build_steps",label:"Building form steps"}],tK=new Set(Object.keys(e8)),tJ=(e,t)=>
398{let i=t.trim();return i?e.trim()?`${e.trimEnd()} ${i}`:i:e},tQ=e=>!!e&&"object"==typeof e,tZ=e=>tQ(e)&&!0===e.success&&tQ(e.values)&&Array.isArray(e.steps),t0=e=>tQ(e)&&!1===e.success&&"string"==typeof e.message,t1=e=>e?.map(e=>({label:e.label,value:e.value})),t4=e=>{let t="number"==typeof e?e:"string"==typeof e?Number(e):NaN;return Number.isFinite(t)?t:void 0},t2=(e,t)=>{let i=t.split(".").reduce((e,t)=>{if(e&&"object"==typeof e&&t in e)return e[t]},e);return"string"==typeof i&&i.trim()?i:void 0},t8=(e,t)=>"function"==typeof e?e(t):e,t5={audio_visual:"Are you looking for a photographer or videographer?",drink:"What drinks service are you looking for?",florists:"What type of supplier are you looking for?",food:"What service style are you looking for?",marquees_tents:"What type would you like?",staff:"What type of staff do you need?",venues:({eventType:e})=>eo("venues",e)??"",virtual:({eventType:e})=>eo("virtual",e)??""},t3={date:({eventType:e})=>es(e),"event-type":"What’s the occasion?",location:({tier1:e})=>"venues"===e?"Where in the UK would you like to hold your event?":"Where is your event?","location-decision":"Have you decided on a location?","tier-2":e=>t8(e.tier1?t5[e.tier1]:void 0,e)??"","venue-layout":"What's your ideal layout for your event?",urgency:"How soon do you need to book?"},t6=e=>e.confidence<.75||!!e.warning,t9=(e,t)=>e.valuePaths.map(e=>t[e]).filter(e=>!!e),t7=(e,t)=>{switch(e){case"dietary-tags":return t.dietaryTags?.length?t.dietaryTags:t.tags;case"food-tier-2-tags":return t.tags;case"request-tags":return t.styleTags?.length?t.styleTags:t.tags;case"coverage-hours":return t.coverageTags;case"service-style-tags":return t.serviceStyleTags;default:return}},ie=["service-style-tags","extras-tags","request-tags"],it={"service-style-tags":["priority-tags","food-tier-2-tags"],"extras-tags":["request-tags"],"tier-2":["event-type"],"request-tags":["urgency"]},ii={"extras-tags":{isRequired:!1,requirement:"optional"},"request-tags":{isRequired:!0,requirement:"required"},"service-style-tags":{isRequired:!1,requirement:"optional"}},ir=(e,t,i)=>{let r=(it[t]??[]).reduce((t,i)=>{let r=e.findIndex(e=>e.id===i);return r>t?r:t},-1);e.splice(r+1,0,i)},ia=e=>{let t,i,r,a,n,l=new Set,s=e.steps.reduce((t,i)=>{let r=((e,t)=>{let i,r="food-tags"===e.id?"dietary-tags":e.id;if("location-decision"===r||!tK.has(r)||"tier-1"===r&&t2(t.values,"request.category_tier1"))return null;let a=e8[r],n="tier-1"===r?a.area:"event"===e.area||"request"===e.area?e.area:a.area,l=e.options?.length?e.options:t7(r,t.dynamicOptions),s="budget"===r?e.budgetBuckets?.length?e.budgetBuckets:t.dynamicOptions.budgetBuckets:e.budgetBuckets,o="budget"===r&&s?.length?["request.budget_bucket"]:e.valuePaths;return{area:n,budgetBuckets:s?.map(el),confidence:(i=t9(e,t.fieldConfidence)).length?Math.min(...i.map(e=>e.confidence)):void 0,id:r,isRequired:"required"===e.requirement,label:((e,t,i)=>{var r;let a,n,l=e.props?.heading;if("string"==typeof l&&l.trim())return l;let s={eventType:t2(a=i.values,"event.type"),locationDecided:t2(a,"event.locationDecided"),tier1:t2(a,"request.category_tier1")},o=t8(t3[t],s);return o?o:(r=i.values,("string"==typeof(n=(0,tD.E)(t,{eventType:t2(r,"event.type"),specifiedParameters:{},tier1:t2(r,"request.category_tier1"),tier2:t2(r,"request.category_tier2")})?.heading)&&n.trim()?n:void 0)??e8[t].label)})(e,r,t),options:t1(l),optionsMode:a.optionsMode,props:e.props,requirement:e.requirement,status:((e,t)=>{if("needs_input"===e.status)return"needs_input";let i=t9(e,t);return i.length&&i.some(t6)?"needs_review":"completed"})(e,t.fieldConfidence),valuePaths:o}})(i,e);return!r||l.has(r.id)||(l.add(r.id),t.push(r)),t},[]),o=t2(e.values,"request.category_tier1");if(ie.forEach(t=>{if(!l.has(t)&&("service-style-tags"===t?o===d.l4.FOOD:"extras-tags"===t?o===d.l4.MARQUEES_TENTS:"request-tags"===t&&o===d.l4.DRINK)){let i,r;ir(s,t,(i=e8[t],r=ii[t],{area:i.area,id:t,isRequired:r.isRequired,label:i.label,options:t1(t7(t,e.dynamicOptions)),optionsMode:i.optionsMode,requirement:r.requirement,valuePaths:["request.tags"]})),l.add(t)}}),o===d.l4.VENUES&&!l.has("tier-2")){let t;ir(s,"tier-2",{area:(t=e8["tier-2"]).area,id:"tier-2",isRequired:!0,label:t.label,options:t1(e.dynamicOptions.tier2),optionsMode:t.optionsMode,requirement:"required",valuePaths:["request.category_tier2"]}),l.add("tier-2")}return{dynamicOptions:{budgetBuckets:e.dynamicOptions.budgetBuckets.map(el),eventTypes:e.dynamicOptions.eventTypes,tags:e.dynamicOptions.tags,tier1:e.dynamicOptions.tier1,tier2:e.dynamicOptions.tier2,allTier2:e.dynamicOptions.allTier2,venueLayouts:e.dynamicOptions.venueLayouts,venueServices:e.dynamicOptions.venueServices,tagsByTier2:e.dynamicOptions.tagsByTier2,budgetBucketsByTier2:(t=e.dynamicOptions.budgetBucketsByTier2)&&Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t.map(el)]))},id:"ai-enquiry-draft",optionsByStepId:s.reduce((e,t)=>
398(t.options?.length&&(e[t.id]=t.options),e),{}),steps:s,submitLabel:"Update",title:"Here’s what we understood",values:(r={...i=e.values,event:tQ(i.event)?{...i.event}:i.event,request:tQ(i.request)?{...i.request}:i.request},a=tQ(r.request)?r.request:void 0,n=((e,t)=>{let i=tQ(e.request)?e.request:void 0,r=t4(i?.budget),a=t4(i?.item_quantity);if(!r)return;let n=t.find(e=>e.value===r);if(n)return String(n.value);if(a&&a>0){let e=r/a,i=t.find(t=>"per_head"===t.type&&e>=t.lowerLimit&&e<=t.upperLimit);if(i)return String(i.value)}let l=t.find(e=>"package"===e.type&&r>=e.lowerLimit&&r<=e.upperLimit);return l?String(l.value):void 0})(r,e.dynamicOptions.budgetBuckets),a&&n&&(a.budget_bucket=n),r)}},il=e=>`${e.name}-${e.size}-${e.lastModified}`,is=n.I4.main(({theme:e})=>(0,C.AH)`
399    background: ${e.colors.white};
400    display: flex;
401    flex-direction: column;
402    min-height: 100vh;
403    padding: ${e.spacing[6]} ${e.spacing[4]} ${e.spacing[4]};
404  `),io=n.I4.div(({theme:e})=>(0,C.AH)`
405    display: flex;
406    flex: 1;
407    flex-direction: column;
408    margin: 0 auto;
409    min-height: 0;
410    width: 100%;
411
412    ${(0,n.Bi)(e.breakpoints.medium)} {
413      max-width: ${(0,n.a8)(620)};
414    }
415  `);n.I4.div(({theme:e})=>(0,C.AH)`
416    align-items: center;
417    display: flex;
418    justify-content: center;
419    margin-bottom: ${e.spacing[7]};
420  `);let id=n.I4.section(({theme:e})=>(0,C.AH)`
421    display: flex;
422    flex-direction: column;
423    gap: ${e.spacing[4]};
424    margin: auto 0;
425  `),iu=n.I4.div(({theme:e})=>(0,C.AH)`
426    align-items: center;
427    display: flex;
428    flex-direction: column;
429    gap: ${e.spacing[1]};
430    text-align: center;
431    margin-bottom: ${e.spacing[4]};
432
433    ${(0,n.Bi)(e.breakpoints.medium)} {
434      margin-bottom: ${e.spacing[8]};
435    }
436  `),ic=n.I4.h2(({theme:e})=>(0,C.AH)`
437    ${(0,n.XC)(e,"headingLarge","black")};
438    margin: 0;
439  `),ip=n.I4.p(({theme:e})=>(0,C.AH)`
440    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
441    margin: 0;
442    max-width: ${(0,n.a8)(620)};
443  `),ig=n.I4.div(({isProcessing:e,theme:t})=>(0,C.AH)`
444    border: ${e?"none":`${(0,n.a8)(1)} solid ${t.colors.lightMediumGrey}`};
445    border-radius: ${(0,n.a8)(20)};
446    overflow: hidden;
447
448    &:hover [data-prompt-toolbar],
449    &:focus-within [data-prompt-toolbar] {
450      border-top-color: ${t.colors.lightMediumGrey};
451    }
452  `),im=n.I4.textarea(({theme:e})=>(0,C.AH)`
453    ${(0,n.XC)(e,"bodyMedium","black")};
454    border: none;
455    display: block;
456    min-height: ${(0,n.a8)(138)};
457    padding: ${e.spacing[4]};
458    resize: none;
459    width: 100%;
460
461    &:focus {
462      border-radius: ${(0,n.a8)(20)} ${(0,n.a8)(20)} 0 0;
463    }
464    &::placeholder {
465      color: ${e.colors.mediumGrey};
466    }
467
468    &:disabled {
469      cursor: default;
470    }
471  `),ih=n.I4.div(({isProcessing:e})=>(0,C.AH)`
472    min-height: ${e?(0,n.a8)(360):"auto"};
473    position: relative;
474  `),iy=n.I4.div(({theme:e})=>(0,C.AH)`
475    align-items: center;
476    border-top: ${(0,n.a8)(1)} solid ${e.colors.lightMediumGrey};
477    display: flex;
478    gap: ${e.spacing[3]};
479    justify-content: space-between;
480    padding: ${e.spacing[2]} ${e.spacing[3]};
481    transition: border-color 160ms ease;
482  `),ib=n.I4.div(({theme:e})=>(0,C.AH)`
483    align-items: center;
484    display: flex;
485    gap: ${e.spacing[2]};
486    min-width: 0;
487  `),iv=(0,C.i7)`
488  0%, 100% {
489    transform: scaleY(0.35);
490  }
491
492  50% {
493    transform: scaleY(1);
494  }
495`,ix=n.I4.button(({isRecording:e,theme:t})=>(0,C.AH)`
496    ${(0,n.XC)(t,"bodySmall","white")};
497    align-items: center;
498    background: ${e?t.colors.red:t.colors.white};
499    border: ${(0,n.a8)(1)} solid ${t.colors.mediumGrey};
500    border-radius: 50%;
501    cursor: pointer;
502    display: inline-flex;
503    font-weight: 600;
504    min-height: ${t.spacing[10]};
505    justify-content: center;
506    gap: ${t.spacing[2]};
507    min-width: ${t.spacing[10]};
508
509    ${e&&`
510      padding: 0 ${t.spacing[3]};
511      border-radius: ${(0,n.a8)(999)};
512    `}
513
514    &:disabled {
515      background: #b9c7dc;
516      cursor: default;
517    }
518  `),i$=n.I4.span(({theme:e})=>(0,C.AH)`
519    align-items: center;
520    animation: ${iv} 760ms ease-in-out infinite;
521    animation-delay: 120ms;
522    background: ${e.colors.white};
523    border-radius: ${(0,n.a8)(999)};
524    display: inline-flex;
525    height: ${(0,n.a8)(16)};
526    position: relative;
527    transform-origin: center;
528    width: ${(0,n.a8)(3)};
529
530    &::before,
531    &::after {
532      animation: ${iv} 760ms ease-in-out infinite;
533      background: ${e.colors.white};
534      border-radius: ${(0,n.a8)(999)};
535      content: "";
536      height: ${(0,n.a8)(16)};
537      position: absolute;
538      top: 0;
539      transform-origin: center;
540      width: ${(0,n.a8)(3)};
541    }
542
543    &::before {
544      animation-delay: 0ms;
545      right: ${(0,n.a8)(5)};
546    }
547
548    &::after {
549      animation-delay: 240ms;
550      left: ${(0,n.a8)(5)};
551    }
552  `),iw=n.I4.button(({theme:e})=>(0,C.AH)`
553    align-items: center;
554    background: ${e.colors.white};
555    border: ${(0,n.a8)(1)} solid ${e.colors.lightMediumGrey};
556    border-radius: 50%;
557    cursor: pointer;
558    display: inline-flex;
559    height: ${e.spacing[10]};
560    justify-content: center;
561    width: ${e.spacing[10]};
562
563    &:hover {
564      border-color: ${e.colors.mediumGrey};
565    }
566
567    &:disabled {
568      cursor: default;
569      opacity: 0.6;
570    }
571  `),ik=n.I4.input`
572  display: none;
573`,ij=n.I4.span(({theme:e})=>(0,C.AH)`
574    ${(0,n.XC)(e,"bodySmall","mediumGrey")};
575  `),iI=n.I4.div(({theme:e})=>(0,C.AH)`
576    display: grid;
577    gap: ${e.spacing[2]};
578    grid-template-columns: repeat(2, minmax(0, 1fr));
579    padding: 0 ${e.spacing[3]} ${e.spacing[3]};
580  `),iq=n.I4.div(({theme:e})=>(0,C.AH)`
581    align-items: center;
582    background: ${e.colors.lightGrey};
583    border-radius: ${(0,n.a8)(8)};
584    display: grid;
585    gap: ${e.spacing[2]};
586    grid-template-columns: ${(0,n.a8)(38)} minmax(0, 1fr) ${(0,n.a8)(24)};
587    min-height: ${(0,n.a8)(46)};
588    padding: ${e.spacing[1]};
589  `),iS=n.I4.img`
590  aspect-ratio: 1;
591  border-radius: ${(0,n.a8)(6)};
592  display: block;
593  object-fit: cover;
594  width: ${(0,n.a8)(38)};
595`,iA=n.I4.span(({theme:e})=>(0,C.AH)`
596    ${(0,n.XC)(e,"bodySmall","darkGrey")};
597    overflow: hidden;
598    text-overflow: ellipsis;
599    white-space: nowrap;
600  `),iC=n.I4.button(({theme:e})=>(0,C.AH)`
601    ${(0,n.XC)(e,"bodySmall","darkGrey")};
602    align-items: center;
603    background: ${e.colors.white};
604    border: ${(0,n.a8)(1)} solid ${e.colors.lightMediumGrey};
605    border-radius: 50%;
606    cursor: pointer;
607    display: inline-flex;
608    height: ${(0,n.a8)(24)};
609    justify-content: center;
610    padding: 0;
611    width: ${(0,n.a8)(24)};
612  `);n.I4.p(({theme:e})=>(0,C.AH)`
613    ${(0,n.XC)(e,"bodySmall","mediumGrey")};
614    margin: 0;
615    padding: 0 ${e.spacing[1]};
616  `);let i_=(0,C.i7)`
617  0%, 80%, 100% {
618    transform: translateY(0);
619    opacity: 0.45;
620  }
621
622  40% {
623    transform: translateY(-${(0,n.a8)(4)});
624    opacity: 1;
625  }
626`,iP=n.I4.div(({theme:e})=>(0,C.AH)`
627    align-items: center;
628    background: ${e.colors.white};
629    display: flex;
630    flex-direction: column;
631    inset: 0;
632    justify-content: center;
633    overflow-y: auto;
634    padding: ${e.spacing[4]};
635    position: absolute;
636    z-index: 1;
637  `),iH=n.I4.h3(({theme:e})=>(0,C.AH)`
638    ${(0,n.XC)(e,"headingMedium","black")};
639    margin: 0;
640    text-align: center;
641  `),iT=n.I4.p(({theme:e})=>(0,C.AH)`
642    ${(0,n.XC)(e,"bodyMedium","darkGrey")};
643    margin: ${e.spacing[1]} 0 ${e.spacing[6]};
644    text-align: center;
645  `),iE=n.I4.ol(({theme:e})=>(0,C.AH)`
646    display: grid;
647    gap: ${e.spacing[4]};
648    list-style: none;
649    margin: 0 auto;
650    max-width: ${(0,n.a8)(260)};
651    padding: 0;
652    width: 100%;
653  `),iB=n.I4.li(({status:e,theme:t})=>(0,C.AH)`
654    ${(0,n.XC)(t,"bodyBoldMedium","pending"===e?"mediumGrey":"black")};
655    align-items: center;
656    display: flex;
657    gap: ${t.spacing[3]};
658    opacity: ${"pending"===e?.5:1};
659    width: 100%;
660  `),iR=n.I4.span(({status:e,theme:t})=>(0,C.AH)`
661    align-items: center;
662    background: ${"completed"===e||"skipped"===e?t.colors.mediumGreen:"running"===e?t.colors.mediumBlue:t.colors.lightGrey};
663    border-radius: ${(0,n.a8)(999)};
664    display: inline-flex;
665    flex: 0 0 auto;
666    height: ${(0,n.a8)(24)};
667    justify-content: center;
668    width: ${(0,n.a8)(24)};
669
670    svg {
671      display: block;
672    }
673  `),iM=n.I4.span(({theme:e})=>(0,C.AH)`
674    animation: ${i_} 900ms ease-in-out infinite;
675    background: ${e.colors.white};
676    border-radius: 50%;
677    height: ${(0,n.a8)(8)};
678    width: ${(0,n.a8)(8)};
679  `),iL=n.I4.span(({theme:e})=>(0,C.AH)`
680    background: ${e.colors.mediumGrey};
681    border-radius: 50%;
682    height: ${(0,n.a8)(6)};
683    width: ${(0,n.a8)(6)};
684  `),iN=n.I4.p(({theme:e,tone:t="neutral"})=>(0,C.AH)`
685    ${(0,n.XC)(e,"bodySmall","darkGrey")};
686    color: ${"error"===t?e.colors.red:e.colors.mediumGrey};
687    margin: 0;
688    padding: 0 ${e.spacing[1]};
689  `),iG=n.I4.a(({theme:e})=>(0,C.AH)`
690    color: ${e.colors.mediumBlue};
691    font-weight: 600;
692    text-decoration: underline;
693
694    &:hover {
695      text-decoration: none;
696    }
697  `),iO=n.I4.div(({theme:e})=>(0,C.AH)`
698    border-top: ${(0,n.a8)(1)} solid ${e.colors.lightMediumGrey};
699    margin: 0 calc(${e.spacing[4]} * -1);
700    padding: ${e.spacing[3]} ${e.spacing[4]} 0;
701
702    ${(0,n.Bi)(e.breakpoints.medium)} {
703      border-top: none;
704    }
705  `),iF=n.I4.button(({theme:e})=>(0,C.AH)`
706    ${(0,n.XC)(e,"bodyMedium","white")};
707    background: ${e.colors.mediumBlue};
708    border: none;
709    border-radius: ${(0,n.a8)(999)};
710    cursor: pointer;
711    font-weight: 600;
712    min-height: ${e.spacing[12]};
713    padding: 0 ${e.spacing[4]};
714    width: 100%;
715
716    &:disabled {
717      background: #b9c7dc;
718      cursor: default;
719    }
720  `);n.I4.p(({theme:e})=>(0,C.AH)`
721    ${(0,n.XC)(e,"bodySmall","mediumGrey")};
722    margin: ${e.spacing[3]} 0 0;
723    text-align: center;
724  `);let iW=`${u.R.enquiryForm}?enquiryBuilderFallback=true`,iX=new Set(["image/png","image/jpeg","image/gif","
724image/webp"]);var iU=!0;let iV=async e=>{let[{mintEnquiryToken:t},{getOrCreateSsrSessionId:r}]=await Promise.all([Promise.all([i.e(8513),i.e(1126),i.e(1300)]).then(i.bind(i,21300)),Promise.resolve().then(i.bind(i,94941))]);return{props:{enquiryToken:t(r(e))}}},iz=({enquiryToken:e})=>{let[t,i]=(0,a.useState)(""),[p,A]=(0,a.useState)([]),[C,_]=(0,a.useState)([]),[P,H]=(0,a.useState)(tV),[T,E]=(0,a.useState)(null),[B,R]=(0,a.useState)(null),[M,L]=(0,a.useState)(!1),[N,G]=(0,a.useState)(!1),[O,F]=(0,a.useState)(!1),[W,X]=(0,a.useState)(!1),[U,V]=(0,a.useState)(null),[z,D]=(0,a.useState)(!1),[Y,J]=(0,a.useState)(!1),[Q,Z]=(0,a.useState)(null),[ee,et]=(0,a.useState)(null),[ei,er]=(0,a.useState)(!1),[ea,en]=(0,a.useState)(null),[el,es]=(0,a.useState)([]),[eo]=(0,q.dsV)(),[eu]=(0,q.pMp)(),[ec]=(0,q.bSg)(),{isLoggedIn:ep,user:eg}=(0,w.u)(),{sessionId:em}=(0,k.L)();(0,$.m)({formVersion:o.dh,sessionId:em});let{ensureCustomerAccount:eh}=(0,I.Q)({onExistingUser:()=>et(d.Fl[218004]),setError:e=>et(e?String(e):d.Fl.default),submitErrorMessages:d.Fl}),ey=(0,a.useRef)(!1),eb=(0,a.useRef)(null),ef=(0,a.useRef)(null),ev=(0,a.useRef)(null),ex=(0,a.useRef)(!1),e$=(0,a.useRef)(""),ew=(0,a.useRef)(""),ek=(0,a.useRef)(""),ej=(0,a.useRef)(!1),eI=(0,a.useRef)(""),eq=(0,a.useRef)(null),eS=(0,a.useCallback)(()=>({customerId:eg?.customerId,email:eg?.email,isLoggedIn:ep,jobId:eq.current,promptId:eI.current,sessionId:em,userId:eg?.id}),[ep,em,eg]),eA=(0,a.useCallback)(async e=>{if(el.length)try{await eu({variables:{data:{eventRequestUuid:e,imageDescriptions:el}}})}catch(e){(0,f.l2)(e)}},[el,eu]),eC=(0,a.useCallback)(async(e,t)=>{try{let i=await (0,S.Z8)(e,{},null,eo,q._9X.AiEnquiry);if(i?.error){(0,f.l2)(Error(i.error.message)),t(d.Fl.default),X(!1);return}let r=i?.data?.eventIds?.id,a=i?.data?.requestIds?.id,n=i?.data?.requestIds?.uuid,l=e.request.priorityTags[0]??null;if(r&&a&&(({eventId:e,requestId:t,requestUuid:i,...r})=>y(o.gj,{...h(r),eventId:e,requestId:t,...m("requestUuid",i)}))({...eS(),...e.user.email?{email:e.user.email}:{},eventId:r,requestId:a,requestUuid:n}),n&&await eA(n),n&&l&&await ec({variables:{eventRequestId:n,tagId:l}}),!r||!a){(0,f.l2)(Error("Missing created event/request id")),t(d.Fl.default),X(!1);return}window.location.href=u.R.customerEventRequest(r,a)}catch(e){(0,f.l2)(e),t(d.Fl.default),X(!1)}},[eo,eS,eA,ec]),e_=(0,a.useCallback)(e=>{if(W)return;en(e);let t=((e,t)=>{var i;let r,a=(0,tz.w)({initialQuery:{}}),n=tQ(e.request)?e.request:{},l=tQ(e.event)?e.event:{},s=tQ(e.user)?e.user:{},o=tQ(e.venue)?e.venue:{},d=tQ(n.additional_info)?n.additional_info:{},u={...a,...e,event:{...a.event,...l},request:{...a.request,...n,additional_info:{...a.request.additional_info,...d}},user:{...a.user,...s},venue:{...a.venue,...o}},c=tQ(u.request)?String(u.request.budget_bucket??""):"",p=(ed(t.dynamicOptions,e)??t.dynamicOptions?.budgetBuckets)?.find(e=>String(e.value)===c);if(!p)return u;let g=Number.isFinite(r="number"==typeof(i=u.request.item_quantity)?i:"string"==typeof i?Number(i):NaN)?r:null;return"per_head"===p.type&&g&&g>0?(u.request.budget=String(Math.round(Number(p.value)*g)),u.request.minPrice=null==p.lowerLimit?null:Math.round(p.lowerLimit*g),u.request.maxPrice=null==p.upperLimit?null:Math.round(p.upperLimit*g)):(u.request.budget=String(Math.round(Number(p.value))),u.request.minPrice=p.lowerLimit??null,u.request.maxPrice=p.upperLimit??null),u.request.budget_flexible=!0,u})(e,P);if(ep){X(!0),V(null),eC(t,V);return}Z(t),et(null),J(!0)},[P,ep,W,eC]),eP=(0,a.useCallback)(async e=>{if(!Q||W)return;X(!0),et(null);let t=e?{...Q,user:{...Q.user,...e,email:e.email.trim().toLowerCase()||Q.user.email}}:Q;"ready"!==(await eh(t)).status?X(!1):await eC(t,et)},[eh,W,Q,eC]),eH=(0,a.useCallback)(()=>{(0,j.V)(u.R.googleSSO(v.g6.CUSTOMER,"enquiry"))},[]),eT=(0,a.useCallback)(()=>{J(!1),et(null),er(!1),ey.current=!1},[]);(0,a.useEffect)(()=>{if(Y&&ep&&Q&&!ey.current){if(ey.current=!0,(0,x.t7)())return void er(!0);eP()}},[Y,ep,Q,eP]);let eE=(0,a.useCallback)(e=>{if(E(e),"completed"===e.status||"failed"===e.status){if(R(null),tZ(e.result)){H(ia(e.result)),es(e.result.imageDescriptions),F(!0),V(null);return}
724if(t0(e.result)){b({...eS(),errorCode:e.result.errorCode,reason:"draft_job_failed"}),V(e.result.message);return}b({...eS(),reason:"draft_job_unusable_result"}),V("The draft job finished without a usable result.")}},[eS]),eB=(0,a.useCallback)(()=>{ex.current=!1,ej.current=!0,ev.current&&(window.clearTimeout(ev.current),ev.current=null),ef.current?.stop(),ef.current=null,G(!1)},[]),eR=(0,a.useCallback)(()=>{let e;if(ef.current||ex.current)return void eB();(0,g.Gu)(o.n2,{input_type:"speech",page:"brief"});let r=(e=window).SpeechRecognition??e.webkitSpeechRecognition;if(!r)return void V("Voice recording is not supported in this browser.");e$.current=t,ew.current="",ek.current="",ex.current=!0,ej.current=!1;let a=()=>{if(!ex.current)return;let e=new r;e.continuous=!0,e.interimResults=!0,e.lang="en-GB",e.onresult=e=>{let t="";for(let i=0;i<e.results.length;i+=1)t+=e.results[i]?.[0]?.transcript??"";ek.current=t,i(tJ(e$.current,tJ(ew.current,ek.current)))},e.onerror=e=>{var t;let i;if(ef.current=null,ex.current&&("aborted"===(i=e.error)||"network"===i||"no-speech"===i))return;let r="audio-capture"===(t=e.error)?"We couldn’t find a microphone. Check your input device and try again.":"not-allowed"===t||"service-not-allowed"===t?"Microphone access is blocked. Allow microphone access in your browser settings and try again.":"network"===t?"Voice recording lost connection. Try again in a moment.":"Voice recording stopped unexpectedly. Press Record to try again.";ex.current=!1,ej.current=!1,G(!1),V(r)},e.onend=()=>{if(ef.current=null,ew.current=tJ(ew.current,ek.current),ek.current="",ej.current){ej.current=!1,G(!1);return}if(ex.current){G(!0),ex.current&&(ev.current&&window.clearTimeout(ev.current),ev.current=window.setTimeout(()=>{ev.current=null,a()},250));return}G(!1)};try{e.start(),ef.current=e,G(!0),V(null)}catch{ef.current=null,ex.current=!1,ej.current=!1,G(!1),V("Unable to start voice recording.")}};a()},[t,eB]),eM=(0,a.useCallback)(async()=>{(0,g.Gu)(o.bC,{page:"brief"}),eB();let i=t.trim();if(!i)return void V("Add a description before building your enquiry.");V(null),D(!1),L(!0),F(!1),R(null),E(null),H(tV),es([]),en(null),eI.current=(0,c.A)(),eq.current=null,(({imageCount:e,prompt:t,...i})=>y(o.qN,{...h(i),imageCount:e,prompt:t,promptLength:t.length}))({...eS(),imageCount:p.length,prompt:i});try{let t=e;if(t){let e=await fetch("/api/ai-enquiry/token",{headers:{"x-enquiry-token":t},method:"POST"}),i=await e.json();if(!e.ok||!(i&&"object"==typeof i&&"enquiryToken"in i&&"string"==typeof i.enquiryToken)){b({...eS(),reason:"token_refresh_failed",statusCode:e.status}),V("Your session has expired. Please reload the page.");return}t=i.enquiryToken}let r=new FormData;i&&r.append("message",i),r.append("context",JSON.stringify({isLoggedIn:!0})),r.append("processingMode","async"),r.append("promptId",eI.current),p.forEach(e=>{r.append("images",e)});let a=await fetch("/api/ai-enquiry/draft",{body:r,method:"POST",headers:t?{"x-enquiry-token":t}:void 0}),n=await a.json();if(!a.ok){if(b({...eS(),...t0(n)?{errorCode:n.errorCode}:{},reason:"draft_request_rejected",statusCode:a.status}),429===a.status||503===a.status){D(!0),V("Our systems are experiencing high demand right now. Please try again in a moment.");return}V(t0(n)?n.message:"Unable to start the draft.");return}if(tQ(n)&&!0===n.success&&tQ(n.processing)&&"string"==typeof n.processing.status&&"string"==typeof n.jobId&&n.jobId.length>0){eq.current=n.jobId,R(n.jobId),eE(n.processing);return}if(tZ(n)){H(ia(n)),es(n.imageDescriptions),F(!0),V(null);return}b({...eS(),reason:"draft_request_unexpected_response",statusCode:a.status}),V("The draft API returned an unexpected response.")}catch{b({...eS(),reason:"draft_request_network_error"}),V("Unable to reach the draft API.")}finally{L(!1)}},[eE,e,eS,t,p,eB]),eL=(0,a.useCallback)(e=>{var i;let r,a=Array.from(e.currentTarget.files??[]);if(e.currentTarget.value="",!a.length)return;if(!t.trim())return void V("Add a description before attaching images.");if(a.some(e=>!iX.has(e.type)))return void V("Please upload PNG, JPEG, GIF, or WebP images only.");if(a.some(e=>e.size>11e5))return void V("Each image must be around 1MB or smaller.");let n=(i=[...p,...a],r=new Set,i.filter(e=>{let t=il(e);return!r.has(t)&&(r.add(t),!0)}));n.length>4?V("You can upload up to 4 images."):(A(n),V(null))},[t,p]),eN=(0,a.useCallback)(e=>{A(t=>t.filter((t,i)=>i!==e))},[]);(0,a.useEffect)(()=>()=>{ex.current=!1,ej.current=!0,ev.current&&(window.clearTimeout(ev.current),ev.current=null),ef.current?.abort(),ef.current=null},[]),(0,a.useEffect)(()=>
724{if(!B)return;let e=!1,t=async()=>{try{let t=await fetch(`/api/ai-enquiry/draft?jobId=${encodeURIComponent(B)}`),i=await t.json();if(e)return;if(!t.ok){R(null),V(t0(i)?i.message:"Unable to check draft progress.");return}if(tQ(i)&&!0===i.success&&tQ(i.processing)&&"string"==typeof i.processing.status)return void eE(i.processing);R(null),V("The draft API returned an unexpected progress response.")}catch{if(e)return;R(null),V("Unable to check draft progress.")}};t();let i=window.setInterval(t,1500);return()=>{e=!0,window.clearInterval(i)}},[eE,B]),(0,a.useEffect)(()=>{let e=p.map(e=>({file:e,url:URL.createObjectURL(e)}));return _(e),()=>{e.forEach(e=>URL.revokeObjectURL(e.url))}},[p]);let eG=(0,a.useCallback)(()=>{V(null),F(!1)},[]),eO=M||!!B,eF="ai-enquiry-draft"===P.id,eW=(0,a.useMemo)(()=>ea?{...P,values:ea}:P,[P,ea]),eX=!t.trim()||eO,eU=(e=>{if(!e)return tY.slice(0,5).map((e,t)=>({...e,status:0===t?"running":"pending"}));let t=Math.max(5,e.steps.reduce((e,t,i)=>"pending"===t.status||"skipped"===t.status?e:i,-1)+1);return e.steps.slice(0,t)})(T),eV=(0,r.jsxs)(id,{children:[!eO&&(0,r.jsxs)(iu,{children:[(0,r.jsx)(ic,{children:"Tell us about your event"}),(0,r.jsx)(ip,{children:"Describe what you’re planning in your own words — type it, say it, or add a few photos for the style you’re after."})]}),U&&(0,r.jsx)(iN,{tone:"error",children:U}),(0,r.jsxs)(ig,{isProcessing:eO,children:[(0,r.jsxs)(ih,{isProcessing:eO,children:[(0,r.jsx)(im,{disabled:eO,onChange:e=>i(e.currentTarget.value),placeholder:"e.g. Summer wedding in London, about 90 guests, we’d love relaxed street food in the evening...",value:t}),eO&&(0,r.jsxs)(iP,{"aria-live":"polite",children:[(0,r.jsx)(iH,{children:"Turning your brief into an enquiry"}),(0,r.jsx)(iT,{children:"This usually takes a few seconds."}),(0,r.jsx)(iE,{children:eU.map(e=>{let t="failed"===e.status?"pending":e.status,i="completed"===t||"skipped"===t;return(0,r.jsxs)(iB,{status:t,children:[(0,r.jsx)(iR,{status:t,children:i?(0,r.jsx)(n.In,{fill:"white",name:"Tick",size:14}):"running"===t?(0,r.jsx)(iM,{"aria-hidden":"true"}):(0,r.jsx)(iL,{"aria-hidden":"true"})}),e.label]},e.id)})})]})]}),!eO&&(0,r.jsxs)(iy,{"data-prompt-toolbar":!0,children:[(0,r.jsxs)(ib,{children:[(0,r.jsxs)(ix,{"aria-label":N?"Stop recording":"Start recording","aria-pressed":N,isRecording:N,onClick:eR,type:"button",children:[N&&(0,r.jsx)(i$,{"aria-hidden":"true"}),(0,r.jsx)(n.In,{name:"Microphone",size:18,fill:"black"})]}),(0,r.jsx)(iw,{"aria-label":"Add photos",disabled:!t.trim(),onClick:()=>{(0,g.Gu)(o.W3,{input_type:"photos",page:"brief"}),eb.current?.click()},type:"button",children:(0,r.jsx)(n.In,{fill:"black",name:"Photography",size:18})})]}),(0,r.jsx)(ik,{accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,onChange:eL,ref:eb,type:"file"}),(0,r.jsx)(ij,{children:p.length?`${p.length}/4 selected`:"Optional"})]}),!eO&&C.length>0&&(0,r.jsx)(iI,{children:C.map((e,t)=>(0,r.jsxs)(iq,{children:[(0,r.jsx)(iS,{alt:"",src:e.url}),(0,r.jsx)(iA,{children:e.file.name}),(0,r.jsx)(iC,{"aria-label":`Remove ${e.file.name}`,onClick:()=>eN(t),type:"button",children:"X"})]},il(e.file)))})]}),z&&(0,r.jsx)(iN,{tone:"neutral",children:(0,r.jsx)(iG,{href:iW,children:"No need to wait — create your enquiry here instead"})})]});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.W,{noIndexNoFollow:!0,path:"/enquiry-builder",title:"Togather - Enquiry"}),(0,r.jsx)(s.B,{children:Y?(0,r.jsxs)(is,{children:[(0,r.jsx)(K,{}),(0,r.jsx)(io,{children:(0,r.jsx)(tU,{eventType:Q?.event?.type??"",error:ee,isSubmitting:W,onSSO:eH,onSubmit:eP,onBack:eT,startAtDetails:ei,prefillUser:ei?{firstName:eg?.firstName,lastName:eg?.lastName,phone:eg?.phone}:void 0},ei?"sso-details":"credentials")})]}):eF&&O?(0,r.jsx)(tk,{beforeHeader:U?(0,r.jsx)(iN,{tone:"error",children:U}):void 0,enquiry:eW,isSubmitting:W,onCancel:eG,onSubmit:e_,submitLabel:ep?"Create request":"Next"}):(0,r.jsxs)(is,{children:[(0,r.jsx)(K,{}),(0,r.jsxs)(io,{children:[eV,(0,r.jsx)(iO,{children:(0,r.jsx)(iF,{disabled:eX,onClick:eM,type:"button",children:eO?"Building...":"Build my enquiry"})})]})]})})]})}}}]);

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.