@nldd/design-system 0.8.49 → 0.8.51
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/dist/components/actions/button/button.styles.d.ts.map +1 -1
- package/dist/components/actions/button/button.styles.js +1 -0
- package/dist/components/actions/button/button.styles.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.styles.js +1 -0
- package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
- package/dist/components/components.js +93 -86
- package/dist/components/content/code-viewer/code-viewer.d.ts +37 -0
- package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.i18n.d.ts +8 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.d.ts.map +1 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.js +7 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.js.map +1 -0
- package/dist/components/content/code-viewer/code-viewer.js +104 -1
- package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js +112 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.template.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.template.js +50 -3
- package/dist/components/content/code-viewer/code-viewer.template.js.map +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +17 -0
- package/dist/components/content/icon/icon-aliases.js.map +1 -1
- package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
- package/dist/components/content/icon/icon-registry.js +12 -0
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/content/image/image.d.ts +151 -0
- package/dist/components/content/image/image.d.ts.map +1 -0
- package/dist/components/content/image/image.i18n.d.ts +8 -0
- package/dist/components/content/image/image.i18n.d.ts.map +1 -0
- package/dist/components/content/image/image.i18n.js +7 -0
- package/dist/components/content/image/image.i18n.js.map +1 -0
- package/dist/components/content/image/image.js +320 -0
- package/dist/components/content/image/image.js.map +1 -0
- package/dist/components/content/image/image.styles.d.ts +2 -0
- package/dist/components/content/image/image.styles.d.ts.map +1 -0
- package/dist/components/content/image/image.styles.js +402 -0
- package/dist/components/content/image/image.styles.js.map +1 -0
- package/dist/components/content/image/image.template.d.ts +3 -0
- package/dist/components/content/image/image.template.d.ts.map +1 -0
- package/dist/components/content/image/image.template.js +109 -0
- package/dist/components/content/image/image.template.js.map +1 -0
- package/dist/components/content/image/lqip-encoder-element.d.ts +39 -0
- package/dist/components/content/image/lqip-encoder-element.d.ts.map +1 -0
- package/dist/components/content/image/lqip-encoder-element.js +240 -0
- package/dist/components/content/image/lqip-encoder-element.js.map +1 -0
- package/dist/components/content/image/lqip-encoder.d.ts +59 -0
- package/dist/components/content/image/lqip-encoder.d.ts.map +1 -0
- package/dist/components/content/image/lqip-encoder.js +279 -0
- package/dist/components/content/image/lqip-encoder.js.map +1 -0
- package/dist/components/content/rich-text/rich-text.d.ts +9 -0
- package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
- package/dist/components/content/rich-text/rich-text.i18n.d.ts +5 -0
- package/dist/components/content/rich-text/rich-text.i18n.d.ts.map +1 -0
- package/dist/components/content/rich-text/rich-text.i18n.js +4 -0
- package/dist/components/content/rich-text/rich-text.i18n.js.map +1 -0
- package/dist/components/content/rich-text/rich-text.js +61 -0
- package/dist/components/content/rich-text/rich-text.js.map +1 -1
- package/dist/components/content/tooltip/tooltip.d.ts +10 -0
- package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/content/tooltip/tooltip.js +74 -2
- package/dist/components/content/tooltip/tooltip.js.map +1 -1
- package/dist/components/{index-BVOcPb8I.js → index-DYnIl3ts.js} +5435 -2205
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.js +1 -0
- package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.js +4 -1
- package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.js +1 -0
- package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +4 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.styles.js +4 -1
- package/dist/components/inputs/password-field/password-field.styles.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.styles.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.styles.js +1 -0
- package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.styles.js +4 -1
- package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.js +1 -0
- package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.styles.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.styles.js +1 -0
- package/dist/components/inputs/stepper/stepper.styles.js.map +1 -1
- package/dist/components/inputs/switch/switch.styles.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.styles.js +1 -0
- package/dist/components/inputs/switch/switch.styles.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.styles.js +4 -1
- package/dist/components/inputs/text-field/text-field.styles.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.js +22 -14
- package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.js +16 -11
- package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.js +32 -16
- package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
- package/dist/components/inputs/token/token.styles.d.ts.map +1 -1
- package/dist/components/inputs/token/token.styles.js +1 -0
- package/dist/components/inputs/token/token.styles.js.map +1 -1
- package/dist/components/layout/box/box.d.ts +6 -0
- package/dist/components/layout/box/box.d.ts.map +1 -1
- package/dist/components/layout/box/box.js +12 -1
- package/dist/components/layout/box/box.js.map +1 -1
- package/dist/components/layout/box/box.styles.d.ts.map +1 -1
- package/dist/components/layout/box/box.styles.js +40 -1
- package/dist/components/layout/box/box.styles.js.map +1 -1
- package/dist/components/layout/collection/collection.d.ts +1 -0
- package/dist/components/layout/collection/collection.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.i18n.d.ts +1 -0
- package/dist/components/layout/collection/collection.i18n.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.i18n.js +1 -0
- package/dist/components/layout/collection/collection.i18n.js.map +1 -1
- package/dist/components/layout/collection/collection.js +14 -0
- package/dist/components/layout/collection/collection.js.map +1 -1
- package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.styles.js +27 -0
- package/dist/components/layout/collection/collection.styles.js.map +1 -1
- package/dist/components/layout/collection/collection.template.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.template.js +12 -4
- package/dist/components/layout/collection/collection.template.js.map +1 -1
- package/dist/components/lists-and-menus/list/list.d.ts +10 -3
- package/dist/components/lists-and-menus/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-menus/list/list.js +8 -3
- package/dist/components/lists-and-menus/list/list.js.map +1 -1
- package/dist/components/lists-and-menus/list/list.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/list/list.styles.js +33 -6
- package/dist/components/lists-and-menus/list/list.styles.js.map +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.js +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.js.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.js +1 -0
- package/dist/components/lists-and-menus/menu/menu.styles.js.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.styles.js +1 -0
- package/dist/components/navigation/menu-bar/menu-bar.styles.js.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.d.ts.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +1 -0
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
- package/dist/components/navigation/pagination/pagination.styles.js +1 -0
- package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.styles.js +1 -0
- package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +10 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
- package/dist/components/{prism-python-C1D7CYBc.js → prism-python-C9GXiQLy.js} +1 -1
- package/dist/components/{prism-rust-DI5vrP6V.js → prism-rust-De_U8Otq.js} +1 -1
- package/dist/components/{prism-typescript-DBgOPJ4M.js → prism-typescript-BJbUDHsa.js} +1 -1
- package/dist/components/sample-images/butterfly-1200.jpg +0 -0
- package/dist/components/sample-images/butterfly-1600.jpg +0 -0
- package/dist/components/sample-images/butterfly-480.jpg +0 -0
- package/dist/components/sample-images/butterfly-960.jpg +0 -0
- package/dist/components/status-and-feedback/badge/badge.d.ts +2 -2
- package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.js +1 -1
- package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js +126 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.d.ts +89 -0
- package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.d.ts +5 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.js +4 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.js +206 -0
- package/dist/components/status-and-feedback/banner/banner.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.styles.d.ts +2 -0
- package/dist/components/status-and-feedback/banner/banner.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.styles.js +160 -0
- package/dist/components/status-and-feedback/banner/banner.styles.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.template.d.ts +3 -0
- package/dist/components/status-and-feedback/banner/banner.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.template.js +51 -0
- package/dist/components/status-and-feedback/banner/banner.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.d.ts +77 -0
- package/dist/components/status-and-feedback/progress/progress.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.d.ts +5 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.js +4 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.js +137 -0
- package/dist/components/status-and-feedback/progress/progress.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.styles.d.ts +2 -0
- package/dist/components/status-and-feedback/progress/progress.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.styles.js +57 -0
- package/dist/components/status-and-feedback/progress/progress.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.template.d.ts +4 -0
- package/dist/components/status-and-feedback/progress/progress.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.template.js +26 -0
- package/dist/components/status-and-feedback/progress/progress.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +131 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts +8 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js +7 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js +426 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +400 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +60 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +132 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts +8 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js +7 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js +437 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +245 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts +14 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +115 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -0
- package/dist/css/settings.css +346 -18
- package/package.json +21 -1
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const progressBarStyles = css `
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/* # Host */
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
--_height: var(--components-progress-bar-md-height);
|
|
9
|
+
--_track-color: var(--components-progress-bar-track-color);
|
|
10
|
+
--_track-border-color: var(--components-progress-bar-track-border-color);
|
|
11
|
+
--_track-border-width: var(--components-progress-bar-track-border-width);
|
|
12
|
+
--_corner-radius: var(--components-progress-bar-corner-radius);
|
|
13
|
+
--_segment-gap: var(--components-progress-bar-progress-segment-gap);
|
|
14
|
+
--_header-gap: var(--components-progress-bar-header-gap);
|
|
15
|
+
--_header-text-color: var(--components-progress-bar-header-text-color);
|
|
16
|
+
--_header-value-color: var(--components-progress-bar-header-value-color);
|
|
17
|
+
--_header-text-font: var(--components-progress-bar-header-text-font);
|
|
18
|
+
--_header-value-font: var(--components-progress-bar-header-value-font);
|
|
19
|
+
--_indeterminate-fill-color: var(--components-progress-bar-accent-fill-color);
|
|
20
|
+
--_indeterminate-bar-width: 20%;
|
|
21
|
+
--_indeterminate-duration: 800ms;
|
|
22
|
+
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
display: flex;
|
|
25
|
+
width: 100%;
|
|
26
|
+
flex-direction: column;
|
|
27
|
+
gap: var(--_header-gap);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
:host([hidden]) {
|
|
31
|
+
display: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:host([size="sm"]) { --_height: var(--components-progress-bar-sm-height); }
|
|
35
|
+
:host([size="md"]) { --_height: var(--components-progress-bar-md-height); }
|
|
36
|
+
:host([size="lg"]) { --_height: var(--components-progress-bar-lg-height); }
|
|
37
|
+
|
|
38
|
+
:host([mode="distribution"]) {
|
|
39
|
+
--_segment-gap: var(--components-progress-bar-distribution-segment-gap);
|
|
40
|
+
--_corner-radius: var(--components-progress-bar-distribution-corner-radius);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
/* ## Indeterminate fill colour follows the variant; default is accent (blue) */
|
|
45
|
+
|
|
46
|
+
:host([color="neutral"]) { --_indeterminate-fill-color: var(--components-progress-bar-neutral-fill-color); }
|
|
47
|
+
:host([color="accent"]) { --_indeterminate-fill-color: var(--components-progress-bar-accent-fill-color); }
|
|
48
|
+
:host([color="success"]) { --_indeterminate-fill-color: var(--components-progress-bar-success-fill-color); }
|
|
49
|
+
:host([color="warning"]) { --_indeterminate-fill-color: var(--components-progress-bar-warning-fill-color); }
|
|
50
|
+
:host([color="critical"]) { --_indeterminate-fill-color: var(--components-progress-bar-critical-fill-color); }
|
|
51
|
+
|
|
52
|
+
:host([color="coolgray"]) { --_indeterminate-fill-color: var(--components-progress-bar-coolgray-fill-color); }
|
|
53
|
+
:host([color="lintblauw"]) { --_indeterminate-fill-color: var(--components-progress-bar-lintblauw-fill-color); }
|
|
54
|
+
:host([color="donkerblauw"]) { --_indeterminate-fill-color: var(--components-progress-bar-donkerblauw-fill-color); }
|
|
55
|
+
:host([color="hemelblauw"]) { --_indeterminate-fill-color: var(--components-progress-bar-hemelblauw-fill-color); }
|
|
56
|
+
:host([color="lichtblauw"]) { --_indeterminate-fill-color: var(--components-progress-bar-lichtblauw-fill-color); }
|
|
57
|
+
:host([color="paars"]) { --_indeterminate-fill-color: var(--components-progress-bar-paars-fill-color); }
|
|
58
|
+
:host([color="violet"]) { --_indeterminate-fill-color: var(--components-progress-bar-violet-fill-color); }
|
|
59
|
+
:host([color="robijnrood"]) { --_indeterminate-fill-color: var(--components-progress-bar-robijnrood-fill-color); }
|
|
60
|
+
:host([color="roze"]) { --_indeterminate-fill-color: var(--components-progress-bar-roze-fill-color); }
|
|
61
|
+
:host([color="rood"]) { --_indeterminate-fill-color: var(--components-progress-bar-rood-fill-color); }
|
|
62
|
+
:host([color="oranje"]) { --_indeterminate-fill-color: var(--components-progress-bar-oranje-fill-color); }
|
|
63
|
+
:host([color="donkergeel"]) { --_indeterminate-fill-color: var(--components-progress-bar-donkergeel-fill-color); }
|
|
64
|
+
:host([color="geel"]) { --_indeterminate-fill-color: var(--components-progress-bar-geel-fill-color); }
|
|
65
|
+
:host([color="donkerbruin"]) { --_indeterminate-fill-color: var(--components-progress-bar-donkerbruin-fill-color); }
|
|
66
|
+
:host([color="bruin"]) { --_indeterminate-fill-color: var(--components-progress-bar-bruin-fill-color); }
|
|
67
|
+
:host([color="donkergroen"]) { --_indeterminate-fill-color: var(--components-progress-bar-donkergroen-fill-color); }
|
|
68
|
+
:host([color="groen"]) { --_indeterminate-fill-color: var(--components-progress-bar-groen-fill-color); }
|
|
69
|
+
:host([color="mosgroen"]) { --_indeterminate-fill-color: var(--components-progress-bar-mosgroen-fill-color); }
|
|
70
|
+
:host([color="mintgroen"]) { --_indeterminate-fill-color: var(--components-progress-bar-mintgroen-fill-color); }
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
/* # Header */
|
|
74
|
+
|
|
75
|
+
.progress-bar__header {
|
|
76
|
+
display: flex;
|
|
77
|
+
gap: var(--_header-gap);
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
align-items: baseline;
|
|
80
|
+
color: var(--_header-text-color);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.progress-bar__text {
|
|
84
|
+
font: var(--_header-text-font);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.progress-bar__value {
|
|
88
|
+
color: var(--_header-value-color);
|
|
89
|
+
font: var(--_header-value-font);
|
|
90
|
+
font-variant-numeric: tabular-nums;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
/* # Track */
|
|
95
|
+
|
|
96
|
+
.progress-bar__track {
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
display: flex;
|
|
99
|
+
position: relative;
|
|
100
|
+
border-radius: var(--_corner-radius);
|
|
101
|
+
box-shadow: inset 0 0 0 var(--_track-border-width) var(--_track-border-color);
|
|
102
|
+
background-color: var(--_track-color);
|
|
103
|
+
width: 100%;
|
|
104
|
+
height: var(--_height);
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
gap: var(--_segment-gap);
|
|
107
|
+
container-type: inline-size;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
slot {
|
|
111
|
+
display: contents;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
/* # Indeterminate
|
|
116
|
+
Knight Rider style: track filled with a translucent variant tint,
|
|
117
|
+
a solid bar bounces left-right. ease-in-out + alternate
|
|
118
|
+
gives the typical "scanner" acceleration at the ends. */
|
|
119
|
+
|
|
120
|
+
/* Indicator has no own bg — the track (and its inset border)
|
|
121
|
+
simply show through. Only the K.I.T.T. bar is visible.
|
|
122
|
+
On fade-out the bar fades away and track + border remain. */
|
|
123
|
+
|
|
124
|
+
.progress-bar__indeterminate-indicator {
|
|
125
|
+
position: absolute;
|
|
126
|
+
inset: 0;
|
|
127
|
+
opacity: 1;
|
|
128
|
+
transition: opacity var(--primitives-transition-duration-slow) ease-out;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.progress-bar__indeterminate-indicator.is-fading-out {
|
|
132
|
+
opacity: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.progress-bar__indeterminate-indicator.is-fading-in {
|
|
136
|
+
animation: progress-bar-indicator-fade-in var(--primitives-transition-duration-slow) ease-out;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@keyframes progress-bar-indicator-fade-in {
|
|
140
|
+
from { opacity: 0; }
|
|
141
|
+
to { opacity: 1; }
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* K.I.T.T. bar. translateX uses calc(100cqw - 100%): cqw is the
|
|
145
|
+
container (track) width, 100% is the bar's own width. */
|
|
146
|
+
|
|
147
|
+
.progress-bar__indeterminate-indicator::before {
|
|
148
|
+
content: '';
|
|
149
|
+
position: absolute;
|
|
150
|
+
inset-block: 0;
|
|
151
|
+
left: 0;
|
|
152
|
+
border-radius: var(--_corner-radius);
|
|
153
|
+
background: var(--_indeterminate-fill-color);
|
|
154
|
+
width: var(--_indeterminate-bar-width);
|
|
155
|
+
transform: translateX(0);
|
|
156
|
+
/* Duration scales with track width via the container queries below.
|
|
157
|
+
Wider tracks need longer sweeps so the perceived velocity feels
|
|
158
|
+
constant — a fast 800 ms cycle reads as frantic on a 1000 px bar
|
|
159
|
+
and as too slow on a 200 px bar at the same wall-clock time. */
|
|
160
|
+
animation: progress-bar-indeterminate var(--_indeterminate-duration) ease-in-out infinite alternate;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@container (min-width: 401px) and (max-width: 720px) {
|
|
164
|
+
.progress-bar__indeterminate-indicator::before {
|
|
165
|
+
--_indeterminate-duration: 1000ms;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
@container (min-width: 721px) {
|
|
170
|
+
.progress-bar__indeterminate-indicator::before {
|
|
171
|
+
--_indeterminate-duration: 1200ms;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@keyframes progress-bar-indeterminate {
|
|
176
|
+
0% { transform: translateX(0); }
|
|
177
|
+
100% { transform: translateX(calc(100cqw - 100%)); }
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
/* # Accessibility */
|
|
182
|
+
|
|
183
|
+
@media (prefers-reduced-motion: reduce) {
|
|
184
|
+
.progress-bar__indeterminate-indicator::before {
|
|
185
|
+
display: none;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.progress-bar__indeterminate-indicator {
|
|
189
|
+
animation: progress-bar-indeterminate-pulse 2s ease-in-out infinite;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
@keyframes progress-bar-indeterminate-pulse {
|
|
193
|
+
0%, 100% { background-color: color-mix(in srgb, var(--_indeterminate-fill-color) 20%, transparent); }
|
|
194
|
+
50% { background-color: color-mix(in srgb, var(--_indeterminate-fill-color) 50%, transparent); }
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@media (forced-colors: active) {
|
|
199
|
+
.progress-bar__track {
|
|
200
|
+
border: 1px solid CanvasText;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
`;
|
|
204
|
+
export const progressBarSegmentStyles = css `
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
/* # Host */
|
|
208
|
+
|
|
209
|
+
:host {
|
|
210
|
+
--_width: var(--context-progress-bar-segment-width, 0%);
|
|
211
|
+
--_min-width: var(--components-progress-bar-segment-min-width);
|
|
212
|
+
--_fill-color: var(--components-progress-bar-accent-fill-color);
|
|
213
|
+
--_border-color: var(--components-progress-bar-accent-border-color);
|
|
214
|
+
--_border-width: var(--components-progress-bar-segment-border-width);
|
|
215
|
+
|
|
216
|
+
box-sizing: border-box;
|
|
217
|
+
display: block;
|
|
218
|
+
position: relative;
|
|
219
|
+
box-shadow: inset 0 0 0 var(--_border-width) var(--_border-color);
|
|
220
|
+
background-color: var(--_fill-color);
|
|
221
|
+
width: var(--_width);
|
|
222
|
+
min-width: var(--_min-width);
|
|
223
|
+
height: 100%;
|
|
224
|
+
overflow: hidden;
|
|
225
|
+
transition: width var(--primitives-transition-duration-medium) ease-out;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:host([value="0"]),
|
|
229
|
+
:host(:not([value])) {
|
|
230
|
+
display: none;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
/* ## Grow / shrink
|
|
235
|
+
Set by the parent (data-grow / data-shrink) on the transitions between
|
|
236
|
+
indeterminate and determinate. */
|
|
237
|
+
|
|
238
|
+
:host([data-grow]) {
|
|
239
|
+
animation: progress-bar-segment-grow var(--primitives-transition-duration-slow) ease-out;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
:host([data-shrink]) {
|
|
243
|
+
animation: progress-bar-segment-shrink var(--primitives-transition-duration-slow) ease-out forwards;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
@keyframes progress-bar-segment-grow {
|
|
247
|
+
from { width: 0%; }
|
|
248
|
+
to { width: var(--_width); }
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
@keyframes progress-bar-segment-shrink {
|
|
252
|
+
from { width: var(--_width); opacity: 1; }
|
|
253
|
+
to { width: 0%; opacity: 0; }
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
/* ## Rounding per mode
|
|
258
|
+
Progress mode: every segment is its own capsule. Distribution mode:
|
|
259
|
+
segments use a small radius matching the track's outer corners.
|
|
260
|
+
data-mode is set by the parent. */
|
|
261
|
+
|
|
262
|
+
:host([data-mode="progress"]) {
|
|
263
|
+
border-radius: var(--components-progress-bar-corner-radius);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
:host([data-mode="distribution"]) {
|
|
267
|
+
border-radius: var(--components-progress-bar-distribution-corner-radius);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
/* ## Variants — semantic */
|
|
272
|
+
|
|
273
|
+
:host([color="neutral"]) {
|
|
274
|
+
--_fill-color: var(--components-progress-bar-neutral-fill-color);
|
|
275
|
+
--_border-color: var(--components-progress-bar-neutral-border-color);
|
|
276
|
+
}
|
|
277
|
+
:host([color="accent"]) {
|
|
278
|
+
--_fill-color: var(--components-progress-bar-accent-fill-color);
|
|
279
|
+
--_border-color: var(--components-progress-bar-accent-border-color);
|
|
280
|
+
}
|
|
281
|
+
:host([color="success"]) {
|
|
282
|
+
--_fill-color: var(--components-progress-bar-success-fill-color);
|
|
283
|
+
--_border-color: var(--components-progress-bar-success-border-color);
|
|
284
|
+
}
|
|
285
|
+
:host([color="warning"]) {
|
|
286
|
+
--_fill-color: var(--components-progress-bar-warning-fill-color);
|
|
287
|
+
--_border-color: var(--components-progress-bar-warning-border-color);
|
|
288
|
+
}
|
|
289
|
+
:host([color="critical"]) {
|
|
290
|
+
--_fill-color: var(--components-progress-bar-critical-fill-color);
|
|
291
|
+
--_border-color: var(--components-progress-bar-critical-border-color);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
/* ## Variants — Rijkskleuren */
|
|
296
|
+
|
|
297
|
+
:host([color="coolgray"]) {
|
|
298
|
+
--_fill-color: var(--components-progress-bar-coolgray-fill-color);
|
|
299
|
+
--_border-color: var(--components-progress-bar-coolgray-border-color);
|
|
300
|
+
}
|
|
301
|
+
:host([color="lintblauw"]) {
|
|
302
|
+
--_fill-color: var(--components-progress-bar-lintblauw-fill-color);
|
|
303
|
+
--_border-color: var(--components-progress-bar-lintblauw-border-color);
|
|
304
|
+
}
|
|
305
|
+
:host([color="donkerblauw"]) {
|
|
306
|
+
--_fill-color: var(--components-progress-bar-donkerblauw-fill-color);
|
|
307
|
+
--_border-color: var(--components-progress-bar-donkerblauw-border-color);
|
|
308
|
+
}
|
|
309
|
+
:host([color="hemelblauw"]) {
|
|
310
|
+
--_fill-color: var(--components-progress-bar-hemelblauw-fill-color);
|
|
311
|
+
--_border-color: var(--components-progress-bar-hemelblauw-border-color);
|
|
312
|
+
}
|
|
313
|
+
:host([color="lichtblauw"]) {
|
|
314
|
+
--_fill-color: var(--components-progress-bar-lichtblauw-fill-color);
|
|
315
|
+
--_border-color: var(--components-progress-bar-lichtblauw-border-color);
|
|
316
|
+
}
|
|
317
|
+
:host([color="paars"]) {
|
|
318
|
+
--_fill-color: var(--components-progress-bar-paars-fill-color);
|
|
319
|
+
--_border-color: var(--components-progress-bar-paars-border-color);
|
|
320
|
+
}
|
|
321
|
+
:host([color="violet"]) {
|
|
322
|
+
--_fill-color: var(--components-progress-bar-violet-fill-color);
|
|
323
|
+
--_border-color: var(--components-progress-bar-violet-border-color);
|
|
324
|
+
}
|
|
325
|
+
:host([color="robijnrood"]) {
|
|
326
|
+
--_fill-color: var(--components-progress-bar-robijnrood-fill-color);
|
|
327
|
+
--_border-color: var(--components-progress-bar-robijnrood-border-color);
|
|
328
|
+
}
|
|
329
|
+
:host([color="roze"]) {
|
|
330
|
+
--_fill-color: var(--components-progress-bar-roze-fill-color);
|
|
331
|
+
--_border-color: var(--components-progress-bar-roze-border-color);
|
|
332
|
+
}
|
|
333
|
+
:host([color="rood"]) {
|
|
334
|
+
--_fill-color: var(--components-progress-bar-rood-fill-color);
|
|
335
|
+
--_border-color: var(--components-progress-bar-rood-border-color);
|
|
336
|
+
}
|
|
337
|
+
:host([color="oranje"]) {
|
|
338
|
+
--_fill-color: var(--components-progress-bar-oranje-fill-color);
|
|
339
|
+
--_border-color: var(--components-progress-bar-oranje-border-color);
|
|
340
|
+
}
|
|
341
|
+
:host([color="donkergeel"]) {
|
|
342
|
+
--_fill-color: var(--components-progress-bar-donkergeel-fill-color);
|
|
343
|
+
--_border-color: var(--components-progress-bar-donkergeel-border-color);
|
|
344
|
+
}
|
|
345
|
+
:host([color="geel"]) {
|
|
346
|
+
--_fill-color: var(--components-progress-bar-geel-fill-color);
|
|
347
|
+
--_border-color: var(--components-progress-bar-geel-border-color);
|
|
348
|
+
}
|
|
349
|
+
:host([color="donkerbruin"]) {
|
|
350
|
+
--_fill-color: var(--components-progress-bar-donkerbruin-fill-color);
|
|
351
|
+
--_border-color: var(--components-progress-bar-donkerbruin-border-color);
|
|
352
|
+
}
|
|
353
|
+
:host([color="bruin"]) {
|
|
354
|
+
--_fill-color: var(--components-progress-bar-bruin-fill-color);
|
|
355
|
+
--_border-color: var(--components-progress-bar-bruin-border-color);
|
|
356
|
+
}
|
|
357
|
+
:host([color="donkergroen"]) {
|
|
358
|
+
--_fill-color: var(--components-progress-bar-donkergroen-fill-color);
|
|
359
|
+
--_border-color: var(--components-progress-bar-donkergroen-border-color);
|
|
360
|
+
}
|
|
361
|
+
:host([color="groen"]) {
|
|
362
|
+
--_fill-color: var(--components-progress-bar-groen-fill-color);
|
|
363
|
+
--_border-color: var(--components-progress-bar-groen-border-color);
|
|
364
|
+
}
|
|
365
|
+
:host([color="mosgroen"]) {
|
|
366
|
+
--_fill-color: var(--components-progress-bar-mosgroen-fill-color);
|
|
367
|
+
--_border-color: var(--components-progress-bar-mosgroen-border-color);
|
|
368
|
+
}
|
|
369
|
+
:host([color="mintgroen"]) {
|
|
370
|
+
--_fill-color: var(--components-progress-bar-mintgroen-fill-color);
|
|
371
|
+
--_border-color: var(--components-progress-bar-mintgroen-border-color);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
/* # Hover area (tooltip trigger)
|
|
376
|
+
Fills the segment; captures hover/focus for the wrapping nldd-tooltip. */
|
|
377
|
+
|
|
378
|
+
.progress-bar-segment__hover-area {
|
|
379
|
+
display: block;
|
|
380
|
+
position: absolute;
|
|
381
|
+
inset: 0;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
/* # Accessibility */
|
|
386
|
+
|
|
387
|
+
@media (prefers-reduced-motion: reduce) {
|
|
388
|
+
:host {
|
|
389
|
+
transition: none;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
@media (forced-colors: active) {
|
|
394
|
+
:host {
|
|
395
|
+
background-color: CanvasText;
|
|
396
|
+
border: 1px solid CanvasText;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
`;
|
|
400
|
+
//# sourceMappingURL=progress-bar.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.styles.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-bar/progress-bar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyMnC,CAAC;AAGF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmM1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.template.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-bar/progress-bar.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,IAAI,wCAuDvF"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { html, nothing } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
3
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
4
|
+
export function progressBarTemplate(component, onSlotChange) {
|
|
5
|
+
// Header only renders when `text` is set. The value lives next to the text
|
|
6
|
+
// and shouldn't appear on its own — otherwise it'd pop in/out when toggling
|
|
7
|
+
// indeterminate (since `_displayValue` is empty during indeterminate).
|
|
8
|
+
const hasHeader = !!component.text;
|
|
9
|
+
const isExiting = component._indeterminateExiting;
|
|
10
|
+
const isEntering = component._indeterminateEntering;
|
|
11
|
+
// Indicator renders during indeterminate and during an exit-fade.
|
|
12
|
+
const showIndeterminateIndicator = (component.indeterminate || isExiting) && !component._hasSegments;
|
|
13
|
+
// Segment renders during determinate and during an enter-shrink (otherwise
|
|
14
|
+
// it can't shrink — it would unmount immediately). Its dynamic attributes
|
|
15
|
+
// (width, mode, tooltip-text, grow/shrink) are applied by _syncSegments
|
|
16
|
+
// so the slotted and internal paths share one code path.
|
|
17
|
+
const showInternalSegment = !component._hasSegments
|
|
18
|
+
&& component.value !== null && component.value > 0
|
|
19
|
+
&& (!component.indeterminate || isEntering);
|
|
20
|
+
// Round so aria-valuenow doesn't produce floats (some screenreaders
|
|
21
|
+
// read them out literally — "49 point 999 percent").
|
|
22
|
+
const ariaValueNow = component.indeterminate ? undefined : Math.round(component._totalValue);
|
|
23
|
+
// Accessible name: use aria-label with the visible header text or a
|
|
24
|
+
// translated fallback. aria-labelledby would be cleaner but VoiceOver on
|
|
25
|
+
// Safari can't resolve IDREFs scoped to a shadow root, so we duplicate
|
|
26
|
+
// the string into aria-label for cross-browser screen-reader support.
|
|
27
|
+
const ariaLabel = component.text || component._t('components.progress-bar.label-text');
|
|
28
|
+
return html `
|
|
29
|
+
${hasHeader ? html `
|
|
30
|
+
<div class="progress-bar__header">
|
|
31
|
+
<span class="progress-bar__text">${component.text}</span>
|
|
32
|
+
<span class="progress-bar__value">${component._displayValue}</span>
|
|
33
|
+
</div>
|
|
34
|
+
` : nothing}
|
|
35
|
+
<div class="progress-bar__track"
|
|
36
|
+
role="progressbar"
|
|
37
|
+
aria-label=${ariaLabel}
|
|
38
|
+
aria-valuemin="0"
|
|
39
|
+
aria-valuemax=${component.max}
|
|
40
|
+
aria-valuenow=${ifDefined(ariaValueNow)}
|
|
41
|
+
aria-valuetext=${component._ariaValueText}
|
|
42
|
+
>
|
|
43
|
+
${showIndeterminateIndicator ? html `
|
|
44
|
+
<div class=${classMap({
|
|
45
|
+
'progress-bar__indeterminate-indicator': true,
|
|
46
|
+
'is-fading-out': isExiting && !component.indeterminate,
|
|
47
|
+
'is-fading-in': isEntering && component.indeterminate,
|
|
48
|
+
})}></div>
|
|
49
|
+
` : nothing}
|
|
50
|
+
${showInternalSegment ? html `
|
|
51
|
+
<nldd-progress-bar-segment class="progress-bar__segment"
|
|
52
|
+
.value=${component.value}
|
|
53
|
+
color=${component.color}
|
|
54
|
+
></nldd-progress-bar-segment>
|
|
55
|
+
` : nothing}
|
|
56
|
+
<slot @slotchange=${onSlotChange}></slot>
|
|
57
|
+
</div>
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=progress-bar.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.template.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-bar/progress-bar.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGvD,MAAM,UAAU,mBAAmB,CAAC,SAA0B,EAAE,YAAwB;IACvF,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;IACnC,MAAM,SAAS,GAAG,SAAS,CAAC,qBAAqB,CAAC;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC;IACpD,kEAAkE;IAClE,MAAM,0BAA0B,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;IACrG,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,yDAAyD;IACzD,MAAM,mBAAmB,GAAG,CAAC,SAAS,CAAC,YAAY;WAC/C,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC;WAC/C,CAAC,CAAC,SAAS,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC;IAC7C,oEAAoE;IACpE,qDAAqD;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7F,oEAAoE;IACpE,yEAAyE;IACzE,uEAAuE;IACvE,sEAAsE;IACtE,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC;IACvF,OAAO,IAAI,CAAA;IACR,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;;uCAEmB,SAAS,CAAC,IAAI;wCACb,SAAS,CAAC,aAAa;;GAE5D,CAAC,CAAC,CAAC,OAAO;;;gBAGG,SAAS;;mBAEN,SAAS,CAAC,GAAG;mBACb,SAAS,CAAC,YAAY,CAAC;oBACtB,SAAS,CAAC,cAAc;;KAEvC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAA;iBACrB,QAAQ,CAAC;QACrB,uCAAuC,EAAE,IAAI;QAC7C,eAAe,EAAE,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa;QACtD,cAAc,EAAE,UAAU,IAAI,SAAS,CAAC,aAAa;KACrD,CAAC;IACF,CAAC,CAAC,CAAC,OAAO;KACT,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;;cAEjB,SAAS,CAAC,KAAM;aACjB,SAAS,CAAC,KAAK;;IAExB,CAAC,CAAC,CAAC,OAAO;uBACS,YAAY;;EAEjC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nederlandse Digitale Dienst Progress Circle Component (Lit + TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* Exports both NLDDProgressCircle and NLDDProgressCircleSegment.
|
|
5
|
+
*
|
|
6
|
+
* A circular progress indicator that mirrors the API of nldd-progress-bar:
|
|
7
|
+
* single-value or multi-segment, progress or distribution mode, 24 colours,
|
|
8
|
+
* fade transitions between determinate/indeterminate, indeterminate indicator.
|
|
9
|
+
*
|
|
10
|
+
* Visual differences vs the bar:
|
|
11
|
+
* - SVG arcs instead of rectangular bars.
|
|
12
|
+
* - Label below the circle (not above).
|
|
13
|
+
* - No centre text; the consumer can wrap the circle if needed.
|
|
14
|
+
* - One combined tooltip on the whole circle showing all segment info
|
|
15
|
+
* (no per-segment tooltips).
|
|
16
|
+
* - Indeterminate uses a rotating elastic arc (Material-style) instead of
|
|
17
|
+
* the bar's Knight Rider scanner.
|
|
18
|
+
*
|
|
19
|
+
* @element nldd-progress-circle
|
|
20
|
+
*
|
|
21
|
+
* @attr {'progress'|'distribution'} mode - Semantics for ARIA and gap behaviour (default: 'progress')
|
|
22
|
+
* @attr {number} max - Total value (default: 100)
|
|
23
|
+
* @attr {number} value - Single-segment shorthand (ignored when segment children exist)
|
|
24
|
+
* @attr {string} color - Color. Semantic (neutral, accent, success, warning, critical) or a Rijkskleur. Default 'accent'.
|
|
25
|
+
* @attr {string} size - Circle diameter in px. Matches nldd-icon sizes: 16, 20, 24, 28, 32, 40, 44, 48, 56, 64, 80, 96 (default: '28')
|
|
26
|
+
* @attr {string} text - Label below the circle
|
|
27
|
+
* @attr {'percentage'|'absolute'|'fraction'|'none'} value-format - Format the tooltip uses for the auto-text
|
|
28
|
+
* @attr {string} accessible-label - Full override of aria-valuetext (and tooltip text)
|
|
29
|
+
* @attr {boolean} indeterminate - Renders the rotating elastic arc animation
|
|
30
|
+
* @attr {object} translations - Override translation keys; unset keys fall back to Dutch
|
|
31
|
+
*
|
|
32
|
+
* @element nldd-progress-circle-segment
|
|
33
|
+
*
|
|
34
|
+
* @attr {number} value - Share of the parent's total (default 0; <=0 hides segment)
|
|
35
|
+
* @attr {string} color - Color (semantic or Rijkskleur). Default 'accent'.
|
|
36
|
+
* @attr {string} name - Optional name used in the combined tooltip + screenreader text
|
|
37
|
+
*/
|
|
38
|
+
import { LitElement } from 'lit';
|
|
39
|
+
import type { NLDDProgressCircleTranslations } from './progress-circle.i18n.js';
|
|
40
|
+
import '../../content/tooltip/tooltip.js';
|
|
41
|
+
/** Indeterminate ↔ determinate crossfade duration. Must stay in sync with
|
|
42
|
+
* --primitives-transition-duration-slow used by the matching CSS animations
|
|
43
|
+
* and with nldd-progress-bar's matching constant. Exported so the test
|
|
44
|
+
* suite can cross-check this value against the resolved CSS token. */
|
|
45
|
+
export declare const INDETERMINATE_TRANSITION_MS = 300;
|
|
46
|
+
export type ProgressCircleMode = 'progress' | 'distribution';
|
|
47
|
+
export type ProgressCircleSize = '16' | '20' | '24' | '28' | '32' | '40' | '44' | '48' | '56' | '64' | '80' | '96';
|
|
48
|
+
export type ProgressCircleValueFormat = 'percentage' | 'absolute' | 'fraction' | 'none';
|
|
49
|
+
export type ProgressCircleColor = 'neutral' | 'accent' | 'success' | 'warning' | 'critical' | 'coolgray' | 'lintblauw' | 'donkerblauw' | 'hemelblauw' | 'lichtblauw' | 'paars' | 'violet' | 'robijnrood' | 'roze' | 'rood' | 'oranje' | 'donkergeel' | 'geel' | 'donkerbruin' | 'bruin' | 'donkergroen' | 'groen' | 'mosgroen' | 'mintgroen';
|
|
50
|
+
export declare class NLDDProgressCircleSegment extends LitElement {
|
|
51
|
+
static styles: import("lit").CSSResult;
|
|
52
|
+
value: number;
|
|
53
|
+
color: ProgressCircleColor;
|
|
54
|
+
name: string;
|
|
55
|
+
render(): symbol;
|
|
56
|
+
}
|
|
57
|
+
export declare class NLDDProgressCircle extends LitElement {
|
|
58
|
+
static styles: import("lit").CSSResult;
|
|
59
|
+
mode: ProgressCircleMode;
|
|
60
|
+
max: number;
|
|
61
|
+
value: number | null;
|
|
62
|
+
color: ProgressCircleColor;
|
|
63
|
+
size: ProgressCircleSize;
|
|
64
|
+
text: string;
|
|
65
|
+
valueFormat: ProgressCircleValueFormat;
|
|
66
|
+
accessibleLabel: string;
|
|
67
|
+
indeterminate: boolean;
|
|
68
|
+
translations: Partial<NLDDProgressCircleTranslations>;
|
|
69
|
+
private _segments;
|
|
70
|
+
_indeterminateExiting: boolean;
|
|
71
|
+
_indeterminateEntering: boolean;
|
|
72
|
+
/** When true, _buildArcs returns zero-length arcs so the first render
|
|
73
|
+
* after the indeterminate→determinate transition starts at length 0.
|
|
74
|
+
* Cleared on the next frame so the CSS dasharray transition animates
|
|
75
|
+
* the segments growing into their final positions. */
|
|
76
|
+
private _arcsAtZero;
|
|
77
|
+
private _exitTimeout?;
|
|
78
|
+
private _enterTimeout?;
|
|
79
|
+
private _growRafId?;
|
|
80
|
+
private _attributeObserver?;
|
|
81
|
+
_t(key: keyof NLDDProgressCircleTranslations): string;
|
|
82
|
+
get _hasSegments(): boolean;
|
|
83
|
+
get _totalValue(): number;
|
|
84
|
+
get _percentage(): number;
|
|
85
|
+
/** Compact text shown in the tooltip. Follows value-format (matching the
|
|
86
|
+
* per-segment tooltip style of nldd-progress-bar) and omits the "voltooid"
|
|
87
|
+
* suffix that aria-valuetext uses for screen readers. Returns '' when
|
|
88
|
+
* value-format is 'none' so the template can skip rendering the tooltip
|
|
89
|
+
* wrapper entirely. accessibleLabel and indeterminate still produce text. */
|
|
90
|
+
get _tooltipText(): string;
|
|
91
|
+
/** Verbose text used for aria-valuetext (screen readers). Includes the
|
|
92
|
+
* "voltooid" suffix and total-prefix for clearer announcements. */
|
|
93
|
+
get _ariaValueText(): string;
|
|
94
|
+
private _formatValuePart;
|
|
95
|
+
willUpdate(changed: Map<string, unknown>): void;
|
|
96
|
+
disconnectedCallback(): void;
|
|
97
|
+
private _beginIndeterminateExit;
|
|
98
|
+
private _beginIndeterminateEnter;
|
|
99
|
+
private _cancelIndeterminateExit;
|
|
100
|
+
private _cancelIndeterminateEnter;
|
|
101
|
+
private _onSlotChange;
|
|
102
|
+
/** Build the SVG arc list for the current segments (or a single synthetic
|
|
103
|
+
* segment when the user provides only `value`). Each arc gets a length
|
|
104
|
+
* and offset on the shared circle so they line up.
|
|
105
|
+
*
|
|
106
|
+
* @internal `public` here is required for the render template to call
|
|
107
|
+
* this method (templates live outside the class). Treat it as private
|
|
108
|
+
* externally — the leading underscore signals "not API". */
|
|
109
|
+
_buildArcs(): Array<{
|
|
110
|
+
length: number;
|
|
111
|
+
offset: number;
|
|
112
|
+
color: ProgressCircleColor;
|
|
113
|
+
}>;
|
|
114
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
115
|
+
updated(changed: Map<string, unknown>): void;
|
|
116
|
+
/**
|
|
117
|
+
* Toggle the data-shrink / data-fade attributes after Lit's render. These
|
|
118
|
+
* are conditional (presence-or-absence) and Lit's `=${expr}` binding has
|
|
119
|
+
* quirks removing SVG attributes; setAttribute/removeAttribute is reliable.
|
|
120
|
+
* Other dynamic SVG attributes (stroke-dasharray, stroke-dashoffset) are
|
|
121
|
+
* always set and live in the Lit template.
|
|
122
|
+
*/
|
|
123
|
+
private _syncDynamicAttributes;
|
|
124
|
+
private _onSlotChangeBound;
|
|
125
|
+
}
|
|
126
|
+
declare global {
|
|
127
|
+
interface HTMLElementTagNameMap {
|
|
128
|
+
'nldd-progress-circle': NLDDProgressCircle;
|
|
129
|
+
'nldd-progress-circle-segment': NLDDProgressCircleSegment;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=progress-circle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-circle.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-circle/progress-circle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const nlddProgressCircleTranslations: {
|
|
2
|
+
'components.progress-circle.completed-suffix-text': string;
|
|
3
|
+
'components.progress-circle.total-prefix-text': string;
|
|
4
|
+
'components.progress-circle.loading-text': string;
|
|
5
|
+
'components.progress-circle.label-text': string;
|
|
6
|
+
};
|
|
7
|
+
export type NLDDProgressCircleTranslations = typeof nlddProgressCircleTranslations;
|
|
8
|
+
//# sourceMappingURL=progress-circle.i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-circle.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-circle/progress-circle.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;;CAK1C,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG,OAAO,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const nlddProgressCircleTranslations = {
|
|
2
|
+
'components.progress-circle.completed-suffix-text': 'voltooid',
|
|
3
|
+
'components.progress-circle.total-prefix-text': 'Totaal',
|
|
4
|
+
'components.progress-circle.loading-text': 'Aan het laden',
|
|
5
|
+
'components.progress-circle.label-text': 'Voortgang',
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=progress-circle.i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-circle.i18n.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-circle/progress-circle.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC7C,kDAAkD,EAAE,UAAU;IAC9D,8CAA8C,EAAE,QAAQ;IACxD,yCAAyC,EAAE,eAAe;IAC1D,uCAAuC,EAAE,WAAW;CACpD,CAAC"}
|