@astryxdesign/core 0.7.6-canary.fdabeba → 0.7.6
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/CHANGELOG.md +270 -0
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +4 -2
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +48 -36
- package/dist/Avatar/Avatar.d.ts +1 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +6 -4
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +4 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -3
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +10 -7
- package/dist/BottomSheet/BottomSheet.d.ts +3 -51
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +95 -91
- package/dist/BottomSheet/BottomSheetEdgeTint.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetEdgeTint.js +10 -21
- package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetHostContext.js +6 -10
- package/dist/BottomSheet/BottomSheetPanel.d.ts +14 -8
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +73 -50
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts +16 -62
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +54 -72
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +8 -0
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetEscape.js +3 -3
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetStack.js +42 -96
- package/dist/BottomSheet/useMobileKeyboard.d.ts +0 -14
- package/dist/BottomSheet/useMobileKeyboard.d.ts.map +1 -1
- package/dist/BottomSheet/useMobileKeyboard.js +56 -22
- package/dist/BottomSheet/useSheetGestures.d.ts +34 -68
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +111 -100
- package/dist/Breadcrumbs/BreadcrumbItem.js +4 -2
- package/dist/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +6 -3
- package/dist/Button/Button.d.ts +1 -1
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +19 -10
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +14 -12
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarNavigation.js +4 -7
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +6 -3
- 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 +16 -8
- package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
- package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
- package/dist/Chat/ChatComposerDrawer.js +5 -3
- package/dist/Chat/ChatComposerInput.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +16 -4
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +6 -3
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +7 -4
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +6 -3
- package/dist/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/Chat/ChatMessage.js +12 -4
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +7 -3
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatMessageMetadata.js +4 -2
- package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
- package/dist/Chat/ChatPastedTextToken.js +23 -7
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +6 -3
- 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/Chat/ChatToolCalls.js +7 -4
- package/dist/Chat/chatMessage.vars.stylex.d.ts +16 -0
- package/dist/Chat/chatMessage.vars.stylex.d.ts.map +1 -0
- package/dist/Chat/chatMessage.vars.stylex.js +19 -0
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +5 -2
- package/dist/Chat/useTriggerMenu.d.ts +1 -1
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +37 -35
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +5 -3
- 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 +10 -4
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +4 -2
- package/dist/Code/Code.d.ts +1 -1
- package/dist/Code/Code.js +1 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +30 -8
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +23 -3
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +24 -8
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
- package/dist/CommandPalette/CommandPaletteFooter.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteFooter.js +4 -2
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +12 -7
- package/dist/CommandPalette/CommandPaletteList.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteList.js +4 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts +2 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +5 -3
- package/dist/ContextMenu/ContextMenu.d.ts +6 -0
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +35 -9
- package/dist/DateInput/DateInput.d.ts +3 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +60 -15
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +4 -3
- package/dist/DateInput/NativeDateField.d.ts.map +1 -1
- package/dist/DateInput/NativeDateField.js +7 -8
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +12 -12
- package/dist/DateRangeInput/DateRangeInput.d.ts +3 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +7 -8
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +41 -26
- package/dist/DateTimeInput/NativeDateSegment.d.ts.map +1 -1
- package/dist/DateTimeInput/NativeDateSegment.js +5 -2
- package/dist/DateTimeInput/NativeTimeSegment.d.ts.map +1 -1
- package/dist/DateTimeInput/NativeTimeSegment.js +5 -2
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +12 -12
- package/dist/Dialog/Dialog.d.ts +1 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +35 -19
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +4 -2
- package/dist/Drawer/Drawer.d.ts +2 -2
- package/dist/Drawer/Drawer.d.ts.map +1 -1
- package/dist/Drawer/Drawer.js +27 -5
- package/dist/Drawer/DrawerHeader.d.ts.map +1 -1
- package/dist/Drawer/DrawerHeader.js +4 -2
- package/dist/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +31 -73
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +3 -2
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +4 -3
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +4 -3
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +4 -3
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +4 -3
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +15 -9
- 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 +1 -1
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +10 -16
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +5 -3
- 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/Field/index.d.ts +4 -1
- package/dist/Field/index.d.ts.map +1 -1
- package/dist/Field/index.js +2 -1
- package/dist/Field/inputDisabledFocus.d.ts +16 -3
- package/dist/Field/inputDisabledFocus.d.ts.map +1 -1
- package/dist/Field/inputDisabledFocus.js +19 -3
- package/dist/Field/inputStyles.stylex.d.ts +12 -9
- package/dist/Field/inputStyles.stylex.d.ts.map +1 -1
- package/dist/Field/inputStyles.stylex.js +12 -9
- package/dist/Field/textEntryTraits.d.ts +86 -0
- package/dist/Field/textEntryTraits.d.ts.map +1 -0
- package/dist/Field/textEntryTraits.js +81 -0
- package/dist/FieldStatus/FieldStatus.d.ts +13 -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 +7 -2
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +31 -4
- package/dist/Grid/Grid.d.ts +6 -4
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/GridSpan.d.ts +2 -0
- package/dist/Grid/GridSpan.d.ts.map +1 -1
- package/dist/Grid/GridSpan.js +2 -0
- package/dist/HStack/HStack.d.ts +2 -1
- package/dist/HStack/HStack.d.ts.map +1 -1
- package/dist/HStack/HStack.js +2 -1
- package/dist/Heading/Heading.d.ts +5 -3
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +5 -3
- package/dist/HoverCard/HoverCard.d.ts +8 -5
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +1 -0
- package/dist/HoverCard/useHoverCard.d.ts +3 -2
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +7 -0
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +12 -6
- 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/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +7 -3
- package/dist/Layer/layerClickBoundary.d.ts +35 -0
- package/dist/Layer/layerClickBoundary.d.ts.map +1 -0
- package/dist/Layer/layerClickBoundary.js +61 -0
- package/dist/Layer/layerStructureReset.stylex.d.ts +1 -0
- package/dist/Layer/layerStructureReset.stylex.d.ts.map +1 -1
- package/dist/Layer/layerStructureReset.stylex.js +1 -0
- package/dist/Layer/layerSurfacePress.d.ts +9 -0
- package/dist/Layer/layerSurfacePress.d.ts.map +1 -0
- package/dist/Layer/layerSurfacePress.js +35 -0
- package/dist/Layer/outsidePress.d.ts +45 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -0
- package/dist/Layer/outsidePress.js +132 -0
- package/dist/Layer/useLayer.d.ts +8 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +17 -6
- package/dist/Layer/useTouchTrigger.d.ts +26 -3
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +79 -10
- package/dist/Layout/LayoutSlotsContext.d.ts +5 -0
- package/dist/Layout/LayoutSlotsContext.d.ts.map +1 -1
- package/dist/Layout/LayoutSlotsContext.js +3 -2
- package/dist/Layout/layoutReset.d.ts +44 -0
- package/dist/Layout/layoutReset.d.ts.map +1 -0
- package/dist/Layout/layoutReset.js +40 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +14 -7
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +5 -3
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +5 -2
- package/dist/Markdown/plugins/HeadingLinksRenderer.d.ts.map +1 -1
- package/dist/Markdown/plugins/HeadingLinksRenderer.js +4 -2
- package/dist/MetadataList/MetadataList.d.ts +1 -1
- package/dist/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/MetadataList/MetadataList.js +9 -5
- package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/MetadataList/MetadataListItem.js +2 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +15 -5
- package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
- package/dist/MobileNav/MobileNavToggle.js +4 -2
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MoreMenu/MoreMenu.js +4 -2
- package/dist/MultiSelector/MultiSelector.d.ts +2 -2
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +22 -23
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +4 -2
- package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenuItem.js +2 -1
- package/dist/NumberInput/NumberInput.d.ts +3 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +7 -3
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +4 -2
- 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/Pagination/Pagination.js +6 -3
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +8 -5
- package/dist/Popover/usePopover.d.ts +7 -1
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +12 -4
- package/dist/PowerSearch/PowerSearch.d.ts +3 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +8 -4
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +7 -4
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +2 -2
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +16 -13
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +3 -0
- package/dist/PowerSearch/resolveOperatorLabel.d.ts +4 -1
- package/dist/PowerSearch/resolveOperatorLabel.d.ts.map +1 -1
- package/dist/PowerSearch/resolveOperatorLabel.js +5 -0
- package/dist/PowerSearch/usePowerSearchConfig.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchConfig.js +3 -0
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.js +3 -2
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +3 -1
- 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/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +4 -2
- package/dist/Resizable/resizableModel.d.ts +64 -0
- package/dist/Resizable/resizableModel.d.ts.map +1 -0
- package/dist/Resizable/resizableModel.js +287 -0
- package/dist/Resizable/useResizable.d.ts +2 -2
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +1 -284
- package/dist/SegmentedControl/SegmentedControl.d.ts +7 -5
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +26 -16
- package/dist/SegmentedControl/SegmentedControlContext.d.ts +4 -5
- 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 -13
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +59 -0
- package/dist/Selector/Selector.d.ts +3 -3
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +11 -10
- 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/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +156 -23
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +16 -4
- package/dist/SideNav/SideNavFocusTargetsContext.d.ts +11 -0
- package/dist/SideNav/SideNavFocusTargetsContext.d.ts.map +1 -0
- package/dist/SideNav/SideNavFocusTargetsContext.js +16 -0
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +26 -17
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +21 -5
- package/dist/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/SideNav/SideNavSection.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 +16 -10
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +6 -4
- package/dist/Stack/Stack.d.ts +1 -1
- package/dist/Stack/stack.stylex.d.ts +1 -1
- package/dist/Stack/stack.stylex.js +1 -1
- package/dist/Stepper/Step.d.ts.map +1 -1
- package/dist/Stepper/Step.js +6 -3
- package/dist/Stepper/Stepper.d.ts.map +1 -1
- package/dist/Stepper/Stepper.js +5 -3
- package/dist/Switch/Switch.d.ts +1 -1
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +5 -3
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +5 -3
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +11 -8
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +6 -3
- package/dist/Table/TableSelectionToolbar.d.ts.map +1 -1
- package/dist/Table/TableSelectionToolbar.js +4 -2
- 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/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +6 -3
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +14 -10
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +5 -3
- package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +6 -3
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +8 -5
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -1
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +6 -3
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +7 -4
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +8 -5
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -2
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +8 -5
- package/dist/Text/text.stylex.d.ts +2 -0
- package/dist/Text/text.stylex.d.ts.map +1 -1
- package/dist/Text/text.stylex.js +11 -0
- package/dist/TextArea/TextArea.d.ts +7 -5
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +25 -7
- package/dist/TextInput/TextInput.d.ts +23 -8
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +30 -5
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +4 -2
- package/dist/TimeInput/TimeInput.d.ts +3 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +7 -10
- package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
- package/dist/TimeInput/TouchTimeField.js +8 -9
- package/dist/Timer/Timer.js +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +5 -3
- package/dist/Timestamp/TimestampHoverCard.d.ts.map +1 -1
- package/dist/Timestamp/TimestampHoverCard.js +4 -2
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +5 -3
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +6 -2
- 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.map +1 -1
- package/dist/Token/Token.js +8 -3
- package/dist/Token/TokenLink.d.ts +9 -2
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +2 -0
- package/dist/Tokenizer/Tokenizer.d.ts +12 -5
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +81 -54
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +6 -4
- package/dist/Tooltip/Tooltip.d.ts +4 -3
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.d.ts +4 -3
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +40 -8
- package/dist/TopNav/TopNav.d.ts.map +1 -1
- package/dist/TopNav/TopNav.js +19 -13
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +23 -13
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +4 -3
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +9 -2
- package/dist/TopNav/TopNavMegaMenuItem.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.js +3 -2
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +2 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +68 -7
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +10 -6
- package/dist/Typeahead/BaseTypeahead.d.ts +8 -5
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +432 -68
- package/dist/Typeahead/Typeahead.d.ts +13 -8
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.disabled.a11y.chromium.spec.d.ts.map +1 -0
- package/dist/Typeahead/Typeahead.js +13 -9
- package/dist/Typeahead/committedChoicesKey.d.ts +12 -0
- package/dist/Typeahead/committedChoicesKey.d.ts.map +1 -0
- package/dist/Typeahead/committedChoicesKey.js +24 -0
- 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 +27 -7
- package/dist/gestures/GestureArena.d.ts +17 -3
- package/dist/gestures/GestureArena.d.ts.map +1 -1
- package/dist/gestures/GestureArena.js +70 -38
- package/dist/gestures/GestureHost.d.ts +330 -95
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +1304 -475
- package/dist/gestures/GestureRecognizer.d.ts +56 -17
- package/dist/gestures/GestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/GestureRecognizer.js +28 -2
- package/dist/gestures/LongPressGestureRecognizer.d.ts +2 -0
- package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/LongPressGestureRecognizer.js +14 -1
- package/dist/gestures/PanGestureRecognizer.d.ts +11 -0
- package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PanGestureRecognizer.js +25 -0
- package/dist/gestures/PinchGestureRecognizer.d.ts +3 -2
- package/dist/gestures/PinchGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PinchGestureRecognizer.js +10 -8
- package/dist/gestures/PressTracker.d.ts +31 -3
- package/dist/gestures/PressTracker.d.ts.map +1 -1
- package/dist/gestures/PressTracker.js +25 -6
- package/dist/gestures/TapGestureRecognizer.d.ts +2 -0
- package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/TapGestureRecognizer.js +5 -0
- package/dist/gestures/VelocityTracker.d.ts +12 -0
- package/dist/gestures/VelocityTracker.d.ts.map +1 -1
- package/dist/gestures/VelocityTracker.js +38 -0
- package/dist/gestures/fingerScroll.d.ts +14 -0
- package/dist/gestures/fingerScroll.d.ts.map +1 -0
- package/dist/gestures/fingerScroll.js +181 -0
- package/dist/gestures/gestureSync.d.ts +12 -0
- package/dist/gestures/gestureSync.d.ts.map +1 -0
- package/dist/gestures/gestureSync.js +59 -0
- package/dist/gestures/haptics.d.ts +6 -3
- package/dist/gestures/haptics.d.ts.map +1 -1
- package/dist/gestures/haptics.js +9 -10
- package/dist/gestures/hostRegistry.d.ts +15 -0
- package/dist/gestures/hostRegistry.d.ts.map +1 -0
- package/dist/gestures/hostRegistry.js +16 -0
- package/dist/gestures/index.d.ts +6 -2
- package/dist/gestures/index.d.ts.map +1 -1
- package/dist/gestures/index.js +3 -1
- package/dist/gestures/nativeScroll.d.ts +2 -32
- package/dist/gestures/nativeScroll.d.ts.map +1 -1
- package/dist/gestures/nativeScroll.js +5 -17
- package/dist/gestures/pageHold.d.ts +21 -0
- package/dist/gestures/pageHold.d.ts.map +1 -0
- package/dist/gestures/pageHold.js +216 -0
- package/dist/gestures/recognizerInternals.d.ts +52 -0
- package/dist/gestures/recognizerInternals.d.ts.map +1 -0
- package/dist/gestures/recognizerInternals.js +33 -0
- package/dist/gestures/selectionLock.d.ts +10 -0
- package/dist/gestures/selectionLock.d.ts.map +1 -0
- package/dist/gestures/selectionLock.js +12 -0
- package/dist/gestures/touchAction.d.ts +10 -12
- package/dist/gestures/touchAction.d.ts.map +1 -1
- package/dist/gestures/touchAction.js +13 -21
- package/dist/gestures/types.d.ts +17 -0
- package/dist/gestures/types.d.ts.map +1 -1
- package/dist/gestures/useFingerScroll.d.ts +35 -0
- package/dist/gestures/useFingerScroll.d.ts.map +1 -0
- package/dist/gestures/useFingerScroll.js +70 -0
- package/dist/gestures/useGestureRecognizer.d.ts +23 -15
- package/dist/gestures/useGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/useGestureRecognizer.js +51 -160
- package/dist/gestures/usePressTracker.d.ts +34 -0
- package/dist/gestures/usePressTracker.d.ts.map +1 -0
- package/dist/gestures/usePressTracker.js +168 -0
- package/dist/hooks/ModalAnnounceProvider.d.ts +5 -6
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
- package/dist/hooks/ModalAnnounceProvider.js +13 -13
- package/dist/hooks/actionGroupTracker.d.ts +12 -0
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +23 -55
- package/dist/hooks/menuPressGesture.d.ts +21 -26
- package/dist/hooks/menuPressGesture.d.ts.map +1 -1
- package/dist/hooks/menuPressGesture.js +25 -30
- 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/menuPressOnItems.d.ts +2 -9
- package/dist/hooks/menuPressOnItems.d.ts.map +1 -1
- package/dist/hooks/menuPressOnItems.js +7 -9
- package/dist/hooks/modalAnnounce.d.ts +1 -1
- package/dist/hooks/modalAnnounce.d.ts.map +1 -1
- package/dist/hooks/modalAnnounce.js +20 -39
- package/dist/hooks/scrollbarGutter.d.ts.map +1 -1
- package/dist/hooks/scrollbarGutter.js +9 -16
- package/dist/hooks/useAnimatedLayout.d.ts +2 -3
- package/dist/hooks/useAnimatedLayout.d.ts.map +1 -1
- package/dist/hooks/useAnimatedLayout.js +2 -3
- package/dist/hooks/useAnnounce.d.ts +16 -37
- package/dist/hooks/useAnnounce.d.ts.map +1 -1
- package/dist/hooks/useAnnounce.js +56 -92
- package/dist/hooks/useAnnounceRenderedText.d.ts +17 -48
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +22 -42
- package/dist/hooks/useAttachment.d.ts +22 -0
- package/dist/hooks/useAttachment.d.ts.map +1 -0
- package/dist/hooks/useAttachment.js +50 -0
- package/dist/hooks/useAutoMediaMode.d.ts.map +1 -1
- package/dist/hooks/useAutoMediaMode.js +29 -54
- package/dist/hooks/useBusyAnnouncement.d.ts +2 -16
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +13 -20
- package/dist/hooks/useClickableContainer.d.ts +30 -13
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +59 -34
- package/dist/hooks/useContainerReveal.d.ts +9 -36
- package/dist/hooks/useContainerReveal.d.ts.map +1 -1
- package/dist/hooks/useContainerReveal.js +9 -36
- package/dist/hooks/useDevWarning.d.ts.map +1 -1
- package/dist/hooks/useDevWarning.js +3 -8
- package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
- package/dist/hooks/useEntryAnimation.js +1 -3
- 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/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +2 -3
- package/dist/hooks/useHighlightedOptionScroll.d.ts +2 -4
- package/dist/hooks/useHighlightedOptionScroll.d.ts.map +1 -1
- package/dist/hooks/useHighlightedOptionScroll.js +1 -1
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +4 -16
- package/dist/hooks/useImageMode.d.ts.map +1 -1
- package/dist/hooks/useImageMode.js +6 -45
- package/dist/hooks/useIndicatorFocusRing.d.ts.map +1 -1
- package/dist/hooks/useIndicatorFocusRing.js +13 -38
- package/dist/hooks/useInputStatusIcon.d.ts +11 -3
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +21 -35
- package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
- package/dist/hooks/useInteractiveRole.js +6 -24
- package/dist/hooks/useKeyboardHint.d.ts +1 -1
- package/dist/hooks/useKeyboardHint.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +14 -5
- package/dist/hooks/useListFocus.d.ts +29 -0
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +53 -10
- package/dist/hooks/useLongPress.d.ts +21 -0
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +55 -28
- package/dist/hooks/useMenuHover.d.ts.map +1 -1
- package/dist/hooks/useMenuHover.js +38 -52
- package/dist/hooks/useMenuPress.d.ts +33 -40
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +108 -182
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +3 -8
- package/dist/hooks/useRenamedProp.d.ts.map +1 -1
- package/dist/hooks/useRenamedProp.js +8 -17
- package/dist/hooks/useScrollOverflow.d.ts.map +1 -1
- package/dist/hooks/useScrollOverflow.js +9 -27
- package/dist/hooks/useScrollableArea.d.ts +2 -4
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +14 -21
- package/dist/hooks/useSettledOpen.d.ts +16 -0
- package/dist/hooks/useSettledOpen.d.ts.map +1 -0
- package/dist/hooks/useSettledOpen.js +44 -0
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +14 -36
- package/dist/hooks/useTreeFocus.d.ts +11 -1
- package/dist/hooks/useTreeFocus.d.ts.map +1 -1
- package/dist/hooks/useTreeFocus.js +32 -8
- 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/InternationalizationContext.d.ts +1 -1
- package/dist/i18n/InternationalizationContext.js +1 -1
- package/dist/i18n/englishFallback.d.ts +32 -0
- package/dist/i18n/englishFallback.d.ts.map +1 -0
- package/dist/i18n/englishFallback.js +38 -0
- package/dist/i18n/fullEnglishFallback.d.ts +3 -0
- package/dist/i18n/fullEnglishFallback.d.ts.map +1 -0
- package/dist/i18n/fullEnglishFallback.js +26 -0
- package/dist/i18n/generated-english/AlertDialog/AlertDialog.generated.d.ts +8 -0
- package/dist/i18n/generated-english/AlertDialog/AlertDialog.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/AlertDialog/AlertDialog.generated.js +12 -0
- package/dist/i18n/generated-english/AppShell/AppShell.generated.d.ts +8 -0
- package/dist/i18n/generated-english/AppShell/AppShell.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/AppShell/AppShell.generated.js +13 -0
- package/dist/i18n/generated-english/Avatar/Avatar.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Avatar/Avatar.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Avatar/Avatar.generated.js +12 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroup.generated.d.ts +8 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroup.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroup.generated.js +13 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroupOverflow.generated.d.ts +8 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroupOverflow.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/AvatarGroup/AvatarGroupOverflow.generated.js +12 -0
- package/dist/i18n/generated-english/Banner/Banner.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Banner/Banner.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Banner/Banner.generated.js +15 -0
- package/dist/i18n/generated-english/Breadcrumbs/Breadcrumbs.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Breadcrumbs/Breadcrumbs.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Breadcrumbs/Breadcrumbs.generated.js +12 -0
- package/dist/i18n/generated-english/Button/Button.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Button/Button.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Button/Button.generated.js +12 -0
- package/dist/i18n/generated-english/Calendar/Calendar.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Calendar/Calendar.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Calendar/Calendar.generated.js +21 -0
- package/dist/i18n/generated-english/Carousel/Carousel.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Carousel/Carousel.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Carousel/Carousel.generated.js +15 -0
- package/dist/i18n/generated-english/Chat/ChatComposer.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatComposer.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatComposer.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/ChatComposerDrawer.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatComposerDrawer.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatComposerDrawer.generated.js +14 -0
- package/dist/i18n/generated-english/Chat/ChatComposerInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatComposerInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatComposerInput.generated.js +13 -0
- package/dist/i18n/generated-english/Chat/ChatDictationButton.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatDictationButton.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatDictationButton.generated.js +13 -0
- package/dist/i18n/generated-english/Chat/ChatLayout.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatLayout.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatLayout.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/ChatLayoutScrollButton.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatLayoutScrollButton.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatLayoutScrollButton.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/ChatMessage.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatMessage.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatMessage.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/ChatMessageList.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatMessageList.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatMessageList.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/ChatMessageMetadata.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatMessageMetadata.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatMessageMetadata.generated.js +17 -0
- package/dist/i18n/generated-english/Chat/ChatPastedTextToken.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatPastedTextToken.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatPastedTextToken.generated.js +13 -0
- package/dist/i18n/generated-english/Chat/ChatSendButton.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatSendButton.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatSendButton.generated.js +13 -0
- package/dist/i18n/generated-english/Chat/ChatToolCalls.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/ChatToolCalls.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/ChatToolCalls.generated.js +17 -0
- package/dist/i18n/generated-english/Chat/useSpeechRecognition.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/useSpeechRecognition.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/useSpeechRecognition.generated.js +12 -0
- package/dist/i18n/generated-english/Chat/useTriggerMenu.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Chat/useTriggerMenu.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Chat/useTriggerMenu.generated.js +13 -0
- package/dist/i18n/generated-english/CheckboxInput/CheckboxInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CheckboxInput/CheckboxInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CheckboxInput/CheckboxInput.generated.js +12 -0
- package/dist/i18n/generated-english/CheckboxList/CheckboxListItem.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CheckboxList/CheckboxListItem.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CheckboxList/CheckboxListItem.generated.js +12 -0
- package/dist/i18n/generated-english/Citation/Citation.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Citation/Citation.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Citation/Citation.generated.js +12 -0
- package/dist/i18n/generated-english/CodeBlock/CodeBlock.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CodeBlock/CodeBlock.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CodeBlock/CodeBlock.generated.js +14 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPalette.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPalette.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPalette.generated.js +15 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteFooter.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteFooter.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteFooter.generated.js +14 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteInput.generated.js +14 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteList.generated.d.ts +8 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteList.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/CommandPalette/CommandPaletteList.generated.js +12 -0
- package/dist/i18n/generated-english/ComplexSelector/ComplexSelector.generated.d.ts +8 -0
- package/dist/i18n/generated-english/ComplexSelector/ComplexSelector.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/ComplexSelector/ComplexSelector.generated.js +13 -0
- package/dist/i18n/generated-english/ContextMenu/ContextMenu.generated.d.ts +8 -0
- package/dist/i18n/generated-english/ContextMenu/ContextMenu.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/ContextMenu/ContextMenu.generated.js +13 -0
- package/dist/i18n/generated-english/DateInput/DateInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateInput/DateInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateInput/DateInput.generated.js +19 -0
- package/dist/i18n/generated-english/DateInput/NativeDateField.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateInput/NativeDateField.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateInput/NativeDateField.generated.js +16 -0
- package/dist/i18n/generated-english/DateInput/TouchDateField.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateInput/TouchDateField.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateInput/TouchDateField.generated.js +24 -0
- package/dist/i18n/generated-english/DateRangeInput/DateRangeInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateRangeInput/DateRangeInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateRangeInput/DateRangeInput.generated.js +20 -0
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.js +26 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeDateSegment.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeDateSegment.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeDateSegment.generated.js +13 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeTimeSegment.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeTimeSegment.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateTimeInput/NativeTimeSegment.generated.js +12 -0
- package/dist/i18n/generated-english/DateTimeInput/TouchDateTimeField.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateTimeInput/TouchDateTimeField.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateTimeInput/TouchDateTimeField.generated.js +37 -0
- package/dist/i18n/generated-english/Dialog/DialogHeader.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Dialog/DialogHeader.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Dialog/DialogHeader.generated.js +12 -0
- package/dist/i18n/generated-english/Drawer/DrawerHeader.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Drawer/DrawerHeader.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Drawer/DrawerHeader.generated.js +12 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenu.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenu.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenu.generated.js +13 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenuSubMenu.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenuSubMenu.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DropdownMenu/DropdownMenuSubMenu.generated.js +14 -0
- package/dist/i18n/generated-english/Field/FieldLabel.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Field/FieldLabel.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Field/FieldLabel.generated.js +13 -0
- package/dist/i18n/generated-english/Field/InputClearButton.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Field/InputClearButton.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Field/InputClearButton.generated.js +12 -0
- package/dist/i18n/generated-english/FileInput/FileInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/FileInput/FileInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/FileInput/FileInput.generated.js +26 -0
- package/dist/i18n/generated-english/Kbd/Kbd.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Kbd/Kbd.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Kbd/Kbd.generated.js +27 -0
- package/dist/i18n/generated-english/Lightbox/Lightbox.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Lightbox/Lightbox.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Lightbox/Lightbox.generated.js +20 -0
- package/dist/i18n/generated-english/Link/Link.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Link/Link.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Link/Link.generated.js +12 -0
- package/dist/i18n/generated-english/Markdown/Markdown.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Markdown/Markdown.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Markdown/Markdown.generated.js +12 -0
- package/dist/i18n/generated-english/Markdown/plugins/HeadingLinksRenderer.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Markdown/plugins/HeadingLinksRenderer.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Markdown/plugins/HeadingLinksRenderer.generated.js +13 -0
- package/dist/i18n/generated-english/MetadataList/MetadataList.generated.d.ts +8 -0
- package/dist/i18n/generated-english/MetadataList/MetadataList.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/MetadataList/MetadataList.generated.js +13 -0
- package/dist/i18n/generated-english/MobileNav/MobileNav.generated.d.ts +8 -0
- package/dist/i18n/generated-english/MobileNav/MobileNav.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/MobileNav/MobileNav.generated.js +13 -0
- package/dist/i18n/generated-english/MobileNav/MobileNavToggle.generated.d.ts +8 -0
- package/dist/i18n/generated-english/MobileNav/MobileNavToggle.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/MobileNav/MobileNavToggle.generated.js +12 -0
- package/dist/i18n/generated-english/MoreMenu/MoreMenu.generated.d.ts +8 -0
- package/dist/i18n/generated-english/MoreMenu/MoreMenu.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/MoreMenu/MoreMenu.generated.js +12 -0
- package/dist/i18n/generated-english/MultiSelector/MultiSelector.generated.d.ts +8 -0
- package/dist/i18n/generated-english/MultiSelector/MultiSelector.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/MultiSelector/MultiSelector.generated.js +32 -0
- package/dist/i18n/generated-english/NumberInput/NumberInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/NumberInput/NumberInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/NumberInput/NumberInput.generated.js +15 -0
- package/dist/i18n/generated-english/Outline/Outline.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Outline/Outline.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Outline/Outline.generated.js +12 -0
- package/dist/i18n/generated-english/Pagination/Pagination.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Pagination/Pagination.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Pagination/Pagination.generated.js +27 -0
- package/dist/i18n/generated-english/Popover/Popover.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Popover/Popover.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Popover/Popover.generated.js +12 -0
- package/dist/i18n/generated-english/Popover/usePopover.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Popover/usePopover.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Popover/usePopover.generated.js +12 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearch.generated.js +16 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchEditPopover.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchEditPopover.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchEditPopover.generated.js +20 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +23 -0
- package/dist/i18n/generated-english/PowerSearch/formatFilterValue.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/formatFilterValue.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/formatFilterValue.generated.js +15 -0
- package/dist/i18n/generated-english/PowerSearch/usePowerSearchConfig.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/usePowerSearchConfig.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/usePowerSearchConfig.generated.js +32 -0
- package/dist/i18n/generated-english/Resizable/ResizeHandle.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Resizable/ResizeHandle.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Resizable/ResizeHandle.generated.js +13 -0
- package/dist/i18n/generated-english/Selector/Selector.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Selector/Selector.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Selector/Selector.generated.js +24 -0
- package/dist/i18n/generated-english/SideNav/SideNav.generated.d.ts +8 -0
- package/dist/i18n/generated-english/SideNav/SideNav.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/SideNav/SideNav.generated.js +13 -0
- package/dist/i18n/generated-english/SideNav/SideNavCollapseButton.generated.d.ts +8 -0
- package/dist/i18n/generated-english/SideNav/SideNavCollapseButton.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/SideNav/SideNavCollapseButton.generated.js +13 -0
- package/dist/i18n/generated-english/SideNav/SideNavHeading.generated.d.ts +8 -0
- package/dist/i18n/generated-english/SideNav/SideNavHeading.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/SideNav/SideNavHeading.generated.js +13 -0
- package/dist/i18n/generated-english/SideNav/SideNavItem.generated.d.ts +8 -0
- package/dist/i18n/generated-english/SideNav/SideNavItem.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/SideNav/SideNavItem.generated.js +14 -0
- package/dist/i18n/generated-english/Slider/Slider.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Slider/Slider.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Slider/Slider.generated.js +13 -0
- package/dist/i18n/generated-english/Spinner/Spinner.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Spinner/Spinner.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Spinner/Spinner.generated.js +12 -0
- package/dist/i18n/generated-english/Stepper/Step.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Stepper/Step.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Stepper/Step.generated.js +17 -0
- package/dist/i18n/generated-english/Stepper/Stepper.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Stepper/Stepper.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Stepper/Stepper.generated.js +14 -0
- package/dist/i18n/generated-english/Switch/Switch.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Switch/Switch.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Switch/Switch.generated.js +12 -0
- package/dist/i18n/generated-english/TabList/TabList.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TabList/TabList.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TabList/TabList.generated.js +12 -0
- package/dist/i18n/generated-english/Table/BaseTable.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/BaseTable.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/BaseTable.generated.js +12 -0
- package/dist/i18n/generated-english/Table/Table.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/Table.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/Table.generated.js +12 -0
- package/dist/i18n/generated-english/Table/TableSelectionToolbar.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/TableSelectionToolbar.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/TableSelectionToolbar.generated.js +14 -0
- package/dist/i18n/generated-english/Table/plugins/columnResize/useTableColumnResize.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/columnResize/useTableColumnResize.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/columnResize/useTableColumnResize.generated.js +12 -0
- package/dist/i18n/generated-english/Table/plugins/filtering/useTableFiltering.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/filtering/useTableFiltering.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/filtering/useTableFiltering.generated.js +15 -0
- package/dist/i18n/generated-english/Table/plugins/groupedRows/useTableGroupedRows.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/groupedRows/useTableGroupedRows.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/groupedRows/useTableGroupedRows.generated.js +13 -0
- package/dist/i18n/generated-english/Table/plugins/pagination/useTablePagination.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/pagination/useTablePagination.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/pagination/useTablePagination.generated.js +14 -0
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.js +14 -0
- package/dist/i18n/generated-english/Table/plugins/rowStatus/useTableRowStatus.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/rowStatus/useTableRowStatus.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/rowStatus/useTableRowStatus.generated.js +12 -0
- package/dist/i18n/generated-english/Table/plugins/selection/useTableSelection.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/selection/useTableSelection.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/selection/useTableSelection.generated.js +14 -0
- package/dist/i18n/generated-english/Table/plugins/sortable/useTableSortable.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/sortable/useTableSortable.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/sortable/useTableSortable.generated.js +15 -0
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.js +15 -0
- package/dist/i18n/generated-english/TextArea/TextArea.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TextArea/TextArea.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TextArea/TextArea.generated.js +15 -0
- package/dist/i18n/generated-english/TextInput/TextInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TextInput/TextInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TextInput/TextInput.generated.js +13 -0
- package/dist/i18n/generated-english/Thumbnail/Thumbnail.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Thumbnail/Thumbnail.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Thumbnail/Thumbnail.generated.js +15 -0
- package/dist/i18n/generated-english/TimeInput/TimeInput.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TimeInput/TimeInput.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TimeInput/TimeInput.generated.js +18 -0
- package/dist/i18n/generated-english/TimeInput/TouchTimeField.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TimeInput/TouchTimeField.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TimeInput/TouchTimeField.generated.js +22 -0
- package/dist/i18n/generated-english/Timestamp/Timestamp.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Timestamp/Timestamp.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Timestamp/Timestamp.generated.js +12 -0
- package/dist/i18n/generated-english/Timestamp/TimestampHoverCard.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Timestamp/TimestampHoverCard.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Timestamp/TimestampHoverCard.generated.js +14 -0
- package/dist/i18n/generated-english/Toast/Toast.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Toast/Toast.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Toast/Toast.generated.js +12 -0
- package/dist/i18n/generated-english/Toast/ToastViewport.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Toast/ToastViewport.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Toast/ToastViewport.generated.js +12 -0
- package/dist/i18n/generated-english/Token/Token.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Token/Token.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Token/Token.generated.js +12 -0
- package/dist/i18n/generated-english/Tokenizer/Tokenizer.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Tokenizer/Tokenizer.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Tokenizer/Tokenizer.generated.js +18 -0
- package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.js +30 -0
- package/dist/i18n/generated-english/TopNav/TopNav.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TopNav/TopNav.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TopNav/TopNav.generated.js +12 -0
- package/dist/i18n/generated-english/TopNav/TopNavHeading.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TopNav/TopNavHeading.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TopNav/TopNavHeading.generated.js +13 -0
- package/dist/i18n/generated-english/TreeList/TreeListItem.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TreeList/TreeListItem.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TreeList/TreeListItem.generated.js +12 -0
- package/dist/i18n/generated-english/Typeahead/BaseTypeahead.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Typeahead/BaseTypeahead.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Typeahead/BaseTypeahead.generated.js +16 -0
- package/dist/i18n/generated-english/Typeahead/Typeahead.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Typeahead/Typeahead.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Typeahead/Typeahead.generated.js +13 -0
- package/dist/i18n/generated-english/hooks/useInputStatusIcon.generated.d.ts +8 -0
- package/dist/i18n/generated-english/hooks/useInputStatusIcon.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/hooks/useInputStatusIcon.generated.js +14 -0
- package/dist/i18n/generated-english/hooks/useKeyboardHint.generated.d.ts +8 -0
- package/dist/i18n/generated-english/hooks/useKeyboardHint.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/hooks/useKeyboardHint.generated.js +12 -0
- package/dist/i18n/generated-locales/af-ZA.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/af-ZA.generated.js +2 -2
- package/dist/i18n/generated-locales/ar-SA.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ar-SA.generated.js +2 -2
- package/dist/i18n/generated-locales/ca-ES.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ca-ES.generated.js +2 -2
- package/dist/i18n/generated-locales/cs-CZ.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/cs-CZ.generated.js +2 -2
- package/dist/i18n/generated-locales/da-DK.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/da-DK.generated.js +2 -2
- package/dist/i18n/generated-locales/de-DE.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/de-DE.generated.js +2 -2
- package/dist/i18n/generated-locales/el-GR.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/el-GR.generated.js +2 -2
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +11 -2
- package/dist/i18n/generated-locales/es-ES.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/es-ES.generated.js +2 -2
- package/dist/i18n/generated-locales/fi-FI.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/fi-FI.generated.js +2 -2
- package/dist/i18n/generated-locales/fr-FR.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/fr-FR.generated.js +2 -2
- package/dist/i18n/generated-locales/he-IL.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/he-IL.generated.js +2 -2
- package/dist/i18n/generated-locales/hu-HU.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/hu-HU.generated.js +2 -2
- package/dist/i18n/generated-locales/it-IT.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/it-IT.generated.js +2 -2
- package/dist/i18n/generated-locales/ja-JP.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ja-JP.generated.js +2 -2
- package/dist/i18n/generated-locales/ko-KR.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ko-KR.generated.js +2 -2
- package/dist/i18n/generated-locales/nl-NL.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/nl-NL.generated.js +2 -2
- package/dist/i18n/generated-locales/no-NO.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/no-NO.generated.js +2 -2
- package/dist/i18n/generated-locales/pl-PL.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pl-PL.generated.js +2 -2
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +11 -2
- package/dist/i18n/generated-locales/pt-BR.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pt-BR.generated.js +2 -2
- package/dist/i18n/generated-locales/pt-PT.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pt-PT.generated.js +2 -2
- package/dist/i18n/generated-locales/ro-RO.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ro-RO.generated.js +2 -2
- package/dist/i18n/generated-locales/ru-RU.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/ru-RU.generated.js +2 -2
- package/dist/i18n/generated-locales/sr-SP.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/sr-SP.generated.js +2 -2
- package/dist/i18n/generated-locales/sv-SE.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/sv-SE.generated.js +2 -2
- package/dist/i18n/generated-locales/tr-TR.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/tr-TR.generated.js +2 -2
- package/dist/i18n/generated-locales/uk-UA.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/uk-UA.generated.js +2 -2
- package/dist/i18n/generated-locales/vi-VN.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/vi-VN.generated.js +2 -2
- package/dist/i18n/generated-locales/zh-CN.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/zh-CN.generated.js +2 -2
- package/dist/i18n/generated-locales/zh-TW.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/zh-TW.generated.js +2 -2
- package/dist/i18n/index.d.ts +6 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +6 -1
- package/dist/i18n/publicContext.d.ts +2 -0
- package/dist/i18n/publicContext.d.ts.map +1 -0
- package/dist/i18n/publicContext.js +26 -0
- package/dist/i18n/resolve.d.ts +6 -2
- package/dist/i18n/resolve.d.ts.map +1 -1
- package/dist/i18n/resolve.js +12 -4
- package/dist/i18n/useComponentTranslator.d.ts +8 -0
- package/dist/i18n/useComponentTranslator.d.ts.map +1 -0
- package/dist/i18n/useComponentTranslator.js +42 -0
- package/dist/i18n/useTranslator.d.ts.map +1 -1
- package/dist/i18n/useTranslator.js +7 -1
- package/dist/motion/animatedLayout.d.ts +130 -5
- package/dist/motion/animatedLayout.d.ts.map +1 -1
- package/dist/motion/animatedLayout.js +867 -47
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +197 -5
- package/dist/motion/presentation.d.ts +44 -0
- package/dist/motion/presentation.d.ts.map +1 -0
- package/dist/motion/presentation.js +127 -0
- package/dist/motion/uikit/gestures.d.ts +9 -18
- package/dist/motion/uikit/gestures.d.ts.map +1 -1
- package/dist/motion/uikit/gestures.js +14 -9
- package/dist/motion/uikit/index.d.ts +1 -1
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +1 -1
- package/dist/motion/uikit/longPress.d.ts +26 -0
- package/dist/motion/uikit/longPress.d.ts.map +1 -0
- package/dist/motion/uikit/longPress.js +29 -0
- package/dist/motion/uikit/springs.d.ts +18 -0
- package/dist/motion/uikit/springs.d.ts.map +1 -1
- package/dist/motion/uikit/springs.js +20 -1
- package/dist/privateAttributes/hapticSwitch.stylex.d.ts +5 -0
- package/dist/privateAttributes/hapticSwitch.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/hapticSwitch.stylex.js +27 -0
- package/dist/privateAttributes/layerRoot.stylex.d.ts +9 -0
- package/dist/privateAttributes/layerRoot.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/layerRoot.stylex.js +28 -0
- 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/accessibleName.d.ts +8 -0
- package/dist/utils/accessibleName.d.ts.map +1 -0
- package/dist/utils/accessibleName.js +72 -0
- package/dist/utils/clickGuard.d.ts +33 -0
- package/dist/utils/clickGuard.d.ts.map +1 -0
- package/dist/utils/clickGuard.js +141 -0
- package/dist/utils/coarsePointer.d.ts +8 -0
- package/dist/utils/coarsePointer.d.ts.map +1 -0
- package/dist/utils/coarsePointer.js +45 -0
- package/dist/utils/devWarning.d.ts.map +1 -1
- package/dist/utils/devWarning.js +4 -9
- package/dist/utils/flatTree.d.ts +17 -0
- package/dist/utils/flatTree.d.ts.map +1 -0
- package/dist/utils/flatTree.js +38 -0
- package/dist/utils/focusOutline.stylex.d.ts +0 -16
- package/dist/utils/focusOutline.stylex.d.ts.map +1 -1
- package/dist/utils/focusOutline.stylex.js +7 -16
- package/dist/utils/focusReturn.d.ts +41 -7
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +60 -8
- package/dist/utils/getNodeText.d.ts.map +1 -1
- package/dist/utils/getNodeText.js +2 -1
- package/dist/utils/hitArea.d.ts.map +1 -1
- package/dist/utils/hitArea.js +14 -17
- package/dist/utils/ime.d.ts.map +1 -1
- package/dist/utils/ime.js +23 -51
- package/dist/utils/inputPresentation.d.ts +5 -5
- package/dist/utils/inputPresentation.d.ts.map +1 -1
- package/dist/utils/inputPresentation.js +5 -5
- package/dist/utils/inputStream.d.ts +17 -0
- package/dist/utils/inputStream.d.ts.map +1 -0
- package/dist/utils/inputStream.js +136 -0
- package/dist/utils/interactionModality.d.ts +49 -7
- package/dist/utils/interactionModality.d.ts.map +1 -1
- package/dist/utils/interactionModality.js +133 -66
- package/dist/utils/interactionOverlay.stylex.d.ts +26 -92
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +58 -85
- package/dist/utils/plainDate.d.ts +9 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +26 -1
- package/dist/utils/presentation.d.ts +3 -4
- package/dist/utils/presentation.d.ts.map +1 -1
- package/dist/utils/presentation.js +30 -45
- 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 +117 -112
- package/dist/utils/pressGesture.d.ts.map +1 -1
- package/dist/utils/pressGesture.js +11 -21
- package/dist/utils/rtlStyles.d.ts +0 -24
- package/dist/utils/rtlStyles.d.ts.map +1 -1
- package/dist/utils/rtlStyles.js +13 -24
- package/dist/utils/selectionLock.d.ts +13 -0
- package/dist/utils/selectionLock.d.ts.map +1 -0
- package/dist/utils/selectionLock.js +159 -0
- package/dist/utils/sharedMutationObserver.d.ts +2 -2
- package/dist/utils/sharedMutationObserver.js +2 -2
- package/dist/utils/standaloneMonthCapitals.generated.d.ts +7 -0
- package/dist/utils/standaloneMonthCapitals.generated.d.ts.map +1 -0
- package/dist/utils/standaloneMonthCapitals.generated.js +9 -0
- package/dist/utils/timeFormat.d.ts +5 -13
- package/dist/utils/timeFormat.d.ts.map +1 -1
- package/dist/utils/timeFormat.js +5 -13
- package/dist/utils/touchPresentation.d.ts +6 -11
- package/dist/utils/touchPresentation.d.ts.map +1 -1
- package/dist/utils/touchPresentation.js +37 -62
- package/dist/utils/touchPresentation.stylex.d.ts +1 -1
- package/dist/utils/touchPresentation.stylex.d.ts.map +1 -1
- package/dist/utils/touchPresentation.stylex.js +7 -13
- package/dist/utils/touchQueries.d.ts +17 -1
- package/dist/utils/touchQueries.d.ts.map +1 -1
- package/dist/utils/touchQueries.js +20 -2
- package/dist/utils/typeaheadMatch.d.ts +24 -0
- package/dist/utils/typeaheadMatch.d.ts.map +1 -0
- package/dist/utils/typeaheadMatch.js +113 -0
- package/dist/utils/useFocusLeavingChange.d.ts +13 -0
- package/dist/utils/useFocusLeavingChange.d.ts.map +1 -0
- package/dist/utils/useFocusLeavingChange.js +48 -0
- package/locales/af-ZA.json +2 -2
- package/locales/ar-SA.json +2 -2
- package/locales/ca-ES.json +2 -2
- package/locales/cs-CZ.json +2 -2
- package/locales/da-DK.json +2 -2
- package/locales/de-DE.json +2 -2
- package/locales/el-GR.json +2 -2
- package/locales/en.json +41 -5
- package/locales/es-ES.json +2 -2
- package/locales/fi-FI.json +2 -2
- package/locales/fr-FR.json +2 -2
- package/locales/he-IL.json +2 -2
- package/locales/hu-HU.json +2 -2
- package/locales/it-IT.json +2 -2
- package/locales/ja-JP.json +2 -2
- package/locales/ko-KR.json +2 -2
- package/locales/nl-NL.json +2 -2
- package/locales/no-NO.json +2 -2
- package/locales/pl-PL.json +2 -2
- package/locales/pseudo.json +29 -2
- package/locales/pt-BR.json +2 -2
- package/locales/pt-PT.json +2 -2
- package/locales/ro-RO.json +2 -2
- package/locales/ru-RU.json +2 -2
- package/locales/sr-SP.json +2 -2
- package/locales/sv-SE.json +2 -2
- package/locales/tr-TR.json +2 -2
- package/locales/uk-UA.json +2 -2
- package/locales/vi-VN.json +2 -2
- package/locales/zh-CN.json +2 -2
- package/locales/zh-TW.json +2 -2
- package/package.json +6 -5
- package/src/AlertDialog/AlertDialog.tsx +8 -2
- package/src/AppShell/AppShell.tsx +73 -57
- package/src/Avatar/Avatar.tsx +10 -3
- package/src/AvatarGroup/AvatarGroup.tsx +8 -2
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +9 -3
- package/src/Banner/Banner.tsx +12 -2
- package/src/BottomSheet/BottomSheet.tsx +106 -104
- package/src/BottomSheet/BottomSheetEdgeTint.tsx +10 -21
- package/src/BottomSheet/BottomSheetHostContext.ts +6 -10
- package/src/BottomSheet/BottomSheetPanel.tsx +109 -86
- package/src/BottomSheet/BottomSheetSwitcher.tsx +64 -78
- package/src/BottomSheet/BottomSheetSwitcherContext.ts +8 -0
- package/src/BottomSheet/bottomSheetEscape.ts +3 -3
- package/src/BottomSheet/bottomSheetStack.ts +42 -96
- package/src/BottomSheet/useMobileKeyboard.ts +63 -24
- package/src/BottomSheet/useSheetGestures.ts +138 -108
- package/src/Breadcrumbs/BreadcrumbItem.tsx +2 -1
- package/src/Breadcrumbs/Breadcrumbs.tsx +8 -2
- package/src/Button/Button.tsx +19 -6
- package/src/Calendar/Calendar.tsx +21 -13
- package/src/Calendar/hooks/useCalendarNavigation.ts +9 -10
- package/src/Carousel/Carousel.tsx +8 -2
- package/src/Center/Center.tsx +1 -1
- package/src/Chat/ChatComposer.tsx +14 -11
- package/src/Chat/ChatComposerDrawer.tsx +9 -3
- package/src/Chat/ChatComposerInput.tsx +18 -3
- package/src/Chat/ChatDictationButton.tsx +8 -2
- package/src/Chat/ChatLayout.tsx +9 -8
- package/src/Chat/ChatLayoutScrollButton.tsx +8 -2
- package/src/Chat/ChatMessage.tsx +21 -5
- package/src/Chat/ChatMessageList.tsx +9 -2
- package/src/Chat/ChatMessageMetadata.tsx +8 -2
- package/src/Chat/ChatPastedTextToken.tsx +23 -6
- package/src/Chat/ChatSendButton.tsx +8 -2
- package/src/Chat/ChatSystemMessage.tsx +4 -1
- package/src/Chat/ChatToolCalls.tsx +15 -4
- package/src/Chat/chatMessage.vars.stylex.ts +18 -0
- package/src/Chat/useSpeechRecognition.ts +9 -2
- package/src/Chat/useTriggerMenu.tsx +46 -33
- package/src/CheckboxInput/CheckboxInput.tsx +8 -2
- package/src/CheckboxList/CheckboxList.tsx +7 -1
- package/src/CheckboxList/CheckboxListContext.tsx +8 -0
- package/src/CheckboxList/CheckboxListItem.tsx +16 -4
- package/src/Citation/Citation.tsx +8 -2
- package/src/Code/Code.tsx +1 -1
- package/src/CodeBlock/CodeBlock.tsx +14 -4
- package/src/Collapsible/Collapsible.tsx +33 -4
- package/src/CommandPalette/CommandPalette.tsx +28 -8
- package/src/CommandPalette/CommandPaletteEmpty.tsx +2 -0
- package/src/CommandPalette/CommandPaletteFooter.tsx +8 -2
- package/src/CommandPalette/CommandPaletteInput.tsx +13 -10
- package/src/CommandPalette/CommandPaletteList.tsx +8 -2
- package/src/ComplexSelector/ComplexSelector.tsx +11 -4
- package/src/ContextMenu/ContextMenu.tsx +38 -8
- package/src/DateInput/DateInput.tsx +86 -25
- package/src/DateInput/MonthScroller.tsx +2 -3
- package/src/DateInput/NativeDateField.tsx +11 -15
- package/src/DateInput/TouchDateField.tsx +13 -18
- package/src/DateRangeInput/DateRangeInput.tsx +13 -17
- package/src/DateTimeInput/DateTimeInput.tsx +56 -38
- package/src/DateTimeInput/NativeDateSegment.tsx +9 -2
- package/src/DateTimeInput/NativeTimeSegment.tsx +9 -2
- package/src/DateTimeInput/TouchDateTimeField.tsx +14 -18
- package/src/Dialog/Dialog.tsx +36 -28
- package/src/Dialog/DialogHeader.tsx +8 -2
- package/src/Drawer/Drawer.tsx +32 -4
- package/src/Drawer/DrawerHeader.tsx +8 -2
- package/src/DropdownMenu/DropdownMenu.doc.mjs +2 -2
- package/src/DropdownMenu/DropdownMenu.tsx +38 -87
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +2 -2
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +15 -5
- package/src/DropdownMenu/DropdownMenuItem.tsx +7 -1
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +2 -2
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +16 -6
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +19 -6
- package/src/DropdownMenu/MenuBottomSheetActionList.tsx +6 -3
- package/src/Field/Field.tsx +2 -2
- package/src/Field/FieldLabel.tsx +13 -25
- package/src/Field/InputClearButton.tsx +9 -3
- package/src/Field/PanelSearchInput.tsx +7 -8
- package/src/Field/fieldStatusPlacement.ts +18 -0
- package/src/Field/index.ts +4 -1
- package/src/Field/inputDisabledFocus.ts +62 -4
- package/src/Field/inputStyles.stylex.ts +46 -9
- package/src/Field/textEntryTraits.ts +116 -0
- package/src/FieldStatus/FieldStatus.tsx +28 -3
- package/src/FieldStatus/index.ts +7 -0
- package/src/FileInput/FileInput.doc.mjs +3 -3
- package/src/FileInput/FileInput.tsx +42 -10
- package/src/Grid/Grid.doc.mjs +4 -4
- package/src/Grid/Grid.tsx +6 -4
- package/src/Grid/GridSpan.doc.mjs +51 -2
- package/src/Grid/GridSpan.tsx +2 -0
- package/src/HStack/HStack.tsx +2 -1
- package/src/Heading/Heading.tsx +5 -3
- package/src/HoverCard/HoverCard.doc.mjs +61 -10
- package/src/HoverCard/HoverCard.tsx +8 -5
- package/src/HoverCard/useHoverCard.doc.mjs +1 -1
- package/src/HoverCard/useHoverCard.tsx +10 -2
- package/src/InputGroup/groupStyles.ts +9 -2
- package/src/Item/Item.tsx +5 -5
- package/src/Item/ItemSwipeLayer.tsx +8 -1
- package/src/Kbd/Kbd.tsx +12 -3
- package/src/Layer/layerClickBoundary.ts +97 -0
- package/src/Layer/layerStructureReset.stylex.ts +5 -0
- package/src/Layer/layerSurfacePress.ts +35 -0
- package/src/Layer/outsidePress.ts +179 -0
- package/src/Layer/useLayer.tsx +32 -6
- package/src/Layer/useTouchTrigger.ts +106 -17
- package/src/Layout/LayoutSlotsContext.ts +4 -2
- package/src/Layout/layoutReset.ts +45 -0
- package/src/Lightbox/Lightbox.tsx +19 -7
- package/src/Link/Link.tsx +8 -2
- package/src/Markdown/Markdown.tsx +10 -2
- package/src/Markdown/plugins/HeadingLinksRenderer.tsx +8 -2
- package/src/MetadataList/MetadataList.tsx +13 -5
- package/src/MetadataList/MetadataListItem.tsx +2 -1
- package/src/MobileNav/MobileNav.tsx +15 -3
- package/src/MobileNav/MobileNavToggle.tsx +8 -2
- package/src/MoreMenu/MoreMenu.tsx +8 -2
- package/src/MultiSelector/MultiSelector.tsx +48 -49
- package/src/MultiSelector/hooks.ts +7 -5
- package/src/NavMenu/NavHeadingMenuItem.tsx +2 -1
- package/src/NumberInput/NumberInput.tsx +11 -4
- package/src/Outline/Outline.tsx +8 -2
- package/src/OverflowList/OverflowList.tsx +2 -1
- package/src/Pagination/Pagination.tsx +9 -2
- package/src/Popover/Popover.tsx +10 -4
- package/src/Popover/usePopover.tsx +15 -4
- package/src/PowerSearch/PowerSearch.tsx +12 -4
- package/src/PowerSearch/PowerSearchEditPopover.tsx +10 -4
- package/src/PowerSearch/PowerSearchToken.tsx +2 -2
- package/src/PowerSearch/PowerSearchValueEditor.tsx +20 -13
- package/src/PowerSearch/formatFilterValue.ts +4 -0
- package/src/PowerSearch/resolveOperatorLabel.ts +7 -1
- package/src/PowerSearch/usePowerSearchConfig.ts +4 -0
- package/src/PowerSearch/usePowerSearchSource.ts +2 -2
- package/src/ProgressBar/ProgressBar.tsx +3 -1
- package/src/RadioList/RadioList.tsx +13 -2
- package/src/RadioList/RadioListItem.tsx +9 -1
- package/src/RadioList/RadioListReasonContext.ts +25 -0
- package/src/Resizable/ResizeHandle.tsx +8 -2
- package/src/Resizable/resizableModel.ts +364 -0
- package/src/Resizable/useResizable.ts +17 -348
- package/src/SegmentedControl/SegmentedControl.doc.mjs +5 -5
- package/src/SegmentedControl/SegmentedControl.tsx +58 -30
- package/src/SegmentedControl/SegmentedControlContext.ts +4 -5
- package/src/SegmentedControl/SegmentedControlItem.doc.mjs +1 -1
- package/src/SegmentedControl/SegmentedControlItem.tsx +12 -14
- package/src/SelectableCard/SelectableCard.tsx +66 -1
- package/src/Selector/Selector.tsx +17 -21
- package/src/Selector/useSelectorPresentation.ts +8 -1
- package/src/SideNav/SideNav.tsx +230 -33
- package/src/SideNav/SideNavCollapseButton.tsx +26 -4
- package/src/SideNav/SideNavFocusTargetsContext.ts +29 -0
- package/src/SideNav/SideNavHeading.tsx +33 -16
- package/src/SideNav/SideNavItem.tsx +29 -6
- package/src/SideNav/SideNavSection.tsx +2 -1
- package/src/SideNav/railMotion.ts +73 -179
- package/src/Slider/Slider.tsx +15 -12
- package/src/Spinner/Spinner.tsx +9 -3
- package/src/Stack/Stack.doc.mjs +83 -11
- package/src/Stack/Stack.tsx +1 -1
- package/src/Stack/stack.stylex.ts +1 -1
- package/src/Stepper/Step.tsx +8 -2
- package/src/Stepper/Stepper.tsx +8 -2
- package/src/Switch/Switch.tsx +9 -3
- package/src/TabList/TabList.tsx +8 -2
- package/src/Table/BaseTable.tsx +18 -8
- package/src/Table/Table.tsx +8 -2
- package/src/Table/TableSelectionToolbar.tsx +8 -2
- package/src/Table/glidingDivider.ts +8 -3
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +8 -2
- package/src/Table/plugins/filtering/useTableFiltering.tsx +16 -9
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +8 -2
- package/src/Table/plugins/pagination/useTablePagination.tsx +8 -2
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +10 -4
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +8 -2
- package/src/Table/plugins/selection/useTableSelection.tsx +9 -3
- package/src/Table/plugins/sortable/useTableSortable.tsx +12 -4
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
- package/src/Table/plugins/tree/useTableTreeData.tsx +10 -4
- package/src/Text/Heading.doc.mjs +52 -3
- package/src/Text/Text.doc.mjs +1 -1
- package/src/Text/text.stylex.ts +12 -0
- package/src/TextArea/TextArea.doc.mjs +65 -1
- package/src/TextArea/TextArea.tsx +38 -11
- package/src/TextInput/TextInput.doc.mjs +70 -6
- package/src/TextInput/TextInput.tsx +55 -13
- package/src/Thumbnail/Thumbnail.tsx +8 -2
- package/src/TimeInput/TimeInput.tsx +13 -17
- package/src/TimeInput/TouchTimeField.tsx +12 -15
- package/src/Timer/Timer.tsx +1 -1
- package/src/Timestamp/Timestamp.tsx +8 -2
- package/src/Timestamp/TimestampHoverCard.tsx +8 -2
- package/src/Toast/Toast.tsx +10 -2
- package/src/Toast/ToastViewport.tsx +12 -3
- package/src/Toast/useToast.tsx +8 -3
- package/src/ToggleButton/ToggleButton.tsx +10 -3
- package/src/Token/Token.tsx +10 -2
- package/src/Token/TokenLink.tsx +16 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -11
- package/src/Tokenizer/Tokenizer.tsx +117 -70
- package/src/Tokenizer/TokenizerBottomSheet.tsx +9 -3
- package/src/Tooltip/Tooltip.doc.mjs +3 -3
- package/src/Tooltip/Tooltip.tsx +4 -3
- package/src/Tooltip/useTooltip.doc.mjs +3 -3
- package/src/Tooltip/useTooltip.tsx +58 -15
- package/src/TopNav/TopNav.tsx +24 -13
- package/src/TopNav/TopNavHeading.tsx +31 -12
- package/src/TopNav/TopNavMegaMenu.tsx +4 -3
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
- package/src/TopNav/TopNavMegaMenuItem.tsx +7 -2
- package/src/TopNav/TopNavMenu.tsx +2 -1
- package/src/TreeList/TreeList.tsx +91 -11
- package/src/TreeList/TreeListItem.tsx +13 -5
- package/src/Typeahead/BaseTypeahead.doc.mjs +7 -4
- package/src/Typeahead/BaseTypeahead.tsx +523 -68
- package/src/Typeahead/Typeahead.doc.mjs +24 -6
- package/src/Typeahead/Typeahead.tsx +27 -15
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/committedChoicesKey.tsx +37 -0
- package/src/Typeahead/index.ts +1 -1
- package/src/Typeahead/types.ts +27 -3
- package/src/gestures/GestureArena.ts +91 -38
- package/src/gestures/GestureHost.ts +1561 -561
- package/src/gestures/GestureRecognizer.ts +69 -18
- package/src/gestures/LongPressGestureRecognizer.ts +20 -1
- package/src/gestures/PanGestureRecognizer.ts +35 -0
- package/src/gestures/PinchGestureRecognizer.ts +13 -8
- package/src/gestures/PressTracker.ts +55 -8
- package/src/gestures/README.md +313 -51
- package/src/gestures/TapGestureRecognizer.ts +5 -0
- package/src/gestures/VelocityTracker.ts +35 -0
- package/src/gestures/fingerScroll.ts +208 -0
- package/src/gestures/gestureSync.ts +60 -0
- package/src/gestures/haptics.ts +9 -13
- package/src/gestures/hostRegistry.ts +18 -0
- package/src/gestures/index.ts +6 -5
- package/src/gestures/nativeScroll.ts +6 -20
- package/src/gestures/pageHold.ts +265 -0
- package/src/gestures/recognizerInternals.ts +77 -0
- package/src/gestures/selectionLock.ts +12 -0
- package/src/gestures/touchAction.ts +12 -24
- package/src/gestures/types.ts +18 -0
- package/src/gestures/useFingerScroll.ts +78 -0
- package/src/gestures/useGestureRecognizer.ts +70 -209
- package/src/gestures/usePressTracker.ts +212 -0
- package/src/hooks/ModalAnnounceProvider.tsx +19 -19
- package/src/hooks/actionGroupTracker.ts +23 -55
- package/src/hooks/menuPressGesture.ts +25 -30
- package/src/hooks/menuPressMarker.ts +15 -0
- package/src/hooks/menuPressOnItems.ts +7 -9
- package/src/hooks/modalAnnounce.ts +20 -39
- package/src/hooks/scrollbarGutter.ts +9 -16
- package/src/hooks/useAnimatedLayout.ts +2 -3
- package/src/hooks/useAnnounce.ts +65 -106
- package/src/hooks/useAnnounceRenderedText.ts +32 -53
- package/src/hooks/useAttachment.ts +59 -0
- package/src/hooks/useAutoMediaMode.ts +29 -54
- package/src/hooks/useBusyAnnouncement.ts +13 -20
- package/src/hooks/useClickableContainer.ts +66 -34
- package/src/hooks/useContainerReveal.ts +9 -36
- package/src/hooks/useDevWarning.ts +3 -8
- package/src/hooks/useEntryAnimation.ts +1 -3
- package/src/hooks/useFocusReturnVisibility.ts +15 -12
- package/src/hooks/useFocusTrap.ts +2 -8
- package/src/hooks/useHighlightedOptionScroll.ts +2 -4
- package/src/hooks/useHotkeys.ts +4 -16
- package/src/hooks/useImageMode.ts +6 -43
- package/src/hooks/useIndicatorFocusRing.tsx +13 -38
- package/src/hooks/useInputStatusIcon.tsx +29 -42
- package/src/hooks/useInteractiveRole.ts +6 -22
- package/src/hooks/useKeyboardHint.tsx +16 -4
- package/src/hooks/useListFocus.ts +87 -8
- package/src/hooks/useLongPress.ts +69 -28
- package/src/hooks/useMenuHover.ts +38 -52
- package/src/hooks/useMenuPress.ts +117 -186
- package/src/hooks/useOverflow.ts +3 -8
- package/src/hooks/useRenamedProp.ts +8 -17
- package/src/hooks/useScrollOverflow.ts +9 -27
- package/src/hooks/useScrollableArea.ts +14 -21
- package/src/hooks/useSettledOpen.ts +51 -0
- package/src/hooks/useStreamingText.ts +14 -33
- package/src/hooks/useTreeFocus.doc.mjs +2 -2
- package/src/hooks/useTreeFocus.ts +49 -13
- package/src/hooks/useTypeahead.doc.mjs +2 -2
- package/src/hooks/useTypeahead.ts +21 -20
- package/src/i18n/InternationalizationContext.ts +1 -1
- package/src/i18n/englishFallback.ts +40 -0
- package/src/i18n/fullEnglishFallback.ts +26 -0
- package/src/i18n/generated-english/AlertDialog/AlertDialog.generated.ts +13 -0
- package/src/i18n/generated-english/AppShell/AppShell.generated.ts +14 -0
- package/src/i18n/generated-english/Avatar/Avatar.generated.ts +13 -0
- package/src/i18n/generated-english/AvatarGroup/AvatarGroup.generated.ts +14 -0
- package/src/i18n/generated-english/AvatarGroup/AvatarGroupOverflow.generated.ts +13 -0
- package/src/i18n/generated-english/Banner/Banner.generated.ts +16 -0
- package/src/i18n/generated-english/Breadcrumbs/Breadcrumbs.generated.ts +13 -0
- package/src/i18n/generated-english/Button/Button.generated.ts +13 -0
- package/src/i18n/generated-english/Calendar/Calendar.generated.ts +22 -0
- package/src/i18n/generated-english/Carousel/Carousel.generated.ts +16 -0
- package/src/i18n/generated-english/Chat/ChatComposer.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/ChatComposerDrawer.generated.ts +15 -0
- package/src/i18n/generated-english/Chat/ChatComposerInput.generated.ts +14 -0
- package/src/i18n/generated-english/Chat/ChatDictationButton.generated.ts +14 -0
- package/src/i18n/generated-english/Chat/ChatLayout.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/ChatLayoutScrollButton.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/ChatMessage.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/ChatMessageList.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/ChatMessageMetadata.generated.ts +18 -0
- package/src/i18n/generated-english/Chat/ChatPastedTextToken.generated.ts +14 -0
- package/src/i18n/generated-english/Chat/ChatSendButton.generated.ts +14 -0
- package/src/i18n/generated-english/Chat/ChatToolCalls.generated.ts +18 -0
- package/src/i18n/generated-english/Chat/useSpeechRecognition.generated.ts +13 -0
- package/src/i18n/generated-english/Chat/useTriggerMenu.generated.ts +14 -0
- package/src/i18n/generated-english/CheckboxInput/CheckboxInput.generated.ts +13 -0
- package/src/i18n/generated-english/CheckboxList/CheckboxListItem.generated.ts +13 -0
- package/src/i18n/generated-english/Citation/Citation.generated.ts +13 -0
- package/src/i18n/generated-english/CodeBlock/CodeBlock.generated.ts +15 -0
- package/src/i18n/generated-english/CommandPalette/CommandPalette.generated.ts +16 -0
- package/src/i18n/generated-english/CommandPalette/CommandPaletteFooter.generated.ts +15 -0
- package/src/i18n/generated-english/CommandPalette/CommandPaletteInput.generated.ts +15 -0
- package/src/i18n/generated-english/CommandPalette/CommandPaletteList.generated.ts +13 -0
- package/src/i18n/generated-english/ComplexSelector/ComplexSelector.generated.ts +14 -0
- package/src/i18n/generated-english/ContextMenu/ContextMenu.generated.ts +14 -0
- package/src/i18n/generated-english/DateInput/DateInput.generated.ts +20 -0
- package/src/i18n/generated-english/DateInput/NativeDateField.generated.ts +17 -0
- package/src/i18n/generated-english/DateInput/TouchDateField.generated.ts +25 -0
- package/src/i18n/generated-english/DateRangeInput/DateRangeInput.generated.ts +21 -0
- package/src/i18n/generated-english/DateTimeInput/DateTimeInput.generated.ts +27 -0
- package/src/i18n/generated-english/DateTimeInput/NativeDateSegment.generated.ts +14 -0
- package/src/i18n/generated-english/DateTimeInput/NativeTimeSegment.generated.ts +13 -0
- package/src/i18n/generated-english/DateTimeInput/TouchDateTimeField.generated.ts +38 -0
- package/src/i18n/generated-english/Dialog/DialogHeader.generated.ts +13 -0
- package/src/i18n/generated-english/Drawer/DrawerHeader.generated.ts +13 -0
- package/src/i18n/generated-english/DropdownMenu/DropdownMenu.generated.ts +14 -0
- package/src/i18n/generated-english/DropdownMenu/DropdownMenuSubMenu.generated.ts +15 -0
- package/src/i18n/generated-english/Field/FieldLabel.generated.ts +14 -0
- package/src/i18n/generated-english/Field/InputClearButton.generated.ts +13 -0
- package/src/i18n/generated-english/FileInput/FileInput.generated.ts +27 -0
- package/src/i18n/generated-english/Kbd/Kbd.generated.ts +28 -0
- package/src/i18n/generated-english/Lightbox/Lightbox.generated.ts +21 -0
- package/src/i18n/generated-english/Link/Link.generated.ts +13 -0
- package/src/i18n/generated-english/Markdown/Markdown.generated.ts +13 -0
- package/src/i18n/generated-english/Markdown/plugins/HeadingLinksRenderer.generated.ts +14 -0
- package/src/i18n/generated-english/MetadataList/MetadataList.generated.ts +14 -0
- package/src/i18n/generated-english/MobileNav/MobileNav.generated.ts +14 -0
- package/src/i18n/generated-english/MobileNav/MobileNavToggle.generated.ts +13 -0
- package/src/i18n/generated-english/MoreMenu/MoreMenu.generated.ts +13 -0
- package/src/i18n/generated-english/MultiSelector/MultiSelector.generated.ts +33 -0
- package/src/i18n/generated-english/NumberInput/NumberInput.generated.ts +16 -0
- package/src/i18n/generated-english/Outline/Outline.generated.ts +13 -0
- package/src/i18n/generated-english/Pagination/Pagination.generated.ts +28 -0
- package/src/i18n/generated-english/Popover/Popover.generated.ts +13 -0
- package/src/i18n/generated-english/Popover/usePopover.generated.ts +13 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearch.generated.ts +17 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchEditPopover.generated.ts +21 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +24 -0
- package/src/i18n/generated-english/PowerSearch/formatFilterValue.generated.ts +16 -0
- package/src/i18n/generated-english/PowerSearch/usePowerSearchConfig.generated.ts +33 -0
- package/src/i18n/generated-english/Resizable/ResizeHandle.generated.ts +14 -0
- package/src/i18n/generated-english/Selector/Selector.generated.ts +25 -0
- package/src/i18n/generated-english/SideNav/SideNav.generated.ts +14 -0
- package/src/i18n/generated-english/SideNav/SideNavCollapseButton.generated.ts +14 -0
- package/src/i18n/generated-english/SideNav/SideNavHeading.generated.ts +14 -0
- package/src/i18n/generated-english/SideNav/SideNavItem.generated.ts +15 -0
- package/src/i18n/generated-english/Slider/Slider.generated.ts +14 -0
- package/src/i18n/generated-english/Spinner/Spinner.generated.ts +13 -0
- package/src/i18n/generated-english/Stepper/Step.generated.ts +18 -0
- package/src/i18n/generated-english/Stepper/Stepper.generated.ts +15 -0
- package/src/i18n/generated-english/Switch/Switch.generated.ts +13 -0
- package/src/i18n/generated-english/TabList/TabList.generated.ts +13 -0
- package/src/i18n/generated-english/Table/BaseTable.generated.ts +13 -0
- package/src/i18n/generated-english/Table/Table.generated.ts +13 -0
- package/src/i18n/generated-english/Table/TableSelectionToolbar.generated.ts +15 -0
- package/src/i18n/generated-english/Table/plugins/columnResize/useTableColumnResize.generated.ts +13 -0
- package/src/i18n/generated-english/Table/plugins/filtering/useTableFiltering.generated.ts +16 -0
- package/src/i18n/generated-english/Table/plugins/groupedRows/useTableGroupedRows.generated.ts +14 -0
- package/src/i18n/generated-english/Table/plugins/pagination/useTablePagination.generated.ts +15 -0
- package/src/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.ts +15 -0
- package/src/i18n/generated-english/Table/plugins/rowStatus/useTableRowStatus.generated.ts +13 -0
- package/src/i18n/generated-english/Table/plugins/selection/useTableSelection.generated.ts +15 -0
- package/src/i18n/generated-english/Table/plugins/sortable/useTableSortable.generated.ts +16 -0
- package/src/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.ts +16 -0
- package/src/i18n/generated-english/TextArea/TextArea.generated.ts +16 -0
- package/src/i18n/generated-english/TextInput/TextInput.generated.ts +14 -0
- package/src/i18n/generated-english/Thumbnail/Thumbnail.generated.ts +16 -0
- package/src/i18n/generated-english/TimeInput/TimeInput.generated.ts +19 -0
- package/src/i18n/generated-english/TimeInput/TouchTimeField.generated.ts +23 -0
- package/src/i18n/generated-english/Timestamp/Timestamp.generated.ts +13 -0
- package/src/i18n/generated-english/Timestamp/TimestampHoverCard.generated.ts +15 -0
- package/src/i18n/generated-english/Toast/Toast.generated.ts +13 -0
- package/src/i18n/generated-english/Toast/ToastViewport.generated.ts +13 -0
- package/src/i18n/generated-english/Token/Token.generated.ts +13 -0
- package/src/i18n/generated-english/Tokenizer/Tokenizer.generated.ts +19 -0
- package/src/i18n/generated-english/Tokenizer/TokenizerBottomSheet.generated.ts +31 -0
- package/src/i18n/generated-english/TopNav/TopNav.generated.ts +13 -0
- package/src/i18n/generated-english/TopNav/TopNavHeading.generated.ts +14 -0
- package/src/i18n/generated-english/TreeList/TreeListItem.generated.ts +13 -0
- package/src/i18n/generated-english/Typeahead/BaseTypeahead.generated.ts +17 -0
- package/src/i18n/generated-english/Typeahead/Typeahead.generated.ts +14 -0
- package/src/i18n/generated-english/hooks/useInputStatusIcon.generated.ts +15 -0
- package/src/i18n/generated-english/hooks/useKeyboardHint.generated.ts +13 -0
- package/src/i18n/generated-locales/af-ZA.generated.ts +3 -2
- package/src/i18n/generated-locales/ar-SA.generated.ts +3 -2
- package/src/i18n/generated-locales/ca-ES.generated.ts +3 -2
- package/src/i18n/generated-locales/cs-CZ.generated.ts +3 -2
- package/src/i18n/generated-locales/da-DK.generated.ts +3 -2
- package/src/i18n/generated-locales/de-DE.generated.ts +3 -2
- package/src/i18n/generated-locales/el-GR.generated.ts +3 -2
- package/src/i18n/generated-locales/en.generated.ts +15 -2
- package/src/i18n/generated-locales/es-ES.generated.ts +3 -2
- package/src/i18n/generated-locales/fi-FI.generated.ts +3 -2
- package/src/i18n/generated-locales/fr-FR.generated.ts +3 -2
- package/src/i18n/generated-locales/he-IL.generated.ts +3 -2
- package/src/i18n/generated-locales/hu-HU.generated.ts +3 -2
- package/src/i18n/generated-locales/it-IT.generated.ts +3 -2
- package/src/i18n/generated-locales/ja-JP.generated.ts +3 -2
- package/src/i18n/generated-locales/ko-KR.generated.ts +3 -2
- package/src/i18n/generated-locales/nl-NL.generated.ts +3 -2
- package/src/i18n/generated-locales/no-NO.generated.ts +3 -2
- package/src/i18n/generated-locales/pl-PL.generated.ts +3 -2
- package/src/i18n/generated-locales/pseudo.generated.ts +15 -2
- package/src/i18n/generated-locales/pt-BR.generated.ts +3 -2
- package/src/i18n/generated-locales/pt-PT.generated.ts +3 -2
- package/src/i18n/generated-locales/ro-RO.generated.ts +3 -2
- package/src/i18n/generated-locales/ru-RU.generated.ts +3 -2
- package/src/i18n/generated-locales/sr-SP.generated.ts +3 -2
- package/src/i18n/generated-locales/sv-SE.generated.ts +3 -2
- package/src/i18n/generated-locales/tr-TR.generated.ts +3 -2
- package/src/i18n/generated-locales/uk-UA.generated.ts +3 -2
- package/src/i18n/generated-locales/vi-VN.generated.ts +3 -2
- package/src/i18n/generated-locales/zh-CN.generated.ts +3 -2
- package/src/i18n/generated-locales/zh-TW.generated.ts +3 -2
- package/src/i18n/index.ts +6 -1
- package/src/i18n/publicContext.ts +29 -0
- package/src/i18n/resolve.ts +17 -4
- package/src/i18n/useComponentTranslator.ts +45 -0
- package/src/i18n/useTranslator.ts +8 -1
- package/src/motion/MEASUREMENTS.md +1 -1
- package/src/motion/README.md +11 -0
- package/src/motion/animatedLayout.ts +1079 -48
- package/src/motion/animator.ts +225 -13
- package/src/motion/presentation.ts +149 -0
- package/src/motion/uikit/gestures.ts +15 -8
- package/src/motion/uikit/index.ts +1 -0
- package/src/motion/uikit/longPress.ts +29 -0
- package/src/motion/uikit/springs.ts +19 -0
- package/src/privateAttributes/hapticSwitch.stylex.ts +27 -0
- package/src/privateAttributes/layerRoot.stylex.ts +28 -0
- 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/accessibleName.ts +87 -0
- package/src/utils/clickGuard.ts +157 -0
- package/src/utils/coarsePointer.ts +51 -0
- package/src/utils/devWarning.ts +4 -9
- package/src/utils/flatTree.ts +40 -0
- package/src/utils/focusOutline.stylex.ts +9 -19
- package/src/utils/focusReturn.ts +74 -8
- package/src/utils/getNodeText.ts +2 -1
- package/src/utils/hitArea.ts +14 -17
- package/src/utils/ime.ts +23 -51
- package/src/utils/inputPresentation.ts +5 -5
- package/src/utils/inputStream.ts +155 -0
- package/src/utils/interactionModality.ts +173 -68
- package/src/utils/interactionOverlay.stylex.ts +72 -88
- package/src/utils/plainDate.ts +29 -1
- package/src/utils/presentation.ts +31 -47
- package/src/utils/pressDisabled.ts +32 -0
- package/src/utils/pressFeedback.ts +118 -107
- package/src/utils/pressGesture.ts +11 -21
- package/src/utils/rtlStyles.ts +13 -24
- package/src/utils/selectionLock.ts +188 -0
- package/src/utils/sharedMutationObserver.ts +2 -2
- package/src/utils/standaloneMonthCapitals.generated.ts +17 -0
- package/src/utils/timeFormat.ts +5 -13
- package/src/utils/touchPresentation.stylex.ts +8 -14
- package/src/utils/touchPresentation.ts +37 -62
- package/src/utils/touchQueries.ts +24 -1
- package/src/utils/typeaheadMatch.ts +142 -0
- package/src/utils/useFocusLeavingChange.ts +53 -0
- package/src/AlertDialog/AlertDialog.spec.md +0 -259
- package/src/AppShell/AppShell.spec.md +0 -331
- package/src/AspectRatio/AspectRatio.spec.md +0 -179
- package/src/Avatar/Avatar.spec.md +0 -253
- package/src/Avatar/AvatarStatusDot.spec.md +0 -208
- package/src/AvatarGroup/AvatarGroup.spec.md +0 -205
- package/src/AvatarGroup/AvatarGroupOverflow.spec.md +0 -210
- package/src/Badge/Badge.spec.md +0 -207
- package/src/Banner/Banner.spec.md +0 -282
- package/src/Blockquote/Blockquote.spec.md +0 -171
- package/src/BottomSheet/BottomSheet.spec.md +0 -457
- package/src/BottomSheet/BottomSheetSwitcher.spec.md +0 -367
- package/src/Breadcrumbs/BreadcrumbItem.spec.md +0 -269
- package/src/Breadcrumbs/Breadcrumbs.spec.md +0 -165
- package/src/Button/Button.spec.md +0 -322
- package/src/ButtonGroup/ButtonGroup.spec.md +0 -220
- package/src/Calendar/Calendar.spec.md +0 -248
- package/src/Card/Card.spec.md +0 -205
- package/src/Carousel/Carousel.spec.md +0 -146
- package/src/Center/Center.spec.md +0 -205
- package/src/Chat/ChatComposer.spec.md +0 -246
- package/src/Chat/ChatComposerDrawer.spec.md +0 -267
- package/src/Chat/ChatComposerInput.spec.md +0 -224
- package/src/Chat/ChatComposerTokenElement.spec.md +0 -164
- package/src/Chat/ChatDictationButton.spec.md +0 -205
- package/src/Chat/ChatLayout.spec.md +0 -276
- package/src/Chat/ChatLayoutScrollButton.spec.md +0 -322
- package/src/Chat/ChatMessage.spec.md +0 -264
- package/src/Chat/ChatMessageBubble.spec.md +0 -263
- package/src/Chat/ChatMessageList.spec.md +0 -222
- package/src/Chat/ChatMessageMetadata.spec.md +0 -220
- package/src/Chat/ChatSendButton.spec.md +0 -238
- package/src/Chat/ChatSystemMessage.spec.md +0 -224
- package/src/Chat/ChatTokenizedText.spec.md +0 -190
- package/src/Chat/ChatToolCalls.spec.md +0 -194
- package/src/CheckboxInput/CheckboxInput.spec.md +0 -218
- package/src/CheckboxList/CheckboxList.spec.md +0 -332
- package/src/CheckboxList/CheckboxListItem.spec.md +0 -302
- package/src/Citation/Citation.spec.md +0 -192
- package/src/ClickableCard/ClickableCard.spec.md +0 -241
- package/src/Code/Code.spec.md +0 -170
- package/src/CodeBlock/CodeBlock.spec.md +0 -243
- package/src/Collapsible/Collapsible.spec.md +0 -247
- package/src/Collapsible/CollapsibleGroup.spec.md +0 -229
- package/src/CommandPalette/CommandPalette.spec.md +0 -278
- package/src/CommandPalette/CommandPaletteEmpty.spec.md +0 -190
- package/src/CommandPalette/CommandPaletteInput.spec.md +0 -215
- package/src/CommandPalette/CommandPaletteItem.spec.md +0 -223
- package/src/CommandPalette/CommandPaletteList.spec.md +0 -194
- package/src/ComplexSelector/ComplexSelector.spec.md +0 -266
- package/src/ContextMenu/ContextMenu.spec.md +0 -279
- package/src/ContextMenu/ContextMenuItem.spec.md +0 -132
- package/src/DateInput/DateInput.spec.md +0 -336
- package/src/DateRangeInput/DateRangeInput.spec.md +0 -203
- package/src/DateTimeInput/DateTimeInput.spec.md +0 -270
- package/src/Dialog/Dialog.spec.md +0 -189
- package/src/Dialog/modules/DialogHeader.spec.md +0 -211
- package/src/Divider/Divider.spec.md +0 -252
- package/src/Drawer/Drawer.spec.md +0 -388
- package/src/Drawer/DrawerHeader.spec.md +0 -181
- package/src/DropdownMenu/DropdownMenu.spec.md +0 -562
- package/src/DropdownMenu/DropdownMenuCheckboxItem.spec.md +0 -192
- 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/DropdownMenuRadioGroup.spec.md +0 -187
- package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +0 -227
- package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +0 -231
- package/src/DropdownMenu/modules/useMenuHover.spec.md +0 -283
- package/src/DropdownMenu/modules/useMenuPress.spec.md +0 -348
- package/src/EmptyState/EmptyState.spec.md +0 -203
- package/src/Field/Field.spec.md +0 -226
- package/src/Field/FieldLabel.spec.md +0 -192
- package/src/FieldStatus/FieldStatus.spec.md +0 -224
- package/src/FileInput/FileInput.spec.md +0 -199
- package/src/FormLayout/FormLayout.spec.md +0 -201
- package/src/Grid/Grid.spec.md +0 -193
- package/src/Grid/GridSpan.spec.md +0 -158
- package/src/Heading/Heading.spec.md +0 -198
- package/src/HoverCard/HoverCard.spec.md +0 -244
- package/src/Icon/Icon.spec.md +0 -244
- package/src/IconButton/IconButton.spec.md +0 -197
- 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/InputGroup/InputGroup.spec.md +0 -199
- package/src/InputGroup/InputGroupText.spec.md +0 -139
- package/src/Item/Item.spec.md +0 -226
- package/src/Kbd/Kbd.spec.md +0 -185
- package/src/Layer/LayerProvider.spec.md +0 -149
- package/src/Layout/Layout.spec.md +0 -243
- 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/Lightbox/Lightbox.spec.md +0 -387
- package/src/Link/Link.spec.md +0 -230
- package/src/Link/LinkProvider.spec.md +0 -167
- package/src/List/List.spec.md +0 -336
- package/src/List/ListItem.spec.md +0 -205
- package/src/Markdown/Markdown.spec.md +0 -595
- 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/MetadataList/MetadataList.spec.md +0 -187
- package/src/MetadataList/MetadataListItem.spec.md +0 -165
- package/src/MobileNav/MobileNav.spec.md +0 -306
- package/src/MoreMenu/MoreMenu.spec.md +0 -268
- package/src/MultiSelector/MultiSelector.spec.md +0 -364
- package/src/NavIcon/NavIcon.spec.md +0 -158
- package/src/NavMenu/NavHeadingMenu.spec.md +0 -264
- package/src/NumberInput/NumberInput.spec.md +0 -270
- package/src/Outline/Outline.spec.md +0 -258
- package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +0 -150
- package/src/OverflowList/OverflowList.spec.md +0 -204
- package/src/Overlay/Overlay.spec.md +0 -304
- package/src/Pagination/Pagination.spec.md +0 -300
- package/src/Popover/Popover.spec.md +0 -525
- package/src/PowerSearch/PowerSearch.spec.md +0 -661
- package/src/ProgressBar/ProgressBar.spec.md +0 -285
- package/src/RadioList/RadioList.spec.md +0 -227
- package/src/RadioList/RadioListItem.spec.md +0 -223
- package/src/Resizable/Resizable.spec.md +0 -298
- package/src/ScrollableArea/ScrollableArea.spec.md +0 -190
- package/src/ScrollableArea/modules/useScrollableArea.spec.md +0 -149
- package/src/Section/Section.spec.md +0 -197
- package/src/SegmentedControl/SegmentedControl.spec.md +0 -261
- package/src/SegmentedControl/SegmentedControlItem.spec.md +0 -206
- package/src/SelectableCard/SelectableCard.spec.md +0 -230
- package/src/Selector/Selector.spec.md +0 -379
- package/src/SideNav/SideNav.spec.md +0 -247
- 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/SideNavSection.spec.md +0 -153
- package/src/Skeleton/Skeleton.spec.md +0 -184
- package/src/Slider/Slider.spec.md +0 -287
- package/src/Spinner/Spinner.spec.md +0 -231
- package/src/Stack/Stack.spec.md +0 -203
- package/src/StatusDot/StatusDot.spec.md +0 -224
- package/src/Stepper/Step.spec.md +0 -200
- package/src/Stepper/Stepper.spec.md +0 -327
- package/src/Switch/Switch.spec.md +0 -277
- package/src/TabList/Tab.spec.md +0 -201
- package/src/TabList/TabList.spec.md +0 -217
- package/src/TabList/TabMenu.spec.md +0 -198
- package/src/Table/Table.spec.md +0 -395
- package/src/Table/plugins/activation/useTableActivation.spec.md +0 -254
- package/src/Table/plugins/columnResize/useTableColumnResize.spec.md +0 -373
- package/src/Table/plugins/infiniteScroll/useTableInfiniteScroll.spec.md +0 -244
- package/src/Table/plugins/rowStatus/useTableRowStatus.spec.md +0 -355
- package/src/Table/plugins/virtualization/useTableVirtualization.spec.md +0 -266
- package/src/Text/Text.spec.md +0 -193
- package/src/TextArea/TextArea.spec.md +0 -300
- package/src/TextInput/TextInput.spec.md +0 -260
- package/src/Thumbnail/Thumbnail.spec.md +0 -244
- package/src/TimeInput/TimeInput.spec.md +0 -270
- package/src/Timer/Timer.spec.md +0 -215
- package/src/Timestamp/Timestamp.spec.md +0 -246
- package/src/Toast/Toast.spec.md +0 -291
- package/src/ToggleButton/ToggleButton.spec.md +0 -256
- package/src/ToggleButton/ToggleButtonGroup.spec.md +0 -195
- package/src/Token/Token.spec.md +0 -262
- package/src/Tokenizer/Tokenizer.spec.md +0 -615
- package/src/Toolbar/Toolbar.spec.md +0 -227
- package/src/Tooltip/Tooltip.spec.md +0 -267
- package/src/TopNav/TopNav.spec.md +0 -190
- package/src/TopNav/TopNavHeading.spec.md +0 -211
- package/src/TopNav/TopNavItem.spec.md +0 -189
- package/src/TopNav/TopNavMegaMenu.spec.md +0 -190
- 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/TreeList/TreeList.spec.md +0 -328
- package/src/Typeahead/BaseTypeahead.spec.md +0 -270
- package/src/Typeahead/Typeahead.spec.md +0 -257
- package/src/VisuallyHidden/VisuallyHidden.spec.md +0 -170
- package/src/i18n/InternationalizationProvider.spec.md +0 -252
|
@@ -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.
|
|
@@ -40,13 +39,24 @@
|
|
|
40
39
|
* old place to the new one, sampled from `springs.settle` into linear
|
|
41
40
|
* keyframes and corrected for a scaled ancestor. An element already gliding
|
|
42
41
|
* keeps that motion and adds the new move: the rest of its curve and the
|
|
43
|
-
* new move are summed into one new glide, velocity included.
|
|
42
|
+
* new move are summed into one new glide, velocity included. Its place
|
|
43
|
+
* before the change is read on the clock of every glide that carries it,
|
|
44
|
+
* its own and its gliding ancestors' in the area (the box with each applied
|
|
45
|
+
* `translate` taken out, plus each glide's offset at its current time), and
|
|
46
|
+
* so is its place after the change, where only the glides the change leaves
|
|
47
|
+
* running remain: the new glide starts where the old one is drawn, and a
|
|
48
|
+
* glide the change leaves running cancels out of the move. Nothing
|
|
44
49
|
* animates height, and nothing scrolls the area.
|
|
45
50
|
* - A measurement no commit claims by the next frame is dropped.
|
|
46
51
|
* - The changed element plays its own entrance on the same spring, started in
|
|
47
52
|
* the same frame (`playLayoutChange`), or its exit: kept where it is while
|
|
48
|
-
* it gives up its space and conceals (`holdLayoutExit`).
|
|
49
|
-
*
|
|
53
|
+
* it gives up its space and conceals (`holdLayoutExit`). Both are FR9's
|
|
54
|
+
* edge reveal: from its block-end edge by default, or from the block-start
|
|
55
|
+
* or an inline edge it is given. Once the content on that edge's side
|
|
56
|
+
* glides, the edge rides that glide, frame by frame, so the two never part;
|
|
57
|
+
* a reversal (a close while it opens) starts from what the element shows.
|
|
58
|
+
* A disclosure's indicator turns on the same motion
|
|
59
|
+
* (`applyLayoutChangeTransition`).
|
|
50
60
|
* - A swap holds old content as one transient copy, inert and hidden from
|
|
51
61
|
* assistive technology, while new content enters in its place, on the same
|
|
52
62
|
* motion, and removes it when the swap ends (`holdLayoutSwap`,
|
|
@@ -54,6 +64,11 @@
|
|
|
54
64
|
* the swap's progress and, riding a gliding element, how far it has moved,
|
|
55
65
|
* so every part keeps to that glide; under Reduce Motion with a coarse
|
|
56
66
|
* pointer only opacity changes.
|
|
67
|
+
* - FR9's two-state form holds an element's old state as the swap's copy
|
|
68
|
+
* while its edge rides a gliding element, such as a rail beside its
|
|
69
|
+
* content (`holdLayoutEdge`, `playLayoutEdge`): the larger state is
|
|
70
|
+
* clipped on that edge, from the extent the element shows, and the caller
|
|
71
|
+
* adds only its own fades.
|
|
57
72
|
* - Frames on elements the page renders can play on the same motion with no
|
|
58
73
|
* copy (`playLayoutFrames`), such as a surface reaching over a gap a glide
|
|
59
74
|
* opens, and are released when the motion ends.
|
|
@@ -554,6 +569,91 @@ function isStuck(element: Element, cache: WalkCache): boolean {
|
|
|
554
569
|
);
|
|
555
570
|
}
|
|
556
571
|
|
|
572
|
+
/**
|
|
573
|
+
* `rect`, a box read before a change or after it (in the flush, once the
|
|
574
|
+
* glides the change retargets have stopped), with every running glide that
|
|
575
|
+
* carries the element put back on its glide's own clock: its own and those of
|
|
576
|
+
* its ancestors inside `area`. A glide the change retargets is read on its
|
|
577
|
+
* clock before the change and is gone after it; one the change leaves running
|
|
578
|
+
* (a card inside an absolutely positioned panel, which the change takes no
|
|
579
|
+
* ancestors from) is read on the same clock in both places, so it cancels out
|
|
580
|
+
* of the move. A box read samples a running `translate`
|
|
581
|
+
* wherever the engine evaluates it, and WebKit evaluates it at the moment of
|
|
582
|
+
* the read, while a glide's offset, and the glide a change retargets it into,
|
|
583
|
+
* run on the timeline's frame time: from the box alone, a change made `n` ms
|
|
584
|
+
* into a frame started the new glide `n` ms of motion ahead of the one drawn
|
|
585
|
+
* (up to about 3 px on a slow frame), and a row inside a gliding card took up
|
|
586
|
+
* the card's difference. The box is read between two readings of every
|
|
587
|
+
* carrier's applied `translate` that agree: WebKit samples a running
|
|
588
|
+
* animation at the moment of each read, in steps of about a millisecond, so
|
|
589
|
+
* a box read between two equal readings is of that same sample, while the
|
|
590
|
+
* walk's earlier box read, or one read across a step, is of another. Taken
|
|
591
|
+
* out of that
|
|
592
|
+
* box (each scaled by its node's ancestors, as its glide is), the `translate`s
|
|
593
|
+
* leave the element's place with no glide, and each glide's offset at its
|
|
594
|
+
* current time goes back in. A glide replaces any `translate` of the app's
|
|
595
|
+
* own while it runs, so each applied value is the glide's alone. Where the
|
|
596
|
+
* engine reports no applied `translate` at all (an environment without
|
|
597
|
+
* individual transform properties), the box is taken as it is.
|
|
598
|
+
*/
|
|
599
|
+
/**
|
|
600
|
+
* How many times `onGlideClock` reads a box and the applied translates around
|
|
601
|
+
* it to take all of them from one sample: it bounds the reads for one
|
|
602
|
+
* consistent snapshot (WebKit's samples step about once a millisecond, and a
|
|
603
|
+
* second reading lands inside one step), not a retry around a result.
|
|
604
|
+
*/
|
|
605
|
+
const SAMPLE_READS = 3;
|
|
606
|
+
|
|
607
|
+
function onGlideClock(element: Element, rect: DOMRect, area: Element): DOMRect {
|
|
608
|
+
const carriers: {node: Element; glide: Glide; time: number}[] = [];
|
|
609
|
+
for (
|
|
610
|
+
let node: Element | null = element;
|
|
611
|
+
node != null && node !== area;
|
|
612
|
+
node = node.parentElement
|
|
613
|
+
) {
|
|
614
|
+
const glide = glides.get(node);
|
|
615
|
+
const time = Number(glide?.animation.currentTime);
|
|
616
|
+
if (glide != null && Number.isFinite(time)) {
|
|
617
|
+
carriers.push({node, glide, time});
|
|
618
|
+
}
|
|
619
|
+
}
|
|
620
|
+
if (carriers.length === 0) {
|
|
621
|
+
return rect;
|
|
622
|
+
}
|
|
623
|
+
const view = element.ownerDocument.defaultView;
|
|
624
|
+
const appliedNow = () =>
|
|
625
|
+
carriers.map(({node}) => view?.getComputedStyle(node).translate);
|
|
626
|
+
let applied = appliedNow();
|
|
627
|
+
if (applied.some(translate => translate == null || translate === '')) {
|
|
628
|
+
return rect;
|
|
629
|
+
}
|
|
630
|
+
let box = element.getBoundingClientRect();
|
|
631
|
+
for (let read = 0; read < SAMPLE_READS; read++) {
|
|
632
|
+
const again = appliedNow();
|
|
633
|
+
if (again.every((translate, index) => translate === applied[index])) {
|
|
634
|
+
break;
|
|
635
|
+
}
|
|
636
|
+
applied = again;
|
|
637
|
+
box = element.getBoundingClientRect();
|
|
638
|
+
}
|
|
639
|
+
let dx = 0;
|
|
640
|
+
let dy = 0;
|
|
641
|
+
carriers.forEach(({node, glide, time}, index) => {
|
|
642
|
+
const [appliedX = 0, appliedY = 0] = numbersIn(applied[index] as string);
|
|
643
|
+
const offset = glide.offsetAt(
|
|
644
|
+
Math.min(Math.max(0, time), glide.durationMs),
|
|
645
|
+
);
|
|
646
|
+
const scale = scaleOf(
|
|
647
|
+
node,
|
|
648
|
+
node === element ? box : node.getBoundingClientRect(),
|
|
649
|
+
ownScaleOf(node),
|
|
650
|
+
);
|
|
651
|
+
dx += (offset.x - appliedX) * scale.x;
|
|
652
|
+
dy += (offset.y - appliedY) * scale.y;
|
|
653
|
+
});
|
|
654
|
+
return new DOMRect(box.x + dx, box.y + dy, box.width, box.height);
|
|
655
|
+
}
|
|
656
|
+
|
|
557
657
|
function rectOf(element: Element, cache: WalkCache): DOMRect {
|
|
558
658
|
let rect = cache.rects.get(element);
|
|
559
659
|
if (rect === undefined) {
|
|
@@ -938,7 +1038,15 @@ function flush(batch: Batch): void {
|
|
|
938
1038
|
const nearer = (raw: number, shift: number) =>
|
|
939
1039
|
Math.abs(raw + shift) < Math.abs(raw) ? raw + shift : raw;
|
|
940
1040
|
for (const entry of entries) {
|
|
941
|
-
|
|
1041
|
+
// On the same clocks as the place before the change: only the glides this
|
|
1042
|
+
// change does not retarget still run here (a card inside an absolutely
|
|
1043
|
+
// positioned panel keeps its glide while the row in it moves), so each
|
|
1044
|
+
// reads the same in both places and cancels out of the move.
|
|
1045
|
+
entry.after = onGlideClock(
|
|
1046
|
+
entry.element,
|
|
1047
|
+
entry.element.getBoundingClientRect(),
|
|
1048
|
+
batch.area,
|
|
1049
|
+
);
|
|
942
1050
|
// The move is the inline-start edge's, by the container's direction (it
|
|
943
1051
|
// decides where the element sits): in a right-to-left container an
|
|
944
1052
|
// element that narrows keeps its left edge and moves its right one.
|
|
@@ -1118,7 +1226,7 @@ export function reportLayoutChange(
|
|
|
1118
1226
|
);
|
|
1119
1227
|
for (const [candidate, rect] of candidates) {
|
|
1120
1228
|
if (!batch.before.has(candidate)) {
|
|
1121
|
-
batch.before.set(candidate, rect);
|
|
1229
|
+
batch.before.set(candidate, onGlideClock(candidate, rect, area));
|
|
1122
1230
|
}
|
|
1123
1231
|
}
|
|
1124
1232
|
batch.candidates.set(changed, [...candidates.keys()]);
|
|
@@ -1147,15 +1255,322 @@ export function reportLayoutChange(
|
|
|
1147
1255
|
};
|
|
1148
1256
|
}
|
|
1149
1257
|
|
|
1258
|
+
// ---------------------------------------------------------------------------
|
|
1259
|
+
// The edge reveal (`spec:AST-105` FR9)
|
|
1260
|
+
// ---------------------------------------------------------------------------
|
|
1261
|
+
|
|
1262
|
+
/**
|
|
1263
|
+
* The edge an element reveals from or conceals to (`spec:AST-105` FR9): its
|
|
1264
|
+
* block-end edge by default, or its block-start, inline-start or inline-end
|
|
1265
|
+
* edge, such as a panel collapsing beside content. An inline edge follows
|
|
1266
|
+
* the element's direction.
|
|
1267
|
+
*/
|
|
1268
|
+
export type LayoutEdge =
|
|
1269
|
+
'block-end' | 'block-start' | 'inline-start' | 'inline-end';
|
|
1270
|
+
|
|
1271
|
+
/** Whether `element` lays its inline axis out right to left. */
|
|
1272
|
+
function isRtl(element: Element): boolean {
|
|
1273
|
+
return (
|
|
1274
|
+
element.ownerDocument.defaultView?.getComputedStyle(element).direction ===
|
|
1275
|
+
'rtl'
|
|
1276
|
+
);
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1280
|
+
* The `clip-path` that hides `side` of an element from `edge`: `inset()`'s
|
|
1281
|
+
* sides are physical (top, right, bottom, left), so an inline edge is
|
|
1282
|
+
* mirrored right to left. `zero` is how the other three are written.
|
|
1283
|
+
*/
|
|
1284
|
+
function edgeClip(
|
|
1285
|
+
edge: LayoutEdge,
|
|
1286
|
+
side: string,
|
|
1287
|
+
zero: string,
|
|
1288
|
+
rtl: boolean,
|
|
1289
|
+
): string {
|
|
1290
|
+
const sides = [zero, zero, zero, zero];
|
|
1291
|
+
const index =
|
|
1292
|
+
edge === 'block-start'
|
|
1293
|
+
? 0
|
|
1294
|
+
: edge === 'block-end'
|
|
1295
|
+
? 2
|
|
1296
|
+
: (edge === 'inline-end') !== rtl
|
|
1297
|
+
? 1
|
|
1298
|
+
: 3;
|
|
1299
|
+
sides[index] = side;
|
|
1300
|
+
return `inset(${sides.join(' ')})`;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
/** A hidden fraction of the element, as a percentage clip on `edge`. */
|
|
1304
|
+
function fractionClip(edge: LayoutEdge, hidden: number, rtl: boolean): string {
|
|
1305
|
+
return edgeClip(edge, `${round(hidden * 100)}%`, '0', rtl);
|
|
1306
|
+
}
|
|
1307
|
+
|
|
1308
|
+
/** A hidden length of the element, in its own px, as a clip on `edge`. */
|
|
1309
|
+
function pxClip(edge: LayoutEdge, hidden: number, rtl: boolean): string {
|
|
1310
|
+
return edgeClip(edge, `${hidden}px`, '0px', rtl);
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
/**
|
|
1314
|
+
* The element's size along `edge`'s axis, in its own px (a scaled ancestor
|
|
1315
|
+
* divided out), read from the layout the caller already laid out.
|
|
1316
|
+
*/
|
|
1317
|
+
function extentOf(element: Element, edge: LayoutEdge): number {
|
|
1318
|
+
const rect = element.getBoundingClientRect();
|
|
1319
|
+
const scale = scaleOf(element, rect);
|
|
1320
|
+
return edge.startsWith('inline')
|
|
1321
|
+
? rect.width / scale.x
|
|
1322
|
+
: rect.height / scale.y;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/**
|
|
1326
|
+
* The last element before `element` in the area that takes part in layout:
|
|
1327
|
+
* its previous sibling, or its nearest ancestor's below the area (the mirror
|
|
1328
|
+
* of `nextInFlow`, for a start edge).
|
|
1329
|
+
*/
|
|
1330
|
+
function previousInFlow(element: Element, area: Element): Element | null {
|
|
1331
|
+
const view = element.ownerDocument.defaultView;
|
|
1332
|
+
const lastBox = (from: Element): Element | null => {
|
|
1333
|
+
const style = view?.getComputedStyle(from);
|
|
1334
|
+
if (style == null) {
|
|
1335
|
+
return from;
|
|
1336
|
+
}
|
|
1337
|
+
if (style.display === 'contents') {
|
|
1338
|
+
for (
|
|
1339
|
+
let child = from.lastElementChild;
|
|
1340
|
+
child != null;
|
|
1341
|
+
child = child.previousElementSibling
|
|
1342
|
+
) {
|
|
1343
|
+
const box = lastBox(child);
|
|
1344
|
+
if (box != null) {
|
|
1345
|
+
return box;
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
return null;
|
|
1349
|
+
}
|
|
1350
|
+
return takesPart(from, style) ? from : null;
|
|
1351
|
+
};
|
|
1352
|
+
let node: Element | null = element;
|
|
1353
|
+
while (node != null && node !== area) {
|
|
1354
|
+
for (
|
|
1355
|
+
let sibling = node.previousElementSibling;
|
|
1356
|
+
sibling != null;
|
|
1357
|
+
sibling = sibling.previousElementSibling
|
|
1358
|
+
) {
|
|
1359
|
+
const box = lastBox(sibling);
|
|
1360
|
+
if (box != null) {
|
|
1361
|
+
return box;
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
node = node.parentElement;
|
|
1365
|
+
}
|
|
1366
|
+
return null;
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
/**
|
|
1370
|
+
* The glide that moves `neighbour`: its own, or that of its nearest gliding
|
|
1371
|
+
* ancestor below the area that does not also hold `element` (one that holds
|
|
1372
|
+
* both moves the two together, so the edge does not ride it).
|
|
1373
|
+
*/
|
|
1374
|
+
function glideMoving(
|
|
1375
|
+
neighbour: Element,
|
|
1376
|
+
element: Element,
|
|
1377
|
+
area: Element,
|
|
1378
|
+
): Glide | null {
|
|
1379
|
+
for (
|
|
1380
|
+
let node: Element | null = neighbour;
|
|
1381
|
+
node != null && node !== area && !node.contains(element);
|
|
1382
|
+
node = node.parentElement
|
|
1383
|
+
) {
|
|
1384
|
+
const glide = glides.get(node);
|
|
1385
|
+
if (glide != null) {
|
|
1386
|
+
return glide;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
return null;
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1392
|
+
/** A one-state reveal or conceal running on an element. */
|
|
1393
|
+
interface EdgeMotion {
|
|
1394
|
+
readonly animation: Animation;
|
|
1395
|
+
/** The fraction of the element it shows `t` ms in (1: all of it). */
|
|
1396
|
+
shownAt: (t: number) => number;
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
/** Each element's running one-state reveal or conceal. */
|
|
1400
|
+
const edgeMotions = new WeakMap<Element, EdgeMotion>();
|
|
1401
|
+
|
|
1402
|
+
/**
|
|
1403
|
+
* What a one-state motion an adopter stopped (`releaseLayoutExit`) showed,
|
|
1404
|
+
* and the timeline time it stopped at: a reveal started in the same frame,
|
|
1405
|
+
* the reversal that stopped it, starts there.
|
|
1406
|
+
*/
|
|
1407
|
+
const stoppedShown = new WeakMap<
|
|
1408
|
+
Element,
|
|
1409
|
+
{readonly fraction: number; readonly at: number}
|
|
1410
|
+
>();
|
|
1411
|
+
|
|
1412
|
+
function timelineNow(element: Element): number {
|
|
1413
|
+
return Number(element.ownerDocument.timeline?.currentTime ?? Number.NaN);
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
/** What `motion` shows now, by its animation's own clock. */
|
|
1417
|
+
function shownNow(motion: EdgeMotion): number {
|
|
1418
|
+
const time = Number(motion.animation.currentTime);
|
|
1419
|
+
return motion.shownAt(Number.isFinite(time) ? Math.max(0, time) : 0);
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1422
|
+
/**
|
|
1423
|
+
* What `element` shows as a reveal or conceal starts: where the one-state
|
|
1424
|
+
* motion this one reverses had got to (it stops there), or `atRest`, all of
|
|
1425
|
+
* it for a conceal and nothing for a reveal.
|
|
1426
|
+
*/
|
|
1427
|
+
function shownAtStart(element: Element, atRest: number): number {
|
|
1428
|
+
const running = edgeMotions.get(element);
|
|
1429
|
+
if (running != null) {
|
|
1430
|
+
edgeMotions.delete(element);
|
|
1431
|
+
const fraction = shownNow(running);
|
|
1432
|
+
running.animation.cancel();
|
|
1433
|
+
return fraction;
|
|
1434
|
+
}
|
|
1435
|
+
const stopped = stoppedShown.get(element);
|
|
1436
|
+
stoppedShown.delete(element);
|
|
1437
|
+
if (stopped != null && stopped.at === timelineNow(element)) {
|
|
1438
|
+
return stopped.fraction;
|
|
1439
|
+
}
|
|
1440
|
+
return atRest;
|
|
1441
|
+
}
|
|
1442
|
+
|
|
1443
|
+
/** Records `animation` as `element`'s running one-state motion. */
|
|
1444
|
+
function trackEdgeMotion(
|
|
1445
|
+
element: Element,
|
|
1446
|
+
animation: Animation,
|
|
1447
|
+
shownAt: (t: number) => number,
|
|
1448
|
+
): EdgeMotion {
|
|
1449
|
+
const motion: EdgeMotion = {animation, shownAt};
|
|
1450
|
+
edgeMotions.set(element, motion);
|
|
1451
|
+
animation.addEventListener?.('finish', () => {
|
|
1452
|
+
if (edgeMotions.get(element) === motion) {
|
|
1453
|
+
edgeMotions.delete(element);
|
|
1454
|
+
}
|
|
1455
|
+
});
|
|
1456
|
+
return motion;
|
|
1457
|
+
}
|
|
1458
|
+
|
|
1459
|
+
/**
|
|
1460
|
+
* After this commit's glides start (the batch flushes in a microtask queued
|
|
1461
|
+
* before this one), before the frame paints: once the content on `edge`'s
|
|
1462
|
+
* side glides, the moving edge rides that glide, frame by frame, so the two
|
|
1463
|
+
* never part, a reversal included (the glide carries its running motion).
|
|
1464
|
+
* `hiddenAt` turns that content's offset towards the edge's side into the
|
|
1465
|
+
* length the element hides; `frame` turns that length into a keyframe.
|
|
1466
|
+
* Without that glide (nothing on that side in the area, or nothing that
|
|
1467
|
+
* moves) the motion keeps its own curve. The animation is kept, its frames
|
|
1468
|
+
* replaced; `onRide` hears the ridden hidden length over time.
|
|
1469
|
+
*/
|
|
1470
|
+
function rideNeighbour(
|
|
1471
|
+
element: Element,
|
|
1472
|
+
area: Element,
|
|
1473
|
+
edge: LayoutEdge,
|
|
1474
|
+
rtl: boolean,
|
|
1475
|
+
animation: Animation,
|
|
1476
|
+
isCurrent: () => boolean,
|
|
1477
|
+
hiddenAt: (towards: number) => number,
|
|
1478
|
+
frame: (hidden: number) => Keyframe,
|
|
1479
|
+
onRide: (hidden: (t: number) => number) => void,
|
|
1480
|
+
): void {
|
|
1481
|
+
const effect = animation.effect as KeyframeEffect | null;
|
|
1482
|
+
if (effect == null || typeof effect.setKeyframes !== 'function') {
|
|
1483
|
+
return;
|
|
1484
|
+
}
|
|
1485
|
+
queueMicrotask(() => {
|
|
1486
|
+
if (!isCurrent()) {
|
|
1487
|
+
return;
|
|
1488
|
+
}
|
|
1489
|
+
const isEnd = edge.endsWith('end');
|
|
1490
|
+
const neighbour = isEnd
|
|
1491
|
+
? nextInFlow(element, area)
|
|
1492
|
+
: previousInFlow(element, area);
|
|
1493
|
+
const glide =
|
|
1494
|
+
neighbour == null ? null : glideMoving(neighbour, element, area);
|
|
1495
|
+
if (neighbour == null || glide == null) {
|
|
1496
|
+
return;
|
|
1497
|
+
}
|
|
1498
|
+
// A glide that moves the element itself in the same batch, short of what
|
|
1499
|
+
// it shares with the neighbour (an item above them closing): the edge
|
|
1500
|
+
// rides the neighbour's offset from the element, not from the page.
|
|
1501
|
+
const own = glideMoving(element, neighbour, area);
|
|
1502
|
+
const durationMs = Math.max(glide.durationMs, own?.durationMs ?? 0);
|
|
1503
|
+
// The neighbour's offset from its place relative to the element's,
|
|
1504
|
+
// towards the edge's side.
|
|
1505
|
+
const sign = isEnd ? 1 : -1;
|
|
1506
|
+
const hidden = (t: number): number => {
|
|
1507
|
+
const offset = glide.offsetAt(t);
|
|
1508
|
+
const moved = own?.offsetAt(t) ?? {x: 0, y: 0};
|
|
1509
|
+
return hiddenAt(
|
|
1510
|
+
sign *
|
|
1511
|
+
(edge.startsWith('inline')
|
|
1512
|
+
? (rtl ? -1 : 1) * (offset.x - moved.x)
|
|
1513
|
+
: offset.y - moved.y),
|
|
1514
|
+
);
|
|
1515
|
+
};
|
|
1516
|
+
effect.setKeyframes(sampleOver(durationMs, t => frame(hidden(t))));
|
|
1517
|
+
effect.updateTiming?.({duration: durationMs});
|
|
1518
|
+
onRide(hidden);
|
|
1519
|
+
});
|
|
1520
|
+
}
|
|
1521
|
+
|
|
1522
|
+
/**
|
|
1523
|
+
* The one-state reveal or conceal rides the content on its edge's side: the
|
|
1524
|
+
* element shows what lies between its fixed edge and that content, a reveal
|
|
1525
|
+
* less by however far the content still is from its place towards it, a
|
|
1526
|
+
* conceal all of it less however far the content has come, fading with what
|
|
1527
|
+
* it hides.
|
|
1528
|
+
*/
|
|
1529
|
+
function rideEdge(
|
|
1530
|
+
element: Element,
|
|
1531
|
+
area: Element,
|
|
1532
|
+
edge: LayoutEdge,
|
|
1533
|
+
rtl: boolean,
|
|
1534
|
+
motion: EdgeMotion,
|
|
1535
|
+
isConceal: boolean,
|
|
1536
|
+
): void {
|
|
1537
|
+
const extent = extentOf(element, edge);
|
|
1538
|
+
if (!(extent > 0)) {
|
|
1539
|
+
return;
|
|
1540
|
+
}
|
|
1541
|
+
rideNeighbour(
|
|
1542
|
+
element,
|
|
1543
|
+
area,
|
|
1544
|
+
edge,
|
|
1545
|
+
rtl,
|
|
1546
|
+
motion.animation,
|
|
1547
|
+
() => edgeMotions.get(element) === motion,
|
|
1548
|
+
towards =>
|
|
1549
|
+
Math.min(extent, Math.max(0, isConceal ? extent - towards : -towards)),
|
|
1550
|
+
hidden => ({
|
|
1551
|
+
opacity: 1 - hidden / extent,
|
|
1552
|
+
clipPath: pxClip(edge, hidden, rtl),
|
|
1553
|
+
}),
|
|
1554
|
+
hiddenAt => {
|
|
1555
|
+
motion.shownAt = t => 1 - hiddenAt(t) / extent;
|
|
1556
|
+
},
|
|
1557
|
+
);
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1150
1560
|
/**
|
|
1151
1561
|
* The changed element's own animation, on the same motion as the content
|
|
1152
|
-
* after it: content that appears reveals
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1562
|
+
* after it (`spec:AST-105` FR4): content that appears reveals from its
|
|
1563
|
+
* block-end edge downward, or from the `edge` it is given (FR9), and its edge
|
|
1564
|
+
* rides the glide of the content on that side once it starts. A reveal that
|
|
1565
|
+
* reverses a running conceal (an adopter opens it again mid-exit, after
|
|
1566
|
+
* `releaseLayoutExit`) starts from what the element shows. Plays only with a
|
|
1567
|
+
* handle, inside its area and in the area's visible part. Returns the
|
|
1568
|
+
* entrance it started, or null when it played none.
|
|
1155
1569
|
*/
|
|
1156
1570
|
export function playLayoutChange(
|
|
1157
1571
|
handle: AnimatedLayout | null | undefined,
|
|
1158
1572
|
element: Element,
|
|
1573
|
+
{edge = 'block-end'}: {edge?: LayoutEdge} = {},
|
|
1159
1574
|
): Animation | null {
|
|
1160
1575
|
if (handle == null) {
|
|
1161
1576
|
return null;
|
|
@@ -1171,26 +1586,40 @@ export function playLayoutChange(
|
|
|
1171
1586
|
if (motion.kind === 'instant') {
|
|
1172
1587
|
return null;
|
|
1173
1588
|
}
|
|
1589
|
+
const from = shownAtStart(element, 0);
|
|
1174
1590
|
if (motion.kind === 'fade') {
|
|
1175
|
-
return safeAnimate(element, [{opacity:
|
|
1591
|
+
return safeAnimate(element, [{opacity: from}, {opacity: 1}], {
|
|
1176
1592
|
duration: motion.durationMs,
|
|
1177
1593
|
easing: motion.easing,
|
|
1178
1594
|
});
|
|
1179
1595
|
}
|
|
1180
|
-
|
|
1596
|
+
const {progress} = motion;
|
|
1597
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
1598
|
+
const animation = safeAnimate(
|
|
1181
1599
|
element,
|
|
1182
|
-
sampleKeyframes(
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
})
|
|
1186
|
-
{duration:
|
|
1600
|
+
sampleKeyframes(progress, remaining => {
|
|
1601
|
+
const hidden = (1 - from) * remaining;
|
|
1602
|
+
return {opacity: 1 - hidden, clipPath: fractionClip(edge, hidden, rtl)};
|
|
1603
|
+
}),
|
|
1604
|
+
{duration: progress.durationMs, easing: 'linear'},
|
|
1187
1605
|
);
|
|
1606
|
+
if (animation != null) {
|
|
1607
|
+
const tracked = trackEdgeMotion(
|
|
1608
|
+
element,
|
|
1609
|
+
animation,
|
|
1610
|
+
t => 1 - (1 - from) * progress.remaining(t),
|
|
1611
|
+
);
|
|
1612
|
+
rideEdge(element, area, edge, rtl, tracked, false);
|
|
1613
|
+
}
|
|
1614
|
+
return animation;
|
|
1188
1615
|
}
|
|
1189
1616
|
|
|
1190
1617
|
/** The inline properties an exit sets, so a release removes exactly them. */
|
|
1191
1618
|
const EXIT_PROPERTIES = [
|
|
1192
1619
|
'margin-block-end',
|
|
1193
1620
|
'margin-inline-end',
|
|
1621
|
+
'margin-block-start',
|
|
1622
|
+
'margin-inline-start',
|
|
1194
1623
|
'pointer-events',
|
|
1195
1624
|
] as const;
|
|
1196
1625
|
|
|
@@ -1259,7 +1688,11 @@ function placeOf(
|
|
|
1259
1688
|
* so a gap or collapsing margins come out exact. Returns false, setting
|
|
1260
1689
|
* nothing, when no margin reaches that place.
|
|
1261
1690
|
*/
|
|
1262
|
-
function giveUpSpace(
|
|
1691
|
+
function giveUpSpace(
|
|
1692
|
+
element: HTMLElement,
|
|
1693
|
+
area: Element,
|
|
1694
|
+
edge: LayoutEdge = 'block-end',
|
|
1695
|
+
): boolean {
|
|
1263
1696
|
const view = element.ownerDocument.defaultView;
|
|
1264
1697
|
const parent =
|
|
1265
1698
|
element.parentElement == null
|
|
@@ -1270,24 +1703,43 @@ function giveUpSpace(element: HTMLElement, area: Element): boolean {
|
|
|
1270
1703
|
parent.display.includes('flex') &&
|
|
1271
1704
|
parent.flexDirection.startsWith('row');
|
|
1272
1705
|
const rtl = view?.getComputedStyle(element).direction === 'rtl';
|
|
1273
|
-
|
|
1274
|
-
|
|
1706
|
+
// The default block-end exit frees its space at its end, on the axis its
|
|
1707
|
+
// container lays it out on; an exit by another edge frees it on that
|
|
1708
|
+
// edge's side, so the element stays where it shows and the content beyond
|
|
1709
|
+
// that edge moves (FR9).
|
|
1710
|
+
const isStart = edge.endsWith('start');
|
|
1711
|
+
const property =
|
|
1712
|
+
edge === 'block-end'
|
|
1713
|
+
? isRow
|
|
1714
|
+
? 'margin-inline-end'
|
|
1715
|
+
: 'margin-block-end'
|
|
1716
|
+
: `margin-${edge}`;
|
|
1717
|
+
const isInline = property.includes('inline');
|
|
1718
|
+
const size = isInline ? element.offsetWidth : element.offsetHeight;
|
|
1275
1719
|
const next = nextInFlow(element, area);
|
|
1276
|
-
if (next == null) {
|
|
1720
|
+
if (next == null && !isStart) {
|
|
1277
1721
|
// Nothing after it in the area to land anywhere.
|
|
1278
1722
|
element.style.setProperty(property, `${-size}px`);
|
|
1279
1723
|
return true;
|
|
1280
1724
|
}
|
|
1281
1725
|
const own = element.style.getPropertyValue(property);
|
|
1282
1726
|
const ownPriority = element.style.getPropertyPriority(property);
|
|
1283
|
-
const axis =
|
|
1727
|
+
const axis = isInline ? 'inline' : 'block';
|
|
1284
1728
|
// The content after its container must land too: a flex-row item that
|
|
1285
1729
|
// sets its row's height moves what follows the row.
|
|
1286
1730
|
const afterParent =
|
|
1287
1731
|
element.parentElement == null || element.parentElement === area
|
|
1288
1732
|
? null
|
|
1289
1733
|
: nextInFlow(element.parentElement, area);
|
|
1290
|
-
|
|
1734
|
+
// By a start edge, what lies before it lands too, and the element itself
|
|
1735
|
+
// stays where it shows.
|
|
1736
|
+
const before = isStart ? previousInFlow(element, area) : null;
|
|
1737
|
+
const checked = [next, afterParent, before, isStart ? element : null].filter(
|
|
1738
|
+
(box): box is Element => box != null,
|
|
1739
|
+
);
|
|
1740
|
+
if (checked.length === 0) {
|
|
1741
|
+
return false;
|
|
1742
|
+
}
|
|
1291
1743
|
// The element's scale, read in the layout the caller's visibility check
|
|
1292
1744
|
// already laid out.
|
|
1293
1745
|
const scale = scaleOf(element, element.getBoundingClientRect());
|
|
@@ -1296,8 +1748,11 @@ function giveUpSpace(element: HTMLElement, area: Element): boolean {
|
|
|
1296
1748
|
// inside it).
|
|
1297
1749
|
const position = element.style.getPropertyValue('position');
|
|
1298
1750
|
const positionPriority = element.style.getPropertyPriority('position');
|
|
1751
|
+
const shown = isStart ? placeOf(element, rtl) : null;
|
|
1299
1752
|
element.style.setProperty('position', 'absolute', 'important');
|
|
1300
|
-
const targets = checked.map(box =>
|
|
1753
|
+
const targets = checked.map(box =>
|
|
1754
|
+
box === element && shown != null ? shown : placeOf(box, rtl),
|
|
1755
|
+
);
|
|
1301
1756
|
const target = targets[0];
|
|
1302
1757
|
if (position === '') {
|
|
1303
1758
|
element.style.removeProperty('position');
|
|
@@ -1310,7 +1765,7 @@ function giveUpSpace(element: HTMLElement, area: Element): boolean {
|
|
|
1310
1765
|
// A first guess (its box), then one correction from the measured result:
|
|
1311
1766
|
// a gap, a collapsed margin or the element's own margins.
|
|
1312
1767
|
element.style.setProperty(property, `${-size}px`);
|
|
1313
|
-
const guess = placeOf(
|
|
1768
|
+
const guess = placeOf(checked[0], rtl)[axis];
|
|
1314
1769
|
const correction = (target[axis] - guess) / perPx;
|
|
1315
1770
|
element.style.setProperty(property, `${-size + correction}px`);
|
|
1316
1771
|
// Everything checked must land on both axes: a flex-row item that sets
|
|
@@ -1355,6 +1810,11 @@ const replaced = new WeakMap<Element, Replaced>();
|
|
|
1355
1810
|
* element, after the change's `animate()` reported it measured, in the same
|
|
1356
1811
|
* task: the glide reads the layout once the element has given up its space.
|
|
1357
1812
|
*
|
|
1813
|
+
* It conceals to its block-end edge by default, or to the `edge` it is given
|
|
1814
|
+
* (`spec:AST-105` FR9), and its edge rides the glide of the content on that
|
|
1815
|
+
* side once it starts; a conceal that reverses a running reveal (a close
|
|
1816
|
+
* while it opens) starts from what the element shows.
|
|
1817
|
+
*
|
|
1358
1818
|
* Returns false, holding nothing, when the exit lands at once: no handle, a
|
|
1359
1819
|
* close no change in the area measured, outside the area or its visible part,
|
|
1360
1820
|
* Reduce Motion with a fine pointer, or a layout no end margin can free (a
|
|
@@ -1366,6 +1826,7 @@ export function holdLayoutExit(
|
|
|
1366
1826
|
handle: AnimatedLayout | null | undefined,
|
|
1367
1827
|
element: HTMLElement,
|
|
1368
1828
|
done: () => void,
|
|
1829
|
+
{edge = 'block-end'}: {edge?: LayoutEdge} = {},
|
|
1369
1830
|
): boolean {
|
|
1370
1831
|
if (handle == null) {
|
|
1371
1832
|
return false;
|
|
@@ -1403,7 +1864,7 @@ export function holdLayoutExit(
|
|
|
1403
1864
|
] as const,
|
|
1404
1865
|
),
|
|
1405
1866
|
};
|
|
1406
|
-
if (!giveUpSpace(element, area)) {
|
|
1867
|
+
if (!giveUpSpace(element, area, edge)) {
|
|
1407
1868
|
// A layout no end margin can free (a grid track and its gap, a flex-row
|
|
1408
1869
|
// item that sets its row's height): it hides at once, and the content
|
|
1409
1870
|
// after it takes its final place at once (`spec:AST-105` out of
|
|
@@ -1419,25 +1880,36 @@ export function holdLayoutExit(
|
|
|
1419
1880
|
// Out of reach while it conceals: no focus, no pointer, nothing read.
|
|
1420
1881
|
element.setAttribute('inert', '');
|
|
1421
1882
|
element.style.setProperty('pointer-events', 'none');
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
:
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1883
|
+
// A close while it opens: the reveal stops where it shows, and this starts
|
|
1884
|
+
// there.
|
|
1885
|
+
const from = shownAtStart(element, 1);
|
|
1886
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
1887
|
+
let animation: Animation | null;
|
|
1888
|
+
if (motion.kind === 'fade') {
|
|
1889
|
+
animation = safeAnimate(element, [{opacity: from}, {opacity: 0}], {
|
|
1890
|
+
duration: motion.durationMs,
|
|
1891
|
+
easing: motion.easing,
|
|
1892
|
+
fill: 'forwards',
|
|
1893
|
+
});
|
|
1894
|
+
} else {
|
|
1895
|
+
const {progress} = motion;
|
|
1896
|
+
animation = safeAnimate(
|
|
1897
|
+
element,
|
|
1898
|
+
sampleKeyframes(progress, remaining => {
|
|
1899
|
+
const shown = from * remaining;
|
|
1900
|
+
return {opacity: shown, clipPath: fractionClip(edge, 1 - shown, rtl)};
|
|
1901
|
+
}),
|
|
1902
|
+
{duration: progress.durationMs, easing: 'linear', fill: 'forwards'},
|
|
1903
|
+
);
|
|
1904
|
+
if (animation != null) {
|
|
1905
|
+
const tracked = trackEdgeMotion(
|
|
1906
|
+
element,
|
|
1907
|
+
animation,
|
|
1908
|
+
t => from * progress.remaining(t),
|
|
1909
|
+
);
|
|
1910
|
+
rideEdge(element, area, edge, rtl, tracked, true);
|
|
1911
|
+
}
|
|
1912
|
+
}
|
|
1441
1913
|
exits.set(element, animation);
|
|
1442
1914
|
if (animation == null) {
|
|
1443
1915
|
// No Web Animations: nothing to wait for.
|
|
@@ -1462,6 +1934,16 @@ export function releaseLayoutExit(element: HTMLElement): void {
|
|
|
1462
1934
|
if (!exits.has(element)) {
|
|
1463
1935
|
return;
|
|
1464
1936
|
}
|
|
1937
|
+
// What the exit showed as it stopped: a reveal in the same frame (opened
|
|
1938
|
+
// again mid-exit) starts there.
|
|
1939
|
+
const running = edgeMotions.get(element);
|
|
1940
|
+
if (running != null) {
|
|
1941
|
+
edgeMotions.delete(element);
|
|
1942
|
+
stoppedShown.set(element, {
|
|
1943
|
+
fraction: shownNow(running),
|
|
1944
|
+
at: timelineNow(element),
|
|
1945
|
+
});
|
|
1946
|
+
}
|
|
1465
1947
|
exits.get(element)?.cancel();
|
|
1466
1948
|
exits.delete(element);
|
|
1467
1949
|
const prior = replaced.get(element);
|
|
@@ -1743,6 +2225,555 @@ export function playLayoutFrames(
|
|
|
1743
2225
|
return end;
|
|
1744
2226
|
}
|
|
1745
2227
|
|
|
2228
|
+
// ---------------------------------------------------------------------------
|
|
2229
|
+
// The edge reveal's two-state form (`spec:AST-105` FR9)
|
|
2230
|
+
// ---------------------------------------------------------------------------
|
|
2231
|
+
|
|
2232
|
+
/**
|
|
2233
|
+
* An element's old state, held before a change commits for FR9's two-state
|
|
2234
|
+
* edge reveal.
|
|
2235
|
+
*/
|
|
2236
|
+
export interface LayoutEdgeHold {
|
|
2237
|
+
readonly element: HTMLElement;
|
|
2238
|
+
/** Where it showed, in viewport coordinates. */
|
|
2239
|
+
readonly rect: DOMRect;
|
|
2240
|
+
/**
|
|
2241
|
+
* Its size along the edge's axis as it shows: what a running reveal shows
|
|
2242
|
+
* mid-motion, or its box.
|
|
2243
|
+
*/
|
|
2244
|
+
readonly extent: number;
|
|
2245
|
+
/** Its old state as one transient copy, or null when it cannot be held. */
|
|
2246
|
+
readonly swap: LayoutSwap | null;
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2249
|
+
/** A playing two-state edge reveal. */
|
|
2250
|
+
export interface LayoutEdgeMotion {
|
|
2251
|
+
/** Ends it at once (a new change, an unmount). */
|
|
2252
|
+
end(): void;
|
|
2253
|
+
/**
|
|
2254
|
+
* What it shows now: its extent along the edge's axis and the motion's
|
|
2255
|
+
* progress (0 → 1), or null once it has settled.
|
|
2256
|
+
*/
|
|
2257
|
+
shown(): {readonly extent: number; readonly progress: number} | null;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2260
|
+
/** What the caller adds to a two-state edge reveal: only its own fades. */
|
|
2261
|
+
export interface LayoutEdgeParts {
|
|
2262
|
+
/** The old state's copy's opacity over the progress (1 when absent). */
|
|
2263
|
+
readonly copyOpacity?: (p: number) => number;
|
|
2264
|
+
/** Its text's opacity, on its own curve, when that differs from the copy's. */
|
|
2265
|
+
readonly copyText?: (p: number) => number;
|
|
2266
|
+
/** Parts the page renders, playing with the reveal (the new state's text). */
|
|
2267
|
+
readonly incoming?: ReadonlyArray<{
|
|
2268
|
+
readonly element: Element;
|
|
2269
|
+
readonly frames: (p: number) => Keyframe;
|
|
2270
|
+
}>;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
const SETTLED: LayoutEdgeMotion = {end: () => {}, shown: () => null};
|
|
2274
|
+
|
|
2275
|
+
/**
|
|
2276
|
+
* Before a change commits: hold `element`'s old state for FR9's two-state edge
|
|
2277
|
+
* reveal, its box and the extent it shows along `edge`'s axis (`shown`, from a
|
|
2278
|
+
* running reveal, or its box), and its old state as one transient copy (null
|
|
2279
|
+
* when it cannot be copied, or under an immediate change). Returns null
|
|
2280
|
+
* without the element or without Web Animations.
|
|
2281
|
+
*/
|
|
2282
|
+
export function holdLayoutEdge(
|
|
2283
|
+
handle: AnimatedLayout | null | undefined,
|
|
2284
|
+
element: HTMLElement | null,
|
|
2285
|
+
{
|
|
2286
|
+
edge = 'block-end',
|
|
2287
|
+
shown = null,
|
|
2288
|
+
}: {edge?: LayoutEdge; shown?: number | null} = {},
|
|
2289
|
+
): LayoutEdgeHold | null {
|
|
2290
|
+
if (element == null || typeof element.animate !== 'function') {
|
|
2291
|
+
return null;
|
|
2292
|
+
}
|
|
2293
|
+
const rect = element.getBoundingClientRect();
|
|
2294
|
+
return {
|
|
2295
|
+
element,
|
|
2296
|
+
rect,
|
|
2297
|
+
extent: shown ?? (edge.startsWith('inline') ? rect.width : rect.height),
|
|
2298
|
+
swap: holdLayoutSwap(handle, element),
|
|
2299
|
+
};
|
|
2300
|
+
}
|
|
2301
|
+
|
|
2302
|
+
/**
|
|
2303
|
+
* After the change commits, before paint: FR9's two-state edge reveal, on
|
|
2304
|
+
* FR4's one motion. The state that is larger along `edge`'s axis is clipped
|
|
2305
|
+
* on that edge, from the extent the element showed to the new one: a conceal
|
|
2306
|
+
* covers the old state, held as the swap's copy, with the element raised
|
|
2307
|
+
* above it; a reveal opens the element, under the old state. With
|
|
2308
|
+
* `rideWith`, an element the glide moves after that edge (a rail's content
|
|
2309
|
+
* column), the edge rides its glide, frame by frame, so the two never part,
|
|
2310
|
+
* also when this reverses a running reveal; without it the edge follows the
|
|
2311
|
+
* motion's curve. `parts` gives the caller's own fades, told whether the edge
|
|
2312
|
+
* conceals and the element as it is now. Under Reduce Motion it follows
|
|
2313
|
+
* `design:reduced-motion`: opacity only under a coarse primary pointer (DR2),
|
|
2314
|
+
* an immediate change otherwise (DR3). `current` is the element after the
|
|
2315
|
+
* commit, when it remounted.
|
|
2316
|
+
*/
|
|
2317
|
+
export function playLayoutEdge(
|
|
2318
|
+
hold: LayoutEdgeHold,
|
|
2319
|
+
current: HTMLElement | null,
|
|
2320
|
+
handle: AnimatedLayout,
|
|
2321
|
+
{
|
|
2322
|
+
edge = 'block-end',
|
|
2323
|
+
rideWith = null,
|
|
2324
|
+
parts,
|
|
2325
|
+
}: {
|
|
2326
|
+
edge?: LayoutEdge;
|
|
2327
|
+
rideWith?: Element | null;
|
|
2328
|
+
parts?: (isConceal: boolean, element: HTMLElement) => LayoutEdgeParts;
|
|
2329
|
+
} = {},
|
|
2330
|
+
): LayoutEdgeMotion {
|
|
2331
|
+
const {rect: before, swap, extent: from} = hold;
|
|
2332
|
+
const element = current?.isConnected === true ? current : hold.element;
|
|
2333
|
+
if (!element.isConnected) {
|
|
2334
|
+
return SETTLED;
|
|
2335
|
+
}
|
|
2336
|
+
const motion = layoutMotion(element);
|
|
2337
|
+
const next = element.getBoundingClientRect();
|
|
2338
|
+
const isInline = edge.startsWith('inline');
|
|
2339
|
+
const extentOfBox = (box: DOMRect) => (isInline ? box.width : box.height);
|
|
2340
|
+
const to = extentOfBox(next);
|
|
2341
|
+
if (motion.kind === 'instant' || Math.abs(to - from) < 0.5) {
|
|
2342
|
+
return SETTLED;
|
|
2343
|
+
}
|
|
2344
|
+
const isConceal = to < from;
|
|
2345
|
+
const isEnd = edge.endsWith('end');
|
|
2346
|
+
const rtl = isInline && isRtl(element);
|
|
2347
|
+
// The row that holds the element and the ridden element, or its parent.
|
|
2348
|
+
const host =
|
|
2349
|
+
rideWith?.parentElement != null && rideWith.parentElement.contains(element)
|
|
2350
|
+
? rideWith.parentElement
|
|
2351
|
+
: element.parentElement;
|
|
2352
|
+
// Riding needs the swap: its frames carry the ridden element's travel.
|
|
2353
|
+
// Without one (old state that cannot be copied) the edge follows the
|
|
2354
|
+
// motion's curve.
|
|
2355
|
+
const rides =
|
|
2356
|
+
host != null &&
|
|
2357
|
+
rideWith != null &&
|
|
2358
|
+
rideWith.parentElement === host &&
|
|
2359
|
+
swap != null;
|
|
2360
|
+
// The ridden element's travel so far, towards the edge's side.
|
|
2361
|
+
const sign = isEnd ? 1 : -1;
|
|
2362
|
+
const towards = (ride: LayoutRide) =>
|
|
2363
|
+
sign * (isInline ? (rtl ? -ride.x : ride.x) : ride.y);
|
|
2364
|
+
const extentAt = (p: number, ride: LayoutRide) =>
|
|
2365
|
+
rides ? from + towards(ride) : from + (to - from) * p;
|
|
2366
|
+
const clip = (hidden: number) => pxClip(edge, hidden, rtl);
|
|
2367
|
+
const now = () => Number(element.ownerDocument.timeline?.currentTime ?? 0);
|
|
2368
|
+
const startedAt = now();
|
|
2369
|
+
const durationMs =
|
|
2370
|
+
motion.kind === 'spring' ? motion.progress.durationMs : motion.durationMs;
|
|
2371
|
+
const shown = (): {extent: number; progress: number} | null => {
|
|
2372
|
+
const elapsed = now() - startedAt;
|
|
2373
|
+
if (elapsed >= durationMs) {
|
|
2374
|
+
return null;
|
|
2375
|
+
}
|
|
2376
|
+
const progress =
|
|
2377
|
+
motion.kind === 'spring' ? 1 - motion.progress.remaining(elapsed) : 0;
|
|
2378
|
+
let extent = from + (to - from) * progress;
|
|
2379
|
+
if (rides && rideWith != null) {
|
|
2380
|
+
// The edge is the ridden element's: read it where it shows.
|
|
2381
|
+
const ridden = rideWith.getBoundingClientRect();
|
|
2382
|
+
const own = element.getBoundingClientRect();
|
|
2383
|
+
extent = !isInline
|
|
2384
|
+
? isEnd
|
|
2385
|
+
? ridden.top - own.top
|
|
2386
|
+
: own.bottom - ridden.bottom
|
|
2387
|
+
: isEnd !== rtl
|
|
2388
|
+
? ridden.left - own.left
|
|
2389
|
+
: own.right - ridden.right;
|
|
2390
|
+
}
|
|
2391
|
+
return {extent, progress};
|
|
2392
|
+
};
|
|
2393
|
+
// The ride, when the ridden element does not glide: its whole travel at
|
|
2394
|
+
// once, physical (its old place less its new).
|
|
2395
|
+
const travel = sign * (from - to);
|
|
2396
|
+
const rideSpec =
|
|
2397
|
+
rides && rideWith != null
|
|
2398
|
+
? {
|
|
2399
|
+
element: rideWith,
|
|
2400
|
+
travel: isInline
|
|
2401
|
+
? {x: rtl ? -travel : travel, y: 0}
|
|
2402
|
+
: {x: 0, y: travel},
|
|
2403
|
+
isCopyMoved: false,
|
|
2404
|
+
}
|
|
2405
|
+
: undefined;
|
|
2406
|
+
// The copy keeps the element's fixed edge (the one opposite `edge`) where
|
|
2407
|
+
// the element is now, so it meets the element wherever it sits.
|
|
2408
|
+
const fixedAtStart = isEnd !== (isInline && rtl);
|
|
2409
|
+
const at = new DOMRect(
|
|
2410
|
+
isInline && !fixedAtStart ? next.right - before.width : next.left,
|
|
2411
|
+
!isInline && !isEnd ? next.bottom - before.height : next.top,
|
|
2412
|
+
before.width,
|
|
2413
|
+
before.height,
|
|
2414
|
+
);
|
|
2415
|
+
const own = parts?.(isConceal, element) ?? {};
|
|
2416
|
+
const copyOpacity = own.copyOpacity ?? (() => 1);
|
|
2417
|
+
|
|
2418
|
+
if (isConceal) {
|
|
2419
|
+
// A conceal covers the old state, held by the swap, from the extent it
|
|
2420
|
+
// shows down to the new one; the element, raised above it, shows through.
|
|
2421
|
+
if (swap == null || host == null) {
|
|
2422
|
+
return SETTLED;
|
|
2423
|
+
}
|
|
2424
|
+
let raised: HTMLElement | null = element;
|
|
2425
|
+
while (raised != null && raised.parentElement !== host) {
|
|
2426
|
+
raised = raised.parentElement;
|
|
2427
|
+
}
|
|
2428
|
+
const restore =
|
|
2429
|
+
raised == null
|
|
2430
|
+
? null
|
|
2431
|
+
: {position: raised.style.position, zIndex: raised.style.zIndex};
|
|
2432
|
+
if (raised != null) {
|
|
2433
|
+
if (getComputedStyle(raised).position === 'static') {
|
|
2434
|
+
raised.style.position = 'relative';
|
|
2435
|
+
}
|
|
2436
|
+
raised.style.zIndex = '2';
|
|
2437
|
+
}
|
|
2438
|
+
const end = playLayoutSwap(
|
|
2439
|
+
{...swap, rect: at},
|
|
2440
|
+
{
|
|
2441
|
+
host,
|
|
2442
|
+
isOpaque: true,
|
|
2443
|
+
copy: (p, ride) => ({
|
|
2444
|
+
clipPath: clip(extentOfBox(before) - extentAt(p, ride)),
|
|
2445
|
+
opacity: copyOpacity(p),
|
|
2446
|
+
}),
|
|
2447
|
+
copyText: own.copyText,
|
|
2448
|
+
rideWith: rideSpec,
|
|
2449
|
+
onEnd: () => {
|
|
2450
|
+
if (raised != null && restore != null) {
|
|
2451
|
+
raised.style.position = restore.position;
|
|
2452
|
+
raised.style.zIndex = restore.zIndex;
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
incoming: own.incoming ?? [],
|
|
2456
|
+
},
|
|
2457
|
+
);
|
|
2458
|
+
return {end, shown};
|
|
2459
|
+
}
|
|
2460
|
+
|
|
2461
|
+
// A reveal opens the element from the extent it showed, under the old
|
|
2462
|
+
// state held by the same swap.
|
|
2463
|
+
const incoming = [
|
|
2464
|
+
{
|
|
2465
|
+
element,
|
|
2466
|
+
frames: (p: number, ride: LayoutRide) => ({
|
|
2467
|
+
clipPath: clip(to - extentAt(p, ride)),
|
|
2468
|
+
}),
|
|
2469
|
+
},
|
|
2470
|
+
...(own.incoming ?? []),
|
|
2471
|
+
];
|
|
2472
|
+
const end =
|
|
2473
|
+
swap != null && host != null
|
|
2474
|
+
? playLayoutSwap(
|
|
2475
|
+
{...swap, rect: at},
|
|
2476
|
+
{
|
|
2477
|
+
host,
|
|
2478
|
+
isOpaque: true,
|
|
2479
|
+
copy: p => ({opacity: copyOpacity(p)}),
|
|
2480
|
+
copyText: own.copyText,
|
|
2481
|
+
rideWith: rideSpec,
|
|
2482
|
+
incoming,
|
|
2483
|
+
},
|
|
2484
|
+
)
|
|
2485
|
+
: playLayoutFrames(handle, incoming);
|
|
2486
|
+
return {end, shown};
|
|
2487
|
+
}
|
|
2488
|
+
|
|
2489
|
+
// ---------------------------------------------------------------------------
|
|
2490
|
+
// The edge reveal of a resized element (`spec:AST-105` FR9, no copy)
|
|
2491
|
+
// ---------------------------------------------------------------------------
|
|
2492
|
+
|
|
2493
|
+
/** A resized element's edge reveal, reported around its change. */
|
|
2494
|
+
export interface LayoutEdgeReport {
|
|
2495
|
+
/** Before the change commits: measures the element and what moves. */
|
|
2496
|
+
measureBefore(): void;
|
|
2497
|
+
/**
|
|
2498
|
+
* After the new size is applied, before paint: the element reveals or
|
|
2499
|
+
* conceals by its edge, from the extent it showed to its new one, and the
|
|
2500
|
+
* content beside it glides on the same motion.
|
|
2501
|
+
*/
|
|
2502
|
+
animate(): void;
|
|
2503
|
+
/** Ends a running reveal or conceal at once, removing what it holds. */
|
|
2504
|
+
cancel(): void;
|
|
2505
|
+
}
|
|
2506
|
+
|
|
2507
|
+
/** A running edge reveal of a resized element. */
|
|
2508
|
+
interface ResizeReveal {
|
|
2509
|
+
readonly animation: Animation | null;
|
|
2510
|
+
/** The extent it shows `t` ms in, in its own px. */
|
|
2511
|
+
shownAt: (t: number) => number;
|
|
2512
|
+
/** Its extent along the edge's axis as laid out, held or not. */
|
|
2513
|
+
readonly box: number;
|
|
2514
|
+
/** Ends it, putting back what it replaced. */
|
|
2515
|
+
release(): void;
|
|
2516
|
+
}
|
|
2517
|
+
|
|
2518
|
+
const resizeReveals = new WeakMap<Element, ResizeReveal>();
|
|
2519
|
+
|
|
2520
|
+
/** The inline properties a size hold sets, by axis. */
|
|
2521
|
+
const HOLD_PROPERTIES = {
|
|
2522
|
+
inline: [
|
|
2523
|
+
'inline-size',
|
|
2524
|
+
'min-inline-size',
|
|
2525
|
+
'max-inline-size',
|
|
2526
|
+
'flex-basis',
|
|
2527
|
+
'flex-grow',
|
|
2528
|
+
'flex-shrink',
|
|
2529
|
+
],
|
|
2530
|
+
block: [
|
|
2531
|
+
'block-size',
|
|
2532
|
+
'min-block-size',
|
|
2533
|
+
'max-block-size',
|
|
2534
|
+
'flex-basis',
|
|
2535
|
+
'flex-grow',
|
|
2536
|
+
'flex-shrink',
|
|
2537
|
+
],
|
|
2538
|
+
} as const;
|
|
2539
|
+
|
|
2540
|
+
/**
|
|
2541
|
+
* Holds `element` at `extent` own px along `edge`'s axis while it conceals to
|
|
2542
|
+
* `keep`, freeing the difference by the margin on that edge's side, so what
|
|
2543
|
+
* lies beyond the edge stays where the new size puts it. Returns what puts
|
|
2544
|
+
* back every value it set, or null when no margin frees it (the content on
|
|
2545
|
+
* that side did not stay put), having set nothing.
|
|
2546
|
+
*/
|
|
2547
|
+
function holdExtent(
|
|
2548
|
+
element: HTMLElement,
|
|
2549
|
+
area: Element,
|
|
2550
|
+
edge: LayoutEdge,
|
|
2551
|
+
extent: number,
|
|
2552
|
+
keep: number,
|
|
2553
|
+
): (() => void) | null {
|
|
2554
|
+
const axis = edge.startsWith('inline') ? 'inline' : 'block';
|
|
2555
|
+
const margin = `margin-${edge}`;
|
|
2556
|
+
const properties = [...HOLD_PROPERTIES[axis], margin];
|
|
2557
|
+
const prior = properties.map(
|
|
2558
|
+
property =>
|
|
2559
|
+
[
|
|
2560
|
+
property,
|
|
2561
|
+
element.style.getPropertyValue(property),
|
|
2562
|
+
element.style.getPropertyPriority(property),
|
|
2563
|
+
] as const,
|
|
2564
|
+
);
|
|
2565
|
+
const restore = () => {
|
|
2566
|
+
for (const [property, value, priority] of prior) {
|
|
2567
|
+
if (value === '') {
|
|
2568
|
+
element.style.removeProperty(property);
|
|
2569
|
+
} else {
|
|
2570
|
+
element.style.setProperty(property, value, priority);
|
|
2571
|
+
}
|
|
2572
|
+
}
|
|
2573
|
+
};
|
|
2574
|
+
const isEnd = edge.endsWith('end');
|
|
2575
|
+
const rtl = axis === 'inline' && isRtl(element);
|
|
2576
|
+
const beyond = isEnd
|
|
2577
|
+
? nextInFlow(element, area)
|
|
2578
|
+
: previousInFlow(element, area);
|
|
2579
|
+
const before = beyond == null ? null : placeOf(beyond, rtl);
|
|
2580
|
+
const size = `${extent}px`;
|
|
2581
|
+
element.style.setProperty(`${axis}-size`, size, 'important');
|
|
2582
|
+
element.style.setProperty(`min-${axis}-size`, size, 'important');
|
|
2583
|
+
element.style.setProperty(`max-${axis}-size`, size, 'important');
|
|
2584
|
+
element.style.setProperty('flex-basis', 'auto', 'important');
|
|
2585
|
+
element.style.setProperty('flex-grow', '0', 'important');
|
|
2586
|
+
element.style.setProperty('flex-shrink', '0', 'important');
|
|
2587
|
+
element.style.setProperty(margin, `${keep - extent}px`, 'important');
|
|
2588
|
+
if (beyond != null && before != null) {
|
|
2589
|
+
// One correction from the measured result (a gap, the element's own
|
|
2590
|
+
// margin), then everything beyond the edge must be where it was.
|
|
2591
|
+
const landed = placeOf(beyond, rtl);
|
|
2592
|
+
const scale = scaleOf(element, element.getBoundingClientRect());
|
|
2593
|
+
const perPx = axis === 'inline' ? scale.x : scale.y;
|
|
2594
|
+
const sign = isEnd ? 1 : -1;
|
|
2595
|
+
const drift = (landed[axis] - before[axis]) * sign;
|
|
2596
|
+
if (Math.abs(drift) > 0.5) {
|
|
2597
|
+
element.style.setProperty(
|
|
2598
|
+
margin,
|
|
2599
|
+
`${keep - extent - drift / perPx}px`,
|
|
2600
|
+
'important',
|
|
2601
|
+
);
|
|
2602
|
+
}
|
|
2603
|
+
const settled = placeOf(beyond, rtl);
|
|
2604
|
+
if (
|
|
2605
|
+
Math.abs(settled.block - before.block) > 1 ||
|
|
2606
|
+
Math.abs(settled.inline - before.inline) > 1
|
|
2607
|
+
) {
|
|
2608
|
+
restore();
|
|
2609
|
+
return null;
|
|
2610
|
+
}
|
|
2611
|
+
}
|
|
2612
|
+
return restore;
|
|
2613
|
+
}
|
|
2614
|
+
|
|
2615
|
+
/**
|
|
2616
|
+
* Reports a resized element's edge reveal (`spec:AST-105` FR9) with no copy:
|
|
2617
|
+
* a resize controller's pane collapsing or opening beside the content it
|
|
2618
|
+
* shares a row with (`component:Resizable` FR8, `component:LayoutPanel`
|
|
2619
|
+
* FR7). Measure before the change commits and animate after the
|
|
2620
|
+
* new size is applied, as `reportLayoutChange` does; the content beside the
|
|
2621
|
+
* element glides through that report. A larger extent reveals by `edge` from
|
|
2622
|
+
* the extent the element showed. A smaller one conceals: the element is held
|
|
2623
|
+
* at the extent it was laid out at, the difference freed by the margin on
|
|
2624
|
+
* that edge's side so the content beyond it stays where the new size puts it,
|
|
2625
|
+
* and clipped down to its new extent; the hold goes when the motion ends. The
|
|
2626
|
+
* moving edge rides the glide of the content on that side, frame by frame,
|
|
2627
|
+
* and a change made while it runs starts from the extent it shows. It slides:
|
|
2628
|
+
* nothing fades. Under Reduce Motion with a coarse primary pointer a reveal
|
|
2629
|
+
* fades in and a conceal lands at once (`design:reduced-motion` DR2); with a
|
|
2630
|
+
* fine one every change lands at once (DR3).
|
|
2631
|
+
*/
|
|
2632
|
+
export function reportLayoutEdge(
|
|
2633
|
+
handle: AnimatedLayout | null | undefined,
|
|
2634
|
+
getElement: () => HTMLElement | null,
|
|
2635
|
+
{edge = 'block-end'}: {edge?: LayoutEdge} = {},
|
|
2636
|
+
): LayoutEdgeReport {
|
|
2637
|
+
const report = reportLayoutChange(handle, getElement);
|
|
2638
|
+
/**
|
|
2639
|
+
* What the element showed, its laid-out extent and its box, before the
|
|
2640
|
+
* change.
|
|
2641
|
+
*/
|
|
2642
|
+
let measured: {shown: number; box: number; rect: DOMRect} | null = null;
|
|
2643
|
+
const release = (element: HTMLElement | null) => {
|
|
2644
|
+
if (element == null) {
|
|
2645
|
+
return;
|
|
2646
|
+
}
|
|
2647
|
+
resizeReveals.get(element)?.release();
|
|
2648
|
+
};
|
|
2649
|
+
return {
|
|
2650
|
+
measureBefore() {
|
|
2651
|
+
const element = getElement();
|
|
2652
|
+
measured = null;
|
|
2653
|
+
if (element != null) {
|
|
2654
|
+
const running = resizeReveals.get(element);
|
|
2655
|
+
const elapsed = Number(running?.animation?.currentTime);
|
|
2656
|
+
const rect = element.getBoundingClientRect();
|
|
2657
|
+
measured =
|
|
2658
|
+
running == null
|
|
2659
|
+
? {
|
|
2660
|
+
shown: extentOf(element, edge),
|
|
2661
|
+
box: extentOf(element, edge),
|
|
2662
|
+
rect,
|
|
2663
|
+
}
|
|
2664
|
+
: {
|
|
2665
|
+
shown: running.shownAt(Number.isFinite(elapsed) ? elapsed : 0),
|
|
2666
|
+
box: running.box,
|
|
2667
|
+
rect,
|
|
2668
|
+
};
|
|
2669
|
+
running?.release();
|
|
2670
|
+
}
|
|
2671
|
+
report.measureBefore();
|
|
2672
|
+
},
|
|
2673
|
+
animate() {
|
|
2674
|
+
report.animate();
|
|
2675
|
+
const element = getElement();
|
|
2676
|
+
const before = measured;
|
|
2677
|
+
measured = null;
|
|
2678
|
+
if (handle == null || element == null || before == null) {
|
|
2679
|
+
return;
|
|
2680
|
+
}
|
|
2681
|
+
const area = areaOf(handle, element);
|
|
2682
|
+
if (area == null) {
|
|
2683
|
+
return;
|
|
2684
|
+
}
|
|
2685
|
+
const after = extentOf(element, edge);
|
|
2686
|
+
if (Math.abs(after - before.shown) < 0.5) {
|
|
2687
|
+
return;
|
|
2688
|
+
}
|
|
2689
|
+
// In the area's visible part before or after: a pane collapsing to
|
|
2690
|
+
// nothing has no box after.
|
|
2691
|
+
const visible = visibleRect(area);
|
|
2692
|
+
if (
|
|
2693
|
+
!intersects(element.getBoundingClientRect(), visible) &&
|
|
2694
|
+
!intersects(before.rect, visible)
|
|
2695
|
+
) {
|
|
2696
|
+
return;
|
|
2697
|
+
}
|
|
2698
|
+
const motion = layoutMotion(area);
|
|
2699
|
+
if (motion.kind === 'instant') {
|
|
2700
|
+
return;
|
|
2701
|
+
}
|
|
2702
|
+
const isConceal = after < before.shown;
|
|
2703
|
+
if (motion.kind === 'fade') {
|
|
2704
|
+
if (!isConceal) {
|
|
2705
|
+
safeAnimate(element, [{opacity: 0}, {opacity: 1}], {
|
|
2706
|
+
duration: motion.durationMs,
|
|
2707
|
+
easing: motion.easing,
|
|
2708
|
+
});
|
|
2709
|
+
}
|
|
2710
|
+
return;
|
|
2711
|
+
}
|
|
2712
|
+
const {progress} = motion;
|
|
2713
|
+
const rtl = edge.startsWith('inline') && isRtl(element);
|
|
2714
|
+
// The box the clip works in: the new one for a reveal; for a conceal,
|
|
2715
|
+
// the one it was laid out at, held while it runs.
|
|
2716
|
+
const box = isConceal ? Math.max(before.box, before.shown) : after;
|
|
2717
|
+
const restore = isConceal
|
|
2718
|
+
? holdExtent(element, area, edge, box, after)
|
|
2719
|
+
: () => {};
|
|
2720
|
+
if (restore == null) {
|
|
2721
|
+
return;
|
|
2722
|
+
}
|
|
2723
|
+
// Hidden at the start and at the end, in the box's own px.
|
|
2724
|
+
const from = box - before.shown;
|
|
2725
|
+
const to = box - after;
|
|
2726
|
+
const curve = (t: number) => to + (from - to) * progress.remaining(t);
|
|
2727
|
+
const animation = safeAnimate(
|
|
2728
|
+
element,
|
|
2729
|
+
sampleOver(progress.durationMs, t => ({
|
|
2730
|
+
clipPath: pxClip(edge, curve(t), rtl),
|
|
2731
|
+
})),
|
|
2732
|
+
{duration: progress.durationMs, easing: 'linear'},
|
|
2733
|
+
);
|
|
2734
|
+
const reveal: ResizeReveal = {
|
|
2735
|
+
animation,
|
|
2736
|
+
shownAt: t => box - curve(t),
|
|
2737
|
+
box,
|
|
2738
|
+
release: () => {
|
|
2739
|
+
if (resizeReveals.get(element) !== reveal) {
|
|
2740
|
+
return;
|
|
2741
|
+
}
|
|
2742
|
+
resizeReveals.delete(element);
|
|
2743
|
+
animation?.cancel();
|
|
2744
|
+
restore();
|
|
2745
|
+
},
|
|
2746
|
+
};
|
|
2747
|
+
if (animation == null) {
|
|
2748
|
+
restore();
|
|
2749
|
+
return;
|
|
2750
|
+
}
|
|
2751
|
+
resizeReveals.set(element, reveal);
|
|
2752
|
+
animation.addEventListener?.('finish', reveal.release);
|
|
2753
|
+
rideNeighbour(
|
|
2754
|
+
element,
|
|
2755
|
+
area,
|
|
2756
|
+
edge,
|
|
2757
|
+
rtl,
|
|
2758
|
+
animation,
|
|
2759
|
+
() => resizeReveals.get(element) === reveal,
|
|
2760
|
+
// Anywhere in its box: the content beside it may carry a running
|
|
2761
|
+
// motion past where this one starts or ends, and the edge follows.
|
|
2762
|
+
towards =>
|
|
2763
|
+
Math.min(box, Math.max(0, isConceal ? to - towards : -towards)),
|
|
2764
|
+
hidden => ({clipPath: pxClip(edge, hidden, rtl)}),
|
|
2765
|
+
hiddenAt => {
|
|
2766
|
+
reveal.shownAt = t => box - hiddenAt(t);
|
|
2767
|
+
},
|
|
2768
|
+
);
|
|
2769
|
+
},
|
|
2770
|
+
cancel() {
|
|
2771
|
+
measured = null;
|
|
2772
|
+
release(getElement());
|
|
2773
|
+
},
|
|
2774
|
+
};
|
|
2775
|
+
}
|
|
2776
|
+
|
|
1746
2777
|
/**
|
|
1747
2778
|
* A disclosure's indicator (its chevron) turns on the same motion as the
|
|
1748
2779
|
* glide: its CSS transition takes the spring as a `linear()` easing, and an
|