scb-wc 0.1.111 → 0.1.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +22 -41
  2. package/all.js +6 -0
  3. package/index.js +94 -88
  4. package/mvc/components/all.js +6 -0
  5. package/mvc/components/scb-accordion/scb-accordion-item.js +1 -1
  6. package/mvc/components/scb-avatar/scb-avatar.js +1 -1
  7. package/mvc/components/scb-button/scb-button.js +3 -3
  8. package/mvc/components/scb-calendar/scb-calendar.js +1 -1
  9. package/mvc/components/scb-calendar-card/scb-calendar-card.js +4 -4
  10. package/mvc/components/scb-card/scb-card.js +2 -2
  11. package/mvc/{vendor → components/scb-chevron}/scb-chevron.js +1 -1
  12. package/mvc/components/scb-datepicker/scb-datepicker.js +118 -0
  13. package/mvc/components/scb-dropdown/scb-dropdown.js +1 -1
  14. package/mvc/components/scb-header/scb-header.js +2 -2
  15. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +6 -6
  16. package/mvc/components/scb-icon/scb-icon.js +9 -0
  17. package/mvc/components/scb-icon-button/scb-icon-button.js +5 -5
  18. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +6 -6
  19. package/mvc/components/scb-list/scb-list-item.js +2 -2
  20. package/mvc/components/scb-menu/scb-menu-item.js +1 -1
  21. package/mvc/components/scb-nav/scb-nav.js +2 -2
  22. package/mvc/components/scb-options-menu/scb-options-menu-item.js +1 -1
  23. package/mvc/components/scb-progress-stepper/scb-progress-step.js +2 -2
  24. package/mvc/components/scb-search/scb-search.js +1 -1
  25. package/mvc/components/scb-segmented-button/scb-segmented-item.js +1 -1
  26. package/mvc/components/scb-select/scb-select-option.js +1 -1
  27. package/mvc/components/scb-select/scb-select.js +1 -1
  28. package/mvc/components/scb-stepper/scb-step.js +1 -1
  29. package/mvc/components/scb-textfield/scb-textfield.js +33 -150
  30. package/mvc/components/scb-toc/scb-toc-item.js +1 -1
  31. package/mvc/components/shared/lazy-focus-ring.js +2 -0
  32. package/mvc/components/shared/lazy-ripple.js +2 -0
  33. package/mvc/components/shared/scb-icon-svg.js +11 -0
  34. package/package.json +6 -2
  35. package/scb-avatar/scb-avatar.js +3 -1
  36. package/scb-chevron/scb-chevron.js +1 -0
  37. package/scb-components/index.d.ts +103 -0
  38. package/scb-components/scb-avatar/scb-avatar.d.ts +1 -1
  39. package/scb-components/scb-chevron/scb-chevron.d.ts +11 -0
  40. package/scb-components/scb-datepicker/scb-datepicker.d.ts +41 -0
  41. package/scb-components/scb-icon/scb-icon.d.ts +19 -0
  42. package/scb-components/shared/lazy-focus-ring.d.ts +4 -0
  43. package/scb-components/shared/lazy-ripple.d.ts +9 -0
  44. package/scb-components/shared/scb-icon-svg.d.ts +3 -0
  45. package/scb-datepicker/scb-datepicker.js +1 -0
  46. package/scb-icon/scb-icon.js +94 -0
  47. package/scb-wc.bundle.js +912 -841
  48. package/scb-wc.d.ts +206 -194
  49. package/shared/scb-icon-svg.js +5 -2
  50. package/mvc/vendor/lazy-focus-ring.js +0 -2
  51. package/mvc/vendor/lazy-ripple.js +0 -2
  52. package/mvc/vendor/scb-icon-svg.js +0 -11
  53. package/scb-wc-public-entry/index.d.ts +0 -97
package/README.md CHANGED
@@ -1,6 +1,9 @@
1
- # Om SCB Web Components
1
+ # Om SCB Web Components Preview
2
2
 
3
- SCB Web Components finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
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.
4
7
 
5
8
  Komponenterna bygger på:
6
9
  - [Lit](https://lit.dev/)
@@ -8,54 +11,32 @@ Komponenterna bygger på:
8
11
 
9
12
  ## Storybook och dokumentation (internt)
10
13
 
11
- Produktionskomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna adress:
14
+ Previewkomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna testadress:
12
15
 
13
- - Prod: https://webcomponents.scb.intra
16
+ - Test: <https://webcomponentstest.scb.intra>
14
17
 
15
- Testkomponenterna finns på:
18
+ Den publika/stabila Storybooken finns på:
16
19
 
17
- - Test: https://webcomponentstest.scb.intra
20
+ - Prod: <https://webcomponents.scb.intra>
18
21
 
19
22
  ---
20
23
 
21
24
  ## Kom igång
22
25
 
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.
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).
47
28
 
48
- Om du redan har en app med `package.json`, kör kommandon i den mappen och installera paketet:
29
+ Installera previewkanalen:
49
30
 
50
31
  ```sh
51
- npm install scb-wc
32
+ npm install scb-wc@next
52
33
  ```
53
34
 
54
35
  ---
55
36
 
56
37
  ## Alternativ 1: Använd som ES‑moduler (t.ex. i React, Vue, SPA)
57
38
 
58
- Importera CSS och de komponenter du använder (bäst för tree‑shaking):
39
+ Importera CSS och de testkomponenter du använder (bäst för tree‑shaking):
59
40
 
60
41
  ```js
61
42
  // Global CSS + tokens (måste bara importeras en gång)
@@ -111,7 +92,7 @@ För MVC/MPA räcker det normalt att använda `scb-wc-selfhost.css`, eftersom de
111
92
 
112
93
  ## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
113
94
 
114
- Det här läget använder den färdig‑splittrade **MVC‑ESM**‑builden som följer med paketet under:
95
+ Det här läget använder den färdig‑splittade **MVC‑ESM**‑builden som följer med paketet under:
115
96
 
116
97
  ```text
117
98
  node_modules/scb-wc/mvc/
@@ -124,7 +105,7 @@ Lägg till i din apps `package.json`:
124
105
  ```jsonc
125
106
  {
126
107
  "scripts": {
127
- "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);\""
108
+ "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);\""
128
109
  }
129
110
  }
130
111
  ```
@@ -172,7 +153,7 @@ Behöver du en annan webbrotsökväg (t.ex. om din `wwwroot` ligger någon annan
172
153
 
173
154
  ## Alternativ 3: Bundlad version (IIFE) för äldre miljöer
174
155
 
175
- Om ESM inte stöds kan du använda den bundlade varianten från paketroten.
156
+ Om ESM inte stöds kan du använda den bundlade test‑varianten från paketroten.
176
157
  Flytta följande tre filer från `node_modules/scb-wc` och använd dem i applikationen:
177
158
 
178
159
  ```text
@@ -195,7 +176,7 @@ node_modules/scb-wc/scb-typography.css
195
176
 
196
177
  SCB Web Components fungerar även i Blazor‑appar när du vill använda samma komponenter i både MVC/MPA och Blazor.
197
178
 
198
- Grundprincipen är:
179
+ Grundprincipen är samma som för `scb-wc`:
199
180
 
200
181
  1. Använd MVC‑ESM‑builden (`node_modules/scb-wc/mvc`) och kopiera den till `wwwroot/ui` med `ui:install`.
201
182
  2. Ladda `scb-blazor-bridge.js` från `wwwroot/ui` i din Blazor‑layout.
@@ -208,8 +189,8 @@ Lägg till ett script som kopierar interop-filen från `node_modules` till ditt
208
189
  ```jsonc
209
190
  {
210
191
  "scripts": {
211
- "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);\"",
212
- "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);\""
192
+ "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);\"",
193
+ "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);\""
213
194
  }
214
195
  }
215
196
  ```
@@ -223,13 +204,13 @@ Exempel på layout:
223
204
  <script type="module" src="~/ui/scb-blazor-bridge.js"></script>
224
205
  ```
225
206
 
226
- `ScbBlazorInteropBase` kan återanvändas mellan projekt som använder både `scb-wc@latest` och `scb-wc@next`.
207
+ `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`.
227
208
 
228
209
  ---
229
210
 
230
211
  ## Viktigt
231
212
 
232
- - `scb-wc@latest` är produktionskanalen. Använd `scb-wc@next` för komponenter under utveckling och experiment.
213
+ - `scb-wc@next` är **previewkanalen**. Komponenter kan ändras eller tas bort mellan versioner. Använd `scb-wc@latest` i externa produktionsmiljöer.
233
214
  - **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`).
234
215
  - **Blanda inte MVC‑ESM och IIFE på samma sida.** Välj en distributionsform per sida/app.
235
216
  - **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
@@ -18,10 +18,12 @@ import './scb-card/scb-list-card.js';
18
18
  import './scb-card/scb-social-card.js';
19
19
  import './scb-checkbox/scb-checkbox-group.js';
20
20
  import './scb-checkbox/scb-checkbox.js';
21
+ import './scb-chevron/scb-chevron.js';
21
22
  import './scb-chip/scb-chip.js';
22
23
  import './scb-collapse/scb-collapse.js';
23
24
  import './scb-container-card/scb-container-card.js';
24
25
  import './scb-cookies-consent/scb-cookies-consent.js';
26
+ import './scb-datepicker/scb-datepicker.js';
25
27
  import './scb-dialog/scb-dialog.js';
26
28
  import './scb-divider/scb-divider.js';
27
29
  import './scb-drawer/scb-drawer.js';
@@ -43,6 +45,7 @@ import './scb-header/scb-header-utility.js';
43
45
  import './scb-header/scb-header.js';
44
46
  import './scb-horizontal-scroller/scb-horizontal-scroller.js';
45
47
  import './scb-icon-button/scb-icon-button.js';
48
+ import './scb-icon/scb-icon.js';
46
49
  import './scb-keyfigure-card/scb-keyfigure-card.js';
47
50
  import './scb-link-card/scb-link-card.js';
48
51
  import './scb-link/scb-link.js';
@@ -95,3 +98,6 @@ import './scb-viz/scb-viz-series-differentiation-registry.js';
95
98
  import './scb-viz/scb-viz-series-differentiation-runtime.js';
96
99
  import './scb-viz/scb-viz-table-runtime.js';
97
100
  import './scb-viz/scb-viz.js';
101
+ import './shared/lazy-focus-ring.js';
102
+ import './shared/lazy-ripple.js';
103
+ import './shared/scb-icon-svg.js';
package/index.js CHANGED
@@ -1,31 +1,34 @@
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 { ScbActionCard as r, ScbCard as i, ScbContainerCard as a, ScbLinkCard as o, ScbListCard as s, ScbSocialCard as c } from "./scb-card/scb-card.js";
1
+ import { addLazyFocusRingListeners as e, ensureFocusRingOnFocusVisible as t, ensureFocusRingOnTab as n, ensureFocusRingReady as r } from "./shared/lazy-focus-ring.js";
2
+ import { ScbChevron as i } from "./scb-chevron/scb-chevron.js";
3
+ import { ScbAccordionItem as a } from "./scb-accordion/scb-accordion-item.js";
4
+ import { ScbButton as o } from "./scb-button/scb-button.js";
5
+ import { ScbAccordion as s } from "./scb-accordion/scb-accordion.js";
6
+ import { ScbActionCard as c, ScbCard as l, ScbContainerCard as u, ScbLinkCard as d, ScbListCard as f, ScbSocialCard as p } from "./scb-card/scb-card.js";
5
7
  import "./scb-action-card/scb-action-card.js";
6
- import { ScbIconButton as l } from "./scb-icon-button/scb-icon-button.js";
7
- import { ScbSearch as u } from "./scb-search/scb-search.js";
8
- import { ScbAvatar as d } from "./scb-avatar/scb-avatar.js";
9
- import { ScbAppBar as f } from "./scb-app-bar/scb-app-bar.js";
10
- import { ScbBadge as p } from "./scb-badge/scb-badge.js";
11
- import { ScbLink as m } from "./scb-link/scb-link.js";
12
- import { SCBBreadcrumbItem as h } from "./scb-breadcrumb/scb-breadcrumb-item.js";
13
- import { SCBBreadcrumb as g } from "./scb-breadcrumb/scb-breadcrumb.js";
14
- import { ScbCalendarEvent as _ } from "./scb-calendar/scb-calendar-event.js";
15
- import { ScbDivider as v } from "./scb-divider/scb-divider.js";
16
- import { ScbTooltip as y } from "./scb-tooltip/scb-tooltip.js";
17
- import { ScbTextField as b } from "./scb-textfield/scb-textfield.js";
18
- import { ScbCheckboxGroup as x } from "./scb-checkbox/scb-checkbox-group.js";
19
- import { ScbCheckbox as S } from "./scb-checkbox/scb-checkbox.js";
20
- import { ScbRadioGroup as C } from "./scb-radio-button/scb-radio-group.js";
21
- import { ScbRadioButton as w } from "./scb-radio-button/scb-radio-button.js";
22
- import { ScbSwitch as T } from "./scb-switch/scb-switch.js";
23
- import { ScbChip as E } from "./scb-chip/scb-chip.js";
24
- import { ScbDialog as D } from "./scb-dialog/scb-dialog.js";
25
- import { ScbListItem as O } from "./scb-list/scb-list-item.js";
26
- import { ScbList as k } from "./scb-list/scb-list.js";
27
- import { ScbCalendar as A } from "./scb-calendar/scb-calendar.js";
28
- import { ScbCalendarCard as j } from "./scb-calendar-card/scb-calendar-card.js";
8
+ import { ScbIconButton as m } from "./scb-icon-button/scb-icon-button.js";
9
+ import { ScbSearch as h } from "./scb-search/scb-search.js";
10
+ import { ScbAvatar as g } from "./scb-avatar/scb-avatar.js";
11
+ import { ScbAppBar as _ } from "./scb-app-bar/scb-app-bar.js";
12
+ import { ScbBadge as v } from "./scb-badge/scb-badge.js";
13
+ import { ScbLink as y } from "./scb-link/scb-link.js";
14
+ import { SCBBreadcrumbItem as b } from "./scb-breadcrumb/scb-breadcrumb-item.js";
15
+ import { SCBBreadcrumb as x } from "./scb-breadcrumb/scb-breadcrumb.js";
16
+ import { ScbCalendarEvent as S } from "./scb-calendar/scb-calendar-event.js";
17
+ import { ScbDivider as C } from "./scb-divider/scb-divider.js";
18
+ import { ScbDatepicker as w } from "./scb-datepicker/scb-datepicker.js";
19
+ import { ScbTooltip as T } from "./scb-tooltip/scb-tooltip.js";
20
+ import { ScbTextField as E } from "./scb-textfield/scb-textfield.js";
21
+ import { ScbCheckboxGroup as D } from "./scb-checkbox/scb-checkbox-group.js";
22
+ import { ScbCheckbox as O } from "./scb-checkbox/scb-checkbox.js";
23
+ import { ScbRadioGroup as k } from "./scb-radio-button/scb-radio-group.js";
24
+ import { ScbRadioButton as A } from "./scb-radio-button/scb-radio-button.js";
25
+ import { ScbSwitch as j } from "./scb-switch/scb-switch.js";
26
+ import { ScbChip as M } from "./scb-chip/scb-chip.js";
27
+ import { ScbDialog as N } from "./scb-dialog/scb-dialog.js";
28
+ import { ScbListItem as P } from "./scb-list/scb-list-item.js";
29
+ import { ScbList as F } from "./scb-list/scb-list.js";
30
+ import { ScbCalendar as I } from "./scb-calendar/scb-calendar.js";
31
+ import { ScbCalendarCard as L } from "./scb-calendar-card/scb-calendar-card.js";
29
32
  import "./scb-card/scb-action-card.js";
30
33
  import "./scb-container-card/scb-container-card.js";
31
34
  import "./scb-card/scb-container-card.js";
@@ -35,64 +38,67 @@ import "./scb-list-card/scb-list-card.js";
35
38
  import "./scb-card/scb-list-card.js";
36
39
  import "./scb-social-card/scb-social-card.js";
37
40
  import "./scb-card/scb-social-card.js";
38
- import { ScbCollapse as M } from "./scb-collapse/scb-collapse.js";
39
- import { ScbCookiesConsent as N } from "./scb-cookies-consent/scb-cookies-consent.js";
40
- import { ScbDrawer as P } from "./scb-drawer/scb-drawer.js";
41
- import { ScbDropZone as F } from "./scb-drop-zone/scb-drop-zone.js";
42
- import { ScbOptionsMenuItem as I } from "./scb-options-menu/scb-options-menu-item.js";
43
- import { ScbOptionsSubMenu as L } from "./scb-options-menu/scb-options-sub-menu.js";
44
- import { ScbOptionsMenu as R } from "./scb-options-menu/scb-options-menu.js";
45
- import { ScbDropdown as z } from "./scb-dropdown/scb-dropdown.js";
46
- import { ScbFab as B } from "./scb-fab/scb-fab.js";
47
- import { ScbFactCardContent as V } from "./scb-fact-card/scb-fact-card-content.js";
48
- import { ScbFactCard as H } from "./scb-fact-card/scb-fact-card.js";
49
- import { ScbFooterSection as U } from "./scb-footer/scb-footer-section.js";
50
- import { ScbGridItem as W } from "./scb-grid/scb-grid-item.js";
51
- import { ScbStack as G } from "./scb-grid/scb-stack.js";
52
- import { ScbGrid as K } from "./scb-grid/scb-grid.js";
53
- import { ScbFooter as q } from "./scb-footer/scb-footer.js";
54
- import { ScbHorizontalScroller as J } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
55
- import { ScbOverlay as Y } from "./scb-overlay/scb-overlay.js";
56
- import { ScbGalleryGrid as X } from "./scb-gallery-grid/scb-gallery-grid.js";
57
- import { ScbHeaderMenuGroup as Z } from "./scb-header/scb-header-menu-group.js";
58
- import { ScbHeaderMenuItem as Q } from "./scb-header/scb-header-menu-item.js";
59
- import { ScbHeaderTab as $ } from "./scb-header/scb-header-tab.js";
60
- import { ScbHeaderUtility as ee } from "./scb-header/scb-header-utility.js";
61
- import { ScbHeader as te } from "./scb-header/scb-header.js";
62
- import { ScbKeyFigureCard as ne } from "./scb-keyfigure-card/scb-keyfigure-card.js";
63
- import { ScbMenuItem as re } from "./scb-menu/scb-menu-item.js";
64
- import { ScbmenuSection as ie } from "./scb-menu/scb-menu-section.js";
65
- import { ScbSubmenu as ae } from "./scb-menu/scb-sub-menu.js";
66
- import { ScbMenu as oe } from "./scb-menu/scb-menu.js";
67
- import { ScbNavItem as se } from "./scb-nav/scb-nav-item.js";
68
- import { ScbNav as ce } from "./scb-nav/scb-nav.js";
69
- import { ScbNotificationCard as le } from "./scb-notification-card/scb-notification-card.js";
70
- import { ScbPagination as ue } from "./scb-pagination/scb-pagination.js";
71
- import { ScbProgressIndicator as de } from "./scb-progress-indicator/scb-progress-indicator.js";
72
- import { ScbProgressStep as fe } from "./scb-progress-stepper/scb-progress-step.js";
73
- import { ScbProgressStepper as pe } from "./scb-progress-stepper/scb-progress-stepper.js";
74
- import { ScbScrollspy as me } from "./scb-scrollspy/scb-scrollspy.js";
75
- import { ScbSegmentedItem as he } from "./scb-segmented-button/scb-segmented-item.js";
76
- import { ScbSegmentedButton as ge } from "./scb-segmented-button/scb-segmented-button.js";
77
- import { ScbSelectOption as _e } from "./scb-select/scb-select-option.js";
78
- import { ScbSelect as ve } from "./scb-select/scb-select.js";
79
- import { ScbSkeleton as ye } from "./scb-skeleton/scb-skeleton.js";
80
- import { ScbSlider as be } from "./scb-slider/scb-slider.js";
81
- import { ScbSnackbar as xe } from "./scb-snackbar/scb-snackbar.js";
82
- import { ScbStatusPill as Se } from "./scb-status-pill/scb-status-pill.js";
83
- import { ScbStep as Ce } from "./scb-stepper/scb-step.js";
84
- import { ScbStepper as we } from "./scb-stepper/scb-stepper.js";
85
- import { ScbTable as Te } from "./scb-table/scb-table.js";
86
- import { ScbTableAdvanced as Ee } from "./scb-table-advanced/scb-table-advanced.js";
87
- import { ScbPrimaryTab as De } from "./scb-tabs/scb-primary-tab.js";
88
- import { ScbSecondaryTab as Oe } from "./scb-tabs/scb-secondary-tab.js";
89
- import { ScbTabs as ke } from "./scb-tabs/scb-tabs.js";
90
- import { ScbTocItem as Ae } from "./scb-toc/scb-toc-item.js";
91
- import { ScbToc as je } from "./scb-toc/scb-toc.js";
92
- 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";
93
- import { buildScbVizPrintDocumentHtml as We, buildScbVizPrintableFooterHtml as Ge, buildScbVizPrintableTableHtml as Ke } from "./scb-viz/scb-viz-print-runtime.js";
94
- 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";
95
- 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";
96
- import { buildScbVizResolvedTableView as vt, createScbVizCsvRows as yt, inferScbVizTableAlignments as bt, normalizeScbVizRenderableCell as xt, readScbVizTableDataFromSlot as St } from "./scb-viz/scb-viz-table-runtime.js";
97
- import { ScbViz as Ct } from "./scb-viz/scb-viz.js";
98
- export { g as SCBBreadcrumb, h as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, r as ScbActionCard, f as ScbAppBar, d as ScbAvatar, p as ScbBadge, t as ScbButton, A as ScbCalendar, j as ScbCalendarCard, _ as ScbCalendarEvent, i as ScbCard, S as ScbCheckbox, x as ScbCheckboxGroup, E as ScbChip, M as ScbCollapse, a as ScbContainerCard, N as ScbCookiesConsent, D as ScbDialog, v 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, te as ScbHeader, Z as ScbHeaderMenuGroup, Q as ScbHeaderMenuItem, $ as ScbHeaderTab, ee as ScbHeaderUtility, J as ScbHorizontalScroller, l as ScbIconButton, ne as ScbKeyFigureCard, m as ScbLink, o as ScbLinkCard, k as ScbList, s as ScbListCard, O as ScbListItem, oe as ScbMenu, re as ScbMenuItem, ce as ScbNav, se as ScbNavItem, le as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Y as ScbOverlay, ue as ScbPagination, De as ScbPrimaryTab, de as ScbProgressIndicator, fe as ScbProgressStep, pe as ScbProgressStepper, w as ScbRadioButton, C as ScbRadioGroup, me as ScbScrollspy, u as ScbSearch, Oe as ScbSecondaryTab, ge as ScbSegmentedButton, he as ScbSegmentedItem, ve as ScbSelect, _e as ScbSelectOption, ye as ScbSkeleton, be as ScbSlider, xe as ScbSnackbar, c as ScbSocialCard, G as ScbStack, Se as ScbStatusPill, Ce as ScbStep, we as ScbStepper, ae as ScbSubmenu, T as ScbSwitch, Te as ScbTable, Ee as ScbTableAdvanced, ke as ScbTabs, b as ScbTextField, je as ScbToc, Ae as ScbTocItem, y as ScbTooltip, Ct as ScbViz, ie 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 };
41
+ import { ScbCollapse as R } from "./scb-collapse/scb-collapse.js";
42
+ import { ScbCookiesConsent as z } from "./scb-cookies-consent/scb-cookies-consent.js";
43
+ import { ScbDrawer as B } from "./scb-drawer/scb-drawer.js";
44
+ import { ScbDropZone as V } from "./scb-drop-zone/scb-drop-zone.js";
45
+ import { ScbOptionsMenuItem as H } from "./scb-options-menu/scb-options-menu-item.js";
46
+ import { ScbOptionsSubMenu as U } from "./scb-options-menu/scb-options-sub-menu.js";
47
+ import { ScbOptionsMenu as W } from "./scb-options-menu/scb-options-menu.js";
48
+ import { ScbDropdown as G } from "./scb-dropdown/scb-dropdown.js";
49
+ import { ScbFab as K } from "./scb-fab/scb-fab.js";
50
+ import { ScbFactCardContent as q } from "./scb-fact-card/scb-fact-card-content.js";
51
+ import { ScbFactCard as J } from "./scb-fact-card/scb-fact-card.js";
52
+ import { ScbFooterSection as Y } from "./scb-footer/scb-footer-section.js";
53
+ import { ScbGridItem as X } from "./scb-grid/scb-grid-item.js";
54
+ import { ScbStack as Z } from "./scb-grid/scb-stack.js";
55
+ import { ScbGrid as Q } from "./scb-grid/scb-grid.js";
56
+ import { ScbFooter as $ } from "./scb-footer/scb-footer.js";
57
+ import { hasScbSvgIcon as ee, renderScbIcon as te } from "./shared/scb-icon-svg.js";
58
+ import { ScbHorizontalScroller as ne } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
59
+ import { ScbOverlay as re } from "./scb-overlay/scb-overlay.js";
60
+ import { ScbGalleryGrid as ie } from "./scb-gallery-grid/scb-gallery-grid.js";
61
+ import { ScbHeaderMenuGroup as ae } from "./scb-header/scb-header-menu-group.js";
62
+ import { ScbHeaderMenuItem as oe } from "./scb-header/scb-header-menu-item.js";
63
+ import { ScbHeaderTab as se } from "./scb-header/scb-header-tab.js";
64
+ import { ScbHeaderUtility as ce } from "./scb-header/scb-header-utility.js";
65
+ import { ScbHeader as le } from "./scb-header/scb-header.js";
66
+ import { ScbIcon as ue } from "./scb-icon/scb-icon.js";
67
+ import { ScbKeyFigureCard as de } from "./scb-keyfigure-card/scb-keyfigure-card.js";
68
+ import { ScbMenuItem as fe } from "./scb-menu/scb-menu-item.js";
69
+ import { ScbmenuSection as pe } from "./scb-menu/scb-menu-section.js";
70
+ import { ScbSubmenu as me } from "./scb-menu/scb-sub-menu.js";
71
+ import { ScbMenu as he } from "./scb-menu/scb-menu.js";
72
+ import { ScbNavItem as ge } from "./scb-nav/scb-nav-item.js";
73
+ import { ScbNav as _e } from "./scb-nav/scb-nav.js";
74
+ import { ScbNotificationCard as ve } from "./scb-notification-card/scb-notification-card.js";
75
+ import { ScbPagination as ye } from "./scb-pagination/scb-pagination.js";
76
+ import { ScbProgressIndicator as be } from "./scb-progress-indicator/scb-progress-indicator.js";
77
+ import { ScbProgressStep as xe } from "./scb-progress-stepper/scb-progress-step.js";
78
+ import { ScbProgressStepper as Se } from "./scb-progress-stepper/scb-progress-stepper.js";
79
+ import { ScbScrollspy as Ce } from "./scb-scrollspy/scb-scrollspy.js";
80
+ import { ScbSegmentedItem as we } from "./scb-segmented-button/scb-segmented-item.js";
81
+ import { ScbSegmentedButton as Te } from "./scb-segmented-button/scb-segmented-button.js";
82
+ import { ScbSelectOption as Ee } from "./scb-select/scb-select-option.js";
83
+ import { ScbSelect as De } from "./scb-select/scb-select.js";
84
+ import { ScbSkeleton as Oe } from "./scb-skeleton/scb-skeleton.js";
85
+ import { ScbSlider as ke } from "./scb-slider/scb-slider.js";
86
+ import { ScbSnackbar as Ae } from "./scb-snackbar/scb-snackbar.js";
87
+ import { ScbStatusPill as je } from "./scb-status-pill/scb-status-pill.js";
88
+ import { ScbStep as Me } from "./scb-stepper/scb-step.js";
89
+ import { ScbStepper as Ne } from "./scb-stepper/scb-stepper.js";
90
+ import { ScbTable as Pe } from "./scb-table/scb-table.js";
91
+ import { ScbTableAdvanced as Fe } from "./scb-table-advanced/scb-table-advanced.js";
92
+ import { ScbPrimaryTab as Ie } from "./scb-tabs/scb-primary-tab.js";
93
+ import { ScbSecondaryTab as Le } from "./scb-tabs/scb-secondary-tab.js";
94
+ import { ScbTabs as Re } from "./scb-tabs/scb-tabs.js";
95
+ import { ScbTocItem as ze } from "./scb-toc/scb-toc-item.js";
96
+ import { ScbToc as Be } from "./scb-toc/scb-toc.js";
97
+ import { buildScbVizExportFileName as Ve, createScbVizCsvBlob as He, createScbVizRasterBlobFromElement as Ue, createScbVizRasterDataUrlFromElement as We, downloadScbVizBlob as Ge, getScbVizCurrentFullscreenElement as Ke, getScbVizExportBaseFileName as qe, getScbVizFullscreenDocument as Je, isScbVizFullscreenSupported as Ye, openScbVizPrintFrame as Xe, runWithScbVizForcedPrintLightMode as Ze, toggleScbVizFullscreen as Qe } from "./scb-viz/scb-viz-actions-runtime.js";
98
+ import { buildScbVizPrintDocumentHtml as $e, buildScbVizPrintableFooterHtml as et, buildScbVizPrintableTableHtml as tt } from "./scb-viz/scb-viz-print-runtime.js";
99
+ import { appendScbVizSeriesDifferentiationPatternMarks as nt, getScbVizSeriesDifferentiationPatternDefinition as rt, getScbVizSeriesDifferentiationPatternKinds as it, getScbVizSeriesDifferentiationRegistry as at, getScbVizSeriesDifferentiationVariant as ot, scbVizSeriesDifferentiationRegistry as st } from "./scb-viz/scb-viz-series-differentiation-registry.js";
100
+ import { clearScbVizSeriesDifferentiationColorClass as ct, clearScbVizSeriesDifferentiationMetadata as lt, ensureScbVizGroupedSeriesDifferentiationStore as ut, ensureScbVizStyledModeSeriesPattern as dt, getScbVizGroupedSeriesDifferentiationKey as ft, getScbVizGroupedSeriesDifferentiationVariant as pt, getScbVizGroupedSeriesDifferentiationVariantIndex as mt, getScbVizHighchartsColorClassName as ht, getScbVizHighchartsSvgElement as gt, getScbVizHighchartsSvgRoot as _t, getScbVizLegendSeriesDifferentiationTargets as vt, getScbVizSeriesDifferentiationColorIndex as yt, getScbVizSeriesDifferentiationVariantByIndex as bt, isScbVizGroupedSeriesDifferentiationChart as xt, isScbVizHighchartsStyledMode as St, setScbVizSeriesDifferentiationColorClass as Ct, setScbVizSeriesDifferentiationMetadata as wt, shouldShowScbVizSeriesDifferentiationAction as Tt, usesScbVizGroupedPointDifferentiation as Et } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
101
+ import { buildScbVizResolvedTableView as Dt, createScbVizCsvRows as Ot, inferScbVizTableAlignments as kt, normalizeScbVizRenderableCell as At, readScbVizTableDataFromSlot as jt } from "./scb-viz/scb-viz-table-runtime.js";
102
+ import { ScbViz as Mt } from "./scb-viz/scb-viz.js";
103
+ import { ensureRippleReady as Nt, syncRippleToControl as Pt } from "./shared/lazy-ripple.js";
104
+ export { x as SCBBreadcrumb, b as SCBBreadcrumbItem, s as ScbAccordion, a as ScbAccordionItem, c as ScbActionCard, _ as ScbAppBar, g as ScbAvatar, v as ScbBadge, o as ScbButton, I as ScbCalendar, L as ScbCalendarCard, S as ScbCalendarEvent, l as ScbCard, O as ScbCheckbox, D as ScbCheckboxGroup, i as ScbChevron, M as ScbChip, R as ScbCollapse, u as ScbContainerCard, z as ScbCookiesConsent, w as ScbDatepicker, N as ScbDialog, C as ScbDivider, B as ScbDrawer, V as ScbDropZone, G as ScbDropdown, K as ScbFab, J as ScbFactCard, q as ScbFactCardContent, $ as ScbFooter, Y as ScbFooterSection, ie as ScbGalleryGrid, Q as ScbGrid, X as ScbGridItem, le as ScbHeader, ae as ScbHeaderMenuGroup, oe as ScbHeaderMenuItem, se as ScbHeaderTab, ce as ScbHeaderUtility, ne as ScbHorizontalScroller, ue as ScbIcon, m as ScbIconButton, de as ScbKeyFigureCard, y as ScbLink, d as ScbLinkCard, F as ScbList, f as ScbListCard, P as ScbListItem, he as ScbMenu, fe as ScbMenuItem, _e as ScbNav, ge as ScbNavItem, ve as ScbNotificationCard, W as ScbOptionsMenu, H as ScbOptionsMenuItem, U as ScbOptionsSubMenu, re as ScbOverlay, ye as ScbPagination, Ie as ScbPrimaryTab, be as ScbProgressIndicator, xe as ScbProgressStep, Se as ScbProgressStepper, A as ScbRadioButton, k as ScbRadioGroup, Ce as ScbScrollspy, h as ScbSearch, Le as ScbSecondaryTab, Te as ScbSegmentedButton, we as ScbSegmentedItem, De as ScbSelect, Ee as ScbSelectOption, Oe as ScbSkeleton, ke as ScbSlider, Ae as ScbSnackbar, p as ScbSocialCard, Z as ScbStack, je as ScbStatusPill, Me as ScbStep, Ne as ScbStepper, me as ScbSubmenu, j as ScbSwitch, Pe as ScbTable, Fe as ScbTableAdvanced, Re as ScbTabs, E as ScbTextField, Be as ScbToc, ze as ScbTocItem, T as ScbTooltip, Mt as ScbViz, pe as ScbmenuSection, e as addLazyFocusRingListeners, nt as appendScbVizSeriesDifferentiationPatternMarks, Ve as buildScbVizExportFileName, $e as buildScbVizPrintDocumentHtml, et as buildScbVizPrintableFooterHtml, tt as buildScbVizPrintableTableHtml, Dt as buildScbVizResolvedTableView, ct as clearScbVizSeriesDifferentiationColorClass, lt as clearScbVizSeriesDifferentiationMetadata, He as createScbVizCsvBlob, Ot as createScbVizCsvRows, Ue as createScbVizRasterBlobFromElement, We as createScbVizRasterDataUrlFromElement, Ge as downloadScbVizBlob, t as ensureFocusRingOnFocusVisible, n as ensureFocusRingOnTab, r as ensureFocusRingReady, Nt as ensureRippleReady, ut as ensureScbVizGroupedSeriesDifferentiationStore, dt as ensureScbVizStyledModeSeriesPattern, Ke as getScbVizCurrentFullscreenElement, qe as getScbVizExportBaseFileName, Je as getScbVizFullscreenDocument, ft as getScbVizGroupedSeriesDifferentiationKey, pt as getScbVizGroupedSeriesDifferentiationVariant, mt as getScbVizGroupedSeriesDifferentiationVariantIndex, ht as getScbVizHighchartsColorClassName, gt as getScbVizHighchartsSvgElement, _t as getScbVizHighchartsSvgRoot, vt as getScbVizLegendSeriesDifferentiationTargets, yt as getScbVizSeriesDifferentiationColorIndex, rt as getScbVizSeriesDifferentiationPatternDefinition, it as getScbVizSeriesDifferentiationPatternKinds, at as getScbVizSeriesDifferentiationRegistry, ot as getScbVizSeriesDifferentiationVariant, bt as getScbVizSeriesDifferentiationVariantByIndex, ee as hasScbSvgIcon, kt as inferScbVizTableAlignments, Ye as isScbVizFullscreenSupported, xt as isScbVizGroupedSeriesDifferentiationChart, St as isScbVizHighchartsStyledMode, At as normalizeScbVizRenderableCell, Xe as openScbVizPrintFrame, jt as readScbVizTableDataFromSlot, te as renderScbIcon, Ze as runWithScbVizForcedPrintLightMode, st as scbVizSeriesDifferentiationRegistry, Ct as setScbVizSeriesDifferentiationColorClass, wt as setScbVizSeriesDifferentiationMetadata, Tt as shouldShowScbVizSeriesDifferentiationAction, Pt as syncRippleToControl, Qe as toggleScbVizFullscreen, Et as usesScbVizGroupedPointDifferentiation };
@@ -18,10 +18,12 @@ import './scb-card/scb-list-card.js';
18
18
  import './scb-card/scb-social-card.js';
19
19
  import './scb-checkbox/scb-checkbox.js';
20
20
  import './scb-checkbox/scb-checkbox-group.js';
21
+ import './scb-chevron/scb-chevron.js';
21
22
  import './scb-chip/scb-chip.js';
22
23
  import './scb-collapse/scb-collapse.js';
23
24
  import './scb-container-card/scb-container-card.js';
24
25
  import './scb-cookies-consent/scb-cookies-consent.js';
26
+ import './scb-datepicker/scb-datepicker.js';
25
27
  import './scb-dialog/scb-dialog.js';
26
28
  import './scb-divider/scb-divider.js';
27
29
  import './scb-drawer/scb-drawer.js';
@@ -43,6 +45,7 @@ import './scb-header/scb-header-tab.js';
43
45
  import './scb-header/scb-header-utility.js';
44
46
  import './scb-horizontal-scroller/scb-horizontal-scroller.js';
45
47
  import './scb-icon-button/scb-icon-button.js';
48
+ import './scb-icon/scb-icon.js';
46
49
  import './scb-keyfigure-card/scb-keyfigure-card.js';
47
50
  import './scb-link-card/scb-link-card.js';
48
51
  import './scb-link/scb-link.js';
@@ -95,3 +98,6 @@ import './scb-viz/scb-viz-print-runtime.js';
95
98
  import './scb-viz/scb-viz-series-differentiation-registry.js';
96
99
  import './scb-viz/scb-viz-series-differentiation-runtime.js';
97
100
  import './scb-viz/scb-viz-table-runtime.js';
101
+ import './shared/lazy-focus-ring.js';
102
+ import './shared/lazy-ripple.js';
103
+ import './shared/scb-icon-svg.js';
@@ -1,4 +1,4 @@
1
- import{g as l,h as m,m as b,p as o,v as s,y as h}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import"../../vendor/ripple.js";import{n as u}from"../../vendor/lazy-focus-ring.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 m{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{g as l,h as m,m as b,p as o,v as s,y as h}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import"../../vendor/ripple.js";import{ensureFocusRingOnFocusVisible as u}from"../shared/lazy-focus-ring.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 m{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}
@@ -16,4 +16,4 @@ import{f as _,g as l,h as b,m as f,p as s,v as n,y}from"../../vendor/vendor.js";
16
16
  <div class="container" part="container" role="img" aria-label=${t??l}>
17
17
  ${this.variant==="icon"?o:c}
18
18
  </div>
19
- `}},h.styles=y`:host{display:inline-block;vertical-align:middle;margin-block-start:var(--scb-avatar-spacing-block-start, 0);margin-block-end:var(--scb-avatar-spacing-block-end, 0);margin-inline-start:var(--scb-avatar-spacing-inline-start, 0);margin-inline-end:var(--scb-avatar-spacing-inline-end, 0);--_size:40px;--_font-size:16px;--_bg:var(--md-sys-color-primary-fixed-dim, var(--md-sys-color-primary-container));--_fg:var(--md-sys-color-on-primary-fixed, var(--md-sys-color-on-primary-container));--_radius:var(--radius-full, 1000px);--_border:0 solid transparent;font-family:var(--brand-font, Inter, system-ui, sans-serif);color-scheme:light dark}:host([size="small"]){--_size:32px;--_font-size:var(--md-sys-typescale-label-medium-size, 14px)}:host([size="medium"]){--_size:40px;--_font-size:var(--md-sys-typescale-label-large-size, 16px)}:host([size="large"]){--_size:56px;--_font-size:var(--md-sys-typescale-title-large-size, 20px)}:host([size="xlarge"]){--_size:80px;--_font-size:var(--md-sys-typescale-headline-medium-size, 28px)}:host([shape="circular"]){--_radius:var(--radius-full, 1000px)}:host([shape="rounded"]){--_radius:var(--radius-s, 8px)}:host([shape="square"]){--_radius:0}.container{inline-size:var(--_size);block-size:var(--_size);border-radius:var(--_radius);position:relative;overflow:hidden;user-select:none;line-height:1;border:var(--_border);display:grid;place-items:center}:host([variant="image"]) .container{background:0 0}:host([variant="image"]) img.photo{width:100%;height:100%;object-fit:cover;display:block}:host([size="small"]){--_icon-size:var(--icon-size-small, 20px)}:host([size="medium"]){--_icon-size:var(--icon-size-medium, 24px)}:host([size="large"]){--_icon-size:var(--icon-size-large, 30px)}:host([size="xlarge"]){--_icon-size:var(--icon-size-xlarge, 48px)}:host([variant="icon"]) .container{background:var(--_bg);color:var(--_fg)}img.icon{width:var(--_icon-size);height:var(--_icon-size);object-fit:contain;display:block}.fallback{display:grid;place-items:center;width:100%;height:100%;font-size:var(--_font-size);font-weight:var(--weight-semibold, 600);letter-spacing:.01em;text-transform:uppercase;color:var(--_fg);background:var(--_bg)}:host([variant="image"]) .fallback{color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container)}::slotted([slot=icon]){width:var(--_icon-size);height:var(--_icon-size);line-height:1}:host(:focus-visible) .container{outline:var(--md-focus-ring-width, 2px) solid var(--md-focus-ring-color, var(--p-40));outline-offset:2px;border-radius:var(--_radius)}`,h);function u(){const r=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??r,i=this.mapSpacingToken(this.spacingBottom)??r,o=this.mapSpacingToken(this.spacingLeft)??r,c=this.mapSpacingToken(this.spacingRight)??r;t?this.style.setProperty("--scb-avatar-spacing-block-start",t):this.style.removeProperty("--scb-avatar-spacing-block-start"),i?this.style.setProperty("--scb-avatar-spacing-block-end",i):this.style.removeProperty("--scb-avatar-spacing-block-end"),o?this.style.setProperty("--scb-avatar-spacing-inline-start",o):this.style.removeProperty("--scb-avatar-spacing-inline-start"),c?this.style.setProperty("--scb-avatar-spacing-inline-end",c):this.style.removeProperty("--scb-avatar-spacing-inline-end")}a([s({type:String})],e.prototype,"src",void 0);a([s({type:String})],e.prototype,"alt",void 0);a([s({type:String})],e.prototype,"label",void 0);a([s({type:String,reflect:!0})],e.prototype,"size",void 0);a([s({type:String,reflect:!0})],e.prototype,"shape",void 0);a([s({type:String,attribute:"icon-name",reflect:!0})],e.prototype,"iconName",void 0);a([s({type:String,reflect:!0})],e.prototype,"variant",void 0);a([s({type:String,reflect:!0})],e.prototype,"spacing",void 0);a([s({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);a([s({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);a([s({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);a([s({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);a([_()],e.prototype,"_imgError",void 0);a([_()],e.prototype,"_hasIconSlot",void 0);e=a([f("scb-avatar")],e);export{e as ScbAvatar};
19
+ `}},h.styles=y`:host{display:inline-block;vertical-align:middle;margin-block-start:var(--scb-avatar-spacing-block-start, 0);margin-block-end:var(--scb-avatar-spacing-block-end, 0);margin-inline-start:var(--scb-avatar-spacing-inline-start, 0);margin-inline-end:var(--scb-avatar-spacing-inline-end, 0);--_size:40px;--_font-size:16px;--_bg:var(--md-sys-color-primary-fixed-dim, var(--md-sys-color-primary-container));--_fg:var(--md-sys-color-on-primary-fixed, var(--md-sys-color-on-primary-container));--_radius:var(--radius-full, 1000px);--_border:0 solid transparent;font-family:var(--brand-font, Inter, system-ui, sans-serif);color-scheme:light dark}:host([size="small"]){--_size:32px;--_font-size:var(--md-sys-typescale-label-medium-size, 14px)}:host([size="medium"]){--_size:40px;--_font-size:var(--md-sys-typescale-label-large-size, 16px)}:host([size="large"]){--_size:56px;--_font-size:var(--md-sys-typescale-title-large-size, 20px)}:host([size="extra-large"]),:host([size="xlarge"]){--_size:80px;--_font-size:var(--md-sys-typescale-headline-medium-size, 28px)}:host([shape="circular"]){--_radius:var(--radius-full, 1000px)}:host([shape="rounded"]){--_radius:var(--radius-s, 8px)}:host([shape="square"]){--_radius:0}.container{inline-size:var(--_size);block-size:var(--_size);border-radius:var(--_radius);position:relative;overflow:hidden;user-select:none;line-height:1;border:var(--_border);display:grid;place-items:center}:host([variant="image"]) .container{background:0 0}:host([variant="image"]) img.photo{width:100%;height:100%;object-fit:cover;display:block}:host([size="small"]){--_icon-size:var(--icon-size-small, 20px)}:host([size="medium"]){--_icon-size:var(--icon-size-medium, 24px)}:host([size="large"]){--_icon-size:var(--icon-size-large, 30px)}:host([size="extra-large"]),:host([size="xlarge"]){--_icon-size:var(--icon-size-extra-extra-large, 48px)}:host([variant="icon"]) .container{background:var(--_bg);color:var(--_fg)}img.icon{width:var(--_icon-size);height:var(--_icon-size);object-fit:contain;display:block}.fallback{display:grid;place-items:center;width:100%;height:100%;font-size:var(--_font-size);font-weight:var(--weight-semibold, 600);letter-spacing:.01em;text-transform:uppercase;color:var(--_fg);background:var(--_bg)}:host([variant="image"]) .fallback{color:var(--md-sys-color-on-primary-container);background:var(--md-sys-color-primary-container)}::slotted([slot=icon]){width:var(--_icon-size);height:var(--_icon-size);line-height:1}:host(:focus-visible) .container{outline:var(--md-focus-ring-width, 2px) solid var(--md-focus-ring-color, var(--p-40));outline-offset:2px;border-radius:var(--_radius)}`,h);function u(){const r=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??r,i=this.mapSpacingToken(this.spacingBottom)??r,o=this.mapSpacingToken(this.spacingLeft)??r,c=this.mapSpacingToken(this.spacingRight)??r;t?this.style.setProperty("--scb-avatar-spacing-block-start",t):this.style.removeProperty("--scb-avatar-spacing-block-start"),i?this.style.setProperty("--scb-avatar-spacing-block-end",i):this.style.removeProperty("--scb-avatar-spacing-block-end"),o?this.style.setProperty("--scb-avatar-spacing-inline-start",o):this.style.removeProperty("--scb-avatar-spacing-inline-start"),c?this.style.setProperty("--scb-avatar-spacing-inline-end",c):this.style.removeProperty("--scb-avatar-spacing-inline-end")}a([s({type:String})],e.prototype,"src",void 0);a([s({type:String})],e.prototype,"alt",void 0);a([s({type:String})],e.prototype,"label",void 0);a([s({type:String,reflect:!0})],e.prototype,"size",void 0);a([s({type:String,reflect:!0})],e.prototype,"shape",void 0);a([s({type:String,attribute:"icon-name",reflect:!0})],e.prototype,"iconName",void 0);a([s({type:String,reflect:!0})],e.prototype,"variant",void 0);a([s({type:String,reflect:!0})],e.prototype,"spacing",void 0);a([s({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);a([s({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);a([s({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);a([s({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);a([_()],e.prototype,"_imgError",void 0);a([_()],e.prototype,"_hasIconSlot",void 0);e=a([f("scb-avatar")],e);export{e as ScbAvatar};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/lazy-focus-ring.js","../../vendor/rolldown-runtime.js","../../vendor/preload-helper.js","../../vendor/lazy-ripple.js"])))=>i.map(i=>d[i]);
2
- import{g as s,h as C,m as w,p as o,v as c,y as N}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as x}from"../../vendor/preload-helper.js";import{t as a}from"../../vendor/decorate.js";import{n as z,t as y}from"../../vendor/assertClassBrand.js";(function(){try{var p=typeof globalThis<"u"?globalThis:window;if(!p.__scb_ce_guard_installed__){p.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,r){try{customElements.get(e)||t(e,i,r)}catch(b){var l=String(b||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw b}}}}catch{}})();var h,f,m;function P(){return f??(f=x(()=>import("../../vendor/lazy-focus-ring.js").then(p=>p.i),__vite__mapDeps([0,1,2]),import.meta.url)),f}function k(){return m??(m=x(()=>import("../../vendor/lazy-ripple.js"),__vite__mapDeps([3,2]),import.meta.url)),m}var n=(h=new WeakSet,class extends C{constructor(...t){super(...t),z(this,h),this.variant="filled",this.size="medium",this.type="button",this.label="Button",this.trailingIcon=!1,this.icon="",this.iconFilled=!1,this.disabled=!1,this.fullWidth=!1,this.href="",this.target="",this.rel="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__hasDefaultSlotContent=!1,this.__nativeFocusRingReady=!1,this.__nativeRippleReady=!1,this.__nativeRipplePendingClick=!1,this.__ensureNativeFocusRing=()=>{this.__nativeFocusRingReady||P().then(({ensureFocusRingReady:e})=>(e(),customElements.whenDefined("md-focus-ring"))).then(()=>{this.__nativeFocusRingReady=!0,this.toggleAttribute("data-native-focus-ring-ready",!0),this.requestUpdate(),this.updateComplete.then(()=>this.__syncNativeFocusRingControl())})},this.__onNativeFocusIn=e=>{const i=e.composedPath()[0];i instanceof HTMLElement&&i.matches(":focus-visible")&&this.__ensureNativeFocusRing()},this.__ensureNativeRipple=e=>{this.__nativeRippleReady||this.disabled||(e&&(this.__nativeRipplePendingPointerEvent=e),k().then(({ensureRippleReady:i})=>i()).then(()=>{this.disabled||(this.__nativeRippleReady=!0,this.requestUpdate(),this.updateComplete.then(()=>{this.__syncNativeFocusRingControl(),this.__replayNativeRippleState()}))}))},this.__onNativePointerWarmup=e=>{this.__ensureNativeRipple(e)},this.__onNativeClick=e=>{if(this.disabled){e.preventDefault(),e.stopPropagation();return}(!this.__nativeRippleReady||this.__nativeRipplePendingPointerEvent)&&(this.__nativeRipplePendingClick=!0,this.__ensureNativeRipple())}}__getNativeControl(){return this.renderRoot.querySelector(".native-button")}__handleDefaultSlotChange(t){const e=t.target.assignedNodes({flatten:!0}).some(i=>i.nodeType===Node.TEXT_NODE?!!i.textContent?.trim():i.nodeType===Node.ELEMENT_NODE);this.__hasDefaultSlotContent!==e&&(this.__hasDefaultSlotContent=e,this.requestUpdate()),this.updateComplete.then(()=>this.__syncAriaToInner())}__syncAriaToInner(){const t=this.__getNativeControl();t&&this.__syncAriaToControl(t)}__syncAriaToControl(t){const e=(this.getAttribute("aria-label")||"").trim(),i=this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"",r=e||i;r?t.setAttribute("aria-label",r):t.removeAttribute("aria-label");const l=this.getAttribute("aria-controls");l!==null?t.setAttribute("aria-controls",l):t.removeAttribute("aria-controls");const b=this.getAttribute("aria-expanded");b!==null?t.setAttribute("aria-expanded",b):t.removeAttribute("aria-expanded"),this.removeAttribute("aria-expanded"),this.__ariaObserver?.disconnect(),this.__ariaObserver=new MutationObserver(S=>{const u=this.__getNativeControl();if(u)for(const v of S){if(v.type!=="attributes"||!v.attributeName)continue;const d=v.attributeName,g=this.getAttribute(d);if(d==="aria-label"){const _=(g||(this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"")).trim();_?u.setAttribute("aria-label",_):u.removeAttribute("aria-label")}else(d==="aria-controls"||d==="aria-expanded")&&(g===null?u.removeAttribute(d):u.setAttribute(d,g),d==="aria-expanded"&&this.removeAttribute("aria-expanded"))}}),this.__ariaObserver.observe(this,{attributes:!0,attributeFilter:["aria-label","aria-controls","aria-expanded"]})}connectedCallback(){super.connectedCallback()}firstUpdated(){(this.type==="submit"||this.type==="reset")&&this.addEventListener("click",()=>{if(!this.disabled){const t=this.closest("form");t&&(this.type==="submit"&&t.requestSubmit(),this.type==="reset"&&t.reset())}}),y(h,this,R).call(this)}updated(t){(t.has("variant")||t.has("label")||t.has("icon")||t.has("href"))&&this.updateComplete.then(()=>this.__syncAriaToInner()),(this.__nativeFocusRingReady||this.__nativeRippleReady)&&this.updateComplete.then(()=>this.__syncNativeFocusRingControl()),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&y(h,this,R).call(this)}disconnectedCallback(){this.__ariaObserver?.disconnect(),super.disconnectedCallback()}__syncNativeFocusRingControl(){const t=this.renderRoot.querySelector("md-focus-ring"),e=this.__getNativeControl();t&&e&&(t.control=e,t.visible=e.matches(":focus-visible"));const i=this.renderRoot.querySelector("md-ripple");i&&e&&(i.control=e)}async __replayNativeRippleState(){const t=this.renderRoot.querySelector("md-ripple"),e=this.__getNativeControl(),i=this.__nativeRipplePendingPointerEvent,r=this.__nativeRipplePendingClick;this.__nativeRipplePendingPointerEvent=void 0,this.__nativeRipplePendingClick=!1;const{syncRippleToControl:l}=await k();await l(t,e,i,r)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}static get styles(){return N`:host,:host([size='small']){--scb-button-icon-size:var(--icon-size-small, 20px)}:host{display:inline-flex;block-size:var(--scb-button-block-size, auto);margin-block-start:var(--scb-button-spacing-block-start, 0);margin-block-end:var(--scb-button-spacing-block-end, 0);margin-inline-start:var(--scb-button-spacing-inline-start, 0);margin-inline-end:var(--scb-button-spacing-inline-end, 0);--scb-button-font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;--scb-button-padding-block:calc(var(--spacing-4) - var(--spacing-1));--scb-button-label-text-line-height:var(--md-sys-typescale-label-small-line-height);--scb-button-container-height:calc(
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../shared/lazy-focus-ring.js","../../vendor/preload-helper.js","../shared/lazy-ripple.js"])))=>i.map(i=>d[i]);
2
+ import{g as s,h as C,m as w,p as o,v as c,y as N}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as x}from"../../vendor/preload-helper.js";import{t as a}from"../../vendor/decorate.js";import{n as z,t as y}from"../../vendor/assertClassBrand.js";(function(){try{var d=typeof globalThis<"u"?globalThis:window;if(!d.__scb_ce_guard_installed__){d.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,i,r){try{customElements.get(e)||t(e,i,r)}catch(b){var l=String(b||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw b}}}}catch{}})();var h,f,m;function P(){return f??(f=x(()=>import("../shared/lazy-focus-ring.js"),__vite__mapDeps([0,1]),import.meta.url)),f}function k(){return m??(m=x(()=>import("../shared/lazy-ripple.js"),__vite__mapDeps([2,1]),import.meta.url)),m}var n=(h=new WeakSet,class extends C{constructor(...t){super(...t),z(this,h),this.variant="filled",this.size="medium",this.type="button",this.label="Button",this.trailingIcon=!1,this.icon="",this.iconFilled=!1,this.disabled=!1,this.fullWidth=!1,this.href="",this.target="",this.rel="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__hasDefaultSlotContent=!1,this.__nativeFocusRingReady=!1,this.__nativeRippleReady=!1,this.__nativeRipplePendingClick=!1,this.__ensureNativeFocusRing=()=>{this.__nativeFocusRingReady||P().then(({ensureFocusRingReady:e})=>(e(),customElements.whenDefined("md-focus-ring"))).then(()=>{this.__nativeFocusRingReady=!0,this.toggleAttribute("data-native-focus-ring-ready",!0),this.requestUpdate(),this.updateComplete.then(()=>this.__syncNativeFocusRingControl())})},this.__onNativeFocusIn=e=>{const i=e.composedPath()[0];i instanceof HTMLElement&&i.matches(":focus-visible")&&this.__ensureNativeFocusRing()},this.__ensureNativeRipple=e=>{this.__nativeRippleReady||this.disabled||(e&&(this.__nativeRipplePendingPointerEvent=e),k().then(({ensureRippleReady:i})=>i()).then(()=>{this.disabled||(this.__nativeRippleReady=!0,this.requestUpdate(),this.updateComplete.then(()=>{this.__syncNativeFocusRingControl(),this.__replayNativeRippleState()}))}))},this.__onNativePointerWarmup=e=>{this.__ensureNativeRipple(e)},this.__onNativeClick=e=>{if(this.disabled){e.preventDefault(),e.stopPropagation();return}(!this.__nativeRippleReady||this.__nativeRipplePendingPointerEvent)&&(this.__nativeRipplePendingClick=!0,this.__ensureNativeRipple())}}__getNativeControl(){return this.renderRoot.querySelector(".native-button")}__handleDefaultSlotChange(t){const e=t.target.assignedNodes({flatten:!0}).some(i=>i.nodeType===Node.TEXT_NODE?!!i.textContent?.trim():i.nodeType===Node.ELEMENT_NODE);this.__hasDefaultSlotContent!==e&&(this.__hasDefaultSlotContent=e,this.requestUpdate()),this.updateComplete.then(()=>this.__syncAriaToInner())}__syncAriaToInner(){const t=this.__getNativeControl();t&&this.__syncAriaToControl(t)}__syncAriaToControl(t){const e=(this.getAttribute("aria-label")||"").trim(),i=this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"",r=e||i;r?t.setAttribute("aria-label",r):t.removeAttribute("aria-label");const l=this.getAttribute("aria-controls");l!==null?t.setAttribute("aria-controls",l):t.removeAttribute("aria-controls");const b=this.getAttribute("aria-expanded");b!==null?t.setAttribute("aria-expanded",b):t.removeAttribute("aria-expanded"),this.removeAttribute("aria-expanded"),this.__ariaObserver?.disconnect(),this.__ariaObserver=new MutationObserver(S=>{const u=this.__getNativeControl();if(u)for(const v of S){if(v.type!=="attributes"||!v.attributeName)continue;const p=v.attributeName,g=this.getAttribute(p);if(p==="aria-label"){const _=(g||(this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"")).trim();_?u.setAttribute("aria-label",_):u.removeAttribute("aria-label")}else(p==="aria-controls"||p==="aria-expanded")&&(g===null?u.removeAttribute(p):u.setAttribute(p,g),p==="aria-expanded"&&this.removeAttribute("aria-expanded"))}}),this.__ariaObserver.observe(this,{attributes:!0,attributeFilter:["aria-label","aria-controls","aria-expanded"]})}connectedCallback(){super.connectedCallback()}firstUpdated(){(this.type==="submit"||this.type==="reset")&&this.addEventListener("click",()=>{if(!this.disabled){const t=this.closest("form");t&&(this.type==="submit"&&t.requestSubmit(),this.type==="reset"&&t.reset())}}),y(h,this,R).call(this)}updated(t){(t.has("variant")||t.has("label")||t.has("icon")||t.has("href"))&&this.updateComplete.then(()=>this.__syncAriaToInner()),(this.__nativeFocusRingReady||this.__nativeRippleReady)&&this.updateComplete.then(()=>this.__syncNativeFocusRingControl()),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&y(h,this,R).call(this)}disconnectedCallback(){this.__ariaObserver?.disconnect(),super.disconnectedCallback()}__syncNativeFocusRingControl(){const t=this.renderRoot.querySelector("md-focus-ring"),e=this.__getNativeControl();t&&e&&(t.control=e,t.visible=e.matches(":focus-visible"));const i=this.renderRoot.querySelector("md-ripple");i&&e&&(i.control=e)}async __replayNativeRippleState(){const t=this.renderRoot.querySelector("md-ripple"),e=this.__getNativeControl(),i=this.__nativeRipplePendingPointerEvent,r=this.__nativeRipplePendingClick;this.__nativeRipplePendingPointerEvent=void 0,this.__nativeRipplePendingClick=!1;const{syncRippleToControl:l}=await k();await l(t,e,i,r)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}static get styles(){return N`:host,:host([size='small']){--scb-button-icon-size:var(--icon-size-small, 20px)}:host{display:inline-flex;block-size:var(--scb-button-block-size, auto);margin-block-start:var(--scb-button-spacing-block-start, 0);margin-block-end:var(--scb-button-spacing-block-end, 0);margin-inline-start:var(--scb-button-spacing-inline-start, 0);margin-inline-end:var(--scb-button-spacing-inline-end, 0);--scb-button-font-variation-settings:'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;--scb-button-padding-block:calc(var(--spacing-4) - var(--spacing-1));--scb-button-label-text-line-height:var(--md-sys-typescale-label-small-line-height);--scb-button-container-height:calc(
3
3
  var(--scb-button-label-text-line-height) + var(--scb-button-padding-block) + var(--scb-button-padding-block)
4
4
  );--scb-button-padding-inline:var(--spacing-5);--scb-button-icon-edge-space:var(--spacing-5);--scb-button-icon-gap:var(--spacing-3)}:host([size='small']){--scb-button-padding-block:calc(var(--spacing-3) - var(--spacing-1));--scb-button-padding-inline:var(--spacing-4);--scb-button-icon-edge-space:var(--spacing-4);--scb-button-icon-gap:var(--spacing-2)}:host([size='large']){--scb-button-padding-block:var(--spacing-5);--scb-button-label-text-line-height:var(--md-sys-typescale-label-medium-line-height);--scb-button-padding-inline:var(--spacing-7);--scb-button-icon-edge-space:var(--spacing-7);--scb-button-icon-gap:var(--spacing-3);--scb-button-icon-size:var(--icon-size-medium, 24px)}:host([icon-filled]){--scb-button-font-variation-settings:'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24}.native-button,.native-button-wrap{position:relative;display:inline-flex}.native-button-wrap{border-radius:var(--md-sys-shape-corner-full, 999px)}.native-button{z-index:0;box-sizing:border-box;align-items:center;justify-content:center;gap:var(--scb-button-icon-gap);min-block-size:var(--scb-button-block-size, var(--scb-button-container-height));block-size:var(--scb-button-block-size, var(--scb-button-container-height));min-inline-size:64px;inline-size:auto;padding-block:var(--scb-button-padding-block);padding-inline:var(--scb-button-padding-inline);overflow:hidden;border:0;border-radius:inherit;background:0 0;color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:normal;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;appearance:none;-webkit-appearance:none;touch-action:manipulation}.native-button::before{content:"";position:absolute;inset:0;z-index:-1;background:currentColor;opacity:0;pointer-events:none;transition:opacity var(--motion-duration-short, 150ms) var(--motion-easing-standard, ease)}.native-button:hover::before{opacity:var(--md-sys-state-hover-state-layer-opacity, 0.08)}.native-button:active::before{opacity:var(--md-sys-state-pressed-state-layer-opacity, 0.12)}.native-button:focus{outline:0}:host(:not([data-native-focus-ring-ready])) .native-button:focus-visible{outline:var(--stroke-border-m, 2px) solid var(--md-sys-color-primary);outline-offset:var(--spacing-1, 2px)}.native-button:disabled,.native-button[aria-disabled=true]{color:rgb(15 8 101/38%);cursor:default;opacity:1;pointer-events:none}:host(:not([variant])) .native-button,:host([variant='filled']) .native-button{border-color:transparent;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}:host([variant='outlined']) .native-button{background:0 0;color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 var(--stroke-border, 1px) var(--md-sys-color-outline)}:host([variant='outlined']) .native-button:disabled,:host([variant='outlined']) .native-button[aria-disabled=true]{color:rgb(15 8 101/38%);box-shadow:inset 0 0 0 var(--stroke-border, 1px) rgb(15 8 101/12%)}:host([variant='filled-tonal']) .native-button{border-color:transparent;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}:host(:not([variant])) .native-button:disabled,:host(:not([variant])) .native-button[aria-disabled=true],:host([variant='filled']) .native-button:disabled,:host([variant='filled']) .native-button[aria-disabled=true],:host([variant='filled-tonal']) .native-button:disabled,:host([variant='filled-tonal']) .native-button[aria-disabled=true]{background:rgb(15 8 101/12%);color:rgb(15 8 101/38%)}:host([variant='text']) .native-button{min-inline-size:0;background:0 0;color:var(--md-sys-color-primary)}:host([variant='text']) .native-button:disabled,:host([variant='text']) .native-button[aria-disabled=true]{color:rgb(15 8 101/38%)}:host([size='large']) .native-button{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);font-weight:var(--md-sys-typescale-label-medium-weight);line-height:var(--md-sys-typescale-label-medium-line-height);letter-spacing:normal}.native-icon{flex:0 0 auto;display:inline-block;inline-size:var(--scb-button-icon-size);block-size:var(--scb-button-icon-size);overflow:hidden;font-family:"Material Symbols Outlined";font-size:var(--scb-button-icon-size);line-height:1;text-align:center;white-space:nowrap;text-transform:none;word-wrap:normal;direction:ltr;font-feature-settings:"liga"1;font-variation-settings:var(--scb-button-font-variation-settings);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.native-icon.scb-svg-icon{fill:currentColor;font:inherit}.native-button-wrap md-ripple{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.native-button-wrap md-focus-ring{pointer-events:none}:host([full-width]){display:flex;inline-size:100%}:host([full-width]) .native-button,:host([full-width]) .native-button-wrap{inline-size:100%;flex:1 1 auto}`}render(){const t=!!this.icon?.trim(),e=t?c`<span class="native-icon" part="icon" aria-hidden="true">${this.icon}</span>`:s,i=this.label.trim()===""&&!this.__hasDefaultSlotContent?this.icon:void 0,r=c`
5
5
  <slot
@@ -48,4 +48,4 @@ import{g as s,h as C,m as w,p as o,v as c,y as N}from"../../vendor/vendor.js";im
48
48
  ${this.__nativeRippleReady?c`<md-ripple aria-hidden="true"></md-ripple>`:s}
49
49
  ${this.__nativeFocusRingReady?c`<md-focus-ring aria-hidden="true"></md-focus-ring>`:s}
50
50
  </span>
51
- `}});function R(){const p=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??p,e=this.mapSpacingToken(this.spacingBottom)??p,i=this.mapSpacingToken(this.spacingLeft),r=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-button-spacing-block-start",t):this.style.removeProperty("--scb-button-spacing-block-start"),e?this.style.setProperty("--scb-button-spacing-block-end",e):this.style.removeProperty("--scb-button-spacing-block-end"),i?this.style.setProperty("--scb-button-spacing-inline-start",i):this.style.removeProperty("--scb-button-spacing-inline-start"),r?this.style.setProperty("--scb-button-spacing-inline-end",r):this.style.removeProperty("--scb-button-spacing-inline-end")}a([o({type:String,reflect:!0})],n.prototype,"variant",void 0);a([o({type:String,reflect:!0})],n.prototype,"size",void 0);a([o({type:String,reflect:!0})],n.prototype,"type",void 0);a([o({type:String})],n.prototype,"label",void 0);a([o({type:Boolean,attribute:"trailing-icon"})],n.prototype,"trailingIcon",void 0);a([o({type:String})],n.prototype,"icon",void 0);a([o({type:Boolean,attribute:"icon-filled",reflect:!0})],n.prototype,"iconFilled",void 0);a([o({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0);a([o({type:Boolean,attribute:"full-width",reflect:!0})],n.prototype,"fullWidth",void 0);a([o({type:String})],n.prototype,"href",void 0);a([o({type:String})],n.prototype,"target",void 0);a([o({type:String})],n.prototype,"rel",void 0);a([o({type:String,reflect:!0})],n.prototype,"spacing",void 0);a([o({type:String,attribute:"spacing-top",reflect:!0})],n.prototype,"spacingTop",void 0);a([o({type:String,attribute:"spacing-bottom",reflect:!0})],n.prototype,"spacingBottom",void 0);a([o({type:String,attribute:"spacing-left",reflect:!0})],n.prototype,"spacingLeft",void 0);a([o({type:String,attribute:"spacing-right",reflect:!0})],n.prototype,"spacingRight",void 0);n=a([w("scb-button")],n);export{n as ScbButton};
51
+ `}});function R(){const d=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??d,e=this.mapSpacingToken(this.spacingBottom)??d,i=this.mapSpacingToken(this.spacingLeft),r=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-button-spacing-block-start",t):this.style.removeProperty("--scb-button-spacing-block-start"),e?this.style.setProperty("--scb-button-spacing-block-end",e):this.style.removeProperty("--scb-button-spacing-block-end"),i?this.style.setProperty("--scb-button-spacing-inline-start",i):this.style.removeProperty("--scb-button-spacing-inline-start"),r?this.style.setProperty("--scb-button-spacing-inline-end",r):this.style.removeProperty("--scb-button-spacing-inline-end")}a([o({type:String,reflect:!0})],n.prototype,"variant",void 0);a([o({type:String,reflect:!0})],n.prototype,"size",void 0);a([o({type:String,reflect:!0})],n.prototype,"type",void 0);a([o({type:String})],n.prototype,"label",void 0);a([o({type:Boolean,attribute:"trailing-icon"})],n.prototype,"trailingIcon",void 0);a([o({type:String})],n.prototype,"icon",void 0);a([o({type:Boolean,attribute:"icon-filled",reflect:!0})],n.prototype,"iconFilled",void 0);a([o({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0);a([o({type:Boolean,attribute:"full-width",reflect:!0})],n.prototype,"fullWidth",void 0);a([o({type:String})],n.prototype,"href",void 0);a([o({type:String})],n.prototype,"target",void 0);a([o({type:String})],n.prototype,"rel",void 0);a([o({type:String,reflect:!0})],n.prototype,"spacing",void 0);a([o({type:String,attribute:"spacing-top",reflect:!0})],n.prototype,"spacingTop",void 0);a([o({type:String,attribute:"spacing-bottom",reflect:!0})],n.prototype,"spacingBottom",void 0);a([o({type:String,attribute:"spacing-left",reflect:!0})],n.prototype,"spacingLeft",void 0);a([o({type:String,attribute:"spacing-right",reflect:!0})],n.prototype,"spacingRight",void 0);n=a([w("scb-button")],n);export{n as ScbButton};