PageSourceSearch

https://www.tablemountain.net/assets/operating-hours-5f65a3ea.js

js tablemountain.net collected 2026-10-02 05:36:48 UTC 6,193 bytes, 107 lines download raw bytes

1import{j as c}from"./index-a0b40a37.js";import{u as S,L as x,S as I,C as N,e as E,T as O,g as R,U as _,j as b,k as A,l as U,m as w,n as D,Q as j,o as H,b as $}from"./patterns-triangles_greenyellow-efaee763.js";import{S as v}from"./Seo-6e0bf47a.js";import{B as C}from"./Banner-3daef76c.js";import{S as M}from"./SeasonalHours-b85aa1ab.js";import{b as G}from"./breadcrumb-adc274ac.js";const B=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];function k(e){const n=B.indexOf(e.trim().toLowerCase().slice(0,3));return n===-1?null:n}function P(e){if(!e)return null;const n=e.split("-").map(s=>s.trim());if(n.length!==2)return null;const r=s=>{const i=s.match(/^(\d{1,2})\s+([A-Za-z]+)$/);if(!i)return null;const l=parseInt(i[1],10),a=k(i[2]);return a===null||!l?null:{day:l,month:a}},t=r(n[0]),o=r(n[1]);return t&&o?{start:t,end:o}:null}function K(e,n,r){const t=Date.UTC(r.getFullYear(),r.getMonth(),r.getDate()),o=r.getFullYear(),s=[o-1,o,o+1].map(a=>{const u=Date.UTC(a,e.month,e.day),m=n.month<e.month||n.month===e.month&&n.day<e.day,d=Date.UTC(m?a+1:a,n.month,n.day);return{validFrom:u,validThrough:d}}),i=s.find(a=>t>=a.validFrom&&t<=a.validThrough);return i||s.filter(a=>a.validFrom>t).sort((a,u)=>a.validFrom-u.validFrom)[0]||s[s.length-1]}function p(e){return new Date(e).toISOString().slice(0,10)}function h(e){const n=e==null?void 0:e.match(/^(\d{1,2})h(\d{2})$/i);return n?`${n[1].padStart(2,"0")}:${n[2]}`:null}function Y(e=[],n=new Date){const r=e.flatMap(t=>t.hours||[]).map(t=>{const o=h(t.firstCarUp),s=h(t.lastCarDown);if(!o||!s)return null;const i={"@type":"OpeningHoursSpecification",opens:o,closes:s},l=P(t.dates);if(l){const{validFrom:a,validThrough:u}=K(l.start,l.end,n);i.validFrom=p(a),i.validThrough=p(u)}return i}).filter(Boolean);return r.length>0?{openingHoursSpecification:r}:{}}const f=(e="",n=54)=>e.length>n?`${e.substring(0,n)}…`:e;function J(){const{loading:e,error:n,data:r}=S(L);if(e)return c.jsx("p",{});if(n)return c.jsxs("p",{children:["Error : ",n.message]});const t=r.planYourVisitEntries[0],{siteInfo:o}=r,s=t.subtitle||o.siteTitle,[i]=o.siteImage,[l=i]=t.featureImage,a=l||t.metaImage||o.siteImage,u=f((t.metaDescription||t.summary||o.siteDescription).replace(/(<([^>]+)>)/gi,""),159),m=f(`${t.metaTitle||t.displayTitle||t.title}`,53),d=t.metaKeywords||o.siteKeywords||null,T=`${a.url}`,y=Y(t.seasonalHours),g="/plan-your-visit/operating-hours",F=G([{name:"Home",path:"/"},{name:"Operating Hours",path:g}]);return c.jsxs(x,{location:t.url,title:m,children:[c.jsx(v,{title:m,description:u,keywords:d,image:T,url:t.url,pathname:g,organizationExtensions:y,structuredData:F}),c.jsx("h1",{style:{fontSize:0,color:"transparent"},className:"sr-only",children:m}),l&&c.jsx(C,{block:{variation:"secondary",slides:[{title:s,subtitle:t.title,image:[l]}]}}),c.jsx(I,{id:"hours",bg:"blue-dark",text:"white",className:"relative",p:"0",children:c.jsxs(N,{className:"py-14 lg:py-20 w-full xl:w-3/4",children:[c.jsx(E,{text:"secondary",level:3,font:"heading",className:"text-secondary font-heading",children:"Operating Hours"}),c.jsx(O,{is:"p",className:"pb-6",children:"The cable car operates - weather permitting - during the following times:"}),c.jsx(M,{block:t.seasonalHours})]})})]})}const L=R`
2    query getOperatingHoursData {
3        planYourVisitEntries {
4            ... on singlePlanYourVisit_Entry {
5                id
6                uri
7                url
8                title
9                subtitle
10                summary
11                featureImage {
12                    ...UploadAssetFragment
13                }
14                displayTitle
15                metaTitle
16                metaDescription
17                metaKeywords
18                metaImage {
19                    ...UploadAssetFragment
20                }
21                journey {
22                    ... on step_Entry {
23                        id
24                        heading
25                        image {
26                            ...UploadAssetFragment
27                        }
28                        icon {
29                            url
30                        }
31                        iconBackgroundColour
32                        text
33                    }
34                }
35                introductionRow {
36                    ...IntroductionRow
37                }
38                applicableDates
39                applicableDatesNew
40                infoRow {
41                    ...InfoRowFragment
42                }
43                infoRowNew {
44                    ...InfoRowNewFragment
45                }
46                additionalText
47                seasonalHours {
48                    ...SeasonalHoursFragment
49                }
50                yellowContentSlider {
51                    ... on slide_Entry {
52                        heading
53                        image {
54                            ...UploadAssetFragment
55                        }
56                        text
57                        buttonText
58                        buttonUrl
59                        relatedEntry {
60                            uri
61                        }
62                    }
63                }
64                quickTips {
65                    ...QuickTipsFragment
66                }
67                headingMatrix {
68                    ... on matrixHeading_Entry {
69                        id
70                        text8
71                    }
72                }
73                accordion {
74                    ... on accordionRow_Entry {
75                        id
76                        heading
77                        text
78                    }
79                }
80                imageOnly {
81                    ...UploadAssetFragment
82                }
83                richText
84                buttons {
85                    ...ButtonsFragment
86                }
87                signUpBanner {
88                    ...SignUpBannerFragment
89                }
90            }
91        }
92        siteInfo: globalSet(handle: "siteInformation") {
93            ...SiteInfoFragment 
94        }   
95    }
96
97    ${_}
98    ${b}
99    ${A}
100    ${U}
101    ${w}
102    ${D}
103    ${j}
104    ${H}
105    ${$}
106`;export{J as OperatingHours};
107//# sourceMappingURL=operating-hours-5f65a3ea.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.