@astryxdesign/core 0.7.7 → 0.7.8-canary.0588a13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AlertDialog/AlertDialog.d.ts +4 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +46 -6
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +11 -3
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +1 -0
- package/dist/BottomSheet/BottomSheetPanel.d.ts +1 -1
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +55 -18
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +5 -0
- package/dist/BottomSheet/bottomSheetStack.js +1 -1
- package/dist/BottomSheet/useSheetGestures.d.ts +3 -1
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +16 -1
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +17 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +18 -22
- package/dist/Calendar/getWeekdayHeaderNames.d.ts +16 -0
- package/dist/Calendar/getWeekdayHeaderNames.d.ts.map +1 -0
- package/dist/Calendar/getWeekdayHeaderNames.js +70 -0
- package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarDays.js +2 -10
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.d.ts → weekdayHeaderNames.generated.d.ts} +14 -14
- package/dist/Calendar/weekdayHeaderNames.generated.d.ts.map +1 -0
- package/dist/Calendar/{standaloneShortWeekdayNames.generated.js → weekdayHeaderNames.generated.js} +12 -12
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +2 -0
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +6 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +2 -1
- package/dist/Chat/useChatDictation.d.ts.map +1 -1
- package/dist/Chat/useChatDictation.js +2 -0
- package/dist/Chat/useChatNewMessages.js +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +2 -0
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +3 -0
- package/dist/Chat/useTriggerMenu.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +17 -12
- package/dist/CheckboxList/CheckboxList.d.ts +20 -2
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +12 -4
- package/dist/CheckboxList/CheckboxListContext.d.ts +7 -0
- package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListContext.js +2 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +14 -2
- package/dist/CheckboxList/requiredGroup.d.ts +22 -0
- package/dist/CheckboxList/requiredGroup.d.ts.map +1 -0
- package/dist/CheckboxList/requiredGroup.js +52 -0
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +28 -11
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +2 -0
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +2 -0
- package/dist/ComplexSelector/ComplexSelector.d.ts +4 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +14 -4
- package/dist/ContextMenu/ContextMenu.js +2 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +5 -2
- package/dist/DateInput/PickerWheel.d.ts +19 -0
- package/dist/DateInput/PickerWheel.d.ts.map +1 -0
- package/dist/DateInput/PickerWheel.js +646 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +9 -30
- package/dist/DateInput/Wheel.d.ts +18 -37
- package/dist/DateInput/Wheel.d.ts.map +1 -1
- package/dist/DateInput/Wheel.js +133 -120
- package/dist/DateInput/datePickerTouch.d.ts +13 -0
- package/dist/DateInput/datePickerTouch.d.ts.map +1 -0
- package/dist/DateInput/datePickerTouch.js +14 -0
- package/dist/DateInput/useOwnScrollGesture.d.ts +10 -0
- package/dist/DateInput/useOwnScrollGesture.d.ts.map +1 -1
- package/dist/DateInput/useOwnScrollGesture.js +16 -3
- package/dist/DateInput/usePointerDragScroll.d.ts.map +1 -1
- package/dist/DateInput/usePointerDragScroll.js +2 -0
- package/dist/DateInput/useScrollSettle.d.ts.map +1 -1
- package/dist/DateInput/useScrollSettle.js +3 -0
- package/dist/DateInput/useWheelListbox.d.ts +59 -0
- package/dist/DateInput/useWheelListbox.d.ts.map +1 -0
- package/dist/DateInput/useWheelListbox.js +88 -0
- package/dist/DateInput/wheelOptions.d.ts +94 -0
- package/dist/DateInput/wheelOptions.d.ts.map +1 -0
- package/dist/DateInput/wheelOptions.js +110 -0
- package/dist/DateInput/wheelPhysics.d.ts +127 -0
- package/dist/DateInput/wheelPhysics.d.ts.map +1 -0
- package/dist/DateInput/wheelPhysics.js +341 -0
- package/dist/DateInput/wheelStrip.d.ts +92 -0
- package/dist/DateInput/wheelStrip.d.ts.map +1 -0
- package/dist/DateInput/wheelStrip.js +258 -0
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +70 -127
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -32
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +3 -0
- package/dist/DropdownMenu/useMenuOverflow.d.ts.map +1 -1
- package/dist/DropdownMenu/useMenuOverflow.js +5 -0
- package/dist/Field/Field.js +2 -2
- package/dist/FieldStatus/useFieldStatusAnnouncement.d.ts.map +1 -1
- package/dist/FieldStatus/useFieldStatusAnnouncement.js +1 -0
- package/dist/FormLayout/FormLayout.d.ts +5 -1
- package/dist/FormLayout/FormLayout.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.d.ts +6 -4
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +48 -3
- package/dist/HoverCard/useHoverCard.d.ts +5 -4
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +26 -34
- package/dist/Icon/Icon.d.ts +5 -1
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +20 -3
- package/dist/InfoTip/InfoTip.d.ts +5 -5
- package/dist/InfoTip/InfoTip.d.ts.map +1 -1
- package/dist/InfoTip/InfoTip.js +58 -19
- package/dist/Item/useSwipeAction.d.ts.map +1 -1
- package/dist/Item/useSwipeAction.js +3 -0
- package/dist/Layer/modalOutlet.d.ts.map +1 -1
- package/dist/Layer/modalOutlet.js +2 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -1
- package/dist/Layer/outsidePress.js +1 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +4 -1
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -1
- package/dist/Layer/useLayerDismissal.js +3 -0
- package/dist/Layer/useTouchTrigger.d.ts +13 -7
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +20 -6
- package/dist/Layout/index.d.ts +1 -1
- package/dist/Layout/index.d.ts.map +1 -1
- package/dist/Layout/index.js +1 -1
- package/dist/Layout/layoutReset.js +1 -1
- package/dist/Layout/overlayPaddingReset.stylex.d.ts +68 -0
- package/dist/Layout/overlayPaddingReset.stylex.d.ts.map +1 -0
- package/dist/Layout/overlayPaddingReset.stylex.js +72 -0
- package/dist/Layout/padding.stylex.d.ts +5 -129
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +9 -143
- package/dist/Layout/paddingStyles.stylex.d.ts +83 -0
- package/dist/Layout/paddingStyles.stylex.d.ts.map +1 -0
- package/dist/Layout/paddingStyles.stylex.js +99 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +20 -1
- package/dist/MobileNav/MobileNav.d.ts +3 -2
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +10 -26
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +2 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +2 -1
- package/dist/Outline/useOutlineFromDOM.d.ts.map +1 -1
- package/dist/Outline/useOutlineFromDOM.js +3 -0
- package/dist/Outline/useScrollSpy.d.ts.map +1 -1
- package/dist/Outline/useScrollSpy.js +3 -0
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -0
- package/dist/Overlay/Overlay.d.ts.map +1 -1
- package/dist/Overlay/Overlay.js +7 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +6 -0
- package/dist/Popover/usePopover.js +2 -2
- package/dist/PowerSearch/PowerSearch.d.ts +41 -4
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +441 -134
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts +125 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -0
- package/dist/PowerSearch/PowerSearchBottomSheet.js +2041 -0
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +35 -2
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +43 -10
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchFilterEditor.js +4 -2
- package/dist/PowerSearch/PowerSearchToken.d.ts +1 -1
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +3 -2
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +38 -3
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +273 -86
- package/dist/PowerSearch/formatFilterValue.d.ts +14 -7
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +31 -23
- package/dist/PowerSearch/formatTokenValue.d.ts +28 -0
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -0
- package/dist/PowerSearch/formatTokenValue.js +161 -0
- package/dist/PowerSearch/index.d.ts +1 -1
- package/dist/PowerSearch/index.d.ts.map +1 -1
- package/dist/PowerSearch/powerSearchDateZone.d.ts +25 -0
- package/dist/PowerSearch/powerSearchDateZone.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchDateZone.js +57 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts +65 -0
- package/dist/PowerSearch/powerSearchSheetUtils.d.ts.map +1 -0
- package/dist/PowerSearch/powerSearchSheetUtils.js +168 -0
- package/dist/PowerSearch/types.d.ts +8 -1
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBarTouch.js +2 -0
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +3 -2
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +5 -3
- package/dist/Resizable/ResizeHandle.d.ts +2 -1
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +116 -92
- package/dist/Resizable/createResizable.d.ts +199 -0
- package/dist/Resizable/createResizable.d.ts.map +1 -0
- package/dist/Resizable/createResizable.js +733 -0
- package/dist/Resizable/separatorAttributes.d.ts +45 -0
- package/dist/Resizable/separatorAttributes.d.ts.map +1 -0
- package/dist/Resizable/separatorAttributes.js +35 -0
- package/dist/Resizable/useResizable.d.ts +3 -3
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +252 -459
- package/dist/SegmentedControl/useSegmentedSelectionMotion.d.ts.map +1 -1
- package/dist/SegmentedControl/useSegmentedSelectionMotion.js +3 -3
- package/dist/SelectableCard/SelectableCard.d.ts +2 -0
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +36 -11
- package/dist/SelectableCard/selectableCardInput.d.ts +12 -0
- package/dist/SelectableCard/selectableCardInput.d.ts.map +1 -0
- package/dist/SelectableCard/selectableCardInput.js +20 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +7 -9
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +36 -5
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +16 -11
- package/dist/Slider/sliderTouchController.js +2 -2
- package/dist/Spinner/Spinner.d.ts +1 -1
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +60 -58
- package/dist/Stepper/Stepper.d.ts.map +1 -1
- package/dist/Stepper/Stepper.js +10 -15
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +4 -10
- package/dist/Switch/useSwitchTouch.js +4 -4
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +29 -8
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +3 -1
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +2 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +12 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +17 -3
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +2 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +11 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +27 -14
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +2 -1
- package/dist/TextInput/TextInput.d.ts +2 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +12 -8
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +2 -0
- package/dist/TimeInput/TimeWheels.d.ts +32 -0
- package/dist/TimeInput/TimeWheels.d.ts.map +1 -0
- package/dist/TimeInput/TimeWheels.js +144 -0
- package/dist/TimeInput/TouchTimeField.d.ts.map +1 -1
- package/dist/TimeInput/TouchTimeField.js +63 -116
- package/dist/TimeInput/timeWheelRules.d.ts +124 -0
- package/dist/TimeInput/timeWheelRules.d.ts.map +1 -0
- package/dist/TimeInput/timeWheelRules.js +277 -0
- package/dist/Timer/Timer.d.ts.map +1 -1
- package/dist/Timer/Timer.js +2 -0
- package/dist/Timestamp/Timestamp.js +1 -1
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +1 -23
- package/dist/Toast/Toast.d.ts +11 -1
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -15
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +97 -34
- package/dist/Toast/types.d.ts +9 -3
- package/dist/Toast/types.d.ts.map +1 -1
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +1 -0
- package/dist/Tokenizer/Tokenizer.d.ts +44 -46
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +20 -21
- package/dist/Tokenizer/TokenizerBottomSheet.d.ts +1 -1
- package/dist/Tokenizer/TokenizerBottomSheet.js +12 -18
- package/dist/Tokenizer/index.d.ts +1 -1
- package/dist/Tokenizer/index.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.d.ts +2 -23
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/Tooltip.js +5 -29
- package/dist/Tooltip/useTooltip.d.ts +23 -30
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +200 -108
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +27 -18
- package/dist/Typeahead/TypeaheadItem.d.ts +2 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/animator/createAnimator.d.ts +98 -0
- package/dist/animator/createAnimator.d.ts.map +1 -0
- package/dist/animator/createAnimator.js +259 -0
- package/dist/astryx.css +53 -8
- package/dist/gestures/GestureHost.d.ts +16 -1
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +4 -1
- package/dist/gestures/PressTracker.d.ts.map +1 -1
- package/dist/gestures/PressTracker.js +4 -3
- package/dist/hooks/ModalAnnounceProvider.d.ts.map +1 -1
- package/dist/hooks/ModalAnnounceProvider.js +1 -0
- package/dist/hooks/actionGroupTracker.d.ts +4 -1
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +18 -7
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/longPressDetector.d.ts +66 -0
- package/dist/hooks/longPressDetector.d.ts.map +1 -0
- package/dist/hooks/longPressDetector.js +200 -0
- package/dist/hooks/pressGroupContext.d.ts +6 -0
- package/dist/hooks/pressGroupContext.d.ts.map +1 -0
- package/dist/hooks/pressGroupContext.js +20 -0
- package/dist/hooks/rootScrollStyles.d.ts +48 -0
- package/dist/hooks/rootScrollStyles.d.ts.map +1 -0
- package/dist/hooks/rootScrollStyles.js +207 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts +13 -0
- package/dist/hooks/scrollLockTouchGuard.d.ts.map +1 -0
- package/dist/hooks/scrollLockTouchGuard.js +117 -0
- package/dist/hooks/scrollbarGutter.d.ts +4 -4
- package/dist/hooks/scrollbarGutter.d.ts.map +1 -1
- package/dist/hooks/scrollbarGutter.js +36 -23
- package/dist/hooks/useActionGroupTracking.d.ts +53 -0
- package/dist/hooks/useActionGroupTracking.d.ts.map +1 -0
- package/dist/hooks/useActionGroupTracking.js +174 -0
- package/dist/hooks/useAnimator.d.ts +41 -0
- package/dist/hooks/useAnimator.d.ts.map +1 -0
- package/dist/hooks/useAnimator.js +70 -0
- package/dist/hooks/useAnnounceRenderedText.d.ts.map +1 -1
- package/dist/hooks/useAnnounceRenderedText.js +1 -0
- package/dist/hooks/useAttachment.d.ts +1 -1
- package/dist/hooks/useAttachment.js +1 -1
- package/dist/hooks/useAutoMediaMode.d.ts.map +1 -1
- package/dist/hooks/useAutoMediaMode.js +1 -0
- package/dist/hooks/useBusyAnnouncement.d.ts.map +1 -1
- package/dist/hooks/useBusyAnnouncement.js +2 -0
- package/dist/hooks/useDevWarning.d.ts.map +1 -1
- package/dist/hooks/useDevWarning.js +2 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +2 -0
- package/dist/hooks/useGridFocus.d.ts +8 -5
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +4 -3
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -0
- package/dist/hooks/useImageMode.d.ts.map +1 -1
- package/dist/hooks/useImageMode.js +3 -0
- package/dist/hooks/useInputStatusIcon.d.ts +1 -1
- package/dist/hooks/useInputStatusIcon.d.ts.map +1 -1
- package/dist/hooks/useInputStatusIcon.js +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/hooks/useKeyboardHint.js +1 -1
- package/dist/hooks/useLongPress.d.ts +8 -9
- package/dist/hooks/useLongPress.d.ts.map +1 -1
- package/dist/hooks/useLongPress.js +23 -106
- package/dist/hooks/useMenuHover.d.ts.map +1 -1
- package/dist/hooks/useMenuHover.js +2 -0
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +3 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +2 -1
- package/dist/hooks/usePressFeedback.d.ts.map +1 -1
- package/dist/hooks/usePressFeedback.js +1 -0
- package/dist/hooks/useResolvedRequired.d.ts +3 -0
- package/dist/hooks/useResolvedRequired.d.ts.map +1 -1
- package/dist/hooks/useResolvedRequired.js +3 -0
- package/dist/hooks/useScrollLock.d.ts +8 -9
- package/dist/hooks/useScrollLock.d.ts.map +1 -1
- package/dist/hooks/useScrollLock.js +50 -48
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +5 -0
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +3 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.js +45 -0
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.js +6 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts +8 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/PowerSearch/formatTokenValue.generated.js +14 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.d.ts +8 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/Resizable/createResizable.generated.js +13 -0
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.js +3 -1
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.js +3 -1
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.d.ts +8 -0
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/TimeInput/TimeWheels.generated.js +17 -0
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +37 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +37 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/internal/indicatorPress.stylex.d.ts +20 -0
- package/dist/internal/indicatorPress.stylex.d.ts.map +1 -0
- package/dist/internal/indicatorPress.stylex.js +26 -0
- package/dist/internal/selectable-card.d.ts +21 -0
- package/dist/internal/selectable-card.d.ts.map +1 -0
- package/dist/internal/selectable-card.js +20 -0
- package/dist/internal/sheetDraft.d.ts +2 -2
- package/dist/internal/sheetDraft.js +2 -2
- package/dist/keyboard/index.d.ts +17 -0
- package/dist/keyboard/index.d.ts.map +1 -0
- package/dist/keyboard/index.js +19 -0
- package/dist/keyboard/keyboardHeight.d.ts +149 -0
- package/dist/keyboard/keyboardHeight.d.ts.map +1 -0
- package/dist/keyboard/keyboardHeight.js +432 -0
- package/dist/keyboard/keyboardLayoutGuide.d.ts +59 -0
- package/dist/keyboard/keyboardLayoutGuide.d.ts.map +1 -0
- package/dist/keyboard/keyboardLayoutGuide.js +207 -0
- package/dist/keyboard/keyboardModel.d.ts +93 -0
- package/dist/keyboard/keyboardModel.d.ts.map +1 -0
- package/dist/keyboard/keyboardModel.js +220 -0
- package/dist/keyboard/rideKeyboard.d.ts +42 -0
- package/dist/keyboard/rideKeyboard.d.ts.map +1 -0
- package/dist/keyboard/rideKeyboard.js +77 -0
- package/dist/keyboard/useMobileKeyboard.d.ts +61 -0
- package/dist/keyboard/useMobileKeyboard.d.ts.map +1 -0
- package/dist/keyboard/useMobileKeyboard.js +699 -0
- package/dist/motion/android/index.d.ts +16 -0
- package/dist/motion/android/index.d.ts.map +1 -0
- package/dist/motion/android/index.js +18 -0
- package/dist/motion/android/keyboard.d.ts +83 -0
- package/dist/motion/android/keyboard.d.ts.map +1 -0
- package/dist/motion/android/keyboard.js +96 -0
- package/dist/motion/animatedLayout.d.ts +8 -0
- package/dist/motion/animatedLayout.d.ts.map +1 -1
- package/dist/motion/animatedLayout.js +246 -53
- package/dist/motion/animator.d.ts +14 -14
- package/dist/motion/animator.d.ts.map +1 -1
- package/dist/motion/animator.js +45 -26
- package/dist/motion/frameBlock.d.ts +14 -0
- package/dist/motion/frameBlock.d.ts.map +1 -0
- package/dist/motion/frameBlock.js +16 -0
- package/dist/motion/progress.d.ts +88 -0
- package/dist/motion/progress.d.ts.map +1 -0
- package/dist/motion/progress.js +128 -0
- package/dist/motion/reducedMotion.d.ts.map +1 -1
- package/dist/motion/reducedMotion.js +3 -1
- package/dist/motion/uikit/alert.d.ts +41 -0
- package/dist/motion/uikit/alert.d.ts.map +1 -0
- package/dist/motion/uikit/alert.js +43 -0
- package/dist/motion/uikit/datePicker.d.ts +58 -0
- package/dist/motion/uikit/datePicker.d.ts.map +1 -0
- package/dist/motion/uikit/datePicker.js +60 -0
- package/dist/motion/uikit/index.d.ts +6 -4
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +6 -4
- package/dist/motion/uikit/picker.d.ts +96 -0
- package/dist/motion/uikit/picker.d.ts.map +1 -0
- package/dist/motion/uikit/picker.js +117 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts +22 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/pressGroupItem.stylex.js +36 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts +23 -0
- package/dist/privateAttributes/reducedMotion.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/reducedMotion.stylex.js +40 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +29 -4
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +14 -13
- package/dist/theme/motionKnobs.d.ts +4 -3
- package/dist/theme/motionKnobs.d.ts.map +1 -1
- package/dist/theme/motionKnobs.js +3 -2
- package/dist/theme/themeMotion.d.ts +6 -0
- package/dist/theme/themeMotion.d.ts.map +1 -1
- package/dist/theme/themeMotion.js +15 -2
- package/dist/theme/tokens.stylex.d.ts +3 -0
- package/dist/theme/tokens.stylex.d.ts.map +1 -1
- package/dist/theme/tokens.stylex.js +4 -1
- package/dist/utils/dateParser.d.ts.map +1 -1
- package/dist/utils/dateParser.js +12 -0
- package/dist/utils/disabledInteraction.d.ts +10 -2
- package/dist/utils/disabledInteraction.d.ts.map +1 -1
- package/dist/utils/disabledInteraction.js +16 -2
- package/dist/utils/focusReturn.d.ts +22 -25
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +36 -29
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/interactionModality.d.ts.map +1 -1
- package/dist/utils/interactionModality.js +4 -0
- package/dist/utils/interactionOverlay.stylex.d.ts +6 -4
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +6 -4
- package/dist/utils/isFocusDetached.d.ts +27 -0
- package/dist/utils/isFocusDetached.d.ts.map +1 -0
- package/dist/utils/isFocusDetached.js +32 -0
- package/dist/utils/layoutViewport.d.ts +25 -0
- package/dist/utils/layoutViewport.d.ts.map +1 -0
- package/dist/utils/layoutViewport.js +102 -0
- package/dist/utils/plainDate.d.ts +31 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +68 -4
- package/dist/utils/pressFeedback.d.ts +6 -0
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +97 -18
- package/dist/utils/pressGesture.d.ts +4 -2
- package/dist/utils/pressGesture.d.ts.map +1 -1
- package/dist/utils/pressGesture.js +3 -1
- package/dist/utils/selectionLock.d.ts +10 -1
- package/dist/utils/selectionLock.d.ts.map +1 -1
- package/dist/utils/selectionLock.js +31 -5
- package/dist/utils/sharedMutationObserver.d.ts +2 -1
- package/dist/utils/sharedMutationObserver.d.ts.map +1 -1
- package/dist/utils/sharedMutationObserver.js +2 -1
- package/dist/utils/timeParser.d.ts +2 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +29 -3
- package/dist/utils/triggerFocus.d.ts +36 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -0
- package/dist/utils/triggerFocus.js +65 -0
- package/locales/en.json +148 -0
- package/locales/pseudo.json +111 -0
- package/package.json +14 -9
- package/src/AlertDialog/AlertDialog.doc.mjs +2 -2
- package/src/AlertDialog/AlertDialog.tsx +46 -5
- package/src/AppShell/AppShell.tsx +13 -4
- package/src/BottomSheet/BottomSheet.doc.mjs +1 -1
- package/src/BottomSheet/BottomSheet.tsx +1 -0
- package/src/BottomSheet/BottomSheetPanel.tsx +80 -16
- package/src/BottomSheet/BottomSheetSwitcher.doc.mjs +5 -0
- package/src/BottomSheet/BottomSheetSwitcher.tsx +5 -0
- package/src/BottomSheet/bottomSheetStack.ts +1 -1
- package/src/BottomSheet/useSheetGestures.ts +16 -1
- package/src/Button/Button.tsx +26 -4
- package/src/Calendar/Calendar.tsx +40 -32
- package/src/Calendar/getWeekdayHeaderNames.ts +88 -0
- package/src/Calendar/hooks/useCalendarDays.ts +5 -10
- package/src/Calendar/{standaloneShortWeekdayNames.generated.ts → weekdayHeaderNames.generated.ts} +14 -14
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/ChatComposerInput.tsx +4 -7
- package/src/Chat/ChatMessageList.tsx +2 -1
- package/src/Chat/useChatDictation.ts +1 -0
- package/src/Chat/useChatNewMessages.ts +1 -1
- package/src/Chat/useChatStreamScroll.ts +2 -0
- package/src/Chat/useSpeechRecognition.ts +2 -0
- package/src/Chat/useTriggerMenu.tsx +1 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +18 -0
- package/src/CheckboxInput/CheckboxInput.tsx +38 -15
- package/src/CheckboxList/CheckboxList.doc.mjs +14 -0
- package/src/CheckboxList/CheckboxList.tsx +43 -2
- package/src/CheckboxList/CheckboxListContext.tsx +9 -1
- package/src/CheckboxList/CheckboxListItem.tsx +23 -2
- package/src/CheckboxList/requiredGroup.ts +77 -0
- package/src/CodeBlock/CodeBlock.doc.mjs +9 -1
- package/src/CodeBlock/CodeBlock.tsx +41 -4
- package/src/CommandPalette/CommandPalette.tsx +1 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -0
- package/src/ComplexSelector/ComplexSelector.tsx +20 -5
- package/src/ContextMenu/ContextMenu.tsx +2 -2
- package/src/DateInput/MonthScroller.tsx +8 -2
- package/src/DateInput/PickerWheel.tsx +796 -0
- package/src/DateInput/TouchDateField.tsx +6 -32
- package/src/DateInput/Wheel.tsx +188 -171
- package/src/DateInput/datePickerTouch.ts +15 -0
- package/src/DateInput/useOwnScrollGesture.ts +25 -3
- package/src/DateInput/usePointerDragScroll.ts +1 -0
- package/src/DateInput/useScrollSettle.ts +2 -0
- package/src/DateInput/useWheelListbox.ts +112 -0
- package/src/DateInput/wheelOptions.ts +184 -0
- package/src/DateInput/wheelPhysics.ts +406 -0
- package/src/DateInput/wheelStrip.ts +341 -0
- package/src/DateTimeInput/TouchDateTimeField.tsx +100 -189
- package/src/Dialog/Dialog.tsx +12 -32
- package/src/Drawer/useDrawerDialogPresence.ts +2 -0
- package/src/DropdownMenu/useMenuOverflow.ts +3 -0
- package/src/Field/Field.tsx +2 -2
- package/src/FieldStatus/useFieldStatusAnnouncement.ts +1 -0
- package/src/FormLayout/FormLayout.doc.mjs +181 -46
- package/src/FormLayout/FormLayout.tsx +5 -1
- package/src/HoverCard/HoverCard.doc.mjs +10 -8
- package/src/HoverCard/HoverCard.tsx +58 -6
- package/src/HoverCard/useHoverCard.doc.mjs +178 -36
- package/src/HoverCard/useHoverCard.tsx +55 -55
- package/src/Icon/Icon.doc.mjs +51 -10
- package/src/Icon/Icon.tsx +31 -8
- package/src/IconButton/IconButton.doc.mjs +141 -21
- package/src/InfoTip/InfoTip.tsx +72 -16
- package/src/Item/useSwipeAction.ts +2 -0
- package/src/Layer/modalOutlet.ts +2 -0
- package/src/Layer/outsidePress.ts +1 -0
- package/src/Layer/useLayer.tsx +3 -1
- package/src/Layer/useLayerDismissal.ts +2 -0
- package/src/Layer/useTouchTrigger.ts +19 -6
- package/src/Layout/index.ts +1 -1
- package/src/Layout/layoutReset.ts +1 -1
- package/src/Layout/overlayPaddingReset.stylex.ts +73 -0
- package/src/Layout/padding.stylex.ts +9 -133
- package/src/Layout/paddingStyles.stylex.ts +87 -0
- package/src/Lightbox/Lightbox.tsx +20 -1
- package/src/Lightbox/useLightbox.doc.mjs +167 -0
- package/src/MobileNav/MobileNav.tsx +10 -31
- package/src/MultiSelector/MultiSelector.tsx +2 -7
- package/src/NumberInput/NumberInput.tsx +2 -7
- package/src/Outline/useOutlineFromDOM.ts +2 -0
- package/src/Outline/useScrollSpy.ts +2 -0
- package/src/OverflowList/OverflowList.tsx +2 -0
- package/src/Overlay/Overlay.tsx +7 -2
- package/src/Popover/Popover.tsx +4 -0
- package/src/Popover/usePopover.tsx +2 -2
- package/src/PowerSearch/PowerSearch.doc.mjs +60 -8
- package/src/PowerSearch/PowerSearch.tsx +622 -157
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +2700 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +65 -9
- package/src/PowerSearch/PowerSearchFilterEditor.tsx +2 -0
- package/src/PowerSearch/PowerSearchToken.tsx +2 -0
- package/src/PowerSearch/PowerSearchValueEditor.tsx +340 -59
- package/src/PowerSearch/formatFilterValue.ts +49 -27
- package/src/PowerSearch/formatTokenValue.ts +220 -0
- package/src/PowerSearch/index.ts +5 -1
- package/src/PowerSearch/powerSearchDateZone.ts +95 -0
- package/src/PowerSearch/powerSearchSheetUtils.ts +224 -0
- package/src/PowerSearch/types.ts +8 -1
- package/src/ProgressBar/ProgressBarTouch.ts +2 -0
- package/src/RadioList/RadioList.tsx +3 -2
- package/src/RadioList/RadioListItem.tsx +5 -3
- package/src/Resizable/Resizable.doc.mjs +5 -4
- package/src/Resizable/ResizeHandle.tsx +187 -135
- package/src/Resizable/createResizable.ts +1046 -0
- package/src/Resizable/separatorAttributes.ts +73 -0
- package/src/Resizable/useResizable.ts +292 -623
- package/src/SegmentedControl/useSegmentedSelectionMotion.ts +6 -3
- package/src/SelectableCard/SelectableCard.tsx +39 -10
- package/src/SelectableCard/selectableCardInput.ts +30 -0
- package/src/Selector/Selector.tsx +7 -19
- package/src/SideNav/SideNav.tsx +41 -5
- package/src/Slider/Slider.tsx +20 -11
- package/src/Slider/sliderTouchController.ts +2 -2
- package/src/Spinner/Spinner.tsx +77 -63
- package/src/Stepper/Stepper.tsx +10 -27
- package/src/Switch/Switch.tsx +2 -6
- package/src/Switch/useSwitchTouch.ts +4 -4
- package/src/Table/BaseTable.tsx +46 -12
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +2 -1
- package/src/Table/plugins/filtering/useTableFiltering.tsx +1 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +31 -7
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +2 -0
- package/src/Table/plugins/tree/useTableTreeData.tsx +43 -20
- package/src/Table/useTableRowExpansion.doc.mjs +9 -0
- package/src/Table/useTableTreeData.doc.mjs +15 -3
- package/src/TextArea/TextArea.tsx +2 -7
- package/src/TextInput/TextInput.tsx +13 -17
- package/src/TimeInput/TimeInput.tsx +2 -0
- package/src/TimeInput/TimeWheels.tsx +218 -0
- package/src/TimeInput/TouchTimeField.tsx +93 -155
- package/src/TimeInput/timeWheelRules.ts +352 -0
- package/src/Timer/Timer.tsx +1 -0
- package/src/Timestamp/Timestamp.tsx +1 -1
- package/src/Timestamp/formatInstant.ts +1 -33
- package/src/Toast/Toast.doc.mjs +4 -3
- package/src/Toast/Toast.tsx +52 -32
- package/src/Toast/ToastViewport.tsx +123 -35
- package/src/Toast/types.ts +9 -3
- package/src/Toast/useToast.tsx +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +10 -10
- package/src/Tokenizer/Tokenizer.tsx +61 -62
- package/src/Tokenizer/TokenizerBottomSheet.tsx +17 -23
- package/src/Tokenizer/index.ts +1 -0
- package/src/Tooltip/Tooltip.tsx +6 -42
- package/src/Tooltip/useTooltip.doc.mjs +24 -0
- package/src/Tooltip/useTooltip.tsx +243 -134
- package/src/Typeahead/BaseTypeahead.tsx +27 -17
- package/src/Typeahead/TypeaheadItem.doc.mjs +6 -3
- package/src/Typeahead/TypeaheadItem.tsx +2 -1
- package/src/animator/createAnimator.doc.mjs +153 -0
- package/src/animator/createAnimator.ts +324 -0
- package/src/gestures/GestureHost.ts +6 -5
- package/src/gestures/PressTracker.ts +4 -3
- package/src/gestures/README.md +10 -4
- package/src/hooks/ModalAnnounceProvider.tsx +1 -0
- package/src/hooks/actionGroupTracker.ts +25 -9
- package/src/hooks/index.ts +2 -0
- package/src/hooks/longPressDetector.ts +273 -0
- package/src/hooks/pressGroupContext.ts +21 -0
- package/src/hooks/rootScrollStyles.ts +247 -0
- package/src/hooks/scrollLockTouchGuard.ts +149 -0
- package/src/hooks/scrollbarGutter.ts +41 -26
- package/src/hooks/useActionGroupTracking.ts +224 -0
- package/src/hooks/useAnimator.doc.mjs +109 -0
- package/src/hooks/useAnimator.ts +67 -0
- package/src/hooks/useAnnounceRenderedText.ts +1 -0
- package/src/hooks/useAttachment.ts +1 -1
- package/src/hooks/useAutoMediaMode.ts +1 -0
- package/src/hooks/useBusyAnnouncement.ts +2 -0
- package/src/hooks/useDevWarning.ts +2 -0
- package/src/hooks/useFocusTrap.ts +2 -0
- package/src/hooks/useGridFocus.doc.mjs +6 -6
- package/src/hooks/useGridFocus.ts +10 -7
- package/src/hooks/useHotkeys.ts +2 -0
- package/src/hooks/useImageMode.ts +2 -0
- package/src/hooks/useInputStatusIcon.tsx +3 -2
- package/src/hooks/useKeyboardHint.tsx +1 -1
- package/src/hooks/useLongPress.doc.mjs +2 -2
- package/src/hooks/useLongPress.ts +32 -122
- package/src/hooks/useMenuHover.ts +1 -0
- package/src/hooks/useMenuPress.ts +2 -0
- package/src/hooks/useOverflow.ts +2 -1
- package/src/hooks/usePressFeedback.ts +1 -0
- package/src/hooks/useResolvedRequired.ts +3 -0
- package/src/hooks/useScrollLock.doc.mjs +51 -12
- package/src/hooks/useScrollLock.ts +53 -60
- package/src/hooks/useScrollableArea.ts +4 -0
- package/src/hooks/useStreamingText.ts +2 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchBottomSheet.generated.ts +46 -0
- package/src/i18n/generated-english/PowerSearch/PowerSearchValueEditor.generated.ts +6 -0
- package/src/i18n/generated-english/PowerSearch/formatTokenValue.generated.ts +15 -0
- package/src/i18n/generated-english/Resizable/createResizable.generated.ts +14 -0
- package/src/i18n/generated-english/Table/plugins/rowExpansion/useTableRowExpansion.generated.ts +3 -1
- package/src/i18n/generated-english/Table/plugins/tree/useTableTreeData.generated.ts +3 -1
- package/src/i18n/generated-english/TimeInput/TimeWheels.generated.ts +18 -0
- package/src/i18n/generated-locales/en.generated.ts +47 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +48 -0
- package/src/index.ts +13 -0
- package/src/internal/indicatorPress.stylex.ts +24 -0
- package/src/internal/selectable-card.ts +21 -0
- package/src/internal/sheetDraft.ts +2 -2
- package/src/keyboard/README.md +197 -0
- package/src/keyboard/index.ts +48 -0
- package/src/keyboard/keyboardHeight.ts +543 -0
- package/src/keyboard/keyboardLayoutGuide.ts +266 -0
- package/src/keyboard/keyboardModel.ts +301 -0
- package/src/keyboard/rideKeyboard.ts +100 -0
- package/src/keyboard/useMobileKeyboard.ts +866 -0
- package/src/motion/MEASUREMENTS.md +28 -0
- package/src/motion/README.md +12 -5
- package/src/motion/android/index.ts +18 -0
- package/src/motion/android/keyboard.ts +96 -0
- package/src/motion/animatedLayout.ts +323 -60
- package/src/motion/animator.ts +66 -37
- package/src/motion/frameBlock.ts +16 -0
- package/src/motion/progress.ts +155 -0
- package/src/motion/reducedMotion.ts +3 -1
- package/src/motion/uikit/alert.ts +43 -0
- package/src/motion/uikit/datePicker.ts +60 -0
- package/src/motion/uikit/index.ts +6 -4
- package/src/motion/uikit/picker.ts +116 -0
- package/src/privateAttributes/pressGroupItem.stylex.ts +44 -0
- package/src/privateAttributes/reducedMotion.stylex.ts +45 -0
- package/src/theme/Theme.tsx +37 -3
- package/src/theme/generateThemeRules.ts +14 -12
- package/src/theme/motionKnobs.ts +4 -3
- package/src/theme/themeMotion.ts +17 -2
- package/src/theme/tokens.stylex.ts +2 -0
- package/src/utils/dateParser.ts +16 -0
- package/src/utils/disabledInteraction.ts +23 -2
- package/src/utils/focusReturn.ts +38 -31
- package/src/utils/index.ts +1 -1
- package/src/utils/interactionModality.ts +4 -0
- package/src/utils/interactionOverlay.stylex.ts +6 -4
- package/src/utils/isFocusDetached.ts +34 -0
- package/src/utils/layoutViewport.ts +104 -0
- package/src/utils/plainDate.ts +80 -4
- package/src/utils/pressFeedback.ts +126 -30
- package/src/utils/pressGesture.ts +4 -2
- package/src/utils/selectionLock.ts +40 -6
- package/src/utils/sharedMutationObserver.ts +2 -1
- package/src/utils/timeParser.ts +40 -3
- package/src/utils/triggerFocus.ts +80 -0
- package/dist/BottomSheet/useMobileKeyboard.d.ts +0 -21
- package/dist/BottomSheet/useMobileKeyboard.d.ts.map +0 -1
- package/dist/BottomSheet/useMobileKeyboard.js +0 -407
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts +0 -14
- package/dist/Calendar/getStandaloneShortWeekdayNames.d.ts.map +0 -1
- package/dist/Calendar/getStandaloneShortWeekdayNames.js +0 -26
- package/dist/Calendar/standaloneShortWeekdayNames.generated.d.ts.map +0 -1
- package/dist/Layer/usePressPin.d.ts +0 -93
- package/dist/Layer/usePressPin.d.ts.map +0 -1
- package/dist/Layer/usePressPin.js +0 -363
- package/dist/internal/touch-sheet.d.ts +0 -21
- package/dist/internal/touch-sheet.d.ts.map +0 -1
- package/dist/internal/touch-sheet.js +0 -19
- package/src/BottomSheet/useMobileKeyboard.ts +0 -538
- package/src/Calendar/getStandaloneShortWeekdayNames.ts +0 -38
- package/src/Layer/usePressPin.ts +0 -510
- package/src/internal/touch-sheet.ts +0 -21
|
@@ -61,12 +61,16 @@ import {
|
|
|
61
61
|
plainDateWeekFieldName,
|
|
62
62
|
DATE_FORMAT_WITH_WEEKDAY,
|
|
63
63
|
} from '../utils/plainDate';
|
|
64
|
-
import {
|
|
64
|
+
import {
|
|
65
|
+
plainDateFormatDayNumber,
|
|
66
|
+
plainDateFormatStandaloneMonthYear,
|
|
67
|
+
} from '../utils/plainDate';
|
|
65
68
|
import {mergeProps, composeEventHandlers, rtlStyles} from '../utils';
|
|
66
69
|
import {focusOutlineProps} from '../utils/focusOutline.stylex';
|
|
67
70
|
import {interactionOverlayStyles} from '../utils/interactionOverlay.stylex';
|
|
68
71
|
import {usePressFeedback} from '../hooks/usePressFeedback';
|
|
69
72
|
import {getInitialFocusDate} from './getInitialFocusDate';
|
|
73
|
+
import {getWeekdayHeaders} from './getWeekdayHeaderNames';
|
|
70
74
|
import {
|
|
71
75
|
computeDayCellState,
|
|
72
76
|
computeRangeRounding,
|
|
@@ -104,8 +108,8 @@ import english from '../i18n/generated-english/Calendar/Calendar.generated';
|
|
|
104
108
|
|
|
105
109
|
registerEnglishFallback(english);
|
|
106
110
|
|
|
107
|
-
/** How a month navigation moves the focused day: by its row offset in days, or by whole months. */
|
|
108
|
-
type NavigationUnit = 'days' | 'months';
|
|
111
|
+
/** How a month navigation moves the focused day: by its row offset in days, or by whole months or years. */
|
|
112
|
+
type NavigationUnit = 'days' | 'months' | 'years';
|
|
109
113
|
|
|
110
114
|
/** Imperative handle for Calendar handleRef */
|
|
111
115
|
export interface CalendarHandle {
|
|
@@ -518,13 +522,14 @@ export function Calendar({ref, ...props}: CalendarProps) {
|
|
|
518
522
|
!(minDateForKeys && plainDateIsBefore(pd, minDateForKeys)) &&
|
|
519
523
|
!(maxDateForKeys && plainDateIsAfter(pd, maxDateForKeys));
|
|
520
524
|
let targetPd: PlainDate;
|
|
521
|
-
if (unit === 'months') {
|
|
522
|
-
// A page
|
|
523
|
-
//
|
|
524
|
-
//
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
525
|
+
if (unit === 'months' || unit === 'years') {
|
|
526
|
+
// A page or a year step keeps the day of the month and clamps it to the
|
|
527
|
+
// target month's length. A month with no enabled day is no target, the
|
|
528
|
+
// same as for an arrow.
|
|
529
|
+
const candidate = plainDateAddMonths(
|
|
530
|
+
currentPd,
|
|
531
|
+
unit === 'years' ? delta * 12 : delta,
|
|
532
|
+
);
|
|
528
533
|
if (!inRange(candidate)) {
|
|
529
534
|
return;
|
|
530
535
|
}
|
|
@@ -851,19 +856,15 @@ function MonthGrid({
|
|
|
851
856
|
const year = month.year;
|
|
852
857
|
|
|
853
858
|
// Use hooks for days generation and constraints
|
|
854
|
-
const {days, weeks
|
|
859
|
+
const {days, weeks} = useCalendarDays({
|
|
855
860
|
year,
|
|
856
861
|
month: month.month,
|
|
857
862
|
weekStartsOn,
|
|
858
863
|
hasVariableRowCount,
|
|
859
864
|
});
|
|
860
865
|
const dayNameHeaders = useMemo(
|
|
861
|
-
() =>
|
|
862
|
-
|
|
863
|
-
dayOfWeek: ((weekStartsOn + offset) % 7) as DayOfWeek,
|
|
864
|
-
name,
|
|
865
|
-
})),
|
|
866
|
-
[dayNames, weekStartsOn],
|
|
866
|
+
() => getWeekdayHeaders(locale, weekStartsOn),
|
|
867
|
+
[locale, weekStartsOn],
|
|
867
868
|
);
|
|
868
869
|
|
|
869
870
|
const rangeAnchor = useMemo(
|
|
@@ -961,20 +962,27 @@ function MonthGrid({
|
|
|
961
962
|
[getFocusedDate, onNavigateNext],
|
|
962
963
|
);
|
|
963
964
|
|
|
964
|
-
//
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
965
|
+
// PageUp/PageDown move by a month, and with Shift by a year (APG date
|
|
966
|
+
// picker dialog).
|
|
967
|
+
const handlePageUp = useCallback(
|
|
968
|
+
(e: React.KeyboardEvent) => {
|
|
969
|
+
const focusedDate = getFocusedDate();
|
|
970
|
+
if (focusedDate) {
|
|
971
|
+
onNavigatePrevious?.(focusedDate, 1, e.shiftKey ? 'years' : 'months');
|
|
972
|
+
}
|
|
973
|
+
},
|
|
974
|
+
[getFocusedDate, onNavigatePrevious],
|
|
975
|
+
);
|
|
971
976
|
|
|
972
|
-
const handlePageDown = useCallback(
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
977
|
+
const handlePageDown = useCallback(
|
|
978
|
+
(e: React.KeyboardEvent) => {
|
|
979
|
+
const focusedDate = getFocusedDate();
|
|
980
|
+
if (focusedDate) {
|
|
981
|
+
onNavigateNext?.(focusedDate, 1, e.shiftKey ? 'years' : 'months');
|
|
982
|
+
}
|
|
983
|
+
},
|
|
984
|
+
[getFocusedDate, onNavigateNext],
|
|
985
|
+
);
|
|
978
986
|
|
|
979
987
|
// Grid focus navigation.
|
|
980
988
|
//
|
|
@@ -1155,7 +1163,7 @@ function MonthGrid({
|
|
|
1155
1163
|
<div
|
|
1156
1164
|
role="rowheader"
|
|
1157
1165
|
{...stylex.props(monthGridStyles.weekNumber)}>
|
|
1158
|
-
{weekNum}
|
|
1166
|
+
{plainDateFormatDayNumber(weekNum, locale)}
|
|
1159
1167
|
</div>
|
|
1160
1168
|
)}
|
|
1161
1169
|
{week.map((day, dayIndex) => {
|
|
@@ -1422,7 +1430,7 @@ function DayCell({
|
|
|
1422
1430
|
state.effectivelyDisabled && dayCellTheme.dayDisabled,
|
|
1423
1431
|
),
|
|
1424
1432
|
)}>
|
|
1425
|
-
{dayNumber}
|
|
1433
|
+
{plainDateFormatDayNumber(dayNumber, locale)}
|
|
1426
1434
|
</button>
|
|
1427
1435
|
</div>
|
|
1428
1436
|
);
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file getWeekdayHeaderNames.ts
|
|
5
|
+
* @input Generated CLDR weekday header table and the shared date formatter
|
|
6
|
+
* @output Private resolver for one locale's weekday header row
|
|
7
|
+
* @position Package-internal pure utility for the Calendar grid and the
|
|
8
|
+
* DateInput and DateTimeInput bottom sheets; not exported from the package
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import {characterCount} from '../utils/characters';
|
|
12
|
+
import type {DayOfWeek} from '../utils/dateTypes';
|
|
13
|
+
import {plainDateWeekdayNames} from '../utils/plainDate';
|
|
14
|
+
import {
|
|
15
|
+
weekdayHeaderNamesByLocale,
|
|
16
|
+
type WeekdayHeaderNames,
|
|
17
|
+
} from './weekdayHeaderNames.generated';
|
|
18
|
+
|
|
19
|
+
const weekdayNamesByLocale: Readonly<Record<string, WeekdayHeaderNames>> =
|
|
20
|
+
weekdayHeaderNamesByLocale;
|
|
21
|
+
const englishWeekdayNames = weekdayNamesByLocale.en;
|
|
22
|
+
|
|
23
|
+
/** The longest abbreviated name a header row takes; the generator uses the same. */
|
|
24
|
+
export const MAX_ABBREVIATED_HEADER_LENGTH = 4;
|
|
25
|
+
|
|
26
|
+
function fitsHeader(names: ReadonlyArray<string>): boolean {
|
|
27
|
+
return names.every(
|
|
28
|
+
name => characterCount(name) <= MAX_ABBREVIATED_HEADER_LENGTH,
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A language with no generated row keeps its own words. `Intl` has no CLDR
|
|
34
|
+
* short width, so names too long for the column fall to the narrow width.
|
|
35
|
+
*/
|
|
36
|
+
function sundayFirstNames(locale: string): ReadonlyArray<string> {
|
|
37
|
+
let parsed: Intl.Locale;
|
|
38
|
+
try {
|
|
39
|
+
parsed = new Intl.Locale(locale);
|
|
40
|
+
} catch {
|
|
41
|
+
return englishWeekdayNames;
|
|
42
|
+
}
|
|
43
|
+
const generated =
|
|
44
|
+
weekdayNamesByLocale[parsed.baseName] ??
|
|
45
|
+
weekdayNamesByLocale[parsed.language];
|
|
46
|
+
if (generated != null) {
|
|
47
|
+
return generated;
|
|
48
|
+
}
|
|
49
|
+
const abbreviated = plainDateWeekdayNames(parsed.baseName);
|
|
50
|
+
if (abbreviated == null) {
|
|
51
|
+
return englishWeekdayNames;
|
|
52
|
+
}
|
|
53
|
+
if (fitsHeader(abbreviated)) {
|
|
54
|
+
return abbreviated;
|
|
55
|
+
}
|
|
56
|
+
return (
|
|
57
|
+
plainDateWeekdayNames(parsed.baseName, 'narrow') ?? englishWeekdayNames
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** One weekday header cell: its day of week (a stable key, since narrow names repeat) and its name. */
|
|
62
|
+
export interface WeekdayHeader {
|
|
63
|
+
dayOfWeek: DayOfWeek;
|
|
64
|
+
name: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The seven weekday headers for a locale, in column order for the week that
|
|
69
|
+
* starts on `weekStartsOn`. Unicode extensions are ignored.
|
|
70
|
+
*/
|
|
71
|
+
export function getWeekdayHeaders(
|
|
72
|
+
locale: string,
|
|
73
|
+
weekStartsOn: DayOfWeek = 0,
|
|
74
|
+
): WeekdayHeader[] {
|
|
75
|
+
const names = sundayFirstNames(locale);
|
|
76
|
+
return Array.from({length: 7}, (_, offset) => {
|
|
77
|
+
const dayOfWeek = ((weekStartsOn + offset) % 7) as DayOfWeek;
|
|
78
|
+
return {dayOfWeek, name: names[dayOfWeek]};
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/** The names alone, in the same order as `getWeekdayHeaders`. */
|
|
83
|
+
export function getWeekdayHeaderNames(
|
|
84
|
+
locale: string,
|
|
85
|
+
weekStartsOn: DayOfWeek = 0,
|
|
86
|
+
): string[] {
|
|
87
|
+
return getWeekdayHeaders(locale, weekStartsOn).map(header => header.name);
|
|
88
|
+
}
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
plainDateAddDays,
|
|
23
23
|
} from '../../utils/plainDate';
|
|
24
24
|
import {useLocale} from '../../i18n';
|
|
25
|
-
import {
|
|
25
|
+
import {getWeekdayHeaderNames} from '../getWeekdayHeaderNames';
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Represents a single day in the calendar grid.
|
|
@@ -111,15 +111,10 @@ export function useCalendarDays(
|
|
|
111
111
|
};
|
|
112
112
|
}, [year, month, weekStartsOn, hasVariableRowCount]);
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return Array.from(
|
|
119
|
-
{length: 7},
|
|
120
|
-
(_, index) => names[(index + weekStartsOn) % 7],
|
|
121
|
-
);
|
|
122
|
-
}, [locale, weekStartsOn]);
|
|
114
|
+
const dayNames = useMemo(
|
|
115
|
+
() => getWeekdayHeaderNames(locale, weekStartsOn),
|
|
116
|
+
[locale, weekStartsOn],
|
|
117
|
+
);
|
|
123
118
|
|
|
124
119
|
// Generate days array
|
|
125
120
|
const days = useMemo(() => {
|
package/src/Calendar/{standaloneShortWeekdayNames.generated.ts → weekdayHeaderNames.generated.ts}
RENAMED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Do not edit by hand. Run `pnpm generate:cldr-weekdays` instead.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
export type
|
|
8
|
+
export type WeekdayHeaderNames = readonly [
|
|
9
9
|
string,
|
|
10
10
|
string,
|
|
11
11
|
string,
|
|
@@ -15,36 +15,36 @@ export type StandaloneShortWeekdayNames = readonly [
|
|
|
15
15
|
string,
|
|
16
16
|
];
|
|
17
17
|
|
|
18
|
-
export const
|
|
18
|
+
export const weekdayHeaderNamesByLocale = {
|
|
19
19
|
af: ['So.', 'Ma.', 'Di.', 'Wo.', 'Do.', 'Vr.', 'Sa.'],
|
|
20
20
|
ar: ['أحد', 'إثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
|
|
21
21
|
'ar-SA': ['أحد', 'إثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت'],
|
|
22
22
|
ca: ['dg.', 'dl.', 'dt.', 'dc.', 'dj.', 'dv.', 'ds.'],
|
|
23
23
|
cs: ['ne', 'po', 'út', 'st', 'čt', 'pá', 'so'],
|
|
24
24
|
da: ['sø.', 'ma.', 'ti.', 'on.', 'to.', 'fr.', 'lø.'],
|
|
25
|
-
de: ['So
|
|
26
|
-
el: ['
|
|
27
|
-
en: ['
|
|
28
|
-
es: ['
|
|
25
|
+
de: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
|
|
26
|
+
el: ['Κυρ', 'Δευ', 'Τρί', 'Τετ', 'Πέμ', 'Παρ', 'Σάβ'],
|
|
27
|
+
en: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
28
|
+
es: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],
|
|
29
29
|
fi: ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'],
|
|
30
|
-
fr: ['
|
|
30
|
+
fr: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
|
|
31
31
|
he: ['א׳', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳'],
|
|
32
32
|
hu: ['V', 'H', 'K', 'Sze', 'Cs', 'P', 'Szo'],
|
|
33
33
|
it: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],
|
|
34
34
|
ja: ['日', '月', '火', '水', '木', '金', '土'],
|
|
35
35
|
ko: ['일', '월', '화', '수', '목', '금', '토'],
|
|
36
36
|
nl: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
|
|
37
|
-
no: ['
|
|
37
|
+
no: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'],
|
|
38
38
|
pl: ['nie', 'pon', 'wto', 'śro', 'czw', 'pią', 'sob'],
|
|
39
39
|
pt: ['dom.', 'seg.', 'ter.', 'qua.', 'qui.', 'sex.', 'sáb.'],
|
|
40
40
|
'pt-PT': ['dom.', 'seg.', 'ter.', 'qua.', 'qui.', 'sex.', 'sáb.'],
|
|
41
|
-
ro: ['
|
|
41
|
+
ro: ['dum.', 'lun.', 'mar.', 'mie.', 'joi', 'vin.', 'sâm.'],
|
|
42
42
|
ru: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
|
|
43
|
-
sr: ['
|
|
44
|
-
sv: ['
|
|
45
|
-
tr: ['
|
|
43
|
+
sr: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],
|
|
44
|
+
sv: ['sön', 'mån', 'tis', 'ons', 'tors', 'fre', 'lör'],
|
|
45
|
+
tr: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt'],
|
|
46
46
|
uk: ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
|
|
47
47
|
vi: ['CN', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7'],
|
|
48
48
|
zh: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
|
|
49
|
-
'zh-TW': ['
|
|
50
|
-
} as const satisfies Readonly<Record<string,
|
|
49
|
+
'zh-TW': ['週日', '週一', '週二', '週三', '週四', '週五', '週六'],
|
|
50
|
+
} as const satisfies Readonly<Record<string, WeekdayHeaderNames>>;
|
|
@@ -68,6 +68,7 @@ import {
|
|
|
68
68
|
import {Badge, type BadgeProps} from '../Badge';
|
|
69
69
|
import {useChatComposerContext} from './ChatContext';
|
|
70
70
|
import {themeProps} from '../utils/themeProps';
|
|
71
|
+
import {withholdCallerHandlers} from '../utils/disabledInteraction';
|
|
71
72
|
import type {EnterKeyHint} from '../Field/textEntryTraits';
|
|
72
73
|
import {
|
|
73
74
|
registerEnglishFallback,
|
|
@@ -390,13 +391,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) {
|
|
|
390
391
|
} = props;
|
|
391
392
|
// Keep focus/blur observation available, but do not forward activation or
|
|
392
393
|
// editing callbacks from the disabled root (including capture handlers).
|
|
393
|
-
const rootProps = isDisabled
|
|
394
|
-
? Object.fromEntries(
|
|
395
|
-
Object.entries(rest).filter(
|
|
396
|
-
([key]) => !/^on[A-Z]/.test(key) || /^on(Focus|Blur)/.test(key),
|
|
397
|
-
),
|
|
398
|
-
)
|
|
399
|
-
: rest;
|
|
394
|
+
const rootProps = withholdCallerHandlers(rest, isDisabled);
|
|
400
395
|
const label = labelFromProps ?? t('@astryx.chat.composerInput.label');
|
|
401
396
|
const placeholder =
|
|
402
397
|
placeholderFromProps ??
|
|
@@ -529,6 +524,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) {
|
|
|
529
524
|
};
|
|
530
525
|
}, [inputControlRef, focusEditableAtEnd]);
|
|
531
526
|
|
|
527
|
+
// Syncs the contentEditable DOM with the controlled `value`.
|
|
532
528
|
useEffect(() => {
|
|
533
529
|
if (controlledValue === undefined || !editableRef.current) {
|
|
534
530
|
return;
|
|
@@ -650,6 +646,7 @@ export function ChatComposerInput(props: ChatComposerInputProps) {
|
|
|
650
646
|
}
|
|
651
647
|
: triggerMenu.ariaProps;
|
|
652
648
|
|
|
649
|
+
// Syncs the trigger menu's pending searches with `isDisabled`.
|
|
653
650
|
useEffect(() => {
|
|
654
651
|
if (isDisabled && triggerMenu.state.isActive) {
|
|
655
652
|
// Reset also cancels pending searches, so late results cannot reopen
|
|
@@ -265,7 +265,8 @@ export function ChatMessageList({
|
|
|
265
265
|
children !== false &&
|
|
266
266
|
!(Array.isArray(children) && children.length === 0);
|
|
267
267
|
|
|
268
|
-
// IntersectionObserver
|
|
268
|
+
// Syncs an IntersectionObserver on the top sentinel with `scrollToTopAction`.
|
|
269
|
+
// The action runs when the sentinel comes into view.
|
|
269
270
|
useEffect(() => {
|
|
270
271
|
const scrollContainer = layoutContext?.scrollContainerRef?.current;
|
|
271
272
|
if (!scrollToTopAction || !sentinelRef.current) {
|
|
@@ -452,7 +452,7 @@ export function useTriggerMenu(
|
|
|
452
452
|
});
|
|
453
453
|
const {show: showPopover, hide: hidePopover} = popover;
|
|
454
454
|
|
|
455
|
-
//
|
|
455
|
+
// Releases the search timer and the anchor span on unmount.
|
|
456
456
|
useEffect(() => {
|
|
457
457
|
return () => {
|
|
458
458
|
if (searchTimeoutRef.current) {
|
|
@@ -151,6 +151,15 @@ export const docs = {
|
|
|
151
151
|
},
|
|
152
152
|
{className: 'astryx-checkbox-label'},
|
|
153
153
|
],
|
|
154
|
+
vars: [
|
|
155
|
+
{
|
|
156
|
+
name: '--_indicator-press-image',
|
|
157
|
+
description:
|
|
158
|
+
"The row's touch press image, handed down to a first-party indicator that paints its own press. Set from the press paint only while the row itself is pressed; only this row declares it.",
|
|
159
|
+
default: 'none',
|
|
160
|
+
private: true,
|
|
161
|
+
},
|
|
162
|
+
],
|
|
154
163
|
},
|
|
155
164
|
usage: {
|
|
156
165
|
accessibility: [
|
|
@@ -390,6 +399,15 @@ export const docsZh = {
|
|
|
390
399
|
},
|
|
391
400
|
{className: 'astryx-checkbox-label'},
|
|
392
401
|
],
|
|
402
|
+
vars: [
|
|
403
|
+
{
|
|
404
|
+
name: '--_indicator-press-image',
|
|
405
|
+
description:
|
|
406
|
+
'复选框行的触摸按下图像,传递给自行绘制按下效果的第一方指示器。仅在该行自身被按下时根据按下涂层设置,只有该行声明它。',
|
|
407
|
+
default: 'none',
|
|
408
|
+
private: true,
|
|
409
|
+
},
|
|
410
|
+
],
|
|
393
411
|
},
|
|
394
412
|
};
|
|
395
413
|
|
|
@@ -46,11 +46,11 @@ import {useTooltip} from '../Tooltip/useTooltip';
|
|
|
46
46
|
import {mergeProps} from '../utils/mergeProps';
|
|
47
47
|
import {rtlStyles} from '../utils/rtlStyles';
|
|
48
48
|
import {indicatorScope} from '../Indicator/indicator.markers.stylex';
|
|
49
|
+
import {indicatorPressScope} from '../internal/indicatorPress.stylex';
|
|
49
50
|
import {interactionOverlayStyles} from '../utils/interactionOverlay.stylex';
|
|
50
51
|
import {useIndicatorFocusRing} from '../hooks/useIndicatorFocusRing';
|
|
51
52
|
import {useBusyAnnouncement} from '../hooks/useBusyAnnouncement';
|
|
52
53
|
import {usePressFeedback} from '../hooks/usePressFeedback';
|
|
53
|
-
import {useResolvedRequired} from '../hooks/useResolvedRequired';
|
|
54
54
|
import {useIndicator} from '../Indicator/useIndicator';
|
|
55
55
|
import {themeProps} from '../utils/themeProps';
|
|
56
56
|
|
|
@@ -63,6 +63,11 @@ import english from '../i18n/generated-english/CheckboxInput/CheckboxInput.gener
|
|
|
63
63
|
|
|
64
64
|
registerEnglishFallback(english);
|
|
65
65
|
|
|
66
|
+
/** Written by the touch press controller while the row is pressed. */
|
|
67
|
+
const PRESSED_ON = '[data-astryx-press="on"]';
|
|
68
|
+
/** Written by the touch press controller for the press's release. */
|
|
69
|
+
const PRESSED_FADING = '[data-astryx-press="fading"]';
|
|
70
|
+
|
|
66
71
|
// The touch press's paint, declared by the shared overlay styles on the
|
|
67
72
|
// element the controller writes to (`pressedAlpha`) at the press's strength,
|
|
68
73
|
// 1 while on and 1 → 0 over the release, and inherited resolved by the layer
|
|
@@ -78,6 +83,20 @@ const styles = stylex.create({
|
|
|
78
83
|
containerLabelHidden: {
|
|
79
84
|
gap: 0,
|
|
80
85
|
},
|
|
86
|
+
// An indicator in another package may not name this row's private press
|
|
87
|
+
// attribute. So the row hands its touch press image down to an indicator
|
|
88
|
+
// that paints its own press, but only in its own press states. A pressed
|
|
89
|
+
// ancestor row reaches it no more than it reaches the built-in box. The
|
|
90
|
+
// property has no default: a layered stylesheet ranks a default above the
|
|
91
|
+
// arms. Only this row declares it. A menu item paints its own press, so a
|
|
92
|
+
// mapped indicator there paints none.
|
|
93
|
+
indicatorPressImage: {
|
|
94
|
+
'--_indicator-press-image': {
|
|
95
|
+
default: null,
|
|
96
|
+
[PRESSED_ON]: 'var(--_press-paint-image)',
|
|
97
|
+
[PRESSED_FADING]: 'var(--_press-paint-image)',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
81
100
|
checkboxWrapper: {
|
|
82
101
|
position: 'relative',
|
|
83
102
|
display: 'flex',
|
|
@@ -86,15 +105,22 @@ const styles = stylex.create({
|
|
|
86
105
|
flexShrink: 0,
|
|
87
106
|
isolation: 'isolate',
|
|
88
107
|
},
|
|
89
|
-
// The owner paints this layer over the resolved indicator, so a theme
|
|
90
|
-
// replacement
|
|
108
|
+
// The owner paints this layer over the resolved indicator, so a plain theme
|
|
109
|
+
// replacement keeps the pressed feedback. An indicator with
|
|
110
|
+
// `indicatorPressScope` paints its own press from what the row hands down,
|
|
111
|
+
// so this layer stays off over it.
|
|
91
112
|
// Two pointers, two press models (see interactionOverlay.stylex.ts): a
|
|
92
113
|
// mouse keeps `:active`; under a coarse pointer that arm is dropped and the
|
|
93
114
|
// touch press controller writes `data-astryx-press` on the row, which this layer
|
|
94
115
|
// reads off the same scope marker as the hover tint.
|
|
95
116
|
indicatorPressOverlay: {
|
|
96
117
|
'::after': {
|
|
97
|
-
|
|
118
|
+
// `when.descendant` takes a pseudo-class; `:is(*)` matches any marked
|
|
119
|
+
// indicator.
|
|
120
|
+
content: {
|
|
121
|
+
default: '""',
|
|
122
|
+
[stylex.when.descendant(':is(*)', indicatorPressScope)]: 'none',
|
|
123
|
+
},
|
|
98
124
|
position: 'absolute',
|
|
99
125
|
inset: 0,
|
|
100
126
|
borderRadius: radiusVars['--radius-inner'],
|
|
@@ -112,15 +138,14 @@ const styles = stylex.create({
|
|
|
112
138
|
// what moves. Coarse pointers only, like the drop above.
|
|
113
139
|
backgroundImage: {
|
|
114
140
|
default: null,
|
|
115
|
-
[stylex.when.ancestor(
|
|
141
|
+
[stylex.when.ancestor(PRESSED_ON, indicatorScope)]: {
|
|
142
|
+
default: null,
|
|
143
|
+
'@media (pointer: coarse)': pressedOverlayImage,
|
|
144
|
+
},
|
|
145
|
+
[stylex.when.ancestor(PRESSED_FADING, indicatorScope)]: {
|
|
116
146
|
default: null,
|
|
117
147
|
'@media (pointer: coarse)': pressedOverlayImage,
|
|
118
148
|
},
|
|
119
|
-
[stylex.when.ancestor('[data-astryx-press="fading"]', indicatorScope)]:
|
|
120
|
-
{
|
|
121
|
-
default: null,
|
|
122
|
-
'@media (pointer: coarse)': pressedOverlayImage,
|
|
123
|
-
},
|
|
124
149
|
},
|
|
125
150
|
},
|
|
126
151
|
},
|
|
@@ -352,10 +377,6 @@ export function CheckboxInput({
|
|
|
352
377
|
const id = idProp || generatedId;
|
|
353
378
|
const descriptionID = useId();
|
|
354
379
|
const statusMessageID = useId();
|
|
355
|
-
// Announce the effective required state (form default included) while the
|
|
356
|
-
// native `required` stays bound to the explicit `isRequired` so a layout
|
|
357
|
-
// default never switches on browser validation.
|
|
358
|
-
const isEffectivelyRequired = useResolvedRequired({isRequired, isOptional});
|
|
359
380
|
|
|
360
381
|
const [, startTransition] = useTransition();
|
|
361
382
|
const [optimisticValue, setOptimisticValue] = useOptimistic(value);
|
|
@@ -450,6 +471,7 @@ export function CheckboxInput({
|
|
|
450
471
|
// Hover and focus reach the checkbox visual through this ancestor
|
|
451
472
|
// marker rather than props, so the whole row drives it.
|
|
452
473
|
!isDisabled && indicatorScope,
|
|
474
|
+
!isDisabled && styles.indicatorPressImage,
|
|
453
475
|
// The touch press's strength and release live on the row the
|
|
454
476
|
// controller writes to; the layer over the checkbox box inherits
|
|
455
477
|
// and paints it.
|
|
@@ -484,7 +506,8 @@ export function CheckboxInput({
|
|
|
484
506
|
onClick={isDisabled ? undefined : rest.onClick}
|
|
485
507
|
readOnly={isReadOnly}
|
|
486
508
|
required={isRequired}
|
|
487
|
-
|
|
509
|
+
// A form's required default sets nothing here: an unchecked box is an answer.
|
|
510
|
+
aria-required={isRequired ? 'true' : undefined}
|
|
488
511
|
onChange={e => {
|
|
489
512
|
if (isDisabled || isBusy || isReadOnly) {
|
|
490
513
|
// Activation clears the native mixed state; React restores
|
|
@@ -127,6 +127,20 @@ export const docs = {
|
|
|
127
127
|
type: 'string',
|
|
128
128
|
description: 'Description text displayed below the label.',
|
|
129
129
|
},
|
|
130
|
+
{
|
|
131
|
+
name: 'isOptional',
|
|
132
|
+
type: 'boolean',
|
|
133
|
+
description:
|
|
134
|
+
'Whether the group is optional. Shows the optional indicator after the group label, unless a surrounding FormLayout already makes fields optional by default.',
|
|
135
|
+
default: 'false',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
name: 'isRequired',
|
|
139
|
+
type: 'boolean',
|
|
140
|
+
description:
|
|
141
|
+
'Whether the group needs at least one checked box. Shows the required indicator after the group label by the same rules as every input field. While no box is checked, the browser blocks submit and moves focus to the first box that is neither disabled nor read-only, with its own message. A disabled or read-only group requires nothing. Show your own error text through status. Mutually exclusive with isOptional.',
|
|
142
|
+
default: 'false',
|
|
143
|
+
},
|
|
130
144
|
{
|
|
131
145
|
name: 'density',
|
|
132
146
|
type: "'compact' | 'balanced' | 'spacious'",
|