@itcenteratunihelsinki/huds-lib 0.5.37 → 0.5.40

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 (180) hide show
  1. package/dist/cjs/huds-lib.cjs.js +1 -1
  2. package/dist/cjs/hy-accordion-container_5.cjs.entry.js +1 -1
  3. package/dist/cjs/hy-banner.cjs.entry.js +1 -1
  4. package/dist/cjs/hy-breadcrumbs.cjs.entry.js +1 -1
  5. package/dist/cjs/hy-checkbox.cjs.entry.js +1 -1
  6. package/dist/cjs/hy-content-list-item.cjs.entry.js +1 -1
  7. package/dist/cjs/hy-content-list.cjs.entry.js +1 -1
  8. package/dist/cjs/hy-cta-button.cjs.entry.js +1 -1
  9. package/dist/cjs/hy-cta-link.cjs.entry.js +1 -1
  10. package/dist/cjs/hy-filter-group-item.cjs.entry.js +1 -1
  11. package/dist/cjs/hy-filter-list-type.cjs.entry.js +1 -1
  12. package/dist/cjs/hy-footer_5.cjs.entry.js +37 -12
  13. package/dist/cjs/hy-general-list_2.cjs.entry.js +1 -1
  14. package/dist/cjs/hy-grid-item.cjs.entry.js +1 -1
  15. package/dist/cjs/hy-heading.cjs.entry.js +1 -1
  16. package/dist/cjs/hy-hero.cjs.entry.js +4 -4
  17. package/dist/cjs/hy-icon.cjs.entry.js +6 -0
  18. package/dist/cjs/hy-introduction.cjs.entry.js +3 -2
  19. package/dist/cjs/hy-key-figure-group.cjs.entry.js +1 -1
  20. package/dist/cjs/hy-key-figure.cjs.entry.js +1 -1
  21. package/dist/cjs/hy-key-highlight-group.cjs.entry.js +1 -1
  22. package/dist/cjs/hy-key-highlight.cjs.entry.js +1 -1
  23. package/dist/cjs/hy-large-process-flow.cjs.entry.js +1 -1
  24. package/dist/cjs/hy-link-box-list.cjs.entry.js +1 -1
  25. package/dist/cjs/hy-link-box.cjs.entry.js +1 -1
  26. package/dist/cjs/hy-link-list.cjs.entry.js +1 -1
  27. package/dist/cjs/hy-link.cjs.entry.js +1 -1
  28. package/dist/cjs/hy-list-item.cjs.entry.js +16 -2
  29. package/dist/cjs/hy-menu-item-sidebar.cjs.entry.js +1 -1
  30. package/dist/cjs/hy-menu-item.cjs.entry.js +1 -1
  31. package/dist/cjs/hy-menu-level-container.cjs.entry.js +1 -1
  32. package/dist/cjs/hy-menu-main-group.cjs.entry.js +1 -1
  33. package/dist/cjs/hy-menu-sidebar.cjs.entry.js +1 -1
  34. package/dist/cjs/hy-menu.cjs.entry.js +1 -1
  35. package/dist/cjs/hy-opening-hours-content.cjs.entry.js +2 -1
  36. package/dist/cjs/hy-opening-hours.cjs.entry.js +2 -2
  37. package/dist/cjs/hy-pager-item.cjs.entry.js +1 -1
  38. package/dist/cjs/hy-person-card.cjs.entry.js +1 -1
  39. package/dist/cjs/hy-process-flow-box.cjs.entry.js +1 -1
  40. package/dist/cjs/hy-process.cjs.entry.js +1 -1
  41. package/dist/cjs/hy-prominent-image.cjs.entry.js +2 -1
  42. package/dist/cjs/hy-search-field.cjs.entry.js +1 -1
  43. package/dist/cjs/hy-shortcuts.cjs.entry.js +1 -1
  44. package/dist/cjs/hy-site-header_3.cjs.entry.js +11 -6
  45. package/dist/cjs/hy-user-login-form.cjs.entry.js +1 -1
  46. package/dist/cjs/hy-video.cjs.entry.js +1 -1
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/cjs/{utils-3692dcdb.js → utils-eeb7b089.js} +1 -0
  49. package/dist/collection/components/footer/hy-footer-info/hy-footer-info.css +56 -1
  50. package/dist/collection/components/footer/hy-footer-info/hy-footer-info.js +120 -9
  51. package/dist/collection/components/footer/hy-footer-link-item/hy-footer-link-item.css +38 -42
  52. package/dist/collection/components/footer/hy-footer-link-item/hy-footer-link-item.js +33 -3
  53. package/dist/collection/components/hy-hero/hy-hero.css +7 -7
  54. package/dist/collection/components/hy-hero/hy-hero.js +2 -2
  55. package/dist/collection/components/hy-introduction/hy-introduction.js +21 -2
  56. package/dist/collection/components/hy-list-item/hy-list-item.css +170 -0
  57. package/dist/collection/components/hy-list-item/hy-list-item.js +63 -1
  58. package/dist/collection/components/hy-opening-hours/hy-opening-hours.js +1 -1
  59. package/dist/collection/components/hy-opening-hours-content/hy-opening-hours-content.js +20 -1
  60. package/dist/collection/components/hy-prominent-image/hy-prominent-image.js +20 -1
  61. package/dist/collection/components/icon/icon.js +1 -0
  62. package/dist/collection/components/site-header/site-header.js +25 -5
  63. package/dist/collection/components/site-header/site-logo/site-logo.css +8 -6
  64. package/dist/collection/components/site-header/site-logo/site-logo.js +26 -2
  65. package/dist/collection/utils/utils.js +1 -0
  66. package/dist/esm/huds-lib.js +1 -1
  67. package/dist/esm/hy-accordion-container_5.entry.js +1 -1
  68. package/dist/esm/hy-banner.entry.js +1 -1
  69. package/dist/esm/hy-breadcrumbs.entry.js +1 -1
  70. package/dist/esm/hy-checkbox.entry.js +1 -1
  71. package/dist/esm/hy-content-list-item.entry.js +1 -1
  72. package/dist/esm/hy-content-list.entry.js +1 -1
  73. package/dist/esm/hy-cta-button.entry.js +1 -1
  74. package/dist/esm/hy-cta-link.entry.js +1 -1
  75. package/dist/esm/hy-filter-group-item.entry.js +1 -1
  76. package/dist/esm/hy-filter-list-type.entry.js +1 -1
  77. package/dist/esm/hy-footer_5.entry.js +37 -12
  78. package/dist/esm/hy-general-list_2.entry.js +1 -1
  79. package/dist/esm/hy-grid-item.entry.js +1 -1
  80. package/dist/esm/hy-heading.entry.js +1 -1
  81. package/dist/esm/hy-hero.entry.js +4 -4
  82. package/dist/esm/hy-icon.entry.js +6 -0
  83. package/dist/esm/hy-introduction.entry.js +3 -2
  84. package/dist/esm/hy-key-figure-group.entry.js +1 -1
  85. package/dist/esm/hy-key-figure.entry.js +1 -1
  86. package/dist/esm/hy-key-highlight-group.entry.js +1 -1
  87. package/dist/esm/hy-key-highlight.entry.js +1 -1
  88. package/dist/esm/hy-large-process-flow.entry.js +1 -1
  89. package/dist/esm/hy-link-box-list.entry.js +1 -1
  90. package/dist/esm/hy-link-box.entry.js +1 -1
  91. package/dist/esm/hy-link-list.entry.js +1 -1
  92. package/dist/esm/hy-link.entry.js +1 -1
  93. package/dist/esm/hy-list-item.entry.js +16 -2
  94. package/dist/esm/hy-menu-item-sidebar.entry.js +1 -1
  95. package/dist/esm/hy-menu-item.entry.js +1 -1
  96. package/dist/esm/hy-menu-level-container.entry.js +1 -1
  97. package/dist/esm/hy-menu-main-group.entry.js +1 -1
  98. package/dist/esm/hy-menu-sidebar.entry.js +1 -1
  99. package/dist/esm/hy-menu.entry.js +1 -1
  100. package/dist/esm/hy-opening-hours-content.entry.js +2 -1
  101. package/dist/esm/hy-opening-hours.entry.js +2 -2
  102. package/dist/esm/hy-pager-item.entry.js +1 -1
  103. package/dist/esm/hy-person-card.entry.js +1 -1
  104. package/dist/esm/hy-process-flow-box.entry.js +1 -1
  105. package/dist/esm/hy-process.entry.js +1 -1
  106. package/dist/esm/hy-prominent-image.entry.js +2 -1
  107. package/dist/esm/hy-search-field.entry.js +1 -1
  108. package/dist/esm/hy-shortcuts.entry.js +1 -1
  109. package/dist/esm/hy-site-header_3.entry.js +11 -6
  110. package/dist/esm/hy-user-login-form.entry.js +1 -1
  111. package/dist/esm/hy-video.entry.js +1 -1
  112. package/dist/esm/loader.js +1 -1
  113. package/dist/esm/{utils-cb48185b.js → utils-708bbefe.js} +1 -0
  114. package/dist/huds-lib/huds-lib.esm.js +1 -1
  115. package/dist/huds-lib/{p-aa135221.entry.js → p-003597de.entry.js} +1 -1
  116. package/dist/huds-lib/{p-33f275c0.entry.js → p-00a1f0c4.entry.js} +1 -1
  117. package/dist/huds-lib/p-03ada2ef.entry.js +1 -0
  118. package/dist/huds-lib/{p-8ddab2fa.entry.js → p-065ae4a9.entry.js} +1 -1
  119. package/dist/huds-lib/{p-9e1e7a50.entry.js → p-095afc4e.entry.js} +1 -1
  120. package/dist/huds-lib/{p-ba49a9c2.entry.js → p-0ba24d1d.entry.js} +1 -1
  121. package/dist/huds-lib/{p-78060d4c.entry.js → p-0d751fcd.entry.js} +1 -1
  122. package/dist/huds-lib/{p-b5fc027f.entry.js → p-14a7e308.entry.js} +1 -1
  123. package/dist/huds-lib/{p-e933c51d.entry.js → p-1ed13a8e.entry.js} +1 -1
  124. package/dist/huds-lib/{p-a86d576b.entry.js → p-1f5cb6ed.entry.js} +1 -1
  125. package/dist/huds-lib/{p-47192e43.entry.js → p-24c25896.entry.js} +1 -1
  126. package/dist/huds-lib/p-2c83cfcf.entry.js +1 -0
  127. package/dist/huds-lib/{p-14f40b8c.entry.js → p-31d9c326.entry.js} +1 -1
  128. package/dist/huds-lib/{p-c51acec7.entry.js → p-3f050660.entry.js} +1 -1
  129. package/dist/huds-lib/{p-064b4cbf.entry.js → p-497703c3.entry.js} +1 -1
  130. package/dist/huds-lib/{p-938a2d69.entry.js → p-4c59a5f1.entry.js} +1 -1
  131. package/dist/huds-lib/p-51dd0bf2.entry.js +1 -0
  132. package/dist/huds-lib/{p-c12bd151.entry.js → p-69559eff.entry.js} +1 -1
  133. package/dist/huds-lib/{p-b7d6d7a9.entry.js → p-69849560.entry.js} +1 -1
  134. package/dist/huds-lib/{p-48fbe621.entry.js → p-6c54b7bc.entry.js} +1 -1
  135. package/dist/huds-lib/p-7225fde6.entry.js +1 -0
  136. package/dist/huds-lib/{p-5ed9781b.entry.js → p-75f84185.entry.js} +1 -1
  137. package/dist/huds-lib/{p-ddeb65de.entry.js → p-7ca87180.entry.js} +1 -1
  138. package/dist/huds-lib/{p-b5d1ec3a.entry.js → p-7dd26e2a.entry.js} +1 -1
  139. package/dist/huds-lib/p-8ab550d6.js +1 -0
  140. package/dist/huds-lib/{p-84b7ca24.entry.js → p-8aee711e.entry.js} +1 -1
  141. package/dist/huds-lib/{p-7d8c86f1.entry.js → p-90a2d5bd.entry.js} +1 -1
  142. package/dist/huds-lib/{p-f110b94a.entry.js → p-98487b2c.entry.js} +1 -1
  143. package/dist/huds-lib/{p-aa3255bd.entry.js → p-9b5113e0.entry.js} +1 -1
  144. package/dist/huds-lib/{p-6cc92340.entry.js → p-a0a1ead3.entry.js} +1 -1
  145. package/dist/huds-lib/p-a4745be5.entry.js +1 -0
  146. package/dist/huds-lib/{p-5214f8e4.entry.js → p-afe191fd.entry.js} +1 -1
  147. package/dist/huds-lib/{p-78ceaf5c.entry.js → p-b7268181.entry.js} +1 -1
  148. package/dist/huds-lib/{p-4d46f33b.entry.js → p-bd56a257.entry.js} +1 -1
  149. package/dist/huds-lib/p-c87b7917.entry.js +1 -0
  150. package/dist/huds-lib/p-cc3a6a5b.entry.js +1 -0
  151. package/dist/huds-lib/{p-8a62a954.entry.js → p-d56f5a7a.entry.js} +1 -1
  152. package/dist/huds-lib/{p-ac362729.entry.js → p-db4dc333.entry.js} +1 -1
  153. package/dist/huds-lib/{p-e93ed0a4.entry.js → p-dc6a653f.entry.js} +1 -1
  154. package/dist/huds-lib/{p-99cdca42.entry.js → p-dd2d9165.entry.js} +1 -1
  155. package/dist/huds-lib/p-de9a3ec8.entry.js +1 -0
  156. package/dist/huds-lib/{p-8f62c5a4.entry.js → p-e24fb999.entry.js} +1 -1
  157. package/dist/huds-lib/{p-f2fe08a4.entry.js → p-e834c239.entry.js} +1 -1
  158. package/dist/huds-lib/{p-5e60356e.entry.js → p-efc359e3.entry.js} +1 -1
  159. package/dist/huds-lib/{p-ede56435.entry.js → p-fbf11f85.entry.js} +1 -1
  160. package/dist/huds-lib/{p-9f0357c6.entry.js → p-fcf2d27d.entry.js} +1 -1
  161. package/dist/types/components/footer/hy-footer-info/hy-footer-info.d.ts +20 -0
  162. package/dist/types/components/footer/hy-footer-link-item/hy-footer-link-item.d.ts +1 -0
  163. package/dist/types/components/hy-introduction/hy-introduction.d.ts +1 -0
  164. package/dist/types/components/hy-list-item/hy-list-item.d.ts +2 -0
  165. package/dist/types/components/hy-opening-hours-content/hy-opening-hours-content.d.ts +1 -0
  166. package/dist/types/components/hy-prominent-image/hy-prominent-image.d.ts +1 -0
  167. package/dist/types/components/site-header/site-header.d.ts +1 -0
  168. package/dist/types/components/site-header/site-logo/site-logo.d.ts +1 -0
  169. package/dist/types/components.d.ts +45 -1
  170. package/dist/types/utils/utils.d.ts +2 -1
  171. package/package.json +1 -1
  172. package/dist/huds-lib/p-2517134c.entry.js +0 -1
  173. package/dist/huds-lib/p-33ffdffe.entry.js +0 -1
  174. package/dist/huds-lib/p-4d6f4bd3.entry.js +0 -1
  175. package/dist/huds-lib/p-51b159ea.entry.js +0 -1
  176. package/dist/huds-lib/p-70d43477.entry.js +0 -1
  177. package/dist/huds-lib/p-8081f6df.entry.js +0 -1
  178. package/dist/huds-lib/p-9080f8a1.entry.js +0 -1
  179. package/dist/huds-lib/p-a099ede9.entry.js +0 -1
  180. package/dist/huds-lib/p-e20f6203.js +0 -1
@@ -239,7 +239,7 @@
239
239
  }
240
240
 
241
241
  @media (min-width: 30rem) {
242
- .hy-footer-info__links.is-group {
242
+ .hy-footer-info__links.is-group:not(.luomus) {
243
243
  -webkit-box-orient: horizontal;
244
244
  -webkit-box-direction: normal;
245
245
  -ms-flex-direction: row;
@@ -250,4 +250,59 @@
250
250
 
251
251
  .hy-footer-info .hy-accordion__content--inner-wrapper {
252
252
  width: 100%;
253
+ }
254
+
255
+ .hy-footer-info.luomus {
256
+ background-color: var(--grayscale-black);
257
+ color: var(--grayscale-white);
258
+ padding-top: 40px;
259
+ }
260
+
261
+ .hy-footer-info.luomus .hy-footer-info__logo {
262
+ font-size: 1.125rem;
263
+ line-height: 16px;
264
+ font-family: var(--main-font-family);
265
+ font-weight: bold;
266
+ letter-spacing: -0.9px;
267
+ }
268
+
269
+ .hy-footer-info.luomus .hy-footer-info__logo .hy-site-logo__label {
270
+ min-width: 100%;
271
+ max-width: 100%;
272
+ }
273
+
274
+ .hy-footer-info.luomus .hy-footer-info__branding {
275
+ padding: 22px 0 62px;
276
+ }
277
+
278
+ .hy-footer-info.luomus .hy-footer-info__branding a img {
279
+ height: 32px;
280
+ width: 148px;
281
+ }
282
+
283
+ .hy-footer-info.luomus .luomus-footer-content {
284
+ color: var(--grayscale-white);
285
+ margin: 8px 0;
286
+ }
287
+
288
+ .hy-footer-info.luomus .luomus-footer-content__link {
289
+ font-size: 1.125rem;
290
+ line-height: 24px;
291
+ font-weight: 700;
292
+ color: var(--grayscale-white);
293
+ font-family: var(--main-font-family);
294
+ font-style: normal;
295
+ letter-spacing: -0.36px;
296
+ text-decoration: none;
297
+ }
298
+
299
+ .hy-footer-info.luomus .luomus-footer-content__description {
300
+ font-size: 1rem;
301
+ line-height: 22px;
302
+ font-weight: 400;
303
+ color: var(--grayscale-white);
304
+ font-family: var(--main-font-family);
305
+ font-style: normal;
306
+ letter-spacing: -0.1px;
307
+ padding-bottom: 32px;
253
308
  }
@@ -1,13 +1,15 @@
1
1
  import { Component, Element, h, Host, Prop, State } from '@stencil/core';
2
2
  import ResizeObserver from 'resize-observer-polyfill';
3
- import { CtaLinkButtonVariants, FooterLinkItemColor, FooterLinkVariants, HeadingSectionVariants, HeadingVarians, } from '../../../utils/utils';
3
+ import { ColorVariant, CtaLinkButtonVariants, FooterLinkItemColor, FooterLinkVariants, FooterVariant, HeadingSectionVariants, HeadingVarians, } from '../../../utils/utils';
4
4
  import { jsonParserWorker } from '../../../global/globalScript';
5
5
  export class HyFooterInfo {
6
6
  constructor() {
7
7
  this.linkIsExternal = false;
8
+ this.isLuomusGroup = false;
8
9
  }
9
10
  async componentWillLoad() {
10
11
  this._dataFooterInfoLinks = await jsonParserWorker(this.dataFooterInfoLinks);
12
+ this._dataLuomusFooterContent = await jsonParserWorker(this.luomusFooterContent);
11
13
  }
12
14
  componentDidLoad() {
13
15
  this.ro = new ResizeObserver((entries) => {
@@ -24,38 +26,57 @@ export class HyFooterInfo {
24
26
  this.isMobile = size <= 479 ? true : false;
25
27
  }
26
28
  render() {
27
- const classAttributes = ['hy-footer-info'].join(' ');
28
29
  const links = this._dataFooterInfoLinks;
30
+ const luomusFooterContentItems = this._dataLuomusFooterContent;
29
31
  const variant = this.isGroup ? FooterLinkVariants.group : FooterLinkVariants.campus;
30
32
  const section = this.isGroup ? HeadingSectionVariants.groupFooterInfo : HeadingSectionVariants.defaultFooterInfo;
31
33
  const footerLinkItemClass = this.isGroup ? 'group' : 'campus';
32
34
  const scLabel = this.linkScLabel && this.linkScLabel.length > 0 ? this.linkScLabel : this.linkText;
33
- return (h(Host, { class: classAttributes },
35
+ const logoColor = ColorVariant.white;
36
+ const linksColor = this.isLuomusGroup ? FooterLinkItemColor.white : FooterLinkItemColor.black;
37
+ return (h(Host, { class: {
38
+ 'hy-footer-info': true,
39
+ luomus: this.isLuomusGroup,
40
+ } },
34
41
  h("div", { class: {
35
42
  'hy-footer-info__content': true,
36
43
  'is-group': this.isGroup,
37
44
  } },
38
- h("hy-heading", { heading: HeadingVarians.h2, section: section }, this.textTitle),
39
- h("div", { class: {
45
+ !this.isLuomusGroup && (h("hy-heading", { heading: HeadingVarians.h2, section: section }, this.textTitle)),
46
+ this.isLuomusGroup && (h("div", { class: "hy-footer-info__logo" },
47
+ h("hy-site-logo", { type: FooterVariant.footer, isGroup: this.isGroup, size: 56, color: logoColor, url: this.logoUrl, label: this.logoLabel }))),
48
+ this.isLuomusGroup && (h("div", { class: 'hy-footer-info__branding' },
49
+ h("a", { href: this.groupLogoUrl },
50
+ h("img", { src: this.groupLogoUrl, alt: 'Luomus logo' })))),
51
+ !this.isLuomusGroup && (h("div", { class: {
40
52
  'hy-footer-info__ingress': true,
41
53
  'is-group': this.isGroup,
42
- }, innerHTML: this.textDescription }),
43
- this.linkUrl && (h("hy-cta-button", { "link-content": this.linkText, "sc-label": scLabel, "is-external": this.linkIsExternal, url: this.linkUrl, variant: CtaLinkButtonVariants.onWhiteBkgd }))),
54
+ }, innerHTML: this.textDescription })),
55
+ !this.isLuomusGroup && this.linkUrl && (h("hy-cta-button", { "link-content": this.linkText, "sc-label": scLabel, "is-external": this.linkIsExternal, url: this.linkUrl, variant: CtaLinkButtonVariants.onWhiteBkgd })),
56
+ this.isLuomusGroup &&
57
+ luomusFooterContentItems &&
58
+ luomusFooterContentItems.map((item) => {
59
+ return (h("div", { class: "luomus-footer-content" },
60
+ h("a", { href: item.url, class: "luomus-footer-content__link" }, item.heading),
61
+ item.content && h("div", { class: "luomus-footer-content__description", innerHTML: item.content })));
62
+ })),
44
63
  this.isMobile && this.isGroup === false ? (h("div", { class: {
45
64
  'hy-footer-info__links': true,
46
65
  'is-group': this.isGroup,
66
+ luomus: this.isLuomusGroup,
47
67
  } },
48
68
  h("hy-accordion-container", { accordionid: 'test' }, links &&
49
69
  links.map((link) => {
50
70
  return (h("hy-accordion-item", { accordiontitle: link.label },
51
- h("hy-footer-link-item", { class: footerLinkItemClass, variant: variant, color: FooterLinkItemColor.black, label: link.label, url: link.url, "main-link": link.mainlink, items: link.items, isMobile: this.isMobile })));
71
+ h("hy-footer-link-item", { class: footerLinkItemClass, variant: variant, color: linksColor, label: link.label, url: link.url, "main-link": link.mainlink, items: link.items, isMobile: this.isMobile })));
52
72
  })))) : (h("div", { class: {
53
73
  'hy-footer-info__links': true,
54
74
  'is-group': this.isGroup,
75
+ luomus: this.isLuomusGroup,
55
76
  } }, links &&
56
77
  links.map((link) => {
57
78
  const external_link = link.isExternal === 'external';
58
- return (h("hy-footer-link-item", { class: footerLinkItemClass, variant: variant, color: FooterLinkItemColor.black, label: link.label, url: link.url, "is-external": external_link, "main-link": link.mainlink, items: link.items, isMobile: this.isMobile }));
79
+ return (h("hy-footer-link-item", { "is-luomus-group": this.isLuomusGroup, class: footerLinkItemClass, variant: variant, color: linksColor, label: link.label, url: link.url, "is-external": external_link, "main-link": link.mainlink, items: link.items, isMobile: this.isMobile }));
59
80
  })))));
60
81
  }
61
82
  static get is() { return "hy-footer-info"; }
@@ -169,6 +190,57 @@ export class HyFooterInfo {
169
190
  "attribute": "link-sc-label",
170
191
  "reflect": false
171
192
  },
193
+ "logoUrl": {
194
+ "type": "string",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "string",
198
+ "resolved": "string",
199
+ "references": {}
200
+ },
201
+ "required": false,
202
+ "optional": true,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": "Logo url"
206
+ },
207
+ "attribute": "logo-url",
208
+ "reflect": false
209
+ },
210
+ "logoLabel": {
211
+ "type": "string",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "string",
215
+ "resolved": "string",
216
+ "references": {}
217
+ },
218
+ "required": false,
219
+ "optional": true,
220
+ "docs": {
221
+ "tags": [],
222
+ "text": "Logo label"
223
+ },
224
+ "attribute": "logo-label",
225
+ "reflect": false
226
+ },
227
+ "groupLogoUrl": {
228
+ "type": "string",
229
+ "mutable": false,
230
+ "complexType": {
231
+ "original": "string",
232
+ "resolved": "string",
233
+ "references": {}
234
+ },
235
+ "required": false,
236
+ "optional": true,
237
+ "docs": {
238
+ "tags": [],
239
+ "text": "Luomus group Logo url for footer"
240
+ },
241
+ "attribute": "group-logo-url",
242
+ "reflect": false
243
+ },
172
244
  "isGroup": {
173
245
  "type": "boolean",
174
246
  "mutable": false,
@@ -186,6 +258,24 @@ export class HyFooterInfo {
186
258
  "attribute": "is-group",
187
259
  "reflect": false
188
260
  },
261
+ "isLuomusGroup": {
262
+ "type": "boolean",
263
+ "mutable": false,
264
+ "complexType": {
265
+ "original": "boolean",
266
+ "resolved": "boolean",
267
+ "references": {}
268
+ },
269
+ "required": false,
270
+ "optional": false,
271
+ "docs": {
272
+ "tags": [],
273
+ "text": ""
274
+ },
275
+ "attribute": "is-luomus-group",
276
+ "reflect": false,
277
+ "defaultValue": "false"
278
+ },
189
279
  "dataFooterInfoLinks": {
190
280
  "type": "string",
191
281
  "mutable": false,
@@ -206,6 +296,27 @@ export class HyFooterInfo {
206
296
  },
207
297
  "attribute": "data-footer-info-links",
208
298
  "reflect": false
299
+ },
300
+ "luomusFooterContent": {
301
+ "type": "string",
302
+ "mutable": false,
303
+ "complexType": {
304
+ "original": "LuomusFooterContent[] | string",
305
+ "resolved": "LuomusFooterContent[] | string",
306
+ "references": {
307
+ "LuomusFooterContent": {
308
+ "location": "local"
309
+ }
310
+ }
311
+ },
312
+ "required": false,
313
+ "optional": false,
314
+ "docs": {
315
+ "tags": [],
316
+ "text": ""
317
+ },
318
+ "attribute": "luomus-footer-content",
319
+ "reflect": false
209
320
  }
210
321
  }; }
211
322
  static get states() { return {
@@ -84,14 +84,14 @@ hy-footer-link-item[main-link] {
84
84
  }
85
85
  }
86
86
 
87
- hy-footer-link-item.group[main-link] {
87
+ hy-footer-link-item.group[main-link]:not([is-luomus-group]) {
88
88
  -ms-flex-preferred-size: 100%;
89
89
  flex-basis: 100%;
90
90
  margin-top: 1rem;
91
91
  }
92
92
 
93
93
  @media (min-width: 30rem) {
94
- hy-footer-link-item.group[main-link] {
94
+ hy-footer-link-item.group[main-link]:not([is-luomus-group]) {
95
95
  -ms-flex-preferred-size: 50%;
96
96
  flex-basis: 50%;
97
97
  margin: 0;
@@ -143,26 +143,32 @@ hy-footer-link-item.group[main-link] {
143
143
  }
144
144
  }
145
145
 
146
- .hy-footer-link-item__color-white {
147
- font-size: 0.875rem;
148
- line-height: 18px;
149
- font-weight: 600;
150
- border-bottom: 1px solid var(--grayscale-white);
151
- color: var(--grayscale-white);
152
- letter-spacing: -0.5px;
153
- padding: 15px 20px 15px 0;
146
+ .hy-footer-link-item__main {
147
+ border: 0;
148
+ padding: 0;
149
+ margin-right: -32px;
154
150
  }
155
151
 
156
- .hy-footer-link-item__color-white .hy-footer-link-item__icon svg {
157
- fill: var(--grayscale-white);
152
+ .hy-footer-link-item__main .hy-heading__container > h3.hy-heading {
153
+ font-size: 1.125rem;
154
+ line-height: 22px;
155
+ letter-spacing: -0.45px;
156
+ padding: 0 0 1px 0 !important;
158
157
  }
159
158
 
160
- .hy-footer-link-item__color-white:hover {
161
- color: var(--grayscale-medium) !important;
159
+ @media (min-width: 30rem) {
160
+ .hy-footer-link-item__main .hy-heading__container > h3.hy-heading {
161
+ font-size: 1.375rem;
162
+ line-height: 28px;
163
+ letter-spacing: -0.44px;
164
+ }
162
165
  }
163
166
 
164
- .hy-footer-link-item__color-white:hover svg {
165
- fill: var(--grayscale-medium);
167
+ .hy-footer-link-item__main .hy-heading__container > h3.hy-heading .hy-footer-link-item__link {
168
+ color: var(--grayscale-black);
169
+ font-family: var(--main-font-family);
170
+ text-decoration: none;
171
+ margin-bottom: 12px;
166
172
  }
167
173
 
168
174
  .hy-footer-link-item__color-black {
@@ -182,41 +188,35 @@ hy-footer-link-item.group[main-link] {
182
188
  width: 12px;
183
189
  }
184
190
 
185
- .hy-footer-link-item__color-blacka:hover {
191
+ .hy-footer-link-item__color-black .hy-heading__container > h3.hy-headinga.hy-footer-link-item__link:hover {
186
192
  color: var(--brand-main) !important;
187
193
  text-decoration: underline;
188
194
  }
189
195
 
190
- .hy-footer-link-item__color-blacka:hover svg {
196
+ .hy-footer-link-item__color-black .hy-heading__container > h3.hy-headinga.hy-footer-link-item__link:hover svg {
191
197
  fill: var(--brand-main);
192
198
  }
193
199
 
194
- .hy-footer-link-item__main {
195
- border: 0;
196
- padding: 0;
197
- margin-right: -32px;
200
+ .hy-footer-link-item__color-white {
201
+ font-size: 0.875rem;
202
+ line-height: 18px;
203
+ font-weight: 600;
204
+ border-bottom: 1px solid var(--grayscale-white);
205
+ color: var(--grayscale-white);
206
+ letter-spacing: -0.5px;
207
+ padding: 15px 20px 15px 0;
198
208
  }
199
209
 
200
- .hy-footer-link-item__main .hy-heading__container > h3.hy-heading {
201
- font-size: 1.125rem;
202
- line-height: 22px;
203
- letter-spacing: -0.45px;
204
- padding: 0 0 1px 0 !important;
210
+ .hy-footer-link-item__color-white .hy-footer-link-item__icon svg {
211
+ fill: var(--grayscale-white);
205
212
  }
206
213
 
207
- @media (min-width: 30rem) {
208
- .hy-footer-link-item__main .hy-heading__container > h3.hy-heading {
209
- font-size: 1.375rem;
210
- line-height: 28px;
211
- letter-spacing: -0.44px;
212
- }
214
+ .hy-footer-link-item__color-white .hy-heading__container > h3.hy-heading .hy-footer-link-item__link:hover {
215
+ color: var(--grayscale-medium) !important;
213
216
  }
214
217
 
215
- .hy-footer-link-item__main .hy-heading__container > h3.hy-heading .hy-footer-link-item__link {
216
- color: var(--grayscale-black);
217
- font-family: var(--main-font-family);
218
- text-decoration: none;
219
- margin-bottom: 12px;
218
+ .hy-footer-link-item__color-white .hy-heading__container > h3.hy-heading .hy-footer-link-item__link:hover svg {
219
+ fill: var(--grayscale-medium);
220
220
  }
221
221
 
222
222
  .hy-footer-link-item__icon {
@@ -225,8 +225,4 @@ hy-footer-link-item.group[main-link] {
225
225
  top: 50%;
226
226
  -webkit-transform: translateY(-50%);
227
227
  transform: translateY(-50%);
228
- }
229
-
230
- .hy-footer-link-item:hover h3 a {
231
- color: var(--brand-main) !important;
232
228
  }
@@ -6,6 +6,7 @@ export class HyFooterLinkItem {
6
6
  this.mainLink = false;
7
7
  this.color = FooterLinkItemColor.black;
8
8
  this.variant = FooterLinkVariants.base;
9
+ this.isLuomusGroup = false;
9
10
  }
10
11
  render() {
11
12
  const containerClassAttributes = [
@@ -18,23 +19,34 @@ export class HyFooterLinkItem {
18
19
  this.mainLink && 'hy-footer-link-item__main',
19
20
  `hy-footer-link-item__color-${this.color}`,
20
21
  ].join(' ');
22
+ const headingClassAttributes = [
23
+ 'hy-footer-link-item',
24
+ 'hy-footer-link-item__heading',
25
+ this.mainLink && 'hy-footer-link-item__main',
26
+ `hy-footer-link-item__heading__color-${this.color}`,
27
+ ].join(' ');
28
+ const linkClassAttributes = [
29
+ 'hy-footer-link-item',
30
+ `hy-footer-link-item__color-${this.color}`,
31
+ this.isLuomusGroup ? `luomus` : '',
32
+ ].join(' ');
21
33
  if (this.items) {
22
34
  if (this.isMobile && this.variant !== FooterLinkVariants.group) {
23
35
  return (h("div", { class: containerClassAttributes }, this.items.map((item) => {
24
36
  const target = item.isExternal === 'external' ? '_blank' : '_self';
25
- return (h("a", { class: `hy-footer-link-item hy-footer-link-item__color-${this.color}`, href: item.url, target: target, style: { color: this.color } },
37
+ return (h("a", { class: linkClassAttributes, href: item.url, target: target, style: { color: this.color } },
26
38
  item.label,
27
39
  h("hy-icon", { class: 'hy-footer-link-item__icon', icon: 'hy-icon-arrow-right', size: 16 })));
28
40
  })));
29
41
  }
30
42
  else {
31
43
  return (h("div", { class: containerClassAttributes },
32
- h("hy-heading", { class: classAttributes, heading: HeadingVarians.h3 },
44
+ h("hy-heading", { class: headingClassAttributes, heading: HeadingVarians.h3 },
33
45
  this.url.length > 0 && (h("a", { class: 'hy-footer-link-item__link', href: this.url, style: { color: this.color } }, this.label)),
34
46
  this.url.length == 0 && h("div", { class: 'hy-footer-link-item__link' }, this.label)),
35
47
  this.items.map((item) => {
36
48
  const target = item.isExternal === 'external' ? '_blank' : '_self';
37
- return (h("a", { class: `hy-footer-link-item hy-footer-link-item__color-${this.color}`, href: item.url, target: target, style: { color: this.color } },
49
+ return (h("a", { class: linkClassAttributes, href: item.url, target: target, style: { color: this.color } },
38
50
  item.label,
39
51
  h("hy-icon", { class: 'hy-footer-link-item__icon', icon: 'hy-icon-arrow-right', size: 16 })));
40
52
  })));
@@ -206,6 +218,24 @@ export class HyFooterLinkItem {
206
218
  "attribute": "variant",
207
219
  "reflect": false,
208
220
  "defaultValue": "FooterLinkVariants.base"
221
+ },
222
+ "isLuomusGroup": {
223
+ "type": "boolean",
224
+ "mutable": false,
225
+ "complexType": {
226
+ "original": "boolean",
227
+ "resolved": "boolean",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": false,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": ""
235
+ },
236
+ "attribute": "is-luomus-group",
237
+ "reflect": false,
238
+ "defaultValue": "false"
209
239
  }
210
240
  }; }
211
241
  }
@@ -211,7 +211,7 @@
211
211
  position: relative;
212
212
  }
213
213
 
214
- h1.hy-hero__title {
214
+ h2.hy-hero__title {
215
215
  -webkit-hyphens: auto;
216
216
  -ms-hyphens: auto;
217
217
  hyphens: auto;
@@ -227,19 +227,19 @@ h1.hy-hero__title {
227
227
  width: auto;
228
228
  }
229
229
 
230
- .hy-hero--blue h1.hy-hero__title {
230
+ .hy-hero--blue h2.hy-hero__title {
231
231
  color: var(--grayscale-white) !important;
232
232
  }
233
233
 
234
- .hy-hero--black h1.hy-hero__title {
234
+ .hy-hero--black h2.hy-hero__title {
235
235
  color: var(--grayscale-white) !important;
236
236
  }
237
237
 
238
- .hy-hero--white h1.hy-hero__title {
238
+ .hy-hero--white h2.hy-hero__title {
239
239
  color: var(--grayscale-black) !important;
240
240
  }
241
241
 
242
- h1.hy-hero__title.hy-heading__hero {
242
+ h2.hy-hero__title.hy-heading__hero {
243
243
  font-size: 2rem;
244
244
  line-height: 38px;
245
245
  font-weight: 700;
@@ -250,7 +250,7 @@ h1.hy-hero__title.hy-heading__hero {
250
250
  }
251
251
 
252
252
  @media (min-width: 1024px) {
253
- h1.hy-hero__title.hy-heading__hero {
253
+ h2.hy-hero__title.hy-heading__hero {
254
254
  font-size: 2.875rem;
255
255
  line-height: 54px;
256
256
  letter-spacing: -1.15px;
@@ -258,7 +258,7 @@ h1.hy-hero__title.hy-heading__hero {
258
258
  }
259
259
 
260
260
  @media (min-width: 1601px) {
261
- h1.hy-hero__title.hy-heading__hero {
261
+ h2.hy-hero__title.hy-heading__hero {
262
262
  font-size: 3.25rem;
263
263
  line-height: 60px;
264
264
  letter-spacing: -1.3px;
@@ -90,7 +90,7 @@ export class HyHero {
90
90
  h("div", { class: `hy-hero__content-container` },
91
91
  h("div", { class: `hy-hero__content` },
92
92
  h("div", { class: `hy-hero__title-container` },
93
- h("h1", { innerHTML: this.heading, class: heroTitleClasses })),
93
+ h("h2", { innerHTML: this.heading, class: heroTitleClasses })),
94
94
  this.description && h("p", { class: `hy-hero__description` }, this.description),
95
95
  this.url && (h("div", { class: `hy-hero__actions` },
96
96
  h("hy-cta-button", { "link-content": this.urlTitle, "sc-label": this.scLabel, url: this.url, "is-external": this.isExternal, variant: variant }))))))),
@@ -106,7 +106,7 @@ export class HyHero {
106
106
  h("div", { class: `hy-hero__content-container` },
107
107
  h("div", { class: `hy-hero__content` },
108
108
  h("div", { class: `hy-hero__title-container` },
109
- h("h1", { innerHTML: this.heading, class: heroTitleClasses })),
109
+ h("h2", { innerHTML: this.heading, class: heroTitleClasses })),
110
110
  this.description && h("p", { class: `hy-hero__description` }, this.description),
111
111
  this.url && (h("div", { class: `hy-hero__actions` },
112
112
  h("hy-cta-button", { "link-content": this.urlTitle, "sc-label": this.scLabel, url: this.url, "is-external": this.isExternal, variant: variant }))))))),
@@ -6,6 +6,7 @@ export class HyIntroduction {
6
6
  this.reversed = false;
7
7
  this.limitContentWidth = false;
8
8
  this.textDescription = null;
9
+ this.imageAlt = '';
9
10
  this.isExternal = false;
10
11
  this.headerstyle = 'common';
11
12
  }
@@ -51,8 +52,8 @@ export class HyIntroduction {
51
52
  h("hy-icon", { icon: 'hy-icon-arrow-right', size: 24 })))))),
52
53
  this.imageUrl &&
53
54
  (this.sourceSet ? (h("div", { class: "hy-introduction__image" },
54
- h("hy-image", { "source-set": this.sourceSet, "image-url": this.imageUrl, aspectRatioWidth: 16, aspectRatioHeight: 10 }))) : (h("div", { class: "hy-introduction__image" },
55
- h("hy-image", { "image-url": this.imageUrl, aspectRatioWidth: 16, aspectRatioHeight: 10 }))))))),
55
+ h("hy-image", { "source-set": this.sourceSet, "image-url": this.imageUrl, aspectRatioWidth: 16, aspectRatioHeight: 10, "image-alt": this.imageAlt }))) : (h("div", { class: "hy-introduction__image" },
56
+ h("hy-image", { "image-url": this.imageUrl, aspectRatioWidth: 16, aspectRatioHeight: 10, "image-alt": this.imageAlt }))))))),
56
57
  h("hy-box", { mb: "1.75, 1.75, 2, 2.5" })));
57
58
  }
58
59
  static get is() { return "hy-introduction"; }
@@ -225,6 +226,24 @@ export class HyIntroduction {
225
226
  "attribute": "image-url",
226
227
  "reflect": false
227
228
  },
229
+ "imageAlt": {
230
+ "type": "string",
231
+ "mutable": false,
232
+ "complexType": {
233
+ "original": "string",
234
+ "resolved": "string",
235
+ "references": {}
236
+ },
237
+ "required": false,
238
+ "optional": false,
239
+ "docs": {
240
+ "tags": [],
241
+ "text": ""
242
+ },
243
+ "attribute": "image-alt",
244
+ "reflect": false,
245
+ "defaultValue": "''"
246
+ },
228
247
  "isExternal": {
229
248
  "type": "boolean",
230
249
  "mutable": false,