@astryxdesign/core 0.1.3 → 0.1.4-canary.01e5b29
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 +51 -0
- package/dist/AlertDialog/AlertDialog.d.ts +1 -1
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +20 -18
- package/dist/AlertDialog/useImperativeAlertDialog.js +3 -3
- package/dist/AppShell/AppShell.d.ts +1 -1
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +55 -53
- package/dist/AspectRatio/AspectRatio.js +5 -5
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +27 -25
- package/dist/Avatar/AvatarStatusDot.js +5 -5
- package/dist/AvatarGroup/AvatarGroup.js +5 -5
- package/dist/AvatarGroup/AvatarGroupOverflow.js +5 -5
- package/dist/Badge/Badge.js +3 -3
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +32 -25
- package/dist/Blockquote/Blockquote.js +7 -7
- package/dist/Breadcrumbs/BreadcrumbItem.js +17 -17
- package/dist/Breadcrumbs/Breadcrumbs.js +7 -7
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +47 -26
- package/dist/ButtonGroup/ButtonGroup.js +7 -7
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +108 -64
- package/dist/Calendar/dayCellUtils.d.ts +67 -5
- package/dist/Calendar/dayCellUtils.d.ts.map +1 -1
- package/dist/Calendar/dayCellUtils.js +139 -18
- package/dist/Calendar/styles.d.ts +2 -2
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +2 -2
- package/dist/Card/Card.d.ts +4 -2
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +18 -10
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +20 -19
- package/dist/Center/Center.js +3 -3
- package/dist/Chat/ChatComposer.js +23 -23
- package/dist/Chat/ChatComposerDrawer.js +14 -14
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +27 -15
- package/dist/Chat/ChatDictationButton.d.ts +1 -1
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +13 -11
- package/dist/Chat/ChatLayout.js +17 -17
- package/dist/Chat/ChatLayoutScrollButton.d.ts +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +12 -10
- package/dist/Chat/ChatMessage.js +12 -12
- package/dist/Chat/ChatMessageBubble.js +7 -7
- package/dist/Chat/ChatMessageList.js +14 -14
- package/dist/Chat/ChatMessageMetadata.d.ts +1 -1
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatMessageMetadata.js +14 -12
- package/dist/Chat/ChatPastedTextToken.js +13 -13
- package/dist/Chat/ChatSendButton.js +3 -3
- package/dist/Chat/ChatSystemMessage.d.ts +1 -1
- package/dist/Chat/ChatSystemMessage.d.ts.map +1 -1
- package/dist/Chat/ChatSystemMessage.js +17 -17
- package/dist/Chat/ChatTokenizedText.d.ts +1 -1
- package/dist/Chat/ChatTokenizedText.d.ts.map +1 -1
- package/dist/Chat/ChatTokenizedText.js +24 -15
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +81 -74
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -15
- package/dist/CheckboxInput/CheckboxInput.d.ts +6 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +32 -24
- package/dist/CheckboxList/CheckboxList.js +9 -9
- package/dist/CheckboxList/CheckboxListItem.d.ts +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +8 -6
- package/dist/Citation/Citation.js +10 -10
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +32 -9
- package/dist/Code/Code.d.ts +15 -1
- package/dist/Code/Code.d.ts.map +1 -1
- package/dist/Code/Code.js +35 -5
- package/dist/Code/index.d.ts +1 -1
- package/dist/Code/index.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.d.ts +10 -1
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +88 -52
- package/dist/CodeBlock/index.d.ts +1 -1
- package/dist/CodeBlock/index.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.d.ts +9 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +110 -22
- package/dist/Collapsible/CollapsibleGroup.d.ts +39 -7
- package/dist/Collapsible/CollapsibleGroup.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroup.js +73 -12
- package/dist/Collapsible/CollapsibleGroupContext.d.ts +31 -0
- package/dist/Collapsible/CollapsibleGroupContext.d.ts.map +1 -1
- package/dist/Collapsible/CollapsibleGroupContext.js +33 -3
- package/dist/Collapsible/index.d.ts +1 -0
- package/dist/Collapsible/index.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.d.ts +4 -1
- package/dist/Collapsible/useCollapsible.d.ts.map +1 -1
- package/dist/Collapsible/useCollapsible.js +20 -6
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +36 -34
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteEmpty.js +27 -7
- package/dist/CommandPalette/CommandPaletteFooter.js +16 -16
- package/dist/CommandPalette/CommandPaletteGroup.js +5 -5
- package/dist/CommandPalette/CommandPaletteInput.js +13 -13
- package/dist/CommandPalette/CommandPaletteItem.js +3 -3
- package/dist/CommandPalette/CommandPaletteList.js +3 -3
- package/dist/ContextMenu/ContextMenu.d.ts +9 -1
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +16 -11
- package/dist/DateInput/DateInput.js +18 -18
- package/dist/DateRangeInput/DateRangeInput.js +23 -23
- package/dist/DateTimeInput/DateTimeInput.d.ts +5 -7
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +30 -26
- package/dist/DateTimeInput/index.d.ts +1 -1
- package/dist/DateTimeInput/index.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +9 -9
- package/dist/Dialog/DialogHeader.js +16 -16
- package/dist/Dialog/useImperativeDialog.js +3 -3
- package/dist/Divider/Divider.d.ts +0 -22
- package/dist/Divider/Divider.d.ts.map +1 -1
- package/dist/Divider/Divider.js +7 -7
- package/dist/DropdownMenu/DropdownMenu.js +10 -10
- package/dist/DropdownMenu/DropdownMenuItem.d.ts +2 -17
- package/dist/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuItem.js +3 -3
- package/dist/DropdownMenu/renderDropdownItems.js +10 -10
- package/dist/EmptyState/EmptyState.js +9 -9
- package/dist/Field/Field.js +17 -17
- package/dist/Field/FieldLabel.js +15 -15
- package/dist/Field/InputClearButton.js +5 -5
- package/dist/FieldStatus/FieldStatus.js +3 -3
- package/dist/FileInput/FileInput.js +29 -29
- package/dist/FormLayout/FormLayout.js +5 -5
- package/dist/Grid/Grid.d.ts +4 -3
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +29 -12
- package/dist/Grid/GridSpan.js +3 -3
- package/dist/HStack/HStack.js +3 -3
- package/dist/Heading/Heading.js +10 -10
- package/dist/HoverCard/HoverCard.js +9 -9
- package/dist/HoverCard/useHoverCard.js +3 -3
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +16 -12
- package/dist/Icon/defaultIcons.js +116 -116
- package/dist/IconButton/IconButton.js +3 -3
- package/dist/InputGroup/InputGroup.js +11 -11
- package/dist/InputGroup/InputGroupText.js +3 -3
- package/dist/Item/Item.js +18 -18
- package/dist/Kbd/Kbd.js +5 -5
- package/dist/Layer/LayerProvider.js +7 -7
- package/dist/Layer/useLayer.js +5 -5
- package/dist/Layout/Layout.js +21 -21
- package/dist/Layout/LayoutContent.js +3 -3
- package/dist/Layout/LayoutFooter.js +5 -5
- package/dist/Layout/LayoutHeader.js +5 -5
- package/dist/Layout/LayoutPanel.js +3 -3
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +55 -31
- package/dist/Lightbox/useLightbox.js +3 -3
- package/dist/Link/Link.js +15 -15
- package/dist/Link/LinkProvider.js +3 -3
- package/dist/Link/useLinkify.js +3 -3
- package/dist/List/List.js +11 -11
- package/dist/List/ListItem.js +11 -11
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +102 -102
- package/dist/Markdown/parser.d.ts +7 -0
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +300 -6
- package/dist/MetadataList/MetadataList.js +10 -10
- package/dist/MetadataList/MetadataListItem.js +15 -15
- package/dist/MobileNav/MobileNav.js +15 -15
- package/dist/MobileNav/MobileNavToggle.js +5 -5
- package/dist/MoreMenu/MoreMenu.js +3 -3
- package/dist/MultiSelector/MultiSelector.d.ts +7 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +64 -55
- package/dist/NavIcon/NavIcon.js +3 -3
- package/dist/NavMenu/NavHeadingMenu.js +5 -5
- package/dist/NavMenu/NavHeadingMenuItem.js +8 -8
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +48 -32
- package/dist/Outline/Outline.js +15 -15
- package/dist/OverflowList/OverflowList.js +8 -8
- package/dist/Overlay/Overlay.js +3 -3
- package/dist/Overlay/OverlayScrim.js +5 -5
- package/dist/Overlay/useOverlay.js +3 -3
- package/dist/Pagination/Pagination.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +125 -72
- package/dist/Popover/Popover.js +16 -16
- package/dist/Popover/usePopover.js +7 -7
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +110 -92
- package/dist/PowerSearch/PowerSearchEditPopover.js +84 -84
- package/dist/PowerSearch/PowerSearchFilterEditor.js +3 -3
- package/dist/PowerSearch/PowerSearchToken.js +5 -5
- package/dist/PowerSearch/PowerSearchValueEditor.js +54 -54
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +25 -18
- package/dist/RadioList/RadioList.d.ts +7 -1
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +10 -8
- package/dist/RadioList/RadioListItem.d.ts +1 -1
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +30 -22
- package/dist/Resizable/ResizeHandle.d.ts.map +1 -1
- package/dist/Resizable/ResizeHandle.js +28 -10
- package/dist/Section/Section.js +5 -5
- package/dist/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +32 -10
- package/dist/SegmentedControl/SegmentedControlItem.d.ts +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +18 -12
- package/dist/SelectableCard/SelectableCard.js +5 -5
- package/dist/Selector/Selector.d.ts +6 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +54 -45
- package/dist/Selector/SelectorOption.js +3 -3
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +38 -34
- package/dist/SideNav/SideNavCollapseButton.d.ts +1 -1
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavCollapseButton.js +8 -6
- package/dist/SideNav/SideNavHeading.js +87 -87
- package/dist/SideNav/SideNavItem.js +42 -42
- package/dist/SideNav/SideNavSection.d.ts +1 -1
- package/dist/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/SideNav/SideNavSection.js +18 -16
- package/dist/Skeleton/Skeleton.js +3 -3
- package/dist/Slider/Slider.d.ts +6 -0
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +31 -22
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +10 -10
- package/dist/StatusDot/StatusDot.js +5 -5
- package/dist/Switch/Switch.d.ts +13 -4
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +41 -30
- package/dist/TabList/Tab.js +18 -18
- package/dist/TabList/TabList.js +5 -5
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +57 -30
- package/dist/TabList/tab.markers.stylex.d.ts +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +51 -39
- package/dist/Table/Table.js +7 -7
- package/dist/Table/TableBody.d.ts +1 -1
- package/dist/Table/TableBody.d.ts.map +1 -1
- package/dist/Table/TableBody.js +9 -5
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +76 -7
- package/dist/Table/TableFooter.d.ts +1 -1
- package/dist/Table/TableFooter.d.ts.map +1 -1
- package/dist/Table/TableFooter.js +9 -5
- package/dist/Table/TableHeader.d.ts +1 -1
- package/dist/Table/TableHeader.d.ts.map +1 -1
- package/dist/Table/TableHeader.js +9 -5
- package/dist/Table/TableHeaderCell.js +3 -3
- package/dist/Table/TableRow.js +5 -5
- package/dist/Table/index.d.ts +2 -0
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +1 -0
- package/dist/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/Table/plugins/columnResize/useTableColumnResize.js +14 -11
- package/dist/Table/plugins/filtering/useTableFiltering.js +71 -71
- package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/paginateData.js +5 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +7 -7
- package/dist/Table/plugins/rowExpansion/index.d.ts +3 -0
- package/dist/Table/plugins/rowExpansion/index.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/index.js +3 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +90 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +398 -0
- package/dist/Table/plugins/selection/useTableSelection.js +18 -18
- package/dist/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelectionState.js +11 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +17 -17
- package/dist/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortableState.js +8 -4
- package/dist/Table/tableContextMenu.d.ts +5 -1
- package/dist/Table/tableContextMenu.d.ts.map +1 -1
- package/dist/Table/tableContextMenu.js +19 -12
- package/dist/Text/Text.d.ts +1 -1
- package/dist/Text/Text.d.ts.map +1 -1
- package/dist/Text/Text.js +14 -13
- package/dist/Text/text.stylex.d.ts +35 -0
- package/dist/Text/text.stylex.d.ts.map +1 -1
- package/dist/Text/text.stylex.js +52 -1
- package/dist/TextArea/TextArea.js +14 -14
- package/dist/TextInput/TextInput.js +15 -15
- package/dist/Thumbnail/Thumbnail.d.ts +3 -2
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +30 -29
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +26 -21
- package/dist/Timestamp/Timestamp.d.ts +1 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +37 -26
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +25 -17
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +23 -11
- package/dist/Toast/useToast.js +4 -4
- package/dist/ToggleButton/ToggleButton.js +12 -12
- package/dist/ToggleButton/ToggleButtonGroup.js +5 -5
- package/dist/Token/Token.js +21 -21
- package/dist/Tokenizer/Tokenizer.d.ts +6 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +38 -29
- package/dist/Toolbar/Toolbar.js +18 -18
- package/dist/Tooltip/Tooltip.js +11 -11
- package/dist/Tooltip/useTooltip.js +3 -3
- package/dist/TopNav/TopNav.js +32 -32
- package/dist/TopNav/TopNavHeading.js +67 -67
- package/dist/TopNav/TopNavItem.js +5 -5
- package/dist/TopNav/TopNavMegaMenu.js +30 -30
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +25 -14
- package/dist/TopNav/TopNavMegaMenuItem.js +16 -16
- package/dist/TopNav/TopNavMenu.js +32 -32
- package/dist/TreeList/TreeList.js +8 -8
- package/dist/TreeList/TreeListBranches.js +11 -11
- package/dist/TreeList/TreeListItem.js +30 -30
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +23 -20
- package/dist/Typeahead/Typeahead.js +12 -12
- package/dist/Typeahead/TypeaheadItem.js +10 -10
- package/dist/VStack/VStack.js +3 -3
- package/dist/astryx.css +23 -0
- package/dist/astryx.umd.js +60 -58
- package/dist/astryx.umd.js.map +4 -4
- package/dist/docs-types.d.ts +13 -1
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.d.ts +1 -1
- package/dist/hooks/focusableSelector.d.ts.map +1 -1
- package/dist/hooks/focusableSelector.js +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +3 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +38 -1
- package/dist/hooks/useHotkeys.d.ts +51 -0
- package/dist/hooks/useHotkeys.d.ts.map +1 -0
- package/dist/hooks/useHotkeys.js +160 -0
- package/dist/hooks/useInteractiveRole.d.ts +6 -2
- package/dist/hooks/useInteractiveRole.d.ts.map +1 -1
- package/dist/hooks/useInteractiveRole.js +6 -2
- package/dist/hooks/useKeyboardHint.js +9 -9
- package/dist/hooks/useStreamingText.d.ts +3 -1
- package/dist/hooks/useStreamingText.d.ts.map +1 -1
- package/dist/hooks/useStreamingText.js +14 -5
- package/dist/theme/MediaTheme.js +3 -3
- package/dist/theme/Theme.js +7 -7
- package/dist/theme/defineTheme.d.ts +1 -1
- package/dist/theme/defineTheme.d.ts.map +1 -1
- package/dist/theme/expandColorScale.d.ts.map +1 -1
- package/dist/theme/expandColorScale.js +10 -3
- package/dist/theme/hct.d.ts +0 -15
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +9 -9
- package/dist/theme/syntax/SyntaxTheme.js +5 -5
- package/dist/theme/tokens.d.ts +10 -2
- package/dist/theme/tokens.d.ts.map +1 -1
- package/dist/theme/tokens.js +220 -4
- package/dist/utils/color.d.ts +42 -0
- package/dist/utils/color.d.ts.map +1 -0
- package/dist/utils/color.js +150 -0
- package/dist/utils/composeEventHandlers.d.ts +30 -0
- package/dist/utils/composeEventHandlers.d.ts.map +1 -0
- package/dist/utils/composeEventHandlers.js +40 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +8 -5
- package/package.json +3 -3
- package/src/AlertDialog/AlertDialog.tsx +2 -0
- package/src/AppShell/AppShell.tsx +2 -0
- package/src/AspectRatio/AspectRatio.doc.mjs +1 -1
- package/src/Avatar/Avatar.doc.mjs +13 -2
- package/src/Avatar/Avatar.test.tsx +32 -1
- package/src/Avatar/Avatar.tsx +12 -20
- package/src/Banner/Banner.doc.mjs +8 -0
- package/src/Banner/Banner.test.tsx +38 -0
- package/src/Banner/Banner.tsx +8 -1
- package/src/Button/Button.tsx +39 -6
- package/src/ButtonGroup/ButtonGroup.doc.mjs +1 -1
- package/src/Calendar/Calendar.doc.mjs +1 -1
- package/src/Calendar/Calendar.test.tsx +201 -17
- package/src/Calendar/Calendar.tsx +79 -26
- package/src/Calendar/dayCellUtils.test.ts +306 -1
- package/src/Calendar/dayCellUtils.ts +206 -13
- package/src/Calendar/styles.ts +12 -2
- package/src/Card/Card.doc.mjs +1 -1
- package/src/Card/Card.tsx +16 -6
- package/src/Carousel/Carousel.doc.mjs +12 -12
- package/src/Carousel/Carousel.test.tsx +13 -0
- package/src/Carousel/Carousel.tsx +1 -0
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposerInput.test.tsx +24 -0
- package/src/Chat/ChatComposerInput.tsx +17 -1
- package/src/Chat/ChatDictationButton.test.tsx +43 -0
- package/src/Chat/ChatDictationButton.tsx +4 -4
- package/src/Chat/ChatLayoutScrollButton.test.tsx +33 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +3 -1
- package/src/Chat/ChatMessageMetadata.test.tsx +32 -0
- package/src/Chat/ChatMessageMetadata.tsx +4 -6
- package/src/Chat/ChatSystemMessage.test.tsx +26 -11
- package/src/Chat/ChatSystemMessage.tsx +7 -7
- package/src/Chat/ChatTokenizedText.test.tsx +29 -16
- package/src/Chat/ChatTokenizedText.tsx +15 -8
- package/src/Chat/ChatToolCalls.test.tsx +55 -0
- package/src/Chat/ChatToolCalls.tsx +10 -12
- package/src/Chat/index.ts +1 -4
- package/src/Chat/useChatNewMessages.test.tsx +4 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +12 -4
- package/src/CheckboxInput/CheckboxInput.test.tsx +103 -0
- package/src/CheckboxInput/CheckboxInput.tsx +13 -0
- package/src/CheckboxList/CheckboxList.doc.mjs +1 -1
- package/src/CheckboxList/CheckboxList.test.tsx +19 -0
- package/src/CheckboxList/CheckboxListItem.tsx +11 -2
- package/src/Citation/Citation.doc.mjs +5 -0
- package/src/ClickableCard/ClickableCard.tsx +45 -2
- package/src/Code/Code.test.tsx +54 -0
- package/src/Code/Code.tsx +48 -4
- package/src/Code/index.ts +1 -1
- package/src/CodeBlock/CodeBlock.doc.mjs +7 -2
- package/src/CodeBlock/CodeBlock.test.tsx +122 -3
- package/src/CodeBlock/CodeBlock.tsx +62 -4
- package/src/CodeBlock/index.ts +1 -1
- package/src/Collapsible/Collapsible.doc.mjs +8 -4
- package/src/Collapsible/Collapsible.test.tsx +405 -0
- package/src/Collapsible/Collapsible.tsx +86 -10
- package/src/Collapsible/CollapsibleGroup.doc.mjs +27 -3
- package/src/Collapsible/CollapsibleGroup.test.tsx +318 -0
- package/src/Collapsible/CollapsibleGroup.tsx +107 -9
- package/src/Collapsible/CollapsibleGroupContext.tsx +42 -2
- package/src/Collapsible/index.ts +4 -0
- package/src/Collapsible/useCollapsible.ts +20 -6
- package/src/CommandPalette/CommandPalette.tsx +5 -3
- package/src/CommandPalette/CommandPaletteEmpty.doc.mjs +5 -0
- package/src/CommandPalette/CommandPaletteEmpty.tsx +15 -1
- package/src/CommandPalette/CommandPaletteGroup.doc.mjs +10 -0
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteItem.doc.mjs +6 -0
- package/src/CommandPalette/CommandPaletteList.doc.mjs +9 -0
- package/src/ContextMenu/ContextMenu.doc.mjs +15 -0
- package/src/ContextMenu/ContextMenu.test.tsx +15 -0
- package/src/ContextMenu/ContextMenu.tsx +19 -1
- package/src/ContextMenu/ContextMenuItem.doc.mjs +6 -0
- package/src/DateInput/DateInput.doc.mjs +6 -1
- package/src/DateInput/DateInput.test.tsx +11 -20
- package/src/DateRangeInput/DateRangeInput.doc.mjs +1 -1
- package/src/DateRangeInput/DateRangeInput.test.tsx +31 -44
- package/src/DateRangeInput/DateRangeInput.tsx +2 -2
- package/src/DateTimeInput/DateTimeInput.doc.mjs +4 -3
- package/src/DateTimeInput/DateTimeInput.test.tsx +118 -16
- package/src/DateTimeInput/DateTimeInput.tsx +9 -8
- package/src/DateTimeInput/index.ts +1 -0
- package/src/Dialog/DialogHeader.doc.mjs +45 -0
- package/src/Divider/Divider.tsx +1 -23
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -1
- package/src/DropdownMenu/DropdownMenu.test.tsx +5 -3
- package/src/DropdownMenu/DropdownMenuItem.tsx +5 -17
- package/src/EmptyState/EmptyState.doc.mjs +1 -1
- package/src/Field/Field.doc.mjs +1 -1
- package/src/Field/FieldLabel.test.tsx +2 -2
- package/src/FieldStatus/FieldStatus.test.tsx +282 -0
- package/src/FileInput/FileInput.doc.mjs +1 -1
- package/src/FormLayout/__snapshots__/FormLayout.test.tsx.snap +0 -3
- package/src/Grid/Grid.doc.mjs +3 -3
- package/src/Grid/Grid.test.tsx +43 -18
- package/src/Grid/Grid.tsx +26 -9
- package/src/Icon/Icon.test.tsx +41 -29
- package/src/Icon/Icon.tsx +6 -2
- package/src/InputGroup/InputGroup.tsx +2 -2
- package/src/InteractiveRoleContext/InteractiveRoleContext.test.tsx +185 -0
- package/src/Item/Item.tsx +1 -1
- package/src/Layout/Layout.test.tsx +285 -0
- package/src/Layout/LayoutContent.doc.mjs +12 -0
- package/src/Layout/LayoutPanel.doc.mjs +40 -0
- package/src/Layout/LayoutSlots.test.tsx +364 -0
- package/src/Layout/__tests__/edgeCompensation.test.tsx +72 -0
- package/src/Lightbox/Lightbox.doc.mjs +5 -0
- package/src/Lightbox/Lightbox.test.tsx +123 -2
- package/src/Lightbox/Lightbox.tsx +29 -1
- package/src/Markdown/Markdown.test.tsx +23 -0
- package/src/Markdown/Markdown.tsx +9 -7
- package/src/Markdown/incremental.test.ts +36 -0
- package/src/Markdown/parser.perf.test.ts +34 -12
- package/src/Markdown/parser.test.ts +210 -0
- package/src/Markdown/parser.ts +301 -6
- package/src/MobileNav/MobileNav.doc.mjs +20 -0
- package/src/MultiSelector/MultiSelector.doc.mjs +14 -1
- package/src/MultiSelector/MultiSelector.test.tsx +33 -0
- package/src/MultiSelector/MultiSelector.tsx +20 -0
- package/src/NavMenu/NavMenu.doc.mjs +15 -0
- package/src/NumberInput/NumberInput.test.tsx +48 -3
- package/src/NumberInput/NumberInput.tsx +32 -15
- package/src/Outline/parseOutlineFromMarkdown.test.ts +80 -0
- package/src/OverflowList/OverflowList.test.tsx +416 -0
- package/src/Overlay/Overlay.doc.mjs +6 -0
- package/src/Overlay/Overlay.test.tsx +356 -0
- package/src/Pagination/Pagination.test.tsx +162 -0
- package/src/Pagination/Pagination.tsx +80 -26
- package/src/Popover/Popover.test.tsx +65 -0
- package/src/PowerSearch/PowerSearch.doc.mjs +4 -4
- package/src/PowerSearch/PowerSearch.test.tsx +109 -1
- package/src/PowerSearch/PowerSearch.tsx +37 -16
- package/src/ProgressBar/ProgressBar.test.tsx +30 -0
- package/src/ProgressBar/ProgressBar.tsx +12 -5
- package/src/RadioList/RadioList.doc.mjs +7 -1
- package/src/RadioList/RadioList.test.tsx +65 -0
- package/src/RadioList/RadioList.tsx +10 -1
- package/src/RadioList/RadioListItem.tsx +13 -4
- package/src/Resizable/ResizeHandle.test.tsx +218 -0
- package/src/Resizable/ResizeHandle.tsx +22 -4
- package/src/Section/Section.test.tsx +4 -10
- package/src/SegmentedControl/SegmentedControl.doc.mjs +2 -2
- package/src/SegmentedControl/SegmentedControl.test.tsx +192 -0
- package/src/SegmentedControl/SegmentedControl.tsx +27 -5
- package/src/SegmentedControl/SegmentedControlItem.tsx +9 -4
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +12 -1
- package/src/Selector/Selector.test.tsx +30 -0
- package/src/Selector/Selector.tsx +18 -0
- package/src/SideNav/SideNav.doc.mjs +7 -1
- package/src/SideNav/SideNav.test.tsx +66 -0
- package/src/SideNav/SideNav.tsx +6 -2
- package/src/SideNav/SideNavCollapseButton.tsx +4 -3
- package/src/SideNav/SideNavSection.tsx +6 -4
- package/src/SizeContext/SizeContext.test.tsx +226 -0
- package/src/Slider/Slider.doc.mjs +14 -2
- package/src/Slider/Slider.test.tsx +30 -0
- package/src/Slider/Slider.tsx +20 -0
- package/src/Spinner/Spinner.tsx +1 -0
- package/src/Switch/Switch.doc.mjs +21 -9
- package/src/Switch/Switch.test.tsx +137 -0
- package/src/Switch/Switch.tsx +32 -7
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +185 -1
- package/src/TabList/TabMenu.tsx +45 -9
- package/src/Table/BaseTable.tsx +16 -3
- package/src/Table/Table.test.tsx +87 -0
- package/src/Table/TableBody.tsx +15 -2
- package/src/Table/TableCell.tsx +87 -8
- package/src/Table/TableFooter.tsx +15 -2
- package/src/Table/TableHeader.tsx +15 -2
- package/src/Table/index.ts +5 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.test.tsx +13 -0
- package/src/Table/plugins/columnResize/useTableColumnResize.tsx +3 -1
- package/src/Table/plugins/pagination/paginateData.ts +5 -1
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +13 -0
- package/src/Table/plugins/rowExpansion/index.ts +7 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +155 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +590 -0
- package/src/Table/plugins/selection/useTableSelectionState.test.tsx +23 -0
- package/src/Table/plugins/selection/useTableSelectionState.tsx +11 -6
- package/src/Table/plugins/sortable/useTableSortableState.test.tsx +35 -1
- package/src/Table/plugins/sortable/useTableSortableState.tsx +8 -4
- package/src/Table/tableContextMenu.test.tsx +27 -3
- package/src/Table/tableContextMenu.tsx +20 -2
- package/src/Table/useTablePagination.doc.mjs +4 -1
- package/src/Table/useTableRowExpansion.doc.mjs +80 -0
- package/src/Table/useTableSortable.doc.mjs +4 -1
- package/src/Text/Text.doc.mjs +2 -2
- package/src/Text/Text.test.tsx +11 -0
- package/src/Text/Text.tsx +4 -2
- package/src/Text/text.stylex.ts +41 -0
- package/src/TextArea/TextArea.doc.mjs +1 -1
- package/src/TextArea/TextArea.test.tsx +3 -3
- package/src/TextInput/TextInput.doc.mjs +1 -1
- package/src/TextInput/TextInput.test.tsx +3 -3
- package/src/Thumbnail/Thumbnail.test.tsx +36 -2
- package/src/Thumbnail/Thumbnail.tsx +4 -2
- package/src/TimeInput/TimeInput.doc.mjs +11 -6
- package/src/TimeInput/TimeInput.test.tsx +37 -0
- package/src/TimeInput/TimeInput.tsx +11 -1
- package/src/Timestamp/Timestamp.doc.mjs +1 -1
- package/src/Timestamp/Timestamp.test.tsx +52 -0
- package/src/Timestamp/Timestamp.tsx +30 -16
- package/src/Toast/Toast.tsx +11 -3
- package/src/Toast/ToastViewport.test.tsx +64 -0
- package/src/Toast/ToastViewport.tsx +12 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +1 -0
- package/src/Tokenizer/Tokenizer.doc.mjs +16 -4
- package/src/Tokenizer/Tokenizer.test.tsx +33 -0
- package/src/Tokenizer/Tokenizer.tsx +19 -0
- package/src/Toolbar/Toolbar.test.tsx +1 -1
- package/src/TopNav/TopNav.doc.mjs +1 -1
- package/src/TopNav/TopNav.test.tsx +18 -0
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +9 -2
- package/src/TreeList/TreeList.doc.mjs +2 -2
- package/src/Typeahead/BaseTypeahead.doc.mjs +19 -0
- package/src/Typeahead/BaseTypeahead.tsx +5 -2
- package/src/Typeahead/Typeahead.doc.mjs +7 -2
- package/src/Typeahead/Typeahead.test.tsx +45 -1
- package/src/__tests__/TestIcon.tsx +26 -0
- package/src/__tests__/fastRoleQueries.ts +66 -0
- package/src/docPropReferences.test.ts +178 -0
- package/src/docs-types.ts +14 -0
- package/src/hooks/focusableSelector.ts +1 -1
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useFocusTrap.doc.mjs +4 -2
- package/src/hooks/useFocusTrap.test.tsx +149 -1
- package/src/hooks/useFocusTrap.ts +50 -1
- package/src/hooks/useHotkeys.doc.mjs +52 -0
- package/src/hooks/useHotkeys.test.ts +245 -0
- package/src/hooks/useHotkeys.ts +203 -0
- package/src/hooks/useInteractiveRole.ts +12 -4
- package/src/hooks/useKeyboardHint.doc.mjs +6 -6
- package/src/hooks/useStreamingText.test.ts +54 -19
- package/src/hooks/useStreamingText.ts +16 -5
- package/src/theme/SyntaxTheme.doc.mjs +4 -4
- package/src/theme/defineTheme.ts +4 -13
- package/src/theme/derivedVarRegistry.test.ts +2 -2
- package/src/theme/expandColorScale.test.ts +29 -0
- package/src/theme/expandColorScale.ts +11 -6
- package/src/theme/hct.ts +9 -17
- package/src/theme/tokens.test.ts +182 -9
- package/src/theme/tokens.ts +239 -4
- package/src/theme/useTheme.test.tsx +20 -0
- package/src/utils/color.test.ts +133 -0
- package/src/utils/color.ts +148 -0
- package/src/utils/composeEventHandlers.test.ts +71 -0
- package/src/utils/composeEventHandlers.ts +44 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/mergeProps.test.ts +166 -0
- package/src/utils/sharedResizeObserver.test.ts +2 -2
- package/src/utils/timeParser.test.ts +13 -0
- package/src/utils/timeParser.ts +8 -5
|
@@ -27,6 +27,16 @@ export const docs = {
|
|
|
27
27
|
description: 'StyleX styles for layout customization. Must be a stylex.create() value.',
|
|
28
28
|
},
|
|
29
29
|
],
|
|
30
|
+
playground: {
|
|
31
|
+
defaults: {
|
|
32
|
+
heading: 'Navigation',
|
|
33
|
+
children: [
|
|
34
|
+
{__element: 'CommandPaletteItem', props: {value: 'home', onSelect: undefined}, children: 'Go Home'},
|
|
35
|
+
{__element: 'CommandPaletteItem', props: {value: 'settings', onSelect: undefined}, children: 'Open Settings'},
|
|
36
|
+
{__element: 'CommandPaletteItem', props: {value: 'profile', onSelect: undefined}, children: 'View Profile'},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
30
40
|
};
|
|
31
41
|
|
|
32
42
|
export const docsZh = {
|
|
@@ -57,6 +57,12 @@ export const docs = {
|
|
|
57
57
|
description: 'StyleX styles for layout customization. Must be a stylex.create() value.',
|
|
58
58
|
},
|
|
59
59
|
],
|
|
60
|
+
playground: {
|
|
61
|
+
defaults: {
|
|
62
|
+
placeholder: 'Search commands, files, or actions...',
|
|
63
|
+
hasAutoFocus: false,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
60
66
|
};
|
|
61
67
|
|
|
62
68
|
export const docsZh = {
|
|
@@ -50,6 +50,12 @@ export const docs = {
|
|
|
50
50
|
description: 'StyleX styles for layout customization. Must be a stylex.create() value.',
|
|
51
51
|
},
|
|
52
52
|
],
|
|
53
|
+
playground: {
|
|
54
|
+
defaults: {
|
|
55
|
+
value: 'go-home',
|
|
56
|
+
children: 'Go to Dashboard',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
53
59
|
};
|
|
54
60
|
|
|
55
61
|
export const docsZh = {
|
|
@@ -27,6 +27,15 @@ export const docs = {
|
|
|
27
27
|
description: 'StyleX styles for layout customization. Must be a stylex.create() value.',
|
|
28
28
|
},
|
|
29
29
|
],
|
|
30
|
+
playground: {
|
|
31
|
+
defaults: {
|
|
32
|
+
children: [
|
|
33
|
+
{__element: 'CommandPaletteItem', props: {value: 'home', onSelect: undefined}, children: 'Go Home'},
|
|
34
|
+
{__element: 'CommandPaletteItem', props: {value: 'settings', onSelect: undefined}, children: 'Open Settings'},
|
|
35
|
+
{__element: 'CommandPaletteItem', props: {value: 'profile', onSelect: undefined}, children: 'View Profile'},
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
},
|
|
30
39
|
};
|
|
31
40
|
|
|
32
41
|
export const docsZh = {
|
|
@@ -78,6 +78,21 @@ export const docs = {
|
|
|
78
78
|
{ guidance: false, description: 'Place more than 10–12 items in a single menu without grouping them into sections.' },
|
|
79
79
|
],
|
|
80
80
|
},
|
|
81
|
+
playground: {
|
|
82
|
+
defaults: {
|
|
83
|
+
children: {
|
|
84
|
+
__element: 'Card',
|
|
85
|
+
props: {padding: 6},
|
|
86
|
+
children: {__element: 'Text', props: {color: 'secondary'}, children: 'Right-click this area'},
|
|
87
|
+
},
|
|
88
|
+
items: [
|
|
89
|
+
{label: 'Edit'},
|
|
90
|
+
{label: 'Duplicate'},
|
|
91
|
+
{type: 'divider'},
|
|
92
|
+
{label: 'Delete'},
|
|
93
|
+
],
|
|
94
|
+
},
|
|
95
|
+
},
|
|
81
96
|
};
|
|
82
97
|
|
|
83
98
|
/** @type {import('../docs-types').TranslationDoc} */
|
|
@@ -172,6 +172,21 @@ describe('ContextMenu', () => {
|
|
|
172
172
|
expect(preventDefault).toHaveBeenCalled();
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
+
it('prevents default context menu on the opened menu container', () => {
|
|
176
|
+
render(
|
|
177
|
+
<ContextMenu items={[{label: 'Item 1'}]}>
|
|
178
|
+
<div>Right-click me</div>
|
|
179
|
+
</ContextMenu>,
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
fireEvent.contextMenu(screen.getByText('Right-click me'));
|
|
183
|
+
const menu = screen.getByRole('menu', {hidden: true});
|
|
184
|
+
const event = new MouseEvent('contextmenu', {bubbles: true});
|
|
185
|
+
const preventDefault = vi.spyOn(event, 'preventDefault');
|
|
186
|
+
menu.dispatchEvent(event);
|
|
187
|
+
expect(preventDefault).toHaveBeenCalled();
|
|
188
|
+
});
|
|
189
|
+
|
|
175
190
|
it('does not open when isDisabled is true', () => {
|
|
176
191
|
render(
|
|
177
192
|
<ContextMenu items={[{label: 'Item 1'}]} isDisabled>
|
|
@@ -55,6 +55,7 @@ import {
|
|
|
55
55
|
} from '../theme/tokens.stylex';
|
|
56
56
|
import {mergeProps} from '../utils';
|
|
57
57
|
import type {BaseProps} from '../BaseProps';
|
|
58
|
+
import type {StyleXStyles} from '../theme/types';
|
|
58
59
|
import {themeProps} from '../utils/themeProps';
|
|
59
60
|
import type {
|
|
60
61
|
DropdownMenuOption,
|
|
@@ -86,6 +87,7 @@ const styles = stylex.create({
|
|
|
86
87
|
transitionProperty: 'opacity',
|
|
87
88
|
transitionDuration: durationVars['--duration-fast'],
|
|
88
89
|
transitionTimingFunction: easeVars['--ease-standard'],
|
|
90
|
+
userSelect: 'none',
|
|
89
91
|
},
|
|
90
92
|
popover: {
|
|
91
93
|
minWidth: '160px',
|
|
@@ -114,6 +116,13 @@ export type ContextMenuOption = DropdownMenuOption;
|
|
|
114
116
|
interface ContextMenuBaseProps extends BaseProps {
|
|
115
117
|
/** Ref forwarded to the trigger wrapper element. */
|
|
116
118
|
ref?: React.Ref<HTMLDivElement>;
|
|
119
|
+
/**
|
|
120
|
+
* Styles applied to the trigger wrapper element (the right-click target).
|
|
121
|
+
* By default the trigger is a plain block that hugs its content — pass a
|
|
122
|
+
* fill style (e.g. `width/height: 100%`) when the whole parent area should
|
|
123
|
+
* be right-clickable (as the Table does for full-cell context menus).
|
|
124
|
+
*/
|
|
125
|
+
triggerXstyle?: StyleXStyles | StyleXStyles[];
|
|
117
126
|
/** The trigger area — right-click on this to open the menu. */
|
|
118
127
|
children: ReactNode;
|
|
119
128
|
/** Custom menu width. @default '160px' */
|
|
@@ -184,6 +193,7 @@ export function ContextMenu({
|
|
|
184
193
|
className,
|
|
185
194
|
style,
|
|
186
195
|
xstyle,
|
|
196
|
+
triggerXstyle,
|
|
187
197
|
'data-testid': testId,
|
|
188
198
|
...props
|
|
189
199
|
}: ContextMenuProps) {
|
|
@@ -382,7 +392,14 @@ export function ContextMenu({
|
|
|
382
392
|
onContextMenu={handleContextMenu}
|
|
383
393
|
{...longPressHandlers}
|
|
384
394
|
data-testid={testId}
|
|
385
|
-
{...stylex.props(
|
|
395
|
+
{...stylex.props(
|
|
396
|
+
styles.trigger,
|
|
397
|
+
...(triggerXstyle
|
|
398
|
+
? Array.isArray(triggerXstyle)
|
|
399
|
+
? triggerXstyle
|
|
400
|
+
: [triggerXstyle]
|
|
401
|
+
: []),
|
|
402
|
+
)}>
|
|
386
403
|
{children}
|
|
387
404
|
</div>
|
|
388
405
|
|
|
@@ -393,6 +410,7 @@ export function ContextMenu({
|
|
|
393
410
|
role="menu"
|
|
394
411
|
aria-label={label}
|
|
395
412
|
onKeyDown={listKeyDown}
|
|
413
|
+
onContextMenu={e => e.preventDefault()}
|
|
396
414
|
{...mergeProps(
|
|
397
415
|
themeProps('context-menu'),
|
|
398
416
|
stylex.props(styles.menu, xstyle),
|
|
@@ -56,7 +56,7 @@ export const docs = {
|
|
|
56
56
|
name: 'disabledMessage',
|
|
57
57
|
type: 'string',
|
|
58
58
|
description:
|
|
59
|
-
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateInput in Tooltip
|
|
59
|
+
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
name: 'value',
|
|
@@ -432,6 +432,11 @@ export const docsDense = {
|
|
|
432
432
|
description:
|
|
433
433
|
'Show a loading state with changeAction when the date triggers a server-side save.',
|
|
434
434
|
},
|
|
435
|
+
{
|
|
436
|
+
guidance: true,
|
|
437
|
+
description:
|
|
438
|
+
'Use inside InputGroup for a short static prefix or suffix, such as a due-date hint.',
|
|
439
|
+
},
|
|
435
440
|
{
|
|
436
441
|
guidance: false,
|
|
437
442
|
description:
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import {describe, it, expect, vi, beforeEach} from 'vitest';
|
|
13
13
|
import {render, screen, fireEvent, waitFor} from '@testing-library/react';
|
|
14
14
|
import userEvent from '@testing-library/user-event';
|
|
15
|
+
import {getButton, queryButton} from '../__tests__/fastRoleQueries';
|
|
15
16
|
import {DateInput} from './DateInput';
|
|
16
17
|
import {InputGroup} from '../InputGroup';
|
|
17
18
|
import {InputGroupText} from '../InputGroup/InputGroupText';
|
|
@@ -92,14 +93,14 @@ describe('DateInput', () => {
|
|
|
92
93
|
|
|
93
94
|
it('calendar button is focusable and clickable', () => {
|
|
94
95
|
render(<DateInput label="Date" onChange={() => {}} />);
|
|
95
|
-
const button =
|
|
96
|
+
const button = getButton('Open calendar');
|
|
96
97
|
expect(button).toBeInTheDocument();
|
|
97
98
|
expect(button).not.toBeDisabled();
|
|
98
99
|
});
|
|
99
100
|
|
|
100
101
|
it('calendar button is disabled when isDisabled is true', () => {
|
|
101
102
|
render(<DateInput label="Date" isDisabled onChange={() => {}} />);
|
|
102
|
-
const button =
|
|
103
|
+
const button = getButton('Open calendar');
|
|
103
104
|
expect(button).toBeDisabled();
|
|
104
105
|
});
|
|
105
106
|
|
|
@@ -282,7 +283,7 @@ describe('DateInput', () => {
|
|
|
282
283
|
it('disables input and button when isLoading is true', () => {
|
|
283
284
|
render(<DateInput label="Date" isLoading onChange={() => {}} />);
|
|
284
285
|
expect(screen.getByRole('combobox')).toBeDisabled();
|
|
285
|
-
expect(
|
|
286
|
+
expect(getButton('Open calendar')).toBeDisabled();
|
|
286
287
|
});
|
|
287
288
|
|
|
288
289
|
it('shows spinner when isLoading is true', () => {
|
|
@@ -475,7 +476,7 @@ describe('DateInput', () => {
|
|
|
475
476
|
|
|
476
477
|
it('does not open popover when clicking calendar button while disabled', () => {
|
|
477
478
|
render(<DateInput label="Date" isDisabled onChange={() => {}} />);
|
|
478
|
-
const button =
|
|
479
|
+
const button = getButton('Open calendar');
|
|
479
480
|
fireEvent.click(button);
|
|
480
481
|
expect(screen.getByRole('combobox')).toHaveAttribute(
|
|
481
482
|
'aria-expanded',
|
|
@@ -513,23 +514,17 @@ describe('DateInput', () => {
|
|
|
513
514
|
hasClear
|
|
514
515
|
/>,
|
|
515
516
|
);
|
|
516
|
-
expect(
|
|
517
|
-
screen.getByRole('button', {name: 'Clear Date'}),
|
|
518
|
-
).toBeInTheDocument();
|
|
517
|
+
expect(getButton('Clear Date')).toBeInTheDocument();
|
|
519
518
|
});
|
|
520
519
|
|
|
521
520
|
it('does not show clear button when value is undefined', () => {
|
|
522
521
|
render(<DateInput label="Date" onChange={() => {}} hasClear />);
|
|
523
|
-
expect(
|
|
524
|
-
screen.queryByRole('button', {name: 'Clear Date'}),
|
|
525
|
-
).not.toBeInTheDocument();
|
|
522
|
+
expect(queryButton('Clear Date')).not.toBeInTheDocument();
|
|
526
523
|
});
|
|
527
524
|
|
|
528
525
|
it('does not show clear button when hasClear is false', () => {
|
|
529
526
|
render(<DateInput label="Date" value="2026-01-15" onChange={() => {}} />);
|
|
530
|
-
expect(
|
|
531
|
-
screen.queryByRole('button', {name: 'Clear Date'}),
|
|
532
|
-
).not.toBeInTheDocument();
|
|
527
|
+
expect(queryButton('Clear Date')).not.toBeInTheDocument();
|
|
533
528
|
});
|
|
534
529
|
|
|
535
530
|
it('does not show clear button when disabled', () => {
|
|
@@ -542,9 +537,7 @@ describe('DateInput', () => {
|
|
|
542
537
|
isDisabled
|
|
543
538
|
/>,
|
|
544
539
|
);
|
|
545
|
-
expect(
|
|
546
|
-
screen.queryByRole('button', {name: 'Clear Date'}),
|
|
547
|
-
).not.toBeInTheDocument();
|
|
540
|
+
expect(queryButton('Clear Date')).not.toBeInTheDocument();
|
|
548
541
|
});
|
|
549
542
|
|
|
550
543
|
it('calls onChange with undefined when clear is clicked', () => {
|
|
@@ -557,7 +550,7 @@ describe('DateInput', () => {
|
|
|
557
550
|
hasClear
|
|
558
551
|
/>,
|
|
559
552
|
);
|
|
560
|
-
fireEvent.click(
|
|
553
|
+
fireEvent.click(getButton('Clear Date'));
|
|
561
554
|
expect(onChange).toHaveBeenCalledWith(undefined);
|
|
562
555
|
});
|
|
563
556
|
});
|
|
@@ -699,9 +692,7 @@ describe('DateInput', () => {
|
|
|
699
692
|
expect(input).toHaveAttribute('aria-disabled', 'true');
|
|
700
693
|
expect(input.getAttribute('aria-describedby')).toContain(tooltip.id);
|
|
701
694
|
expect(tooltip).toHaveTextContent('Scheduling is locked');
|
|
702
|
-
expect(
|
|
703
|
-
screen.getByRole('button', {name: 'Open calendar'}),
|
|
704
|
-
).toBeDisabled();
|
|
695
|
+
expect(getButton('Open calendar')).toBeDisabled();
|
|
705
696
|
});
|
|
706
697
|
});
|
|
707
698
|
|
|
@@ -52,7 +52,7 @@ export const docs = {
|
|
|
52
52
|
name: 'disabledMessage',
|
|
53
53
|
type: 'string',
|
|
54
54
|
description:
|
|
55
|
-
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateRangeInput in Tooltip
|
|
55
|
+
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateRangeInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
name: 'value',
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
import {describe, it, expect, vi, beforeEach} from 'vitest';
|
|
13
13
|
import {render, screen, fireEvent, waitFor} from '@testing-library/react';
|
|
14
14
|
import userEvent from '@testing-library/user-event';
|
|
15
|
+
// getButton/queryButton instead of getByRole('button', {name}): the closed
|
|
16
|
+
// popover keeps a two-month Calendar (~85 role=button nodes) mounted, which
|
|
17
|
+
// made every role+name query compute ~85 accessible names through jsdom's
|
|
18
|
+
// slow getComputedStyle (~450ms per query). See fastRoleQueries.ts.
|
|
19
|
+
import {getButton, queryButton} from '../__tests__/fastRoleQueries';
|
|
15
20
|
import {DateRangeInput} from './DateRangeInput';
|
|
16
21
|
import type {DateRange} from './DateRangeInput';
|
|
17
22
|
|
|
@@ -53,7 +58,7 @@ describe('DateRangeInput', () => {
|
|
|
53
58
|
hasClear={false}
|
|
54
59
|
/>,
|
|
55
60
|
);
|
|
56
|
-
const trigger =
|
|
61
|
+
const trigger = getButton(/Range:/);
|
|
57
62
|
expect(trigger.textContent).toMatch(/Mar/);
|
|
58
63
|
expect(trigger.textContent).toMatch(/15/);
|
|
59
64
|
expect(trigger.textContent).toMatch(/22/);
|
|
@@ -93,13 +98,13 @@ describe('DateRangeInput', () => {
|
|
|
93
98
|
onChange={() => {}}
|
|
94
99
|
/>,
|
|
95
100
|
);
|
|
96
|
-
const trigger =
|
|
101
|
+
const trigger = getButton(/Range/);
|
|
97
102
|
expect(trigger).toHaveAttribute('aria-required', 'true');
|
|
98
103
|
});
|
|
99
104
|
|
|
100
105
|
it('does not set aria-required when isRequired is false', () => {
|
|
101
106
|
render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
|
|
102
|
-
const trigger =
|
|
107
|
+
const trigger = getButton(/Range/);
|
|
103
108
|
expect(trigger).not.toHaveAttribute('aria-required');
|
|
104
109
|
});
|
|
105
110
|
|
|
@@ -112,25 +117,25 @@ describe('DateRangeInput', () => {
|
|
|
112
117
|
onChange={() => {}}
|
|
113
118
|
/>,
|
|
114
119
|
);
|
|
115
|
-
const trigger =
|
|
120
|
+
const trigger = getButton(/Range/);
|
|
116
121
|
expect(trigger).toBeDisabled();
|
|
117
122
|
});
|
|
118
123
|
|
|
119
124
|
it('is not disabled by default', () => {
|
|
120
125
|
render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
|
|
121
|
-
const trigger =
|
|
126
|
+
const trigger = getButton(/Range/);
|
|
122
127
|
expect(trigger).not.toBeDisabled();
|
|
123
128
|
});
|
|
124
129
|
|
|
125
130
|
it('trigger has aria-haspopup="dialog"', () => {
|
|
126
131
|
render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
|
|
127
|
-
const trigger =
|
|
132
|
+
const trigger = getButton(/Range/);
|
|
128
133
|
expect(trigger).toHaveAttribute('aria-haspopup', 'dialog');
|
|
129
134
|
});
|
|
130
135
|
|
|
131
136
|
it('trigger has aria-expanded=false by default', () => {
|
|
132
137
|
render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
|
|
133
|
-
const trigger =
|
|
138
|
+
const trigger = getButton(/Range/);
|
|
134
139
|
expect(trigger).toHaveAttribute('aria-expanded', 'false');
|
|
135
140
|
});
|
|
136
141
|
|
|
@@ -143,7 +148,7 @@ describe('DateRangeInput', () => {
|
|
|
143
148
|
status={{type: 'error', message: 'Required'}}
|
|
144
149
|
/>,
|
|
145
150
|
);
|
|
146
|
-
const trigger =
|
|
151
|
+
const trigger = getButton(/Range/);
|
|
147
152
|
expect(trigger).toHaveAttribute('aria-invalid', 'true');
|
|
148
153
|
});
|
|
149
154
|
|
|
@@ -156,7 +161,7 @@ describe('DateRangeInput', () => {
|
|
|
156
161
|
status={{type: 'warning', message: 'Watch out'}}
|
|
157
162
|
/>,
|
|
158
163
|
);
|
|
159
|
-
const trigger =
|
|
164
|
+
const trigger = getButton(/Range/);
|
|
160
165
|
expect(trigger).not.toHaveAttribute('aria-invalid');
|
|
161
166
|
});
|
|
162
167
|
|
|
@@ -181,7 +186,7 @@ describe('DateRangeInput', () => {
|
|
|
181
186
|
status={{type: 'error', message: 'Please select dates'}}
|
|
182
187
|
/>,
|
|
183
188
|
);
|
|
184
|
-
const trigger =
|
|
189
|
+
const trigger = getButton(/Range/);
|
|
185
190
|
const describedBy = trigger.getAttribute('aria-describedby')!;
|
|
186
191
|
const ids = describedBy.split(' ');
|
|
187
192
|
const found = ids.some(id => {
|
|
@@ -193,9 +198,7 @@ describe('DateRangeInput', () => {
|
|
|
193
198
|
|
|
194
199
|
it('calendar icon button is present', () => {
|
|
195
200
|
render(<DateRangeInput label="Range" value={null} onChange={() => {}} />);
|
|
196
|
-
expect(
|
|
197
|
-
screen.getByRole('button', {name: 'Open calendar'}),
|
|
198
|
-
).toBeInTheDocument();
|
|
201
|
+
expect(getButton('Open calendar')).toBeInTheDocument();
|
|
199
202
|
});
|
|
200
203
|
|
|
201
204
|
it('calendar icon button is disabled when isDisabled', () => {
|
|
@@ -207,7 +210,7 @@ describe('DateRangeInput', () => {
|
|
|
207
210
|
onChange={() => {}}
|
|
208
211
|
/>,
|
|
209
212
|
);
|
|
210
|
-
expect(
|
|
213
|
+
expect(getButton('Open calendar')).toBeDisabled();
|
|
211
214
|
});
|
|
212
215
|
|
|
213
216
|
it('renders with size="lg"', () => {
|
|
@@ -236,9 +239,7 @@ describe('DateRangeInput', () => {
|
|
|
236
239
|
hasClear
|
|
237
240
|
/>,
|
|
238
241
|
);
|
|
239
|
-
expect(
|
|
240
|
-
screen.getByRole('button', {name: 'Clear Range'}),
|
|
241
|
-
).toBeInTheDocument();
|
|
242
|
+
expect(getButton('Clear Range')).toBeInTheDocument();
|
|
242
243
|
});
|
|
243
244
|
|
|
244
245
|
it('does not show clear button when value is null', () => {
|
|
@@ -250,9 +251,7 @@ describe('DateRangeInput', () => {
|
|
|
250
251
|
hasClear
|
|
251
252
|
/>,
|
|
252
253
|
);
|
|
253
|
-
expect(
|
|
254
|
-
screen.queryByRole('button', {name: 'Clear Range'}),
|
|
255
|
-
).not.toBeInTheDocument();
|
|
254
|
+
expect(queryButton('Clear Range')).not.toBeInTheDocument();
|
|
256
255
|
});
|
|
257
256
|
|
|
258
257
|
it('does not show clear button when hasClear is false', () => {
|
|
@@ -268,9 +267,7 @@ describe('DateRangeInput', () => {
|
|
|
268
267
|
hasClear={false}
|
|
269
268
|
/>,
|
|
270
269
|
);
|
|
271
|
-
expect(
|
|
272
|
-
screen.queryByRole('button', {name: 'Clear Range'}),
|
|
273
|
-
).not.toBeInTheDocument();
|
|
270
|
+
expect(queryButton('Clear Range')).not.toBeInTheDocument();
|
|
274
271
|
});
|
|
275
272
|
|
|
276
273
|
it('does not show clear button when disabled', () => {
|
|
@@ -287,9 +284,7 @@ describe('DateRangeInput', () => {
|
|
|
287
284
|
isDisabled
|
|
288
285
|
/>,
|
|
289
286
|
);
|
|
290
|
-
expect(
|
|
291
|
-
screen.queryByRole('button', {name: 'Clear Range'}),
|
|
292
|
-
).not.toBeInTheDocument();
|
|
287
|
+
expect(queryButton('Clear Range')).not.toBeInTheDocument();
|
|
293
288
|
});
|
|
294
289
|
|
|
295
290
|
it('calls onChange with null when clear is clicked', () => {
|
|
@@ -306,7 +301,7 @@ describe('DateRangeInput', () => {
|
|
|
306
301
|
hasClear
|
|
307
302
|
/>,
|
|
308
303
|
);
|
|
309
|
-
fireEvent.click(
|
|
304
|
+
fireEvent.click(getButton('Clear Range'));
|
|
310
305
|
expect(onChange).toHaveBeenCalledWith(null);
|
|
311
306
|
});
|
|
312
307
|
});
|
|
@@ -346,9 +341,7 @@ describe('DateRangeInput', () => {
|
|
|
346
341
|
expect(
|
|
347
342
|
screen.getByRole('group', {name: 'Preset date ranges', hidden: true}),
|
|
348
343
|
).toBeInTheDocument();
|
|
349
|
-
expect(
|
|
350
|
-
screen.getByRole('button', {name: 'Last 7 days', hidden: true}),
|
|
351
|
-
).toBeInTheDocument();
|
|
344
|
+
expect(getButton('Last 7 days')).toBeInTheDocument();
|
|
352
345
|
});
|
|
353
346
|
|
|
354
347
|
it('marks the applied preset with aria-current, not aria-selected', () => {
|
|
@@ -360,16 +353,10 @@ describe('DateRangeInput', () => {
|
|
|
360
353
|
presets={presets}
|
|
361
354
|
/>,
|
|
362
355
|
);
|
|
363
|
-
const active =
|
|
364
|
-
name: 'Last 7 days',
|
|
365
|
-
hidden: true,
|
|
366
|
-
});
|
|
356
|
+
const active = getButton('Last 7 days');
|
|
367
357
|
expect(active).toHaveAttribute('aria-current', 'true');
|
|
368
358
|
expect(active).not.toHaveAttribute('aria-selected');
|
|
369
|
-
const inactive =
|
|
370
|
-
name: 'This month',
|
|
371
|
-
hidden: true,
|
|
372
|
-
});
|
|
359
|
+
const inactive = getButton('This month');
|
|
373
360
|
expect(inactive).not.toHaveAttribute('aria-current');
|
|
374
361
|
});
|
|
375
362
|
});
|
|
@@ -405,7 +392,7 @@ describe('DateRangeInput', () => {
|
|
|
405
392
|
it('shows the reason tooltip on hover when disabled with a reason', async () => {
|
|
406
393
|
renderDisabled({disabledMessage: 'You need the Editor role'});
|
|
407
394
|
|
|
408
|
-
const trigger =
|
|
395
|
+
const trigger = getButton(/Range:/);
|
|
409
396
|
const container = trigger.parentElement as HTMLElement;
|
|
410
397
|
const tooltip = screen.getByRole('tooltip', h);
|
|
411
398
|
expect(tooltip).toHaveTextContent('You need the Editor role');
|
|
@@ -427,7 +414,7 @@ describe('DateRangeInput', () => {
|
|
|
427
414
|
|
|
428
415
|
const tooltip = screen.getByRole('tooltip', h);
|
|
429
416
|
await user.tab();
|
|
430
|
-
expect(
|
|
417
|
+
expect(getButton(/Range:/)).toHaveFocus();
|
|
431
418
|
await waitFor(() => {
|
|
432
419
|
expect(tooltip).toHaveAttribute('popover-open');
|
|
433
420
|
});
|
|
@@ -452,14 +439,14 @@ describe('DateRangeInput', () => {
|
|
|
452
439
|
|
|
453
440
|
it('keeps the trigger focusable via aria-disabled when a reason is provided', () => {
|
|
454
441
|
renderDisabled({disabledMessage: 'You need the Editor role'});
|
|
455
|
-
const trigger =
|
|
442
|
+
const trigger = getButton(/Range:/);
|
|
456
443
|
expect(trigger).not.toBeDisabled();
|
|
457
444
|
expect(trigger).toHaveAttribute('aria-disabled', 'true');
|
|
458
445
|
});
|
|
459
446
|
|
|
460
447
|
it('links the reason tooltip from the trigger via aria-describedby', () => {
|
|
461
448
|
renderDisabled({disabledMessage: 'You need the Editor role'});
|
|
462
|
-
const trigger =
|
|
449
|
+
const trigger = getButton(/Range:/);
|
|
463
450
|
const tooltip = screen.getByRole('tooltip', h);
|
|
464
451
|
expect(trigger.getAttribute('aria-describedby')).toContain(tooltip.id);
|
|
465
452
|
});
|
|
@@ -468,7 +455,7 @@ describe('DateRangeInput', () => {
|
|
|
468
455
|
const user = userEvent.setup();
|
|
469
456
|
renderDisabled({disabledMessage: 'You need the Editor role'});
|
|
470
457
|
|
|
471
|
-
const trigger =
|
|
458
|
+
const trigger = getButton(/Range:/);
|
|
472
459
|
await user.click(trigger);
|
|
473
460
|
expect(trigger).toHaveAttribute('aria-expanded', 'false');
|
|
474
461
|
|
|
@@ -478,7 +465,7 @@ describe('DateRangeInput', () => {
|
|
|
478
465
|
|
|
479
466
|
it('remains natively disabled when disabled without a reason', () => {
|
|
480
467
|
renderDisabled();
|
|
481
|
-
const trigger =
|
|
468
|
+
const trigger = getButton(/Range:/);
|
|
482
469
|
expect(trigger).toBeDisabled();
|
|
483
470
|
expect(trigger).not.toHaveAttribute('aria-disabled');
|
|
484
471
|
});
|
|
@@ -146,8 +146,8 @@ const styles = stylex.create({
|
|
|
146
146
|
},
|
|
147
147
|
},
|
|
148
148
|
fontFamily: typographyVars['--font-family-body'],
|
|
149
|
-
fontSize: typeScaleVars['--text-
|
|
150
|
-
lineHeight: typeScaleVars['--text-
|
|
149
|
+
fontSize: typeScaleVars['--text-label-size'],
|
|
150
|
+
lineHeight: typeScaleVars['--text-label-leading'],
|
|
151
151
|
color: colorVars['--color-text-primary'],
|
|
152
152
|
cursor: 'pointer',
|
|
153
153
|
textAlign: 'start',
|
|
@@ -58,7 +58,7 @@ export const docs = {
|
|
|
58
58
|
name: 'disabledMessage',
|
|
59
59
|
type: 'string',
|
|
60
60
|
description:
|
|
61
|
-
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateTimeInput in Tooltip
|
|
61
|
+
'Explains why the input is disabled. With isDisabled, shows a tooltip on hover/keyboard focus and keeps the field focusable via aria-disabled (activation stays blocked). Use this instead of wrapping a disabled DateTimeInput in Tooltip. Disabled controls swallow the hover events an external Tooltip needs.',
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
name: 'value',
|
|
@@ -118,7 +118,7 @@ export const docs = {
|
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
name: 'timeIncrement',
|
|
121
|
-
type: '
|
|
121
|
+
type: '1 | 5 | 10 | 15 | 30',
|
|
122
122
|
description:
|
|
123
123
|
'Minutes to add or subtract when using arrow keys in the time input.',
|
|
124
124
|
default: '1',
|
|
@@ -413,7 +413,7 @@ export const docsZh = {
|
|
|
413
413
|
},
|
|
414
414
|
{
|
|
415
415
|
name: 'timeIncrement',
|
|
416
|
-
type: '
|
|
416
|
+
type: '1 | 5 | 10 | 15 | 30',
|
|
417
417
|
description: '在时间输入中按箭头键时增减的分钟数。',
|
|
418
418
|
default: '1',
|
|
419
419
|
},
|
|
@@ -469,6 +469,7 @@ export const docsZh = {
|
|
|
469
469
|
description:
|
|
470
470
|
'用于布局自定义的 StyleX 样式。必须是 stylex.create() 的值。',
|
|
471
471
|
},
|
|
472
|
+
|
|
472
473
|
],
|
|
473
474
|
theming: {
|
|
474
475
|
targets: [
|