PageSourceSearch

https://shuttleq.net/static/js/4882.c7df7572.chunk.js

js shuttleq.net collected 2026-09-25 03:23:20 UTC 33,417 bytes, 2 lines download raw bytes

1"use strict";(globalThis.webpackChunkmain_bt5||=[]).push([[4882,8055],{88055(n,a,i){i.r(a);var e=i(69223),l=i(65043),r=i(7493),t=i(72450),s=i.n(t),d=i(31395),o=i(37762),c=i(64961),p=i(70579);const g=n=>{let{grid:a,name:i}=n;const[t,g]=(0,l.useState)(!1),[x,m]=(0,l.useState)("");return(0,p.jsx)("div",{children:(0,p.jsx)("div",{children:(0,p.jsx)("div",{className:"h-screen",children:(0,p.jsxs)("div",{className:"collapse_new res_collapse_new ctop-align dsh-clp",children:[(0,p.jsxs)(r.A,{onClick:()=>{const n=document.getElementById("imgOption");n.src.match("/img/newimages/expand.png")?(n.src="/img/newimages/collapse.png",m("Options"),g(!t)):(n.src="/img/newimages/expand.png",m(""),g(!1))},className:"mb-0",children:[(0,p.jsx)("img",{id:"imgOption",src:"/img/newimages/expand.png",alt:"Options",className:"btn btn-primary collapse_new_btn"}),(0,p.jsx)("b",{children:x})]}),t&&(0,p.jsx)("div",{className:"bg-white  w-52 shadow-lg absolute-left-14 top-24",children:(0,p.jsxs)("ul",{children:[(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100"}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(r.A,{color:"link",className:"border-0",onClick:()=>{a.current.instance.showColumnChooser()},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/field-choser-icon.png",alt:"",className:"option-icon"}),"Column Chooser"]})}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(r.A,{color:"link",className:"border-0",onClick:n=>{const l=document.getElementById("imgOption");l.src.match("/img/newimages/collapse.png")&&(l.src="/img/newimages/expand.png",g(!1));const r=a.current.instance,t=new e.Workbook,o=t.addWorksheet("Main sheet");(0,d.V)({component:r,worksheet:o,customizeCell(n){if(console.log(n.gridCell),n.excelCell&&(n.excelCell.column=n.excelCell.column||{},n.excelCell.column.width=200,n.excelCell.border={top:{style:"thin",color:{argb:"FF000000"}},left:{style:"thin",color:{argb:"FF000000"}},bottom:{style:"thin",color:{argb:"FF000000"}},right:{style:"thin",color:{argb:"FF000000"}}}),"header"===n.gridCell.rowType&&(n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFA9D08E"}}),"group"===n.gridCell.rowType)n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFDDDDDD"}};else if("totalFooter"===n.gridCell.rowType)n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFC27BA0"}};else{n.gridCell%2===0&&(n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:{argb:"FFDDDDDD"}}),n.excelRow?n.excelRow.height=10:n.excelCell.fill={type:"pattern",pattern:"solid",fgColor:"FFFFFFFF"}}}}).then(()=>{t.xlsx.writeBuffer().then(n=>{s()(new Blob([n],{type:"application/octet-stream"}),`${i}.xlsx`)})}),n.cancel=!0},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/excel-icon.png",alt:"",className:"option-icon"}),"Excel"]})}),(0,p.jsx)("li",{className:"text-lg cousor-pointer rounded haver:bg-blue-100",children:(0,p.jsxs)(r.A,{color:"link",className:"border-0",onClick:()=>{const n=new o.Ay("l","mm",[590,330]),e=a.current.instance;(0,c.VL)({jsPDFDocument:n,component:e,createDocumentMethod:n=>new o.Ay(n),landscape:!0,format:"a4",exportMode:"all"}).then(()=>{n.save(`${i}.pdf`),n.setFontSize(2),n.setTextColor("#cccccc")})},children:[" ",(0,p.jsx)("img",{src:"/img/newimages/pdf-icon.png",alt:" ",className:"option-icon"}),"Pdf"]})})]})})]})})})})};i.d(a,["default",0,g])},90234(n,a,i){const e=()=>{const n=localStorage.getItem("user");return null===n?(window.location.href="/auth/login",!0):JSON.parse(n)};i.d(a,["A",0,e])},74882(n,a,i){i.r(a);var e=i(65043),l=i(13966),r=i(632),t=i(26259),s=i(40541),d=i(58280),o=i(63405),c=i(78561),p=i(75139),g=i(26893),x=i(9984),m=i(23979),b=i(19438),y=i(67439),h=i(30411),u=i(79456),v=i(56727),f=i(5479),k=i(90234),j=i(88055),w=i(19886),N=i(70579);const C=[{value:0,text:"Parking Location"},{value:1,text:"Parking Package"}],A=[50,100,500,"all"],S=n=>{if(!n)return"";const a=new Date(n);return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")}`},E=()=>{const n=new Date;return n.setDate(n.getDate()+9),n},D=()=>{const n=(0,u.wA)(),a=(0,e.useRef)(null),i=(0,k.A)(),{companyId:D}=i||{},[F,z]=(0,e.useState)(new Date),[I,P]=(0,e.useState)(E()),[M,O]=(0,e.useState)(0),[L,T]=(0,e.useState)("-2"),[V,R]=(0,e.useState)("-2"),[G,B]=(0,e.useState)([]),[$,H]=(0,e.useState)([]),[U,W]=(0,e.useState)([]),[_,Z]=(0,e.useState)(!1),X=(i,e,l,r,t)=>{const s=void 0===i?F:i,d=void 0===e?I:e,o=void 0===l?M:l,c=void 0===r?L:r,p=void 0===t?V:t;if(!s||!d)return;const g={startDate:`${S(s)}T00:00:00.000Z`,endDate:`${S(d)}T23:59:00.000Z`,companyId:D,parkingId:0===o?c:p},x=0===o?"ParkLocation":"ParkPackage";Z(!0),n((0,v.HE)({passData:g,commandType:x})).then(n=>{const i=Array.isArray(null===n||void 0===n?void 0:n.payload)?n.payload:[];W(i),a.current&&a.current.instance.clearSelection()}).catch(n=>{console.log(n)}).finally(()=>{Z(!1)})};(0,e.useEffect)(()=>{const a=new Date,i=E(),e={startDate:`${S(a)}T00:00:00.000Z`,endDate:`${S(i)}T23:59:00.000Z`,companyId:D,parkingId:"-2"};Z(!0),Promise.all([n((0,f.Py)({Data:{companyId:D,status:1,parkingLocationId:0}})),n((0,v.Wf)({Data:{companyId:D,status:1}})),n((0,v.HE)({passData:e,commandType:"ParkLocation"}))]).then(n=>{let[a,i,e]=n;const l=Array.isArray(null===a||void 0===a?void 0:a.payload)?[...a.payload]:[];l.sort((n,a)=>String(n.locationName||"").localeCompare(String(a.locationName||""))),B(l);const r=Array.isArray(null===i||void 0===i?void 0:i.payload)?[...i.payload]:[];r.sort((n,a)=>String(n.parkingTypeName||"").localeCompare(String(a.parkingTypeName||""))),H(r),W(Array.isArray(null===e||void 0===e?void 0:e.payload)?e.payload:[])}).catch(n=>{console.log(n)}).finally(()=>{Z(!1)})},[D,n]);const Y=U.length,J=(0,e.useMemo)(()=>U.reduce((n,a)=>n+(Number(a.checkInCount)||0),0),[U]),K=(0,e.useMemo)(()=>U.reduce((n,a)=>n+(Number(a.checkInGuestCount)||0),0),[U]),q=(0,e.useMemo)(()=>U.reduce((n,a)=>n+(Number(a.checkOutCount)||0),0),[U]),Q=(0,e.useMemo)(()=>U.reduce((n,a)=>n+(Number(a.checkOutGuestCount)||0),0),[U]),nn=((n,a)=>
1{if(!n||!a)return 0;const i=new Date(n),e=new Date(a);i.setHours(0,0,0,0),e.setHours(0,0,0,0);const l=e.getTime()-i.getTime();return Math.floor(l/864e5)+1})(F,I),an=(new Date).toLocaleString("en-US",{hour12:!0}),en=F?new Date(F).toLocaleDateString("en-US",{day:"2-digit",month:"short",year:"numeric"}):"",ln=I?new Date(I).toLocaleDateString("en-US",{day:"2-digit",month:"short",year:"numeric"}):"",rn=0===M?"Parking Location":"Parking Package";return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(j.default,{grid:a,name:`Parking Availability_${en}_to_${ln} ${an}`}),(0,N.jsxs)("div",{className:"parking-availability-page",children:[(0,N.jsxs)("div",{className:"parking-availability-header",children:[(0,N.jsxs)("div",{className:"parking-availability-heading",children:[(0,N.jsx)("div",{className:"parking-availability-heading-icon",children:(0,N.jsx)(m.A,{size:22})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h3",{children:"Parking Availability"}),(0,N.jsx)("p",{children:"Review incoming and outgoing vehicles, occupancy and available parking capacity."})]})]}),(0,N.jsxs)("div",{className:"parking-availability-header-summary",children:[(0,N.jsxs)("div",{className:"parking-availability-header-stat",children:[(0,N.jsx)(o.A,{size:13}),(0,N.jsx)("span",{children:"Days"}),(0,N.jsx)("strong",{children:Y})]}),(0,N.jsxs)("div",{className:"parking-availability-header-stat",children:[(0,N.jsx)(g.A,{size:13}),(0,N.jsx)("span",{children:"Incoming"}),(0,N.jsx)("strong",{children:J})]}),(0,N.jsxs)("div",{className:"parking-availability-header-stat",children:[(0,N.jsx)(x.A,{size:13}),(0,N.jsx)("span",{children:"Outgoing"}),(0,N.jsx)("strong",{children:q})]})]})]}),(0,N.jsxs)("div",{className:"parking-availability-section",children:[(0,N.jsxs)("div",{className:"parking-availability-section-header",children:[(0,N.jsxs)("div",{className:"parking-availability-section-title",children:[(0,N.jsx)("div",{className:"parking-availability-section-icon",children:(0,N.jsx)(y.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:"Availability Search"}),(0,N.jsx)("span",{children:"Select parking mode, date range and location or package."})]})]}),(0,N.jsxs)("div",{className:"parking-availability-date-badge",children:[(0,N.jsx)(o.A,{size:12}),F?en:"-",(0,N.jsx)(s.A,{size:11}),I?ln:"-"]})]}),(0,N.jsxs)("div",{className:"parking-availability-section-body",children:[(0,N.jsxs)("div",{className:"parking-availability-mode-row",children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"Availability By"}),(0,N.jsx)(l.z6,{dataSource:C,layout:"horizontal",valueExpr:"value",displayExpr:"text",value:M,className:"parking-availability-radio",onValueChanged:n=>{const{value:a}=n;O(a)}})]}),(0,N.jsxs)("span",{className:"parking-availability-mode-badge",children:[(0,N.jsx)(m.A,{size:12}),rn]})]}),(0,N.jsxs)("div",{className:"parking-availability-search-grid",children:[(0,N.jsxs)("div",{className:"parking-availability-field",children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"From Date"}),(0,N.jsx)(l.Iy,{type:"date",value:F,displayFormat:"EEEE, MMM dd, yyyy",showClearButton:!0,applyValueMode:"instantly",openOnFieldClick:!0,className:"parking-availability-input",onValueChanged:n=>{const{value:a}=n;a?(z(a),(!I||a>I)&&P(a)):z(null)}})]}),(0,N.jsxs)("div",{className:"parking-availability-field",children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"To Date"}),(0,N.jsx)(l.Iy,{type:"date",value:I,min:F,displayFormat:"EEEE, MMM dd, yyyy",showClearButton:!0,applyValueMode:"instantly",openOnFieldClick:!0,className:"parking-availability-input",onValueChanged:n=>{const{value:a}=n;P(a?F&&a<F?F:a:null)}})]}),(0,N.jsxs)("div",{className:"parking-availability-field",children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"Duration"}),(0,N.jsx)(l.fI,{value:`${nn} ${1===nn?"day":"days"}`,readOnly:!0,className:"parking-availability-input parking-availability-duration"})]}),0===M&&(0,N.jsxs)("div",{className:"parking-availability-field",children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"Parking Location"}),(0,N.jsx)(l.aL,{dataSource:G,displayExpr:"locationName",valueExpr:"parkingLotId",value:L,placeholder:"ALL",showClearButton:!0,searchEnabled:!0,className:"parking-availability-input",onValueChanged:n=>{const{value:a}=n;T(null===a||void 0===a?"-2":a)}})]}),1===M&&(0,N.jsxs)("div",{className:"parking-availability-field",children:[(0,N.jsx)("div",{className:"parking-availability-field-label",children:"Parking Package"}),(0,N.jsx)(l.aL,{dataSource:$,displayExpr:"parkingTypeName",valueExpr:"parkingTypeId",value:V,placeholder:"ALL",showClearButton:!0,searchEnabled:!0,className:"parking-availability-input",onValueChanged:n=>{const{value:a}=n;R(null===a||void 0===a?"-2":a)}})]}),(0,N.jsxs)("div",{className:"parking-availability-search-actions",children:[(0,N.jsxs)(t.A,{type:"button",className:"parking-availability-reset-btn",onClick:()=>{const n=new Date,a=E();z(n),P(a),O(0),T("-2"),R("-2"),X(n,a,0,"-2","-2")},children:[(0,N.jsx)(b.A,{size:14}),"Reset"]}),(0,N.jsxs)(t.A,{type:"button",className:"parking-availability-search-btn",onClick:()=>{X()},children:[(0,N.jsx)(y.A,{size:14}),"Search"]})]})]})]})]}),(0,N.jsxs)("div",{className:"parking-availability-section",children:[(0,N.jsx)("div",{className:"parking-availability-section-header",children:(0,N.jsxs)("div",{className:"parking-availability-section-title",children:[(0,N.jsx)("div",{className:"parking-availability-section-icon",children:(0,N.jsx)(d.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:"Availability Summary"}),(0,N.jsx)("span",{children:"Totals for the currently displayed date range."})]})]})}),(0,N.jsx)("div",{className:"parking-availability-section-body",children:(0,N.jsxs)("div",{className:"parking-availability-summary-grid",children:[(0,N.jsxs)("div",{className:"parking-availability-summary-card",children:[(0,N.jsx)("div",{className:"parking-availability-summary-icon",children:(0,N.jsx)(o.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Days"}),(0,N.jsx)("strong",{children:Y})]})]}),(0,N.jsxs)("div",{className:"parking-availability-summary-card",children:[(0,N.jsx)("div",{className:"parking-availability-summary-icon",children:(0,N.jsx)(g.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Incoming Vehicles"}),(0,N.jsx)("strong",{children:J})]})]}),(0,N.jsxs)("div",{className:"parking-availability-summary-card",children:[(0,N.jsx)("div",{className:"parking-availability-summary-icon",children:(0,N.jsx)(h.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Incoming Guests"}),(0,N.jsx)("strong",{children:K})]})]}),(0,N.jsxs)("div",{className:"parking-availability-summary-card",children:[(0,N.jsx)("div",{className:"parking-availability-summary-icon",children:(0,N.jsx)(x.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Outgoing Vehicles"}),(0,N.jsx)("strong",{children:q})]})]}),(0,N.jsxs)("div",{className:"parking-availability-summary-card",children:[(0,N.jsx)("div",{className:"parking-availability-summary-icon",children:(0,N.jsx)(h.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:"Outgoing Guests"}),(0,N.jsx)("strong",{children:Q})]})]})]})})]}),(0,N.jsxs)("div",{className:"parking-availability-section",children:[(0,N.jsxs)("div",{className:"parking-availability-section-header",children:[(0,N.jsxs)("div",{className:"parking-availability-section-title",children:[(0,N.jsx)("div",{className:"parking-availability-section-icon",children:(0,N.jsx)(p.A,{size:16})}),(0,N.jsxs)("div",{children:[(0,N.jsx)("h5",{children:"Parking Availability Details"}),(0,N.jsx)("span",{children:"Daily vehicle movement and parking c
1apacity."})]})]}),(0,N.jsx)("div",{className:"parking-availability-grid-actions",children:(0,N.jsxs)(t.A,{type:"button",className:"parking-availability-tool-btn",onClick:()=>{a.current&&a.current.instance.clearFilter()},children:[(0,N.jsx)(c.A,{size:14}),"Clear Filters"]})})]}),(0,N.jsx)("div",{className:"parking-availability-grid-wrapper",children:(0,N.jsxs)(r.Ay,{id:"ParkingAvailabilityGrid",ref:a,dataSource:U,showBorders:!0,showRowLines:!0,showColumnLines:!1,hoverStateEnabled:!0,remoteOperations:!1,allowColumnResizing:!0,columnResizingMode:"widget",columnAutoWidth:!0,allowColumnReordering:!0,columnHidingEnabled:!1,loadPanel:{enabled:!1},className:"parking-availability-grid",children:[(0,N.jsx)(r.i8,{enabled:!0}),(0,N.jsx)(r.uh,{visible:!0}),(0,N.jsx)(r.aU,{contextMenuEnabled:!0}),(0,N.jsx)(r.XD,{visible:!0,showClearButton:!0}),(0,N.jsx)(r.cl,{mode:"standard",rowRenderingMode:"standard",useNative:!0}),(0,N.jsx)(r.lK,{defaultPageSize:100}),(0,N.jsx)(r.is,{allowedPageSizes:A,showPageSizeSelector:!0,showInfo:!0,visible:!0,displayMode:"compact"}),(0,N.jsx)(r.VP,{dataField:"date",caption:"DATE",dataType:"date",format:"EEEE, MMM dd, yyyy",alignment:"center",width:175,minWidth:165}),(0,N.jsx)(r.VP,{dataField:"checkInCount",caption:"INCOMING VEHICLES",alignment:"center",width:145,minWidth:140}),(0,N.jsx)(r.VP,{dataField:"checkInGuestCount",caption:"INCOMING GUESTS",alignment:"center",width:140,minWidth:135}),(0,N.jsx)(r.VP,{dataField:"checkOutCount",caption:"OUTGOING VEHICLES",alignment:"center",width:150,minWidth:145}),(0,N.jsx)(r.VP,{dataField:"checkOutGuestCount",caption:"OUTGOING GUESTS",alignment:"center",width:140,minWidth:135}),(0,N.jsx)(r.VP,{dataField:"lotCount",caption:"VEHICLES IN LOT",alignment:"center",width:130,minWidth:125}),(0,N.jsx)(r.VP,{dataField:"over_underCount",caption:"AVAILABLE",alignment:"center",width:105,minWidth:100,cellRender:n=>{const{over_underCount:a}=n.data,i=Number(a)||0;return(0,N.jsx)("span",{className:i<=0?"parking-availability-value full":"parking-availability-value available",children:i})}}),(0,N.jsx)(r.VP,{dataField:"maxSpaces",caption:"MAX SPACES",alignment:"center",width:110,minWidth:105})]})})]})]}),(0,N.jsx)(w.A,{isVisible:_}),(0,N.jsx)("style",{children:'\n\n        /* =====================================================\n           PAGE\n        ====================================================== */\n\n        .parking-availability-page {\n          overflow: hidden;\n          margin-bottom: 25px;\n          color: #293b47;\n          background: #ffffff;\n          border: 1px solid #dce3e8;\n          border-radius: 10px;\n          box-shadow:\n            0 1px 2px rgba(16,24,40,.025),\n            0 4px 10px rgba(16,24,40,.035);\n          font-family:\n            "Segoe UI",\n            -apple-system,\n            BlinkMacSystemFont,\n            "Helvetica Neue",\n            Arial,\n            sans-serif;\n        }\n\n\n        /* =====================================================\n           HEADER\n        ====================================================== */\n\n        .parking-availability-header {\n          display: flex;\n          align-items: center;\n          justify-content: space-between;\n          gap: 14px;\n          padding: 14px 16px;\n          background: linear-gradient(105deg, #1565c0 0%, #00897b 55%, #43a047 100%);\n          border-bottom: 1px solid rgba(0,0,0,.08);\n        }\n\n\n        .parking-availability-heading {\n          display: flex;\n          align-items: center;\n          gap: 10px;\n        }\n\n\n        .parking-availability-heading-icon {\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          width: 42px;\n          height: 42px;\n          flex-shrink: 0;\n          color: #ffffff;\n          background: rgba(255,255,255,.14);\n          border: 1px solid rgba(255,255,255,.17);\n          border-radius: 7px;\n        }\n\n\n        .parking-availability-heading h3 {\n          margin: 0;\n          color: #ffffff;\n          font-size: 19px;\n          font-weight: 700;\n        }\n\n\n        .parking-availability-heading p {\n          margin: 3px 0 0;\n          color: #e4ebef;\n          font-size: 12px;\n        }\n\n\n        .parking-availability-header-summary {\n          display: flex;\n          align-items: center;\n          gap: 7px;\n          flex-wrap: wrap;\n          justify-content: flex-end;\n        }\n\n\n        .parking-availability-header-stat {\n          display: flex;\n          align-items: center;\n          gap: 5px;\n          padding: 6px 9px;\n          color: #ffffff;\n          background: rgba(255,255,255,.13);\n          border: 1px solid rgba(255,255,255,.18);\n          border-radius: 15px;\n          font-size: 11px;\n        }\n\n\n        .parking-availability-header-stat strong {\n          font-size: 12px;\n          font-weight: 700;\n        }\n\n\n        /* =====================================================\n           SECTION\n        ====================================================== */\n\n        .parking-availability-section {\n          overflow: hidden;\n          margin: 11px 12px;\n          background: #ffffff;\n          border: 1px solid #dce3e8;\n          border-radius: 8px;\n        }\n\n\n        .parking-availability-section-header {\n          display: flex;\n          align-items: center;\n          justify-content: space-between;\n          gap: 10px;\n          padding: 8px 10px;\n          background: linear-gradient(90deg, #f1f8ff 0%, #eefaf7 100%);\n          border-bottom: 1px solid #d6e8e5;\n        }\n\n\n        .parking-availability-section-title {\n          display: flex;\n          align-items: center;\n          gap: 8px;\n          min-width: 0;\n        }\n\n\n        .parking-availability-section-icon {\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          width: 33px;\n          height: 33px;\n          flex-shrink: 0;\n          color: #087f89;\n          background: #e2f5f3;\n          border-radius: 6px;\n        }\n\n\n        .parking-availability-section-title h5 {\n          margin: 0;\n          color: #364b58;\n          font-size: 14px;\n          font-weight: 700;\n        }\n\n\n        .parking-availability-section-title span {\n          display: block;
1\n          margin-top: 1px;\n          color: #83909a;\n          font-size: 10.5px;\n        }\n\n\n        .parking-availability-section-body {\n          padding: 10px;\n        }\n\n\n        /* =====================================================\n           MODE\n        ====================================================== */\n\n        .parking-availability-mode-row {\n          display: flex;\n          align-items: flex-end;\n          justify-content: space-between;\n          gap: 10px;\n          margin-bottom: 10px;\n          padding-bottom: 10px;\n          border-bottom: 1px solid #edf0f2;\n        }\n\n\n        .parking-availability-radio {\n          padding: 7px 9px;\n          background: #f8fafb;\n          border: 1px solid #dce3e8;\n          border-radius: 6px;\n        }\n\n\n        .parking-availability-radio\n        .dx-radiobutton {\n          margin-right: 18px;\n        }\n\n\n        .parking-availability-mode-badge,\n        .parking-availability-date-badge {\n          display: inline-flex;\n          align-items: center;\n          gap: 5px;\n          padding: 5px 8px;\n          color: #5a7180;\n          background: #edf3f6;\n          border: 1px solid #d7e2e8;\n          border-radius: 14px;\n          font-size: 10.5px;\n          font-weight: 650;\n          white-space: nowrap;\n        }\n\n\n        /* =====================================================\n           SEARCH\n        ====================================================== */\n\n        .parking-availability-search-grid {\n          display: grid;\n          grid-template-columns:\n            minmax(0,1fr)\n            minmax(0,1fr)\n            135px\n            minmax(200px,1fr)\n            auto;\n          gap: 10px;\n          align-items: end;\n        }\n\n\n        .parking-availability-field {\n          min-width: 0;\n        }\n\n\n        .parking-availability-field-label {\n          margin-bottom: 5px;\n          color: #364b58;\n          font-size: 12.5px;\n          font-weight: 650;\n        }\n\n\n        .parking-availability-input {\n          background: #ffffff;\n          border: 1px solid #d3dce4;\n          border-radius: 6px;\n        }\n\n\n        .parking-availability-input\n        .dx-texteditor-input {\n          min-height: 39px;\n          color: #293b47 !important;\n          font-size: 13px !important;\n        }\n\n\n        .parking-availability-duration\n        .dx-texteditor-input {\n          text-align: center;\n          font-weight: 650;\n        }\n\n\n        .parking-availability-search-actions {\n          display: flex;\n          gap: 7px;\n        }\n\n\n        .parking-availability-reset-btn,\n        .parking-availability-search-btn {\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          gap: 6px;\n          height: 39px;\n          padding: 0 12px;\n          border-radius: 6px;\n          font-size: 12px;\n          font-weight: 650;\n          white-space: nowrap;\n        }\n\n\n        .parking-availability-reset-btn {\n          color: #586b78;\n          background: #ffffff;\n          border: 1px solid #d3dce3;\n        }\n\n\n        .parking-availability-search-btn {\n          color: #ffffff;\n          background: linear-gradient(100deg, #1565c0, #00897b);\n          border: 1px solid #087f87;\n        }\n\n\n        /* =====================================================\n           SUMMARY\n        ====================================================== */\n\n        .parking-availability-summary-grid {\n          display: grid;\n          grid-template-columns:\n            repeat(5,minmax(0,1fr));\n          gap: 7px;\n        }\n\n\n        .parking-availability-summary-card {\n          display: flex;\n          align-items: center;\n          gap: 8px;\n          min-width: 0;\n          padding: 9px;\n          background: #f8fafb;\n          border: 1px solid #dce3e8;\n          border-radius: 7px;\n        }\n\n\n        .parking-availability-summary-icon {\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          width: 32px;\n          height: 32px;\n          flex-shrink: 0;\n          color: #58748a;\n          background: #e7eef2;\n          border-radius: 6px;\n        }\n\n\n        .parking-availability-summary-card span {\n          display: block;\n          overflow: hidden;\n          color: #82909a;\n          font-size: 9.5px;\n          text-overflow: ellipsis;\n          white-space: nowrap;\n        }\n\n\n        .parking-availability-summary-card strong {\n          display: block;\n          margin-top: 2px;\n          color: #3d5360;\n          font-size: 13px;\n          font-weight: 700;\n        }\n\n\n        /* =====================================================\n           GRID ACTIONS\n        ====================================================== */\n\n        .parking-availability-grid-actions {\n          display: flex;\n          align-items: center;\n          justify-content: flex-end;\n        }\n\n\n        .parking-availability-tool-btn {\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          gap: 5px;\n          height: 31px;\n          padding: 0 9px;\n          color: #586d7a;\n          background: #ffffff;\n          border: 1px solid #d2dce3;\n          border-radius: 6px;\n          font-size: 10.5px;\n          font-weight: 650;\n        }\n\n\n        /* =====================================================\n           GRID\n        ====================================================== */\n\n        .parking-availability-grid-wrapper {\n          padding: 7px;\n          overflow-x: auto;\n        }\n\n\n        .parking-availability-grid {\n          font-size: 12px;\n        }\n\n\n        .parking-availability-grid\n        .dx-datagrid-headers {\n          color: #455765;\n          background: #f4f7f9;\n          font-size: 11.5px;\n          font-weight: 700;\n        }\n\n\n        .parking-availability-grid\n        .dx-header-row > td {\n          padding-top: 8px;\n          padding-bottom: 8px;\n        }\n\n\n        .parking-availability-grid\n        .dx-data-row > td {\n          padding-top: 8px;\n          padding-bottom: 8px;\n          color: #445864;\n          font-size: 11.8px;\n        }\n\n\n        .parking-availability-grid\n        .dx-filter-row\n        .dx-texteditor-input {\n          min-height: 32px;\n          font-size: 11.5px !important;\n        }\n\n\n        .parking-availability-grid\n        .dx-group-panel {\n          margin-bottom: 5px;\n          padding: 5px 7px;\n          background: #fafbfc;\n          border: 1px dashed #d6dfe5;\n          border-radius: 6px;\n        }\n\n\n        /* =====================================================\n           AVAILABLE\n        ====================================================== */\n\n        .parking-availability-value {\n          display: inline-flex;\n          align-items: center;\n          justify-content: center;\n          min-width: 45px;\n          padding: 4px 8px;\n          border-radius: 12px;\n          font-size: 10.5px;\n          font-weight: 700;\n        }\n\n\n        .parking-availability-value.available {\n          color: #39714c;\n          background: #e9f5ed;\n          border: 1px solid #c9e4d1;\n        }\n\n\n        .parking-availability-value.full {\n          color: #a04b4b;\n          background: #f9eded;\n          border: 1px solid #edcccc;\n        }\n\n\n        /* =====================================================\n           DEVEXTREME\n        ====================================================== */\n\n        .parking-availability-page\n        .dx-widget {\n          font-family:\n            "Segoe UI",\n            -apple-system,\n            BlinkMacSystemFont,\n            "Helvetica Neue",\n            Arial,\n            sans-serif;\n        }\n\n\n        /* =====================================================\n           COLORFUL PROFESSIONAL OVERRIDES\n        ====================================================== */\n\n        .parking-availability-heading p {\n          color: rgba(255,255,255,.86);\n        }\n\n        .parking-availability-section {\n          box-shadow: 0 2px 8px rgba(32,74,96,.035);\n        }\n\n        .parking-availability-mode-badge,\n        .parking-availability-date-badge {\n          color: #087f78;\n          background: #f0faf8;\n          border-color: #cbe8e1;\n        }\n\n        .parking-availability-radio {\n          background: linear-gradient(90deg, #f8fbff 0%, #f7fcfa 100%);\n        }\n\n        .parking-availability-input.dx-state-focused {\n          border-color: #1594a3;\n          box-shadow: 0 0 0 2px rgba(21,148,163,.10);\n        }\n\n        .parking-availability-summary-card {\n          background: linear-gradient(135deg, #ffffff 0%, #f7fbfa 100%);\n          border-color: #d7e7e3;\n        }\n\n        .parking-availability-summary-icon {\n          color: #1565c0;\n          background: #eaf4ff;\n        }\n\n        .parking-availability-summary-card:nth-child(2) .parking-availability-summary-icon,\n        .parking-availability-summary-card:nth-child(3) .parking-availability-summary-icon {\n          color: #087f78;\n          background: #e7f7f3;\n        }\n\n        .parking-availability-summary-card:nth-child(4) .parking-availability-summary-icon,\n        .parking-availability-summary-card:nth-child(5) .parking-availability-summary-icon {\n          color: #2f7b45;\n          background: #ebf7ee;\n        }\n\n        .parking-availability-summary-card strong {\n          color: #185d82;\n        }\n\n        .parking-availability-search-btn:hover {\n          background: linear-gradient(100deg, #0d57aa, #00766c);\n          border-color: #08736f;\n        }\n\n        .parking-availability-tool-btn:hover {\n          color: #087f78;\n          background: #f0faf8;\n          border-color: #bcded7;\n        }\n\n        .parking-availability-grid .dx-datagrid-headers {\n          color: #244a62;\n          background: #edf7fb;\n          border-top: 2px solid #1594a3;\n        }\n\n        .parking-availability-grid\n        .dx-datagrid-headers\n        .dx-datagrid-text-content {\n          white-space: nowrap;\n          overflow: visible;\n          text-overflow: clip;\n        }\n\n        .parking-availability-grid\n        .dx-data-row.dx-state-hover > td,\n        .parking-availability-grid\n        .dx-data-row:hover > td {\n          background: #f0faf9 !important;\n        }\n\n        .parking-availability-grid\n        .dx-group-panel {\n          background: linear-gradient(90deg, #f6faff 0%, #f3faf8 100%);\n        }\n\n        .parking-availability-value.available {\n          color: #13765a;\n          background: #e8f7f0;\n          border-color: #c4e8d7;\n        }\n\n        .parking-availability-value.full {\n          color: #a34848;\n          background: #fff0f0;\n          border-color: #efcece;\n        }\n\n        /* =====================================================\n           RESPONSIVE\n        ====================================================== */\n\n        @media (max-width: 1300px) {\n\n          .parking-availability-search-grid {\n            grid-template-columns:\n              repeat(2,minmax(0,1fr));\n          }\n\n\n          .parking-availability-summary-grid {\n            grid-template-columns:\n              repeat(3,minmax(0,1fr));\n          }\n\n        }\n\n\n        @media (max-width: 991px) {\n\n          .parking-availability-header,\n          .parking-availability-section-header {\n            align-items: flex-start;\n            flex-direction: column;\n          }\n\n\n          .parking-availability-header-summary {\n            width: 100%;\n            justify-content: flex-start;\n          }\n\n\n          .parking-availability-mode-row {\n            align-items: flex-start;\n            flex-direction: column;\n          }\n\n        }\n\n\n        @media (max-width: 767px) {\n\n          .parking-availability-search-grid {\n            grid-template-columns: 1fr;\n          }\n\n\n          .parking-availability-search-actions {\n            width: 100%;\n          }\n\n\n          .parking-availability-reset-btn,\n          .parking-availability-search-btn {\n            flex: 1;\n          }\n\n\n          .parking-availability-date-badge {\n            display: none;\n          }\n\n\n          .parking-availability-summary-grid {\n            grid-template-columns:\n              repeat(2,minmax(0,1fr));\n          }\n\n\n          .parking-availability-radio {\n            width: 100%;\n          }\n\n        }\n\n\n        @media (max-width: 520px) {\n\n          .parking-availability-summary-grid {\n            grid-template-columns: 1fr;\n          }\n\n        }\n\n        '})]})};i.d(a,["default",0,D])}}]);
2//# sourceMappingURL=4882.c7df7572.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.