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.
- package/README.md +51 -177
- package/_virtual/{_@oxc-project_runtime@0.126.0/helpers → _@oxc-project_runtime@0.139.0/helpers/esm}/decorate.js +2 -2
- package/component-defaults.js +2 -0
- package/index.js +8 -8
- package/mvc/components/scb-accordion/scb-accordion-item.js +11 -11
- package/mvc/components/scb-accordion/scb-accordion.js +3 -3
- package/mvc/components/scb-app-bar/scb-app-bar.js +18 -58
- package/mvc/components/scb-avatar/scb-avatar.js +9 -9
- package/mvc/components/scb-badge/scb-badge.js +6 -6
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +2 -2
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +13 -13
- package/mvc/components/scb-button/scb-button.js +18 -18
- package/mvc/components/scb-calendar/scb-calendar.js +36 -35
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +16 -16
- package/mvc/components/scb-card/scb-card.js +31 -31
- package/mvc/components/scb-checkbox/scb-checkbox-group.js +9 -9
- package/mvc/components/scb-checkbox/scb-checkbox.js +13 -13
- package/mvc/components/scb-chip/scb-chip.js +6 -6
- package/mvc/components/scb-collapse/scb-collapse.js +9 -9
- package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +3 -3
- package/mvc/components/scb-dialog/scb-dialog.js +26 -19
- package/mvc/components/scb-divider/scb-divider.js +1 -1
- package/mvc/components/scb-drawer/scb-drawer.js +3 -7
- package/mvc/components/scb-drop-zone/scb-drop-zone.js +19 -19
- package/mvc/components/scb-dropdown/scb-dropdown.js +8 -8
- package/mvc/components/scb-fab/scb-fab.js +15 -5
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +7 -7
- package/mvc/components/scb-fact-card/scb-fact-card.js +6 -6
- package/mvc/components/scb-footer/scb-footer.js +13 -13
- package/mvc/components/scb-form-error-summary/scb-form-error-summary.js +3 -3
- package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +3 -3
- package/mvc/components/scb-grid/scb-grid.js +1 -1
- package/mvc/components/scb-grid/scb-stack.js +1 -1
- package/mvc/components/scb-header/scb-header.js +75 -59
- package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +2 -2
- package/mvc/components/scb-icon/scb-icon.js +3 -3
- package/mvc/components/scb-icon-button/scb-icon-button.js +11 -11
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +22 -22
- package/mvc/components/scb-link/scb-link.js +5 -5
- package/mvc/components/scb-list/scb-list-item.js +22 -22
- package/mvc/components/scb-list/scb-list.js +2 -2
- package/mvc/components/scb-menu/scb-menu-item.js +18 -18
- package/mvc/components/scb-menu/scb-menu-section.js +3 -3
- package/mvc/components/scb-menu/scb-menu.js +3 -3
- package/mvc/components/scb-nav/scb-nav.js +10 -10
- package/mvc/components/scb-notification-card/scb-notification-card.js +18 -18
- package/mvc/components/scb-options-menu/scb-options-menu-item.js +9 -9
- package/mvc/components/scb-options-menu/scb-options-menu.js +3 -3
- package/mvc/components/scb-options-menu/scb-options-sub-menu.js +2 -2
- package/mvc/components/scb-overlay/scb-overlay.js +4 -4
- package/mvc/components/scb-pagination/scb-pagination.js +25 -25
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +7 -8
- package/mvc/components/scb-progress-stepper/scb-progress-step.js +2 -2
- package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +2 -2
- package/mvc/components/scb-radio-button/scb-radio-button.js +7 -7
- package/mvc/components/scb-radio-button/scb-radio-group.js +4 -4
- package/mvc/components/scb-scrollspy/scb-scrollspy.js +2 -2
- package/mvc/components/scb-search/scb-search.js +15 -15
- package/mvc/components/scb-segmented-button/scb-segmented-button.js +1 -1
- package/mvc/components/scb-segmented-button/scb-segmented-item.js +3 -3
- package/mvc/components/scb-select/scb-select-option.js +5 -5
- package/mvc/components/scb-select/scb-select.js +15 -15
- package/mvc/components/scb-skeleton/scb-skeleton.js +2 -2
- package/mvc/components/scb-slider/scb-slider.js +1 -1
- package/mvc/components/scb-snackbar/scb-snackbar.js +6 -6
- package/mvc/components/scb-status-pill/scb-status-pill.js +3 -3
- package/mvc/components/scb-stepper/scb-step.js +5 -5
- package/mvc/components/scb-stepper/scb-stepper.js +2 -2
- package/mvc/components/scb-switch/scb-switch.js +4 -4
- package/mvc/components/scb-table/scb-table.js +2 -2
- package/mvc/components/scb-table-advanced/scb-table-advanced.js +5 -5
- package/mvc/components/scb-tabs/scb-primary-tab.js +2 -2
- package/mvc/components/scb-tabs/scb-secondary-tab.js +2 -2
- package/mvc/components/scb-tabs/scb-tabs.js +4 -4
- package/mvc/components/scb-textfield/scb-textfield.js +84 -58
- package/mvc/components/scb-toc/scb-toc-item.js +7 -7
- package/mvc/components/scb-toc/scb-toc.js +2 -2
- package/mvc/components/scb-tooltip/scb-tooltip.js +8 -8
- package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -2
- package/mvc/components/scb-viz/scb-viz-print-runtime.js +12 -8
- package/mvc/components/scb-viz/scb-viz.js +41 -41
- package/mvc/scb-compact.css +1 -1
- package/mvc/scb-logo.svg +20 -20
- package/mvc/scb-typography.css +1 -1
- package/mvc/scb-wc-core.css +1 -1
- package/mvc/scb-wc-selfhost.css +1 -1
- package/mvc/scb-wc.css +1 -1
- package/mvc/scb.svg +13 -13
- package/mvc/vendor/component-defaults.js +1 -1
- package/mvc/vendor/lazy-focus-ring.js +1 -1
- package/mvc/vendor/lazy-ripple.js +1 -1
- package/mvc/vendor/preload-helper.js +1 -1
- package/mvc/vendor/runtime-colors.js +1 -0
- package/mvc/vendor/scb-card-variants.internal.js +122 -76
- package/mvc/vendor/scb-header-drawer.internal.js +1 -1
- package/mvc/vendor/vendor.js +3 -3
- package/package.json +3 -2
- package/scb-accordion/scb-accordion-item.js +183 -48
- package/scb-accordion/scb-accordion.js +32 -22
- package/scb-action-card/scb-action-card.js +2 -1
- package/scb-app-bar/scb-app-bar.js +239 -139
- package/scb-avatar/scb-avatar.js +75 -27
- package/scb-badge/scb-badge.js +17 -15
- package/scb-breadcrumb/scb-breadcrumb-item.js +25 -16
- package/scb-breadcrumb/scb-breadcrumb.js +32 -21
- package/scb-button/scb-button.js +171 -66
- package/scb-calendar/scb-calendar-event.js +1 -1
- package/scb-calendar/scb-calendar.js +140 -74
- package/scb-calendar-card/scb-calendar-card.js +197 -103
- package/scb-card/scb-card-variants.internal.js +1 -1
- package/scb-card/scb-card.js +433 -241
- package/scb-checkbox/scb-checkbox-group.js +56 -41
- package/scb-checkbox/scb-checkbox.js +73 -39
- package/scb-chevron/scb-chevron.js +2 -1
- package/scb-chip/scb-chip.js +62 -39
- package/scb-collapse/scb-collapse.js +19 -15
- package/scb-compact.css +1 -1
- package/scb-components/scb-app-bar/scb-app-bar.d.ts +9 -2
- package/scb-components/scb-button/scb-button.d.ts +14 -1
- package/scb-components/scb-calendar/scb-calendar.d.ts +5 -0
- package/scb-components/scb-card/scb-card.d.ts +2 -0
- package/scb-components/scb-chip/scb-chip.d.ts +0 -4
- package/scb-components/scb-dialog/scb-dialog.d.ts +30 -0
- package/scb-components/scb-grid/scb-grid.d.ts +4 -1
- package/scb-components/scb-nav/scb-nav.d.ts +1 -1
- package/scb-components/scb-overlay/scb-overlay.d.ts +1 -1
- package/scb-components/scb-segmented-button/scb-segmented-button.d.ts +8 -7
- package/scb-components/scb-segmented-button/scb-segmented-item.d.ts +5 -2
- package/scb-components/scb-skeleton/scb-skeleton.d.ts +6 -3
- package/scb-components/scb-textfield/scb-textfield.d.ts +8 -0
- package/scb-cookies-consent/scb-cookies-consent.js +27 -21
- package/scb-datepicker/scb-datepicker.js +65 -61
- package/scb-dialog/scb-dialog.js +320 -86
- package/scb-divider/scb-divider.js +16 -19
- package/scb-drawer/scb-drawer.js +5 -11
- package/scb-drop-zone/scb-drop-zone.js +138 -101
- package/scb-dropdown/scb-dropdown.js +37 -23
- package/scb-fab/scb-fab.js +42 -31
- package/scb-fact-card/scb-fact-card-content.js +106 -19
- package/scb-fact-card/scb-fact-card.js +148 -55
- package/scb-footer/scb-footer-section.js +1 -1
- package/scb-footer/scb-footer.js +37 -43
- package/scb-form-error-summary/scb-form-error-summary.js +18 -12
- package/scb-gallery-grid/scb-gallery-grid.js +24 -24
- package/scb-grid/scb-grid-item.js +1 -1
- package/scb-grid/scb-grid.js +6 -6
- package/scb-grid/scb-stack.js +4 -4
- package/scb-header/scb-header-drawer.internal.js +1 -1
- package/scb-header/scb-header-menu-item.js +1 -1
- package/scb-header/scb-header-tab.js +1 -1
- package/scb-header/scb-header.js +327 -150
- package/scb-horizontal-scroller/scb-horizontal-scroller.js +24 -49
- package/scb-icon/scb-icon.js +18 -18
- package/scb-icon-button/scb-icon-button.js +58 -52
- package/scb-keyfigure-card/scb-keyfigure-card.js +178 -60
- package/scb-link/scb-link.js +15 -9
- package/scb-list/scb-list-item.js +107 -51
- package/scb-list/scb-list.js +19 -14
- package/scb-menu/scb-menu-item.js +35 -17
- package/scb-menu/scb-menu-section.js +15 -10
- package/scb-menu/scb-menu.js +25 -15
- package/scb-menu/scb-sub-menu.js +1 -1
- package/scb-nav/scb-nav-item.js +1 -1
- package/scb-nav/scb-nav.js +36 -61
- package/scb-notification-card/scb-notification-card.js +196 -99
- package/scb-options-menu/scb-options-menu-item.js +25 -18
- package/scb-options-menu/scb-options-menu.js +61 -42
- package/scb-options-menu/scb-options-sub-menu.js +9 -9
- package/scb-overlay/scb-overlay.js +4 -3
- package/scb-pagination/scb-pagination.js +65 -37
- package/scb-progress-indicator/scb-progress-indicator.js +23 -20
- package/scb-progress-stepper/scb-progress-step.js +5 -5
- package/scb-progress-stepper/scb-progress-stepper.js +5 -4
- package/scb-radio-button/scb-radio-button.js +64 -30
- package/scb-radio-button/scb-radio-group.js +34 -33
- package/scb-scrollspy/scb-scrollspy.js +8 -5
- package/scb-search/scb-search.js +148 -60
- package/scb-segmented-button/scb-segmented-button.js +83 -21
- package/scb-segmented-button/scb-segmented-item.js +23 -16
- package/scb-select/scb-select-option.js +36 -12
- package/scb-select/scb-select.js +260 -99
- package/scb-skeleton/scb-skeleton.js +11 -4
- package/scb-slider/scb-slider.js +24 -27
- package/scb-snackbar/scb-snackbar.js +16 -16
- package/scb-status-pill/scb-status-pill.js +9 -8
- package/scb-stepper/scb-step.js +23 -21
- package/scb-stepper/scb-stepper.js +61 -32
- package/scb-switch/scb-switch.js +31 -14
- package/scb-table/scb-table.js +16 -14
- package/scb-table-advanced/scb-table-advanced.js +21 -17
- package/scb-tabs/scb-primary-tab.js +30 -1
- package/scb-tabs/scb-secondary-tab.js +16 -1
- package/scb-tabs/scb-tabs.js +17 -2
- package/scb-textfield/scb-textfield.js +308 -143
- package/scb-toc/scb-toc-item.js +115 -56
- package/scb-toc/scb-toc.js +1 -1
- package/scb-tooltip/scb-tooltip.js +12 -15
- package/scb-typography.css +1 -1
- package/scb-viz/scb-viz-actions-runtime.js +47 -46
- package/scb-viz/scb-viz-print-runtime.js +28 -23
- package/scb-viz/scb-viz.js +32 -31
- package/scb-wc-core.css +1 -1
- package/scb-wc-selfhost.css +1 -1
- package/scb-wc.bundle.js +4929 -2882
- package/scb-wc.css +1 -1
- package/shared/scb-icon-svg.js +1 -1
- package/tokens/generated/runtime-colors.js +12 -0
- package/scb-components/scb-card/scb-card-variants.internal.d.ts +0 -15
- 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
|
|
3
|
+
SCB Web Components innehåller SCB:s gemensamma webbkomponenter.
|
|
4
4
|
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
35
|
-
- `scb-header`
|
|
36
|
-
- `scb-footer`
|
|
37
|
-
- `scb-grid`
|
|
38
|
-
- några vanliga komponenter
|
|
28
|
+
Byt `html` mot:
|
|
39
29
|
|
|
40
|
-
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
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
|
-
|
|
34
|
+
### 2. Lägg till i en app som redan finns
|
|
47
35
|
|
|
48
|
-
|
|
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
|
-
|
|
50
|
+
Lägg sedan komponenten i sidan:
|
|
71
51
|
|
|
72
|
-
```
|
|
73
|
-
|
|
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
|
-
|
|
56
|
+
### Nästa steg
|
|
80
57
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
|
|
62
|
+
## Kort referens
|
|
88
63
|
|
|
89
|
-
###
|
|
64
|
+
### Ladda alla komponenter
|
|
90
65
|
|
|
91
|
-
|
|
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
|
|
69
|
+
import 'scb-wc/scb-wc.css';
|
|
70
|
+
import 'scb-wc/scb-typography.css';
|
|
71
|
+
import 'scb-wc/all';
|
|
96
72
|
```
|
|
97
73
|
|
|
98
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
###
|
|
86
|
+
### MVC och statiska webbplatser
|
|
167
87
|
|
|
168
|
-
|
|
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
|
-
|
|
171
|
-
steps:
|
|
172
|
-
- script: npm ci
|
|
173
|
-
- script: npm run ui:install
|
|
174
|
-
```
|
|
90
|
+
### Blazor
|
|
175
91
|
|
|
176
|
-
|
|
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
|
-
|
|
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
|
-
|
|
98
|
+
### Bundlad version
|
|
185
99
|
|
|
186
|
-
|
|
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
|
-
|
|
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
|
-
|
|
110
|
+
### Uppdatera paketet
|
|
210
111
|
|
|
211
|
-
|
|
112
|
+
Kör i appens mapp och bygg sedan appen med dess vanliga kommando:
|
|
212
113
|
|
|
213
|
-
|
|
214
|
-
|
|
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
|
-
-
|
|
247
|
-
-
|
|
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 komponent på flera sätt på samma sida.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
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
|
|
9
|
+
export { e as default };
|
package/component-defaults.js
CHANGED
|
@@ -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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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
|
|
7
|
-
import { ScbSearch as
|
|
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,
|
|
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
|
|
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"?
|
|
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=${
|
|
13
|
+
id=${i}
|
|
14
14
|
class="scb-accordion-top"
|
|
15
|
-
aria-controls=${
|
|
15
|
+
aria-controls=${c}
|
|
16
16
|
aria-expanded=${String(this.open)}
|
|
17
17
|
@click=${this._onSummaryClick}
|
|
18
18
|
@keydown=${this._onKeyDown}
|
|
19
|
-
@focusin=${
|
|
19
|
+
@focusin=${h}
|
|
20
20
|
>
|
|
21
21
|
<md-ripple></md-ripple>
|
|
22
22
|
|
|
23
|
-
${this.leading?
|
|
23
|
+
${this.leading?a`<div class="leading">${t}</div>`:l}
|
|
24
24
|
|
|
25
25
|
<div class="texts">
|
|
26
|
-
${this.overline?
|
|
26
|
+
${this.overline?a`<div class="overline">${this.overline}</div>`:l}
|
|
27
27
|
<div class="title">${this.title}</div>
|
|
28
|
-
${this.supportingText?
|
|
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=${
|
|
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=${
|
|
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
|
|
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=${
|
|
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,
|
|
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);
|