1"use strict"; 2(self["__LOADABLE_LOADED_CHUNKS__"] = self["__LOADABLE_LOADED_CHUNKS__"] || []).push([[763,1549],{ 3 4/***/ 43919 5(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6 7 8// EXPORTS 9__webpack_require__.d(__webpack_exports__, { 10 o: () => (/* reexport */ BackButton), 11 J: () => (/* reexport */ CircularBadgeButton) 12}); 13 14// EXTERNAL MODULE: ./node_modules/react/index.js 15var react = __webpack_require__(29633); 16// EXTERNAL MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js + 7 modules 17var styled_components_browser_esm = __webpack_require__(67780); 18// EXTERNAL MODULE: ./node_modules/prop-types/index.js 19var prop_types = __webpack_require__(86627); 20var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); 21;// ./src/app/blocks/pages/DesignSystem/Buttons/CircularBadgeButton.js 22 23 24 25const Button = styled_components_browser_esm["default"].button` 26 --size: ${({ size }) => `${size}px`}; 27 --ring: ${({ ring }) => `${ring}px`}; 28 --color: ${({ color }) => color || "#ff7f50"}; 29 30 position: relative; 31 width: var(--size); 32 height: var(--size); 33 border: 0; 34 padding: 0; 35 border-radius: 50%; 36 background: transparent; 37 cursor: pointer; 38 outline: none; 39 display: inline-grid; 40 place-items: center; 41 filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25)); 42 43 &::before { 44 content: ''; 45 position: absolute; 46 inset: 0; 47 border-radius: 50%; 48 background: var(--color); 49 -webkit-mask: radial-gradient( 50 circle, 51 transparent calc(50% - var(--ring)), 52 #000 calc(50% - var(--ring)) 53 ); 54 mask: radial-gradient( 55 circle, 56 transparent calc(50% - var(--ring)), 57 #000 calc(50% - var(--ring)) 58 ); 59 transition: transform 150ms ease; 60 } 61 62 & > span { 63 position: absolute; 64 inset: var(--ring); 65 border-radius: 50%; 66 background: #ffffff; 67 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18), 68 inset 0 2px 0 rgba(255, 255, 255, 0.85); 69 display: grid; 70 place-items: center; 71 } 72 73 &:active::before { 74 transform: scale(0.98); 75 } 76`; 77const Label = styled_components_browser_esm["default"].span` 78 font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 79 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji'; 80 font-weight: 800; 81 font-size: ${({ size }) => `calc(${size}px * 0.36)`}; 82 line-height: 1; 83 color: #9aa0a6; 84 letter-spacing: 1; 85`; 86function CircularBadgeButton({ 87 label = "A", 88 size = 48, 89 ring = 4, 90 color = "#536A6E", 91 onClick 92}) { 93 return /* @__PURE__ */ react.createElement( 94 Button, 95 { 96 size, 97 ring, 98 color, 99 "aria-label": label, 100 onClick: () => { 101 if (onClick) { 102 onClick(label); 103 } 104 } 105 }, 106 /* @__PURE__ */ react.createElement("span", null, /* @__PURE__ */ react.createElement(Label, { size }, label)) 107 ); 108} 109CircularBadgeButton.propTypes = { 110 label: prop_types_default().oneOfType([(prop_types_default()).string, (prop_types_default()).node]), 111 size: (prop_types_default()).number, 112 ring: (prop_types_default()).number, 113 color: (prop_types_default()).string, 114 onClick: (prop_types_default()).func 115}; 116 117// EXTERNAL MODULE: ./node_modules/@fortawesome/react-fontawesome/index.es.js 118var index_es = __webpack_require__(18149); 119// EXTERNAL MODULE: ./src/app/blocks/shared/components/index.js + 138 modules 120var components = __webpack_require__(61009); 121;// ./src/app/blocks/pages/DesignSystem/Buttons/BackButton.js 122 123 124 125 126const ContentStyled = styled_components_browser_esm["default"].div` 127 display: flex; 128 height: 100%; 129 width: 100%; 130 margin: 32px 0; 131 132 .link { 133 width: 100%; 134 max-width: 60px; 135 } 136 137 .icon { 138 margin-right: 8px; 139 } 140`; 141function BackButton() { 142 return /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(ContentStyled, null, /* @__PURE__ */ react.createElement( 143 components/* LinkCta */.$l, 144 { 145 url: "/design-system", 146 className: "link", 147 leftIcon: /* @__PURE__ */ react.createElement("div", { className: "icon" }, /* @__PURE__ */ react.createElement(index_es/* FontAwesomeIcon */.g, { icon: "fa-regular fa-arrow-left" }), " ") 148 }, 149 "Back" 150 ))); 151} 152 153;// ./src/app/blocks/pages/DesignSystem/Buttons/index.js 154 155 156 157 158/***/ }, 159 160/***/ 65899 161(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 162 163// ESM COMPAT FLAG 164__webpack_require__.r(__webpack_exports__); 165 166// EXPORTS 167__webpack_require__.d(__webpack_exports__, { 168 "default": () => (/* binding */ DesignSystemRouting) 169}); 170 171// EXTERNAL MODULE: ./node_modules/react/index.js 172var react = __webpack_require__(29633); 173// EXTERNAL MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js + 7 modules 174var styled_components_browser_esm = __webpack_require__(67780); 175// EXTERNAL MODULE: ./src/app/blocks/shared/components/index.js + 138 modules
176var components = __webpack_require__(61009); 177// EXTERNAL MODULE: ./src/app/blocks/shared/utils/helpers.js 178var helpers = __webpack_require__(91655); 179// EXTERNAL MODULE: ./src/app/blocks/shared/components/Image/utils.js 180var utils = __webpack_require__(58762); 181;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/props.js 182 183const defaultImage = (0,utils/* getDefaultImage */.Ny)( 184 null, 185 "https://preview-kcl.cloud.contensis.com/newimages/about/features/shitij-kapur-feature.x159e0d53.jpg?f=webp" 186); 187const propsForOneCard = { 188 headingText: "Lorem ipsum Heading", 189 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 190 It has roots in a piece of classical Latin literature from 45 BC, 191 making it over 2000 years old.`, 192 layout: "1-card-left", 193 items: [ 194 { 195 title: "Lorem ipsum Heading", 196 contentParams: { 197 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 198 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 199 }, 200 image: defaultImage 201 } 202 ] 203}; 204const propsForTwoCards = { 205 headingText: "Lorem ipsum Heading", 206 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 207 It has roots in a piece of classical Latin literature from 45 BC, 208 making it over 2000 years old.`, 209 layout: "1-card-right", 210 items: [ 211 { 212 title: "Lorem ipsum Card 1", 213 contentParams: { 214 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 215 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 216 }, 217 image: defaultImage 218 }, 219 { 220 title: "Lorem ipsum Card 2", 221 contentParams: { 222 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 223 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 224 }, 225 image: defaultImage 226 } 227 ] 228}; 229const propsForThreeCards = { 230 headingText: "Lorem ipsum Heading", 231 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 232 It has roots in a piece of classical Latin literature from 45 BC, 233 making it over 2000 years old.`, 234 layout: "1-card-right", 235 items: [ 236 { 237 title: "Lorem ipsum Card 1", 238 contentParams: { 239 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 240 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 241 }, 242 image: defaultImage 243 }, 244 { 245 title: "Lorem ipsum Card 2", 246 contentParams: { 247 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 248 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 249 }, 250 image: defaultImage 251 }, 252 { 253 title: "Lorem ipsum Card 3", 254 contentParams: { 255 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 256 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 257 }, 258 image: defaultImage 259 } 260 ] 261}; 262const propsForFourCards = { 263 headingText: "Lorem ipsum Heading", 264 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 265 It has roots in a piece of classical Latin literature from 45 BC, 266 making it over 2000 years old.`, 267 layout: "1-card-right", 268 items: [ 269 {
270 contentParams: { 271 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 272 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 273 }, 274 image: defaultImage 275 }, 276 { 277 contentParams: { 278 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 279 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 280 }, 281 image: defaultImage 282 }, 283 { 284 contentParams: { 285 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 286 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 287 }, 288 image: defaultImage 289 }, 290 { 291 contentParams: { 292 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 293 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 294 }, 295 image: defaultImage 296 } 297 ] 298}; 299const propsForFiveCards = { 300 headingText: "Lorem ipsum Heading", 301 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 302 It has roots in a piece of classical Latin literature from 45 BC, 303 making it over 2000 years old.`, 304 layout: "1-card-right", 305 items: [ 306 { 307 title: "Lorem ipsum Card 1", 308 contentParams: { 309 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 310 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 311 }, 312 image: defaultImage 313 }, 314 { 315 title: "Lorem ipsum Card 2", 316 contentParams: { 317 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 318 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 319 }, 320 image: defaultImage 321 }, 322 { 323 title: "Lorem ipsum Card 3", 324 contentParams: { 325 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 326 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 327 }, 328 image: defaultImage 329 }, 330 { 331 title: "Lorem ipsum Card 4", 332 contentParams: { 333 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 334 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 335 }, 336 image: defaultImage 337 }, 338 { 339 title: "Lorem ipsum Card 5", 340 contentParams: { 341 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 342 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 343 }, 344 image: defaultImage 345 } 346 ] 347}; 348const propsForSevenCards = { 349 headingText: "Lorem ipsum Heading", 350 headingDescription: `Contrary to popular belief, Lorem Ipsum is not simply random text. 351 It has roots in a piece of classical Latin literature from 45 BC, 352 making it over 2000 years old.`, 353 layout: "1-card-right", 354 items: [ 355 { 356 title: "Lorem ipsum Card 1",
357 contentParams: { 358 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 359 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 360 }, 361 image: defaultImage 362 }, 363 { 364 title: "Lorem ipsum Card 2", 365 contentParams: { 366 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 367 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 368 }, 369 image: defaultImage 370 }, 371 { 372 title: "Lorem ipsum Card 3", 373 contentParams: { 374 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 375 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 376 }, 377 image: defaultImage 378 }, 379 { 380 title: "Lorem ipsum Card 4", 381 contentParams: { 382 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 383 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 384 }, 385 image: defaultImage 386 }, 387 { 388 title: "Lorem ipsum Card 5", 389 contentParams: { 390 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 391 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 392 }, 393 image: defaultImage 394 }, 395 { 396 title: "Lorem ipsum Card 6", 397 contentParams: { 398 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 399 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 400 }, 401 image: defaultImage 402 }, 403 { 404 title: "Lorem ipsum Card 7", 405 contentParams: { 406 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 407 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 408 }, 409 image: defaultImage 410 }, 411 { 412 title: "Lorem ipsum Card 7", 413 contentParams: { 414 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 415 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 416 }, 417 image: defaultImage 418 }, 419 { 420 title: "Lorem ipsum Card 7", 421 contentParams: { 422 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 423 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 424 }, 425 image: defaultImage 426 }, 427 { 428 title: "Lorem ipsum Card 7", 429 contentParams: { 430 heading: "Lorem Ipsum is simply dummy text of the printing and typesetting industry.", 431 body: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer." 432 }, 433 image: defaultImage 434 } 435 ] 436}; 437 438;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/styles.js 439 440const defaultCardContentStyles = (0,styled_components_browser_esm.css)` 441 padding: 24px 0 0 0; 442 display: flex; 443 gap: 16px; 444 flex-direction: column; 445 color: #000000; 446 justify-content: center; 447 448 & p { 449 font-family: Wix MadeFor Text, sans-serif; 450 line-height: 1.5; 451 font-size: 1rem; 452 } 453 454 .basic-card-h3 { 455 font-family: Kings Caslon Display, sans-serif; 456 line-height: 1.2; 457 font-size: 1.75rem; 458 text-transform: none; 459 } 460`; 461const ContainerStyled = styled_components_browser_esm["default"].div` 462 .basic-cards-container { 463 ${(p) => p.margin && (0,styled_components_browser_esm.css)` 464 margin: 64px 0; 465 `}; 466 ${(p) => p.padding && (0,styled_components_browser_esm.css)` 467 padding: 64px 0; 468 `}; 469 ${(p) => p.background && (0,styled_components_browser_esm.css)` 470 background: #e0e6ea; 471 `}; 472 } 473`; 474 475;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/One.js 476 477 478 479 480 481 482const CardContentContainerStyled = styled_components_browser_esm["default"].div` 483 ${defaultCardContentStyles} 484 485 @media (min-width: ${(p) => p.theme.breakpoints.tab}px) { 486 padding: ${(p) => p.$position === "right" ? "14px 20px 14px 0" : "14px 20px"}; 487 } 488 489 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 490 padding: ${(p) => p.$position === "right" ? "14px 40px 14px 0" : "14px 0 14px 40px"}; 491 492 .basic-card-h3 { 493 font-size: 2rem; 494 } 495 } 496`; 497const contentRenderer = ({ heading, body, position }) => /* @__PURE__ */ react.createElement(CardContentContainerStyled, { $position: position }
497, /* @__PURE__ */ react.createElement( 498 components/* Heading */.DZ, 499 { 500 className: "basic-card-h3", 501 headingLevel: "Level 3", 502 headingText: heading 503 } 504), /* @__PURE__ */ react.createElement("p", null, body)); 505function One() { 506 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 507 components/* BasicCardsContainer */.B1, 508 { 509 ...propsForOneCard, 510 cardContentRenderer: contentRenderer 511 } 512 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true, padding: true, background: true }, /* @__PURE__ */ react.createElement( 513 components/* BasicCardsContainer */.B1, 514 { 515 ...(0,helpers/* mergeObject */.Uf)(propsForOneCard, { 516 layout: "1-card-right", 517 items: [ 518 { 519 contentParams: { position: "right" }, 520 link: { title: "link title", href: "/go-to-page" } 521 } 522 ] 523 }), 524 cardContentRenderer: contentRenderer 525 }
526 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 527 components/* BasicCardsContainer */.B1, 528 { 529 cardContentRenderer: contentRenderer, 530 ...propsForOneCard, 531 headingDescription: "" 532 } 533 )), /* @__PURE__ */ react.createElement(ContainerStyled, { padding: true, background: true }, /* @__PURE__ */ react.createElement( 534 components/* BasicCardsContainer */.B1, 535 { 536 cardContentRenderer: contentRenderer, 537 ...propsForOneCard, 538 headingText: "" 539 } 540 ))); 541} 542 543;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/Two.js 544 545 546 547 548 549const Two_CardContentContainerStyled = styled_components_browser_esm["default"].div` 550 ${defaultCardContentStyles} 551 552 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 553 .basic-card-h3 { 554 font-size: 2rem; 555 } 556 } 557`; 558const Two_contentRenderer = ({ heading, body, position }) => /* @__PURE__ */ react.createElement(Two_CardContentContainerStyled, { $position: position }, /* @__PURE__ */ react.createElement( 559 components/* Heading */.DZ, 560 { 561 className: "basic-card-h3", 562 headingLevel: "Level 3", 563 headingText: heading 564 }
565), /* @__PURE__ */ react.createElement("p", null, body)); 566function Two() { 567 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 568 components/* BasicCardsContainer */.B1, 569 { 570 ...{ ...propsForTwoCards, headingText: "", headingDescription: "" }, 571 cardContentRenderer: Two_contentRenderer 572 } 573 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 574 components/* BasicCardsContainer */.B1, 575 { 576 ...propsForTwoCards, 577 cardContentRenderer: Two_contentRenderer 578 } 579 ))); 580} 581 582;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/Three.js 583 584 585 586 587 588const Three_CardContentContainerStyled = styled_components_browser_esm["default"].div` 589 ${defaultCardContentStyles} 590 591 .basic-card-h3 { 592 font-family: Kings Caslon Display, sans-serif; 593 line-height: 1.2; 594 font-size: 1.75rem; 595 text-transform: none; 596 } 597 598 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 599 .basic-card-h3 { 600 font-family: Wix MadeFor Display, sans-serif; 601 font-weight: normal; 602 font-size: 1.3125rem; 603 } 604 } 605`; 606const Three_contentRenderer = ({ heading, body, position }) => /* @__PURE__ */ react.createElement(Three_CardContentContainerStyled, { $position: position }, /* @__PURE__ */ react.createElement( 607 components/* Heading */.DZ, 608 { 609 className: "basic-card-h3", 610 headingLevel: "Level 3", 611 headingText: heading 612 }
613), /* @__PURE__ */ react.createElement("p", null, body)); 614function Three() { 615 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 616 components/* BasicCardsContainer */.B1, 617 { 618 ...{ 619 ...propsForThreeCards, 620 headingText: "", 621 headingDescription: "" 622 }, 623 cardContentRenderer: Three_contentRenderer 624 } 625 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 626 components/* BasicCardsContainer */.B1, 627 { 628 ...propsForThreeCards, 629 cardContentRenderer: Three_contentRenderer 630 } 631 ))); 632} 633 634;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/Four.js 635 636 637 638 639 640const Four_CardContentContainerStyled = styled_components_browser_esm["default"].div` 641 ${defaultCardContentStyles} 642 643 .basic-card-h3 { 644 font-family: Kings Caslon Display, sans-serif; 645 line-height: 1.2; 646 font-size: 1.75rem; 647 text-transform: none; 648 font-weight: normal; 649 } 650 651 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 652 .basic-card-h3 { 653 font-size: 1.3125rem; 654 } 655 } 656`; 657const Four_contentRenderer = ({ heading, body, position }) => /* @__PURE__ */ react.createElement(Four_CardContentContainerStyled, { $position: position }, /* @__PURE__ */ react.createElement( 658 components/* Heading */.DZ, 659 { 660 className: "basic-card-h3", 661 headingLevel: "Level 3", 662 headingText: heading 663 }
664), /* @__PURE__ */ react.createElement("p", null, body)); 665function Four() { 666 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 667 components/* BasicCardsContainer */.B1, 668 { 669 ...{ ...propsForFourCards, headingText: "", headingDescription: "" }, 670 cardContentRenderer: Four_contentRenderer 671 } 672 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 673 components/* BasicCardsContainer */.B1, 674 { 675 ...propsForFourCards, 676 cardContentRenderer: Four_contentRenderer 677 } 678 ))); 679} 680 681;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/FivePlus.js 682 683 684 685 686 687const FivePlus_CardContentContainerStyled = styled_components_browser_esm["default"].div` 688 ${defaultCardContentStyles} 689 690 .basic-card-h3 { 691 font-family: Wix MadeFor Display, sans-serif; 692 line-height: 1.2; 693 font-size: 1.3125rem; 694 text-transform: none; 695 font-weight: normal; 696 } 697 698 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 699 .basic-card-h3 { 700 font-size: 1.3125rem; 701 } 702 } 703`; 704const FivePlus_contentRenderer = ({ heading, body, position }) => /* @__PURE__ */ react.createElement(FivePlus_CardContentContainerStyled, { $position: position }, /* @__PURE__ */ react.createElement( 705 components/* Heading */.DZ, 706 { 707 className: "basic-card-h3", 708 headingLevel: "Level 3", 709 headingText: heading 710 }
711), /* @__PURE__ */ react.createElement("p", null, body)); 712function FivePlus() { 713 return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 714 components/* BasicCardsContainer */.B1, 715 { 716 ...{ ...propsForFiveCards, headingText: "", headingDescription: "" }, 717 cardContentRenderer: FivePlus_contentRenderer 718 } 719 )), /* @__PURE__ */ react.createElement(ContainerStyled, { margin: true }, /* @__PURE__ */ react.createElement( 720 components/* BasicCardsContainer */.B1, 721 { 722 ...propsForSevenCards, 723 cardContentRenderer: FivePlus_contentRenderer 724 } 725 ))); 726} 727 728;// ./src/app/blocks/pages/DesignSystem/BasicCards/Variants/index.js 729 730 731 732 733 734 735// EXTERNAL MODULE: ./src/app/blocks/shared/hooks/index.js + 17 modules 736var hooks = __webpack_require__(88429); 737// EXTERNAL MODULE: ./src/app/blocks/pages/DesignSystem/PageEntry.js 738var PageEntry = __webpack_require__(12686); 739// EXTERNAL MODULE: ./src/app/blocks/pages/DesignSystem/Buttons/index.js + 2 modules 740var Buttons = __webpack_require__(43919); 741// EXTERNAL MODULE: ./node_modules/prop-types/index.js 742var prop_types = __webpack_require__(86627); 743var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); 744;// ./src/app/blocks/pages/DesignSystem/NavBar/index.js 745 746 747 748 749 750const NavBar_ContainerStyled = styled_components_browser_esm["default"].nav` 751 display: flex; 752 gap: 16px; 753 align-items: center; 754 padding: 8px; 755 justify-content: center; 756`; 757const getColour = (active, label) => active === label ? "#E2231A" : "#536A6E"; 758function NavBar({ onClick, active, items }) { 759 return /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(NavBar_ContainerStyled, null, items?.map(({ id, label }) => /* @__PURE__ */ react.createElement( 760 Buttons/* CircularBadgeButton */.J, 761 { 762 key: id, 763 label, 764 color: getColour(active, id), 765 onClick 766 } 767 )))); 768} 769NavBar.propTypes = { 770 active: (prop_types_default()).string, 771 onClick: (prop_types_default()).func, 772 items: prop_types_default().arrayOf((prop_types_default()).object) 773}; 774 775;// ./src/app/blocks/pages/DesignSystem/BasicCards/index.js 776 777 778 779 780 781const ITEMS = [ 782 { id: "1", label: "1" }, 783 { id: "2", label: "2" }, 784 { id: "3", label: "3" }, 785 { id: "4", label: "4" }, 786 { id: "5+", label: "5+" } 787]; 788function DesignSystemBasicCards() { 789 const { tab = "1" } = (0,hooks/* useQueryParams */.sq)(); 790 const [activeTab, setActiveTab] = (0,react.useState)(tab); 791 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__PURE__ */ react.createElement(NavBar, { onClick: setActiveTab, active: activeTab, items: ITEMS }), activeTab === "1" && /* @__PURE__ */ react.createElement(One, null), activeTab === "2" && /* @__PURE__ */ react.createElement(Two, null), activeTab === "3" && /* @__PURE__ */ react.createElement(Three, null), activeTab === "4" && /* @__PURE__ */ react.createElement(Four, null), activeTab === "5+" && /* @__PURE__ */ react.createElement(FivePlus, null)); 792} 793 794;// ./src/app/blocks/pages/DesignSystem/Container/styles.js 795 796const contentCss = (0,styled_components_browser_esm.css)` 797 .content, 798 .side-bar { 799 align-items: center; 800 background: #cdd5e1; 801 display: flex; 802 height: 100%; 803 justify-content: center; 804 width: 100%; 805 } 806`; 807const styles_ContainerStyled = styled_components_browser_esm["default"].div` 808 .basic-cards-container { 809 ${(p) => p.margin && (0,styled_components_browser_esm.css)` 810 margin: 64px 0; 811 `}; 812 ${(p) => p.padding && (0,styled_components_browser_esm.css)` 813 padding: 64px 0; 814 `}; 815 ${(p) => p.background && (0,styled_components_browser_esm.css)` 816 background: #e0e6ea; 817 `}; 818 } 819 ${(p) => p.banner && (0,styled_components_browser_esm.css)` 820 .responsive-inner-container { 821 background: #cdd5e1; 822 height: 364px; 823 font-size: 3rem; 824 width: 100%; 825 margin-top: 8px; 826 max-width: 12; 827 828 & .content { 829 align-items: center; 830 display: flex; 831 height: 100%; 832 justify-content: center; 833 width: 100%; 834 } 835 } 836 `} 837 838 ${(p) => p.reduceMaxWidth && (0,styled_components_browser_esm.css)` 839 .responsive-inner-container { 840 background: #5d759c; 841 height: 364px; 842 font-size: 3rem; 843 width: 100%; 844 margin-top: 8px; 845 max-width: 1000px; 846 ${contentCss} 847 } 848 `} 849 850 ${(p) =>
850 p.twoColumnGrid && (0,styled_components_browser_esm.css)` 851 .two-column-grid-container { 852 display: grid; 853 gap: 24px; 854 height: 100%; 855 grid-template-columns: 1fr; 856 857 @media (min-width: ${(p2) => p2.theme.breakpoints.desktop}px) { 858 grid-template-columns: 1fr 424px; 859 gap: 40px; 860 } 861 862 @media (min-width: ${(p2) => p2.theme.breakpoints.largeDesktop}px) { 863 gap: 80px; 864 } 865 } 866 .responsive-outer-container { 867 background: #dda5cb; 868 height: 364px; 869 font-size: 3rem; 870 width: 100%; 871 margin-top: 8px; 872 } 873 .responsive-inner-container { 874 background: #5d759c; 875 876 ${contentCss} 877 } 878 `} 879 880 ${(p) => p.modifiedOuterInner && (0,styled_components_browser_esm.css)` 881 .responsive-outer-container { 882 background: #dda5cb; 883 height: 364px; 884 font-size: 3rem; 885 width: 100%; 886 margin-top: 8px; 887 } 888 .responsive-inner-container { 889 background: #5d759c; 890 ${contentCss} 891 } 892 `} 893 ${(p) => p.defaultUsage && (0,styled_components_browser_esm.css)` 894 .responsive-outer-container { 895 background: #cdd5e1; 896 height: 364px; 897 font-size: 3rem; 898 width: 100%; 899 } 900 .responsive-inner-container { 901 ${contentCss} 902 903 .content { 904 background-color: transparent; 905 } 906 } 907 `} 908`; 909 910;// ./src/app/blocks/pages/DesignSystem/Container/DefaultUsage/index.js 911 912 913 914function DefaultUsage() { 915 return /* @__PURE__ */ react.createElement(styles_ContainerStyled, { defaultUsage: true }, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", { className: "content" }, "Default"))); 916} 917 918;// ./src/app/blocks/pages/DesignSystem/Container/ModifiedOuterInnerContainer/index.js 919 920 921 922function ModifiedOuterInnerContainer() { 923 return /* @__PURE__ */ react.createElement(styles_ContainerStyled, { modifiedOuterInner: true }, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", { className: "content" }, "Modified outer and inner container"))); 924} 925 926;// ./src/app/blocks/pages/DesignSystem/Container/ReducedMaxWidth/index.js 927 928 929 930function ReducedMaxWidth() { 931 return /* @__PURE__ */ react.createElement(styles_ContainerStyled, { reduceMaxWidth: true }, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", { className: "content" }, "Reduced max width"))); 932} 933 934;// ./src/app/blocks/pages/DesignSystem/Container/TwoColumn/index.js 935 936 937 938function TwoColumn() { 939 return /* @__PURE__ */ react.createElement(styles_ContainerStyled, { twoColumnGrid: true }, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", { className: "two-column-grid-container" }, /* @__PURE__ */ react.createElement("div", { className: "content" }, "Content"), /* @__PURE__ */ react.createElement("div", { className: "side-bar" }, "Side Bar")))); 940} 941 942;// ./src/app/blocks/pages/DesignSystem/Container/BannerUsage/index.js 943 944 945 946function BannerUsage() { 947 return /* @__PURE__ */ react.createElement(styles_ContainerStyled, { banner: true }, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", { className: "content" }, "Banner Example"))); 948} 949 950;// ./src/app/blocks/pages/DesignSystem/Container/index.js 951 952 953 954 955 956 957 958function DesignSystemContainer() { 959 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__PURE__ */ react.createElement(DefaultUsage, null), /* @__PURE__ */ react.createElement(ModifiedOuterInnerContainer, null), /* @__PURE__ */ react.createElement(TwoColumn, null), /* @__PURE__ */ react.createElement(ReducedMaxWidth, null), /* @__PURE__ */ react.createElement(BannerUsage, null)); 960} 961 962// EXTERNAL MODULE: ./node_modules/lodash/kebabCase.js 963var kebabCase = __webpack_require__(56518); 964var kebabCase_default = /*#__PURE__*/__webpack_require__.n(kebabCase); 965;// ./src/app/blocks/pages/DesignSystem/Tabs/DefaultUsage/styles.js 966 967const ContentStyled = styled_components_browser_esm["default"].div` 968 display: flex; 969 align-items: center; 970 justify-content: center; 971 height: 100%; 972 width: 100%; 973`; 974 975// EXTERNAL MODULE: ./src/app/blocks/shared/utils/index.js + 7 modules 976var shared_utils = __webpack_require__(92562); 977;// ./src/app/blocks/pages/DesignSystem/context/index.js 978 979 980 981const EntryContext = (0,react.createContext)(null); 982function DesignSystemContextProvider({ children, entry }) { 983 return /* @__PURE__ */ react.createElement(EntryContext.Provider, { value: (0,shared_utils/* isInvalidObject */.b2)(entry) ? {} : entry }, children); 984} 985const useDesignSystemEntry = () => { 986 return (0,react.useContext)(EntryContext); 987};
988DesignSystemContextProvider.propTypes = { 989 children: prop_types_default().oneOfType([(prop_types_default()).object, (prop_types_default()).array]), 990 entry: (prop_types_default()).object 991}; 992 993;// ./src/app/blocks/pages/DesignSystem/Tabs/DefaultUsage/index.js 994 995 996 997 998 999 1000function DefaultUsage_DefaultUsage() { 1001 const entry = useDesignSystemEntry(); 1002 const tabs = entry?.tabSection?.map(({ title, canvas }) => ({ 1003 id: kebabCase_default()(title), 1004 label: title, 1005 canvas 1006 })); 1007 if ((0,shared_utils/* isInvalidArray */.J_)(tabs)) { 1008 return null; 1009 } 1010 return /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(ContentStyled, null, /* @__PURE__ */ react.createElement( 1011 components/* TabsContextProvider */.hY, 1012 { 1013 defaultActiveId: tabs[0]?.id, 1014 listAriaLabel: "Sample Tabs", 1015 tabs 1016 }, 1017 /* @__PURE__ */ react.createElement(components/* Tabs */.tU, null, tabs.map(({ canvas, id }, index) => /* @__PURE__ */ react.createElement(components/* TabPanel */.Kp, { tabId: id, key: index }, /* @__PURE__ */ react.createElement(components/* CanvasRenderer */.KB, { content: canvas })))) 1018 ))); 1019} 1020 1021;// ./src/app/blocks/pages/DesignSystem/Tabs/index.js 1022 1023 1024 1025function DesignSystemTabs() { 1026 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__PURE__ */ react.createElement(DefaultUsage_DefaultUsage, null)); 1027} 1028 1029;// ./src/app/blocks/pages/DesignSystem/GlobalNav/DefaultUsage/styles.js 1030 1031const styles_ContentStyled = styled_components_browser_esm["default"].div` 1032 display: flex; 1033 align-items: center; 1034 justify-content: center; 1035 height: 100%; 1036 width: 100%; 1037 font-size: 24px; 1038`; 1039 1040;// ./src/app/blocks/pages/DesignSystem/GlobalNav/DefaultUsage/index.js 1041 1042 1043 1044function GlobalNav_DefaultUsage_DefaultUsage() { 1045 return /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(styles_ContentStyled, null, "Global Nav Example")); 1046} 1047 1048;// ./src/app/blocks/pages/DesignSystem/GlobalNav/index.js 1049 1050 1051 1052 1053function DesignSystemGlobalNav() { 1054 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, { header: /* @__PURE__ */ react.createElement(components/* GlobalNavWithContext */.k4, null) }, /* @__PURE__ */ react.createElement(GlobalNav_DefaultUsage_DefaultUsage, null)); 1055} 1056 1057;// ./src/app/blocks/pages/DesignSystem/Media/styles.js 1058 1059const Title = styled_components_browser_esm["default"].h2` 1060 font-size: 2rem; 1061 text-align: center; 1062 margin-bottom: 16px; 1063`; 1064const cssContainer = (0,styled_components_browser_esm.css)` 1065 width: 100%; 1066 height: auto; 1067 position: relative; 1068 margin: 32px 0; 1069`; 1070const BannerImageContainerStyled = styled_components_browser_esm["default"].div` 1071 ${cssContainer} 1072 1073 .responsive-inner-container { 1074 width: 100%; 1075 max-width: 100%; 1076 } 1077 1078 .media-aspect-box { 1079 max-height: 344px; 1080 } 1081 1082 .media-img { 1083 object-position: center top; 1084 } 1085`; 1086const CardsImageContainerStyled = styled_components_browser_esm["default"].div` 1087 ${cssContainer} 1088 1089 .responsive-inner-container { 1090 display: flex; 1091 flex-direction: column; 1092 gap: 36px; 1093 } 1094`; 1095const CardsStyled = styled_components_browser_esm["default"].div` 1096 width: 100%; 1097 display: flex; 1098`; 1099const CardSectionStyled = styled_components_browser_esm["default"].section` 1100 background: #009ea0; 1101 height: auto; 1102`; 1103const CardInnerSectionStyled = styled_components_browser_esm["default"].div` 1104 display: grid; 1105 grid-template-columns: 1fr; 1106 height: auto; 1107 width: 100%; 1108 1109 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 1110 grid-template-columns: 1fr 1fr; 1111 grid-template-columns: ${(p) => p.$columnTemplate || "1fr 1fr"}; 1112 width: 100%; 1113 } 1114`; 1115const MediaContentStyled = styled_components_browser_esm["default"].div` 1116 background: #a8cecf; 1117 height: 100%; 1118 overflow: hidden; 1119 padding: 0; 1120 1121 .media-aspect-box { 1122 height: 258px; 1123 } 1124 1125 .media-img { 1126 object-position: center top; 1127 } 1128 1129 @media (min-width: ${(p) => p.theme.breakpoints.mobile}px) { 1130 .media-aspect-box { 1131 height: 450px; 1132 } 1133 } 1134 1135 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 1136 padding-right: 40px; 1137 } 1138`; 1139const Media_styles_ContentStyled = styled_components_browser_esm["default"].div` 1140 display: flex; 1141 align-items: center; 1142 padding: 40px 24px; 1143 min-height: 260px; 1144 1145 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 1146 padding: 72px 80px; 1147 } 1148`; 1149const GridStyled = styled_components_browser_esm["default"].div` 1150 display: grid; 1151 grid-template-columns: 1fr; 1152 gap: 40px; 1153 background-color: #a8cecf; 1154 1155 .media-aspect-box { 1156 height: 258px; 1157 } 1158 1159 .media-img { 1160 object-position: center top; 1161 } 1162 1163 @media (min-width: ${(p) => p.theme.breakpoints.mobile}px) { 1164 .media-aspect-box { 1165 height: 450px; 1166 } 1167 } 1168 1169 @media (min-width: ${(p) => p.theme.breakpoints.desktop}px) { 1170 grid-template-columns: ${(p) => p.$columnTemplate || "1fr 1fr"}; 1171 .media-aspect-box { 1172 height: ${(p) => p.$imgHeight || "450px"}; 1173 } 1174 } 1175`; 1176const ArticleStyled = styled_components_browser_esm["default"].article` 1177 background-color: #009ea0; 1178`; 1179 1180;// ./src/app/blocks/pages/DesignSystem/images.js 1181 1182const cardImage = (0,utils/* getDefaultImage */.Ny)( 1183 null, 1184 "https://preview-kcl.cloud.contensis.com/newimages/about/features/shitij-kapur-feature.x159e0d53.jpg?f=webp" 1185); 1186const bannerImage = (0,utils/* getDefaultImage */.Ny)( 1187 null, 1188 "https://www.kcl.ac.uk/newimages/study-images/kings-students-aug-day-3-2022-444-1.xcb8a29e9.jpg" 1189); 1190 1191;// ./src/app/blocks/pages/DesignSystem/Media/ExampleBannerImage.js 1192 1193 1194 1195 1196function ExampleBannerImage() {
1197 return /* @__PURE__ */ react.createElement(BannerImageContainerStyled, null, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(Title, null, "Banner image"), /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: bannerImage, width: 1903, height: 664, crop: true }))); 1198} 1199 1200;// ./src/app/blocks/pages/DesignSystem/Media/Cards.js 1201 1202 1203 1204 1205const MEDIA_PROPS = { 1206 width: 600, 1207 height: 480, 1208 crop: true 1209}; 1210function CardImage() { 1211 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, null, /* @__PURE__ */ react.createElement(MediaContentStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS })), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))); 1212} 1213function CardsImage() { 1214 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, null, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }
1214), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1215} 1216function TertiaryCardsImage() { 1217 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, { $columnTemplate: "1fr 1fr 1fr", $imgHeight: "288px" }, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__P
1217URE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1218} 1219function QuaternaryCardsImage() { 1220 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, { $columnTemplate: "1fr 1fr 1fr 1fr", $imgHeight: "212px" }, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }
1220), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { image: cardImage, ...MEDIA_PROPS }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1221} 1222 1223;// ./src/app/blocks/pages/DesignSystem/Media/ExampleMediaImage.js 1224 1225 1226 1227 1228function ExampleMediaImage() { 1229 return /* @__PURE__ */ react.createElement(CardsImageContainerStyled, null, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Card"), /* @__PURE__ */ react.createElement(CardImage, null)), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Two Cards"), /* @__PURE__ */ react.createElement(CardsImage, null)), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Three Cards"), /* @__PURE__ */ react.createElement(TertiaryCardsImage, null)), /* @__P
1229URE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Four Cards"), /* @__PURE__ */ react.createElement(QuaternaryCardsImage, null)))); 1230} 1231 1232;// ./src/app/blocks/pages/DesignSystem/Media/Videos.js 1233 1234 1235 1236function CardVideo({ video }) { 1237 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video })); 1238} 1239function CardsVideos({ video }) { 1240 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, null, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1241} 1242function TertiaryCardsVideos({ video }) { 1243 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, { $columnTemplate: "1fr 1fr 1fr", $imgHeight: "288px" }, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }
1243), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1244} 1245function QuaternaryCardsVideos({ video }) { 1246 return /* @__PURE__ */ react.createElement(CardSectionStyled, null, /* @__PURE__ */ react.createElement(CardInnerSectionStyled, { $columnTemplate: "1fr" }, /* @__PURE__ */ react.createElement(GridStyled, { $columnTemplate: "1fr 1fr 1fr 1fr", $imgHeight: "212px" }, /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }
1246), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null)), /* @__PURE__ */ react.createElement(ArticleStyled, null, /* @__PURE__ */ react.createElement(components/* Media */.$U, { video }), /* @__PURE__ */ react.createElement(Media_styles_ContentStyled, null))))); 1247} 1248 1249;// ./src/app/blocks/pages/DesignSystem/Media/ExampleMediaKalturaVideo.js 1250 1251 1252 1253 1254const kalturaVideo = { 1255 type: "kalturaVideo", 1256 url: "https://media.kcl.ac.uk/media/Kings+College+London+-+Welcome+to+Kings/1_tigzpfv9" 1257}; 1258function ExampleMediaKalturaVideo() { 1259 return /* @__PURE__ */ react.createElement(CardsImageContainerStyled, null, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Kaltura Video"), /* @__PURE__ */ react.createElement(CardVideo, { video: kalturaVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Two Video Cards"), /* @__PURE__ */ react.createElement(CardsVideos, { video: kalturaVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Three Video Cards"), /* @__PURE__ */ react.createElement(TertiaryCardsVideos, { video: kalturaVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Four Video Cards"), /* @__PURE__ */ react.createElement(QuaternaryCardsVideos, { video: kalturaVideo })))); 1260} 1261 1262;// ./src/app/blocks/pages/DesignSystem/Media/ExampleMediaYoutubeVideo.js 1263 1264 1265 1266 1267const youtubeVideo = { 1268 type: "youtubeVideo", 1269 url: "https://youtu.be/nLE0EO8k9dw?si=7dDtizyHbfAhZuC0" 1270}; 1271function ExampleMediaYoutubeVideo() { 1272 return /* @__PURE__ */ react.createElement(CardsImageContainerStyled, null, /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Youtube Video"), /* @__PURE__ */ react.createElement(CardVideo, { video: youtubeVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Two Video Cards"), /* @__PURE__ */ react.createElement(CardsVideos, { video: youtubeVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Three Video Cards"), /* @__PURE__ */ react.createElement(TertiaryCardsVideos, { video: youtubeVideo })), /* @__PURE__ */ react.createElement("div", null, /* @__PURE__ */ react.createElement(Title, null, "Four Video Cards"), /* @__PURE__ */ react.createElement(QuaternaryCardsVideos, { video: youtubeVideo })))); 1273} 1274 1275;// ./src/app/blocks/pages/DesignSystem/Media/index.js 1276 1277 1278 1279 1280 1281 1282 1283 1284const Media_ITEMS = [ 1285 { id: "1", label: "1" }, 1286 { id: "2", label: "2" }, 1287 { id: "3", label: "3" } 1288]; 1289function DesignSystemMedia() { 1290 const { tab = "1" } = (0,hooks/* useQueryParams */.sq)(); 1291 const [activeTab, setActiveTab] = (0,react.useState)(tab); 1292 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__PURE__ */ react.createElement(NavBar, { onClick: setActiveTab, active: activeTab, items: Media_ITEMS }), activeTab === "1" && /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(ExampleBannerImage, null), /* @__PURE__ */ react.createElement(ExampleMediaImage, null)), activeTab === "2" && /* @__PURE__ */ react.createElement(ExampleMediaKalturaVideo, null), activeTab === "3" && /* @__PURE__ */ react.createElement(ExampleMediaYoutubeVideo, null)); 1293} 1294 1295;// ./src/app/blocks/pages/DesignSystem/HeroCarousel/DefaultUsage/index.js 1296 1297 1298 1299function HeroCarousel_DefaultUsage_DefaultUsage() { 1300 const entry = useDesignSystemEntry(); 1301 return /* @__PURE__ */ react.createElement( 1302 components/* HeroCarouselComponent */.sU, 1303 { 1304 slides: entry?.heroBanner2026?.heroBannerSlide || [] 1305 } 1306 ); 1307} 1308 1309;// ./src/app/blocks/pages/DesignSystem/HeroCarousel/index.js 1310 1311 1312 1313function DesignSystemHeroCarousel() { 1314 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__P
1314URE__ */ react.createElement(HeroCarousel_DefaultUsage_DefaultUsage, null)); 1315} 1316 1317;// ./src/app/blocks/pages/DesignSystem/Accordions/DefaultUsage/styles.js 1318 1319const DefaultUsage_styles_ContentStyled = styled_components_browser_esm["default"].div` 1320 display: flex; 1321 flex-direction: column; 1322 align-items: stretch; 1323 justify-content: flex-start; 1324 width: 100%; 1325 min-height: 100%; 1326`; 1327 1328;// ./src/app/blocks/pages/DesignSystem/Accordions/DefaultUsage/index.js 1329 1330 1331 1332 1333 1334function Accordions_DefaultUsage_DefaultUsage() { 1335 const entry = useDesignSystemEntry(); 1336 if ((0,shared_utils/* isInvalidArray */.J_)(entry?.accordion?.tabSection)) { 1337 return null; 1338 } 1339 return /* @__PURE__ */ react.createElement(components/* ResponsiveContainer */.uf, null, /* @__PURE__ */ react.createElement(DefaultUsage_styles_ContentStyled, null, /* @__PURE__ */ react.createElement( 1340 components/* AccordionsWithCanvas */.Sn, 1341 { 1342 defaultOpen: true, 1343 value: { 1344 heading: entry?.accordion?.heading, 1345 summary: entry?.accordion?.summary, 1346 panels: entry?.accordion.tabSection, 1347 backgroundColour: entry?.accordion.backgroundColour 1348 } 1349 } 1350 ))); 1351} 1352 1353;// ./src/app/blocks/pages/DesignSystem/Accordions/index.js 1354 1355 1356 1357function DesignSystemAccordions() { 1358 return /* @__PURE__ */ react.createElement(PageEntry/* PageEntry */._, null, /* @__PURE__ */ react.createElement(Accordions_DefaultUsage_DefaultUsage, null)); 1359} 1360 1361;// ./src/app/blocks/pages/DesignSystem/DesignSystemRouting.js 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371function DesignSystemRouting(entry) { 1372 return /* @__PURE__ */ react.createElement(DesignSystemContextProvider, { entry: entry.entry }, (() => { 1373 switch (entry?.location?.pathname) { 1374 case "/design-system/basic-cards": 1375 return /* @__PURE__ */ react.createElement(DesignSystemBasicCards, null); 1376 case "/design-system/container": 1377 return /* @__PURE__ */ react.createElement(DesignSystemContainer, null); 1378 case "/design-system/tabs": 1379 return /* @__PURE__ */ react.createElement(DesignSystemTabs, null); 1380 case "/design-system/global-nav": 1381 return /* @__PURE__ */ react.createElement(DesignSystemGlobalNav, null); 1382 case "/design-system/media": 1383 return /* @__PURE__ */ react.createElement(DesignSystemMedia, null); 1384 case "/design-system/hero-carousel": 1385 return /* @__PURE__ */ react.createElement(DesignSystemHeroCarousel, null); 1386 case "/design-system/accordions": 1387 return /* @__PURE__ */ react.createElement(DesignSystemAccordions, null); 1388 default: 1389 return; 1390 } 1391 })()); 1392} 1393 1394 1395/***/ }, 1396 1397/***/ 12686 1398(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1399 1400/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1401/* harmony export */ _: () => (/* binding */ PageEntry) 1402/* harmony export */ }); 1403/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29633); 1404/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86627); 1405/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); 1406/* harmony import */ var _shared_context_entryContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12077); 1407/* harmony import */ var _shared_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61009); 1408/* harmony import */ var _Buttons__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(43919); 1409 1410 1411 1412 1413 1414function PageEntry({ children, header, footer, isRoot }) { 1415 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_shared_context_entryContext__WEBPACK_IMPORTED_MODULE_2__/* .EntryContextProvider */ .B, { parseEntry: (entry) => entry }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_shared_components__WEBPACK_IMPORTED_MODULE_3__/* .PageLayout */ .Mx, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_shared_components__WEBPACK_IMPORTED_MODULE_3__/* .Main */ .gZ, null, header || /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_shared_components__WEBPACK_IMPORTED_MODULE_3__/* .HeaderSwitcher */ .d1, null), !isRoot && /* @__P
1415URE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_Buttons__WEBPACK_IMPORTED_MODULE_4__/* .BackButton */ .o, null), children), footer || /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_shared_components__WEBPACK_IMPORTED_MODULE_3__/* .Footer */ .wi, null))); 1416} 1417PageEntry.propTypes = { 1418 children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node), 1419 header: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node), 1420 footer: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node), 1421 isRoot: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().bool) 1422}; 1423 1424 1425/***/ }, 1426 1427/***/ 7252 1428(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1429 1430__webpack_require__.r(__webpack_exports__); 1431/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1432/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1433/* harmony export */ }); 1434/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29633); 1435/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10136); 1436/* harmony import */ var _features_layout_components_Layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(919); 1437/* harmony import */ var _features_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34194); 1438 1439 1440 1441 1442const Search = () => { 1443 const search = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__/* .useSelector */ .d4)((state) => state.search); 1444 return search?.search?.type === "" ? null : /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_layout_components_Layout__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_search__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, null)); 1445}; 1446Search.propTypes = {}; 1447/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Search); 1448 1449 1450/***/ }, 1451 1452/***/ 57051 1453(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1454 1455__webpack_require__.r(__webpack_exports__); 1456/* harmony export */ __webpack_require__.d(__webpack_exports__, { 1457/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 1458/* harmony export */ }); 1459/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29633); 1460/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10136); 1461/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86627); 1462/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); 1463/* harmony import */ var _features_Loading_components_Loading__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(88194); 1464/* harmony import */ var _NotFound__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27867); 1465/* harmony import */ var _core_routes_ContentTypeMappings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(52812); 1466/* harmony import */ var _features_layout_components_Layout__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(919); 1467/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(45666); 1468/* harmony import */ var _features_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(70910); 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478function StaticContainer(props) { 1479 const staticRoute = (0,react_redux__WEBPACK_IMPORTED_MODULE_1__/* .useSelector */ .d4)((state) => state.static); 1480 const { loading, notFound, entry, isError } = staticRoute; 1481 const history = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_7__/* .useHistory */ .W6)(); 1482 const redirectHandler = () => { 1483 return history.push("/404"); 1484 }; 1485 if (loading) { 1486 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_layout_components_Layout__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_Loading_components_Loading__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A, null)); 1487 } 1488 if (!loading && notFound) { 1489 redirectHandler(); 1490 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_NotFound__WEBPACK_IMPORTED_MODULE_4__["default"], null); 1491 } 1492 if (isError) { 1493 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_layout_components_Layout__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A, { hasHeaderMarginBottom: true }
1493, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_common__WEBPACK_IMPORTED_MODULE_8__/* .Container */ .mc, null, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_common__WEBPACK_IMPORTED_MODULE_8__/* .Column */ .VP, { large: 12 }, /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_common__WEBPACK_IMPORTED_MODULE_8__/* .Heading */ .DZ, { level: 1 }, "An error has occurred"), /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_common__WEBPACK_IMPORTED_MODULE_8__/* .Paragraph */ .fz, null, "Please return to the main site or log a ticket with the", " ", /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_features_common__WEBPACK_IMPORTED_MODULE_8__/* .Link */ .N_, { uri: "mailto:[email protected]" }, "IT Service Desk"), " ", "if you cannot find the content you seek")))); 1494 } 1495 if (!loading && !isError && entry) { 1496 const { sys } = entry; 1497 const found = _core_routes_ContentTypeMappings__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A.find( 1498 (i) => i.contentTypeID === sys.contentTypeId 1499 ); 1500 const Component = found?.component; 1501 if (!Component) { 1502 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_NotFound__WEBPACK_IMPORTED_MODULE_4__["default"], null); 1503 } 1504 return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component, { ...props, entry }); 1505 } 1506 return null; 1507} 1508StaticContainer.propTypes = { 1509 match: (prop_types__WEBPACK_IMPORTED_MODULE_2___default().object) 1510}; 1511/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StaticContainer); 1512 1513 1514/***/ } 1515 1516}]);
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.