@astryxdesign/core 0.1.8 → 0.1.9-canary.09e9ddd
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 +100 -0
- package/dist/AppShell/AppShell.d.ts.map +1 -1
- package/dist/AppShell/AppShell.js +6 -2
- package/dist/AppShell/AppShellMobileContext.d.ts +8 -0
- package/dist/AppShell/AppShellMobileContext.d.ts.map +1 -1
- package/dist/Avatar/Avatar.d.ts +53 -3
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +203 -49
- package/dist/Avatar/AvatarStatusDot.d.ts +33 -5
- package/dist/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/Avatar/AvatarStatusDot.js +144 -19
- package/dist/AvatarGroup/AvatarGroup.d.ts +7 -1
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +58 -6
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +1 -0
- package/dist/Banner/Banner.d.ts +9 -1
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +33 -4
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts +31 -2
- package/dist/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/Breadcrumbs/BreadcrumbItem.js +208 -6
- package/dist/Breadcrumbs/index.d.ts +5 -0
- package/dist/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/Breadcrumbs/index.js +9 -1
- package/dist/Button/Button.d.ts +8 -2
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +33 -4
- package/dist/ButtonGroup/ButtonGroup.d.ts +9 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +30 -1
- package/dist/Calendar/Calendar.d.ts.map +1 -1
- package/dist/Calendar/Calendar.js +30 -2
- package/dist/Calendar/dayCellUtils.js +1 -1
- package/dist/Card/Card.d.ts +8 -2
- package/dist/Card/Card.d.ts.map +1 -1
- package/dist/Card/Card.js +28 -2
- package/dist/Carousel/Carousel.d.ts +4 -1
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +24 -4
- package/dist/Chat/ChatComposer.d.ts +8 -0
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +46 -7
- package/dist/Chat/ChatComposerDrawer.d.ts +2 -0
- package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
- package/dist/Chat/ChatComposerDrawer.js +11 -1
- package/dist/Chat/ChatComposerInput.d.ts +20 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +36 -4
- package/dist/Chat/ChatContext.d.ts +33 -0
- package/dist/Chat/ChatContext.d.ts.map +1 -1
- package/dist/Chat/ChatContext.js +16 -2
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +1 -1
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +4 -4
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +4 -4
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.js +7 -1
- package/dist/Chat/ChatToolCalls.d.ts +5 -1
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +18 -9
- package/dist/Chat/index.d.ts +2 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/Chat/index.js +1 -1
- package/dist/Chat/useChatStreamScroll.d.ts +2 -1
- package/dist/Chat/useChatStreamScroll.d.ts.map +1 -1
- package/dist/Chat/useChatStreamScroll.js +22 -8
- package/dist/Chat/useSpeechRecognition.d.ts +0 -1
- package/dist/Chat/useSpeechRecognition.d.ts.map +1 -1
- package/dist/Chat/useSpeechRecognition.js +1 -1
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Chat/useTriggerMenu.js +2 -2
- package/dist/CheckboxInput/CheckboxInput.js +1 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts +20 -1
- package/dist/CheckboxList/CheckboxListItem.d.ts.map +1 -1
- package/dist/CheckboxList/CheckboxListItem.js +11 -1
- package/dist/Citation/Citation.d.ts +22 -1
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +20 -6
- package/dist/ClickableCard/ClickableCard.d.ts +9 -2
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +5 -2
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +9 -2
- package/dist/CommandPalette/CommandPalette.d.ts +1 -1
- package/dist/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPalette.js +3 -1
- package/dist/CommandPalette/CommandPaletteGroup.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteGroup.js +9 -2
- package/dist/CommandPalette/CommandPaletteInput.d.ts +7 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +6 -1
- package/dist/CommandPalette/CommandPaletteItem.js +1 -1
- package/dist/DateInput/DateInput.d.ts +55 -2
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +28 -2
- package/dist/DateInput/index.d.ts +1 -1
- package/dist/DateInput/index.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.d.ts +9 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +3 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +18 -3
- package/dist/Dialog/Dialog.d.ts +3 -0
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +57 -6
- package/dist/Dialog/DialogContext.d.ts +7 -0
- package/dist/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/Dialog/DialogContext.js +2 -2
- package/dist/Dialog/DialogHeader.d.ts +5 -2
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +6 -1
- package/dist/Divider/Divider.js +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +1 -2
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +1 -2
- package/dist/DropdownMenu/DropdownMenuItem.js +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +1 -2
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +1 -2
- package/dist/Field/Field.d.ts.map +1 -1
- package/dist/Field/Field.js +2 -3
- package/dist/Field/FieldLabel.d.ts +1 -1
- package/dist/Field/FieldLabel.d.ts.map +1 -1
- package/dist/Field/FieldLabel.js +43 -16
- package/dist/FieldStatus/FieldStatus.d.ts +15 -0
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +58 -6
- package/dist/FileInput/FileInput.d.ts +9 -2
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +42 -20
- package/dist/HoverCard/HoverCard.d.ts +9 -1
- package/dist/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/HoverCard/HoverCard.js +2 -0
- package/dist/HoverCard/useHoverCard.d.ts +8 -0
- package/dist/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/HoverCard/useHoverCard.js +7 -2
- package/dist/Icon/Icon.d.ts +7 -2
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Item/Item.d.ts +6 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +22 -1
- package/dist/Layer/useLayer.d.ts +6 -0
- package/dist/Layer/useLayer.d.ts.map +1 -1
- package/dist/Layer/useLayer.js +2 -0
- package/dist/Lightbox/Lightbox.js +4 -4
- package/dist/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/MobileNav/MobileNav.js +6 -1
- package/dist/MobileNav/MobileNavToggle.d.ts.map +1 -1
- package/dist/MobileNav/MobileNavToggle.js +4 -0
- package/dist/MultiSelector/MultiSelector.d.ts +9 -1
- package/dist/MultiSelector/MultiSelector.d.ts.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +41 -12
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +16 -0
- package/dist/NavMenu/NavHeadingMenuItem.js +1 -1
- package/dist/NumberInput/NumberInput.d.ts +9 -2
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +8 -1
- package/dist/Outline/Outline.d.ts +0 -1
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +0 -1
- package/dist/OverflowList/OverflowList.d.ts +20 -3
- package/dist/OverflowList/OverflowList.d.ts.map +1 -1
- package/dist/OverflowList/OverflowList.js +29 -4
- package/dist/Pagination/Pagination.d.ts.map +1 -1
- package/dist/Pagination/Pagination.js +11 -3
- package/dist/Popover/Popover.d.ts.map +1 -1
- package/dist/Popover/Popover.js +3 -2
- package/dist/Popover/usePopover.d.ts.map +1 -1
- package/dist/Popover/usePopover.js +3 -9
- package/dist/PowerSearch/PowerSearch.d.ts +9 -2
- package/dist/PowerSearch/PowerSearch.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearch.js +2 -0
- package/dist/PowerSearch/PowerSearchEditPopover.js +1 -1
- package/dist/PowerSearch/usePowerSearchSource.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.d.ts +9 -2
- package/dist/SelectableCard/SelectableCard.d.ts.map +1 -1
- package/dist/SelectableCard/SelectableCard.js +16 -13
- package/dist/Selector/Selector.d.ts +8 -0
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +7 -3
- package/dist/Selector/hooks.d.ts.map +1 -1
- package/dist/Selector/hooks.js +16 -0
- package/dist/SideNav/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/SideNav/SideNavHeading.js +21 -8
- package/dist/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +19 -2
- package/dist/Stack/stack.stylex.d.ts +9 -9
- package/dist/TabList/Tab.js +2 -2
- package/dist/TabList/TabMenu.js +1 -1
- package/dist/Table/BaseTable.d.ts.map +1 -1
- package/dist/Table/BaseTable.js +3 -2
- package/dist/Table/TableCell.js +3 -3
- package/dist/Table/TableHeaderCell.js +3 -3
- 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/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/rowStatus/index.d.ts +3 -0
- package/dist/Table/plugins/rowStatus/index.d.ts.map +1 -0
- package/dist/Table/plugins/rowStatus/index.js +3 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts +60 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.d.ts.map +1 -0
- package/dist/Table/plugins/rowStatus/useTableRowStatus.js +145 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts +13 -0
- package/dist/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/Table/plugins/selection/useTableSelection.js +4 -1
- package/dist/Table/plugins/stickyColumns/useTableStickyColumns.js +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +16 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeData.js +87 -0
- package/dist/Table/plugins/tree/useTableTreeState.d.ts +6 -0
- package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +1 -1
- package/dist/Table/plugins/tree/useTableTreeState.js +22 -1
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +5 -3
- package/dist/TextArea/TextArea.d.ts +9 -1
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +2 -0
- package/dist/TextInput/TextInput.d.ts +9 -2
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +6 -1
- package/dist/Thumbnail/Thumbnail.d.ts +26 -5
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +97 -54
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts +9 -0
- package/dist/Thumbnail/thumbnail.markers.stylex.d.ts.map +1 -0
- package/dist/Thumbnail/thumbnail.markers.stylex.js +14 -0
- package/dist/TimeInput/TimeInput.d.ts +9 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +17 -4
- package/dist/Timestamp/Timestamp.d.ts +3 -1
- package/dist/Timestamp/Timestamp.d.ts.map +1 -1
- package/dist/Timestamp/Timestamp.js +8 -6
- package/dist/Toast/useToast.d.ts.map +1 -1
- package/dist/Toast/useToast.js +2 -5
- package/dist/ToggleButton/ToggleButtonGroup.d.ts +0 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.js +1 -1
- package/dist/Tokenizer/Tokenizer.d.ts +10 -3
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +18 -4
- package/dist/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/TopNav/TopNavHeading.js +18 -8
- package/dist/TopNav/TopNavMegaMenu.js +10 -4
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts +9 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.d.ts.map +1 -1
- package/dist/TopNav/TopNavMegaMenuFeaturedCard.js +8 -1
- package/dist/TopNav/TopNavMenu.d.ts +2 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +68 -6
- package/dist/TreeList/TreeList.d.ts +12 -3
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +2 -0
- package/dist/TreeList/TreeListBranches.d.ts +5 -0
- package/dist/TreeList/TreeListBranches.d.ts.map +1 -1
- package/dist/TreeList/TreeListBranches.js +10 -4
- package/dist/TreeList/TreeListItem.d.ts +8 -2
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +28 -8
- package/dist/TreeList/TreeListTypes.d.ts +25 -1
- package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
- package/dist/TreeList/index.d.ts +2 -2
- package/dist/TreeList/index.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +20 -11
- package/dist/Typeahead/Typeahead.d.ts +9 -2
- package/dist/Typeahead/Typeahead.d.ts.map +1 -1
- package/dist/Typeahead/Typeahead.js +2 -0
- package/dist/astryx.css +41 -31
- package/dist/astryx.umd.js +51 -51
- package/dist/astryx.umd.js.map +4 -4
- package/dist/authoring/doc.d.ts.map +1 -1
- package/dist/docs-types.d.ts +8 -0
- package/dist/docs-types.d.ts.map +1 -1
- package/dist/hooks/computeOverflow.d.ts +47 -0
- package/dist/hooks/computeOverflow.d.ts.map +1 -0
- package/dist/hooks/computeOverflow.js +213 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -1
- package/dist/hooks/isRtlElement.d.ts +18 -0
- package/dist/hooks/isRtlElement.d.ts.map +1 -0
- package/dist/hooks/isRtlElement.js +27 -0
- package/dist/hooks/useDevWarning.d.ts +18 -0
- package/dist/hooks/useDevWarning.d.ts.map +1 -0
- package/dist/hooks/useDevWarning.js +49 -0
- package/dist/hooks/useGridFocus.d.ts +6 -1
- package/dist/hooks/useGridFocus.d.ts.map +1 -1
- package/dist/hooks/useGridFocus.js +12 -9
- package/dist/hooks/useListFocus.d.ts +6 -1
- package/dist/hooks/useListFocus.d.ts.map +1 -1
- package/dist/hooks/useListFocus.js +12 -4
- package/dist/hooks/useOverflow.d.ts +19 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +36 -25
- package/dist/i18n/InternationalizationContext.d.ts +1 -0
- package/dist/i18n/InternationalizationContext.d.ts.map +1 -1
- package/dist/i18n/InternationalizationContext.js +3 -0
- package/dist/i18n/InternationalizationProvider.d.ts +8 -1
- package/dist/i18n/InternationalizationProvider.d.ts.map +1 -1
- package/dist/i18n/InternationalizationProvider.js +5 -1
- package/dist/i18n/getLocaleDirection.d.ts +18 -0
- package/dist/i18n/getLocaleDirection.d.ts.map +1 -0
- package/dist/i18n/getLocaleDirection.js +29 -0
- package/dist/i18n/index.d.ts +6 -0
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +7 -1
- package/dist/i18n/resolve.d.ts.map +1 -1
- package/dist/i18n/resolve.js +7 -18
- package/dist/i18n/useDirection.d.ts +2 -0
- package/dist/i18n/useDirection.d.ts.map +1 -0
- package/dist/i18n/useDirection.js +27 -0
- package/dist/theme/Theme.d.ts.map +1 -1
- package/dist/theme/Theme.js +2 -7
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +13 -0
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +51 -0
- package/dist/theme/hct.d.ts +0 -1
- package/dist/theme/hct.d.ts.map +1 -1
- package/dist/theme/hct.js +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.d.ts.map +1 -1
- package/dist/theme/syntax/defineSyntaxTheme.js +2 -1
- package/dist/utils/devWarning.d.ts +42 -0
- package/dist/utils/devWarning.d.ts.map +1 -0
- package/dist/utils/devWarning.js +88 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -2
- package/dist/utils/plainDate.d.ts +30 -0
- package/dist/utils/plainDate.d.ts.map +1 -1
- package/dist/utils/plainDate.js +53 -0
- package/dist/utils/types.d.ts +13 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/locales/en.json +32 -0
- package/locales/fr-FR.json +14 -0
- package/locales/pseudo.json +24 -0
- package/package.json +1 -1
- package/src/AppShell/AppShell.tsx +6 -0
- package/src/AppShell/AppShellMobileContext.tsx +8 -0
- package/src/AppShell/useAppShellMobile.doc.mjs +8 -0
- package/src/Avatar/Avatar.doc.mjs +60 -3
- package/src/Avatar/Avatar.test.tsx +281 -1
- package/src/Avatar/Avatar.tsx +324 -64
- package/src/Avatar/AvatarStatusDot.doc.mjs +23 -12
- package/src/Avatar/AvatarStatusDot.test.tsx +284 -0
- package/src/Avatar/AvatarStatusDot.tsx +178 -21
- package/src/AvatarGroup/AvatarGroup.doc.mjs +2 -0
- package/src/AvatarGroup/AvatarGroup.test.tsx +125 -0
- package/src/AvatarGroup/AvatarGroup.tsx +58 -3
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +1 -0
- package/src/Banner/Banner.doc.mjs +9 -0
- package/src/Banner/Banner.test.tsx +30 -0
- package/src/Banner/Banner.tsx +53 -9
- package/src/Breadcrumbs/BreadcrumbItem.doc.mjs +26 -0
- package/src/Breadcrumbs/BreadcrumbItem.tsx +333 -14
- package/src/Breadcrumbs/Breadcrumbs.doc.mjs +2 -0
- package/src/Breadcrumbs/Breadcrumbs.test.tsx +284 -2
- package/src/Breadcrumbs/index.ts +27 -0
- package/src/Button/Button.doc.mjs +9 -4
- package/src/Button/Button.test.tsx +49 -0
- package/src/Button/Button.tsx +27 -3
- package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -0
- package/src/ButtonGroup/ButtonGroup.test.tsx +37 -0
- package/src/ButtonGroup/ButtonGroup.tsx +32 -0
- package/src/Calendar/Calendar.doc.mjs +12 -1
- package/src/Calendar/Calendar.test.tsx +193 -0
- package/src/Calendar/Calendar.tsx +38 -16
- package/src/Calendar/dayCellUtils.test.ts +5 -0
- package/src/Calendar/dayCellUtils.ts +1 -1
- package/src/Card/Card.doc.mjs +9 -0
- package/src/Card/Card.test.tsx +21 -3
- package/src/Card/Card.tsx +35 -2
- package/src/Carousel/Carousel.doc.mjs +1 -0
- package/src/Carousel/Carousel.test.tsx +53 -0
- package/src/Carousel/Carousel.tsx +34 -4
- package/src/Chat/ChatComposer.doc.mjs +12 -3
- package/src/Chat/ChatComposer.test.tsx +115 -0
- package/src/Chat/ChatComposer.tsx +73 -9
- package/src/Chat/ChatComposerDrawer.test.tsx +61 -0
- package/src/Chat/ChatComposerDrawer.tsx +11 -1
- package/src/Chat/ChatComposerInput.doc.mjs +7 -0
- package/src/Chat/ChatComposerInput.test.tsx +103 -0
- package/src/Chat/ChatComposerInput.tsx +51 -5
- package/src/Chat/ChatContext.tsx +37 -10
- package/src/Chat/ChatDictationButton.tsx +4 -1
- package/src/Chat/ChatLayout.tsx +7 -5
- package/src/Chat/ChatLayoutScrollButton.tsx +7 -2
- package/src/Chat/ChatMessageMetadata.tsx +1 -2
- package/src/Chat/ChatSendButton.tsx +11 -1
- package/src/Chat/ChatToolCalls.test.tsx +64 -0
- package/src/Chat/ChatToolCalls.tsx +25 -4
- package/src/Chat/index.ts +5 -1
- package/src/Chat/useChatStreamScroll.test.tsx +49 -0
- package/src/Chat/useChatStreamScroll.ts +27 -10
- package/src/Chat/useSpeechRecognition.ts +1 -1
- package/src/Chat/useTriggerMenu.tsx +4 -2
- package/src/CheckboxInput/CheckboxInput.test.tsx +32 -1
- package/src/CheckboxInput/CheckboxInput.tsx +1 -1
- package/src/CheckboxList/CheckboxList.test.tsx +81 -3
- package/src/CheckboxList/CheckboxListItem.doc.mjs +33 -5
- package/src/CheckboxList/CheckboxListItem.tsx +41 -5
- package/src/Citation/Citation.doc.mjs +4 -3
- package/src/Citation/Citation.test.tsx +97 -0
- package/src/Citation/Citation.tsx +43 -11
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -0
- package/src/ClickableCard/ClickableCard.test.tsx +34 -0
- package/src/ClickableCard/ClickableCard.tsx +13 -3
- package/src/CodeBlock/CodeBlock.test.tsx +56 -0
- package/src/CodeBlock/CodeBlock.tsx +10 -2
- package/src/CommandPalette/CommandPalette.doc.mjs +1 -0
- package/src/CommandPalette/CommandPalette.tsx +3 -1
- package/src/CommandPalette/CommandPaletteGroup.test.tsx +71 -0
- package/src/CommandPalette/CommandPaletteGroup.tsx +12 -1
- package/src/CommandPalette/CommandPaletteInput.doc.mjs +26 -9
- package/src/CommandPalette/CommandPaletteInput.test.tsx +34 -0
- package/src/CommandPalette/CommandPaletteInput.tsx +11 -0
- package/src/CommandPalette/CommandPaletteItem.tsx +1 -1
- package/src/ContextMenu/ContextMenu.test.tsx +193 -0
- package/src/DateInput/DateInput.doc.mjs +31 -0
- package/src/DateInput/DateInput.test.tsx +131 -0
- package/src/DateInput/DateInput.tsx +78 -3
- package/src/DateInput/index.ts +1 -0
- package/src/DateRangeInput/DateRangeInput.doc.mjs +8 -0
- package/src/DateRangeInput/DateRangeInput.test.tsx +23 -0
- package/src/DateRangeInput/DateRangeInput.tsx +13 -3
- package/src/DateTimeInput/DateTimeInput.doc.mjs +16 -1
- package/src/DateTimeInput/DateTimeInput.test.tsx +147 -0
- package/src/DateTimeInput/DateTimeInput.tsx +42 -18
- package/src/Dialog/Dialog.doc.mjs +2 -2
- package/src/Dialog/Dialog.test.tsx +77 -4
- package/src/Dialog/Dialog.tsx +89 -5
- package/src/Dialog/DialogContext.ts +9 -2
- package/src/Dialog/DialogHeader.doc.mjs +2 -2
- package/src/Dialog/DialogHeader.tsx +9 -2
- package/src/Divider/Divider.tsx +2 -2
- package/src/DropdownMenu/DropdownMenu.test.tsx +169 -0
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +1 -2
- package/src/DropdownMenu/DropdownMenuItem.tsx +1 -1
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +1 -2
- package/src/Field/Field.test.tsx +57 -12
- package/src/Field/Field.tsx +6 -5
- package/src/Field/FieldLabel.tsx +9 -1
- package/src/FieldStatus/FieldStatus.doc.mjs +17 -5
- package/src/FieldStatus/FieldStatus.test.tsx +150 -40
- package/src/FieldStatus/FieldStatus.tsx +63 -5
- package/src/FileInput/FileInput.doc.mjs +17 -2
- package/src/FileInput/FileInput.test.tsx +135 -12
- package/src/FileInput/FileInput.tsx +53 -28
- package/src/HoverCard/HoverCard.doc.mjs +13 -0
- package/src/HoverCard/HoverCard.test.tsx +21 -2
- package/src/HoverCard/HoverCard.tsx +11 -0
- package/src/HoverCard/useHoverCard.doc.mjs +2 -0
- package/src/HoverCard/useHoverCard.tsx +24 -2
- package/src/Icon/Icon.doc.mjs +3 -2
- package/src/Icon/Icon.tsx +7 -2
- package/src/IconButton/IconButton.doc.mjs +8 -0
- package/src/IconButton/IconButton.test.tsx +15 -18
- package/src/Item/Item.test.tsx +40 -18
- package/src/Item/Item.tsx +38 -2
- package/src/Layer/useLayer.tsx +8 -0
- package/src/Lightbox/Lightbox.tsx +4 -4
- package/src/List/List.test.tsx +9 -8
- package/src/MobileNav/MobileNav.tsx +12 -1
- package/src/MobileNav/MobileNavToggle.test.tsx +116 -0
- package/src/MobileNav/MobileNavToggle.tsx +9 -1
- package/src/MultiSelector/MultiSelector.doc.mjs +13 -2
- package/src/MultiSelector/MultiSelector.test.tsx +195 -3
- package/src/MultiSelector/MultiSelector.tsx +65 -12
- package/src/MultiSelector/hooks.ts +17 -0
- package/src/NavMenu/NavHeadingMenuItem.tsx +1 -1
- package/src/NumberInput/NumberInput.doc.mjs +15 -0
- package/src/NumberInput/NumberInput.test.tsx +82 -7
- package/src/NumberInput/NumberInput.tsx +21 -4
- package/src/Outline/Outline.tsx +0 -1
- package/src/OverflowList/OverflowList.doc.mjs +39 -6
- package/src/OverflowList/OverflowList.test.tsx +111 -0
- package/src/OverflowList/OverflowList.tsx +48 -8
- package/src/Pagination/Pagination.tsx +11 -3
- package/src/Popover/Popover.tsx +7 -4
- package/src/Popover/usePopover.tsx +9 -13
- package/src/PowerSearch/PowerSearch.doc.mjs +29 -0
- package/src/PowerSearch/PowerSearch.test.tsx +43 -0
- package/src/PowerSearch/PowerSearch.tsx +10 -1
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +67 -0
- package/src/PowerSearch/PowerSearchEditPopover.tsx +1 -1
- package/src/PowerSearch/usePowerSearchSource.ts +1 -2
- package/src/SelectableCard/SelectableCard.doc.mjs +2 -0
- package/src/SelectableCard/SelectableCard.test.tsx +46 -4
- package/src/SelectableCard/SelectableCard.tsx +29 -16
- package/src/Selector/Selector.doc.mjs +7 -0
- package/src/Selector/Selector.test.tsx +92 -0
- package/src/Selector/Selector.tsx +16 -2
- package/src/Selector/hooks.ts +17 -0
- package/src/SideNav/SideNav.test.tsx +119 -3
- package/src/SideNav/SideNavCollapseButton.tsx +6 -1
- package/src/SideNav/SideNavHeading.tsx +24 -8
- package/src/SideNav/SideNavItem.tsx +5 -1
- package/src/Slider/Slider.test.tsx +75 -2
- package/src/Slider/Slider.tsx +21 -5
- package/src/Switch/Switch.test.tsx +32 -1
- package/src/TabList/Tab.tsx +2 -2
- package/src/TabList/TabMenu.tsx +2 -2
- package/src/Table/BaseTable.tsx +3 -5
- package/src/Table/TableCell.tsx +3 -3
- package/src/Table/TableHeaderCell.tsx +3 -3
- package/src/Table/index.ts +5 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +6 -2
- package/src/Table/plugins/rowStatus/index.ts +7 -0
- package/src/Table/plugins/rowStatus/useTableRowStatus.test.tsx +138 -0
- package/src/Table/plugins/rowStatus/useTableRowStatus.tsx +189 -0
- package/src/Table/plugins/selection/useTableSelection.test.tsx +16 -0
- package/src/Table/plugins/selection/useTableSelection.tsx +19 -1
- package/src/Table/plugins/stickyColumns/useTableStickyColumns.tsx +1 -1
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +135 -3
- package/src/Table/plugins/tree/useTableTreeData.tsx +128 -1
- package/src/Table/plugins/tree/useTableTreeState.test.tsx +104 -0
- package/src/Table/plugins/tree/useTableTreeState.tsx +46 -2
- package/src/Table/useBaseTablePlugins.ts +10 -6
- package/src/Table/useTableRowStatus.doc.mjs +30 -0
- package/src/Table/useTableSelection.doc.mjs +65 -14
- package/src/Table/useTableTreeData.doc.mjs +29 -0
- package/src/Table/useTableTreeState.doc.mjs +2 -2
- package/src/TextArea/TextArea.doc.mjs +15 -0
- package/src/TextArea/TextArea.test.tsx +32 -1
- package/src/TextArea/TextArea.tsx +10 -0
- package/src/TextInput/TextInput.doc.mjs +15 -0
- package/src/TextInput/TextInput.test.tsx +44 -0
- package/src/TextInput/TextInput.tsx +13 -1
- package/src/Thumbnail/Thumbnail.doc.mjs +19 -10
- package/src/Thumbnail/Thumbnail.test.tsx +98 -7
- package/src/Thumbnail/Thumbnail.tsx +142 -42
- package/src/Thumbnail/thumbnail.markers.stylex.ts +12 -0
- package/src/TimeInput/TimeInput.doc.mjs +15 -0
- package/src/TimeInput/TimeInput.test.tsx +99 -1
- package/src/TimeInput/TimeInput.tsx +29 -6
- package/src/Timestamp/Timestamp.doc.mjs +4 -4
- package/src/Timestamp/Timestamp.test.tsx +32 -0
- package/src/Timestamp/Timestamp.tsx +28 -8
- package/src/Toast/useToast.tsx +7 -8
- package/src/ToggleButton/ToggleButtonGroup.tsx +1 -1
- package/src/Tokenizer/Tokenizer.doc.mjs +30 -1
- package/src/Tokenizer/Tokenizer.test.tsx +206 -2
- package/src/Tokenizer/Tokenizer.tsx +26 -4
- package/src/TopNav/TopNav.test.tsx +125 -1
- package/src/TopNav/TopNavHeading.tsx +24 -8
- package/src/TopNav/TopNavMegaMenu.test.tsx +149 -1
- package/src/TopNav/TopNavMegaMenu.tsx +10 -4
- package/src/TopNav/TopNavMegaMenuFeaturedCard.doc.mjs +3 -3
- package/src/TopNav/TopNavMegaMenuFeaturedCard.tsx +19 -2
- package/src/TopNav/TopNavMenu.test.tsx +118 -4
- package/src/TopNav/TopNavMenu.tsx +83 -5
- package/src/TreeList/TreeList.doc.mjs +22 -0
- package/src/TreeList/TreeList.test.tsx +232 -0
- package/src/TreeList/TreeList.tsx +18 -2
- package/src/TreeList/TreeListBranches.tsx +16 -2
- package/src/TreeList/TreeListItem.tsx +52 -12
- package/src/TreeList/TreeListTypes.ts +27 -1
- package/src/TreeList/index.ts +2 -2
- package/src/Typeahead/BaseTypeahead.tsx +30 -15
- package/src/Typeahead/Typeahead.doc.mjs +7 -0
- package/src/Typeahead/Typeahead.test.tsx +50 -0
- package/src/Typeahead/Typeahead.tsx +10 -0
- package/src/authoring/doc.ts +1 -3
- package/src/docs-types.ts +5 -0
- package/src/hooks/computeOverflow.test.ts +422 -0
- package/src/hooks/computeOverflow.ts +290 -0
- package/src/hooks/index.ts +2 -0
- package/src/hooks/isRtlElement.ts +27 -0
- package/src/hooks/useDevWarning.test.tsx +45 -0
- package/src/hooks/useDevWarning.ts +54 -0
- package/src/hooks/useGridFocus.doc.mjs +3 -3
- package/src/hooks/useGridFocus.test.tsx +41 -0
- package/src/hooks/useGridFocus.ts +21 -10
- package/src/hooks/useListFocus.doc.mjs +3 -3
- package/src/hooks/useListFocus.test.tsx +67 -1
- package/src/hooks/useListFocus.ts +21 -5
- package/src/hooks/useOverflow.test.ts +96 -4
- package/src/hooks/useOverflow.ts +74 -33
- package/src/i18n/InternationalizationContext.ts +4 -0
- package/src/i18n/InternationalizationProvider.doc.mjs +99 -2
- package/src/i18n/InternationalizationProvider.tsx +12 -2
- package/src/i18n/__tests__/getLocaleDirection.test.ts +40 -0
- package/src/i18n/__tests__/useDirection.test.tsx +66 -0
- package/src/i18n/getLocaleDirection.ts +29 -0
- package/src/i18n/index.ts +6 -0
- package/src/i18n/resolve.ts +9 -21
- package/src/i18n/useDirection.ts +29 -0
- package/src/reset.css +0 -26
- package/src/reset.test.ts +60 -0
- package/src/theme/Theme.tsx +11 -14
- package/src/theme/derivedVarRegistry.test.ts +1 -0
- package/src/theme/derivedVarRegistry.ts +6 -0
- package/src/theme/generateThemeRules.test.ts +107 -0
- package/src/theme/generateThemeRules.ts +56 -0
- package/src/theme/hct.ts +1 -1
- package/src/theme/syntax/defineSyntaxTheme.ts +5 -6
- package/src/utils/devWarning.test.ts +56 -0
- package/src/utils/devWarning.ts +102 -0
- package/src/utils/index.ts +6 -0
- package/src/utils/plainDate.test.ts +22 -0
- package/src/utils/plainDate.ts +61 -0
- package/src/utils/types.ts +14 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** Format a message as `Component: message`. */
|
|
2
|
+
export declare function formatDevMessage(component: string, message: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* Dev-only `console.warn` in the standardized `Component: message` format.
|
|
5
|
+
* A no-op in production — warnings are builder guardrails, not shipped noise.
|
|
6
|
+
* Extra args (e.g. an offending value) are forwarded to `console.warn`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```
|
|
10
|
+
* devWarn('Popover', 'children must contain a <button>.');
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function devWarn(component: string, message: string, ...args: unknown[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* `console.error` in the standardized `Component: message` format. Unlike
|
|
16
|
+
* {@link devWarn}, this runs in production too: it reports real runtime
|
|
17
|
+
* failures (e.g. a thrown callback) that should reach error telemetry.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```
|
|
21
|
+
* devError('Table', 'Plugin at index 0 threw in transform:', error);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function devError(component: string, message: string, ...args: unknown[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Dev-only warning that fires at most once per `key` for the lifetime of the
|
|
27
|
+
* app. Use for singleton warnings that aren't tied to a component instance —
|
|
28
|
+
* a missing translation key, a per-theme perf hint, a one-time fallback.
|
|
29
|
+
* For per-component-instance warnings, use the `useDevWarning` hook instead.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```
|
|
33
|
+
* warnOnce(`theme:${name}`, 'Theme', `"${name}" uses runtime injection.`);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function warnOnce(key: string, component: string, message: string, ...args: unknown[]): void;
|
|
37
|
+
/**
|
|
38
|
+
* Clear `warnOnce` dedup state. Test-only.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare function __resetDevWarnings(): void;
|
|
42
|
+
//# sourceMappingURL=devWarning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devWarning.d.ts","sourceRoot":"","sources":["../../src/utils/devWarning.ts"],"names":[],"mappings":"AAyBA,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAKN;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAEN;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,IAAI,CAMN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @file devWarning.ts
|
|
5
|
+
* @input A component/hook name and a message
|
|
6
|
+
* @output Standardized `Component: message` console warnings and errors
|
|
7
|
+
* @position Shared dev-logging utility used across components and hooks
|
|
8
|
+
*
|
|
9
|
+
* Standardizes how the design system surfaces information to the builder:
|
|
10
|
+
* every message reads `Component: message` (e.g. `Field: isOptional and
|
|
11
|
+
* isRequired are mutually exclusive.`), so the source is always obvious in
|
|
12
|
+
* the console.
|
|
13
|
+
*
|
|
14
|
+
* Prefer the `useDevWarning` hook inside components — it guards against
|
|
15
|
+
* repeating a warning on every render. These imperative helpers exist for
|
|
16
|
+
* the non-render contexts a hook can't cover: plain functions, module
|
|
17
|
+
* initialization, and inside effects.
|
|
18
|
+
*
|
|
19
|
+
* SYNC: When modified, update:
|
|
20
|
+
* - /packages/core/src/utils/index.ts
|
|
21
|
+
* - /packages/core/src/hooks/useDevWarning.ts (the render-path counterpart)
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
const isDev = process.env.NODE_ENV !== 'production';
|
|
25
|
+
|
|
26
|
+
/** Format a message as `Component: message`. */
|
|
27
|
+
export function formatDevMessage(component, message) {
|
|
28
|
+
return `${component}: ${message}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Dev-only `console.warn` in the standardized `Component: message` format.
|
|
33
|
+
* A no-op in production — warnings are builder guardrails, not shipped noise.
|
|
34
|
+
* Extra args (e.g. an offending value) are forwarded to `console.warn`.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```
|
|
38
|
+
* devWarn('Popover', 'children must contain a <button>.');
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export function devWarn(component, message, ...args) {
|
|
42
|
+
if (!isDev) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
console.warn(formatDevMessage(component, message), ...args);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* `console.error` in the standardized `Component: message` format. Unlike
|
|
50
|
+
* {@link devWarn}, this runs in production too: it reports real runtime
|
|
51
|
+
* failures (e.g. a thrown callback) that should reach error telemetry.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```
|
|
55
|
+
* devError('Table', 'Plugin at index 0 threw in transform:', error);
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export function devError(component, message, ...args) {
|
|
59
|
+
console.error(formatDevMessage(component, message), ...args);
|
|
60
|
+
}
|
|
61
|
+
const warnedKeys = new Set();
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Dev-only warning that fires at most once per `key` for the lifetime of the
|
|
65
|
+
* app. Use for singleton warnings that aren't tied to a component instance —
|
|
66
|
+
* a missing translation key, a per-theme perf hint, a one-time fallback.
|
|
67
|
+
* For per-component-instance warnings, use the `useDevWarning` hook instead.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```
|
|
71
|
+
* warnOnce(`theme:${name}`, 'Theme', `"${name}" uses runtime injection.`);
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export function warnOnce(key, component, message, ...args) {
|
|
75
|
+
if (!isDev || warnedKeys.has(key)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
warnedKeys.add(key);
|
|
79
|
+
console.warn(formatDevMessage(component, message), ...args);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Clear `warnOnce` dedup state. Test-only.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
export function __resetDevWarnings() {
|
|
87
|
+
warnedKeys.clear();
|
|
88
|
+
}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
export type { SizeValue } from './types';
|
|
8
8
|
export type { ISODateString, DayOfWeek, PlainDate, DateRange } from './dateTypes';
|
|
9
9
|
export { parseDateInput, dateToISO, parseISO, isLocaleDayFirst, } from './dateParser';
|
|
10
|
-
export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, } from './plainDate';
|
|
10
|
+
export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, formatSharedDate, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_SHORT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, SHARED_DATE_FORMAT_OPTIONS, } from './plainDate';
|
|
11
|
+
export type { SharedDateFormat } from './plainDate';
|
|
11
12
|
export { parseISOTime, formatISOTime, formatDisplayTime12h, formatDisplayTime24h, parseTimeInput, compareTime, isTimeInRange, clampTime, adjustTime, createISOTimeString, } from './timeParser';
|
|
12
13
|
export type { ISOTimeString, ParsedTime } from './timeParser';
|
|
13
14
|
export { parseStyleKey } from './parseStyleKey';
|
|
@@ -25,4 +26,5 @@ export { getInputARIA } from './inputAria';
|
|
|
25
26
|
export type { InputARIA, InputARIAInputGroup } from './inputAria';
|
|
26
27
|
export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats, } from './color';
|
|
27
28
|
export type { RGBA } from './color';
|
|
29
|
+
export { devWarn, devError, warnOnce, formatDevMessage } from './devWarning';
|
|
28
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEhF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,YAAY,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAC,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAEhF,OAAO,EACL,cAAc,EACd,SAAS,EACT,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAElD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAE,KAAK,GAAG,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAC;AAE5D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC7D,YAAY,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AACtD,YAAY,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAE,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,YAAY,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAC,IAAI,EAAC,MAAM,SAAS,CAAC;AAElC,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
export { parseDateInput, dateToISO, parseISO, isLocaleDayFirst } from "./dateParser.js";
|
|
11
|
-
export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR } from "./plainDate.js";
|
|
11
|
+
export { plainDateCreate, plainDateFromISO, plainDateToISO, plainDateToDate, plainDateFromDate, plainDateToday, getDaysInMonth, plainDateDayOfWeek, plainDateAddMonths, plainDateAddDays, plainDateToInstant, plainDateFromInstant, plainDateIsBefore, plainDateIsAfter, plainDateIsEqual, plainDateMax, plainDateMin, plainDateIsInRange, plainDateSetFirstOfMonth, plainDateSetStartOfWeek, plainDateSetEndOfWeekExclusive, plainDateGetWeekNumber, plainDateFormat, formatSharedDate, DATE_FORMAT_WITH_WEEKDAY, DATE_FORMAT_SHORT_WITH_WEEKDAY, DATE_FORMAT_LONG, DATE_FORMAT_MONTH_YEAR, DATE_FORMAT_SHORT, DATE_FORMAT_SHORT_WITH_YEAR, SHARED_DATE_FORMAT_OPTIONS } from "./plainDate.js";
|
|
12
12
|
export { parseISOTime, formatISOTime, formatDisplayTime12h, formatDisplayTime24h, parseTimeInput, compareTime, isTimeInRange, clampTime, adjustTime, createISOTimeString } from "./timeParser.js";
|
|
13
13
|
export { parseStyleKey } from "./parseStyleKey.js";
|
|
14
14
|
export { getKey } from "./getKey.js";
|
|
@@ -20,4 +20,5 @@ export { groupItems, getItemGroup } from "./groupItems.js";
|
|
|
20
20
|
export { observeResize, unobserveResize } from "./sharedResizeObserver.js";
|
|
21
21
|
export { isRenderable } from "./isRenderable.js";
|
|
22
22
|
export { getInputARIA } from "./inputAria.js";
|
|
23
|
-
export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats } from "./color.js";
|
|
23
|
+
export { parseHex, parseRgb, parseColor, formatHex, formatColor, toGLFloats } from "./color.js";
|
|
24
|
+
export { devWarn, devError, warnOnce, formatDevMessage } from "./devWarning.js";
|
|
@@ -29,9 +29,39 @@ export declare function plainDateSetStartOfWeek(pd: PlainDate, weekStartsOn: num
|
|
|
29
29
|
export declare function plainDateSetEndOfWeekExclusive(pd: PlainDate, weekStartsOn: number): PlainDate;
|
|
30
30
|
export declare function plainDateGetWeekNumber(pd: PlainDate): number;
|
|
31
31
|
export declare const DATE_FORMAT_WITH_WEEKDAY: Intl.DateTimeFormatOptions;
|
|
32
|
+
export declare const DATE_FORMAT_SHORT_WITH_WEEKDAY: Intl.DateTimeFormatOptions;
|
|
32
33
|
export declare const DATE_FORMAT_LONG: Intl.DateTimeFormatOptions;
|
|
33
34
|
export declare const DATE_FORMAT_MONTH_YEAR: Intl.DateTimeFormatOptions;
|
|
34
35
|
export declare const DATE_FORMAT_SHORT: Intl.DateTimeFormatOptions;
|
|
35
36
|
export declare const DATE_FORMAT_SHORT_WITH_YEAR: Intl.DateTimeFormatOptions;
|
|
36
37
|
export declare function plainDateFormat(pd: PlainDate, options: Intl.DateTimeFormatOptions): string;
|
|
38
|
+
/**
|
|
39
|
+
* The date-only members of Timestamp's `format` vocabulary that a
|
|
40
|
+
* calendar-date field (no time-of-day) can render. Both Timestamp and
|
|
41
|
+
* DateInput share these string literals and the mapping below so that the same
|
|
42
|
+
* literal renders the same date shape in either component.
|
|
43
|
+
*
|
|
44
|
+
* - `date`: locale short-month date, e.g. "Mar 21, 2026"
|
|
45
|
+
* - `date_long`: locale long-month date, e.g. "March 21, 2026"
|
|
46
|
+
* - `date_weekday`: short weekday + short-month date, e.g. "Wed, Mar 21, 2026"
|
|
47
|
+
* - `system_date`: ISO 8601 calendar date, e.g. "2026-03-21"
|
|
48
|
+
*/
|
|
49
|
+
export type SharedDateFormat = 'date' | 'date_long' | 'date_weekday' | 'system_date';
|
|
50
|
+
/**
|
|
51
|
+
* Intl option bags for the locale-aware shared date members. `system_date` is
|
|
52
|
+
* intentionally absent — it is emitted as a fixed ISO `YYYY-MM-DD` string, not
|
|
53
|
+
* via `Intl` — and is handled directly by {@link formatSharedDate}.
|
|
54
|
+
*
|
|
55
|
+
* This is the single source of truth consumed by both Timestamp's
|
|
56
|
+
* `formatTimestamp` switch and DateInput's display path, so the two never
|
|
57
|
+
* drift for the members they share.
|
|
58
|
+
*/
|
|
59
|
+
export declare const SHARED_DATE_FORMAT_OPTIONS: Record<Exclude<SharedDateFormat, 'system_date'>, Intl.DateTimeFormatOptions>;
|
|
60
|
+
/**
|
|
61
|
+
* Renders a {@link PlainDate} using one of the {@link SharedDateFormat}
|
|
62
|
+
* members. The shared entry point DateInput uses for the named-format path;
|
|
63
|
+
* Timestamp maps the same members onto {@link SHARED_DATE_FORMAT_OPTIONS} in
|
|
64
|
+
* its own `formatTimestamp` switch (its input is a `Date`, not a `PlainDate`).
|
|
65
|
+
*/
|
|
66
|
+
export declare function formatSharedDate(pd: PlainDate, format: SharedDateFormat): string;
|
|
37
67
|
//# sourceMappingURL=plainDate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plainDate.d.ts","sourceRoot":"","sources":["../../src/utils/plainDate.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAE1D,YAAY,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAcX;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAG9D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAK3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAMpD;AAED,wBAAgB,cAAc,IAAI,SAAS,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAItE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAIpE;AAsDD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,SAAI,EACR,MAAM,SAAI,GACT,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,SAAS,CAGX;AAYD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAErE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,GAC5B,OAAO,CAET;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAEjE;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAIX;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAEX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAM5D;AAGD,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,qBAK3C,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,qBAInC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,IAAI,CAAC,qBAGzC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,qBAGpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAAC,qBAI9C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAClC,MAAM,CAIR"}
|
|
1
|
+
{"version":3,"file":"plainDate.d.ts","sourceRoot":"","sources":["../../src/utils/plainDate.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAE1D,YAAY,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAE3C,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAcX;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,CAG9D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,aAAa,CAK3D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAMpD;AAED,wBAAgB,cAAc,IAAI,SAAS,CAE1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAItE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAIpE;AAsDD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,SAAI,EACR,MAAM,SAAI,GACT,MAAM,CAMR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,SAAS,CAGX;AAYD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAErE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,SAAS,CAElE;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,GAC5B,OAAO,CAET;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAEjE;AAED,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAIX;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,SAAS,EACb,YAAY,EAAE,MAAM,GACnB,SAAS,CAEX;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAM5D;AAGD,eAAO,MAAM,wBAAwB,EAAE,IAAI,CAAC,qBAK3C,CAAC;AAIF,eAAO,MAAM,8BAA8B,EAAE,IAAI,CAAC,qBAKjD,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,IAAI,CAAC,qBAInC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,IAAI,CAAC,qBAGzC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,IAAI,CAAC,qBAGpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAAC,qBAI9C,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,IAAI,CAAC,qBAAqB,GAClC,MAAM,CAIR;AAMD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAC1B,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAC7C,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC,EACxC,IAAI,CAAC,qBAAqB,CAK3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAKR"}
|
package/dist/utils/plainDate.js
CHANGED
|
@@ -161,6 +161,15 @@ export const DATE_FORMAT_WITH_WEEKDAY = {
|
|
|
161
161
|
day: 'numeric'
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
+
// e.g. "Wed, May 21, 2026" (locale-dependent) — short weekday + short month.
|
|
165
|
+
// Backs the shared `date_weekday` format used by both Timestamp and DateInput.
|
|
166
|
+
export const DATE_FORMAT_SHORT_WITH_WEEKDAY = {
|
|
167
|
+
weekday: 'short',
|
|
168
|
+
month: 'short',
|
|
169
|
+
day: 'numeric',
|
|
170
|
+
year: 'numeric'
|
|
171
|
+
};
|
|
172
|
+
|
|
164
173
|
// e.g. "May 21, 2026" (locale-dependent)
|
|
165
174
|
export const DATE_FORMAT_LONG = {
|
|
166
175
|
year: 'numeric',
|
|
@@ -188,4 +197,48 @@ export const DATE_FORMAT_SHORT_WITH_YEAR = {
|
|
|
188
197
|
};
|
|
189
198
|
export function plainDateFormat(pd, options) {
|
|
190
199
|
return new Intl.DateTimeFormat(undefined, options).format(plainDateToDate(pd));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// =============================================================================
|
|
203
|
+
// Shared date-only format vocabulary
|
|
204
|
+
// =============================================================================
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* The date-only members of Timestamp's `format` vocabulary that a
|
|
208
|
+
* calendar-date field (no time-of-day) can render. Both Timestamp and
|
|
209
|
+
* DateInput share these string literals and the mapping below so that the same
|
|
210
|
+
* literal renders the same date shape in either component.
|
|
211
|
+
*
|
|
212
|
+
* - `date`: locale short-month date, e.g. "Mar 21, 2026"
|
|
213
|
+
* - `date_long`: locale long-month date, e.g. "March 21, 2026"
|
|
214
|
+
* - `date_weekday`: short weekday + short-month date, e.g. "Wed, Mar 21, 2026"
|
|
215
|
+
* - `system_date`: ISO 8601 calendar date, e.g. "2026-03-21"
|
|
216
|
+
*/
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Intl option bags for the locale-aware shared date members. `system_date` is
|
|
220
|
+
* intentionally absent — it is emitted as a fixed ISO `YYYY-MM-DD` string, not
|
|
221
|
+
* via `Intl` — and is handled directly by {@link formatSharedDate}.
|
|
222
|
+
*
|
|
223
|
+
* This is the single source of truth consumed by both Timestamp's
|
|
224
|
+
* `formatTimestamp` switch and DateInput's display path, so the two never
|
|
225
|
+
* drift for the members they share.
|
|
226
|
+
*/
|
|
227
|
+
export const SHARED_DATE_FORMAT_OPTIONS = {
|
|
228
|
+
date: DATE_FORMAT_SHORT_WITH_YEAR,
|
|
229
|
+
date_long: DATE_FORMAT_LONG,
|
|
230
|
+
date_weekday: DATE_FORMAT_SHORT_WITH_WEEKDAY
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Renders a {@link PlainDate} using one of the {@link SharedDateFormat}
|
|
235
|
+
* members. The shared entry point DateInput uses for the named-format path;
|
|
236
|
+
* Timestamp maps the same members onto {@link SHARED_DATE_FORMAT_OPTIONS} in
|
|
237
|
+
* its own `formatTimestamp` switch (its input is a `Date`, not a `PlainDate`).
|
|
238
|
+
*/
|
|
239
|
+
export function formatSharedDate(pd, format) {
|
|
240
|
+
if (format === 'system_date') {
|
|
241
|
+
return plainDateToISO(pd);
|
|
242
|
+
}
|
|
243
|
+
return plainDateFormat(pd, SHARED_DATE_FORMAT_OPTIONS[format]);
|
|
191
244
|
}
|
package/dist/utils/types.d.ts
CHANGED
|
@@ -8,6 +8,19 @@
|
|
|
8
8
|
* Size value type - accepts numbers (treated as pixels) or strings (e.g., '100%', '50vh').
|
|
9
9
|
*/
|
|
10
10
|
export type SizeValue = number | string;
|
|
11
|
+
/**
|
|
12
|
+
* Resting elevation level for configurable surfaces.
|
|
13
|
+
*
|
|
14
|
+
* Maps to the shadow token scale:
|
|
15
|
+
* - `none` = flat (`box-shadow: none`)
|
|
16
|
+
* - `low` = `--shadow-low`
|
|
17
|
+
* - `med` = `--shadow-med`
|
|
18
|
+
* - `high` = `--shadow-high`
|
|
19
|
+
*
|
|
20
|
+
* Components narrow this union to the steps they actually need — e.g. Card
|
|
21
|
+
* exposes all four, while ChatComposer exposes only `'none' | 'low'`.
|
|
22
|
+
*/
|
|
23
|
+
export type Elevation = 'none' | 'low' | 'med' | 'high';
|
|
11
24
|
/**
|
|
12
25
|
* Numeric spacing step from the Astryx spacing scale.
|
|
13
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC"}
|
package/locales/en.json
CHANGED
|
@@ -239,6 +239,10 @@
|
|
|
239
239
|
"defaultMessage": "Avatars",
|
|
240
240
|
"description": "Screen-reader-only fallback name for a horizontal cluster of user avatar images. Plural noun; consumers usually override with \"Team members\", \"Attendees\", etc."
|
|
241
241
|
},
|
|
242
|
+
"@astryx.avatarGroup.keyboardHint": {
|
|
243
|
+
"defaultMessage": "Use arrow keys to move between avatars",
|
|
244
|
+
"description": "Screen-reader-only instruction attached (via aria-describedby) to a group of interactive avatars that share a single Tab stop. Tells keyboard users the Left/Right arrow keys move focus between the avatars. Only announced when the group has interactive (link/button) avatars."
|
|
245
|
+
},
|
|
242
246
|
"@astryx.banner.dismiss": {
|
|
243
247
|
"defaultMessage": "Dismiss",
|
|
244
248
|
"description": "\"Dismiss\" = close/hide this notification (not \"reject a person\"). Aria label AND tooltip on the small X button on a Banner."
|
|
@@ -263,6 +267,10 @@
|
|
|
263
267
|
"defaultMessage": "Scroll right",
|
|
264
268
|
"description": "Screen-reader-only label on the right arrow button in a Carousel. Pairs with `carousel.scrollLeft`; same RTL note."
|
|
265
269
|
},
|
|
270
|
+
"@astryx.carousel.slideLabel": {
|
|
271
|
+
"defaultMessage": "Slide {current, number} of {total, number}",
|
|
272
|
+
"description": "Screen-reader accessible name for one slide in a Carousel, giving its position. `current` is the 1-based slide number; `total` is the slide count."
|
|
273
|
+
},
|
|
266
274
|
"@astryx.chat.status.sending": {
|
|
267
275
|
"defaultMessage": "Sending",
|
|
268
276
|
"description": "Chat send-status caption under an outgoing message while it is being transmitted. Part of the set sending → sent → delivered → read (or failed) — keep tense/aspect consistent."
|
|
@@ -411,6 +419,10 @@
|
|
|
411
419
|
"defaultMessage": "Select row",
|
|
412
420
|
"description": "Aria label for the \"select row\" checkbox on a Table row."
|
|
413
421
|
},
|
|
422
|
+
"@astryx.table.selection.selectRowNamed": {
|
|
423
|
+
"defaultMessage": "Select {label}",
|
|
424
|
+
"description": "Aria label for a Table row's selection checkbox when a per-row label is available (via getRowLabel). `label` is the row's human-readable identity, e.g. \"Alice\"."
|
|
425
|
+
},
|
|
414
426
|
"@astryx.table.sort.ascending": {
|
|
415
427
|
"defaultMessage": "Sort ascending",
|
|
416
428
|
"description": "Screen-reader-only label on a column header button that will sort the column ascending. Part of a set with `sort.descending` and `sort.clear` — keep parallel."
|
|
@@ -679,6 +691,14 @@
|
|
|
679
691
|
"defaultMessage": "Clear {label}",
|
|
680
692
|
"description": "Screen-reader-only label on the X that removes the selected file from a FileInput. Example: `Clear Attachment`, `Clear Résumé`."
|
|
681
693
|
},
|
|
694
|
+
"@astryx.fileInput.required": {
|
|
695
|
+
"defaultMessage": "Required",
|
|
696
|
+
"description": "Screen-reader-only description on the FileInput trigger indicating the field must be filled in. Mirrors the visible `Required` indicator next to the field label; conveyed via description because aria-required is not supported on role=\"button\"."
|
|
697
|
+
},
|
|
698
|
+
"@astryx.fileInput.triggerWithFiles": {
|
|
699
|
+
"defaultMessage": "{label}, {fileNames}",
|
|
700
|
+
"description": "Accessible name for a FileInput trigger that has files attached, composing the field label with the selected filenames. Example: `Attachments, report.pdf, notes.txt`."
|
|
701
|
+
},
|
|
682
702
|
"@astryx.lightbox.mediaViewer": {
|
|
683
703
|
"defaultMessage": "Media viewer",
|
|
684
704
|
"description": "Screen-reader-only fallback name for the Lightbox dialog when the current media item has no alt text. Should rarely render — consumers should provide alt."
|
|
@@ -751,6 +771,14 @@
|
|
|
751
771
|
"defaultMessage": "Expand row",
|
|
752
772
|
"description": "Aria label for the Table tree-data expander chevron when the row is currently collapsed."
|
|
753
773
|
},
|
|
774
|
+
"@astryx.tableTree.collapseAllRows": {
|
|
775
|
+
"defaultMessage": "Collapse all rows",
|
|
776
|
+
"description": "Aria label for the Table tree-data header toggle when all rows are expanded and clicking it collapses them."
|
|
777
|
+
},
|
|
778
|
+
"@astryx.tableTree.expandAllRows": {
|
|
779
|
+
"defaultMessage": "Expand all rows",
|
|
780
|
+
"description": "Aria label for the Table tree-data header toggle when rows are collapsed and clicking it expands them."
|
|
781
|
+
},
|
|
754
782
|
"@astryx.textInput.clearLabel": {
|
|
755
783
|
"defaultMessage": "Clear {label}",
|
|
756
784
|
"description": "Screen-reader-only label on the X that clears the value from a TextInput. Example: `Clear Email`, `Clear Name`."
|
|
@@ -763,6 +791,10 @@
|
|
|
763
791
|
"defaultMessage": "Open {accessibleName}",
|
|
764
792
|
"description": "\"Open\" = launch/reveal (not \"unfold\" or the adjective). Screen-reader-only name on a clickable Thumbnail — example: `Open Sunset photo`."
|
|
765
793
|
},
|
|
794
|
+
"@astryx.thumbnail.fallbackName": {
|
|
795
|
+
"defaultMessage": "Thumbnail",
|
|
796
|
+
"description": "Generic screen-reader name for a Thumbnail (image preview) that has no `alt` or `label`. Last-resort fallback so the control is never nameless; prefer a real name via `alt` or `label`."
|
|
797
|
+
},
|
|
766
798
|
"@astryx.timeInput.clearLabel": {
|
|
767
799
|
"defaultMessage": "Clear {label}",
|
|
768
800
|
"description": "Screen-reader-only label on the X that clears the value from a TimeInput. Example: `Clear Start time`."
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@astryx.pagination.previous": {
|
|
3
|
+
"defaultMessage": "Aller à la page précédente",
|
|
4
|
+
"description": "Aria label for the previous-page button."
|
|
5
|
+
},
|
|
6
|
+
"@astryx.pagination.next": {
|
|
7
|
+
"defaultMessage": "Aller à la page suivante",
|
|
8
|
+
"description": "Aria label for the next-page button."
|
|
9
|
+
},
|
|
10
|
+
"@astryx.selector.placeholder": {
|
|
11
|
+
"defaultMessage": "Sélectionner…",
|
|
12
|
+
"description": "Placeholder text on an empty Selector trigger button (a dropdown). Imperative verb; trailing `…` is one character. Very short — appears on the button face."
|
|
13
|
+
}
|
|
14
|
+
}
|
package/locales/pseudo.json
CHANGED
|
@@ -179,6 +179,9 @@
|
|
|
179
179
|
"@astryx.avatarGroup.label": {
|
|
180
180
|
"defaultMessage": "⟦Àṽàţàřš⟧"
|
|
181
181
|
},
|
|
182
|
+
"@astryx.avatarGroup.keyboardHint": {
|
|
183
|
+
"defaultMessage": "⟦Úšé àřřóŵ ķéýš ţó ɱóṽé ƀéţŵééñ àṽàţàřš⟧"
|
|
184
|
+
},
|
|
182
185
|
"@astryx.banner.dismiss": {
|
|
183
186
|
"defaultMessage": "⟦Ðíšɱíšš⟧"
|
|
184
187
|
},
|
|
@@ -197,6 +200,9 @@
|
|
|
197
200
|
"@astryx.carousel.scrollRight": {
|
|
198
201
|
"defaultMessage": "⟦Šçřółł říĝĥţ⟧"
|
|
199
202
|
},
|
|
203
|
+
"@astryx.carousel.slideLabel": {
|
|
204
|
+
"defaultMessage": "⟦Šłíðé {current, number} óƒ {total, number}⟧"
|
|
205
|
+
},
|
|
200
206
|
"@astryx.chat.status.sending": {
|
|
201
207
|
"defaultMessage": "⟦Šéñðíñĝ⟧"
|
|
202
208
|
},
|
|
@@ -308,6 +314,9 @@
|
|
|
308
314
|
"@astryx.table.selection.selectRow": {
|
|
309
315
|
"defaultMessage": "⟦Šéłéçţ řóŵ⟧"
|
|
310
316
|
},
|
|
317
|
+
"@astryx.table.selection.selectRowNamed": {
|
|
318
|
+
"defaultMessage": "⟦Šéłéçţ {label}⟧"
|
|
319
|
+
},
|
|
311
320
|
"@astryx.table.sort.ascending": {
|
|
312
321
|
"defaultMessage": "⟦Šóřţ àšçéñðíñĝ⟧"
|
|
313
322
|
},
|
|
@@ -509,6 +518,12 @@
|
|
|
509
518
|
"@astryx.fileInput.clearLabel": {
|
|
510
519
|
"defaultMessage": "⟦Çłéàř {label}⟧"
|
|
511
520
|
},
|
|
521
|
+
"@astryx.fileInput.required": {
|
|
522
|
+
"defaultMessage": "⟦Řéɋúířéð⟧"
|
|
523
|
+
},
|
|
524
|
+
"@astryx.fileInput.triggerWithFiles": {
|
|
525
|
+
"defaultMessage": "⟦{label}, {fileNames}⟧"
|
|
526
|
+
},
|
|
512
527
|
"@astryx.lightbox.mediaViewer": {
|
|
513
528
|
"defaultMessage": "⟦Ṁéðíà ṽíéŵéř⟧"
|
|
514
529
|
},
|
|
@@ -563,6 +578,12 @@
|
|
|
563
578
|
"@astryx.tableTree.expandRow": {
|
|
564
579
|
"defaultMessage": "⟦Éẋþàñð řóŵ⟧"
|
|
565
580
|
},
|
|
581
|
+
"@astryx.tableTree.collapseAllRows": {
|
|
582
|
+
"defaultMessage": "⟦Çółłàþšé àłł řóŵš⟧"
|
|
583
|
+
},
|
|
584
|
+
"@astryx.tableTree.expandAllRows": {
|
|
585
|
+
"defaultMessage": "⟦Éẋþàñð àłł řóŵš⟧"
|
|
586
|
+
},
|
|
566
587
|
"@astryx.textInput.clearLabel": {
|
|
567
588
|
"defaultMessage": "⟦Çłéàř {label}⟧"
|
|
568
589
|
},
|
|
@@ -572,6 +593,9 @@
|
|
|
572
593
|
"@astryx.thumbnail.open": {
|
|
573
594
|
"defaultMessage": "⟦Óþéñ {accessibleName}⟧"
|
|
574
595
|
},
|
|
596
|
+
"@astryx.thumbnail.fallbackName": {
|
|
597
|
+
"defaultMessage": "⟦Ţĥúɱƀñàíł⟧"
|
|
598
|
+
},
|
|
575
599
|
"@astryx.timeInput.clearLabel": {
|
|
576
600
|
"defaultMessage": "⟦Çłéàř {label}⟧"
|
|
577
601
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astryxdesign/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9-canary.09e9ddd",
|
|
4
4
|
"displayName": "Astryx Core",
|
|
5
5
|
"description": "The component library. Accessible, themeable React components with built-in spacing, dark mode, and StyleX styling.",
|
|
6
6
|
"author": "Meta Open Source",
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
isValidElement,
|
|
25
25
|
useCallback,
|
|
26
26
|
useEffect,
|
|
27
|
+
useId,
|
|
27
28
|
useMemo,
|
|
28
29
|
useRef,
|
|
29
30
|
useState,
|
|
@@ -600,10 +601,14 @@ export function AppShell({
|
|
|
600
601
|
// =========================================================================
|
|
601
602
|
// Mobile context — shared with MobileNavToggle and future TopNav mobile
|
|
602
603
|
// =========================================================================
|
|
604
|
+
// Stable id shared by the drawer (applied as its `id`) and the toggle
|
|
605
|
+
// (referenced via `aria-controls`) so screen readers know what it controls.
|
|
606
|
+
const mobileNavId = useId();
|
|
603
607
|
const mobileContextValue = useMemo<AppShellMobileContextValue>(
|
|
604
608
|
() => ({
|
|
605
609
|
isMobile: isBelowBreakpoint,
|
|
606
610
|
isMobileNavOpen,
|
|
611
|
+
mobileNavId,
|
|
607
612
|
toggleMobileNav: () =>
|
|
608
613
|
mobileNavEnabled && setMobileNavOpen(!isMobileNavOpen),
|
|
609
614
|
openMobileNav: () => mobileNavEnabled && setMobileNavOpen(true),
|
|
@@ -614,6 +619,7 @@ export function AppShell({
|
|
|
614
619
|
[
|
|
615
620
|
isBelowBreakpoint,
|
|
616
621
|
isMobileNavOpen,
|
|
622
|
+
mobileNavId,
|
|
617
623
|
setMobileNavOpen,
|
|
618
624
|
mobileNavEnabled,
|
|
619
625
|
mobileNavHasToggle,
|
|
@@ -20,6 +20,14 @@ export interface AppShellMobileContextValue {
|
|
|
20
20
|
isMobile: boolean;
|
|
21
21
|
/** Whether the mobile nav drawer is currently open */
|
|
22
22
|
isMobileNavOpen: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* DOM id of the mobile nav drawer. `AppShell` sets this so the toggle can
|
|
25
|
+
* point its `aria-controls` at the drawer and the drawer can apply it as its
|
|
26
|
+
* `id`. Optional: callers that construct this context by hand may omit it, in
|
|
27
|
+
* which case `MobileNav` falls back to a locally generated id and the toggle
|
|
28
|
+
* simply drops `aria-controls`.
|
|
29
|
+
*/
|
|
30
|
+
mobileNavId?: string;
|
|
23
31
|
/** Toggle the mobile nav drawer open/closed */
|
|
24
32
|
toggleMobileNav: () => void;
|
|
25
33
|
/** Open the mobile nav drawer */
|
|
@@ -31,6 +31,12 @@ export const docs = {
|
|
|
31
31
|
description:
|
|
32
32
|
'Whether the AppShell-managed mobile navigation drawer is open.',
|
|
33
33
|
},
|
|
34
|
+
{
|
|
35
|
+
name: 'mobileNavId',
|
|
36
|
+
type: 'string | undefined',
|
|
37
|
+
description:
|
|
38
|
+
'DOM id of the mobile navigation drawer, set by AppShell. Point aria-controls of a custom toggle at this so screen-reader users know which element the toggle expands. Undefined outside an AppShell that manages the drawer.',
|
|
39
|
+
},
|
|
34
40
|
{
|
|
35
41
|
name: 'toggleMobileNav',
|
|
36
42
|
type: '() => void',
|
|
@@ -111,6 +117,8 @@ export const docsDense = {
|
|
|
111
117
|
isMobile:
|
|
112
118
|
'viewport below AppShell mobile nav breakpoint? Use to sync AppShell-adjacent mobile UI',
|
|
113
119
|
isMobileNavOpen: 'AppShell-managed mobile nav drawer open?',
|
|
120
|
+
mobileNavId:
|
|
121
|
+
'DOM id of the drawer; point custom toggle aria-controls at it',
|
|
114
122
|
toggleMobileNav: 'toggle drawer; no-op when mobile nav disabled',
|
|
115
123
|
openMobileNav: 'open drawer; no-op when mobile nav disabled',
|
|
116
124
|
closeMobileNav: 'close drawer',
|