@astryxdesign/core 0.7.8 → 0.7.9-canary.0236bb8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppShell/observeMainOverflow.d.ts.map +1 -1
- package/dist/AppShell/observeMainOverflow.js +9 -6
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +7 -2
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +40 -8
- package/dist/BottomSheet/bottomSheetStack.d.ts.map +1 -1
- package/dist/BottomSheet/bottomSheetStack.js +4 -3
- package/dist/BottomSheet/useSheetGestures.d.ts.map +1 -1
- package/dist/BottomSheet/useSheetGestures.js +61 -21
- package/dist/Calendar/Calendar.d.ts +14 -2
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +63 -74
- package/dist/Calendar/getInitialFocusDate.d.ts +4 -1
- package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -1
- package/dist/Calendar/getInitialFocusDate.js +7 -5
- package/dist/Calendar/hooks/useCalendarDays.d.ts +19 -2
- package/dist/Calendar/hooks/useCalendarDays.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarDays.js +57 -64
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts +28 -3
- package/dist/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -1
- package/dist/Calendar/hooks/useCalendarNavigation.js +33 -22
- package/dist/Calendar/styles.d.ts +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts +2 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +74 -18
- package/dist/CheckboxInput/CheckboxRowPressContext.d.ts +2 -0
- package/dist/CheckboxInput/CheckboxRowPressContext.d.ts.map +1 -0
- package/dist/CheckboxInput/CheckboxRowPressContext.js +20 -0
- package/dist/CheckboxList/CheckboxListItem.d.ts +2 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +40 -14
- package/dist/ClickableCard/ClickableCard.d.ts +1 -1
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +5 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +2 -0
- package/dist/DateInput/DateInput.d.ts +37 -6
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +97 -124
- package/dist/DateInput/MonthScroller.d.ts +5 -2
- package/dist/DateInput/MonthScroller.d.ts.map +1 -1
- package/dist/DateInput/MonthScroller.js +26 -29
- package/dist/DateInput/MonthYearWheels.d.ts +10 -1
- package/dist/DateInput/MonthYearWheels.d.ts.map +1 -1
- package/dist/DateInput/MonthYearWheels.js +54 -42
- package/dist/DateInput/PickerWheel.d.ts.map +1 -1
- package/dist/DateInput/PickerWheel.js +7 -1
- package/dist/DateInput/TouchDateField.d.ts +1 -1
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +26 -21
- package/dist/DateInput/monthGeometry.d.ts +42 -8
- package/dist/DateInput/monthGeometry.d.ts.map +1 -1
- package/dist/DateInput/monthGeometry.js +81 -7
- package/dist/DateInput/useCalendarPresentation.d.ts +10 -0
- package/dist/DateInput/useCalendarPresentation.d.ts.map +1 -0
- package/dist/DateInput/useCalendarPresentation.js +32 -0
- package/dist/DateInput/useTypedDate.d.ts +92 -0
- package/dist/DateInput/useTypedDate.d.ts.map +1 -0
- package/dist/DateInput/useTypedDate.js +269 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +17 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +15 -8
- package/dist/DateTimeInput/DateTimeInput.d.ts +26 -3
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +92 -88
- package/dist/DateTimeInput/TouchDateTimeField.d.ts +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +26 -20
- package/dist/Dialog/Dialog.d.ts +2 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +14 -3
- package/dist/Drawer/useDrawerDialogPresence.d.ts +2 -1
- package/dist/Drawer/useDrawerDialogPresence.d.ts.map +1 -1
- package/dist/Drawer/useDrawerDialogPresence.js +11 -2
- package/dist/DropdownMenu/DropdownMenu.d.ts +9 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +11 -8
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +3 -2
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +3 -2
- package/dist/Field/inputDisabledFocus.d.ts +4 -4
- package/dist/Field/inputStyles.stylex.d.ts +1 -1
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +16 -2
- package/dist/HoverCard/useHoverCard.d.ts +3 -1
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/Icon/Icon.d.ts +1 -1
- package/dist/InfoTip/InfoTip.d.ts +1 -0
- package/dist/InfoTip/InfoTip.d.ts.map +1 -1
- package/dist/InfoTip/InfoTip.js +6 -18
- package/dist/InputGroup/InputGroup.d.ts +4 -3
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +2 -2
- package/dist/InputGroup/groupStyles.d.ts +1 -1
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +1 -1
- package/dist/Item/Item.d.ts +20 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +97 -29
- package/dist/Item/ItemListRowContext.d.ts +2 -0
- package/dist/Item/ItemListRowContext.d.ts.map +1 -0
- package/dist/Item/ItemListRowContext.js +16 -0
- package/dist/Layer/holdEntranceInput.d.ts +24 -0
- package/dist/Layer/holdEntranceInput.d.ts.map +1 -0
- package/dist/Layer/holdEntranceInput.js +65 -0
- package/dist/Layer/inputHold.d.ts +49 -0
- package/dist/Layer/inputHold.d.ts.map +1 -0
- package/dist/Layer/inputHold.js +636 -0
- package/dist/Layer/outsidePress.d.ts +4 -0
- package/dist/Layer/outsidePress.d.ts.map +1 -1
- package/dist/Layer/outsidePress.js +18 -1
- package/dist/Layer/preserveAnimations.d.ts +1 -5
- package/dist/Layer/preserveAnimations.d.ts.map +1 -1
- package/dist/Layer/preserveAnimations.js +12 -214
- package/dist/Layer/useBackdropPress.d.ts +8 -0
- package/dist/Layer/useBackdropPress.d.ts.map +1 -1
- package/dist/Layer/useBackdropPress.js +31 -2
- package/dist/Layer/useLayer.d.ts +3 -1
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +64 -4
- package/dist/Layer/useTouchTrigger.d.ts.map +1 -1
- package/dist/Layer/useTouchTrigger.js +4 -0
- package/dist/Layout/LayoutContent.d.ts +3 -1
- package/dist/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/Layout/LayoutContent.js +12 -4
- package/dist/Layout/LayoutPanel.d.ts +13 -10
- package/dist/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/Layout/LayoutPanel.js +70 -9
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +4 -0
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +1 -0
- package/dist/List/ListItem.d.ts +5 -4
- package/dist/List/ListItem.d.ts.map +1 -1
- package/dist/List/ListItem.js +45 -9
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +56 -39
- package/dist/MetadataList/MetadataList.js +1 -1
- package/dist/MobileNav/MobileNav.d.ts +11 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +39 -1
- package/dist/MoreMenu/MoreMenu.d.ts +5 -3
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +6 -9
- package/dist/NumberInput/NumberInput.d.ts +4 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +244 -11
- package/dist/Popover/usePopover.d.ts +1 -0
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +12 -5
- package/dist/PowerSearch/PowerSearchBottomSheet.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchBottomSheet.js +4 -2
- package/dist/PowerSearch/PowerSearchToken.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchToken.js +3 -1
- package/dist/PowerSearch/formatFilterValue.d.ts +9 -3
- package/dist/PowerSearch/formatFilterValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatFilterValue.js +14 -11
- package/dist/PowerSearch/formatTokenValue.d.ts +6 -2
- package/dist/PowerSearch/formatTokenValue.d.ts.map +1 -1
- package/dist/PowerSearch/formatTokenValue.js +6 -3
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +16 -3
- package/dist/Resizable/ResizeHandle.d.ts +5 -5
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +44 -5
- package/dist/Resizable/resizablePane.d.ts +58 -0
- package/dist/Resizable/resizablePane.d.ts.map +1 -0
- package/dist/Resizable/resizablePane.js +137 -0
- package/dist/Resizable/useResizable.d.ts +7 -0
- package/dist/Resizable/useResizable.d.ts.map +1 -1
- package/dist/Resizable/useResizable.js +13 -0
- package/dist/SelectableCard/SelectableCard.d.ts +1 -1
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +5 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +51 -10
- package/dist/SideNav/SideNav.d.ts +9 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +45 -10
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +14 -71
- package/dist/Spinner/index.d.ts +1 -1
- package/dist/Spinner/index.d.ts.map +1 -1
- package/dist/Spinner/spinnerRotor.d.ts +28 -0
- package/dist/Spinner/spinnerRotor.d.ts.map +1 -0
- package/dist/Spinner/spinnerRotor.js +98 -0
- package/dist/Stack/StackItem.d.ts +8 -4
- package/dist/Stack/StackItem.d.ts.map +1 -1
- package/dist/Stack/StackItem.js +17 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +13 -10
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +5 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +14 -8
- package/dist/Timestamp/formatInstant.d.ts +10 -1
- package/dist/Timestamp/formatInstant.d.ts.map +1 -1
- package/dist/Timestamp/formatInstant.js +13 -27
- package/dist/Timestamp/tooltipEntries.d.ts +5 -3
- package/dist/Timestamp/tooltipEntries.d.ts.map +1 -1
- package/dist/Timestamp/tooltipEntries.js +6 -4
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +9 -0
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +4 -1
- package/dist/Tokenizer/Tokenizer.d.ts +14 -10
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +189 -89
- package/dist/Tooltip/useTooltip.d.ts +3 -1
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +164 -59
- package/dist/TreeList/TreeListItem.d.ts +2 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +27 -3
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +2 -1
- package/dist/astryx.css +362 -325
- package/dist/gestures/GestureHost.d.ts +2 -2
- package/dist/gestures/GestureHost.d.ts.map +1 -1
- package/dist/gestures/GestureHost.js +21 -6
- package/dist/gestures/PanGestureRecognizer.d.ts +11 -1
- package/dist/gestures/PanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/PanGestureRecognizer.js +15 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts +6 -1
- package/dist/gestures/ScreenEdgePanGestureRecognizer.d.ts.map +1 -1
- package/dist/gestures/nativeScroll.d.ts +3 -6
- package/dist/gestures/nativeScroll.d.ts.map +1 -1
- package/dist/gestures/nativeScroll.js +7 -52
- package/dist/gestures/wheelSegmenter.d.ts +68 -1
- package/dist/gestures/wheelSegmenter.d.ts.map +1 -1
- package/dist/gestures/wheelSegmenter.js +199 -10
- package/dist/hooks/StackItemScrollRegion.d.ts +31 -0
- package/dist/hooks/StackItemScrollRegion.d.ts.map +1 -0
- package/dist/hooks/StackItemScrollRegion.js +40 -0
- package/dist/hooks/computeOverflow.d.ts +2 -0
- package/dist/hooks/computeOverflow.d.ts.map +1 -1
- package/dist/hooks/computeOverflow.js +1 -1
- package/dist/hooks/menuPressGesture.d.ts +133 -21
- package/dist/hooks/menuPressGesture.d.ts.map +1 -1
- package/dist/hooks/menuPressGesture.js +155 -30
- package/dist/hooks/menuPressValues.d.ts +16 -0
- package/dist/hooks/menuPressValues.d.ts.map +1 -0
- package/dist/hooks/menuPressValues.js +18 -0
- package/dist/hooks/useClickableContainer.d.ts +36 -7
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +63 -14
- package/dist/hooks/useFocusTrap.d.ts +10 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +225 -132
- package/dist/hooks/useKeyboardHighlight.d.ts +17 -0
- package/dist/hooks/useKeyboardHighlight.d.ts.map +1 -0
- package/dist/hooks/useKeyboardHighlight.js +38 -0
- package/dist/hooks/useMediaQuery.d.ts +2 -1
- package/dist/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/hooks/useMediaQuery.js +37 -12
- package/dist/hooks/useMenuPress.d.ts +34 -1
- package/dist/hooks/useMenuPress.d.ts.map +1 -1
- package/dist/hooks/useMenuPress.js +93 -5
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +190 -21
- package/dist/hooks/usePressFeedback.d.ts +6 -6
- package/dist/hooks/usePressFeedback.js +6 -6
- package/dist/hooks/useScrollRegionProps.d.ts +35 -0
- package/dist/hooks/useScrollRegionProps.d.ts.map +1 -0
- package/dist/hooks/useScrollRegionProps.js +51 -0
- package/dist/i18n/InternationalizationContext.d.ts +6 -0
- package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.d.ts +23 -3
- package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.js +8 -3
- package/dist/i18n/generated-english/DateInput/DateInput.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/DateInput/DateInput.generated.js +0 -1
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts +8 -0
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/DateInput/useTypedDate.generated.js +16 -0
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.d.ts.map +1 -1
- package/dist/i18n/generated-english/DateTimeInput/DateTimeInput.generated.js +0 -1
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts +8 -0
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.d.ts.map +1 -0
- package/dist/i18n/generated-english/hooks/useScrollRegionProps.generated.js +12 -0
- package/dist/i18n/generated-locales/en.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/en.generated.js +5 -0
- package/dist/i18n/generated-locales/pseudo.generated.d.ts.map +1 -1
- package/dist/i18n/generated-locales/pseudo.generated.js +5 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +1 -0
- package/dist/i18n/useCalendarSystem.d.ts +19 -0
- package/dist/i18n/useCalendarSystem.d.ts.map +1 -0
- package/dist/i18n/useCalendarSystem.js +61 -0
- package/dist/internal/calendar-system.d.ts +18 -0
- package/dist/internal/calendar-system.d.ts.map +1 -0
- package/dist/internal/calendar-system.js +19 -0
- package/dist/internal/spinner-rotor.d.ts +16 -0
- package/dist/internal/spinner-rotor.d.ts.map +1 -0
- package/dist/internal/spinner-rotor.js +16 -0
- package/dist/internal/touch.d.ts +14 -1
- package/dist/internal/touch.d.ts.map +1 -1
- package/dist/internal/touch.js +20 -2
- package/dist/motion/carryAnimations.d.ts +58 -0
- package/dist/motion/carryAnimations.d.ts.map +1 -0
- package/dist/motion/carryAnimations.js +305 -0
- package/dist/motion/transientCopy.d.ts +4 -2
- package/dist/motion/transientCopy.d.ts.map +1 -1
- package/dist/motion/transientCopy.js +34 -5
- package/dist/motion/uikit/gestures.d.ts +41 -0
- package/dist/motion/uikit/gestures.d.ts.map +1 -1
- package/dist/motion/uikit/gestures.js +25 -0
- package/dist/motion/uikit/index.d.ts +1 -1
- package/dist/motion/uikit/index.d.ts.map +1 -1
- package/dist/motion/uikit/index.js +1 -1
- package/dist/motion/uikit/timing.d.ts +14 -10
- package/dist/motion/uikit/timing.d.ts.map +1 -1
- package/dist/motion/uikit/timing.js +7 -5
- package/dist/privateAttributes/menuPressLit.stylex.d.ts +52 -0
- package/dist/privateAttributes/menuPressLit.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/menuPressLit.stylex.js +99 -0
- package/dist/privateAttributes/press.stylex.d.ts +142 -0
- package/dist/privateAttributes/press.stylex.d.ts.map +1 -0
- package/dist/privateAttributes/press.stylex.js +101 -0
- package/dist/theme/themeMotion.d.ts +3 -2
- package/dist/theme/themeMotion.d.ts.map +1 -1
- package/dist/theme/themeMotion.js +3 -2
- package/dist/theme/tokens.stylex.d.ts +2 -2
- package/dist/theme/tokens.stylex.js +1 -1
- package/dist/utils/calendarDateParser.d.ts +110 -0
- package/dist/utils/calendarDateParser.d.ts.map +1 -0
- package/dist/utils/calendarDateParser.js +1225 -0
- package/dist/utils/calendarSystem.d.ts +176 -0
- package/dist/utils/calendarSystem.d.ts.map +1 -0
- package/dist/utils/calendarSystem.js +569 -0
- package/dist/utils/coarsePointer.d.ts +5 -0
- package/dist/utils/coarsePointer.d.ts.map +1 -1
- package/dist/utils/coarsePointer.js +22 -13
- package/dist/utils/flatTree.d.ts +6 -3
- package/dist/utils/flatTree.d.ts.map +1 -1
- package/dist/utils/flatTree.js +13 -3
- package/dist/utils/focusReturn.d.ts +10 -2
- package/dist/utils/focusReturn.d.ts.map +1 -1
- package/dist/utils/focusReturn.js +16 -3
- package/dist/utils/hitArea.d.ts +8 -1
- package/dist/utils/hitArea.d.ts.map +1 -1
- package/dist/utils/hitArea.js +99 -9
- package/dist/utils/inputPresentation.d.ts +9 -1
- package/dist/utils/inputPresentation.d.ts.map +1 -1
- package/dist/utils/inputPresentation.js +15 -1
- package/dist/utils/inputStream.d.ts +14 -1
- package/dist/utils/inputStream.d.ts.map +1 -1
- package/dist/utils/inputStream.js +40 -9
- package/dist/utils/interactionOverlay.stylex.d.ts +5 -9
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +29 -31
- package/dist/utils/plainDate.d.ts +38 -7
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +92 -18
- package/dist/utils/pressFeedback.d.ts +10 -2
- package/dist/utils/pressFeedback.d.ts.map +1 -1
- package/dist/utils/pressFeedback.js +40 -15
- package/dist/utils/pressGesture.d.ts +12 -6
- package/dist/utils/pressGesture.d.ts.map +1 -1
- package/dist/utils/pressGesture.js +26 -8
- package/dist/utils/scrollView.d.ts +25 -0
- package/dist/utils/scrollView.d.ts.map +1 -0
- package/dist/utils/scrollView.js +108 -0
- package/dist/utils/selectionLock.d.ts.map +1 -1
- package/dist/utils/selectionLock.js +1 -10
- package/dist/utils/touchHitArea.d.ts +30 -0
- package/dist/utils/touchHitArea.d.ts.map +1 -0
- package/dist/utils/touchHitArea.js +167 -0
- package/dist/utils/touchHitArea.stylex.d.ts +38 -0
- package/dist/utils/touchHitArea.stylex.d.ts.map +1 -0
- package/dist/utils/touchHitArea.stylex.js +48 -0
- package/dist/utils/triggerFocus.d.ts +5 -0
- package/dist/utils/triggerFocus.d.ts.map +1 -1
- package/dist/utils/triggerFocus.js +9 -2
- package/locales/en.json +21 -1
- package/locales/pseudo.json +15 -0
- package/package.json +15 -4
- package/src/AppShell/observeMainOverflow.ts +9 -6
- package/src/BottomSheet/BottomSheet.tsx +7 -2
- package/src/BottomSheet/BottomSheetPanel.tsx +64 -7
- package/src/BottomSheet/bottomSheetStack.ts +4 -3
- package/src/BottomSheet/useSheetGestures.ts +83 -20
- package/src/Calendar/Calendar.doc.mjs +76 -6
- package/src/Calendar/Calendar.tsx +123 -104
- package/src/Calendar/getInitialFocusDate.ts +22 -8
- package/src/Calendar/hooks/useCalendarDays.ts +89 -63
- package/src/Calendar/hooks/useCalendarNavigation.ts +68 -26
- package/src/CheckboxInput/CheckboxInput.doc.mjs +5 -4
- package/src/CheckboxInput/CheckboxInput.tsx +105 -20
- package/src/CheckboxInput/CheckboxRowPressContext.ts +22 -0
- package/src/CheckboxList/CheckboxList.doc.mjs +9 -0
- package/src/CheckboxList/CheckboxListItem.doc.mjs +3 -3
- package/src/CheckboxList/CheckboxListItem.tsx +35 -14
- package/src/ClickableCard/ClickableCard.tsx +8 -1
- package/src/ContextMenu/ContextMenu.tsx +2 -0
- package/src/DateInput/DateInput.doc.mjs +45 -12
- package/src/DateInput/DateInput.tsx +165 -179
- package/src/DateInput/MonthScroller.tsx +39 -37
- package/src/DateInput/MonthYearWheels.tsx +68 -47
- package/src/DateInput/PickerWheel.tsx +7 -2
- package/src/DateInput/TouchDateField.tsx +45 -17
- package/src/DateInput/monthGeometry.ts +110 -8
- package/src/DateInput/useCalendarPresentation.ts +64 -0
- package/src/DateInput/useTypedDate.ts +469 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +9 -0
- package/src/DateRangeInput/DateRangeInput.tsx +43 -9
- package/src/DateTimeInput/DateTimeInput.doc.mjs +42 -9
- package/src/DateTimeInput/DateTimeInput.tsx +138 -148
- package/src/DateTimeInput/TouchDateTimeField.tsx +31 -16
- package/src/Dialog/Dialog.doc.mjs +1 -1
- package/src/Dialog/Dialog.tsx +14 -2
- package/src/Drawer/Drawer.doc.mjs +1 -1
- package/src/Drawer/useDrawerDialogPresence.ts +9 -2
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -2
- package/src/DropdownMenu/DropdownMenu.tsx +31 -7
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +5 -1
- package/src/DropdownMenu/DropdownMenuItem.tsx +8 -4
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +5 -1
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +5 -1
- package/src/FileInput/FileInput.tsx +16 -2
- package/src/HoverCard/useHoverCard.tsx +3 -1
- package/src/InfoTip/InfoTip.doc.mjs +26 -2
- package/src/InfoTip/InfoTip.tsx +6 -27
- package/src/InputGroup/InputGroup.doc.mjs +4 -3
- package/src/InputGroup/InputGroup.tsx +4 -3
- package/src/InputGroup/groupStyles.ts +3 -1
- package/src/Item/Item.tsx +139 -35
- package/src/Item/ItemListRowContext.tsx +18 -0
- package/src/Layer/holdEntranceInput.ts +84 -0
- package/src/Layer/inputHold.ts +734 -0
- package/src/Layer/outsidePress.ts +18 -1
- package/src/Layer/preserveAnimations.ts +12 -275
- package/src/Layer/useBackdropPress.ts +41 -1
- package/src/Layer/useLayer.tsx +77 -4
- package/src/Layer/useTouchTrigger.ts +4 -0
- package/src/Layout/LayoutContent.doc.mjs +6 -3
- package/src/Layout/LayoutContent.tsx +10 -4
- package/src/Layout/LayoutPanel.doc.mjs +14 -11
- package/src/Layout/LayoutPanel.tsx +98 -15
- package/src/Lightbox/Lightbox.tsx +4 -0
- package/src/List/List.doc.mjs +10 -1
- package/src/List/List.tsx +5 -0
- package/src/List/ListItem.tsx +63 -8
- package/src/Markdown/parser.ts +65 -42
- package/src/MetadataList/MetadataList.tsx +1 -1
- package/src/MobileNav/MobileNav.doc.mjs +3 -3
- package/src/MobileNav/MobileNav.tsx +39 -1
- package/src/MoreMenu/MoreMenu.doc.mjs +2 -4
- package/src/MoreMenu/MoreMenu.tsx +5 -3
- package/src/MultiSelector/MultiSelector.tsx +7 -17
- package/src/NumberInput/NumberInput.doc.mjs +1 -1
- package/src/NumberInput/NumberInput.tsx +259 -11
- package/src/Popover/usePopover.tsx +1 -0
- package/src/PowerSearch/PowerSearch.doc.mjs +3 -3
- package/src/PowerSearch/PowerSearch.tsx +20 -3
- package/src/PowerSearch/PowerSearchBottomSheet.tsx +4 -1
- package/src/PowerSearch/PowerSearchToken.tsx +3 -0
- package/src/PowerSearch/formatFilterValue.ts +21 -11
- package/src/PowerSearch/formatTokenValue.ts +7 -1
- package/src/RadioList/RadioListItem.doc.mjs +3 -2
- package/src/RadioList/RadioListItem.tsx +16 -6
- package/src/Resizable/Resizable.doc.mjs +40 -12
- package/src/Resizable/ResizeHandle.tsx +68 -6
- package/src/Resizable/resizablePane.ts +179 -0
- package/src/Resizable/useResizable.ts +15 -0
- package/src/SelectableCard/SelectableCard.tsx +8 -1
- package/src/Selector/Selector.tsx +83 -8
- package/src/SideNav/SideNav.doc.mjs +2 -2
- package/src/SideNav/SideNav.tsx +87 -12
- package/src/Spinner/Spinner.tsx +7 -89
- package/src/Spinner/index.ts +1 -5
- package/src/Spinner/spinnerRotor.ts +113 -0
- package/src/Stack/Stack.doc.mjs +1 -1
- package/src/Stack/StackItem.tsx +27 -13
- package/src/Switch/Switch.tsx +7 -6
- package/src/TabList/Tab.tsx +5 -1
- package/src/Table/plugins/sortable/useTableSortable.tsx +1 -1
- package/src/Timestamp/Timestamp.doc.mjs +3 -3
- package/src/Timestamp/Timestamp.tsx +13 -8
- package/src/Timestamp/formatInstant.ts +49 -28
- package/src/Timestamp/tooltipEntries.ts +7 -3
- package/src/Token/Token.tsx +18 -1
- package/src/Token/TokenLink.tsx +7 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +3 -3
- package/src/Tokenizer/Tokenizer.tsx +252 -115
- package/src/Tooltip/useTooltip.tsx +180 -80
- package/src/TreeList/TreeListItem.tsx +36 -2
- package/src/Typeahead/BaseTypeahead.tsx +2 -0
- package/src/gestures/GestureHost.ts +21 -5
- package/src/gestures/PanGestureRecognizer.ts +19 -2
- package/src/gestures/README.md +14 -5
- package/src/gestures/ScreenEdgePanGestureRecognizer.ts +6 -1
- package/src/gestures/nativeScroll.ts +12 -68
- package/src/gestures/wheelSegmenter.ts +243 -10
- package/src/hooks/StackItemScrollRegion.tsx +57 -0
- package/src/hooks/computeOverflow.ts +1 -1
- package/src/hooks/menuPressGesture.ts +244 -38
- package/src/hooks/menuPressValues.ts +18 -0
- package/src/hooks/useClickableContainer.doc.mjs +8 -2
- package/src/hooks/useClickableContainer.ts +93 -15
- package/src/hooks/useFocusTrap.ts +268 -151
- package/src/hooks/useKeyboardHighlight.ts +71 -0
- package/src/hooks/useMediaQuery.ts +41 -12
- package/src/hooks/useMenuPress.ts +118 -11
- package/src/hooks/useOverflow.ts +297 -73
- package/src/hooks/usePressFeedback.doc.mjs +3 -3
- package/src/hooks/usePressFeedback.ts +6 -6
- package/src/hooks/useScrollRegionProps.ts +76 -0
- package/src/i18n/InternationalizationContext.ts +6 -0
- package/src/i18n/InternationalizationProvider.doc.mjs +29 -1
- package/src/i18n/InternationalizationProvider.tsx +35 -3
- package/src/i18n/generated-english/DateInput/DateInput.generated.ts +0 -1
- package/src/i18n/generated-english/DateInput/useTypedDate.generated.ts +17 -0
- package/src/i18n/generated-english/DateTimeInput/DateTimeInput.generated.ts +0 -1
- package/src/i18n/generated-english/hooks/useScrollRegionProps.generated.ts +13 -0
- package/src/i18n/generated-locales/en.generated.ts +7 -0
- package/src/i18n/generated-locales/pseudo.generated.ts +7 -0
- package/src/i18n/index.ts +2 -0
- package/src/i18n/useCalendarSystem.ts +95 -0
- package/src/internal/calendar-system.ts +26 -0
- package/src/internal/spinner-rotor.ts +20 -0
- package/src/internal/touch.ts +34 -1
- package/src/motion/MEASUREMENTS.md +11 -0
- package/src/motion/carryAnimations.ts +389 -0
- package/src/motion/transientCopy.ts +45 -5
- package/src/motion/uikit/gestures.ts +22 -0
- package/src/motion/uikit/index.ts +1 -0
- package/src/motion/uikit/timing.ts +7 -5
- package/src/privateAttributes/menuPressLit.stylex.ts +104 -0
- package/src/privateAttributes/press.stylex.ts +261 -0
- package/src/theme/themeMotion.ts +3 -2
- package/src/theme/tokens.stylex.ts +1 -1
- package/src/utils/calendarDateParser.ts +1385 -0
- package/src/utils/calendarSystem.ts +832 -0
- package/src/utils/coarsePointer.ts +27 -14
- package/src/utils/flatTree.ts +15 -3
- package/src/utils/focusReturn.ts +17 -3
- package/src/utils/hitArea.ts +138 -9
- package/src/utils/inputPresentation.ts +21 -1
- package/src/utils/inputStream.ts +47 -10
- package/src/utils/interactionOverlay.stylex.ts +19 -22
- package/src/utils/plainDate.ts +130 -19
- package/src/utils/pressFeedback.ts +46 -14
- package/src/utils/pressGesture.ts +35 -9
- package/src/utils/scrollView.ts +135 -0
- package/src/utils/selectionLock.ts +5 -10
- package/src/utils/touchHitArea.stylex.ts +56 -0
- package/src/utils/touchHitArea.ts +177 -0
- package/src/utils/triggerFocus.ts +17 -4
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file privateAttributes/menuPressLit.stylex.ts
|
|
3
|
+
* @input The row that a held finger or pen lights in a menu
|
|
4
|
+
* @output Exports markMenuPressLit and clearMenuPressLit, which mark that row,
|
|
5
|
+
* and isMenuPressLit, which reads the mark. It also exports
|
|
6
|
+
* menuPressLitRowStyle, which paints the marked row. The hold pair,
|
|
7
|
+
* holdMenuPressPaint and releaseMenuPressPaint, keeps the other rows off
|
|
8
|
+
* their pressed paint, and isMenuPressPaintHeld reads that hold.
|
|
9
|
+
* @position Owner module of the private menu-press-lit attribute: the only
|
|
10
|
+
* file that writes its name. The menu press model (hooks/useMenuPress.ts)
|
|
11
|
+
* marks the row; DropdownMenu's rows compose the styles. No package entry
|
|
12
|
+
* exports it.
|
|
13
|
+
*
|
|
14
|
+
* SYNC: Each row that composes menuPressLitRowStyle reads
|
|
15
|
+
* `--_menu-row-focus-paint` in its `:focus` background, and a row with an
|
|
16
|
+
* `:active` background reads `--_menu-row-active-paint` there:
|
|
17
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuItem.tsx
|
|
18
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuCheckboxItem.tsx
|
|
19
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuRadioItem.tsx
|
|
20
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.tsx
|
|
21
|
+
*/
|
|
22
|
+
import type { StyleXStyles } from '@stylexjs/stylex';
|
|
23
|
+
/** Marks `row` as the row that a held finger or pen lights. */
|
|
24
|
+
export declare function markMenuPressLit(row: Element): void;
|
|
25
|
+
/** Removes the mark from `row`. */
|
|
26
|
+
export declare function clearMenuPressLit(row: Element): void;
|
|
27
|
+
/** Whether a held finger or pen lights `row`. */
|
|
28
|
+
export declare function isMenuPressLit(row: Element): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Keeps `menu`'s rows off their `:active` paint while a held finger or pen
|
|
31
|
+
* presses in it. The row the press began on stays `:active` as the press
|
|
32
|
+
* moves on. The lit row keeps the pressed overlay through its own mark.
|
|
33
|
+
*/
|
|
34
|
+
export declare function holdMenuPressPaint(menu: HTMLElement): void;
|
|
35
|
+
/** Gives `menu`'s rows their `:active` paint back. */
|
|
36
|
+
export declare function releaseMenuPressPaint(menu: HTMLElement): void;
|
|
37
|
+
/** Whether a held finger or pen keeps `menu`'s rows off their `:active` paint. */
|
|
38
|
+
export declare function isMenuPressPaintHeld(menu: HTMLElement): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Compose on a menu row whose `:focus` background is
|
|
41
|
+
* `var(--_menu-row-focus-paint, <hover overlay>)`, and whose `:active`
|
|
42
|
+
* background, if any, is `var(--_menu-row-active-paint, <pressed overlay>)`.
|
|
43
|
+
* The row paints the hover overlay on focus, and the pressed overlay while a
|
|
44
|
+
* held finger or pen lights it.
|
|
45
|
+
* Under a finger, the hover overlay is too faint to follow. The variable has
|
|
46
|
+
* no default: a layered stylesheet emits a default unlayered, and it would
|
|
47
|
+
* beat the attribute arm. The value resolves on the row, so a theme set on any
|
|
48
|
+
* ancestor applies. The style sets only a custom property, which shares no
|
|
49
|
+
* key with StyleX's CSS property type, so TypeScript needs the wider type.
|
|
50
|
+
*/
|
|
51
|
+
export declare const menuPressLitRowStyle: StyleXStyles;
|
|
52
|
+
//# sourceMappingURL=menuPressLit.stylex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuPressLit.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/menuPressLit.stylex.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAMnD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAEnD;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAEpD;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE/D;AA6BD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB,EAAiB,YAAY,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
/**
|
|
3
|
+
* @file privateAttributes/menuPressLit.stylex.ts
|
|
4
|
+
* @input The row that a held finger or pen lights in a menu
|
|
5
|
+
* @output Exports markMenuPressLit and clearMenuPressLit, which mark that row,
|
|
6
|
+
* and isMenuPressLit, which reads the mark. It also exports
|
|
7
|
+
* menuPressLitRowStyle, which paints the marked row. The hold pair,
|
|
8
|
+
* holdMenuPressPaint and releaseMenuPressPaint, keeps the other rows off
|
|
9
|
+
* their pressed paint, and isMenuPressPaintHeld reads that hold.
|
|
10
|
+
* @position Owner module of the private menu-press-lit attribute: the only
|
|
11
|
+
* file that writes its name. The menu press model (hooks/useMenuPress.ts)
|
|
12
|
+
* marks the row; DropdownMenu's rows compose the styles. No package entry
|
|
13
|
+
* exports it.
|
|
14
|
+
*
|
|
15
|
+
* SYNC: Each row that composes menuPressLitRowStyle reads
|
|
16
|
+
* `--_menu-row-focus-paint` in its `:focus` background, and a row with an
|
|
17
|
+
* `:active` background reads `--_menu-row-active-paint` there:
|
|
18
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuItem.tsx
|
|
19
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuCheckboxItem.tsx
|
|
20
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuRadioItem.tsx
|
|
21
|
+
* - /packages/core/src/DropdownMenu/DropdownMenuSubMenu.tsx
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
import * as stylex from '@stylexjs/stylex';
|
|
25
|
+
import "../theme/tokens.stylex.js";
|
|
26
|
+
import { colorVars } from "../theme/tokens.stylex.js";
|
|
27
|
+
const MENU_PRESS_LIT = 'data-astryx-menu-press-lit';
|
|
28
|
+
const ACTIVE_PAINT = '--_menu-row-active-paint';
|
|
29
|
+
|
|
30
|
+
/** Marks `row` as the row that a held finger or pen lights. */
|
|
31
|
+
export function markMenuPressLit(row) {
|
|
32
|
+
row.setAttribute(MENU_PRESS_LIT, '');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** Removes the mark from `row`. */
|
|
36
|
+
export function clearMenuPressLit(row) {
|
|
37
|
+
row.removeAttribute(MENU_PRESS_LIT);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** Whether a held finger or pen lights `row`. */
|
|
41
|
+
export function isMenuPressLit(row) {
|
|
42
|
+
return row.hasAttribute(MENU_PRESS_LIT);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Keeps `menu`'s rows off their `:active` paint while a held finger or pen
|
|
47
|
+
* presses in it. The row the press began on stays `:active` as the press
|
|
48
|
+
* moves on. The lit row keeps the pressed overlay through its own mark.
|
|
49
|
+
*/
|
|
50
|
+
export function holdMenuPressPaint(menu) {
|
|
51
|
+
menu.style.setProperty(ACTIVE_PAINT, 'transparent');
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Gives `menu`'s rows their `:active` paint back. */
|
|
55
|
+
export function releaseMenuPressPaint(menu) {
|
|
56
|
+
menu.style.removeProperty(ACTIVE_PAINT);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Whether a held finger or pen keeps `menu`'s rows off their `:active` paint. */
|
|
60
|
+
export function isMenuPressPaintHeld(menu) {
|
|
61
|
+
return menu.style.getPropertyValue(ACTIVE_PAINT) !== '';
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* A value for each attribute state. The index signature gives StyleX the value
|
|
66
|
+
* type, which it cannot read from a literal attribute key.
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
const litRowPaint = {
|
|
70
|
+
'--_menu-row-focus-paint': {
|
|
71
|
+
default: null,
|
|
72
|
+
'[data-astryx-menu-press-lit]': colorVars['--color-overlay-pressed']
|
|
73
|
+
},
|
|
74
|
+
'--_menu-row-active-paint': {
|
|
75
|
+
default: null,
|
|
76
|
+
'[data-astryx-menu-press-lit]': colorVars['--color-overlay-pressed']
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
const styles = {
|
|
80
|
+
row: {
|
|
81
|
+
"--_menu-row-focus-paint": "x1ar3rj9",
|
|
82
|
+
"--_menu-row-active-paint": "xcukuoe",
|
|
83
|
+
$$css: true
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Compose on a menu row whose `:focus` background is
|
|
89
|
+
* `var(--_menu-row-focus-paint, <hover overlay>)`, and whose `:active`
|
|
90
|
+
* background, if any, is `var(--_menu-row-active-paint, <pressed overlay>)`.
|
|
91
|
+
* The row paints the hover overlay on focus, and the pressed overlay while a
|
|
92
|
+
* held finger or pen lights it.
|
|
93
|
+
* Under a finger, the hover overlay is too faint to follow. The variable has
|
|
94
|
+
* no default: a layered stylesheet emits a default unlayered, and it would
|
|
95
|
+
* beat the attribute arm. The value resolves on the row, so a theme set on any
|
|
96
|
+
* ancestor applies. The style sets only a custom property, which shares no
|
|
97
|
+
* key with StyleX's CSS property type, so TypeScript needs the wider type.
|
|
98
|
+
*/
|
|
99
|
+
export const menuPressLitRowStyle = styles.row;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file privateAttributes/press.stylex.ts
|
|
3
|
+
* @input StyleX, the overlay color tokens, the touch press strength
|
|
4
|
+
* (`pressVars`) and the row layer's clocks (utils/rowPressLayer.stylex.ts)
|
|
5
|
+
* @output `rowPressLayerStyles`, the compositor press layer for list rows
|
|
6
|
+
* (`cell`, `cellOnImage` for a `backgroundImage` row), and
|
|
7
|
+
* `rowPressPaintStyles`, a CheckboxList row's press paint for its box
|
|
8
|
+
* @position Owner module of the private press attribute: the press controller
|
|
9
|
+
* (utils/pressFeedback.ts) writes it, and this file reads it. No package
|
|
10
|
+
* entry exports it. Item, TreeList and CheckboxListItem compose its styles;
|
|
11
|
+
* utils/interactionOverlay.cell.test.ts tests the row layer.
|
|
12
|
+
*/
|
|
13
|
+
import * as stylex from '@stylexjs/stylex';
|
|
14
|
+
export declare const rowPressLayerStyles: Readonly<{
|
|
15
|
+
readonly cell: Readonly<{
|
|
16
|
+
readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", unknown>;
|
|
17
|
+
readonly animationName: stylex.StyleXClassNameFor<"animationName", unknown>;
|
|
18
|
+
readonly isolation: stylex.StyleXClassNameFor<"isolation", "isolate" | null>;
|
|
19
|
+
readonly '::before': stylex.StyleXClassNameFor<"::before", {
|
|
20
|
+
readonly content: {
|
|
21
|
+
readonly default: null;
|
|
22
|
+
readonly "@media (pointer: coarse)": {
|
|
23
|
+
readonly default: null;
|
|
24
|
+
readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
|
|
25
|
+
readonly default: null;
|
|
26
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "\"\"";
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
readonly position: {
|
|
31
|
+
readonly default: null;
|
|
32
|
+
readonly "@media (pointer: coarse)": {
|
|
33
|
+
readonly default: null;
|
|
34
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "absolute";
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
readonly inset: {
|
|
38
|
+
readonly default: null;
|
|
39
|
+
readonly "@media (pointer: coarse)": {
|
|
40
|
+
readonly default: null;
|
|
41
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": 0;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
readonly zIndex: {
|
|
45
|
+
readonly default: null;
|
|
46
|
+
readonly "@media (pointer: coarse)": {
|
|
47
|
+
readonly default: null;
|
|
48
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": -1;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
readonly borderRadius: {
|
|
52
|
+
readonly default: null;
|
|
53
|
+
readonly "@media (pointer: coarse)": {
|
|
54
|
+
readonly default: null;
|
|
55
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "inherit";
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
readonly pointerEvents: {
|
|
59
|
+
readonly default: null;
|
|
60
|
+
readonly "@media (pointer: coarse)": {
|
|
61
|
+
readonly default: null;
|
|
62
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "none";
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
readonly backgroundColor: {
|
|
66
|
+
readonly default: null;
|
|
67
|
+
readonly "@media (pointer: coarse)": {
|
|
68
|
+
readonly default: null;
|
|
69
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": stylex.StyleXVar<"light-dark(#05365919, #FFFFFF19)">;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
readonly opacity: {
|
|
73
|
+
readonly default: null;
|
|
74
|
+
readonly "@media (pointer: coarse)": {
|
|
75
|
+
readonly default: null;
|
|
76
|
+
readonly "[data-astryx-press=\"on\"]": 1;
|
|
77
|
+
readonly "[data-astryx-press=\"fading\"]": 0;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
readonly animationName: {
|
|
81
|
+
readonly default: null;
|
|
82
|
+
readonly "@media (pointer: coarse)": {
|
|
83
|
+
readonly default: null;
|
|
84
|
+
readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
|
|
85
|
+
readonly default: null;
|
|
86
|
+
readonly "[data-astryx-press=\"fading\"]": string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
readonly animationDuration: {
|
|
91
|
+
readonly default: null;
|
|
92
|
+
readonly "@media (pointer: coarse)": {
|
|
93
|
+
readonly default: null;
|
|
94
|
+
readonly "[data-astryx-press=\"fading\"]": {
|
|
95
|
+
readonly default: stylex.StyleXVar<"var(--duration-fast)">;
|
|
96
|
+
readonly "@media (prefers-reduced-motion: reduce)": string;
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
readonly animationTimingFunction: {
|
|
101
|
+
readonly default: null;
|
|
102
|
+
readonly "@media (pointer: coarse)": {
|
|
103
|
+
readonly default: null;
|
|
104
|
+
readonly "[data-astryx-press=\"fading\"]": stylex.StyleXVar<"cubic-bezier(0.3, 0, 0.6, 0.6)">;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
readonly animationFillMode: {
|
|
108
|
+
readonly default: null;
|
|
109
|
+
readonly "@media (pointer: coarse)": {
|
|
110
|
+
readonly default: null;
|
|
111
|
+
readonly "[data-astryx-press=\"fading\"]": "both";
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
}>;
|
|
115
|
+
}>;
|
|
116
|
+
readonly cellWithoutLayer: Readonly<{
|
|
117
|
+
readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", "none">;
|
|
118
|
+
readonly animationName: stylex.StyleXClassNameFor<"animationName", unknown>;
|
|
119
|
+
readonly isolation: stylex.StyleXClassNameFor<"isolation", "auto" | null>;
|
|
120
|
+
readonly '::before': stylex.StyleXClassNameFor<"::before", {
|
|
121
|
+
readonly content: {
|
|
122
|
+
readonly default: null;
|
|
123
|
+
readonly "@media (pointer: coarse)": {
|
|
124
|
+
readonly default: null;
|
|
125
|
+
readonly ":where(:not(:disabled,[aria-disabled=\"true\"]))": {
|
|
126
|
+
readonly default: null;
|
|
127
|
+
readonly ":is([data-astryx-press=\"on\"],[data-astryx-press=\"fading\"])": "none";
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
}>;
|
|
132
|
+
}>;
|
|
133
|
+
readonly cellOnImage: Readonly<{
|
|
134
|
+
readonly backgroundImage: stylex.StyleXClassNameFor<"backgroundImage", string | null>;
|
|
135
|
+
}>;
|
|
136
|
+
}>;
|
|
137
|
+
export declare const rowPressPaintStyles: Readonly<{
|
|
138
|
+
readonly checkboxRow: Readonly<{
|
|
139
|
+
readonly '--_checkbox-row-press-paint': stylex.StyleXClassNameFor<"--_checkbox-row-press-paint", "none" | "var(--_press-paint-image)">;
|
|
140
|
+
}>;
|
|
141
|
+
}>;
|
|
142
|
+
//# sourceMappingURL=press.stylex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"press.stylex.d.ts","sourceRoot":"","sources":["../../src/privateAttributes/press.stylex.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAqD3C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2K9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;EAgB9B,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/* eslint-disable @astryx/no-hover-on-disabled -- Every hover branch is
|
|
4
|
+
* nested beneath ENABLED below, as in interactionOverlay.stylex.ts. */
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @file privateAttributes/press.stylex.ts
|
|
8
|
+
* @input StyleX, the overlay color tokens, the touch press strength
|
|
9
|
+
* (`pressVars`) and the row layer's clocks (utils/rowPressLayer.stylex.ts)
|
|
10
|
+
* @output `rowPressLayerStyles`, the compositor press layer for list rows
|
|
11
|
+
* (`cell`, `cellOnImage` for a `backgroundImage` row), and
|
|
12
|
+
* `rowPressPaintStyles`, a CheckboxList row's press paint for its box
|
|
13
|
+
* @position Owner module of the private press attribute: the press controller
|
|
14
|
+
* (utils/pressFeedback.ts) writes it, and this file reads it. No package
|
|
15
|
+
* entry exports it. Item, TreeList and CheckboxListItem compose its styles;
|
|
16
|
+
* utils/interactionOverlay.cell.test.ts tests the row layer.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import * as stylex from '@stylexjs/stylex';
|
|
20
|
+
import "../theme/tokens.stylex.js";
|
|
21
|
+
import { colorVars, durationVars, easeVars } from "../theme/tokens.stylex.js";
|
|
22
|
+
import "../motion/reducedMotion.stylex.js";
|
|
23
|
+
import { reducedMotionFadeConsts } from "../motion/reducedMotion.stylex.js";
|
|
24
|
+
import "../utils/interactionOverlay.stylex.js";
|
|
25
|
+
import { pressVars } from "../utils/interactionOverlay.stylex.js";
|
|
26
|
+
|
|
27
|
+
// The overlay's arm selectors (interactionOverlay.stylex.ts), restated here:
|
|
28
|
+
// StyleX resolves a style's keys within its own file.
|
|
29
|
+
const ENABLED = ':where(:not(:disabled,[aria-disabled="true"]))';
|
|
30
|
+
const HOVER_HOVER = '@media (hover: hover)';
|
|
31
|
+
const COARSE = '@media (pointer: coarse)';
|
|
32
|
+
const PRESSED_ON = '[data-astryx-press="on"]';
|
|
33
|
+
const PRESSED_FADING = '[data-astryx-press="fading"]';
|
|
34
|
+
/**
|
|
35
|
+
* A press in any of its states: the row layer exists only then, so at rest a
|
|
36
|
+
* row's own `::before` and its stacking are untouched.
|
|
37
|
+
*/
|
|
38
|
+
const PRESSED_ANY = ':is([data-astryx-press="on"],[data-astryx-press="fading"])';
|
|
39
|
+
const PRESS_ALPHA = pressVars['--astryx-press-alpha'];
|
|
40
|
+
const hoverImage = `linear-gradient(${colorVars['--color-overlay-hover']}, ${colorVars['--color-overlay-hover']})`;
|
|
41
|
+
const pressedImage = `linear-gradient(${colorVars['--color-overlay-pressed']}, ${colorVars['--color-overlay-pressed']})`;
|
|
42
|
+
/** The overlay's paint, read back off the element (its gradient layer). */
|
|
43
|
+
const pressedOverlayImage = 'var(--_press-paint-image)';
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The overlay's strength release (interactionOverlay.stylex.ts), restated so
|
|
47
|
+
* a fine pointer keeps it: the same keyframes, so the same animation.
|
|
48
|
+
*/
|
|
49
|
+
const pressRelease = "x10jkm1t-B";
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The row layer's clock as CSS: the strength release's clock, the theme's
|
|
53
|
+
* exit duration, so the layer and the strength land together.
|
|
54
|
+
*/
|
|
55
|
+
const CELL_RELEASE = durationVars['--duration-exit'];
|
|
56
|
+
/** The same clock under Reduce Motion, no longer than the Reduce Motion fade. */
|
|
57
|
+
const CELL_RELEASE_REDUCED = `min(${durationVars['--duration-exit']}, ${reducedMotionFadeConsts.duration})`;
|
|
58
|
+
const REDUCED_MOTION = '@media (prefers-reduced-motion: reduce)';
|
|
59
|
+
|
|
60
|
+
/** Opacity 1 → 0: the row layer leaves; its fading arm runs it. */
|
|
61
|
+
const cellRelease = "x1jn504y-B";
|
|
62
|
+
|
|
63
|
+
/** The release's curve: the theme's exit easing, as the strength's. */
|
|
64
|
+
const RELEASE_EASE = easeVars['--ease-exit'];
|
|
65
|
+
export const rowPressLayerStyles = {
|
|
66
|
+
cell: {
|
|
67
|
+
kKwaWg: "x7ngsy6 x10ogxw0 xubczrd x18xnkjv",
|
|
68
|
+
kKVMdj: "x14e4jsf x6su2wr",
|
|
69
|
+
kHBbk8: "xif6eam",
|
|
70
|
+
kgeoSG: "x1ocadqd",
|
|
71
|
+
kEoFBp: "x1ukh9kf",
|
|
72
|
+
kFcpXp: "xrkptjy",
|
|
73
|
+
kxmVGU: "xjscm90",
|
|
74
|
+
kPB484: "x1kec4ew",
|
|
75
|
+
km8f2m: "x13r5q6d",
|
|
76
|
+
kLkRvE: "x1dn949c",
|
|
77
|
+
k5QlbN: "xw7rim2 xr9xsjc",
|
|
78
|
+
k7EzDT: "x1bxn267",
|
|
79
|
+
kQZAMR: "x1osot8d xbkwwzw",
|
|
80
|
+
kZiNAr: "x10t12yn",
|
|
81
|
+
k8Tatv: "x1dn5vsf",
|
|
82
|
+
$$css: true
|
|
83
|
+
},
|
|
84
|
+
cellWithoutLayer: {
|
|
85
|
+
kKwaWg: "x18o3ruo",
|
|
86
|
+
kKVMdj: "x14e4jsf",
|
|
87
|
+
kHBbk8: "xrqzsdu",
|
|
88
|
+
kgeoSG: "x1995whq",
|
|
89
|
+
$$css: true
|
|
90
|
+
},
|
|
91
|
+
cellOnImage: {
|
|
92
|
+
kKwaWg: "x7uyq82 x3f84ok x7ngsy6 x10ogxw0 xubczrd x18xnkjv xmvprkv xetgvay",
|
|
93
|
+
$$css: true
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
export const rowPressPaintStyles = {
|
|
97
|
+
checkboxRow: {
|
|
98
|
+
"--_checkbox-row-press-paint": "x1ectg7s xbxihhr x18sblwv xvfewc x19dyfww",
|
|
99
|
+
$$css: true
|
|
100
|
+
}
|
|
101
|
+
};
|
|
@@ -45,8 +45,9 @@ export declare const CHARACTER_EASE: {
|
|
|
45
45
|
export declare function resolveMotionKnobs(config: ThemeMotionConfig | undefined): ResolvedMotionKnobs;
|
|
46
46
|
/**
|
|
47
47
|
* The private custom property a theme with a `tempo` writes beside its
|
|
48
|
-
* duration tokens
|
|
49
|
-
*
|
|
48
|
+
* duration tokens, for a style that scales a clock of its own by it
|
|
49
|
+
* (ProgressBar's move). A press release needs none: it plays
|
|
50
|
+
* `--duration-exit`, which already follows the tempo.
|
|
50
51
|
*/
|
|
51
52
|
export declare const MOTION_TEMPO_PROPERTY = "--_astryx-motion-tempo";
|
|
52
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeMotion.d.ts","sourceRoot":"","sources":["../../src/theme/themeMotion.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAC3B,gBAAgB,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIgC,CAAC;AAE5D,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,mBAAmB,CAErB;AAaD
|
|
1
|
+
{"version":3,"file":"themeMotion.d.ts","sourceRoot":"","sources":["../../src/theme/themeMotion.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAoB,KAAK,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAC3B,gBAAgB,GAAG,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;CAIgC,CAAC;AAE5D,kEAAkE;AAClE,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACpC,mBAAmB,CAErB;AAaD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAUlE,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxB;AAED,qDAAqD;AACrD,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D,GAAG,WAAW,CAyCd"}
|
|
@@ -63,8 +63,9 @@ function msOf(value) {
|
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* The private custom property a theme with a `tempo` writes beside its
|
|
66
|
-
* duration tokens
|
|
67
|
-
*
|
|
66
|
+
* duration tokens, for a style that scales a clock of its own by it
|
|
67
|
+
* (ProgressBar's move). A press release needs none: it plays
|
|
68
|
+
* `--duration-exit`, which already follows the tempo.
|
|
68
69
|
*/
|
|
69
70
|
export const MOTION_TEMPO_PROPERTY = '--_astryx-motion-tempo';
|
|
70
71
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import * as stylex from '@stylexjs/stylex';
|
|
17
17
|
export declare const colorDefaults: {
|
|
18
|
-
readonly '--color-accent': "light-dark(#0064E0, #
|
|
18
|
+
readonly '--color-accent': "light-dark(#0064E0, #0171E3)";
|
|
19
19
|
readonly '--color-accent-muted': "light-dark(#0082FB33, #0082FB3F)";
|
|
20
20
|
readonly '--color-on-accent': "light-dark(#FFFFFF, #FFFFFF)";
|
|
21
21
|
readonly '--color-neutral': "light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))";
|
|
@@ -115,7 +115,7 @@ export declare const colorDefaults: {
|
|
|
115
115
|
readonly '--color-text-yellow': "light-dark(#753F07, #FBCE03)";
|
|
116
116
|
};
|
|
117
117
|
export declare const colorVars: stylex.VarGroup<Readonly<{
|
|
118
|
-
readonly '--color-accent': "light-dark(#0064E0, #
|
|
118
|
+
readonly '--color-accent': "light-dark(#0064E0, #0171E3)";
|
|
119
119
|
readonly '--color-accent-muted': "light-dark(#0082FB33, #0082FB3F)";
|
|
120
120
|
readonly '--color-on-accent': "light-dark(#FFFFFF, #FFFFFF)";
|
|
121
121
|
readonly '--color-neutral': "light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))";
|
|
@@ -24,7 +24,7 @@ import * as stylex from '@stylexjs/stylex';
|
|
|
24
24
|
|
|
25
25
|
export const colorDefaults = {
|
|
26
26
|
// Core semantic
|
|
27
|
-
'--color-accent': 'light-dark(#0064E0, #
|
|
27
|
+
'--color-accent': 'light-dark(#0064E0, #0171E3)',
|
|
28
28
|
'--color-accent-muted': 'light-dark(#0082FB33, #0082FB3F)',
|
|
29
29
|
'--color-on-accent': 'light-dark(#FFFFFF, #FFFFFF)',
|
|
30
30
|
'--color-neutral': 'light-dark(rgba(5, 54, 89, 0.1), rgba(223, 226, 229, 0.2))',
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file calendarDateParser.ts
|
|
3
|
+
* @input Date text, locale, calendar; Intl, calendarSystem, unicodeDigits
|
|
4
|
+
* @output Cached per-locale lexicons, a typed-date parser with distinct rejection
|
|
5
|
+
* kinds, committed display text, the format hint, and calendar display names
|
|
6
|
+
* @position Core utility; used by DateInput and DateTimeInput through useTypedDate
|
|
7
|
+
*
|
|
8
|
+
* SYNC: When modified, update:
|
|
9
|
+
* - /packages/core/src/utils/calendarDateParser.test.ts
|
|
10
|
+
* - /packages/core/src/utils/calendarDateParser.roundtrip.test.ts
|
|
11
|
+
*/
|
|
12
|
+
import type { PlainDate } from './dateTypes.js';
|
|
13
|
+
import type { Locale } from '../i18n/types.js';
|
|
14
|
+
import { type CalendarSystem } from './calendarSystem.js';
|
|
15
|
+
import { type SharedDateFormat } from './plainDate.js';
|
|
16
|
+
/** How a typed text reads in a calendar. */
|
|
17
|
+
export type CalendarDateParseResult = {
|
|
18
|
+
readonly kind: 'empty';
|
|
19
|
+
}
|
|
20
|
+
/** Part of a date: nothing to report yet. */
|
|
21
|
+
| {
|
|
22
|
+
readonly kind: 'incomplete';
|
|
23
|
+
}
|
|
24
|
+
/** Text that cannot become a date. */
|
|
25
|
+
| {
|
|
26
|
+
readonly kind: 'unreadable';
|
|
27
|
+
}
|
|
28
|
+
/** A readable date that the calendar does not have. */
|
|
29
|
+
| {
|
|
30
|
+
readonly kind: 'nonexistent';
|
|
31
|
+
readonly isComplete: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** A date that the constraints reject. */
|
|
34
|
+
| {
|
|
35
|
+
readonly kind: 'outOfRange';
|
|
36
|
+
readonly date: PlainDate;
|
|
37
|
+
readonly isComplete: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A date. `isComplete` is true when more typing cannot change its meaning,
|
|
41
|
+
* so a field may report it while the person types.
|
|
42
|
+
*/
|
|
43
|
+
| {
|
|
44
|
+
readonly kind: 'value';
|
|
45
|
+
readonly date: PlainDate;
|
|
46
|
+
readonly isComplete: boolean;
|
|
47
|
+
};
|
|
48
|
+
export interface CalendarDateParseOptions {
|
|
49
|
+
/** The Gregorian date that two-digit and omitted years resolve against. */
|
|
50
|
+
readonly today?: PlainDate;
|
|
51
|
+
/** Reads ISO-shaped text as a Gregorian ISO date, as `system_date` shows. */
|
|
52
|
+
readonly isoIsGregorian?: boolean;
|
|
53
|
+
/** Returns true for a date that may not be chosen. */
|
|
54
|
+
readonly isDateDisabled?: (date: PlainDate) => boolean;
|
|
55
|
+
}
|
|
56
|
+
type DateField = 'year' | 'month' | 'day';
|
|
57
|
+
interface EraArithmetic {
|
|
58
|
+
/** The Gregorian year before era year 1, or after it for a backward era. */
|
|
59
|
+
readonly base: number;
|
|
60
|
+
readonly isForward: boolean;
|
|
61
|
+
}
|
|
62
|
+
/** What a locale writes for one calendar, learned from Intl. */
|
|
63
|
+
export interface CalendarDateLexicon {
|
|
64
|
+
readonly locale: Locale;
|
|
65
|
+
readonly calendar: CalendarSystem;
|
|
66
|
+
readonly order: ReadonlyArray<DateField>;
|
|
67
|
+
readonly nameOrder: ReadonlyArray<DateField>;
|
|
68
|
+
readonly months: ReadonlyMap<string, ReadonlySet<string>>;
|
|
69
|
+
readonly monthTemplates: ReadonlyArray<MonthTemplate>;
|
|
70
|
+
readonly leapMarkers: ReadonlySet<string>;
|
|
71
|
+
readonly eras: ReadonlyMap<string, string>;
|
|
72
|
+
readonly yearAliases: ReadonlyMap<string, string>;
|
|
73
|
+
readonly trailers: ReadonlySet<string>;
|
|
74
|
+
readonly yearMarkers: ReadonlySet<string>;
|
|
75
|
+
readonly separators: ReadonlySet<string>;
|
|
76
|
+
readonly weekdays: ReadonlySet<string>;
|
|
77
|
+
readonly vocabulary: ReadonlyArray<string>;
|
|
78
|
+
readonly vocabularySet: ReadonlySet<string>;
|
|
79
|
+
readonly isNumericMonthOrdinal: boolean;
|
|
80
|
+
readonly eraArithmetic: ReadonlyMap<string, EraArithmetic>;
|
|
81
|
+
}
|
|
82
|
+
interface MonthTemplate {
|
|
83
|
+
readonly pre: string;
|
|
84
|
+
readonly post: string;
|
|
85
|
+
readonly isLeap: boolean;
|
|
86
|
+
}
|
|
87
|
+
/** Text in one comparable form: ASCII digits, lower case, no Latin accents. */
|
|
88
|
+
export declare function normalizeDateText(text: string, locale: Locale): string;
|
|
89
|
+
/**
|
|
90
|
+
* The lexicon for a locale and calendar, built on first use and cached.
|
|
91
|
+
* Building one formats a few hundred dates; call it when a field gains focus.
|
|
92
|
+
*/
|
|
93
|
+
export declare function getCalendarDateLexicon(locale: Locale, calendar: CalendarSystem): CalendarDateLexicon;
|
|
94
|
+
/**
|
|
95
|
+
* Reads typed text as a date in the lexicon's calendar. Values are Gregorian.
|
|
96
|
+
* The result tells an empty field, part of a date, unreadable text, a date the
|
|
97
|
+
* calendar does not have, a date out of range, and a date apart.
|
|
98
|
+
*/
|
|
99
|
+
export declare function parseCalendarDate(text: string, lex: CalendarDateLexicon, options?: CalendarDateParseOptions): CalendarDateParseResult;
|
|
100
|
+
/**
|
|
101
|
+
* The committed text of a date field in a calendar. Gregorian text is the
|
|
102
|
+
* shared Timestamp date text; `system_date` is always the ISO date.
|
|
103
|
+
*/
|
|
104
|
+
export declare function formatCalendarDateText(pd: PlainDate, format: SharedDateFormat, locale: Locale, calendar: CalendarSystem): string;
|
|
105
|
+
/** An example date in the calendar's numeric pattern, with its era. */
|
|
106
|
+
export declare function formatCalendarDateHint(pd: PlainDate, locale: Locale, calendar: CalendarSystem): string;
|
|
107
|
+
/** The calendar's name in the locale, such as "Persian Calendar". */
|
|
108
|
+
export declare function calendarDisplayName(calendar: CalendarSystem, locale: Locale): string;
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=calendarDateParser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendarDateParser.d.ts","sourceRoot":"","sources":["../../src/utils/calendarDateParser.ts"],"names":[],"mappings":"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"}
|