scb-wc-test 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/all.js CHANGED
@@ -40,6 +40,7 @@ import './mvc/components/scb-menu/scb-menu-item.js';
40
40
  import './mvc/components/scb-menu/scb-menu.js';
41
41
  import './mvc/components/scb-menu/scb-sub-menu.js';
42
42
  import './mvc/components/scb-notification/scb-notification.js';
43
+ import './mvc/components/scb-notification-card/scb-notification-card.js';
43
44
  import './mvc/components/scb-progress-indicator/scb-progress-indicator.js';
44
45
  import './mvc/components/scb-radio-button/scb-radio-button.js';
45
46
  import './mvc/components/scb-radio-button/scb-radio-group.js';
@@ -97,6 +98,7 @@ import './scb-menu/scb-menu-item.js';
97
98
  import './scb-menu/scb-menu.js';
98
99
  import './scb-menu/scb-sub-menu.js';
99
100
  import './scb-notification/scb-notification.js';
101
+ import './scb-notification-card/scb-notification-card.js';
100
102
  import './scb-progress-indicator/scb-progress-indicator.js';
101
103
  import './scb-radio-button/scb-radio-button.js';
102
104
  import './scb-radio-button/scb-radio-group.js';
package/index.d.ts CHANGED
@@ -37,6 +37,7 @@ export * from './scb-menu/scb-menu-item';
37
37
  export * from './scb-menu/scb-menu';
38
38
  export * from './scb-menu/scb-sub-menu';
39
39
  export * from './scb-notification/scb-notification';
40
+ export * from './scb-notification-card/scb-notification-card';
40
41
  export * from './scb-progress-indicator/scb-progress-indicator';
41
42
  export * from './scb-radio-button/scb-radio-button';
42
43
  export * from './scb-radio-button/scb-radio-group';
package/index.js CHANGED
@@ -15,8 +15,8 @@ import { ScbDivider as H } from "./scb-divider/scb-divider.js";
15
15
  import { ScbDrawerItem as A } from "./scb-drawer/scb-drawer-item.js";
16
16
  import { ScbDrawerSection as L } from "./scb-drawer/scb-drawer-section.js";
17
17
  import { ScbDrawer as P } from "./scb-drawer/scb-drawer.js";
18
- import { ScbSubDrawer as R } from "./scb-drawer/scb-sub-drawer.js";
19
- import { ScbFactCardContent as N } from "./scb-fact-card/scb-fact-card-content.js";
18
+ import { ScbSubDrawer as N } from "./scb-drawer/scb-sub-drawer.js";
19
+ import { ScbFactCardContent as K } from "./scb-fact-card/scb-fact-card-content.js";
20
20
  import { ScbFactCard as j } from "./scb-fact-card/scb-fact-card.js";
21
21
  import { ScbFooterSection as z } from "./scb-footer/scb-footer-section.js";
22
22
  import { ScbFooter as J } from "./scb-footer/scb-footer.js";
@@ -37,20 +37,21 @@ import { ScbMenuItem as Br } from "./scb-menu/scb-menu-item.js";
37
37
  import { ScbMenu as Tr } from "./scb-menu/scb-menu.js";
38
38
  import { ScbSubMenu as wr } from "./scb-menu/scb-sub-menu.js";
39
39
  import { ScbNotification as Fr } from "./scb-notification/scb-notification.js";
40
- import { ScbProgressIndicator as kr } from "./scb-progress-indicator/scb-progress-indicator.js";
41
- import { ScbRadioButton as Hr } from "./scb-radio-button/scb-radio-button.js";
42
- import { ScbRadioGroup as Ar } from "./scb-radio-button/scb-radio-group.js";
43
- import { ScbSearch as Lr } from "./scb-search/scb-search.js";
44
- import { ScbSnackbar as Pr } from "./scb-snackbar/scb-snackbar.js";
45
- import { ScbStatusPill as Rr } from "./scb-status-pill/scb-status-pill.js";
46
- import { ScbSwitch as Nr } from "./scb-switch/scb-switch.js";
47
- import { ScbPrimaryTab as jr } from "./scb-tabs/scb-primary-tab.js";
48
- import { ScbSecondaryTab as zr } from "./scb-tabs/scb-secondary-tab.js";
49
- import { ScbTabs as Jr } from "./scb-tabs/scb-tabs.js";
50
- import { ScbTextField2 as Qr } from "./scb-textfield/scb-textfield.js";
51
- import { ScbTocItem as Wr } from "./scb-toc/scb-toc-item.js";
52
- import { ScbToc as Yr } from "./scb-toc/scb-toc.js";
53
- import { ScbTooltip as _r } from "./scb-tooltip/scb-tooltip.js";
40
+ import { ScbNotificationCard as kr } from "./scb-notification-card/scb-notification-card.js";
41
+ import { ScbProgressIndicator as Hr } from "./scb-progress-indicator/scb-progress-indicator.js";
42
+ import { ScbRadioButton as Ar } from "./scb-radio-button/scb-radio-button.js";
43
+ import { ScbRadioGroup as Lr } from "./scb-radio-button/scb-radio-group.js";
44
+ import { ScbSearch as Pr } from "./scb-search/scb-search.js";
45
+ import { ScbSnackbar as Nr } from "./scb-snackbar/scb-snackbar.js";
46
+ import { ScbStatusPill as Kr } from "./scb-status-pill/scb-status-pill.js";
47
+ import { ScbSwitch as jr } from "./scb-switch/scb-switch.js";
48
+ import { ScbPrimaryTab as zr } from "./scb-tabs/scb-primary-tab.js";
49
+ import { ScbSecondaryTab as Jr } from "./scb-tabs/scb-secondary-tab.js";
50
+ import { ScbTabs as Qr } from "./scb-tabs/scb-tabs.js";
51
+ import { ScbTextField2 as Wr } from "./scb-textfield/scb-textfield.js";
52
+ import { ScbTocItem as Yr } from "./scb-toc/scb-toc-item.js";
53
+ import { ScbToc as _r } from "./scb-toc/scb-toc.js";
54
+ import { ScbTooltip as ro } from "./scb-tooltip/scb-tooltip.js";
54
55
  export {
55
56
  i as SCBBreadcrumb,
56
57
  f as SCBBreadcrumbItem,
@@ -70,7 +71,7 @@ export {
70
71
  A as ScbDrawerItem,
71
72
  L as ScbDrawerSection,
72
73
  j as ScbFactCard,
73
- N as ScbFactCardContent,
74
+ K as ScbFactCardContent,
74
75
  J as ScbFooter,
75
76
  z as ScbFooterSection,
76
77
  W as ScbGrid,
@@ -88,21 +89,22 @@ export {
88
89
  Tr as ScbMenu,
89
90
  Br as ScbMenuItem,
90
91
  Fr as ScbNotification,
91
- jr as ScbPrimaryTab,
92
- kr as ScbProgressIndicator,
93
- Hr as ScbRadioButton,
94
- Ar as ScbRadioGroup,
95
- Lr as ScbSearch,
96
- zr as ScbSecondaryTab,
97
- Pr as ScbSnackbar,
92
+ kr as ScbNotificationCard,
93
+ zr as ScbPrimaryTab,
94
+ Hr as ScbProgressIndicator,
95
+ Ar as ScbRadioButton,
96
+ Lr as ScbRadioGroup,
97
+ Pr as ScbSearch,
98
+ Jr as ScbSecondaryTab,
99
+ Nr as ScbSnackbar,
98
100
  Y as ScbStack,
99
- Rr as ScbStatusPill,
100
- R as ScbSubDrawer,
101
+ Kr as ScbStatusPill,
102
+ N as ScbSubDrawer,
101
103
  wr as ScbSubMenu,
102
- Nr as ScbSwitch,
103
- Jr as ScbTabs,
104
- Qr as ScbTextField2,
105
- Yr as ScbToc,
106
- Wr as ScbTocItem,
107
- _r as ScbTooltip
104
+ jr as ScbSwitch,
105
+ Qr as ScbTabs,
106
+ Wr as ScbTextField2,
107
+ _r as ScbToc,
108
+ Yr as ScbTocItem,
109
+ ro as ScbTooltip
108
110
  };
@@ -36,6 +36,7 @@ import './scb-list/scb-list-item.js';
36
36
  import './scb-menu/scb-menu.js';
37
37
  import './scb-menu/scb-menu-item.js';
38
38
  import './scb-menu/scb-sub-menu.js';
39
+ import './scb-notification-card/scb-notification-card.js';
39
40
  import './scb-notification/scb-notification.js';
40
41
  import './scb-progress-indicator/scb-progress-indicator.js';
41
42
  import './scb-radio-button/scb-radio-button.js';
@@ -1,31 +1,36 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js"])))=>i.map(i=>d[i]);
2
- import{_ as p}from"../../vendor/preload-helper.js";import{a as h,n as r,i as f,x as c,t as g}from"../../vendor/vendor.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var o=customElements.define.bind(customElements);customElements.define=function(s,l,i){try{customElements.get(s)||o(s,l,i)}catch(d){var n=String(d||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var u=Object.defineProperty,v=Object.getOwnPropertyDescriptor,a=(t,o,s,l)=>{for(var i=l>1?void 0:l?v(o,s):o,n=t.length-1,d;n>=0;n--)(d=t[n])&&(i=(l?d(o,s,i):d(i))||i);return l&&i&&u(o,s,i),i};let e=class extends f{constructor(){super(...arguments),this.variant="default",this.direction="horizontal",this.header="",this.subtitle="",this.supportingText="",this.cardHref="",this.showMedia=null,this.fullHeight=!1,this.fullWidth=!1,this.stretch=!1}async firstUpdated(){e.__iconLoaded||(await p(()=>import("../../vendor/vendor-material.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),e.__iconLoaded=!0),e.__rippleLoaded||(await p(()=>import("../../vendor/vendor-material.js").then(t=>t.r),__vite__mapDeps([0,1]),import.meta.url),e.__rippleLoaded=!0)}render(){const t=this.variant?`${this.variant.toLowerCase()}`:"",o=this.direction?`${this.direction.toLowerCase()}`:"",s=this.cardHref?"clickable":"",l=new Date().getDate(),i=new Date().toLocaleString("default",{month:"short"}).replace(".","");return c`
2
+ import{_ as p}from"../../vendor/preload-helper.js";import{a as h,n as r,i as f,x as c,t as g}from"../../vendor/vendor.js";import"../../vendor/vendor-material.js";(function(){try{var i=typeof globalThis<"u"?globalThis:window;if(!i.__scb_ce_guard_installed__){i.__scb_ce_guard_installed__=!0;var o=customElements.define.bind(customElements);customElements.define=function(s,n,t){try{customElements.get(s)||o(s,n,t)}catch(d){var l=String(d||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw d}}}}catch{}})();var u=Object.defineProperty,v=Object.getOwnPropertyDescriptor,a=(i,o,s,n)=>{for(var t=n>1?void 0:n?v(o,s):o,l=i.length-1,d;l>=0;l--)(d=i[l])&&(t=(n?d(o,s,t):d(t))||t);return n&&t&&u(o,s,t),t};let e=class extends f{constructor(){super(...arguments),this.variant="default",this.direction="horizontal",this.title="",this.subtitle="",this.supportingText="",this.cardHref="",this.cardHrefNav="",this.showMedia=null,this.fullHeight=!1,this.fullWidth=!1,this.stretch=!1}async firstUpdated(){e.__iconLoaded||(await p(()=>import("../../vendor/vendor-material.js").then(i=>i.i),__vite__mapDeps([0,1]),import.meta.url),e.__iconLoaded=!0),e.__rippleLoaded||(await p(()=>import("../../vendor/vendor-material.js").then(i=>i.r),__vite__mapDeps([0,1]),import.meta.url),e.__rippleLoaded=!0)}render(){const i=this.variant?`${this.variant.toLowerCase()}`:"",o=this.direction?`${this.direction.toLowerCase()}`:"",s=this.cardHref?"clickable":"",n=1,t="Jan";return c`
3
3
  <div
4
- class="calendar-card ${o} ${s} ${t}"
4
+ class="calendar-card ${o} ${s} ${i}"
5
5
  role="${this.cardHref?"link":"group"}"
6
- aria-label="${this.header||"Kalenderkort"}"
6
+ aria-label="${this.title||"Kalenderkort"}"
7
7
  tabindex="${this.cardHref?"0":"-1"}"
8
- @click="${this.cardHref?()=>window.open(this.cardHref,"_self"):null}"
8
+ @click="${this.cardHref?this._handleHrefNavigation:null}"
9
9
  @keydown="${this.cardHref?this._onKeyDown:null}"
10
10
  style="cursor: ${this.cardHref?"pointer":"default"};"
11
11
  >
12
12
  ${this.cardHref?c`<md-ripple></md-ripple>`:""}
13
13
  ${this.showMedia?c`
14
- <div class="media" aria-label="Datum: ${l} ${i}">
15
- <div class="day">${l}</div>
16
- <div class="month">${i}</div>
14
+ <div class="media" aria-label="Datum: ${n} ${t}">
15
+ <div class="day">${n}</div>
16
+ <div class="month">${t}</div>
17
17
  </div>`:""}
18
18
  <div class="container">
19
19
  <div class="header-container">
20
- <div class="header">${this.header}</div>
20
+ <div class="header">${this.title}</div>
21
21
  ${this.cardHref?c`<md-icon>arrow_forward</md-icon>`:""}
22
22
  </div>
23
23
  ${this.subtitle?c`<div class="subtitle">${this.subtitle}</div>`:""}
24
24
  ${this.supportingText?c`<div class="supporting-text">${this.supportingText}</div>`:""}
25
25
  </div>
26
26
  </div>
27
- `}_onKeyDown(t){(t.key==="Enter"||t.key===" ")&&this.cardHref&&(window.open(this.cardHref,"_self"),t.preventDefault())}};e.__iconLoaded=!1;e.__rippleLoaded=!1;e.styles=h`
28
- :host { display:block; }
27
+ <md-focus-ring></md-focus-ring>
28
+ `}_onKeyDown(i){(i.key==="Enter"||i.key===" ")&&this.cardHref&&(window.open(this.cardHref,"_self"),i.preventDefault())}_handleHrefNavigation(){this.cardHref&&(this.cardHrefNav==="tab"?window.open(this.cardHref,"_blank"):this.cardHrefNav==="window"?window.open(this.cardHref,"_blank","noopener,noreferrer,width=800,height=600"):window.open(this.cardHref,"_self"))}};e.__iconLoaded=!1;e.__rippleLoaded=!1;e.styles=h`
29
+ :host {
30
+ display: block;
31
+ position: relative;
32
+ padding: var(--scb-calendar-card-focus-ring-gap, 4px);
33
+ }
29
34
 
30
35
  :host([stretch]) { block-size: 100%; }
31
36
  :host([stretch]) .calendar-card { block-size: 100%; }
@@ -40,6 +45,17 @@ import{_ as p}from"../../vendor/preload-helper.js";import{a as h,n as r,i as f,x
40
45
  width: 100%;
41
46
  }
42
47
 
48
+ md-focus-ring {
49
+ position: absolute;
50
+ inset: 0;
51
+ pointer-events: none;
52
+ display: none;
53
+ border-radius: var(--scb-calendar-card-focus-ring-radius, var(--radius-large, 16px));
54
+ }
55
+ :host(:focus-within) md-focus-ring {
56
+ display: block;
57
+ }
58
+
43
59
  .calendar-card {
44
60
  box-sizing: border-box;
45
61
  overflow: hidden;
@@ -57,6 +73,9 @@ import{_ as p}from"../../vendor/preload-helper.js";import{a as h,n as r,i as f,x
57
73
  transition: box-shadow .18s ease, transform .18s ease, background-color .18s ease, border-color .18s ease;
58
74
  }
59
75
 
76
+ .calendar-card:focus,
77
+ .calendar-card:focus-visible { outline: none; }
78
+
60
79
  .calendar-card.vertical {
61
80
  max-width: var(--scb-calendar-card-max-w, 360px);
62
81
  }
@@ -176,4 +195,4 @@ import{_ as p}from"../../vendor/preload-helper.js";import{a as h,n as r,i as f,x
176
195
  -webkit-box-orient: vertical;
177
196
  overflow: hidden;
178
197
  }
179
- `;a([r({type:String,reflect:!0})],e.prototype,"variant",2);a([r({type:String,reflect:!0})],e.prototype,"direction",2);a([r({type:String})],e.prototype,"header",2);a([r({type:String})],e.prototype,"subtitle",2);a([r({type:String,attribute:"supporting-text"})],e.prototype,"supportingText",2);a([r({type:String,attribute:"card-href"})],e.prototype,"cardHref",2);a([r({type:Boolean,reflect:!0,attribute:"show-media"})],e.prototype,"showMedia",2);a([r({type:Boolean,reflect:!0,attribute:"full-height"})],e.prototype,"fullHeight",2);a([r({type:Boolean,reflect:!0,attribute:"full-width"})],e.prototype,"fullWidth",2);a([r({type:Boolean,reflect:!0})],e.prototype,"stretch",2);e=a([g("scb-calendar-card")],e);
198
+ `;a([r({type:String,reflect:!0})],e.prototype,"variant",2);a([r({type:String,reflect:!0})],e.prototype,"direction",2);a([r({type:String})],e.prototype,"title",2);a([r({type:String})],e.prototype,"subtitle",2);a([r({type:String,attribute:"supporting-text"})],e.prototype,"supportingText",2);a([r({type:String,attribute:"card-href"})],e.prototype,"cardHref",2);a([r({type:String,attribute:"card-href-nav"})],e.prototype,"cardHrefNav",2);a([r({type:Boolean,reflect:!0,attribute:"show-media"})],e.prototype,"showMedia",2);a([r({type:Boolean,reflect:!0,attribute:"full-height"})],e.prototype,"fullHeight",2);a([r({type:Boolean,reflect:!0,attribute:"full-width"})],e.prototype,"fullWidth",2);a([r({type:Boolean,reflect:!0})],e.prototype,"stretch",2);e=a([g("scb-calendar-card")],e);
@@ -1,47 +1,49 @@
1
- import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"../../vendor/vendor-material.js";import"../scb-list/scb-list.js";import"../scb-button/scb-button.js";import"../../vendor/preload-helper.js";import"../scb-list/scb-list-item.js";(function(){try{var a=typeof globalThis<"u"?globalThis:window;if(!a.__scb_ce_guard_installed__){a.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(l,c,d){try{customElements.get(l)||r(l,c,d)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var m=Object.defineProperty,b=Object.getOwnPropertyDescriptor,i=(a,r,l,c)=>{for(var d=c>1?void 0:c?b(r,l):r,n=a.length-1,o;n>=0;n--)(o=a[n])&&(d=(c?o(r,l,d):o(d))||d);return c&&d&&m(r,l,d),d};let e=class extends h{constructor(){super(...arguments),this.type="",this.variant="",this.direction="",this.mediaType="",this.mediaHref="",this.cardHref="",this.label="",this.subLabel="",this.supportingText="",this.commentsText="",this.comments=0,this.likesText="",this.likes=0,this.fullHeight=!1,this.fullWidth=!1,this.stretch=!1}render(){const a=this.variant?`${this.variant.toLowerCase()}`:"",r=this.direction?`${this.direction.toLowerCase()}`:"",l=this.cardHref?"clickable":"",c=this.mediaType?`${this.mediaType.toLowerCase()}`:"";switch(this.type){case"standard":return t`
2
- <div class="scb-card ${a} ${r} ${l}">
3
- ${this.cardHref?t`<md-ripple></md-ripple>`:""}
4
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
1
+ import{a as p,n as t,i as h,x as i,t as m}from"../../vendor/vendor.js";import"../../vendor/vendor-material.js";import"../scb-list/scb-list.js";import"../scb-button/scb-button.js";import"../../vendor/preload-helper.js";import"../scb-list/scb-list-item.js";(function(){try{var a=typeof globalThis<"u"?globalThis:window;if(!a.__scb_ce_guard_installed__){a.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(c,d,l){try{customElements.get(c)||r(c,d,l)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var v=Object.defineProperty,b=Object.getOwnPropertyDescriptor,e=(a,r,c,d)=>{for(var l=d>1?void 0:d?b(r,c):r,n=a.length-1,o;n>=0;n--)(o=a[n])&&(l=(d?o(r,c,l):o(l))||l);return d&&l&&v(r,c,l),l};let s=class extends h{constructor(){super(...arguments),this.type="",this.variant="",this.direction="",this.mediaType="",this.mediaHref="",this.cardHref="",this.label="",this.subLabel="",this.supportingText="",this.commentsText="",this.comments=0,this.likesText="",this.likes=0,this.fullHeight=!1,this.fullWidth=!1,this.stretch=!1}render(){const a=this.variant?`${this.variant.toLowerCase()}`:"",r=this.direction?`${this.direction.toLowerCase()}`:"",c=this.cardHref?"clickable":"",d=this.mediaType?`${this.mediaType.toLowerCase()}`:"";switch(this.type){case"standard":return i`
2
+ <div class="scb-card ${a} ${r} ${c}">
3
+ ${this.cardHref?i`<md-ripple></md-ripple>`:""}
4
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
5
5
  <div class="full-content">
6
6
  <div class="top-content">
7
- ${this.label?t`
7
+ ${this.label?i`
8
8
  <div class="header">
9
- ${this.cardHref?t`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
9
+ ${this.cardHref?i`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
10
10
  </div>`:""}
11
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
12
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
13
- ${this.date?t`<div class="date">${this.date}</div>`:""}
11
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
12
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
13
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
14
14
  </div>
15
15
  </div>
16
16
  </div>
17
- `;case"list":return t`
18
- <div class="scb-card ${a} vertical ${l}">
19
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
17
+ <md-focus-ring></md-focus-ring>
18
+ `;case"list":return i`
19
+ <div class="scb-card ${a} vertical ${c}">
20
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
20
21
  <div class="full-content">
21
22
  <div class="top-content">
22
- ${this.label?t`<div class="header">${this.label}</div>`:""}
23
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
24
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
25
- ${this.date?t`<div class="date">${this.date}</div>`:""}
23
+ ${this.label?i`<div class="header">${this.label}</div>`:""}
24
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
25
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
26
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
26
27
  </div>
27
28
  <div class="content list">
28
29
  <slot></slot>
29
30
  </div>
30
31
  </div>
31
32
  </div>
32
- `;case"social":return t`
33
- <div class="scb-card ${a} ${r} ${l}">
34
- ${this.cardHref?t`<md-ripple></md-ripple>`:""}
35
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
33
+ <md-focus-ring></md-focus-ring>
34
+ `;case"social":return i`
35
+ <div class="scb-card ${a} ${r} ${c}">
36
+ ${this.cardHref?i`<md-ripple></md-ripple>`:""}
37
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
36
38
  <div class="full-content">
37
39
  <div class="top-content">
38
- ${this.label?t`
40
+ ${this.label?i`
39
41
  <div class="header">
40
- ${this.cardHref?t`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
42
+ ${this.cardHref?i`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
41
43
  </div>`:""}
42
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
43
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
44
- ${this.date?t`<div class="date">${this.date}</div>`:""}
44
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
45
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
46
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
45
47
  </div>
46
48
  <div class="content">
47
49
  <div class="social-metrics">
@@ -51,61 +53,67 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
51
53
  </div>
52
54
  </div>
53
55
  </div>
54
- `;case"link":return t`
55
- <div class="scb-card ${a} ${r} ${l}">
56
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
56
+ <md-focus-ring></md-focus-ring>
57
+ `;case"link":return i`
58
+ <div class="scb-card ${a} ${r} ${c}">
59
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
57
60
  <div class="full-content">
58
61
  <div class="top-content">
59
- ${this.label?t`<div class="header">${this.label}</div>`:""}
60
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
61
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
62
- ${this.date?t`<div class="date">${this.date}</div>`:""}
62
+ ${this.label?i`<div class="header">${this.label}</div>`:""}
63
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
64
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
65
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
63
66
  </div>
64
67
  <div class="content links">
65
68
  <slot></slot>
66
69
  </div>
67
70
  </div>
68
71
  </div>
69
- `;case"action":return t`
70
- <div class="scb-card ${a} ${r} ${l}">
71
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
72
+ <md-focus-ring></md-focus-ring>
73
+ `;case"action":return i`
74
+ <div class="scb-card ${a} ${r} ${c}">
75
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
72
76
  <div class="full-content">
73
77
  <div class="top-content">
74
- ${this.label?t`<div class="header">${this.label}</div>`:""}
75
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
76
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
77
- ${this.date?t`<div class="date">${this.date}</div>`:""}
78
+ ${this.label?i`<div class="header">${this.label}</div>`:""}
79
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
80
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
81
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
78
82
  </div>
79
83
  <div class="content actions">
80
84
  <slot></slot>
81
85
  </div>
82
86
  </div>
83
87
  </div>
84
- `;default:return t`
85
- <div class="scb-card ${a} ${r} ${l}">
86
- ${this.cardHref?t`<md-ripple></md-ripple>`:""}
87
- ${this.mediaHref?t`<img src="${this.mediaHref}" class="${c}" alt="" ?hidden=${!this.mediaHref} />`:""}
88
+ <md-focus-ring></md-focus-ring>
89
+ `;default:return i`
90
+ <div class="scb-card ${a} ${r} ${c}">
91
+ ${this.cardHref?i`<md-ripple></md-ripple>`:""}
92
+ ${this.mediaHref?i`<img src="${this.mediaHref}" class="${d}" alt="" ?hidden=${!this.mediaHref} />`:""}
88
93
  <div class="full-content">
89
94
  <div class="top-content">
90
- ${this.label?t`
95
+ ${this.label?i`
91
96
  <div class="header">
92
- ${this.cardHref?t`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
97
+ ${this.cardHref?i`<a href="${this.cardHref}" tabindex="0">${this.label}</a><md-icon>arrow_forward</md-icon>`:this.label}
93
98
  </div>`:""}
94
- ${this.subLabel?t`<div class="sub-label">${this.subLabel}</div>`:""}
95
- ${this.supportingText?t`<div class="supporting-text">${this.supportingText}</div>`:""}
96
- ${this.date?t`<div class="date">${this.date}</div>`:""}
99
+ ${this.subLabel?i`<div class="sub-label">${this.subLabel}</div>`:""}
100
+ ${this.supportingText?i`<div class="supporting-text">${this.supportingText}</div>`:""}
101
+ ${this.date?i`<div class="date">${this.date}</div>`:""}
97
102
  </div>
98
103
  </div>
99
104
  </div>
100
- `}}firstUpdated(){if(this.cardHref){const a=this.renderRoot.querySelector(".scb-card");a&&a.addEventListener("click",r=>{r.target.closest("a")||(window.location.href=this.cardHref)})}}};e.styles=p`
105
+ <md-focus-ring></md-focus-ring>
106
+ `}}firstUpdated(){if(this.cardHref){const a=this.renderRoot.querySelector(".scb-card");a&&a.addEventListener("click",r=>{r.target.closest("a")||(window.location.href=this.cardHref)})}}};s.styles=p`
101
107
  :host {
102
108
  --scb-card-max-w: 360px;
103
109
  display: block;
104
110
  box-sizing: border-box;
105
- inline-size: 100%;
106
- min-inline-size: 0;
111
+ position: relative;
112
+ inline-size: 100%;
113
+ min-inline-size: 0;
107
114
  max-inline-size: var(--scb-card-max-w);
108
115
  height: auto;
116
+ padding: var(--scb-card-focus-ring-gap, 4px);
109
117
  }
110
118
  :host([type="standard"]) { --scb-card-max-w: var(--scb-card-standard-max-w, 360px); }
111
119
  :host([type="list"]) { --scb-card-max-w: var(--scb-card-list-max-w, 360px); }
@@ -115,13 +123,24 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
115
123
 
116
124
  :host([full-width]) { max-inline-size: none; }
117
125
  :host([stretch]),
118
- :host([full-height]) { block-size: 100%; }
126
+ :host([full-height]) { block-size: 100%; }
119
127
 
120
128
  :host([stretch]) .scb-card,
121
129
  :host([full-height]) .scb-card {
122
130
  block-size: 100%;
123
131
  }
124
132
 
133
+ md-focus-ring {
134
+ position: absolute;
135
+ inset: 0;
136
+ pointer-events: none;
137
+ display: none;
138
+ border-radius: var(--scb-card-focus-ring-radius, var(--md-sys-shape-corner-large));
139
+ }
140
+ :host(:focus-within) md-focus-ring {
141
+ display: block;
142
+ }
143
+
125
144
  .scb-card {
126
145
  color: var(--md-sys-color-on-surface);
127
146
  display: flex;
@@ -135,6 +154,12 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
135
154
  overflow: hidden;
136
155
  }
137
156
 
157
+ /* Stänger av UA-outline, md-focus-ring används som fokusindikator */
158
+ .scb-card:focus,
159
+ .scb-card:focus-visible { outline: none; }
160
+ .scb-card a:focus,
161
+ .scb-card a:focus-visible { outline: none; }
162
+
138
163
  .scb-card.outlined { border: 1px solid var(--md-sys-color-outline-variant); }
139
164
  .scb-card.filled { background: var(--md-sys-color-surface-dim); }
140
165
  .scb-card.vertical { flex-direction: column; }
@@ -152,7 +177,7 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
152
177
  display: flex;
153
178
  flex-direction: column;
154
179
  gap: var(--spacing-3);
155
- min-inline-size: 0;
180
+ min-inline-size: 0;
156
181
  }
157
182
 
158
183
  .header {
@@ -189,7 +214,7 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
189
214
  inline-size: 100%;
190
215
  max-inline-size: 100%;
191
216
  height: auto;
192
- object-fit: cover;
217
+ object-fit: cover;
193
218
  }
194
219
  .scb-card img.avatar {
195
220
  border-radius: var(--md-sys-shape-corner-full);
@@ -259,4 +284,4 @@ import{a as p,n as s,i as h,x as t,t as v}from"../../vendor/vendor.js";import"..
259
284
  .scb-card.filled .content.list ::slotted(scb-list) {
260
285
  --scb-list-bg: var(--md-sys-color-surface-dim);
261
286
  }
262
- `;i([s({type:String})],e.prototype,"type",2);i([s({type:String})],e.prototype,"variant",2);i([s({type:String})],e.prototype,"direction",2);i([s({type:String,attribute:"media-type"})],e.prototype,"mediaType",2);i([s({type:String,attribute:"media-href"})],e.prototype,"mediaHref",2);i([s({type:String,attribute:"card-href"})],e.prototype,"cardHref",2);i([s({type:String})],e.prototype,"label",2);i([s({type:String,attribute:"sub-label"})],e.prototype,"subLabel",2);i([s({type:String,attribute:"supporting-text"})],e.prototype,"supportingText",2);i([s({type:Date,reflect:!0})],e.prototype,"date",2);i([s({type:String,attribute:"social-comments-text"})],e.prototype,"commentsText",2);i([s({type:Number,attribute:"social-comments",reflect:!0})],e.prototype,"comments",2);i([s({type:String,attribute:"social-likes-text"})],e.prototype,"likesText",2);i([s({type:Number,attribute:"social-likes",reflect:!0})],e.prototype,"likes",2);i([s({type:Boolean,reflect:!0,attribute:"full-height"})],e.prototype,"fullHeight",2);i([s({type:Boolean,reflect:!0,attribute:"full-width"})],e.prototype,"fullWidth",2);i([s({type:Boolean,reflect:!0})],e.prototype,"stretch",2);e=i([v("scb-card")],e);
287
+ `;e([t({type:String})],s.prototype,"type",2);e([t({type:String})],s.prototype,"variant",2);e([t({type:String})],s.prototype,"direction",2);e([t({type:String,attribute:"media-type"})],s.prototype,"mediaType",2);e([t({type:String,attribute:"media-href"})],s.prototype,"mediaHref",2);e([t({type:String,attribute:"card-href"})],s.prototype,"cardHref",2);e([t({type:String})],s.prototype,"label",2);e([t({type:String,attribute:"sub-label"})],s.prototype,"subLabel",2);e([t({type:String,attribute:"supporting-text"})],s.prototype,"supportingText",2);e([t({type:Date,reflect:!0})],s.prototype,"date",2);e([t({type:String,attribute:"social-comments-text"})],s.prototype,"commentsText",2);e([t({type:Number,attribute:"social-comments",reflect:!0})],s.prototype,"comments",2);e([t({type:String,attribute:"social-likes-text"})],s.prototype,"likesText",2);e([t({type:Number,attribute:"social-likes",reflect:!0})],s.prototype,"likes",2);e([t({type:Boolean,reflect:!0,attribute:"full-height"})],s.prototype,"fullHeight",2);e([t({type:Boolean,reflect:!0,attribute:"full-width"})],s.prototype,"fullWidth",2);e([t({type:Boolean,reflect:!0})],s.prototype,"stretch",2);s=e([m("scb-card")],s);
@@ -1,4 +1,4 @@
1
- import{a as f,n as l,r as p,i as x,x as c,E as d,t as S}from"../../vendor/vendor.js";import"../scb-grid/scb-grid-item.js";import"../scb-grid/scb-grid.js";import"../scb-link/scb-link.js";import"../scb-search/scb-search.js";import"../scb-tabs/scb-tabs.js";import"../scb-tabs/scb-secondary-tab.js";import"../scb-drawer/scb-drawer.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.js";import"../scb-list/scb-list.js";import"../../vendor/preload-helper.js";import"../scb-list/scb-list-item.js";import"../scb-tabs/scb-primary-tab.js";import"../scb-divider/scb-divider.js";import"../scb-drawer/scb-drawer-item.js";import"../scb-drawer/scb-drawer-section.js";import"../scb-drawer/scb-sub-drawer.js";import"../scb-tooltip/scb-tooltip.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(s,i,o){try{customElements.get(s)||t(s,i,o)}catch(n){var h=String(n||"");if(h.indexOf("already been used")===-1&&h.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var C=Object.defineProperty,M=Object.getOwnPropertyDescriptor,a=(e,t,s,i)=>{for(var o=i>1?void 0:i?M(t,s):t,h=e.length-1,n;h>=0;h--)(n=e[h])&&(o=(i?n(t,s,o):n(o))||o);return i&&o&&C(t,s,o),o};const y={fromAttribute:e=>e==null?!0:!/^(false|0|off|no)$/i.test(e),toAttribute:e=>String(!!e)};let r=class extends x{constructor(){super(...arguments),this.maxWidth="1440px",this.logoText="Statistikmyndigheten",this.logoHref="/",this.banner=!1,this.tabs=[],this.activeTab=0,this.utilityItems=[],this.showDrawer=!0,this.showSearch=!0,this.includeUtilityInDrawer=!1,this._drawerId="main-drawer",this._drawerMounted=!1,this._drawerExpanded=!1,this._searchId="header-search",this._slotTabs=[],this._slotUtils=[],this._slotMenu=[],this._measureScheduled=!1,this._scheduleMeasure=()=>{this._measureScheduled||(this._measureScheduled=!0,requestAnimationFrame(()=>{this._measureScheduled=!1,this._measure()}))},this._onWindowResize=()=>{this._scheduleMeasure()},this._onDrawerSelect=e=>{this.dispatchEvent(new CustomEvent("drawer-select",{detail:e.detail,bubbles:!0,composed:!0})),this._closeDrawerNow()},this._collapsed=!1,this._unlockAtWidth=0,this._hideLogoText=!1,this._logoTextUnlockAt=0,this._harvestPending=!1,this._harvest=()=>{const e=this._slotEl;if(!e)return;const t=e.assignedElements({flatten:!0}),s=[],i=[],o=[],h=n=>({label:n.getAttribute("label")??"",href:n.getAttribute("href")??void 0,icon:n.getAttribute("icon")??void 0});for(const n of t){const u=n.tagName.toLowerCase();if(u==="scb-header-tab"){s.push({label:n.getAttribute("label")??"",href:n.getAttribute("href")??"#"});continue}if(u==="scb-header-utility"){i.push({label:n.getAttribute("label")??"",href:n.getAttribute("href")??"#",target:n.getAttribute("target")??void 0});continue}if(u==="scb-header-drawer-group"){const b={label:n.getAttribute("label")??"",icon:n.getAttribute("icon")??void 0,children:[]};n.querySelectorAll("scb-header-drawer-item").forEach(m=>b.children.push(h(m))),o.push(b);continue}u==="scb-header-drawer-item"&&o.push(h(n))}this._slotTabs=s,this._slotUtils=i,this._slotMenu=o,queueMicrotask(()=>{this.updateComplete.then(()=>{this._applyActiveToTabs(),this._scheduleMeasure()})})},this._measure=()=>{const e=this._top,t=this._logoGroup;if(!e||!t)return;const s=window.innerWidth,i=e.clientWidth,o=this._overflows(this._util),h=this._overflows(this._tabsEl),n=s<this.BP_MD||o||h;this._collapsed?!n&&i>=this._unlockAtWidth&&this._setCollapsed(!1):n&&(this._unlockAtWidth=i+this._HYST,this._setCollapsed(!0));let u=!1;if(this.showSearch&&s>=this.BP_SM&&s<this.BP_MD&&this._searchWrap){const m=getComputedStyle(this._searchWrap),_=Math.max(this._num(m.minWidth,this._tokenPx("--scb-header-search-min",320)),this._tokenPx("--scb-header-search-min",320)),g=this._num(getComputedStyle(e).gap,this._tokenPx("--spacing-7",24)),w=this.showDrawer&&(s<this.BP_MD||this._collapsed)?this._menuBtn?.getBoundingClientRect().width||this._tokenPx("--icon-size-large",48):0;u=t.getBoundingClientRect().width+g+_+g+w+8>i+.5}this._setHideSearch(u);let b=!1;if(this.showDrawer&&(s<this.BP_MD||this._collapsed)&&!this._visible(this._util)&&!this._visible(this._searchWrap)){const m=this._num(getComputedStyle(e).gap,this._tokenPx("--spacing-7",24)),_=this._menuBtn?.getBoundingClientRect().width||this._tokenPx("--icon-size-large",48),g=(this._logoGroup?.getBoundingClientRect().width||0)+m+_;this._hideLogoText?b=!(i>=this._logoTextUnlockAt):g>i+.5&&(b=!0,this._logoTextUnlockAt=i+this._HYST)}else b=!1,this._logoTextUnlockAt=0;this._setHideLogoText(b)},this._onMenuClick=async e=>{e.preventDefault(),e.stopPropagation(),this.showDrawer&&(this.dispatchEvent(new CustomEvent("menu-click",{bubbles:!0,composed:!0})),await this._ensureDrawerMounted(),await r._nextFrame(),await r._nextFrame(),this._openDrawerNow())},this._onSearchClick=e=>{const t=this._searchEl;if(t?.submit&&typeof t.submit=="function"){t.submit();return}const s=t?.value??void 0;this.dispatchEvent(new CustomEvent("search-click",{detail:{value:s},bubbles:!0,composed:!0})),t?.focus?.()},this._onTabsChange=e=>{const s=e?.detail?.activeTabIndex??e.target?.activeTabIndex??0;this.activeTab=s;const o=(this._slotTabs.length?this._slotTabs:this.tabs)[s]?.href??"";this.dispatchEvent(new CustomEvent("tab-change",{detail:{index:s,href:o},bubbles:!0,composed:!0}))}}get _HYST(){return this._tokenPx("--spacing-11",64)}get BP_SM(){return this._tokenPx("--bp-sm",r.BP_SM_DEFAULT)}get BP_MD(){return this._tokenPx("--bp-md",r.BP_MD_DEFAULT)}_scheduleHarvest(){this._harvestPending||(this._harvestPending=!0,queueMicrotask(()=>{this._harvestPending=!1,this._harvest()}))}get _slotEl(){return this.shadowRoot?.querySelector("slot#data-slot")??null}get _top(){return this.renderRoot.querySelector(".top-row")}get _util(){return this.renderRoot.querySelector(".utility")}get _tabsEl(){return this.renderRoot.querySelector("scb-tabs")}get _logoGroup(){return this.renderRoot.querySelector(".logo-group")}get _searchWrap(){return this.renderRoot.querySelector(".search")}get _menuBtn(){return this.renderRoot.querySelector(".menu-trigger")}get _searchEl(){return this.renderRoot.querySelector(`#${this._searchId}`)}_attachSlotObservers(){this._slotMo?.disconnect();const e=new MutationObserver(t=>{this._scheduleHarvest()});this._slotMo=e,e.observe(this,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["label","href","icon","target"]})}_setCollapsed(e){this._collapsed!==e&&(this._collapsed=e,e?this.setAttribute("data-collapsed",""):this.removeAttribute("data-collapsed"))}_setHideSearch(e){e?this.setAttribute("data-hide-search",""):this.removeAttribute("data-hide-search")}_setHideLogoText(e){this._hideLogoText!==e&&(this._hideLogoText=e,e?this.setAttribute("data-hide-logo-text",""):this.removeAttribute("data-hide-logo-text"))}_num(e,t){const s=Number.parseFloat(String(e??"").trim());return Number.isFinite(s)?s:t}_tokenPx(e,t){const s=getComputedStyle(this);return this._num(s.getPropertyValue(e),t)}_visible(e){return e?getComputedStyle(e).display!=="none":!1}_overflows(e){return!e||!this._visible(e)?!1:e.scrollWidth>e.clientWidth+1}firstUpdated(){this.updateComplete.then(()=>{this._harvest(),this._attachSlotObservers()});const e=this._top;e&&(this._ro=new ResizeObserver(()=>this._scheduleMeasure()),this._ro.observe(e)),window.addEventListener("resize",this._onWindowResize,{passive:!0});const t=this._menuBtn,s=()=>this._ensureDrawerMounted();t?.addEventListener("pointerenter",s,{once:!0}),t?.addEventListener("focusin",s,{once:!0}),t?.addEventListener("touchstart",s,{once:!0,passive:!0})}updated(e){e.has("searchMax")&&this.style.setProperty("--scb-header-search-max",this.searchMax??"480px"),e.has("searchMin")&&this.style.setProperty("--scb-header-search-min",this.searchMin??"320px"),e.has("searchHeight")&&(this.searchHeight&&this.searchHeight.trim()?this.style.setProperty("--scb-search-height",this.searchHeight.trim()):this.style.removeProperty("--scb-search-height")),(e.has("utilityItems")||e.has("tabs")||e.has("logoText")||e.has("activeTab")||e.has("_slotTabs")||e.has("_slotUtils")||e.has("_slotMenu")||e.has("showDrawer")||e.has("showSearch")||e.has("searchMax")||e.has("searchMin"))&&this.updateComplete.then(()=>{this._scheduleMeasure(),this._applyActiveToTabs()})}disconnectedCallback(){this._ro?.disconnect(),this._slotMo?.disconnect(),window.removeEventListener("resize",this._onWindowResize),super.disconnectedCallback()}async _ensureDrawerMounted(){this._drawerMounted||(this._drawerMounted=!0,await this.updateComplete)}_openDrawerNow(){const e=this.renderRoot.querySelector(`#${this._drawerId}`);e&&(e.open=!0,e.setAttribute("open",""),e.show?.(),e.openDrawer?.(),this._drawerExpanded=!0,this._syncMenuBtnAria(),this.dispatchEvent(new CustomEvent("drawer-open",{bubbles:!0,composed:!0})))}_closeDrawerNow(){const e=this.renderRoot.querySelector(`#${this._drawerId}`);e&&(e.open=!1),this._drawerExpanded=!1,this._syncMenuBtnAria(),this.dispatchEvent(new CustomEvent("drawer-close",{bubbles:!0,composed:!0}))}_syncMenuBtnAria(){const e=this.renderRoot.querySelector(".menu-trigger");e&&e.setAttribute("aria-expanded",String(this._drawerExpanded))}_applyActiveToTabs(){const e=this._tabsEl;if(!e)return;e.activeTabIndex=this.activeTab,e.querySelectorAll("scb-secondary-tab").forEach((s,i)=>{s.selected=i===this.activeTab})}_renderDrawerNodes(e){return!e||e.length===0?c``:c`${e.map(t=>{const s=Array.isArray(t.children)&&t.children.length>0;return c`
1
+ import{a as f,n as l,r as p,i as x,x as c,E as d,t as S}from"../../vendor/vendor.js";import"../../vendor/vendor-material.js";import"../scb-grid/scb-grid-item.js";import"../scb-grid/scb-grid.js";import"../scb-link/scb-link.js";import"../scb-search/scb-search.js";import"../scb-tabs/scb-tabs.js";import"../scb-tabs/scb-secondary-tab.js";import"../scb-drawer/scb-drawer.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../scb-list/scb-list.js";import"../../vendor/preload-helper.js";import"../scb-list/scb-list-item.js";import"../scb-tabs/scb-primary-tab.js";import"../scb-divider/scb-divider.js";import"../scb-drawer/scb-drawer-item.js";import"../scb-drawer/scb-drawer-section.js";import"../scb-drawer/scb-sub-drawer.js";import"../scb-tooltip/scb-tooltip.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(s,i,o){try{customElements.get(s)||t(s,i,o)}catch(n){var h=String(n||"");if(h.indexOf("already been used")===-1&&h.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var C=Object.defineProperty,M=Object.getOwnPropertyDescriptor,a=(e,t,s,i)=>{for(var o=i>1?void 0:i?M(t,s):t,h=e.length-1,n;h>=0;h--)(n=e[h])&&(o=(i?n(t,s,o):n(o))||o);return i&&o&&C(t,s,o),o};const _={fromAttribute:e=>e==null?!0:!/^(false|0|off|no)$/i.test(e),toAttribute:e=>String(!!e)};let r=class extends x{constructor(){super(...arguments),this.maxWidth="1440px",this.logoText="Statistikmyndigheten",this.logoHref="/",this.banner=!1,this.tabs=[],this.activeTab=0,this.utilityItems=[],this.showDrawer=!0,this.showSearch=!0,this.includeUtilityInDrawer=!1,this._drawerId="main-drawer",this._drawerMounted=!1,this._drawerExpanded=!1,this._searchId="header-search",this._slotTabs=[],this._slotUtils=[],this._slotMenu=[],this._measureScheduled=!1,this._scheduleMeasure=()=>{this._measureScheduled||(this._measureScheduled=!0,requestAnimationFrame(()=>{this._measureScheduled=!1,this._measure()}))},this._onWindowResize=()=>{this._scheduleMeasure()},this._onDrawerSelect=e=>{this.dispatchEvent(new CustomEvent("drawer-select",{detail:e.detail,bubbles:!0,composed:!0})),this._closeDrawerNow()},this._collapsed=!1,this._unlockAtWidth=0,this._hideLogoText=!1,this._logoTextUnlockAt=0,this._harvestPending=!1,this._harvest=()=>{const e=this._slotEl;if(!e)return;const t=e.assignedElements({flatten:!0}),s=[],i=[],o=[],h=n=>({label:n.getAttribute("label")??"",href:n.getAttribute("href")??void 0,icon:n.getAttribute("icon")??void 0});for(const n of t){const u=n.tagName.toLowerCase();if(u==="scb-header-tab"){s.push({label:n.getAttribute("label")??"",href:n.getAttribute("href")??"#"});continue}if(u==="scb-header-utility"){i.push({label:n.getAttribute("label")??"",href:n.getAttribute("href")??"#",target:n.getAttribute("target")??void 0});continue}if(u==="scb-header-drawer-group"){const b={label:n.getAttribute("label")??"",icon:n.getAttribute("icon")??void 0,children:[]};n.querySelectorAll("scb-header-drawer-item").forEach(m=>b.children.push(h(m))),o.push(b);continue}u==="scb-header-drawer-item"&&o.push(h(n))}this._slotTabs=s,this._slotUtils=i,this._slotMenu=o,queueMicrotask(()=>{this.updateComplete.then(()=>{this._applyActiveToTabs(),this._scheduleMeasure()})})},this._measure=()=>{const e=this._top,t=this._logoGroup;if(!e||!t)return;const s=window.innerWidth,i=e.clientWidth,o=this._overflows(this._util),h=this._overflows(this._tabsEl),n=s<this.BP_MD||o||h;this._collapsed?!n&&i>=this._unlockAtWidth&&this._setCollapsed(!1):n&&(this._unlockAtWidth=i+this._HYST,this._setCollapsed(!0));let u=!1;if(this.showSearch&&s>=this.BP_SM&&s<this.BP_MD&&this._searchWrap){const m=getComputedStyle(this._searchWrap),y=Math.max(this._num(m.minWidth,this._tokenPx("--scb-header-search-min",320)),this._tokenPx("--scb-header-search-min",320)),g=this._num(getComputedStyle(e).gap,this._tokenPx("--spacing-7",24)),w=this.showDrawer&&(s<this.BP_MD||this._collapsed)?this._menuBtn?.getBoundingClientRect().width||this._tokenPx("--icon-size-large",48):0;u=t.getBoundingClientRect().width+g+y+g+w+8>i+.5}this._setHideSearch(u);let b=!1;if(this.showDrawer&&(s<this.BP_MD||this._collapsed)&&!this._visible(this._util)&&!this._visible(this._searchWrap)){const m=this._num(getComputedStyle(e).gap,this._tokenPx("--spacing-7",24)),y=this._menuBtn?.getBoundingClientRect().width||this._tokenPx("--icon-size-large",48),g=(this._logoGroup?.getBoundingClientRect().width||0)+m+y;this._hideLogoText?b=!(i>=this._logoTextUnlockAt):g>i+.5&&(b=!0,this._logoTextUnlockAt=i+this._HYST)}else b=!1,this._logoTextUnlockAt=0;this._setHideLogoText(b)},this._onMenuClick=async e=>{e.preventDefault(),e.stopPropagation(),this.showDrawer&&(this.dispatchEvent(new CustomEvent("menu-click",{bubbles:!0,composed:!0})),await this._ensureDrawerMounted(),await r._nextFrame(),await r._nextFrame(),this._openDrawerNow())},this._onSearchClick=e=>{const t=this._searchEl;if(t?.submit&&typeof t.submit=="function"){t.submit();return}const s=t?.value??void 0;this.dispatchEvent(new CustomEvent("search-click",{detail:{value:s},bubbles:!0,composed:!0})),t?.focus?.()},this._onTabsChange=e=>{const s=e?.detail?.activeTabIndex??e.target?.activeTabIndex??0;this.activeTab=s;const o=(this._slotTabs.length?this._slotTabs:this.tabs)[s]?.href??"";this.dispatchEvent(new CustomEvent("tab-change",{detail:{index:s,href:o},bubbles:!0,composed:!0}))}}get _HYST(){return this._tokenPx("--spacing-11",64)}get BP_SM(){return this._tokenPx("--bp-sm",r.BP_SM_DEFAULT)}get BP_MD(){return this._tokenPx("--bp-md",r.BP_MD_DEFAULT)}_scheduleHarvest(){this._harvestPending||(this._harvestPending=!0,queueMicrotask(()=>{this._harvestPending=!1,this._harvest()}))}get _slotEl(){return this.shadowRoot?.querySelector("slot#data-slot")??null}get _top(){return this.renderRoot.querySelector(".top-row")}get _util(){return this.renderRoot.querySelector(".utility")}get _tabsEl(){return this.renderRoot.querySelector("scb-tabs")}get _logoGroup(){return this.renderRoot.querySelector(".logo-wrap")||this.renderRoot.querySelector(".logo-group")}get _searchWrap(){return this.renderRoot.querySelector(".search")}get _menuBtn(){return this.renderRoot.querySelector(".menu-trigger")}get _searchEl(){return this.renderRoot.querySelector(`#${this._searchId}`)}_attachSlotObservers(){this._slotMo?.disconnect();const e=new MutationObserver(t=>{this._scheduleHarvest()});this._slotMo=e,e.observe(this,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["label","href","icon","target"]})}_setCollapsed(e){this._collapsed!==e&&(this._collapsed=e,e?this.setAttribute("data-collapsed",""):this.removeAttribute("data-collapsed"))}_setHideSearch(e){e?this.setAttribute("data-hide-search",""):this.removeAttribute("data-hide-search")}_setHideLogoText(e){this._hideLogoText!==e&&(this._hideLogoText=e,e?this.setAttribute("data-hide-logo-text",""):this.removeAttribute("data-hide-logo-text"))}_num(e,t){const s=Number.parseFloat(String(e??"").trim());return Number.isFinite(s)?s:t}_tokenPx(e,t){const s=getComputedStyle(this);return this._num(s.getPropertyValue(e),t)}_visible(e){return e?getComputedStyle(e).display!=="none":!1}_overflows(e){return!e||!this._visible(e)?!1:e.scrollWidth>e.clientWidth+1}firstUpdated(){this.updateComplete.then(()=>{this._harvest(),this._attachSlotObservers()});const e=this._top;e&&(this._ro=new ResizeObserver(()=>this._scheduleMeasure()),this._ro.observe(e)),window.addEventListener("resize",this._onWindowResize,{passive:!0});const t=this._menuBtn,s=()=>this._ensureDrawerMounted();t?.addEventListener("pointerenter",s,{once:!0}),t?.addEventListener("focusin",s,{once:!0}),t?.addEventListener("touchstart",s,{once:!0,passive:!0})}updated(e){e.has("searchMax")&&this.style.setProperty("--scb-header-search-max",this.searchMax??"480px"),e.has("searchMin")&&this.style.setProperty("--scb-header-search-min",this.searchMin??"320px"),e.has("searchHeight")&&(this.searchHeight&&this.searchHeight.trim()?this.style.setProperty("--scb-search-height",this.searchHeight.trim()):this.style.removeProperty("--scb-search-height")),(e.has("utilityItems")||e.has("tabs")||e.has("logoText")||e.has("activeTab")||e.has("_slotTabs")||e.has("_slotUtils")||e.has("_slotMenu")||e.has("showDrawer")||e.has("showSearch")||e.has("searchMax")||e.has("searchMin"))&&this.updateComplete.then(()=>{this._scheduleMeasure(),this._applyActiveToTabs()})}disconnectedCallback(){this._ro?.disconnect(),this._slotMo?.disconnect(),window.removeEventListener("resize",this._onWindowResize),super.disconnectedCallback()}async _ensureDrawerMounted(){this._drawerMounted||(this._drawerMounted=!0,await this.updateComplete)}_openDrawerNow(){const e=this.renderRoot.querySelector(`#${this._drawerId}`);e&&(e.open=!0,e.setAttribute("open",""),e.show?.(),e.openDrawer?.(),this._drawerExpanded=!0,this._syncMenuBtnAria(),this.dispatchEvent(new CustomEvent("drawer-open",{bubbles:!0,composed:!0})))}_closeDrawerNow(){const e=this.renderRoot.querySelector(`#${this._drawerId}`);e&&(e.open=!1),this._drawerExpanded=!1,this._syncMenuBtnAria(),this.dispatchEvent(new CustomEvent("drawer-close",{bubbles:!0,composed:!0}))}_syncMenuBtnAria(){const e=this.renderRoot.querySelector(".menu-trigger");e&&e.setAttribute("aria-expanded",String(this._drawerExpanded))}_applyActiveToTabs(){const e=this._tabsEl;if(!e)return;e.activeTabIndex=this.activeTab,e.querySelectorAll("scb-secondary-tab").forEach((s,i)=>{s.selected=i===this.activeTab})}_renderDrawerNodes(e){return!e||e.length===0?c``:c`${e.map(t=>{const s=Array.isArray(t.children)&&t.children.length>0;return c`
2
2
  <scb-drawer-item
3
3
  label=${t.label}
4
4
  ?selected=${!1}
@@ -28,9 +28,12 @@ import{a as f,n as l,r as p,i as x,x as c,E as d,t as S}from"../../vendor/vendor
28
28
  <scb-grid cols-compact="4" cols-medium="8" cols-expanded="12" max-width=${this.maxWidth} gap="0">
29
29
  <scb-grid-item col-span-compact="4" col-span-medium="8" col-span-expanded="12">
30
30
  <div class="top-row">
31
- <a class="logo-group" href=${this.logoHref} aria-label="Gå till startsidan">
32
- ${this._renderLogo()} <span class="logo-text">${this.logoText}</span>
33
- </a>
31
+ <div class="logo-wrap">
32
+ <a class="logo-group" href=${this.logoHref} aria-label="Gå till startsidan">
33
+ ${this._renderLogo()} <span class="logo-text">${this.logoText}</span>
34
+ </a>
35
+ <md-focus-ring></md-focus-ring>
36
+ </div>
34
37
 
35
38
  <div class="actions">
36
39
  <nav class="utility" aria-label="Funktionslänkar">
@@ -129,8 +132,27 @@ import{a as f,n as l,r as p,i as x,x as c,E as d,t as S}from"../../vendor/vendor
129
132
  }
130
133
 
131
134
  .top-row { display:flex; align-items:center; gap:var(--spacing-7,24px); padding-block:var(--spacing-7,24px); min-width:0; }
135
+
136
+ .logo-wrap {
137
+ display:inline-block;
138
+ position:relative;
139
+ padding: var(--scb-header-logo-focus-ring-gap, 4px);
140
+ border-radius: var(--scb-header-logo-focus-ring-radius, var(--md-sys-shape-corner-small, 4px));
141
+ }
142
+ .logo-wrap md-focus-ring {
143
+ position:absolute;
144
+ inset:0;
145
+ pointer-events:none;
146
+ display:none;
147
+ border-radius: inherit;
148
+ }
149
+ .logo-wrap:focus-within md-focus-ring { display:block; }
150
+
132
151
  .logo-group { display:inline-flex; align-items:center; gap:var(--spacing-5,16px); text-decoration:none; color:inherit; flex-shrink:0; min-width:0; }
152
+ .logo-group:focus,
153
+ .logo-group:focus-visible { outline: none; }
133
154
  .logo-group svg { width:var(--scb-header-logo-w); height:var(--scb-header-logo-h); display:block; color:var(--md-sys-color-on-surface); }
155
+
134
156
  .logo-text{
135
157
  font-family: var(--brand-font, Inter), sans-serif;
136
158
  font-size: var(--md-sys-typescale-body-medium-size, 1rem);
@@ -241,4 +263,4 @@ import{a as f,n as l,r as p,i as x,x as c,E as d,t as S}from"../../vendor/vendor
241
263
  :host([data-hide-logo-text]) .logo-text {
242
264
  display: none;
243
265
  }
244
- `;r._nextFrame=()=>new Promise(e=>requestAnimationFrame(()=>e()));a([l({type:String,attribute:"max-width"})],r.prototype,"maxWidth",2);a([l({type:String,attribute:"logo-text"})],r.prototype,"logoText",2);a([l({type:String,attribute:"logo-href"})],r.prototype,"logoHref",2);a([l({type:Boolean,reflect:!0})],r.prototype,"banner",2);a([l({type:String,attribute:"banner-label"})],r.prototype,"bannerLabel",2);a([l({attribute:"tabs",converter:r._JSON_ARRAY})],r.prototype,"tabs",2);a([l({type:Number,attribute:"active-tab"})],r.prototype,"activeTab",2);a([l({attribute:"utility-items",converter:r._JSON_ARRAY})],r.prototype,"utilityItems",2);a([l({type:String,attribute:"search-placeholder"})],r.prototype,"searchPlaceholder",2);a([l({type:String,attribute:"drawer-label"})],r.prototype,"drawerLabel",2);a([l({type:String,attribute:"drawer-sub-label"})],r.prototype,"drawerSubLabel",2);a([l({type:String,attribute:"drawer-section-label"})],r.prototype,"drawerSectionLabel",2);a([l({type:String,attribute:"drawer-search-placeholder"})],r.prototype,"drawerSearchPlaceholder",2);a([l({attribute:"menu-data",converter:r._JSON_ARRAY})],r.prototype,"menuData",2);a([l({attribute:"show-drawer",reflect:!0,converter:y})],r.prototype,"showDrawer",2);a([l({attribute:"show-search",reflect:!0,converter:y})],r.prototype,"showSearch",2);a([l({attribute:"include-utility-in-drawer",reflect:!0,converter:y})],r.prototype,"includeUtilityInDrawer",2);a([l({type:String,attribute:"search-max"})],r.prototype,"searchMax",2);a([l({type:String,attribute:"search-min"})],r.prototype,"searchMin",2);a([l({type:String,attribute:"search-height"})],r.prototype,"searchHeight",2);a([p()],r.prototype,"_drawerId",2);a([p()],r.prototype,"_drawerMounted",2);a([p()],r.prototype,"_drawerExpanded",2);a([p()],r.prototype,"_searchId",2);a([p()],r.prototype,"_slotTabs",2);a([p()],r.prototype,"_slotUtils",2);a([p()],r.prototype,"_slotMenu",2);a([p()],r.prototype,"_collapsed",2);a([p()],r.prototype,"_hideLogoText",2);r=a([S("scb-header")],r);
266
+ `;r._nextFrame=()=>new Promise(e=>requestAnimationFrame(()=>e()));a([l({type:String,attribute:"max-width"})],r.prototype,"maxWidth",2);a([l({type:String,attribute:"logo-text"})],r.prototype,"logoText",2);a([l({type:String,attribute:"logo-href"})],r.prototype,"logoHref",2);a([l({type:Boolean,reflect:!0})],r.prototype,"banner",2);a([l({type:String,attribute:"banner-label"})],r.prototype,"bannerLabel",2);a([l({attribute:"tabs",converter:r._JSON_ARRAY})],r.prototype,"tabs",2);a([l({type:Number,attribute:"active-tab"})],r.prototype,"activeTab",2);a([l({attribute:"utility-items",converter:r._JSON_ARRAY})],r.prototype,"utilityItems",2);a([l({type:String,attribute:"search-placeholder"})],r.prototype,"searchPlaceholder",2);a([l({type:String,attribute:"drawer-label"})],r.prototype,"drawerLabel",2);a([l({type:String,attribute:"drawer-sub-label"})],r.prototype,"drawerSubLabel",2);a([l({type:String,attribute:"drawer-section-label"})],r.prototype,"drawerSectionLabel",2);a([l({type:String,attribute:"drawer-search-placeholder"})],r.prototype,"drawerSearchPlaceholder",2);a([l({attribute:"menu-data",converter:r._JSON_ARRAY})],r.prototype,"menuData",2);a([l({attribute:"show-drawer",reflect:!0,converter:_})],r.prototype,"showDrawer",2);a([l({attribute:"show-search",reflect:!0,converter:_})],r.prototype,"showSearch",2);a([l({attribute:"include-utility-in-drawer",reflect:!0,converter:_})],r.prototype,"includeUtilityInDrawer",2);a([l({type:String,attribute:"search-max"})],r.prototype,"searchMax",2);a([l({type:String,attribute:"search-min"})],r.prototype,"searchMin",2);a([l({type:String,attribute:"search-height"})],r.prototype,"searchHeight",2);a([p()],r.prototype,"_drawerId",2);a([p()],r.prototype,"_drawerMounted",2);a([p()],r.prototype,"_drawerExpanded",2);a([p()],r.prototype,"_searchId",2);a([p()],r.prototype,"_slotTabs",2);a([p()],r.prototype,"_slotUtils",2);a([p()],r.prototype,"_slotMenu",2);a([p()],r.prototype,"_collapsed",2);a([p()],r.prototype,"_hideLogoText",2);r=a([S("scb-header")],r);