@nldd/design-system 0.8.78 → 0.8.80
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/custom-elements.json +1513 -476
- package/dist/components/actions/button/button.styles.d.ts.map +1 -1
- package/dist/components/actions/button/button.styles.js +4 -1
- 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 +4 -1
- package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
- package/dist/components/actions/menu/menu.d.ts +19 -1
- package/dist/components/actions/menu/menu.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.js +55 -25
- package/dist/components/actions/menu/menu.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.d.ts +9 -0
- package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.i18n.d.ts +1 -0
- package/dist/components/actions/toolbar/toolbar.i18n.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.i18n.js +1 -0
- package/dist/components/actions/toolbar/toolbar.i18n.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.js +20 -0
- package/dist/components/actions/toolbar/toolbar.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.styles.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.styles.js +39 -5
- package/dist/components/actions/toolbar/toolbar.styles.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.template.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.template.js +19 -1
- package/dist/components/actions/toolbar/toolbar.template.js.map +1 -1
- package/dist/components/components.js +97 -94
- package/dist/components/content/avatar/avatar.d.ts +51 -47
- package/dist/components/content/avatar/avatar.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.js +85 -75
- package/dist/components/content/avatar/avatar.js.map +1 -1
- package/dist/components/content/avatar/avatar.styles.js +2 -2
- package/dist/components/content/avatar/avatar.template.d.ts +1 -0
- package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.template.js +26 -18
- package/dist/components/content/avatar/avatar.template.js.map +1 -1
- package/dist/components/content/avatar-group/avatar-group.d.ts +90 -0
- package/dist/components/content/avatar-group/avatar-group.d.ts.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.i18n.d.ts +6 -0
- package/dist/components/content/avatar-group/avatar-group.i18n.d.ts.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.i18n.js +5 -0
- package/dist/components/content/avatar-group/avatar-group.i18n.js.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.js +169 -0
- package/dist/components/content/avatar-group/avatar-group.js.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.styles.d.ts +2 -0
- package/dist/components/content/avatar-group/avatar-group.styles.d.ts.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.styles.js +132 -0
- package/dist/components/content/avatar-group/avatar-group.styles.js.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.template.d.ts +3 -0
- package/dist/components/content/avatar-group/avatar-group.template.d.ts.map +1 -0
- package/dist/components/content/avatar-group/avatar-group.template.js +50 -0
- package/dist/components/content/avatar-group/avatar-group.template.js.map +1 -0
- package/dist/components/content/blockquote/blockquote.d.ts +3 -3
- package/dist/components/content/blockquote/blockquote.d.ts.map +1 -1
- package/dist/components/content/blockquote/blockquote.js +8 -8
- package/dist/components/content/blockquote/blockquote.js.map +1 -1
- package/dist/components/content/blockquote/blockquote.styles.js +1 -1
- package/dist/components/content/blockquote/blockquote.template.js +1 -1
- package/dist/components/content/blockquote/blockquote.template.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.d.ts +4 -4
- package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.js +5 -13
- package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +18 -0
- package/dist/components/content/icon/icon-aliases.js.map +1 -1
- package/dist/components/content/icon/icon-gallery-status.d.ts.map +1 -1
- package/dist/components/content/icon/icon-gallery-status.js +65 -27
- package/dist/components/content/icon/icon-gallery-status.js.map +1 -1
- package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
- package/dist/components/content/icon/icon-registry.js +16 -12
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/content/identity/identity.d.ts +71 -0
- package/dist/components/content/identity/identity.d.ts.map +1 -0
- package/dist/components/content/identity/identity.js +124 -0
- package/dist/components/content/identity/identity.js.map +1 -0
- package/dist/components/content/identity/identity.styles.d.ts +2 -0
- package/dist/components/content/identity/identity.styles.d.ts.map +1 -0
- package/dist/components/content/{byline/byline.styles.js → identity/identity.styles.js} +28 -47
- package/dist/components/content/identity/identity.styles.js.map +1 -0
- package/dist/components/content/identity/identity.template.d.ts +3 -0
- package/dist/components/content/identity/identity.template.d.ts.map +1 -0
- package/dist/components/content/{byline/byline.template.js → identity/identity.template.js} +12 -11
- package/dist/components/content/identity/identity.template.js.map +1 -0
- package/dist/components/content/tag/tag.d.ts +15 -10
- package/dist/components/content/tag/tag.d.ts.map +1 -1
- package/dist/components/content/tag/tag.js +15 -10
- package/dist/components/content/tag/tag.js.map +1 -1
- package/dist/components/content/title/title.d.ts +4 -4
- package/dist/components/content/title/title.js +4 -4
- package/dist/components/content/title/title.styles.js +1 -1
- package/dist/components/content/title/title.template.js +2 -2
- package/dist/components/content/token/token.d.ts +6 -2
- package/dist/components/content/token/token.d.ts.map +1 -1
- package/dist/components/content/token/token.js +6 -2
- package/dist/components/content/token/token.js.map +1 -1
- package/dist/components/content/tooltip/tooltip.d.ts +26 -25
- package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/content/tooltip/tooltip.js +31 -25
- package/dist/components/content/tooltip/tooltip.js.map +1 -1
- package/dist/components/{index-v6dIt9IT.js → index-8pDDdMeW.js} +1 -1
- package/dist/components/{index-CcCKQ3Dj.js → index-C7QocEcT.js} +1 -1
- package/dist/components/{index-BNg_kPou.js → index-CDz7-C9c.js} +1 -1
- package/dist/components/{index-CU-wlUnI.js → index-CWQunWUb.js} +54096 -52492
- package/dist/components/{index-BmVf8Da6.js → index-CoY3JfIy.js} +1 -1
- package/dist/components/{index-D03jbAoU.js → index-DP9dl7P7.js} +1 -1
- package/dist/components/{index-D68oJ-Le.js → index-DV_2YpaH.js} +1 -1
- package/dist/components/index.d.ts +4 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +4 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.d.ts +5 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.js +8 -0
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.js +17 -0
- package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.template.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.template.js +11 -0
- package/dist/components/inputs/checkbox/checkbox.template.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.js +7 -0
- package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.styles.d.ts.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.styles.js +7 -2
- package/dist/components/inputs/date-picker/date-picker.styles.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.d.ts +112 -0
- package/dist/components/inputs/file-field/file-field.d.ts.map +1 -0
- package/dist/components/inputs/file-field/file-field.i18n.d.ts +10 -0
- package/dist/components/inputs/file-field/file-field.i18n.d.ts.map +1 -0
- package/dist/components/inputs/file-field/file-field.i18n.js +9 -0
- package/dist/components/inputs/file-field/file-field.i18n.js.map +1 -0
- package/dist/components/inputs/file-field/file-field.js +246 -0
- package/dist/components/inputs/file-field/file-field.js.map +1 -0
- package/dist/components/inputs/file-field/file-field.styles.d.ts +2 -0
- package/dist/components/inputs/file-field/file-field.styles.d.ts.map +1 -0
- package/dist/components/inputs/file-field/file-field.styles.js +134 -0
- package/dist/components/inputs/file-field/file-field.styles.js.map +1 -0
- package/dist/components/inputs/file-field/file-field.template.d.ts +7 -0
- package/dist/components/inputs/file-field/file-field.template.d.ts.map +1 -0
- package/dist/components/inputs/file-field/file-field.template.js +63 -0
- package/dist/components/inputs/file-field/file-field.template.js.map +1 -0
- package/dist/components/inputs/radio-button/radio-button.d.ts +5 -0
- package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.js +8 -0
- package/dist/components/inputs/radio-button/radio-button.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 +11 -0
- package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.template.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.template.js +10 -0
- package/dist/components/inputs/radio-button/radio-button.template.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.caret.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.caret.js +7 -1
- package/dist/components/inputs/text-editor/text-editor.caret.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.d.ts +0 -4
- package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.js +0 -6
- package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.styles.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.styles.js +1 -9
- package/dist/components/inputs/text-editor/text-editor.styles.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.template.js +1 -1
- package/dist/components/inputs/time-picker/time-picker.styles.d.ts.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.styles.js +7 -2
- package/dist/components/inputs/time-picker/time-picker.styles.js.map +1 -1
- package/dist/components/layout/box/box.d.ts +17 -7
- package/dist/components/layout/box/box.d.ts.map +1 -1
- package/dist/components/layout/box/box.js +17 -7
- 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 +9 -2
- package/dist/components/layout/box/box.styles.js.map +1 -1
- package/dist/components/layout/container/container.d.ts +10 -0
- package/dist/components/layout/container/container.d.ts.map +1 -1
- package/dist/components/layout/container/container.js +38 -0
- package/dist/components/layout/container/container.js.map +1 -1
- package/dist/components/layout/container/container.styles.d.ts.map +1 -1
- package/dist/components/layout/container/container.styles.js +10 -1
- package/dist/components/layout/container/container.styles.js.map +1 -1
- package/dist/components/layout/page/page.styles.d.ts.map +1 -1
- package/dist/components/layout/page/page.styles.js +8 -1
- package/dist/components/layout/page/page.styles.js.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.d.ts +32 -33
- package/dist/components/layout/page-sections/hero/hero.d.ts.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.js +32 -33
- package/dist/components/layout/page-sections/hero/hero.js.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.template.js +1 -1
- package/dist/components/layout/page-sections/hero/hero.template.js.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.d.ts +7 -0
- package/dist/components/layout/page-sections/simple-section/simple-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.js +12 -0
- package/dist/components/layout/page-sections/simple-section/simple-section.js.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.styles.d.ts.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.styles.js +19 -0
- package/dist/components/layout/page-sections/simple-section/simple-section.styles.js.map +1 -1
- package/dist/components/layout/popover/popover.d.ts +34 -28
- package/dist/components/layout/popover/popover.d.ts.map +1 -1
- package/dist/components/layout/popover/popover.js +44 -31
- package/dist/components/layout/popover/popover.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +2 -0
- package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.js +12 -1
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js +9 -1
- package/dist/components/lists-and-tables/cells/description-cell/description-cell.styles.js.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js +9 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.styles.js.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +14 -14
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js +13 -13
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js +13 -2
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.d.ts +8 -11
- package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.js +8 -10
- package/dist/components/lists-and-tables/list/list.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.styles.js +13 -6
- package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.d.ts +20 -16
- package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.js +44 -30
- package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +15 -0
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.js +44 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.template.d.ts.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.template.js +3 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.template.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.d.ts +23 -11
- package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.js +32 -14
- 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 +59 -2
- package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.template.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.template.js +6 -1
- package/dist/components/status-and-feedback/badge/badge.template.js.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.styles.js +6 -0
- package/dist/components/status-and-feedback/banner/banner.styles.js.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +2 -0
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +14 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
- package/dist/components/status-and-feedback/notification/notification-region.d.ts +6 -0
- package/dist/components/status-and-feedback/notification/notification-region.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/notification-region.js +245 -0
- package/dist/components/status-and-feedback/notification/notification-region.js.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.d.ts +129 -0
- package/dist/components/status-and-feedback/notification/notification.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.i18n.d.ts +6 -0
- package/dist/components/status-and-feedback/notification/notification.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.i18n.js +5 -0
- package/dist/components/status-and-feedback/notification/notification.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.js +269 -0
- package/dist/components/status-and-feedback/notification/notification.js.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.styles.d.ts +2 -0
- package/dist/components/status-and-feedback/notification/notification.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.styles.js +177 -0
- package/dist/components/status-and-feedback/notification/notification.styles.js.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.template.d.ts +4 -0
- package/dist/components/status-and-feedback/notification/notification.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/notification.template.js +40 -0
- package/dist/components/status-and-feedback/notification/notification.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts +30 -30
- package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts.map +1 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.js +33 -30
- package/dist/components/status-and-feedback/step-indicator/step-indicator.js.map +1 -1
- package/dist/css/variables.css +24 -0
- package/dist/nldd.min.js +8381 -7593
- package/dist/types/vue.d.ts +257 -152
- package/dist/utilities/open-when-rendered.d.ts +21 -0
- package/dist/utilities/open-when-rendered.d.ts.map +1 -0
- package/dist/utilities/open-when-rendered.js +30 -0
- package/dist/utilities/open-when-rendered.js.map +1 -0
- package/dist/utilities/reflect-non-default.d.ts +3 -3
- package/dist/utilities/reflect-non-default.d.ts.map +1 -1
- package/dist/utilities/reflect-non-default.js +7 -4
- package/dist/utilities/reflect-non-default.js.map +1 -1
- package/dist/utilities/visibility-mixin.d.ts +5 -0
- package/dist/utilities/visibility-mixin.d.ts.map +1 -1
- package/dist/utilities/visibility-mixin.js +22 -0
- package/dist/utilities/visibility-mixin.js.map +1 -1
- package/package.json +34 -23
- package/dist/components/content/byline/byline.d.ts +0 -73
- package/dist/components/content/byline/byline.d.ts.map +0 -1
- package/dist/components/content/byline/byline.js +0 -125
- package/dist/components/content/byline/byline.js.map +0 -1
- package/dist/components/content/byline/byline.styles.d.ts +0 -2
- package/dist/components/content/byline/byline.styles.d.ts.map +0 -1
- package/dist/components/content/byline/byline.styles.js.map +0 -1
- package/dist/components/content/byline/byline.template.d.ts +0 -3
- package/dist/components/content/byline/byline.template.d.ts.map +0 -1
- package/dist/components/content/byline/byline.template.js.map +0 -1
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Nederlandse Digitale Dienst Notification Component (Lit + TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* A short message that arrives over the interface and leaves on its own: a
|
|
5
|
+
* save that worked, a request that failed. Not a banner, which stands in the
|
|
6
|
+
* page and stays there — this one floats, stacks, and goes away.
|
|
7
|
+
*
|
|
8
|
+
* It places itself. Write it wherever it belongs in your code and it moves to
|
|
9
|
+
* one shared region: top right from md, full width across the top below that.
|
|
10
|
+
* Nothing about the position is settable, so notifications from anywhere in an
|
|
11
|
+
* application land in the same place and stack in the same order.
|
|
12
|
+
*
|
|
13
|
+
* ## The stack
|
|
14
|
+
* More than one is a deck, not a list: the front one is readable and the older
|
|
15
|
+
* ones peek out below it, so a burst of messages takes the room of roughly one.
|
|
16
|
+
* The newest is in front. Behind it a notification is a bare surface, cut to
|
|
17
|
+
* the height of the one in front; dismiss the front and it slides up into the
|
|
18
|
+
* place that came free while its message fades in, because it was standing
|
|
19
|
+
* there all along.
|
|
20
|
+
*
|
|
21
|
+
* Under the front notification sits a strip as wide as the deck and as tall as
|
|
22
|
+
* the deck is when it fans out. Pointing at it fans the deck out to fill it,
|
|
23
|
+
* which is the only hint that there is more here than the message you can read;
|
|
24
|
+
* clicking it, or moving focus into the region, lays the whole deck out as a
|
|
25
|
+
* list. Clicking or tabbing away puts it back. The notification itself is not a
|
|
26
|
+
* button: a click on the message you are reading does nothing.
|
|
27
|
+
*
|
|
28
|
+
* ## Timing
|
|
29
|
+
* Only the front of the deck counts down, and only while the deck is closed:
|
|
30
|
+
* open means someone is reading. The rest wait, so nothing disappears from
|
|
31
|
+
* under the one you are reading. `critical` never leaves on its own: a
|
|
32
|
+
* failure is worth reading, and the count-down would take it away while you
|
|
33
|
+
* were. That also keeps this within WCAG 2.2.1, which allows a time limit when
|
|
34
|
+
* what disappears is not essential.
|
|
35
|
+
*
|
|
36
|
+
* The clock pauses while a pointer moves over the notification and while focus
|
|
37
|
+
* is inside it, and resumes where it left off rather than starting over. A
|
|
38
|
+
* pointer that merely happens to rest where the notification appears does not
|
|
39
|
+
* count: it never moved, so nobody is reading.
|
|
40
|
+
*
|
|
41
|
+
* ## ARIA
|
|
42
|
+
* role follows the variant: `critical` becomes role="alert", the rest
|
|
43
|
+
* role="status". Focus never moves on its own. Escape dismisses the
|
|
44
|
+
* notification that focus is in.
|
|
45
|
+
*
|
|
46
|
+
* @element nldd-notification
|
|
47
|
+
*
|
|
48
|
+
* @attr {'neutral'|'accent'|'success'|'warning'|'critical'} variant - What kind of message this is; sets the icon color and the ARIA role (default: 'neutral')
|
|
49
|
+
* @attr {string} icon - Icon override. Default per variant: neutral → info-circle-filled, accent → info-circle-filled, success → check-circle-filled, warning → exclamation-triangle-filled, critical → exclamation-circle-filled
|
|
50
|
+
* @attr {string} text - The message
|
|
51
|
+
* @attr {string} supporting-text - A second line under the message
|
|
52
|
+
* @attr {number} duration - Milliseconds before it leaves once it is front of the deck (default: 10000). `0` keeps it until dismissed, which is what `critical` does regardless.
|
|
53
|
+
* @attr {object} translations - Override translation keys; unset keys fall back to Dutch
|
|
54
|
+
*
|
|
55
|
+
* @slot actions - At most 2 nldd-button elements, under the text. More than 2 is refused with a DEV warning: a message that needs three choices is a dialog.
|
|
56
|
+
*
|
|
57
|
+
* @fires dismiss - Fired when the notification is dismissed, by the button, by Escape, or by its own clock. The consumer removes it.
|
|
58
|
+
*/
|
|
59
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
60
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
61
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
62
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
63
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
64
|
+
};
|
|
65
|
+
import { LitElement } from 'lit';
|
|
66
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
67
|
+
import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
|
|
68
|
+
import { notificationStyles } from './notification.styles.js';
|
|
69
|
+
import { notificationTemplate } from './notification.template.js';
|
|
70
|
+
import { joinRegion, leaveRegion } from './notification-region.js';
|
|
71
|
+
import { withTranslations } from '../../../utilities/with-translations.js';
|
|
72
|
+
import { nlddNotificationTranslations } from './notification.i18n.js';
|
|
73
|
+
import '../../content/icon/icon.js';
|
|
74
|
+
import '../../actions/icon-button/icon-button.js';
|
|
75
|
+
const DEFAULT_ICONS = {
|
|
76
|
+
neutral: 'info-circle-filled',
|
|
77
|
+
accent: 'info-circle-filled',
|
|
78
|
+
success: 'check-circle-filled',
|
|
79
|
+
warning: 'exclamation-triangle-filled',
|
|
80
|
+
critical: 'exclamation-circle-filled',
|
|
81
|
+
};
|
|
82
|
+
const DEFAULT_DURATION = 10000;
|
|
83
|
+
let NLDDNotification = class NLDDNotification extends withTranslations(LitElement, nlddNotificationTranslations) {
|
|
84
|
+
constructor() {
|
|
85
|
+
super(...arguments);
|
|
86
|
+
this.variant = 'neutral';
|
|
87
|
+
this.icon = '';
|
|
88
|
+
this.text = '';
|
|
89
|
+
this.supportingText = '';
|
|
90
|
+
this.duration = DEFAULT_DURATION;
|
|
91
|
+
this._hasActions = false;
|
|
92
|
+
/** Set by the region: true for the front of the deck, the only one that runs
|
|
93
|
+
* its clock. */
|
|
94
|
+
this._isFront = false;
|
|
95
|
+
this._timer = null;
|
|
96
|
+
/** When the running timeout was scheduled, so a pause can work out what is
|
|
97
|
+
* left of it. */
|
|
98
|
+
this._timerStartedAt = 0;
|
|
99
|
+
/** Remembered from the events rather than read back from the browser with
|
|
100
|
+
* `:hover`: what an engine reports about a stationary pointer over a fixed
|
|
101
|
+
* spot differs per engine and per platform. */
|
|
102
|
+
this._pointerInside = false;
|
|
103
|
+
this._focusInside = false;
|
|
104
|
+
/** Moving into the region disconnects and reconnects this element. Without
|
|
105
|
+
* this the leave-handler would tear down the very region we are joining. */
|
|
106
|
+
this._moving = false;
|
|
107
|
+
/** What is left of `duration`, so a pause resumes rather than restarts. */
|
|
108
|
+
this._remainingDuration = DEFAULT_DURATION;
|
|
109
|
+
this._onActionsSlotChange = (e) => {
|
|
110
|
+
const assigned = e.target.assignedElements();
|
|
111
|
+
this._hasActions = assigned.length > 0;
|
|
112
|
+
if (import.meta.env?.DEV && assigned.length > 2) {
|
|
113
|
+
console.warn('[nldd-notification] at most 2 actions: a message that needs three choices '
|
|
114
|
+
+ 'is a decision, and a decision belongs in a dialog that waits for it.');
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
/** A move rather than an enter. A notification arrives at a fixed spot on the
|
|
118
|
+
* screen, so the browser hit-tests whatever happens to be under the pointer
|
|
119
|
+
* and fires a genuine pointerenter without the pointer having moved. Taking
|
|
120
|
+
* that as hover parks the clock forever for anyone whose cursor happens to
|
|
121
|
+
* rest in that corner, because the pointerleave that would release it never
|
|
122
|
+
* comes. A move is someone pointing at it; sitting still is not. */
|
|
123
|
+
this._onPointerMove = () => {
|
|
124
|
+
if (this._pointerInside)
|
|
125
|
+
return;
|
|
126
|
+
this._pointerInside = true;
|
|
127
|
+
this._clearTimer();
|
|
128
|
+
};
|
|
129
|
+
this._onPointerLeave = () => {
|
|
130
|
+
this._pointerInside = false;
|
|
131
|
+
this._resumeTimer();
|
|
132
|
+
};
|
|
133
|
+
this._onFocusIn = () => {
|
|
134
|
+
this._focusInside = true;
|
|
135
|
+
this._clearTimer();
|
|
136
|
+
};
|
|
137
|
+
this._onFocusOut = (e) => {
|
|
138
|
+
// Only when focus really left: moving between the action and the dismiss
|
|
139
|
+
// button is still inside.
|
|
140
|
+
if (this.contains(e.relatedTarget))
|
|
141
|
+
return;
|
|
142
|
+
this._focusInside = false;
|
|
143
|
+
this._resumeTimer();
|
|
144
|
+
};
|
|
145
|
+
this._resumeTimer = () => {
|
|
146
|
+
if (!this._isFront || !this._leavesOnItsOwn || this._timer !== null)
|
|
147
|
+
return;
|
|
148
|
+
if (this._pointerInside || this._focusInside)
|
|
149
|
+
return;
|
|
150
|
+
this._timerStartedAt = Date.now();
|
|
151
|
+
this._timer = window.setTimeout(() => {
|
|
152
|
+
this._timer = null;
|
|
153
|
+
this._dismiss();
|
|
154
|
+
}, this._remainingDuration);
|
|
155
|
+
};
|
|
156
|
+
this._onKeyDown = (e) => {
|
|
157
|
+
if (e.key !== 'Escape')
|
|
158
|
+
return;
|
|
159
|
+
e.stopPropagation();
|
|
160
|
+
this._dismiss();
|
|
161
|
+
};
|
|
162
|
+
this._handleDismiss = () => {
|
|
163
|
+
this._dismiss();
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
get _resolvedIcon() {
|
|
167
|
+
return this.icon || DEFAULT_ICONS[this.variant];
|
|
168
|
+
}
|
|
169
|
+
/** `critical` ignores any duration: a failure stays until it is read. */
|
|
170
|
+
get _leavesOnItsOwn() {
|
|
171
|
+
return this.variant !== 'critical' && this.duration > 0;
|
|
172
|
+
}
|
|
173
|
+
connectedCallback() {
|
|
174
|
+
super.connectedCallback();
|
|
175
|
+
this.setAttribute('role', this.variant === 'critical' ? 'alert' : 'status');
|
|
176
|
+
this._remainingDuration = this.duration;
|
|
177
|
+
this.addEventListener('pointermove', this._onPointerMove);
|
|
178
|
+
this.addEventListener('pointerleave', this._onPointerLeave);
|
|
179
|
+
this.addEventListener('focusin', this._onFocusIn);
|
|
180
|
+
this.addEventListener('focusout', this._onFocusOut);
|
|
181
|
+
this.addEventListener('keydown', this._onKeyDown);
|
|
182
|
+
// Moving itself has to wait a tick: a framework that just created this
|
|
183
|
+
// element is still holding it, and pulling it out mid-render confuses
|
|
184
|
+
// the very thing that will later remove it.
|
|
185
|
+
queueMicrotask(() => {
|
|
186
|
+
if (!this.isConnected || this._moving)
|
|
187
|
+
return;
|
|
188
|
+
const region = document.getElementById('nldd-notification-region');
|
|
189
|
+
if (this.parentElement === region)
|
|
190
|
+
return;
|
|
191
|
+
this._moving = true;
|
|
192
|
+
joinRegion(this, this._t('components.notification.region-label'));
|
|
193
|
+
this._moving = false;
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
disconnectedCallback() {
|
|
197
|
+
super.disconnectedCallback();
|
|
198
|
+
if (this._moving)
|
|
199
|
+
return;
|
|
200
|
+
this._clearTimer();
|
|
201
|
+
this.removeEventListener('pointermove', this._onPointerMove);
|
|
202
|
+
this.removeEventListener('pointerleave', this._onPointerLeave);
|
|
203
|
+
this.removeEventListener('focusin', this._onFocusIn);
|
|
204
|
+
this.removeEventListener('focusout', this._onFocusOut);
|
|
205
|
+
this.removeEventListener('keydown', this._onKeyDown);
|
|
206
|
+
leaveRegion(this);
|
|
207
|
+
}
|
|
208
|
+
willUpdate(changed) {
|
|
209
|
+
super.willUpdate(changed);
|
|
210
|
+
if (changed.has('variant')) {
|
|
211
|
+
this.setAttribute('role', this.variant === 'critical' ? 'alert' : 'status');
|
|
212
|
+
}
|
|
213
|
+
if (changed.has('duration'))
|
|
214
|
+
this._remainingDuration = this.duration;
|
|
215
|
+
}
|
|
216
|
+
/** Called by the region. Starting the clock here rather than on connect is
|
|
217
|
+
* the whole point: a notification three deep in the deck is not counting. */
|
|
218
|
+
_setFront(isFront) {
|
|
219
|
+
if (this._isFront === isFront)
|
|
220
|
+
return;
|
|
221
|
+
this._isFront = isFront;
|
|
222
|
+
if (isFront)
|
|
223
|
+
this._resumeTimer();
|
|
224
|
+
else
|
|
225
|
+
this._clearTimer();
|
|
226
|
+
}
|
|
227
|
+
/** Clears the running timeout and banks what is left of the duration. */
|
|
228
|
+
_clearTimer() {
|
|
229
|
+
if (this._timer === null)
|
|
230
|
+
return;
|
|
231
|
+
window.clearTimeout(this._timer);
|
|
232
|
+
this._timer = null;
|
|
233
|
+
this._remainingDuration = Math.max(0, this._remainingDuration - (Date.now() - this._timerStartedAt));
|
|
234
|
+
}
|
|
235
|
+
_dismiss() {
|
|
236
|
+
this._clearTimer();
|
|
237
|
+
this.dispatchEvent(new CustomEvent('dismiss', { bubbles: true, composed: true }));
|
|
238
|
+
}
|
|
239
|
+
render() {
|
|
240
|
+
return notificationTemplate(this);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
NLDDNotification.styles = notificationStyles;
|
|
244
|
+
__decorate([
|
|
245
|
+
property({ reflect: true, converter: reflectNonDefault('neutral') })
|
|
246
|
+
], NLDDNotification.prototype, "variant", void 0);
|
|
247
|
+
__decorate([
|
|
248
|
+
property({ reflect: true, converter: reflectNonDefault('') })
|
|
249
|
+
], NLDDNotification.prototype, "icon", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
property({ type: String, reflect: true })
|
|
252
|
+
], NLDDNotification.prototype, "text", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
property({ type: String, reflect: true, attribute: 'supporting-text' })
|
|
255
|
+
], NLDDNotification.prototype, "supportingText", void 0);
|
|
256
|
+
__decorate([
|
|
257
|
+
property({ reflect: true, converter: reflectNonDefault(DEFAULT_DURATION) })
|
|
258
|
+
], NLDDNotification.prototype, "duration", void 0);
|
|
259
|
+
__decorate([
|
|
260
|
+
state()
|
|
261
|
+
], NLDDNotification.prototype, "_hasActions", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
state()
|
|
264
|
+
], NLDDNotification.prototype, "_isFront", void 0);
|
|
265
|
+
NLDDNotification = __decorate([
|
|
266
|
+
customElement('nldd-notification')
|
|
267
|
+
], NLDDNotification);
|
|
268
|
+
export { NLDDNotification };
|
|
269
|
+
//# sourceMappingURL=notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.styles.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,kBAAkB,yBA2K9B,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { css, unsafeCSS } from 'lit';
|
|
2
|
+
import { breakpoints } from '../../../assets/styles/breakpoints.js';
|
|
3
|
+
const smMax = unsafeCSS(breakpoints.smMax);
|
|
4
|
+
/* # Host */
|
|
5
|
+
export const notificationStyles = css `
|
|
6
|
+
:host {
|
|
7
|
+
--_width: var(--primitives-area-400);
|
|
8
|
+
--_stack-fanned: 0;
|
|
9
|
+
--_stack-depth: 0;
|
|
10
|
+
--_stack-base-offset: var(--primitives-space-6);
|
|
11
|
+
--_stack-fan-offset: var(--primitives-space-6);
|
|
12
|
+
--_stack-offset: calc(var(--_stack-base-offset) + var(--_stack-fan-offset) * var(--_stack-fanned));
|
|
13
|
+
--_stack-scale-step: 0.03;
|
|
14
|
+
--_padding: var(--primitives-space-12);
|
|
15
|
+
--_gap: var(--primitives-space-6);
|
|
16
|
+
--_icon-color: var(--components-notification-icon-neutral-color);
|
|
17
|
+
--_icon-size: var(--primitives-space-32);
|
|
18
|
+
--_actions-margin-top: var(--primitives-space-4);
|
|
19
|
+
--_actions-gap: var(--primitives-space-6);
|
|
20
|
+
--_dismiss-inset: calc(var(--_padding) - (var(--semantics-controls-sm-min-size) - var(--_icon-size)) / 2);
|
|
21
|
+
--_dismiss-space: calc(var(--_dismiss-inset) + var(--semantics-controls-sm-min-size));
|
|
22
|
+
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
display: block;
|
|
25
|
+
border-radius: var(--components-notification-corner-radius);
|
|
26
|
+
box-shadow: var(--components-notification-box-shadow);
|
|
27
|
+
background-color: var(--components-notification-background-color);
|
|
28
|
+
width: var(--_width);
|
|
29
|
+
max-width: 100%;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
/* The region is a column with a max height, so without this the messages
|
|
32
|
+
squeeze to fit instead of letting the list scroll. */
|
|
33
|
+
flex-shrink: 0;
|
|
34
|
+
translate: 0 calc(var(--_stack-offset) * var(--_stack-depth));
|
|
35
|
+
scale: calc(1 - var(--_stack-scale-step) * var(--_stack-depth)) 1;
|
|
36
|
+
transform-origin: top center;
|
|
37
|
+
transition: translate var(--primitives-transition-duration-medium) var(--primitives-transition-easing-default), scale var(--primitives-transition-duration-medium) var(--primitives-transition-easing-default);
|
|
38
|
+
animation: notification-arrive var(--primitives-transition-duration-medium) var(--primitives-transition-easing-default) both;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:host([variant="accent"]) {
|
|
42
|
+
--_icon-color: var(--components-notification-icon-accent-color);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:host([variant="success"]) {
|
|
46
|
+
--_icon-color: var(--components-notification-icon-success-color);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
:host([variant="warning"]) {
|
|
50
|
+
--_icon-color: var(--components-notification-icon-warning-color);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
:host([variant="critical"]) {
|
|
54
|
+
--_icon-color: var(--components-notification-icon-critical-color);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([hidden]) {
|
|
58
|
+
display: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@media (prefers-reduced-motion: reduce) {
|
|
62
|
+
:host {
|
|
63
|
+
transition: none;
|
|
64
|
+
animation: none;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
/* # Element */
|
|
70
|
+
|
|
71
|
+
/* Hidden behind the front of the deck: the region cuts those to the height of
|
|
72
|
+
the one in front, and half a row of buttons along that edge reads as a
|
|
73
|
+
mistake rather than as a card further back. */
|
|
74
|
+
.notification {
|
|
75
|
+
display: flex;
|
|
76
|
+
position: relative;
|
|
77
|
+
opacity: calc(1 - var(--_stack-depth));
|
|
78
|
+
transition: opacity var(--primitives-transition-duration-medium) var(--primitives-transition-easing-default);
|
|
79
|
+
padding: var(--_padding);
|
|
80
|
+
padding-inline-end: var(--_dismiss-space);
|
|
81
|
+
gap: var(--_gap);
|
|
82
|
+
align-items: center;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* Forced colors drop the shadow this floats on, so there it needs an edge. */
|
|
86
|
+
@media (forced-colors: active) {
|
|
87
|
+
.notification {
|
|
88
|
+
border: var(--primitives-border-width-regular) solid CanvasText;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
/* ## Icon */
|
|
94
|
+
|
|
95
|
+
.notification__icon {
|
|
96
|
+
display: flex;
|
|
97
|
+
align-self: flex-start;
|
|
98
|
+
flex-shrink: 0;
|
|
99
|
+
color: var(--_icon-color);
|
|
100
|
+
width: var(--_icon-size);
|
|
101
|
+
height: var(--_icon-size);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
/* ## Main */
|
|
106
|
+
|
|
107
|
+
.notification__main {
|
|
108
|
+
display: flex;
|
|
109
|
+
min-width: 0;
|
|
110
|
+
flex-direction: column;
|
|
111
|
+
flex-grow: 1;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.notification__text {
|
|
115
|
+
margin: 0;
|
|
116
|
+
overflow-wrap: break-word;
|
|
117
|
+
color: var(--semantics-content-color);
|
|
118
|
+
font: var(--components-notification-text-font);
|
|
119
|
+
text-wrap: pretty;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.notification__supporting-text {
|
|
123
|
+
margin: 0;
|
|
124
|
+
overflow-wrap: break-word;
|
|
125
|
+
color: var(--components-notification-supporting-text-color);
|
|
126
|
+
font: var(--components-notification-supporting-text-font);
|
|
127
|
+
text-wrap: pretty;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.notification__actions {
|
|
131
|
+
display: flex;
|
|
132
|
+
margin-top: var(--_actions-margin-top);
|
|
133
|
+
flex-wrap: wrap;
|
|
134
|
+
gap: var(--_actions-gap);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.notification__actions[hidden] {
|
|
138
|
+
display: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
/* ## Dismiss */
|
|
143
|
+
|
|
144
|
+
/* Out of the flow, so the button cannot make the notification taller than the
|
|
145
|
+
message in it. */
|
|
146
|
+
.notification__dismiss-button {
|
|
147
|
+
display: flex;
|
|
148
|
+
position: absolute;
|
|
149
|
+
top: var(--_dismiss-inset);
|
|
150
|
+
right: var(--_dismiss-inset);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
/* # Animation */
|
|
155
|
+
|
|
156
|
+
/* Past the inset, so it starts off the screen rather than at the margin. */
|
|
157
|
+
@keyframes notification-arrive {
|
|
158
|
+
from {
|
|
159
|
+
opacity: 0;
|
|
160
|
+
transform: translateX(calc(100% + var(--semantics-overlays-inset)));
|
|
161
|
+
}
|
|
162
|
+
to {
|
|
163
|
+
opacity: 1;
|
|
164
|
+
transform: none;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
/* # Responsive */
|
|
170
|
+
|
|
171
|
+
@media (max-width: ${smMax}) {
|
|
172
|
+
:host {
|
|
173
|
+
width: 100%;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
`;
|
|
177
|
+
//# sourceMappingURL=notification.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.styles.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAG3C,YAAY;AAEZ,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAsKf,KAAK;;;;;CAK1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.template.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,GAAG,cAAc,CAqChF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { html, nothing } from 'lit';
|
|
2
|
+
export function notificationTemplate(component) {
|
|
3
|
+
return html `
|
|
4
|
+
<div class="notification">
|
|
5
|
+
<div class="notification__icon"
|
|
6
|
+
aria-hidden="true"
|
|
7
|
+
>
|
|
8
|
+
<nldd-icon name=${component._resolvedIcon}></nldd-icon>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="notification__main">
|
|
11
|
+
${component.text ? html `
|
|
12
|
+
<p class="notification__text">
|
|
13
|
+
${component.text}
|
|
14
|
+
</p>
|
|
15
|
+
` : nothing}
|
|
16
|
+
${component.supportingText ? html `
|
|
17
|
+
<p class="notification__supporting-text">
|
|
18
|
+
${component.supportingText}
|
|
19
|
+
</p>
|
|
20
|
+
` : nothing}
|
|
21
|
+
<div class="notification__actions"
|
|
22
|
+
?hidden=${!component._hasActions}
|
|
23
|
+
>
|
|
24
|
+
<slot name="actions" @slotchange=${component._onActionsSlotChange}></slot>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="notification__dismiss-button">
|
|
28
|
+
<nldd-icon-button
|
|
29
|
+
icon="dismiss-small"
|
|
30
|
+
size="sm"
|
|
31
|
+
variant="neutral-transparent"
|
|
32
|
+
tooltip-timing="never"
|
|
33
|
+
accessible-label=${component._t('components.notification.dismiss-action')}
|
|
34
|
+
@click=${component._handleDismiss}
|
|
35
|
+
></nldd-icon-button>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
`;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=notification.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.template.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAuB,MAAM,KAAK,CAAC;AAGzD,MAAM,UAAU,oBAAoB,CAAC,SAA2B;IAC/D,OAAO,IAAI,CAAA;;;;;sBAKU,SAAS,CAAC,aAAa;;;MAGvC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;;QAEnB,SAAS,CAAC,IAAI;;KAEjB,CAAC,CAAC,CAAC,OAAO;MACT,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAA;;QAE7B,SAAS,CAAC,cAAc;;KAE3B,CAAC,CAAC,CAAC,OAAO;;eAEA,CAAC,SAAS,CAAC,WAAW;;wCAEG,SAAS,CAAC,oBAAoB;;;;;;;;;wBAS9C,SAAS,CAAC,EAAE,CAAC,wCAAwC,CAAC;cAChE,SAAS,CAAC,cAAc;;;;EAIpC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-bar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-bar/progress-bar.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"progress-bar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/progress-bar/progress-bar.styles.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,yBAgN7B,CAAC;AAGF,eAAO,MAAM,iCAAiC,yBA8M7C,CAAC"}
|
|
@@ -1 +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;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BhC,kBAAkB
|
|
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;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BhC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsLrB,CAAC;AAGF,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8MnD,CAAC"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Nederlandse Digitale Dienst Step Indicator Component (Lit + TypeScript)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Shows where you are in a process of several steps: a row of discs with a
|
|
5
|
+
* number (or a check mark on what is done), a label under each and a line
|
|
6
|
+
* connecting them.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* The parent holds the truth: `current` (1-based) derives the status of every
|
|
9
|
+
* child — `past` before it, `future` after. A child can override that with a
|
|
10
|
+
* `status` of its own, for flows that jump back or skip a step.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* Horizontal only. For steps under each other, build an `nldd-list` with an
|
|
13
|
+
* `nldd-timeline-track-cell` and an `nldd-title-cell` per row: vertical steps
|
|
14
|
+
* usually carry more than a title, and a list row already does that.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
16
|
+
* Below the sm breakpoint (a container query, so measured on the component
|
|
17
|
+
* itself rather than on the viewport) it folds into one line of text plus a
|
|
18
|
+
* segmented bar. The full list of steps stays in the DOM, only visually hidden,
|
|
19
|
+
* so assistive software hears no less than a wide screen shows.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* Accessibility: a `nav` with a label, holding a `role="list"` with a
|
|
22
|
+
* `role="listitem"` per step. The current step gets `aria-current="step"`, the
|
|
23
|
+
* only notion WAI-ARIA has for this. "Done" and "still to do" do not exist as
|
|
24
|
+
* ARIA tokens and travel along as visually hidden text instead.
|
|
25
25
|
*
|
|
26
26
|
* @element nldd-step-indicator
|
|
27
27
|
*
|
|
28
|
-
* @attr {string} accessible-label -
|
|
29
|
-
* @attr {object} translations -
|
|
30
|
-
* @attr {number} current - 1-based
|
|
28
|
+
* @attr {string} accessible-label - Name of the nav; defaults to the i18n value ("Voortgang")
|
|
29
|
+
* @attr {object} translations - Override translation keys; unset keys fall back to Dutch
|
|
30
|
+
* @attr {number} current - 1-based number of the current step (default 1)
|
|
31
31
|
*
|
|
32
|
-
* @slot - `nldd-step-indicator-item`
|
|
32
|
+
* @slot - `nldd-step-indicator-item` children
|
|
33
33
|
*
|
|
34
34
|
* @example
|
|
35
35
|
* ```html
|
|
@@ -46,19 +46,19 @@ import '../../content/icon/icon.js';
|
|
|
46
46
|
* single vocabulary whether it runs horizontally or vertically. */
|
|
47
47
|
export type StepIndicatorStatus = 'past' | 'current' | 'future';
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* `status
|
|
49
|
+
* One step in an `nldd-step-indicator`. The parent decides the status and the
|
|
50
|
+
* number; those live here as internal state rather than as public API, except
|
|
51
|
+
* for `status`, which overrides what `current` derives.
|
|
52
52
|
*
|
|
53
53
|
* @element nldd-step-indicator-item
|
|
54
54
|
*
|
|
55
|
-
* @attr {string} status - `past` | `current` | `future`;
|
|
56
|
-
* @attr {string} text - Label
|
|
57
|
-
* @attr {string} icon -
|
|
58
|
-
* @attr {string} href -
|
|
59
|
-
* @attr {boolean} button -
|
|
55
|
+
* @attr {string} status - `past` | `current` | `future`; overrides what the parent derives
|
|
56
|
+
* @attr {string} text - Label under the disc
|
|
57
|
+
* @attr {string} icon - Icon in the disc instead of the number or the check mark
|
|
58
|
+
* @attr {string} href - Makes the step a link (back to a completed step, for instance)
|
|
59
|
+
* @attr {boolean} button - Makes the step a button, for flows without a URL per step; ignored when `href` is set
|
|
60
60
|
*
|
|
61
|
-
* @slot - Label (
|
|
61
|
+
* @slot - Label (an alternative to `text`)
|
|
62
62
|
*/
|
|
63
63
|
export declare class NLDDStepIndicatorItem extends LitElement {
|
|
64
64
|
static styles: import("lit").CSSResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-indicator.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/step-indicator/step-indicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOtD,OAAO,4BAA4B,CAAC;AAEpC;oEACoE;AACpE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAKhE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACpD,OAAgB,MAAM,0BAA2B;IAGjD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAG7B,IAAI,SAAM;IAGV,IAAI,SAAM;IAGV,IAAI,SAAM;IAEV;;yDAEqD;IAErD,MAAM,UAAS;IAEf;uEACmE;IAEnE,cAAc,EAAE,mBAAmB,CAAY;IAG/C,MAAM,SAAK;IAGX,WAAW,SAAM;IAEjB,wEAAwE;IACxE,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAEQ,iBAAiB,IAAI,IAAI;IAOzB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQtC,MAAM;CAGf;;;;;;;;;;;AAYD,qBACa,iBAAkB,SAAQ,sBAGtC;IACA,OAAgB,MAAM,0BAAuB;IAG7C,eAAe,SAAM;IAGrB,OAAO,SAAK;IAEZ;wCACoC;IAEpC,MAAM,EAAE,qBAAqB,EAAE,CAAM;IAErC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;2EACuE;IACvE,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED,IAAI,WAAW,IAAI,qBAAqB,GAAG,SAAS,CAGnD;IAED,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAI9B;IAEF;;2BAEuB;IACd,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"step-indicator.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/step-indicator/step-indicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOtD,OAAO,4BAA4B,CAAC;AAEpC;oEACoE;AACpE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAKhE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IACpD,OAAgB,MAAM,0BAA2B;IAGjD,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAG7B,IAAI,SAAM;IAGV,IAAI,SAAM;IAGV,IAAI,SAAM;IAEV;;yDAEqD;IAErD,MAAM,UAAS;IAEf;uEACmE;IAEnE,cAAc,EAAE,mBAAmB,CAAY;IAG/C,MAAM,SAAK;IAGX,WAAW,SAAM;IAEjB,wEAAwE;IACxE,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAEQ,iBAAiB,IAAI,IAAI;IAOzB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQtC,MAAM;CAGf;;;;;;;;;;;AAYD,qBACa,iBAAkB,SAAQ,sBAGtC;IACA,OAAgB,MAAM,0BAAuB;IAG7C,eAAe,SAAM;IAGrB,OAAO,SAAK;IAEZ;wCACoC;IAEpC,MAAM,EAAE,qBAAqB,EAAE,CAAM;IAErC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;2EACuE;IACvE,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED,IAAI,WAAW,IAAI,qBAAqB,GAAG,SAAS,CAGnD;IAED,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAI9B;IAEF;;2BAEuB;IACd,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAOlD;;kCAE8B;IAC9B,OAAO,CAAC,UAAU;IAUT,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,iBAAiB,CAAC;QACzC,0BAA0B,EAAE,qBAAqB,CAAC;KAClD;CACD"}
|