Assign proper button type attributes

This commit is contained in:
Björn Fromme
2021-10-21 14:53:45 +02:00
parent a02c6ccafe
commit c75c86c3ca
40 changed files with 243 additions and 120 deletions
@@ -18,7 +18,8 @@
</span>
{city.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button w-full">
<button type="button"
class="button w-full">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
@@ -7,7 +7,8 @@
Es ist ein Problem aufgetreten. Bitte versucht es noch einmal.
</p>
<p>
<button class="button button--small"
<button type="button"
class="button button--small"
data-action="contactform#reset">
Neue Anfrage
</button>
@@ -81,7 +81,10 @@
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
<div class="mb-4">
<button type="submit" class="button button-warning">Jetzt anfragen</button>
<button type="submit"
class="button button-warning">
Jetzt anfragen
</button>
</div>
</f:form>
@@ -50,7 +50,10 @@
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
<div class="mb-4">
<button type="submit" class="button button-warning">Jetzt anfragen</button>
<button type="submit"
class="button button-warning">
Jetzt anfragen
</button>
</div>
</f:form>
@@ -8,7 +8,8 @@
setzen.
</p>
<p>
<button class="button button--small"
<button type="button"
class="button button--small"
data-action="contactform#reset">
Neue Anfrage
</button>
@@ -23,15 +23,16 @@
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: iteration.isFirst, then: 'false', else: 'true')}"
data-faq-target="entry">
<button class="uppercase text-lg text-white flex items-center space-x-4"
<button type="button"
class="uppercase text-lg text-white flex items-center space-x-4"
data-action="collapse#toggle">
<svg class="w-4 h-4 text-white transform transition duration-200 ease-in-out"
data-collapse-target="icon">
<use href="#icon-chevron-right"></use>
</svg>
<span>
{faq.question}
</span>
{faq.question}
</span>
</button>
<div class="text-white pt-2 transition-transform ease-out overflow-hidden origin-top transform hidden"
data-collapse-target="container"
@@ -17,7 +17,8 @@
<span class="headline--4 text-white hidden md:block">
{menuheader.title}
</span>
<button class="headline--4 text-white md:hidden"
<button type="button"
class="headline--4 text-white md:hidden"
data-action="collapse#toggle">
{menuheader.title}
</button>
@@ -178,7 +179,8 @@
</div>
</div>
</div>
<button data-controller="scroll-top"
<button type="button"
data-controller="scroll-top"
data-action="scroll-top#scroll"
class="hidden fixed bottom-0 right-0 mb-16 md:mb-8 mr-4 md:mr-8 z-10 h-10 w-10 flex items-center justify-center rounded bg-ep-secondary-80">
<svg class="w-8 h-8 text-white">
@@ -28,7 +28,8 @@
</span>
</f:if>
</div>
<button class="button w-full">
<button type="button"
class="button w-full">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
@@ -22,7 +22,10 @@
<span class="teaserbox__price"><strong>{f:if(condition: '{hotel.available} > 0', then: 'ab {hotel.minPrice} €', else: 'ausgebucht')}</strong></span>
</f:if>
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
<button type="button"
class="button button--full teaserbox__button">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
</f:section>
@@ -20,7 +20,10 @@
{hotel.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</f:if>
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
<button type="button"
class="button button--full teaserbox__button">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
</f:section>
@@ -117,7 +117,8 @@
</f:else>
</f:if>
</div>
<button class="teaserbox-watchlist"
<button type="button"
class="teaserbox-watchlist"
data-controller="watchlist-toggle"
data-watchlist-toggle-key-value="{item.key}"
data-action="watchlist-toggle#toggle">
@@ -18,7 +18,8 @@
<div class="flex lg:hidden items-center space-x-4">
<f:if condition="{data.tx_eptheme_hide_searchbar}">
<f:else>
<button class="focus:outline-none text-gray-800"
<button type="button"
class="focus:outline-none text-gray-800"
data-controller="overlay-toggle"
data-overlay-toggle-id-value="search"
data-action="overlay-toggle#invokeToggle">
@@ -28,7 +29,8 @@
</button>
</f:else>
</f:if>
<button class="focus:outline-none text-gray-800"
<button type="button"
class="focus:outline-none text-gray-800"
data-controller="overlay-toggle"
data-overlay-toggle-id-value="mobilenav"
data-action="overlay-toggle#invokeToggle">
@@ -71,7 +73,8 @@
<li class="pb-4">
<f:if condition="{searchbarCollapsed}">
<f:then>
<button data-controller="searchbar-toggle"
<button type="button"
data-controller="searchbar-toggle"
data-action="searchbar-toggle#toggle">
<svg class="w-6 h-6">
<use href="#icon-search"></use>
@@ -8,7 +8,8 @@
<f:if condition="{contentElements}">
<f:for each="{contentElements}" as="contentElement">
<li>
<button class="button w-full"
<button type="button"
class="button w-full"
data-controller="scroll-to"
data-scroll-to-target-value="c{contentElement.uid}"
data-action="scroll-to#scroll">
@@ -18,7 +18,8 @@
<div class="flex lg:hidden items-center space-x-4">
<f:if condition="{data.tx_eptheme_hide_searchbar}">
<f:else>
<button class="focus:outline-none text-gray-800"
<button type="button"
class="focus:outline-none text-gray-800"
data-controller="overlay-toggle"
data-overlay-toggle-id-value="search"
data-action="overlay-toggle#invokeToggle">
@@ -28,7 +29,9 @@
</button>
</f:else>
</f:if>
<button class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
<button type="button"
class="focus:outline-none"
data-action="overlay-toggle#invokeToggle">
<svg class="w-8 h-8">
<use href="#icon-close"></use>
</svg>
@@ -121,7 +124,8 @@
title="{subitem.title}">
{subitem.title}
</a>
<button class="focus:outline-none"
<button type="button"
class="focus:outline-none"
data-action="collapse#toggle">
<svg class="h-6 w-6 transform text-white" data-collapse-target="icon">
<use href="#icon-chevron-down"></use>
@@ -96,7 +96,11 @@
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span>&times;</span></button>
<button type="button"
class="close"
data-dismiss="modal">
<span>&times;</span>
</button>
<h5 class="modal-title">Optionale Zusatzleistungen</h5>
</div>
<div class="modal-body">
@@ -5,9 +5,10 @@
{product.conceptDescription -> f:format.html()}
</div>
<f:if condition="{product.calendarHotel} && {hotel.groupsPriceConfigs}">
<button class="button w-full"
data-controller="lightbox"
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
<button type="button"
class="button w-full"
data-controller="lightbox"
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}">
Preisberechnung
</button>
</f:if>
@@ -25,12 +25,14 @@
</ul>
</div>
<div class="splide__arrows absolute z-10 top-1/2 left-0 transform -translate-y-1/2 w-full flex justify-between">
<button class="splide__arrow splide__arrow--prev">
<button type="button"
class="splide__arrow splide__arrow--prev">
<svg class="w-10 h-10 text-white pointer-events-none">
<use href="#icon-chevron-left"></use>
</svg>
</button>
<button class="splide__arrow splide__arrow--next">
<button type="button"
class="splide__arrow splide__arrow--next">
<svg class="w-10 h-10 text-white pointer-events-none">
<use href="#icon-chevron-right"></use>
</svg>
@@ -18,7 +18,8 @@
</span>
{region.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button w-full">
<button type="button"
class="button w-full">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
@@ -11,7 +11,8 @@
<div class="mb-4 p-4 bg-ep-primary text-white"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.dateFrom} || {filterSettings.dateTo}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Reisezeitraum
@@ -55,22 +56,25 @@
<f:if condition="{settings.datePickerPresets}">
<div class="flex flex-col space-y-4">
<f:for each="{settings.datePickerPresets}" as="preset">
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-preset='{preset -> f:format.json() -> f:format.raw()}'
data-action="datepicker#selectPreset">
<span>
{preset.label}
</span>
<span>
{preset.label}
</span>
</button>
</f:for>
</div>
</f:if>
<div class="flex flex-col space-y-4">
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-action="collapse#close">
schließen
</button>
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-action="datepicker#reset">
zurücksetzen
</button>
@@ -88,7 +92,8 @@
<div class="mb-4 p-4 bg-ep-primary text-white"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.conceptUids}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Reisekonzepte
@@ -123,7 +128,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.countryUids} || {filterSettings.regionUids}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Reiseziel
@@ -175,7 +181,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.priceRanges}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Preis
@@ -207,7 +214,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.pax} > 1', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Personen
@@ -235,7 +243,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.hotelTypes}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Unterkunft
@@ -267,7 +276,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.boardTypes}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Verpflegung
@@ -309,7 +319,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: '{filterSettings.roomTypes}', then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Zimmerarten/Apart.
@@ -342,7 +353,8 @@
<div class="py-2"
data-controller="collapse"
data-collapse-collapsed-value="{f:if(condition: filterSettings.bus, then: 'false', else: 'true')}">
<button data-action="click->collapse#toggle"
<button type="button"
data-action="click->collapse#toggle"
class="flex items-center justify-between w-full">
<span class="uppercase font-bold">
Anreise
@@ -13,7 +13,8 @@
</h3>
<f:render partial="Search/FilterPanel" arguments="{_all}"/>
<div class="mt-4">
<button class="button button--secondary w-full"
<button type="button"
class="button button--secondary w-full"
data-action="search#reset">
Filter zurücksetzen
</button>
@@ -19,7 +19,8 @@
</span>
{data.bodytext -> f:format.html()}
</div>
<button class="button w-full">
<button type="button"
class="button w-full">
{data.button -> v:or(alternative: 'Details')}
</button>
</f:link.typolink>
@@ -16,7 +16,8 @@
<hr>
{data.bodytext -> f:format.html()}
</div>
<button class="button button--full">
<button type="button"
class="button button--full">
{data.button -> v:or(alternative: 'Details')}
</button>
</f:link.typolink>
@@ -0,0 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"
xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"
xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">
<f:layout name="Default"/>
<f:render partial="Search/FilterPanel" arguments="{_all}"/>
</html>
@@ -13,7 +13,8 @@
<f:if condition="{hasSurcharge} || {hasDiscount}">
<f:if condition="{hasSurcharge}">
<button data-action="pricetable#toggleSurcharge"
<button type="button"
data-action="pricetable#toggleSurcharge"
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
<svg class="w-4 h-4">
<use href="#icon-arrow-circle-right"></use>
@@ -26,7 +27,8 @@
</button>
</f:if>
<f:if condition="{hasDiscount}">
<button data-action="pricetable#toggleDiscount"
<button type="button"
data-action="pricetable#toggleDiscount"
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
<svg class="w-4 h-4">
<use href="#icon-arrow-circle-right"></use>
@@ -65,7 +67,8 @@
<td class="border border-gray-300 px-2 py-1 md:p-2">
<f:if condition="{bookable} && {row.available} && {row.showBookingButton}">
<f:then>
<button class="text-left text-ep-primary-light text-sm md:text-base"
<button type="button"
class="text-left text-ep-primary-light text-sm md:text-base"
data-action="product-details#loadPrices"
data-date-uid="{row.dateUid}">
{row.dateStart} - {row.dateEnd}
@@ -108,8 +111,8 @@
</svg>
</span>
</f:if>
<button class="text-ep-primary col-span-2 text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
type="button"
<button type="button"
class="text-ep-primary col-span-2 text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
data-action="pricetable#openModal"
data-type="services"
data-uid="{row.dateUid}"
@@ -160,7 +163,8 @@
<f:if condition="{dates -> f:count()} > 5 || {altProductLink}">
<div class="grid grid-cols-1 md:grid-cols-2 gap-2 pb-4">
<f:if condition="{dates -> f:count()} > 5">
<button class="flex items-center space-x-1 focus:outline-none text-ep-primary"
<button type="button"
class="flex items-center space-x-1 focus:outline-none text-ep-primary"
data-action="pricetable#toggleRows">
<svg class="w-4 h-4">
<use href="#icon-plus-circle"
@@ -198,7 +202,8 @@
<span class="text-xl font-bold">
Inklusivleistungen {hotel.name}
</span>
<button class="inline-block"
<button type="button"
class="inline-block"
data-action="modal#close">
<svg class="w-8 h-8">
<use href="#icon-close"></use>
@@ -33,7 +33,8 @@
</svg>
</span>
</f:if>
<button class="button button--light button--small hidden md:block"
<button type="button"
class="button button--light button--small hidden md:block"
data-action="daytrip#openModal"
data-type="services"
data-uid="{iteration.cycle}"
@@ -64,7 +65,8 @@
<span class="text-xl font-bold">
Inklusivleistungen
</span>
<button class="inline-block"
<button type="button"
class="inline-block"
data-action="modal#close">
<svg class="w-8 h-8">
<use href="#icon-close"></use>
@@ -15,7 +15,8 @@
<f:if condition="{hasSurcharge} || {hasDiscount}">
<f:if condition="{hasSurcharge}">
<button data-action="pricetable#toggleSurcharge"
<button type="button"
data-action="pricetable#toggleSurcharge"
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
<svg class="w-4 h-4">
<use href="#icon-arrow-circle-right"></use>
@@ -23,12 +24,13 @@
<span data-pricetable-target="surchargeToggleLabel"
data-label-default="Preise für Eigenanreise anzeigen"
data-label-alt="Preise für Busanreise anzeigen">
Preise für Eigenanreise anzeigen
</span>
Preise für Eigenanreise anzeigen
</span>
</button>
</f:if>
<f:if condition="{hasDiscount}">
<button data-action="pricetable#toggleDiscount"
<button type="button"
data-action="pricetable#toggleDiscount"
class="flex items-center space-x-1 focus:outline-none text-ep-primary mb-2">
<svg class="w-4 h-4">
<use href="#icon-arrow-circle-right"></use>
@@ -36,8 +38,8 @@
<span data-pricetable-target="discountToggleLabel"
data-label-default="Preise für Busanreise anzeigen"
data-label-alt="Preise für Eigenanreise anzeigen">
Preise für Busanreise anzeigen
</span>
Preise für Busanreise anzeigen
</span>
</button>
</f:if>
</f:if>
@@ -117,7 +119,8 @@
</td>
<td class="border border-gray-300 px-2 py-1 md:p-2 text-center">
<f:if condition="{row.hasOptionalServices} && {row.available}">
<button class="text-ep-primary text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
<button type="button"
class="text-ep-primary text-sm md:text-base text-left leading-none whitespace-nowrap p-1"
data-action="pricetable#openModal"
data-type="options"
data-uid="{row.roomUid}"
@@ -174,7 +177,8 @@
</table>
<f:if condition="{isSingleDate}">
<f:else>
<button class="button button--small mb-4"
<button type="button"
class="button button--small mb-4"
data-action="product-details#showDates">
<svg class="w-4 h-4 text-white">
<use href="#icon-chevron-left"></use>
@@ -213,7 +217,8 @@
<span class="text-xl font-bold">
Optionale Zusatzleistungen
</span>
<button class="inline-block"
<button type="button"
class="inline-block"
data-action="modal#close">
<svg class="w-8 h-8">
<use href="#icon-close"></use>
@@ -136,18 +136,19 @@
Details{f:if(condition: item.hideBookingButton, else: ' &amp; Buchen')}
</f:link.action>
</div>
<button class="teaserbox-watchlist"
<button type="button"
class="teaserbox-watchlist"
data-controller="watchlist-toggle"
data-watchlist-toggle-key-value="{item.key}"
data-action="watchlist-toggle#toggle">
<span data-cooltipz-dir="top-right"
role="tooltip"
aria-label="auf die Merkliste setzen"
data-watchlist-toggle-target="ariaLabel">
<svg class="w-5 h-5 text-ep-secondary">
<use href="#icon-plus-circle" data-watchlist-toggle-target="icon"></use>
</svg>
</span>
<span data-cooltipz-dir="top-right"
role="tooltip"
aria-label="auf die Merkliste setzen"
data-watchlist-toggle-target="ariaLabel">
<svg class="w-5 h-5 text-ep-secondary">
<use href="#icon-plus-circle" data-watchlist-toggle-target="icon"></use>
</svg>
</span>
</button>
</div>
</div>
@@ -12,7 +12,8 @@
<div class="container">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<div class="mb-8 lg:hidden">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -28,7 +29,8 @@
<div class="col-span-3 lg:col-span-1">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<p class="hidden lg:block">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -13,7 +13,8 @@
<div class="container">
<f:if condition="{teasers}">
<div class="mb-8 lg:hidden">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -62,7 +63,8 @@
<div class="col-span-3 lg:col-span-1">
<f:if condition="{teasers}">
<p class="hidden lg:block">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -17,14 +17,16 @@
data-teasergrid-disabled-value="false">
<f:if condition="{children_300}">
<div class="flex items-center space-x-1 mb-2 sm:hidden">
<button class="opacity-50"
<button type="button"
class="opacity-50"
data-action="teasergrid#grid"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="#icon-teaser-grid"></use>
</svg>
</button>
<button data-action="teasergrid#block"
<button type="button"
data-action="teasergrid#block"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="#icon-teaser-single"></use>
@@ -12,7 +12,8 @@
<div class="container">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<div class="mb-8 lg:hidden">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -57,7 +58,8 @@
<div class="col-span-3 lg:col-span-1">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<p class="hidden lg:block">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -10,7 +10,8 @@
<f:if condition="{page.content}">
<f:for each="{page.content}" as="element">
<f:if condition="{element.data.header}">
<button class="button w-full"
<button type="button"
class="button w-full"
data-controller="scroll-to"
data-scroll-to-target-value="c{element.data.uid}"
data-action="scroll-to#scroll">
@@ -19,7 +19,10 @@
<hr>
{country.teaser -> f:format.crop(maxCharacters: settings.teaserTextMaxChars) -> f:format.html()}
</div>
<button class="button button--full teaserbox__button">{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}</button>
<button type="button"
class="button button--full teaserbox__button">
{f:translate(key: 'tx_eptheme.label.teaserbutton.default', extensionName: 'ep_theme')}
</button>
</f:link.typolink>
</f:section>
@@ -11,7 +11,8 @@
<div class="container">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<div class="mb-8 lg:hidden">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -27,7 +28,8 @@
<div class="col-span-3 md:col-span-1">
<f:if condition="{v:content.get(column: 1) -> f:count()} > 0">
<p class="hidden lg:block">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -25,13 +25,15 @@
<div class="grid grid-cols-2 gap-2">
<f:if condition="{settings.hotelOnTop}">
<f:then>
<button class="button button--light button--active col-span-1 md:col-span-2"
<button type="button"
class="button button--light button--active col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="hotel">
Unterkunft
</button>
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="dates">
@@ -39,13 +41,15 @@
</button>
</f:then>
<f:else>
<button class="button button--light button--active col-span-1 md:col-span-2"
<button type="button"
class="button button--light button--active col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="dates">
Termine/Preise
</button>
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="hotel">
@@ -53,20 +57,23 @@
</button>
</f:else>
</f:if>
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="region">
Gebiet
</button>
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="city">
Ort
</button>
<f:if condition="{product.journey}">
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-action="tabs#select"
data-tabs-target="button"
data-tab="journey">
@@ -74,7 +81,8 @@
</button>
</f:if>
<f:if condition="{product.faqs}">
<button class="button button--light col-span-1 md:col-span-2"
<button type="button"
class="button button--light col-span-1 md:col-span-2"
data-controller="scroll-to"
data-scroll-to-target-value="faq"
data-action="scroll-to#scroll">
@@ -83,7 +91,8 @@
</f:if>
<div class="col-span-2">
<p class="mb-4">
<button class="button button--light w-full"
<button type="button"
class="button button--light w-full"
data-controller="watchlist-toggle"
data-watchlist-toggle-key-value="{hotel.uid}:{product.uid}"
data-action="watchlist-toggle#toggle">
@@ -278,7 +287,8 @@
<f:section name="Calendar">
<f:if condition="{product.calendarHotel}">
<f:if condition="{hotel.groupsPriceConfigs}">
<button class="button w-full"
<button type="button"
class="button w-full"
data-controller="lightbox"
data-lightbox-url-value="{f:uri.action(action: 'index', controller: 'GroupsPrice', arguments: '{hotel: hotel}', pageUid: settings.groupsPricePopupPageUid)}"
data-action="lightbox#open">
@@ -17,14 +17,16 @@
data-teasergrid-disabled-value="false">
<f:if condition="{teasers}">
<div class="flex items-center space-x-1 mb-2 sm:hidden">
<button class="opacity-50"
<button type="button"
class="opacity-50"
data-action="teasergrid#grid"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="#icon-teaser-grid"></use>
</svg>
</button>
<button data-action="teasergrid#block"
<button type="button"
data-action="teasergrid#block"
data-teasergrid-target="button">
<svg class="w-5 h-5 text-ep-primary">
<use href="#icon-teaser-single"></use>
@@ -12,7 +12,8 @@
<div class="container">
<f:if condition="{teasers}">
<div class="mb-8 lg:hidden">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -28,7 +29,8 @@
<div class="col-span-3 lg:col-span-1">
<f:if condition="{teasers}">
<p class="hidden lg:block">
<button class="button w-full mb-8"
<button type="button"
class="button w-full mb-8"
data-controller="scroll-to"
data-scroll-to-target-value="teasers"
data-action="scroll-to#scroll">
@@ -39,7 +39,8 @@
data-controller="collapse">
<div class="panel-heading">
<h4 class="panel-title">
<button data-action="collapse#toggle">
<button type="button"
data-action="collapse#toggle">
{label}
</button>
</h4>
@@ -74,7 +75,8 @@
data-controller="collapse">
<div class="panel-heading">
<h4 class="panel-title">
<button data-action="collapse#toggle">
<button type="button"
data-action="collapse#toggle">
{label}
</button>
</h4>
@@ -236,7 +238,8 @@
data-controller="collapse">
<div class="panel-heading">
<h4 class="panel-title">
<button data-action="collapse#toggle">
<button type="button"
data-action="collapse#toggle">
{label}
</button>
</h4>
@@ -266,7 +269,8 @@
data-controller="collapse">
<div class="panel-heading">
<h4 class="panel-title">
<button data-action="collapse#toggle">
<button type="button"
data-action="collapse#toggle">
{label}
</button>
</h4>
@@ -320,7 +324,8 @@
data-controller="collapse">
<div class="panel-heading">
<h4 class="panel-title">
<button data-action="collapse#toggle">
<button type="button"
data-action="collapse#toggle">
{label}
</button>
</h4>
@@ -16,7 +16,8 @@
title="{settings.defaultTitle}">
<img class="block h-10 lg:h-12 w-auto" src="{f:uri.image(src: settings.logoImage)}" alt="{settings.defaultTitle}">
</a>
<button class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
<button type="button"
class="focus:outline-none" data-action="overlay-toggle#invokeToggle">
<svg class="w-8 h-8">
<use href="#icon-close"></use>
</svg>
@@ -51,10 +52,12 @@
class="border-gray-400 focus:border-gray-800">
<div class="grid grid-cols-2 gap-4">
<button type="submit" class="button">
<button type="submit"
class="button">
Suchen
</button>
<button type="submit" class="button button--secondary">
<button type="submit"
class="button button--secondary">
Detailsuche
</button>
</div>
@@ -60,7 +60,8 @@
<f:if condition="{settings.datePickerPresets}">
<div class="flex flex-col space-y-4">
<f:for each="{settings.datePickerPresets}" as="preset">
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-preset='{preset -> f:format.json() -> f:format.raw()}'
data-action="datepicker#selectPreset">
<span>
@@ -71,11 +72,13 @@
</div>
</f:if>
<div class="flex flex-col space-y-4">
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-action="collapse#close">
schließen
</button>
<button class="button button--small button--light w-full"
<button type="button"
class="button button--small button--light w-full"
data-action="datepicker#reset">
zurücksetzen
</button>
@@ -106,7 +109,8 @@
<ul class="m-0 p-0">
<f:for each="{filterOptions.pax}" as="option">
<li>
<button data-action="searchbar#setPax"
<button type="button"
data-action="searchbar#setPax"
data-option="{option}">
{option}
</button>
@@ -143,7 +147,8 @@
<div class="grid grid-cols-5 gap-4">
<f:for each="{filterOptions.destinations}" as="destination">
<div class="col-span-2">
<button class="flex items-center space-x-2"
<button type="button"
class="flex items-center space-x-2"
data-action="searchbar#setDestination"
data-option-uid="{destination.country.uid}"
data-option-type="country"
@@ -159,7 +164,8 @@
</div>
<div class="col-span-3 flex flex-col items-start space-y-1">
<f:for each="{destination.regions}" as="region">
<button data-action="searchbar#setDestination"
<button type="button"
data-action="searchbar#setDestination"
data-option-uid="{region.uid}"
data-option-type="region"
data-option-label="{region.label}">
@@ -177,7 +183,8 @@
</div>
<div class="col-span-3 flex flex-col items-start space-y-1">
<f:for each="{filterOptions.concepts}" as="concept">
<button data-action="searchbar#setDestination"
<button type="button"
data-action="searchbar#setDestination"
data-option-uid="{concept.uid}"
data-option-type="concept"
data-option-label="{concept.name}">
@@ -186,7 +193,8 @@
</f:for>
</div>
</div>
<button class="button button--small"
<button type="button"
class="button button--small"
data-action="searchbar#resetDestination">
zurücksetzen
</button>
@@ -213,7 +221,8 @@
data-collapse-target="container">
<ul class="m-0 p-0">
<li>
<button data-action="searchbar#setPriceRange"
<button type="button"
data-action="searchbar#setPriceRange"
data-option-value=""
data-label-value="beliebig">
beliebig
@@ -221,7 +230,8 @@
</li>
<f:for each="{filterOptions.priceRanges}" as="range" iteration="iteration">
<li>
<button data-action="searchbar#setPriceRange"
<button type="button"
data-action="searchbar#setPriceRange"
data-option-value="{range.uid}"
data-label-value="{range.formatted}">
{range.formatted}
@@ -234,17 +244,20 @@
</div>
</div>
<button type="submit" class="hidden reduced:block reduced:ml-4">
<button type="submit"
class="hidden reduced:block reduced:ml-4">
<svg class="w-8 h-8 text-white">
<use href="#icon-chevron-right"></use>
</svg>
</button>
</div>
<div class="flex justify-end mt-4 reduced:hidden">
<button type="submit" class="w-1/3 text-white uppercase py-2">
<button type="submit"
class="w-1/3 text-white uppercase py-2">
Detailsuche
</button>
<button type="submit" class="w-1/3 text-white bg-ep-primary uppercase py-2">
<button type="submit"
class="w-1/3 text-white bg-ep-primary uppercase py-2">
Alle anzeigen
</button>
</div>