@astryxdesign/core 0.7.4 → 0.7.5-canary.0418c47
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/README.md +12 -9
- package/dist/AlertDialog/AlertDialog.d.ts +2 -2
- package/dist/AlertDialog/AlertDialog.js +1 -1
- package/dist/AlertDialog/index.d.ts +4 -4
- package/dist/AlertDialog/useImperativeAlertDialog.d.ts +1 -1
- package/dist/AppShell/AppShell.d.ts +4 -4
- package/dist/AppShell/index.d.ts +4 -4
- package/dist/AspectRatio/AspectRatio.d.ts +1 -1
- package/dist/AspectRatio/index.d.ts +2 -2
- package/dist/Avatar/Avatar.d.ts +2 -2
- package/dist/Avatar/AvatarStatusDot.d.ts +2 -2
- package/dist/Avatar/AvatarStatusDot.js +2 -2
- package/dist/Avatar/index.d.ts +4 -4
- package/dist/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroupContext.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
- package/dist/AvatarGroup/index.d.ts +6 -6
- package/dist/Badge/Badge.d.ts +2 -2
- package/dist/Badge/Badge.d.ts.map +1 -1
- package/dist/Badge/Badge.js +18 -2
- package/dist/Badge/index.d.ts +2 -2
- package/dist/Banner/Banner.d.ts +5 -4
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +64 -9
- package/dist/Banner/index.d.ts +2 -2
- package/dist/Blockquote/Blockquote.d.ts +1 -1
- package/dist/Blockquote/index.d.ts +2 -2
- package/dist/BottomSheet/BottomSheet.d.ts +58 -10
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +435 -198
- package/dist/BottomSheet/BottomSheetHostContext.d.ts +8 -0
- package/dist/BottomSheet/BottomSheetHostContext.d.ts.map +1 -0
- package/dist/BottomSheet/BottomSheetHostContext.js +35 -0
- package/dist/BottomSheet/BottomSheetPanel.d.ts +12 -4
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +76 -22
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts +54 -15
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +229 -27
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts +8 -2
- package/dist/BottomSheet/BottomSheetSwitcherContext.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetEscape.d.ts +3 -0
- package/dist/BottomSheet/bottomSheetEscape.d.ts.map +1 -0
- package/dist/BottomSheet/bottomSheetEscape.js +20 -0
- package/dist/BottomSheet/bottomSheetStack.d.ts +262 -0
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -0
- package/dist/BottomSheet/bottomSheetStack.js +1652 -0
- package/dist/BottomSheet/index.d.ts +4 -4
- package/dist/BottomSheet/useSheetGestures.d.ts +19 -3
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +43 -14
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +4 -4
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +5 -0
- package/dist/Breadcrumbs/Breadcrumbs.d.ts +2 -2
- package/dist/Breadcrumbs/index.d.ts +12 -12
- package/dist/Button/Button.d.ts +4 -4
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +18 -7
- package/dist/Button/index.d.ts +2 -2
- package/dist/ButtonGroup/ButtonGroup.d.ts +4 -4
- package/dist/ButtonGroup/index.d.ts +4 -4
- package/dist/Calendar/Calendar.d.ts +3 -3
- package/dist/Calendar/dayCellUtils.d.ts +1 -1
- package/dist/Calendar/getInitialFocusDate.d.ts +2 -2
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +1 -1
- package/dist/Calendar/hooks/index.d.ts +6 -6
- package/dist/Calendar/hooks/useCalendarConstraints.d.ts +2 -2
- package/dist/Calendar/hooks/useCalendarDays.d.ts +2 -2
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts +2 -2
- package/dist/Calendar/index.d.ts +5 -5
- package/dist/Calendar/utils.d.ts +1 -1
- package/dist/Card/Card.d.ts +4 -4
- package/dist/Card/index.d.ts +2 -2
- package/dist/Carousel/Carousel.d.ts +2 -2
- package/dist/Carousel/index.d.ts +2 -2
- package/dist/Center/Center.d.ts +2 -2
- package/dist/Center/index.d.ts +2 -2
- package/dist/Chat/ChatComposer.d.ts +1 -1
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +25 -32
- package/dist/Chat/ChatComposerDrawer.d.ts +1 -1
- package/dist/Chat/ChatComposerInput.d.ts +4 -4
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +55 -16
- package/dist/Chat/ChatDictationButton.d.ts +2 -2
- package/dist/Chat/ChatLayout.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatMessage.d.ts +2 -2
- package/dist/Chat/ChatMessageBubble.d.ts +2 -2
- package/dist/Chat/ChatMessageList.d.ts +3 -3
- package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
- package/dist/Chat/ChatMessageMetadata.js +2 -2
- package/dist/Chat/ChatPastedTextToken.d.ts.map +1 -1
- package/dist/Chat/ChatPastedTextToken.js +7 -6
- package/dist/Chat/ChatSendButton.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts +2 -2
- package/dist/Chat/ChatToolCalls.d.ts +1 -1
- package/dist/Chat/ChatToolCalls.js +4 -4
- package/dist/Chat/index.d.ts +43 -43
- package/dist/Chat/useChatComposerTokens.d.ts +1 -1
- package/dist/Chat/useChatDictation.d.ts +1 -1
- package/dist/Chat/useChatPasteAsToken.d.ts +1 -1
- package/dist/Chat/useTriggerMenu.d.ts +2 -2
- package/dist/CheckboxInput/CheckboxInput.d.ts +4 -4
- package/dist/CheckboxInput/index.d.ts +2 -2
- package/dist/CheckboxList/CheckboxList.d.ts +4 -4
- package/dist/CheckboxList/CheckboxListItem.d.ts +2 -2
- package/dist/CheckboxList/index.d.ts +4 -4
- package/dist/Citation/Citation.d.ts +1 -1
- package/dist/Citation/index.d.ts +2 -2
- package/dist/ClickableCard/ClickableCard.d.ts +3 -3
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +10 -6
- package/dist/ClickableCard/index.d.ts +2 -2
- package/dist/Code/Code.d.ts +1 -1
- package/dist/Code/index.d.ts +1 -1
- package/dist/CodeBlock/CodeBlock.d.ts +27 -4
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +58 -19
- package/dist/CodeBlock/grammar.d.ts +134 -0
- package/dist/CodeBlock/grammar.d.ts.map +1 -0
- package/dist/CodeBlock/grammar.js +219 -0
- package/dist/CodeBlock/highlightRanges.d.ts +1 -1
- package/dist/CodeBlock/index.d.ts +10 -8
- package/dist/CodeBlock/index.d.ts.map +1 -1
- package/dist/CodeBlock/index.js +1 -0
- package/dist/CodeBlock/languages/dockerfile.d.ts +3 -0
- package/dist/CodeBlock/languages/dockerfile.d.ts.map +1 -0
- package/dist/CodeBlock/languages/dockerfile.js +45 -0
- package/dist/CodeBlock/languages/graphql.d.ts +3 -0
- package/dist/CodeBlock/languages/graphql.d.ts.map +1 -0
- package/dist/CodeBlock/languages/graphql.js +27 -0
- package/dist/CodeBlock/languages/java.d.ts +3 -0
- package/dist/CodeBlock/languages/java.d.ts.map +1 -0
- package/dist/CodeBlock/languages/java.js +24 -0
- package/dist/CodeBlock/languages/lua.d.ts +3 -0
- package/dist/CodeBlock/languages/lua.d.ts.map +1 -0
- package/dist/CodeBlock/languages/lua.js +21 -0
- package/dist/CodeBlock/languages/objective-c.d.ts +3 -0
- package/dist/CodeBlock/languages/objective-c.d.ts.map +1 -0
- package/dist/CodeBlock/languages/objective-c.js +27 -0
- package/dist/CodeBlock/languages/powershell.d.ts +3 -0
- package/dist/CodeBlock/languages/powershell.d.ts.map +1 -0
- package/dist/CodeBlock/languages/powershell.js +30 -0
- package/dist/CodeBlock/languages/ruby.d.ts +3 -0
- package/dist/CodeBlock/languages/ruby.d.ts.map +1 -0
- package/dist/CodeBlock/languages/ruby.js +24 -0
- package/dist/CodeBlock/languages/thrift.d.ts +3 -0
- package/dist/CodeBlock/languages/thrift.d.ts.map +1 -0
- package/dist/CodeBlock/languages/thrift.js +18 -0
- package/dist/CodeBlock/languages/toml.d.ts +3 -0
- package/dist/CodeBlock/languages/toml.d.ts.map +1 -0
- package/dist/CodeBlock/languages/toml.js +53 -0
- package/dist/CodeBlock/tokenizer.d.ts +8 -4
- package/dist/CodeBlock/tokenizer.d.ts.map +1 -1
- package/dist/CodeBlock/tokenizer.js +158 -8
- package/dist/Collapsible/Collapsible.d.ts +10 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +84 -2
- package/dist/Collapsible/CollapsibleGroup.d.ts +2 -2
- package/dist/Collapsible/index.d.ts +7 -7
- package/dist/CommandPalette/CommandPalette.d.ts +2 -2
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +15 -1
- package/dist/CommandPalette/CommandPaletteContext.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +1 -0
- package/dist/CommandPalette/CommandPaletteFooter.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteGroup.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +14 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteList.d.ts +1 -1
- package/dist/CommandPalette/busyStartSettle.d.ts +4 -0
- package/dist/CommandPalette/busyStartSettle.d.ts.map +1 -0
- package/dist/CommandPalette/busyStartSettle.js +23 -0
- package/dist/CommandPalette/index.d.ts +16 -16
- package/dist/ComplexSelector/ComplexSelector.d.ts +25 -7
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +42 -7
- package/dist/ComplexSelector/index.d.ts +1 -1
- package/dist/ContextMenu/ContextMenu.d.ts +4 -4
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +48 -13
- package/dist/ContextMenu/index.d.ts +9 -9
- package/dist/DateInput/DateInput.d.ts +7 -7
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +12 -5
- package/dist/DateInput/MonthScroller.d.ts +1 -1
- package/dist/DateInput/NativeDateField.d.ts +1 -1
- package/dist/DateInput/NativeDateField.d.ts.map +1 -1
- package/dist/DateInput/NativeDateField.js +2 -1
- package/dist/DateInput/TouchDateField.d.ts +1 -1
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +2 -1
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +1 -1
- package/dist/DateInput/index.d.ts +2 -2
- package/dist/DateInput/monthGeometry.d.ts +1 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts +6 -6
- package/dist/DateRangeInput/index.d.ts +2 -2
- package/dist/DateTimeInput/DateTimeInput.d.ts +6 -6
- package/dist/DateTimeInput/NativeDateSegment.d.ts +3 -3
- package/dist/DateTimeInput/NativeTimeSegment.d.ts +4 -4
- package/dist/DateTimeInput/TouchDateTimeField.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts +2 -2
- package/dist/Dialog/Dialog.d.ts +7 -3
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +20 -8
- package/dist/Dialog/DialogHeader.d.ts +1 -1
- package/dist/Dialog/index.d.ts +6 -6
- package/dist/Dialog/useImperativeDialog.d.ts +1 -1
- package/dist/Divider/Divider.d.ts +2 -2
- package/dist/Divider/index.d.ts +2 -2
- package/dist/Drawer/Drawer.d.ts +3 -3
- package/dist/Drawer/Drawer.d.ts.map +1 -1
- package/dist/Drawer/Drawer.js +18 -13
- package/dist/Drawer/DrawerHeader.d.ts +1 -1
- package/dist/Drawer/index.d.ts +4 -4
- package/dist/DropdownMenu/DropdownMenu.d.ts +5 -5
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +32 -20
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +2 -2
- package/dist/DropdownMenu/DropdownMenuDivider.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuGroup.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -2
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +12 -7
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +13 -5
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts +8 -8
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +0 -3
- package/dist/DropdownMenu/MenuBottomSheet.d.ts +11 -4
- package/dist/DropdownMenu/MenuBottomSheet.d.ts.map +1 -1
- package/dist/DropdownMenu/MenuBottomSheet.js +35 -9
- package/dist/DropdownMenu/MenuBottomSheetActionList.d.ts +1 -1
- package/dist/DropdownMenu/MenuBottomSheetActionList.js +3 -3
- package/dist/DropdownMenu/index.d.ts +10 -10
- package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts +4 -2
- package/dist/DropdownMenu/lazyMenuBottomSheet.d.ts.map +1 -1
- package/dist/DropdownMenu/lazyMenuBottomSheet.js +25 -3
- package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts +23 -0
- package/dist/DropdownMenu/menuBottomSheet.stylex.d.ts.map +1 -0
- package/dist/DropdownMenu/menuBottomSheet.stylex.js +29 -0
- package/dist/DropdownMenu/menuItemHover.d.ts +3 -0
- package/dist/DropdownMenu/menuItemHover.d.ts.map +1 -1
- package/dist/DropdownMenu/menuItemHover.js +14 -1
- package/dist/DropdownMenu/renderDropdownItems.d.ts +1 -1
- package/dist/DropdownMenu/useMenuDrillIn.d.ts +1 -1
- package/dist/DropdownMenu/useMenuDrillIn.d.ts.map +1 -1
- package/dist/DropdownMenu/useMenuDrillIn.js +7 -5
- package/dist/EmptyState/EmptyState.d.ts +5 -3
- package/dist/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/EmptyState/EmptyState.js +6 -4
- package/dist/EmptyState/index.d.ts +2 -2
- package/dist/Field/Field.d.ts +5 -5
- package/dist/Field/Field.js +1 -1
- package/dist/Field/FieldLabel.d.ts +2 -2
- package/dist/Field/FieldLabel.js +1 -1
- package/dist/Field/PanelSearchInput.d.ts +10 -2
- package/dist/Field/PanelSearchInput.d.ts.map +1 -1
- package/dist/Field/PanelSearchInput.js +31 -22
- package/dist/Field/fieldInputFamily.testing.d.ts +1 -1
- package/dist/Field/fieldParts.d.ts +1 -1
- package/dist/Field/index.d.ts +10 -10
- package/dist/Field/inputDisabledFocus.d.ts +14 -0
- package/dist/Field/inputDisabledFocus.d.ts.map +1 -0
- package/dist/Field/inputDisabledFocus.js +19 -0
- package/dist/Field/inputStyles.stylex.d.ts +9 -9
- package/dist/Field/inputStyles.stylex.js +9 -9
- package/dist/FieldStatus/FieldStatus.d.ts +3 -3
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +7 -3
- package/dist/FieldStatus/index.d.ts +2 -2
- package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts +1 -1
- package/dist/FileInput/FileInput.d.ts +4 -4
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +15 -9
- package/dist/FileInput/index.d.ts +2 -2
- package/dist/FormLayout/FormLayout.d.ts +2 -2
- package/dist/FormLayout/index.d.ts +4 -4
- package/dist/Grid/Grid.d.ts +3 -3
- package/dist/Grid/GridSpan.d.ts +1 -1
- package/dist/Grid/index.d.ts +4 -4
- package/dist/HStack/HStack.d.ts +2 -2
- package/dist/HStack/index.d.ts +1 -1
- package/dist/Heading/Heading.d.ts +4 -4
- package/dist/Heading/index.d.ts +1 -1
- package/dist/HoverCard/HoverCard.d.ts +4 -4
- package/dist/HoverCard/index.d.ts +4 -4
- package/dist/HoverCard/useHoverCard.d.ts +2 -2
- package/dist/Icon/Icon.d.ts +18 -6
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +55 -9
- package/dist/Icon/IconDefaultSizeContext.d.ts +1 -1
- package/dist/Icon/IconSize.stylex.d.ts +16 -11
- package/dist/Icon/IconSize.stylex.d.ts.map +1 -1
- package/dist/Icon/IconSize.stylex.js +27 -11
- package/dist/Icon/defaultIcons.d.ts +1 -1
- package/dist/Icon/globalIconRegistry.d.ts +69 -5
- package/dist/Icon/globalIconRegistry.d.ts.map +1 -1
- package/dist/Icon/globalIconRegistry.js +108 -24
- package/dist/Icon/index.d.ts +30 -6
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/Icon/index.js +24 -1
- package/dist/Icon/useIcon.d.ts +6 -2
- package/dist/Icon/useIcon.d.ts.map +1 -1
- package/dist/Icon/useIcon.js +5 -1
- package/dist/IconButton/IconButton.d.ts +1 -1
- package/dist/IconButton/index.d.ts +2 -2
- package/dist/Indicator/CheckIndicator.d.ts +1 -1
- package/dist/Indicator/CheckboxIndicator.d.ts +1 -1
- package/dist/Indicator/RadioIndicator.d.ts +1 -1
- package/dist/Indicator/index.d.ts +8 -8
- package/dist/Indicator/indicatorRegistry.d.ts +2 -2
- package/dist/Indicator/types.d.ts +1 -1
- package/dist/Indicator/useIndicator.d.ts +2 -2
- package/dist/InputGroup/InputGroup.d.ts +3 -3
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +46 -36
- package/dist/InputGroup/InputGroupInternalContext.d.ts +4 -0
- package/dist/InputGroup/InputGroupInternalContext.d.ts.map +1 -0
- package/dist/InputGroup/InputGroupInternalContext.js +15 -0
- package/dist/InputGroup/InputGroupText.d.ts +1 -1
- package/dist/InputGroup/InputGroupText.d.ts.map +1 -1
- package/dist/InputGroup/InputGroupText.js +2 -0
- package/dist/InputGroup/groupStyles.d.ts +9 -0
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +28 -14
- package/dist/InputGroup/index.d.ts +6 -6
- package/dist/InteractiveRoleContext/InteractiveRoleContext.d.ts +1 -1
- package/dist/InteractiveRoleContext/index.d.ts +1 -1
- package/dist/Item/Item.d.ts +1 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +1 -1
- package/dist/Item/ItemSwipeLayer.d.ts +2 -2
- package/dist/Item/ItemSwipeLayer.d.ts.map +1 -1
- package/dist/Item/ItemSwipeLayer.js +3 -0
- package/dist/Item/index.d.ts +2 -2
- package/dist/Item/useSwipeAction.d.ts.map +1 -1
- package/dist/Item/useSwipeAction.js +60 -5
- package/dist/Kbd/Kbd.d.ts +3 -3
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +18 -11
- package/dist/Kbd/index.d.ts +2 -2
- package/dist/Layer/LayerProvider.d.ts +1 -1
- package/dist/Layer/index.d.ts +18 -18
- package/dist/Layer/layerAnimations.stylex.d.ts +9 -5
- package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
- package/dist/Layer/layerAnimations.stylex.js +23 -10
- package/dist/Layer/layerInset.d.ts +1 -1
- package/dist/Layer/layerSlideRules.d.ts +63 -3
- package/dist/Layer/layerSlideRules.d.ts.map +1 -1
- package/dist/Layer/layerSlideRules.js +124 -3
- package/dist/Layer/layerStack.d.ts +12 -9
- package/dist/Layer/layerStack.d.ts.map +1 -1
- package/dist/Layer/layerStack.js +116 -53
- package/dist/Layer/modalOutlet.d.ts +44 -6
- package/dist/Layer/modalOutlet.d.ts.map +1 -1
- package/dist/Layer/modalOutlet.js +150 -14
- package/dist/Layer/preserveAnimations.d.ts +11 -0
- package/dist/Layer/preserveAnimations.d.ts.map +1 -0
- package/dist/Layer/preserveAnimations.js +245 -0
- package/dist/Layer/useLayer.d.ts +19 -2
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +500 -43
- package/dist/Layer/useLayerDismissal.d.ts +11 -8
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
- package/dist/Layer/useLayerDismissal.js +8 -8
- package/dist/Layer/useTouchTrigger.d.ts +14 -1
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +72 -17
- package/dist/Layout/Layout.d.ts +2 -2
- package/dist/Layout/Layout.d.ts.map +1 -1
- package/dist/Layout/Layout.js +4 -0
- package/dist/Layout/LayoutContent.d.ts +2 -2
- package/dist/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/Layout/LayoutContent.js +2 -2
- package/dist/Layout/LayoutFooter.d.ts +2 -2
- package/dist/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/Layout/LayoutFooter.js +2 -1
- package/dist/Layout/LayoutHeader.d.ts +2 -2
- package/dist/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/Layout/LayoutHeader.js +2 -1
- package/dist/Layout/LayoutPanel.d.ts +3 -3
- package/dist/Layout/index.d.ts +29 -29
- package/dist/Layout/layoutEdges.stylex.d.ts +20 -0
- package/dist/Layout/layoutEdges.stylex.d.ts.map +1 -0
- package/dist/Layout/layoutEdges.stylex.js +28 -0
- package/dist/Layout/padding.stylex.d.ts +1 -1
- package/dist/Lightbox/Lightbox.d.ts +6 -3
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +111 -89
- package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.d.ts +2 -0
- package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.d.ts.map +1 -0
- package/dist/Lightbox/LightboxKeyboard.a11y.browser.spec.js +78 -0
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts +2 -0
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.d.ts.map +1 -0
- package/dist/Lightbox/LightboxViewport.a11y.browser.spec.js +65 -0
- package/dist/Lightbox/index.d.ts +4 -4
- package/dist/Lightbox/useLightbox.d.ts +1 -1
- package/dist/Link/Link.d.ts +3 -3
- package/dist/Link/LinkContext.d.ts +1 -1
- package/dist/Link/LinkProvider.d.ts +1 -1
- package/dist/Link/index.d.ts +8 -8
- package/dist/Link/useLinkComponent.d.ts +1 -1
- package/dist/List/List.d.ts +3 -3
- package/dist/List/ListItem.d.ts +2 -2
- package/dist/List/index.d.ts +4 -4
- package/dist/Markdown/Markdown.d.ts +15 -5
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.fr23.bench.js +3 -1
- package/dist/Markdown/Markdown.fr23.sampling.d.ts +16 -0
- package/dist/Markdown/Markdown.fr23.sampling.d.ts.map +1 -1
- package/dist/Markdown/Markdown.fr23.sampling.js +13 -4
- package/dist/Markdown/Markdown.js +23 -9
- package/dist/Markdown/MarkdownTable.a11y.chromium.spec.js +1 -0
- package/dist/Markdown/headingProjection.d.ts +3 -3
- package/dist/Markdown/index.d.ts +7 -7
- package/dist/Markdown/parser/index.d.ts +3 -3
- package/dist/Markdown/parser.d.ts +3 -3
- package/dist/Markdown/plugin-renderer/MarkdownPluginNodeRenderer.d.ts +1 -1
- package/dist/Markdown/plugin-renderer/index.d.ts +2 -2
- package/dist/Markdown/plugins/frontmatter.d.ts +2 -2
- package/dist/Markdown/plugins/headingLinks.d.ts +2 -2
- package/dist/Markdown/plugins/index.d.ts +14 -14
- package/dist/Markdown/plugins/protocol.d.ts +1 -1
- package/dist/Markdown/plugins/semanticFence.d.ts +2 -2
- package/dist/Markdown/plugins/softBreaks.d.ts +1 -1
- package/dist/Markdown/plugins/sourceDecoration.d.ts +2 -2
- package/dist/Markdown/plugins/sourceLines.d.ts +1 -1
- package/dist/Markdown/plugins/textTransform.d.ts +2 -2
- package/dist/Markdown/remark.d.ts +1 -1
- package/dist/Markdown/utils.d.ts +4 -4
- package/dist/MetadataList/MetadataList.d.ts +2 -2
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/index.d.ts +5 -5
- package/dist/MobileNav/MobileNav.d.ts +3 -2
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +46 -37
- package/dist/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.js +1 -0
- package/dist/MobileNav/MobileNavToggle.d.ts +1 -1
- package/dist/MobileNav/index.d.ts +4 -4
- package/dist/MoreMenu/MoreMenu.d.ts +4 -4
- package/dist/MoreMenu/index.d.ts +1 -1
- package/dist/MultiSelector/CreateRow.a11y.chromium.spec.js +1 -0
- package/dist/MultiSelector/MultiSelector.d.ts +8 -8
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.js +1 -0
- package/dist/MultiSelector/MultiSelector.js +21 -5
- package/dist/MultiSelector/OptionActions.a11y.chromium.spec.js +1 -0
- package/dist/MultiSelector/hooks.d.ts +1 -1
- package/dist/MultiSelector/index.d.ts +3 -3
- package/dist/MultiSelector/types.d.ts +1 -1
- package/dist/NavIcon/NavIcon.d.ts +1 -1
- package/dist/NavIcon/index.d.ts +2 -2
- package/dist/NavMenu/NavHeadingMenu.d.ts +2 -2
- package/dist/NavMenu/NavHeadingMenuItem.d.ts +2 -2
- package/dist/NavMenu/NavHeadingMenuItem.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenuItem.js +46 -7
- package/dist/NavMenu/index.d.ts +6 -6
- package/dist/NumberInput/NumberInput.d.ts +9 -9
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +61 -24
- package/dist/NumberInput/index.d.ts +2 -2
- package/dist/NumberInput/numberInputCommit.d.ts +1 -1
- package/dist/NumberInput/numberParser.d.ts +1 -1
- package/dist/Outline/Outline.d.ts +3 -3
- package/dist/Outline/index.d.ts +7 -7
- package/dist/Outline/parseOutlineFromMarkdown.d.ts +2 -2
- package/dist/Outline/useOutlineFromDOM.d.ts +1 -1
- package/dist/Outline/useOutlineFromMarkdown.d.ts +3 -3
- package/dist/Outline/useScrollSpy.d.ts +1 -1
- package/dist/OverflowList/OverflowList.d.ts +2 -2
- package/dist/OverflowList/index.d.ts +2 -2
- package/dist/Overlay/Overlay.d.ts +2 -2
- package/dist/Overlay/index.d.ts +5 -5
- package/dist/Overlay/useOverlay.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts +2 -2
- package/dist/Pagination/index.d.ts +2 -2
- package/dist/Popover/Popover.d.ts +44 -5
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +276 -44
- package/dist/Popover/index.d.ts +4 -4
- package/dist/Popover/index.d.ts.map +1 -1
- package/dist/Popover/lazyPopoverBottomSheet.d.ts +23 -0
- package/dist/Popover/lazyPopoverBottomSheet.d.ts.map +1 -0
- package/dist/Popover/lazyPopoverBottomSheet.js +40 -0
- package/dist/Popover/usePopover.d.ts +2 -2
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +11 -5
- package/dist/PowerSearch/PowerSearch.d.ts +5 -5
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +7 -5
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +2 -2
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +2 -2
- package/dist/PowerSearch/formatFilterValue.d.ts +3 -3
- package/dist/PowerSearch/index.d.ts +8 -8
- package/dist/PowerSearch/resolveDateTimeRangePart.d.ts +1 -1
- package/dist/PowerSearch/resolveOperatorLabel.d.ts +2 -2
- package/dist/PowerSearch/types.d.ts +1 -1
- package/dist/PowerSearch/useInternalConfig.d.ts +1 -1
- package/dist/PowerSearch/usePowerSearchConfig.d.ts +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts +3 -3
- package/dist/PowerSearch/utils.d.ts +3 -3
- package/dist/ProgressBar/ProgressBar.d.ts +2 -2
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +8 -0
- package/dist/ProgressBar/index.d.ts +2 -2
- package/dist/RadioList/RadioList.d.ts +3 -3
- package/dist/RadioList/RadioListItem.d.ts +2 -2
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +10 -2
- package/dist/RadioList/index.d.ts +4 -4
- package/dist/Resizable/ResizeHandle.d.ts +2 -2
- package/dist/Resizable/index.d.ts +6 -6
- package/dist/Resizable/useResizable.d.ts +2 -2
- package/dist/Resizable/utils.d.ts +3 -3
- package/dist/ScrollableArea/ScrollableArea.d.ts +3 -3
- package/dist/ScrollableArea/ScrollableArea.d.ts.map +1 -1
- package/dist/ScrollableArea/ScrollableArea.js +1 -1
- package/dist/ScrollableArea/index.d.ts +4 -4
- package/dist/Section/Section.d.ts +3 -3
- package/dist/Section/index.d.ts +2 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts +2 -2
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/index.d.ts +5 -5
- package/dist/SelectableCard/SelectableCard.d.ts +8 -8
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +15 -11
- package/dist/SelectableCard/index.d.ts +2 -2
- package/dist/Selector/Selector.d.ts +8 -8
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +16 -5
- package/dist/Selector/SelectorOption.d.ts +1 -1
- package/dist/Selector/hooks.d.ts +1 -1
- package/dist/Selector/index.d.ts +4 -4
- package/dist/Selector/types.d.ts +1 -1
- package/dist/Selector/useSelectorPresentation.d.ts +2 -2
- package/dist/Selector/utils.d.ts +1 -1
- package/dist/SideNav/SideNav.d.ts +3 -3
- package/dist/SideNav/SideNavCollapseButton.d.ts +3 -3
- package/dist/SideNav/SideNavHeading.d.ts +2 -2
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +34 -0
- package/dist/SideNav/SideNavItem.d.ts +9 -5
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +36 -13
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/index.d.ts +14 -14
- package/dist/SizeContext/index.d.ts +1 -1
- package/dist/Skeleton/Skeleton.d.ts +1 -1
- package/dist/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/Skeleton/Skeleton.js +12 -3
- package/dist/Skeleton/index.d.ts +2 -2
- package/dist/Slider/Slider.d.ts +3 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +45 -12
- package/dist/Slider/index.d.ts +2 -2
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/index.d.ts +2 -2
- package/dist/Stack/Stack.d.ts +3 -3
- package/dist/Stack/StackItem.d.ts +2 -2
- package/dist/Stack/index.d.ts +6 -6
- package/dist/Stack/stack.stylex.d.ts +1 -1
- package/dist/StatusDot/StatusDot.d.ts +2 -2
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +12 -0
- package/dist/StatusDot/index.d.ts +2 -2
- package/dist/Stepper/Step.d.ts +2 -2
- package/dist/Stepper/Step.d.ts.map +1 -1
- package/dist/Stepper/Step.js +10 -6
- package/dist/Stepper/Stepper.d.ts +2 -2
- package/dist/Stepper/index.d.ts +7 -7
- package/dist/Switch/Switch.d.ts +4 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +5 -5
- package/dist/Switch/index.d.ts +2 -2
- package/dist/Switch/switch.markers.stylex.d.ts +7 -2
- package/dist/Switch/switch.markers.stylex.d.ts.map +1 -1
- package/dist/Switch/switch.markers.stylex.js +8 -3
- package/dist/TabList/Tab.d.ts +2 -2
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +5 -1
- package/dist/TabList/TabList.d.ts +3 -3
- package/dist/TabList/TabMenu.d.ts +2 -2
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +1 -0
- package/dist/TabList/index.d.ts +8 -8
- package/dist/Table/BaseTable.d.ts +1 -1
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/TableBody.d.ts +1 -1
- package/dist/Table/TableCell.d.ts +3 -3
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +1 -0
- package/dist/Table/TableContext.d.ts +1 -1
- package/dist/Table/TableFooter.d.ts +1 -1
- package/dist/Table/TableHeader.d.ts +1 -1
- package/dist/Table/TableHeaderCell.d.ts +3 -3
- package/dist/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/Table/TableHeaderCell.js +1 -0
- package/dist/Table/TableRow.d.ts +2 -2
- package/dist/Table/TableSelectionToolbar.d.ts +2 -2
- package/dist/Table/columnUtils.d.ts +1 -1
- package/dist/Table/index.d.ts +54 -54
- package/dist/Table/plugins/columnResize/index.d.ts +2 -2
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +11 -2
- package/dist/Table/plugins/columnSettings/index.d.ts +4 -4
- package/dist/Table/plugins/columnSettings/useTableColumnSettings.d.ts +2 -2
- package/dist/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts +1 -1
- package/dist/Table/plugins/filtering/index.d.ts +4 -4
- package/dist/Table/plugins/filtering/useTableFilterState.d.ts +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts +2 -2
- package/dist/Table/plugins/groupedRows/index.d.ts +2 -2
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +1 -1
- package/dist/Table/plugins/pagination/index.d.ts +3 -3
- package/dist/Table/plugins/pagination/useTablePagination.d.ts +1 -1
- package/dist/Table/plugins/rowExpansion/index.d.ts +2 -2
- 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 +103 -4
- package/dist/Table/plugins/rowIndex/index.d.ts +2 -2
- package/dist/Table/plugins/rowIndex/useTableRowIndex.d.ts +1 -1
- package/dist/Table/plugins/rowStatus/index.d.ts +2 -2
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts +2 -2
- package/dist/Table/plugins/selection/index.d.ts +4 -4
- package/dist/Table/plugins/selection/useTableSelection.d.ts +1 -1
- package/dist/Table/plugins/selection/useTableSelectionState.d.ts +1 -1
- package/dist/Table/plugins/sortable/index.d.ts +4 -4
- package/dist/Table/plugins/sortable/useTableSortable.d.ts +1 -1
- package/dist/Table/plugins/sortable/useTableSortableState.d.ts +1 -1
- package/dist/Table/plugins/stickyColumns/index.d.ts +2 -2
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +233 -6
- package/dist/Table/plugins/tree/index.d.ts +4 -4
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +1 -1
- package/dist/Table/plugins/tree/useTableTreeState.d.ts +1 -1
- package/dist/Table/rowDivider.d.ts +34 -0
- package/dist/Table/rowDivider.d.ts.map +1 -0
- package/dist/Table/rowDivider.js +118 -0
- package/dist/Table/tableContextMenu.d.ts +2 -2
- package/dist/Table/types.d.ts +3 -3
- package/dist/Table/useBaseTablePlugins.d.ts +1 -1
- package/dist/Table/useTableCellStyles.d.ts +2 -2
- package/dist/Table/utils.d.ts +2 -2
- package/dist/Text/Text.d.ts +3 -3
- package/dist/Text/index.d.ts +4 -4
- package/dist/TextArea/TextArea.d.ts +10 -8
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +15 -12
- package/dist/TextArea/index.d.ts +2 -2
- package/dist/TextInput/TextInput.d.ts +12 -10
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +35 -21
- package/dist/TextInput/index.d.ts +2 -2
- package/dist/Thumbnail/Thumbnail.d.ts +1 -1
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +45 -11
- package/dist/Thumbnail/index.d.ts +2 -2
- package/dist/TimeInput/TimeInput.d.ts +6 -6
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +12 -4
- package/dist/TimeInput/TouchTimeField.d.ts +1 -1
- package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
- package/dist/TimeInput/TouchTimeField.js +2 -1
- package/dist/TimeInput/index.d.ts +3 -3
- package/dist/Timer/Timer.d.ts +2 -2
- package/dist/Timer/index.d.ts +2 -2
- package/dist/Timestamp/Timestamp.d.ts +3 -3
- package/dist/Timestamp/TimestampHoverCard.d.ts +1 -1
- package/dist/Timestamp/formatInstant.d.ts +2 -2
- package/dist/Timestamp/formatRelativeTime.d.ts +1 -1
- package/dist/Timestamp/index.d.ts +3 -3
- package/dist/Timestamp/tooltipEntries.d.ts +2 -2
- package/dist/Toast/Toast.d.ts +2 -2
- package/dist/Toast/ToastContext.d.ts +1 -1
- package/dist/Toast/ToastViewport.d.ts +2 -2
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +28 -2
- package/dist/Toast/index.d.ts +6 -6
- package/dist/Toast/useToast.d.ts +1 -1
- package/dist/ToggleButton/ToggleButton.d.ts +3 -3
- package/dist/ToggleButton/ToggleButtonGroup.d.ts +1 -1
- package/dist/ToggleButton/index.d.ts +4 -4
- package/dist/Token/Token.d.ts +2 -2
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/index.d.ts +2 -2
- package/dist/Tokenizer/Tokenizer.d.ts +77 -10
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +474 -85
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +98 -0
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts.map +1 -0
- package/dist/Tokenizer/TokenizerBottomSheet.js +721 -0
- package/dist/Tokenizer/index.d.ts +2 -2
- package/dist/Tokenizer/useEndLaneReserve.d.ts +3 -2
- package/dist/Tokenizer/useEndLaneReserve.d.ts.map +1 -1
- package/dist/Tokenizer/useEndLaneReserve.js +3 -2
- package/dist/Toolbar/Toolbar.d.ts +4 -4
- package/dist/Toolbar/index.d.ts +2 -2
- package/dist/Tooltip/Tooltip.d.ts +3 -3
- package/dist/Tooltip/index.d.ts +4 -4
- package/dist/Tooltip/useTooltip.d.ts +2 -2
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +9 -3
- package/dist/TopNav/TopNav.d.ts +1 -1
- package/dist/TopNav/TopNavHeading.d.ts +2 -2
- package/dist/TopNav/TopNavItem.d.ts +3 -3
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +4 -4
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuItem.d.ts +2 -2
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/index.d.ts +16 -16
- package/dist/TreeList/TreeList.d.ts +11 -26
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +175 -3
- package/dist/TreeList/TreeListItem.d.ts +8 -2
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +3 -1
- package/dist/TreeList/TreeListTypes.d.ts +1 -1
- package/dist/TreeList/index.d.ts +3 -3
- package/dist/Typeahead/BaseTypeahead.d.ts +2 -2
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +16 -4
- package/dist/Typeahead/Typeahead.d.ts +7 -7
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +31 -14
- package/dist/Typeahead/TypeaheadItem.d.ts +2 -2
- package/dist/Typeahead/createStaticSource.d.ts +1 -1
- package/dist/Typeahead/index.d.ts +9 -9
- package/dist/Typeahead/utils.d.ts +3 -3
- package/dist/VStack/VStack.d.ts +2 -2
- package/dist/VStack/index.d.ts +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +24 -6
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
- package/dist/VisuallyHidden/VisuallyHidden.js +24 -5
- package/dist/VisuallyHidden/index.d.ts +2 -2
- package/dist/astryx.css +138 -51
- package/dist/gestures/GestureArena.d.ts +175 -0
- package/dist/gestures/GestureArena.d.ts.map +1 -0
- package/dist/gestures/GestureArena.js +816 -0
- package/dist/gestures/GestureRecognizer.d.ts +239 -0
- package/dist/gestures/GestureRecognizer.d.ts.map +1 -0
- package/dist/gestures/GestureRecognizer.js +487 -0
- package/dist/gestures/LongPressGestureRecognizer.d.ts +32 -0
- package/dist/gestures/LongPressGestureRecognizer.d.ts.map +1 -0
- package/dist/gestures/LongPressGestureRecognizer.js +135 -0
- package/dist/gestures/PanGestureRecognizer.d.ts +117 -0
- package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -0
- package/dist/gestures/PanGestureRecognizer.js +349 -0
- package/dist/gestures/TapGestureRecognizer.d.ts +39 -0
- package/dist/gestures/TapGestureRecognizer.d.ts.map +1 -0
- package/dist/gestures/TapGestureRecognizer.js +151 -0
- package/dist/gestures/VelocityTracker.d.ts +51 -0
- package/dist/gestures/VelocityTracker.d.ts.map +1 -0
- package/dist/gestures/VelocityTracker.js +186 -0
- package/dist/gestures/geometry.d.ts +17 -0
- package/dist/gestures/geometry.d.ts.map +1 -0
- package/dist/gestures/geometry.js +55 -0
- package/dist/gestures/types.d.ts +139 -0
- package/dist/gestures/types.d.ts.map +1 -0
- package/dist/gestures/types.js +67 -0
- package/dist/hooks/AnnounceRenderedText.d.ts +17 -0
- package/dist/hooks/AnnounceRenderedText.d.ts.map +1 -0
- package/dist/hooks/AnnounceRenderedText.js +32 -0
- package/dist/hooks/ModalAnnounceProvider.d.ts +41 -0
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -0
- package/dist/hooks/ModalAnnounceProvider.js +133 -0
- package/dist/hooks/actionGroupTracker.d.ts +98 -0
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -0
- package/dist/hooks/actionGroupTracker.js +338 -0
- package/dist/hooks/index.d.ts +54 -52
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/modalAnnounce.d.ts +18 -0
- package/dist/hooks/modalAnnounce.d.ts.map +1 -0
- package/dist/hooks/modalAnnounce.js +382 -0
- package/dist/hooks/useAdaptivePresentation.d.ts +9 -1
- package/dist/hooks/useAdaptivePresentation.d.ts.map +1 -1
- package/dist/hooks/useAdaptivePresentation.js +33 -8
- package/dist/hooks/useAnimatedLayout.d.ts +42 -0
- package/dist/hooks/useAnimatedLayout.d.ts.map +1 -0
- package/dist/hooks/useAnimatedLayout.js +46 -0
- package/dist/hooks/useAnnounce.d.ts +132 -1
- package/dist/hooks/useAnnounce.d.ts.map +1 -1
- package/dist/hooks/useAnnounce.js +356 -27
- package/dist/hooks/useAnnounceRenderedText.d.ts +19 -2
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +52 -11
- package/dist/hooks/useAutoMediaMode.d.ts +1 -1
- package/dist/hooks/useBusyAnnouncement.d.ts +9 -5
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +58 -46
- package/dist/hooks/useFocusTrap.d.ts +1 -1
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +57 -26
- package/dist/hooks/useInputContainer.d.ts +1 -1
- package/dist/hooks/useInputStatusIcon.d.ts +3 -3
- package/dist/hooks/useMenuPress.d.ts +5 -3
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +58 -33
- package/dist/hooks/usePressFeedback.d.ts +1 -1
- package/dist/hooks/useScrollableArea.d.ts +1 -1
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +37 -5
- package/dist/i18n/InternationalizationContext.d.ts +2 -2
- package/dist/i18n/InternationalizationProvider.d.ts +1 -1
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +33 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +33 -0
- package/dist/i18n/index.d.ts +12 -12
- package/dist/i18n/resolve.d.ts +1 -1
- package/dist/i18n/useLocale.d.ts +1 -1
- package/dist/index.d.ts +111 -111
- package/dist/internal/tokenizer-presentation.d.ts +21 -0
- package/dist/internal/tokenizer-presentation.d.ts.map +1 -0
- package/dist/internal/tokenizer-presentation.js +21 -0
- package/dist/internal/touch.d.ts +26 -0
- package/dist/internal/touch.d.ts.map +1 -0
- package/dist/internal/touch.js +28 -0
- package/dist/motion/LayoutChangeSnapshot.d.ts +33 -0
- package/dist/motion/LayoutChangeSnapshot.d.ts.map +1 -0
- package/dist/motion/LayoutChangeSnapshot.js +37 -0
- package/dist/motion/animatedLayout.d.ts +94 -0
- package/dist/motion/animatedLayout.d.ts.map +1 -0
- package/dist/motion/animatedLayout.js +1096 -0
- package/dist/motion/animator.d.ts +240 -0
- package/dist/motion/animator.d.ts.map +1 -0
- package/dist/motion/animator.js +2203 -0
- package/dist/motion/bezier.d.ts +18 -0
- package/dist/motion/bezier.d.ts.map +1 -0
- package/dist/motion/bezier.js +60 -0
- package/dist/motion/coast.d.ts +61 -0
- package/dist/motion/coast.d.ts.map +1 -0
- package/dist/motion/coast.js +107 -0
- package/dist/motion/decay.d.ts +41 -0
- package/dist/motion/decay.d.ts.map +1 -0
- package/dist/motion/decay.js +90 -0
- package/dist/motion/projection.d.ts +36 -0
- package/dist/motion/projection.d.ts.map +1 -0
- package/dist/motion/projection.js +92 -0
- package/dist/motion/reducedMotion.d.ts +25 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -0
- package/dist/motion/reducedMotion.js +85 -0
- package/dist/motion/reducedMotion.stylex.d.ts +19 -0
- package/dist/motion/reducedMotion.stylex.d.ts.map +1 -0
- package/dist/motion/reducedMotion.stylex.js +37 -0
- package/dist/motion/reducedMotionPlan.d.ts +89 -0
- package/dist/motion/reducedMotionPlan.d.ts.map +1 -0
- package/dist/motion/reducedMotionPlan.js +194 -0
- package/dist/motion/resolveSnapPoint.d.ts +52 -0
- package/dist/motion/resolveSnapPoint.d.ts.map +1 -0
- package/dist/motion/resolveSnapPoint.js +135 -0
- package/dist/motion/roleValue.d.ts +33 -0
- package/dist/motion/roleValue.d.ts.map +1 -0
- package/dist/motion/roleValue.js +84 -0
- package/dist/motion/roles.d.ts +79 -0
- package/dist/motion/roles.d.ts.map +1 -0
- package/dist/motion/roles.js +199 -0
- package/dist/motion/rubberBand.d.ts +20 -0
- package/dist/motion/rubberBand.d.ts.map +1 -0
- package/dist/motion/rubberBand.js +91 -0
- package/dist/motion/selectPage.d.ts +26 -0
- package/dist/motion/selectPage.d.ts.map +1 -0
- package/dist/motion/selectPage.js +55 -0
- package/dist/motion/spring.d.ts +193 -0
- package/dist/motion/spring.d.ts.map +1 -0
- package/dist/motion/spring.js +442 -0
- package/dist/motion/uikit/gestures.d.ts +642 -0
- package/dist/motion/uikit/gestures.d.ts.map +1 -0
- package/dist/motion/uikit/gestures.js +428 -0
- package/dist/motion/uikit/index.d.ts +24 -0
- package/dist/motion/uikit/index.d.ts.map +1 -0
- package/dist/motion/uikit/index.js +26 -0
- package/dist/motion/uikit/navigation.d.ts +54 -0
- package/dist/motion/uikit/navigation.d.ts.map +1 -0
- package/dist/motion/uikit/navigation.js +83 -0
- package/dist/motion/uikit/scroll.d.ts +116 -0
- package/dist/motion/uikit/scroll.d.ts.map +1 -0
- package/dist/motion/uikit/scroll.js +146 -0
- package/dist/motion/uikit/springs.d.ts +545 -0
- package/dist/motion/uikit/springs.d.ts.map +1 -0
- package/dist/motion/uikit/springs.js +548 -0
- package/dist/motion/uikit/timing.d.ts +202 -0
- package/dist/motion/uikit/timing.d.ts.map +1 -0
- package/dist/motion/uikit/timing.js +201 -0
- package/dist/reset.a11y.chromium.spec.js +1 -0
- package/dist/reset.until-found.a11y.browser.spec.js +1 -0
- package/dist/theme/Theme.d.ts +2 -2
- package/dist/theme/contrast.d.ts +1 -1
- package/dist/theme/declarationBoundary.d.ts +13 -0
- package/dist/theme/declarationBoundary.d.ts.map +1 -1
- package/dist/theme/declarationBoundary.js +264 -1
- package/dist/theme/defineTheme.d.ts +113 -22
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/defineTheme.js +66 -7
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +9 -0
- package/dist/theme/domainTokens/index.d.ts +6 -6
- package/dist/theme/generateThemeRules.d.ts +7 -3
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +468 -24
- package/dist/theme/index.d.ts +31 -31
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/index.js +1 -1
- package/dist/theme/localTokens.d.ts +1 -1
- package/dist/theme/mergeComponents.d.ts +1 -1
- package/dist/theme/onMediaTokens.d.ts +1 -1
- package/dist/theme/resolveThemeValues.d.ts +7 -7
- package/dist/theme/statusColor.d.ts +48 -0
- package/dist/theme/statusColor.d.ts.map +1 -0
- package/dist/theme/statusColor.js +203 -0
- package/dist/theme/statusRoleDerivation.d.ts +11 -0
- package/dist/theme/statusRoleDerivation.d.ts.map +1 -0
- package/dist/theme/statusRoleDerivation.js +236 -0
- package/dist/theme/syntax/SyntaxTheme.d.ts +1 -1
- package/dist/theme/syntax/index.d.ts +7 -7
- package/dist/theme/syntax/presets.d.ts +1 -1
- package/dist/theme/themeAdaptations.d.ts +30 -6
- package/dist/theme/themeAdaptations.d.ts.map +1 -1
- package/dist/theme/themeAdaptations.js +30 -1
- package/dist/theme/themeRegistry.d.ts +1 -1
- package/dist/theme/tokens.d.ts +1 -1
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +16 -1
- package/dist/theme/tokens.stylex.d.ts +40 -2
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +47 -2
- package/dist/theme/types.d.ts +1 -1
- package/dist/theme/useTheme.d.ts +6 -4
- package/dist/theme/useTheme.d.ts.map +1 -1
- package/dist/theme/useTheme.js +10 -4
- package/dist/utils/dateParser.d.ts +3 -3
- package/dist/utils/edgeAutoscroll.d.ts +53 -0
- package/dist/utils/edgeAutoscroll.d.ts.map +1 -0
- package/dist/utils/edgeAutoscroll.js +81 -0
- package/dist/utils/groupItems.d.ts +1 -1
- package/dist/utils/hitArea.d.ts +72 -0
- package/dist/utils/hitArea.d.ts.map +1 -0
- package/dist/utils/hitArea.js +681 -0
- package/dist/utils/index.d.ts +29 -29
- package/dist/utils/plainDate.d.ts +3 -3
- package/dist/utils/touchPresentation.d.ts +48 -0
- package/dist/utils/touchPresentation.d.ts.map +1 -0
- package/dist/utils/touchPresentation.js +133 -0
- package/locales/af-ZA.json +1 -1
- package/locales/ar-SA.json +1 -1
- package/locales/ca-ES.json +1 -1
- package/locales/cs-CZ.json +1 -1
- package/locales/da-DK.json +1 -1
- package/locales/de-DE.json +1 -1
- package/locales/el-GR.json +1 -1
- package/locales/en.json +132 -0
- package/locales/es-ES.json +1 -1
- package/locales/fi-FI.json +1 -1
- package/locales/fr-FR.json +1 -1
- package/locales/he-IL.json +1 -1
- package/locales/hu-HU.json +1 -1
- package/locales/it-IT.json +1 -1
- package/locales/ja-JP.json +1 -1
- package/locales/ko-KR.json +1 -1
- package/locales/nl-NL.json +1 -1
- package/locales/no-NO.json +1 -1
- package/locales/pl-PL.json +1 -1
- package/locales/pseudo.json +99 -0
- package/locales/pt-BR.json +1 -1
- package/locales/pt-PT.json +1 -1
- package/locales/ro-RO.json +1 -1
- package/locales/ru-RU.json +1 -1
- package/locales/sr-SP.json +1 -1
- package/locales/sv-SE.json +1 -1
- package/locales/tr-TR.json +1 -1
- package/locales/uk-UA.json +1 -1
- package/locales/vi-VN.json +1 -1
- package/locales/zh-CN.json +1 -1
- package/locales/zh-TW.json +1 -1
- package/package.json +61 -6
- package/src/AlertDialog/AlertDialog.tsx +1 -1
- package/src/AlertDialog/__tests__/AlertDialog.a11y.chromium.spec.ts +1 -0
- package/src/AppShell/AppShell.spec.md +337 -0
- package/src/AspectRatio/AspectRatio.spec.md +179 -0
- package/src/AspectRatio/__tests__/AspectRatioFitLayers.a11y.browser.spec.ts +1 -0
- package/src/Avatar/Avatar.spec.md +253 -0
- package/src/Avatar/AvatarStatusDot.spec.md +93 -79
- package/src/Avatar/AvatarStatusDot.test.tsx +22 -0
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.spec.md +205 -0
- package/src/AvatarGroup/AvatarGroupOverflow.spec.md +123 -120
- package/src/Badge/Badge.doc.mjs +2 -1
- package/src/Badge/Badge.spec.md +207 -0
- package/src/Badge/Badge.test.tsx +13 -0
- package/src/Badge/Badge.tsx +38 -2
- package/src/Banner/Banner.spec.md +38 -27
- package/src/Banner/Banner.test.tsx +118 -16
- package/src/Banner/Banner.tsx +94 -7
- package/src/Blockquote/Blockquote.spec.md +171 -0
- package/src/BottomSheet/BottomSheet.doc.mjs +106 -24
- package/src/BottomSheet/BottomSheet.spec.md +269 -40
- package/src/BottomSheet/BottomSheet.test.tsx +491 -5
- package/src/BottomSheet/BottomSheet.tsx +544 -145
- package/src/BottomSheet/BottomSheetHostContext.ts +44 -0
- package/src/BottomSheet/BottomSheetPanel.test.tsx +21 -10
- package/src/BottomSheet/BottomSheetPanel.tsx +166 -57
- package/src/BottomSheet/BottomSheetReplace.test.tsx +1526 -0
- package/src/BottomSheet/BottomSheetStacking.announce.test.tsx +246 -0
- package/src/BottomSheet/BottomSheetStacking.test.tsx +3184 -0
- package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +27 -31
- package/src/BottomSheet/BottomSheetSwitcher.spec.md +138 -43
- package/src/BottomSheet/BottomSheetSwitcher.tsx +275 -26
- package/src/BottomSheet/BottomSheetSwitcherContext.ts +6 -0
- package/src/BottomSheet/__tests__/BottomSheetDrag.a11y.chromium.spec.ts +1 -0
- package/src/BottomSheet/__tests__/BottomSheetFocusReturn.a11y.browser.spec.ts +1 -0
- package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +1 -0
- package/src/BottomSheet/__tests__/BottomSheetNativeModal.a11y.browser.spec.ts +1 -0
- package/src/BottomSheet/__tests__/BottomSheetPinchZoom.a11y.chromium.spec.ts +1 -0
- package/src/BottomSheet/__tests__/BottomSheetToastOutlet.a11y.chromium.spec.ts +83 -0
- package/src/BottomSheet/bottomSheetEscape.ts +21 -0
- package/src/BottomSheet/bottomSheetStack.ts +2031 -0
- package/src/BottomSheet/useSheetGestures.ts +68 -12
- package/src/Breadcrumbs/BreadcrumbItem.spec.md +96 -59
- package/src/Breadcrumbs/BreadcrumbItem.tsx +5 -0
- package/src/Breadcrumbs/Breadcrumbs.spec.md +165 -0
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +22 -0
- package/src/Breadcrumbs/__tests__/Breadcrumbs.a11y.chromium.spec.ts +1 -0
- package/src/Button/Button.spec.md +322 -0
- package/src/Button/Button.test.tsx +8 -1
- package/src/Button/Button.tsx +36 -7
- package/src/Button/__tests__/Button.a11y.chromium.spec.ts +1 -0
- package/src/ButtonGroup/ButtonGroup.spec.md +218 -0
- package/src/Calendar/__tests__/Calendar.a11y.chromium.spec.ts +1 -0
- package/src/Card/Card.spec.md +205 -0
- package/src/Carousel/__tests__/Carousel.a11y.chromium.spec.ts +1 -0
- package/src/Chat/ChatComposer.test.tsx +54 -0
- package/src/Chat/ChatComposer.tsx +41 -27
- package/src/Chat/ChatComposerInput.test.tsx +165 -21
- package/src/Chat/ChatComposerInput.tsx +73 -16
- package/src/Chat/ChatMessageMetadata.tsx +1 -1
- package/src/Chat/ChatPastedTextToken.test.tsx +71 -0
- package/src/Chat/ChatPastedTextToken.tsx +8 -7
- package/src/Chat/ChatToolCalls.tsx +5 -5
- package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatSendButton.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatSystemMessage.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/ChatTokenizedText.a11y.chromium.spec.ts +1 -0
- package/src/Chat/__tests__/useChatStreamScroll.a11y.chromium.spec.ts +1 -0
- package/src/CheckboxInput/CheckboxInput.spec.md +97 -66
- package/src/CheckboxInput/__tests__/Checkbox.a11y.chromium.spec.ts +1 -0
- package/src/CheckboxList/CheckboxList.spec.md +92 -78
- package/src/CheckboxList/CheckboxListItem.spec.md +86 -60
- package/src/CheckboxList/__tests__/CheckboxList.a11y.chromium.spec.ts +1 -0
- package/src/ClickableCard/ClickableCard.doc.mjs +1 -2
- package/src/ClickableCard/ClickableCard.test.tsx +14 -3
- package/src/ClickableCard/ClickableCard.tsx +44 -28
- package/src/Code/Code.spec.md +30 -32
- package/src/CodeBlock/CodeBlock.doc.mjs +21 -4
- package/src/CodeBlock/CodeBlock.spec.md +96 -61
- package/src/CodeBlock/CodeBlock.test.tsx +97 -1
- package/src/CodeBlock/CodeBlock.tsx +132 -22
- package/src/CodeBlock/CodeLanguage.test.tsx +173 -0
- package/src/CodeBlock/__tests__/CodeBlockCopyClearance.a11y.chromium.spec.ts +290 -0
- package/src/CodeBlock/__tests__/CodeBlockLanguages.a11y.chromium.spec.ts +64 -0
- package/src/CodeBlock/__tests__/CodeBlockOverflowStop.a11y.chromium.spec.ts +1 -0
- package/src/CodeBlock/__tests__/DiffRowPaint.a11y.chromium.spec.ts +1 -0
- package/src/CodeBlock/grammar.ts +291 -0
- package/src/CodeBlock/index.ts +7 -0
- package/src/CodeBlock/languages/dockerfile.ts +43 -0
- package/src/CodeBlock/languages/graphql.ts +30 -0
- package/src/CodeBlock/languages/java.ts +28 -0
- package/src/CodeBlock/languages/lua.ts +21 -0
- package/src/CodeBlock/languages/objective-c.ts +26 -0
- package/src/CodeBlock/languages/powershell.ts +31 -0
- package/src/CodeBlock/languages/ruby.ts +29 -0
- package/src/CodeBlock/languages/thrift.ts +32 -0
- package/src/CodeBlock/languages/toml.ts +36 -0
- package/src/CodeBlock/languages.test.ts +402 -0
- package/src/CodeBlock/tokenizer.ts +176 -16
- package/src/CodeBlock/tokenizerBudget.test.ts +112 -0
- package/src/Collapsible/Collapsible.doc.mjs +6 -0
- package/src/Collapsible/Collapsible.spec.md +26 -23
- package/src/Collapsible/Collapsible.tsx +121 -2
- package/src/Collapsible/__tests__/Collapsible.a11y.chromium.spec.ts +1 -0
- package/src/Collapsible/__tests__/CollapsibleGroup.a11y.chromium.spec.ts +1 -0
- package/src/Collapsible/__tests__/CollapsibleGroupAccordion.a11y.chromium.spec.ts +1 -0
- package/src/CommandPalette/CommandPalette.perf.test.ts +8 -4
- package/src/CommandPalette/CommandPalette.tsx +17 -1
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +6 -3
- package/src/CommandPalette/CommandPaletteEmpty.spec.md +190 -0
- package/src/CommandPalette/CommandPaletteEmpty.tsx +4 -0
- package/src/CommandPalette/CommandPaletteInput.tsx +21 -2
- package/src/CommandPalette/__tests__/CommandPalette.a11y.chromium.spec.ts +1 -0
- package/src/CommandPalette/__tests__/CommandPaletteEmptyAudit.a11y.chromium.spec.ts +715 -0
- package/src/CommandPalette/__tests__/CommandPaletteFooter.a11y.chromium.spec.ts +1 -0
- package/src/CommandPalette/__tests__/CommandPaletteInputAudit.a11y.chromium.spec.ts +1 -0
- package/src/CommandPalette/__tests__/CommandPaletteItemAudit.a11y.chromium.spec.ts +1 -0
- package/src/CommandPalette/busyStartSettle.ts +26 -0
- package/src/ComplexSelector/ComplexSelector.doc.mjs +1 -1
- package/src/ComplexSelector/ComplexSelector.focusableDisabled.test.tsx +1 -1
- package/src/ComplexSelector/ComplexSelector.fr10.test.tsx +9 -9
- package/src/ComplexSelector/ComplexSelector.spec.md +161 -107
- package/src/ComplexSelector/ComplexSelector.test.tsx +236 -17
- package/src/ComplexSelector/ComplexSelector.tsx +69 -4
- package/src/ComplexSelector/__tests__/ComplexSelector.a11y.chromium.spec.ts +965 -0
- package/src/ContextMenu/ContextMenu.doc.mjs +1 -1
- package/src/ContextMenu/ContextMenu.spec.md +38 -30
- package/src/ContextMenu/ContextMenu.test.tsx +189 -11
- package/src/ContextMenu/ContextMenu.tsx +75 -17
- package/src/ContextMenu/__tests__/ContextMenuAudit.a11y.chromium.spec.ts +1 -0
- package/src/ContextMenu/__tests__/ContextMenuCursorAnchor.a11y.browser.spec.ts +1 -0
- package/src/ContextMenu/__tests__/ContextMenuLongPress.a11y.chromium.spec.ts +117 -0
- package/src/DateInput/DateInput.tsx +9 -4
- package/src/DateInput/DateInputTouch.test.tsx +10 -1
- package/src/DateInput/NativeDateField.tsx +2 -1
- package/src/DateInput/TouchDateField.tsx +2 -1
- package/src/DateInput/Wheel.tsx +4 -1
- package/src/DateInput/__tests__/DateInputAudit.a11y.chromium.spec.ts +1 -0
- package/src/DateInput/__tests__/WheelPinchZoom.a11y.chromium.spec.ts +171 -0
- package/src/Dialog/Dialog.doc.mjs +201 -47
- package/src/Dialog/Dialog.tsx +37 -10
- package/src/Dialog/__tests__/Dialog.a11y.browser.spec.ts +1 -0
- package/src/Dialog/__tests__/Dialog.a11y.chromium.spec.ts +1 -0
- package/src/Dialog/__tests__/Dialog.reduced-motion.a11y.browser.spec.ts +191 -0
- package/src/Divider/Divider.spec.md +79 -70
- package/src/Drawer/Drawer.tsx +38 -35
- package/src/Drawer/__tests__/DrawerAudit.a11y.chromium.spec.ts +1 -0
- package/src/Drawer/__tests__/DrawerHeaderAudit.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/DropdownMenu.spec.md +14 -6
- package/src/DropdownMenu/DropdownMenu.ssr.test.tsx +44 -8
- package/src/DropdownMenu/DropdownMenu.test.tsx +64 -5
- package/src/DropdownMenu/DropdownMenu.tsx +47 -21
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -5
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +5 -2
- package/src/DropdownMenu/DropdownMenuRadioItem.spec.md +226 -0
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +32 -16
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +158 -0
- package/src/DropdownMenu/DropdownMenuSheetFirstOpen.test.tsx +72 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.doc.mjs +9 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.spec.md +225 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +105 -0
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +6 -6
- package/src/DropdownMenu/MenuBottomSheet.tsx +42 -7
- package/src/DropdownMenu/MenuBottomSheetActionList.tsx +3 -3
- package/src/DropdownMenu/__tests__/DropdownMenuDividerAudit.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuDrillIn.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuFocusReturn.a11y.browser.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuGroupAudit.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuItemAudit.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuRadioGroupAudit.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/DropdownMenuRadioItemAudit.a11y.chromium.spec.ts +540 -0
- package/src/DropdownMenu/__tests__/DropdownMenuSubMenuAudit.a11y.chromium.spec.ts +671 -0
- package/src/DropdownMenu/__tests__/Menu.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/MenuButton.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/MenuHeaderFooter.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/MenuHoverFocus.a11y.chromium.spec.ts +238 -0
- package/src/DropdownMenu/__tests__/MenuPinchZoom.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/MenuPress.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/__tests__/SubMenuHeaderFooter.a11y.chromium.spec.ts +1 -0
- package/src/DropdownMenu/lazyMenuBottomSheet.ts +28 -2
- package/src/DropdownMenu/menuBottomSheet.stylex.ts +33 -0
- package/src/DropdownMenu/menuItemHover.ts +13 -1
- package/src/DropdownMenu/modules/useMenuPress.spec.md +90 -62
- package/src/DropdownMenu/useMenuDrillIn.tsx +7 -5
- package/src/EmptyState/EmptyState.announce.test.tsx +227 -0
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/EmptyState/EmptyState.spec.md +22 -14
- package/src/EmptyState/EmptyState.test.tsx +8 -8
- package/src/EmptyState/EmptyState.tsx +7 -5
- package/src/Field/Field.tsx +1 -1
- package/src/Field/FieldLabel.tsx +1 -1
- package/src/Field/PanelSearchInput.tsx +23 -13
- package/src/Field/__tests__/FieldLabelAudit.a11y.chromium.spec.ts +1 -0
- package/src/Field/inputDisabledFocus.ts +28 -0
- package/src/Field/inputStyles.stylex.ts +15 -15
- package/src/FieldStatus/FieldStatus.test.tsx +12 -0
- package/src/FieldStatus/FieldStatus.tsx +12 -3
- package/src/FieldStatus/__tests__/StatusMessage.a11y.chromium.spec.ts +1 -0
- package/src/FileInput/FileInput.test.tsx +78 -0
- package/src/FileInput/FileInput.tsx +11 -9
- package/src/Heading/Heading.spec.md +198 -0
- package/src/HoverCard/HoverCard.test.tsx +93 -3
- package/src/Icon/Icon.doc.mjs +53 -5
- package/src/Icon/Icon.spec.md +40 -29
- package/src/Icon/Icon.test.tsx +266 -9
- package/src/Icon/Icon.tsx +51 -13
- package/src/Icon/IconSize.stylex.ts +27 -11
- package/src/Icon/globalIconRegistry.test.tsx +326 -3
- package/src/Icon/globalIconRegistry.tsx +137 -36
- package/src/Icon/index.ts +29 -1
- package/src/Icon/useIcon.ts +5 -1
- package/src/IconButton/IconButton.spec.md +197 -0
- package/src/IconButton/IconButton.test.tsx +5 -2
- package/src/InputGroup/InputGroup.spec.md +199 -0
- package/src/InputGroup/InputGroup.test.tsx +120 -0
- package/src/InputGroup/InputGroup.tsx +59 -52
- package/src/InputGroup/InputGroupInternalContext.ts +15 -0
- package/src/InputGroup/InputGroupText.spec.md +139 -0
- package/src/InputGroup/InputGroupText.tsx +2 -0
- package/src/InputGroup/groupStyles.ts +22 -11
- package/src/Item/Item.test.tsx +118 -0
- package/src/Item/Item.tsx +5 -3
- package/src/Item/ItemSwipeLayer.tsx +9 -0
- package/src/Item/__tests__/ItemSwipeActions.a11y.chromium.spec.ts +1 -0
- package/src/Item/__tests__/ItemSwipePinchZoom.a11y.chromium.spec.ts +186 -0
- package/src/Item/useSwipeAction.ts +71 -5
- package/src/Kbd/Kbd.test.tsx +95 -0
- package/src/Kbd/Kbd.tsx +30 -23
- package/src/Layer/__tests__/LayerReducedMotion.a11y.chromium.spec.ts +176 -0
- package/src/Layer/__tests__/TouchTrigger.a11y.chromium.spec.ts +200 -0
- package/src/Layer/layerAnimations.stylex.ts +22 -2
- package/src/Layer/layerDismissalInvariants.test.tsx +9 -0
- package/src/Layer/layerSlideRules.ts +141 -8
- package/src/Layer/layerStack.ts +129 -62
- package/src/Layer/modalOutlet.ts +156 -15
- package/src/Layer/preserveAnimations.ts +304 -0
- package/src/Layer/useLayer.doc.mjs +1 -1
- package/src/Layer/useLayer.test.tsx +743 -0
- package/src/Layer/useLayer.tsx +592 -53
- package/src/Layer/useLayerDismissal.test.tsx +85 -2
- package/src/Layer/useLayerDismissal.ts +12 -9
- package/src/Layer/useTouchTrigger.ts +95 -41
- package/src/Layout/Layout.tsx +18 -0
- package/src/Layout/LayoutContent.tsx +5 -14
- package/src/Layout/LayoutFooter.tsx +2 -0
- package/src/Layout/LayoutHeader.tsx +2 -0
- package/src/Layout/__tests__/Layout.a11y.chromium.spec.ts +1 -0
- package/src/Layout/layoutEdges.stylex.ts +25 -0
- package/src/Lightbox/Lightbox.test.tsx +83 -0
- package/src/Lightbox/Lightbox.tsx +149 -125
- package/src/Lightbox/LightboxKeyboard.a11y.browser.spec.ts +78 -0
- package/src/Lightbox/LightboxViewport.a11y.browser.spec.ts +70 -0
- package/src/Link/Link.spec.md +229 -0
- package/src/Link/LinkProvider.spec.md +167 -0
- package/src/Link/__tests__/Link.a11y.chromium.spec.ts +1 -0
- package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +1 -0
- package/src/List/List.spec.md +90 -33
- package/src/List/ListItem.doc.mjs +3 -3
- package/src/Markdown/Markdown.codeLanguages.test.tsx +137 -0
- package/src/Markdown/Markdown.doc.mjs +12 -0
- package/src/Markdown/Markdown.fr23.bench.ts +3 -1
- package/src/Markdown/Markdown.fr23.perf.test.ts +45 -3
- package/src/Markdown/Markdown.fr23.sampling.ts +13 -4
- package/src/Markdown/Markdown.spec.md +71 -59
- package/src/Markdown/Markdown.tsx +32 -2
- package/src/Markdown/MarkdownTable.a11y.chromium.spec.ts +1 -0
- package/src/Markdown/__tests__/MarkdownNesting.a11y.chromium.spec.ts +1 -0
- package/src/MobileNav/MobileNav.spec.md +161 -64
- package/src/MobileNav/MobileNav.test.tsx +27 -10
- package/src/MobileNav/MobileNav.tsx +51 -38
- package/src/MobileNav/MobileNavPinchZoom.a11y.chromium.spec.ts +1 -0
- package/src/MobileNav/__tests__/MobileNavWidth.a11y.chromium.spec.ts +103 -0
- package/src/MoreMenu/MoreMenu.doc.mjs +2 -2
- package/src/MoreMenu/MoreMenu.spec.md +88 -53
- package/src/MultiSelector/CreateRow.a11y.chromium.spec.ts +1 -0
- package/src/MultiSelector/MultiSelector.disabledFocus.a11y.chromium.spec.ts +1 -0
- package/src/MultiSelector/MultiSelector.test.tsx +122 -10
- package/src/MultiSelector/MultiSelector.tsx +24 -4
- package/src/MultiSelector/OptionActions.a11y.chromium.spec.ts +1 -0
- package/src/MultiSelector/__tests__/MultiSelector.a11y.chromium.spec.ts +1 -0
- package/src/NavIcon/NavIcon.spec.md +66 -38
- package/src/NavMenu/NavHeadingMenu.spec.md +100 -44
- package/src/NavMenu/NavHeadingMenu.test.tsx +199 -1
- package/src/NavMenu/NavHeadingMenuItem.tsx +54 -6
- package/src/NumberInput/NumberInput.doc.mjs +6 -6
- package/src/NumberInput/NumberInput.spec.md +248 -0
- package/src/NumberInput/NumberInput.test.tsx +187 -14
- package/src/NumberInput/NumberInput.tsx +86 -24
- package/src/NumberInput/__tests__/NumberInput.a11y.chromium.spec.ts +1 -0
- package/src/Pagination/Pagination.test.tsx +2 -2
- package/src/Popover/Popover.doc.mjs +38 -2
- package/src/Popover/Popover.spec.md +89 -10
- package/src/Popover/Popover.test.tsx +340 -2
- package/src/Popover/Popover.tsx +401 -35
- package/src/Popover/PopoverPresentation.test.tsx +952 -0
- package/src/Popover/__tests__/PopoverSecondDocument.a11y.chromium.spec.ts +205 -0
- package/src/Popover/index.ts +5 -1
- package/src/Popover/lazyPopoverBottomSheet.ts +57 -0
- package/src/Popover/usePopover.tsx +11 -5
- package/src/PowerSearch/PowerSearch.spec.md +423 -53
- package/src/PowerSearch/PowerSearch.test.tsx +77 -1
- package/src/PowerSearch/PowerSearch.tsx +7 -5
- package/src/ProgressBar/ProgressBar.test.tsx +12 -0
- package/src/ProgressBar/ProgressBar.tsx +18 -0
- package/src/ProgressBar/__tests__/ProgressBar.a11y.chromium.spec.ts +1 -0
- package/src/RadioList/RadioList.test.tsx +34 -7
- package/src/RadioList/RadioListItem.press.source-build.test.mjs +80 -0
- package/src/RadioList/RadioListItem.tsx +26 -12
- package/src/RadioList/__tests__/RadioGroup.a11y.chromium.spec.ts +1 -0
- package/src/Resizable/__tests__/ResizeHandle.a11y.chromium.spec.ts +1 -0
- package/src/ScrollableArea/ScrollableArea.spec.md +6 -5
- package/src/ScrollableArea/ScrollableArea.test.tsx +5 -0
- package/src/ScrollableArea/ScrollableArea.tsx +4 -0
- package/src/SelectableCard/SelectableCard.doc.mjs +7 -6
- package/src/SelectableCard/SelectableCard.test.tsx +11 -1
- package/src/SelectableCard/SelectableCard.tsx +49 -33
- package/src/Selector/Selector.spec.md +12 -4
- package/src/Selector/Selector.test.tsx +114 -8
- package/src/Selector/Selector.tsx +19 -4
- package/src/Selector/__tests__/EmptyStateAnnouncement.a11y.chromium.spec.ts +1 -0
- package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +1 -0
- package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +1 -0
- package/src/Selector/__tests__/Selector.combobox.a11y.chromium.spec.ts +1 -0
- package/src/SideNav/SideNav.spec.md +51 -30
- package/src/SideNav/SideNav.test.tsx +290 -25
- package/src/SideNav/SideNavCollapseButton.spec.md +161 -0
- package/src/SideNav/SideNavHeading.spec.md +219 -0
- package/src/SideNav/SideNavHeading.tsx +41 -0
- package/src/SideNav/SideNavItem.spec.md +246 -0
- package/src/SideNav/SideNavItem.tsx +40 -9
- package/src/SideNav/SideNavSection.spec.md +153 -0
- package/src/Skeleton/Skeleton.spec.md +99 -42
- package/src/Skeleton/Skeleton.test.tsx +108 -1
- package/src/Skeleton/Skeleton.tsx +30 -2
- package/src/Slider/Slider.test.tsx +172 -0
- package/src/Slider/Slider.tsx +60 -12
- package/src/Slider/__tests__/Slider.a11y.chromium.spec.ts +1 -0
- package/src/Spinner/Spinner.spec.md +231 -0
- package/src/StatusDot/StatusDot.spec.md +139 -51
- package/src/StatusDot/StatusDot.test.tsx +13 -0
- package/src/StatusDot/StatusDot.tsx +27 -0
- package/src/Stepper/Step.spec.md +206 -0
- package/src/Stepper/Step.tsx +19 -3
- package/src/Stepper/Stepper.test.tsx +50 -0
- package/src/Switch/Switch.focusRing.source-build.test.mjs +81 -0
- package/src/Switch/Switch.tsx +11 -9
- package/src/Switch/__tests__/Switch.a11y.chromium.spec.ts +1 -0
- package/src/Switch/switch.markers.stylex.ts +7 -2
- package/src/TabList/Tab.spec.md +201 -0
- package/src/TabList/Tab.tsx +7 -1
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabMenu.spec.md +196 -0
- package/src/TabList/TabMenu.tsx +2 -0
- package/src/TabList/__tests__/TabListOverflow.interaction.browser.spec.ts +99 -0
- package/src/TabList/__tests__/Tabs.a11y.chromium.spec.ts +1 -0
- package/src/Table/Table.spec.md +54 -30
- package/src/Table/TableCell.tsx +6 -0
- package/src/Table/TableHeaderCell.tsx +2 -0
- package/src/Table/__tests__/Table.a11y.chromium.spec.ts +129 -0
- package/src/Table/__tests__/Table.a11y.contracts.ts +35 -0
- package/src/Table/__tests__/Table.a11y.renders.tsx +112 -0
- package/src/Table/__tests__/Table.a11y.states.ts +140 -0
- package/src/Table/__tests__/Table.a11y.test.tsx +198 -0
- package/src/Table/__tests__/TableMinWidth.a11y.chromium.spec.ts +1 -0
- package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +1 -0
- package/src/Table/__tests__/TableStickyDividers.a11y.browser.spec.ts +560 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +23 -8
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +91 -9
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +120 -5
- package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.test.tsx +174 -0
- package/src/Table/plugins/sortable/__tests__/useTableSortable.a11y.ts +86 -0
- package/src/Table/plugins/sortable/useTableSortable.test.tsx +0 -12
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.test.tsx +51 -1
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +291 -12
- package/src/Table/rowDivider.ts +154 -0
- package/src/Text/Text.spec.md +114 -127
- package/src/TextArea/TextArea.doc.mjs +6 -6
- package/src/TextArea/TextArea.spec.md +164 -64
- package/src/TextArea/TextArea.test.tsx +65 -6
- package/src/TextArea/TextArea.tsx +27 -15
- package/src/TextInput/TextInput.doc.mjs +8 -8
- package/src/TextInput/TextInput.spec.md +258 -0
- package/src/TextInput/TextInput.test.tsx +83 -10
- package/src/TextInput/TextInput.tsx +46 -22
- package/src/TextInput/__tests__/TextInput.a11y.chromium.spec.ts +1 -0
- package/src/Thumbnail/Thumbnail.doc.mjs +1 -2
- package/src/Thumbnail/Thumbnail.spec.md +244 -0
- package/src/Thumbnail/Thumbnail.test.tsx +120 -7
- package/src/Thumbnail/Thumbnail.tsx +77 -31
- package/src/TimeInput/TimeInput.spec.md +273 -0
- package/src/TimeInput/TimeInput.tsx +12 -4
- package/src/TimeInput/TouchTimeField.tsx +2 -1
- package/src/Timestamp/Timestamp.spec.md +252 -0
- package/src/Toast/ToastViewport.modalHost.test.tsx +630 -5
- package/src/Toast/ToastViewport.tsx +27 -2
- package/src/ToggleButton/ToggleButton.spec.md +256 -0
- package/src/ToggleButton/ToggleButtonGroup.spec.md +194 -0
- package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +1 -0
- package/src/Token/Token.spec.md +271 -0
- package/src/Token/__tests__/TokenRemoveTarget.a11y.chromium.spec.ts +1 -0
- package/src/Tokenizer/Tokenizer.props-type.test.tsx +126 -0
- package/src/Tokenizer/Tokenizer.spec.md +312 -71
- package/src/Tokenizer/Tokenizer.ssr.test.tsx +196 -0
- package/src/Tokenizer/Tokenizer.test.tsx +70 -16
- package/src/Tokenizer/Tokenizer.tsx +651 -113
- package/src/Tokenizer/TokenizerBottomSheet.test.tsx +2719 -0
- package/src/Tokenizer/TokenizerBottomSheet.tsx +957 -0
- package/src/Tokenizer/__tests__/TokenizerEndLane.a11y.chromium.spec.ts +505 -0
- package/src/Tokenizer/useEndLaneReserve.ts +3 -2
- package/src/Toolbar/Toolbar.spec.md +101 -48
- package/src/Toolbar/__tests__/Toolbar.a11y.chromium.spec.ts +1 -0
- package/src/Tooltip/Tooltip.test.tsx +171 -3
- package/src/Tooltip/__tests__/Tooltip.a11y.chromium.spec.ts +1 -0
- package/src/Tooltip/__tests__/Tooltip.a11y.states.ts +2 -2
- package/src/Tooltip/__tests__/TooltipFocusReturn.a11y.chromium.spec.ts +1 -0
- package/src/Tooltip/__tests__/TooltipHoverBridge.a11y.chromium.spec.ts +1 -0
- package/src/Tooltip/__tests__/TooltipTallContent.a11y.browser.spec.ts +646 -0
- package/src/Tooltip/__tests__/TooltipTallContentTracking.a11y.browser.spec.ts +1162 -0
- package/src/Tooltip/useTooltip.tsx +7 -2
- package/src/TopNav/TopNav.spec.md +190 -0
- package/src/TopNav/TopNavHeading.spec.md +204 -0
- package/src/TopNav/TopNavItem.spec.md +189 -0
- package/src/TopNav/TopNavMegaMenu.reduced-motion.source-build.test.mjs +83 -0
- package/src/TopNav/TopNavMegaMenu.spec.md +190 -0
- package/src/TopNav/TopNavMegaMenu.tsx +21 -4
- package/src/TopNav/TopNavMegaMenuFeaturedCard.spec.md +150 -0
- package/src/TopNav/TopNavMegaMenuItem.spec.md +155 -0
- package/src/TopNav/TopNavMenu.spec.md +195 -0
- package/src/TopNav/__tests__/TopNavMobileLongHeading.a11y.chromium.spec.ts +1 -0
- package/src/TreeList/TreeList.doc.mjs +13 -0
- package/src/TreeList/TreeList.spec.md +51 -35
- package/src/TreeList/TreeList.tsx +234 -2
- package/src/TreeList/TreeListItem.tsx +12 -2
- package/src/TreeList/__tests__/TreeList.a11y.chromium.spec.ts +1 -0
- package/src/TreeList/__tests__/TreeListRowNames.a11y.chromium.spec.ts +1 -0
- package/src/Typeahead/BaseTypeahead.tsx +14 -2
- package/src/Typeahead/Typeahead.test.tsx +114 -1
- package/src/Typeahead/Typeahead.tsx +34 -16
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +1 -1
- package/src/VisuallyHidden/VisuallyHidden.spec.md +170 -0
- package/src/VisuallyHidden/VisuallyHidden.test.tsx +39 -0
- package/src/VisuallyHidden/VisuallyHidden.tsx +38 -5
- package/src/__tests__/BusyOwnerAnnouncement.test.tsx +66 -5
- package/src/__tests__/CardPress.a11y.chromium.spec.ts +353 -0
- package/src/__tests__/DisabledTriggerFocus.a11y.chromium.spec.ts +2 -1
- package/src/__tests__/PressedState.a11y.chromium.spec.ts +1 -0
- package/src/__tests__/pressState.ts +43 -1
- package/src/__tests__/unthemedLength.ts +34 -0
- package/src/gestures/GestureArena.ts +966 -0
- package/src/gestures/GestureRecognizer.ts +626 -0
- package/src/gestures/LongPressGestureRecognizer.ts +186 -0
- package/src/gestures/PanGestureRecognizer.ts +410 -0
- package/src/gestures/TapGestureRecognizer.ts +192 -0
- package/src/gestures/VelocityTracker.ts +194 -0
- package/src/gestures/__tests__/LongPressGestureRecognizer.test.ts +141 -0
- package/src/gestures/__tests__/PanGestureRecognizer.test.ts +327 -0
- package/src/gestures/__tests__/TapGestureRecognizer.test.ts +154 -0
- package/src/gestures/__tests__/VelocityTracker.test.ts +261 -0
- package/src/gestures/__tests__/arena.test.ts +824 -0
- package/src/gestures/__tests__/arenaContinuous.test.ts +207 -0
- package/src/gestures/__tests__/arenaTapLongPress.test.ts +211 -0
- package/src/gestures/__tests__/harness.ts +204 -0
- package/src/gestures/geometry.ts +55 -0
- package/src/gestures/types.ts +161 -0
- package/src/hooks/AnnounceRenderedText.tsx +27 -0
- package/src/hooks/ModalAnnounceProvider.tsx +155 -0
- package/src/hooks/__tests__/MenuPressShadowRoot.a11y.chromium.spec.ts +98 -4
- package/src/hooks/actionGroupTracker.exports.test.ts +28 -0
- package/src/hooks/actionGroupTracker.test.ts +510 -0
- package/src/hooks/actionGroupTracker.ts +449 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/modalAnnounce.ts +439 -0
- package/src/hooks/useAdaptivePresentation.ts +46 -9
- package/src/hooks/useAnimatedLayout.doc.mjs +101 -0
- package/src/hooks/useAnimatedLayout.ts +61 -0
- package/src/hooks/useAnnounce.doc.mjs +4 -4
- package/src/hooks/useAnnounce.modal.test.tsx +1291 -0
- package/src/hooks/useAnnounce.test.tsx +64 -4
- package/src/hooks/useAnnounce.ts +452 -28
- package/src/hooks/useAnnounceRenderedText.adopters.test.tsx +226 -0
- package/src/hooks/useAnnounceRenderedText.ts +81 -11
- package/src/hooks/useBusyAnnouncement.adopters.test.tsx +69 -0
- package/src/hooks/useBusyAnnouncement.test.tsx +112 -0
- package/src/hooks/useBusyAnnouncement.ts +64 -54
- package/src/hooks/useFocusTrap.doc.mjs +3 -3
- package/src/hooks/useFocusTrap.test.tsx +135 -2
- package/src/hooks/useFocusTrap.ts +59 -27
- package/src/hooks/useMenuPress.doc.mjs +2 -2
- package/src/hooks/useMenuPress.test.tsx +5 -2
- package/src/hooks/useMenuPress.ts +72 -37
- package/src/hooks/useScrollableArea.test.tsx +159 -0
- package/src/hooks/useScrollableArea.ts +39 -5
- package/src/i18n/generated-locales/en.generated.ts +35 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +37 -0
- package/src/internal/tokenizer-presentation.test.ts +29 -0
- package/src/internal/tokenizer-presentation.ts +25 -0
- package/src/internal/touch.test.ts +44 -0
- package/src/internal/touch.ts +41 -0
- package/src/motion/LayoutChangeSnapshot.tsx +50 -0
- package/src/motion/MEASUREMENTS.md +271 -0
- package/src/motion/README.md +218 -0
- package/src/motion/__tests__/animatedLayout.interaction.browser.spec.ts +1507 -0
- package/src/motion/__tests__/animatedLayoutAdopters.interaction.browser.spec.ts +217 -0
- package/src/motion/__tests__/animatedLayoutBundle.ts +17 -0
- package/src/motion/animatedLayout.boundary.test.ts +139 -0
- package/src/motion/animatedLayout.test.ts +965 -0
- package/src/motion/animatedLayout.ts +1322 -0
- package/src/motion/animatedLayoutAdopters.test.tsx +500 -0
- package/src/motion/animator.test.ts +2653 -0
- package/src/motion/animator.ts +2794 -0
- package/src/motion/bezier.test.ts +52 -0
- package/src/motion/bezier.ts +64 -0
- package/src/motion/coast.test.ts +99 -0
- package/src/motion/coast.ts +150 -0
- package/src/motion/decay.test.ts +120 -0
- package/src/motion/decay.ts +126 -0
- package/src/motion/projection.test.ts +107 -0
- package/src/motion/projection.ts +116 -0
- package/src/motion/reducedMotion.stylex.ts +41 -0
- package/src/motion/reducedMotion.test.ts +129 -0
- package/src/motion/reducedMotion.ts +94 -0
- package/src/motion/reducedMotionPlan.test.ts +182 -0
- package/src/motion/reducedMotionPlan.ts +263 -0
- package/src/motion/resolveSnapPoint.test.ts +189 -0
- package/src/motion/resolveSnapPoint.ts +169 -0
- package/src/motion/roleValue.ts +105 -0
- package/src/motion/roles.test.ts +256 -0
- package/src/motion/roles.ts +262 -0
- package/src/motion/rubberBand.test.ts +88 -0
- package/src/motion/rubberBand.ts +115 -0
- package/src/motion/selectPage.test.ts +31 -0
- package/src/motion/selectPage.ts +55 -0
- package/src/motion/spring.test.ts +650 -0
- package/src/motion/spring.ts +551 -0
- package/src/motion/uikit/gestures.test.ts +89 -0
- package/src/motion/uikit/gestures.ts +359 -0
- package/src/motion/uikit/index.ts +80 -0
- package/src/motion/uikit/navigation.ts +83 -0
- package/src/motion/uikit/scroll.ts +141 -0
- package/src/motion/uikit/springRows.test.ts +71 -0
- package/src/motion/uikit/springs.ts +514 -0
- package/src/motion/uikit/timing.ts +210 -0
- package/src/motion/uikit/uikit.test.ts +364 -0
- package/src/motion/uikit/values.test.ts +110 -0
- package/src/reset.a11y.chromium.spec.ts +1 -0
- package/src/reset.until-found.a11y.browser.spec.ts +1 -0
- package/src/serverSafeComponents.test.ts +10 -0
- package/src/tailwind-theme.css +51 -1
- package/src/tailwind-theme.test.ts +51 -0
- package/src/theme/Theme.test.tsx +28 -0
- package/src/theme/__tests__/SpacingRootFontSize.a11y.chromium.spec.ts +1 -0
- package/src/theme/declarationBoundary.ts +282 -1
- package/src/theme/defineTheme.test.ts +529 -12
- package/src/theme/defineTheme.ts +175 -19
- package/src/theme/derivedVarRegistry.test.ts +28 -5
- package/src/theme/derivedVarRegistry.ts +4 -0
- package/src/theme/expandMotionScale.test.ts +17 -0
- package/src/theme/generateThemeRules.ts +772 -35
- package/src/theme/index.ts +3 -0
- package/src/theme/onMediaTokens.test.ts +186 -0
- package/src/theme/statusColor.ts +189 -0
- package/src/theme/statusRoleDerivation.ts +289 -0
- package/src/theme/themeAdaptations.test.ts +412 -0
- package/src/theme/themeAdaptations.ts +43 -1
- package/src/theme/tokens.stylex.ts +31 -2
- package/src/theme/tokens.test.ts +96 -1
- package/src/theme/tokens.ts +23 -1
- package/src/theme/useTheme.ts +10 -4
- package/src/utils/customPropertyArmLayering.test.ts +131 -0
- package/src/utils/edgeAutoscroll.test.ts +192 -0
- package/src/utils/edgeAutoscroll.ts +111 -0
- package/src/utils/hitArea.test.ts +628 -0
- package/src/utils/hitArea.ts +770 -0
- package/src/utils/touchPresentation.test.ts +323 -0
- package/src/utils/touchPresentation.ts +153 -0
|
@@ -4,23 +4,36 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file Tokenizer.tsx
|
|
7
|
-
* @input Uses React, BaseTypeahead, Field, Token, useAnnounce
|
|
8
|
-
*
|
|
7
|
+
* @input Uses React, BaseTypeahead, Field, Token, useAnnounce,
|
|
8
|
+
* useAdaptivePresentation, and TokenizerBottomSheet (lazy)
|
|
9
|
+
* @output Exports Tokenizer multi-select typeahead component, and the
|
|
10
|
+
* internal TokenizerWithPresentation signature the `internal/tokenizer-presentation`
|
|
11
|
+
* entry re-exports
|
|
9
12
|
* @position Composed component; forwards DOM ref and exposes focus control via
|
|
10
|
-
* handleRef
|
|
13
|
+
* handleRef. The sheet presentation — a trigger that opens
|
|
14
|
+
* TokenizerBottomSheet — is implemented but not exposed: `TokenizerProps`
|
|
15
|
+
* offers no `experimental.presentation` while its user experience is being
|
|
16
|
+
* finished (`component:Tokenizer` DEC-3, implementation gap), and only
|
|
17
|
+
* Astryx's own packages reach it through the internal entry
|
|
18
|
+
* (`architecture:react-component-runtime` INV13).
|
|
11
19
|
*
|
|
12
20
|
* SYNC: When modified, update:
|
|
13
21
|
* - /packages/core/src/Tokenizer/index.ts
|
|
22
|
+
* - /packages/core/src/Tokenizer/TokenizerBottomSheet.tsx (sheet presentation)
|
|
14
23
|
* - /apps/storybook/stories/Tokenizer.stories.tsx
|
|
15
24
|
* - /packages/cli/assets/templates/blocks/components/Tokenizer/ (showcase blocks)
|
|
16
25
|
*/
|
|
17
|
-
import React, { useCallback, useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
26
|
+
import React, { lazy, Suspense, useCallback, useEffect, useId, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
18
27
|
import * as stylex from '@stylexjs/stylex';
|
|
19
28
|
import { BusyIndicatorLaneProvider, createBusyIndicatorLane, useIsBusy } from "../Typeahead/busyIndicatorLane.js";
|
|
20
29
|
import { TrailingKeyDownContext } from "../Typeahead/trailingKeyDown.js";
|
|
21
30
|
import { useFieldInputStyling } from "../Field/fieldParts.js";
|
|
22
31
|
import { useMergedRefs } from "../hooks/useMergedRefs.js";
|
|
23
32
|
import { useBusyAnnouncement } from "../hooks/useBusyAnnouncement.js";
|
|
33
|
+
import { useAdaptivePresentation } from "../hooks/useAdaptivePresentation.js";
|
|
34
|
+
import { useIsHydrating } from "../hooks/useIsHydrating.js";
|
|
35
|
+
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
36
|
+
import { warnOnce } from "../utils/devWarning.js";
|
|
24
37
|
import { BaseTypeahead } from "../Typeahead/BaseTypeahead.js";
|
|
25
38
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
26
39
|
import { Field, InputClearButton, inputWrapperStyles, inputStatusBorderStyles, inputStatusHoverShadowStyles, inputStatusFocusWithinStyles } from "../Field/index.js";
|
|
@@ -34,7 +47,7 @@ import { useTooltip } from "../Tooltip/index.js";
|
|
|
34
47
|
import { useAnnounce } from "../hooks/useAnnounce.js";
|
|
35
48
|
import "../theme/tokens.stylex.js";
|
|
36
49
|
import { colorVars, spacingVars, sizeVars, typeScaleVars } from "../theme/tokens.stylex.js";
|
|
37
|
-
import { mergeProps } from "../utils/index.js";
|
|
50
|
+
import { composeEventHandlers, mergeProps } from "../utils/index.js";
|
|
38
51
|
import { themeProps } from "../utils/themeProps.js";
|
|
39
52
|
import { useTranslator } from "../i18n/index.js";
|
|
40
53
|
|
|
@@ -58,6 +71,23 @@ import { useTranslator } from "../i18n/index.js";
|
|
|
58
71
|
/**
|
|
59
72
|
* Imperative handle for Tokenizer handleRef.
|
|
60
73
|
*/
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* The presentation options the sheet-capable signature admits. Not public:
|
|
77
|
+
* `TokenizerProps` has no `experimental` while the sheet's user experience is
|
|
78
|
+
* being finished; Astryx's own packages reach the sheet through
|
|
79
|
+
* `@astryxdesign/core/internal/tokenizer-presentation`.
|
|
80
|
+
*/
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* The props of the sheet-capable signature: `TokenizerProps` plus the
|
|
84
|
+
* presentation options and a `ref` that also accepts the sheet presentation's
|
|
85
|
+
* trigger button, the control it stands for there. Not public: reached only
|
|
86
|
+
* as `TokenizerWithPresentation` through the internal entry, so the released
|
|
87
|
+
* `TokenizerProps` — an interface, so `interface X extends TokenizerProps<T>`,
|
|
88
|
+
* `Omit<TokenizerProps<T>, …>` and `ComponentProps<typeof Tokenizer>` keep
|
|
89
|
+
* their released shapes — names no presentation.
|
|
90
|
+
*/
|
|
61
91
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
62
92
|
// =============================================================================
|
|
63
93
|
// Styles
|
|
@@ -67,11 +97,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
67
97
|
// because the input's reserve is derived from the same value.
|
|
68
98
|
const END_LANE_INSET = spacingVars['--spacing-2'];
|
|
69
99
|
const TOKEN_ROW_INSET = `calc(${spacingVars['--spacing-1']} - 1px)`;
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
const INPUT_CLEAR_COARSE_POINTER_OUTSET = '2px';
|
|
73
|
-
// Kept in sync with useEndLaneReserve: inputCompact reads the custom property
|
|
74
|
-
// directly so its empty-query pseudo-class can suppress the inner reserve.
|
|
100
|
+
// Kept in sync with useEndLaneReserve: wrapperWithTokens reads the custom
|
|
101
|
+
// property directly, to keep token rows and the input short of the lane.
|
|
75
102
|
const END_LANE_RESERVE_VAR = '--_tokenizer-end-lane-reserve';
|
|
76
103
|
const styles = {
|
|
77
104
|
wrapper: {
|
|
@@ -85,12 +112,14 @@ const styles = {
|
|
|
85
112
|
wrapperWithTokens: {
|
|
86
113
|
k8WAf4: "x1x7cmac",
|
|
87
114
|
kg3NbH: "xx2oswg",
|
|
115
|
+
kwRFfy: "xx0flbe",
|
|
88
116
|
khm7nJ: "xajebq8",
|
|
89
117
|
$$css: true
|
|
90
118
|
},
|
|
91
119
|
token: {
|
|
92
120
|
k1xSpc: "x78zum5",
|
|
93
121
|
kmuXW: "x2lah0s",
|
|
122
|
+
ks0D6T: "x193iq5w",
|
|
94
123
|
kVAEAm: "x1n2onr6",
|
|
95
124
|
kY2c9j: "x1vjfegm",
|
|
96
125
|
$$css: true
|
|
@@ -105,6 +134,11 @@ const styles = {
|
|
|
105
134
|
kY2c9j: "x1vjfegm",
|
|
106
135
|
$$css: true
|
|
107
136
|
},
|
|
137
|
+
idleSpinner: {
|
|
138
|
+
k33iCy: "xlshs6z",
|
|
139
|
+
kCygrm: "xdps06",
|
|
140
|
+
$$css: true
|
|
141
|
+
},
|
|
108
142
|
inputAtMax: {
|
|
109
143
|
kzqmXN: "xnalus7",
|
|
110
144
|
k7Eaqz: "xeuugli",
|
|
@@ -115,16 +149,15 @@ const styles = {
|
|
|
115
149
|
$$css: true
|
|
116
150
|
},
|
|
117
151
|
inputCompact: {
|
|
118
|
-
kVAEAm: "x1n2onr6
|
|
152
|
+
kVAEAm: "x1n2onr6",
|
|
119
153
|
kB7OPa: "x9f619",
|
|
120
|
-
kLqNvP: "xhi6v0a x1cs7wtd",
|
|
121
154
|
kY2c9j: "x1ja2u2z",
|
|
122
|
-
k7Eaqz: "x1fns5xo
|
|
123
|
-
kUk6DE: "xfoc8du
|
|
124
|
-
kzqmXN: "xnalus7
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
155
|
+
k7Eaqz: "x1fns5xo x14dcwvw",
|
|
156
|
+
kUk6DE: "xfoc8du x1q9bidn",
|
|
157
|
+
kzqmXN: "xnalus7",
|
|
158
|
+
keTefX: "x1lziwak x1rq9t4t",
|
|
159
|
+
kZCmMZ: "x2a0j69 x1jwxvv4",
|
|
160
|
+
kwRFfy: "xyri2b",
|
|
128
161
|
$$css: true
|
|
129
162
|
},
|
|
130
163
|
truncatedWrapper: {
|
|
@@ -135,6 +168,25 @@ const styles = {
|
|
|
135
168
|
layerPopover: {
|
|
136
169
|
kzqmXN: "x1xgy17j",
|
|
137
170
|
$$css: true
|
|
171
|
+
},
|
|
172
|
+
sheetTrigger: {
|
|
173
|
+
kzqmXN: "xh8yej3",
|
|
174
|
+
kMv6JI: "xjb2p0i",
|
|
175
|
+
kGuDYH: "x1qlqyl8",
|
|
176
|
+
kMwMTN: "x1heor9g",
|
|
177
|
+
k9WMMc: "x1yc453h",
|
|
178
|
+
kysU6D: "xjyslct",
|
|
179
|
+
kkrTdU: "x1ypdohk x16khyan",
|
|
180
|
+
$$css: true
|
|
181
|
+
},
|
|
182
|
+
sheetTriggerDisabled: {
|
|
183
|
+
kVAM5u: "xvy26l8 xmnqt3w",
|
|
184
|
+
kMwMTN: "x1bhcspo",
|
|
185
|
+
$$css: true
|
|
186
|
+
},
|
|
187
|
+
sheetTokenDisabled: {
|
|
188
|
+
kMwMTN: "x1tgivj0 x1bhcspo",
|
|
189
|
+
$$css: true
|
|
138
190
|
}
|
|
139
191
|
};
|
|
140
192
|
const sizeStyles = {
|
|
@@ -168,23 +220,6 @@ const endSectionSizeStyles = {
|
|
|
168
220
|
$$css: true
|
|
169
221
|
}
|
|
170
222
|
};
|
|
171
|
-
const compactInputSizeStyles = {
|
|
172
|
-
sm: {
|
|
173
|
-
k87sOh: "x80663w x1a21zuh",
|
|
174
|
-
k3aq6I: "x1c071of xv6p7n0",
|
|
175
|
-
$$css: true
|
|
176
|
-
},
|
|
177
|
-
md: {
|
|
178
|
-
k87sOh: "x80663w x811pv0",
|
|
179
|
-
k3aq6I: "x1c071of xv6p7n0",
|
|
180
|
-
$$css: true
|
|
181
|
-
},
|
|
182
|
-
lg: {
|
|
183
|
-
k87sOh: "x80663w x1o13q2w",
|
|
184
|
-
k3aq6I: "x1c071of xv6p7n0",
|
|
185
|
-
$$css: true
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
223
|
const truncatedSizeStyles = {
|
|
189
224
|
sm: {
|
|
190
225
|
kZKoxP: "x6k0iem",
|
|
@@ -222,6 +257,41 @@ const layerPlaceholderSizeStyles = {
|
|
|
222
257
|
// "Create: X" suggestions from real search results.
|
|
223
258
|
const CREATABLE_ID_PREFIX = '__xds_create__';
|
|
224
259
|
|
|
260
|
+
// The touch sheet (BottomSheet, its gestures, the confirmation dialog, and
|
|
261
|
+
// the empty state) only renders for the bottom-sheet presentation. Loading it
|
|
262
|
+
// on demand keeps it out of pages whose tokenizers stay inline combobox fields
|
|
263
|
+
// (`component:Tokenizer` PR6).
|
|
264
|
+
// One import promise, shared by the preload and the lazy element: the sheet
|
|
265
|
+
// presentation loads its chunk as soon as it is active, so the first press
|
|
266
|
+
// does not wait for the network, while nothing of the sheet is rendered until
|
|
267
|
+
// a press (`architecture:component-style-authoring` INV7).
|
|
268
|
+
const loadTokenizerBottomSheet = async () => import("./TokenizerBottomSheet.js");
|
|
269
|
+
const LazyTokenizerBottomSheet = /*#__PURE__*/lazy(async () => loadTokenizerBottomSheet().then(module => ({
|
|
270
|
+
default: module.TokenizerBottomSheet
|
|
271
|
+
})));
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Hosts the lazily loaded sheet. Renders nothing on the server or in the
|
|
275
|
+
* render that hydrates server HTML: a lazy component that has not loaded yet
|
|
276
|
+
* would leave server markup incomplete and abort hydration. The closed sheet
|
|
277
|
+
* has no visible markup, so it first renders right after hydration.
|
|
278
|
+
*/
|
|
279
|
+
function TokenizerSheetHost(props) {
|
|
280
|
+
const isHydrating = useIsHydrating();
|
|
281
|
+
if (isHydrating) {
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
// `lazy` erases the component's type parameter; the module exports the
|
|
285
|
+
// generic component this props type belongs to.
|
|
286
|
+
const Sheet = LazyTokenizerBottomSheet;
|
|
287
|
+
return /*#__PURE__*/_jsx(Suspense, {
|
|
288
|
+
fallback: null,
|
|
289
|
+
children: /*#__PURE__*/_jsx(Sheet, {
|
|
290
|
+
...props
|
|
291
|
+
})
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
|
|
225
295
|
/**
|
|
226
296
|
* Multi-select input with token chips and typeahead search.
|
|
227
297
|
*
|
|
@@ -271,6 +341,13 @@ const CREATABLE_ID_PREFIX = '__xds_create__';
|
|
|
271
341
|
*
|
|
272
342
|
* Renders nothing when the lane would be empty, so `useEndLaneReserve` sees no
|
|
273
343
|
* element, publishes no width, and the input keeps its full content box.
|
|
344
|
+
*
|
|
345
|
+
* With `hasBusySlot` the Spinner stays mounted while idle, unrendered, not
|
|
346
|
+
* animating and out of the accessibility tree, so its box keeps the themed
|
|
347
|
+
* Spinner's own size.
|
|
348
|
+
* Token rows reserve the lane's measured width, so a Spinner that came and
|
|
349
|
+
* went with the search would re-wrap them, and widen a content-sized field,
|
|
350
|
+
* on every search.
|
|
274
351
|
*/
|
|
275
352
|
function EndLane({
|
|
276
353
|
lane,
|
|
@@ -279,6 +356,7 @@ function EndLane({
|
|
|
279
356
|
loadingLabel,
|
|
280
357
|
anchorRef,
|
|
281
358
|
hasStaticContent,
|
|
359
|
+
hasBusySlot,
|
|
282
360
|
children
|
|
283
361
|
}) {
|
|
284
362
|
const isBusy = useIsBusy(lane);
|
|
@@ -286,19 +364,30 @@ function EndLane({
|
|
|
286
364
|
// live region; the field announces each search's busy start instead
|
|
287
365
|
// (spec:AST-086 FR8).
|
|
288
366
|
useBusyAnnouncement(isBusy, loadingLabel, anchorRef);
|
|
289
|
-
if (!isBusy && !hasStaticContent) {
|
|
367
|
+
if (!isBusy && !hasStaticContent && !hasBusySlot) {
|
|
290
368
|
return null;
|
|
291
369
|
}
|
|
292
370
|
return /*#__PURE__*/_jsxs("div", {
|
|
293
371
|
ref: laneRef,
|
|
294
372
|
...stylex.props(laneXStyle),
|
|
295
|
-
children: [isBusy && /*#__PURE__*/_jsx(Spinner
|
|
373
|
+
children: [(isBusy || hasBusySlot) && /*#__PURE__*/_jsx(Spinner
|
|
374
|
+
// Remounts when a search starts, so the ring syncs its phase on
|
|
375
|
+
// mount exactly as a newly shown Spinner did before.
|
|
376
|
+
, {
|
|
296
377
|
size: "sm",
|
|
297
378
|
"aria-label": loadingLabel,
|
|
298
|
-
role: "img"
|
|
299
|
-
|
|
379
|
+
role: "img",
|
|
380
|
+
"aria-hidden": isBusy ? undefined : true,
|
|
381
|
+
xstyle: isBusy ? undefined : styles.idleSpinner
|
|
382
|
+
}, isBusy ? 'busy' : 'idle'), children]
|
|
300
383
|
});
|
|
301
384
|
}
|
|
385
|
+
|
|
386
|
+
// The public signature names no presentation: `ComponentProps<typeof
|
|
387
|
+
// Tokenizer>` and every public call resolve against `TokenizerProps`. The
|
|
388
|
+
// implementation also reads the presentation options, reached only through
|
|
389
|
+
// `TokenizerWithPresentation` below.
|
|
390
|
+
|
|
302
391
|
export function Tokenizer({
|
|
303
392
|
label,
|
|
304
393
|
isLabelHidden = false,
|
|
@@ -344,6 +433,7 @@ export function Tokenizer({
|
|
|
344
433
|
ref,
|
|
345
434
|
handleRef,
|
|
346
435
|
onKeyDown,
|
|
436
|
+
experimental,
|
|
347
437
|
id: idProp,
|
|
348
438
|
'aria-describedby': ariaDescribedByProp,
|
|
349
439
|
...restProps
|
|
@@ -356,6 +446,12 @@ export function Tokenizer({
|
|
|
356
446
|
containerClassName,
|
|
357
447
|
containerStyle
|
|
358
448
|
});
|
|
449
|
+
// A caller's onClick arrives through the base props; the sheet trigger
|
|
450
|
+
// composes it with its own open handler rather than letting either win.
|
|
451
|
+
const {
|
|
452
|
+
onClick: callerOnClick,
|
|
453
|
+
...restWithoutClick
|
|
454
|
+
} = rest;
|
|
359
455
|
const t = useTranslator();
|
|
360
456
|
const size = useSize(sizeProp, 'md');
|
|
361
457
|
const generatedInputId = useId();
|
|
@@ -365,10 +461,128 @@ export function Tokenizer({
|
|
|
365
461
|
const inputRef = useRef(null);
|
|
366
462
|
const wrapperRef = useRef(null);
|
|
367
463
|
|
|
368
|
-
//
|
|
369
|
-
//
|
|
370
|
-
//
|
|
371
|
-
//
|
|
464
|
+
// Experimental presentation (`component:Tokenizer` DEC-3). `adaptive`
|
|
465
|
+
// resolves through the policy the selection controls share; an open sheet
|
|
466
|
+
// keeps its presentation until it closes, so a resolution change mid-task
|
|
467
|
+
// cannot pull the surface out from under the person.
|
|
468
|
+
const presentation = experimental?.presentation ?? 'popover';
|
|
469
|
+
const resolvedPresentation = useAdaptivePresentation(presentation);
|
|
470
|
+
const [isSheetOpen, setIsSheetOpen] = useState(false);
|
|
471
|
+
// Latched for the sheet's lifetime: a sheet stays presented after it closes
|
|
472
|
+
// until BottomSheet has run its exit and handed focus back to the trigger.
|
|
473
|
+
// Without the latch, `adaptive` resolving to `popover` mid-session (a phone
|
|
474
|
+
// turned to landscape) would unmount the sheet and the trigger it returns
|
|
475
|
+
// focus to in the same render, dropping focus to the page body
|
|
476
|
+
// (`component:Tokenizer` FR16).
|
|
477
|
+
const [isSheetPresented, setIsSheetPresented] = useState(false);
|
|
478
|
+
const isSheetPresentation = isSheetOpen || isSheetPresented || resolvedPresentation === 'bottom-sheet';
|
|
479
|
+
// Preload the sheet's chunk while the sheet presentation is active, so the
|
|
480
|
+
// first press opens without waiting for the network; nothing renders.
|
|
481
|
+
useEffect(() => {
|
|
482
|
+
if (isSheetPresentation) {
|
|
483
|
+
void loadTokenizerBottomSheet();
|
|
484
|
+
}
|
|
485
|
+
}, [isSheetPresentation]);
|
|
486
|
+
const triggerRef = useRef(null);
|
|
487
|
+
// The sheet's query between presentations: the sheet is in the DOM only
|
|
488
|
+
// from a press until its exit completes, and a close the field forces
|
|
489
|
+
// keeps the query (FR18). The ref follows every report; the press
|
|
490
|
+
// snapshots it into the state the next presentation starts from.
|
|
491
|
+
const sheetQueryRef = useRef('');
|
|
492
|
+
const [sheetInitialQuery, setSheetInitialQuery] = useState('');
|
|
493
|
+
const handleSheetQueryChange = useCallback(query => {
|
|
494
|
+
sheetQueryRef.current = query;
|
|
495
|
+
onChangeQuery?.(query);
|
|
496
|
+
}, [onChangeQuery]);
|
|
497
|
+
// Whether the field's control — the inline input or the trigger — holds
|
|
498
|
+
// focus. Kept in a ref by the focus and blur handlers of both, because a
|
|
499
|
+
// control unmounted while focused fires no blur: when a presentation swap
|
|
500
|
+
// removes the focused control (the latch releasing into the popover, or
|
|
501
|
+
// `adaptive` changing while the sheet is closed), the new presentation's
|
|
502
|
+
// control takes the focus over once it has mounted, so focus never lands on
|
|
503
|
+
// the page body (`component:Tokenizer` FR16, `spec:AST-085` FR4).
|
|
504
|
+
const isControlFocusedRef = useRef(false);
|
|
505
|
+
// Set around a focus move the field makes itself — a presentation swap
|
|
506
|
+
// handing focus from one control to the other — so the receiving control
|
|
507
|
+
// does not report it as focus entering from outside.
|
|
508
|
+
const isHandingOffFocusRef = useRef(false);
|
|
509
|
+
// Whether the caller has been told focus entered the field in this visit,
|
|
510
|
+
// so `onBlur` is never reported without its `onFocus`: in Safari a click
|
|
511
|
+
// or tap does not focus a button, so a pointer-opened sheet reports no
|
|
512
|
+
// entry, and the one focus the trigger then gets — BottomSheet's return
|
|
513
|
+
// focus — is the entry to report.
|
|
514
|
+
const hasReportedFocusRef = useRef(false);
|
|
515
|
+
// A control can hold focus without the field having seen a focus event:
|
|
516
|
+
// the inline input server-rendered with `autofocus` (`hasAutoFocus`) is
|
|
517
|
+
// focused before hydration, and the swap to the trigger in the first
|
|
518
|
+
// render after it removes that input. React detaches the old control
|
|
519
|
+
// before any effect of the swapping commit runs, so the live focus is
|
|
520
|
+
// read during that render, while the control is still in the document —
|
|
521
|
+
// a read of `document.activeElement` only, with no update made in render.
|
|
522
|
+
const previousPresentationRef = useRef(isSheetPresentation);
|
|
523
|
+
if (previousPresentationRef.current !== isSheetPresentation) {
|
|
524
|
+
previousPresentationRef.current = isSheetPresentation;
|
|
525
|
+
if (typeof document !== 'undefined') {
|
|
526
|
+
const active = document.activeElement;
|
|
527
|
+
if (active != null && (active === inputRef.current || active === triggerRef.current)) {
|
|
528
|
+
isControlFocusedRef.current = true;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
useEffect(() => {
|
|
533
|
+
if (!isControlFocusedRef.current) {
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
const active = document.activeElement;
|
|
537
|
+
if (active != null && active !== document.body) {
|
|
538
|
+
return;
|
|
539
|
+
}
|
|
540
|
+
isHandingOffFocusRef.current = true;
|
|
541
|
+
(isSheetPresentation ? triggerRef.current : inputRef.current)?.focus();
|
|
542
|
+
isHandingOffFocusRef.current = false;
|
|
543
|
+
}, [isSheetPresentation]);
|
|
544
|
+
// The trigger's accessible description names the selected tokens: the
|
|
545
|
+
// button's children are tokens whose own content assistive technology
|
|
546
|
+
// leaves out of a button's name (`spec:AST-020` FR1).
|
|
547
|
+
const triggerTokensId = useId();
|
|
548
|
+
// Each rendered token's id, for the trigger's description; the item id is
|
|
549
|
+
// an arbitrary string, so it is encoded rather than used as is.
|
|
550
|
+
const tokenElementId = itemId => `${triggerTokensId}-${encodeURIComponent(itemId)}`;
|
|
551
|
+
// Props that describe the inline combobox have no surface in the sheet
|
|
552
|
+
// presentation. Say so once in development rather than dropping them
|
|
553
|
+
// silently (`architecture:public-component-api` INV3).
|
|
554
|
+
const inertSheetProps = isSheetPresentation ? [['renderItem', renderItem], ['renderToken', renderToken], ['endContent', endContent], ['hasClear', hasClear || undefined], ['hasEntriesOnFocus', hasEntriesOnFocus || undefined], ['menuWidth', menuWidth], ['tokenOverflowBehavior', tokenOverflowBehavior], ['hasAutoFocus', hasAutoFocus || undefined]].filter(([, v]) => v !== undefined && v !== 'none').map(([name]) => name) : [];
|
|
555
|
+
const inertSheetPropsKey = inertSheetProps.join(',');
|
|
556
|
+
useEffect(() => {
|
|
557
|
+
if (inertSheetPropsKey === '') {
|
|
558
|
+
return;
|
|
559
|
+
}
|
|
560
|
+
warnOnce(`tokenizer:sheet-inert:${inertSheetPropsKey}`, 'Tokenizer', `\`${inertSheetProps.join('`, `')}\` ${inertSheetProps.length === 1 ? 'has' : 'have'} no surface in the bottom-sheet presentation and ${inertSheetProps.length === 1 ? 'is' : 'are'} not rendered there.`);
|
|
561
|
+
// eslint-disable-next-line @eslint-react/exhaustive-deps -- keyed by the joined names
|
|
562
|
+
}, [inertSheetPropsKey]);
|
|
563
|
+
// A field that becomes disabled cannot keep its sheet open, and must not
|
|
564
|
+
// reopen it when re-enabled (`component:Tokenizer` FR17). Adjusted in the
|
|
565
|
+
// render that sees the change, not an effect, so no frame shows both.
|
|
566
|
+
const [wasDisabled, setWasDisabled] = useState(isDisabled);
|
|
567
|
+
// A sheet that was open when the field became disabled stays mounted,
|
|
568
|
+
// closed, so it runs its exit and hands focus back to the trigger; a field
|
|
569
|
+
// that is disabled from the start mounts no sheet.
|
|
570
|
+
const [keepsSheetWhileDisabled, setKeepsSheetWhileDisabled] = useState(false);
|
|
571
|
+
if (isDisabled !== wasDisabled) {
|
|
572
|
+
setWasDisabled(isDisabled);
|
|
573
|
+
if (isDisabled && isSheetOpen) {
|
|
574
|
+
setIsSheetOpen(false);
|
|
575
|
+
setKeepsSheetWhileDisabled(true);
|
|
576
|
+
}
|
|
577
|
+
if (!isDisabled) {
|
|
578
|
+
setKeepsSheetWhileDisabled(false);
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
// Disabled-reason tooltip. The tooltip listeners attach to the input wrapper
|
|
583
|
+
// and the typeahead input stays perceivable via aria-disabled instead of the
|
|
584
|
+
// disabled attribute. Input is blocked by the isDisabled guards in
|
|
585
|
+
// BaseTypeahead and handleWrapperClick.
|
|
372
586
|
const showsDisabledMessage = isDisabled && !!disabledMessage;
|
|
373
587
|
const disabledMessageTooltip = useTooltip({
|
|
374
588
|
placement: 'above',
|
|
@@ -377,12 +591,16 @@ export function Tokenizer({
|
|
|
377
591
|
focusTrigger: 'always',
|
|
378
592
|
isEnabled: showsDisabledMessage
|
|
379
593
|
});
|
|
594
|
+
|
|
595
|
+
// The sheet presentation has no input; the public ref reaches the trigger,
|
|
596
|
+
// the control it stands for (`family:input-fields` FR10).
|
|
597
|
+
const triggerMergedRef = useMergedRefs(triggerRef, ref, disabledMessageTooltip.ref);
|
|
380
598
|
useImperativeHandle(handleRef, () => ({
|
|
381
599
|
focus() {
|
|
382
|
-
inputRef.current?.focus();
|
|
600
|
+
(isSheetPresentation ? triggerRef : inputRef).current?.focus();
|
|
383
601
|
},
|
|
384
602
|
blur() {
|
|
385
|
-
inputRef.current?.blur();
|
|
603
|
+
(isSheetPresentation ? triggerRef : inputRef).current?.blur();
|
|
386
604
|
}
|
|
387
605
|
}));
|
|
388
606
|
|
|
@@ -448,7 +666,11 @@ export function Tokenizer({
|
|
|
448
666
|
layer.show();
|
|
449
667
|
}
|
|
450
668
|
if (comingFromOutside) {
|
|
451
|
-
|
|
669
|
+
isControlFocusedRef.current = true;
|
|
670
|
+
if (!isHandingOffFocusRef.current) {
|
|
671
|
+
hasReportedFocusRef.current = true;
|
|
672
|
+
onFocus?.(e);
|
|
673
|
+
}
|
|
452
674
|
// Redirect to the input so the user doesn't have to tab through
|
|
453
675
|
// every token remove button.
|
|
454
676
|
if (e.target !== inputRef.current) {
|
|
@@ -458,6 +680,8 @@ export function Tokenizer({
|
|
|
458
680
|
}, [isLayerMode, layer, isFocusInTokenizer, onFocus]);
|
|
459
681
|
const handleBlurCapture = useCallback(e => {
|
|
460
682
|
if (!isFocusInTokenizer(e.relatedTarget)) {
|
|
683
|
+
isControlFocusedRef.current = false;
|
|
684
|
+
hasReportedFocusRef.current = false;
|
|
461
685
|
setIsFocusedWithin(false);
|
|
462
686
|
onBlur?.(e);
|
|
463
687
|
if (isLayerMode) {
|
|
@@ -519,19 +743,21 @@ export function Tokenizer({
|
|
|
519
743
|
bootstrap: async () => []
|
|
520
744
|
}), []);
|
|
521
745
|
|
|
522
|
-
// Announce token add/remove politely via
|
|
523
|
-
//
|
|
524
|
-
//
|
|
525
|
-
//
|
|
746
|
+
// Announce token add/remove politely via a persistent live region.
|
|
747
|
+
// Announce token add/remove politely. `useAnnounce` follows where this
|
|
748
|
+
// call is made (`spec:AST-086` FR14): the inline field's words go to the
|
|
749
|
+
// shared channel, or into the modal that encloses the field. The sheet's
|
|
750
|
+
// own changes are announced from inside the sheet, where FR14 routes them
|
|
751
|
+
// into the sheet's dialog; the handlers below stay silent for those.
|
|
526
752
|
const announce = useAnnounce();
|
|
527
753
|
|
|
528
754
|
// Handle adding an item — detect creatable synthetic items
|
|
529
|
-
const handleAdd = useCallback(item => {
|
|
530
|
-
if (!item) {
|
|
531
|
-
return;
|
|
755
|
+
const handleAdd = useCallback((item, options) => {
|
|
756
|
+
if (isDisabled || !item) {
|
|
757
|
+
return false;
|
|
532
758
|
}
|
|
533
759
|
if (isAtMax) {
|
|
534
|
-
return;
|
|
760
|
+
return false;
|
|
535
761
|
}
|
|
536
762
|
|
|
537
763
|
// Detect "Create: X" synthetic items from the creatable source
|
|
@@ -541,7 +767,7 @@ export function Tokenizer({
|
|
|
541
767
|
// label, so a selection carrying an opaque id with that label is also a
|
|
542
768
|
// duplicate, not just one whose id happens to equal the text.
|
|
543
769
|
if (selectedIds.has(createdValue) || selectedLabels.has(createdValue.toLowerCase())) {
|
|
544
|
-
return;
|
|
770
|
+
return false;
|
|
545
771
|
}
|
|
546
772
|
const base = {
|
|
547
773
|
id: createdValue,
|
|
@@ -553,42 +779,53 @@ export function Tokenizer({
|
|
|
553
779
|
item: realItem,
|
|
554
780
|
type: 'create'
|
|
555
781
|
});
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
782
|
+
if (!options?.silent) {
|
|
783
|
+
announce(t('@astryx.tokenizer.tokenAdded', {
|
|
784
|
+
label: createdValue
|
|
785
|
+
}));
|
|
786
|
+
}
|
|
787
|
+
return true;
|
|
560
788
|
}
|
|
561
789
|
if (selectedIds.has(item.id)) {
|
|
562
|
-
return;
|
|
790
|
+
return false;
|
|
563
791
|
}
|
|
564
792
|
const newItems = [...value, item];
|
|
565
793
|
onChange(newItems, {
|
|
566
794
|
item,
|
|
567
795
|
type: 'add'
|
|
568
796
|
});
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
797
|
+
if (!options?.silent) {
|
|
798
|
+
announce(t('@astryx.tokenizer.tokenAdded', {
|
|
799
|
+
label: item.label
|
|
800
|
+
}));
|
|
801
|
+
}
|
|
802
|
+
return true;
|
|
803
|
+
}, [value, onChange, isDisabled, isAtMax, selectedIds, selectedLabels, hasCreate, announce, t]);
|
|
573
804
|
|
|
574
805
|
// Handle removing an item. Single removal path: both Backspace on an empty
|
|
575
806
|
// input and the per-token remove buttons route through here, so the
|
|
576
807
|
// announcement covers both.
|
|
577
|
-
const handleRemove = useCallback(item => {
|
|
808
|
+
const handleRemove = useCallback((item, options) => {
|
|
809
|
+
if (isDisabled) {
|
|
810
|
+
return false;
|
|
811
|
+
}
|
|
578
812
|
const newItems = value.filter(v => v.id !== item.id);
|
|
579
813
|
onChange(newItems, {
|
|
580
814
|
item,
|
|
581
815
|
type: 'remove'
|
|
582
816
|
});
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
817
|
+
if (!options?.silent) {
|
|
818
|
+
announce(t('@astryx.tokenizer.tokenRemoved', {
|
|
819
|
+
label: item.label
|
|
820
|
+
}));
|
|
821
|
+
}
|
|
586
822
|
inputRef.current?.focus();
|
|
587
|
-
|
|
823
|
+
return true;
|
|
824
|
+
}, [value, onChange, isDisabled, announce, t]);
|
|
588
825
|
|
|
589
826
|
// Handle clearing all items
|
|
590
827
|
const handleClearAll = useCallback(() => {
|
|
591
|
-
if (value.length === 0) {
|
|
828
|
+
if (isDisabled || value.length === 0) {
|
|
592
829
|
return;
|
|
593
830
|
}
|
|
594
831
|
// Report the last item as removed (convention)
|
|
@@ -598,7 +835,7 @@ export function Tokenizer({
|
|
|
598
835
|
type: 'remove'
|
|
599
836
|
});
|
|
600
837
|
inputRef.current?.focus();
|
|
601
|
-
}, [value, onChange]);
|
|
838
|
+
}, [value, onChange, isDisabled]);
|
|
602
839
|
|
|
603
840
|
// Handle backspace on empty input — remove last token
|
|
604
841
|
const handleKeyDown = useCallback(e => {
|
|
@@ -633,7 +870,7 @@ export function Tokenizer({
|
|
|
633
870
|
if (renderToken) {
|
|
634
871
|
return /*#__PURE__*/_jsx("span", {
|
|
635
872
|
...{
|
|
636
|
-
className: "x78zum5 x2lah0s x1n2onr6 x1vjfegm"
|
|
873
|
+
className: "x78zum5 x2lah0s x193iq5w x1n2onr6 x1vjfegm"
|
|
637
874
|
},
|
|
638
875
|
children: renderToken(item, onRemoveItem)
|
|
639
876
|
}, item.id);
|
|
@@ -709,7 +946,10 @@ export function Tokenizer({
|
|
|
709
946
|
value: onKeyDown,
|
|
710
947
|
children: /*#__PURE__*/_jsx(BaseTypeahead, {
|
|
711
948
|
...rest,
|
|
712
|
-
ref: useMergedRefs(inputRef,
|
|
949
|
+
ref: useMergedRefs(inputRef,
|
|
950
|
+
// With `experimental`, the ref type admits the trigger too; in
|
|
951
|
+
// this presentation it receives the input.
|
|
952
|
+
ref),
|
|
713
953
|
searchSource: isAtMax ? emptySource : filteredSource,
|
|
714
954
|
value: null,
|
|
715
955
|
onChange: handleAdd,
|
|
@@ -734,28 +974,29 @@ export function Tokenizer({
|
|
|
734
974
|
onKeyDown: handleKeyDown,
|
|
735
975
|
anchorRef: wrapperRef,
|
|
736
976
|
size: size,
|
|
737
|
-
inputXStyle: [isAtMax || isTruncated ? styles.inputAtMax : value.length > 0 ?
|
|
738
|
-
//
|
|
739
|
-
//
|
|
740
|
-
//
|
|
977
|
+
inputXStyle: [isAtMax || isTruncated ? styles.inputAtMax : value.length > 0 ? styles.inputCompact : undefined,
|
|
978
|
+
// With tokens, wrapperWithTokens reserves the lane for every row.
|
|
979
|
+
// This rule is only for an empty Tokenizer; it still resolves to
|
|
980
|
+
// zero until the lane publishes a width.
|
|
741
981
|
!(isAtMax || isTruncated || value.length > 0) && laneReserve]
|
|
742
982
|
})
|
|
743
983
|
})
|
|
744
|
-
}), htmlName != null && value.map(item => /*#__PURE__*/_jsx("input", {
|
|
984
|
+
}), htmlName != null && !isDisabled && value.map(item => /*#__PURE__*/_jsx("input", {
|
|
745
985
|
type: "hidden",
|
|
746
986
|
name: htmlName,
|
|
747
987
|
value: item.id
|
|
748
|
-
// Disabled native controls are excluded from form submission;
|
|
749
|
-
// mirror that for the hidden carriers.
|
|
750
|
-
,
|
|
751
|
-
disabled: isDisabled
|
|
752
988
|
}, item.id)), /*#__PURE__*/_jsxs(EndLane, {
|
|
753
989
|
lane: busyLane,
|
|
754
990
|
laneRef: laneRef,
|
|
755
991
|
laneXStyle: [styles.endSection, endSectionSizeStyles[size]],
|
|
756
992
|
loadingLabel: t('@astryx.typeahead.loading'),
|
|
757
993
|
anchorRef: wrapperRef,
|
|
758
|
-
hasStaticContent: hasStaticEndLane
|
|
994
|
+
hasStaticContent: hasStaticEndLane
|
|
995
|
+
// Wherever a search can run beside tokens: enabled and below
|
|
996
|
+
// maxEntries. A collapsed overflow row keeps it too, since a search
|
|
997
|
+
// started while focused can settle after focus leaves.
|
|
998
|
+
,
|
|
999
|
+
hasBusySlot: value.length > 0 && !isDisabled && !isAtMax,
|
|
759
1000
|
children: [endContent, hasClearButton && /*#__PURE__*/_jsx(InputClearButton, {
|
|
760
1001
|
label: t('@astryx.tokenizer.clearAll'),
|
|
761
1002
|
onClick: e => {
|
|
@@ -766,7 +1007,143 @@ export function Tokenizer({
|
|
|
766
1007
|
})]
|
|
767
1008
|
});
|
|
768
1009
|
let tokenizerContent;
|
|
769
|
-
if (
|
|
1010
|
+
if (isSheetPresentation) {
|
|
1011
|
+
tokenizerContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
1012
|
+
children: [/*#__PURE__*/_jsxs("button", {
|
|
1013
|
+
...restWithoutClick,
|
|
1014
|
+
ref: triggerMergedRef,
|
|
1015
|
+
type: "button",
|
|
1016
|
+
id: inputId,
|
|
1017
|
+
"aria-haspopup": "dialog",
|
|
1018
|
+
"aria-expanded": isSheetOpen,
|
|
1019
|
+
"aria-disabled": isDisabled || undefined
|
|
1020
|
+
// The description is what the inline input's is, in its order —
|
|
1021
|
+
// the caller's ids, the field description, the status message, the
|
|
1022
|
+
// disabled reason (`spec:AST-085` FR5: a disabled control exposes
|
|
1023
|
+
// its description and reason on itself) — then the hidden count and
|
|
1024
|
+
// the rendered tokens themselves, each by id: the
|
|
1025
|
+
// accessible-description algorithm reads the referenced elements in
|
|
1026
|
+
// order and separates them, so every label renders once
|
|
1027
|
+
// (`architecture:component-style-authoring` INV7) and no locale's
|
|
1028
|
+
// list punctuation is written here (AR6).
|
|
1029
|
+
,
|
|
1030
|
+
"aria-describedby": [ariaDescribedByProp, ariaDescribedBy, value.length > 0 ? triggerTokensId : null, ...value.map(item => tokenElementId(item.id))].filter(Boolean).join(' ') || undefined
|
|
1031
|
+
// The open runs first and the caller's onClick after it, as the
|
|
1032
|
+
// inline input composes its click: a caller observes the click but
|
|
1033
|
+
// cannot cancel the field's own handling
|
|
1034
|
+
// (`family:input-fields` FR10).
|
|
1035
|
+
,
|
|
1036
|
+
onClick: composeEventHandlers(() => {
|
|
1037
|
+
if (isDisabled) {
|
|
1038
|
+
return;
|
|
1039
|
+
}
|
|
1040
|
+
setIsSheetPresented(true);
|
|
1041
|
+
setSheetInitialQuery(sheetQueryRef.current);
|
|
1042
|
+
setIsSheetOpen(true);
|
|
1043
|
+
},
|
|
1044
|
+
// Typed for the input by the base props; here the control is the
|
|
1045
|
+
// trigger button, and the handler only reads the event.
|
|
1046
|
+
callerOnClick),
|
|
1047
|
+
onFocus: event => {
|
|
1048
|
+
isControlFocusedRef.current = true;
|
|
1049
|
+
// BottomSheet focuses the trigger only after its exit completes;
|
|
1050
|
+
// that focus is the signal that the retained sheet can leave. If
|
|
1051
|
+
// the resolution moved to the popover meanwhile, the inline input
|
|
1052
|
+
// takes the focus over once it mounts. The field's own sheet is
|
|
1053
|
+
// part of the field: focus coming back from it, or handed over by
|
|
1054
|
+
// a presentation swap, is not focus entering from outside, so the
|
|
1055
|
+
// caller's onFocus — "when focus enters the tokenizer from
|
|
1056
|
+
// outside" — stays quiet for it (`family:input-fields` FR10).
|
|
1057
|
+
const isReturningFromSheet = !isSheetOpen && isSheetPresented;
|
|
1058
|
+
if (isReturningFromSheet) {
|
|
1059
|
+
setIsSheetPresented(false);
|
|
1060
|
+
}
|
|
1061
|
+
const isInsideTheField = isReturningFromSheet && hasReportedFocusRef.current || isHandingOffFocusRef.current;
|
|
1062
|
+
if (!isInsideTheField) {
|
|
1063
|
+
hasReportedFocusRef.current = true;
|
|
1064
|
+
onFocus?.(event);
|
|
1065
|
+
}
|
|
1066
|
+
},
|
|
1067
|
+
onBlur: event => {
|
|
1068
|
+
// Focus moving into the sheet is still the field's: the flag
|
|
1069
|
+
// stays, and the caller's onBlur — "when focus leaves the
|
|
1070
|
+
// tokenizer entirely" — stays quiet. Only a blur to somewhere
|
|
1071
|
+
// else reports.
|
|
1072
|
+
if (isSheetOpen) {
|
|
1073
|
+
return;
|
|
1074
|
+
}
|
|
1075
|
+
isControlFocusedRef.current = false;
|
|
1076
|
+
hasReportedFocusRef.current = false;
|
|
1077
|
+
onBlur?.(event);
|
|
1078
|
+
},
|
|
1079
|
+
onKeyDown: onKeyDown,
|
|
1080
|
+
...mergeProps(themeProps('tokenizer', {
|
|
1081
|
+
size,
|
|
1082
|
+
status: status?.type,
|
|
1083
|
+
disabled: isDisabled ? 'disabled' : null
|
|
1084
|
+
}), stylex.props(inputWrapperStyles.base, styles.wrapper, styles.sheetTrigger,
|
|
1085
|
+
// The trigger keeps the inline field's height for its size step,
|
|
1086
|
+
// as Selector's bottom-sheet trigger does; the sheet's own rows
|
|
1087
|
+
// and search field carry the touch-sized targets.
|
|
1088
|
+
sizeStyles[size], value.length > 0 && styles.wrapperWithTokens, isDisabled && inputWrapperStyles.disabled, isDisabled && styles.sheetTriggerDisabled, status && inputStatusBorderStyles[status.type], status && !isDisabled && inputStatusHoverShadowStyles[status.type], status && inputStatusFocusWithinStyles[status.type], controlXstyle), controlClassName, controlStyle),
|
|
1089
|
+
children: [startIcon && /*#__PURE__*/_jsx("span", {
|
|
1090
|
+
...{
|
|
1091
|
+
0: {},
|
|
1092
|
+
1: {
|
|
1093
|
+
className: "x1xrm450 x1n2onr6 x1vjfegm"
|
|
1094
|
+
}
|
|
1095
|
+
}[!!(value.length > 0) << 0],
|
|
1096
|
+
children: renderIconSlot(startIcon, {
|
|
1097
|
+
size: 'sm',
|
|
1098
|
+
color: 'secondary'
|
|
1099
|
+
})
|
|
1100
|
+
}), value.length > 0 ? value.map(item => /*#__PURE__*/_jsx(Token, {
|
|
1101
|
+
id: tokenElementId(item.id),
|
|
1102
|
+
label: item.label,
|
|
1103
|
+
size: size,
|
|
1104
|
+
isDisabled: isDisabled,
|
|
1105
|
+
xstyle: isDisabled ? styles.sheetTokenDisabled : undefined
|
|
1106
|
+
}, item.id)) : /*#__PURE__*/_jsx("span", {
|
|
1107
|
+
...{
|
|
1108
|
+
0: {
|
|
1109
|
+
className: "xv1l7n4 x7a5moj"
|
|
1110
|
+
},
|
|
1111
|
+
1: {
|
|
1112
|
+
className: "x7a5moj xv1l7n4 x1bhcspo"
|
|
1113
|
+
}
|
|
1114
|
+
}[!!isDisabled << 0],
|
|
1115
|
+
children: placeholder ?? ''
|
|
1116
|
+
})]
|
|
1117
|
+
}), value.length > 0 && /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
1118
|
+
id: triggerTokensId,
|
|
1119
|
+
children: t('@astryx.tokenizer.selectedCount', {
|
|
1120
|
+
count: value.length
|
|
1121
|
+
})
|
|
1122
|
+
}), htmlName != null && !isDisabled && value.map(item => /*#__PURE__*/_jsx("input", {
|
|
1123
|
+
type: "hidden",
|
|
1124
|
+
name: htmlName,
|
|
1125
|
+
value: item.id
|
|
1126
|
+
}, item.id)), (isSheetOpen || isSheetPresented) && (!isDisabled || keepsSheetWhileDisabled) && /*#__PURE__*/_jsx(TokenizerSheetHost, {
|
|
1127
|
+
isOpen: isSheetOpen,
|
|
1128
|
+
onOpenChange: setIsSheetOpen,
|
|
1129
|
+
finalFocusRef: triggerRef,
|
|
1130
|
+
initialQuery: sheetInitialQuery,
|
|
1131
|
+
label: label,
|
|
1132
|
+
searchSource: searchSource,
|
|
1133
|
+
value: value,
|
|
1134
|
+
isAtMax: isAtMax,
|
|
1135
|
+
hasCreate: hasCreate,
|
|
1136
|
+
maxMenuItems: maxMenuItems ?? 10,
|
|
1137
|
+
minQueryLength: minQueryLength ?? 1,
|
|
1138
|
+
debounceMs: debounceMs ?? 150,
|
|
1139
|
+
emptySearchText: emptySearchText,
|
|
1140
|
+
onAdd: handleAdd,
|
|
1141
|
+
onRemove: handleRemove,
|
|
1142
|
+
onClearAll: handleClearAll,
|
|
1143
|
+
onChangeQuery: handleSheetQueryChange
|
|
1144
|
+
})]
|
|
1145
|
+
});
|
|
1146
|
+
} else if (isLayerMode) {
|
|
770
1147
|
const placeholderSizeStyle = layerPlaceholderSizeStyles[size];
|
|
771
1148
|
tokenizerContent = /*#__PURE__*/_jsxs(_Fragment, {
|
|
772
1149
|
children: [/*#__PURE__*/_jsx("div", {
|
|
@@ -828,4 +1205,16 @@ export function Tokenizer({
|
|
|
828
1205
|
children: [tokenizerContent, showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
829
1206
|
});
|
|
830
1207
|
}
|
|
831
|
-
Tokenizer.displayName = 'Tokenizer';
|
|
1208
|
+
Tokenizer.displayName = 'Tokenizer';
|
|
1209
|
+
|
|
1210
|
+
/**
|
|
1211
|
+
* The same component with the sheet presentation reachable: `experimental`
|
|
1212
|
+
* (`presentation: 'popover' | 'bottom-sheet' | 'adaptive'`) and a `ref` that
|
|
1213
|
+
* also takes the trigger button. Not public — re-exported only by
|
|
1214
|
+
* `@astryxdesign/core/internal/tokenizer-presentation`, the entry reserved
|
|
1215
|
+
* for Astryx's own packages (`architecture:react-component-runtime` INV13),
|
|
1216
|
+
* while the sheet's user experience is being finished (`component:Tokenizer`
|
|
1217
|
+
* DEC-3). The public `Tokenizer` renders the popover presentation for every
|
|
1218
|
+
* field.
|
|
1219
|
+
*/
|
|
1220
|
+
export const TokenizerWithPresentation = Tokenizer;
|