scb-wc 0.1.45 → 0.1.46

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/README.md CHANGED
@@ -1,9 +1,6 @@
1
- # Om SCB Web Components Preview
1
+ # Om SCB Web Components
2
2
 
3
- > ⚠️ **Previewkanal**
4
- > Installera `scb-wc` via `@next` för komponenter under utveckling. API, utseende och beteende kan ändras eller tas bort mellan versioner.
5
-
6
- SCB Web Components preview finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
3
+ SCB Web Components finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
7
4
 
8
5
  Komponenterna bygger på:
9
6
  - [Lit](https://lit.dev/)
@@ -11,32 +8,54 @@ Komponenterna bygger på:
11
8
 
12
9
  ## Storybook och dokumentation (internt)
13
10
 
14
- Previewkomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna testadress:
11
+ Produktionskomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna adress:
15
12
 
16
- - Test: <https://webcomponentstest.scb.intra>
13
+ - Prod: https://webcomponents.scb.intra
17
14
 
18
- Den publika/stabila Storybooken finns på:
15
+ Testkomponenterna finns på:
19
16
 
20
- - Prod: <https://webcomponents.scb.intra>
17
+ - Test: https://webcomponentstest.scb.intra
21
18
 
22
19
  ---
23
20
 
24
21
  ## Kom igång
25
22
 
26
- > **Obs:** Kör alla kommandon i mappen där din `package.json` ligger.
27
- > Har du ingen? Kör `npm init -y` i projektroten (eller annan lämplig mapp).
23
+ Rekommenderad startväg:
24
+
25
+ ```sh
26
+ npx scb-wc init html my-app
27
+ npx scb-wc init html-service my-service
28
+ npx scb-wc init react my-react-app
29
+ npx scb-wc init react-service my-react-service
30
+ npx scb-wc init blazor my-blazor-app
31
+ npx scb-wc init blazor-service my-blazor-service
32
+ ```
33
+
34
+ Webbplatsmallarna skapar en liten starterapp med:
35
+ - `scb-header`
36
+ - `scb-footer`
37
+ - `scb-grid`
38
+ - några vanliga komponenter
39
+
40
+ Webbtjänstmallarna skapar en starterapp med:
41
+ - `scb-app-bar`
42
+ - `scb-search`
43
+ - `scb-table-advanced`
44
+ - komponenter för actions och status
45
+
46
+ Välj sedan den starter som ligger närmast din app och kör `npm install` i den nya mappen.
28
47
 
29
- Installera previewkanalen:
48
+ Om du redan har en app med `package.json`, kör kommandon i den mappen och installera paketet:
30
49
 
31
50
  ```sh
32
- npm install scb-wc@next
51
+ npm install scb-wc
33
52
  ```
34
53
 
35
54
  ---
36
55
 
37
56
  ## Alternativ 1: Använd som ES‑moduler (t.ex. i React, Vue, SPA)
38
57
 
39
- Importera CSS och de testkomponenter du använder (bäst för tree‑shaking):
58
+ Importera CSS och de komponenter du använder (bäst för tree‑shaking):
40
59
 
41
60
  ```js
42
61
  // Global CSS + tokens (måste bara importeras en gång)
@@ -88,7 +107,7 @@ import 'scb-wc/scb-typography.css';
88
107
 
89
108
  ## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
90
109
 
91
- Det här läget använder den färdig‑splittade **MVC‑ESM**‑builden som följer med paketet under:
110
+ Det här läget använder den färdig‑splittrade **MVC‑ESM**‑builden som följer med paketet under:
92
111
 
93
112
  ```text
94
113
  node_modules/scb-wc/mvc/
@@ -101,7 +120,7 @@ Lägg till i din apps `package.json`:
101
120
  ```jsonc
102
121
  {
103
122
  "scripts": {
104
- "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc@next?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\""
123
+ "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\""
105
124
  }
106
125
  }
107
126
  ```
@@ -148,7 +167,7 @@ Behöver du en annan webbrotsökväg (t.ex. om din `wwwroot` ligger någon annan
148
167
 
149
168
  ## Alternativ 3: Bundlad version (IIFE) för äldre miljöer
150
169
 
151
- Om ESM inte stöds kan du använda den bundlade test‑varianten från paketroten.
170
+ Om ESM inte stöds kan du använda den bundlade varianten från paketroten.
152
171
  Flytta följande tre filer från `node_modules/scb-wc` och använd dem i applikationen:
153
172
 
154
173
  ```text
@@ -171,7 +190,7 @@ node_modules/scb-wc/scb-typography.css
171
190
 
172
191
  SCB Web Components fungerar även i Blazor‑appar när du vill använda samma komponenter i både MVC/MPA och Blazor.
173
192
 
174
- Grundprincipen är samma som för `scb-wc`:
193
+ Grundprincipen är:
175
194
 
176
195
  1. Använd MVC‑ESM‑builden (`node_modules/scb-wc/mvc`) och kopiera den till `wwwroot/ui` med `ui:install`.
177
196
  2. Ladda `scb-blazor-bridge.js` från `wwwroot/ui` i din Blazor‑layout.
@@ -184,8 +203,8 @@ Lägg till ett script som kopierar interop-filen från `node_modules` till ditt
184
203
  ```jsonc
185
204
  {
186
205
  "scripts": {
187
- "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc@next?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\"",
188
- "ui:blazor:interop": "node -e \"const fs=require('fs'),p=require('path');const start=process.env.INIT_CWD||process.cwd();const src=p.resolve('node_modules/scb-wc/blazor/ScbBlazorInteropBase.cs');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc@next?');process.exit(1);}const dst=p.resolve(start,'ScbBlazor/ScbBlazorInteropBase.cs');fs.mkdirSync(p.dirname(dst),{recursive:true});fs.copyFileSync(src,dst);console.log('Kopierade '+src+' → '+dst);\""
206
+ "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\"",
207
+ "ui:blazor:interop": "node -e \"const fs=require('fs'),p=require('path');const start=process.env.INIT_CWD||process.cwd();const src=p.resolve('node_modules/scb-wc/blazor/ScbBlazorInteropBase.cs');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const dst=p.resolve(start,'ScbBlazor/ScbBlazorInteropBase.cs');fs.mkdirSync(p.dirname(dst),{recursive:true});fs.copyFileSync(src,dst);console.log('Kopierade '+src+' → '+dst);\""
189
208
  }
190
209
  }
191
210
  ```
@@ -199,13 +218,13 @@ Exempel på layout:
199
218
  <script type="module" src="~/ui/scb-blazor-bridge.js"></script>
200
219
  ```
201
220
 
202
- `ScbBlazorInteropBase` är samma bas‑klass i preview- och public-kanalen. Du kan därför dela samma C#‑fil mellan projekt som använder `scb-wc@next` och `scb-wc@latest`.
221
+ `ScbBlazorInteropBase` kan återanvändas mellan projekt som använder både `scb-wc@latest` och `scb-wc@next`.
203
222
 
204
223
  ---
205
224
 
206
225
  ## Viktigt
207
226
 
208
- - `scb-wc@next` är **previewkanalen**. Komponenter kan ändras eller tas bort mellan versioner. Använd `scb-wc@latest` i externa produktionsmiljöer.
227
+ - `scb-wc@latest` är produktionskanalen. Använd `scb-wc@next` för komponenter under utveckling och experiment.
209
228
  - **Kör kommandon i mappen med din `package.json`.** Placeringen av `package.json` styr standardmål för `ui:install` (rot → `wwwroot/ui`, `ClientApp/` → använd `--ui_wwwroot=../wwwroot`).
210
229
  - **Blanda inte MVC‑ESM och IIFE på samma sida.** Välj en distributionsform per sida/app.
211
230
  - **Blazor:** Se till att `scb-blazor-bridge.js` laddas efter att komponent‑JS:et finns på sidan, och att `ScbBlazorInteropBase` inte dupliceras i flera namespaces i samma lösning.
package/all.js CHANGED
@@ -17,11 +17,9 @@ import './scb-card/scb-list-card.js';
17
17
  import './scb-card/scb-social-card.js';
18
18
  import './scb-checkbox/scb-checkbox-group.js';
19
19
  import './scb-checkbox/scb-checkbox.js';
20
- import './scb-chevron/scb-chevron.js';
21
20
  import './scb-chip/scb-chip.js';
22
21
  import './scb-collapse/scb-collapse.js';
23
22
  import './scb-cookies-consent/scb-cookies-consent.js';
24
- import './scb-datepicker/scb-datepicker.js';
25
23
  import './scb-dialog/scb-dialog.js';
26
24
  import './scb-divider/scb-divider.js';
27
25
  import './scb-drawer/scb-drawer.js';
package/index.js CHANGED
@@ -1,95 +1,93 @@
1
- import { ScbChevron as e } from "./scb-chevron/scb-chevron.js";
2
- import { ScbAccordionItem as t } from "./scb-accordion/scb-accordion-item.js";
3
- import { ScbButton as n } from "./scb-button/scb-button.js";
4
- import { ScbAccordion as r } from "./scb-accordion/scb-accordion.js";
5
- import { ScbIconButton as i } from "./scb-icon-button/scb-icon-button.js";
6
- import { ScbListItem as a } from "./scb-list/scb-list-item.js";
7
- import { ScbList as o } from "./scb-list/scb-list.js";
8
- import { ScbSearch as s } from "./scb-search/scb-search.js";
9
- import { ScbAvatar as c } from "./scb-avatar/scb-avatar.js";
10
- import { ScbAppBar as l } from "./scb-app-bar/scb-app-bar.js";
11
- import { ScbBadge as u } from "./scb-badge/scb-badge.js";
12
- import { ScbLink as d } from "./scb-link/scb-link.js";
13
- import { SCBBreadcrumbItem as f } from "./scb-breadcrumb/scb-breadcrumb-item.js";
14
- import { SCBBreadcrumb as p } from "./scb-breadcrumb/scb-breadcrumb.js";
15
- import { ScbCalendarEvent as m } from "./scb-calendar/scb-calendar-event.js";
16
- import { ScbDivider as h } from "./scb-divider/scb-divider.js";
17
- import { ScbDatepicker as g } from "./scb-datepicker/scb-datepicker.js";
18
- import { ScbTextField as _ } from "./scb-textfield/scb-textfield.js";
19
- import { ScbCheckboxGroup as v } from "./scb-checkbox/scb-checkbox-group.js";
20
- import { ScbCheckbox as y } from "./scb-checkbox/scb-checkbox.js";
21
- import { ScbRadioGroup as b } from "./scb-radio-button/scb-radio-group.js";
22
- import { ScbRadioButton as x } from "./scb-radio-button/scb-radio-button.js";
23
- import { ScbSwitch as S } from "./scb-switch/scb-switch.js";
24
- import { ScbChip as C } from "./scb-chip/scb-chip.js";
25
- import { ScbDialog as w } from "./scb-dialog/scb-dialog.js";
26
- import { ScbCalendar as T } from "./scb-calendar/scb-calendar.js";
27
- import { ScbCalendarCard as E } from "./scb-calendar-card/scb-calendar-card.js";
28
- import { ScbTooltip as D } from "./scb-tooltip/scb-tooltip.js";
29
- import { ScbActionCard as O, ScbCard as k, ScbContainerCard as A, ScbLinkCard as j, ScbListCard as M, ScbSocialCard as N } from "./scb-card/scb-card.js";
1
+ import { ScbAccordionItem as e } from "./scb-accordion/scb-accordion-item.js";
2
+ import { ScbButton as t } from "./scb-button/scb-button.js";
3
+ import { ScbAccordion as n } from "./scb-accordion/scb-accordion.js";
4
+ import { ScbIconButton as r } from "./scb-icon-button/scb-icon-button.js";
5
+ import { ScbListItem as i } from "./scb-list/scb-list-item.js";
6
+ import { ScbList as a } from "./scb-list/scb-list.js";
7
+ import { ScbSearch as o } from "./scb-search/scb-search.js";
8
+ import { ScbAvatar as s } from "./scb-avatar/scb-avatar.js";
9
+ import { ScbAppBar as c } from "./scb-app-bar/scb-app-bar.js";
10
+ import { ScbBadge as l } from "./scb-badge/scb-badge.js";
11
+ import { ScbLink as u } from "./scb-link/scb-link.js";
12
+ import { SCBBreadcrumbItem as d } from "./scb-breadcrumb/scb-breadcrumb-item.js";
13
+ import { SCBBreadcrumb as f } from "./scb-breadcrumb/scb-breadcrumb.js";
14
+ import { ScbCalendarEvent as p } from "./scb-calendar/scb-calendar-event.js";
15
+ import { ScbDivider as m } from "./scb-divider/scb-divider.js";
16
+ import { ScbTextField as h } from "./scb-textfield/scb-textfield.js";
17
+ import { ScbCheckboxGroup as g } from "./scb-checkbox/scb-checkbox-group.js";
18
+ import { ScbCheckbox as _ } from "./scb-checkbox/scb-checkbox.js";
19
+ import { ScbRadioGroup as v } from "./scb-radio-button/scb-radio-group.js";
20
+ import { ScbRadioButton as y } from "./scb-radio-button/scb-radio-button.js";
21
+ import { ScbSwitch as b } from "./scb-switch/scb-switch.js";
22
+ import { ScbChip as x } from "./scb-chip/scb-chip.js";
23
+ import { ScbDialog as S } from "./scb-dialog/scb-dialog.js";
24
+ import { ScbCalendar as C } from "./scb-calendar/scb-calendar.js";
25
+ import { ScbCalendarCard as w } from "./scb-calendar-card/scb-calendar-card.js";
26
+ import { ScbTooltip as T } from "./scb-tooltip/scb-tooltip.js";
27
+ import { ScbActionCard as E, ScbCard as D, ScbContainerCard as O, ScbLinkCard as k, ScbListCard as A, ScbSocialCard as j } from "./scb-card/scb-card.js";
30
28
  import "./scb-card/scb-action-card.js";
31
29
  import "./scb-card/scb-container-card.js";
32
30
  import "./scb-card/scb-link-card.js";
33
31
  import "./scb-card/scb-list-card.js";
34
32
  import "./scb-card/scb-social-card.js";
35
- import { ScbCollapse as P } from "./scb-collapse/scb-collapse.js";
36
- import { ScbCookiesConsent as F } from "./scb-cookies-consent/scb-cookies-consent.js";
37
- import { ScbDrawer as I } from "./scb-drawer/scb-drawer.js";
38
- import { ScbDropZone as L } from "./scb-drop-zone/scb-drop-zone.js";
39
- import { ScbOptionsMenuItem as R } from "./scb-options-menu/scb-options-menu-item.js";
40
- import { ScbOptionsSubMenu as z } from "./scb-options-menu/scb-options-sub-menu.js";
41
- import { ScbOptionsMenu as B } from "./scb-options-menu/scb-options-menu.js";
42
- import { ScbDropdown as V } from "./scb-dropdown/scb-dropdown.js";
43
- import { ScbFab as H } from "./scb-fab/scb-fab.js";
44
- import { ScbFactCardContent as U } from "./scb-fact-card/scb-fact-card-content.js";
45
- import { ScbFactCard as W } from "./scb-fact-card/scb-fact-card.js";
46
- import { ScbFooterSection as G } from "./scb-footer/scb-footer-section.js";
47
- import { ScbGridItem as K } from "./scb-grid/scb-grid-item.js";
48
- import { ScbStack as q } from "./scb-grid/scb-stack.js";
49
- import { ScbGrid as J } from "./scb-grid/scb-grid.js";
50
- import { ScbFooter as Y } from "./scb-footer/scb-footer.js";
51
- import { ScbHorizontalScroller as X } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
52
- import { ScbOverlay as Z } from "./scb-overlay/scb-overlay.js";
53
- import { ScbGalleryGrid as Q } from "./scb-gallery-grid/scb-gallery-grid.js";
54
- import { ScbHeaderMenuGroup as $ } from "./scb-header/scb-header-menu-group.js";
55
- import { ScbHeaderMenuItem as ee } from "./scb-header/scb-header-menu-item.js";
56
- import { ScbHeaderTab as te } from "./scb-header/scb-header-tab.js";
57
- import { ScbHeaderUtility as ne } from "./scb-header/scb-header-utility.js";
58
- import { ScbSkeleton as re } from "./scb-skeleton/scb-skeleton.js";
59
- import { ScbHeader as ie } from "./scb-header/scb-header.js";
60
- import { ScbKeyFigureCard as ae } from "./scb-keyfigure-card/scb-keyfigure-card.js";
61
- import { ScbMenuItem as oe } from "./scb-menu/scb-menu-item.js";
62
- import { ScbmenuSection as se } from "./scb-menu/scb-menu-section.js";
63
- import { ScbSubmenu as ce } from "./scb-menu/scb-sub-menu.js";
64
- import { ScbMenu as le } from "./scb-menu/scb-menu.js";
65
- import { ScbNavItem as ue } from "./scb-nav/scb-nav-item.js";
66
- import { ScbNav as de } from "./scb-nav/scb-nav.js";
67
- import { ScbNotificationCard as fe } from "./scb-notification-card/scb-notification-card.js";
68
- import { ScbPagination as pe } from "./scb-pagination/scb-pagination.js";
69
- import { ScbProgressIndicator as me } from "./scb-progress-indicator/scb-progress-indicator.js";
70
- import { ScbProgressStep as he } from "./scb-progress-stepper/scb-progress-step.js";
71
- import { ScbProgressStepper as ge } from "./scb-progress-stepper/scb-progress-stepper.js";
72
- import { ScbScrollspy as _e } from "./scb-scrollspy/scb-scrollspy.js";
73
- import { ScbSegmentedItem as ve } from "./scb-segmented-button/scb-segmented-item.js";
74
- import { ScbSegmentedButton as ye } from "./scb-segmented-button/scb-segmented-button.js";
75
- import { ScbSelectOption as be } from "./scb-select/scb-select-option.js";
76
- import { ScbSelect as xe } from "./scb-select/scb-select.js";
77
- import { ScbSlider as Se } from "./scb-slider/scb-slider.js";
78
- import { ScbSnackbar as Ce } from "./scb-snackbar/scb-snackbar.js";
79
- import { ScbStatusPill as we } from "./scb-status-pill/scb-status-pill.js";
80
- import { ScbStep as Te } from "./scb-stepper/scb-step.js";
81
- import { ScbStepper as Ee } from "./scb-stepper/scb-stepper.js";
82
- import { ScbTable as De } from "./scb-table/scb-table.js";
83
- import { ScbTableAdvanced as Oe } from "./scb-table-advanced/scb-table-advanced.js";
84
- import { ScbPrimaryTab as ke } from "./scb-tabs/scb-primary-tab.js";
85
- import { ScbSecondaryTab as Ae } from "./scb-tabs/scb-secondary-tab.js";
86
- import { ScbTabs as je } from "./scb-tabs/scb-tabs.js";
87
- import { ScbTocItem as Me } from "./scb-toc/scb-toc-item.js";
88
- import { ScbToc as Ne } from "./scb-toc/scb-toc.js";
89
- import { buildScbVizExportFileName as Pe, createScbVizCsvBlob as Fe, createScbVizRasterBlobFromElement as Ie, createScbVizRasterDataUrlFromElement as Le, downloadScbVizBlob as Re, getScbVizCurrentFullscreenElement as ze, getScbVizExportBaseFileName as Be, getScbVizFullscreenDocument as Ve, isScbVizFullscreenSupported as He, openScbVizPrintFrame as Ue, runWithScbVizForcedPrintLightMode as We, toggleScbVizFullscreen as Ge } from "./scb-viz/scb-viz-actions-runtime.js";
90
- import { buildScbVizPrintDocumentHtml as Ke, buildScbVizPrintableFooterHtml as qe, buildScbVizPrintableTableHtml as Je } from "./scb-viz/scb-viz-print-runtime.js";
91
- import { appendScbVizSeriesDifferentiationPatternMarks as Ye, getScbVizSeriesDifferentiationPatternDefinition as Xe, getScbVizSeriesDifferentiationPatternKinds as Ze, getScbVizSeriesDifferentiationRegistry as Qe, getScbVizSeriesDifferentiationVariant as $e, scbVizSeriesDifferentiationRegistry as et } from "./scb-viz/scb-viz-series-differentiation-registry.js";
92
- import { clearScbVizSeriesDifferentiationColorClass as tt, clearScbVizSeriesDifferentiationMetadata as nt, ensureScbVizGroupedSeriesDifferentiationStore as rt, ensureScbVizStyledModeSeriesPattern as it, getScbVizGroupedSeriesDifferentiationKey as at, getScbVizGroupedSeriesDifferentiationVariant as ot, getScbVizGroupedSeriesDifferentiationVariantIndex as st, getScbVizHighchartsColorClassName as ct, getScbVizHighchartsSvgElement as lt, getScbVizHighchartsSvgRoot as ut, getScbVizLegendSeriesDifferentiationTargets as dt, getScbVizSeriesDifferentiationColorIndex as ft, getScbVizSeriesDifferentiationVariantByIndex as pt, isScbVizGroupedSeriesDifferentiationChart as mt, isScbVizHighchartsStyledMode as ht, setScbVizSeriesDifferentiationColorClass as gt, setScbVizSeriesDifferentiationMetadata as _t, shouldShowScbVizSeriesDifferentiationAction as vt, usesScbVizGroupedPointDifferentiation as yt } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
93
- import { buildScbVizResolvedTableView as bt, createScbVizCsvRows as xt, inferScbVizTableAlignments as St, normalizeScbVizRenderableCell as Ct, readScbVizTableDataFromSlot as wt } from "./scb-viz/scb-viz-table-runtime.js";
94
- import { ScbViz as Tt } from "./scb-viz/scb-viz.js";
95
- export { p as SCBBreadcrumb, f as SCBBreadcrumbItem, r as ScbAccordion, t as ScbAccordionItem, O as ScbActionCard, l as ScbAppBar, c as ScbAvatar, u as ScbBadge, n as ScbButton, T as ScbCalendar, E as ScbCalendarCard, m as ScbCalendarEvent, k as ScbCard, y as ScbCheckbox, v as ScbCheckboxGroup, e as ScbChevron, C as ScbChip, P as ScbCollapse, A as ScbContainerCard, F as ScbCookiesConsent, g as ScbDatepicker, w as ScbDialog, h as ScbDivider, I as ScbDrawer, L as ScbDropZone, V as ScbDropdown, H as ScbFab, W as ScbFactCard, U as ScbFactCardContent, Y as ScbFooter, G as ScbFooterSection, Q as ScbGalleryGrid, J as ScbGrid, K as ScbGridItem, ie as ScbHeader, $ as ScbHeaderMenuGroup, ee as ScbHeaderMenuItem, te as ScbHeaderTab, ne as ScbHeaderUtility, X as ScbHorizontalScroller, i as ScbIconButton, ae as ScbKeyFigureCard, d as ScbLink, j as ScbLinkCard, o as ScbList, M as ScbListCard, a as ScbListItem, le as ScbMenu, oe as ScbMenuItem, de as ScbNav, ue as ScbNavItem, fe as ScbNotificationCard, B as ScbOptionsMenu, R as ScbOptionsMenuItem, z as ScbOptionsSubMenu, Z as ScbOverlay, pe as ScbPagination, ke as ScbPrimaryTab, me as ScbProgressIndicator, he as ScbProgressStep, ge as ScbProgressStepper, x as ScbRadioButton, b as ScbRadioGroup, _e as ScbScrollspy, s as ScbSearch, Ae as ScbSecondaryTab, ye as ScbSegmentedButton, ve as ScbSegmentedItem, xe as ScbSelect, be as ScbSelectOption, re as ScbSkeleton, Se as ScbSlider, Ce as ScbSnackbar, N as ScbSocialCard, q as ScbStack, we as ScbStatusPill, Te as ScbStep, Ee as ScbStepper, ce as ScbSubmenu, S as ScbSwitch, De as ScbTable, Oe as ScbTableAdvanced, je as ScbTabs, _ as ScbTextField, Ne as ScbToc, Me as ScbTocItem, D as ScbTooltip, Tt as ScbViz, se as ScbmenuSection, Ye as appendScbVizSeriesDifferentiationPatternMarks, Pe as buildScbVizExportFileName, Ke as buildScbVizPrintDocumentHtml, qe as buildScbVizPrintableFooterHtml, Je as buildScbVizPrintableTableHtml, bt as buildScbVizResolvedTableView, tt as clearScbVizSeriesDifferentiationColorClass, nt as clearScbVizSeriesDifferentiationMetadata, Fe as createScbVizCsvBlob, xt as createScbVizCsvRows, Ie as createScbVizRasterBlobFromElement, Le as createScbVizRasterDataUrlFromElement, Re as downloadScbVizBlob, rt as ensureScbVizGroupedSeriesDifferentiationStore, it as ensureScbVizStyledModeSeriesPattern, ze as getScbVizCurrentFullscreenElement, Be as getScbVizExportBaseFileName, Ve as getScbVizFullscreenDocument, at as getScbVizGroupedSeriesDifferentiationKey, ot as getScbVizGroupedSeriesDifferentiationVariant, st as getScbVizGroupedSeriesDifferentiationVariantIndex, ct as getScbVizHighchartsColorClassName, lt as getScbVizHighchartsSvgElement, ut as getScbVizHighchartsSvgRoot, dt as getScbVizLegendSeriesDifferentiationTargets, ft as getScbVizSeriesDifferentiationColorIndex, Xe as getScbVizSeriesDifferentiationPatternDefinition, Ze as getScbVizSeriesDifferentiationPatternKinds, Qe as getScbVizSeriesDifferentiationRegistry, $e as getScbVizSeriesDifferentiationVariant, pt as getScbVizSeriesDifferentiationVariantByIndex, St as inferScbVizTableAlignments, He as isScbVizFullscreenSupported, mt as isScbVizGroupedSeriesDifferentiationChart, ht as isScbVizHighchartsStyledMode, Ct as normalizeScbVizRenderableCell, Ue as openScbVizPrintFrame, wt as readScbVizTableDataFromSlot, We as runWithScbVizForcedPrintLightMode, et as scbVizSeriesDifferentiationRegistry, gt as setScbVizSeriesDifferentiationColorClass, _t as setScbVizSeriesDifferentiationMetadata, vt as shouldShowScbVizSeriesDifferentiationAction, Ge as toggleScbVizFullscreen, yt as usesScbVizGroupedPointDifferentiation };
33
+ import { ScbCollapse as M } from "./scb-collapse/scb-collapse.js";
34
+ import { ScbCookiesConsent as N } from "./scb-cookies-consent/scb-cookies-consent.js";
35
+ import { ScbDrawer as P } from "./scb-drawer/scb-drawer.js";
36
+ import { ScbDropZone as F } from "./scb-drop-zone/scb-drop-zone.js";
37
+ import { ScbOptionsMenuItem as I } from "./scb-options-menu/scb-options-menu-item.js";
38
+ import { ScbOptionsSubMenu as L } from "./scb-options-menu/scb-options-sub-menu.js";
39
+ import { ScbOptionsMenu as R } from "./scb-options-menu/scb-options-menu.js";
40
+ import { ScbDropdown as z } from "./scb-dropdown/scb-dropdown.js";
41
+ import { ScbFab as B } from "./scb-fab/scb-fab.js";
42
+ import { ScbFactCardContent as V } from "./scb-fact-card/scb-fact-card-content.js";
43
+ import { ScbFactCard as H } from "./scb-fact-card/scb-fact-card.js";
44
+ import { ScbFooterSection as U } from "./scb-footer/scb-footer-section.js";
45
+ import { ScbGridItem as W } from "./scb-grid/scb-grid-item.js";
46
+ import { ScbStack as G } from "./scb-grid/scb-stack.js";
47
+ import { ScbGrid as K } from "./scb-grid/scb-grid.js";
48
+ import { ScbFooter as q } from "./scb-footer/scb-footer.js";
49
+ import { ScbHorizontalScroller as J } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
50
+ import { ScbOverlay as Y } from "./scb-overlay/scb-overlay.js";
51
+ import { ScbGalleryGrid as X } from "./scb-gallery-grid/scb-gallery-grid.js";
52
+ import { ScbHeaderMenuGroup as Z } from "./scb-header/scb-header-menu-group.js";
53
+ import { ScbHeaderMenuItem as Q } from "./scb-header/scb-header-menu-item.js";
54
+ import { ScbHeaderTab as $ } from "./scb-header/scb-header-tab.js";
55
+ import { ScbHeaderUtility as ee } from "./scb-header/scb-header-utility.js";
56
+ import { ScbSkeleton as te } from "./scb-skeleton/scb-skeleton.js";
57
+ import { ScbHeader as ne } from "./scb-header/scb-header.js";
58
+ import { ScbKeyFigureCard as re } from "./scb-keyfigure-card/scb-keyfigure-card.js";
59
+ import { ScbMenuItem as ie } from "./scb-menu/scb-menu-item.js";
60
+ import { ScbmenuSection as ae } from "./scb-menu/scb-menu-section.js";
61
+ import { ScbSubmenu as oe } from "./scb-menu/scb-sub-menu.js";
62
+ import { ScbMenu as se } from "./scb-menu/scb-menu.js";
63
+ import { ScbNavItem as ce } from "./scb-nav/scb-nav-item.js";
64
+ import { ScbNav as le } from "./scb-nav/scb-nav.js";
65
+ import { ScbNotificationCard as ue } from "./scb-notification-card/scb-notification-card.js";
66
+ import { ScbPagination as de } from "./scb-pagination/scb-pagination.js";
67
+ import { ScbProgressIndicator as fe } from "./scb-progress-indicator/scb-progress-indicator.js";
68
+ import { ScbProgressStep as pe } from "./scb-progress-stepper/scb-progress-step.js";
69
+ import { ScbProgressStepper as me } from "./scb-progress-stepper/scb-progress-stepper.js";
70
+ import { ScbScrollspy as he } from "./scb-scrollspy/scb-scrollspy.js";
71
+ import { ScbSegmentedItem as ge } from "./scb-segmented-button/scb-segmented-item.js";
72
+ import { ScbSegmentedButton as _e } from "./scb-segmented-button/scb-segmented-button.js";
73
+ import { ScbSelectOption as ve } from "./scb-select/scb-select-option.js";
74
+ import { ScbSelect as ye } from "./scb-select/scb-select.js";
75
+ import { ScbSlider as be } from "./scb-slider/scb-slider.js";
76
+ import { ScbSnackbar as xe } from "./scb-snackbar/scb-snackbar.js";
77
+ import { ScbStatusPill as Se } from "./scb-status-pill/scb-status-pill.js";
78
+ import { ScbStep as Ce } from "./scb-stepper/scb-step.js";
79
+ import { ScbStepper as we } from "./scb-stepper/scb-stepper.js";
80
+ import { ScbTable as Te } from "./scb-table/scb-table.js";
81
+ import { ScbTableAdvanced as Ee } from "./scb-table-advanced/scb-table-advanced.js";
82
+ import { ScbPrimaryTab as De } from "./scb-tabs/scb-primary-tab.js";
83
+ import { ScbSecondaryTab as Oe } from "./scb-tabs/scb-secondary-tab.js";
84
+ import { ScbTabs as ke } from "./scb-tabs/scb-tabs.js";
85
+ import { ScbTocItem as Ae } from "./scb-toc/scb-toc-item.js";
86
+ import { ScbToc as je } from "./scb-toc/scb-toc.js";
87
+ import { buildScbVizExportFileName as Me, createScbVizCsvBlob as Ne, createScbVizRasterBlobFromElement as Pe, createScbVizRasterDataUrlFromElement as Fe, downloadScbVizBlob as Ie, getScbVizCurrentFullscreenElement as Le, getScbVizExportBaseFileName as Re, getScbVizFullscreenDocument as ze, isScbVizFullscreenSupported as Be, openScbVizPrintFrame as Ve, runWithScbVizForcedPrintLightMode as He, toggleScbVizFullscreen as Ue } from "./scb-viz/scb-viz-actions-runtime.js";
88
+ import { buildScbVizPrintDocumentHtml as We, buildScbVizPrintableFooterHtml as Ge, buildScbVizPrintableTableHtml as Ke } from "./scb-viz/scb-viz-print-runtime.js";
89
+ import { appendScbVizSeriesDifferentiationPatternMarks as qe, getScbVizSeriesDifferentiationPatternDefinition as Je, getScbVizSeriesDifferentiationPatternKinds as Ye, getScbVizSeriesDifferentiationRegistry as Xe, getScbVizSeriesDifferentiationVariant as Ze, scbVizSeriesDifferentiationRegistry as Qe } from "./scb-viz/scb-viz-series-differentiation-registry.js";
90
+ import { clearScbVizSeriesDifferentiationColorClass as $e, clearScbVizSeriesDifferentiationMetadata as et, ensureScbVizGroupedSeriesDifferentiationStore as tt, ensureScbVizStyledModeSeriesPattern as nt, getScbVizGroupedSeriesDifferentiationKey as rt, getScbVizGroupedSeriesDifferentiationVariant as it, getScbVizGroupedSeriesDifferentiationVariantIndex as at, getScbVizHighchartsColorClassName as ot, getScbVizHighchartsSvgElement as st, getScbVizHighchartsSvgRoot as ct, getScbVizLegendSeriesDifferentiationTargets as lt, getScbVizSeriesDifferentiationColorIndex as ut, getScbVizSeriesDifferentiationVariantByIndex as dt, isScbVizGroupedSeriesDifferentiationChart as ft, isScbVizHighchartsStyledMode as pt, setScbVizSeriesDifferentiationColorClass as mt, setScbVizSeriesDifferentiationMetadata as ht, shouldShowScbVizSeriesDifferentiationAction as gt, usesScbVizGroupedPointDifferentiation as _t } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
91
+ import { buildScbVizResolvedTableView as vt, createScbVizCsvRows as yt, inferScbVizTableAlignments as bt, normalizeScbVizRenderableCell as xt, readScbVizTableDataFromSlot as St } from "./scb-viz/scb-viz-table-runtime.js";
92
+ import { ScbViz as Ct } from "./scb-viz/scb-viz.js";
93
+ export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, E as ScbActionCard, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent, D as ScbCard, _ as ScbCheckbox, g as ScbCheckboxGroup, x as ScbChip, M as ScbCollapse, O as ScbContainerCard, N as ScbCookiesConsent, S as ScbDialog, m as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem, ne as ScbHeader, Z as ScbHeaderMenuGroup, Q as ScbHeaderMenuItem, $ as ScbHeaderTab, ee as ScbHeaderUtility, J as ScbHorizontalScroller, r as ScbIconButton, re as ScbKeyFigureCard, u as ScbLink, k as ScbLinkCard, a as ScbList, A as ScbListCard, i as ScbListItem, se as ScbMenu, ie as ScbMenuItem, le as ScbNav, ce as ScbNavItem, ue as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Y as ScbOverlay, de as ScbPagination, De as ScbPrimaryTab, fe as ScbProgressIndicator, pe as ScbProgressStep, me as ScbProgressStepper, y as ScbRadioButton, v as ScbRadioGroup, he as ScbScrollspy, o as ScbSearch, Oe as ScbSecondaryTab, _e as ScbSegmentedButton, ge as ScbSegmentedItem, ye as ScbSelect, ve as ScbSelectOption, te as ScbSkeleton, be as ScbSlider, xe as ScbSnackbar, j as ScbSocialCard, G as ScbStack, Se as ScbStatusPill, Ce as ScbStep, we as ScbStepper, oe as ScbSubmenu, b as ScbSwitch, Te as ScbTable, Ee as ScbTableAdvanced, ke as ScbTabs, h as ScbTextField, je as ScbToc, Ae as ScbTocItem, T as ScbTooltip, Ct as ScbViz, ae as ScbmenuSection, qe as appendScbVizSeriesDifferentiationPatternMarks, Me as buildScbVizExportFileName, We as buildScbVizPrintDocumentHtml, Ge as buildScbVizPrintableFooterHtml, Ke as buildScbVizPrintableTableHtml, vt as buildScbVizResolvedTableView, $e as clearScbVizSeriesDifferentiationColorClass, et as clearScbVizSeriesDifferentiationMetadata, Ne as createScbVizCsvBlob, yt as createScbVizCsvRows, Pe as createScbVizRasterBlobFromElement, Fe as createScbVizRasterDataUrlFromElement, Ie as downloadScbVizBlob, tt as ensureScbVizGroupedSeriesDifferentiationStore, nt as ensureScbVizStyledModeSeriesPattern, Le as getScbVizCurrentFullscreenElement, Re as getScbVizExportBaseFileName, ze as getScbVizFullscreenDocument, rt as getScbVizGroupedSeriesDifferentiationKey, it as getScbVizGroupedSeriesDifferentiationVariant, at as getScbVizGroupedSeriesDifferentiationVariantIndex, ot as getScbVizHighchartsColorClassName, st as getScbVizHighchartsSvgElement, ct as getScbVizHighchartsSvgRoot, lt as getScbVizLegendSeriesDifferentiationTargets, ut as getScbVizSeriesDifferentiationColorIndex, Je as getScbVizSeriesDifferentiationPatternDefinition, Ye as getScbVizSeriesDifferentiationPatternKinds, Xe as getScbVizSeriesDifferentiationRegistry, Ze as getScbVizSeriesDifferentiationVariant, dt as getScbVizSeriesDifferentiationVariantByIndex, bt as inferScbVizTableAlignments, Be as isScbVizFullscreenSupported, ft as isScbVizGroupedSeriesDifferentiationChart, pt as isScbVizHighchartsStyledMode, xt as normalizeScbVizRenderableCell, Ve as openScbVizPrintFrame, St as readScbVizTableDataFromSlot, He as runWithScbVizForcedPrintLightMode, Qe as scbVizSeriesDifferentiationRegistry, mt as setScbVizSeriesDifferentiationColorClass, ht as setScbVizSeriesDifferentiationMetadata, gt as shouldShowScbVizSeriesDifferentiationAction, Ue as toggleScbVizFullscreen, _t as usesScbVizGroupedPointDifferentiation };
@@ -17,11 +17,9 @@ import './scb-card/scb-list-card.js';
17
17
  import './scb-card/scb-social-card.js';
18
18
  import './scb-checkbox/scb-checkbox.js';
19
19
  import './scb-checkbox/scb-checkbox-group.js';
20
- import './scb-chevron/scb-chevron.js';
21
20
  import './scb-chip/scb-chip.js';
22
21
  import './scb-collapse/scb-collapse.js';
23
22
  import './scb-cookies-consent/scb-cookies-consent.js';
24
- import './scb-datepicker/scb-datepicker.js';
25
23
  import './scb-dialog/scb-dialog.js';
26
24
  import './scb-divider/scb-divider.js';
27
25
  import './scb-drawer/scb-drawer.js';
@@ -1,4 +1,4 @@
1
- import"../../vendor/vendor-material.js";import{_ as b,b as m,g as h,h as o,v as l,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";(function(){try{var g=typeof globalThis<"u"?globalThis:window;if(!g.__scb_ce_guard_installed__){g.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(t,e,v){try{customElements.get(t)||i(t,e,v)}catch(c){var n=String(c||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d,p,a=(d=class extends b{constructor(...i){super(...i),this.open=!1,this.title="",this.content="",this.overline="",this.supportingText="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.imgHrefImage="",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.density=0,this._unique=p._uid(),this._ignoreNextNativeTitleAttrChange=!1,this._onSummaryClick=t=>{t.preventDefault();const e=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,e),this.setOpen(e)},this._onToggle=t=>{const e=t.currentTarget;e.open||(e.open=!0),this._applyInertByOpen()}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${p._uidPrefix}-${++p._uidSeq}`}static get observedAttributes(){const i=super.observedAttributes||[];return i.includes("title")?i:[...i,"title"]}attributeChangedCallback(i,t,e){if(i==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(i,t,e),i==="title"&&e!==null&&(this._ignoreNextNativeTitleAttrChange=!0,this.removeAttribute("title"))}firstUpdated(){this._applyInertByOpen()}_applyInertByOpen(){const i=this.renderRoot.querySelector(".scb-accordion-bottom");i&&(this.open?(i.removeAttribute("inert"),i.setAttribute("aria-hidden","false")):(i.setAttribute("inert",""),i.setAttribute("aria-hidden","true")))}_onKeyDown(i){const t=this.closest("scb-accordion"),e=Array.from(t?.querySelectorAll("scb-accordion-item")||[]).map(c=>c.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(c=>!!c),v=i.currentTarget,n=e.indexOf(v);switch(i.key){case"ArrowDown":i.preventDefault(),n<e.length-1&&e[n+1].focus();break;case"ArrowUp":i.preventDefault(),n>0&&e[n-1].focus();break;case"Home":i.preventDefault(),e.length&&e[0].focus();break;case"End":i.preventDefault(),e.length&&e[e.length-1].focus();break}}setOpen(i){this.open=!!i;const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen()}updated(i){if(i.has("open")){const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen(),this.dispatchEvent(new CustomEvent("open-changed",{detail:{open:this.open,title:this.title},bubbles:!0,composed:!0}))}}render(){const i=`bottom-${this._unique}`,t=`header-${this._unique}`,e=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?s`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?s`
1
+ import"../../vendor/vendor-material.js";import{_ as b,b as m,g as h,h as o,v as l,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";(function(){try{var g=typeof globalThis<"u"?globalThis:window;if(!g.__scb_ce_guard_installed__){g.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(t,e,v){try{customElements.get(t)||i(t,e,v)}catch(c){var n=String(c||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d,p,a=(d=class extends b{constructor(...i){super(...i),this.open=!1,this.title="",this.content="",this.overline="",this.supportingText="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.imgHrefImage="",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.density=0,this._unique=p._uid(),this._ignoreNextNativeTitleAttrChange=!1,this._onSummaryClick=t=>{t.preventDefault();const e=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,e),this.setOpen(e)},this._onToggle=t=>{const e=t.currentTarget;e.open||(e.open=!0),this._applyInertByOpen()}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${p._uidPrefix}-${++p._uidSeq}`}static get observedAttributes(){const i=super.observedAttributes||[];return i.includes("title")?i:[...i,"title"]}attributeChangedCallback(i,t,e){if(i==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(i,t,e),i==="title"&&e!==null&&(this._ignoreNextNativeTitleAttrChange=!0,this.removeAttribute("title"))}firstUpdated(){this._applyInertByOpen()}_applyInertByOpen(){const i=this.renderRoot.querySelector(".scb-accordion-bottom");i&&(this.open?(i.removeAttribute("inert"),i.setAttribute("aria-hidden","false")):(i.setAttribute("inert",""),i.setAttribute("aria-hidden","true")))}_onKeyDown(i){const t=this.closest("scb-accordion"),e=Array.from(t?.querySelectorAll("scb-accordion-item")||[]).map(c=>c.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(c=>!!c),v=i.currentTarget,n=e.indexOf(v);switch(i.key){case"ArrowDown":i.preventDefault(),n<e.length-1&&e[n+1].focus();break;case"ArrowUp":i.preventDefault(),n>0&&e[n-1].focus();break;case"Home":i.preventDefault(),e.length&&e[0].focus();break;case"End":i.preventDefault(),e.length&&e[e.length-1].focus();break}}setOpen(i){this.open=!!i;const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen()}updated(i){if(i.has("open")){const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen(),this.dispatchEvent(new CustomEvent("open-changed",{detail:{open:this.open,title:this.title},bubbles:!0,composed:!0}))}}render(){const i=`bottom-${this._unique}`,t=`header-${this._unique}`,e=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?s`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?s`
2
2
  <scb-avatar
3
3
  label=${this.avatarLabel}
4
4
  alt=${this.avatarAlt}
@@ -1,4 +1,4 @@
1
- import"../../vendor/vendor-material.js";import{_ as y,b as v,g as w,h as d,p as b,v as f,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as a}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";import"../scb-button/scb-button.js";import"../scb-options-menu/scb-options-menu.js";(function(){try{var h=typeof globalThis<"u"?globalThis:window;if(!h.__scb_ce_guard_installed__){h.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,s){try{customElements.get(e)||t(e,i,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var g,_=()=>{if(typeof window>"u"||typeof document>"u"||!("customElements"in window)||document.head.querySelector("style[data-scb-dropdown-pre-upgrade]"))return;const h=document.createElement("style");h.setAttribute("data-scb-dropdown-pre-upgrade",""),h.textContent=`
1
+ import"../../vendor/vendor-material.js";import{_ as y,b as v,g as w,h as d,p as b,v as f,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as a}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";import"../scb-button/scb-button.js";import"../scb-options-menu/scb-options-menu.js";(function(){try{var h=typeof globalThis<"u"?globalThis:window;if(!h.__scb_ce_guard_installed__){h.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,s){try{customElements.get(e)||t(e,i,s)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var g,_=()=>{if(typeof window>"u"||typeof document>"u"||!("customElements"in window)||document.head.querySelector("style[data-scb-dropdown-pre-upgrade]"))return;const h=document.createElement("style");h.setAttribute("data-scb-dropdown-pre-upgrade",""),h.textContent=`
2
2
  scb-dropdown:not(:defined) {
3
3
  display: inline-block;
4
4
  position: relative;
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../scb-drawer/scb-drawer.js","../../vendor/decorate.js","../../vendor/vendor.js","../../vendor/vendor-lit.js","../scb-divider/scb-divider.js","../../vendor/assertClassBrand.js","../scb-menu/scb-menu.js","../scb-menu/scb-menu-item.js","../../vendor/preload-helper.js","../scb-chevron/scb-chevron.js","../scb-menu/scb-menu-section.js","../scb-menu/scb-sub-menu.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../scb-drawer/scb-drawer.js","../../vendor/decorate.js","../../vendor/vendor.js","../../vendor/vendor-lit.js","../scb-divider/scb-divider.js","../../vendor/assertClassBrand.js","../scb-menu/scb-menu.js","../scb-menu/scb-menu-item.js","../../vendor/preload-helper.js","../../vendor/scb-chevron.js","../scb-menu/scb-menu-section.js","../scb-menu/scb-sub-menu.js"])))=>i.map(i=>d[i]);
2
2
  import"../../vendor/vendor-material.js";import{_ as $,b as E,g as M,h as c,m as w,v as f,y as v}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as l}from"../../vendor/decorate.js";import"../scb-button/scb-button.js";import{t as T}from"../../vendor/preload-helper.js";import"../scb-search/scb-search.js";import"../scb-link/scb-link.js";import"../scb-dropdown/scb-dropdown.js";import"../scb-grid/scb-grid-item.js";import"../scb-grid/scb-grid.js";import"../scb-skeleton/scb-skeleton.js";(function(){try{var b=typeof globalThis<"u"?globalThis:window;if(!b.__scb_ce_guard_installed__){b.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,s,r){try{customElements.get(t)||e(t,s,r)}catch(a){var i=String(a||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var x,k,P=0,I=()=>{if(typeof window>"u"||typeof document>"u"||!("customElements"in window)||document.head.querySelector("style[data-scb-header-pre-upgrade]"))return;const b=document.createElement("style");b.setAttribute("data-scb-header-pre-upgrade",""),b.textContent=`
3
3
  scb-header:not(:defined),
4
4
  scb-header[data-upgrading] {
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js","../../vendor/vendor-lit.js"])))=>i.map(i=>d[i]);
2
- import{_ as g,b as _,g as f,h as r,m as v,v as u,y as l}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as s}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";import{t as h}from"../../vendor/preload-helper.js";(function(){try{var a=typeof globalThis<"u"?globalThis:window;if(!a.__scb_ce_guard_installed__){a.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,n,d){try{customElements.get(t)||e(t,n,d)}catch(p){var m=String(p||"");if(m.indexOf("already been used")===-1&&m.indexOf("NotSupportedError")===-1)throw p}}}}catch{}})();var c,o,b={fromAttribute:a=>a==null?!1:!/^(false|0|off|no)$/i.test(a),toAttribute:a=>a?"":null},i=(c=class extends g{constructor(...e){super(...e),this.label="",this.selected=!1,this.noHighlightSelected=!1,this.leadingIcon="",this.itemHref="",this.hasChildren=!1,this.loading=!1,this.hasSlotContent=!1,this.expanded=!1,this.__submenuId=`sub-${Math.random().toString(36).slice(2)}`,this.__focusId=`f-${Math.random().toString(36).slice(2)}`,this._toggleExpand=t=>{t&&t.stopPropagation(),this.__isExpandable&&this.__setExpanded(!this.expanded)},this._onButtonClick=t=>{t.stopPropagation(),this._dispatchSelect(),this._toggleExpand()},this._onLinkClick=()=>{this._dispatchSelect()},this._onKeyDown=t=>{const n=Array.from(this.closest("scb-sub-menu, scb-menu")?.querySelectorAll("scb-menu-item")||[]),d=n.indexOf(this);switch(t.key){case"ArrowDown":t.preventDefault(),(n[d+1]||n[0]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"ArrowUp":t.preventDefault(),(n[d-1]||n[n.length-1]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"Home":t.preventDefault(),n[0].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"End":t.preventDefault(),n[n.length-1].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break}}}get __submenuEl(){return this.renderRoot.querySelector(`#${this.__submenuId}`)}get __isExpandable(){return this.hasSlotContent||this.hasChildren}async __ensureDepsLoaded(){o.__rippleLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.f),__vite__mapDeps([0,1,2]),import.meta.url),o.__rippleLoaded=!0),o.__focusRingLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.m),__vite__mapDeps([0,1,2]),import.meta.url),o.__focusRingLoaded=!0),this.leadingIcon&&!o.__iconLoaded&&(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.p),__vite__mapDeps([0,1,2]),import.meta.url),o.__iconLoaded=!0)}__syncHasSlotContentFromLightDom(){const e=Array.from(this.children);this.hasSlotContent=e.some(t=>t.tagName==="SCB-SUB-MENU")}connectedCallback(){super.connectedCallback(),this.__syncHasSlotContentFromLightDom()}_onSlotChange(e){const t=e.target.assignedElements({flatten:!0});this.hasSlotContent=t.some(n=>n.tagName==="SCB-SUB-MENU")}__setExpanded(e){if(!this.__isExpandable)return;this.expanded=e;const t={item:this,expanded:e,hasChildren:this.hasChildren,hasSlotContent:this.hasSlotContent,loading:this.loading,lazy:this.hasChildren&&!this.hasSlotContent};this.dispatchEvent(new CustomEvent("scb-menu-expand",{bubbles:!0,composed:!0,detail:t})),this.dispatchEvent(new CustomEvent("scbmenuexpand",{bubbles:!0,composed:!0,detail:t}))}_dispatchSelect(){this.dispatchEvent(new CustomEvent("scb-menu-select",{bubbles:!0,composed:!0,detail:{item:this}})),this.dispatchEvent(new CustomEvent("scbmenuselect",{bubbles:!0,composed:!0,detail:{item:this}}))}async firstUpdated(){await this.__ensureDepsLoaded(),this.__applyInert()}updated(e){e.has("leadingIcon")&&this.leadingIcon&&this.__ensureDepsLoaded(),(e.has("hasSlotContent")&&this.hasSlotContent||e.has("hasChildren")&&this.hasChildren||e.has("loading")&&this.loading)&&this.__ensureDepsLoaded(),(e.has("expanded")||e.has("hasChildren")||e.has("loading"))&&this.__applyInert()}__applyInert(){const e=this.__submenuEl;e&&(this.loading?e.setAttribute("aria-busy","true"):e.removeAttribute("aria-busy"),this.expanded?(e.removeAttribute("inert"),e.setAttribute("aria-hidden","false")):(e.setAttribute("inert",""),e.setAttribute("aria-hidden","true")))}render(){const e=!!this.leadingIcon,t=!!this.itemHref,n=this.__isExpandable;return l`
2
+ import{_ as g,b as _,g as f,h as r,m as v,v as u,y as l}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as s}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";import{t as h}from"../../vendor/preload-helper.js";(function(){try{var a=typeof globalThis<"u"?globalThis:window;if(!a.__scb_ce_guard_installed__){a.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,n,d){try{customElements.get(t)||e(t,n,d)}catch(p){var m=String(p||"");if(m.indexOf("already been used")===-1&&m.indexOf("NotSupportedError")===-1)throw p}}}}catch{}})();var c,o,b={fromAttribute:a=>a==null?!1:!/^(false|0|off|no)$/i.test(a),toAttribute:a=>a?"":null},i=(c=class extends g{constructor(...e){super(...e),this.label="",this.selected=!1,this.noHighlightSelected=!1,this.leadingIcon="",this.itemHref="",this.hasChildren=!1,this.loading=!1,this.hasSlotContent=!1,this.expanded=!1,this.__submenuId=`sub-${Math.random().toString(36).slice(2)}`,this.__focusId=`f-${Math.random().toString(36).slice(2)}`,this._toggleExpand=t=>{t&&t.stopPropagation(),this.__isExpandable&&this.__setExpanded(!this.expanded)},this._onButtonClick=t=>{t.stopPropagation(),this._dispatchSelect(),this._toggleExpand()},this._onLinkClick=()=>{this._dispatchSelect()},this._onKeyDown=t=>{const n=Array.from(this.closest("scb-sub-menu, scb-menu")?.querySelectorAll("scb-menu-item")||[]),d=n.indexOf(this);switch(t.key){case"ArrowDown":t.preventDefault(),(n[d+1]||n[0]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"ArrowUp":t.preventDefault(),(n[d-1]||n[n.length-1]).shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"Home":t.preventDefault(),n[0].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break;case"End":t.preventDefault(),n[n.length-1].shadowRoot?.querySelector(".scb-menu-label-text")?.focus();break}}}get __submenuEl(){return this.renderRoot.querySelector(`#${this.__submenuId}`)}get __isExpandable(){return this.hasSlotContent||this.hasChildren}async __ensureDepsLoaded(){o.__rippleLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.f),__vite__mapDeps([0,1,2]),import.meta.url),o.__rippleLoaded=!0),o.__focusRingLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.m),__vite__mapDeps([0,1,2]),import.meta.url),o.__focusRingLoaded=!0),this.leadingIcon&&!o.__iconLoaded&&(await h(()=>import("../../vendor/vendor-material.js").then(e=>e.p),__vite__mapDeps([0,1,2]),import.meta.url),o.__iconLoaded=!0)}__syncHasSlotContentFromLightDom(){const e=Array.from(this.children);this.hasSlotContent=e.some(t=>t.tagName==="SCB-SUB-MENU")}connectedCallback(){super.connectedCallback(),this.__syncHasSlotContentFromLightDom()}_onSlotChange(e){const t=e.target.assignedElements({flatten:!0});this.hasSlotContent=t.some(n=>n.tagName==="SCB-SUB-MENU")}__setExpanded(e){if(!this.__isExpandable)return;this.expanded=e;const t={item:this,expanded:e,hasChildren:this.hasChildren,hasSlotContent:this.hasSlotContent,loading:this.loading,lazy:this.hasChildren&&!this.hasSlotContent};this.dispatchEvent(new CustomEvent("scb-menu-expand",{bubbles:!0,composed:!0,detail:t})),this.dispatchEvent(new CustomEvent("scbmenuexpand",{bubbles:!0,composed:!0,detail:t}))}_dispatchSelect(){this.dispatchEvent(new CustomEvent("scb-menu-select",{bubbles:!0,composed:!0,detail:{item:this}})),this.dispatchEvent(new CustomEvent("scbmenuselect",{bubbles:!0,composed:!0,detail:{item:this}}))}async firstUpdated(){await this.__ensureDepsLoaded(),this.__applyInert()}updated(e){e.has("leadingIcon")&&this.leadingIcon&&this.__ensureDepsLoaded(),(e.has("hasSlotContent")&&this.hasSlotContent||e.has("hasChildren")&&this.hasChildren||e.has("loading")&&this.loading)&&this.__ensureDepsLoaded(),(e.has("expanded")||e.has("hasChildren")||e.has("loading"))&&this.__applyInert()}__applyInert(){const e=this.__submenuEl;e&&(this.loading?e.setAttribute("aria-busy","true"):e.removeAttribute("aria-busy"),this.expanded?(e.removeAttribute("inert"),e.setAttribute("aria-hidden","false")):(e.setAttribute("inert",""),e.setAttribute("aria-hidden","true")))}render(){const e=!!this.leadingIcon,t=!!this.itemHref,n=this.__isExpandable;return l`
3
3
  <div class="scb-menu-item">
4
4
  <div class="scb-menu-item-label" ?selected=${this.selected} ?no-highlight-selected=${this.noHighlightSelected}>
5
5
  ${t?l`
@@ -1,4 +1,4 @@
1
- import"../../vendor/vendor-material.js";import{_ as h,b as u,g as b,h as a,s as g,y as d}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as l}from"../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";import"./scb-select-option.js";(function(){try{var p=typeof globalThis<"u"?globalThis:window;if(!p.__scb_ce_guard_installed__){p.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,s,r){try{customElements.get(t)||e(t,s,r)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var c,i=(c=class extends h{constructor(){super(),this._optionsObserver=null,this._internals=null,this.focusedIndex=-1,this.variant="single-select",this.value="",this.values=[],this.disabled=!1,this.required=!1,this.open=!1,this.label="",this.name="",this.placeholder="",this.supportingText="",this.withRadiobuttons=!1,this.noHighlightSelected=!1,this.size="large",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.zIndex=void 0,this._form=null,this._formResetHandler=null,this._formSubmitHandler=null,this._initialValue="",this._initialValues=[],this._customValidationMessage="",this._onDocumentClick=e=>{this.open&&(e.composedPath().includes(this)||this._setOpen(!1))},this._onSlotClick=e=>{const t=this.shadowRoot?.querySelector("slot");if(!t)return;const s=t.assignedElements({flatten:!0}).filter(o=>o.tagName.toLowerCase()==="scb-select-option"),r=e.composedPath(),n=s.find(o=>r.includes(o));n&&(this._selectOption(n),e.stopPropagation())},this._onKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._toggleOpen())},this._onOptionKeyDown=e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault();const t=this.shadowRoot?.querySelector("slot");if(!t)return;const s=t.assignedElements({flatten:!0}).filter(o=>o.tagName.toLowerCase()==="scb-select-option"),r=e.composedPath(),n=s.find(o=>r.includes(o));n&&this._selectOption(n)}},"attachInternals"in this&&(this._internals=this.attachInternals())}_syncDensityForSize(){this.size==="extra-small"?this.setAttribute("data-density","-5"):this.size==="small"?this.setAttribute("data-density","-4"):this.size==="medium"?this.setAttribute("data-density","-2"):this.removeAttribute("data-density")}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this._onDocumentClick),this._optionsObserver=new MutationObserver(()=>{this.requestUpdate()}),this._optionsObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["label","value","disabled"]}),this._syncDensityForSize(),this._initialValue=this.value,this._initialValues=Array.isArray(this.values)?[...this.values]:[],this._form=this.closest("form"),this._form&&(this._formResetHandler=()=>{this.value=this._initialValue,this.values=Array.isArray(this._initialValues)?[...this._initialValues]:[],this._syncFormValue(),this._syncValidity(),this.requestUpdate()},this._formSubmitHandler=e=>{this.reportValidity()||(e.preventDefault(),e.stopPropagation())},this._form.addEventListener("reset",this._formResetHandler,!0),this._form.addEventListener("submit",this._formSubmitHandler,!0))}disconnectedCallback(){document.removeEventListener("mousedown",this._onDocumentClick),this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),this._form&&this._formSubmitHandler&&this._form.removeEventListener("submit",this._formSubmitHandler,!0),this._optionsObserver?.disconnect(),this._optionsObserver=null,super.disconnectedCallback()}_getMultiValues(){return Array.isArray(this.values)&&this.values.length>0?this.values:this.value?this.value.split(",").map(e=>e.trim()).filter(Boolean):[]}_mapSpacingToken(e){if(!e)return;const t=String(e).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}_applySpacing(){const e=this._mapSpacingToken(this.spacing),t=this._mapSpacingToken(this.spacingTop)??e,s=this._mapSpacingToken(this.spacingBottom)??e,r=this._mapSpacingToken(this.spacingLeft),n=this._mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-select-spacing-block-start",t):this.style.removeProperty("--scb-select-spacing-block-start"),s?this.style.setProperty("--scb-select-spacing-block-end",s):this.style.removeProperty("--scb-select-spacing-block-end"),r?this.style.setProperty("--scb-select-spacing-inline-start",r):this.style.removeProperty("--scb-select-spacing-inline-start"),n?this.style.setProperty("--scb-select-spacing-inline-end",n):this.style.removeProperty("--scb-select-spacing-inline-end")}_setOpen(e){this.open!==e&&(this.open=e,e?(this.focusedIndex=0,this.requestUpdate()):this.focusedIndex=-1)}_toggleOpen(){this.disabled||this._setOpen(!this.open)}_hasMoreThanFourOptions(){const e=this.shadowRoot?.querySelector("slot");if(!e)return!1;const t=e.assignedElements({flatten:!0}).filter(s=>s.tagName.toLowerCase()==="scb-select-option");return["extra-small","small","medium"].includes(this.size)?t.length>5:t.length>4}_selectOption(e){if(!e.disabled){if(this.variant==="multi-select"){const t=this._getMultiValues();t.indexOf(e.value)>-1?this.values=t.filter(s=>s!==e.value):this.values=[...t,e.value],this.value=this.values.join(","),this.dispatchEvent(new CustomEvent("change",{detail:{values:this.values},bubbles:!0,composed:!0}))}else this.variant==="single-select"&&this.withRadiobuttons?(this.value=e.value,this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value},bubbles:!0,composed:!0}))):(this.value=e.value,this._setOpen(!1),this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value},bubbles:!0,composed:!0})));this._updateOptionsChecked(),this.requestUpdate()}}_getOptionLabel(e){return e.label||e.textContent?.trim()||""}_getSelectedLabel(){const e=this.shadowRoot?.querySelector("slot");if(!e)return"";const t=e.assignedElements({flatten:!0}).filter(s=>s.tagName.toLowerCase()==="scb-select-option");if(this.variant==="multi-select"){const s=this._getMultiValues(),r=t.filter(n=>s.includes(n.value));return r&&r.length>0?r.map(n=>this._getOptionLabel(n)).join(", "):""}else{const s=t.find(r=>r.value===this.value);return s?this._getOptionLabel(s):""}}firstUpdated(){this._updateOptionsChecked(),this._syncFormValue(),this._syncValidity(),this._applySpacing()}updated(e){this._updateOptionsChecked(),this._syncFormValue(),this._syncValidity(),e.has("size")&&this._syncDensityForSize(),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&this._applySpacing()}_syncFormValue(){if(this._internals){if(this.disabled||!this.name){this._internals.setFormValue(null);return}if(this.variant==="multi-select"){const e=this._getMultiValues();if(e.length===0){this._internals.setFormValue(null);return}const t=new FormData;e.forEach(s=>t.append(this.name,s)),this._internals.setFormValue(t);return}this._internals.setFormValue(this.value||null)}}_getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required&&!(this.variant==="multi-select"?this._getMultiValues().length>0:this.value)?"Välj ett alternativ.":""}_syncValidity(){if(!this._internals)return;const e=this.disabled?"":this._getValidationMessage(),t=this.shadowRoot?.querySelector(".selected-value");if(!e){this._internals.setValidity({}),this.removeAttribute("aria-invalid"),t&&t.setCustomValidity("");return}t&&t.setCustomValidity(e),this._internals.setValidity({valueMissing:!0},e,t??void 0),this.setAttribute("aria-invalid","true")}checkValidity(){return!this._getValidationMessage()}reportValidity(){return this._syncValidity(),this._internals?this._internals.reportValidity():this.checkValidity()}setCustomValidity(e){this._customValidationMessage=e,this._syncValidity()}get validity(){return this._internals?.validity}get validationMessage(){return this._internals?.validationMessage??this._getValidationMessage()}get willValidate(){return this._internals?.willValidate??!0}_updateOptionsChecked(){const e=this.shadowRoot?.querySelector("slot");e&&e.assignedElements({flatten:!0}).filter(t=>t.tagName.toLowerCase()==="scb-select-option").forEach(t=>{if(this.noHighlightSelected?t.setAttribute("no-highlight-selected",""):t.removeAttribute("no-highlight-selected"),this.variant==="multi-select"){const s=this._getMultiValues();t.showCheckbox=!0,t.checked=s.includes(t.value),t.showRadio=!1}else t.showCheckbox=!1,t.checked=this.value===t.value,this.withRadiobuttons&&(t.showRadio=!0)})}render(){return d`
1
+ import"../../vendor/vendor-material.js";import{_ as h,b as u,g as b,h as a,s as g,y as d}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as l}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";import"./scb-select-option.js";(function(){try{var p=typeof globalThis<"u"?globalThis:window;if(!p.__scb_ce_guard_installed__){p.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(t,s,r){try{customElements.get(t)||e(t,s,r)}catch(o){var n=String(o||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw o}}}}catch{}})();var c,i=(c=class extends h{constructor(){super(),this._optionsObserver=null,this._internals=null,this.focusedIndex=-1,this.variant="single-select",this.value="",this.values=[],this.disabled=!1,this.required=!1,this.open=!1,this.label="",this.name="",this.placeholder="",this.supportingText="",this.withRadiobuttons=!1,this.noHighlightSelected=!1,this.size="large",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.zIndex=void 0,this._form=null,this._formResetHandler=null,this._formSubmitHandler=null,this._initialValue="",this._initialValues=[],this._customValidationMessage="",this._onDocumentClick=e=>{this.open&&(e.composedPath().includes(this)||this._setOpen(!1))},this._onSlotClick=e=>{const t=this.shadowRoot?.querySelector("slot");if(!t)return;const s=t.assignedElements({flatten:!0}).filter(o=>o.tagName.toLowerCase()==="scb-select-option"),r=e.composedPath(),n=s.find(o=>r.includes(o));n&&(this._selectOption(n),e.stopPropagation())},this._onKeyDown=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._toggleOpen())},this._onOptionKeyDown=e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault();const t=this.shadowRoot?.querySelector("slot");if(!t)return;const s=t.assignedElements({flatten:!0}).filter(o=>o.tagName.toLowerCase()==="scb-select-option"),r=e.composedPath(),n=s.find(o=>r.includes(o));n&&this._selectOption(n)}},"attachInternals"in this&&(this._internals=this.attachInternals())}_syncDensityForSize(){this.size==="extra-small"?this.setAttribute("data-density","-5"):this.size==="small"?this.setAttribute("data-density","-4"):this.size==="medium"?this.setAttribute("data-density","-2"):this.removeAttribute("data-density")}connectedCallback(){super.connectedCallback(),document.addEventListener("mousedown",this._onDocumentClick),this._optionsObserver=new MutationObserver(()=>{this.requestUpdate()}),this._optionsObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["label","value","disabled"]}),this._syncDensityForSize(),this._initialValue=this.value,this._initialValues=Array.isArray(this.values)?[...this.values]:[],this._form=this.closest("form"),this._form&&(this._formResetHandler=()=>{this.value=this._initialValue,this.values=Array.isArray(this._initialValues)?[...this._initialValues]:[],this._syncFormValue(),this._syncValidity(),this.requestUpdate()},this._formSubmitHandler=e=>{this.reportValidity()||(e.preventDefault(),e.stopPropagation())},this._form.addEventListener("reset",this._formResetHandler,!0),this._form.addEventListener("submit",this._formSubmitHandler,!0))}disconnectedCallback(){document.removeEventListener("mousedown",this._onDocumentClick),this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),this._form&&this._formSubmitHandler&&this._form.removeEventListener("submit",this._formSubmitHandler,!0),this._optionsObserver?.disconnect(),this._optionsObserver=null,super.disconnectedCallback()}_getMultiValues(){return Array.isArray(this.values)&&this.values.length>0?this.values:this.value?this.value.split(",").map(e=>e.trim()).filter(Boolean):[]}_mapSpacingToken(e){if(!e)return;const t=String(e).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}_applySpacing(){const e=this._mapSpacingToken(this.spacing),t=this._mapSpacingToken(this.spacingTop)??e,s=this._mapSpacingToken(this.spacingBottom)??e,r=this._mapSpacingToken(this.spacingLeft),n=this._mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-select-spacing-block-start",t):this.style.removeProperty("--scb-select-spacing-block-start"),s?this.style.setProperty("--scb-select-spacing-block-end",s):this.style.removeProperty("--scb-select-spacing-block-end"),r?this.style.setProperty("--scb-select-spacing-inline-start",r):this.style.removeProperty("--scb-select-spacing-inline-start"),n?this.style.setProperty("--scb-select-spacing-inline-end",n):this.style.removeProperty("--scb-select-spacing-inline-end")}_setOpen(e){this.open!==e&&(this.open=e,e?(this.focusedIndex=0,this.requestUpdate()):this.focusedIndex=-1)}_toggleOpen(){this.disabled||this._setOpen(!this.open)}_hasMoreThanFourOptions(){const e=this.shadowRoot?.querySelector("slot");if(!e)return!1;const t=e.assignedElements({flatten:!0}).filter(s=>s.tagName.toLowerCase()==="scb-select-option");return["extra-small","small","medium"].includes(this.size)?t.length>5:t.length>4}_selectOption(e){if(!e.disabled){if(this.variant==="multi-select"){const t=this._getMultiValues();t.indexOf(e.value)>-1?this.values=t.filter(s=>s!==e.value):this.values=[...t,e.value],this.value=this.values.join(","),this.dispatchEvent(new CustomEvent("change",{detail:{values:this.values},bubbles:!0,composed:!0}))}else this.variant==="single-select"&&this.withRadiobuttons?(this.value=e.value,this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value},bubbles:!0,composed:!0}))):(this.value=e.value,this._setOpen(!1),this.dispatchEvent(new CustomEvent("change",{detail:{value:this.value},bubbles:!0,composed:!0})));this._updateOptionsChecked(),this.requestUpdate()}}_getOptionLabel(e){return e.label||e.textContent?.trim()||""}_getSelectedLabel(){const e=this.shadowRoot?.querySelector("slot");if(!e)return"";const t=e.assignedElements({flatten:!0}).filter(s=>s.tagName.toLowerCase()==="scb-select-option");if(this.variant==="multi-select"){const s=this._getMultiValues(),r=t.filter(n=>s.includes(n.value));return r&&r.length>0?r.map(n=>this._getOptionLabel(n)).join(", "):""}else{const s=t.find(r=>r.value===this.value);return s?this._getOptionLabel(s):""}}firstUpdated(){this._updateOptionsChecked(),this._syncFormValue(),this._syncValidity(),this._applySpacing()}updated(e){this._updateOptionsChecked(),this._syncFormValue(),this._syncValidity(),e.has("size")&&this._syncDensityForSize(),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&this._applySpacing()}_syncFormValue(){if(this._internals){if(this.disabled||!this.name){this._internals.setFormValue(null);return}if(this.variant==="multi-select"){const e=this._getMultiValues();if(e.length===0){this._internals.setFormValue(null);return}const t=new FormData;e.forEach(s=>t.append(this.name,s)),this._internals.setFormValue(t);return}this._internals.setFormValue(this.value||null)}}_getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required&&!(this.variant==="multi-select"?this._getMultiValues().length>0:this.value)?"Välj ett alternativ.":""}_syncValidity(){if(!this._internals)return;const e=this.disabled?"":this._getValidationMessage(),t=this.shadowRoot?.querySelector(".selected-value");if(!e){this._internals.setValidity({}),this.removeAttribute("aria-invalid"),t&&t.setCustomValidity("");return}t&&t.setCustomValidity(e),this._internals.setValidity({valueMissing:!0},e,t??void 0),this.setAttribute("aria-invalid","true")}checkValidity(){return!this._getValidationMessage()}reportValidity(){return this._syncValidity(),this._internals?this._internals.reportValidity():this.checkValidity()}setCustomValidity(e){this._customValidationMessage=e,this._syncValidity()}get validity(){return this._internals?.validity}get validationMessage(){return this._internals?.validationMessage??this._getValidationMessage()}get willValidate(){return this._internals?.willValidate??!0}_updateOptionsChecked(){const e=this.shadowRoot?.querySelector("slot");e&&e.assignedElements({flatten:!0}).filter(t=>t.tagName.toLowerCase()==="scb-select-option").forEach(t=>{if(this.noHighlightSelected?t.setAttribute("no-highlight-selected",""):t.removeAttribute("no-highlight-selected"),this.variant==="multi-select"){const s=this._getMultiValues();t.showCheckbox=!0,t.checked=s.includes(t.value),t.showRadio=!1}else t.showCheckbox=!1,t.checked=this.value===t.value,this.withRadiobuttons&&(t.showRadio=!0)})}render(){return d`
2
2
  ${this.label?d`
3
3
  <label
4
4
  class="select-label ${this.supportingText?"":"select-label--without-supporting"}"