@nldd/design-system 0.8.79 → 0.8.82
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 +2400 -664
- 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 +44 -3
- package/dist/components/actions/menu/menu.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.js +86 -33
- package/dist/components/actions/menu/menu.js.map +1 -1
- package/dist/components/actions/menu/menu.template.d.ts +1 -1
- package/dist/components/actions/menu/menu.template.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.template.js +7 -3
- package/dist/components/actions/menu/menu.template.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.d.ts +29 -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 +74 -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/breakpoints-CkxsiRgH.js +10 -0
- package/dist/components/components.js +51975 -114
- 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 +75 -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 +25 -13
- 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/decorate-BKn10QQi.js +9 -0
- package/dist/components/dist-BYVOPNHp.js +381 -0
- package/dist/components/dist-Bq4xc7Bm.js +624 -0
- package/dist/components/dist-C0PiB1dr.js +870 -0
- package/dist/components/dist-C400RcFU.js +1498 -0
- package/dist/components/dist-CCg5Mso_.js +390 -0
- package/dist/components/dist-CJR_Rwhh.js +464 -0
- package/dist/components/dist-Ccw7ZfsU.js +18481 -0
- package/dist/components/dist-OBifyiJS.js +887 -0
- package/dist/components/dist-TpIL8G4G.js +1480 -0
- package/dist/components/dist-afrAoubg.js +1181 -0
- package/dist/components/dist-bO14jlsr.js +78 -0
- package/dist/components/forms/form-field/form-field.d.ts +59 -2
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
- package/dist/components/forms/form-field/form-field.js +120 -35
- package/dist/components/forms/form-field/form-field.js.map +1 -1
- package/dist/components/gherkin-uCVRxsGf.js +108 -0
- package/dist/components/icon-CIpJq_cf.js +751 -0
- package/dist/components/icon-button-BAkUJTn6.js +1676 -0
- 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/input-modality-DhTeUxKi.js +43 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts +13 -0
- package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.js +18 -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/checkbox-field/checkbox-field.d.ts +9 -0
- package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.js +11 -0
- package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.d.ts +3 -0
- package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.js +3 -0
- package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.d.ts +6 -0
- package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.js +21 -0
- package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
- package/dist/components/inputs/date-field/date-field.d.ts +6 -0
- package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
- package/dist/components/inputs/date-field/date-field.js +11 -0
- package/dist/components/inputs/date-field/date-field.js.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.d.ts +3 -0
- package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.js +4 -1
- package/dist/components/inputs/date-picker/date-picker.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/dropdown/dropdown.d.ts +29 -0
- package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.js +44 -1
- package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.d.ts +115 -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 +249 -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/multi-line-text-field/multi-line-text-field.d.ts +3 -0
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +3 -0
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
- package/dist/components/inputs/number-field/number-field.d.ts +9 -0
- package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.js +12 -0
- package/dist/components/inputs/number-field/number-field.js.map +1 -1
- package/dist/components/inputs/number-field/number-field.template.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.template.js +1 -0
- package/dist/components/inputs/number-field/number-field.template.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.d.ts +9 -0
- package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.js +12 -0
- package/dist/components/inputs/password-field/password-field.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.template.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.template.js +1 -0
- package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.d.ts +13 -0
- package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.js +18 -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/radio-button-field/radio-button-field.d.ts +9 -0
- package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.js +11 -0
- package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +16 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.js +33 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.d.ts +6 -0
- package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.js +6 -0
- package/dist/components/inputs/search-field/search-field.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.d.ts +16 -0
- package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.js +26 -7
- package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.d.ts +17 -0
- package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.js +22 -0
- package/dist/components/inputs/stepper/stepper.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.template.js +1 -1
- package/dist/components/inputs/stepper/stepper.template.js.map +1 -1
- package/dist/components/inputs/switch/switch.d.ts +3 -0
- package/dist/components/inputs/switch/switch.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.js +3 -0
- package/dist/components/inputs/switch/switch.js.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.d.ts +3 -0
- package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.js +3 -0
- package/dist/components/inputs/switch-field/switch-field.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 +3 -4
- package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.js +4 -7
- 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/text-field/text-field.d.ts +9 -0
- package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.js +12 -0
- package/dist/components/inputs/text-field/text-field.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.template.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.template.js +1 -0
- package/dist/components/inputs/text-field/text-field.template.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.d.ts +6 -0
- package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
- package/dist/components/inputs/time-field/time-field.js +11 -0
- package/dist/components/inputs/time-field/time-field.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.template.js +1 -1
- package/dist/components/inputs/time-picker/time-picker.d.ts +3 -0
- package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.js +4 -1
- package/dist/components/inputs/time-picker/time-picker.js.map +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/inputs/toggle-button/toggle-button.d.ts +10 -0
- package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.js +14 -0
- package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
- package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +11 -0
- package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button-group/toggle-button-group.js +16 -6
- package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.d.ts +6 -0
- package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
- package/dist/components/inputs/token-field/token-field.js +13 -0
- package/dist/components/inputs/token-field/token-field.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/reflect-non-default-OLaK60rT.js +37 -0
- package/dist/components/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/components/shadow-resets-aG-rgyNQ.js +61 -0
- package/dist/components/shell-C61GCsJA.js +223 -0
- 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/components/toml-C2HBbPgG.js +59 -0
- package/dist/components/visibility-mixin-GxbwkBb1.js +104 -0
- package/dist/components/with-translations-DzAdFTK8.js +48 -0
- package/dist/css/variables.css +24 -0
- package/dist/nldd.min.js +10763 -9942
- package/dist/types/vue.d.ts +270 -153
- package/dist/utilities/implicit-submission.d.ts +31 -0
- package/dist/utilities/implicit-submission.d.ts.map +1 -0
- package/dist/utilities/implicit-submission.js +65 -0
- package/dist/utilities/implicit-submission.js.map +1 -0
- 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/owned-attribute.d.ts +19 -0
- package/dist/utilities/owned-attribute.d.ts.map +1 -0
- package/dist/utilities/owned-attribute.js +32 -0
- package/dist/utilities/owned-attribute.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
- package/dist/components/gherkin-DhZlEZiy.js +0 -115
- package/dist/components/index--8_4HvE9.js +0 -688
- package/dist/components/index-BMeSmtdw.js +0 -384
- package/dist/components/index-Bonuul3m.js +0 -73466
- package/dist/components/index-CdOU-HVN.js +0 -81
- package/dist/components/index-CqhFJR7l.js +0 -703
- package/dist/components/index-CwmDMN6X.js +0 -177
- package/dist/components/index-yX0V7C44.js +0 -405
- package/dist/components/shell-BlsXDxCn.js +0 -222
- package/dist/components/toml-BOuWGMcf.js +0 -76
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal-dialog.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/modal-dialog/modal-dialog.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEjC;;iDAEiD;AACjD,MAAM,6BAA6B,GAAG,IAAI,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"modal-dialog.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/modal-dialog/modal-dialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NLDDNotification } from './notification.js';
|
|
2
|
+
/** Newest in front: what just happened is what you want to read, and the older
|
|
3
|
+
* ones slide back and downwards behind it. */
|
|
4
|
+
export declare function joinRegion(notification: NLDDNotification, label: string): void;
|
|
5
|
+
export declare function leaveRegion(notification: NLDDNotification): void;
|
|
6
|
+
//# sourceMappingURL=notification-region.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-region.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification-region.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgH1D;+CAC+C;AAC/C,wBAAgB,UAAU,CAAC,YAAY,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAK9E;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAYhE"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place every notification ends up, wherever a consumer wrote it.
|
|
3
|
+
*
|
|
4
|
+
* It exists because a notification cannot answer the three questions that decide
|
|
5
|
+
* its behaviour on its own: where it sits in the stack, how deep it is buried,
|
|
6
|
+
* and whether it is the one that should be counting down. All three are
|
|
7
|
+
* properties of the group. The region owns the group, so it owns the answers.
|
|
8
|
+
*
|
|
9
|
+
* ## The deck
|
|
10
|
+
* Notifications sit on top of each other, the front one readable and the older
|
|
11
|
+
* ones peeking out below it, so a burst of messages takes the room of roughly
|
|
12
|
+
* one. The newest is in front and is the one counting down. Dismiss it and the
|
|
13
|
+
* one behind it is already standing there: it slides up into the place that
|
|
14
|
+
* came free and its message fades in, because it was there all along.
|
|
15
|
+
*
|
|
16
|
+
* ## Opening it
|
|
17
|
+
* Under the front notification sits a strip as wide as the deck and as tall as
|
|
18
|
+
* the deck is when it fans out. That strip is the handle: pointing at it fans
|
|
19
|
+
* the deck out to fill it, clicking it lays the deck out as a list. Moving
|
|
20
|
+
* focus into the region does the same, and clicking or tabbing away puts it
|
|
21
|
+
* back. Nothing counts down while the list is open, because open means someone
|
|
22
|
+
* is reading. The notification itself is not a button, so a click on the
|
|
23
|
+
* message you are reading does nothing, which is what it says it does.
|
|
24
|
+
*/
|
|
25
|
+
const REGION_ID = 'nldd-notification-region';
|
|
26
|
+
/** Past this a notification adds no edge of its own: it would sit exactly
|
|
27
|
+
* behind the last one that does, and stack another copy of the same shadow on
|
|
28
|
+
* the same spot. Three cards is enough to say "there is more". */
|
|
29
|
+
const MAX_DEPTH = 2;
|
|
30
|
+
let frontObserver = null;
|
|
31
|
+
let expanded = false;
|
|
32
|
+
function notifications(region) {
|
|
33
|
+
return Array.from(region.querySelectorAll(':scope > nldd-notification'));
|
|
34
|
+
}
|
|
35
|
+
function expander(region) {
|
|
36
|
+
return region.querySelector(':scope > [data-expander]');
|
|
37
|
+
}
|
|
38
|
+
function ensureRegion(label) {
|
|
39
|
+
const existing = document.getElementById(REGION_ID);
|
|
40
|
+
if (existing)
|
|
41
|
+
return existing;
|
|
42
|
+
const region = document.createElement('div');
|
|
43
|
+
region.id = REGION_ID;
|
|
44
|
+
// Styled here rather than in a stylesheet because this element is not a
|
|
45
|
+
// component: it is the one fixed place notifications land, and where that is
|
|
46
|
+
// deliberately cannot be set. Top right from md so it stays clear of the
|
|
47
|
+
// content, full width across the top below that, where there is no corner to
|
|
48
|
+
// spare. One grid cell holds every notification, so the deck stacks without
|
|
49
|
+
// any of them taking room of its own.
|
|
50
|
+
region.style.cssText = [
|
|
51
|
+
'box-sizing: border-box',
|
|
52
|
+
'position: fixed',
|
|
53
|
+
'z-index: 1000',
|
|
54
|
+
'top: max(var(--semantics-overlays-inset), env(safe-area-inset-top))',
|
|
55
|
+
'right: max(var(--semantics-overlays-inset), env(safe-area-inset-right))',
|
|
56
|
+
'left: auto',
|
|
57
|
+
'display: grid',
|
|
58
|
+
'align-items: start',
|
|
59
|
+
'pointer-events: none',
|
|
60
|
+
'max-height: calc(100dvh - 2 * var(--semantics-overlays-inset))',
|
|
61
|
+
].join(';');
|
|
62
|
+
// The stack itself catches no clicks, only the notifications in it, so the
|
|
63
|
+
// empty space beside them stays part of the page.
|
|
64
|
+
region.addEventListener('pointerdown', () => { }, { passive: true });
|
|
65
|
+
// Focus is the keyboard's way of reaching for the deck. Without this, tabbing
|
|
66
|
+
// would land on a button in a notification nobody can see.
|
|
67
|
+
region.addEventListener('focusin', () => setExpanded(region, true));
|
|
68
|
+
region.addEventListener('focusout', (e) => {
|
|
69
|
+
if (region.contains(e.relatedTarget))
|
|
70
|
+
return;
|
|
71
|
+
setExpanded(region, false);
|
|
72
|
+
});
|
|
73
|
+
// A live region so a notification is announced wherever it was written; the
|
|
74
|
+
// urgency itself comes from each notification's own role.
|
|
75
|
+
region.setAttribute('role', 'region');
|
|
76
|
+
region.setAttribute('aria-label', label);
|
|
77
|
+
region.appendChild(makeExpander(region));
|
|
78
|
+
document.body.appendChild(region);
|
|
79
|
+
return region;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The strip under the front notification. It covers the edges peeking out from
|
|
83
|
+
* behind it, which on their own are a few pixels tall and no target at all, and
|
|
84
|
+
* it stays exactly as tall as the deck is when it fans out, so what you point
|
|
85
|
+
* at is what you get.
|
|
86
|
+
*/
|
|
87
|
+
function makeExpander(region) {
|
|
88
|
+
const strip = document.createElement('div');
|
|
89
|
+
strip.dataset.expander = '';
|
|
90
|
+
strip.style.cssText = [
|
|
91
|
+
'position: absolute',
|
|
92
|
+
'z-index: 1000',
|
|
93
|
+
'top: 100%',
|
|
94
|
+
'right: 0',
|
|
95
|
+
'left: 0',
|
|
96
|
+
'display: none',
|
|
97
|
+
'height: var(--primitives-space-24)',
|
|
98
|
+
'pointer-events: auto',
|
|
99
|
+
].join(';');
|
|
100
|
+
strip.addEventListener('pointerenter', () => setFanned(region, true));
|
|
101
|
+
strip.addEventListener('pointerleave', () => setFanned(region, false));
|
|
102
|
+
strip.addEventListener('click', () => setExpanded(region, true));
|
|
103
|
+
return strip;
|
|
104
|
+
}
|
|
105
|
+
/** Newest in front: what just happened is what you want to read, and the older
|
|
106
|
+
* ones slide back and downwards behind it. */
|
|
107
|
+
export function joinRegion(notification, label) {
|
|
108
|
+
const region = ensureRegion(label);
|
|
109
|
+
notification.style.pointerEvents = 'auto';
|
|
110
|
+
region.prepend(notification);
|
|
111
|
+
syncStack(region);
|
|
112
|
+
}
|
|
113
|
+
export function leaveRegion(notification) {
|
|
114
|
+
const region = document.getElementById(REGION_ID);
|
|
115
|
+
if (!region)
|
|
116
|
+
return;
|
|
117
|
+
if (notification.parentElement === region)
|
|
118
|
+
region.removeChild(notification);
|
|
119
|
+
if (notifications(region).length === 0) {
|
|
120
|
+
stopWatchingFront();
|
|
121
|
+
document.removeEventListener('pointerdown', onDocumentPointerDown, true);
|
|
122
|
+
expanded = false;
|
|
123
|
+
region.remove();
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
syncStack(region);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Exactly one notification counts down: the front of the deck, and only while
|
|
130
|
+
* the deck is closed. The rest wait their turn, so nothing disappears from
|
|
131
|
+
* under the one you are reading. An error in front never leaves on its own, and
|
|
132
|
+
* holds the whole deck until it is dismissed.
|
|
133
|
+
*
|
|
134
|
+
* Closed, everything behind the front is cut to the front's height. Without
|
|
135
|
+
* that a taller notification would hang out from under a shorter one, and a
|
|
136
|
+
* shorter one would vanish behind a taller one, leaving a deck that says
|
|
137
|
+
* nothing about how much is in it.
|
|
138
|
+
*/
|
|
139
|
+
function syncStack(region) {
|
|
140
|
+
const items = notifications(region);
|
|
141
|
+
if (items.length < 2)
|
|
142
|
+
expanded = false;
|
|
143
|
+
region.style.display = expanded ? 'flex' : 'grid';
|
|
144
|
+
region.style.flexDirection = expanded ? 'column' : '';
|
|
145
|
+
region.style.gap = expanded ? 'var(--primitives-space-12)' : '';
|
|
146
|
+
expander(region).style.display = !expanded && items.length > 1 ? 'block' : 'none';
|
|
147
|
+
items.forEach((item, index) => {
|
|
148
|
+
item.style.gridArea = expanded ? '' : '1 / 1';
|
|
149
|
+
item.style.setProperty('--_stack-depth', expanded ? '0' : String(Math.min(index, MAX_DEPTH)));
|
|
150
|
+
// Closed, the front has to paint over the deck. Open, it is the other way
|
|
151
|
+
// round: each notification covers the shadow of the one above it, so no
|
|
152
|
+
// shadow lands on a notification instead of on the page.
|
|
153
|
+
item.style.zIndex = String(expanded ? index + 1 : items.length - index);
|
|
154
|
+
item.style.visibility = !expanded && index > MAX_DEPTH ? 'hidden' : '';
|
|
155
|
+
item._setFront?.(!expanded && index === 0);
|
|
156
|
+
});
|
|
157
|
+
if (expanded) {
|
|
158
|
+
stopWatchingFront();
|
|
159
|
+
items.forEach((item) => { item.style.height = ''; });
|
|
160
|
+
applyOverflow(region);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
applyOverflow(region);
|
|
164
|
+
watchFront(region, items[0]);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* A list longer than the screen it opened on has to scroll, because a message
|
|
168
|
+
* you cannot reach is a message you do not have. It only scrolls then: a scroll
|
|
169
|
+
* box clips, and what it would clip is the shadow every notification stands on.
|
|
170
|
+
*/
|
|
171
|
+
function applyOverflow(region) {
|
|
172
|
+
// Measure unclipped, which means putting it back first.
|
|
173
|
+
setScrolling(region, false);
|
|
174
|
+
if (!expanded)
|
|
175
|
+
return;
|
|
176
|
+
if (region.scrollHeight <= region.clientHeight)
|
|
177
|
+
return;
|
|
178
|
+
setScrolling(region, true);
|
|
179
|
+
}
|
|
180
|
+
function setScrolling(region, on) {
|
|
181
|
+
const inset = 'var(--semantics-overlays-inset)';
|
|
182
|
+
const shadow = 'var(--primitives-space-48)';
|
|
183
|
+
region.style.overflow = on ? 'auto' : '';
|
|
184
|
+
region.style.overscrollBehavior = on ? 'contain' : '';
|
|
185
|
+
// Room inside the scroll box for the shadow, taken straight back off the
|
|
186
|
+
// outside again, so nothing moves when the list starts to scroll. Left and
|
|
187
|
+
// below it needs the reach of the shadow itself; above and to the right the
|
|
188
|
+
// box lands on the edge of the screen, where a clip and a shadow running off
|
|
189
|
+
// the screen look the same.
|
|
190
|
+
region.style.padding = on ? `${inset} ${inset} ${shadow} ${shadow}` : '';
|
|
191
|
+
region.style.margin = on ? `calc(-1 * ${inset}) calc(-1 * ${inset}) 0 calc(-1 * ${shadow})` : '';
|
|
192
|
+
region.style.maxHeight = on ? '100dvh' : `calc(100dvh - 2 * ${inset})`;
|
|
193
|
+
}
|
|
194
|
+
function setExpanded(region, next) {
|
|
195
|
+
if (expanded === next)
|
|
196
|
+
return;
|
|
197
|
+
if (next && notifications(region).length < 2)
|
|
198
|
+
return;
|
|
199
|
+
expanded = next;
|
|
200
|
+
if (next) {
|
|
201
|
+
setFanned(region, false);
|
|
202
|
+
document.addEventListener('pointerdown', onDocumentPointerDown, true);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
document.removeEventListener('pointerdown', onDocumentPointerDown, true);
|
|
206
|
+
}
|
|
207
|
+
syncStack(region);
|
|
208
|
+
}
|
|
209
|
+
function onDocumentPointerDown(e) {
|
|
210
|
+
const region = document.getElementById(REGION_ID);
|
|
211
|
+
if (!region)
|
|
212
|
+
return;
|
|
213
|
+
if (e.composedPath().includes(region))
|
|
214
|
+
return;
|
|
215
|
+
setExpanded(region, false);
|
|
216
|
+
}
|
|
217
|
+
/** Pointing at the strip fans the deck out until it fills it. It is the only
|
|
218
|
+
* thing saying there is more here than the one message you can read. */
|
|
219
|
+
function setFanned(region, on) {
|
|
220
|
+
notifications(region).forEach((item) => {
|
|
221
|
+
item.style.setProperty('--_stack-fanned', on ? '1' : '0');
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
function watchFront(region, front) {
|
|
225
|
+
stopWatchingFront();
|
|
226
|
+
if (!front)
|
|
227
|
+
return;
|
|
228
|
+
// Not just once: the front notification is a live element whose height moves
|
|
229
|
+
// with its own text, and the deck behind it has to follow.
|
|
230
|
+
if (typeof ResizeObserver !== 'undefined') {
|
|
231
|
+
frontObserver = new ResizeObserver(() => cutToFront(region, front.offsetHeight));
|
|
232
|
+
frontObserver.observe(front);
|
|
233
|
+
}
|
|
234
|
+
cutToFront(region, front.offsetHeight);
|
|
235
|
+
}
|
|
236
|
+
function stopWatchingFront() {
|
|
237
|
+
frontObserver?.disconnect();
|
|
238
|
+
frontObserver = null;
|
|
239
|
+
}
|
|
240
|
+
function cutToFront(region, height) {
|
|
241
|
+
notifications(region).forEach((item, index) => {
|
|
242
|
+
item.style.height = index === 0 ? '' : `${height}px`;
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=notification-region.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-region.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification-region.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
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
|
+
import { LitElement, type PropertyValues } from 'lit';
|
|
60
|
+
import '../../content/icon/icon.js';
|
|
61
|
+
import '../../actions/icon-button/icon-button.js';
|
|
62
|
+
export type NotificationVariant = 'neutral' | 'accent' | 'success' | 'warning' | 'critical';
|
|
63
|
+
declare const NLDDNotification_base: (abstract new (...args: any[]) => LitElement & {
|
|
64
|
+
translations: Partial<{
|
|
65
|
+
'components.notification.dismiss-action': string;
|
|
66
|
+
'components.notification.region-label': string;
|
|
67
|
+
}>;
|
|
68
|
+
_t(key: "components.notification.dismiss-action" | "components.notification.region-label", vars?: Record<string, string | number>): string;
|
|
69
|
+
}) & typeof LitElement;
|
|
70
|
+
export declare class NLDDNotification extends NLDDNotification_base {
|
|
71
|
+
static styles: import("lit").CSSResult;
|
|
72
|
+
variant: NotificationVariant;
|
|
73
|
+
icon: string;
|
|
74
|
+
text: string;
|
|
75
|
+
supportingText: string;
|
|
76
|
+
duration: number;
|
|
77
|
+
_hasActions: boolean;
|
|
78
|
+
/** Set by the region: true for the front of the deck, the only one that runs
|
|
79
|
+
* its clock. */
|
|
80
|
+
private _isFront;
|
|
81
|
+
private _timer;
|
|
82
|
+
/** When the running timeout was scheduled, so a pause can work out what is
|
|
83
|
+
* left of it. */
|
|
84
|
+
private _timerStartedAt;
|
|
85
|
+
/** Remembered from the events rather than read back from the browser with
|
|
86
|
+
* `:hover`: what an engine reports about a stationary pointer over a fixed
|
|
87
|
+
* spot differs per engine and per platform. */
|
|
88
|
+
private _pointerInside;
|
|
89
|
+
private _focusInside;
|
|
90
|
+
/** Moving into the region disconnects and reconnects this element. Without
|
|
91
|
+
* this the leave-handler would tear down the very region we are joining. */
|
|
92
|
+
private _moving;
|
|
93
|
+
/** What is left of `duration`, so a pause resumes rather than restarts. */
|
|
94
|
+
private _remainingDuration;
|
|
95
|
+
get _resolvedIcon(): string;
|
|
96
|
+
/** `critical` ignores any duration: a failure stays until it is read. */
|
|
97
|
+
private get _leavesOnItsOwn();
|
|
98
|
+
connectedCallback(): void;
|
|
99
|
+
disconnectedCallback(): void;
|
|
100
|
+
willUpdate(changed: PropertyValues): void;
|
|
101
|
+
/** Called by the region. Starting the clock here rather than on connect is
|
|
102
|
+
* the whole point: a notification three deep in the deck is not counting. */
|
|
103
|
+
_setFront(isFront: boolean): void;
|
|
104
|
+
_onActionsSlotChange: (e: Event) => void;
|
|
105
|
+
/** A move rather than an enter. A notification arrives at a fixed spot on the
|
|
106
|
+
* screen, so the browser hit-tests whatever happens to be under the pointer
|
|
107
|
+
* and fires a genuine pointerenter without the pointer having moved. Taking
|
|
108
|
+
* that as hover parks the clock forever for anyone whose cursor happens to
|
|
109
|
+
* rest in that corner, because the pointerleave that would release it never
|
|
110
|
+
* comes. A move is someone pointing at it; sitting still is not. */
|
|
111
|
+
private _onPointerMove;
|
|
112
|
+
private _onPointerLeave;
|
|
113
|
+
private _onFocusIn;
|
|
114
|
+
private _onFocusOut;
|
|
115
|
+
private _resumeTimer;
|
|
116
|
+
/** Clears the running timeout and banks what is left of the duration. */
|
|
117
|
+
private _clearTimer;
|
|
118
|
+
private _onKeyDown;
|
|
119
|
+
_handleDismiss: () => void;
|
|
120
|
+
private _dismiss;
|
|
121
|
+
render(): import("lit-html").TemplateResult;
|
|
122
|
+
}
|
|
123
|
+
declare global {
|
|
124
|
+
interface HTMLElementTagNameMap {
|
|
125
|
+
'nldd-notification': NLDDNotification;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
export {};
|
|
129
|
+
//# sourceMappingURL=notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAQtD,OAAO,4BAA4B,CAAC;AACpC,OAAO,0CAA0C,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;;;;;;;;AAY5F,qBACa,gBAAiB,SAAQ,qBAA0D;IAC/F,OAAgB,MAAM,0BAAsB;IAG5C,OAAO,EAAE,mBAAmB,CAAa;IAGzC,IAAI,SAAM;IAGV,IAAI,SAAM;IAGV,cAAc,SAAM;IAGpB,QAAQ,SAAoB;IAG5B,WAAW,UAAS;IAEpB;qBACiB;IAEjB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,MAAM,CAAuB;IAErC;sBACkB;IAClB,OAAO,CAAC,eAAe,CAAK;IAE5B;;oDAEgD;IAChD,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,YAAY,CAAS;IAE7B;iFAC6E;IAC7E,OAAO,CAAC,OAAO,CAAS;IAExB,2EAA2E;IAC3E,OAAO,CAAC,kBAAkB,CAAoB;IAE9C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,yEAAyE;IACzE,OAAO,KAAK,eAAe,GAE1B;IAEQ,iBAAiB,IAAI,IAAI;IAsBzB,oBAAoB,IAAI,IAAI;IAY5B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQlD;kFAC8E;IAC9E,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAOjC,oBAAoB,GAAI,GAAG,KAAK,KAAG,IAAI,CASrC;IAEF;;;;;yEAKqE;IACrE,OAAO,CAAC,cAAc,CAIpB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,UAAU,CAGhB;IAEF,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,yEAAyE;IACzE,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,UAAU,CAIhB;IAEF,cAAc,QAAO,IAAI,CAEvB;IAEF,OAAO,CAAC,QAAQ;IAKP,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,gBAAgB,CAAC;KACtC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const nlddNotificationTranslations: {
|
|
2
|
+
'components.notification.dismiss-action': string;
|
|
3
|
+
'components.notification.region-label': string;
|
|
4
|
+
};
|
|
5
|
+
export type NLDDNotificationTranslations = typeof nlddNotificationTranslations;
|
|
6
|
+
//# sourceMappingURL=notification.i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;CAGxC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.i18n.js","sourceRoot":"","sources":["../../../../src/components/status-and-feedback/notification/notification.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C,wCAAwC,EAAE,OAAO;IACjD,sCAAsC,EAAE,WAAW;CACnD,CAAC"}
|