PageSourceSearch

https://www.dayoutwiththekids.co.uk/_next/static/chunks/pages/design-system/cards-23c59da561dc9407.js

js dayoutwiththekids.co.uk collected 2026-09-24 09:21:31 UTC 35,744 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="44dc7431-1237-42f5-83ba-9d9f6a1a18ae",e._sentryDebugIdIdentifier="sentry-dbid-44dc7431-1237-42f5-83ba-9d9f6a1a18ae")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7189],{60838:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/design-system/cards",function(){return a(77803)}])},64946:function(e,t,a){"use strict";var i=a(72253),s=a(14932),r=a(91309),l=a(85893),n=a(67294),o=a(14411),c=a(18442),d=a(57304),m=a(45048),u=a(31079),g=a(96981),h=a(34035);t.Z=function(e){var t,a=(0,n.useRef)(null),f=(0,n.useRef)(null),p=(0,n.useMemo)(function(){if(e.sectionId&&e.metadata)return(0,s._)((0,i._)({},e.metadata),{sectionId:e.sectionId,component:"Attraction Card Carousel"})},[e.sectionId,e.metadata]);return(0,n.useEffect)(function(){if(p&&a.current){var e=new IntersectionObserver(function(t){(0,r._)(t,1)[0].isIntersecting&&((0,h.HU)({eventName:"attraction_card_impression",trackingProps:p}),e.disconnect())},{threshold:.5});return e.observe(a.current),function(){return e.disconnect()}}},[]),(0,l.jsxs)("div",{ref:a,className:"group relative flex flex-col bg-white hover:shadow-[0_8px_24px_-6px_rgba(0,0,0,0.10)] rounded-[24px] h-full transition-shadow duration-200 ease-out",children:[(0,l.jsx)("a",{ref:f,href:e.href,className:"z-[1] absolute inset-0 rounded-[24px]","aria-label":"View details for ".concat(e.title),onClick:function(){p&&(0,h.YT)({eventName:"attraction_card_click",trackingProps:p})}}),e.onSaveToggle&&(0,l.jsx)("button",{type:"button",className:"top-1 right-1 z-20 absolute flex justify-center items-center bg-ds-grey-100 hover:bg-white shadow-sm rounded-full w-8 h-8 transition-colors","aria-label":e.isSaved?"Remove ".concat(e.title," from saved"):"Save ".concat(e.title),onClick:e.onSaveToggle,children:(0,l.jsx)(c.Z,{name:e.isSaved?"bookmark-solid":"bookmark",width:16,height:16})}),(0,l.jsxs)("div",{className:"z-[2] relative flex flex-col flex-1 pointer-events-none",children:[(0,l.jsxs)("div",{className:"relative","aria-hidden":"true",children:[(0,l.jsx)("div",{className:"rounded-t-[24px] aspect-[16/8] overflow-hidden",children:(null===(t=e.images)||void 0===t?void 0:t[0])&&(0,l.jsx)(o.Z,{imageUrl:e.images[0].url,alt:e.images[0].alt,width:400,height:300,pictureClassName:"block w-full h-full transition-transform duration-500 ease-out group-hover:scale-105",imageClassName:"w-full h-full object-cover",loading:"lazy"})}),e.salesFlag&&(0,l.jsx)("span",{className:"top-2 left-1 absolute bg-ds-grey-100 px-2 py-1 rounded-lg font-bold pointer-events-none ds-label-sm-caps",children:e.salesFlag}),e.venueLogoUrl&&(0,l.jsx)(o.Z,{imageUrl:e.venueLogoUrl,alt:"".concat(e.title," logo"),width:48,height:48,pictureClassName:"absolute bottom-0 right-2 z-10 w-[48px] h-[48px] rounded-full border border-white bg-white overflow-hidden transform translate-y-1/2",imageClassName:"w-full h-full object-cover"})]}),(0,l.jsxs)("div",{className:"flex-1 px-4 pt-3 pb-3 border-ds-grey-300 border-r border-l",children:[(0,l.jsx)(d.Z,{location:e.displayLocation,title:e.title,className:"mb-3 [&>h3]:line-clamp-2"}),(0,l.jsx)(m.Z,{categories:e.categories}),(0,l.jsx)(u.Z,{isVerified:e.isVerified,rating:e.rating,distance:e.distance,minAge:e.minAge})]}),(0,l.jsx)(g.Z,{title:e.title,price:e.price,ticketsHref:e.ticketsHref,onDetailsClick:function(){var e;return null===(e=f.current)||void 0===e?void 0:e.click()},onTicketsClick:function(){p&&(0,h.YT)({eventName:"attraction_card_click",trackingProps:p})}})]})]})}},57304:function(e,t,a){"use strict";var i=a(85893);t.Z=function(e){var t="light"===e.variant,a="ds-bc-heading-03 ".concat(t?"text-white":""," ").concat("span"===e.titleAs?"block":""),s="span"===e.titleAs?"span":"h3";return(0,i.jsxs)("div",{className:e.className,children:[(0,i.jsx)("span",{className:"block mb-1 text-[10px] leading-[14px] text-[#a1a1a9] tracking-[0.12em] uppercase font-medium ".concat(t?"text-[#e5d3b3]/90":"text-ds-grey-400"),children:e.location}),(0,i.jsx)(s,{className:a,children:e.title})]})}},65834:function(e,t,a){"use strict";var i=a(85893),s=a(14411),r={"bottom-left":"absolute bottom-0 left-0","bottom-center":"absolute bottom-0 left-0 right-0 flex justify-center","bottom-right":"absolute bottom-0 right-0"};t.Z=function(e){var t=(0,i.jsxs)("div",{className:"relative rounded-lg aspect-square overflow-hidden",children:[(0,i.jsx)(s.Z,{imageUrl:e.backgroundImageUrl,alt:"",width:260,height:260,pictureClassName:"absolute inset-0",imageClassName:"w-full h-full object-cover"}),(0,i.jsx)(s.Z,{imageUrl:e.monsterImage.url,alt:e.monsterImage.alt,width:e.monsterImage.width,height:e.monsterImage.height,pictureClassName:r[e.monsterImage.position],imageClassName:"block"}),(0,i.jsxs)("div",{className:"absolute inset-0 flex flex-col justify-center items-center text-white text-center",children:[(0,i.jsx)("span",{className:"font-inter font-normal text-[16px] uppercase leading-normal tracking-[2px]",children:e.subt
1itle}),(0,i.jsx)("h3",{className:"font-bcnovaticacyr font-semibold text-[40px] leading-[40px] tracking-[-0.25px]",dangerouslySetInnerHTML:{__html:e.title}})]})]});return(0,i.jsx)("div",{className:"relative shrink-0",children:e.href?(0,i.jsx)("a",{href:e.href,"aria-label":"".concat(e.subtitle," ").concat(e.title),onClick:e.onClick,children:t}):t})}},57351:function(e,t,a){"use strict";var i=a(72253),s=a(14932),r=a(91309),l=a(85893),n=a(67294),o=a(14411),c=a(18442),d=a(34035);t.Z=function(e){var t=(0,n.useRef)(null),a=(0,n.useMemo)(function(){if(e.sectionId&&e.metadata)return(0,s._)((0,i._)({},e.metadata),{sectionId:e.sectionId,component:"Ticket Card"})},[e.sectionId,e.metadata]);return(0,n.useEffect)(function(){if(a&&t.current){var e=new IntersectionObserver(function(t){(0,r._)(t,1)[0].isIntersecting&&((0,d.HU)({eventName:"ticketing_card_impression",trackingProps:a}),e.disconnect())},{threshold:.5});return e.observe(t.current),function(){return e.disconnect()}}},[]),(0,l.jsx)("div",{ref:t,className:"relative flex flex-col bg-white shadow-[0px_1px_4px_0px_rgba(0,0,0,0.02)] border border-ds-grey-300 rounded-lg h-full overflow-hidden",children:(0,l.jsxs)("a",{href:e.href,className:"flex flex-col flex-1","aria-label":"View tickets for ".concat(e.title),onClick:function(){a&&(0,d.YT)({eventName:"ticketing_card_click",trackingProps:a})},children:[(0,l.jsxs)("div",{className:"relative",children:[(0,l.jsx)("div",{className:"aspect-[16/9] overflow-hidden",children:(0,l.jsx)(o.Z,{imageUrl:e.image.url,alt:e.image.alt,width:400,height:225,pictureClassName:"block w-full h-full overflow-hidden",imageClassName:"w-full h-full object-cover"})}),e.salesFlag&&(0,l.jsx)("span",{className:"top-2 left-2 z-10 absolute bg-white/75 backdrop-blur-md px-3 py-2 rounded-full pointer-events-none ds-label-sm-caps",children:e.salesFlag}),e.venueLogoUrl&&(0,l.jsx)(o.Z,{imageUrl:e.venueLogoUrl,alt:"".concat(e.title," logo"),width:48,height:48,pictureClassName:"absolute top-2 right-2 z-10 w-[48px] h-[48px] rounded-full border-[1.2px] border-white bg-white overflow-hidden",imageClassName:"w-full h-full object-cover"})]}),(0,l.jsxs)("div",{className:"flex flex-col flex-1 gap-2 px-4 pt-3 pb-4",children:[(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[e.callout&&(0,l.jsx)("span",{className:"text-ds-purple-300 ds-label-sm-caps",children:e.callout}),(0,l.jsx)("h3",{className:"truncate ds-heading-05",children:e.title}),(0,l.jsx)("span",{className:"text-ds-grey-500 ds-label-md",children:e.location})]}),(0,l.jsx)("ul",{"aria-label":"Ticket benefits",className:"pb-2 border-ds-grey-200 border-b",children:e.usps&&e.usps.length>0?e.usps.map(function(e,t){return(0,l.jsxs)("li",{className:"flex items-center gap-2 mb-1",children:[(0,l.jsx)(c.Z,{name:e.icon,width:12,height:12}),(0,l.jsx)("span",{className:"ds-copy-small",children:e.value})]},t)}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("li",{className:"flex items-center gap-2 mb-1",children:[(0,l.jsx)(c.Z,{name:"ticket-usp-phone",width:12,height:12}),(0,l.jsx)("span",{className:"ds-copy-small",children:"Mobile e-ticket"})]}),(0,l.jsxs)("li",{className:"flex items-center gap-2 mb-1",children:[(0,l.jsx)(c.Z,{name:"ticket-usp-note",width:12,height:12}),(0,l.jsx)("span",{className:"ds-copy-small",children:"Instant confirmation"})]})]})}),(0,l.jsx)("div",{className:"flex flex-col gap-2 mt-auto",children:(0,l.jsxs)("div",{className:"flex justify-between items-end",children:[e.reviewCount&&e.rating&&(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,l.jsx)(c.Z,{name:"review-star",width:14,height:14}),(0,l.jsxs)("span",{className:"ds-label-md",children:[e.rating,void 0!==e.reviewCount&&" (".concat(e.reviewCount,")")]})]}),e.price&&(0,l.jsxs)("div",{className:"flex flex-col items-end ml-auto",children:[(0,l.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:"from"}),(0,l.jsxs)("span",{className:"flex items-end gap-1",children:[e.price.original&&(0,l.jsx)("s",{className:"opacity-30 font-bold line-through ds-label-sm",children:e.price.original}),(0,l.jsx)("span",{className:"ds-label-bold",children:e.price.current})]})]})]})})]})]})})}},91089:function(e,t,a){"use strict";var i=a(72253),s=a(14932),r=a(47702),l=a(85893),n=a(95175),o=a(18442);t.Z=function(e){var t=e.style,a=void 0===t?"solid":t,c=e.size,d=void 0===c?"md":c,m=e.colour,u=void 0===m?"purple":m,g=e.title,h=e.iconLeft,f=e.iconRight,p=e.className,b=e.disabled,v=e.ariaLabel,x=(0,r._)(e,["style","size","colour","title","iconLeft","iconRight","className","disabled","ariaLabel"]);return(0,l.jsxs)("button",(0,s._)((0,i._)({className:"".concat((0,n.y)(a,d,u,p)," disabled:opacity-[0.24] disabled:pointer-events-none"),disabled:b,"aria-label":v||g},x),{children:[h&&(0,l.jsx)(o.Z,{name:h,width:16,height:16}),(0,l.jsx)("span",{children:g}),f&&(0,l.jsx)(o.Z,{name:f,width:16,height:16})]}))}},14411:function(e,t,a){"use strict";var i=a(72253),s=a(91309),r=a(85893),l=a(67294),getFileExtension=function(e){var t=e.lastIndexOf(".");return -1!==t?e.substring(t+1):""},n=/^[a-z]+_[^/]+$/,stripLeadingTransformations=function(e){for(var t,a=e.split("/");a.length>1&&(t=a[0]).length>0&&t.split(",").every(function(e){return n.test(e)});)a.shift();return a.join("/")},buildCloudinaryUrl=function(e,t,a,i){var s=["c_fill",i,"w_".concat(t)];return a&&s.push("h_".concat(a)),"".concat("https://res.dayoutwiththekids.co.uk/image/upload/").concat(s.join(","),"/").concat(e)};t.Z=function(e){var t,a,n,o,c=(0,l.useRef)(null),d=(0,s._)((0,l.useState)(!1),2),m=d[0],u=d[1];(0,l.useEffect)(function(){var e;(null===(e=c.current)||void 0===e?void 0:e.complete)&&u(!0)},[]);var handleLoad=function(){return u(!0)},handleError=function(){return u(!0)},g="".concat(null!==(t=e.pictureClassName)&&void 0!==t?t:""," ").concat(m?"":"bg-ds-grey-200").trim();if(!e.imageUrl)return(0,r.jsx)(r.Fragment,{});if(!e.imageUrl.includes("/upload/"))return(0,r.jsx)("picture",{className:g,children:(0,r.jsx)("img",(0,i._)({ref:c,src:e.imageUrl,alt:e.alt,width:e.width,height:e.height,className:e.imageClassName,loading:null!==(a=e.loading)&&void 0!==a?a:"lazy",title:e.alt,onLoad:handleLoad,onError:handleError},e.presentation&&{role:"presentation"}))});var h=e.imageUrl.split("/upload/")[1];if(null==h)return(0,r.jsx)(r.Fragment,{});h=stripLeadingTransformations(h);var f=getFileExtension(e.imageUrl);f&&(h=h.replace(".".concat(f),""));var p=e.quality?"q_".concat(e.quality):"q_auto",b=buildCloudinaryUrl(h,e.width,e.height,p),v=buildCloudinaryUrl(h,2*e.width,e.height?2*e.height:void 0,p);return(0,r.jsxs)("picture",{className:g,children:[e.srcSet&&e.srcSet.length>0&&e.srcSet.map(function(e){var t=e.width,a=e.height,i=e.breakpoint,s=buildCloudinaryUrl(h,t,a,p),l=buildCloudinaryUrl(h,2*t,a?2*a:void 0,p);return(0,r.jsx)("source",{srcSet:"".concat(s," 1x, ").concat(l," 2x"),media:"(min-width: ".concat(i,"px)")},i)}),(0,r.jsx)("img",(0,i._)({ref:c,src:b,srcSet:"".concat(b," 1x, ").concat(v," 2x"),alt:e.alt,width:e.width,height:null!==(n=null==e?void 0:e.he
1ight)&&void 0!==n?n:"auto",className:e.imageClassName,loading:null!==(o=e.loading)&&void 0!==o?o:"lazy",title:e.alt,onLoad:handleLoad,onError:handleError},e.presentation&&{role:"presentation"}))]})}},11444:function(e,t,a){"use strict";var i=a(85893),s={default:{container:"flex justify-center items-center gap-1.5",activeDot:"w-6 h-1 rounded-full bg-black",inactiveDot:"w-1 h-1 rounded-full bg-ds-grey-500"},light:{container:"flex justify-center items-center gap-1.5",activeDot:"w-6 h-1 rounded-full bg-white",inactiveDot:"w-1 h-1 rounded-full bg-white"},pill:{container:"flex justify-center items-center gap-1 bg-white px-3 py-2 rounded-full",activeDot:"w-4 h-1 rounded-sm bg-black",inactiveDot:"w-1 h-1 rounded-full bg-ds-grey-400"}};t.Z=function(e){if(e.count<=1)return null;var t,a,r=s[null!==(t=e.variant)&&void 0!==t?t:"default"];return(0,i.jsx)("div",{className:"".concat(r.container," ").concat(null!==(a=e.className)&&void 0!==a?a:""),"aria-hidden":"true",children:Array.from({length:e.count},function(t,a){return(0,i.jsx)("span",{className:"block transition-all duration-300 ".concat(a===e.activeIndex?r.activeDot:r.inactiveDot)},a)})})}},77803:function(e,t,a){"use strict";a.r(t),a.d(t,{__N_SSG:function(){return I},default:function(){return cards}});var i=a(72253),s=a(14932),r=a(47702),l=a(91309),n=a(85893),o=a(67294),c=a(41664),d=a.n(c),m=a(62981),u=a(61493),g=a(36302),h=a(64946),f=a(57351),p=a(14411),b=a(91089),v=a(34035),cards_TicketCardFeatured=function(e){var t=e.images[0],a=e.images[1],r=e.images[2],c=(0,o.useRef)(null),d=(0,o.useMemo)(function(){if(e.sectionId&&e.metadata)return(0,s._)((0,i._)({},e.metadata),{sectionId:e.sectionId,component:"Ticket Card Featured"})},[e.sectionId,e.metadata]);return(0,o.useEffect)(function(){if(d&&c.current){var e=new IntersectionObserver(function(t){(0,l._)(t,1)[0].isIntersecting&&((0,v.HU)({eventName:"ticketing_card_impression",trackingProps:d}),e.disconnect())},{threshold:.5});return e.observe(c.current),function(){return e.disconnect()}}},[]),(0,n.jsx)("div",{ref:c,className:"group relative flex flex-col items-center",children:(0,n.jsxs)("a",{href:e.href,className:"flex flex-col items-center w-full","aria-label":"View tickets for ".concat(e.title),onClick:function(){d&&(0,v.YT)({eventName:"ticketing_card_click",trackingProps:d})},children:[(0,n.jsxs)("div",{className:"before:bottom-0 before:left-0 before:absolute relative before:bg-ds-grey-100 before:rounded-t-lg w-full before:w-full before:h-[60%] before:content-['']",children:[a&&(0,n.jsxs)("div",{className:"top-1/2 left-[1.80%] absolute w-[70%] -rotate-[4deg] -translate-y-1/2",children:[(0,n.jsx)(p.Z,{imageUrl:a.url,alt:a.alt,width:240,height:160,pictureClassName:"block w-full relative pt-[56.25%] rounded-lg overflow-hidden",imageClassName:"block absolute top-0 left-0 w-full h-full object-cover object-center",loading:"lazy"}),(0,n.jsx)("div",{className:"absolute inset-0 bg-ds-modal-overlay rounded-lg"})]}),r&&(0,n.jsxs)("div",{className:"top-1/2 right-[1.80%] absolute w-[70%] rotate-[4deg] -translate-y-1/2",children:[(0,n.jsx)(p.Z,{imageUrl:r.url,alt:r.alt,width:240,height:160,pictureClassName:"block w-full relative pt-[56.25%] rounded-lg overflow-hidden",imageClassName:"block absolute top-0 left-0 w-full h-full object-cover object-center",loading:"lazy"}),(0,n.jsx)("div",{className:"absolute inset-0 bg-ds-modal-overlay rounded-lg"})]}),t&&(0,n.jsx)("div",{className:"mx-auto w-[80%]",children:(0,n.jsx)(p.Z,{imageUrl:t.url,alt:t.alt,width:280,height:158,pictureClassName:"block w-full relative pt-[56.25%] rounded-lg overflow-hidden border-2 border-white",imageClassName:"block absolute top-0 left-0 w-full h-full object-cover object-center"})})]}),(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2 bg-ds-grey-100 px-6 pt-4 pb-6 rounded-b-2xl w-full",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center gap-1 text-center",children:[(0,n.jsx)("span",{className:"text-ds-grey-500 ds-label-sm-caps",children:e.location}),(0,n.jsx)("h3",{className:"ds-bc-heading-03",children:e.title})]}),e.price&&(0,n.jsxs)("p",{className:"mb-0 text-center ds-copy-small",children:["Tickets from ",(0,n.jsx)("strong",{className:"font-bold ds-copy-small",children:e.price.current})]}),(0,n.jsx)(b.Z,{style:"outline",colour:"black",title:"Buy Tickets",size:"lg"})]})]})})},x=a(65834),k=[{url:"https://res.dayoutwiththekids.co.uk/image/upload/v1754650600/pdps/c3ca24f5-4ab7-4037-af88-9b6252d73670/78512e3e-0ac0-4723-9e21-7adf871203bd/file_t8dvqp.jpg",alt:"Alton Towers Theme Park — Toxicator roller coaster"},{url:"https://res.dayoutwiththekids.co.uk/image/upload/v1754650622/pdps/c3ca24f5-4ab7-4037-af88-9b6252d73670/78512e3e-0ac0-4723-9e21-7adf871203bd/file_zxz2t7.jpg",alt:"Alton Towers Theme Park — aerial view"},{url:"https://res.dayoutwiththekids.co.uk/image/upload/v1754650607/pdps/c3ca24f5-4ab7-4037-af88-9b6252d73670/78512e3e-0ac0-4723-9e21-7adf871203bd/file_uz94c1.jpg",alt:"Alton Towers Theme Park — park view"}],w="https://res.dayoutwiththekids.co.uk/image/upload/v1744366907/attractions/a/0132418b-c25c-44d4-9c02-5cbafb3b55a7/file_aygb6d.webp",N=[{label:"Full — all props, multiple images",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"Single image — no carousel",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:[k[0]],price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No sales flag",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No venue logo",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}}
1,{label:"No categories",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:[],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No distance",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No min age",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No original price — no strikethrough",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20"}},{label:"No trust signals — not verified, no rating, no distance, no age",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"Minimal — required fields only, no tickets href",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:[],images:[k[0]]}],y=[{label:"Full — all props",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",description:"Big thrills, family spills & magical moments... the UK's ultimate theme park adventure starts",images:k,categories:["Theme Parks","Indoor & Outdoor"],venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+"},{label:"No venue logo",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",description:"Big thrills, family spills & magical moments... the UK's ultimate theme park adventure starts",images:k,categories:["Theme Parks","Indoor & Outdoor"],isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+"},{label:"No distance",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",description:"Big thrills, family spills & magical moments... the UK's ultimate theme park adventure starts",images:k,categories:["Theme Parks","Indoor & Outdoor"],venueLogoUrl:w,isVerified:!0,rating:"4.5",minAge:"Ages 5+"},{label:"No trust signals",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",description:"Big thrills, family spills & magical moments... the UK's ultimate theme park adventure starts",images:k,categories:[],venueLogoUrl:w},{label:"Minimal — required fields only",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",description:"Big thrills, family spills & magical moments... the UK's ultimate theme park adventure starts",images:[k[0]],categories:[]}],j=[{label:"Full — all props",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No sales flag",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],venueLogoUrl:w,isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No venue logo",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",ticketsHref:"/tickets/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:["Theme Parks","Indoor & Outdoor"],salesFlag:"Save 10%",isVerified:!0,rating:"4.5",distance:"1.4",minAge:"Ages 5+",images:k,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"Minimal — required fields only",title:"Alton Towers Theme Park",href:"/attractions/alton-towers-theme-park",displayLocation:"Alton, Staffordshire",categories:[],images:[k[0]]}
1],T=[{label:"Full — all props",title:"The Paddington Bear Experience",href:"/tickets/paddington-bear-experience",callout:"General Admission",location:"Cheshire",image:k[0],venueLogoUrl:w,salesFlag:"Exclusive Price",usps:[{value:"Instant ticket delivery",icon:"ticket-usp-instant"},{value:"Mobile e-ticket",icon:"ticket-usp-phone"},{value:"Instant confirmation",icon:"ticket-usp-note"}],rating:"4.5",reviewCount:44,price:{current:"\xa328.00",original:"\xa330.00"}},{label:"No sales flag",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",callout:"General Admission",location:"Alton, Staffordshire",image:k[1],venueLogoUrl:w,usps:[{value:"Flexible cancellation",icon:"ticket-usp-calendar-tick"},{value:"Mobile e-ticket",icon:"ticket-usp-phone"}],rating:"4.5",reviewCount:120,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No venue logo",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",callout:"General Admission",location:"Alton, Staffordshire",image:k[2],salesFlag:"Save 10%",usps:[{value:"Instant ticket delivery",icon:"ticket-usp-instant"}],rating:"4.5",reviewCount:120,price:{current:"\xa325.20",original:"\xa328.00"}},{label:"No USPs",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",callout:"General Admission",location:"Alton, Staffordshire",image:k[0],venueLogoUrl:w,rating:"4.5",reviewCount:120,price:{current:"\xa325.20"}},{label:"No price",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",callout:"General Admission",location:"Alton, Staffordshire",image:k[0],venueLogoUrl:w,usps:[{value:"Instant ticket delivery",icon:"ticket-usp-instant"},{value:"Mobile e-ticket",icon:"ticket-usp-phone"}],rating:"4.5",reviewCount:44},{label:"Minimal — required fields only",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",location:"Alton, Staffordshire",image:k[0]}],A=[{label:"Full — 3 images + price",title:"Zip World London at the ArcelorMittal Orbit",href:"/tickets/zip-world-london",location:"London, Greater London",images:k,price:{current:"\xa325.20"}},{label:"Single image — no fan effect",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",location:"Alton, Staffordshire",images:[k[0]],price:{current:"\xa328.00"}},{label:"No price",title:"Alton Towers Theme Park",href:"/tickets/alton-towers-theme-park",location:"Alton, Staffordshire",images:k}],S="https://dayoutwiththekids-res.cloudinary.com/image/upload",_=[{label:"Theme Parks",title:"Theme Parks",subtitle:"Up to 40% off",backgroundImageUrl:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-pink-card_gmrg2a.jpg"),monsterImage:{url:"".concat(S,"/v1775645050/design-system-v1/membership-cards/membership-monsters-theme-park_i7pcg9.png"),alt:"Theme park monsters",width:179,height:136,position:"bottom-left"}},{label:"Cinema Tickets",title:"Cinema Tickets",subtitle:"Up to 40% off",backgroundImageUrl:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-purple-card_uybmu0.jpg"),monsterImage:{url:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-monsters-cinema_asllfh.png"),alt:"Cinema monsters",width:171,height:96,position:"bottom-center"}},{label:"Zoos & Wildlife",title:"Zoos & Wildlife",subtitle:"Kids go free",backgroundImageUrl:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-green-card_wfgiht.jpg"),monsterImage:{url:"".concat(S,"/v1775645050/design-system-v1/membership-cards/membership-monsters-wildlife_npnwtm.png"),alt:"Wildlife monsters",width:178,height:126,position:"bottom-right"}},{label:"Outdoor Adventure",title:"Outdoor Adventure",subtitle:"Up to 60% off",backgroundImageUrl:"".concat(S,"/v1775645048/design-system-v1/membership-cards/membership-brown-card_m7pxg0.jpg"),monsterImage:{url:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-monsters-outdoor_xmtavr.png"),alt:"Outdoor adventure monsters",width:111,height:109,position:"bottom-right"}},{label:"Indoor Activities",title:"Indoor Activities",subtitle:"Up to 50% off",backgroundImageUrl:"".concat(S,"/v1775645048/design-system-v1/membership-cards/membership-blue-card_vj0y8y.jpg"),monsterImage:{url:"".concat(S,"/v1775645049/design-system-v1/membership-cards/membership-monsters-indoor-activities_pofmdk.png"),alt:"Indoor activities monsters",width:165,height:86,position:"bottom-center"}}],I=!0,cards=function(){var e=(0,l._)((0,o.useState)(new Set),2),t=e[0],a=e[1],toggleSaved=function(e){a(function(t){var a=new Set(t);return a.has(e)?a.delete(e):a.add(e),a})};return(0,n.jsx)(m.Z,{dataLayer:{pageType:"DESIGN_SYSTEM"},head:{title:"Cards | Design System | Day Out With The Kids",canonicalUrl:"https://www.dayoutwiththekids.co.uk/design-system/cards",metaDescription:"Card component variants and examples used across the DOWTK frontend.",next:null,prev:null,socialMeta:{title:"Cards — Design System",type:"website",url:"https://www.dayoutwiththekids.co.uk/design-system/cards",image:null,description:"Card component variants and examples used across the DOWTK frontend.",coordinates:null},enableAdverts:!1,noIndex:!0},preview:!1,disableAds:!0,children:(0,n.jsxs)("div",{className:"container",children:[(0,n.jsx)("div",{className:"mb-6",children:(0,n.jsx)(d(),{href:"/design-system",className:"text-ds-purple-300 ds-copy-small",children:"← Back to Design System"})}),(0,n.jsxs)("section",{className:"w-full",children:[(0,n.jsx)("h1",{className:"mb-1 ds-bc-heading-01",children:"Cards"}),(0,n.jsx)("p",{className:"mb-8 text-ds-grey-500 ds-copy-regular",children:"Product card variants used to surface attractions, events and experiences across the site."}),(0,n.jsx)("h2",{className:"mb-4 ds-bc-heading-02",children:"Product Card"}),(0,n.jsx)("div",{className:"gap-2 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 w-full",children:N.map(function(e,a){var l=e.label,o=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:l}),(0,n.jsx)(u.Z,(0,s._)((0,i._)({},o),{isSaved:t.has(a),onSaveToggle:function(){return toggleSaved(a)}}))]},a)})}),(0,n.jsx)("h2",{className:"mt-12 mb-4 ds-bc-heading-02",children:"Premium Card"}),(0,n.jsx)("div",{className:"gap-2 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 w-full",children:y.map(function(e,t){var a="premium-".concat(t),s=e.label,l=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:s}),(0,n.jsx)(g.Z,(0,i._)({},l))]},a)})}),(0,n.jsx)("h2",{className:"mt-12 mb-4 ds-bc-heading-02",children:"Carousel Card"}),(0,n.jsx)("div",{className:"gap-2 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 w-full",children:j.map(function(e,a){var l="carousel-".concat(a),o=e.label,c=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:o}),(0,n.jsx)(h.Z,(0,s._)((0,i._)({},c),{isSaved:t.has(2e3+a),onSaveToggle:function(){return toggleSaved(2e3+a)}}))]},l)})}),(0,n.jsx)("h2",{className:"mt-12 mb-4 ds-bc-heading-02",children:"Ticket Card"}),(0,n.jsx)("div",{className:"gap-2 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 w-full",children:T.map(function(e,t){var a="ticket-".concat(t),s=e.label,l=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:s}),(0,n.jsx)(f.Z,(0,i._)({},l))]},a)})}),(0,n.jsx)("h2",{className:"mt-12 mb-4 ds-bc-heading-02",children:"Ticket Card Featured"}),(0,n.jsx)("div",{className:"gap-6 grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 w-full",children:A.map(function(e,t){var a="ticket-featured-".concat(t),s=e.label,l=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:s}),(0,n.jsx)(cards_TicketCardFeatured,(0,i._)({},l))]},a)})}),(0,n.jsx)("h2",{className:"mt-12 mb-4 ds-bc-heading-02",children:"Membership Monster Card"}),(0,n.jsx)("div",{className:"gap-2 grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-5 w-full",children:_.map(function(e,t){var a="membership-monster-".concat(t),s=e.label,l=(0,r._)(e,["label"]);return(0,n.jsxs)("div",{className:"flex flex-col [&>div]:flex-1 gap-2",children:[(0,n.jsx)("span",{className:"text-ds-grey-400 ds-label-sm",children:s}),(0,n.jsx)(x.Z,(0,i._)({},l))]},a)})})]})]})})}},76511:function(e,t,a){"use strict";function clampNumber(e,t,a){return Math.min(Math.max(e,t),a)}function isNumber(e){return"number"==typeof e&&!isNaN(e)}function Fade(e={}){let t,a,i,s;let r=[],l=0,n=0,o=0,c=!1;function fadeToSelectedSnapInstantly(){let e=t.selectedScrollSnap();setOpacities(e,1)}function pointerUp(){c=!1}function pointerDown(){c=!1,l=0,n=0}function select(){let e=t.internalEngine().scrollBody.duration();n=e?0:1,c=!0,e||fadeToSelectedSnapInstantly()}function setOpacities(e,a){let i=t.scrollSnapList();
1i.forEach((i,s)=>{let n=Math.abs(a),d=r[s],m=s===e,u=clampNumber(m?d+n:d-n,0,1);r[s]=u;let g=m&&c,h=t.previousScrollSnap();g&&(r[h]=1-u),m&&function(e,a){let{index:i,dragHandler:s,scrollSnaps:r}=t.internalEngine(),n=s.pointerDown(),c=1/(r.length-1),d=e,m=n?t.selectedScrollSnap():t.previousScrollSnap();if(n&&d===m){let e=-1*Math.sign(l);d=m,m=i.clone().set(m).add(e).get()}let u=m*c,g=(d-m)*c;o=u+g*a}(e,u),function(e){let a=t.internalEngine().slideRegistry[e],{scrollSnaps:i,containerRect:s}=t.internalEngine(),l=r[e];a.forEach(a=>{let r=t.slideNodes()[a].style,n=parseFloat(l.toFixed(2)),o=n>0,c=o?i[e]:s.width+2,d=function(e){let{axis:a}=t.internalEngine(),i=a.scroll.toUpperCase();return`translate${i}(${a.direction(e)}px)`}(c);o&&(r.transform=d),r.opacity=n.toString(),r.pointerEvents=l>.5?"auto":"none",o||(r.transform=d)})}(s)})}function getFadeIndex(){let{dragHandler:e,index:a,scrollBody:i}=t.internalEngine(),s=t.selectedScrollSnap();if(!e.pointerDown())return s;let r=Math.sign(i.velocity()),n=Math.sign(l),o=a.clone().set(s).add(-1*r).get();return r&&n?n===r?o:s:null}function settled(){let{target:e,location:i}=t.internalEngine(),s=e.get()-i.get(),o=getFadeIndex(),c=!isNumber(o);return function(e){let{dragHandler:i,scrollBody:s}=e.internalEngine(),o=i.pointerDown(),c=s.velocity(),d=s.duration(),m=getFadeIndex(),u=!isNumber(m);if(o){if(!c)return;l+=c,n=Math.abs(c/a),function(e){let{scrollSnaps:a,location:i,target:s}=t.internalEngine();isNumber(e)&&!(r[e]<.5)&&(i.set(a[e]),s.set(i))}(m)}if(!o){if(!d||u)return;n+=(1-r[m])/d,n*=.68}u||setOpacities(m,n)}(t),!(c||Math.abs(s)>=1)&&r[o]>.999}function scrollProgress(){return o}return{name:"fade",options:e,init:function(e){t=e;let l=t.selectedScrollSnap(),{scrollBody:n,containerRect:o,axis:d}=t.internalEngine(),m=d.measureSize(o);a=clampNumber(.75*m,200,500),c=!1,r=t.scrollSnapList().map((e,t)=>t===l?1:0),i=n.settled,s=t.scrollProgress,n.settled=settled,t.scrollProgress=scrollProgress,t.on("select",select).on("slideFocus",fadeToSelectedSnapInstantly).on("pointerDown",pointerDown).on("pointerUp",pointerUp),function(){let{translate:e,slideLooper:a}=t.internalEngine();e.clear(),e.toggleActive(!1),a.loopPoints.forEach(({translate:e})=>{e.clear(),e.toggleActive(!1)})}(),fadeToSelectedSnapInstantly()},destroy:function(){let{scrollBody:e}=t.internalEngine();e.settled=i,t.scrollProgress=s,t.off("select",select).off("slideFocus",fadeToSelectedSnapInstantly).off("pointerDown",pointerDown).off("pointerUp",pointerUp),t.slideNodes().forEach(e=>{let t=e.style;t.opacity="",t.transform="",t.pointerEvents="",e.getAttribute("style")||e.removeAttribute("style")})}}}a.d(t,{Z:function(){return Fade}}),Fade.globalOptions=void 0}},function(e){e.O(0,[9734,9382,1664,2981,2307,9774,2888,179],function(){return e(e.s=60838)}),_N_E=e.O()}]);

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.