scb-wc 0.1.10 → 0.1.11
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 +32 -22
- package/index.js +88 -91
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion-item.js +211 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-accordion/scb-accordion.js +44 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-app-bar/scb-app-bar.js +166 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-avatar/scb-avatar.js +111 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-badge/scb-badge.js +80 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb-item.js +14 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-breadcrumb/scb-breadcrumb.js +96 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-button/scb-button.js +268 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar-event.js +6 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar/scb-calendar.js +168 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-calendar-card/scb-calendar-card.js +346 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-card/scb-card.js +761 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox-group.js +33 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-checkbox/scb-checkbox.js +140 -0
- package/mvc/components/{scb-chevron → Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chevron}/scb-chevron.js +1 -1
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-chip/scb-chip.js +66 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-collapse/scb-collapse.js +89 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-cookies-consent/scb-cookies-consent.js +78 -0
- package/mvc/components/{scb-datepicker → Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-datepicker}/scb-datepicker.js +1 -1
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dialog/scb-dialog.js +265 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-divider/scb-divider.js +69 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drawer/scb-drawer.js +128 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-drop-zone/scb-drop-zone.js +555 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-dropdown/scb-dropdown.js +306 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fab/scb-fab.js +108 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card-content.js +46 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-fact-card/scb-fact-card.js +226 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer-section.js +3 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-footer/scb-footer.js +210 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-gallery-grid/scb-gallery-grid.js +131 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid-item.js +11 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-grid.js +98 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-grid/scb-stack.js +33 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-group.js +1 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-menu-item.js +5 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-tab.js +5 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header-utility.js +1 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-header/scb-header.js +681 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-icon-button/scb-icon-button.js +171 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-keyfigure-card/scb-keyfigure-card.js +212 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-link/scb-link.js +61 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list-item.js +153 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-list/scb-list.js +26 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-item.js +205 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu-section.js +42 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-menu.js +81 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-menu/scb-sub-menu.js +10 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav-item.js +28 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-nav/scb-nav.js +104 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-notification-card/scb-notification-card.js +358 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu-item.js +66 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-menu.js +88 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-options-menu/scb-options-sub-menu.js +34 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-overlay/scb-overlay.js +49 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-pagination/scb-pagination.js +312 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-indicator/scb-progress-indicator.js +87 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-step.js +147 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-progress-stepper/scb-progress-stepper.js +62 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-button.js +132 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-radio-button/scb-radio-group.js +43 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-scrollspy/scb-scrollspy.js +79 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-search/scb-search.js +292 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-button.js +32 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-segmented-button/scb-segmented-item.js +74 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select-option.js +61 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-select/scb-select.js +284 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-skeleton/scb-skeleton.js +38 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-slider/scb-slider.js +27 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-snackbar/scb-snackbar.js +128 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-status-pill/scb-status-pill.js +45 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-step.js +239 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-stepper/scb-stepper.js +139 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-switch/scb-switch.js +59 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table/scb-table.js +51 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-table-advanced/scb-table-advanced.js +76 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-primary-tab.js +6 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-secondary-tab.js +6 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tabs/scb-tabs.js +28 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-textfield/scb-textfield.js +595 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc-item.js +303 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-toc/scb-toc.js +19 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-tooltip/scb-tooltip.js +196 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-vignette/scb-vignette.js +37 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-actions-runtime.js +2 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-print-runtime.js +98 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-registry.js +1 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz-table-runtime.js +1 -0
- package/mvc/components/Users/peter/Documents/SCB.Material-latest-dev/src/scb-components/scb-viz/scb-viz.js +1140 -0
- package/mvc/components/all.js +90 -3
- package/mvc/components/scb-accordion/scb-accordion-item.js +1 -211
- package/mvc/components/scb-accordion/scb-accordion.js +1 -44
- package/mvc/components/scb-app-bar/scb-app-bar.js +1 -166
- package/mvc/components/scb-avatar/scb-avatar.js +1 -111
- package/mvc/components/scb-badge/scb-badge.js +1 -80
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +1 -14
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +1 -96
- package/mvc/components/scb-button/scb-button.js +1 -268
- package/mvc/components/scb-calendar/scb-calendar-event.js +1 -6
- package/mvc/components/scb-calendar/scb-calendar.js +1 -168
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +1 -346
- package/mvc/components/scb-card/scb-card.js +1 -761
- package/mvc/components/scb-checkbox/scb-checkbox-group.js +1 -33
- package/mvc/components/scb-checkbox/scb-checkbox.js +1 -140
- package/mvc/components/scb-chip/scb-chip.js +1 -66
- package/mvc/components/scb-collapse/scb-collapse.js +1 -89
- package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +1 -78
- package/mvc/components/scb-dialog/scb-dialog.js +1 -265
- package/mvc/components/scb-divider/scb-divider.js +1 -69
- package/mvc/components/scb-drawer/scb-drawer.js +1 -128
- package/mvc/components/scb-drop-zone/scb-drop-zone.js +1 -555
- package/mvc/components/scb-dropdown/scb-dropdown.js +1 -306
- package/mvc/components/scb-fab/scb-fab.js +1 -108
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +1 -46
- package/mvc/components/scb-fact-card/scb-fact-card.js +1 -226
- package/mvc/components/scb-footer/scb-footer-section.js +1 -3
- package/mvc/components/scb-footer/scb-footer.js +1 -210
- package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +1 -131
- package/mvc/components/scb-grid/scb-grid-item.js +1 -11
- package/mvc/components/scb-grid/scb-grid.js +1 -98
- package/mvc/components/scb-grid/scb-stack.js +1 -33
- package/mvc/components/scb-header/scb-header-menu-group.js +1 -1
- package/mvc/components/scb-header/scb-header-menu-item.js +1 -5
- package/mvc/components/scb-header/scb-header-tab.js +1 -5
- package/mvc/components/scb-header/scb-header-utility.js +1 -1
- package/mvc/components/scb-header/scb-header.js +1 -681
- package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +1 -196
- package/mvc/components/scb-icon-button/scb-icon-button.js +1 -171
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +1 -212
- package/mvc/components/scb-link/scb-link.js +1 -61
- package/mvc/components/scb-list/scb-list-item.js +1 -153
- package/mvc/components/scb-list/scb-list.js +1 -26
- package/mvc/components/scb-menu/scb-menu-item.js +1 -205
- package/mvc/components/scb-menu/scb-menu-section.js +1 -42
- package/mvc/components/scb-menu/scb-menu.js +1 -81
- package/mvc/components/scb-menu/scb-sub-menu.js +1 -10
- package/mvc/components/scb-nav/scb-nav-item.js +1 -28
- package/mvc/components/scb-nav/scb-nav.js +1 -104
- package/mvc/components/scb-notification-card/scb-notification-card.js +1 -358
- package/mvc/components/scb-options-menu/scb-options-menu-item.js +1 -66
- package/mvc/components/scb-options-menu/scb-options-menu.js +1 -88
- package/mvc/components/scb-options-menu/scb-options-sub-menu.js +1 -34
- package/mvc/components/scb-overlay/scb-overlay.js +1 -49
- package/mvc/components/scb-pagination/scb-pagination.js +1 -312
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +1 -87
- package/mvc/components/scb-progress-stepper/scb-progress-step.js +1 -147
- package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +1 -62
- package/mvc/components/scb-radio-button/scb-radio-button.js +1 -132
- package/mvc/components/scb-radio-button/scb-radio-group.js +1 -43
- package/mvc/components/scb-scrollspy/scb-scrollspy.js +1 -79
- package/mvc/components/scb-search/scb-search.js +1 -292
- package/mvc/components/scb-segmented-button/scb-segmented-button.js +1 -32
- package/mvc/components/scb-segmented-button/scb-segmented-item.js +1 -74
- package/mvc/components/scb-select/scb-select-option.js +1 -61
- package/mvc/components/scb-select/scb-select.js +1 -284
- package/mvc/components/scb-skeleton/scb-skeleton.js +1 -38
- package/mvc/components/scb-slider/scb-slider.js +1 -27
- package/mvc/components/scb-snackbar/scb-snackbar.js +1 -128
- package/mvc/components/scb-status-pill/scb-status-pill.js +1 -45
- package/mvc/components/scb-stepper/scb-step.js +1 -239
- package/mvc/components/scb-stepper/scb-stepper.js +1 -139
- package/mvc/components/scb-switch/scb-switch.js +1 -59
- package/mvc/components/scb-table/scb-table.js +1 -51
- package/mvc/components/scb-table-advanced/scb-table-advanced.js +1 -76
- package/mvc/components/scb-tabs/scb-primary-tab.js +1 -6
- package/mvc/components/scb-tabs/scb-secondary-tab.js +1 -6
- package/mvc/components/scb-tabs/scb-tabs.js +1 -28
- package/mvc/components/scb-textfield/scb-textfield.js +1 -595
- package/mvc/components/scb-toc/scb-toc-item.js +1 -303
- package/mvc/components/scb-toc/scb-toc.js +1 -19
- package/mvc/components/scb-tooltip/scb-tooltip.js +1 -196
- package/mvc/components/scb-viz/scb-viz-actions-runtime.js +1 -2
- package/mvc/components/scb-viz/scb-viz-print-runtime.js +1 -98
- package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -1
- package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -1
- package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -1
- package/mvc/components/scb-viz/scb-viz.js +1 -1140
- package/package.json +6 -2
- package/scb-chevron/scb-chevron.js +0 -1
- package/scb-datepicker/scb-datepicker.js +0 -1
- package/scb-vignette/scb-vignette.js +0 -1
- package/scb-wc-public-entry/index.d.ts +87 -0
- package/scb-wc.bundle.js +214 -214
- package/scb-wc.d.ts +174 -180
- package/mvc/components/scb-vignette/scb-vignette.js +0 -37
package/README.md
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
# Om SCB Web Components
|
|
1
|
+
# Om SCB Web Components
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
> Installera `scb-wc` via `@next` för komponenter under utveckling. API, utseende och beteende kan ändras eller tas bort mellan versioner.
|
|
5
|
-
|
|
6
|
-
SCB Web Components(test) finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
|
|
3
|
+
SCB Web Components finns för att underlätta skapandet av enhetliga, tillgängliga och användbara webbapplikationer.
|
|
7
4
|
|
|
8
5
|
Komponenterna bygger på:
|
|
9
6
|
- [Lit](https://lit.dev/)
|
|
@@ -11,32 +8,45 @@ Komponenterna bygger på:
|
|
|
11
8
|
|
|
12
9
|
## Storybook och dokumentation (internt)
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
Produktionskomponenterna dokumenteras och demonstreras i Storybook på SCB:s interna adress:
|
|
15
12
|
|
|
16
|
-
-
|
|
13
|
+
- Prod: https://webcomponents.scb.intra
|
|
17
14
|
|
|
18
|
-
|
|
15
|
+
Testkomponenterna finns på:
|
|
19
16
|
|
|
20
|
-
-
|
|
17
|
+
- Test: https://webcomponentstest.scb.intra
|
|
21
18
|
|
|
22
19
|
---
|
|
23
20
|
|
|
24
21
|
## Kom igång
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
Rekommenderad startväg:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
npx scb-wc init html my-app
|
|
27
|
+
npx scb-wc init react my-react-app
|
|
28
|
+
npx scb-wc init blazor my-blazor-app
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Det skapar en liten starterapp med:
|
|
32
|
+
- `scb-header`
|
|
33
|
+
- `scb-footer`
|
|
34
|
+
- `scb-grid`
|
|
35
|
+
- några vanliga komponenter
|
|
36
|
+
|
|
37
|
+
Välj sedan den starter som ligger närmast din app och kör `npm install` i den nya mappen.
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
Om du redan har en app med `package.json`, kör kommandon i den mappen och installera paketet:
|
|
30
40
|
|
|
31
41
|
```sh
|
|
32
|
-
npm install scb-wc
|
|
42
|
+
npm install scb-wc
|
|
33
43
|
```
|
|
34
44
|
|
|
35
45
|
---
|
|
36
46
|
|
|
37
47
|
## Alternativ 1: Använd som ES‑moduler (t.ex. i React, Vue, SPA)
|
|
38
48
|
|
|
39
|
-
Importera CSS och de
|
|
49
|
+
Importera CSS och de komponenter du använder (bäst för tree‑shaking):
|
|
40
50
|
|
|
41
51
|
```js
|
|
42
52
|
// Global CSS + tokens (måste bara importeras en gång)
|
|
@@ -72,7 +82,7 @@ Då används paketets egna fontfiler under `node_modules/scb-wc/fonts/`.
|
|
|
72
82
|
|
|
73
83
|
## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
|
|
74
84
|
|
|
75
|
-
Det här läget använder den färdig‑
|
|
85
|
+
Det här läget använder den färdig‑splittrade **MVC‑ESM**‑builden som följer med paketet under:
|
|
76
86
|
|
|
77
87
|
```text
|
|
78
88
|
node_modules/scb-wc/mvc/
|
|
@@ -85,7 +95,7 @@ Lägg till i din apps `package.json`:
|
|
|
85
95
|
```jsonc
|
|
86
96
|
{
|
|
87
97
|
"scripts": {
|
|
88
|
-
"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
|
|
98
|
+
"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);\""
|
|
89
99
|
}
|
|
90
100
|
}
|
|
91
101
|
```
|
|
@@ -132,7 +142,7 @@ Behöver du en annan webbrotsökväg (t.ex. om din `wwwroot` ligger någon annan
|
|
|
132
142
|
|
|
133
143
|
## Alternativ 3: Bundlad version (IIFE) för äldre miljöer
|
|
134
144
|
|
|
135
|
-
Om ESM inte stöds kan du använda den bundlade
|
|
145
|
+
Om ESM inte stöds kan du använda den bundlade varianten från paketroten.
|
|
136
146
|
Flytta följande två filer från `node_modules/scb-wc` och använd dem i applikationen:
|
|
137
147
|
|
|
138
148
|
```text
|
|
@@ -154,7 +164,7 @@ node_modules/scb-wc/scb-wc.css
|
|
|
154
164
|
|
|
155
165
|
SCB Web Components fungerar även i Blazor‑appar när du vill använda samma komponenter i både MVC/MPA och Blazor.
|
|
156
166
|
|
|
157
|
-
Grundprincipen är
|
|
167
|
+
Grundprincipen är:
|
|
158
168
|
|
|
159
169
|
1. Använd MVC‑ESM‑builden (`node_modules/scb-wc/mvc`) och kopiera den till `wwwroot/ui` med `ui:install`.
|
|
160
170
|
2. Ladda `scb-blazor-bridge.js` från `wwwroot/ui` i din Blazor‑layout.
|
|
@@ -167,8 +177,8 @@ Lägg till ett script som kopierar interop-filen från `node_modules` till ditt
|
|
|
167
177
|
```jsonc
|
|
168
178
|
{
|
|
169
179
|
"scripts": {
|
|
170
|
-
"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
|
|
171
|
-
"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
|
|
180
|
+
"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);\"",
|
|
181
|
+
"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);\""
|
|
172
182
|
}
|
|
173
183
|
}
|
|
174
184
|
```
|
|
@@ -182,13 +192,13 @@ Exempel på layout:
|
|
|
182
192
|
<script type="module" src="~/ui/scb-blazor-bridge.js"></script>
|
|
183
193
|
```
|
|
184
194
|
|
|
185
|
-
`ScbBlazorInteropBase`
|
|
195
|
+
`ScbBlazorInteropBase` kan återanvändas mellan projekt som använder både `scb-wc@latest` och `scb-wc@next`.
|
|
186
196
|
|
|
187
197
|
---
|
|
188
198
|
|
|
189
199
|
## Viktigt
|
|
190
200
|
|
|
191
|
-
- `scb-wc@
|
|
201
|
+
- `scb-wc@latest` är produktionskanalen. Använd `scb-wc@next` för komponenter under utveckling och experiment.
|
|
192
202
|
- **Kör kommandon i mappen med din `package.json`.** Placeringen av `package.json` styr standardmål för `ui:install` (rot → `wwwroot/ui`, `ClientApp/` → använd `--ui_wwwroot=../wwwroot`).
|
|
193
203
|
- **Blanda inte MVC‑ESM och IIFE på samma sida.** Välj en distributionsform per sida/app.
|
|
194
204
|
- **Blazor:** Se till att `scb-blazor-bridge.js` laddas efter att komponent‑JS:et finns på sidan, och att `ScbBlazorInteropBase` inte dupliceras i flera namespaces i samma lösning.
|
package/index.js
CHANGED
|
@@ -1,91 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
|
|
89
|
-
import { buildScbVizResolvedTableView as gt, createScbVizCsvRows as _t, inferScbVizTableAlignments as vt, normalizeScbVizRenderableCell as yt, readScbVizTableDataFromSlot as bt } from "./scb-viz/scb-viz-table-runtime.js";
|
|
90
|
-
import { ScbViz as xt } from "./scb-viz/scb-viz.js";
|
|
91
|
-
export { p as SCBBreadcrumb, f as SCBBreadcrumbItem, r as ScbAccordion, t as ScbAccordionItem, l as ScbAppBar, c as ScbAvatar, u as ScbBadge, n as ScbButton, T as ScbCalendar, E as ScbCalendarCard, m as ScbCalendarEvent, k as ScbCard, y as ScbCheckbox, v as ScbCheckboxGroup, e as ScbChevron, C as ScbChip, A as ScbCollapse, j as ScbCookiesConsent, g as ScbDatepicker, w as ScbDialog, h as ScbDivider, M as ScbDrawer, N as ScbDropZone, L as ScbDropdown, R as ScbFab, B as ScbFactCard, z as ScbFactCardContent, G as ScbFooter, V as ScbFooterSection, J as ScbGalleryGrid, W as ScbGrid, H as ScbGridItem, ie as ScbHeader, Y as ScbHeaderMenuGroup, X as ScbHeaderMenuItem, Z as ScbHeaderTab, Q as ScbHeaderUtility, K as ScbHorizontalScroller, i as ScbIconButton, ae as ScbKeyFigureCard, d as ScbLink, o as ScbList, a as ScbListItem, ne as ScbMenu, $ as ScbMenuItem, se as ScbNav, oe as ScbNavItem, ce as ScbNotificationCard, I as ScbOptionsMenu, P as ScbOptionsMenuItem, F as ScbOptionsSubMenu, q as ScbOverlay, le as ScbPagination, Te as ScbPrimaryTab, ue as ScbProgressIndicator, de as ScbProgressStep, fe as ScbProgressStepper, x as ScbRadioButton, b as ScbRadioGroup, pe as ScbScrollspy, s as ScbSearch, Ee as ScbSecondaryTab, he as ScbSegmentedButton, me as ScbSegmentedItem, _e as ScbSelect, ge as ScbSelectOption, re as ScbSkeleton, ve as ScbSlider, ye as ScbSnackbar, U as ScbStack, be as ScbStatusPill, xe as ScbStep, Se as ScbStepper, te as ScbSubmenu, S as ScbSwitch, Ce as ScbTable, we as ScbTableAdvanced, De as ScbTabs, _ as ScbTextField, ke as ScbToc, Oe as ScbTocItem, D as ScbTooltip, O as ScbVignette, xt as ScbViz, ee as ScbmenuSection, Ge as appendScbVizSeriesDifferentiationPatternMarks, Ae as buildScbVizExportFileName, He as buildScbVizPrintDocumentHtml, Ue as buildScbVizPrintableFooterHtml, We as buildScbVizPrintableTableHtml, gt as buildScbVizResolvedTableView, Ze as clearScbVizSeriesDifferentiationColorClass, Qe as clearScbVizSeriesDifferentiationMetadata, je as createScbVizCsvBlob, _t as createScbVizCsvRows, Me as createScbVizRasterBlobFromElement, Ne as createScbVizRasterDataUrlFromElement, Pe as downloadScbVizBlob, $e as ensureScbVizGroupedSeriesDifferentiationStore, et as ensureScbVizStyledModeSeriesPattern, Fe as getScbVizCurrentFullscreenElement, Ie as getScbVizExportBaseFileName, Le as getScbVizFullscreenDocument, tt as getScbVizGroupedSeriesDifferentiationKey, nt as getScbVizGroupedSeriesDifferentiationVariant, rt as getScbVizGroupedSeriesDifferentiationVariantIndex, it as getScbVizHighchartsColorClassName, at as getScbVizHighchartsSvgElement, ot as getScbVizHighchartsSvgRoot, st as getScbVizLegendSeriesDifferentiationTargets, ct as getScbVizSeriesDifferentiationColorIndex, Ke as getScbVizSeriesDifferentiationPatternDefinition, qe as getScbVizSeriesDifferentiationPatternKinds, Je as getScbVizSeriesDifferentiationRegistry, Ye as getScbVizSeriesDifferentiationVariant, lt as getScbVizSeriesDifferentiationVariantByIndex, vt as inferScbVizTableAlignments, Re as isScbVizFullscreenSupported, ut as isScbVizGroupedSeriesDifferentiationChart, dt as isScbVizHighchartsStyledMode, yt as normalizeScbVizRenderableCell, ze as openScbVizPrintFrame, bt as readScbVizTableDataFromSlot, Be as runWithScbVizForcedPrintLightMode, Xe as scbVizSeriesDifferentiationRegistry, ft as setScbVizSeriesDifferentiationColorClass, pt as setScbVizSeriesDifferentiationMetadata, mt as shouldShowScbVizSeriesDifferentiationAction, Ve as toggleScbVizFullscreen, ht as usesScbVizGroupedPointDifferentiation };
|
|
1
|
+
import { ScbAccordionItem as e } from "./scb-accordion/scb-accordion-item.js";
|
|
2
|
+
import { ScbButton as t } from "./scb-button/scb-button.js";
|
|
3
|
+
import { ScbAccordion as n } from "./scb-accordion/scb-accordion.js";
|
|
4
|
+
import { ScbIconButton as r } from "./scb-icon-button/scb-icon-button.js";
|
|
5
|
+
import { ScbListItem as i } from "./scb-list/scb-list-item.js";
|
|
6
|
+
import { ScbList as a } from "./scb-list/scb-list.js";
|
|
7
|
+
import { ScbSearch as o } from "./scb-search/scb-search.js";
|
|
8
|
+
import { ScbAvatar as s } from "./scb-avatar/scb-avatar.js";
|
|
9
|
+
import { ScbAppBar as c } from "./scb-app-bar/scb-app-bar.js";
|
|
10
|
+
import { ScbBadge as l } from "./scb-badge/scb-badge.js";
|
|
11
|
+
import { ScbLink as u } from "./scb-link/scb-link.js";
|
|
12
|
+
import { SCBBreadcrumbItem as d } from "./scb-breadcrumb/scb-breadcrumb-item.js";
|
|
13
|
+
import { SCBBreadcrumb as f } from "./scb-breadcrumb/scb-breadcrumb.js";
|
|
14
|
+
import { ScbCalendarEvent as p } from "./scb-calendar/scb-calendar-event.js";
|
|
15
|
+
import { ScbDivider as m } from "./scb-divider/scb-divider.js";
|
|
16
|
+
import { ScbTextField as h } from "./scb-textfield/scb-textfield.js";
|
|
17
|
+
import { ScbCheckboxGroup as g } from "./scb-checkbox/scb-checkbox-group.js";
|
|
18
|
+
import { ScbCheckbox as _ } from "./scb-checkbox/scb-checkbox.js";
|
|
19
|
+
import { ScbRadioGroup as v } from "./scb-radio-button/scb-radio-group.js";
|
|
20
|
+
import { ScbRadioButton as y } from "./scb-radio-button/scb-radio-button.js";
|
|
21
|
+
import { ScbSwitch as b } from "./scb-switch/scb-switch.js";
|
|
22
|
+
import { ScbChip as x } from "./scb-chip/scb-chip.js";
|
|
23
|
+
import { ScbDialog as S } from "./scb-dialog/scb-dialog.js";
|
|
24
|
+
import { ScbCalendar as C } from "./scb-calendar/scb-calendar.js";
|
|
25
|
+
import { ScbCalendarCard as w } from "./scb-calendar-card/scb-calendar-card.js";
|
|
26
|
+
import { ScbTooltip as T } from "./scb-tooltip/scb-tooltip.js";
|
|
27
|
+
import { ScbCard as E } from "./scb-card/scb-card.js";
|
|
28
|
+
import { ScbCollapse as D } from "./scb-collapse/scb-collapse.js";
|
|
29
|
+
import { ScbCookiesConsent as O } from "./scb-cookies-consent/scb-cookies-consent.js";
|
|
30
|
+
import { ScbDrawer as k } from "./scb-drawer/scb-drawer.js";
|
|
31
|
+
import { ScbDropZone as A } from "./scb-drop-zone/scb-drop-zone.js";
|
|
32
|
+
import { ScbOptionsMenuItem as j } from "./scb-options-menu/scb-options-menu-item.js";
|
|
33
|
+
import { ScbOptionsSubMenu as M } from "./scb-options-menu/scb-options-sub-menu.js";
|
|
34
|
+
import { ScbOptionsMenu as N } from "./scb-options-menu/scb-options-menu.js";
|
|
35
|
+
import { ScbDropdown as P } from "./scb-dropdown/scb-dropdown.js";
|
|
36
|
+
import { ScbFab as F } from "./scb-fab/scb-fab.js";
|
|
37
|
+
import { ScbFactCardContent as I } from "./scb-fact-card/scb-fact-card-content.js";
|
|
38
|
+
import { ScbFactCard as L } from "./scb-fact-card/scb-fact-card.js";
|
|
39
|
+
import { ScbFooterSection as R } from "./scb-footer/scb-footer-section.js";
|
|
40
|
+
import { ScbGridItem as z } from "./scb-grid/scb-grid-item.js";
|
|
41
|
+
import { ScbStack as B } from "./scb-grid/scb-stack.js";
|
|
42
|
+
import { ScbGrid as V } from "./scb-grid/scb-grid.js";
|
|
43
|
+
import { ScbFooter as H } from "./scb-footer/scb-footer.js";
|
|
44
|
+
import { ScbHorizontalScroller as U } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
|
|
45
|
+
import { ScbOverlay as W } from "./scb-overlay/scb-overlay.js";
|
|
46
|
+
import { ScbGalleryGrid as G } from "./scb-gallery-grid/scb-gallery-grid.js";
|
|
47
|
+
import { ScbHeaderMenuGroup as K } from "./scb-header/scb-header-menu-group.js";
|
|
48
|
+
import { ScbHeaderMenuItem as q } from "./scb-header/scb-header-menu-item.js";
|
|
49
|
+
import { ScbHeaderTab as J } from "./scb-header/scb-header-tab.js";
|
|
50
|
+
import { ScbHeaderUtility as Y } from "./scb-header/scb-header-utility.js";
|
|
51
|
+
import { ScbMenuItem as X } from "./scb-menu/scb-menu-item.js";
|
|
52
|
+
import { ScbmenuSection as Z } from "./scb-menu/scb-menu-section.js";
|
|
53
|
+
import { ScbSubmenu as Q } from "./scb-menu/scb-sub-menu.js";
|
|
54
|
+
import { ScbMenu as $ } from "./scb-menu/scb-menu.js";
|
|
55
|
+
import { ScbSkeleton as ee } from "./scb-skeleton/scb-skeleton.js";
|
|
56
|
+
import { ScbHeader as te } from "./scb-header/scb-header.js";
|
|
57
|
+
import { ScbKeyFigureCard as ne } from "./scb-keyfigure-card/scb-keyfigure-card.js";
|
|
58
|
+
import { ScbNavItem as re } from "./scb-nav/scb-nav-item.js";
|
|
59
|
+
import { ScbNav as ie } from "./scb-nav/scb-nav.js";
|
|
60
|
+
import { ScbNotificationCard as ae } from "./scb-notification-card/scb-notification-card.js";
|
|
61
|
+
import { ScbPagination as oe } from "./scb-pagination/scb-pagination.js";
|
|
62
|
+
import { ScbProgressIndicator as se } from "./scb-progress-indicator/scb-progress-indicator.js";
|
|
63
|
+
import { ScbProgressStep as ce } from "./scb-progress-stepper/scb-progress-step.js";
|
|
64
|
+
import { ScbProgressStepper as le } from "./scb-progress-stepper/scb-progress-stepper.js";
|
|
65
|
+
import { ScbScrollspy as ue } from "./scb-scrollspy/scb-scrollspy.js";
|
|
66
|
+
import { ScbSegmentedItem as de } from "./scb-segmented-button/scb-segmented-item.js";
|
|
67
|
+
import { ScbSegmentedButton as fe } from "./scb-segmented-button/scb-segmented-button.js";
|
|
68
|
+
import { ScbSelectOption as pe } from "./scb-select/scb-select-option.js";
|
|
69
|
+
import { ScbSelect as me } from "./scb-select/scb-select.js";
|
|
70
|
+
import { ScbSlider as he } from "./scb-slider/scb-slider.js";
|
|
71
|
+
import { ScbSnackbar as ge } from "./scb-snackbar/scb-snackbar.js";
|
|
72
|
+
import { ScbStatusPill as _e } from "./scb-status-pill/scb-status-pill.js";
|
|
73
|
+
import { ScbStep as ve } from "./scb-stepper/scb-step.js";
|
|
74
|
+
import { ScbStepper as ye } from "./scb-stepper/scb-stepper.js";
|
|
75
|
+
import { ScbTable as be } from "./scb-table/scb-table.js";
|
|
76
|
+
import { ScbTableAdvanced as xe } from "./scb-table-advanced/scb-table-advanced.js";
|
|
77
|
+
import { ScbPrimaryTab as Se } from "./scb-tabs/scb-primary-tab.js";
|
|
78
|
+
import { ScbSecondaryTab as Ce } from "./scb-tabs/scb-secondary-tab.js";
|
|
79
|
+
import { ScbTabs as we } from "./scb-tabs/scb-tabs.js";
|
|
80
|
+
import { ScbTocItem as Te } from "./scb-toc/scb-toc-item.js";
|
|
81
|
+
import { ScbToc as Ee } from "./scb-toc/scb-toc.js";
|
|
82
|
+
import { buildScbVizExportFileName as De, createScbVizCsvBlob as Oe, createScbVizRasterBlobFromElement as ke, createScbVizRasterDataUrlFromElement as Ae, downloadScbVizBlob as je, getScbVizCurrentFullscreenElement as Me, getScbVizExportBaseFileName as Ne, getScbVizFullscreenDocument as Pe, isScbVizFullscreenSupported as Fe, openScbVizPrintFrame as Ie, runWithScbVizForcedPrintLightMode as Le, toggleScbVizFullscreen as Re } from "./scb-viz/scb-viz-actions-runtime.js";
|
|
83
|
+
import { buildScbVizPrintDocumentHtml as ze, buildScbVizPrintableFooterHtml as Be, buildScbVizPrintableTableHtml as Ve } from "./scb-viz/scb-viz-print-runtime.js";
|
|
84
|
+
import { appendScbVizSeriesDifferentiationPatternMarks as He, getScbVizSeriesDifferentiationPatternDefinition as Ue, getScbVizSeriesDifferentiationPatternKinds as We, getScbVizSeriesDifferentiationRegistry as Ge, getScbVizSeriesDifferentiationVariant as Ke, scbVizSeriesDifferentiationRegistry as qe } from "./scb-viz/scb-viz-series-differentiation-registry.js";
|
|
85
|
+
import { clearScbVizSeriesDifferentiationColorClass as Je, clearScbVizSeriesDifferentiationMetadata as Ye, ensureScbVizGroupedSeriesDifferentiationStore as Xe, ensureScbVizStyledModeSeriesPattern as Ze, getScbVizGroupedSeriesDifferentiationKey as Qe, getScbVizGroupedSeriesDifferentiationVariant as $e, getScbVizGroupedSeriesDifferentiationVariantIndex as et, getScbVizHighchartsColorClassName as tt, getScbVizHighchartsSvgElement as nt, getScbVizHighchartsSvgRoot as rt, getScbVizLegendSeriesDifferentiationTargets as it, getScbVizSeriesDifferentiationColorIndex as at, getScbVizSeriesDifferentiationVariantByIndex as ot, isScbVizGroupedSeriesDifferentiationChart as st, isScbVizHighchartsStyledMode as ct, setScbVizSeriesDifferentiationColorClass as lt, setScbVizSeriesDifferentiationMetadata as ut, shouldShowScbVizSeriesDifferentiationAction as dt, usesScbVizGroupedPointDifferentiation as ft } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
|
|
86
|
+
import { buildScbVizResolvedTableView as pt, createScbVizCsvRows as mt, inferScbVizTableAlignments as ht, normalizeScbVizRenderableCell as gt, readScbVizTableDataFromSlot as _t } from "./scb-viz/scb-viz-table-runtime.js";
|
|
87
|
+
import { ScbViz as vt } from "./scb-viz/scb-viz.js";
|
|
88
|
+
export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent, E as ScbCard, _ as ScbCheckbox, g as ScbCheckboxGroup, x as ScbChip, D as ScbCollapse, O as ScbCookiesConsent, S as ScbDialog, m as ScbDivider, k as ScbDrawer, A as ScbDropZone, P as ScbDropdown, F as ScbFab, L as ScbFactCard, I as ScbFactCardContent, H as ScbFooter, R as ScbFooterSection, G as ScbGalleryGrid, V as ScbGrid, z as ScbGridItem, te as ScbHeader, K as ScbHeaderMenuGroup, q as ScbHeaderMenuItem, J as ScbHeaderTab, Y as ScbHeaderUtility, U as ScbHorizontalScroller, r as ScbIconButton, ne as ScbKeyFigureCard, u as ScbLink, a as ScbList, i as ScbListItem, $ as ScbMenu, X as ScbMenuItem, ie as ScbNav, re as ScbNavItem, ae as ScbNotificationCard, N as ScbOptionsMenu, j as ScbOptionsMenuItem, M as ScbOptionsSubMenu, W as ScbOverlay, oe as ScbPagination, Se as ScbPrimaryTab, se as ScbProgressIndicator, ce as ScbProgressStep, le as ScbProgressStepper, y as ScbRadioButton, v as ScbRadioGroup, ue as ScbScrollspy, o as ScbSearch, Ce as ScbSecondaryTab, fe as ScbSegmentedButton, de as ScbSegmentedItem, me as ScbSelect, pe as ScbSelectOption, ee as ScbSkeleton, he as ScbSlider, ge as ScbSnackbar, B as ScbStack, _e as ScbStatusPill, ve as ScbStep, ye as ScbStepper, Q as ScbSubmenu, b as ScbSwitch, be as ScbTable, xe as ScbTableAdvanced, we as ScbTabs, h as ScbTextField, Ee as ScbToc, Te as ScbTocItem, T as ScbTooltip, vt as ScbViz, Z as ScbmenuSection, He as appendScbVizSeriesDifferentiationPatternMarks, De as buildScbVizExportFileName, ze as buildScbVizPrintDocumentHtml, Be as buildScbVizPrintableFooterHtml, Ve as buildScbVizPrintableTableHtml, pt as buildScbVizResolvedTableView, Je as clearScbVizSeriesDifferentiationColorClass, Ye as clearScbVizSeriesDifferentiationMetadata, Oe as createScbVizCsvBlob, mt as createScbVizCsvRows, ke as createScbVizRasterBlobFromElement, Ae as createScbVizRasterDataUrlFromElement, je as downloadScbVizBlob, Xe as ensureScbVizGroupedSeriesDifferentiationStore, Ze as ensureScbVizStyledModeSeriesPattern, Me as getScbVizCurrentFullscreenElement, Ne as getScbVizExportBaseFileName, Pe as getScbVizFullscreenDocument, Qe as getScbVizGroupedSeriesDifferentiationKey, $e as getScbVizGroupedSeriesDifferentiationVariant, et as getScbVizGroupedSeriesDifferentiationVariantIndex, tt as getScbVizHighchartsColorClassName, nt as getScbVizHighchartsSvgElement, rt as getScbVizHighchartsSvgRoot, it as getScbVizLegendSeriesDifferentiationTargets, at as getScbVizSeriesDifferentiationColorIndex, Ue as getScbVizSeriesDifferentiationPatternDefinition, We as getScbVizSeriesDifferentiationPatternKinds, Ge as getScbVizSeriesDifferentiationRegistry, Ke as getScbVizSeriesDifferentiationVariant, ot as getScbVizSeriesDifferentiationVariantByIndex, ht as inferScbVizTableAlignments, Fe as isScbVizFullscreenSupported, st as isScbVizGroupedSeriesDifferentiationChart, ct as isScbVizHighchartsStyledMode, gt as normalizeScbVizRenderableCell, Ie as openScbVizPrintFrame, _t as readScbVizTableDataFromSlot, Le as runWithScbVizForcedPrintLightMode, qe as scbVizSeriesDifferentiationRegistry, lt as setScbVizSeriesDifferentiationColorClass, ut as setScbVizSeriesDifferentiationMetadata, dt as shouldShowScbVizSeriesDifferentiationAction, Re as toggleScbVizFullscreen, ft as usesScbVizGroupedPointDifferentiation };
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import"../../../../../../../../vendor/vendor-material.js";import{_ as b,b as m,g as h,h as o,v as l,y as s}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as r}from"../../../../../../../../vendor/decorate.js";import"../scb-chevron/scb-chevron.js";(function(){try{var g=typeof globalThis<"u"?globalThis:window;if(!g.__scb_ce_guard_installed__){g.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(i,e,v){try{customElements.get(i)||t(i,e,v)}catch(c){var n=String(c||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d,p,a=(d=class extends b{constructor(...t){super(...t),this.open=!1,this.title="",this.content="",this.overline="",this.supportingText="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.imgHrefImage="",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.density=0,this._unique=p._uid(),this._ignoreNextNativeTitleAttrChange=!1,this._onSummaryClick=i=>{i.preventDefault();const e=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,e),this.setOpen(e)},this._onToggle=i=>{const e=i.currentTarget;e.open||(e.open=!0),this._applyInertByOpen()}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${p._uidPrefix}-${++p._uidSeq}`}static get observedAttributes(){const t=super.observedAttributes||[];return t.includes("title")?t:[...t,"title"]}attributeChangedCallback(t,i,e){if(t==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(t,i,e),t==="title"&&e!==null&&(this._ignoreNextNativeTitleAttrChange=!0,this.removeAttribute("title"))}firstUpdated(){this._applyInertByOpen()}_applyInertByOpen(){const t=this.renderRoot.querySelector(".scb-accordion-bottom");t&&(this.open?(t.removeAttribute("inert"),t.setAttribute("aria-hidden","false")):(t.setAttribute("inert",""),t.setAttribute("aria-hidden","true")))}_onKeyDown(t){const i=this.closest("scb-accordion"),e=Array.from(i?.querySelectorAll("scb-accordion-item")||[]).map(c=>c.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(c=>!!c),v=t.currentTarget,n=e.indexOf(v);switch(t.key){case"ArrowDown":t.preventDefault(),n<e.length-1&&e[n+1].focus();break;case"ArrowUp":t.preventDefault(),n>0&&e[n-1].focus();break;case"Home":t.preventDefault(),e.length&&e[0].focus();break;case"End":t.preventDefault(),e.length&&e[e.length-1].focus();break}}setOpen(t){this.open=!!t;const i=this.renderRoot.querySelector("details");i&&!i.open&&(i.open=!0),this._applyInertByOpen()}updated(t){if(t.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 t=`bottom-${this._unique}`,i=`header-${this._unique}`,e=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?s`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?s`
|
|
2
|
+
<scb-avatar
|
|
3
|
+
label=${this.avatarLabel}
|
|
4
|
+
alt=${this.avatarAlt}
|
|
5
|
+
src=${this.avatarVariant==="image"?this.avatarSrc:""}
|
|
6
|
+
size="medium"
|
|
7
|
+
shape="circular"
|
|
8
|
+
variant=${this.avatarVariant}
|
|
9
|
+
></scb-avatar>
|
|
10
|
+
`:this.leadingVariant==="icon"?s`<md-icon>${this.leadingIcon}</md-icon>`:l:l;return s`
|
|
11
|
+
<details class="scb-accordion-item" open @toggle=${this._onToggle}>
|
|
12
|
+
<summary
|
|
13
|
+
id=${i}
|
|
14
|
+
class="scb-accordion-top"
|
|
15
|
+
aria-controls=${t}
|
|
16
|
+
@click=${this._onSummaryClick}
|
|
17
|
+
@keydown=${this._onKeyDown}
|
|
18
|
+
>
|
|
19
|
+
<md-ripple></md-ripple>
|
|
20
|
+
|
|
21
|
+
${this.leading?s`<div class="leading">${e}</div>`:l}
|
|
22
|
+
|
|
23
|
+
<div class="texts">
|
|
24
|
+
${this.overline?s`<div class="overline">${this.overline}</div>`:l}
|
|
25
|
+
<div class="title">${this.title}</div>
|
|
26
|
+
${this.supportingText?s`<div class="supporting-text">${this.supportingText}</div>`:l}
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<scb-chevron class="chevron" .open=${this.open}></scb-chevron>
|
|
30
|
+
</summary>
|
|
31
|
+
|
|
32
|
+
<div id=${t} class="scb-accordion-bottom" role="region" aria-labelledby=${i}>
|
|
33
|
+
<div class="bottom-inner">
|
|
34
|
+
<slot>${this.content}</slot>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
</details>
|
|
38
|
+
|
|
39
|
+
<md-focus-ring for=${i} inward></md-focus-ring>
|
|
40
|
+
`}},p=d,d._uidPrefix=`uid-${Math.random().toString(36).slice(2)}`,d._uidSeq=0,d.styles=[m`
|
|
41
|
+
:host {
|
|
42
|
+
display: block;
|
|
43
|
+
position: relative;
|
|
44
|
+
--scb-accordion-hover-radius: var(--radius-none, 0px);
|
|
45
|
+
--scb-accordion-chevron-nudge-y: 3px;
|
|
46
|
+
--scb-accordion-motion-duration: 0.3s;
|
|
47
|
+
--scb-accordion-motion-easing: ease;
|
|
48
|
+
--scb-accordion-panel-padding-closed: var(--spacing-0, 0px);
|
|
49
|
+
--scb-accordion-interaction-bleed: max(var(--stroke-focus-ring, 3px), var(--spacing-2, 4px));
|
|
50
|
+
|
|
51
|
+
--scb-accordion-item-padding-inline: var(--spacing-5, 16px);
|
|
52
|
+
--scb-accordion-item-padding-block: var(--spacing-7, 24px);
|
|
53
|
+
--scb-accordion-item-gap: var(--spacing-5, 16px);
|
|
54
|
+
|
|
55
|
+
--scb-accordion-title-font-size: var(--md-sys-typescale-title-large-size);
|
|
56
|
+
--scb-accordion-title-line-height: var(--md-sys-typescale-title-large-line-height);
|
|
57
|
+
--scb-accordion-title-letter-spacing: var(--md-sys-typescale-title-large-tracking);
|
|
58
|
+
|
|
59
|
+
--scb-accordion-supporting-font-size: var(--md-sys-typescale-body-medium-size);
|
|
60
|
+
--scb-accordion-supporting-line-height: var(--md-sys-typescale-body-medium-line-height);
|
|
61
|
+
--scb-accordion-supporting-letter-spacing: var(--md-sys-typescale-body-medium-tracking);
|
|
62
|
+
|
|
63
|
+
--scb-accordion-leading-image-size: calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
:host-context(scb-accordion[size='medium']) {
|
|
67
|
+
--scb-accordion-item-padding-inline: var(--spacing-5, 16px);
|
|
68
|
+
--scb-accordion-item-padding-block: var(--spacing-6, 20px);
|
|
69
|
+
--scb-accordion-item-gap: var(--spacing-4, 12px);
|
|
70
|
+
|
|
71
|
+
--scb-accordion-title-font-size: var(--md-sys-typescale-title-medium-size);
|
|
72
|
+
--scb-accordion-title-line-height: var(--md-sys-typescale-title-medium-line-height);
|
|
73
|
+
--scb-accordion-title-letter-spacing: var(--md-sys-typescale-title-medium-tracking);
|
|
74
|
+
|
|
75
|
+
--scb-accordion-leading-image-size: calc(var(--icon-size-large, 30px) + var(--spacing-4, 12px));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:host-context(scb-accordion[size='small']) {
|
|
79
|
+
--scb-accordion-item-padding-inline: var(--spacing-4, 12px);
|
|
80
|
+
--scb-accordion-item-padding-block: var(--spacing-5, 16px);
|
|
81
|
+
--scb-accordion-item-gap: var(--spacing-3, 8px);
|
|
82
|
+
|
|
83
|
+
--scb-accordion-title-font-size: var(--md-sys-typescale-title-small-size);
|
|
84
|
+
--scb-accordion-title-line-height: var(--md-sys-typescale-title-small-line-height);
|
|
85
|
+
--scb-accordion-title-letter-spacing: var(--md-sys-typescale-title-small-tracking);
|
|
86
|
+
|
|
87
|
+
--scb-accordion-supporting-font-size: var(--md-sys-typescale-body-small-size);
|
|
88
|
+
--scb-accordion-supporting-line-height: var(--md-sys-typescale-body-small-line-height);
|
|
89
|
+
--scb-accordion-supporting-letter-spacing: var(--md-sys-typescale-body-small-tracking);
|
|
90
|
+
|
|
91
|
+
--scb-accordion-leading-image-size: calc(var(--icon-size-medium, 24px) + var(--spacing-4, 12px));
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
md-focus-ring {
|
|
95
|
+
position: absolute;
|
|
96
|
+
inset: 0;
|
|
97
|
+
pointer-events: none;
|
|
98
|
+
border-radius: var(--scb-accordion-focus-ring-radius, var(--md-sys-shape-corner-small, 8px));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.scb-accordion-item {
|
|
102
|
+
border-bottom: var(--stroke-border, 1px) solid var(--md-sys-color-outline-variant);
|
|
103
|
+
color: var(--md-sys-color-on-surface);
|
|
104
|
+
font-family: var(--brand-font);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* Header */
|
|
108
|
+
.scb-accordion-top {
|
|
109
|
+
list-style: none;
|
|
110
|
+
display: flex;
|
|
111
|
+
flex-direction: row;
|
|
112
|
+
align-items: center;
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
padding-block: var(--scb-accordion-item-padding-block, var(--spacing-7, 24px));
|
|
115
|
+
padding-inline: var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px));
|
|
116
|
+
border-radius: var(--radius-none, 0px);
|
|
117
|
+
gap: var(--scb-accordion-item-gap, var(--spacing-5, 16px));
|
|
118
|
+
color: var(--md-sys-color-on-surface);
|
|
119
|
+
position: relative;
|
|
120
|
+
overflow: hidden;
|
|
121
|
+
-webkit-tap-highlight-color: transparent;
|
|
122
|
+
outline: none;
|
|
123
|
+
}
|
|
124
|
+
.scb-accordion-top::-webkit-details-marker { display: none; }
|
|
125
|
+
summary::marker { content: ''; }
|
|
126
|
+
|
|
127
|
+
:host([density="-2"]) .scb-accordion-top,
|
|
128
|
+
:host-context([data-density="-2"]) .scb-accordion-top {
|
|
129
|
+
padding-block: var(--spacing-5, 16px);
|
|
130
|
+
}
|
|
131
|
+
:host([density="-4"]) .scb-accordion-top,
|
|
132
|
+
:host-context([data-density="-4"]) .scb-accordion-top {
|
|
133
|
+
padding-block: var(--spacing-4, 12px);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.scb-accordion-bottom {
|
|
137
|
+
display: grid;
|
|
138
|
+
grid-template-rows: 0fr;
|
|
139
|
+
opacity: 0;
|
|
140
|
+
overflow: hidden;
|
|
141
|
+
transition:
|
|
142
|
+
grid-template-rows var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),
|
|
143
|
+
opacity var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing),
|
|
144
|
+
padding var(--scb-accordion-motion-duration) var(--scb-accordion-motion-easing);
|
|
145
|
+
padding-block: var(--scb-accordion-panel-padding-closed);
|
|
146
|
+
padding-inline: calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));
|
|
147
|
+
}
|
|
148
|
+
:host([open]) .scb-accordion-bottom {
|
|
149
|
+
grid-template-rows: 1fr;
|
|
150
|
+
opacity: 1;
|
|
151
|
+
padding-top: max(var(--spacing-0, 0px), calc(var(--spacing-2, 4px) - var(--scb-accordion-interaction-bleed)));
|
|
152
|
+
padding-right: calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));
|
|
153
|
+
padding-bottom: calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));
|
|
154
|
+
padding-left: calc(var(--scb-accordion-item-padding-inline, var(--spacing-5, 16px)) - var(--scb-accordion-interaction-bleed));
|
|
155
|
+
}
|
|
156
|
+
.bottom-inner {
|
|
157
|
+
min-height: 0;
|
|
158
|
+
overflow: visible;
|
|
159
|
+
padding: var(--scb-accordion-interaction-bleed);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.title {
|
|
163
|
+
font-family: var(--brand-font);
|
|
164
|
+
font-size: var(--scb-accordion-title-font-size, var(--md-sys-typescale-title-large-size));
|
|
165
|
+
line-height: var(--scb-accordion-title-line-height, var(--md-sys-typescale-title-large-line-height));
|
|
166
|
+
font-weight: var(--weight-semibold);
|
|
167
|
+
letter-spacing: var(--scb-accordion-title-letter-spacing, var(--md-sys-typescale-title-large-tracking));
|
|
168
|
+
color: var(--md-sys-color-on-surface);
|
|
169
|
+
}
|
|
170
|
+
.overline {
|
|
171
|
+
font-family: var(--brand-font);
|
|
172
|
+
font-size: var(--md-sys-typescale-body-small-size);
|
|
173
|
+
line-height: var(--md-sys-typescale-body-small-line-height);
|
|
174
|
+
font-weight: var(--weight-regular);
|
|
175
|
+
letter-spacing: var(--md-sys-typescale-body-small-tracking);
|
|
176
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
177
|
+
}
|
|
178
|
+
.supporting-text {
|
|
179
|
+
font-family: var(--brand-font);
|
|
180
|
+
font-size: var(--scb-accordion-supporting-font-size, var(--md-sys-typescale-body-medium-size));
|
|
181
|
+
line-height: var(--scb-accordion-supporting-line-height, var(--md-sys-typescale-body-medium-line-height));
|
|
182
|
+
font-weight: var(--weight-regular);
|
|
183
|
+
letter-spacing: var(--scb-accordion-supporting-letter-spacing, var(--md-sys-typescale-body-medium-tracking));
|
|
184
|
+
color: var(--md-sys-color-on-surface-variant);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.leading { align-self: center; display: grid; place-items: center; }
|
|
188
|
+
.img {
|
|
189
|
+
width: var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));
|
|
190
|
+
height: var(--scb-accordion-leading-image-size, calc(var(--icon-size-extra-large, 36px) + var(--spacing-5, 16px)));
|
|
191
|
+
object-fit: contain;
|
|
192
|
+
border-radius: var(--radius-s, 8px);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.texts { display: grid; gap: var(--spacing-1, 2px); }
|
|
196
|
+
|
|
197
|
+
.chevron {
|
|
198
|
+
margin-left: auto;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
md-ripple {
|
|
202
|
+
border-radius: inherit;
|
|
203
|
+
inset: 0;
|
|
204
|
+
position: absolute;
|
|
205
|
+
pointer-events: none;
|
|
206
|
+
overflow: hidden;
|
|
207
|
+
}
|
|
208
|
+
@media (prefers-reduced-motion: reduce) {
|
|
209
|
+
md-ripple { display: none; }
|
|
210
|
+
}
|
|
211
|
+
`],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);export{a as ScbAccordionItem};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import{_ as m,b as v,g as y,h as a,v as _,y as b}from"../../../../../../../../vendor/vendor.js";import"../../../../../../../../vendor/vendor-lit.js";import{t as c}from"../../../../../../../../vendor/decorate.js";import"./scb-accordion-item.js";import{n as k,t as n}from"../../../../../../../../vendor/assertClassBrand.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 s,p,o=(s=new WeakSet,p=class extends m{constructor(...t){super(...t),k(this,s),this.singleOpen=!1,this.showCloseAll=!1,this.size="large",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",n(s,this,f))}disconnectedCallback(){this.removeEventListener("open-changed",n(s,this,f)),super.disconnectedCallback()}render(){const t=!this.singleOpen&&this.showCloseAll,i=t?n(s,this,S).call(this):!1;return b`
|
|
2
|
+
<div class="scb-accordion" ?single-open=${this.singleOpen}>
|
|
3
|
+
${t?b`
|
|
4
|
+
<div class="scb-accordion-actions" role="toolbar" aria-label="Accordionkontroller">
|
|
5
|
+
<scb-button
|
|
6
|
+
variant="text"
|
|
7
|
+
label=${i?"Stäng alla":"Öppna alla"}
|
|
8
|
+
@click=${n(s,this,O)}
|
|
9
|
+
></scb-button>
|
|
10
|
+
</div>
|
|
11
|
+
`:_}
|
|
12
|
+
|
|
13
|
+
<slot @slotchange=${n(s,this,A)}></slot>
|
|
14
|
+
</div>
|
|
15
|
+
`}firstUpdated(){n(s,this,u).call(this),n(s,this,d).call(this)}updated(t){(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&n(s,this,u).call(this),t.has("singleOpen")&&n(s,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=v`
|
|
16
|
+
:host {
|
|
17
|
+
display: block;
|
|
18
|
+
margin-block-start: var(--scb-accordion-spacing-block-start, 0);
|
|
19
|
+
margin-block-end: var(--scb-accordion-spacing-block-end, 0);
|
|
20
|
+
margin-inline-start: var(--scb-accordion-spacing-inline-start, 0);
|
|
21
|
+
margin-inline-end: var(--scb-accordion-spacing-inline-end, 0);
|
|
22
|
+
|
|
23
|
+
--scb-accordion-actions-padding-inline: var(--spacing-5, 16px);
|
|
24
|
+
--scb-accordion-actions-padding-block: var(--spacing-2, 4px);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([size='medium']) {
|
|
28
|
+
--scb-accordion-actions-padding-inline: var(--spacing-5, 16px);
|
|
29
|
+
--scb-accordion-actions-padding-block: var(--spacing-2, 4px);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
:host([size='small']) {
|
|
33
|
+
--scb-accordion-actions-padding-inline: var(--spacing-4, 12px);
|
|
34
|
+
--scb-accordion-actions-padding-block: var(--spacing-2, 4px);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.scb-accordion-actions {
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: flex-end;
|
|
40
|
+
padding-inline: var(--scb-accordion-actions-padding-inline);
|
|
41
|
+
padding-block-start: var(--scb-accordion-actions-padding-block);
|
|
42
|
+
padding-block-end: var(--scb-accordion-actions-padding-block);
|
|
43
|
+
}
|
|
44
|
+
`,p);function S(){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 A(){if(this.singleOpen){n(s,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")}c([a({type:Boolean,attribute:"single-open",reflect:!0})],o.prototype,"singleOpen",void 0);c([a({type:Boolean,attribute:"show-close-all",reflect:!0})],o.prototype,"showCloseAll",void 0);c([a({type:String,reflect:!0})],o.prototype,"size",void 0);c([a({type:String,reflect:!0})],o.prototype,"spacing",void 0);c([a({type:String,attribute:"spacing-top",reflect:!0})],o.prototype,"spacingTop",void 0);c([a({type:String,attribute:"spacing-bottom",reflect:!0})],o.prototype,"spacingBottom",void 0);c([a({type:String,attribute:"spacing-left",reflect:!0})],o.prototype,"spacingLeft",void 0);c([a({type:String,attribute:"spacing-right",reflect:!0})],o.prototype,"spacingRight",void 0);o=c([y("scb-accordion")],o);export{o as ScbAccordion};
|