UNPKG

ca-web-components

Version:

web components for Clínica Alemana

242 lines (219 loc) 7.43 kB
var o=Object.defineProperty;var l=(i,a,t)=>a in i?o(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var s=(i,a,t)=>l(i,typeof a!="symbol"?a+"":a,t);import{i as r,r as d,x as n}from"../assets/unsafe-html-DS3AO1W7.js";const p=[{id:1,color:"#E57373",title:"Educación continua",text:"Brindamos apoyo a nuestros profesionales para que se capaciten y actualicen constantemente en conocimientos y técnicas médicas.",url:"https://www.clinicaalemana.cl/desarrollo-academico-e-investigacion/educacion-continua"},{id:2,color:"#7BCFE2",title:"Campo clínico",text:"Velamos por el buen desarrollo de las actividades docente-asistenciales de pre y postgrado que se llevan a cabo en nuestras instalaciones.",url:"https://www.clinicaalemana.cl/desarrollo-academico-e-investigacion/campo-clinico"},{id:3,color:"#857BE2",title:"Investigación",text:"Fomentamos la investigación clínica a través del fortalecimiento de las competencias científicas, el respeto por las buenas prácticas, la ética y los derechos de los sujetos involucrados en la investigación.",url:"https://www.clinicaalemana.cl/desarrollo-academico-e-investigacion/investigacion"},{id:4,color:"#4DBFB8",title:"Convenio internacional",text:"Gestionamos y coordinamos los convenios académicos internacionales que Clínica Alemana tiene con prestigiosos centros de salud a nivel mundial.",url:"https://www.clinicaalemana.cl/desarrollo-academico-e-investigacion/convenios-internacionales"}],g=["https://d51h1y0hva8v.cloudfront.net/images/default-source/dai/alianzas/al1.png","https://d51h1y0hva8v.cloudfront.net/images/default-source/dai/alianzas/al2.png","https://d51h1y0hva8v.cloudfront.net/images/default-source/dai/alianzas/al3.png","https://d51h1y0hva8v.cloudfront.net/images/default-source/dai/alianzas/al4.png"],m=r` :host { display: flex; justify-content: center; } section { margin: 100px 0; } [data-theme="dark"] { background-color: #364855; color: #fff; } .inner-container { max-width: 1200px; padding: 0 32px; margin: 0 auto; display: grid; grid-template-columns: 530px 1fr; align-items: center; gap: 48px; } .circles { display: flex; gap: 12px; } .circles span { width: 20px; height: 20px; border-radius: 50%; background: #f1f1f1; } .circles span:nth-child(1) { background: #E57373; } .circles span:nth-child(2) { background: #7BCFE2; } .circles span:nth-child(3) { background: #857BE2; } .circles span:nth-child(4) { background: #4DBFB8; } .text-content { display: flex; flex-direction: column; gap: 12px; padding: 24px 0 64px; } .actions { display: flex; gap: 8px; } [data-theme="dark"] .actions { color: #364855; } .btn { background: #FFFFFF; border: 1px solid #DCD9F7; color: currentColor; border-radius: 30px; padding: 0 30px; height: 44px; gap: 8px; text-decoration: none; display: flex; align-items: center; justify-content: center; white-space: nowrap; } .item { position: relative; display: flex; flex-direction: column; color: #FFFFFF; background: #f1f1f1; padding: 56px 24px 24px; border-radius: 30px; gap: 12px; text-decoration: none; --eloisa-ds-icon-color: currentColor; box-shadow: 0 30px 40px rgba(200, 200, 200, 0.25); } .item cas-icon { position: absolute; right: 24px; bottom: 24px; } .cards { display: grid; grid-template-columns: repeat(7, 1fr); grid-template-rows: repeat(6, 116px); gap: 16px; //aspect-ratio: 1/1.15; } .item:nth-child(1) { grid-column: 2 / 5; grid-row: 2 / 5; } .item:nth-child(2) { grid-column: 5 / 8; grid-row: 1 / 4; } .item:nth-child(3) { grid-column: 5 / 8; grid-row: 4 / 7; } .item:nth-child(4) { grid-column: 1 / 5; grid-row: 5 / 7; } .alliances { position: relative; display: flex; flex-direction: column; gap: 16px; margin-top: 64px; } .alliances .list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .alliances .list .image { background-color: #FFFFFF; border-radius: 4px; overflow: hidden; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; } [data-theme="dark"] .alliances .list .image { padding: 2px; } .alliances .list img { max-width: 100%; max-height: 48px; } @media (max-width: 1024px) { .inner-container { padding: 0; grid-template-columns: 1fr; gap: 4px; } .start { padding: 16px; } .actions { display:grid; grid-template-columns: 1fr 1fr; } .btn { padding: 0 10px; } .text-content { padding: 24px 0 20px; } .cards { display: flex; gap: 12px; overflow-x: scroll; padding: 16px; } .item { grid-column: initial; grid-row: initial; padding: 62px 16px !important; min-width: 180px; } .item cas-icon { bottom: 16px; right: 16px; } .alliances { margin-top: 32px; } .alliances .list { height: 40px; } } `;class c extends d{constructor(){super()}static get properties(){return{theme:{type:String},urlAction1:{type:String},urlAction2:{type:String}}}render(){const a=p.map(e=>n` <a class="item" href="${e.url}" target="_blank" style="background: ${e.color}"> <cas-text variant="headline2">${e.title}</cas-text> <cas-text variant="footnote2" mobileVariant="m-caption2">${e.text}</cas-text> <cas-icon name="flat-chevronRight" size="32"></cas-icon> </a> `),t=g.map(e=>n`<div class="image"><img src="${e}" alt="Alianza" loading="lazy"/></div>`);return n` <section data-theme="${this.theme}"> <div class="inner-container"> <div class="start"> <div class="circles"><span></span><span></span><span></span><span></span></div> <div class="text-content"> <cas-text variant="display2" mobilevariant="m-headline1"><slot name="title"></slot></cas-text> <cas-text variant="headline4" mobilevariant="m-body1"><slot name="subtitle"></slot></cas-text> </div> <div class="actions"> <a class="btn" href="${this.urlAction1}" target="_blank"> <cas-icon name="flat-youtube" size="20"></cas-icon> <cas-text variant="body2">Ver video</cas-text> </a> <a class="btn" href="${this.urlAction2}" target="_blank"> <cas-text variant="body2">Más información</cas-text> </a> </div> <div class="alliances"> <cas-text variant="body2">Nuestras alianzas</cas-text> <div class="list"> ${t} </div> </div> </div> <div class="cards"> ${a} </div> </div> </section> `}}s(c,"styles",m);customElements.get("ca-dai")||customElements.define("ca-dai",c);