@chenzy-design/svelte 0.1.0 → 0.2.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/dist/components.json +1 -1
- package/package.json +7 -8
- 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
package/dist/components.json
CHANGED
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chenzy-design/svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css",
|
|
7
7
|
"*.svelte"
|
|
8
8
|
],
|
|
9
|
-
"svelte": "./
|
|
9
|
+
"svelte": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
-
"svelte": "./
|
|
15
|
-
"default": "./
|
|
14
|
+
"svelte": "./dist/index.js",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
16
|
},
|
|
17
17
|
"./components.json": {
|
|
18
18
|
"types": "./dist/components.d.ts",
|
|
@@ -20,13 +20,12 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
|
-
"src",
|
|
24
23
|
"dist"
|
|
25
24
|
],
|
|
26
25
|
"dependencies": {
|
|
27
|
-
"@chenzy-design/core": "0.
|
|
28
|
-
"@chenzy-design/locale": "0.
|
|
29
|
-
"@chenzy-design/tokens": "0.
|
|
26
|
+
"@chenzy-design/core": "0.2.0",
|
|
27
|
+
"@chenzy-design/locale": "0.2.0",
|
|
28
|
+
"@chenzy-design/tokens": "0.2.0"
|
|
30
29
|
},
|
|
31
30
|
"devDependencies": {
|
|
32
31
|
"tsx": "^4.19.2"
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useFloating — imperative popup positioning glue for Svelte overlays.
|
|
3
|
-
* Portals the popup element to document.body, positions it with `position:fixed`
|
|
4
|
-
* via core's pure `computePosition`, and keeps it aligned on scroll/resize.
|
|
5
|
-
* All DOM/geometry work is imperative with explicit cleanup (red line #3):
|
|
6
|
-
* callers run it inside `$effect` and return `destroy`.
|
|
7
|
-
*
|
|
8
|
-
* Pure positioning math lives in @chenzy-design/core (computePosition); this
|
|
9
|
-
* file only measures rects, writes styles, wires listeners and the portal.
|
|
10
|
-
*/
|
|
11
|
-
import { computePosition, type Placement } from '@chenzy-design/core';
|
|
12
|
-
|
|
13
|
-
export interface UseFloatingOptions {
|
|
14
|
-
placement: Placement;
|
|
15
|
-
/** gap between trigger and popup (px) */
|
|
16
|
-
offset?: number;
|
|
17
|
-
/** flip to the opposite side on viewport overflow */
|
|
18
|
-
autoAdjust?: boolean;
|
|
19
|
-
/** min distance from the viewport edge (px) */
|
|
20
|
-
padding?: number;
|
|
21
|
-
/** set the popup's min-inline-size to the trigger width (Select-style dropdowns) */
|
|
22
|
-
matchWidth?: boolean;
|
|
23
|
-
/** point start/end-aligned arrows at the trigger center (default false) */
|
|
24
|
-
arrowPointAtCenter?: boolean;
|
|
25
|
-
/** distance (px) from the aligned edge to the arrow for start/end alignment */
|
|
26
|
-
arrowEdgeDistance?: number;
|
|
27
|
-
/** called after each reposition with the resolved side/align + arrow offset */
|
|
28
|
-
onPlacement?: (info: { placement: Placement; arrowOffset: number }) => void;
|
|
29
|
-
/**
|
|
30
|
-
* Custom mount container for the portaled popup. Defaults to document.body.
|
|
31
|
-
* When it resolves to a non-body element the popup is positioned with
|
|
32
|
-
* `position:absolute` relative to that container (offset by the container's
|
|
33
|
-
* box + scroll), instead of the viewport-fixed positioning used for body.
|
|
34
|
-
*/
|
|
35
|
-
getContainer?: (() => HTMLElement | null | undefined) | undefined;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface FloatingHandle {
|
|
39
|
-
/** force a reposition (e.g. after content changes) */
|
|
40
|
-
update: () => void;
|
|
41
|
-
/** remove listeners and return the popup from the portal */
|
|
42
|
-
destroy: () => void;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const SUPPORTS_DOM = typeof document !== 'undefined' && typeof window !== 'undefined';
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Mount `popup` into <body>, position it relative to `trigger`, and keep it
|
|
49
|
-
* positioned until destroy(). Returns a no-op handle in non-DOM (SSR) contexts.
|
|
50
|
-
*/
|
|
51
|
-
export function useFloating(
|
|
52
|
-
trigger: HTMLElement,
|
|
53
|
-
popup: HTMLElement,
|
|
54
|
-
options: UseFloatingOptions,
|
|
55
|
-
): FloatingHandle {
|
|
56
|
-
if (!SUPPORTS_DOM) {
|
|
57
|
-
return { update: () => {}, destroy: () => {} };
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const {
|
|
61
|
-
placement,
|
|
62
|
-
offset = 8,
|
|
63
|
-
autoAdjust = true,
|
|
64
|
-
padding = 4,
|
|
65
|
-
matchWidth = false,
|
|
66
|
-
arrowPointAtCenter = false,
|
|
67
|
-
arrowEdgeDistance,
|
|
68
|
-
onPlacement,
|
|
69
|
-
getContainer,
|
|
70
|
-
} = options;
|
|
71
|
-
|
|
72
|
-
// portal: detach the popup from its in-flow parent and append to the custom
|
|
73
|
-
// container (default <body>) so it escapes any `overflow:hidden` ancestor
|
|
74
|
-
// clipping. A non-body container switches positioning to `position:absolute`
|
|
75
|
-
// relative to that container (computePosition still works in viewport space;
|
|
76
|
-
// we translate the result into the container's coordinate space below).
|
|
77
|
-
const container = getContainer?.() ?? document.body;
|
|
78
|
-
const useAbsolute = container !== document.body;
|
|
79
|
-
container.appendChild(popup);
|
|
80
|
-
popup.style.position = useAbsolute ? 'absolute' : 'fixed';
|
|
81
|
-
popup.style.insetBlockStart = '0';
|
|
82
|
-
popup.style.insetInlineStart = '0';
|
|
83
|
-
popup.style.margin = '0';
|
|
84
|
-
|
|
85
|
-
let frame = 0;
|
|
86
|
-
|
|
87
|
-
function position() {
|
|
88
|
-
const triggerRect = trigger.getBoundingClientRect();
|
|
89
|
-
// match-width must be applied before measuring the popup so its rect (and
|
|
90
|
-
// the cross-axis clamping below) reflects the trigger-derived width.
|
|
91
|
-
if (matchWidth) {
|
|
92
|
-
popup.style.minInlineSize = `${Math.round(triggerRect.width)}px`;
|
|
93
|
-
}
|
|
94
|
-
const popupRect = popup.getBoundingClientRect();
|
|
95
|
-
const result = computePosition({
|
|
96
|
-
triggerRect,
|
|
97
|
-
popupRect,
|
|
98
|
-
viewport: { width: window.innerWidth, height: window.innerHeight },
|
|
99
|
-
placement,
|
|
100
|
-
offset,
|
|
101
|
-
autoAdjust,
|
|
102
|
-
padding,
|
|
103
|
-
arrowPointAtCenter,
|
|
104
|
-
...(arrowEdgeDistance !== undefined ? { arrowEdgeDistance } : {}),
|
|
105
|
-
});
|
|
106
|
-
let x = result.x;
|
|
107
|
-
let y = result.y;
|
|
108
|
-
if (useAbsolute) {
|
|
109
|
-
// computePosition yields viewport coords; convert to the container's
|
|
110
|
-
// local space: subtract the container's box origin and add its scroll.
|
|
111
|
-
const cRect = container.getBoundingClientRect();
|
|
112
|
-
x = x - cRect.left + container.scrollLeft;
|
|
113
|
-
y = y - cRect.top + container.scrollTop;
|
|
114
|
-
}
|
|
115
|
-
popup.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;
|
|
116
|
-
onPlacement?.({ placement: result.placement, arrowOffset: result.arrowOffset });
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function schedule() {
|
|
120
|
-
if (frame) return;
|
|
121
|
-
frame = window.requestAnimationFrame(() => {
|
|
122
|
-
frame = 0;
|
|
123
|
-
position();
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// initial position before paint, then keep aligned on scroll/resize.
|
|
128
|
-
position();
|
|
129
|
-
// listen in capture phase so scrolls in any ancestor scroll container reposition.
|
|
130
|
-
window.addEventListener('scroll', schedule, true);
|
|
131
|
-
window.addEventListener('resize', schedule);
|
|
132
|
-
|
|
133
|
-
return {
|
|
134
|
-
update: position,
|
|
135
|
-
destroy() {
|
|
136
|
-
if (frame) {
|
|
137
|
-
window.cancelAnimationFrame(frame);
|
|
138
|
-
frame = 0;
|
|
139
|
-
}
|
|
140
|
-
window.removeEventListener('scroll', schedule, true);
|
|
141
|
-
window.removeEventListener('resize', schedule);
|
|
142
|
-
// Svelte may have already run its {#if} unmount against the popup's
|
|
143
|
-
// original slot (a no-op, since the node now lives in <body>), so the
|
|
144
|
-
// action owns teardown: remove the portaled popup outright. On the next
|
|
145
|
-
// open Svelte re-creates a fresh node + action instance.
|
|
146
|
-
popup.remove();
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export interface FloatingActionParams extends UseFloatingOptions {
|
|
152
|
-
/** the trigger element the popup anchors to */
|
|
153
|
-
trigger: HTMLElement | null | undefined;
|
|
154
|
-
/**
|
|
155
|
-
* Optional liveness flag. When a caller keeps the popup mounted while hidden
|
|
156
|
-
* (e.g. Dropdown destroyOnClose=false caches DOM), toggling this forces a
|
|
157
|
-
* reposition on re-show without rebuilding the portal.
|
|
158
|
-
*/
|
|
159
|
-
open?: boolean;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Svelte action wrapper around useFloating. Use on the popup element:
|
|
164
|
-
* <div use:floating={{ trigger: rootEl, placement, autoAdjust, onPlacement }}>
|
|
165
|
-
*
|
|
166
|
-
* The action's destroy runs when Svelte tears the node down (before removal),
|
|
167
|
-
* which avoids the `$effect`-cleanup vs `{#if}`-unmount ordering race that would
|
|
168
|
-
* otherwise leave a portaled node orphaned in the DOM.
|
|
169
|
-
*/
|
|
170
|
-
export function floating(node: HTMLElement, params: FloatingActionParams) {
|
|
171
|
-
let handle: FloatingHandle | undefined;
|
|
172
|
-
let lastTrigger = params.trigger;
|
|
173
|
-
let lastPlacement = params.placement;
|
|
174
|
-
let lastPointAtCenter = params.arrowPointAtCenter;
|
|
175
|
-
|
|
176
|
-
function start(p: FloatingActionParams) {
|
|
177
|
-
if (!p.trigger) return;
|
|
178
|
-
handle = useFloating(p.trigger, node, p);
|
|
179
|
-
}
|
|
180
|
-
function stop() {
|
|
181
|
-
handle?.destroy();
|
|
182
|
-
handle = undefined;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
start(params);
|
|
186
|
-
|
|
187
|
-
return {
|
|
188
|
-
update(next: FloatingActionParams) {
|
|
189
|
-
// only rebuild (re-portal + re-listen) when the anchor or requested
|
|
190
|
-
// placement changes; otherwise just reposition in place. This avoids a
|
|
191
|
-
// rebuild loop when onPlacement writes back the resolved placement.
|
|
192
|
-
if (
|
|
193
|
-
next.trigger !== lastTrigger ||
|
|
194
|
-
next.placement !== lastPlacement ||
|
|
195
|
-
next.arrowPointAtCenter !== lastPointAtCenter
|
|
196
|
-
) {
|
|
197
|
-
lastTrigger = next.trigger;
|
|
198
|
-
lastPlacement = next.placement;
|
|
199
|
-
lastPointAtCenter = next.arrowPointAtCenter;
|
|
200
|
-
stop();
|
|
201
|
-
start(next);
|
|
202
|
-
} else {
|
|
203
|
-
handle?.update();
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
destroy: stop,
|
|
207
|
-
};
|
|
208
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// Anchor a11y:导航锚点列表。
|
|
2
|
-
// - nav[aria-label] 包裹原生 <a> 链接列表;激活链接 aria-current(这里值为 'location')。
|
|
3
|
-
// - 嵌套 links.children 形成 ul/li 树。
|
|
4
|
-
// jsdom 只断言静态 ARIA + axe(scroll-spy / roving 键盘留给真实浏览器)。
|
|
5
|
-
import { describe, it, expect } from 'vitest';
|
|
6
|
-
import { renderWithLocale, expectNoAxeViolations } from '../test-utils/a11y.js';
|
|
7
|
-
import Anchor from './Anchor.svelte';
|
|
8
|
-
import type { AnchorLink } from './types.js';
|
|
9
|
-
|
|
10
|
-
const links: AnchorLink[] = [
|
|
11
|
-
{ key: 'intro', href: '#intro', title: 'Intro' },
|
|
12
|
-
{ key: 'usage', href: '#usage', title: 'Usage' },
|
|
13
|
-
];
|
|
14
|
-
|
|
15
|
-
describe('Anchor a11y', () => {
|
|
16
|
-
it('默认渲染:nav[aria-label] + 链接列表,无 axe violations', async () => {
|
|
17
|
-
const { container } = renderWithLocale(Anchor, { props: { links } });
|
|
18
|
-
const nav = container.querySelector('nav.cd-anchor');
|
|
19
|
-
expect(nav).not.toBeNull();
|
|
20
|
-
// ariaLabel 缺省走 locale,应为非空可访问名。
|
|
21
|
-
expect(nav?.getAttribute('aria-label')).toBeTruthy();
|
|
22
|
-
expect(container.querySelectorAll('a.cd-anchor__link')).toHaveLength(2);
|
|
23
|
-
await expectNoAxeViolations(container);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('激活链接带 aria-current(首个默认激活)', async () => {
|
|
27
|
-
const { container } = renderWithLocale(Anchor, {
|
|
28
|
-
props: { links, defaultValue: 'usage' },
|
|
29
|
-
});
|
|
30
|
-
const current = container.querySelector('a[aria-current]');
|
|
31
|
-
expect(current?.textContent?.trim()).toBe('Usage');
|
|
32
|
-
await expectNoAxeViolations(container);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it('嵌套链接:渲染嵌套 ul/li 树,无 axe violations', async () => {
|
|
36
|
-
const nested: AnchorLink[] = [
|
|
37
|
-
{
|
|
38
|
-
key: 'a',
|
|
39
|
-
href: '#a',
|
|
40
|
-
title: 'A',
|
|
41
|
-
children: [{ key: 'a1', href: '#a1', title: 'A1' }],
|
|
42
|
-
},
|
|
43
|
-
];
|
|
44
|
-
const { container } = renderWithLocale(Anchor, { props: { links: nested } });
|
|
45
|
-
// 顶层 ul 内含子 ul(嵌套树)。
|
|
46
|
-
expect(container.querySelector('.cd-anchor__list .cd-anchor__list')).not.toBeNull();
|
|
47
|
-
await expectNoAxeViolations(container);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// Anchor 键盘 e2e(browser project / 真实 chromium)。
|
|
2
|
-
// 链接列表为单一 Tab 停靠点,roving(真实焦点)。
|
|
3
|
-
// 测真实焦点移动 + Space 激活——jsdom 测不了(命令式 focus() 不可靠):
|
|
4
|
-
// 1. roving 单停靠点:Tab 进入只停在一个链接(其余 tabindex=-1,默认首个)。
|
|
5
|
-
// 2. ↑↓/←→ 真实移动焦点到相邻链接(无 wrap:clamp,源码 nextRovingIndex(...,false))。
|
|
6
|
-
// 3. Home/End 跳首/末链接。
|
|
7
|
-
// 4. Space 激活当前焦点链接(aria-current=location)。
|
|
8
|
-
//
|
|
9
|
-
// 真实焦点断言用 page locator 的 .toHaveFocus()。
|
|
10
|
-
import { describe, it, expect } from 'vitest';
|
|
11
|
-
import { page } from 'vitest/browser';
|
|
12
|
-
import { renderKbdFixture, userEvent } from '../test-utils/kbd.js';
|
|
13
|
-
import AnchorKbdFixture from './AnchorKbdFixture.svelte';
|
|
14
|
-
|
|
15
|
-
function loc(el: Element) {
|
|
16
|
-
return page.elementLocator(el);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
describe('Anchor 键盘 e2e(链接 roving,真实焦点)', () => {
|
|
20
|
-
it('Tab 单停靠点 + 方向键移动焦点(clamp)+ Home/End + Space 激活', async () => {
|
|
21
|
-
const { baseElement } = renderKbdFixture(AnchorKbdFixture);
|
|
22
|
-
|
|
23
|
-
const links = Array.from(baseElement.querySelectorAll<HTMLElement>('a[data-anchor-key]'));
|
|
24
|
-
expect(links.length).toBe(3);
|
|
25
|
-
const [one, two, three] = links as [HTMLElement, HTMLElement, HTMLElement];
|
|
26
|
-
|
|
27
|
-
// 1. roving 单停靠点:默认首链接为 tabindex=0,其余 -1。
|
|
28
|
-
expect(links.filter((el) => el.tabIndex === 0).length).toBe(1);
|
|
29
|
-
expect(one.tabIndex).toBe(0);
|
|
30
|
-
|
|
31
|
-
const before = baseElement.querySelector('[data-testid="before"]') as HTMLElement;
|
|
32
|
-
before.focus();
|
|
33
|
-
await expect.element(loc(before)).toHaveFocus();
|
|
34
|
-
await userEvent.tab();
|
|
35
|
-
await expect.element(loc(one)).toHaveFocus();
|
|
36
|
-
|
|
37
|
-
// 2. ↓ 移动焦点到下一链接(真实焦点 + 停靠点同步)。
|
|
38
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
39
|
-
await expect.element(loc(two)).toHaveFocus();
|
|
40
|
-
expect(two.tabIndex).toBe(0);
|
|
41
|
-
expect(one.tabIndex).toBe(-1);
|
|
42
|
-
|
|
43
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
44
|
-
await expect.element(loc(three)).toHaveFocus();
|
|
45
|
-
|
|
46
|
-
// 无 wrap:末项再 ↓ 停在末项(clamp)。
|
|
47
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
48
|
-
await expect.element(loc(three)).toHaveFocus();
|
|
49
|
-
|
|
50
|
-
// ↑ 回退;首项再 ↑ 停在首项(clamp)。
|
|
51
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
52
|
-
await expect.element(loc(two)).toHaveFocus();
|
|
53
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
54
|
-
await expect.element(loc(one)).toHaveFocus();
|
|
55
|
-
await userEvent.keyboard('{ArrowUp}');
|
|
56
|
-
await expect.element(loc(one)).toHaveFocus();
|
|
57
|
-
|
|
58
|
-
// 3. Home/End 跳首/末。
|
|
59
|
-
await userEvent.keyboard('{End}');
|
|
60
|
-
await expect.element(loc(three)).toHaveFocus();
|
|
61
|
-
await userEvent.keyboard('{Home}');
|
|
62
|
-
await expect.element(loc(one)).toHaveFocus();
|
|
63
|
-
|
|
64
|
-
// 4. Space 激活当前焦点链接(aria-current=location)。
|
|
65
|
-
await userEvent.keyboard('{ArrowDown}');
|
|
66
|
-
await expect.element(loc(two)).toHaveFocus();
|
|
67
|
-
await userEvent.keyboard(' ');
|
|
68
|
-
await expect.element(loc(two)).toHaveAttribute('aria-current', 'location');
|
|
69
|
-
});
|
|
70
|
-
});
|