@chenzy-design/svelte 0.1.0 → 0.2.1
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/README.md +66 -0
- package/dist/badge/Badge.svelte +5 -2
- package/dist/badge/Badge.svelte.d.ts.map +1 -1
- package/dist/components.json +1 -1
- package/package.json +9 -9
- package/dist/anchor/Anchor.a11y.test.d.ts +0 -2
- package/dist/anchor/Anchor.a11y.test.d.ts.map +0 -1
- package/dist/anchor/Anchor.a11y.test.js +0 -44
- package/dist/anchor/Anchor.kbd.test.d.ts +0 -2
- package/dist/anchor/Anchor.kbd.test.d.ts.map +0 -1
- package/dist/anchor/Anchor.kbd.test.js +0 -59
- package/dist/anchor/AnchorKbdFixture.svelte +0 -24
- package/dist/anchor/AnchorKbdFixture.svelte.d.ts +0 -19
- package/dist/anchor/AnchorKbdFixture.svelte.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.a11y.test.d.ts +0 -2
- package/dist/autocomplete/AutoComplete.a11y.test.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.a11y.test.js +0 -45
- package/dist/autocomplete/AutoComplete.kbd.test.d.ts +0 -2
- package/dist/autocomplete/AutoComplete.kbd.test.d.ts.map +0 -1
- package/dist/autocomplete/AutoComplete.kbd.test.js +0 -60
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts +0 -4
- package/dist/autocomplete/AutoCompleteKbdFixture.svelte.d.ts.map +0 -1
- package/dist/avatar/Avatar.a11y.test.d.ts +0 -2
- package/dist/avatar/Avatar.a11y.test.d.ts.map +0 -1
- package/dist/avatar/Avatar.a11y.test.js +0 -34
- package/dist/back-top/BackTop.a11y.test.d.ts +0 -2
- package/dist/back-top/BackTop.a11y.test.d.ts.map +0 -1
- package/dist/back-top/BackTop.a11y.test.js +0 -37
- package/dist/badge/Badge.a11y.test.d.ts +0 -2
- package/dist/badge/Badge.a11y.test.d.ts.map +0 -1
- package/dist/badge/Badge.a11y.test.js +0 -32
- package/dist/badge/BadgeA11yFixture.svelte +0 -18
- package/dist/badge/BadgeA11yFixture.svelte.d.ts +0 -7
- package/dist/badge/BadgeA11yFixture.svelte.d.ts.map +0 -1
- package/dist/banner/Banner.a11y.test.d.ts +0 -2
- package/dist/banner/Banner.a11y.test.d.ts.map +0 -1
- package/dist/banner/Banner.a11y.test.js +0 -43
- package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts +0 -2
- package/dist/breadcrumb/Breadcrumb.a11y.test.d.ts.map +0 -1
- package/dist/breadcrumb/Breadcrumb.a11y.test.js +0 -31
- package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts +0 -2
- package/dist/breadcrumb/Breadcrumb.kbd.test.d.ts.map +0 -1
- package/dist/breadcrumb/Breadcrumb.kbd.test.js +0 -37
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts +0 -19
- package/dist/breadcrumb/BreadcrumbKbdFixture.svelte.d.ts.map +0 -1
- package/dist/button/Button.a11y.test.d.ts +0 -2
- package/dist/button/Button.a11y.test.d.ts.map +0 -1
- package/dist/button/Button.a11y.test.js +0 -49
- package/dist/calendar/Calendar.a11y.test.d.ts +0 -2
- package/dist/calendar/Calendar.a11y.test.d.ts.map +0 -1
- package/dist/calendar/Calendar.a11y.test.js +0 -46
- package/dist/calendar/Calendar.kbd.test.d.ts +0 -2
- package/dist/calendar/Calendar.kbd.test.d.ts.map +0 -1
- package/dist/calendar/Calendar.kbd.test.js +0 -50
- package/dist/calendar/CalendarKbdFixture.svelte +0 -23
- package/dist/calendar/CalendarKbdFixture.svelte.d.ts +0 -19
- package/dist/calendar/CalendarKbdFixture.svelte.d.ts.map +0 -1
- package/dist/card/Card.a11y.test.d.ts +0 -2
- package/dist/card/Card.a11y.test.d.ts.map +0 -1
- package/dist/card/Card.a11y.test.js +0 -35
- package/dist/carousel/Carousel.a11y.test.d.ts +0 -2
- package/dist/carousel/Carousel.a11y.test.d.ts.map +0 -1
- package/dist/carousel/Carousel.a11y.test.js +0 -43
- package/dist/carousel/Carousel.kbd.test.d.ts +0 -2
- package/dist/carousel/Carousel.kbd.test.d.ts.map +0 -1
- package/dist/carousel/Carousel.kbd.test.js +0 -51
- package/dist/carousel/CarouselA11yFixture.svelte +0 -25
- package/dist/carousel/CarouselA11yFixture.svelte.d.ts +0 -8
- package/dist/carousel/CarouselA11yFixture.svelte.d.ts.map +0 -1
- package/dist/carousel/CarouselKbdFixture.svelte +0 -24
- package/dist/carousel/CarouselKbdFixture.svelte.d.ts +0 -19
- package/dist/carousel/CarouselKbdFixture.svelte.d.ts.map +0 -1
- package/dist/cascader/Cascader.a11y.test.d.ts +0 -2
- package/dist/cascader/Cascader.a11y.test.d.ts.map +0 -1
- package/dist/cascader/Cascader.a11y.test.js +0 -55
- package/dist/cascader/Cascader.kbd.test.d.ts +0 -2
- package/dist/cascader/Cascader.kbd.test.d.ts.map +0 -1
- package/dist/cascader/Cascader.kbd.test.js +0 -47
- package/dist/cascader/CascaderKbdFixture.svelte +0 -31
- package/dist/cascader/CascaderKbdFixture.svelte.d.ts +0 -19
- package/dist/cascader/CascaderKbdFixture.svelte.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.a11y.test.d.ts +0 -2
- package/dist/checkbox/CheckboxGroup.a11y.test.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.a11y.test.js +0 -38
- package/dist/checkbox/CheckboxGroup.kbd.test.d.ts +0 -2
- package/dist/checkbox/CheckboxGroup.kbd.test.d.ts.map +0 -1
- package/dist/checkbox/CheckboxGroup.kbd.test.js +0 -33
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts +0 -19
- package/dist/checkbox/CheckboxGroupKbdFixture.svelte.d.ts.map +0 -1
- package/dist/collapse/Collapse.a11y.test.d.ts +0 -2
- package/dist/collapse/Collapse.a11y.test.d.ts.map +0 -1
- package/dist/collapse/Collapse.a11y.test.js +0 -46
- package/dist/collapse/Collapse.kbd.test.d.ts +0 -2
- package/dist/collapse/Collapse.kbd.test.d.ts.map +0 -1
- package/dist/collapse/Collapse.kbd.test.js +0 -70
- package/dist/collapse/CollapseA11yFixture.svelte +0 -27
- package/dist/collapse/CollapseA11yFixture.svelte.d.ts +0 -9
- package/dist/collapse/CollapseA11yFixture.svelte.d.ts.map +0 -1
- package/dist/collapse/CollapseKbdFixture.svelte +0 -25
- package/dist/collapse/CollapseKbdFixture.svelte.d.ts +0 -19
- package/dist/collapse/CollapseKbdFixture.svelte.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.a11y.test.d.ts +0 -2
- package/dist/color-picker/ColorPicker.a11y.test.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.a11y.test.js +0 -54
- package/dist/color-picker/ColorPicker.kbd.test.d.ts +0 -2
- package/dist/color-picker/ColorPicker.kbd.test.d.ts.map +0 -1
- package/dist/color-picker/ColorPicker.kbd.test.js +0 -59
- package/dist/color-picker/ColorPickerKbdFixture.svelte +0 -25
- package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts +0 -4
- package/dist/color-picker/ColorPickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.a11y.test.d.ts +0 -2
- package/dist/date-picker/DatePicker.a11y.test.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.a11y.test.js +0 -42
- package/dist/date-picker/DatePicker.kbd.test.d.ts +0 -2
- package/dist/date-picker/DatePicker.kbd.test.d.ts.map +0 -1
- package/dist/date-picker/DatePicker.kbd.test.js +0 -59
- package/dist/date-picker/DatePickerKbdFixture.svelte +0 -26
- package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts +0 -4
- package/dist/date-picker/DatePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/date-picker/RangePicker.kbd.test.d.ts +0 -2
- package/dist/date-picker/RangePicker.kbd.test.d.ts.map +0 -1
- package/dist/date-picker/RangePicker.kbd.test.js +0 -60
- package/dist/date-picker/RangePickerKbdFixture.svelte +0 -30
- package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts +0 -7
- package/dist/date-picker/RangePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/descriptions/Descriptions.a11y.test.d.ts +0 -2
- package/dist/descriptions/Descriptions.a11y.test.d.ts.map +0 -1
- package/dist/descriptions/Descriptions.a11y.test.js +0 -31
- package/dist/divider/Divider.a11y.test.d.ts +0 -2
- package/dist/divider/Divider.a11y.test.d.ts.map +0 -1
- package/dist/divider/Divider.a11y.test.js +0 -21
- package/dist/drawer/Drawer.a11y.test.d.ts +0 -2
- package/dist/drawer/Drawer.a11y.test.d.ts.map +0 -1
- package/dist/drawer/Drawer.a11y.test.js +0 -33
- package/dist/drawer/Drawer.kbd.test.d.ts +0 -2
- package/dist/drawer/Drawer.kbd.test.d.ts.map +0 -1
- package/dist/drawer/Drawer.kbd.test.js +0 -53
- package/dist/drawer/DrawerKbdFixture.svelte +0 -28
- package/dist/drawer/DrawerKbdFixture.svelte.d.ts +0 -4
- package/dist/drawer/DrawerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.a11y.test.d.ts +0 -2
- package/dist/dropdown/Dropdown.a11y.test.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.a11y.test.js +0 -39
- package/dist/dropdown/Dropdown.kbd.test.d.ts +0 -2
- package/dist/dropdown/Dropdown.kbd.test.d.ts.map +0 -1
- package/dist/dropdown/Dropdown.kbd.test.js +0 -47
- package/dist/dropdown/DropdownA11yFixture.svelte +0 -24
- package/dist/dropdown/DropdownA11yFixture.svelte.d.ts +0 -11
- package/dist/dropdown/DropdownA11yFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/DropdownKbdFixture.svelte +0 -26
- package/dist/dropdown/DropdownKbdFixture.svelte.d.ts +0 -19
- package/dist/dropdown/DropdownKbdFixture.svelte.d.ts.map +0 -1
- package/dist/dropdown/types.test.d.ts +0 -2
- package/dist/dropdown/types.test.d.ts.map +0 -1
- package/dist/dropdown/types.test.js +0 -40
- package/dist/empty/Empty.a11y.test.d.ts +0 -2
- package/dist/empty/Empty.a11y.test.d.ts.map +0 -1
- package/dist/empty/Empty.a11y.test.js +0 -22
- package/dist/form/Form.a11y.test.d.ts +0 -2
- package/dist/form/Form.a11y.test.d.ts.map +0 -1
- package/dist/form/Form.a11y.test.js +0 -36
- package/dist/form/FormA11yFixture.svelte +0 -31
- package/dist/form/FormA11yFixture.svelte.d.ts +0 -19
- package/dist/form/FormA11yFixture.svelte.d.ts.map +0 -1
- package/dist/grid/Grid.a11y.test.d.ts +0 -2
- package/dist/grid/Grid.a11y.test.d.ts.map +0 -1
- package/dist/grid/Grid.a11y.test.js +0 -13
- package/dist/grid/GridA11yFixture.svelte +0 -12
- package/dist/grid/GridA11yFixture.svelte.d.ts +0 -19
- package/dist/grid/GridA11yFixture.svelte.d.ts.map +0 -1
- package/dist/highlight/Highlight.a11y.test.d.ts +0 -2
- package/dist/highlight/Highlight.a11y.test.d.ts.map +0 -1
- package/dist/highlight/Highlight.a11y.test.js +0 -23
- package/dist/image/Image.a11y.test.d.ts +0 -2
- package/dist/image/Image.a11y.test.d.ts.map +0 -1
- package/dist/image/Image.a11y.test.js +0 -27
- package/dist/image/ImagePreview.kbd.test.d.ts +0 -2
- package/dist/image/ImagePreview.kbd.test.d.ts.map +0 -1
- package/dist/image/ImagePreview.kbd.test.js +0 -44
- package/dist/image/ImagePreviewKbdFixture.svelte +0 -32
- package/dist/image/ImagePreviewKbdFixture.svelte.d.ts +0 -4
- package/dist/image/ImagePreviewKbdFixture.svelte.d.ts.map +0 -1
- package/dist/input/Input.a11y.test.d.ts +0 -2
- package/dist/input/Input.a11y.test.d.ts.map +0 -1
- package/dist/input/Input.a11y.test.js +0 -53
- package/dist/input-number/InputNumber.a11y.test.d.ts +0 -2
- package/dist/input-number/InputNumber.a11y.test.d.ts.map +0 -1
- package/dist/input-number/InputNumber.a11y.test.js +0 -40
- package/dist/input-number/InputNumber.kbd.test.d.ts +0 -2
- package/dist/input-number/InputNumber.kbd.test.d.ts.map +0 -1
- package/dist/input-number/InputNumber.kbd.test.js +0 -35
- package/dist/input-number/InputNumberKbdFixture.svelte +0 -15
- package/dist/input-number/InputNumberKbdFixture.svelte.d.ts +0 -19
- package/dist/input-number/InputNumberKbdFixture.svelte.d.ts.map +0 -1
- package/dist/layout/Layout.a11y.test.d.ts +0 -2
- package/dist/layout/Layout.a11y.test.d.ts.map +0 -1
- package/dist/layout/Layout.a11y.test.js +0 -32
- package/dist/layout/LayoutA11yFixture.svelte +0 -21
- package/dist/layout/LayoutA11yFixture.svelte.d.ts +0 -7
- package/dist/layout/LayoutA11yFixture.svelte.d.ts.map +0 -1
- package/dist/list/List.a11y.test.d.ts +0 -2
- package/dist/list/List.a11y.test.d.ts.map +0 -1
- package/dist/list/List.a11y.test.js +0 -62
- package/dist/list/List.bench.d.ts +0 -2
- package/dist/list/List.bench.d.ts.map +0 -1
- package/dist/list/List.bench.js +0 -16
- package/dist/list/List.kbd.test.d.ts +0 -2
- package/dist/list/List.kbd.test.d.ts.map +0 -1
- package/dist/list/List.kbd.test.js +0 -60
- package/dist/list/ListA11yFixture.svelte +0 -38
- package/dist/list/ListA11yFixture.svelte.d.ts +0 -10
- package/dist/list/ListA11yFixture.svelte.d.ts.map +0 -1
- package/dist/list/ListBenchFixture.svelte +0 -22
- package/dist/list/ListBenchFixture.svelte.d.ts +0 -7
- package/dist/list/ListBenchFixture.svelte.d.ts.map +0 -1
- package/dist/list/ListKbdFixture.svelte +0 -31
- package/dist/list/ListKbdFixture.svelte.d.ts +0 -19
- package/dist/list/ListKbdFixture.svelte.d.ts.map +0 -1
- package/dist/menu/Menu.a11y.test.d.ts +0 -2
- package/dist/menu/Menu.a11y.test.d.ts.map +0 -1
- package/dist/menu/Menu.a11y.test.js +0 -49
- package/dist/menu/Menu.kbd.test.d.ts +0 -2
- package/dist/menu/Menu.kbd.test.d.ts.map +0 -1
- package/dist/menu/Menu.kbd.test.js +0 -56
- package/dist/menu/MenuKbdFixture.svelte +0 -22
- package/dist/menu/MenuKbdFixture.svelte.d.ts +0 -19
- package/dist/menu/MenuKbdFixture.svelte.d.ts.map +0 -1
- package/dist/meta.test.d.ts +0 -2
- package/dist/meta.test.d.ts.map +0 -1
- package/dist/meta.test.js +0 -164
- package/dist/modal/Modal.a11y.test.d.ts +0 -2
- package/dist/modal/Modal.a11y.test.d.ts.map +0 -1
- package/dist/modal/Modal.a11y.test.js +0 -38
- package/dist/modal/Modal.kbd.test.d.ts +0 -2
- package/dist/modal/Modal.kbd.test.d.ts.map +0 -1
- package/dist/modal/Modal.kbd.test.js +0 -52
- package/dist/modal/ModalKbdFixture.svelte +0 -24
- package/dist/modal/ModalKbdFixture.svelte.d.ts +0 -4
- package/dist/modal/ModalKbdFixture.svelte.d.ts.map +0 -1
- package/dist/notification/NotificationItem.a11y.test.d.ts +0 -2
- package/dist/notification/NotificationItem.a11y.test.d.ts.map +0 -1
- package/dist/notification/NotificationItem.a11y.test.js +0 -64
- package/dist/overflow-list/OverflowList.a11y.test.d.ts +0 -2
- package/dist/overflow-list/OverflowList.a11y.test.d.ts.map +0 -1
- package/dist/overflow-list/OverflowList.a11y.test.js +0 -41
- package/dist/overflow-list/OverflowList.kbd.test.d.ts +0 -2
- package/dist/overflow-list/OverflowList.kbd.test.d.ts.map +0 -1
- package/dist/overflow-list/OverflowList.kbd.test.js +0 -28
- package/dist/overflow-list/OverflowListA11yFixture.svelte +0 -22
- package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts +0 -8
- package/dist/overflow-list/OverflowListA11yFixture.svelte.d.ts.map +0 -1
- package/dist/overflow-list/OverflowListKbdFixture.svelte +0 -21
- package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts +0 -19
- package/dist/overflow-list/OverflowListKbdFixture.svelte.d.ts.map +0 -1
- package/dist/pagination/Pagination.a11y.test.d.ts +0 -2
- package/dist/pagination/Pagination.a11y.test.d.ts.map +0 -1
- package/dist/pagination/Pagination.a11y.test.js +0 -57
- package/dist/pagination/Pagination.kbd.test.d.ts +0 -2
- package/dist/pagination/Pagination.kbd.test.d.ts.map +0 -1
- package/dist/pagination/Pagination.kbd.test.js +0 -54
- package/dist/pagination/PaginationKbdFixture.svelte +0 -15
- package/dist/pagination/PaginationKbdFixture.svelte.d.ts +0 -19
- package/dist/pagination/PaginationKbdFixture.svelte.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.a11y.test.d.ts +0 -2
- package/dist/popconfirm/Popconfirm.a11y.test.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.a11y.test.js +0 -37
- package/dist/popconfirm/Popconfirm.kbd.test.d.ts +0 -2
- package/dist/popconfirm/Popconfirm.kbd.test.d.ts.map +0 -1
- package/dist/popconfirm/Popconfirm.kbd.test.js +0 -36
- package/dist/popconfirm/PopconfirmA11yFixture.svelte +0 -34
- package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts +0 -11
- package/dist/popconfirm/PopconfirmA11yFixture.svelte.d.ts.map +0 -1
- package/dist/popconfirm/PopconfirmKbdFixture.svelte +0 -17
- package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts +0 -19
- package/dist/popconfirm/PopconfirmKbdFixture.svelte.d.ts.map +0 -1
- package/dist/popover/Popover.a11y.test.d.ts +0 -2
- package/dist/popover/Popover.a11y.test.d.ts.map +0 -1
- package/dist/popover/Popover.a11y.test.js +0 -47
- package/dist/popover/Popover.kbd.test.d.ts +0 -2
- package/dist/popover/Popover.kbd.test.d.ts.map +0 -1
- package/dist/popover/Popover.kbd.test.js +0 -36
- package/dist/popover/PopoverA11yFixture.svelte +0 -35
- package/dist/popover/PopoverA11yFixture.svelte.d.ts +0 -11
- package/dist/popover/PopoverA11yFixture.svelte.d.ts.map +0 -1
- package/dist/popover/PopoverKbdFixture.svelte +0 -18
- package/dist/popover/PopoverKbdFixture.svelte.d.ts +0 -19
- package/dist/popover/PopoverKbdFixture.svelte.d.ts.map +0 -1
- package/dist/progress/Progress.a11y.test.d.ts +0 -2
- package/dist/progress/Progress.a11y.test.d.ts.map +0 -1
- package/dist/progress/Progress.a11y.test.js +0 -34
- package/dist/radio/RadioGroup.a11y.test.d.ts +0 -2
- package/dist/radio/RadioGroup.a11y.test.d.ts.map +0 -1
- package/dist/radio/RadioGroup.a11y.test.js +0 -38
- package/dist/radio/RadioGroup.kbd.test.d.ts +0 -2
- package/dist/radio/RadioGroup.kbd.test.d.ts.map +0 -1
- package/dist/radio/RadioGroup.kbd.test.js +0 -59
- package/dist/radio/RadioGroupKbdFixture.svelte +0 -21
- package/dist/radio/RadioGroupKbdFixture.svelte.d.ts +0 -19
- package/dist/radio/RadioGroupKbdFixture.svelte.d.ts.map +0 -1
- package/dist/rating/Rating.a11y.test.d.ts +0 -2
- package/dist/rating/Rating.a11y.test.d.ts.map +0 -1
- package/dist/rating/Rating.a11y.test.js +0 -38
- package/dist/rating/Rating.kbd.test.d.ts +0 -2
- package/dist/rating/Rating.kbd.test.d.ts.map +0 -1
- package/dist/rating/Rating.kbd.test.js +0 -41
- package/dist/rating/RatingKbdFixture.svelte +0 -15
- package/dist/rating/RatingKbdFixture.svelte.d.ts +0 -19
- package/dist/rating/RatingKbdFixture.svelte.d.ts.map +0 -1
- package/dist/select/Select.a11y.test.d.ts +0 -2
- package/dist/select/Select.a11y.test.d.ts.map +0 -1
- package/dist/select/Select.a11y.test.js +0 -53
- package/dist/select/Select.kbd.test.d.ts +0 -2
- package/dist/select/Select.kbd.test.d.ts.map +0 -1
- package/dist/select/Select.kbd.test.js +0 -47
- package/dist/select/SelectKbdFixture.svelte +0 -29
- package/dist/select/SelectKbdFixture.svelte.d.ts +0 -4
- package/dist/select/SelectKbdFixture.svelte.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.a11y.test.d.ts +0 -2
- package/dist/side-sheet/SideSheet.a11y.test.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.a11y.test.js +0 -46
- package/dist/side-sheet/SideSheet.kbd.test.d.ts +0 -2
- package/dist/side-sheet/SideSheet.kbd.test.d.ts.map +0 -1
- package/dist/side-sheet/SideSheet.kbd.test.js +0 -49
- package/dist/side-sheet/SideSheetKbdFixture.svelte +0 -30
- package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts +0 -4
- package/dist/side-sheet/SideSheetKbdFixture.svelte.d.ts.map +0 -1
- package/dist/skeleton/Skeleton.a11y.test.d.ts +0 -2
- package/dist/skeleton/Skeleton.a11y.test.d.ts.map +0 -1
- package/dist/skeleton/Skeleton.a11y.test.js +0 -32
- package/dist/slider/Slider.a11y.test.d.ts +0 -2
- package/dist/slider/Slider.a11y.test.d.ts.map +0 -1
- package/dist/slider/Slider.a11y.test.js +0 -40
- package/dist/slider/Slider.kbd.test.d.ts +0 -2
- package/dist/slider/Slider.kbd.test.d.ts.map +0 -1
- package/dist/slider/Slider.kbd.test.js +0 -63
- package/dist/slider/SliderKbdFixture.svelte +0 -21
- package/dist/slider/SliderKbdFixture.svelte.d.ts +0 -19
- package/dist/slider/SliderKbdFixture.svelte.d.ts.map +0 -1
- package/dist/space/Space.a11y.test.d.ts +0 -2
- package/dist/space/Space.a11y.test.d.ts.map +0 -1
- package/dist/space/Space.a11y.test.js +0 -20
- package/dist/space/SpaceA11yFixture.svelte +0 -17
- package/dist/space/SpaceA11yFixture.svelte.d.ts +0 -7
- package/dist/space/SpaceA11yFixture.svelte.d.ts.map +0 -1
- package/dist/spin/Spin.a11y.test.d.ts +0 -2
- package/dist/spin/Spin.a11y.test.d.ts.map +0 -1
- package/dist/spin/Spin.a11y.test.js +0 -27
- package/dist/spin/SpinA11yFixture.svelte +0 -18
- package/dist/spin/SpinA11yFixture.svelte.d.ts +0 -7
- package/dist/spin/SpinA11yFixture.svelte.d.ts.map +0 -1
- package/dist/steps/Steps.a11y.test.d.ts +0 -2
- package/dist/steps/Steps.a11y.test.d.ts.map +0 -1
- package/dist/steps/Steps.a11y.test.js +0 -35
- package/dist/steps/Steps.kbd.test.d.ts +0 -2
- package/dist/steps/Steps.kbd.test.d.ts.map +0 -1
- package/dist/steps/Steps.kbd.test.js +0 -59
- package/dist/steps/StepsKbdFixture.svelte +0 -21
- package/dist/steps/StepsKbdFixture.svelte.d.ts +0 -19
- package/dist/steps/StepsKbdFixture.svelte.d.ts.map +0 -1
- package/dist/switch/Switch.a11y.test.d.ts +0 -2
- package/dist/switch/Switch.a11y.test.d.ts.map +0 -1
- package/dist/switch/Switch.a11y.test.js +0 -42
- package/dist/switch/Switch.kbd.test.d.ts +0 -2
- package/dist/switch/Switch.kbd.test.d.ts.map +0 -1
- package/dist/switch/Switch.kbd.test.js +0 -34
- package/dist/switch/SwitchKbdFixture.svelte +0 -22
- package/dist/switch/SwitchKbdFixture.svelte.d.ts +0 -4
- package/dist/switch/SwitchKbdFixture.svelte.d.ts.map +0 -1
- package/dist/table/Table.a11y.test.d.ts +0 -2
- package/dist/table/Table.a11y.test.d.ts.map +0 -1
- package/dist/table/Table.a11y.test.js +0 -59
- package/dist/table/Table.bench.d.ts +0 -2
- package/dist/table/Table.bench.d.ts.map +0 -1
- package/dist/table/Table.bench.js +0 -31
- package/dist/table/Table.kbd.test.d.ts +0 -2
- package/dist/table/Table.kbd.test.d.ts.map +0 -1
- package/dist/table/Table.kbd.test.js +0 -74
- package/dist/table/TableKbdFixture.svelte +0 -35
- package/dist/table/TableKbdFixture.svelte.d.ts +0 -19
- package/dist/table/TableKbdFixture.svelte.d.ts.map +0 -1
- package/dist/table/grid-nav.test.d.ts +0 -2
- package/dist/table/grid-nav.test.d.ts.map +0 -1
- package/dist/table/grid-nav.test.js +0 -133
- package/dist/tabs/Tabs.a11y.test.d.ts +0 -2
- package/dist/tabs/Tabs.a11y.test.d.ts.map +0 -1
- package/dist/tabs/Tabs.a11y.test.js +0 -43
- package/dist/tabs/Tabs.kbd.test.d.ts +0 -2
- package/dist/tabs/Tabs.kbd.test.d.ts.map +0 -1
- package/dist/tabs/Tabs.kbd.test.js +0 -63
- package/dist/tabs/TabsA11yFixture.svelte +0 -20
- package/dist/tabs/TabsA11yFixture.svelte.d.ts +0 -8
- package/dist/tabs/TabsA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tabs/TabsKbdFixture.svelte +0 -25
- package/dist/tabs/TabsKbdFixture.svelte.d.ts +0 -7
- package/dist/tabs/TabsKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tag/Tag.a11y.test.d.ts +0 -2
- package/dist/tag/Tag.a11y.test.d.ts.map +0 -1
- package/dist/tag/Tag.a11y.test.js +0 -30
- package/dist/tag/TagA11yFixture.svelte +0 -18
- package/dist/tag/TagA11yFixture.svelte.d.ts +0 -8
- package/dist/tag/TagA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tag-input/TagInput.a11y.test.d.ts +0 -2
- package/dist/tag-input/TagInput.a11y.test.d.ts.map +0 -1
- package/dist/tag-input/TagInput.a11y.test.js +0 -38
- package/dist/tag-input/reorder.test.d.ts +0 -2
- package/dist/tag-input/reorder.test.d.ts.map +0 -1
- package/dist/tag-input/reorder.test.js +0 -48
- package/dist/test-utils/LocaleHarness.svelte +0 -29
- package/dist/test-utils/LocaleHarness.svelte.d.ts +0 -11
- package/dist/test-utils/LocaleHarness.svelte.d.ts.map +0 -1
- package/dist/test-utils/a11y.d.ts +0 -36
- package/dist/test-utils/a11y.d.ts.map +0 -1
- package/dist/test-utils/a11y.js +0 -68
- package/dist/test-utils/kbd.d.ts +0 -26
- package/dist/test-utils/kbd.d.ts.map +0 -1
- package/dist/test-utils/kbd.js +0 -38
- package/dist/textarea/TextArea.a11y.test.d.ts +0 -2
- package/dist/textarea/TextArea.a11y.test.d.ts.map +0 -1
- package/dist/textarea/TextArea.a11y.test.js +0 -41
- package/dist/time-picker/TimePicker.a11y.test.d.ts +0 -2
- package/dist/time-picker/TimePicker.a11y.test.d.ts.map +0 -1
- package/dist/time-picker/TimePicker.a11y.test.js +0 -42
- package/dist/time-picker/TimePicker.kbd.test.d.ts +0 -2
- package/dist/time-picker/TimePicker.kbd.test.d.ts.map +0 -1
- package/dist/time-picker/TimePicker.kbd.test.js +0 -59
- package/dist/time-picker/TimePickerKbdFixture.svelte +0 -23
- package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts +0 -4
- package/dist/time-picker/TimePickerKbdFixture.svelte.d.ts.map +0 -1
- package/dist/timeline/Timeline.a11y.test.d.ts +0 -2
- package/dist/timeline/Timeline.a11y.test.d.ts.map +0 -1
- package/dist/timeline/Timeline.a11y.test.js +0 -51
- package/dist/toast/Toast.a11y.test.d.ts +0 -2
- package/dist/toast/Toast.a11y.test.d.ts.map +0 -1
- package/dist/toast/Toast.a11y.test.js +0 -58
- package/dist/tooltip/Tooltip.a11y.test.d.ts +0 -2
- package/dist/tooltip/Tooltip.a11y.test.d.ts.map +0 -1
- package/dist/tooltip/Tooltip.a11y.test.js +0 -33
- package/dist/tooltip/Tooltip.kbd.test.d.ts +0 -2
- package/dist/tooltip/Tooltip.kbd.test.d.ts.map +0 -1
- package/dist/tooltip/Tooltip.kbd.test.js +0 -31
- package/dist/tooltip/TooltipA11yFixture.svelte +0 -31
- package/dist/tooltip/TooltipA11yFixture.svelte.d.ts +0 -11
- package/dist/tooltip/TooltipA11yFixture.svelte.d.ts.map +0 -1
- package/dist/tooltip/TooltipKbdFixture.svelte +0 -16
- package/dist/tooltip/TooltipKbdFixture.svelte.d.ts +0 -19
- package/dist/tooltip/TooltipKbdFixture.svelte.d.ts.map +0 -1
- package/dist/transfer/Transfer.a11y.test.d.ts +0 -2
- package/dist/transfer/Transfer.a11y.test.d.ts.map +0 -1
- package/dist/transfer/Transfer.a11y.test.js +0 -59
- package/dist/transfer/Transfer.kbd.test.d.ts +0 -2
- package/dist/transfer/Transfer.kbd.test.d.ts.map +0 -1
- package/dist/transfer/Transfer.kbd.test.js +0 -64
- package/dist/transfer/TransferKbdFixture.svelte +0 -23
- package/dist/transfer/TransferKbdFixture.svelte.d.ts +0 -4
- package/dist/transfer/TransferKbdFixture.svelte.d.ts.map +0 -1
- package/dist/transfer/group.test.d.ts +0 -2
- package/dist/transfer/group.test.d.ts.map +0 -1
- package/dist/transfer/group.test.js +0 -47
- package/dist/transfer/reorder.test.d.ts +0 -2
- package/dist/transfer/reorder.test.d.ts.map +0 -1
- package/dist/transfer/reorder.test.js +0 -42
- package/dist/transfer/tree.test.d.ts +0 -2
- package/dist/transfer/tree.test.d.ts.map +0 -1
- package/dist/transfer/tree.test.js +0 -39
- package/dist/tree/Tree.a11y.test.d.ts +0 -2
- package/dist/tree/Tree.a11y.test.d.ts.map +0 -1
- package/dist/tree/Tree.a11y.test.js +0 -56
- package/dist/tree/Tree.kbd.test.d.ts +0 -2
- package/dist/tree/Tree.kbd.test.d.ts.map +0 -1
- package/dist/tree/Tree.kbd.test.js +0 -78
- package/dist/tree/TreeKbdFixture.svelte +0 -30
- package/dist/tree/TreeKbdFixture.svelte.d.ts +0 -19
- package/dist/tree/TreeKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.a11y.test.d.ts +0 -2
- package/dist/tree-select/TreeSelect.a11y.test.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.a11y.test.js +0 -48
- package/dist/tree-select/TreeSelect.kbd.test.d.ts +0 -2
- package/dist/tree-select/TreeSelect.kbd.test.d.ts.map +0 -1
- package/dist/tree-select/TreeSelect.kbd.test.js +0 -46
- package/dist/tree-select/TreeSelectKbdFixture.svelte +0 -20
- package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts +0 -19
- package/dist/tree-select/TreeSelectKbdFixture.svelte.d.ts.map +0 -1
- package/dist/tree-select/virtual.test.d.ts +0 -2
- package/dist/tree-select/virtual.test.d.ts.map +0 -1
- package/dist/tree-select/virtual.test.js +0 -86
- package/dist/typography/Typography.a11y.test.d.ts +0 -2
- package/dist/typography/Typography.a11y.test.d.ts.map +0 -1
- package/dist/typography/Typography.a11y.test.js +0 -31
- package/dist/typography/TypographyA11yFixture.svelte +0 -27
- package/dist/typography/TypographyA11yFixture.svelte.d.ts +0 -9
- package/dist/typography/TypographyA11yFixture.svelte.d.ts.map +0 -1
- package/dist/upload/Upload.a11y.test.d.ts +0 -2
- package/dist/upload/Upload.a11y.test.d.ts.map +0 -1
- package/dist/upload/Upload.a11y.test.js +0 -49
- package/dist/upload/UploadA11yFixture.svelte +0 -23
- package/dist/upload/UploadA11yFixture.svelte.d.ts +0 -10
- package/dist/upload/UploadA11yFixture.svelte.d.ts.map +0 -1
- package/src/_floating/use-floating.ts +0 -208
- package/src/anchor/Anchor.a11y.test.ts +0 -49
- package/src/anchor/Anchor.kbd.test.ts +0 -70
- package/src/anchor/Anchor.svelte +0 -359
- package/src/anchor/AnchorKbdFixture.svelte +0 -24
- package/src/anchor/index.ts +0 -3
- package/src/anchor/meta.ts +0 -70
- package/src/anchor/types.ts +0 -8
- package/src/autocomplete/AutoComplete.a11y.test.ts +0 -49
- package/src/autocomplete/AutoComplete.kbd.test.ts +0 -69
- package/src/autocomplete/AutoComplete.svelte +0 -706
- package/src/autocomplete/AutoCompleteKbdFixture.svelte +0 -24
- package/src/autocomplete/index.ts +0 -2
- package/src/autocomplete/meta.ts +0 -41
- package/src/avatar/Avatar.a11y.test.ts +0 -37
- package/src/avatar/Avatar.svelte +0 -315
- package/src/avatar/AvatarGroup.svelte +0 -142
- package/src/avatar/context.ts +0 -21
- package/src/avatar/index.ts +0 -10
- package/src/avatar/meta.ts +0 -73
- package/src/back-top/BackTop.a11y.test.ts +0 -40
- package/src/back-top/BackTop.svelte +0 -314
- package/src/back-top/index.ts +0 -2
- package/src/back-top/meta.ts +0 -108
- package/src/badge/Badge.a11y.test.ts +0 -35
- package/src/badge/Badge.svelte +0 -328
- package/src/badge/BadgeA11yFixture.svelte +0 -18
- package/src/badge/index.ts +0 -2
- package/src/badge/meta.ts +0 -62
- package/src/banner/Banner.a11y.test.ts +0 -48
- package/src/banner/Banner.svelte +0 -368
- package/src/banner/index.ts +0 -3
- package/src/banner/meta.ts +0 -121
- package/src/breadcrumb/Breadcrumb.a11y.test.ts +0 -35
- package/src/breadcrumb/Breadcrumb.kbd.test.ts +0 -45
- package/src/breadcrumb/Breadcrumb.svelte +0 -414
- package/src/breadcrumb/BreadcrumbKbdFixture.svelte +0 -23
- package/src/breadcrumb/Item.svelte +0 -77
- package/src/breadcrumb/context.ts +0 -27
- package/src/breadcrumb/index.ts +0 -21
- package/src/breadcrumb/meta.ts +0 -128
- package/src/breadcrumb/types.ts +0 -4
- package/src/button/Button.a11y.test.ts +0 -54
- package/src/button/Button.svelte +0 -176
- package/src/button/index.ts +0 -2
- package/src/button/meta.ts +0 -28
- package/src/calendar/Calendar.a11y.test.ts +0 -51
- package/src/calendar/Calendar.kbd.test.ts +0 -59
- package/src/calendar/Calendar.svelte +0 -1344
- package/src/calendar/CalendarKbdFixture.svelte +0 -23
- package/src/calendar/index.ts +0 -3
- package/src/calendar/meta.ts +0 -117
- package/src/card/Card.a11y.test.ts +0 -38
- package/src/card/Card.svelte +0 -341
- package/src/card/CardMeta.svelte +0 -60
- package/src/card/index.ts +0 -8
- package/src/card/meta.ts +0 -83
- package/src/carousel/Carousel.a11y.test.ts +0 -53
- package/src/carousel/Carousel.kbd.test.ts +0 -67
- package/src/carousel/Carousel.svelte +0 -806
- package/src/carousel/CarouselA11yFixture.svelte +0 -25
- package/src/carousel/CarouselKbdFixture.svelte +0 -24
- package/src/carousel/index.ts +0 -2
- package/src/carousel/meta.ts +0 -74
- package/src/cascader/Cascader.a11y.test.ts +0 -59
- package/src/cascader/Cascader.kbd.test.ts +0 -56
- package/src/cascader/Cascader.svelte +0 -1570
- package/src/cascader/CascaderKbdFixture.svelte +0 -31
- package/src/cascader/index.ts +0 -3
- package/src/cascader/meta.ts +0 -57
- package/src/cascader/types.ts +0 -9
- package/src/checkbox/Checkbox.svelte +0 -281
- package/src/checkbox/CheckboxGroup.a11y.test.ts +0 -43
- package/src/checkbox/CheckboxGroup.kbd.test.ts +0 -40
- package/src/checkbox/CheckboxGroup.svelte +0 -122
- package/src/checkbox/CheckboxGroupKbdFixture.svelte +0 -20
- package/src/checkbox/context.ts +0 -31
- package/src/checkbox/index.ts +0 -4
- package/src/checkbox/meta.ts +0 -67
- package/src/collapse/Collapse.a11y.test.ts +0 -53
- package/src/collapse/Collapse.kbd.test.ts +0 -89
- package/src/collapse/Collapse.svelte +0 -406
- package/src/collapse/CollapseA11yFixture.svelte +0 -27
- package/src/collapse/CollapseKbdFixture.svelte +0 -25
- package/src/collapse/CollapsePanel.svelte +0 -102
- package/src/collapse/context.ts +0 -54
- package/src/collapse/index.ts +0 -17
- package/src/collapse/meta.ts +0 -79
- package/src/collapse/types.ts +0 -5
- package/src/color-picker/ColorPicker.a11y.test.ts +0 -60
- package/src/color-picker/ColorPicker.kbd.test.ts +0 -73
- package/src/color-picker/ColorPicker.svelte +0 -985
- package/src/color-picker/ColorPickerKbdFixture.svelte +0 -25
- package/src/color-picker/index.ts +0 -2
- package/src/color-picker/meta.ts +0 -47
- package/src/config-provider/ConfigProvider.svelte +0 -227
- package/src/config-provider/context.ts +0 -29
- package/src/config-provider/index.ts +0 -48
- package/src/config-provider/meta.ts +0 -128
- package/src/date-picker/DatePicker.a11y.test.ts +0 -45
- package/src/date-picker/DatePicker.kbd.test.ts +0 -71
- package/src/date-picker/DatePicker.svelte +0 -1798
- package/src/date-picker/DatePickerKbdFixture.svelte +0 -26
- package/src/date-picker/RangePicker.kbd.test.ts +0 -69
- package/src/date-picker/RangePicker.svelte +0 -775
- package/src/date-picker/RangePickerKbdFixture.svelte +0 -30
- package/src/date-picker/index.ts +0 -4
- package/src/date-picker/meta.ts +0 -67
- package/src/date-picker/range-meta.ts +0 -44
- package/src/descriptions/Descriptions.a11y.test.ts +0 -33
- package/src/descriptions/Descriptions.svelte +0 -287
- package/src/descriptions/DescriptionsItem.svelte +0 -43
- package/src/descriptions/context.ts +0 -21
- package/src/descriptions/index.ts +0 -16
- package/src/descriptions/meta.ts +0 -45
- package/src/descriptions/types.ts +0 -6
- package/src/divider/Divider.a11y.test.ts +0 -23
- package/src/divider/Divider.svelte +0 -154
- package/src/divider/index.ts +0 -2
- package/src/divider/meta.ts +0 -23
- package/src/drawer/Drawer.a11y.test.ts +0 -41
- package/src/drawer/Drawer.kbd.test.ts +0 -67
- package/src/drawer/Drawer.svelte +0 -554
- package/src/drawer/DrawerKbdFixture.svelte +0 -28
- package/src/drawer/index.ts +0 -2
- package/src/drawer/meta.ts +0 -127
- package/src/dropdown/Dropdown.a11y.test.ts +0 -46
- package/src/dropdown/Dropdown.kbd.test.ts +0 -56
- package/src/dropdown/Dropdown.svelte +0 -573
- package/src/dropdown/DropdownA11yFixture.svelte +0 -24
- package/src/dropdown/DropdownDivider.svelte +0 -17
- package/src/dropdown/DropdownItem.svelte +0 -127
- package/src/dropdown/DropdownItemNode.svelte +0 -355
- package/src/dropdown/DropdownKbdFixture.svelte +0 -26
- package/src/dropdown/DropdownMenu.svelte +0 -24
- package/src/dropdown/DropdownSubMenu.svelte +0 -212
- package/src/dropdown/DropdownTitle.svelte +0 -34
- package/src/dropdown/context.ts +0 -13
- package/src/dropdown/index.ts +0 -36
- package/src/dropdown/meta.ts +0 -97
- package/src/dropdown/types.test.ts +0 -50
- package/src/dropdown/types.ts +0 -67
- package/src/empty/Empty.a11y.test.ts +0 -24
- package/src/empty/Empty.svelte +0 -304
- package/src/empty/index.ts +0 -2
- package/src/empty/meta.ts +0 -41
- package/src/form/Field.svelte +0 -492
- package/src/form/FieldArray.svelte +0 -75
- package/src/form/Form.a11y.test.ts +0 -39
- package/src/form/Form.svelte +0 -243
- package/src/form/FormA11yFixture.svelte +0 -31
- package/src/form/FormCascader.svelte +0 -82
- package/src/form/FormCheckbox.svelte +0 -83
- package/src/form/FormDatePicker.svelte +0 -80
- package/src/form/FormErrorMessage.svelte +0 -44
- package/src/form/FormInput.svelte +0 -95
- package/src/form/FormLabel.svelte +0 -46
- package/src/form/FormRadio.svelte +0 -83
- package/src/form/FormRating.svelte +0 -85
- package/src/form/FormSection.svelte +0 -45
- package/src/form/FormSelect.svelte +0 -96
- package/src/form/FormSlider.svelte +0 -95
- package/src/form/FormSlot.svelte +0 -51
- package/src/form/FormSwitch.svelte +0 -82
- package/src/form/FormTagInput.svelte +0 -79
- package/src/form/FormTreeSelect.svelte +0 -85
- package/src/form/FormUpload.svelte +0 -92
- package/src/form/context.ts +0 -47
- package/src/form/index.ts +0 -22
- package/src/form/meta.ts +0 -85
- package/src/grid/Col.svelte +0 -142
- package/src/grid/Grid.a11y.test.ts +0 -14
- package/src/grid/GridA11yFixture.svelte +0 -12
- package/src/grid/Row.svelte +0 -116
- package/src/grid/index.ts +0 -3
- package/src/grid/meta.ts +0 -72
- package/src/grid/use-breakpoint.svelte.ts +0 -48
- package/src/highlight/Highlight.a11y.test.ts +0 -25
- package/src/highlight/Highlight.svelte +0 -99
- package/src/highlight/index.ts +0 -2
- package/src/highlight/meta.ts +0 -80
- package/src/icon/Icon.svelte +0 -156
- package/src/icon/index.ts +0 -2
- package/src/icon/meta.ts +0 -41
- package/src/image/Image.a11y.test.ts +0 -30
- package/src/image/Image.svelte +0 -387
- package/src/image/ImagePreview.kbd.test.ts +0 -52
- package/src/image/ImagePreview.svelte +0 -309
- package/src/image/ImagePreviewGroup.svelte +0 -93
- package/src/image/ImagePreviewKbdFixture.svelte +0 -32
- package/src/image/context.ts +0 -26
- package/src/image/index.ts +0 -15
- package/src/image/meta.ts +0 -131
- package/src/index.ts +0 -208
- package/src/input/Input.a11y.test.ts +0 -58
- package/src/input/Input.svelte +0 -505
- package/src/input/index.ts +0 -2
- package/src/input/meta.ts +0 -40
- package/src/input-number/InputNumber.a11y.test.ts +0 -43
- package/src/input-number/InputNumber.kbd.test.ts +0 -41
- package/src/input-number/InputNumber.svelte +0 -674
- package/src/input-number/InputNumberKbdFixture.svelte +0 -15
- package/src/input-number/index.ts +0 -2
- package/src/input-number/meta.ts +0 -65
- package/src/layout/Content.svelte +0 -37
- package/src/layout/Footer.svelte +0 -49
- package/src/layout/Header.svelte +0 -46
- package/src/layout/Layout.a11y.test.ts +0 -34
- package/src/layout/Layout.svelte +0 -60
- package/src/layout/LayoutA11yFixture.svelte +0 -21
- package/src/layout/Sider.svelte +0 -207
- package/src/layout/index.ts +0 -26
- package/src/layout/meta.ts +0 -116
- package/src/list/List.a11y.test.ts +0 -69
- package/src/list/List.bench.ts +0 -26
- package/src/list/List.kbd.test.ts +0 -71
- package/src/list/List.svelte +0 -920
- package/src/list/ListA11yFixture.svelte +0 -38
- package/src/list/ListBenchFixture.svelte +0 -22
- package/src/list/ListItem.svelte +0 -175
- package/src/list/ListKbdFixture.svelte +0 -31
- package/src/list/ListMeta.svelte +0 -73
- package/src/list/context.ts +0 -39
- package/src/list/index.ts +0 -21
- package/src/list/meta.ts +0 -99
- package/src/locale-provider/LocaleProvider.svelte +0 -110
- package/src/locale-provider/context.ts +0 -22
- package/src/locale-provider/index.ts +0 -21
- package/src/locale-provider/meta.ts +0 -93
- package/src/locale-provider/use-locale.ts +0 -25
- package/src/lottie-icon/LottieIcon.svelte +0 -330
- package/src/lottie-icon/index.ts +0 -9
- package/src/lottie-icon/meta.ts +0 -162
- package/src/menu/Menu.a11y.test.ts +0 -54
- package/src/menu/Menu.kbd.test.ts +0 -69
- package/src/menu/Menu.svelte +0 -762
- package/src/menu/MenuKbdFixture.svelte +0 -22
- package/src/menu/MenuPopupNode.svelte +0 -525
- package/src/menu/index.ts +0 -4
- package/src/menu/meta.ts +0 -137
- package/src/menu/types.ts +0 -120
- package/src/meta.test.ts +0 -173
- package/src/modal/ConfirmModal.svelte +0 -173
- package/src/modal/Modal.a11y.test.ts +0 -46
- package/src/modal/Modal.kbd.test.ts +0 -65
- package/src/modal/Modal.svelte +0 -511
- package/src/modal/ModalKbdFixture.svelte +0 -24
- package/src/modal/command.svelte.ts +0 -103
- package/src/modal/index.ts +0 -30
- package/src/modal/meta.ts +0 -165
- package/src/modal/z-stack.ts +0 -26
- package/src/notification/NotificationContainer.svelte +0 -192
- package/src/notification/NotificationItem.a11y.test.ts +0 -73
- package/src/notification/NotificationItem.svelte +0 -368
- package/src/notification/index.ts +0 -9
- package/src/notification/meta.ts +0 -120
- package/src/notification/store.ts +0 -191
- package/src/overflow-list/OverflowList.a11y.test.ts +0 -46
- package/src/overflow-list/OverflowList.kbd.test.ts +0 -34
- package/src/overflow-list/OverflowList.svelte +0 -539
- package/src/overflow-list/OverflowListA11yFixture.svelte +0 -22
- package/src/overflow-list/OverflowListKbdFixture.svelte +0 -21
- package/src/overflow-list/index.ts +0 -2
- package/src/overflow-list/meta.ts +0 -138
- package/src/pagination/Pagination.a11y.test.ts +0 -62
- package/src/pagination/Pagination.kbd.test.ts +0 -66
- package/src/pagination/Pagination.svelte +0 -428
- package/src/pagination/PaginationKbdFixture.svelte +0 -15
- package/src/pagination/index.ts +0 -2
- package/src/pagination/meta.ts +0 -73
- package/src/popconfirm/Popconfirm.a11y.test.ts +0 -46
- package/src/popconfirm/Popconfirm.kbd.test.ts +0 -42
- package/src/popconfirm/Popconfirm.svelte +0 -724
- package/src/popconfirm/PopconfirmA11yFixture.svelte +0 -34
- package/src/popconfirm/PopconfirmKbdFixture.svelte +0 -17
- package/src/popconfirm/index.ts +0 -2
- package/src/popconfirm/meta.ts +0 -200
- package/src/popover/Popover.a11y.test.ts +0 -58
- package/src/popover/Popover.kbd.test.ts +0 -42
- package/src/popover/Popover.svelte +0 -643
- package/src/popover/PopoverA11yFixture.svelte +0 -35
- package/src/popover/PopoverKbdFixture.svelte +0 -18
- package/src/popover/index.ts +0 -2
- package/src/popover/meta.ts +0 -103
- package/src/progress/Progress.a11y.test.ts +0 -37
- package/src/progress/Progress.svelte +0 -423
- package/src/progress/index.ts +0 -3
- package/src/progress/meta.ts +0 -132
- package/src/radio/Radio.svelte +0 -330
- package/src/radio/RadioGroup.a11y.test.ts +0 -43
- package/src/radio/RadioGroup.kbd.test.ts +0 -75
- package/src/radio/RadioGroup.svelte +0 -199
- package/src/radio/RadioGroupKbdFixture.svelte +0 -21
- package/src/radio/context.ts +0 -42
- package/src/radio/index.ts +0 -4
- package/src/radio/meta.ts +0 -68
- package/src/rating/Rating.a11y.test.ts +0 -41
- package/src/rating/Rating.kbd.test.ts +0 -48
- package/src/rating/Rating.svelte +0 -407
- package/src/rating/RatingKbdFixture.svelte +0 -15
- package/src/rating/index.ts +0 -2
- package/src/rating/meta.ts +0 -40
- package/src/resize-observer/ResizeObserver.svelte +0 -169
- package/src/resize-observer/action.ts +0 -80
- package/src/resize-observer/index.ts +0 -9
- package/src/resize-observer/meta.ts +0 -102
- package/src/scroll-list/ScrollColumn.svelte +0 -592
- package/src/scroll-list/ScrollList.svelte +0 -257
- package/src/scroll-list/index.ts +0 -4
- package/src/scroll-list/meta.ts +0 -93
- package/src/scroll-list/types.ts +0 -18
- package/src/select/Select.a11y.test.ts +0 -59
- package/src/select/Select.kbd.test.ts +0 -59
- package/src/select/Select.svelte +0 -1155
- package/src/select/SelectKbdFixture.svelte +0 -29
- package/src/select/index.ts +0 -3
- package/src/select/meta.ts +0 -78
- package/src/select/types.ts +0 -2
- package/src/side-sheet/SideSheet.a11y.test.ts +0 -53
- package/src/side-sheet/SideSheet.kbd.test.ts +0 -63
- package/src/side-sheet/SideSheet.svelte +0 -659
- package/src/side-sheet/SideSheetKbdFixture.svelte +0 -30
- package/src/side-sheet/index.ts +0 -2
- package/src/side-sheet/meta.ts +0 -116
- package/src/skeleton/Skeleton.a11y.test.ts +0 -35
- package/src/skeleton/Skeleton.svelte +0 -131
- package/src/skeleton/SkeletonAvatar.svelte +0 -82
- package/src/skeleton/SkeletonButton.svelte +0 -90
- package/src/skeleton/SkeletonImage.svelte +0 -100
- package/src/skeleton/SkeletonParagraph.svelte +0 -103
- package/src/skeleton/SkeletonTitle.svelte +0 -74
- package/src/skeleton/context.ts +0 -11
- package/src/skeleton/index.ts +0 -8
- package/src/skeleton/meta.ts +0 -65
- package/src/slider/Slider.a11y.test.ts +0 -44
- package/src/slider/Slider.kbd.test.ts +0 -74
- package/src/slider/Slider.svelte +0 -716
- package/src/slider/SliderKbdFixture.svelte +0 -21
- package/src/slider/index.ts +0 -2
- package/src/slider/meta.ts +0 -55
- package/src/space/Space.a11y.test.ts +0 -22
- package/src/space/Space.svelte +0 -109
- package/src/space/SpaceA11yFixture.svelte +0 -17
- package/src/space/index.ts +0 -2
- package/src/space/meta.ts +0 -27
- package/src/spin/Spin.a11y.test.ts +0 -29
- package/src/spin/Spin.svelte +0 -293
- package/src/spin/SpinA11yFixture.svelte +0 -18
- package/src/spin/index.ts +0 -2
- package/src/spin/meta.ts +0 -72
- package/src/steps/Steps.a11y.test.ts +0 -39
- package/src/steps/Steps.kbd.test.ts +0 -73
- package/src/steps/Steps.svelte +0 -392
- package/src/steps/StepsKbdFixture.svelte +0 -21
- package/src/steps/index.ts +0 -3
- package/src/steps/meta.ts +0 -59
- package/src/steps/types.ts +0 -8
- package/src/switch/Switch.a11y.test.ts +0 -46
- package/src/switch/Switch.kbd.test.ts +0 -40
- package/src/switch/Switch.svelte +0 -310
- package/src/switch/SwitchKbdFixture.svelte +0 -22
- package/src/switch/index.ts +0 -2
- package/src/switch/meta.ts +0 -44
- package/src/table/Table.a11y.test.ts +0 -70
- package/src/table/Table.bench.ts +0 -51
- package/src/table/Table.kbd.test.ts +0 -94
- package/src/table/Table.svelte +0 -2327
- package/src/table/TableKbdFixture.svelte +0 -35
- package/src/table/grid-nav.test.ts +0 -173
- package/src/table/grid-nav.ts +0 -146
- package/src/table/index.ts +0 -13
- package/src/table/meta.ts +0 -121
- package/src/table/types.ts +0 -133
- package/src/tabs/TabPane.svelte +0 -92
- package/src/tabs/Tabs.a11y.test.ts +0 -47
- package/src/tabs/Tabs.kbd.test.ts +0 -74
- package/src/tabs/Tabs.svelte +0 -1128
- package/src/tabs/TabsA11yFixture.svelte +0 -20
- package/src/tabs/TabsKbdFixture.svelte +0 -25
- package/src/tabs/context.ts +0 -43
- package/src/tabs/index.ts +0 -14
- package/src/tabs/meta.ts +0 -152
- package/src/tabs/types.ts +0 -6
- package/src/tag/Tag.a11y.test.ts +0 -33
- package/src/tag/Tag.svelte +0 -366
- package/src/tag/TagA11yFixture.svelte +0 -18
- package/src/tag/index.ts +0 -2
- package/src/tag/meta.ts +0 -92
- package/src/tag-input/TagInput.a11y.test.ts +0 -41
- package/src/tag-input/TagInput.svelte +0 -544
- package/src/tag-input/index.ts +0 -2
- package/src/tag-input/meta.ts +0 -43
- package/src/tag-input/reorder.test.ts +0 -59
- package/src/tag-input/reorder.ts +0 -41
- package/src/test-utils/LocaleHarness.svelte +0 -29
- package/src/test-utils/a11y.ts +0 -108
- package/src/test-utils/kbd.ts +0 -52
- package/src/textarea/TextArea.a11y.test.ts +0 -44
- package/src/textarea/TextArea.svelte +0 -420
- package/src/textarea/index.ts +0 -2
- package/src/textarea/meta.ts +0 -104
- package/src/time-picker/TimePicker.a11y.test.ts +0 -45
- package/src/time-picker/TimePicker.kbd.test.ts +0 -70
- package/src/time-picker/TimePicker.svelte +0 -1023
- package/src/time-picker/TimePickerKbdFixture.svelte +0 -23
- package/src/time-picker/index.ts +0 -2
- package/src/time-picker/meta.ts +0 -64
- package/src/timeline/Timeline.a11y.test.ts +0 -54
- package/src/timeline/Timeline.svelte +0 -599
- package/src/timeline/TimelineItem.svelte +0 -164
- package/src/timeline/context.ts +0 -28
- package/src/timeline/index.ts +0 -16
- package/src/timeline/meta.ts +0 -129
- package/src/timeline/types.ts +0 -9
- package/src/toast/Toast.a11y.test.ts +0 -67
- package/src/toast/ToastContainer.svelte +0 -184
- package/src/toast/ToastItem.svelte +0 -247
- package/src/toast/index.ts +0 -9
- package/src/toast/live-region.ts +0 -78
- package/src/toast/meta.ts +0 -95
- package/src/toast/store.ts +0 -187
- package/src/tooltip/Tooltip.a11y.test.ts +0 -41
- package/src/tooltip/Tooltip.kbd.test.ts +0 -37
- package/src/tooltip/Tooltip.svelte +0 -416
- package/src/tooltip/TooltipA11yFixture.svelte +0 -31
- package/src/tooltip/TooltipKbdFixture.svelte +0 -16
- package/src/tooltip/index.ts +0 -2
- package/src/tooltip/meta.ts +0 -59
- package/src/tooltip/placement.ts +0 -6
- package/src/transfer/Transfer.a11y.test.ts +0 -63
- package/src/transfer/Transfer.kbd.test.ts +0 -75
- package/src/transfer/Transfer.svelte +0 -1451
- package/src/transfer/TransferKbdFixture.svelte +0 -23
- package/src/transfer/group.test.ts +0 -55
- package/src/transfer/group.ts +0 -61
- package/src/transfer/index.ts +0 -3
- package/src/transfer/meta.ts +0 -55
- package/src/transfer/reorder.test.ts +0 -52
- package/src/transfer/reorder.ts +0 -42
- package/src/transfer/tree.test.ts +0 -44
- package/src/transfer/tree.ts +0 -52
- package/src/transfer/types.ts +0 -32
- package/src/tree/Tree.a11y.test.ts +0 -63
- package/src/tree/Tree.kbd.test.ts +0 -91
- package/src/tree/Tree.svelte +0 -1500
- package/src/tree/TreeKbdFixture.svelte +0 -30
- package/src/tree/index.ts +0 -3
- package/src/tree/meta.ts +0 -152
- package/src/tree-select/TreeSelect.a11y.test.ts +0 -52
- package/src/tree-select/TreeSelect.kbd.test.ts +0 -53
- package/src/tree-select/TreeSelect.svelte +0 -1611
- package/src/tree-select/TreeSelectKbdFixture.svelte +0 -20
- package/src/tree-select/index.ts +0 -3
- package/src/tree-select/meta.ts +0 -73
- package/src/tree-select/types.ts +0 -11
- package/src/tree-select/virtual.test.ts +0 -104
- package/src/typography/Link.svelte +0 -120
- package/src/typography/Paragraph.svelte +0 -92
- package/src/typography/Text.svelte +0 -93
- package/src/typography/Title.svelte +0 -91
- package/src/typography/Typography.a11y.test.ts +0 -34
- package/src/typography/TypographyA11yFixture.svelte +0 -27
- package/src/typography/TypographyBase.svelte +0 -807
- package/src/typography/index.ts +0 -16
- package/src/typography/meta.ts +0 -158
- package/src/upload/Upload.a11y.test.ts +0 -58
- package/src/upload/Upload.svelte +0 -1094
- package/src/upload/UploadA11yFixture.svelte +0 -23
- package/src/upload/index.ts +0 -3
- package/src/upload/meta.ts +0 -64
- package/src/upload/types.ts +0 -16
- package/src/virtual-list/VirtualList.svelte +0 -401
- package/src/virtual-list/index.ts +0 -2
- package/src/virtual-list/meta.ts +0 -106
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// Switch 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// Switch 是原生 <button role="switch">,焦点落在按钮本身:Tab 聚焦、
|
|
3
|
-
// Space/Enter 经原生 click 触发 toggle,aria-checked 翻转。jsdom 下
|
|
4
|
-
// 原生按钮的 Space/Enter→click 合成不可靠,故在真浏览器里验真实键盘。
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { page } from 'vitest/browser';
|
|
7
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
8
|
-
import SwitchKbdFixture from './SwitchKbdFixture.svelte';
|
|
9
|
-
function loc(el) {
|
|
10
|
-
return page.elementLocator(el);
|
|
11
|
-
}
|
|
12
|
-
describe('Switch 键盘 e2e(role=switch Space/Enter 切换)', () => {
|
|
13
|
-
it('Tab 聚焦 + Space/Enter 翻转 aria-checked', async () => {
|
|
14
|
-
const { baseElement } = renderKbdFixture(SwitchKbdFixture);
|
|
15
|
-
const sw = baseElement.querySelector('[role="switch"]');
|
|
16
|
-
expect(sw).not.toBeNull();
|
|
17
|
-
expect(sw.getAttribute('aria-checked')).toBe('false');
|
|
18
|
-
// Tab 从 before 进入,焦点落在 switch 按钮本身。
|
|
19
|
-
const before = baseElement.querySelector('[data-testid="before"]');
|
|
20
|
-
before.focus();
|
|
21
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
22
|
-
await userEvent.tab();
|
|
23
|
-
await expect.element(loc(sw)).toHaveFocus();
|
|
24
|
-
// Space 切到 on(aria-checked=true,onChange 写入 true)。
|
|
25
|
-
await userEvent.keyboard(' ');
|
|
26
|
-
await expect.element(loc(sw)).toHaveAttribute('aria-checked', 'true');
|
|
27
|
-
const out = baseElement.querySelector('[data-testid="value"]');
|
|
28
|
-
expect(out.textContent).toBe(JSON.stringify(true));
|
|
29
|
-
// Enter 切回 off。
|
|
30
|
-
await userEvent.keyboard('{Enter}');
|
|
31
|
-
await expect.element(loc(sw)).toHaveAttribute('aria-checked', 'false');
|
|
32
|
-
expect(out.textContent).toBe(JSON.stringify(false));
|
|
33
|
-
});
|
|
34
|
-
});
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Switch.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
Switch 是原生 <button role="switch">,焦点落在按钮本身;Space/Enter 经原生
|
|
4
|
-
click 触发 toggle,aria-checked 翻转。夹具暴露 onChange 写入 lastValue。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
8
|
-
import Switch from './Switch.svelte';
|
|
9
|
-
|
|
10
|
-
let lastValue = $state<unknown>(undefined);
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
<LocaleProvider locale="en_US">
|
|
14
|
-
<button type="button" data-testid="before">before</button>
|
|
15
|
-
<Switch
|
|
16
|
-
ariaLabel="Toggle"
|
|
17
|
-
onChange={(v) => {
|
|
18
|
-
lastValue = v;
|
|
19
|
-
}}
|
|
20
|
-
/>
|
|
21
|
-
<output data-testid="value">{JSON.stringify(lastValue ?? null)}</output>
|
|
22
|
-
</LocaleProvider>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/switch/SwitchKbdFixture.svelte.ts"],"names":[],"mappings":"AAwBA,QAAA,MAAM,gBAAgB,2DAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.a11y.test.d.ts","sourceRoot":"","sources":["../../src/table/Table.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// Table a11y:数据表格。
|
|
2
|
-
// 纯展示表为原生 <table>(role=table);交互态(sorter/rowSelection 等)升级为
|
|
3
|
-
// WAI-ARIA Grid Pattern:role=grid + columnheader/row/gridcell。两种都各测一个。
|
|
4
|
-
import { describe, it, expect } from 'vitest';
|
|
5
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
6
|
-
import Table from './Table.svelte';
|
|
7
|
-
const dataSource = [
|
|
8
|
-
{ key: '1', name: 'Alice', age: 30 },
|
|
9
|
-
{ key: '2', name: 'Bob', age: 25 },
|
|
10
|
-
];
|
|
11
|
-
const plainColumns = [
|
|
12
|
-
{ key: 'name', dataIndex: 'name', title: 'Name' },
|
|
13
|
-
{ key: 'age', dataIndex: 'age', title: 'Age' },
|
|
14
|
-
];
|
|
15
|
-
describe('Table a11y', () => {
|
|
16
|
-
it('纯展示表:原生 table 语义(无 role=grid),无 axe violations', async () => {
|
|
17
|
-
const { container } = renderWithLocale(Table, {
|
|
18
|
-
props: { columns: plainColumns, dataSource, ariaLabel: 'Users' },
|
|
19
|
-
});
|
|
20
|
-
const table = container.querySelector('table');
|
|
21
|
-
expect(table).not.toBeNull();
|
|
22
|
-
// 纯展示降级:不应有 role=grid
|
|
23
|
-
expect(table?.getAttribute('role')).toBeNull();
|
|
24
|
-
expect(container.querySelector('[role="grid"]')).toBeNull();
|
|
25
|
-
// 列头与数据行
|
|
26
|
-
expect(container.querySelectorAll('th[scope="col"]').length).toBe(2);
|
|
27
|
-
await expectNoAxeViolations(container);
|
|
28
|
-
});
|
|
29
|
-
it('交互态(sortable):role=grid + columnheader/gridcell + aria-rowcount', async () => {
|
|
30
|
-
const sortableColumns = [
|
|
31
|
-
{ key: 'name', dataIndex: 'name', title: 'Name', sorter: true },
|
|
32
|
-
{ key: 'age', dataIndex: 'age', title: 'Age', sorter: true },
|
|
33
|
-
];
|
|
34
|
-
const { container } = renderWithLocale(Table, {
|
|
35
|
-
props: { columns: sortableColumns, dataSource, ariaLabel: 'Users grid' },
|
|
36
|
-
});
|
|
37
|
-
const grid = container.querySelector('[role="grid"]');
|
|
38
|
-
expect(grid).not.toBeNull();
|
|
39
|
-
expect(grid?.getAttribute('aria-rowcount')).toBeTruthy();
|
|
40
|
-
expect(container.querySelectorAll('[role="columnheader"]').length).toBeGreaterThanOrEqual(2);
|
|
41
|
-
expect(container.querySelectorAll('[role="row"]').length).toBeGreaterThanOrEqual(1);
|
|
42
|
-
expect(container.querySelectorAll('[role="gridcell"]').length).toBeGreaterThanOrEqual(1);
|
|
43
|
-
await expectNoAxeViolations(container);
|
|
44
|
-
});
|
|
45
|
-
it('rowSelection:交互态 role=grid + 全选 checkbox 有可访问名', async () => {
|
|
46
|
-
const { container } = renderWithLocale(Table, {
|
|
47
|
-
props: {
|
|
48
|
-
columns: plainColumns,
|
|
49
|
-
dataSource,
|
|
50
|
-
ariaLabel: 'Selectable',
|
|
51
|
-
rowSelection: {},
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
expect(container.querySelector('[role="grid"]')).not.toBeNull();
|
|
55
|
-
const checkbox = container.querySelector('input[type="checkbox"]');
|
|
56
|
-
expect(checkbox?.getAttribute('aria-label')).toBeTruthy();
|
|
57
|
-
await expectNoAxeViolations(container);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.bench.d.ts","sourceRoot":"","sources":["../../src/table/Table.bench.ts"],"names":[],"mappings":""}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
// Table 渲染基准(最小骨架,趋势参考,不接 CI 门禁)。
|
|
2
|
-
// 在 jsdom 下真实 mount Table,测不同行数的挂载耗时。仅供观察回归趋势,
|
|
3
|
-
// 数字受 jsdom/CI 机器影响,不作为硬门禁(门禁是 size-limit 体积预算)。
|
|
4
|
-
import { bench, describe } from 'vitest';
|
|
5
|
-
import { render, cleanup } from '@testing-library/svelte';
|
|
6
|
-
import Table from './Table.svelte';
|
|
7
|
-
const columns = [
|
|
8
|
-
{ key: 'name', dataIndex: 'name', title: 'Name' },
|
|
9
|
-
{ key: 'age', dataIndex: 'age', title: 'Age' },
|
|
10
|
-
{ key: 'city', dataIndex: 'city', title: 'City' },
|
|
11
|
-
];
|
|
12
|
-
function makeRows(n) {
|
|
13
|
-
return Array.from({ length: n }, (_, i) => ({
|
|
14
|
-
key: String(i),
|
|
15
|
-
name: `User ${i}`,
|
|
16
|
-
age: 20 + (i % 50),
|
|
17
|
-
city: `City ${i % 10}`,
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
describe('Table render', () => {
|
|
21
|
-
const rows100 = makeRows(100);
|
|
22
|
-
const rows1000 = makeRows(1000);
|
|
23
|
-
bench('mount 100 rows', () => {
|
|
24
|
-
render(Table, { props: { columns, dataSource: rows100 } });
|
|
25
|
-
cleanup();
|
|
26
|
-
}, { time: 300 });
|
|
27
|
-
bench('mount 1000 rows', () => {
|
|
28
|
-
render(Table, { props: { columns, dataSource: rows1000 } });
|
|
29
|
-
cleanup();
|
|
30
|
-
}, { time: 500 });
|
|
31
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Table.kbd.test.d.ts","sourceRoot":"","sources":["../../src/table/Table.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
// Table 键盘 e2e(browser project / 真实 chromium),交互态 grid 2D 方向键漫游。
|
|
2
|
-
// 交互态(列带 sorter)下 Table 升级为 WAI-ARIA Grid Pattern,单元格走 REAL focus
|
|
3
|
-
// roving(cell.focus() + tabindex 0/-1),jsdom 测不了真实焦点移动:
|
|
4
|
-
// 1. roving 单停靠点:Tab 进入 grid 只停在一个单元格(首个 columnheader,其余 -1)。
|
|
5
|
-
// 2. ↑↓ 真实移动焦点到上/下一行单元格;←→ 移动到左/右一列单元格。
|
|
6
|
-
// 3. Home/End 跳到行内首/末列。
|
|
7
|
-
//
|
|
8
|
-
// 真实焦点断言用 page locator 的 .toHaveFocus()(对真实 document.activeElement 重试断言)。
|
|
9
|
-
import { describe, it, expect } from 'vitest';
|
|
10
|
-
import { page } from 'vitest/browser';
|
|
11
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
12
|
-
import TableKbdFixture from './TableKbdFixture.svelte';
|
|
13
|
-
function loc(el) {
|
|
14
|
-
return page.elementLocator(el);
|
|
15
|
-
}
|
|
16
|
-
describe('Table 键盘 e2e(grid 2D roving)', () => {
|
|
17
|
-
it('Tab 单停靠点 + ↑↓ 移行 + ←→ 移列 + Home/End 行内首末', async () => {
|
|
18
|
-
const { baseElement } = renderKbdFixture(TableKbdFixture);
|
|
19
|
-
const grid = baseElement.querySelector('[role="grid"]');
|
|
20
|
-
expect(grid).not.toBeNull();
|
|
21
|
-
// 列头(columnheader)与数据单元格(gridcell)。
|
|
22
|
-
const headers = Array.from(grid.querySelectorAll('[role="columnheader"]'));
|
|
23
|
-
expect(headers.length).toBe(2);
|
|
24
|
-
const [nameHeader, ageHeader] = headers;
|
|
25
|
-
// 全部漫游单元格(header columnheader + body rowheader/gridcell)。
|
|
26
|
-
// 交互态首列单元格为 role=rowheader(!hasSelection && !hasExpand),其余 gridcell。
|
|
27
|
-
const allCells = Array.from(grid.querySelectorAll('[role="columnheader"],[role="rowheader"],[role="gridcell"]'));
|
|
28
|
-
// 1. roving 单停靠点:恰有一个单元格 tabindex=0,其余 -1。
|
|
29
|
-
const stops = allCells.filter((el) => el.tabIndex === 0);
|
|
30
|
-
expect(stops.length).toBe(1);
|
|
31
|
-
// 默认停靠点为首个列头(row=-1,col=0)。
|
|
32
|
-
expect(nameHeader.tabIndex).toBe(0);
|
|
33
|
-
expect(ageHeader.tabIndex).toBe(-1);
|
|
34
|
-
// 从 before 按钮 Tab,焦点应落到唯一停靠点(首个 columnheader),不逐格进入。
|
|
35
|
-
const before = baseElement.querySelector('[data-testid="before"]');
|
|
36
|
-
before.focus();
|
|
37
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
38
|
-
await userEvent.tab();
|
|
39
|
-
await expect.element(loc(nameHeader)).toHaveFocus();
|
|
40
|
-
expect(nameHeader.tabIndex).toBe(0);
|
|
41
|
-
// 2a. ←→ 移列:→ 移到 Age 列头(同一行 header 行)。
|
|
42
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
43
|
-
await expect.element(loc(ageHeader)).toHaveFocus();
|
|
44
|
-
expect(ageHeader.tabIndex).toBe(0);
|
|
45
|
-
expect(nameHeader.tabIndex).toBe(-1);
|
|
46
|
-
// ← 回到 Name 列头。
|
|
47
|
-
await userEvent.keyboard('{ArrowLeft}');
|
|
48
|
-
await expect.element(loc(nameHeader)).toHaveFocus();
|
|
49
|
-
// 2b. ↓ 移行:从 Name 列头进入首数据行首列单元格(row=0,col=0)。
|
|
50
|
-
// 首列单元格 role=rowheader(交互态、无 selection/expand),按 aria-colindex 取。
|
|
51
|
-
const bodyRows = Array.from(grid.querySelectorAll('tbody [role="row"]'));
|
|
52
|
-
expect(bodyRows.length).toBe(3);
|
|
53
|
-
const cellAt = (row, colindex) => bodyRows[row].querySelector(`[aria-colindex="${colindex}"]`);
|
|
54
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
55
|
-
const row0Name = cellAt(0, 1);
|
|
56
|
-
await expect.element(loc(row0Name)).toHaveFocus();
|
|
57
|
-
expect(row0Name.textContent).toContain('Alice');
|
|
58
|
-
// 再 ↓ 到第二数据行首列单元格(row=1,col=0)。
|
|
59
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
60
|
-
const row1Name = cellAt(1, 1);
|
|
61
|
-
await expect.element(loc(row1Name)).toHaveFocus();
|
|
62
|
-
expect(row1Name.textContent).toContain('Bob');
|
|
63
|
-
// ↑ 回到 row0 首列单元格。
|
|
64
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
65
|
-
await expect.element(loc(row0Name)).toHaveFocus();
|
|
66
|
-
// 3. End 跳到行内末列(Age 单元格 row=0,col=1);Home 回到行内首列。
|
|
67
|
-
await userEvent.keyboard('{End}');
|
|
68
|
-
const row0Age = cellAt(0, 2);
|
|
69
|
-
await expect.element(loc(row0Age)).toHaveFocus();
|
|
70
|
-
expect(row0Age.textContent).toContain('30');
|
|
71
|
-
await userEvent.keyboard('{Home}');
|
|
72
|
-
await expect.element(loc(row0Name)).toHaveFocus();
|
|
73
|
-
});
|
|
74
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Table.kbd.test.ts(browser project)使用的键盘 e2e 夹具。
|
|
3
|
-
交互态(列带 sorter)下 Table 升级为 WAI-ARIA Grid Pattern:role=grid +
|
|
4
|
-
columnheader/gridcell + 单元格 roving tabindex。前后各放一个按钮,验证
|
|
5
|
-
Tab 进入 grid 只停在单一 roving 单元格(roving 单停靠点),而非逐格进 Tab 序。
|
|
6
|
-
-->
|
|
7
|
-
<script lang="ts">
|
|
8
|
-
import { LocaleProvider } from '../locale-provider/index.js';
|
|
9
|
-
import Table from './Table.svelte';
|
|
10
|
-
|
|
11
|
-
interface Row {
|
|
12
|
-
key: string;
|
|
13
|
-
name: string;
|
|
14
|
-
age: number;
|
|
15
|
-
[k: string]: unknown;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const dataSource: Row[] = [
|
|
19
|
-
{ key: '1', name: 'Alice', age: 30 },
|
|
20
|
-
{ key: '2', name: 'Bob', age: 25 },
|
|
21
|
-
{ key: '3', name: 'Carol', age: 28 },
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
// 列带 sorter → isInteractive → gridEnabled,触发 grid 键盘漫游。
|
|
25
|
-
const columns = [
|
|
26
|
-
{ key: 'name', dataIndex: 'name', title: 'Name', sorter: true },
|
|
27
|
-
{ key: 'age', dataIndex: 'age', title: 'Age', sorter: true },
|
|
28
|
-
];
|
|
29
|
-
</script>
|
|
30
|
-
|
|
31
|
-
<LocaleProvider locale="en_US">
|
|
32
|
-
<button type="button" data-testid="before">before</button>
|
|
33
|
-
<Table {columns} {dataSource} rowKey="key" ariaLabel="Users grid" />
|
|
34
|
-
<button type="button" data-testid="after">after</button>
|
|
35
|
-
</LocaleProvider>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
2
|
-
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
3
|
-
$$bindings?: Bindings;
|
|
4
|
-
} & Exports;
|
|
5
|
-
(internal: unknown, props: {
|
|
6
|
-
$$events?: Events;
|
|
7
|
-
$$slots?: Slots;
|
|
8
|
-
}): Exports & {
|
|
9
|
-
$set?: any;
|
|
10
|
-
$on?: any;
|
|
11
|
-
};
|
|
12
|
-
z_$$bindings?: Bindings;
|
|
13
|
-
}
|
|
14
|
-
declare const TableKbdFixture: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
}, {}, {}, string>;
|
|
17
|
-
type TableKbdFixture = InstanceType<typeof TableKbdFixture>;
|
|
18
|
-
export default TableKbdFixture;
|
|
19
|
-
//# sourceMappingURL=TableKbdFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableKbdFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/table/TableKbdFixture.svelte.ts"],"names":[],"mappings":"AAuCA,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,eAAe;;kBAA+E,CAAC;AACnF,KAAK,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grid-nav.test.d.ts","sourceRoot":"","sources":["../../src/table/grid-nav.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { buildGridCols, nextGridCoord, isFocusCell, rovingTabindexAt, } from './grid-nav.js';
|
|
3
|
-
// Table 交互态 Grid Pattern 二维漫游纯逻辑用例(WAI-ARIA APG Grid)。
|
|
4
|
-
// 渲染层把 row=-1 当表头、0..n-1 当数据行,col 索引进 buildGridCols 扁平表。
|
|
5
|
-
// 委托键盘事件无法可靠合成(红线),故对纯坐标算法做穷尽边界测试。
|
|
6
|
-
const params = (over = {}) => ({
|
|
7
|
-
current: { row: 0, col: 0 },
|
|
8
|
-
rowCount: 5,
|
|
9
|
-
colCount: 4,
|
|
10
|
-
pageRows: 3,
|
|
11
|
-
...over,
|
|
12
|
-
});
|
|
13
|
-
const move = (key, current, over = {}, mods = {}) => nextGridCoord(key, mods, params({ ...over, current }));
|
|
14
|
-
describe('buildGridCols — 网格列扁平表', () => {
|
|
15
|
-
it('仅数据列时 1:1 映射', () => {
|
|
16
|
-
const cols = buildGridCols({ hasExpand: false, hasSelection: false, dataColumnCount: 3 });
|
|
17
|
-
expect(cols).toEqual([
|
|
18
|
-
{ kind: 'data', dataCol: 0 },
|
|
19
|
-
{ kind: 'data', dataCol: 1 },
|
|
20
|
-
{ kind: 'data', dataCol: 2 },
|
|
21
|
-
]);
|
|
22
|
-
});
|
|
23
|
-
it('expand + selection 前置占位列在数据列之前', () => {
|
|
24
|
-
const cols = buildGridCols({ hasExpand: true, hasSelection: true, dataColumnCount: 2 });
|
|
25
|
-
expect(cols.map((c) => c.kind)).toEqual(['expand', 'selection', 'data', 'data']);
|
|
26
|
-
// 第一个数据列的网格列索引 = 2(前置 2 列)
|
|
27
|
-
expect(cols.findIndex((c) => c.kind === 'data')).toBe(2);
|
|
28
|
-
});
|
|
29
|
-
it('仅 selection 时占位 1 列', () => {
|
|
30
|
-
const cols = buildGridCols({ hasExpand: false, hasSelection: true, dataColumnCount: 1 });
|
|
31
|
-
expect(cols.map((c) => c.kind)).toEqual(['selection', 'data']);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe('roving tabindex — 单一 Tab 停靠点派生', () => {
|
|
35
|
-
it('未聚焦时表头首格 (-1,0) 为唯一 tabindex=0', () => {
|
|
36
|
-
const focus = { row: 0, col: 0, hasFocused: false };
|
|
37
|
-
expect(isFocusCell(-1, 0, focus)).toBe(true);
|
|
38
|
-
expect(rovingTabindexAt(-1, 0, focus)).toBe(0);
|
|
39
|
-
// 其余全部 -1
|
|
40
|
-
expect(rovingTabindexAt(0, 0, focus)).toBe(-1);
|
|
41
|
-
expect(rovingTabindexAt(-1, 1, focus)).toBe(-1);
|
|
42
|
-
expect(rovingTabindexAt(2, 3, focus)).toBe(-1);
|
|
43
|
-
});
|
|
44
|
-
it('聚焦后仅当前焦点坐标 tabindex=0,其余 -1', () => {
|
|
45
|
-
const focus = { row: 2, col: 1, hasFocused: true };
|
|
46
|
-
expect(rovingTabindexAt(2, 1, focus)).toBe(0);
|
|
47
|
-
// 同行不同列 / 同列不同行 / 表头 均 -1(整 grid 单一停靠点)
|
|
48
|
-
expect(rovingTabindexAt(2, 0, focus)).toBe(-1);
|
|
49
|
-
expect(rovingTabindexAt(1, 1, focus)).toBe(-1);
|
|
50
|
-
expect(rovingTabindexAt(-1, 0, focus)).toBe(-1);
|
|
51
|
-
});
|
|
52
|
-
it('聚焦后表头首格不再是停靠点', () => {
|
|
53
|
-
const focus = { row: 0, col: 0, hasFocused: true };
|
|
54
|
-
expect(isFocusCell(-1, 0, focus)).toBe(false);
|
|
55
|
-
expect(isFocusCell(0, 0, focus)).toBe(true);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('nextGridCoord — 行向漫游(↑↓)', () => {
|
|
59
|
-
it('ArrowDown 逐行下移', () => {
|
|
60
|
-
expect(move('ArrowDown', { row: 0, col: 1 })).toEqual({ row: 1, col: 1 });
|
|
61
|
-
});
|
|
62
|
-
it('ArrowDown 到最后一行后 clamp(不环绕)', () => {
|
|
63
|
-
expect(move('ArrowDown', { row: 4, col: 1 })).toEqual({ row: 4, col: 1 });
|
|
64
|
-
});
|
|
65
|
-
it('ArrowUp 从首数据行回到表头行(-1)', () => {
|
|
66
|
-
expect(move('ArrowUp', { row: 0, col: 2 })).toEqual({ row: -1, col: 2 });
|
|
67
|
-
});
|
|
68
|
-
it('ArrowUp 在表头行 clamp 到 -1(不越过表头)', () => {
|
|
69
|
-
expect(move('ArrowUp', { row: -1, col: 2 })).toEqual({ row: -1, col: 2 });
|
|
70
|
-
});
|
|
71
|
-
it('ArrowDown 从表头进入首数据行', () => {
|
|
72
|
-
expect(move('ArrowDown', { row: -1, col: 0 })).toEqual({ row: 0, col: 0 });
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('nextGridCoord — 列向漫游(←→)', () => {
|
|
76
|
-
it('ArrowRight 逐列右移', () => {
|
|
77
|
-
expect(move('ArrowRight', { row: 2, col: 0 })).toEqual({ row: 2, col: 1 });
|
|
78
|
-
});
|
|
79
|
-
it('ArrowRight 到末列 clamp(不环绕)', () => {
|
|
80
|
-
expect(move('ArrowRight', { row: 2, col: 3 })).toEqual({ row: 2, col: 3 });
|
|
81
|
-
});
|
|
82
|
-
it('ArrowLeft 到首列 clamp(不环绕)', () => {
|
|
83
|
-
expect(move('ArrowLeft', { row: 2, col: 0 })).toEqual({ row: 2, col: 0 });
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
describe('nextGridCoord — Home / End(行内)', () => {
|
|
87
|
-
it('Home 跳行内首列,行不变', () => {
|
|
88
|
-
expect(move('Home', { row: 3, col: 2 })).toEqual({ row: 3, col: 0 });
|
|
89
|
-
});
|
|
90
|
-
it('End 跳行内末列,行不变', () => {
|
|
91
|
-
expect(move('End', { row: 3, col: 1 })).toEqual({ row: 3, col: 3 });
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
describe('nextGridCoord — Ctrl/Cmd+Home / End(表格首末)', () => {
|
|
95
|
-
it('Ctrl+Home 跳表头首格 (-1,0)', () => {
|
|
96
|
-
expect(move('Home', { row: 4, col: 3 }, {}, { ctrl: true })).toEqual({ row: -1, col: 0 });
|
|
97
|
-
});
|
|
98
|
-
it('Cmd+End 跳末数据行末格', () => {
|
|
99
|
-
expect(move('End', { row: 0, col: 0 }, {}, { meta: true })).toEqual({ row: 4, col: 3 });
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
describe('nextGridCoord — PageUp / PageDown(翻屏)', () => {
|
|
103
|
-
it('PageDown 下翻 pageRows 行', () => {
|
|
104
|
-
expect(move('PageDown', { row: 0, col: 1 }, { pageRows: 3 })).toEqual({ row: 3, col: 1 });
|
|
105
|
-
});
|
|
106
|
-
it('PageDown 越界 clamp 到末行', () => {
|
|
107
|
-
expect(move('PageDown', { row: 3, col: 1 }, { pageRows: 3 })).toEqual({ row: 4, col: 1 });
|
|
108
|
-
});
|
|
109
|
-
it('PageUp 上翻 pageRows 行', () => {
|
|
110
|
-
expect(move('PageUp', { row: 4, col: 2 }, { pageRows: 3 })).toEqual({ row: 1, col: 2 });
|
|
111
|
-
});
|
|
112
|
-
it('PageUp 越界 clamp 到表头行(-1)', () => {
|
|
113
|
-
expect(move('PageUp', { row: 1, col: 2 }, { pageRows: 3 })).toEqual({ row: -1, col: 2 });
|
|
114
|
-
});
|
|
115
|
-
it('PageDown 从表头落到首屏末行', () => {
|
|
116
|
-
expect(move('PageDown', { row: -1, col: 0 }, { pageRows: 3 })).toEqual({ row: 2, col: 0 });
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
describe('nextGridCoord — 非漫游键 / 边界', () => {
|
|
120
|
-
it('非漫游键返回 null(不拦截)', () => {
|
|
121
|
-
expect(move('a', { row: 0, col: 0 })).toBeNull();
|
|
122
|
-
expect(move('Tab', { row: 0, col: 0 })).toBeNull();
|
|
123
|
-
expect(move('Enter', { row: 0, col: 0 })).toBeNull();
|
|
124
|
-
});
|
|
125
|
-
it('空数据表(rowCount=0)下移仍 clamp 到表头行', () => {
|
|
126
|
-
expect(move('ArrowDown', { row: -1, col: 0 }, { rowCount: 0 })).toEqual({ row: -1, col: 0 });
|
|
127
|
-
});
|
|
128
|
-
it('不修改入参坐标对象(纯函数)', () => {
|
|
129
|
-
const cur = { row: 0, col: 0 };
|
|
130
|
-
nextGridCoord('ArrowDown', {}, params({ current: cur }));
|
|
131
|
-
expect(cur).toEqual({ row: 0, col: 0 });
|
|
132
|
-
});
|
|
133
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.a11y.test.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.a11y.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// Tabs a11y:标签页。
|
|
2
|
-
// 容器 role=tablist,每个标签 role=tab + aria-selected,激活标签 aria-selected=true,
|
|
3
|
-
// 面板 role=tabpanel(aria-controls ↔ id 关联)。
|
|
4
|
-
// 用声明式 <Tabs.Pane> 夹具(TabsA11yFixture)渲染真实面板,使 aria-controls 不悬空。
|
|
5
|
-
import { describe, it, expect, beforeAll } from 'vitest';
|
|
6
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
7
|
-
import TabsFixture from './TabsA11yFixture.svelte';
|
|
8
|
-
// jsdom 无 ResizeObserver(Tabs 用其检测标签栏溢出)。仅在本测试内补一个 no-op 桩,
|
|
9
|
-
// 不改基建/组件源码——溢出滚动行为不在静态 a11y 测试范围(留给 Playwright)。
|
|
10
|
-
beforeAll(() => {
|
|
11
|
-
if (!('ResizeObserver' in globalThis)) {
|
|
12
|
-
globalThis.ResizeObserver = class {
|
|
13
|
-
observe() { }
|
|
14
|
-
unobserve() { }
|
|
15
|
-
disconnect() { }
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
describe('Tabs a11y', () => {
|
|
20
|
-
it('默认渲染:role=tablist + tab + tabpanel,无 axe violations', async () => {
|
|
21
|
-
const { container } = renderWithLocale(TabsFixture, {});
|
|
22
|
-
expect(container.querySelector('[role="tablist"]')).not.toBeNull();
|
|
23
|
-
expect(container.querySelectorAll('[role="tab"]').length).toBe(3);
|
|
24
|
-
expect(container.querySelector('[role="tabpanel"]')).not.toBeNull();
|
|
25
|
-
await expectNoAxeViolations(container);
|
|
26
|
-
});
|
|
27
|
-
it('选中态:defaultValue 标签 aria-selected=true,其余 false', async () => {
|
|
28
|
-
const { container } = renderWithLocale(TabsFixture, {
|
|
29
|
-
props: { defaultValue: 'details' },
|
|
30
|
-
});
|
|
31
|
-
const selected = container.querySelectorAll('[role="tab"][aria-selected="true"]');
|
|
32
|
-
expect(selected.length).toBe(1);
|
|
33
|
-
expect(selected[0]?.textContent).toContain('Details');
|
|
34
|
-
await expectNoAxeViolations(container);
|
|
35
|
-
});
|
|
36
|
-
it('card 类型:role 语义不变,无 axe violations', async () => {
|
|
37
|
-
const { container } = renderWithLocale(TabsFixture, {
|
|
38
|
-
props: { type: 'card' },
|
|
39
|
-
});
|
|
40
|
-
expect(container.querySelectorAll('[role="tab"]').length).toBe(3);
|
|
41
|
-
await expectNoAxeViolations(container);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.kbd.test.d.ts","sourceRoot":"","sources":["../../src/tabs/Tabs.kbd.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
// Tabs 键盘 e2e(browser project / 真实 chromium),horizontal tablist roving。
|
|
2
|
-
// 测真实焦点移动 + 「焦点即激活」(keyboardActivation='auto' 默认)——jsdom 测不了
|
|
3
|
-
// (焦点模型不完整、命令式 focus() 不可靠):
|
|
4
|
-
// 1. roving 单停靠点:选中 tab 的 tabindex=0,其余 -1;Tab 从 before 进入只停在选中 tab。
|
|
5
|
-
// 2. ←→ 真实移动焦点到相邻 tab(环绕),auto 模式下焦点移动即激活对应面板。
|
|
6
|
-
// 3. Home/End 跳首/末 tab。
|
|
7
|
-
// 4. Tab 离开 tablist 后落到 after 按钮(单停靠点,不困在 tablist 里)。
|
|
8
|
-
//
|
|
9
|
-
// 真实焦点断言用 page locator 的 .toHaveFocus()(对真实 document.activeElement 重试断言)。
|
|
10
|
-
import { describe, it, expect } from 'vitest';
|
|
11
|
-
import { page } from 'vitest/browser';
|
|
12
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
13
|
-
import TabsKbdFixture from './TabsKbdFixture.svelte';
|
|
14
|
-
function loc(el) {
|
|
15
|
-
return page.elementLocator(el);
|
|
16
|
-
}
|
|
17
|
-
describe('Tabs 键盘 e2e(horizontal roving + auto 激活)', () => {
|
|
18
|
-
it('roving 单停靠点 + ←→ 移动焦点即激活 + Home/End 跳首末', async () => {
|
|
19
|
-
const { baseElement } = renderKbdFixture(TabsKbdFixture);
|
|
20
|
-
const tabs = Array.from(baseElement.querySelectorAll('[role="tab"]'));
|
|
21
|
-
expect(tabs.length).toBe(3);
|
|
22
|
-
const [overview, details, history] = tabs;
|
|
23
|
-
// 1. roving 单停靠点:默认选中首个 tab(defaultValue='overview'),其 tabindex=0,其余 -1。
|
|
24
|
-
expect(tabs.filter((el) => el.tabIndex === 0).length).toBe(1);
|
|
25
|
-
expect(overview.tabIndex).toBe(0);
|
|
26
|
-
expect(overview.getAttribute('aria-selected')).toBe('true');
|
|
27
|
-
// 从 before 按钮 Tab 进入:只停靠在选中 tab,不逐个进入。
|
|
28
|
-
const before = baseElement.querySelector('[data-testid="before"]');
|
|
29
|
-
before.focus();
|
|
30
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
31
|
-
await userEvent.tab();
|
|
32
|
-
await expect.element(loc(overview)).toHaveFocus();
|
|
33
|
-
// 2. → 移动焦点到下一 tab;auto 模式焦点即激活(aria-selected + 停靠点同步)。
|
|
34
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
35
|
-
await expect.element(loc(details)).toHaveFocus();
|
|
36
|
-
expect(details.getAttribute('aria-selected')).toBe('true');
|
|
37
|
-
expect(details.tabIndex).toBe(0);
|
|
38
|
-
expect(overview.tabIndex).toBe(-1);
|
|
39
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
40
|
-
await expect.element(loc(history)).toHaveFocus();
|
|
41
|
-
expect(history.getAttribute('aria-selected')).toBe('true');
|
|
42
|
-
// 环绕:末项 → 回到首项。
|
|
43
|
-
await userEvent.keyboard('{ArrowRight}');
|
|
44
|
-
await expect.element(loc(overview)).toHaveFocus();
|
|
45
|
-
// ← 环绕到末项。
|
|
46
|
-
await userEvent.keyboard('{ArrowLeft}');
|
|
47
|
-
await expect.element(loc(history)).toHaveFocus();
|
|
48
|
-
// 3. Home/End 跳首/末。
|
|
49
|
-
await userEvent.keyboard('{Home}');
|
|
50
|
-
await expect.element(loc(overview)).toHaveFocus();
|
|
51
|
-
await userEvent.keyboard('{End}');
|
|
52
|
-
await expect.element(loc(history)).toHaveFocus();
|
|
53
|
-
expect(history.getAttribute('aria-selected')).toBe('true');
|
|
54
|
-
// 4. Tab 离开 tablist:单停靠点 → 焦点先到选中面板(APG tabpanel 为 tabindex=0 的 Tab 停靠点),
|
|
55
|
-
// 再 Tab 才到 after 按钮(不困在 tablist 内逐个 tab)。
|
|
56
|
-
const panel = baseElement.querySelector('[role="tabpanel"]');
|
|
57
|
-
await userEvent.tab();
|
|
58
|
-
await expect.element(loc(panel)).toHaveFocus();
|
|
59
|
-
const after = baseElement.querySelector('[data-testid="after"]');
|
|
60
|
-
await userEvent.tab();
|
|
61
|
-
await expect.element(loc(after)).toHaveFocus();
|
|
62
|
-
});
|
|
63
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
仅供 Tabs.a11y.test.ts 使用的测试夹具:声明式 <Tabs.Pane> 用法(含 role=tabpanel 面板),
|
|
3
|
-
使 tab 的 aria-controls 指向真实存在的面板 id(axe aria-valid-attr-value 通过)。
|
|
4
|
-
纯 tabList 用法不渲染面板,aria-controls 会悬空,不是 a11y-clean 路径。
|
|
5
|
-
-->
|
|
6
|
-
<script lang="ts">
|
|
7
|
-
import { Tabs } from './index.js';
|
|
8
|
-
|
|
9
|
-
interface Props {
|
|
10
|
-
defaultValue?: string | number;
|
|
11
|
-
type?: 'line' | 'card' | 'button';
|
|
12
|
-
}
|
|
13
|
-
let { defaultValue = 'overview', type = 'line' }: Props = $props();
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<Tabs {defaultValue} {type}>
|
|
17
|
-
<Tabs.Pane itemKey="overview" tab="Overview">Overview content</Tabs.Pane>
|
|
18
|
-
<Tabs.Pane itemKey="details" tab="Details">Details content</Tabs.Pane>
|
|
19
|
-
<Tabs.Pane itemKey="history" tab="History">History content</Tabs.Pane>
|
|
20
|
-
</Tabs>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
interface Props {
|
|
2
|
-
defaultValue?: string | number;
|
|
3
|
-
type?: 'line' | 'card' | 'button';
|
|
4
|
-
}
|
|
5
|
-
declare const TabsA11yFixture: import("svelte").Component<Props, {}, "">;
|
|
6
|
-
type TabsA11yFixture = ReturnType<typeof TabsA11yFixture>;
|
|
7
|
-
export default TabsA11yFixture;
|
|
8
|
-
//# sourceMappingURL=TabsA11yFixture.svelte.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsA11yFixture.svelte.d.ts","sourceRoot":"","sources":["../../src/tabs/TabsA11yFixture.svelte.ts"],"names":[],"mappings":"AAME,UAAU,KAAK;IACb,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CACnC;AAgBH,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|