PageSourceSearch

https://runforcharity.com/8634.1faaa4fee8b16522.js?rfc=c7b44c7568da14cf43e637e2ccaa0bd2b4d2e50e

js runforcharity.com collected 2026-10-03 20:14:40 UTC 15,602 bytes, 246 lines download raw bytes

1"use strict";
2
3(self.webpackChunkrunforcharity = self.webpackChunkrunforcharity || []).push([[8634], {
4  9783: (R, u, n) => {
5    n.d(u, {
6      K: () => e
7    });
8    var s = n(4438),
9      g = n(177);
10    const P = [[["", "banner_content", ""]]],
11      l = ["[banner_content]"],
12      p = d => ({
13        "background-image": d
14      }),
15      h = () => ({
16        "min-height": "inherit"
17      });
18    let e = (() => {
19      var d;
20      class O {
21        constructor() {
22          this.allowMaxHeight = !0;
23        }
24        ngOnInit() {
25          var m, i, f, C;
26          this.mobileImage = null !== (m = null === (i = this.responsiveBannerImages) || void 0 === i ? void 0 : i.mobile) && void 0 !== m ? m : this.bannerImage;
27          const j = window.innerWidth;
28          var b, M;
29          if (this.backgroundImage = "url(".concat(null !== (f = null === (C = this.responsiveBannerImages) || void 0 === C ? void 0 : C.desktop) && void 0 !== f ? f : this.bannerImage, ")"), j < 768) this.backgroundImage = "url(".concat(null !== (b = null === (M = this.responsiveBannerImages) || void 0 === M ? void 0 : M.mobile) && void 0 !== b ? b : this.bannerImage, ")");else if (j < 1024) {
30            var x, S;
31            this.backgroundImage = "url(".concat(null !== (x = null === (S = this.responsiveBannerImages) || void 0 === S ? void 0 : S.tablet) && void 0 !== x ? x : this.bannerImage, ")");
32          }
33        }
34        getBannerImage() {
35          return "url(".concat(this.bannerImage, ")");
36        }
37      }
38      return (d = O).ɵfac = function (m) {
39        return new (m || d)();
40      }, d.ɵcmp = s.VBU({
41        type: d,
42        selectors: [["component-banner"]],
43        inputs: {
44          bannerImage: "bannerImage",
45          bannerHeight: "bannerHeight",
46          responsiveBannerImages: "responsiveBannerImages",
47          allowMaxHeight: "allowMaxHeight"
48        },
49        standalone: !1,
50        ngContentSelectors: l,
51        decls: 5,
52        vars: 10,
53        consts: [[1, "parallax", 3, "ngStyle"], [1, "mobile__image"], ["fetchpriority", "high", "decoding", "async", "alt", "banner-image", 3, "src"], [1, "parallax__content", 3, "ngStyle"]],
54        template: function (m, i) {
55          1 & m && (s.NAR(P), s.j41(0, "div", 0)(1, "div", 1), s.nrm(2, "img", 2), s.k0s(), s.j41(3, "div", 3), s.SdG(4), s.k0s()()), 2 & m && (s.xc7("max-height", i.allowMaxHeight ? i.bannerHeight : "unset")("min-height", i.allowMaxHeight ? "unset" : i.bannerHeight), s.Y8G("ngStyle", s.eq3(7, p, i.backgroundImage)), s.R7$(2), s.FS9("src", i.mobileImage, s.B4B), s.R7$(), s.Y8G("ngStyle", s.lJ4(9, h)));
56        },
57        dependencies: [g.B3],
58        styles: ['@charset "UTF-8";.parallax[_ngcontent-%COMP%]{background-attachment:fixed;background-repeat:no-repeat;background-size:cover;animation-duration:.2s;animation-timing-function:linear;background-position:center;position:relative;aspect-ratio:3/2;width:100%}@supports not (aspect-ratio: 3/2){.parallax[_ngcontent-%COMP%]{padding-top:66.666%;height:0}}@media only screen and (max-width: 768px){.parallax[_ngcontent-%COMP%]{background-attachment:scroll}}.parallax__content[_ngcontent-%COMP%]{background-color:#00000090;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.mobile__image[_ngcontent-%COMP%]{position:absolute;display:none;width:100%;height:100%}.mobile__image[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center}@media only screen and (max-width: 1024px){.parallax[_ngcontent-%COMP%]{background-position:center}}@media only screen and (max-width: 768px){.parallax[_ngcontent-%COMP%]{background-image:none!important}.parallax__content[_ngcontent-%COMP%]{position:absolute;width:100%}.mobile__image[_ngcontent-%COMP%]{display:block;height:100%}}']
59      }), O;
60    })();
61  },
62  1942: (R, u, n) => {
63    n.d(u, {
64      H: () => P
65    });
66    var s = n(177),
67      g = n(4438);
68    let P = (() => {
69      var l;
70      class p {}
71      return (l = p).ɵfac = function (e) {
72        return new (e || l)();
73      }, l.ɵmod = g.$C({
74        type: l
75      }), l.ɵinj = g.G2t({
76        imports: [s.MD]
77      }), p;
78    })();
79  },
80  8634: (R, u, n) => {
81    n.r(u), n.d(u, {
82      SeasonalPassesModule: () => w
83    });
84    var s = n(177),
85      g = n(8018),
86      P = n(8606),
87      l = n(803),
88      p = n(2072),
89      h = n(5312),
90      e = n(4438),
91      d = n(9640),
92      O = n(7345),
93      I = n(2251),
94      m = n(1895),
95      i = n(6845),
96      f = n(3062),
97      C = n(897),
98      j = n(1434),
99      b = n(9193),
100      M = n(3063),
101      x = n(7959),
102      S = n(9783);
103    function D(o, c) {
104      if (1 & o && (e.j41(0, "div"), e.EFF(1), e.k0s()), 2 & o) {
105        const r = e.XpG().$implicit;
106        e.R7$(), e.SpI(" ", r.discount, " ");
107      }
108    }
109    function F(o, c) {
110      if (1 & o) {
111        const r = e.RV6();
112        e.j41(0, "component-card7", 14), e.mxI("selectedChange", function (a) {
113          const v = e.eBV(r).$implicit;
114          return e.DH7(v.selected, a) || (v.selected = a), e.Njj(a);
115        }), e.j41(1, "div", 15), e.DNE(2, D, 2, 1, "div", 16), e.k0s(), e.j41(3, "div", 17)(4, "div", 18), e.EFF(5), e.k0s()()();
116      }
117      if (2 & o) {
118        const r = c.$implicit;
119        e.Y8G("cardData", r), e.R50("selected", r.selected), e.Y8G("isSelectable", !1)("hasPrice", !0)("link", "/seasonal-passes/" + r.title)("hasControl", r.discount), e.R7$(2), e.Y8G("ngIf", r.discount), e.R7$(3), e.SpI(" ", r.description, " ");
120      }
121    }
122    const T = [{
123      path: "",
124      component: (() => {
125        var o;
126        class c {
127          constructor(t, a, v, y, A, J, k) {
128            this.store = t, this.generalService = a, this.seoService = v, this.renderer = y, this.jsonLdService = A, this.coreService = J, this.dateService = k, this.seasonalPasses = [], this.searchTerm = "", this.isLoadingMore = !1, this._page$ = this.store.select("seasonalPassesPage");
129          }
130          ngOnInit() {
131            this.jsonLdService.removeJsonLd(this.renderer), this.coreService.isServer && (this.jsonLdService.addJsonLdWebSite(this.renderer, h.c.domain), this.jsonLdService.addJsonLdBreadcrumbs(this.renderer, [{
132              name: "Home",
133              url: "".concat(h.c.domain)
134            }, {
135              name: "Seasonal Passes",
136              url: "".concat(h.c.domain, "/seasonal-passes")
137            }])), this.currentYear = new Date().getFullYear(), this.seasonalPasses = this.getSeasonalPasses(), this.fetchPageByUrl();
138          }
139          setDetails(t) {
140            const a = null == t ? void 0 : t.meta;
141            this.seoService.pageTitle = null == a ? void 0 : a.title, this.seoService.description = null == a ? void 0 : a.description, this.seoService.keywords = null == a ? void 0 : a.formatted_keywords, this.seoService.robots = null == a ? void 0 : a.formatted_robots, this.seoService.url = null == a ? void 0 : a.canonical_url, this.seoService.setMetaTags(), this.seoService.updatedAt = this.dateService.getMostRecentDate(null == t ? void 0 : t.updated_at, null == a ? void 0 : a.updated_at), null != t && t.faqs && this.jsonLdService.addJsonLdFaqs(this.renderer, null == t ? void 0 : t.faqs);
142          }
143          fetchPageByUrl() {
144            this.generalService.fetchPageByUrl().then(t => this.store.dispatch(p.c.setSeasonalPassesClientPage({
145              page: t.data
146            })));
147          }
148          getSeasonalPasses() {
149            return [{
150              img: "assets/images/RTAnnualPass2022.jpg",
151              title: "Run For Charity Annual Season Pass",
152              description: "Covering all events from January to December 2022.",
153              price: "\xa3270",
154              discount: "40% Mid Year Discount Applied"
155            }, {
156              img: "assets/images/LondonPass2022-1.jpg",
157              title: "Run For Charity London Events Pass",
158              description: "Covering all London races between January to December 2022.",
159              price: "\xa3180"
160            }, {
161              img: "assets/images/NorthernPass2022.jpg",
162              title: " Run For Charity Northern Events Pass",
163              description: "Covering all events in the North of England from January to December 2022.",
164              price: "\xa3180",
165              discount: "40% Mid Year Discount Applied"
166            }, {
167              img: "assets/images/MidlandsPass2022.jpg",
168              title: "Run For Charity Midlands Events Pass",
169              description: "Covering all events across the Midlands from January to December 2022.",
170              price: "\xa3120",
171              discount: "40% Mid Year Discount Applied"
172            }, {
173              img: "assets/images/MoonPass2021.jpg",
174              title: "Run For Charity Chase The Moon Series Pass",
175              description: "Covering all midweek evening races from January to March and October to December in 2022.",
176              price: "\xa3180"
177            }, {
178              img: "assets/images/SunSeriesPass2022.jpg",
179              title: "Run For Charity Chase The Sun Series Pass",
180              description: "Covering all Chase The Sun midweek evening events in London from April to September 2022.",
181              price: "\xa3180",
182              discount: "40% Mid Year Discount Applied"
183            }];
184          }
185          loadMore() {
186            this.isLoadingMore = !0, setTimeout(() => {
187              this.isLoadingMore = !1, this.seasonalPasses = [...this.seasonalPasses, ...this.getSeasonalPasses()];
188            }, 1500);
189          }
190        }
191        return (o = c).ɵfac = function (t) {
192          return new (t || o)(e.rXU(d.il), e.rXU(O.O), e.rXU(I.B), e.rXU(e.sFG), e.rXU(m.K), e.rXU(i.P), e.rXU(f.k));
193        }, o.ɵcmp = e.VBU({
194          type: o,
195          selectors: [["page-seasonal-passes"]],
196          standalone: !1,
197          decls: 21,
198          vars: 17,
199          consts: [[3, "setMargins"], ["bannerHeight", "65vh", "bannerImage", "'assets/images/runthrough/Seasonal Passes.jpg'"], [1, "content", "container"], [1, "pt-5"], [1, "section__head", "text-center", "pb-5"], [1, "header__title"], [1, "header__info"], [1, "search__wrapper"], [1, "search__input"], [3, "valueChange", "value", "placeholder"], [1, "cards", "pt-5"], ["class", "card-component", 3, "cardData", "selected", "isSelectable", "hasPrice", "link", "hasControl", "selectedChange", 4, "ngFor", "ngForOf"], [1, "d-flex", "justify-content-center", "pt-5"], ["className", "button button-loading", 3, "onClick", "label", "isLoading"], [1, "card-component", 3, "selectedChange", "cardData", "selected", "isSelectable", "hasPrice", "link", "hasControl"], ["card-control", "", 1, "card__control"], [4, "ngIf"], ["card-footer", ""], [1, "card__description"]],
200          template: function (t, a) {
201            1 & t && (e.j41(0, "component-flat-layout", 0), e.nrm(1, "component-banner", 1), e.j41(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5), e.EFF(6), e.nI1(7, "translate"), e.k0s(), e.j41(8, "div", 6), e.EFF(9), e.nI1(10, "translate"), e.k0s()(), e.j41(11, "component-section")(12, "div", 7)(13, "div", 8)(14, "component-search", 9), e.nI1(15, "translate"), e.mxI("valueChange", function (y) {
202              return e.DH7(a.searchTerm, y) || (a.searchTerm = y), y;
203            }), e.k0s()()()()(), e.j41(16, "div", 10), e.DNE(17, F, 6, 8, "component-card7", 11), e.k0s(), e.j41(18, "div", 12)(19, "component-button", 13), e.nI1(20, "translate"), e.bIt("onClick", function () {
204              return a.loadMore();
205            }), e.k0s()()()()), 2 & t && (e.Y8G("setMargins", !1), e.R7$(6), e.JRh(e.bMT(7, 9, "pages.seasonalPasses.text1")), e.R7$(3), e.Lme("", e.bMT(10, 11, "pages.seasonalPasses.text2"), " ", a.currentYear, ""), e.R7$(5), e.R50("value", a.searchTerm), e.Y8G("placeholder", e.bMT(15, 13, "pages.seasonalPasses.text3")), e.R7$(3), e.Y8G("ngForOf", a.seasonalPasses), e.R7$(2), e.Y8G("label", e.bMT(20, 15, "pages.seasonalPasses.text4"))("isLoading", a.isLoadingMore));
206          },
207          dependencies: [s.Sq, s.bT, C.n, j.z, b.x, M.S, x.Q, S.K, g.D9],
208          styles: [".cards[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;margin:-32px -12px 0}.card-component[_ngcontent-%COMP%]{flex:0 0 calc(33.333% - 24px);width:calc(33.333% - 24px);margin:32px 12px 0}.card__button_label[_ngcontent-%COMP%]{background:none;width:initial}.card__button_label[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{color:var(--neutral-01)}.card__button_label[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{fill:var(--neutral-01);margin-top:-5px}.card__button_label[_ngcontent-%COMP%]:hover   a[_ngcontent-%COMP%]{color:var(--primary-01)}.card__button_label[_ngcontent-%COMP%]:hover   svg[_ngcontent-%COMP%]{fill:var(--primary-01)}.card__registration-closed-banner[_ngcontent-%COMP%]{position:absolute;top:0;left:0;z-index:4;padding:3px 10px;font-size:8px;font-weight:700;color:#fff;background:#e4002b;transform-origin:0 0;box-shadow:0 1px 3px #0003;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;max-width:110px;box-sizing:border-box;border-top-left-radius:5px}.card__sold-out-banner[_ngcontent-%COMP%]{position:absolute;top:0;right:0;left:auto;z-index:4;padding:3px 10px;font-size:8px;font-weight:700;color:#fff;background:#e4002b;transform-origin:100% 0;box-shadow:0 1px 3px #0003;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;max-width:110px;box-sizing:border-box;border-top-right-radius:5px}  .card__control .button-primary{background:var(--primary-01)!important;color:var(--neutral-11)!important}  .card__control .button-primary span,   .card__control .button-primary .label{color:var(--neutral-11)!important}
208  .card__control .button-primary svg{fill:var(--neutral-11)!important}  .card__control .button-primary[disabled],   .card__control .button-primary.disabled{background:var(--primary-01)!important;opacity:.85;cursor:not-allowed}.card__control_btn[_ngcontent-%COMP%]:not(:last-child){margin-right:10px}.custom__date[_ngcontent-%COMP%]{margin-left:auto}@media only screen and (max-width: 1199px){.card-component[_ngcontent-%COMP%]{flex:0 0 calc(50% - 24px);width:calc(50% - 24px)}}@media only screen and (max-width: 767px){.cards[_ngcontent-%COMP%]{display:block;margin:0}.card-component[_ngcontent-%COMP%]{width:100%;margin:24px 0 0}}", ".card__description[_ngcontent-%COMP%]{margin-top:5px;font-size:14px;line-height:1.71429;color:var(--neutral-04);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.card__control[_ngcontent-%COMP%]{color:#fff}"]
209        }), c;
210      })()
211    }, {
212      path: ":seasonalPass",
213      loadChildren: () => Promise.all([n.e(193), n.e(5101), n.e(6346), n.e(389), n.e(2724), n.e(3209), n.e(6804)]).then(n.bind(n, 6804)).then(o => o.SeasonalPassModule)
214    }];
215    let B = (() => {
216      var o;
217      class c {}
218      return (o = c).ɵfac = function (t) {
219        return new (t || o)();
220      }, o.ɵmod = e.$C({
221        type: o
222      }), o.ɵinj = e.G2t({
223        imports: [l.iI.forChild(T), l.iI]
224      }), c;
225    })();
226    var L = n(1316),
227      E = n(132),
228      _ = n(5415),
229      U = n(5188),
230      G = n(4879),
231      Y = n(1846),
232      H = n(2323),
233      $ = n(1942);
234    let w = (() => {
235      var o;
236      class c {}
237      return (o = c).ɵfac = function (t) {
238        return new (t || o)();
239      }, o.ɵmod = e.$C({
240        type: o
241      }), o.ɵinj = e.G2t({
242        imports: [s.MD, B, L.s, E.L, g.h, _.R, U.G, P.iu, G.J, Y.t, $.H, d.md.forFeature("seasonalPassesPage", H.k.page(p.c.setSeasonalPassesClientPage))]
243      }), c;
244    })();
245  }
246}]);

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.