@astryxdesign/core 0.7.6-canary.f73623d → 0.7.6-canary.f899313
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/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +2 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +8 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +17 -18
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +8 -4
- package/dist/DropdownMenu/DropdownMenuGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuGroup.js +2 -1
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +27 -2
- package/dist/FieldStatus/FieldStatus.d.ts +3 -0
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +1 -0
- package/dist/FileInput/FileInput.d.ts +3 -0
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +59 -33
- package/dist/Layer/useTouchTrigger.d.ts +9 -0
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +1 -1
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +10 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +19 -9
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +11 -15
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +9 -6
- package/dist/Selector/hooks.js +2 -2
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +82 -10
- package/dist/Token/Token.d.ts +1 -1
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +15 -0
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +16 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +10 -3
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +36 -10
- package/dist/astryx.css +1 -1
- package/dist/i18n/useListFormatter.d.ts +9 -0
- package/dist/i18n/useListFormatter.d.ts.map +1 -0
- package/dist/i18n/useListFormatter.js +41 -0
- package/package.json +18 -5
- package/src/Badge/Badge.tsx +2 -1
- package/src/Chat/ChatMessage.spec.md +64 -65
- package/src/Citation/Citation.spec.md +60 -47
- package/src/ComplexSelector/ComplexSelector.tsx +19 -2
- package/src/DateInput/DateInput.spec.md +74 -57
- package/src/DateInput/MonthScroller.tsx +15 -17
- package/src/DateRangeInput/DateRangeInput.tsx +18 -3
- package/src/DropdownMenu/DropdownMenuGroup.tsx +2 -1
- package/src/Field/Field.doc.mjs +2 -1
- package/src/Field/FieldLabel.doc.mjs +4 -2
- package/src/Field/FieldLabel.spec.md +30 -21
- package/src/Field/FieldLabel.tsx +37 -3
- package/src/FieldStatus/FieldStatus.tsx +7 -0
- package/src/FileInput/FileInput.tsx +69 -28
- package/src/FormLayout/FormLayout.spec.md +11 -19
- package/src/Layer/useTouchTrigger.ts +1 -1
- package/src/Lightbox/Lightbox.spec.md +249 -61
- package/src/Link/Link.tsx +9 -2
- package/src/MultiSelector/MultiSelector.spec.md +121 -114
- package/src/MultiSelector/MultiSelector.tsx +19 -5
- package/src/NumberInput/NumberInput.tsx +11 -18
- package/src/ProgressBar/ProgressBar.spec.md +143 -119
- package/src/Selector/Selector.tsx +16 -6
- package/src/Selector/hooks.ts +2 -2
- package/src/Slider/Slider.spec.md +18 -16
- package/src/Slider/Slider.tsx +101 -9
- package/src/Token/Token.spec.md +24 -23
- package/src/Token/Token.tsx +15 -0
- package/src/Tokenizer/Tokenizer.tsx +10 -0
- package/src/Typeahead/BaseTypeahead.tsx +18 -2
- package/src/Typeahead/Typeahead.tsx +40 -9
- package/src/i18n/useListFormatter.ts +42 -0
- package/dist/Item/ItemMarkerColumns.a11y.chromium.spec.d.ts +0 -2
- package/dist/Item/ItemMarkerColumns.a11y.chromium.spec.js +0 -132
- package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.d.ts +0 -2
- package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.js +0 -78
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +0 -2
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +0 -66
- package/dist/List/ListMarkers.a11y.chromium.spec.d.ts +0 -2
- package/dist/List/ListMarkers.a11y.chromium.spec.js +0 -677
- package/dist/Markdown/Markdown.fr23.bench.d.ts +0 -2
- package/dist/Markdown/Markdown.fr23.bench.d.ts.map +0 -1
- package/dist/Markdown/Markdown.fr23.bench.js +0 -152
- package/dist/Markdown/MarkdownTable.a11y.chromium.spec.d.ts +0 -2
- package/dist/Markdown/MarkdownTable.a11y.chromium.spec.js +0 -590
- package/dist/Markdown/plugins/headingLinks.a11y.chromium.spec.d.ts +0 -2
- package/dist/Markdown/plugins/headingLinks.a11y.chromium.spec.js +0 -657
- package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.d.ts +0 -2
- package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.js +0 -153
- package/dist/MultiSelector/CreateRow.a11y.chromium.spec.d.ts +0 -2
- package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +0 -117
- package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.d.ts +0 -2
- package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.js +0 -49
- package/dist/MultiSelector/OptionActions.a11y.chromium.spec.d.ts +0 -2
- package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +0 -273
- package/dist/Outline/OutlineFocus.a11y.chromium.spec.d.ts +0 -2
- package/dist/Outline/OutlineFocus.a11y.chromium.spec.js +0 -421
- package/dist/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.d.ts +0 -2
- package/dist/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.js +0 -118
- package/dist/reset.a11y.chromium.spec.d.ts +0 -2
- package/dist/reset.a11y.chromium.spec.js +0 -231
- package/dist/reset.until-found.a11y.browser.spec.d.ts +0 -2
- package/dist/reset.until-found.a11y.browser.spec.js +0 -72
- package/src/AlertDialog/AlertDialog.test.tsx +0 -519
- package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +0 -128
- package/src/AlertDialog/__tests__/AlertDialog.a11y.renders.tsx +0 -52
- package/src/AlertDialog/__tests__/AlertDialog.a11y.states.ts +0 -68
- package/src/AlertDialog/__tests__/AlertDialog.a11y.test.tsx +0 -144
- package/src/AlertDialog/useImperativeAlertDialog.test.tsx +0 -163
- package/src/AppShell/AppShell.test.tsx +0 -1310
- package/src/AppShell/__tests__/AppShellMainKeyboard.a11y.browser.spec.ts +0 -534
- package/src/AppShell/observeMainOverflow.test.ts +0 -173
- package/src/AspectRatio/AspectRatio.test.tsx +0 -398
- package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +0 -158
- package/src/Avatar/Avatar.test.tsx +0 -867
- package/src/Avatar/AvatarStatusDot.test.tsx +0 -306
- package/src/Avatar/__tests__/AvatarForcedColors.a11y.chromium.spec.ts +0 -126
- package/src/AvatarGroup/AvatarGroup.test.tsx +0 -313
- package/src/AvatarGroup/AvatarGroupOverflow.test.tsx +0 -263
- package/src/Badge/Badge.test.tsx +0 -125
- package/src/Badge/__tests__/BadgeLargerText.a11y.chromium.spec.ts +0 -260
- package/src/Banner/Banner.test.tsx +0 -879
- package/src/Blockquote/Blockquote.test.tsx +0 -121
- package/src/BottomSheet/BottomSheet.test.tsx +0 -3154
- package/src/BottomSheet/BottomSheetEdgeTint.test.tsx +0 -248
- package/src/BottomSheet/BottomSheetKeyboard.test.tsx +0 -195
- package/src/BottomSheet/BottomSheetPanel.test.tsx +0 -549
- package/src/BottomSheet/BottomSheetReplace.test.tsx +0 -1638
- package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +0 -246
- package/src/BottomSheet/BottomSheetStacking.test.tsx +0 -3184
- package/src/BottomSheet/BottomSheetSwitcher.test.tsx +0 -2010
- package/src/BottomSheet/__tests__/BottomSheetDrag.a11y.chromium.spec.ts +0 -129
- package/src/BottomSheet/__tests__/BottomSheetFocusReturn.a11y.browser.spec.ts +0 -97
- package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +0 -415
- package/src/BottomSheet/__tests__/BottomSheetNativeModal.a11y.browser.spec.ts +0 -462
- package/src/BottomSheet/__tests__/BottomSheetPinchZoom.a11y.chromium.spec.ts +0 -247
- package/src/BottomSheet/__tests__/BottomSheetToastOutlet.a11y.chromium.spec.ts +0 -83
- package/src/BottomSheet/snapOffsets.test.ts +0 -254
- package/src/BottomSheet/useSheetGestures.test.ts +0 -1690
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +0 -921
- package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.chromium.spec.ts +0 -132
- package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.renders.tsx +0 -45
- package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.states.ts +0 -81
- package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.test.tsx +0 -125
- package/src/Button/Button.test.tsx +0 -864
- package/src/Button/__tests__/Button.a11y.chromium.spec.ts +0 -355
- package/src/Button/__tests__/Button.a11y.harnesses.tsx +0 -47
- package/src/Button/__tests__/Button.a11y.known-failures.ts +0 -25
- package/src/Button/__tests__/Button.a11y.renders.tsx +0 -139
- package/src/Button/__tests__/Button.a11y.states.ts +0 -317
- package/src/Button/__tests__/Button.a11y.test.tsx +0 -187
- package/src/ButtonGroup/ButtonGroup.test.tsx +0 -1025
- package/src/Calendar/Calendar.test.tsx +0 -2186
- package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +0 -141
- package/src/Calendar/__tests__/Calendar.a11y.known-failures.ts +0 -12
- package/src/Calendar/__tests__/Calendar.a11y.renders.tsx +0 -57
- package/src/Calendar/__tests__/Calendar.a11y.states.ts +0 -139
- package/src/Calendar/__tests__/Calendar.a11y.test.tsx +0 -137
- package/src/Calendar/dayCellUtils.test.ts +0 -520
- package/src/Calendar/getInitialFocusDate.test.ts +0 -94
- package/src/Calendar/getStandaloneShortWeekdayNames.test.ts +0 -54
- package/src/Calendar/hooks/useCalendarConstraints.test.ts +0 -153
- package/src/Calendar/hooks/useCalendarDays.test.ts +0 -265
- package/src/Calendar/hooks/useCalendarNavigation.test.ts +0 -252
- package/src/Card/Card.test.tsx +0 -202
- package/src/Carousel/Carousel.test.tsx +0 -1036
- package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +0 -207
- package/src/Carousel/__tests__/Carousel.a11y.known-failures.ts +0 -12
- package/src/Carousel/__tests__/Carousel.a11y.renders.tsx +0 -39
- package/src/Carousel/__tests__/Carousel.a11y.states.ts +0 -139
- package/src/Carousel/__tests__/Carousel.a11y.test.tsx +0 -127
- package/src/Center/Center.test.tsx +0 -406
- package/src/Chat/ChatComposer.test.tsx +0 -364
- package/src/Chat/ChatComposerDrawer.test.tsx +0 -130
- package/src/Chat/ChatComposerInput.test.tsx +0 -2136
- package/src/Chat/ChatComposerTokenElement.test.tsx +0 -85
- package/src/Chat/ChatDictationButton.test.tsx +0 -108
- package/src/Chat/ChatLayout.test.tsx +0 -311
- package/src/Chat/ChatLayoutScrollButton.test.tsx +0 -99
- package/src/Chat/ChatMessage.test.tsx +0 -344
- package/src/Chat/ChatMessageBubble.test.tsx +0 -294
- package/src/Chat/ChatMessageList.test.tsx +0 -198
- package/src/Chat/ChatMessageMetadata.test.tsx +0 -66
- package/src/Chat/ChatPastedTextToken.test.tsx +0 -71
- package/src/Chat/ChatSendButton.test.tsx +0 -309
- package/src/Chat/ChatSystemMessage.test.tsx +0 -189
- package/src/Chat/ChatTokenizedText.test.tsx +0 -163
- package/src/Chat/ChatToolCalls.test.tsx +0 -413
- package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +0 -577
- package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +0 -740
- package/src/Chat/__tests__/ChatMessageBubble.a11y.chromium.spec.ts +0 -457
- package/src/Chat/__tests__/ChatMessageBubble.auditProvenance.test.ts +0 -91
- package/src/Chat/__tests__/ChatMessageBubble.auditProvenance.ts +0 -91
- package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +0 -465
- package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +0 -416
- package/src/Chat/__tests__/ChatSendButton.a11y.chromium.spec.ts +0 -1523
- package/src/Chat/__tests__/ChatSystemMessage.a11y.chromium.spec.ts +0 -1004
- package/src/Chat/__tests__/ChatTokenizedText.a11y.chromium.spec.ts +0 -574
- package/src/Chat/__tests__/useChatStreamScroll.a11y.chromium.spec.ts +0 -263
- package/src/Chat/__tests__/useChatStreamScroll.fixture.tsx +0 -61
- package/src/Chat/useChatDictation.test.tsx +0 -369
- package/src/Chat/useChatNewMessages.test.tsx +0 -209
- package/src/Chat/useChatPasteAsToken.test.ts +0 -191
- package/src/Chat/useChatStreamScroll.test.tsx +0 -381
- package/src/Chat/useTriggerMenu.test.tsx +0 -994
- package/src/CheckboxInput/CheckboxInput.test.tsx +0 -926
- package/src/CheckboxInput/__tests__/Checkbox.a11y.chromium.spec.ts +0 -354
- package/src/CheckboxInput/__tests__/Checkbox.a11y.known-failures.ts +0 -54
- package/src/CheckboxInput/__tests__/Checkbox.a11y.renders.tsx +0 -310
- package/src/CheckboxInput/__tests__/Checkbox.a11y.states.ts +0 -404
- package/src/CheckboxInput/__tests__/Checkbox.a11y.test.tsx +0 -128
- package/src/CheckboxList/CheckboxList.fr10.test.tsx +0 -51
- package/src/CheckboxList/CheckboxList.test.tsx +0 -1159
- package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +0 -1998
- package/src/Citation/Citation.test.tsx +0 -361
- package/src/ClickableCard/ClickableCard.test.tsx +0 -382
- package/src/Code/Code.test.tsx +0 -75
- package/src/CodeBlock/CodeBlock.highlightStyles.test.tsx +0 -87
- package/src/CodeBlock/CodeBlock.test.tsx +0 -752
- package/src/CodeBlock/CodeLanguage.test.tsx +0 -173
- package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +0 -325
- package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +0 -64
- package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +0 -126
- package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +0 -94
- package/src/CodeBlock/highlightRanges.test.ts +0 -253
- package/src/CodeBlock/languages.test.ts +0 -402
- package/src/CodeBlock/tokenizer.test.ts +0 -280
- package/src/CodeBlock/tokenizerBudget.test.ts +0 -112
- package/src/Collapsible/Collapsible.test.tsx +0 -620
- package/src/Collapsible/CollapsibleGroup.test.tsx +0 -656
- package/src/Collapsible/__tests__/Collapsible.a11y.chromium.spec.ts +0 -194
- package/src/Collapsible/__tests__/Collapsible.a11y.states.ts +0 -117
- package/src/Collapsible/__tests__/Collapsible.a11y.test.tsx +0 -140
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.chromium.spec.ts +0 -559
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.renders.tsx +0 -45
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.states.ts +0 -139
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.test.tsx +0 -135
- package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +0 -141
- package/src/Collapsible/useCollapsible.test.tsx +0 -236
- package/src/CommandPalette/CommandPalette.perf.test.ts +0 -100
- package/src/CommandPalette/CommandPalette.test.tsx +0 -750
- package/src/CommandPalette/CommandPaletteEmpty.test.tsx +0 -101
- package/src/CommandPalette/CommandPaletteFooter.test.tsx +0 -122
- package/src/CommandPalette/CommandPaletteGroup.test.tsx +0 -129
- package/src/CommandPalette/CommandPaletteInput.test.tsx +0 -539
- package/src/CommandPalette/CommandPaletteItem.test.tsx +0 -417
- package/src/CommandPalette/CommandPaletteList.test.tsx +0 -184
- package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +0 -600
- package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +0 -715
- package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +0 -582
- package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +0 -336
- package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +0 -523
- package/src/ComplexSelector/ComplexSelector.focusableDisabled.test.tsx +0 -76
- package/src/ComplexSelector/ComplexSelector.fr10.test.tsx +0 -262
- package/src/ComplexSelector/ComplexSelector.test.tsx +0 -1171
- package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +0 -965
- package/src/ContextMenu/ContextMenu.test.tsx +0 -1617
- package/src/ContextMenu/ContextMenu.triggerProps.test.tsx +0 -54
- package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +0 -439
- package/src/ContextMenu/__tests__/ContextMenuCursorAnchor.a11y.browser.spec.ts +0 -154
- package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +0 -117
- package/src/DateInput/DateInput.fr10.test.tsx +0 -283
- package/src/DateInput/DateInput.test.tsx +0 -1571
- package/src/DateInput/DateInputTouch.test.tsx +0 -2948
- package/src/DateInput/MonthScrollerSettle.test.tsx +0 -165
- package/src/DateInput/NativeDateField.test.tsx +0 -741
- package/src/DateInput/Presentation.test.tsx +0 -121
- package/src/DateInput/__tests__/DateInputAudit.a11y.chromium.spec.ts +0 -577
- package/src/DateInput/__tests__/MonthScrollerSteps.interaction.browser.spec.ts +0 -312
- package/src/DateInput/__tests__/WheelPinchZoom.a11y.chromium.spec.ts +0 -171
- package/src/DateRangeInput/DateRangeInput.fr10.test.tsx +0 -165
- package/src/DateRangeInput/DateRangeInput.test.tsx +0 -1151
- package/src/DateTimeInput/DateTimeInput.fr10.test.tsx +0 -319
- package/src/DateTimeInput/DateTimeInput.test.tsx +0 -2656
- package/src/DateTimeInput/DateTimeInputTouch.test.tsx +0 -1071
- package/src/DateTimeInput/NativePickerSegments.test.tsx +0 -657
- package/src/DateTimeInput/Presentation.test.tsx +0 -89
- package/src/Dialog/Dialog.source-build.test.mjs +0 -43
- package/src/Dialog/Dialog.test.tsx +0 -1599
- package/src/Dialog/DialogHeader.test.tsx +0 -477
- package/src/Dialog/__tests__/Dialog.a11y.browser.spec.ts +0 -111
- package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +0 -218
- package/src/Dialog/__tests__/Dialog.a11y.known-failures.ts +0 -28
- package/src/Dialog/__tests__/Dialog.a11y.renders.tsx +0 -107
- package/src/Dialog/__tests__/Dialog.a11y.states.ts +0 -104
- package/src/Dialog/__tests__/Dialog.a11y.test.tsx +0 -102
- package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +0 -252
- package/src/Dialog/__tests__/DialogSecondDocument.a11y.browser.spec.ts +0 -202
- package/src/Dialog/useImperativeDialog.test.tsx +0 -78
- package/src/Divider/Divider.test.tsx +0 -155
- package/src/Drawer/Drawer.test.tsx +0 -1335
- package/src/Drawer/DrawerDirection.test.tsx +0 -127
- package/src/Drawer/DrawerHeader.test.tsx +0 -102
- package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +0 -402
- package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +0 -298
- package/src/Drawer/__tests__/DrawerNonModalPageScroll.a11y.chromium.spec.ts +0 -267
- package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +0 -93
- package/src/DropdownMenu/DropdownMenu.test.tsx +0 -4498
- package/src/DropdownMenu/DropdownMenuContext.public.test.ts +0 -22
- package/src/DropdownMenu/DropdownMenuLazySheet.test.tsx +0 -126
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +0 -635
- package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +0 -72
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +0 -2442
- package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +0 -281
- package/src/DropdownMenu/__tests__/DropdownMenuDrillIn.a11y.chromium.spec.ts +0 -175
- package/src/DropdownMenu/__tests__/DropdownMenuFocusReturn.a11y.browser.spec.ts +0 -74
- package/src/DropdownMenu/__tests__/DropdownMenuGroupAudit.a11y.chromium.spec.ts +0 -335
- package/src/DropdownMenu/__tests__/DropdownMenuItemAudit.a11y.chromium.spec.ts +0 -367
- package/src/DropdownMenu/__tests__/DropdownMenuRadioGroupAudit.a11y.chromium.spec.ts +0 -328
- package/src/DropdownMenu/__tests__/DropdownMenuRadioItemAudit.a11y.chromium.spec.ts +0 -540
- package/src/DropdownMenu/__tests__/DropdownMenuSubMenuAudit.a11y.chromium.spec.ts +0 -671
- package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +0 -158
- package/src/DropdownMenu/__tests__/Menu.a11y.known-failures.ts +0 -26
- package/src/DropdownMenu/__tests__/Menu.a11y.renders.tsx +0 -65
- package/src/DropdownMenu/__tests__/Menu.a11y.states.ts +0 -138
- package/src/DropdownMenu/__tests__/Menu.a11y.test.tsx +0 -136
- package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +0 -149
- package/src/DropdownMenu/__tests__/MenuButton.a11y.known-failures.ts +0 -12
- package/src/DropdownMenu/__tests__/MenuButton.a11y.renders.tsx +0 -67
- package/src/DropdownMenu/__tests__/MenuButton.a11y.states.ts +0 -141
- package/src/DropdownMenu/__tests__/MenuButton.a11y.test.tsx +0 -138
- package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +0 -231
- package/src/DropdownMenu/__tests__/MenuHoverFocus.a11y.chromium.spec.ts +0 -238
- package/src/DropdownMenu/__tests__/MenuPinchZoom.a11y.chromium.spec.ts +0 -173
- package/src/DropdownMenu/__tests__/MenuPress.a11y.chromium.spec.ts +0 -503
- package/src/DropdownMenu/__tests__/SubMenuHeaderFooter.a11y.chromium.spec.ts +0 -268
- package/src/DropdownMenu/__tests__/warmMenuBottomSheet.tsx +0 -43
- package/src/DropdownMenu/lazyMenuBottomSheet.test.ts +0 -60
- package/src/EmptyState/EmptyState.announce.test.tsx +0 -227
- package/src/EmptyState/EmptyState.test.tsx +0 -284
- package/src/Field/Field.test.tsx +0 -800
- package/src/Field/FieldLabel.test.tsx +0 -244
- package/src/Field/InputClearButton.test.tsx +0 -395
- package/src/Field/__tests__/FieldLabelAudit.a11y.chromium.spec.ts +0 -297
- package/src/Field/fieldInputFamily.test.tsx +0 -160
- package/src/FieldStatus/FieldStatus.test.tsx +0 -482
- package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +0 -206
- package/src/FieldStatus/__tests__/StatusMessage.a11y.known-failures.ts +0 -13
- package/src/FieldStatus/__tests__/StatusMessage.a11y.renders.tsx +0 -287
- package/src/FieldStatus/__tests__/StatusMessage.a11y.states.ts +0 -302
- package/src/FieldStatus/__tests__/StatusMessage.a11y.test.tsx +0 -154
- package/src/FileInput/FileInput.fr10.test.tsx +0 -21
- package/src/FileInput/FileInput.test.tsx +0 -1291
- package/src/FormLayout/FormLayout.test.tsx +0 -444
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -46
- package/src/Grid/Grid.test.tsx +0 -509
- package/src/HStack/HStack.test.tsx +0 -129
- package/src/Heading/Heading.test.tsx +0 -328
- package/src/HoverCard/HoverCard.test.tsx +0 -1339
- package/src/Icon/Icon.test.tsx +0 -990
- package/src/Icon/globalIconRegistry.test.tsx +0 -613
- package/src/IconButton/IconButton.test.tsx +0 -156
- package/src/Indicator/Indicator.test.tsx +0 -389
- package/src/Indicator/indicatorRegistry.test.tsx +0 -106
- package/src/InputGroup/InputGroup.test.tsx +0 -502
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +0 -185
- package/src/Item/Item.source-build.test.mjs +0 -88
- package/src/Item/Item.swipeLayer.test.tsx +0 -74
- package/src/Item/Item.test.tsx +0 -1515
- package/src/Item/ItemMarkerColumns.a11y.chromium.spec.ts +0 -211
- package/src/Item/__tests__/ItemSwipeActions.a11y.chromium.spec.ts +0 -337
- package/src/Item/__tests__/ItemSwipePinchZoom.a11y.chromium.spec.ts +0 -186
- package/src/Kbd/Kbd.test.tsx +0 -299
- package/src/Layer/LayerProvider.test.tsx +0 -143
- package/src/Layer/__tests__/LayerBrowserHide.a11y.chromium.spec.ts +0 -126
- package/src/Layer/__tests__/LayerReducedMotion.a11y.chromium.spec.ts +0 -176
- package/src/Layer/__tests__/TouchTrigger.a11y.chromium.spec.ts +0 -200
- package/src/Layer/anchorName.test.ts +0 -146
- package/src/Layer/layerDismissalFamilies.test.tsx +0 -487
- package/src/Layer/layerDismissalInvariants.test.tsx +0 -501
- package/src/Layer/layerHost.test.ts +0 -117
- package/src/Layer/layerScopedContext.test.tsx +0 -499
- package/src/Layer/layerViewportInset.source-build.test.mjs +0 -90
- package/src/Layer/layerViewportInset.test.ts +0 -120
- package/src/Layer/popoverOperations.test.ts +0 -205
- package/src/Layer/useLayer.test.tsx +0 -2845
- package/src/Layer/useLayerDismissal.test.tsx +0 -580
- package/src/Layer/useTouchTrigger.test.ts +0 -70
- package/src/Layout/Layout.test.tsx +0 -375
- package/src/Layout/LayoutSlots.test.tsx +0 -376
- package/src/Layout/__tests__/Layout.a11y.chromium.spec.ts +0 -134
- package/src/Layout/__tests__/Layout.a11y.renders.tsx +0 -110
- package/src/Layout/__tests__/Layout.a11y.states.ts +0 -93
- package/src/Layout/__tests__/Layout.a11y.test.tsx +0 -142
- package/src/Layout/__tests__/childrenAsContent.test.tsx +0 -59
- package/src/Layout/__tests__/contentWidth.test.tsx +0 -303
- package/src/Layout/__tests__/edgeCompensation.test.tsx +0 -191
- package/src/Layout/__tests__/nestedPadding.test.tsx +0 -264
- package/src/Layout/overlayPaddingReset.test.tsx +0 -224
- package/src/Lightbox/Lightbox.test.tsx +0 -837
- package/src/Lightbox/LightboxKeyboard.a11y.browser.spec.ts +0 -78
- package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +0 -74
- package/src/Lightbox/useLightbox.test.tsx +0 -263
- package/src/Link/Link.test.tsx +0 -457
- package/src/Link/__tests__/Link.a11y.chromium.spec.ts +0 -153
- package/src/Link/__tests__/Link.a11y.renders.tsx +0 -97
- package/src/Link/__tests__/Link.a11y.states.ts +0 -104
- package/src/Link/__tests__/Link.a11y.test.tsx +0 -127
- package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +0 -262
- package/src/Link/__tests__/Link.truncation.a11y.chromium.spec.ts +0 -58
- package/src/Link/useLinkComponent.test.tsx +0 -572
- package/src/Link/useLinkify.test.tsx +0 -146
- package/src/List/List.test.tsx +0 -1052
- package/src/List/ListItem.source-build.test.mjs +0 -41
- package/src/List/ListMarkers.a11y.chromium.spec.ts +0 -904
- package/src/Markdown/Markdown.codeLanguages.test.tsx +0 -137
- package/src/Markdown/Markdown.fr23.bench.ts +0 -176
- package/src/Markdown/Markdown.fr23.perf.test.ts +0 -484
- package/src/Markdown/Markdown.helpers.perf.test.ts +0 -495
- package/src/Markdown/Markdown.public.test.ts +0 -309
- package/src/Markdown/Markdown.renderBoundary.test.tsx +0 -72
- package/src/Markdown/Markdown.rerender.test.tsx +0 -143
- package/src/Markdown/Markdown.test.tsx +0 -1383
- package/src/Markdown/MarkdownTable.a11y.chromium.spec.ts +0 -727
- package/src/Markdown/__tests__/MarkdownNesting.a11y.chromium.spec.ts +0 -102
- package/src/Markdown/angleDestinations.test.tsx +0 -104
- package/src/Markdown/ast.test.ts +0 -374
- package/src/Markdown/atxHeadingIndentation.test.tsx +0 -53
- package/src/Markdown/blockNesting.test.tsx +0 -124
- package/src/Markdown/blockquoteMarkers.test.tsx +0 -69
- package/src/Markdown/characterReferences.test.ts +0 -47
- package/src/Markdown/codeSpans.test.tsx +0 -65
- package/src/Markdown/emphasis.test.tsx +0 -214
- package/src/Markdown/fenceInfo.test.tsx +0 -47
- package/src/Markdown/imageAlt.test.tsx +0 -84
- package/src/Markdown/incremental.test.ts +0 -1198
- package/src/Markdown/incrementalIndentation.test.tsx +0 -36
- package/src/Markdown/indentedFences.test.tsx +0 -374
- package/src/Markdown/indentedTables.test.tsx +0 -53
- package/src/Markdown/linkBrackets.test.tsx +0 -116
- package/src/Markdown/linkDestinationLinear.test.tsx +0 -54
- package/src/Markdown/linkDestinations.test.tsx +0 -127
- package/src/Markdown/linkTextCode.test.tsx +0 -65
- package/src/Markdown/listBullets.test.tsx +0 -55
- package/src/Markdown/listContinuation.test.tsx +0 -94
- package/src/Markdown/listThematicBreak.test.tsx +0 -49
- package/src/Markdown/longLinkLabels.test.tsx +0 -49
- package/src/Markdown/openFenceFinalNewline.test.tsx +0 -85
- package/src/Markdown/parser.perf.test.ts +0 -398
- package/src/Markdown/parser.public.test.ts +0 -144
- package/src/Markdown/parser.test.ts +0 -1925
- package/src/Markdown/plugin-renderer/MarkdownPluginNodeRenderer.test.tsx +0 -300
- package/src/Markdown/plugins/frontmatter.test.tsx +0 -150
- package/src/Markdown/plugins/headingLinks.a11y.chromium.spec.ts +0 -856
- package/src/Markdown/plugins/headingLinks.ssr.test.tsx +0 -143
- package/src/Markdown/plugins/headingLinks.test.tsx +0 -637
- package/src/Markdown/plugins/protocol.test.tsx +0 -1083
- package/src/Markdown/plugins/semanticFence.test.tsx +0 -655
- package/src/Markdown/plugins/softBreaks.test.tsx +0 -172
- package/src/Markdown/plugins/sourceDecoration.test.tsx +0 -799
- package/src/Markdown/plugins/sourceLines.test.tsx +0 -715
- package/src/Markdown/plugins/textTransform.test.ts +0 -467
- package/src/Markdown/remark.test.tsx +0 -1877
- package/src/Markdown/streaming.test.ts +0 -148
- package/src/Markdown/streamingListShapes.test.tsx +0 -93
- package/src/Markdown/trailingSpaces.test.tsx +0 -45
- package/src/MetadataList/MetadataList.test.tsx +0 -383
- package/src/MobileNav/MobileNav.test.tsx +0 -296
- package/src/MobileNav/MobileNavCloseEdgeCases.test.tsx +0 -584
- package/src/MobileNav/MobileNavCloseTiming.test.ts +0 -58
- package/src/MobileNav/MobileNavCloseVisibility.test.tsx +0 -172
- package/src/MobileNav/MobileNavEntryAnimation.test.tsx +0 -212
- package/src/MobileNav/MobileNavFocus.test.tsx +0 -553
- package/src/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.ts +0 -147
- package/src/MobileNav/MobileNavReopen.test.tsx +0 -118
- package/src/MobileNav/MobileNavScrollbarGutter.test.tsx +0 -109
- package/src/MobileNav/MobileNavToggle.test.tsx +0 -179
- package/src/MobileNav/__tests__/MobileNavHeader.a11y.chromium.spec.ts +0 -89
- package/src/MobileNav/__tests__/MobileNavWidth.a11y.chromium.spec.ts +0 -103
- package/src/MoreMenu/MoreMenu.test.tsx +0 -367
- package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +0 -148
- package/src/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.ts +0 -72
- package/src/MultiSelector/MultiSelector.focusableDisabled.test.tsx +0 -121
- package/src/MultiSelector/MultiSelector.fr10.test.tsx +0 -221
- package/src/MultiSelector/MultiSelector.test.tsx +0 -4971
- package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +0 -310
- package/src/MultiSelector/__tests__/MultiSelector.a11y.chromium.spec.ts +0 -46
- package/src/MultiSelector/__tests__/MultiSelector.listbox.a11y.test.tsx +0 -135
- package/src/NavIcon/NavIcon.test.tsx +0 -41
- package/src/NavMenu/NavHeadingMenu.test.tsx +0 -714
- package/src/NavMenu/__tests__/NavMenusSlideSelection.a11y.chromium.spec.ts +0 -137
- package/src/NumberInput/NumberInput.fr10.test.tsx +0 -21
- package/src/NumberInput/NumberInput.test.tsx +0 -2697
- package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +0 -124
- package/src/NumberInput/__tests__/NumberInput.a11y.known-failures.ts +0 -26
- package/src/NumberInput/__tests__/NumberInput.a11y.renders.tsx +0 -77
- package/src/NumberInput/__tests__/NumberInput.a11y.states.ts +0 -116
- package/src/NumberInput/__tests__/NumberInput.a11y.test.tsx +0 -154
- package/src/NumberInput/__tests__/NumberInput.coarse-pointer.a11y.chromium.spec.ts +0 -102
- package/src/NumberInput/numberInputCommit.test.ts +0 -72
- package/src/NumberInput/numberParser.docblock.test.ts +0 -234
- package/src/NumberInput/numberParser.test.ts +0 -222
- package/src/Outline/Outline.test.tsx +0 -1134
- package/src/Outline/OutlineFocus.a11y.chromium.spec.ts +0 -551
- package/src/Outline/parseOutlineFromMarkdown.test.ts +0 -104
- package/src/OverflowList/OverflowList.test.tsx +0 -1073
- package/src/Overlay/Overlay.test.tsx +0 -424
- package/src/Pagination/Pagination.test.tsx +0 -1754
- package/src/Popover/Popover.test.tsx +0 -1508
- package/src/Popover/PopoverPresentation.test.tsx +0 -952
- package/src/Popover/__tests__/PopoverSecondDocument.a11y.chromium.spec.ts +0 -267
- package/src/PowerSearch/PowerSearch.test.tsx +0 -1027
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +0 -1190
- package/src/PowerSearch/PowerSearchFilterEditor.test.tsx +0 -377
- package/src/PowerSearch/PowerSearchToken.test.tsx +0 -230
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +0 -754
- package/src/PowerSearch/formatFilterValue.test.ts +0 -339
- package/src/PowerSearch/resolveDateTimeRangePart.test.ts +0 -40
- package/src/PowerSearch/usePowerSearchConfig.test.ts +0 -832
- package/src/PowerSearch/usePowerSearchSource.test.ts +0 -621
- package/src/ProgressBar/ProgressBar.test.tsx +0 -928
- package/src/ProgressBar/__tests__/ProgressBar.a11y.chromium.spec.ts +0 -127
- package/src/ProgressBar/__tests__/ProgressBar.a11y.known-failures.ts +0 -12
- package/src/ProgressBar/__tests__/ProgressBar.a11y.renders.tsx +0 -38
- package/src/ProgressBar/__tests__/ProgressBar.a11y.states.ts +0 -123
- package/src/ProgressBar/__tests__/ProgressBar.a11y.test.tsx +0 -107
- package/src/ProgressBar/__tests__/ProgressBarMotion.a11y.chromium.spec.ts +0 -831
- package/src/RadioList/RadioList.fr10.test.tsx +0 -67
- package/src/RadioList/RadioList.test.tsx +0 -1051
- package/src/RadioList/RadioListItem.press.source-build.test.mjs +0 -80
- package/src/RadioList/__tests__/RadioGroup.a11y.chromium.spec.ts +0 -274
- package/src/RadioList/__tests__/RadioGroup.a11y.known-failures.ts +0 -12
- package/src/RadioList/__tests__/RadioGroup.a11y.renders.tsx +0 -232
- package/src/RadioList/__tests__/RadioGroup.a11y.states.ts +0 -503
- package/src/RadioList/__tests__/RadioGroup.a11y.test.tsx +0 -217
- package/src/Resizable/ResizeHandle.test.tsx +0 -1067
- package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +0 -127
- package/src/Resizable/__tests__/ResizeHandle.a11y.known-failures.ts +0 -39
- package/src/Resizable/__tests__/ResizeHandle.a11y.renders.tsx +0 -80
- package/src/Resizable/__tests__/ResizeHandle.a11y.states.ts +0 -197
- package/src/Resizable/__tests__/ResizeHandle.a11y.test.tsx +0 -123
- package/src/Resizable/shippedDirections.test.ts +0 -462
- package/src/Resizable/useResizable.test.ts +0 -1725
- package/src/Resizable/utils.test.ts +0 -74
- package/src/ScrollableArea/ScrollableArea.test.tsx +0 -304
- package/src/Section/Section.test.tsx +0 -376
- package/src/SegmentedControl/SegmentedControl.test.tsx +0 -981
- package/src/SelectableCard/SelectableCard.test.tsx +0 -216
- package/src/Selector/Selector.focusableDisabled.test.tsx +0 -127
- package/src/Selector/Selector.fr10.test.tsx +0 -149
- package/src/Selector/Selector.sheetActiveDescendant.test.tsx +0 -95
- package/src/Selector/Selector.source-build.test.mjs +0 -79
- package/src/Selector/Selector.test.tsx +0 -5117
- package/src/Selector/__tests__/Combobox.a11y.known-failures.ts +0 -27
- package/src/Selector/__tests__/Combobox.a11y.states.ts +0 -145
- package/src/Selector/__tests__/ComboboxField.a11y.chromium.spec.ts +0 -458
- package/src/Selector/__tests__/EmptyStateAnnouncement.a11y.chromium.spec.ts +0 -91
- package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +0 -131
- package/src/Selector/__tests__/Listbox.a11y.dom.ts +0 -38
- package/src/Selector/__tests__/Listbox.a11y.inventory.test.ts +0 -63
- package/src/Selector/__tests__/Listbox.a11y.known-failures.ts +0 -12
- package/src/Selector/__tests__/Listbox.a11y.states.ts +0 -232
- package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +0 -46
- package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +0 -109
- package/src/Selector/__tests__/Selector.combobox.a11y.test.tsx +0 -133
- package/src/Selector/__tests__/Selector.listbox.a11y.test.tsx +0 -128
- package/src/Selector/useCombobox.public.test.tsx +0 -89
- package/src/Selector/useCombobox.test.tsx +0 -444
- package/src/SideNav/SideNav.test.tsx +0 -4275
- package/src/SideNav/SideNavRailMotion.test.tsx +0 -620
- package/src/SideNav/__tests__/SideNavRailMotion.interaction.browser.spec.ts +0 -542
- package/src/SizeContext/SizeContext.test.tsx +0 -226
- package/src/Skeleton/Skeleton.test.tsx +0 -148
- package/src/Slider/Slider.fr10.test.tsx +0 -93
- package/src/Slider/Slider.test.tsx +0 -1661
- package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +0 -125
- package/src/Slider/__tests__/Slider.a11y.known-failures.ts +0 -12
- package/src/Slider/__tests__/Slider.a11y.renders.tsx +0 -42
- package/src/Slider/__tests__/Slider.a11y.states.ts +0 -106
- package/src/Slider/__tests__/Slider.a11y.test.tsx +0 -105
- package/src/Spinner/Spinner.test.tsx +0 -484
- package/src/Stack/Stack.test.tsx +0 -473
- package/src/Stack/StackItem.test.tsx +0 -105
- package/src/StatusDot/StatusDot.test.tsx +0 -213
- package/src/Stepper/Stepper.public.test.ts +0 -91
- package/src/Stepper/Stepper.test.tsx +0 -2130
- package/src/Switch/Switch.focusRing.source-build.test.mjs +0 -81
- package/src/Switch/Switch.test.tsx +0 -1136
- package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +0 -211
- package/src/Switch/__tests__/Switch.a11y.known-failures.ts +0 -28
- package/src/Switch/__tests__/Switch.a11y.states.ts +0 -275
- package/src/Switch/__tests__/Switch.a11y.test.tsx +0 -144
- package/src/TabList/TabList.test.tsx +0 -1755
- package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +0 -99
- package/src/TabList/__tests__/TabPressPointer.interaction.browser.spec.ts +0 -163
- package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +0 -199
- package/src/TabList/__tests__/Tabs.a11y.known-failures.ts +0 -12
- package/src/TabList/__tests__/Tabs.a11y.renders.tsx +0 -92
- package/src/TabList/__tests__/Tabs.a11y.states.ts +0 -247
- package/src/TabList/__tests__/Tabs.a11y.test.tsx +0 -153
- package/src/Table/Table.perf.test.tsx +0 -569
- package/src/Table/Table.test.tsx +0 -1883
- package/src/Table/TableHeaderCell.test.tsx +0 -291
- package/src/Table/TableSelectionToolbar.test.tsx +0 -109
- package/src/Table/__tests__/Table.a11y.chromium.spec.ts +0 -141
- package/src/Table/__tests__/Table.a11y.contracts.ts +0 -35
- package/src/Table/__tests__/Table.a11y.renders.tsx +0 -112
- package/src/Table/__tests__/Table.a11y.states.ts +0 -136
- package/src/Table/__tests__/Table.a11y.test.tsx +0 -198
- package/src/Table/__tests__/TableMinWidth.a11y.chromium.spec.ts +0 -75
- package/src/Table/__tests__/TableRowGlide.a11y.browser.spec.ts +0 -382
- package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +0 -138
- package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +0 -560
- package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +0 -941
- package/src/Table/plugins/columnSettings/useTableColumnSettings.test.tsx +0 -175
- package/src/Table/plugins/columnSettings/useTableColumnSettingsState.test.tsx +0 -296
- package/src/Table/plugins/filtering/useTableFilterState.test.tsx +0 -143
- package/src/Table/plugins/filtering/useTableFiltering.test.tsx +0 -357
- package/src/Table/plugins/groupedRows/useTableGroupedRows-perf.test.tsx +0 -112
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +0 -409
- package/src/Table/plugins/pagination/useTablePagination-perf.test.tsx +0 -232
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +0 -666
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.glide.test.tsx +0 -280
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +0 -681
- package/src/Table/plugins/rowIndex/useTableRowIndex.test.tsx +0 -132
- package/src/Table/plugins/rowStatus/useTableRowStatus.public.test.ts +0 -92
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +0 -519
- package/src/Table/plugins/selection/useTableSelection-perf.test.tsx +0 -258
- package/src/Table/plugins/selection/useTableSelection.test.tsx +0 -424
- package/src/Table/plugins/selection/useTableSelectionState.test.tsx +0 -451
- package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.test.tsx +0 -174
- package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.ts +0 -86
- package/src/Table/plugins/sortable/useTableSortable.test.tsx +0 -786
- package/src/Table/plugins/sortable/useTableSortableState.test.tsx +0 -580
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +0 -334
- package/src/Table/plugins/tree/useTableTreeData-perf.test.tsx +0 -163
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +0 -992
- package/src/Table/plugins/tree/useTableTreeState.test.tsx +0 -740
- package/src/Table/tableContextMenu.test.tsx +0 -208
- package/src/Text/Text.test.tsx +0 -405
- package/src/Text/useTruncation.test.tsx +0 -196
- package/src/TextArea/TextArea.fr10.test.tsx +0 -21
- package/src/TextArea/TextArea.test.tsx +0 -1317
- package/src/TextInput/TextInput.fr10.test.tsx +0 -21
- package/src/TextInput/TextInput.test.tsx +0 -1280
- package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +0 -214
- package/src/TextInput/__tests__/TextInput.a11y.known-failures.ts +0 -40
- package/src/TextInput/__tests__/TextInput.a11y.renders.tsx +0 -202
- package/src/TextInput/__tests__/TextInput.a11y.states.ts +0 -384
- package/src/TextInput/__tests__/TextInput.a11y.test.tsx +0 -130
- package/src/Thumbnail/Thumbnail.test.tsx +0 -384
- package/src/TimeInput/NativeTimeInput.test.tsx +0 -343
- package/src/TimeInput/Presentation.test.tsx +0 -192
- package/src/TimeInput/TimeInput.fr10.test.tsx +0 -312
- package/src/TimeInput/TimeInput.test.tsx +0 -907
- package/src/Timer/Timer.test.tsx +0 -302
- package/src/Timestamp/Timestamp.test.tsx +0 -1661
- package/src/Timestamp/tooltipEntries.test.ts +0 -566
- package/src/Toast/ToastViewport.modalHost.test.tsx +0 -891
- package/src/Toast/ToastViewport.test.tsx +0 -3130
- package/src/Toast/useToast.test.tsx +0 -258
- package/src/ToggleButton/ToggleButton.test.tsx +0 -1000
- package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +0 -177
- package/src/ToggleButton/__tests__/ToggleButton.a11y.renders.tsx +0 -133
- package/src/ToggleButton/__tests__/ToggleButton.a11y.states.ts +0 -167
- package/src/ToggleButton/__tests__/ToggleButton.a11y.test.tsx +0 -103
- package/src/Token/Token.test.tsx +0 -707
- package/src/Token/__tests__/TokenRemoveTarget.a11y.chromium.spec.ts +0 -87
- package/src/Tokenizer/Tokenizer.fr10.test.tsx +0 -28
- package/src/Tokenizer/Tokenizer.props-type.test.tsx +0 -126
- package/src/Tokenizer/Tokenizer.ssr.test.tsx +0 -196
- package/src/Tokenizer/Tokenizer.test.tsx +0 -2216
- package/src/Tokenizer/TokenizerBottomSheet.test.tsx +0 -2738
- package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +0 -505
- package/src/Toolbar/Toolbar.test.tsx +0 -600
- package/src/Toolbar/__tests__/Toolbar.a11y.chromium.spec.ts +0 -176
- package/src/Toolbar/__tests__/Toolbar.a11y.renders.tsx +0 -63
- package/src/Toolbar/__tests__/Toolbar.a11y.states.ts +0 -142
- package/src/Toolbar/__tests__/Toolbar.a11y.test.tsx +0 -126
- package/src/Tooltip/Tooltip.test.tsx +0 -819
- package/src/Tooltip/__tests__/Tooltip.a11y.chromium.spec.ts +0 -141
- package/src/Tooltip/__tests__/Tooltip.a11y.renders.tsx +0 -86
- package/src/Tooltip/__tests__/Tooltip.a11y.states.ts +0 -132
- package/src/Tooltip/__tests__/Tooltip.a11y.test.tsx +0 -126
- package/src/Tooltip/__tests__/TooltipFocusReturn.a11y.chromium.spec.ts +0 -130
- package/src/Tooltip/__tests__/TooltipHoverBridge.a11y.chromium.spec.ts +0 -75
- package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +0 -673
- package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +0 -1162
- package/src/Tooltip/useTooltip.test.tsx +0 -483
- package/src/TopNav/TopNav.test.tsx +0 -863
- package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +0 -83
- package/src/TopNav/TopNavMegaMenu.test.tsx +0 -1153
- package/src/TopNav/TopNavMenu.test.tsx +0 -502
- package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +0 -75
- package/src/TreeList/TreeList.test.tsx +0 -1737
- package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +0 -138
- package/src/TreeList/__tests__/TreeList.a11y.renders.tsx +0 -44
- package/src/TreeList/__tests__/TreeList.a11y.states.ts +0 -164
- package/src/TreeList/__tests__/TreeList.a11y.test.tsx +0 -138
- package/src/TreeList/__tests__/TreeListGuideAlignment.interaction.browser.spec.ts +0 -127
- package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +0 -83
- package/src/Typeahead/BaseTypeahead.emptyState.a11y.chromium.spec.ts +0 -138
- package/src/Typeahead/BaseTypeahead.test.tsx +0 -553
- package/src/Typeahead/Typeahead.fr10.test.tsx +0 -28
- package/src/Typeahead/Typeahead.test.tsx +0 -2984
- package/src/Typeahead/TypeaheadItem.test.tsx +0 -134
- package/src/VStack/VStack.test.tsx +0 -128
- package/src/VisuallyHidden/VisuallyHidden.test.tsx +0 -115
- package/src/__tests__/BusyOwnerAnnouncement.test.tsx +0 -853
- package/src/__tests__/CardPress.a11y.chromium.spec.ts +0 -353
- package/src/__tests__/DisabledTriggerFocus.a11y.chromium.spec.ts +0 -87
- package/src/__tests__/PressModality.a11y.chromium.spec.ts +0 -392
- package/src/__tests__/PressedState.a11y.chromium.spec.ts +0 -814
- package/src/__tests__/TestIcon.tsx +0 -26
- package/src/__tests__/babelPluginAddExtensions.test.ts +0 -190
- package/src/__tests__/fastRoleQueries.ts +0 -66
- package/src/__tests__/forcedColors.ts +0 -60
- package/src/__tests__/internalModulesNotExperimental.test.ts +0 -88
- package/src/__tests__/pressState.ts +0 -216
- package/src/__tests__/stubMatchMedia.test.ts +0 -79
- package/src/__tests__/stubMatchMedia.ts +0 -95
- package/src/__tests__/stylexDeclarations.ts +0 -51
- package/src/__tests__/unthemedLength.ts +0 -34
- package/src/docPropLiterals.test.ts +0 -964
- package/src/docPropReferences.test.ts +0 -178
- package/src/docs-script.test.mjs +0 -55
- package/src/gestures/__tests__/GestureHost.test.ts +0 -2136
- package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +0 -141
- package/src/gestures/__tests__/PanGestureRecognizer.test.ts +0 -327
- package/src/gestures/__tests__/PinchGestureRecognizer.test.ts +0 -74
- package/src/gestures/__tests__/PressTracker.test.ts +0 -275
- package/src/gestures/__tests__/ScreenEdgePanGestureRecognizer.test.ts +0 -498
- package/src/gestures/__tests__/SwipeGestureRecognizer.test.ts +0 -108
- package/src/gestures/__tests__/TapGestureRecognizer.test.ts +0 -154
- package/src/gestures/__tests__/VelocityTracker.streams.test.ts +0 -243
- package/src/gestures/__tests__/VelocityTracker.test.ts +0 -261
- package/src/gestures/__tests__/arena.test.ts +0 -864
- package/src/gestures/__tests__/arenaContinuous.test.ts +0 -207
- package/src/gestures/__tests__/arenaPinchSwipeEdge.test.ts +0 -193
- package/src/gestures/__tests__/arenaTapLongPress.test.ts +0 -211
- package/src/gestures/__tests__/browser/build-fixture.mjs +0 -46
- package/src/gestures/__tests__/browser/fixture.ts +0 -307
- package/src/gestures/__tests__/browser/gestures.interaction.browser.spec.ts +0 -1137
- package/src/gestures/__tests__/browserNegotiation.test.ts +0 -293
- package/src/gestures/__tests__/fixtures/pointer-streams/README.md +0 -82
- package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-fling.json +0 -130
- package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-slow.json +0 -860
- package/src/gestures/__tests__/fixtures/pointer-streams/android-chromium-stop-release.json +0 -357
- package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-fling.json +0 -66
- package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-slow.json +0 -268
- package/src/gestures/__tests__/fixtures/pointer-streams/android-firefox-stop-release.json +0 -128
- package/src/gestures/__tests__/fixtures/pointer-streams/capture.html +0 -123
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-fling.json +0 -64
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-slow.json +0 -268
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-mouse-stop-release.json +0 -124
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-fling.json +0 -64
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-slow.json +0 -268
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-pen-stop-release.json +0 -124
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-fling.json +0 -84
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-slow.json +0 -381
- package/src/gestures/__tests__/fixtures/pointer-streams/desktop-chromium-touch-stop-release.json +0 -171
- package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-fling.json +0 -45
- package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-slow.json +0 -101
- package/src/gestures/__tests__/fixtures/pointer-streams/ios-safari-stop-release.json +0 -130
- package/src/gestures/__tests__/haptics.test.ts +0 -187
- package/src/gestures/__tests__/harness.ts +0 -252
- package/src/gestures/__tests__/pressTrackerFactory.test.ts +0 -59
- package/src/gestures/__tests__/recognizerKind.test.ts +0 -78
- package/src/gestures/__tests__/touchActionRule.test.ts +0 -54
- package/src/gestures/__tests__/useGestureRecognizer.test.tsx +0 -570
- package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +0 -144
- package/src/hooks/__tests__/menuLinkClicks.ts +0 -71
- package/src/hooks/actionGroupTracker.exports.test.ts +0 -28
- package/src/hooks/actionGroupTracker.test.ts +0 -510
- package/src/hooks/computeOverflow.test.ts +0 -422
- package/src/hooks/deprecatedApis.public.test.ts +0 -33
- package/src/hooks/menuPressGesture.test.ts +0 -253
- package/src/hooks/scrollKeyboardDelegation.test.ts +0 -188
- package/src/hooks/scrollbarGutter.test.ts +0 -167
- package/src/hooks/useAnnounce.modal.test.tsx +0 -1291
- package/src/hooks/useAnnounce.replace.test.tsx +0 -516
- package/src/hooks/useAnnounce.test.tsx +0 -293
- package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +0 -235
- package/src/hooks/useAutoMediaMode.test.ts +0 -109
- package/src/hooks/useBusyAnnouncement.adopters.test.tsx +0 -69
- package/src/hooks/useBusyAnnouncement.test.tsx +0 -112
- package/src/hooks/useClickableContainer.test.tsx +0 -236
- package/src/hooks/useClipboard.test.tsx +0 -151
- package/src/hooks/useContainerReveal.test.tsx +0 -163
- package/src/hooks/useDevWarning.test.tsx +0 -45
- package/src/hooks/useEntryAnimation.ssr.test.tsx +0 -143
- package/src/hooks/useFocusTrap.test.tsx +0 -635
- package/src/hooks/useFocusTrapEscapeShim.test.tsx +0 -166
- package/src/hooks/useGridFocus.test.tsx +0 -165
- package/src/hooks/useHotkeys.test.ts +0 -265
- package/src/hooks/useImageMode.test.ts +0 -133
- package/src/hooks/useInputContainer.test.tsx +0 -180
- package/src/hooks/useInputStatusIcon.test.tsx +0 -240
- package/src/hooks/useIsHydrating.test.tsx +0 -70
- package/src/hooks/useKeyboardHint.test.tsx +0 -92
- package/src/hooks/useListFocus.test.tsx +0 -664
- package/src/hooks/useLongPress.test.tsx +0 -152
- package/src/hooks/useMediaQuery.test.ts +0 -165
- package/src/hooks/useMenuHover.test.tsx +0 -536
- package/src/hooks/useMenuPress.test.tsx +0 -565
- package/src/hooks/useMergedRefs.test.tsx +0 -62
- package/src/hooks/useOverflow.test.ts +0 -504
- package/src/hooks/useRenamedProp.test.tsx +0 -95
- package/src/hooks/useScrollLock.test.ts +0 -248
- package/src/hooks/useScrollOverflow.test.tsx +0 -323
- package/src/hooks/useScrollableArea.test.tsx +0 -836
- package/src/hooks/useStreamingText.test.ts +0 -237
- package/src/hooks/useTreeFocus.test.tsx +0 -351
- package/src/hooks/useTypeahead.test.tsx +0 -351
- package/src/i18n/__tests__/InternationalizationProvider.test.tsx +0 -128
- package/src/i18n/__tests__/e2e-pagination.test.tsx +0 -172
- package/src/i18n/__tests__/e2e-powersearch.test.tsx +0 -166
- package/src/i18n/__tests__/getLocaleDirection.test.ts +0 -40
- package/src/i18n/__tests__/resolve.test.ts +0 -325
- package/src/i18n/__tests__/useCollator.test.tsx +0 -115
- package/src/i18n/__tests__/useDirection.test.tsx +0 -66
- package/src/i18n/__tests__/useLocale.test.tsx +0 -52
- package/src/i18n/useTranslator.test.tsx +0 -267
- package/src/inputFontFloor.test.ts +0 -106
- package/src/internal/tokenizer-presentation.test.ts +0 -29
- package/src/internal/touch.test.ts +0 -44
- package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +0 -1613
- package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +0 -217
- package/src/motion/__tests__/animatedLayoutBundle.ts +0 -17
- package/src/motion/__tests__/animator.interaction.browser.spec.ts +0 -843
- package/src/motion/__tests__/motionBundle.ts +0 -14
- package/src/motion/animatedLayout.boundary.test.ts +0 -155
- package/src/motion/animatedLayout.swap.test.ts +0 -827
- package/src/motion/animatedLayout.test.ts +0 -1154
- package/src/motion/animatedLayoutAdopters.test.tsx +0 -500
- package/src/motion/animator.test.ts +0 -3746
- package/src/motion/bezier.test.ts +0 -52
- package/src/motion/coast.test.ts +0 -99
- package/src/motion/decay.test.ts +0 -120
- package/src/motion/projection.test.ts +0 -107
- package/src/motion/reducedMotion.test.ts +0 -129
- package/src/motion/reducedMotionPlan.test.ts +0 -208
- package/src/motion/resolveMotion.test.ts +0 -123
- package/src/motion/resolveSnapPoint.test.ts +0 -189
- package/src/motion/roles.test.ts +0 -273
- package/src/motion/rubberBand.test.ts +0 -88
- package/src/motion/selectPage.test.ts +0 -31
- package/src/motion/spring.test.ts +0 -650
- package/src/motion/uikit/gestures.test.ts +0 -89
- package/src/motion/uikit/springRows.test.ts +0 -71
- package/src/motion/uikit/tableImports.test.ts +0 -293
- package/src/motion/uikit/uikit.test.ts +0 -364
- package/src/motion/uikit/values.test.ts +0 -121
- package/src/naming.test.ts +0 -44
- package/src/postinstall.test.mjs +0 -216
- package/src/reset.a11y.chromium.spec.ts +0 -238
- package/src/reset.test.ts +0 -205
- package/src/reset.until-found.a11y.browser.spec.ts +0 -76
- package/src/reset.until-found.test.ts +0 -32
- package/src/serverSafeComponents.test.ts +0 -675
- package/src/stylexValidation.source-build.test.mjs +0 -42
- package/src/tailwind-theme.test.ts +0 -153
- package/src/theme/MediaTheme.dom.test.tsx +0 -97
- package/src/theme/Theme.test.tsx +0 -337
- package/src/theme/__tests__/SpacingRootFontSize.a11y.chromium.spec.ts +0 -199
- package/src/theme/contrast.test.ts +0 -94
- package/src/theme/declarationBoundary.test.ts +0 -126
- package/src/theme/defineTheme.test.ts +0 -2028
- package/src/theme/derivedVarRegistry.test.ts +0 -592
- package/src/theme/expandColorScale.test.ts +0 -651
- package/src/theme/expandMotionScale.test.ts +0 -145
- package/src/theme/expandRadiusScale.test.ts +0 -59
- package/src/theme/expandTypeScale.test.ts +0 -351
- package/src/theme/extensibleAxes.test.ts +0 -432
- package/src/theme/generateThemeRules.test.ts +0 -1870
- package/src/theme/hct.test.ts +0 -93
- package/src/theme/onMediaTokens.test.ts +0 -431
- package/src/theme/publicThemeHelperContract.test.ts +0 -67
- package/src/theme/syntax/defineSyntaxTheme.diff.test.ts +0 -91
- package/src/theme/syntax/serverSafeSyntax.test.ts +0 -68
- package/src/theme/syntax/useSyntaxTheme.diff.test.tsx +0 -40
- package/src/theme/themeAdaptations.test.ts +0 -1795
- package/src/theme/themeMotion.test.ts +0 -620
- package/src/theme/themeRegistry.test.ts +0 -59
- package/src/theme/themingTargets.test.ts +0 -589
- package/src/theme/tokenValueCompat.test.ts +0 -204
- package/src/theme/tokens.test.ts +0 -441
- package/src/theme/useTheme.test.tsx +0 -322
- package/src/unicodePropertyEscapes.source-build.test.mjs +0 -69
- package/src/utils/chainEventHandlers.test.ts +0 -39
- package/src/utils/characters.test.ts +0 -141
- package/src/utils/color.test.ts +0 -233
- package/src/utils/composeEventHandlers.test.ts +0 -71
- package/src/utils/customPropertyArmLayering.test.ts +0 -131
- package/src/utils/dateParser.test.ts +0 -402
- package/src/utils/dateTypes.test.ts +0 -40
- package/src/utils/devWarning.test.ts +0 -56
- package/src/utils/edgeAutoscroll.test.ts +0 -192
- package/src/utils/focusReturn.test.ts +0 -119
- package/src/utils/getKey.test.ts +0 -25
- package/src/utils/getNodeText.test.ts +0 -24
- package/src/utils/hitArea.test.ts +0 -628
- package/src/utils/ime.test.ts +0 -32
- package/src/utils/inputAria.test.ts +0 -39
- package/src/utils/interactionModality.test.ts +0 -144
- package/src/utils/isApplePlatform.test.ts +0 -61
- package/src/utils/mergeProps.test.ts +0 -166
- package/src/utils/mergeRefs.test.ts +0 -48
- package/src/utils/parseStyleKey.test.ts +0 -56
- package/src/utils/plainDate.test.ts +0 -938
- package/src/utils/presentation.test.ts +0 -380
- package/src/utils/pressFeedback.test.ts +0 -1012
- package/src/utils/pressGesture.test.ts +0 -332
- package/src/utils/pressPaintPriority.test.ts +0 -80
- package/src/utils/pressPaintSource.test.ts +0 -65
- package/src/utils/pressableCoverage.test.ts +0 -192
- package/src/utils/primaryClick.test.ts +0 -38
- package/src/utils/safeUrl.test.ts +0 -101
- package/src/utils/sharedMutationObserver.test.ts +0 -106
- package/src/utils/sharedResizeObserver.test.ts +0 -283
- package/src/utils/themeProps.test.ts +0 -62
- package/src/utils/timeFormat.test.ts +0 -204
- package/src/utils/timeParser.test.ts +0 -295
- package/src/utils/touchPresentation.test.ts +0 -462
- package/src/utils/unicodeDigits.test.ts +0 -44
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y release-only
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file MobileNavPinchZoom.a11y.chromium.spec.ts
|
|
6
|
-
* @input Built MobileNav stories and real Chromium touch input (CDP)
|
|
7
|
-
* @output Browser evidence that a two-finger pinch on the open nav, over its
|
|
8
|
-
* content or its backdrop, zooms the page (WCAG 1.4.4)
|
|
9
|
-
* @position Chromium proof for MobileNav's touch-action declarations
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import { expect, test } from '@playwright/test';
|
|
13
|
-
import { DEFAULT_STORYBOOK_DIR, serveStorybook } from '@astryxdesign/a11y-spec/storybook';
|
|
14
|
-
let storybook;
|
|
15
|
-
test.beforeAll(async () => {
|
|
16
|
-
storybook = await serveStorybook(process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR);
|
|
17
|
-
});
|
|
18
|
-
test.afterAll(async () => {
|
|
19
|
-
await storybook?.close();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
// A phone: the viewport meta applies and the page can pinch-zoom.
|
|
23
|
-
test.use({
|
|
24
|
-
hasTouch: true,
|
|
25
|
-
isMobile: true,
|
|
26
|
-
viewport: {
|
|
27
|
-
width: 390,
|
|
28
|
-
height: 844
|
|
29
|
-
},
|
|
30
|
-
deviceScaleFactor: 3
|
|
31
|
-
});
|
|
32
|
-
const sleep = async ms => new Promise(resolve => setTimeout(resolve, ms));
|
|
33
|
-
async function openNav(page) {
|
|
34
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-mobilenav--default&viewMode=story`);
|
|
35
|
-
await page.getByRole('button', {
|
|
36
|
-
name: 'Open Navigation'
|
|
37
|
-
}).tap();
|
|
38
|
-
const nav = page.getByRole('dialog');
|
|
39
|
-
await expect(nav).toBeVisible();
|
|
40
|
-
await page.waitForTimeout(600); // the slide-in
|
|
41
|
-
const panel = nav.getByRole('link', {
|
|
42
|
-
name: 'Dashboard'
|
|
43
|
-
});
|
|
44
|
-
const box = await panel.boundingBox();
|
|
45
|
-
if (box == null) {
|
|
46
|
-
throw new Error('no nav item box');
|
|
47
|
-
}
|
|
48
|
-
expect(await page.evaluate(() => window.visualViewport?.scale)).toBe(1);
|
|
49
|
-
return {
|
|
50
|
-
nav,
|
|
51
|
-
box
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
// Two fingers land one after the other and spread apart, as a person pinches.
|
|
55
|
-
// The spread is wide enough to clear the browser's minimum pinch span.
|
|
56
|
-
async function pinch(cdp, first, second) {
|
|
57
|
-
const steps = 12;
|
|
58
|
-
const spread = 3;
|
|
59
|
-
const mid = {
|
|
60
|
-
x: (first.x + second.x) / 2,
|
|
61
|
-
y: (first.y + second.y) / 2
|
|
62
|
-
};
|
|
63
|
-
const at = (p, k, id) => ({
|
|
64
|
-
x: mid.x + (p.x - mid.x) * k,
|
|
65
|
-
y: mid.y + (p.y - mid.y) * k,
|
|
66
|
-
id
|
|
67
|
-
});
|
|
68
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
69
|
-
type: 'touchStart',
|
|
70
|
-
touchPoints: [at(first, 1, 1)]
|
|
71
|
-
});
|
|
72
|
-
await sleep(30);
|
|
73
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
74
|
-
type: 'touchStart',
|
|
75
|
-
touchPoints: [at(first, 1, 1), at(second, 1, 2)]
|
|
76
|
-
});
|
|
77
|
-
for (let i = 1; i <= steps; i++) {
|
|
78
|
-
await sleep(16);
|
|
79
|
-
const k = 1 + (spread - 1) * i / steps;
|
|
80
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
81
|
-
type: 'touchMove',
|
|
82
|
-
touchPoints: [at(first, k, 1), at(second, k, 2)]
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
await sleep(16);
|
|
86
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
87
|
-
type: 'touchEnd',
|
|
88
|
-
touchPoints: []
|
|
89
|
-
});
|
|
90
|
-
await sleep(600);
|
|
91
|
-
}
|
|
92
|
-
test('a pinch on the nav content zooms the page', async ({
|
|
93
|
-
page
|
|
94
|
-
}) => {
|
|
95
|
-
const {
|
|
96
|
-
nav,
|
|
97
|
-
box
|
|
98
|
-
} = await openNav(page);
|
|
99
|
-
const cdp = await page.context().newCDPSession(page);
|
|
100
|
-
const x = box.x + box.width / 2;
|
|
101
|
-
// A sideways spread: the content scrolls vertically, so a vertical spread
|
|
102
|
-
// would spend its first stretch panning before the zoom takes over.
|
|
103
|
-
await pinch(cdp, {
|
|
104
|
-
x: x - 30,
|
|
105
|
-
y: box.y + 80
|
|
106
|
-
}, {
|
|
107
|
-
x: x + 30,
|
|
108
|
-
y: box.y + 80
|
|
109
|
-
});
|
|
110
|
-
expect(await page.evaluate(() => window.visualViewport?.scale ?? 1)).toBeGreaterThan(1.2);
|
|
111
|
-
await expect(nav).toBeVisible();
|
|
112
|
-
});
|
|
113
|
-
test('a pinch on the backdrop beside the nav zooms the page', async ({
|
|
114
|
-
page
|
|
115
|
-
}) => {
|
|
116
|
-
const {
|
|
117
|
-
nav
|
|
118
|
-
} = await openNav(page);
|
|
119
|
-
// The panel is the dialog's own child; the rest of the dialog is backdrop.
|
|
120
|
-
// Whichever side the panel sits on, pinch in the strip beside it.
|
|
121
|
-
const panel = await nav.locator(':scope > div').first().boundingBox();
|
|
122
|
-
if (panel == null) {
|
|
123
|
-
throw new Error('no nav panel box');
|
|
124
|
-
}
|
|
125
|
-
const viewport = page.viewportSize();
|
|
126
|
-
const before = panel.x;
|
|
127
|
-
const after = viewport.width - (panel.x + panel.width);
|
|
128
|
-
const strip = before >= after ? {
|
|
129
|
-
start: 0,
|
|
130
|
-
end: panel.x
|
|
131
|
-
} : {
|
|
132
|
-
start: panel.x + panel.width,
|
|
133
|
-
end: viewport.width
|
|
134
|
-
};
|
|
135
|
-
expect(strip.end - strip.start).toBeGreaterThan(40);
|
|
136
|
-
const x = (strip.start + strip.end) / 2;
|
|
137
|
-
const fingers = [{
|
|
138
|
-
x: x - 4,
|
|
139
|
-
y: 380
|
|
140
|
-
}, {
|
|
141
|
-
x: x + 4,
|
|
142
|
-
y: 440
|
|
143
|
-
}];
|
|
144
|
-
// Both fingers land on the backdrop, outside the panel.
|
|
145
|
-
for (const finger of fingers) {
|
|
146
|
-
expect(finger.x < panel.x || finger.x > panel.x + panel.width).toBe(true);
|
|
147
|
-
expect(await nav.evaluate((dialog, p) => document.elementFromPoint(p.x, p.y) === dialog, finger)).toBe(true);
|
|
148
|
-
}
|
|
149
|
-
const cdp = await page.context().newCDPSession(page);
|
|
150
|
-
await pinch(cdp, fingers[0], fingers[1]);
|
|
151
|
-
expect(await page.evaluate(() => window.visualViewport?.scale ?? 1)).toBeGreaterThan(1.2);
|
|
152
|
-
await expect(nav).toBeVisible();
|
|
153
|
-
});
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y release-only
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file CreateRow.a11y.chromium.spec.ts
|
|
6
|
-
* @input The `Core/MultiSelector` CreateFromQuery story in a built Storybook.
|
|
7
|
-
* @output Real-engine proof of the create row's appear/disappear cycle: what
|
|
8
|
-
* the live region says as the row comes and goes, and where the highlight
|
|
9
|
-
* lands when the row vanishes mid-type. The region clears itself after each
|
|
10
|
-
* announcement, so the spec reads a record of what it exposed rather than
|
|
11
|
-
* its live text.
|
|
12
|
-
* @position Run with `pnpm test:a11y-contract`; a DOM emulator cannot show
|
|
13
|
-
* the live region and the active descendant as a screen reader sees them
|
|
14
|
-
* across a sequence of keystrokes.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
import { expect, test } from '@playwright/test';
|
|
18
|
-
import { DEFAULT_STORYBOOK_DIR, serveStorybook } from '@astryxdesign/a11y-spec/storybook';
|
|
19
|
-
let storybook;
|
|
20
|
-
test.beforeAll(async () => {
|
|
21
|
-
storybook = await serveStorybook(process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR);
|
|
22
|
-
});
|
|
23
|
-
test.afterAll(async () => {
|
|
24
|
-
await storybook?.close();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Records every message the polite region exposes, in order. The region
|
|
29
|
-
* clears itself 2 s after its last announcement, so a read of its live text
|
|
30
|
-
* that a slow runner makes late finds it empty; the record keeps what was
|
|
31
|
-
* said.
|
|
32
|
-
*/
|
|
33
|
-
async function recordPolite(page) {
|
|
34
|
-
await page.evaluate(() => {
|
|
35
|
-
const exposed = [];
|
|
36
|
-
window.__polite = exposed;
|
|
37
|
-
new MutationObserver(() => {
|
|
38
|
-
const text = document.querySelector('[data-astryx-live-region="polite"]')?.textContent?.trim() ?? '';
|
|
39
|
-
if (text !== '' && text !== exposed.at(-1)) {
|
|
40
|
-
exposed.push(text);
|
|
41
|
-
}
|
|
42
|
-
}).observe(document.body, {
|
|
43
|
-
subtree: true,
|
|
44
|
-
childList: true,
|
|
45
|
-
characterData: true
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** How many messages the polite region has exposed so far. */
|
|
51
|
-
async function politeCount(page) {
|
|
52
|
-
return page.evaluate(() => window.__polite.length);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** The latest message the polite region exposed after the first `since`. */
|
|
56
|
-
async function politeSince(page, since) {
|
|
57
|
-
return page.evaluate(start => window.__polite.slice(start).at(-1) ?? '', since);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Matches a polite region whose newest message is `message`. Messages from
|
|
62
|
-
* different announcers written before the region exposes the previous one are
|
|
63
|
-
* joined in order (spec:AST-086 FR9), so the creation can follow a search
|
|
64
|
-
* status still waiting. The search's own statuses replace each other instead
|
|
65
|
-
* (its `hasReplace` announcer), so they are read whole.
|
|
66
|
-
*/
|
|
67
|
-
function newestMessage(message) {
|
|
68
|
-
const escaped = message.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
69
|
-
return new RegExp(`(^|\\s)${escaped}$`);
|
|
70
|
-
}
|
|
71
|
-
async function activeDescendantText(page) {
|
|
72
|
-
return page.evaluate(() => {
|
|
73
|
-
const id = document.activeElement?.getAttribute('aria-activedescendant');
|
|
74
|
-
return id ? document.getElementById(id)?.textContent?.trim() ?? '' : null;
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
test('the create row is announced as it appears and the highlight survives it vanishing', async ({
|
|
78
|
-
page
|
|
79
|
-
}) => {
|
|
80
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--create-from-query&viewMode=story`);
|
|
81
|
-
const search = page.getByRole('combobox');
|
|
82
|
-
await expect(search).toBeFocused();
|
|
83
|
-
await recordPolite(page);
|
|
84
|
-
|
|
85
|
-
// "Bu": a partial match plus the create row above it.
|
|
86
|
-
await search.pressSequentially('Bu');
|
|
87
|
-
await expect(page.getByRole('option')).toHaveText(['Create "Bu"', 'Bug']);
|
|
88
|
-
await expect.poll(async () => politeSince(page, 0)).toBe('1 result');
|
|
89
|
-
|
|
90
|
-
// Highlight the create row, then type the letter that makes it vanish: the
|
|
91
|
-
// highlight must not be left pointing at a row that no longer exists.
|
|
92
|
-
await search.press('ArrowDown');
|
|
93
|
-
await expect.poll(async () => activeDescendantText(page)).toBe('Create "Bu"');
|
|
94
|
-
await search.press('g');
|
|
95
|
-
await expect(page.getByRole('option')).toHaveText(['Bug']);
|
|
96
|
-
await expect.poll(async () => activeDescendantText(page)).not.toBe('Create "Bu"');
|
|
97
|
-
const after = await activeDescendantText(page);
|
|
98
|
-
expect(after === null || after === 'Bug').toBe(true);
|
|
99
|
-
|
|
100
|
-
// A query that matches nothing: the row is the whole result and the region
|
|
101
|
-
// says so rather than "No results found".
|
|
102
|
-
const beforeUrgent = await politeCount(page);
|
|
103
|
-
await search.fill('');
|
|
104
|
-
await search.pressSequentially('Urgent');
|
|
105
|
-
await expect(page.getByRole('option')).toHaveText(['Create "Urgent"']);
|
|
106
|
-
await expect.poll(async () => politeSince(page, beforeUrgent)).toBe('Create "Urgent"');
|
|
107
|
-
|
|
108
|
-
// Enter commits: the caller adds the option, the search clears, and the new
|
|
109
|
-
// label is a real row.
|
|
110
|
-
const beforeEnter = await politeCount(page);
|
|
111
|
-
await search.press('Enter');
|
|
112
|
-
await expect.poll(async () => politeSince(page, beforeEnter)).toMatch(newestMessage('Urgent created'));
|
|
113
|
-
await expect(search).toHaveValue('');
|
|
114
|
-
await expect(page.getByRole('option', {
|
|
115
|
-
name: 'Urgent'
|
|
116
|
-
})).toHaveAttribute('aria-selected', 'true');
|
|
117
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y always
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file MultiSelector.disabledFocus.a11y.chromium.spec.ts
|
|
6
|
-
* @input The `Core/MultiSelector` Default story in a built Storybook.
|
|
7
|
-
* @output Real-engine proof of `spec:AST-085` FR4: a trigger disabled while it
|
|
8
|
-
* holds keyboard focus keeps focus and reports itself disabled.
|
|
9
|
-
* @position Run with `pnpm test:a11y-contract`; a DOM emulator does not move
|
|
10
|
-
* focus off an element that becomes disabled, so it cannot show the loss.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import { expect, test } from '@playwright/test';
|
|
14
|
-
import { DEFAULT_STORYBOOK_DIR, serveStorybook } from '@astryxdesign/a11y-spec/storybook';
|
|
15
|
-
let storybook;
|
|
16
|
-
test.beforeAll(async () => {
|
|
17
|
-
storybook = await serveStorybook(process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR);
|
|
18
|
-
});
|
|
19
|
-
test.afterAll(async () => {
|
|
20
|
-
await storybook?.close();
|
|
21
|
-
});
|
|
22
|
-
test('a focused trigger keeps focus when it becomes disabled', async ({
|
|
23
|
-
page
|
|
24
|
-
}) => {
|
|
25
|
-
const storyId = 'core-multiselector--default';
|
|
26
|
-
await page.goto(`${storybook.origin}/iframe.html?id=${storyId}&viewMode=story`);
|
|
27
|
-
const trigger = page.getByRole('combobox', {
|
|
28
|
-
name: 'Columns'
|
|
29
|
-
});
|
|
30
|
-
await trigger.focus();
|
|
31
|
-
await expect(trigger).toBeFocused();
|
|
32
|
-
await page.evaluate(id => {
|
|
33
|
-
const channel = window.__STORYBOOK_ADDONS_CHANNEL__;
|
|
34
|
-
if (channel == null) {
|
|
35
|
-
throw new Error('Storybook channel is unavailable');
|
|
36
|
-
}
|
|
37
|
-
channel.emit('updateStoryArgs', {
|
|
38
|
-
storyId: id,
|
|
39
|
-
updatedArgs: {
|
|
40
|
-
isDisabled: true
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}, storyId);
|
|
44
|
-
|
|
45
|
-
// Wait for the disabled re-render in either form, so focus is checked
|
|
46
|
-
// after it lands.
|
|
47
|
-
await expect.poll(async () => trigger.evaluate(el => el.hasAttribute('disabled') || el.getAttribute('aria-disabled') === 'true')).toBe(true);
|
|
48
|
-
await expect(trigger).toBeFocused();
|
|
49
|
-
});
|
|
@@ -1,273 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y release-only
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file OptionActions.a11y.chromium.spec.ts
|
|
6
|
-
* @input The `Core/MultiSelector` RowActions and RowActionsRtl stories in a
|
|
7
|
-
* built Storybook.
|
|
8
|
-
* @output Real-engine proof for option actions: the action is visible at rest
|
|
9
|
-
* beside its row (`spec:AST-058` FR8), the keyboard reaches it through the
|
|
10
|
-
* inline-end arrow in both directions and fires it with Enter, the active
|
|
11
|
-
* action cell draws the standard focus ring when the shared input modality
|
|
12
|
-
* is keyboard and not after pointer input, and the highlight follows a real
|
|
13
|
-
* mouse across rows and actions.
|
|
14
|
-
* @position Run with `pnpm test:a11y-contract`; paint, pointer paths and the
|
|
15
|
-
* active descendant as an engine exposes them are not jsdom claims.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
import { expect, test } from '@playwright/test';
|
|
19
|
-
import { DEFAULT_STORYBOOK_DIR, serveStorybook } from '@astryxdesign/a11y-spec/storybook';
|
|
20
|
-
let storybook;
|
|
21
|
-
test.beforeAll(async () => {
|
|
22
|
-
storybook = await serveStorybook(process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR);
|
|
23
|
-
});
|
|
24
|
-
test.afterAll(async () => {
|
|
25
|
-
await storybook?.close();
|
|
26
|
-
});
|
|
27
|
-
async function box(locator) {
|
|
28
|
-
const rect = await locator.boundingBox();
|
|
29
|
-
if (rect == null) {
|
|
30
|
-
throw new Error(`no box for ${String(locator)}`);
|
|
31
|
-
}
|
|
32
|
-
return rect;
|
|
33
|
-
}
|
|
34
|
-
async function litRows(page) {
|
|
35
|
-
return page.evaluate(() => {
|
|
36
|
-
const rows = Array.from(document.querySelectorAll('[role="row"]'));
|
|
37
|
-
const base = rows.find(r => r.textContent?.includes('P1'));
|
|
38
|
-
const baseBg = base ? getComputedStyle(base).backgroundColor : 'rgba(0, 0, 0, 0)';
|
|
39
|
-
return rows.filter(r => getComputedStyle(r).backgroundColor !== baseBg).map(r => r.querySelector('[role="gridcell"]')?.textContent?.trim() ?? '');
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
async function activeDescendant(page) {
|
|
43
|
-
return page.evaluate(() => {
|
|
44
|
-
const id = document.activeElement?.getAttribute('aria-activedescendant');
|
|
45
|
-
if (!id) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
const el = document.getElementById(id);
|
|
49
|
-
if (!el) {
|
|
50
|
-
return 'missing';
|
|
51
|
-
}
|
|
52
|
-
// The row is named by its option cell; the action cell by the control in
|
|
53
|
-
// it. Report role + that name, not raw text (an icon's title would leak).
|
|
54
|
-
const role = el.getAttribute('role');
|
|
55
|
-
const name = role === 'row' ? document.getElementById(el.getAttribute('aria-labelledby') ?? '')?.textContent ?? '' : el.querySelector('button')?.getAttribute('aria-label') ?? '';
|
|
56
|
-
return `${role}:${name.trim()}`;
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
test('actions are visible at rest, in their rows, inside the grid', async ({
|
|
60
|
-
page
|
|
61
|
-
}) => {
|
|
62
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions&viewMode=story`);
|
|
63
|
-
const grid = page.getByRole('grid');
|
|
64
|
-
await expect(grid).toBeVisible();
|
|
65
|
-
expect(await page.getByRole('listbox').count()).toBe(0);
|
|
66
|
-
for (const label of ['Bug', 'Design review', 'P0', 'P1']) {
|
|
67
|
-
const row = page.getByRole('row', {
|
|
68
|
-
name: label
|
|
69
|
-
});
|
|
70
|
-
const action = page.getByRole('button', {
|
|
71
|
-
name: `Edit ${label}`
|
|
72
|
-
});
|
|
73
|
-
await expect(action).toBeVisible();
|
|
74
|
-
// Inside its own row, not merely aligned with it.
|
|
75
|
-
expect(await row.locator('button').count()).toBe(1);
|
|
76
|
-
const r = await box(row);
|
|
77
|
-
const a = await box(action);
|
|
78
|
-
expect(Math.abs(r.y + r.height / 2 - (a.y + a.height / 2))).toBeLessThan(2);
|
|
79
|
-
expect(a.x + a.width).toBeLessThanOrEqual(r.x + r.width + 1);
|
|
80
|
-
}
|
|
81
|
-
expect(await page.getByRole('button', {
|
|
82
|
-
name: 'Edit Docs'
|
|
83
|
-
}).count()).toBe(0);
|
|
84
|
-
// Two cells per row, every row.
|
|
85
|
-
const shapes = await page.evaluate(() => Array.from(document.querySelectorAll('[role="row"]')).map(r => Array.from(r.children).filter(c => c.getAttribute('role') === 'gridcell').length));
|
|
86
|
-
expect(shapes.every(n => n === 2)).toBe(true);
|
|
87
|
-
});
|
|
88
|
-
test('the keyboard reaches an action through the inline-end arrow and fires it with Enter', async ({
|
|
89
|
-
page
|
|
90
|
-
}) => {
|
|
91
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions&viewMode=story`);
|
|
92
|
-
const search = page.getByRole('combobox');
|
|
93
|
-
await expect(search).toBeFocused();
|
|
94
|
-
await search.press('ArrowDown'); // select-all
|
|
95
|
-
await search.press('ArrowDown'); // Feature (no action)
|
|
96
|
-
await search.press('ArrowDown'); // Bug
|
|
97
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
98
|
-
await search.press('ArrowRight');
|
|
99
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
100
|
-
await search.press('Enter');
|
|
101
|
-
await expect(page.getByTestId('last-edited')).toHaveText('Bug');
|
|
102
|
-
// Selection untouched, panel open, highlight where it was.
|
|
103
|
-
await expect(page.getByRole('row', {
|
|
104
|
-
name: 'Bug'
|
|
105
|
-
})).toHaveAttribute('aria-selected', 'false');
|
|
106
|
-
await expect(page.getByRole('grid')).toBeVisible();
|
|
107
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
108
|
-
await search.press('ArrowLeft');
|
|
109
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
110
|
-
});
|
|
111
|
-
test('the active action cell draws the standard focus ring', async ({
|
|
112
|
-
page
|
|
113
|
-
}) => {
|
|
114
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions&viewMode=story`);
|
|
115
|
-
const search = page.getByRole('combobox');
|
|
116
|
-
await expect(search).toBeFocused();
|
|
117
|
-
await search.press('ArrowDown'); // select-all
|
|
118
|
-
await search.press('ArrowDown'); // Feature (no action)
|
|
119
|
-
await search.press('ArrowDown'); // Bug
|
|
120
|
-
await search.press('ArrowRight');
|
|
121
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
122
|
-
const ring = await page.evaluate(() => {
|
|
123
|
-
const id = document.activeElement?.getAttribute('aria-activedescendant');
|
|
124
|
-
const cell = id ? document.getElementById(id) : null;
|
|
125
|
-
if (!cell) {
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
|
-
const cs = getComputedStyle(cell);
|
|
129
|
-
// The ring the focus tokens describe, resolved by the browser on a probe.
|
|
130
|
-
const probe = document.createElement('div');
|
|
131
|
-
probe.style.cssText = 'outline-width:var(--focus-outline-width);outline-style:var(--focus-outline-style);outline-color:var(--focus-outline-color);outline-offset:var(--focus-outline-offset)';
|
|
132
|
-
document.body.appendChild(probe);
|
|
133
|
-
const want = getComputedStyle(probe);
|
|
134
|
-
const result = {
|
|
135
|
-
style: cs.outlineStyle,
|
|
136
|
-
width: cs.outlineWidth,
|
|
137
|
-
color: cs.outlineColor,
|
|
138
|
-
offset: cs.outlineOffset,
|
|
139
|
-
wantStyle: want.outlineStyle,
|
|
140
|
-
wantWidth: want.outlineWidth,
|
|
141
|
-
wantColor: want.outlineColor,
|
|
142
|
-
wantOffset: want.outlineOffset
|
|
143
|
-
};
|
|
144
|
-
probe.remove();
|
|
145
|
-
return result;
|
|
146
|
-
});
|
|
147
|
-
expect(ring).not.toBeNull();
|
|
148
|
-
expect(ring.style).not.toBe('none');
|
|
149
|
-
expect(ring.width).not.toBe('0px');
|
|
150
|
-
expect(ring.style).toBe(ring.wantStyle);
|
|
151
|
-
expect(ring.width).toBe(ring.wantWidth);
|
|
152
|
-
expect(ring.color).toBe(ring.wantColor);
|
|
153
|
-
expect(ring.offset).toBe(ring.wantOffset);
|
|
154
|
-
// Back on the option cell, the action cell drops the ring.
|
|
155
|
-
await search.press('ArrowLeft');
|
|
156
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
157
|
-
const after = await page.getByRole('row', {
|
|
158
|
-
name: 'Bug'
|
|
159
|
-
}).locator('[data-multi-selector-action-cell]').evaluate(cell => getComputedStyle(cell).outlineStyle);
|
|
160
|
-
expect(after).toBe('none');
|
|
161
|
-
});
|
|
162
|
-
test('the action-cell ring follows the shared input modality', async ({
|
|
163
|
-
page
|
|
164
|
-
}) => {
|
|
165
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions&viewMode=story`);
|
|
166
|
-
const search = page.getByRole('combobox');
|
|
167
|
-
await expect(search).toBeFocused();
|
|
168
|
-
const actionCell = name => page.getByRole('row', {
|
|
169
|
-
name
|
|
170
|
-
}).locator('[data-multi-selector-action-cell]');
|
|
171
|
-
const outlineStyle = async name => actionCell(name).evaluate(cell => getComputedStyle(cell).outlineStyle);
|
|
172
|
-
const hover = async name => {
|
|
173
|
-
const cell = await box(actionCell(name));
|
|
174
|
-
await page.mouse.move(cell.x + cell.width / 2, cell.y + cell.height / 2, {
|
|
175
|
-
steps: 6
|
|
176
|
-
});
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
// Pointer input: a click into the search field, then a hover onto an
|
|
180
|
-
// action, moves the highlight without the ring, and leaves none behind.
|
|
181
|
-
await search.click();
|
|
182
|
-
await hover('Bug');
|
|
183
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
184
|
-
expect(await outlineStyle('Bug')).toBe('none');
|
|
185
|
-
// A modifier chord is not keyboard navigation for the shared tracker.
|
|
186
|
-
await search.press('Control+ArrowRight');
|
|
187
|
-
expect(await outlineStyle('Bug')).toBe('none');
|
|
188
|
-
await page.mouse.move(1, 1, {
|
|
189
|
-
steps: 6
|
|
190
|
-
});
|
|
191
|
-
expect(await outlineStyle('Bug')).toBe('none');
|
|
192
|
-
|
|
193
|
-
// Keyboard input: back onto the same cell, the ring is drawn.
|
|
194
|
-
await search.press('ArrowLeft');
|
|
195
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
196
|
-
await search.press('ArrowRight');
|
|
197
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
198
|
-
expect(await outlineStyle('Bug')).not.toBe('none');
|
|
199
|
-
|
|
200
|
-
// Still keyboard-driven, a hover that moves the highlight to another
|
|
201
|
-
// row's action carries the ring with it.
|
|
202
|
-
await hover('P0');
|
|
203
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit P0');
|
|
204
|
-
expect(await outlineStyle('P0')).not.toBe('none');
|
|
205
|
-
expect(await outlineStyle('Bug')).toBe('none');
|
|
206
|
-
});
|
|
207
|
-
test('under RTL the inline-end arrow is ArrowLeft', async ({
|
|
208
|
-
page
|
|
209
|
-
}) => {
|
|
210
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions-rtl&viewMode=story`);
|
|
211
|
-
const trigger = page.getByRole('combobox');
|
|
212
|
-
await expect(page.getByRole('grid')).toBeVisible();
|
|
213
|
-
await trigger.focus();
|
|
214
|
-
await trigger.press('ArrowDown');
|
|
215
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
216
|
-
await trigger.press('ArrowRight');
|
|
217
|
-
await expect.poll(async () => activeDescendant(page)).toBe('row:Bug');
|
|
218
|
-
await trigger.press('ArrowLeft');
|
|
219
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit Bug');
|
|
220
|
-
// And the action is painted at the inline end: to the LEFT of the label.
|
|
221
|
-
const label = await box(page.getByText('Bug', {
|
|
222
|
-
exact: true
|
|
223
|
-
}));
|
|
224
|
-
const action = await box(page.getByRole('button', {
|
|
225
|
-
name: 'Edit Bug'
|
|
226
|
-
}));
|
|
227
|
-
expect(action.x + action.width).toBeLessThanOrEqual(label.x + 1);
|
|
228
|
-
});
|
|
229
|
-
test('the highlight follows a real mouse across rows and actions', async ({
|
|
230
|
-
page
|
|
231
|
-
}) => {
|
|
232
|
-
await page.goto(`${storybook.origin}/iframe.html?id=core-multiselector--row-actions&viewMode=story`);
|
|
233
|
-
await expect(page.getByRole('grid')).toBeVisible();
|
|
234
|
-
const center = async l => {
|
|
235
|
-
const b = await box(l);
|
|
236
|
-
return {
|
|
237
|
-
x: b.x + b.width / 2,
|
|
238
|
-
y: b.y + b.height / 2
|
|
239
|
-
};
|
|
240
|
-
};
|
|
241
|
-
const docs = await center(page.getByRole('row', {
|
|
242
|
-
name: 'Docs'
|
|
243
|
-
}));
|
|
244
|
-
const p0Action = await center(page.getByRole('button', {
|
|
245
|
-
name: 'Edit P0'
|
|
246
|
-
}));
|
|
247
|
-
const reviewAction = await center(page.getByRole('button', {
|
|
248
|
-
name: 'Edit Design review'
|
|
249
|
-
}));
|
|
250
|
-
await page.mouse.move(docs.x, docs.y, {
|
|
251
|
-
steps: 4
|
|
252
|
-
});
|
|
253
|
-
await expect.poll(async () => litRows(page)).toEqual(['Docs']);
|
|
254
|
-
// Straight onto an action several rows lower: that row, not Docs.
|
|
255
|
-
await page.mouse.move(p0Action.x, p0Action.y, {
|
|
256
|
-
steps: 12
|
|
257
|
-
});
|
|
258
|
-
await expect.poll(async () => litRows(page)).toEqual(['P0']);
|
|
259
|
-
await expect.poll(async () => activeDescendant(page)).toBe('gridcell:Edit P0');
|
|
260
|
-
// Up the action column.
|
|
261
|
-
await page.mouse.move(reviewAction.x, reviewAction.y, {
|
|
262
|
-
steps: 8
|
|
263
|
-
});
|
|
264
|
-
await expect.poll(async () => litRows(page)).toEqual(['Design review']);
|
|
265
|
-
// Rest until the tooltip shows, then leave: nothing stale.
|
|
266
|
-
await expect(page.getByRole('tooltip')).toBeVisible({
|
|
267
|
-
timeout: 3000
|
|
268
|
-
});
|
|
269
|
-
await page.mouse.move(docs.x, docs.y, {
|
|
270
|
-
steps: 10
|
|
271
|
-
});
|
|
272
|
-
await expect.poll(async () => litRows(page)).toEqual(['Docs']);
|
|
273
|
-
});
|