scb-wc 0.1.156 → 0.1.158

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 (210) hide show
  1. package/README.md +53 -157
  2. package/_virtual/{_@oxc-project_runtime@0.126.0/helpers → _@oxc-project_runtime@0.139.0/helpers/esm}/decorate.js +2 -2
  3. package/component-defaults.js +2 -0
  4. package/index.js +9 -9
  5. package/mvc/components/scb-accordion/scb-accordion-item.js +11 -11
  6. package/mvc/components/scb-accordion/scb-accordion.js +3 -3
  7. package/mvc/components/scb-app-bar/scb-app-bar.js +18 -58
  8. package/mvc/components/scb-avatar/scb-avatar.js +9 -9
  9. package/mvc/components/scb-badge/scb-badge.js +6 -6
  10. package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +2 -2
  11. package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +13 -13
  12. package/mvc/components/scb-button/scb-button.js +18 -18
  13. package/mvc/components/scb-calendar/scb-calendar.js +36 -35
  14. package/mvc/components/scb-calendar-card/scb-calendar-card.js +16 -16
  15. package/mvc/components/scb-card/scb-card.js +31 -31
  16. package/mvc/components/scb-checkbox/scb-checkbox-group.js +9 -9
  17. package/mvc/components/scb-checkbox/scb-checkbox.js +13 -13
  18. package/mvc/components/scb-chip/scb-chip.js +6 -6
  19. package/mvc/components/scb-collapse/scb-collapse.js +9 -9
  20. package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +3 -3
  21. package/mvc/components/scb-datepicker/scb-datepicker.js +30 -30
  22. package/mvc/components/scb-dialog/scb-dialog.js +26 -19
  23. package/mvc/components/scb-divider/scb-divider.js +1 -1
  24. package/mvc/components/scb-drawer/scb-drawer.js +3 -7
  25. package/mvc/components/scb-drop-zone/scb-drop-zone.js +19 -19
  26. package/mvc/components/scb-dropdown/scb-dropdown.js +8 -8
  27. package/mvc/components/scb-fab/scb-fab.js +15 -5
  28. package/mvc/components/scb-fact-card/scb-fact-card-content.js +7 -7
  29. package/mvc/components/scb-fact-card/scb-fact-card.js +6 -6
  30. package/mvc/components/scb-footer/scb-footer.js +13 -13
  31. package/mvc/components/scb-form-error-summary/scb-form-error-summary.js +3 -3
  32. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +3 -3
  33. package/mvc/components/scb-grid/scb-grid.js +1 -1
  34. package/mvc/components/scb-grid/scb-stack.js +1 -1
  35. package/mvc/components/scb-header/scb-header.js +75 -59
  36. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +2 -2
  37. package/mvc/components/scb-icon/scb-icon.js +3 -3
  38. package/mvc/components/scb-icon-button/scb-icon-button.js +11 -11
  39. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +21 -21
  40. package/mvc/components/scb-link/scb-link.js +5 -5
  41. package/mvc/components/scb-list/scb-list-item.js +22 -22
  42. package/mvc/components/scb-list/scb-list.js +2 -2
  43. package/mvc/components/scb-menu/scb-menu-item.js +18 -18
  44. package/mvc/components/scb-menu/scb-menu-section.js +3 -3
  45. package/mvc/components/scb-menu/scb-menu.js +3 -3
  46. package/mvc/components/scb-nav/scb-nav.js +10 -10
  47. package/mvc/components/scb-notification-card/scb-notification-card.js +18 -18
  48. package/mvc/components/scb-options-menu/scb-options-menu-item.js +9 -9
  49. package/mvc/components/scb-options-menu/scb-options-menu.js +3 -3
  50. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +2 -2
  51. package/mvc/components/scb-overlay/scb-overlay.js +4 -4
  52. package/mvc/components/scb-pagination/scb-pagination.js +25 -25
  53. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +7 -8
  54. package/mvc/components/scb-progress-stepper/scb-progress-step.js +2 -2
  55. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +2 -2
  56. package/mvc/components/scb-radio-button/scb-radio-button.js +7 -7
  57. package/mvc/components/scb-radio-button/scb-radio-group.js +4 -4
  58. package/mvc/components/scb-scrollspy/scb-scrollspy.js +2 -2
  59. package/mvc/components/scb-search/scb-search.js +15 -15
  60. package/mvc/components/scb-segmented-button/scb-segmented-button.js +1 -1
  61. package/mvc/components/scb-segmented-button/scb-segmented-item.js +3 -3
  62. package/mvc/components/scb-select/scb-select-option.js +5 -5
  63. package/mvc/components/scb-select/scb-select.js +15 -15
  64. package/mvc/components/scb-skeleton/scb-skeleton.js +2 -2
  65. package/mvc/components/scb-slider/scb-slider.js +1 -1
  66. package/mvc/components/scb-snackbar/scb-snackbar.js +6 -6
  67. package/mvc/components/scb-status-pill/scb-status-pill.js +3 -3
  68. package/mvc/components/scb-stepper/scb-step.js +5 -5
  69. package/mvc/components/scb-stepper/scb-stepper.js +2 -2
  70. package/mvc/components/scb-switch/scb-switch.js +4 -4
  71. package/mvc/components/scb-table/scb-table.js +2 -2
  72. package/mvc/components/scb-table-advanced/scb-table-advanced.js +5 -5
  73. package/mvc/components/scb-tabs/scb-primary-tab.js +2 -2
  74. package/mvc/components/scb-tabs/scb-secondary-tab.js +2 -2
  75. package/mvc/components/scb-tabs/scb-tabs.js +4 -4
  76. package/mvc/components/scb-textfield/scb-textfield.js +57 -31
  77. package/mvc/components/scb-toc/scb-toc-item.js +7 -7
  78. package/mvc/components/scb-toc/scb-toc.js +2 -2
  79. package/mvc/components/scb-tooltip/scb-tooltip.js +8 -8
  80. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -2
  81. package/mvc/components/scb-viz/scb-viz-print-runtime.js +12 -8
  82. package/mvc/components/scb-viz/scb-viz.js +41 -41
  83. package/mvc/components/shared/lazy-focus-ring.js +1 -1
  84. package/mvc/components/shared/lazy-ripple.js +1 -1
  85. package/mvc/scb-compact.css +1 -1
  86. package/mvc/scb-logo.svg +20 -20
  87. package/mvc/scb-typography.css +1 -1
  88. package/mvc/scb-wc-core.css +1 -1
  89. package/mvc/scb-wc-selfhost.css +1 -1
  90. package/mvc/scb-wc.css +1 -1
  91. package/mvc/scb.svg +13 -13
  92. package/mvc/vendor/component-defaults.js +1 -1
  93. package/mvc/vendor/preload-helper.js +1 -1
  94. package/mvc/vendor/runtime-colors.js +1 -0
  95. package/mvc/vendor/scb-card-variants.internal.js +122 -76
  96. package/mvc/vendor/scb-header-drawer.internal.js +1 -1
  97. package/mvc/vendor/vendor.js +3 -3
  98. package/package.json +3 -2
  99. package/scb-accordion/scb-accordion-item.js +183 -48
  100. package/scb-accordion/scb-accordion.js +32 -22
  101. package/scb-action-card/scb-action-card.js +2 -1
  102. package/scb-app-bar/scb-app-bar.js +239 -139
  103. package/scb-avatar/scb-avatar.js +75 -27
  104. package/scb-badge/scb-badge.js +17 -15
  105. package/scb-breadcrumb/scb-breadcrumb-item.js +25 -16
  106. package/scb-breadcrumb/scb-breadcrumb.js +32 -21
  107. package/scb-button/scb-button.js +171 -66
  108. package/scb-calendar/scb-calendar-event.js +1 -1
  109. package/scb-calendar/scb-calendar.js +140 -74
  110. package/scb-calendar-card/scb-calendar-card.js +197 -103
  111. package/scb-card/scb-card-variants.internal.js +1 -1
  112. package/scb-card/scb-card.js +433 -241
  113. package/scb-checkbox/scb-checkbox-group.js +56 -41
  114. package/scb-checkbox/scb-checkbox.js +73 -39
  115. package/scb-chevron/scb-chevron.js +1 -1
  116. package/scb-chip/scb-chip.js +62 -39
  117. package/scb-collapse/scb-collapse.js +19 -15
  118. package/scb-compact.css +1 -1
  119. package/scb-components/scb-app-bar/scb-app-bar.d.ts +9 -2
  120. package/scb-components/scb-button/scb-button.d.ts +14 -1
  121. package/scb-components/scb-calendar/scb-calendar.d.ts +5 -0
  122. package/scb-components/scb-card/scb-card.d.ts +2 -0
  123. package/scb-components/scb-chip/scb-chip.d.ts +0 -4
  124. package/scb-components/scb-dialog/scb-dialog.d.ts +30 -0
  125. package/scb-components/scb-grid/scb-grid.d.ts +4 -1
  126. package/scb-components/scb-nav/scb-nav.d.ts +1 -1
  127. package/scb-components/scb-overlay/scb-overlay.d.ts +1 -1
  128. package/scb-components/scb-segmented-button/scb-segmented-button.d.ts +8 -7
  129. package/scb-components/scb-segmented-button/scb-segmented-item.d.ts +5 -2
  130. package/scb-components/scb-skeleton/scb-skeleton.d.ts +6 -3
  131. package/scb-components/scb-textfield/scb-textfield.d.ts +8 -0
  132. package/scb-cookies-consent/scb-cookies-consent.js +27 -21
  133. package/scb-datepicker/scb-datepicker.js +64 -61
  134. package/scb-dialog/scb-dialog.js +320 -86
  135. package/scb-divider/scb-divider.js +16 -19
  136. package/scb-drawer/scb-drawer.js +5 -11
  137. package/scb-drop-zone/scb-drop-zone.js +138 -101
  138. package/scb-dropdown/scb-dropdown.js +37 -23
  139. package/scb-fab/scb-fab.js +42 -31
  140. package/scb-fact-card/scb-fact-card-content.js +106 -19
  141. package/scb-fact-card/scb-fact-card.js +148 -55
  142. package/scb-footer/scb-footer-section.js +1 -1
  143. package/scb-footer/scb-footer.js +37 -43
  144. package/scb-form-error-summary/scb-form-error-summary.js +18 -12
  145. package/scb-gallery-grid/scb-gallery-grid.js +24 -24
  146. package/scb-grid/scb-grid-item.js +1 -1
  147. package/scb-grid/scb-grid.js +6 -6
  148. package/scb-grid/scb-stack.js +4 -4
  149. package/scb-header/scb-header-drawer.internal.js +1 -1
  150. package/scb-header/scb-header-menu-item.js +1 -1
  151. package/scb-header/scb-header-tab.js +1 -1
  152. package/scb-header/scb-header.js +327 -150
  153. package/scb-horizontal-scroller/scb-horizontal-scroller.js +24 -49
  154. package/scb-icon/scb-icon.js +18 -18
  155. package/scb-icon-button/scb-icon-button.js +58 -52
  156. package/scb-keyfigure-card/scb-keyfigure-card.js +178 -60
  157. package/scb-link/scb-link.js +15 -9
  158. package/scb-list/scb-list-item.js +107 -51
  159. package/scb-list/scb-list.js +19 -14
  160. package/scb-menu/scb-menu-item.js +35 -17
  161. package/scb-menu/scb-menu-section.js +15 -10
  162. package/scb-menu/scb-menu.js +25 -15
  163. package/scb-menu/scb-sub-menu.js +1 -1
  164. package/scb-nav/scb-nav-item.js +1 -1
  165. package/scb-nav/scb-nav.js +36 -61
  166. package/scb-notification-card/scb-notification-card.js +196 -99
  167. package/scb-options-menu/scb-options-menu-item.js +25 -18
  168. package/scb-options-menu/scb-options-menu.js +61 -42
  169. package/scb-options-menu/scb-options-sub-menu.js +9 -9
  170. package/scb-overlay/scb-overlay.js +4 -3
  171. package/scb-pagination/scb-pagination.js +65 -37
  172. package/scb-progress-indicator/scb-progress-indicator.js +23 -20
  173. package/scb-progress-stepper/scb-progress-step.js +5 -5
  174. package/scb-progress-stepper/scb-progress-stepper.js +5 -4
  175. package/scb-radio-button/scb-radio-button.js +64 -30
  176. package/scb-radio-button/scb-radio-group.js +34 -33
  177. package/scb-scrollspy/scb-scrollspy.js +8 -5
  178. package/scb-search/scb-search.js +148 -60
  179. package/scb-segmented-button/scb-segmented-button.js +83 -21
  180. package/scb-segmented-button/scb-segmented-item.js +23 -16
  181. package/scb-select/scb-select-option.js +36 -12
  182. package/scb-select/scb-select.js +260 -99
  183. package/scb-skeleton/scb-skeleton.js +11 -4
  184. package/scb-slider/scb-slider.js +24 -27
  185. package/scb-snackbar/scb-snackbar.js +16 -16
  186. package/scb-status-pill/scb-status-pill.js +9 -8
  187. package/scb-stepper/scb-step.js +23 -21
  188. package/scb-stepper/scb-stepper.js +61 -32
  189. package/scb-switch/scb-switch.js +31 -14
  190. package/scb-table/scb-table.js +16 -14
  191. package/scb-table-advanced/scb-table-advanced.js +21 -17
  192. package/scb-tabs/scb-primary-tab.js +30 -1
  193. package/scb-tabs/scb-secondary-tab.js +16 -1
  194. package/scb-tabs/scb-tabs.js +17 -2
  195. package/scb-textfield/scb-textfield.js +308 -143
  196. package/scb-toc/scb-toc-item.js +115 -56
  197. package/scb-toc/scb-toc.js +1 -1
  198. package/scb-tooltip/scb-tooltip.js +12 -15
  199. package/scb-typography.css +1 -1
  200. package/scb-viz/scb-viz-actions-runtime.js +47 -46
  201. package/scb-viz/scb-viz-print-runtime.js +28 -23
  202. package/scb-viz/scb-viz.js +32 -31
  203. package/scb-wc-core.css +1 -1
  204. package/scb-wc-selfhost.css +1 -1
  205. package/scb-wc.bundle.js +4940 -2893
  206. package/scb-wc.css +1 -1
  207. package/shared/scb-icon-svg.js +1 -1
  208. package/tokens/generated/runtime-colors.js +12 -0
  209. package/scb-components/scb-card/scb-card-variants.internal.d.ts +0 -15
  210. package/scb-components/scb-header/scb-header-drawer.internal.d.ts +0 -33
package/README.md CHANGED
@@ -3,13 +3,9 @@
3
3
  > ⚠️ **Previewkanal**
4
4
  > Installera `scb-wc` via `@next` för komponenter under utveckling. API, utseende och beteende kan ändras eller tas bort mellan versioner.
5
5
 
6
- SCB Web Components preview finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
6
+ SCB Web Components preview innehåller SCB:s gemensamma webbkomponenter.
7
7
 
8
- Komponenterna bygger på:
9
- - [Lit](https://lit.dev/)
10
- - [Material Web Components](https://material-web.dev/about/intro/)
11
-
12
- ## Storybook och dokumentation (internt)
8
+ ## Dokumentation
13
9
 
14
10
  Previewkomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna testadress:
15
11
 
@@ -19,153 +15,92 @@ Den publika/stabila Storybooken finns på:
19
15
 
20
16
  - Prod: <https://webcomponents.scb.intra>
21
17
 
22
- ---
23
-
24
18
  ## Kom igång
25
19
 
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).
20
+ ### 1. Skapa en app
28
21
 
29
- Installera previewkanalen:
22
+ Välj den teknik du använder. Exemplet skapar en vanlig webbplats:
30
23
 
31
24
  ```sh
32
- npm install scb-wc@next
25
+ npx scb-wc@next init html my-app
26
+ cd my-app
27
+ npm install
28
+ npm run dev
33
29
  ```
34
30
 
35
- ---
31
+ Byt `html` mot:
36
32
 
37
- ## Alternativ 1: Använd som ES‑moduler (t.ex. i React, Vue, SPA)
33
+ - `react` för React
34
+ - `blazor` för Blazor
35
+ - `html-service`, `react-service` eller `blazor-service` för en tätare webbtjänst
38
36
 
39
- Importera CSS och de testkomponenter du använder (bäst för tree‑shaking):
40
-
41
- ```js
42
- // Global CSS + tokens (måste bara importeras en gång)
43
- import 'scb-wc/scb-wc.css';
44
- import 'scb-wc/scb-typography.css';
45
-
46
- // Enskilda web components
47
- import 'scb-wc/scb-button';
48
- import 'scb-wc/scb-accordion';
49
- ```
37
+ ### 2. Lägg till i en app som redan finns
50
38
 
51
- Vill du ladda allt finns en samlingsfil (inte rekommenderat i större appar):
39
+ Kör kommandot i mappen där appens `package.json` ligger:
52
40
 
53
- ```js
54
- // Global CSS + tokens (måste bara importeras en gång)
55
- import 'scb-wc/scb-wc.css';
56
- import 'scb-wc/scb-typography.css';
57
- import 'scb-wc/all';
41
+ ```sh
42
+ npm install scb-wc@next
58
43
  ```
59
44
 
60
- `scb-wc.css` använder paketets standardtypografi. För tätare app- eller tjänstlayouter kan du ladda compact-lagret efter bas-CSS:en:
45
+ Importera CSS och bara de komponenter som sidan använder:
61
46
 
62
47
  ```js
63
48
  import 'scb-wc/scb-wc.css';
64
49
  import 'scb-wc/scb-typography.css';
65
- import 'scb-wc/scb-compact.css';
50
+ import 'scb-wc/scb-button';
66
51
  ```
67
52
 
68
- Service- och appstartermallarna laddar `scb-compact.css`. Webbplatsstartermallarna använder standardtypografin.
53
+ Lägg sedan komponenten i sidan:
69
54
 
70
- ### Självhosta fonter (Inter + Material Symbols)
71
-
72
- Som standard laddas fonterna från Google Fonts via `scb-wc.css`.
73
- Vill du selfhosta kan du istället importera:
74
-
75
- ```js
76
- import 'scb-wc/scb-wc-selfhost.css';
55
+ ```html
56
+ <scb-button variant="filled">Fortsätt</scb-button>
77
57
  ```
78
58
 
79
- används paketets egna fontfiler under `node_modules/scb-wc/fonts/`. Material Symbols är inte hela Google-fonten här. Selfhost-filen innehåller alla ikoner som visas under `Foundations/Icons (ikoner)` i Storybook. Listan kommer från paketets `icons.json`. Fonten behåller stöd för både fyllda och ofyllda varianter.
59
+ ### Nästa steg
80
60
 
81
- ### Optimera Material Symbols med eget ikon-subset
61
+ - Öppna Kom igång i [Test Storybook](https://webcomponentstest.scb.intra/?path=/docs/docs-kom-igång--beskrivning) för HTML/CSS, React, MVC och Blazor.
62
+ - Öppna [mallar och exempel](https://webcomponentstest.scb.intra/?path=/docs/examples-and-templates-att-använda-mallar-och-exempel--beskrivning) när du vill bygga en hel sida.
63
+ - Öppna [komponentöversikten](https://webcomponentstest.scb.intra/?path=/story/components-översikt-alla-komponenter-exposé--expose) när du vill välja nästa komponent.
82
64
 
83
- Det här är bara för appar som behöver Material Symbols utöver paketets `icons.json`. Då använder du `scb-wc-core.css` + ditt genererade `scb-wc-icons.css` i stället för `scb-wc-selfhost.css`.
65
+ ## Kort referens
84
66
 
85
- Skapa en ikonlista i appens rot. Om du vill ersätta paketets selfhost-lista, kopiera paketets `icons.json` och lägg till dina egna ikon-namn:
67
+ ### Ladda alla komponenter
86
68
 
87
- ```sh
88
- npx scb-wc subset-icons --icons ./src/scb-icons.json --out ./public/scb-icons
89
- ```
90
-
91
- Om `--icons` utelämnas används paketets standardlista `icons.json`. Om du skickar in en egen fil lägger kommandot till några basikoner, men inte hela paketets ikonlista. Kommandot skapar `scb-wc-icons.css`, en lokal fontfil och en kopia av ikonlistan i målmappen. Ladda då den fontlösa bas-CSS:en plus den genererade ikon-CSS:en:
69
+ Importera `all` bara om appen verkligen behöver de flesta komponenterna:
92
70
 
93
71
  ```js
94
- import 'scb-wc/scb-wc-core.css';
95
- import '/scb-icons/scb-wc-icons.css';
72
+ import 'scb-wc/scb-wc.css';
96
73
  import 'scb-wc/scb-typography.css';
74
+ import 'scb-wc/all';
97
75
  ```
98
76
 
99
- För MVC/MPA räcker det normalt att använda `scb-wc-selfhost.css`, eftersom den redan pekar på paketets selfhostade fontfiler.
100
-
101
- ---
102
-
103
- ## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
104
-
105
- Det här läget använder den färdig‑splittade **MVC‑ESM**‑builden som följer med paketet under:
106
-
107
- ```text
108
- node_modules/scb-wc/mvc/
109
- ```
110
-
111
- ### 2.1) Rekommenderat: ett npm‑script för att kopiera UI‑filer
112
-
113
- Lägg till i din apps `package.json`:
114
-
115
- ```jsonc
116
- {
117
- "scripts": {
118
- "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);\""
119
- }
120
- }
121
- ```
122
-
123
- Kör sedan:
124
-
125
- ```sh
126
- npm run ui:install
127
- ```
128
-
129
- Det kopierar hela `node_modules/scb-wc/mvc/` till `wwwroot/ui/` i din applikation (komponenter, vendor, CSS och fonts).
77
+ ### Tätare webbtjänster
130
78
 
131
- ### 2.2) Ladda filer i layouten (Razor, .cshtml, klassisk MVC)
79
+ Ladda Compact efter bas-CSS och typografi:
132
80
 
133
- Exemplet använder selfhost-läget. Lägg CSS i `<head>` och ladda bara de komponentskript som sidan använder.
134
-
135
- ```html
136
- <!-- Global layout, helst i <head> -->
137
- <link rel="stylesheet" href="~/ui/scb-wc-selfhost.css" />
138
- <link rel="stylesheet" href="~/ui/scb-typography.css" />
139
- <!-- Lägg till scb-compact.css om sidan ska använda compact-typografi. -->
140
-
141
- <!-- Ladda bara de komponenter sidan använder -->
142
- <script type="module" src="~/ui/components/scb-button/scb-button.js"></script>
81
+ ```js
82
+ import 'scb-wc/scb-wc.css';
83
+ import 'scb-wc/scb-typography.css';
84
+ import 'scb-wc/scb-compact.css';
143
85
  ```
144
86
 
145
- `~/ui/scb-wc-selfhost.css` laddar Inter och paketets Material Symbols-subset från `~/ui/fonts/`.
87
+ Webbplatsmallarna använder standardläget. Service- och appmallarna laddar Compact.
146
88
 
147
- ### 2.3) CI/CD‑exempel
89
+ ### MVC och statiska webbplatser
148
90
 
149
- Kör samma script i din pipeline:
91
+ Paketets färdiga MVC-filer ligger i `node_modules/scb-wc/mvc/`. Följ det kopierbara MVC-exemplet i [Kom igång](https://webcomponentstest.scb.intra/?path=/docs/docs-kom-igång--beskrivning). Det visar vilket `ui:install`-script som ska läggas i appens `package.json` och vilka filer layouten ska ladda.
150
92
 
151
- ```yaml
152
- steps:
153
- - script: npm ci
154
- - script: npm run ui:install
155
- ```
93
+ ### Blazor
156
94
 
157
- Behöver du en annan webbrotsökväg (t.ex. om din `wwwroot` ligger någon annanstans) kan du ange flaggan:
95
+ Blazor använder samma MVC-filer plus wrappers och interop under `node_modules/scb-wc/blazor/`. Följ [Kom igång](https://webcomponentstest.scb.intra/?path=/docs/docs-kom-igång--beskrivning) för första installationen och [Blazor-guiden](https://webcomponentstest.scb.intra/?path=/docs/docs-om-användning-i-blazor--beskrivning) när integrationen behöver state, parametrar eller events.
158
96
 
159
- ```yaml
160
- - script: npm run ui:install --ui_wwwroot=../wwwroot
161
- ```
97
+ ### Fonter och egna ikoner
162
98
 
163
- ---
99
+ Vanliga appar använder `scb-wc.css`. Selfhost och egna Material Symbols-subset är avancerade val. Följ [Foundations/Icons](https://webcomponentstest.scb.intra/?path=/docs/foundations-icons-ikoner--beskrivning) om appen inte får ladda Google Fonts eller behöver fler ikoner än paketets `icons.json`.
164
100
 
165
- ## Alternativ 3: Bundlad version (IIFE) för äldre miljöer
101
+ ### Bundlad version
166
102
 
167
- Om ESM inte stöds kan du använda den bundlade test‑varianten från paketroten.
168
- Flytta följande tre filer från `node_modules/scb-wc` och använd dem i applikationen:
103
+ Miljöer som inte kan använda ESM kan ladda:
169
104
 
170
105
  ```text
171
106
  node_modules/scb-wc/scb-wc.bundle.js
@@ -173,57 +108,18 @@ node_modules/scb-wc/scb-wc.css
173
108
  node_modules/scb-wc/scb-typography.css
174
109
  ```
175
110
 
176
- ```html
177
- <link rel="stylesheet" href="scb-wc.css">
178
- <link rel="stylesheet" href="scb-typography.css" />
179
- <script src="scb-wc.bundle.js"></script>
180
- ```
181
-
182
- Lägg till `scb-compact.css` om sidan ska använda compact-typografi.
183
-
184
- > **Obs:** Blanda inte MVC‑ESM och IIFE på samma sida.
185
-
186
- ---
187
-
188
- ## Alternativ 4: Blazor (Server och WebAssembly)
111
+ Blanda inte bundle och MVC-ESM på samma sida.
189
112
 
190
- SCB Web Components fungerar även i Blazor‑appar när du vill använda samma komponenter i både MVC/MPA och Blazor.
113
+ ### Uppdatera paketet
191
114
 
192
- Grundprincipen är samma som för `scb-wc`:
115
+ Kör i appens mapp och bygg sedan appen med dess vanliga kommando:
193
116
 
194
- 1. Använd MVC‑ESM‑builden (`node_modules/scb-wc/mvc`) och kopiera den till `wwwroot/ui` med `ui:install`.
195
- 2. Ladda `scb-blazor-bridge.js` från `wwwroot/ui` i din Blazor‑layout.
196
- 3. Lägg till (eller återanvänd) `ScbBlazorInteropBase` i din lösning.
197
-
198
- ### 4.1) Script i Blazor-projektets `package.json`
199
-
200
- Lägg till ett script som kopierar interop-filen från `node_modules` till ditt projekt (till exempel mappen `ScbBlazor`). Utöver `ui:install`-scriptet från MVC-exemplet ovan. Så att det till exempel blir så här i din `package.json`:
201
-
202
- ```jsonc
203
- {
204
- "scripts": {
205
- "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);\"",
206
- "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);\""
207
- }
208
- }
209
- ```
210
-
211
- Exempel på layout:
212
-
213
- ```html
214
- <link rel="stylesheet" href="~/ui/scb-wc.css" />
215
- <link rel="stylesheet" href="~/ui/scb-typography.css" />
216
-
217
- <script type="module" src="~/ui/scb-blazor-bridge.js"></script>
117
+ ```sh
118
+ npm install scb-wc@next
218
119
  ```
219
120
 
220
- `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
-
222
- ---
223
-
224
121
  ## Viktigt
225
122
 
226
- - `scb-wc@next` är **previewkanalen**. Komponenter kan ändras eller tas bort mellan versioner. Använd `scb-wc@latest` i externa produktionsmiljöer.
227
- - **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`).
228
- - **Blanda inte MVC‑ESM och IIFE samma sida.** Välj en distributionsform per sida/app.
229
- - **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.
123
+ - `scb-wc@next` är **previewkanalen**. Komponenter kan ändras eller tas bort mellan versioner. Använd `scb-wc@latest` i externa produktionsmiljöer.
124
+ - Kör alltid npm-kommandon i mappen där appens `package.json` ligger.
125
+ - Ladda inte samma komponentflera sätt samma sida.
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.126.0/helpers/decorate.js
1
+ //#region \0@oxc-project+runtime@0.139.0/helpers/esm/decorate.js
2
2
  function e(e, t, n, r) {
3
3
  var i = arguments.length, a = i < 3 ? t : r === null ? r = Object.getOwnPropertyDescriptor(t, n) : r, o;
4
4
  if (typeof Reflect == "object" && typeof Reflect.decorate == "function") a = Reflect.decorate(e, t, n, r);
@@ -6,4 +6,4 @@ function e(e, t, n, r) {
6
6
  return i > 3 && a && Object.defineProperty(t, n, a), a;
7
7
  }
8
8
  //#endregion
9
- export { e as __decorate };
9
+ export { e as default };
@@ -1,6 +1,7 @@
1
1
  //#region src/component-defaults.ts
2
2
  var e = {
3
3
  "scb-accordion": { size: "large" },
4
+ "scb-app-bar": { size: "small" },
4
5
  "scb-avatar": { size: "medium" },
5
6
  "scb-button": { size: "medium" },
6
7
  "scb-calendar-card": { size: "medium" },
@@ -22,6 +23,7 @@ var e = {
22
23
  "scb-radio-button": { size: "medium" },
23
24
  "scb-radio-group": { size: "medium" },
24
25
  "scb-search": { size: "medium" },
26
+ "scb-segmented-button": { size: "medium" },
25
27
  "scb-select": { size: "medium" },
26
28
  "scb-stepper": { size: "medium" },
27
29
  "scb-textfield": { size: "medium" },
package/index.js CHANGED
@@ -1,13 +1,13 @@
1
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";
2
+ import { ScbAvatar as i } from "./scb-avatar/scb-avatar.js";
3
+ import { ScbChevron as a } from "./scb-chevron/scb-chevron.js";
4
+ import { ScbAccordionItem as o } from "./scb-accordion/scb-accordion-item.js";
5
+ import { ScbButton as s } from "./scb-button/scb-button.js";
6
+ import { ScbAccordion as c } from "./scb-accordion/scb-accordion.js";
7
+ import { ScbActionCard as l, ScbCard as u, ScbContainerCard as d, ScbLinkCard as f, ScbListCard as p, ScbSocialCard as m } from "./scb-card/scb-card.js";
7
8
  import "./scb-action-card/scb-action-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";
9
+ import { ScbIconButton as h } from "./scb-icon-button/scb-icon-button.js";
10
+ import { ScbSearch as g } from "./scb-search/scb-search.js";
11
11
  import { ScbAppBar as _ } from "./scb-app-bar/scb-app-bar.js";
12
12
  import { ScbBadge as v } from "./scb-badge/scb-badge.js";
13
13
  import { ScbLink as y } from "./scb-link/scb-link.js";
@@ -102,4 +102,4 @@ import { clearScbVizSeriesDifferentiationColorClass as lt, clearScbVizSeriesDiff
102
102
  import { buildScbVizResolvedTableView as Ot, createScbVizCsvRows as kt, inferScbVizTableAlignments as At, normalizeScbVizRenderableCell as jt, readScbVizTableDataFromSlot as Mt } from "./scb-viz/scb-viz-table-runtime.js";
103
103
  import { ScbViz as Nt } from "./scb-viz/scb-viz.js";
104
104
  import { ensureRippleReady as Pt, syncRippleToControl as Ft } from "./shared/lazy-ripple.js";
105
- 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, ne as ScbFormErrorSummary, se as ScbGalleryGrid, Q as ScbGrid, X as ScbGridItem, fe as ScbHeader, ce as ScbHeaderMenuGroup, le as ScbHeaderMenuItem, ue as ScbHeaderTab, de as ScbHeaderUtility, ae as ScbHorizontalScroller, ee as ScbIcon, m as ScbIconButton, pe as ScbKeyFigureCard, y as ScbLink, d as ScbLinkCard, F as ScbList, f as ScbListCard, P as ScbListItem, _e as ScbMenu, me as ScbMenuItem, ye as ScbNav, ve as ScbNavItem, te as ScbNotificationCard, W as ScbOptionsMenu, H as ScbOptionsMenuItem, U as ScbOptionsSubMenu, oe as ScbOverlay, be as ScbPagination, Le as ScbPrimaryTab, xe as ScbProgressIndicator, Se as ScbProgressStep, Ce as ScbProgressStepper, A as ScbRadioButton, k as ScbRadioGroup, we as ScbScrollspy, h as ScbSearch, Re as ScbSecondaryTab, Ee as ScbSegmentedButton, Te as ScbSegmentedItem, Oe as ScbSelect, De as ScbSelectOption, ke as ScbSkeleton, Ae as ScbSlider, je as ScbSnackbar, p as ScbSocialCard, Z as ScbStack, Me as ScbStatusPill, Ne as ScbStep, Pe as ScbStepper, ge as ScbSubmenu, j as ScbSwitch, Fe as ScbTable, Ie as ScbTableAdvanced, ze as ScbTabs, E as ScbTextField, Ve as ScbToc, Be as ScbTocItem, T as ScbTooltip, Nt as ScbViz, he as ScbmenuSection, e as addLazyFocusRingListeners, rt as appendScbVizSeriesDifferentiationPatternMarks, He as buildScbVizExportFileName, et as buildScbVizPrintDocumentHtml, tt as buildScbVizPrintableFooterHtml, nt as buildScbVizPrintableTableHtml, Ot as buildScbVizResolvedTableView, lt as clearScbVizSeriesDifferentiationColorClass, ut as clearScbVizSeriesDifferentiationMetadata, Ue as createScbVizCsvBlob, kt as createScbVizCsvRows, We as createScbVizRasterBlobFromElement, Ge as createScbVizRasterDataUrlFromElement, Ke as downloadScbVizBlob, t as ensureFocusRingOnFocusVisible, n as ensureFocusRingOnTab, r as ensureFocusRingReady, Pt as ensureRippleReady, dt as ensureScbVizGroupedSeriesDifferentiationStore, ft as ensureScbVizStyledModeSeriesPattern, qe as getScbVizCurrentFullscreenElement, Je as getScbVizExportBaseFileName, Ye as getScbVizFullscreenDocument, pt as getScbVizGroupedSeriesDifferentiationKey, mt as getScbVizGroupedSeriesDifferentiationVariant, ht as getScbVizGroupedSeriesDifferentiationVariantIndex, gt as getScbVizHighchartsColorClassName, _t as getScbVizHighchartsSvgElement, vt as getScbVizHighchartsSvgRoot, yt as getScbVizLegendSeriesDifferentiationTargets, bt as getScbVizSeriesDifferentiationColorIndex, it as getScbVizSeriesDifferentiationPatternDefinition, at as getScbVizSeriesDifferentiationPatternKinds, ot as getScbVizSeriesDifferentiationRegistry, st as getScbVizSeriesDifferentiationVariant, xt as getScbVizSeriesDifferentiationVariantByIndex, re as hasScbSvgIcon, At as inferScbVizTableAlignments, Xe as isScbVizFullscreenSupported, St as isScbVizGroupedSeriesDifferentiationChart, Ct as isScbVizHighchartsStyledMode, jt as normalizeScbVizRenderableCell, Ze as openScbVizPrintFrame, Mt as readScbVizTableDataFromSlot, ie as renderScbIcon, Qe as runWithScbVizForcedPrintLightMode, ct as scbVizSeriesDifferentiationRegistry, wt as setScbVizSeriesDifferentiationColorClass, Tt as setScbVizSeriesDifferentiationMetadata, Et as shouldShowScbVizSeriesDifferentiationAction, Ft as syncRippleToControl, $e as toggleScbVizFullscreen, Dt as usesScbVizGroupedPointDifferentiation };
105
+ export { x as SCBBreadcrumb, b as SCBBreadcrumbItem, c as ScbAccordion, o as ScbAccordionItem, l as ScbActionCard, _ as ScbAppBar, i as ScbAvatar, v as ScbBadge, s as ScbButton, I as ScbCalendar, L as ScbCalendarCard, S as ScbCalendarEvent, u as ScbCard, O as ScbCheckbox, D as ScbCheckboxGroup, a as ScbChevron, M as ScbChip, R as ScbCollapse, d 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, ne as ScbFormErrorSummary, se as ScbGalleryGrid, Q as ScbGrid, X as ScbGridItem, fe as ScbHeader, ce as ScbHeaderMenuGroup, le as ScbHeaderMenuItem, ue as ScbHeaderTab, de as ScbHeaderUtility, ae as ScbHorizontalScroller, ee as ScbIcon, h as ScbIconButton, pe as ScbKeyFigureCard, y as ScbLink, f as ScbLinkCard, F as ScbList, p as ScbListCard, P as ScbListItem, _e as ScbMenu, me as ScbMenuItem, ye as ScbNav, ve as ScbNavItem, te as ScbNotificationCard, W as ScbOptionsMenu, H as ScbOptionsMenuItem, U as ScbOptionsSubMenu, oe as ScbOverlay, be as ScbPagination, Le as ScbPrimaryTab, xe as ScbProgressIndicator, Se as ScbProgressStep, Ce as ScbProgressStepper, A as ScbRadioButton, k as ScbRadioGroup, we as ScbScrollspy, g as ScbSearch, Re as ScbSecondaryTab, Ee as ScbSegmentedButton, Te as ScbSegmentedItem, Oe as ScbSelect, De as ScbSelectOption, ke as ScbSkeleton, Ae as ScbSlider, je as ScbSnackbar, m as ScbSocialCard, Z as ScbStack, Me as ScbStatusPill, Ne as ScbStep, Pe as ScbStepper, ge as ScbSubmenu, j as ScbSwitch, Fe as ScbTable, Ie as ScbTableAdvanced, ze as ScbTabs, E as ScbTextField, Ve as ScbToc, Be as ScbTocItem, T as ScbTooltip, Nt as ScbViz, he as ScbmenuSection, e as addLazyFocusRingListeners, rt as appendScbVizSeriesDifferentiationPatternMarks, He as buildScbVizExportFileName, et as buildScbVizPrintDocumentHtml, tt as buildScbVizPrintableFooterHtml, nt as buildScbVizPrintableTableHtml, Ot as buildScbVizResolvedTableView, lt as clearScbVizSeriesDifferentiationColorClass, ut as clearScbVizSeriesDifferentiationMetadata, Ue as createScbVizCsvBlob, kt as createScbVizCsvRows, We as createScbVizRasterBlobFromElement, Ge as createScbVizRasterDataUrlFromElement, Ke as downloadScbVizBlob, t as ensureFocusRingOnFocusVisible, n as ensureFocusRingOnTab, r as ensureFocusRingReady, Pt as ensureRippleReady, dt as ensureScbVizGroupedSeriesDifferentiationStore, ft as ensureScbVizStyledModeSeriesPattern, qe as getScbVizCurrentFullscreenElement, Je as getScbVizExportBaseFileName, Ye as getScbVizFullscreenDocument, pt as getScbVizGroupedSeriesDifferentiationKey, mt as getScbVizGroupedSeriesDifferentiationVariant, ht as getScbVizGroupedSeriesDifferentiationVariantIndex, gt as getScbVizHighchartsColorClassName, _t as getScbVizHighchartsSvgElement, vt as getScbVizHighchartsSvgRoot, yt as getScbVizLegendSeriesDifferentiationTargets, bt as getScbVizSeriesDifferentiationColorIndex, it as getScbVizSeriesDifferentiationPatternDefinition, at as getScbVizSeriesDifferentiationPatternKinds, ot as getScbVizSeriesDifferentiationRegistry, st as getScbVizSeriesDifferentiationVariant, xt as getScbVizSeriesDifferentiationVariantByIndex, re as hasScbSvgIcon, At as inferScbVizTableAlignments, Xe as isScbVizFullscreenSupported, St as isScbVizGroupedSeriesDifferentiationChart, Ct as isScbVizHighchartsStyledMode, jt as normalizeScbVizRenderableCell, Ze as openScbVizPrintFrame, Mt as readScbVizTableDataFromSlot, ie as renderScbIcon, Qe as runWithScbVizForcedPrintLightMode, ct as scbVizSeriesDifferentiationRegistry, wt as setScbVizSeriesDifferentiationColorClass, Tt as setScbVizSeriesDifferentiationMetadata, Et as shouldShowScbVizSeriesDifferentiationAction, Ft as syncRippleToControl, $e as toggleScbVizFullscreen, Dt as usesScbVizGroupedPointDifferentiation };
@@ -1,4 +1,4 @@
1
- import{g as l,h as b,m as h,p as o,v as c,y as m}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(e,t,v){try{customElements.get(e)||i(e,t,v)}catch(s){var n=String(s||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw s}}}}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=e=>{e.preventDefault();const t=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,t),this.setOpen(t)},this._onToggle=e=>{const t=e.currentTarget;t.open||(t.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,e,t){if(i==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(i,e,t),i==="title"&&t!==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 e=this.closest("scb-accordion"),t=Array.from(e?.querySelectorAll("scb-accordion-item")||[]).map(s=>s.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(s=>!!s),v=i.currentTarget,n=t.indexOf(v);switch(i.key){case"ArrowDown":i.preventDefault(),n<t.length-1&&t[n+1].focus();break;case"ArrowUp":i.preventDefault(),n>0&&t[n-1].focus();break;case"Home":i.preventDefault(),t.length&&t[0].focus();break;case"End":i.preventDefault(),t.length&&t[t.length-1].focus();break}}setOpen(i){this.open=!!i;const e=this.renderRoot.querySelector("details");e&&!e.open&&(e.open=!0),this._applyInertByOpen()}updated(i){if(i.has("open")){const e=this.renderRoot.querySelector("details");e&&!e.open&&(e.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}`,e=`header-${this._unique}`,t=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?c`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?c`
1
+ import{g as l,h as p,m as u,p as o,v as a,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import"../../vendor/icon.js";import"../../vendor/ripple.js";import{ensureFocusRingOnFocusVisible as h}from"../shared/lazy-focus-ring.js";import{t as n}from"../../vendor/decorate.js";import"../scb-avatar/scb-avatar.js";import"../scb-chevron/scb-chevron.js";(function(){try{var v=typeof globalThis<"u"?globalThis:window;if(!v.__scb_ce_guard_installed__){v.__scb_ce_guard_installed__=!0;var c=customElements.define.bind(customElements);customElements.define=function(i,t,b){try{customElements.get(i)||c(i,t,b)}catch(s){var e=String(s||"");if(e.indexOf("already been used")===-1&&e.indexOf("NotSupportedError")===-1)throw s}}}}catch{}})();var d,g,r=(d=class extends p{constructor(...c){super(...c),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=g._uid(),this._ignoreNextNativeTitleAttrChange=!1,this._onSummaryClick=i=>{i.preventDefault();const t=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,t),this.setOpen(t)},this._onToggle=i=>{const t=i.currentTarget;t.open||(t.open=!0),this._applyInertByOpen()}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${g._uidPrefix}-${++g._uidSeq}`}static get observedAttributes(){const c=super.observedAttributes||[];return c.includes("title")?c:[...c,"title"]}attributeChangedCallback(c,i,t){if(c==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(c,i,t),c==="title"&&t!==null&&(this._ignoreNextNativeTitleAttrChange=!0,this.removeAttribute("title"))}firstUpdated(){this._applyInertByOpen()}_applyInertByOpen(){const c=this.renderRoot.querySelector(".scb-accordion-bottom");c&&(this.open?(c.removeAttribute("inert"),c.setAttribute("aria-hidden","false")):(c.setAttribute("inert",""),c.setAttribute("aria-hidden","true")))}_onKeyDown(c){const i=this.closest("scb-accordion"),t=Array.from(i?.querySelectorAll("scb-accordion-item")||[]).map(s=>s.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(s=>!!s),b=c.currentTarget,e=t.indexOf(b);switch(c.key){case"ArrowDown":c.preventDefault(),e<t.length-1&&t[e+1].focus();break;case"ArrowUp":c.preventDefault(),e>0&&t[e-1].focus();break;case"Home":c.preventDefault(),t.length&&t[0].focus();break;case"End":c.preventDefault(),t.length&&t[t.length-1].focus();break}}setOpen(c){this.open=!!c;const i=this.renderRoot.querySelector("details");i&&!i.open&&(i.open=!0),this._applyInertByOpen()}updated(c){if(c.has("open")){const i=this.renderRoot.querySelector("details");i&&!i.open&&(i.open=!0),this._applyInertByOpen(),this.dispatchEvent(new CustomEvent("open-changed",{detail:{open:this.open,title:this.title},bubbles:!0,composed:!0}))}}render(){const c=`bottom-${this._unique}`,i=`header-${this._unique}`,t=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?a`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?a`
2
2
  <scb-avatar
3
3
  label=${this.avatarLabel}
4
4
  alt=${this.avatarAlt}
@@ -7,36 +7,36 @@ import{g as l,h as b,m as h,p as o,v as c,y as m}from"../../vendor/vendor.js";im
7
7
  shape="circular"
8
8
  variant=${this.avatarVariant}
9
9
  ></scb-avatar>
10
- `:this.leadingVariant==="icon"?c`<md-icon>${this.leadingIcon}</md-icon>`:l:l;return c`
10
+ `:this.leadingVariant==="icon"?a`<md-icon>${this.leadingIcon}</md-icon>`:l:l;return a`
11
11
  <details class="scb-accordion-item" open @toggle=${this._onToggle}>
12
12
  <summary
13
- id=${e}
13
+ id=${i}
14
14
  class="scb-accordion-top"
15
- aria-controls=${i}
15
+ aria-controls=${c}
16
16
  aria-expanded=${String(this.open)}
17
17
  @click=${this._onSummaryClick}
18
18
  @keydown=${this._onKeyDown}
19
- @focusin=${u}
19
+ @focusin=${h}
20
20
  >
21
21
  <md-ripple></md-ripple>
22
22
 
23
- ${this.leading?c`<div class="leading">${t}</div>`:l}
23
+ ${this.leading?a`<div class="leading">${t}</div>`:l}
24
24
 
25
25
  <div class="texts">
26
- ${this.overline?c`<div class="overline">${this.overline}</div>`:l}
26
+ ${this.overline?a`<div class="overline">${this.overline}</div>`:l}
27
27
  <div class="title">${this.title}</div>
28
- ${this.supportingText?c`<div class="supporting-text">${this.supportingText}</div>`:l}
28
+ ${this.supportingText?a`<div class="supporting-text">${this.supportingText}</div>`:l}
29
29
  </div>
30
30
 
31
31
  <scb-chevron class="chevron" .open=${this.open}></scb-chevron>
32
32
  </summary>
33
33
 
34
- <div id=${i} class="scb-accordion-bottom" role="region" aria-labelledby=${e}>
34
+ <div id=${c} class="scb-accordion-bottom" role="region" aria-labelledby=${i}>
35
35
  <div class="bottom-inner">
36
36
  <slot>${this.content}</slot>
37
37
  </div>
38
38
  </div>
39
39
  </details>
40
40
 
41
- <md-focus-ring for=${e} inward></md-focus-ring>
42
- `}},p=d,d._uidPrefix=`uid-${Math.random().toString(36).slice(2)}`,d._uidSeq=0,d.styles=[m`:host{display:block;position:relative;--scb-accordion-hover-radius:var(--radius-none, 0px);--scb-accordion-chevron-nudge-y:3px;--scb-accordion-motion-duration:0.3s;--scb-accordion-motion-easing:ease;--scb-accordion-panel-padding-closed:var(--spacing-0, 0px);--scb-accordion-interaction-bleed:max(var(--stroke-focus-ring, 3px), var(--spacing-2, 4px));--scb-accordion-item-padding-inline:var(--spacing-6, 20px);--scb-accordion-item-padding-block:var(--spacing-8, 28px);--scb-accordion-item-gap:var(--spacing-6, 20px);--scb-accordion-chevron-size:var(--icon-size-medium, 24px);--scb-accordion-title-font-size:var(--scb-typography-title-large-size, var(--md-sys-typescale-title-large-size));--scb-accordion-title-line-height:var(--scb-typography-title-large-line-height, var(--md-sys-typescale-title-large-line-height));--scb-accordion-title-letter-spacing:var(--scb-typography-title-large-tracking, var(--md-sys-typescale-title-large-tracking));--scb-accordion-supporting-font-size:var(--scb-typography-body-large-size, var(--md-sys-typescale-body-large-size));--scb-accordion-supporting-line-height:var(--scb-typography-body-large-line-height, var(--md-sys-typescale-body-large-line-height));--scb-accordion-supporting-letter-spacing:var(--scb-typography-body-large-tracking, var(--md-sys-typescale-body-large-tracking));--scb-accordion-overline-font-size:var(--scb-typography-label-medium-size, var(--md-sys-typescale-label-medium-size));--scb-accordion-overline-line-height:var(--scb-typography-label-medium-line-height, var(--md-sys-typescale-label-medium-line-height));--scb-accordion-overline-letter-spacing:var(--scb-typography-label-medium-tracking, var(--md-sys-typescale-label-medium-tracking));--scb-accordion-overline-font-weight:var(--weight-regular);--scb-accordion-leading-image-size:calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px))}:host-context(scb-accordion[size='medium']){--scb-accordion-item-padding-inline:var(--spacing-5, 16px);--scb-accordion-item-padding-block:var(--spacing-6, 20px);--scb-accordion-item-gap:var(--spacing-4, 12px);--scb-accordion-chevron-size:var(--icon-size-small, 20px);--scb-accordion-leading-image-size:calc(var(--icon-size-large, 30px) + var(--spacing-4, 12px))}:host-context(scb-accordion[size='small']){--scb-accordion-item-padding-inline:var(--spacing-4, 12px);--scb-accordion-item-padding-block:var(--spacing-4, 12px);--scb-accordion-item-gap:var(--spacing-3, 8px);--scb-accordion-chevron-size:var(--icon-size-small, 20px);--scb-accordion-leading-image-size:calc(var(--icon-size-medium, 24px) + var(--spacing-4, 12px))}md-focus-ring{position:absolute;inset:0;pointer-events:none;border-radius:var(--scb-accordion-focus-ring-radius, var(--md-sys-shape-corner-small, 8px))}.scb-accordion-item{border-bottom:var(--stroke-border, 1px) solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);font-family:var(--brand-font)}.scb-accordion-top{list-style:none;display:flex;flex-direction:row;align-items:center;cursor:pointer;padding-block:var(--scb-accordion-item-padding-block, var(--spacing-7, 24px));padding-inline:var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px));border-radius:var(--radius-none, 0px);gap:var(--scb-accordion-item-gap, var(--spacing-5, 16px));color:var(--md-sys-color-on-surface);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;outline:0}.scb-accordion-top::-webkit-details-marker{display:none}summary::marker{content:""}:host([density="-2"]) .scb-accordion-top,:host-context([data-density="-2"]) .scb-accordion-top{padding-block:var(--spacing-5, 16px)}:host([density="-4"]) .scb-accordion-top,:host-context([data-density="-4"]) .scb-accordion-top{padding-block:var(--spacing-4, 12px)}.scb-accordion-bottom{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),opacity var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),padding var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing);padding-block:var(--scb-accordion-panel-padding-closed);padding-inline:calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed))}:host([open]) .scb-accordion-bottom{grid-template-rows:1fr;opacity:1;padding-top:max(var(--spacing-0, 0px),calc(var(--spacing-2, 4px) - var(--scb-accordion-interaction-bleed)));padding-right:calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));padding-bottom:calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));padding-left:calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed))}.bottom-inner{min-height:0;overflow:visible;padding:var(--scb-accordion-interaction-bleed)}.title{font-family:var(--brand-font);font-size:var(--scb-accordion-title-font-size, var(--md-sys-typescale-title-large-size));line-height:var(--scb-accordion-title-line-height, var(--md-sys-typescale-title-large-line-height));font-weight:var(--weight-semibold);letter-spacing:var(--scb-accordion-title-letter-spacing, var(--md-sys-typescale-title-large-tracking));color:var(--md-sys-color-on-surface)}.overline,.supporting-text{font-family:var(--brand-font);color:var(--md-sys-color-on-surface-variant)}.overline{font-size:var(--scb-accordion-overline-font-size);line-height:var(--scb-accordion-overline-line-height);font-weight:var(--scb-accordion-overline-font-weight);letter-spacing:var(--scb-accordion-overline-letter-spacing)}.supporting-text{font-size:var(--scb-accordion-supporting-font-size, var(--md-sys-typescale-body-large-size));line-height:var(--scb-accordion-supporting-line-height, var(--md-sys-typescale-body-large-line-height));font-weight:var(--weight-regular);letter-spacing:var(--scb-accordion-supporting-letter-spacing, var(--md-sys-typescale-body-large-tracking))}.leading{align-self:center;display:grid;place-items:center}.img{width:var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));height:var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));object-fit:contain;border-radius:var(--radius-s, 8px)}.texts{display:grid;gap:var(--spacing-1, 2px)}.chevron{margin-left:auto;inline-size:var(--scb-accordion-chevron-size, var(--icon-size-medium, 24px));block-size:var(--scb-accordion-chevron-size, var(--icon-size-medium, 24px))}md-ripple{border-radius:inherit;inset:0;position:absolute;pointer-events:none;overflow:hidden}@media (prefers-reduced-motion:reduce){md-ripple{display:none}}`],d);r([o({type:Boolean,reflect:!0})],a.prototype,"open",void 0);r([o({type:String})],a.prototype,"title",void 0);r([o({type:String})],a.prototype,"content",void 0);r([o({type:String,attribute:"overline"})],a.prototype,"overline",void 0);r([o({type:String,attribute:"supporting-text"})],a.prototype,"supportingText",void 0);r([o({type:Boolean})],a.prototype,"leading",void 0);r([o({type:String,attribute:"leading-variant",reflect:!0})],a.prototype,"leadingVariant",void 0);r([o({type:String,attribute:"leading-icon"})],a.prototype,"leadingIcon",void 0);r([o({type:String,attribute:"img-href-image",reflect:!0})],a.prototype,"imgHrefImage",void 0);r([o({type:String,attribute:"avatar-label"})],a.prototype,"avatarLabel",void 0);r([o({type:String,attribute:"avatar-alt"})],a.prototype,"avatarAlt",void 0);r([o({type:String,attribute:"avatar-variant"})],a.prototype,"avatarVariant",void 0);r([o({type:String,attribute:"avatar-src"})],a.prototype,"avatarSrc",void 0);r([o({type:Number,reflect:!0})],a.prototype,"density",void 0);a=p=r([h("scb-accordion-item")],a);
41
+ <md-focus-ring for=${i} inward></md-focus-ring>
42
+ `}},g=d,d._uidPrefix=`uid-${Math.random().toString(36).slice(2)}`,d._uidSeq=0,d.styles=[m`:host{--scb-accordion-title-font-weight-current:var(--scb-accordion-title-large-font-weight, var(--scb-accordion-title-large-weight, var(--scb-accordion-title-font-weight, var(--scb-accordion-title-weight))));--scb-accordion-title-letter-spacing-current:var(--scb-accordion-title-large-letter-spacing, var(--scb-accordion-title-large-tracking, var(--scb-accordion-title-letter-spacing, var(--scb-accordion-title-tracking))));--scb-accordion-title-line-height-current:var(--scb-accordion-title-large-line-height, var(--scb-accordion-title-line-height));--scb-accordion-title-tracking-current:var(--scb-accordion-title-large-tracking, var(--scb-accordion-title-large-letter-spacing, var(--scb-accordion-title-tracking, var(--scb-accordion-title-letter-spacing))));--scb-accordion-title-weight-current:var(--scb-accordion-title-large-weight, var(--scb-accordion-title-large-font-weight, var(--scb-accordion-title-weight, var(--scb-accordion-title-font-weight))));--scb-accordion-title-size-current:var(--scb-accordion-title-large-size, var(--scb-accordion-title-size));--scb-accordion-title-font-current:var(--scb-accordion-title-large-font, var(--scb-accordion-title-font));--scb-accordion-overline-font-weight-current:var(--scb-accordion-overline-large-font-weight, var(--scb-accordion-overline-large-weight, var(--scb-accordion-overline-font-weight, var(--scb-accordion-overline-weight))));--scb-accordion-overline-letter-spacing-current:var(--scb-accordion-overline-large-letter-spacing, var(--scb-accordion-overline-large-tracking, var(--scb-accordion-overline-letter-spacing, var(--scb-accordion-overline-tracking))));--scb-accordion-overline-line-height-current:var(--scb-accordion-overline-large-line-height, var(--scb-accordion-overline-line-height));--scb-accordion-overline-tracking-current:var(--scb-accordion-overline-large-tracking, var(--scb-accordion-overline-large-letter-spacing, var(--scb-accordion-overline-tracking, var(--scb-accordion-overline-letter-spacing))));--scb-accordion-overline-weight-current:var(--scb-accordion-overline-large-weight, var(--scb-accordion-overline-large-font-weight, var(--scb-accordion-overline-weight, var(--scb-accordion-overline-font-weight))));--scb-accordion-overline-size-current:var(--scb-accordion-overline-large-size, var(--scb-accordion-overline-size));--scb-accordion-overline-font-current:var(--scb-accordion-overline-large-font, var(--scb-accordion-overline-font));--scb-accordion-supporting-font-weight-current:var(--scb-accordion-supporting-large-font-weight, var(--scb-accordion-supporting-large-weight, var(--scb-accordion-supporting-font-weight, var(--scb-accordion-supporting-weight))));--scb-accordion-supporting-letter-spacing-current:var(--scb-accordion-supporting-large-letter-spacing, var(--scb-accordion-supporting-large-tracking, var(--scb-accordion-supporting-letter-spacing, var(--scb-accordion-supporting-tracking))));--scb-accordion-supporting-line-height-current:var(--scb-accordion-supporting-large-line-height, var(--scb-accordion-supporting-line-height));--scb-accordion-supporting-tracking-current:var(--scb-accordion-supporting-large-tracking, var(--scb-accordion-supporting-large-letter-spacing, var(--scb-accordion-supporting-tracking, var(--scb-accordion-supporting-letter-spacing))));--scb-accordion-supporting-weight-current:var(--scb-accordion-supporting-large-weight, var(--scb-accordion-supporting-large-font-weight, var(--scb-accordion-supporting-weight, var(--scb-accordion-supporting-font-weight))));--scb-accordion-supporting-size-current:var(--scb-accordion-supporting-large-size, var(--scb-accordion-supporting-size));--scb-accordion-supporting-font-current:var(--scb-accordion-supporting-large-font, var(--scb-accordion-supporting-font));--scb-accordion-content-text-font-weight-current:var(--scb-accordion-content-text-large-font-weight, var(--scb-accordion-content-text-large-weight, var(--scb-accordion-content-text-font-weight, var(--scb-accordion-content-text-weight))));--scb-accordion-content-text-letter-spacing-current:var(--scb-accordion-content-text-large-letter-spacing, var(--scb-accordion-content-text-large-tracking, var(--scb-accordion-content-text-letter-spacing, var(--scb-accordion-content-text-tracking))));--scb-accordion-content-text-line-height-current:var(--scb-accordion-content-text-large-line-height, var(--scb-accordion-content-text-line-height));--scb-accordion-content-text-tracking-current:var(--scb-accordion-content-text-large-tracking, var(--scb-accordion-content-text-large-letter-spacing, var(--scb-accordion-content-text-tracking, var(--scb-accordion-content-text-letter-spacing))));--scb-accordion-content-text-weight-current:var(--scb-accordion-content-text-large-weight, var(--scb-accordion-content-text-large-font-weight, var(--scb-accordion-content-text-weight, var(--scb-accordion-content-text-font-weight))));--scb-accordion-content-text-size-current:var(--scb-accordion-content-text-large-size, var(--scb-accordion-content-text-size));--scb-accordion-content-text-font-current:var(--scb-accordion-content-text-large-font, var(--scb-accordion-content-text-font));display:block;position:relative;--scb-accordion-hover-radius:var(--radius-none, 0px);--scb-accordion-chevron-nudge-y:3px;--scb-accordion-motion-duration:0.3s;--scb-accordion-motion-easing:ease;--scb-accordion-panel-padding-closed:var(--spacing-0, 0px);--scb-accordion-interaction-bleed:max(var(--stroke-focus-ring, 3px), var(--spacing-2, 4px));--scb-accordion-item-padding-inline:var(--scb-accordion-item-padding-inline-large, var(--spacing-6, 20px));--scb-accordion-item-padding-block:var(--scb-accordion-item-padding-block-large, var(--spacing-8, 28px));--scb-accordion-item-gap:var(--scb-accordion-item-gap-large, var(--spacing-6, 20px));--scb-accordion-chevron-size:var(--scb-accordion-chevron-size-large, var(--icon-size-medium, 24px));--scb-accordion-content-padding-top:var(--scb-accordion-content-padding-top-large, var(--spacing-2, 4px));--scb-accordion-content-padding-inline:var(--scb-accordion-content-padding-inline-large, var(--scb-accordion-item-padding-inline));--scb-accordion-content-padding-bottom:var(--scb-accordion-content-padding-bottom-large, var(--scb-accordion-item-padding-inline));--scb-accordion-leading-image-size:var(--scb-accordion-leading-image-size-large, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));--scb-accordion-leading-icon-size:var(--scb-accordion-leading-icon-size-large, var(--icon-size-medium, 24px));--scb-accordion-leading-avatar-size:var(--scb-accordion-leading-avatar-size-large, var(--scale-10, 40px))}:host-context(scb-accordion[size='medium']){--scb-accordion-title-font-weight-current:var(--scb-accordion-title-medium-font-weight, var(--scb-accordion-title-medium-weight, var(--scb-accordion-title-font-weight, var(--scb-accordion-title-weight))));--scb-accordion-title-letter-spacing-current:var(--scb-accordion-title-medium-letter-spacing, var(--scb-accordion-title-medium-tracking, var(--scb-accordion-title-letter-spacing, var(--scb-accordion-title-tracking))));--scb-accordion-title-line-height-current:var(--scb-accordion-title-medium-line-height, var(--scb-accordion-title-line-height));--scb-accordion-title-tracking-current:var(--scb-accordion-title-medium-tracking, var(--scb-accordion-title-medium-letter-spacing, var(--scb-accordion-title-tracking, var(--scb-accordion-title-letter-spacing))));--scb-accordion-title-weight-current:var(--scb-accordion-title-medium-weight, var(--scb-accordion-title-medium-font-weight, var(--scb-accordion-title-weight, var(--scb-accordion-title-font-weight))));--scb-accordion-title-size-current:var(--scb-accordion-title-medium-size, var(--scb-accordion-title-size));--scb-accordion-title-font-current:var(--scb-accordion-title-medium-font, var(--scb-accordion-title-font));--scb-accordion-overline-font-weight-current:var(--scb-accordion-overline-medium-font-weight, var(--scb-accordion-overline-medium-weight, var(--scb-accordion-overline-font-weight, var(--scb-accordion-overline-weight))));--scb-accordion-overline-letter-spacing-current:var(--scb-accordion-overline-medium-letter-spacing, var(--scb-accordion-overline-medium-tracking, var(--scb-accordion-overline-letter-spacing, var(--scb-accordion-overline-tracking))));--scb-accordion-overline-line-height-current:var(--scb-accordion-overline-medium-line-height, var(--scb-accordion-overline-line-height));--scb-accordion-overline-tracking-current:var(--scb-accordion-overline-medium-tracking, var(--scb-accordion-overline-medium-letter-spacing, var(--scb-accordion-overline-tracking, var(--scb-accordion-overline-letter-spacing))));--scb-accordion-overline-weight-current:var(--scb-accordion-overline-medium-weight, var(--scb-accordion-overline-medium-font-weight, var(--scb-accordion-overline-weight, var(--scb-accordion-overline-font-weight))));--scb-accordion-overline-size-current:var(--scb-accordion-overline-medium-size, var(--scb-accordion-overline-size));--scb-accordion-overline-font-current:var(--scb-accordion-overline-medium-font, var(--scb-accordion-overline-font));--scb-accordion-supporting-font-weight-current:var(--scb-accordion-supporting-medium-font-weight, var(--scb-accordion-supporting-medium-weight, var(--scb-accordion-supporting-font-weight, var(--scb-accordion-supporting-weight))));--scb-accordion-supporting-letter-spacing-current:var(--scb-accordion-supporting-medium-letter-spacing, var(--scb-accordion-supporting-medium-tracking, var(--scb-accordion-supporting-letter-spacing, var(--scb-accordion-supporting-tracking))));--scb-accordion-supporting-line-height-current:var(--scb-accordion-supporting-medium-line-height, var(--scb-accordion-supporting-line-height));--scb-accordion-supporting-tracking-current:var(--scb-accordion-supporting-medium-tracking, var(--scb-accordion-supporting-medium-letter-spacing, var(--scb-accordion-supporting-tracking, var(--scb-accordion-supporting-letter-spacing))));--scb-accordion-supporting-weight-current:var(--scb-accordion-supporting-medium-weight, var(--scb-accordion-supporting-medium-font-weight, var(--scb-accordion-supporting-weight, var(--scb-accordion-supporting-font-weight))));--scb-accordion-supporting-size-current:var(--scb-accordion-supporting-medium-size, var(--scb-accordion-supporting-size));--scb-accordion-supporting-font-current:var(--scb-accordion-supporting-medium-font, var(--scb-accordion-supporting-font));--scb-accordion-content-text-font-weight-current:var(--scb-accordion-content-text-medium-font-weight, var(--scb-accordion-content-text-medium-weight, var(--scb-accordion-content-text-font-weight, var(--scb-accordion-content-text-weight))));--scb-accordion-content-text-letter-spacing-current:var(--scb-accordion-content-text-medium-letter-spacing, var(--scb-accordion-content-text-medium-tracking, var(--scb-accordion-content-text-letter-spacing, var(--scb-accordion-content-text-tracking))));--scb-accordion-content-text-line-height-current:var(--scb-accordion-content-text-medium-line-height, var(--scb-accordion-content-text-line-height));--scb-accordion-content-text-tracking-current:var(--scb-accordion-content-text-medium-tracking, var(--scb-accordion-content-text-medium-letter-spacing, var(--scb-accordion-content-text-tracking, var(--scb-accordion-content-text-letter-spacing))));--scb-accordion-content-text-weight-current:var(--scb-accordion-content-text-medium-weight, var(--scb-accordion-content-text-medium-font-weight, var(--scb-accordion-content-text-weight, var(--scb-accordion-content-text-font-weight))));--scb-accordion-content-text-size-current:var(--scb-accordion-content-text-medium-size, var(--scb-accordion-content-text-size));--scb-accordion-content-text-font-current:var(--scb-accordion-content-text-medium-font, var(--scb-accordion-content-text-font));--scb-accordion-item-padding-inline:var(--scb-accordion-item-padding-inline-medium, var(--spacing-5, 16px));--scb-accordion-item-padding-block:var(--scb-accordion-item-padding-block-medium, var(--spacing-6, 20px));--scb-accordion-item-gap:var(--scb-accordion-item-gap-medium, var(--spacing-4, 12px));--scb-accordion-chevron-size:var(--scb-accordion-chevron-size-medium, var(--icon-size-small, 20px));--scb-accordion-content-padding-top:var(--scb-accordion-content-padding-top-medium, var(--spacing-2, 4px));--scb-accordion-content-padding-inline:var(--scb-accordion-content-padding-inline-medium, var(--scb-accordion-item-padding-inline));--scb-accordion-content-padding-bottom:var(--scb-accordion-content-padding-bottom-medium, var(--scb-accordion-item-padding-inline));--scb-accordion-leading-image-size:var(--scb-accordion-leading-image-size-medium, calc(var(--icon-size-large, 32px) + var(--spacing-4, 12px)));--scb-accordion-leading-icon-size:var(--scb-accordion-leading-icon-size-medium, var(--icon-size-medium, 24px));--scb-accordion-leading-avatar-size:var(--scb-accordion-leading-avatar-size-medium, var(--scale-10, 40px))}:host-context(scb-accordion[size='small']){--scb-accordion-title-font-weight-current:var(--scb-accordion-title-small-font-weight, var(--scb-accordion-title-small-weight, var(--scb-accordion-title-font-weight, var(--scb-accordion-title-weight))));--scb-accordion-title-letter-spacing-current:var(--scb-accordion-title-small-letter-spacing, var(--scb-accordion-title-small-tracking, var(--scb-accordion-title-letter-spacing, var(--scb-accordion-title-tracking))));--scb-accordion-title-line-height-current:var(--scb-accordion-title-small-line-height, var(--scb-accordion-title-line-height));--scb-accordion-title-tracking-current:var(--scb-accordion-title-small-tracking, var(--scb-accordion-title-small-letter-spacing, var(--scb-accordion-title-tracking, var(--scb-accordion-title-letter-spacing))));--scb-accordion-title-weight-current:var(--scb-accordion-title-small-weight, var(--scb-accordion-title-small-font-weight, var(--scb-accordion-title-weight, var(--scb-accordion-title-font-weight))));--scb-accordion-title-size-current:var(--scb-accordion-title-small-size, var(--scb-accordion-title-size));--scb-accordion-title-font-current:var(--scb-accordion-title-small-font, var(--scb-accordion-title-font));--scb-accordion-overline-font-weight-current:var(--scb-accordion-overline-small-font-weight, var(--scb-accordion-overline-small-weight, var(--scb-accordion-overline-font-weight, var(--scb-accordion-overline-weight))));--scb-accordion-overline-letter-spacing-current:var(--scb-accordion-overline-small-letter-spacing, var(--scb-accordion-overline-small-tracking, var(--scb-accordion-overline-letter-spacing, var(--scb-accordion-overline-tracking))));--scb-accordion-overline-line-height-current:var(--scb-accordion-overline-small-line-height, var(--scb-accordion-overline-line-height));--scb-accordion-overline-tracking-current:var(--scb-accordion-overline-small-tracking, var(--scb-accordion-overline-small-letter-spacing, var(--scb-accordion-overline-tracking, var(--scb-accordion-overline-letter-spacing))));--scb-accordion-overline-weight-current:var(--scb-accordion-overline-small-weight, var(--scb-accordion-overline-small-font-weight, var(--scb-accordion-overline-weight, var(--scb-accordion-overline-font-weight))));--scb-accordion-overline-size-current:var(--scb-accordion-overline-small-size, var(--scb-accordion-overline-size));--scb-accordion-overline-font-current:var(--scb-accordion-overline-small-font, var(--scb-accordion-overline-font));--scb-accordion-supporting-font-weight-current:var(--scb-accordion-supporting-small-font-weight, var(--scb-accordion-supporting-small-weight, var(--scb-accordion-supporting-font-weight, var(--scb-accordion-supporting-weight))));--scb-accordion-supporting-letter-spacing-current:var(--scb-accordion-supporting-small-letter-spacing, var(--scb-accordion-supporting-small-tracking, var(--scb-accordion-supporting-letter-spacing, var(--scb-accordion-supporting-tracking))));--scb-accordion-supporting-line-height-current:var(--scb-accordion-supporting-small-line-height, var(--scb-accordion-supporting-line-height));--scb-accordion-supporting-tracking-current:var(--scb-accordion-supporting-small-tracking, var(--scb-accordion-supporting-small-letter-spacing, var(--scb-accordion-supporting-tracking, var(--scb-accordion-supporting-letter-spacing))));--scb-accordion-supporting-weight-current:var(--scb-accordion-supporting-small-weight, var(--scb-accordion-supporting-small-font-weight, var(--scb-accordion-supporting-weight, var(--scb-accordion-supporting-font-weight))));--scb-accordion-supporting-size-current:var(--scb-accordion-supporting-small-size, var(--scb-accordion-supporting-size));--scb-accordion-supporting-font-current:var(--scb-accordion-supporting-small-font, var(--scb-accordion-supporting-font));--scb-accordion-content-text-font-weight-current:var(--scb-accordion-content-text-small-font-weight, var(--scb-accordion-content-text-small-weight, var(--scb-accordion-content-text-font-weight, var(--scb-accordion-content-text-weight))));--scb-accordion-content-text-letter-spacing-current:var(--scb-accordion-content-text-small-letter-spacing, var(--scb-accordion-content-text-small-tracking, var(--scb-accordion-content-text-letter-spacing, var(--scb-accordion-content-text-tracking))));--scb-accordion-content-text-line-height-current:var(--scb-accordion-content-text-small-line-height, var(--scb-accordion-content-text-line-height));--scb-accordion-content-text-tracking-current:var(--scb-accordion-content-text-small-tracking, var(--scb-accordion-content-text-small-letter-spacing, var(--scb-accordion-content-text-tracking, var(--scb-accordion-content-text-letter-spacing))));--scb-accordion-content-text-weight-current:var(--scb-accordion-content-text-small-weight, var(--scb-accordion-content-text-small-font-weight, var(--scb-accordion-content-text-weight, var(--scb-accordion-content-text-font-weight))));--scb-accordion-content-text-size-current:var(--scb-accordion-content-text-small-size, var(--scb-accordion-content-text-size));--scb-accordion-content-text-font-current:var(--scb-accordion-content-text-small-font, var(--scb-accordion-content-text-font));--scb-accordion-item-padding-inline:var(--scb-accordion-item-padding-inline-small, var(--spacing-4, 12px));--scb-accordion-item-padding-block:var(--scb-accordion-item-padding-block-small, var(--spacing-4, 12px));--scb-accordion-item-gap:var(--scb-accordion-item-gap-small, var(--spacing-3, 8px));--scb-accordion-chevron-size:var(--scb-accordion-chevron-size-small, var(--icon-size-small, 20px));--scb-accordion-content-padding-top:var(--scb-accordion-content-padding-top-small, var(--spacing-2, 4px));--scb-accordion-content-padding-inline:var(--scb-accordion-content-padding-inline-small, var(--scb-accordion-item-padding-inline));--scb-accordion-content-padding-bottom:var(--scb-accordion-content-padding-bottom-small, var(--scb-accordion-item-padding-inline));--scb-accordion-leading-image-size:var(--scb-accordion-leading-image-size-small, calc(var(--icon-size-medium, 24px) + var(--spacing-4, 12px)));--scb-accordion-leading-icon-size:var(--scb-accordion-leading-icon-size-small, var(--icon-size-small, 20px));--scb-accordion-leading-avatar-size:var(--scb-accordion-leading-avatar-size-small, var(--scale-10, 40px))}md-focus-ring{position:absolute;inset:0;pointer-events:none;border-radius:var(--scb-accordion-focus-ring-radius, var(--md-sys-shape-corner-small, 8px))}.scb-accordion-item{border-bottom:var(--stroke-border, 1px) solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);font-family:var(--brand-font)}.scb-accordion-top{list-style:none;display:flex;flex-direction:row;align-items:center;cursor:pointer;padding-block:var(--scb-accordion-item-padding-block, var(--spacing-7, 24px));padding-inline:var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px));border-radius:var(--radius-none, 0px);gap:var(--scb-accordion-item-gap, var(--spacing-5, 16px));color:var(--md-sys-color-on-surface);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;outline:0}.scb-accordion-top::-webkit-details-marker{display:none}summary::marker{content:""}:host([density="-2"]) .scb-accordion-top,:host-context([data-density="-2"]) .scb-accordion-top{padding-block:var(--spacing-5, 16px)}:host([density="-4"]) .scb-accordion-top,:host-context([data-density="-4"]) .scb-accordion-top{padding-block:var(--spacing-4, 12px)}.scb-accordion-bottom{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),opacity var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),padding var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing);padding-block:var(--scb-accordion-panel-padding-closed);padding-inline:calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed))}:host([open]) .scb-accordion-bottom{grid-template-rows:1fr;opacity:1;padding-top:max(var(--spacing-0, 0px),calc(var(--scb-accordion-content-padding-top, var(--spacing-2, 4px)) - var(--scb-accordion-interaction-bleed)));padding-right:calc(var(--scb-accordion-content-padding-inline, var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px))) - var(--scb-accordion-interaction-bleed));padding-bottom:calc(var(--scb-accordion-content-padding-bottom, var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px))) - var(--scb-accordion-interaction-bleed));padding-left:calc(var(--scb-accordion-content-padding-inline, var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px))) - var(--scb-accordion-interaction-bleed))}.bottom-inner{min-height:0;overflow:visible;padding-block:0;padding-inline:var(--scb-accordion-interaction-bleed);color:var(--md-sys-color-on-surface);font-family:var(--scb-accordion-content-text-font-current, var(--brand-font));font-size:var(--scb-accordion-content-text-font-current-size, var(--scb-accordion-content-text-size-current, var(--md-sys-typescale-body-large-size)));line-height:var(--scb-accordion-content-text-line-height-current, var(--md-sys-typescale-body-large-line-height));font-weight:var(--scb-accordion-content-text-font-weight-current, var(--scb-accordion-content-text-weight-current, var(--weight-regular)));letter-spacing:var(--scb-accordion-content-text-letter-spacing-current, var(--scb-accordion-content-text-tracking-current, var(--md-sys-typescale-body-large-tracking)))}:host([open]) .bottom-inner{padding-block:var(--scb-accordion-interaction-bleed)}.bottom-inner ::slotted(div),.bottom-inner ::slotted(ol),.bottom-inner ::slotted(p),.bottom-inner ::slotted(span),.bottom-inner ::slotted(ul){color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit}.title{font-family:var(--scb-accordion-title-font-current, var(--brand-font));font-size:var(--scb-accordion-title-font-current-size, var(--scb-accordion-title-size-current, var(--md-sys-typescale-title-large-size)));line-height:var(--scb-accordion-title-line-height-current, var(--md-sys-typescale-title-large-line-height));font-weight:var(--scb-accordion-title-font-weight-current, var(--scb-accordion-title-weight-current, var(--weight-semibold)));letter-spacing:var(--scb-accordion-title-letter-spacing-current, var(--scb-accordion-title-tracking-current, var(--md-sys-typescale-title-large-tracking)));color:var(--md-sys-color-on-surface)}.overline,.supporting-text{color:var(--md-sys-color-on-surface-variant)}.overline{font-family:var(--scb-accordion-overline-font-current, var(--brand-font));font-size:var(--scb-accordion-overline-font-current-size, var(--scb-accordion-overline-size-current, var(--md-sys-typescale-label-medium-size)));line-height:var(--scb-accordion-overline-line-height-current, var(--md-sys-typescale-label-medium-line-height));font-weight:var(--scb-accordion-overline-font-weight-current, var(--scb-accordion-overline-weight-current, var(--weight-regular)));letter-spacing:var(--scb-accordion-overline-letter-spacing-current, var(--scb-accordion-overline-tracking-current, var(--md-sys-typescale-label-medium-tracking)))}.supporting-text{font-family:var(--scb-accordion-supporting-font-current, var(--brand-font));font-size:var(--scb-accordion-supporting-font-current-size, var(--scb-accordion-supporting-size-current, var(--md-sys-typescale-body-large-size)));line-height:var(--scb-accordion-supporting-line-height-current, var(--md-sys-typescale-body-large-line-height));font-weight:var(--scb-accordion-supporting-font-weight-current, var(--scb-accordion-supporting-weight-current, var(--weight-regular)));letter-spacing:var(--scb-accordion-supporting-letter-spacing-current, var(--scb-accordion-supporting-tracking-current, var(--md-sys-typescale-body-large-tracking)))}.leading{align-self:center;display:grid;place-items:center}.leading md-icon{--md-icon-size:var(--scb-accordion-leading-icon-size, var(--icon-size-medium, 24px));font-size:var(--scb-accordion-leading-icon-size, var(--icon-size-medium, 24px));inline-size:var(--scb-accordion-leading-icon-size, var(--icon-size-medium, 24px));block-size:var(--scb-accordion-leading-icon-size, var(--icon-size-medium, 24px));line-height:1}.leading scb-avatar{--scb-avatar-size-medium:var(--scb-accordion-leading-avatar-size, var(--scale-10, 40px))}.img{width:var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));height:var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));object-fit:contain;border-radius:var(--radius-s, 8px)}.texts{display:grid;gap:var(--spacing-1, 2px)}.chevron{margin-left:auto;--scb-chevron-size:var(--scb-accordion-chevron-size, var(--icon-size-medium, 24px));inline-size:var(--scb-accordion-chevron-size, var(--icon-size-medium, 24px));block-size:var(--scb-accordion-chevron-size, var(--icon-size-medium, 24px))}md-ripple{border-radius:inherit;inset:0;position:absolute;pointer-events:none;overflow:hidden}@media (prefers-reduced-motion:reduce){md-ripple{display:none}}`],d);n([o({type:Boolean,reflect:!0})],r.prototype,"open",void 0);n([o({type:String})],r.prototype,"title",void 0);n([o({type:String})],r.prototype,"content",void 0);n([o({type:String,attribute:"overline"})],r.prototype,"overline",void 0);n([o({type:String,attribute:"supporting-text"})],r.prototype,"supportingText",void 0);n([o({type:Boolean})],r.prototype,"leading",void 0);n([o({type:String,attribute:"leading-variant",reflect:!0})],r.prototype,"leadingVariant",void 0);n([o({type:String,attribute:"leading-icon"})],r.prototype,"leadingIcon",void 0);n([o({type:String,attribute:"img-href-image",reflect:!0})],r.prototype,"imgHrefImage",void 0);n([o({type:String,attribute:"avatar-label"})],r.prototype,"avatarLabel",void 0);n([o({type:String,attribute:"avatar-alt"})],r.prototype,"avatarAlt",void 0);n([o({type:String,attribute:"avatar-variant"})],r.prototype,"avatarVariant",void 0);n([o({type:String,attribute:"avatar-src"})],r.prototype,"avatarSrc",void 0);n([o({type:Number,reflect:!0})],r.prototype,"density",void 0);r=g=n([u("scb-accordion-item")],r);
@@ -1,10 +1,10 @@
1
- import{g as m,h as y,m as v,p as c,v as b,y as _}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as o}from"../../vendor/decorate.js";import"./scb-accordion-item.js";import{t as S}from"../../vendor/component-defaults.js";import{n as k,t as a}from"../../vendor/assertClassBrand.js";import"../scb-button/scb-button.js";(function(){try{var i=typeof globalThis<"u"?globalThis:window;if(!i.__scb_ce_guard_installed__){i.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,r,l){try{customElements.get(e)||t(e,r,l)}catch(g){var h=String(g||"");if(h.indexOf("already been used")===-1&&h.indexOf("NotSupportedError")===-1)throw g}}}}catch{}})();var n,p,s=(n=new WeakSet,p=class extends y{constructor(...t){super(...t),k(this,n),this.singleOpen=!1,this.showCloseAll=!1,this.openAllLabel="Öppna alla",this.closeAllLabel="Stäng alla",this.controlsLabel="Accordionkontroller",this.size=S["scb-accordion"].size,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0}connectedCallback(){super.connectedCallback(),this.addEventListener("open-changed",a(n,this,f))}disconnectedCallback(){this.removeEventListener("open-changed",a(n,this,f)),super.disconnectedCallback()}render(){const t=!this.singleOpen&&this.showCloseAll,e=t?a(n,this,A).call(this):!1;return b`
1
+ import{g as m,h as v,m as y,p as c,v as b,y as _}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as k}from"../../vendor/component-defaults.js";import{t as o}from"../../vendor/decorate.js";import{n as S,t as a}from"../../vendor/assertClassBrand.js";import"./scb-accordion-item.js";import"../scb-button/scb-button.js";(function(){try{var e=typeof globalThis<"u"?globalThis:window;if(!e.__scb_ce_guard_installed__){e.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(i,r,l){try{customElements.get(i)||t(i,r,l)}catch(h){var g=String(h||"");if(g.indexOf("already been used")===-1&&g.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var n,p,s=(n=new WeakSet,p=class extends v{constructor(...t){super(...t),S(this,n),this.singleOpen=!1,this.showCloseAll=!1,this.openAllLabel="Öppna alla",this.closeAllLabel="Stäng alla",this.controlsLabel="Accordionkontroller",this.size=k["scb-accordion"].size,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0}connectedCallback(){super.connectedCallback(),this.addEventListener("open-changed",a(n,this,f))}disconnectedCallback(){this.removeEventListener("open-changed",a(n,this,f)),super.disconnectedCallback()}render(){const t=!this.singleOpen&&this.showCloseAll,i=t?a(n,this,A).call(this):!1;return b`
2
2
  <div class="scb-accordion" ?single-open=${this.singleOpen}>
3
3
  ${t?b`
4
4
  <div class="scb-accordion-actions" role="toolbar" aria-label=${this.controlsLabel}>
5
5
  <scb-button
6
6
  variant="text"
7
- label=${e?this.closeAllLabel:this.openAllLabel}
7
+ label=${i?this.closeAllLabel:this.openAllLabel}
8
8
  @click=${a(n,this,O)}
9
9
  ></scb-button>
10
10
  </div>
@@ -12,4 +12,4 @@ import{g as m,h as y,m as v,p as c,v as b,y as _}from"../../vendor/vendor.js";im
12
12
 
13
13
  <slot @slotchange=${a(n,this,C)}></slot>
14
14
  </div>
15
- `}firstUpdated(){a(n,this,u).call(this),a(n,this,d).call(this)}updated(t){(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&a(n,this,u).call(this),t.has("singleOpen")&&a(n,this,d).call(this)}_getDirectItems(){return Array.from(this.children).filter(t=>t.tagName==="SCB-ACCORDION-ITEM")}onItemToggled(t,e){if(this.singleOpen&&e){this._getDirectItems().forEach(r=>{r!==t&&r.setOpen(!1)});return}!this.singleOpen&&this.showCloseAll&&this.requestUpdate()}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}},p.styles=_`:host{display:block;margin-block-start:var(--scb-accordion-spacing-block-start, 0);margin-block-end:var(--scb-accordion-spacing-block-end, 0);margin-inline-start:var(--scb-accordion-spacing-inline-start, 0);margin-inline-end:var(--scb-accordion-spacing-inline-end, 0);--scb-accordion-actions-padding-inline:var(--spacing-5, 16px)}:host,:host([size='medium']),:host([size='small']){--scb-accordion-actions-padding-block:var(--spacing-2, 4px)}:host([size='medium']){--scb-accordion-actions-padding-inline:var(--spacing-5, 16px)}:host([size='small']){--scb-accordion-actions-padding-inline:var(--spacing-4, 12px)}.scb-accordion-actions{display:flex;justify-content:flex-end;padding-inline:var(--scb-accordion-actions-padding-inline);padding-block-start:var(--scb-accordion-actions-padding-block);padding-block-end:var(--scb-accordion-actions-padding-block)}`,p);function A(){const i=this._getDirectItems();return i.length>0&&i.every(t=>t.open)}function O(){if(this.singleOpen||!this.showCloseAll)return;const i=this._getDirectItems(),t=i.length>0&&i.every(e=>e.open);i.forEach(e=>e.setOpen(!t))}function f(){this.singleOpen||this.showCloseAll&&this.requestUpdate()}function C(){if(this.singleOpen){a(n,this,d).call(this);return}this.showCloseAll&&this.requestUpdate()}function d(){if(!this.singleOpen)return;const i=this._getDirectItems().filter(t=>t.open);i.length<=1||i.slice(1).forEach(t=>t.setOpen(!1))}function u(){const i=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??i,e=this.mapSpacingToken(this.spacingBottom)??i,r=this.mapSpacingToken(this.spacingLeft),l=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-accordion-spacing-block-start",t):this.style.removeProperty("--scb-accordion-spacing-block-start"),e?this.style.setProperty("--scb-accordion-spacing-block-end",e):this.style.removeProperty("--scb-accordion-spacing-block-end"),r?this.style.setProperty("--scb-accordion-spacing-inline-start",r):this.style.removeProperty("--scb-accordion-spacing-inline-start"),l?this.style.setProperty("--scb-accordion-spacing-inline-end",l):this.style.removeProperty("--scb-accordion-spacing-inline-end")}o([c({type:Boolean,attribute:"single-open",reflect:!0})],s.prototype,"singleOpen",void 0);o([c({type:Boolean,attribute:"show-close-all",reflect:!0})],s.prototype,"showCloseAll",void 0);o([c({type:String,attribute:"open-all-label"})],s.prototype,"openAllLabel",void 0);o([c({type:String,attribute:"close-all-label"})],s.prototype,"closeAllLabel",void 0);o([c({type:String,attribute:"controls-label"})],s.prototype,"controlsLabel",void 0);o([c({type:String,reflect:!0})],s.prototype,"size",void 0);o([c({type:String,reflect:!0})],s.prototype,"spacing",void 0);o([c({type:String,attribute:"spacing-top",reflect:!0})],s.prototype,"spacingTop",void 0);o([c({type:String,attribute:"spacing-bottom",reflect:!0})],s.prototype,"spacingBottom",void 0);o([c({type:String,attribute:"spacing-left",reflect:!0})],s.prototype,"spacingLeft",void 0);o([c({type:String,attribute:"spacing-right",reflect:!0})],s.prototype,"spacingRight",void 0);s=o([v("scb-accordion")],s);
15
+ `}firstUpdated(){a(n,this,u).call(this),a(n,this,d).call(this)}updated(t){(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&a(n,this,u).call(this),t.has("singleOpen")&&a(n,this,d).call(this)}_getDirectItems(){return Array.from(this.children).filter(t=>t.tagName==="SCB-ACCORDION-ITEM")}onItemToggled(t,i){if(this.singleOpen&&i){this._getDirectItems().forEach(r=>{r!==t&&r.setOpen(!1)});return}!this.singleOpen&&this.showCloseAll&&this.requestUpdate()}mapSpacingToken(t){if(!t)return;const i=String(t).trim();if(i)return/^\d+$/.test(i)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(i,10)))})`:i}},p.styles=_`:host{display:block;margin-block-start:var(--scb-accordion-spacing-block-start, 0);margin-block-end:var(--scb-accordion-spacing-block-end, 0);margin-inline-start:var(--scb-accordion-spacing-inline-start, 0);margin-inline-end:var(--scb-accordion-spacing-inline-end, 0);--scb-accordion-actions-padding-inline:var(--scb-accordion-actions-padding-inline-large, var(--spacing-5, 16px));--scb-accordion-actions-padding-block:var(--scb-accordion-actions-padding-block-large, var(--spacing-2, 4px))}:host([size='medium']){--scb-accordion-actions-padding-inline:var(--scb-accordion-actions-padding-inline-medium, var(--spacing-5, 16px));--scb-accordion-actions-padding-block:var(--scb-accordion-actions-padding-block-medium, var(--spacing-2, 4px))}:host([size='small']){--scb-accordion-actions-padding-inline:var(--scb-accordion-actions-padding-inline-small, var(--spacing-4, 12px));--scb-accordion-actions-padding-block:var(--scb-accordion-actions-padding-block-small, var(--spacing-2, 4px))}.scb-accordion-actions{display:flex;justify-content:flex-end;padding-inline:var(--scb-accordion-actions-padding-inline);padding-block-start:var(--scb-accordion-actions-padding-block);padding-block-end:var(--scb-accordion-actions-padding-block)}`,p);function A(){const e=this._getDirectItems();return e.length>0&&e.every(t=>t.open)}function O(){if(this.singleOpen||!this.showCloseAll)return;const e=this._getDirectItems(),t=e.length>0&&e.every(i=>i.open);e.forEach(i=>i.setOpen(!t))}function f(){this.singleOpen||this.showCloseAll&&this.requestUpdate()}function C(){if(this.singleOpen){a(n,this,d).call(this);return}this.showCloseAll&&this.requestUpdate()}function d(){if(!this.singleOpen)return;const e=this._getDirectItems().filter(t=>t.open);e.length<=1||e.slice(1).forEach(t=>t.setOpen(!1))}function u(){const e=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??e,i=this.mapSpacingToken(this.spacingBottom)??e,r=this.mapSpacingToken(this.spacingLeft),l=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-accordion-spacing-block-start",t):this.style.removeProperty("--scb-accordion-spacing-block-start"),i?this.style.setProperty("--scb-accordion-spacing-block-end",i):this.style.removeProperty("--scb-accordion-spacing-block-end"),r?this.style.setProperty("--scb-accordion-spacing-inline-start",r):this.style.removeProperty("--scb-accordion-spacing-inline-start"),l?this.style.setProperty("--scb-accordion-spacing-inline-end",l):this.style.removeProperty("--scb-accordion-spacing-inline-end")}o([c({type:Boolean,attribute:"single-open",reflect:!0})],s.prototype,"singleOpen",void 0);o([c({type:Boolean,attribute:"show-close-all",reflect:!0})],s.prototype,"showCloseAll",void 0);o([c({type:String,attribute:"open-all-label"})],s.prototype,"openAllLabel",void 0);o([c({type:String,attribute:"close-all-label"})],s.prototype,"closeAllLabel",void 0);o([c({type:String,attribute:"controls-label"})],s.prototype,"controlsLabel",void 0);o([c({type:String,reflect:!0})],s.prototype,"size",void 0);o([c({type:String,reflect:!0})],s.prototype,"spacing",void 0);o([c({type:String,attribute:"spacing-top",reflect:!0})],s.prototype,"spacingTop",void 0);o([c({type:String,attribute:"spacing-bottom",reflect:!0})],s.prototype,"spacingBottom",void 0);o([c({type:String,attribute:"spacing-left",reflect:!0})],s.prototype,"spacingLeft",void 0);o([c({type:String,attribute:"spacing-right",reflect:!0})],s.prototype,"spacingRight",void 0);s=o([y("scb-accordion")],s);