@nldd/design-system 0.8.82 → 0.8.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +3849 -542
- package/dist/components/actions/button/button.d.ts +9 -2
- package/dist/components/actions/button/button.d.ts.map +1 -1
- package/dist/components/actions/button/button.js +15 -2
- package/dist/components/actions/button/button.js.map +1 -1
- package/dist/components/actions/button/button.template.d.ts.map +1 -1
- package/dist/components/actions/button/button.template.js +2 -0
- package/dist/components/actions/button/button.template.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.d.ts +2 -2
- package/dist/components/actions/icon-button/icon-button.js +2 -2
- package/dist/components/actions/menu/menu.d.ts +3 -1
- package/dist/components/actions/menu/menu.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.js +22 -11
- package/dist/components/actions/menu/menu.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.styles.js +2 -2
- package/dist/components/components.js +2911 -1157
- package/dist/components/content/avatar/avatar.d.ts +6 -0
- package/dist/components/content/avatar/avatar.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.js +9 -0
- package/dist/components/content/avatar/avatar.js.map +1 -1
- package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.styles.js +5 -1
- package/dist/components/content/avatar/avatar.styles.js.map +1 -1
- package/dist/components/content/avatar/avatar.template.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.template.js +2 -0
- package/dist/components/content/avatar/avatar.template.js.map +1 -1
- package/dist/components/content/avatar-group/avatar-group.styles.d.ts.map +1 -1
- package/dist/components/content/avatar-group/avatar-group.styles.js +6 -16
- package/dist/components/content/avatar-group/avatar-group.styles.js.map +1 -1
- package/dist/components/content/blockquote/blockquote.d.ts +3 -4
- package/dist/components/content/blockquote/blockquote.d.ts.map +1 -1
- package/dist/components/content/blockquote/blockquote.js +3 -4
- package/dist/components/content/blockquote/blockquote.js.map +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +80 -6
- package/dist/components/content/icon/icon-aliases.js.map +1 -1
- package/dist/components/content/icon/icon-gallery-status.d.ts.map +1 -1
- package/dist/components/content/icon/icon-gallery-status.js +57 -94
- package/dist/components/content/icon/icon-gallery-status.js.map +1 -1
- package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
- package/dist/components/content/icon/icon-registry.js +36 -4
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/content/icon/icon.d.ts +8 -2
- package/dist/components/content/icon/icon.d.ts.map +1 -1
- package/dist/components/content/icon/icon.js +17 -2
- package/dist/components/content/icon/icon.js.map +1 -1
- package/dist/components/content/icon/icon.styles.d.ts.map +1 -1
- package/dist/components/content/icon/icon.styles.js +8 -0
- package/dist/components/content/icon/icon.styles.js.map +1 -1
- package/dist/components/content/image/image.d.ts +1 -1
- package/dist/components/content/image/image.js +1 -1
- package/dist/components/content/image/image.styles.d.ts.map +1 -1
- package/dist/components/content/image/image.styles.js +11 -0
- package/dist/components/content/image/image.styles.js.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +30 -30
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +30 -30
- package/dist/components/content/rich-text/rich-text.d.ts +20 -20
- package/dist/components/content/rich-text/rich-text.js +20 -20
- package/dist/components/content/text/text.d.ts +50 -0
- package/dist/components/content/text/text.d.ts.map +1 -0
- package/dist/components/content/text/text.js +81 -0
- package/dist/components/content/text/text.js.map +1 -0
- package/dist/components/content/text/text.styles.d.ts +2 -0
- package/dist/components/content/text/text.styles.d.ts.map +1 -0
- package/dist/components/content/text/text.styles.js +116 -0
- package/dist/components/content/text/text.styles.js.map +1 -0
- package/dist/components/content/text/text.template.d.ts +3 -0
- package/dist/components/content/text/text.template.d.ts.map +1 -0
- package/dist/components/content/text/text.template.js +7 -0
- package/dist/components/content/text/text.template.js.map +1 -0
- package/dist/components/content/title/title.d.ts +4 -4
- package/dist/components/content/title/title.js +4 -4
- package/dist/components/content/title/title.styles.d.ts.map +1 -1
- package/dist/components/content/title/title.styles.js +9 -13
- package/dist/components/content/title/title.styles.js.map +1 -1
- package/dist/components/content/tooltip/tooltip.d.ts +1 -1
- package/dist/components/content/tooltip/tooltip.js +1 -1
- package/dist/components/{decorate-BKn10QQi.js → decorate-lwt_OrAG.js} +1 -1
- package/dist/components/{dist-TpIL8G4G.js → dist-762GHPyH.js} +3 -3
- package/dist/components/{dist-OBifyiJS.js → dist-BB7TxeMK.js} +2 -2
- package/dist/components/{dist-CJR_Rwhh.js → dist-BJI4-6iQ.js} +1 -1
- package/dist/components/{dist-C400RcFU.js → dist-B_3OW7pC.js} +1 -1
- package/dist/components/{dist-afrAoubg.js → dist-C09E9-dJ.js} +34 -34
- package/dist/components/{dist-Ccw7ZfsU.js → dist-C6gnorjP.js} +4 -3
- package/dist/components/{dist-bO14jlsr.js → dist-CRsR6ckU.js} +1 -1
- package/dist/components/{dist-C0PiB1dr.js → dist-CjaG8dOI.js} +2 -2
- package/dist/components/{dist-CCg5Mso_.js → dist-DZoFKUO-.js} +1 -1
- package/dist/components/{dist-Bq4xc7Bm.js → dist-DaavuU6W.js} +14 -3
- package/dist/components/{dist-BYVOPNHp.js → dist-la_b3ZSq.js} +1 -1
- package/dist/components/forms/form/form.d.ts +76 -22
- package/dist/components/forms/form/form.d.ts.map +1 -1
- package/dist/components/forms/form/form.js +127 -22
- package/dist/components/forms/form/form.js.map +1 -1
- package/dist/components/forms/form-actions/form-actions.d.ts +14 -15
- package/dist/components/forms/form-actions/form-actions.d.ts.map +1 -1
- package/dist/components/forms/form-actions/form-actions.js +14 -15
- package/dist/components/forms/form-actions/form-actions.js.map +1 -1
- package/dist/components/forms/form-field/form-field.d.ts +42 -39
- package/dist/components/forms/form-field/form-field.d.ts.map +1 -1
- package/dist/components/forms/form-field/form-field.js +79 -111
- package/dist/components/forms/form-field/form-field.js.map +1 -1
- package/dist/components/forms/form-field/form-field.styles.d.ts +0 -1
- package/dist/components/forms/form-field/form-field.styles.d.ts.map +1 -1
- package/dist/components/forms/form-field/form-field.styles.js +7 -73
- package/dist/components/forms/form-field/form-field.styles.js.map +1 -1
- package/dist/components/forms/form-field/form-field.template.d.ts +0 -2
- package/dist/components/forms/form-field/form-field.template.d.ts.map +1 -1
- package/dist/components/forms/form-field/form-field.template.js +0 -15
- package/dist/components/forms/form-field/form-field.template.js.map +1 -1
- package/dist/components/forms/form-section/form-section.d.ts +26 -28
- package/dist/components/forms/form-section/form-section.d.ts.map +1 -1
- package/dist/components/forms/form-section/form-section.js +27 -29
- package/dist/components/forms/form-section/form-section.js.map +1 -1
- package/dist/components/forms/validation-list/validation-list.d.ts +193 -0
- package/dist/components/forms/validation-list/validation-list.d.ts.map +1 -0
- package/dist/components/forms/validation-list/validation-list.js +358 -0
- package/dist/components/forms/validation-list/validation-list.js.map +1 -0
- package/dist/components/forms/validation-list/validation-list.styles.d.ts +3 -0
- package/dist/components/forms/validation-list/validation-list.styles.d.ts.map +1 -0
- package/dist/components/forms/validation-list/validation-list.styles.js +58 -0
- package/dist/components/forms/validation-list/validation-list.styles.js.map +1 -0
- package/dist/components/forms/validation-list/validation-list.template.d.ts +5 -0
- package/dist/components/forms/validation-list/validation-list.template.d.ts.map +1 -0
- package/dist/components/forms/validation-list/validation-list.template.js +16 -0
- package/dist/components/forms/validation-list/validation-list.template.js.map +1 -0
- package/dist/components/{icon-CIpJq_cf.js → icon-VTLbdcvZ.js} +104 -11
- package/dist/components/{icon-button-BAkUJTn6.js → icon-button-Sne5TwRG.js} +6 -6
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.d.ts +20 -1
- package/dist/components/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.js +32 -2
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.template.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.template.js +2 -0
- package/dist/components/inputs/checkbox/checkbox.template.js.map +1 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.d.ts +16 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.d.ts.map +1 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.js +27 -2
- package/dist/components/inputs/checkbox-field/checkbox-field.js.map +1 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.template.d.ts.map +1 -1
- package/dist/components/inputs/checkbox-field/checkbox-field.template.js +2 -0
- package/dist/components/inputs/checkbox-field/checkbox-field.template.js.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.d.ts +14 -1
- package/dist/components/inputs/code-editor/code-editor.d.ts.map +1 -1
- package/dist/components/inputs/code-editor/code-editor.js +21 -2
- package/dist/components/inputs/code-editor/code-editor.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.d.ts +15 -2
- package/dist/components/inputs/combo-box/combo-box.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.js +54 -5
- package/dist/components/inputs/combo-box/combo-box.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.js +14 -0
- package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.template.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.template.js +27 -20
- package/dist/components/inputs/combo-box/combo-box.template.js.map +1 -1
- package/dist/components/inputs/date-field/date-field.d.ts +29 -31
- package/dist/components/inputs/date-field/date-field.d.ts.map +1 -1
- package/dist/components/inputs/date-field/date-field.js +40 -37
- package/dist/components/inputs/date-field/date-field.js.map +1 -1
- package/dist/components/inputs/date-field/date-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/date-field/date-field.styles.js +11 -0
- package/dist/components/inputs/date-field/date-field.styles.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 +7 -2
- package/dist/components/inputs/date-field/date-field.template.js.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.d.ts +34 -21
- package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -1
- package/dist/components/inputs/date-picker/date-picker.js +42 -22
- package/dist/components/inputs/date-picker/date-picker.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.d.ts +23 -2
- package/dist/components/inputs/dropdown/dropdown.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.js +36 -3
- package/dist/components/inputs/dropdown/dropdown.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.d.ts +4 -3
- package/dist/components/inputs/file-field/file-field.d.ts.map +1 -1
- package/dist/components/inputs/file-field/file-field.js +8 -7
- package/dist/components/inputs/file-field/file-field.js.map +1 -1
- package/dist/components/inputs/file-field/file-field.template.d.ts.map +1 -1
- package/dist/components/inputs/file-field/file-field.template.js +0 -1
- package/dist/components/inputs/file-field/file-field.template.js.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts +15 -4
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +20 -8
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js +4 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.template.js.map +1 -1
- package/dist/components/inputs/number-field/number-field.d.ts +12 -1
- package/dist/components/inputs/number-field/number-field.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.js +18 -3
- package/dist/components/inputs/number-field/number-field.js.map +1 -1
- package/dist/components/inputs/number-field/number-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/number-field/number-field.styles.js +8 -16
- package/dist/components/inputs/number-field/number-field.styles.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.d.ts +10 -3
- package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.js +18 -8
- package/dist/components/inputs/password-field/password-field.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.template.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.template.js +3 -1
- package/dist/components/inputs/password-field/password-field.template.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.d.ts +18 -1
- package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.js +27 -2
- package/dist/components/inputs/radio-button/radio-button.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.template.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.template.js +1 -0
- package/dist/components/inputs/radio-button/radio-button.template.js.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.d.ts +14 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.js +22 -2
- package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.template.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.template.js +1 -0
- package/dist/components/inputs/radio-button-field/radio-button-field.template.js.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +11 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.js +21 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.d.ts +23 -1
- package/dist/components/inputs/search-field/search-field.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.js +37 -3
- 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 +4 -0
- package/dist/components/inputs/search-field/search-field.template.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.d.ts +28 -0
- package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.js +52 -2
- package/dist/components/inputs/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.template.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.template.js +1 -0
- package/dist/components/inputs/segmented-control/segmented-control.template.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.d.ts +14 -1
- package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.js +21 -2
- package/dist/components/inputs/stepper/stepper.js.map +1 -1
- package/dist/components/inputs/switch/switch.d.ts +20 -1
- package/dist/components/inputs/switch/switch.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.js +31 -2
- package/dist/components/inputs/switch/switch.js.map +1 -1
- package/dist/components/inputs/switch/switch.template.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.template.js +2 -0
- package/dist/components/inputs/switch/switch.template.js.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.d.ts +18 -1
- package/dist/components/inputs/switch-field/switch-field.d.ts.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.js +25 -1
- package/dist/components/inputs/switch-field/switch-field.js.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.template.d.ts.map +1 -1
- package/dist/components/inputs/switch-field/switch-field.template.js +2 -0
- package/dist/components/inputs/switch-field/switch-field.template.js.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.d.ts +14 -1
- package/dist/components/inputs/text-editor/text-editor.d.ts.map +1 -1
- package/dist/components/inputs/text-editor/text-editor.js +21 -2
- package/dist/components/inputs/text-editor/text-editor.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.d.ts +31 -3
- package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.js +65 -7
- package/dist/components/inputs/text-field/text-field.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.template.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.template.js +5 -1
- package/dist/components/inputs/text-field/text-field.template.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.d.ts +33 -35
- package/dist/components/inputs/time-field/time-field.d.ts.map +1 -1
- package/dist/components/inputs/time-field/time-field.js +43 -40
- package/dist/components/inputs/time-field/time-field.js.map +1 -1
- package/dist/components/inputs/time-field/time-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/time-field/time-field.styles.js +12 -0
- package/dist/components/inputs/time-field/time-field.styles.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 -2
- package/dist/components/inputs/time-field/time-field.template.js.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.d.ts +34 -19
- package/dist/components/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/components/inputs/time-picker/time-picker.js +42 -22
- package/dist/components/inputs/time-picker/time-picker.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts +22 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.js +35 -2
- package/dist/components/inputs/toggle-button/toggle-button.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 +3 -0
- 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 +27 -0
- package/dist/components/inputs/toggle-button-group/toggle-button-group.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button-group/toggle-button-group.js +46 -0
- package/dist/components/inputs/toggle-button-group/toggle-button-group.js.map +1 -1
- package/dist/components/inputs/token-field/token-field.d.ts +7 -1
- package/dist/components/inputs/token-field/token-field.d.ts.map +1 -1
- package/dist/components/inputs/token-field/token-field.js +14 -1
- package/dist/components/inputs/token-field/token-field.js.map +1 -1
- package/dist/components/layout/app-view/app-view.d.ts.map +1 -1
- package/dist/components/layout/app-view/app-view.js +12 -0
- package/dist/components/layout/app-view/app-view.js.map +1 -1
- package/dist/components/layout/box/box.d.ts +4 -4
- package/dist/components/layout/box/box.d.ts.map +1 -1
- package/dist/components/layout/box/box.js +4 -4
- package/dist/components/layout/box/box.js.map +1 -1
- package/dist/components/layout/box/box.styles.d.ts.map +1 -1
- package/dist/components/layout/box/box.styles.js +4 -6
- package/dist/components/layout/box/box.styles.js.map +1 -1
- package/dist/components/layout/card/card.d.ts +18 -19
- package/dist/components/layout/card/card.d.ts.map +1 -1
- package/dist/components/layout/card/card.js +18 -19
- 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 +1 -0
- package/dist/components/layout/card/card.styles.js.map +1 -1
- package/dist/components/layout/collection/collection.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.js +6 -2
- package/dist/components/layout/collection/collection.js.map +1 -1
- package/dist/components/layout/divider/divider.d.ts +1 -1
- package/dist/components/layout/divider/divider.js +1 -1
- package/dist/components/layout/popover/popover.d.ts +1 -1
- package/dist/components/layout/popover/popover.d.ts.map +1 -1
- package/dist/components/layout/popover/popover.js +15 -2
- package/dist/components/layout/popover/popover.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +1 -1
- package/dist/components/layout/sheet/sheet.js +2 -2
- 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 +15 -3
- package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.d.ts +8 -0
- 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 +29 -11
- package/dist/components/layout/split-views/navigation-split-view/navigation-split-view.js.map +1 -1
- package/dist/components/layout/window/window.d.ts +20 -21
- package/dist/components/layout/window/window.d.ts.map +1 -1
- package/dist/components/layout/window/window.js +21 -22
- package/dist/components/layout/window/window.js.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.d.ts +41 -12
- 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 +47 -17
- 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.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js +42 -13
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.styles.js.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js +12 -4
- package/dist/components/lists-and-tables/cells/timeline-track-cell/timeline-track-cell.template.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.d.ts +168 -61
- package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.i18n.d.ts +0 -1
- package/dist/components/lists-and-tables/list/list.i18n.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.i18n.js +0 -1
- package/dist/components/lists-and-tables/list/list.i18n.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.js +361 -122
- 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 +5 -0
- package/dist/components/lists-and-tables/list/list.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.template.d.ts +1 -3
- package/dist/components/lists-and-tables/list/list.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.template.js +2 -7
- 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 +134 -23
- 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 +354 -61
- 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 +116 -34
- package/dist/components/lists-and-tables/list-item/list-item.styles.js.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.template.d.ts +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.template.js +5 -2
- package/dist/components/lists-and-tables/list-item/list-item.template.js.map +1 -1
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts +116 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.d.ts.map +1 -0
- package/dist/components/lists-and-tables/{list-item-action/list-item-action.js → list-item-segment/list-item-segment.js} +85 -56
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.js.map +1 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts +2 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.d.ts.map +1 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js +179 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.styles.js.map +1 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts +3 -0
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts.map +1 -0
- package/dist/components/lists-and-tables/{list-item-action/list-item-action.template.js → list-item-segment/list-item-segment.template.js} +5 -4
- package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.js.map +1 -0
- package/dist/components/lists-and-tables/table/table.d.ts +12 -9
- package/dist/components/lists-and-tables/table/table.d.ts.map +1 -1
- package/dist/components/lists-and-tables/table/table.i18n.d.ts +0 -1
- package/dist/components/lists-and-tables/table/table.i18n.d.ts.map +1 -1
- package/dist/components/lists-and-tables/table/table.i18n.js +0 -1
- package/dist/components/lists-and-tables/table/table.i18n.js.map +1 -1
- package/dist/components/lists-and-tables/table/table.js +26 -16
- package/dist/components/lists-and-tables/table/table.js.map +1 -1
- package/dist/components/lists-and-tables/table/table.styles.d.ts.map +1 -1
- package/dist/components/lists-and-tables/table/table.styles.js +5 -0
- package/dist/components/lists-and-tables/table/table.styles.js.map +1 -1
- package/dist/components/lists-and-tables/table/table.template.d.ts +1 -1
- package/dist/components/lists-and-tables/table/table.template.d.ts.map +1 -1
- package/dist/components/lists-and-tables/table/table.template.js +5 -9
- package/dist/components/lists-and-tables/table/table.template.js.map +1 -1
- package/dist/components/navigation/link/link.d.ts +30 -24
- package/dist/components/navigation/link/link.d.ts.map +1 -1
- package/dist/components/navigation/link/link.js +33 -24
- package/dist/components/navigation/link/link.js.map +1 -1
- package/dist/components/navigation/link/link.template.js +1 -1
- package/dist/components/navigation/link/link.template.js.map +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.d.ts +7 -7
- package/dist/components/navigation/menu-bar/menu-bar.js +7 -7
- package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts +23 -23
- package/dist/components/navigation/menu-bar-item/menu-bar-item.js +23 -23
- package/dist/components/navigation/pagination/pagination.d.ts +4 -4
- package/dist/components/navigation/pagination/pagination.js +4 -4
- package/dist/components/navigation/skip-link/skip-link.d.ts +7 -7
- package/dist/components/navigation/skip-link/skip-link.js +7 -7
- package/dist/components/navigation/tab-bar/tab-bar.d.ts +5 -3
- package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.js +18 -13
- package/dist/components/navigation/tab-bar/tab-bar.js.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.styles.js +8 -8
- package/dist/components/navigation/tab-bar/tab-bar.template.js +5 -5
- package/dist/components/navigation/tab-bar/tab-bar.template.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts +15 -15
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +15 -15
- 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 +14 -2
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +2 -2
- package/dist/components/navigation/top-title-bar/top-title-bar.js +2 -2
- package/dist/components/navigation/top-title-bar/top-title-bar.styles.js +2 -2
- package/dist/components/status-and-feedback/badge/badge.d.ts +8 -2
- package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.js +17 -1
- package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js +41 -10
- package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.template.js +1 -1
- package/dist/components/status-and-feedback/badge/badge.template.js.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.styles.js +2 -2
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts +37 -36
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +37 -36
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.d.ts +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js +2 -2
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.js.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js +7 -0
- package/dist/components/status-and-feedback/modal-dialog/modal-dialog.styles.js.map +1 -1
- package/dist/components/status-and-feedback/notification/notification-region.js +1 -1
- package/dist/components/status-and-feedback/status-bar/status-bar.d.ts +29 -28
- package/dist/components/status-and-feedback/status-bar/status-bar.d.ts.map +1 -1
- package/dist/components/status-and-feedback/status-bar/status-bar.js +29 -28
- package/dist/components/status-and-feedback/status-bar/status-bar.js.map +1 -1
- package/dist/components/status-and-feedback/step-indicator/step-indicator.styles.js +1 -1
- package/dist/components/{visibility-mixin-GxbwkBb1.js → visibility-mixin-vbfhyo7f.js} +1 -1
- package/dist/components/{with-translations-DzAdFTK8.js → with-translations-CqUV9S5g.js} +1 -1
- package/dist/css/form-section.css +28 -46
- package/dist/css/form.css +7 -13
- package/dist/css/rich-text.css +5 -5
- package/dist/css/variables.css +133 -8
- package/dist/nldd.min.js +1382 -875
- package/dist/types/vue.d.ts +530 -336
- package/dist/utilities/codemirror/codemirror-element.d.ts.map +1 -1
- package/dist/utilities/codemirror/codemirror-element.js +5 -0
- package/dist/utilities/codemirror/codemirror-element.js.map +1 -1
- package/dist/utilities/described-by-mixin.d.ts +49 -0
- package/dist/utilities/described-by-mixin.d.ts.map +1 -0
- package/dist/utilities/described-by-mixin.js +109 -0
- package/dist/utilities/described-by-mixin.js.map +1 -0
- package/dist/utilities/form-associated-mixin.d.ts +5 -0
- package/dist/utilities/form-associated-mixin.d.ts.map +1 -1
- package/dist/utilities/form-associated-mixin.js +69 -0
- package/dist/utilities/form-associated-mixin.js.map +1 -1
- package/dist/utilities/scroll-mode-controller.d.ts +9 -1
- package/dist/utilities/scroll-mode-controller.d.ts.map +1 -1
- package/dist/utilities/scroll-mode-controller.js +10 -2
- package/dist/utilities/scroll-mode-controller.js.map +1 -1
- package/package.json +21 -9
- package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts +0 -108
- package/dist/components/lists-and-tables/list-item-action/list-item-action.d.ts.map +0 -1
- package/dist/components/lists-and-tables/list-item-action/list-item-action.js.map +0 -1
- package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts +0 -2
- package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.d.ts.map +0 -1
- package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js +0 -145
- package/dist/components/lists-and-tables/list-item-action/list-item-action.styles.js.map +0 -1
- package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts +0 -3
- package/dist/components/lists-and-tables/list-item-action/list-item-action.template.d.ts.map +0 -1
- package/dist/components/lists-and-tables/list-item-action/list-item-action.template.js.map +0 -1
|
@@ -8,60 +8,60 @@ import { LitElement } from 'lit';
|
|
|
8
8
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
9
9
|
import { reflectNonDefault } from '../../../utilities/reflect-non-default.js';
|
|
10
10
|
import { isPointerMode } from '../../../utilities/input-modality.js';
|
|
11
|
-
import {
|
|
12
|
-
import { template } from './list-item-
|
|
11
|
+
import { listItemSegmentStyles } from './list-item-segment.styles.js';
|
|
12
|
+
import { template } from './list-item-segment.template.js';
|
|
13
13
|
/**
|
|
14
|
-
* A
|
|
14
|
+
* A segment inside an `nldd-list-item`: it groups a run of cells
|
|
15
15
|
* and makes just that run clickable. Use it when a row needs more than one
|
|
16
|
-
*
|
|
16
|
+
* segment — a tree row whose chevron expands while the label toggles a checkbox,
|
|
17
17
|
* or a row that navigates with a separate button beside it.
|
|
18
18
|
*
|
|
19
19
|
* Put it in the row where its cells would go: the item has one flat slot, and a
|
|
20
|
-
*
|
|
20
|
+
* segment takes the place of the cells it covers. Where the divider
|
|
21
21
|
* starts or stops is marked on the cells themselves (`divider-start` /
|
|
22
|
-
* `divider-end`), not by the slot
|
|
22
|
+
* `divider-end`), not by the slot a segment sits in.
|
|
23
23
|
*
|
|
24
24
|
* A row is EITHER row-level interactive (`href` / `button` / `checkbox` on the
|
|
25
25
|
* `nldd-list-item`) OR segmented (one or more of these). Both at once nests
|
|
26
26
|
* a control inside a control, which is invalid HTML; the item DEV-warns.
|
|
27
27
|
*
|
|
28
|
-
* Unlike the row-wide action this does not bleed outward: a
|
|
28
|
+
* Unlike the row-wide action this does not bleed outward: a segment sits
|
|
29
29
|
* between siblings, so an outward inset would overlap them. It owns its inline
|
|
30
30
|
* padding and never drops below the row's control size, so an icon-only one still
|
|
31
31
|
* meets the WCAG 2.5.8 target size — do not add spacer cells inside it for room
|
|
32
32
|
* or hit area, that doubles the space.
|
|
33
33
|
*
|
|
34
|
-
* In a `type="listbox"` list the
|
|
34
|
+
* In a `type="listbox"` list the segment renders as a plain container (no
|
|
35
35
|
* control, not focusable) and DEV-warns: an `option` may not contain
|
|
36
36
|
* interactive descendants. The cells render unchanged, so nothing shifts.
|
|
37
37
|
*
|
|
38
|
-
* @element nldd-list-item-
|
|
38
|
+
* @element nldd-list-item-segment
|
|
39
39
|
*
|
|
40
|
-
* @attr {boolean} button - Renders the
|
|
41
|
-
* @attr {string} href - Renders the
|
|
40
|
+
* @attr {boolean} button - Renders the segment as a `<button>`. Last of the three: `href` and `checkbox` both win over it.
|
|
41
|
+
* @attr {string} href - Renders the segment as an `<a>` with this URL. Wins over `checkbox` and `button`.
|
|
42
42
|
* @attr {string} target - Link target forwarded to the `<a>`; only applies with `href`
|
|
43
43
|
* @attr {string} rel - Link rel forwarded to the `<a>`; only applies with `href`
|
|
44
|
-
* @attr {boolean} checkbox - Makes the
|
|
45
|
-
* @attr {boolean} checked - Checked state of a `checkbox`
|
|
46
|
-
* @attr {boolean} expanded - Disclosure state, reflected as `aria-expanded` on the control. Set it on the
|
|
47
|
-
* @attr {boolean} disclosure - Marks the
|
|
48
|
-
* @attr {boolean} current - Marks the
|
|
49
|
-
* @attr {boolean} disabled -
|
|
50
|
-
* @attr {'fit-content'|'full'} width - `full` lets the
|
|
51
|
-
* @attr {string} accessible-label - Accessible name for the control. Set it when the
|
|
44
|
+
* @attr {boolean} checkbox - Makes the segment a `role="checkbox"` control. Wins over `button`, loses to `href`.
|
|
45
|
+
* @attr {boolean} checked - Checked state of a `checkbox` segment; it toggles on activation
|
|
46
|
+
* @attr {boolean} expanded - 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.
|
|
47
|
+
* @attr {boolean} disclosure - 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
|
|
48
|
+
* @attr {boolean} current - 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.
|
|
49
|
+
* @attr {boolean} disabled - 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.
|
|
50
|
+
* @attr {'fit-content'|'full'} width - `full` lets the segment grow to fill the row (default: 'fit-content')
|
|
51
|
+
* @attr {string} accessible-label - Accessible name for the control. Set it when the segment holds only an icon, or when the cell text does not describe the action.
|
|
52
52
|
*
|
|
53
|
-
* @slot - The cells that belong to this
|
|
53
|
+
* @slot - The cells that belong to this segment
|
|
54
54
|
*
|
|
55
|
-
* @fires change - On a `checkbox`
|
|
55
|
+
* @fires change - On a `checkbox` segment after it toggles; detail: { checked: boolean }
|
|
56
56
|
*/
|
|
57
|
-
let
|
|
57
|
+
let NLDDListItemSegment = class NLDDListItemSegment extends LitElement {
|
|
58
58
|
constructor() {
|
|
59
59
|
super(...arguments);
|
|
60
60
|
this.button = false;
|
|
61
61
|
this.checkbox = false;
|
|
62
62
|
this.checked = false;
|
|
63
63
|
/**
|
|
64
|
-
* Marks this
|
|
64
|
+
* Marks this segment as the row's disclosure control: it takes `aria-expanded`
|
|
65
65
|
* from the parent item's `expanded` instead of its own. Use it on a tree row's
|
|
66
66
|
* chevron, so the open/closed state is written once — on the row, where it also
|
|
67
67
|
* drives the children group — rather than kept in step in two places.
|
|
@@ -77,8 +77,13 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
77
77
|
/** Set by the parent nldd-list-item, mirroring its list's type. */
|
|
78
78
|
this._parentType = 'list';
|
|
79
79
|
this._handleClick = (e) => {
|
|
80
|
-
|
|
80
|
+
// A disabled <button> never gets here, but a link does: there is no such
|
|
81
|
+
// thing as a disabled <a>, so the segment stops the navigation itself.
|
|
82
|
+
if (this.disabled) {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
e.stopPropagation();
|
|
81
85
|
return;
|
|
86
|
+
}
|
|
82
87
|
// Safari and Firefox on Mac don't focus buttons on click. Force focus so
|
|
83
88
|
// the :focus-visible styling below stays reliable.
|
|
84
89
|
this._control?.focus();
|
|
@@ -102,12 +107,34 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
102
107
|
this._handleFocusOut = () => {
|
|
103
108
|
this._control?.classList.remove('is-pointer-focus');
|
|
104
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Safari moves focus to the body on mousedown and only puts it on a button
|
|
112
|
+
* when the mouse comes up, so a row whose paint follows the focus in it
|
|
113
|
+
* flickers back to its resting state for as long as you hold the button
|
|
114
|
+
* down. Preventing the default stops that hand-off; we set the focus
|
|
115
|
+
* ourselves in the pointerdown above, and the click still fires.
|
|
116
|
+
*/
|
|
117
|
+
this._onMouseDown = (e) => {
|
|
118
|
+
if (e.button > 0 || this.disabled)
|
|
119
|
+
return;
|
|
120
|
+
e.preventDefault();
|
|
121
|
+
};
|
|
105
122
|
this._onPointerDown = (e) => {
|
|
106
123
|
if (e.button > 0 || this.disabled)
|
|
107
124
|
return;
|
|
108
125
|
this._control?.classList.add('is-pressed');
|
|
126
|
+
window.addEventListener('pointerup', this._clearPressed);
|
|
127
|
+
window.addEventListener('pointercancel', this._clearPressed);
|
|
128
|
+
// Safari does not focus a <button> on click, so a row whose paint follows
|
|
129
|
+
// the focus in it (see nldd-list-item's current rules) would stay unlit
|
|
130
|
+
// there while every other browser lights up. Focusing on the press makes
|
|
131
|
+
// the three browsers agree; the ring stays hidden because this is a
|
|
132
|
+
// pointer focus, which .is-pointer-focus already marks.
|
|
133
|
+
this._control?.focus({ preventScroll: true });
|
|
109
134
|
};
|
|
110
135
|
this._clearPressed = () => {
|
|
136
|
+
window.removeEventListener('pointerup', this._clearPressed);
|
|
137
|
+
window.removeEventListener('pointercancel', this._clearPressed);
|
|
111
138
|
this._control?.classList.remove('is-pressed');
|
|
112
139
|
};
|
|
113
140
|
}
|
|
@@ -116,9 +143,11 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
116
143
|
this.addEventListener('focusin', this._handleFocusIn);
|
|
117
144
|
this.addEventListener('focusout', this._handleFocusOut);
|
|
118
145
|
this.addEventListener('click', this._handleClick);
|
|
146
|
+
// The release is watched on the window rather than here: a button let go
|
|
147
|
+
// outside the segment fires nowhere near it, and the press feedback would
|
|
148
|
+
// stay on.
|
|
119
149
|
this.addEventListener('pointerdown', this._onPointerDown);
|
|
120
|
-
this.addEventListener('
|
|
121
|
-
this.addEventListener('pointercancel', this._clearPressed);
|
|
150
|
+
this.addEventListener('mousedown', this._onMouseDown);
|
|
122
151
|
}
|
|
123
152
|
disconnectedCallback() {
|
|
124
153
|
super.disconnectedCallback();
|
|
@@ -126,8 +155,8 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
126
155
|
this.removeEventListener('focusout', this._handleFocusOut);
|
|
127
156
|
this.removeEventListener('click', this._handleClick);
|
|
128
157
|
this.removeEventListener('pointerdown', this._onPointerDown);
|
|
129
|
-
this.removeEventListener('
|
|
130
|
-
this.
|
|
158
|
+
this.removeEventListener('mousedown', this._onMouseDown);
|
|
159
|
+
this._clearPressed();
|
|
131
160
|
}
|
|
132
161
|
firstUpdated() {
|
|
133
162
|
const list = this.closest('nldd-list');
|
|
@@ -138,10 +167,10 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
138
167
|
_applyParentType(type) {
|
|
139
168
|
this._parentType = type;
|
|
140
169
|
if (import.meta.env?.DEV && type === 'listbox' && this._wantsControl) {
|
|
141
|
-
console.warn('nldd-list-item-
|
|
170
|
+
console.warn('nldd-list-item-segment: rendered as a plain container because the parent nldd-list is type="listbox". An `option` may not contain interactive descendants — move the segment out of the listbox, or drive selection from the option itself.');
|
|
142
171
|
}
|
|
143
172
|
}
|
|
144
|
-
/** Whether the consumer asked for an interactive
|
|
173
|
+
/** Whether the consumer asked for an interactive segment at all. */
|
|
145
174
|
get _wantsControl() {
|
|
146
175
|
return Boolean(this.href) || this.button || this.checkbox;
|
|
147
176
|
}
|
|
@@ -159,7 +188,7 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
159
188
|
this._control?.focus(options);
|
|
160
189
|
}
|
|
161
190
|
/** The open state has to reach the styles, and it lives in a property (the
|
|
162
|
-
* row's, for a disclosure
|
|
191
|
+
* row's, for a disclosure segment) that CSS cannot see. A host class is the
|
|
163
192
|
* hook — the same mechanism nldd-list already uses for .is-boxed / .is-first. */
|
|
164
193
|
updated() {
|
|
165
194
|
const expanded = this.disclosure ? this._rowExpanded : this.expanded;
|
|
@@ -167,62 +196,62 @@ let NLDDListItemAction = class NLDDListItemAction extends LitElement {
|
|
|
167
196
|
}
|
|
168
197
|
render() {
|
|
169
198
|
if (import.meta.env?.DEV && this.disclosure && this.expanded !== undefined) {
|
|
170
|
-
console.warn('nldd-list-item-
|
|
199
|
+
console.warn('nldd-list-item-segment: `disclosure` takes aria-expanded from the row, so the `expanded` on this action is ignored. Drop one of the two.');
|
|
171
200
|
}
|
|
172
201
|
return template(this._controlType, this.href, this.target, this.rel, this.checked, this.disclosure ? this._rowExpanded : this.expanded, this.current, this.disabled, this.accessibleLabel, this._tabbable === undefined ? undefined : (this._tabbable ? '0' : '-1'));
|
|
173
202
|
}
|
|
174
203
|
};
|
|
175
|
-
|
|
204
|
+
NLDDListItemSegment.styles = [listItemSegmentStyles];
|
|
176
205
|
__decorate([
|
|
177
206
|
property({ type: Boolean, reflect: true })
|
|
178
|
-
],
|
|
207
|
+
], NLDDListItemSegment.prototype, "button", void 0);
|
|
179
208
|
__decorate([
|
|
180
209
|
property({ reflect: true })
|
|
181
|
-
],
|
|
210
|
+
], NLDDListItemSegment.prototype, "href", void 0);
|
|
182
211
|
__decorate([
|
|
183
212
|
property({ reflect: true })
|
|
184
|
-
],
|
|
213
|
+
], NLDDListItemSegment.prototype, "target", void 0);
|
|
185
214
|
__decorate([
|
|
186
215
|
property({ reflect: true })
|
|
187
|
-
],
|
|
216
|
+
], NLDDListItemSegment.prototype, "rel", void 0);
|
|
188
217
|
__decorate([
|
|
189
218
|
property({ type: Boolean, reflect: true })
|
|
190
|
-
],
|
|
219
|
+
], NLDDListItemSegment.prototype, "checkbox", void 0);
|
|
191
220
|
__decorate([
|
|
192
221
|
property({ type: Boolean, reflect: true })
|
|
193
|
-
],
|
|
222
|
+
], NLDDListItemSegment.prototype, "checked", void 0);
|
|
194
223
|
__decorate([
|
|
195
224
|
property({ type: Boolean, reflect: true })
|
|
196
|
-
],
|
|
225
|
+
], NLDDListItemSegment.prototype, "expanded", void 0);
|
|
197
226
|
__decorate([
|
|
198
227
|
property({ type: Boolean, reflect: true })
|
|
199
|
-
],
|
|
228
|
+
], NLDDListItemSegment.prototype, "disclosure", void 0);
|
|
200
229
|
__decorate([
|
|
201
230
|
property({ type: Boolean, reflect: true })
|
|
202
|
-
],
|
|
231
|
+
], NLDDListItemSegment.prototype, "current", void 0);
|
|
203
232
|
__decorate([
|
|
204
233
|
property({ type: Boolean, reflect: true })
|
|
205
|
-
],
|
|
234
|
+
], NLDDListItemSegment.prototype, "disabled", void 0);
|
|
206
235
|
__decorate([
|
|
207
236
|
property({ reflect: true, converter: reflectNonDefault('fit-content') })
|
|
208
|
-
],
|
|
237
|
+
], NLDDListItemSegment.prototype, "width", void 0);
|
|
209
238
|
__decorate([
|
|
210
239
|
property({ attribute: 'accessible-label' })
|
|
211
|
-
],
|
|
240
|
+
], NLDDListItemSegment.prototype, "accessibleLabel", void 0);
|
|
212
241
|
__decorate([
|
|
213
242
|
state()
|
|
214
|
-
],
|
|
243
|
+
], NLDDListItemSegment.prototype, "_parentType", void 0);
|
|
215
244
|
__decorate([
|
|
216
245
|
state()
|
|
217
|
-
],
|
|
246
|
+
], NLDDListItemSegment.prototype, "_tabbable", void 0);
|
|
218
247
|
__decorate([
|
|
219
248
|
state()
|
|
220
|
-
],
|
|
221
|
-
__decorate([
|
|
222
|
-
query('.list-item-
|
|
223
|
-
],
|
|
224
|
-
|
|
225
|
-
customElement('nldd-list-item-
|
|
226
|
-
],
|
|
227
|
-
export {
|
|
228
|
-
//# sourceMappingURL=list-item-
|
|
249
|
+
], NLDDListItemSegment.prototype, "_rowExpanded", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
query('.list-item-segment')
|
|
252
|
+
], NLDDListItemSegment.prototype, "_control", void 0);
|
|
253
|
+
NLDDListItemSegment = __decorate([
|
|
254
|
+
customElement('nldd-list-item-segment')
|
|
255
|
+
], NLDDListItemSegment);
|
|
256
|
+
export { NLDDListItemSegment };
|
|
257
|
+
//# sourceMappingURL=list-item-segment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-segment.js","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/list-item-segment/list-item-segment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-segment.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/list-item-segment/list-item-segment.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,yBAgLjC,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const listItemSegmentStyles = css `
|
|
3
|
+
:host {
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:host {
|
|
8
|
+
--_background-color: transparent;
|
|
9
|
+
--_min-size: var(--context-list-item-size, var(--semantics-controls-md-min-size));
|
|
10
|
+
--_expanded-rotation: 90deg;
|
|
11
|
+
--_fill-z-index: -1;
|
|
12
|
+
|
|
13
|
+
display: flex;
|
|
14
|
+
position: relative;
|
|
15
|
+
/* Its own stacking context, so the fill below (z-index -1) stays behind
|
|
16
|
+
this segment's content but in front of the row's fill. Without it the
|
|
17
|
+
two -1 layers land in the same context — the row's while it is lit —
|
|
18
|
+
and the segment's disappears underneath. */
|
|
19
|
+
isolation: isolate;
|
|
20
|
+
align-items: stretch;
|
|
21
|
+
/* The row's areas center their children; this must span instead, so its hit
|
|
22
|
+
area and fill reach the row's top and bottom edges. */
|
|
23
|
+
align-self: stretch;
|
|
24
|
+
flex-grow: 0;
|
|
25
|
+
flex-shrink: 1;
|
|
26
|
+
/* Square floor from the row's control size, so an icon-only action is still
|
|
27
|
+
a touch target. On the host, not the control: the host is the flex item,
|
|
28
|
+
so a floor on the control would be measured against a host that had
|
|
29
|
+
already shrunk to zero. */
|
|
30
|
+
min-width: var(--_min-size);
|
|
31
|
+
min-height: var(--_min-size);
|
|
32
|
+
-webkit-tap-highlight-color: transparent;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:host([hidden]) {
|
|
36
|
+
display: none;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* A growing action needs no floor and needs min-width: 0, so its text can
|
|
40
|
+
truncate instead of pushing its siblings out. */
|
|
41
|
+
:host([width="full"]) {
|
|
42
|
+
flex-grow: 1;
|
|
43
|
+
min-width: 0;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([width="full"]) .list-item-segment {
|
|
47
|
+
justify-content: flex-start;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* The cell rotates, not the icon — ::slotted reaches a direct child only, and
|
|
51
|
+
rotating the cell turns the glyph in place. */
|
|
52
|
+
:host([disclosure]) ::slotted(nldd-icon-cell) {
|
|
53
|
+
rotate: 0deg;
|
|
54
|
+
transition: rotate var(--primitives-transition-duration-fast) var(--primitives-transition-easing-default);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
:host([disclosure].is-expanded) ::slotted(nldd-icon-cell) {
|
|
58
|
+
rotate: var(--_expanded-rotation);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@media (prefers-reduced-motion: reduce) {
|
|
62
|
+
:host([disclosure]) ::slotted(nldd-icon-cell) {
|
|
63
|
+
transition: none;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* The control owns its inline padding, fixed at the indicator inset. Do not
|
|
68
|
+
add spacer cells for room or hit area: that doubles the space. */
|
|
69
|
+
.list-item-segment {
|
|
70
|
+
box-sizing: border-box;
|
|
71
|
+
display: flex;
|
|
72
|
+
position: relative;
|
|
73
|
+
margin: 0;
|
|
74
|
+
outline: none;
|
|
75
|
+
border: none;
|
|
76
|
+
background: none;
|
|
77
|
+
width: 100%;
|
|
78
|
+
min-width: 0;
|
|
79
|
+
padding: 0;
|
|
80
|
+
padding-inline: var(--components-list-item-indicator-inline-inset);
|
|
81
|
+
flex-direction: row;
|
|
82
|
+
align-items: center;
|
|
83
|
+
justify-content: center;
|
|
84
|
+
color: inherit;
|
|
85
|
+
text-align: start;
|
|
86
|
+
text-decoration: none;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
a.list-item-segment {
|
|
90
|
+
cursor: var(--semantics-controls-link-cursor);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* There is no disabled attribute for an anchor, so the segment blocks the
|
|
94
|
+
click itself and aria-disabled carries the state. */
|
|
95
|
+
button.list-item-segment:disabled,
|
|
96
|
+
:host([disabled]) a.list-item-segment {
|
|
97
|
+
cursor: default;
|
|
98
|
+
opacity: var(--primitives-opacity-disabled);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.list-item-segment::before {
|
|
102
|
+
content: '';
|
|
103
|
+
display: block;
|
|
104
|
+
position: absolute;
|
|
105
|
+
z-index: var(--_fill-z-index);
|
|
106
|
+
inset-block: 0;
|
|
107
|
+
inset-inline: 0;
|
|
108
|
+
border-radius: var(--components-list-item-indicator-corner-radius);
|
|
109
|
+
background-color: var(--_background-color);
|
|
110
|
+
pointer-events: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* The row hands down which fill a hovered segment takes. Unset on an ordinary
|
|
114
|
+
row, where the fallback answers. */
|
|
115
|
+
@media (hover: hover) {
|
|
116
|
+
:host(:not([disabled])) a.list-item-segment:hover,
|
|
117
|
+
button.list-item-segment:not(:disabled):hover {
|
|
118
|
+
--_background-color: var(--context-list-item-hovered-background-color, var(--components-list-item-is-hovered-background-color));
|
|
119
|
+
--context-content-color: var(--context-list-item-hovered-content-color, var(--components-list-item-is-hovered-content-color));
|
|
120
|
+
--context-content-secondary-color: var(--context-list-item-hovered-content-color, var(--components-list-item-is-hovered-content-color));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Press feedback — works on touch where :hover doesn't. JS-driven so a touch
|
|
125
|
+
that turns into a scroll clears it (pointercancel) instead of flashing. */
|
|
126
|
+
/* The element selectors match the weight of the hover rule above: a pointer
|
|
127
|
+
that presses is hovering as well, and the press has to win. */
|
|
128
|
+
:host(:not([disabled])) a.list-item-segment.is-pressed,
|
|
129
|
+
button.list-item-segment:not(:disabled).is-pressed,
|
|
130
|
+
:host(:not([disabled])) .list-item-segment.is-pressed {
|
|
131
|
+
--_background-color: var(--context-list-item-active-background-color, var(--components-list-item-is-active-background-color));
|
|
132
|
+
--context-content-color: var(--context-list-item-active-content-color, var(--context-list-item-hovered-content-color, var(--components-list-item-is-active-content-color)));
|
|
133
|
+
--context-content-secondary-color: var(--context-list-item-active-content-color, var(--context-list-item-hovered-content-color, var(--components-list-item-is-active-content-color)));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* After the hover rule on purpose: hovering back over the segment must not
|
|
137
|
+
dim it while what it opened is still on screen. */
|
|
138
|
+
:host([expanded]) .list-item-segment {
|
|
139
|
+
--_background-color: var(--components-list-item-is-expanded-background-color);
|
|
140
|
+
--context-content-color: var(--components-list-item-is-expanded-content-color);
|
|
141
|
+
--context-content-secondary-color: var(--components-list-item-is-expanded-content-color);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
@media (hover: hover) {
|
|
145
|
+
:host([expanded]:not([disabled])) a.list-item-segment:hover,
|
|
146
|
+
:host([expanded]) button.list-item-segment:not(:disabled):hover {
|
|
147
|
+
--_background-color: var(--components-list-item-is-expanded-is-hovered-background-color);
|
|
148
|
+
--context-content-color: var(--components-list-item-is-expanded-content-color);
|
|
149
|
+
--context-content-secondary-color: var(--components-list-item-is-expanded-content-color);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
:host([expanded]:not([disabled])) a.list-item-segment.is-pressed,
|
|
154
|
+
:host([expanded]) button.list-item-segment:not(:disabled).is-pressed,
|
|
155
|
+
:host([expanded]:not([disabled])) .list-item-segment.is-pressed {
|
|
156
|
+
--_background-color: var(--components-list-item-is-expanded-is-active-background-color);
|
|
157
|
+
--context-content-color: var(--components-list-item-is-expanded-content-color);
|
|
158
|
+
--context-content-secondary-color: var(--components-list-item-is-expanded-content-color);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
:host([checked]) .list-item-segment {
|
|
162
|
+
--_background-color: var(--components-list-item-is-selected-background-color);
|
|
163
|
+
--context-content-color: var(--components-list-item-is-selected-content-color);
|
|
164
|
+
--context-content-secondary-color: var(--components-list-item-is-selected-content-color);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.list-item-segment:focus-visible:not(.is-pointer-focus)::after {
|
|
168
|
+
content: '';
|
|
169
|
+
display: block;
|
|
170
|
+
position: absolute;
|
|
171
|
+
inset: 0;
|
|
172
|
+
border-radius: var(--components-list-item-indicator-corner-radius);
|
|
173
|
+
outline: var(--semantics-focus-ring-outline);
|
|
174
|
+
outline-offset: var(--semantics-focus-ring-outline-offset);
|
|
175
|
+
box-shadow: var(--semantics-focus-ring-box-shadow);
|
|
176
|
+
pointer-events: none;
|
|
177
|
+
}
|
|
178
|
+
`;
|
|
179
|
+
//# sourceMappingURL=list-item-segment.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-segment.styles.js","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/list-item-segment/list-item-segment.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgLvC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type ListItemSegmentControl = 'link' | 'button' | 'checkbox' | 'plain';
|
|
2
|
+
export declare function template(control: ListItemSegmentControl, href: string | undefined, target: string | undefined, rel: string | undefined, checked: boolean, expanded: boolean | undefined, current: boolean, disabled: boolean, accessibleLabel: string, actionTabindex?: string): import("lit-html").TemplateResult<1>;
|
|
3
|
+
//# sourceMappingURL=list-item-segment.template.d.ts.map
|
package/dist/components/lists-and-tables/list-item-segment/list-item-segment.template.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-segment.template.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/list-item-segment/list-item-segment.template.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9E,wBAAgB,QAAQ,CACvB,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,wCAqCvB"}
|
|
@@ -5,10 +5,11 @@ export function template(control, href, target, rel, checked, expanded, current,
|
|
|
5
5
|
const ariaCurrent = current ? 'page' : nothing;
|
|
6
6
|
const label = accessibleLabel || nothing;
|
|
7
7
|
if (control === 'link') {
|
|
8
|
-
return html `<a class="list-item-
|
|
8
|
+
return html `<a class="list-item-segment"
|
|
9
9
|
href=${href ?? nothing}
|
|
10
10
|
target=${target ?? nothing}
|
|
11
11
|
rel=${rel ?? nothing}
|
|
12
|
+
aria-disabled=${disabled ? 'true' : nothing}
|
|
12
13
|
aria-expanded=${ariaExpanded}
|
|
13
14
|
aria-current=${ariaCurrent}
|
|
14
15
|
aria-label=${label}
|
|
@@ -16,7 +17,7 @@ export function template(control, href, target, rel, checked, expanded, current,
|
|
|
16
17
|
>${content}</a>`;
|
|
17
18
|
}
|
|
18
19
|
if (control === 'checkbox' || control === 'button') {
|
|
19
|
-
return html `<button class="list-item-
|
|
20
|
+
return html `<button class="list-item-segment"
|
|
20
21
|
type="button"
|
|
21
22
|
role=${control === 'checkbox' ? 'checkbox' : nothing}
|
|
22
23
|
aria-checked=${control === 'checkbox' ? String(checked) : nothing}
|
|
@@ -30,6 +31,6 @@ export function template(control, href, target, rel, checked, expanded, current,
|
|
|
30
31
|
// Plain: no control at all. Used in a listbox parent, where an `option` may
|
|
31
32
|
// not contain interactive descendants — the cells still render, so the row
|
|
32
33
|
// looks unchanged, it just isn't operable.
|
|
33
|
-
return html `<div class="list-item-
|
|
34
|
+
return html `<div class="list-item-segment">${content}</div>`;
|
|
34
35
|
}
|
|
35
|
-
//# sourceMappingURL=list-item-
|
|
36
|
+
//# sourceMappingURL=list-item-segment.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-item-segment.template.js","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/list-item-segment/list-item-segment.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAIpC,MAAM,UAAU,QAAQ,CACvB,OAA+B,EAC/B,IAAwB,EACxB,MAA0B,EAC1B,GAAuB,EACvB,OAAgB,EAChB,QAA6B,EAC7B,OAAgB,EAChB,QAAiB,EACjB,eAAuB,EACvB,cAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,CAAA,eAAe,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/C,MAAM,KAAK,GAAG,eAAe,IAAI,OAAO,CAAC;IAEzC,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;UACH,IAAI,IAAI,OAAO;YACb,MAAM,IAAI,OAAO;SACpB,GAAG,IAAI,OAAO;mBACJ,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;mBAC3B,YAAY;kBACb,WAAW;gBACb,KAAK;cACP,cAAc,IAAI,OAAO;KAClC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,IAAI,CAAA;;UAEH,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;kBACrC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;mBACjD,YAAY;kBACb,WAAW;gBACb,KAAK;eACN,QAAQ;cACT,cAAc,IAAI,OAAO;KAClC,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,2CAA2C;IAC3C,OAAO,IAAI,CAAA,kCAAkC,OAAO,QAAQ,CAAC;AAC9D,CAAC"}
|
|
@@ -37,13 +37,11 @@
|
|
|
37
37
|
* @attr {string} lg-columns - Track list when the table is lg-wide (≥1008px); falls back to `columns`
|
|
38
38
|
* @attr {string} accessible-label - 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.
|
|
39
39
|
* @attr {boolean} selectable - 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.
|
|
40
|
-
* @attr {string} empty-text - Text for the default empty-state dialog (falls back to the Dutch i18n default). Ignored when `[slot=empty]` is filled
|
|
41
|
-
* @attr {string} empty-supporting-text - Supporting text for the default empty-state dialog. Ignored when `[slot=empty]` is filled
|
|
42
40
|
* @attr {object} translations - Override translation keys; unset keys fall back to Dutch
|
|
43
41
|
*
|
|
44
42
|
* @slot header - One `<nldd-table-row slot="header">` carrying the column headers
|
|
45
43
|
* @slot - The body rows (`<nldd-table-row>`)
|
|
46
|
-
* @slot empty - Shown when there are no visible body rows (the header is hidden too).
|
|
44
|
+
* @slot empty - Shown when there are no visible body rows (the header is hidden too). Empty by default: what an empty table should say is the app's to write, so put an `nldd-inline-dialog` here.
|
|
47
45
|
*
|
|
48
46
|
* @element nldd-table-row
|
|
49
47
|
*
|
|
@@ -72,12 +70,6 @@ export declare class NLDDTable extends LitElement {
|
|
|
72
70
|
* attribute so a non-selectable table isn't announced as selectable
|
|
73
71
|
* (ARIA 1.2 §6.6.5). The visual `selected` tint on a row works either way. */
|
|
74
72
|
selectable: boolean;
|
|
75
|
-
/** Text for the default empty-state dialog. Falls back to the Dutch i18n
|
|
76
|
-
* default. Ignored when consumers slot their own `[slot=empty]` content. */
|
|
77
|
-
emptyText: string;
|
|
78
|
-
/** Optional supporting text for the default empty-state dialog. Ignored
|
|
79
|
-
* when consumers slot their own `[slot=empty]` content. */
|
|
80
|
-
emptySupportingText: string;
|
|
81
73
|
translations: Partial<NLDDTableTranslations>;
|
|
82
74
|
private _warnedColumns;
|
|
83
75
|
private _warnedLabel;
|
|
@@ -94,6 +86,17 @@ export declare class NLDDTable extends LitElement {
|
|
|
94
86
|
* doesn't schedule a reactive re-render out of firstUpdated. The `is-empty`
|
|
95
87
|
* host class drives hiding the header (CSS) so only the message shows. */
|
|
96
88
|
private _updateEmpty;
|
|
89
|
+
/**
|
|
90
|
+
* A table with no rows and nothing to say about that.
|
|
91
|
+
*
|
|
92
|
+
* There is no default text any more, because what an empty table means is
|
|
93
|
+
* the app's to write and a house sentence was wrong more often than right.
|
|
94
|
+
* That leaves a real risk of a blank area with nothing in the accessibility
|
|
95
|
+
* tree either, so the table asks the person building it rather than
|
|
96
|
+
* answering for them.
|
|
97
|
+
*/
|
|
98
|
+
private _warnSilentEmpty;
|
|
99
|
+
private _warnedSilentEmpty;
|
|
97
100
|
/** The track list for the current width: a breakpoint override when set,
|
|
98
101
|
* otherwise the base `columns`. */
|
|
99
102
|
private _activeColumns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAMjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,0DAA0D,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AAUhD,qBACa,SAAU,SAAQ,UAAU;IACxC,OAAgB,MAAM,0BAAe;IAGrC,UAAU,EAAE,eAAe,CAAU;IAErC,+DAA+D;IAE/D,OAAO,SAAM;IAEb,8EAA8E;IAE9E,SAAS,SAAM;IAEf,kFAAkF;IAElF,SAAS,SAAM;IAEf,+EAA+E;IAE/E,SAAS,SAAM;IAGf,eAAe,SAAM;IAErB;;;mFAG+E;IAE/E,UAAU,UAAS;IAGnB,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAM;IAElD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAC,CAAmB;IACzC,yEAAyE;IACzE,OAAO,CAAC,MAAM,CAAK;IAEZ,EAAE,CAAC,GAAG,EAAE,MAAM,qBAAqB,GAAG,MAAM;IAI1C,iBAAiB,IAAI,IAAI;IAsBzB,oBAAoB,IAAI,IAAI;IAQ5B,YAAY,IAAI,IAAI;IAwB7B;;;+EAG2E;IAC3E,OAAO,CAAC,YAAY;IAkBpB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB,CAAS;IAEnC;wCACoC;IACpC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,aAAa;IASrB;;;;;6EAKyE;IACzE,OAAO,CAAC,aAAa;IAqBZ,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IA8B5C,MAAM;CAGf;AAKD,qBACa,YAAa,SAAQ,UAAU;IAC3C,OAAgB,MAAM,0BAAkB;IAExC;;;0BAGsB;IAEtB,QAAQ,UAAS;IAER,iBAAiB,IAAI,IAAI;IAOzB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMrD,uDAAuD;IACvD,OAAO,KAAK,SAAS,GAEpB;IAED;;;kFAG8E;IAC9E,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CAAC,aAAa;IAsBZ,MAAM;IAIf,OAAO,CAAC,kBAAkB,CAAiC;CAC3D;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,YAAY,EAAE,SAAS,CAAC;QACxB,gBAAgB,EAAE,YAAY,CAAC;KAC/B;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"table.i18n.d.ts","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;CAEjC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.i18n.js","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,mCAAmC,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"table.i18n.js","sourceRoot":"","sources":["../../../../src/components/lists-and-tables/table/table.i18n.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,mCAAmC,EAAE,OAAO;CAC5C,CAAC"}
|