scb-wc-test 0.1.81 → 0.1.83

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
@@ -62,6 +62,7 @@ import './mvc/components/scb-textfield/scb-textfield.js';
62
62
  import './mvc/components/scb-toc/scb-toc-item.js';
63
63
  import './mvc/components/scb-toc/scb-toc.js';
64
64
  import './mvc/components/scb-tooltip/scb-tooltip.js';
65
+ import './mvc/components/scb-viz/scb-viz.js';
65
66
  import './mvc/vendor/preload-helper.js';
66
67
  import './mvc/vendor/vendor-lit.js';
67
68
  import './mvc/vendor/vendor-material.js';
@@ -127,3 +128,4 @@ import './scb-textfield/scb-textfield.js';
127
128
  import './scb-toc/scb-toc-item.js';
128
129
  import './scb-toc/scb-toc.js';
129
130
  import './scb-tooltip/scb-tooltip.js';
131
+ import './scb-viz/scb-viz.js';
package/index.d.ts CHANGED
@@ -59,3 +59,4 @@ export * from './scb-textfield/scb-textfield';
59
59
  export * from './scb-toc/scb-toc-item';
60
60
  export * from './scb-toc/scb-toc';
61
61
  export * from './scb-tooltip/scb-tooltip';
62
+ export * from './scb-viz/scb-viz';
package/index.js CHANGED
@@ -15,12 +15,12 @@ import { ScbDialog as k } from "./scb-dialog/scb-dialog.js";
15
15
  import { ScbDivider as y } from "./scb-divider/scb-divider.js";
16
16
  import { ScbDrawerItem as P } from "./scb-drawer/scb-drawer-item.js";
17
17
  import { ScbDrawerSection as M } from "./scb-drawer/scb-drawer-section.js";
18
- import { ScbDrawer as N } from "./scb-drawer/scb-drawer.js";
19
- import { ScbSubDrawer as z } from "./scb-drawer/scb-sub-drawer.js";
18
+ import { ScbDrawer as z } from "./scb-drawer/scb-drawer.js";
19
+ import { ScbSubDrawer as R } from "./scb-drawer/scb-sub-drawer.js";
20
20
  import { ScbFactCardContent as U } from "./scb-fact-card/scb-fact-card-content.js";
21
- import { ScbFactCard as q } from "./scb-fact-card/scb-fact-card.js";
22
- import { ScbFooterSection as J } from "./scb-footer/scb-footer-section.js";
23
- import { ScbFooter as Q } from "./scb-footer/scb-footer.js";
21
+ import { ScbFactCard as j } from "./scb-fact-card/scb-fact-card.js";
22
+ import { ScbFooterSection as E } from "./scb-footer/scb-footer-section.js";
23
+ import { ScbFooter as O } from "./scb-footer/scb-footer.js";
24
24
  import { ScbGridItem as W } from "./scb-grid/scb-grid-item.js";
25
25
  import { ScbGrid as Y } from "./scb-grid/scb-grid.js";
26
26
  import { ScbStack as _ } from "./scb-grid/scb-stack.js";
@@ -42,12 +42,12 @@ import { ScbNotification as kr } from "./scb-notification/scb-notification.js";
42
42
  import { ScbNotificationCard as yr } from "./scb-notification-card/scb-notification-card.js";
43
43
  import { ScbPagination as Pr } from "./scb-pagination/scb-pagination.js";
44
44
  import { ScbProgressIndicator as Mr } from "./scb-progress-indicator/scb-progress-indicator.js";
45
- import { ScbRadioButton as Nr } from "./scb-radio-button/scb-radio-button.js";
46
- import { ScbRadioGroup as zr } from "./scb-radio-button/scb-radio-group.js";
45
+ import { ScbRadioButton as zr } from "./scb-radio-button/scb-radio-button.js";
46
+ import { ScbRadioGroup as Rr } from "./scb-radio-button/scb-radio-group.js";
47
47
  import { ScbSearch as Ur } from "./scb-search/scb-search.js";
48
- import { ScbSegmentedButton as qr } from "./scb-segmented-button/scb-segmented-button.js";
49
- import { ScbSegmentedItem as Jr } from "./scb-segmented-button/scb-segmented-item.js";
50
- import { ScbSnackbar as Qr } from "./scb-snackbar/scb-snackbar.js";
48
+ import { ScbSegmentedButton as jr } from "./scb-segmented-button/scb-segmented-button.js";
49
+ import { ScbSegmentedItem as Er } from "./scb-segmented-button/scb-segmented-item.js";
50
+ import { ScbSnackbar as Or } from "./scb-snackbar/scb-snackbar.js";
51
51
  import { ScbStatusPill as Wr } from "./scb-status-pill/scb-status-pill.js";
52
52
  import { ScbStep as Yr } from "./scb-stepper/scb-step.js";
53
53
  import { ScbStepper as _r } from "./scb-stepper/scb-stepper.js";
@@ -55,10 +55,11 @@ import { ScbSwitch as ro } from "./scb-switch/scb-switch.js";
55
55
  import { ScbPrimaryTab as eo } from "./scb-tabs/scb-primary-tab.js";
56
56
  import { ScbSecondaryTab as co } from "./scb-tabs/scb-secondary-tab.js";
57
57
  import { ScbTabs as mo } from "./scb-tabs/scb-tabs.js";
58
- import { ScbTextField2 as bo } from "./scb-textfield/scb-textfield.js";
58
+ import { ScbTextField as bo } from "./scb-textfield/scb-textfield.js";
59
59
  import { ScbTocItem as fo } from "./scb-toc/scb-toc-item.js";
60
60
  import { ScbToc as io } from "./scb-toc/scb-toc.js";
61
61
  import { ScbTooltip as uo } from "./scb-tooltip/scb-tooltip.js";
62
+ import { ScbViz as Io } from "./scb-viz/scb-viz.js";
62
63
  export {
63
64
  n as SCBBreadcrumb,
64
65
  i as SCBBreadcrumbItem,
@@ -75,13 +76,13 @@ export {
75
76
  H as ScbChip,
76
77
  k as ScbDialog,
77
78
  y as ScbDivider,
78
- N as ScbDrawer,
79
+ z as ScbDrawer,
79
80
  P as ScbDrawerItem,
80
81
  M as ScbDrawerSection,
81
- q as ScbFactCard,
82
+ j as ScbFactCard,
82
83
  U as ScbFactCardContent,
83
- Q as ScbFooter,
84
- J as ScbFooterSection,
84
+ O as ScbFooter,
85
+ E as ScbFooterSection,
85
86
  Y as ScbGrid,
86
87
  W as ScbGridItem,
87
88
  br as ScbHeader,
@@ -102,23 +103,24 @@ export {
102
103
  Pr as ScbPagination,
103
104
  eo as ScbPrimaryTab,
104
105
  Mr as ScbProgressIndicator,
105
- Nr as ScbRadioButton,
106
- zr as ScbRadioGroup,
106
+ zr as ScbRadioButton,
107
+ Rr as ScbRadioGroup,
107
108
  Ur as ScbSearch,
108
109
  co as ScbSecondaryTab,
109
- qr as ScbSegmentedButton,
110
- Jr as ScbSegmentedItem,
111
- Qr as ScbSnackbar,
110
+ jr as ScbSegmentedButton,
111
+ Er as ScbSegmentedItem,
112
+ Or as ScbSnackbar,
112
113
  _ as ScbStack,
113
114
  Wr as ScbStatusPill,
114
115
  Yr as ScbStep,
115
116
  _r as ScbStepper,
116
- z as ScbSubDrawer,
117
+ R as ScbSubDrawer,
117
118
  Hr as ScbSubMenu,
118
119
  ro as ScbSwitch,
119
120
  mo as ScbTabs,
120
- bo as ScbTextField2,
121
+ bo as ScbTextField,
121
122
  io as ScbToc,
122
123
  fo as ScbTocItem,
123
- uo as ScbTooltip
124
+ uo as ScbTooltip,
125
+ Io as ScbViz
124
126
  };
@@ -59,3 +59,4 @@ import './scb-textfield/scb-textfield.js';
59
59
  import './scb-toc/scb-toc.js';
60
60
  import './scb-toc/scb-toc-item.js';
61
61
  import './scb-tooltip/scb-tooltip.js';
62
+ import './scb-viz/scb-viz.js';
@@ -37,12 +37,7 @@ import{_ as h}from"../../vendor/preload-helper.js";import{a as p,n as r,i as _,x
37
37
  }
38
38
 
39
39
  md-icon {
40
- color: var(--p-20);
41
- font-size: var(--scb-icon-size-large);
42
- }
43
- @media (prefers-color-scheme: dark) {
44
- md-icon {
45
- color: var(--md-sys-color-on-surface);
46
- }
40
+ color: var(--md-sys-color-on-surface);
41
+ font-size: var(--md-sys-typescale-body-large-size);
47
42
  }
48
43
  `;s([r({type:String,reflect:!0})],t.prototype,"variant",2);s([r({type:String})],t.prototype,"label",2);s([r({type:String})],t.prototype,"icon",2);s([r({type:Boolean,reflect:!0})],t.prototype,"disabled",2);s([r({type:Boolean,reflect:!0})],t.prototype,"elevated",2);s([r({type:Boolean,reflect:!0})],t.prototype,"removable",2);s([r({type:Boolean,reflect:!0})],t.prototype,"selected",2);s([r({type:String})],t.prototype,"href",2);s([r({type:String})],t.prototype,"target",2);t=s([u("scb-chip")],t);export{t as ScbChip};
@@ -1,21 +1,23 @@
1
- import{a as d,n as h,i as u,x as a,t as b}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";import"../scb-tooltip/scb-tooltip.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var l=customElements.define.bind(customElements);customElements.define=function(i,r,o){try{customElements.get(i)||l(i,r,o)}catch(e){var s=String(e||"");if(s.indexOf("already been used")===-1&&s.indexOf("NotSupportedError")===-1)throw e}}}}catch{}})();var f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,n=(t,l,i,r)=>{for(var o=r>1?void 0:r?p(l,i):l,s=t.length-1,e;s>=0;s--)(e=t[s])&&(o=(r?e(l,i,o):e(o))||o);return r&&o&&f(l,i,o),o};let c=class extends u{constructor(){super(...arguments),this.variant="standard",this.width="100%",this.showScrollbar=!1,this.rightScrollButtonLabel="Scrolla höger",this.leftScrollButtonLabel="Scrolla vänster",this.updateScrollButtons=()=>{this.requestUpdate();const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return;t.scrollLeft>0?this.setAttribute("data-scroll-left",""):this.removeAttribute("data-scroll-left");const l=t;l.scrollLeft+l.clientWidth<l.scrollWidth-1?this.setAttribute("data-scroll-right",""):this.removeAttribute("data-scroll-right")},this.lastScrollLeft=0,this.isScrolling=!1,this.scrollEndTimeout=null,this.handleScroll=()=>{const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");t&&(this.updateScrollButtons(),this.dispatchCustomEvent("scb-scroll",{scrollLeft:t.scrollLeft}),this.isScrolling||(this.isScrolling=!0,this.dispatchCustomEvent("scb-scroll-start",{scrollLeft:t.scrollLeft})),clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=setTimeout(()=>{this.isScrolling=!1,this.dispatchCustomEvent("scb-scroll-end",{scrollLeft:t.scrollLeft})},120),t.scrollLeft>this.lastScrollLeft?this.dispatchCustomEvent("scb-scroll-right",{scrollLeft:t.scrollLeft}):t.scrollLeft<this.lastScrollLeft&&this.dispatchCustomEvent("scb-scroll-left",{scrollLeft:t.scrollLeft}),this.lastScrollLeft=t.scrollLeft)}}doScrollBy(t){const l=this.shadowRoot?.querySelector(".scb-horizontal-scroller");l&&l.scrollBy({left:t,behavior:"smooth"})}get canScrollLeft(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");return t?t.scrollLeft>0:!1}get canScrollRight(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return!1;const l=t;return l.scrollLeft+l.clientWidth<l.scrollWidth-1}connectedCallback(){super.connectedCallback(),this.addEventListener("scroll",this.updateScrollButtons,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("scroll",this.updateScrollButtons,!0)}dispatchCustomEvent(t,l={}){this.dispatchEvent(new CustomEvent(t,{detail:l,bubbles:!0,composed:!0}))}firstUpdated(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller"),l=this.shadowRoot?.querySelector(".scroll-shadow-left"),i=this.shadowRoot?.querySelector(".scroll-shadow-right"),r=this.shadowRoot?.querySelector("slot");t&&(t.addEventListener("scroll",this.handleScroll),t.addEventListener("wheel",function(s){s.deltaY!==0&&(s.preventDefault(),t.scrollLeft+=s.deltaY)},{passive:!1}));const o=()=>{if(r&&l&&i){const s=r.getBoundingClientRect();l.style.height=`${s.height}px`,i.style.height=`${s.height}px`}};o(),r&&new ResizeObserver(o).observe(r),this.updateScrollButtons()}updated(t){const l=this.shadowRoot?.querySelector(".scroll-shadow-left"),i=this.shadowRoot?.querySelector(".scroll-shadow-right"),r=this.shadowRoot?.querySelector("slot"),o=this.shadowRoot?.querySelector(".scb-horizontal-scroller");o&&(o.addEventListener("scroll",this.handleScroll),o.addEventListener("wheel",function(e){e.deltaY!==0&&(e.preventDefault(),o.scrollLeft+=e.deltaY)},{passive:!1})),t.has("width")&&this.style.setProperty("--scb-horizontal-scroller-width",this.width);const s=()=>{if(r&&l&&i){const e=r.getBoundingClientRect();l.style.height=`${e.height}px`,i.style.height=`${e.height}px`}};s(),r&&new ResizeObserver(s).observe(r)}render(){switch(this.variant){case"inline":return a`
2
- <div class="scb-horizontal-scroller" tabindex="0">
3
- <div class="scroll-shadow-left"></div>
1
+ import{a as u,n as h,i as b,x as c,t as f}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-button/scb-button.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";import"../scb-tooltip/scb-tooltip.js";(function(){try{var t=typeof globalThis<"u"?globalThis:window;if(!t.__scb_ce_guard_installed__){t.__scb_ce_guard_installed__=!0;var l=customElements.define.bind(customElements);customElements.define=function(i,s,o){try{customElements.get(i)||l(i,s,o)}catch(r){var e=String(r||"");if(e.indexOf("already been used")===-1&&e.indexOf("NotSupportedError")===-1)throw r}}}}catch{}})();var p=Object.defineProperty,g=Object.getOwnPropertyDescriptor,n=(t,l,i,s)=>{for(var o=s>1?void 0:s?g(l,i):l,e=t.length-1,r;e>=0;e--)(r=t[e])&&(o=(s?r(l,i,o):r(o))||o);return s&&o&&p(l,i,o),o};let a=class extends b{constructor(){super(...arguments),this.variant="standard",this.width="100%",this.showScrollbar=!0,this.rightScrollButtonLabel="Scrolla höger",this.leftScrollButtonLabel="Scrolla vänster",this.contentFlex=!1,this.updateScrollButtons=()=>{this.requestUpdate();const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return;t.scrollLeft>0?this.setAttribute("data-scroll-left",""):this.removeAttribute("data-scroll-left");const l=t;l.scrollLeft+l.clientWidth<l.scrollWidth-1?this.setAttribute("data-scroll-right",""):this.removeAttribute("data-scroll-right")},this.lastScrollLeft=0,this.isScrolling=!1,this.scrollEndTimeout=null,this.handleScroll=()=>{const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");t&&(this.updateScrollButtons(),this.dispatchCustomEvent("scb-scroll",{scrollLeft:t.scrollLeft}),this.isScrolling||(this.isScrolling=!0,this.dispatchCustomEvent("scb-scroll-start",{scrollLeft:t.scrollLeft})),clearTimeout(this.scrollEndTimeout),this.scrollEndTimeout=setTimeout(()=>{this.isScrolling=!1,this.dispatchCustomEvent("scb-scroll-end",{scrollLeft:t.scrollLeft})},120),t.scrollLeft>this.lastScrollLeft?this.dispatchCustomEvent("scb-scroll-right",{scrollLeft:t.scrollLeft}):t.scrollLeft<this.lastScrollLeft&&this.dispatchCustomEvent("scb-scroll-left",{scrollLeft:t.scrollLeft}),this.lastScrollLeft=t.scrollLeft)}}doScrollBy(t){const l=this.shadowRoot?.querySelector(".scb-horizontal-scroller");l&&l.scrollBy({left:t,behavior:"smooth"})}get canScrollLeft(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");return t?t.scrollLeft>0:!1}get canScrollRight(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(!t)return!1;const l=t;return l.scrollLeft+l.clientWidth<l.scrollWidth-1}connectedCallback(){super.connectedCallback(),this.addEventListener("scroll",this.updateScrollButtons,!0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("scroll",this.updateScrollButtons,!0)}dispatchCustomEvent(t,l={}){this.dispatchEvent(new CustomEvent(t,{detail:l,bubbles:!0,composed:!0}))}firstUpdated(){const t=this.shadowRoot?.querySelector(".scb-horizontal-scroller"),l=this.shadowRoot?.querySelector(".scroll-shadow-left"),i=this.shadowRoot?.querySelector(".scroll-shadow-right"),s=this.shadowRoot?.querySelector("slot");t&&(t.addEventListener("scroll",this.handleScroll),t.addEventListener("wheel",function(e){e.deltaY!==0&&(e.preventDefault(),t.scrollLeft+=e.deltaY)},{passive:!1}));const o=()=>{if(s&&l&&i){const e=s.getBoundingClientRect();l.style.height=`${e.height}px`,i.style.height=`${e.height}px`}};o(),s&&new ResizeObserver(o).observe(s),this.updateComplete.then(()=>{this.updateScrollButtons()})}updated(t){const l=this.shadowRoot?.querySelector(".scroll-shadow-left"),i=this.shadowRoot?.querySelector(".scroll-shadow-right"),s=this.shadowRoot?.querySelector("slot"),o=this.shadowRoot?.querySelector(".scb-horizontal-scroller");if(o){o.addEventListener("scroll",this.handleScroll),o.addEventListener("wheel",function(d){d.deltaY!==0&&(d.preventDefault(),o.scrollLeft+=d.deltaY)},{passive:!1}),o.scrollLeft>0?this.setAttribute("data-scroll-left",""):this.removeAttribute("data-scroll-left");const r=o;r.scrollLeft+r.clientWidth<r.scrollWidth-1?this.setAttribute("data-scroll-right",""):this.removeAttribute("data-scroll-right")}t.has("width")&&this.style.setProperty("--scb-horizontal-scroller-width",this.width);const e=()=>{if(s&&l&&i){const r=s.getBoundingClientRect();l.style.height=`${r.height}px`,i.style.height=`${r.height}px`}};e(),s&&new ResizeObserver(e).observe(s)}render(){const t=this.variant;var l=!!(this.canScrollLeft||this.canScrollRight);switch(t){case"inline":return c`
2
+ <div class="scb-horizontal-scroller ${l?"canScroll":""}" tabindex="0">
3
+ ${this.variant!="inline"?c`<div class="scroll-shadow-left"></div>`:""}
4
4
  <slot></slot>
5
5
  <md-focus-ring inward></md-focus-ring>
6
- <div class="scroll-shadow-right"></div>
6
+ ${this.variant!="inline"?c`<div class="scroll-shadow-right"></div>`:""}
7
7
  </div>
8
- <div class="scroll-buttons">
9
- ${this.canScrollLeft?a`
10
- <scb-button class="scroll-button-left" variant="text" label="${this.leftScrollButtonLabel}" aria-label="Scrolla vänster" icon="chevron_left" @click="${()=>this.doScrollBy(-100)}"></scb-button>
11
- `:""}
8
+ ${l?c`
9
+ <div class="scroll-buttons">
10
+ ${this.canScrollLeft?c`
11
+ <scb-button class="scroll-button-left" variant="text" label="${this.leftScrollButtonLabel}" aria-label="Scrolla vänster" icon="chevron_left" @click="${()=>this.doScrollBy(-100)}"></scb-button>
12
+ `:""}
12
13
 
13
- ${this.canScrollRight?a`
14
- <scb-button class="scroll-button-right" variant="text" label="${this.rightScrollButtonLabel}" aria-label="Scrolla höger" icon="chevron_right" trailing-icon @click="${()=>this.doScrollBy(100)}"></scb-button>
15
- `:""}
16
- </div>
17
- `;default:return a`
18
- ${this.canScrollLeft?a`
14
+ ${this.canScrollRight?c`
15
+ <scb-button class="scroll-button-right" variant="text" label="${this.rightScrollButtonLabel}" aria-label="Scrolla höger" icon="chevron_right" trailing-icon @click="${()=>this.doScrollBy(100)}"></scb-button>
16
+ `:""}
17
+ </div>
18
+ `:""}
19
+ `;default:return c`
20
+ ${this.canScrollLeft?c`
19
21
  <scb-icon-button class="scroll-button-left" icon="chevron_left" aria-label="Scrolla vänster" variant="filled-tonal" @click="${()=>this.doScrollBy(-100)}"></scb-icon-button>
20
22
  `:""}
21
23
  <div class="scroll-shadow-left"></div>
@@ -24,27 +26,33 @@ import{a as d,n as h,i as u,x as a,t as b}from"../../vendor/vendor.js";import"..
24
26
  <md-focus-ring inward></md-focus-ring>
25
27
  </div>
26
28
  <div class="scroll-shadow-right"></div>
27
- ${this.canScrollRight?a`
29
+ ${this.canScrollRight?c`
28
30
  <scb-icon-button class="scroll-button-right" icon="chevron_right" aria-label="Scrolla höger" variant="filled-tonal" @click="${()=>this.doScrollBy(100)}"></scb-icon-button>
29
31
  `:""}
30
- `}}};c.styles=d`
32
+ `}}};a.styles=u`
31
33
  :host {
32
- position: relative;
33
- max-width: var(--scb-horizontal-scroller-width, 100%);
34
34
  display: flex;
35
+ position: relative;
35
36
  align-items: center;
36
37
  gap: var(--spacing-3);
37
38
  padding: 0px var(--spacing-8);
38
39
  }
39
40
  .scb-horizontal-scroller {
41
+ overflow-x: auto;
42
+ -ms-overflow-style: none; /* IE and Edge */
43
+ scrollbar-width: none;
44
+ width: 100%;
45
+ }
46
+ :host([show-scrollbar]) .scb-horizontal-scroller{
47
+ scrollbar-width: auto;
48
+ }
49
+
50
+ :host([content-flex]) .scb-horizontal-scroller{
40
51
  display: flex;
41
52
  flex-direction: row;
42
- overflow-x: scroll;
43
53
  flex: 1 1 auto;
44
- -ms-overflow-style: none; /* IE and Edge */
45
- scrollbar-width: none;
46
- max-width: var(--scb-horizontal-scroller-width, 100%);
47
54
  }
55
+
48
56
  .scb-horizontal-scroller::-webkit-scrollbar {
49
57
  border-radius: var(--md-sys-shape-corner-large);
50
58
  height: 4px;
@@ -66,14 +74,16 @@ import{a as d,n as h,i as u,x as a,t as b}from"../../vendor/vendor.js";import"..
66
74
  border-radius: var(--scb-card-focus-ring-radius, var(--md-sys-shape-corner-large));
67
75
  }
68
76
 
69
- :host([show-scrollbar]) .scb-horizontal-scroller{
70
- -ms-overflow-style: auto; /* IE and Edge */
71
- scrollbar-width: auto;
77
+ :host([show-scrollbar]) .scb-horizontal-scroller.canScroll{
72
78
  padding-bottom: var(--spacing-5);
73
79
  }
74
80
  slot {
75
- display: flex;
81
+ display: block;
76
82
  padding: var(--spacing-3);
83
+ min-width: var(--scb-horizontal-scroller-width, auto);
84
+ }
85
+ :host([content-flex]) .scb-horizontal-scroller slot {
86
+ display: flex;
77
87
  }
78
88
  .scroll-button-left {
79
89
  left: var(--spacing-5);
@@ -111,6 +121,7 @@ import{a as d,n as h,i as u,x as a,t as b}from"../../vendor/vendor.js";import"..
111
121
  :host([variant="inline"]) {
112
122
  flex-direction: column;
113
123
  align-items: unset;
124
+ padding: 0;
114
125
  .scroll-buttons {
115
126
  display: flex;
116
127
  gap: var(--spacing-3);
@@ -131,4 +142,4 @@ import{a as d,n as h,i as u,x as a,t as b}from"../../vendor/vendor.js";import"..
131
142
  gap: var(--spacing-5);
132
143
  }
133
144
 
134
- `;n([h({type:String,reflect:!0})],c.prototype,"variant",2);n([h({type:String,reflect:!0})],c.prototype,"width",2);n([h({type:Boolean,reflect:!0,attribute:"show-scrollbar"})],c.prototype,"showScrollbar",2);n([h({type:String,reflect:!0,attribute:"right-scroll-button-label"})],c.prototype,"rightScrollButtonLabel",2);n([h({type:String,reflect:!0,attribute:"left-scroll-button-label"})],c.prototype,"leftScrollButtonLabel",2);c=n([b("scb-horizontal-scroller")],c);
145
+ `;n([h({type:String,reflect:!0})],a.prototype,"variant",2);n([h({type:String,reflect:!0})],a.prototype,"width",2);n([h({type:Boolean,reflect:!0,attribute:"show-scrollbar"})],a.prototype,"showScrollbar",2);n([h({type:String,reflect:!0,attribute:"right-scroll-button-label"})],a.prototype,"rightScrollButtonLabel",2);n([h({type:String,reflect:!0,attribute:"left-scroll-button-label"})],a.prototype,"leftScrollButtonLabel",2);n([h({type:Boolean,reflect:!0,attribute:"content-flex"})],a.prototype,"contentFlex",2);a=n([f("scb-horizontal-scroller")],a);
@@ -169,4 +169,4 @@ import{_ as h}from"../../vendor/preload-helper.js";import{i as p,x as c,a as u,n
169
169
  .scb-textfield.has-error-icon {
170
170
  padding-right: 44px; /* Adjust as needed for icon size and spacing */
171
171
  }
172
- `];s([a({type:String,reflect:!0})],i.prototype,"type",2);s([a({type:String})],i.prototype,"label",2);s([a({type:String,attribute:"supporting-text"})],i.prototype,"supportingText",2);s([a({type:String,attribute:"error-text"})],i.prototype,"errorText",2);s([a({type:String,attribute:"leading-icon"})],i.prototype,"leadingIcon",2);s([a({type:String})],i.prototype,"name",2);s([a({type:String})],i.prototype,"pattern",2);s([a({type:String,attribute:"value"})],i.prototype,"value",2);s([a({type:String})],i.prototype,"underLabel",2);s([a({type:Boolean,reflect:!0})],i.prototype,"error",2);s([a({type:Boolean,reflect:!0})],i.prototype,"disabled",2);s([a({type:Boolean,reflect:!0})],i.prototype,"required",2);i=s([b("scb-textfield")],i);export{i as ScbTextField2};
172
+ `];s([a({type:String,reflect:!0})],i.prototype,"type",2);s([a({type:String})],i.prototype,"label",2);s([a({type:String,attribute:"supporting-text"})],i.prototype,"supportingText",2);s([a({type:String,attribute:"error-text"})],i.prototype,"errorText",2);s([a({type:String,attribute:"leading-icon"})],i.prototype,"leadingIcon",2);s([a({type:String})],i.prototype,"name",2);s([a({type:String})],i.prototype,"pattern",2);s([a({type:String,attribute:"value"})],i.prototype,"value",2);s([a({type:String})],i.prototype,"underLabel",2);s([a({type:Boolean,reflect:!0})],i.prototype,"error",2);s([a({type:Boolean,reflect:!0})],i.prototype,"disabled",2);s([a({type:Boolean,reflect:!0})],i.prototype,"required",2);i=s([b("scb-textfield")],i);export{i as ScbTextField};
@@ -1,4 +1,4 @@
1
- import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-divider/scb-divider.js";import"../../vendor/preload-helper.js";import"../../vendor/vendor-material.js";import"../scb-tooltip/scb-tooltip.js";import"../scb-button/scb-button.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var s=customElements.define.bind(customElements);customElements.define=function(o,t,i){try{customElements.get(o)||s(o,t,i)}catch(n){var a=String(n||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var u=Object.defineProperty,m=Object.getOwnPropertyDescriptor,c=(e,s,o,t)=>{for(var i=t>1?void 0:t?m(s,o):s,a=e.length-1,n;a>=0;a--)(n=e[a])&&(i=(t?n(s,o,i):n(i))||i);return t&&i&&u(s,o,i),i};let r=class extends h{constructor(){super(...arguments),this.expanded=!1,this.label="",this.supportingText="",this.itemHref="#",this.divider=!0,this._unique=crypto.randomUUID(),this._slotHasContent=!1,this._onSlotChange=()=>{const e=this.renderRoot.querySelector("slot");this._slotHasContent=!!e&&e.assignedNodes().length>0,this.requestUpdate(),this._updateTabbable()},this.toggleAccordion=()=>{const e=this.closest("scb-toc");e?.hasAttribute("detached")||e.querySelectorAll("scb-toc-item").forEach(t=>{t!==this&&t.expanded&&(t.expanded=!1,this.toggleBottom(t),t.dispatchEvent(new CustomEvent("expanded-changed",{detail:{expanded:!1},bubbles:!0,composed:!0})))});const s=this.expanded;this.expanded=!this.expanded,this.toggleBottom(this),s!==this.expanded&&this.dispatchEvent(new CustomEvent("expanded-changed",{detail:{expanded:this.expanded},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("slotchange",this._onSlotChange)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("slotchange",this._onSlotChange)}updated(e){e.has("expanded")&&this._updateTabbable()}_updateTabbable(){if(typeof window>"u")return;const e=this.renderRoot.querySelector("slot");if(!e)return;e.assignedElements({flatten:!0}).forEach(o=>{o.matches("a,button,input,select,textarea,[tabindex]")&&(this.expanded?o.removeAttribute("tabindex"):o.setAttribute("tabindex","-1")),o.querySelectorAll?.("a,button,input,select,textarea,[tabindex]").forEach(t=>{const i=t;this.expanded?i.removeAttribute("tabindex"):i.setAttribute("tabindex","-1")})})}toggleBottom(e){const s=e.renderRoot.querySelector(".scb-toc-item-bottom");s&&(e.expanded?(s.style.maxHeight=`${s.scrollHeight}px`,setTimeout(()=>s.style.maxHeight="unset",160)):(s.style.maxHeight=`${s.scrollHeight}px`,requestAnimationFrame(()=>s.style.maxHeight="0")))}_onKeyDown(e){const s=this.closest("scb-toc"),t=Array.from(s?.querySelectorAll("scb-toc-item")||[]).map(n=>n.renderRoot.querySelector(".scb-toc-item")).filter(n=>!!n),i=e.currentTarget,a=t.indexOf(i);switch(e.key){case"Enter":case" ":e.preventDefault(),this.toggleAccordion();break;case"ArrowDown":e.preventDefault(),a<t.length-1&&t[a+1].focus();break;case"ArrowUp":e.preventDefault(),a>0&&t[a-1].focus();break;case"Home":e.preventDefault(),t.length&&t[0].focus();break;case"End":e.preventDefault(),t.length&&t[t.length-1].focus();break}}render(){const e=`bottom-${this._unique}`;return l`
1
+ import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-divider/scb-divider.js";import"../../vendor/vendor-material.js";import"../../vendor/preload-helper.js";import"../scb-tooltip/scb-tooltip.js";import"../scb-button/scb-button.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var s=customElements.define.bind(customElements);customElements.define=function(i,t,o){try{customElements.get(i)||s(i,t,o)}catch(n){var a=String(n||"");if(a.indexOf("already been used")===-1&&a.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var u=Object.defineProperty,m=Object.getOwnPropertyDescriptor,c=(e,s,i,t)=>{for(var o=t>1?void 0:t?m(s,i):s,a=e.length-1,n;a>=0;a--)(n=e[a])&&(o=(t?n(s,i,o):n(o))||o);return t&&o&&u(s,i,o),o};let r=class extends h{constructor(){super(...arguments),this.expanded=!1,this.label="",this.supportingText="",this.itemHref="#",this.divider=!0,this._unique=crypto.randomUUID(),this._slotHasContent=!1,this._onSlotChange=()=>{const e=this.renderRoot.querySelector("slot");this._slotHasContent=!!e&&e.assignedNodes().length>0,this.requestUpdate(),this._updateTabbable()},this.toggleAccordion=()=>{const e=this.closest("scb-toc");e?.hasAttribute("detached")||e.querySelectorAll("scb-toc-item").forEach(t=>{t!==this&&t.expanded&&(t.expanded=!1,this.toggleBottom(t),t.dispatchEvent(new CustomEvent("expanded-changed",{detail:{expanded:!1},bubbles:!0,composed:!0})))});const s=this.expanded;this.expanded=!this.expanded,this.toggleBottom(this),s!==this.expanded&&this.dispatchEvent(new CustomEvent("expanded-changed",{detail:{expanded:this.expanded},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.addEventListener("slotchange",this._onSlotChange)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("slotchange",this._onSlotChange)}updated(e){e.has("expanded")&&this._updateTabbable()}_updateTabbable(){if(typeof window>"u")return;const e=this.renderRoot.querySelector("slot");if(!e)return;e.assignedElements({flatten:!0}).forEach(i=>{i.matches("a,button,input,select,textarea,[tabindex]")&&(this.expanded?i.removeAttribute("tabindex"):i.setAttribute("tabindex","-1")),i.querySelectorAll?.("a,button,input,select,textarea,[tabindex]").forEach(t=>{const o=t;this.expanded?o.removeAttribute("tabindex"):o.setAttribute("tabindex","-1")})})}toggleBottom(e){const s=e.renderRoot.querySelector(".scb-toc-item-bottom");s&&(e.expanded?(s.style.maxHeight=`${s.scrollHeight}px`,setTimeout(()=>s.style.maxHeight="unset",160)):(s.style.maxHeight=`${s.scrollHeight}px`,requestAnimationFrame(()=>s.style.maxHeight="0")))}_onKeyDown(e){const s=this.closest("scb-toc"),t=Array.from(s?.querySelectorAll("scb-toc-item")||[]).map(n=>n.renderRoot.querySelector(".scb-toc-item")).filter(n=>!!n),o=e.currentTarget,a=t.indexOf(o);switch(e.key){case"Enter":case" ":e.preventDefault(),this.toggleAccordion();break;case"ArrowDown":e.preventDefault(),a<t.length-1&&t[a+1].focus();break;case"ArrowUp":e.preventDefault(),a>0&&t[a-1].focus();break;case"Home":e.preventDefault(),t.length&&t[0].focus();break;case"End":e.preventDefault(),t.length&&t[t.length-1].focus();break}}render(){const e=`bottom-${this._unique}`,s=`toc-label-${this._unique}`;return l`
2
2
  <div
3
3
  class="scb-toc-item"
4
4
  role="listitem"
@@ -7,17 +7,20 @@ import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"..
7
7
  >
8
8
  <div class="scb-toc-item-top">
9
9
  <div>
10
- <a class="toc-item-label" href=${this.itemHref}>${this.label}</a>
10
+ <div class="toc-item-label-wrapper">
11
+ <a id=${s} class="toc-item-label" href=${this.itemHref}>${this.label}</a>
12
+ <md-focus-ring for=${s} inward></md-focus-ring>
13
+ </div>
11
14
  <div class="supporting-text">${this.supportingText}</div>
12
15
  </div>
13
16
  ${this._slotHasContent?l`
14
- <scb-icon-button
15
- icon=${this.expanded?"keyboard_arrow_up":"keyboard_arrow_down"}
16
- ariaLabel=${this.expanded?"Collapse section":"Expand section"}
17
- @click=${this.toggleAccordion}
18
- @keydown=${this._onKeyDown}
19
- ></scb-icon-button>
20
- `:""}
17
+ <scb-icon-button
18
+ icon=${this.expanded?"keyboard_arrow_up":"keyboard_arrow_down"}
19
+ ariaLabel=${this.expanded?"Collapse section":"Expand section"}
20
+ @click=${this.toggleAccordion}
21
+ @keydown=${this._onKeyDown}
22
+ ></scb-icon-button>
23
+ `:""}
21
24
  </div>
22
25
  <div
23
26
  id=${e}
@@ -28,12 +31,17 @@ import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"..
28
31
  ${this.divider?l`<scb-divider></scb-divider>`:""}
29
32
  </div>
30
33
  `}};r.styles=[p`
31
- .scb-toc-item-top{
32
- padding: var(--spacing-5) var(--spacing-3);
34
+ .scb-toc-item-top {
35
+ padding: var(--spacing-5) var(--spacing-3);
33
36
  display: flex;
34
37
  gap: var(--spacing-5);
35
38
  flex-direction: row;
36
39
  }
40
+ .toc-item-label-wrapper {
41
+ position: relative;
42
+ display: block;
43
+ width: fit-content;
44
+ }
37
45
  .toc-item-label {
38
46
  display: block;
39
47
  width: fit-content;
@@ -46,23 +54,30 @@ import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"..
46
54
  text-decoration-thickness: 1px;
47
55
  text-underline-offset: .1578em;
48
56
  margin-bottom: var(--spacing-3);
49
- &:hover{
50
- color: var(--md-sys-color-on-surface);
51
- text-decoration-thickness: 2px;
52
- }
53
- &:focus{
54
- color: var(--md-sys-color-on-surface);
55
- outline-color: var(--md-sys-color-primary);
56
- }
57
57
  }
58
- scb-icon-button{
58
+ .toc-item-label:hover {
59
+ color: var(--md-sys-color-on-surface);
60
+ text-decoration-thickness: 2px;
61
+ }
62
+ .toc-item-label:focus {
63
+ color: var(--md-sys-color-on-surface);
64
+ outline: none;
65
+
66
+ }
67
+ .toc-item-label-wrapper md-focus-ring {
68
+ position: absolute;
69
+ pointer-events: none;
70
+ border-radius: var(--md-sys-shape-corner-small);
71
+ --md-focus-ring-inward-offset: -7px;
72
+ }
73
+ scb-icon-button {
59
74
  margin-left: auto;
60
75
  }
61
- scb-divider{
76
+ scb-divider {
62
77
  margin: var(--spacing-0) var(--spacing-3);
63
78
  }
64
- .scb-toc-item-bottom {
65
- font-size: var(--md-sys-typescale-body-medium-size);
79
+ .scb-toc-item-bottom {
80
+ font-size: var(--md-sys-typescale-body-medium-size);
66
81
  line-height: var(--md-sys-typescale-body-medium-line-height); /* 150% */
67
82
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
68
83
  }
@@ -78,7 +93,7 @@ import{a as p,n as d,i as h,x as l,t as b}from"../../vendor/vendor.js";import"..
78
93
  padding: var(--spacing-0) var(--spacing-5) var(--spacing-5) var(--spacing-9);
79
94
  max-height: 100%;
80
95
  }
81
- .scb-toc-item{
96
+ .scb-toc-item {
82
97
  color: var(--md-sys-color-on-surface);
83
98
  }
84
99
  `];c([d({type:Boolean})],r.prototype,"expanded",2);c([d({type:String,reflect:!0})],r.prototype,"label",2);c([d({type:String,attribute:"supporting-text"})],r.prototype,"supportingText",2);c([d({type:String,attribute:"item-href"})],r.prototype,"itemHref",2);c([d({type:Boolean,attribute:"divider"})],r.prototype,"divider",2);r=c([b("scb-toc-item")],r);
@@ -1,6 +1,13 @@
1
- import{a as c,i as a,x as _,t as d}from"../../vendor/vendor.js";import"./scb-toc-item.js";import"../scb-icon-button/scb-icon-button.js";import"../../vendor/preload-helper.js";import"../../vendor/vendor-material.js";import"../scb-tooltip/scb-tooltip.js";import"../scb-button/scb-button.js";import"../scb-divider/scb-divider.js";(function(){try{var r=typeof globalThis<"u"?globalThis:window;if(!r.__scb_ce_guard_installed__){r.__scb_ce_guard_installed__=!0;var s=customElements.define.bind(customElements);customElements.define=function(i,n,t){try{customElements.get(i)||s(i,n,t)}catch(o){var e=String(o||"");if(e.indexOf("already been used")===-1&&e.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var m=Object.getOwnPropertyDescriptor,u=(r,s,i,n)=>{for(var t=n>1?void 0:n?m(s,i):s,e=r.length-1,o;e>=0;e--)(o=r[e])&&(t=o(t)||t);return t};let l=class extends a{render(){return _`
2
- <div role="list">
1
+ import{a,n as d,i as p,x as _,t as f}from"../../vendor/vendor.js";import"./scb-toc-item.js";import"../scb-icon-button/scb-icon-button.js";import"../../vendor/preload-helper.js";import"../../vendor/vendor-material.js";import"../scb-tooltip/scb-tooltip.js";import"../scb-button/scb-button.js";import"../scb-divider/scb-divider.js";(function(){try{var c=typeof globalThis<"u"?globalThis:window;if(!c.__scb_ce_guard_installed__){c.__scb_ce_guard_installed__=!0;var r=customElements.define.bind(customElements);customElements.define=function(e,s,t){try{customElements.get(e)||r(e,s,t)}catch(i){var o=String(i||"");if(o.indexOf("already been used")===-1&&o.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();var u=Object.defineProperty,m=Object.getOwnPropertyDescriptor,n=(c,r,e,s)=>{for(var t=s>1?void 0:s?m(r,e):r,o=c.length-1,i;o>=0;o--)(i=c[o])&&(t=(s?i(r,e,t):i(t))||t);return s&&t&&u(r,e,t),t};let l=class extends p{constructor(){super(...arguments),this.detached=!1}render(){return _`
2
+ <div class="scb-toc-list" role="list">
3
3
  <slot></slot>
4
4
  </div>
5
- `}};l.styles=[c`
6
- `];l=u([d("scb-toc")],l);
5
+ `}};l.styles=[a`
6
+ :host {
7
+ display: block;
8
+ }
9
+
10
+ .scb-toc-list {
11
+ display: block;
12
+ }
13
+ `];n([d({type:Boolean,reflect:!0})],l.prototype,"detached",2);l=n([f("scb-toc")],l);