@semantic-components/ui-lab 0.63.0 → 0.65.0
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/fesm2022/semantic-components-ui-lab.mjs +36276 -0
- package/fesm2022/semantic-components-ui-lab.mjs.map +1 -0
- package/package.json +17 -3
- package/types/semantic-components-ui-lab.d.ts +7454 -0
- package/eslint.config.mjs +0 -39
- package/ng-package.json +0 -7
- package/project.json +0 -28
- package/src/index.ts +0 -2
- package/src/lib/components/accordion/README.md +0 -269
- package/src/lib/components/accordion/TODO.md +0 -58
- package/src/lib/components/accordion/accordion-content.ts +0 -31
- package/src/lib/components/accordion/accordion-header.ts +0 -15
- package/src/lib/components/accordion/accordion-item.ts +0 -17
- package/src/lib/components/accordion/accordion-panel.ts +0 -42
- package/src/lib/components/accordion/accordion-trigger-icon.ts +0 -27
- package/src/lib/components/accordion/accordion-trigger.ts +0 -46
- package/src/lib/components/accordion/accordion.ts +0 -35
- package/src/lib/components/accordion/index.ts +0 -7
- package/src/lib/components/alert/README.md +0 -117
- package/src/lib/components/alert/alert-action.ts +0 -17
- package/src/lib/components/alert/alert-description.ts +0 -20
- package/src/lib/components/alert/alert-title.ts +0 -20
- package/src/lib/components/alert/alert.ts +0 -39
- package/src/lib/components/alert/index.ts +0 -4
- package/src/lib/components/alert-dialog/ARCHITECTURE.md +0 -808
- package/src/lib/components/alert-dialog/README.md +0 -215
- package/src/lib/components/alert-dialog/alert-dialog-action.ts +0 -32
- package/src/lib/components/alert-dialog/alert-dialog-cancel.ts +0 -32
- package/src/lib/components/alert-dialog/alert-dialog-description.ts +0 -24
- package/src/lib/components/alert-dialog/alert-dialog-footer.ts +0 -21
- package/src/lib/components/alert-dialog/alert-dialog-header.ts +0 -23
- package/src/lib/components/alert-dialog/alert-dialog-media.ts +0 -22
- package/src/lib/components/alert-dialog/alert-dialog-portal.ts +0 -8
- package/src/lib/components/alert-dialog/alert-dialog-provider.ts +0 -135
- package/src/lib/components/alert-dialog/alert-dialog-title.ts +0 -20
- package/src/lib/components/alert-dialog/alert-dialog-trigger.ts +0 -25
- package/src/lib/components/alert-dialog/alert-dialog.ts +0 -77
- package/src/lib/components/alert-dialog/index.ts +0 -11
- package/src/lib/components/animated-counter/README.md +0 -102
- package/src/lib/components/animated-counter/animated-counter-types.ts +0 -23
- package/src/lib/components/animated-counter/animated-counter.ts +0 -143
- package/src/lib/components/animated-counter/index.ts +0 -6
- package/src/lib/components/aspect-ratio/README.md +0 -97
- package/src/lib/components/aspect-ratio/aspect-ratio.ts +0 -19
- package/src/lib/components/aspect-ratio/index.ts +0 -1
- package/src/lib/components/audio-player/README.md +0 -252
- package/src/lib/components/audio-player/audio-player-audio.ts +0 -32
- package/src/lib/components/audio-player/audio-player-cover.ts +0 -39
- package/src/lib/components/audio-player/audio-player-info.ts +0 -40
- package/src/lib/components/audio-player/audio-player-next.ts +0 -40
- package/src/lib/components/audio-player/audio-player-play-button.ts +0 -39
- package/src/lib/components/audio-player/audio-player-previous.ts +0 -40
- package/src/lib/components/audio-player/audio-player-progress.ts +0 -77
- package/src/lib/components/audio-player/audio-player-repeat.ts +0 -38
- package/src/lib/components/audio-player/audio-player-shuffle.ts +0 -39
- package/src/lib/components/audio-player/audio-player-volume.ts +0 -91
- package/src/lib/components/audio-player/audio-player.ts +0 -246
- package/src/lib/components/audio-player/index.ts +0 -11
- package/src/lib/components/avatar/README.md +0 -117
- package/src/lib/components/avatar/avatar-fallback.ts +0 -25
- package/src/lib/components/avatar/avatar-image.ts +0 -39
- package/src/lib/components/avatar/avatar.ts +0 -25
- package/src/lib/components/avatar/index.ts +0 -3
- package/src/lib/components/avatar-group/README.md +0 -94
- package/src/lib/components/avatar-group/avatar-group-types.ts +0 -9
- package/src/lib/components/avatar-group/avatar-group.ts +0 -181
- package/src/lib/components/avatar-group/index.ts +0 -2
- package/src/lib/components/backdrop/backdrop.ts +0 -75
- package/src/lib/components/backdrop/index.ts +0 -1
- package/src/lib/components/badge/README.md +0 -66
- package/src/lib/components/badge/badge.ts +0 -43
- package/src/lib/components/badge/index.ts +0 -1
- package/src/lib/components/barcode-scanner/README.md +0 -144
- package/src/lib/components/barcode-scanner/barcode-scanner-simple.ts +0 -36
- package/src/lib/components/barcode-scanner/barcode-scanner.ts +0 -460
- package/src/lib/components/barcode-scanner/index.ts +0 -3
- package/src/lib/components/breadcrumb/README.md +0 -80
- package/src/lib/components/breadcrumb/breadcrumb-ellipsis.ts +0 -46
- package/src/lib/components/breadcrumb/breadcrumb-item.ts +0 -17
- package/src/lib/components/breadcrumb/breadcrumb-link.ts +0 -17
- package/src/lib/components/breadcrumb/breadcrumb-list.ts +0 -20
- package/src/lib/components/breadcrumb/breadcrumb-page.ts +0 -20
- package/src/lib/components/breadcrumb/breadcrumb-separator.ts +0 -45
- package/src/lib/components/breadcrumb/breadcrumb.ts +0 -10
- package/src/lib/components/breadcrumb/index.ts +0 -7
- package/src/lib/components/button-group/button-group-separator.ts +0 -26
- package/src/lib/components/button-group/button-group-text.ts +0 -20
- package/src/lib/components/button-group/button-group.ts +0 -43
- package/src/lib/components/button-group/index.ts +0 -10
- package/src/lib/components/calendar/CALENDAR-VIEWS.md +0 -443
- package/src/lib/components/calendar/README.md +0 -227
- package/src/lib/components/calendar/calendar-day-view.ts +0 -310
- package/src/lib/components/calendar/calendar-header.ts +0 -58
- package/src/lib/components/calendar/calendar-month-view.ts +0 -176
- package/src/lib/components/calendar/calendar-year-view.ts +0 -167
- package/src/lib/components/calendar/calendar.ts +0 -273
- package/src/lib/components/calendar/index.ts +0 -1
- package/src/lib/components/card/README.md +0 -86
- package/src/lib/components/card/card-content.ts +0 -15
- package/src/lib/components/card/card-description.ts +0 -17
- package/src/lib/components/card/card-footer.ts +0 -17
- package/src/lib/components/card/card-header.ts +0 -17
- package/src/lib/components/card/card-title.ts +0 -17
- package/src/lib/components/card/card.ts +0 -20
- package/src/lib/components/card/index.ts +0 -6
- package/src/lib/components/chart/README.md +0 -220
- package/src/lib/components/chart/bar-chart.ts +0 -186
- package/src/lib/components/chart/chart-container.ts +0 -33
- package/src/lib/components/chart/chart-legend.ts +0 -42
- package/src/lib/components/chart/chart-tooltip.ts +0 -42
- package/src/lib/components/chart/chart-types.ts +0 -21
- package/src/lib/components/chart/donut-chart.ts +0 -35
- package/src/lib/components/chart/index.ts +0 -9
- package/src/lib/components/chart/line-chart.ts +0 -223
- package/src/lib/components/chart/pie-chart.ts +0 -186
- package/src/lib/components/checkbox/README.md +0 -293
- package/src/lib/components/checkbox/checkbox-field.ts +0 -78
- package/src/lib/components/checkbox/checkbox-indicator.ts +0 -27
- package/src/lib/components/checkbox/checkbox-types.ts +0 -15
- package/src/lib/components/checkbox/checkbox.ts +0 -74
- package/src/lib/components/checkbox/index.ts +0 -5
- package/src/lib/components/checkbox/visual-checkbox.ts +0 -47
- package/src/lib/components/collapsible/README.md +0 -191
- package/src/lib/components/collapsible/collapsible-content.ts +0 -28
- package/src/lib/components/collapsible/collapsible-panel.ts +0 -42
- package/src/lib/components/collapsible/collapsible-trigger.ts +0 -48
- package/src/lib/components/collapsible/collapsible.ts +0 -33
- package/src/lib/components/collapsible/index.ts +0 -4
- package/src/lib/components/color-picker/README.md +0 -218
- package/src/lib/components/color-picker/color-picker-area.ts +0 -107
- package/src/lib/components/color-picker/color-picker-eyedropper.ts +0 -76
- package/src/lib/components/color-picker/color-picker-hue.ts +0 -92
- package/src/lib/components/color-picker/color-picker-input.ts +0 -70
- package/src/lib/components/color-picker/color-picker-preview.ts +0 -21
- package/src/lib/components/color-picker/color-picker-swatches.ts +0 -60
- package/src/lib/components/color-picker/color-picker.ts +0 -227
- package/src/lib/components/color-picker/index.ts +0 -8
- package/src/lib/components/combobox/README.md +0 -166
- package/src/lib/components/combobox/combobox-empty.ts +0 -17
- package/src/lib/components/combobox/combobox-icon.ts +0 -20
- package/src/lib/components/combobox/combobox-input.ts +0 -32
- package/src/lib/components/combobox/combobox-item-indicator.ts +0 -20
- package/src/lib/components/combobox/combobox-item.ts +0 -49
- package/src/lib/components/combobox/combobox-list.ts +0 -40
- package/src/lib/components/combobox/combobox-portal.ts +0 -111
- package/src/lib/components/combobox/combobox-trigger.ts +0 -20
- package/src/lib/components/combobox/combobox.ts +0 -42
- package/src/lib/components/combobox/index.ts +0 -9
- package/src/lib/components/command/README.md +0 -161
- package/src/lib/components/command/command-empty.ts +0 -17
- package/src/lib/components/command/command-group-heading.ts +0 -20
- package/src/lib/components/command/command-group.ts +0 -23
- package/src/lib/components/command/command-input.ts +0 -67
- package/src/lib/components/command/command-item.ts +0 -61
- package/src/lib/components/command/command-list.ts +0 -19
- package/src/lib/components/command/command-separator.ts +0 -18
- package/src/lib/components/command/command-shortcut.ts +0 -20
- package/src/lib/components/command/command.ts +0 -35
- package/src/lib/components/command/index.ts +0 -9
- package/src/lib/components/confetti/README.md +0 -103
- package/src/lib/components/confetti/confetti-types.ts +0 -47
- package/src/lib/components/confetti/confetti.ts +0 -220
- package/src/lib/components/confetti/index.ts +0 -7
- package/src/lib/components/context-menu/README.md +0 -149
- package/src/lib/components/context-menu/context-menu-content.ts +0 -46
- package/src/lib/components/context-menu/context-menu-item.ts +0 -44
- package/src/lib/components/context-menu/context-menu-label.ts +0 -22
- package/src/lib/components/context-menu/context-menu-separator.ts +0 -18
- package/src/lib/components/context-menu/context-menu-shortcut.ts +0 -20
- package/src/lib/components/context-menu/context-menu-sub-content.ts +0 -83
- package/src/lib/components/context-menu/context-menu-sub-trigger.ts +0 -91
- package/src/lib/components/context-menu/context-menu-sub.ts +0 -38
- package/src/lib/components/context-menu/context-menu-trigger.ts +0 -40
- package/src/lib/components/context-menu/context-menu.ts +0 -106
- package/src/lib/components/context-menu/index.ts +0 -10
- package/src/lib/components/copy-button/README.md +0 -211
- package/src/lib/components/copy-button/copy-button-with-text.ts +0 -53
- package/src/lib/components/copy-button/copy-button.ts +0 -137
- package/src/lib/components/copy-button/copy-code.ts +0 -42
- package/src/lib/components/copy-button/copy-input.ts +0 -54
- package/src/lib/components/copy-button/index.ts +0 -4
- package/src/lib/components/countdown/README.md +0 -168
- package/src/lib/components/countdown/countdown-simple.ts +0 -118
- package/src/lib/components/countdown/countdown.ts +0 -235
- package/src/lib/components/countdown/index.ts +0 -3
- package/src/lib/components/data-table/README.md +0 -330
- package/src/lib/components/data-table/data-table-body.ts +0 -28
- package/src/lib/components/data-table/data-table-cell.ts +0 -20
- package/src/lib/components/data-table/data-table-column-toggle.ts +0 -96
- package/src/lib/components/data-table/data-table-filter.ts +0 -45
- package/src/lib/components/data-table/data-table-head.ts +0 -96
- package/src/lib/components/data-table/data-table-header.ts +0 -28
- package/src/lib/components/data-table/data-table-pagination.ts +0 -152
- package/src/lib/components/data-table/data-table-row.ts +0 -23
- package/src/lib/components/data-table/data-table.ts +0 -181
- package/src/lib/components/data-table/index.ts +0 -15
- package/src/lib/components/date-picker/README.md +0 -101
- package/src/lib/components/date-picker/date-picker.ts +0 -175
- package/src/lib/components/date-picker/index.ts +0 -1
- package/src/lib/components/date-range-picker/README.md +0 -148
- package/src/lib/components/date-range-picker/date-range-picker.ts +0 -348
- package/src/lib/components/date-range-picker/index.ts +0 -3
- package/src/lib/components/dialog/ARCHITECTURE.md +0 -792
- package/src/lib/components/dialog/README.md +0 -208
- package/src/lib/components/dialog/dialog-close.ts +0 -33
- package/src/lib/components/dialog/dialog-description.ts +0 -23
- package/src/lib/components/dialog/dialog-footer.ts +0 -20
- package/src/lib/components/dialog/dialog-header.ts +0 -17
- package/src/lib/components/dialog/dialog-portal.ts +0 -8
- package/src/lib/components/dialog/dialog-provider.ts +0 -175
- package/src/lib/components/dialog/dialog-title.ts +0 -20
- package/src/lib/components/dialog/dialog-trigger.ts +0 -25
- package/src/lib/components/dialog/dialog.ts +0 -79
- package/src/lib/components/dialog/index.ts +0 -9
- package/src/lib/components/diff-viewer/README.md +0 -172
- package/src/lib/components/diff-viewer/diff-algorithm.ts +0 -337
- package/src/lib/components/diff-viewer/diff-viewer.ts +0 -369
- package/src/lib/components/diff-viewer/index.ts +0 -8
- package/src/lib/components/dock/README.md +0 -204
- package/src/lib/components/dock/dock-badge.ts +0 -36
- package/src/lib/components/dock/dock-item.ts +0 -76
- package/src/lib/components/dock/dock-items.ts +0 -31
- package/src/lib/components/dock/dock-types.ts +0 -25
- package/src/lib/components/dock/dock.ts +0 -101
- package/src/lib/components/dock/index.ts +0 -11
- package/src/lib/components/drawer/ARCHITECTURE.md +0 -972
- package/src/lib/components/drawer/README.md +0 -205
- package/src/lib/components/drawer/drawer-close.ts +0 -18
- package/src/lib/components/drawer/drawer-description.ts +0 -17
- package/src/lib/components/drawer/drawer-footer.ts +0 -17
- package/src/lib/components/drawer/drawer-handle.ts +0 -17
- package/src/lib/components/drawer/drawer-header.ts +0 -17
- package/src/lib/components/drawer/drawer-portal.ts +0 -8
- package/src/lib/components/drawer/drawer-provider.ts +0 -142
- package/src/lib/components/drawer/drawer-title.ts +0 -17
- package/src/lib/components/drawer/drawer-trigger.ts +0 -24
- package/src/lib/components/drawer/drawer.ts +0 -77
- package/src/lib/components/drawer/index.ts +0 -11
- package/src/lib/components/emoji-picker/README.md +0 -151
- package/src/lib/components/emoji-picker/emoji-picker-trigger.ts +0 -48
- package/src/lib/components/emoji-picker/emoji-picker.ts +0 -666
- package/src/lib/components/emoji-picker/index.ts +0 -3
- package/src/lib/components/empty/README.md +0 -72
- package/src/lib/components/empty/empty-content.ts +0 -20
- package/src/lib/components/empty/empty-description.ts +0 -20
- package/src/lib/components/empty/empty-header.ts +0 -17
- package/src/lib/components/empty/empty-media.ts +0 -29
- package/src/lib/components/empty/empty-title.ts +0 -17
- package/src/lib/components/empty/empty.ts +0 -20
- package/src/lib/components/empty/index.ts +0 -6
- package/src/lib/components/field/README.md +0 -326
- package/src/lib/components/field/field-content.ts +0 -20
- package/src/lib/components/field/field-description.ts +0 -22
- package/src/lib/components/field/field-error.ts +0 -18
- package/src/lib/components/field/field-group.ts +0 -20
- package/src/lib/components/field/field-legend.ts +0 -24
- package/src/lib/components/field/field-separator.ts +0 -20
- package/src/lib/components/field/field-set.ts +0 -20
- package/src/lib/components/field/field-title.ts +0 -20
- package/src/lib/components/field/field.ts +0 -89
- package/src/lib/components/field/index.ts +0 -9
- package/src/lib/components/file-upload/README.md +0 -256
- package/src/lib/components/file-upload/file-upload-dropzone.ts +0 -100
- package/src/lib/components/file-upload/file-upload-item-delete.ts +0 -59
- package/src/lib/components/file-upload/file-upload-item-name.ts +0 -17
- package/src/lib/components/file-upload/file-upload-item-preview.ts +0 -52
- package/src/lib/components/file-upload/file-upload-item-progress.ts +0 -33
- package/src/lib/components/file-upload/file-upload-item-size.ts +0 -39
- package/src/lib/components/file-upload/file-upload-item.ts +0 -35
- package/src/lib/components/file-upload/file-upload-list.ts +0 -17
- package/src/lib/components/file-upload/file-upload-trigger.ts +0 -70
- package/src/lib/components/file-upload/file-upload.ts +0 -156
- package/src/lib/components/file-upload/index.ts +0 -11
- package/src/lib/components/hover-card/ARCHITECTURE.md +0 -341
- package/src/lib/components/hover-card/README.md +0 -118
- package/src/lib/components/hover-card/hover-card-portal.ts +0 -142
- package/src/lib/components/hover-card/hover-card-provider.ts +0 -85
- package/src/lib/components/hover-card/hover-card-trigger.ts +0 -75
- package/src/lib/components/hover-card/hover-card.ts +0 -97
- package/src/lib/components/hover-card/index.ts +0 -5
- package/src/lib/components/image-annotator/README.md +0 -132
- package/src/lib/components/image-annotator/image-annotator-types.ts +0 -29
- package/src/lib/components/image-annotator/image-annotator.ts +0 -549
- package/src/lib/components/image-annotator/index.ts +0 -7
- package/src/lib/components/image-compare/README.md +0 -239
- package/src/lib/components/image-compare/image-compare-after.ts +0 -39
- package/src/lib/components/image-compare/image-compare-before.ts +0 -30
- package/src/lib/components/image-compare/image-compare-container.ts +0 -119
- package/src/lib/components/image-compare/image-compare-label.ts +0 -34
- package/src/lib/components/image-compare/image-compare-slider.ts +0 -103
- package/src/lib/components/image-compare/image-compare.ts +0 -79
- package/src/lib/components/image-compare/index.ts +0 -10
- package/src/lib/components/image-cropper/README.md +0 -322
- package/src/lib/components/image-cropper/image-cropper-aspect-ratio.ts +0 -65
- package/src/lib/components/image-cropper/image-cropper-container.ts +0 -294
- package/src/lib/components/image-cropper/image-cropper-controls.ts +0 -95
- package/src/lib/components/image-cropper/image-cropper-preview.ts +0 -66
- package/src/lib/components/image-cropper/image-cropper.ts +0 -459
- package/src/lib/components/image-cropper/index.ts +0 -10
- package/src/lib/components/index.ts +0 -106
- package/src/lib/components/infinite-scroll/README.md +0 -134
- package/src/lib/components/infinite-scroll/index.ts +0 -4
- package/src/lib/components/infinite-scroll/infinite-scroll-end.ts +0 -9
- package/src/lib/components/infinite-scroll/infinite-scroll-loader.ts +0 -9
- package/src/lib/components/infinite-scroll/infinite-scroll.ts +0 -199
- package/src/lib/components/infinite-scroll/virtual-scroll.ts +0 -83
- package/src/lib/components/input/README.md +0 -93
- package/src/lib/components/input/index.ts +0 -1
- package/src/lib/components/input/input.ts +0 -41
- package/src/lib/components/input-group/README.md +0 -60
- package/src/lib/components/input-group/index.ts +0 -6
- package/src/lib/components/input-group/input-group-addon.ts +0 -46
- package/src/lib/components/input-group/input-group-button.ts +0 -49
- package/src/lib/components/input-group/input-group-input.ts +0 -20
- package/src/lib/components/input-group/input-group-text.ts +0 -20
- package/src/lib/components/input-group/input-group-textarea.ts +0 -20
- package/src/lib/components/input-group/input-group.ts +0 -21
- package/src/lib/components/kanban-board/README.md +0 -238
- package/src/lib/components/kanban-board/index.ts +0 -12
- package/src/lib/components/kanban-board/kanban-board.ts +0 -281
- package/src/lib/components/kanban-board/kanban-card.ts +0 -241
- package/src/lib/components/kanban-board/kanban-column.ts +0 -371
- package/src/lib/components/kanban-board/kanban-types.ts +0 -52
- package/src/lib/components/kbd/README.md +0 -58
- package/src/lib/components/kbd/index.ts +0 -2
- package/src/lib/components/kbd/kbd-group.ts +0 -17
- package/src/lib/components/kbd/kbd.ts +0 -20
- package/src/lib/components/label/README.md +0 -90
- package/src/lib/components/label/index.ts +0 -1
- package/src/lib/components/label/label.ts +0 -32
- package/src/lib/components/language-switcher/index.ts +0 -4
- package/src/lib/components/language-switcher/language-button.ts +0 -98
- package/src/lib/components/language-switcher/language-select.ts +0 -65
- package/src/lib/components/language-switcher/language-toggle.ts +0 -98
- package/src/lib/components/language-switcher/language.service.ts +0 -239
- package/src/lib/components/language-switcher/styles.ts +0 -16
- package/src/lib/components/lightbox/README.md +0 -387
- package/src/lib/components/lightbox/index.ts +0 -9
- package/src/lib/components/lightbox/lightbox-container.ts +0 -338
- package/src/lib/components/lightbox/lightbox-gallery.ts +0 -81
- package/src/lib/components/lightbox/lightbox-trigger.ts +0 -19
- package/src/lib/components/lightbox/lightbox.ts +0 -210
- package/src/lib/components/lightbox/lightbox.types.ts +0 -7
- package/src/lib/components/marquee/README.md +0 -183
- package/src/lib/components/marquee/auto-marquee.ts +0 -73
- package/src/lib/components/marquee/index.ts +0 -6
- package/src/lib/components/marquee/marquee-clone.ts +0 -17
- package/src/lib/components/marquee/marquee-fade.ts +0 -53
- package/src/lib/components/marquee/marquee-item.ts +0 -17
- package/src/lib/components/marquee/marquee-text.ts +0 -80
- package/src/lib/components/marquee/marquee.ts +0 -96
- package/src/lib/components/masonry-grid/README.md +0 -204
- package/src/lib/components/masonry-grid/index.ts +0 -4
- package/src/lib/components/masonry-grid/masonry-grid.ts +0 -178
- package/src/lib/components/masonry-grid/masonry-item.ts +0 -66
- package/src/lib/components/masonry-grid/masonry-types.ts +0 -24
- package/src/lib/components/mention-input/README.md +0 -122
- package/src/lib/components/mention-input/index.ts +0 -2
- package/src/lib/components/mention-input/mention-input.ts +0 -279
- package/src/lib/components/menu/README.md +0 -176
- package/src/lib/components/menu/index.ts +0 -11
- package/src/lib/components/menu/menu-item.ts +0 -32
- package/src/lib/components/menu/menu-portal.ts +0 -53
- package/src/lib/components/menu/menu-provider.ts +0 -50
- package/src/lib/components/menu/menu-separator.ts +0 -19
- package/src/lib/components/menu/menu-sub-icon.ts +0 -18
- package/src/lib/components/menu/menu-sub-portal.ts +0 -53
- package/src/lib/components/menu/menu-sub-provider.ts +0 -52
- package/src/lib/components/menu/menu-sub-trigger.ts +0 -34
- package/src/lib/components/menu/menu-sub.ts +0 -41
- package/src/lib/components/menu/menu-trigger.ts +0 -27
- package/src/lib/components/menu/menu.ts +0 -41
- package/src/lib/components/multi-select/README.md +0 -155
- package/src/lib/components/multi-select/index.ts +0 -2
- package/src/lib/components/multi-select/multi-select.ts +0 -394
- package/src/lib/components/native-checkbox/README.md +0 -113
- package/src/lib/components/native-checkbox/index.ts +0 -1
- package/src/lib/components/native-checkbox/native-checkbox.ts +0 -116
- package/src/lib/components/navbar/ARCHITECTURE.md +0 -605
- package/src/lib/components/navbar/README.md +0 -246
- package/src/lib/components/navbar/index.ts +0 -9
- package/src/lib/components/navbar/navbar-actions.ts +0 -28
- package/src/lib/components/navbar/navbar-brand.ts +0 -24
- package/src/lib/components/navbar/navbar-group.ts +0 -28
- package/src/lib/components/navbar/navbar-mobile-link.ts +0 -28
- package/src/lib/components/navbar/navbar-mobile-menu.ts +0 -71
- package/src/lib/components/navbar/navbar-mobile-portal.ts +0 -118
- package/src/lib/components/navbar/navbar-mobile-trigger.ts +0 -51
- package/src/lib/components/navbar/navbar-provider.ts +0 -85
- package/src/lib/components/navbar/navbar.ts +0 -40
- package/src/lib/components/navigation-menu/README.md +0 -135
- package/src/lib/components/navigation-menu/index.ts +0 -8
- package/src/lib/components/navigation-menu/navigation-menu-content.ts +0 -80
- package/src/lib/components/navigation-menu/navigation-menu-indicator.ts +0 -35
- package/src/lib/components/navigation-menu/navigation-menu-item.ts +0 -88
- package/src/lib/components/navigation-menu/navigation-menu-link.ts +0 -29
- package/src/lib/components/navigation-menu/navigation-menu-list.ts +0 -20
- package/src/lib/components/navigation-menu/navigation-menu-trigger.ts +0 -52
- package/src/lib/components/navigation-menu/navigation-menu-viewport.ts +0 -35
- package/src/lib/components/navigation-menu/navigation-menu.ts +0 -39
- package/src/lib/components/notification-center/README.md +0 -365
- package/src/lib/components/notification-center/index.ts +0 -20
- package/src/lib/components/notification-center/notification-center-container.ts +0 -226
- package/src/lib/components/notification-center/notification-center.ts +0 -157
- package/src/lib/components/notification-center/notification-group.ts +0 -198
- package/src/lib/components/notification-center/notification-item.ts +0 -214
- package/src/lib/components/notification-center/notification-types.ts +0 -52
- package/src/lib/components/number-field/README.md +0 -369
- package/src/lib/components/number-field/index.ts +0 -6
- package/src/lib/components/number-field/number-field-decrement.ts +0 -57
- package/src/lib/components/number-field/number-field-increment.ts +0 -58
- package/src/lib/components/number-field/number-field-input-group.ts +0 -37
- package/src/lib/components/number-field/number-field-input.ts +0 -87
- package/src/lib/components/number-field/number-field-scrub-area.ts +0 -74
- package/src/lib/components/number-field/number-field.ts +0 -143
- package/src/lib/components/opt-field/index.ts +0 -7
- package/src/lib/components/opt-field/opt-field-separator.ts +0 -18
- package/src/lib/components/opt-field/opt-field-slot-caret.ts +0 -31
- package/src/lib/components/opt-field/opt-field-slot-char.ts +0 -19
- package/src/lib/components/opt-field/opt-field-slot-group.ts +0 -17
- package/src/lib/components/opt-field/opt-field-slot-input.ts +0 -60
- package/src/lib/components/opt-field/opt-field-slot.ts +0 -111
- package/src/lib/components/opt-field/opt-field.ts +0 -113
- package/src/lib/components/org-chart/README.md +0 -265
- package/src/lib/components/org-chart/index.ts +0 -8
- package/src/lib/components/org-chart/org-chart-node.ts +0 -253
- package/src/lib/components/org-chart/org-chart-types.ts +0 -22
- package/src/lib/components/org-chart/org-chart.ts +0 -67
- package/src/lib/components/pagination/ACCESSIBILITY_REVIEW.md +0 -530
- package/src/lib/components/pagination/KEYBOARD-NAVIGATION.md +0 -356
- package/src/lib/components/pagination/README.md +0 -359
- package/src/lib/components/pagination/REVIEW_SUMMARY.md +0 -55
- package/src/lib/components/pagination/SMART-PAGINATION.md +0 -345
- package/src/lib/components/pagination/index.ts +0 -11
- package/src/lib/components/pagination/pagination-ellipsis.ts +0 -32
- package/src/lib/components/pagination/pagination-first.ts +0 -75
- package/src/lib/components/pagination/pagination-item.ts +0 -15
- package/src/lib/components/pagination/pagination-last.ts +0 -77
- package/src/lib/components/pagination/pagination-link.ts +0 -70
- package/src/lib/components/pagination/pagination-list.ts +0 -17
- package/src/lib/components/pagination/pagination-next.ts +0 -78
- package/src/lib/components/pagination/pagination-page-size-select.ts +0 -44
- package/src/lib/components/pagination/pagination-previous.ts +0 -78
- package/src/lib/components/pagination/pagination.ts +0 -190
- package/src/lib/components/password-field/README.md +0 -247
- package/src/lib/components/password-field/index.ts +0 -7
- package/src/lib/components/password-field/password-field-input-group.ts +0 -32
- package/src/lib/components/password-field/password-field-input.ts +0 -55
- package/src/lib/components/password-field/password-field-requirements.ts +0 -90
- package/src/lib/components/password-field/password-field-strength-bar.ts +0 -64
- package/src/lib/components/password-field/password-field-strength.ts +0 -91
- package/src/lib/components/password-field/password-field-toggle.ts +0 -86
- package/src/lib/components/password-field/password-field.ts +0 -95
- package/src/lib/components/pdf-viewer/README.md +0 -221
- package/src/lib/components/pdf-viewer/index.ts +0 -47
- package/src/lib/components/pdf-viewer/pdf-viewer-container.ts +0 -54
- package/src/lib/components/pdf-viewer/pdf-viewer-content.ts +0 -60
- package/src/lib/components/pdf-viewer/pdf-viewer-download.ts +0 -34
- package/src/lib/components/pdf-viewer/pdf-viewer-empty.ts +0 -62
- package/src/lib/components/pdf-viewer/pdf-viewer-error.ts +0 -73
- package/src/lib/components/pdf-viewer/pdf-viewer-fullscreen.ts +0 -36
- package/src/lib/components/pdf-viewer/pdf-viewer-loading.ts +0 -44
- package/src/lib/components/pdf-viewer/pdf-viewer-nav.ts +0 -30
- package/src/lib/components/pdf-viewer/pdf-viewer-next-page.ts +0 -38
- package/src/lib/components/pdf-viewer/pdf-viewer-page-info.ts +0 -53
- package/src/lib/components/pdf-viewer/pdf-viewer-prev-page.ts +0 -38
- package/src/lib/components/pdf-viewer/pdf-viewer-print.ts +0 -34
- package/src/lib/components/pdf-viewer/pdf-viewer-retry.ts +0 -36
- package/src/lib/components/pdf-viewer/pdf-viewer-root.ts +0 -239
- package/src/lib/components/pdf-viewer/pdf-viewer-rotate-left.ts +0 -34
- package/src/lib/components/pdf-viewer/pdf-viewer-rotate-right.ts +0 -34
- package/src/lib/components/pdf-viewer/pdf-viewer-separator.ts +0 -28
- package/src/lib/components/pdf-viewer/pdf-viewer-spacer.ts +0 -24
- package/src/lib/components/pdf-viewer/pdf-viewer-toolbar-base.ts +0 -34
- package/src/lib/components/pdf-viewer/pdf-viewer-toolbar.ts +0 -391
- package/src/lib/components/pdf-viewer/pdf-viewer-types.ts +0 -52
- package/src/lib/components/pdf-viewer/pdf-viewer-zoom-in.ts +0 -37
- package/src/lib/components/pdf-viewer/pdf-viewer-zoom-out.ts +0 -37
- package/src/lib/components/pdf-viewer/pdf-viewer-zoom-select.ts +0 -61
- package/src/lib/components/pdf-viewer/pdf-viewer-zoom.ts +0 -30
- package/src/lib/components/pdf-viewer/pdf-viewer.ts +0 -417
- package/src/lib/components/phone-input/README.md +0 -173
- package/src/lib/components/phone-input/countries.ts +0 -69
- package/src/lib/components/phone-input/index.ts +0 -4
- package/src/lib/components/phone-input/phone-input-simple.ts +0 -141
- package/src/lib/components/phone-input/phone-input.ts +0 -304
- package/src/lib/components/popover/ARCHITECTURE.md +0 -569
- package/src/lib/components/popover/README.md +0 -247
- package/src/lib/components/popover/index.ts +0 -6
- package/src/lib/components/popover/popover-close.ts +0 -29
- package/src/lib/components/popover/popover-portal.ts +0 -161
- package/src/lib/components/popover/popover-provider.ts +0 -82
- package/src/lib/components/popover/popover-trigger.ts +0 -27
- package/src/lib/components/popover/popover.ts +0 -66
- package/src/lib/components/progress/README.md +0 -75
- package/src/lib/components/progress/index.ts +0 -1
- package/src/lib/components/progress/progress.ts +0 -62
- package/src/lib/components/qr-code/README.md +0 -124
- package/src/lib/components/qr-code/index.ts +0 -3
- package/src/lib/components/qr-code/qr-code-download.ts +0 -105
- package/src/lib/components/qr-code/qr-code.ts +0 -121
- package/src/lib/components/qr-code/qr-generator.ts +0 -479
- package/src/lib/components/radio-group/README.md +0 -273
- package/src/lib/components/radio-group/index.ts +0 -3
- package/src/lib/components/radio-group/radio-field.ts +0 -43
- package/src/lib/components/radio-group/radio-group.ts +0 -18
- package/src/lib/components/radio-group/radio.ts +0 -30
- package/src/lib/components/range-slider/README.md +0 -118
- package/src/lib/components/range-slider/index.ts +0 -1
- package/src/lib/components/range-slider/range-slider.ts +0 -304
- package/src/lib/components/rating-field/README.md +0 -150
- package/src/lib/components/rating-field/index.ts +0 -3
- package/src/lib/components/rating-field/rating-field.ts +0 -87
- package/src/lib/components/rating-field/rating-item-group.ts +0 -73
- package/src/lib/components/rating-field/rating-item.ts +0 -89
- package/src/lib/components/resizable/README.md +0 -133
- package/src/lib/components/resizable/index.ts +0 -4
- package/src/lib/components/resizable/resizable-handle.ts +0 -160
- package/src/lib/components/resizable/resizable-panel-group.ts +0 -38
- package/src/lib/components/resizable/resizable-panel.ts +0 -51
- package/src/lib/components/resizable/resizable.types.ts +0 -1
- package/src/lib/components/scroll-area/README.md +0 -76
- package/src/lib/components/scroll-area/index.ts +0 -2
- package/src/lib/components/scroll-area/scroll-area.ts +0 -87
- package/src/lib/components/scroll-area/scroll-bar.ts +0 -207
- package/src/lib/components/search-input/README.md +0 -99
- package/src/lib/components/search-input/index.ts +0 -6
- package/src/lib/components/search-input/search-input-types.ts +0 -21
- package/src/lib/components/search-input/search-input.ts +0 -302
- package/src/lib/components/select/README.md +0 -175
- package/src/lib/components/select/index.ts +0 -9
- package/src/lib/components/select/select-icon.ts +0 -20
- package/src/lib/components/select/select-input.ts +0 -32
- package/src/lib/components/select/select-item-indicator.ts +0 -20
- package/src/lib/components/select/select-item.ts +0 -48
- package/src/lib/components/select/select-list.ts +0 -42
- package/src/lib/components/select/select-portal.ts +0 -48
- package/src/lib/components/select/select-trigger.ts +0 -36
- package/src/lib/components/select/select-value.ts +0 -32
- package/src/lib/components/select/select.ts +0 -57
- package/src/lib/components/separator/README.md +0 -59
- package/src/lib/components/separator/index.ts +0 -1
- package/src/lib/components/separator/separator.ts +0 -29
- package/src/lib/components/sheet/ARCHITECTURE.md +0 -915
- package/src/lib/components/sheet/README.md +0 -248
- package/src/lib/components/sheet/index.ts +0 -10
- package/src/lib/components/sheet/sheet-close.ts +0 -32
- package/src/lib/components/sheet/sheet-description.ts +0 -20
- package/src/lib/components/sheet/sheet-footer.ts +0 -20
- package/src/lib/components/sheet/sheet-header.ts +0 -17
- package/src/lib/components/sheet/sheet-portal.ts +0 -8
- package/src/lib/components/sheet/sheet-provider.ts +0 -142
- package/src/lib/components/sheet/sheet-title.ts +0 -20
- package/src/lib/components/sheet/sheet-trigger.ts +0 -24
- package/src/lib/components/sheet/sheet.ts +0 -92
- package/src/lib/components/sidebar/README.md +0 -254
- package/src/lib/components/sidebar/index.ts +0 -24
- package/src/lib/components/sidebar/sidebar-content.ts +0 -20
- package/src/lib/components/sidebar/sidebar-footer.ts +0 -17
- package/src/lib/components/sidebar/sidebar-group-action.ts +0 -24
- package/src/lib/components/sidebar/sidebar-group-content.ts +0 -17
- package/src/lib/components/sidebar/sidebar-group-label.ts +0 -23
- package/src/lib/components/sidebar/sidebar-group.ts +0 -17
- package/src/lib/components/sidebar/sidebar-header.ts +0 -17
- package/src/lib/components/sidebar/sidebar-input.ts +0 -20
- package/src/lib/components/sidebar/sidebar-inset.ts +0 -21
- package/src/lib/components/sidebar/sidebar-menu-action.ts +0 -31
- package/src/lib/components/sidebar/sidebar-menu-badge.ts +0 -25
- package/src/lib/components/sidebar/sidebar-menu-button.ts +0 -55
- package/src/lib/components/sidebar/sidebar-menu-item.ts +0 -17
- package/src/lib/components/sidebar/sidebar-menu-skeleton.ts +0 -40
- package/src/lib/components/sidebar/sidebar-menu-sub-button.ts +0 -33
- package/src/lib/components/sidebar/sidebar-menu-sub-item.ts +0 -15
- package/src/lib/components/sidebar/sidebar-menu-sub.ts +0 -21
- package/src/lib/components/sidebar/sidebar-menu.ts +0 -17
- package/src/lib/components/sidebar/sidebar-provider.ts +0 -128
- package/src/lib/components/sidebar/sidebar-rail.ts +0 -39
- package/src/lib/components/sidebar/sidebar-separator.ts +0 -21
- package/src/lib/components/sidebar/sidebar-state.service.ts +0 -33
- package/src/lib/components/sidebar/sidebar-trigger.ts +0 -38
- package/src/lib/components/sidebar/sidebar.ts +0 -120
- package/src/lib/components/signature-pad/README.md +0 -236
- package/src/lib/components/signature-pad/index.ts +0 -8
- package/src/lib/components/signature-pad/signature-pad-canvas.ts +0 -228
- package/src/lib/components/signature-pad/signature-pad-clear-button.ts +0 -48
- package/src/lib/components/signature-pad/signature-pad-color-button.ts +0 -50
- package/src/lib/components/signature-pad/signature-pad-controls.ts +0 -26
- package/src/lib/components/signature-pad/signature-pad-toolbar.ts +0 -25
- package/src/lib/components/signature-pad/signature-pad-undo-button.ts +0 -48
- package/src/lib/components/signature-pad/signature-pad-width-button.ts +0 -50
- package/src/lib/components/signature-pad/signature-pad.ts +0 -97
- package/src/lib/components/skeleton/README.md +0 -80
- package/src/lib/components/skeleton/index.ts +0 -1
- package/src/lib/components/skeleton/skeleton.ts +0 -17
- package/src/lib/components/slider/README.md +0 -106
- package/src/lib/components/slider/index.ts +0 -4
- package/src/lib/components/slider/slider-range.ts +0 -28
- package/src/lib/components/slider/slider-thumb.ts +0 -73
- package/src/lib/components/slider/slider-track.ts +0 -31
- package/src/lib/components/slider/slider.ts +0 -185
- package/src/lib/components/sortable-list/README.md +0 -229
- package/src/lib/components/sortable-list/index.ts +0 -4
- package/src/lib/components/sortable-list/sortable-handle.ts +0 -72
- package/src/lib/components/sortable-list/sortable-item.ts +0 -162
- package/src/lib/components/sortable-list/sortable-list.ts +0 -127
- package/src/lib/components/sortable-list/sortable-overlay.ts +0 -31
- package/src/lib/components/speed-dial/README.md +0 -259
- package/src/lib/components/speed-dial/index.ts +0 -7
- package/src/lib/components/speed-dial/speed-dial-action.ts +0 -99
- package/src/lib/components/speed-dial/speed-dial-types.ts +0 -14
- package/src/lib/components/speed-dial/speed-dial.ts +0 -224
- package/src/lib/components/spinner/README.md +0 -41
- package/src/lib/components/spinner/index.ts +0 -1
- package/src/lib/components/spinner/spinner.ts +0 -20
- package/src/lib/components/split-button/README.md +0 -99
- package/src/lib/components/split-button/index.ts +0 -6
- package/src/lib/components/split-button/split-button-types.ts +0 -14
- package/src/lib/components/split-button/split-button.ts +0 -240
- package/src/lib/components/spotlight/README.md +0 -136
- package/src/lib/components/spotlight/index.ts +0 -5
- package/src/lib/components/spotlight/spotlight-actions.ts +0 -24
- package/src/lib/components/spotlight/spotlight-description.ts +0 -24
- package/src/lib/components/spotlight/spotlight-title.ts +0 -24
- package/src/lib/components/spotlight/spotlight.ts +0 -367
- package/src/lib/components/stat-card/README.md +0 -319
- package/src/lib/components/stat-card/REFACTORING-COMPLETE.md +0 -250
- package/src/lib/components/stat-card/REFACTORING-PLAN.md +0 -471
- package/src/lib/components/stat-card/index.ts +0 -11
- package/src/lib/components/stat-card/stat-card-change.ts +0 -27
- package/src/lib/components/stat-card/stat-card-description.ts +0 -17
- package/src/lib/components/stat-card/stat-card-icon.ts +0 -28
- package/src/lib/components/stat-card/stat-card-label.ts +0 -27
- package/src/lib/components/stat-card/stat-card-types.ts +0 -3
- package/src/lib/components/stat-card/stat-card-value.ts +0 -27
- package/src/lib/components/stat-card/stat-card.ts +0 -34
- package/src/lib/components/stepper/README.md +0 -250
- package/src/lib/components/stepper/index.ts +0 -12
- package/src/lib/components/stepper/stepper-content.ts +0 -25
- package/src/lib/components/stepper/stepper-description.ts +0 -17
- package/src/lib/components/stepper/stepper-item.ts +0 -35
- package/src/lib/components/stepper/stepper-list.ts +0 -26
- package/src/lib/components/stepper/stepper-next.ts +0 -41
- package/src/lib/components/stepper/stepper-previous.ts +0 -42
- package/src/lib/components/stepper/stepper-separator.ts +0 -35
- package/src/lib/components/stepper/stepper-title.ts +0 -17
- package/src/lib/components/stepper/stepper-trigger.ts +0 -67
- package/src/lib/components/stepper/stepper-types.ts +0 -10
- package/src/lib/components/stepper/stepper.ts +0 -46
- package/src/lib/components/switch/README.md +0 -99
- package/src/lib/components/switch/index.ts +0 -1
- package/src/lib/components/switch/switch.ts +0 -56
- package/src/lib/components/table/README.md +0 -105
- package/src/lib/components/table/index.ts +0 -8
- package/src/lib/components/table/table-body.ts +0 -17
- package/src/lib/components/table/table-caption.ts +0 -17
- package/src/lib/components/table/table-cell.ts +0 -17
- package/src/lib/components/table/table-footer.ts +0 -20
- package/src/lib/components/table/table-header-cell.ts +0 -20
- package/src/lib/components/table/table-header.ts +0 -17
- package/src/lib/components/table/table-row.ts +0 -20
- package/src/lib/components/table/table.ts +0 -17
- package/src/lib/components/tabs/README.md +0 -169
- package/src/lib/components/tabs/index.ts +0 -4
- package/src/lib/components/tabs/tab-list.ts +0 -38
- package/src/lib/components/tabs/tab-panel.ts +0 -45
- package/src/lib/components/tabs/tab.ts +0 -45
- package/src/lib/components/tabs/tabs.ts +0 -28
- package/src/lib/components/tag-input/README.md +0 -271
- package/src/lib/components/tag-input/index.ts +0 -5
- package/src/lib/components/tag-input/tag-input-clear.ts +0 -60
- package/src/lib/components/tag-input/tag-input-count.ts +0 -42
- package/src/lib/components/tag-input/tag-input-field.ts +0 -121
- package/src/lib/components/tag-input/tag-input-tag.ts +0 -70
- package/src/lib/components/tag-input/tag-input.ts +0 -118
- package/src/lib/components/textarea/README.md +0 -80
- package/src/lib/components/textarea/index.ts +0 -1
- package/src/lib/components/textarea/textarea.ts +0 -41
- package/src/lib/components/theme-toggle/README.md +0 -258
- package/src/lib/components/theme-toggle/index.ts +0 -4
- package/src/lib/components/theme-toggle/theme-field.ts +0 -40
- package/src/lib/components/theme-toggle/theme-select.ts +0 -56
- package/src/lib/components/theme-toggle/theme-toggle.ts +0 -76
- package/src/lib/components/theme-toggle/theme.service.ts +0 -81
- package/src/lib/components/time-picker/README.md +0 -188
- package/src/lib/components/time-picker/index.ts +0 -5
- package/src/lib/components/time-picker/time-picker-clock.ts +0 -195
- package/src/lib/components/time-picker/time-picker-input.ts +0 -174
- package/src/lib/components/time-picker/time-picker-period.ts +0 -89
- package/src/lib/components/time-picker/time-picker-separator.ts +0 -20
- package/src/lib/components/time-picker/time-picker.ts +0 -87
- package/src/lib/components/timeline/README.md +0 -177
- package/src/lib/components/timeline/index.ts +0 -8
- package/src/lib/components/timeline/timeline-connector.ts +0 -29
- package/src/lib/components/timeline/timeline-content.ts +0 -26
- package/src/lib/components/timeline/timeline-description.ts +0 -17
- package/src/lib/components/timeline/timeline-dot.ts +0 -45
- package/src/lib/components/timeline/timeline-item.ts +0 -28
- package/src/lib/components/timeline/timeline-time.ts +0 -17
- package/src/lib/components/timeline/timeline-title.ts +0 -17
- package/src/lib/components/timeline/timeline.ts +0 -17
- package/src/lib/components/timezone/index.ts +0 -5
- package/src/lib/components/timezone/timezone-badge.ts +0 -85
- package/src/lib/components/timezone/timezone-button.ts +0 -104
- package/src/lib/components/timezone/timezone-display.ts +0 -105
- package/src/lib/components/timezone/timezone-select.ts +0 -87
- package/src/lib/components/timezone/timezone.service.ts +0 -233
- package/src/lib/components/toast/README.md +0 -151
- package/src/lib/components/toast/index.ts +0 -8
- package/src/lib/components/toast/toast-action.ts +0 -27
- package/src/lib/components/toast/toast-close.ts +0 -29
- package/src/lib/components/toast/toast-description.ts +0 -17
- package/src/lib/components/toast/toast-stack.ts +0 -95
- package/src/lib/components/toast/toast-title.ts +0 -17
- package/src/lib/components/toast/toast.ts +0 -64
- package/src/lib/components/toast/toast.types.ts +0 -24
- package/src/lib/components/toast/toaster.ts +0 -67
- package/src/lib/components/toggle/README.md +0 -72
- package/src/lib/components/toggle/index.ts +0 -1
- package/src/lib/components/toggle/toggle.ts +0 -53
- package/src/lib/components/toggle-group/README.md +0 -101
- package/src/lib/components/toggle-group/index.ts +0 -2
- package/src/lib/components/toggle-group/toggle-group-item.ts +0 -62
- package/src/lib/components/toggle-group/toggle-group.ts +0 -53
- package/src/lib/components/toolbar/README.md +0 -76
- package/src/lib/components/toolbar/index.ts +0 -4
- package/src/lib/components/toolbar/toolbar-separator.ts +0 -32
- package/src/lib/components/toolbar/toolbar-widget-group.ts +0 -35
- package/src/lib/components/toolbar/toolbar-widget.ts +0 -48
- package/src/lib/components/toolbar/toolbar.ts +0 -44
- package/src/lib/components/tooltip/ANIMATIONS.md +0 -274
- package/src/lib/components/tooltip/README.md +0 -100
- package/src/lib/components/tooltip/index.ts +0 -3
- package/src/lib/components/tooltip/tooltip-manager.ts +0 -194
- package/src/lib/components/tooltip/tooltip-trigger.ts +0 -148
- package/src/lib/components/tooltip/tooltip.ts +0 -72
- package/src/lib/components/tour-guide/README.md +0 -158
- package/src/lib/components/tour-guide/index.ts +0 -2
- package/src/lib/components/tour-guide/tour-guide.ts +0 -492
- package/src/lib/components/transfer-list/README.md +0 -98
- package/src/lib/components/transfer-list/index.ts +0 -5
- package/src/lib/components/transfer-list/transfer-list-types.ts +0 -11
- package/src/lib/components/transfer-list/transfer-list.ts +0 -434
- package/src/lib/components/tree/README.md +0 -358
- package/src/lib/components/tree/TODO.md +0 -94
- package/src/lib/components/tree/index.ts +0 -6
- package/src/lib/components/tree/tree-item-group.ts +0 -40
- package/src/lib/components/tree/tree-item-icon.ts +0 -17
- package/src/lib/components/tree/tree-item-trigger-icon.ts +0 -26
- package/src/lib/components/tree/tree-item-trigger.ts +0 -51
- package/src/lib/components/tree/tree-item.ts +0 -64
- package/src/lib/components/tree/tree.ts +0 -21
- package/src/lib/components/video-player/README.md +0 -275
- package/src/lib/components/video-player/index.ts +0 -14
- package/src/lib/components/video-player/video-player-big-play-button.ts +0 -35
- package/src/lib/components/video-player/video-player-buffering.ts +0 -36
- package/src/lib/components/video-player/video-player-controls.ts +0 -28
- package/src/lib/components/video-player/video-player-fullscreen-button.ts +0 -38
- package/src/lib/components/video-player/video-player-pip-button.ts +0 -37
- package/src/lib/components/video-player/video-player-play-button.ts +0 -37
- package/src/lib/components/video-player/video-player-progress.ts +0 -56
- package/src/lib/components/video-player/video-player-skip-button.ts +0 -44
- package/src/lib/components/video-player/video-player-speed-button.ts +0 -74
- package/src/lib/components/video-player/video-player-time.ts +0 -31
- package/src/lib/components/video-player/video-player-types.ts +0 -13
- package/src/lib/components/video-player/video-player-video.ts +0 -127
- package/src/lib/components/video-player/video-player-volume.ts +0 -61
- package/src/lib/components/video-player/video-player.ts +0 -139
- package/src/lib/components/virtual-list/README.md +0 -120
- package/src/lib/components/virtual-list/index.ts +0 -2
- package/src/lib/components/virtual-list/virtual-list-types.ts +0 -9
- package/src/lib/components/virtual-list/virtual-list.ts +0 -174
- package/src/lib/layouts/auth-layout.ts +0 -30
- package/src/lib/layouts/index.ts +0 -3
- package/src/lib/layouts/sidebar-layout.ts +0 -37
- package/src/lib/layouts/stacked-layout/README.md +0 -84
- package/src/lib/layouts/stacked-layout/index.ts +0 -1
- package/src/lib/layouts/stacked-layout/stacked-layout.ts +0 -39
- package/tsconfig.json +0 -28
- package/tsconfig.lib.json +0 -12
- package/tsconfig.lib.prod.json +0 -9
|
@@ -1,530 +0,0 @@
|
|
|
1
|
-
# Pagination Component - Accessibility & Keyboard Navigation Review
|
|
2
|
-
|
|
3
|
-
**Date:** 2026-02-12
|
|
4
|
-
**Reviewer:** Claude
|
|
5
|
-
**Status:** Needs fixes for WCAG AA compliance
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Executive Summary
|
|
10
|
-
|
|
11
|
-
The pagination component has a solid foundation with good ARIA practices, but requires **3 critical fixes** to meet WCAG AA standards. All issues are low-effort, high-impact changes.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Current Implementation
|
|
16
|
-
|
|
17
|
-
### ✅ What's Working Well
|
|
18
|
-
|
|
19
|
-
#### Keyboard Navigation (Basic)
|
|
20
|
-
|
|
21
|
-
- **Tab** - Native browser behavior works correctly through all interactive elements
|
|
22
|
-
- **Enter/Space** - Native button activation (handled by browser)
|
|
23
|
-
- **↑ ↓** - Native `<select>` element handles page size options automatically
|
|
24
|
-
|
|
25
|
-
#### Accessibility Features
|
|
26
|
-
|
|
27
|
-
- ✅ `role="navigation"` with `aria-label="pagination"` on container
|
|
28
|
-
- ✅ ARIA labels on all navigation buttons:
|
|
29
|
-
- `aria-label="Go to first page"`
|
|
30
|
-
- `aria-label="Go to previous page"`
|
|
31
|
-
- `aria-label="Go to next page"`
|
|
32
|
-
- `aria-label="Go to last page"`
|
|
33
|
-
- `aria-label="Go to page {n}"` on page links
|
|
34
|
-
- ✅ `aria-current="page"` on active page link
|
|
35
|
-
- ✅ `aria-disabled` on disabled navigation buttons
|
|
36
|
-
- ✅ Semantic HTML (buttons, anchors, nav, select)
|
|
37
|
-
- ✅ Good e2e test coverage in Playwright
|
|
38
|
-
|
|
39
|
-
#### Component Architecture
|
|
40
|
-
|
|
41
|
-
- Clean separation of concerns (link, previous, next, first, last, page-size)
|
|
42
|
-
- Smart pagination logic with ellipsis
|
|
43
|
-
- Supports both button and anchor elements
|
|
44
|
-
- Proper disabled state computation
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## 🔴 Critical Issues (WCAG AA Violations)
|
|
49
|
-
|
|
50
|
-
### Issue 1: Disabled Buttons Still Focusable and Activatable
|
|
51
|
-
|
|
52
|
-
**Severity:** High
|
|
53
|
-
**WCAG:** 2.1.1 Keyboard (Level A)
|
|
54
|
-
**Effort:** Low
|
|
55
|
-
|
|
56
|
-
#### Problem
|
|
57
|
-
|
|
58
|
-
Components use `aria-disabled` without the native `disabled` attribute.
|
|
59
|
-
|
|
60
|
-
**Current implementation:**
|
|
61
|
-
|
|
62
|
-
```typescript
|
|
63
|
-
// pagination-previous.ts:21-22
|
|
64
|
-
host: {
|
|
65
|
-
'[attr.aria-disabled]': 'disabled() || null',
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**What's wrong:**
|
|
70
|
-
|
|
71
|
-
- Buttons with `aria-disabled="true"` remain in the tab order
|
|
72
|
-
- They can still receive keyboard focus
|
|
73
|
-
- They can still be activated with Enter/Space (though onClick prevents action)
|
|
74
|
-
- Creates confusing UX: user tabs to disabled button, tries to activate, nothing happens
|
|
75
|
-
|
|
76
|
-
**WCAG Failure:**
|
|
77
|
-
Per WCAG 2.1.1, disabled controls should not be keyboard-operable. While the `onClick` handler prevents action, the button is still technically operable (it receives and responds to keyboard events).
|
|
78
|
-
|
|
79
|
-
#### Solution
|
|
80
|
-
|
|
81
|
-
Use the native `disabled` attribute:
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
// Option A: Use native disabled (recommended)
|
|
85
|
-
host: {
|
|
86
|
-
'[disabled]': 'disabled()',
|
|
87
|
-
// Remove aria-disabled - native disabled provides it automatically
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Option B: If disabled buttons must remain focusable (rare case)
|
|
91
|
-
host: {
|
|
92
|
-
'[attr.aria-disabled]': 'disabled() || null',
|
|
93
|
-
'(keydown)': 'onKeyDown($event)', // Prevent Enter/Space
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
onKeyDown(event: KeyboardEvent): void {
|
|
97
|
-
if (this.disabled() && (event.key === 'Enter' || event.key === ' ')) {
|
|
98
|
-
event.preventDefault();
|
|
99
|
-
event.stopPropagation();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
**Recommendation:** Use Option A (native disabled). Option B is only needed if there's a specific UX requirement for disabled buttons to remain focusable.
|
|
105
|
-
|
|
106
|
-
#### Files to Update
|
|
107
|
-
|
|
108
|
-
- `libs/ui/src/lib/components/pagination/pagination-previous.ts`
|
|
109
|
-
- `libs/ui/src/lib/components/pagination/pagination-next.ts`
|
|
110
|
-
- `libs/ui/src/lib/components/pagination/pagination-first.ts`
|
|
111
|
-
- `libs/ui/src/lib/components/pagination/pagination-last.ts`
|
|
112
|
-
- `libs/ui/src/lib/components/pagination/pagination-link.ts`
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
### Issue 2: Page Size Select Missing Accessible Label
|
|
117
|
-
|
|
118
|
-
**Severity:** High
|
|
119
|
-
**WCAG:** 1.3.1 Info and Relationships (Level A), 4.1.2 Name, Role, Value (Level A)
|
|
120
|
-
**Effort:** Low
|
|
121
|
-
|
|
122
|
-
#### Problem
|
|
123
|
-
|
|
124
|
-
The page size `<select>` element has no programmatically associated label.
|
|
125
|
-
|
|
126
|
-
**Current implementation:**
|
|
127
|
-
|
|
128
|
-
```html
|
|
129
|
-
<!-- keyboard-navigation-pagination-demo.ts:90-93 -->
|
|
130
|
-
<label class="flex items-center gap-2">
|
|
131
|
-
<span class="text-sm text-muted-foreground">Items per page:</span>
|
|
132
|
-
<sc-pagination-page-size-select />
|
|
133
|
-
</label>
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
// pagination-page-size.ts:19-23
|
|
138
|
-
<select
|
|
139
|
-
[value]="pagination.pageSize()"
|
|
140
|
-
(change)="onPageSizeChange($event)"
|
|
141
|
-
class="..."
|
|
142
|
-
>
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
**What's wrong:**
|
|
146
|
-
|
|
147
|
-
- The `<label>` element doesn't have a `for` attribute
|
|
148
|
-
- The `<select>` doesn't have an `id` attribute
|
|
149
|
-
- They're not programmatically connected
|
|
150
|
-
- Screen readers won't announce "Items per page" when the select is focused
|
|
151
|
-
- Violates WCAG requirement that form inputs have accessible names
|
|
152
|
-
|
|
153
|
-
#### Solution
|
|
154
|
-
|
|
155
|
-
**Option A: Add aria-label to select (simplest)**
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
// pagination-page-size.ts
|
|
159
|
-
<select
|
|
160
|
-
aria-label="Items per page"
|
|
161
|
-
[value]="pagination.pageSize()"
|
|
162
|
-
(change)="onPageSizeChange($event)"
|
|
163
|
-
class="..."
|
|
164
|
-
>
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
**Option B: Add id/for relationship (more semantic)**
|
|
168
|
-
|
|
169
|
-
```typescript
|
|
170
|
-
// pagination-page-size.ts
|
|
171
|
-
export class ScPaginationPageSizeSelect {
|
|
172
|
-
private readonly idGenerator = inject(_IdGenerator);
|
|
173
|
-
protected readonly selectId = computed(() => this.idGenerator.generate('sc-page-size-select-'));
|
|
174
|
-
|
|
175
|
-
// Template:
|
|
176
|
-
<select
|
|
177
|
-
[id]="selectId()"
|
|
178
|
-
[value]="pagination.pageSize()"
|
|
179
|
-
(change)="onPageSizeChange($event)"
|
|
180
|
-
class="..."
|
|
181
|
-
>
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
```html
|
|
185
|
-
<!-- Consumer usage -->
|
|
186
|
-
<label [for]="pageSizeRef.selectId()">Items per page:</label>
|
|
187
|
-
<sc-pagination-page-size-select #pageSizeRef />
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
**Recommendation:** Use Option A (aria-label). It's simpler and doesn't require consumer template changes. Option B is more semantic but requires the consumer to connect the label manually.
|
|
191
|
-
|
|
192
|
-
#### File to Update
|
|
193
|
-
|
|
194
|
-
- `libs/ui/src/lib/components/pagination/pagination-page-size.ts`
|
|
195
|
-
|
|
196
|
-
---
|
|
197
|
-
|
|
198
|
-
### Issue 3: No Live Region for Page Changes
|
|
199
|
-
|
|
200
|
-
**Severity:** Medium
|
|
201
|
-
**WCAG:** 4.1.3 Status Messages (Level AA)
|
|
202
|
-
**Effort:** Low
|
|
203
|
-
|
|
204
|
-
#### Problem
|
|
205
|
-
|
|
206
|
-
When users navigate to a different page, screen reader users receive no feedback that the page has changed.
|
|
207
|
-
|
|
208
|
-
**What's wrong:**
|
|
209
|
-
|
|
210
|
-
- Clicking a page button updates the visual state
|
|
211
|
-
- `aria-current="page"` updates on the new active button
|
|
212
|
-
- BUT screen readers don't announce the change unless the user navigates back to the pagination controls
|
|
213
|
-
- Users don't know if their action succeeded
|
|
214
|
-
- Particularly problematic for dynamic content updates
|
|
215
|
-
|
|
216
|
-
#### Solution
|
|
217
|
-
|
|
218
|
-
Add an `aria-live` region that announces page changes:
|
|
219
|
-
|
|
220
|
-
```typescript
|
|
221
|
-
// pagination.ts
|
|
222
|
-
@Directive({
|
|
223
|
-
selector: 'nav[sc-pagination]',
|
|
224
|
-
host: {
|
|
225
|
-
// ... existing bindings
|
|
226
|
-
},
|
|
227
|
-
template: `
|
|
228
|
-
<div aria-live="polite" aria-atomic="true" class="sr-only">
|
|
229
|
-
Page {{ currentPage() }} of {{ totalPages() }}
|
|
230
|
-
</div>
|
|
231
|
-
`,
|
|
232
|
-
})
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
**However**, `@Directive` doesn't support templates. Solutions:
|
|
236
|
-
|
|
237
|
-
**Option A: Make ScPagination a Component**
|
|
238
|
-
|
|
239
|
-
```typescript
|
|
240
|
-
@Component({
|
|
241
|
-
selector: 'nav[sc-pagination]',
|
|
242
|
-
template: `
|
|
243
|
-
<div aria-live="polite" aria-atomic="true" class="sr-only">
|
|
244
|
-
Page {{ currentPage() }} of {{ totalPages() }}
|
|
245
|
-
</div>
|
|
246
|
-
<ng-content />
|
|
247
|
-
`,
|
|
248
|
-
})
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
**Option B: Consumer adds live region**
|
|
252
|
-
|
|
253
|
-
```html
|
|
254
|
-
<!-- Demo template -->
|
|
255
|
-
<nav sc-pagination #pagination="scPagination" ...>
|
|
256
|
-
<div aria-live="polite" aria-atomic="true" class="sr-only">Page {{ pagination.currentPage() }} of {{ pagination.totalPages() }}</div>
|
|
257
|
-
<!-- ... pagination content ... -->
|
|
258
|
-
</nav>
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
**Option C: Dedicated component**
|
|
262
|
-
|
|
263
|
-
```typescript
|
|
264
|
-
@Component({
|
|
265
|
-
selector: 'sc-pagination-live-region',
|
|
266
|
-
template: `
|
|
267
|
-
<div aria-live="polite" aria-atomic="true" class="sr-only">
|
|
268
|
-
{{ message() }}
|
|
269
|
-
</div>
|
|
270
|
-
`,
|
|
271
|
-
})
|
|
272
|
-
export class ScPaginationLiveRegion {
|
|
273
|
-
private readonly pagination = inject(ScPagination);
|
|
274
|
-
|
|
275
|
-
protected readonly message = computed(() => `Page ${this.pagination.currentPage()} of ${this.pagination.totalPages()}`);
|
|
276
|
-
}
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
**Recommendation:** Use Option C. It's composable, doesn't break existing templates, and keeps the live region logic separate.
|
|
280
|
-
|
|
281
|
-
#### Files to Update
|
|
282
|
-
|
|
283
|
-
- Create: `libs/ui/src/lib/components/pagination/pagination-live-region.ts`
|
|
284
|
-
- Update: `libs/ui/src/lib/components/pagination/index.ts` (export new component)
|
|
285
|
-
- Update: Demo templates to include `<sc-pagination-live-region />`
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
|
-
## 🟡 Enhancement Opportunities (Not Required for WCAG)
|
|
290
|
-
|
|
291
|
-
### Enhancement 1: Arrow Key Navigation
|
|
292
|
-
|
|
293
|
-
**Severity:** Low
|
|
294
|
-
**Standard:** Common UX pattern (not required by WCAG)
|
|
295
|
-
**Effort:** Medium
|
|
296
|
-
|
|
297
|
-
#### Proposal
|
|
298
|
-
|
|
299
|
-
Add ← → arrow key support when focused on pagination buttons.
|
|
300
|
-
|
|
301
|
-
**Expected behavior:**
|
|
302
|
-
|
|
303
|
-
- Focus on any pagination button
|
|
304
|
-
- Press → to go to next page (same as clicking Next)
|
|
305
|
-
- Press ← to go to previous page (same as clicking Previous)
|
|
306
|
-
- Respects disabled states (can't go beyond first/last page)
|
|
307
|
-
|
|
308
|
-
#### Implementation
|
|
309
|
-
|
|
310
|
-
```typescript
|
|
311
|
-
// Add to ScPagination directive
|
|
312
|
-
host: {
|
|
313
|
-
// ... existing
|
|
314
|
-
'(keydown.ArrowLeft)': 'onArrowLeft($event)',
|
|
315
|
-
'(keydown.ArrowRight)': 'onArrowRight($event)',
|
|
316
|
-
'[attr.tabindex]': '0', // Make nav itself focusable
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
onArrowLeft(event: KeyboardEvent): void {
|
|
320
|
-
if (this.currentPage() > 1) {
|
|
321
|
-
event.preventDefault();
|
|
322
|
-
this.goToPage(this.currentPage() - 1);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
onArrowRight(event: KeyboardEvent): void {
|
|
327
|
-
if (this.currentPage() < this.totalPages()) {
|
|
328
|
-
event.preventDefault();
|
|
329
|
-
this.goToPage(this.currentPage() + 1);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
**Alternative:** Only handle arrow keys when focus is on Previous/Next buttons (more conservative).
|
|
335
|
-
|
|
336
|
-
#### Discussion Points
|
|
337
|
-
|
|
338
|
-
- Should arrow keys work when nav is focused, or only when buttons are focused?
|
|
339
|
-
- Should arrow keys skip the button tab order and jump pages directly?
|
|
340
|
-
- Does this conflict with any other keyboard patterns?
|
|
341
|
-
|
|
342
|
-
---
|
|
343
|
-
|
|
344
|
-
### Enhancement 2: Home/End Key Support
|
|
345
|
-
|
|
346
|
-
**Severity:** Low
|
|
347
|
-
**Standard:** Common UX pattern (not required by WCAG)
|
|
348
|
-
**Effort:** Low
|
|
349
|
-
|
|
350
|
-
#### Proposal
|
|
351
|
-
|
|
352
|
-
Add Home/End key support to jump to first/last page.
|
|
353
|
-
|
|
354
|
-
**Expected behavior:**
|
|
355
|
-
|
|
356
|
-
- Focus on pagination
|
|
357
|
-
- Press Home → Go to page 1
|
|
358
|
-
- Press End → Go to last page
|
|
359
|
-
|
|
360
|
-
#### Implementation
|
|
361
|
-
|
|
362
|
-
```typescript
|
|
363
|
-
// Add to ScPagination directive
|
|
364
|
-
host: {
|
|
365
|
-
// ... existing
|
|
366
|
-
'(keydown.Home)': 'onHome($event)',
|
|
367
|
-
'(keydown.End)': 'onEnd($event)',
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
onHome(event: KeyboardEvent): void {
|
|
371
|
-
event.preventDefault();
|
|
372
|
-
this.goToPage(1);
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
onEnd(event: KeyboardEvent): void {
|
|
376
|
-
event.preventDefault();
|
|
377
|
-
this.goToPage(this.totalPages());
|
|
378
|
-
}
|
|
379
|
-
```
|
|
380
|
-
|
|
381
|
-
---
|
|
382
|
-
|
|
383
|
-
### Enhancement 3: Focus Management After Page Change
|
|
384
|
-
|
|
385
|
-
**Severity:** Low
|
|
386
|
-
**Standard:** Best practice (not required by WCAG)
|
|
387
|
-
**Effort:** Medium
|
|
388
|
-
|
|
389
|
-
#### Current Behavior
|
|
390
|
-
|
|
391
|
-
When a user clicks a page button, the page changes but focus behavior is unclear.
|
|
392
|
-
|
|
393
|
-
#### Proposal Options
|
|
394
|
-
|
|
395
|
-
**Option A: Keep focus on the same button**
|
|
396
|
-
|
|
397
|
-
- If user clicks "Next", focus stays on "Next" button after page change
|
|
398
|
-
- Pros: Predictable, easy to navigate through pages quickly
|
|
399
|
-
- Cons: If Next button becomes disabled (last page), focus is lost
|
|
400
|
-
|
|
401
|
-
**Option B: Move focus to the new active page link**
|
|
402
|
-
|
|
403
|
-
- If user clicks "Next" from page 2→3, focus moves to the "3" button
|
|
404
|
-
- Pros: Announces current page, clear state
|
|
405
|
-
- Cons: Harder to navigate quickly through pages
|
|
406
|
-
|
|
407
|
-
**Option C: Move focus to content area**
|
|
408
|
-
|
|
409
|
-
- After page change, focus moves to `#content` or first heading
|
|
410
|
-
- Pros: Screen reader users can immediately read new content
|
|
411
|
-
- Cons: Requires consumer to mark content area, harder to navigate back
|
|
412
|
-
|
|
413
|
-
**Recommendation:** Option A for keyboard navigation. Let browser handle focus naturally. If a button becomes disabled, browser will move focus to the next focusable element.
|
|
414
|
-
|
|
415
|
-
---
|
|
416
|
-
|
|
417
|
-
## 📋 Implementation Checklist
|
|
418
|
-
|
|
419
|
-
### Phase 1: Critical Fixes (Required for WCAG AA)
|
|
420
|
-
|
|
421
|
-
- [ ] **Issue 1:** Replace `aria-disabled` with native `disabled` attribute
|
|
422
|
-
- [ ] Update `pagination-previous.ts`
|
|
423
|
-
- [ ] Update `pagination-next.ts`
|
|
424
|
-
- [ ] Update `pagination-first.ts`
|
|
425
|
-
- [ ] Update `pagination-last.ts`
|
|
426
|
-
- [ ] Update `pagination-link.ts`
|
|
427
|
-
- [ ] Update e2e tests (disabled buttons should not be focusable)
|
|
428
|
-
|
|
429
|
-
- [ ] **Issue 2:** Add accessible label to page size select
|
|
430
|
-
- [ ] Update `pagination-page-size.ts` with `aria-label`
|
|
431
|
-
- [ ] Update demo templates if needed
|
|
432
|
-
- [ ] Add e2e test for aria-label
|
|
433
|
-
|
|
434
|
-
- [ ] **Issue 3:** Add live region for page changes
|
|
435
|
-
- [ ] Create `pagination-live-region.ts` component
|
|
436
|
-
- [ ] Export from `index.ts`
|
|
437
|
-
- [ ] Update demo templates to include live region
|
|
438
|
-
- [ ] Add e2e test for live region announcements
|
|
439
|
-
|
|
440
|
-
### Phase 2: Enhancements (Optional)
|
|
441
|
-
|
|
442
|
-
- [ ] **Enhancement 1:** Arrow key navigation
|
|
443
|
-
- [ ] Implement ← → handlers
|
|
444
|
-
- [ ] Add e2e tests
|
|
445
|
-
- [ ] Update keyboard navigation demo
|
|
446
|
-
|
|
447
|
-
- [ ] **Enhancement 2:** Home/End key support
|
|
448
|
-
- [ ] Implement Home/End handlers
|
|
449
|
-
- [ ] Add e2e tests
|
|
450
|
-
- [ ] Update keyboard navigation demo
|
|
451
|
-
|
|
452
|
-
- [ ] **Enhancement 3:** Focus management
|
|
453
|
-
- [ ] Decide on focus strategy
|
|
454
|
-
- [ ] Implement focus management
|
|
455
|
-
- [ ] Add e2e tests
|
|
456
|
-
|
|
457
|
-
---
|
|
458
|
-
|
|
459
|
-
## Testing Strategy
|
|
460
|
-
|
|
461
|
-
### Automated Tests (Playwright)
|
|
462
|
-
|
|
463
|
-
- [ ] Test that disabled buttons are not focusable via Tab
|
|
464
|
-
- [ ] Test that disabled buttons cannot be activated with Enter/Space
|
|
465
|
-
- [ ] Test that page size select has accessible name (via aria-label or label[for])
|
|
466
|
-
- [ ] Test that live region updates when page changes
|
|
467
|
-
- [ ] Test arrow key navigation (if implemented)
|
|
468
|
-
- [ ] Test Home/End keys (if implemented)
|
|
469
|
-
|
|
470
|
-
### Manual Tests (Screen Reader)
|
|
471
|
-
|
|
472
|
-
- [ ] NVDA (Windows) + Firefox
|
|
473
|
-
- [ ] JAWS (Windows) + Chrome
|
|
474
|
-
- [ ] VoiceOver (macOS) + Safari
|
|
475
|
-
- [ ] TalkBack (Android) + Chrome
|
|
476
|
-
|
|
477
|
-
**Test scenarios:**
|
|
478
|
-
|
|
479
|
-
1. Navigate pagination with Tab key
|
|
480
|
-
2. Activate buttons with Enter and Space
|
|
481
|
-
3. Verify disabled buttons are skipped
|
|
482
|
-
4. Verify page changes are announced
|
|
483
|
-
5. Verify page size select is properly labeled
|
|
484
|
-
6. Navigate page size options with arrow keys
|
|
485
|
-
|
|
486
|
-
### Axe DevTools
|
|
487
|
-
|
|
488
|
-
- [ ] Run axe on all pagination demos
|
|
489
|
-
- [ ] Verify no violations
|
|
490
|
-
- [ ] Document any intentional warnings/incomplete findings
|
|
491
|
-
|
|
492
|
-
---
|
|
493
|
-
|
|
494
|
-
## Open Questions
|
|
495
|
-
|
|
496
|
-
1. **Disabled button behavior:** Should disabled buttons be completely unfocusable (native `disabled`), or should they remain focusable for screen reader discovery?
|
|
497
|
-
- **Recommendation:** Unfocusable (native disabled). This is standard web behavior.
|
|
498
|
-
|
|
499
|
-
2. **Live region verbosity:** Should the live region announce "Page 3 of 10" or just "Page 3"?
|
|
500
|
-
- **Recommendation:** Include "of {total}" for context.
|
|
501
|
-
|
|
502
|
-
3. **Arrow key scope:** Should arrow keys work when the `<nav>` itself is focused, or only when individual buttons are focused?
|
|
503
|
-
- **Recommendation:** Only when nav or buttons are focused, not globally.
|
|
504
|
-
|
|
505
|
-
4. **Page size label:** Should the label be built into the component or left to consumers?
|
|
506
|
-
- **Recommendation:** Built-in `aria-label` for simplicity. Consumers can override if needed.
|
|
507
|
-
|
|
508
|
-
5. **First/Last buttons:** Are these always needed, or should they be optional?
|
|
509
|
-
- **Current:** Optional (consumer includes them in template).
|
|
510
|
-
- **Recommendation:** Keep optional. Small datasets don't need them.
|
|
511
|
-
|
|
512
|
-
---
|
|
513
|
-
|
|
514
|
-
## References
|
|
515
|
-
|
|
516
|
-
- [WCAG 2.1.1 Keyboard](https://www.w3.org/WAI/WCAG21/Understanding/keyboard.html)
|
|
517
|
-
- [WCAG 1.3.1 Info and Relationships](https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships.html)
|
|
518
|
-
- [WCAG 4.1.2 Name, Role, Value](https://www.w3.org/WAI/WCAG21/Understanding/name-role-value.html)
|
|
519
|
-
- [WCAG 4.1.3 Status Messages](https://www.w3.org/WAI/WCAG21/Understanding/status-messages.html)
|
|
520
|
-
- [ARIA: button role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/button_role)
|
|
521
|
-
- [ARIA: navigation role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/navigation_role)
|
|
522
|
-
- [Using aria-live](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions)
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
|
|
526
|
-
## Revision History
|
|
527
|
-
|
|
528
|
-
| Date | Author | Changes |
|
|
529
|
-
| ---------- | ------ | ---------------------------- |
|
|
530
|
-
| 2026-02-12 | Claude | Initial accessibility review |
|