PageSourceSearch

https://wildforkfoods.com/_next/static/chunks/pages/%5B%5B...slug%5D%5D-ee838f60a5bc002e.js

js wildforkfoods.com collected 2026-10-01 11:32:50 UTC 50,634 bytes, 1,315 lines download raw bytes

1(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[6120],{
2
3/***/ 832692:
4/***/ (function(__unused_webpack_module, exports) {
5
6"use strict";
7
8Object.defineProperty(exports, "__esModule", ({ value: true }));
9exports.BLOCKS = void 0;
10/**
11 * Map of all Contentful block types. Blocks contain inline or block nodes.
12 */
13var BLOCKS;
14(function (BLOCKS) {
15    BLOCKS["DOCUMENT"] = "document";
16    BLOCKS["PARAGRAPH"] = "paragraph";
17    BLOCKS["HEADING_1"] = "heading-1";
18    BLOCKS["HEADING_2"] = "heading-2";
19    BLOCKS["HEADING_3"] = "heading-3";
20    BLOCKS["HEADING_4"] = "heading-4";
21    BLOCKS["HEADING_5"] = "heading-5";
22    BLOCKS["HEADING_6"] = "heading-6";
23    BLOCKS["OL_LIST"] = "ordered-list";
24    BLOCKS["UL_LIST"] = "unordered-list";
25    BLOCKS["LIST_ITEM"] = "list-item";
26    BLOCKS["HR"] = "hr";
27    BLOCKS["QUOTE"] = "blockquote";
28    BLOCKS["EMBEDDED_ENTRY"] = "embedded-entry-block";
29    BLOCKS["EMBEDDED_ASSET"] = "embedded-asset-block";
30    BLOCKS["TABLE"] = "table";
31    BLOCKS["TABLE_ROW"] = "table-row";
32    BLOCKS["TABLE_CELL"] = "table-cell";
33    BLOCKS["TABLE_HEADER_CELL"] = "table-header-cell";
34})(BLOCKS = exports.BLOCKS || (exports.BLOCKS = {}));
35//# sourceMappingURL=blocks.js.map
36
37/***/ }),
38
39/***/ 551928:
40/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
41
42"use strict";
43
44Object.defineProperty(exports, "__esModule", ({ value: true }));
45var blocks_1 = __webpack_require__(832692);
46/**
47 * A rich text document considered to be empty.
48 * Any other document structure than this is not considered empty.
49 */
50var EMPTY_DOCUMENT = {
51    nodeType: blocks_1.BLOCKS.DOCUMENT,
52    data: {},
53    content: [
54        {
55            nodeType: blocks_1.BLOCKS.PARAGRAPH,
56            data: {},
57            content: [
58                {
59                    nodeType: 'text',
60                    value: '',
61                    marks: [],
62                    data: {},
63                },
64            ],
65        },
66    ],
67};
68exports["default"] = EMPTY_DOCUMENT;
69//# sourceMappingURL=emptyDocument.js.map
70
71/***/ }),
72
73/***/ 486061:
74/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
75
76"use strict";
77
78Object.defineProperty(exports, "__esModule", ({ value: true }));
79exports.isText = exports.isBlock = exports.isInline = void 0;
80var blocks_1 = __webpack_require__(832692);
81var inlines_1 = __webpack_require__(407845);
82/**
83 * Tiny replacement for Object.values(object).includes(key) to
84 * avoid including CoreJS polyfills
85 */
86function hasValue(obj, value) {
87    for (var _i = 0, _a = Object.keys(obj); _i < _a.length; _i++) {
88        var key = _a[_i];
89        if (value === obj[key]) {
90            return true;
91        }
92    }
93    return false;
94}
95/**
96 * Checks if the node is an instance of Inline.
97 */
98function isInline(node) {
99    return hasValue(inlines_1.INLINES, node.nodeType);
100}
101exports.isInline = isInline;
102/**
103 * Checks if the node is an instance of Block.
104 */
105function isBlock(node) {
106    return hasValue(blocks_1.BLOCKS, node.nodeType);
107}
108exports.isBlock = isBlock;
109/**
110 * Checks if the node is an instance of Text.
111 */
112function isText(node) {
113    return node.nodeType === 'text';
114}
115exports.isText = isText;
116//# sourceMappingURL=helpers.js.map
117
118/***/ }),
119
120/***/ 886437:
121/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
122
123"use strict";
124
125var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
126    if (k2 === undefined) k2 = k;
127    var desc = Object.getOwnPropertyDescriptor(m, k);
128    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
129      desc = { enumerable: true, get: function() { return m[k]; } };
130    }
131    Object.defineProperty(o, k2, desc);
132}) : (function(o, m, k, k2) {
133    if (k2 === undefined) k2 = k;
134    o[k2] = m[k];
135}));
136var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
137    Object.defineProperty(o, "default", { enumerable: true, value: v });
138}) : function(o, v) {
139    o["default"] = v;
140});
141var __exportStar = (this && this.__exportStar) || function(m, exports) {
142    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
143};
144var __importStar = (this && this.__importStar) || function (mod) {
145    if (mod && mod.__esModule) return mod;
146    var result = {};
147    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
148    __setModuleDefault(result, mod);
149    return result;
150};
151var __importDefault = (this && this.__importDefault) || function (mod) {
152    return (mod && mod.__esModule) ? mod : { "default": mod };
153};
154Object.defineProperty(exports, "__esModule", ({ value: true }));
155exports.helpers = exports.EMPTY_DOCUMENT = exports.MARKS = exports.INLINES = exports.BLOCKS = void 0;
156var blocks_1 = __webpack_require__(832692);
157Object.defineProperty(exports, "BLOCKS", ({ enumerable: true, get: function () { return blocks_1.BLOCKS; } }));
158var inlines_1 = __webpack_require__(407845);
159Object.defineProperty(exports, "INLINES", ({ enumerable: true, get: function () { return inlines_1.INLINES; } }));
160var marks_1 = __webpack_require__(831376);
161Object.defineProperty(exports, "MARKS", ({ enumerable: true, get: function () { return __importDefault(marks_1).default; } }));
162__exportStar(__webpack_require__(297951), exports);
163__exportStar(__webpack_require__(80167), exports);
164__exportStar(__webpack_require__(311911), exports);
165var emptyDocument_1 = __webpack_require__(551928);
166Object.defineProperty(exports, "EMPTY_DOCUMENT", ({ enumerable: true, get: function () { return __importDefault(emptyDocument_1).default; } }));
167var helpers = __importStar(__webpack_require__(486061));
168exports.helpers = helpers;
169//# sourceMappingURL=index.js.map
170
171/***/ }),
172
173/***/ 407845:
174/***/ (function(__unused_webpack_module, exports) {
175
176"use strict";
177
178Object.defineProperty(exports, "__esModule", ({ value: true }));
179exports.INLINES = void 0;
180/**
181 * Map of all Contentful inline types. Inline contain inline or text nodes.
182 */
183var INLINES;
184(function (INLINES) {
185    INLINES["HYPERLINK"] = "hyperlink";
186    INLINES["ENTRY_HYPERLINK"] = "entry-hyperlink";
187    INLINES["ASSET_HYPERLINK"] = "asset-hyperlink";
188    INLINES["EMBEDDED_ENTRY"] = "embedded-entry-inline";
189})(INLINES = exports.INLINES || (exports.INLINES = {}));
190//# sourceMappingURL=inlines.js.map
191
192/***/ }),
193
194/***/ 831376:
195/***/ (function(__unused_webpack_module, exports) {
196
197"use strict";
198
199Object.defineProperty(exports, "__esModule", ({ value: true }));
200/**
201 * Map of all Contentful marks.
202 */
203var MARKS;
204(function (MARKS) {
205    MARKS["BOLD"] = "bold";
206    MARKS["ITALIC"] = "italic";
207    MARKS["UNDERLINE"] = "underline";
208    MARKS["CODE"] = "code";
209    MARKS["SUPERSCRIPT"] = "superscript";
210    MARKS["SUBSCRIPT"] = "subscript";
211})(MARKS || (MARKS = {}));
212exports["default"] = MARKS;
213//# sourceMappingURL=marks.js.map
214
215/***/ }),
216
217/***/ 311911:
218/***/ (function(__unused_webpack_module, exports) {
219
220"use strict";
221
222Object.defineProperty(exports, "__esModule", ({ value: true }));
223//# sourceMappingURL=nodeTypes.js.map
224
225/***/ }),
226
227/***/ 297951:
228/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
229
230"use strict";
231
232var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
233    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
234        if (ar || !(i in from)) {
235            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
236            ar[i] = from[i];
237        }
238    }
239    return to.concat(ar || Array.prototype.slice.call(from));
240};
241var __importDefault = (this && this.__importDefault) || function (mod) {
242    return (mod && mod.__esModule) ? mod : { "default": mod };
243};
244var _a;
245Object.defineProperty(exports, "__esModule", ({ value: true }));
246exports.V1_MARKS = exports.V1_NODE_TYPES = exports.TEXT_CONTAINERS = exports.HEADINGS = exports.CONTAINERS = exports.VOID_BLOCKS = exports.TABLE_BLOCKS = exports.LIST_ITEM_BLOCKS = exports.TOP_LEVEL_BLOCKS = void 0;
247var blocks_1 = __webpack_require__(832692);
248var inlines_1 = __webpack_require__(407845);
249var marks_1 = __importDefault(__webpack_require__(831376));
250/**
251 * Array of all top level block types.
252 * Only these block types can be the direct children of the document.
253 */
254exports.TOP_LEVEL_BLOCKS = [
255    blocks_1.BLOCKS.PARAGRAPH,
256    blocks_1.BLOCKS.HEADING_1,
257    blocks_1.BLOCKS.HEADING_2,
258    blocks_1.BLOCKS.HEADING_3,
259    blocks_1.BLOCKS.HEADING_4,
260    blocks_1.BLOCKS.HEADING_5,
261    blocks_1.BLOCKS.HEADING_6,
262    blocks_1.BLOCKS.OL_LIST,
263    blocks_1.BLOCKS.UL_LIST,
264    blocks_1.BLOCKS.HR,
265    blocks_1.BLOCKS.QUOTE,
266    blocks_1.BLOCKS.EMBEDDED_ENTRY,
267    blocks_1.BLOCKS.EMBEDDED_ASSET,
268    blocks_1.BLOCKS.TABLE,
269];
270/**
271 * Array of all allowed block types inside list items
272 */
273exports.LIST_ITEM_BLOCKS = [
274    blocks_1.BLOCKS.PARAGRAPH,
275    blocks_1.BLOCKS.HEADING_1,
276    blocks_1.BLOCKS.HEADING_2,
277    blocks_1.BLOCKS.HEADING_3,
278    blocks_1.BLOCKS.HEADING_4,
279    blocks_1.BLOCKS.HEADING_5,
280    blocks_1.BLOCKS.HEADING_6,
281    blocks_1.BLOCKS.OL_LIST,
282    blocks_1.BLOCKS.UL_LIST,
283    blocks_1.BLOCKS.HR,
284    blocks_1.BLOCKS.QUOTE,
285    blocks_1.BLOCKS.EMBEDDED_ENTRY,
286    blocks_1.BLOCKS.EMBEDDED_ASSET,
287];
288exports.TABLE_BLOCKS = [
289    blocks_1.BLOCKS.TABLE,
290    blocks_1.BLOCKS.TABLE_ROW,
291    blocks_1.BLOCKS.TABLE_CELL,
292    blocks_1.BLOCKS.TABLE_HEADER_CELL,
293];
294/**
295 * Array of all void block types
296 */
297exports.VOID_BLOCKS = [blocks_1.BLOCKS.HR, blocks_1.BLOCKS.EMBEDDED_ENTRY, blocks_1.BLOCKS.EMBEDDED_ASSET];
298/**
299 * Dictionary of all container block types, and the set block types they accept as children.
300 *
301 * Note: This does not include `[BLOCKS.DOCUMENT]: TOP_LEVEL_BLOCKS`
302 */
303exports.CONTAINERS = (_a = {},
304    _a[blocks_1.BLOCKS.OL_LIST] = [blocks_1.BLOCKS.LIST_ITEM],
305    _a[blocks_1.BLOCKS.UL_LIST] = [blocks_1.BLOCKS.LIST_ITEM],
306    _a[blocks_1.BLOCKS.LIST_ITEM] = exports.LIST_ITEM_BLOCKS,
307    _a[blocks_1.BLOCKS.QUOTE] = [blocks_1.BLOCKS.PARAGRAPH],
308    _a[blocks_1.BLOCKS.TABLE] = [blocks_1.BLOCKS.TABLE_ROW],
309    _a[blocks_1.BLOCKS.TABLE_ROW] = [blocks_1.BLOCKS.TABLE_CELL, blocks_1.BLOCKS.TABLE_HEADER_CELL],
310    _a[blocks_1.BLOCKS.TABLE_CELL] = [blocks_1.BLOCKS.PARAGRAPH],
311    _a[blocks_1.BLOCKS.TABLE_HEADER_CELL] = [blocks_1.BLOCKS.PARAGRAPH],
312    _a);
313/**
314 * Array of all heading levels
315 */
316exports.HEADINGS = [
317    blocks_1.BLOCKS.HEADING_1,
318    blocks_1.BLOCKS.HEADING_2,
319    blocks_1.BLOCKS.HEADING_3,
320    blocks_1.BLOCKS.HEADING_4,
321    blocks_1.BLOCKS.HEADING_5,
322    blocks_1.BLOCKS.HEADING_6,
323];
324/**
325 * Array of all block types that may contain text and inline nodes.
326 */
327exports.TEXT_CONTAINERS = __spreadArray([blocks_1.BLOCKS.PARAGRAPH], exports.HEADINGS, true);
328/**
329 * Node types before `tables` release.
330 */
331exports.V1_NODE_TYPES = [
332    blocks_1.BLOCKS.DOCUMENT,
333    blocks_1.BLOCKS.PARAGRAPH,
334    blocks_1.BLOCKS.HEADING_1,
335    blocks_1.BLOCKS.HEADING_2,
336    blocks_1.BLOCKS.HEADING_3,
337    blocks_1.BLOCKS.HEADING_4,
338    blocks_1.BLOCKS.HEADING_5,
339    blocks_1.BLOCKS.HEADING_6,
340    blocks_1.BLOCKS.OL_LIST,
341    blocks_1.BLOCKS.UL_LIST,
342    blocks_1.BLOCKS.LIST_ITEM,
343    blocks_1.BLOCKS.HR,
344    blocks_1.BLOCKS.QUOTE,
345    blocks_1.BLOCKS.EMBEDDED_ENTRY,
346    blocks_1.BLOCKS.EMBEDDED_ASSET,
347    inlines_1.INLINES.HYPERLINK,
348    inlines_1.INLINES.ENTRY_HYPERLINK,
349    inlines_1.INLINES.ASSET_HYPERLINK,
350    inlines_1.INLINES.EMBEDDED_ENTRY,
351    'text',
352];
353/**
354 * Marks before `superscript` & `subscript` release.
355 */
356exports.V1_MARKS = [marks_1.default.BOLD, marks_1.default.CODE, marks_1.default.ITALIC, marks_1.default.UNDERLINE];
357//# sourceMappingURL=schemaConstraints.js.map
358
359/***/ }),
360
361/***/ 80167:
362/***/ (function(__unused_webpack_module, exports) {
363
364"use strict";
365
366Object.defineProperty(exports, "__esModule", ({ value: true }));
367//# sourceMappingURL=types.js.map
368
369/***/ }),
370
371/***/ 895759:
372/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
373
374
375    (window.__NEXT_P = window.__NEXT_P || []).push([
376      "/[[...slug]]",
377      function () {
378        return __webpack_require__(124127);
379      }
380    ]);
381    if(false) {}
382  
383
384/***/ }),
385
386/***/ 19396:
387/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
388
389"use strict";
390/* harmony export */ __webpack_require__.d(__webpack_exports__, {
391/* harmony export */   H: function() { return /* binding */ JsonLdScript; }
392/* harmony export */ });
393/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(785893);
394/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(809008);
395/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_1__);
396/* harmony import */ var _Lib_structured_data_jsonLd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(262333);
397
398
399
400function JsonLdScript(param) {
401    let { id, schema } = param;
402    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_head__WEBPACK_IMPORTED_MODULE_1___default()), {
403        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("script", {
404            type: "application/ld+json",
405            dangerouslySetInnerHTML: {
406                __html: (0,_Lib_structured_data_jsonLd__WEBPACK_IMPORTED_MODULE_2__/* .escapeJsonForScript */ .F3)(JSON.stringify(schema))
407            }
408        }, id)
409    });
410}
411
412
413/***/ }),
414
415/***/ 198911:
416/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
417
418"use strict";
419
420// EXPORTS
421__webpack_require__.d(__webpack_exports__, {
422  wg: function() { return /* reexport */ buildBreadcrumbList; },
423  il: function() { return /* reexport */ buildOrganizationSchema; },
424  _f: function() { return /* reexport */ buildProductSchema; },
425  uZ: function() { return /* reexport */ buildRecipeSchema; },
426  Q6: function() { return /* reexport */ buildWebSiteSchema; }
427});
428
429// UNUSED EXPORTS: escapeJsonForScript, minutesToIsoDuration, prefixHttpsIfProtocolRelative, richTextToStringArray
430
431;// CONCATENATED MODULE: ./src/lib/structured-data/organization.ts
432function buildSameAsArray(sameAs) {
433    if (!sameAs) return [];
434    return Object.values(sameAs).filter((url)=>Boolean(url));
435}
436function buildAddress(address) {
437    if (!address.streetAddress) return undefined;
438    return {
439        "@type": "PostalAddress",
440        streetAddress: address.streetAddress,
441        addressLocality: address.addressLocality,
442        addressRegion: address.addressRegion,
443        postalCode: address.postalCode,
444        addressCountry: address.addressCountry
445    };
446}
447function buildOrganizationSchema(config, orgId, publicUrl) {
448    const sameAsArray = buildSameAsArray(config.sameAs);
449    const address = buildAddress(config.address);
450    return {
451        "@context": "https://schema.org",
452        "@type": "Organization",
453        "@id": orgId,
454        name: config.name,
455        legalName: config.legalName,
456        url: "".concat(publicUrl, "/"),
457        logo: {
458            "@type": "ImageObject",
459            url: "".concat(publicUrl).concat(config.logoUrl),
460            width: 1000,
461            height: 1000
462        },
463        description: config.description,
464        parentOrganization: {
465            "@type": "Organization",
466            "@id": "https://jbsfoodsgroup.com/#organization",
467            name: "JBS Foods",
468            url: "https://jbsfoodsgroup.com/"
469        },
470        contactPoint: [
471            {
472                "@type": "ContactPoint",
473                contactType: "customer service",
474                telephone: config.contactPoint.telephone,
475                email: config.contactPoint.email,
476                hoursAvailable: [
477                    {
478                        "@type": "OpeningHoursSpecification",
479                        dayOfWeek: config.contactPoint.supportDays,
480                        opens: config.contactPoint.supportOpens,
481                        closes: config.contactPoint.supportCloses
482                    }
483                ]
484            }
485        ],
486        hasOfferCatalog: {
487            "@type": "OfferCatalog",
488            name: config.offerCatalog.name,
489            itemListElement: config.offerCatalog.categories.map((cat)=>({
490                    "@type": "OfferCatalog",
491                    name: cat.name
492                }))
493        },
494        ...config.foundingDate && {
495            foundingDate: config.foundingDate
496        },
497        ...address && {
498            address
499        },
500        ...sameAsArray.length > 0 && {
501            sameAs: sameAsArray
502        }
503    };
504}
505
506;// CONCATENATED MODULE: ./src/lib/structured-data/website.ts
507function buildWebSiteSchema(config, orgId, siteId, publicUrl) {
508    return {
509        "@context": "https://schema.org",
510        "@type": "WebSite",
511        "@id": siteId,
512        name: config.name,
513        url: "".concat(publicUrl, "/"),
514        inLanguage: config.inLanguage,
515        publisher: {
516            "@id": orgId
517        },
518        potentialAction: {
519            "@type": "SearchAction",
520            target: {
521                "@type": "EntryPoint",
522                urlTemplate: "".concat(publicUrl, "/search?query={search_term_string}")
523            },
524            "query-input": "required name=search_term_string"
525        }
526    };
527}
528
529// EXTERNAL MODULE: ./node_modules/@contentful/rich-text-types/dist/index.js
530var dist = __webpack_require__(886437);
531// EXTERNAL MODULE: ./src/lib/structured-data/jsonLd.ts
532var jsonLd = __webpack_require__(262333);
533;// CONCATENATED MODULE: ./src/lib/structured-data/recipe.ts
534
535
536const AUTHOR = {
537    "@type": "Organization",
538    name: "Wild Fork Foods"
539};
540function formatIngredient(ingredient) {
541    var _ingredient_fields;
542    const { amountNeededForRecipe, name } = (_ingredient_fields = ingredient.fields) !== null && _ingredient_fields !== void 0 ? _ingredient_fields : {};
543    if (!name) return "";
544    return [
545        amountNeededForRecipe,
546        name
547    ].filter(Boolean).join(" ").trim();
548}
549function buildIngredients(entry) {
550    var _entry_fields_wfIngredientList;
551    const wf = ((_entry_fields_wfIngredientList = entry.fields.wfIngredientList) !== null && _entry_fields_wfIngredientList !== void 0 ? _entry_fields_wfIngredientList : []).map(formatIngredient).filter(Boolean);
552    const nonWf = (0,jsonLd/* richTextToStringArray */.V)(entry.fields.nonWfIngredients, dist.BLOCKS.PARAGRAPH);
553    return [
554        ...wf,
555        ...nonWf
556    ];
557}
558function buildInstructions(entry) {
559    return (0,jsonLd/* richTextToStringArray */.V)(entry.fields.cookingDirections, dist.BLOCKS.LIST_ITEM).map((text)=>({
560            "@type": "HowToStep",
561            text
562        }));
563}
564function resolveTotalTime(prepMinutes, cookMinutes, explicitTotal) {
565    const explicit = (0,jsonLd/* minutesToIsoDuration */.Ry)(explicitTotal);
566    if (explicit) return explicit;
567    const sum = (prepMinutes !== null && prepMinutes !== void 0 ? prepMinutes : 0) + (cookMinutes !== null && cookMinutes !== void 0 ? cookMinutes : 0);
568    return (0,jsonLd/* minutesToIsoDuration */.Ry)(sum);
569}
570function buildRecipeSchema(entry, publicUrl) {
571    var _fields_media_fields_asset_fields_file, _fields_media_fields_asset_fields, _fields_media_fields_asset, _fields_media_fields, _fields_media, _fields_badgeList;
572    const { fields, sys } = entry;
573    var _fields_slug;
574    const slug = ((_fields_slug = fields.slug) !== null && _fields_slug !== void 0 ? _fields_slug : "").replace(/^\//, "");
575    const id = "".concat(publicUrl, "/recipes/").concat(slug);
576    const image = (0,jsonLd/* prefixHttpsIfProtocolRelative */.xi)((_fields_media = fields.media) === null || _fields_media === void 0 ? void 0 : (_fields_media_fields = _fields_media.fields) === null || _fields_media_fields === void 0 ? void 0 : (_fields_media_fields_asset = _fields_media_fields.asset) === null || _fields_media_fields_asset === void 0 ? void 0 : (_fields_media_fields_asset_fields = _fields_media_fields_asset.fields) === null || _fields_media_fields_asset_fields === void 0 ? void 0 : (_fields_media_fields_asset_fields_file = _fields_media_fields_asset_fields.file) === null || _fields_media_fields_asset_fields_file === void 0 ? void 0 : _fields_media_fields_asset_fields_file.url);
577    const prepTime = (0,jsonLd/* minutesToIsoDuration */.Ry)(fields.prepTimeInMinutes);
578    const cookTime = (0,jsonLd/* minutesToIsoDuration */.Ry)(fields.cookTimeInMinutes);
579    const totalTime = resolveTotalTime(fields.prepTimeInMinutes, fields.cookTimeInMinutes, fields.totalTimeInMinutes);
580    const recipeYield = fields.servings ? "".concat(fields.servings, " servings") : undefined;
581    const keywords = ((_fields_badgeList = fields.badgeList) === null || _fields_badgeList === void 0 ? void 0 : _fields_badgeList.length) ? fields.badgeList.join(", ") : undefined;
582    const ingredients = buildIngredients(entry);
583    const instructions = buildInstructions(entry);
584    return {
585        "@context": "https://schema.org",
586        "@type": "Recipe",
587        "@id": id,
588        name: fields.title,
589        ...fields.description && {
590            description: fields.description
591        },
592        ...image && {
593            image
594        },
595        author: AUTHOR,
596        ...sys.createdAt && {
597            datePublished: sys.createdAt.slice(0, 10)
598        },
599        ...prepTime && {
600            prepTime
601        },
602        ...cookTime && {
603            cookTime
604        },
605        ...totalTime && {
606            totalTime
607        },
608        ...recipeYield && {
609            recipeYield
610        },
611        ...keywords && {
612            keywords
613        },
614        ...ingredients.length > 0 && {
615            recipeIngredient: ingredients
616        },
617        ...instructions.length > 0 && {
618            recipeInstructions: instructions
619        }
620    };
621}
622
623;// CONCATENATED MODULE: ./src/lib/structured-data/product.ts
624
625/** UN/CEFACT Recommendation 20 code for the pound. */ const POUND_UNIT_CODE = "LBR";
626const isUsable = (value)=>typeof value === "number" && Number.isFinite(value) && value > 0;
627const asDecimal = (value)=>value.toFixed(2);
628/**
629 * Google reconciles the product feed against this node, so the unit basis has
630 * to be stated explicitly rather than implied by the total.
631 */ function buildUnitPriceSpecification(pricePerLb, currency) {
632    return {
633        "@type": "UnitPriceSpecification",
634        price: asDecimal(pricePerLb),
635        priceCurrency: currency,
636        unitCode: POUND_UNIT_CODE,
637        referenceQuantity: {
638            "@type": "QuantitativeValue",
639            value: "1",
640            unitCode: POUND_UNIT_CODE
641        }
642    };
643}
644function buildOffer(param) {
645    let { canonicalUrl, currency, inStock, pricePerLb, totalPrice, uom } = param;
646    if (!isUsable(totalPrice)) return undefined;
647    // The specification only carries a per-pound rate, so a product priced by any
648    // other unit gets no node at all rather than a mislabelled one.
649    const priceSpecification = uom === "LB" && isUsable(pricePerLb) ? buildUnitPriceSpecification(pricePerLb, currency) : undefined;
650    return {
651        "@type": "Offer",
652        price: asDecimal(totalPrice),
653        priceCurrency: currency,
654        availability: inStock ? "https://schema.org/InStock" : "https://schema.org/OutOfStock",
655        url: canonicalUrl,
656        ...priceSpecification && {
657            priceSpecification
658        }
659    };
660}
661function buildProductSchema(input) {
662    const { brand, canonicalUrl, description, name, sku } = input;
663    const image = (0,jsonLd/* prefixHttpsIfProtocolRelative */.xi)(input.image);
664    const offers = buildOffer(input);
665    return {
666        "@context": "https://schema.org",
667        "@type": "Product",
668        "@id": "".concat(canonicalUrl, "#product"),
669        name,
670        ...description && {
671            description
672        },
673        ...image && {
674            image
675        },
676        ...sku && {
677            sku
678        },
679        url: canonicalUrl,
680        ...brand && {
681            brand: {
682                "@type": "Brand",
683                name: brand
684            }
685        },
686        ...offers && {
687            offers
688        }
689    };
690}
691
692;// CONCATENATED MODULE: ./src/lib/structured-data/breadcrumb.ts
693function buildBreadcrumbList(items) {
694    return {
695        "@context": "https://schema.org",
696        "@type": "BreadcrumbList",
697        itemListElement: items.map((entry, index)=>({
698                "@type": "ListItem",
699                position: index + 1,
700                name: entry.name,
701                ...entry.item && {
702                    item: entry.item
703                }
704            }))
705    };
706}
707
708;// CONCATENATED MODULE: ./src/lib/structured-data/index.ts
709
710
711
712
713
714
715
716
717/***/ }),
718
719/***/ 262333:
720/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
721
722"use strict";
723/* harmony export */ __webpack_require__.d(__webpack_exports__, {
724/* harmony export */   F3: function() { return /* binding */ escapeJsonForScript; },
725/* harmony export */   Ry: function() { return /* binding */ minutesToIsoDuration; },
726/* harmony export */   V: function() { return /* binding */ richTextToStringArray; },
727/* harmony export */   xi: function() { return /* binding */ prefixHttpsIfProtocolRelative; }
728/* harmony export */ });
729function escapeJsonForScript(json) {
730    return json.replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026");
731}
732function minutesToIsoDuration(minutes) {
733    if (!minutes || minutes < 0) return undefined;
734    const hours = Math.floor(minutes / 60);
735    const remaining = minutes % 60;
736    if (hours === 0) return "PT".concat(remaining, "M");
737    if (remaining === 0) return "PT".concat(hours, "H");
738    return "PT".concat(hours, "H").concat(remaining, "M");
739}
740function prefixHttpsIfProtocolRelative(url) {
741    if (!url) return undefined;
742    return url.startsWith("//") ? "https:".concat(url) : url;
743}
744function extractTextValue(node) {
745    if (!node || typeof node !== "object") return "";
746    const n = node;
747    var _n_value;
748    if (n.nodeType === "text") return (_n_value = n.value) !== null && _n_value !== void 0 ? _n_value : "";
749    if (!n.content) return "";
750    return n.content.map(extractTextValue).join("");
751}
752function richTextToStringArray(doc, blockType) {
753    if (!doc) return [];
754    const results = [];
755    function walk(nodes) {
756        for (const node of nodes){
757            if (!node || typeof node !== "object") continue;
758            const n = node;
759            if (n.nodeType === blockType) {
760                const text = extractTextValue(n).trim();
761                if (text) results.push(text);
762            } else if (n.content) {
763                walk(n.content);
764            }
765        }
766    }
767    walk(doc.content);
768    return results;
769}
770
771
772/***/ }),
773
774/***/ 124127:
775/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
776
777"use strict";
778// ESM COMPAT FLAG
779__webpack_require__.r(__webpack_exports__);
780
781// EXPORTS
782__webpack_require__.d(__webpack_exports__, {
783  __N_SSG: function() { return /* binding */ __N_SSG; },
784  "default": function() { return /* binding */ _slug_; }
785});
786
787// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
788var jsx_runtime = __webpack_require__(785893);
789// EXTERNAL MODULE: ./node_modules/react/index.js
790var react = __webpack_require__(667294);
791// EXTERNAL MODULE: ./node_modules/next/dynamic.js
792var dynamic = __webpack_require__(505152);
793var dynamic_default = /*#__PURE__*/__webpack_require__.n(dynamic);
794// EXTERNAL MODULE: ./src/lib/constants/common.ts
795var common = __webpack_require__(339114);
796// EXTERNAL MODULE: ./src/lib/store/environmentSlice.ts
797var environmentSlice = __webpack_require__(221473);
798// EXTERNAL MODULE: ./src/lib/store/hooks.ts
799var hooks = __webpack_require__(267097);
800// EXTERNAL MODULE: ./src/lib/utils/cookies.ts
801var cookies = __webpack_require__(701636);
802// EXTERNAL MODULE: ./src/components/layout/AppPage.tsx + 10 modules
803var AppPage = __webpack_require__(422832);
804// EXTERNAL MODULE: ./src/lib/configs/environment.ts
805var environment = __webpack_require__(208891);
806;// CONCATENATED MODULE: ./src/lib/constants/structuredData.ts
807const US_CONFIG = {
808    name: "Wild Fork Foods",
809    legalName: "Food Ventures North America, Inc.",
810    description: "Wild Fork Foods offers premium quality meats and seafood delivered directly to your door. Shop our wide selection of steaks, chicken, pork, seafood, and more.",
811    foundingDate: "2017",
812    logoUrl: "/wf_logo_square.png",
813    address: {
814        streetAddress: "7 NW 25TH ST",
815        addressLocality: "Doral",
816        addressRegion: "FL",
817        postalCode: "33172",
818        addressCountry: "US"
819    },
820    contactPoint: {
821        telephone: "+1-833-300-9453",
822        email: "[email protected]",
823        supportOpens: "08:00",
824        supportCloses: "22:00",
825        supportDays: [
826            "Monday",
827            "Tuesday",
828            "Wednesday",
829            "Thursday",
830            "Friday",
831            "Saturday",
832            "Sunday"
833        ]
834    },
835    sameAs: {
836        instagram: "https://www.instagram.com/wildforkfoods",
837        facebook: "https://www.facebook.com/WildForkFoods",
838        linkedin: "https://www.linkedin.com/company/wild-fork-foods",
839        tiktok: "https://www.tiktok.com/@wildfork",
840        youtube: "https://www.youtube.com/c/WildFork"
841    },
842    offerCatalog: {
843        name: "Wild Fork Foods Product Catalog",
844        categories: [
845            {
846                name: "Beef & Steaks",
847                url: "/collections/beef-and-steaks/"
848            },
849            {
850                name: "Chicken",
851                url: "/collections/chicken/"
852            },
853            {
854                name: "Seafood",
855                url: "/collections/seafood/"
856            },
857            {
858                name: "Pork",
859                url: "/collections/pork/"
860            },
861            {
862                name: "Ground Meats",
863                url: "/collections/ground-meats/"
864            },
865            {
866                name: "Lamb",
867                url: "/collections/lamb/"
868            }
869        ]
870    },
871    inLanguage: "en-US"
872};
873const CA_EN_CONFIG = {
874    name: "Wild Fork Canada",
875    legalName: "Food Ventures North America Canada, Inc.",
876    description: "Wild Fork Canada offers premium quality meats and seafood delivered directly to your door. Shop our wide selection of steaks, chicken, pork, seafood, and more.",
877    foundingDate: "2021",
878    logoUrl: "/wf_logo_square.png",
879    // Address is omitted from the schema until streetAddress is filled (buildAddress
880    // guards on it); locality/region are pre-wired for when business supplies street + postal.
881    address: {
882        streetAddress: "",
883        addressLocality: "Vaughan",
884        addressRegion: "ON",
885        postalCode: "",
886        addressCountry: "CA"
887    },
888    contactPoint: {
889        telephone: "+1-833-300-9453",
890        email: "[email protected]",
891        supportOpens: "08:00",
892        supportCloses: "22:00",
893        supportDays: [
894            "Monday",
895            "Tuesday",
896            "Wednesday",
897            "Thursday",
898            "Friday",
899            "Saturday",
900            "Sunday"
901        ]
902    },
903    sameAs: {
904        instagram: "https://www.instagram.com/wildforkcanada",
905        facebook: "https://www.facebook.com/WildForkCanada",
906        linkedin: "https://www.linkedin.com/company/wild-fork-canada",
907        tiktok: "https://www.tiktok.com/@wildfork",
908        youtube: "https://www.youtube.com/c/WildFork"
909    },
910    offerCatalog: {
911        name: "Wild Fork Canada Product Catalog",
912        categories: [
913            {
914                name: "Beef",
915                url: "/en-CA/collections/beef/"
916            },
917            {
918                name: "Chicken & Turkey",
919                url: "/en-CA/collections/ChickenTurkey/"
920            },
921            {
922                name: "Seafood",
923                url: "/en-CA/collections/seafood/"
924            },
925            {
926                name: "Pork",
927                url: "/en-CA/collections/pork/"
928            },
929            {
930                name: "Ground Meats",
931                url: "/en-CA/collections/ground-meats/"
932            },
933            {
934                name: "Lamb",
935                url: "/en-CA/collections/lamb/"
936            }
937        ]
938    },
939    inLanguage: "en-CA"
940};
941const CA_FR_CONFIG = {
942    ...CA_EN_CONFIG,
943    inLanguage: "fr-CA"
944};
945const CONFIG_BY_LOCALE = {
946    "en-US": US_CONFIG,
947    "en-CA": CA_EN_CONFIG,
948    "fr-CA": CA_FR_CONFIG
949};
950function getOrganizationConfigForLocale(locale) {
951    return CONFIG_BY_LOCALE[locale];
952}
953
954// EXTERNAL MODULE: ./src/lib/structured-data/index.ts + 5 modules
955var structured_data = __webpack_require__(198911);
956// EXTERNAL MODULE: ./src/components/structured-data/JsonLdScript.tsx
957var JsonLdScript = __webpack_require__(19396);
958;// CONCATENATED MODULE: ./src/components/structured-data/HomepageStructuredData.tsx
959
960
961
962
963
964function HomepageStructuredData() {
965    let { locale = environment.nextAppEnv.application.locale, publicUrl: rawPublicUrl = environment.nextAppEnv.application.publicUrl } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
966    const config = getOrganizationConfigForLocale(locale);
967    if (!config) return null;
968    const publicUrl = rawPublicUrl.replace(/\/$/, "");
969    const orgId = "".concat(publicUrl, "/#organization");
970    const siteId = "".concat(publicUrl, "/#website");
971    return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
972        children: [
973            /*#__PURE__*/ (0,jsx_runtime.jsx)(JsonLdScript/* JsonLdScript */.H, {
974                id: "ld-organization",
975                schema: (0,structured_data/* buildOrganizationSchema */.il)(config, orgId, publicUrl)
976            }),
977            /*#__PURE__*/ (0,jsx_runtime.jsx)(JsonLdScript/* JsonLdScript */.H, {
978                id: "ld-website",
979                schema: (0,structured_data/* buildWebSiteSchema */.Q6)(config, orgId, siteId, publicUrl)
980            })
981        ]
982    });
983}
984
985// EXTERNAL MODULE: ./src/lib/dynamic-yield/dynamicYield.ts + 1 modules
986var dynamicYield = __webpack_require__(85325);
987// EXTERNAL MODULE: ./src/lib/hooks/useFavorites.ts
988var useFavorites = __webpack_require__(111758);
989// EXTERNAL MODULE: ./node_modules/@wildfork/commercetools-core-ui/dist/src/lib/utils/Logger.js
990var Logger = __webpack_require__(101914);
991var Logger_default = /*#__PURE__*/__webpack_require__.n(Logger);
992;// CONCATENATED MODULE: ./src/components/templates/PageSectionRenderer/pageSectionRegistry.ts
993/**
994 * Page Section Registry module.
995 *
996 * This is a very special module that allows a data-driven way to load components
997 * based on the content in a page.
998 */ 
999/**
1000 * This is the core map that helps the PageSectionRenderer component choose the
1001 * correct React component for each page section.
1002 */ const pageSectionRegistry = {
1003    notSupported: dynamic_default()(()=>__webpack_require__.e(/* import() */ 4953).then(__webpack_require__.bind(__webpack_require__, 624953)), {
1004        loadableGenerated: {
1005            webpack: ()=>[
1006                    /*require.resolve*/(624953)
1007                ]
1008        }
1009    }),
1010    pageSectionProductCarousels: dynamic_default()(()=>Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 434094)), {
1011        loadableGenerated: {
1012            webpack: ()=>[
1013                    /*require.resolve*/(434094)
1014                ]
1015        }
1016    }),
1017    dividerSection: dynamic_default()(()=>__webpack_require__.e(/* import() */ 6538).then(__webpack_require__.bind(__webpack_require__, 496538)), {
1018        loadableGenerated: {
1019            webpack: ()=>[
1020                    /*require.resolve*/(496538)
1021                ]
1022        }
1023    }),
1024    bannerCollectionSection: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(7967)]).then(__webpack_require__.bind(__webpack_require__, 457967)), {
1025        loadableGenerated: {
1026            webpack: ()=>[
1027                    /*require.resolve*/(457967)
1028                ]
1029        }
1030    }),
1031    containerGalleryRow: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(4689), __webpack_require__.e(9843)]).then(__webpack_require__.bind(__webpack_require__, 329843)), {
1032        loadableGenerated: {
1033            webpack: ()=>[
1034                    /*require.resolve*/(329843)
1035                ]
1036        }
1037    }),
1038    containerGalleryRowMediaTiles: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(4689), __webpack_require__.e(9095)]).then(__webpack_require__.bind(__webpack_require__, 329095)), {
1039        loadableGenerated: {
1040            webpack: ()=>[
1041                    /*require.resolve*/(329095)
1042                ]
1043        }
1044    }),
1045    mediaTileCollection: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(9986)]).then(__webpack_require__.bind(__webpack_require__, 559986)), {
1046        loadableGenerated: {
1047            webpack: ()=>[
1048                    /*require.resolve*/(559986)
1049                ]
1050        }
1051    }),
1052    richTextPageSection: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(2565)]).then(__webpack_require__.bind(__webpack_require__, 122565)), {
1053        loadableGenerated: {
1054            webpack: ()=>[
1055                    /*require.resolve*/(122565)
1056                ]
1057        }
1058    }),
1059    containerForm: dynamic_default()(()=>__webpack_require__.e(/* import() */ 7271).then(__webpack_require__.bind(__webpack_require__, 257271)), {
1060        loadableGenerated: {
1061            webpack: ()=>[
1062                    /*require.resolve*/(257271)
1063                ]
1064        }
1065    }),
1066    menuGroupContainer: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(1047), __webpack_require__.e(2185), __webpack_require__.e(777), __webpack_require__.e(4927), __webpack_require__.e(9469), __webpack_require__.e(4087), __webpack_require__.e(2066), __webpack_require__.e(3477), __webpack_require__.e(794), __webpack_require__.e(5799), __webpack_require__.e(8407), __webpack_require__.e(6710), __webpack_require__.e(17), __webpack_require__.e(9359), __webpack_require__.e(7539), __webpack_require__.e(5105), __webpack_require__.e(3833), __webpack_require__.e(8303), __webpack_require__.e(2409), __webpack_require__.e(5124), __webpack_require__.e(4070)]).then(__webpack_require__.bind(__webpack_require__, 974
1066070)), {
1067        loadableGenerated: {
1068            webpack: ()=>[
1069                    /*require.resolve*/(974070)
1070                ]
1071        }
1072    }),
1073    pageSectionSignupFooter: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(6215)]).then(__webpack_require__.bind(__webpack_require__, 406215)), {
1074        loadableGenerated: {
1075            webpack: ()=>[
1076                    /*require.resolve*/(406215)
1077                ]
1078        }
1079    }),
1080    pageSectionFaqSection: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(4749)]).then(__webpack_require__.t.bind(__webpack_require__, 724749, 23)), {
1081        loadableGenerated: {
1082            webpack: ()=>[
1083                    /*require.resolve*/(724749)
1084                ]
1085        }
1086    }),
1087    pageSectionListsCardsContainers: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(5154)]).then(__webpack_require__.bind(__webpack_require__, 835154)), {
1088        loadableGenerated: {
1089            webpack: ()=>[
1090                    /*require.resolve*/(835154)
1091                ]
1092        }
1093    }),
1094    pageSectionMembershipSurveySection: dynamic_default()(()=>__webpack_require__.e(/* import() */ 9609).then(__webpack_require__.t.bind(__webpack_require__, 279609, 23)), {
1095        loadableGenerated: {
1096            webpack: ()=>[
1097                    /*require.resolve*/(279609)
1098                ]
1099        }
1100    }),
1101    IFrameContent: dynamic_default()(()=>__webpack_require__.e(/* import() */ 1153).then(__webpack_require__.t.bind(__webpack_require__, 111153, 23)), {
1102        loadableGenerated: {
1103            webpack: ()=>[
1104                    /*require.resolve*/(111153)
1105                ]
1106        }
1107    }),
1108    pageSectionKlaviyoForm: dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(2599), __webpack_require__.e(1123)]).then(__webpack_require__.bind(__webpack_require__, 91123)), {
1109        loadableGenerated: {
1110            webpack: ()=>[
1111                    /*require.resolve*/(91123)
1112                ]
1113        }
1114    }),
1115    plpMiniNav: dynamic_default()(()=>__webpack_require__.e(/* import() */ 6311).then(__webpack_require__.t.bind(__webpack_require__, 266311, 23)), {
1116        loadableGenerated: {
1117            webpack: ()=>[
1118                    /*require.resolve*/(266311)
1119                ]
1120        }
1121    })
1122};
1123
1124;// CONCATENATED MODULE: ./src/components/templates/PageSectionRenderer/PageSectionRenderer.tsx
1125
1126
1127
1128const PageSectionRenderer = (props)=>{
1129    const { data: { pageSections = [] } = {} } = props;
1130    /**
1131   * validSectionsStr:
1132   * is a debugging string holding the list of successfully rendered page sections.
1133   * This string helps find the exact location of the Contentful's content model
1134   * that is not supported and failing to load in the page.
1135   */ let validSectionsStr = "";
1136    const pageSectionComponents = pageSections.map((pageSection)=>{
1137        /**
1138     * When determining how to map a page section entry to a React component, start
1139     * by getting the content type.
1140     *
1141     * Then use the content type to see if there is a React component in the
1142     * pageSectionRegistry.
1143     *
1144     * If there is no entry for this component, use the `notSupported` entry. This
1145     * helps aid development, as it provides a placeholder in the React component
1146     * tree in addition to providing a sensible logging message that the page
1147     * section is not supported.
1148     */ let contentType;
1149        /**
1150     * Check If it is a valid pageSection or skip it and log its location
1151     */ try {
1152            contentType = pageSection.sys.contentType.sys.id;
1153            validSectionsStr = "".concat(validSectionsStr).concat(contentType, "-->");
1154        } catch (err) {
1155            validSectionsStr = "".concat(validSectionsStr, "xxNotSupportedxx->");
1156            Logger_default().info("Contentful Error loading Page Section: ", validSectionsStr);
1157        }
1158        const existing = pageSectionRegistry[contentType] || pageSectionRegistry["notSupported"];
1159        /**
1160     * Ultimately, if there is no react component -- simply return null.
1161     */ if (!existing) {
1162            return ()=>null;
1163        }
1164        return existing;
1165    });
1166    return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
1167        children: pageSectionComponents.map((component, idx)=>{
1168            const Elem = component;
1169            const pageSection = pageSections[idx];
1170            const key = pageSection.sys.id;
1171            return /*#__PURE__*/ (0,jsx_runtime.jsx)(Elem, {
1172                data: pageSection
1173            }, key);
1174        })
1175    });
1176};
1177
1178;// CONCATENATED MODULE: ./src/components/templates/PageSectionRenderer/index.ts
1179
1180/* harmony default export */ var templates_PageSectionRenderer = (PageSectionRenderer);
1181
1182;// CONCATENATED MODULE: ./src/components/templates/CatchAllTemplate/CatchAllTemplate.tsx
1183
1184
1185
1186
1187
1188
1189
1190// TODO from Jared: need props type. (Comment to this comment, the props type is declared here: FC<PageDataModel>. No action is required)
1191const CatchAllTemplate = (props)=>{
1192    var _props_data_pageEntry_fields, _props_data_pageEntry, _props_data, _props_data1;
1193    const { getFavoritesList } = (0,useFavorites/* useFavorites */.r)();
1194    (0,react.useEffect)(()=>{
1195        var _props_data_pageEntry_fields, _props_data_pageEntry, _props_data;
1196        (0,dynamicYield/* setDYContext */.al)((props === null || props === void 0 ? void 0 : (_props_data = props.data) === null || _props_data === void 0 ? void 0 : (_props_data_pageEntry = _props_data.pageEntry) === null || _props_data_pageEntry === void 0 ? void 0 : (_props_data_pageEntry_fields = _props_data_pageEntry.fields) === null || _props_data_pageEntry_fields === void 0 ? void 0 : _props_data_pageEntry_fields.slug) === "/" ? "HOMEPAGE" : "OTHER");
1197        getFavoritesList();
1198    }, [
1199        props === null || props === void 0 ? void 0 : (_props_data = props.data) === null || _props_data === void 0 ? void 0 : (_props_data_pageEntry = _props_data.pageEntry) === null || _props_data_pageEntry === void 0 ? void 0 : (_props_data_pageEntry_fields = _props_data_pageEntry.fields) === null || _props_data_pageEntry_fields === void 0 ? void 0 : _props_data_pageEntry_fields.slug,
1200        getFavoritesList
1201    ]);
1202    if (props === null || props === void 0 ? void 0 : (_props_data1 = props.data) === null || _props_data1 === void 0 ? void 0 : _props_data1.pageEntry) {
1203        var _pageEntry_fields, _pageEntry_fields1, _pageEntry_fields2, _pageEntry_fields3;
1204        const { data: { pageEntry, footerEntry, headerEntry, pageRecommendations, pageMetadata, ctCategoryNameMap } } = props;
1205        var _pageEntry_fields_title;
1206        const pageTitle = (_pageEntry_fields_title = pageEntry === null || pageEntry === void 0 ? void 0 : (_pageEntry_fields = pageEntry.fields) === null || _pageEntry_fields === void 0 ? void 0 : _pageEntry_fields.title) !== null && _pageEntry_fields_title !== void 0 ? _pageEntry_fields_title : "";
1207        var _pageEntry_fields_description;
1208        const pageDescription = (_pageEntry_fields_description = pageEntry === null || pageEntry === void 0 ? void 0 : (_pageEntry_fields1 = pageEntry.fields) === null || _pageEntry_fields1 === void 0 ? void 0 : _pageEntry_fields1.description) !== null && _pageEntry_fields_description !== void 0 ? _pageEntry_fields_description : "";
1209        const canonicalURL = pageEntry === null || pageEntry === void 0 ? void 0 : (_pageEntry_fields2 = pageEntry.fields) === null || _pageEntry_fields2 === void 0 ? void 0 : _pageEntry_fields2.canonicalUrl;
1210        const isHome = (pageEntry === null || pageEntry === void 0 ? void 0 : (_pageEntry_fields3 = pageEntry.fields) === null || _pageEntry_fields3 === void 0 ? void 0 : _pageEntry_fields3.slug) === "/";
1211        const { fields: { pageSections = [] } } = pageEntry;
1212        const extendedPageMetadata = {
1213            ...pageMetadata,
1214            canonicalURL
1215        };
1216        return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
1217            children: [
1218                isHome && /*#__PURE__*/ (0,jsx_runtime.jsx)(HomepageStructuredData, {}),
1219                /*#__PURE__*/ (0,jsx_runtime.jsx)(AppPage/* default */.Z, {
1220                    pageTitle: pageTitle,
1221                    pageDescription: pageDescription,
1222                    headerEntry: headerEntry,
1223                    footerEntry: footerEntry,
1224                    pageRecommendations: pageRecommendations,
1225                    pageMetadata: extendedPageMetadata,
1226                    ctCategoryNameMap: ctCategoryNameMap,
1227                    children: /*#__PURE__*/ (0,jsx_runtime.jsx)(templates_PageSectionRenderer, {
1228                        data: {
1229                            pageSections
1230                        }
1231                    })
1232                })
1233            ]
1234        });
1235    } else {
1236        return null;
1237    }
1238};
1239
1240;// CONCATENATED MODULE: ./src/components/templates/CatchAllTemplate/index.ts
1241
1242/* harmony default export */ var templates_CatchAllTemplate = (CatchAllTemplate);
1243
1244;// CONCATENATED MODULE: ./src/pages/[[...slug]].tsx
1245/**
1246 * NextJS optional catch-all dynamic route.
1247 *
1248 * Ref: https://nextjs.org/docs/routing/dynamic-routes#optional-catch-all-routes
1249 *
1250 */ 
1251
1252
1253
1254
1255
1256
1257
1258const ContentfulLivePreviewWrapper = dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(3590), __webpack_require__.e(9092)]).then(__webpack_require__.bind(__webpack_require__, 779092)).then((mod)=>mod.ContentfulLivePreviewWrapper), {
1259    loadableGenerated: {
1260        webpack: ()=>[
1261                /*require.resolve*/(779092)
1262            ]
1263    },
1264    ssr: false
1265});
1266const Slug = (props)=>{
1267    var _data_pageEntry_fields, _data_pageEntry;
1268    const { data } = props;
1269    const contentfuLivePreview = (0,hooks/* useAppSelector */.C)(environmentSlice/* selectContentfulLivePreview */.Yw);
1270    const slug = data === null || data === void 0 ? void 0 : (_data_pageEntry = data.pageEntry) === null || _data_pageEntry === void 0 ? void 0 : (_data_pageEntry_fields = _data_pageEntry.fields) === null || _data_pageEntry_fields === void 0 ? void 0 : _data_pageEntry_fields.slug;
1271    // Redirect region-specific users to their dedicated become-a-member page.
1272    (0,react.useEffect)(()=>{
1273        if (slug !== common/* BECOME_A_MEMBER_URL */.rE) return;
1274        const regionSlug = common/* BECOME_A_MEMBER_REGION_SLUG_MAP */.kN[(0,cookies/* getRegionIdStoredInCookie */.SC)()];
1275        if (regionSlug) window.location.replace(regionSlug);
1276    }, [
1277        slug
1278    ]);
1279    if (contentfuLivePreview && (data === null || data === void 0 ? void 0 : data.pageEntry) && (data === null || data === void 0 ? void 0 : data.headerEntry)) {
1280        return /*#__PURE__*/ (0,jsx_runtime.jsx)(ContentfulLivePreviewWrapper, {
1281            entries: [
1282                data.pageEntry,
1283                data.headerEntry
1284            ],
1285            children: (param)=>{
1286                let { updatedEntries } = param;
1287                const [pageEntry, headerEntry] = updatedEntries;
1288                return /*#__PURE__*/ (0,jsx_runtime.jsx)(templates_CatchAllTemplate, {
1289                    data: {
1290                        ...data,
1291                        pageEntry,
1292                        headerEntry
1293                    }
1294                });
1295            }
1296        });
1297    }
1298    return /*#__PURE__*/ (0,jsx_runtime.jsx)(templates_CatchAllTemplate, {
1299        data: data
1300    });
1301};
1302var __N_SSG = true;
1303/* harmony default export */ var _slug_ = (Slug);
1304
1305
1306/***/ })
1307
1308},
1309/******/ function(__webpack_require__) { // webpackRuntimeModules
1310/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
1311/******/ __webpack_require__.O(0, [8075,5432,1255,8867,3153,3949,3326,6382,68,4772,7987,5450,4523,737,6609,3436,9539,4483,2611,4263,1650,9786,5551,9013,3038,170,9277,29,5098,4243,4778,9864,8764,6246,7723,6593,2678,4582,4885,1061,71,678,641,9352,1772,5401,2914,3483,8735,6576,5218,9774,480,179], function() { return __webpack_exec__(895759); });
1312/******/ var __webpack_exports__ = __webpack_require__.O();
1313/******/ _N_E = __webpack_exports__;
1314/******/ }
1315]);

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.