@astryxdesign/core 0.4.7 → 0.5.0-canary.009bcb3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +161 -1
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +45 -20
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +3 -2
- package/dist/AspectRatio/AspectRatio.d.ts +24 -0
- package/dist/AspectRatio/AspectRatio.d.ts.map +1 -1
- package/dist/AspectRatio/AspectRatio.js +23 -4
- package/dist/Avatar/Avatar.d.ts +25 -1
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +58 -19
- package/dist/Avatar/index.d.ts +2 -2
- package/dist/Avatar/index.d.ts.map +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts +9 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +8 -4
- package/dist/AvatarGroup/AvatarGroupContext.d.ts +2 -1
- package/dist/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +10 -6
- package/dist/Banner/Banner.d.ts +49 -15
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +62 -20
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +17 -4
- package/dist/BottomSheet/BottomSheetSwitcher.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetSwitcher.js +3 -2
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +11 -10
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +11 -6
- package/dist/ButtonGroup/ButtonGroup.d.ts +5 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +26 -7
- package/dist/Calendar/Calendar.d.ts +7 -3
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +21 -23
- package/dist/Calendar/getInitialFocusDate.d.ts +46 -0
- package/dist/Calendar/getInitialFocusDate.d.ts.map +1 -0
- package/dist/Calendar/getInitialFocusDate.js +62 -0
- package/dist/Calendar/styles.d.ts +5 -14
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +15 -15
- package/dist/Card/Card.d.ts +12 -12
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +17 -9
- package/dist/Card/index.d.ts +35 -1
- package/dist/Card/index.d.ts.map +1 -1
- package/dist/Card/index.js +21 -1
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +3 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +2 -3
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +3 -3
- package/dist/Chat/ChatMessageList.d.ts +22 -3
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +6 -3
- package/dist/Chat/ChatTokenizedText.d.ts +2 -0
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +11 -6
- package/dist/Chat/useChatComposerTokens.js +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +10 -3
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +3 -3
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +15 -4
- package/dist/CodeBlock/highlightRanges.js +1 -1
- package/dist/CodeBlock/highlightStyles.js +13 -13
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +3 -2
- package/dist/CommandPalette/CommandPaletteItem.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteItem.js +3 -2
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +1 -3
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +4 -3
- package/dist/DateInput/DateInput.d.ts +43 -0
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +22 -2
- package/dist/DateInput/NativeDateField.d.ts +10 -0
- package/dist/DateInput/NativeDateField.d.ts.map +1 -0
- package/dist/DateInput/NativeDateField.js +494 -0
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +82 -23
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.d.ts.map +1 -1
- package/dist/DateInput/nativeDateSegments.d.ts +22 -0
- package/dist/DateInput/nativeDateSegments.d.ts.map +1 -0
- package/dist/DateInput/nativeDateSegments.js +111 -0
- package/dist/DateRangeInput/DateRangeInput.d.ts +4 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts +21 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +406 -12
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.d.ts +21 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +110 -58
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +4 -13
- package/dist/DropdownMenu/DropdownMenuSubMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuSubMenu.js +6 -5
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +9 -1
- package/dist/Field/InputClearButton.d.ts +9 -3
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +14 -3
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +3 -2
- package/dist/Heading/Heading.d.ts.map +1 -1
- package/dist/Heading/Heading.js +6 -3
- package/dist/HoverCard/HoverCard.d.ts +6 -0
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +104 -3
- package/dist/HoverCard/useHoverCard.d.ts +19 -2
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +74 -26
- package/dist/Indicator/CheckboxIndicator.d.ts.map +1 -1
- package/dist/Indicator/CheckboxIndicator.js +6 -2
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +4 -2
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +2 -19
- package/dist/Layer/LayerDepthContext.d.ts +52 -0
- package/dist/Layer/LayerDepthContext.d.ts.map +1 -0
- package/dist/Layer/LayerDepthContext.js +66 -0
- package/dist/Layer/gestureCounter.d.ts +8 -0
- package/dist/Layer/gestureCounter.d.ts.map +1 -0
- package/dist/Layer/gestureCounter.js +53 -0
- package/dist/Layer/index.d.ts +3 -0
- package/dist/Layer/index.d.ts.map +1 -1
- package/dist/Layer/index.js +4 -0
- package/dist/Layer/layerStack.d.ts +98 -0
- package/dist/Layer/layerStack.d.ts.map +1 -0
- package/dist/Layer/layerStack.js +306 -0
- package/dist/Layer/useLayer.d.ts +23 -13
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +128 -8
- package/dist/Layer/useLayerDismissal.d.ts +93 -0
- package/dist/Layer/useLayerDismissal.d.ts.map +1 -0
- package/dist/Layer/useLayerDismissal.js +91 -0
- package/dist/Lightbox/Lightbox.d.ts +1 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +103 -81
- package/dist/List/List.d.ts +1 -1
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +15 -4
- package/dist/Markdown/Markdown.d.ts +1 -1
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +20 -7
- package/dist/Markdown/index.d.ts +1 -1
- package/dist/Markdown/index.d.ts.map +1 -1
- package/dist/Markdown/parser.d.ts +38 -1
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +182 -32
- package/dist/MetadataList/MetadataListItem.d.ts +1 -1
- package/dist/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/MetadataList/MetadataListItem.js +4 -1
- package/dist/MobileNav/MobileNav.d.ts +6 -1
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +61 -36
- package/dist/MultiSelector/MultiSelector.d.ts +32 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +73 -15
- package/dist/MultiSelector/hooks.d.ts +7 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +3 -2
- package/dist/MultiSelector/index.d.ts +1 -1
- package/dist/MultiSelector/index.d.ts.map +1 -1
- package/dist/NavIcon/NavIcon.d.ts.map +1 -1
- package/dist/NavIcon/NavIcon.js +5 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts +1 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +9 -5
- package/dist/NumberInput/NumberInput.d.ts +6 -1
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +54 -104
- package/dist/NumberInput/numberInputCommit.d.ts +34 -0
- package/dist/NumberInput/numberInputCommit.d.ts.map +1 -0
- package/dist/NumberInput/numberInputCommit.js +71 -0
- package/dist/NumberInput/numberParser.d.ts +64 -0
- package/dist/NumberInput/numberParser.d.ts.map +1 -0
- package/dist/NumberInput/numberParser.js +350 -0
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +3 -2
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +3 -2
- package/dist/Overlay/Overlay.d.ts.map +1 -1
- package/dist/Overlay/Overlay.js +3 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +1 -9
- package/dist/Popover/usePopover.d.ts +7 -41
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +40 -21
- package/dist/PowerSearch/PowerSearch.d.ts +8 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +19 -6
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +28 -6
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts +3 -1
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +110 -27
- package/dist/PowerSearch/types.d.ts +2 -0
- package/dist/PowerSearch/types.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts +6 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/PowerSearch/usePowerSearchSource.js +14 -5
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +18 -5
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +3 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +3 -2
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +12 -3
- package/dist/Selector/Selector.d.ts +18 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +91 -18
- package/dist/Selector/hooks.d.ts +7 -1
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +3 -2
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +4 -3
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +8 -7
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +4 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +37 -5
- package/dist/Spinner/Spinner.d.ts +3 -3
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +130 -78
- package/dist/StatusDot/StatusDot.d.ts.map +1 -1
- package/dist/StatusDot/StatusDot.js +6 -1
- package/dist/Stepper/Step.d.ts +140 -0
- package/dist/Stepper/Step.d.ts.map +1 -0
- package/dist/Stepper/Step.js +1045 -0
- package/dist/Stepper/StepStatus.d.ts +24 -0
- package/dist/Stepper/StepStatus.d.ts.map +1 -0
- package/dist/Stepper/StepStatus.js +1 -0
- package/dist/Stepper/Stepper.d.ts +93 -0
- package/dist/Stepper/Stepper.d.ts.map +1 -0
- package/dist/Stepper/Stepper.js +184 -0
- package/dist/Stepper/StepperContext.d.ts +41 -0
- package/dist/Stepper/StepperContext.d.ts.map +1 -0
- package/dist/Stepper/StepperContext.js +34 -0
- package/dist/Stepper/index.d.ts +8 -0
- package/dist/Stepper/index.d.ts.map +1 -0
- package/dist/Stepper/index.js +7 -0
- package/dist/Stepper/stepper.stylex.d.ts +15 -0
- package/dist/Stepper/stepper.stylex.d.ts.map +1 -0
- package/dist/Stepper/stepper.stylex.js +20 -0
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +8 -3
- package/dist/TabList/Tab.d.ts +15 -2
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +32 -7
- package/dist/TabList/TabList.d.ts +46 -7
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +353 -23
- package/dist/TabList/TabListContext.d.ts +11 -1
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +11 -2
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +3 -2
- package/dist/TabList/index.d.ts +2 -2
- package/dist/TabList/index.d.ts.map +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +10 -2
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +3 -6
- package/dist/Table/TableRow.d.ts +16 -5
- package/dist/Table/TableRow.d.ts.map +1 -1
- package/dist/Table/TableRow.js +16 -5
- package/dist/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/Table/plugins/filtering/useTableFiltering.js +73 -4
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts +26 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.js +54 -11
- package/dist/Table/plugins/pagination/useTablePagination.d.ts +3 -0
- package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +21 -4
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +7 -2
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -1
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +10 -3
- package/dist/Table/plugins/selection/useTableSelection.d.ts +16 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +43 -5
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.d.ts.map +1 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +3 -4
- package/dist/Table/types.d.ts +22 -4
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +5 -0
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +6 -3
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +16 -10
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +3 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +3 -2
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +15 -21
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +22 -7
- package/dist/Toast/ToastViewport.d.ts +1 -0
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +71 -18
- package/dist/Token/Token.d.ts +1 -1
- package/dist/Token/Token.d.ts.map +1 -1
- package/dist/Token/Token.js +20 -9
- package/dist/Token/TokenLink.d.ts +1 -1
- package/dist/Token/TokenLink.d.ts.map +1 -1
- package/dist/Token/TokenLink.js +7 -4
- package/dist/Tokenizer/Tokenizer.d.ts +14 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +33 -21
- package/dist/Tooltip/Tooltip.d.ts +5 -0
- package/dist/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.d.ts +5 -0
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +39 -24
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +5 -4
- package/dist/TopNav/TopNavMegaMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenu.js +31 -11
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +22 -7
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +7 -2
- package/dist/Typeahead/BaseTypeahead.d.ts +35 -0
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +119 -37
- package/dist/Typeahead/Typeahead.d.ts +8 -1
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +5 -2
- package/dist/Typeahead/TypeaheadItem.d.ts +1 -1
- package/dist/Typeahead/TypeaheadItem.d.ts.map +1 -1
- package/dist/Typeahead/TypeaheadItem.js +7 -2
- package/dist/astryx.css +113 -11
- 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/useFocusTrap.d.ts +7 -4
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +60 -95
- package/dist/hooks/useHotkeys.d.ts.map +1 -1
- package/dist/hooks/useHotkeys.js +3 -18
- package/dist/hooks/useMergedRefs.d.ts +18 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +25 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +46 -10
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +24 -4
- package/dist/theme/generateThemeRules.d.ts +21 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +26 -0
- package/dist/theme/syntax/tokens.d.ts +1 -1
- package/dist/theme/syntax/tokens.d.ts.map +1 -1
- package/dist/theme/syntax/tokens.js +5 -2
- package/dist/utils/groupItems.d.ts +5 -1
- package/dist/utils/groupItems.d.ts.map +1 -1
- package/dist/utils/groupItems.js +9 -9
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/isApplePlatform.d.ts +18 -0
- package/dist/utils/isApplePlatform.d.ts.map +1 -0
- package/dist/utils/isApplePlatform.js +37 -0
- package/dist/utils/sharedResizeObserver.d.ts.map +1 -1
- package/dist/utils/sharedResizeObserver.js +10 -1
- package/dist/utils/timeParser.d.ts +1 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +26 -12
- package/locales/af-ZA.json +6 -6
- package/locales/ar-SA.json +6 -6
- package/locales/ca-ES.json +5 -5
- package/locales/cs-CZ.json +6 -6
- package/locales/da-DK.json +6 -6
- package/locales/de-DE.json +6 -6
- package/locales/el-GR.json +6 -6
- package/locales/en.json +163 -11
- package/locales/es-ES.json +5 -5
- package/locales/fi-FI.json +6 -6
- package/locales/fr-FR.json +6 -6
- package/locales/he-IL.json +6 -6
- package/locales/hu-HU.json +6 -6
- package/locales/it-IT.json +6 -6
- package/locales/ja-JP.json +6 -6
- package/locales/ko-KR.json +6 -6
- package/locales/nl-NL.json +6 -6
- package/locales/no-NO.json +6 -6
- package/locales/pl-PL.json +6 -6
- package/locales/pseudo.json +114 -0
- package/locales/pt-BR.json +6 -6
- package/locales/pt-PT.json +6 -6
- package/locales/ro-RO.json +6 -6
- package/locales/ru-RU.json +6 -6
- package/locales/sr-SP.json +6 -6
- package/locales/sv-SE.json +6 -6
- package/locales/tr-TR.json +6 -6
- package/locales/uk-UA.json +6 -6
- package/locales/vi-VN.json +6 -6
- package/locales/zh-CN.json +6 -6
- package/locales/zh-TW.json +6 -6
- package/package.json +8 -3
- package/src/AlertDialog/AlertDialog.doc.mjs +114 -30
- package/src/AlertDialog/AlertDialog.test.tsx +211 -2
- package/src/AlertDialog/AlertDialog.tsx +62 -20
- package/src/AppShell/AppShell.tsx +3 -2
- package/src/AspectRatio/AspectRatio.doc.mjs +6 -3
- package/src/AspectRatio/AspectRatio.test.tsx +57 -10
- package/src/AspectRatio/AspectRatio.tsx +40 -1
- package/src/Avatar/Avatar.doc.mjs +14 -3
- package/src/Avatar/Avatar.test.tsx +97 -0
- package/src/Avatar/Avatar.tsx +125 -52
- package/src/Avatar/index.ts +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +8 -2
- package/src/AvatarGroup/AvatarGroup.test.tsx +24 -0
- package/src/AvatarGroup/AvatarGroup.tsx +15 -6
- package/src/AvatarGroup/AvatarGroupContext.ts +5 -3
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +10 -4
- package/src/Banner/Banner.doc.mjs +22 -11
- package/src/Banner/Banner.test.tsx +177 -25
- package/src/Banner/Banner.tsx +93 -27
- package/src/BottomSheet/BottomSheet.test.tsx +123 -0
- package/src/BottomSheet/BottomSheet.tsx +17 -4
- package/src/BottomSheet/BottomSheetSwitcher.tsx +3 -2
- package/src/Breadcrumbs/BreadcrumbItem.tsx +9 -5
- package/src/Button/Button.doc.mjs +24 -1
- package/src/Button/Button.test.tsx +32 -4
- package/src/Button/Button.tsx +12 -5
- package/src/ButtonGroup/ButtonGroup.doc.mjs +10 -1
- package/src/ButtonGroup/ButtonGroup.test.tsx +404 -1
- package/src/ButtonGroup/ButtonGroup.tsx +23 -5
- package/src/Calendar/Calendar.doc.mjs +7 -6
- package/src/Calendar/Calendar.test.tsx +143 -0
- package/src/Calendar/Calendar.tsx +30 -26
- package/src/Calendar/getInitialFocusDate.test.ts +94 -0
- package/src/Calendar/getInitialFocusDate.ts +93 -0
- package/src/Calendar/styles.ts +49 -31
- package/src/Card/Card.doc.mjs +10 -7
- package/src/Card/Card.test.tsx +113 -19
- package/src/Card/Card.tsx +67 -89
- package/src/Card/index.ts +36 -1
- package/src/Carousel/Carousel.tsx +3 -2
- package/src/Chat/ChatComposerInput.tsx +5 -1
- package/src/Chat/ChatLayout.tsx +3 -2
- package/src/Chat/ChatMessageList.doc.mjs +9 -1
- package/src/Chat/ChatMessageList.test.tsx +46 -0
- package/src/Chat/ChatMessageList.tsx +28 -4
- package/src/Chat/ChatTokenizedText.tsx +17 -10
- package/src/Chat/useChatComposerTokens.ts +1 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +2 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +15 -0
- package/src/CheckboxInput/CheckboxInput.tsx +8 -2
- package/src/ClickableCard/ClickableCard.tsx +3 -2
- package/src/CodeBlock/CodeBlock.doc.mjs +16 -4
- package/src/CodeBlock/CodeBlock.test.tsx +37 -0
- package/src/CodeBlock/CodeBlock.tsx +20 -4
- package/src/CodeBlock/highlightRanges.ts +1 -1
- package/src/CodeBlock/highlightStyles.ts +13 -13
- package/src/CommandPalette/CommandPaletteInput.tsx +3 -2
- package/src/CommandPalette/CommandPaletteItem.tsx +3 -2
- package/src/ComplexSelector/ComplexSelector.test.tsx +32 -0
- package/src/ComplexSelector/ComplexSelector.tsx +1 -3
- package/src/ContextMenu/ContextMenu.doc.mjs +5 -0
- package/src/ContextMenu/ContextMenu.tsx +4 -3
- package/src/DateInput/DateInput.doc.mjs +16 -0
- package/src/DateInput/DateInput.tsx +55 -2
- package/src/DateInput/DateInputTouch.test.tsx +146 -32
- package/src/DateInput/NativeDateField.test.tsx +635 -0
- package/src/DateInput/NativeDateField.tsx +641 -0
- package/src/DateInput/TouchDateField.tsx +108 -24
- package/src/DateInput/index.ts +1 -0
- package/src/DateInput/nativeDateSegments.ts +127 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +2 -2
- package/src/DateRangeInput/DateRangeInput.test.tsx +22 -0
- package/src/DateRangeInput/DateRangeInput.tsx +4 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +18 -0
- package/src/DateTimeInput/DateTimeInput.test.tsx +1088 -0
- package/src/DateTimeInput/DateTimeInput.tsx +556 -24
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/Dialog.doc.mjs +8 -3
- package/src/Dialog/Dialog.test.tsx +429 -2
- package/src/Dialog/Dialog.tsx +133 -58
- package/src/DropdownMenu/DropdownMenu.doc.mjs +6 -0
- package/src/DropdownMenu/DropdownMenu.test.tsx +44 -10
- package/src/DropdownMenu/DropdownMenu.tsx +4 -13
- package/src/DropdownMenu/DropdownMenuSubMenu.test.tsx +8 -5
- package/src/DropdownMenu/DropdownMenuSubMenu.tsx +8 -11
- package/src/Field/Field.doc.mjs +13 -2
- package/src/Field/FieldLabel.test.tsx +29 -0
- package/src/Field/FieldLabel.tsx +7 -0
- package/src/Field/InputClearButton.test.tsx +15 -1
- package/src/Field/InputClearButton.tsx +28 -4
- package/src/FileInput/FileInput.tsx +3 -2
- package/src/Heading/Heading.test.tsx +23 -1
- package/src/Heading/Heading.tsx +6 -3
- package/src/HoverCard/HoverCard.doc.mjs +13 -2
- package/src/HoverCard/HoverCard.test.tsx +154 -4
- package/src/HoverCard/HoverCard.tsx +143 -3
- package/src/HoverCard/useHoverCard.tsx +104 -33
- package/src/Indicator/CheckboxIndicator.tsx +14 -8
- package/src/Indicator/Indicator.doc.mjs +2 -0
- package/src/Item/Item.tsx +5 -4
- package/src/Kbd/Kbd.tsx +2 -19
- package/src/Layer/LayerDepthContext.tsx +62 -0
- package/src/Layer/gestureCounter.ts +57 -0
- package/src/Layer/index.ts +9 -0
- package/src/Layer/layerDismissalFamilies.test.tsx +359 -0
- package/src/Layer/layerDismissalInvariants.test.tsx +417 -0
- package/src/Layer/layerStack.ts +362 -0
- package/src/Layer/useLayer.test.tsx +324 -15
- package/src/Layer/useLayer.tsx +164 -8
- package/src/Layer/useLayerDismissal.test.tsx +469 -0
- package/src/Layer/useLayerDismissal.ts +173 -0
- package/src/Layout/Layout.doc.mjs +2 -2
- package/src/Layout/__tests__/edgeCompensation.test.tsx +1 -1
- package/src/Lightbox/Lightbox.doc.mjs +12 -0
- package/src/Lightbox/Lightbox.tsx +124 -102
- package/src/Link/Link.doc.mjs +39 -0
- package/src/List/List.test.tsx +38 -0
- package/src/List/List.tsx +8 -1
- package/src/Markdown/Markdown.doc.mjs +5 -0
- package/src/Markdown/Markdown.test.tsx +37 -0
- package/src/Markdown/Markdown.tsx +16 -5
- package/src/Markdown/incremental.test.ts +16 -2
- package/src/Markdown/index.ts +1 -0
- package/src/Markdown/parser.perf.test.ts +96 -1
- package/src/Markdown/parser.test.ts +178 -2
- package/src/Markdown/parser.ts +253 -32
- package/src/MetadataList/MetadataList.test.tsx +75 -2
- package/src/MetadataList/MetadataListItem.tsx +5 -2
- package/src/MobileNav/MobileNav.tsx +62 -36
- package/src/MoreMenu/MoreMenu.doc.mjs +7 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +49 -1
- package/src/MultiSelector/MultiSelector.test.tsx +311 -0
- package/src/MultiSelector/MultiSelector.tsx +151 -15
- package/src/MultiSelector/hooks.ts +9 -2
- package/src/MultiSelector/index.ts +1 -0
- package/src/NavIcon/NavIcon.doc.mjs +8 -2
- package/src/NavIcon/NavIcon.test.tsx +9 -0
- package/src/NavIcon/NavIcon.tsx +5 -1
- package/src/NavMenu/NavHeadingMenu.test.tsx +30 -0
- package/src/NavMenu/NavHeadingMenu.tsx +9 -5
- package/src/NumberInput/NumberInput.doc.mjs +31 -7
- package/src/NumberInput/NumberInput.test.tsx +436 -8
- package/src/NumberInput/NumberInput.tsx +62 -114
- package/src/NumberInput/numberInputCommit.test.ts +72 -0
- package/src/NumberInput/numberInputCommit.ts +103 -0
- package/src/NumberInput/numberParser.docblock.test.ts +234 -0
- package/src/NumberInput/numberParser.test.ts +222 -0
- package/src/NumberInput/numberParser.ts +403 -0
- package/src/Outline/Outline.tsx +3 -2
- package/src/OverflowList/OverflowList.tsx +3 -2
- package/src/Overlay/Overlay.tsx +3 -2
- package/src/Pagination/Pagination.test.tsx +3 -2
- package/src/Popover/Popover.test.tsx +14 -0
- package/src/Popover/Popover.tsx +1 -9
- package/src/Popover/usePopover.tsx +57 -32
- package/src/PowerSearch/PowerSearch.doc.mjs +160 -28
- package/src/PowerSearch/PowerSearch.test.tsx +240 -1
- package/src/PowerSearch/PowerSearch.tsx +34 -5
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +288 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +29 -2
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +111 -1
- package/src/PowerSearch/PowerSearchValueEditor.tsx +124 -10
- package/src/PowerSearch/types.ts +2 -0
- package/src/PowerSearch/usePowerSearchSource.test.ts +82 -2
- package/src/PowerSearch/usePowerSearchSource.ts +13 -3
- package/src/ProgressBar/ProgressBar.doc.mjs +42 -6
- package/src/ProgressBar/ProgressBar.test.tsx +24 -0
- package/src/ProgressBar/ProgressBar.tsx +28 -8
- package/src/Resizable/ResizeHandle.tsx +3 -2
- package/src/SegmentedControl/SegmentedControl.tsx +3 -2
- package/src/SelectableCard/SelectableCard.doc.mjs +3 -0
- package/src/SelectableCard/SelectableCard.tsx +19 -2
- package/src/Selector/Selector.doc.mjs +26 -1
- package/src/Selector/Selector.test.tsx +346 -1
- package/src/Selector/Selector.tsx +148 -21
- package/src/Selector/hooks.ts +17 -2
- package/src/SideNav/SideNav.doc.mjs +6 -6
- package/src/SideNav/SideNav.tsx +4 -2
- package/src/SideNav/SideNavHeading.tsx +12 -12
- package/src/SideNav/SideNavItem.tsx +4 -2
- package/src/Slider/Slider.test.tsx +106 -1
- package/src/Slider/Slider.tsx +55 -3
- package/src/Spinner/Spinner.test.tsx +147 -1
- package/src/Spinner/Spinner.tsx +120 -101
- package/src/StatusDot/StatusDot.doc.mjs +8 -2
- package/src/StatusDot/StatusDot.test.tsx +9 -0
- package/src/StatusDot/StatusDot.tsx +7 -1
- package/src/Stepper/Step.doc.mjs +98 -0
- package/src/Stepper/Step.tsx +1638 -0
- package/src/Stepper/StepStatus.ts +26 -0
- package/src/Stepper/Stepper.doc.mjs +370 -0
- package/src/Stepper/Stepper.test.tsx +1024 -0
- package/src/Stepper/Stepper.tsx +258 -0
- package/src/Stepper/StepperContext.ts +71 -0
- package/src/Stepper/index.ts +18 -0
- package/src/Stepper/stepper.stylex.ts +19 -0
- package/src/Switch/Switch.doc.mjs +2 -0
- package/src/Switch/Switch.test.tsx +10 -0
- package/src/Switch/Switch.tsx +6 -2
- package/src/TabList/Tab.doc.mjs +13 -1
- package/src/TabList/Tab.tsx +67 -7
- package/src/TabList/TabList.doc.mjs +22 -6
- package/src/TabList/TabList.test.tsx +559 -0
- package/src/TabList/TabList.tsx +490 -22
- package/src/TabList/TabListContext.ts +13 -2
- package/src/TabList/TabMenu.tsx +3 -2
- package/src/TabList/index.ts +6 -2
- package/src/Table/BaseTable.tsx +12 -4
- package/src/Table/Table.doc.mjs +9 -2
- package/src/Table/Table.test.tsx +132 -14
- package/src/Table/Table.tsx +3 -8
- package/src/Table/TableBody.doc.mjs +40 -0
- package/src/Table/TableFooter.doc.mjs +40 -0
- package/src/Table/TableHeader.doc.mjs +40 -0
- package/src/Table/TableRow.tsx +16 -5
- package/src/Table/plugins/filtering/useTableFiltering.test.tsx +44 -6
- package/src/Table/plugins/filtering/useTableFiltering.tsx +100 -4
- package/src/Table/plugins/groupedRows/useTableGroupedRows-perf.test.tsx +112 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.test.tsx +100 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +67 -12
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +34 -4
- package/src/Table/plugins/pagination/useTablePagination.tsx +35 -3
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +9 -2
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +13 -7
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +12 -3
- package/src/Table/plugins/selection/useTableSelection.test.tsx +138 -0
- package/src/Table/plugins/selection/useTableSelection.tsx +63 -7
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -2
- package/src/Table/types.ts +22 -4
- package/src/Table/useBaseTablePlugins.ts +5 -0
- package/src/Table/useTableGroupedRows.doc.mjs +5 -4
- package/src/Table/useTablePagination.doc.mjs +7 -0
- package/src/Table/useTableRowStatus.doc.mjs +1 -1
- package/src/Table/useTableSelection.doc.mjs +31 -0
- package/src/Text/Text.test.tsx +67 -1
- package/src/Text/Text.tsx +6 -3
- package/src/TextArea/TextArea.doc.mjs +12 -2
- package/src/TextArea/TextArea.test.tsx +11 -0
- package/src/TextArea/TextArea.tsx +37 -24
- package/src/TextInput/TextInput.doc.mjs +10 -0
- package/src/TextInput/TextInput.tsx +3 -2
- package/src/Thumbnail/Thumbnail.doc.mjs +1 -1
- package/src/TimeInput/TimeInput.tsx +2 -2
- package/src/Timestamp/Timestamp.test.tsx +58 -0
- package/src/Timestamp/Timestamp.tsx +12 -10
- package/src/Toast/Toast.doc.mjs +26 -12
- package/src/Toast/Toast.tsx +28 -4
- package/src/Toast/ToastViewport.test.tsx +536 -8
- package/src/Toast/ToastViewport.tsx +81 -12
- package/src/Token/Token.test.tsx +95 -0
- package/src/Token/Token.tsx +15 -10
- package/src/Token/TokenLink.tsx +14 -5
- package/src/Tokenizer/Tokenizer.doc.mjs +43 -3
- package/src/Tokenizer/Tokenizer.test.tsx +161 -0
- package/src/Tokenizer/Tokenizer.tsx +53 -24
- package/src/Toolbar/Toolbar.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.doc.mjs +5 -0
- package/src/Tooltip/Tooltip.test.tsx +32 -0
- package/src/Tooltip/Tooltip.tsx +5 -0
- package/src/Tooltip/useTooltip.tsx +47 -24
- package/src/TopNav/TopNavHeading.tsx +5 -4
- package/src/TopNav/TopNavMegaMenu.test.tsx +104 -0
- package/src/TopNav/TopNavMegaMenu.tsx +47 -5
- package/src/TopNav/TopNavMenu.test.tsx +133 -1
- package/src/TopNav/TopNavMenu.tsx +38 -7
- package/src/TreeList/TreeList.test.tsx +49 -0
- package/src/TreeList/TreeList.tsx +7 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +24 -0
- package/src/Typeahead/BaseTypeahead.tsx +181 -39
- package/src/Typeahead/Typeahead.doc.mjs +11 -0
- package/src/Typeahead/Typeahead.test.tsx +203 -0
- package/src/Typeahead/Typeahead.tsx +12 -2
- package/src/Typeahead/TypeaheadItem.test.tsx +43 -0
- package/src/Typeahead/TypeaheadItem.tsx +8 -1
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useAnnounce.doc.mjs +96 -0
- package/src/hooks/useContainerReveal.doc.mjs +2 -2
- package/src/hooks/useDevWarning.doc.mjs +96 -0
- package/src/hooks/useFocusTrap.test.tsx +14 -0
- package/src/hooks/useFocusTrap.ts +62 -111
- package/src/hooks/useFocusTrapEscapeShim.test.tsx +165 -0
- package/src/hooks/useHotkeys.ts +3 -18
- package/src/hooks/useIndicatorFocusRing.doc.mjs +104 -0
- package/src/hooks/useInputStatusIcon.doc.mjs +142 -0
- package/src/hooks/useInteractiveRole.doc.mjs +119 -0
- package/src/hooks/useLongPress.doc.mjs +123 -0
- package/src/hooks/useMergedRefs.doc.mjs +79 -0
- package/src/hooks/useMergedRefs.test.tsx +62 -0
- package/src/hooks/useMergedRefs.ts +36 -0
- package/src/hooks/useTypeahead.doc.mjs +153 -0
- package/src/index.ts +1 -0
- package/src/raw-import.d.ts +14 -0
- package/src/theme/MediaTheme.doc.mjs +5 -5
- package/src/theme/Theme.test.tsx +104 -2
- package/src/theme/Theme.tsx +49 -14
- package/src/theme/defineTheme.test.ts +23 -0
- package/src/theme/derivedVarRegistry.test.ts +26 -3
- package/src/theme/derivedVarRegistry.ts +23 -4
- package/src/theme/generateThemeRules.test.ts +99 -1
- package/src/theme/generateThemeRules.ts +28 -0
- package/src/theme/syntax/tokens.ts +5 -2
- package/src/utils/groupItems.ts +12 -6
- package/src/utils/index.ts +1 -1
- package/src/utils/isApplePlatform.test.ts +61 -0
- package/src/utils/isApplePlatform.ts +37 -0
- package/src/utils/sharedResizeObserver.ts +10 -2
- package/src/utils/timeParser.test.ts +6 -1
- package/src/utils/timeParser.ts +35 -13
- package/src/__tests__/inputWidthContract.test.tsx +0 -69
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
'use client';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* @file NativeDateField.tsx
|
|
7
|
+
* @input Uses React, Field, Icon, InputClearButton, Spinner, useCalendarConstraints, hasEditableDateSegments
|
|
8
|
+
* @output Exports NativeDateField — the OS-picker touch surface
|
|
9
|
+
* @position One of DateInput's three surfaces. `DateInput` picks the pointer
|
|
10
|
+
* field on a mouse and, on touch, either `TouchDateField` (the default) or
|
|
11
|
+
* this one when the consumer opts in with `nativePicker`.
|
|
12
|
+
*
|
|
13
|
+
* Hands date picking to the platform: a real `<input type="date">`, whose
|
|
14
|
+
* picker the OS draws — the iOS wheel, the Android calendar dialog. The field
|
|
15
|
+
* itself still looks like every other Astryx input, and DateInput paints its
|
|
16
|
+
* text so `format` and `placeholder` keep applying.
|
|
17
|
+
*
|
|
18
|
+
* Everything unusual in here was measured on a real iOS device; the comments
|
|
19
|
+
* say which behaviour forced which decision, because none of them are
|
|
20
|
+
* reproducible in a desktop browser.
|
|
21
|
+
*
|
|
22
|
+
* SYNC: When modified, update these files to stay in sync:
|
|
23
|
+
* - /packages/core/src/DateInput/DateInput.tsx (the `nativePicker` prop)
|
|
24
|
+
* - /packages/core/src/DateInput/DateInput.doc.mjs (prop table)
|
|
25
|
+
* - /packages/core/src/DateInput/nativeDateSegments.ts (the engine probe)
|
|
26
|
+
* - /packages/core/src/DateInput/NativeDateField.test.tsx (tests)
|
|
27
|
+
*/
|
|
28
|
+
import { useCallback, useEffect, useId, useRef, useState } from 'react';
|
|
29
|
+
import * as stylex from '@stylexjs/stylex';
|
|
30
|
+
import { useCalendarConstraints } from "../Calendar/index.js";
|
|
31
|
+
import { hasEditableDateSegments } from "./nativeDateSegments.js";
|
|
32
|
+
import { Field, InputClearButton, inputStatusBorderStyles, inputStatusFocusWithinStyles, inputStatusHoverShadowStyles, inputWrapperStyles } from "../Field/index.js";
|
|
33
|
+
import { useInputStatusIcon, useMergedRefs } from "../hooks/index.js";
|
|
34
|
+
import { useMediaQuery } from "../hooks/useMediaQuery.js";
|
|
35
|
+
import { useResolvedRequired } from "../hooks/useResolvedRequired.js";
|
|
36
|
+
import { Icon } from "../Icon/index.js";
|
|
37
|
+
import { useLocale, useTranslator } from "../i18n/index.js";
|
|
38
|
+
import { useInputGroup } from "../InputGroup/index.js";
|
|
39
|
+
import { groupStyles } from "../InputGroup/groupStyles.js";
|
|
40
|
+
import { stableClassName } from "../naming.js";
|
|
41
|
+
import { useSize } from "../SizeContext/index.js";
|
|
42
|
+
import { Spinner } from "../Spinner/index.js";
|
|
43
|
+
import "../theme/tokens.stylex.js";
|
|
44
|
+
import { colorVars, radiusVars, sizeVars, typeScaleVars, typographyVars } from "../theme/tokens.stylex.js";
|
|
45
|
+
import { useTooltip } from "../Tooltip/index.js";
|
|
46
|
+
import { VisuallyHidden } from "../VisuallyHidden/index.js";
|
|
47
|
+
import { focusOutlineStyles, formatSharedDate, getInputARIA, mergeProps, parseDateInput, plainDateFromISO, plainDateToISO, themeProps } from "../utils/index.js";
|
|
48
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
49
|
+
const styles = {
|
|
50
|
+
wrapper: {
|
|
51
|
+
kOIVth: "x167g77z",
|
|
52
|
+
$$css: true
|
|
53
|
+
},
|
|
54
|
+
iconButton: {
|
|
55
|
+
k1xSpc: "x78zum5",
|
|
56
|
+
kGNEyG: "x6s0dn4",
|
|
57
|
+
kjj79g: "xl56j7k",
|
|
58
|
+
kmVPX3: "x1717udv",
|
|
59
|
+
kogj98: "x1ghz6dp",
|
|
60
|
+
kMzoRj: "xc342km",
|
|
61
|
+
ksu8eU: "xng3xce",
|
|
62
|
+
kWkggS: "xjbqb8w",
|
|
63
|
+
kkrTdU: "x1ypdohk x16khyan",
|
|
64
|
+
kaIpWk: "xh6dtrn",
|
|
65
|
+
$$css: true
|
|
66
|
+
},
|
|
67
|
+
iconButtonDisabled: {
|
|
68
|
+
kkrTdU: "xt0e3qv",
|
|
69
|
+
$$css: true
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const sizeStyles = {
|
|
73
|
+
sm: {
|
|
74
|
+
kZKoxP: "x6k0iem",
|
|
75
|
+
k7Eaqz: "xfb3i0g",
|
|
76
|
+
$$css: true
|
|
77
|
+
},
|
|
78
|
+
md: {
|
|
79
|
+
kZKoxP: "x1ueg155",
|
|
80
|
+
k7Eaqz: "xfb3i0g",
|
|
81
|
+
$$css: true
|
|
82
|
+
},
|
|
83
|
+
lg: {
|
|
84
|
+
kZKoxP: "xssyfek",
|
|
85
|
+
k7Eaqz: "xfb3i0g",
|
|
86
|
+
$$css: true
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* The OS-picker surface. Takes `DateInput`'s props verbatim; see
|
|
93
|
+
* {@link DateInput} for when it is chosen over the other two.
|
|
94
|
+
*/
|
|
95
|
+
export function NativeDateField({
|
|
96
|
+
label,
|
|
97
|
+
isLabelHidden = false,
|
|
98
|
+
description,
|
|
99
|
+
isOptional = false,
|
|
100
|
+
isRequired = false,
|
|
101
|
+
isDisabled = false,
|
|
102
|
+
disabledMessage,
|
|
103
|
+
value,
|
|
104
|
+
onChange,
|
|
105
|
+
isLoading = false,
|
|
106
|
+
min,
|
|
107
|
+
max,
|
|
108
|
+
dateConstraints,
|
|
109
|
+
placeholder: placeholderFromProps,
|
|
110
|
+
size: sizeProp,
|
|
111
|
+
status,
|
|
112
|
+
statusVariant = 'attached',
|
|
113
|
+
labelTooltip,
|
|
114
|
+
hasClear = false,
|
|
115
|
+
// The OS draws the picker, so neither reaches it: both describe a calendar
|
|
116
|
+
// grid it does not have. Accepted (the prop types are shared) and ignored.
|
|
117
|
+
numberOfMonths: _numberOfMonths,
|
|
118
|
+
weekStartsOn: _weekStartsOn,
|
|
119
|
+
format = 'date_long',
|
|
120
|
+
width,
|
|
121
|
+
xstyle,
|
|
122
|
+
className,
|
|
123
|
+
style,
|
|
124
|
+
ref,
|
|
125
|
+
...rest
|
|
126
|
+
}) {
|
|
127
|
+
const t = useTranslator();
|
|
128
|
+
const locale = useLocale();
|
|
129
|
+
const isEffectivelyRequired = useResolvedRequired({
|
|
130
|
+
isRequired,
|
|
131
|
+
isOptional
|
|
132
|
+
});
|
|
133
|
+
const placeholder = placeholderFromProps ?? t('@astryx.dateInput.placeholder');
|
|
134
|
+
const size = useSize(sizeProp, 'md');
|
|
135
|
+
// Only breaks a tie the engine probe cannot: see ./nativeDateSegments.
|
|
136
|
+
const isTouchPointer = useMediaQuery('(pointer: coarse)');
|
|
137
|
+
const id = useId();
|
|
138
|
+
const inputLabelID = useId();
|
|
139
|
+
const descriptionID = useId();
|
|
140
|
+
const statusMessageID = useId();
|
|
141
|
+
const inputRef = useRef(null);
|
|
142
|
+
const mergedInputRef = useMergedRefs(ref, inputRef);
|
|
143
|
+
const inputGroup = useInputGroup();
|
|
144
|
+
const isEffectivelyDisabled = isDisabled || isLoading;
|
|
145
|
+
|
|
146
|
+
// Disabled-reason tooltip, same contract as the other two surfaces: a
|
|
147
|
+
// disabled control swallows pointer events, so the listeners attach to the
|
|
148
|
+
// wrapper and the input stays focusable via aria-disabled.
|
|
149
|
+
const showsDisabledMessage = isDisabled && !!disabledMessage;
|
|
150
|
+
const disabledMessageTooltip = useTooltip({
|
|
151
|
+
placement: 'above',
|
|
152
|
+
focusTrigger: 'always',
|
|
153
|
+
isEnabled: showsDisabledMessage
|
|
154
|
+
});
|
|
155
|
+
const {
|
|
156
|
+
isDateDisabled
|
|
157
|
+
} = useCalendarConstraints({
|
|
158
|
+
min,
|
|
159
|
+
max,
|
|
160
|
+
dateConstraints
|
|
161
|
+
});
|
|
162
|
+
const {
|
|
163
|
+
statusIcon,
|
|
164
|
+
describedBy: statusTooltipDescribedBy
|
|
165
|
+
} = useInputStatusIcon({
|
|
166
|
+
status,
|
|
167
|
+
statusVariant,
|
|
168
|
+
isInGroup: !!inputGroup
|
|
169
|
+
});
|
|
170
|
+
const {
|
|
171
|
+
ariaLabelledBy,
|
|
172
|
+
ariaDescribedBy
|
|
173
|
+
} = getInputARIA(inputLabelID, [description ? descriptionID : null, statusVariant !== 'tooltip' && status?.message ? statusMessageID : null, statusTooltipDescribedBy, showsDisabledMessage ? disabledMessageTooltip.describedBy : null], inputGroup);
|
|
174
|
+
|
|
175
|
+
// A date the picker produced that `dateConstraints` refuses, held so the
|
|
176
|
+
// refusal can be announced instead of looking like a dead tap.
|
|
177
|
+
const [rejectedValue, setRejectedValue] = useState(null);
|
|
178
|
+
// Whether the control has focus — which, on a touch device, means its
|
|
179
|
+
// picker is open.
|
|
180
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
181
|
+
// Whether the engine draws this control as editable segments rather than a
|
|
182
|
+
// picker-only run. Latched on focus rather than read during render: the
|
|
183
|
+
// probe touches the DOM, and unfocused the answer changes nothing.
|
|
184
|
+
const [isSegmentEditable, setIsSegmentEditable] = useState(false);
|
|
185
|
+
// The raw value the control last reported and we acted on, so the same edit
|
|
186
|
+
// arriving through both commit paths only fires one change.
|
|
187
|
+
const lastCommitRef = useRef(null);
|
|
188
|
+
const prevValueRef = useRef(value);
|
|
189
|
+
if (value !== prevValueRef.current) {
|
|
190
|
+
prevValueRef.current = value;
|
|
191
|
+
lastCommitRef.current = null;
|
|
192
|
+
if (rejectedValue !== null) {
|
|
193
|
+
setRejectedValue(null);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// The control's own value is always ISO — the only form it accepts, and
|
|
198
|
+
// what the picker reads and writes. `format` rides on the overlay instead.
|
|
199
|
+
const nativeValue = value && ISO_DATE.test(value) ? value : '';
|
|
200
|
+
const isInputValid = rejectedValue === null;
|
|
201
|
+
const formatValue = useCallback(iso => typeof format === 'function' ? format(iso) : formatSharedDate(plainDateFromISO(iso), format, locale), [format, locale]);
|
|
202
|
+
|
|
203
|
+
// This field paints the closed control's text itself, which is what keeps
|
|
204
|
+
// `format` and `placeholder` applying: a picker-only control has no
|
|
205
|
+
// segments to edit, so our text holds even while the picker is open, and
|
|
206
|
+
// tracks it live. An editable control is the opposite case — its text IS
|
|
207
|
+
// the edit surface, and it reports no `value` until every segment is
|
|
208
|
+
// filled, so the overlay has nothing to paint mid-edit — so step aside for
|
|
209
|
+
// as long as it has focus. See ./nativeDateSegments.
|
|
210
|
+
const overlayText = nativeValue ? formatValue(nativeValue) : placeholder;
|
|
211
|
+
const showsOverlay = !!overlayText && !(isFocused && isSegmentEditable);
|
|
212
|
+
const commitValue = useCallback(newValue => {
|
|
213
|
+
if (isEffectivelyDisabled) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
// The same edit can arrive twice — React's synthetic change and the
|
|
217
|
+
// native listener below both report it — so act on a raw value once.
|
|
218
|
+
if (lastCommitRef.current === newValue) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
lastCommitRef.current = newValue;
|
|
222
|
+
if (!newValue) {
|
|
223
|
+
setRejectedValue(null);
|
|
224
|
+
if (value !== undefined) {
|
|
225
|
+
onChange?.(undefined);
|
|
226
|
+
}
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const parsed = parseDateInput(newValue, locale);
|
|
230
|
+
if (!parsed) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if (isDateDisabled(parsed)) {
|
|
234
|
+
// iOS does not enforce min/max in its picker — those attributes are
|
|
235
|
+
// constraint-validation flags, not clamps, and the sheet lets the
|
|
236
|
+
// user land on any date. Refuse it here and let the sync effect snap
|
|
237
|
+
// the control back; the live region below announces the refusal.
|
|
238
|
+
setRejectedValue(newValue);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
setRejectedValue(null);
|
|
242
|
+
const parsedISO = plainDateToISO(parsed);
|
|
243
|
+
if (parsedISO !== value) {
|
|
244
|
+
onChange?.(parsedISO);
|
|
245
|
+
}
|
|
246
|
+
}, [value, onChange, isDateDisabled, isEffectivelyDisabled, locale]);
|
|
247
|
+
const handleChange = useCallback(e => {
|
|
248
|
+
commitValue(e.target.value);
|
|
249
|
+
}, [commitValue]);
|
|
250
|
+
|
|
251
|
+
// React's synthetic change system does not reliably observe the iOS
|
|
252
|
+
// picker's edits. Measured on an iPhone: picking a date fired a native
|
|
253
|
+
// `input` event carrying the new date while React's `onChange` never ran —
|
|
254
|
+
// so React re-rendered and wrote its own stale value straight back over the
|
|
255
|
+
// picker's, and the user's pick (and their Reset) silently reverted. A
|
|
256
|
+
// native listener reads what the control actually holds, whatever React's
|
|
257
|
+
// synthetic layer made of it.
|
|
258
|
+
const commitRef = useRef(commitValue);
|
|
259
|
+
useEffect(() => {
|
|
260
|
+
commitRef.current = commitValue;
|
|
261
|
+
});
|
|
262
|
+
useEffect(() => {
|
|
263
|
+
const input = inputRef.current;
|
|
264
|
+
if (!input) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
const handleNative = () => commitRef.current(input.value);
|
|
268
|
+
input.addEventListener('input', handleNative);
|
|
269
|
+
input.addEventListener('change', handleNative);
|
|
270
|
+
return () => {
|
|
271
|
+
input.removeEventListener('input', handleNative);
|
|
272
|
+
input.removeEventListener('change', handleNative);
|
|
273
|
+
};
|
|
274
|
+
}, []);
|
|
275
|
+
|
|
276
|
+
// The value the control mounts with. Deliberately captured once: React
|
|
277
|
+
// writes to the element whenever a `value` OR `defaultValue` prop changes,
|
|
278
|
+
// and on iOS ANY write while the picker sheet is open detaches the sheet
|
|
279
|
+
// from the field — the wheel and Reset keep moving the sheet's own
|
|
280
|
+
// highlight, but nothing they do reaches the input and no event fires, so
|
|
281
|
+
// the user's pick appears to do nothing. Holding this constant means React
|
|
282
|
+
// touches the element exactly once, at mount; the effect below owns every
|
|
283
|
+
// later update and only writes while the field is unfocused.
|
|
284
|
+
const initialValueRef = useRef(null);
|
|
285
|
+
if (initialValueRef.current === null) {
|
|
286
|
+
initialValueRef.current = nativeValue;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
// Push an externally-changed value in — but never while the control has
|
|
290
|
+
// focus, for the reason above. Blur flips `isFocused`, so this doubles as
|
|
291
|
+
// the reconcile once the picker closes. (Self-heals a stale
|
|
292
|
+
// `initialValueRef` too, on the commit right after a remount.)
|
|
293
|
+
useEffect(() => {
|
|
294
|
+
if (isFocused) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
const input = inputRef.current;
|
|
298
|
+
if (input && input.value !== nativeValue) {
|
|
299
|
+
input.value = nativeValue;
|
|
300
|
+
}
|
|
301
|
+
}, [isFocused, nativeValue]);
|
|
302
|
+
const handleFocus = useCallback(() => {
|
|
303
|
+
setIsSegmentEditable(hasEditableDateSegments(isTouchPointer));
|
|
304
|
+
setIsFocused(true);
|
|
305
|
+
}, [isTouchPointer]);
|
|
306
|
+
const handleBlur = useCallback(() => {
|
|
307
|
+
const domValue = inputRef.current?.value;
|
|
308
|
+
setIsFocused(false);
|
|
309
|
+
// A refused date is reverted by the sync effect the moment focus leaves,
|
|
310
|
+
// so the field is once again showing a date that IS valid. Keeping the
|
|
311
|
+
// rejection past that point would mark good data invalid, with no way
|
|
312
|
+
// back except changing the field again. The live region announced the
|
|
313
|
+
// refusal while it happened; that is the feedback.
|
|
314
|
+
setRejectedValue(null);
|
|
315
|
+
if (domValue !== undefined && domValue !== nativeValue) {
|
|
316
|
+
commitValue(domValue);
|
|
317
|
+
}
|
|
318
|
+
}, [commitValue, nativeValue]);
|
|
319
|
+
|
|
320
|
+
// Focusing a date control is what raises the OS picker, so the usual
|
|
321
|
+
// focus-restore after a clear would pop the picker the tap just dismissed —
|
|
322
|
+
// and on iOS that reads as the clear having done nothing.
|
|
323
|
+
const handleClear = useCallback(() => {
|
|
324
|
+
onChange?.(undefined);
|
|
325
|
+
}, [onChange]);
|
|
326
|
+
const openPicker = useCallback(() => {
|
|
327
|
+
if (isEffectivelyDisabled) {
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
const input = inputRef.current;
|
|
331
|
+
if (!input) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
// Focus first: on touch browsers focusing the control is itself what
|
|
335
|
+
// raises the picker, and iOS implements no `showPicker()` for type=date
|
|
336
|
+
// (WebKit bug 261703), so focus is the whole mechanism there.
|
|
337
|
+
input.focus();
|
|
338
|
+
if (typeof input.showPicker === 'function') {
|
|
339
|
+
try {
|
|
340
|
+
input.showPicker();
|
|
341
|
+
} catch {
|
|
342
|
+
// showPicker throws without transient user activation and inside a
|
|
343
|
+
// cross-origin iframe. The focus above is the fallback.
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}, [isEffectivelyDisabled]);
|
|
347
|
+
const inputWrapper = /*#__PURE__*/_jsxs("div", {
|
|
348
|
+
ref: el => {
|
|
349
|
+
disabledMessageTooltip.ref(el);
|
|
350
|
+
},
|
|
351
|
+
...rest,
|
|
352
|
+
...mergeProps(themeProps('date-input', {
|
|
353
|
+
size,
|
|
354
|
+
status: status?.type ?? null,
|
|
355
|
+
disabled: isDisabled ? 'disabled' : null
|
|
356
|
+
}), stylex.props(inputWrapperStyles.base, sizeStyles[size], styles.wrapper, isEffectivelyDisabled && inputWrapperStyles.disabled, status && inputStatusBorderStyles[status.type], status && !isEffectivelyDisabled && inputStatusHoverShadowStyles[status.type], status && inputStatusFocusWithinStyles[status.type], inputGroup && groupStyles.inGroup, xstyle), className, style),
|
|
357
|
+
children: [inputGroup && /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
358
|
+
id: inputLabelID,
|
|
359
|
+
children: label
|
|
360
|
+
}), /*#__PURE__*/_jsx("button", {
|
|
361
|
+
type: "button",
|
|
362
|
+
onClick: openPicker,
|
|
363
|
+
disabled: isEffectivelyDisabled,
|
|
364
|
+
"aria-label": t('@astryx.dateInput.openCalendar'),
|
|
365
|
+
tabIndex: -1,
|
|
366
|
+
...stylex.props(focusOutlineStyles.focusVisible, styles.iconButton, isEffectivelyDisabled && styles.iconButtonDisabled),
|
|
367
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
368
|
+
icon: "calendar",
|
|
369
|
+
size: "sm",
|
|
370
|
+
color: "secondary",
|
|
371
|
+
...themeProps('date-input-toggle-icon', {
|
|
372
|
+
state: 'collapsed'
|
|
373
|
+
})
|
|
374
|
+
})
|
|
375
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
376
|
+
...{
|
|
377
|
+
className: "x1n2onr6 x78zum5 x6s0dn4 x98rzlu xeuugli"
|
|
378
|
+
},
|
|
379
|
+
children: [/*#__PURE__*/_jsx("input", {
|
|
380
|
+
ref: mergedInputRef,
|
|
381
|
+
id: id,
|
|
382
|
+
type: "date"
|
|
383
|
+
// UNCONTROLLED on purpose, with a value React never rewrites after
|
|
384
|
+
// mount — see `initialValueRef` and the sync effect above.
|
|
385
|
+
,
|
|
386
|
+
defaultValue: initialValueRef.current ?? '',
|
|
387
|
+
onChange: handleChange,
|
|
388
|
+
onFocus: handleFocus,
|
|
389
|
+
onBlur: handleBlur,
|
|
390
|
+
min: min,
|
|
391
|
+
max: max,
|
|
392
|
+
disabled: isEffectivelyDisabled && !showsDisabledMessage,
|
|
393
|
+
"aria-disabled": showsDisabledMessage ? 'true' : undefined,
|
|
394
|
+
readOnly: showsDisabledMessage || undefined,
|
|
395
|
+
"aria-labelledby": ariaLabelledBy,
|
|
396
|
+
"aria-describedby": ariaDescribedBy,
|
|
397
|
+
"aria-required": isEffectivelyRequired ? 'true' : undefined,
|
|
398
|
+
"aria-invalid": status?.type === 'error' || !isInputValid ? 'true' : undefined,
|
|
399
|
+
"aria-busy": isLoading || undefined,
|
|
400
|
+
...{
|
|
401
|
+
0: {
|
|
402
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3"
|
|
403
|
+
},
|
|
404
|
+
4: {
|
|
405
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 x19co3pv xg7jpbn"
|
|
406
|
+
},
|
|
407
|
+
2: {
|
|
408
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx x1tgivj0 xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 xt0e3qv"
|
|
409
|
+
},
|
|
410
|
+
6: {
|
|
411
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 x19co3pv xg7jpbn xt0e3qv"
|
|
412
|
+
},
|
|
413
|
+
1: {
|
|
414
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 xv1l7n4"
|
|
415
|
+
},
|
|
416
|
+
5: {
|
|
417
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 xg7jpbn xv1l7n4"
|
|
418
|
+
},
|
|
419
|
+
3: {
|
|
420
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 xt0e3qv xv1l7n4"
|
|
421
|
+
},
|
|
422
|
+
7: {
|
|
423
|
+
className: "x1lliihq x98rzlu xeuugli xc342km xng3xce x1717udv x9ynric xjm74w1 x6pjikd xw6l6zx xjbqb8w x1a2a7pz x1oglpa6 x1lugfcp xjyslct xolhmmf x9rmy9g xpsyfx0 x1qqcexc x1x4c3m6 xkqr7wz x1f74mqm xec4aax xtbxizx xslb4at x15bqym3 xg7jpbn xt0e3qv xv1l7n4"
|
|
424
|
+
}
|
|
425
|
+
}[!!showsOverlay << 2 | !!isEffectivelyDisabled << 1 | !!!isInputValid << 0]
|
|
426
|
+
}), showsOverlay && /*#__PURE__*/_jsx("span", {
|
|
427
|
+
"aria-hidden": "true",
|
|
428
|
+
...{
|
|
429
|
+
0: {
|
|
430
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xv1l7n4"
|
|
431
|
+
},
|
|
432
|
+
4: {
|
|
433
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv x1tgivj0"
|
|
434
|
+
},
|
|
435
|
+
2: {
|
|
436
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xv1l7n4 xt0e3qv"
|
|
437
|
+
},
|
|
438
|
+
6: {
|
|
439
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv x1tgivj0 xt0e3qv"
|
|
440
|
+
},
|
|
441
|
+
1: {
|
|
442
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xv1l7n4"
|
|
443
|
+
},
|
|
444
|
+
5: {
|
|
445
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xv1l7n4"
|
|
446
|
+
},
|
|
447
|
+
3: {
|
|
448
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xt0e3qv xv1l7n4"
|
|
449
|
+
},
|
|
450
|
+
7: {
|
|
451
|
+
className: "x10l6tqk x1o0tod xtijo5x x10no89f x1lliihq xjm74w1 x6pjikd xw6l6zx x47corl xb3r6kr xuxw1ft xlyipyv xt0e3qv xv1l7n4"
|
|
452
|
+
}
|
|
453
|
+
}[!!nativeValue << 2 | !!isEffectivelyDisabled << 1 | !!(!isInputValid && !!nativeValue) << 0],
|
|
454
|
+
children: overlayText
|
|
455
|
+
})]
|
|
456
|
+
}), /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
457
|
+
as: "div",
|
|
458
|
+
role: "alert",
|
|
459
|
+
"aria-live": "assertive",
|
|
460
|
+
children: !isInputValid ? t('@astryx.dateInput.invalidDate') : ''
|
|
461
|
+
}), hasClear && value !== undefined && !isEffectivelyDisabled && /*#__PURE__*/_jsx(InputClearButton, {
|
|
462
|
+
label: t('@astryx.dateInput.clear', {
|
|
463
|
+
label
|
|
464
|
+
}),
|
|
465
|
+
onClick: handleClear,
|
|
466
|
+
iconClassName: stableClassName('date-input-clear-icon')
|
|
467
|
+
}), isLoading && /*#__PURE__*/_jsx(Spinner, {
|
|
468
|
+
size: "sm"
|
|
469
|
+
}), statusIcon, showsDisabledMessage && disabledMessageTooltip.renderTooltip(disabledMessage)]
|
|
470
|
+
});
|
|
471
|
+
if (inputGroup) {
|
|
472
|
+
return inputWrapper;
|
|
473
|
+
}
|
|
474
|
+
return /*#__PURE__*/_jsx(Field, {
|
|
475
|
+
label: label,
|
|
476
|
+
isLabelHidden: isLabelHidden,
|
|
477
|
+
description: description,
|
|
478
|
+
inputID: id,
|
|
479
|
+
descriptionID: description ? descriptionID : undefined,
|
|
480
|
+
isOptional: isOptional,
|
|
481
|
+
isRequired: isRequired,
|
|
482
|
+
isDisabled: isDisabled,
|
|
483
|
+
status: status ? {
|
|
484
|
+
type: status.type,
|
|
485
|
+
message: status.message,
|
|
486
|
+
messageID: status.message ? statusMessageID : undefined
|
|
487
|
+
} : undefined,
|
|
488
|
+
statusVariant: statusVariant,
|
|
489
|
+
labelTooltip: labelTooltip,
|
|
490
|
+
width: width,
|
|
491
|
+
children: inputWrapper
|
|
492
|
+
});
|
|
493
|
+
}
|
|
494
|
+
NativeDateField.displayName = 'NativeDateField';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TouchDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/TouchDateField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TouchDateField.d.ts","sourceRoot":"","sources":["../../src/DateInput/TouchDateField.tsx"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAgehD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,aAAqB,EACrB,WAAW,EACX,UAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,eAAe,EACf,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAiB,EACjB,GAAG,EACH,GAAG,EACH,eAAe,EACf,WAAW,EAAE,oBAAoB,EACjC,IAAI,EAAE,QAAQ,EACd,MAAM,EACN,aAA0B,EAC1B,YAAY,EACZ,QAAgB,EAIhB,cAAc,EAAE,eAAe,EAC/B,YAAY,EAAE,gBAAoB,EAClC,MAAoB,EACpB,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+BAmtBhB;yBApvBe,cAAc"}
|