@itcenteratunihelsinki/huds-lib 0.5.22 → 0.5.26

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 (70) hide show
  1. package/dist/cjs/huds-lib.cjs.js +1 -1
  2. package/dist/cjs/hy-accordion-container_5.cjs.entry.js +578 -0
  3. package/dist/cjs/hy-desktop-menu-links.cjs.entry.js +4 -3
  4. package/dist/cjs/hy-hero.cjs.entry.js +1 -1
  5. package/dist/cjs/{hy-menu-language_2.cjs.entry.js → hy-menu-language.cjs.entry.js} +0 -19
  6. package/dist/cjs/hy-menu-mobile-breadcrumb.cjs.entry.js +25 -0
  7. package/dist/cjs/hy-menu.cjs.entry.js +4 -8
  8. package/dist/cjs/hy-paragraph-text.cjs.entry.js +1 -1
  9. package/dist/cjs/hy-person-profile.cjs.entry.js +61 -0
  10. package/dist/cjs/hy-site-header_3.cjs.entry.js +14 -6
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +2 -0
  13. package/dist/collection/components/accordion-item/accordion-item.css +5 -4
  14. package/dist/collection/components/accordion-item/accordion-item.js +20 -20
  15. package/dist/collection/components/hy-hero/hy-hero.css +1 -1
  16. package/dist/collection/components/navigation/menu/menu.js +21 -10
  17. package/dist/collection/components/paragraph-text/paragraph-text.css +9 -7
  18. package/dist/collection/components/person-profile/person-profile-listing/person-profile-listing.css +188 -0
  19. package/dist/collection/components/person-profile/person-profile-listing/person-profile.listing.js +124 -0
  20. package/dist/collection/components/person-profile/person-profile.css +506 -0
  21. package/dist/collection/components/person-profile/person-profile.js +199 -0
  22. package/dist/collection/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.css +20 -10
  23. package/dist/collection/components/site-header/hy-desktop-menu-links/hy-desktop-menu-links.js +3 -2
  24. package/dist/collection/components/site-header/site-header.css +12 -0
  25. package/dist/collection/components/site-header/site-header.js +21 -2
  26. package/dist/collection/components/site-header/site-logo/site-logo.css +22 -0
  27. package/dist/collection/components/site-header/site-search/site-search.css +10 -10
  28. package/dist/collection/components/site-header/site-search/site-search.js +8 -1
  29. package/dist/esm/huds-lib.js +1 -1
  30. package/dist/esm/hy-accordion-container_5.entry.js +570 -0
  31. package/dist/esm/hy-desktop-menu-links.entry.js +4 -3
  32. package/dist/esm/hy-hero.entry.js +1 -1
  33. package/dist/esm/{hy-menu-language_2.entry.js → hy-menu-language.entry.js} +1 -19
  34. package/dist/esm/hy-menu-mobile-breadcrumb.entry.js +21 -0
  35. package/dist/esm/hy-menu.entry.js +4 -8
  36. package/dist/esm/hy-paragraph-text.entry.js +1 -1
  37. package/dist/esm/hy-person-profile.entry.js +57 -0
  38. package/dist/esm/hy-site-header_3.entry.js +14 -6
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/huds-lib/huds-lib.esm.js +1 -1
  41. package/dist/huds-lib/p-0b2e3057.entry.js +1 -0
  42. package/dist/huds-lib/p-22e9d015.entry.js +1 -0
  43. package/dist/huds-lib/p-3d35d226.entry.js +1 -0
  44. package/dist/huds-lib/{p-b526249a.entry.js → p-4252e76e.entry.js} +1 -1
  45. package/dist/huds-lib/{p-bf84b857.entry.js → p-557d5e62.entry.js} +1 -1
  46. package/dist/huds-lib/{p-34f51e1d.entry.js → p-84b7ca24.entry.js} +1 -1
  47. package/dist/huds-lib/p-8f62c5a4.entry.js +1 -0
  48. package/dist/huds-lib/p-ac362729.entry.js +1 -0
  49. package/dist/huds-lib/p-c3afba74.entry.js +1 -0
  50. package/dist/types/components/navigation/menu/menu.d.ts +2 -1
  51. package/dist/types/components/person-profile/person-profile-listing/person-profile.listing.d.ts +14 -0
  52. package/dist/types/components/person-profile/person-profile.d.ts +12 -0
  53. package/dist/types/components/site-header/site-header.d.ts +1 -0
  54. package/dist/types/components.d.ts +51 -0
  55. package/package.json +1 -1
  56. package/dist/cjs/hy-accordion-container.cjs.entry.js +0 -29
  57. package/dist/cjs/hy-accordion-item.cjs.entry.js +0 -216
  58. package/dist/cjs/hy-tabs-item.cjs.entry.js +0 -20
  59. package/dist/cjs/hy-tabs.cjs.entry.js +0 -308
  60. package/dist/esm/hy-accordion-container.entry.js +0 -25
  61. package/dist/esm/hy-accordion-item.entry.js +0 -212
  62. package/dist/esm/hy-tabs-item.entry.js +0 -16
  63. package/dist/esm/hy-tabs.entry.js +0 -304
  64. package/dist/huds-lib/p-0a3ee940.entry.js +0 -1
  65. package/dist/huds-lib/p-63334950.entry.js +0 -1
  66. package/dist/huds-lib/p-85cad30d.entry.js +0 -1
  67. package/dist/huds-lib/p-8eb879d5.entry.js +0 -1
  68. package/dist/huds-lib/p-9c2f38a6.entry.js +0 -1
  69. package/dist/huds-lib/p-d4a8d85f.entry.js +0 -1
  70. package/dist/huds-lib/p-df368663.entry.js +0 -1
@@ -0,0 +1,570 @@
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-083c8c8a.js';
2
+ import { A as AccordionVariants } from './utils-cb48185b.js';
3
+
4
+ const accordionContainerCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-accordion-container{width:100%}";
5
+
6
+ const AccordionContainer = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ }
10
+ /*
11
+ * data-allow-toggle
12
+ Allow for each toggle to both open and close individually
13
+
14
+ data-allow-multiple
15
+ Allow for multiple accordion sections to be expanded at the same time.
16
+ Assumes data-allow-toggle otherwise you would not be able to close any of the accordions
17
+ */
18
+ render() {
19
+ const classAttributes = ['hy-accordion-container', 'js-hy-accordion'];
20
+ const id = this.accordionid.toLowerCase().replace(/\W/g, '-');
21
+ return (h(Host, null, h("div", { id: id, class: classAttributes.join(' '), "data-allow-multiple": "true", "data-allow-toggle": "true" }, h("slot", null)), h("hy-box", { mb: "1.75, 1.75, 2, 2.5" })));
22
+ }
23
+ };
24
+ AccordionContainer.style = accordionContainerCss;
25
+
26
+ const accordionItemCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-accordion__item{margin-bottom:12px}.hy-accordion__item__is-open{border:1px solid var(--grayscale-dark)}.hy-accordion__item__is-open .hy-accordion--heading{margin:0 auto}.hy-accordion__item__is-open .hy-accordion--heading .hy-accordion--heading__icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg)}.hy-accordion__item.mini{margin-bottom:1rem;margin-top:1rem}.hy-accordion__item__is-open.mini{margin-bottom:0;margin-top:0}.hy-accordion__item__is-open.mini .hy-accordion__item--container{border-bottom:1px solid var(--grayscale-medium-dark);border-top:1px solid var(--grayscale-medium-dark);padding-top:16px;padding-bottom:32px;margin-top:-1px;-webkit-transition:padding 0.5s ease-in-out;transition:padding 0.5s ease-in-out}@media (min-width: 30rem){.hy-accordion__item__is-open.mini .hy-accordion__item--container{padding-top:28px;padding-bottom:30px}}@media (min-width: 60rem){.hy-accordion__item__is-open.mini .hy-accordion__item--container{padding-top:32px;padding-bottom:40px}}.hy-accordion__item.hy-accordion__item__is-open.mini{background-color:var(--grayscale-white);border:none;-webkit-box-shadow:0 -10px 10px -10px rgba(0, 49, 70, 0.05);box-shadow:0 -10px 10px -10px rgba(0, 49, 70, 0.05)}.hy-accordion--heading{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;letter-spacing:-0.69px;line-height:28px;margin:0 auto;-webkit-transition:all 0.25s ease-in-out;transition:all 0.25s ease-in-out;width:100%}.hy-accordion--heading .hy-accordion__link{text-decoration:none}.hy-accordion--heading .hy-accordion__link:hover{text-decoration:none}.hy-accordion--heading .hy-accordion__button{font-size:1.125rem;line-height:22px;font-weight:700;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;background-color:var(--grayscale-background-box);border:none;color:var(--brand-main-nearly-black);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;font-family:var(--main-font-family);height:100%;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;letter-spacing:-0.45px;padding:13px 20px 13px 16px;-webkit-transition:all 0.35s ease-in;transition:all 0.35s ease-in;width:100%}.hy-accordion--heading .hy-accordion__button:hover{cursor:pointer}@media (min-width: 30rem){.hy-accordion--heading .hy-accordion__button{padding:1rem 2rem 1rem 1.25rem}}@media (min-width: 1601px){.hy-accordion--heading .hy-accordion__button{font-size:1.25rem;line-height:24px;letter-spacing:-0.5px}}@media (min-width: 75.0625rem){.hy-accordion--heading .hy-accordion__button--large{font-size:1.25rem;line-height:24px;letter-spacing:-0.5px}}@media (min-width: 75.0625rem){.hy-accordion--heading .hy-accordion__button--large .hy-accordion--heading__icon svg{height:20px;width:20px}}.hy-accordion--heading .hy-accordion__button span{text-align:left}.hy-accordion--heading .hy-accordion__button[aria-expanded=true]{background:none;position:relative}.hy-accordion--heading .hy-accordion__button[aria-expanded=true]:after{background-color:var(--grayscale-medium-dark);bottom:0;content:\"\";height:1px;left:16px;position:absolute;right:20px}.hy-accordion--heading .hy-accordion__button *{pointer-events:none}.hy-accordion--heading .hy-accordion--heading__icon{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:22px;margin-right:8px;z-index:0}.hy-accordion--heading .hy-accordion--heading__icon svg{fill:var(--brand-main)}@media (min-width: 30rem){.hy-accordion--heading .hy-accordion--heading__icon svg{height:18px;width:18px}}@media (min-width: 1601px){.hy-accordion--heading .hy-accordion--heading__icon svg{height:20px;width:20px}}.hy-accordion--heading.mini .hy-accordion__button{font-size:1.125rem;line-height:22px;background-color:var(--grayscale-white);color:var(--link-blue);letter-spacing:-0.56px;padding:0}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion__button{font-size:1.375rem;line-height:28px;letter-spacing:-0.69px;padding:0}}.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{color:var(--grayscale-black);margin-bottom:20px}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{margin-bottom:28px}}@media (min-width: 60rem){.hy-accordion--heading.mini .hy-accordion__button[aria-expanded=true]{margin-bottom:32px}}.hy-accordion--heading.mini .hy-accordion--heading__icon{margin-right:0.5rem;z-index:0}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion--heading__icon{margin-right:10px}}.hy-accordion--heading.mini .hy-accordion--heading__icon svg{fill:var(--brand-main-light);height:14px;width:14px}@media (min-width: 30rem){.hy-accordion--heading.mini .hy-accordion--heading__icon svg{height:16px;width:16px}}.hy-accordion__content{display:block;height:0;padding:0;overflow:hidden;-webkit-transition:all 0.25s ease-in-out;transition:all 0.25s ease-in-out}.hy-accordion__content--inner-wrapper{display:block;padding:16px 12px}@media (min-width: 30rem){.hy-accordion__content--inner-wrapper{padding:15px 16px}}@media (min-width: 60rem){.hy-accordion__content--inner-wrapper{padding:16px}}@media (min-width: 75.0625rem){.hy-accordion__content--inner-wrapper--large{padding:24px 20px}}@media (min-width: 1601px){.hy-accordion__content--inner-wrapper{padding:24px 20px}}.hy-accordion__content--inner-wrapper--mini{padding:0}.hy-accordion__content--inner-wrapper--mini .course-heading h4{padding-top:0 !important}";
27
+
28
+ let keys$1 = {
29
+ enter: 'Enter',
30
+ tab: 'Tab',
31
+ pageUp: 'PageUp',
32
+ pageDown: 'PageDown',
33
+ arrowUp: 'ArrowUp',
34
+ arrowDown: 'ArrowDown',
35
+ home: 'Home',
36
+ end: 'End', //35
37
+ };
38
+ const AccordionItem = class {
39
+ constructor(hostRef) {
40
+ registerInstance(this, hostRef);
41
+ this.variant = AccordionVariants.default;
42
+ this.headerstyle = 'common';
43
+ this.showOpen = false;
44
+ this.ready = false;
45
+ }
46
+ componentDidLoad() {
47
+ this.ready = true;
48
+ let hyMainDiv = this.el.closest('.hy-main');
49
+ if (hyMainDiv) {
50
+ if (!hyMainDiv.classList.contains('with-sidebar')) {
51
+ this.headerstyle = 'large';
52
+ }
53
+ }
54
+ }
55
+ componentDidRender() {
56
+ if (window.location.hash) {
57
+ this.expandPanelByAnchor(window.location.hash);
58
+ }
59
+ document.querySelectorAll('.hy-accordion__content').forEach(function (accordion) {
60
+ let showOpen = accordion.classList.contains('open');
61
+ let element = accordion;
62
+ if (showOpen) {
63
+ element.style.display = 'block';
64
+ element.style.height = element.scrollHeight + 'px';
65
+ }
66
+ else {
67
+ element.style.height = 0 + 'px';
68
+ element.style.display = 'none';
69
+ }
70
+ });
71
+ }
72
+ onHashChange() {
73
+ if (window.location.hash) {
74
+ this.expandPanelByAnchor(window.location.hash);
75
+ }
76
+ }
77
+ handleKeyDown(event) {
78
+ const containerId = this.el.parentElement.id;
79
+ let accordion = document.querySelectorAll(`#${containerId}`)[0];
80
+ const triggers = Array.prototype.slice.call(accordion.querySelectorAll('.hy-accordion__button'));
81
+ let target = event.target;
82
+ const key = event.code;
83
+ const ctrlModifier = event.ctrlKey && [keys$1.pageDown, keys$1.pageUp].includes(key); //key.match(/33|34/);
84
+ if (target.classList.contains('hy-accordion__button')) {
85
+ // Up/ Down arrow and Control + Page Up/ Page Down keyboard operations
86
+ if ([keys$1.arrowDown, keys$1.arrowUp].includes(key) || ctrlModifier) {
87
+ const index = triggers.indexOf(target);
88
+ const direction = [keys$1.arrowDown, keys$1.pageDown].includes(key) ? 1 : -1;
89
+ const length = triggers.length;
90
+ const newIndex = (index + length + direction) % length;
91
+ triggers[newIndex].focus();
92
+ event.preventDefault();
93
+ }
94
+ else if ([keys$1.home, keys$1.end].includes(key)) {
95
+ switch (key) {
96
+ // Go to first accordion
97
+ case keys$1.home:
98
+ triggers[0].focus();
99
+ break;
100
+ // Go to last accordion
101
+ case keys$1.end:
102
+ triggers[triggers.length - 1].focus();
103
+ break;
104
+ }
105
+ event.preventDefault();
106
+ }
107
+ }
108
+ }
109
+ handleClick(event) {
110
+ const target = event.target;
111
+ const accordionContainer = this.el.parentElement;
112
+ const allowMultiple = accordionContainer.hasAttribute('data-allow-multiple');
113
+ const allowToggle = allowMultiple ? allowMultiple : accordionContainer.hasAttribute('data-allow-toggle');
114
+ if (target && target.tagName.toLowerCase() === 'button') {
115
+ let targetParent = target.closest('.hy-accordion__item');
116
+ let targetContent = targetParent.getElementsByClassName('hy-accordion__content')[0];
117
+ const isExpanded = target.getAttribute('aria-expanded') === 'true';
118
+ const activeButtonElement = accordionContainer.querySelector('[aria-expanded="true"]');
119
+ if (!allowMultiple && activeButtonElement && activeButtonElement !== target) {
120
+ activeButtonElement.setAttribute('aria-expanded', 'false');
121
+ this.collapseSection(targetContent);
122
+ if (targetParent.classList.contains('hy-accordion__item__is-open')) {
123
+ targetParent.classList.remove('hy-accordion__item__is-open');
124
+ }
125
+ accordionContainer
126
+ .querySelector(`#${activeButtonElement.getAttribute('aria-controls')}`)
127
+ .setAttribute('aria-hidden', 'true');
128
+ if (!allowToggle) {
129
+ activeButtonElement.removeAttribute('aria-disabled');
130
+ }
131
+ }
132
+ if (!isExpanded) {
133
+ this.expandSection(targetContent);
134
+ target.setAttribute('aria-expanded', 'true');
135
+ targetParent.classList.add('hy-accordion__item__is-open');
136
+ accordionContainer
137
+ .querySelector(`#${target.getAttribute('aria-controls')}`)
138
+ .setAttribute('aria-hidden', 'false');
139
+ if (!allowToggle) {
140
+ target.setAttribute('aria-disabled', 'true');
141
+ }
142
+ }
143
+ else if (allowToggle && isExpanded) {
144
+ target.setAttribute('aria-expanded', 'false');
145
+ this.collapseSection(targetContent);
146
+ if (targetParent.classList.contains('hy-accordion__item__is-open')) {
147
+ targetParent.classList.remove('hy-accordion__item__is-open');
148
+ }
149
+ accordionContainer
150
+ .querySelector(`#${target.getAttribute('aria-controls')}`)
151
+ .setAttribute('aria-hidden', 'true');
152
+ }
153
+ event.preventDefault();
154
+ event.stopImmediatePropagation();
155
+ }
156
+ }
157
+ expandPanelByAnchor(anchor) {
158
+ setTimeout(() => {
159
+ if (anchor.length > 0) {
160
+ anchor = anchor.substr(1);
161
+ let target = document.querySelectorAll(`[id=${anchor}]`)[0];
162
+ if (target && target.classList.contains('hy-accordion__button')) {
163
+ let targetParent = target.closest('.hy-accordion__item');
164
+ let targetContent = targetParent.querySelectorAll('.hy-accordion__content')[0];
165
+ this.expandSection(targetContent);
166
+ target.setAttribute('aria-expanded', 'true');
167
+ targetParent.classList.add('hy-accordion__item__is-open');
168
+ const targetElementRect = target.getBoundingClientRect();
169
+ window.scrollTo({ top: window.scrollY + targetElementRect.top - 200, behavior: 'smooth' });
170
+ const containerId = targetParent.parentElement.parentElement.id;
171
+ if (containerId.length > 0) {
172
+ let accordion = document.querySelectorAll(`#${containerId}`)[0];
173
+ accordion.querySelector(`#${target.getAttribute('aria-controls')}`).setAttribute('aria-hidden', 'false');
174
+ }
175
+ }
176
+ }
177
+ }, 200);
178
+ }
179
+ collapseSection(element) {
180
+ element.style.height = 0 + 'px';
181
+ element.setAttribute('data-collapsed', 'true');
182
+ setTimeout(() => {
183
+ element.style.display = 'none';
184
+ }, 250);
185
+ }
186
+ expandSection(element) {
187
+ element.style.display = 'block';
188
+ element.style.height = element.scrollHeight + 'px';
189
+ element.setAttribute('data-collapsed', 'false');
190
+ }
191
+ render() {
192
+ const containerId = this.el.parentElement.id;
193
+ if (this.ready && containerId.length > 0) {
194
+ document.querySelectorAll(`#${containerId}`).forEach(function (accordion) {
195
+ if (accordion) {
196
+ accordion.querySelectorAll('.hy-accordion__button').forEach(function (trigger) {
197
+ trigger.addEventListener('focus', function () {
198
+ trigger.classList.add('focus');
199
+ });
200
+ trigger.addEventListener('blur', function () {
201
+ trigger.classList.remove('focus');
202
+ });
203
+ });
204
+ }
205
+ });
206
+ }
207
+ const classIsOpen = this.showOpen ? 'hy-accordion__item__is-open' : '';
208
+ const classContentIsOpen = this.showOpen ? 'open' : '';
209
+ const classAttributes = ['hy-accordion__item', this.variant, classIsOpen].join(' ');
210
+ const classInnerWrapper = ['hy-accordion__item--container', this.variant].join(' ');
211
+ const classHeadingAttributes = ['hy-accordion--heading', this.variant].join(' ');
212
+ const classContentAttributes = [
213
+ 'hy-accordion__content',
214
+ `hy-accordion__content--${this.variant}`,
215
+ this.variant,
216
+ classContentIsOpen,
217
+ ].join(' ');
218
+ const classContentInnerWrapper = [
219
+ 'hy-accordion__content--inner-wrapper',
220
+ `hy-accordion__content--inner-wrapper--${this.headerstyle}`,
221
+ `hy-accordion__content--inner-wrapper--${this.variant}`,
222
+ ].join(' ');
223
+ const titleAsId = this.accordiontitle.toLowerCase().replace(/\W/g, '-');
224
+ const accordionItemHref = '#' + titleAsId + '--title';
225
+ const ariaExpanded = this.showOpen ? 'true' : 'false';
226
+ const ariaHidden = this.showOpen ? 'false' : 'true';
227
+ const dataCollapsed = this.showOpen ? 'false' : 'true';
228
+ return (h("div", { class: classAttributes }, h("div", { class: classInnerWrapper }, h("div", { class: classHeadingAttributes }, h("a", { href: accordionItemHref, class: "hy-accordion__link", tabindex: "-1" }, h("button", { "aria-expanded": ariaExpanded, "aria-controls": `${titleAsId}--content`, class: `hy-accordion__button hy-accordion__button--${this.headerstyle}`, id: `${titleAsId}--title` }, h("span", { class: "hy-accordion--heading__icon" }, h("hy-icon", { icon: 'hy-icon-caret-down', size: 16 })), h("span", null, this.accordiontitle)))), h("div", { "aria-labelledBy": `${titleAsId}--title`, class: classContentAttributes, id: `${titleAsId}--content`, role: "region", "aria-hidden": ariaHidden, "data-collapsed": dataCollapsed, style: { display: 'none' } }, h("div", { class: classContentInnerWrapper }, h("slot", null))))));
229
+ }
230
+ get el() { return getElement(this); }
231
+ };
232
+ AccordionItem.style = accordionItemCss;
233
+
234
+ const personProfileListingCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}.hy-person-profile-listing{font-family:var(--main-font-family);padding:0;margin:0;list-style:none;display:grid;gap:24px}@media (min-width: 48rem){.hy-person-profile-listing{gap:32px 24px}}@media (min-width: 120.0625rem){.hy-person-profile-listing.col-2{grid-template-columns:repeat(2, 50%)}}.hy-person-profile-listing.col-4{gap:32px 24px}@media (min-width: 48rem){.hy-person-profile-listing.col-4{grid-template-columns:repeat(2, 50%)}}@media (min-width: 60rem){.hy-person-profile-listing.col-4{grid-template-columns:repeat(3, calc(100% / 3))}}@media (min-width: 120.0625rem){.hy-person-profile-listing.col-4{grid-template-columns:repeat(4, 25%)}}.hy-person-profile-listing__label{font-size:0.9375rem;line-height:18px;font-weight:700;letter-spacing:-0.28px;color:var(--grayscale-black);margin:0 0 8px}@media (min-width: 48rem){.hy-person-profile-listing__label{font-size:1.0625rem;line-height:20px;letter-spacing:-0.32px}}.hy-person-profile-listing__items{margin:0;padding:0;list-style:none;display:grid;gap:8px}.is-inline .hy-person-profile-listing__items{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:0}.text-tight .hy-person-profile-listing__items{gap:0}.hy-person-profile-listing__item{font-size:0.9375rem;line-height:22px;font-weight:400;color:var(--grayscale-black);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}@media (min-width: 48rem){.hy-person-profile-listing__item{font-size:1.0625rem;line-height:26px}}.hy-person-profile-listing__item a{text-decoration:none;color:var(--link-blue)}.hy-person-profile-listing__item a:hover{text-decoration:underline}.hy-person-profile-listing__item hy-icon{display:none !important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:28px;width:28px}@media (min-width: 48rem){.hy-person-profile-listing__item hy-icon{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}.without-icons .hy-person-profile-listing__item hy-icon{display:none !important}";
235
+
236
+ const PersonProfile = class {
237
+ constructor(hostRef) {
238
+ registerInstance(this, hostRef);
239
+ this.col = 'col-2';
240
+ }
241
+ render() {
242
+ return (h(Host, null, h("ul", { class: `hy-person-profile-listing ${this.col} ${this.inline ? 'is-inline' : ''} ${this.withoutIcons ? 'without-icons' : ''} ${this.textSpacingTight ? 'text-tight' : ''}` }, this.items.map(({ label, items }) => {
243
+ if (items.filter(({ label, url }) => label !== '' && url !== '').length > 0) {
244
+ return (h("li", null, h("h3", { class: "hy-person-profile-listing__label" }, label), h("ul", { class: "hy-person-profile-listing__items" }, items.map(({ label, url }, index) => {
245
+ if (url) {
246
+ return (h("li", { class: "hy-person-profile-listing__item" }, h("a", { href: url }, index !== 0 && h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), h("span", null, label))));
247
+ }
248
+ return (h("li", { class: "hy-person-profile-listing__item" }, index !== 0 && h("hy-icon", { icon: 'hy-icon-caret-right', size: 10 }), h("span", null, label)));
249
+ }))));
250
+ }
251
+ }))));
252
+ }
253
+ };
254
+ PersonProfile.style = personProfileListingCss;
255
+
256
+ const hyTabsCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}.hy-tabs__container .hy-tablist-container{border-bottom:1px solid var(--grayscale-tabs-border);position:relative}.hy-tabs__container .hy-tab-scroll{background-color:rgba(255, 255, 255, 0.8);border:0;height:100%;margin:0;padding:0;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:4}.hy-tabs__container .hy-tab-scroll.is-hidden{display:none;visibility:hidden}.hy-tabs__container .hy-tab-scroll.is-disabled{background-color:var(--grayscale-medium)}.hy-tabs__container .hy-tab-scroll.is-disabled:hover{cursor:none}.hy-tabs__container .hy-tab-scroll:focus,.hy-tabs__container .hy-tab-scroll:hover{outline:none;cursor:pointer}.hy-tabs__container .hy-tab-scroll span{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-black);border-radius:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;height:32px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:32px}.hy-tabs__container .hy-tab-scroll span svg{fill:var(--grayscale-white);height:16px;width:16px}.hy-tabs__container .hy-tab-scroll__left{left:0;padding-right:8px}.hy-tabs__container .hy-tab-scroll__left svg{-webkit-transform:translateX(-1px);transform:translateX(-1px)}.hy-tabs__container .hy-tab-scroll__right{padding-left:8px;right:0}.hy-tabs__container .hy-tab-scroll__right svg{-webkit-transform:translateX(1px);transform:translateX(1px)}.hy-tabs__container [role=tablist]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0 0 -0.1em;overflow:scroll;position:relative;scrollbar-width:none;white-space:nowrap}.hy-tabs__container [role=tablist]::-webkit-scrollbar{display:none}.hy-tabs__container [role=tablist] a{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:47.56%;text-decoration:none;-ms-flex-negative:0;flex-shrink:0}.hy-tabs__container [role=tablist] a:not(:first-of-type){margin-left:6px}@media (min-width: 30rem){.hy-tabs__container [role=tablist] a{max-width:35.37%}}@media (min-width: 60rem){.hy-tabs__container [role=tablist] a{max-width:23.13%}}@media (min-width: 75.0625rem){.hy-tabs__container [role=tablist] a{max-width:23.03%}}.hy-tabs__container [role=tab]{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;background-color:transparent;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:6px;padding:0}.hy-tabs__container [role=tab]>span{font-size:0.875rem;line-height:14px;font-weight:700;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--grayscale-background-box);border:0;color:var(--link-blue);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--main-font-family);-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;letter-spacing:-0.5px;padding:8px 8px 7px;pointer-events:none;position:relative;text-align:left;white-space:normal;word-break:break-word;overflow-wrap:break-word;overflow-wrap:break-word}@media (min-width: 30rem){.hy-tabs__container [role=tab]>span{font-size:1rem;line-height:18px;padding:16px 12px 10px}}@media (min-width: 75.0625rem){.hy-tabs__container [role=tab]>span{font-size:1.125rem;line-height:20px;letter-spacing:-0.6px;padding:16px 16px 14px}}@supports (overflow-wrap: anywhere){.hy-tabs__container [role=tab]>span{overflow-wrap:anywhere}}@supports (overflow-wrap: anywhere){.hy-tabs__container [role=tab]>span{overflow-wrap:anywhere}}@media (min-width: 75.0625rem){.hy-tabs__container [role=tab].large{margin:0 12px 0 0}}.hy-tabs__container [role=tab][aria-selected=true]{border-bottom-width:0;border:1px solid var(--grayscale-dark);margin-bottom:0;z-index:3}.hy-tabs__container [role=tab][aria-selected=true]>span{background-color:var(--grayscale-white);color:var(--grayscale-black);padding-bottom:13px}@media (min-width: 30rem){.hy-tabs__container [role=tab][aria-selected=true]>span{padding-bottom:16px}}@media (min-width: 75.0625rem){.hy-tabs__container [role=tab][aria-selected=true]>span{padding-bottom:20px}}.hy-tabs__container [role=tab][aria-selected=true]>span:before{background-color:var(--grayscale-white);bottom:0;content:\"\";height:4px;left:0;position:absolute;right:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.hy-tabs__container [role=tab][aria-selected=true]>span:after{background-color:var(--grayscale-black);bottom:0;content:\"\";height:4px;left:8px;position:absolute;right:8px}.hy-tabs__container [role=tab]:hover{border-radius:0;color:inherit;cursor:pointer;text-decoration:none}.hy-tabs__container [role=tab]:hover span{background-color:var(--hover-gray);color:var(--brand-main-active)}.hy-tabs__container [role=tabpanel]{border:1px solid var(--grayscale-dark);padding:28px 12px;position:relative;z-index:2}@media (min-width: 30rem){.hy-tabs__container [role=tabpanel]{padding:38px 15px}}@media (min-width: 60rem){.hy-tabs__container [role=tabpanel]{padding:40px 20px}}.hy-tabs__container [role=tabpanel]:focus{outline:0}";
257
+
258
+ // For easy reference
259
+ let keys = {
260
+ end: 35,
261
+ home: 36,
262
+ left: 37,
263
+ up: 38,
264
+ right: 39,
265
+ down: 40,
266
+ delete: 46,
267
+ };
268
+ // Add or substract depending on key pressed
269
+ let direction = {
270
+ 37: -1,
271
+ 38: -1,
272
+ 39: 1,
273
+ 40: 1,
274
+ };
275
+ let checkTimeout;
276
+ let focusTimeout;
277
+ let scrollTimeout;
278
+ const HyTabs = class {
279
+ constructor(hostRef) {
280
+ registerInstance(this, hostRef);
281
+ this.tabListLabel = '';
282
+ this.focusTimeoutCleared = true;
283
+ this.headerstyle = 'common';
284
+ }
285
+ componentWillLoad() {
286
+ const tabItems = this.el.querySelectorAll('hy-tabs-item');
287
+ if (tabItems) {
288
+ this.tabButtonTitles = Array.from(tabItems).map((panel) => {
289
+ return {
290
+ title: panel.getAttribute('tab-title'),
291
+ id: panel.getAttribute('tab-title').toLowerCase().replace(/\W/g, '-'),
292
+ };
293
+ });
294
+ }
295
+ }
296
+ componentDidLoad() {
297
+ let hyMainDiv = this.el.closest('.hy-main');
298
+ if (hyMainDiv) {
299
+ if (!hyMainDiv.classList.contains('with-sidebar')) {
300
+ this.headerstyle = 'large';
301
+ }
302
+ }
303
+ const tabContainer = this.el.querySelector('.hy-tabs__container');
304
+ if (tabContainer) {
305
+ this.generateArrays(tabContainer);
306
+ const leftButton = this.el.querySelectorAll('.hy-tab-scroll__left')[0];
307
+ const rightButton = this.el.querySelectorAll('.hy-tab-scroll__right')[0];
308
+ const tabList = this.tabList;
309
+ this.checkScrollHidden(tabList, leftButton, rightButton);
310
+ tabList.addEventListener('scroll', () => {
311
+ scrollTimeout = setTimeout(() => {
312
+ window.clearTimeout(scrollTimeout);
313
+ this.checkScrollHidden(tabList, leftButton, rightButton);
314
+ }, 250);
315
+ }, false);
316
+ if (tabList.offSetWidth <= document.body.scrollWidth) {
317
+ leftButton.classList.add('is-hidden');
318
+ rightButton.classList.add('is-hidden');
319
+ }
320
+ const oneTabWidth = 250;
321
+ rightButton.addEventListener('click', (e) => {
322
+ e.preventDefault();
323
+ rightButton.classList.add('is-disabled');
324
+ tabList.scrollBy({
325
+ top: 0,
326
+ left: +oneTabWidth,
327
+ behavior: 'smooth',
328
+ });
329
+ checkTimeout = window.setTimeout(() => {
330
+ window.clearTimeout(checkTimeout);
331
+ this.checkScrollHidden(tabList, leftButton, rightButton);
332
+ rightButton.classList.remove('is-disabled');
333
+ }, 250);
334
+ });
335
+ leftButton.addEventListener('click', (e) => {
336
+ e.preventDefault();
337
+ leftButton.classList.add('is-disabled');
338
+ tabList.scrollBy({
339
+ top: 0,
340
+ left: -oneTabWidth,
341
+ behavior: 'smooth',
342
+ });
343
+ checkTimeout = window.setTimeout(() => {
344
+ window.clearTimeout(checkTimeout);
345
+ this.checkScrollHidden(tabList, leftButton, rightButton);
346
+ leftButton.classList.remove('is-disabled');
347
+ }, 250);
348
+ });
349
+ }
350
+ }
351
+ generateArrays(tc) {
352
+ this.tabList = tc.querySelectorAll('[role="tablist"]')[0];
353
+ this.tabButtons = tc.querySelectorAll('[role="tab"]');
354
+ this.tabPanelsState = [tc.querySelectorAll('[role="tabpanel"]')];
355
+ if (this.tabButtons.length > 0) {
356
+ this.addListeners(this.tabButtons, 1);
357
+ this.activateTab(this.tabButtons[0], true);
358
+ }
359
+ }
360
+ addListeners(tabs, index) {
361
+ if (tabs.length > 1) {
362
+ for (let i = 0; i < tabs.length; ++i) {
363
+ tabs[index].addEventListener('click', this.clickEventListener);
364
+ tabs[index].addEventListener('keydown', this.keydownEventListener);
365
+ //tabs[index].addEventListener('keyup', this.keyupEventListener);
366
+ tabs[index].index = index;
367
+ }
368
+ }
369
+ }
370
+ checkScrollHidden(tablist, leftButton, rightButton) {
371
+ if (tablist.scrollLeft === 0) {
372
+ leftButton.classList.add('is-hidden');
373
+ }
374
+ else {
375
+ leftButton.classList.remove('is-hidden');
376
+ }
377
+ if (tablist.scrollLeft + tablist.clientWidth >= tablist.scrollWidth - 1) {
378
+ rightButton.classList.add('is-hidden');
379
+ }
380
+ else {
381
+ rightButton.classList.remove('is-hidden');
382
+ }
383
+ }
384
+ // When a tab is clicked, activateTab is fired to activate it
385
+ clickEventListener(event) {
386
+ if (event) {
387
+ const target = event.target;
388
+ const tabs = this.tabButtonTitles;
389
+ if (tabs) {
390
+ tabs.forEach((tab) => {
391
+ const id = Object.values(tab)[1];
392
+ if (id === target.id) {
393
+ this.activateTab(target, true);
394
+ }
395
+ });
396
+ event.stopPropagation();
397
+ event.stopImmediatePropagation();
398
+ }
399
+ }
400
+ }
401
+ keydownEventListener(event) {
402
+ const key = event.keyCode;
403
+ const tabs = this.tabButtonTitles;
404
+ switch (key) {
405
+ case keys.end:
406
+ event.preventDefault();
407
+ // Activate last tab
408
+ this.activateTab(tabs[tabs.length - 1], true);
409
+ break;
410
+ case keys.home:
411
+ event.preventDefault();
412
+ // Activate first tab
413
+ this.activateTab(tabs[0], true);
414
+ break;
415
+ // Up and down are in keydown
416
+ // because we need to prevent page scroll >:)
417
+ case keys.up:
418
+ case keys.down:
419
+ if (this.focusTimeoutCleared) {
420
+ this.determineOrientation(event);
421
+ }
422
+ break;
423
+ }
424
+ }
425
+ keyupEventListener(event) {
426
+ const key = event.keyCode;
427
+ switch (key) {
428
+ case keys.left:
429
+ case keys.right:
430
+ event.preventDefault();
431
+ if (this.focusTimeoutCleared) {
432
+ this.determineOrientation(event);
433
+ }
434
+ break;
435
+ }
436
+ event.stopPropagation();
437
+ event.stopImmediatePropagation();
438
+ }
439
+ determineOrientation(event) {
440
+ const leftButton = this.el.querySelectorAll('.hy-tab-scroll__left')[0];
441
+ const rightButton = this.el.querySelectorAll('.hy-tab-scroll__right')[0];
442
+ const tabList = this.tabList;
443
+ this.checkScrollHidden(tabList, leftButton, rightButton);
444
+ const key = event.keyCode;
445
+ const vertical = tabList.getAttribute('aria-orientation') == 'vertical';
446
+ let proceed = false;
447
+ if (vertical) {
448
+ if (key === keys.up || key === keys.down) {
449
+ event.preventDefault();
450
+ proceed = true;
451
+ }
452
+ }
453
+ else {
454
+ if (key === keys.left || key === keys.right) {
455
+ proceed = true;
456
+ }
457
+ }
458
+ if (proceed) {
459
+ this.switchTabOnArrowPress(event);
460
+ }
461
+ }
462
+ switchTabOnArrowPress(event) {
463
+ const pressed = event.keyCode;
464
+ if (direction[pressed]) {
465
+ const target = event.target;
466
+ const tabs = this.tabButtons;
467
+ for (let i = 0; i < tabs.length; i++) {
468
+ if (tabs[i].id === target.id) {
469
+ if (i > 0) {
470
+ if (direction[pressed] === -1) {
471
+ tabs[i - 1].focus();
472
+ this.focusEventHandler(tabs[i - 1]);
473
+ break;
474
+ }
475
+ }
476
+ if (i < tabs.length - 1) {
477
+ if (direction[pressed] === 1) {
478
+ tabs[i + 1].focus();
479
+ this.focusEventHandler(tabs[i + 1]);
480
+ break;
481
+ }
482
+ }
483
+ }
484
+ }
485
+ }
486
+ }
487
+ // Activates any given tab panel
488
+ activateTab(tab, setFocus) {
489
+ setFocus = setFocus || true;
490
+ // Deactivate all other tabs
491
+ this.deactivateTabs(this.tabButtons);
492
+ // Remove tabindex attribute
493
+ tab.removeAttribute('tabindex');
494
+ tab.setAttribute('aria-selected', 'true');
495
+ const controls = tab.getAttribute('aria-controls');
496
+ this.el.querySelector(`#${controls}`).removeAttribute('hidden');
497
+ if (setFocus) {
498
+ tab.focus();
499
+ }
500
+ }
501
+ // Deactivate all tabs and tab panels
502
+ deactivateTabs(tabs) {
503
+ for (let t = 0; t < tabs.length; t++) {
504
+ tabs[t].setAttribute('tabindex', '-1');
505
+ tabs[t].setAttribute('aria-selected', 'false');
506
+ tabs[t].removeEventListener('focus', this.focusEventHandler);
507
+ }
508
+ const panels = this.tabPanelsState[0];
509
+ for (let p = 0; p < panels.length; p++) {
510
+ panels[p].setAttribute('hidden', 'hidden');
511
+ }
512
+ }
513
+ focusEventHandler(tab) {
514
+ const target = tab;
515
+ this.focusTimeoutCleared = false;
516
+ focusTimeout = window.setTimeout(() => {
517
+ window.clearTimeout(focusTimeout);
518
+ this.focusTimeoutCleared = true;
519
+ const focused = document.activeElement;
520
+ if (target === focused) {
521
+ this.activateTab(target, false);
522
+ }
523
+ }, 250);
524
+ }
525
+ render() {
526
+ const classComponentAttributes = ['hy-tabs__container', `hy-tabs__container__${this.headerstyle}`].join(' ');
527
+ const id = this.tabId.toLowerCase().replace(/\W/g, '-');
528
+ if (window.location.hash) {
529
+ const tabHash = window.location.hash.substring(1);
530
+ const isUrlHashed = this.tabButtonTitles.some((tab) => tab['id'] === tabHash);
531
+ if (isUrlHashed) {
532
+ const hashElement = document.getElementById(tabHash);
533
+ if (hashElement) {
534
+ this.activateTab(hashElement, true);
535
+ const hashElementRect = hashElement.getBoundingClientRect();
536
+ window.scrollTo({ top: window.scrollY + hashElementRect.top - 200, behavior: 'smooth' });
537
+ }
538
+ }
539
+ }
540
+ return [
541
+ h("hy-box", { pt: "1.25, 1.25, 1.5, 2.5" }),
542
+ h("div", { id: id, class: classComponentAttributes }, h("div", { class: "hy-tablist-container" }, h("button", { tabindex: "-1", class: "hy-tab-scroll hy-tab-scroll__left is-hidden", "aria-hidden": "true" }, h("span", null, h("hy-icon", { icon: 'hy-icon-caret-left', size: 16 }))), h("div", { role: "tablist", "aria-label": this.tabListLabel }, this.tabButtonTitles &&
543
+ this.tabButtonTitles.map((item) => {
544
+ const title = Object.values(item)[0];
545
+ const id = title.toLowerCase().replace(/\W/g, '-');
546
+ const titleAsId = title.toLowerCase().replace(/\W/g, '-');
547
+ const tabItemHref = '#' + titleAsId;
548
+ return (h("a", { href: tabItemHref, tabindex: "-1" }, h("button", { "aria-selected": "false", "aria-controls": `${id}-tab`, class: this.headerstyle, role: "tab", id: id }, h("span", null, title))));
549
+ })), h("button", { tabindex: "-1", class: "hy-tab-scroll hy-tab-scroll__right", "aria-hidden": "true" }, h("span", null, h("hy-icon", { icon: 'hy-icon-caret-right', size: 16 })))), h("slot", null)),
550
+ h("hy-box", { mb: "1.75, 1.75, 2, 2.5" }),
551
+ ];
552
+ }
553
+ get el() { return getElement(this); }
554
+ };
555
+ HyTabs.style = hyTabsCss;
556
+
557
+ const hyTabsItemCss = ":root{--brand-main:#0e688b;--brand-main-soft:#b1e7ff;--brand-main-bright:#48c5f8;--brand-main-light:#107eab;--brand-main-active:#005379;--brand-main-dark:#003146;--brand-main-nearly-black:#000222;--link-blue:#0479a4;--link-disabled:#767676;--grayscale-white:#fff;--grayscale-slightly-gray:#fefefe;--grayscale-light:#f8f8f8;--grayscale-medium:#d2d2d2;--grayscale-background-box:#f5f5f5;--grayscale-tabs-border:#e6e6e6;--grayscale-background-arrow:#dfdfdf;--grayscale-medium-dark:#979797;--grayscale-dark:#555555;--grayscale-dark-text:#222222;--grayscale-black:#000000;--additional-red-light:#e5053a;--additional-red-dark:#a31621;--additional-purple-light:#420039;--additional-yellow:#f9a21a;--additional-skyblue:#48c5f8;--additional-orange:#d14600;--additional-green-light:#96ba3c;--additional-green-dark:#006400;--hover-gray:#eaeaea}*{-webkit-box-sizing:border-box;box-sizing:border-box}:root{--gutter-mobile:16px;--gutter-narrow:24px;--gutter-medium:24px;--gutter-wide:24px;--gutter-extrawide:32px}:root{--breakpoint-extrawide:75.0625rem;--breakpoint-max-width:75.0625rem;--breakpoint-medium:48rem;--breakpoint-narrow:30rem;--breakpoint-wide:60rem}:host{display:block}";
558
+
559
+ const HyTabsItem = class {
560
+ constructor(hostRef) {
561
+ registerInstance(this, hostRef);
562
+ }
563
+ render() {
564
+ const id = this.tabTitle.toLowerCase().replace(/\W/g, '-');
565
+ return (h("div", { tabindex: "0", role: "tabpanel", id: `${id}-tab`, "aria-labelledby": id, hidden: true }, h("slot", null)));
566
+ }
567
+ };
568
+ HyTabsItem.style = hyTabsItemCss;
569
+
570
+ export { AccordionContainer as hy_accordion_container, AccordionItem as hy_accordion_item, PersonProfile as hy_person_profile_listing, HyTabs as hy_tabs, HyTabsItem as hy_tabs_item };