@astryxdesign/core 0.1.7 → 0.1.8-canary.0c4d8d7
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 +65 -0
- package/README.md +30 -19
- 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 +10 -5
- package/dist/Avatar/Avatar.d.ts.map +1 -1
- package/dist/Avatar/Avatar.js +12 -8
- package/dist/Avatar/AvatarSizeContext.d.ts +1 -1
- package/dist/Avatar/AvatarSizeContext.js +1 -1
- package/dist/Avatar/AvatarStatusDot.d.ts +2 -2
- package/dist/Avatar/AvatarStatusDot.js +2 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts +2 -2
- package/dist/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroup.js +2 -2
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/AvatarGroup/AvatarGroupOverflow.js +16 -14
- package/dist/Banner/Banner.d.ts +9 -1
- package/dist/Banner/Banner.d.ts.map +1 -1
- package/dist/Banner/Banner.js +31 -2
- package/dist/Button/Button.d.ts +8 -2
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +31 -2
- 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/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 +6 -2
- package/dist/Carousel/Carousel.d.ts.map +1 -1
- package/dist/Carousel/Carousel.js +55 -5
- package/dist/Chat/ChatComposer.d.ts +8 -0
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +31 -6
- 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 +19 -3
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatMessage.d.ts +1 -1
- package/dist/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/Chat/ChatMessage.js +1 -1
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatSendButton.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.d.ts +5 -1
- package/dist/Chat/ChatToolCalls.d.ts.map +1 -1
- package/dist/Chat/ChatToolCalls.js +12 -3
- package/dist/Chat/useTriggerMenu.d.ts.map +1 -1
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +10 -4
- package/dist/ClickableCard/ClickableCard.d.ts +9 -2
- package/dist/ClickableCard/ClickableCard.d.ts.map +1 -1
- package/dist/ClickableCard/ClickableCard.js +3 -0
- package/dist/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/CodeBlock/CodeBlock.js +8 -1
- package/dist/Collapsible/Collapsible.d.ts +11 -1
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +36 -4
- 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/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/ContextMenu/ContextMenu.js +4 -3
- package/dist/ContextMenu/index.d.ts +3 -0
- package/dist/ContextMenu/index.d.ts.map +1 -1
- package/dist/ContextMenu/index.js +7 -1
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +10 -1
- package/dist/Dialog/Dialog.d.ts.map +1 -1
- package/dist/Dialog/Dialog.js +2 -1
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +8 -4
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts +88 -0
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -0
- package/dist/DropdownMenu/DropdownMenuCheckboxItem.js +169 -0
- package/dist/DropdownMenu/DropdownMenuContext.d.ts +17 -1
- package/dist/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenuContext.js +18 -0
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts +68 -0
- package/dist/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -0
- package/dist/DropdownMenu/DropdownMenuRadioGroup.js +69 -0
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts +69 -0
- package/dist/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -0
- package/dist/DropdownMenu/DropdownMenuRadioItem.js +178 -0
- package/dist/DropdownMenu/index.d.ts +5 -1
- package/dist/DropdownMenu/index.d.ts.map +1 -1
- package/dist/DropdownMenu/index.js +10 -1
- package/dist/DropdownMenu/menuItemRoles.d.ts +13 -0
- package/dist/DropdownMenu/menuItemRoles.d.ts.map +1 -0
- package/dist/DropdownMenu/menuItemRoles.js +15 -0
- package/dist/FieldStatus/FieldStatus.d.ts +8 -0
- package/dist/FieldStatus/FieldStatus.d.ts.map +1 -1
- package/dist/FieldStatus/FieldStatus.js +22 -4
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +10 -2
- 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 +43 -13
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +62 -27
- 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/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.map +1 -1
- package/dist/MultiSelector/MultiSelector.js +39 -12
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +16 -0
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/Outline/Outline.d.ts +68 -3
- package/dist/Outline/Outline.d.ts.map +1 -1
- package/dist/Outline/Outline.js +128 -26
- package/dist/Outline/useScrollSpy.d.ts +27 -7
- package/dist/Outline/useScrollSpy.d.ts.map +1 -1
- package/dist/Outline/useScrollSpy.js +202 -70
- 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/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 +14 -11
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +4 -2
- 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 +15 -1
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +2 -2
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +2 -0
- package/dist/TabList/TabMenu.d.ts.map +1 -1
- package/dist/TabList/TabMenu.js +1 -1
- package/dist/Table/Table.d.ts +1 -1
- package/dist/Table/Table.js +1 -1
- package/dist/Table/index.d.ts +4 -0
- package/dist/Table/index.d.ts.map +1 -1
- package/dist/Table/index.js +2 -0
- package/dist/Table/plugins/groupedRows/useTableGroupedRows.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +24 -2
- 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 +12 -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/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/Table/plugins/sortable/useTableSortable.js +18 -7
- package/dist/Table/plugins/tree/index.d.ts +5 -0
- package/dist/Table/plugins/tree/index.d.ts.map +1 -0
- package/dist/Table/plugins/tree/index.js +4 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts +38 -0
- package/dist/Table/plugins/tree/useTableTreeData.d.ts.map +1 -0
- package/dist/Table/plugins/tree/useTableTreeData.js +358 -0
- package/dist/Table/plugins/tree/useTableTreeState.d.ts +51 -0
- package/dist/Table/plugins/tree/useTableTreeState.d.ts.map +1 -0
- package/dist/Table/plugins/tree/useTableTreeState.js +175 -0
- package/dist/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/Table/useBaseTablePlugins.js +6 -3
- package/dist/Thumbnail/Thumbnail.d.ts +8 -1
- package/dist/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +46 -8
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +15 -4
- package/dist/Tokenizer/Tokenizer.d.ts +1 -1
- package/dist/Tokenizer/Tokenizer.d.ts.map +1 -1
- package/dist/Tokenizer/Tokenizer.js +16 -4
- package/dist/Toolbar/Toolbar.d.ts.map +1 -1
- package/dist/Toolbar/Toolbar.js +8 -1
- 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/TopNavMenu.d.ts +2 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +68 -6
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +5 -14
- package/dist/astryx.css +51 -16
- package/dist/astryx.umd.js +56 -56
- package/dist/astryx.umd.js.map +4 -4
- package/dist/authoring/doc.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/useOverflow.d.ts +19 -0
- package/dist/hooks/useOverflow.d.ts.map +1 -1
- package/dist/hooks/useOverflow.js +37 -25
- package/dist/theme/Theme.js +1 -1
- package/dist/theme/defineTheme.d.ts +1 -1
- package/dist/theme/defineTheme.js +1 -1
- 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 +0 -3
- package/dist/utils/types.d.ts +13 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/docs.mjs +32 -461
- package/locales/en.json +212 -172
- package/locales/fr-FR.json +10 -0
- package/locales/pseudo.json +30 -0
- package/package.json +3 -1
- package/scripts/postinstall.mjs +93 -0
- 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 +6 -6
- package/src/Avatar/Avatar.tsx +16 -11
- package/src/Avatar/AvatarSizeContext.ts +1 -1
- package/src/Avatar/AvatarStatusDot.tsx +2 -2
- package/src/AvatarGroup/AvatarGroup.doc.mjs +1 -1
- package/src/AvatarGroup/AvatarGroup.test.tsx +17 -3
- package/src/AvatarGroup/AvatarGroup.tsx +3 -3
- package/src/AvatarGroup/AvatarGroupOverflow.doc.mjs +4 -4
- package/src/AvatarGroup/AvatarGroupOverflow.tsx +21 -5
- package/src/Banner/Banner.doc.mjs +9 -0
- package/src/Banner/Banner.test.tsx +30 -0
- package/src/Banner/Banner.tsx +47 -3
- package/src/Button/Button.doc.mjs +9 -0
- package/src/Button/Button.test.tsx +49 -0
- package/src/Button/Button.tsx +25 -1
- 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/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 +149 -1
- package/src/Carousel/Carousel.tsx +62 -5
- package/src/Chat/Chat.doc.mjs +1 -1
- package/src/Chat/ChatComposer.doc.mjs +9 -0
- package/src/Chat/ChatComposer.test.tsx +35 -0
- package/src/Chat/ChatComposer.tsx +58 -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 +87 -0
- package/src/Chat/ChatComposerInput.tsx +35 -3
- package/src/Chat/ChatLayout.tsx +3 -1
- package/src/Chat/ChatLayoutScrollButton.tsx +3 -1
- package/src/Chat/ChatMessage.tsx +4 -2
- package/src/Chat/ChatMessageMetadata.tsx +1 -2
- package/src/Chat/ChatSendButton.tsx +5 -1
- package/src/Chat/ChatToolCalls.test.tsx +64 -0
- package/src/Chat/ChatToolCalls.tsx +13 -1
- package/src/Chat/useTriggerMenu.tsx +3 -1
- package/src/CheckboxInput/CheckboxInput.doc.mjs +1 -1
- package/src/CheckboxInput/CheckboxInput.test.tsx +32 -1
- package/src/CheckboxList/CheckboxList.test.tsx +9 -1
- package/src/Citation/Citation.test.tsx +51 -0
- package/src/Citation/Citation.tsx +8 -2
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -0
- package/src/ClickableCard/ClickableCard.test.tsx +34 -0
- package/src/ClickableCard/ClickableCard.tsx +11 -1
- package/src/CodeBlock/CodeBlock.test.tsx +56 -0
- package/src/CodeBlock/CodeBlock.tsx +9 -1
- package/src/Collapsible/Collapsible.doc.mjs +7 -0
- package/src/Collapsible/Collapsible.test.tsx +80 -0
- package/src/Collapsible/Collapsible.tsx +58 -5
- 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/ContextMenu/ContextMenu.test.tsx +75 -1
- package/src/ContextMenu/ContextMenu.tsx +10 -5
- package/src/ContextMenu/index.ts +15 -0
- package/src/DateTimeInput/DateTimeInput.test.tsx +35 -0
- package/src/DateTimeInput/DateTimeInput.tsx +14 -2
- package/src/Dialog/Dialog.tsx +12 -2
- package/src/DropdownMenu/DropdownMenu.doc.mjs +23 -0
- package/src/DropdownMenu/DropdownMenu.tsx +11 -6
- package/src/DropdownMenu/DropdownMenuCheckboxItem.doc.mjs +95 -0
- package/src/DropdownMenu/DropdownMenuCheckboxItem.tsx +236 -0
- package/src/DropdownMenu/DropdownMenuContext.tsx +29 -1
- package/src/DropdownMenu/DropdownMenuItem.doc.mjs +7 -1
- package/src/DropdownMenu/DropdownMenuRadioGroup.doc.mjs +80 -0
- package/src/DropdownMenu/DropdownMenuRadioGroup.tsx +118 -0
- package/src/DropdownMenu/DropdownMenuRadioItem.doc.mjs +80 -0
- package/src/DropdownMenu/DropdownMenuRadioItem.tsx +232 -0
- package/src/DropdownMenu/DropdownMenuSelectable.test.tsx +163 -0
- package/src/DropdownMenu/index.ts +23 -3
- package/src/DropdownMenu/menuItemRoles.ts +22 -0
- package/src/Field/Field.doc.mjs +1 -1
- package/src/Field/Field.test.tsx +57 -12
- package/src/Field/FieldLabel.doc.mjs +1 -1
- package/src/FieldStatus/FieldStatus.doc.mjs +17 -5
- package/src/FieldStatus/FieldStatus.test.tsx +78 -40
- package/src/FieldStatus/FieldStatus.tsx +22 -4
- package/src/FileInput/FileInput.test.tsx +52 -3
- package/src/FileInput/FileInput.tsx +13 -2
- 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 +12 -0
- package/src/Icon/Icon.test.tsx +142 -0
- package/src/Icon/Icon.tsx +98 -30
- package/src/IconButton/IconButton.doc.mjs +8 -0
- package/src/IconButton/IconButton.test.tsx +15 -18
- package/src/Item/Item.doc.mjs +1 -1
- package/src/Layer/useLayer.tsx +8 -0
- 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 +4 -2
- package/src/MultiSelector/MultiSelector.test.tsx +162 -1
- package/src/MultiSelector/MultiSelector.tsx +55 -12
- package/src/MultiSelector/hooks.ts +17 -0
- package/src/NumberInput/NumberInput.doc.mjs +2 -2
- package/src/NumberInput/NumberInput.test.tsx +11 -7
- package/src/NumberInput/NumberInput.tsx +1 -2
- package/src/Outline/Outline.doc.mjs +123 -3
- package/src/Outline/Outline.test.tsx +735 -0
- package/src/Outline/Outline.tsx +183 -33
- package/src/Outline/useScrollSpy.ts +248 -72
- 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/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 +27 -14
- package/src/Selector/Selector.test.tsx +69 -0
- package/src/Selector/Selector.tsx +5 -1
- package/src/Selector/SelectorOption.doc.mjs +1 -1
- 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.doc.mjs +2 -2
- package/src/SideNav/SideNavItem.tsx +5 -1
- package/src/Slider/Slider.test.tsx +62 -2
- package/src/Slider/Slider.tsx +15 -1
- package/src/Switch/Switch.doc.mjs +1 -1
- package/src/Switch/Switch.test.tsx +32 -1
- package/src/TabList/Tab.tsx +5 -1
- package/src/TabList/TabList.doc.mjs +3 -3
- package/src/TabList/TabList.test.tsx +66 -0
- package/src/TabList/TabList.tsx +8 -0
- package/src/TabList/TabMenu.tsx +4 -1
- package/src/Table/Table.doc.mjs +2 -0
- package/src/Table/Table.tsx +1 -1
- package/src/Table/index.ts +12 -0
- package/src/Table/plugins/groupedRows/useTableGroupedRows.tsx +6 -2
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.test.tsx +90 -1
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +37 -5
- 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 +18 -1
- package/src/Table/plugins/sortable/useTableSortable.test.tsx +95 -9
- package/src/Table/plugins/sortable/useTableSortable.tsx +23 -7
- package/src/Table/plugins/tree/index.ts +12 -0
- package/src/Table/plugins/tree/useTableTreeData-perf.test.tsx +163 -0
- package/src/Table/plugins/tree/useTableTreeData.test.tsx +594 -0
- package/src/Table/plugins/tree/useTableTreeData.tsx +495 -0
- package/src/Table/plugins/tree/useTableTreeState.test.tsx +636 -0
- package/src/Table/plugins/tree/useTableTreeState.tsx +253 -0
- package/src/Table/useBaseTablePlugins.ts +6 -2
- package/src/Table/useTableRowStatus.doc.mjs +30 -0
- package/src/Table/useTableSelection.doc.mjs +65 -14
- package/src/Table/useTableTreeData.doc.mjs +75 -0
- package/src/Table/useTableTreeState.doc.mjs +98 -0
- package/src/TextArea/TextArea.doc.mjs +1 -1
- package/src/TextArea/TextArea.test.tsx +9 -1
- package/src/TextInput/TextInput.doc.mjs +1 -1
- package/src/Thumbnail/Thumbnail.doc.mjs +9 -0
- package/src/Thumbnail/Thumbnail.test.tsx +38 -8
- package/src/Thumbnail/Thumbnail.tsx +28 -1
- package/src/TimeInput/TimeInput.test.tsx +76 -1
- package/src/TimeInput/TimeInput.tsx +19 -6
- package/src/Tokenizer/Tokenizer.doc.mjs +1 -1
- package/src/Tokenizer/Tokenizer.test.tsx +137 -2
- package/src/Tokenizer/Tokenizer.tsx +16 -4
- package/src/Toolbar/Toolbar.tsx +10 -3
- package/src/TopNav/TopNav.test.tsx +80 -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/TopNavMenu.test.tsx +118 -4
- package/src/TopNav/TopNavMenu.tsx +83 -5
- package/src/TreeList/TreeList.test.tsx +32 -1
- package/src/TreeList/TreeListItem.tsx +19 -10
- package/src/authoring/doc.ts +1 -3
- package/src/docs-script.test.mjs +18 -13
- package/src/hooks/computeOverflow.test.ts +422 -0
- package/src/hooks/computeOverflow.ts +290 -0
- package/src/hooks/useOverflow.test.ts +96 -4
- package/src/hooks/useOverflow.ts +77 -33
- package/src/postinstall.test.mjs +71 -0
- package/src/theme/Theme.doc.mjs +4 -4
- package/src/theme/Theme.tsx +1 -1
- package/src/theme/defineTheme.ts +1 -1
- package/src/theme/generateThemeRules.test.ts +65 -0
- package/src/theme/generateThemeRules.ts +56 -0
- package/src/theme/hct.ts +0 -4
- package/src/utils/types.ts +14 -0
- package/dist/TreeList/treeListItem.markers.stylex.d.ts +0 -16
- package/dist/TreeList/treeListItem.markers.stylex.d.ts.map +0 -1
- package/dist/TreeList/treeListItem.markers.stylex.js +0 -22
- package/src/TreeList/treeListItem.markers.stylex.ts +0 -20
package/locales/en.json
CHANGED
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
},
|
|
26
26
|
"@astryx.pagination.count": {
|
|
27
27
|
"defaultMessage": "{from, number}–{to, number} of {total, number}",
|
|
28
|
-
"description": "Visible range-of-total text
|
|
28
|
+
"description": "Visible range-of-total text on a pagination bar. Example: \"1–20 of 347\"; the en-dash is translator's choice."
|
|
29
29
|
},
|
|
30
30
|
"@astryx.pagination.pageOfTotal": {
|
|
31
31
|
"defaultMessage": "Page {current, number} of {total, number}",
|
|
32
|
-
"description": "Page
|
|
32
|
+
"description": "Visible \"Page X of Y\" text on the compact pagination variant; also announced by screen readers. Keep short — sits in a compact toolbar."
|
|
33
33
|
},
|
|
34
34
|
"@astryx.pagination.pageAnnounce": {
|
|
35
35
|
"defaultMessage": "Page {current, number}",
|
|
@@ -37,55 +37,55 @@
|
|
|
37
37
|
},
|
|
38
38
|
"@astryx.powersearch.editor.field": {
|
|
39
39
|
"defaultMessage": "Field",
|
|
40
|
-
"description": "
|
|
40
|
+
"description": "Noun form-label above the field-picker dropdown in the PowerSearch filter-builder popover (which data column to filter on). Not an action."
|
|
41
41
|
},
|
|
42
42
|
"@astryx.powersearch.editor.operator": {
|
|
43
43
|
"defaultMessage": "Operator",
|
|
44
|
-
"description": "
|
|
44
|
+
"description": "Noun form-label above the operator dropdown in the PowerSearch filter-builder popover. Refers to a comparison verb (\"is\", \"contains\"), not a math or phone operator."
|
|
45
45
|
},
|
|
46
46
|
"@astryx.powersearch.editor.addFilter": {
|
|
47
47
|
"defaultMessage": "+ Add filter",
|
|
48
|
-
"description": "
|
|
48
|
+
"description": "Button label inside a group in the PowerSearch filter-builder; adds another filter row (e.g. \"Status = Active\"). The leading \"+ \" is a plus-sign character."
|
|
49
49
|
},
|
|
50
50
|
"@astryx.powersearch.editor.removeFilter": {
|
|
51
51
|
"defaultMessage": "Remove filter",
|
|
52
|
-
"description": "
|
|
52
|
+
"description": "Screen-reader-only label on the \"×\" icon button next to a filter row in the PowerSearch editor; removes that row. Imperative verb."
|
|
53
53
|
},
|
|
54
54
|
"@astryx.powersearch.editor.groupOperator": {
|
|
55
55
|
"defaultMessage": "Group operator",
|
|
56
|
-
"description": "
|
|
56
|
+
"description": "Screen-reader-only label for the AND/OR toggle that combines sibling filters inside a filter group. Sighted users see just \"AND\" or \"OR\"."
|
|
57
57
|
},
|
|
58
58
|
"@astryx.powersearch.editor.group": {
|
|
59
59
|
"defaultMessage": "Group",
|
|
60
|
-
"description": "Fallback label
|
|
60
|
+
"description": "Fallback noun label shown on a nested filter-group chip when no AND/OR combining operator has been chosen. Use the noun (\"a cluster\"), not the verb \"to group\"."
|
|
61
61
|
},
|
|
62
62
|
"@astryx.powersearch.editor.delete": {
|
|
63
63
|
"defaultMessage": "Delete",
|
|
64
|
-
"description": "
|
|
64
|
+
"description": "Button label inside the PowerSearch filter-editor popover; deletes the currently-edited filter row. Imperative verb form."
|
|
65
65
|
},
|
|
66
66
|
"@astryx.powersearch.editor.cancel": {
|
|
67
67
|
"defaultMessage": "Cancel",
|
|
68
|
-
"description": "
|
|
68
|
+
"description": "Button label inside the PowerSearch filter-editor popover; closes the popover and discards pending edits. Imperative verb form."
|
|
69
69
|
},
|
|
70
70
|
"@astryx.powersearch.editor.apply": {
|
|
71
71
|
"defaultMessage": "Apply",
|
|
72
|
-
"description": "
|
|
72
|
+
"description": "Primary button label inside the PowerSearch filter-editor popover; confirms the edited filter. Imperative verb; consumers may override to \"Save\"."
|
|
73
73
|
},
|
|
74
74
|
"@astryx.powersearch.valueEditor.value": {
|
|
75
75
|
"defaultMessage": "Value",
|
|
76
|
-
"description": "
|
|
76
|
+
"description": "Noun form-label above a single free-text/number input in the PowerSearch value editor (e.g. the \"acme\" in `Name contains acme`). Not a verb or \"worth\"."
|
|
77
77
|
},
|
|
78
78
|
"@astryx.powersearch.valueEditor.values": {
|
|
79
79
|
"defaultMessage": "Values",
|
|
80
|
-
"description": "
|
|
80
|
+
"description": "Plural noun form-label above a multi-value chip input in the PowerSearch value editor. Should match its singular counterpart `Value` in your language."
|
|
81
81
|
},
|
|
82
82
|
"@astryx.powersearch.valueEditor.time": {
|
|
83
83
|
"defaultMessage": "Time",
|
|
84
|
-
"description": "
|
|
84
|
+
"description": "Noun form-label above a time-of-day (HH:MM) picker in the PowerSearch value editor. Clock time, not duration or era."
|
|
85
85
|
},
|
|
86
86
|
"@astryx.powersearch.valueEditor.date": {
|
|
87
87
|
"defaultMessage": "Date",
|
|
88
|
-
"description": "
|
|
88
|
+
"description": "Noun form-label above a calendar-date picker in the PowerSearch value editor. Calendar date, not romantic date or fruit."
|
|
89
89
|
},
|
|
90
90
|
"@astryx.powersearch.valueEditor.relativeDate": {
|
|
91
91
|
"defaultMessage": "Relative date",
|
|
@@ -93,315 +93,319 @@
|
|
|
93
93
|
},
|
|
94
94
|
"@astryx.powersearch.valueEditor.startDate": {
|
|
95
95
|
"defaultMessage": "Start date",
|
|
96
|
-
"description": "
|
|
96
|
+
"description": "Noun form-label above the start-of-range date picker in the PowerSearch value editor. Pairs with `End date` — keep the two parallel in your language."
|
|
97
97
|
},
|
|
98
98
|
"@astryx.powersearch.valueEditor.endDate": {
|
|
99
99
|
"defaultMessage": "End date",
|
|
100
|
-
"description": "
|
|
100
|
+
"description": "Noun form-label above the end-of-range date picker in the PowerSearch value editor. Pairs with `Start date` — keep the two parallel."
|
|
101
101
|
},
|
|
102
102
|
"@astryx.powersearch.valueEditor.entities": {
|
|
103
103
|
"defaultMessage": "Entities",
|
|
104
|
-
"description": "
|
|
104
|
+
"description": "\"Entities\" is jargon — plural noun form-label above an entity picker (people, teams, projects). Prefer a natural collective like \"items\" if your language has no equivalent."
|
|
105
105
|
},
|
|
106
106
|
"@astryx.powersearch.valueEditor.searchPlaceholder": {
|
|
107
107
|
"defaultMessage": "Search…",
|
|
108
|
-
"description": "Placeholder
|
|
108
|
+
"description": "Placeholder inside the search input in the PowerSearch entity/typeahead picker. Imperative verb; trailing `…` is one character."
|
|
109
109
|
},
|
|
110
110
|
"@astryx.powersearch.valueEditor.enterValuePlaceholder": {
|
|
111
111
|
"defaultMessage": "Enter value…",
|
|
112
|
-
"description": "Placeholder
|
|
112
|
+
"description": "Placeholder inside a free-text single-value input in the PowerSearch value editor. Imperative verb; trailing `…` is one character."
|
|
113
113
|
},
|
|
114
114
|
"@astryx.powersearch.valueEditor.addValuesPlaceholder": {
|
|
115
115
|
"defaultMessage": "Add values…",
|
|
116
|
-
"description": "Placeholder
|
|
116
|
+
"description": "Placeholder inside a multi-value chip input where the user types items and presses Enter to add each as a chip. Imperative verb; trailing `…` is one character."
|
|
117
117
|
},
|
|
118
118
|
"@astryx.powersearch.valueEditor.enterNumberPlaceholder": {
|
|
119
119
|
"defaultMessage": "Enter number…",
|
|
120
|
-
"description": "Placeholder
|
|
120
|
+
"description": "Placeholder inside a numeric input in the PowerSearch value editor. Imperative verb; trailing `…` is one character."
|
|
121
121
|
},
|
|
122
122
|
"@astryx.powersearch.valueEditor.selectValuesPlaceholder": {
|
|
123
123
|
"defaultMessage": "Select values…",
|
|
124
|
-
"description": "Placeholder
|
|
124
|
+
"description": "Placeholder on a dropdown for choosing values from a fixed enum list in the PowerSearch value editor. Imperative verb (user selects, not types)."
|
|
125
125
|
},
|
|
126
126
|
"@astryx.powersearch.operator.contains": {
|
|
127
127
|
"defaultMessage": "contains",
|
|
128
|
-
"description": "PowerSearch string operator
|
|
128
|
+
"description": "PowerSearch string operator, rendered inline as `<field> contains <value>` (e.g. `Name contains acme`). Lowercase verb form."
|
|
129
129
|
},
|
|
130
130
|
"@astryx.powersearch.operator.notContains": {
|
|
131
131
|
"defaultMessage": "does not contain",
|
|
132
|
-
"description": "PowerSearch string operator:
|
|
132
|
+
"description": "PowerSearch negated string operator. Example: `Name does not contain test`. Lowercase; pairs with `contains`."
|
|
133
133
|
},
|
|
134
134
|
"@astryx.powersearch.operator.startsWith": {
|
|
135
135
|
"defaultMessage": "starts with",
|
|
136
|
-
"description": "PowerSearch string operator:
|
|
136
|
+
"description": "PowerSearch string prefix operator. Example: `Email starts with admin@`. Lowercase."
|
|
137
137
|
},
|
|
138
138
|
"@astryx.powersearch.operator.notStartsWith": {
|
|
139
139
|
"defaultMessage": "does not start with",
|
|
140
|
-
"description": "PowerSearch
|
|
140
|
+
"description": "PowerSearch negated prefix operator. Example: `Email does not start with test`. Lowercase; pairs with `starts with`."
|
|
141
141
|
},
|
|
142
142
|
"@astryx.powersearch.operator.endsWith": {
|
|
143
143
|
"defaultMessage": "ends with",
|
|
144
|
-
"description": "PowerSearch string operator:
|
|
144
|
+
"description": "PowerSearch string suffix operator. Example: `Email ends with @meta.com`. Lowercase."
|
|
145
145
|
},
|
|
146
146
|
"@astryx.powersearch.operator.notEndsWith": {
|
|
147
147
|
"defaultMessage": "does not end with",
|
|
148
|
-
"description": "PowerSearch
|
|
148
|
+
"description": "PowerSearch negated suffix operator. Example: `Email does not end with @gmail.com`. Lowercase; pairs with `ends with`."
|
|
149
149
|
},
|
|
150
150
|
"@astryx.powersearch.operator.is": {
|
|
151
151
|
"defaultMessage": "is",
|
|
152
|
-
"description": "PowerSearch equality operator
|
|
152
|
+
"description": "PowerSearch equality operator for strings/enums. Example: `Status is Active`. Separate from `operator.equals` (numbers) — translations may diverge."
|
|
153
153
|
},
|
|
154
154
|
"@astryx.powersearch.operator.isNot": {
|
|
155
155
|
"defaultMessage": "is not",
|
|
156
|
-
"description": "PowerSearch inequality operator
|
|
156
|
+
"description": "PowerSearch inequality operator for strings/enums. Example: `Status is not Draft`. Pairs with `is`; separate from `operator.notEquals`."
|
|
157
157
|
},
|
|
158
158
|
"@astryx.powersearch.operator.equals": {
|
|
159
159
|
"defaultMessage": "is",
|
|
160
|
-
"description": "PowerSearch numeric equality operator. Ships
|
|
160
|
+
"description": "PowerSearch numeric equality operator. Example: `Age is 30`. Ships same English \"is\" as `operator.is` but is separate so numbers may diverge (e.g. \"equals\")."
|
|
161
161
|
},
|
|
162
162
|
"@astryx.powersearch.operator.notEquals": {
|
|
163
163
|
"defaultMessage": "is not",
|
|
164
|
-
"description": "PowerSearch numeric inequality operator."
|
|
164
|
+
"description": "PowerSearch numeric inequality operator. Example: `Count is not 0`. Same divergence option as `operator.equals`."
|
|
165
165
|
},
|
|
166
166
|
"@astryx.powersearch.operator.greaterThan": {
|
|
167
167
|
"defaultMessage": "is greater than",
|
|
168
|
-
"description": "PowerSearch numeric operator
|
|
168
|
+
"description": "PowerSearch numeric operator, strictly greater than. Example: `Age is greater than 18`. Lowercase."
|
|
169
169
|
},
|
|
170
170
|
"@astryx.powersearch.operator.lessThan": {
|
|
171
171
|
"defaultMessage": "is less than",
|
|
172
|
-
"description": "PowerSearch numeric operator
|
|
172
|
+
"description": "PowerSearch numeric operator, strictly less than. Example: `Priority is less than 5`. Lowercase."
|
|
173
173
|
},
|
|
174
174
|
"@astryx.powersearch.operator.greaterThanOrEqual": {
|
|
175
175
|
"defaultMessage": "is greater than or equal to",
|
|
176
|
-
"description": "PowerSearch numeric operator: greater than or equal."
|
|
176
|
+
"description": "PowerSearch numeric operator, ≥. Example: `Age is greater than or equal to 21`. A shorter form (e.g. \"≥\") is fine if idiomatic."
|
|
177
177
|
},
|
|
178
178
|
"@astryx.powersearch.operator.lessThanOrEqual": {
|
|
179
179
|
"defaultMessage": "is less than or equal to",
|
|
180
|
-
"description": "PowerSearch numeric operator: less than or equal."
|
|
180
|
+
"description": "PowerSearch numeric operator, ≤. Example: `Priority is less than or equal to 3`. A shorter form is fine if idiomatic."
|
|
181
181
|
},
|
|
182
182
|
"@astryx.powersearch.operator.before": {
|
|
183
183
|
"defaultMessage": "is before",
|
|
184
|
-
"description": "PowerSearch date operator
|
|
184
|
+
"description": "PowerSearch date operator, strictly earlier. Example: `Created is before 2024-01-01`. Temporal, not spatial."
|
|
185
185
|
},
|
|
186
186
|
"@astryx.powersearch.operator.after": {
|
|
187
187
|
"defaultMessage": "is after",
|
|
188
|
-
"description": "PowerSearch date operator
|
|
188
|
+
"description": "PowerSearch date operator, strictly later. Example: `Updated is after 2024-06-01`. Temporal."
|
|
189
189
|
},
|
|
190
190
|
"@astryx.powersearch.operator.between": {
|
|
191
191
|
"defaultMessage": "is between",
|
|
192
|
-
"description": "PowerSearch date operator:
|
|
192
|
+
"description": "PowerSearch date operator, inclusive range. Example: `Created is between 2024-01-01 and 2024-06-30`. The `and <end>` portion is composed separately."
|
|
193
193
|
},
|
|
194
194
|
"@astryx.powersearch.operator.isTrue": {
|
|
195
195
|
"defaultMessage": "is true",
|
|
196
|
-
"description": "PowerSearch boolean operator: true."
|
|
196
|
+
"description": "PowerSearch boolean operator: matches truthy. Example: `Is admin is true`. Pairs with `is false`; field may be affirmative or a yes/no question."
|
|
197
197
|
},
|
|
198
198
|
"@astryx.powersearch.operator.isFalse": {
|
|
199
199
|
"defaultMessage": "is false",
|
|
200
|
-
"description": "PowerSearch boolean operator: false
|
|
200
|
+
"description": "PowerSearch boolean operator: matches falsy. Example: `Is admin is false`. Pairs with `is true`."
|
|
201
201
|
},
|
|
202
202
|
"@astryx.powersearch.operator.isAnyOf": {
|
|
203
203
|
"defaultMessage": "is any of",
|
|
204
|
-
"description": "PowerSearch list operator:
|
|
204
|
+
"description": "PowerSearch list operator: value is in the set. Example: `Status is any of [Active, Paused, Draft]`. The value list is composed separately; pairs with `is none of`."
|
|
205
205
|
},
|
|
206
206
|
"@astryx.powersearch.operator.isNoneOf": {
|
|
207
207
|
"defaultMessage": "is none of",
|
|
208
|
-
"description": "PowerSearch list operator:
|
|
208
|
+
"description": "PowerSearch negated list operator: value not in the set. Example: `Status is none of [Archived, Deleted]`. Pairs with `is any of`."
|
|
209
209
|
},
|
|
210
210
|
"@astryx.powersearch.valueEditor.itemsCount": {
|
|
211
211
|
"defaultMessage": "{count, number} {count, plural, one {item} other {items}}",
|
|
212
|
-
"description": "Overflow summary
|
|
212
|
+
"description": "Overflow summary on a compact filter chip when the list of selected items is too long. Example: `3 items` or `1 item`."
|
|
213
213
|
},
|
|
214
214
|
"@astryx.powersearch.valueEditor.entitiesCount": {
|
|
215
215
|
"defaultMessage": "{count, number} {count, plural, one {entity} other {entities}}",
|
|
216
|
-
"description": "Overflow summary
|
|
216
|
+
"description": "Overflow summary on a compact filter chip when the list of selected entities is too long. Example: `5 entities` or `1 entity`. Pair with `itemsCount` translation."
|
|
217
217
|
},
|
|
218
218
|
"@astryx.powersearch.valueEditor.dateRange": {
|
|
219
219
|
"defaultMessage": "date range",
|
|
220
|
-
"description": "Fallback
|
|
220
|
+
"description": "Fallback lowercase noun rendered inline in a filter chip when a date-range value can't be formatted (e.g. `Created is between date range`). Keep lowercase."
|
|
221
221
|
},
|
|
222
222
|
"@astryx.powersearch.valueEditor.filtersCount": {
|
|
223
223
|
"defaultMessage": "{count, number} {count, plural, one {filter} other {filters}}",
|
|
224
|
-
"description": "Summary
|
|
224
|
+
"description": "Summary inside a filter chip when the value is a nested set of filters. Example: `3 filters` or `1 filter`."
|
|
225
225
|
},
|
|
226
226
|
"@astryx.powersearch.resultCount": {
|
|
227
227
|
"defaultMessage": "{count, number} {count, plural, one {result} other {results}}",
|
|
228
|
-
"description": "
|
|
228
|
+
"description": "Live result-count text next to the PowerSearch input, announced to screen readers on change. Example: `12 results`, `1 result`; keep compact."
|
|
229
229
|
},
|
|
230
230
|
"@astryx.alertDialog.cancel": {
|
|
231
231
|
"defaultMessage": "Cancel",
|
|
232
|
-
"description": "
|
|
232
|
+
"description": "Button label on the secondary/dismiss button of an AlertDialog (modal confirmation). Imperative verb; consumers usually override with task-specific text."
|
|
233
233
|
},
|
|
234
234
|
"@astryx.appShell.mobileNavigation": {
|
|
235
235
|
"defaultMessage": "Mobile navigation",
|
|
236
|
-
"description": "
|
|
236
|
+
"description": "Screen-reader-only accessible name for the mobile-only navigation region on small viewports. \"Mobile\" = phone/tablet (small screen), not \"movable\"."
|
|
237
237
|
},
|
|
238
238
|
"@astryx.avatarGroup.label": {
|
|
239
239
|
"defaultMessage": "Avatars",
|
|
240
|
-
"description": "
|
|
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
242
|
"@astryx.banner.dismiss": {
|
|
243
243
|
"defaultMessage": "Dismiss",
|
|
244
|
-
"description": "
|
|
244
|
+
"description": "\"Dismiss\" = close/hide this notification (not \"reject a person\"). Aria label AND tooltip on the small X button on a Banner."
|
|
245
245
|
},
|
|
246
246
|
"@astryx.calendar.previousMonth": {
|
|
247
247
|
"defaultMessage": "Previous month",
|
|
248
|
-
"description": "
|
|
248
|
+
"description": "Screen-reader-only label on the left-arrow button in a Calendar's month header (navigates one month back). Pairs with `calendar.nextMonth`."
|
|
249
249
|
},
|
|
250
250
|
"@astryx.calendar.nextMonth": {
|
|
251
251
|
"defaultMessage": "Next month",
|
|
252
|
-
"description": "
|
|
252
|
+
"description": "Screen-reader-only label on the right-arrow button in a Calendar's month header (navigates one month forward). Pairs with `calendar.previousMonth`."
|
|
253
253
|
},
|
|
254
254
|
"@astryx.carousel.label": {
|
|
255
255
|
"defaultMessage": "Carousel",
|
|
256
|
-
"description": "
|
|
256
|
+
"description": "Screen-reader-only fallback name for a horizontally-scrolling row of items. If \"carousel\" is unfamiliar in your locale, prefer the standard term (e.g. \"slider\")."
|
|
257
257
|
},
|
|
258
258
|
"@astryx.carousel.scrollLeft": {
|
|
259
259
|
"defaultMessage": "Scroll left",
|
|
260
|
-
"description": "
|
|
260
|
+
"description": "Screen-reader-only label on the left arrow button in a Carousel. Pairs with `carousel.scrollRight`; in RTL locales, coordinate the two so left/right match layout."
|
|
261
261
|
},
|
|
262
262
|
"@astryx.carousel.scrollRight": {
|
|
263
263
|
"defaultMessage": "Scroll right",
|
|
264
|
-
"description": "
|
|
264
|
+
"description": "Screen-reader-only label on the right arrow button in a Carousel. Pairs with `carousel.scrollLeft`; same RTL note."
|
|
265
|
+
},
|
|
266
|
+
"@astryx.carousel.slideLabel": {
|
|
267
|
+
"defaultMessage": "Slide {current, number} of {total, number}",
|
|
268
|
+
"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."
|
|
265
269
|
},
|
|
266
270
|
"@astryx.chat.status.sending": {
|
|
267
271
|
"defaultMessage": "Sending",
|
|
268
|
-
"description": "
|
|
272
|
+
"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."
|
|
269
273
|
},
|
|
270
274
|
"@astryx.chat.status.sent": {
|
|
271
275
|
"defaultMessage": "Sent",
|
|
272
|
-
"description": "
|
|
276
|
+
"description": "Chat send-status caption shown once the message reaches the server. Part of the set sending → **sent** → delivered → read (or failed) — keep tense consistent."
|
|
273
277
|
},
|
|
274
278
|
"@astryx.chat.status.delivered": {
|
|
275
279
|
"defaultMessage": "Delivered",
|
|
276
|
-
"description": "
|
|
280
|
+
"description": "Chat send-status caption shown once the recipient's device received the message. Part of the set sending → sent → **delivered** → read (or failed)."
|
|
277
281
|
},
|
|
278
282
|
"@astryx.chat.status.read": {
|
|
279
283
|
"defaultMessage": "Read",
|
|
280
|
-
"description": "
|
|
284
|
+
"description": "Chat send-status caption shown once the recipient opened the message. English past-participle (\"has been read\", /rɛd/), not the present verb — part of the set sending → sent → delivered → **read**."
|
|
281
285
|
},
|
|
282
286
|
"@astryx.chat.status.failed": {
|
|
283
287
|
"defaultMessage": "Failed",
|
|
284
|
-
"description": "
|
|
288
|
+
"description": "Chat send-status caption shown when the send attempt errored. Part of the set — the terminal failure branch, orthogonal to the sent → delivered → read success track."
|
|
285
289
|
},
|
|
286
290
|
"@astryx.chat.messageAriaLabel": {
|
|
287
291
|
"defaultMessage": "Message {status}",
|
|
288
|
-
"description": "
|
|
292
|
+
"description": "Screen-reader-only accessible name for a chat message row. `{status}` interpolates the localized status word (e.g. `Message sent`, `Message delivered`) — reorder if needed."
|
|
289
293
|
},
|
|
290
294
|
"@astryx.chat.pastedText.expand": {
|
|
291
295
|
"defaultMessage": "Expand",
|
|
292
|
-
"description": "
|
|
296
|
+
"description": "Button label on a chip in the chat composer representing a long pasted text block; clicking reveals full content. \"Expand\" here means reveal more, not grow physically."
|
|
293
297
|
},
|
|
294
298
|
"@astryx.checkboxList.item.checkbox": {
|
|
295
299
|
"defaultMessage": "Checkbox",
|
|
296
|
-
"description": "
|
|
300
|
+
"description": "Screen-reader-only last-ditch fallback name for a checkbox inside a list item when no label is provided. Should almost never render — consumers should supply a real label."
|
|
297
301
|
},
|
|
298
302
|
"@astryx.commandPalette.emptySearch": {
|
|
299
303
|
"defaultMessage": "No results",
|
|
300
|
-
"description": "
|
|
304
|
+
"description": "Fallback empty-state text inside a CommandPalette when the user's query has no matches. Very short (2 words); neutral tone."
|
|
301
305
|
},
|
|
302
306
|
"@astryx.commandPalette.emptyBootstrap": {
|
|
303
307
|
"defaultMessage": "Type to search",
|
|
304
|
-
"description": "
|
|
308
|
+
"description": "Onboarding empty-state text shown inside a CommandPalette on first open, before the user has typed anything. Imperative sentence fragment."
|
|
305
309
|
},
|
|
306
310
|
"@astryx.dateRangeInput.presetDateRanges": {
|
|
307
311
|
"defaultMessage": "Preset date ranges",
|
|
308
|
-
"description": "
|
|
312
|
+
"description": "Screen-reader-only accessible name for the sidebar of quick-pick preset ranges inside a DateRangeInput popover (e.g. \"Last 7 days\", \"This month\")."
|
|
309
313
|
},
|
|
310
314
|
"@astryx.dateTimeInput.timePlaceholder": {
|
|
311
315
|
"defaultMessage": "Select a time",
|
|
312
|
-
"description": "
|
|
316
|
+
"description": "Grey placeholder inside the empty time-of-day slot in a DateTimeInput. \"Time\" = clock time (HH:MM), not duration."
|
|
313
317
|
},
|
|
314
318
|
"@astryx.dialog.close": {
|
|
315
319
|
"defaultMessage": "Close",
|
|
316
|
-
"description": "
|
|
320
|
+
"description": "\"Close\" = shut/dismiss the dialog, not \"nearby\" (English homograph). Aria label AND tooltip on the X at the top-right of a Dialog."
|
|
317
321
|
},
|
|
318
322
|
"@astryx.dropdownMenu.label": {
|
|
319
323
|
"defaultMessage": "Menu",
|
|
320
|
-
"description": "
|
|
324
|
+
"description": "Screen-reader-only fallback name for a dropdown menu popover. Very generic; consumers usually override. Noun (\"a menu\"), not the imperative."
|
|
321
325
|
},
|
|
322
326
|
"@astryx.lightbox.close": {
|
|
323
327
|
"defaultMessage": "Close",
|
|
324
|
-
"description": "
|
|
328
|
+
"description": "\"Close\" = shut/dismiss (not \"nearby\"). Screen-reader-only label on the X button that dismisses a Lightbox."
|
|
325
329
|
},
|
|
326
330
|
"@astryx.lightbox.previous": {
|
|
327
331
|
"defaultMessage": "Previous",
|
|
328
|
-
"description": "
|
|
332
|
+
"description": "Screen-reader-only label on the left-arrow button in a Lightbox (navigates to previous media item). Pairs with `lightbox.next`."
|
|
329
333
|
},
|
|
330
334
|
"@astryx.lightbox.next": {
|
|
331
335
|
"defaultMessage": "Next",
|
|
332
|
-
"description": "
|
|
336
|
+
"description": "Screen-reader-only label on the right-arrow button in a Lightbox (navigates to next media item). Pairs with `lightbox.previous`."
|
|
333
337
|
},
|
|
334
338
|
"@astryx.markdown.taskList": {
|
|
335
339
|
"defaultMessage": "Task list",
|
|
336
|
-
"description": "
|
|
340
|
+
"description": "Screen-reader-only accessible name for a GitHub-flavored Markdown task list (rendered from `- [ ] item` / `- [x] done` syntax)."
|
|
337
341
|
},
|
|
338
342
|
"@astryx.markdown.table": {
|
|
339
343
|
"defaultMessage": "Table",
|
|
340
|
-
"description": "
|
|
344
|
+
"description": "Screen-reader-only accessible name for a table rendered inside a Markdown block. Noun (\"a table\"), not the verb. Separate from `@astryx.table.label` — translations may diverge."
|
|
341
345
|
},
|
|
342
346
|
"@astryx.mobileNav.closeNavigation": {
|
|
343
347
|
"defaultMessage": "Close navigation",
|
|
344
|
-
"description": "
|
|
348
|
+
"description": "Screen-reader-only label on the X/close button that dismisses the MobileNav overlay. Pairs with `mobileNav.toggle.open`."
|
|
345
349
|
},
|
|
346
350
|
"@astryx.multiSelector.selectAll": {
|
|
347
351
|
"defaultMessage": "Select all",
|
|
348
|
-
"description": "
|
|
352
|
+
"description": "Label on the checkbox/toggle at the top of a MultiSelector dropdown that selects every option. \"All\" is a determiner here (as in \"all the options\"), not the pronoun."
|
|
349
353
|
},
|
|
350
354
|
"@astryx.multiSelector.searchPlaceholder": {
|
|
351
355
|
"defaultMessage": "Search…",
|
|
352
|
-
"description": "
|
|
356
|
+
"description": "Placeholder inside the search input at the top of a MultiSelector's dropdown panel. Imperative verb; trailing `…` is one character."
|
|
353
357
|
},
|
|
354
358
|
"@astryx.multiSelector.searchOptions": {
|
|
355
359
|
"defaultMessage": "Search options",
|
|
356
|
-
"description": "
|
|
360
|
+
"description": "Screen-reader-only accessible name for that same search input inside a MultiSelector."
|
|
357
361
|
},
|
|
358
362
|
"@astryx.popover.close": {
|
|
359
363
|
"defaultMessage": "Close popover",
|
|
360
|
-
"description": "
|
|
364
|
+
"description": "\"Close\" = shut/dismiss, not \"nearby\". Screen-reader-only label on the close button inside a Popover."
|
|
361
365
|
},
|
|
362
366
|
"@astryx.selector.searchPlaceholder": {
|
|
363
367
|
"defaultMessage": "Search…",
|
|
364
|
-
"description": "
|
|
368
|
+
"description": "Placeholder inside the search input at the top of a Selector's dropdown panel (for filtering options). Imperative verb; trailing `…` is one character."
|
|
365
369
|
},
|
|
366
370
|
"@astryx.selector.searchOptions": {
|
|
367
371
|
"defaultMessage": "Search options",
|
|
368
|
-
"description": "
|
|
372
|
+
"description": "\"Options\" = the list of choices in the dropdown. Screen-reader-only accessible name for the search input inside a Selector."
|
|
369
373
|
},
|
|
370
374
|
"@astryx.sideNav.label": {
|
|
371
375
|
"defaultMessage": "Side navigation",
|
|
372
|
-
"description": "
|
|
376
|
+
"description": "Screen-reader-only accessible name for the primary vertical sidebar nav (usually on the left)."
|
|
373
377
|
},
|
|
374
378
|
"@astryx.sideNav.resizeSidebar": {
|
|
375
379
|
"defaultMessage": "Resize sidebar",
|
|
376
|
-
"description": "
|
|
380
|
+
"description": "Screen-reader-only label on the vertical drag handle at the right edge of the SideNav that lets the user resize the sidebar's width."
|
|
377
381
|
},
|
|
378
382
|
"@astryx.sideNav.heading.openMenu": {
|
|
379
383
|
"defaultMessage": "Open menu",
|
|
380
|
-
"description": "
|
|
384
|
+
"description": "Screen-reader-only label on the `⋯` overflow-menu button embedded in a SideNav section heading. Same string as `topNav.heading.openMenu` — translations may share."
|
|
381
385
|
},
|
|
382
386
|
"@astryx.tabList.label": {
|
|
383
387
|
"defaultMessage": "Tabs",
|
|
384
|
-
"description": "
|
|
388
|
+
"description": "Screen-reader-only fallback name for a horizontal tab bar. Plural noun; \"Tabs\" here = UI tab panels, not browser tabs or the Tab key."
|
|
385
389
|
},
|
|
386
390
|
"@astryx.table.label": {
|
|
387
391
|
"defaultMessage": "Table",
|
|
388
|
-
"description": "
|
|
392
|
+
"description": "Fallback screen-reader-only accessible name for a data-table region when the consumer provides none. Noun (\"a table\"), not the verb \"to table\"."
|
|
389
393
|
},
|
|
390
394
|
"@astryx.table.noData": {
|
|
391
395
|
"defaultMessage": "No data",
|
|
392
|
-
"description": "
|
|
396
|
+
"description": "Fallback empty-state text in the table body when there are zero rows. Neutral tone (not error-y); consumers commonly override with something specific like \"No results\"."
|
|
393
397
|
},
|
|
394
398
|
"@astryx.table.filter.allPlaceholder": {
|
|
395
399
|
"defaultMessage": "All",
|
|
396
|
-
"description": "Placeholder
|
|
400
|
+
"description": "Placeholder on a per-column filter dropdown when nothing is selected, meaning \"no filter — all rows match\". Determiner form (as in \"all values\"), not the pronoun."
|
|
397
401
|
},
|
|
398
402
|
"@astryx.table.filter.reset": {
|
|
399
403
|
"defaultMessage": "Reset",
|
|
400
|
-
"description": "
|
|
404
|
+
"description": "Button label inside a table's filter panel/popover; clears pending filter values back to defaults. Imperative verb."
|
|
401
405
|
},
|
|
402
406
|
"@astryx.table.filter.apply": {
|
|
403
407
|
"defaultMessage": "Apply",
|
|
404
|
-
"description": "
|
|
408
|
+
"description": "Primary button label inside a table's filter panel/popover; commits pending filter values. Imperative verb; pairs with `Reset`."
|
|
405
409
|
},
|
|
406
410
|
"@astryx.table.selection.selectAllRows": {
|
|
407
411
|
"defaultMessage": "Select all rows",
|
|
@@ -411,33 +415,57 @@
|
|
|
411
415
|
"defaultMessage": "Select row",
|
|
412
416
|
"description": "Aria label for the \"select row\" checkbox on a Table row."
|
|
413
417
|
},
|
|
418
|
+
"@astryx.table.selection.selectRowNamed": {
|
|
419
|
+
"defaultMessage": "Select {label}",
|
|
420
|
+
"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\"."
|
|
421
|
+
},
|
|
414
422
|
"@astryx.table.sort.ascending": {
|
|
415
423
|
"defaultMessage": "Sort ascending",
|
|
416
|
-
"description": "
|
|
424
|
+
"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."
|
|
417
425
|
},
|
|
418
426
|
"@astryx.table.sort.descending": {
|
|
419
427
|
"defaultMessage": "Sort descending",
|
|
420
|
-
"description": "
|
|
428
|
+
"description": "Screen-reader-only label on a column header button that will sort the column descending. Part of a set with `sort.ascending` and `sort.clear`."
|
|
421
429
|
},
|
|
422
430
|
"@astryx.table.sort.clear": {
|
|
423
431
|
"defaultMessage": "Clear sort",
|
|
424
|
-
"description": "
|
|
432
|
+
"description": "Screen-reader-only label on a column header button that will remove the current sort. \"Clear\" here means remove, not transparent. Part of the sort set."
|
|
433
|
+
},
|
|
434
|
+
"@astryx.table.sort.direction.ascending": {
|
|
435
|
+
"defaultMessage": "ascending",
|
|
436
|
+
"description": "Localized direction word interpolated as `direction` into @astryx.table.sort.sortedBy and @astryx.table.sort.sortedByWithPriority."
|
|
437
|
+
},
|
|
438
|
+
"@astryx.table.sort.direction.descending": {
|
|
439
|
+
"defaultMessage": "descending",
|
|
440
|
+
"description": "Localized direction word interpolated as `direction` into @astryx.table.sort.sortedBy and @astryx.table.sort.sortedByWithPriority."
|
|
441
|
+
},
|
|
442
|
+
"@astryx.table.sort.sortBy": {
|
|
443
|
+
"defaultMessage": "Sort by {label}",
|
|
444
|
+
"description": "Aria label for a sortable Table header button when the column is unsorted. `label` is the column header text."
|
|
445
|
+
},
|
|
446
|
+
"@astryx.table.sort.sortedBy": {
|
|
447
|
+
"defaultMessage": "Sort by {label}, sorted {direction}",
|
|
448
|
+
"description": "Aria label for a sorted Table header button. `direction` is the localized direction word from @astryx.table.sort.direction.*."
|
|
449
|
+
},
|
|
450
|
+
"@astryx.table.sort.sortedByWithPriority": {
|
|
451
|
+
"defaultMessage": "Sort by {label}, sorted {direction}, priority {rank, number} of {total, number}",
|
|
452
|
+
"description": "Aria label for a sorted Table header button in multi-sort. `rank` is the 1-based position of this column in the sort order; `total` is the number of sorted columns."
|
|
425
453
|
},
|
|
426
454
|
"@astryx.toast.dismiss": {
|
|
427
455
|
"defaultMessage": "Dismiss notification",
|
|
428
|
-
"description": "
|
|
456
|
+
"description": "Screen-reader-only label on the X button of a Toast (transient notification popup). Distinct from `banner.dismiss` (persistent banner)."
|
|
429
457
|
},
|
|
430
458
|
"@astryx.toast.viewport": {
|
|
431
459
|
"defaultMessage": "Notifications",
|
|
432
|
-
"description": "
|
|
460
|
+
"description": "Screen-reader-only accessible name for the invisible landmark region hosting the stack of Toast popups (usually pinned to a screen corner)."
|
|
433
461
|
},
|
|
434
462
|
"@astryx.tokenizer.clearAll": {
|
|
435
463
|
"defaultMessage": "Clear all",
|
|
436
|
-
"description": "Label
|
|
464
|
+
"description": "Label on the \"×\" button that removes every token/chip from a Tokenizer input. Imperative verb + determiner \"all\"; short."
|
|
437
465
|
},
|
|
438
466
|
"@astryx.topNav.heading.openMenu": {
|
|
439
467
|
"defaultMessage": "Open menu",
|
|
440
|
-
"description": "
|
|
468
|
+
"description": "Screen-reader-only label on the `⋯` overflow button in a TopNav section heading. Kept separate from `sideNav.heading.openMenu` so translations may diverge."
|
|
441
469
|
},
|
|
442
470
|
"@astryx.topNav.landmarkLabel": {
|
|
443
471
|
"defaultMessage": "Top navigation",
|
|
@@ -445,71 +473,71 @@
|
|
|
445
473
|
},
|
|
446
474
|
"@astryx.treeList.toggleChildren": {
|
|
447
475
|
"defaultMessage": "Toggle children",
|
|
448
|
-
"description": "
|
|
476
|
+
"description": "\"Children\" = child nodes in the tree, not human children. Screen-reader-only label on the chevron next to a TreeList item that has children — toggles the sub-list."
|
|
449
477
|
},
|
|
450
478
|
"@astryx.typeahead.emptySearchResults": {
|
|
451
479
|
"defaultMessage": "No results found",
|
|
452
|
-
"description": "
|
|
480
|
+
"description": "Fallback empty-state message inside a Typeahead's suggestion popover when the current query has no matches. Neutral tone (not error-y)."
|
|
453
481
|
},
|
|
454
482
|
"@astryx.typeahead.loading": {
|
|
455
483
|
"defaultMessage": "Loading",
|
|
456
|
-
"description": "
|
|
484
|
+
"description": "Screen-reader-only name for a spinner shown inside a Typeahead dropdown while suggestions are being fetched. Present-progressive form."
|
|
457
485
|
},
|
|
458
486
|
"@astryx.typeahead.searchResults": {
|
|
459
487
|
"defaultMessage": "Search results",
|
|
460
|
-
"description": "
|
|
488
|
+
"description": "Screen-reader-only accessible name for the list of suggestions inside a Typeahead dropdown."
|
|
461
489
|
},
|
|
462
490
|
"@astryx.typeahead.clearSelection": {
|
|
463
491
|
"defaultMessage": "Clear selection",
|
|
464
|
-
"description": "
|
|
492
|
+
"description": "\"Selection\" = the chosen value (not highlighted text). Screen-reader-only label on the X that clears the currently-selected value from a Typeahead."
|
|
465
493
|
},
|
|
466
494
|
"@astryx.breadcrumbs.label": {
|
|
467
495
|
"defaultMessage": "Breadcrumb",
|
|
468
|
-
"description": "
|
|
496
|
+
"description": "Screen-reader-only fallback name for the breadcrumb trail (e.g. `Home > Section > Page`). Singular in English per ARIA convention; plural is fine if natural in your locale."
|
|
469
497
|
},
|
|
470
498
|
"@astryx.chat.composer.placeholder": {
|
|
471
499
|
"defaultMessage": "Type a message…",
|
|
472
|
-
"description": "
|
|
500
|
+
"description": "Grey placeholder text inside the empty chat composer textarea. Imperative verb; trailing `…` is one character."
|
|
473
501
|
},
|
|
474
502
|
"@astryx.chat.composerDrawer.label": {
|
|
475
503
|
"defaultMessage": "Items",
|
|
476
|
-
"description": "
|
|
504
|
+
"description": "Fallback aria label for the ChatComposerDrawer — a horizontal list of attachment/tool chips. Consumers usually override with \"Attachments\", \"Tools\", etc."
|
|
477
505
|
},
|
|
478
506
|
"@astryx.chat.composerInput.label": {
|
|
479
507
|
"defaultMessage": "Message input",
|
|
480
|
-
"description": "
|
|
508
|
+
"description": "Screen-reader-only accessible name for the chat composer textarea. Reorder freely if your language uses one word for \"message field\"."
|
|
481
509
|
},
|
|
482
510
|
"@astryx.chat.speechRecognition.noSpeechDetected": {
|
|
483
511
|
"defaultMessage": "No speech was detected.",
|
|
484
|
-
"description": "
|
|
512
|
+
"description": "Full-sentence error shown inline in the chat composer after voice input captured silence. Soft-error tone (not alarming); keep terminal period."
|
|
485
513
|
},
|
|
486
514
|
"@astryx.commandPalette.label": {
|
|
487
515
|
"defaultMessage": "Command palette",
|
|
488
|
-
"description": "
|
|
516
|
+
"description": "Screen-reader-only fallback name for a keyboard-driven command menu (usually opened with Cmd/Ctrl-K). If unfamiliar, prefer a natural equivalent like \"quick actions\"."
|
|
489
517
|
},
|
|
490
518
|
"@astryx.commandPalette.input.placeholder": {
|
|
491
519
|
"defaultMessage": "Search…",
|
|
492
|
-
"description": "
|
|
520
|
+
"description": "Grey placeholder inside the CommandPalette's search input. Imperative verb; trailing `…` is one character."
|
|
493
521
|
},
|
|
494
522
|
"@astryx.commandPalette.list.label": {
|
|
495
523
|
"defaultMessage": "Commands",
|
|
496
|
-
"description": "
|
|
524
|
+
"description": "\"Command\" = an app action a user can invoke (metaphor from CLI), not a Unix command. Screen-reader-only name for the matching-commands list."
|
|
497
525
|
},
|
|
498
526
|
"@astryx.contextMenu.label": {
|
|
499
527
|
"defaultMessage": "Context menu",
|
|
500
|
-
"description": "
|
|
528
|
+
"description": "Screen-reader-only fallback name for the right-click / long-press popup menu. \"Context\" = context-specific to the activated element, not linguistic context."
|
|
501
529
|
},
|
|
502
530
|
"@astryx.dateInput.placeholder": {
|
|
503
531
|
"defaultMessage": "Select a date",
|
|
504
|
-
"description": "
|
|
532
|
+
"description": "Grey placeholder inside an empty DateInput field. \"Date\" = calendar date, not romantic or fruit. Imperative verb."
|
|
505
533
|
},
|
|
506
534
|
"@astryx.dateInput.dialogLabel": {
|
|
507
535
|
"defaultMessage": "Choose date",
|
|
508
|
-
"description": "
|
|
536
|
+
"description": "Screen-reader-only accessible name for the popover dialog opened from a DateInput's calendar toggle. Imperative verb + noun."
|
|
509
537
|
},
|
|
510
538
|
"@astryx.dateInput.closeCalendar": {
|
|
511
539
|
"defaultMessage": "Close calendar",
|
|
512
|
-
"description": "
|
|
540
|
+
"description": "Screen-reader-only label on the X inside the DateInput calendar popover (dismisses the popover). Distinct from `dateInput.toggleCalendarClose`, which labels the outer toggle."
|
|
513
541
|
},
|
|
514
542
|
"@astryx.dateInput.openCalendar": {
|
|
515
543
|
"defaultMessage": "Open calendar",
|
|
@@ -525,222 +553,234 @@
|
|
|
525
553
|
},
|
|
526
554
|
"@astryx.dateTimeInput.timeSuffix": {
|
|
527
555
|
"defaultMessage": "{label} time",
|
|
528
|
-
"description": "
|
|
556
|
+
"description": "Screen-reader-only accessible name for the time-of-day slot in a DateTimeInput. Example: `Start date time`; reorder freely (e.g. \"time of {label}\")."
|
|
529
557
|
},
|
|
530
558
|
"@astryx.dateRangeInput.placeholder": {
|
|
531
559
|
"defaultMessage": "Select date range",
|
|
532
|
-
"description": "
|
|
560
|
+
"description": "Grey placeholder inside an empty DateRangeInput field. Represents picking a start–end date pair. Imperative verb."
|
|
533
561
|
},
|
|
534
562
|
"@astryx.dateRangeInput.dialogLabel": {
|
|
535
563
|
"defaultMessage": "Choose date range",
|
|
536
|
-
"description": "
|
|
564
|
+
"description": "Screen-reader-only accessible name for the popover dialog opened from a DateRangeInput. Imperative verb + noun phrase."
|
|
537
565
|
},
|
|
538
566
|
"@astryx.dateTimeInput.placeholder": {
|
|
539
567
|
"defaultMessage": "Select a date",
|
|
540
|
-
"description": "
|
|
568
|
+
"description": "Grey placeholder inside an empty DateTimeInput field. Note: the English says only \"date\" though the field is date+time — do not add \"and time\" unless natural."
|
|
541
569
|
},
|
|
542
570
|
"@astryx.dateTimeInput.dialogLabel": {
|
|
543
571
|
"defaultMessage": "Choose date",
|
|
544
|
-
"description": "
|
|
572
|
+
"description": "Screen-reader-only accessible name for the DateTimeInput picker dialog. Same English-only \"date\" phrasing as the placeholder — don't add \"and time\" unless natural."
|
|
545
573
|
},
|
|
546
574
|
"@astryx.link.newTab": {
|
|
547
575
|
"defaultMessage": "(opens in new tab)",
|
|
548
|
-
"description": "Visually-hidden suffix appended to Link
|
|
576
|
+
"description": "Visually-hidden (screen-reader-only) suffix appended to a Link's accessible name when it opens in a new tab. Example: `Documentation (opens in new tab)`."
|
|
549
577
|
},
|
|
550
578
|
"@astryx.mobileNav.toggle.open": {
|
|
551
579
|
"defaultMessage": "Open navigation",
|
|
552
|
-
"description": "
|
|
580
|
+
"description": "Screen-reader-only label on the hamburger button that opens the MobileNav overlay (rendered when the overlay is closed). Pairs with `mobileNav.closeNavigation`."
|
|
553
581
|
},
|
|
554
582
|
"@astryx.moreMenu.label": {
|
|
555
583
|
"defaultMessage": "More options",
|
|
556
|
-
"description": "
|
|
584
|
+
"description": "Screen-reader-only name for the small `⋯` (three-dots) overflow button that opens a menu of additional actions. Very short — sits on a tiny icon button."
|
|
557
585
|
},
|
|
558
586
|
"@astryx.multiSelector.selectPlaceholder": {
|
|
559
587
|
"defaultMessage": "Select…",
|
|
560
|
-
"description": "
|
|
588
|
+
"description": "Placeholder on an empty MultiSelector trigger button. Same English as `selector.placeholder` but a separate key — plural phrasing like \"Choose items…\" is fine."
|
|
561
589
|
},
|
|
562
590
|
"@astryx.outline.label": {
|
|
563
591
|
"defaultMessage": "Table of contents",
|
|
564
|
-
"description": "
|
|
592
|
+
"description": "Screen-reader-only fallback name for a page's outline / table-of-contents sidebar (list of in-page headings). Rendered as `aria-label` on a `<nav>` landmark."
|
|
565
593
|
},
|
|
566
594
|
"@astryx.powersearch.label": {
|
|
567
595
|
"defaultMessage": "Search",
|
|
568
|
-
"description": "
|
|
596
|
+
"description": "Screen-reader-only accessible name for the PowerSearch input (a filter-builder). The visible placeholder is separate; noun form often reads better than the verb."
|
|
569
597
|
},
|
|
570
598
|
"@astryx.powersearch.placeholder": {
|
|
571
599
|
"defaultMessage": "Search…",
|
|
572
|
-
"description": "
|
|
600
|
+
"description": "Grey placeholder text inside the empty PowerSearch input. Imperative verb; trailing `…` is one character."
|
|
573
601
|
},
|
|
574
602
|
"@astryx.resizable.handle.label": {
|
|
575
603
|
"defaultMessage": "Resize handle",
|
|
576
|
-
"description": "
|
|
604
|
+
"description": "Screen-reader-only accessible name for the small draggable divider between two Resizable panels (users drag it to change the split ratio)."
|
|
577
605
|
},
|
|
578
606
|
"@astryx.selector.placeholder": {
|
|
579
607
|
"defaultMessage": "Select…",
|
|
580
|
-
"description": "
|
|
608
|
+
"description": "Placeholder text on an empty Selector trigger button (a dropdown). Imperative verb; trailing `…` is one character. Very short — appears on the button face."
|
|
581
609
|
},
|
|
582
610
|
"@astryx.sideNav.heading.dialogLabel": {
|
|
583
611
|
"defaultMessage": "Navigation menu",
|
|
584
|
-
"description": "
|
|
612
|
+
"description": "Screen-reader-only accessible name for the dropdown dialog opened from a SideNavHeading's overflow menu."
|
|
585
613
|
},
|
|
586
614
|
"@astryx.table.pagination.label": {
|
|
587
615
|
"defaultMessage": "Table pagination",
|
|
588
|
-
"description": "
|
|
616
|
+
"description": "Screen-reader-only accessible name for the pagination `<nav>` appended below a data table. Kept separate from `@astryx.pagination.label` so translations may diverge."
|
|
589
617
|
},
|
|
590
618
|
"@astryx.timeInput.placeholder": {
|
|
591
619
|
"defaultMessage": "Select a time",
|
|
592
|
-
"description": "
|
|
620
|
+
"description": "\"Time\" = clock time (HH:MM), not duration or era. Grey placeholder inside an empty TimeInput field; imperative verb."
|
|
593
621
|
},
|
|
594
622
|
"@astryx.topNav.heading.dialogLabel": {
|
|
595
623
|
"defaultMessage": "Navigation menu",
|
|
596
|
-
"description": "
|
|
624
|
+
"description": "Screen-reader-only accessible name for the dropdown dialog opened from a TopNavHeading's overflow menu. Kept separate from the SideNav sibling."
|
|
597
625
|
},
|
|
598
626
|
"@astryx.typeahead.searchPlaceholder": {
|
|
599
627
|
"defaultMessage": "Search…",
|
|
600
|
-
"description": "
|
|
628
|
+
"description": "Placeholder inside an empty Typeahead input (a search field that suggests results as the user types). Imperative verb; trailing `…` is one character."
|
|
601
629
|
},
|
|
602
630
|
"@astryx.banner.collapse": {
|
|
603
631
|
"defaultMessage": "Collapse",
|
|
604
|
-
"description": "Aria label
|
|
632
|
+
"description": "\"Collapse\" = fold up, not crumble. Aria label AND tooltip on the Banner expand/collapse toggle when currently expanded. Pairs with `banner.expand`."
|
|
605
633
|
},
|
|
606
634
|
"@astryx.banner.expand": {
|
|
607
635
|
"defaultMessage": "Expand",
|
|
608
|
-
"description": "Aria label
|
|
636
|
+
"description": "\"Expand\" = reveal more, not grow physically. Aria label AND tooltip on the same toggle when currently collapsed. Pairs with `banner.collapse`."
|
|
609
637
|
},
|
|
610
638
|
"@astryx.chatComposerDrawer.expand": {
|
|
611
639
|
"defaultMessage": "Expand {label}",
|
|
612
|
-
"description": "
|
|
640
|
+
"description": "Screen-reader-only label on the ChatComposerDrawer toggle when the drawer is collapsed. `{label}` is the drawer's visible name — example: `Expand Attachments`. Pairs with `collapse`."
|
|
613
641
|
},
|
|
614
642
|
"@astryx.chatComposerDrawer.collapse": {
|
|
615
643
|
"defaultMessage": "Collapse {label}",
|
|
616
|
-
"description": "
|
|
644
|
+
"description": "Screen-reader-only label on the ChatComposerDrawer toggle when the drawer is expanded. Example: `Collapse Attachments`. Pairs with `expand`."
|
|
617
645
|
},
|
|
618
646
|
"@astryx.chatLayout.newMessages": {
|
|
619
647
|
"defaultMessage": "New messages",
|
|
620
|
-
"description": "
|
|
648
|
+
"description": "Text on a floating pill at the bottom of a chat viewport when unseen messages arrive below the fold; clicking scrolls to bottom. Keep short — narrow pill."
|
|
621
649
|
},
|
|
622
650
|
"@astryx.chatLayoutScrollButton.scrollToBottom": {
|
|
623
651
|
"defaultMessage": "Scroll to bottom",
|
|
624
|
-
"description": "
|
|
652
|
+
"description": "Visible tooltip AND screen-reader label for a small down-arrow button that scrolls the chat viewport to its latest message."
|
|
625
653
|
},
|
|
626
654
|
"@astryx.chatMessage.messageFrom": {
|
|
627
655
|
"defaultMessage": "Message from {sender}",
|
|
628
|
-
"description": "
|
|
656
|
+
"description": "Screen-reader-only accessible name for a chat message when the sender name isn't visible. Example: `Message from Sarah`, `Message from Bot` — reorder freely."
|
|
629
657
|
},
|
|
630
658
|
"@astryx.chatSendButton.stop": {
|
|
631
659
|
"defaultMessage": "Stop",
|
|
632
|
-
"description": "
|
|
660
|
+
"description": "Button label that replaces `Send` on the chat send button while an AI response is streaming; clicking aborts generation. Short — appears on a small button."
|
|
633
661
|
},
|
|
634
662
|
"@astryx.chatSendButton.send": {
|
|
635
663
|
"defaultMessage": "Send",
|
|
636
|
-
"description": "
|
|
664
|
+
"description": "Primary button label on the chat submit button (paperplane icon). Imperative verb; pairs with `Stop`. Very short."
|
|
637
665
|
},
|
|
638
666
|
"@astryx.chatTriggerMenu.suggestions": {
|
|
639
667
|
"defaultMessage": "Suggestions",
|
|
640
|
-
"description": "
|
|
668
|
+
"description": "Screen-reader-only fallback label for the popover listbox opened by a trigger character (`@`, `/`) in the chat composer when the trigger provides no specific label."
|
|
641
669
|
},
|
|
642
670
|
"@astryx.citation.label": {
|
|
643
671
|
"defaultMessage": "Citation {number}: {title}",
|
|
644
|
-
"description": "
|
|
672
|
+
"description": "Screen-reader-only accessible name for a Citation chip (a small numbered link to a source). Example: `Citation 1: OpenAI research paper`. Reorder freely."
|
|
645
673
|
},
|
|
646
674
|
"@astryx.codeBlock.copied": {
|
|
647
675
|
"defaultMessage": "Copied",
|
|
648
|
-
"description": "
|
|
676
|
+
"description": "Screen-reader-only label on the CodeBlock copy button for ~2s after a successful copy. Past-participle (\"has been copied\"); pairs with `codeBlock.copyCode`."
|
|
649
677
|
},
|
|
650
678
|
"@astryx.codeBlock.copyCode": {
|
|
651
679
|
"defaultMessage": "Copy code",
|
|
652
|
-
"description": "Aria label
|
|
680
|
+
"description": "\"Code\" = source code. Aria label AND tooltip on the CodeBlock copy button in its default state. Pairs with `codeBlock.copied` (post-click state)."
|
|
653
681
|
},
|
|
654
682
|
"@astryx.codeBlock.code": {
|
|
655
683
|
"defaultMessage": "Code",
|
|
656
|
-
"description": "
|
|
684
|
+
"description": "Screen-reader-only fallback name for a code-snippet scroll container when the code's language is unknown. \"Code\" = source code, not secret code or code of conduct."
|
|
657
685
|
},
|
|
658
686
|
"@astryx.fileInput.clearLabel": {
|
|
659
687
|
"defaultMessage": "Clear {label}",
|
|
660
|
-
"description": "
|
|
688
|
+
"description": "Screen-reader-only label on the X that removes the selected file from a FileInput. Example: `Clear Attachment`, `Clear Résumé`."
|
|
689
|
+
},
|
|
690
|
+
"@astryx.fileInput.triggerWithFiles": {
|
|
691
|
+
"defaultMessage": "{label}, {fileNames}",
|
|
692
|
+
"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`."
|
|
661
693
|
},
|
|
662
694
|
"@astryx.lightbox.mediaViewer": {
|
|
663
695
|
"defaultMessage": "Media viewer",
|
|
664
|
-
"description": "
|
|
696
|
+
"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."
|
|
665
697
|
},
|
|
666
698
|
"@astryx.mobileNav.navigation": {
|
|
667
699
|
"defaultMessage": "Navigation",
|
|
668
|
-
"description": "
|
|
700
|
+
"description": "Screen-reader-only fallback name for the MobileNav overlay dialog when no explicit label was passed."
|
|
669
701
|
},
|
|
670
702
|
"@astryx.multiSelector.clearAll": {
|
|
671
703
|
"defaultMessage": "Clear all {label}",
|
|
672
|
-
"description": "
|
|
704
|
+
"description": "Screen-reader-only label on the X that clears every selected value from a MultiSelector. Example: `Clear all Countries`. `{label}` is typically already plural in English."
|
|
673
705
|
},
|
|
674
706
|
"@astryx.numberInput.clearLabel": {
|
|
675
707
|
"defaultMessage": "Clear {label}",
|
|
676
|
-
"description": "
|
|
708
|
+
"description": "Screen-reader-only label on the X that clears the value from a NumberInput. Example: `Clear Age`, `Clear Quantity`."
|
|
677
709
|
},
|
|
678
710
|
"@astryx.selector.clearLabel": {
|
|
679
711
|
"defaultMessage": "Clear {label}",
|
|
680
|
-
"description": "
|
|
712
|
+
"description": "Screen-reader-only label on the X that clears the selected value from a Selector. `{label}` is the selector's visible label — example: `Clear Country`."
|
|
681
713
|
},
|
|
682
714
|
"@astryx.sideNavCollapseButton.expandSidebar": {
|
|
683
715
|
"defaultMessage": "Expand sidebar",
|
|
684
|
-
"description": "
|
|
716
|
+
"description": "Aria label AND tooltip on the SideNav collapse/expand toggle when the sidebar is currently collapsed (clicking expands it). Pairs with `collapseSidebar`."
|
|
685
717
|
},
|
|
686
718
|
"@astryx.sideNavCollapseButton.collapseSidebar": {
|
|
687
719
|
"defaultMessage": "Collapse sidebar",
|
|
688
|
-
"description": "
|
|
720
|
+
"description": "Aria label AND tooltip on the same toggle when the sidebar is currently expanded (clicking collapses it). Pairs with `expandSidebar`."
|
|
689
721
|
},
|
|
690
722
|
"@astryx.sideNavItem.expand": {
|
|
691
723
|
"defaultMessage": "Expand {label}",
|
|
692
|
-
"description": "
|
|
724
|
+
"description": "Screen-reader-only label on the chevron next to a SideNav item with children when the group is collapsed. Example: `Expand Settings`. Pairs with `sideNavItem.collapse`."
|
|
693
725
|
},
|
|
694
726
|
"@astryx.sideNavItem.collapse": {
|
|
695
727
|
"defaultMessage": "Collapse {label}",
|
|
696
|
-
"description": "
|
|
728
|
+
"description": "Screen-reader-only label on the same chevron when the group is expanded. Example: `Collapse Settings`. Pairs with `sideNavItem.expand`."
|
|
697
729
|
},
|
|
698
730
|
"@astryx.tableFiltering.filterByColumn": {
|
|
699
731
|
"defaultMessage": "Filter {header}",
|
|
700
|
-
"description": "
|
|
732
|
+
"description": "Triple-use string on per-column filter controls: visible label, placeholder, AND aria label. `{header}` is the column header — example: `Filter Name`. Keep short."
|
|
701
733
|
},
|
|
702
734
|
"@astryx.tableGroupedRows.expandGroup": {
|
|
703
735
|
"defaultMessage": "Expand group {groupKey}",
|
|
704
|
-
"description": "
|
|
736
|
+
"description": "Screen-reader-only label on the chevron next to a grouped table's group header when collapsed. Example: `Expand group Q1 2024`. Pairs with `collapseGroup`."
|
|
705
737
|
},
|
|
706
738
|
"@astryx.tableGroupedRows.collapseGroup": {
|
|
707
739
|
"defaultMessage": "Collapse group {groupKey}",
|
|
708
|
-
"description": "
|
|
740
|
+
"description": "Screen-reader-only label on the same chevron when the group is expanded. Example: `Collapse group Q1 2024`. Pairs with `expandGroup`."
|
|
709
741
|
},
|
|
710
742
|
"@astryx.tableRowExpansion.collapseRow": {
|
|
711
743
|
"defaultMessage": "Collapse row",
|
|
712
|
-
"description": "
|
|
744
|
+
"description": "Screen-reader-only label on the row-expand chevron when the row is currently expanded. Part of the four-way expand/collapse set."
|
|
713
745
|
},
|
|
714
746
|
"@astryx.tableRowExpansion.expandRow": {
|
|
715
747
|
"defaultMessage": "Expand row",
|
|
716
|
-
"description": "
|
|
748
|
+
"description": "Screen-reader-only label on the row-expand chevron when the row is currently collapsed. Part of a four-way set with `collapseRow`, `expandAllRows`, `collapseAllRows`."
|
|
717
749
|
},
|
|
718
750
|
"@astryx.tableRowExpansion.collapseAllRows": {
|
|
719
751
|
"defaultMessage": "Collapse all rows",
|
|
720
|
-
"description": "
|
|
752
|
+
"description": "Screen-reader-only label on the same header button when every row is expanded. Part of the four-way set."
|
|
721
753
|
},
|
|
722
754
|
"@astryx.tableRowExpansion.expandAllRows": {
|
|
723
755
|
"defaultMessage": "Expand all rows",
|
|
724
|
-
"description": "
|
|
756
|
+
"description": "Screen-reader-only label on the header expand-all/collapse-all button when at least one row is collapsed (clicking expands every expandable row). Part of the four-way set."
|
|
757
|
+
},
|
|
758
|
+
"@astryx.tableTree.collapseRow": {
|
|
759
|
+
"defaultMessage": "Collapse row",
|
|
760
|
+
"description": "Aria label for the Table tree-data expander chevron when the row is currently expanded."
|
|
761
|
+
},
|
|
762
|
+
"@astryx.tableTree.expandRow": {
|
|
763
|
+
"defaultMessage": "Expand row",
|
|
764
|
+
"description": "Aria label for the Table tree-data expander chevron when the row is currently collapsed."
|
|
725
765
|
},
|
|
726
766
|
"@astryx.textInput.clearLabel": {
|
|
727
767
|
"defaultMessage": "Clear {label}",
|
|
728
|
-
"description": "
|
|
768
|
+
"description": "Screen-reader-only label on the X that clears the value from a TextInput. Example: `Clear Email`, `Clear Name`."
|
|
729
769
|
},
|
|
730
770
|
"@astryx.thumbnail.remove": {
|
|
731
771
|
"defaultMessage": "Remove {accessibleName}",
|
|
732
|
-
"description": "
|
|
772
|
+
"description": "Screen-reader-only label on the \"×\" on a Thumbnail (image preview chip). `{accessibleName}` is the thumbnail's name — example: `Remove profile.jpg`."
|
|
733
773
|
},
|
|
734
774
|
"@astryx.thumbnail.open": {
|
|
735
775
|
"defaultMessage": "Open {accessibleName}",
|
|
736
|
-
"description": "
|
|
776
|
+
"description": "\"Open\" = launch/reveal (not \"unfold\" or the adjective). Screen-reader-only name on a clickable Thumbnail — example: `Open Sunset photo`."
|
|
737
777
|
},
|
|
738
778
|
"@astryx.timeInput.clearLabel": {
|
|
739
779
|
"defaultMessage": "Clear {label}",
|
|
740
|
-
"description": "
|
|
780
|
+
"description": "Screen-reader-only label on the X that clears the value from a TimeInput. Example: `Clear Start time`."
|
|
741
781
|
},
|
|
742
782
|
"@astryx.token.remove": {
|
|
743
783
|
"defaultMessage": "Remove {label}",
|
|
744
|
-
"description": "
|
|
784
|
+
"description": "Screen-reader-only label on the \"×\" on an individual Token/chip. Example: `Remove John Smith`, `Remove Active`. Imperative verb."
|
|
745
785
|
}
|
|
746
786
|
}
|