@nldd/design-system 0.8.92 → 0.8.94
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/NOTICES.md +29 -27
- package/README.md +39 -26
- package/custom-elements.json +2134 -1509
- package/dist/components/actions/button/button.d.ts +28 -6
- package/dist/components/actions/button/button.d.ts.map +1 -1
- package/dist/components/actions/button/button.js +58 -8
- package/dist/components/actions/button/button.js.map +1 -1
- package/dist/components/actions/button/button.styles.d.ts.map +1 -1
- package/dist/components/actions/button/button.styles.js +44 -74
- package/dist/components/actions/button/button.styles.js.map +1 -1
- package/dist/components/actions/button/button.template.d.ts.map +1 -1
- package/dist/components/actions/button/button.template.js +4 -3
- package/dist/components/actions/button/button.template.js.map +1 -1
- package/dist/components/actions/button-bar/button-bar.d.ts +11 -4
- package/dist/components/actions/button-bar/button-bar.d.ts.map +1 -1
- package/dist/components/actions/button-bar/button-bar.js +25 -9
- package/dist/components/actions/button-bar/button-bar.js.map +1 -1
- package/dist/components/actions/button-bar/button-bar.styles.d.ts.map +1 -1
- package/dist/components/actions/button-bar/button-bar.styles.js +18 -3
- package/dist/components/actions/button-bar/button-bar.styles.js.map +1 -1
- package/dist/components/actions/button-group/button-group.d.ts +48 -3
- package/dist/components/actions/button-group/button-group.d.ts.map +1 -1
- package/dist/components/actions/button-group/button-group.js +104 -11
- package/dist/components/actions/button-group/button-group.js.map +1 -1
- package/dist/components/actions/button-group/button-group.styles.d.ts.map +1 -1
- package/dist/components/actions/button-group/button-group.styles.js +64 -4
- package/dist/components/actions/button-group/button-group.styles.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.d.ts +13 -7
- package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.js +16 -7
- package/dist/components/actions/icon-button/icon-button.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 +35 -61
- package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.template.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.template.js +8 -4
- package/dist/components/actions/icon-button/icon-button.template.js.map +1 -1
- package/dist/components/actions/menu/menu.d.ts +46 -31
- package/dist/components/actions/menu/menu.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.js +87 -64
- package/dist/components/actions/menu/menu.js.map +1 -1
- package/dist/components/actions/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.styles.js +4 -0
- package/dist/components/actions/menu/menu.styles.js.map +1 -1
- package/dist/components/actions/menu/menu.template.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.template.js +13 -5
- package/dist/components/actions/menu/menu.template.js.map +1 -1
- package/dist/components/actions/split-button/split-button.d.ts +2 -2
- package/dist/components/actions/split-button/split-button.d.ts.map +1 -1
- package/dist/components/actions/split-button/split-button.js +5 -4
- package/dist/components/actions/split-button/split-button.js.map +1 -1
- package/dist/components/actions/split-button/split-button.styles.d.ts.map +1 -1
- package/dist/components/actions/split-button/split-button.styles.js +18 -3
- package/dist/components/actions/split-button/split-button.styles.js.map +1 -1
- package/dist/components/actions/split-button/split-button.template.js +2 -2
- package/dist/components/actions/split-button/split-button.template.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.d.ts +24 -10
- package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.js +60 -28
- package/dist/components/actions/toolbar/toolbar.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.styles.js +7 -7
- package/dist/components/actions/toolbar/toolbar.template.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.template.js +3 -2
- package/dist/components/actions/toolbar/toolbar.template.js.map +1 -1
- package/dist/components/components.js +3034 -1382
- package/dist/components/content/avatar/avatar.d.ts +23 -5
- package/dist/components/content/avatar/avatar.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.js +24 -6
- package/dist/components/content/avatar/avatar.js.map +1 -1
- package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.template.js +5 -2
- package/dist/components/content/avatar/avatar.template.js.map +1 -1
- package/dist/components/content/avatar-group/avatar-group.template.d.ts.map +1 -1
- package/dist/components/content/avatar-group/avatar-group.template.js +6 -2
- package/dist/components/content/avatar-group/avatar-group.template.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.d.ts +2 -2
- package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.js +10 -6
- package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js +6 -6
- package/dist/components/content/icon/icon.d.ts +18 -6
- package/dist/components/content/icon/icon.d.ts.map +1 -1
- package/dist/components/content/icon/icon.js +30 -10
- package/dist/components/content/icon/icon.js.map +1 -1
- package/dist/components/content/identity/identity.template.d.ts.map +1 -1
- package/dist/components/content/identity/identity.template.js +4 -1
- package/dist/components/content/identity/identity.template.js.map +1 -1
- package/dist/components/content/image/image.d.ts.map +1 -1
- package/dist/components/content/image/image.js +2 -1
- package/dist/components/content/image/image.js.map +1 -1
- package/dist/components/content/image/image.template.d.ts.map +1 -1
- package/dist/components/content/image/image.template.js +7 -2
- package/dist/components/content/image/image.template.js.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +3 -3
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +3 -3
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.styles.js +7 -7
- package/dist/components/content/rich-text/rich-text.d.ts +20 -9
- package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
- package/dist/components/content/rich-text/rich-text.js +32 -16
- package/dist/components/content/rich-text/rich-text.js.map +1 -1
- package/dist/components/content/tag/tag.d.ts +2 -2
- package/dist/components/content/tag/tag.d.ts.map +1 -1
- package/dist/components/content/tag/tag.js +5 -5
- package/dist/components/content/tag/tag.js.map +1 -1
- package/dist/components/content/tag/tag.template.js +2 -2
- package/dist/components/content/text/text.styles.d.ts.map +1 -1
- package/dist/components/content/text/text.styles.js +1 -0
- package/dist/components/content/text/text.styles.js.map +1 -1
- package/dist/components/content/title/title.d.ts +30 -6
- package/dist/components/content/title/title.d.ts.map +1 -1
- package/dist/components/content/title/title.js +72 -8
- package/dist/components/content/title/title.js.map +1 -1
- package/dist/components/content/title/title.styles.d.ts.map +1 -1
- package/dist/components/content/title/title.styles.js +41 -4
- package/dist/components/content/title/title.styles.js.map +1 -1
- package/dist/components/content/title/title.template.d.ts +2 -1
- package/dist/components/content/title/title.template.d.ts.map +1 -1
- package/dist/components/content/title/title.template.js +33 -5
- package/dist/components/content/title/title.template.js.map +1 -1
- package/dist/components/content/token/token.d.ts +15 -5
- package/dist/components/content/token/token.d.ts.map +1 -1
- package/dist/components/content/token/token.i18n.d.ts +7 -0
- package/dist/components/content/token/token.i18n.d.ts.map +1 -0
- package/dist/components/content/token/token.i18n.js +6 -0
- package/dist/components/content/token/token.i18n.js.map +1 -0
- package/dist/components/content/token/token.js +56 -14
- package/dist/components/content/token/token.js.map +1 -1
- package/dist/components/content/token/token.template.js +6 -6
- package/dist/components/content/token/token.template.js.map +1 -1
- package/dist/components/forms/form/form.d.ts +18 -7
- package/dist/components/forms/form/form.d.ts.map +1 -1
- package/dist/components/forms/form/form.js +18 -7
- package/dist/components/forms/form/form.js.map +1 -1
- package/dist/components/forms/form-actions/form-actions.d.ts +1 -1
- package/dist/components/forms/form-actions/form-actions.js +1 -1
- package/dist/components/forms/form-field/form-field.d.ts +12 -1
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
- package/dist/components/forms/form-field/form-field.js +12 -1
- package/dist/components/forms/form-field/form-field.js.map +1 -1
- package/dist/components/forms/form-section/form-section.d.ts +3 -3
- package/dist/components/forms/form-section/form-section.js +8 -8
- package/dist/components/forms/form-section/form-section.js.map +1 -1
- package/dist/components/forms/validation-list/validation-list.d.ts +7 -4
- package/dist/components/forms/validation-list/validation-list.d.ts.map +1 -1
- package/dist/components/forms/validation-list/validation-list.js +7 -4
- package/dist/components/forms/validation-list/validation-list.js.map +1 -1
- package/dist/components/{icon-C_zwJZ_g.js → icon-DWNVcttg.js} +4 -4
- package/dist/components/{icon-button-oua8pmMC.js → icon-button-DHzLMmj0.js} +62 -78
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.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 -5
- package/dist/components/inputs/checkbox/checkbox.template.js.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.d.ts +5 -5
- package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.js +5 -5
- package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.styles.js +3 -3
- package/dist/components/inputs/combo-box/combo-box.d.ts +47 -3
- package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.js +119 -41
- package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.template.js +4 -4
- package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
- package/dist/components/inputs/date-field/date-field.js +2 -1
- package/dist/components/inputs/date-field/date-field.js.map +1 -1
- package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -1
- package/dist/components/inputs/date-field/date-field.template.js +6 -4
- package/dist/components/inputs/date-field/date-field.template.js.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.template.js +3 -3
- package/dist/components/inputs/date-picker/date-picker.template.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.d.ts +0 -2
- package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.js +1 -13
- package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.js +24 -12
- package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.template.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.template.js +3 -4
- package/dist/components/inputs/dropdown/dropdown.template.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
- package/dist/components/inputs/file-field/file-field.js +2 -7
- package/dist/components/inputs/file-field/file-field.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.template.js +3 -3
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js +2 -2
- package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.js +2 -1
- package/dist/components/inputs/number-field/number-field.js.map +1 -1
- package/dist/components/inputs/number-field/number-field.styles.js +4 -4
- package/dist/components/inputs/number-field/number-field.template.js +2 -2
- package/dist/components/inputs/password-field/password-field.template.js +2 -2
- package/dist/components/inputs/radio-button/radio-button.template.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.template.js +3 -1
- package/dist/components/inputs/radio-button/radio-button.template.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.d.ts +24 -24
- package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.js +42 -41
- package/dist/components/inputs/search-field/search-field.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.template.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.template.js +6 -4
- package/dist/components/inputs/search-field/search-field.template.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.d.ts +6 -0
- package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.js +13 -0
- package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.js +54 -16
- package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.template.js +2 -2
- package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.js +2 -1
- package/dist/components/inputs/stepper/stepper.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.template.js +2 -2
- package/dist/components/inputs/switch/switch.template.js +1 -1
- package/dist/components/inputs/text-editor/text-editor.annotations.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.annotations.js +6 -4
- package/dist/components/inputs/text-editor/text-editor.annotations.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.d.ts +27 -64
- package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.i18n.d.ts +2 -0
- package/dist/components/inputs/text-editor/text-editor.i18n.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.i18n.js +5 -0
- package/dist/components/inputs/text-editor/text-editor.i18n.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.js +87 -20
- package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.labels.d.ts +4 -0
- package/dist/components/inputs/text-editor/text-editor.labels.d.ts.map +1 -0
- package/dist/components/inputs/text-editor/text-editor.labels.js +5 -0
- package/dist/components/inputs/text-editor/text-editor.labels.js.map +1 -0
- package/dist/components/inputs/text-editor/text-editor.links.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.links.js +7 -5
- package/dist/components/inputs/text-editor/text-editor.links.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.markdown.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.markdown.js +6 -2
- package/dist/components/inputs/text-editor/text-editor.markdown.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.mentions.d.ts +27 -3
- package/dist/components/inputs/text-editor/text-editor.mentions.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.mentions.js +145 -26
- package/dist/components/inputs/text-editor/text-editor.mentions.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.spellcheck.d.ts +11 -0
- package/dist/components/inputs/text-editor/text-editor.spellcheck.d.ts.map +1 -0
- package/dist/components/inputs/text-editor/text-editor.spellcheck.js +134 -0
- package/dist/components/inputs/text-editor/text-editor.spellcheck.js.map +1 -0
- package/dist/components/inputs/text-editor/text-editor.styles.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.styles.js +9 -3
- package/dist/components/inputs/text-editor/text-editor.styles.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.template.js +2 -2
- package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
- package/dist/components/inputs/time-field/time-field.js +2 -1
- package/dist/components/inputs/time-field/time-field.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.template.d.ts.map +1 -1
- package/dist/components/inputs/time-field/time-field.template.js +7 -5
- package/dist/components/inputs/time-field/time-field.template.js.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.js +2 -1
- package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts +12 -0
- package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.js +17 -0
- package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.js +99 -12
- package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.js +6 -4
- package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
- package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts +4 -2
- 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 +8 -2
- package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.d.ts +26 -1
- package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
- package/dist/components/inputs/token-field/token-field.i18n.js +1 -1
- package/dist/components/inputs/token-field/token-field.i18n.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.js +59 -6
- package/dist/components/inputs/token-field/token-field.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/token-field/token-field.styles.js +2 -1
- package/dist/components/inputs/token-field/token-field.styles.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.template.d.ts.map +1 -1
- package/dist/components/inputs/token-field/token-field.template.js +7 -5
- package/dist/components/inputs/token-field/token-field.template.js.map +1 -1
- package/dist/components/layout/app-view/app-view.d.ts +8 -0
- package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
- package/dist/components/layout/app-view/app-view.js +8 -0
- package/dist/components/layout/app-view/app-view.js.map +1 -1
- package/dist/components/layout/card/card.d.ts +7 -4
- package/dist/components/layout/card/card.d.ts.map +1 -1
- package/dist/components/layout/card/card.js +10 -7
- package/dist/components/layout/card/card.js.map +1 -1
- package/dist/components/layout/card/card.styles.d.ts.map +1 -1
- package/dist/components/layout/card/card.styles.js +22 -2
- package/dist/components/layout/card/card.styles.js.map +1 -1
- package/dist/components/layout/card/card.template.d.ts.map +1 -1
- package/dist/components/layout/card/card.template.js +4 -2
- package/dist/components/layout/card/card.template.js.map +1 -1
- package/dist/components/layout/collection/collection.d.ts +11 -6
- package/dist/components/layout/collection/collection.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.js +21 -15
- package/dist/components/layout/collection/collection.js.map +1 -1
- package/dist/components/layout/collection/collection.template.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.template.js +5 -2
- package/dist/components/layout/collection/collection.template.js.map +1 -1
- package/dist/components/layout/container/container.d.ts +13 -8
- package/dist/components/layout/container/container.d.ts.map +1 -1
- package/dist/components/layout/container/container.js +19 -14
- package/dist/components/layout/container/container.js.map +1 -1
- package/dist/components/layout/page/page.d.ts +52 -2
- package/dist/components/layout/page/page.d.ts.map +1 -1
- package/dist/components/layout/page/page.js +94 -3
- package/dist/components/layout/page/page.js.map +1 -1
- package/dist/components/layout/page/page.template.d.ts +6 -0
- package/dist/components/layout/page/page.template.d.ts.map +1 -1
- package/dist/components/layout/page/page.template.js +21 -6
- package/dist/components/layout/page/page.template.js.map +1 -1
- package/dist/components/layout/page-footer/page-footer.d.ts +2 -4
- package/dist/components/layout/page-footer/page-footer.d.ts.map +1 -1
- package/dist/components/layout/page-footer/page-footer.js +8 -23
- package/dist/components/layout/page-footer/page-footer.js.map +1 -1
- package/dist/components/layout/page-footer/page-footer.template.d.ts.map +1 -1
- package/dist/components/layout/page-footer/page-footer.template.js +16 -4
- package/dist/components/layout/page-footer/page-footer.template.js.map +1 -1
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts +4 -6
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js +4 -5
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.js.map +1 -1
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.template.js +8 -2
- package/dist/components/layout/page-sections/full-bleed-section/full-bleed-section.template.js.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.d.ts +12 -14
- package/dist/components/layout/page-sections/hero/hero.d.ts.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.js +19 -20
- package/dist/components/layout/page-sections/hero/hero.js.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/hero/hero.template.js +6 -2
- package/dist/components/layout/page-sections/hero/hero.template.js.map +1 -1
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts +6 -8
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js +6 -7
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.js.map +1 -1
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.template.js +8 -2
- package/dist/components/layout/page-sections/one-half-one-half-section/one-half-one-half-section.template.js.map +1 -1
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts +6 -8
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js +6 -7
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.js.map +1 -1
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.template.js +8 -2
- package/dist/components/layout/page-sections/one-third-two-thirds-section/one-third-two-thirds-section.template.js.map +1 -1
- package/dist/components/layout/page-sections/page-section-controls.d.ts +139 -44
- package/dist/components/layout/page-sections/page-section-controls.d.ts.map +1 -1
- package/dist/components/layout/page-sections/page-section-controls.js +44 -47
- package/dist/components/layout/page-sections/page-section-controls.js.map +1 -1
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts +11 -12
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +21 -20
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js.map +1 -1
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.js +8 -2
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.template.js.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.d.ts +14 -8
- 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 +14 -7
- package/dist/components/layout/page-sections/simple-section/simple-section.js.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/simple-section/simple-section.template.js +8 -2
- package/dist/components/layout/page-sections/simple-section/simple-section.template.js.map +1 -1
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts +6 -8
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.d.ts.map +1 -1
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js +6 -7
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.js.map +1 -1
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.template.d.ts.map +1 -1
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.template.js +8 -2
- package/dist/components/layout/page-sections/two-thirds-one-third-section/two-thirds-one-third-section.template.js.map +1 -1
- package/dist/components/layout/popover/popover.d.ts +12 -8
- package/dist/components/layout/popover/popover.d.ts.map +1 -1
- package/dist/components/layout/popover/popover.js +40 -19
- package/dist/components/layout/popover/popover.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +26 -11
- package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.js +59 -20
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.styles.js +4 -0
- package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
- package/dist/components/layout/sheet/sheet.template.js +1 -1
- package/dist/components/layout/sheet/sheet.template.js.map +1 -1
- package/dist/components/layout/spacer/spacer.d.ts +13 -0
- package/dist/components/layout/spacer/spacer.d.ts.map +1 -1
- package/dist/components/layout/spacer/spacer.js +13 -0
- package/dist/components/layout/spacer/spacer.js.map +1 -1
- package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts +4 -1
- package/dist/components/layout/split-views/bar-split-view/bar-split-view.d.ts.map +1 -1
- package/dist/components/layout/split-views/bar-split-view/bar-split-view.js +4 -1
- package/dist/components/layout/split-views/bar-split-view/bar-split-view.js.map +1 -1
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +11 -6
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts.map +1 -1
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js +17 -12
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js.map +1 -1
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.d.ts.map +1 -1
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js +4 -0
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.styles.js.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts +3 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js +3 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js.map +1 -1
- package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts +4 -4
- package/dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts.map +1 -1
- package/dist/components/layout/split-views/split-view-pane/split-view-pane.js +8 -8
- package/dist/components/layout/split-views/split-view-pane/split-view-pane.js.map +1 -1
- package/dist/components/layout/window/window.d.ts +30 -18
- package/dist/components/layout/window/window.d.ts.map +1 -1
- package/dist/components/layout/window/window.js +68 -32
- package/dist/components/layout/window/window.js.map +1 -1
- package/dist/components/lists-and-tables/cells/cell/cell.d.ts +4 -2
- package/dist/components/lists-and-tables/cells/cell/cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/cell/cell.js +7 -5
- package/dist/components/lists-and-tables/cells/cell/cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +2 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.template.js +88 -16
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.d.ts +4 -2
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.js +7 -5
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js +23 -0
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.styles.js.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.template.js +11 -2
- package/dist/components/lists-and-tables/cells/icon-cell/icon-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.d.ts +2 -2
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.js +5 -5
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.template.js +8 -2
- package/dist/components/lists-and-tables/cells/text-cell/text-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +11 -11
- 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 +15 -15
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +5 -5
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +2 -2
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.d.ts +3 -3
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.js +6 -6
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.js.map +1 -1
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.template.js +8 -2
- package/dist/components/lists-and-tables/cells/title-cell/title-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.d.ts +14 -11
- package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.js +36 -36
- 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 +9 -5
- package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.template.js +26 -9
- package/dist/components/lists-and-tables/list/list.template.js.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.d.ts +65 -43
- 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 +116 -47
- package/dist/components/lists-and-tables/list-item/list-item.js.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.styles.js +4 -14
- package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts +35 -10
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js +45 -18
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js +4 -14
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.js +11 -2
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.js.map +1 -1
- package/dist/components/lists-and-tables/table/table.d.ts +4 -2
- package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
- package/dist/components/lists-and-tables/table/table.js +15 -12
- package/dist/components/lists-and-tables/table/table.js.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +0 -2
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -19
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.template.js +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.js +6 -6
- package/dist/components/navigation/document-tab-bar/document-tab-bar.js.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.template.d.ts.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js +10 -4
- package/dist/components/navigation/document-tab-bar/document-tab-bar.template.js.map +1 -1
- package/dist/components/navigation/link/link.template.js +2 -2
- package/dist/components/navigation/menu-bar/menu-bar.js +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.js.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.template.js +4 -4
- package/dist/components/navigation/pagination/pagination.d.ts +0 -3
- package/dist/components/navigation/pagination/pagination.d.ts.map +1 -1
- package/dist/components/navigation/pagination/pagination.js +2 -13
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.styles.js +4 -4
- package/dist/components/navigation/pagination/pagination.template.js +3 -3
- package/dist/components/navigation/tab-bar/tab-bar.template.js +2 -2
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +12 -0
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +37 -2
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +48 -3
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.template.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.template.js +4 -2
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.template.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +6 -2
- 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 +7 -2
- package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +2 -2
- 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 +21 -6
- package/dist/components/navigation/top-title-bar/top-title-bar.template.js.map +1 -1
- package/dist/components/status-and-feedback/activity-indicator/activity-indicator.d.ts.map +1 -1
- package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js +2 -1
- package/dist/components/status-and-feedback/activity-indicator/activity-indicator.js.map +1 -1
- package/dist/components/status-and-feedback/activity-indicator/activity-indicator.styles.js +4 -4
- package/dist/components/status-and-feedback/badge/badge.template.js +1 -1
- package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.js +2 -1
- package/dist/components/status-and-feedback/banner/banner.js.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.template.js +2 -2
- package/dist/components/status-and-feedback/inline-dialog/inline-dialog.template.js +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.template.js +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +14 -5
- 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 +43 -13
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.d.ts.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js +4 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.template.js.map +1 -1
- package/dist/components/status-and-feedback/notification/notification.d.ts +8 -8
- package/dist/components/status-and-feedback/notification/notification.d.ts.map +1 -1
- package/dist/components/status-and-feedback/notification/notification.js +13 -13
- package/dist/components/status-and-feedback/notification/notification.js.map +1 -1
- package/dist/components/status-and-feedback/notification/notification.template.d.ts.map +1 -1
- package/dist/components/status-and-feedback/notification/notification.template.js +6 -3
- package/dist/components/status-and-feedback/notification/notification.template.js.map +1 -1
- package/dist/components/status-and-feedback/notification/{notification-region.d.ts → notifications-area.d.ts} +3 -3
- package/dist/components/status-and-feedback/notification/notifications-area.d.ts.map +1 -0
- package/dist/components/status-and-feedback/notification/{notification-region.js → notifications-area.js} +137 -140
- package/dist/components/status-and-feedback/notification/notifications-area.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +4 -4
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -1
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js +11 -10
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -1
- 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 +10 -6
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -1
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts.map +1 -1
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +3 -2
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -1
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +6 -4
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -1
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js +16 -13
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -1
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +3 -3
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts.map +1 -1
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +106 -18
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -1
- package/dist/components/status-and-feedback/status-bar/status-bar.template.js +1 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.d.ts +4 -1
- 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 +4 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.js.map +1 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.template.js +2 -2
- package/dist/components/{with-translations-BAKFoEKy.js → with-translations-Dt2DTXJF.js} +40 -12
- package/dist/css/form-section.css +4 -4
- package/dist/css/form.css +4 -0
- package/dist/css/rich-text.css +31 -12
- package/dist/css/variables.css +33 -56
- package/dist/nldd.min.js +1772 -1113
- package/dist/translations/en-US.d.ts +17 -0
- package/dist/translations/en-US.d.ts.map +1 -0
- package/dist/translations/en-US.js +185 -0
- package/dist/translations/en-US.js.map +1 -0
- package/dist/translations/fy.d.ts +20 -0
- package/dist/translations/fy.d.ts.map +1 -0
- package/dist/translations/fy.js +185 -0
- package/dist/translations/fy.js.map +1 -0
- package/dist/translations/nl.generated.d.ts +188 -0
- package/dist/translations/nl.generated.d.ts.map +1 -0
- package/dist/translations/nl.generated.js +101 -0
- package/dist/translations/nl.generated.js.map +1 -0
- package/dist/translations/pap-AW.d.ts +22 -0
- package/dist/translations/pap-AW.d.ts.map +1 -0
- package/dist/translations/pap-AW.js +185 -0
- package/dist/translations/pap-AW.js.map +1 -0
- package/dist/translations/pap-CW.d.ts +22 -0
- package/dist/translations/pap-CW.d.ts.map +1 -0
- package/dist/translations/pap-CW.js +185 -0
- package/dist/translations/pap-CW.js.map +1 -0
- package/dist/types/vue.d.ts +387 -302
- package/dist/utilities/page-section-mixin.d.ts +3 -8
- package/dist/utilities/page-section-mixin.d.ts.map +1 -1
- package/dist/utilities/page-section-mixin.js +4 -84
- package/dist/utilities/page-section-mixin.js.map +1 -1
- package/dist/utilities/title-bar-label-controller.d.ts +25 -0
- package/dist/utilities/title-bar-label-controller.d.ts.map +1 -0
- package/dist/utilities/title-bar-label-controller.js +52 -0
- package/dist/utilities/title-bar-label-controller.js.map +1 -0
- package/dist/utilities/translations.d.ts +37 -0
- package/dist/utilities/translations.d.ts.map +1 -0
- package/dist/utilities/translations.js +80 -0
- package/dist/utilities/translations.js.map +1 -0
- package/dist/utilities/with-translations.d.ts.map +1 -1
- package/dist/utilities/with-translations.js +2 -15
- package/dist/utilities/with-translations.js.map +1 -1
- package/package.json +32 -4
- package/dist/components/status-and-feedback/notification/notification-region.d.ts.map +0 -1
- package/dist/components/status-and-feedback/notification/notification-region.js.map +0 -1
package/dist/types/vue.d.ts
CHANGED
|
@@ -318,8 +318,8 @@ declare module 'vue' {
|
|
|
318
318
|
};
|
|
319
319
|
|
|
320
320
|
type NLDDButtonProps = {
|
|
321
|
-
/**
|
|
322
|
-
'
|
|
321
|
+
/** Visual style, color included: 'primary' | 'secondary' | 'destructive' | 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-base' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted'. The inherit appearances derive their colors from currentColor, for buttons on colored surfaces; inherit-filled uses the surface color (--context-parent-background-color) as the label color, with a white/black contrast flip as a fallback. */
|
|
322
|
+
'appearance'?: NLDDButton['appearance'];
|
|
323
323
|
/** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md'). 'lg' uses larger text and 24px start/end icons. */
|
|
324
324
|
'size'?: NLDDButton['size'];
|
|
325
325
|
/** Horizontal alignment of the button content: 'left' | 'center' | 'right' (default: unset, centered). Most visible with width="full" or a fixed width. */
|
|
@@ -340,9 +340,9 @@ declare module 'vue' {
|
|
|
340
340
|
'expandable'?: NLDDButton['expandable'];
|
|
341
341
|
/** Whether the popover/menu controlled by this button is currently open. Forwarded as aria-expanded on the inner button; toggles the is-expanded visual state. */
|
|
342
342
|
'expanded'?: NLDDButton['expanded'];
|
|
343
|
-
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. */
|
|
343
|
+
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. An nldd-menu or nldd-popover in the `popup` slot, or anchored to this button, sets it itself from the first render; set it only for another kind of popup. */
|
|
344
344
|
'popup-type'?: NLDDButton['popupType'];
|
|
345
|
-
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. */
|
|
345
|
+
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. An nldd-menu or nldd-popover in the `popup` slot, or anchored to this button, sets it itself from the first render; set it only for another kind of popup. */
|
|
346
346
|
'popupType'?: NLDDButton['popupType'];
|
|
347
347
|
/** Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set) */
|
|
348
348
|
'type'?: NLDDButton['type'];
|
|
@@ -350,6 +350,10 @@ declare module 'vue' {
|
|
|
350
350
|
'popovertarget'?: NLDDButton['popovertarget'];
|
|
351
351
|
/** Loading state (default: false). Shows an activity indicator over the visually hidden content, sets aria-busy on the inner control and blocks activation, without dropping the button from the tab order (unlike disabled). The content stays laid out, so the button keeps its width. */
|
|
352
352
|
'loading'?: NLDDButton['loading'];
|
|
353
|
+
/** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
|
|
354
|
+
'loading-text'?: NLDDButton['loadingText'];
|
|
355
|
+
/** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
|
|
356
|
+
'loadingText'?: NLDDButton['loadingText'];
|
|
353
357
|
/** Disabled state */
|
|
354
358
|
'disabled'?: NLDDButton['disabled'];
|
|
355
359
|
/** Button text */
|
|
@@ -362,9 +366,9 @@ declare module 'vue' {
|
|
|
362
366
|
'single-line'?: NLDDButton['singleLine'];
|
|
363
367
|
/** When true, truncates overflowing text with an ellipsis instead of letting it wrap. Requires the button (or an ancestor) to constrain the width. */
|
|
364
368
|
'singleLine'?: NLDDButton['singleLine'];
|
|
365
|
-
/** Removes the per-
|
|
369
|
+
/** Removes the per-appearance highlight border (e.g. when nldd-button-bar draws a single group border instead). */
|
|
366
370
|
'no-highlight-border'?: NLDDButton['noHighlightBorder'];
|
|
367
|
-
/** Removes the per-
|
|
371
|
+
/** Removes the per-appearance highlight border (e.g. when nldd-button-bar draws a single group border instead). */
|
|
368
372
|
'noHighlightBorder'?: NLDDButton['noHighlightBorder'];
|
|
369
373
|
/** Icon name for the start icon (before text) */
|
|
370
374
|
'start-icon'?: NLDDButton['startIcon'];
|
|
@@ -399,8 +403,8 @@ declare module 'vue' {
|
|
|
399
403
|
type NLDDButtonBarProps = {
|
|
400
404
|
/** Bar size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md'). At 'lg', icon-button children stack their label below the icon (mobile action-bar style). */
|
|
401
405
|
'size'?: NLDDButtonBar['size'];
|
|
402
|
-
/**
|
|
403
|
-
'
|
|
406
|
+
/** Visual style of the buttons (default: 'neutral-tinted'; 'inherit-tinted' and 'inherit-filled' for a colored surface) */
|
|
407
|
+
'appearance'?: NLDDButtonBar['appearance'];
|
|
404
408
|
/** Disabled state */
|
|
405
409
|
'disabled'?: NLDDButtonBar['disabled'];
|
|
406
410
|
};
|
|
@@ -411,7 +415,7 @@ declare module 'vue' {
|
|
|
411
415
|
type NLDDButtonGroupProps = {
|
|
412
416
|
/** Button group size: 'sm' | 'md' (default: 'md') */
|
|
413
417
|
'size'?: NLDDButtonGroup['size'];
|
|
414
|
-
/** Layout direction: 'horizontal' | 'vertical' (default: '
|
|
418
|
+
/** Layout direction: 'auto' | 'horizontal' | 'vertical' (default: 'auto') */
|
|
415
419
|
'orientation'?: NLDDButtonGroup['orientation'];
|
|
416
420
|
};
|
|
417
421
|
|
|
@@ -424,12 +428,12 @@ declare module 'vue' {
|
|
|
424
428
|
'accessibleLabel'?: NLDDCard['accessibleLabel'];
|
|
425
429
|
/** Makes the whole card a link to this URL (empty = no link) */
|
|
426
430
|
'href'?: NLDDCard['href'];
|
|
427
|
-
/** Makes the whole card a button; ignored when `href` is set */
|
|
428
|
-
'button'?: NLDDCard['button'];
|
|
429
431
|
/** Link target for href (e.g. '_blank'); adjusts rel automatically and adds an "Opent in nieuw tabblad" announcement for '_blank' */
|
|
430
432
|
'target'?: NLDDCard['target'];
|
|
431
433
|
/** Link rel for href; with target '_blank', 'noopener noreferrer' is added to whatever you set */
|
|
432
434
|
'rel'?: NLDDCard['rel'];
|
|
435
|
+
/** Makes the whole card a button; ignored when `href` is set */
|
|
436
|
+
'button'?: NLDDCard['button'];
|
|
433
437
|
/** Override translation keys (e.g. the "Opent in nieuw tabblad" announcement) */
|
|
434
438
|
'translations'?: NLDDCard['translations'];
|
|
435
439
|
};
|
|
@@ -449,14 +453,14 @@ declare module 'vue' {
|
|
|
449
453
|
'min-height'?: NLDDCell['minHeight'];
|
|
450
454
|
/** Minimum height as CSS length (e.g. '44px', '3rem') */
|
|
451
455
|
'minHeight'?: NLDDCell['minHeight'];
|
|
452
|
-
/** Vertical alignment of slotted content (default: 'center') */
|
|
453
|
-
'vertical-alignment'?: NLDDCell['verticalAlignment'];
|
|
454
|
-
/** Vertical alignment of slotted content (default: 'center') */
|
|
455
|
-
'verticalAlignment'?: NLDDCell['verticalAlignment'];
|
|
456
456
|
/** Horizontal alignment of slotted content (default: 'left') */
|
|
457
457
|
'horizontal-alignment'?: NLDDCell['horizontalAlignment'];
|
|
458
458
|
/** Horizontal alignment of slotted content (default: 'left') */
|
|
459
459
|
'horizontalAlignment'?: NLDDCell['horizontalAlignment'];
|
|
460
|
+
/** Vertical alignment of slotted content (default: 'center') */
|
|
461
|
+
'vertical-alignment'?: NLDDCell['verticalAlignment'];
|
|
462
|
+
/** Vertical alignment of slotted content (default: 'center') */
|
|
463
|
+
'verticalAlignment'?: NLDDCell['verticalAlignment'];
|
|
460
464
|
'hide-below'?: NLDDCell['hideBelow'];
|
|
461
465
|
'hideBelow'?: NLDDCell['hideBelow'];
|
|
462
466
|
'hide-above'?: NLDDCell['hideAbove'];
|
|
@@ -543,7 +547,7 @@ declare module 'vue' {
|
|
|
543
547
|
/** 'none' (fixed) | 'vertical' (drag) | 'auto' (grow, default) */
|
|
544
548
|
'resize'?: NLDDCodeEditor['resize'];
|
|
545
549
|
/** 'simple' (default, bare) | 'input-field' (framed surface) */
|
|
546
|
-
'
|
|
550
|
+
'appearance'?: NLDDCodeEditor['appearance'];
|
|
547
551
|
/** Highlight grammar (yaml, json, javascript, typescript, css, html, xml, bash, markdown, rust, gherkin, toml, sql, python). Empty disables highlighting. */
|
|
548
552
|
'language'?: NLDDCodeEditor['language'];
|
|
549
553
|
/** Show a line-number gutter */
|
|
@@ -567,7 +571,7 @@ declare module 'vue' {
|
|
|
567
571
|
|
|
568
572
|
type NLDDCodeViewerProps = {
|
|
569
573
|
/** Visual style. The two `box` values are a framed card with rounded corners, padding, fill, and a 1px border ring, and differ in which surface they fill with; `box-tinted` is the default. `simple` drops the entire frame — use when embedding inside a parent surface. */
|
|
570
|
-
'
|
|
574
|
+
'appearance'?: NLDDCodeViewer['appearance'];
|
|
571
575
|
/** Grammar to highlight with. Empty disables highlighting. */
|
|
572
576
|
'language'?: NLDDCodeViewer['language'];
|
|
573
577
|
/** Hide the copy-to-clipboard button (shown by default). */
|
|
@@ -585,18 +589,6 @@ declare module 'vue' {
|
|
|
585
589
|
type NLDDCollectionProps = {
|
|
586
590
|
/** Layout mode: 'grid' | 'stack' | 'lanes' | 'horizontal-scroll' (default: 'grid') */
|
|
587
591
|
'layout'?: NLDDCollection['layout'];
|
|
588
|
-
/** Show load-more button in grid/stack (default: false) */
|
|
589
|
-
'show-load-more'?: NLDDCollection['showLoadMore'];
|
|
590
|
-
/** Show load-more button in grid/stack (default: false) */
|
|
591
|
-
'showLoadMore'?: NLDDCollection['showLoadMore'];
|
|
592
|
-
/** Number of visible items per page (default: 24) */
|
|
593
|
-
'max-items'?: NLDDCollection['maxItems'];
|
|
594
|
-
/** Number of visible items per page (default: 24) */
|
|
595
|
-
'maxItems'?: NLDDCollection['maxItems'];
|
|
596
|
-
/** Automatically load more items when the button becomes visible */
|
|
597
|
-
'lazy-load'?: NLDDCollection['lazyLoad'];
|
|
598
|
-
/** Automatically load more items when the button becomes visible */
|
|
599
|
-
'lazyLoad'?: NLDDCollection['lazyLoad'];
|
|
600
592
|
/** Preferred width for each item (e.g. '280px', '20rem'). In grid and lanes layouts used as the minimum column width (columns will be at least this wide; 1fr if container allows more). In horizontal scroll used as flex-basis. Never forces horizontal overflow — the value is clamped to container width. */
|
|
601
593
|
'item-width'?: NLDDCollection['itemWidth'];
|
|
602
594
|
/** Preferred width for each item (e.g. '280px', '20rem'). In grid and lanes layouts used as the minimum column width (columns will be at least this wide; 1fr if container allows more). In horizontal scroll used as flex-basis. Never forces horizontal overflow — the value is clamped to container width. */
|
|
@@ -615,8 +607,20 @@ declare module 'vue' {
|
|
|
615
607
|
'lg-gap'?: NLDDCollection['lgGap'];
|
|
616
608
|
/** Gap at lg, overriding `gap` there */
|
|
617
609
|
'lgGap'?: NLDDCollection['lgGap'];
|
|
610
|
+
/** Number of visible items per page (default: 24) */
|
|
611
|
+
'max-items'?: NLDDCollection['maxItems'];
|
|
612
|
+
/** Number of visible items per page (default: 24) */
|
|
613
|
+
'maxItems'?: NLDDCollection['maxItems'];
|
|
618
614
|
/** Translation overrides; unset keys fall back to Dutch. Available keys: 'components.collection.previous-action', 'components.collection.next-action', 'components.collection.load-more-action' */
|
|
619
615
|
'translations'?: NLDDCollection['translations'];
|
|
616
|
+
/** Show load-more button in grid/stack (default: false) */
|
|
617
|
+
'show-load-more'?: NLDDCollection['showLoadMore'];
|
|
618
|
+
/** Show load-more button in grid/stack (default: false) */
|
|
619
|
+
'showLoadMore'?: NLDDCollection['showLoadMore'];
|
|
620
|
+
/** Automatically load more items when the button becomes visible */
|
|
621
|
+
'lazy-load'?: NLDDCollection['lazyLoad'];
|
|
622
|
+
/** Automatically load more items when the button becomes visible */
|
|
623
|
+
'lazyLoad'?: NLDDCollection['lazyLoad'];
|
|
620
624
|
/** When the load-more button is clicked */
|
|
621
625
|
'onLoadMore'?: (event: CustomEvent) => void;
|
|
622
626
|
};
|
|
@@ -638,10 +642,14 @@ declare module 'vue' {
|
|
|
638
642
|
'disabled'?: NLDDComboBox['disabled'];
|
|
639
643
|
/** Read-only state: the value stays readable, selectable and in the tab order, but the menu does not open and there is nothing to clear. The input drops its combobox role and the aria that goes with it, so assistive technology is not told about a list it cannot open. Use this where the value belongs to the record rather than to the form, e.g. the product an asset is an instance of. */
|
|
640
644
|
'readonly'?: NLDDComboBox['readonly'];
|
|
641
|
-
/** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. */
|
|
645
|
+
/** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. Typing an option's label in full picks that option, ignoring case and the spaces around it; with two such labels, the first one. */
|
|
642
646
|
'allow-custom'?: NLDDComboBox['allowCustom'];
|
|
643
|
-
/** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. */
|
|
647
|
+
/** Allow committing free-typed values that match no option (Enter/blur). Default false: only menu options are accepted. Typing an option's label in full picks that option, ignoring case and the spaces around it; with two such labels, the first one. */
|
|
644
648
|
'allowCustom'?: NLDDComboBox['allowCustom'];
|
|
649
|
+
/** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
|
|
650
|
+
'no-filter'?: NLDDComboBox['noFilter'];
|
|
651
|
+
/** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
|
|
652
|
+
'noFilter'?: NLDDComboBox['noFilter'];
|
|
645
653
|
/** Input name for form submission */
|
|
646
654
|
'name'?: NLDDComboBox['name'];
|
|
647
655
|
/** Browser autofill hint. Default 'off' to prevent the native autofill panel from competing with the menu dropdown. Set to a valid token (e.g. 'country', 'organization') when browser autofill is desired. */
|
|
@@ -708,15 +716,7 @@ declare module 'vue' {
|
|
|
708
716
|
'max-width'?: NLDDContainer['maxWidth'];
|
|
709
717
|
/** Maximum width as a CSS length (e.g. '480px') */
|
|
710
718
|
'maxWidth'?: NLDDContainer['maxWidth'];
|
|
711
|
-
/**
|
|
712
|
-
'horizontal-alignment'?: NLDDContainer['horizontalAlignment'];
|
|
713
|
-
/** 'left' | 'center' | 'right' */
|
|
714
|
-
'horizontalAlignment'?: NLDDContainer['horizontalAlignment'];
|
|
715
|
-
/** 'top' | 'center' | 'bottom' */
|
|
716
|
-
'vertical-alignment'?: NLDDContainer['verticalAlignment'];
|
|
717
|
-
/** 'top' | 'center' | 'bottom' */
|
|
718
|
-
'verticalAlignment'?: NLDDContainer['verticalAlignment'];
|
|
719
|
-
/** Gap between children */
|
|
719
|
+
/** Gap between children. One distance for all of them, so it fits children of one kind; for a stack of different kinds, space each seam with nldd-spacer instead. */
|
|
720
720
|
'gap'?: NLDDContainer['gap'];
|
|
721
721
|
/** Gap at sm breakpoint */
|
|
722
722
|
'sm-gap'?: NLDDContainer['smGap'];
|
|
@@ -840,6 +840,14 @@ declare module 'vue' {
|
|
|
840
840
|
'lg-padding-left'?: NLDDContainer['lgPaddingLeft'];
|
|
841
841
|
/** Padding left at lg */
|
|
842
842
|
'lgPaddingLeft'?: NLDDContainer['lgPaddingLeft'];
|
|
843
|
+
/** 'left' | 'center' | 'right' */
|
|
844
|
+
'horizontal-alignment'?: NLDDContainer['horizontalAlignment'];
|
|
845
|
+
/** 'left' | 'center' | 'right' */
|
|
846
|
+
'horizontalAlignment'?: NLDDContainer['horizontalAlignment'];
|
|
847
|
+
/** 'top' | 'center' | 'bottom' */
|
|
848
|
+
'vertical-alignment'?: NLDDContainer['verticalAlignment'];
|
|
849
|
+
/** 'top' | 'center' | 'bottom' */
|
|
850
|
+
'verticalAlignment'?: NLDDContainer['verticalAlignment'];
|
|
843
851
|
};
|
|
844
852
|
|
|
845
853
|
type NLDDDateFieldProps = {
|
|
@@ -1128,8 +1136,8 @@ declare module 'vue' {
|
|
|
1128
1136
|
'width'?: NLDDFullBleedSection['width'];
|
|
1129
1137
|
/** Surface background ('inherit' default; 'base'/'tinted' paint and cascade a surface). */
|
|
1130
1138
|
'background'?: NLDDFullBleedSection['background'];
|
|
1131
|
-
/**
|
|
1132
|
-
'
|
|
1139
|
+
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
1140
|
+
'height'?: NLDDFullBleedSection['height'];
|
|
1133
1141
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
1134
1142
|
'padding-block'?: NLDDFullBleedSection['paddingBlock'];
|
|
1135
1143
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
@@ -1162,29 +1170,27 @@ declare module 'vue' {
|
|
|
1162
1170
|
'lgPaddingTop'?: NLDDFullBleedSection['lgPaddingTop'];
|
|
1163
1171
|
'lg-padding-bottom'?: NLDDFullBleedSection['lgPaddingBottom'];
|
|
1164
1172
|
'lgPaddingBottom'?: NLDDFullBleedSection['lgPaddingBottom'];
|
|
1165
|
-
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
1166
|
-
'height'?: NLDDFullBleedSection['height'];
|
|
1167
1173
|
};
|
|
1168
1174
|
|
|
1169
1175
|
type NLDDHeroProps = {
|
|
1170
|
-
/**
|
|
1171
|
-
'
|
|
1172
|
-
/** Position of the text panel (default: 'bottom-left'); 'left'/'right' span the full height */
|
|
1173
|
-
'mainPosition'?: NLDDHero['mainPosition'];
|
|
1174
|
-
/** Width of the panel (default: '1/2'); 'full' makes a full top or bottom strip and is ignored with 'left'/'right' */
|
|
1175
|
-
'main-width'?: NLDDHero['mainWidth'];
|
|
1176
|
-
/** Width of the panel (default: '1/2'); 'full' makes a full top or bottom strip and is ignored with 'left'/'right' */
|
|
1177
|
-
'mainWidth'?: NLDDHero['mainWidth'];
|
|
1176
|
+
/** Body max-width; 'full' removes the bound (section API) */
|
|
1177
|
+
'width'?: NLDDHero['width'];
|
|
1178
1178
|
/** Surface color of the panel: 'base' (the base surface) or a category color — 'accent' (default) or a Rijkshuisstijl color such as 'lintblauw'|'donkerblauw'|'oranje' */
|
|
1179
1179
|
'main-background'?: NLDDHero['mainBackground'];
|
|
1180
1180
|
/** Surface color of the panel: 'base' (the base surface) or a category color — 'accent' (default) or a Rijkshuisstijl color such as 'lintblauw'|'donkerblauw'|'oranje' */
|
|
1181
1181
|
'mainBackground'?: NLDDHero['mainBackground'];
|
|
1182
|
+
/** Width of the panel (default: '1/2'); 'full' makes a full top or bottom strip and is ignored with 'left'/'right' */
|
|
1183
|
+
'main-width'?: NLDDHero['mainWidth'];
|
|
1184
|
+
/** Width of the panel (default: '1/2'); 'full' makes a full top or bottom strip and is ignored with 'left'/'right' */
|
|
1185
|
+
'mainWidth'?: NLDDHero['mainWidth'];
|
|
1186
|
+
/** Position of the text panel (default: 'bottom-left'); 'left'/'right' span the full height */
|
|
1187
|
+
'main-position'?: NLDDHero['mainPosition'];
|
|
1188
|
+
/** Position of the text panel (default: 'bottom-left'); 'left'/'right' span the full height */
|
|
1189
|
+
'mainPosition'?: NLDDHero['mainPosition'];
|
|
1182
1190
|
/** Aspect ratio of the media area (CSS form, '16/9' or '16:9'); default '21/9'. On md/lg it sets the height of the hero, on sm the height of the media area */
|
|
1183
1191
|
'media-aspect-ratio'?: NLDDHero['mediaAspectRatio'];
|
|
1184
1192
|
/** Aspect ratio of the media area (CSS form, '16/9' or '16:9'); default '21/9'. On md/lg it sets the height of the hero, on sm the height of the media area */
|
|
1185
1193
|
'mediaAspectRatio'?: NLDDHero['mediaAspectRatio'];
|
|
1186
|
-
/** Body max-width; 'full' removes the bound (section API) */
|
|
1187
|
-
'width'?: NLDDHero['width'];
|
|
1188
1194
|
/** Source of the media area (an alternative to the media slot); ignored as soon as the media slot is filled */
|
|
1189
1195
|
'media-src'?: NLDDHero['mediaSrc'];
|
|
1190
1196
|
/** Source of the media area (an alternative to the media slot); ignored as soon as the media slot is filled */
|
|
@@ -1203,8 +1209,8 @@ declare module 'vue' {
|
|
|
1203
1209
|
'mediaAlt'?: NLDDHero['mediaAlt'];
|
|
1204
1210
|
/** Surface behind the hero (section API) */
|
|
1205
1211
|
'background'?: NLDDHero['background'];
|
|
1206
|
-
/**
|
|
1207
|
-
'
|
|
1212
|
+
/** Minimum height of the section (section API) */
|
|
1213
|
+
'height'?: NLDDHero['height'];
|
|
1208
1214
|
/** Block padding override, also per edge and responsive (section API) */
|
|
1209
1215
|
'padding-block'?: NLDDHero['paddingBlock'];
|
|
1210
1216
|
/** Block padding override, also per edge and responsive (section API) */
|
|
@@ -1231,13 +1237,11 @@ declare module 'vue' {
|
|
|
1231
1237
|
'lgPaddingTop'?: NLDDHero['lgPaddingTop'];
|
|
1232
1238
|
'lg-padding-bottom'?: NLDDHero['lgPaddingBottom'];
|
|
1233
1239
|
'lgPaddingBottom'?: NLDDHero['lgPaddingBottom'];
|
|
1234
|
-
/** Minimum height of the section (section API) */
|
|
1235
|
-
'height'?: NLDDHero['height'];
|
|
1236
1240
|
};
|
|
1237
1241
|
|
|
1238
1242
|
type NLDDIconProps = {
|
|
1239
|
-
/** The name of the icon to display */
|
|
1240
|
-
'
|
|
1243
|
+
/** The name of the icon to display. The same attribute every other component that renders an icon takes. */
|
|
1244
|
+
'icon'?: NLDDIcon['icon'];
|
|
1241
1245
|
/** `full` (the default) fills the container. `inherit` sizes the icon to the surrounding text (1em) and drops it onto that text's own line, for an icon set in a line of running text. Or a fixed spacer-aligned size in px (16, 20, 24, 28, 32, 40, 44, 48, 56, 64, 80, 96). */
|
|
1242
1246
|
'size'?: NLDDIcon['size'];
|
|
1243
1247
|
/** Functional (`primary-content`, `secondary-content`, `accent`, `critical`, `warning`, `success`) or rijkskleur (`lintblauw`, `donkerblauw`, `hemelblauw`, `lichtblauw`, `paars`, `violet`, `robijnrood`, `roze`, `rood`, `oranje`, `donkergeel`, `geel`, `donkerbruin`, `bruin`, `donkergroen`, `groen`, `mosgroen`, `mintgroen`). Empty = inherit `color` from parent. */
|
|
@@ -1251,8 +1255,8 @@ declare module 'vue' {
|
|
|
1251
1255
|
};
|
|
1252
1256
|
|
|
1253
1257
|
type NLDDIconButtonProps = {
|
|
1254
|
-
/**
|
|
1255
|
-
'
|
|
1258
|
+
/** Visual style, color included: 'accent-filled' | 'accent-transparent' | 'neutral-tinted' | 'neutral-transparent' | 'critical-tinted' | 'critical-transparent' | 'inherit-filled' | 'inherit-tinted' | 'primary' | 'secondary' | 'destructive'. The inherit appearances derive their colors from currentColor, for buttons on colored surfaces. */
|
|
1259
|
+
'appearance'?: NLDDIconButton['appearance'];
|
|
1256
1260
|
/** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md') */
|
|
1257
1261
|
'size'?: NLDDIconButton['size'];
|
|
1258
1262
|
/** In lg size, hides the text label and enlarges the icon by one step (28px) */
|
|
@@ -1261,11 +1265,15 @@ declare module 'vue' {
|
|
|
1261
1265
|
'hideLgText'?: NLDDIconButton['hideLgText'];
|
|
1262
1266
|
/** Loading state (default: false). Shows an activity indicator over the visually hidden icon, sets aria-busy on the inner control and blocks activation, without dropping the button from the tab order (unlike disabled). */
|
|
1263
1267
|
'loading'?: NLDDIconButton['loading'];
|
|
1268
|
+
/** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
|
|
1269
|
+
'loading-text'?: NLDDIconButton['loadingText'];
|
|
1270
|
+
/** What the screen reader announces while `loading` is on, for a button that does more than load: "Aan het bewaren". Leave it out and the activity indicator says its translated "Laden". */
|
|
1271
|
+
'loadingText'?: NLDDIconButton['loadingText'];
|
|
1264
1272
|
/** Disabled state */
|
|
1265
1273
|
'disabled'?: NLDDIconButton['disabled'];
|
|
1266
|
-
/** Removes the per-
|
|
1274
|
+
/** Removes the per-appearance highlight border (e.g. when a control group draws a single border instead). */
|
|
1267
1275
|
'no-highlight-border'?: NLDDIconButton['noHighlightBorder'];
|
|
1268
|
-
/** Removes the per-
|
|
1276
|
+
/** Removes the per-appearance highlight border (e.g. when a control group draws a single border instead). */
|
|
1269
1277
|
'noHighlightBorder'?: NLDDIconButton['noHighlightBorder'];
|
|
1270
1278
|
/** Button type for form submission: 'button' | 'submit' | 'reset' (ignored when href is set) */
|
|
1271
1279
|
'type'?: NLDDIconButton['type'];
|
|
@@ -1277,9 +1285,9 @@ declare module 'vue' {
|
|
|
1277
1285
|
'no-tab'?: NLDDIconButton['noTab'];
|
|
1278
1286
|
/** Takes the button out of the tab order (tabindex="-1"), for a control owned by a roving container (an nldd-token in nldd-token-field, a button in a row of an nldd-list) that manages focus itself. Still mouse- and script-focusable. */
|
|
1279
1287
|
'noTab'?: NLDDIconButton['noTab'];
|
|
1280
|
-
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. */
|
|
1288
|
+
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. An nldd-menu or nldd-popover in the `popup` slot, or anchored to this button, sets it itself from the first render; set it only for another kind of popup. */
|
|
1281
1289
|
'popup-type'?: NLDDIconButton['popupType'];
|
|
1282
|
-
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. */
|
|
1290
|
+
/** Type of popup container this button opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Sets aria-haspopup on the inner button and forces aria-expanded to always be present (true/false) so screen readers know the popup state. An nldd-menu or nldd-popover in the `popup` slot, or anchored to this button, sets it itself from the first render; set it only for another kind of popup. */
|
|
1283
1291
|
'popupType'?: NLDDIconButton['popupType'];
|
|
1284
1292
|
/** Width mode: 'full' (stretches to container) or any CSS length (e.g. '240px') */
|
|
1285
1293
|
'width'?: NLDDIconButton['width'];
|
|
@@ -1314,14 +1322,14 @@ declare module 'vue' {
|
|
|
1314
1322
|
};
|
|
1315
1323
|
|
|
1316
1324
|
type NLDDIconCellProps = {
|
|
1317
|
-
/** Vertical alignment: 'top' | 'center' | 'bottom' (default: 'center') */
|
|
1318
|
-
'vertical-alignment'?: NLDDIconCell['verticalAlignment'];
|
|
1319
|
-
/** Vertical alignment: 'top' | 'center' | 'bottom' (default: 'center') */
|
|
1320
|
-
'verticalAlignment'?: NLDDIconCell['verticalAlignment'];
|
|
1321
1325
|
/** Size: '16' | '20' | '24' | '32' (default: '24') */
|
|
1322
1326
|
'size'?: NLDDIconCell['size'];
|
|
1323
1327
|
/** Color variant of the icon (default: 'content') */
|
|
1324
1328
|
'color'?: NLDDIconCell['color'];
|
|
1329
|
+
/** Vertical alignment: 'top' | 'center' | 'bottom' (default: 'center') */
|
|
1330
|
+
'vertical-alignment'?: NLDDIconCell['verticalAlignment'];
|
|
1331
|
+
/** Vertical alignment: 'top' | 'center' | 'bottom' (default: 'center') */
|
|
1332
|
+
'verticalAlignment'?: NLDDIconCell['verticalAlignment'];
|
|
1325
1333
|
/** Icon name (renders `<nldd-icon>`). Takes precedence over the default slot. */
|
|
1326
1334
|
'icon'?: NLDDIconCell['icon'];
|
|
1327
1335
|
'hide-below'?: NLDDIconCell['hideBelow'];
|
|
@@ -1469,7 +1477,7 @@ declare module 'vue' {
|
|
|
1469
1477
|
/** Size: 'sm' | 'md' | 'inherit' (default: 'md'). 'inherit' takes the font-size from the container; in the box variant the keycaps then scale along in em. */
|
|
1470
1478
|
'size'?: NLDDKeyboardShortcut['size'];
|
|
1471
1479
|
/** 'box' (default) shows each key as a keycap with a fill and a highlight edge. 'simple' shows the keys as plain text with separators: lighter, for inline use such as in a menu item. */
|
|
1472
|
-
'
|
|
1480
|
+
'appearance'?: NLDDKeyboardShortcut['appearance'];
|
|
1473
1481
|
/** 'neutral' (default) uses the component colors of its own. 'inherit' lets the keys and separators follow the surrounding text color (currentColor), with a translucent contrast fill and highlight edge. Useful on a filled surface color or a highlighted row. */
|
|
1474
1482
|
'color'?: NLDDKeyboardShortcut['color'];
|
|
1475
1483
|
/** Show on touch-only devices too, where shortcuts cannot be invoked. */
|
|
@@ -1513,11 +1521,9 @@ declare module 'vue' {
|
|
|
1513
1521
|
|
|
1514
1522
|
type NLDDListProps = {
|
|
1515
1523
|
/** Visual style (default 'simple'): `simple` is a plain vertical strip with no chrome, the two `box` values a framed card with rounded corners, fill and inset border ring. `box-tinted` for a list on a plain page, `box-base` for one on an already-tinted parent (the border ring gets +2 palette steps so it still reads against a card-on-card) */
|
|
1516
|
-
'
|
|
1524
|
+
'appearance'?: NLDDList['appearance'];
|
|
1517
1525
|
/** A11y role and behavior (default 'list'). See the docblock above. */
|
|
1518
1526
|
'type'?: NLDDList['type'];
|
|
1519
|
-
/** Enables drag-to-reorder and pushes `reorderable` onto the items. Only valid with `type="list"`; there the arrow keys move rows instead of focus. */
|
|
1520
|
-
'reorderable'?: NLDDList['reorderable'];
|
|
1521
1527
|
/** When to draw the lines between the items (default 'always'). `on-touch` draws them only where the primary input is touch, under `(pointer: coarse)`: a pointer has the hover highlight to tell one row from the next and a finger has nothing, so the line earns its place in the one case and is clutter in the other. `never` hides them everywhere */
|
|
1522
1528
|
'dividers'?: NLDDList['dividers'];
|
|
1523
1529
|
/** Listbox only: caps the options' scroll region at this CSS length (e.g. '320px'). Unset means no cap. */
|
|
@@ -1528,6 +1534,8 @@ declare module 'vue' {
|
|
|
1528
1534
|
'accessibleLabel'?: NLDDList['accessibleLabel'];
|
|
1529
1535
|
/** Override translation keys; unset keys fall back to Dutch */
|
|
1530
1536
|
'translations'?: NLDDList['translations'];
|
|
1537
|
+
/** Enables drag-to-reorder and pushes `reorderable` onto the items. Only valid with `type="list"`; there the arrow keys move rows instead of focus. */
|
|
1538
|
+
'reorderable'?: NLDDList['reorderable'];
|
|
1531
1539
|
/** Reorderable `type="list"`: `{ fromIndex, toIndex }` on drop */
|
|
1532
1540
|
'onNlddReorder'?: (event: CustomEvent) => void;
|
|
1533
1541
|
/** `type="listbox"`: search value changed; `{ value }`. Toggle `[hidden]` on items to filter. */
|
|
@@ -1537,30 +1545,38 @@ declare module 'vue' {
|
|
|
1537
1545
|
type NLDDListItemProps = {
|
|
1538
1546
|
/** Row size (default: 'md'). Pushed onto the cells whose `size` means the same scale (nldd-text-cell, nldd-drag-handle-cell), so it is written once per row instead of once per cell. A size set on the cell itself wins. Cells where `size` means something else — pixels on nldd-icon-cell / nldd-spacer-cell, a heading scale on nldd-title-cell — are left alone. */
|
|
1539
1547
|
'size'?: NLDDListItem['size'];
|
|
1540
|
-
/**
|
|
1541
|
-
'
|
|
1542
|
-
/**
|
|
1543
|
-
'
|
|
1548
|
+
/** Renders the item as an `<a>` with this URL. Wins over `checkbox` and `button`; without any of the three the item is a plain container with no action. */
|
|
1549
|
+
'href'?: NLDDListItem['href'];
|
|
1550
|
+
/** Link target forwarded to the `<a>` (e.g. '_blank'); only applies with `href`. With '_blank' a visually hidden "opens in new tab" announcement is added for assistive technology. */
|
|
1551
|
+
'target'?: NLDDListItem['target'];
|
|
1552
|
+
/** Link rel forwarded to the `<a>`, only with `href`; with target '_blank', 'noopener noreferrer' is added to whatever you set */
|
|
1553
|
+
'rel'?: NLDDListItem['rel'];
|
|
1544
1554
|
/** Renders the item as a `<button>`. Last of the three: `href` and `checkbox` both win over it. */
|
|
1545
1555
|
'button'?: NLDDListItem['button'];
|
|
1546
1556
|
/** Makes the whole row a `role="checkbox"` control. Wins over `button`, loses to `href`. */
|
|
1547
1557
|
'checkbox'?: NLDDListItem['checkbox'];
|
|
1548
1558
|
/** Makes the whole row one radio of a group: the action becomes a `role="radio"` button carrying `aria-checked`, and activation sets `checked` (never clears it) and fires `change`. Put the rows in an `nldd-list type="radiogroup"`, which is what makes them a set. Wins over `button`, loses to `href` and `checkbox`. The arrow keys move focus without checking, where a native radio group and `nldd-radio-button-group` check as they go: a row can carry more than a label, so stepping past one should not commit it. */
|
|
1549
1559
|
'radio'?: NLDDListItem['radio'];
|
|
1560
|
+
/** Set by the parent `nldd-list` when its own `reorderable` is on (with `type="list"`); consumers do not set this. Serves as a CSS hook for drag handle visibility. */
|
|
1561
|
+
'reorderable'?: NLDDListItem['reorderable'];
|
|
1562
|
+
/** Marks the item as selected: it is one of the rows you picked. Selection is consumer-managed; the list never sets it. In a `navigation` parent it puts `aria-current="page"` on the inner action, in a `listbox` parent it drives `aria-selected`. */
|
|
1563
|
+
'selected'?: NLDDListItem['selected'];
|
|
1550
1564
|
/** Checked state of a `checkbox` or `radio` row. A checkbox row toggles it on activation, a radio row only ever sets it */
|
|
1551
1565
|
'checked'?: NLDDListItem['checked'];
|
|
1552
|
-
/** Switches the row's own control off: a `button` or `checkbox` row stops responding and dims, a `href` row gets `aria-disabled` and its click is blocked (a link cannot be disabled natively). A row without a control of its own has nothing to switch off, and segments carry their own `disabled`. The arrow keys skip a disabled row. */
|
|
1553
|
-
'disabled'?: NLDDListItem['disabled'];
|
|
1554
1566
|
/** Disclosure state. Drives the `children` group's visibility AND supplies `aria-expanded` — to the row's own control when the row is interactive, or to the segment marked `disclosure`. Written once either way; the item DEV-warns when there is nowhere for it to live. */
|
|
1555
1567
|
'expanded'?: NLDDListItem['expanded'];
|
|
1556
|
-
/**
|
|
1557
|
-
'
|
|
1558
|
-
/**
|
|
1559
|
-
'
|
|
1560
|
-
/**
|
|
1561
|
-
'
|
|
1562
|
-
/**
|
|
1563
|
-
'
|
|
1568
|
+
/** Marks the item as the one you are on: the page a menu row points at, the record a list has open. Exactly one row in a list carries it, where `selected` may be on many. It paints like `selected` at rest, and takes the highlighted fill while focus is anywhere in the row — including inside a nested `nldd-list-item-segment`, which is what a segmented row needs: the focus never reaches the row's own control, because there is none. In a `navigation` parent it puts `aria-current="page"` on the inner action. On a segmented row set it on the segment that holds the link instead: the row reads `current` off its own segments and paints itself, so it is written once, where `aria-current` belongs. */
|
|
1569
|
+
'current'?: NLDDListItem['current'];
|
|
1570
|
+
/** Switches the row's own control off: a `button` or `checkbox` row stops responding and dims, a `href` row gets `aria-disabled` and its click is blocked (a link cannot be disabled natively). A row without a control of its own has nothing to switch off, and segments carry their own `disabled`. The arrow keys skip a disabled row. */
|
|
1571
|
+
'disabled'?: NLDDListItem['disabled'];
|
|
1572
|
+
/** The divider starts at this cell instead of at the row's first text or title cell. On the leading cell it restores the full-width line. */
|
|
1573
|
+
'divider-start'?: NLDDListItem['dividerStart'];
|
|
1574
|
+
/** The divider starts at this cell instead of at the row's first text or title cell. On the leading cell it restores the full-width line. */
|
|
1575
|
+
'dividerStart'?: NLDDListItem['dividerStart'];
|
|
1576
|
+
/** The divider stops after this cell. With several markers the line runs from the first start to the last end. */
|
|
1577
|
+
'divider-end'?: NLDDListItem['dividerEnd'];
|
|
1578
|
+
/** The divider stops after this cell. With several markers the line runs from the first start to the last end. */
|
|
1579
|
+
'dividerEnd'?: NLDDListItem['dividerEnd'];
|
|
1564
1580
|
'translations'?: NLDDListItem['translations'];
|
|
1565
1581
|
/** Nested rows sit in this item's `children` slot, not the list's, so a plain `querySelector` from the list walks past them. */
|
|
1566
1582
|
'childRows'?: NLDDListItem['childRows'];
|
|
@@ -1571,41 +1587,65 @@ declare module 'vue' {
|
|
|
1571
1587
|
};
|
|
1572
1588
|
|
|
1573
1589
|
type NLDDListItemSegmentProps = {
|
|
1574
|
-
/**
|
|
1575
|
-
'
|
|
1590
|
+
/** `full` lets the segment grow to fill the row (default: 'fit-content') */
|
|
1591
|
+
'width'?: NLDDListItemSegment['width'];
|
|
1576
1592
|
/** Renders the segment as an `<a>` with this URL. Wins over `checkbox` and `button`. */
|
|
1577
1593
|
'href'?: NLDDListItemSegment['href'];
|
|
1578
1594
|
/** Link target forwarded to the `<a>`; only applies with `href` */
|
|
1579
1595
|
'target'?: NLDDListItemSegment['target'];
|
|
1580
1596
|
/** Link rel forwarded to the `<a>`, only with `href`; with target '_blank', 'noopener noreferrer' is added to whatever you set */
|
|
1581
1597
|
'rel'?: NLDDListItemSegment['rel'];
|
|
1598
|
+
/** Renders the segment as a `<button>`. Last of the three: `href` and `checkbox` both win over it. */
|
|
1599
|
+
'button'?: NLDDListItemSegment['button'];
|
|
1582
1600
|
/** Makes the segment a `role="checkbox"` control. Wins over `button`, loses to `href`. */
|
|
1583
1601
|
'checkbox'?: NLDDListItemSegment['checkbox'];
|
|
1602
|
+
/** Marks the segment as the row's disclosure control: `aria-expanded` comes from the parent item's `expanded`, so the state lives in one place. A slotted `nldd-icon-cell` rotates a quarter turn while the row is open */
|
|
1603
|
+
'disclosure'?: NLDDListItemSegment['disclosure'];
|
|
1604
|
+
/** Accessible name for the control. Set it when the segment holds only an icon, or when the cell text does not describe the action. */
|
|
1605
|
+
'accessible-label'?: NLDDListItemSegment['accessibleLabel'];
|
|
1606
|
+
/** Accessible name for the control. Set it when the segment holds only an icon, or when the cell text does not describe the action. */
|
|
1607
|
+
'accessibleLabel'?: NLDDListItemSegment['accessibleLabel'];
|
|
1584
1608
|
/** Checked state of a `checkbox` segment; it toggles on activation */
|
|
1585
1609
|
'checked'?: NLDDListItemSegment['checked'];
|
|
1586
1610
|
/** Disclosure state, reflected as `aria-expanded` on the control, and painted: the segment stays lit a step above hover for as long as what it opened is on screen, so a menu reads as hanging off this row rather than floating over the list. Set it on the segment that opens something (a tree row's chevron, a menu). Leave it off entirely when the segment discloses nothing — an absent attribute emits no aria-expanded. */
|
|
1587
1611
|
'expanded'?: NLDDListItemSegment['expanded'];
|
|
1588
|
-
/**
|
|
1589
|
-
'
|
|
1612
|
+
/** Type of popup this segment opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Becomes aria-haspopup on the control and makes aria-expanded permanent, so a row of identical "more" segments says what it opens before anything is open. An nldd-menu or nldd-popover anchored here sets it itself from the first render. */
|
|
1613
|
+
'popup-type'?: NLDDListItemSegment['popupType'];
|
|
1614
|
+
/** Type of popup this segment opens: 'menu' | 'listbox' | 'dialog' | 'tree' | 'grid'. Becomes aria-haspopup on the control and makes aria-expanded permanent, so a row of identical "more" segments says what it opens before anything is open. An nldd-menu or nldd-popover anchored here sets it itself from the first render. */
|
|
1615
|
+
'popupType'?: NLDDListItemSegment['popupType'];
|
|
1616
|
+
/** ID of a popover this segment toggles; forwarded to the inner button. The IDL counterparts `popoverTargetElement` and `popoverTargetAction` work across shadow boundaries, as on nldd-icon-button. */
|
|
1617
|
+
'popovertarget'?: NLDDListItemSegment['popovertarget'];
|
|
1590
1618
|
/** Marks the segment as the current page (`aria-current="page"`). The row it sits in paints itself as the current row from it, so on a segmented row this is the only place it has to be set. */
|
|
1591
1619
|
'current'?: NLDDListItemSegment['current'];
|
|
1592
1620
|
/** Switches the segment off: a `button` or `checkbox` segment stops responding and dims, a `href` segment gets `aria-disabled` and its click is blocked (a link cannot be disabled natively). The arrow keys skip a row whose only segment is off. */
|
|
1593
1621
|
'disabled'?: NLDDListItemSegment['disabled'];
|
|
1594
|
-
/**
|
|
1595
|
-
'
|
|
1596
|
-
/**
|
|
1597
|
-
'
|
|
1598
|
-
/**
|
|
1599
|
-
'
|
|
1622
|
+
/** The row's divider starts at this cell instead of at its first text or title cell. */
|
|
1623
|
+
'divider-start'?: NLDDListItemSegment['dividerStart'];
|
|
1624
|
+
/** The row's divider starts at this cell instead of at its first text or title cell. */
|
|
1625
|
+
'dividerStart'?: NLDDListItemSegment['dividerStart'];
|
|
1626
|
+
/** The row's divider stops after this cell. */
|
|
1627
|
+
'divider-end'?: NLDDListItemSegment['dividerEnd'];
|
|
1628
|
+
/** The row's divider stops after this cell. */
|
|
1629
|
+
'dividerEnd'?: NLDDListItemSegment['dividerEnd'];
|
|
1630
|
+
/** Direct element reference to that popover, for one living in another tree (an nldd-menu reparented to the body). IDL-only, like the counterpart on nldd-icon-button, so the browser still treats this segment's button as the popover's invoker. */
|
|
1631
|
+
'popoverTargetElement'?: NLDDListItemSegment['popoverTargetElement'];
|
|
1632
|
+
/** Action the browser performs on click, mirroring popovertargetaction. */
|
|
1633
|
+
'popoverTargetAction'?: NLDDListItemSegment['popoverTargetAction'];
|
|
1600
1634
|
/** On a `checkbox` segment after it toggles; detail: { checked: boolean } */
|
|
1601
1635
|
'onChange'?: (event: CustomEvent) => void;
|
|
1602
1636
|
};
|
|
1603
1637
|
|
|
1604
1638
|
type NLDDMenuProps = {
|
|
1639
|
+
/** Explicit width, pinned exactly (sets --_width and clamps min/max to it). Leave unset to let the menu size to its content between a minimum and a viewport-aware maximum of min(100vw - inset, 640px). */
|
|
1640
|
+
'width'?: NLDDMenu['width'];
|
|
1605
1641
|
/** ID of the anchor element. Positions the menu against it AND makes it a toggle: the menu listens on document click and opens/closes itself when the click lands on the anchor. Use this for a menu hung off a button. For a menu you open yourself (a type-ahead under a text field, say), set the `anchorElement` property instead — same positioning, no toggle. */
|
|
1606
1642
|
'anchor'?: NLDDMenu['anchor'];
|
|
1607
1643
|
/** Floating UI placement. Default: 'bottom-start'. */
|
|
1608
1644
|
'placement'?: NLDDMenu['placement'];
|
|
1645
|
+
/** Maximum number of visible items before the menu scrolls. Sets --_max-items internally. Default: 0 (no limit). */
|
|
1646
|
+
'max-items'?: NLDDMenu['maxItems'];
|
|
1647
|
+
/** Maximum number of visible items before the menu scrolls. Sets --_max-items internally. Default: 0 (no limit). */
|
|
1648
|
+
'maxItems'?: NLDDMenu['maxItems'];
|
|
1609
1649
|
/** Text of the default empty-state dialog. Falls back to Dutch i18n "Geen opties beschikbaar". */
|
|
1610
1650
|
'empty-text'?: NLDDMenu['emptyText'];
|
|
1611
1651
|
/** Text of the default empty-state dialog. Falls back to Dutch i18n "Geen opties beschikbaar". */
|
|
@@ -1614,12 +1654,6 @@ declare module 'vue' {
|
|
|
1614
1654
|
'empty-supporting-text'?: NLDDMenu['emptySupportingText'];
|
|
1615
1655
|
/** Supporting text of the default empty-state dialog. */
|
|
1616
1656
|
'emptySupportingText'?: NLDDMenu['emptySupportingText'];
|
|
1617
|
-
/** Explicit width, pinned exactly (sets --_width and clamps min/max to it). Leave unset to let the menu size to its content between a minimum and a viewport-aware maximum of min(100vw - inset, 640px). */
|
|
1618
|
-
'width'?: NLDDMenu['width'];
|
|
1619
|
-
/** Maximum number of visible items before the menu scrolls. Sets --_max-items internally. Default: 0 (no limit). */
|
|
1620
|
-
'max-items'?: NLDDMenu['maxItems'];
|
|
1621
|
-
/** Maximum number of visible items before the menu scrolls. Sets --_max-items internally. Default: 0 (no limit). */
|
|
1622
|
-
'maxItems'?: NLDDMenu['maxItems'];
|
|
1623
1657
|
/** Override one or more translation keys. Unset keys fall back to the Dutch default. */
|
|
1624
1658
|
'translations'?: NLDDMenu['translations'];
|
|
1625
1659
|
/** Custom filter function (query, item) => boolean. */
|
|
@@ -1696,32 +1730,32 @@ declare module 'vue' {
|
|
|
1696
1730
|
};
|
|
1697
1731
|
|
|
1698
1732
|
type NLDDMenuItemProps = {
|
|
1733
|
+
/** Marks the item as destructive (red text; red highlight bg). Use for irreversible actions like "Delete". Color is the only built-in signal, so per WCAG 1.4.1 the item's own label must convey the destructive nature (e.g. "Verwijder") — don't rely on the red alone. Confirming the action (e.g. a follow-up dialog) is the consumer's responsibility. */
|
|
1734
|
+
'destructive'?: NLDDMenuItem['destructive'];
|
|
1699
1735
|
/** Display text. Supports **bold** markdown syntax. */
|
|
1700
1736
|
'text'?: NLDDMenuItem['text'];
|
|
1701
|
-
/** A value of the item's own, read off the item in a `select` handler. The default filter matches on it as well as on `text` and `aliases`. Not a form value: this component is not form-associated. */
|
|
1702
|
-
'value'?: NLDDMenuItem['value'];
|
|
1703
|
-
/** Optional link target. A plain button item with an href renders as an `<a>` so it is a real link (middle-click, open in new tab, copy link). Ignored for submenu openers, checkbox/radio items, and while disabled. */
|
|
1704
|
-
'href'?: NLDDMenuItem['href'];
|
|
1705
|
-
/** Space-separated alternative search terms. */
|
|
1706
|
-
'aliases'?: NLDDMenuItem['aliases'];
|
|
1707
1737
|
/** Secondary label shown on the right side. */
|
|
1708
1738
|
'details'?: NLDDMenuItem['details'];
|
|
1739
|
+
/** Icon name rendered before the text. */
|
|
1740
|
+
'icon'?: NLDDMenuItem['icon'];
|
|
1709
1741
|
/** Keyboard shortcut hint shown on the right, e.g. 'Cmd+E'. Display only (rendered via nldd-keyboard-shortcut) — it does not bind the key; wire up the handling in your app. Hidden on touch-only devices, where it isn't invokable. */
|
|
1710
1742
|
'shortcut'?: NLDDMenuItem['shortcut'];
|
|
1711
1743
|
/** / shortcut-windows / shortcut-linux - Per-OS overrides for `shortcut`, picked by detected OS (falls back to `shortcut`). */
|
|
1712
1744
|
'shortcut-mac'?: NLDDMenuItem['shortcutMac'];
|
|
1713
1745
|
/** / shortcut-windows / shortcut-linux - Per-OS overrides for `shortcut`, picked by detected OS (falls back to `shortcut`). */
|
|
1714
1746
|
'shortcutMac'?: NLDDMenuItem['shortcutMac'];
|
|
1715
|
-
/**
|
|
1716
|
-
'
|
|
1717
|
-
/** Item type: 'button' | 'checkbox' | 'radio'. Default: 'button'. */
|
|
1747
|
+
/** Optional link target. A plain button item with an href renders as an `<a>` so it is a real link (middle-click, open in new tab, copy link). Ignored for submenu openers, checkbox/radio items, and while disabled. */
|
|
1748
|
+
'href'?: NLDDMenuItem['href'];
|
|
1749
|
+
/** Item type: 'button' | 'checkbox' | 'radio'. Default: 'button'. One checkbox or radio item gives every item in its menu the check-mark column, so the text of the whole menu starts at one line, as in a native menu. Submenus decide for themselves. */
|
|
1718
1750
|
'type'?: NLDDMenuItem['type'];
|
|
1719
1751
|
/** Selected state for checkbox and radio types. */
|
|
1720
1752
|
'selected'?: NLDDMenuItem['selected'];
|
|
1721
|
-
/** Marks the item as destructive (red text; red highlight bg). Use for irreversible actions like "Delete". Color is the only built-in signal, so per WCAG 1.4.1 the item's own label must convey the destructive nature (e.g. "Verwijder") — don't rely on the red alone. Confirming the action (e.g. a follow-up dialog) is the consumer's responsibility. */
|
|
1722
|
-
'destructive'?: NLDDMenuItem['destructive'];
|
|
1723
1753
|
/** Disabled state. */
|
|
1724
1754
|
'disabled'?: NLDDMenuItem['disabled'];
|
|
1755
|
+
/** A value of the item's own, read off the item in a `select` handler. The default filter matches on it as well as on `text` and `aliases`. Not a form value: this component is not form-associated. */
|
|
1756
|
+
'value'?: NLDDMenuItem['value'];
|
|
1757
|
+
/** Space-separated alternative search terms. */
|
|
1758
|
+
'aliases'?: NLDDMenuItem['aliases'];
|
|
1725
1759
|
/** Query substring to bold-highlight in text. Set by menu's filter(); also settable by consumers. */
|
|
1726
1760
|
'query'?: NLDDMenuItem['query'];
|
|
1727
1761
|
/** 'match' | 'predictive' (default: 'predictive'). See text-cell for details. */
|
|
@@ -1734,6 +1768,8 @@ declare module 'vue' {
|
|
|
1734
1768
|
'shortcutLinux'?: NLDDMenuItem['shortcutLinux'];
|
|
1735
1769
|
/** Which menu owns this item, set by that nldd-menu. Not part of the public API. `null` until one claims it, and an unclaimed item carries no menu role. A menu role is a promise about what is around you, so an item cannot make it on its own. `nldd-toolbar-item` holds exactly such an item: the declaration of what belongs in the overflow menu, which the toolbar clones into the real menu when it collapses. The clone is claimed there and the declaration stays what it is. */
|
|
1736
1770
|
'menuVariant'?: NLDDMenuItem['menuVariant'];
|
|
1771
|
+
/** Whether this item keeps the check-mark column free without being checkable, because another item in its menu is. Set by that nldd-menu. Not part of the public API. */
|
|
1772
|
+
'checkColumn'?: NLDDMenuItem['checkColumn'];
|
|
1737
1773
|
'onMenuItemFocused'?: (event: CustomEvent) => void;
|
|
1738
1774
|
'onSubmenuOpen'?: (event: CustomEvent) => void;
|
|
1739
1775
|
/** Fired when the item is clicked and not disabled. */
|
|
@@ -1743,25 +1779,27 @@ declare module 'vue' {
|
|
|
1743
1779
|
type NLDDModalDialogProps = {
|
|
1744
1780
|
/** Forwarded to nldd-inline-dialog; 'alert' forces icon and color */
|
|
1745
1781
|
'variant'?: NLDDModalDialog['variant'];
|
|
1746
|
-
/** Forwarded to nldd-inline-dialog
|
|
1747
|
-
'
|
|
1782
|
+
/** Forwarded to nldd-inline-dialog. Unset derives it there: slotted content aligns left, a bare message stays centered. */
|
|
1783
|
+
'horizontal-alignment'?: NLDDModalDialog['horizontalAlignment'];
|
|
1784
|
+
/** Forwarded to nldd-inline-dialog. Unset derives it there: slotted content aligns left, a bare message stays centered. */
|
|
1785
|
+
'horizontalAlignment'?: NLDDModalDialog['horizontalAlignment'];
|
|
1748
1786
|
/** Forwarded to nldd-inline-dialog; main text */
|
|
1749
1787
|
'text'?: NLDDModalDialog['text'];
|
|
1750
1788
|
/** Forwarded to nldd-inline-dialog; supporting text */
|
|
1751
1789
|
'supporting-text'?: NLDDModalDialog['supportingText'];
|
|
1752
1790
|
/** Forwarded to nldd-inline-dialog; supporting text */
|
|
1753
1791
|
'supportingText'?: NLDDModalDialog['supportingText'];
|
|
1754
|
-
/** Forwarded to nldd-inline-dialog
|
|
1755
|
-
'
|
|
1756
|
-
/** Forwarded to nldd-inline-dialog. Unset derives it there: slotted content aligns left, a bare message stays centered. */
|
|
1757
|
-
'horizontalAlignment'?: NLDDModalDialog['horizontalAlignment'];
|
|
1792
|
+
/** Forwarded to nldd-inline-dialog; absent when not set */
|
|
1793
|
+
'icon'?: NLDDModalDialog['icon'];
|
|
1758
1794
|
/** Accessible name for the dialog (aria-label); falls back to text */
|
|
1759
1795
|
'accessible-label'?: NLDDModalDialog['accessibleLabel'];
|
|
1760
1796
|
/** Accessible name for the dialog (aria-label); falls back to text */
|
|
1761
1797
|
'accessibleLabel'?: NLDDModalDialog['accessibleLabel'];
|
|
1798
|
+
/** Whether the dialog is open. Set it to open or close the dialog, as an alternative to show() and hide(). The dialog clears it itself when it closes another way (Escape, the backdrop), so bind it together with the close event. */
|
|
1799
|
+
'open'?: NLDDModalDialog['open'];
|
|
1762
1800
|
/** When the dialog is opened */
|
|
1763
1801
|
'onOpen'?: (event: CustomEvent) => void;
|
|
1764
|
-
/** When the dialog is fully closed. Does not bubble: overlays nest, and a listener on one dialog asking about that dialog should not also hear the form it opened. */
|
|
1802
|
+
/** When the dialog is fully closed. Does not bubble: overlays nest, and a listener on one dialog asking about that dialog should not also hear the form it opened. The dismiss button of an nldd-top-title-bar inside it fires `dismiss`, which bubbles; this component catches that itself, closes and fires `close`. Listen to `close` alone, or one click runs your handler twice. */
|
|
1765
1803
|
'onClose'?: (event: CustomEvent) => void;
|
|
1766
1804
|
};
|
|
1767
1805
|
|
|
@@ -1824,10 +1862,6 @@ declare module 'vue' {
|
|
|
1824
1862
|
};
|
|
1825
1863
|
|
|
1826
1864
|
type NLDDNavigationSplitViewProps = {
|
|
1827
|
-
/** Inspector hidden to free up space for other panes (read-only, set by the split view) */
|
|
1828
|
-
'inspector-auto-hidden'?: NLDDNavigationSplitView['inspectorAutoHidden'];
|
|
1829
|
-
/** Inspector hidden to free up space for other panes (read-only, set by the split view) */
|
|
1830
|
-
'inspectorAutoHidden'?: NLDDNavigationSplitView['inspectorAutoHidden'];
|
|
1831
1865
|
/** Always show the inspector as a sheet regardless of available space */
|
|
1832
1866
|
'inspector-as-sheet'?: NLDDNavigationSplitView['inspectorAsSheet'];
|
|
1833
1867
|
/** Always show the inspector as a sheet regardless of available space */
|
|
@@ -1836,10 +1870,6 @@ declare module 'vue' {
|
|
|
1836
1870
|
'primary-sidebar-as-sheet'?: NLDDNavigationSplitView['primarySidebarAsSheet'];
|
|
1837
1871
|
/** Always show the primary sidebar as a sheet, keeping main visible at full width */
|
|
1838
1872
|
'primarySidebarAsSheet'?: NLDDNavigationSplitView['primarySidebarAsSheet'];
|
|
1839
|
-
/** @deprecated alias for primary-sidebar-as-sheet (kept for backwards compatibility) */
|
|
1840
|
-
'sidebar-as-sheet'?: NLDDNavigationSplitView['sidebarAsSheet'];
|
|
1841
|
-
/** @deprecated alias for primary-sidebar-as-sheet (kept for backwards compatibility) */
|
|
1842
|
-
'sidebarAsSheet'?: NLDDNavigationSplitView['sidebarAsSheet'];
|
|
1843
1873
|
/** Accessible name for the inspector sheet dialog (default: 'Details') */
|
|
1844
1874
|
'inspector-accessible-label'?: NLDDNavigationSplitView['inspectorAccessibleLabel'];
|
|
1845
1875
|
/** Accessible name for the inspector sheet dialog (default: 'Details') */
|
|
@@ -1848,6 +1878,14 @@ declare module 'vue' {
|
|
|
1848
1878
|
'primary-sidebar-accessible-label'?: NLDDNavigationSplitView['primarySidebarAccessibleLabel'];
|
|
1849
1879
|
/** Accessible name for the primary sidebar sheet dialog (default: 'Navigatie') */
|
|
1850
1880
|
'primarySidebarAccessibleLabel'?: NLDDNavigationSplitView['primarySidebarAccessibleLabel'];
|
|
1881
|
+
/** Inspector hidden to free up space for other panes (read-only, set by the split view) */
|
|
1882
|
+
'inspector-auto-hidden'?: NLDDNavigationSplitView['inspectorAutoHidden'];
|
|
1883
|
+
/** Inspector hidden to free up space for other panes (read-only, set by the split view) */
|
|
1884
|
+
'inspectorAutoHidden'?: NLDDNavigationSplitView['inspectorAutoHidden'];
|
|
1885
|
+
/** @deprecated alias for primary-sidebar-as-sheet (kept for backwards compatibility) */
|
|
1886
|
+
'sidebar-as-sheet'?: NLDDNavigationSplitView['sidebarAsSheet'];
|
|
1887
|
+
/** @deprecated alias for primary-sidebar-as-sheet (kept for backwards compatibility) */
|
|
1888
|
+
'sidebarAsSheet'?: NLDDNavigationSplitView['sidebarAsSheet'];
|
|
1851
1889
|
/** @deprecated alias for primary-sidebar-accessible-label (kept for backwards compatibility) */
|
|
1852
1890
|
'sidebar-accessible-label'?: NLDDNavigationSplitView['sidebarAccessibleLabel'];
|
|
1853
1891
|
/** @deprecated alias for primary-sidebar-accessible-label (kept for backwards compatibility) */
|
|
@@ -1917,8 +1955,8 @@ declare module 'vue' {
|
|
|
1917
1955
|
'width'?: NLDDOneHalfOneHalfSection['width'];
|
|
1918
1956
|
/** Surface background ('inherit' default; 'base'/'tinted' paint and cascade a surface). */
|
|
1919
1957
|
'background'?: NLDDOneHalfOneHalfSection['background'];
|
|
1920
|
-
/**
|
|
1921
|
-
'
|
|
1958
|
+
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
1959
|
+
'height'?: NLDDOneHalfOneHalfSection['height'];
|
|
1922
1960
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
1923
1961
|
'padding-block'?: NLDDOneHalfOneHalfSection['paddingBlock'];
|
|
1924
1962
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
@@ -1951,8 +1989,6 @@ declare module 'vue' {
|
|
|
1951
1989
|
'lgPaddingTop'?: NLDDOneHalfOneHalfSection['lgPaddingTop'];
|
|
1952
1990
|
'lg-padding-bottom'?: NLDDOneHalfOneHalfSection['lgPaddingBottom'];
|
|
1953
1991
|
'lgPaddingBottom'?: NLDDOneHalfOneHalfSection['lgPaddingBottom'];
|
|
1954
|
-
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
1955
|
-
'height'?: NLDDOneHalfOneHalfSection['height'];
|
|
1956
1992
|
};
|
|
1957
1993
|
|
|
1958
1994
|
type NLDDOneThirdTwoThirdsSectionProps = {
|
|
@@ -1960,8 +1996,8 @@ declare module 'vue' {
|
|
|
1960
1996
|
'width'?: NLDDOneThirdTwoThirdsSection['width'];
|
|
1961
1997
|
/** Surface background ('inherit' default; 'base'/'tinted' paint and cascade a surface). */
|
|
1962
1998
|
'background'?: NLDDOneThirdTwoThirdsSection['background'];
|
|
1963
|
-
/**
|
|
1964
|
-
'
|
|
1999
|
+
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
2000
|
+
'height'?: NLDDOneThirdTwoThirdsSection['height'];
|
|
1965
2001
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
1966
2002
|
'padding-block'?: NLDDOneThirdTwoThirdsSection['paddingBlock'];
|
|
1967
2003
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
@@ -1994,11 +2030,15 @@ declare module 'vue' {
|
|
|
1994
2030
|
'lgPaddingTop'?: NLDDOneThirdTwoThirdsSection['lgPaddingTop'];
|
|
1995
2031
|
'lg-padding-bottom'?: NLDDOneThirdTwoThirdsSection['lgPaddingBottom'];
|
|
1996
2032
|
'lgPaddingBottom'?: NLDDOneThirdTwoThirdsSection['lgPaddingBottom'];
|
|
1997
|
-
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
1998
|
-
'height'?: NLDDOneThirdTwoThirdsSection['height'];
|
|
1999
2033
|
};
|
|
2000
2034
|
|
|
2001
2035
|
type NLDDPageProps = {
|
|
2036
|
+
/** Use a gray background instead of white */
|
|
2037
|
+
'background'?: NLDDPage['background'];
|
|
2038
|
+
/** Name of the landmark this page is: the region it becomes beside another page, or its main landmark */
|
|
2039
|
+
'accessible-label'?: NLDDPage['accessibleLabel'];
|
|
2040
|
+
/** Name of the landmark this page is: the region it becomes beside another page, or its main landmark */
|
|
2041
|
+
'accessibleLabel'?: NLDDPage['accessibleLabel'];
|
|
2002
2042
|
/** Sticky header */
|
|
2003
2043
|
'sticky-header'?: NLDDPage['stickyHeader'];
|
|
2004
2044
|
/** Sticky header */
|
|
@@ -2007,8 +2047,8 @@ declare module 'vue' {
|
|
|
2007
2047
|
'sticky-footer'?: NLDDPage['stickyFooter'];
|
|
2008
2048
|
/** Sticky footer */
|
|
2009
2049
|
'stickyFooter'?: NLDDPage['stickyFooter'];
|
|
2010
|
-
/**
|
|
2011
|
-
'
|
|
2050
|
+
/** Whether this page carries the document's landmarks: 'auto' (default) derives it from where the page sits, 'page' keeps banner, main and contentinfo, 'region' drops all three */
|
|
2051
|
+
'landmarks'?: NLDDPage['landmarks'];
|
|
2012
2052
|
'scrollTarget'?: NLDDPage['scrollTarget'];
|
|
2013
2053
|
};
|
|
2014
2054
|
|
|
@@ -2027,10 +2067,10 @@ declare module 'vue' {
|
|
|
2027
2067
|
};
|
|
2028
2068
|
|
|
2029
2069
|
type NLDDPageFooterLegalBarItemProps = {
|
|
2030
|
-
/** Link target. When omitted, the item renders as plain text. */
|
|
2031
|
-
'href'?: NLDDPageFooterLegalBarItem['href'];
|
|
2032
2070
|
/** Item label. Falls back to the default slot. */
|
|
2033
2071
|
'text'?: NLDDPageFooterLegalBarItem['text'];
|
|
2072
|
+
/** Link target. When omitted, the item renders as plain text. */
|
|
2073
|
+
'href'?: NLDDPageFooterLegalBarItem['href'];
|
|
2034
2074
|
};
|
|
2035
2075
|
|
|
2036
2076
|
type NLDDPaginationProps = {
|
|
@@ -2117,34 +2157,35 @@ declare module 'vue' {
|
|
|
2117
2157
|
};
|
|
2118
2158
|
|
|
2119
2159
|
type NLDDPopoverProps = {
|
|
2160
|
+
/** Width as a CSS length (default: 320px through --components-popover-default-width). A content-based size (`fit-content`, `min-content`, `max-content`, `auto`) is refused: the popover is an inline-size container so slotted components can adapt to it, and its width cannot then come from that same content. Such a value is ignored, with a warning in DEV. */
|
|
2161
|
+
'width'?: NLDDPopover['width'];
|
|
2162
|
+
/** On an sm viewport (where the popover renders as a bottom sheet) fills the whole available height instead of shrinking to its content. No effect on md and up (anchored mode). Opt-in for content-heavy cases such as search results or long detail views; content-sized is the default, following the Apple and Material convention. */
|
|
2163
|
+
'sm-full-height'?: NLDDPopover['smFullHeight'];
|
|
2164
|
+
/** On an sm viewport (where the popover renders as a bottom sheet) fills the whole available height instead of shrinking to its content. No effect on md and up (anchored mode). Opt-in for content-heavy cases such as search results or long detail views; content-sized is the default, following the Apple and Material convention. */
|
|
2165
|
+
'smFullHeight'?: NLDDPopover['smFullHeight'];
|
|
2120
2166
|
/** ID of the trigger element, used for positioning */
|
|
2121
2167
|
'anchor'?: NLDDPopover['anchor'];
|
|
2122
2168
|
/** Floating UI placement (default: 'bottom-start') */
|
|
2123
2169
|
'placement'?: NLDDPopover['placement'];
|
|
2124
|
-
/** Width as a CSS length (default: 320px through --components-popover-default-width). A content-based size (`fit-content`, `min-content`, `max-content`, `auto`) is refused: the popover is an inline-size container so slotted components can adapt to it, and its width cannot then come from that same content. Such a value is ignored, with a warning in DEV. */
|
|
2125
|
-
'width'?: NLDDPopover['width'];
|
|
2126
2170
|
/** CSS top position. When set (on its own, or together with other edge attributes or `centered`) Floating UI's anchor positioning is skipped and the popover stands free on the screen. The `anchor` is still needed for the ARIA link on the trigger. No effect on sm, where the bottom sheet wins. */
|
|
2127
2171
|
'top'?: NLDDPopover['top'];
|
|
2128
|
-
/** CSS left position. See `top` for the semantics. */
|
|
2129
|
-
'left'?: NLDDPopover['left'];
|
|
2130
2172
|
/** CSS right position. See `top` for the semantics. */
|
|
2131
2173
|
'right'?: NLDDPopover['right'];
|
|
2132
2174
|
/** CSS bottom position. See `top` for the semantics. */
|
|
2133
2175
|
'bottom'?: NLDDPopover['bottom'];
|
|
2176
|
+
/** CSS left position. See `top` for the semantics. */
|
|
2177
|
+
'left'?: NLDDPopover['left'];
|
|
2134
2178
|
/** Centers both axes on the viewport. Overridable per axis: `centered top="0"` is centered horizontally, aligned to the top. Mirrors CSS `place-items: center` with `align-items`/`justify-items` overrides. */
|
|
2135
2179
|
'centered'?: NLDDPopover['centered'];
|
|
2136
|
-
/** On an sm viewport (where the popover renders as a bottom sheet) fills the whole available height instead of shrinking to its content. No effect on md and up (anchored mode). Opt-in for content-heavy cases such as search results or long detail views; content-sized is the default, following the Apple and Material convention. */
|
|
2137
|
-
'sm-full-height'?: NLDDPopover['smFullHeight'];
|
|
2138
|
-
/** On an sm viewport (where the popover renders as a bottom sheet) fills the whole available height instead of shrinking to its content. No effect on md and up (anchored mode). Opt-in for content-heavy cases such as search results or long detail views; content-sized is the default, following the Apple and Material convention. */
|
|
2139
|
-
'smFullHeight'?: NLDDPopover['smFullHeight'];
|
|
2140
2180
|
/** (required) Accessible name (aria-label). Falls back to the i18n default ('Popover') when unset — always give a unique, describing name. */
|
|
2141
2181
|
'accessible-label'?: NLDDPopover['accessibleLabel'];
|
|
2142
2182
|
/** (required) Accessible name (aria-label). Falls back to the i18n default ('Popover') when unset — always give a unique, describing name. */
|
|
2143
2183
|
'accessibleLabel'?: NLDDPopover['accessibleLabel'];
|
|
2144
2184
|
/** Override translation keys; unset keys fall back to the Dutch default. */
|
|
2145
2185
|
'translations'?: NLDDPopover['translations'];
|
|
2146
|
-
|
|
2186
|
+
/** Whether the popover is open. Set it to open or close the popover, as an alternative to show() and hide(); opening needs an anchor, and without one it stays unset. The popover clears it itself when it closes another way (Escape, a click outside), so bind it together with the close event. */
|
|
2147
2187
|
'open'?: NLDDPopover['open'];
|
|
2188
|
+
'anchorElement'?: NLDDPopover['anchorElement'];
|
|
2148
2189
|
/** When the popover opens */
|
|
2149
2190
|
'onOpen'?: (event: CustomEvent) => void;
|
|
2150
2191
|
/** When the popover closes. Does not bubble: overlays nest, and a listener on the sheet or window around this one should not hear it close. */
|
|
@@ -2153,7 +2194,7 @@ declare module 'vue' {
|
|
|
2153
2194
|
|
|
2154
2195
|
type NLDDProgressBarProps = {
|
|
2155
2196
|
/** Semantics for ARIA and visualization (default: 'progress') */
|
|
2156
|
-
'
|
|
2197
|
+
'variant'?: NLDDProgressBar['variant'];
|
|
2157
2198
|
/** Total value (default: 100) */
|
|
2158
2199
|
'max'?: NLDDProgressBar['max'];
|
|
2159
2200
|
/** Single-segment shorthand (ignored when segment children are present) */
|
|
@@ -2201,7 +2242,7 @@ declare module 'vue' {
|
|
|
2201
2242
|
|
|
2202
2243
|
type NLDDProgressCircleProps = {
|
|
2203
2244
|
/** Semantics for ARIA and gap behavior (default: 'progress') */
|
|
2204
|
-
'
|
|
2245
|
+
'variant'?: NLDDProgressCircle['variant'];
|
|
2205
2246
|
/** Total value (default: 100) */
|
|
2206
2247
|
'max'?: NLDDProgressCircle['max'];
|
|
2207
2248
|
/** Single-segment shorthand (ignored when segment children exist) */
|
|
@@ -2321,55 +2362,55 @@ declare module 'vue' {
|
|
|
2321
2362
|
};
|
|
2322
2363
|
|
|
2323
2364
|
type NLDDRichTextProps = {
|
|
2365
|
+
/** 'content' (the default) takes the system's own content colors, each element its own. 'inherit' lets all text follow the color of the surface instead (for colored areas such as the filled categories). Links stay underlined as an affordance; secondary text (figcaption) gets the same color at a lowered opacity. Known v1 gaps: inline code, mark, tables and hr keep their own surfaces. */
|
|
2366
|
+
'color'?: NLDDRichText['color'];
|
|
2324
2367
|
/** Spacing between elements: 'flat' | 'tight' | 'snug' (default) | 'loose' */
|
|
2325
2368
|
'spacing'?: NLDDRichText['spacing'];
|
|
2326
2369
|
/** Centers the main column inside the container; without it, content is left-aligned */
|
|
2327
2370
|
'centered'?: NLDDRichText['centered'];
|
|
2328
|
-
/** Opt-in automatic hyphenation for running text (p, li, dd). Needs a correct `lang` on the page (`lang="nl"` on `<html>`, for instance): without language information the browser does not hyphenate. An `overflow-wrap: break-word` safety net on p/li is always on, independent of this attribute, so long URLs and compounds break neatly instead of overflowing even without a dictionary. */
|
|
2329
|
-
'hyphens'?: NLDDRichText['hyphens'];
|
|
2330
|
-
/** 'content' (the default) takes the system's own content colors, each element its own. 'inherit' lets all text follow the color of the surface instead (for colored areas such as the filled categories). Links stay underlined as an affordance; secondary text (figcaption) gets the same color at a lowered opacity. Known v1 gaps: inline code, mark, tables and hr keep their own surfaces. */
|
|
2331
|
-
'color'?: NLDDRichText['color'];
|
|
2332
2371
|
/** Override translation keys; unset keys fall back to Dutch */
|
|
2333
2372
|
'translations'?: NLDDRichText['translations'];
|
|
2373
|
+
/** Opt-in automatic hyphenation for running text (p, li, dd). Needs a correct `lang` on the page (`lang="nl"` on `<html>`, for instance): without language information the browser does not hyphenate. An `overflow-wrap: break-word` safety net on p/li is always on, independent of this attribute, so long URLs and compounds break neatly instead of overflowing even without a dictionary. */
|
|
2374
|
+
'hyphens'?: NLDDRichText['hyphens'];
|
|
2334
2375
|
};
|
|
2335
2376
|
|
|
2336
2377
|
type NLDDSearchFieldProps = {
|
|
2337
|
-
/**
|
|
2338
|
-
'
|
|
2378
|
+
/** Field size: 'sm' | 'md' (default: 'md') */
|
|
2379
|
+
'size'?: NLDDSearchField['size'];
|
|
2380
|
+
/** Optional fixed width (any CSS length, e.g. "240px"). Default: stretches to fill container. */
|
|
2381
|
+
'width'?: NLDDSearchField['width'];
|
|
2339
2382
|
/** Placeholder text for the input */
|
|
2340
2383
|
'placeholder'?: NLDDSearchField['placeholder'];
|
|
2341
|
-
/** Accessible
|
|
2384
|
+
/** Accessible name (aria-label) of the native input. Falls back to `placeholder`, and keeps it when a value is typed. That works while the placeholder names the field ('Zoek een gebruiker'); set this when the placeholder is an example instead ('bijv. Jansen'). */
|
|
2342
2385
|
'accessible-label'?: NLDDSearchField['accessibleLabel'];
|
|
2343
|
-
/** Accessible
|
|
2386
|
+
/** Accessible name (aria-label) of the native input. Falls back to `placeholder`, and keeps it when a value is typed. That works while the placeholder names the field ('Zoek een gebruiker'); set this when the placeholder is an example instead ('bijv. Jansen'). */
|
|
2344
2387
|
'accessibleLabel'?: NLDDSearchField['accessibleLabel'];
|
|
2345
|
-
/** Field size: 'sm' | 'md' (default: 'md') */
|
|
2346
|
-
'size'?: NLDDSearchField['size'];
|
|
2347
|
-
/** Disabled state */
|
|
2348
|
-
'disabled'?: NLDDSearchField['disabled'];
|
|
2349
|
-
/** Input name for form submission */
|
|
2350
|
-
'name'?: NLDDSearchField['name'];
|
|
2351
2388
|
/** When set, shows a search button on the right */
|
|
2352
2389
|
'show-search-button'?: NLDDSearchField['showSearchButton'];
|
|
2353
2390
|
/** When set, shows a search button on the right */
|
|
2354
2391
|
'showSearchButton'?: NLDDSearchField['showSearchButton'];
|
|
2355
2392
|
/** Override translation keys; unset keys fall back to Dutch */
|
|
2356
2393
|
'translations'?: NLDDSearchField['translations'];
|
|
2357
|
-
/**
|
|
2358
|
-
'
|
|
2359
|
-
/**
|
|
2360
|
-
'
|
|
2361
|
-
/**
|
|
2362
|
-
'
|
|
2394
|
+
/** Marks the control as invalid. Announced with aria-invalid; nothing is drawn for it. */
|
|
2395
|
+
'invalid'?: NLDDSearchField['invalid'];
|
|
2396
|
+
/** Disabled state */
|
|
2397
|
+
'disabled'?: NLDDSearchField['disabled'];
|
|
2398
|
+
/** Input name for form submission */
|
|
2399
|
+
'name'?: NLDDSearchField['name'];
|
|
2400
|
+
/** The search value */
|
|
2401
|
+
'value'?: NLDDSearchField['value'];
|
|
2363
2402
|
/** Required state */
|
|
2364
2403
|
'required'?: NLDDSearchField['required'];
|
|
2365
|
-
/** Regular expression the value has to match, as the native `pattern`. */
|
|
2366
|
-
'pattern'?: NLDDSearchField['pattern'];
|
|
2367
2404
|
/** Fewest characters the value may have. */
|
|
2368
2405
|
'minlength'?: NLDDSearchField['minlength'];
|
|
2369
2406
|
/** Most characters the value may have. */
|
|
2370
2407
|
'maxlength'?: NLDDSearchField['maxlength'];
|
|
2371
|
-
/**
|
|
2372
|
-
'
|
|
2408
|
+
/** Regular expression the value has to match, as the native `pattern`. */
|
|
2409
|
+
'pattern'?: NLDDSearchField['pattern'];
|
|
2410
|
+
/** Disables browser spellchecking on the inner input */
|
|
2411
|
+
'no-spellcheck'?: NLDDSearchField['noSpellcheck'];
|
|
2412
|
+
/** Disables browser spellchecking on the inner input */
|
|
2413
|
+
'noSpellcheck'?: NLDDSearchField['noSpellcheck'];
|
|
2373
2414
|
/** Set by nldd-form-field. A consumer never writes this. */
|
|
2374
2415
|
'describedByElements'?: NLDDSearchField['describedByElements'];
|
|
2375
2416
|
'internals'?: NLDDSearchField['internals'];
|
|
@@ -2388,6 +2429,8 @@ declare module 'vue' {
|
|
|
2388
2429
|
'invalid'?: NLDDSegmentedControl['invalid'];
|
|
2389
2430
|
/** Selected value for radio type */
|
|
2390
2431
|
'value'?: NLDDSegmentedControl['value'];
|
|
2432
|
+
/** Visual style, color included: 'neutral-tinted' | 'neutral-base' (default: 'neutral-tinted'). neutral-base is for a tinted surface. For a quiet row without a track, use nldd-toggle-button-group with type="radio" and a transparent appearance. */
|
|
2433
|
+
'appearance'?: NLDDSegmentedControl['appearance'];
|
|
2391
2434
|
/** Control size: 'sm' | 'md' | 'lg' (default: 'md') */
|
|
2392
2435
|
'size'?: NLDDSegmentedControl['size'];
|
|
2393
2436
|
/** Selection mode: 'radio' | 'checkbox' (default: 'radio'). */
|
|
@@ -2424,6 +2467,8 @@ declare module 'vue' {
|
|
|
2424
2467
|
'selected'?: NLDDSegmentedControlItem['selected'];
|
|
2425
2468
|
/** Disabled state */
|
|
2426
2469
|
'disabled'?: NLDDSegmentedControlItem['disabled'];
|
|
2470
|
+
/** Visual style: 'neutral-tinted' | 'neutral-base' (default: 'neutral-tinted'). Set by nldd-segmented-control. */
|
|
2471
|
+
'appearance'?: NLDDSegmentedControlItem['appearance'];
|
|
2427
2472
|
/** Control size: 'sm' | 'md' | 'lg' (default: 'md'). Set by nldd-segmented-control. */
|
|
2428
2473
|
'size'?: NLDDSegmentedControlItem['size'];
|
|
2429
2474
|
/** Content type: 'text' | 'icon' | 'icon-and-text' (default: 'text'). Set by nldd-segmented-control. */
|
|
@@ -2445,19 +2490,21 @@ declare module 'vue' {
|
|
|
2445
2490
|
};
|
|
2446
2491
|
|
|
2447
2492
|
type NLDDSheetProps = {
|
|
2448
|
-
/**
|
|
2449
|
-
'
|
|
2493
|
+
/** Custom width for side sheets (left/right) as a CSS length (e.g. '480px', '32rem'). Applied from the md breakpoint up; ignored on sm (bottom sheet) and for `placement="bottom"`. Clamped to `100vw - 2 * inset` so the sheet always fits. */
|
|
2494
|
+
'width'?: NLDDSheet['width'];
|
|
2450
2495
|
/** Custom height for bottom sheets (and for any sheet on sm viewports, where all placements collapse to bottom). Accepts: `'full'` (default — viewport minus top-inset, identical to omitting the attribute), `'fit-content'` (collapse to content size), or any CSS length/percentage (e.g. `'50dvh'`, `'480px'`, `'50%'`). Always clamped to `100dvh - top-inset` so the sheet can't extend past the dismiss-tap area. No effect on side sheets at md+. */
|
|
2451
2496
|
'height'?: NLDDSheet['height'];
|
|
2452
|
-
/**
|
|
2497
|
+
/** Sheet position: 'left' | 'right' | 'bottom' (default: 'right') */
|
|
2498
|
+
'placement'?: NLDDSheet['placement'];
|
|
2499
|
+
/** Accessible name for the dialog, forwarded as aria-label. Unset, the sheet takes the text of the nldd-top-title-bar inside it, and without one it is called 'Venster'. */
|
|
2453
2500
|
'accessible-label'?: NLDDSheet['accessibleLabel'];
|
|
2454
|
-
/** Accessible name for the dialog, forwarded as aria-label
|
|
2501
|
+
/** Accessible name for the dialog, forwarded as aria-label. Unset, the sheet takes the text of the nldd-top-title-bar inside it, and without one it is called 'Venster'. */
|
|
2455
2502
|
'accessibleLabel'?: NLDDSheet['accessibleLabel'];
|
|
2456
|
-
/**
|
|
2457
|
-
'
|
|
2503
|
+
/** Whether the sheet is open. Set it to open or close the sheet, as an alternative to show() and hide(). The sheet clears it itself when it closes another way (Escape, the backdrop, the close button of its title bar), so bind it together with the close event. */
|
|
2504
|
+
'open'?: NLDDSheet['open'];
|
|
2458
2505
|
/** Fired when the sheet is opened */
|
|
2459
2506
|
'onOpen'?: (event: CustomEvent) => void;
|
|
2460
|
-
/** Fired when the sheet is fully closed. Does not bubble: overlays nest, and a listener on one sheet asking about that sheet should not also hear the form it opened. */
|
|
2507
|
+
/** Fired when the sheet is fully closed. Does not bubble: overlays nest, and a listener on one sheet asking about that sheet should not also hear the form it opened. The dismiss button of an nldd-top-title-bar inside it fires `dismiss`, which bubbles; this component catches that itself, closes and fires `close`. Listen to `close` alone, or one click runs your handler twice. */
|
|
2461
2508
|
'onClose'?: (event: CustomEvent) => void;
|
|
2462
2509
|
};
|
|
2463
2510
|
|
|
@@ -2472,28 +2519,28 @@ declare module 'vue' {
|
|
|
2472
2519
|
type NLDDSidebarSectionProps = {
|
|
2473
2520
|
/** Body max-width: 'full' removes the constraint; any CSS length overrides the default. */
|
|
2474
2521
|
'width'?: NLDDSidebarSection['width'];
|
|
2475
|
-
/** Sticky top inset on lg (CSS length; default = 16px). */
|
|
2476
|
-
'sticky-top'?: NLDDSidebarSection['stickyTop'];
|
|
2477
|
-
/** Sticky top inset on lg (CSS length; default = 16px). */
|
|
2478
|
-
'stickyTop'?: NLDDSidebarSection['stickyTop'];
|
|
2479
|
-
/** Sticky bottom inset on lg (CSS length; default = 16px). */
|
|
2480
|
-
'sticky-bottom'?: NLDDSidebarSection['stickyBottom'];
|
|
2481
|
-
/** Sticky bottom inset on lg (CSS length; default = 16px). */
|
|
2482
|
-
'stickyBottom'?: NLDDSidebarSection['stickyBottom'];
|
|
2483
2522
|
/** Accessible name for the sidebar (the aside landmark on lg and the sheet on sm/md). Default 'Zijbalk'. */
|
|
2484
2523
|
'sidebar-label'?: NLDDSidebarSection['sidebarLabel'];
|
|
2485
2524
|
/** Accessible name for the sidebar (the aside landmark on lg and the sheet on sm/md). Default 'Zijbalk'. */
|
|
2486
2525
|
'sidebarLabel'?: NLDDSidebarSection['sidebarLabel'];
|
|
2526
|
+
/** Override translation keys (sheet title fallback, dismiss label); unset keys fall back to Dutch. */
|
|
2527
|
+
'translations'?: NLDDSidebarSection['translations'];
|
|
2487
2528
|
/** Opt out of the sheet: a narrow section stacks the sidebar above the main instead of collapsing. `collapsed` then stays false. */
|
|
2488
2529
|
'no-collapse'?: NLDDSidebarSection['noCollapse'];
|
|
2489
2530
|
/** Opt out of the sheet: a narrow section stacks the sidebar above the main instead of collapsing. `collapsed` then stays false. */
|
|
2490
2531
|
'noCollapse'?: NLDDSidebarSection['noCollapse'];
|
|
2491
|
-
/**
|
|
2492
|
-
'
|
|
2532
|
+
/** Sticky top inset on lg (CSS length; default = 16px). */
|
|
2533
|
+
'sticky-top'?: NLDDSidebarSection['stickyTop'];
|
|
2534
|
+
/** Sticky top inset on lg (CSS length; default = 16px). */
|
|
2535
|
+
'stickyTop'?: NLDDSidebarSection['stickyTop'];
|
|
2536
|
+
/** Sticky bottom inset on lg (CSS length; default = 16px). */
|
|
2537
|
+
'sticky-bottom'?: NLDDSidebarSection['stickyBottom'];
|
|
2538
|
+
/** Sticky bottom inset on lg (CSS length; default = 16px). */
|
|
2539
|
+
'stickyBottom'?: NLDDSidebarSection['stickyBottom'];
|
|
2493
2540
|
/** Read-only, reflected: true while the sidebar is a sheet (the section is narrower than lg). Target it via CSS to reveal sheet-only chrome. */
|
|
2494
2541
|
'collapsed'?: NLDDSidebarSection['collapsed'];
|
|
2495
2542
|
'background'?: NLDDSidebarSection['background'];
|
|
2496
|
-
'
|
|
2543
|
+
'height'?: NLDDSidebarSection['height'];
|
|
2497
2544
|
'padding-block'?: NLDDSidebarSection['paddingBlock'];
|
|
2498
2545
|
'paddingBlock'?: NLDDSidebarSection['paddingBlock'];
|
|
2499
2546
|
'padding-top'?: NLDDSidebarSection['paddingTop'];
|
|
@@ -2518,7 +2565,6 @@ declare module 'vue' {
|
|
|
2518
2565
|
'lgPaddingTop'?: NLDDSidebarSection['lgPaddingTop'];
|
|
2519
2566
|
'lg-padding-bottom'?: NLDDSidebarSection['lgPaddingBottom'];
|
|
2520
2567
|
'lgPaddingBottom'?: NLDDSidebarSection['lgPaddingBottom'];
|
|
2521
|
-
'height'?: NLDDSidebarSection['height'];
|
|
2522
2568
|
/** The sidebar sheet opened. */
|
|
2523
2569
|
'onOpen'?: (event: CustomEvent) => void;
|
|
2524
2570
|
/** The sidebar sheet closed. */
|
|
@@ -2540,8 +2586,8 @@ declare module 'vue' {
|
|
|
2540
2586
|
'verticalAlignment'?: NLDDSimpleSection['verticalAlignment'];
|
|
2541
2587
|
/** Surface background ('inherit' default; 'base'/'tinted' paint and cascade a surface). */
|
|
2542
2588
|
'background'?: NLDDSimpleSection['background'];
|
|
2543
|
-
/**
|
|
2544
|
-
'
|
|
2589
|
+
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
2590
|
+
'height'?: NLDDSimpleSection['height'];
|
|
2545
2591
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
2546
2592
|
'padding-block'?: NLDDSimpleSection['paddingBlock'];
|
|
2547
2593
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
@@ -2574,8 +2620,6 @@ declare module 'vue' {
|
|
|
2574
2620
|
'lgPaddingTop'?: NLDDSimpleSection['lgPaddingTop'];
|
|
2575
2621
|
'lg-padding-bottom'?: NLDDSimpleSection['lgPaddingBottom'];
|
|
2576
2622
|
'lgPaddingBottom'?: NLDDSimpleSection['lgPaddingBottom'];
|
|
2577
|
-
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
2578
|
-
'height'?: NLDDSimpleSection['height'];
|
|
2579
2623
|
};
|
|
2580
2624
|
|
|
2581
2625
|
type NLDDSkipLinkProps = {
|
|
@@ -2617,8 +2661,8 @@ declare module 'vue' {
|
|
|
2617
2661
|
type NLDDSplitButtonProps = {
|
|
2618
2662
|
/** Button size: 'xs' | 'sm' | 'md' | 'lg' (default: 'md') */
|
|
2619
2663
|
'size'?: NLDDSplitButton['size'];
|
|
2620
|
-
/**
|
|
2621
|
-
'
|
|
2664
|
+
/** Visual style (default: 'neutral-tinted'; 'inherit-tinted' and 'inherit-filled' for a colored surface) */
|
|
2665
|
+
'appearance'?: NLDDSplitButton['appearance'];
|
|
2622
2666
|
/** Disabled state */
|
|
2623
2667
|
'disabled'?: NLDDSplitButton['disabled'];
|
|
2624
2668
|
/** Width mode: 'full' (stretches to container) or any CSS length; the main action button fills the available space */
|
|
@@ -2645,16 +2689,16 @@ declare module 'vue' {
|
|
|
2645
2689
|
};
|
|
2646
2690
|
|
|
2647
2691
|
type NLDDSplitViewPaneProps = {
|
|
2648
|
-
/**
|
|
2649
|
-
'
|
|
2650
|
-
/** The pane has content (default: false) */
|
|
2651
|
-
'hasContent'?: NLDDSplitViewPane['hasContent'];
|
|
2692
|
+
/** Use a tinted background color (cascades to descendants) */
|
|
2693
|
+
'background'?: NLDDSplitViewPane['background'];
|
|
2652
2694
|
/** Hide the back button (set automatically by the split view) */
|
|
2653
2695
|
'hide-back'?: NLDDSplitViewPane['hideBack'];
|
|
2654
2696
|
/** Hide the back button (set automatically by the split view) */
|
|
2655
2697
|
'hideBack'?: NLDDSplitViewPane['hideBack'];
|
|
2656
|
-
/**
|
|
2657
|
-
'
|
|
2698
|
+
/** The pane has content (default: false) */
|
|
2699
|
+
'has-content'?: NLDDSplitViewPane['hasContent'];
|
|
2700
|
+
/** The pane has content (default: false) */
|
|
2701
|
+
'hasContent'?: NLDDSplitViewPane['hasContent'];
|
|
2658
2702
|
};
|
|
2659
2703
|
|
|
2660
2704
|
type NLDDStackedSplitViewProps = {
|
|
@@ -2847,10 +2891,10 @@ declare module 'vue' {
|
|
|
2847
2891
|
'accessible-label'?: NLDDTable['accessibleLabel'];
|
|
2848
2892
|
/** Accessible name for the table. Strongly recommended — role="table" needs a name. A missing label is DEV-warned and a generic fallback name is used. */
|
|
2849
2893
|
'accessibleLabel'?: NLDDTable['accessibleLabel'];
|
|
2850
|
-
/** Opt into row selection: body rows expose aria-selected (true/false). Without it, rows omit aria-selected so a non-selectable table isn't announced as selectable. */
|
|
2851
|
-
'selectable'?: NLDDTable['selectable'];
|
|
2852
2894
|
/** Override translation keys; unset keys fall back to Dutch */
|
|
2853
2895
|
'translations'?: NLDDTable['translations'];
|
|
2896
|
+
/** Opt into row selection: body rows expose aria-selected (true/false). Without it, rows omit aria-selected so a non-selectable table isn't announced as selectable. */
|
|
2897
|
+
'selectable'?: NLDDTable['selectable'];
|
|
2854
2898
|
};
|
|
2855
2899
|
|
|
2856
2900
|
type NLDDTableRowProps = {
|
|
@@ -2859,6 +2903,8 @@ declare module 'vue' {
|
|
|
2859
2903
|
};
|
|
2860
2904
|
|
|
2861
2905
|
type NLDDTagProps = {
|
|
2906
|
+
/** What is visible: 'text' | 'icon' | 'icon-and-text'. Unset → detected from which of text/icon is present. */
|
|
2907
|
+
'variant'?: NLDDTag['variant'];
|
|
2862
2908
|
/** Color variant. Semantic: 'neutral' | 'accent' | 'success' | 'warning' | 'critical'. Rijkshuisstijl colors: 'lintblauw' | 'donkerblauw' | 'hemelblauw' | 'lichtblauw' | 'paars' | 'violet' | 'robijnrood' | 'roze' | 'rood' | 'oranje' | 'donkergeel' | 'geel' | 'donkerbruin' | 'bruin' | 'donkergroen' | 'groen' | 'mosgroen' | 'mintgroen'. (default: 'neutral') */
|
|
2863
2909
|
'color'?: NLDDTag['color'];
|
|
2864
2910
|
/** Tag size: 'sm' | 'md' (default: 'md') */
|
|
@@ -2867,8 +2913,6 @@ declare module 'vue' {
|
|
|
2867
2913
|
'text'?: NLDDTag['text'];
|
|
2868
2914
|
/** Icon before the text */
|
|
2869
2915
|
'icon'?: NLDDTag['icon'];
|
|
2870
|
-
/** What is visible: 'text' | 'icon' | 'icon-and-text'. Unset → detected from which of text/icon is present. */
|
|
2871
|
-
'variant'?: NLDDTag['variant'];
|
|
2872
2916
|
/** Accessible label for screen readers. Use this on icon-only tags without visible text. */
|
|
2873
2917
|
'accessible-label'?: NLDDTag['accessibleLabel'];
|
|
2874
2918
|
/** Accessible label for screen readers. Use this on icon-only tags without visible text. */
|
|
@@ -2921,12 +2965,12 @@ declare module 'vue' {
|
|
|
2921
2965
|
'verticalAlignment'?: NLDDTextCell['verticalAlignment'];
|
|
2922
2966
|
/** Main text content. Supports **bold** syntax for inline bold segments. Falls back to default slot. */
|
|
2923
2967
|
'text'?: NLDDTextCell['text'];
|
|
2924
|
-
/** Optional overline text displayed above the main content. Supports **bold**. Falls back to `overline` slot. */
|
|
2925
|
-
'overline'?: NLDDTextCell['overline'];
|
|
2926
2968
|
/** Optional supporting text displayed below the main content. Supports **bold**. Falls back to `supporting-text` slot. */
|
|
2927
2969
|
'supporting-text'?: NLDDTextCell['supportingText'];
|
|
2928
2970
|
/** Optional supporting text displayed below the main content. Supports **bold**. Falls back to `supporting-text` slot. */
|
|
2929
2971
|
'supportingText'?: NLDDTextCell['supportingText'];
|
|
2972
|
+
/** Optional overline text displayed above the main content. Supports **bold**. Falls back to `overline` slot. */
|
|
2973
|
+
'overline'?: NLDDTextCell['overline'];
|
|
2930
2974
|
/** Query substring to bold-highlight across text fields. Empty = no marking. */
|
|
2931
2975
|
'query'?: NLDDTextCell['query'];
|
|
2932
2976
|
/** 'match' | 'predictive' (default: 'predictive') */
|
|
@@ -2956,6 +3000,10 @@ declare module 'vue' {
|
|
|
2956
3000
|
'readonly'?: NLDDTextEditor['readonly'];
|
|
2957
3001
|
/** Required state */
|
|
2958
3002
|
'required'?: NLDDTextEditor['required'];
|
|
3003
|
+
/** Turns spellchecking off. It is on by default, like the other text fields, and leaves out what is not running text: inline code and code blocks, the address of a link and a bare URL (the link text is checked), and mentions. Autocorrect and autocapitalize follow the user's own settings, as in the other fields, also with `no-spellcheck`. Two limits come from the browser: text that was already there is checked once you edit near it, not when the editor opens (the editor lives in a shadow root; Firefox only checks around the caret), and markup that changes how a line is built, such as starting a list item, hides the underlines on that line until you type on. */
|
|
3004
|
+
'no-spellcheck'?: NLDDTextEditor['noSpellcheck'];
|
|
3005
|
+
/** Turns spellchecking off. It is on by default, like the other text fields, and leaves out what is not running text: inline code and code blocks, the address of a link and a bare URL (the link text is checked), and mentions. Autocorrect and autocapitalize follow the user's own settings, as in the other fields, also with `no-spellcheck`. Two limits come from the browser: text that was already there is checked once you edit near it, not when the editor opens (the editor lives in a shadow root; Firefox only checks around the caret), and markup that changes how a line is built, such as starting a list item, hides the underlines on that line until you type on. */
|
|
3006
|
+
'noSpellcheck'?: NLDDTextEditor['noSpellcheck'];
|
|
2959
3007
|
/** Wrap long lines (default true; prose wraps) */
|
|
2960
3008
|
'wrap'?: NLDDTextEditor['wrap'];
|
|
2961
3009
|
/** Minimum visible rows (the floor in every resize mode). Default: 6. */
|
|
@@ -2963,7 +3011,7 @@ declare module 'vue' {
|
|
|
2963
3011
|
/** 'none' (fixed) | 'vertical' (drag) | 'auto' (grow, default) */
|
|
2964
3012
|
'resize'?: NLDDTextEditor['resize'];
|
|
2965
3013
|
/** 'simple' (default, bare) | 'input-field' (framed surface) */
|
|
2966
|
-
'
|
|
3014
|
+
'appearance'?: NLDDTextEditor['appearance'];
|
|
2967
3015
|
/** Accessible label forwarded to the editor. Set automatically by nldd-form-field. */
|
|
2968
3016
|
'accessible-label'?: NLDDTextEditor['accessibleLabel'];
|
|
2969
3017
|
/** Accessible label forwarded to the editor. Set automatically by nldd-form-field. */
|
|
@@ -2976,6 +3024,10 @@ declare module 'vue' {
|
|
|
2976
3024
|
'invalid'?: NLDDTextEditor['invalid'];
|
|
2977
3025
|
/** Consumer-supplied */
|
|
2978
3026
|
'mentionSource'?: NLDDTextEditor['mentionSource'];
|
|
3027
|
+
/** What may follow the `@` of a mention, as a regular expression without anchors or capturing groups. Property only. Without it: letters with any accent, digits, `_`, `.`, `+` and `-`. Allow one space to search on a full name: `'[\\p{L}\\p{M}\\p{N}_.+-]*(?: [\\p{L}\\p{M}\\p{N}_.+-]+)?'`. */
|
|
3028
|
+
'mentionQuery'?: NLDDTextEditor['mentionQuery'];
|
|
3029
|
+
/** What to say when the */
|
|
3030
|
+
'mentionEmptyText'?: NLDDTextEditor['mentionEmptyText'];
|
|
2979
3031
|
/** Your own typeahead lists next to the */
|
|
2980
3032
|
'typeaheads'?: NLDDTextEditor['typeaheads'];
|
|
2981
3033
|
/** Consumer-supplied annotations (W3C-style overlay). Property only (set via JS). Render only when `annotatable` is on. The text stays clean; these render as a light tint and a count badge, anchored by offset and mapped through edits. IMPORTANT: assign a NEW array to apply changes. Lit dirty-checks this property by identity, so mutating the existing array in place (`editor.annotations.push(next)`, `editor.annotations[0].end = 9`, …) does NOT trigger a re-render. Always replace it: `editor.annotations = [...editor.annotations, next]`. */
|
|
@@ -3137,17 +3189,17 @@ declare module 'vue' {
|
|
|
3137
3189
|
};
|
|
3138
3190
|
|
|
3139
3191
|
type NLDDTimelineTrackCellProps = {
|
|
3192
|
+
/** What stands in the lane: a whole dot (`major`, the default), a smaller one for a row that belongs under the one above it (`minor`), or nothing at all (`none`) for a row that carries what a step holds rather than being a step. A `none` row keeps its `size` and its `status`, so it stays in the same lane and the track runs on in the right color */
|
|
3193
|
+
'level'?: NLDDTimelineTrackCell['level'];
|
|
3140
3194
|
/** How far along this row is (default 'past'); the same values as `nldd-step-indicator-item`. It colors the dot and the track around it: covered above where you are, still ahead below */
|
|
3141
3195
|
'status'?: NLDDTimelineTrackCell['status'];
|
|
3142
3196
|
/** How wide the lane is and so how big the dot: `sm` (default, 16px) for a timeline of events, `md` (24px) where a number or an icon has to fit. Every row in one list takes the same size, or the track jumps */
|
|
3143
3197
|
'size'?: NLDDTimelineTrackCell['size'];
|
|
3144
|
-
/** What stands in the lane: a whole dot (`major`, the default), a smaller one for a row that belongs under the one above it (`minor`), or nothing at all (`none`) for a row that carries what a step holds rather than being a step. A `none` row keeps its `size` and its `status`, so it stays in the same lane and the track runs on in the right color */
|
|
3145
|
-
'variant'?: NLDDTimelineTrackCell['variant'];
|
|
3146
3198
|
/** The direction the timeline moves forward in: `down` (default) puts the past above, `up` below. Only the current step has half a track, so this only has an effect there */
|
|
3147
3199
|
'direction'?: NLDDTimelineTrackCell['direction'];
|
|
3148
|
-
/** Place in the series (default 'between'): decides whether the line continues above the dot, below it, or on both sides. `only` is the single row in the series and gets a line on neither side: a track of one dot leads nowhere. On a `
|
|
3200
|
+
/** Place in the series (default 'between'): decides whether the line continues above the dot, below it, or on both sides. `only` is the single row in the series and gets a line on neither side: a track of one dot leads nowhere. On a `level="none"` row, which is nothing but line, `only` leaves it out altogether: the track ends above it */
|
|
3149
3201
|
'position'?: NLDDTimelineTrackCell['position'];
|
|
3150
|
-
/** Which halves of the track you have covered, when `status` and `direction` get it wrong (default 'auto', which is what those two say). The halves you name are drawn as covered and the other one as still ahead, so `none` covers neither. Which halves are drawn at all stays with `position`, except that naming a half draws it: `line="both"` on a `first` row draws one above too. A row that opens a group of its own is the case for `both`, since the going carries on below it. A `
|
|
3202
|
+
/** Which halves of the track you have covered, when `status` and `direction` get it wrong (default 'auto', which is what those two say). The halves you name are drawn as covered and the other one as still ahead, so `none` covers neither. Which halves are drawn at all stays with `position`, except that naming a half draws it: `line="both"` on a `first` row draws one above too. A row that opens a group of its own is the case for `both`, since the going carries on below it. A `level="none"` row has one line rather than two halves, and no point where a fill could change over, so there the status colors the whole of it and `line` overrules the whole of it. On a `current` row that leans the way the timeline runs: what belongs to a point usually comes after it, so going `down` the stretch reads as still ahead and going `up` as behind you */
|
|
3151
3203
|
'line'?: NLDDTimelineTrackCell['line'];
|
|
3152
3204
|
/** Number or short text in the dot */
|
|
3153
3205
|
'text'?: NLDDTimelineTrackCell['text'];
|
|
@@ -3164,8 +3216,20 @@ declare module 'vue' {
|
|
|
3164
3216
|
type NLDDTitleProps = {
|
|
3165
3217
|
/** Visual size of the title: 1–6 (default: 3) */
|
|
3166
3218
|
'size'?: NLDDTitle['size'];
|
|
3167
|
-
/** 'content' (the default) takes the system's own content colors. 'inherit' lets the title follow the text color of the surface instead (for colored areas such as the filled categories); overline and
|
|
3219
|
+
/** 'content' (the default) takes the system's own content colors. 'inherit' lets the title follow the text color of the surface instead (for colored areas such as the filled categories); overline and supporting-text get the same color at a lowered opacity. */
|
|
3168
3220
|
'color'?: NLDDTitle['color'];
|
|
3221
|
+
/** Title text. Content in the default slot takes its place. */
|
|
3222
|
+
'text'?: NLDDTitle['text'];
|
|
3223
|
+
/** Text below the title. Content in the supporting-text slot takes its place. */
|
|
3224
|
+
'supporting-text'?: NLDDTitle['supportingText'];
|
|
3225
|
+
/** Text below the title. Content in the supporting-text slot takes its place. */
|
|
3226
|
+
'supportingText'?: NLDDTitle['supportingText'];
|
|
3227
|
+
/** Text above the title. Content in the overline slot takes its place. */
|
|
3228
|
+
'overline'?: NLDDTitle['overline'];
|
|
3229
|
+
/** Renders text as h1–h6; absent renders a p, for a title that is not a heading. */
|
|
3230
|
+
'heading-level'?: NLDDTitle['headingLevel'];
|
|
3231
|
+
/** Renders text as h1–h6; absent renders a p, for a title that is not a heading. */
|
|
3232
|
+
'headingLevel'?: NLDDTitle['headingLevel'];
|
|
3169
3233
|
};
|
|
3170
3234
|
|
|
3171
3235
|
type NLDDTitleCellProps = {
|
|
@@ -3197,12 +3261,12 @@ declare module 'vue' {
|
|
|
3197
3261
|
'verticalAlignment'?: NLDDTitleCell['verticalAlignment'];
|
|
3198
3262
|
/** Title text content. Supports **bold** syntax for inline bold segments. Falls back to default slot. */
|
|
3199
3263
|
'text'?: NLDDTitleCell['text'];
|
|
3200
|
-
/** Optional overline text displayed above the title. Supports **bold**. Falls back to `overline` slot. */
|
|
3201
|
-
'overline'?: NLDDTitleCell['overline'];
|
|
3202
3264
|
/** Optional supporting text displayed below the title. Supports **bold**. Falls back to `supporting-text` slot. */
|
|
3203
3265
|
'supporting-text'?: NLDDTitleCell['supportingText'];
|
|
3204
3266
|
/** Optional supporting text displayed below the title. Supports **bold**. Falls back to `supporting-text` slot. */
|
|
3205
3267
|
'supportingText'?: NLDDTitleCell['supportingText'];
|
|
3268
|
+
/** Optional overline text displayed above the title. Supports **bold**. Falls back to `overline` slot. */
|
|
3269
|
+
'overline'?: NLDDTitleCell['overline'];
|
|
3206
3270
|
/** Heading level for the title element: 1–6 (default: none, renders a <p>) */
|
|
3207
3271
|
'heading-level'?: NLDDTitleCell['headingLevel'];
|
|
3208
3272
|
/** Heading level for the title element: 1–6 (default: none, renders a <p>) */
|
|
@@ -3224,6 +3288,8 @@ declare module 'vue' {
|
|
|
3224
3288
|
'required'?: NLDDToggleButton['required'];
|
|
3225
3289
|
/** What the button is: a button with aria-pressed, a native checkbox, or a radio (default: 'button') */
|
|
3226
3290
|
'type'?: NLDDToggleButton['type'];
|
|
3291
|
+
/** Visual style, color included (default: 'neutral-tinted'). Selected is filled in each of them; the transparent ones are for a toggle among transparent buttons, and with a selected-icon they stay quiet when on. */
|
|
3292
|
+
'appearance'?: NLDDToggleButton['appearance'];
|
|
3227
3293
|
/** Button size (default: 'md') */
|
|
3228
3294
|
'size'?: NLDDToggleButton['size'];
|
|
3229
3295
|
/** Selected state */
|
|
@@ -3242,6 +3308,10 @@ declare module 'vue' {
|
|
|
3242
3308
|
'text'?: NLDDToggleButton['text'];
|
|
3243
3309
|
/** Icon name for nldd-icon */
|
|
3244
3310
|
'icon'?: NLDDToggleButton['icon'];
|
|
3311
|
+
/** Icon shown instead of `icon` while selected, such as `check-mark` for `plus` or `heart-filled` for `heart`. The appearances with a surface fill it when on, as without one. The transparent appearances have no surface to fill: with a selected-icon they stay quiet when on and the change of shape says it is on; without one they fill, so the state always shows. */
|
|
3312
|
+
'selected-icon'?: NLDDToggleButton['selectedIcon'];
|
|
3313
|
+
/** Icon shown instead of `icon` while selected, such as `check-mark` for `plus` or `heart-filled` for `heart`. The appearances with a surface fill it when on, as without one. The transparent appearances have no surface to fill: with a selected-icon they stay quiet when on and the change of shape says it is on; without one they fill, so the state always shows. */
|
|
3314
|
+
'selectedIcon'?: NLDDToggleButton['selectedIcon'];
|
|
3245
3315
|
/** What renders: text, icon, or both. Unset → auto-detect from text/icon attributes. */
|
|
3246
3316
|
'variant'?: NLDDToggleButton['variant'];
|
|
3247
3317
|
/** Accessible label; required for icon-only usage */
|
|
@@ -3264,6 +3334,8 @@ declare module 'vue' {
|
|
|
3264
3334
|
'type'?: NLDDToggleButtonGroup['type'];
|
|
3265
3335
|
/** Forwarded to all buttons */
|
|
3266
3336
|
'name'?: NLDDToggleButtonGroup['name'];
|
|
3337
|
+
/** Forwarded to all buttons (default: 'neutral-tinted') */
|
|
3338
|
+
'appearance'?: NLDDToggleButtonGroup['appearance'];
|
|
3267
3339
|
/** Forwarded to all buttons (default: 'md') */
|
|
3268
3340
|
'size'?: NLDDToggleButtonGroup['size'];
|
|
3269
3341
|
/** Disables all buttons */
|
|
@@ -3287,20 +3359,22 @@ declare module 'vue' {
|
|
|
3287
3359
|
'text'?: NLDDToken['text'];
|
|
3288
3360
|
/** Control type (default: 'none') */
|
|
3289
3361
|
'control'?: NLDDToken['control'];
|
|
3290
|
-
/**
|
|
3291
|
-
'expanded'?: NLDDToken['expanded'];
|
|
3292
|
-
/** Disabled state */
|
|
3293
|
-
'disabled'?: NLDDToken['disabled'];
|
|
3294
|
-
/** Accessible label for the dismiss button (default: 'Verwijder') */
|
|
3362
|
+
/** Accessible label for the dismiss button. Unset, it names the token: `Verwijder "{text}"`, so a row of tokens does not read as a row of identical buttons. */
|
|
3295
3363
|
'dismiss-text'?: NLDDToken['dismissText'];
|
|
3296
|
-
/** Accessible label for the dismiss button
|
|
3364
|
+
/** Accessible label for the dismiss button. Unset, it names the token: `Verwijder "{text}"`, so a row of tokens does not read as a row of identical buttons. */
|
|
3297
3365
|
'dismissText'?: NLDDToken['dismissText'];
|
|
3298
|
-
/** Accessible label for the menu button
|
|
3366
|
+
/** Accessible label for the menu button. Unset, it is `Toon opties voor "{text}"`. */
|
|
3299
3367
|
'menu-text'?: NLDDToken['menuText'];
|
|
3300
|
-
/** Accessible label for the menu button
|
|
3368
|
+
/** Accessible label for the menu button. Unset, it is `Toon opties voor "{text}"`. */
|
|
3301
3369
|
'menuText'?: NLDDToken['menuText'];
|
|
3370
|
+
/** Override translation keys; unset keys fall back to Dutch */
|
|
3371
|
+
'translations'?: NLDDToken['translations'];
|
|
3302
3372
|
/** Inside a roving-focus container (e.g. nldd-token-field): the host is the single tab stop, so the trailing control is not separately tabbable. */
|
|
3303
3373
|
'roving'?: NLDDToken['roving'];
|
|
3374
|
+
/** Reflects whether the token's menu is open (control="menu"); managed by the token. */
|
|
3375
|
+
'expanded'?: NLDDToken['expanded'];
|
|
3376
|
+
/** Disabled state */
|
|
3377
|
+
'disabled'?: NLDDToken['disabled'];
|
|
3304
3378
|
/** When the dismiss button is clicked */
|
|
3305
3379
|
'onDismiss'?: (event: CustomEvent) => void;
|
|
3306
3380
|
};
|
|
@@ -3318,10 +3392,14 @@ declare module 'vue' {
|
|
|
3318
3392
|
'accessible-label'?: NLDDTokenField['accessibleLabel'];
|
|
3319
3393
|
/** Accessible label forwarded as aria-label to the input */
|
|
3320
3394
|
'accessibleLabel'?: NLDDTokenField['accessibleLabel'];
|
|
3321
|
-
/** Allow free-typed values (not just menu options) */
|
|
3395
|
+
/** Allow free-typed values (not just menu options). Typing an option's label in full adds that option, with its value, ignoring case and the spaces around it; with two such labels, the first one. */
|
|
3322
3396
|
'allow-custom'?: NLDDTokenField['allowCustom'];
|
|
3323
|
-
/** Allow free-typed values (not just menu options) */
|
|
3397
|
+
/** Allow free-typed values (not just menu options). Typing an option's label in full adds that option, with its value, ignoring case and the spaces around it; with two such labels, the first one. */
|
|
3324
3398
|
'allowCustom'?: NLDDTokenField['allowCustom'];
|
|
3399
|
+
/** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
|
|
3400
|
+
'no-filter'?: NLDDTokenField['noFilter'];
|
|
3401
|
+
/** Leaves the options as they are while typing, for a list your server already filtered per keystroke. Without it the field hides options that do not contain the typed text, which also hides a server match on, say, an e-mail address. */
|
|
3402
|
+
'noFilter'?: NLDDTokenField['noFilter'];
|
|
3325
3403
|
/** Marks the field valid (shows the valid icon) */
|
|
3326
3404
|
'valid'?: NLDDTokenField['valid'];
|
|
3327
3405
|
/** Marks the field invalid (shows the invalid icon) */
|
|
@@ -3386,18 +3464,6 @@ declare module 'vue' {
|
|
|
3386
3464
|
};
|
|
3387
3465
|
|
|
3388
3466
|
type NLDDToolbarTitleProps = {
|
|
3389
|
-
/** Makes the mark and the name one link, for the place this window belongs to (usually the app's own start). The `action` slot stays outside it: a control inside a link is a control you cannot reach without following the link. */
|
|
3390
|
-
'href'?: NLDDToolbarTitle['href'];
|
|
3391
|
-
/** Where the link opens; only meaningful with `href`. `_blank` adds rel="noopener noreferrer" and a visually hidden "opens in a new tab" announcement. */
|
|
3392
|
-
'target'?: NLDDToolbarTitle['target'];
|
|
3393
|
-
/** Title text. */
|
|
3394
|
-
'text'?: NLDDToolbarTitle['text'];
|
|
3395
|
-
/** Secondary supporting text shown below the title. */
|
|
3396
|
-
'supporting-text'?: NLDDToolbarTitle['supportingText'];
|
|
3397
|
-
/** Secondary supporting text shown below the title. */
|
|
3398
|
-
'supportingText'?: NLDDToolbarTitle['supportingText'];
|
|
3399
|
-
/** Text alignment: 'left' | 'center' (default: 'left'). */
|
|
3400
|
-
'align'?: NLDDToolbarTitle['align'];
|
|
3401
3467
|
/** Preferred (fluid) width as a CSS length or percentage; the title grows toward it and shrinks to min-width. */
|
|
3402
3468
|
'width'?: NLDDToolbarTitle['width'];
|
|
3403
3469
|
/** Minimum width as a CSS length (default: '0', so the title shrink-wraps its content and the next element sits against it). */
|
|
@@ -3408,6 +3474,18 @@ declare module 'vue' {
|
|
|
3408
3474
|
'max-width'?: NLDDToolbarTitle['maxWidth'];
|
|
3409
3475
|
/** Maximum width as a CSS length (default: '240px'); the title text truncates with an ellipsis beyond it. The cap is lifted while the title is the sole toolbar element (it then stretches to fill the row). */
|
|
3410
3476
|
'maxWidth'?: NLDDToolbarTitle['maxWidth'];
|
|
3477
|
+
/** Text alignment: 'left' | 'center' (default: 'left'). */
|
|
3478
|
+
'align'?: NLDDToolbarTitle['align'];
|
|
3479
|
+
/** Title text. */
|
|
3480
|
+
'text'?: NLDDToolbarTitle['text'];
|
|
3481
|
+
/** Secondary supporting text shown below the title. */
|
|
3482
|
+
'supporting-text'?: NLDDToolbarTitle['supportingText'];
|
|
3483
|
+
/** Secondary supporting text shown below the title. */
|
|
3484
|
+
'supportingText'?: NLDDToolbarTitle['supportingText'];
|
|
3485
|
+
/** Makes the mark and the name one link, for the place this window belongs to (usually the app's own start). The `action` slot stays outside it: a control inside a link is a control you cannot reach without following the link. */
|
|
3486
|
+
'href'?: NLDDToolbarTitle['href'];
|
|
3487
|
+
/** Where the link opens; only meaningful with `href`. `_blank` adds rel="noopener noreferrer" and a visually hidden "opens in a new tab" announcement. */
|
|
3488
|
+
'target'?: NLDDToolbarTitle['target'];
|
|
3411
3489
|
/** Override translation keys (the new-tab announcement); unset keys fall back to Dutch. */
|
|
3412
3490
|
'translations'?: NLDDToolbarTitle['translations'];
|
|
3413
3491
|
};
|
|
@@ -3472,12 +3550,16 @@ declare module 'vue' {
|
|
|
3472
3550
|
};
|
|
3473
3551
|
|
|
3474
3552
|
type NLDDTopTitleBarProps = {
|
|
3475
|
-
/** Title of the bar, rendered as the
|
|
3553
|
+
/** Title of the bar, rendered as the heading in the title group. */
|
|
3476
3554
|
'text'?: NLDDTopTitleBar['text'];
|
|
3477
|
-
/**
|
|
3555
|
+
/** Text under the title. */
|
|
3478
3556
|
'supporting-text'?: NLDDTopTitleBar['supportingText'];
|
|
3479
|
-
/**
|
|
3557
|
+
/** Text under the title. */
|
|
3480
3558
|
'supportingText'?: NLDDTopTitleBar['supportingText'];
|
|
3559
|
+
/** Heading level of the title: 1–6 (default: 1). Lower it where the bar is not the top of the page, such as a pane beside content that already has its h1. */
|
|
3560
|
+
'heading-level'?: NLDDTopTitleBar['headingLevel'];
|
|
3561
|
+
/** Heading level of the title: 1–6 (default: 1). Lower it where the bar is not the top of the page, such as a pane beside content that already has its h1. */
|
|
3562
|
+
'headingLevel'?: NLDDTopTitleBar['headingLevel'];
|
|
3481
3563
|
/** Id of the element whose top edge triggers the compact state on scroll. Without it the state is static (see above). */
|
|
3482
3564
|
'collapse-anchor'?: NLDDTopTitleBar['collapseAnchor'];
|
|
3483
3565
|
/** Id of the element whose top edge triggers the compact state on scroll. Without it the state is static (see above). */
|
|
@@ -3505,8 +3587,8 @@ declare module 'vue' {
|
|
|
3505
3587
|
'width'?: NLDDTwoThirdsOneThirdSection['width'];
|
|
3506
3588
|
/** Surface background ('inherit' default; 'base'/'tinted' paint and cascade a surface). */
|
|
3507
3589
|
'background'?: NLDDTwoThirdsOneThirdSection['background'];
|
|
3508
|
-
/**
|
|
3509
|
-
'
|
|
3590
|
+
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
3591
|
+
'height'?: NLDDTwoThirdsOneThirdSection['height'];
|
|
3510
3592
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
3511
3593
|
'padding-block'?: NLDDTwoThirdsOneThirdSection['paddingBlock'];
|
|
3512
3594
|
/** Block (top and bottom) padding override (token 0-96; '0' strips it). */
|
|
@@ -3539,8 +3621,6 @@ declare module 'vue' {
|
|
|
3539
3621
|
'lgPaddingTop'?: NLDDTwoThirdsOneThirdSection['lgPaddingTop'];
|
|
3540
3622
|
'lg-padding-bottom'?: NLDDTwoThirdsOneThirdSection['lgPaddingBottom'];
|
|
3541
3623
|
'lgPaddingBottom'?: NLDDTwoThirdsOneThirdSection['lgPaddingBottom'];
|
|
3542
|
-
/** Minimum section height (any CSS length, e.g. '400px', '100dvh') (mirrors width, which sets the body max-width). */
|
|
3543
|
-
'height'?: NLDDTwoThirdsOneThirdSection['height'];
|
|
3544
3624
|
};
|
|
3545
3625
|
|
|
3546
3626
|
type NLDDValidationItemProps = {
|
|
@@ -3576,42 +3656,44 @@ declare module 'vue' {
|
|
|
3576
3656
|
};
|
|
3577
3657
|
|
|
3578
3658
|
type NLDDWindowProps = {
|
|
3579
|
-
/**
|
|
3580
|
-
'
|
|
3581
|
-
/**
|
|
3582
|
-
'
|
|
3583
|
-
/**
|
|
3584
|
-
'
|
|
3585
|
-
/** (required) Accessible name (aria-label). Falls back to the i18n default ('Venster') when unset. Always pass a unique, descriptive name per window. */
|
|
3586
|
-
'accessibleLabel'?: NLDDWindow['accessibleLabel'];
|
|
3587
|
-
/** Override translation keys; unset keys fall back to the Dutch default. */
|
|
3588
|
-
'translations'?: NLDDWindow['translations'];
|
|
3659
|
+
/** Color scheme (default 'inherit'). */
|
|
3660
|
+
'scheme'?: NLDDWindow['scheme'];
|
|
3661
|
+
/** CSS width (default: var(--components-window-default-width)) */
|
|
3662
|
+
'width'?: NLDDWindow['width'];
|
|
3663
|
+
/** CSS height (default: content height) */
|
|
3664
|
+
'height'?: NLDDWindow['height'];
|
|
3589
3665
|
/** CSS top position of the top edge (e.g. '0', '100px') */
|
|
3590
3666
|
'top'?: NLDDWindow['top'];
|
|
3591
|
-
/** CSS left position of the left edge */
|
|
3592
|
-
'left'?: NLDDWindow['left'];
|
|
3593
3667
|
/** CSS right value */
|
|
3594
3668
|
'right'?: NLDDWindow['right'];
|
|
3595
3669
|
/** CSS bottom value */
|
|
3596
3670
|
'bottom'?: NLDDWindow['bottom'];
|
|
3671
|
+
/** CSS left position of the left edge */
|
|
3672
|
+
'left'?: NLDDWindow['left'];
|
|
3597
3673
|
/** Centers both axes on the viewport. Overridable per axis: `centered top="0"` is horizontally centered, top aligned. Mirrors CSS `place-items: center` with `align-items`/`justify-items` overrides. */
|
|
3598
3674
|
'centered'?: NLDDWindow['centered'];
|
|
3599
|
-
/**
|
|
3600
|
-
'
|
|
3601
|
-
/**
|
|
3602
|
-
'
|
|
3603
|
-
/**
|
|
3604
|
-
'
|
|
3675
|
+
/** Accessible name (aria-label). Unset, the window takes the text of the nldd-top-title-bar inside it, and without one the i18n default ('Venster'). Each window needs a unique, descriptive name, from either. */
|
|
3676
|
+
'accessible-label'?: NLDDWindow['accessibleLabel'];
|
|
3677
|
+
/** Accessible name (aria-label). Unset, the window takes the text of the nldd-top-title-bar inside it, and without one the i18n default ('Venster'). Each window needs a unique, descriptive name, from either. */
|
|
3678
|
+
'accessibleLabel'?: NLDDWindow['accessibleLabel'];
|
|
3679
|
+
/** Override translation keys; unset keys fall back to the Dutch default. */
|
|
3680
|
+
'translations'?: NLDDWindow['translations'];
|
|
3681
|
+
/** A click on the backdrop does not close the window. For windows where dismissing by accident costs work: a wizard, a form with filled-in fields. Escape and the dismiss button keep working. */
|
|
3682
|
+
'no-light-dismiss'?: NLDDWindow['noLightDismiss'];
|
|
3683
|
+
/** A click on the backdrop does not close the window. For windows where dismissing by accident costs work: a wizard, a form with filled-in fields. Escape and the dismiss button keep working. */
|
|
3684
|
+
'noLightDismiss'?: NLDDWindow['noLightDismiss'];
|
|
3685
|
+
/** Whether the window is open. Set it to open or close the window, as an alternative to show() and hide(). The window clears it itself when it closes another way (Escape, the backdrop, the close button of its title bar), so bind it together with the close event. */
|
|
3686
|
+
'open'?: NLDDWindow['open'];
|
|
3605
3687
|
/** When the window opens */
|
|
3606
3688
|
'onOpen'?: (event: CustomEvent) => void;
|
|
3607
|
-
/** When the window has fully closed. Does not bubble: overlays can sit inside each other, and a listener on one window should not also hear the form that opened it. */
|
|
3689
|
+
/** When the window has fully closed. Does not bubble: overlays can sit inside each other, and a listener on one window should not also hear the form that opened it. The dismiss button of an nldd-top-title-bar inside it fires `dismiss`, which bubbles; this component catches that itself, closes and fires `close`. Listen to `close` alone, or one click runs your handler twice. */
|
|
3608
3690
|
'onClose'?: (event: CustomEvent) => void;
|
|
3609
3691
|
};
|
|
3610
3692
|
|
|
3611
3693
|
export interface GlobalComponents {
|
|
3612
3694
|
/** Layout placeholder that fills its parent and centers an indeterminate activity indicator. By default the indicator is held back for 1000ms so brief loading states don't flash; once the delay passes it fades in. Set `timing="instant"` to skip the delay (the fade-in still plays) — this is what embedding components such as `nldd-button` use for their loading state. The default indicator is a simple icon-sized circle that follows the shared `--context-content-color` channel (set by list-item / table / menu on their content), falling back to `currentColor` wherever that channel is unset (buttons, rich-text, standalone) — so a spinner inside a cell tracks the row's state-aware content color, while embedders relying on currentColor are unaffected. An optional label sits below (hidden unless `show-text` is set). Drop a `<nldd-progress-circle>`, `<nldd-progress-bar>` or any element in the `indicator` slot to override it. Icon alignment: the visible ring already sits at 5/6 of its box (the SVG's r=9 plus a 2-unit stroke in a 24 view-box, the same optical inset a filled icon glyph has), so a standalone spinner lines up with an icon or an `icon-aligned` `nldd-avatar` on the same grid — no extra option needed (unlike `nldd-avatar`, which fills edge-to-edge and opts in via `icon-aligned`). Overlay mode: put content in the default slot and the indicator wraps it — it becomes a `position: relative` container, renders the spinner over a dimming backdrop (opt out with `no-backdrop`), and makes the content `inert` so its controls can't be focused or clicked. Toggle loading with `complete` (`?complete=${!isLoading}`). With no slotted content it stays the standalone placeholder described above. Reconnect behavior: every `connectedCallback` resets the timer and hides the indicator again. If a consumer toggles the element via a conditional render (remove + re-insert) the indicator disappears and re-fades after another delay. Keep the element mounted and toggle visibility / `hidden` instead if you want the timer to run only once. Accessibility: while connected and not `complete` the host is a polite live region (`role="status"`). The label (`text`, or the translated "Laden" fallback) always renders as the region's content — visually hidden when `show-text` is off (the default) — so assistive tech announces the loading state when the indicator appears. Set `complete` (or unmount) to clear it. */
|
|
3613
3695
|
'nldd-activity-indicator': DefineComponent<NLDDActivityIndicatorProps>;
|
|
3614
|
-
/** The required root shell of a Nederlandse Digitale Dienst application. Always contains a split view or an nldd-page as direct content. Set background="tinted" to give the whole application a tinted background. All descendants read --context-parent-background-color via --_background-color automatically. Individual components can override locally with their own background attribute. The same background color is forced on `document.body` so that browser- chrome surfaces (iOS overscroll bounce, status bar, page-margin areas) blend with the app instead of revealing the user-agent's default white. Cleared when the app-view disconnects. The app scrolls the DOCUMENT (root mode) or lets each `nldd-page` scroll inside its pane (nested mode). The mode is derived from the outermost horizontal split view: one column means the document scrolls, several columns mean the panes do. An app without such a split view is a single column at every width and therefore scrolls the document too — nested scrolling would cost it the rubber-band and the collapsing browser toolbar on iOS for nothing. Set `--context-scroll-mode` on the `nldd-app-view` itself to override the derived mode; an inherited value loses from it. In nested scroll mode `overscroll-behavior: none` is set on `document.documentElement` and `document.body` while the app-view is connected. Combined with `overscroll-behavior: contain` on `nldd-page`'s scroll target, this prevents iOS rubber-band on the viewport when scroll gestures land outside an `nldd-page` (e.g. on a top-bar). In root scroll mode the document itself is the scroller, so this is lifted to let the native rubber-band happen. Cleared on last disconnect. */
|
|
3696
|
+
/** The required root shell of a Nederlandse Digitale Dienst application. Always contains a split view or an nldd-page as direct content. The document font comes from the package stylesheet (`@nldd/design-system/styles`), not from this component: it gives `body` the body font and content color as soon as an app-view is on the page, inside `@layer reset` so any rule of your own wins. Import only the tokens (`/styles/tokens`) and text you write in the light DOM keeps the browser default. Set background="tinted" to give the whole application a tinted background. All descendants read --context-parent-background-color via --_background-color automatically. Individual components can override locally with their own background attribute. The same background color is forced on `document.body` so that browser- chrome surfaces (iOS overscroll bounce, status bar, page-margin areas) blend with the app instead of revealing the user-agent's default white. Cleared when the app-view disconnects. The app scrolls the DOCUMENT (root mode) or lets each `nldd-page` scroll inside its pane (nested mode). The mode is derived from the outermost horizontal split view: one column means the document scrolls, several columns mean the panes do. An app without such a split view is a single column at every width and therefore scrolls the document too — nested scrolling would cost it the rubber-band and the collapsing browser toolbar on iOS for nothing. Set `--context-scroll-mode` on the `nldd-app-view` itself to override the derived mode; an inherited value loses from it. In nested scroll mode `overscroll-behavior: none` is set on `document.documentElement` and `document.body` while the app-view is connected. Combined with `overscroll-behavior: contain` on `nldd-page`'s scroll target, this prevents iOS rubber-band on the viewport when scroll gestures land outside an `nldd-page` (e.g. on a top-bar). In root scroll mode the document itself is the scroller, so this is lifted to let the native rubber-band happen. Cleared on last disconnect. */
|
|
3615
3697
|
'nldd-app-view': DefineComponent<NLDDAppViewProps>;
|
|
3616
3698
|
/** Shows one person or organization as a compact, round (person) or rounded (organization) representation. The content follows a fixed fallback chain: an image when `src` loads, otherwise the initials (from `initials` or derived from `name`), and otherwise a fallback icon. `type` sets both the shape and the fallback icon: `person` gives a circle with a person icon, `organization` a rounded square with a building icon. The shape belongs to the meaning and cannot be set on its own. Override the fallback icon with `icon` where that helps. Without `size` the avatar scales with its container, like `nldd-icon`; a fixed size (the same spacer-aligned scale, 16 through 96) is the exception. The initials and the icon scale along. Wide initials (WW, MMM) are scaled down automatically so they stay inside the shape. Accessibility: the host element carries the meaning. With a `name` (and without `decorative`) it gets `role="img"` with the name as its label. When the name already stands beside it as text, in an identity for instance, set `decorative` so the avatar stays hidden from assistive software. A dead `src` falls back to the initials or the icon, never to a broken-image icon. */
|
|
3617
3699
|
'nldd-avatar': DefineComponent<NLDDAvatarProps>;
|
|
@@ -3632,27 +3714,27 @@ declare module 'vue' {
|
|
|
3632
3714
|
/** A single entry in an `nldd-breadcrumbs` list. Renders as a link when `href` is set, as plain text marked `aria-current="page"` when `current` is set, and as plain text otherwise. Each item renders its own trailing `›` separator; the last item in the list hides it via `:host(:last-of-type)`. */
|
|
3633
3715
|
'nldd-breadcrumbs-item': DefineComponent<NLDDBreadcrumbsItemProps>;
|
|
3634
3716
|
'nldd-button': DefineComponent<NLDDButtonProps>;
|
|
3635
|
-
/** A horizontal container for grouping buttons with a neutral background. Automatically propagates its size and
|
|
3717
|
+
/** A horizontal container for grouping buttons with a neutral background. Automatically propagates its size and appearance to all child nldd-button and nldd-icon-button elements. Renders nldd-button-bar-divider elements as internal dividers — no separate component needed. The bar is one surface for actions; on/off buttons do not go in it. For a row of toggles use nldd-toggle-button-group, and for one choice out of a few options on one surface nldd-segmented-control. An nldd-toggle-button placed here is shown as it is, and a warning says so in development. */
|
|
3636
3718
|
'nldd-button-bar': DefineComponent<NLDDButtonBarProps>;
|
|
3637
3719
|
'nldd-button-bar-divider': DefineComponent<anonymous_0Props>;
|
|
3638
|
-
/** A container for grouping related buttons together, either
|
|
3720
|
+
/** A container for grouping related buttons together, in a row or stacked. `auto`, the default, is a row on a container wide enough for one and a stack over the full width below the sm breakpoint, where two labels beside each other leave no room for either. The group is its own container, so it follows the width it was given rather than the width of the window: the same group is a row in a page and a stack in a sheet beside it. Being a container has one consequence to know: the width has to come from the parent, since a container may not size itself from what is inside it. In a parent that shrink-wraps its content (an inline-flex box, a float, a table cell, a flex item at `width: auto`) the group measures zero and its buttons are invisible. It says so once in development. Give the group or that parent a width. A stack fills the width with its buttons, except an `nldd-icon-button`, which keeps its own size: a bar with a single glyph in the middle is not a bigger target, only a wider one. */
|
|
3639
3721
|
'nldd-button-group': DefineComponent<NLDDButtonGroupProps>;
|
|
3640
|
-
/** A visually bounded card with optional header, body and footer sections. The card is elevated by default. Padding is left to nested containers. With `href` the whole card becomes a link (an overlay anchor across the card), with `button` a button (an overlay button that fires a plain, composed `click`, so a click listener or htmx attribute on the card itself works directly, and Enter/Space work natively). `href` wins when both are set. Nested interactive content, footer buttons for instance, has to be lifted above it with `position: relative; z-index: 1` to stay clickable. */
|
|
3722
|
+
/** A visually bounded card with optional header, body and footer sections. The card is elevated by default. Padding is left to nested containers. With `href` the whole card becomes a link (an overlay anchor across the card), with `button` a button (an overlay button that fires a plain, composed `click`, so a click listener or htmx attribute on the card itself works directly, and Enter/Space work natively). `href` wins when both are set. Nested interactive content, footer buttons for instance, has to be lifted above it with `position: relative; z-index: 1` to stay clickable. A card that is a link or button steps its surface and border one shade up on hover and one more while pressed, as a neutral-base button does; content lifted above the overlay does not set it off. */
|
|
3641
3723
|
'nldd-card': DefineComponent<NLDDCardProps>;
|
|
3642
|
-
/** A generic cell for wrapping arbitrary content in a list item. Controls vertical alignment and sizing without imposing content opinions. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. */
|
|
3724
|
+
/** A generic cell for wrapping arbitrary content in a list item. Controls vertical alignment and sizing without imposing content opinions. For more than a line of text, such as paragraphs or markup, put an `nldd-rich-text` in it rather than loose text in the row. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. */
|
|
3643
3725
|
'nldd-cell': DefineComponent<NLDDCellProps>;
|
|
3644
3726
|
'nldd-checkbox': DefineComponent<NLDDCheckboxProps>;
|
|
3645
3727
|
/** A checkbox with an inline label for use in forms. Form-associated: participates in native form submission under `name` with `value` when checked (the inner nldd-checkbox sits in the shadow root and never joins the consumer's form; the field submits on its behalf). */
|
|
3646
3728
|
'nldd-checkbox-field': DefineComponent<NLDDCheckboxFieldProps>;
|
|
3647
|
-
/** A monospace editor for code, YAML, JSON and other technical content, built on CodeMirror 6 (via NLDDCodeMirrorElement). Visually pairs with nldd-code-viewer for a matching read-only surface. Default `
|
|
3729
|
+
/** A monospace editor for code, YAML, JSON and other technical content, built on CodeMirror 6 (via NLDDCodeMirrorElement). Visually pairs with nldd-code-viewer for a matching read-only surface. Default `appearance="simple"` is a bare, flush editor (no frame, no focus ring) for use inside an nldd-form-field or a consumer composition that owns its own chrome and focus treatment; the caret is rendered as a prominent accent as the focus cue. `appearance="input-field"` adds the framed surface (border ring, tinted fill, inner padding, radius) and a focus ring for standalone use. The simple variant has no surrounding space of its own: let a layout container own the spacing and forward clicks with `focusFromPoint()` so clicking the padding still starts editing. Optional `language` enables lazy syntax highlighting; `line-numbers` adds a gutter (click a number to move the caret to that line). */
|
|
3648
3730
|
'nldd-code-editor': DefineComponent<NLDDCodeEditorProps>;
|
|
3649
3731
|
/** A read-only block of code/text built on a non-editable CodeMirror 6 view. Visually pairs with nldd-code-editor (same engine, same token palette). Whitespace is preserved; long lines scroll horizontally by default. Set `wrap` to break long lines onto the next visual line. Set `language` to one of the supported grammars (yaml, json, javascript, typescript, css, html, xml, bash, markdown, rust, gherkin, toml, sql, python) to highlight the content. Without `language` the content renders plain. Grammars are loaded lazily on first use, so a page that never sets `language` ships zero grammar code. Token colors are the `--components-code-viewer-token-*` custom properties (shared with the editor via the CodeMirror highlight style). Override them per-instance to swap the theme. */
|
|
3650
3732
|
'nldd-code-viewer': DefineComponent<NLDDCodeViewerProps>;
|
|
3651
|
-
/** A container for displaying collections of items. Supports grid, stack, lanes and horizontal scroll layouts. In grid and stack modes, items are paginated via a load-more button. In horizontal scroll, the prev/next controls and the edge fade appear only when the items overflow the container. With `lazy-load`, the next items are automatically loaded when the load-more button comes into view. */
|
|
3733
|
+
/** A container for displaying collections of items. Supports grid, stack, lanes and horizontal scroll layouts. Use it for a set of equal blocks, usually `nldd-card`s, instead of a CSS grid of your own: the collection sets the columns from `item-width` and the available width, and the gap per breakpoint. In grid and stack modes, items are paginated via a load-more button. In horizontal scroll, the prev/next controls and the edge fade appear only when the items overflow the container. With `lazy-load`, the next items are automatically loaded when the load-more button comes into view. */
|
|
3652
3734
|
'nldd-collection': DefineComponent<NLDDCollectionProps>;
|
|
3653
3735
|
/** A text input with autocomplete dropdown via nldd-menu. Add a slotted nldd-menu with nldd-menu-item children to provide options. The slotted nldd-menu keeps its default focus behavior (menu container receives focus) so that typing keeps focus on the input. The picker button moves focus to the menu explicitly on activation. Note: Only nldd-menu-item type="button" is supported. Radio and checkbox types are not supported in this context. */
|
|
3654
3736
|
'nldd-combo-box': DefineComponent<NLDDComboBoxProps>;
|
|
3655
|
-
/** A simple layout primitive: pick a layout mode, give it a gap, optionally align contents, and add padding. Padding can be set for all sides, per axis (inline/block), or per individual side. Specificity: per side > per axis > all sides. Responsive padding and gap have sm/md/lg variants. Each variant emits both an @media (viewport) and @container (layout-container) query. When inside a layout-container the @container query wins; otherwise the @media query provides the viewport-based fallback. Layout modes: - `stack` (default): block items, stacked vertically. The "what you expect from DOM flow" mode. - `row`: flex row, no wrapping. Items shrink or overflow. - `wrap`: flex row, items wrap to new lines. - `grid`: CSS grid, auto-fit columns at min 280px wide. - `columns`: CSS multi-column flow, 280px minimum column width, items don't split across column breaks. Alignment maps to the layout's natural axis: - `stack`: vertical = main-axis (justify-content), horizontal = cross-axis (align-items) - `row` / `wrap`: horizontal = main-axis, vertical = cross-axis - `grid`: horizontal = justify-items, vertical = align-items (per cell) - `columns`: alignment props have no effect (CSS multicol doesn't expose alignment) Item order is set per-child via attributes on the slotted children themselves: `<child order="3">` for a fixed position, or `<child sm-order="N">` / `<child md-order="N">` / `<child lg-order="N">` to override per breakpoint (resolved against THIS container's width via @container queries, same scope as the responsive padding/gap). The container observes slot changes and child attribute mutations and bridges these to `--_slot-order` / `--_slot-sm-order` / etc. custom properties on each child's inline style, which the container's CSS then reads via `::slotted(*)` inside @container queries. Cascade: `sm-order` falls back to `order` falls back to `0` at sm (and analogously for md/lg). No-op for `layout="columns"` (CSS multicol has no per-item ordering hook). The `column-count` attribute (1-8) forces an exact column count for `layout="grid"` (overrides auto-fit) and `layout="columns"` (overrides the natural width-driven count). `sm-column-count` / `md-column-count` / `lg-column-count` resolve against this container's OWN width via an `@container (...)` query on the host — not against the viewport. That lets a footer in a narrow sidebar choose its own column count independent of the surrounding page width. `layout="lanes"` packs items into balanced columns using native CSS grid lanes where supported, falling back to CSS multicol (column-order) elsewhere. CSS-only, no JS. Honours `gap` on both axes and `column-count`. Note that nldd-collection's lanes falls back to its own grid rather than to multicol: that component pages, and multicol redistributes the whole set every time load-more adds to it. */
|
|
3737
|
+
/** A simple layout primitive: pick a layout mode, give it a gap, optionally align contents, and add padding. Padding can be set for all sides, per axis (inline/block), or per individual side. Specificity: per side > per axis > all sides. The container owns the space around and between its children; use `nldd-spacer` only for a one-off gap between two different things. A block that is placed in more than one context gets no padding of its own: whoever places it wraps it in a container, so the inset is not counted twice. Responsive padding and gap have sm/md/lg variants. Each variant emits both an @media (viewport) and @container (layout-container) query. When inside a layout-container the @container query wins; otherwise the @media query provides the viewport-based fallback. Layout modes: - `stack` (default): block items, stacked vertically. The "what you expect from DOM flow" mode. - `row`: flex row, no wrapping. Items shrink or overflow. - `wrap`: flex row, items wrap to new lines. - `grid`: CSS grid, auto-fit columns at min 280px wide. - `columns`: CSS multi-column flow, 280px minimum column width, items don't split across column breaks. Alignment maps to the layout's natural axis: - `stack`: vertical = main-axis (justify-content), horizontal = cross-axis (align-items) - `row` / `wrap`: horizontal = main-axis, vertical = cross-axis - `grid`: horizontal = justify-items, vertical = align-items (per cell) - `columns`: alignment props have no effect (CSS multicol doesn't expose alignment) Item order is set per-child via attributes on the slotted children themselves: `<child order="3">` for a fixed position, or `<child sm-order="N">` / `<child md-order="N">` / `<child lg-order="N">` to override per breakpoint (resolved against THIS container's width via @container queries, same scope as the responsive padding/gap). The container observes slot changes and child attribute mutations and bridges these to `--_slot-order` / `--_slot-sm-order` / etc. custom properties on each child's inline style, which the container's CSS then reads via `::slotted(*)` inside @container queries. Cascade: `sm-order` falls back to `order` falls back to `0` at sm (and analogously for md/lg). No-op for `layout="columns"` (CSS multicol has no per-item ordering hook). The `column-count` attribute (1-8) forces an exact column count for `layout="grid"` (overrides auto-fit) and `layout="columns"` (overrides the natural width-driven count). `sm-column-count` / `md-column-count` / `lg-column-count` resolve against this container's OWN width via an `@container (...)` query on the host — not against the viewport. That lets a footer in a narrow sidebar choose its own column count independent of the surrounding page width. `layout="lanes"` packs items into balanced columns using native CSS grid lanes where supported, falling back to CSS multicol (column-order) elsewhere. CSS-only, no JS. Honours `gap` on both axes and `column-count`. Note that nldd-collection's lanes falls back to its own grid rather than to multicol: that component pages, and multicol redistributes the whole set every time load-more adds to it. */
|
|
3656
3738
|
'nldd-container': DefineComponent<NLDDContainerProps>;
|
|
3657
3739
|
/** A text field for a date, with an optional calendar in a popover. The value is always ISO (yyyy-mm-dd); on screen it shows the Dutch notation (dd-mm-yyyy). Typing is not masked: input is accepted generously and normalized only when the field is left. Error messages belong to nldd-form-field, not here. This field reflects only `invalid` / `valid`, like nldd-text-field. */
|
|
3658
3740
|
'nldd-date-field': DefineComponent<NLDDDateFieldProps>;
|
|
@@ -3671,13 +3753,14 @@ declare module 'vue' {
|
|
|
3671
3753
|
'nldd-dropdown': DefineComponent<NLDDDropdownProps>;
|
|
3672
3754
|
/** A file picker that reads as one control: an nldd-button flush in the corner of a tinted surface, the chosen file next to it, and a dismiss button to clear it again. It wraps a hidden native `<input type="file">`, which is what makes the picker open at all — a file dialog only opens from a user gesture on a real input. The surface deliberately does not look like an input field. A border with field semantics promises you can type into it; here you can only press a button, so it uses button and surface colors instead of `--semantics-input-fields-*`. The button keeps its own tinted background and therefore sits a shade darker in the surface, which is what marks it as the thing to press. Several files are summarized, not listed: "3 bestanden" with a single cross that clears all of them. Every pick replaces the whole FileList, and rebuilding it to add or drop one file means going through DataTransfer, which does not deduplicate (even the same File object twice yields two entries) — and a File has no id, so deduplicating would come down to guessing from name, size and last-modified. A list with a cross per file would promise an edit the platform does not support. A page that does want to show the files renders its own list from the `File[]` in the change event. */
|
|
3673
3755
|
'nldd-file-field': DefineComponent<NLDDFileFieldProps>;
|
|
3674
|
-
/** Nederlandse Digitale Dienst Form Component Plain custom element (extends HTMLElement, no Lit), required for light-DOM autofill. Renders a real <form> element in the LIGHT DOM around its children. Chrome's autofill engine looks for native <input> elements that have a <form> ancestor in the light DOM; with shadow-DOM inputs it can't find them, so we keep this component shadow-less. **Differs from other nldd-* components:** - No shadowRoot: all children live in the light DOM (inside the inner <form>) - No Lit: a plain HTMLElement with manual attribute mirroring - **Requires a global stylesheet import**: the vertical rhythm rules live in `dist/css/form.css` (or `global.css`), not in a component-specific shadow stylesheet. Import it as part of your app's global CSS bundle. **Two usage modes:** 1. **Auto-wrap** (default): write children directly. Component creates a `<form>` element and migrates children into it via MutationObserver. Simplest API. 2. **User-provided form** (framework-friendly): write your own `<form>` as direct child. Component detects it, takes over attribute mirroring, and skips the migration. Children stay where your framework puts them, so there is no DOM shuffling to conflict with React/Vue/Angular reconciliation. **Framework interop:** In auto-wrap mode every direct child is moved into the inner form through a MutationObserver. That works fine for most React/Vue use cases, because frameworks only mutate the DOM when their virtual DOM changes. For edge cases (animation libraries that track DOM position, SSR hydration mismatches, frameworks that actively check sibling positions) use **user-provided form** mode instead. For programmatic manipulation, use the `form` getter so you work with the inner `<form>` element directly: const inner = document.querySelector('nldd-form').form; inner.checkValidity(); inner.appendChild(myInput); // skips the migration overhead */
|
|
3756
|
+
/** Nederlandse Digitale Dienst Form Component Plain custom element (extends HTMLElement, no Lit), required for light-DOM autofill. Renders a real <form> element in the LIGHT DOM around its children. Chrome's autofill engine looks for native <input> elements that have a <form> ancestor in the light DOM; with shadow-DOM inputs it can't find them, so we keep this component shadow-less. **Differs from other nldd-* components:** - No shadowRoot: all children live in the light DOM (inside the inner <form>) - No Lit: a plain HTMLElement with manual attribute mirroring - **Requires a global stylesheet import**: the vertical rhythm rules live in `dist/css/form.css` (or `global.css`), not in a component-specific shadow stylesheet. Import it as part of your app's global CSS bundle. **When a field turns red:** on submit the form marks every control the browser rejects with `invalid`, and clears it again once the value passes. Setting `invalid` yourself is fine, but do it on submit, not while someone is still typing, or a field turns red over a value that is not finished yet. **Two usage modes:** 1. **Auto-wrap** (default): write children directly. Component creates a `<form>` element and migrates children into it via MutationObserver. Simplest API. 2. **User-provided form** (framework-friendly): write your own `<form>` as direct child. Component detects it, takes over attribute mirroring, and skips the migration. Children stay where your framework puts them, so there is no DOM shuffling to conflict with React/Vue/Angular reconciliation. **Framework interop:** In auto-wrap mode every direct child is moved into the inner form through a MutationObserver. That works fine for most React/Vue use cases, because frameworks only mutate the DOM when their virtual DOM changes. For edge cases (animation libraries that track DOM position, SSR hydration mismatches, frameworks that actively check sibling positions) use **user-provided form** mode instead. For programmatic manipulation, use the `form` getter so you work with the inner `<form>` element directly: const inner = document.querySelector('nldd-form').form; inner.checkValidity(); inner.appendChild(myInput); // skips the migration overhead */
|
|
3675
3757
|
'nldd-form': DefineComponent<NLDDFormProps>;
|
|
3676
|
-
/** A layout wrapper for the action buttons at the bottom of a form (typically a submit button or a button group). Follows the same responsive layout as `nldd-form-field`: with `label-alignment="right"` or `"left"` the content gets the same indent as the fields above it, thanks to a `::before` pseudo-element that acts as the spacer column where the label would sit. Inherits `label-alignment` automatically from a wrapping `<nldd-form>`: the form propagates its own `label-alignment` as `form-label-alignment` to descendant `nldd-form-actions` (and `nldd-form-field`) through a MutationObserver. An explicit `label-alignment` on the form-actions itself wins through the CSS cascade, and the form code never touches the `label-alignment` attribute of the descendant. <nldd-form label-alignment="right"> <nldd-form-field>...</nldd-form-field> <nldd-form-actions> <nldd-button-group> <nldd-button
|
|
3758
|
+
/** A layout wrapper for the action buttons at the bottom of a form (typically a submit button or a button group). Follows the same responsive layout as `nldd-form-field`: with `label-alignment="right"` or `"left"` the content gets the same indent as the fields above it, thanks to a `::before` pseudo-element that acts as the spacer column where the label would sit. Inherits `label-alignment` automatically from a wrapping `<nldd-form>`: the form propagates its own `label-alignment` as `form-label-alignment` to descendant `nldd-form-actions` (and `nldd-form-field`) through a MutationObserver. An explicit `label-alignment` on the form-actions itself wins through the CSS cascade, and the form code never touches the `label-alignment` attribute of the descendant. <nldd-form label-alignment="right"> <nldd-form-field>...</nldd-form-field> <nldd-form-actions> <nldd-button-group> <nldd-button appearance="primary" type="submit" text="Bewaar"></nldd-button> </nldd-button-group> </nldd-form-actions> </nldd-form> */
|
|
3677
3759
|
'nldd-form-actions': DefineComponent<NLDDFormActionsProps>;
|
|
3760
|
+
/** A field around one input: its label, supporting label, optional badge, validation and help text. It finds the input among its children, hands it the label as its accessible name and gives it an id, so you write no `for` or `id` yourself. Mark the optional fields with `optional`, not the required ones; the design guidelines say why. Put the requirements on a value in an nldd-validation-list inside the same field. What only your server knows, such as a password found in a breach, the app names in `unmet` on the input itself: see nldd-validation-list. */
|
|
3678
3761
|
'nldd-form-field': DefineComponent<NLDDFormFieldProps>;
|
|
3679
3762
|
'nldd-form-field-help-text': DefineComponent<NLDDFormFieldHelpTextProps>;
|
|
3680
|
-
/** Nederlandse Digitale Dienst Form Section Component Plain custom element (extends HTMLElement, no Lit). The light-DOM render works around an NVDA + Firefox a11y bug where a shadow-DOM <fieldset> + <legend> is not reliably announced as the group label for slotted controls. A native fieldset/legend in the light DOM works correctly across all AT/browser combinations. **Differs from shadow components:** - No shadowRoot: all children live in the light DOM (inside the rendered <fieldset>). - No Lit: a plain HTMLElement with manual DOM mutation. - **Requires a global stylesheet import**: `dist/css/form-section.css` (or `global.css`). Form-section has no shadow stylesheet. Renders to: <nldd-form-section> <fieldset class="form-section"> <legend class="form-section__header"> <span class="form-section__title">Title</span> <span class="form-
|
|
3763
|
+
/** Nederlandse Digitale Dienst Form Section Component Plain custom element (extends HTMLElement, no Lit). The light-DOM render works around an NVDA + Firefox a11y bug where a shadow-DOM <fieldset> + <legend> is not reliably announced as the group label for slotted controls. A native fieldset/legend in the light DOM works correctly across all AT/browser combinations. **Differs from shadow components:** - No shadowRoot: all children live in the light DOM (inside the rendered <fieldset>). - No Lit: a plain HTMLElement with manual DOM mutation. - **Requires a global stylesheet import**: `dist/css/form-section.css` (or `global.css`). Form-section has no shadow stylesheet. Renders to: <nldd-form-section> <fieldset class="form-section"> <legend class="form-section__header"> <span class="form-section__title">Title</span> <span class="form-section__supporting-text">Supporting text</span> </legend> <div class="form-section__main"> [user's children] </div> </fieldset> </nldd-form-section> **Accessibility note**: the title renders as a `<legend>`. Semantically that is a **group label**, not a heading. Screen readers announce it when the user enters the fieldset, but users jumping through headings with the H key skip it. Visually it looks like a heading, so use this component for *form grouping*, not as page structure. For real page headings, use a separate heading element above the form. **Supporting-text length**: the supporting text sits as a `<span>` inside the `<legend>` so a screen reader reads it along as the group label. Side effect: on every field entry within the section, the whole legend (title + supporting text) is spoken again. Keep `supporting-text` short (roughly 80 characters or less) and use it to introduce the group ("Vul je adresgegevens in"), not for detailed instructions. For a longer explanation on one specific field, use `nldd-form-field-help-text` on that field. <nldd-form> <nldd-form-section text="Persoonsgegevens" supporting-text="Vul je gegevens in."> <nldd-form-field label="Voornaam">...</nldd-form-field> <nldd-form-field label="Achternaam">...</nldd-form-field> </nldd-form-section> <nldd-form-section text="Adres"> <nldd-form-field label="Straat">...</nldd-form-field> </nldd-form-section> <nldd-form-actions>...</nldd-form-actions> </nldd-form> */
|
|
3681
3764
|
'nldd-form-section': DefineComponent<NLDDFormSectionProps>;
|
|
3682
3765
|
/** A section that spans the full width without horizontal padding. Useful for background colors, images, or other content that runs edge to edge. Vertical padding and gap adjust via container queries. */
|
|
3683
3766
|
'nldd-full-bleed-section': DefineComponent<NLDDFullBleedSectionProps>;
|
|
@@ -3702,7 +3785,7 @@ declare module 'vue' {
|
|
|
3702
3785
|
'nldd-link': DefineComponent<NLDDLinkProps>;
|
|
3703
3786
|
/** A container for `nldd-list-item` elements. The `type` attribute switches the list's a11y role and behavior: - `list` (default) — `role="list"`, items `role="listitem"`. Reorderable allowed. - `radiogroup` — `role="radiogroup"`, for a set of `nldd-list-item radio` rows: one choice, laid out as rows so each option can carry a count or a second line. The rows step out of the accessibility tree themselves (`role="none"`), so the radios are the group's own children. The arrows move focus here and activation checks, rather than the selection following focus as it does in `nldd-radio-button-group`. - `tree` — `role="tree"`, items `role="treeitem"`. Branch rows put their child rows in their own `slot="children"`, which the item renders as a `role="group"`. Level, position and set size are NOT authored: the nesting represents the hierarchy, so assistive technology derives them. A branch row must carry `expanded`; the group is hidden while it is false. Visual indentation is the consumer's — repeat a spacer-cell per level. Comes with its own keyboard, see "Tree" below. - `navigation` — host `role="navigation"`, items with `selected` get `aria-current="page"` on their inner `<a>` or `<button>`. - `form` — rows that are not actions themselves: the controls inside them are. A row of a label and a field, a switch, a menu button, or a value you cannot change at all. Semantically the same as `list` (`role="list"`, `role="listitem"`), and everything visual is unchanged; what falls away is the keyboard of a list you walk through. No arrow navigation, so no promise of it either, and no tab stop on the row: Tab goes straight to the controls, in source order, the way it does in any form. Rows that ARE actions (`href`, `button`, `checkbox`, or a segment) contradict that and warn in development. SwiftUI draws the same line between `List` and `Form`, for the same reason. - `listbox` — an accessible, filterable listbox (combobox pattern). The list renders its OWN search input (`role="combobox"`) pinned above the options; `.list__items` becomes `role="listbox"` and items become `role="option"`. Focus stays in the input, the active option moves via `aria-activedescendant`, and filtering is consumer-managed via the `input` event (toggle `[hidden]` on items). See "Listbox" below. Selection state is consumer-managed: the list never mutates `selected` itself. A list you walk through answers to the arrow keys, and there is no attribute to switch that on. Whether the keys do something is not a property of one list: it is what a reader may assume about all of them, and a per-list setting made that unknowable from the outside. It follows the type, which you can see before you touch a key. - ArrowUp / ArrowDown — move focus between the rows there is something to do with. A row of nothing but text is skipped, because focus that leads nowhere is a dead end. - Home / End — the first / last of those rows. - Tab — the list is ONE tab stop, so Tab moves past it rather than through it. Within the current row Tab walks that row's own controls: a chevron beside a checkbox, a menu button at the end. The same controls in the other rows are held out of the tab order (`tabindex="-1"`, or `no-tab` on a design-system control that keeps its tab stop in its own shadow root), and so are this row's once focus leaves the list, so tabbing back in lands on the row again. - Escape — out of a control the row holds, back onto the row. One level up, where Shift+Tab is one step back. On the row itself the list claims nothing, so Escape carries on to whatever holds the list, and a control showing a menu keeps the first press for closing that menu. While focus sits in a control a row holds, the list stands down: those keys are the control's, and a list that took them anyway would pull focus out of a combo box or a text field mid-word. What the row IS — its own link, button or segments — keeps answering here. Arrows move focus only; selection stays consumer-managed. Three types answer differently, and all three say so on screen before you touch a key: a listbox runs its keyboard from its search field, a reorderable list moves rows with the arrows, and a form has no rows to move between at all. In `type="listbox"` the list owns a native `<input role="combobox">` (mirroring how `nldd-combo-box` wires an input to a slotted listbox). Keyboard, handled on the input so focus never leaves it: - ArrowDown / ArrowUp — move the active option among the VISIBLE (non-`[hidden]`) options (wrap around). - Home / End — first / last visible option. - Enter — activate the active option by triggering its inner action (a link navigates, a button fires the consumer's handler). Selection stays consumer-managed. - Escape — clear the search value (and refire `input`). On every active change the input's `aria-activedescendant` is set to the active option's id and the option is scrolled into view. The active option (`_highlighted` on the item, a highlight) is distinct from `selected`. Filtering is the consumer's job: listen to `input` (`{ detail: { value } }`) and toggle `[hidden]` on items; after the visible set changes the list resets the active option to the first visible one. `reorderable` and the roving arrow keys are ignored in listbox mode (listbox has its own keyboard). A tree adds to that keyboard, and counts the rows of an open branch as part of the order the arrows walk: - ArrowRight — opens a closed branch; on an open one it steps to its first child. - ArrowLeft — closes an open branch; on a leaf it steps out to the parent row. - Enter — follows the row: its own link or button, or on a segmented branch the first action that is not the chevron. A branch with only a chevron folds instead. - Space — open and close, the same as Right and Left. Only while focus sits on the row itself: a row that is its own control, and a segmented action you tabbed into, handle both keys themselves. Opening and closing runs through the row's own disclosure control — the segment marked `disclosure`, or the row itself when it is a button. The list activates that control rather than writing `expanded`, so the state keeps being set in one place: the consumer's handler. A row that is a link is never activated this way, since that would navigate away. The tree is one tab stop. Focus lands on the row itself when the row has no control of its own, because that is where `treeitem` sits and it makes assistive technology announce the row rather than a button inside it. Tab then walks the controls of THAT row (a chevron beside a checkbox, say) and leaves the list after the last one. A deliberate deviation: strictly speaking a row with several controls is a `treegrid`, not a `tree`. We keep the tree semantics — level and set size are what matters here, not rows and columns — and borrow the "Tab within the row" behavior from the grid pattern. Should a tree with real columns come up, that is when `treegrid` earns its own type. On reorder (type="list" + reorderable), the list dispatches `nldd-reorder` with `fromIndex` / `toIndex` and expects the consumer to mutate the DOM (or their data model that renders the DOM). Focus is restored to the moved item's drag handle via a single `requestAnimationFrame` — this assumes the consumer reorders **synchronously** in the event handler. Async renderers (React, Vue, …) that update the DOM on a later tick will miss the focus restore and should manage focus themselves after their render commits. */
|
|
3704
3787
|
'nldd-list': DefineComponent<NLDDListProps>;
|
|
3705
|
-
/** A row within an `nldd-list`. Renders as a link when `href` is set, as a checkbox when `checkbox` is set, as a button when `button` is set, or as a plain container otherwise. All cells and segments share one flat slot, in source order. Two rules govern every row: 1. State fills always paint the WIDENED row geometry — the row box extended by the indicator inline inset on both sides — whether or not the row is interactive. Paint never differs between a selected plain row and a selected interactive row. 2. The widened strip belongs to the ROW, never to a segment. A row with any action (its own `href`/`button`/`checkbox`, or a slotted segment) pulls itself outward (`is-interactive` host class → negative inline margin) and pads the row block back by the same amount, so content stays on the grid. A row-wide action owns that padding itself, making the whole widened box one hit area; slotted segments stay in the grid, so their footprint is position-independent and tree columns line up at any depth. By default the divider starts at the row's first text or title cell, so the line lands on the words rather than on whatever leads up to them — an icon, an avatar, a checkbox, or the spacers a tree indents with. Rows of different shapes then still line their dividers up with each other, and a tree's dividers step inward with its indentation. Text inside an `nldd-list-item-segment` counts as the row's content, and the marker is that text cell rather than the action: the action carries its own inline padding, so its edge sits before the words. A row with no text or title cell keeps the full content width. Mark a cell with `divider-start` and/or `divider-end` to place it yourself instead — an explicit marker replaces the derived one entirely, so `divider-start` on the leading cell restores the full-width line. Multiple markers resolve as the union: first `divider-start` through last `divider-end`. A start past the last end is an authoring error — the item DEV-warns and falls back to the full content width. A branch row can disclose its children in two ways: a dedicated `nldd-list-item-segment[disclosure]` segment (only the chevron is clickable), or the row itself as the control (`button` + `expanded`, the whole row toggles). In the second case, mark the chevron's `nldd-icon-cell` with `disclosure` and the row turns it with `expanded` — the same affordance, without having to trade a clickable row for a turning chevron. `checkbox` makes the WHOLE row the control: the inner action becomes a `role="checkbox"` button carrying `aria-checked`, it toggles `checked` on activation and fires `change`. Slot
|
|
3788
|
+
/** A row within an `nldd-list`. Renders as a link when `href` is set, as a checkbox when `checkbox` is set, as a button when `button` is set, or as a plain container otherwise. All cells and segments share one flat slot, in source order. With one action, make the row itself the control (`href`, `button`, `checkbox` or `radio`): the whole row is then one hit area. With two or more, give each its own `nldd-list-item-segment` and leave the row without an action of its own. Both at once nests a control inside a control, and the item warns about that in development. Two rules govern every row: 1. State fills always paint the WIDENED row geometry — the row box extended by the indicator inline inset on both sides — whether or not the row is interactive. Paint never differs between a selected plain row and a selected interactive row. 2. The widened strip belongs to the ROW, never to a segment. A row with any action (its own `href`/`button`/`checkbox`, or a slotted segment) pulls itself outward (`is-interactive` host class → negative inline margin) and pads the row block back by the same amount, so content stays on the grid. A row-wide action owns that padding itself, making the whole widened box one hit area; slotted segments stay in the grid, so their footprint is position-independent and tree columns line up at any depth. By default the divider starts at the row's first text or title cell, so the line lands on the words rather than on whatever leads up to them — an icon, an avatar, a checkbox, or the spacers a tree indents with. Rows of different shapes then still line their dividers up with each other, and a tree's dividers step inward with its indentation. Text inside an `nldd-list-item-segment` counts as the row's content, and the marker is that text cell rather than the action: the action carries its own inline padding, so its edge sits before the words. A row with no text or title cell keeps the full content width. Mark a cell with `divider-start` and/or `divider-end` to place it yourself instead — an explicit marker replaces the derived one entirely, so `divider-start` on the leading cell restores the full-width line. Multiple markers resolve as the union: first `divider-start` through last `divider-end`. A start past the last end is an authoring error — the item DEV-warns and falls back to the full content width. A branch row can disclose its children in two ways: a dedicated `nldd-list-item-segment[disclosure]` segment (only the chevron is clickable), or the row itself as the control (`button` + `expanded`, the whole row toggles). In the second case, mark the chevron's `nldd-icon-cell` with `disclosure` and the row turns it with `expanded` — the same affordance, without having to trade a clickable row for a turning chevron. `checkbox` makes the WHOLE row the control: the inner action becomes a `role="checkbox"` button carrying `aria-checked`, it toggles `checked` on activation and fires `change`. Slot an `nldd-checkbox decorative` (or any glyph) before the text: it only shows the state, since the row already conveys role and state, and a second focusable control would double the tab stops. Do NOT nest a real `<input type="checkbox">` in the action: interactive content inside a `<button>` is invalid HTML and AT announces the button, not the checked state. A `<label>` variant is not offered for the same reason it cannot work — label-to-input association walks the DOM tree, and a slotted input is not a descendant of a label in the shadow root. When it renders as a link, `target` and `rel` are forwarded to the inner `<a>` (e.g. `target="_blank" rel="noopener noreferrer"`). With `target="_blank"` the item also injects a visually hidden "opens in new tab" announcement for assistive technology (WCAG 2.1 SC 3.2.2). The item synchronizes its ARIA with its parent `nldd-list`'s `type`: - `list` parent → `role="listitem"` - `navigation` parent → `role="listitem"` + `aria-current="page"` on the inner `<a>` / `<button>` when `selected` - `listbox` parent → `role="option"` + `aria-selected` reflecting `selected`. The list points its search input's `aria-activedescendant` at the active option via `_highlighted` (separate from `selected`). */
|
|
3706
3789
|
'nldd-list-item': DefineComponent<NLDDListItemProps>;
|
|
3707
3790
|
/** A segment inside an `nldd-list-item`: it groups a run of cells and makes just that run clickable. Use it when a row needs more than one segment — a tree row whose chevron expands while the label toggles a checkbox, or a row that navigates with a separate button beside it. Put it in the row where its cells would go: the item has one flat slot, and a segment takes the place of the cells it covers. Where the divider starts or stops is marked on the cells themselves (`divider-start` / `divider-end`), not by the slot a segment sits in. A row is EITHER row-level interactive (`href` / `button` / `checkbox` on the `nldd-list-item`) OR segmented (one or more of these). Both at once nests a control inside a control, which is invalid HTML; the item DEV-warns. Unlike the row-wide action this does not bleed outward: a segment sits between siblings, so an outward inset would overlap them. It owns its inline padding and never drops below the row's control size, so an icon-only one still meets the WCAG 2.5.8 target size — do not add spacer cells inside it for room or hit area, that doubles the space. In a `type="listbox"` list the segment renders as a plain container (no control, not focusable) and DEV-warns: an `option` may not contain interactive descendants. The cells render unchanged, so nothing shifts. */
|
|
3708
3791
|
'nldd-list-item-segment': DefineComponent<NLDDListItemSegmentProps>;
|
|
@@ -3718,12 +3801,12 @@ declare module 'vue' {
|
|
|
3718
3801
|
'nldd-menu-group': DefineComponent<NLDDMenuGroupProps>;
|
|
3719
3802
|
/** A single item within an nldd-menu. */
|
|
3720
3803
|
'nldd-menu-item': DefineComponent<NLDDMenuItemProps>;
|
|
3721
|
-
/** A modal window with overlay backdrop, based on the native <dialog> element. Internally renders an <nldd-inline-dialog> for the visual structure. */
|
|
3804
|
+
/** A modal window with overlay backdrop, based on the native <dialog> element. Internally renders an <nldd-inline-dialog> for the visual structure. Open and close it with `open`, bound to your state together with the close event: the dialog clears `open` itself when the user closes it. show() and hide() do the same for code without a binding. Keep the dialog in the DOM rather than mounting it when it opens, or the animations are skipped. */
|
|
3722
3805
|
'nldd-modal-dialog': DefineComponent<NLDDModalDialogProps>;
|
|
3723
3806
|
'nldd-multi-line-text-field': DefineComponent<NLDDMultiLineTextFieldProps>;
|
|
3724
|
-
/** A four-column layout with a primary sidebar, secondary sidebar, main content area, and inspector. The sidebars show navigation or lists, the main area shows primary content, and the inspector shows additional details or properties of the selection. Panes are shown automatically when content is slotted into them. */
|
|
3807
|
+
/** A four-column layout with a primary sidebar, secondary sidebar, main content area, and inspector. The sidebars show navigation or lists, the main area shows primary content, and the inspector shows additional details or properties of the selection. Panes are shown automatically when content is slotted into them. When they stop fitting, panes drop in a fixed order: the inspector goes first, then the primary sidebar collapses into the secondary sidebar. If that still does not fit, the view stacks and shows one pane at a time: main when it has content, otherwise the secondary sidebar, otherwise the primary sidebar. Use <code>nldd-split-view-pane</code> as direct children for automatic back button handling. */
|
|
3725
3808
|
'nldd-navigation-split-view': DefineComponent<NLDDNavigationSplitViewProps>;
|
|
3726
|
-
/** A short message that arrives over the interface and leaves on its own: a save that worked, a request that failed. Not a banner, which stands in the page and stays there — this one floats, stacks, and goes away. It places itself. Write it wherever it belongs in your code and it moves to one shared
|
|
3809
|
+
/** A short message that arrives over the interface and leaves on its own: a save that worked, a request that failed. Not a banner, which stands in the page and stays there — this one floats, stacks, and goes away. It places itself. Write it wherever it belongs in your code and it moves to one shared area: top right from md, full width across the top below that. Nothing about the position is settable, so notifications from anywhere in an application land in the same place and stack in the same order. A modal overlay is the one thing that moves it. An nldd-sheet, nldd-window or nldd-modal-dialog paints in the browser's top layer, above the whole page and out of reach of any z-index, and while one is open everything outside it is inert. So the area goes in: into the topmost overlay that is open, and back down as they close. A notification already on screen travels with it, and one raised from inside a sheet is readable and reachable where it is raised. More than one is a deck, not a list: the front one is readable and the older ones peek out below it, so a burst of messages takes the room of roughly one. The newest is in front. Behind it a notification is a bare surface, cut to the height of the one in front; dismiss the front and it slides up into the place that came free while its message fades in, because it was standing there all along. Under the front notification sits a strip as wide as the deck and as tall as the deck is when it fans out. Pointing at it fans the deck out to fill it, which is the only hint that there is more here than the message you can read; clicking it, or moving focus into the area, lays the whole deck out as a list. Clicking or tabbing away puts it back. The notification itself is not a button: a click on the message you are reading does nothing. Only the front of the deck counts down, and only while the deck is closed: open means someone is reading. The rest wait, so nothing disappears from under the one you are reading. `critical` never leaves on its own: a failure is worth reading, and the count-down would take it away while you were. That also keeps this within WCAG 2.2.1, which allows a time limit when what disappears is not essential. The clock pauses while a pointer moves over the notification and while focus is inside it, and resumes where it left off rather than starting over. A pointer that merely happens to rest where the notification appears does not count: it never moved, so nobody is reading. role follows the variant: `critical` becomes role="alert", the rest role="status". Focus never moves on its own. Escape dismisses the notification that focus is in. */
|
|
3727
3810
|
'nldd-notification': DefineComponent<NLDDNotificationProps>;
|
|
3728
3811
|
/** A numeric input field with decrement and increment buttons. */
|
|
3729
3812
|
'nldd-number-field': DefineComponent<NLDDNumberFieldProps>;
|
|
@@ -3731,7 +3814,7 @@ declare module 'vue' {
|
|
|
3731
3814
|
'nldd-one-half-one-half-section': DefineComponent<NLDDOneHalfOneHalfSectionProps>;
|
|
3732
3815
|
/** A section with a 1/3 sidebar on the left and 2/3 main content on the right. The columns wrap automatically when they become smaller than 280px. Padding and gap adjust via container queries. */
|
|
3733
3816
|
'nldd-one-third-two-thirds-section': DefineComponent<NLDDOneThirdTwoThirdsSectionProps>;
|
|
3734
|
-
/** A page layout with optional sticky header and footer. Without sticky-header, the host is the scroll container and the header is in normal flow. With sticky-header, the header becomes absolute and .page__scroll takes over scrolling, padded by the measured header height. That padding freezes once you scroll, so a collapsing bar cannot drag the content up under the cursor. In root-scroll mode (--context-scroll-mode: root, derived upstream by nldd-app-view) the page stops owning a scroller: the document scrolls and the sticky header/footer stick against the document, offset by --context-inset-top/bottom. The mode is read on connect/resize and reflected to [data-scroll] so the CSS can branch. The page passes those insets on to its own content, with its sticky header and footer added: anything sticky inside (an nldd-sidebar-section, a sticky table head) reads --context-inset-top / --context-inset-bottom and clears every bar above and below it without being told a number. The heights are measured, because a top title bar shrinks as you scroll past its anchor. While the page owns the scroller, only its own bars count: the chrome above the page sits outside that scroller and does not push sticky content down. */
|
|
3817
|
+
/** A page layout with optional sticky header and footer. Without sticky-header, the host is the scroll container and the header is in normal flow. With sticky-header, the header becomes absolute and .page__scroll takes over scrolling, padded by the measured header height. That padding freezes once you scroll, so a collapsing bar cannot drag the content up under the cursor. In root-scroll mode (--context-scroll-mode: root, derived upstream by nldd-app-view) the page stops owning a scroller: the document scrolls and the sticky header/footer stick against the document, offset by --context-inset-top/bottom. The mode is read on connect/resize and reflected to [data-scroll] so the CSS can branch. The page passes those insets on to its own content, with its sticky header and footer added: anything sticky inside (an nldd-sidebar-section, a sticky table head) reads --context-inset-top / --context-inset-bottom and clears every bar above and below it without being told a number. The heights are measured, because a top title bar shrinks as you scroll past its anchor. While the page owns the scroller, only its own bars count: the chrome above the page sits outside that scroller and does not push sticky content down. A page carries the landmarks of a document: its header is the banner, its content the main landmark, its footer the contentinfo. A document has one of each, so a page that sits beside another one cannot have them. Such a page renders a section and a plain div instead, which drops all three at once: a header inside sectioning content is no longer a banner. With `accessible-label` that section is a named region, so there is still one landmark to jump to; without a name it is no landmark at all, which beats an unnamed one. `landmarks` says which of the two a page is, and `auto` (the default) reads it off where the page sits: - in an overlay (nldd-sheet, nldd-modal-dialog, nldd-window, nldd-popover) a region, because the overlay is not the document; - in a pane of nldd-navigation-split-view, nldd-side-by-side-split-view or nldd-stacked-split-view a region, because those place pages beside each other; - anywhere else the page, including the `main` slot of an nldd-bar-split-view, which stacks bars around a single content area. So an app shell has no main until you say which pane holds the primary content, with `landmarks="page"` on that one page. Only the application knows which pane that is. Two pages that both render a main is invalid HTML, and the page says so in development. */
|
|
3735
3818
|
'nldd-page': DefineComponent<NLDDPageProps>;
|
|
3736
3819
|
/** The footer band at the bottom of a page. Hosts three optional rows in a fixed order: breadcrumbs (top), consumer-defined main content (middle), and a legal-bar (bottom). Dividers are drawn automatically between non-empty rows. Establishes its own container query (`page-footer-container`) so the responsive padding and gap react to the footer's own width, not the viewport. The host has `id="page-footer"` so a skip-link can target it directly. Use the sub-components `nldd-page-footer-legal-bar` and `nldd-page-footer-legal-bar-item` for the bottom row. */
|
|
3737
3820
|
'nldd-page-footer': DefineComponent<NLDDPageFooterProps>;
|
|
@@ -3743,12 +3826,12 @@ declare module 'vue' {
|
|
|
3743
3826
|
'nldd-pagination': DefineComponent<NLDDPaginationProps>;
|
|
3744
3827
|
/** A password input field with visibility toggle and validation states. */
|
|
3745
3828
|
'nldd-password-field': DefineComponent<NLDDPasswordFieldProps>;
|
|
3746
|
-
/** A non-modal floating panel anchored to a trigger element. Built on the native Popover API (popover="auto") with Floating UI for positioning. The browser handles opening, toggling and light dismiss; this component only handles positioning and focus. The recommended use is through popovertarget, so the browser owns the toggle: <nldd-button id="info-trigger" popovertarget="info-popover">Info</nldd-button> <nldd-popover id="info-popover" anchor="info-trigger" accessible-label="Info"> <nldd-container> <p>Content of the popover.</p> </nldd-container> </nldd-popover> For a custom focus target inside the popover, put `autofocus` on the child you want. Without it the popover host itself takes focus. */
|
|
3829
|
+
/** A non-modal floating panel anchored to a trigger element. Built on the native Popover API (popover="auto") with Floating UI for positioning. The browser handles opening, toggling and light dismiss; this component only handles positioning and focus. The recommended use is through popovertarget, so the browser owns the toggle: <nldd-button id="info-trigger" popovertarget="info-popover">Info</nldd-button> <nldd-popover id="info-popover" anchor="info-trigger" accessible-label="Info"> <nldd-container> <p>Content of the popover.</p> </nldd-container> </nldd-popover> To open it from your own state instead, bind `open` together with the close event: the popover clears `open` itself on light dismiss, Escape or a click on its anchor. It needs that anchor to open against. For a custom focus target inside the popover, put `autofocus` on the child you want. Without it the popover host itself takes focus. */
|
|
3747
3830
|
'nldd-popover': DefineComponent<NLDDPopoverProps>;
|
|
3748
|
-
/** Exports both NLDDProgressBar and NLDDProgressBarSegmentIndicator. A progress bar that supports a single value (loading-style) or multiple segments (multi-stage progress, or distribution like storage usage). The consumer provides raw values; the component computes percentages from `max`. Two
|
|
3831
|
+
/** Exports both NLDDProgressBar and NLDDProgressBarSegmentIndicator. A progress bar that supports a single value (loading-style) or multiple segments (multi-stage progress, or distribution like storage usage). The consumer provides raw values; the component computes percentages from `max`. Two variants: - `progress` (default): segments sum toward `max`; remaining space is empty track. ARIA reads "X% voltooid". - `distribution`: segments fill the bar; ARIA enumerates segments. If the sum of segment values exceeds `max`, segments are normalized proportionally to fit and a warning is logged. */
|
|
3749
3832
|
'nldd-progress-bar': DefineComponent<NLDDProgressBarProps>;
|
|
3750
3833
|
'nldd-progress-bar-segment-indicator': DefineComponent<NLDDProgressBarSegmentIndicatorProps>;
|
|
3751
|
-
/** Exports both NLDDProgressCircle and NLDDProgressCircleSegmentIndicator. A circular progress indicator that mirrors the API of nldd-progress-bar: single-value or multi-segment, progress or distribution
|
|
3834
|
+
/** Exports both NLDDProgressCircle and NLDDProgressCircleSegmentIndicator. A circular progress indicator that mirrors the API of nldd-progress-bar: single-value or multi-segment, progress or distribution variant, 24 colors, fade transitions between determinate/indeterminate, indeterminate indicator. Visual differences vs the bar: - SVG arcs instead of rectangular bars. - Label below the circle (not above). - No center text; the consumer can wrap the circle if needed. - One combined tooltip on the whole circle showing all segment info (no per-segment tooltips). - Indeterminate uses a rotating elastic arc (Material-style) instead of the bar's Knight Rider scanner. */
|
|
3752
3835
|
'nldd-progress-circle': DefineComponent<NLDDProgressCircleProps>;
|
|
3753
3836
|
'nldd-progress-circle-segment-indicator': DefineComponent<NLDDProgressCircleSegmentIndicatorProps>;
|
|
3754
3837
|
/** WAI-ARIA: put the buttons of one group in a container with role="radiogroup" and a name of its own. A screen reader counts the options from that container, so a bare <fieldset> (which is a group, not a radiogroup) leaves them uncounted. nldd-radio-button-group does this for you. Radio buttons with the same name, in the same form and the same tree, form one group the way native radios do: checking one unchecks the others, the arrow keys move between them, Tab stops at the group once, and a screen reader hears each one's place in it. The element itself is the radio, because an input per shadow root would leave every button a group of one. The shape is all this component draws. A radio with a label beside it is nldd-radio-button-field. <fieldset role="radiogroup" aria-labelledby="options-label"> <legend id="options-label">Kies een optie</legend> <nldd-radio-button name="options" value="1" accessible-label="Optie 1"></nldd-radio-button> <nldd-radio-button name="options" value="2" accessible-label="Optie 2"></nldd-radio-button> </fieldset> */
|
|
@@ -3757,24 +3840,24 @@ declare module 'vue' {
|
|
|
3757
3840
|
'nldd-radio-button-field': DefineComponent<NLDDRadioButtonFieldProps>;
|
|
3758
3841
|
/** Groups nldd-radio-button-field elements, handles keyboard navigation, and forwards name and disabled state to all child fields. Use inside nldd-form-field which provides the group label. */
|
|
3759
3842
|
'nldd-radio-button-group': DefineComponent<NLDDRadioButtonGroupProps>;
|
|
3760
|
-
/** A container for rich text content that automatically applies responsive typography. Uses no shadow DOM so styles apply to all nested elements. Import nldd-rich-text.css globally in your application. Children are placed in three zones: text (headings, paragraphs, lists, blockquote, div/section) reads at the `main` size; media and tables (img, figure, video, iframe, table) get the `wide` accent; everything else, code blocks and every component, gets the full `full` span with `justify-self: start`, so the room is available without being forced. Overridable per child with `data-width="main" | "wide" | "full"`. In the left-aligned layout, wide and full read as a bleed to the right; with `centered` they are symmetrical. */
|
|
3843
|
+
/** A container for rich text content that automatically applies responsive typography. Uses no shadow DOM so styles apply to all nested elements. Import nldd-rich-text.css globally in your application. The rich text lays out its direct children in a grid: the vertical rhythm between headings, paragraphs and lists, and the width zones below, apply to those children only. A single wrapper `div` without `class`, `style`, `role` or `data-width`, as a markdown renderer or a component root produces it, is passed through with `display: contents`, so its children count as direct. Any other wrapper becomes a single grid item, and the paragraphs inside it lose their spacing. Children are placed in three zones: text (headings, paragraphs, lists, blockquote, div/section) reads at the `main` size; media and tables (img, figure, video, iframe, table) get the `wide` accent; everything else, code blocks and every component, gets the full `full` span with `justify-self: start`, so the room is available without being forced. Overridable per child with `data-width="main" | "wide" | "full"`. In the left-aligned layout, wide and full read as a bleed to the right; with `centered` they are symmetrical. */
|
|
3761
3844
|
'nldd-rich-text': DefineComponent<NLDDRichTextProps>;
|
|
3762
3845
|
/** A search input with a leading search icon, an optional dismiss button, and an optional search button. */
|
|
3763
3846
|
'nldd-search-field': DefineComponent<NLDDSearchFieldProps>;
|
|
3764
3847
|
/** A horizontal group of mutually exclusive (radio) or multi-select (checkbox) options. Exports both NLDDSegmentedControl and NLDDSegmentedControlItem. */
|
|
3765
3848
|
'nldd-segmented-control': DefineComponent<NLDDSegmentedControlProps>;
|
|
3766
3849
|
'nldd-segmented-control-item': DefineComponent<NLDDSegmentedControlItemProps>;
|
|
3767
|
-
/** An overlay component that slides in from the side or bottom of the screen. Based on the native <dialog> element for built-in accessibility, focus management, and Escape key support. On small (sm) viewports the sheet always renders as a bottom sheet, regardless of the configured placement. Render the sheet at the document root (teleport/portal it to `document.body`), never inside a split view's content flow: as a slotted flex child it would steal pane height (see `nldd-split-view-pane`). */
|
|
3850
|
+
/** An overlay component that slides in from the side or bottom of the screen. Based on the native <dialog> element for built-in accessibility, focus management, and Escape key support. On small (sm) viewports the sheet always renders as a bottom sheet, regardless of the configured placement. Render the sheet at the document root (teleport/portal it to `document.body`), never inside a split view's content flow: as a slotted flex child it would steal pane height (see `nldd-split-view-pane`). A sheet holds a whole nldd-page: an nldd-top-title-bar in its header slot, the content, and a footer when there are actions. The page behaves as it does anywhere else, with only the middle scrolling, and the text of the bar is also the sheet's accessible name. Do not build a header of your own. Open and close it with `open`, bound to your state together with the close event: the sheet clears `open` itself when the user closes it. show() and hide() do the same for code without a binding. Keep the sheet in the DOM rather than mounting it when it opens, or the animations are skipped. */
|
|
3768
3851
|
'nldd-sheet': DefineComponent<NLDDSheetProps>;
|
|
3769
|
-
/** A horizontal split view with multiple equal panes side by side. The number of panes is set via the `panes` attribute. Each pane automatically gets a numbered slot: pane-1, pane-2, etc. Panes that do not fit the available width are automatically hidden. */
|
|
3852
|
+
/** A horizontal split view with multiple equal panes side by side. The number of panes is set via the `panes` attribute. Each pane automatically gets a numbered slot: pane-1, pane-2, etc. Panes that do not fit the available width are automatically hidden, from right to left: `pane-1` is the last to go. Put the main content in `pane-1` and an inspector or detail in the last pane. */
|
|
3770
3853
|
'nldd-side-by-side-split-view': DefineComponent<NLDDSideBySideSplitViewProps>;
|
|
3771
3854
|
/** A page section with a left sidebar alongside the main content. - **Wide (section >= 1008px):** two columns. The sidebar is a sticky, scrollable tinted box (max-width 320px) beside the main content. Its sticky top/bottom insets default to 16px; override with `sticky-top` / `sticky-bottom` so it clears other sticky page elements (e.g. a sticky header). - **Narrow (section < 1008px):** the sidebar collapses behind a sheet (a left panel on md+ viewports, a bottom sheet on mobile), and the host reflects a `collapsed` attribute. The consumer owns the trigger: place any chrome (a button, a chosen-filters bar, …) wherever you want, show it only while collapsed (e.g. `nldd-sidebar-section[collapsed] .my-trigger { … }` or by reading `collapsed` / listening to `collapse-change`), and call `show()` / `toggle()` to open the sheet. Bind `aria-expanded` via the `open`/`close` events. The sheet gets a sticky title bar by default — the `sidebar-label` as title plus a "Sluit" button — overridable via the `sheet-top-title-bar` slot. The sidebar content lives in `slot="sidebar"`. Its slot outlet moves between the box (expanded) and the sheet (collapsed) so there is a single, never-duplicated copy — the light DOM (and its state) is preserved across the switch. The box <-> sheet switch follows the section's OWN width (a ResizeObserver on the host), not the viewport — so a sidebar-section in a narrow column or a split-view pane collapses to the sheet just like one in a narrow viewport, and the sidebar never stacks above or crowds the main. Set `no-collapse` to opt out: a narrow section then stacks the sidebar (full-width) above the main instead of using a sheet. Inherits block `padding` and `height` from PageSectionMixin. */
|
|
3772
3855
|
'nldd-sidebar-section': DefineComponent<NLDDSidebarSectionProps>;
|
|
3773
|
-
/** A basic section with responsive padding and gap based on container size. Contains optional header and footer slots. The padding and spacing between slots adjust automatically via container queries. */
|
|
3856
|
+
/** A basic section with responsive padding and gap based on container size. Contains optional header and footer slots. The padding and spacing between slots adjust automatically via container queries. Use one section per content block and repeat the section rather than building columns inside one: the section sets the reading width and the padding itself. For two columns there are nldd-one-half-one-half-section, nldd-two-thirds-one-third-section, nldd-one-third-two-thirds-section and nldd-sidebar-section. Give a section its surface with `background` instead of a background color of your own; that is how the components inside know which surface they are on. */
|
|
3774
3857
|
'nldd-simple-section': DefineComponent<NLDDSimpleSectionProps>;
|
|
3775
3858
|
/** Accessibility pattern that lets keyboard users skip past content. Wraps content in a default slot. Without href it focuses the first element after the skip link in the DOM (nextElementSibling). Make sure a focusable element follows the component, otherwise the skip link has no effect. */
|
|
3776
3859
|
'nldd-skip-link': DefineComponent<NLDDSkipLinkProps>;
|
|
3777
|
-
/** Add explicit space between elements. Components here have no margins of their own — all whitespace is set by a spacer. Use a single `size` attribute for whitespace that's the same at every viewport. Combine with `sm-size`, `md-size` and/or `lg-size` to override the size at specific breakpoints (mobile-first cascade is intentionally avoided — each breakpoint that needs a different value declares it explicitly): - `size` applies at every breakpoint that has no per-viewport override. - `sm-size` overrides at sm (max-width: 640px). - `md-size` overrides at md (641px–1007px). - `lg-size` overrides at lg (min-width: 1008px). Use `flexible` (in any of the four attributes) to fill the remaining space in a flex container. */
|
|
3860
|
+
/** Add explicit space between elements. Components here have no margins of their own — all whitespace is set by a spacer. A spacer is fixed space between two different things. For padding around an area, or the gaps between the children of one area, use `nldd-container` with `padding` and `gap` instead. A `gap` sets one distance for every child, which is right while the children are of one kind: a row of buttons, a set of cards, the fields of a form. Put different kinds under each other and the right distance differs per seam, so set each one where it happens with a spacer. A heading over a list is the common case: the space under the heading should be smaller than the space above it, which keeps the heading with what it labels. A gap cannot tell the two apart, and evening them out reads as a strip of loose lines. Use a single `size` attribute for whitespace that's the same at every viewport. Combine with `sm-size`, `md-size` and/or `lg-size` to override the size at specific breakpoints (mobile-first cascade is intentionally avoided — each breakpoint that needs a different value declares it explicitly): - `size` applies at every breakpoint that has no per-viewport override. - `sm-size` overrides at sm (max-width: 640px). - `md-size` overrides at md (641px–1007px). - `lg-size` overrides at lg (min-width: 1008px). Use `flexible` (in any of the four attributes) to fill the remaining space in a flex container. */
|
|
3778
3861
|
'nldd-spacer': DefineComponent<NLDDSpacerProps>;
|
|
3779
3862
|
/** A cell component that provides fixed horizontal spacing within list items. */
|
|
3780
3863
|
'nldd-spacer-cell': DefineComponent<NLDDSpacerCellProps>;
|
|
@@ -3810,27 +3893,28 @@ declare module 'vue' {
|
|
|
3810
3893
|
'nldd-text': DefineComponent<NLDDTextProps>;
|
|
3811
3894
|
/** A cell component for displaying text content in lists with configurable alignment, size and color. This is the most fundamental list cell component. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. Each text region (overline, main text, supporting text) accepts either a string attribute or slotted DOM content. The slot is the source of truth: if the consumer provides slotted content, it replaces the attribute-based render for that region. Use slots when you need inline elements like `<nldd-tag>`, `<a>` or `<nldd-icon>` mixed with text. Note that `query` highlighting and `**bold**` parsing only apply to the attribute path — slotted content is rendered as-is. */
|
|
3812
3895
|
'nldd-text-cell': DefineComponent<NLDDTextCellProps>;
|
|
3813
|
-
/** A hybrid markdown editor built on CodeMirror 6 (via NLDDCodeMirrorElement): the document stays plain markdown text, but formatting is shown inline (bold is bold, headings are larger, links are colored) while the syntax markers stay visible, only dimmed — the iA Writer / Kirby approach. No WYSIWYG tree, so the data stays portable. Default `
|
|
3896
|
+
/** A hybrid markdown editor built on CodeMirror 6 (via NLDDCodeMirrorElement): the document stays plain markdown text, but formatting is shown inline (bold is bold, headings are larger, links are colored) while the syntax markers stay visible, only dimmed — the iA Writer / Kirby approach. No WYSIWYG tree, so the data stays portable. Default `appearance="simple"` is bare (no frame, no focus ring) for use inside a composition (e.g. a message field) that owns its chrome and focus; the caret is a prominent accent. `appearance="input-field"` adds a framed surface + focus Headless: there is no built-in toolbar. A consumer drives formatting via the command methods (toggleBold/toggleItalic/toggleInlineCode/toggleStrikethrough/ toggleHeading/toggleBulletList/toggleTaskList/toggleQuote/toggleLink/runCommand to toggle, and setHeading/setList for picker-style "set" semantics), reads the active formats with getState(), listens to the nldd-text-editor-state event to render toggle states, and forwards padding clicks with focusFromPoint(). Cmd/Ctrl+B/I/E/K are bound out of the box. Commands keep focus on the editor. An inline toggle wraps the selected text (whitespace at its edges stays outside the markers), unwraps a run the caret is in, and with the caret at the very end of a run steps out of it. Bold that a typed space has broken (`**woord **`) keeps its styling while the caret is inside; the space moves outside the markers when the caret leaves. insertAtCursor(text) puts text at the caret and replaceRange(from, to, text) writes at the same clean offsets getSelection() reads. An @-mention typeahead (mentionSource) collapses to an atomic token, further typeahead lists on their own trigger (typeaheads) write what you tell them to, and a W3C-style annotation overlay (annotations) marks ranges with a dashed underline, light tint and a count badge without touching the underlying text. */
|
|
3814
3897
|
'nldd-text-editor': DefineComponent<NLDDTextEditorProps>;
|
|
3815
3898
|
'nldd-text-field': DefineComponent<NLDDTextFieldProps>;
|
|
3816
3899
|
/** A text field for a time. The value is always 24-hour `HH:mm`, which is how Dutch shows it too, so unlike nldd-date-field there is nothing to convert. Typing is not masked: input is accepted generously and normalized only when the field is left. Error messages belong to nldd-form-field, not here. This field reflects only `invalid` / `valid`, like nldd-text-field. What you do in the picker is a preview until you leave it. The field shows the time right away but commits it on close. "Klaar" and Enter keep the choice, and so does a click outside once you have picked something. Cancel and Escape put the old time back. On an empty field the wheels open at `min`, or otherwise at the current time rounded to `step`, which does not fill in the field yet. */
|
|
3817
3900
|
'nldd-time-field': DefineComponent<NLDDTimeFieldProps>;
|
|
3818
3901
|
/** Two columns, hours and minutes, that slide like a wheel past the selection in the middle. The component works on its own (inline on a page, in a filter panel) and also sits in the popover of nldd-time-field. Values are always 24-hour `HH:mm`. Scrolling is choosing: whatever comes to rest in the middle is the value. The keyboard drives that same selection, because that is what a wheel is: hour and minute are each a spinbutton. The columns underneath are aria-hidden, so the same values are not read out twice. */
|
|
3819
3902
|
'nldd-time-picker': DefineComponent<NLDDTimePickerProps>;
|
|
3820
|
-
/** A cell component for displaying timeline track indicators in lists. Shows a vertical line with a dot indicating timeline position and state. The row's block padding belongs to the cell itself (via `--context-cell-padding-block`), so the line spans the cell's own box edge to edge and consecutive steps connect without gaps. By default the cell is a bare track: a line with a dot per row, for a timeline of events. With `
|
|
3903
|
+
/** A cell component for displaying timeline track indicators in lists. Shows a vertical line with a dot indicating timeline position and state. The row's block padding belongs to the cell itself (via `--context-cell-padding-block`), so the line spans the cell's own box edge to edge and consecutive steps connect without gaps. By default the cell is a bare track: a line with a dot per row, for a timeline of events. With `size="md"` the dot grows big enough for a number or an icon and you have a list of steps under each other, the vertical counterpart of `nldd-step-indicator`. The size belongs to the lane rather than to the content: every dot in a list is the same size, or the track would jump. */
|
|
3821
3904
|
'nldd-timeline-track-cell': DefineComponent<NLDDTimelineTrackCellProps>;
|
|
3822
|
-
/** A title bar with an optional overline, title, and
|
|
3905
|
+
/** A title bar with an optional overline, title, and supporting text on the left, and a slot at the end of the title line on the right. The title comes from `text`, with `heading-level` for its place in the heading structure. `size` is how it looks, `heading-level` what it is, and the two are set apart. `overline` and `supporting-text` go above and below it. Each of the three has a slot in the same place for content that is more than text, and a filled slot takes the place of the attribute. */
|
|
3823
3906
|
'nldd-title': DefineComponent<NLDDTitleProps>;
|
|
3824
|
-
/** A cell component for displaying a title with optional overline and
|
|
3907
|
+
/** A cell component for displaying a title with optional overline and supporting text in lists. `vertical-alignment="center"` (default) stretches the cell to fill the full row height and centers its content within that space. Use `min-height` to set a minimum centered region. For strict top alignment without a minimum height, use `vertical-alignment="top"`. Each text region (overline, title, supporting text) accepts either a string attribute or slotted DOM content. The slot is the source of truth: if the consumer provides slotted content, it replaces the attribute-based render for that region. Use slots when you need inline elements like `<nldd-tag>`, `<nldd-icon>` or other components mixed with text. Note that `query` highlighting and `**bold**` parsing only apply to the attribute path — slotted content is rendered as-is. */
|
|
3825
3908
|
'nldd-title-cell': DefineComponent<NLDDTitleCellProps>;
|
|
3826
|
-
/** A selectable button that toggles between selected and unselected. Available as a button (aria-pressed), a checkbox, or a radio. In radio mode the button itself is the radio: it carries the role, the state and its place in the group. A native radio in a shadow root of its own would be a group of one, counted as "1 of 1" and stopped at by Tab. */
|
|
3909
|
+
/** A selectable button that toggles between selected and unselected. Available as a button (aria-pressed), a checkbox, or a radio. The label stays the same in both states: the state is in aria-pressed (or checked) and in the fill, so a screen reader says "Favoriet, pressed". A label that changes with the state ("Volgen", then "Ontvolgen") says what the button does next; that is an nldd-button whose text you change, not a toggle. In radio mode the button itself is the radio: it carries the role, the state and its place in the group. A native radio in a shadow root of its own would be a group of one, counted as "1 of 1" and stopped at by Tab. */
|
|
3827
3910
|
'nldd-toggle-button': DefineComponent<NLDDToggleButtonProps>;
|
|
3828
|
-
/** Groups nldd-toggle-button elements and manages selection, keyboard navigation, and forwarding of type, name, size, and disabled state to all buttons. For type="radio" (single-select), arrow keys navigate between buttons and automatically select the focused one. For type="checkbox" (multi-select), multiple buttons can be selected simultaneously. */
|
|
3911
|
+
/** Groups nldd-toggle-button elements and manages selection, keyboard navigation, and forwarding of type, name, appearance, size, and disabled state to all buttons. For type="radio" (single-select), arrow keys navigate between buttons and automatically select the focused one. For type="checkbox" (multi-select), multiple buttons can be selected simultaneously. */
|
|
3829
3912
|
'nldd-toggle-button-group': DefineComponent<NLDDToggleButtonGroupProps>;
|
|
3830
3913
|
/** A self-contained piece of data the user is handling: a person in an address field, an active filter value. Alone among the three it can be operated, so it is optionally dismissable or interactive through a contextual menu. For something you only read, reach for `nldd-tag` (a trait someone assigned) or `nldd-badge` (a state or a count the system keeps). */
|
|
3831
3914
|
'nldd-token': DefineComponent<NLDDTokenProps>;
|
|
3832
|
-
/** A multi-select input that looks like a normal input field: chosen values show as dismissible tokens in a wrapping row, followed by an inline text input that stretches to fill the remaining space and wraps to a new line (growing the field) when it no longer fits. Options are supplied as a slotted nldd-menu, exactly like nldd-combo-box; the menu filters as you type, with a chevron picker button, arrow-key roving across the tokens and ElementInternals form participation. */
|
|
3915
|
+
/** A multi-select input that looks like a normal input field: chosen values show as dismissible tokens in a wrapping row, followed by an inline text input that stretches to fill the remaining space and wraps to a new line (growing the field) when it no longer fits. Options are supplied as a slotted nldd-menu, exactly like nldd-combo-box; the menu filters as you type, with a chevron picker button, arrow-key roving across the tokens and ElementInternals form participation. Options can arrive after the keystroke, from a server you query per keystroke. Slot them into the menu when they come in: if the user is still in the field and the keystroke found nothing to show, the menu opens then. After Escape, or once the user left the field, it stays shut. */
|
|
3833
3916
|
'nldd-token-field': DefineComponent<NLDDTokenFieldProps>;
|
|
3917
|
+
/** A row of controls that belong to a whole screen or pane, with an overflow menu for what does not fit. The toolbar measures itself: as the row runs out of room, items move into that menu, the lowest `priority` first, and items that share a priority move together. So the order in the HTML says where an item sits, and `priority` says how long it stays. Every item carries its own alternative for the menu, an nldd-menu-item in its `overflow` slot. Without one the action is simply gone once the item overflows, which on a wide screen you never see; the item warns about it in development. The toolbar's own `overflow` slot holds the actions that live in the menu at every width. */
|
|
3834
3918
|
'nldd-toolbar': DefineComponent<NLDDToolbarProps>;
|
|
3835
3919
|
'nldd-toolbar-item': DefineComponent<NLDDToolbarItemProps>;
|
|
3836
3920
|
'nldd-toolbar-title': DefineComponent<NLDDToolbarTitleProps>;
|
|
@@ -3842,10 +3926,11 @@ declare module 'vue' {
|
|
|
3842
3926
|
'nldd-top-title-bar': DefineComponent<NLDDTopTitleBarProps>;
|
|
3843
3927
|
/** A section with 2/3 main content on the left and a 1/3 sidebar on the right. The columns wrap automatically when they become smaller than 280px. Padding and gap adjust via container queries. */
|
|
3844
3928
|
'nldd-two-thirds-one-third-section': DefineComponent<NLDDTwoThirdsOneThirdSectionProps>;
|
|
3929
|
+
/** One requirement of a value, with the rule that checks it. Give every item an id that names its field as well as its rule: an id has to be unique in the whole document, and `length` is the first thing three fields in one form will all reach for. Write the text as the requirement ("Minimaal 8 tekens"), not as the command ("Gebruik minimaal 8 tekens"): before a verdict it stands there as what the field wants, after one as what the value does not meet. */
|
|
3845
3930
|
'nldd-validation-item': DefineComponent<NLDDValidationItemProps>;
|
|
3846
3931
|
/** Nederlandse Digitale Dienst Validation List (Lit + TypeScript) Everything a value has to satisfy, in one list. A requirement you can state up front is an item with a rule, and it checks itself while you type. One only a server can decide is an item without a rule, and the app names it in `unmet` on the control. The list has two modes and `judging` is the switch. Before a verdict it shows its hints, which are the requirements of the field. After one it shows everything the value does not satisfy, and the hints are gone. It throws that switch itself the moment its control turns `invalid`, so when the field is judged is the consumer's decision, and the right moment is on submit. Hints are off by default. A phone number does not need its format spelled out before anyone has typed, while the rules for a password do. There are no checkmarks. The control already shows a validation icon of its own, and repeating that per line says the same thing three times. */
|
|
3847
3932
|
'nldd-validation-list': DefineComponent<NLDDValidationListProps>;
|
|
3848
|
-
/** A floating window based on the native <dialog> element, positionable through CSS values. Always modal. No header of its own: consumers use nldd-page with a sticky header inside for a title bar. */
|
|
3933
|
+
/** A floating window based on the native <dialog> element, positionable through CSS values. Always modal. No header of its own: consumers use nldd-page with a sticky header inside for a title bar. The text of the nldd-top-title-bar in that header is also the window's accessible name. Open and close it with `open`, bound to your state together with the close event: the window clears `open` itself when the user closes it. show() and hide() do the same for code without a binding. Keep the window in the DOM rather than mounting it when it opens, or the animations are skipped. */
|
|
3849
3934
|
'nldd-window': DefineComponent<NLDDWindowProps>;
|
|
3850
3935
|
}
|
|
3851
3936
|
}
|