@astryxdesign/core 0.6.2 → 0.6.3-canary.0899f21
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 +81 -0
- package/dist/BottomSheet/BottomSheet.d.ts +1 -1
- package/dist/BottomSheet/BottomSheet.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheet.js +3 -1
- package/dist/BottomSheet/BottomSheetPanel.d.ts +7 -5
- package/dist/BottomSheet/BottomSheetPanel.d.ts.map +1 -1
- package/dist/BottomSheet/BottomSheetPanel.js +56 -19
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +13 -28
- package/dist/Chat/ChatComposer.d.ts.map +1 -1
- package/dist/Chat/ChatComposer.js +10 -5
- package/dist/Chat/ChatComposerDrawer.d.ts +19 -5
- package/dist/Chat/ChatComposerDrawer.d.ts.map +1 -1
- package/dist/Chat/ChatComposerDrawer.js +48 -23
- package/dist/Chat/ChatComposerInput.d.ts +11 -3
- package/dist/Chat/ChatComposerInput.d.ts.map +1 -1
- package/dist/Chat/ChatComposerInput.js +63 -16
- package/dist/Chat/ChatDictationButton.d.ts +3 -2
- package/dist/Chat/ChatDictationButton.d.ts.map +1 -1
- package/dist/Chat/ChatDictationButton.js +6 -4
- package/dist/Chat/ChatLayout.d.ts +19 -0
- package/dist/Chat/ChatLayout.d.ts.map +1 -1
- package/dist/Chat/ChatLayout.js +19 -0
- package/dist/Chat/ChatLayoutScrollButton.d.ts.map +1 -1
- package/dist/Chat/ChatLayoutScrollButton.js +44 -34
- package/dist/Chat/ChatMessageBubble.d.ts +2 -0
- package/dist/Chat/ChatMessageBubble.d.ts.map +1 -1
- package/dist/Chat/ChatMessageBubble.js +5 -3
- package/dist/Chat/ChatMessageList.d.ts +2 -1
- package/dist/Chat/ChatMessageList.d.ts.map +1 -1
- package/dist/Chat/ChatMessageList.js +4 -3
- package/dist/Chat/ChatMessageMetadata.d.ts +5 -4
- package/dist/Chat/ChatMessageMetadata.d.ts.map +1 -1
- package/dist/Chat/ChatMessageMetadata.js +12 -9
- package/dist/Chat/ChatSendButton.js +1 -1
- package/dist/Chat/index.d.ts +1 -1
- package/dist/Chat/index.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/CheckboxInput/CheckboxInput.js +12 -2
- package/dist/Citation/Citation.d.ts +1 -1
- package/dist/Citation/Citation.d.ts.map +1 -1
- package/dist/Citation/Citation.js +3 -2
- package/dist/CodeBlock/highlightRanges.d.ts.map +1 -1
- package/dist/CodeBlock/highlightRanges.js +14 -3
- package/dist/Collapsible/Collapsible.d.ts.map +1 -1
- package/dist/Collapsible/Collapsible.js +6 -1
- package/dist/CommandPalette/CommandPaletteInput.d.ts.map +1 -1
- package/dist/CommandPalette/CommandPaletteInput.js +1 -1
- package/dist/ComplexSelector/ComplexSelector.d.ts.map +1 -1
- package/dist/ComplexSelector/ComplexSelector.js +1 -1
- package/dist/DateInput/DateInput.d.ts.map +1 -1
- package/dist/DateInput/DateInput.js +4 -4
- package/dist/DateInput/NativeDateField.d.ts.map +1 -1
- package/dist/DateInput/NativeDateField.js +16 -16
- package/dist/DateInput/TouchDateField.d.ts.map +1 -1
- package/dist/DateInput/TouchDateField.js +2 -2
- package/dist/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/DateRangeInput/DateRangeInput.js +4 -4
- package/dist/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput/DateTimeInput.js +8 -8
- package/dist/DateTimeInput/TouchDateTimeField.d.ts.map +1 -1
- package/dist/DateTimeInput/TouchDateTimeField.js +4 -4
- package/dist/DateTimeInput/nativePickerSegmentStyles.d.ts +9 -3
- package/dist/DateTimeInput/nativePickerSegmentStyles.d.ts.map +1 -1
- package/dist/DateTimeInput/nativePickerSegmentStyles.js +3 -3
- package/dist/Dialog/DialogHeader.d.ts +8 -1
- package/dist/Dialog/DialogHeader.d.ts.map +1 -1
- package/dist/Dialog/DialogHeader.js +13 -4
- package/dist/Field/InputClearButton.d.ts +4 -2
- package/dist/Field/InputClearButton.d.ts.map +1 -1
- package/dist/Field/InputClearButton.js +4 -2
- package/dist/Field/PanelSearchInput.d.ts.map +1 -1
- package/dist/Field/PanelSearchInput.js +1 -1
- package/dist/FileInput/FileInput.d.ts.map +1 -1
- package/dist/FileInput/FileInput.js +7 -7
- package/dist/Icon/Icon.d.ts +6 -31
- package/dist/Icon/Icon.d.ts.map +1 -1
- package/dist/Icon/Icon.js +8 -71
- package/dist/Icon/IconDefaultSizeContext.d.ts +4 -0
- package/dist/Icon/IconDefaultSizeContext.d.ts.map +1 -0
- package/dist/Icon/IconDefaultSizeContext.js +18 -0
- package/dist/Icon/IconSize.stylex.d.ts +65 -0
- package/dist/Icon/IconSize.stylex.d.ts.map +1 -0
- package/dist/Icon/IconSize.stylex.js +75 -0
- package/dist/Item/Item.d.ts +1 -1
- package/dist/Item/Item.d.ts.map +1 -1
- package/dist/Item/Item.js +4 -3
- package/dist/Kbd/Kbd.d.ts +5 -3
- package/dist/Kbd/Kbd.d.ts.map +1 -1
- package/dist/Kbd/Kbd.js +36 -42
- package/dist/Link/Link.d.ts.map +1 -1
- package/dist/Link/Link.js +6 -2
- package/dist/Link/useLinkComponent.d.ts +5 -15
- package/dist/Link/useLinkComponent.d.ts.map +1 -1
- package/dist/Link/useLinkComponent.js +34 -51
- package/dist/List/List.d.ts +19 -1
- package/dist/List/List.d.ts.map +1 -1
- package/dist/List/List.js +9 -2
- package/dist/List/ListContext.d.ts +1 -0
- package/dist/List/ListContext.d.ts.map +1 -1
- package/dist/List/ListContext.js +2 -1
- package/dist/List/ListItem.d.ts +1 -1
- package/dist/List/ListItem.d.ts.map +1 -1
- package/dist/List/ListItem.js +9 -2
- package/dist/Markdown/Markdown.d.ts +8 -2
- package/dist/Markdown/Markdown.d.ts.map +1 -1
- package/dist/Markdown/Markdown.fr23.bench.d.ts +2 -0
- package/dist/Markdown/Markdown.fr23.bench.d.ts.map +1 -0
- package/dist/Markdown/Markdown.fr23.bench.js +150 -0
- package/dist/Markdown/Markdown.fr23.sampling.d.ts +2 -0
- package/dist/Markdown/Markdown.fr23.sampling.d.ts.map +1 -0
- package/dist/Markdown/Markdown.fr23.sampling.js +43 -0
- package/dist/Markdown/Markdown.js +262 -109
- package/dist/Markdown/ast.d.ts +162 -0
- package/dist/Markdown/ast.d.ts.map +1 -0
- package/dist/Markdown/ast.js +74 -0
- package/dist/Markdown/index.d.ts +5 -3
- package/dist/Markdown/index.d.ts.map +1 -1
- package/dist/Markdown/index.js +3 -2
- package/dist/Markdown/parser/index.d.ts +10 -0
- package/dist/Markdown/parser/index.d.ts.map +1 -0
- package/dist/Markdown/parser/index.js +10 -0
- package/dist/Markdown/parser.d.ts +126 -58
- package/dist/Markdown/parser.d.ts.map +1 -1
- package/dist/Markdown/parser.js +716 -167
- package/dist/Markdown/plugins/frontmatter.d.ts +32 -0
- package/dist/Markdown/plugins/frontmatter.d.ts.map +1 -0
- package/dist/Markdown/plugins/frontmatter.js +132 -0
- package/dist/Markdown/plugins/index.d.ts +17 -0
- package/dist/Markdown/plugins/index.d.ts.map +1 -0
- package/dist/Markdown/plugins/index.js +14 -0
- package/dist/Markdown/plugins/protocol.d.ts +191 -0
- package/dist/Markdown/plugins/protocol.d.ts.map +1 -0
- package/dist/Markdown/plugins/protocol.js +957 -0
- package/dist/Markdown/plugins/semanticFence.d.ts +36 -0
- package/dist/Markdown/plugins/semanticFence.d.ts.map +1 -0
- package/dist/Markdown/plugins/semanticFence.js +213 -0
- package/dist/Markdown/plugins/softBreaks.d.ts +3 -0
- package/dist/Markdown/plugins/softBreaks.d.ts.map +1 -0
- package/dist/Markdown/plugins/softBreaks.js +172 -0
- package/dist/Markdown/plugins/sourceDecoration.d.ts +76 -0
- package/dist/Markdown/plugins/sourceDecoration.d.ts.map +1 -0
- package/dist/Markdown/plugins/sourceDecoration.js +393 -0
- package/dist/Markdown/plugins/textTransform.d.ts +30 -0
- package/dist/Markdown/plugins/textTransform.d.ts.map +1 -0
- package/dist/Markdown/plugins/textTransform.js +374 -0
- package/dist/Markdown/remark.d.ts +196 -0
- package/dist/Markdown/remark.d.ts.map +1 -0
- package/dist/Markdown/remark.js +1062 -0
- package/dist/Markdown/url.d.ts +6 -0
- package/dist/Markdown/url.d.ts.map +1 -0
- package/dist/Markdown/url.js +31 -0
- package/dist/Markdown/utils.d.ts +4 -2
- package/dist/Markdown/utils.d.ts.map +1 -1
- package/dist/Markdown/utils.js +2 -1
- package/dist/MetadataList/MetadataList.js +3 -3
- package/dist/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/NumberInput/NumberInput.js +4 -4
- package/dist/Outline/index.d.ts +1 -0
- package/dist/Outline/index.d.ts.map +1 -1
- package/dist/Outline/parseOutlineFromMarkdown.d.ts +7 -1
- package/dist/Outline/parseOutlineFromMarkdown.d.ts.map +1 -1
- package/dist/Outline/parseOutlineFromMarkdown.js +14 -8
- package/dist/Outline/useOutlineFromMarkdown.d.ts +3 -1
- package/dist/Outline/useOutlineFromMarkdown.d.ts.map +1 -1
- package/dist/Outline/useOutlineFromMarkdown.js +8 -3
- package/dist/PowerSearch/PowerSearchEditPopover.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchEditPopover.js +46 -30
- package/dist/PowerSearch/PowerSearchValueEditor.d.ts.map +1 -1
- package/dist/PowerSearch/PowerSearchValueEditor.js +5 -0
- package/dist/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar/ProgressBar.js +36 -31
- package/dist/RadioList/RadioListItem.d.ts.map +1 -1
- package/dist/RadioList/RadioListItem.js +13 -1
- package/dist/ScrollableArea/ScrollableArea.d.ts +1 -0
- package/dist/ScrollableArea/ScrollableArea.d.ts.map +1 -1
- package/dist/ScrollableArea/ScrollableArea.js +1 -0
- package/dist/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/SegmentedControl/SegmentedControlItem.js +5 -5
- package/dist/Selector/Selector.d.ts +9 -7
- package/dist/Selector/Selector.d.ts.map +1 -1
- package/dist/Selector/Selector.js +16 -7
- package/dist/SideNav/SideNav.d.ts +2 -1
- package/dist/SideNav/SideNav.d.ts.map +1 -1
- package/dist/SideNav/SideNav.js +9 -3
- package/dist/Slider/Slider.d.ts.map +1 -1
- package/dist/Slider/Slider.js +28 -12
- package/dist/Spinner/Spinner.d.ts.map +1 -1
- package/dist/Spinner/Spinner.js +23 -7
- package/dist/Switch/Switch.d.ts.map +1 -1
- package/dist/Switch/Switch.js +11 -0
- package/dist/TabList/Tab.d.ts +1 -1
- package/dist/TabList/Tab.d.ts.map +1 -1
- package/dist/TabList/Tab.js +20 -7
- package/dist/Table/Table.d.ts +1 -0
- package/dist/Table/Table.d.ts.map +1 -1
- package/dist/Table/Table.js +29 -13
- package/dist/TextArea/TextArea.d.ts.map +1 -1
- package/dist/TextArea/TextArea.js +1 -1
- package/dist/TextInput/TextInput.d.ts.map +1 -1
- package/dist/TextInput/TextInput.js +2 -2
- package/dist/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput/TimeInput.js +4 -4
- package/dist/Timer/Timer.d.ts +49 -0
- package/dist/Timer/Timer.d.ts.map +1 -0
- package/dist/Timer/Timer.js +158 -0
- package/dist/Timer/index.d.ts +9 -0
- package/dist/Timer/index.d.ts.map +1 -0
- package/dist/Timer/index.js +10 -0
- package/dist/ToggleButton/ToggleButton.d.ts +9 -6
- package/dist/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton/ToggleButton.js +15 -27
- package/dist/TopNav/TopNavMenu.d.ts +1 -1
- package/dist/TopNav/TopNavMenu.d.ts.map +1 -1
- package/dist/TopNav/TopNavMenu.js +3 -2
- package/dist/TreeList/TreeList.d.ts.map +1 -1
- package/dist/TreeList/TreeList.js +3 -0
- package/dist/TreeList/TreeListItem.d.ts +6 -1
- package/dist/TreeList/TreeListItem.d.ts.map +1 -1
- package/dist/TreeList/TreeListItem.js +12 -2
- package/dist/TreeList/TreeListTypes.d.ts +8 -1
- package/dist/TreeList/TreeListTypes.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.d.ts.map +1 -1
- package/dist/Typeahead/BaseTypeahead.js +16 -7
- package/dist/astryx.css +27 -11
- package/dist/hooks/scrollKeyboardDelegation.d.ts +3 -0
- package/dist/hooks/scrollKeyboardDelegation.d.ts.map +1 -0
- package/dist/hooks/scrollKeyboardDelegation.js +146 -0
- package/dist/hooks/useClickableContainer.d.ts +10 -1
- package/dist/hooks/useClickableContainer.d.ts.map +1 -1
- package/dist/hooks/useClickableContainer.js +15 -4
- package/dist/hooks/useScrollableArea.d.ts +6 -2
- package/dist/hooks/useScrollableArea.d.ts.map +1 -1
- package/dist/hooks/useScrollableArea.js +17 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/theme/declarationBoundary.d.ts +17 -0
- package/dist/theme/declarationBoundary.d.ts.map +1 -0
- package/dist/theme/declarationBoundary.js +343 -0
- package/dist/theme/derivedVarRegistry.d.ts.map +1 -1
- package/dist/theme/derivedVarRegistry.js +4 -0
- package/dist/theme/generateThemeRules.d.ts +13 -7
- package/dist/theme/generateThemeRules.d.ts.map +1 -1
- package/dist/theme/generateThemeRules.js +140 -34
- package/dist/utils/interactionOverlay.stylex.d.ts +8 -0
- package/dist/utils/interactionOverlay.stylex.d.ts.map +1 -1
- package/dist/utils/interactionOverlay.stylex.js +9 -0
- package/dist/utils/safeUrl.d.ts +11 -0
- package/dist/utils/safeUrl.d.ts.map +1 -0
- package/dist/utils/safeUrl.js +78 -0
- package/locales/af-ZA.json +530 -1
- package/locales/ar-SA.json +490 -1
- package/locales/ca-ES.json +514 -1
- package/locales/cs-CZ.json +498 -1
- package/locales/da-DK.json +522 -1
- package/locales/de-DE.json +522 -1
- package/locales/el-GR.json +498 -1
- package/locales/es-ES.json +510 -1
- package/locales/fi-FI.json +498 -1
- package/locales/fr-FR.json +534 -1
- package/locales/he-IL.json +498 -1
- package/locales/hu-HU.json +498 -1
- package/locales/it-IT.json +510 -1
- package/locales/ja-JP.json +490 -1
- package/locales/ko-KR.json +498 -1
- package/locales/nl-NL.json +534 -1
- package/locales/no-NO.json +510 -1
- package/locales/pl-PL.json +506 -1
- package/locales/pt-BR.json +506 -1
- package/locales/pt-PT.json +506 -1
- package/locales/ro-RO.json +506 -1
- package/locales/ru-RU.json +498 -1
- package/locales/sr-SP.json +498 -1
- package/locales/sv-SE.json +502 -1
- package/locales/tr-TR.json +498 -1
- package/locales/uk-UA.json +498 -1
- package/locales/vi-VN.json +502 -1
- package/locales/zh-CN.json +490 -1
- package/locales/zh-TW.json +490 -1
- package/package.json +24 -4
- package/src/BottomSheet/BottomSheet.doc.mjs +8 -1
- package/src/BottomSheet/BottomSheet.spec.md +46 -20
- package/src/BottomSheet/BottomSheet.test.tsx +6 -3
- package/src/BottomSheet/BottomSheet.tsx +3 -1
- package/src/BottomSheet/BottomSheetKeyboard.test.tsx +195 -0
- package/src/BottomSheet/BottomSheetPanel.test.tsx +11 -1
- package/src/BottomSheet/BottomSheetPanel.tsx +49 -16
- package/src/BottomSheet/__tests__/BottomSheetKeyboard.a11y.browser.spec.ts +344 -0
- package/src/Button/Button.doc.mjs +5 -5
- package/src/Button/Button.tsx +15 -13
- package/src/Button/__tests__/Button.a11y.chromium.spec.ts +17 -1
- package/src/Button/__tests__/Button.a11y.known-failures.ts +0 -29
- package/src/Button/__tests__/Button.a11y.renders.tsx +9 -2
- package/src/Button/__tests__/Button.a11y.states.ts +9 -0
- package/src/Chat/ChatComposer.doc.mjs +14 -0
- package/src/Chat/ChatComposer.spec.md +230 -0
- package/src/Chat/ChatComposer.test.tsx +57 -0
- package/src/Chat/ChatComposer.tsx +21 -9
- package/src/Chat/ChatComposerDrawer.doc.mjs +63 -5
- package/src/Chat/ChatComposerDrawer.spec.md +267 -0
- package/src/Chat/ChatComposerDrawer.test.tsx +81 -12
- package/src/Chat/ChatComposerDrawer.tsx +38 -9
- package/src/Chat/ChatComposerInput.doc.mjs +114 -26
- package/src/Chat/ChatComposerInput.spec.md +185 -0
- package/src/Chat/ChatComposerInput.test.tsx +113 -3
- package/src/Chat/ChatComposerInput.tsx +78 -13
- package/src/Chat/ChatComposerTokenElement.spec.md +152 -0
- package/src/Chat/ChatComposerTokenElement.test.tsx +85 -0
- package/src/Chat/ChatDictationButton.doc.mjs +3 -3
- package/src/Chat/ChatDictationButton.spec.md +160 -0
- package/src/Chat/ChatDictationButton.test.tsx +92 -27
- package/src/Chat/ChatDictationButton.tsx +8 -6
- package/src/Chat/ChatLayout.doc.mjs +12 -4
- package/src/Chat/ChatLayout.spec.md +271 -0
- package/src/Chat/ChatLayout.test.tsx +28 -0
- package/src/Chat/ChatLayout.tsx +19 -0
- package/src/Chat/ChatLayoutScrollButton.spec.md +338 -0
- package/src/Chat/ChatLayoutScrollButton.test.tsx +31 -0
- package/src/Chat/ChatLayoutScrollButton.tsx +31 -14
- package/src/Chat/ChatMessageBubble.doc.mjs +28 -15
- package/src/Chat/ChatMessageBubble.spec.md +263 -0
- package/src/Chat/ChatMessageBubble.test.tsx +93 -0
- package/src/Chat/ChatMessageBubble.tsx +8 -3
- package/src/Chat/ChatMessageList.spec.md +222 -0
- package/src/Chat/ChatMessageList.test.tsx +64 -2
- package/src/Chat/ChatMessageList.tsx +4 -3
- package/src/Chat/ChatMessageMetadata.doc.mjs +57 -3
- package/src/Chat/ChatMessageMetadata.spec.md +220 -0
- package/src/Chat/ChatMessageMetadata.test.tsx +34 -0
- package/src/Chat/ChatMessageMetadata.tsx +13 -13
- package/src/Chat/ChatSendButton.test.tsx +1 -4
- package/src/Chat/ChatSendButton.tsx +1 -1
- package/src/Chat/__tests__/ChatLayoutScrollButton.a11y.chromium.spec.ts +514 -0
- package/src/Chat/__tests__/ChatLayoutScrollButtonSurface.a11y.chromium.spec.ts +740 -0
- package/src/Chat/__tests__/ChatMessageBubble.a11y.chromium.spec.ts +457 -0
- package/src/Chat/__tests__/ChatMessageBubble.auditProvenance.test.ts +91 -0
- package/src/Chat/__tests__/ChatMessageBubble.auditProvenance.ts +91 -0
- package/src/Chat/__tests__/ChatMessageList.a11y.chromium.spec.ts +456 -0
- package/src/Chat/__tests__/ChatMessageMetadata.a11y.chromium.spec.ts +413 -0
- package/src/Chat/index.ts +1 -0
- package/src/CheckboxInput/CheckboxInput.doc.mjs +11 -0
- package/src/CheckboxInput/CheckboxInput.test.tsx +34 -0
- package/src/CheckboxInput/CheckboxInput.tsx +21 -1
- package/src/Citation/Citation.doc.mjs +2 -2
- package/src/Citation/Citation.test.tsx +17 -0
- package/src/Citation/Citation.tsx +4 -2
- package/src/ClickableCard/ClickableCard.doc.mjs +2 -2
- package/src/ClickableCard/ClickableCard.test.tsx +102 -5
- package/src/CodeBlock/highlightRanges.test.ts +143 -1
- package/src/CodeBlock/highlightRanges.ts +15 -5
- package/src/Collapsible/Collapsible.doc.mjs +11 -0
- package/src/Collapsible/Collapsible.test.tsx +21 -0
- package/src/Collapsible/Collapsible.tsx +5 -0
- package/src/CommandPalette/CommandPaletteInput.tsx +6 -1
- package/src/ComplexSelector/ComplexSelector.tsx +6 -1
- package/src/DateInput/DateInput.tsx +6 -1
- package/src/DateInput/NativeDateField.tsx +24 -8
- package/src/DateInput/TouchDateField.tsx +6 -2
- package/src/DateRangeInput/DateRangeInput.tsx +6 -1
- package/src/DateTimeInput/DateTimeInput.tsx +6 -1
- package/src/DateTimeInput/TouchDateTimeField.tsx +6 -1
- package/src/DateTimeInput/nativePickerSegmentStyles.ts +24 -8
- package/src/Dialog/Dialog.doc.mjs +2 -0
- package/src/Dialog/DialogHeader.doc.mjs +22 -0
- package/src/Dialog/DialogHeader.test.tsx +167 -3
- package/src/Dialog/DialogHeader.tsx +37 -6
- package/src/Dialog/modules/DialogHeader.spec.md +101 -42
- package/src/DropdownMenu/DropdownMenu.test.tsx +5 -2
- package/src/Field/InputClearButton.test.tsx +17 -3
- package/src/Field/InputClearButton.tsx +5 -2
- package/src/Field/PanelSearchInput.tsx +5 -2
- package/src/FieldStatus/__tests__/StatusMessage.a11y.states.ts +1 -1
- package/src/FileInput/FileInput.tsx +11 -2
- package/src/Icon/Icon.doc.mjs +7 -5
- package/src/Icon/Icon.spec.md +81 -40
- package/src/Icon/Icon.test.tsx +6 -3
- package/src/Icon/Icon.tsx +20 -68
- package/src/Icon/IconDefaultSizeContext.ts +23 -0
- package/src/Icon/IconSize.stylex.ts +70 -0
- package/src/IconButton/IconButton.doc.mjs +3 -3
- package/src/IconButton/IconButton.test.tsx +40 -0
- package/src/Item/Item.doc.mjs +6 -2
- package/src/Item/Item.tsx +9 -3
- package/src/Kbd/Kbd.doc.mjs +3 -3
- package/src/Kbd/Kbd.test.tsx +57 -1
- package/src/Kbd/Kbd.tsx +57 -37
- package/src/Layout/LayoutFooter.doc.mjs +17 -0
- package/src/Link/Link.doc.mjs +17 -4
- package/src/Link/Link.test.tsx +24 -0
- package/src/Link/Link.tsx +5 -0
- package/src/Link/LinkProvider.doc.mjs +2 -2
- package/src/Link/__tests__/Link.navigation.a11y.chromium.spec.ts +261 -0
- package/src/Link/useLinkComponent.test.tsx +333 -0
- package/src/Link/useLinkComponent.ts +29 -57
- package/src/List/List.doc.mjs +6 -0
- package/src/List/List.spec.md +200 -0
- package/src/List/List.test.tsx +117 -1
- package/src/List/List.tsx +22 -2
- package/src/List/ListContext.tsx +3 -1
- package/src/List/ListItem.doc.mjs +2 -2
- package/src/List/ListItem.source-build.test.mjs +41 -0
- package/src/List/ListItem.tsx +26 -2
- package/src/Markdown/Markdown.doc.mjs +300 -2
- package/src/Markdown/Markdown.fr23.bench.ts +174 -0
- package/src/Markdown/Markdown.fr23.perf.test.ts +249 -0
- package/src/Markdown/Markdown.fr23.sampling.ts +49 -0
- package/src/Markdown/Markdown.helpers.perf.test.ts +489 -0
- package/src/Markdown/Markdown.public.test.ts +130 -3
- package/src/Markdown/Markdown.renderBoundary.test.tsx +72 -0
- package/src/Markdown/Markdown.spec.md +203 -45
- package/src/Markdown/Markdown.test.tsx +63 -0
- package/src/Markdown/Markdown.tsx +414 -135
- package/src/Markdown/ast.test.ts +307 -0
- package/src/Markdown/ast.ts +337 -0
- package/src/Markdown/incremental.test.ts +12 -0
- package/src/Markdown/index.ts +37 -1
- package/src/Markdown/modules/remark.spec.md +269 -0
- package/src/Markdown/modules/softBreaks.spec.md +137 -0
- package/src/Markdown/parser/index.ts +64 -0
- package/src/Markdown/parser.public.test.ts +103 -0
- package/src/Markdown/parser.test.ts +20 -0
- package/src/Markdown/parser.ts +1180 -235
- package/src/Markdown/plugins/frontmatter.test.tsx +125 -0
- package/src/Markdown/plugins/frontmatter.ts +198 -0
- package/src/Markdown/plugins/index.ts +54 -0
- package/src/Markdown/plugins/protocol.test.tsx +1022 -0
- package/src/Markdown/plugins/protocol.ts +1618 -0
- package/src/Markdown/plugins/semanticFence.test.tsx +546 -0
- package/src/Markdown/plugins/semanticFence.ts +424 -0
- package/src/Markdown/plugins/softBreaks.test.tsx +172 -0
- package/src/Markdown/plugins/softBreaks.ts +169 -0
- package/src/Markdown/plugins/sourceDecoration.test.tsx +799 -0
- package/src/Markdown/plugins/sourceDecoration.ts +539 -0
- package/src/Markdown/plugins/textTransform.test.ts +467 -0
- package/src/Markdown/plugins/textTransform.ts +554 -0
- package/src/Markdown/remark.test.tsx +1877 -0
- package/src/Markdown/remark.ts +1574 -0
- package/src/Markdown/url.ts +36 -0
- package/src/Markdown/utils.ts +13 -1
- package/src/MetadataList/MetadataList.test.tsx +4 -2
- package/src/MetadataList/MetadataList.tsx +3 -3
- package/src/MultiSelector/MultiSelector.test.tsx +1 -35
- package/src/MultiSelector/__tests__/MultiSelector.listbox.a11y.test.tsx +128 -0
- package/src/NumberInput/NumberInput.tsx +6 -1
- package/src/Outline/Outline.doc.mjs +7 -5
- package/src/Outline/Outline.spec.md +1 -1
- package/src/Outline/index.ts +1 -0
- package/src/Outline/modules/parseOutlineFromMarkdown.spec.md +142 -0
- package/src/Outline/parseOutlineFromMarkdown.ts +40 -10
- package/src/Outline/useOutlineFromMarkdown.ts +15 -3
- package/src/PowerSearch/PowerSearch.doc.mjs +2 -2
- package/src/PowerSearch/PowerSearchEditPopover.test.tsx +150 -1
- package/src/PowerSearch/PowerSearchEditPopover.tsx +51 -28
- package/src/PowerSearch/PowerSearchValueEditor.test.tsx +51 -0
- package/src/PowerSearch/PowerSearchValueEditor.tsx +4 -0
- package/src/ProgressBar/ProgressBar.test.tsx +29 -11
- package/src/ProgressBar/ProgressBar.tsx +59 -72
- package/src/RadioList/RadioList.doc.mjs +11 -0
- package/src/RadioList/RadioList.test.tsx +32 -0
- package/src/RadioList/RadioListItem.tsx +25 -1
- package/src/ScrollableArea/ScrollableArea.tsx +1 -0
- package/src/ScrollableArea/modules/useScrollableArea.spec.md +50 -22
- package/src/SegmentedControl/SegmentedControl.doc.mjs +2 -2
- package/src/SegmentedControl/SegmentedControl.test.tsx +31 -0
- package/src/SegmentedControl/SegmentedControlItem.tsx +6 -9
- package/src/Selector/Selector.doc.mjs +2 -2
- package/src/Selector/Selector.spec.md +51 -49
- package/src/Selector/Selector.test.tsx +61 -55
- package/src/Selector/Selector.tsx +34 -15
- package/src/Selector/__tests__/Listbox.a11y.chromium.spec.ts +130 -0
- package/src/Selector/__tests__/Listbox.a11y.dom.ts +38 -0
- package/src/Selector/__tests__/Listbox.a11y.inventory.test.ts +63 -0
- package/src/Selector/__tests__/Listbox.a11y.known-failures.ts +37 -0
- package/src/Selector/__tests__/Listbox.a11y.states.ts +232 -0
- package/src/Selector/__tests__/Selector.a11y.chromium.spec.ts +45 -0
- package/src/Selector/__tests__/Selector.listbox.a11y.test.tsx +121 -0
- package/src/SideNav/SideNav.doc.mjs +1 -1
- package/src/SideNav/SideNav.test.tsx +10 -0
- package/src/SideNav/SideNav.tsx +14 -2
- package/src/Slider/Slider.doc.mjs +17 -3
- package/src/Slider/Slider.test.tsx +221 -0
- package/src/Slider/Slider.tsx +40 -9
- package/src/Spinner/Spinner.test.tsx +4 -0
- package/src/Spinner/Spinner.tsx +31 -18
- package/src/Switch/Switch.doc.mjs +11 -0
- package/src/Switch/Switch.test.tsx +16 -0
- package/src/Switch/Switch.tsx +28 -0
- package/src/TabList/Tab.tsx +35 -7
- package/src/TabList/TabList.doc.mjs +11 -0
- package/src/TabList/TabList.spec.md +204 -0
- package/src/TabList/TabList.test.tsx +66 -0
- package/src/TabList/__tests__/Tabs.a11y.known-failures.ts +1 -34
- package/src/Table/Table.doc.mjs +1 -1
- package/src/Table/Table.spec.md +54 -40
- package/src/Table/Table.test.tsx +83 -10
- package/src/Table/Table.tsx +30 -22
- package/src/Table/__tests__/TableScroll.a11y.chromium.spec.ts +137 -0
- package/src/TextArea/TextArea.tsx +6 -1
- package/src/TextInput/TextInput.test.tsx +20 -1
- package/src/TextInput/TextInput.tsx +6 -1
- package/src/TimeInput/TimeInput.tsx +6 -1
- package/src/Timer/Timer.doc.mjs +183 -0
- package/src/Timer/Timer.spec.md +215 -0
- package/src/Timer/Timer.test.tsx +302 -0
- package/src/Timer/Timer.tsx +258 -0
- package/src/Timer/index.ts +11 -0
- package/src/ToggleButton/ToggleButton.doc.mjs +3 -3
- package/src/ToggleButton/ToggleButton.test.tsx +299 -4
- package/src/ToggleButton/ToggleButton.tsx +26 -33
- package/src/ToggleButton/ToggleButtonGroup.doc.mjs +3 -3
- package/src/ToggleButton/__tests__/ToggleButton.a11y.chromium.spec.ts +209 -0
- package/src/Token/Token.doc.mjs +2 -2
- package/src/Tokenizer/Tokenizer.spec.md +142 -75
- package/src/TopNav/TopNavMenu.doc.mjs +2 -2
- package/src/TopNav/TopNavMenu.test.tsx +30 -0
- package/src/TopNav/TopNavMenu.tsx +7 -2
- package/src/TreeList/TreeList.doc.mjs +3 -3
- package/src/TreeList/TreeList.spec.md +123 -75
- package/src/TreeList/TreeList.test.tsx +29 -0
- package/src/TreeList/TreeList.tsx +3 -0
- package/src/TreeList/TreeListItem.tsx +15 -1
- package/src/TreeList/TreeListTypes.ts +11 -1
- package/src/Typeahead/BaseTypeahead.spec.md +4 -3
- package/src/Typeahead/BaseTypeahead.tsx +21 -7
- package/src/Typeahead/Typeahead.test.tsx +53 -0
- package/src/__tests__/PressedState.a11y.chromium.spec.ts +813 -0
- package/src/__tests__/pressState.ts +93 -0
- package/src/hooks/scrollKeyboardDelegation.test.ts +155 -0
- package/src/hooks/scrollKeyboardDelegation.ts +233 -0
- package/src/hooks/useClickableContainer.test.tsx +236 -0
- package/src/hooks/useClickableContainer.ts +20 -4
- package/src/hooks/useScrollableArea.doc.mjs +15 -3
- package/src/hooks/useScrollableArea.test.tsx +59 -1
- package/src/hooks/useScrollableArea.ts +34 -10
- package/src/index.ts +3 -0
- package/src/inputFontFloor.test.ts +106 -0
- package/src/tailwind-theme.css +0 -6
- package/src/theme/Theme.test.tsx +32 -0
- package/src/theme/declarationBoundary.test.ts +126 -0
- package/src/theme/declarationBoundary.ts +347 -0
- package/src/theme/derivedVarRegistry.test.ts +7 -0
- package/src/theme/derivedVarRegistry.ts +1 -0
- package/src/theme/generateThemeRules.test.ts +526 -1
- package/src/theme/generateThemeRules.ts +228 -50
- package/src/theme/tokenValueCompat.test.ts +4 -1
- package/src/utils/interactionOverlay.stylex.ts +20 -0
- package/src/utils/safeUrl.test.ts +88 -0
- package/src/utils/safeUrl.ts +85 -0
package/locales/ar-SA.json
CHANGED
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
"defaultMessage": "الصفحة",
|
|
40
40
|
"description": "Visible label before the editable box in the input pagination variant. Example: \"Page [ 1 ] / 10\"."
|
|
41
41
|
},
|
|
42
|
+
"@astryx.pagination.ofTotalPages": {
|
|
43
|
+
"defaultMessage": "/ {total, number}",
|
|
44
|
+
"description": "Visible total shown after the editable box in the input pagination variant. Example: the \"/ 10\" in \"Page [ 1 ] / 10\"."
|
|
45
|
+
},
|
|
42
46
|
"@astryx.pagination.pageIndicators": {
|
|
43
47
|
"defaultMessage": "مؤشرات الصفحات",
|
|
44
48
|
"description": "Aria label for the dots-variant page-indicator group."
|
|
@@ -283,6 +287,10 @@
|
|
|
283
287
|
"defaultMessage": "تجاهل",
|
|
284
288
|
"description": "\"Dismiss\" = close/hide this notification (not \"reject a person\"). Tooltip on the small X button on a Banner, and its aria label when the banner's title is not plain text."
|
|
285
289
|
},
|
|
290
|
+
"@astryx.banner.dismissTitled": {
|
|
291
|
+
"defaultMessage": "{dismiss} {title}",
|
|
292
|
+
"description": "Aria label on the small X button on a Banner, naming which banner it closes so stacked banners are distinguishable. `{dismiss}` is the already-translated tooltip text from `banner.dismiss`; keep it verbatim in the message so visible and accessible labels match. `{title}` is the banner's own title text — example: `Dismiss Upload failed`. Reorder the placeholders freely."
|
|
293
|
+
},
|
|
286
294
|
"@astryx.calendar.previousMonth": {
|
|
287
295
|
"defaultMessage": "الشهر السابق",
|
|
288
296
|
"description": "Screen-reader-only label on the left-arrow button in a Calendar's month header (navigates one month back). Pairs with `calendar.nextMonth`."
|
|
@@ -319,6 +327,10 @@
|
|
|
319
327
|
"defaultMessage": "النطاق المحدَّد: من {start} إلى {end}.",
|
|
320
328
|
"description": "Screen-reader announcement after the second pick completes a Calendar range selection. `{start}` and `{end}` are localized full dates in chronological order."
|
|
321
329
|
},
|
|
330
|
+
"@astryx.calendar.rangeClearedAnnounce": {
|
|
331
|
+
"defaultMessage": "تم مسح تاريخ البدء {date}. حدّد تاريخ البدء.",
|
|
332
|
+
"description": "Screen-reader announcement when the user clicks the in-progress range start again, which clears it instead of completing a zero-length range. `{date}` is the localized full date."
|
|
333
|
+
},
|
|
322
334
|
"@astryx.carousel.label": {
|
|
323
335
|
"defaultMessage": "عارض الشرائح",
|
|
324
336
|
"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\")."
|
|
@@ -335,6 +347,22 @@
|
|
|
335
347
|
"defaultMessage": "الشريحة {current, number} من {total, number}",
|
|
336
348
|
"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."
|
|
337
349
|
},
|
|
350
|
+
"@astryx.chart.label": {
|
|
351
|
+
"defaultMessage": "رسم بياني",
|
|
352
|
+
"description": "Generic screen-reader name for a Chart with no primary series and no consumer-supplied title. Noun (a data visualization), not a verb."
|
|
353
|
+
},
|
|
354
|
+
"@astryx.chart.labelWithSeries": {
|
|
355
|
+
"defaultMessage": "رسم بياني لـ{series} حسب {xKey}",
|
|
356
|
+
"description": "Generated screen-reader name for a Chart without a consumer-supplied title. `{series}` is a locale-formatted list of series labels; `{xKey}` is the consumer's horizontal data-field name."
|
|
357
|
+
},
|
|
358
|
+
"@astryx.chart.dataTableCaption": {
|
|
359
|
+
"defaultMessage": "بيانات {label}",
|
|
360
|
+
"description": "Screen-reader-only caption for the small-data table that mirrors a Chart. `{label}` is the Chart's resolved accessible name."
|
|
361
|
+
},
|
|
362
|
+
"@astryx.chartLegend.label": {
|
|
363
|
+
"defaultMessage": "مفتاح الرسم البياني",
|
|
364
|
+
"description": "Screen-reader-only accessible name for the list of series labels and swatches rendered by ChartLegend."
|
|
365
|
+
},
|
|
338
366
|
"@astryx.chat.status.sending": {
|
|
339
367
|
"defaultMessage": "جارٍ الإرسال",
|
|
340
368
|
"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."
|
|
@@ -365,7 +393,7 @@
|
|
|
365
393
|
},
|
|
366
394
|
"@astryx.checkboxList.item.checkbox": {
|
|
367
395
|
"defaultMessage": "مربع اختيار",
|
|
368
|
-
"description": "
|
|
396
|
+
"description": "Localized hidden text used internally when a rich visible label names the checkbox through aria-labelledby. It does not become the computed name; callers must provide aria-label when rich content has no text."
|
|
369
397
|
},
|
|
370
398
|
"@astryx.commandPalette.emptySearch": {
|
|
371
399
|
"defaultMessage": "لا توجد نتائج",
|
|
@@ -403,6 +431,10 @@
|
|
|
403
431
|
"defaultMessage": "القائمة",
|
|
404
432
|
"description": "Screen-reader-only fallback name for a dropdown menu popover. Very generic; consumers usually override. Noun (\"a menu\"), not the imperative."
|
|
405
433
|
},
|
|
434
|
+
"@astryx.dropdownMenu.back": {
|
|
435
|
+
"defaultMessage": "رجوع",
|
|
436
|
+
"description": "Button label that returns from a nested action list to its parent inside a DropdownMenu bottom sheet. Imperative navigation action."
|
|
437
|
+
},
|
|
406
438
|
"@astryx.lightbox.close": {
|
|
407
439
|
"defaultMessage": "إغلاق",
|
|
408
440
|
"description": "\"Close\" = shut/dismiss (not \"nearby\"). Screen-reader-only label on the X button that dismisses a Lightbox."
|
|
@@ -415,6 +447,82 @@
|
|
|
415
447
|
"defaultMessage": "التالي",
|
|
416
448
|
"description": "Screen-reader-only label on the right-arrow button in a Lightbox (navigates to next media item). Pairs with `lightbox.previous`."
|
|
417
449
|
},
|
|
450
|
+
"@astryx.chatTypingIndicator.one": {
|
|
451
|
+
"defaultMessage": "{name} يكتب…",
|
|
452
|
+
"description": "Politely announced status naming the single person currently typing in a chat. `name` is a display name supplied by the app. Present-progressive form; the trailing ellipsis is the single … character."
|
|
453
|
+
},
|
|
454
|
+
"@astryx.chatTypingIndicator.many": {
|
|
455
|
+
"defaultMessage": "{names} يكتبون…",
|
|
456
|
+
"description": "Politely announced status when more than one person is typing in a chat. `names` is already joined for the locale by Intl.ListFormat, so translations must not add their own conjunction — place `{names}` where the joined list belongs."
|
|
457
|
+
},
|
|
458
|
+
"@astryx.chatTypingIndicator.others": {
|
|
459
|
+
"defaultMessage": "{count, number} {count, plural, zero {آخرين} one {آخر} two {آخران} few {آخرين} many {آخرًا} other {آخر}}",
|
|
460
|
+
"description": "Overflow element for the chat typing status when three or more people type: the first name is shown and the rest collapse into this phrase, which is then joined to the name by Intl.ListFormat. Renders as the last list item, e.g. \"Ana and 2 others\"."
|
|
461
|
+
},
|
|
462
|
+
"@astryx.listInput.emptyTitle": {
|
|
463
|
+
"defaultMessage": "لم تتم إضافة {itemName} بعد",
|
|
464
|
+
"description": "EmptyState title shown inside a lab ListInput when its collection has no records. `{itemName}` is the consumer's singular noun for one record (e.g. \"guest\"); the source appends a literal \"s\" to pluralize it, which only works for regular English plurals. If your language cannot pluralize an interpolated noun this way, rephrase around `{itemName}` instead (e.g. \"No {itemName} added yet\")."
|
|
465
|
+
},
|
|
466
|
+
"@astryx.listInput.emptyDescription": {
|
|
467
|
+
"defaultMessage": "أضف {itemName} للبدء.",
|
|
468
|
+
"description": "EmptyState supporting text shown inside a lab ListInput when its collection has no records. `{itemName}` is the consumer's singular noun for one record (e.g. \"guest\")."
|
|
469
|
+
},
|
|
470
|
+
"@astryx.listInput.addItem": {
|
|
471
|
+
"defaultMessage": "إضافة {itemName}",
|
|
472
|
+
"description": "Accessible label on the button that appends a new record to a lab ListInput. `{itemName}` is the consumer's singular noun for one record (e.g. \"guest\")."
|
|
473
|
+
},
|
|
474
|
+
"@astryx.listInput.removeItem": {
|
|
475
|
+
"defaultMessage": "إزالة {itemName} {position, number}",
|
|
476
|
+
"description": "Accessible label and tooltip on the button that deletes one record from a lab ListInput. `{itemName}` is the consumer's singular noun for one record; `{position}` is its 1-based row number (e.g. \"Remove guest 2\")."
|
|
477
|
+
},
|
|
478
|
+
"@astryx.listInput.removeUnavailable": {
|
|
479
|
+
"defaultMessage": "الإزالة غير متاحة عندما تكون القائمة معطّلة",
|
|
480
|
+
"description": "Tooltip shown on the Remove button when the ListInput is disabled or loading, explaining why the action cannot be performed."
|
|
481
|
+
},
|
|
482
|
+
"@astryx.listInput.reorderItem": {
|
|
483
|
+
"defaultMessage": "إعادة ترتيب {itemName} {position, number}",
|
|
484
|
+
"description": "Accessible label on the drag-handle button that reorders one record in a lab ListInput. `{itemName}` is the consumer's singular noun for one record; `{position}` is its 1-based row number (e.g. \"Reorder guest 2\")."
|
|
485
|
+
},
|
|
486
|
+
"@astryx.listInput.fieldLabelWithPosition": {
|
|
487
|
+
"defaultMessage": "{header}، {itemName} {position, number} من {total, number}",
|
|
488
|
+
"description": "Accessible name for a field inside a lab ListInput row after the first row, disambiguating repeated column labels. `{header}` is the column's own label (e.g. \"Name\"); `{itemName}` is the consumer's singular noun for one record; `{position}`/`{total}` are the row's 1-based index and the total row count (e.g. \"Name, guest 2 of 3\")."
|
|
489
|
+
},
|
|
490
|
+
"@astryx.listInput.reorderInstructions": {
|
|
491
|
+
"defaultMessage": "استخدم Arrow Up أو Arrow Down لتحريك هذا العنصر موضعًا واحدًا. اضغط على Space أو Enter لالتقاطه وإعادة ترتيبه بشكل موسّع باستخدام لوحة المفاتيح.",
|
|
492
|
+
"description": "Visually-hidden instructions describing how to use a lab ListInput row's keyboard reorder handle, referenced via aria-describedby from every reorder button."
|
|
493
|
+
},
|
|
494
|
+
"@astryx.listInput.announceAdded": {
|
|
495
|
+
"defaultMessage": "تمت إضافة {itemName} {position, number}.",
|
|
496
|
+
"description": "Screen-reader-only live announcement after a new record is appended to a lab ListInput. `{itemName}` is the consumer's singular noun for one record; `{position}` is the new record's 1-based row number."
|
|
497
|
+
},
|
|
498
|
+
"@astryx.listInput.announceRemoved": {
|
|
499
|
+
"defaultMessage": "تمت إزالة {itemName} {position, number}.",
|
|
500
|
+
"description": "Screen-reader-only live announcement after a record is deleted from a lab ListInput. `{itemName}` is the consumer's singular noun for one record; `{position}` is the removed record's former 1-based row number."
|
|
501
|
+
},
|
|
502
|
+
"@astryx.listInput.announceGrabbed": {
|
|
503
|
+
"defaultMessage": "تم التقاط {itemName} {position, number}. استخدم مفاتيح الأسهم للتحريك، وSpace أو Enter للإفلات، وEscape للإلغاء.",
|
|
504
|
+
"description": "Screen-reader-only live announcement when a lab ListInput record's keyboard reorder handle enters extended \"lift\" mode. `{itemName}` is the consumer's singular noun for one record; `{position}` is its 1-based row number."
|
|
505
|
+
},
|
|
506
|
+
"@astryx.listInput.announceMovedToPosition": {
|
|
507
|
+
"defaultMessage": "تم نقل {itemName} إلى الموضع {position, number} من {total, number}.",
|
|
508
|
+
"description": "Screen-reader-only live announcement each time a lab ListInput record's reorder position changes (arrow-key step, keyboard lift-mode preview, or pointer drag). `{itemName}` is the consumer's singular noun for one record; `{position}`/`{total}` are the record's new 1-based position and the total row count."
|
|
509
|
+
},
|
|
510
|
+
"@astryx.listInput.announceReorderCancelled": {
|
|
511
|
+
"defaultMessage": "تم إلغاء إعادة الترتيب.",
|
|
512
|
+
"description": "Screen-reader-only live announcement when a lab ListInput reorder in progress is cancelled (Escape key, blur, or the collection becoming disabled/loading mid-drag)."
|
|
513
|
+
},
|
|
514
|
+
"@astryx.listInput.announceReturnedToPosition": {
|
|
515
|
+
"defaultMessage": "تمت إعادة {itemName} إلى الموضع {position, number}.",
|
|
516
|
+
"description": "Screen-reader-only live announcement when a lab ListInput reorder is committed without the record's position actually changing. `{itemName}` is the consumer's singular noun for one record; `{position}` is its unchanged 1-based row number."
|
|
517
|
+
},
|
|
518
|
+
"@astryx.listInput.announceDropped": {
|
|
519
|
+
"defaultMessage": "تم إفلات {itemName} في الموضع {position, number} من {total, number}.",
|
|
520
|
+
"description": "Screen-reader-only live announcement when a lab ListInput reorder is committed with the record's position actually changing. `{itemName}` is the consumer's singular noun for one record; `{position}`/`{total}` are its new 1-based position and the total row count."
|
|
521
|
+
},
|
|
522
|
+
"@astryx.listInput.announceAlreadyAtBoundary": {
|
|
523
|
+
"defaultMessage": "{itemName} بالفعل {boundary, select, first {في بداية القائمة} last {في نهاية القائمة} other {}}.",
|
|
524
|
+
"description": "Screen-reader-only live announcement when an arrow-key reorder attempt has no effect because the record is already at that end of the list. `{itemName}` is the consumer's singular noun for one record; `{boundary}` is always exactly \"first\" or \"last\"."
|
|
525
|
+
},
|
|
418
526
|
"@astryx.markdown.taskList": {
|
|
419
527
|
"defaultMessage": "قائمة المهام",
|
|
420
528
|
"description": "Screen-reader-only accessible name for a GitHub-flavored Markdown task list (rendered from `- [ ] item` / `- [x] done` syntax)."
|
|
@@ -439,6 +547,10 @@
|
|
|
439
547
|
"defaultMessage": "خيارات البحث",
|
|
440
548
|
"description": "Screen-reader-only accessible name for that same search input inside a MultiSelector."
|
|
441
549
|
},
|
|
550
|
+
"@astryx.multiSelector.empty": {
|
|
551
|
+
"defaultMessage": "لا توجد خيارات",
|
|
552
|
+
"description": "Shown in a MultiSelector's dropdown panel when it was given no options at all, and announced in a polite live region on open. Very short (2 words); neutral tone, not error-y."
|
|
553
|
+
},
|
|
442
554
|
"@astryx.multiSelector.selectAllPartiallySelected": {
|
|
443
555
|
"defaultMessage": "{label}، محدَّد جزئيًا",
|
|
444
556
|
"description": "Accessible name for the MultiSelector select-all option while only some options are selected. `{label}` is the visible select-all label (e.g. \"Select all\"). ARIA forbids aria-selected=\"mixed\" on options, so the indeterminate state is conveyed through the name instead. \"Partially\" = some but not all."
|
|
@@ -455,6 +567,10 @@
|
|
|
455
567
|
"defaultMessage": "خيارات البحث",
|
|
456
568
|
"description": "\"Options\" = the list of choices in the dropdown. Screen-reader-only accessible name for the search input inside a Selector."
|
|
457
569
|
},
|
|
570
|
+
"@astryx.selector.empty": {
|
|
571
|
+
"defaultMessage": "لا توجد خيارات",
|
|
572
|
+
"description": "Shown in a Selector's dropdown panel when it was given no options at all, and announced in a polite live region on open. Very short (2 words); neutral tone, not error-y."
|
|
573
|
+
},
|
|
458
574
|
"@astryx.sideNav.label": {
|
|
459
575
|
"defaultMessage": "التنقل الجانبي",
|
|
460
576
|
"description": "Screen-reader-only accessible name for the primary vertical sidebar nav (usually on the left)."
|
|
@@ -491,6 +607,10 @@
|
|
|
491
607
|
"defaultMessage": "تطبيق",
|
|
492
608
|
"description": "Primary button label inside a table's filter panel/popover; commits pending filter values. Imperative verb; pairs with `Reset`."
|
|
493
609
|
},
|
|
610
|
+
"@astryx.table.rowStatus.columnHeader": {
|
|
611
|
+
"defaultMessage": "حالة الصف",
|
|
612
|
+
"description": "Screen-reader-only column header for the narrow status-indicator gutter a Table gains from useTableRowStatus. Sighted users see a blank gutter; assistive tech announces this as the column name."
|
|
613
|
+
},
|
|
494
614
|
"@astryx.table.selection.selectAllRows": {
|
|
495
615
|
"defaultMessage": "تحديد جميع الصفوف",
|
|
496
616
|
"description": "Aria label for the \"select all rows\" checkbox in a Table header."
|
|
@@ -635,10 +755,50 @@
|
|
|
635
755
|
"defaultMessage": "مسح {label}",
|
|
636
756
|
"description": "Aria label for the clear-value button in DateInput / DateRangeInput / DateTimeInput. `{label}` is the field's own label so screen readers announce e.g. 'Clear Start date'."
|
|
637
757
|
},
|
|
758
|
+
"@astryx.dateInput.invalidDate": {
|
|
759
|
+
"defaultMessage": "تاريخ غير صالح",
|
|
760
|
+
"description": "Screen-reader-only live-region alert in DateInput / DateTimeInput when the typed date cannot be parsed. The field silently reverts on blur, so this is the only rejection feedback a screen-reader user gets."
|
|
761
|
+
},
|
|
762
|
+
"@astryx.dateInput.resetPicking": {
|
|
763
|
+
"defaultMessage": "إعادة تعيين",
|
|
764
|
+
"description": "Ghost button in the mobile date picker's header, at the trailing corner beside the month arrows. Removes the chosen date AND returns the calendar to the current month — it undoes the picking done so far and puts the picker back to how it opens, so prefer a word covering both, not one that only means emptying a field. Not cancel: the picker stays open afterwards and nothing is dismissed. Keep it short; it shares one line with the month title and two arrows."
|
|
765
|
+
},
|
|
766
|
+
"@astryx.dateInput.savePicking": {
|
|
767
|
+
"defaultMessage": "حفظ",
|
|
768
|
+
"description": "Full-width primary button that closes the mobile date picker, on the calendar. The date is already committed by the tap that chose it, so this only dismisses — but it is worded as saving because that is how the action reads to someone finishing a form. Use the word your platform uses for accepting and closing a sheet."
|
|
769
|
+
},
|
|
770
|
+
"@astryx.dateInput.doneChoosingMonth": {
|
|
771
|
+
"defaultMessage": "تم",
|
|
772
|
+
"description": "Full-width button under the month and year wheels in the mobile date picker. It does NOT close the picker — it returns to the calendar, having set the month. Word it as finishing this step, not as finishing the whole task; the calendar's own button is the one that closes."
|
|
773
|
+
},
|
|
774
|
+
"@astryx.dateInput.chooseMonthYear": {
|
|
775
|
+
"defaultMessage": "{monthYear}، اختر الشهر والسنة",
|
|
776
|
+
"description": "Accessible name for the mobile date picker's header button, which swaps the calendar for month and year wheels. {monthYear} is the currently shown month and year, already localized (e.g. \"March 2026\"). The whole label is one string so the separator and word order can change per locale."
|
|
777
|
+
},
|
|
778
|
+
"@astryx.dateInput.monthWheel": {
|
|
779
|
+
"defaultMessage": "الشهر",
|
|
780
|
+
"description": "Accessible name for the scrollable month column in the mobile date picker. Single word; a calendar month, not a duration."
|
|
781
|
+
},
|
|
782
|
+
"@astryx.dateInput.yearWheel": {
|
|
783
|
+
"defaultMessage": "السنة",
|
|
784
|
+
"description": "Accessible name for the scrollable year column in the mobile date picker. Single word; a calendar year, not a duration."
|
|
785
|
+
},
|
|
786
|
+
"@astryx.dateTimeInput.timeHint12h": {
|
|
787
|
+
"defaultMessage": "مثال: 2:30 م",
|
|
788
|
+
"description": "Placeholder hint shown in the DateTimeInput time field when focused and empty with 12-hour format. Gives an example of expected input format."
|
|
789
|
+
},
|
|
790
|
+
"@astryx.dateTimeInput.timeHint24h": {
|
|
791
|
+
"defaultMessage": "مثال: 14:30",
|
|
792
|
+
"description": "Placeholder hint shown in the DateTimeInput time field when focused and empty with 24-hour format. Gives an example of expected input format."
|
|
793
|
+
},
|
|
638
794
|
"@astryx.dateTimeInput.timeSuffix": {
|
|
639
795
|
"defaultMessage": "وقت {label}",
|
|
640
796
|
"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}\")."
|
|
641
797
|
},
|
|
798
|
+
"@astryx.dateTimeInput.timeOptionsLabel": {
|
|
799
|
+
"defaultMessage": "خيارات {label}",
|
|
800
|
+
"description": "Screen-reader-only accessible name for the list of preset times that drops down from a DateTimeInput's time slot. `{label}` is the accessible name of the time field itself, already ending in the word for time — example: `Meeting time options`. Plural: the list holds every selectable time."
|
|
801
|
+
},
|
|
642
802
|
"@astryx.dateRangeInput.placeholder": {
|
|
643
803
|
"defaultMessage": "حدّد نطاق التاريخ",
|
|
644
804
|
"description": "Grey placeholder inside an empty DateRangeInput field. Represents picking a start–end date pair. Imperative verb."
|
|
@@ -651,6 +811,54 @@
|
|
|
651
811
|
"defaultMessage": "حدّد تاريخًا",
|
|
652
812
|
"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."
|
|
653
813
|
},
|
|
814
|
+
"@astryx.dateTimeInput.dialogLabel": {
|
|
815
|
+
"defaultMessage": "اختر التاريخ والوقت",
|
|
816
|
+
"description": "Screen-reader-only accessible name for the DateTimeInput picker dialog. On desktop this labels the date calendar popover inside the date+time field; on touch devices it labels the full Date/Time bottom sheet."
|
|
817
|
+
},
|
|
818
|
+
"@astryx.dateTimeInput.pickerMode": {
|
|
819
|
+
"defaultMessage": "قسم التاريخ/الوقت",
|
|
820
|
+
"description": "Screen-reader-only label for the segmented Date/Time switch at the top of the mobile DateTimeInput bottom sheet."
|
|
821
|
+
},
|
|
822
|
+
"@astryx.dateTimeInput.dateTab": {
|
|
823
|
+
"defaultMessage": "التاريخ",
|
|
824
|
+
"description": "Visible label for the Date segment in the mobile DateTimeInput bottom sheet."
|
|
825
|
+
},
|
|
826
|
+
"@astryx.dateTimeInput.timeTab": {
|
|
827
|
+
"defaultMessage": "الوقت",
|
|
828
|
+
"description": "Visible label for the Time segment in the mobile DateTimeInput bottom sheet."
|
|
829
|
+
},
|
|
830
|
+
"@astryx.dateTimeInput.openTimePicker": {
|
|
831
|
+
"defaultMessage": "فتح {label}",
|
|
832
|
+
"description": "Aria label for the clock button in the mobile DateTimeInput closed time segment. `{label}` is the accessible name of the time input, for example `Meeting time`."
|
|
833
|
+
},
|
|
834
|
+
"@astryx.dateTimeInput.saveDatePicking": {
|
|
835
|
+
"defaultMessage": "حفظ التاريخ",
|
|
836
|
+
"description": "Primary button at the bottom of the Date panel in the mobile DateTimeInput bottom sheet. It does not close the sheet; it accepts the date step and moves to the Time panel. Use sentence case in English and title case only when appropriate for the locale."
|
|
837
|
+
},
|
|
838
|
+
"@astryx.dateTimeInput.hourWheel": {
|
|
839
|
+
"defaultMessage": "الساعة",
|
|
840
|
+
"description": "Accessible name for the hour wheel in the mobile DateTimeInput bottom sheet."
|
|
841
|
+
},
|
|
842
|
+
"@astryx.dateTimeInput.minuteWheel": {
|
|
843
|
+
"defaultMessage": "الدقيقة",
|
|
844
|
+
"description": "Accessible name for the minute wheel in the mobile DateTimeInput bottom sheet."
|
|
845
|
+
},
|
|
846
|
+
"@astryx.dateTimeInput.secondWheel": {
|
|
847
|
+
"defaultMessage": "الثانية",
|
|
848
|
+
"description": "Accessible name for the optional seconds wheel in the mobile DateTimeInput bottom sheet."
|
|
849
|
+
},
|
|
850
|
+
"@astryx.dateTimeInput.meridiemWheel": {
|
|
851
|
+
"defaultMessage": "ص/م",
|
|
852
|
+
"description": "Accessible name for the AM/PM wheel in the mobile DateTimeInput bottom sheet when using 12-hour time."
|
|
853
|
+
},
|
|
854
|
+
"@astryx.dateTimeInput.meridiemAM": {
|
|
855
|
+
"defaultMessage": "ص",
|
|
856
|
+
"description": "Label for the morning half of the AM/PM wheel in the mobile DateTimeInput bottom sheet. Use the locale's concise ante-meridiem marker."
|
|
857
|
+
},
|
|
858
|
+
"@astryx.dateTimeInput.meridiemPM": {
|
|
859
|
+
"defaultMessage": "م",
|
|
860
|
+
"description": "Label for the afternoon/evening half of the AM/PM wheel in the mobile DateTimeInput bottom sheet. Use the locale's concise post-meridiem marker."
|
|
861
|
+
},
|
|
654
862
|
"@astryx.link.newTab": {
|
|
655
863
|
"defaultMessage": "(يُفتح في علامة تبويب جديدة)",
|
|
656
864
|
"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)`."
|
|
@@ -699,10 +907,26 @@
|
|
|
699
907
|
"defaultMessage": "تنقل الجدول بين الصفحات",
|
|
700
908
|
"description": "Screen-reader-only accessible name for a table's pagination `<nav>` (rendered below and/or above the table per the plugin's position config). Kept separate from `@astryx.pagination.label` so translations may diverge. When position='both', this string is interpolated as the {label} value into `@astryx.table.pagination.labelAbove`/`labelBelow` — keep it compatible with those suffix templates."
|
|
701
909
|
},
|
|
910
|
+
"@astryx.table.pagination.labelAbove": {
|
|
911
|
+
"defaultMessage": "{label} (أعلى)",
|
|
912
|
+
"description": "Accessible name for the pagination `<nav>` rendered above the table when position='both' renders two navs. `label` is the resolved base label (default \"Table pagination\" or consumer-supplied); the suffix keeps the two same-type landmarks distinguishable."
|
|
913
|
+
},
|
|
914
|
+
"@astryx.table.pagination.labelBelow": {
|
|
915
|
+
"defaultMessage": "{label} (أسفل)",
|
|
916
|
+
"description": "Accessible name for the pagination `<nav>` rendered below the table when position='both' renders two navs. `label` is the resolved base label (default \"Table pagination\" or consumer-supplied); the suffix keeps the two same-type landmarks distinguishable."
|
|
917
|
+
},
|
|
702
918
|
"@astryx.timeInput.placeholder": {
|
|
703
919
|
"defaultMessage": "حدّد وقتًا",
|
|
704
920
|
"description": "\"Time\" = clock time (HH:MM), not duration or era. Grey placeholder inside an empty TimeInput field; imperative verb."
|
|
705
921
|
},
|
|
922
|
+
"@astryx.timeInput.invalidTime": {
|
|
923
|
+
"defaultMessage": "وقت غير صالح",
|
|
924
|
+
"description": "Screen-reader-only live-region alert in TimeInput / DateTimeInput when the typed time cannot be parsed. \"Time\" = clock time (HH:MM). The field silently reverts on blur, so this is the only rejection feedback a screen-reader user gets."
|
|
925
|
+
},
|
|
926
|
+
"@astryx.timeInput.openPicker": {
|
|
927
|
+
"defaultMessage": "فتح {label}",
|
|
928
|
+
"description": "Aria label for the clock button that opens TimeInput's browser/OS time picker. `{label}` is the field label, for example `Start time`."
|
|
929
|
+
},
|
|
706
930
|
"@astryx.topNav.heading.dialogLabel": {
|
|
707
931
|
"defaultMessage": "قائمة التنقل",
|
|
708
932
|
"description": "Screen-reader-only accessible name for the dropdown dialog opened from a TopNavHeading's overflow menu. Kept separate from the SideNav sibling."
|
|
@@ -723,6 +947,10 @@
|
|
|
723
947
|
"defaultMessage": "جارٍ التحميل",
|
|
724
948
|
"description": "Screen-reader-only live-region announcement while a Button is in its loading state (spinner shown, action in flight). Progressive sense (\"work in progress\"), not a noun. Kept separate from `typeahead.loading` — translations may diverge."
|
|
725
949
|
},
|
|
950
|
+
"@astryx.spinner.loading": {
|
|
951
|
+
"defaultMessage": "جارٍ التحميل",
|
|
952
|
+
"description": "Screen-reader-only default name for a standalone Spinner's role=\"status\" element, used when the consumer supplies neither `aria-label` nor a visible string label. Present-progressive form. Kept separate from `button.loading` and `typeahead.loading` — translations may diverge."
|
|
953
|
+
},
|
|
726
954
|
"@astryx.chatComposerDrawer.expand": {
|
|
727
955
|
"defaultMessage": "توسيع {label}",
|
|
728
956
|
"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`."
|
|
@@ -763,6 +991,22 @@
|
|
|
763
991
|
"defaultMessage": "خطأ: {message}",
|
|
764
992
|
"description": "Screen-reader text for a tool call that failed. {message} is the error detail."
|
|
765
993
|
},
|
|
994
|
+
"@astryx.chatToolCalls.status.pending": {
|
|
995
|
+
"defaultMessage": "قيد الانتظار",
|
|
996
|
+
"description": "Screen-reader-only status label for a tool call that is waiting to begin."
|
|
997
|
+
},
|
|
998
|
+
"@astryx.chatToolCalls.status.running": {
|
|
999
|
+
"defaultMessage": "قيد التنفيذ",
|
|
1000
|
+
"description": "Screen-reader-only status label for a tool call that is currently running."
|
|
1001
|
+
},
|
|
1002
|
+
"@astryx.chatToolCalls.status.complete": {
|
|
1003
|
+
"defaultMessage": "مكتمل",
|
|
1004
|
+
"description": "Screen-reader-only status label for a tool call that completed successfully."
|
|
1005
|
+
},
|
|
1006
|
+
"@astryx.chatToolCalls.status.error": {
|
|
1007
|
+
"defaultMessage": "فشل",
|
|
1008
|
+
"description": "Screen-reader-only status label for a failed tool call when no error detail is supplied."
|
|
1009
|
+
},
|
|
766
1010
|
"@astryx.chatToolCalls.groupLabel": {
|
|
767
1011
|
"defaultMessage": "{count} من استدعاءات الأدوات",
|
|
768
1012
|
"description": "Summary label shown in the group header when multiple tool calls are expanded. {count} is the number of calls."
|
|
@@ -799,6 +1043,38 @@
|
|
|
799
1043
|
"defaultMessage": "مسح {label}",
|
|
800
1044
|
"description": "Screen-reader-only label on the X that removes the selected file from a FileInput. Example: `Clear Attachment`, `Clear Résumé`."
|
|
801
1045
|
},
|
|
1046
|
+
"@astryx.fileInput.dropHint": {
|
|
1047
|
+
"defaultMessage": "أفلِت الملفات هنا",
|
|
1048
|
+
"description": "Text shown in the dropzone area when a user is dragging files over the FileInput."
|
|
1049
|
+
},
|
|
1050
|
+
"@astryx.fileInput.errorInvalidType": {
|
|
1051
|
+
"defaultMessage": "\"{fileName}\" ليس من أنواع الملفات المقبولة",
|
|
1052
|
+
"description": "Validation error shown when a selected file does not match the accepted types."
|
|
1053
|
+
},
|
|
1054
|
+
"@astryx.fileInput.errorMaxFiles": {
|
|
1055
|
+
"defaultMessage": "الحد الأقصى المسموح به للملفات هو {maxFiles}",
|
|
1056
|
+
"description": "Validation error shown when the number of selected files exceeds the maximum."
|
|
1057
|
+
},
|
|
1058
|
+
"@astryx.fileInput.errorMaxSize": {
|
|
1059
|
+
"defaultMessage": "يتجاوز \"{fileName}\" الحد الأقصى للحجم البالغ {maxSize}",
|
|
1060
|
+
"description": "Validation error shown when a selected file exceeds the maximum size. {maxSize} is a formatted size string like \"2.0 MB\"."
|
|
1061
|
+
},
|
|
1062
|
+
"@astryx.fileInput.fileSelected": {
|
|
1063
|
+
"defaultMessage": "تم تحديد ملف واحد: {fileName}",
|
|
1064
|
+
"description": "Live-region announcement when a single file is successfully selected."
|
|
1065
|
+
},
|
|
1066
|
+
"@astryx.fileInput.filesSelected": {
|
|
1067
|
+
"defaultMessage": "تم تحديد {count} من الملفات",
|
|
1068
|
+
"description": "Live-region announcement when multiple files are successfully selected."
|
|
1069
|
+
},
|
|
1070
|
+
"@astryx.fileInput.placeholder": {
|
|
1071
|
+
"defaultMessage": "اختر ملفًا",
|
|
1072
|
+
"description": "Default placeholder text shown when no file is selected in a single-file FileInput."
|
|
1073
|
+
},
|
|
1074
|
+
"@astryx.fileInput.placeholderMultiple": {
|
|
1075
|
+
"defaultMessage": "اختر ملفات",
|
|
1076
|
+
"description": "Default placeholder text shown when no files are selected in a multi-file FileInput."
|
|
1077
|
+
},
|
|
802
1078
|
"@astryx.fileInput.required": {
|
|
803
1079
|
"defaultMessage": "مطلوب",
|
|
804
1080
|
"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\"."
|
|
@@ -843,6 +1119,10 @@
|
|
|
843
1119
|
"defaultMessage": "مسح كل {label}",
|
|
844
1120
|
"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."
|
|
845
1121
|
},
|
|
1122
|
+
"@astryx.input.readOnly": {
|
|
1123
|
+
"defaultMessage": "للقراءة فقط",
|
|
1124
|
+
"description": "Screen-reader-only description appended to a read-only form control when the platform does not expose aria-readonly for that control's host element. Short state label, not an instruction."
|
|
1125
|
+
},
|
|
846
1126
|
"@astryx.input.statusButton.error": {
|
|
847
1127
|
"defaultMessage": "تفاصيل الخطأ",
|
|
848
1128
|
"description": "Accessible name for the focusable status icon button inside an input when statusVariant is 'tooltip' and the status type is error. Activating or focusing the button reveals the error message in a tooltip. Keep it short — it labels an icon-only button."
|
|
@@ -859,6 +1139,14 @@
|
|
|
859
1139
|
"defaultMessage": "مسح {label}",
|
|
860
1140
|
"description": "Screen-reader-only label on the X that clears the value from a NumberInput. Example: `Clear Age`, `Clear Quantity`."
|
|
861
1141
|
},
|
|
1142
|
+
"@astryx.numberInput.decrementLabel": {
|
|
1143
|
+
"defaultMessage": "إنقاص {label}",
|
|
1144
|
+
"description": "Accessible label for the NumberInput button that decreases the value by one configured step. Example: `Decrement Quantity`."
|
|
1145
|
+
},
|
|
1146
|
+
"@astryx.numberInput.incrementLabel": {
|
|
1147
|
+
"defaultMessage": "زيادة {label}",
|
|
1148
|
+
"description": "Accessible label for the NumberInput button that increases the value by one configured step. Example: `Increment Quantity`."
|
|
1149
|
+
},
|
|
862
1150
|
"@astryx.selector.clearLabel": {
|
|
863
1151
|
"defaultMessage": "مسح {label}",
|
|
864
1152
|
"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`."
|
|
@@ -879,6 +1167,10 @@
|
|
|
879
1167
|
"defaultMessage": "طيّ {label}",
|
|
880
1168
|
"description": "Screen-reader-only label on the same chevron when the group is expanded. Example: `Collapse Settings`. Pairs with `sideNavItem.expand`."
|
|
881
1169
|
},
|
|
1170
|
+
"@astryx.sideNavItem.submenuLabel": {
|
|
1171
|
+
"defaultMessage": "القائمة الفرعية لـ {label}",
|
|
1172
|
+
"description": "Accessible name for the flyout dialog that opens from a collapsed (icon-only) SideNav item to show its sub-items. {label} is the parent item's label. Example: `Settings submenu`."
|
|
1173
|
+
},
|
|
882
1174
|
"@astryx.tableFiltering.filterByColumn": {
|
|
883
1175
|
"defaultMessage": "تصفية {header}",
|
|
884
1176
|
"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."
|
|
@@ -899,6 +1191,10 @@
|
|
|
899
1191
|
"defaultMessage": "توسيع الصف",
|
|
900
1192
|
"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`."
|
|
901
1193
|
},
|
|
1194
|
+
"@astryx.tableRowExpansion.columnHeader": {
|
|
1195
|
+
"defaultMessage": "توسيع الصف",
|
|
1196
|
+
"description": "Screen-reader-only header for the leading column that holds the per-row expand/collapse chevrons. The column shows no visible label."
|
|
1197
|
+
},
|
|
902
1198
|
"@astryx.tableRowExpansion.collapseAllRows": {
|
|
903
1199
|
"defaultMessage": "طيّ جميع الصفوف",
|
|
904
1200
|
"description": "Screen-reader-only label on the same header button when every row is expanded. Part of the four-way set."
|
|
@@ -907,6 +1203,18 @@
|
|
|
907
1203
|
"defaultMessage": "توسيع جميع الصفوف",
|
|
908
1204
|
"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."
|
|
909
1205
|
},
|
|
1206
|
+
"@astryx.stepper.label": {
|
|
1207
|
+
"defaultMessage": "التقدّم",
|
|
1208
|
+
"description": "Screen-reader-only fallback name for the Stepper's ordered list of steps, describing the sequence as a whole (e.g. `Progress`). Used as the aria-label when the consumer does not pass a `label`. Singular per ARIA convention."
|
|
1209
|
+
},
|
|
1210
|
+
"@astryx.stepper.previousStep": {
|
|
1211
|
+
"defaultMessage": "الخطوة السابقة",
|
|
1212
|
+
"description": "Accessible name and tooltip for the button that moves a Stepper back one step. Only rendered when the stepper is narrow enough that step labels have collapsed, and only when the stepper is navigable at all."
|
|
1213
|
+
},
|
|
1214
|
+
"@astryx.stepper.nextStep": {
|
|
1215
|
+
"defaultMessage": "الخطوة التالية",
|
|
1216
|
+
"description": "Accessible name and tooltip for the button that moves a Stepper forward one step. Counterpart to `stepper.previousStep`; keep the two parallel."
|
|
1217
|
+
},
|
|
910
1218
|
"@astryx.step.goToStep": {
|
|
911
1219
|
"defaultMessage": "الانتقال إلى الخطوة {stepNumber, number}: {label}",
|
|
912
1220
|
"description": "Accessible name for a clickable step in the Stepper. {stepNumber} is the 1-based position, {label} is the step's visible label."
|
|
@@ -915,6 +1223,10 @@
|
|
|
915
1223
|
"defaultMessage": "الانتقال إلى الخطوة {stepNumber, number}: {label}، {status}",
|
|
916
1224
|
"description": "Accessible name for a clickable Stepper step that also carries a status. {status} is one of the translated `step.status.*` words (completed/warning/error). Keep the pattern parallel to `step.goToStep`."
|
|
917
1225
|
},
|
|
1226
|
+
"@astryx.step.optional": {
|
|
1227
|
+
"defaultMessage": "اختياري",
|
|
1228
|
+
"description": "Visible indicator appended after a Stepper step's label when the step is optional (isOptional). Very short; appears inline after the label text."
|
|
1229
|
+
},
|
|
918
1230
|
"@astryx.step.status.completed": {
|
|
919
1231
|
"defaultMessage": "مكتملة",
|
|
920
1232
|
"description": "Screen-reader-only status word rendered next to a Stepper step label when the step is done (either progress-completed or status=success). Lowercase adjective; it is read mid-sentence after the step label."
|
|
@@ -990,5 +1302,182 @@
|
|
|
990
1302
|
"@astryx.token.remove": {
|
|
991
1303
|
"defaultMessage": "إزالة {label}",
|
|
992
1304
|
"description": "Screen-reader-only label on the \"×\" on an individual Token/chip. Example: `Remove John Smith`, `Remove Active`. Imperative verb."
|
|
1305
|
+
},
|
|
1306
|
+
"@astryx.commandPalette.footer.navigate": {
|
|
1307
|
+
"defaultMessage": "التنقل",
|
|
1308
|
+
"description": "Keyboard hint in the CommandPalette footer, paired with up/down arrow key icons. Tells users arrow keys move between items."
|
|
1309
|
+
},
|
|
1310
|
+
"@astryx.commandPalette.footer.select": {
|
|
1311
|
+
"defaultMessage": "تحديد",
|
|
1312
|
+
"description": "Keyboard hint in the CommandPalette footer, paired with the Enter key icon. Tells users Enter activates the highlighted item."
|
|
1313
|
+
},
|
|
1314
|
+
"@astryx.commandPalette.footer.close": {
|
|
1315
|
+
"defaultMessage": "إغلاق",
|
|
1316
|
+
"description": "Keyboard hint in the CommandPalette footer, paired with the Escape key icon. Tells users Escape dismisses the palette."
|
|
1317
|
+
},
|
|
1318
|
+
"@astryx.multiSelector.selectionCleared": {
|
|
1319
|
+
"defaultMessage": "تم مسح التحديد",
|
|
1320
|
+
"description": "Polite screen-reader announcement after the last selected option in a MultiSelector is deselected. Live-region text, never shown on screen; past participle (\"has been cleared\")."
|
|
1321
|
+
},
|
|
1322
|
+
"@astryx.multiSelector.allSelected": {
|
|
1323
|
+
"defaultMessage": "تم تحديد الكل",
|
|
1324
|
+
"description": "Polite screen-reader announcement after every option in a MultiSelector becomes selected. Live-region text, never shown on screen; \"all\" is a determiner (as in \"all the options\")."
|
|
1325
|
+
},
|
|
1326
|
+
"@astryx.multiSelector.selectionCount": {
|
|
1327
|
+
"defaultMessage": "تم تحديد {count, number} من {total, number}",
|
|
1328
|
+
"description": "Polite screen-reader announcement of how many MultiSelector options are selected out of the total, spoken after each toggle. Live-region text, never shown on screen; example: `3 of 12 selected`."
|
|
1329
|
+
},
|
|
1330
|
+
"@astryx.multiSelector.emptySearchResults": {
|
|
1331
|
+
"defaultMessage": "لم يُعثر على نتائج",
|
|
1332
|
+
"description": "Shown in a MultiSelector's dropdown panel when the search query matches no options, and announced in a polite live region at the same time. Short; neutral tone (not error-y)."
|
|
1333
|
+
},
|
|
1334
|
+
"@astryx.multiSelector.resultCount": {
|
|
1335
|
+
"defaultMessage": "{count, number} {count, plural, zero {نتائج} one {نتيجة} two {نتيجتان} few {نتائج} many {نتيجةً} other {نتيجة}}",
|
|
1336
|
+
"description": "Polite screen-reader announcement of how many MultiSelector options match the search query, spoken as the user types. Live-region text, never shown on screen; example: `1 result`, `12 results`."
|
|
1337
|
+
},
|
|
1338
|
+
"@astryx.selector.emptySearchResults": {
|
|
1339
|
+
"defaultMessage": "لم يُعثر على نتائج",
|
|
1340
|
+
"description": "Shown in a Selector's dropdown panel when the search query matches no options, and announced in a polite live region at the same time. Short; neutral tone (not error-y)."
|
|
1341
|
+
},
|
|
1342
|
+
"@astryx.selector.resultCount": {
|
|
1343
|
+
"defaultMessage": "{count, number} {count, plural, zero {نتائج} one {نتيجة} two {نتيجتان} few {نتائج} many {نتيجةً} other {نتيجة}}",
|
|
1344
|
+
"description": "Polite screen-reader announcement of how many Selector options match the search query, spoken as the user types. Live-region text, never shown on screen; example: `1 result`, `12 results`."
|
|
1345
|
+
},
|
|
1346
|
+
"@astryx.typeahead.resultCount": {
|
|
1347
|
+
"defaultMessage": "{count, number} {count, plural, zero {نتائج} one {نتيجة} two {نتيجتان} few {نتائج} many {نتيجةً} other {نتيجة}}",
|
|
1348
|
+
"description": "Polite screen-reader announcement of how many suggestions a Typeahead search returned. Live-region text, never shown on screen; example: `1 result`, `12 results`."
|
|
1349
|
+
},
|
|
1350
|
+
"@astryx.tokenizer.tokenAdded": {
|
|
1351
|
+
"defaultMessage": "تمت إضافة {label}",
|
|
1352
|
+
"description": "Polite screen-reader announcement after a token is added to a Tokenizer, either picked from the suggestions or newly created. Live-region text, never shown on screen; `{label}` is the token's visible text."
|
|
1353
|
+
},
|
|
1354
|
+
"@astryx.tokenizer.tokenRemoved": {
|
|
1355
|
+
"defaultMessage": "تمت إزالة {label}",
|
|
1356
|
+
"description": "Polite screen-reader announcement after a token is removed from a Tokenizer, by its × button or by Backspace. Live-region text, never shown on screen; `{label}` is the token's visible text."
|
|
1357
|
+
},
|
|
1358
|
+
"@astryx.lightbox.imagePosition": {
|
|
1359
|
+
"defaultMessage": "الصورة {index, number} من {total, number}",
|
|
1360
|
+
"description": "Polite screen-reader announcement when a Lightbox moves to a media item that has no alt text. Live-region text, never shown on screen; `{index}` is 1-based, example: `Image 3 of 12`."
|
|
1361
|
+
},
|
|
1362
|
+
"@astryx.lightbox.mediaPosition": {
|
|
1363
|
+
"defaultMessage": "{alt}، {index, number} من {total, number}",
|
|
1364
|
+
"description": "Polite screen-reader announcement when a Lightbox moves to a media item that has alt text, composing that alt with the item's position. Live-region text, never shown on screen; example: `Sunset over the bay, 3 of 12`."
|
|
1365
|
+
},
|
|
1366
|
+
"@astryx.transferList.selectedLabel": {
|
|
1367
|
+
"defaultMessage": "الخيارات المحدَّدة",
|
|
1368
|
+
"description": "Default heading above the right-hand panel of a lab TransferList, which holds the options the user has chosen. Consumers usually override this with a domain noun (e.g. \"Shown columns\")."
|
|
1369
|
+
},
|
|
1370
|
+
"@astryx.transferList.availableLabel": {
|
|
1371
|
+
"defaultMessage": "الخيارات المتاحة",
|
|
1372
|
+
"description": "Default heading above the left-hand panel of a lab TransferList, which holds the options not yet chosen. Consumers usually override this with a domain noun (e.g. \"Hidden columns\")."
|
|
1373
|
+
},
|
|
1374
|
+
"@astryx.transferList.ungroupedLabel": {
|
|
1375
|
+
"defaultMessage": "أخرى",
|
|
1376
|
+
"description": "Heading for the bucket of available options that have no `group` set, shown only when some options are grouped and some are not so the ungrouped ones still have a heading."
|
|
1377
|
+
},
|
|
1378
|
+
"@astryx.transferList.searchPlaceholder": {
|
|
1379
|
+
"defaultMessage": "بحث…",
|
|
1380
|
+
"description": "Placeholder in the single search field that filters both panels of a lab TransferList. Same English as `selector.searchPlaceholder` but a separate key so it can be phrased for two lists."
|
|
1381
|
+
},
|
|
1382
|
+
"@astryx.transferList.searchLabel": {
|
|
1383
|
+
"defaultMessage": "بحث في {label}",
|
|
1384
|
+
"description": "Screen-reader-only label on the search field of a lab TransferList, naming what is being searched. `{label}` is the component's own label (e.g. \"Search Table columns\")."
|
|
1385
|
+
},
|
|
1386
|
+
"@astryx.transferList.selectedEmpty": {
|
|
1387
|
+
"defaultMessage": "لا توجد خيارات محدَّدة",
|
|
1388
|
+
"description": "Message shown inside the selected panel of a lab TransferList when the user has chosen nothing yet."
|
|
1389
|
+
},
|
|
1390
|
+
"@astryx.transferList.availableEmpty": {
|
|
1391
|
+
"defaultMessage": "لا توجد خيارات متاحة",
|
|
1392
|
+
"description": "Message shown inside the available panel of a lab TransferList when every option has already been moved to the selected panel."
|
|
1393
|
+
},
|
|
1394
|
+
"@astryx.transferList.noResults": {
|
|
1395
|
+
"defaultMessage": "لا توجد نتائج",
|
|
1396
|
+
"description": "Message shown inside either panel of a lab TransferList when the search query matches nothing in that panel."
|
|
1397
|
+
},
|
|
1398
|
+
"@astryx.transferList.clear": {
|
|
1399
|
+
"defaultMessage": "مسح",
|
|
1400
|
+
"description": "Label on the bulk action in a lab TransferList's selected-panel header that removes every option that is allowed to be removed. Locked options stay."
|
|
1401
|
+
},
|
|
1402
|
+
"@astryx.transferList.addAll": {
|
|
1403
|
+
"defaultMessage": "إضافة الكل",
|
|
1404
|
+
"description": "Label on the bulk action in a lab TransferList's available-panel header that moves every remaining option into the selected panel."
|
|
1405
|
+
},
|
|
1406
|
+
"@astryx.transferList.addOption": {
|
|
1407
|
+
"defaultMessage": "إضافة {label}",
|
|
1408
|
+
"description": "Accessible label on the per-row + button that moves one option into the selected panel of a lab TransferList. `{label}` is that option's visible text (e.g. \"Add Owner\")."
|
|
1409
|
+
},
|
|
1410
|
+
"@astryx.transferList.removeOption": {
|
|
1411
|
+
"defaultMessage": "إزالة {label}",
|
|
1412
|
+
"description": "Accessible label on the per-row × button that moves one option out of the selected panel of a lab TransferList. `{label}` is that option's visible text (e.g. \"Remove Name\")."
|
|
1413
|
+
},
|
|
1414
|
+
"@astryx.transferList.reorderOption": {
|
|
1415
|
+
"defaultMessage": "إعادة ترتيب {label}",
|
|
1416
|
+
"description": "Accessible label on the per-row drag handle that reorders one option within the selected panel of a lab TransferList. `{label}` is that option's visible text (e.g. \"Reorder Name\")."
|
|
1417
|
+
},
|
|
1418
|
+
"@astryx.transferList.transferDisabled": {
|
|
1419
|
+
"defaultMessage": "لا يمكن نقل {label}",
|
|
1420
|
+
"description": "Default tooltip explaining why a locked option in a lab TransferList cannot be transferred between panels. `{label}` is the option's visible text. Consumers may override per option."
|
|
1421
|
+
},
|
|
1422
|
+
"@astryx.transferList.reorderDisabled": {
|
|
1423
|
+
"defaultMessage": "لا يمكن إعادة ترتيب {label}",
|
|
1424
|
+
"description": "Default tooltip explaining why a locked option in a lab TransferList cannot be moved within the selected panel. `{label}` is the option's visible text. Consumers may override per option."
|
|
1425
|
+
},
|
|
1426
|
+
"@astryx.transferList.reorderInstructions": {
|
|
1427
|
+
"defaultMessage": "اضغط على Space أو Enter لالتقاط عنصر. استخدم Arrow Up أو Arrow Down أو Home أو End لتحريكه. اضغط على Space أو Enter للإفلات، أو Escape للإلغاء.",
|
|
1428
|
+
"description": "Screen-reader-only instructions describing the keyboard reorder contract, referenced by every drag handle in a lab TransferList. Never shown on screen. Name the actual keys your locale's users press."
|
|
1429
|
+
},
|
|
1430
|
+
"@astryx.transferList.announceAdded": {
|
|
1431
|
+
"defaultMessage": "تمت إضافة {label}. تم تحديد {count, number} {count, plural, zero {عناصر} one {عنصر} two {عنصران} few {عناصر} many {عنصرًا} other {عنصر}}.",
|
|
1432
|
+
"description": "Polite screen-reader announcement after one option moves into the selected panel of a lab TransferList. Live-region text, never shown on screen; `{label}` is the option's visible text and `{count}` is the new selected total."
|
|
1433
|
+
},
|
|
1434
|
+
"@astryx.transferList.announceRemoved": {
|
|
1435
|
+
"defaultMessage": "تمت إزالة {label}. تم تحديد {count, number} {count, plural, zero {عناصر} one {عنصر} two {عنصران} few {عناصر} many {عنصرًا} other {عنصر}}.",
|
|
1436
|
+
"description": "Polite screen-reader announcement after one option moves out of the selected panel of a lab TransferList. Live-region text, never shown on screen; `{label}` is the option's visible text and `{count}` is the new selected total."
|
|
1437
|
+
},
|
|
1438
|
+
"@astryx.transferList.announceBulkAdded": {
|
|
1439
|
+
"defaultMessage": "تمت إضافة {count, number} {count, plural, zero {عناصر} one {عنصر} two {عنصران} few {عناصر} many {عنصرًا} other {عنصر}}.",
|
|
1440
|
+
"description": "Polite screen-reader announcement after the Add all bulk action in a lab TransferList. Live-region text, never shown on screen; `{count}` is how many options moved."
|
|
1441
|
+
},
|
|
1442
|
+
"@astryx.transferList.announceBulkRemoved": {
|
|
1443
|
+
"defaultMessage": "تمت إزالة {count, number} {count, plural, zero {عناصر} one {عنصر} two {عنصران} few {عناصر} many {عنصرًا} other {عنصر}}.",
|
|
1444
|
+
"description": "Polite screen-reader announcement after the Clear bulk action in a lab TransferList. Live-region text, never shown on screen; `{count}` is how many options moved."
|
|
1445
|
+
},
|
|
1446
|
+
"@astryx.transferList.announceGrabbed": {
|
|
1447
|
+
"defaultMessage": "تم التقاط {label}، في الموضع {position, number} من {total, number}. استخدم مفاتيح الأسهم للتحريك، وSpace أو Enter للإفلات، أو Escape للإلغاء.",
|
|
1448
|
+
"description": "Polite screen-reader announcement when a lab TransferList row enters keyboard reorder mode. Live-region text, never shown on screen; `{position}` is 1-based within the selected panel."
|
|
1449
|
+
},
|
|
1450
|
+
"@astryx.transferList.announceMoveCancelled": {
|
|
1451
|
+
"defaultMessage": "تم إلغاء نقل {label}.",
|
|
1452
|
+
"description": "Polite screen-reader announcement when a lab TransferList reorder is abandoned with Escape or a cancelled pointer drag, restoring the original order. Live-region text, never shown on screen."
|
|
1453
|
+
},
|
|
1454
|
+
"@astryx.transferList.announceDropped": {
|
|
1455
|
+
"defaultMessage": "تم إفلات {label} في الموضع {position, number} من {total, number}.",
|
|
1456
|
+
"description": "Polite screen-reader announcement when a lab TransferList reorder commits at a new position. Live-region text, never shown on screen; `{position}` is 1-based within the selected panel."
|
|
1457
|
+
},
|
|
1458
|
+
"@astryx.transferList.announceReturned": {
|
|
1459
|
+
"defaultMessage": "تمت إعادة {label} إلى الموضع {position, number}.",
|
|
1460
|
+
"description": "Polite screen-reader announcement when a lab TransferList pointer drag ends where it began, so the order did not change. Live-region text, never shown on screen; `{position}` is 1-based."
|
|
1461
|
+
},
|
|
1462
|
+
"@astryx.transferList.announceMovedToPosition": {
|
|
1463
|
+
"defaultMessage": "{label}، في الموضع {position, number} من {total, number}.",
|
|
1464
|
+
"description": "Polite screen-reader announcement after each arrow-key step of an in-progress lab TransferList reorder. Live-region text, never shown on screen; `{position}` is 1-based within the selected panel."
|
|
1465
|
+
},
|
|
1466
|
+
"@astryx.transferList.announceSearchResults": {
|
|
1467
|
+
"defaultMessage": "تم العثور على {count, number} {count, plural, zero {عناصر} one {عنصر} two {عنصران} few {عناصر} many {عنصرًا} other {عنصر}}.",
|
|
1468
|
+
"description": "Polite screen-reader announcement of how many options a lab TransferList search matched across both panels. Live-region text, never shown on screen."
|
|
1469
|
+
},
|
|
1470
|
+
"@astryx.transferListSelector.apply": {
|
|
1471
|
+
"defaultMessage": "تطبيق",
|
|
1472
|
+
"description": "Label on the button that commits the staged draft of a lab TransferListSelector and closes it. Only rendered in staged commit mode."
|
|
1473
|
+
},
|
|
1474
|
+
"@astryx.transferListSelector.cancel": {
|
|
1475
|
+
"defaultMessage": "إلغاء",
|
|
1476
|
+
"description": "Label on the button that discards the staged draft of a lab TransferListSelector and closes it. Only rendered in staged commit mode."
|
|
1477
|
+
},
|
|
1478
|
+
"@astryx.transferListSelector.triggerLabel": {
|
|
1479
|
+
"defaultMessage": "تم تحديد {count, number}",
|
|
1480
|
+
"description": "Default summary on the closed trigger of a lab TransferListSelector, stating how many options are currently chosen. Consumers usually override this with a domain phrase (e.g. \"7 columns\")."
|
|
993
1481
|
}
|
|
994
1482
|
}
|
|
1483
|
+
|