1import{T as D,H as R,E as d,F as Y,$ as B}from"./DsJt69a4.js";import{c as m}from"./BmUnBoaY.js";const I={pemesan:[],penumpang:[]},T=s=>s.find(r=>r.name==="title")??null,b=s=>s.filter(r=>r.name!=="title"),L="government_id_type",F="government_id",$=(s,r)=>{if(s.depends_on&&s.rules){const i=r[s.depends_on],t=i?s.rules[i]:void 0;if(t)return t}return{min:s.min,max:s.max}},x=s=>{const r=s.findIndex(o=>o.name===L),i=s.findIndex(o=>o.name===F);if(r===-1||i===-1||r<i)return s;const t=[...s],[c]=t.splice(r,1);return t.splice(t.findIndex(o=>o.name===F),0,c),t},W=()=>{const s=D(),{configField:r}=R(),i=r("is_mandatory_fields_active"),t=m(()=>i.value===!1?I:s.detailSchedule?.mandatory_fields??I),c=d("mandatory-fields-customer",()=>({})),o=d("mandatory-fields-passenger-by-seat",()=>({})),h=m(()=>T(t.value.pemesan)),V=m(()=>x(b(t.value.pemesan))),A=m(()=>T(t.value.penumpang)),S=m(()=>x(b(t.value.penumpang))),p=e=>o.value[e]??{},M=(e,n)=>{o.value={...o.value,[e]:n}},f=d("mandatory-fields-customer-errors",()=>({})),v=d("mandatory-fields-passenger-errors-by-seat",()=>({})),{t:N}=Y(),g=(e,n,a)=>{if(e.name===F){const{min:u,max:l}=$(e,a);return B(n??"",e.label,u,l)}return n?"":`${e.label} ${N("validation.required")}`},E=(e,n)=>e.reduce((a,u)=>{const l=g(u,n[u.name],n);return l&&(a[u.name]=l),a},{}),P=()=>{const e=E(t.value.pemesan,c.value);return f.value=e,Object.keys(e).length===0},O=e=>{const n=E(t.value.penumpang,p(e));return v.value={...v.value,[e]:n},Object.keys(n).length===0},y=m(()=>{const e={};for(const n of t.value.pemesan){if(!(n.name in f.value))continue;const a=g(n,c.value[n.name],c.value);a&&(e[n.name]=a)}return e}),j=e=>y.value[e]??"",C=(e,n)=>{const a=t.value.penumpang.find(l=>
1l.name===n);if(!a||!(n in(v.value[e]??{})))return"";const u=p(e);return g(a,u[n],u)},_=(e,n)=>e.reduce((a,u)=>{const l=n[u.name];return l==null||l===""||(a[u.name]=l),a},{});return{schema:t,customerValues:c,passengerValuesBySeat:o,getPassengerValues:p,setPassengerValues:M,titleField:h,pemesanFieldsWithoutTitle:V,penumpangTitleField:A,penumpangFieldsWithoutTitle:S,getApiValues:()=>{const e=Object.fromEntries(Object.entries(o.value).map(([n,a])=>[n,_(t.value.penumpang,a)]));return{pemesan:_(t.value.pemesan,c.value),penumpang:e}},customerFieldErrors:y,validateCustomerFields:P,validatePassengerFields:O,getCustomerFieldError:j,getPassengerFieldError:C}};export{W as u};
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.