@oiz/stzh-components 3.0.0-beta3 → 3.0.0-beta4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-0cbebaa1.js → app-globals-5897b76e.js} +39 -14
- package/dist/cjs/app-globals-5897b76e.js.map +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-appointments.cjs.entry.js +11 -8
- package/dist/cjs/stzh-appointments.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-calendar.cjs.entry.js +1 -1
- package/dist/cjs/stzh-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-card_3.cjs.entry.js +16 -19
- package/dist/cjs/stzh-card_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-chip.cjs.entry.js +2 -2
- package/dist/cjs/stzh-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-content.cjs.entry.js +1 -1
- package/dist/cjs/stzh-content.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
- package/dist/cjs/stzh-cta.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +9 -4
- package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-datamessagelist.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datamessagelist.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-dropdown.cjs.entry.js +8 -2
- package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-header.cjs.entry.js +15 -5
- package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-iframe.cjs.entry.js +11 -3
- package/dist/cjs/stzh-iframe.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-imagecomparison.cjs.entry.js +2 -2
- package/dist/cjs/stzh-imagecomparison.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-link.cjs.entry.js +1 -1
- package/dist/cjs/stzh-link.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-search.cjs.entry.js +20 -3
- package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
- package/dist/collection/assets/i18n/de.json +2 -2
- package/dist/collection/assets/i18n/en.json +2 -2
- package/dist/collection/components/stzh-appointments/stzh-appointments.css +99 -19
- package/dist/collection/components/stzh-appointments/stzh-appointments.js +9 -7
- package/dist/collection/components/stzh-appointments/stzh-appointments.js.map +1 -1
- package/dist/collection/components/stzh-appointments/stzh-appointments.stories.js +7 -1
- package/dist/collection/components/stzh-button/stzh-button.css +10 -10
- package/dist/collection/components/stzh-calendar/stzh-calendar.css +0 -2
- package/dist/collection/components/stzh-card/stzh-card.css +0 -27
- package/dist/collection/components/stzh-card/stzh-card.js +12 -94
- package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
- package/dist/collection/components/stzh-card/stzh-card.stories.js +0 -17
- package/dist/collection/components/stzh-chip/stzh-chip.css +22 -10
- package/dist/collection/components/stzh-chip/stzh-chip.js +2 -2
- package/dist/collection/components/stzh-chip/stzh-chip.js.map +1 -1
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.js +3 -1
- package/dist/collection/components/stzh-chipselect/stzh-chipselect.js.map +1 -1
- package/dist/collection/components/stzh-content/stzh-content.css +3 -3
- package/dist/collection/components/stzh-cspace/stzh-cspace.css +36 -0
- package/dist/collection/components/stzh-cta/stzh-cta.css +22 -36
- package/dist/collection/components/stzh-datamessagelist/stzh-datamessagelist.css +0 -5
- package/dist/collection/components/stzh-datamessagelist/stzh-datamessagelist.stories.js +26 -0
- package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.css +26 -16
- package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.js +26 -3
- package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.js.map +1 -1
- package/dist/collection/components/stzh-datepicker/stzh-datepicker.css +18 -3
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +288 -40
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +108 -4
- package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
- package/dist/collection/components/stzh-header/stzh-header.css +15 -13
- package/dist/collection/components/stzh-header/stzh-header.js +19 -6
- package/dist/collection/components/stzh-header/stzh-header.js.map +1 -1
- package/dist/collection/components/stzh-iframe/stzh-iframe.js +160 -3
- package/dist/collection/components/stzh-iframe/stzh-iframe.js.map +1 -1
- package/dist/collection/components/stzh-imagecomparison/stzh-imagecomparison.css +12 -17
- package/dist/collection/components/stzh-imagecomparison/stzh-imagecomparison.js +1 -1
- package/dist/collection/components/stzh-imagecomparison/stzh-imagecomparison.js.map +1 -1
- package/dist/collection/components/stzh-link/stzh-link.js +19 -19
- package/dist/collection/components/stzh-link/stzh-link.js.map +1 -1
- package/dist/collection/components/stzh-search/stzh-search.css +70 -0
- package/dist/collection/components/stzh-search/stzh-search.js +72 -3
- package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
- package/dist/collection/components/stzh-search/stzh-search.stories.js +3 -0
- package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +7 -7
- package/dist/collection/global/js/helpers/autofocus.js +36 -11
- package/dist/collection/global/js/script.js +2 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +38 -13
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/stzh-appointments.js +11 -9
- package/dist/components/stzh-appointments.js.map +1 -1
- package/dist/components/stzh-button2.js +1 -1
- package/dist/components/stzh-button2.js.map +1 -1
- package/dist/components/stzh-calendar2.js +1 -1
- package/dist/components/stzh-calendar2.js.map +1 -1
- package/dist/components/stzh-card2.js +13 -22
- package/dist/components/stzh-card2.js.map +1 -1
- package/dist/components/stzh-chip2.js +3 -3
- package/dist/components/stzh-chip2.js.map +1 -1
- package/dist/components/stzh-chipselect2.js +3 -1
- package/dist/components/stzh-chipselect2.js.map +1 -1
- package/dist/components/stzh-content.js +1 -1
- package/dist/components/stzh-content.js.map +1 -1
- package/dist/components/stzh-cspace.js +1 -1
- package/dist/components/stzh-cspace.js.map +1 -1
- package/dist/components/stzh-cta.js +1 -1
- package/dist/components/stzh-cta.js.map +1 -1
- package/dist/components/stzh-datamessagelist-item.js +10 -4
- package/dist/components/stzh-datamessagelist-item.js.map +1 -1
- package/dist/components/stzh-datamessagelist.js +1 -1
- package/dist/components/stzh-datamessagelist.js.map +1 -1
- package/dist/components/stzh-datepicker2.js +1 -1
- package/dist/components/stzh-datepicker2.js.map +1 -1
- package/dist/components/stzh-dropdown2.js +12 -2
- package/dist/components/stzh-dropdown2.js.map +1 -1
- package/dist/components/stzh-header.js +17 -5
- package/dist/components/stzh-header.js.map +1 -1
- package/dist/components/stzh-iframe2.js +19 -3
- package/dist/components/stzh-iframe2.js.map +1 -1
- package/dist/components/stzh-imagecomparison.js +2 -2
- package/dist/components/stzh-imagecomparison.js.map +1 -1
- package/dist/components/stzh-link2.js +2 -2
- package/dist/components/stzh-link2.js.map +1 -1
- package/dist/components/stzh-search.js +49 -16
- package/dist/components/stzh-search.js.map +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
- package/dist/esm/{app-globals-3c171b79.js → app-globals-6a7ed0f4.js} +39 -14
- package/dist/esm/app-globals-6a7ed0f4.js.map +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stzh-appointments.entry.js +11 -8
- package/dist/esm/stzh-appointments.entry.js.map +1 -1
- package/dist/esm/stzh-badge_3.entry.js +1 -1
- package/dist/esm/stzh-badge_3.entry.js.map +1 -1
- package/dist/esm/stzh-calendar.entry.js +1 -1
- package/dist/esm/stzh-calendar.entry.js.map +1 -1
- package/dist/esm/stzh-card_3.entry.js +16 -19
- package/dist/esm/stzh-card_3.entry.js.map +1 -1
- package/dist/esm/stzh-chip.entry.js +3 -3
- package/dist/esm/stzh-chip.entry.js.map +1 -1
- package/dist/esm/stzh-components.js +2 -2
- package/dist/esm/stzh-content.entry.js +1 -1
- package/dist/esm/stzh-content.entry.js.map +1 -1
- package/dist/esm/stzh-cspace.entry.js +1 -1
- package/dist/esm/stzh-cspace.entry.js.map +1 -1
- package/dist/esm/stzh-cta.entry.js +1 -1
- package/dist/esm/stzh-cta.entry.js.map +1 -1
- package/dist/esm/stzh-datamessagelist-item.entry.js +9 -4
- package/dist/esm/stzh-datamessagelist-item.entry.js.map +1 -1
- package/dist/esm/stzh-datamessagelist.entry.js +1 -1
- package/dist/esm/stzh-datamessagelist.entry.js.map +1 -1
- package/dist/esm/stzh-datepicker_3.entry.js +1 -1
- package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
- package/dist/esm/stzh-dropdown.entry.js +8 -2
- package/dist/esm/stzh-dropdown.entry.js.map +1 -1
- package/dist/esm/stzh-header.entry.js +15 -5
- package/dist/esm/stzh-header.entry.js.map +1 -1
- package/dist/esm/stzh-iframe.entry.js +11 -3
- package/dist/esm/stzh-iframe.entry.js.map +1 -1
- package/dist/esm/stzh-imagecomparison.entry.js +2 -2
- package/dist/esm/stzh-imagecomparison.entry.js.map +1 -1
- package/dist/esm/stzh-link.entry.js +1 -1
- package/dist/esm/stzh-link.entry.js.map +1 -1
- package/dist/esm/stzh-search.entry.js +20 -3
- package/dist/esm/stzh-search.entry.js.map +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/stzh-components/assets/i18n/de.json +2 -2
- package/dist/stzh-components/assets/i18n/en.json +2 -2
- package/dist/stzh-components/index.esm.js.map +1 -1
- package/dist/stzh-components/{p-3ca4f71a.entry.js → p-069e181f.entry.js} +2 -2
- package/dist/stzh-components/p-069e181f.entry.js.map +1 -0
- package/dist/stzh-components/p-1b78f602.entry.js +2 -0
- package/dist/stzh-components/p-1b78f602.entry.js.map +1 -0
- package/dist/stzh-components/p-295c8995.entry.js +2 -0
- package/dist/stzh-components/p-295c8995.entry.js.map +1 -0
- package/dist/stzh-components/p-2bbbc217.entry.js +9 -0
- package/dist/stzh-components/{p-b4ce8e10.entry.js.map → p-2bbbc217.entry.js.map} +1 -1
- package/dist/stzh-components/p-2d57953a.entry.js +2 -0
- package/dist/stzh-components/{p-1252aa01.entry.js.map → p-2d57953a.entry.js.map} +1 -1
- package/dist/stzh-components/p-2eb8f323.entry.js +2 -0
- package/dist/stzh-components/{p-62b88844.entry.js.map → p-2eb8f323.entry.js.map} +1 -1
- package/dist/stzh-components/p-45392fe0.entry.js +2 -0
- package/dist/stzh-components/p-45392fe0.entry.js.map +1 -0
- package/dist/stzh-components/{p-bd494b47.entry.js → p-523c0bb1.entry.js} +2 -2
- package/dist/stzh-components/p-523c0bb1.entry.js.map +1 -0
- package/dist/stzh-components/{p-e63dfe12.entry.js → p-5b9b2425.entry.js} +2 -2
- package/dist/stzh-components/{p-e63dfe12.entry.js.map → p-5b9b2425.entry.js.map} +1 -1
- package/dist/stzh-components/{p-bb87a6e2.entry.js → p-75fec3cd.entry.js} +2 -2
- package/dist/stzh-components/{p-bb87a6e2.entry.js.map → p-75fec3cd.entry.js.map} +1 -1
- package/dist/stzh-components/p-78eaea8d.js +2 -0
- package/dist/stzh-components/p-78eaea8d.js.map +1 -0
- package/dist/stzh-components/p-8ab62796.entry.js +2 -0
- package/dist/stzh-components/p-8ab62796.entry.js.map +1 -0
- package/dist/stzh-components/p-b0626969.entry.js +2 -0
- package/dist/stzh-components/p-b0626969.entry.js.map +1 -0
- package/dist/stzh-components/p-b34a4e7c.entry.js +2 -0
- package/dist/stzh-components/p-b34a4e7c.entry.js.map +1 -0
- package/dist/stzh-components/p-b5224e53.entry.js +2 -0
- package/dist/stzh-components/p-b5224e53.entry.js.map +1 -0
- package/dist/stzh-components/p-d1e6afe2.entry.js +2 -0
- package/dist/stzh-components/p-d1e6afe2.entry.js.map +1 -0
- package/dist/stzh-components/p-ddfb8df0.entry.js +2 -0
- package/dist/stzh-components/p-ddfb8df0.entry.js.map +1 -0
- package/dist/stzh-components/p-eb79f3ed.entry.js +2 -0
- package/dist/stzh-components/p-eb79f3ed.entry.js.map +1 -0
- package/dist/stzh-components/p-f50e0102.entry.js +2 -0
- package/dist/stzh-components/p-f50e0102.entry.js.map +1 -0
- package/dist/stzh-components/stzh-components.css +1 -1
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/stzh-components/stzh-components.esm.js.map +1 -1
- package/dist/types/components/stzh-card/stzh-card.d.ts +1 -5
- package/dist/types/components/stzh-datamessagelist-item/stzh-datamessagelist-item.d.ts +2 -0
- package/dist/types/components/stzh-dropdown/stzh-dropdown.d.ts +10 -2
- package/dist/types/components/stzh-header/stzh-header.d.ts +2 -2
- package/dist/types/components/stzh-iframe/stzh-iframe.d.ts +29 -1
- package/dist/types/components/stzh-link/stzh-link.d.ts +2 -2
- package/dist/types/components/stzh-search/stzh-search.d.ts +10 -0
- package/dist/types/components.d.ts +156 -38
- package/dist/types/index.d.ts +3 -0
- package/dist/vscode-data.json +140 -12
- package/package.json +1 -1
- package/dist/cjs/app-globals-0cbebaa1.js.map +0 -1
- package/dist/collection/patterns/appointments/appointments.e2e.js +0 -18
- package/dist/collection/patterns/appointments/appointments.e2e.js.map +0 -1
- package/dist/esm/app-globals-3c171b79.js.map +0 -1
- package/dist/stzh-components/p-1252aa01.entry.js +0 -2
- package/dist/stzh-components/p-18015613.entry.js +0 -2
- package/dist/stzh-components/p-18015613.entry.js.map +0 -1
- package/dist/stzh-components/p-38d64313.entry.js +0 -2
- package/dist/stzh-components/p-38d64313.entry.js.map +0 -1
- package/dist/stzh-components/p-39fa126d.js +0 -2
- package/dist/stzh-components/p-39fa126d.js.map +0 -1
- package/dist/stzh-components/p-3ca4f71a.entry.js.map +0 -1
- package/dist/stzh-components/p-4cff0c86.entry.js +0 -2
- package/dist/stzh-components/p-4cff0c86.entry.js.map +0 -1
- package/dist/stzh-components/p-5e48450d.entry.js +0 -2
- package/dist/stzh-components/p-5e48450d.entry.js.map +0 -1
- package/dist/stzh-components/p-62b88844.entry.js +0 -2
- package/dist/stzh-components/p-69c1826d.entry.js +0 -2
- package/dist/stzh-components/p-69c1826d.entry.js.map +0 -1
- package/dist/stzh-components/p-7091d652.entry.js +0 -2
- package/dist/stzh-components/p-7091d652.entry.js.map +0 -1
- package/dist/stzh-components/p-76902b7c.entry.js +0 -2
- package/dist/stzh-components/p-76902b7c.entry.js.map +0 -1
- package/dist/stzh-components/p-92285350.entry.js +0 -2
- package/dist/stzh-components/p-92285350.entry.js.map +0 -1
- package/dist/stzh-components/p-93e0ff47.entry.js +0 -2
- package/dist/stzh-components/p-93e0ff47.entry.js.map +0 -1
- package/dist/stzh-components/p-b4ce8e10.entry.js +0 -9
- package/dist/stzh-components/p-bd494b47.entry.js.map +0 -1
- package/dist/stzh-components/p-e6785bb1.entry.js +0 -2
- package/dist/stzh-components/p-e6785bb1.entry.js.map +0 -1
- package/dist/stzh-components/p-fb1d20da.entry.js +0 -2
- package/dist/stzh-components/p-fb1d20da.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["packageName","packageNameScoped","substring","indexOf","debouncedFocus","event","autofocus","document","querySelector","window","stzhComponents","fixAutofocus","location","hash","detail","namespace","tagName","toLowerCase","focus","fixHashfocus","hashElement","scrollIntoView","applyAutofocus","addEventListener","observeScrollbarWidth","config","threshold","handleIntersect","entries","forEach","entry","scrollbarWidth","intersectionRatio","innerWidth","documentElement","clientWidth","style","setProperty","bodyScrollObserver","IntersectionObserver","observe","body","format","date","type","translations","console","log","$formats","$globals","adapter","createFormatParseAdapter","parse","string","formatSpan","date2","parseSpan","formats","globals","globalFormatter","Date","isNaN","getTime","j","getDate","toString","d","n","getMonth","m","yC","getFullYear","gC","getHours","hC","i","getMinutes","fC","monthNames","mC","monthNamesShort","l","dayNames","getDay","D","dayNamesShort","replace","globalParser","input","regex","RegExp","match","groups","year","parseInt","Y","month","day","hours","G","H","minutes","globalAdapter","dateFormats","formattedDate","formattedDate2","this","range","dateRange","startsWith","timeRange","dates","split","getLocale","element","closestElement","closest","locale","lang","supportedLocales","defaultLocale","async","fetchTranslations","host","component","existingTranslations","JSON","sessionStorage","getItem","version","cacheTranslations","Object","keys","length","$locale","$code","$formatsIso","$formatsLegacy","result","fetch","pathTranslations","ok","data","json","setItem","stringify","exception","error","assign","pathMedia","utils","translationsLoading","then","catch","reason","globalScripts","appGlobalScript"],"sources":["src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n// let focused = false;\n\n// function debounce(func, timeout = 500){\n// let timer;\n// return (...args) => {\n// clearTimeout(timer);\n// timer = setTimeout(() => { func.apply(this, args); }, timeout);\n// };\n// }\n\nconst debouncedFocus = (event) => {\n // if (focused) {\n // return false;\n // }\n\n const autofocus = document.querySelector('[autofocus]');\n\n if (window.stzhComponents.fixAutofocus\n && !document.location.hash\n && autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'focus' in autofocus\n ) {\n autofocus.focus();\n // focused = true;\n } else if (window.stzhComponents.fixHashfocus && document.location.hash) {\n const hashElement = document.querySelector(document.location.hash);\n\n if (hashElement) {\n hashElement.scrollIntoView();\n // focused = true;\n }\n }\n}\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', debouncedFocus);\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n // scrollbarWidth = window.innerWidth - document.body.clientWidth;\n scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n document.documentElement.style.setProperty('--stzh-scrollbar-active', scrollbarWidth > 0 ? '1' : '0');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n // short textual representation of the day\n let D = globals.dayNamesShort[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{D\\}/g, D)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date && !isNaN(date.getTime())) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date && !isNaN(date2.getTime())) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return formattedDate\n + ((formattedDate2 && (\n !(formattedDate2 instanceof Date)\n || formattedDate2 instanceof Date && !isNaN(date.getTime())\n )) ? range + formattedDate2 : '');\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nexport function getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats,\n $formatsIso: existingTranslations.$formatsIso,\n $formatsLegacy: existingTranslations.$formatsLegacy\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats,\n $formatsIso: data.$formatsIso,\n $formatsLegacy: data.$formatsLegacy\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n fixAutofocus: true,\n fixHashfocus: true,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as i,h as s,F as r,a as e,g as o}from"./p-c7bfac7a.js";import{a}from"./p-23d404e1.js";import{h}from"./p-7e304ea3.js";import{S as n}from"./p-fc692303.js";import{c as d}from"./p-9b063923.js";const c=".sc-stzh-datepicker-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-datepicker-h{display:none}.sc-stzh-datepicker-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-datepicker-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-datepicker-h *.sc-stzh-datepicker,.sc-stzh-datepicker-h *.sc-stzh-datepicker::before,.sc-stzh-datepicker-h *.sc-stzh-datepicker::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-datepicker-h .has-focus.sc-stzh-datepicker{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-datepicker-h .stzh-fylingfocus-focused.sc-stzh-datepicker{outline-style:none !important}.sc-stzh-datepicker-h .stzh-fylingfocus-focused.sc-stzh-datepicker::-moz-focus-inner{border:0 !important}.sc-stzh-datepicker-h{--calendar-width:var(--stzh-calendar-width);width:100%}[inline].sc-stzh-datepicker-h:not([inline=false]){width:var(--calendar-width)}.stzh-datepicker__popover.sc-stzh-datepicker{--width:auto}.stzh-datepicker__calendar.sc-stzh-datepicker{margin-left:auto;margin-right:auto}.stzh-datepicker__calendar.is-inline.sc-stzh-datepicker{width:100%;margin-left:0px;margin-right:0px}.stzh-datepicker__actions.sc-stzh-datepicker{display:flex;width:var(--calendar-width);margin-left:auto;margin-right:auto}.stzh-datepicker__actions.is-inline.sc-stzh-datepicker{width:100%;margin-left:0px;margin-right:0px}.stzh-datepicker__actions.sc-stzh-datepicker:not(:empty){padding-left:var(--stzh-space-small);padding-right:var(--stzh-space-small)}.stzh-datepicker--has-action.sc-stzh-datepicker .stzh-datepicker__popover.sc-stzh-datepicker{--content-padding:0 0 var(--stzh-space-small) 0}";const l=class{constructor(s){t(this,s);this.stzhChange=i(this,"stzhChange",7);this.handleReset=async()=>{this.value=this.defaultValue};this.onRootFocus=()=>{if(this.input){this.input.focus()}};this.onInputChanged=()=>{const t=this.dateAdapter.parse(this.input.value,"dateInput");if(this.input.value===""||t){const i=this._internalDateAdapter.format(t,"dateInput");if(this.value!==i){this.value=i}else{this.valueWatcher(i)}this.stzhChange.emit({component:"stzh-datepicker",value:this.value,valueAsDate:t})}};this.onCalendarChange=t=>{if(t.detail.component!=="stzh-calendar"){return}this.value=t.detail.valueAsDate&&this._internalDateAdapter.format(t.detail.valueAsDate,"dateInput");this.stzhChange.emit({component:"stzh-datepicker",value:this.value,valueAsDate:t.detail.valueAsDate});if(this.popover){this.popover.hide()}};this.calendarMin="";this.calendarMax="";this.calendarIsDateDisabled=()=>false;this.name="";this.value="";this.calendarValue="";this.inputValue="";this.defaultValue="";this.label="";this.labelHidden=false;this.readonly=false;this.disabled=false;this.description=undefined;this.descriptionLong=undefined;this.error=undefined;this.invalid=false;this.required=false;this.hideOptional=false;this.size="default";this.inline=false;this.dateAdapter=undefined;this.internalDateAdapter="iso";this.localization=undefined;this.buttonLabel=undefined}resetListener(t){if(t.target.contains(this.element)){requestAnimationFrame((()=>{this.handleReset()}))}}createDateFormatters(){if(this.localization){this.dateFormatLong=new Intl.DateTimeFormat(this.localization.$locale,{day:"numeric",month:"long",year:"numeric"})}}valueWatcher(t){if(!this._internalDateAdapter){return}const i=this._internalDateAdapter.parse(t,"dateInput");this.calendarValue=a(i);this.inputValue=this.dateAdapter.format(i,"dateInput");this.updateButtonAccessibleLabel()}dateAdapterWatcher(t){if(!t){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}internalDateAdapterWatcher(t){if(t==="iso"||!t){this._internalDateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formatsIso,this.localization.$globals)}else if(t==="legacy"){this._internalDateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formatsLegacy,this.localization.$globals)}else{this._internalDateAdapter=t}}async setDate(t){this.value=this._internalDateAdapter.format(t,"dateInput")}async getPopover(){return this.popover}updateButtonAccessibleLabel(){if(!this.localization){return}try{const t=this._internalDateAdapter.parse(this.value,"dateInput");this.buttonLabel=`${this.label}, ${this.localization.buttonLabel}, ${this.localization.selectedDateMessage} ${this.dateFormatLong.format(t)}`}catch(t){this.buttonLabel=`${this.label}, ${this.localization.buttonLabel}`}}connectedCallback(){this.createDateFormatters()}async componentWillLoad(){if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"datepicker")}this.dateAdapterWatcher(this.dateAdapter);this.internalDateAdapterWatcher(this.internalDateAdapter);this.valueWatcher(this.value);this.defaultValue=this.defaultValue||this.value}render(){const t=h(this.element,"action");const i={"stzh-datepicker":true,"stzh-datepicker--inline":this.inline,"stzh-datepicker--has-action":t};return s(e,{tabindex:this.disabled?null:"-1",onFocus:this.onRootFocus},s("div",{class:i},s("input",{type:"hidden",name:this.name,value:this.value,defaultValue:this.defaultValue}),this.inline&&s(r,null,s("stzh-calendar",{value:this.calendarValue,class:"stzh-datepicker__calendar is-inline",isDateDisabled:this.calendarIsDateDisabled,min:this.calendarMin,max:this.calendarMax,onStzhChange:this.onCalendarChange}),s("div",{class:"stzh-datepicker__actions"},s("slot",{name:"action"}))),!this.inline&&s("stzh-input",{value:this.inputValue,label:this.label,labelHidden:this.labelHidden,ref:t=>this.input=t,noAutocomplete:true,onStzhChanged:this.onInputChanged,readonly:this.readonly,disabled:this.disabled,description:this.description,descriptionLong:this.descriptionLong,error:this.error,invalid:this.invalid,required:this.required,hideOptional:this.hideOptional,size:this.size},s("stzh-popover",{ref:t=>this.popover=t,class:"stzh-datepicker__popover",slot:"button-right",placement:"bottom-end",label:this.label},s("stzh-button",{"icon-only":true,icon:"calendar",size:this.size,disabled:this.disabled,a11yLabel:this.buttonLabel}),s("div",{slot:"content"},s("stzh-calendar",{value:this.calendarValue,class:"stzh-datepicker__calendar is-popover",isDateDisabled:this.calendarIsDateDisabled,min:this.calendarMin,max:this.calendarMax,onStzhChange:this.onCalendarChange}),s("div",{class:"stzh-datepicker__actions"},s("slot",{name:"action"})))))))}get element(){return o(this)}static get watchers(){return{localization:["createDateFormatters"],value:["valueWatcher"],dateAdapter:["dateAdapterWatcher"],internalDateAdapter:["internalDateAdapterWatcher"]}}};l.style=c;const z='.sc-stzh-radio-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-radio-h{display:none}.sc-stzh-radio-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-radio-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-radio-h *.sc-stzh-radio,.sc-stzh-radio-h *.sc-stzh-radio::before,.sc-stzh-radio-h *.sc-stzh-radio::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-radio-h .has-focus.sc-stzh-radio{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-radio-h .stzh-fylingfocus-focused.sc-stzh-radio{outline-style:none !important}.sc-stzh-radio-h .stzh-fylingfocus-focused.sc-stzh-radio::-moz-focus-inner{border:0 !important}.sc-stzh-radio-h{display:inline-block}[disabled].sc-stzh-radio-h:not([disabled=false]){--description-color:var(--stzh-color-grey70)}.stzh-radio__marker-symbol.sc-stzh-radio{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.stzh-radio__marker-text.sc-stzh-radio{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-radio__description-wrapper.sc-stzh-radio{display:flex;flex-direction:column-reverse;min-height:var(--description-min-height, var(--stzh-description-min-height, none))}.stzh-radio__error.sc-stzh-radio,.stzh-radio__description.sc-stzh-radio{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height)}.stzh-radio__error.sc-stzh-radio{color:var(--stzh-color-error60)}.stzh-radio__error-list.sc-stzh-radio{list-style:none;margin:0;padding:0}.stzh-radio__description.sc-stzh-radio{display:flex;align-items:flex-start;color:var(--stzh-input-description-color, var(--description-color, var(--stzh-color-coolgrey70)));transition:color var(--stzh-base-transition-animation-speed)}.stzh-radio__description-long.sc-stzh-radio{margin-right:var(--stzh-space-xxsmall);margin-top:0.125rem}@supports (font: -apple-system-body) and (-webkit-appearance: none){.stzh-radio__description-long.sc-stzh-radio{margin-top:0}}.stzh-radio__description-long-popover.sc-stzh-radio{--width:auto;--max-width:27.3125rem}.stzh-radio__description-long-button.sc-stzh-radio{display:flex;justify-content:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;padding:0;border:none;background-color:transparent;border-radius:0.5rem;cursor:pointer}.stzh-radio.sc-stzh-radio stzh-icon.stzh-radio__description-long-icon.sc-stzh-radio{--size:var(--stzh-icon-size-xsmall)}.stzh-radio--has-error.sc-stzh-radio .stzh-radio__error.sc-stzh-radio,.stzh-radio--has-description.sc-stzh-radio .stzh-radio__description.sc-stzh-radio{margin-top:var(--stzh-space-xxxsmall)}.stzh-radio__field-wrapper.sc-stzh-radio{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);position:relative;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.stzh-radio__input.sc-stzh-radio{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:-1;opacity:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--stzh-form-input-border-radius)}.stzh-radio__mark.sc-stzh-radio{border:0.125rem solid var(--stzh-color-black);background-color:var(--stzh-color-white);width:1.5rem;height:1.5rem;flex-shrink:0;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;transition:border-color var(--stzh-base-transition-animation-speed)}.stzh-radio__mark.sc-stzh-radio::before{content:""}.stzh-radio__check.sc-stzh-radio{background-color:currentColor;color:var(--stzh-color-primary70);width:1rem;height:1rem;border-radius:50%;opacity:0;transition-property:color;transition-duration:var(--stzh-base-transition-animation-speed)}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-radio__check.sc-stzh-radio{background-color:ButtonText}}.stzh-radio__label.sc-stzh-radio{--stzh-base-color:initial;display:inline-block;color:var(--stzh-base-color);transition:color var(--stzh-base-transition-animation-speed);margin-left:var(--stzh-space-small);line-height:1.5rem}.stzh-radio__label.sc-stzh-radio:empty{display:none}.stzh-radio__marker.sc-stzh-radio{font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);margin-left:calc(-0.25em + var(--stzh-space-xsmall))}.stzh-radio.sc-stzh-radio:hover .stzh-radio__label.sc-stzh-radio,.stzh-radio__input.sc-stzh-radio:checked~.stzh-radio__label.sc-stzh-radio{color:var(--stzh-color-primary70)}.stzh-radio__input.sc-stzh-radio:checked:hover~.stzh-radio__label.sc-stzh-radio,.stzh-radio__input.sc-stzh-radio:checked:hover~.stzh-radio__mark.sc-stzh-radio .stzh-radio__check.sc-stzh-radio{color:var(--stzh-color-primary90)}.stzh-radio.sc-stzh-radio:hover .stzh-radio__mark.sc-stzh-radio,.stzh-radio__input.sc-stzh-radio:checked~.stzh-radio__mark.sc-stzh-radio{border-color:var(--stzh-color-primary70)}.stzh-radio__input.sc-stzh-radio:checked:hover~.stzh-radio__mark.sc-stzh-radio{border-color:var(--stzh-color-primary90)}.stzh-radio__input.sc-stzh-radio:checked~.stzh-radio__mark.sc-stzh-radio .stzh-radio__check.sc-stzh-radio{opacity:1}.stzh-radio--is-invalid.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__label.sc-stzh-radio,.stzh-radio--is-invalid.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__mark.sc-stzh-radio .stzh-radio__check.sc-stzh-radio{color:var(--stzh-color-error60)}.stzh-radio--is-invalid.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__mark.sc-stzh-radio{border-color:var(--stzh-color-error60)}.stzh-radio--is-disabled.sc-stzh-radio .stzh-radio__field-wrapper.sc-stzh-radio{cursor:not-allowed}.stzh-radio--is-disabled.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__label.sc-stzh-radio{color:var(--stzh-color-grey60)}.stzh-radio--is-disabled.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__mark.sc-stzh-radio .stzh-radio__check.sc-stzh-radio{color:var(--stzh-color-grey50)}.stzh-radio--is-disabled.sc-stzh-radio .stzh-radio__input.sc-stzh-radio~.stzh-radio__mark.sc-stzh-radio{border-color:var(--stzh-color-grey50)}.stzh-radio--is-disabled.sc-stzh-radio .stzh-radio__mark.sc-stzh-radio{background-color:var(--stzh-color-grey20)}';let p=0;const u=class{constructor(s){t(this,s);this.stzhChange=i(this,"stzhChange",7);this.stzhFocus=i(this,"stzhFocus",7);this.stzhBlur=i(this,"stzhBlur",7);this.focusedByInput=false;this.handleReset=async()=>{this.checked=this.defaultChecked};this.onInput=t=>{this.checked=this.input.checked;this.stzhChange.emit({component:"stzh-radio",originalEvent:t,value:this.value,checked:this.checked})};this.onRootFocus=()=>{if(!this.focusedByInput){this.input.focus()}this.focusedByInput=false};this.onFocus=t=>{this.focusedByInput=true;const i=new FocusEvent("focus",{view:window,bubbles:false,cancelable:false});this.element.dispatchEvent(i);this.stzhFocus.emit({component:"stzh-radio",originalEvent:t})};this.onBlur=t=>{const i=new FocusEvent("blur",{view:window,bubbles:false,cancelable:false});this.element.dispatchEvent(i);this.stzhBlur.emit({component:"stzh-radio",originalEvent:t})};this.localization=undefined;this.disabled=false;this.name="";this.value="";this.invalid=false;this.required=false;this.hideOptional=false;this.checked=false;this.defaultChecked=undefined;this.label="";this.description=undefined;this.descriptionLong=undefined;this.descriptionLongTitle=undefined;this.error=undefined;this.a11yDescribedby=""}resetListener(t){if(t.target.contains(this.element)){requestAnimationFrame((()=>{this.handleReset()}))}}errorWatcher(t){if(typeof t==="string"){try{this._error=JSON.parse(t)}catch(i){if(t){this._error=[t]}else{this._error=[]}}}else if(t){this._error=t}else{this._error=[]}}async componentWillLoad(){this.inputId=`stzh-radio-${p++}`;this.errorWatcher(this.error);this.defaultChecked=typeof this.defaultChecked==="boolean"?this.defaultChecked:this.checked;if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"radio")}}render(){var t;const i=h(this.element,"description")||!!this.description;const r=h(this.element,"description-long")||!!this.descriptionLong;const o=h(this.element,"error")||((t=this._error)===null||t===void 0?void 0:t.length)>0;const a={"stzh-radio":true,"stzh-radio--has-description":i,"stzh-radio--has-description-long":r,"stzh-radio--has-error":o,"stzh-radio--is-required":this.required,"stzh-radio--is-invalid":this.invalid||o,"stzh-radio--is-disabled":this.disabled};return s(e,{"is-invalid":this.invalid||o,tabindex:this.disabled?null:"-1",onFocus:this.onRootFocus},s("div",{class:a},s("label",{class:"stzh-radio__field-wrapper"},s("input",{class:"stzh-radio__input",ref:t=>this.input=t,type:"radio",id:this.inputId,name:this.name,value:this.value,disabled:this.disabled,"aria-describedby":`${this.inputId}-description ${this.a11yDescribedby}`,"aria-required":this.required?"true":"false","aria-invalid":this.invalid?"true":"false",checked:this.checked,defaultChecked:this.defaultChecked,onInput:this.onInput,onFocus:this.onFocus,onBlur:this.onBlur}),s("div",{class:"stzh-radio__mark"},s("div",{class:"stzh-radio__check"})),s("div",{class:"stzh-radio__label"},this.label?this.label:s("slot",null),!this.hideOptional&&s("span",{class:"stzh-radio__marker"},s("span",{class:"stzh-radio__marker-symbol","aria-hidden":"true"},this.required?this.localization.$globals.requiredFieldMarker:this.localization.$globals.optionalFieldMarker),s("span",{class:"stzh-radio__marker-text"},this.required?this.localization.$globals.requiredFieldText:this.localization.$globals.optionalFieldText)))),s(n,{classPrefix:"stzh-radio",id:`${this.inputId}-description`,error:this._error,description:this.description,descriptionLong:this.descriptionLong,descriptionLongTitle:this.descriptionLongTitle,descriptionLongUsed:r,moreInfoButtonLabel:this.localization.$globals.moreInfoButtonLabel})))}get element(){return o(this)}static get watchers(){return{error:["errorWatcher"]}}};u.style=z;const f=".sc-stzh-radiogroup-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-radiogroup-h{display:none}.sc-stzh-radiogroup-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-radiogroup-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-radiogroup-h *.sc-stzh-radiogroup,.sc-stzh-radiogroup-h *.sc-stzh-radiogroup::before,.sc-stzh-radiogroup-h *.sc-stzh-radiogroup::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-radiogroup-h .has-focus.sc-stzh-radiogroup{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-radiogroup-h .stzh-fylingfocus-focused.sc-stzh-radiogroup{outline-style:none !important}.sc-stzh-radiogroup-h .stzh-fylingfocus-focused.sc-stzh-radiogroup::-moz-focus-inner{border:0 !important}[disabled].sc-stzh-radiogroup-h:not([disabled=false]){--description-color:var(--stzh-color-grey70)}.stzh-radiogroup.sc-stzh-radiogroup{margin:0;padding:0;border:none}.stzh-radiogroup__marker-symbol.sc-stzh-radiogroup{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.stzh-radiogroup__marker-text.sc-stzh-radiogroup{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-radiogroup__description-wrapper.sc-stzh-radiogroup{display:flex;flex-direction:column-reverse;min-height:var(--description-min-height, var(--stzh-description-min-height, none))}.stzh-radiogroup__error.sc-stzh-radiogroup,.stzh-radiogroup__description.sc-stzh-radiogroup{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height)}.stzh-radiogroup__error.sc-stzh-radiogroup{color:var(--stzh-color-error60)}.stzh-radiogroup__error-list.sc-stzh-radiogroup{list-style:none;margin:0;padding:0}.stzh-radiogroup__description.sc-stzh-radiogroup{display:flex;align-items:flex-start;color:var(--stzh-input-description-color, var(--description-color, var(--stzh-color-coolgrey70)));transition:color var(--stzh-base-transition-animation-speed)}.stzh-radiogroup__description-long.sc-stzh-radiogroup{margin-right:var(--stzh-space-xxsmall);margin-top:0.125rem}@supports (font: -apple-system-body) and (-webkit-appearance: none){.stzh-radiogroup__description-long.sc-stzh-radiogroup{margin-top:0}}.stzh-radiogroup__description-long-popover.sc-stzh-radiogroup{--width:auto;--max-width:27.3125rem}.stzh-radiogroup__description-long-button.sc-stzh-radiogroup{display:flex;justify-content:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;padding:0;border:none;background-color:transparent;border-radius:0.5rem;cursor:pointer}.stzh-radiogroup.sc-stzh-radiogroup stzh-icon.stzh-radiogroup__description-long-icon.sc-stzh-radiogroup{--size:var(--stzh-icon-size-xsmall)}.stzh-radiogroup--has-error.sc-stzh-radiogroup .stzh-radiogroup__error.sc-stzh-radiogroup,.stzh-radiogroup--has-description.sc-stzh-radiogroup .stzh-radiogroup__description.sc-stzh-radiogroup{margin-top:var(--stzh-space-xxxsmall)}.stzh-radiogroup__fields.sc-stzh-radiogroup{display:flex;align-items:flex-start;flex-direction:column;gap:var(--stzh-space-medium)}.stzh-radiogroup__legend.sc-stzh-radiogroup{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);color:var(--stzh-heading-color);padding:0;margin-bottom:var(--stzh-space-xsmall)}.stzh-radiogroup__marker.sc-stzh-radiogroup{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height);margin-left:calc(-0.25em + var(--stzh-space-xsmall))}.stzh-radiogroup--hide-legend.sc-stzh-radiogroup .stzh-radiogroup__legend.sc-stzh-radiogroup{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-radiogroup--direction-horizontal.sc-stzh-radiogroup .stzh-radiogroup__fields.sc-stzh-radiogroup{flex-wrap:wrap;flex-direction:row;row-gap:var(--stzh-space-medium);-moz-column-gap:var(--stzh-space-xxlarge);column-gap:var(--stzh-space-xxlarge)}";const g="stzh-radio, stzh-button[type=radio], stzh-card";let m=0;const _=class{constructor(i){t(this,i);this._preventUpdateProperties=[];this.handleReset=async()=>{this.value=this.defaultValue};this.init=()=>{this.radios=Array.from(this.element.querySelectorAll(g));this.updateRadiosProperty("hide-optional",true);this.updateRadiosProperty("a11y-describedby",`${this.radiogroupId}-description`);this.watchValue(this.value);this.watchName(this.name);this.watchDisabled(this.disabled);this.watchInvalid(this.invalid);this.watchRequired(this.required)};this.localization=undefined;this.disabled=false;this.name=undefined;this.legend=undefined;this.hideLegend=false;this.invalid=false;this.required=false;this.hideOptional=false;this.value="";this.defaultValue="";this.direction="vertical";this.description=undefined;this.descriptionLong=undefined;this.descriptionLongTitle=undefined;this.error=undefined;this.checkedRadio=null;this.preventUpdateProperties=[]}watchName(t){this.updateRadiosProperty("name",t)}watchDisabled(t){this.updateRadiosProperty("disabled",t)}watchInvalid(t){this.updateRadiosProperty("invalid",t)}watchRequired(t){this.updateRadiosProperty("required",t)}watchValue(t){this.updateCheckedRadioByValue(t)}errorWatcher(t){if(typeof t==="string"){try{this._error=JSON.parse(t)}catch(i){if(t){this._error=[t]}else{this._error=[]}}}else if(t){this._error=t}else{this._error=[]}}preventUpdatePropertiesWatcher(t){if(typeof t==="string"){this._preventUpdateProperties=JSON.parse(t)}else{this._preventUpdateProperties=t}}resetListener(t){if(t.target.contains(this.element)){requestAnimationFrame((()=>{this.handleReset()}))}}onChange(t){this.value=t.detail.value}updateRadiosProperty(t,i){this.radios.forEach((s=>{if(t==="name"||this._preventUpdateProperties.indexOf(t)===-1){s[d(t)]=i}}))}updateCheckedRadioByValue(t){this.checkedRadio=this.radios.find((i=>i.value===t));if(this.checkedRadio){this.checkedRadio.checked=true}this.uncheckRadios()}uncheckRadios(){this.radios.forEach((t=>{if(!this.checkedRadio||t!==this.checkedRadio){t.checked=false}}))}componentDidLoad(){this.defaultValue=this.defaultValue?this.defaultValue:this.value}async componentWillLoad(){this.radiogroupId=`stzh-radiogroup-${m++}`;this.errorWatcher(this.error);this.preventUpdatePropertiesWatcher(this.preventUpdateProperties);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"radiogroup")}}componentShouldUpdate(t,i,s){return s!=="checkedRadio"}componentDidRender(){this.init()}connectedCallback(){if(!this.value){this.radios=Array.from(this.element.querySelectorAll(g));const t=this.radios.find((t=>t.checked));if(t){this.value=t.value}}this.observer=new MutationObserver(this.init);this.observer.observe(this.element,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){var t;const i=h(this.element,"description")||!!this.description;const r=h(this.element,"description-long")||!!this.descriptionLong;const o=h(this.element,"error")||((t=this._error)===null||t===void 0?void 0:t.length)>0;const a={"stzh-radiogroup":true,"stzh-radiogroup--has-description":i,"stzh-radiogroup--has-description-long":r,"stzh-radiogroup--has-error":o,"stzh-radiogroup--is-required":this.required,"stzh-radiogroup--is-disabled":this.disabled,"stzh-radiogroup--is-invalid":this.invalid||o,"stzh-radiogroup--hide-legend":this.hideLegend,[`stzh-radiogroup--direction-${this.direction}`]:!!this.direction};return s(e,{"is-invalid":this.invalid||o},s("fieldset",{class:a},this.legend&&s("legend",{class:"stzh-radiogroup__legend"},this.legend,!this.hideOptional&&s("span",{class:"stzh-radiogroup__marker"},s("span",{class:"stzh-radiogroup__marker-symbol","aria-hidden":"true"},this.required?this.localization.$globals.requiredFieldMarker:this.localization.$globals.optionalFieldMarker),s("span",{class:"stzh-radiogroup__marker-text"},this.required?this.localization.$globals.requiredFieldText:this.localization.$globals.optionalFieldText))),s("div",{class:"stzh-radiogroup__fields"},s("slot",null)),s(n,{classPrefix:"stzh-radiogroup",id:`${this.radiogroupId}-description`,error:this._error,description:this.description,descriptionLong:this.descriptionLong,descriptionLongTitle:this.descriptionLongTitle,descriptionLongUsed:r,moreInfoButtonLabel:this.localization.$globals.moreInfoButtonLabel})))}get element(){return o(this)}static get watchers(){return{name:["watchName"],disabled:["watchDisabled"],invalid:["watchInvalid"],required:["watchRequired"],value:["watchValue"],error:["errorWatcher"],preventUpdateProperties:["preventUpdatePropertiesWatcher"]}}};_.style=f;export{l as stzh_datepicker,u as stzh_radio,_ as stzh_radiogroup};
|
|
2
|
+
//# sourceMappingURL=p-8ab62796.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stzhDatepickerCss","StzhDatepicker","this","handleReset","async","value","defaultValue","onRootFocus","input","focus","onInputChanged","parsedDate","dateAdapter","parse","formattedDate","_internalDateAdapter","format","valueWatcher","stzhChange","emit","component","valueAsDate","onCalendarChange","event","detail","popover","hide","resetListener","target","contains","element","requestAnimationFrame","createDateFormatters","localization","dateFormatLong","Intl","DateTimeFormat","$locale","day","month","year","newValue","date","calendarValue","printISODate","inputValue","updateButtonAccessibleLabel","dateAdapterWatcher","window","stzhComponents","utils","createFormatParseAdapter","$formats","$globals","internalDateAdapterWatcher","$formatsIso","$formatsLegacy","setDate","getPopover","buttonLabel","label","selectedDateMessage","err","connectedCallback","componentWillLoad","fetchTranslations","internalDateAdapter","render","actionUsed","hasSlot","classes","inline","h","Host","tabindex","disabled","onFocus","class","type","name","Fragment","isDateDisabled","calendarIsDateDisabled","min","calendarMin","max","calendarMax","onStzhChange","labelHidden","ref","el","noAutocomplete","onStzhChanged","readonly","description","descriptionLong","error","invalid","required","hideOptional","size","slot","placement","icon","a11yLabel","stzhRadioCss","radioCounter","StzhRadio","focusedByInput","checked","defaultChecked","onInput","originalEvent","focusEvent","FocusEvent","view","bubbles","cancelable","dispatchEvent","stzhFocus","onBlur","blurEvent","stzhBlur","errorWatcher","_error","JSON","e","inputId","descriptionUsed","descriptionLongUsed","errorUsed","_a","length","id","a11yDescribedby","requiredFieldMarker","optionalFieldMarker","requiredFieldText","optionalFieldText","StzhInputDescription","classPrefix","descriptionLongTitle","moreInfoButtonLabel","stzhRadiogroupCss","SELECTOR_RADIO","radiogroupCounter","StzhRadiogroup","_preventUpdateProperties","init","radios","Array","from","querySelectorAll","updateRadiosProperty","radiogroupId","watchValue","watchName","watchDisabled","watchInvalid","watchRequired","updateCheckedRadioByValue","preventUpdatePropertiesWatcher","onChange","prop","forEach","radio","indexOf","camelCase","checkedRadio","find","uncheckRadios","componentDidLoad","preventUpdateProperties","componentShouldUpdate","_newValue","_oldValue","componentDidRender","observer","MutationObserver","observe","childList","subtree","disconnectedCallback","disconnect","hideLegend","direction","legend"],"sources":["src/components/stzh-datepicker/stzh-datepicker.scss?tag=stzh-datepicker&encapsulation=scoped","src/components/stzh-datepicker/stzh-datepicker.tsx","src/components/stzh-radio/stzh-radio.scss?tag=stzh-radio&encapsulation=scoped","src/components/stzh-radio/stzh-radio.tsx","src/components/stzh-radiogroup/stzh-radiogroup.scss?tag=stzh-radiogroup&encapsulation=scoped","src/components/stzh-radiogroup/stzh-radiogroup.tsx"],"sourcesContent":[":host {\n --calendar-width: #{$calendarWidth};\n\n width: 100%;\n\n &[inline]:not([inline=\"false\"]) {\n width: var(--calendar-width);\n }\n}\n\n.stzh-datepicker {\n &__popover {\n --width: auto;\n }\n\n &__calendar {\n margin-left: auto;\n margin-right: auto;\n\n &.is-inline {\n width: 100%;\n margin-left: 0px;\n margin-right: 0px;\n }\n }\n\n &__actions {\n display: flex;\n width: var(--calendar-width);\n margin-left: auto;\n margin-right: auto;\n\n &.is-inline {\n width: 100%;\n margin-left: 0px;\n margin-right: 0px;\n }\n\n &:not(:empty) {\n padding-left: space('small');\n padding-right: space('small');\n }\n }\n\n /* Has action */\n\n &--has-action &__popover {\n --content-padding: 0 0 #{space('small')} 0;\n }\n}\n","import {\n Component,\n Prop,\n Host,\n Element,\n h,\n Event,\n EventEmitter,\n Method,\n Watch,\n Fragment,\n State,\n Listen\n} from \"@stencil/core\";\n\nimport {\n StzhCalendarChangeEvent,\n StzhDatepickerChangeEvent\n} from \"../../index\";\n\nimport { StzhCalendarDateDisabledPredicate } from \"../../index\";\n\nimport { printISODate } from \"../../utils/date-utils\"\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\"\n\nimport { StzhDatepickerLocalizedText } from \"./stzh-datepicker.localization\";\nimport { hasSlot } from \"../../utils/utils\";\n\n/**\n * @slot action - Slot for action below calendar (stzh-link element)\n */\n@Component({\n tag: \"stzh-datepicker\",\n styleUrl: \"stzh-datepicker.scss\",\n scoped: true\n})\nexport class StzhDatepicker {\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() calendarMin: string = \"\"\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() calendarMax: string = \"\"\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n */\n @Prop() calendarIsDateDisabled: StzhCalendarDateDisabledPredicate = () => false\n\n /** Name of the hidden date picker input. */\n @Prop({ reflect: true }) name: string = \"\";\n\n /** Value of hidden date picker input (current selected date in ISO format). */\n @Prop({ mutable: true }) value: string = \"\";\n @State() calendarValue: string = \"\";\n @State() inputValue: string = \"\";\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string = \"\";\n\n /** Label for input field and popover */\n @Prop() label: string = \"\";\n\n /** Whether label is visually hidden. */\n @Prop() labelHidden: boolean = false;\n\n /** Whether the element is readonly or not */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form ot hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Size variant */\n @Prop({ reflect: true }) size: \"default\" | \"small\" = \"default\";\n\n /** Show calendar inline */\n @Prop({ reflect: true }) inline: boolean = false;\n\n /**\n * Date adapter visible date shown to the user, for custom parsing/formatting.\n * Must be object with a `parse` function which accepts a `string` and returns a `Date`,\n * and a `format` function which accepts a `Date` and returns a `string`.\n */\n @Prop() dateAdapter: StzhLocaleAdapter;\n\n /**\n * Date adapter for internal date passed to backend, for custom parsing/formatting.\n * Can be `\"iso\"` (default, date in ISO format) / `\"legacy\"` (date in `d.m.Y` format)\n * or `StzhLocaleAdapter` (must be object with a `parse` function which accepts a `string` and returns a `Date`,\n * and a `format` function which accepts a `Date` and returns a `string`.)\n */\n @Prop() internalDateAdapter: \"iso\" | \"legacy\" | StzhLocaleAdapter = \"iso\";\n private _internalDateAdapter: StzhLocaleAdapter;\n\n /** Translation strings. */\n @Prop() localization: StzhDatepickerLocalizedText;\n\n @State() buttonLabel: string;\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Watch(\"localization\")\n createDateFormatters() {\n if (this.localization) {\n this.dateFormatLong = new Intl.DateTimeFormat(this.localization.$locale, {\n day: \"numeric\",\n month: \"long\",\n year: \"numeric\",\n })\n }\n }\n\n /** Update calendar and input when value prop has changed */\n @Watch(\"value\")\n valueWatcher(newValue: string) {\n if (!this._internalDateAdapter) {\n return;\n }\n\n const date = this._internalDateAdapter.parse(newValue, \"dateInput\");\n\n this.calendarValue = printISODate(date);\n this.inputValue = this.dateAdapter.format(date, \"dateInput\");\n\n this.updateButtonAccessibleLabel();\n }\n\n @Watch(\"dateAdapter\")\n dateAdapterWatcher(newValue: StzhLocaleAdapter) {\n if (!newValue) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals\n );\n }\n }\n\n @Watch(\"internalDateAdapter\")\n internalDateAdapterWatcher(newValue: \"iso\" | \"legacy\" | StzhLocaleAdapter) {\n if (newValue === \"iso\" || !newValue) {\n this._internalDateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formatsIso,\n this.localization.$globals\n );\n } else if (newValue === \"legacy\") {\n this._internalDateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formatsLegacy,\n this.localization.$globals\n );\n } else {\n this._internalDateAdapter = newValue;\n }\n }\n\n /** Set value by a JS Date object */\n @Method()\n async setDate(date: Date) {\n this.value = this._internalDateAdapter.format(date, \"dateInput\");\n }\n\n /** Return internal popover element */\n @Method()\n async getPopover(): Promise<HTMLStzhPopoverElement> {\n return this.popover;\n }\n\n /** Datepicker change event */\n @Event() stzhChange: EventEmitter<StzhDatepickerChangeEvent>;\n\n @Element() element: HTMLStzhDatepickerElement;\n\n /**\n * To format dates exclusively for the benefit of screen readers.\n *\n * We prefer DateTimeFormat over date.toLocaleDateString, as the former has\n * better performance when formatting large number of dates. See:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance\n */\n private dateFormatLong: Intl.DateTimeFormat\n\n private input: HTMLStzhInputElement;\n private popover: HTMLStzhPopoverElement;\n // private calendar: HTMLStzhCalendarElement;\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n }\n\n private onRootFocus = () => {\n if (this.input) {\n this.input.focus();\n }\n }\n\n private onInputChanged = () => {\n const parsedDate = this.dateAdapter.parse(this.input.value, \"dateInput\");\n\n if (this.input.value === \"\" || parsedDate) {\n const formattedDate = this._internalDateAdapter.format(parsedDate, \"dateInput\");\n\n if (this.value !== formattedDate) {\n this.value = formattedDate;\n } else {\n this.valueWatcher(formattedDate);\n }\n\n this.stzhChange.emit({\n component: \"stzh-datepicker\",\n value: this.value,\n valueAsDate: parsedDate,\n })\n }\n }\n\n private onCalendarChange = (event: CustomEvent<StzhCalendarChangeEvent>) => {\n if (event.detail.component !== \"stzh-calendar\") {\n return;\n }\n\n this.value = event.detail.valueAsDate\n && this._internalDateAdapter.format(event.detail.valueAsDate, \"dateInput\");\n\n this.stzhChange.emit({\n component: \"stzh-datepicker\",\n value: this.value,\n valueAsDate: event.detail.valueAsDate,\n });\n\n if (this.popover) {\n this.popover.hide();\n }\n }\n\n private updateButtonAccessibleLabel() {\n if (!this.localization) {\n return;\n }\n\n try {\n const valueAsDate = this._internalDateAdapter.parse(this.value, \"dateInput\");\n this.buttonLabel = `${this.label}, ${this.localization.buttonLabel}, ${this.localization.selectedDateMessage} ${this.dateFormatLong.format(valueAsDate)}`;\n } catch (err) {\n this.buttonLabel = `${this.label}, ${this.localization.buttonLabel}`;\n }\n }\n\n connectedCallback() {\n this.createDateFormatters();\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"datepicker\");\n }\n\n this.dateAdapterWatcher(this.dateAdapter);\n this.internalDateAdapterWatcher(this.internalDateAdapter);\n this.valueWatcher(this.value);\n this.defaultValue = this.defaultValue || this.value;\n }\n\n render() {\n const actionUsed = hasSlot(this.element, 'action');\n\n const classes = {\n \"stzh-datepicker\": true,\n \"stzh-datepicker--inline\": this.inline,\n \"stzh-datepicker--has-action\": actionUsed\n };\n\n return (\n <Host tabindex={this.disabled ? null : \"-1\"} onFocus={this.onRootFocus}>\n <div class={classes}>\n <input\n type=\"hidden\"\n name={this.name}\n value={this.value}\n defaultValue={this.defaultValue}\n />\n\n {this.inline &&\n <Fragment>\n <stzh-calendar\n // ref={(el) => (this.calendar = el as HTMLStzhCalendarElement)}\n value={this.calendarValue}\n class=\"stzh-datepicker__calendar is-inline\"\n isDateDisabled={this.calendarIsDateDisabled}\n min={this.calendarMin}\n max={this.calendarMax}\n onStzhChange={this.onCalendarChange}\n ></stzh-calendar>\n <div class=\"stzh-datepicker__actions\">\n <slot name=\"action\"></slot>\n </div>\n </Fragment>\n }\n\n {!this.inline &&\n <stzh-input\n value={this.inputValue}\n label={this.label}\n labelHidden={this.labelHidden}\n ref={(el) => (this.input = el as HTMLStzhInputElement)}\n noAutocomplete\n onStzhChanged={this.onInputChanged}\n readonly={this.readonly}\n disabled={this.disabled}\n description={this.description}\n descriptionLong={this.descriptionLong}\n error={this.error}\n invalid={this.invalid}\n required={this.required}\n hideOptional={this.hideOptional}\n size={this.size}\n >\n <stzh-popover\n ref={(el) => (this.popover = el as HTMLStzhPopoverElement)}\n class=\"stzh-datepicker__popover\"\n slot=\"button-right\"\n placement=\"bottom-end\"\n label={this.label}\n >\n <stzh-button\n icon-only\n icon=\"calendar\"\n size={this.size}\n disabled={this.disabled}\n a11yLabel={this.buttonLabel}\n ></stzh-button>\n <div slot=\"content\">\n <stzh-calendar\n // ref={(el) => (this.calendar = el as HTMLStzhCalendarElement)}\n value={this.calendarValue}\n class=\"stzh-datepicker__calendar is-popover\"\n isDateDisabled={this.calendarIsDateDisabled}\n min={this.calendarMin}\n max={this.calendarMax}\n onStzhChange={this.onCalendarChange}\n >\n </stzh-calendar>\n <div class=\"stzh-datepicker__actions\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n </stzh-popover>\n </stzh-input>\n }\n </div>\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n}\n\n.stzh-radio {\n\t@include input-description;\n\n &__field-wrapper {\n @include fontSize('milli');\n position: relative;\n display: flex;\n user-select: none;\n cursor: pointer;\n }\n\n &__input {\n @include visuallyhiddenInput;\n border-radius: $formInputBorderRadius;\n }\n\n &__mark {\n @include radio__mark();\n }\n\n &__check {\n @include radio__check();\n }\n\n &__label {\n --stzh-base-color: initial;\n\n display: inline-block;\n color: $baseColor;\n transition: color $baseTransitionAnimationSpeed;\n margin-left: space('small');\n line-height: 24px;\n\n &:empty {\n display: none;\n }\n }\n\n &__marker {\n @include fontSize('micro');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n /* Hover / Focus / Checked */\n\n &:hover &__label,\n &__input:checked ~ &__label {\n color: $colorPrimary70;\n }\n\n &__input:checked:hover ~ &__label,\n &__input:checked:hover ~ &__mark &__check {\n color: $colorPrimary90;\n }\n\n &:hover &__mark,\n &__input:checked ~ &__mark {\n border-color: $colorPrimary70;\n }\n\n &__input:checked:hover ~ &__mark {\n border-color: $colorPrimary90;\n }\n\n &__input:checked ~ &__mark &__check {\n opacity: 1;\n }\n\n /* Invalid */\n\n &--is-invalid &__input ~ &__label,\n &--is-invalid &__input ~ &__mark &__check {\n color: $colorError60;\n }\n\n &--is-invalid &__input ~ &__mark {\n border-color: $colorError60;\n }\n\n /* Disabled */\n\n\t&--is-disabled &__field-wrapper {\n cursor: not-allowed;\n }\n\n &--is-disabled &__input ~ &__label {\n color: $colorGrey60;\n }\n\n &--is-disabled &__input ~ &__mark &__check {\n color: $colorGrey50;\n }\n\n &--is-disabled &__input ~ &__mark {\n border-color: $colorGrey50;\n }\n\n &--is-disabled &__mark {\n background-color: $colorGrey20;\n }\n}\n","import {\n Host,\n Component,\n Prop,\n Event,\n Element,\n EventEmitter,\n h,\n Watch,\n Listen\n} from \"@stencil/core\";\n\nimport {\n StzhRadioChangeEvent,\n StzhRadioFocusEvent,\n StzhRadioBlurEvent\n} from \"../../index\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { StzhLocaleComponent } from \"../../utils/translation-utils\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\nlet radioCounter = 0;\n\n/**\n * @slot - Slot for label content\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-radio\",\n styleUrl: \"stzh-radio.scss\",\n scoped: true\n})\nexport class StzhRadio {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** The name of the input element */\n @Prop({ reflect: true }) name: string = \"\";\n\n /** The value of the input element */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form ot hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Checked status */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /** Default checked (used by reset) */\n @Prop({ mutable: true }) defaultChecked: boolean;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Id for element which describes the radio button (this will be overwritten if description prop or slot is used, used by stzh-radiogroup) */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n /** Input change event */\n @Event() stzhChange: EventEmitter<StzhRadioChangeEvent>;\n\n /** Input focus event */\n @Event() stzhFocus: EventEmitter<StzhRadioFocusEvent>;\n\n /** Input blur event */\n @Event() stzhBlur: EventEmitter<StzhRadioBlurEvent>;\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n @Element() element: HTMLStzhRadioElement;\n\n private input: HTMLInputElement;\n private inputId: string;\n private focusedByInput: boolean = false;\n\n private handleReset = async () => {\n this.checked = this.defaultChecked;\n }\n\n private onInput = (event: InputEvent) => {\n this.checked = this.input.checked;\n this.stzhChange.emit({\n component: \"stzh-radio\",\n originalEvent: event,\n value: this.value,\n checked: this.checked\n });\n }\n\n private onRootFocus = () => {\n if (!this.focusedByInput) {\n this.input.focus();\n }\n\n this.focusedByInput = false;\n }\n\n private onFocus = (event: FocusEvent) => {\n this.focusedByInput = true;\n\n const focusEvent = new FocusEvent('focus', {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(focusEvent);\n this.stzhFocus.emit({\n component: \"stzh-radio\",\n originalEvent: event\n });\n }\n\n private onBlur = (event: FocusEvent) => {\n const blurEvent = new FocusEvent('blur', {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(blurEvent);\n this.stzhBlur.emit({\n component: \"stzh-radio\",\n originalEvent: event\n });\n }\n\n async componentWillLoad() {\n this.inputId = `stzh-radio-${radioCounter++}`;\n this.errorWatcher(this.error);\n\n this.defaultChecked = typeof this.defaultChecked === \"boolean\" ? this.defaultChecked : this.checked;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, 'radio');\n }\n }\n\n render() {\n const descriptionUsed = hasSlot(this.element, 'description') || !!this.description;\n const descriptionLongUsed = hasSlot(this.element, 'description-long') || !!this.descriptionLong;\n const errorUsed = hasSlot(this.element, 'error') || this._error?.length > 0;\n\n const classes = {\n \"stzh-radio\": true,\n \"stzh-radio--has-description\": descriptionUsed,\n \"stzh-radio--has-description-long\": descriptionLongUsed,\n \"stzh-radio--has-error\": errorUsed,\n \"stzh-radio--is-required\": this.required,\n \"stzh-radio--is-invalid\": this.invalid || errorUsed,\n \"stzh-radio--is-disabled\": this.disabled\n };\n\n return (\n <Host is-invalid={this.invalid || errorUsed} tabindex={this.disabled ? null : \"-1\"} onFocus={this.onRootFocus}>\n <div class={classes}>\n <label class=\"stzh-radio__field-wrapper\">\n <input\n class=\"stzh-radio__input\"\n ref={(el) => (this.input = el as HTMLInputElement)}\n type=\"radio\"\n id={this.inputId}\n name={this.name}\n value={this.value}\n disabled={this.disabled}\n aria-describedby={`${this.inputId}-description ${this.a11yDescribedby}`}\n aria-required={this.required ? \"true\" : \"false\"}\n aria-invalid={this.invalid ? \"true\" : \"false\"}\n checked={this.checked}\n defaultChecked={this.defaultChecked}\n onInput={this.onInput}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n />\n <div class=\"stzh-radio__mark\">\n <div class=\"stzh-radio__check\"></div>\n </div>\n <div class=\"stzh-radio__label\">\n {this.label ? this.label : <slot></slot>}\n {!this.hideOptional &&\n <span class=\"stzh-radio__marker\">\n <span class=\"stzh-radio__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker\n }\n </span>\n <span class=\"stzh-radio__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText\n }\n </span>\n </span>\n }\n </div>\n </label>\n <StzhInputDescription\n classPrefix=\"stzh-radio\"\n id={`${this.inputId}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n </div>\n </Host>\n );\n }\n}\n",":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n}\n\n.stzh-radiogroup {\n @include input-description;\n margin: 0;\n padding: 0;\n border: none;\n\n &__fields {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n gap: space('medium');\n }\n\n &__legend {\n @include font('heavy');\n @include fontSize('micro');\n color: $headingColor;\n padding: 0;\n margin-bottom: space('xsmall');\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &--hide-legend &__legend {\n @include visuallyhidden;\n }\n\n &--direction-horizontal &__fields {\n flex-wrap: wrap;\n flex-direction: row;\n row-gap: space('medium');\n column-gap: space('xxlarge');\n }\n}\n","import {\n Component,\n Prop,\n Element,\n Watch,\n h,\n Listen,\n Host\n} from \"@stencil/core\";\n\nimport { StzhRadioChangeEvent } from \"../../index\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { camelCase } from \"../../utils/string-utils\";\nimport { StzhLocaleComponent } from \"../../utils/translation-utils\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\nconst SELECTOR_RADIO = 'stzh-radio, stzh-button[type=radio], stzh-card';\n\nlet radiogroupCounter = 0;\n\n/**\n * @slot - Slot for `stzh-radio`, `stzh-button[type=\"radio\"]` or `stzh-card` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-radiogroup\",\n styleUrl: \"stzh-radiogroup.scss\",\n scoped: true\n})\nexport class StzhRadiogroup {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** The name of the input radio elements, will define the radio group. If you have more than one radio group on a page, every group needs to have its own unique name */\n @Prop({ reflect: true }) name: string;\n\n /** The legend */\n @Prop() legend: string;\n\n /** Hide legend to show only for screenreaders */\n @Prop({ reflect: true }) hideLegend: boolean = false;\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form ot hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Select a radio by value */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string = \"\";\n\n /** Direction */\n @Prop({ reflect: true }) direction: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Current checked radio element (readonly) */\n @Prop() checkedRadio: HTMLStzhRadioElement | null = null;\n\n /** Prevent updating certain properties of radio elements (possible values inside array: disabled, invalid, required, hide-marker) */\n @Prop() preventUpdateProperties: string[] | string = [];\n private _preventUpdateProperties: string[] = [];\n\n /** Host element */\n @Element() element: HTMLElement;\n\n @Watch(\"name\")\n watchName(newValue: string) {\n this.updateRadiosProperty(\"name\", newValue);\n }\n\n @Watch(\"disabled\")\n watchDisabled(newValue: boolean) {\n this.updateRadiosProperty(\"disabled\", newValue);\n }\n\n @Watch(\"invalid\")\n watchInvalid(newValue: boolean) {\n this.updateRadiosProperty(\"invalid\", newValue);\n }\n\n @Watch(\"required\")\n watchRequired(newValue: boolean) {\n this.updateRadiosProperty(\"required\", newValue);\n }\n\n @Watch(\"value\")\n watchValue(newValue: string) {\n this.updateCheckedRadioByValue(newValue);\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n @Watch(\"preventUpdateProperties\")\n preventUpdatePropertiesWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n this._preventUpdateProperties = JSON.parse(newValue);\n } else {\n this._preventUpdateProperties = newValue;\n }\n }\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n\n @Listen(\"stzhChange\")\n onChange(event: CustomEvent<StzhRadioChangeEvent>) {\n this.value = event.detail.value;\n }\n\n /** Radio elements */\n private radios: HTMLStzhRadioElement[];\n private radiogroupId: string;\n private observer: MutationObserver;\n\n private updateRadiosProperty(prop: string, value: any) {\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (prop === \"name\" || (this._preventUpdateProperties.indexOf(prop) === -1)) {\n radio[camelCase(prop)] = value;\n }\n });\n }\n\n private updateCheckedRadioByValue(value: string) {\n this.checkedRadio = this.radios.find(radio => radio.value === value);\n\n if (this.checkedRadio) {\n this.checkedRadio.checked = true;\n }\n\n this.uncheckRadios();\n }\n\n private uncheckRadios() {\n // make sure that no other radios are checked than the current one or no one\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (!this.checkedRadio || radio !== this.checkedRadio) {\n radio.checked = false;\n }\n });\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n }\n\n private init = () => {\n // update radios\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n\n this.updateRadiosProperty(\"hide-optional\", true);\n this.updateRadiosProperty(\"a11y-describedby\", `${this.radiogroupId}-description`);\n\n this.watchValue(this.value);\n this.watchName(this.name);\n this.watchDisabled(this.disabled);\n this.watchInvalid(this.invalid);\n this.watchRequired(this.required);\n }\n\n componentDidLoad() {\n this.defaultValue = this.defaultValue ? this.defaultValue : this.value;\n }\n\n async componentWillLoad() {\n this.radiogroupId = `stzh-radiogroup-${radiogroupCounter++}`;\n this.errorWatcher(this.error);\n this.preventUpdatePropertiesWatcher(this.preventUpdateProperties);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, 'radiogroup');\n }\n }\n\n componentShouldUpdate(_newValue, _oldValue, prop: string) {\n return prop !== \"checkedRadio\";\n }\n\n componentDidRender() {\n this.init();\n }\n\n connectedCallback() {\n if (!this.value) {\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n\n // try to find a checkbox that might has checked set to true\n const checkedRadio = this.radios.find(radio => radio.checked);\n\n if (checkedRadio) {\n this.value = checkedRadio.value;\n }\n }\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n const descriptionUsed = hasSlot(this.element, 'description') || !!this.description;\n const descriptionLongUsed = hasSlot(this.element, 'description-long') || !!this.descriptionLong;\n const errorUsed = hasSlot(this.element, 'error') || this._error?.length > 0;\n\n const classes = {\n \"stzh-radiogroup\": true,\n \"stzh-radiogroup--has-description\": descriptionUsed,\n \"stzh-radiogroup--has-description-long\": descriptionLongUsed,\n \"stzh-radiogroup--has-error\": errorUsed,\n \"stzh-radiogroup--is-required\": this.required,\n \"stzh-radiogroup--is-disabled\": this.disabled,\n \"stzh-radiogroup--is-invalid\": this.invalid || errorUsed,\n \"stzh-radiogroup--hide-legend\": this.hideLegend,\n [`stzh-radiogroup--direction-${this.direction}`]: !!this.direction\n };\n\n return (\n <Host is-invalid={this.invalid || errorUsed}>\n <fieldset class={classes}>\n {this.legend &&\n <legend class=\"stzh-radiogroup__legend\">\n {this.legend}\n {!this.hideOptional &&\n <span class=\"stzh-radiogroup__marker\">\n <span class=\"stzh-radiogroup__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker\n }\n </span>\n <span class=\"stzh-radiogroup__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText\n }\n </span>\n </span>\n }\n </legend>\n }\n <div class=\"stzh-radiogroup__fields\">\n <slot></slot>\n </div>\n <StzhInputDescription\n classPrefix=\"stzh-radiogroup\"\n id={`${this.radiogroupId}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n </fieldset>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as s,h as t,F as e,a,g as i}from"./p-c7bfac7a.js";import{a as r}from"./p-a771013b.js";import{r as h,h as n}from"./p-7e304ea3.js";import{m as l,a as o,r as c}from"./p-10e2901a.js";import{d}from"./p-dd385618.js";import"./p-9b063923.js";import"./p-7183ba4d.js";const m=':host{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;}:host[hidden]{display:none}:host::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}stzh-search{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;--grid-template-areas:"filters-main filters-main filters-main filters-main"\n "results results results results"}stzh-search[hidden]{display:none}stzh-search::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-search::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-search *,stzh-search *::before,stzh-search *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}stzh-search .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}stzh-search .stzh-fylingfocus-focused{outline-style:none !important}stzh-search .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}@media screen and (min-width: 900px){stzh-search{--grid-template-areas:"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main"\n "results results results results results results results results"}}@media screen and (min-width: 1260px){stzh-search{--grid-template-areas:"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main"\n ". . results results results results results results results results . ."}}stzh-search[has-aside-filters]{--grid-template-areas:"filters-main filters-main filters-main filters-main"\n "filters-aside filters-aside filters-aside filters-aside"\n "results results results results"}@media screen and (min-width: 900px){stzh-search[has-aside-filters]{--grid-template-areas:"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main"\n "filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside"\n "results results results results results results results results"}}@media screen and (min-width: 1260px){stzh-search[has-aside-filters]{--grid-template-areas:"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main"\n "filters-aside filters-aside filters-aside filters-aside results results results results results results results results"}}@media screen and (min-width: 1260px){stzh-search[variant=teaser]{--grid-template-areas:"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main"\n "results results results results results results results results results results results results"}}.stzh-search{-moz-column-gap:var(--stzh-grid-gutter);column-gap:var(--stzh-grid-gutter);display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));grid-template-areas:var(--grid-template-areas);}@media screen and (min-width: 600px){.stzh-search{-moz-column-gap:var(--stzh-grid-gutter-small);column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 900px){.stzh-search{-moz-column-gap:var(--stzh-grid-gutter-medium);column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px){.stzh-search{-moz-column-gap:var(--stzh-grid-gutter-large);column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1600px){.stzh-search{-moz-column-gap:var(--stzh-grid-gutter-ultra);column-gap:var(--stzh-grid-gutter-ultra)}}@media screen and (min-width: 900px){.stzh-search{grid-template-columns:repeat(8, minmax(0, 1fr))}}@media screen and (min-width: 1260px){.stzh-search{grid-template-columns:repeat(12, minmax(0, 1fr))}}.stzh-search__filters-main{grid-area:filters-main}.stzh-search__filters-main:not(:empty){padding:var(--stzh-space-xlarge);background-color:var(--stzh-color-grey10)}@media screen and (min-width: 900px){.stzh-search__filters-main:not(:empty){padding:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-search__filters-main:not(:empty){padding:var(--stzh-space-xxxlarge)}}.stzh-search__filters-aside{grid-area:filters-aside}.stzh-search__filters-aside:not(:empty){padding:var(--stzh-space-xlarge);background-color:var(--stzh-color-grey10)}@media screen and (min-width: 900px){.stzh-search__filters-aside:not(:empty){padding:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-search__filters-aside:not(:empty){padding:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 1260px){.stzh-search__filters-aside:not(:empty){background-color:transparent;padding:0}}.stzh-search__filters-aside-heading{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-curve-h4-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-h4-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-h4-default-text-letter-spacing);padding-bottom:var(--stzh-space-xsmall);color:var(--stzh-color-primary70);display:none}@media screen and (min-width: 600px){.stzh-search__filters-aside-heading{font-size:var(--stzh-font-curve-h4-small-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-h4-small-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-h4-small-text-letter-spacing)}}@media screen and (min-width: 1260px){.stzh-search__filters-aside-heading{font-size:var(--stzh-font-curve-h4-large-font-size, var(--stzh-font-deci-font-size));line-height:var(--stzh-font-curve-h4-large-text-line-height, var(--stzh-font-deci-text-line-height));letter-spacing:var(--stzh-font-curve-h4-large-text-letter-spacing)}}@media screen and (min-width: 1600px){.stzh-search__filters-aside-heading{font-size:var(--stzh-font-curve-h4-ultra-font-size, var(--stzh-font-deca-font-size));line-height:var(--stzh-font-curve-h4-ultra-text-line-height, var(--stzh-font-deca-text-line-height));letter-spacing:var(--stzh-font-curve-h4-ultra-text-letter-spacing, var(--stzh-font-deca-text-letter-spacing))}}@media screen and (min-width: 900px){.stzh-search__filters-aside-heading{padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 1260px){.stzh-search__filters-aside-heading{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-search__filters-aside-heading{display:block}}@media screen and (min-width: 1260px){.stzh-search stzh-button.stzh-search__filters-aside-details-trigger{display:none}}@media screen and (min-width: 1260px){.stzh-search__filters-aside-inner{position:-webkit-sticky;position:sticky;top:calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + var(--stzh-space-medium));transition:top var(--stzh-base-transition-animation-speed);width:calc(100% + var(--stzh-grid-gutter-large) - var(--stzh-space-xxxxlarge))}}@media screen and (min-width: 1600px){.stzh-search__filters-aside-inner{width:calc(100% + var(--stzh-grid-gutter-ultra) - var(--stzh-space-xxxxlarge))}}.stzh-search__results-wrapper{grid-area:results;display:grid}.stzh-search__results-heading,.stzh-search__results-empty,.stzh-search__results,.stzh-search__action-more{transition-property:opacity;transition-duration:var(--stzh-base-transition-animation-speed)}.stzh-search__results-heading{margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-search__results-heading{margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-search__results-heading{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-search__results-heading{margin-bottom:var(--stzh-space-xxlarge)}}.stzh-search__results-item{display:contents}.stzh-search__actions-wrapper{display:flex;justify-content:center}.stzh-search__actions-wrapper:not(:empty){margin-top:var(--stzh-space-xlarge)}@media screen and (min-width: 900px){.stzh-search__actions-wrapper:not(:empty){margin-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-search__actions-wrapper:not(:empty){margin-top:var(--stzh-space-xxxlarge)}}.stzh-search__empty-text{margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-search__empty-text{margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-search__empty-text{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-search__empty-text{margin-bottom:var(--stzh-space-xxlarge)}}.stzh-search__loader{margin-top:var(--stzh-space-xlarge)}@media screen and (min-width: 900px){.stzh-search__loader{margin-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-search__loader{margin-top:var(--stzh-space-xxxlarge)}}.stzh-search--teaser .stzh-search__actions-wrapper{justify-content:flex-start}.stzh-search--teaser .stzh-search__filters-main:not(:empty){padding:0;background-color:transparent}.stzh-search--teaser .stzh-search__filters-aside:not(:empty){padding:0;background-color:transparent}@media screen and (max-width: 1259px){.stzh-search--has-results-shown .stzh-search__results-wrapper{margin-top:var(--stzh-space-xxxxlarge)}}@media screen and (max-width: 1259px) and (min-width: 600px){.stzh-search--has-results-shown .stzh-search__results-wrapper{margin-top:var(--stzh-space-big)}}@media screen and (max-width: 1259px) and (min-width: 900px){.stzh-search--has-results-shown .stzh-search__results-wrapper{margin-top:var(--stzh-space-big)}}@media screen and (max-width: 1259px) and (min-width: 1260px){.stzh-search--has-results-shown .stzh-search__results-wrapper{margin-top:var(--stzh-space-huge)}}@media screen and (min-width: 1260px){.stzh-search--has-results-shown .stzh-search__filters-main,.stzh-search--has-filters-aside .stzh-search__filters-main{margin-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-search--has-results-shown .stzh-search__filters-main,.stzh-search--has-filters-aside .stzh-search__filters-main{margin-bottom:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-search--has-results-shown .stzh-search__filters-main,.stzh-search--has-filters-aside .stzh-search__filters-main{margin-bottom:var(--stzh-space-xxxxlarge)}}@media screen and (max-width: 1259px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__results-wrapper{margin-top:var(--stzh-space-medium)}}@media screen and (max-width: 1259px) and (min-width: 600px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__results-wrapper{margin-top:var(--stzh-space-large)}}@media screen and (max-width: 1259px) and (min-width: 900px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__results-wrapper{margin-top:var(--stzh-space-xlarge)}}@media screen and (max-width: 1259px) and (min-width: 1260px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__results-wrapper{margin-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__filters-main,.stzh-search--has-filters-aside.stzh-search--teaser .stzh-search__filters-main{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__filters-main,.stzh-search--has-filters-aside.stzh-search--teaser .stzh-search__filters-main{margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__filters-main,.stzh-search--has-filters-aside.stzh-search--teaser .stzh-search__filters-main{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-search--has-results-shown.stzh-search--teaser .stzh-search__filters-main,.stzh-search--has-filters-aside.stzh-search--teaser .stzh-search__filters-main{margin-bottom:var(--stzh-space-xxlarge)}}.stzh-search--has-filters-main.stzh-search--has-filters-aside .stzh-search__filters-main:not(:empty){padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-search--has-filters-main.stzh-search--has-filters-aside .stzh-search__filters-main:not(:empty){padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-search--has-filters-main.stzh-search--has-filters-aside .stzh-search__filters-main:not(:empty){padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-search--has-filters-main.stzh-search--has-filters-aside .stzh-search__filters-main:not(:empty){padding-bottom:var(--stzh-space-xxlarge)}}.stzh-search--has-filters-main.stzh-search--has-filters-aside .stzh-search__filters-aside:not(:empty){padding-top:0}.stzh-search--is-loading .stzh-search__results-heading,.stzh-search--is-loading .stzh-search__results-empty,.stzh-search--is-loading .stzh-search__results,.stzh-search--is-loading .stzh-search__action-more{opacity:0.5}';function z(s,t){if(s.variant==="teaser"){return`\n <stzh-card href="{href}">\n <div slot="heading">{heading}</div>\n <div slot="content">{description}</div>\n </stzh-card>\n `}else{return`\n <stzh-card-searchresult\n href="{href}"\n dateline="{dateline}"\n tag-left="{tagLeft}"\n tag-right="{tagRight}"\n event-location="{eventLocation}"\n download-heading="{downloadHeading}"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n ${t.imagePosition&&'image-position="{imagePosition}"'}\n ${t.download&&'download="{download}"'}\n style="\n ${t.tagRightBackgroundColor?"--tag-right-background-color: {tagRightBackgroundColor};":""}\n ${t.tagRightColor?"--tag-right-color: {tagRightColor};":""}\n "\n >\n <div slot="heading">{heading}</div>\n <div slot="description">{description}</div>\n ${t.image?t.imagePosition==="right"?`<img src="${t.image}" slot="image" />`:`<stzh-ratio ratio="21:9" ratio-small="1:1" slot="image"><img src="${t.image}" /></stzh-ratio>`:""}\n </stzh-card-searchresult>\n `}}function f(s){return{layout:s.variant==="teaser"?"teasers":"searchresults"}}const p=class{constructor(t){s(this,t);this._showMoreLink=false;this.fetch=async(s=false,t=false)=>{if(this.currentController){this.currentController.abort()}if(!this.hasRequiredParams&&!s){this.loading=false;return}this.loading=true;let e=this.api.replace(/\{lang\}/gi,this.localization.$locale);let a=this.limit.toString();this.params.set("offset",s?this.results.length.toString():"0");if(t){const s=new URLSearchParams(location.search).get("search");if(s){const t=new URLSearchParams(s).get("limit");if(t){a=t}}}this.params.set("limit",a);this.currentController=new AbortController;const{data:i}=await r(e,{params:this.params,signal:this.currentController.signal});this.resultsHeading=i.resultsHeading;this.totalCount=i.meta.total;if(s){this.results=[...this.results,...i.results.map((s=>{var t;return Object.assign(Object.assign({},s),{html:this.renderResultTemplate(s.html||((t=i.templates)===null||t===void 0?void 0:t.result),s)})}))]}else{this.results=i.results.map((s=>{var t;return Object.assign(Object.assign({},s),{html:this.renderResultTemplate(s.html||((t=i.templates)===null||t===void 0?void 0:t.result),s)})}))}if(!t&&!this.preventUpdateUrl){const s=new URLSearchParams(location.search);const t=new URLSearchParams(this.params);t.delete("offset");t.set("limit",this.results.length.toString());s.set("search",t.toString());window.history.replaceState(null,"",`${location.pathname}?${s}`)}if(t||!this.firstFetched){this.loading=false}else{window.setTimeout((()=>{this.loading=false}),this.debounceTime)}this.firstFetched=true};this.debouncedFetch=d(this.fetch,this.debounceTime);this.handleMainFilterChange=async()=>{if(this.autofetchMainFilters){await this.updateParams();this.debouncedFetch()}};this.handleAsideFilterChange=async()=>{if(this.autofetchAsideFilters){await this.updateParams();this.debouncedFetch()}};this.handleFormSubmit=async s=>{s.preventDefault();await this.updateParams();this.fetch()};this.handleMoreClick=()=>{this.fetch(true)};this.handleMediaChange=()=>{this.isDetailsOpen=l("large").matches};this.handleFormReset=async()=>{requestAnimationFrame((()=>{requestAnimationFrame((async()=>{await this.updateParams()}))}))};this.localization=undefined;this.variant="default";this.autofetchMainFilters=false;this.autofetchAsideFilters=false;this.api="";this.debounceTime=500;this.limit=6;this.initialFetch=false;this.preventUpdateUrl=false;this.templateResult=z;this.templateResultWrapperElement=function(){return"stzh-cardlist"};this.templateResultWrapperProps=f;this.resultHeadingLevel="3";this.emptyText=undefined;this.emptyLinkHref=undefined;this.emptyLinkLabel=undefined;this.totalCount=0;this.loading=false;this.results=[];this.resultsHeading=undefined;this.hasRequiredParams=false;this.firstFetched=false;this.initiallyFetched=false;this.isDetailsOpen=false}totalCountWatcher(){this._showMoreLink=this.totalCount>this.results.length}preventUpdateUrlWatcher(){this.updateParams()}renderResultTemplate(s,t){let e=s||(typeof this.templateResult==="function"?this.templateResult(this.element,t):this.templateResult);["href","heading","dateline","description","image","imagePosition","tagLeft","tagRight","tagRightColor","tagRightBackgroundColor","meta","breadcrumbItems","eventLocation","download","downloadHeading","downloadMeta"].forEach((s=>{const a=new RegExp(`{${s}}`,"gi");let i=t[s]||"";if(["meta","breadcrumbItems","downloadMeta"].includes(s)&&i){i=JSON.stringify(i)}e=e.replace(a,i)}));return e}async updateParams(s=false){const t=()=>{const s=new FormData(this.formElement);this.params=new URLSearchParams(s)};if(s){const s=new URLSearchParams(location.search);const t=s.get("search");if(t){this.initialFetch=true;const s=new URLSearchParams(t);[...new Set(s.keys())].forEach((t=>{const e=s.getAll(t);const a=Array.from(document.querySelectorAll(`:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name="${t}"]`));const i=Array.from(document.querySelectorAll(`:where(stzh-checkboxgroup)[name="${t}"]`));const r=Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name="${t}"]`));a.forEach((s=>{s.value=e[0]}));i.forEach((s=>{s.value=e}));r.forEach((s=>{s.items=e}))}))}}await h();t();let e=true;const a=Array.from(this.element.querySelectorAll(":where(stzh-input)[required]"));const i=Array.from(this.element.querySelectorAll(":where(stzh-dropdown)[required]"));const r=Array.from(this.element.querySelectorAll(":where(stzh-monthyearpicker)[required]"));const n=Array.from(this.element.querySelectorAll(":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]"));const l=Array.from(this.element.querySelectorAll(":where(stzh-checkbox)[required]"));l.forEach((t=>{const a=!t.checked;if(!s){t.invalid=a}if(a){e=false}}));a.forEach((t=>{const a=t.value===""||t.minlength&&t.minlength>t.value.length||t.maxlength&&t.maxlength<t.value.length;if(!s){t.invalid=a}if(a){e=false}}));i.forEach((t=>{const a=t.items.length===0;if(!s){t.invalid=a}if(a){e=false}}));n.forEach((t=>{const a=t.value.toString().length===0;if(!s){t.invalid=a}if(a){e=false}}));r.forEach((t=>{const a=t.value.toString().length===0;if(!s){t.invalidYear=a;t.invalidMonth=a}if(a){e=false}}));this.hasRequiredParams=e}async componentDidLoad(){await this.updateParams(true);if(this.initialFetch){await this.fetch(false,true);this.initiallyFetched=true}else{this.initiallyFetched=true}}async componentWillLoad(){if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"search")}}connectedCallback(){o(this.handleMediaChange);this.handleMediaChange()}disconnectedCallback(){c(this.handleMediaChange)}render(){const s=n(this.element,"filters-main");const i=n(this.element,"filters-aside");const r=(this.hasRequiredParams||this.firstFetched)&&this.firstFetched&&this.initiallyFetched;const h={"stzh-search":true,"stzh-search--has-filters-main":s,"stzh-search--has-filters-aside":i,"stzh-search--has-results-shown":r,"stzh-search--is-loading":this.loading,[`stzh-search--${this.variant}`]:!!this.variant};const l=typeof this.templateResultWrapperElement==="function"?this.templateResultWrapperElement(this.element):this.templateResultWrapperElement;const o=typeof this.templateResultWrapperProps==="function"?this.templateResultWrapperProps(this.element):this.templateResultWrapperProps;return t(a,{"has-aside-filters":i},t("form",{ref:s=>this.formElement=s,novalidate:true,class:h,onSubmit:this.handleFormSubmit,onReset:this.handleFormReset},t("div",{class:"stzh-search__filters-main",onStzhChange:this.handleMainFilterChange},t("slot",{name:"filters-main"})),i&&t(e,null,t("div",{class:"stzh-search__filters-aside",onStzhChange:this.handleAsideFilterChange},t("div",{class:"stzh-search__filters-aside-inner"},t("div",{class:"stzh-search__filters-aside-heading"},this.localization.moreFilter),t("stzh-details",{open:this.isDetailsOpen,class:"stzh-search__filters-aside-details"},t("stzh-button",{class:"stzh-search__filters-aside-details-trigger",variant:"tertiary-plain",size:"small",noPaddingLeft:true,showToggleIcon:true,iconPosition:"right",label:this.localization.moreFilter}),t("div",{slot:"content"},t("slot",{name:"filters-aside"})))))),t("div",{class:"stzh-search__results-wrapper"},r&&t(e,null,this.results.length===0?t(e,null,this.variant!=="teaser"&&this.resultsHeading&&t("stzh-heading",{class:"stzh-search__results-heading",curve:"h3",level:this.resultHeadingLevel},this.resultsHeading||this.localization.noResults),this.emptyText&&t("stzh-text",{class:"stzh-search__empty-text"},this.emptyText),this.emptyLinkLabel&&this.emptyLinkHref&&t("div",{class:"stzh-search__empty-link-wrapper"},t("stzh-link",{href:this.emptyLinkHref,label:this.emptyLinkLabel}))):t(e,null,this.variant!=="teaser"&&this.resultsHeading&&t("stzh-heading",{class:"stzh-search__results-heading",curve:"h3",level:this.resultHeadingLevel},this.resultsHeading),t(l,Object.assign({class:"stzh-search__results"},o),this.results.map((s=>t("div",{class:"stzh-search__results-item",innerHTML:s.html||""})))),t("div",{class:"stzh-search__actions-wrapper"},this._showMoreLink&&t("stzh-button",{variant:"secondary",class:"stzh-search__action-more",label:this.localization.showMore,onClick:this.handleMoreClick,a11yDisabled:this.loading})))),this.loading&&t("stzh-loader",{class:"stzh-search__loader"})),t("slot",null)))}get element(){return i(this)}static get watchers(){return{totalCount:["totalCountWatcher"],results:["totalCountWatcher"],preventUpdateUrl:["preventUpdateUrlWatcher"]}}};p.style=m;export{p as stzh_search};
|
|
2
|
+
//# sourceMappingURL=p-b0626969.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stzhSearchCss","defaultTemplateResult","search","item","variant","imagePosition","download","tagRightBackgroundColor","tagRightColor","image","defaultResultWrapperProps","layout","StzhSearch","this","_showMoreLink","fetch","async","append","initial","currentController","abort","hasRequiredParams","loading","apiUrl","api","replace","localization","$locale","limit","toString","params","set","results","length","URLSearchParams","location","get","urlLimit","AbortController","data","axios","signal","resultsHeading","totalCount","meta","total","map","Object","assign","html","renderResultTemplate","_a","templates","result","preventUpdateUrl","newUrlParams","searchParams","delete","window","history","replaceState","pathname","firstFetched","setTimeout","debounceTime","debouncedFetch","debounce","handleMainFilterChange","autofetchMainFilters","updateParams","handleAsideFilterChange","autofetchAsideFilters","handleFormSubmit","event","preventDefault","handleMoreClick","handleMediaChange","isDetailsOpen","media","matches","handleFormReset","requestAnimationFrame","totalCountWatcher","preventUpdateUrlWatcher","template","templateResult","element","forEach","property","regex","RegExp","value","includes","JSON","stringify","updateByFormElements","formData","FormData","formElement","initialParams","initialFetch","currentSearchParams","Set","keys","key","values","getAll","valueInputs","Array","from","document","querySelectorAll","valueArrayInputs","itemsArrayInputs","input","items","raf","requiredInputFields","requiredDropdownFields","requiredMonthyearpickers","requiredFields","requiredCheckboxFields","field","invalid","checked","minlength","maxlength","invalidYear","invalidMonth","componentDidLoad","initiallyFetched","componentWillLoad","stzhComponents","utils","fetchTranslations","connectedCallback","addMediaChangeListener","disconnectedCallback","removeMediaChangeListener","render","filtersMainUsed","hasSlot","filtersAsideUsed","resultsShown","classes","WrapperElement","templateResultWrapperElement","wrapperProps","templateResultWrapperProps","h","Host","ref","el","novalidate","class","onSubmit","onReset","onStzhChange","name","Fragment","moreFilter","open","size","noPaddingLeft","showToggleIcon","iconPosition","label","slot","curve","level","resultHeadingLevel","noResults","emptyText","emptyLinkLabel","emptyLinkHref","href","innerHTML","showMore","onClick","a11yDisabled"],"sources":["src/components/stzh-search/stzh-search.scss?tag=stzh-search","src/components/stzh-search/stzh-search.tsx"],"sourcesContent":["stzh-search {\n @include host;\n\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main\"\n \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\"\n \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\"\n \". . results results results results results results results results . .\";\n }\n\n &[has-aside-filters] {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main\"\n \"filters-aside filters-aside filters-aside filters-aside\"\n \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\"\n \"filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside\"\n \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\"\n \"filters-aside filters-aside filters-aside filters-aside results results results results results results results results\";\n }\n }\n\n &[variant=\"teaser\"] {\n @include mq($from: large) {\n --grid-template-areas:\n \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\"\n \"results results results results results results results results results results results results\";\n }\n }\n}\n\n.stzh-search {\n @include grid;\n grid-template-areas: var(--grid-template-areas);\n\n &__filters-main {\n grid-area: filters-main;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: $colorGrey10;\n }\n }\n\n &__filters-aside {\n grid-area: filters-aside;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: $colorGrey10;\n\n @include mq($from: large) {\n background-color: transparent;\n padding: 0;\n }\n }\n }\n\n &__filters-aside-heading {\n @include font('heavy');\n @include fontCurve('h4');\n @include spaceCurve('padding-bottom', 'tiny');\n color: $colorPrimary70;\n display: none;\n\n @include mq($from: large) {\n display: block;\n }\n }\n\n stzh-button#{&}__filters-aside-details-trigger {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__filters-aside-inner {\n @include mq($from: large) {\n position: sticky;\n top: calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + #{space('medium')});\n transition: top $baseTransitionAnimationSpeed;\n width: calc(100% + #{$gridGutterLarge} - #{spaceCurveValue('large', 'large')});\n }\n\n @include mq($from: ultra) {\n width: calc(100% + #{$gridGutterUltra} - #{spaceCurveValue('large', 'large')});\n }\n }\n\n &__results-wrapper {\n grid-area: results;\n display: grid;\n }\n\n &__results-heading,\n &__results-empty,\n &__results,\n &__action-more {\n transition-property: opacity;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__results-heading {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__results-item {\n display: contents;\n }\n\n &__actions-wrapper {\n display: flex;\n justify-content: center;\n\n &:not(:empty) {\n @include spaceCurve('margin-top', 'medium');\n }\n }\n\n &__empty-text {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__loader {\n @include spaceCurve('margin-top', 'medium');\n }\n\n /* Teaser variant */\n\n &--teaser &__actions-wrapper {\n justify-content: flex-start;\n }\n\n &--teaser &__filters-main {\n &:not(:empty) {\n padding: 0;\n background-color: transparent;\n }\n }\n\n &--teaser &__filters-aside {\n &:not(:empty) {\n padding: 0;\n background-color: transparent;\n }\n }\n\n /* Has results shown or aside filter */\n\n &--has-results-shown &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'huge');\n }\n }\n\n &--has-results-shown &__filters-main,\n &--has-filters-aside &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'large');\n }\n }\n\n &--has-results-shown#{&}--teaser &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'regular');\n }\n }\n\n &--has-results-shown#{&}--teaser &__filters-main,\n &--has-filters-aside#{&}--teaser &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'regular');\n }\n }\n\n /* Has main and aside filters */\n\n &--has-filters-main#{&}--has-filters-aside &__filters-main {\n &:not(:empty) {\n @include spaceCurve('padding-bottom', 'regular');\n }\n }\n\n &--has-filters-main#{&}--has-filters-aside &__filters-aside {\n &:not(:empty) {\n padding-top: 0;\n }\n }\n\n /* Is loading */\n\n &--is-loading &__results-heading,\n &--is-loading &__results-empty,\n &--is-loading &__results,\n &--is-loading &__action-more {\n opacity: 0.5;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Watch,\n Fragment\n} from \"@stencil/core\";\n\nimport { StzhSearchResult } from \"../../index\";\n\nimport axios from 'axios';\nimport { hasSlot, raf } from \"../../utils/utils\";\n\nimport { StzhSearchLocalizedText } from \"./stzh-search.localization\";\n\nimport {\n media,\n addMediaChangeListener,\n removeMediaChangeListener\n} from '../../utils/media-utils';\n\nimport debounce from \"lodash/debounce\";\n\nfunction defaultTemplateResult(search: HTMLStzhSearchElement, item: StzhSearchResult): string {\n if (search.variant === \"teaser\") {\n return `\n <stzh-card href=\"{href}\">\n <div slot=\"heading\">{heading}</div>\n <div slot=\"content\">{description}</div>\n </stzh-card>\n `;\n } else {\n return `\n <stzh-card-searchresult\n href=\"{href}\"\n dateline=\"{dateline}\"\n tag-left=\"{tagLeft}\"\n tag-right=\"{tagRight}\"\n event-location=\"{eventLocation}\"\n download-heading=\"{downloadHeading}\"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n ${item.imagePosition && 'image-position=\"{imagePosition}\"'}\n ${item.download && 'download=\"{download}\"'}\n style=\"\n ${item.tagRightBackgroundColor ? '--tag-right-background-color: {tagRightBackgroundColor};' : ''}\n ${item.tagRightColor ? '--tag-right-color: {tagRightColor};' : ''}\n \"\n >\n <div slot=\"heading\">{heading}</div>\n <div slot=\"description\">{description}</div>\n ${item.image\n ?\n (\n item.imagePosition === \"right\"\n ?\n `<img src=\"${item.image}\" slot=\"image\" />`\n :\n `<stzh-ratio ratio=\"21:9\" ratio-small=\"1:1\" slot=\"image\"><img src=\"${item.image}\" /></stzh-ratio>`\n )\n :\n ''\n }\n </stzh-card-searchresult>\n `;\n }\n}\n\nfunction defaultResultWrapperProps(search: HTMLStzhSearchElement) {\n return {\n layout: search.variant === \"teaser\" ? \"teasers\" : \"searchresults\"\n } as HTMLStzhCardlistElement;\n}\n\n/**\n * @slot filters-main - Slot for main filters\n * @slot filters-aside - Slot for aside filters\n */\n@Component({\n tag: \"stzh-search\",\n styleUrl: \"stzh-search.scss\"\n})\nexport class StzhSearch {\n /** Translation strings */\n @Prop() localization: StzhSearchLocalizedText;\n\n /** Variant */\n @Prop() variant: \"default\" | \"teaser\" = \"default\";\n\n /** Whether search results should be automatically fetched when a main filters has changed. */\n @Prop() autofetchMainFilters: boolean = false;\n\n /** Whether search results should be automatically fetched when a aside filters has changed. */\n @Prop() autofetchAsideFilters: boolean = false;\n\n /** API URL */\n @Prop() api: string = \"\";\n\n /** Debounce time in ms */\n @Prop() debounceTime: number = 500;\n\n /** Numbers of results shown with each load more action */\n @Prop() limit: number = 6;\n\n /** Whether search request should be fetched initially with set filters */\n @Prop() initialFetch: boolean = false;\n\n /** Whether url query should be updated when filter has changed */\n @Prop() preventUpdateUrl: boolean = false;\n\n /** Will be overwritten by api result (`templates.result` or `results[x].html`) */\n @Prop() templateResult: string | ((search: HTMLStzhSearchElement, item: StzhSearchResult) => string) = defaultTemplateResult;\n\n /** Element used for list wrapper element */\n @Prop() templateResultWrapperElement: string | ((search: HTMLStzhSearchElement) => string) = function() {\n return 'stzh-cardlist';\n };\n\n /** Properties applied to list wrapper element */\n @Prop() templateResultWrapperProps: { [key: string]: any } | ((search: HTMLStzhSearchElement) => { [key: string]: any }) = defaultResultWrapperProps;\n\n /** Heading level of results heading */\n @Prop() resultHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Empty text */\n @Prop() emptyText: string;\n\n /** Empty link href */\n @Prop() emptyLinkHref: string;\n\n /** Empty link label */\n @Prop() emptyLinkLabel: string;\n\n @Element() element: HTMLStzhSearchElement;\n\n @Watch(\"totalCount\")\n @Watch(\"results\")\n totalCountWatcher() {\n this._showMoreLink = this.totalCount > this.results.length;\n }\n\n @Watch(\"preventUpdateUrl\")\n preventUpdateUrlWatcher() {\n this.updateParams();\n }\n\n @State() totalCount: number = 0;\n private _showMoreLink: boolean = false;\n\n @State() loading: boolean = false;\n\n @State() results: StzhSearchResult[] = [];\n @State() resultsHeading: string;\n @State() hasRequiredParams: boolean = false;\n @State() firstFetched: boolean = false;\n @State() initiallyFetched: boolean = false;\n @State() isDetailsOpen: boolean = false;\n\n private currentController: AbortController;\n private params: URLSearchParams;\n private formElement: HTMLFormElement;\n\n private renderResultTemplate(html: string, item: StzhSearchResult) {\n let template = html\n || (typeof this.templateResult === \"function\"\n ? this.templateResult(this.element, item)\n : this.templateResult);\n\n [\n \"href\",\n \"heading\",\n \"dateline\",\n \"description\",\n \"image\",\n \"imagePosition\",\n \"tagLeft\",\n \"tagRight\",\n \"tagRightColor\",\n \"tagRightBackgroundColor\",\n \"meta\",\n \"breadcrumbItems\",\n \"eventLocation\",\n \"download\",\n \"downloadHeading\",\n \"downloadMeta\",\n ].forEach((property) => {\n const regex = new RegExp(`\\{${property}\\}`, \"gi\");\n let value = item[property] || \"\";\n\n if ([\"meta\", \"breadcrumbItems\", \"downloadMeta\"].includes(property) && value) {\n value = JSON.stringify(value);\n }\n\n template = template.replace(regex, value)\n });\n\n return template;\n }\n\n private async updateParams(initial: boolean = false) {\n const updateByFormElements = () => {\n const formData = new FormData(this.formElement);\n // @ts-ignore\n this.params = new URLSearchParams(formData);\n }\n\n if (initial) {\n const initialParams = new URLSearchParams(location.search);\n const search = initialParams.get(\"search\");\n\n if (search) {\n this.initialFetch = true;\n const currentSearchParams = new URLSearchParams(search);\n\n [...new Set(currentSearchParams.keys())].forEach((key) => {\n const values = currentSearchParams.getAll(key);\n\n // value as string/number: input, ... / pagination\n const valueInputs = Array.from(document.querySelectorAll(`:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name=\"${key}\"]`)) as\n | HTMLStzhInputElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhAmountElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhMonthyearpickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[]\n\n // value as array: checkboxgroup\n const valueArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-checkboxgroup)[name=\"${key}\"]`)) as\n | HTMLStzhCheckboxgroupElement[]\n\n // items as array: dropdown\n const itemsArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name=\"${key}\"]`)) as\n | HTMLStzhDropdownElement[]\n\n valueInputs.forEach((input: HTMLStzhInputElement | HTMLStzhRadiogroupElement | HTMLStzhChipselectElement | HTMLStzhAmountElement | HTMLStzhDatepickerElement | HTMLStzhMonthyearpickerElement | HTMLStzhTimepickerElement | HTMLStzhPaginationElement | HTMLStzhToggleElement) => {\n input.value = values[0];\n });\n\n valueArrayInputs.forEach((input: HTMLStzhCheckboxgroupElement) => {\n input.value = values;\n });\n\n itemsArrayInputs.forEach((input: HTMLStzhDropdownElement) => {\n input.items = values;\n });\n });\n }\n\n }\n\n await raf();\n updateByFormElements();\n\n // console.log(this.params.toString());\n\n let hasRequiredParams = true;\n\n const requiredInputFields = Array.from(this.element.querySelectorAll(\":where(stzh-input)[required]\")) as\n | HTMLStzhInputElement[];\n\n const requiredDropdownFields = Array.from(this.element.querySelectorAll(\":where(stzh-dropdown)[required]\")) as\n | HTMLStzhDropdownElement[];\n\n const requiredMonthyearpickers = Array.from(this.element.querySelectorAll(\":where(stzh-monthyearpicker)[required]\")) as\n | HTMLStzhMonthyearpickerElement[]\n\n const requiredFields = Array.from(this.element.querySelectorAll(\":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]\")) as\n | HTMLStzhAmountElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n const requiredCheckboxFields = Array.from(this.element.querySelectorAll(\":where(stzh-checkbox)[required]\")) as\n | HTMLStzhCheckboxElement[];\n\n requiredCheckboxFields.forEach((field: HTMLStzhCheckboxElement) => {\n const invalid = !field.checked;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredInputFields.forEach((field: HTMLStzhInputElement) => {\n const invalid = field.value === \"\"\n || (field.minlength && field.minlength > field.value.length)\n || (field.maxlength && field.maxlength < field.value.length);\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredDropdownFields.forEach((field: HTMLStzhDropdownElement) => {\n const invalid = field.items.length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredFields.forEach((field: HTMLStzhAmountElement | HTMLStzhRadiogroupElement | HTMLStzhCheckboxElement | HTMLStzhChipselectElement | HTMLStzhDatepickerElement | HTMLStzhTimepickerElement | HTMLStzhPaginationElement | HTMLStzhToggleElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredMonthyearpickers.forEach((field: HTMLStzhMonthyearpickerElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalidYear = invalid;\n field.invalidMonth = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n this.hasRequiredParams = hasRequiredParams;\n }\n\n private fetch = async (append: boolean = false, initial: boolean = false) => {\n if (this.currentController) {\n this.currentController.abort()\n }\n\n if (!this.hasRequiredParams && !append) {\n this.loading = false;\n return;\n }\n\n this.loading = true;\n\n let apiUrl = this.api.replace(/\\{lang\\}/gi, this.localization.$locale);\n let limit = this.limit.toString();\n\n this.params.set('offset', append ? this.results.length.toString() : '0');\n\n if (initial) {\n const search = new URLSearchParams(location.search).get(\"search\");\n\n if (search) {\n const urlLimit = new URLSearchParams(search).get(\"limit\");\n\n if (urlLimit) {\n limit = urlLimit;\n }\n }\n }\n\n this.params.set('limit', limit);\n\n this.currentController = new AbortController();\n\n // load data from API\n const { data }: {\n data: {\n templates: {\n result: string\n },\n meta: {\n total: number\n },\n resultsHeading: string\n results: StzhSearchResult[]\n }\n } = await axios(apiUrl, {\n params: this.params,\n signal: this.currentController.signal\n });\n\n this.resultsHeading = data.resultsHeading;\n this.totalCount = data.meta.total;\n\n if (append) {\n this.results = [...this.results, ...data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item)\n }))];\n } else {\n this.results = data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item)\n }));\n }\n\n if (!initial && !this.preventUpdateUrl) {\n const newUrlParams = new URLSearchParams(location.search);\n const searchParams = new URLSearchParams(this.params);\n\n searchParams.delete(\"offset\");\n searchParams.set(\"limit\", this.results.length.toString());\n newUrlParams.set(\"search\", searchParams.toString());\n\n // console.log(location.search, searchParams.toString(), newUrlParams.toString());\n\n window.history.replaceState(null, \"\", `${location.pathname}?${newUrlParams}`)\n }\n\n if (initial || !this.firstFetched) {\n this.loading = false;\n } else {\n // to be able to see loading effect we delay turning off loading state\n window.setTimeout(() => {\n this.loading = false;\n }, this.debounceTime);\n }\n\n this.firstFetched = true;\n }\n\n private debouncedFetch = debounce(this.fetch, this.debounceTime);\n\n private handleMainFilterChange = async () => {\n if (this.autofetchMainFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n }\n\n private handleAsideFilterChange = async () => {\n if (this.autofetchAsideFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n }\n\n private handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n\n await this.updateParams();\n this.fetch();\n }\n\n private handleMoreClick = () => {\n this.fetch(true);\n }\n\n private handleMediaChange = () => {\n this.isDetailsOpen = media(\"large\").matches;\n }\n\n private handleFormReset = async () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(async () => {\n await this.updateParams();\n });\n });\n }\n\n async componentDidLoad() {\n // update params initially to get hidden filters\n // and set initialFetch to true if search params exist\n await this.updateParams(true);\n\n if (this.initialFetch) {\n await this.fetch(false, true);\n this.initiallyFetched = true;\n } else {\n this.initiallyFetched = true;\n }\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"search\");\n }\n }\n\n connectedCallback() {\n addMediaChangeListener(this.handleMediaChange);\n this.handleMediaChange();\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.handleMediaChange);\n }\n\n render() {\n const filtersMainUsed = hasSlot(this.element, 'filters-main');\n const filtersAsideUsed = hasSlot(this.element, 'filters-aside');\n\n const resultsShown = (this.hasRequiredParams || this.firstFetched) && this.firstFetched && this.initiallyFetched;\n\n const classes = {\n \"stzh-search\": true,\n \"stzh-search--has-filters-main\": filtersMainUsed,\n \"stzh-search--has-filters-aside\": filtersAsideUsed,\n \"stzh-search--has-results-shown\": resultsShown,\n \"stzh-search--is-loading\": this.loading,\n [`stzh-search--${this.variant}`]: !!this.variant,\n };\n\n const WrapperElement = typeof this.templateResultWrapperElement === \"function\"\n ? this.templateResultWrapperElement(this.element)\n : this.templateResultWrapperElement;\n\n const wrapperProps = typeof this.templateResultWrapperProps === \"function\"\n ? this.templateResultWrapperProps(this.element)\n : this.templateResultWrapperProps;\n\n return (\n <Host has-aside-filters={filtersAsideUsed}>\n <form\n ref={(el) => (this.formElement = el as HTMLFormElement)}\n novalidate\n class={classes}\n onSubmit={this.handleFormSubmit}\n onReset={this.handleFormReset}\n >\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-main\" onStzhChange={this.handleMainFilterChange}>\n <slot name=\"filters-main\"></slot>\n </div>\n\n {filtersAsideUsed &&\n <Fragment>\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-aside\" onStzhChange={this.handleAsideFilterChange}>\n <div class=\"stzh-search__filters-aside-inner\">\n <div class=\"stzh-search__filters-aside-heading\">\n {this.localization.moreFilter}\n </div>\n <stzh-details\n open={this.isDetailsOpen}\n class=\"stzh-search__filters-aside-details\"\n >\n <stzh-button\n class=\"stzh-search__filters-aside-details-trigger\"\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n showToggleIcon={true}\n iconPosition=\"right\"\n label={this.localization.moreFilter}\n ></stzh-button>\n <div slot=\"content\">\n <slot name=\"filters-aside\"></slot>\n </div>\n </stzh-details>\n </div>\n </div>\n </Fragment>\n }\n\n <div class=\"stzh-search__results-wrapper\">\n {resultsShown &&\n <Fragment>\n {this.results.length === 0\n ?\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading &&\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n >\n {this.resultsHeading || this.localization.noResults}\n </stzh-heading>\n }\n\n {this.emptyText &&\n <stzh-text class=\"stzh-search__empty-text\">{this.emptyText}</stzh-text>\n }\n\n {this.emptyLinkLabel && this.emptyLinkHref &&\n <div class=\"stzh-search__empty-link-wrapper\">\n <stzh-link\n href={this.emptyLinkHref}\n label={this.emptyLinkLabel}\n ></stzh-link>\n </div>\n }\n </Fragment>\n :\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading &&\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n >\n {this.resultsHeading}\n </stzh-heading>\n }\n\n <WrapperElement class=\"stzh-search__results\" {...wrapperProps}>\n {this.results.map((result) =>\n <div class=\"stzh-search__results-item\" innerHTML={result.html || \"\"}></div>\n )}\n </WrapperElement>\n\n <div class=\"stzh-search__actions-wrapper\">\n {this._showMoreLink &&\n <stzh-button\n variant=\"secondary\"\n class=\"stzh-search__action-more\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n a11yDisabled={this.loading}\n >\n </stzh-button>\n }\n </div>\n </Fragment>\n }\n </Fragment>\n }\n\n {this.loading && <stzh-loader class=\"stzh-search__loader\"></stzh-loader>}\n </div>\n\n <slot></slot>\n </form>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as s,f as a,h as e,F as c,a as i,g as h}from"./p-c7bfac7a.js";import{s as r,h as d}from"./p-7e304ea3.js";import{S as n}from"./p-fc692303.js";import"./p-9b063923.js";const o='.sc-stzh-card-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-card-h{display:none}.sc-stzh-card-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-card-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-card-h *.sc-stzh-card,.sc-stzh-card-h *.sc-stzh-card::before,.sc-stzh-card-h *.sc-stzh-card::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-card-h .has-focus.sc-stzh-card{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-card-h .stzh-fylingfocus-focused.sc-stzh-card{outline-style:none !important}.sc-stzh-card-h .stzh-fylingfocus-focused.sc-stzh-card::-moz-focus-inner{border:0 !important}.sc-stzh-card-h{--border-radius:0px;--content-min-height:7.5rem;--dnd-visibility:hidden;--dnd-opacity:0;display:flex;flex-direction:column;position:relative;border-radius:var(--border-radius)}@media print{.sc-stzh-card-h{page-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}}[collapsed].sc-stzh-card-h:not([collapsed=false]){--content-min-height:none}[checked].sc-stzh-card-h:not([checked=false]){outline:0.1875rem solid var(--stzh-color-primary)}.is-ghost.sc-stzh-card-h::after,.is-ghost .sc-stzh-card-h::after{border-radius:var(--border-radius)}.is-ghost.sc-stzh-card-h,.is-ghost .sc-stzh-card-h{overflow:hidden}.is-drag.sc-stzh-card-h,.is-chosen.sc-stzh-card-h,.is-ghost.sc-stzh-card-h,.is-selected.sc-stzh-card-h,.is-drag .sc-stzh-card-h,.is-chosen .sc-stzh-card-h,.is-ghost .sc-stzh-card-h,.is-selected .sc-stzh-card-h,[is-sortable].sc-stzh-card-h:hover{--dnd-visibility:visible;--dnd-opacity:1}.sc-stzh-card-h .sc-stzh-card-s>[slot=image]{width:100%;max-width:100%}.sc-stzh-card-h .sc-stzh-card-s>img[slot=image]{display:block}.sc-stzh-card-h .sc-stzh-card-s>table{border:0;border-spacing:0}.sc-stzh-card-h .sc-stzh-card-s>table th{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.sc-stzh-card-h .sc-stzh-card-s>table td,.sc-stzh-card-h .sc-stzh-card-s>table th{padding:0}.sc-stzh-card-h .sc-stzh-card-s>table td{color:var(--stzh-color-black);padding-left:var(--stzh-space-xsmall)}.stzh-card.sc-stzh-card{flex-grow:1;display:flex;flex-direction:column;background-color:var(--stzh-color-white);border-radius:var(--border-radius)}.stzh-card__content-wrapper.sc-stzh-card{position:relative;flex-grow:1;display:flex;flex-direction:column;min-height:var(--content-min-height)}.stzh-card__dnd.sc-stzh-card{--size:var(--stzh-icon-size-xsmall);position:absolute;left:0.1875rem;top:1.4375rem;display:flex;visibility:var(--dnd-visibility);opacity:var(--dnd-opacity);transition:all var(--stzh-base-transition-animation-speed);display:none}@media screen and (min-width: 900px){.stzh-card__dnd.sc-stzh-card{display:block}}@media screen and (min-width: 1260px){.stzh-card__dnd.sc-stzh-card{left:0.25rem;top:1.6875rem}}.stzh-card__header-top.sc-stzh-card{display:flex;justify-content:space-between;align-items:flex-start}.stzh-card__header-meta.sc-stzh-card:not(:empty){display:inline-flex;margin-top:var(--stzh-space-xsmall);gap:var(--stzh-space-xsmall)}.stzh-card__header-left.sc-stzh-card,.stzh-card__header-right.sc-stzh-card{display:flex}.stzh-card__header-right.sc-stzh-card{padding-left:var(--stzh-space-xsmall)}@media screen and (min-width: 900px){.stzh-card__header-right.sc-stzh-card{padding-left:var(--stzh-space-small)}}@media screen and (min-width: 1260px){.stzh-card__header-right.sc-stzh-card{padding-left:var(--stzh-space-medium)}}.stzh-card__left.sc-stzh-card{align-self:center}.stzh-card__title-area.sc-stzh-card{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;overflow:hidden}.stzh-card__title.sc-stzh-card,.stzh-card__subtitle.sc-stzh-card{margin:0}.stzh-card__title-link.sc-stzh-card{color:inherit;-webkit-text-decoration-line:none;text-decoration-line:none}.stzh-card__title.sc-stzh-card{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing)}.stzh-card__image-link.sc-stzh-card{display:block}.stzh-card__subtitle.sc-stzh-card{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);display:flex;align-items:center;flex-wrap:wrap;-webkit-text-decoration-line:none;text-decoration-line:none;margin-left:-0.5625em}.stzh-card__subtitle-text.sc-stzh-card{position:relative;display:inline-flex;padding-left:0.5625em}.stzh-card__subtitle-text.sc-stzh-card::after{content:",";position:absolute;left:0}.stzh-card__content.sc-stzh-card{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);flex-grow:1}.stzh-card__card-actions.sc-stzh-card{display:inline-flex;white-space:nowrap}@media screen and (max-width: 899px){.stzh-card__card-action.sc-stzh-card{--icon-text-margin:0px;--badge-icon-text-margin:0px}}.stzh-card__card-action[variant=tertiary].sc-stzh-card{--color:var(--stzh-base-color)}.stzh-card__card-action.is-button.sc-stzh-card{--icon-size:var(--stzh-icon-size-small)}.stzh-card__card-action.is-placeholder.sc-stzh-card{width:var(--stzh-space-xxlarge);height:var(--stzh-space-xxlarge)}.stzh-card__card-action-popover.sc-stzh-card{--width:auto}.stzh-card--service.sc-stzh-card .stzh-card__subtitle.sc-stzh-card{font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing)}@media screen and (min-width: 900px){.stzh-card--service.sc-stzh-card .stzh-card__subtitle.sc-stzh-card{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}.stzh-card--service.sc-stzh-card .stzh-card__subtitle.sc-stzh-card{font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing)}@media screen and (min-width: 900px){.stzh-card--service.sc-stzh-card .stzh-card__subtitle.sc-stzh-card{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}.stzh-card--service.sc-stzh-card .stzh-card__title.sc-stzh-card{font-size:var(--stzh-font-curve-h3-default-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-h3-default-heading-line-height, var(--stzh-font-centi-heading-line-height));letter-spacing:var(--stzh-font-curve-h3-default-heading-letter-spacing)}@media screen and (min-width: 600px){.stzh-card--service.sc-stzh-card .stzh-card__title.sc-stzh-card{font-size:var(--stzh-font-curve-h3-small-font-size, var(--stzh-font-deci-font-size));line-height:var(--stzh-font-curve-h3-small-heading-line-height, var(--stzh-font-deci-heading-line-height));letter-spacing:var(--stzh-font-curve-h3-small-heading-letter-spacing)}}@media screen and (min-width: 900px){.stzh-card--service.sc-stzh-card .stzh-card__title.sc-stzh-card{font-size:var(--stzh-font-curve-h3-medium-font-size, var(--stzh-font-deca-font-size));line-height:var(--stzh-font-curve-h3-medium-heading-line-height, var(--stzh-font-deca-text-line-height));letter-spacing:var(--stzh-font-curve-h3-medium-heading-letter-spacing, var(--stzh-font-deca-text-letter-spacing))}}@media screen and (min-width: 1600px){.stzh-card--service.sc-stzh-card .stzh-card__title.sc-stzh-card{font-size:var(--stzh-font-curve-h3-ultra-font-size, var(--stzh-font-hecto-font-size));line-height:var(--stzh-font-curve-h3-ultra-heading-line-height, var(--stzh-font-hecto-text-line-height));letter-spacing:var(--stzh-font-curve-h3-ultra-heading-letter-spacing, var(--stzh-font-hecto-text-letter-spacing))}}.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge);padding-top:var(--stzh-space-xlarge);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium)}@media screen and (min-width: 900px){.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxxxlarge)}}@media screen and (min-width: 900px){.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 900px) and (min-width: 900px){.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 900px) and (min-width: 1260px){.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxxlarge)}}.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding:var(--stzh-space-xxlarge)}}.stzh-card--has-header.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-xlarge);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium)}.stzh-card--has-header.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-top:var(--stzh-space-xsmall)}.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-medium);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-left:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-left:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-left:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-right:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-right:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-header.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-right:var(--stzh-space-xxlarge)}}.stzh-card--has-header.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-top:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--has-header.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-header.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-header.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-top:var(--stzh-space-xxlarge)}}.stzh-card--has-footer.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium)}@media screen and (min-width: 900px){.stzh-card--has-footer.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-footer.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-xxxlarge)}}.stzh-card--has-footer.stzh-card--has-content.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-medium)}.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-medium);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-left:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-left:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-left:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-right:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-right:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-footer.stzh-card--service.sc-stzh-card .stzh-card__footer.sc-stzh-card{padding-right:var(--stzh-space-xxlarge)}}.stzh-card--has-footer.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--has-footer.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--has-footer.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--has-footer.stzh-card--has-content.stzh-card--service.sc-stzh-card .stzh-card__content.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-card--has-tag.stzh-card--has-header.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-top:var(--stzh-space-xxxlarge)}.stzh-card--has-link.sc-stzh-card .stzh-card__title-link.sc-stzh-card,.stzh-card--has-link.sc-stzh-card .stzh-card__content.sc-stzh-card{transition:color var(--stzh-base-transition-animation-speed)}.stzh-card--has-link.sc-stzh-card .stzh-card__title-link.sc-stzh-card{color:var(--stzh-color-primary);-webkit-text-decoration-line:none;text-decoration-line:none;border-radius:var(--stzh-button-border-radius);cursor:pointer}.stzh-card--has-link.sc-stzh-card .stzh-card__title-link.sc-stzh-card::before,.stzh-card--has-link.sc-stzh-card .stzh-card__title-link.sc-stzh-card::after{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%}.stzh-card--has-link.sc-stzh-card .stzh-card__title-link.sc-stzh-card::after{z-index:1}.stzh-card--has-link.sc-stzh-card .stzh-card__card-actions.sc-stzh-card,.stzh-card--has-link.sc-stzh-card .stzh-card__header-meta.sc-stzh-card,.stzh-card--has-link.sc-stzh-card .stzh-card__footer-actionset.sc-stzh-card,.stzh-card--has-link.sc-stzh-card .stzh-card__footer-select-button.sc-stzh-card{position:relative;z-index:2}.stzh-card--has-link.sc-stzh-card:has(.stzh-card__image-link:hover) .stzh-card__title-link.sc-stzh-card,.stzh-card--has-link.sc-stzh-card:has(.stzh-card__image-link:hover) .stzh-card__content.sc-stzh-card,.stzh-card--has-link.sc-stzh-card:has(.stzh-card__title-link:hover) .stzh-card__title-link.sc-stzh-card,.stzh-card--has-link.sc-stzh-card:has(.stzh-card__title-link:hover) .stzh-card__content.sc-stzh-card{color:var(--stzh-color-secondary60)}.stzh-card--has-subtitle-interactive.sc-stzh-card .stzh-card__subtitle.sc-stzh-card{cursor:pointer;font-family:inherit;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;transition:color var(--stzh-base-transition-animation-speed);color:var(--stzh-color-primary)}.stzh-card--has-subtitle-interactive.sc-stzh-card .stzh-card__subtitle.sc-stzh-card:hover,.stzh-card--has-subtitle-interactive.sc-stzh-card .stzh-card__subtitle.sc-stzh-card:focus{color:var(--stzh-color-primary-hover)}.stzh-card--is-collapsible.sc-stzh-card .stzh-card__header.sc-stzh-card{cursor:pointer}.stzh-card--is-collapsed.sc-stzh-card .hide-when-collapsed.sc-stzh-card,.stzh-card--has-collapsed-header.sc-stzh-card .stzh-card__header.sc-stzh-card .hide-when-collapsed.sc-stzh-card{display:none}.stzh-card--is-collapsed.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge)}.stzh-card--is-collapsed.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-card--is-collapsed.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-card--is-collapsed.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-card--is-collapsed.stzh-card--service.sc-stzh-card .stzh-card__header.sc-stzh-card{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-card--is-collapsed.sc-stzh-card .stzh-card__card-action.sc-stzh-card,.stzh-card--has-collapsed-header.sc-stzh-card .stzh-card__card-action.sc-stzh-card{--icon-text-margin:0px;--badge-icon-text-margin:0px}.stzh-card--is-starred.sc-stzh-card .stzh-card__card-action.is-star.sc-stzh-card{color:var(--stzh-color-primary)}.stzh-card--is-starred.sc-stzh-card .stzh-card__card-action.is-star.sc-stzh-card:hover,.stzh-card--is-starred.sc-stzh-card .stzh-card__card-action.is-star.sc-stzh-card:focus{color:var(--stzh-color-primary-hover)}';const l=class{constructor(e){t(this,e);this.stzhClick=s(this,"stzhClick",7);this.stzhCollapse=s(this,"stzhCollapse",7);this.stzhSubtitleClick=s(this,"stzhSubtitleClick",7);this.stzhStarClick=s(this,"stzhStarClick",7);this.stzhHeaderActionClick=s(this,"stzhHeaderActionClick",7);this._subtitles=[];this.nodeChange=t=>{let s=false;t.forEach((t=>{if(t.target.closest("[slot]")||t.target.hasAttribute("slot")){s=true}}));if(s){a(this.element)}};this.headerClick=t=>{if(!this.collapsible){return}const s=["stzh-popover","stzh-tooltip","button","a","input","select","textarea","iframe","details","label","area"];const a=t.composedPath().map((t=>{var s;return(s=t.tagName)===null||s===void 0?void 0:s.toLowerCase()}));const e=a.some((t=>s.includes(t)));if(!e){this.collapsed=!this.collapsed;this.stzhCollapse.emit({component:"stzh-card",collapsed:this.collapsed})}};this.subtitleClick=t=>{if(this.subtitleInteractive){this.stzhSubtitleClick.emit({component:"stzh-card",originalEvent:t})}};this.starToggleClick=t=>{this.stzhStarClick.emit({component:"stzh-card",starred:this.starred,originalEvent:t})};this.actionClick=(t,s)=>{this.stzhHeaderActionClick.emit({component:"stzh-card",action:s,originalEvent:t})};this.arrowUpClick=()=>{const t=this.element.closest("stzh-sortable");if(t){const s=this.findSortableChildElement();t.moveItem(s,"up")}};this.arrowDownClick=()=>{const t=this.element.closest("stzh-sortable");if(t){const s=this.findSortableChildElement();t.moveItem(s,"down")}};this.updateElementInsideSortable=()=>{const t=this.element.closest("stzh-sortable");if(!t){this.sortable.removeEventListener("stzhUpdate",this.updateElementInsideSortable);this.sortable.removeEventListener("stzhDisable",this.updateElementInsideSortable);return}if(this.element){a(this.element)}};this.init=()=>{const t=this.element.querySelectorAll('stzh-chip[slot="meta"], [slot="meta"] stzh-chip');const s=this.element.querySelectorAll('stzh-text[slot="content"], [slot="meta"] stzh-text');t.forEach((t=>{r(t,{size:"small"})}));s.forEach((t=>{r(t,{size:"inherit"})}))};this.handleMutation=t=>{this.init();this.nodeChange(t)};this.handleSelectionChange=t=>{this.checked=t.detail.checked};this.handleCardClick=t=>{this.stzhClick.emit({component:"stzh-card",originalEvent:t})};this.localization=undefined;this.variant="default";this.collapsed=false;this.starred=false;this.starrable=false;this.selectable=false;this.checked=false;this.name="";this.href=undefined;this.target=undefined;this.value="";this.disabled=false;this.heading="";this.headingLevel="3";this.subtitle="";this.headerActions=[];this.headerActionsBadge=undefined;this.headerActionsBadgeType=undefined;this.footerActions=[];this.subtitleInteractive=false;this.sortableDisabled=false;this.collapsible=false;this.hideMovementActions=false;this.analyticsId=undefined}subtitleWatcher(t){if(typeof t==="string"){if(t===""){this._subtitles=[]}else{try{this._subtitles=JSON.parse(t)}catch(s){this._subtitles=[t]}}}else{this._subtitles=t}}headerActionsWatcher(t){if(typeof t==="string"){this._headerActions=JSON.parse(t)}else{this._headerActions=t}}footerActionsWatcher(t){if(typeof t==="string"){this._footerActions=JSON.parse(t)}else{this._footerActions=t}}findSortableChildElement(){const t=this.element.closest("stzh-sortable");if(t){let s=this.element;let a=null;if(typeof t.container==="function"){a=t.container()}else{a=t.container}while(s.parentElement&&s.parentElement!==a){s=s.parentElement}return s}}async componentWillLoad(){this.subtitleWatcher(this.subtitle);this.headerActionsWatcher(this.headerActions);this.footerActionsWatcher(this.footerActions);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"card")}}componentDidLoad(){this.sortable=this.element.closest("stzh-sortable");if(this.sortable){this.sortable.addEventListener("stzhUpdate",this.updateElementInsideSortable);this.sortable.addEventListener("stzhDisable",this.updateElementInsideSortable)}}componentDidRender(){requestAnimationFrame((()=>{var t,s,a;const e=this.analyticsId||((t=this.headingTextElement)===null||t===void 0?void 0:t.innerText);if(e){(s=this.imageLinkElement)===null||s===void 0?void 0:s.setAttribute("s-object-id",e);(a=this.titleLinkElement)===null||a===void 0?void 0:a.setAttribute("s-object-id",e)}}))}connectedCallback(){this.init();this.observer=new MutationObserver(this.handleMutation);this.observer.observe(this.element,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){var t,s,a,h;const r=d(this.element,"image");const n=d(this.element,"heading");const o=d(this.element,"footer");const l=d(this.element,"content");const z=`h${this.headingLevel}`;const p=`${this.subtitleInteractive?"button":"span"}`;const m=this.findSortableChildElement();const f=(m===null||m===void 0?void 0:m.parentElement)&&Array.from((t=m===null||m===void 0?void 0:m.parentElement)===null||t===void 0?void 0:t.children).indexOf(m)===0;const v=(m===null||m===void 0?void 0:m.parentElement)&&Array.from((s=m===null||m===void 0?void 0:m.parentElement)===null||s===void 0?void 0:s.children).indexOf(m)===((a=m===null||m===void 0?void 0:m.parentElement)===null||a===void 0?void 0:a.children.length)-1;const g=!this.sortableDisabled&&this.sortable&&!this.sortable.disabled;const _=g&&!this.hideMovementActions;const u=!!this.heading||n;const x=u||this._subtitles.length>0||this._headerActions.length>0||this.starrable||_;const b=o||this._footerActions.length>0||this.selectable;const w=this._headerActions.filter((t=>!!t.badge||t.badgeEmpty));const y={"stzh-card":true,"stzh-card--has-link":!!this.href,"stzh-card--has-image":r,"stzh-card--has-content":l,"stzh-card--has-subtitle":!!this.subtitle,"stzh-card--has-subtitle-interactive":!!this.subtitle&&this.subtitleInteractive,"stzh-card--has-header":x,"stzh-card--has-footer":b,"stzh-card--is-collapsible":this.collapsible,"stzh-card--is-collapsed":this.collapsed,"stzh-card--is-starred":this.starred,"stzh-card--is-checked":this.checked,"stzh-card--is-sortable":g,[`stzh-card--${this.variant}`]:!!this.variant};return e(i,{role:"listitem","aria-label":this.heading,"is-sortable":g},e("article",{class:y},e("a",{ref:t=>this.imageLinkElement=t,"aria-hidden":"true",tabindex:"-1",class:"stzh-card__image-link",href:this.href,target:this.target,onClick:this.href?this.handleCardClick:null},e("slot",{name:"image"})),e("div",{class:"stzh-card__content-wrapper"},e("stzh-icon",{class:"stzh-card__dnd",name:"drag"}),e("header",{class:"stzh-card__header",onClick:this.headerClick},e("div",{class:"stzh-card__header-top"},e("div",{class:"stzh-card__header-left"},e("div",{class:"stzh-card__title-area"},u&&e(z,{class:"stzh-card__title"},e("a",{ref:t=>this.titleLinkElement=t,class:"stzh-card__title-link",href:this.href,target:this.target,onClick:this.href?this.handleCardClick:null},e("div",{ref:t=>this.headingTextElement=t},this.heading?this.heading:e("slot",{name:"heading"})))),this._subtitles.length>0&&e(p,{class:"stzh-card__subtitle",onClick:this.subtitleClick},this._subtitles.map((t=>e("span",{class:"stzh-card__subtitle-text"},t)))))),e("div",{class:"stzh-card__header-right"},e("div",{class:"stzh-card__card-actions"},this.starrable&&e("stzh-tooltip",null,e("stzh-button",{class:"stzh-card__card-action is-star",icon:this.starred?"star-filled":"star",variant:"tertiary",size:"tiny",iconOnly:true,onClick:this.starToggleClick}),e("div",{slot:"content"},this.starred?this.localization.actionRemove:this.localization.actionAdd)),(this._headerActions.length>0||this.starrable||_)&&e("stzh-popover",{label:this.localization.actionsPopoverLabel,placement:"bottom-end",class:{"stzh-card__card-action-popover":true}},e("stzh-button",{class:"stzh-card__card-action is-further",variant:"tertiary",size:"tiny",icon:"more-vertical",iconOnly:true,badge:this.headerActionsBadge,badgeEmpty:w.length>0,badgePosition:"icon",badgeType:this.headerActionsBadgeType||((h=w[0])===null||h===void 0?void 0:h.badgeType)||"default"}),e("stzh-menu",{slot:"content"},this._headerActions.map((t=>e("stzh-menu-item",{icon:t.icon,badge:t.badge,badgeEmpty:t.badgeEmpty,badgeType:t.badgeType,onClick:s=>{this.actionClick(s,t)}},t.label))),_&&e(c,null,!f&&e("stzh-menu-item",{icon:"arrow-up",onClick:this.arrowUpClick},this.localization.actionMoveUp),!v&&e("stzh-menu-item",{icon:"arrow-down",onClick:this.arrowDownClick},this.localization.actionMoveDown)),this.starrable&&e("stzh-menu-item",{icon:this.starred?"star-filled":"star",onClick:this.starToggleClick},this.starred?this.localization.actionRemove:this.localization.actionAdd)))))),e("div",{class:"stzh-card__header-meta"},e("slot",{name:"meta"}))),e("div",{class:"stzh-card__content hide-when-collapsed"},e("slot",{name:"content"})),e("div",{class:"stzh-card__footer hide-when-collapsed"},e("slot",{name:"footer"},this._footerActions.length>0&&e("stzh-actionset",{class:"stzh-card__footer-actionset",actions:this._footerActions}),this.selectable&&e("stzh-button",{class:"stzh-card__footer-select-button",fullwidth:true,type:"radio",variant:"secondary",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,label:this.localization.select,onStzhChange:this.handleSelectionChange}))))))}get element(){return h(this)}static get watchers(){return{subtitle:["subtitleWatcher"],headerActions:["headerActionsWatcher"],footerActions:["footerActionsWatcher"]}}};l.style=o;const z=".sc-stzh-cardlist-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-cardlist-h{display:none}.sc-stzh-cardlist-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-cardlist-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-cardlist-h *.sc-stzh-cardlist,.sc-stzh-cardlist-h *.sc-stzh-cardlist::before,.sc-stzh-cardlist-h *.sc-stzh-cardlist::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-cardlist-h .has-focus.sc-stzh-cardlist{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-cardlist-h .stzh-fylingfocus-focused.sc-stzh-cardlist{outline-style:none !important}.sc-stzh-cardlist-h .stzh-fylingfocus-focused.sc-stzh-cardlist::-moz-focus-inner{border:0 !important}.stzh-cardlist__cards.sc-stzh-cardlist{display:grid;gap:var(--stzh-grid-gutter)}@media screen and (min-width: 600px){.stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 900px){.stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px){.stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1600px){.stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-grid-gutter-ultra)}}.stzh-cardlist__header.sc-stzh-cardlist{display:flex;justify-content:space-between;flex-direction:column;align-items:flex-start}@media screen and (min-width: 900px){.stzh-cardlist__header.sc-stzh-cardlist{flex-direction:row}}.stzh-cardlist__description.sc-stzh-cardlist{font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing);--stzh-icon-color:var(--stzh-color-primary70)}@media screen and (min-width: 900px){.stzh-cardlist__description.sc-stzh-cardlist{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}.stzh-cardlist__description.sc-stzh-cardlist:not(:empty){margin-bottom:var(--stzh-space-xsmall)}@media screen and (min-width: 900px){.stzh-cardlist__description.sc-stzh-cardlist:not(:empty){margin-bottom:0}}.stzh-cardlist__switch.sc-stzh-cardlist{--color:inherit;align-self:end}.stzh-cardlist.sc-stzh-cardlist:has(.stzh-cardlist__description:not(:empty)) .stzh-cardlist__header.sc-stzh-cardlist,.stzh-cardlist--has-toggle-link.sc-stzh-cardlist .stzh-cardlist__header.sc-stzh-cardlist{margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-cardlist.sc-stzh-cardlist:has(.stzh-cardlist__description:not(:empty)) .stzh-cardlist__header.sc-stzh-cardlist,.stzh-cardlist--has-toggle-link.sc-stzh-cardlist .stzh-cardlist__header.sc-stzh-cardlist{margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-cardlist.sc-stzh-cardlist:has(.stzh-cardlist__description:not(:empty)) .stzh-cardlist__header.sc-stzh-cardlist,.stzh-cardlist--has-toggle-link.sc-stzh-cardlist .stzh-cardlist__header.sc-stzh-cardlist{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-cardlist.sc-stzh-cardlist:has(.stzh-cardlist__description:not(:empty)) .stzh-cardlist__header.sc-stzh-cardlist,.stzh-cardlist--has-toggle-link.sc-stzh-cardlist .stzh-cardlist__header.sc-stzh-cardlist{margin-bottom:var(--stzh-space-xxlarge)}}.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation:not([has-lead])){row-gap:var(--stzh-space-xsmall)}@media screen and (min-width: 900px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation:not([has-lead])){row-gap:var(--stzh-space-small)}}@media screen and (min-width: 1260px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation:not([has-lead])){row-gap:var(--stzh-space-medium)}}@media screen and (min-width: 600px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation:not([has-lead])){padding-left:calc(((100% - (var(--stzh-grid-gutter-small) * 3)) / 4) + var(--stzh-grid-gutter-small))}}@media screen and (min-width: 900px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation:not([has-lead])){grid-template-columns:repeat(2, minmax(0, 1fr));padding-left:0}}.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){row-gap:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){row-gap:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){row-gap:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){row-gap:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){grid-template-columns:repeat(2, minmax(0, 1fr))}}@media screen and (min-width: 1260px){.stzh-cardlist--layout-subpages.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist:has(stzh-card-navigation[has-lead]){grid-template-columns:repeat(3, minmax(0, 1fr))}}.stzh-cardlist--layout-teasers.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{row-gap:var(--stzh-space-xxlarge)}@media screen and (min-width: 900px){.stzh-cardlist--layout-teasers.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{row-gap:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 1260px){.stzh-cardlist--layout-teasers.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{row-gap:var(--stzh-space-xxxxlarge)}}@media screen and (min-width: 600px){.stzh-cardlist--layout-teasers.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media screen and (min-width: 900px){.stzh-cardlist--layout-teasers.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{grid-template-columns:repeat(3, minmax(0, 1fr))}}.stzh-cardlist--layout-searchresults.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-space-xlarge)}.stzh-cardlist--layout-fullwidth.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-cardlist--layout-fullwidth.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-cardlist--layout-fullwidth.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-cardlist--layout-fullwidth.sc-stzh-cardlist .stzh-cardlist__cards.sc-stzh-cardlist{gap:var(--stzh-space-xxlarge)}}";const p=class{constructor(a){t(this,a);this.stzhCollapseAll=s(this,"stzhCollapseAll",7);this.collapseClick=()=>{const t=Array.from(this.element.querySelectorAll("stzh-card"));t.forEach((t=>{if(t.collapsible){t.collapsed=!this.allCollapsed}}));this.allCollapsed=!this.allCollapsed;this.stzhCollapseAll.emit({component:"stzh-cardlist",allCollapsed:this.allCollapsed})};this.updateCollapsedState=()=>{const t=Array.from(this.element.querySelectorAll("stzh-card"));this.allCollapsed=!t.some((t=>!t.collapsed))};this.sortableGhostClone=t=>{const s=t.tagName.toLowerCase()==="stzh-card"?t:t.querySelector("stzh-card");if(s){const s=t;const a=t.cloneNode(true);a.heading=s.heading;a.subtitle=s.subtitle;a.headerActions=s.headerActions;a.footerActions=s.footerActions;a.hideMovementActions=s.hideMovementActions;return a}};this.localization=undefined;this.layout="fullwidth";this.description=undefined;this.showToggleLink=false;this.sortableEnabled=false;this.sortableDataIdAttribute="data-id";this.allCollapsed=false}collapseListener(){this.updateCollapsedState()}async componentWillLoad(){if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"cardlist")}}componentDidLoad(){this.updateCollapsedState()}render(){const t={"stzh-cardlist":true,"stzh-cardlist--has-toggle-link":this.showToggleLink,[`stzh-cardlist--layout-${this.layout}`]:!!this.layout};return e(i,null,e("div",{class:t},e("div",{class:"stzh-cardlist__header"},e("div",{class:"stzh-cardlist__description"},this.description?this.description:e("slot",{name:"description"})),this.showToggleLink&&e("stzh-link",{class:"stzh-cardlist__switch",icon:this.allCollapsed?"list-expanded":"list-shrinked",label:this.allCollapsed?this.localization.expandAll:this.localization.collapseAll,onClick:this.collapseClick})),e("stzh-sortable",{disabled:!this.sortableEnabled,dataIdAttribute:this.sortableDataIdAttribute,ghostClone:this.sortableGhostClone},e("div",{class:"stzh-cardlist__cards",role:"list"},e("slot",null)))))}get element(){return h(this)}};p.style=z;const m=".sc-stzh-chipselect-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-chipselect-h{display:none}.sc-stzh-chipselect-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-chipselect-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-chipselect-h *.sc-stzh-chipselect,.sc-stzh-chipselect-h *.sc-stzh-chipselect::before,.sc-stzh-chipselect-h *.sc-stzh-chipselect::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-chipselect-h .has-focus.sc-stzh-chipselect{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-chipselect-h .stzh-fylingfocus-focused.sc-stzh-chipselect{outline-style:none !important}.sc-stzh-chipselect-h .stzh-fylingfocus-focused.sc-stzh-chipselect::-moz-focus-inner{border:0 !important}[disabled].sc-stzh-chipselect-h:not([disabled=false]){--description-color:var(--stzh-color-grey70)}.stzh-chipselect__marker-symbol.sc-stzh-chipselect{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.stzh-chipselect__marker-text.sc-stzh-chipselect{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-chipselect__description-wrapper.sc-stzh-chipselect{display:flex;flex-direction:column-reverse;min-height:var(--description-min-height, var(--stzh-description-min-height, none))}.stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect__description.sc-stzh-chipselect{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height)}.stzh-chipselect__error.sc-stzh-chipselect{color:var(--stzh-color-error60)}.stzh-chipselect__error-list.sc-stzh-chipselect{list-style:none;margin:0;padding:0}.stzh-chipselect__description.sc-stzh-chipselect{display:flex;align-items:flex-start;color:var(--stzh-input-description-color, var(--description-color, var(--stzh-color-coolgrey70)));transition:color var(--stzh-base-transition-animation-speed)}.stzh-chipselect__description-long.sc-stzh-chipselect{margin-right:var(--stzh-space-xxsmall);margin-top:0.125rem}@supports (font: -apple-system-body) and (-webkit-appearance: none){.stzh-chipselect__description-long.sc-stzh-chipselect{margin-top:0}}.stzh-chipselect__description-long-popover.sc-stzh-chipselect{--width:auto;--max-width:27.3125rem}.stzh-chipselect__description-long-button.sc-stzh-chipselect{display:flex;justify-content:center;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;padding:0;border:none;background-color:transparent;border-radius:0.5rem;cursor:pointer}.stzh-chipselect.sc-stzh-chipselect stzh-icon.stzh-chipselect__description-long-icon.sc-stzh-chipselect{--size:var(--stzh-icon-size-xsmall)}.stzh-chipselect--has-error.sc-stzh-chipselect .stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect--has-description.sc-stzh-chipselect .stzh-chipselect__description.sc-stzh-chipselect{margin-top:var(--stzh-space-xxxsmall)}.stzh-chipselect__chips.sc-stzh-chipselect{display:flex;align-items:center;flex-wrap:wrap;margin:calc(var(--stzh-space-small) / -2) calc(var(--stzh-space-xsmall) / -2);border-radius:var(--stzh-button-border-radius)}@media screen and (max-width: 899px){.stzh-chipselect__chips.sc-stzh-chipselect{display:none}}.stzh-chipselect__chip.sc-stzh-chipselect{margin:calc(var(--stzh-space-small) / 2) calc(var(--stzh-space-xsmall) / 2)}.stzh-chipselect__chip.is-focused.sc-stzh-chipselect,.stzh-chipselect__chip.is-focused[active].sc-stzh-chipselect:not([active=false]){--border-color:var(--stzh-color-primary-hover)}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-chipselect__chip.is-focused.sc-stzh-chipselect,.stzh-chipselect__chip.is-focused[active].sc-stzh-chipselect:not([active=false]){--border-color:Highlight}}.stzh-chipselect__chip.is-focused[active].sc-stzh-chipselect:not([active=false]){--background-color:var(--stzh-color-primary-hover)}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-chipselect__chip.is-focused[active].sc-stzh-chipselect:not([active=false]){--background-color:Canvas}}@media screen and (min-width: 900px){.stzh-chipselect__dropdown.sc-stzh-chipselect{display:none}}@media screen and (max-width: 899px){.stzh-chipselect__description-wrapper.sc-stzh-chipselect{display:none}}.stzh-chipselect--has-error.sc-stzh-chipselect .stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect--has-description.sc-stzh-chipselect .stzh-chipselect__description.sc-stzh-chipselect{margin-top:var(--stzh-space-xsmall)}";let f=0;const v=class{constructor(a){t(this,a);this.stzhChange=s(this,"stzhChange",7);this._data=[];this._dataDropdown=[];this.handleReset=async()=>{this.value=this.defaultValue};this.handleChipClick=async(t,s)=>{this.value=t.value;this.activeFocusOptionIndex=s;await this.waitForNextRender();this.stzhChange.emit({component:"stzh-chipselect",value:this.value})};this.handleDropdownChange=async t=>{this.value=Array.isArray(t.detail.value)?t.detail.value[0]:t.detail.value;this.activeFocusOptionIndex=this._data.findIndex((t=>t.value===this.value));await this.waitForNextRender();this.stzhChange.emit({component:"stzh-chipselect",value:this.value})};this.handleKeydown=t=>{let s=null;const a=this.activeFocusOptionIndex;if(t.key==="ArrowUp"||t.key==="ArrowLeft"){t.preventDefault();if(a>0){s=a-1}}else if(t.key==="ArrowDown"||t.key==="ArrowRight"){t.preventDefault();if(a<this._data.length-1){s=a+1}}else if(t.key===" "||t.key==="Enter"){t.preventDefault();this.value=this._data[a].value;this.stzhChange.emit({component:"stzh-chipselect",value:this.value})}if(s!==null){this.activeFocusOptionIndex=s}};this.localization=undefined;this.data=[];this.name=undefined;this.label="";this.value="";this.defaultValue="";this.description=undefined;this.descriptionLong=undefined;this.descriptionLongTitle=undefined;this.error=undefined;this.invalid=false;this.required=false;this.disabled=false;this.hideOptional=false;this.a11yDescribedby="";this.activeFocusOptionIndex=0}resetListener(t){if(t.target.contains(this.element)){requestAnimationFrame((()=>{this.handleReset()}))}}dataWatcher(t){if(typeof t==="string"){this._data=JSON.parse(t)}else{this._data=t}this._dataDropdown=this._data.map((t=>({text:t.counter?`${t.label} (${t.counter})`:t.label,value:t.value})))}errorWatcher(t){if(typeof t==="string"){try{this._error=JSON.parse(t)}catch(s){if(t){this._error=[t]}else{this._error=[]}}}else if(t){this._error=t}else{this._error=[]}}waitForNextRender(){return new Promise((t=>this.renderPromiseResolve=t))}componentDidRender(){if(this.renderPromiseResolve){this.renderPromiseResolve()}}async componentWillLoad(){this.id=`stzh-chipselect-${f++}`;this.dataWatcher(this.data);this.errorWatcher(this.error);this.defaultValue=this.defaultValue||this.value;if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"chipselect")}}render(){const t=!!this.description;const s=!!this.descriptionLong;const a=!!this.error;const h={"stzh-chipselect":true,"stzh-chipselect--has-description":t,"stzh-chipselect--has-description-long":s,"stzh-chipselect--has-error":a,"stzh-chipselect--is-invalid":this.invalid||a,"stzh-chipselect--is-disabled":this.disabled,"stzh-chipselect--is-required":this.required};return e(i,{"is-invalid":this.invalid||a},e("div",{class:h},e("input",{type:"hidden",name:this.name,value:this.value,defaultValue:this.defaultValue}),this._data.length>0&&e(c,null,e("div",{class:"stzh-chipselect__chips",role:"listbox",tabindex:"0","aria-multiselectable":"false","aria-activedescendant":`${this.id}-option-${this.activeFocusOptionIndex}`,"aria-describedby":`${this.id}-description ${this.a11yDescribedby}`,onKeyDown:this.handleKeydown},this._data.map(((t,s)=>e("stzh-chip",{role:"option",class:{"stzh-chipselect__chip":true,"is-focused":this.activeFocusOptionIndex===s},label:t.label,counter:t.counter,icon:t.icon,type:t.type,inverted:t.inverted,variant:t.variant,size:t.size,disabled:this.disabled||t.disabled,active:this.value===t.value,"aria-selected":this.value===t.value?"true":"false",id:`${this.id}-option-${s}`,a11yTabindex:"-1",onClick:()=>this.handleChipClick(t,s)})))),e(n,{classPrefix:"stzh-chipselect",id:`${this.id}-description`,error:this._error,description:this.description,descriptionLong:this.descriptionLong,descriptionLongTitle:this.descriptionLongTitle,descriptionLongUsed:s,moreInfoButtonLabel:this.localization.$globals.moreInfoButtonLabel}),e("stzh-dropdown",{class:"stzh-chipselect__dropdown",disabled:this.disabled,error:this._error,description:this.description,descriptionLong:this.descriptionLong,required:this.required,invalid:this.invalid,items:[this.value],label:this.label,options:this._dataDropdown,hideOptional:this.hideOptional,onStzhChange:this.handleDropdownChange}))))}get element(){return h(this)}static get watchers(){return{data:["dataWatcher"],error:["errorWatcher"]}}};v.style=m;export{l as stzh_card,p as stzh_cardlist,v as stzh_chipselect};
|
|
2
|
+
//# sourceMappingURL=p-b34a4e7c.entry.js.map
|