@oiz/stzh-components 3.0.0-beta1 → 3.0.0-beta2

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.
Files changed (187) hide show
  1. package/dist/cjs/{app-globals-d508a3bc.js → app-globals-4968ae1c.js} +2 -2
  2. package/dist/cjs/{app-globals-d508a3bc.js.map → app-globals-4968ae1c.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  5. package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/stzh-components.cjs.js +2 -2
  7. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  8. package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-cta.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-gallery.cjs.entry.js +13 -10
  12. package/dist/cjs/stzh-gallery.cjs.entry.js.map +1 -1
  13. package/dist/cjs/stzh-header.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-pagebottom.cjs.entry.js +15 -9
  16. package/dist/cjs/stzh-pagebottom.cjs.entry.js.map +1 -1
  17. package/dist/cjs/{stzh-share.cjs.entry.js → stzh-print_2.cjs.entry.js} +53 -11
  18. package/dist/cjs/stzh-print_2.cjs.entry.js.map +1 -0
  19. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  21. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +15 -9
  22. package/dist/cjs/stzh-sticky-actions.cjs.entry.js.map +1 -1
  23. package/dist/cjs/stzh-sticky.cjs.entry.js +13 -4
  24. package/dist/cjs/stzh-sticky.cjs.entry.js.map +1 -1
  25. package/dist/cjs/stzh-tooltip.cjs.entry.js +2 -1
  26. package/dist/cjs/stzh-tooltip.cjs.entry.js.map +1 -1
  27. package/dist/collection/assets/i18n/de.json +3 -0
  28. package/dist/collection/assets/i18n/en.json +3 -0
  29. package/dist/collection/assets/media/icons/mono/facebook.svg +1 -1
  30. package/dist/collection/assets/media/icons/mono/linkedin.svg +1 -1
  31. package/dist/collection/assets/media/icons/mono/mail.svg +1 -1
  32. package/dist/collection/assets/media/icons/mono/xing.svg +1 -1
  33. package/dist/collection/assets/meta/icons-preview.html +4 -4
  34. package/dist/collection/components/stzh-button/stzh-button.css +1 -1
  35. package/dist/collection/components/stzh-cspace/stzh-cspace.css +11 -0
  36. package/dist/collection/components/stzh-cta/stzh-cta.css +1 -1
  37. package/dist/collection/components/stzh-cta/stzh-cta.js +1 -1
  38. package/dist/collection/components/stzh-cta/stzh-cta.js.map +1 -1
  39. package/dist/collection/components/stzh-gallery/stzh-gallery.e2e.js +1 -0
  40. package/dist/collection/components/stzh-gallery/stzh-gallery.e2e.js.map +1 -1
  41. package/dist/collection/components/stzh-gallery/stzh-gallery.js +32 -9
  42. package/dist/collection/components/stzh-gallery/stzh-gallery.js.map +1 -1
  43. package/dist/collection/components/stzh-gallery/stzh-gallery.stories.js +9 -0
  44. package/dist/collection/components/stzh-header/stzh-header.js +1 -1
  45. package/dist/collection/components/stzh-header/stzh-header.js.map +1 -1
  46. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.css +54 -13
  47. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.e2e.js +2 -1
  48. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.e2e.js.map +1 -1
  49. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.js +56 -12
  50. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.js.map +1 -1
  51. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.localization.js +2 -0
  52. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.localization.js.map +1 -0
  53. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.stories.js +87 -9
  54. package/dist/collection/components/stzh-scrollup/stzh-scrollup.stories.js +20 -18
  55. package/dist/collection/components/stzh-share/stzh-share.css +1 -43
  56. package/dist/collection/components/stzh-share/stzh-share.js +10 -10
  57. package/dist/collection/components/stzh-share/stzh-share.js.map +1 -1
  58. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +10 -0
  59. package/dist/collection/components/stzh-sticky/stzh-sticky.css +1 -1
  60. package/dist/collection/components/stzh-sticky/stzh-sticky.js +13 -4
  61. package/dist/collection/components/stzh-sticky/stzh-sticky.js.map +1 -1
  62. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js +15 -9
  63. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js.map +1 -1
  64. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.stories.js +20 -18
  65. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +3 -0
  66. package/dist/collection/components/stzh-tooltip/stzh-tooltip.js +19 -0
  67. package/dist/collection/components/stzh-tooltip/stzh-tooltip.js.map +1 -1
  68. package/dist/components/index.js +1 -1
  69. package/dist/components/stzh-button2.js +1 -1
  70. package/dist/components/stzh-button2.js.map +1 -1
  71. package/dist/components/stzh-cspace.js +1 -1
  72. package/dist/components/stzh-cspace.js.map +1 -1
  73. package/dist/components/stzh-cta.js +1 -1
  74. package/dist/components/stzh-cta.js.map +1 -1
  75. package/dist/components/stzh-gallery.js +16 -11
  76. package/dist/components/stzh-gallery.js.map +1 -1
  77. package/dist/components/stzh-header.js +1 -1
  78. package/dist/components/stzh-header.js.map +1 -1
  79. package/dist/components/stzh-pagebottom.js +39 -12
  80. package/dist/components/stzh-pagebottom.js.map +1 -1
  81. package/dist/components/stzh-print.js +1 -58
  82. package/dist/components/stzh-print.js.map +1 -1
  83. package/dist/{esm/stzh-print.entry.js → components/stzh-print2.js} +25 -11
  84. package/dist/components/stzh-print2.js.map +1 -0
  85. package/dist/components/stzh-share2.js +23 -11
  86. package/dist/components/stzh-share2.js.map +1 -1
  87. package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
  88. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  89. package/dist/components/stzh-sticky-actions.js +15 -9
  90. package/dist/components/stzh-sticky-actions.js.map +1 -1
  91. package/dist/components/stzh-sticky2.js +13 -4
  92. package/dist/components/stzh-sticky2.js.map +1 -1
  93. package/dist/components/stzh-tooltip2.js +3 -1
  94. package/dist/components/stzh-tooltip2.js.map +1 -1
  95. package/dist/esm/{app-globals-984d1c64.js → app-globals-924beb17.js} +2 -2
  96. package/dist/esm/{app-globals-984d1c64.js.map → app-globals-924beb17.js.map} +1 -1
  97. package/dist/esm/loader.js +2 -2
  98. package/dist/esm/stzh-badge_3.entry.js +1 -1
  99. package/dist/esm/stzh-badge_3.entry.js.map +1 -1
  100. package/dist/esm/stzh-components.js +2 -2
  101. package/dist/esm/stzh-cspace.entry.js +1 -1
  102. package/dist/esm/stzh-cspace.entry.js.map +1 -1
  103. package/dist/esm/stzh-cta.entry.js +1 -1
  104. package/dist/esm/stzh-cta.entry.js.map +1 -1
  105. package/dist/esm/stzh-gallery.entry.js +13 -10
  106. package/dist/esm/stzh-gallery.entry.js.map +1 -1
  107. package/dist/esm/stzh-header.entry.js +1 -1
  108. package/dist/esm/stzh-header.entry.js.map +1 -1
  109. package/dist/esm/stzh-pagebottom.entry.js +15 -9
  110. package/dist/esm/stzh-pagebottom.entry.js.map +1 -1
  111. package/dist/esm/{stzh-share.entry.js → stzh-print_2.entry.js} +54 -13
  112. package/dist/esm/stzh-print_2.entry.js.map +1 -0
  113. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
  114. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  115. package/dist/esm/stzh-sticky-actions.entry.js +15 -9
  116. package/dist/esm/stzh-sticky-actions.entry.js.map +1 -1
  117. package/dist/esm/stzh-sticky.entry.js +13 -4
  118. package/dist/esm/stzh-sticky.entry.js.map +1 -1
  119. package/dist/esm/stzh-tooltip.entry.js +2 -1
  120. package/dist/esm/stzh-tooltip.entry.js.map +1 -1
  121. package/dist/stzh-components/assets/i18n/de.json +3 -0
  122. package/dist/stzh-components/assets/i18n/en.json +3 -0
  123. package/dist/stzh-components/assets/media/icons/mono/facebook.svg +1 -1
  124. package/dist/stzh-components/assets/media/icons/mono/linkedin.svg +1 -1
  125. package/dist/stzh-components/assets/media/icons/mono/mail.svg +1 -1
  126. package/dist/stzh-components/assets/media/icons/mono/xing.svg +1 -1
  127. package/dist/stzh-components/assets/meta/icons-preview.html +4 -4
  128. package/dist/stzh-components/p-2e713d1e.entry.js +2 -0
  129. package/dist/stzh-components/p-2e713d1e.entry.js.map +1 -0
  130. package/dist/stzh-components/p-31a45529.entry.js +2 -0
  131. package/dist/stzh-components/p-31a45529.entry.js.map +1 -0
  132. package/dist/stzh-components/p-33b46d08.entry.js +2 -0
  133. package/dist/stzh-components/{p-a2656f84.entry.js.map → p-33b46d08.entry.js.map} +1 -1
  134. package/dist/stzh-components/{p-52078c0b.entry.js → p-3641eb0c.entry.js} +2 -2
  135. package/dist/stzh-components/p-3641eb0c.entry.js.map +1 -0
  136. package/dist/stzh-components/p-475fc161.entry.js +2 -0
  137. package/dist/stzh-components/p-475fc161.entry.js.map +1 -0
  138. package/dist/stzh-components/{p-83978293.entry.js → p-5511087f.entry.js} +2 -2
  139. package/dist/stzh-components/p-5511087f.entry.js.map +1 -0
  140. package/dist/stzh-components/p-705d5931.entry.js +2 -0
  141. package/dist/stzh-components/{p-35b78231.entry.js.map → p-705d5931.entry.js.map} +1 -1
  142. package/dist/stzh-components/{p-e2485377.js → p-862a98f9.js} +2 -2
  143. package/dist/stzh-components/{p-879795a9.entry.js → p-bf79dbd0.entry.js} +2 -2
  144. package/dist/stzh-components/{p-879795a9.entry.js.map → p-bf79dbd0.entry.js.map} +1 -1
  145. package/dist/stzh-components/p-d2f7c020.entry.js +2 -0
  146. package/dist/stzh-components/p-d2f7c020.entry.js.map +1 -0
  147. package/dist/stzh-components/p-fa82219c.entry.js +2 -0
  148. package/dist/stzh-components/p-fa82219c.entry.js.map +1 -0
  149. package/dist/stzh-components/{p-fa3c5519.entry.js → p-fb9cc8a7.entry.js} +2 -2
  150. package/dist/stzh-components/p-fb9cc8a7.entry.js.map +1 -0
  151. package/dist/stzh-components/stzh-components.css +1 -1
  152. package/dist/stzh-components/stzh-components.esm.js +1 -1
  153. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  154. package/dist/types/components/stzh-cta/stzh-cta.d.ts +1 -1
  155. package/dist/types/components/stzh-gallery/stzh-gallery.d.ts +5 -0
  156. package/dist/types/components/stzh-pagebottom/stzh-pagebottom.d.ts +11 -1
  157. package/dist/types/components/stzh-pagebottom/stzh-pagebottom.localization.d.ts +4 -0
  158. package/dist/types/components/stzh-sticky-actions/stzh-sticky-actions.d.ts +2 -2
  159. package/dist/types/components/stzh-tooltip/stzh-tooltip.d.ts +2 -0
  160. package/dist/types/components.d.ts +40 -6
  161. package/dist/vscode-data.json +25 -5
  162. package/package.json +1 -1
  163. package/dist/cjs/stzh-print.cjs.entry.js +0 -52
  164. package/dist/cjs/stzh-print.cjs.entry.js.map +0 -1
  165. package/dist/cjs/stzh-share.cjs.entry.js.map +0 -1
  166. package/dist/collection/patterns/print/print.e2e.js +0 -18
  167. package/dist/collection/patterns/print/print.e2e.js.map +0 -1
  168. package/dist/esm/stzh-print.entry.js.map +0 -1
  169. package/dist/esm/stzh-share.entry.js.map +0 -1
  170. package/dist/stzh-components/p-2676b9db.entry.js +0 -2
  171. package/dist/stzh-components/p-2676b9db.entry.js.map +0 -1
  172. package/dist/stzh-components/p-2afe2028.entry.js +0 -2
  173. package/dist/stzh-components/p-2afe2028.entry.js.map +0 -1
  174. package/dist/stzh-components/p-35b78231.entry.js +0 -2
  175. package/dist/stzh-components/p-51be8f59.entry.js +0 -2
  176. package/dist/stzh-components/p-51be8f59.entry.js.map +0 -1
  177. package/dist/stzh-components/p-52078c0b.entry.js.map +0 -1
  178. package/dist/stzh-components/p-83978293.entry.js.map +0 -1
  179. package/dist/stzh-components/p-89de4375.entry.js +0 -2
  180. package/dist/stzh-components/p-89de4375.entry.js.map +0 -1
  181. package/dist/stzh-components/p-a2656f84.entry.js +0 -2
  182. package/dist/stzh-components/p-c67dcd7a.entry.js +0 -2
  183. package/dist/stzh-components/p-c67dcd7a.entry.js.map +0 -1
  184. package/dist/stzh-components/p-e142e3e5.entry.js +0 -2
  185. package/dist/stzh-components/p-e142e3e5.entry.js.map +0 -1
  186. package/dist/stzh-components/p-fa3c5519.entry.js.map +0 -1
  187. /package/dist/stzh-components/{p-e2485377.js.map → p-862a98f9.js.map} +0 -0
@@ -150,16 +150,18 @@
150
150
  display: none;
151
151
  }
152
152
  }
153
- :host ::slotted([slot=logo]) {
154
- height: 2.375rem;
155
- }
156
153
 
157
- .stzh-pagebottom {
154
+ .stzh-pagebottom__wrapper {
155
+ display: grid;
156
+ }
157
+ .stzh-pagebottom__left {
158
158
  display: flex;
159
159
  flex-direction: column;
160
+ flex-wrap: wrap;
161
+ row-gap: var(--stzh-space-xsmall);
160
162
  }
161
163
  @media screen and (min-width: 600px) {
162
- .stzh-pagebottom {
164
+ .stzh-pagebottom__left {
163
165
  flex-direction: row;
164
166
  }
165
167
  }
@@ -174,18 +176,57 @@
174
176
  line-height: var(--stzh-font-curve-caption-medium-text-line-height, var(--stzh-font-micro-text-line-height));
175
177
  }
176
178
  }
179
+ .stzh-pagebottom__sticky-actions {
180
+ margin-left: auto;
181
+ margin-top: var(--stzh-space-medium);
182
+ --stzh-button-white-space: nowrap;
183
+ }
177
184
  @media screen and (min-width: 600px) {
178
- .stzh-pagebottom__logo {
179
- margin-left: auto;
185
+ .stzh-pagebottom__sticky-actions {
186
+ margin-top: 0;
180
187
  }
181
188
  }
182
- .stzh-pagebottom__logo-link:not(:empty) {
183
- display: block;
184
- margin-top: var(--stzh-space-xlarge);
189
+ .stzh-pagebottom__print, .stzh-pagebottom__share-wrapper {
190
+ flex-shrink: 0;
191
+ }
192
+ .stzh-pagebottom__share-wrapper {
193
+ margin-left: -0.625rem;
185
194
  }
186
195
  @media screen and (min-width: 600px) {
187
- .stzh-pagebottom__logo-link:not(:empty) {
188
- margin-top: 0;
189
- margin-left: var(--stzh-space-xlarge);
196
+ .stzh-pagebottom__share-wrapper {
197
+ margin-left: 0;
198
+ }
199
+ }
200
+ @media screen and (min-width: 600px) {
201
+ .stzh-pagebottom__print {
202
+ margin-right: var(--stzh-space-xxlarge);
203
+ }
204
+ }
205
+ @media screen and (min-width: 900px) {
206
+ .stzh-pagebottom__print {
207
+ margin-right: var(--stzh-space-xxlarge);
208
+ }
209
+ }
210
+ @media screen and (min-width: 900px) and (min-width: 600px) {
211
+ .stzh-pagebottom__print {
212
+ margin-right: var(--stzh-space-xxxxlarge);
213
+ }
214
+ }
215
+ @media screen and (min-width: 900px) and (min-width: 900px) {
216
+ .stzh-pagebottom__print {
217
+ margin-right: var(--stzh-space-xxxxlarge);
218
+ }
219
+ }
220
+ @media screen and (min-width: 900px) and (min-width: 1260px) {
221
+ .stzh-pagebottom__print {
222
+ margin-right: var(--stzh-space-xbig);
223
+ }
224
+ }
225
+ .stzh-pagebottom:has(.stzh-pagebottom__sticky-actions:not(:empty)) .stzh-pagebottom__wrapper {
226
+ grid-template-columns: auto;
227
+ }
228
+ @media screen and (min-width: 600px) {
229
+ .stzh-pagebottom:has(.stzh-pagebottom__sticky-actions:not(:empty)) .stzh-pagebottom__wrapper {
230
+ grid-template-columns: minmax(0, 1fr) calc(6.875rem + 2.75rem + var(--stzh-space-small) + var(--stzh-space-medium));
190
231
  }
191
232
  }
@@ -3,7 +3,8 @@ import { visualDiff } from "../../../.build/test/utils";
3
3
  const URL = "components-pagebottom";
4
4
  const STORIES = [
5
5
  "default",
6
- "with-logo",
6
+ "with-print",
7
+ "with-print-and-sticky-actions"
7
8
  ];
8
9
  test.describe("pagebottom", () => {
9
10
  STORIES.forEach((storyId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-pagebottom.e2e.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagebottom/stzh-pagebottom.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAEpC,MAAM,OAAO,GAAG;EACd,SAAS;EACT,WAAW;CACZ,CAAC;AAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;EAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC1B,IAAI,CAAC,SAAS,OAAO,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;MACtD,MAAM,UAAU,CAAC;QACf,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,GAAG;OACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from \"@playwright/test\";\nimport { visualDiff } from \"../../../.build/test/utils\";\n\nconst URL = \"components-pagebottom\";\n\nconst STORIES = [\n \"default\",\n \"with-logo\",\n];\n\ntest.describe(\"pagebottom\", () => {\n STORIES.forEach((storyId) => {\n test(`story ${storyId} visual diff`, async ({ page }) => {\n await visualDiff({\n storyId,\n page,\n url: URL\n });\n });\n });\n});\n"]}
1
+ {"version":3,"file":"stzh-pagebottom.e2e.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagebottom/stzh-pagebottom.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,GAAG,GAAG,uBAAuB,CAAC;AAEpC,MAAM,OAAO,GAAG;EACd,SAAS;EACT,YAAY;EACZ,+BAA+B;CAChC,CAAC;AAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;EAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IAC1B,IAAI,CAAC,SAAS,OAAO,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;MACtD,MAAM,UAAU,CAAC;QACf,OAAO;QACP,IAAI;QACJ,GAAG,EAAE,GAAG;OACT,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { test } from \"@playwright/test\";\nimport { visualDiff } from \"../../../.build/test/utils\";\n\nconst URL = \"components-pagebottom\";\n\nconst STORIES = [\n \"default\",\n \"with-print\",\n \"with-print-and-sticky-actions\"\n];\n\ntest.describe(\"pagebottom\", () => {\n STORIES.forEach((storyId) => {\n test(`story ${storyId} visual diff`, async ({ page }) => {\n await visualDiff({\n storyId,\n page,\n url: URL\n });\n });\n });\n});\n"]}
@@ -1,28 +1,35 @@
1
1
  import { Host, h, } from "@stencil/core";
2
- import { hasSlot } from "../../utils/utils";
3
2
  /**
4
3
  * @slot logo - Slot for a logo image
5
4
  */
6
5
  export class StzhPagebottom {
7
6
  constructor() {
7
+ this.localization = undefined;
8
8
  this.shareTitle = "";
9
9
  this.shareUrl = undefined;
10
10
  this.shareServices = undefined;
11
- this.shareDisabled = false;
11
+ this.shareDisabled = undefined;
12
12
  this.shareMailSubject = undefined;
13
13
  this.shareMailBody = undefined;
14
14
  this.logoHref = "https://www.stadt-zuerich.ch";
15
- this.logoAnalyticsId = undefined;
15
+ this.withPrint = undefined;
16
+ this.printAnalyticsId = undefined;
17
+ }
18
+ async componentWillLoad() {
19
+ if (!this.localization) {
20
+ this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "pagebottom");
21
+ }
16
22
  }
17
23
  render() {
18
- const logoUsed = hasSlot(this.element, "logo");
24
+ // const printUsed: boolean = hasSlot(this.element, "print");
25
+ // const logoUsed: boolean = hasSlot(this.element, "logo");
19
26
  const classes = {
20
27
  "stzh-pagebottom": true
21
28
  };
22
- return (h(Host, null, h("div", { class: classes }, !this.shareDisabled &&
29
+ return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-pagebottom__wrapper" }, h("div", { class: "stzh-pagebottom__left" }, this.withPrint &&
30
+ h("div", { class: "stzh-pagebottom__print" }, h("stzh-print", null, h("stzh-button", { label: this.localization.printLabel, variant: "tertiary-plain", size: "small", noPaddingLeft: true, noPaddingRight: true, analyticsId: this.printAnalyticsId }))), !this.shareDisabled &&
23
31
  h("div", { class: "stzh-pagebottom__share-wrapper" }, this.shareTitle &&
24
- h("div", { class: "stzh-pagebottom__share-title" }, this.shareTitle), h("stzh-share", { url: this.shareUrl, services: this.shareServices, mailSubject: this.shareMailSubject, mailBody: this.shareMailBody })), logoUsed &&
25
- h("div", { class: "stzh-pagebottom__logo" }, h("a", { href: this.logoHref, class: "stzh-pagebottom__logo-link", "s-object-id": this.logoAnalyticsId || "Footer Logo" }, h("slot", { name: "logo" }))))));
32
+ h("div", { class: "stzh-pagebottom__share-title" }, this.shareTitle), h("stzh-share", { url: this.shareUrl, services: this.shareServices, mailSubject: this.shareMailSubject, mailBody: this.shareMailBody }))), h("div", { class: "stzh-pagebottom__sticky-actions" }, h("slot", { name: "sticky-actions" }))))));
26
33
  }
27
34
  static get is() { return "stzh-pagebottom"; }
28
35
  static get encapsulation() { return "scoped"; }
@@ -38,6 +45,27 @@ export class StzhPagebottom {
38
45
  }
39
46
  static get properties() {
40
47
  return {
48
+ "localization": {
49
+ "type": "unknown",
50
+ "mutable": false,
51
+ "complexType": {
52
+ "original": "StzhPagebottomLocalizedText",
53
+ "resolved": "StzhLocaleComponent & { printLabel: string; }",
54
+ "references": {
55
+ "StzhPagebottomLocalizedText": {
56
+ "location": "import",
57
+ "path": "./stzh-pagebottom.localization",
58
+ "id": "src/components/stzh-pagebottom/stzh-pagebottom.localization.ts::StzhPagebottomLocalizedText"
59
+ }
60
+ }
61
+ },
62
+ "required": false,
63
+ "optional": false,
64
+ "docs": {
65
+ "tags": [],
66
+ "text": "Translation strings."
67
+ }
68
+ },
41
69
  "shareTitle": {
42
70
  "type": "string",
43
71
  "mutable": false,
@@ -111,8 +139,7 @@ export class StzhPagebottom {
111
139
  "text": "Whether to show share"
112
140
  },
113
141
  "attribute": "share-disabled",
114
- "reflect": false,
115
- "defaultValue": "false"
142
+ "reflect": true
116
143
  },
117
144
  "shareMailSubject": {
118
145
  "type": "string",
@@ -166,7 +193,24 @@ export class StzhPagebottom {
166
193
  "reflect": false,
167
194
  "defaultValue": "\"https://www.stadt-zuerich.ch\""
168
195
  },
169
- "logoAnalyticsId": {
196
+ "withPrint": {
197
+ "type": "boolean",
198
+ "mutable": false,
199
+ "complexType": {
200
+ "original": "boolean",
201
+ "resolved": "boolean",
202
+ "references": {}
203
+ },
204
+ "required": false,
205
+ "optional": false,
206
+ "docs": {
207
+ "tags": [],
208
+ "text": "Whether to show print button"
209
+ },
210
+ "attribute": "with-print",
211
+ "reflect": true
212
+ },
213
+ "printAnalyticsId": {
170
214
  "type": "string",
171
215
  "mutable": false,
172
216
  "complexType": {
@@ -178,9 +222,9 @@ export class StzhPagebottom {
178
222
  "optional": false,
179
223
  "docs": {
180
224
  "tags": [],
181
- "text": "For Adobe Analytics.\nWill be rendered as value of `s-object-id` attribute to the logo link element.\nDefault value will be \"Footer Logo\""
225
+ "text": "For Adobe Analytics.\nWill be rendered as value of `s-object-id` attribute of the print button element."
182
226
  },
183
- "attribute": "logo-analytics-id",
227
+ "attribute": "print-analytics-id",
184
228
  "reflect": false
185
229
  }
186
230
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-pagebottom.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagebottom/stzh-pagebottom.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,GACL,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AAMH,MAAM,OAAO,cAAc;;sBAEI,EAAE;;;yBAYE,KAAK;;;oBASX,8BAA8B;;;EAWzD,MAAM;IACJ,MAAM,QAAQ,GAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG;MACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QAChB,CAAC,IAAI,CAAC,aAAa;UAClB,WAAK,KAAK,EAAC,gCAAgC;YACxC,IAAI,CAAC,UAAU;cACd,WAAK,KAAK,EAAC,8BAA8B,IAAE,IAAI,CAAC,UAAU,CAAO;YAEnE,kBACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,QAAQ,EAAE,IAAI,CAAC,aAAa,GAChB,CACV;QAGP,QAAQ;UACP,WAAK,KAAK,EAAC,uBAAuB;YAChC,SACE,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,EAAC,4BAA4B,iBACrB,IAAI,CAAC,eAAe,IAAI,aAAa;cAElD,YAAM,IAAI,EAAC,MAAM,GAAQ,CACvB,CACA,CAEJ,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\nimport { hasSlot } from \"../../utils/utils\";\n\n/**\n * @slot logo - Slot for a logo image\n */\n@Component({\n tag: \"stzh-pagebottom\",\n styleUrl: \"stzh-pagebottom.scss\",\n scoped: true\n})\nexport class StzhPagebottom {\n /** Share Title */\n @Prop() shareTitle: string = \"\";\n\n /** URL of current site (uses full URL by default) */\n @Prop() shareUrl: string;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() shareServices: ShareService[] | string;\n\n /** Whether to show share */\n @Prop() shareDisabled: boolean = false;\n\n /** Overwrite share mail subject translation */\n @Prop() shareMailSubject: string;\n\n /** Overwrite share mail body translation */\n @Prop() shareMailBody: string;\n\n /** Logo href */\n @Prop() logoHref: string = \"https://www.stadt-zuerich.ch\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the logo link element.\n * Default value will be \"Footer Logo\"\n */\n @Prop() logoAnalyticsId: string;\n\n @Element() element: HTMLStzhPagebottomElement;\n\n render() {\n const logoUsed: boolean = hasSlot(this.element, \"logo\");\n\n const classes = {\n \"stzh-pagebottom\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n {!this.shareDisabled &&\n <div class=\"stzh-pagebottom__share-wrapper\">\n {this.shareTitle &&\n <div class=\"stzh-pagebottom__share-title\">{this.shareTitle}</div>\n }\n <stzh-share\n url={this.shareUrl}\n services={this.shareServices}\n mailSubject={this.shareMailSubject}\n mailBody={this.shareMailBody}\n ></stzh-share>\n </div>\n }\n\n {logoUsed &&\n <div class=\"stzh-pagebottom__logo\">\n <a\n href={this.logoHref}\n class=\"stzh-pagebottom__logo-link\"\n s-object-id={this.logoAnalyticsId || \"Footer Logo\"}\n >\n <slot name=\"logo\"></slot>\n </a>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-pagebottom.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagebottom/stzh-pagebottom.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,GACL,MAAM,eAAe,CAAC;AAOvB;;GAEG;AAMH,MAAM,OAAO,cAAc;;;sBAKI,EAAE;;;;;;oBAqBJ,8BAA8B;;;;EAoBzD,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;KACrG;EACH,CAAC;EAED,MAAM;IACJ,6DAA6D;IAC7D,2DAA2D;IAE3D,MAAM,OAAO,GAAG;MACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,WAAK,KAAK,EAAC,0BAA0B;UACnC,WAAK,KAAK,EAAC,uBAAuB;YAC/B,IAAI,CAAC,SAAS;cACb,WAAK,KAAK,EAAC,wBAAwB;gBACjC;kBACE,mBACE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EACnC,OAAO,EAAC,gBAAgB,EACxB,IAAI,EAAC,OAAO,EACZ,aAAa,EAAE,IAAI,EACnB,cAAc,EAAE,IAAI,EACpB,WAAW,EAAE,IAAI,CAAC,gBAAgB,GACrB,CACJ,CACT;YAGP,CAAC,IAAI,CAAC,aAAa;cAClB,WAAK,KAAK,EAAC,gCAAgC;gBACxC,IAAI,CAAC,UAAU;kBACd,WAAK,KAAK,EAAC,8BAA8B,IAAE,IAAI,CAAC,UAAU,CAAO;gBAEnE,kBACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAClC,QAAQ,EAAE,IAAI,CAAC,aAAa,GAChB,CACV,CAEJ;UAEN,WAAK,KAAK,EAAC,iCAAiC;YAC1C,YAAM,IAAI,EAAC,gBAAgB,GAAQ,CAC/B,CACF,CAaF,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\n// import { hasSlot } from \"../../utils/utils\";\n\nimport { StzhPagebottomLocalizedText } from \"./stzh-pagebottom.localization\";\n\n/**\n * @slot logo - Slot for a logo image\n */\n@Component({\n tag: \"stzh-pagebottom\",\n styleUrl: \"stzh-pagebottom.scss\",\n scoped: true\n})\nexport class StzhPagebottom {\n /** Translation strings. */\n @Prop() localization: StzhPagebottomLocalizedText;\n\n /** Share Title */\n @Prop() shareTitle: string = \"\";\n\n /** URL of current site (uses full URL by default) */\n @Prop() shareUrl: string;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() shareServices: ShareService[] | string;\n\n /** Whether to show share */\n @Prop({ reflect: true }) shareDisabled: boolean;\n\n /** Overwrite share mail subject translation */\n @Prop() shareMailSubject: string;\n\n /** Overwrite share mail body translation */\n @Prop() shareMailBody: string;\n\n /** Logo href */\n @Prop() logoHref: string = \"https://www.stadt-zuerich.ch\";\n\n /** Whether to show print button */\n @Prop({ reflect: true }) withPrint: boolean;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute of the print button element.\n */\n @Prop() printAnalyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the logo link element.\n * Default value will be \"Footer Logo\"\n */\n // @Prop() logoAnalyticsId: string;\n\n @Element() element: HTMLStzhPagebottomElement;\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"pagebottom\");\n }\n }\n\n render() {\n // const printUsed: boolean = hasSlot(this.element, \"print\");\n // const logoUsed: boolean = hasSlot(this.element, \"logo\");\n\n const classes = {\n \"stzh-pagebottom\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-pagebottom__wrapper\">\n <div class=\"stzh-pagebottom__left\">\n {this.withPrint &&\n <div class=\"stzh-pagebottom__print\">\n <stzh-print>\n <stzh-button\n label={this.localization.printLabel}\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n noPaddingRight={true}\n analyticsId={this.printAnalyticsId}\n ></stzh-button>\n </stzh-print>\n </div>\n }\n\n {!this.shareDisabled &&\n <div class=\"stzh-pagebottom__share-wrapper\">\n {this.shareTitle &&\n <div class=\"stzh-pagebottom__share-title\">{this.shareTitle}</div>\n }\n <stzh-share\n url={this.shareUrl}\n services={this.shareServices}\n mailSubject={this.shareMailSubject}\n mailBody={this.shareMailBody}\n ></stzh-share>\n </div>\n }\n </div>\n\n <div class=\"stzh-pagebottom__sticky-actions\">\n <slot name=\"sticky-actions\"></slot>\n </div>\n </div>\n\n {/* {logoUsed &&\n <div class=\"stzh-pagebottom__logo\">\n <a\n href={this.logoHref}\n class=\"stzh-pagebottom__logo-link\"\n s-object-id={this.logoAnalyticsId || \"Footer Logo\"}\n >\n <slot name=\"logo\"></slot>\n </a>\n </div>\n } */}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stzh-pagebottom.localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stzh-pagebottom.localization.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagebottom/stzh-pagebottom.localization.ts"],"names":[],"mappings":"","sourcesContent":["import { StzhLocaleComponent } from \"../../utils/translation-utils\";\n\nexport type StzhPagebottomLocalizedText = StzhLocaleComponent & {\n printLabel: string\n}\n"]}
@@ -7,15 +7,72 @@ import { getFigmaLink } from '../../../figma';
7
7
  const COMPONENT_NAME = 'stzh-pagebottom';
8
8
  const story = createComponentStory(COMPONENT_NAME);
9
9
 
10
+ const SUBTEMPLATE_DUMMY_TEXT = `
11
+ <div style="opacity: 0.2">
12
+ <stzh-pagetitle>
13
+ <stzh-heading slot="heading">Page heading</stzh-heading>
14
+ </stzh-pagetitle>
15
+
16
+ <stzh-vspace></stzh-vspace>
17
+
18
+ <stzh-text>
19
+ <p><b>Scroll down to see more</b></p>
20
+
21
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
22
+
23
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
24
+
25
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
26
+
27
+ <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
28
+
29
+ <p>Nostrud amet laboris exercitation voluptate fugiat proident culpa consequat commodo minim ut officia dolor ad. Ut ipsum officia ipsum officia aute ad ullamco minim adipisicing commodo consectetur ut est aliqua. Magna est incididunt nisi labore ipsum minim occaecat consectetur labore nulla. Enim reprehenderit culpa excepteur enim esse ad.</p>
30
+
31
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
32
+
33
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
34
+
35
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
36
+
37
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
38
+
39
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
40
+
41
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
42
+
43
+ <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
44
+ </stzh-text>
45
+
46
+ <stzh-vspace curve="large"></stzh-vspace>
47
+ </div>
48
+ `;
49
+
10
50
  const TEMPLATE = `
11
51
  <stzh-pagebottom></stzh-pagebottom>
12
52
  `;
13
53
 
14
- const TEMPLATE_WITH_LOGO = `
15
- <stzh-pagebottom>
16
- <img slot="logo" src="media/logo/stzh-company.svg" loading="lazy" alt="A company of the city of Zurich, go to homepage" />
17
- </stzh-pagebottom>
18
- `;
54
+ const TEMPLATE_WITH_STICKY_ACTIONS = ({ _hideText = true } = {}) => {
55
+ return `
56
+ <div>
57
+ ${!_hideText ? SUBTEMPLATE_DUMMY_TEXT : ''}
58
+
59
+ <stzh-pagebottom>
60
+ <stzh-sticky-actions slot="sticky-actions">
61
+ <stzh-button slot="chat" variant="secondary" label="Chat" size="small" icon="text-message"></stzh-button>
62
+ <stzh-scrollup slot="scrollup">
63
+ <stzh-button variant="secondary" icon="arrow-up" size="small" icon-only></stzh-button>
64
+ </stzh-scrollup>
65
+ </stzh-sticky-actions>
66
+ </stzh-pagebottom>
67
+ </div>
68
+ `
69
+ };
70
+
71
+ // const TEMPLATE_WITH_LOGO = `
72
+ // <stzh-pagebottom>
73
+ // <img slot="logo" src="media/logo/stzh-company.svg" loading="lazy" alt="A company of the city of Zurich, go to homepage" />
74
+ // </stzh-pagebottom>
75
+ // `;
19
76
 
20
77
  export default {
21
78
  title: 'Components/Pagebottom',
@@ -44,7 +101,28 @@ export const Default = {
44
101
  args: {}
45
102
  }
46
103
 
47
- export const WithLogo = {
48
- render: (args) => story(args, TEMPLATE_WITH_LOGO),
49
- args: {}
50
- };
104
+ export const WithPrint = {
105
+ render: (args) => story(args, TEMPLATE),
106
+ args: {
107
+ 'with-print': true
108
+ }
109
+ }
110
+
111
+ export const WithPrintAndStickyActions = {
112
+ render: (args) => story(args, TEMPLATE_WITH_STICKY_ACTIONS()),
113
+ args: {
114
+ 'with-print': true
115
+ }
116
+ }
117
+
118
+ export const WithPrintAndStickyActionsScrollDemo = {
119
+ render: (args) => story(args, TEMPLATE_WITH_STICKY_ACTIONS({ _hideText: false })),
120
+ args: {
121
+ 'with-print': true
122
+ }
123
+ }
124
+
125
+ // export const WithLogo = {
126
+ // render: (args) => story(args, TEMPLATE_WITH_LOGO),
127
+ // args: {}
128
+ // };
@@ -8,43 +8,45 @@ const COMPONENT_NAME = 'stzh-scrollup';
8
8
  const story = createComponentStory(COMPONENT_NAME);
9
9
 
10
10
  const SUBTEMPLATE_DUMMY_TEXT = `
11
- <stzh-text style="opacity: 0.2">
12
- <p><b>Scroll down to see scroll up link</b></p>
11
+ <div style="opacity: 0.2">
12
+ <stzh-text>
13
+ <p><b>Scroll down to see scroll up link</b></p>
13
14
 
14
- <stzh-heading id="mainPageHeading">Example main page heading</stzh-heading>
15
+ <stzh-heading id="mainPageHeading">Example main page heading</stzh-heading>
15
16
 
16
- <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
17
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
17
18
 
18
- <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
19
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
19
20
 
20
- <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
21
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
21
22
 
22
- <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
23
+ <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
23
24
 
24
- <p>Nostrud amet laboris exercitation voluptate fugiat proident culpa consequat commodo minim ut officia dolor ad. Ut ipsum officia ipsum officia aute ad ullamco minim adipisicing commodo consectetur ut est aliqua. Magna est incididunt nisi labore ipsum minim occaecat consectetur labore nulla. Enim reprehenderit culpa excepteur enim esse ad.</p>
25
+ <p>Nostrud amet laboris exercitation voluptate fugiat proident culpa consequat commodo minim ut officia dolor ad. Ut ipsum officia ipsum officia aute ad ullamco minim adipisicing commodo consectetur ut est aliqua. Magna est incididunt nisi labore ipsum minim occaecat consectetur labore nulla. Enim reprehenderit culpa excepteur enim esse ad.</p>
25
26
 
26
- <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
27
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
27
28
 
28
- <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
29
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
29
30
 
30
- <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
31
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
31
32
 
32
- <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
33
+ <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim. Reprehenderit deserunt ut occaecat sit sit ullamco laborum deserunt. Eu pariatur est exercitation ea ut tempor laborum. Amet veniam consectetur cupidatat Lorem eu ipsum.</p>
33
34
 
34
- <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
35
+ <p>Ipsum ea laborum consectetur amet enim voluptate in. Laboris deserunt duis irure mollit fugiat nisi elit anim elit. Sit incididunt eiusmod labore deserunt id ea aute nisi voluptate dolore non. Incididunt nostrud laboris magna Lorem non cupidatat ad in velit eiusmod non laborum minim occaecat. Adipisicing enim esse sint ex enim sunt duis excepteur. Quis ipsum ullamco nulla est incididunt fugiat laborum sit enim. Et tempor enim ut qui sint.</p>
35
36
 
36
- <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
37
+ <p>Incididunt nostrud amet ea nisi cupidatat. Elit esse incididunt tempor sint non deserunt qui excepteur consequat laborum excepteur adipisicing esse est. Consequat nulla enim cillum do anim mollit duis esse magna sint amet. Culpa in nulla enim adipisicing cillum non incididunt quis officia Lorem esse velit reprehenderit. Cupidatat ex exercitation officia nulla fugiat ex. Exercitation nisi proident duis sunt. Et minim cupidatat consectetur adipisicing irure enim.</p>
37
38
 
38
- <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
39
- </stzh-text>
39
+ <p>Dolor consectetur nisi reprehenderit nostrud eiusmod ex quis officia est qui. Mollit sint reprehenderit et tempor ut aute anim magna irure fugiat cillum elit. Est est sit enim irure adipisicing est nulla. Aliqua tempor mollit ex fugiat pariatur adipisicing. Duis sit dolore aliqua pariatur do mollit aliqua consequat ex veniam.</p>
40
+ </stzh-text>
41
+
42
+ <stzh-vspace></stzh-vspace>
43
+ </div>
40
44
  `;
41
45
 
42
46
  const TEMPLATE = `
43
47
  <div>
44
48
  ${SUBTEMPLATE_DUMMY_TEXT}
45
49
 
46
- <stzh-vspace></stzh-vspace>
47
-
48
50
  <stzh-scrollup>
49
51
  <stzh-link>
50
52
  Scroll up
@@ -152,47 +152,5 @@
152
152
  display: flex;
153
153
  }
154
154
  .stzh-share__item:not(:last-child) {
155
- margin-right: var(--stzh-space-small);
156
- }
157
- .stzh-share__icon {
158
- --size: var(--stzh-icon-size-xsmall);
159
- }
160
- .stzh-share__button {
161
- color: var(--stzh-color-white);
162
- border-radius: var(--stzh-button-border-radius);
163
- display: grid;
164
- place-items: center;
165
- width: 2.875rem;
166
- height: 1.625rem;
167
- transition: background-color var(--stzh-base-transition-animation-speed);
168
- }
169
- .stzh-share__button.is-facebook {
170
- background-color: #3b5998;
171
- }
172
- .stzh-share__button.is-facebook:hover {
173
- background-color: #23355B;
174
- }
175
- .stzh-share__button.is-twitter {
176
- background-color: #000000;
177
- }
178
- .stzh-share__button.is-twitter:hover {
179
- background-color: #404040;
180
- }
181
- .stzh-share__button.is-linkedin {
182
- background-color: #1485BD;
183
- }
184
- .stzh-share__button.is-linkedin:hover {
185
- background-color: #0C4F71;
186
- }
187
- .stzh-share__button.is-xing {
188
- background-color: #0E7574;
189
- }
190
- .stzh-share__button.is-xing:hover {
191
- background-color: #084645;
192
- }
193
- .stzh-share__button.is-mail {
194
- background-color: var(--stzh-color-primary);
195
- }
196
- .stzh-share__button.is-mail:hover {
197
- background-color: var(--stzh-color-primary-hover);
155
+ margin-right: var(--stzh-space-xxsmall);
198
156
  }
@@ -17,7 +17,7 @@ export class StzhShare {
17
17
  this.mailSubject = undefined;
18
18
  this.mailBody = undefined;
19
19
  this.services = [
20
- "facebook", "twitter", "linkedin", "xing", "mail"
20
+ "mail", "facebook", "twitter", "linkedin", "xing"
21
21
  ];
22
22
  }
23
23
  servicesWatcher(newValue) {
@@ -46,6 +46,13 @@ export class StzhShare {
46
46
  const twitterTitle = encodeURIComponent(abbreviateText(title, MAX_TWEET_LENGTH));
47
47
  const description = encodeURIComponent(getMeta("description"));
48
48
  const serviceData = {
49
+ "mail": {
50
+ popup: false,
51
+ blank: false,
52
+ url: `mailto:?subject=${mailSubject}&body=${mailBody}`,
53
+ text: this.localization.shareMail,
54
+ icon: "mail"
55
+ },
49
56
  "facebook": {
50
57
  popup: true,
51
58
  blank: true,
@@ -73,16 +80,9 @@ export class StzhShare {
73
80
  url: `https://www.xing.com/spi/shares/new?url=${shareUrl}`,
74
81
  text: this.localization.shareXing,
75
82
  icon: "xing"
76
- },
77
- "mail": {
78
- popup: false,
79
- blank: false,
80
- url: `mailto:?subject=${mailSubject}&body=${mailBody}`,
81
- text: this.localization.shareMail,
82
- icon: "mail"
83
83
  }
84
84
  };
85
- return (h(Host, null, h("div", { class: classes }, h("ul", { class: "stzh-share__list" }, this._services.map((service) => h("li", { class: "stzh-share__item" }, h("stzh-tooltip", { content: serviceData[service].text }, h("a", { class: `stzh-share__button is-${service}`, href: serviceData[service].url, "aria-label": serviceData[service].text, rel: serviceData[service].blank ? "nofollow noopener noreferrer" : "nofollow", target: serviceData[service].blank ? "_blank" : "_self", onClick: serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null, "s-object-id": serviceData[service].text }, h("stzh-icon", { class: "stzh-share__icon", name: serviceData[service].icon })))))))));
85
+ return (h(Host, null, h("div", { class: classes }, h("ul", { class: "stzh-share__list" }, this._services.map((service) => h("li", { class: "stzh-share__item" }, h("stzh-tooltip", { content: serviceData[service].text, size: "small" }, h("stzh-button", { class: `stzh-share__button is-${service}`, size: "small", variant: "tertiary", iconOnly: true, href: serviceData[service].url, rel: serviceData[service].blank ? "nofollow noopener noreferrer" : "nofollow", target: serviceData[service].blank ? "_blank" : "_self", onClick: serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null, analyticsId: serviceData[service].text, icon: serviceData[service].icon }))))))));
86
86
  }
87
87
  static get is() { return "stzh-share"; }
88
88
  static get encapsulation() { return "scoped"; }
@@ -193,7 +193,7 @@ export class StzhShare {
193
193
  },
194
194
  "attribute": "services",
195
195
  "reflect": false,
196
- "defaultValue": "[\n \"facebook\", \"twitter\", \"linkedin\", \"xing\", \"mail\"\n ]"
196
+ "defaultValue": "[\n \"mail\", \"facebook\", \"twitter\", \"linkedin\", \"xing\"\n ]"
197
197
  }
198
198
  };
199
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-share.js","sourceRoot":"","sources":["../../../../src/components/stzh-share/stzh-share.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\nimport { StzhShareLocalizedText } from \"./stzh-share.localization\"\nimport { getMeta } from '../../utils/utils';\nimport { abbreviateText } from '../../utils/string-utils';\n\n// 280 - URL (always 24) = 256\nconst MAX_TWEET_LENGTH = 256;\n\n/**\n */\n@Component({\n tag: \"stzh-share\",\n styleUrl: \"stzh-share.scss\",\n scoped: true\n})\nexport class StzhShare {\n /** Translation strings */\n @Prop() localization: StzhShareLocalizedText;\n\n /** URL of current site (uses full URL by default) */\n @Prop() url: string = window.location.href;\n\n /** Overwrite mail subject translation */\n @Prop() mailSubject: string;\n\n /** Overwrite mail body translation */\n @Prop() mailBody: string;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() services: ShareService[] | string = [\n \"facebook\", \"twitter\", \"linkedin\", \"xing\", \"mail\"\n ];\n\n private _services: ShareService[] = [];\n\n @Watch(\"services\")\n servicesWatcher(newValue: ShareService[] | string) {\n if (typeof newValue === \"string\") {\n this._services = JSON.parse(newValue);\n } else {\n this._services = newValue;\n }\n }\n\n @Element() element: HTMLStzhShareElement;\n\n private openPopup = (url, event) => {\n event.preventDefault();\n window.open(url, \"_blank\", \"width=600,height=460\");\n }\n\n async componentWillLoad() {\n this.servicesWatcher(this.services);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"share\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-share\": true\n };\n\n const shareUrl = encodeURIComponent(this.url);\n const mailSubject = encodeURIComponent(this.mailSubject || this.localization.mailSubject);\n const mailBody = encodeURIComponent(\n (this.mailBody || this.localization.mailBody)?.replace(/\\{shareUrl\\}/gi, this.url)\n );\n\n const title = encodeURIComponent(document.title);\n const twitterTitle = encodeURIComponent(abbreviateText(title, MAX_TWEET_LENGTH));\n const description = encodeURIComponent(getMeta(\"description\"));\n\n const serviceData = {\n \"facebook\": {\n popup: true,\n blank: true,\n url: `https://www.facebook.com/sharer/sharer.php?u=${shareUrl}`,\n text: this.localization.shareFacebook,\n icon: \"facebook\"\n },\n \"twitter\": {\n popup: true,\n blank: true,\n url: `https://twitter.com/intent/tweet?text=${twitterTitle}&url=${shareUrl}`,\n text: this.localization.shareTwitter,\n icon: \"twitter\"\n },\n \"linkedin\": {\n popup: true,\n blank: true,\n url: `https://www.linkedin.com/shareArticle?mini=true&summary=${description}&title=${title}&url=${shareUrl}`,\n text: this.localization.shareLinkedin,\n icon: \"linkedin\"\n },\n \"xing\": {\n popup: true,\n blank: true,\n url: `https://www.xing.com/spi/shares/new?url=${shareUrl}`,\n text: this.localization.shareXing,\n icon: \"xing\"\n },\n \"mail\": {\n popup: false,\n blank: false,\n url: `mailto:?subject=${mailSubject}&body=${mailBody}`,\n text: this.localization.shareMail,\n icon: \"mail\"\n }\n };\n\n return (\n <Host>\n <div class={classes}>\n <ul class=\"stzh-share__list\">\n {this._services.map((service) =>\n <li class=\"stzh-share__item\">\n <stzh-tooltip content={serviceData[service].text}>\n <a\n class={`stzh-share__button is-${service}`}\n href={serviceData[service].url}\n aria-label={serviceData[service].text}\n rel={serviceData[service].blank ? \"nofollow noopener noreferrer\" : \"nofollow\"}\n target={serviceData[service].blank ? \"_blank\" : \"_self\"}\n onClick={serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null}\n s-object-id={serviceData[service].text}\n >\n <stzh-icon class=\"stzh-share__icon\" name={serviceData[service].icon}></stzh-icon>\n </a>\n </stzh-tooltip>\n </li>\n )}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-share.js","sourceRoot":"","sources":["../../../../src/components/stzh-share/stzh-share.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,EACN,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,8BAA8B;AAC9B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;GACG;AAMH,MAAM,OAAO,SAAS;;IAqBZ,cAAS,GAAmB,EAAE,CAAC;IAa/B,cAAS,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;MACjC,KAAK,CAAC,cAAc,EAAE,CAAC;MACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC,CAAA;;eAhCqB,MAAM,CAAC,QAAQ,CAAC,IAAI;;;oBAYE;MAC1C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM;KAClD;;EAKD,eAAe,CAAC,QAAiC;IAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;MAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACvC;SAAM;MACL,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;EACH,CAAC;EASD,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAChG;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAG;MACd,YAAY,EAAE,IAAI;KACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,kBAAkB,CACjC,MAAA,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0CAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CACnF,CAAC;IAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG;MAClB,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,mBAAmB,WAAW,SAAS,QAAQ,EAAE;QACtD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;QACjC,IAAI,EAAE,MAAM;OACb;MACD,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,gDAAgD,QAAQ,EAAE;QAC/D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;QACrC,IAAI,EAAE,UAAU;OACjB;MACD,SAAS,EAAE;QACT,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,yCAAyC,YAAY,QAAQ,QAAQ,EAAE;QAC5E,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;QACpC,IAAI,EAAE,SAAS;OAChB;MACD,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,2DAA2D,WAAW,UAAU,KAAK,QAAQ,QAAQ,EAAE;QAC5G,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;QACrC,IAAI,EAAE,UAAU;OACjB;MACD,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,2CAA2C,QAAQ,EAAE;QAC1D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;QACjC,IAAI,EAAE,MAAM;OACb;KACF,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,UAAI,KAAK,EAAC,kBAAkB,IACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,UAAI,KAAK,EAAC,kBAAkB;UAC1B,oBACE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAClC,IAAI,EAAC,OAAO;YAEZ,mBACE,KAAK,EAAE,yBAAyB,OAAO,EAAE,EACzC,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,IAAI,EACd,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAC9B,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,UAAU,EAC7E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EACvD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAC/F,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EACtC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,GAClB,CACF,CACZ,CACN,CACE,CACD,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\nimport { StzhShareLocalizedText } from \"./stzh-share.localization\"\nimport { getMeta } from '../../utils/utils';\nimport { abbreviateText } from '../../utils/string-utils';\n\n// 280 - URL (always 24) = 256\nconst MAX_TWEET_LENGTH = 256;\n\n/**\n */\n@Component({\n tag: \"stzh-share\",\n styleUrl: \"stzh-share.scss\",\n scoped: true\n})\nexport class StzhShare {\n /** Translation strings */\n @Prop() localization: StzhShareLocalizedText;\n\n /** URL of current site (uses full URL by default) */\n @Prop() url: string = window.location.href;\n\n /** Overwrite mail subject translation */\n @Prop() mailSubject: string;\n\n /** Overwrite mail body translation */\n @Prop() mailBody: string;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() services: ShareService[] | string = [\n \"mail\", \"facebook\", \"twitter\", \"linkedin\", \"xing\"\n ];\n\n private _services: ShareService[] = [];\n\n @Watch(\"services\")\n servicesWatcher(newValue: ShareService[] | string) {\n if (typeof newValue === \"string\") {\n this._services = JSON.parse(newValue);\n } else {\n this._services = newValue;\n }\n }\n\n @Element() element: HTMLStzhShareElement;\n\n private openPopup = (url, event) => {\n event.preventDefault();\n window.open(url, \"_blank\", \"width=600,height=460\");\n }\n\n async componentWillLoad() {\n this.servicesWatcher(this.services);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"share\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-share\": true\n };\n\n const shareUrl = encodeURIComponent(this.url);\n const mailSubject = encodeURIComponent(this.mailSubject || this.localization.mailSubject);\n const mailBody = encodeURIComponent(\n (this.mailBody || this.localization.mailBody)?.replace(/\\{shareUrl\\}/gi, this.url)\n );\n\n const title = encodeURIComponent(document.title);\n const twitterTitle = encodeURIComponent(abbreviateText(title, MAX_TWEET_LENGTH));\n const description = encodeURIComponent(getMeta(\"description\"));\n\n const serviceData = {\n \"mail\": {\n popup: false,\n blank: false,\n url: `mailto:?subject=${mailSubject}&body=${mailBody}`,\n text: this.localization.shareMail,\n icon: \"mail\"\n },\n \"facebook\": {\n popup: true,\n blank: true,\n url: `https://www.facebook.com/sharer/sharer.php?u=${shareUrl}`,\n text: this.localization.shareFacebook,\n icon: \"facebook\"\n },\n \"twitter\": {\n popup: true,\n blank: true,\n url: `https://twitter.com/intent/tweet?text=${twitterTitle}&url=${shareUrl}`,\n text: this.localization.shareTwitter,\n icon: \"twitter\"\n },\n \"linkedin\": {\n popup: true,\n blank: true,\n url: `https://www.linkedin.com/shareArticle?mini=true&summary=${description}&title=${title}&url=${shareUrl}`,\n text: this.localization.shareLinkedin,\n icon: \"linkedin\"\n },\n \"xing\": {\n popup: true,\n blank: true,\n url: `https://www.xing.com/spi/shares/new?url=${shareUrl}`,\n text: this.localization.shareXing,\n icon: \"xing\"\n }\n };\n\n return (\n <Host>\n <div class={classes}>\n <ul class=\"stzh-share__list\">\n {this._services.map((service) =>\n <li class=\"stzh-share__item\">\n <stzh-tooltip\n content={serviceData[service].text}\n size=\"small\"\n >\n <stzh-button\n class={`stzh-share__button is-${service}`}\n size=\"small\"\n variant=\"tertiary\"\n iconOnly={true}\n href={serviceData[service].url}\n rel={serviceData[service].blank ? \"nofollow noopener noreferrer\" : \"nofollow\"}\n target={serviceData[service].blank ? \"_blank\" : \"_self\"}\n onClick={serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null}\n analyticsId={serviceData[service].text}\n icon={serviceData[service].icon}\n ></stzh-button>\n </stzh-tooltip>\n </li>\n )}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -115,6 +115,14 @@
115
115
  */
116
116
  /* Global css (mainly used to provide sensible defaults and helper classes) */
117
117
 
118
+ html,
119
+ body {
120
+ overflow-x: hidden;
121
+ overflow-x: clip;
122
+ width: 100vw;
123
+ max-width: 100vw;
124
+ }
125
+
118
126
  html {
119
127
  /* Enable font smoothing */
120
128
  -webkit-font-smoothing: antialiased;
@@ -1141,6 +1149,8 @@ the .has-focus class is used by the focus target */
1141
1149
  --stzh-tooltip-border-radius: 0px;
1142
1150
  --stzh-tooltip-drop-shadow: none; /* before: drop-shadow(0px 2px 10px rgba(0 0 0 / 0.16)) */
1143
1151
 
1152
+ --stzh-tooltip-small-padding: 0 var(--stzh-space-xxsmall);
1153
+
1144
1154
  /* Header */
1145
1155
  --stzh-header-logobar-background-color: var(--stzh-color-primary70);
1146
1156