hr-design-system-handlebars 1.11.0 → 1.11.2
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/CHANGELOG.md +24 -0
- package/dist/assets/index.css +6 -9
- package/dist/views/components/content_nav/content_nav_dropdown.hbs +1 -1
- package/dist/views/components/content_nav/content_nav_list.hbs +1 -1
- package/package.json +1 -1
- package/src/stories/views/components/content_nav/content_nav_dropdown.hbs +1 -1
- package/src/stories/views/components/content_nav/content_nav_list.hbs +1 -1
- package/src/stories/views/components/page/page.stories.mdx +84 -10
- package/src/stories/views/components/page/page_player.stories.mdx +10 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# v1.11.2 (Tue Mar 21 2023)
|
|
2
|
+
|
|
3
|
+
#### 🐛 Bug Fix
|
|
4
|
+
|
|
5
|
+
- Bugfix/dpe 2198 z indexes sometimes clash with old navi [#592](https://github.com/mumprod/hr-design-system-handlebars/pull/592) ([@StefanVesper](https://github.com/StefanVesper))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- SonicSoulSurfer ([@StefanVesper](https://github.com/StefanVesper))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v1.11.1 (Mon Mar 20 2023)
|
|
14
|
+
|
|
15
|
+
#### 🐛 Bug Fix
|
|
16
|
+
|
|
17
|
+
- Documentation Page [#591](https://github.com/mumprod/hr-design-system-handlebars/pull/591) ([@Paul-Atreidis](https://github.com/Paul-Atreidis))
|
|
18
|
+
|
|
19
|
+
#### Authors: 1
|
|
20
|
+
|
|
21
|
+
- [@Paul-Atreidis](https://github.com/Paul-Atreidis)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
1
25
|
# v1.10.0 (Mon Mar 20 2023)
|
|
2
26
|
|
|
3
27
|
#### 🚀 Enhancement
|
package/dist/assets/index.css
CHANGED
|
@@ -1056,12 +1056,6 @@ video {
|
|
|
1056
1056
|
.bottom-15 {
|
|
1057
1057
|
bottom: 3.75rem;
|
|
1058
1058
|
}
|
|
1059
|
-
.z-100 {
|
|
1060
|
-
z-index: 100;
|
|
1061
|
-
}
|
|
1062
|
-
.z-1003 {
|
|
1063
|
-
z-index: 1003;
|
|
1064
|
-
}
|
|
1065
1059
|
.z-10 {
|
|
1066
1060
|
z-index: 10;
|
|
1067
1061
|
}
|
|
@@ -1080,6 +1074,9 @@ video {
|
|
|
1080
1074
|
.-z-1000 {
|
|
1081
1075
|
z-index: -1000;
|
|
1082
1076
|
}
|
|
1077
|
+
.z-100 {
|
|
1078
|
+
z-index: 100;
|
|
1079
|
+
}
|
|
1083
1080
|
.z-9999 {
|
|
1084
1081
|
z-index: 9999;
|
|
1085
1082
|
}
|
|
@@ -2667,7 +2664,7 @@ video {
|
|
|
2667
2664
|
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
|
|
2668
2665
|
}
|
|
2669
2666
|
.counter-reset {
|
|
2670
|
-
counter-reset:
|
|
2667
|
+
counter-reset: cnt1679391553484;
|
|
2671
2668
|
}
|
|
2672
2669
|
.line-clamp-4 {
|
|
2673
2670
|
overflow: hidden;
|
|
@@ -2901,7 +2898,7 @@ video {
|
|
|
2901
2898
|
--tw-ring-color: rgba(255, 255, 255, 0.5);
|
|
2902
2899
|
}
|
|
2903
2900
|
.-ordered {
|
|
2904
|
-
counter-increment:
|
|
2901
|
+
counter-increment: cnt1679391553484 1;
|
|
2905
2902
|
}
|
|
2906
2903
|
.-ordered::before {
|
|
2907
2904
|
position: absolute;
|
|
@@ -2917,7 +2914,7 @@ video {
|
|
|
2917
2914
|
letter-spacing: .0125em;
|
|
2918
2915
|
--tw-text-opacity: 1;
|
|
2919
2916
|
color: rgba(0, 0, 0, var(--tw-text-opacity));
|
|
2920
|
-
content: counter(
|
|
2917
|
+
content: counter(cnt1679391553484);
|
|
2921
2918
|
}
|
|
2922
2919
|
/*! ****************************/
|
|
2923
2920
|
/*! text-shadow */
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<span id="dropdown__label--{{getRandom}}" class="hidden">{{defaultIfEmpty _hiddenNavigationLabel "Unternavigation"}}</span>
|
|
9
9
|
<button
|
|
10
|
-
class="content-nav-dropdown_dropdown{{#if this.isDropdown}} -isDropdown{{/if}}{{#if this.isMixed}} -isMixed{{/if}} ds-link-inset relative flex w-full h-10 mb-0 overflow-hidden bg-white border md:mx-0 z-
|
|
10
|
+
class="content-nav-dropdown_dropdown{{#if this.isDropdown}} -isDropdown{{/if}}{{#if this.isMixed}} -isMixed{{/if}} ds-link-inset relative flex w-full h-10 mb-0 overflow-hidden bg-white border md:mx-0 z-11 border-content-nav whitespace-nowrap text-content-nav fill-content-nav"
|
|
11
11
|
@click="contentNavDropdownIsOpen = !contentNavDropdownIsOpen; $dispatch('hr:global:resetinputAutoSuggest');"
|
|
12
12
|
|
|
13
13
|
{{#if this.isMixed}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<ul class="flex bg-transparent flex-wrap{{#if this.isListOrFlow}} w-full gap-x-2 gap-y-2{{/if}}
|
|
1
|
+
<ul class="flex bg-transparent flex-wrap{{#if this.isListOrFlow}} w-full gap-x-2 gap-y-2{{/if}} md:!px-0 last:border-b-0{{#if this.isDropdown }} w-full{{/if}}"
|
|
2
2
|
>
|
|
3
3
|
|
|
4
4
|
{{~#each this.contentNavEntries~}}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"repository": "https://github.com/szuelch/hr-design-system-handlebars",
|
|
9
|
-
"version": "1.11.
|
|
9
|
+
"version": "1.11.2",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
12
|
"storybook": "start-storybook -p 6006 public",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<span id="dropdown__label--{{getRandom}}" class="hidden">{{defaultIfEmpty _hiddenNavigationLabel "Unternavigation"}}</span>
|
|
9
9
|
<button
|
|
10
|
-
class="content-nav-dropdown_dropdown{{#if this.isDropdown}} -isDropdown{{/if}}{{#if this.isMixed}} -isMixed{{/if}} ds-link-inset relative flex w-full h-10 mb-0 overflow-hidden bg-white border md:mx-0 z-
|
|
10
|
+
class="content-nav-dropdown_dropdown{{#if this.isDropdown}} -isDropdown{{/if}}{{#if this.isMixed}} -isMixed{{/if}} ds-link-inset relative flex w-full h-10 mb-0 overflow-hidden bg-white border md:mx-0 z-11 border-content-nav whitespace-nowrap text-content-nav fill-content-nav"
|
|
11
11
|
@click="contentNavDropdownIsOpen = !contentNavDropdownIsOpen; $dispatch('hr:global:resetinputAutoSuggest');"
|
|
12
12
|
|
|
13
13
|
{{#if this.isMixed}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<ul class="flex bg-transparent flex-wrap{{#if this.isListOrFlow}} w-full gap-x-2 gap-y-2{{/if}}
|
|
1
|
+
<ul class="flex bg-transparent flex-wrap{{#if this.isListOrFlow}} w-full gap-x-2 gap-y-2{{/if}} md:!px-0 last:border-b-0{{#if this.isDropdown }} w-full{{/if}}"
|
|
2
2
|
>
|
|
3
3
|
|
|
4
4
|
{{~#each this.contentNavEntries~}}
|
|
@@ -17,9 +17,6 @@ const NavigationDataWithTeaser2 = structuredClone(
|
|
|
17
17
|
const NavigationDataWithTeaser3 = structuredClone(
|
|
18
18
|
Object.assign({}, NavigationData3, hero_teaser.logicItem.includeModel)
|
|
19
19
|
)
|
|
20
|
-
const NavigationDataWithPlayer = structuredClone(
|
|
21
|
-
Object.assign({}, NavigationData, audio_player_teaser.logicItem.includeModel, hero_teaser.logicItem.includeModel)
|
|
22
|
-
)
|
|
23
20
|
|
|
24
21
|
<Meta
|
|
25
22
|
title="Komponenten/Page/Page"
|
|
@@ -41,7 +38,90 @@ export const Template = (args, { globals: { customConditionalToolbar } }) => {
|
|
|
41
38
|
return page({ brand, ...args })
|
|
42
39
|
}
|
|
43
40
|
|
|
44
|
-
# Page
|
|
41
|
+
# Page (allgemein)
|
|
42
|
+
|
|
43
|
+
Das Grundgerüst für das HTML-Markup einer Seite (in diesem Fall eine Index-Seite bzw. Übersichtsseite).
|
|
44
|
+
Stand 2023: Inhaltsseiten werden derzeit noch nicht berücksichtigt.
|
|
45
|
+
Für gemischte Inhalte siehe ```Player-Interaktion```
|
|
46
|
+
|
|
47
|
+
# Grundaufbau
|
|
48
|
+
Um eine Seite zu erzeugen ist ein initiales HTML-Markup notwendig. Der Kopf ```<head>``` ist dabei statisch,
|
|
49
|
+
Inhalte werden im ```<body>```-Tag abgelegt. Der Kopf entspricht einem klassischen HTML-Kopf mit Titel und Metadaten-Angaben.
|
|
50
|
+
|
|
51
|
+
## Markup im Kopf
|
|
52
|
+
```html
|
|
53
|
+
<!DOCTYPE html>
|
|
54
|
+
<html
|
|
55
|
+
class="no-js no-js-burgerMenu preload noMicroInteraction"
|
|
56
|
+
data-theme="hessenschau"
|
|
57
|
+
lang="de"
|
|
58
|
+
>
|
|
59
|
+
<head>
|
|
60
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
|
61
|
+
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
|
|
62
|
+
<title>hessenschau.de | Nachrichten aus Hessen</title>
|
|
63
|
+
<meta name="application-name" content="hessenschau.de" />
|
|
64
|
+
<meta name="copyright" content="Hessischer Rundfunk, Frankfurt, Germany" />
|
|
65
|
+
<meta name="author" content="hessenschau.de, Frankfurt, Germany" />
|
|
66
|
+
<meta name="publisher" content="hessenschau.de" />
|
|
67
|
+
<meta name="language" content="Deutsch" />
|
|
68
|
+
</head>
|
|
69
|
+
|
|
70
|
+
<body itemscope itemtype="http://schema.org/WebPage">
|
|
71
|
+
<div class="js-pageSwap">
|
|
72
|
+
|
|
73
|
+
MARKUP FÜR INHALTE ...
|
|
74
|
+
|
|
75
|
+
<div>
|
|
76
|
+
</body>
|
|
77
|
+
</html>
|
|
78
|
+
```
|
|
79
|
+
## Markup für Inhalte
|
|
80
|
+
|
|
81
|
+
Initial wird die Seitennavigation - das Menü - der Seite eingefügt. Wahlweise Abwandlungen der Seitennavigation
|
|
82
|
+
(mit Subnavigation oder Unwetterwarnung), die über unterschiedlichen Daten-JSONS ausgeformt werden. Die Daten-JSONS hierfür liegen
|
|
83
|
+
unter ```components/site_header/fixtures``` und die Komponente selber:
|
|
84
|
+
|
|
85
|
+
```html
|
|
86
|
+
{{> components/site_header/header }}
|
|
87
|
+
```
|
|
88
|
+
Dann folgen die Inhalte in diesem Fall Teaser, die über das Grid-Layout angeordnet werden. Die Komponenten für die Teaser
|
|
89
|
+
liegen unter ```components/teaser/``` und lauten auf ```teaser_``` und dessen Ausprägung:
|
|
90
|
+
<ul>
|
|
91
|
+
<li>standard (Standard => Bild oben, Text darunter)</li>
|
|
92
|
+
<li>alternativ (Alternativ => Bild links, Text rechts)</li>
|
|
93
|
+
<li>event_calendar (Event-Kalender)</li>
|
|
94
|
+
<li>poster (Poster => Text auf Bild)</li>
|
|
95
|
+
<li>indextext (Nur Text)</li>
|
|
96
|
+
<li>stage (Stage => Sonderform über die ganze Seite)</li>
|
|
97
|
+
</ul>
|
|
98
|
+
|
|
99
|
+
Auch hier bestimmen die Daten-JSONS, das Bild und den Text. Die Daten-JSONS hierfür liegen
|
|
100
|
+
unter ```components/teaser/fixtures``` der Aufruf der Komponente selber:
|
|
101
|
+
|
|
102
|
+
```html
|
|
103
|
+
{{> components/teaser/teaser_standard }}
|
|
104
|
+
```
|
|
105
|
+
Gekapselt wird die Teaser-Komponente in einer ```<section>```. Es können beliebig viele Sections mit entsprechenden Teaser-Komponenten
|
|
106
|
+
in das folgende Markup angelegt werden:
|
|
107
|
+
|
|
108
|
+
```html
|
|
109
|
+
<main onclick="void(0)" role="main" id="content" class="flex items-center justify-center">
|
|
110
|
+
<div class="grid grid-page">
|
|
111
|
+
<div class="{{> components/grid/grid_group_wrapper_classes }}">
|
|
112
|
+
|
|
113
|
+
<section class="grid items-start content-start grid-cols-12 col-span-12 bg-white gap-x-6 gap-y-6 ">
|
|
114
|
+
{{> components/teaser/teaser_standard }}
|
|
115
|
+
</section>
|
|
116
|
+
WEITERE TEASER...
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</main>
|
|
120
|
+
|
|
121
|
+
</div>
|
|
122
|
+
```
|
|
123
|
+
Die Ausformung der Teaser basiert immer auf dem selben Daten-JSON, d.h. Bild und Texte sind immer identisch, lediglich die Größe und der
|
|
124
|
+
Teaser-Typ variieren.
|
|
45
125
|
|
|
46
126
|
<Canvas withToolbar>
|
|
47
127
|
<Story name="Default" args={NavigationDataWithTeaser}>
|
|
@@ -61,10 +141,4 @@ export const Template = (args, { globals: { customConditionalToolbar } }) => {
|
|
|
61
141
|
</Story>
|
|
62
142
|
</Canvas>
|
|
63
143
|
|
|
64
|
-
<Canvas>
|
|
65
|
-
<Story name="Player-Interaktion" args={NavigationDataWithPlayer}>
|
|
66
|
-
{Template.bind({})}
|
|
67
|
-
</Story>
|
|
68
|
-
</Canvas>
|
|
69
|
-
|
|
70
144
|
<ArgsTable story="Default" />
|
|
@@ -23,7 +23,16 @@ export const Template = (args, { globals: { customConditionalToolbar } }) => {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
# Page
|
|
26
|
+
# Page (gemischte Inhalte)
|
|
27
|
+
|
|
28
|
+
Hier werden nur gemischte Inhalte betrachtet. Hierfür werden Daten-JSONS unterschiedlicher
|
|
29
|
+
Ausprägung (Audio, Podcast) gemischt und herangezogen. Um einer Komponente diese spezifische Inhalte zu übergeben
|
|
30
|
+
wird sie wie folgt aufgerufen:
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
{{> components/teaser/teaser_standard this.teaser_standard_50_audio.logicItem.includeModel}}
|
|
34
|
+
{{> components/teaser/podcast/podcast this.teaser_podcast_50.logicItem.includeModel}}
|
|
35
|
+
```
|
|
27
36
|
|
|
28
37
|
<Canvas>
|
|
29
38
|
<Story name="Player-Interaktion" args={AudioDataMixed}>
|