scb-wc 0.1.157 → 0.1.159

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 (209) hide show
  1. package/README.md +51 -177
  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 +8 -8
  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-dialog/scb-dialog.js +26 -19
  22. package/mvc/components/scb-divider/scb-divider.js +1 -1
  23. package/mvc/components/scb-drawer/scb-drawer.js +3 -7
  24. package/mvc/components/scb-drop-zone/scb-drop-zone.js +19 -19
  25. package/mvc/components/scb-dropdown/scb-dropdown.js +8 -8
  26. package/mvc/components/scb-fab/scb-fab.js +15 -5
  27. package/mvc/components/scb-fact-card/scb-fact-card-content.js +7 -7
  28. package/mvc/components/scb-fact-card/scb-fact-card.js +6 -6
  29. package/mvc/components/scb-footer/scb-footer.js +13 -13
  30. package/mvc/components/scb-form-error-summary/scb-form-error-summary.js +3 -3
  31. package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +3 -3
  32. package/mvc/components/scb-grid/scb-grid.js +1 -1
  33. package/mvc/components/scb-grid/scb-stack.js +1 -1
  34. package/mvc/components/scb-header/scb-header.js +75 -59
  35. package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +2 -2
  36. package/mvc/components/scb-icon/scb-icon.js +3 -3
  37. package/mvc/components/scb-icon-button/scb-icon-button.js +11 -11
  38. package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +22 -22
  39. package/mvc/components/scb-link/scb-link.js +5 -5
  40. package/mvc/components/scb-list/scb-list-item.js +22 -22
  41. package/mvc/components/scb-list/scb-list.js +2 -2
  42. package/mvc/components/scb-menu/scb-menu-item.js +18 -18
  43. package/mvc/components/scb-menu/scb-menu-section.js +3 -3
  44. package/mvc/components/scb-menu/scb-menu.js +3 -3
  45. package/mvc/components/scb-nav/scb-nav.js +10 -10
  46. package/mvc/components/scb-notification-card/scb-notification-card.js +18 -18
  47. package/mvc/components/scb-options-menu/scb-options-menu-item.js +9 -9
  48. package/mvc/components/scb-options-menu/scb-options-menu.js +3 -3
  49. package/mvc/components/scb-options-menu/scb-options-sub-menu.js +2 -2
  50. package/mvc/components/scb-overlay/scb-overlay.js +4 -4
  51. package/mvc/components/scb-pagination/scb-pagination.js +25 -25
  52. package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +7 -8
  53. package/mvc/components/scb-progress-stepper/scb-progress-step.js +2 -2
  54. package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +2 -2
  55. package/mvc/components/scb-radio-button/scb-radio-button.js +7 -7
  56. package/mvc/components/scb-radio-button/scb-radio-group.js +4 -4
  57. package/mvc/components/scb-scrollspy/scb-scrollspy.js +2 -2
  58. package/mvc/components/scb-search/scb-search.js +15 -15
  59. package/mvc/components/scb-segmented-button/scb-segmented-button.js +1 -1
  60. package/mvc/components/scb-segmented-button/scb-segmented-item.js +3 -3
  61. package/mvc/components/scb-select/scb-select-option.js +5 -5
  62. package/mvc/components/scb-select/scb-select.js +15 -15
  63. package/mvc/components/scb-skeleton/scb-skeleton.js +2 -2
  64. package/mvc/components/scb-slider/scb-slider.js +1 -1
  65. package/mvc/components/scb-snackbar/scb-snackbar.js +6 -6
  66. package/mvc/components/scb-status-pill/scb-status-pill.js +3 -3
  67. package/mvc/components/scb-stepper/scb-step.js +5 -5
  68. package/mvc/components/scb-stepper/scb-stepper.js +2 -2
  69. package/mvc/components/scb-switch/scb-switch.js +4 -4
  70. package/mvc/components/scb-table/scb-table.js +2 -2
  71. package/mvc/components/scb-table-advanced/scb-table-advanced.js +5 -5
  72. package/mvc/components/scb-tabs/scb-primary-tab.js +2 -2
  73. package/mvc/components/scb-tabs/scb-secondary-tab.js +2 -2
  74. package/mvc/components/scb-tabs/scb-tabs.js +4 -4
  75. package/mvc/components/scb-textfield/scb-textfield.js +84 -58
  76. package/mvc/components/scb-toc/scb-toc-item.js +7 -7
  77. package/mvc/components/scb-toc/scb-toc.js +2 -2
  78. package/mvc/components/scb-tooltip/scb-tooltip.js +8 -8
  79. package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -2
  80. package/mvc/components/scb-viz/scb-viz-print-runtime.js +12 -8
  81. package/mvc/components/scb-viz/scb-viz.js +41 -41
  82. package/mvc/scb-compact.css +1 -1
  83. package/mvc/scb-logo.svg +20 -20
  84. package/mvc/scb-typography.css +1 -1
  85. package/mvc/scb-wc-core.css +1 -1
  86. package/mvc/scb-wc-selfhost.css +1 -1
  87. package/mvc/scb-wc.css +1 -1
  88. package/mvc/scb.svg +13 -13
  89. package/mvc/vendor/component-defaults.js +1 -1
  90. package/mvc/vendor/lazy-focus-ring.js +1 -1
  91. package/mvc/vendor/lazy-ripple.js +1 -1
  92. package/mvc/vendor/preload-helper.js +1 -1
  93. package/mvc/vendor/runtime-colors.js +1 -0
  94. package/mvc/vendor/scb-card-variants.internal.js +122 -76
  95. package/mvc/vendor/scb-header-drawer.internal.js +1 -1
  96. package/mvc/vendor/vendor.js +3 -3
  97. package/package.json +3 -2
  98. package/scb-accordion/scb-accordion-item.js +183 -48
  99. package/scb-accordion/scb-accordion.js +32 -22
  100. package/scb-action-card/scb-action-card.js +2 -1
  101. package/scb-app-bar/scb-app-bar.js +239 -139
  102. package/scb-avatar/scb-avatar.js +75 -27
  103. package/scb-badge/scb-badge.js +17 -15
  104. package/scb-breadcrumb/scb-breadcrumb-item.js +25 -16
  105. package/scb-breadcrumb/scb-breadcrumb.js +32 -21
  106. package/scb-button/scb-button.js +171 -66
  107. package/scb-calendar/scb-calendar-event.js +1 -1
  108. package/scb-calendar/scb-calendar.js +140 -74
  109. package/scb-calendar-card/scb-calendar-card.js +197 -103
  110. package/scb-card/scb-card-variants.internal.js +1 -1
  111. package/scb-card/scb-card.js +433 -241
  112. package/scb-checkbox/scb-checkbox-group.js +56 -41
  113. package/scb-checkbox/scb-checkbox.js +73 -39
  114. package/scb-chevron/scb-chevron.js +2 -1
  115. package/scb-chip/scb-chip.js +62 -39
  116. package/scb-collapse/scb-collapse.js +19 -15
  117. package/scb-compact.css +1 -1
  118. package/scb-components/scb-app-bar/scb-app-bar.d.ts +9 -2
  119. package/scb-components/scb-button/scb-button.d.ts +14 -1
  120. package/scb-components/scb-calendar/scb-calendar.d.ts +5 -0
  121. package/scb-components/scb-card/scb-card.d.ts +2 -0
  122. package/scb-components/scb-chip/scb-chip.d.ts +0 -4
  123. package/scb-components/scb-dialog/scb-dialog.d.ts +30 -0
  124. package/scb-components/scb-grid/scb-grid.d.ts +4 -1
  125. package/scb-components/scb-nav/scb-nav.d.ts +1 -1
  126. package/scb-components/scb-overlay/scb-overlay.d.ts +1 -1
  127. package/scb-components/scb-segmented-button/scb-segmented-button.d.ts +8 -7
  128. package/scb-components/scb-segmented-button/scb-segmented-item.d.ts +5 -2
  129. package/scb-components/scb-skeleton/scb-skeleton.d.ts +6 -3
  130. package/scb-components/scb-textfield/scb-textfield.d.ts +8 -0
  131. package/scb-cookies-consent/scb-cookies-consent.js +27 -21
  132. package/scb-datepicker/scb-datepicker.js +65 -61
  133. package/scb-dialog/scb-dialog.js +320 -86
  134. package/scb-divider/scb-divider.js +16 -19
  135. package/scb-drawer/scb-drawer.js +5 -11
  136. package/scb-drop-zone/scb-drop-zone.js +138 -101
  137. package/scb-dropdown/scb-dropdown.js +37 -23
  138. package/scb-fab/scb-fab.js +42 -31
  139. package/scb-fact-card/scb-fact-card-content.js +106 -19
  140. package/scb-fact-card/scb-fact-card.js +148 -55
  141. package/scb-footer/scb-footer-section.js +1 -1
  142. package/scb-footer/scb-footer.js +37 -43
  143. package/scb-form-error-summary/scb-form-error-summary.js +18 -12
  144. package/scb-gallery-grid/scb-gallery-grid.js +24 -24
  145. package/scb-grid/scb-grid-item.js +1 -1
  146. package/scb-grid/scb-grid.js +6 -6
  147. package/scb-grid/scb-stack.js +4 -4
  148. package/scb-header/scb-header-drawer.internal.js +1 -1
  149. package/scb-header/scb-header-menu-item.js +1 -1
  150. package/scb-header/scb-header-tab.js +1 -1
  151. package/scb-header/scb-header.js +327 -150
  152. package/scb-horizontal-scroller/scb-horizontal-scroller.js +24 -49
  153. package/scb-icon/scb-icon.js +18 -18
  154. package/scb-icon-button/scb-icon-button.js +58 -52
  155. package/scb-keyfigure-card/scb-keyfigure-card.js +178 -60
  156. package/scb-link/scb-link.js +15 -9
  157. package/scb-list/scb-list-item.js +107 -51
  158. package/scb-list/scb-list.js +19 -14
  159. package/scb-menu/scb-menu-item.js +35 -17
  160. package/scb-menu/scb-menu-section.js +15 -10
  161. package/scb-menu/scb-menu.js +25 -15
  162. package/scb-menu/scb-sub-menu.js +1 -1
  163. package/scb-nav/scb-nav-item.js +1 -1
  164. package/scb-nav/scb-nav.js +36 -61
  165. package/scb-notification-card/scb-notification-card.js +196 -99
  166. package/scb-options-menu/scb-options-menu-item.js +25 -18
  167. package/scb-options-menu/scb-options-menu.js +61 -42
  168. package/scb-options-menu/scb-options-sub-menu.js +9 -9
  169. package/scb-overlay/scb-overlay.js +4 -3
  170. package/scb-pagination/scb-pagination.js +65 -37
  171. package/scb-progress-indicator/scb-progress-indicator.js +23 -20
  172. package/scb-progress-stepper/scb-progress-step.js +5 -5
  173. package/scb-progress-stepper/scb-progress-stepper.js +5 -4
  174. package/scb-radio-button/scb-radio-button.js +64 -30
  175. package/scb-radio-button/scb-radio-group.js +34 -33
  176. package/scb-scrollspy/scb-scrollspy.js +8 -5
  177. package/scb-search/scb-search.js +148 -60
  178. package/scb-segmented-button/scb-segmented-button.js +83 -21
  179. package/scb-segmented-button/scb-segmented-item.js +23 -16
  180. package/scb-select/scb-select-option.js +36 -12
  181. package/scb-select/scb-select.js +260 -99
  182. package/scb-skeleton/scb-skeleton.js +11 -4
  183. package/scb-slider/scb-slider.js +24 -27
  184. package/scb-snackbar/scb-snackbar.js +16 -16
  185. package/scb-status-pill/scb-status-pill.js +9 -8
  186. package/scb-stepper/scb-step.js +23 -21
  187. package/scb-stepper/scb-stepper.js +61 -32
  188. package/scb-switch/scb-switch.js +31 -14
  189. package/scb-table/scb-table.js +16 -14
  190. package/scb-table-advanced/scb-table-advanced.js +21 -17
  191. package/scb-tabs/scb-primary-tab.js +30 -1
  192. package/scb-tabs/scb-secondary-tab.js +16 -1
  193. package/scb-tabs/scb-tabs.js +17 -2
  194. package/scb-textfield/scb-textfield.js +308 -143
  195. package/scb-toc/scb-toc-item.js +115 -56
  196. package/scb-toc/scb-toc.js +1 -1
  197. package/scb-tooltip/scb-tooltip.js +12 -15
  198. package/scb-typography.css +1 -1
  199. package/scb-viz/scb-viz-actions-runtime.js +47 -46
  200. package/scb-viz/scb-viz-print-runtime.js +28 -23
  201. package/scb-viz/scb-viz.js +32 -31
  202. package/scb-wc-core.css +1 -1
  203. package/scb-wc-selfhost.css +1 -1
  204. package/scb-wc.bundle.js +4929 -2882
  205. package/scb-wc.css +1 -1
  206. package/shared/scb-icon-svg.js +1 -1
  207. package/tokens/generated/runtime-colors.js +12 -0
  208. package/scb-components/scb-card/scb-card-variants.internal.d.ts +0 -15
  209. package/scb-components/scb-header/scb-header-drawer.internal.d.ts +0 -33
package/README.md CHANGED
@@ -1,190 +1,103 @@
1
1
  # Om SCB Web Components
2
2
 
3
- SCB Web Components finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
3
+ SCB Web Components innehåller SCB:s gemensamma webbkomponenter.
4
4
 
5
- Komponenterna bygger på:
6
- - [Lit](https://lit.dev/)
7
- - [Material Web Components](https://material-web.dev/about/intro/)
8
-
9
- ## Storybook och dokumentation (internt)
5
+ ## Dokumentation
10
6
 
11
7
  Produktionskomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna adress:
12
8
 
13
- - Prod: https://webcomponents.scb.intra
9
+ - Prod: <https://webcomponents.scb.intra>
14
10
 
15
11
  Testkomponenterna finns på:
16
12
 
17
- - Test: https://webcomponentstest.scb.intra
18
-
19
- ---
13
+ - Test: <https://webcomponentstest.scb.intra>
20
14
 
21
15
  ## Kom igång
22
16
 
23
- Rekommenderad startväg:
17
+ ### 1. Skapa en app
18
+
19
+ Välj den teknik du använder. Exemplet skapar en vanlig webbplats:
24
20
 
25
21
  ```sh
26
22
  npx scb-wc init html my-app
27
- npx scb-wc init html-service my-service
28
- npx scb-wc init react my-react-app
29
- npx scb-wc init react-service my-react-service
30
- npx scb-wc init blazor my-blazor-app
31
- npx scb-wc init blazor-service my-blazor-service
23
+ cd my-app
24
+ npm install
25
+ npm run dev
32
26
  ```
33
27
 
34
- Webbplatsmallarna skapar en liten starterapp med:
35
- - `scb-header`
36
- - `scb-footer`
37
- - `scb-grid`
38
- - några vanliga komponenter
28
+ Byt `html` mot:
39
29
 
40
- Webbtjänstmallarna skapar en starterapp med:
41
- - `scb-app-bar`
42
- - `scb-search`
43
- - `scb-table-advanced`
44
- - komponenter för actions och status
30
+ - `react` för React
31
+ - `blazor` för Blazor
32
+ - `html-service`, `react-service` eller `blazor-service` för en tätare webbtjänst
45
33
 
46
- Välj sedan den starter som ligger närmast din app och kör `npm install` i den nya mappen.
34
+ ### 2. Lägg till i en app som redan finns
47
35
 
48
- Om du redan har en app med `package.json`, kör kommandon i den mappen och installera paketet:
36
+ Kör kommandot i mappen där appens `package.json` ligger:
49
37
 
50
38
  ```sh
51
39
  npm install scb-wc
52
40
  ```
53
41
 
54
- ---
55
-
56
- ## Alternativ 1: Använd som ES‑moduler (t.ex. i React, Vue, SPA)
57
-
58
- Importera CSS och de komponenter du använder (bäst för tree‑shaking):
42
+ Importera CSS och bara de komponenter som sidan använder:
59
43
 
60
44
  ```js
61
- // Global CSS + tokens (måste bara importeras en gång)
62
45
  import 'scb-wc/scb-wc.css';
63
46
  import 'scb-wc/scb-typography.css';
64
-
65
- // Enskilda web components
66
47
  import 'scb-wc/scb-button';
67
- import 'scb-wc/scb-accordion';
68
48
  ```
69
49
 
70
- Vill du ladda allt finns en samlingsfil (inte rekommenderat i större appar):
50
+ Lägg sedan komponenten i sidan:
71
51
 
72
- ```js
73
- // Global CSS + tokens (måste bara importeras en gång)
74
- import 'scb-wc/scb-wc.css';
75
- import 'scb-wc/scb-typography.css';
76
- import 'scb-wc/all';
52
+ ```html
53
+ <scb-button variant="filled">Fortsätt</scb-button>
77
54
  ```
78
55
 
79
- `scb-wc.css` använder paketets standardtypografi. För tätare app- eller tjänstlayouter kan du ladda compact-lagret efter bas-CSS:en:
56
+ ### Nästa steg
80
57
 
81
- ```js
82
- import 'scb-wc/scb-wc.css';
83
- import 'scb-wc/scb-typography.css';
84
- import 'scb-wc/scb-compact.css';
85
- ```
58
+ - Öppna Kom igång i [Prod Storybook](https://webcomponents.scb.intra/?path=/docs/docs-kom-igång--beskrivning) för HTML/CSS, React, MVC och Blazor.
59
+ - Öppna [mallar och exempel](https://webcomponents.scb.intra/?path=/docs/examples-and-templates-att-använda-mallar-och-exempel--beskrivning) när du vill bygga en hel sida.
60
+ - Öppna [komponentöversikten](https://webcomponents.scb.intra/?path=/story/components-översikt-alla-komponenter-exposé--expose) när du vill välja nästa komponent.
86
61
 
87
- Service- och appstartermallarna laddar `scb-compact.css`. Webbplatsstartermallarna använder standardtypografin.
62
+ ## Kort referens
88
63
 
89
- ### Självhosta fonter (Inter + Material Symbols)
64
+ ### Ladda alla komponenter
90
65
 
91
- Som standard laddas fonterna från Google Fonts via `scb-wc.css`.
92
- Vill du selfhosta kan du istället importera:
66
+ Importera `all` bara om appen verkligen behöver de flesta komponenterna:
93
67
 
94
68
  ```js
95
- import 'scb-wc/scb-wc-selfhost.css';
69
+ import 'scb-wc/scb-wc.css';
70
+ import 'scb-wc/scb-typography.css';
71
+ import 'scb-wc/all';
96
72
  ```
97
73
 
98
- 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.
99
-
100
- ### Optimera Material Symbols med eget ikon-subset
101
-
102
- 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`.
74
+ ### Tätare webbtjänster
103
75
 
104
- 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:
105
-
106
- ```sh
107
- npx scb-wc subset-icons --icons ./src/scb-icons.json --out ./public/scb-icons
108
- ```
109
-
110
- 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:
76
+ Ladda Compact efter bas-CSS och typografi:
111
77
 
112
78
  ```js
113
- import 'scb-wc/scb-wc-core.css';
114
- import '/scb-icons/scb-wc-icons.css';
79
+ import 'scb-wc/scb-wc.css';
115
80
  import 'scb-wc/scb-typography.css';
81
+ import 'scb-wc/scb-compact.css';
116
82
  ```
117
83
 
118
- För MVC/MPA räcker det normalt att använda `scb-wc-selfhost.css`, eftersom den redan pekar på paketets selfhostade fontfiler.
119
-
120
- ---
121
-
122
- ## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
123
-
124
- Det här läget använder den färdig‑splittrade **MVC‑ESM**‑builden som följer med paketet under:
125
-
126
- ```text
127
- node_modules/scb-wc/mvc/
128
- ```
129
-
130
- ### 2.1) Rekommenderat: ett npm‑script för att kopiera UI‑filer
131
-
132
- Lägg till i din apps `package.json`:
133
-
134
- ```jsonc
135
- {
136
- "scripts": {
137
- "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\""
138
- }
139
- }
140
- ```
141
-
142
- Kör sedan:
143
-
144
- ```sh
145
- npm run ui:install
146
- ```
147
-
148
- Det kopierar hela `node_modules/scb-wc/mvc/` till `wwwroot/ui/` i din applikation (komponenter, vendor, CSS och fonts).
149
-
150
- ### 2.2) Ladda filer i layouten (Razor, .cshtml, klassisk MVC)
151
-
152
- Exemplet använder selfhost-läget. Lägg CSS i `<head>` och ladda bara de komponentskript som sidan använder.
153
-
154
- ```html
155
- <!-- Global layout, helst i <head> -->
156
- <link rel="stylesheet" href="~/ui/scb-wc-selfhost.css" />
157
- <link rel="stylesheet" href="~/ui/scb-typography.css" />
158
- <!-- Lägg till scb-compact.css om sidan ska använda compact-typografi. -->
159
-
160
- <!-- Ladda bara de komponenter sidan använder -->
161
- <script type="module" src="~/ui/components/scb-button/scb-button.js"></script>
162
- ```
163
-
164
- `~/ui/scb-wc-selfhost.css` laddar Inter och paketets Material Symbols-subset från `~/ui/fonts/`.
84
+ Webbplatsmallarna använder standardläget. Service- och appmallarna laddar Compact.
165
85
 
166
- ### 2.3) CI/CD‑exempel
86
+ ### MVC och statiska webbplatser
167
87
 
168
- Kör samma script i din pipeline:
88
+ Paketets färdiga MVC-filer ligger i `node_modules/scb-wc/mvc/`. Följ det kopierbara MVC-exemplet i [Kom igång](https://webcomponents.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.
169
89
 
170
- ```yaml
171
- steps:
172
- - script: npm ci
173
- - script: npm run ui:install
174
- ```
90
+ ### Blazor
175
91
 
176
- Behöver du en annan webbrotsökväg (t.ex. om din `wwwroot` ligger någon annanstans) kan du ange flaggan:
92
+ Blazor använder samma MVC-filer plus wrappers och interop under `node_modules/scb-wc/blazor/`. Följ [Kom igång](https://webcomponents.scb.intra/?path=/docs/docs-kom-igång--beskrivning) för första installationen och [Blazor-guiden](https://webcomponents.scb.intra/?path=/docs/docs-om-användning-i-blazor--beskrivning) när integrationen behöver state, parametrar eller events.
177
93
 
178
- ```yaml
179
- - script: npm run ui:install --ui_wwwroot=../wwwroot
180
- ```
94
+ ### Fonter och egna ikoner
181
95
 
182
- ---
96
+ Vanliga appar använder `scb-wc.css`. Selfhost och egna Material Symbols-subset är avancerade val. Följ [Foundations/Icons](https://webcomponents.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`.
183
97
 
184
- ## Alternativ 3: Bundlad version (IIFE) för äldre miljöer
98
+ ### Bundlad version
185
99
 
186
- Om ESM inte stöds kan du använda den bundlade varianten från paketroten.
187
- Flytta följande tre filer från `node_modules/scb-wc` och använd dem i applikationen:
100
+ Miljöer som inte kan använda ESM kan ladda:
188
101
 
189
102
  ```text
190
103
  node_modules/scb-wc/scb-wc.bundle.js
@@ -192,57 +105,18 @@ node_modules/scb-wc/scb-wc.css
192
105
  node_modules/scb-wc/scb-typography.css
193
106
  ```
194
107
 
195
- ```html
196
- <link rel="stylesheet" href="scb-wc.css">
197
- <link rel="stylesheet" href="scb-typography.css" />
198
- <script src="scb-wc.bundle.js"></script>
199
- ```
200
-
201
- Lägg till `scb-compact.css` om sidan ska använda compact-typografi.
202
-
203
- > **Obs:** Blanda inte MVC‑ESM och IIFE på samma sida.
204
-
205
- ---
206
-
207
- ## Alternativ 4: Blazor (Server och WebAssembly)
108
+ Blanda inte bundle och MVC-ESM på samma sida.
208
109
 
209
- SCB Web Components fungerar även i Blazor‑appar när du vill använda samma komponenter i både MVC/MPA och Blazor.
110
+ ### Uppdatera paketet
210
111
 
211
- Grundprincipen är:
112
+ Kör i appens mapp och bygg sedan appen med dess vanliga kommando:
212
113
 
213
- 1. Använd MVC‑ESM‑builden (`node_modules/scb-wc/mvc`) och kopiera den till `wwwroot/ui` med `ui:install`.
214
- 2. Ladda `scb-blazor-bridge.js` från `wwwroot/ui` i din Blazor‑layout.
215
- 3. Lägg till (eller återanvänd) `ScbBlazorInteropBase` i din lösning.
216
-
217
- ### 4.1) Script i Blazor-projektets `package.json`
218
-
219
- 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`:
220
-
221
- ```jsonc
222
- {
223
- "scripts": {
224
- "ui:install": "node -e \"const fs=require('fs'),p=require('path');const src=p.resolve('node_modules/scb-wc/mvc');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const start=process.env.INIT_CWD||process.cwd();const ov=process.env.npm_config_ui_wwwroot;function findBase(){if(ov){return p.isAbsolute(ov)?ov:p.resolve(start,ov);}let d=start;while(true){const cand=p.join(d,'wwwroot');if(fs.existsSync(cand)) return cand;const up=p.dirname(d);if(up===d) return p.resolve(start,'wwwroot');d=up;}}const base=findBase();const dst=p.resolve(base,'ui');fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\"",
225
- "ui:blazor:interop": "node -e \"const fs=require('fs'),p=require('path');const start=process.env.INIT_CWD||process.cwd();const src=p.resolve('node_modules/scb-wc/blazor/ScbBlazorInteropBase.cs');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc?');process.exit(1);}const dst=p.resolve(start,'ScbBlazor/ScbBlazorInteropBase.cs');fs.mkdirSync(p.dirname(dst),{recursive:true});fs.copyFileSync(src,dst);console.log('Kopierade '+src+' → '+dst);\""
226
- }
227
- }
228
- ```
229
-
230
- Exempel på layout:
231
-
232
- ```html
233
- <link rel="stylesheet" href="~/ui/scb-wc.css" />
234
- <link rel="stylesheet" href="~/ui/scb-typography.css" />
235
-
236
- <script type="module" src="~/ui/scb-blazor-bridge.js"></script>
114
+ ```sh
115
+ npm install scb-wc
237
116
  ```
238
117
 
239
- `ScbBlazorInteropBase` kan återanvändas mellan projekt som använder både `scb-wc@latest` och `scb-wc@next`.
240
-
241
- ---
242
-
243
118
  ## Viktigt
244
119
 
245
- - `scb-wc@latest` är produktionskanalen. Använd `scb-wc@next` för komponenter under utveckling och experiment.
246
- - **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`).
247
- - **Blanda inte MVC‑ESM och IIFE samma sida.** Välj en distributionsform per sida/app.
248
- - **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.
120
+ - `scb-wc@latest` är produktionskanalen. Använd `scb-wc@next` för komponenter under utveckling och experiment.
121
+ - Kör alltid npm-kommandon i mappen där appens `package.json` ligger.
122
+ - 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,11 +1,11 @@
1
- import { ScbAccordionItem as e } from "./scb-accordion/scb-accordion-item.js";
2
- import { ScbButton as t } from "./scb-button/scb-button.js";
3
- import { ScbAccordion as n } from "./scb-accordion/scb-accordion.js";
4
- import { ScbActionCard as r, ScbCard as i, ScbContainerCard as a, ScbLinkCard as o, ScbListCard as s, ScbSocialCard as c } from "./scb-card/scb-card.js";
1
+ import { ScbAvatar as e } from "./scb-avatar/scb-avatar.js";
2
+ import { ScbAccordionItem as t } from "./scb-accordion/scb-accordion-item.js";
3
+ import { ScbButton as n } from "./scb-button/scb-button.js";
4
+ import { ScbAccordion as r } from "./scb-accordion/scb-accordion.js";
5
+ import { ScbActionCard as i, ScbCard as a, ScbContainerCard as o, ScbLinkCard as s, ScbListCard as c, ScbSocialCard as l } from "./scb-card/scb-card.js";
5
6
  import "./scb-action-card/scb-action-card.js";
6
- import { ScbIconButton as l } from "./scb-icon-button/scb-icon-button.js";
7
- import { ScbSearch as u } from "./scb-search/scb-search.js";
8
- import { ScbAvatar as d } from "./scb-avatar/scb-avatar.js";
7
+ import { ScbIconButton as u } from "./scb-icon-button/scb-icon-button.js";
8
+ import { ScbSearch as d } from "./scb-search/scb-search.js";
9
9
  import { ScbAppBar as f } from "./scb-app-bar/scb-app-bar.js";
10
10
  import { ScbBadge as p } from "./scb-badge/scb-badge.js";
11
11
  import { ScbLink as m } from "./scb-link/scb-link.js";
@@ -97,4 +97,4 @@ import { appendScbVizSeriesDifferentiationPatternMarks as Ye, getScbVizSeriesDif
97
97
  import { clearScbVizSeriesDifferentiationColorClass as tt, clearScbVizSeriesDifferentiationMetadata as nt, ensureScbVizGroupedSeriesDifferentiationStore as rt, ensureScbVizStyledModeSeriesPattern as it, getScbVizGroupedSeriesDifferentiationKey as at, getScbVizGroupedSeriesDifferentiationVariant as ot, getScbVizGroupedSeriesDifferentiationVariantIndex as st, getScbVizHighchartsColorClassName as ct, getScbVizHighchartsSvgElement as lt, getScbVizHighchartsSvgRoot as ut, getScbVizLegendSeriesDifferentiationTargets as dt, getScbVizSeriesDifferentiationColorIndex as ft, getScbVizSeriesDifferentiationVariantByIndex as pt, isScbVizGroupedSeriesDifferentiationChart as mt, isScbVizHighchartsStyledMode as ht, setScbVizSeriesDifferentiationColorClass as gt, setScbVizSeriesDifferentiationMetadata as _t, shouldShowScbVizSeriesDifferentiationAction as vt, usesScbVizGroupedPointDifferentiation as yt } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
98
98
  import { buildScbVizResolvedTableView as bt, createScbVizCsvRows as xt, inferScbVizTableAlignments as St, normalizeScbVizRenderableCell as Ct, readScbVizTableDataFromSlot as wt } from "./scb-viz/scb-viz-table-runtime.js";
99
99
  import { ScbViz as Tt } from "./scb-viz/scb-viz.js";
100
- export { g as SCBBreadcrumb, h as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, r as ScbActionCard, f as ScbAppBar, d as ScbAvatar, p as ScbBadge, t as ScbButton, A as ScbCalendar, j as ScbCalendarCard, _ as ScbCalendarEvent, i as ScbCard, S as ScbCheckbox, x as ScbCheckboxGroup, E as ScbChip, M as ScbCollapse, a as ScbContainerCard, N as ScbCookiesConsent, D as ScbDialog, v as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbFormErrorSummary, $ as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem, ie as ScbHeader, ee as ScbHeaderMenuGroup, te as ScbHeaderMenuItem, ne as ScbHeaderTab, re as ScbHeaderUtility, Z as ScbHorizontalScroller, J as ScbIcon, l as ScbIconButton, ae as ScbKeyFigureCard, m as ScbLink, o as ScbLinkCard, k as ScbList, s as ScbListCard, O as ScbListItem, le as ScbMenu, oe as ScbMenuItem, de as ScbNav, ue as ScbNavItem, Y as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Q as ScbOverlay, fe as ScbPagination, ke as ScbPrimaryTab, pe as ScbProgressIndicator, me as ScbProgressStep, he as ScbProgressStepper, w as ScbRadioButton, C as ScbRadioGroup, ge as ScbScrollspy, u as ScbSearch, Ae as ScbSecondaryTab, ve as ScbSegmentedButton, _e as ScbSegmentedItem, be as ScbSelect, ye as ScbSelectOption, xe as ScbSkeleton, Se as ScbSlider, Ce as ScbSnackbar, c as ScbSocialCard, G as ScbStack, we as ScbStatusPill, Te as ScbStep, Ee as ScbStepper, ce as ScbSubmenu, T as ScbSwitch, De as ScbTable, Oe as ScbTableAdvanced, je as ScbTabs, b as ScbTextField, Ne as ScbToc, Me as ScbTocItem, y as ScbTooltip, Tt as ScbViz, se as ScbmenuSection, Ye as appendScbVizSeriesDifferentiationPatternMarks, Pe as buildScbVizExportFileName, Ke as buildScbVizPrintDocumentHtml, qe as buildScbVizPrintableFooterHtml, Je as buildScbVizPrintableTableHtml, bt as buildScbVizResolvedTableView, tt as clearScbVizSeriesDifferentiationColorClass, nt as clearScbVizSeriesDifferentiationMetadata, Fe as createScbVizCsvBlob, xt as createScbVizCsvRows, Ie as createScbVizRasterBlobFromElement, Le as createScbVizRasterDataUrlFromElement, Re as downloadScbVizBlob, rt as ensureScbVizGroupedSeriesDifferentiationStore, it as ensureScbVizStyledModeSeriesPattern, ze as getScbVizCurrentFullscreenElement, Be as getScbVizExportBaseFileName, Ve as getScbVizFullscreenDocument, at as getScbVizGroupedSeriesDifferentiationKey, ot as getScbVizGroupedSeriesDifferentiationVariant, st as getScbVizGroupedSeriesDifferentiationVariantIndex, ct as getScbVizHighchartsColorClassName, lt as getScbVizHighchartsSvgElement, ut as getScbVizHighchartsSvgRoot, dt as getScbVizLegendSeriesDifferentiationTargets, ft as getScbVizSeriesDifferentiationColorIndex, Xe as getScbVizSeriesDifferentiationPatternDefinition, Ze as getScbVizSeriesDifferentiationPatternKinds, Qe as getScbVizSeriesDifferentiationRegistry, $e as getScbVizSeriesDifferentiationVariant, pt as getScbVizSeriesDifferentiationVariantByIndex, St as inferScbVizTableAlignments, He as isScbVizFullscreenSupported, mt as isScbVizGroupedSeriesDifferentiationChart, ht as isScbVizHighchartsStyledMode, Ct as normalizeScbVizRenderableCell, Ue as openScbVizPrintFrame, wt as readScbVizTableDataFromSlot, We as runWithScbVizForcedPrintLightMode, et as scbVizSeriesDifferentiationRegistry, gt as setScbVizSeriesDifferentiationColorClass, _t as setScbVizSeriesDifferentiationMetadata, vt as shouldShowScbVizSeriesDifferentiationAction, Ge as toggleScbVizFullscreen, yt as usesScbVizGroupedPointDifferentiation };
100
+ export { g as SCBBreadcrumb, h as SCBBreadcrumbItem, r as ScbAccordion, t as ScbAccordionItem, i as ScbActionCard, f as ScbAppBar, e as ScbAvatar, p as ScbBadge, n as ScbButton, A as ScbCalendar, j as ScbCalendarCard, _ as ScbCalendarEvent, a as ScbCard, S as ScbCheckbox, x as ScbCheckboxGroup, E as ScbChip, M as ScbCollapse, o as ScbContainerCard, N as ScbCookiesConsent, D as ScbDialog, v as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbFormErrorSummary, $ as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem, ie as ScbHeader, ee as ScbHeaderMenuGroup, te as ScbHeaderMenuItem, ne as ScbHeaderTab, re as ScbHeaderUtility, Z as ScbHorizontalScroller, J as ScbIcon, u as ScbIconButton, ae as ScbKeyFigureCard, m as ScbLink, s as ScbLinkCard, k as ScbList, c as ScbListCard, O as ScbListItem, le as ScbMenu, oe as ScbMenuItem, de as ScbNav, ue as ScbNavItem, Y as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Q as ScbOverlay, fe as ScbPagination, ke as ScbPrimaryTab, pe as ScbProgressIndicator, me as ScbProgressStep, he as ScbProgressStepper, w as ScbRadioButton, C as ScbRadioGroup, ge as ScbScrollspy, d as ScbSearch, Ae as ScbSecondaryTab, ve as ScbSegmentedButton, _e as ScbSegmentedItem, be as ScbSelect, ye as ScbSelectOption, xe as ScbSkeleton, Se as ScbSlider, Ce as ScbSnackbar, l as ScbSocialCard, G as ScbStack, we as ScbStatusPill, Te as ScbStep, Ee as ScbStepper, ce as ScbSubmenu, T as ScbSwitch, De as ScbTable, Oe as ScbTableAdvanced, je as ScbTabs, b as ScbTextField, Ne as ScbToc, Me as ScbTocItem, y as ScbTooltip, Tt as ScbViz, se as ScbmenuSection, Ye as appendScbVizSeriesDifferentiationPatternMarks, Pe as buildScbVizExportFileName, Ke as buildScbVizPrintDocumentHtml, qe as buildScbVizPrintableFooterHtml, Je as buildScbVizPrintableTableHtml, bt as buildScbVizResolvedTableView, tt as clearScbVizSeriesDifferentiationColorClass, nt as clearScbVizSeriesDifferentiationMetadata, Fe as createScbVizCsvBlob, xt as createScbVizCsvRows, Ie as createScbVizRasterBlobFromElement, Le as createScbVizRasterDataUrlFromElement, Re as downloadScbVizBlob, rt as ensureScbVizGroupedSeriesDifferentiationStore, it as ensureScbVizStyledModeSeriesPattern, ze as getScbVizCurrentFullscreenElement, Be as getScbVizExportBaseFileName, Ve as getScbVizFullscreenDocument, at as getScbVizGroupedSeriesDifferentiationKey, ot as getScbVizGroupedSeriesDifferentiationVariant, st as getScbVizGroupedSeriesDifferentiationVariantIndex, ct as getScbVizHighchartsColorClassName, lt as getScbVizHighchartsSvgElement, ut as getScbVizHighchartsSvgRoot, dt as getScbVizLegendSeriesDifferentiationTargets, ft as getScbVizSeriesDifferentiationColorIndex, Xe as getScbVizSeriesDifferentiationPatternDefinition, Ze as getScbVizSeriesDifferentiationPatternKinds, Qe as getScbVizSeriesDifferentiationRegistry, $e as getScbVizSeriesDifferentiationVariant, pt as getScbVizSeriesDifferentiationVariantByIndex, St as inferScbVizTableAlignments, He as isScbVizFullscreenSupported, mt as isScbVizGroupedSeriesDifferentiationChart, ht as isScbVizHighchartsStyledMode, Ct as normalizeScbVizRenderableCell, Ue as openScbVizPrintFrame, wt as readScbVizTableDataFromSlot, We as runWithScbVizForcedPrintLightMode, et as scbVizSeriesDifferentiationRegistry, gt as setScbVizSeriesDifferentiationColorClass, _t as setScbVizSeriesDifferentiationMetadata, vt as shouldShowScbVizSeriesDifferentiationAction, Ge as toggleScbVizFullscreen, yt as usesScbVizGroupedPointDifferentiation };
@@ -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{n as u}from"../../vendor/lazy-focus-ring.js";import{t as r}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";(function(){try{var g=typeof globalThis<"u"?globalThis:window;if(!g.__scb_ce_guard_installed__){g.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(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{n as h}from"../../vendor/lazy-focus-ring.js";import{t as n}from"../../vendor/decorate.js";import"../scb-avatar/scb-avatar.js";import"../../vendor/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);