@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,126 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y scope core/Layer
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file LayerBrowserHide.a11y.chromium.spec.ts
|
|
6
|
-
* @input The `Core/Layer` BrowserHideWakesAFocusLayer story in a built
|
|
7
|
-
* Storybook, driven by real Chromium pointer and keyboard input.
|
|
8
|
-
* @output Real-engine proof that a show the browser's own hide wakes — its
|
|
9
|
-
* close watcher's Escape returning focus to a trigger whose focus-driven
|
|
10
|
-
* layer asks to show — reaches the page as no error and ends with that
|
|
11
|
-
* layer shown; that a tap outside, which returns no focus, hides the
|
|
12
|
-
* layer with no error and wakes nothing; and that a press which
|
|
13
|
-
* light-dismisses one layer and opens another opens it at once. Only a real engine
|
|
14
|
-
* decides when a popover operation is in flight and refuses a show inside
|
|
15
|
-
* it; the unit suite (useLayer.test.tsx) covers the same rules on a
|
|
16
|
-
* mirrored Popover API. The in-flight rule is Chromium 150+: on the
|
|
17
|
-
* Chromium this repository's Playwright pins (149) the first case passes
|
|
18
|
-
* with or without the fix, so until that pin moves it guards the end state
|
|
19
|
-
* only.
|
|
20
|
-
* @position Run with `pnpm test:a11y-contract`.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import {expect, test, type Page} from '@playwright/test';
|
|
24
|
-
import {
|
|
25
|
-
DEFAULT_STORYBOOK_DIR,
|
|
26
|
-
serveStorybook,
|
|
27
|
-
type StaticServer,
|
|
28
|
-
} from '@astryxdesign/a11y-spec/storybook';
|
|
29
|
-
|
|
30
|
-
let storybook: StaticServer;
|
|
31
|
-
test.beforeAll(async () => {
|
|
32
|
-
storybook = await serveStorybook(
|
|
33
|
-
process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR,
|
|
34
|
-
);
|
|
35
|
-
});
|
|
36
|
-
test.afterAll(async () => {
|
|
37
|
-
await storybook?.close();
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
/** Every error the page reports while the test runs: a refused show is one. */
|
|
41
|
-
function collectPageErrors(page: Page): string[] {
|
|
42
|
-
const errors: string[] = [];
|
|
43
|
-
page.on('pageerror', error => {
|
|
44
|
-
errors.push(`${error.name}: ${error.message}`);
|
|
45
|
-
});
|
|
46
|
-
return errors;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
async function openStory(page: Page, id: string): Promise<void> {
|
|
50
|
-
await page.goto(`${storybook.origin}/iframe.html?id=${id}&viewMode=story`);
|
|
51
|
-
await page.locator('#storybook-root button').first().waitFor();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
test('an Escape the browser answers, with focus inside the layer, returns focus to the trigger and shows its focus-driven layer, without an error', async ({
|
|
55
|
-
page,
|
|
56
|
-
}) => {
|
|
57
|
-
const errors = collectPageErrors(page);
|
|
58
|
-
await openStory(page, 'core-layer--browser-hide-wakes-a-focus-layer');
|
|
59
|
-
const trigger = page.getByRole('button', {name: 'Show layer'});
|
|
60
|
-
const inside = page.getByRole('button', {name: 'Inside', exact: true});
|
|
61
|
-
const hint = page.getByRole('tooltip');
|
|
62
|
-
|
|
63
|
-
// Keyboard focus shows the focus-driven layer; the press opens the content
|
|
64
|
-
// and Tab moves into it, which hides the focus-driven layer.
|
|
65
|
-
await page.keyboard.press('Tab');
|
|
66
|
-
await expect(trigger).toBeFocused();
|
|
67
|
-
await expect(hint).toBeVisible();
|
|
68
|
-
await page.keyboard.press('Enter');
|
|
69
|
-
await expect(inside).toBeVisible();
|
|
70
|
-
await page.keyboard.press('Tab');
|
|
71
|
-
await expect(inside).toBeFocused();
|
|
72
|
-
await expect(hint).toBeHidden();
|
|
73
|
-
|
|
74
|
-
// No layer handles Escape here: the browser's own close watcher hides the
|
|
75
|
-
// content layer and returns focus to the trigger inside that hide.
|
|
76
|
-
await page.keyboard.press('Escape');
|
|
77
|
-
await expect(inside).toBeHidden();
|
|
78
|
-
await expect(trigger).toBeFocused();
|
|
79
|
-
await expect(hint).toBeVisible();
|
|
80
|
-
expect(errors).toEqual([]);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
test('a tap outside the layer, with focus inside it, hides the layer without an error; it returns no focus, so the focus-driven layer stays hidden', async ({
|
|
84
|
-
page,
|
|
85
|
-
}) => {
|
|
86
|
-
const errors = collectPageErrors(page);
|
|
87
|
-
await openStory(page, 'core-layer--browser-hide-wakes-a-focus-layer');
|
|
88
|
-
const trigger = page.getByRole('button', {name: 'Show layer'});
|
|
89
|
-
const inside = page.getByRole('button', {name: 'Inside', exact: true});
|
|
90
|
-
const hint = page.getByRole('tooltip');
|
|
91
|
-
|
|
92
|
-
await page.keyboard.press('Tab');
|
|
93
|
-
await page.keyboard.press('Enter');
|
|
94
|
-
await expect(inside).toBeVisible();
|
|
95
|
-
await page.keyboard.press('Tab');
|
|
96
|
-
await expect(inside).toBeFocused();
|
|
97
|
-
|
|
98
|
-
// A light dismiss returns no focus: the press moves focus to the page
|
|
99
|
-
// before the hide runs, so nothing wakes the focus-driven layer.
|
|
100
|
-
await page.mouse.click(5, 5);
|
|
101
|
-
await expect(inside).toBeHidden();
|
|
102
|
-
await expect(trigger).not.toBeFocused();
|
|
103
|
-
await expect(hint).toBeHidden();
|
|
104
|
-
expect(errors).toEqual([]);
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
test('a press that light-dismisses one layer and opens another opens it at once: focus moves into it, without an error', async ({
|
|
108
|
-
page,
|
|
109
|
-
}) => {
|
|
110
|
-
const errors = collectPageErrors(page);
|
|
111
|
-
await openStory(page, 'core-layer--browser-hide-wakes-a-focus-layer');
|
|
112
|
-
const inside = page.getByRole('button', {name: 'Inside', exact: true});
|
|
113
|
-
const otherTrigger = page.getByRole('button', {name: 'Show the other layer'});
|
|
114
|
-
const otherInside = page.getByRole('button', {name: 'Inside the other'});
|
|
115
|
-
|
|
116
|
-
await page.getByRole('button', {name: 'Show layer'}).click();
|
|
117
|
-
await expect(inside).toBeVisible();
|
|
118
|
-
|
|
119
|
-
// The browser light-dismisses the first layer at pointerup; the click opens
|
|
120
|
-
// the other one in the same gesture and focuses into it right away.
|
|
121
|
-
await otherTrigger.click();
|
|
122
|
-
await expect(inside).toBeHidden();
|
|
123
|
-
await expect(otherInside).toBeVisible();
|
|
124
|
-
await expect(otherInside).toBeFocused();
|
|
125
|
-
expect(errors).toEqual([]);
|
|
126
|
-
});
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y always
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file LayerReducedMotion.a11y.chromium.spec.ts
|
|
6
|
-
* @input The Tooltip and HoverCard Touch Triggers stories in a built
|
|
7
|
-
* Storybook, Chromium with Reduce Motion emulated, under a finger (phone
|
|
8
|
-
* profile, coarse pointer) and under a mouse (desktop profile)
|
|
9
|
-
* @output Real-engine proof of the layer entrance under Reduce Motion: under
|
|
10
|
-
* a finger the tooltip and the hover card fade in with no travel and no
|
|
11
|
-
* scale, in 200 ms or less (design:reduced-motion DR2); under a mouse they
|
|
12
|
-
* still appear at once (DR3); without Reduce Motion the entrance is
|
|
13
|
-
* unchanged
|
|
14
|
-
* @position Run with `pnpm test:a11y-contract`. Media queries only resolve
|
|
15
|
-
* in a real engine; the entrance itself is layerAnimations.stylex.ts.
|
|
16
|
-
* Reduce Motion is emulated per page (`page.emulateMedia`): the project's
|
|
17
|
-
* `use.reducedMotion` does not reach `matchMedia` (playwright.config.ts)
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import {expect, test, type Page} from '@playwright/test';
|
|
21
|
-
import {
|
|
22
|
-
DEFAULT_STORYBOOK_DIR,
|
|
23
|
-
serveStorybook,
|
|
24
|
-
type StaticServer,
|
|
25
|
-
} from '@astryxdesign/a11y-spec/storybook';
|
|
26
|
-
|
|
27
|
-
let storybook: StaticServer;
|
|
28
|
-
test.beforeAll(async () => {
|
|
29
|
-
storybook = await serveStorybook(
|
|
30
|
-
process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR,
|
|
31
|
-
);
|
|
32
|
-
});
|
|
33
|
-
test.afterAll(async () => {
|
|
34
|
-
await storybook?.close();
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const phone = {
|
|
38
|
-
hasTouch: true,
|
|
39
|
-
isMobile: true,
|
|
40
|
-
viewport: {width: 390, height: 844},
|
|
41
|
-
} as const;
|
|
42
|
-
|
|
43
|
-
const cases = [
|
|
44
|
-
{
|
|
45
|
-
name: 'Tooltip',
|
|
46
|
-
story: 'core-tooltip--touch-triggers',
|
|
47
|
-
trigger: 'hover-able term',
|
|
48
|
-
layer: '.astryx-tooltip',
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: 'HoverCard',
|
|
52
|
-
story: 'core-hovercard--touch-triggers',
|
|
53
|
-
trigger: 'Jane Doe',
|
|
54
|
-
layer: '.astryx-hover-card',
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* The open layer's entrance: its animation name and the properties its
|
|
60
|
-
* keyframes animate (read from the page's style sheets).
|
|
61
|
-
*/
|
|
62
|
-
async function entranceOf(page: Page, selector: string) {
|
|
63
|
-
await expect(page.locator(`${selector}:popover-open`)).toHaveCount(1);
|
|
64
|
-
return page.evaluate(sel => {
|
|
65
|
-
const layer = document.querySelector<HTMLElement>(`${sel}:popover-open`);
|
|
66
|
-
if (layer == null) {
|
|
67
|
-
return {name: 'missing', properties: [], duration: NaN};
|
|
68
|
-
}
|
|
69
|
-
const computed = getComputedStyle(layer);
|
|
70
|
-
const name = computed.animationName;
|
|
71
|
-
// Seconds; the first animation's duration.
|
|
72
|
-
const duration = parseFloat(computed.animationDuration.split(',')[0]);
|
|
73
|
-
const properties = new Set<string>();
|
|
74
|
-
for (const sheet of Array.from(document.styleSheets)) {
|
|
75
|
-
let rules: CSSRuleList;
|
|
76
|
-
try {
|
|
77
|
-
rules = sheet.cssRules;
|
|
78
|
-
} catch {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
const visit = (list: CSSRuleList) => {
|
|
82
|
-
for (const rule of Array.from(list)) {
|
|
83
|
-
if (rule instanceof CSSKeyframesRule && rule.name === name) {
|
|
84
|
-
for (const frame of Array.from(rule.cssRules)) {
|
|
85
|
-
const style = (frame as CSSKeyframeRule).style;
|
|
86
|
-
for (let i = 0; i < style.length; i += 1) {
|
|
87
|
-
properties.add(style.item(i));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
} else if ('cssRules' in rule) {
|
|
91
|
-
visit((rule as CSSGroupingRule).cssRules);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
visit(rules);
|
|
96
|
-
}
|
|
97
|
-
return {name, properties: Array.from(properties).sort(), duration};
|
|
98
|
-
}, selector);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
async function tapOpen(page: Page, text: string) {
|
|
102
|
-
const box = await page.getByText(text, {exact: true}).boundingBox();
|
|
103
|
-
if (box == null) {
|
|
104
|
-
throw new Error(`no trigger reading ${text}`);
|
|
105
|
-
}
|
|
106
|
-
await page.touchscreen.tap(box.x + box.width / 2, box.y + box.height / 2);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
for (const {name, story, trigger, layer} of cases) {
|
|
110
|
-
test.describe(`${name} under a finger with Reduce Motion`, () => {
|
|
111
|
-
test.use(phone);
|
|
112
|
-
|
|
113
|
-
test('fades in, with no travel and no scale, in 200 ms or less', async ({
|
|
114
|
-
page,
|
|
115
|
-
}) => {
|
|
116
|
-
await page.emulateMedia({reducedMotion: 'reduce'});
|
|
117
|
-
await page.goto(
|
|
118
|
-
`${storybook.origin}/iframe.html?id=${story}&viewMode=story`,
|
|
119
|
-
);
|
|
120
|
-
await tapOpen(page, trigger);
|
|
121
|
-
const entrance = await entranceOf(page, layer);
|
|
122
|
-
expect(entrance.name).not.toBe('none');
|
|
123
|
-
expect(entrance.properties).toEqual(['opacity']);
|
|
124
|
-
// design:reduced-motion DR2: a cross-fade of 200 ms or less.
|
|
125
|
-
expect(entrance.duration).toBeGreaterThan(0);
|
|
126
|
-
expect(entrance.duration).toBeLessThanOrEqual(0.2);
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
test.describe(`${name} under a finger with Reduce Motion and a slow theme`, () => {
|
|
131
|
-
test.use(phone);
|
|
132
|
-
|
|
133
|
-
test('still cross-fades in 200 ms or less', async ({page}) => {
|
|
134
|
-
await page.emulateMedia({reducedMotion: 'reduce'});
|
|
135
|
-
await page.goto(
|
|
136
|
-
`${storybook.origin}/iframe.html?id=${story}&viewMode=story`,
|
|
137
|
-
);
|
|
138
|
-
// A theme whose fast duration is longer than the cap (DR2, DR4: no
|
|
139
|
-
// theme value keeps a longer fade under Reduce Motion).
|
|
140
|
-
await page.addStyleTag({
|
|
141
|
-
content: ':root, [popover] { --duration-fast-max: 400ms !important; }',
|
|
142
|
-
});
|
|
143
|
-
await tapOpen(page, trigger);
|
|
144
|
-
const entrance = await entranceOf(page, layer);
|
|
145
|
-
expect(entrance.properties).toEqual(['opacity']);
|
|
146
|
-
expect(entrance.duration).toBeGreaterThan(0);
|
|
147
|
-
expect(entrance.duration).toBeLessThanOrEqual(0.2);
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
test.describe(`${name} under a finger without Reduce Motion`, () => {
|
|
152
|
-
test.use(phone);
|
|
153
|
-
|
|
154
|
-
test('keeps its entrance', async ({page}) => {
|
|
155
|
-
await page.emulateMedia({reducedMotion: 'no-preference'});
|
|
156
|
-
await page.goto(
|
|
157
|
-
`${storybook.origin}/iframe.html?id=${story}&viewMode=story`,
|
|
158
|
-
);
|
|
159
|
-
await tapOpen(page, trigger);
|
|
160
|
-
const entrance = await entranceOf(page, layer);
|
|
161
|
-
expect(entrance.properties).toEqual(['opacity', 'transform']);
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
test.describe(`${name} under a mouse with Reduce Motion`, () => {
|
|
166
|
-
test('still appears at once', async ({page}) => {
|
|
167
|
-
await page.emulateMedia({reducedMotion: 'reduce'});
|
|
168
|
-
await page.goto(
|
|
169
|
-
`${storybook.origin}/iframe.html?id=${story}&viewMode=story`,
|
|
170
|
-
);
|
|
171
|
-
await page.getByText(trigger, {exact: true}).hover();
|
|
172
|
-
const entrance = await entranceOf(page, layer);
|
|
173
|
-
expect(entrance.name).toBe('none');
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
// @pr-a11y always
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @file TouchTrigger.a11y.chromium.spec.ts
|
|
6
|
-
* @input The `Core/Tooltip` and `Core/HoverCard` Touch Triggers stories in a
|
|
7
|
-
* built Storybook, driven by real Chromium touch input (CDP) in a phone-sized
|
|
8
|
-
* viewport.
|
|
9
|
-
* @output Real-engine proof that a hover layer answers a touch only once it is
|
|
10
|
-
* a tap: it opens when the finger lifts, stays shut while a finger rests on
|
|
11
|
-
* the trigger, never opens for a touch that turns into a scroll, and a
|
|
12
|
-
* tap-opened layer closes when a tap outside lifts or a scroll starts
|
|
13
|
-
* outside.
|
|
14
|
-
* @position Run with `pnpm test:a11y-contract`. Only a real engine decides
|
|
15
|
-
* whether a touch is a tap, a scroll or a long press, so these outcomes
|
|
16
|
-
* cannot be shown in jsdom; the unit suites (Tooltip.test.tsx,
|
|
17
|
-
* HoverCard.test.tsx) cover the same rules on synthetic events.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import {
|
|
21
|
-
expect,
|
|
22
|
-
test,
|
|
23
|
-
type CDPSession,
|
|
24
|
-
type Locator,
|
|
25
|
-
type Page,
|
|
26
|
-
} from '@playwright/test';
|
|
27
|
-
import {
|
|
28
|
-
DEFAULT_STORYBOOK_DIR,
|
|
29
|
-
serveStorybook,
|
|
30
|
-
type StaticServer,
|
|
31
|
-
} from '@astryxdesign/a11y-spec/storybook';
|
|
32
|
-
|
|
33
|
-
let storybook: StaticServer;
|
|
34
|
-
test.beforeAll(async () => {
|
|
35
|
-
storybook = await serveStorybook(
|
|
36
|
-
process.env.ASTRYX_STORYBOOK_DIR ?? DEFAULT_STORYBOOK_DIR,
|
|
37
|
-
);
|
|
38
|
-
});
|
|
39
|
-
test.afterAll(async () => {
|
|
40
|
-
await storybook?.close();
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test.use({hasTouch: true, isMobile: true, viewport: {width: 390, height: 844}});
|
|
44
|
-
|
|
45
|
-
interface Finger {
|
|
46
|
-
down(x: number, y: number): Promise<void>;
|
|
47
|
-
move(x: number, y: number): Promise<void>;
|
|
48
|
-
up(): Promise<void>;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
async function openStory(page: Page, id: string): Promise<Finger> {
|
|
52
|
-
await page.goto(`${storybook.origin}/iframe.html?id=${id}&viewMode=story`);
|
|
53
|
-
// Room to scroll, so a drag is a page scroll the browser takes from us.
|
|
54
|
-
await page.evaluate(() => {
|
|
55
|
-
const spacer = document.createElement('div');
|
|
56
|
-
spacer.style.height = '2000px';
|
|
57
|
-
document.body.append(spacer);
|
|
58
|
-
});
|
|
59
|
-
const cdp: CDPSession = await page.context().newCDPSession(page);
|
|
60
|
-
return {
|
|
61
|
-
down: async (x, y) => {
|
|
62
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
63
|
-
type: 'touchStart',
|
|
64
|
-
touchPoints: [{x, y}],
|
|
65
|
-
});
|
|
66
|
-
},
|
|
67
|
-
move: async (x, y) => {
|
|
68
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
69
|
-
type: 'touchMove',
|
|
70
|
-
touchPoints: [{x, y}],
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
up: async () => {
|
|
74
|
-
await cdp.send('Input.dispatchTouchEvent', {
|
|
75
|
-
type: 'touchEnd',
|
|
76
|
-
touchPoints: [],
|
|
77
|
-
});
|
|
78
|
-
},
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
async function centerOf(target: Locator): Promise<[number, number]> {
|
|
83
|
-
const box = await target.boundingBox();
|
|
84
|
-
if (box == null) {
|
|
85
|
-
throw new Error('the trigger has no layout box');
|
|
86
|
-
}
|
|
87
|
-
return [
|
|
88
|
-
Math.round(box.x + box.width / 2),
|
|
89
|
-
Math.round(box.y + box.height / 2),
|
|
90
|
-
];
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/** A blank point of the page, away from every trigger. */
|
|
94
|
-
const OUTSIDE: [number, number] = [360, 700];
|
|
95
|
-
|
|
96
|
-
const cases = [
|
|
97
|
-
{
|
|
98
|
-
name: 'Tooltip',
|
|
99
|
-
story: 'core-tooltip--touch-triggers',
|
|
100
|
-
trigger: (page: Page) => page.getByText('hover-able term', {exact: true}),
|
|
101
|
-
action: (page: Page) => page.getByRole('button', {name: 'Save'}),
|
|
102
|
-
layer: '.astryx-tooltip:popover-open',
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
name: 'HoverCard',
|
|
106
|
-
story: 'core-hovercard--touch-triggers',
|
|
107
|
-
trigger: (page: Page) => page.getByText('Jane Doe', {exact: true}),
|
|
108
|
-
action: (page: Page) => page.getByRole('button', {name: 'Open profile'}),
|
|
109
|
-
layer: '.astryx-hover-card:popover-open',
|
|
110
|
-
},
|
|
111
|
-
];
|
|
112
|
-
|
|
113
|
-
for (const {name, story, trigger, action, layer} of cases) {
|
|
114
|
-
test.describe(`${name} under a finger`, () => {
|
|
115
|
-
test('opens when the tap lifts, not when the finger lands', async ({
|
|
116
|
-
page,
|
|
117
|
-
}) => {
|
|
118
|
-
const finger = await openStory(page, story);
|
|
119
|
-
const [x, y] = await centerOf(trigger(page));
|
|
120
|
-
await finger.down(x, y);
|
|
121
|
-
await page.waitForTimeout(150);
|
|
122
|
-
// The finger is still down: it may yet be starting a scroll.
|
|
123
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
124
|
-
await finger.up();
|
|
125
|
-
await expect(page.locator(layer)).toHaveCount(1);
|
|
126
|
-
});
|
|
127
|
-
|
|
128
|
-
test('never opens for a touch that turns into a scroll', async ({page}) => {
|
|
129
|
-
const finger = await openStory(page, story);
|
|
130
|
-
const [x, y] = await centerOf(trigger(page));
|
|
131
|
-
await finger.down(x, y);
|
|
132
|
-
for (let step = 1; step <= 8; step += 1) {
|
|
133
|
-
await finger.move(x, y - step * 10);
|
|
134
|
-
await page.waitForTimeout(16);
|
|
135
|
-
}
|
|
136
|
-
await finger.up();
|
|
137
|
-
await page.waitForTimeout(300);
|
|
138
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
test('stays shut while a finger rests on the trigger', async ({page}) => {
|
|
142
|
-
const finger = await openStory(page, story);
|
|
143
|
-
const [x, y] = await centerOf(trigger(page));
|
|
144
|
-
await finger.down(x, y);
|
|
145
|
-
await page.waitForTimeout(900);
|
|
146
|
-
// Nothing is decided until the finger lifts; whether a long hold still
|
|
147
|
-
// counts as a tap then is the engine's call (UIKit's own tap allows a
|
|
148
|
-
// hold of up to 1.5 s).
|
|
149
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
150
|
-
await finger.up();
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
test('closes when a tap outside lifts, not when it lands', async ({
|
|
154
|
-
page,
|
|
155
|
-
}) => {
|
|
156
|
-
const finger = await openStory(page, story);
|
|
157
|
-
const [x, y] = await centerOf(trigger(page));
|
|
158
|
-
await finger.down(x, y);
|
|
159
|
-
await finger.up();
|
|
160
|
-
await expect(page.locator(layer)).toHaveCount(1);
|
|
161
|
-
|
|
162
|
-
await finger.down(...OUTSIDE);
|
|
163
|
-
await page.waitForTimeout(150);
|
|
164
|
-
await expect(page.locator(layer)).toHaveCount(1);
|
|
165
|
-
await finger.up();
|
|
166
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
test('closes as soon as a scroll that starts outside takes the touch', async ({
|
|
170
|
-
page,
|
|
171
|
-
}) => {
|
|
172
|
-
const finger = await openStory(page, story);
|
|
173
|
-
const [x, y] = await centerOf(trigger(page));
|
|
174
|
-
await finger.down(x, y);
|
|
175
|
-
await finger.up();
|
|
176
|
-
await expect(page.locator(layer)).toHaveCount(1);
|
|
177
|
-
|
|
178
|
-
const [ox, oy] = OUTSIDE;
|
|
179
|
-
await finger.down(ox, oy);
|
|
180
|
-
for (let step = 1; step <= 8; step += 1) {
|
|
181
|
-
await finger.move(ox, oy - step * 10);
|
|
182
|
-
await page.waitForTimeout(16);
|
|
183
|
-
}
|
|
184
|
-
// Still down: the scroll took the touch, which is the dismissal.
|
|
185
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
186
|
-
await finger.up();
|
|
187
|
-
});
|
|
188
|
-
|
|
189
|
-
test('leaves a tap on a trigger that acts to that trigger', async ({
|
|
190
|
-
page,
|
|
191
|
-
}) => {
|
|
192
|
-
const finger = await openStory(page, story);
|
|
193
|
-
const [x, y] = await centerOf(action(page));
|
|
194
|
-
await finger.down(x, y);
|
|
195
|
-
await finger.up();
|
|
196
|
-
await page.waitForTimeout(300);
|
|
197
|
-
await expect(page.locator(layer)).toHaveCount(0);
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @file anchorName.test.ts
|
|
5
|
-
* @input Uses vitest, anchorName utilities
|
|
6
|
-
* @output Unit tests for anchor-name list manipulation helpers
|
|
7
|
-
* @position Testing; validates anchorName.ts implementation
|
|
8
|
-
*
|
|
9
|
-
* SYNC: When anchorName.ts changes, update tests to match new behavior
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
import {describe, it, expect} from 'vitest';
|
|
13
|
-
import {
|
|
14
|
-
readAnchorNames,
|
|
15
|
-
writeAnchorNames,
|
|
16
|
-
addAnchorName,
|
|
17
|
-
removeAnchorName,
|
|
18
|
-
} from './anchorName';
|
|
19
|
-
|
|
20
|
-
function createMockElement(): HTMLElement {
|
|
21
|
-
const el = document.createElement('div');
|
|
22
|
-
return el;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
describe('readAnchorNames', () => {
|
|
26
|
-
it('returns empty array for element with no anchor-name', () => {
|
|
27
|
-
const el = createMockElement();
|
|
28
|
-
expect(readAnchorNames(el)).toEqual([]);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it('reads a single anchor name', () => {
|
|
32
|
-
const el = createMockElement();
|
|
33
|
-
(el.style as unknown as Record<string, string>).anchorName = '--layer-1';
|
|
34
|
-
expect(readAnchorNames(el)).toEqual(['--layer-1']);
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('reads multiple comma-separated anchor names', () => {
|
|
38
|
-
const el = createMockElement();
|
|
39
|
-
(el.style as unknown as Record<string, string>).anchorName =
|
|
40
|
-
'--layer-1, --layer-2, --layer-3';
|
|
41
|
-
expect(readAnchorNames(el)).toEqual([
|
|
42
|
-
'--layer-1',
|
|
43
|
-
'--layer-2',
|
|
44
|
-
'--layer-3',
|
|
45
|
-
]);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it('trims whitespace around names', () => {
|
|
49
|
-
const el = createMockElement();
|
|
50
|
-
(el.style as unknown as Record<string, string>).anchorName =
|
|
51
|
-
' --layer-1 , --layer-2 ';
|
|
52
|
-
expect(readAnchorNames(el)).toEqual(['--layer-1', '--layer-2']);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it('returns empty array for empty string value', () => {
|
|
56
|
-
const el = createMockElement();
|
|
57
|
-
(el.style as unknown as Record<string, string>).anchorName = '';
|
|
58
|
-
expect(readAnchorNames(el)).toEqual([]);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
describe('writeAnchorNames', () => {
|
|
63
|
-
it('writes names as comma-separated list', () => {
|
|
64
|
-
const el = createMockElement();
|
|
65
|
-
writeAnchorNames(el, ['--layer-1', '--layer-2']);
|
|
66
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe(
|
|
67
|
-
'--layer-1, --layer-2',
|
|
68
|
-
);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
it('writes empty string for empty array', () => {
|
|
72
|
-
const el = createMockElement();
|
|
73
|
-
writeAnchorNames(el, []);
|
|
74
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe('');
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
describe('addAnchorName', () => {
|
|
79
|
-
it('adds name to element with no existing anchors', () => {
|
|
80
|
-
const el = createMockElement();
|
|
81
|
-
addAnchorName(el, '--layer-1');
|
|
82
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe(
|
|
83
|
-
'--layer-1',
|
|
84
|
-
);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
it('appends name to existing anchor list', () => {
|
|
88
|
-
const el = createMockElement();
|
|
89
|
-
(el.style as unknown as Record<string, string>).anchorName = '--layer-1';
|
|
90
|
-
addAnchorName(el, '--layer-2');
|
|
91
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe(
|
|
92
|
-
'--layer-1, --layer-2',
|
|
93
|
-
);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it('does not duplicate an already-present name', () => {
|
|
97
|
-
const el = createMockElement();
|
|
98
|
-
(el.style as unknown as Record<string, string>).anchorName = '--layer-1';
|
|
99
|
-
addAnchorName(el, '--layer-1');
|
|
100
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe(
|
|
101
|
-
'--layer-1',
|
|
102
|
-
);
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
it('supports multiple layers sharing one element', () => {
|
|
106
|
-
const el = createMockElement();
|
|
107
|
-
addAnchorName(el, '--menu-1');
|
|
108
|
-
addAnchorName(el, '--menu-2');
|
|
109
|
-
addAnchorName(el, '--menu-3');
|
|
110
|
-
expect(readAnchorNames(el)).toEqual(['--menu-1', '--menu-2', '--menu-3']);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
describe('removeAnchorName', () => {
|
|
115
|
-
it('removes name from a multi-anchor list', () => {
|
|
116
|
-
const el = createMockElement();
|
|
117
|
-
(el.style as unknown as Record<string, string>).anchorName =
|
|
118
|
-
'--layer-1, --layer-2, --layer-3';
|
|
119
|
-
removeAnchorName(el, '--layer-2');
|
|
120
|
-
expect(readAnchorNames(el)).toEqual(['--layer-1', '--layer-3']);
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
it('removes the last remaining name, leaving empty string', () => {
|
|
124
|
-
const el = createMockElement();
|
|
125
|
-
(el.style as unknown as Record<string, string>).anchorName = '--layer-1';
|
|
126
|
-
removeAnchorName(el, '--layer-1');
|
|
127
|
-
expect((el.style as unknown as Record<string, string>).anchorName).toBe('');
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
it('is a no-op if name is not present', () => {
|
|
131
|
-
const el = createMockElement();
|
|
132
|
-
(el.style as unknown as Record<string, string>).anchorName =
|
|
133
|
-
'--layer-1, --layer-2';
|
|
134
|
-
removeAnchorName(el, '--layer-3');
|
|
135
|
-
expect(readAnchorNames(el)).toEqual(['--layer-1', '--layer-2']);
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
it('handles multiple add/remove cycles correctly', () => {
|
|
139
|
-
const el = createMockElement();
|
|
140
|
-
addAnchorName(el, '--menu-a');
|
|
141
|
-
addAnchorName(el, '--menu-b');
|
|
142
|
-
removeAnchorName(el, '--menu-a');
|
|
143
|
-
addAnchorName(el, '--menu-c');
|
|
144
|
-
expect(readAnchorNames(el)).toEqual(['--menu-b', '--menu-c']);
|
|
145
|
-
});
|
|
146
|
-
});
|