| @@ -9,18 +9,23 @@ export const createMiniTeaser = ({ | |||||
| icon = 'Roboter', | icon = 'Roboter', | ||||
| buttonlabel = 'IHK-Newsletter sichern', | buttonlabel = 'IHK-Newsletter sichern', | ||||
| }) => { | }) => { | ||||
| const tile = createElement('div', ['tile', 'mini-teaser', type], null); | |||||
| tile.href = link; | |||||
| const textBox = createElement('div', ['text-box'], null, tile); | |||||
| if (type === 'standard') { | if (type === 'standard') { | ||||
| const tile = createElement('a', ['tile', 'mini-teaser', type], null); | |||||
| tile.href = link; | |||||
| const textBox = createElement('div', ['text-box'], null, tile); | |||||
| createElement('h5', ['category'], category, textBox); | createElement('h5', ['category'], category, textBox); | ||||
| createElement('h4', ['title'], title, textBox); | |||||
| return tile; | |||||
| }else{ | }else{ | ||||
| const tile = createElement('div', ['tile', 'mini-teaser', type], null); | |||||
| const textBox = createElement('div', ['text-box'], null, tile); | |||||
| createElement('div', ['icon-box', 'pictogram-' + icon.toLowerCase().split(' ').join('-')], null, textBox); | createElement('div', ['icon-box', 'pictogram-' + icon.toLowerCase().split(' ').join('-')], null, textBox); | ||||
| createElement('h4', ['title'], title, textBox); | |||||
| textBox.appendChild(createButton({color: 'white', label: buttonlabel,link: link, iconPosition: 'icon-right', icon: null})) | |||||
| return tile; | |||||
| } | } | ||||
| createElement('h4', ['title'], title, textBox); | |||||
| if (type === 'infoteaser') { | |||||
| textBox.appendChild(createButton({color: 'white', label: buttonlabel, iconPosition: 'icon-right', icon: null})) | |||||
| } | |||||
| return tile; | |||||
| } | } | ||||
| @@ -14,6 +14,7 @@ | |||||
| text-align: center; | text-align: center; | ||||
| text-decoration: none; | text-decoration: none; | ||||
| background-color: var(--theme-grey-light); | background-color: var(--theme-grey-light); | ||||
| display: block; | |||||
| .title{ | .title{ | ||||
| font-size: 22px; | font-size: 22px; | ||||
| } | } | ||||
| @@ -24,12 +25,12 @@ | |||||
| top: 0; | top: 0; | ||||
| left: 0; | left: 0; | ||||
| right: 0; | right: 0; | ||||
| height: var(--border-width); | |||||
| height: 4px; | |||||
| background-color: var(--theme-color-secondary); | background-color: var(--theme-color-secondary); | ||||
| transition: 0.2s ease; | transition: 0.2s ease; | ||||
| } | } | ||||
| &.standard:hover::before { | &.standard:hover::before { | ||||
| height: var(--border-width-hover); | |||||
| height: 8px; | |||||
| } | } | ||||
| h4{ | h4{ | ||||
| font-size: 22px; | font-size: 22px; | ||||
| @@ -95,6 +96,9 @@ | |||||
| padding:0; | padding:0; | ||||
| margin:0; | margin:0; | ||||
| margin-bottom:8px; | margin-bottom:8px; | ||||
| font-size:16px; | |||||
| text-transform: uppercase; | |||||
| line-height: 18px; | |||||
| } | } | ||||
| .title{ | .title{ | ||||
| text-align: left; | text-align: left; | ||||
| @@ -1,4 +1,5 @@ | |||||
| import './event-teasers-large.scss'; | import './event-teasers-large.scss'; | ||||
| //import '../../components/mini-teaser/miniteaser.scss'; | |||||
| import {EventTeasersLargeData} from "./EventTeasersLargeData"; | import {EventTeasersLargeData} from "./EventTeasersLargeData"; | ||||
| import {createElement} from "../../_global/scripts/helpers"; | import {createElement} from "../../_global/scripts/helpers"; | ||||
| import {createButton} from "../../atoms/button/ButtonComponent"; | import {createButton} from "../../atoms/button/ButtonComponent"; | ||||
| @@ -7,6 +7,12 @@ export default { | |||||
| layout: 'fullscreen', | layout: 'fullscreen', | ||||
| }, | }, | ||||
| argTypes: { | argTypes: { | ||||
| type: { | |||||
| name: 'Typ', | |||||
| control: {type: 'select'}, | |||||
| options: ['standard', 'hero-fullwidth'], | |||||
| defaultValue: 'standard', | |||||
| }, | |||||
| artworkStyle: { | artworkStyle: { | ||||
| name: 'Artwork Stil', | name: 'Artwork Stil', | ||||
| control: {type: 'select'}, | control: {type: 'select'}, | ||||
| @@ -53,4 +59,4 @@ export const MarketingHeaderSlider = Template.bind({}); | |||||
| MarketingHeaderSlider.args = {}; | MarketingHeaderSlider.args = {}; | ||||
| export const MarketingHeaderStage = Template.bind({}); | export const MarketingHeaderStage = Template.bind({}); | ||||
| MarketingHeaderStage.args = {}; | |||||
| MarketingHeaderStage.args = {type:'hero-fullwidth'}; | |||||
| @@ -10,6 +10,7 @@ import IHKSearchTypeahead from "./marketingheader-typeahead"; | |||||
| import {createButton} from "../../atoms/button/ButtonComponent"; | import {createButton} from "../../atoms/button/ButtonComponent"; | ||||
| import IHKMHSlider from "./marketingheaderslider"; | import IHKMHSlider from "./marketingheaderslider"; | ||||
| import {searchData, teaserData, sliderData} from "./MarketingHeaderData"; | import {searchData, teaserData, sliderData} from "./MarketingHeaderData"; | ||||
| import {createMiniTeaser} from "../../components/mini-teaser/MiniTeaserComponent"; | |||||
| export const createMarketingHeader = | export const createMarketingHeader = | ||||
| @@ -38,8 +39,10 @@ export const createMarketingHeader = | |||||
| isFirstElement = false, | isFirstElement = false, | ||||
| slides = sliderData, | slides = sliderData, | ||||
| teasers = teaserData, | teasers = teaserData, | ||||
| maxItems = 3, | |||||
| type = 'infoteaser', | |||||
| }) => { | }) => { | ||||
| const section = createElement('section', ['marketingheader'], null); | |||||
| const section = createElement('section', ['marketingheader', type], null); | |||||
| const search = createElement('div', ['search'], null, section); | const search = createElement('div', ['search'], null, section); | ||||
| const artwork = createArtwork({type: artworkStyle}); | const artwork = createArtwork({type: artworkStyle}); | ||||
| search.appendChild(artwork); | search.appendChild(artwork); | ||||
| @@ -72,8 +75,13 @@ export const createMarketingHeader = | |||||
| /* SLIDER */ | /* SLIDER */ | ||||
| const container2 = createElement('div', ['container', 'slidercontainer', 'rotation'], null, section); | |||||
| const sliderComponent = createElement('div', ['slider'], null, container2); | |||||
| const container2 = createElement('div', ['container', 'mainstage'], null, section); | |||||
| const row2 = createElement('div', ['row'], null, container2); | |||||
| const colslider = createElement('div', ['col', 'slidercontainer', 'rotation'], null, row2); | |||||
| //const col2 = createElement('div', ['col'], null, row2); | |||||
| const sliderComponent = createElement('div', ['slider'], null, colslider); | |||||
| slides.map((slideData, index) => { | slides.map((slideData, index) => { | ||||
| const slide = createElement('div', ['slide'], null, sliderComponent); | const slide = createElement('div', ['slide'], null, sliderComponent); | ||||
| const outer = createElement('outer', ['outer'], null, slide); | const outer = createElement('outer', ['outer'], null, slide); | ||||
| @@ -122,8 +130,27 @@ export const createMarketingHeader = | |||||
| } | } | ||||
| } | } | ||||
| }) | }) | ||||
| new IHKMHSlider($(sliderComponent)); | new IHKMHSlider($(sliderComponent)); | ||||
| if (type === 'infoteaser') { | |||||
| const col3 = createElement('div', ['col'], null, row2); | |||||
| //const teasers = createMiniTeaser({teasers.type: 'standard'}); | |||||
| //col3.appendChild(teasers); | |||||
| teasers.map((t, i) => { | |||||
| if (i < maxItems) { | |||||
| var typ = 'standard'; | |||||
| if (i == 0 && t.type == 'infoteaser') typ = 'infoteaser'; | |||||
| const col4 = createElement('div', ['mt'], null, col3); | |||||
| const tea = createMiniTeaser({ | |||||
| type : typ, | |||||
| }) | |||||
| col4.appendChild(tea); | |||||
| } | |||||
| }) | |||||
| } | |||||
| /* | /* | ||||
| const hasImage = imageSrc && imageSrc.length > 0; | const hasImage = imageSrc && imageSrc.length > 0; | ||||
| const stage = createElement('div', ['participation', 'participation-stage'], null, section); | const stage = createElement('div', ['participation', 'participation-stage'], null, section); | ||||
| @@ -31,18 +31,18 @@ export const teaserData = [ | |||||
| title: 'Jetzt Teil der Digitalisierungswelle werden.', | title: 'Jetzt Teil der Digitalisierungswelle werden.', | ||||
| link: '#', | link: '#', | ||||
| icon: 'Virus', | icon: 'Virus', | ||||
| buttonlabel: 'IHK-Newsletter sichern', | |||||
| type: 'standard', | |||||
| }, | }, | ||||
| { | { | ||||
| category: 'IHK Mitgliedschaft', | category: 'IHK Mitgliedschaft', | ||||
| title: 'Exklusive Einblicke und Branchen-Trends:', | title: 'Exklusive Einblicke und Branchen-Trends:', | ||||
| link: '#', | link: '#', | ||||
| icon: 'Roboter', | |||||
| }, | }, | ||||
| { | { | ||||
| category: 'IHK Mitgliedschaft', | category: 'IHK Mitgliedschaft', | ||||
| title: 'Exklusive Einblicke und Branchen-Trends:', | title: 'Exklusive Einblicke und Branchen-Trends:', | ||||
| link: '#', | link: '#', | ||||
| icon: 'Stadt', | |||||
| } | } | ||||
| ] | ] | ||||
| @@ -2,6 +2,22 @@ | |||||
| @import '../../_global/styles/vars'; | @import '../../_global/styles/vars'; | ||||
| section.marketingheader{ | section.marketingheader{ | ||||
| margin-top:0; | margin-top:0; | ||||
| .rotation .slider{ | |||||
| border-bottom:0; | |||||
| .text-box{ | |||||
| color:var(--theme-color-primary); | |||||
| &:not(:first-child)::before { | |||||
| background-color: var(--theme-color-primary-dimmed-04); | |||||
| } | |||||
| .btn{ | |||||
| background-color: var(--theme-color-primary); | |||||
| color:white; | |||||
| &:hover:after{ | |||||
| box-shadow: 0 0 0 var(--button-hover-shadow-size) var(--theme-color-primary); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| .search { | .search { | ||||
| position: relative; | position: relative; | ||||
| //padding: calc(0.4vw + 20px) 0 calc(1vw + 40px); | //padding: calc(0.4vw + 20px) 0 calc(1vw + 40px); | ||||
| @@ -290,4 +306,92 @@ section.marketingheader{ | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| &.infoteaser{ | |||||
| .mainstage{ | |||||
| .row{ | |||||
| margin:30px -8px 0; | |||||
| .col{ | |||||
| flex: 1 1 66.6666%; | |||||
| max-width: 66.6666%; | |||||
| padding:0 8px; | |||||
| + .col{ | |||||
| flex: 1 1 33.3333%; | |||||
| max-width: 33.3333%; | |||||
| display: flex; | |||||
| flex-flow: column; | |||||
| justify-content: space-between; | |||||
| margin: -8px 0; | |||||
| padding:0 8px; | |||||
| .mt{ | |||||
| height: 100%; | |||||
| padding: 8px 0; | |||||
| .mini-teaser{ | |||||
| height: 100%; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| &.hero-fullwidth{ | |||||
| max-height:566px; | |||||
| .mainstage.container{ | |||||
| max-width: 1920px; | |||||
| width:100%; | |||||
| padding:0; | |||||
| } | |||||
| .rotation{ | |||||
| margin:0 !important; | |||||
| padding:0 !important; | |||||
| //max-width: 1920px; | |||||
| width:100%; | |||||
| } | |||||
| .image-box{ | |||||
| width:100%; | |||||
| flex: 1 1 100%; | |||||
| max-width: 100%; | |||||
| max-height:566px; | |||||
| position: relative; | |||||
| &:after{ | |||||
| position:absolute; | |||||
| top:0; | |||||
| left:0; | |||||
| bottom:0; | |||||
| right:0; | |||||
| z-index: 0; | |||||
| content:""; | |||||
| opacity: 0.6; | |||||
| background: linear-gradient(87deg, #036 12.55%, rgba(1, 40, 81, 0.86) 56.52%, rgba(0, 51, 102, 0.00) 94.05%); | |||||
| background-blend-mode: overlay; | |||||
| &:before{ | |||||
| display:none; | |||||
| } | |||||
| } | |||||
| img{ | |||||
| object-fit: cover; | |||||
| position:relative; | |||||
| z-index: -1; | |||||
| } | |||||
| } | |||||
| .text-box{ | |||||
| position: absolute; | |||||
| height: 100%; | |||||
| color:white; | |||||
| *{ | |||||
| color:white; | |||||
| } | |||||
| &:after{ | |||||
| display:none; | |||||
| } | |||||
| &:before{ | |||||
| display:none; | |||||
| } | |||||
| } | |||||
| } | |||||
| .rotation{ | |||||
| margin:0; | |||||
| } | |||||
| } | } | ||||