@astryxdesign/core 0.1.2 → 0.1.3-canary.6d57c8d
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 +165 -0
- package/README.md +12 -12
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +11 -5
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +24 -5
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +2 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +0 -1
- package/dist/Calendar/Calendar.d.ts +5 -4
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +82 -43
- package/dist/Calendar/hooks/index.d.ts +0 -2
- package/dist/Calendar/hooks/index.d.ts.map +1 -1
- package/dist/Calendar/hooks/index.js +1 -2
- package/dist/Calendar/index.d.ts +3 -3
- package/dist/Calendar/index.d.ts.map +1 -1
- package/dist/Calendar/index.js +1 -1
- package/dist/Calendar/styles.d.ts +3 -9
- package/dist/Calendar/styles.d.ts.map +1 -1
- package/dist/Calendar/styles.js +3 -11
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +17 -3
- package/dist/Center/Center.d.ts +11 -1
- package/dist/Center/Center.d.ts.map +1 -1
- package/dist/Center/Center.js +9 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +0 -1
- package/dist/Chat/ChatMessageList.d.ts +14 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +2 -0
- package/dist/Chat/useTriggerMenu.d.ts +8 -1
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +15 -3
- package/dist/CheckboxInput/CheckboxInput.d.ts +23 -2
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +51 -9
- package/dist/CheckboxList/CheckboxList.d.ts +13 -1
- package/dist/CheckboxList/CheckboxList.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxList.js +39 -9
- package/dist/CheckboxList/CheckboxListContext.d.ts +7 -0
- package/dist/CheckboxList/CheckboxListContext.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +0 -1
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +9 -5
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +51 -37
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +5 -5
- package/dist/ContextMenu/ContextMenu.d.ts +4 -5
- package/dist/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +93 -11
- package/dist/DateInput/DateInput.d.ts +23 -1
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +167 -99
- package/dist/DateRangeInput/DateRangeInput.d.ts +23 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +42 -9
- package/dist/DateTimeInput/DateTimeInput.d.ts +35 -2
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +78 -15
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +12 -0
- package/dist/DropdownMenu/DropdownMenu.d.ts +1 -8
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +42 -14
- package/dist/Field/Field.d.ts +19 -2
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +4 -0
- package/dist/Field/FieldLabel.d.ts +21 -2
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +41 -26
- package/dist/FileInput/FileInput.d.ts +22 -1
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +56 -10
- package/dist/Grid/Grid.d.ts +11 -1
- package/dist/Grid/Grid.d.ts.map +1 -1
- package/dist/Grid/Grid.js +32 -6
- package/dist/InputGroup/InputGroup.d.ts +4 -3
- package/dist/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/InputGroup/InputGroup.js +16 -6
- package/dist/InputGroup/InputGroupContext.d.ts +4 -0
- package/dist/InputGroup/InputGroupContext.d.ts.map +1 -1
- package/dist/InputGroup/InputGroupContext.js +2 -2
- package/dist/InputGroup/groupStyles.d.ts +1 -1
- package/dist/InputGroup/groupStyles.d.ts.map +1 -1
- package/dist/InputGroup/groupStyles.js +3 -3
- package/dist/InputGroup/index.d.ts +1 -0
- package/dist/InputGroup/index.d.ts.map +1 -1
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +33 -1
- package/dist/Layer/layerAnimations.stylex.d.ts +4 -0
- package/dist/Layer/layerAnimations.stylex.d.ts.map +1 -1
- package/dist/Layer/layerAnimations.stylex.js +8 -4
- package/dist/Layer/useLayer.d.ts +10 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +64 -9
- package/dist/Layout/Layout.d.ts +4 -11
- package/dist/Layout/Layout.d.ts.map +1 -1
- package/dist/Layout/Layout.js +10 -11
- package/dist/Layout/LayoutFooter.d.ts +2 -2
- package/dist/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/Layout/LayoutHeader.d.ts +2 -2
- package/dist/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/Layout/LayoutPanel.d.ts +2 -2
- package/dist/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.d.ts +51 -0
- package/dist/Layout/padding.stylex.d.ts.map +1 -1
- package/dist/Layout/padding.stylex.js +63 -0
- package/dist/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/Lightbox/Lightbox.js +4 -2
- package/dist/Link/Link.d.ts +16 -1
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +18 -7
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.js +7 -0
- package/dist/MoreMenu/MoreMenu.d.ts +1 -7
- package/dist/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/MoreMenu/MoreMenu.js +0 -2
- package/dist/MultiSelector/MultiSelector.d.ts +27 -2
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +141 -42
- package/dist/MultiSelector/hooks.d.ts +12 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +14 -1
- package/dist/NavMenu/NavHeadingMenu.d.ts.map +1 -1
- package/dist/NavMenu/NavHeadingMenu.js +34 -3
- package/dist/NumberInput/NumberInput.d.ts +23 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +62 -12
- package/dist/Pagination/Pagination.d.ts +1 -1
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +15 -1
- package/dist/Popover/Popover.d.ts +18 -2
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +5 -2
- package/dist/Popover/usePopover.d.ts +38 -3
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +24 -9
- package/dist/PowerSearch/PowerSearch.d.ts +11 -1
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +6 -1
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +3 -5
- package/dist/RadioList/RadioList.d.ts +20 -2
- package/dist/RadioList/RadioList.d.ts.map +1 -1
- package/dist/RadioList/RadioList.js +105 -9
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +13 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts +13 -2
- package/dist/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControl.js +78 -44
- package/dist/SegmentedControl/SegmentedControlContext.d.ts +7 -0
- package/dist/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +13 -2
- package/dist/Selector/Selector.d.ts +24 -1
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +122 -43
- package/dist/Selector/hooks.d.ts +8 -1
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +14 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +2 -0
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/SideNav/SideNavItem.js +1 -1
- package/dist/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/Skeleton/Skeleton.js +8 -2
- package/dist/Slider/Slider.d.ts +21 -0
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +36 -9
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +1 -1
- package/dist/Stack/Stack.d.ts +38 -23
- package/dist/Stack/Stack.d.ts.map +1 -1
- package/dist/Stack/Stack.js +25 -1
- package/dist/Stack/StackItem.d.ts +12 -23
- package/dist/Stack/StackItem.d.ts.map +1 -1
- package/dist/Stack/StackItem.js +8 -1
- package/dist/Switch/Switch.d.ts +23 -2
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +41 -11
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +6 -0
- package/dist/TabList/TabList.d.ts +16 -4
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +87 -10
- package/dist/TabList/TabListContext.d.ts +5 -0
- package/dist/TabList/TabListContext.d.ts.map +1 -1
- package/dist/TabList/TabListContext.js +5 -0
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +6 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +11 -8
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +10 -1
- package/dist/Table/TableCell.d.ts +8 -1
- package/dist/Table/TableCell.d.ts.map +1 -1
- package/dist/Table/TableCell.js +10 -10
- package/dist/Table/TableHeaderCell.d.ts +8 -1
- package/dist/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/Table/TableHeaderCell.js +16 -16
- package/dist/Table/index.d.ts +2 -1
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +2 -2
- package/dist/Table/plugins/pagination/paginateData.d.ts +2 -1
- package/dist/Table/plugins/pagination/paginateData.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/paginateData.js +8 -3
- package/dist/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/Table/plugins/pagination/useTablePagination.js +6 -1
- package/dist/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +59 -3
- package/dist/Table/tableContextMenu.d.ts +33 -0
- package/dist/Table/tableContextMenu.d.ts.map +1 -0
- package/dist/Table/tableContextMenu.js +133 -0
- package/dist/Table/types.d.ts +66 -0
- package/dist/Table/types.d.ts.map +1 -1
- package/dist/TextArea/TextArea.d.ts +22 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +41 -9
- package/dist/TextInput/TextInput.d.ts +23 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +55 -10
- package/dist/TimeInput/TimeInput.d.ts +23 -1
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +147 -76
- package/dist/Toast/Toast.d.ts.map +1 -1
- package/dist/Toast/Toast.js +14 -0
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +131 -3
- package/dist/Tokenizer/Tokenizer.d.ts +12 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +26 -4
- package/dist/Toolbar/Toolbar.d.ts +3 -3
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.js +51 -7
- package/dist/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/Tooltip/useTooltip.js +56 -9
- package/dist/TopNav/TopNavHeading.d.ts +7 -1
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +8 -0
- package/dist/TreeList/TreeList.d.ts +1 -1
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +72 -2
- package/dist/TreeList/TreeListItem.d.ts +11 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +51 -12
- package/dist/TreeList/treeListItem.markers.stylex.d.ts +16 -0
- package/dist/TreeList/treeListItem.markers.stylex.d.ts.map +1 -0
- package/dist/TreeList/treeListItem.markers.stylex.js +22 -0
- package/dist/Typeahead/BaseTypeahead.d.ts +13 -0
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +69 -6
- package/dist/Typeahead/Typeahead.d.ts +26 -3
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +65 -29
- package/dist/VisuallyHidden/VisuallyHidden.d.ts +61 -0
- package/dist/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/VisuallyHidden/VisuallyHidden.js +65 -0
- package/dist/VisuallyHidden/index.d.ts +11 -0
- package/dist/VisuallyHidden/index.d.ts.map +1 -0
- package/dist/VisuallyHidden/index.js +13 -0
- package/dist/astryx.css +18 -0
- package/dist/astryx.umd.js +55 -55
- package/dist/astryx.umd.js.map +4 -4
- package/dist/hooks/focusableSelector.d.ts +22 -0
- package/dist/hooks/focusableSelector.d.ts.map +1 -0
- package/dist/hooks/focusableSelector.js +24 -0
- package/dist/hooks/index.d.ts +12 -2
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +7 -2
- package/dist/hooks/useAnnounce.d.ts +40 -0
- package/dist/hooks/useAnnounce.d.ts.map +1 -0
- package/dist/hooks/useAnnounce.js +142 -0
- package/dist/hooks/useClickableContainer.d.ts +16 -1
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +16 -4
- package/dist/hooks/useEntryAnimation.d.ts.map +1 -1
- package/dist/hooks/useEntryAnimation.js +4 -4
- package/dist/hooks/useFocusTrap.d.ts +18 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -1
- package/dist/hooks/useFocusTrap.js +87 -3
- package/dist/hooks/useGridFocus.d.ts +88 -1
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +261 -62
- package/dist/hooks/useKeyboardHint.d.ts +82 -0
- package/dist/hooks/useKeyboardHint.d.ts.map +1 -0
- package/dist/hooks/useKeyboardHint.js +220 -0
- package/dist/hooks/useListFocus.d.ts +78 -7
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +305 -52
- package/dist/hooks/useLongPress.d.ts +21 -0
- package/dist/hooks/useLongPress.d.ts.map +1 -0
- package/dist/hooks/useLongPress.js +89 -0
- package/dist/hooks/useTreeFocus.d.ts +157 -0
- package/dist/hooks/useTreeFocus.d.ts.map +1 -0
- package/dist/hooks/useTreeFocus.js +337 -0
- package/dist/hooks/useTypeahead.d.ts +63 -0
- package/dist/hooks/useTypeahead.d.ts.map +1 -0
- package/dist/hooks/useTypeahead.js +117 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/utils/dateTypes.d.ts +12 -0
- package/dist/utils/dateTypes.d.ts.map +1 -1
- package/dist/utils/dateTypes.js +41 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/inputAria.d.ts +29 -0
- package/dist/utils/inputAria.d.ts.map +1 -0
- package/dist/utils/inputAria.js +30 -0
- package/dist/utils/timeParser.d.ts.map +1 -1
- package/dist/utils/timeParser.js +5 -2
- package/docs.mjs +2 -2
- package/package.json +12 -8
- package/src/Avatar/Avatar.test.tsx +37 -0
- package/src/Avatar/Avatar.tsx +10 -5
- package/src/Breadcrumbs/BreadcrumbItem.tsx +25 -7
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +31 -10
- package/src/Button/Button.tsx +3 -16
- package/src/ButtonGroup/ButtonGroup.test.tsx +9 -9
- package/src/ButtonGroup/ButtonGroup.tsx +0 -1
- package/src/Calendar/Calendar.doc.mjs +4 -4
- package/src/Calendar/Calendar.test.tsx +168 -30
- package/src/Calendar/Calendar.tsx +121 -66
- package/src/Calendar/hooks/index.ts +0 -6
- package/src/Calendar/index.ts +1 -3
- package/src/Calendar/styles.ts +4 -9
- package/src/Carousel/Carousel.doc.mjs +7 -1
- package/src/Carousel/Carousel.test.tsx +20 -0
- package/src/Carousel/Carousel.tsx +16 -1
- package/src/Center/Center.doc.mjs +12 -2
- package/src/Center/Center.tsx +28 -3
- package/src/Chat/ChatComposerInput.test.tsx +26 -7
- package/src/Chat/ChatComposerInput.tsx +0 -1
- package/src/Chat/ChatDictationButton.doc.mjs +1 -1
- package/src/Chat/ChatMessageList.doc.mjs +8 -0
- package/src/Chat/ChatMessageList.test.tsx +18 -0
- package/src/Chat/ChatMessageList.tsx +16 -0
- package/src/Chat/useTriggerMenu.tsx +22 -4
- package/src/CheckboxInput/CheckboxInput.doc.mjs +10 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +172 -27
- package/src/CheckboxInput/CheckboxInput.tsx +78 -6
- package/src/CheckboxList/CheckboxList.doc.mjs +9 -0
- package/src/CheckboxList/CheckboxList.test.tsx +192 -26
- package/src/CheckboxList/CheckboxList.tsx +56 -3
- package/src/CheckboxList/CheckboxListContext.tsx +7 -0
- package/src/CheckboxList/CheckboxListItem.tsx +0 -3
- package/src/Citation/Citation.doc.mjs +10 -0
- package/src/Citation/Citation.test.tsx +121 -0
- package/src/Citation/Citation.tsx +15 -3
- package/src/CodeBlock/CodeBlock.test.tsx +115 -0
- package/src/CodeBlock/CodeBlock.tsx +63 -33
- package/src/CommandPalette/CommandPalette.test.tsx +47 -1
- package/src/CommandPalette/CommandPalette.tsx +9 -21
- package/src/ContextMenu/ContextMenu.doc.mjs +4 -4
- package/src/ContextMenu/ContextMenu.test.tsx +155 -1
- package/src/ContextMenu/ContextMenu.tsx +113 -16
- package/src/DateInput/DateInput.doc.mjs +286 -56
- package/src/DateInput/DateInput.test.tsx +248 -2
- package/src/DateInput/DateInput.tsx +196 -100
- package/src/DateRangeInput/DateRangeInput.doc.mjs +251 -46
- package/src/DateRangeInput/DateRangeInput.test.tsx +182 -20
- package/src/DateRangeInput/DateRangeInput.tsx +63 -5
- package/src/DateTimeInput/DateTimeInput.doc.mjs +368 -67
- package/src/DateTimeInput/DateTimeInput.test.tsx +279 -11
- package/src/DateTimeInput/DateTimeInput.tsx +125 -17
- package/src/Dialog/Dialog.doc.mjs +2 -2
- package/src/Dialog/Dialog.tsx +12 -0
- package/src/DropdownMenu/DropdownMenu.doc.mjs +1 -8
- package/src/DropdownMenu/DropdownMenu.test.tsx +56 -42
- package/src/DropdownMenu/DropdownMenu.tsx +52 -18
- package/src/Field/Field.doc.mjs +59 -18
- package/src/Field/Field.test.tsx +32 -0
- package/src/Field/Field.tsx +23 -5
- package/src/Field/FieldLabel.tsx +55 -17
- package/src/FileInput/FileInput.doc.mjs +17 -0
- package/src/FileInput/FileInput.test.tsx +283 -49
- package/src/FileInput/FileInput.tsx +76 -4
- package/src/Grid/Grid.doc.mjs +17 -4
- package/src/Grid/Grid.test.tsx +43 -30
- package/src/Grid/Grid.tsx +38 -3
- package/src/Icon/Icon.doc.mjs +3 -3
- package/src/InputGroup/InputGroup.doc.mjs +111 -23
- package/src/InputGroup/InputGroup.test.tsx +257 -60
- package/src/InputGroup/InputGroup.tsx +23 -5
- package/src/InputGroup/InputGroupContext.ts +9 -4
- package/src/InputGroup/groupStyles.ts +7 -1
- package/src/InputGroup/index.ts +1 -0
- package/src/Kbd/Kbd.test.tsx +22 -4
- package/src/Kbd/Kbd.tsx +35 -3
- package/src/Layer/layerAnimations.stylex.ts +20 -4
- package/src/Layer/useLayer.doc.mjs +5 -0
- package/src/Layer/useLayer.test.tsx +111 -0
- package/src/Layer/useLayer.tsx +90 -9
- package/src/Layout/Layout.tsx +8 -16
- package/src/Layout/LayoutFooter.doc.mjs +4 -4
- package/src/Layout/LayoutFooter.tsx +3 -3
- package/src/Layout/LayoutHeader.doc.mjs +4 -4
- package/src/Layout/LayoutHeader.tsx +3 -3
- package/src/Layout/LayoutPanel.tsx +3 -3
- package/src/Layout/padding.stylex.ts +52 -0
- package/src/Lightbox/Lightbox.doc.mjs +9 -0
- package/src/Lightbox/Lightbox.test.tsx +53 -5
- package/src/Lightbox/Lightbox.tsx +9 -4
- package/src/Link/Link.doc.mjs +14 -0
- package/src/Link/Link.test.tsx +50 -0
- package/src/Link/Link.tsx +39 -4
- package/src/Markdown/Markdown.test.tsx +11 -0
- package/src/Markdown/Markdown.tsx +7 -0
- package/src/MetadataList/MetadataListItem.doc.mjs +4 -0
- package/src/MoreMenu/MoreMenu.doc.mjs +2 -17
- package/src/MoreMenu/MoreMenu.tsx +0 -9
- package/src/MultiSelector/MultiSelector.doc.mjs +30 -0
- package/src/MultiSelector/MultiSelector.test.tsx +375 -8
- package/src/MultiSelector/MultiSelector.tsx +194 -48
- package/src/MultiSelector/hooks.ts +27 -0
- package/src/NavMenu/NavHeadingMenu.test.tsx +77 -1
- package/src/NavMenu/NavHeadingMenu.tsx +50 -3
- package/src/NumberInput/NumberInput.doc.mjs +17 -0
- package/src/NumberInput/NumberInput.test.tsx +242 -40
- package/src/NumberInput/NumberInput.tsx +89 -11
- package/src/Pagination/Pagination.doc.mjs +3 -3
- package/src/Pagination/Pagination.test.tsx +117 -5
- package/src/Pagination/Pagination.tsx +21 -1
- package/src/Popover/Popover.doc.mjs +26 -0
- package/src/Popover/Popover.test.tsx +121 -0
- package/src/Popover/Popover.tsx +23 -2
- package/src/Popover/usePopover.doc.mjs +9 -3
- package/src/Popover/usePopover.tsx +70 -12
- package/src/PowerSearch/PowerSearch.doc.mjs +15 -0
- package/src/PowerSearch/PowerSearch.test.tsx +97 -1
- package/src/PowerSearch/PowerSearch.tsx +16 -3
- package/src/ProgressBar/ProgressBar.test.tsx +34 -26
- package/src/ProgressBar/ProgressBar.tsx +3 -4
- package/src/RadioList/RadioList.doc.mjs +9 -0
- package/src/RadioList/RadioList.test.tsx +252 -16
- package/src/RadioList/RadioList.tsx +166 -10
- package/src/RadioList/RadioListItem.tsx +14 -2
- package/src/SegmentedControl/SegmentedControl.doc.mjs +9 -0
- package/src/SegmentedControl/SegmentedControl.test.tsx +214 -42
- package/src/SegmentedControl/SegmentedControl.tsx +102 -54
- package/src/SegmentedControl/SegmentedControlContext.ts +7 -0
- package/src/SegmentedControl/SegmentedControlItem.tsx +14 -1
- package/src/SelectableCard/SelectableCard.doc.mjs +1 -1
- package/src/Selector/Selector.doc.mjs +26 -0
- package/src/Selector/Selector.test.tsx +387 -15
- package/src/Selector/Selector.tsx +175 -67
- package/src/Selector/hooks.ts +23 -0
- package/src/SideNav/SideNav.test.tsx +48 -0
- package/src/SideNav/SideNavHeading.tsx +8 -2
- package/src/SideNav/SideNavItem.tsx +2 -4
- package/src/Skeleton/Skeleton.test.tsx +25 -0
- package/src/Skeleton/Skeleton.tsx +11 -1
- package/src/Slider/Slider.doc.mjs +15 -0
- package/src/Slider/Slider.test.tsx +155 -2
- package/src/Slider/Slider.tsx +53 -5
- package/src/Spinner/Spinner.tsx +7 -1
- package/src/Stack/Stack.doc.mjs +77 -0
- package/src/Stack/Stack.test.tsx +55 -5
- package/src/Stack/Stack.tsx +73 -24
- package/src/Stack/StackItem.test.tsx +23 -0
- package/src/Stack/StackItem.tsx +20 -23
- package/src/Switch/Switch.doc.mjs +15 -0
- package/src/Switch/Switch.test.tsx +162 -27
- package/src/Switch/Switch.tsx +61 -21
- package/src/TabList/Tab.tsx +6 -0
- package/src/TabList/TabList.doc.mjs +6 -0
- package/src/TabList/TabList.test.tsx +251 -0
- package/src/TabList/TabList.tsx +103 -12
- package/src/TabList/TabListContext.ts +7 -3
- package/src/TabList/TabMenu.tsx +6 -3
- package/src/Table/BaseTable.tsx +21 -17
- package/src/Table/Table.doc.mjs +2 -0
- package/src/Table/Table.test.tsx +10 -0
- package/src/Table/Table.tsx +8 -0
- package/src/Table/TableCell.tsx +25 -23
- package/src/Table/TableHeaderCell.tsx +28 -29
- package/src/Table/index.ts +3 -2
- package/src/Table/plugins/pagination/paginateData.ts +10 -3
- package/src/Table/plugins/pagination/useTablePagination.test.tsx +16 -0
- package/src/Table/plugins/pagination/useTablePagination.tsx +8 -1
- package/src/Table/plugins/sortable/useTableSortable.test.tsx +91 -2
- package/src/Table/plugins/sortable/useTableSortable.tsx +53 -1
- package/src/Table/tableContextMenu.test.tsx +157 -0
- package/src/Table/tableContextMenu.tsx +142 -0
- package/src/Table/types.ts +74 -0
- package/src/Table/useTableColumnResize.doc.mjs +3 -3
- package/src/Table/useTableStickyColumns.doc.mjs +2 -2
- package/src/Text/Text.doc.mjs +18 -18
- package/src/TextArea/TextArea.doc.mjs +17 -0
- package/src/TextArea/TextArea.test.tsx +167 -35
- package/src/TextArea/TextArea.tsx +62 -15
- package/src/TextInput/TextInput.doc.mjs +17 -0
- package/src/TextInput/TextInput.test.tsx +168 -34
- package/src/TextInput/TextInput.tsx +77 -9
- package/src/Thumbnail/Thumbnail.doc.mjs +4 -4
- package/src/TimeInput/TimeInput.doc.mjs +340 -60
- package/src/TimeInput/TimeInput.test.tsx +255 -7
- package/src/TimeInput/TimeInput.tsx +176 -70
- package/src/Timestamp/Timestamp.doc.mjs +19 -19
- package/src/Toast/Toast.tsx +14 -0
- package/src/Toast/ToastViewport.test.tsx +214 -0
- package/src/Toast/ToastViewport.tsx +167 -21
- package/src/Tokenizer/Tokenizer.doc.mjs +29 -14
- package/src/Tokenizer/Tokenizer.test.tsx +105 -1
- package/src/Tokenizer/Tokenizer.tsx +37 -1
- package/src/Toolbar/Toolbar.test.tsx +109 -6
- package/src/Toolbar/Toolbar.tsx +59 -5
- package/src/Tooltip/Tooltip.test.tsx +68 -0
- package/src/Tooltip/useTooltip.tsx +55 -8
- package/src/TopNav/TopNav.test.tsx +50 -0
- package/src/TopNav/TopNavHeading.tsx +17 -1
- package/src/TreeList/TreeList.test.tsx +295 -6
- package/src/TreeList/TreeList.tsx +73 -1
- package/src/TreeList/TreeListItem.tsx +51 -5
- package/src/TreeList/treeListItem.markers.stylex.ts +20 -0
- package/src/Typeahead/BaseTypeahead.tsx +93 -9
- package/src/Typeahead/Typeahead.doc.mjs +141 -30
- package/src/Typeahead/Typeahead.test.tsx +331 -1
- package/src/Typeahead/Typeahead.tsx +105 -33
- package/src/VisuallyHidden/VisuallyHidden.doc.mjs +80 -0
- package/src/VisuallyHidden/VisuallyHidden.test.tsx +76 -0
- package/src/VisuallyHidden/VisuallyHidden.tsx +113 -0
- package/src/VisuallyHidden/index.ts +15 -0
- package/src/docs-script.test.mjs +50 -0
- package/src/hooks/focusableSelector.ts +25 -0
- package/src/hooks/index.ts +28 -2
- package/src/hooks/useAnnounce.test.tsx +101 -0
- package/src/hooks/useAnnounce.ts +168 -0
- package/src/hooks/useClickableContainer.ts +16 -4
- package/src/hooks/useEntryAnimation.ts +16 -4
- package/src/hooks/useFocusTrap.test.tsx +132 -0
- package/src/hooks/useFocusTrap.ts +98 -4
- package/src/hooks/useGridFocus.doc.mjs +40 -2
- package/src/hooks/useGridFocus.test.tsx +132 -0
- package/src/hooks/useGridFocus.ts +343 -67
- package/src/hooks/useKeyboardHint.doc.mjs +101 -0
- package/src/hooks/useKeyboardHint.test.tsx +70 -0
- package/src/hooks/useKeyboardHint.tsx +332 -0
- package/src/hooks/useListFocus.doc.mjs +50 -10
- package/src/hooks/useListFocus.test.tsx +375 -0
- package/src/hooks/useListFocus.ts +395 -57
- package/src/hooks/useLongPress.test.tsx +134 -0
- package/src/hooks/useLongPress.ts +119 -0
- package/src/hooks/useTreeFocus.doc.mjs +140 -0
- package/src/hooks/useTreeFocus.test.tsx +214 -0
- package/src/hooks/useTreeFocus.ts +559 -0
- package/src/hooks/useTypeahead.test.tsx +109 -0
- package/src/hooks/useTypeahead.ts +183 -0
- package/src/index.ts +1 -0
- package/src/theme/derivedVarRegistry.test.ts +10 -5
- package/src/utils/dateTypes.test.ts +40 -0
- package/src/utils/dateTypes.ts +40 -0
- package/src/utils/index.ts +9 -0
- package/src/utils/inputAria.test.ts +39 -0
- package/src/utils/inputAria.ts +58 -0
- package/src/utils/timeParser.test.ts +10 -0
- package/src/utils/timeParser.ts +5 -2
- package/dist/Calendar/hooks/useCalendarRovingTabindex.d.ts +0 -57
- package/dist/Calendar/hooks/useCalendarRovingTabindex.d.ts.map +0 -1
- package/dist/Calendar/hooks/useCalendarRovingTabindex.js +0 -96
- package/src/Calendar/hooks/useCalendarRovingTabindex.ts +0 -118
|
@@ -7,7 +7,17 @@ export const docs = {
|
|
|
7
7
|
displayName: 'Date Time Input',
|
|
8
8
|
group: 'DateInput',
|
|
9
9
|
category: 'Data Input',
|
|
10
|
-
keywords: [
|
|
10
|
+
keywords: [
|
|
11
|
+
'datetimepicker',
|
|
12
|
+
'datetime',
|
|
13
|
+
'datepicker',
|
|
14
|
+
'timepicker',
|
|
15
|
+
'calendar',
|
|
16
|
+
'schedule',
|
|
17
|
+
'event',
|
|
18
|
+
'deadline',
|
|
19
|
+
'timestamp',
|
|
20
|
+
],
|
|
11
21
|
props: [
|
|
12
22
|
{
|
|
13
23
|
name: 'label',
|
|
@@ -44,10 +54,17 @@ export const docs = {
|
|
|
44
54
|
description: 'Disable the input and picker.',
|
|
45
55
|
default: 'false',
|
|
46
56
|
},
|
|
57
|
+
{
|
|
58
|
+
name: 'disabledMessage',
|
|
59
|
+
type: 'string',
|
|
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 — disabled controls swallow the hover events an external Tooltip needs.',
|
|
62
|
+
},
|
|
47
63
|
{
|
|
48
64
|
name: 'value',
|
|
49
65
|
type: 'ISODateTimeString',
|
|
50
|
-
description:
|
|
66
|
+
description:
|
|
67
|
+
'Selected datetime in ISO 8601 format (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS).',
|
|
51
68
|
},
|
|
52
69
|
{
|
|
53
70
|
name: 'onChange',
|
|
@@ -58,28 +75,33 @@ export const docs = {
|
|
|
58
75
|
{
|
|
59
76
|
name: 'changeAction',
|
|
60
77
|
type: '(value: ISODateTimeString | undefined) => void | Promise<void>',
|
|
61
|
-
description:
|
|
78
|
+
description:
|
|
79
|
+
'Async action fired after onChange. Drives optimistic UI updates via useTransition.',
|
|
62
80
|
},
|
|
63
81
|
{
|
|
64
82
|
name: 'isLoading',
|
|
65
83
|
type: 'boolean',
|
|
66
|
-
description:
|
|
84
|
+
description:
|
|
85
|
+
'Whether the input is in a loading state. Disables interaction and shows a spinner.',
|
|
67
86
|
default: 'false',
|
|
68
87
|
},
|
|
69
88
|
{
|
|
70
89
|
name: 'min',
|
|
71
90
|
type: 'ISODateTimeString',
|
|
72
|
-
description:
|
|
91
|
+
description:
|
|
92
|
+
'Minimum selectable datetime. Constrains both date and time selection.',
|
|
73
93
|
},
|
|
74
94
|
{
|
|
75
95
|
name: 'max',
|
|
76
96
|
type: 'ISODateTimeString',
|
|
77
|
-
description:
|
|
97
|
+
description:
|
|
98
|
+
'Maximum selectable datetime. Constrains both date and time selection.',
|
|
78
99
|
},
|
|
79
100
|
{
|
|
80
101
|
name: 'dateConstraints',
|
|
81
102
|
type: 'Array<(date: Date) => boolean>',
|
|
82
|
-
description:
|
|
103
|
+
description:
|
|
104
|
+
'Array of custom constraint functions that disable specific dates.',
|
|
83
105
|
},
|
|
84
106
|
{
|
|
85
107
|
name: 'hasSeconds',
|
|
@@ -90,13 +112,15 @@ export const docs = {
|
|
|
90
112
|
{
|
|
91
113
|
name: 'hourFormat',
|
|
92
114
|
type: "'12h' | '24h'",
|
|
93
|
-
description:
|
|
115
|
+
description:
|
|
116
|
+
"Hour display format. '12h' shows AM/PM; '24h' uses 24-hour notation.",
|
|
94
117
|
default: "'12h'",
|
|
95
118
|
},
|
|
96
119
|
{
|
|
97
120
|
name: 'timeIncrement',
|
|
98
121
|
type: 'number',
|
|
99
|
-
description:
|
|
122
|
+
description:
|
|
123
|
+
'Minutes to add or subtract when using arrow keys in the time input.',
|
|
100
124
|
default: '1',
|
|
101
125
|
},
|
|
102
126
|
{
|
|
@@ -108,9 +132,23 @@ export const docs = {
|
|
|
108
132
|
{
|
|
109
133
|
name: 'placeholder',
|
|
110
134
|
type: 'string',
|
|
111
|
-
description:
|
|
135
|
+
description:
|
|
136
|
+
'Placeholder text shown in the date portion when no date is selected.',
|
|
112
137
|
default: "'Select a date'",
|
|
113
138
|
},
|
|
139
|
+
{
|
|
140
|
+
name: 'timePlaceholder',
|
|
141
|
+
type: 'string',
|
|
142
|
+
description:
|
|
143
|
+
'Placeholder text shown in the time portion when no time is selected.',
|
|
144
|
+
default: "'Select a time'",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
name: 'timeLabel',
|
|
148
|
+
type: 'string',
|
|
149
|
+
description:
|
|
150
|
+
'Accessible label for the time portion. Defaults to "{label} time" so it is tied to the field label and localizable.',
|
|
151
|
+
},
|
|
114
152
|
{
|
|
115
153
|
name: 'size',
|
|
116
154
|
type: "'sm' | 'md' | 'lg'",
|
|
@@ -120,12 +158,14 @@ export const docs = {
|
|
|
120
158
|
{
|
|
121
159
|
name: 'status',
|
|
122
160
|
type: 'InputStatus',
|
|
123
|
-
description:
|
|
161
|
+
description:
|
|
162
|
+
'Status indicator object for error, warning, or success states with a message.',
|
|
124
163
|
},
|
|
125
164
|
{
|
|
126
165
|
name: 'labelTooltip',
|
|
127
166
|
type: 'string',
|
|
128
|
-
description:
|
|
167
|
+
description:
|
|
168
|
+
'Tooltip text displayed via an info icon at the end of the label.',
|
|
129
169
|
},
|
|
130
170
|
{
|
|
131
171
|
name: 'numberOfMonths',
|
|
@@ -146,24 +186,90 @@ export const docs = {
|
|
|
146
186
|
],
|
|
147
187
|
},
|
|
148
188
|
usage: {
|
|
149
|
-
description:
|
|
189
|
+
description:
|
|
190
|
+
'DateTimeInput combines a calendar popover with a time input for selecting both a date and time in a single interaction flow. Use it for scheduling, event creation, deadline setting, or any form field that needs a specific datetime.',
|
|
150
191
|
bestPractices: [
|
|
151
|
-
{
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
{
|
|
157
|
-
|
|
192
|
+
{
|
|
193
|
+
guidance: true,
|
|
194
|
+
description:
|
|
195
|
+
'Provide clear labels and descriptions so users understand what datetime is expected.',
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
guidance: true,
|
|
199
|
+
description:
|
|
200
|
+
'Use min and max to restrict selectable datetimes to valid ranges.',
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
guidance: true,
|
|
204
|
+
description:
|
|
205
|
+
'Use hasClear when the datetime is optional so the user can reset it.',
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
guidance: true,
|
|
209
|
+
description:
|
|
210
|
+
"Choose the hour format (12h or 24h) that matches your audience's locale.",
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
guidance: false,
|
|
214
|
+
description:
|
|
215
|
+
'Use DateTimeInput when only a date is needed; use DateInput instead.',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
guidance: false,
|
|
219
|
+
description:
|
|
220
|
+
'Use DateTimeInput when only a time is needed; use TimeInput instead.',
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
guidance: false,
|
|
224
|
+
description:
|
|
225
|
+
'Hide the label without surrounding context that makes the field purpose obvious.',
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
guidance: false,
|
|
229
|
+
description:
|
|
230
|
+
'Wrap a disabled DateTimeInput in Tooltip to explain why it is disabled; disabled triggers swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
231
|
+
},
|
|
158
232
|
],
|
|
159
233
|
anatomy: [
|
|
160
|
-
{
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
{
|
|
234
|
+
{
|
|
235
|
+
name: 'Label',
|
|
236
|
+
required: true,
|
|
237
|
+
description:
|
|
238
|
+
'Text above the input describing what datetime is expected.',
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
name: 'Date input',
|
|
242
|
+
required: true,
|
|
243
|
+
description:
|
|
244
|
+
'A text input where the user can type a date. Clicking opens a calendar popover.',
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: 'Calendar icon',
|
|
248
|
+
required: true,
|
|
249
|
+
description: 'A button that opens the calendar popover.',
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: 'Calendar popover',
|
|
253
|
+
required: false,
|
|
254
|
+
description:
|
|
255
|
+
'A month grid that appears when the icon is clicked or the date input is focused.',
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
name: 'Time input',
|
|
259
|
+
required: true,
|
|
260
|
+
description:
|
|
261
|
+
'A text input for entering the time, displayed beside the date input.',
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'Clear button',
|
|
265
|
+
required: false,
|
|
266
|
+
description: 'A × button that resets the datetime value.',
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
name: 'Status message',
|
|
270
|
+
required: false,
|
|
271
|
+
description: 'An error, warning, or success message below the inputs.',
|
|
272
|
+
},
|
|
167
273
|
],
|
|
168
274
|
},
|
|
169
275
|
};
|
|
@@ -173,41 +279,196 @@ export const docsZh = {
|
|
|
173
279
|
name: 'DateTimeInput',
|
|
174
280
|
displayName: 'Date Time Input',
|
|
175
281
|
usage: {
|
|
176
|
-
description:
|
|
282
|
+
description:
|
|
283
|
+
'DateTimeInput combines a calendar popover with a time input for selecting both a date and time in a single interaction flow. Use it for scheduling, event creation, deadline setting, or any form field that needs a specific datetime.',
|
|
177
284
|
bestPractices: [
|
|
178
|
-
{
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
{
|
|
184
|
-
|
|
285
|
+
{
|
|
286
|
+
guidance: true,
|
|
287
|
+
description:
|
|
288
|
+
'Provide clear labels and descriptions so users understand what datetime is expected.',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
guidance: true,
|
|
292
|
+
description:
|
|
293
|
+
'Use min and max to restrict selectable datetimes to valid ranges.',
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
guidance: true,
|
|
297
|
+
description:
|
|
298
|
+
'Use hasClear when the datetime is optional so the user can reset it.',
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
guidance: true,
|
|
302
|
+
description:
|
|
303
|
+
"Choose the hour format (12h or 24h) that matches your audience's locale.",
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
guidance: false,
|
|
307
|
+
description:
|
|
308
|
+
'Use DateTimeInput when only a date is needed; use DateInput instead.',
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
guidance: false,
|
|
312
|
+
description:
|
|
313
|
+
'Use DateTimeInput when only a time is needed; use TimeInput instead.',
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
guidance: false,
|
|
317
|
+
description:
|
|
318
|
+
'Hide the label without surrounding context that makes the field purpose obvious.',
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
guidance: false,
|
|
322
|
+
description:
|
|
323
|
+
'Wrap a disabled DateTimeInput in Tooltip to explain why it is disabled; disabled triggers swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
324
|
+
},
|
|
185
325
|
],
|
|
186
326
|
},
|
|
187
327
|
props: [
|
|
188
328
|
{name: 'label', type: 'string', description: '标签文本。', required: true},
|
|
189
|
-
{
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
{
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
{
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
{
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
329
|
+
{
|
|
330
|
+
name: 'isLabelHidden',
|
|
331
|
+
type: 'boolean',
|
|
332
|
+
description: '视觉隐藏标签。',
|
|
333
|
+
default: 'false',
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
name: 'description',
|
|
337
|
+
type: 'string',
|
|
338
|
+
description: '显示在标签下方的辅助文本。',
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
name: 'isOptional',
|
|
342
|
+
type: 'boolean',
|
|
343
|
+
description: '在标签旁显示"(optional)"指示器。',
|
|
344
|
+
default: 'false',
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
name: 'isRequired',
|
|
348
|
+
type: 'boolean',
|
|
349
|
+
description: '将字段标记为必填。',
|
|
350
|
+
default: 'false',
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
name: 'isDisabled',
|
|
354
|
+
type: 'boolean',
|
|
355
|
+
description: '禁用输入框和选择器。',
|
|
356
|
+
default: 'false',
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
name: 'disabledMessage',
|
|
360
|
+
type: 'string',
|
|
361
|
+
description:
|
|
362
|
+
'说明输入框为何被禁用。与 isDisabled 一起使用时,在悬停/键盘聚焦时显示提示,并通过 aria-disabled 保持日期和时间字段可聚焦(仍阻止输入和激活)。请使用此属性,而不是用 Tooltip 包裹已禁用的 DateTimeInput。',
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
name: 'value',
|
|
366
|
+
type: 'ISODateTimeString',
|
|
367
|
+
description: '选中的日期时间,ISO 8601 格式。',
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
name: 'onChange',
|
|
371
|
+
type: '(value: ISODateTimeString | undefined) => void',
|
|
372
|
+
description: '选中日期时间变更时调用的回调。',
|
|
373
|
+
required: true,
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
name: 'changeAction',
|
|
377
|
+
type: '(value: ISODateTimeString | undefined) => void | Promise<void>',
|
|
378
|
+
description:
|
|
379
|
+
'在 onChange 之后触发的异步操作。通过 useTransition 驱动乐观更新。',
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
name: 'isLoading',
|
|
383
|
+
type: 'boolean',
|
|
384
|
+
description: '输入框是否处于加载状态。禁用交互并显示加载指示器。',
|
|
385
|
+
default: 'false',
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
name: 'min',
|
|
389
|
+
type: 'ISODateTimeString',
|
|
390
|
+
description: '可选择的最早日期时间。同时约束日期和时间选择。',
|
|
391
|
+
},
|
|
392
|
+
{
|
|
393
|
+
name: 'max',
|
|
394
|
+
type: 'ISODateTimeString',
|
|
395
|
+
description: '可选择的最晚日期时间。同时约束日期和时间选择。',
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
name: 'dateConstraints',
|
|
399
|
+
type: 'Array<(date: Date) => boolean>',
|
|
400
|
+
description: '自定义约束函数数组,用于禁用特定日期。',
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: 'hasSeconds',
|
|
404
|
+
type: 'boolean',
|
|
405
|
+
description: '在时间部分包含秒。',
|
|
406
|
+
default: 'false',
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
name: 'hourFormat',
|
|
410
|
+
type: "'12h' | '24h'",
|
|
411
|
+
description: "控制显示格式。'12h' 显示 AM/PM;'24h' 使用 24 小时制。",
|
|
412
|
+
default: "'12h'",
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
name: 'timeIncrement',
|
|
416
|
+
type: 'number',
|
|
417
|
+
description: '在时间输入中按箭头键时增减的分钟数。',
|
|
418
|
+
default: '1',
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
name: 'hasClear',
|
|
422
|
+
type: 'boolean',
|
|
423
|
+
description: '当有值时显示清除按钮。',
|
|
424
|
+
default: 'false',
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
name: 'placeholder',
|
|
428
|
+
type: 'string',
|
|
429
|
+
description: '日期部分未选择日期时显示的占位符文本。',
|
|
430
|
+
default: "'Select a date'",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
name: 'timePlaceholder',
|
|
434
|
+
type: 'string',
|
|
435
|
+
description: '时间部分未选择时间时显示的占位符文本。',
|
|
436
|
+
default: "'Select a time'",
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
name: 'timeLabel',
|
|
440
|
+
type: 'string',
|
|
441
|
+
description:
|
|
442
|
+
'时间部分的无障碍标签。默认为“{label} time”,与字段标签关联且可本地化。',
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
name: 'size',
|
|
446
|
+
type: "'sm' | 'md' | 'lg'",
|
|
447
|
+
description: '输入控件的尺寸。',
|
|
448
|
+
default: "'md'",
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
name: 'status',
|
|
452
|
+
type: 'InputStatus',
|
|
453
|
+
description: '错误、警告或成功状态的状态指示对象,附带消息。',
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
name: 'labelTooltip',
|
|
457
|
+
type: 'string',
|
|
458
|
+
description: '通过标签末尾的信息图标显示的提示文本。',
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
name: 'numberOfMonths',
|
|
462
|
+
type: '1 | 2',
|
|
463
|
+
description: '日历中同时显示的月份数量。',
|
|
464
|
+
default: '1',
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
name: 'xstyle',
|
|
468
|
+
type: 'StyleXStyles',
|
|
469
|
+
description:
|
|
470
|
+
'用于布局自定义的 StyleX 样式。必须是 stylex.create() 的值。',
|
|
471
|
+
},
|
|
211
472
|
],
|
|
212
473
|
theming: {
|
|
213
474
|
targets: [
|
|
@@ -218,17 +479,52 @@ export const docsZh = {
|
|
|
218
479
|
|
|
219
480
|
/** @type {import('../docs-types').TranslationDoc} */
|
|
220
481
|
export const docsDense = {
|
|
221
|
-
description:
|
|
482
|
+
description:
|
|
483
|
+
'combined date + time picker with calendar popover and time input',
|
|
222
484
|
usage: {
|
|
223
|
-
description:
|
|
485
|
+
description:
|
|
486
|
+
'DateTimeInput combines a calendar popover with a time input for selecting both a date and time. Use for scheduling, events, deadlines, or any form field needing a datetime.',
|
|
224
487
|
bestPractices: [
|
|
225
|
-
{
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
{
|
|
231
|
-
|
|
488
|
+
{
|
|
489
|
+
guidance: true,
|
|
490
|
+
description:
|
|
491
|
+
'Provide clear labels + descriptions so users understand what datetime is expected.',
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
guidance: true,
|
|
495
|
+
description:
|
|
496
|
+
'Use min and max to restrict selectable datetimes to valid ranges.',
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
guidance: true,
|
|
500
|
+
description:
|
|
501
|
+
'Use hasClear when the datetime is optional so the user can reset it.',
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
guidance: true,
|
|
505
|
+
description:
|
|
506
|
+
"Choose the hour format (12h or 24h) that matches your audience's locale.",
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
guidance: false,
|
|
510
|
+
description:
|
|
511
|
+
'Use DateTimeInput when only a date is needed; use DateInput instead.',
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
guidance: false,
|
|
515
|
+
description:
|
|
516
|
+
'Use DateTimeInput when only a time is needed; use TimeInput instead.',
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
guidance: false,
|
|
520
|
+
description:
|
|
521
|
+
'Hide the label without surrounding context that makes the field purpose obvious.',
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
guidance: false,
|
|
525
|
+
description:
|
|
526
|
+
'Wrap a disabled DateTimeInput in Tooltip to explain why it is disabled; disabled triggers swallow the hover events the wrapper needs. Use the disabledMessage prop instead.',
|
|
527
|
+
},
|
|
232
528
|
],
|
|
233
529
|
},
|
|
234
530
|
propDescriptions: {
|
|
@@ -238,6 +534,8 @@ export const docsDense = {
|
|
|
238
534
|
isOptional: 'show "(optional)" indicator',
|
|
239
535
|
isRequired: 'mark field required',
|
|
240
536
|
isDisabled: 'disable input+picker',
|
|
537
|
+
disabledMessage:
|
|
538
|
+
'reason shown in a tooltip on hover/focus when disabled; keeps fields focusable via aria-disabled',
|
|
241
539
|
value: 'selected datetime ISO 8601',
|
|
242
540
|
onChange: 'callback on datetime change',
|
|
243
541
|
changeAction: 'async action after onChange; drives optimistic UI',
|
|
@@ -249,7 +547,10 @@ export const docsDense = {
|
|
|
249
547
|
hourFormat: "display format. '12h' shows AM/PM; '24h' uses 24-hour",
|
|
250
548
|
timeIncrement: 'minutes to add/subtract on arrow keys in time input',
|
|
251
549
|
hasClear: 'Shows clear button when datetime is set',
|
|
252
|
-
placeholder: 'placeholder
|
|
550
|
+
placeholder: 'date-portion placeholder when empty',
|
|
551
|
+
timePlaceholder: 'time-portion placeholder when empty',
|
|
552
|
+
timeLabel:
|
|
553
|
+
'accessible label for the time input; defaults to "{label} time"',
|
|
253
554
|
size: 'input control size',
|
|
254
555
|
status: 'error/warning/success status w/ message',
|
|
255
556
|
labelTooltip: 'tooltip text via info icon at label end',
|