@nldd/design-system 0.8.79 → 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-BMeSmtdw.js → index-8pDDdMeW.js} +1 -1
- package/dist/components/{index-CdOU-HVN.js → index-C7QocEcT.js} +1 -1
- package/dist/components/{index-CwmDMN6X.js → index-CDz7-C9c.js} +1 -1
- package/dist/components/{index-Bonuul3m.js → index-CWQunWUb.js} +54098 -52525
- package/dist/components/{index--8_4HvE9.js → index-CoY3JfIy.js} +1 -1
- package/dist/components/{index-CqhFJR7l.js → index-DP9dl7P7.js} +1 -1
- package/dist/components/{index-yX0V7C44.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 +8379 -7591
- 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 +33 -22
- 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,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLDD Design System Avatar Group Component (Lit + TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* Shows several avatars as one group: they overlap, and each one gets a ring in
|
|
5
|
+
* the surface color so they stay apart where they meet. The ring uses the same
|
|
6
|
+
* mechanism as the badge, so on a colored surface you hand the color over
|
|
7
|
+
* through `--context-parent-background-color`.
|
|
8
|
+
*
|
|
9
|
+
* Slot `nldd-avatar` elements, not bare `img`. An avatar already knows what to
|
|
10
|
+
* do with a dead image, when to fall back to initials, and how to show its name
|
|
11
|
+
* as a tooltip; a loose image would have to reproduce all of that and cannot do
|
|
12
|
+
* the last one. Set `decorative` when the names already stand beside the group
|
|
13
|
+
* as text; otherwise give every avatar a name, because the group itself
|
|
14
|
+
* describes nobody.
|
|
15
|
+
*
|
|
16
|
+
* The size applies to the whole group: it is imposed on the avatars, a slotted
|
|
17
|
+
* `img` included. That keeps the row on one line whatever a consumer hands over.
|
|
18
|
+
*
|
|
19
|
+
* @element nldd-avatar-group
|
|
20
|
+
*
|
|
21
|
+
* @attr {string} size - Diameter of each avatar in px (spacer-aligned: 16, 20, 24, 28, 32, 40, 44, 48, 56, 64, 80, 96); default 40
|
|
22
|
+
* @attr {number} max - Shows at most this many avatars; the rest go behind a "+N" button that opens them as a list of names
|
|
23
|
+
* @attr {string} accessible-label - Describes the group as a whole (e.g. "Editors"); without a label the group is not a landmark of its own and the avatars speak for themselves
|
|
24
|
+
*
|
|
25
|
+
* @slot - One or more `nldd-avatar` elements
|
|
26
|
+
*/
|
|
27
|
+
import { LitElement } from 'lit';
|
|
28
|
+
import '../avatar/avatar.js';
|
|
29
|
+
import '../../layout/popover/popover.js';
|
|
30
|
+
import '../../layout/container/container.js';
|
|
31
|
+
import '../../lists-and-tables/list/list.js';
|
|
32
|
+
import '../../lists-and-tables/list-item/list-item.js';
|
|
33
|
+
import '../../lists-and-tables/cells/cell/cell.js';
|
|
34
|
+
import '../../lists-and-tables/cells/text-cell/text-cell.js';
|
|
35
|
+
import '../../lists-and-tables/cells/spacer-cell/spacer-cell.js';
|
|
36
|
+
declare const NLDDAvatarGroup_base: (abstract new (...args: any[]) => LitElement & {
|
|
37
|
+
translations: Partial<{
|
|
38
|
+
'components.avatar-group.overflow-label': string;
|
|
39
|
+
'components.avatar-group.overflow-popover-label': string;
|
|
40
|
+
}>;
|
|
41
|
+
_t(key: "components.avatar-group.overflow-label" | "components.avatar-group.overflow-popover-label", vars?: Record<string, string | number>): string;
|
|
42
|
+
}) & typeof LitElement;
|
|
43
|
+
export declare class NLDDAvatarGroup extends NLDDAvatarGroup_base {
|
|
44
|
+
static styles: import("lit").CSSResult;
|
|
45
|
+
size: string;
|
|
46
|
+
max: number | undefined;
|
|
47
|
+
accessibleLabel: string;
|
|
48
|
+
/** The avatars past `max`, each as a copy plus the name it carries. Copies,
|
|
49
|
+
* because the originals are the consumer's light DOM and are already
|
|
50
|
+
* assigned to the slot: a node can only be in one place. */
|
|
51
|
+
_overflow: {
|
|
52
|
+
avatar: Element;
|
|
53
|
+
name: string;
|
|
54
|
+
}[];
|
|
55
|
+
/** How many avatars are slotted. Kept in state so the generated rules can be
|
|
56
|
+
* written after every render: slotchange can beat the first render, and
|
|
57
|
+
* then the style element they go in does not exist yet. */
|
|
58
|
+
_total: number;
|
|
59
|
+
/** The trigger and its popover have to agree on an id, and two groups on a
|
|
60
|
+
* page must not open each other's list. */
|
|
61
|
+
private readonly _id;
|
|
62
|
+
get _popoverId(): string;
|
|
63
|
+
get _triggerId(): string;
|
|
64
|
+
/** Not guaranteed: a decorative avatar beside a name in the text carries
|
|
65
|
+
* none, and then the row simply has no name to show. */
|
|
66
|
+
private _nameOf;
|
|
67
|
+
/** The avatars as slotted, kept so a change to `max` can recompute without
|
|
68
|
+
* waiting for a slotchange that will not come. */
|
|
69
|
+
private _assigned;
|
|
70
|
+
willUpdate(changed: Map<string, unknown>): void;
|
|
71
|
+
_onSlotChange: (e: Event) => void;
|
|
72
|
+
private _recompute;
|
|
73
|
+
/** Two things ::slotted() cannot express without knowing the count: hiding
|
|
74
|
+
* everything past `max`, and stacking the row so the first avatar lies on
|
|
75
|
+
* top of the second and so on down to the overflow button. Generated as a
|
|
76
|
+
* rule rather than as attributes, because the avatars are the consumer's
|
|
77
|
+
* light DOM and nth-child() cannot read a custom property. */
|
|
78
|
+
private _syncGeneratedRules;
|
|
79
|
+
/** The popover resolves its anchor by id against the document, and an id in
|
|
80
|
+
* a shadow root is not there. Hand it the element instead. */
|
|
81
|
+
updated(): void;
|
|
82
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
83
|
+
}
|
|
84
|
+
declare global {
|
|
85
|
+
interface HTMLElementTagNameMap {
|
|
86
|
+
'nldd-avatar-group': NLDDAvatarGroup;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export {};
|
|
90
|
+
//# sourceMappingURL=avatar-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.d.ts","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iCAAiC,CAAC;AACzC,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qDAAqD,CAAC;AAC7D,OAAO,yDAAyD,CAAC;;;;;;;;AAIjE,qBACa,eAAgB,SAAQ,oBAAyD;IAC7F,OAAgB,MAAM,0BAAqB;IAG3C,IAAI,SAAQ;IAGZ,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAGpC,eAAe,SAAM;IAErB;;iEAE6D;IAE7D,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAEpD;;gEAE4D;IAE5D,MAAM,SAAK;IAEX;gDAC4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0C;IAE9D,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;6DACyD;IACzD,OAAO,CAAC,OAAO;IAIf;uDACmD;IACnD,OAAO,CAAC,SAAS,CAAiB;IAEzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIxD,aAAa,GAAI,GAAG,KAAK,KAAG,IAAI,CAG9B;IAEF,OAAO,CAAC,UAAU;IAiClB;;;;mEAI+D;IAC/D,OAAO,CAAC,mBAAmB;IAe3B;mEAC+D;IACtD,OAAO,IAAI,IAAI;IASf,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,mBAAmB,EAAE,eAAe,CAAC;KACrC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const nlddAvatarGroupTranslations: {
|
|
2
|
+
'components.avatar-group.overflow-label': string;
|
|
3
|
+
'components.avatar-group.overflow-popover-label': string;
|
|
4
|
+
};
|
|
5
|
+
export type NLDDAvatarGroupTranslations = typeof nlddAvatarGroupTranslations;
|
|
6
|
+
//# sourceMappingURL=avatar-group.i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;CAGvC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.i18n.js","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IAC1C,wCAAwC,EAAE,mBAAmB;IAC7D,gDAAgD,EAAE,eAAe;CACjE,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NLDD Design System Avatar Group Component (Lit + TypeScript)
|
|
3
|
+
*
|
|
4
|
+
* Shows several avatars as one group: they overlap, and each one gets a ring in
|
|
5
|
+
* the surface color so they stay apart where they meet. The ring uses the same
|
|
6
|
+
* mechanism as the badge, so on a colored surface you hand the color over
|
|
7
|
+
* through `--context-parent-background-color`.
|
|
8
|
+
*
|
|
9
|
+
* Slot `nldd-avatar` elements, not bare `img`. An avatar already knows what to
|
|
10
|
+
* do with a dead image, when to fall back to initials, and how to show its name
|
|
11
|
+
* as a tooltip; a loose image would have to reproduce all of that and cannot do
|
|
12
|
+
* the last one. Set `decorative` when the names already stand beside the group
|
|
13
|
+
* as text; otherwise give every avatar a name, because the group itself
|
|
14
|
+
* describes nobody.
|
|
15
|
+
*
|
|
16
|
+
* The size applies to the whole group: it is imposed on the avatars, a slotted
|
|
17
|
+
* `img` included. That keeps the row on one line whatever a consumer hands over.
|
|
18
|
+
*
|
|
19
|
+
* @element nldd-avatar-group
|
|
20
|
+
*
|
|
21
|
+
* @attr {string} size - Diameter of each avatar in px (spacer-aligned: 16, 20, 24, 28, 32, 40, 44, 48, 56, 64, 80, 96); default 40
|
|
22
|
+
* @attr {number} max - Shows at most this many avatars; the rest go behind a "+N" button that opens them as a list of names
|
|
23
|
+
* @attr {string} accessible-label - Describes the group as a whole (e.g. "Editors"); without a label the group is not a landmark of its own and the avatars speak for themselves
|
|
24
|
+
*
|
|
25
|
+
* @slot - One or more `nldd-avatar` elements
|
|
26
|
+
*/
|
|
27
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
28
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
29
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
30
|
+
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;
|
|
31
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
32
|
+
};
|
|
33
|
+
import { LitElement } from 'lit';
|
|
34
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
35
|
+
import { avatarGroupStyles } from './avatar-group.styles.js';
|
|
36
|
+
import { avatarGroupTemplate } from './avatar-group.template.js';
|
|
37
|
+
import '../avatar/avatar.js';
|
|
38
|
+
import '../../layout/popover/popover.js';
|
|
39
|
+
import '../../layout/container/container.js';
|
|
40
|
+
import '../../lists-and-tables/list/list.js';
|
|
41
|
+
import '../../lists-and-tables/list-item/list-item.js';
|
|
42
|
+
import '../../lists-and-tables/cells/cell/cell.js';
|
|
43
|
+
import '../../lists-and-tables/cells/text-cell/text-cell.js';
|
|
44
|
+
import '../../lists-and-tables/cells/spacer-cell/spacer-cell.js';
|
|
45
|
+
import { withTranslations } from '../../../utilities/with-translations.js';
|
|
46
|
+
import { nlddAvatarGroupTranslations } from './avatar-group.i18n.js';
|
|
47
|
+
let NLDDAvatarGroup = class NLDDAvatarGroup extends withTranslations(LitElement, nlddAvatarGroupTranslations) {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
this.size = '40';
|
|
51
|
+
this.max = undefined;
|
|
52
|
+
this.accessibleLabel = '';
|
|
53
|
+
/** The avatars past `max`, each as a copy plus the name it carries. Copies,
|
|
54
|
+
* because the originals are the consumer's light DOM and are already
|
|
55
|
+
* assigned to the slot: a node can only be in one place. */
|
|
56
|
+
this._overflow = [];
|
|
57
|
+
/** How many avatars are slotted. Kept in state so the generated rules can be
|
|
58
|
+
* written after every render: slotchange can beat the first render, and
|
|
59
|
+
* then the style element they go in does not exist yet. */
|
|
60
|
+
this._total = 0;
|
|
61
|
+
/** The trigger and its popover have to agree on an id, and two groups on a
|
|
62
|
+
* page must not open each other's list. */
|
|
63
|
+
this._id = Math.random().toString(36).slice(2, 9);
|
|
64
|
+
/** The avatars as slotted, kept so a change to `max` can recompute without
|
|
65
|
+
* waiting for a slotchange that will not come. */
|
|
66
|
+
this._assigned = [];
|
|
67
|
+
this._onSlotChange = (e) => {
|
|
68
|
+
this._assigned = e.target.assignedElements();
|
|
69
|
+
this._recompute();
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
get _popoverId() {
|
|
73
|
+
return `avatar-group-overflow-${this._id}`;
|
|
74
|
+
}
|
|
75
|
+
get _triggerId() {
|
|
76
|
+
return `avatar-group-trigger-${this._id}`;
|
|
77
|
+
}
|
|
78
|
+
/** Not guaranteed: a decorative avatar beside a name in the text carries
|
|
79
|
+
* none, and then the row simply has no name to show. */
|
|
80
|
+
_nameOf(el) {
|
|
81
|
+
return el.getAttribute('name') || '';
|
|
82
|
+
}
|
|
83
|
+
willUpdate(changed) {
|
|
84
|
+
if (changed.has('max'))
|
|
85
|
+
this._recompute();
|
|
86
|
+
}
|
|
87
|
+
_recompute() {
|
|
88
|
+
const assigned = this._assigned;
|
|
89
|
+
if (import.meta.env?.DEV) {
|
|
90
|
+
const strays = assigned.filter(el => el.localName !== 'nldd-avatar');
|
|
91
|
+
if (strays.length > 0) {
|
|
92
|
+
console.warn(`[nldd-avatar-group] slot an nldd-avatar rather than <${strays[0].localName}>: `
|
|
93
|
+
+ 'the group sizes, stacks and rings its avatars, and only an nldd-avatar '
|
|
94
|
+
+ 'carries the name that the tooltip and the overflow list read.');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const { max } = this;
|
|
98
|
+
const hidden = typeof max === 'number' && max > 0 && assigned.length > max
|
|
99
|
+
? assigned.slice(max)
|
|
100
|
+
: [];
|
|
101
|
+
this._overflow = hidden.map(node => {
|
|
102
|
+
const avatar = node.cloneNode(true);
|
|
103
|
+
// The copy is a picture beside its own name, so it says nothing on
|
|
104
|
+
// its own; the row's text is the accessible content. It also gets a
|
|
105
|
+
// row-sized diameter: outside the group nothing constrains it, and
|
|
106
|
+
// an avatar without a size fills its container, which in a cell is
|
|
107
|
+
// nothing at all. Big enough to read the initials, small enough to
|
|
108
|
+
// keep the row a row.
|
|
109
|
+
avatar.setAttribute('decorative', '');
|
|
110
|
+
avatar.setAttribute('tooltip-timing', 'never');
|
|
111
|
+
avatar.setAttribute('size', '32');
|
|
112
|
+
avatar.removeAttribute('slot');
|
|
113
|
+
return { avatar, name: this._nameOf(node) };
|
|
114
|
+
});
|
|
115
|
+
this._total = assigned.length;
|
|
116
|
+
}
|
|
117
|
+
/** Two things ::slotted() cannot express without knowing the count: hiding
|
|
118
|
+
* everything past `max`, and stacking the row so the first avatar lies on
|
|
119
|
+
* top of the second and so on down to the overflow button. Generated as a
|
|
120
|
+
* rule rather than as attributes, because the avatars are the consumer's
|
|
121
|
+
* light DOM and nth-child() cannot read a custom property. */
|
|
122
|
+
_syncGeneratedRules() {
|
|
123
|
+
const sheet = this.shadowRoot?.querySelector('#generated-rules');
|
|
124
|
+
if (!sheet)
|
|
125
|
+
return;
|
|
126
|
+
const total = this._total;
|
|
127
|
+
const hide = this._overflow.length > 0 && typeof this.max === 'number'
|
|
128
|
+
? `.avatar-group ::slotted(:nth-child(n + ${this.max + 1})) { display: none; }`
|
|
129
|
+
: '';
|
|
130
|
+
// Descending, so the leftmost avatar is the whole one and each next is
|
|
131
|
+
// tucked under it — the row reads as a stack you look at from the left,
|
|
132
|
+
// and the overflow button ends up at the bottom of it.
|
|
133
|
+
const stack = Array.from({ length: total }, (_, i) => `.avatar-group ::slotted(:nth-child(${i + 1})) { z-index: ${total - i}; }`).join('\n');
|
|
134
|
+
sheet.textContent = `${hide}\n${stack}`;
|
|
135
|
+
}
|
|
136
|
+
/** The popover resolves its anchor by id against the document, and an id in
|
|
137
|
+
* a shadow root is not there. Hand it the element instead. */
|
|
138
|
+
updated() {
|
|
139
|
+
this._syncGeneratedRules();
|
|
140
|
+
const popover = this.shadowRoot?.querySelector('nldd-popover');
|
|
141
|
+
const trigger = this.shadowRoot?.querySelector('.avatar-group__overflow-button') ?? null;
|
|
142
|
+
if (popover && popover.anchorElement !== trigger)
|
|
143
|
+
popover.anchorElement = trigger;
|
|
144
|
+
}
|
|
145
|
+
render() {
|
|
146
|
+
return avatarGroupTemplate(this);
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
NLDDAvatarGroup.styles = avatarGroupStyles;
|
|
150
|
+
__decorate([
|
|
151
|
+
property({ type: String, reflect: true })
|
|
152
|
+
], NLDDAvatarGroup.prototype, "size", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
property({ type: Number, reflect: true })
|
|
155
|
+
], NLDDAvatarGroup.prototype, "max", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
property({ type: String, attribute: 'accessible-label' })
|
|
158
|
+
], NLDDAvatarGroup.prototype, "accessibleLabel", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
state()
|
|
161
|
+
], NLDDAvatarGroup.prototype, "_overflow", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
state()
|
|
164
|
+
], NLDDAvatarGroup.prototype, "_total", void 0);
|
|
165
|
+
NLDDAvatarGroup = __decorate([
|
|
166
|
+
customElement('nldd-avatar-group')
|
|
167
|
+
], NLDDAvatarGroup);
|
|
168
|
+
export { NLDDAvatarGroup };
|
|
169
|
+
//# sourceMappingURL=avatar-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.js","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAiI7B,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const avatarGroupStyles = css `
|
|
3
|
+
:host {
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
/* # Host */
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
--_avatar-size: var(--primitives-space-40);
|
|
12
|
+
--_overlap-size: var(--primitives-space-8);
|
|
13
|
+
--_ring-width: var(--primitives-border-width-regular);
|
|
14
|
+
--_ring-color: var(--context-parent-background-color, var(--semantics-surfaces-base-background-color));
|
|
15
|
+
--_corner-radius: var(--primitives-corner-radius-full);
|
|
16
|
+
--_overflow-background-color: light-dark(var(--primitives-color-neutral-25), var(--primitives-color-neutral-150));
|
|
17
|
+
--_overflow-hover-background-color: light-dark(var(--primitives-color-neutral-50), var(--primitives-color-neutral-200));
|
|
18
|
+
--_overflow-content-color: var(--semantics-content-secondary-color);
|
|
19
|
+
--_overflow-font: var(--primitives-font-body-xs-medium-flat);
|
|
20
|
+
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
vertical-align: middle;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host([hidden]) {
|
|
26
|
+
display: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/* ## Size */
|
|
31
|
+
|
|
32
|
+
:host([size="16"]) { --_avatar-size: var(--primitives-space-16); }
|
|
33
|
+
:host([size="20"]) { --_avatar-size: var(--primitives-space-20); }
|
|
34
|
+
:host([size="24"]) { --_avatar-size: var(--primitives-space-24); }
|
|
35
|
+
:host([size="28"]) { --_avatar-size: var(--primitives-space-28); }
|
|
36
|
+
:host([size="32"]) { --_avatar-size: var(--primitives-space-32); }
|
|
37
|
+
:host([size="44"]) { --_avatar-size: var(--primitives-space-44); }
|
|
38
|
+
:host([size="48"]) { --_avatar-size: var(--primitives-space-48); }
|
|
39
|
+
:host([size="56"]) { --_avatar-size: var(--primitives-space-56); }
|
|
40
|
+
:host([size="64"]) { --_avatar-size: var(--primitives-space-64); }
|
|
41
|
+
:host([size="80"]) { --_avatar-size: var(--primitives-space-80); }
|
|
42
|
+
:host([size="96"]) { --_avatar-size: var(--primitives-space-96); }
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
/* A smaller avatar needs less overlap to read as a group, so the small
|
|
46
|
+
sizes step down with it. */
|
|
47
|
+
|
|
48
|
+
:host([size="16"]),
|
|
49
|
+
:host([size="20"]),
|
|
50
|
+
:host([size="24"]) {
|
|
51
|
+
--_overlap-size: var(--primitives-space-4);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
/* # Group */
|
|
56
|
+
|
|
57
|
+
.avatar-group {
|
|
58
|
+
display: flex;
|
|
59
|
+
padding-inline-start: var(--_overlap-size);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
/* # Overflow
|
|
64
|
+
|
|
65
|
+
A step away from the surface rather than towards it: it is the one disc
|
|
66
|
+
that holds no face, and it has to stay a disc. In light that means one
|
|
67
|
+
step down from the avatar fill; in dark the scale runs the other way, so
|
|
68
|
+
it is one step up from the surface instead — a darker disc would sink
|
|
69
|
+
into the page. */
|
|
70
|
+
|
|
71
|
+
.avatar-group__overflow-button {
|
|
72
|
+
appearance: none;
|
|
73
|
+
box-sizing: border-box;
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
position: relative;
|
|
76
|
+
z-index: 0;
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
margin-inline-start: calc(-1 * var(--_overlap-size));
|
|
79
|
+
border: none;
|
|
80
|
+
border-radius: var(--_corner-radius);
|
|
81
|
+
box-shadow: 0 0 0 var(--_ring-width) var(--_ring-color);
|
|
82
|
+
background-color: var(--_overflow-background-color);
|
|
83
|
+
width: var(--_avatar-size);
|
|
84
|
+
height: var(--_avatar-size);
|
|
85
|
+
padding: 0;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
color: var(--_overflow-content-color);
|
|
89
|
+
font: var(--_overflow-font);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* The smallest step the neutral scale has, one notch off the resting fill.
|
|
93
|
+
No semantic hover token fits: the button-hover colours are meant for a
|
|
94
|
+
control that already looks like a button, and here they read as a jump.
|
|
95
|
+
It only has to confirm that this disc is clickable. */
|
|
96
|
+
.avatar-group__overflow-button:hover {
|
|
97
|
+
background-color: var(--_overflow-hover-background-color);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.avatar-group__overflow-button:focus-visible {
|
|
101
|
+
outline: var(--semantics-focus-ring-outline);
|
|
102
|
+
outline-offset: var(--semantics-focus-ring-outline-offset);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
/* # Avatars
|
|
107
|
+
|
|
108
|
+
A slotted avatar can't be wrapped, so the group sizes it here. The ring
|
|
109
|
+
is a box-shadow rather than a border: it sits outside the shape without
|
|
110
|
+
changing the diameter, so overlap stays exact. */
|
|
111
|
+
|
|
112
|
+
/* !important: nldd-avatar sizes itself from :host([size]) in its own shadow
|
|
113
|
+
tree, and a tree's own rules beat an outer ::slotted() of equal weight. */
|
|
114
|
+
.avatar-group ::slotted(nldd-avatar) {
|
|
115
|
+
position: relative;
|
|
116
|
+
flex-shrink: 0;
|
|
117
|
+
margin-inline-start: calc(-1 * var(--_overlap-size));
|
|
118
|
+
border-radius: var(--_corner-radius);
|
|
119
|
+
box-shadow: 0 0 0 var(--_ring-width) var(--_ring-color);
|
|
120
|
+
width: var(--_avatar-size) !important;
|
|
121
|
+
height: var(--_avatar-size) !important;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* A box-shadow does not paint in forced colors, so the separation comes
|
|
125
|
+
back as a real border there. */
|
|
126
|
+
@media (forced-colors: active) {
|
|
127
|
+
.avatar-group ::slotted(nldd-avatar) {
|
|
128
|
+
border: var(--_ring-width) solid Canvas;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
`;
|
|
132
|
+
//# sourceMappingURL=avatar-group.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.styles.js","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiInC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.template.d.ts","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,wCAgD7D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { html, nothing } from 'lit';
|
|
2
|
+
export function avatarGroupTemplate(component) {
|
|
3
|
+
const overflow = component._overflow;
|
|
4
|
+
const label = component._t('components.avatar-group.overflow-label')
|
|
5
|
+
.replace('{count}', String(overflow.length));
|
|
6
|
+
return html `
|
|
7
|
+
<style id="generated-rules"></style>
|
|
8
|
+
<div class="avatar-group"
|
|
9
|
+
role=${component.accessibleLabel ? 'group' : nothing}
|
|
10
|
+
aria-label=${component.accessibleLabel || nothing}
|
|
11
|
+
>
|
|
12
|
+
<slot @slotchange=${component._onSlotChange}></slot>
|
|
13
|
+
${overflow.length > 0 ? html `
|
|
14
|
+
<button class="avatar-group__overflow-button"
|
|
15
|
+
id=${component._triggerId}
|
|
16
|
+
type="button"
|
|
17
|
+
aria-label=${label}
|
|
18
|
+
popovertarget=${component._popoverId}
|
|
19
|
+
>
|
|
20
|
+
+${overflow.length}
|
|
21
|
+
</button>
|
|
22
|
+
` : nothing}
|
|
23
|
+
</div>
|
|
24
|
+
${overflow.length > 0 ? html `
|
|
25
|
+
<nldd-popover
|
|
26
|
+
id=${component._popoverId}
|
|
27
|
+
anchor=${component._triggerId}
|
|
28
|
+
placement="bottom-end"
|
|
29
|
+
accessible-label=${component._t('components.avatar-group.overflow-popover-label')}
|
|
30
|
+
>
|
|
31
|
+
<nldd-container padding-inline="16" padding-block="8">
|
|
32
|
+
<nldd-list dividers="never">
|
|
33
|
+
${overflow.map(entry => html `
|
|
34
|
+
<nldd-list-item size="sm">
|
|
35
|
+
<nldd-cell width="fit-content">
|
|
36
|
+
${entry.avatar}
|
|
37
|
+
</nldd-cell>
|
|
38
|
+
<nldd-spacer-cell size="8"></nldd-spacer-cell>
|
|
39
|
+
<nldd-text-cell width="full"
|
|
40
|
+
text=${entry.name}
|
|
41
|
+
></nldd-text-cell>
|
|
42
|
+
</nldd-list-item>
|
|
43
|
+
`)}
|
|
44
|
+
</nldd-list>
|
|
45
|
+
</nldd-container>
|
|
46
|
+
</nldd-popover>
|
|
47
|
+
` : nothing}
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=avatar-group.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.template.js","sourceRoot":"","sources":["../../../../src/components/content/avatar-group/avatar-group.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,UAAU,mBAAmB,CAAC,SAA0B;IAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,wCAAwC,CAAC;SAClE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9C,OAAO,IAAI,CAAA;;;UAGF,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;gBACvC,SAAS,CAAC,eAAe,IAAI,OAAO;;uBAE7B,SAAS,CAAC,aAAa;KACzC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;UAErB,SAAS,CAAC,UAAU;;kBAEZ,KAAK;qBACF,SAAS,CAAC,UAAU;;QAEjC,QAAQ,CAAC,MAAM;;IAEnB,CAAC,CAAC,CAAC,OAAO;;IAEV,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;SAErB,SAAS,CAAC,UAAU;aAChB,SAAS,CAAC,UAAU;;uBAEV,SAAS,CAAC,EAAE,CAAC,gDAAgD,CAAC;;;;QAI7E,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAA;;;WAGvB,KAAK,CAAC,MAAM;;;;gBAIP,KAAK,CAAC,IAAI;;;OAGnB,CAAC;;;;GAIL,CAAC,CAAC,CAAC,OAAO;EACX,CAAC;AACH,CAAC"}
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
* Toont een citaat met optionele bron-attributie.
|
|
5
5
|
*
|
|
6
6
|
* @element nldd-blockquote
|
|
7
|
-
* @attr {string} cite - URL
|
|
7
|
+
* @attr {string} cite - URL of the source (forwarded to the <blockquote> element)
|
|
8
8
|
*
|
|
9
9
|
* @slot - De citaat-paragra(a)f(en) — gebruik bij voorkeur <p>-elementen
|
|
10
10
|
* @slot attribution - Optionele bronvermelding (auteur, titel, etc.). Ook een
|
|
11
|
-
* nldd-
|
|
11
|
+
* An nldd-identity is allowed here; the em dash ("— ") is then left out.
|
|
12
12
|
*/
|
|
13
13
|
import { LitElement } from 'lit';
|
|
14
14
|
export declare class NLDDBlockquote extends LitElement {
|
|
15
15
|
static styles: import("lit").CSSResult;
|
|
16
16
|
cite: string | undefined;
|
|
17
17
|
_hasAttribution: boolean;
|
|
18
|
-
|
|
18
|
+
_hasIdentityAttribution: boolean;
|
|
19
19
|
/** @internal */
|
|
20
20
|
_handleAttributionSlotChange: (e: Event) => void;
|
|
21
21
|
render(): import("lit-html").TemplateResult<1>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKjC,qBACa,cAAe,SAAQ,UAAU;IAC7C,OAAgB,MAAM,0BAAoB;IAG1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,eAAe,UAAS;IAGxB,
|
|
1
|
+
{"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKjC,qBACa,cAAe,SAAQ,UAAU;IAC7C,OAAgB,MAAM,0BAAoB;IAG1C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;IAGrC,eAAe,UAAS;IAGxB,uBAAuB,UAAS;IAEhC,gBAAgB;IAChB,4BAA4B,GAAI,GAAG,KAAK,KAAG,IAAI,CAY7C;IAEO,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,iBAAiB,EAAE,cAAc,CAAC;KAClC;CACD"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* Toont een citaat met optionele bron-attributie.
|
|
5
5
|
*
|
|
6
6
|
* @element nldd-blockquote
|
|
7
|
-
* @attr {string} cite - URL
|
|
7
|
+
* @attr {string} cite - URL of the source (forwarded to the <blockquote> element)
|
|
8
8
|
*
|
|
9
9
|
* @slot - De citaat-paragra(a)f(en) — gebruik bij voorkeur <p>-elementen
|
|
10
10
|
* @slot attribution - Optionele bronvermelding (auteur, titel, etc.). Ook een
|
|
11
|
-
* nldd-
|
|
11
|
+
* An nldd-identity is allowed here; the em dash ("— ") is then left out.
|
|
12
12
|
*/
|
|
13
13
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
14
14
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -25,7 +25,7 @@ let NLDDBlockquote = class NLDDBlockquote extends LitElement {
|
|
|
25
25
|
super(...arguments);
|
|
26
26
|
this.cite = undefined;
|
|
27
27
|
this._hasAttribution = false;
|
|
28
|
-
this.
|
|
28
|
+
this._hasIdentityAttribution = false;
|
|
29
29
|
/** @internal */
|
|
30
30
|
this._handleAttributionSlotChange = (e) => {
|
|
31
31
|
const slot = e.target;
|
|
@@ -34,12 +34,12 @@ let NLDDBlockquote = class NLDDBlockquote extends LitElement {
|
|
|
34
34
|
return true;
|
|
35
35
|
return (n.textContent ?? '').trim().length > 0;
|
|
36
36
|
});
|
|
37
|
-
// A
|
|
37
|
+
// A identity brings its own layout (avatars + stacked text); the leading
|
|
38
38
|
// em-dash assumes inline text and would wrap onto its own line above
|
|
39
|
-
// the block, so it is suppressed for
|
|
39
|
+
// the block, so it is suppressed for identity attributions. Matched by
|
|
40
40
|
// tag name rather than instanceof to avoid statically importing (and so
|
|
41
|
-
// bundling) nldd-
|
|
42
|
-
this.
|
|
41
|
+
// bundling) nldd-identity into every blockquote consumer.
|
|
42
|
+
this._hasIdentityAttribution = slot.assignedElements({ flatten: true }).some(el => el.tagName === 'NLDD-IDENTITY');
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
render() {
|
|
@@ -55,7 +55,7 @@ __decorate([
|
|
|
55
55
|
], NLDDBlockquote.prototype, "_hasAttribution", void 0);
|
|
56
56
|
__decorate([
|
|
57
57
|
state()
|
|
58
|
-
], NLDDBlockquote.prototype, "
|
|
58
|
+
], NLDDBlockquote.prototype, "_hasIdentityAttribution", void 0);
|
|
59
59
|
NLDDBlockquote = __decorate([
|
|
60
60
|
customElement('nldd-blockquote')
|
|
61
61
|
], NLDDBlockquote);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockquote.js","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG7C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAIN,SAAI,GAAuB,SAAS,CAAC;QAGrC,oBAAe,GAAG,KAAK,CAAC;QAGxB,
|
|
1
|
+
{"version":3,"file":"blockquote.js","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG7C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QAIN,SAAI,GAAuB,SAAS,CAAC;QAGrC,oBAAe,GAAG,KAAK,CAAC;QAGxB,4BAAuB,GAAG,KAAK,CAAC;QAEhC,gBAAgB;QAChB,iCAA4B,GAAG,CAAC,CAAQ,EAAQ,EAAE;YACjD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAyB,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACrE,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;oBAAE,OAAO,IAAI,CAAC;gBAClD,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,yEAAyE;YACzE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,0DAA0D;YAC1D,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC;QACpH,CAAC,CAAC;IAKH,CAAC;IAHS,MAAM;QACd,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;;AA5Be,qBAAM,GAAG,gBAAgB,AAAnB,CAAoB;AAG1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACU;AAGrC;IADC,KAAK,EAAE;uDACgB;AAGxB;IADC,KAAK,EAAE;+DACwB;AAVpB,cAAc;IAD1B,aAAa,CAAC,iBAAiB,CAAC;GACpB,cAAc,CA8B1B"}
|
|
@@ -7,7 +7,7 @@ export function template(component) {
|
|
|
7
7
|
<div class="blockquote__quote">
|
|
8
8
|
<slot></slot>
|
|
9
9
|
</div>
|
|
10
|
-
<slot class="blockquote__attribution${component.
|
|
10
|
+
<slot class="blockquote__attribution${component._hasIdentityAttribution ? ' is-identity' : ''}"
|
|
11
11
|
name="attribution"
|
|
12
12
|
?hidden=${!component._hasAttribution}
|
|
13
13
|
@slotchange=${component._handleAttributionSlotChange}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockquote.template.js","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,UAAU,QAAQ,CAAC,SAAyB;IACjD,OAAO,IAAI,CAAA;;UAEF,SAAS,CAAC,IAAI,IAAI,OAAO;;;;;yCAKM,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"blockquote.template.js","sourceRoot":"","sources":["../../../../src/components/content/blockquote/blockquote.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,UAAU,QAAQ,CAAC,SAAyB;IACjD,OAAO,IAAI,CAAA;;UAEF,SAAS,CAAC,IAAI,IAAI,OAAO;;;;;yCAKM,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;;cAElF,CAAC,SAAS,CAAC,eAAe;kBACtB,SAAS,CAAC,4BAA4B;;;EAGtD,CAAC;AACH,CAAC"}
|
|
@@ -4,12 +4,12 @@ import type { NLDDCodeViewerTranslations } from './code-viewer.i18n.js';
|
|
|
4
4
|
import '../../actions/icon-button/icon-button.js';
|
|
5
5
|
import '../tooltip/tooltip.js';
|
|
6
6
|
export type CodeViewerCopyState = 'idle' | 'success' | 'failure';
|
|
7
|
+
export type CodeViewerVariant = 'box-tinted' | 'box-base' | 'simple';
|
|
7
8
|
export declare class NLDDCodeViewer extends NLDDCodeMirrorElement {
|
|
8
9
|
static styles: import("lit").CSSResult;
|
|
9
|
-
/** Visual style. `box`
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
background: 'tinted' | 'base';
|
|
10
|
+
/** Visual style. The `box` values are a framed card and name the surface they
|
|
11
|
+
* fill with; `simple` drops the frame. */
|
|
12
|
+
variant: CodeViewerVariant;
|
|
13
13
|
language: string;
|
|
14
14
|
/** Hide the copy-to-clipboard button (shown by default). */
|
|
15
15
|
noCopy: boolean;
|