@astryxdesign/core 0.7.6-canary.f73623d → 0.7.6-canary.f77aaf2
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/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +0 -6
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +2 -1
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +6 -2
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +36 -9
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +1 -1
- package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
- package/dist/BottomSheet/useMobileKeyboard.js +44 -8
- package/dist/BottomSheet/useSheetGestures.d.ts +36 -6
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +67 -10
- package/dist/Breadcrumbs/BreadcrumbItem.js +4 -2
- package/dist/Center/Center.d.ts +1 -1
- package/dist/Center/Center.js +1 -1
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +10 -5
- package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
- package/dist/Chat/ChatComposerDrawer.js +1 -1
- package/dist/Chat/ChatComposerInput.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.js +1 -1
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +1 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +3 -1
- package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
- package/dist/Chat/ChatPastedTextToken.js +15 -4
- package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
- package/dist/Chat/ChatSystemMessage.js +2 -1
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +5 -2
- package/dist/CheckboxList/CheckboxListContext.d.ts +8 -0
- package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +5 -2
- package/dist/Code/Code.d.ts +1 -1
- package/dist/Code/Code.js +1 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +8 -5
- package/dist/ComplexSelector/ComplexSelector.d.ts +2 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +7 -2
- package/dist/DateInput/DateInput.d.ts +3 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +17 -18
- package/dist/DateRangeInput/DateRangeInput.d.ts +3 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +8 -4
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +10 -15
- package/dist/Drawer/Drawer.d.ts +1 -1
- package/dist/Drawer/Drawer.js +1 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +19 -8
- package/dist/DropdownMenu/DropdownMenuGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuGroup.js +2 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +1 -1
- package/dist/DropdownMenu/MenuBottomSheetActionList.d.ts.map +1 -1
- package/dist/DropdownMenu/MenuBottomSheetActionList.js +9 -3
- package/dist/Field/Field.d.ts +2 -2
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +19 -2
- package/dist/Field/PanelSearchInput.d.ts.map +1 -1
- package/dist/Field/PanelSearchInput.js +10 -5
- package/dist/Field/fieldStatusPlacement.d.ts +15 -0
- package/dist/Field/fieldStatusPlacement.d.ts.map +1 -0
- package/dist/Field/fieldStatusPlacement.js +1 -0
- package/dist/FieldStatus/FieldStatus.d.ts +16 -28
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +25 -3
- package/dist/FieldStatus/index.d.ts +7 -0
- package/dist/FieldStatus/index.d.ts.map +1 -1
- package/dist/FileInput/FileInput.d.ts +10 -2
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +86 -35
- package/dist/Item/Item.js +5 -5
- package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
- package/dist/Item/ItemSwipeLayer.js +8 -2
- package/dist/Layer/useTouchTrigger.d.ts +35 -3
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +80 -11
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +10 -1
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +1 -0
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +2 -1
- package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/MetadataList/MetadataListItem.js +2 -1
- package/dist/MultiSelector/MultiSelector.d.ts +2 -2
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +35 -25
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +4 -2
- package/dist/NumberInput/NumberInput.d.ts +3 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +11 -15
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +2 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Popover/Popover.js +2 -2
- package/dist/Popover/usePopover.d.ts +7 -1
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +8 -2
- package/dist/PowerSearch/PowerSearch.d.ts +3 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +4 -2
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +7 -2
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +8 -2
- package/dist/RadioList/RadioListReasonContext.d.ts +2 -0
- package/dist/RadioList/RadioListReasonContext.d.ts.map +1 -0
- package/dist/RadioList/RadioListReasonContext.js +22 -0
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +53 -10
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +22 -5
- package/dist/SegmentedControl/SegmentedControlContext.d.ts +6 -0
- package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +16 -3
- package/dist/Selector/Selector.d.ts +3 -3
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +14 -8
- package/dist/Selector/hooks.js +2 -2
- package/dist/Selector/useSelectorPresentation.d.ts +7 -1
- package/dist/Selector/useSelectorPresentation.d.ts.map +1 -1
- package/dist/Selector/useSelectorPresentation.js +2 -1
- package/dist/SideNav/railMotion.d.ts +5 -5
- package/dist/SideNav/railMotion.d.ts.map +1 -1
- package/dist/SideNav/railMotion.js +69 -177
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +100 -17
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +7 -6
- package/dist/Table/glidingDivider.d.ts +8 -1
- package/dist/Table/glidingDivider.d.ts.map +1 -1
- package/dist/Table/glidingDivider.js +8 -3
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -2
- package/dist/TextArea/TextArea.d.ts +2 -2
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextInput/TextInput.d.ts +3 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.d.ts +3 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/Timer/Timer.js +1 -1
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +8 -2
- package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +11 -3
- 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 +3 -2
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +73 -50
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +9 -15
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +4 -3
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +6 -3
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +4 -3
- package/dist/Typeahead/BaseTypeahead.d.ts +4 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +262 -43
- package/dist/Typeahead/Typeahead.d.ts +3 -2
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +36 -10
- package/dist/Typeahead/index.d.ts +1 -1
- package/dist/Typeahead/index.d.ts.map +1 -1
- package/dist/Typeahead/types.d.ts +26 -3
- package/dist/Typeahead/types.d.ts.map +1 -1
- package/dist/astryx.css +1 -2
- package/dist/gestures/haptics.d.ts.map +1 -1
- package/dist/gestures/haptics.js +1 -5
- package/dist/hooks/menuPressMarker.d.ts +13 -0
- package/dist/hooks/menuPressMarker.d.ts.map +1 -0
- package/dist/hooks/menuPressMarker.js +15 -0
- package/dist/hooks/useClickableContainer.d.ts +24 -4
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +41 -14
- package/dist/hooks/useFocusReturnVisibility.d.ts +8 -1
- package/dist/hooks/useFocusReturnVisibility.d.ts.map +1 -1
- package/dist/hooks/useFocusReturnVisibility.js +14 -8
- package/dist/hooks/useInputStatusIcon.d.ts +2 -2
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +1 -2
- package/dist/hooks/useListFocus.d.ts +19 -0
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +26 -1
- package/dist/hooks/useMenuPress.d.ts +2 -2
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +5 -6
- package/dist/hooks/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +13 -5
- package/dist/hooks/useTypeahead.d.ts +3 -1
- package/dist/hooks/useTypeahead.d.ts.map +1 -1
- package/dist/hooks/useTypeahead.js +21 -15
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +6 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +6 -0
- 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/dist/motion/animatedLayout.d.ts +130 -5
- package/dist/motion/animatedLayout.d.ts.map +1 -1
- package/dist/motion/animatedLayout.js +771 -44
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +38 -2
- package/dist/privateAttributes/segmentDisabled.stylex.d.ts +5 -0
- package/dist/privateAttributes/segmentDisabled.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/segmentDisabled.stylex.js +28 -0
- package/dist/theme/Theme.d.ts +10 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +8 -4
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +7 -1
- package/dist/utils/focusReturn.d.ts +5 -3
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +6 -4
- package/dist/utils/getNodeText.d.ts.map +1 -1
- package/dist/utils/getNodeText.js +2 -1
- package/dist/utils/interactionModality.d.ts +78 -7
- package/dist/utils/interactionModality.d.ts.map +1 -1
- package/dist/utils/interactionModality.js +125 -42
- package/dist/utils/pressDisabled.d.ts +21 -0
- package/dist/utils/pressDisabled.d.ts.map +1 -0
- package/dist/utils/pressDisabled.js +32 -0
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +5 -3
- package/dist/utils/typeaheadMatch.d.ts +24 -0
- package/dist/utils/typeaheadMatch.d.ts.map +1 -0
- package/dist/utils/typeaheadMatch.js +112 -0
- package/locales/en.json +25 -1
- package/locales/pseudo.json +18 -0
- package/package.json +19 -5
- package/src/AppShell/AppShell.tsx +0 -9
- package/src/Badge/Badge.tsx +2 -1
- package/src/BottomSheet/BottomSheet.tsx +4 -2
- package/src/BottomSheet/BottomSheetPanel.tsx +39 -8
- package/src/BottomSheet/BottomSheetSwitcher.tsx +1 -1
- package/src/BottomSheet/useMobileKeyboard.ts +51 -10
- package/src/BottomSheet/useSheetGestures.ts +92 -15
- package/src/Breadcrumbs/BreadcrumbItem.tsx +2 -1
- package/src/Center/Center.tsx +1 -1
- package/src/Chat/ChatComposer.tsx +7 -10
- package/src/Chat/ChatComposerDrawer.tsx +1 -1
- package/src/Chat/ChatComposerInput.tsx +1 -1
- package/src/Chat/ChatLayout.tsx +1 -6
- package/src/Chat/ChatMessageList.tsx +1 -0
- package/src/Chat/ChatPastedTextToken.tsx +14 -4
- package/src/Chat/ChatSystemMessage.tsx +4 -1
- package/src/Chat/ChatToolCalls.tsx +5 -0
- package/src/CheckboxList/CheckboxList.tsx +7 -1
- package/src/CheckboxList/CheckboxListContext.tsx +8 -0
- package/src/CheckboxList/CheckboxListItem.tsx +8 -2
- package/src/Code/Code.tsx +1 -1
- package/src/CommandPalette/CommandPaletteInput.tsx +5 -8
- package/src/ComplexSelector/ComplexSelector.tsx +22 -4
- package/src/DateInput/DateInput.tsx +2 -2
- package/src/DateInput/MonthScroller.tsx +15 -17
- package/src/DateRangeInput/DateRangeInput.tsx +20 -5
- package/src/Dialog/Dialog.tsx +9 -25
- package/src/Drawer/Drawer.tsx +1 -1
- package/src/DropdownMenu/DropdownMenu.tsx +24 -9
- package/src/DropdownMenu/DropdownMenuGroup.tsx +2 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +3 -1
- package/src/DropdownMenu/MenuBottomSheetActionList.tsx +6 -3
- package/src/Field/Field.doc.mjs +2 -1
- package/src/Field/Field.tsx +2 -2
- package/src/Field/FieldLabel.doc.mjs +4 -2
- package/src/Field/FieldLabel.tsx +18 -2
- package/src/Field/PanelSearchInput.tsx +7 -8
- package/src/Field/fieldStatusPlacement.ts +18 -0
- package/src/FieldStatus/FieldStatus.tsx +33 -3
- package/src/FieldStatus/index.ts +7 -0
- package/src/FileInput/FileInput.doc.mjs +3 -3
- package/src/FileInput/FileInput.tsx +103 -36
- package/src/HoverCard/HoverCard.doc.mjs +3 -3
- package/src/HoverCard/useHoverCard.doc.mjs +1 -1
- package/src/Item/Item.tsx +5 -5
- package/src/Item/ItemSwipeLayer.tsx +8 -1
- package/src/Layer/useTouchTrigger.ts +107 -18
- package/src/Link/Link.tsx +9 -2
- package/src/Markdown/Markdown.tsx +1 -0
- package/src/MetadataList/MetadataList.tsx +4 -2
- package/src/MetadataList/MetadataListItem.tsx +2 -1
- package/src/MultiSelector/MultiSelector.tsx +57 -36
- package/src/MultiSelector/hooks.ts +7 -5
- package/src/NumberInput/NumberInput.tsx +13 -20
- package/src/OverflowList/OverflowList.tsx +2 -1
- package/src/Pagination/Pagination.tsx +1 -0
- package/src/Popover/Popover.tsx +2 -2
- package/src/Popover/usePopover.tsx +7 -2
- package/src/PowerSearch/PowerSearch.tsx +4 -2
- package/src/RadioList/RadioList.tsx +13 -2
- package/src/RadioList/RadioListItem.tsx +9 -1
- package/src/RadioList/RadioListReasonContext.ts +25 -0
- package/src/Resizable/useResizable.ts +50 -7
- package/src/SegmentedControl/SegmentedControl.tsx +43 -8
- package/src/SegmentedControl/SegmentedControlContext.ts +6 -0
- package/src/SegmentedControl/SegmentedControlItem.tsx +12 -1
- package/src/Selector/Selector.tsx +23 -9
- package/src/Selector/hooks.ts +2 -2
- package/src/Selector/useSelectorPresentation.ts +8 -1
- package/src/SideNav/railMotion.ts +73 -179
- package/src/Slider/Slider.tsx +116 -19
- package/src/Table/BaseTable.tsx +10 -6
- package/src/Table/glidingDivider.ts +8 -3
- package/src/Table/plugins/sortable/useTableSortable.tsx +2 -0
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
- package/src/TextArea/TextArea.tsx +3 -2
- package/src/TextInput/TextInput.tsx +2 -2
- package/src/TimeInput/TimeInput.tsx +2 -2
- package/src/Timer/Timer.tsx +1 -1
- package/src/Toast/useToast.tsx +8 -3
- package/src/ToggleButton/ToggleButton.tsx +10 -3
- package/src/Token/Token.tsx +15 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +12 -8
- package/src/Tokenizer/Tokenizer.tsx +81 -53
- package/src/Tokenizer/TokenizerBottomSheet.tsx +9 -15
- package/src/Tooltip/Tooltip.doc.mjs +3 -3
- package/src/Tooltip/useTooltip.doc.mjs +1 -1
- package/src/TopNav/TopNavMegaMenu.tsx +4 -3
- package/src/TreeList/TreeList.tsx +6 -3
- package/src/TreeList/TreeListItem.tsx +5 -3
- package/src/Typeahead/BaseTypeahead.doc.mjs +7 -4
- package/src/Typeahead/BaseTypeahead.tsx +314 -40
- package/src/Typeahead/Typeahead.doc.mjs +21 -4
- package/src/Typeahead/Typeahead.tsx +42 -11
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/index.ts +1 -1
- package/src/Typeahead/types.ts +27 -3
- package/src/gestures/haptics.ts +1 -8
- package/src/hooks/menuPressMarker.ts +15 -0
- package/src/hooks/useClickableContainer.ts +48 -17
- package/src/hooks/useFocusReturnVisibility.ts +15 -12
- package/src/hooks/useInputStatusIcon.tsx +2 -2
- package/src/hooks/useListFocus.ts +38 -1
- package/src/hooks/useMenuPress.ts +5 -5
- package/src/hooks/useTreeFocus.doc.mjs +2 -2
- package/src/hooks/useTreeFocus.ts +16 -10
- package/src/hooks/useTypeahead.doc.mjs +2 -2
- package/src/hooks/useTypeahead.ts +21 -20
- package/src/i18n/generated-locales/en.generated.ts +8 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +8 -0
- package/src/i18n/useListFormatter.ts +42 -0
- package/src/motion/animatedLayout.ts +977 -45
- package/src/motion/animator.ts +55 -2
- package/src/privateAttributes/segmentDisabled.stylex.ts +28 -0
- package/src/theme/Theme.tsx +8 -4
- package/src/theme/useTheme.ts +6 -1
- package/src/utils/focusReturn.ts +6 -4
- package/src/utils/getNodeText.ts +2 -1
- package/src/utils/interactionModality.ts +165 -44
- package/src/utils/pressDisabled.ts +32 -0
- package/src/utils/pressFeedback.ts +5 -3
- package/src/utils/typeaheadMatch.ts +141 -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.spec.md +0 -259
- 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.spec.md +0 -331
- 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.spec.md +0 -179
- package/src/AspectRatio/AspectRatio.test.tsx +0 -398
- package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +0 -158
- package/src/Avatar/Avatar.spec.md +0 -253
- package/src/Avatar/Avatar.test.tsx +0 -867
- package/src/Avatar/AvatarStatusDot.spec.md +0 -208
- package/src/Avatar/AvatarStatusDot.test.tsx +0 -306
- package/src/Avatar/__tests__/AvatarForcedColors.a11y.chromium.spec.ts +0 -126
- package/src/AvatarGroup/AvatarGroup.spec.md +0 -205
- package/src/AvatarGroup/AvatarGroup.test.tsx +0 -313
- package/src/AvatarGroup/AvatarGroupOverflow.spec.md +0 -210
- package/src/AvatarGroup/AvatarGroupOverflow.test.tsx +0 -263
- package/src/Badge/Badge.spec.md +0 -207
- package/src/Badge/Badge.test.tsx +0 -125
- package/src/Badge/__tests__/BadgeLargerText.a11y.chromium.spec.ts +0 -260
- package/src/Banner/Banner.spec.md +0 -282
- package/src/Banner/Banner.test.tsx +0 -879
- package/src/Blockquote/Blockquote.spec.md +0 -171
- package/src/Blockquote/Blockquote.test.tsx +0 -121
- package/src/BottomSheet/BottomSheet.spec.md +0 -457
- 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.spec.md +0 -367
- 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/BreadcrumbItem.spec.md +0 -269
- package/src/Breadcrumbs/Breadcrumbs.spec.md +0 -165
- 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.spec.md +0 -322
- 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.spec.md +0 -220
- package/src/ButtonGroup/ButtonGroup.test.tsx +0 -1025
- package/src/Calendar/Calendar.spec.md +0 -248
- 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.spec.md +0 -205
- package/src/Card/Card.test.tsx +0 -202
- package/src/Carousel/Carousel.spec.md +0 -146
- 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.spec.md +0 -205
- package/src/Center/Center.test.tsx +0 -406
- package/src/Chat/ChatComposer.spec.md +0 -246
- package/src/Chat/ChatComposer.test.tsx +0 -364
- package/src/Chat/ChatComposerDrawer.spec.md +0 -267
- package/src/Chat/ChatComposerDrawer.test.tsx +0 -130
- package/src/Chat/ChatComposerInput.spec.md +0 -224
- package/src/Chat/ChatComposerInput.test.tsx +0 -2136
- package/src/Chat/ChatComposerTokenElement.spec.md +0 -164
- package/src/Chat/ChatComposerTokenElement.test.tsx +0 -85
- package/src/Chat/ChatDictationButton.spec.md +0 -205
- package/src/Chat/ChatDictationButton.test.tsx +0 -108
- package/src/Chat/ChatLayout.spec.md +0 -276
- package/src/Chat/ChatLayout.test.tsx +0 -311
- package/src/Chat/ChatLayoutScrollButton.spec.md +0 -322
- package/src/Chat/ChatLayoutScrollButton.test.tsx +0 -99
- package/src/Chat/ChatMessage.spec.md +0 -265
- package/src/Chat/ChatMessage.test.tsx +0 -344
- package/src/Chat/ChatMessageBubble.spec.md +0 -263
- package/src/Chat/ChatMessageBubble.test.tsx +0 -294
- package/src/Chat/ChatMessageList.spec.md +0 -222
- package/src/Chat/ChatMessageList.test.tsx +0 -198
- package/src/Chat/ChatMessageMetadata.spec.md +0 -220
- package/src/Chat/ChatMessageMetadata.test.tsx +0 -66
- package/src/Chat/ChatPastedTextToken.test.tsx +0 -71
- package/src/Chat/ChatSendButton.spec.md +0 -238
- package/src/Chat/ChatSendButton.test.tsx +0 -309
- package/src/Chat/ChatSystemMessage.spec.md +0 -224
- package/src/Chat/ChatSystemMessage.test.tsx +0 -189
- package/src/Chat/ChatTokenizedText.spec.md +0 -190
- package/src/Chat/ChatTokenizedText.test.tsx +0 -163
- package/src/Chat/ChatToolCalls.spec.md +0 -194
- 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.spec.md +0 -218
- 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.spec.md +0 -332
- package/src/CheckboxList/CheckboxList.test.tsx +0 -1159
- package/src/CheckboxList/CheckboxListItem.spec.md +0 -302
- package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +0 -1998
- package/src/Citation/Citation.spec.md +0 -179
- package/src/Citation/Citation.test.tsx +0 -361
- package/src/ClickableCard/ClickableCard.spec.md +0 -241
- package/src/ClickableCard/ClickableCard.test.tsx +0 -382
- package/src/Code/Code.spec.md +0 -170
- package/src/Code/Code.test.tsx +0 -75
- package/src/CodeBlock/CodeBlock.highlightStyles.test.tsx +0 -87
- package/src/CodeBlock/CodeBlock.spec.md +0 -243
- 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.spec.md +0 -247
- package/src/Collapsible/Collapsible.test.tsx +0 -620
- package/src/Collapsible/CollapsibleGroup.spec.md +0 -229
- 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.spec.md +0 -278
- package/src/CommandPalette/CommandPalette.test.tsx +0 -750
- package/src/CommandPalette/CommandPaletteEmpty.spec.md +0 -190
- 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.spec.md +0 -215
- package/src/CommandPalette/CommandPaletteInput.test.tsx +0 -539
- package/src/CommandPalette/CommandPaletteItem.spec.md +0 -223
- package/src/CommandPalette/CommandPaletteItem.test.tsx +0 -417
- package/src/CommandPalette/CommandPaletteList.spec.md +0 -194
- 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.spec.md +0 -266
- package/src/ComplexSelector/ComplexSelector.test.tsx +0 -1171
- package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +0 -965
- package/src/ContextMenu/ContextMenu.spec.md +0 -279
- package/src/ContextMenu/ContextMenu.test.tsx +0 -1617
- package/src/ContextMenu/ContextMenu.triggerProps.test.tsx +0 -54
- package/src/ContextMenu/ContextMenuItem.spec.md +0 -132
- 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.spec.md +0 -319
- 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.spec.md +0 -203
- package/src/DateRangeInput/DateRangeInput.test.tsx +0 -1151
- package/src/DateTimeInput/DateTimeInput.fr10.test.tsx +0 -319
- package/src/DateTimeInput/DateTimeInput.spec.md +0 -270
- 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.spec.md +0 -189
- 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/modules/DialogHeader.spec.md +0 -211
- package/src/Dialog/useImperativeDialog.test.tsx +0 -78
- package/src/Divider/Divider.spec.md +0 -252
- package/src/Divider/Divider.test.tsx +0 -155
- package/src/Drawer/Drawer.spec.md +0 -388
- package/src/Drawer/Drawer.test.tsx +0 -1335
- package/src/Drawer/DrawerDirection.test.tsx +0 -127
- package/src/Drawer/DrawerHeader.spec.md +0 -181
- 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.spec.md +0 -562
- package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +0 -93
- package/src/DropdownMenu/DropdownMenu.test.tsx +0 -4498
- package/src/DropdownMenu/DropdownMenuCheckboxItem.spec.md +0 -192
- package/src/DropdownMenu/DropdownMenuContext.public.test.ts +0 -22
- package/src/DropdownMenu/DropdownMenuDivider.spec.md +0 -186
- package/src/DropdownMenu/DropdownMenuGroup.spec.md +0 -145
- package/src/DropdownMenu/DropdownMenuItem.spec.md +0 -215
- package/src/DropdownMenu/DropdownMenuLazySheet.test.tsx +0 -126
- package/src/DropdownMenu/DropdownMenuRadioGroup.spec.md +0 -187
- package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +0 -227
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +0 -635
- package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +0 -72
- package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +0 -231
- 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/DropdownMenu/modules/useMenuHover.spec.md +0 -283
- package/src/DropdownMenu/modules/useMenuPress.spec.md +0 -348
- package/src/EmptyState/EmptyState.announce.test.tsx +0 -227
- package/src/EmptyState/EmptyState.spec.md +0 -203
- package/src/EmptyState/EmptyState.test.tsx +0 -284
- package/src/Field/Field.spec.md +0 -226
- package/src/Field/Field.test.tsx +0 -800
- package/src/Field/FieldLabel.spec.md +0 -183
- 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.spec.md +0 -224
- 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.spec.md +0 -199
- package/src/FileInput/FileInput.test.tsx +0 -1291
- package/src/FormLayout/FormLayout.spec.md +0 -209
- package/src/FormLayout/FormLayout.test.tsx +0 -444
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -46
- package/src/Grid/Grid.spec.md +0 -193
- package/src/Grid/Grid.test.tsx +0 -509
- package/src/Grid/GridSpan.spec.md +0 -158
- package/src/HStack/HStack.test.tsx +0 -129
- package/src/Heading/Heading.spec.md +0 -198
- package/src/Heading/Heading.test.tsx +0 -328
- package/src/HoverCard/HoverCard.spec.md +0 -244
- package/src/HoverCard/HoverCard.test.tsx +0 -1339
- package/src/Icon/Icon.spec.md +0 -244
- package/src/Icon/Icon.test.tsx +0 -990
- package/src/Icon/globalIconRegistry.test.tsx +0 -613
- package/src/IconButton/IconButton.spec.md +0 -197
- package/src/IconButton/IconButton.test.tsx +0 -156
- package/src/Indicator/CheckIndicator.spec.md +0 -164
- package/src/Indicator/CheckboxIndicator.spec.md +0 -164
- package/src/Indicator/Indicator.spec.md +0 -188
- package/src/Indicator/Indicator.test.tsx +0 -389
- package/src/Indicator/indicatorRegistry.test.tsx +0 -106
- package/src/InputGroup/InputGroup.spec.md +0 -199
- package/src/InputGroup/InputGroup.test.tsx +0 -502
- package/src/InputGroup/InputGroupText.spec.md +0 -139
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +0 -185
- package/src/Item/Item.source-build.test.mjs +0 -88
- package/src/Item/Item.spec.md +0 -226
- 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.spec.md +0 -185
- package/src/Kbd/Kbd.test.tsx +0 -299
- package/src/Layer/LayerProvider.spec.md +0 -149
- 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.spec.md +0 -243
- package/src/Layout/Layout.test.tsx +0 -375
- package/src/Layout/LayoutContent.spec.md +0 -205
- package/src/Layout/LayoutFooter.spec.md +0 -190
- package/src/Layout/LayoutHeader.spec.md +0 -193
- package/src/Layout/LayoutPanel.spec.md +0 -194
- 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.spec.md +0 -199
- 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.spec.md +0 -230
- package/src/Link/Link.test.tsx +0 -457
- package/src/Link/LinkProvider.spec.md +0 -167
- 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.spec.md +0 -336
- package/src/List/List.test.tsx +0 -1052
- package/src/List/ListItem.source-build.test.mjs +0 -41
- package/src/List/ListItem.spec.md +0 -205
- 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.spec.md +0 -595
- 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/modules/headingLinks.spec.md +0 -262
- package/src/Markdown/modules/remark.spec.md +0 -269
- package/src/Markdown/modules/softBreaks.spec.md +0 -137
- package/src/Markdown/modules/sourceLines.spec.md +0 -162
- 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.spec.md +0 -187
- package/src/MetadataList/MetadataList.test.tsx +0 -383
- package/src/MetadataList/MetadataListItem.spec.md +0 -165
- package/src/MobileNav/MobileNav.spec.md +0 -306
- 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.spec.md +0 -268
- 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.spec.md +0 -357
- 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.spec.md +0 -158
- package/src/NavIcon/NavIcon.test.tsx +0 -41
- package/src/NavMenu/NavHeadingMenu.spec.md +0 -264
- 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.spec.md +0 -270
- 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.spec.md +0 -258
- package/src/Outline/Outline.test.tsx +0 -1134
- package/src/Outline/OutlineFocus.a11y.chromium.spec.ts +0 -551
- package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +0 -150
- package/src/Outline/parseOutlineFromMarkdown.test.ts +0 -104
- package/src/OverflowList/OverflowList.spec.md +0 -204
- package/src/OverflowList/OverflowList.test.tsx +0 -1073
- package/src/Overlay/Overlay.spec.md +0 -304
- package/src/Overlay/Overlay.test.tsx +0 -424
- package/src/Pagination/Pagination.spec.md +0 -300
- package/src/Pagination/Pagination.test.tsx +0 -1754
- package/src/Popover/Popover.spec.md +0 -525
- 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.spec.md +0 -661
- 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.spec.md +0 -261
- 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.spec.md +0 -227
- package/src/RadioList/RadioList.test.tsx +0 -1051
- package/src/RadioList/RadioListItem.press.source-build.test.mjs +0 -80
- package/src/RadioList/RadioListItem.spec.md +0 -223
- 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/Resizable.spec.md +0 -298
- 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.spec.md +0 -190
- package/src/ScrollableArea/ScrollableArea.test.tsx +0 -304
- package/src/ScrollableArea/modules/useScrollableArea.spec.md +0 -149
- package/src/Section/Section.spec.md +0 -197
- package/src/Section/Section.test.tsx +0 -376
- package/src/SegmentedControl/SegmentedControl.spec.md +0 -261
- package/src/SegmentedControl/SegmentedControl.test.tsx +0 -981
- package/src/SegmentedControl/SegmentedControlItem.spec.md +0 -206
- package/src/SelectableCard/SelectableCard.spec.md +0 -230
- 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.spec.md +0 -379
- 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.spec.md +0 -247
- package/src/SideNav/SideNav.test.tsx +0 -4275
- package/src/SideNav/SideNavCollapseButton.spec.md +0 -161
- package/src/SideNav/SideNavHeading.spec.md +0 -226
- package/src/SideNav/SideNavItem.spec.md +0 -236
- package/src/SideNav/SideNavRailMotion.test.tsx +0 -620
- package/src/SideNav/SideNavSection.spec.md +0 -153
- package/src/SideNav/__tests__/SideNavRailMotion.interaction.browser.spec.ts +0 -542
- package/src/SizeContext/SizeContext.test.tsx +0 -226
- package/src/Skeleton/Skeleton.spec.md +0 -184
- package/src/Skeleton/Skeleton.test.tsx +0 -148
- package/src/Slider/Slider.fr10.test.tsx +0 -93
- package/src/Slider/Slider.spec.md +0 -285
- 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.spec.md +0 -231
- package/src/Spinner/Spinner.test.tsx +0 -484
- package/src/Stack/Stack.spec.md +0 -203
- package/src/Stack/Stack.test.tsx +0 -473
- package/src/Stack/StackItem.test.tsx +0 -105
- package/src/StatusDot/StatusDot.spec.md +0 -224
- package/src/StatusDot/StatusDot.test.tsx +0 -213
- package/src/Stepper/Step.spec.md +0 -200
- package/src/Stepper/Stepper.public.test.ts +0 -91
- package/src/Stepper/Stepper.spec.md +0 -327
- package/src/Stepper/Stepper.test.tsx +0 -2130
- package/src/Switch/Switch.focusRing.source-build.test.mjs +0 -81
- package/src/Switch/Switch.spec.md +0 -277
- 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/Tab.spec.md +0 -201
- package/src/TabList/TabList.spec.md +0 -217
- package/src/TabList/TabList.test.tsx +0 -1755
- package/src/TabList/TabMenu.spec.md +0 -198
- 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.spec.md +0 -395
- 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/activation/useTableActivation.spec.md +0 -254
- package/src/Table/plugins/columnResize/useTableColumnResize.spec.md +0 -373
- 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/infiniteScroll/useTableInfiniteScroll.spec.md +0 -244
- 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.spec.md +0 -355
- 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/plugins/virtualization/useTableVirtualization.spec.md +0 -266
- package/src/Table/tableContextMenu.test.tsx +0 -208
- package/src/Text/Text.spec.md +0 -193
- 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.spec.md +0 -300
- package/src/TextArea/TextArea.test.tsx +0 -1317
- package/src/TextInput/TextInput.fr10.test.tsx +0 -21
- package/src/TextInput/TextInput.spec.md +0 -260
- 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.spec.md +0 -244
- 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.spec.md +0 -270
- package/src/TimeInput/TimeInput.test.tsx +0 -907
- package/src/Timer/Timer.spec.md +0 -215
- package/src/Timer/Timer.test.tsx +0 -302
- package/src/Timestamp/Timestamp.spec.md +0 -246
- package/src/Timestamp/Timestamp.test.tsx +0 -1661
- package/src/Timestamp/tooltipEntries.test.ts +0 -566
- package/src/Toast/Toast.spec.md +0 -291
- 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.spec.md +0 -256
- package/src/ToggleButton/ToggleButton.test.tsx +0 -1000
- package/src/ToggleButton/ToggleButtonGroup.spec.md +0 -195
- 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.spec.md +0 -261
- 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.spec.md +0 -615
- 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.spec.md +0 -227
- 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.spec.md +0 -267
- 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.spec.md +0 -190
- package/src/TopNav/TopNav.test.tsx +0 -863
- package/src/TopNav/TopNavHeading.spec.md +0 -211
- package/src/TopNav/TopNavItem.spec.md +0 -189
- package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +0 -83
- package/src/TopNav/TopNavMegaMenu.spec.md +0 -190
- package/src/TopNav/TopNavMegaMenu.test.tsx +0 -1153
- package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +0 -150
- package/src/TopNav/TopNavMegaMenuItem.spec.md +0 -155
- package/src/TopNav/TopNavMenu.spec.md +0 -202
- package/src/TopNav/TopNavMenu.test.tsx +0 -502
- package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +0 -75
- package/src/TreeList/TreeList.spec.md +0 -328
- 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.spec.md +0 -270
- package/src/Typeahead/BaseTypeahead.test.tsx +0 -553
- package/src/Typeahead/Typeahead.fr10.test.tsx +0 -28
- package/src/Typeahead/Typeahead.spec.md +0 -257
- 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.spec.md +0 -170
- 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/InternationalizationProvider.spec.md +0 -252
- 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
|
@@ -8,11 +8,10 @@
|
|
|
8
8
|
* @output Exports `createAnimatedLayout` and the opaque `AnimatedLayout`
|
|
9
9
|
* handle, `reportLayoutChange`, `playLayoutChange`, `holdLayoutExit` /
|
|
10
10
|
* `releaseLayoutExit`, the in-place swap (`holdLayoutSwap` /
|
|
11
|
-
* `playLayoutSwap`), `
|
|
12
|
-
*
|
|
13
|
-
* that produces the
|
|
14
|
-
*
|
|
15
|
-
* (`architecture:react-component-runtime` INV12)
|
|
11
|
+
* `playLayoutSwap`), the edge reveal's two-state form (`holdLayoutEdge` /
|
|
12
|
+
* `playLayoutEdge`), `playLayoutFrames` and `applyLayoutChangeTransition`:
|
|
13
|
+
* the one module that produces the size-change glide and the edge reveal
|
|
14
|
+
* `spec:AST-105` defines (`architecture:react-component-runtime` INV12)
|
|
16
15
|
* @position Motion foundation, internal to core. A handle comes from the
|
|
17
16
|
* public `useAnimatedLayout` hook; a component that takes it reports its
|
|
18
17
|
* size changes through this module.
|
|
@@ -45,8 +44,13 @@
|
|
|
45
44
|
* - A measurement no commit claims by the next frame is dropped.
|
|
46
45
|
* - The changed element plays its own entrance on the same spring, started in
|
|
47
46
|
* the same frame (`playLayoutChange`), or its exit: kept where it is while
|
|
48
|
-
* it gives up its space and conceals (`holdLayoutExit`).
|
|
49
|
-
*
|
|
47
|
+
* it gives up its space and conceals (`holdLayoutExit`). Both are FR9's
|
|
48
|
+
* edge reveal: from its block-end edge by default, or from the block-start
|
|
49
|
+
* or an inline edge it is given. Once the content on that edge's side
|
|
50
|
+
* glides, the edge rides that glide, frame by frame, so the two never part;
|
|
51
|
+
* a reversal (a close while it opens) starts from what the element shows.
|
|
52
|
+
* A disclosure's indicator turns on the same motion
|
|
53
|
+
* (`applyLayoutChangeTransition`).
|
|
50
54
|
* - A swap holds old content as one transient copy, inert and hidden from
|
|
51
55
|
* assistive technology, while new content enters in its place, on the same
|
|
52
56
|
* motion, and removes it when the swap ends (`holdLayoutSwap`,
|
|
@@ -54,6 +58,11 @@
|
|
|
54
58
|
* the swap's progress and, riding a gliding element, how far it has moved,
|
|
55
59
|
* so every part keeps to that glide; under Reduce Motion with a coarse
|
|
56
60
|
* pointer only opacity changes.
|
|
61
|
+
* - FR9's two-state form holds an element's old state as the swap's copy
|
|
62
|
+
* while its edge rides a gliding element, such as a rail beside its
|
|
63
|
+
* content (`holdLayoutEdge`, `playLayoutEdge`): the larger state is
|
|
64
|
+
* clipped on that edge, from the extent the element shows, and the caller
|
|
65
|
+
* adds only its own fades.
|
|
57
66
|
* - Frames on elements the page renders can play on the same motion with no
|
|
58
67
|
* copy (`playLayoutFrames`), such as a surface reaching over a gap a glide
|
|
59
68
|
* opens, and are released when the motion ends.
|
|
@@ -941,13 +950,245 @@ export function reportLayoutChange(handle, target) {
|
|
|
941
950
|
};
|
|
942
951
|
}
|
|
943
952
|
|
|
953
|
+
// ---------------------------------------------------------------------------
|
|
954
|
+
// The edge reveal (`spec:AST-105` FR9)
|
|
955
|
+
// ---------------------------------------------------------------------------
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* The edge an element reveals from or conceals to (`spec:AST-105` FR9): its
|
|
959
|
+
* block-end edge by default, or its block-start, inline-start or inline-end
|
|
960
|
+
* edge, such as a panel collapsing beside content. An inline edge follows
|
|
961
|
+
* the element's direction.
|
|
962
|
+
*/
|
|
963
|
+
|
|
964
|
+
/** Whether `element` lays its inline axis out right to left. */
|
|
965
|
+
function isRtl(element) {
|
|
966
|
+
return element.ownerDocument.defaultView?.getComputedStyle(element).direction === 'rtl';
|
|
967
|
+
}
|
|
968
|
+
|
|
969
|
+
/**
|
|
970
|
+
* The `clip-path` that hides `side` of an element from `edge`: `inset()`'s
|
|
971
|
+
* sides are physical (top, right, bottom, left), so an inline edge is
|
|
972
|
+
* mirrored right to left. `zero` is how the other three are written.
|
|
973
|
+
*/
|
|
974
|
+
function edgeClip(edge, side, zero, rtl) {
|
|
975
|
+
const sides = [zero, zero, zero, zero];
|
|
976
|
+
const index = edge === 'block-start' ? 0 : edge === 'block-end' ? 2 : edge === 'inline-end' !== rtl ? 1 : 3;
|
|
977
|
+
sides[index] = side;
|
|
978
|
+
return `inset(${sides.join(' ')})`;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
/** A hidden fraction of the element, as a percentage clip on `edge`. */
|
|
982
|
+
function fractionClip(edge, hidden, rtl) {
|
|
983
|
+
return edgeClip(edge, `${round(hidden * 100)}%`, '0', rtl);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
/** A hidden length of the element, in its own px, as a clip on `edge`. */
|
|
987
|
+
function pxClip(edge, hidden, rtl) {
|
|
988
|
+
return edgeClip(edge, `${hidden}px`, '0px', rtl);
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
/**
|
|
992
|
+
* The element's size along `edge`'s axis, in its own px (a scaled ancestor
|
|
993
|
+
* divided out), read from the layout the caller already laid out.
|
|
994
|
+
*/
|
|
995
|
+
function extentOf(element, edge) {
|
|
996
|
+
const rect = element.getBoundingClientRect();
|
|
997
|
+
const scale = scaleOf(element, rect);
|
|
998
|
+
return edge.startsWith('inline') ? rect.width / scale.x : rect.height / scale.y;
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
/**
|
|
1002
|
+
* The last element before `element` in the area that takes part in layout:
|
|
1003
|
+
* its previous sibling, or its nearest ancestor's below the area (the mirror
|
|
1004
|
+
* of `nextInFlow`, for a start edge).
|
|
1005
|
+
*/
|
|
1006
|
+
function previousInFlow(element, area) {
|
|
1007
|
+
const view = element.ownerDocument.defaultView;
|
|
1008
|
+
const lastBox = from => {
|
|
1009
|
+
const style = view?.getComputedStyle(from);
|
|
1010
|
+
if (style == null) {
|
|
1011
|
+
return from;
|
|
1012
|
+
}
|
|
1013
|
+
if (style.display === 'contents') {
|
|
1014
|
+
for (let child = from.lastElementChild; child != null; child = child.previousElementSibling) {
|
|
1015
|
+
const box = lastBox(child);
|
|
1016
|
+
if (box != null) {
|
|
1017
|
+
return box;
|
|
1018
|
+
}
|
|
1019
|
+
}
|
|
1020
|
+
return null;
|
|
1021
|
+
}
|
|
1022
|
+
return takesPart(from, style) ? from : null;
|
|
1023
|
+
};
|
|
1024
|
+
let node = element;
|
|
1025
|
+
while (node != null && node !== area) {
|
|
1026
|
+
for (let sibling = node.previousElementSibling; sibling != null; sibling = sibling.previousElementSibling) {
|
|
1027
|
+
const box = lastBox(sibling);
|
|
1028
|
+
if (box != null) {
|
|
1029
|
+
return box;
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
node = node.parentElement;
|
|
1033
|
+
}
|
|
1034
|
+
return null;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
/**
|
|
1038
|
+
* The glide that moves `neighbour`: its own, or that of its nearest gliding
|
|
1039
|
+
* ancestor below the area that does not also hold `element` (one that holds
|
|
1040
|
+
* both moves the two together, so the edge does not ride it).
|
|
1041
|
+
*/
|
|
1042
|
+
function glideMoving(neighbour, element, area) {
|
|
1043
|
+
for (let node = neighbour; node != null && node !== area && !node.contains(element); node = node.parentElement) {
|
|
1044
|
+
const glide = glides.get(node);
|
|
1045
|
+
if (glide != null) {
|
|
1046
|
+
return glide;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
return null;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
/** A one-state reveal or conceal running on an element. */
|
|
1053
|
+
|
|
1054
|
+
/** Each element's running one-state reveal or conceal. */
|
|
1055
|
+
const edgeMotions = new WeakMap();
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* What a one-state motion an adopter stopped (`releaseLayoutExit`) showed,
|
|
1059
|
+
* and the timeline time it stopped at: a reveal started in the same frame,
|
|
1060
|
+
* the reversal that stopped it, starts there.
|
|
1061
|
+
*/
|
|
1062
|
+
const stoppedShown = new WeakMap();
|
|
1063
|
+
function timelineNow(element) {
|
|
1064
|
+
return Number(element.ownerDocument.timeline?.currentTime ?? Number.NaN);
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
/** What `motion` shows now, by its animation's own clock. */
|
|
1068
|
+
function shownNow(motion) {
|
|
1069
|
+
const time = Number(motion.animation.currentTime);
|
|
1070
|
+
return motion.shownAt(Number.isFinite(time) ? Math.max(0, time) : 0);
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
/**
|
|
1074
|
+
* What `element` shows as a reveal or conceal starts: where the one-state
|
|
1075
|
+
* motion this one reverses had got to (it stops there), or `atRest`, all of
|
|
1076
|
+
* it for a conceal and nothing for a reveal.
|
|
1077
|
+
*/
|
|
1078
|
+
function shownAtStart(element, atRest) {
|
|
1079
|
+
const running = edgeMotions.get(element);
|
|
1080
|
+
if (running != null) {
|
|
1081
|
+
edgeMotions.delete(element);
|
|
1082
|
+
const fraction = shownNow(running);
|
|
1083
|
+
running.animation.cancel();
|
|
1084
|
+
return fraction;
|
|
1085
|
+
}
|
|
1086
|
+
const stopped = stoppedShown.get(element);
|
|
1087
|
+
stoppedShown.delete(element);
|
|
1088
|
+
if (stopped != null && stopped.at === timelineNow(element)) {
|
|
1089
|
+
return stopped.fraction;
|
|
1090
|
+
}
|
|
1091
|
+
return atRest;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
/** Records `animation` as `element`'s running one-state motion. */
|
|
1095
|
+
function trackEdgeMotion(element, animation, shownAt) {
|
|
1096
|
+
const motion = {
|
|
1097
|
+
animation,
|
|
1098
|
+
shownAt
|
|
1099
|
+
};
|
|
1100
|
+
edgeMotions.set(element, motion);
|
|
1101
|
+
animation.addEventListener?.('finish', () => {
|
|
1102
|
+
if (edgeMotions.get(element) === motion) {
|
|
1103
|
+
edgeMotions.delete(element);
|
|
1104
|
+
}
|
|
1105
|
+
});
|
|
1106
|
+
return motion;
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
/**
|
|
1110
|
+
* After this commit's glides start (the batch flushes in a microtask queued
|
|
1111
|
+
* before this one), before the frame paints: once the content on `edge`'s
|
|
1112
|
+
* side glides, the moving edge rides that glide, frame by frame, so the two
|
|
1113
|
+
* never part, a reversal included (the glide carries its running motion).
|
|
1114
|
+
* `hiddenAt` turns that content's offset towards the edge's side into the
|
|
1115
|
+
* length the element hides; `frame` turns that length into a keyframe.
|
|
1116
|
+
* Without that glide (nothing on that side in the area, or nothing that
|
|
1117
|
+
* moves) the motion keeps its own curve. The animation is kept, its frames
|
|
1118
|
+
* replaced; `onRide` hears the ridden hidden length over time.
|
|
1119
|
+
*/
|
|
1120
|
+
function rideNeighbour(element, area, edge, rtl, animation, isCurrent, hiddenAt, frame, onRide) {
|
|
1121
|
+
const effect = animation.effect;
|
|
1122
|
+
if (effect == null || typeof effect.setKeyframes !== 'function') {
|
|
1123
|
+
return;
|
|
1124
|
+
}
|
|
1125
|
+
queueMicrotask(() => {
|
|
1126
|
+
if (!isCurrent()) {
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
const isEnd = edge.endsWith('end');
|
|
1130
|
+
const neighbour = isEnd ? nextInFlow(element, area) : previousInFlow(element, area);
|
|
1131
|
+
const glide = neighbour == null ? null : glideMoving(neighbour, element, area);
|
|
1132
|
+
if (neighbour == null || glide == null) {
|
|
1133
|
+
return;
|
|
1134
|
+
}
|
|
1135
|
+
// A glide that moves the element itself in the same batch, short of what
|
|
1136
|
+
// it shares with the neighbour (an item above them closing): the edge
|
|
1137
|
+
// rides the neighbour's offset from the element, not from the page.
|
|
1138
|
+
const own = glideMoving(element, neighbour, area);
|
|
1139
|
+
const durationMs = Math.max(glide.durationMs, own?.durationMs ?? 0);
|
|
1140
|
+
// The neighbour's offset from its place relative to the element's,
|
|
1141
|
+
// towards the edge's side.
|
|
1142
|
+
const sign = isEnd ? 1 : -1;
|
|
1143
|
+
const hidden = t => {
|
|
1144
|
+
const offset = glide.offsetAt(t);
|
|
1145
|
+
const moved = own?.offsetAt(t) ?? {
|
|
1146
|
+
x: 0,
|
|
1147
|
+
y: 0
|
|
1148
|
+
};
|
|
1149
|
+
return hiddenAt(sign * (edge.startsWith('inline') ? (rtl ? -1 : 1) * (offset.x - moved.x) : offset.y - moved.y));
|
|
1150
|
+
};
|
|
1151
|
+
effect.setKeyframes(sampleOver(durationMs, t => frame(hidden(t))));
|
|
1152
|
+
effect.updateTiming?.({
|
|
1153
|
+
duration: durationMs
|
|
1154
|
+
});
|
|
1155
|
+
onRide(hidden);
|
|
1156
|
+
});
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
/**
|
|
1160
|
+
* The one-state reveal or conceal rides the content on its edge's side: the
|
|
1161
|
+
* element shows what lies between its fixed edge and that content, a reveal
|
|
1162
|
+
* less by however far the content still is from its place towards it, a
|
|
1163
|
+
* conceal all of it less however far the content has come, fading with what
|
|
1164
|
+
* it hides.
|
|
1165
|
+
*/
|
|
1166
|
+
function rideEdge(element, area, edge, rtl, motion, isConceal) {
|
|
1167
|
+
const extent = extentOf(element, edge);
|
|
1168
|
+
if (!(extent > 0)) {
|
|
1169
|
+
return;
|
|
1170
|
+
}
|
|
1171
|
+
rideNeighbour(element, area, edge, rtl, motion.animation, () => edgeMotions.get(element) === motion, towards => Math.min(extent, Math.max(0, isConceal ? extent - towards : -towards)), hidden => ({
|
|
1172
|
+
opacity: 1 - hidden / extent,
|
|
1173
|
+
clipPath: pxClip(edge, hidden, rtl)
|
|
1174
|
+
}), hiddenAt => {
|
|
1175
|
+
motion.shownAt = t => 1 - hiddenAt(t) / extent;
|
|
1176
|
+
});
|
|
1177
|
+
}
|
|
1178
|
+
|
|
944
1179
|
/**
|
|
945
1180
|
* The changed element's own animation, on the same motion as the content
|
|
946
|
-
* after it: content that appears reveals
|
|
947
|
-
*
|
|
948
|
-
*
|
|
1181
|
+
* after it (`spec:AST-105` FR4): content that appears reveals from its
|
|
1182
|
+
* block-end edge downward, or from the `edge` it is given (FR9), and its edge
|
|
1183
|
+
* rides the glide of the content on that side once it starts. A reveal that
|
|
1184
|
+
* reverses a running conceal (an adopter opens it again mid-exit, after
|
|
1185
|
+
* `releaseLayoutExit`) starts from what the element shows. Plays only with a
|
|
1186
|
+
* handle, inside its area and in the area's visible part. Returns the
|
|
1187
|
+
* entrance it started, or null when it played none.
|
|
949
1188
|
*/
|
|
950
|
-
export function playLayoutChange(handle, element
|
|
1189
|
+
export function playLayoutChange(handle, element, {
|
|
1190
|
+
edge = 'block-end'
|
|
1191
|
+
} = {}) {
|
|
951
1192
|
if (handle == null) {
|
|
952
1193
|
return null;
|
|
953
1194
|
}
|
|
@@ -962,9 +1203,10 @@ export function playLayoutChange(handle, element) {
|
|
|
962
1203
|
if (motion.kind === 'instant') {
|
|
963
1204
|
return null;
|
|
964
1205
|
}
|
|
1206
|
+
const from = shownAtStart(element, 0);
|
|
965
1207
|
if (motion.kind === 'fade') {
|
|
966
1208
|
return safeAnimate(element, [{
|
|
967
|
-
opacity:
|
|
1209
|
+
opacity: from
|
|
968
1210
|
}, {
|
|
969
1211
|
opacity: 1
|
|
970
1212
|
}], {
|
|
@@ -972,17 +1214,29 @@ export function playLayoutChange(handle, element) {
|
|
|
972
1214
|
easing: motion.easing
|
|
973
1215
|
});
|
|
974
1216
|
}
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
1217
|
+
const {
|
|
1218
|
+
progress
|
|
1219
|
+
} = motion;
|
|
1220
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
1221
|
+
const animation = safeAnimate(element, sampleKeyframes(progress, remaining => {
|
|
1222
|
+
const hidden = (1 - from) * remaining;
|
|
1223
|
+
return {
|
|
1224
|
+
opacity: 1 - hidden,
|
|
1225
|
+
clipPath: fractionClip(edge, hidden, rtl)
|
|
1226
|
+
};
|
|
1227
|
+
}), {
|
|
1228
|
+
duration: progress.durationMs,
|
|
980
1229
|
easing: 'linear'
|
|
981
1230
|
});
|
|
1231
|
+
if (animation != null) {
|
|
1232
|
+
const tracked = trackEdgeMotion(element, animation, t => 1 - (1 - from) * progress.remaining(t));
|
|
1233
|
+
rideEdge(element, area, edge, rtl, tracked, false);
|
|
1234
|
+
}
|
|
1235
|
+
return animation;
|
|
982
1236
|
}
|
|
983
1237
|
|
|
984
1238
|
/** The inline properties an exit sets, so a release removes exactly them. */
|
|
985
|
-
const EXIT_PROPERTIES = ['margin-block-end', 'margin-inline-end', 'pointer-events'];
|
|
1239
|
+
const EXIT_PROPERTIES = ['margin-block-end', 'margin-inline-end', 'margin-block-start', 'margin-inline-start', 'pointer-events'];
|
|
986
1240
|
|
|
987
1241
|
/**
|
|
988
1242
|
* The first element after `element` in the area that takes part in layout:
|
|
@@ -1041,26 +1295,38 @@ function placeOf(element, rtl) {
|
|
|
1041
1295
|
* so a gap or collapsing margins come out exact. Returns false, setting
|
|
1042
1296
|
* nothing, when no margin reaches that place.
|
|
1043
1297
|
*/
|
|
1044
|
-
function giveUpSpace(element, area) {
|
|
1298
|
+
function giveUpSpace(element, area, edge = 'block-end') {
|
|
1045
1299
|
const view = element.ownerDocument.defaultView;
|
|
1046
1300
|
const parent = element.parentElement == null ? undefined : view?.getComputedStyle(element.parentElement);
|
|
1047
1301
|
const isRow = parent != null && parent.display.includes('flex') && parent.flexDirection.startsWith('row');
|
|
1048
1302
|
const rtl = view?.getComputedStyle(element).direction === 'rtl';
|
|
1049
|
-
|
|
1050
|
-
|
|
1303
|
+
// The default block-end exit frees its space at its end, on the axis its
|
|
1304
|
+
// container lays it out on; an exit by another edge frees it on that
|
|
1305
|
+
// edge's side, so the element stays where it shows and the content beyond
|
|
1306
|
+
// that edge moves (FR9).
|
|
1307
|
+
const isStart = edge.endsWith('start');
|
|
1308
|
+
const property = edge === 'block-end' ? isRow ? 'margin-inline-end' : 'margin-block-end' : `margin-${edge}`;
|
|
1309
|
+
const isInline = property.includes('inline');
|
|
1310
|
+
const size = isInline ? element.offsetWidth : element.offsetHeight;
|
|
1051
1311
|
const next = nextInFlow(element, area);
|
|
1052
|
-
if (next == null) {
|
|
1312
|
+
if (next == null && !isStart) {
|
|
1053
1313
|
// Nothing after it in the area to land anywhere.
|
|
1054
1314
|
element.style.setProperty(property, `${-size}px`);
|
|
1055
1315
|
return true;
|
|
1056
1316
|
}
|
|
1057
1317
|
const own = element.style.getPropertyValue(property);
|
|
1058
1318
|
const ownPriority = element.style.getPropertyPriority(property);
|
|
1059
|
-
const axis =
|
|
1319
|
+
const axis = isInline ? 'inline' : 'block';
|
|
1060
1320
|
// The content after its container must land too: a flex-row item that
|
|
1061
1321
|
// sets its row's height moves what follows the row.
|
|
1062
1322
|
const afterParent = element.parentElement == null || element.parentElement === area ? null : nextInFlow(element.parentElement, area);
|
|
1063
|
-
|
|
1323
|
+
// By a start edge, what lies before it lands too, and the element itself
|
|
1324
|
+
// stays where it shows.
|
|
1325
|
+
const before = isStart ? previousInFlow(element, area) : null;
|
|
1326
|
+
const checked = [next, afterParent, before, isStart ? element : null].filter(box => box != null);
|
|
1327
|
+
if (checked.length === 0) {
|
|
1328
|
+
return false;
|
|
1329
|
+
}
|
|
1064
1330
|
// The element's scale, read in the layout the caller's visibility check
|
|
1065
1331
|
// already laid out.
|
|
1066
1332
|
const scale = scaleOf(element, element.getBoundingClientRect());
|
|
@@ -1069,8 +1335,9 @@ function giveUpSpace(element, area) {
|
|
|
1069
1335
|
// inside it).
|
|
1070
1336
|
const position = element.style.getPropertyValue('position');
|
|
1071
1337
|
const positionPriority = element.style.getPropertyPriority('position');
|
|
1338
|
+
const shown = isStart ? placeOf(element, rtl) : null;
|
|
1072
1339
|
element.style.setProperty('position', 'absolute', 'important');
|
|
1073
|
-
const targets = checked.map(box => placeOf(box, rtl));
|
|
1340
|
+
const targets = checked.map(box => box === element && shown != null ? shown : placeOf(box, rtl));
|
|
1074
1341
|
const target = targets[0];
|
|
1075
1342
|
if (position === '') {
|
|
1076
1343
|
element.style.removeProperty('position');
|
|
@@ -1083,7 +1350,7 @@ function giveUpSpace(element, area) {
|
|
|
1083
1350
|
// A first guess (its box), then one correction from the measured result:
|
|
1084
1351
|
// a gap, a collapsed margin or the element's own margins.
|
|
1085
1352
|
element.style.setProperty(property, `${-size}px`);
|
|
1086
|
-
const guess = placeOf(
|
|
1353
|
+
const guess = placeOf(checked[0], rtl)[axis];
|
|
1087
1354
|
const correction = (target[axis] - guess) / perPx;
|
|
1088
1355
|
element.style.setProperty(property, `${-size + correction}px`);
|
|
1089
1356
|
// Everything checked must land on both axes: a flex-row item that sets
|
|
@@ -1122,6 +1389,11 @@ const replaced = new WeakMap();
|
|
|
1122
1389
|
* element, after the change's `animate()` reported it measured, in the same
|
|
1123
1390
|
* task: the glide reads the layout once the element has given up its space.
|
|
1124
1391
|
*
|
|
1392
|
+
* It conceals to its block-end edge by default, or to the `edge` it is given
|
|
1393
|
+
* (`spec:AST-105` FR9), and its edge rides the glide of the content on that
|
|
1394
|
+
* side once it starts; a conceal that reverses a running reveal (a close
|
|
1395
|
+
* while it opens) starts from what the element shows.
|
|
1396
|
+
*
|
|
1125
1397
|
* Returns false, holding nothing, when the exit lands at once: no handle, a
|
|
1126
1398
|
* close no change in the area measured, outside the area or its visible part,
|
|
1127
1399
|
* Reduce Motion with a fine pointer, or a layout no end margin can free (a
|
|
@@ -1129,7 +1401,9 @@ const replaced = new WeakMap();
|
|
|
1129
1401
|
* that last case the content after it takes its final place at once too.
|
|
1130
1402
|
* The component then hides the element itself.
|
|
1131
1403
|
*/
|
|
1132
|
-
export function holdLayoutExit(handle, element, done
|
|
1404
|
+
export function holdLayoutExit(handle, element, done, {
|
|
1405
|
+
edge = 'block-end'
|
|
1406
|
+
} = {}) {
|
|
1133
1407
|
if (handle == null) {
|
|
1134
1408
|
return false;
|
|
1135
1409
|
}
|
|
@@ -1151,7 +1425,7 @@ export function holdLayoutExit(handle, element, done) {
|
|
|
1151
1425
|
inert: element.hasAttribute('inert'),
|
|
1152
1426
|
styles: EXIT_PROPERTIES.map(property => [property, element.style.getPropertyValue(property), element.style.getPropertyPriority(property)])
|
|
1153
1427
|
};
|
|
1154
|
-
if (!giveUpSpace(element, area)) {
|
|
1428
|
+
if (!giveUpSpace(element, area, edge)) {
|
|
1155
1429
|
// A layout no end margin can free (a grid track and its gap, a flex-row
|
|
1156
1430
|
// item that sets its row's height): it hides at once, and the content
|
|
1157
1431
|
// after it takes its final place at once (`spec:AST-105` out of
|
|
@@ -1167,22 +1441,41 @@ export function holdLayoutExit(handle, element, done) {
|
|
|
1167
1441
|
// Out of reach while it conceals: no focus, no pointer, nothing read.
|
|
1168
1442
|
element.setAttribute('inert', '');
|
|
1169
1443
|
element.style.setProperty('pointer-events', 'none');
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
}
|
|
1444
|
+
// A close while it opens: the reveal stops where it shows, and this starts
|
|
1445
|
+
// there.
|
|
1446
|
+
const from = shownAtStart(element, 1);
|
|
1447
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
1448
|
+
let animation;
|
|
1449
|
+
if (motion.kind === 'fade') {
|
|
1450
|
+
animation = safeAnimate(element, [{
|
|
1451
|
+
opacity: from
|
|
1452
|
+
}, {
|
|
1453
|
+
opacity: 0
|
|
1454
|
+
}], {
|
|
1455
|
+
duration: motion.durationMs,
|
|
1456
|
+
easing: motion.easing,
|
|
1457
|
+
fill: 'forwards'
|
|
1458
|
+
});
|
|
1459
|
+
} else {
|
|
1460
|
+
const {
|
|
1461
|
+
progress
|
|
1462
|
+
} = motion;
|
|
1463
|
+
animation = safeAnimate(element, sampleKeyframes(progress, remaining => {
|
|
1464
|
+
const shown = from * remaining;
|
|
1465
|
+
return {
|
|
1466
|
+
opacity: shown,
|
|
1467
|
+
clipPath: fractionClip(edge, 1 - shown, rtl)
|
|
1468
|
+
};
|
|
1469
|
+
}), {
|
|
1470
|
+
duration: progress.durationMs,
|
|
1471
|
+
easing: 'linear',
|
|
1472
|
+
fill: 'forwards'
|
|
1473
|
+
});
|
|
1474
|
+
if (animation != null) {
|
|
1475
|
+
const tracked = trackEdgeMotion(element, animation, t => from * progress.remaining(t));
|
|
1476
|
+
rideEdge(element, area, edge, rtl, tracked, true);
|
|
1477
|
+
}
|
|
1478
|
+
}
|
|
1186
1479
|
exits.set(element, animation);
|
|
1187
1480
|
if (animation == null) {
|
|
1188
1481
|
// No Web Animations: nothing to wait for.
|
|
@@ -1207,6 +1500,16 @@ export function releaseLayoutExit(element) {
|
|
|
1207
1500
|
if (!exits.has(element)) {
|
|
1208
1501
|
return;
|
|
1209
1502
|
}
|
|
1503
|
+
// What the exit showed as it stopped: a reveal in the same frame (opened
|
|
1504
|
+
// again mid-exit) starts there.
|
|
1505
|
+
const running = edgeMotions.get(element);
|
|
1506
|
+
if (running != null) {
|
|
1507
|
+
edgeMotions.delete(element);
|
|
1508
|
+
stoppedShown.set(element, {
|
|
1509
|
+
fraction: shownNow(running),
|
|
1510
|
+
at: timelineNow(element)
|
|
1511
|
+
});
|
|
1512
|
+
}
|
|
1210
1513
|
exits.get(element)?.cancel();
|
|
1211
1514
|
exits.delete(element);
|
|
1212
1515
|
const prior = replaced.get(element);
|
|
@@ -1453,6 +1756,430 @@ export function playLayoutFrames(handle, parts) {
|
|
|
1453
1756
|
return end;
|
|
1454
1757
|
}
|
|
1455
1758
|
|
|
1759
|
+
// ---------------------------------------------------------------------------
|
|
1760
|
+
// The edge reveal's two-state form (`spec:AST-105` FR9)
|
|
1761
|
+
// ---------------------------------------------------------------------------
|
|
1762
|
+
|
|
1763
|
+
/**
|
|
1764
|
+
* An element's old state, held before a change commits for FR9's two-state
|
|
1765
|
+
* edge reveal.
|
|
1766
|
+
*/
|
|
1767
|
+
|
|
1768
|
+
/** A playing two-state edge reveal. */
|
|
1769
|
+
|
|
1770
|
+
/** What the caller adds to a two-state edge reveal: only its own fades. */
|
|
1771
|
+
|
|
1772
|
+
const SETTLED = {
|
|
1773
|
+
end: () => {},
|
|
1774
|
+
shown: () => null
|
|
1775
|
+
};
|
|
1776
|
+
|
|
1777
|
+
/**
|
|
1778
|
+
* Before a change commits: hold `element`'s old state for FR9's two-state edge
|
|
1779
|
+
* reveal, its box and the extent it shows along `edge`'s axis (`shown`, from a
|
|
1780
|
+
* running reveal, or its box), and its old state as one transient copy (null
|
|
1781
|
+
* when it cannot be copied, or under an immediate change). Returns null
|
|
1782
|
+
* without the element or without Web Animations.
|
|
1783
|
+
*/
|
|
1784
|
+
export function holdLayoutEdge(handle, element, {
|
|
1785
|
+
edge = 'block-end',
|
|
1786
|
+
shown = null
|
|
1787
|
+
} = {}) {
|
|
1788
|
+
if (element == null || typeof element.animate !== 'function') {
|
|
1789
|
+
return null;
|
|
1790
|
+
}
|
|
1791
|
+
const rect = element.getBoundingClientRect();
|
|
1792
|
+
return {
|
|
1793
|
+
element,
|
|
1794
|
+
rect,
|
|
1795
|
+
extent: shown ?? (edge.startsWith('inline') ? rect.width : rect.height),
|
|
1796
|
+
swap: holdLayoutSwap(handle, element)
|
|
1797
|
+
};
|
|
1798
|
+
}
|
|
1799
|
+
|
|
1800
|
+
/**
|
|
1801
|
+
* After the change commits, before paint: FR9's two-state edge reveal, on
|
|
1802
|
+
* FR4's one motion. The state that is larger along `edge`'s axis is clipped
|
|
1803
|
+
* on that edge, from the extent the element showed to the new one: a conceal
|
|
1804
|
+
* covers the old state, held as the swap's copy, with the element raised
|
|
1805
|
+
* above it; a reveal opens the element, under the old state. With
|
|
1806
|
+
* `rideWith`, an element the glide moves after that edge (a rail's content
|
|
1807
|
+
* column), the edge rides its glide, frame by frame, so the two never part,
|
|
1808
|
+
* also when this reverses a running reveal; without it the edge follows the
|
|
1809
|
+
* motion's curve. `parts` gives the caller's own fades, told whether the edge
|
|
1810
|
+
* conceals and the element as it is now. Under Reduce Motion it follows
|
|
1811
|
+
* `design:reduced-motion`: opacity only under a coarse primary pointer (DR2),
|
|
1812
|
+
* an immediate change otherwise (DR3). `current` is the element after the
|
|
1813
|
+
* commit, when it remounted.
|
|
1814
|
+
*/
|
|
1815
|
+
export function playLayoutEdge(hold, current, handle, {
|
|
1816
|
+
edge = 'block-end',
|
|
1817
|
+
rideWith = null,
|
|
1818
|
+
parts
|
|
1819
|
+
} = {}) {
|
|
1820
|
+
const {
|
|
1821
|
+
rect: before,
|
|
1822
|
+
swap,
|
|
1823
|
+
extent: from
|
|
1824
|
+
} = hold;
|
|
1825
|
+
const element = current?.isConnected === true ? current : hold.element;
|
|
1826
|
+
if (!element.isConnected) {
|
|
1827
|
+
return SETTLED;
|
|
1828
|
+
}
|
|
1829
|
+
const motion = layoutMotion(element);
|
|
1830
|
+
const next = element.getBoundingClientRect();
|
|
1831
|
+
const isInline = edge.startsWith('inline');
|
|
1832
|
+
const extentOfBox = box => isInline ? box.width : box.height;
|
|
1833
|
+
const to = extentOfBox(next);
|
|
1834
|
+
if (motion.kind === 'instant' || Math.abs(to - from) < 0.5) {
|
|
1835
|
+
return SETTLED;
|
|
1836
|
+
}
|
|
1837
|
+
const isConceal = to < from;
|
|
1838
|
+
const isEnd = edge.endsWith('end');
|
|
1839
|
+
const rtl = isInline && isRtl(element);
|
|
1840
|
+
// The row that holds the element and the ridden element, or its parent.
|
|
1841
|
+
const host = rideWith?.parentElement != null && rideWith.parentElement.contains(element) ? rideWith.parentElement : element.parentElement;
|
|
1842
|
+
// Riding needs the swap: its frames carry the ridden element's travel.
|
|
1843
|
+
// Without one (old state that cannot be copied) the edge follows the
|
|
1844
|
+
// motion's curve.
|
|
1845
|
+
const rides = host != null && rideWith != null && rideWith.parentElement === host && swap != null;
|
|
1846
|
+
// The ridden element's travel so far, towards the edge's side.
|
|
1847
|
+
const sign = isEnd ? 1 : -1;
|
|
1848
|
+
const towards = ride => sign * (isInline ? rtl ? -ride.x : ride.x : ride.y);
|
|
1849
|
+
const extentAt = (p, ride) => rides ? from + towards(ride) : from + (to - from) * p;
|
|
1850
|
+
const clip = hidden => pxClip(edge, hidden, rtl);
|
|
1851
|
+
const now = () => Number(element.ownerDocument.timeline?.currentTime ?? 0);
|
|
1852
|
+
const startedAt = now();
|
|
1853
|
+
const durationMs = motion.kind === 'spring' ? motion.progress.durationMs : motion.durationMs;
|
|
1854
|
+
const shown = () => {
|
|
1855
|
+
const elapsed = now() - startedAt;
|
|
1856
|
+
if (elapsed >= durationMs) {
|
|
1857
|
+
return null;
|
|
1858
|
+
}
|
|
1859
|
+
const progress = motion.kind === 'spring' ? 1 - motion.progress.remaining(elapsed) : 0;
|
|
1860
|
+
let extent = from + (to - from) * progress;
|
|
1861
|
+
if (rides && rideWith != null) {
|
|
1862
|
+
// The edge is the ridden element's: read it where it shows.
|
|
1863
|
+
const ridden = rideWith.getBoundingClientRect();
|
|
1864
|
+
const own = element.getBoundingClientRect();
|
|
1865
|
+
extent = !isInline ? isEnd ? ridden.top - own.top : own.bottom - ridden.bottom : isEnd !== rtl ? ridden.left - own.left : own.right - ridden.right;
|
|
1866
|
+
}
|
|
1867
|
+
return {
|
|
1868
|
+
extent,
|
|
1869
|
+
progress
|
|
1870
|
+
};
|
|
1871
|
+
};
|
|
1872
|
+
// The ride, when the ridden element does not glide: its whole travel at
|
|
1873
|
+
// once, physical (its old place less its new).
|
|
1874
|
+
const travel = sign * (from - to);
|
|
1875
|
+
const rideSpec = rides && rideWith != null ? {
|
|
1876
|
+
element: rideWith,
|
|
1877
|
+
travel: isInline ? {
|
|
1878
|
+
x: rtl ? -travel : travel,
|
|
1879
|
+
y: 0
|
|
1880
|
+
} : {
|
|
1881
|
+
x: 0,
|
|
1882
|
+
y: travel
|
|
1883
|
+
},
|
|
1884
|
+
isCopyMoved: false
|
|
1885
|
+
} : undefined;
|
|
1886
|
+
// The copy keeps the element's fixed edge (the one opposite `edge`) where
|
|
1887
|
+
// the element is now, so it meets the element wherever it sits.
|
|
1888
|
+
const fixedAtStart = isEnd !== (isInline && rtl);
|
|
1889
|
+
const at = new DOMRect(isInline && !fixedAtStart ? next.right - before.width : next.left, !isInline && !isEnd ? next.bottom - before.height : next.top, before.width, before.height);
|
|
1890
|
+
const own = parts?.(isConceal, element) ?? {};
|
|
1891
|
+
const copyOpacity = own.copyOpacity ?? (() => 1);
|
|
1892
|
+
if (isConceal) {
|
|
1893
|
+
// A conceal covers the old state, held by the swap, from the extent it
|
|
1894
|
+
// shows down to the new one; the element, raised above it, shows through.
|
|
1895
|
+
if (swap == null || host == null) {
|
|
1896
|
+
return SETTLED;
|
|
1897
|
+
}
|
|
1898
|
+
let raised = element;
|
|
1899
|
+
while (raised != null && raised.parentElement !== host) {
|
|
1900
|
+
raised = raised.parentElement;
|
|
1901
|
+
}
|
|
1902
|
+
const restore = raised == null ? null : {
|
|
1903
|
+
position: raised.style.position,
|
|
1904
|
+
zIndex: raised.style.zIndex
|
|
1905
|
+
};
|
|
1906
|
+
if (raised != null) {
|
|
1907
|
+
if (getComputedStyle(raised).position === 'static') {
|
|
1908
|
+
raised.style.position = 'relative';
|
|
1909
|
+
}
|
|
1910
|
+
raised.style.zIndex = '2';
|
|
1911
|
+
}
|
|
1912
|
+
const end = playLayoutSwap({
|
|
1913
|
+
...swap,
|
|
1914
|
+
rect: at
|
|
1915
|
+
}, {
|
|
1916
|
+
host,
|
|
1917
|
+
isOpaque: true,
|
|
1918
|
+
copy: (p, ride) => ({
|
|
1919
|
+
clipPath: clip(extentOfBox(before) - extentAt(p, ride)),
|
|
1920
|
+
opacity: copyOpacity(p)
|
|
1921
|
+
}),
|
|
1922
|
+
copyText: own.copyText,
|
|
1923
|
+
rideWith: rideSpec,
|
|
1924
|
+
onEnd: () => {
|
|
1925
|
+
if (raised != null && restore != null) {
|
|
1926
|
+
raised.style.position = restore.position;
|
|
1927
|
+
raised.style.zIndex = restore.zIndex;
|
|
1928
|
+
}
|
|
1929
|
+
},
|
|
1930
|
+
incoming: own.incoming ?? []
|
|
1931
|
+
});
|
|
1932
|
+
return {
|
|
1933
|
+
end,
|
|
1934
|
+
shown
|
|
1935
|
+
};
|
|
1936
|
+
}
|
|
1937
|
+
|
|
1938
|
+
// A reveal opens the element from the extent it showed, under the old
|
|
1939
|
+
// state held by the same swap.
|
|
1940
|
+
const incoming = [{
|
|
1941
|
+
element,
|
|
1942
|
+
frames: (p, ride) => ({
|
|
1943
|
+
clipPath: clip(to - extentAt(p, ride))
|
|
1944
|
+
})
|
|
1945
|
+
}, ...(own.incoming ?? [])];
|
|
1946
|
+
const end = swap != null && host != null ? playLayoutSwap({
|
|
1947
|
+
...swap,
|
|
1948
|
+
rect: at
|
|
1949
|
+
}, {
|
|
1950
|
+
host,
|
|
1951
|
+
isOpaque: true,
|
|
1952
|
+
copy: p => ({
|
|
1953
|
+
opacity: copyOpacity(p)
|
|
1954
|
+
}),
|
|
1955
|
+
copyText: own.copyText,
|
|
1956
|
+
rideWith: rideSpec,
|
|
1957
|
+
incoming
|
|
1958
|
+
}) : playLayoutFrames(handle, incoming);
|
|
1959
|
+
return {
|
|
1960
|
+
end,
|
|
1961
|
+
shown
|
|
1962
|
+
};
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
// ---------------------------------------------------------------------------
|
|
1966
|
+
// The edge reveal of a resized element (`spec:AST-105` FR9, no copy)
|
|
1967
|
+
// ---------------------------------------------------------------------------
|
|
1968
|
+
|
|
1969
|
+
/** A resized element's edge reveal, reported around its change. */
|
|
1970
|
+
|
|
1971
|
+
/** A running edge reveal of a resized element. */
|
|
1972
|
+
|
|
1973
|
+
const resizeReveals = new WeakMap();
|
|
1974
|
+
|
|
1975
|
+
/** The inline properties a size hold sets, by axis. */
|
|
1976
|
+
const HOLD_PROPERTIES = {
|
|
1977
|
+
inline: ['inline-size', 'min-inline-size', 'max-inline-size', 'flex-basis', 'flex-grow', 'flex-shrink'],
|
|
1978
|
+
block: ['block-size', 'min-block-size', 'max-block-size', 'flex-basis', 'flex-grow', 'flex-shrink']
|
|
1979
|
+
};
|
|
1980
|
+
|
|
1981
|
+
/**
|
|
1982
|
+
* Holds `element` at `extent` own px along `edge`'s axis while it conceals to
|
|
1983
|
+
* `keep`, freeing the difference by the margin on that edge's side, so what
|
|
1984
|
+
* lies beyond the edge stays where the new size puts it. Returns what puts
|
|
1985
|
+
* back every value it set, or null when no margin frees it (the content on
|
|
1986
|
+
* that side did not stay put), having set nothing.
|
|
1987
|
+
*/
|
|
1988
|
+
function holdExtent(element, area, edge, extent, keep) {
|
|
1989
|
+
const axis = edge.startsWith('inline') ? 'inline' : 'block';
|
|
1990
|
+
const margin = `margin-${edge}`;
|
|
1991
|
+
const properties = [...HOLD_PROPERTIES[axis], margin];
|
|
1992
|
+
const prior = properties.map(property => [property, element.style.getPropertyValue(property), element.style.getPropertyPriority(property)]);
|
|
1993
|
+
const restore = () => {
|
|
1994
|
+
for (const [property, value, priority] of prior) {
|
|
1995
|
+
if (value === '') {
|
|
1996
|
+
element.style.removeProperty(property);
|
|
1997
|
+
} else {
|
|
1998
|
+
element.style.setProperty(property, value, priority);
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
};
|
|
2002
|
+
const isEnd = edge.endsWith('end');
|
|
2003
|
+
const rtl = axis === 'inline' && isRtl(element);
|
|
2004
|
+
const beyond = isEnd ? nextInFlow(element, area) : previousInFlow(element, area);
|
|
2005
|
+
const before = beyond == null ? null : placeOf(beyond, rtl);
|
|
2006
|
+
const size = `${extent}px`;
|
|
2007
|
+
element.style.setProperty(`${axis}-size`, size, 'important');
|
|
2008
|
+
element.style.setProperty(`min-${axis}-size`, size, 'important');
|
|
2009
|
+
element.style.setProperty(`max-${axis}-size`, size, 'important');
|
|
2010
|
+
element.style.setProperty('flex-basis', 'auto', 'important');
|
|
2011
|
+
element.style.setProperty('flex-grow', '0', 'important');
|
|
2012
|
+
element.style.setProperty('flex-shrink', '0', 'important');
|
|
2013
|
+
element.style.setProperty(margin, `${keep - extent}px`, 'important');
|
|
2014
|
+
if (beyond != null && before != null) {
|
|
2015
|
+
// One correction from the measured result (a gap, the element's own
|
|
2016
|
+
// margin), then everything beyond the edge must be where it was.
|
|
2017
|
+
const landed = placeOf(beyond, rtl);
|
|
2018
|
+
const scale = scaleOf(element, element.getBoundingClientRect());
|
|
2019
|
+
const perPx = axis === 'inline' ? scale.x : scale.y;
|
|
2020
|
+
const sign = isEnd ? 1 : -1;
|
|
2021
|
+
const drift = (landed[axis] - before[axis]) * sign;
|
|
2022
|
+
if (Math.abs(drift) > 0.5) {
|
|
2023
|
+
element.style.setProperty(margin, `${keep - extent - drift / perPx}px`, 'important');
|
|
2024
|
+
}
|
|
2025
|
+
const settled = placeOf(beyond, rtl);
|
|
2026
|
+
if (Math.abs(settled.block - before.block) > 1 || Math.abs(settled.inline - before.inline) > 1) {
|
|
2027
|
+
restore();
|
|
2028
|
+
return null;
|
|
2029
|
+
}
|
|
2030
|
+
}
|
|
2031
|
+
return restore;
|
|
2032
|
+
}
|
|
2033
|
+
|
|
2034
|
+
/**
|
|
2035
|
+
* Reports a resized element's edge reveal (`spec:AST-105` FR9) with no copy:
|
|
2036
|
+
* a resize controller's pane collapsing or opening beside the content it
|
|
2037
|
+
* shares a row with (`component:Resizable` FR8, `component:LayoutPanel`
|
|
2038
|
+
* FR7). Measure before the change commits and animate after the
|
|
2039
|
+
* new size is applied, as `reportLayoutChange` does; the content beside the
|
|
2040
|
+
* element glides through that report. A larger extent reveals by `edge` from
|
|
2041
|
+
* the extent the element showed. A smaller one conceals: the element is held
|
|
2042
|
+
* at the extent it was laid out at, the difference freed by the margin on
|
|
2043
|
+
* that edge's side so the content beyond it stays where the new size puts it,
|
|
2044
|
+
* and clipped down to its new extent; the hold goes when the motion ends. The
|
|
2045
|
+
* moving edge rides the glide of the content on that side, frame by frame,
|
|
2046
|
+
* and a change made while it runs starts from the extent it shows. It slides:
|
|
2047
|
+
* nothing fades. Under Reduce Motion with a coarse primary pointer a reveal
|
|
2048
|
+
* fades in and a conceal lands at once (`design:reduced-motion` DR2); with a
|
|
2049
|
+
* fine one every change lands at once (DR3).
|
|
2050
|
+
*/
|
|
2051
|
+
export function reportLayoutEdge(handle, getElement, {
|
|
2052
|
+
edge = 'block-end'
|
|
2053
|
+
} = {}) {
|
|
2054
|
+
const report = reportLayoutChange(handle, getElement);
|
|
2055
|
+
/**
|
|
2056
|
+
* What the element showed, its laid-out extent and its box, before the
|
|
2057
|
+
* change.
|
|
2058
|
+
*/
|
|
2059
|
+
let measured = null;
|
|
2060
|
+
const release = element => {
|
|
2061
|
+
if (element == null) {
|
|
2062
|
+
return;
|
|
2063
|
+
}
|
|
2064
|
+
resizeReveals.get(element)?.release();
|
|
2065
|
+
};
|
|
2066
|
+
return {
|
|
2067
|
+
measureBefore() {
|
|
2068
|
+
const element = getElement();
|
|
2069
|
+
measured = null;
|
|
2070
|
+
if (element != null) {
|
|
2071
|
+
const running = resizeReveals.get(element);
|
|
2072
|
+
const elapsed = Number(running?.animation?.currentTime);
|
|
2073
|
+
const rect = element.getBoundingClientRect();
|
|
2074
|
+
measured = running == null ? {
|
|
2075
|
+
shown: extentOf(element, edge),
|
|
2076
|
+
box: extentOf(element, edge),
|
|
2077
|
+
rect
|
|
2078
|
+
} : {
|
|
2079
|
+
shown: running.shownAt(Number.isFinite(elapsed) ? elapsed : 0),
|
|
2080
|
+
box: running.box,
|
|
2081
|
+
rect
|
|
2082
|
+
};
|
|
2083
|
+
running?.release();
|
|
2084
|
+
}
|
|
2085
|
+
report.measureBefore();
|
|
2086
|
+
},
|
|
2087
|
+
animate() {
|
|
2088
|
+
report.animate();
|
|
2089
|
+
const element = getElement();
|
|
2090
|
+
const before = measured;
|
|
2091
|
+
measured = null;
|
|
2092
|
+
if (handle == null || element == null || before == null) {
|
|
2093
|
+
return;
|
|
2094
|
+
}
|
|
2095
|
+
const area = areaOf(handle, element);
|
|
2096
|
+
if (area == null) {
|
|
2097
|
+
return;
|
|
2098
|
+
}
|
|
2099
|
+
const after = extentOf(element, edge);
|
|
2100
|
+
if (Math.abs(after - before.shown) < 0.5) {
|
|
2101
|
+
return;
|
|
2102
|
+
}
|
|
2103
|
+
// In the area's visible part before or after: a pane collapsing to
|
|
2104
|
+
// nothing has no box after.
|
|
2105
|
+
const visible = visibleRect(area);
|
|
2106
|
+
if (!intersects(element.getBoundingClientRect(), visible) && !intersects(before.rect, visible)) {
|
|
2107
|
+
return;
|
|
2108
|
+
}
|
|
2109
|
+
const motion = layoutMotion(area);
|
|
2110
|
+
if (motion.kind === 'instant') {
|
|
2111
|
+
return;
|
|
2112
|
+
}
|
|
2113
|
+
const isConceal = after < before.shown;
|
|
2114
|
+
if (motion.kind === 'fade') {
|
|
2115
|
+
if (!isConceal) {
|
|
2116
|
+
safeAnimate(element, [{
|
|
2117
|
+
opacity: 0
|
|
2118
|
+
}, {
|
|
2119
|
+
opacity: 1
|
|
2120
|
+
}], {
|
|
2121
|
+
duration: motion.durationMs,
|
|
2122
|
+
easing: motion.easing
|
|
2123
|
+
});
|
|
2124
|
+
}
|
|
2125
|
+
return;
|
|
2126
|
+
}
|
|
2127
|
+
const {
|
|
2128
|
+
progress
|
|
2129
|
+
} = motion;
|
|
2130
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
2131
|
+
// The box the clip works in: the new one for a reveal; for a conceal,
|
|
2132
|
+
// the one it was laid out at, held while it runs.
|
|
2133
|
+
const box = isConceal ? Math.max(before.box, before.shown) : after;
|
|
2134
|
+
const restore = isConceal ? holdExtent(element, area, edge, box, after) : () => {};
|
|
2135
|
+
if (restore == null) {
|
|
2136
|
+
return;
|
|
2137
|
+
}
|
|
2138
|
+
// Hidden at the start and at the end, in the box's own px.
|
|
2139
|
+
const from = box - before.shown;
|
|
2140
|
+
const to = box - after;
|
|
2141
|
+
const curve = t => to + (from - to) * progress.remaining(t);
|
|
2142
|
+
const animation = safeAnimate(element, sampleOver(progress.durationMs, t => ({
|
|
2143
|
+
clipPath: pxClip(edge, curve(t), rtl)
|
|
2144
|
+
})), {
|
|
2145
|
+
duration: progress.durationMs,
|
|
2146
|
+
easing: 'linear'
|
|
2147
|
+
});
|
|
2148
|
+
const reveal = {
|
|
2149
|
+
animation,
|
|
2150
|
+
shownAt: t => box - curve(t),
|
|
2151
|
+
box,
|
|
2152
|
+
release: () => {
|
|
2153
|
+
if (resizeReveals.get(element) !== reveal) {
|
|
2154
|
+
return;
|
|
2155
|
+
}
|
|
2156
|
+
resizeReveals.delete(element);
|
|
2157
|
+
animation?.cancel();
|
|
2158
|
+
restore();
|
|
2159
|
+
}
|
|
2160
|
+
};
|
|
2161
|
+
if (animation == null) {
|
|
2162
|
+
restore();
|
|
2163
|
+
return;
|
|
2164
|
+
}
|
|
2165
|
+
resizeReveals.set(element, reveal);
|
|
2166
|
+
animation.addEventListener?.('finish', reveal.release);
|
|
2167
|
+
rideNeighbour(element, area, edge, rtl, animation, () => resizeReveals.get(element) === reveal,
|
|
2168
|
+
// Anywhere in its box: the content beside it may carry a running
|
|
2169
|
+
// motion past where this one starts or ends, and the edge follows.
|
|
2170
|
+
towards => Math.min(box, Math.max(0, isConceal ? to - towards : -towards)), hidden => ({
|
|
2171
|
+
clipPath: pxClip(edge, hidden, rtl)
|
|
2172
|
+
}), hiddenAt => {
|
|
2173
|
+
reveal.shownAt = t => box - hiddenAt(t);
|
|
2174
|
+
});
|
|
2175
|
+
},
|
|
2176
|
+
cancel() {
|
|
2177
|
+
measured = null;
|
|
2178
|
+
release(getElement());
|
|
2179
|
+
}
|
|
2180
|
+
};
|
|
2181
|
+
}
|
|
2182
|
+
|
|
1456
2183
|
/**
|
|
1457
2184
|
* A disclosure's indicator (its chevron) turns on the same motion as the
|
|
1458
2185
|
* glide: its CSS transition takes the spring as a `linear()` easing, and an
|