scb-wc-test 0.1.1
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 +130 -0
- package/all.js +54 -0
- package/dummy.png +0 -0
- package/index.d.ts +54 -0
- package/index.js +108 -0
- package/mvc/components/all.js +53 -0
- package/mvc/components/scb-accordion/scb-accordion-item.js +194 -0
- package/mvc/components/scb-accordion/scb-accordion.js +5 -0
- package/mvc/components/scb-app-bar/scb-app-bar.js +144 -0
- package/mvc/components/scb-avatar/scb-avatar.js +99 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +17 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +52 -0
- package/mvc/components/scb-button/scb-button.js +121 -0
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +140 -0
- package/mvc/components/scb-card/scb-card.js +256 -0
- package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -0
- package/mvc/components/scb-checkbox/scb-checkbox.js +99 -0
- package/mvc/components/scb-chips/scb-chip.js +46 -0
- package/mvc/components/scb-dialog/scb-dialog.js +158 -0
- package/mvc/components/scb-divider/scb-divider.js +53 -0
- package/mvc/components/scb-drawer/scb-drawer-item.js +114 -0
- package/mvc/components/scb-drawer/scb-drawer-section.js +19 -0
- package/mvc/components/scb-drawer/scb-drawer.js +79 -0
- package/mvc/components/scb-drawer/scb-sub-drawer.js +10 -0
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +44 -0
- package/mvc/components/scb-fact-card/scb-fact-card.js +66 -0
- package/mvc/components/scb-footer/scb-footer-section.js +3 -0
- package/mvc/components/scb-footer/scb-footer.js +205 -0
- package/mvc/components/scb-grid/scb-grid-item.js +9 -0
- package/mvc/components/scb-grid/scb-grid.js +81 -0
- package/mvc/components/scb-grid/scb-stack.js +16 -0
- package/mvc/components/scb-header/scb-header-drawer-group.js +1 -0
- package/mvc/components/scb-header/scb-header-drawer-item.js +1 -0
- package/mvc/components/scb-header/scb-header-tab.js +1 -0
- package/mvc/components/scb-header/scb-header-utility.js +1 -0
- package/mvc/components/scb-header/scb-header.js +240 -0
- package/mvc/components/scb-icon-button/scb-icon-button.js +95 -0
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +69 -0
- package/mvc/components/scb-link/scb-link.js +31 -0
- package/mvc/components/scb-list/scb-list-item.js +38 -0
- package/mvc/components/scb-list/scb-list.js +10 -0
- package/mvc/components/scb-menu/scb-menu-item.js +44 -0
- package/mvc/components/scb-menu/scb-menu.js +17 -0
- package/mvc/components/scb-menu/scb-sub-menu.js +29 -0
- package/mvc/components/scb-notification/scb-notification.js +120 -0
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +84 -0
- package/mvc/components/scb-radio-button/scb-radio-button.js +95 -0
- package/mvc/components/scb-radio-button/scb-radio-group.js +28 -0
- package/mvc/components/scb-search/scb-search.js +211 -0
- package/mvc/components/scb-snackbar/scb-snackbar.js +83 -0
- package/mvc/components/scb-status-pill/scb-status-pill.js +31 -0
- package/mvc/components/scb-switch/scb-switch.js +54 -0
- package/mvc/components/scb-tabs/scb-primary-tab.js +7 -0
- package/mvc/components/scb-tabs/scb-secondary-tab.js +7 -0
- package/mvc/components/scb-tabs/scb-tabs.js +23 -0
- package/mvc/components/scb-textfield/scb-textfield.js +135 -0
- package/mvc/components/scb-toc/scb-toc-item.js +84 -0
- package/mvc/components/scb-toc/scb-toc.js +6 -0
- package/mvc/components/scb-tooltip/scb-tooltip.js +216 -0
- package/mvc/scb-logo.svg +21 -0
- package/mvc/scb-wc-test.css +1 -0
- package/mvc/scb.svg +14 -0
- package/mvc/vendor/preload-helper.js +1 -0
- package/mvc/vendor/vendor-lit.js +1 -0
- package/mvc/vendor/vendor-material.js +764 -0
- package/mvc/vendor/vendor.js +68 -0
- package/package.json +248 -0
- package/scb-accordion/scb-accordion-item.d.ts +37 -0
- package/scb-accordion/scb-accordion-item.js +343 -0
- package/scb-accordion/scb-accordion.d.ts +6 -0
- package/scb-accordion/scb-accordion.js +33 -0
- package/scb-app-bar/scb-app-bar.d.ts +10 -0
- package/scb-app-bar/scb-app-bar.js +192 -0
- package/scb-avatar/scb-avatar.d.ts +30 -0
- package/scb-avatar/scb-avatar.js +169 -0
- package/scb-breadcrumb/scb-breadcrumb-item.d.ts +9 -0
- package/scb-breadcrumb/scb-breadcrumb-item.js +54 -0
- package/scb-breadcrumb/scb-breadcrumb.d.ts +16 -0
- package/scb-breadcrumb/scb-breadcrumb.js +105 -0
- package/scb-button/scb-button.d.ts +26 -0
- package/scb-button/scb-button.js +247 -0
- package/scb-calendar-card/scb-calendar-card.d.ts +20 -0
- package/scb-calendar-card/scb-calendar-card.js +191 -0
- package/scb-card/scb-card.d.ts +24 -0
- package/scb-card/scb-card.js +345 -0
- package/scb-checkbox/scb-checkbox-group.d.ts +17 -0
- package/scb-checkbox/scb-checkbox-group.js +80 -0
- package/scb-checkbox/scb-checkbox.d.ts +20 -0
- package/scb-checkbox/scb-checkbox.js +157 -0
- package/scb-chips/scb-chip.d.ts +24 -0
- package/scb-chips/scb-chip.js +150 -0
- package/scb-dialog/scb-dialog.d.ts +58 -0
- package/scb-dialog/scb-dialog.js +390 -0
- package/scb-divider/scb-divider.d.ts +9 -0
- package/scb-divider/scb-divider.js +85 -0
- package/scb-drawer/scb-drawer-item.d.ts +61 -0
- package/scb-drawer/scb-drawer-item.js +220 -0
- package/scb-drawer/scb-drawer-section.d.ts +7 -0
- package/scb-drawer/scb-drawer-section.js +44 -0
- package/scb-drawer/scb-drawer.d.ts +97 -0
- package/scb-drawer/scb-drawer.js +258 -0
- package/scb-drawer/scb-sub-drawer.d.ts +10 -0
- package/scb-drawer/scb-sub-drawer.js +43 -0
- package/scb-fact-card/scb-fact-card-content.d.ts +10 -0
- package/scb-fact-card/scb-fact-card-content.js +83 -0
- package/scb-fact-card/scb-fact-card.d.ts +15 -0
- package/scb-fact-card/scb-fact-card.js +110 -0
- package/scb-footer/scb-footer-section.d.ts +21 -0
- package/scb-footer/scb-footer-section.js +28 -0
- package/scb-footer/scb-footer.d.ts +27 -0
- package/scb-footer/scb-footer.js +326 -0
- package/scb-grid/scb-grid-item.d.ts +28 -0
- package/scb-grid/scb-grid-item.js +66 -0
- package/scb-grid/scb-grid.d.ts +33 -0
- package/scb-grid/scb-grid.js +152 -0
- package/scb-grid/scb-stack.d.ts +29 -0
- package/scb-grid/scb-stack.js +82 -0
- package/scb-header/scb-header-drawer-group.d.ts +13 -0
- package/scb-header/scb-header-drawer-group.js +28 -0
- package/scb-header/scb-header-drawer-item.d.ts +14 -0
- package/scb-header/scb-header-drawer-item.js +31 -0
- package/scb-header/scb-header-tab.d.ts +13 -0
- package/scb-header/scb-header-tab.js +28 -0
- package/scb-header/scb-header-utility.d.ts +14 -0
- package/scb-header/scb-header-utility.js +31 -0
- package/scb-header/scb-header.d.ts +105 -0
- package/scb-header/scb-header.js +618 -0
- package/scb-icon-button/scb-icon-button.d.ts +31 -0
- package/scb-icon-button/scb-icon-button.js +208 -0
- package/scb-keyfigure-card/scb-keyfigure-card.d.ts +13 -0
- package/scb-keyfigure-card/scb-keyfigure-card.js +119 -0
- package/scb-link/scb-link.d.ts +17 -0
- package/scb-link/scb-link.js +74 -0
- package/scb-list/scb-list-item.d.ts +32 -0
- package/scb-list/scb-list-item.js +144 -0
- package/scb-list/scb-list.d.ts +8 -0
- package/scb-list/scb-list.js +39 -0
- package/scb-logo.svg +21 -0
- package/scb-menu/scb-menu-item.d.ts +22 -0
- package/scb-menu/scb-menu-item.js +107 -0
- package/scb-menu/scb-menu.d.ts +21 -0
- package/scb-menu/scb-menu.js +98 -0
- package/scb-menu/scb-sub-menu.d.ts +12 -0
- package/scb-menu/scb-sub-menu.js +69 -0
- package/scb-notification/scb-notification.d.ts +16 -0
- package/scb-notification/scb-notification.js +187 -0
- package/scb-progress-indicator/scb-progress-indicator.d.ts +11 -0
- package/scb-progress-indicator/scb-progress-indicator.js +122 -0
- package/scb-radio-button/scb-radio-button.d.ts +19 -0
- package/scb-radio-button/scb-radio-button.js +176 -0
- package/scb-radio-button/scb-radio-group.d.ts +20 -0
- package/scb-radio-button/scb-radio-group.js +81 -0
- package/scb-search/scb-search.d.ts +45 -0
- package/scb-search/scb-search.js +410 -0
- package/scb-snackbar/scb-snackbar.d.ts +17 -0
- package/scb-snackbar/scb-snackbar.js +140 -0
- package/scb-status-pill/scb-status-pill.d.ts +9 -0
- package/scb-status-pill/scb-status-pill.js +62 -0
- package/scb-switch/scb-switch.d.ts +21 -0
- package/scb-switch/scb-switch.js +111 -0
- package/scb-tabs/scb-primary-tab.d.ts +17 -0
- package/scb-tabs/scb-primary-tab.js +93 -0
- package/scb-tabs/scb-secondary-tab.d.ts +17 -0
- package/scb-tabs/scb-secondary-tab.js +97 -0
- package/scb-tabs/scb-tabs.d.ts +10 -0
- package/scb-tabs/scb-tabs.js +66 -0
- package/scb-textfield/scb-textfield.d.ts +41 -0
- package/scb-textfield/scb-textfield.js +258 -0
- package/scb-toc/scb-toc-item.d.ts +21 -0
- package/scb-toc/scb-toc-item.js +196 -0
- package/scb-toc/scb-toc.d.ts +6 -0
- package/scb-toc/scb-toc.js +27 -0
- package/scb-tooltip/scb-tooltip.d.ts +32 -0
- package/scb-tooltip/scb-tooltip.js +329 -0
- package/scb-wc-test.bundle.js +5429 -0
- package/scb-wc-test.css +1 -0
- package/scb-wc-test.d.ts +106 -0
- package/scb.svg +14 -0
package/README.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Om SCB Web Components Test
|
|
2
|
+
|
|
3
|
+
> ⚠️ **Testpaket**
|
|
4
|
+
> Testkomponenter under utveckling – kan ändras eller tas bort.
|
|
5
|
+
|
|
6
|
+
SCB Web Components Test finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer. Komponenterna är under utveckling och kan ändras eller tas bort mellan versioner.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Kom igång
|
|
11
|
+
|
|
12
|
+
**Obs:** Kör alla kommandon i mappen där din `package.json` ligger. Har du ingen? Kör `npm init -y` i projektroten (eller annan lämplig mapp).
|
|
13
|
+
|
|
14
|
+
Installera paketet:
|
|
15
|
+
```sh
|
|
16
|
+
npm install scb-wc-test
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Alternativ 1: Använd som ES-moduler (i exempelvis React)
|
|
22
|
+
|
|
23
|
+
Importera enskilda komponenter (bäst för tree‑shaking):
|
|
24
|
+
```js
|
|
25
|
+
import 'scb-wc-test/scb-wc-test.css';
|
|
26
|
+
import 'scb-wc-test/scb-button';
|
|
27
|
+
import 'scb-wc-test/scb-accordion';
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Importera allt (ej rekommenderat, men möjligt):
|
|
31
|
+
```js
|
|
32
|
+
import 'scb-wc-test/scb-wc-test.css';
|
|
33
|
+
import 'scb-wc-test/all';
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
|
|
39
|
+
|
|
40
|
+
Det här läget använder den färdig‑splittrade **MVC‑ESM**‑builden som följer med paketet under `node_modules/scb-wc-test/mvc/`.
|
|
41
|
+
|
|
42
|
+
### Rekommenderat: ett npm‑script
|
|
43
|
+
|
|
44
|
+
Lägg till i din apps `package.json`:
|
|
45
|
+
```jsonc
|
|
46
|
+
{
|
|
47
|
+
"scripts": {
|
|
48
|
+
"ui:install": "node -e \"const fs=require('fs'),p=require('path');const base=(process.env.npm_config_ui_wwwroot)||'wwwroot';const src=p.resolve('node_modules/scb-wc-test/mvc');const dst=p.resolve(base,'ui');if(!fs.existsSync(src)){console.error('Hittar inte '+src+'. Har du kört npm install scb-wc-test?');process.exit(1);}fs.rmSync(dst,{recursive:true,force:true});fs.mkdirSync(base,{recursive:true});fs.cpSync(src,dst,{recursive:true});console.log('Kopierade '+src+' → '+dst);\""
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Kör sedan:
|
|
54
|
+
```sh
|
|
55
|
+
npm run ui:install
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Det kopierar hela `mvc/` till `wwwroot/ui/` (komponenter, vendor och CSS).
|
|
59
|
+
|
|
60
|
+
#### Vanliga lägen (var ligger din `package.json`?)
|
|
61
|
+
|
|
62
|
+
**A) Standard MVC-projekt**
|
|
63
|
+
`package.json` ligger i **projektroten** (vid sidan av `.csproj`).
|
|
64
|
+
Kör bara:
|
|
65
|
+
```sh
|
|
66
|
+
npm run ui:install
|
|
67
|
+
```
|
|
68
|
+
Resultat: filer kopieras till `./wwwroot/ui/`.
|
|
69
|
+
|
|
70
|
+
**B) Frontend i `ClientApp/`**
|
|
71
|
+
`package.json` ligger i **ClientApp/** och webbroten är `../wwwroot`.
|
|
72
|
+
Kör med flagga:
|
|
73
|
+
```sh
|
|
74
|
+
npm run ui:install --ui_wwwroot=../wwwroot
|
|
75
|
+
```
|
|
76
|
+
Resultat: filer kopieras till `../wwwroot/ui/`.
|
|
77
|
+
|
|
78
|
+
### Ladda filer i din layout
|
|
79
|
+
|
|
80
|
+
```html
|
|
81
|
+
<!-- Lägg helst i <head> -->
|
|
82
|
+
<link rel="stylesheet" href="~/ui/scb-wc-test.css" />
|
|
83
|
+
|
|
84
|
+
<!-- Ladda ENDAST de komponenter du använder på sidan, gärna precis före </body> -->
|
|
85
|
+
<script type="module" src="~/ui/components/scb-link/scb-link.js"></script>
|
|
86
|
+
<script type="module" src="~/ui/components/scb-button/scb-button.js"></script>
|
|
87
|
+
|
|
88
|
+
<!-- För demosida: ladda alla -->
|
|
89
|
+
<!-- <script type="module" src="~/ui/components/all.js"></script> -->
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### 2.1) CI/CD (exempel)
|
|
95
|
+
|
|
96
|
+
Kör samma script i din pipeline:
|
|
97
|
+
```yaml
|
|
98
|
+
steps:
|
|
99
|
+
- script: npm ci
|
|
100
|
+
- script: npm run ui:install
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Behöver du annan webbrotsökväg i pipelinen? Lägg till flaggan:
|
|
104
|
+
```yaml
|
|
105
|
+
- script: npm run ui:install --ui_wwwroot=../wwwroot
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Alternativ 3: Använd bundlad version (IIFE)
|
|
111
|
+
|
|
112
|
+
Om ESM inte stöds, använd den bundlade varianten från paketroten.
|
|
113
|
+
Flytta följande två filer från `node_modules/scb-wc-test` och använd dem i applikationen:
|
|
114
|
+
```
|
|
115
|
+
node_modules/scb-wc-test/scb-wc-test.bundle.js
|
|
116
|
+
node_modules/scb-wc-test/scb-wc-test.css
|
|
117
|
+
```
|
|
118
|
+
```html
|
|
119
|
+
<link rel="stylesheet" href="scb-wc-test.css">
|
|
120
|
+
<script src="scb-wc-test.bundle.js"></script>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Viktigt
|
|
126
|
+
|
|
127
|
+
- **Stå i mappen med din `package.json`** när du kör `npm install` och kopieringskommandon.
|
|
128
|
+
- **Placeringen av `package.json` styr defaultmål**: roten -> `wwwroot/ui`, `ClientApp/` -> använd `--ui_wwwroot=../wwwroot`.
|
|
129
|
+
- **Blanda inte** MVC‑ESM och IIFE på samma sida.
|
|
130
|
+
- `scb-wc-test` är ett **testpaket** – komponenter kan ändras eller tas bort mellan versioner.
|
package/all.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import './index.js';
|
|
2
|
+
import './scb-accordion/scb-accordion-item.js';
|
|
3
|
+
import './scb-accordion/scb-accordion.js';
|
|
4
|
+
import './scb-app-bar/scb-app-bar.js';
|
|
5
|
+
import './scb-avatar/scb-avatar.js';
|
|
6
|
+
import './scb-breadcrumb/scb-breadcrumb-item.js';
|
|
7
|
+
import './scb-breadcrumb/scb-breadcrumb.js';
|
|
8
|
+
import './scb-button/scb-button.js';
|
|
9
|
+
import './scb-calendar-card/scb-calendar-card.js';
|
|
10
|
+
import './scb-card/scb-card.js';
|
|
11
|
+
import './scb-checkbox/scb-checkbox-group.js';
|
|
12
|
+
import './scb-checkbox/scb-checkbox.js';
|
|
13
|
+
import './scb-chips/scb-chip.js';
|
|
14
|
+
import './scb-dialog/scb-dialog.js';
|
|
15
|
+
import './scb-divider/scb-divider.js';
|
|
16
|
+
import './scb-drawer/scb-drawer-item.js';
|
|
17
|
+
import './scb-drawer/scb-drawer-section.js';
|
|
18
|
+
import './scb-drawer/scb-drawer.js';
|
|
19
|
+
import './scb-drawer/scb-sub-drawer.js';
|
|
20
|
+
import './scb-fact-card/scb-fact-card-content.js';
|
|
21
|
+
import './scb-fact-card/scb-fact-card.js';
|
|
22
|
+
import './scb-footer/scb-footer-section.js';
|
|
23
|
+
import './scb-footer/scb-footer.js';
|
|
24
|
+
import './scb-grid/scb-grid-item.js';
|
|
25
|
+
import './scb-grid/scb-grid.js';
|
|
26
|
+
import './scb-grid/scb-stack.js';
|
|
27
|
+
import './scb-header/scb-header-drawer-group.js';
|
|
28
|
+
import './scb-header/scb-header-drawer-item.js';
|
|
29
|
+
import './scb-header/scb-header-tab.js';
|
|
30
|
+
import './scb-header/scb-header-utility.js';
|
|
31
|
+
import './scb-header/scb-header.js';
|
|
32
|
+
import './scb-icon-button/scb-icon-button.js';
|
|
33
|
+
import './scb-keyfigure-card/scb-keyfigure-card.js';
|
|
34
|
+
import './scb-link/scb-link.js';
|
|
35
|
+
import './scb-list/scb-list-item.js';
|
|
36
|
+
import './scb-list/scb-list.js';
|
|
37
|
+
import './scb-menu/scb-menu-item.js';
|
|
38
|
+
import './scb-menu/scb-menu.js';
|
|
39
|
+
import './scb-menu/scb-sub-menu.js';
|
|
40
|
+
import './scb-notification/scb-notification.js';
|
|
41
|
+
import './scb-progress-indicator/scb-progress-indicator.js';
|
|
42
|
+
import './scb-radio-button/scb-radio-button.js';
|
|
43
|
+
import './scb-radio-button/scb-radio-group.js';
|
|
44
|
+
import './scb-search/scb-search.js';
|
|
45
|
+
import './scb-snackbar/scb-snackbar.js';
|
|
46
|
+
import './scb-status-pill/scb-status-pill.js';
|
|
47
|
+
import './scb-switch/scb-switch.js';
|
|
48
|
+
import './scb-tabs/scb-primary-tab.js';
|
|
49
|
+
import './scb-tabs/scb-secondary-tab.js';
|
|
50
|
+
import './scb-tabs/scb-tabs.js';
|
|
51
|
+
import './scb-textfield/scb-textfield.js';
|
|
52
|
+
import './scb-toc/scb-toc-item.js';
|
|
53
|
+
import './scb-toc/scb-toc.js';
|
|
54
|
+
import './scb-tooltip/scb-tooltip.js';
|
package/dummy.png
ADDED
|
Binary file
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
|
|
2
|
+
export * from './scb-accordion/scb-accordion-item';
|
|
3
|
+
export * from './scb-accordion/scb-accordion';
|
|
4
|
+
export * from './scb-app-bar/scb-app-bar';
|
|
5
|
+
export * from './scb-avatar/scb-avatar';
|
|
6
|
+
export * from './scb-breadcrumb/scb-breadcrumb-item';
|
|
7
|
+
export * from './scb-breadcrumb/scb-breadcrumb';
|
|
8
|
+
export * from './scb-button/scb-button';
|
|
9
|
+
export * from './scb-calendar-card/scb-calendar-card';
|
|
10
|
+
export * from './scb-card/scb-card';
|
|
11
|
+
export * from './scb-checkbox/scb-checkbox-group';
|
|
12
|
+
export * from './scb-checkbox/scb-checkbox';
|
|
13
|
+
export * from './scb-chips/scb-chip';
|
|
14
|
+
export * from './scb-dialog/scb-dialog';
|
|
15
|
+
export * from './scb-divider/scb-divider';
|
|
16
|
+
export * from './scb-drawer/scb-drawer-item';
|
|
17
|
+
export * from './scb-drawer/scb-drawer-section';
|
|
18
|
+
export * from './scb-drawer/scb-drawer';
|
|
19
|
+
export * from './scb-drawer/scb-sub-drawer';
|
|
20
|
+
export * from './scb-fact-card/scb-fact-card-content';
|
|
21
|
+
export * from './scb-fact-card/scb-fact-card';
|
|
22
|
+
export * from './scb-footer/scb-footer-section';
|
|
23
|
+
export * from './scb-footer/scb-footer';
|
|
24
|
+
export * from './scb-grid/scb-grid-item';
|
|
25
|
+
export * from './scb-grid/scb-grid';
|
|
26
|
+
export * from './scb-grid/scb-stack';
|
|
27
|
+
export * from './scb-header/scb-header-drawer-group';
|
|
28
|
+
export * from './scb-header/scb-header-drawer-item';
|
|
29
|
+
export * from './scb-header/scb-header-tab';
|
|
30
|
+
export * from './scb-header/scb-header-utility';
|
|
31
|
+
export * from './scb-header/scb-header';
|
|
32
|
+
export * from './scb-icon-button/scb-icon-button';
|
|
33
|
+
export * from './scb-keyfigure-card/scb-keyfigure-card';
|
|
34
|
+
export * from './scb-link/scb-link';
|
|
35
|
+
export * from './scb-list/scb-list-item';
|
|
36
|
+
export * from './scb-list/scb-list';
|
|
37
|
+
export * from './scb-menu/scb-menu-item';
|
|
38
|
+
export * from './scb-menu/scb-menu';
|
|
39
|
+
export * from './scb-menu/scb-sub-menu';
|
|
40
|
+
export * from './scb-notification/scb-notification';
|
|
41
|
+
export * from './scb-progress-indicator/scb-progress-indicator';
|
|
42
|
+
export * from './scb-radio-button/scb-radio-button';
|
|
43
|
+
export * from './scb-radio-button/scb-radio-group';
|
|
44
|
+
export * from './scb-search/scb-search';
|
|
45
|
+
export * from './scb-snackbar/scb-snackbar';
|
|
46
|
+
export * from './scb-status-pill/scb-status-pill';
|
|
47
|
+
export * from './scb-switch/scb-switch';
|
|
48
|
+
export * from './scb-tabs/scb-primary-tab';
|
|
49
|
+
export * from './scb-tabs/scb-secondary-tab';
|
|
50
|
+
export * from './scb-tabs/scb-tabs';
|
|
51
|
+
export * from './scb-textfield/scb-textfield';
|
|
52
|
+
export * from './scb-toc/scb-toc-item';
|
|
53
|
+
export * from './scb-toc/scb-toc';
|
|
54
|
+
export * from './scb-tooltip/scb-tooltip';
|
package/index.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ScbAccordionItem as e } from "./scb-accordion/scb-accordion-item.js";
|
|
2
|
+
import { ScbAccordion as c } from "./scb-accordion/scb-accordion.js";
|
|
3
|
+
import { ScbAppBar as S } from "./scb-app-bar/scb-app-bar.js";
|
|
4
|
+
import { ScbAvatar as p } from "./scb-avatar/scb-avatar.js";
|
|
5
|
+
import { SCBBreadcrumbItem as f } from "./scb-breadcrumb/scb-breadcrumb-item.js";
|
|
6
|
+
import { SCBBreadcrumb as i } from "./scb-breadcrumb/scb-breadcrumb.js";
|
|
7
|
+
import { ScbButton as n } from "./scb-button/scb-button.js";
|
|
8
|
+
import { ScbCalendarCard as C } from "./scb-calendar-card/scb-calendar-card.js";
|
|
9
|
+
import { ScbCard as B } from "./scb-card/scb-card.js";
|
|
10
|
+
import { ScbCheckboxGroup as T } from "./scb-checkbox/scb-checkbox-group.js";
|
|
11
|
+
import { ScbCheckbox as w } from "./scb-checkbox/scb-checkbox.js";
|
|
12
|
+
import { ScbChip as F } from "./scb-chips/scb-chip.js";
|
|
13
|
+
import { ScbDialog as k } from "./scb-dialog/scb-dialog.js";
|
|
14
|
+
import { ScbDivider as H } from "./scb-divider/scb-divider.js";
|
|
15
|
+
import { ScbDrawerItem as A } from "./scb-drawer/scb-drawer-item.js";
|
|
16
|
+
import { ScbDrawerSection as L } from "./scb-drawer/scb-drawer-section.js";
|
|
17
|
+
import { ScbDrawer as P } from "./scb-drawer/scb-drawer.js";
|
|
18
|
+
import { ScbSubDrawer as R } from "./scb-drawer/scb-sub-drawer.js";
|
|
19
|
+
import { ScbFactCardContent as N } from "./scb-fact-card/scb-fact-card-content.js";
|
|
20
|
+
import { ScbFactCard as j } from "./scb-fact-card/scb-fact-card.js";
|
|
21
|
+
import { ScbFooterSection as z } from "./scb-footer/scb-footer-section.js";
|
|
22
|
+
import { ScbFooter as J } from "./scb-footer/scb-footer.js";
|
|
23
|
+
import { ScbGridItem as Q } from "./scb-grid/scb-grid-item.js";
|
|
24
|
+
import { ScbGrid as W } from "./scb-grid/scb-grid.js";
|
|
25
|
+
import { ScbStack as Y } from "./scb-grid/scb-stack.js";
|
|
26
|
+
import { ScbHeaderDrawerGroup as _ } from "./scb-header/scb-header-drawer-group.js";
|
|
27
|
+
import { ScbHeaderDrawerItem as rr } from "./scb-header/scb-header-drawer-item.js";
|
|
28
|
+
import { ScbHeaderTab as er } from "./scb-header/scb-header-tab.js";
|
|
29
|
+
import { ScbHeaderUtility as cr } from "./scb-header/scb-header-utility.js";
|
|
30
|
+
import { ScbHeader as Sr } from "./scb-header/scb-header.js";
|
|
31
|
+
import { ScbIconButton as pr } from "./scb-icon-button/scb-icon-button.js";
|
|
32
|
+
import { ScbKeyFigureCard as fr } from "./scb-keyfigure-card/scb-keyfigure-card.js";
|
|
33
|
+
import { ScbLink as ir } from "./scb-link/scb-link.js";
|
|
34
|
+
import { ScbListItem as nr } from "./scb-list/scb-list-item.js";
|
|
35
|
+
import { ScbList as Cr } from "./scb-list/scb-list.js";
|
|
36
|
+
import { ScbMenuItem as Br } from "./scb-menu/scb-menu-item.js";
|
|
37
|
+
import { ScbMenu as Tr } from "./scb-menu/scb-menu.js";
|
|
38
|
+
import { ScbSubMenu as wr } from "./scb-menu/scb-sub-menu.js";
|
|
39
|
+
import { ScbNotification as Fr } from "./scb-notification/scb-notification.js";
|
|
40
|
+
import { ScbProgressIndicator as kr } from "./scb-progress-indicator/scb-progress-indicator.js";
|
|
41
|
+
import { ScbRadioButton as Hr } from "./scb-radio-button/scb-radio-button.js";
|
|
42
|
+
import { ScbRadioGroup as Ar } from "./scb-radio-button/scb-radio-group.js";
|
|
43
|
+
import { ScbSearch as Lr } from "./scb-search/scb-search.js";
|
|
44
|
+
import { ScbSnackbar as Pr } from "./scb-snackbar/scb-snackbar.js";
|
|
45
|
+
import { ScbStatusPill as Rr } from "./scb-status-pill/scb-status-pill.js";
|
|
46
|
+
import { ScbSwitch as Nr } from "./scb-switch/scb-switch.js";
|
|
47
|
+
import { ScbPrimaryTab as jr } from "./scb-tabs/scb-primary-tab.js";
|
|
48
|
+
import { ScbSecondaryTab as zr } from "./scb-tabs/scb-secondary-tab.js";
|
|
49
|
+
import { ScbTabs as Jr } from "./scb-tabs/scb-tabs.js";
|
|
50
|
+
import { ScbTextField2 as Qr } from "./scb-textfield/scb-textfield.js";
|
|
51
|
+
import { ScbTocItem as Wr } from "./scb-toc/scb-toc-item.js";
|
|
52
|
+
import { ScbToc as Yr } from "./scb-toc/scb-toc.js";
|
|
53
|
+
import { ScbTooltip as _r } from "./scb-tooltip/scb-tooltip.js";
|
|
54
|
+
export {
|
|
55
|
+
i as SCBBreadcrumb,
|
|
56
|
+
f as SCBBreadcrumbItem,
|
|
57
|
+
c as ScbAccordion,
|
|
58
|
+
e as ScbAccordionItem,
|
|
59
|
+
S as ScbAppBar,
|
|
60
|
+
p as ScbAvatar,
|
|
61
|
+
n as ScbButton,
|
|
62
|
+
C as ScbCalendarCard,
|
|
63
|
+
B as ScbCard,
|
|
64
|
+
w as ScbCheckbox,
|
|
65
|
+
T as ScbCheckboxGroup,
|
|
66
|
+
F as ScbChip,
|
|
67
|
+
k as ScbDialog,
|
|
68
|
+
H as ScbDivider,
|
|
69
|
+
P as ScbDrawer,
|
|
70
|
+
A as ScbDrawerItem,
|
|
71
|
+
L as ScbDrawerSection,
|
|
72
|
+
j as ScbFactCard,
|
|
73
|
+
N as ScbFactCardContent,
|
|
74
|
+
J as ScbFooter,
|
|
75
|
+
z as ScbFooterSection,
|
|
76
|
+
W as ScbGrid,
|
|
77
|
+
Q as ScbGridItem,
|
|
78
|
+
Sr as ScbHeader,
|
|
79
|
+
_ as ScbHeaderDrawerGroup,
|
|
80
|
+
rr as ScbHeaderDrawerItem,
|
|
81
|
+
er as ScbHeaderTab,
|
|
82
|
+
cr as ScbHeaderUtility,
|
|
83
|
+
pr as ScbIconButton,
|
|
84
|
+
fr as ScbKeyFigureCard,
|
|
85
|
+
ir as ScbLink,
|
|
86
|
+
Cr as ScbList,
|
|
87
|
+
nr as ScbListItem,
|
|
88
|
+
Tr as ScbMenu,
|
|
89
|
+
Br as ScbMenuItem,
|
|
90
|
+
Fr as ScbNotification,
|
|
91
|
+
jr as ScbPrimaryTab,
|
|
92
|
+
kr as ScbProgressIndicator,
|
|
93
|
+
Hr as ScbRadioButton,
|
|
94
|
+
Ar as ScbRadioGroup,
|
|
95
|
+
Lr as ScbSearch,
|
|
96
|
+
zr as ScbSecondaryTab,
|
|
97
|
+
Pr as ScbSnackbar,
|
|
98
|
+
Y as ScbStack,
|
|
99
|
+
Rr as ScbStatusPill,
|
|
100
|
+
R as ScbSubDrawer,
|
|
101
|
+
wr as ScbSubMenu,
|
|
102
|
+
Nr as ScbSwitch,
|
|
103
|
+
Jr as ScbTabs,
|
|
104
|
+
Qr as ScbTextField2,
|
|
105
|
+
Yr as ScbToc,
|
|
106
|
+
Wr as ScbTocItem,
|
|
107
|
+
_r as ScbTooltip
|
|
108
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import '../components/scb-accordion/scb-accordion.js';
|
|
2
|
+
import '../components/scb-accordion/scb-accordion-item.js';
|
|
3
|
+
import '../components/scb-app-bar/scb-app-bar.js';
|
|
4
|
+
import '../components/scb-avatar/scb-avatar.js';
|
|
5
|
+
import '../components/scb-breadcrumb/scb-breadcrumb.js';
|
|
6
|
+
import '../components/scb-breadcrumb/scb-breadcrumb-item.js';
|
|
7
|
+
import '../components/scb-button/scb-button.js';
|
|
8
|
+
import '../components/scb-calendar-card/scb-calendar-card.js';
|
|
9
|
+
import '../components/scb-card/scb-card.js';
|
|
10
|
+
import '../components/scb-checkbox/scb-checkbox.js';
|
|
11
|
+
import '../components/scb-checkbox/scb-checkbox-group.js';
|
|
12
|
+
import '../components/scb-chips/scb-chip.js';
|
|
13
|
+
import '../components/scb-dialog/scb-dialog.js';
|
|
14
|
+
import '../components/scb-divider/scb-divider.js';
|
|
15
|
+
import '../components/scb-drawer/scb-drawer.js';
|
|
16
|
+
import '../components/scb-drawer/scb-drawer-item.js';
|
|
17
|
+
import '../components/scb-drawer/scb-drawer-section.js';
|
|
18
|
+
import '../components/scb-drawer/scb-sub-drawer.js';
|
|
19
|
+
import '../components/scb-fact-card/scb-fact-card.js';
|
|
20
|
+
import '../components/scb-fact-card/scb-fact-card-content.js';
|
|
21
|
+
import '../components/scb-footer/scb-footer.js';
|
|
22
|
+
import '../components/scb-footer/scb-footer-section.js';
|
|
23
|
+
import '../components/scb-grid/scb-grid.js';
|
|
24
|
+
import '../components/scb-grid/scb-grid-item.js';
|
|
25
|
+
import '../components/scb-grid/scb-stack.js';
|
|
26
|
+
import '../components/scb-header/scb-header.js';
|
|
27
|
+
import '../components/scb-header/scb-header-drawer-group.js';
|
|
28
|
+
import '../components/scb-header/scb-header-drawer-item.js';
|
|
29
|
+
import '../components/scb-header/scb-header-tab.js';
|
|
30
|
+
import '../components/scb-header/scb-header-utility.js';
|
|
31
|
+
import '../components/scb-icon-button/scb-icon-button.js';
|
|
32
|
+
import '../components/scb-keyfigure-card/scb-keyfigure-card.js';
|
|
33
|
+
import '../components/scb-link/scb-link.js';
|
|
34
|
+
import '../components/scb-list/scb-list.js';
|
|
35
|
+
import '../components/scb-list/scb-list-item.js';
|
|
36
|
+
import '../components/scb-menu/scb-menu.js';
|
|
37
|
+
import '../components/scb-menu/scb-menu-item.js';
|
|
38
|
+
import '../components/scb-menu/scb-sub-menu.js';
|
|
39
|
+
import '../components/scb-notification/scb-notification.js';
|
|
40
|
+
import '../components/scb-progress-indicator/scb-progress-indicator.js';
|
|
41
|
+
import '../components/scb-radio-button/scb-radio-button.js';
|
|
42
|
+
import '../components/scb-radio-button/scb-radio-group.js';
|
|
43
|
+
import '../components/scb-search/scb-search.js';
|
|
44
|
+
import '../components/scb-snackbar/scb-snackbar.js';
|
|
45
|
+
import '../components/scb-status-pill/scb-status-pill.js';
|
|
46
|
+
import '../components/scb-switch/scb-switch.js';
|
|
47
|
+
import '../components/scb-tabs/scb-primary-tab.js';
|
|
48
|
+
import '../components/scb-tabs/scb-secondary-tab.js';
|
|
49
|
+
import '../components/scb-tabs/scb-tabs.js';
|
|
50
|
+
import '../components/scb-textfield/scb-textfield.js';
|
|
51
|
+
import '../components/scb-toc/scb-toc.js';
|
|
52
|
+
import '../components/scb-toc/scb-toc-item.js';
|
|
53
|
+
import '../components/scb-tooltip/scb-tooltip.js';
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../../vendor/vendor-material.js","../../vendor/vendor.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as h}from"../../vendor/preload-helper.js";import{b as g,n as o,i as v,E as p,x as l,t as u}from"../../vendor/vendor.js";var m=Object.defineProperty,b=Object.getOwnPropertyDescriptor,r=(t,a,s,i)=>{for(var n=i>1?void 0:i?b(a,s):a,d=t.length-1,c;d>=0;d--)(c=t[d])&&(n=(i?c(a,s,n):c(n))||n);return i&&n&&m(a,s,n),n};let e=class extends v{constructor(){super(...arguments),this.expanded=!1,this.label="",this.content="",this.overline="",this.supportingText="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.imgHrefImage="https://www.scb.se/img/scb-logo.svg",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.density=0,this._unique=e._uid(),this.toggleAccordion=()=>{const t=this.closest("scb-accordion");t?.hasAttribute("detached")||t.querySelectorAll("scb-accordion-item").forEach(s=>{s!==this&&(s.expanded=!1,s._applyInert(),s._setBottomMaxHeight(s))}),this.expanded=!this.expanded,this._applyInert(),this._setBottomMaxHeight(this)},this._onSlotChange=()=>{this.expanded&&this._setBottomMaxHeight(this)},this._onContentLoad=()=>{this.expanded&&this._setBottomMaxHeight(this)}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${e._uidPrefix}-${++e._uidSeq}`}async firstUpdated(){e._mdIconLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),e._mdIconLoaded=!0),e._mdRippleLoaded||(await h(()=>import("../../vendor/vendor-material.js").then(t=>t.r),__vite__mapDeps([0,1]),import.meta.url),e._mdRippleLoaded=!0),this._applyInert(),this._bottomEl()?.addEventListener("load",this._onContentLoad,!0)}disconnectedCallback(){this._bottomEl()?.removeEventListener("load",this._onContentLoad,!0),super.disconnectedCallback()}_setBottomMaxHeight(t){const a=t._bottomEl();a&&(t.expanded?(a.style.maxHeight=`${a.scrollHeight}px`,setTimeout(()=>a.style.maxHeight="unset",160)):(a.style.maxHeight=`${a.scrollHeight}px`,requestAnimationFrame(()=>a.style.maxHeight="0")))}_onKeyDown(t){const a=this.closest("scb-accordion"),i=Array.from(a?.querySelectorAll("scb-accordion-item")||[]).map(c=>c.renderRoot.querySelector(".scb-accordion-top")).filter(c=>!!c),n=t.currentTarget,d=i.indexOf(n);switch(t.key){case"Enter":case" ":t.preventDefault(),this.toggleAccordion();break;case"ArrowDown":t.preventDefault(),d<i.length-1&&i[d+1].focus();break;case"ArrowUp":t.preventDefault(),d>0&&i[d-1].focus();break;case"Home":t.preventDefault(),i.length&&i[0].focus();break;case"End":t.preventDefault(),i.length&&i[i.length-1].focus();break}}_renderLeading(){if(!this.leading)return p;switch(this.leadingVariant){case"icon":return l`<md-icon>${this.leadingIcon}</md-icon>`;case"avatar":return l`
|
|
3
|
+
<scb-avatar
|
|
4
|
+
label=${this.avatarLabel}
|
|
5
|
+
alt=${this.avatarAlt}
|
|
6
|
+
src=${this.avatarVariant==="image"?this.avatarSrc:""}
|
|
7
|
+
size="medium"
|
|
8
|
+
shape="circular"
|
|
9
|
+
variant=${this.avatarVariant}
|
|
10
|
+
></scb-avatar>
|
|
11
|
+
`;case"image":return l`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`;default:return p}}_bottomEl(){return this.renderRoot.querySelector(".scb-accordion-bottom")}_applyInert(){const t=this._bottomEl();t&&(this.expanded?(t.removeAttribute("inert"),t.setAttribute("aria-hidden","false")):(t.setAttribute("inert",""),t.setAttribute("aria-hidden","true")))}updated(t){t.has("expanded")&&(this._applyInert(),this._setBottomMaxHeight(this))}render(){const t=`bottom-${this._unique}`,a=`header-${this._unique}`,s=!!this.overline,i=!!this.supportingText;return l`
|
|
12
|
+
<div part="scb-accordion-item" class="scb-accordion-item">
|
|
13
|
+
<div
|
|
14
|
+
id=${a}
|
|
15
|
+
class="scb-accordion-top"
|
|
16
|
+
tabindex="0"
|
|
17
|
+
role="button"
|
|
18
|
+
aria-expanded=${this.expanded}
|
|
19
|
+
aria-controls=${t}
|
|
20
|
+
@click=${this.toggleAccordion}
|
|
21
|
+
@keydown=${this._onKeyDown}
|
|
22
|
+
>
|
|
23
|
+
<!-- Ripple för press/hover/focus state-layer -->
|
|
24
|
+
<md-ripple></md-ripple>
|
|
25
|
+
|
|
26
|
+
${this.leading?l`<div class="leading">${this._renderLeading()}</div>`:p}
|
|
27
|
+
|
|
28
|
+
<div class="texts">
|
|
29
|
+
${s?l`<div class="overline">${this.overline}</div>`:p}
|
|
30
|
+
<div class="label">${this.label}</div>
|
|
31
|
+
${i?l`<div class="supporting-text">${this.supportingText}</div>`:p}
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<md-icon class="chevron">
|
|
35
|
+
${this.expanded?"keyboard_arrow_up":"keyboard_arrow_down"}
|
|
36
|
+
</md-icon>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div
|
|
40
|
+
id=${t}
|
|
41
|
+
class="scb-accordion-bottom ${this.expanded?"expanded":""}"
|
|
42
|
+
role="region"
|
|
43
|
+
aria-labelledby=${a}
|
|
44
|
+
aria-hidden=${this.expanded?"false":"true"}
|
|
45
|
+
>
|
|
46
|
+
<slot @slotchange=${this._onSlotChange}>${this.content}</slot>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
`}};e._uidPrefix=`uid-${Math.random().toString(36).slice(2)}`;e._uidSeq=0;e._mdIconLoaded=!1;e._mdRippleLoaded=!1;e.styles=[g`
|
|
50
|
+
:host {
|
|
51
|
+
display: block;
|
|
52
|
+
--_focus-width: var(--md-focus-ring-width, var(--stroke-focus-ring, 2px));
|
|
53
|
+
--_focus-radius: var(--md-sys-shape-corner-small, var(--radius-s, 8px));
|
|
54
|
+
|
|
55
|
+
--scb-accordion-hover-radius: var(--radius-none, 0px);
|
|
56
|
+
--scb-accordion-chevron-nudge-y: 3px;
|
|
57
|
+
--scb-accordion-transition-duration: 150ms;
|
|
58
|
+
--scb-accordion-transition-easing: cubic-bezier(.69,.16,.2,.98);
|
|
59
|
+
--scb-accordion-panel-padding-closed: var(--spacing-0, 0px);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.scb-accordion-item{
|
|
63
|
+
border-bottom: var(--stroke-border, 1px) solid var(--md-sys-color-outline-variant);
|
|
64
|
+
margin-bottom: calc(var(--stroke-border, 1px) * -1);
|
|
65
|
+
display: flex;
|
|
66
|
+
flex-direction: column;
|
|
67
|
+
color: var(--md-sys-color-on-surface);
|
|
68
|
+
font-family: var(--brand-font);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.scb-accordion-top {
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: row;
|
|
74
|
+
align-items: center;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
/* default density 0: 24px över/under, 16px i sidled */
|
|
77
|
+
padding-block: var(--spacing-7, 24px);
|
|
78
|
+
padding-inline: var(--spacing-5, 16px);
|
|
79
|
+
outline: none;
|
|
80
|
+
/* för att undvika rundade hörn på hover */
|
|
81
|
+
border-radius: var(--radius-none, 0px);
|
|
82
|
+
gap: var(--spacing-5, 16px);
|
|
83
|
+
color: var(--md-sys-color-on-surface);
|
|
84
|
+
/* För ripple */
|
|
85
|
+
position: relative;
|
|
86
|
+
overflow: hidden;
|
|
87
|
+
-webkit-tap-highlight-color: transparent;
|
|
88
|
+
}
|
|
89
|
+
.scb-accordion-top:hover {
|
|
90
|
+
/* Inga runda hörn på hover */
|
|
91
|
+
border-radius: var(--scb-accordion-hover-radius);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.scb-accordion-top:focus-visible {
|
|
95
|
+
outline: var(--_focus-width) solid var(--md-focus-ring-color, var(--p-40));
|
|
96
|
+
outline-offset: var(--spacing-1, 2px);
|
|
97
|
+
/* Tillåt runda hörn endast vid fokusmarkering */
|
|
98
|
+
border-radius: var(--_focus-radius);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Om både om hosten har data-density och om en förälder har det. */
|
|
102
|
+
:host([density="-2"]) .scb-accordion-top,
|
|
103
|
+
:host-context([data-density="-2"]) .scb-accordion-top {
|
|
104
|
+
padding-block: var(--spacing-5, 16px);
|
|
105
|
+
}
|
|
106
|
+
:host([density="-4"]) .scb-accordion-top,
|
|
107
|
+
:host-context([data-density="-4"]) .scb-accordion-top {
|
|
108
|
+
padding-block: var(--spacing-4, 12px);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.scb-accordion-bottom {
|
|
112
|
+
padding-block: var(--scb-accordion-panel-padding-closed);
|
|
113
|
+
padding-inline: var(--spacing-5, 16px);
|
|
114
|
+
max-height: 0;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
transition: var(--scb-accordion-transition-duration) var(--scb-accordion-transition-easing);
|
|
117
|
+
opacity: 0;
|
|
118
|
+
}
|
|
119
|
+
.scb-accordion-bottom.expanded {
|
|
120
|
+
opacity: 1;
|
|
121
|
+
padding-top: var(--spacing-2, 4px);
|
|
122
|
+
padding-right: var(--spacing-5, 16px);
|
|
123
|
+
padding-bottom: var(--spacing-5, 16px);
|
|
124
|
+
padding-left: var(--spacing-5, 16px);
|
|
125
|
+
max-height: 100%;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.label {
|
|
129
|
+
font-family: var(--brand-font);
|
|
130
|
+
font-size: var(--md-sys-typescale-title-large-size);
|
|
131
|
+
line-height: var(--md-sys-typescale-title-large-line-height);
|
|
132
|
+
font-weight: var(--weight-semibold);
|
|
133
|
+
letter-spacing: var(--md-sys-typescale-title-large-tracking);
|
|
134
|
+
color: var(--md-sys-color-on-surface);
|
|
135
|
+
}
|
|
136
|
+
.overline {
|
|
137
|
+
font-family: var(--brand-font);
|
|
138
|
+
font-size: var(--md-sys-typescale-label-medium-size);
|
|
139
|
+
line-height: var(--md-sys-typescale-label-medium-line-height);
|
|
140
|
+
font-weight: var(--weight-regular);
|
|
141
|
+
letter-spacing: var(--md-sys-typescale-label-medium-tracking);
|
|
142
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
143
|
+
}
|
|
144
|
+
.supporting-text {
|
|
145
|
+
font-family: var(--brand-font);
|
|
146
|
+
font-size: var(--md-sys-typescale-body-medium-size);
|
|
147
|
+
line-height: var(--md-sys-typescale-body-medium-line-height);
|
|
148
|
+
font-weight: var(--weight-regular);
|
|
149
|
+
letter-spacing: var(--md-sys-typescale-body-medium-tracking);
|
|
150
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.leading {
|
|
154
|
+
align-self: center;
|
|
155
|
+
display: grid;
|
|
156
|
+
place-items: center;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.avatar {
|
|
160
|
+
width: var(--icon-size-small, 24px);
|
|
161
|
+
height: var(--icon-size-small, 24px);
|
|
162
|
+
display: flex;
|
|
163
|
+
object-fit: contain;
|
|
164
|
+
}
|
|
165
|
+
.img {
|
|
166
|
+
width: calc(var(--icon-size-large, 40px) + var(--spacing-5, 16px));
|
|
167
|
+
height: calc(var(--icon-size-large, 40px) + var(--spacing-5, 16px));
|
|
168
|
+
object-fit: contain;
|
|
169
|
+
border-radius: var(--radius-s, 8px);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.texts {
|
|
173
|
+
display: grid;
|
|
174
|
+
gap: var(--spacing-1, 2px);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* chevron till höger */
|
|
178
|
+
.chevron {
|
|
179
|
+
margin-left: auto;
|
|
180
|
+
padding-top: var(--scb-accordion-chevron-nudge-y, 3px);
|
|
181
|
+
font-size: var(--icon-size-small, 24px);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Ripple ska fylla den klickbara ytan och ärver ev. rundning vid fokus */
|
|
185
|
+
md-ripple {
|
|
186
|
+
border-radius: inherit;
|
|
187
|
+
inset: 0;
|
|
188
|
+
position: absolute;
|
|
189
|
+
pointer-events: none;
|
|
190
|
+
}
|
|
191
|
+
@media (prefers-reduced-motion: reduce) {
|
|
192
|
+
md-ripple { display: none; } /* endast fokusring visas */
|
|
193
|
+
}
|
|
194
|
+
`];r([o({type:Boolean})],e.prototype,"expanded",2);r([o({type:String,reflect:!0})],e.prototype,"label",2);r([o({type:String})],e.prototype,"content",2);r([o({type:String,attribute:"overline"})],e.prototype,"overline",2);r([o({type:String,attribute:"supporting-text"})],e.prototype,"supportingText",2);r([o({type:Boolean})],e.prototype,"leading",2);r([o({type:String,attribute:"leading-variant",reflect:!0})],e.prototype,"leadingVariant",2);r([o({type:String,attribute:"leading-icon"})],e.prototype,"leadingIcon",2);r([o({type:String,attribute:"img-href-image",reflect:!0})],e.prototype,"imgHrefImage",2);r([o({type:String,attribute:"avatar-label"})],e.prototype,"avatarLabel",2);r([o({type:String,attribute:"avatar-alt"})],e.prototype,"avatarAlt",2);r([o({type:String,attribute:"avatar-variant"})],e.prototype,"avatarVariant",2);r([o({type:String,attribute:"avatar-src"})],e.prototype,"avatarSrc",2);r([o({type:Number,reflect:!0})],e.prototype,"density",2);e=r([u("scb-accordion-item")],e);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{n as p,t as i,i as l,x as f}from"../../vendor/vendor.js";import"./scb-accordion-item.js";import"../../vendor/preload-helper.js";var v=Object.defineProperty,h=Object.getOwnPropertyDescriptor,n=(a,r,c,t)=>{for(var e=t>1?void 0:t?h(r,c):r,o=a.length-1,s;o>=0;o--)(s=a[o])&&(e=(t?s(r,c,e):s(e))||e);return t&&e&&v(r,c,e),e};let d=class extends l{constructor(){super(...arguments),this.detached=!1}render(){return f`
|
|
2
|
+
<div class="scb-accordion" ?detached=${this.detached}>
|
|
3
|
+
<slot></slot>
|
|
4
|
+
</div>
|
|
5
|
+
`}};n([p({type:Boolean,reflect:!0})],d.prototype,"detached",2);d=n([i("scb-accordion")],d);
|