@eocrm/design-system 0.0.0-stage → 0.6.18
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/AI-PRIMER.md +341 -0
- package/LICENSE +202 -0
- package/README.md +266 -2
- package/docs/components/Accordion.md +114 -0
- package/docs/components/AgentAvatar.md +58 -0
- package/docs/components/Alert.md +81 -0
- package/docs/components/AppLayout.md +70 -0
- package/docs/components/Avatar.md +49 -0
- package/docs/components/AvatarGroup.md +47 -0
- package/docs/components/Badge.md +60 -0
- package/docs/components/Banner.md +89 -0
- package/docs/components/BrandIcon.md +32 -0
- package/docs/components/Breadcrumb.md +72 -0
- package/docs/components/Button.md +107 -0
- package/docs/components/ButtonGroup.md +78 -0
- package/docs/components/Calendar.md +158 -0
- package/docs/components/Card.md +165 -0
- package/docs/components/CatalogPicker.md +83 -0
- package/docs/components/Chart.md +114 -0
- package/docs/components/ChatBubble.md +55 -0
- package/docs/components/ChatLauncher.md +97 -0
- package/docs/components/Checkbox.md +55 -0
- package/docs/components/CircularProgress.md +53 -0
- package/docs/components/Cluster.md +96 -0
- package/docs/components/Code.md +35 -0
- package/docs/components/CodeBlock.md +67 -0
- package/docs/components/ColorPicker.md +115 -0
- package/docs/components/ConfirmationPopover.md +70 -0
- package/docs/components/Constrain.md +39 -0
- package/docs/components/CurrencySelect.md +57 -0
- package/docs/components/CursorPagination.md +43 -0
- package/docs/components/DashboardCanvas.md +79 -0
- package/docs/components/DashboardWidget.md +131 -0
- package/docs/components/DataTable.md +88 -0
- package/docs/components/DatePicker.md +68 -0
- package/docs/components/DateRangePicker.md +71 -0
- package/docs/components/DateStrip.md +56 -0
- package/docs/components/DefinitionList.md +82 -0
- package/docs/components/Divider.md +57 -0
- package/docs/components/Dot.md +26 -0
- package/docs/components/Drawer.md +94 -0
- package/docs/components/DropdownMenu.md +299 -0
- package/docs/components/EmojiPicker.md +84 -0
- package/docs/components/EmptyState.md +55 -0
- package/docs/components/EntityChip.md +102 -0
- package/docs/components/ErrorState.md +72 -0
- package/docs/components/Field.md +91 -0
- package/docs/components/FileUpload.md +109 -0
- package/docs/components/FilterChip.md +88 -0
- package/docs/components/FlowCanvas.md +108 -0
- package/docs/components/FormRow.md +31 -0
- package/docs/components/FormSection.md +37 -0
- package/docs/components/Grid.md +103 -0
- package/docs/components/Highlight.md +75 -0
- package/docs/components/HighlightedText.md +50 -0
- package/docs/components/IconPicker.md +134 -0
- package/docs/components/IconTile.md +30 -0
- package/docs/components/Image.md +84 -0
- package/docs/components/ImageCrop.md +163 -0
- package/docs/components/Indent.md +31 -0
- package/docs/components/InlineDatePicker.md +58 -0
- package/docs/components/InlineDateRangePicker.md +57 -0
- package/docs/components/Input.md +54 -0
- package/docs/components/Kanban.md +122 -0
- package/docs/components/Kbd.md +41 -0
- package/docs/components/Lightbox.md +105 -0
- package/docs/components/Link.md +65 -0
- package/docs/components/LinkCard.md +41 -0
- package/docs/components/LiquidEditor.md +84 -0
- package/docs/components/List.md +68 -0
- package/docs/components/LiveRegion.md +29 -0
- package/docs/components/LocaleProvider.md +25 -0
- package/docs/components/Logo.md +41 -0
- package/docs/components/Masonry.md +48 -0
- package/docs/components/MediaTile.md +95 -0
- package/docs/components/Modal.md +107 -0
- package/docs/components/MoneyInput.md +62 -0
- package/docs/components/OptionsPicker.md +123 -0
- package/docs/components/OtpInput.md +65 -0
- package/docs/components/Page.md +35 -0
- package/docs/components/PageHeader.md +133 -0
- package/docs/components/Pagination.md +44 -0
- package/docs/components/Palette.md +32 -0
- package/docs/components/PasswordInput.md +45 -0
- package/docs/components/PasswordStrengthMeter.md +27 -0
- package/docs/components/PersonDisplay.md +153 -0
- package/docs/components/PhoneInput.md +54 -0
- package/docs/components/PillMenu.md +91 -0
- package/docs/components/Popover.md +127 -0
- package/docs/components/Progress.md +56 -0
- package/docs/components/QrCode.md +34 -0
- package/docs/components/Radio.md +37 -0
- package/docs/components/RadioGroup.md +56 -0
- package/docs/components/Rail.md +191 -0
- package/docs/components/RelativeDateInput.md +114 -0
- package/docs/components/RichText.md +44 -0
- package/docs/components/RichTextEditor.md +112 -0
- package/docs/components/Screen.md +37 -0
- package/docs/components/ScrollArea.md +39 -0
- package/docs/components/Select.md +131 -0
- package/docs/components/SettingRow.md +98 -0
- package/docs/components/Skeleton.md +68 -0
- package/docs/components/Slider.md +92 -0
- package/docs/components/SlotGrid.md +55 -0
- package/docs/components/SocialButton.md +31 -0
- package/docs/components/Sortable.md +127 -0
- package/docs/components/SortableGroup.md +52 -0
- package/docs/components/Sparkline.md +51 -0
- package/docs/components/Split.md +76 -0
- package/docs/components/Stack.md +59 -0
- package/docs/components/StagePath.md +66 -0
- package/docs/components/StatGroup.md +61 -0
- package/docs/components/StatTile.md +58 -0
- package/docs/components/Sticky.md +69 -0
- package/docs/components/Switch.md +89 -0
- package/docs/components/Table.md +184 -0
- package/docs/components/TableOfContents.md +76 -0
- package/docs/components/Tabs.md +94 -0
- package/docs/components/Text.md +63 -0
- package/docs/components/Textarea.md +59 -0
- package/docs/components/Thread.md +52 -0
- package/docs/components/TimeField.md +70 -0
- package/docs/components/Timeline.md +57 -0
- package/docs/components/Title.md +54 -0
- package/docs/components/ToastViewport.md +61 -0
- package/docs/components/Tooltip.md +63 -0
- package/docs/components/TopBar.md +214 -0
- package/docs/components/Tour.md +85 -0
- package/docs/components/TreeView.md +113 -0
- package/docs/components/VisuallyHidden.md +43 -0
- package/docs/components/WidgetPreview.md +54 -0
- package/docs/components/useBelowBreakpoint.md +11 -0
- package/docs/components/useMonth.md +18 -0
- package/docs/setup.md +51 -0
- package/docs/theming.md +95 -0
- package/docs/tokens.md +123 -0
- package/docs/transient-state.md +56 -0
- package/package.json +86 -4
- package/src/_meta/manifest.ts +293 -0
- package/src/app/AppProvider.tsx +78 -0
- package/src/app/index.ts +3 -0
- package/src/app/themeTokens.ts +95 -0
- package/src/calendar/dateMath.ts +114 -0
- package/src/calendar/formatters.ts +75 -0
- package/src/calendar/index.ts +39 -0
- package/src/calendar/types.ts +36 -0
- package/src/calendar/useAgenda.ts +70 -0
- package/src/calendar/useDay.ts +51 -0
- package/src/calendar/useMonth.ts +82 -0
- package/src/calendar/useWeek.ts +62 -0
- package/src/calendar/weekInfo.ts +83 -0
- package/src/components/Accordion/Accordion.module.scss +304 -0
- package/src/components/Accordion/Accordion.tokens.scss +64 -0
- package/src/components/Accordion/Accordion.tsx +272 -0
- package/src/components/Accordion/AccordionContent.tsx +36 -0
- package/src/components/Accordion/AccordionItem.tsx +66 -0
- package/src/components/Accordion/AccordionTrigger.tsx +121 -0
- package/src/components/Accordion/context.ts +47 -0
- package/src/components/Accordion/index.ts +14 -0
- package/src/components/Alert/Alert.module.scss +92 -0
- package/src/components/Alert/Alert.tokens.scss +60 -0
- package/src/components/Alert/Alert.tsx +136 -0
- package/src/components/Alert/index.ts +2 -0
- package/src/components/AppLayout/AppLayout.module.scss +130 -0
- package/src/components/AppLayout/AppLayout.tokens.scss +27 -0
- package/src/components/AppLayout/AppLayout.tsx +211 -0
- package/src/components/AppLayout/index.ts +2 -0
- package/src/components/Avatar/AgentAvatar.module.scss +117 -0
- package/src/components/Avatar/AgentAvatar.tsx +122 -0
- package/src/components/Avatar/Avatar.module.scss +181 -0
- package/src/components/Avatar/Avatar.tokens.scss +107 -0
- package/src/components/Avatar/Avatar.tsx +210 -0
- package/src/components/Avatar/AvatarGroup.module.scss +128 -0
- package/src/components/Avatar/AvatarGroup.tsx +119 -0
- package/src/components/Avatar/AvatarGroupContext.tsx +20 -0
- package/src/components/Avatar/index.ts +6 -0
- package/src/components/Badge/Badge.module.scss +124 -0
- package/src/components/Badge/Badge.tokens.scss +74 -0
- package/src/components/Badge/Badge.tsx +164 -0
- package/src/components/Badge/index.ts +2 -0
- package/src/components/Banner/Banner.module.scss +73 -0
- package/src/components/Banner/Banner.tokens.scss +51 -0
- package/src/components/Banner/Banner.tsx +138 -0
- package/src/components/Banner/index.ts +2 -0
- package/src/components/BrandIcon/BrandIcon.module.scss +5 -0
- package/src/components/BrandIcon/BrandIcon.tsx +99 -0
- package/src/components/BrandIcon/index.ts +2 -0
- package/src/components/Breadcrumb/Breadcrumb.module.scss +32 -0
- package/src/components/Breadcrumb/Breadcrumb.tokens.scss +9 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +146 -0
- package/src/components/Breadcrumb/index.ts +2 -0
- package/src/components/Button/Button.module.scss +167 -0
- package/src/components/Button/Button.tokens.scss +90 -0
- package/src/components/Button/Button.tsx +205 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/ButtonGroup/ButtonGroup.module.scss +134 -0
- package/src/components/ButtonGroup/ButtonGroup.tokens.scss +42 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +278 -0
- package/src/components/ButtonGroup/ButtonGroupItem.tsx +74 -0
- package/src/components/ButtonGroup/context.ts +45 -0
- package/src/components/ButtonGroup/index.ts +2 -0
- package/src/components/Calendar/AgendaView.module.scss +231 -0
- package/src/components/Calendar/AgendaView.tsx +214 -0
- package/src/components/Calendar/AllDayBand.module.scss +18 -0
- package/src/components/Calendar/AllDayBand.tsx +75 -0
- package/src/components/Calendar/Calendar.module.scss +23 -0
- package/src/components/Calendar/Calendar.tokens.scss +262 -0
- package/src/components/Calendar/Calendar.tsx +370 -0
- package/src/components/Calendar/DayCell.module.scss +30 -0
- package/src/components/Calendar/DayCell.tsx +50 -0
- package/src/components/Calendar/DayView.module.scss +10 -0
- package/src/components/Calendar/DayView.tsx +163 -0
- package/src/components/Calendar/EventChip.module.scss +171 -0
- package/src/components/Calendar/EventChip.tsx +115 -0
- package/src/components/Calendar/HourGrid.module.scss +123 -0
- package/src/components/Calendar/HourGrid.tsx +381 -0
- package/src/components/Calendar/MonthView.module.scss +99 -0
- package/src/components/Calendar/MonthView.tsx +296 -0
- package/src/components/Calendar/TimedEvent.module.scss +205 -0
- package/src/components/Calendar/TimedEvent.tsx +247 -0
- package/src/components/Calendar/ViewSwitcher.module.scss +3 -0
- package/src/components/Calendar/ViewSwitcher.tsx +47 -0
- package/src/components/Calendar/WeekView.module.scss +10 -0
- package/src/components/Calendar/WeekView.tsx +137 -0
- package/src/components/Calendar/eventColor.ts +60 -0
- package/src/components/Calendar/index.ts +18 -0
- package/src/components/Calendar/types.ts +451 -0
- package/src/components/Calendar/useEventDrag.ts +783 -0
- package/src/components/Calendar/utils.ts +622 -0
- package/src/components/Card/Card.module.scss +264 -0
- package/src/components/Card/Card.tokens.scss +55 -0
- package/src/components/Card/Card.tsx +170 -0
- package/src/components/Card/CardBody.tsx +45 -0
- package/src/components/Card/CardHeader.tsx +113 -0
- package/src/components/Card/CardList.tsx +24 -0
- package/src/components/Card/CardListRow.tsx +24 -0
- package/src/components/Card/index.ts +7 -0
- package/src/components/CatalogPicker/CatalogPicker.module.scss +193 -0
- package/src/components/CatalogPicker/CatalogPicker.tokens.scss +26 -0
- package/src/components/CatalogPicker/CatalogPicker.tsx +339 -0
- package/src/components/CatalogPicker/index.ts +2 -0
- package/src/components/Chart/Chart.module.scss +287 -0
- package/src/components/Chart/Chart.tokens.scss +63 -0
- package/src/components/Chart/Chart.tsx +607 -0
- package/src/components/Chart/ChartLegend.tsx +99 -0
- package/src/components/Chart/ChartTable.tsx +62 -0
- package/src/components/Chart/ChartTooltip.tsx +91 -0
- package/src/components/Chart/chartModel.ts +689 -0
- package/src/components/Chart/index.ts +2 -0
- package/src/components/ChatBubble/ChatBubble.module.scss +93 -0
- package/src/components/ChatBubble/ChatBubble.tokens.scss +17 -0
- package/src/components/ChatBubble/ChatBubble.tsx +61 -0
- package/src/components/ChatBubble/ChatBubbleList.tsx +27 -0
- package/src/components/ChatBubble/index.ts +3 -0
- package/src/components/ChatLauncher/ChatLauncher.module.scss +68 -0
- package/src/components/ChatLauncher/ChatLauncher.tokens.scss +27 -0
- package/src/components/ChatLauncher/ChatLauncher.tsx +202 -0
- package/src/components/ChatLauncher/index.ts +2 -0
- package/src/components/ChatLauncher/isAtBottom.ts +12 -0
- package/src/components/Checkbox/Checkbox.module.scss +147 -0
- package/src/components/Checkbox/Checkbox.tokens.scss +44 -0
- package/src/components/Checkbox/Checkbox.tsx +188 -0
- package/src/components/Checkbox/index.ts +2 -0
- package/src/components/CircularProgress/CircularProgress.module.scss +133 -0
- package/src/components/CircularProgress/CircularProgress.tokens.scss +40 -0
- package/src/components/CircularProgress/CircularProgress.tsx +139 -0
- package/src/components/CircularProgress/index.ts +7 -0
- package/src/components/Cluster/Cluster.module.scss +145 -0
- package/src/components/Cluster/Cluster.tokens.scss +11 -0
- package/src/components/Cluster/Cluster.tsx +215 -0
- package/src/components/Cluster/index.ts +2 -0
- package/src/components/Code/Code.module.scss +28 -0
- package/src/components/Code/Code.tokens.scss +15 -0
- package/src/components/Code/Code.tsx +44 -0
- package/src/components/Code/index.ts +2 -0
- package/src/components/CodeBlock/CodeBlock.module.scss +146 -0
- package/src/components/CodeBlock/CodeBlock.tokens.scss +27 -0
- package/src/components/CodeBlock/CodeBlock.tsx +274 -0
- package/src/components/CodeBlock/highlight.ts +179 -0
- package/src/components/CodeBlock/index.ts +8 -0
- package/src/components/CodeBlock/sampleSync.ts +42 -0
- package/src/components/ColorPicker/ColorPicker.module.scss +286 -0
- package/src/components/ColorPicker/ColorPicker.tokens.scss +60 -0
- package/src/components/ColorPicker/ColorPicker.tsx +367 -0
- package/src/components/ColorPicker/ColorPickerPanel.tsx +265 -0
- package/src/components/ColorPicker/SVSquare.tsx +189 -0
- package/src/components/ColorPicker/colorMath.ts +141 -0
- package/src/components/ColorPicker/index.ts +6 -0
- package/src/components/ConfirmationPopover/ConfirmationPopover.module.scss +39 -0
- package/src/components/ConfirmationPopover/ConfirmationPopover.tokens.scss +13 -0
- package/src/components/ConfirmationPopover/ConfirmationPopover.tsx +395 -0
- package/src/components/ConfirmationPopover/index.ts +2 -0
- package/src/components/Constrain/Constrain.module.scss +99 -0
- package/src/components/Constrain/Constrain.tsx +79 -0
- package/src/components/Constrain/index.ts +2 -0
- package/src/components/CurrencySelect/CurrencySelect.module.scss +7 -0
- package/src/components/CurrencySelect/CurrencySelect.tsx +167 -0
- package/src/components/CurrencySelect/index.ts +3 -0
- package/src/components/CursorPagination/CursorPagination.module.scss +69 -0
- package/src/components/CursorPagination/CursorPagination.tokens.scss +32 -0
- package/src/components/CursorPagination/CursorPagination.tsx +121 -0
- package/src/components/CursorPagination/index.ts +2 -0
- package/src/components/DashboardCanvas/DashboardCanvas.module.scss +360 -0
- package/src/components/DashboardCanvas/DashboardCanvas.tokens.scss +48 -0
- package/src/components/DashboardCanvas/DashboardCanvas.tsx +1270 -0
- package/src/components/DashboardCanvas/DashboardCanvasItem.tsx +140 -0
- package/src/components/DashboardCanvas/DashboardCanvasSection.tsx +174 -0
- package/src/components/DashboardCanvas/engine.ts +363 -0
- package/src/components/DashboardCanvas/index.ts +9 -0
- package/src/components/DashboardWidget/DashboardWidget.module.scss +100 -0
- package/src/components/DashboardWidget/DashboardWidget.tokens.scss +16 -0
- package/src/components/DashboardWidget/DashboardWidget.tsx +188 -0
- package/src/components/DashboardWidget/index.ts +7 -0
- package/src/components/DataTable/BodyRow.tsx +197 -0
- package/src/components/DataTable/ColumnVisibilityTrigger.module.scss +7 -0
- package/src/components/DataTable/ColumnVisibilityTrigger.tsx +105 -0
- package/src/components/DataTable/DataTable.module.scss +511 -0
- package/src/components/DataTable/DataTable.tokens.scss +80 -0
- package/src/components/DataTable/DataTable.tsx +734 -0
- package/src/components/DataTable/HeaderCell.module.scss +215 -0
- package/src/components/DataTable/HeaderCell.tsx +440 -0
- package/src/components/DataTable/columnShift.ts +117 -0
- package/src/components/DataTable/index.ts +23 -0
- package/src/components/DataTable/pinStyle.ts +47 -0
- package/src/components/DataTable/reorderColumns.ts +66 -0
- package/src/components/DataTable/types.ts +289 -0
- package/src/components/DataTable/useColumnDragShift.ts +216 -0
- package/src/components/DataTable/useDataTable.ts +372 -0
- package/src/components/DataTable/useResizeHandle.ts +97 -0
- package/src/components/DatePicker/DatePicker.module.scss +180 -0
- package/src/components/DatePicker/DatePicker.tokens.scss +152 -0
- package/src/components/DatePicker/DatePicker.tsx +664 -0
- package/src/components/DatePicker/DatePickerGrid.module.scss +172 -0
- package/src/components/DatePicker/DatePickerGrid.tsx +341 -0
- package/src/components/DatePicker/InlineDatePicker.module.scss +32 -0
- package/src/components/DatePicker/InlineDatePicker.tsx +201 -0
- package/src/components/DatePicker/index.ts +4 -0
- package/src/components/DatePicker/utils.ts +364 -0
- package/src/components/DateRangePicker/DateRangePicker.module.scss +237 -0
- package/src/components/DateRangePicker/DateRangePicker.tokens.scss +78 -0
- package/src/components/DateRangePicker/DateRangePicker.tsx +720 -0
- package/src/components/DateRangePicker/InlineDateRangePicker.module.scss +94 -0
- package/src/components/DateRangePicker/InlineDateRangePicker.tsx +376 -0
- package/src/components/DateRangePicker/index.ts +5 -0
- package/src/components/DateRangePicker/utils.ts +151 -0
- package/src/components/DateStrip/DateStrip.module.scss +78 -0
- package/src/components/DateStrip/DateStrip.tokens.scss +23 -0
- package/src/components/DateStrip/DateStrip.tsx +205 -0
- package/src/components/DateStrip/index.ts +2 -0
- package/src/components/DefinitionList/DefinitionList.module.scss +102 -0
- package/src/components/DefinitionList/DefinitionList.tokens.scss +29 -0
- package/src/components/DefinitionList/DefinitionList.tsx +198 -0
- package/src/components/DefinitionList/index.ts +9 -0
- package/src/components/Divider/Divider.module.scss +144 -0
- package/src/components/Divider/Divider.tokens.scss +21 -0
- package/src/components/Divider/Divider.tsx +103 -0
- package/src/components/Divider/index.ts +2 -0
- package/src/components/Dot/Dot.module.scss +40 -0
- package/src/components/Dot/Dot.tokens.scss +4 -0
- package/src/components/Dot/Dot.tsx +45 -0
- package/src/components/Dot/index.ts +2 -0
- package/src/components/Drawer/Body.tsx +23 -0
- package/src/components/Drawer/Close.tsx +35 -0
- package/src/components/Drawer/Content.tsx +93 -0
- package/src/components/Drawer/Drawer.module.scss +232 -0
- package/src/components/Drawer/Drawer.tokens.scss +38 -0
- package/src/components/Drawer/Drawer.tsx +23 -0
- package/src/components/Drawer/DrawerRoot.tsx +190 -0
- package/src/components/Drawer/Footer.tsx +24 -0
- package/src/components/Drawer/Header.tsx +64 -0
- package/src/components/Drawer/Overlay.tsx +82 -0
- package/src/components/Drawer/context.ts +44 -0
- package/src/components/Drawer/index.ts +12 -0
- package/src/components/Drawer/useDragToClose.ts +149 -0
- package/src/components/DropdownMenu/CheckboxItem.tsx +144 -0
- package/src/components/DropdownMenu/Content.tsx +419 -0
- package/src/components/DropdownMenu/DropdownMenu.module.scss +280 -0
- package/src/components/DropdownMenu/DropdownMenu.tokens.scss +88 -0
- package/src/components/DropdownMenu/DropdownMenu.tsx +43 -0
- package/src/components/DropdownMenu/Group.tsx +76 -0
- package/src/components/DropdownMenu/Item.tsx +148 -0
- package/src/components/DropdownMenu/ItemIndicator.tsx +30 -0
- package/src/components/DropdownMenu/Radio.tsx +178 -0
- package/src/components/DropdownMenu/Root.tsx +100 -0
- package/src/components/DropdownMenu/Sub.tsx +332 -0
- package/src/components/DropdownMenu/Trigger.tsx +76 -0
- package/src/components/DropdownMenu/context.ts +65 -0
- package/src/components/DropdownMenu/index.ts +20 -0
- package/src/components/EmojiPicker/EmojiPicker.module.scss +84 -0
- package/src/components/EmojiPicker/EmojiPicker.tokens.scss +24 -0
- package/src/components/EmojiPicker/EmojiPicker.tsx +341 -0
- package/src/components/EmojiPicker/emojiData.ts +245 -0
- package/src/components/EmojiPicker/index.ts +3 -0
- package/src/components/EmptyState/EmptyState.module.scss +102 -0
- package/src/components/EmptyState/EmptyState.tokens.scss +28 -0
- package/src/components/EmptyState/EmptyState.tsx +112 -0
- package/src/components/EmptyState/index.ts +7 -0
- package/src/components/EntityChip/EntityChip.module.scss +275 -0
- package/src/components/EntityChip/EntityChip.tokens.scss +66 -0
- package/src/components/EntityChip/EntityChip.tsx +649 -0
- package/src/components/EntityChip/index.ts +10 -0
- package/src/components/ErrorState/ErrorState.module.scss +105 -0
- package/src/components/ErrorState/ErrorState.tokens.scss +32 -0
- package/src/components/ErrorState/ErrorState.tsx +125 -0
- package/src/components/ErrorState/index.ts +8 -0
- package/src/components/Field/Field.module.scss +46 -0
- package/src/components/Field/Field.tsx +185 -0
- package/src/components/Field/index.ts +2 -0
- package/src/components/FileUpload/FileUpload.module.scss +187 -0
- package/src/components/FileUpload/FileUpload.tokens.scss +81 -0
- package/src/components/FileUpload/FileUpload.tsx +569 -0
- package/src/components/FileUpload/formatBytes.ts +34 -0
- package/src/components/FileUpload/iconForFile.ts +40 -0
- package/src/components/FileUpload/index.ts +2 -0
- package/src/components/FilterChip/FilterChip.module.scss +61 -0
- package/src/components/FilterChip/FilterChip.tokens.scss +25 -0
- package/src/components/FilterChip/FilterChip.tsx +208 -0
- package/src/components/FilterChip/index.ts +5 -0
- package/src/components/FlowCanvas/FlowCanvas.module.scss +329 -0
- package/src/components/FlowCanvas/FlowCanvas.tokens.scss +45 -0
- package/src/components/FlowCanvas/FlowCanvas.tsx +1867 -0
- package/src/components/FlowCanvas/FlowControls.tsx +46 -0
- package/src/components/FlowCanvas/FlowEdge.tsx +58 -0
- package/src/components/FlowCanvas/FlowNode.tsx +76 -0
- package/src/components/FlowCanvas/edgePath.ts +85 -0
- package/src/components/FlowCanvas/index.ts +4 -0
- package/src/components/FlowCanvas/layout.ts +148 -0
- package/src/components/FlowCanvas/spatialNav.ts +76 -0
- package/src/components/FlowCanvas/types.ts +59 -0
- package/src/components/FlowCanvas/useViewport.ts +122 -0
- package/src/components/FormRow/FormRow.module.scss +2 -0
- package/src/components/FormRow/FormRow.tsx +37 -0
- package/src/components/FormRow/index.ts +2 -0
- package/src/components/FormSection/FormSection.module.scss +24 -0
- package/src/components/FormSection/FormSection.tsx +46 -0
- package/src/components/FormSection/index.ts +2 -0
- package/src/components/Grid/Grid.module.scss +162 -0
- package/src/components/Grid/Grid.tokens.scss +13 -0
- package/src/components/Grid/Grid.tsx +226 -0
- package/src/components/Grid/GridItem.tsx +77 -0
- package/src/components/Grid/index.ts +11 -0
- package/src/components/Highlight/Highlight.module.scss +43 -0
- package/src/components/Highlight/Highlight.tokens.scss +35 -0
- package/src/components/Highlight/Highlight.tsx +164 -0
- package/src/components/Highlight/HighlightOverlay.tsx +100 -0
- package/src/components/Highlight/index.ts +2 -0
- package/src/components/HighlightedText/HighlightedText.module.scss +11 -0
- package/src/components/HighlightedText/HighlightedText.tokens.scss +9 -0
- package/src/components/HighlightedText/HighlightedText.tsx +50 -0
- package/src/components/HighlightedText/highlightRanges.ts +44 -0
- package/src/components/HighlightedText/index.ts +2 -0
- package/src/components/IconPicker/IconPicker.module.scss +175 -0
- package/src/components/IconPicker/IconPicker.tokens.scss +40 -0
- package/src/components/IconPicker/IconPicker.tsx +629 -0
- package/src/components/IconPicker/index.ts +9 -0
- package/src/components/IconTile/IconTile.module.scss +57 -0
- package/src/components/IconTile/IconTile.tokens.scss +16 -0
- package/src/components/IconTile/IconTile.tsx +91 -0
- package/src/components/IconTile/index.ts +2 -0
- package/src/components/Image/Image.module.scss +266 -0
- package/src/components/Image/Image.tokens.scss +55 -0
- package/src/components/Image/Image.tsx +342 -0
- package/src/components/Image/index.ts +2 -0
- package/src/components/ImageCrop/ImageCrop.module.scss +274 -0
- package/src/components/ImageCrop/ImageCrop.tokens.scss +33 -0
- package/src/components/ImageCrop/ImageCrop.tsx +542 -0
- package/src/components/ImageCrop/cropGeometry.ts +120 -0
- package/src/components/ImageCrop/extractCropBlob.ts +140 -0
- package/src/components/ImageCrop/index.ts +11 -0
- package/src/components/ImageCrop/useCropPreview.ts +161 -0
- package/src/components/Indent/Indent.module.scss +33 -0
- package/src/components/Indent/Indent.tokens.scss +10 -0
- package/src/components/Indent/Indent.tsx +46 -0
- package/src/components/Indent/index.ts +2 -0
- package/src/components/Input/Input.module.scss +99 -0
- package/src/components/Input/Input.tokens.scss +54 -0
- package/src/components/Input/Input.tsx +105 -0
- package/src/components/Input/Suggestions.tsx +260 -0
- package/src/components/Input/index.ts +2 -0
- package/src/components/Kanban/Kanban.module.scss +39 -0
- package/src/components/Kanban/Kanban.tokens.scss +15 -0
- package/src/components/Kanban/Kanban.tsx +951 -0
- package/src/components/Kanban/index.ts +7 -0
- package/src/components/Kbd/Kbd.module.scss +47 -0
- package/src/components/Kbd/Kbd.tokens.scss +26 -0
- package/src/components/Kbd/Kbd.tsx +73 -0
- package/src/components/Kbd/index.ts +2 -0
- package/src/components/Lightbox/Lightbox.module.scss +283 -0
- package/src/components/Lightbox/Lightbox.tokens.scss +36 -0
- package/src/components/Lightbox/Lightbox.tsx +506 -0
- package/src/components/Lightbox/index.ts +2 -0
- package/src/components/Link/Link.module.scss +78 -0
- package/src/components/Link/Link.tokens.scss +28 -0
- package/src/components/Link/Link.tsx +114 -0
- package/src/components/Link/index.ts +2 -0
- package/src/components/LinkCard/LinkCard.module.scss +92 -0
- package/src/components/LinkCard/LinkCard.tokens.scss +9 -0
- package/src/components/LinkCard/LinkCard.tsx +72 -0
- package/src/components/LinkCard/index.ts +2 -0
- package/src/components/LiquidEditor/AutocompleteMenu.tsx +133 -0
- package/src/components/LiquidEditor/HighlightLayer.tsx +53 -0
- package/src/components/LiquidEditor/InsertVariableMenu.tsx +81 -0
- package/src/components/LiquidEditor/LiquidEditor.module.scss +339 -0
- package/src/components/LiquidEditor/LiquidEditor.tokens.scss +81 -0
- package/src/components/LiquidEditor/LiquidEditor.tsx +412 -0
- package/src/components/LiquidEditor/PreviewPane.tsx +29 -0
- package/src/components/LiquidEditor/caretCoordinates.ts +97 -0
- package/src/components/LiquidEditor/index.ts +7 -0
- package/src/components/LiquidEditor/liquidFilters.ts +23 -0
- package/src/components/LiquidEditor/liquidTokenizer.ts +235 -0
- package/src/components/LiquidEditor/types.ts +101 -0
- package/src/components/LiquidEditor/useLiquidAutocomplete.ts +178 -0
- package/src/components/List/List.module.scss +105 -0
- package/src/components/List/List.tokens.scss +42 -0
- package/src/components/List/List.tsx +124 -0
- package/src/components/List/index.ts +9 -0
- package/src/components/LiveRegion/LiveRegion.module.scss +3 -0
- package/src/components/LiveRegion/LiveRegion.tsx +116 -0
- package/src/components/LiveRegion/index.ts +2 -0
- package/src/components/Logo/Logo.module.scss +139 -0
- package/src/components/Logo/Logo.tokens.scss +14 -0
- package/src/components/Logo/Logo.tsx +126 -0
- package/src/components/Logo/index.ts +2 -0
- package/src/components/Masonry/Masonry.module.scss +42 -0
- package/src/components/Masonry/Masonry.tokens.scss +8 -0
- package/src/components/Masonry/Masonry.tsx +136 -0
- package/src/components/Masonry/index.ts +2 -0
- package/src/components/Masonry/masonryUtils.ts +42 -0
- package/src/components/MediaTile/MediaTile.module.scss +183 -0
- package/src/components/MediaTile/MediaTile.tokens.scss +60 -0
- package/src/components/MediaTile/MediaTile.tsx +208 -0
- package/src/components/MediaTile/index.ts +8 -0
- package/src/components/Modal/Body.tsx +27 -0
- package/src/components/Modal/Close.tsx +45 -0
- package/src/components/Modal/Content.tsx +98 -0
- package/src/components/Modal/Footer.tsx +28 -0
- package/src/components/Modal/Header.tsx +51 -0
- package/src/components/Modal/Modal.module.scss +262 -0
- package/src/components/Modal/Modal.tokens.scss +50 -0
- package/src/components/Modal/Modal.tsx +23 -0
- package/src/components/Modal/ModalRoot.tsx +299 -0
- package/src/components/Modal/Overlay.tsx +101 -0
- package/src/components/Modal/context.ts +60 -0
- package/src/components/Modal/index.ts +11 -0
- package/src/components/MoneyInput/MoneyInput.module.scss +57 -0
- package/src/components/MoneyInput/MoneyInput.tsx +433 -0
- package/src/components/MoneyInput/index.ts +2 -0
- package/src/components/OptionsPicker/OptionsPicker.module.scss +216 -0
- package/src/components/OptionsPicker/OptionsPicker.tokens.scss +68 -0
- package/src/components/OptionsPicker/OptionsPicker.tsx +936 -0
- package/src/components/OptionsPicker/index.ts +9 -0
- package/src/components/OtpInput/OtpInput.module.scss +69 -0
- package/src/components/OtpInput/OtpInput.tokens.scss +45 -0
- package/src/components/OtpInput/OtpInput.tsx +368 -0
- package/src/components/OtpInput/index.ts +2 -0
- package/src/components/Page/Page.module.scss +30 -0
- package/src/components/Page/Page.tokens.scss +11 -0
- package/src/components/Page/Page.tsx +53 -0
- package/src/components/Page/index.ts +2 -0
- package/src/components/PageHeader/PageHeader.module.scss +197 -0
- package/src/components/PageHeader/PageHeader.tokens.scss +41 -0
- package/src/components/PageHeader/PageHeader.tsx +310 -0
- package/src/components/PageHeader/index.ts +20 -0
- package/src/components/Pagination/Pagination.module.scss +117 -0
- package/src/components/Pagination/Pagination.tokens.scss +54 -0
- package/src/components/Pagination/Pagination.tsx +165 -0
- package/src/components/Pagination/index.ts +4 -0
- package/src/components/Pagination/paginationRange.ts +72 -0
- package/src/components/PasswordInput/PasswordInput.module.scss +120 -0
- package/src/components/PasswordInput/PasswordInput.tokens.scss +44 -0
- package/src/components/PasswordInput/PasswordInput.tsx +210 -0
- package/src/components/PasswordInput/index.ts +2 -0
- package/src/components/PasswordStrengthMeter/PasswordStrengthMeter.module.scss +80 -0
- package/src/components/PasswordStrengthMeter/PasswordStrengthMeter.tokens.scss +40 -0
- package/src/components/PasswordStrengthMeter/PasswordStrengthMeter.tsx +96 -0
- package/src/components/PasswordStrengthMeter/index.ts +2 -0
- package/src/components/PersonDisplay/PersonDisplay.module.scss +180 -0
- package/src/components/PersonDisplay/PersonDisplay.tokens.scss +35 -0
- package/src/components/PersonDisplay/PersonDisplay.tsx +420 -0
- package/src/components/PersonDisplay/index.ts +10 -0
- package/src/components/PhoneInput/PhoneInput.module.scss +23 -0
- package/src/components/PhoneInput/PhoneInput.tsx +271 -0
- package/src/components/PhoneInput/index.ts +4 -0
- package/src/components/PhoneInput/phone.ts +128 -0
- package/src/components/PillMenu/PillMenu.module.scss +117 -0
- package/src/components/PillMenu/PillMenu.tokens.scss +22 -0
- package/src/components/PillMenu/PillMenu.tsx +324 -0
- package/src/components/PillMenu/index.ts +2 -0
- package/src/components/Popover/Anchor.tsx +37 -0
- package/src/components/Popover/Close.tsx +45 -0
- package/src/components/Popover/Content.tsx +213 -0
- package/src/components/Popover/Heading.tsx +33 -0
- package/src/components/Popover/Popover.module.scss +177 -0
- package/src/components/Popover/Popover.tokens.scss +22 -0
- package/src/components/Popover/Popover.tsx +23 -0
- package/src/components/Popover/PopoverRoot.tsx +75 -0
- package/src/components/Popover/Trigger.tsx +86 -0
- package/src/components/Popover/context.ts +22 -0
- package/src/components/Popover/index.ts +7 -0
- package/src/components/Progress/Progress.module.scss +110 -0
- package/src/components/Progress/Progress.tokens.scss +44 -0
- package/src/components/Progress/Progress.tsx +129 -0
- package/src/components/Progress/index.ts +2 -0
- package/src/components/QrCode/QrCode.module.scss +97 -0
- package/src/components/QrCode/QrCode.tokens.scss +17 -0
- package/src/components/QrCode/QrCode.tsx +233 -0
- package/src/components/QrCode/index.ts +2 -0
- package/src/components/QrCode/qr.ts +161 -0
- package/src/components/Radio/Radio.module.scss +175 -0
- package/src/components/Radio/Radio.tokens.scss +59 -0
- package/src/components/Radio/Radio.tsx +127 -0
- package/src/components/Radio/RadioGroup.module.scss +42 -0
- package/src/components/Radio/RadioGroup.tsx +120 -0
- package/src/components/Radio/RadioGroupContext.tsx +30 -0
- package/src/components/Radio/index.ts +4 -0
- package/src/components/Rail/Rail.module.scss +510 -0
- package/src/components/Rail/Rail.tokens.scss +92 -0
- package/src/components/Rail/Rail.tsx +287 -0
- package/src/components/Rail/RailCollapseToggle.tsx +57 -0
- package/src/components/Rail/RailFooter.tsx +17 -0
- package/src/components/Rail/RailGroup.tsx +728 -0
- package/src/components/Rail/RailGroupContext.ts +9 -0
- package/src/components/Rail/RailHeader.tsx +23 -0
- package/src/components/Rail/RailItem.tsx +119 -0
- package/src/components/Rail/RailSection.tsx +39 -0
- package/src/components/Rail/RailSpacer.tsx +19 -0
- package/src/components/Rail/index.ts +9 -0
- package/src/components/RelativeDateInput/RelativeDateInput.module.scss +15 -0
- package/src/components/RelativeDateInput/RelativeDateInput.tokens.scss +6 -0
- package/src/components/RelativeDateInput/RelativeDateInput.tsx +474 -0
- package/src/components/RelativeDateInput/index.ts +10 -0
- package/src/components/RelativeDateInput/relativeDate.ts +127 -0
- package/src/components/RichText/RichText.module.scss +5 -0
- package/src/components/RichText/RichText.tsx +70 -0
- package/src/components/RichText/RichTextAttachment.module.scss +82 -0
- package/src/components/RichText/RichTextAttachment.tsx +122 -0
- package/src/components/RichText/_prose.scss +79 -0
- package/src/components/RichText/attachmentIcon.tsx +24 -0
- package/src/components/RichText/engine/attachment.ts +154 -0
- package/src/components/RichText/engine/autolink.ts +64 -0
- package/src/components/RichText/engine/blockUnit.ts +174 -0
- package/src/components/RichText/engine/colorMarks.ts +85 -0
- package/src/components/RichText/engine/escape.ts +11 -0
- package/src/components/RichText/engine/fromHtml.ts +353 -0
- package/src/components/RichText/engine/fromMarkdown.ts +20 -0
- package/src/components/RichText/engine/inlines.ts +82 -0
- package/src/components/RichText/engine/listDepths.ts +32 -0
- package/src/components/RichText/engine/marks.ts +80 -0
- package/src/components/RichText/engine/mdToHtml.ts +178 -0
- package/src/components/RichText/engine/model.ts +157 -0
- package/src/components/RichText/engine/position.ts +118 -0
- package/src/components/RichText/engine/renderDoc.tsx +395 -0
- package/src/components/RichText/engine/renderLink.ts +15 -0
- package/src/components/RichText/engine/renderMention.ts +16 -0
- package/src/components/RichText/engine/safeHref.ts +22 -0
- package/src/components/RichText/engine/toHtml.ts +154 -0
- package/src/components/RichText/engine/toMarkdown.ts +97 -0
- package/src/components/RichText/engine/transforms.ts +434 -0
- package/src/components/RichText/imageMaxHeightStyle.ts +10 -0
- package/src/components/RichText/index.ts +31 -0
- package/src/components/RichTextEditor/RichTextAttachmentConfig.tsx +264 -0
- package/src/components/RichTextEditor/RichTextBlockControls.tsx +365 -0
- package/src/components/RichTextEditor/RichTextBlockMenu.tsx +162 -0
- package/src/components/RichTextEditor/RichTextColorMenu.tsx +115 -0
- package/src/components/RichTextEditor/RichTextEditor.module.scss +298 -0
- package/src/components/RichTextEditor/RichTextEditor.tsx +1910 -0
- package/src/components/RichTextEditor/RichTextImageResizer.tsx +131 -0
- package/src/components/RichTextEditor/RichTextLinkEditor.tsx +151 -0
- package/src/components/RichTextEditor/RichTextMentionMenu.tsx +99 -0
- package/src/components/RichTextEditor/RichTextToolbar.tsx +379 -0
- package/src/components/RichTextEditor/autolinkInput.ts +65 -0
- package/src/components/RichTextEditor/blockDrop.ts +9 -0
- package/src/components/RichTextEditor/blockReflow.ts +62 -0
- package/src/components/RichTextEditor/commands.ts +300 -0
- package/src/components/RichTextEditor/history.ts +93 -0
- package/src/components/RichTextEditor/icons.tsx +152 -0
- package/src/components/RichTextEditor/imageSize.ts +70 -0
- package/src/components/RichTextEditor/index.ts +5 -0
- package/src/components/RichTextEditor/input.ts +209 -0
- package/src/components/RichTextEditor/inputRules.ts +71 -0
- package/src/components/RichTextEditor/links.ts +103 -0
- package/src/components/RichTextEditor/mentionContext.ts +37 -0
- package/src/components/RichTextEditor/mentions.ts +28 -0
- package/src/components/RichTextEditor/preventSelectionLoss.ts +15 -0
- package/src/components/RichTextEditor/selection.ts +415 -0
- package/src/components/RichTextEditor/shortcuts.ts +44 -0
- package/src/components/RichTextEditor/useAnchoredFloating.ts +50 -0
- package/src/components/RichTextEditor/useAttachmentConfig.ts +134 -0
- package/src/components/RichTextEditor/useDismissOnOutsidePointerDown.ts +26 -0
- package/src/components/RichTextEditor/useLinkEditor.ts +107 -0
- package/src/components/RichTextEditor/useMention.ts +226 -0
- package/src/components/RichTextEditor/useOverlayRect.ts +73 -0
- package/src/components/RichTextEditor/useUpload.ts +246 -0
- package/src/components/Screen/Screen.module.scss +46 -0
- package/src/components/Screen/Screen.tokens.scss +20 -0
- package/src/components/Screen/Screen.tsx +97 -0
- package/src/components/Screen/index.ts +2 -0
- package/src/components/ScrollArea/ScrollArea.module.scss +39 -0
- package/src/components/ScrollArea/ScrollArea.tokens.scss +15 -0
- package/src/components/ScrollArea/ScrollArea.tsx +154 -0
- package/src/components/ScrollArea/index.ts +2 -0
- package/src/components/Select/Chip.tsx +45 -0
- package/src/components/Select/Empty.tsx +39 -0
- package/src/components/Select/Error.tsx +51 -0
- package/src/components/Select/HiddenInputs.tsx +44 -0
- package/src/components/Select/Listbox.tsx +557 -0
- package/src/components/Select/Loading.tsx +30 -0
- package/src/components/Select/Select.module.scss +512 -0
- package/src/components/Select/Select.tokens.scss +140 -0
- package/src/components/Select/Select.tsx +685 -0
- package/src/components/Select/Trigger.tsx +952 -0
- package/src/components/Select/context.ts +101 -0
- package/src/components/Select/emptyStateText.ts +19 -0
- package/src/components/Select/index.ts +9 -0
- package/src/components/Select/useSelectState.ts +157 -0
- package/src/components/Select/utils-types.ts +7 -0
- package/src/components/Select/utils.ts +122 -0
- package/src/components/SettingRow/SettingRow.module.scss +166 -0
- package/src/components/SettingRow/SettingRow.tokens.scss +37 -0
- package/src/components/SettingRow/SettingRow.tsx +242 -0
- package/src/components/SettingRow/index.ts +7 -0
- package/src/components/Skeleton/Skeleton.module.scss +55 -0
- package/src/components/Skeleton/Skeleton.tokens.scss +17 -0
- package/src/components/Skeleton/Skeleton.tsx +131 -0
- package/src/components/Skeleton/index.ts +4 -0
- package/src/components/Skeleton/useSkeletonVisibility.ts +95 -0
- package/src/components/Slider/Slider.module.scss +293 -0
- package/src/components/Slider/Slider.tokens.scss +98 -0
- package/src/components/Slider/Slider.tsx +624 -0
- package/src/components/Slider/index.ts +9 -0
- package/src/components/SlotGrid/SlotGrid.module.scss +61 -0
- package/src/components/SlotGrid/SlotGrid.tokens.scss +21 -0
- package/src/components/SlotGrid/SlotGrid.tsx +111 -0
- package/src/components/SlotGrid/index.ts +2 -0
- package/src/components/SocialButton/SocialButton.module.scss +4 -0
- package/src/components/SocialButton/SocialButton.tsx +40 -0
- package/src/components/SocialButton/index.ts +2 -0
- package/src/components/Sortable/Sortable.module.scss +177 -0
- package/src/components/Sortable/Sortable.tokens.scss +27 -0
- package/src/components/Sortable/Sortable.tsx +572 -0
- package/src/components/Sortable/containerAwareCollision.ts +125 -0
- package/src/components/Sortable/index.ts +13 -0
- package/src/components/SortableGroup/SortableGroup.module.scss +23 -0
- package/src/components/SortableGroup/SortableGroup.tsx +315 -0
- package/src/components/SortableGroup/index.ts +4 -0
- package/src/components/SortableGroup/moveSortableItem.ts +39 -0
- package/src/components/Sparkline/Sparkline.module.scss +28 -0
- package/src/components/Sparkline/Sparkline.tokens.scss +7 -0
- package/src/components/Sparkline/Sparkline.tsx +133 -0
- package/src/components/Sparkline/index.ts +2 -0
- package/src/components/Sparkline/sparklineModel.ts +119 -0
- package/src/components/Split/Split.module.scss +158 -0
- package/src/components/Split/Split.tokens.scss +10 -0
- package/src/components/Split/Split.tsx +231 -0
- package/src/components/Split/index.ts +2 -0
- package/src/components/Stack/Stack.module.scss +67 -0
- package/src/components/Stack/Stack.tokens.scss +11 -0
- package/src/components/Stack/Stack.tsx +100 -0
- package/src/components/Stack/index.ts +2 -0
- package/src/components/StagePath/StagePath.module.scss +255 -0
- package/src/components/StagePath/StagePath.tokens.scss +43 -0
- package/src/components/StagePath/StagePath.tsx +176 -0
- package/src/components/StagePath/index.ts +2 -0
- package/src/components/StatGroup/StatGroup.module.scss +6 -0
- package/src/components/StatGroup/StatGroup.tsx +70 -0
- package/src/components/StatGroup/StatGroupContext.ts +10 -0
- package/src/components/StatGroup/StatTile.module.scss +99 -0
- package/src/components/StatGroup/StatTile.tokens.scss +35 -0
- package/src/components/StatGroup/StatTile.tsx +143 -0
- package/src/components/StatGroup/index.ts +4 -0
- package/src/components/Sticky/Sticky.module.scss +98 -0
- package/src/components/Sticky/Sticky.tokens.scss +17 -0
- package/src/components/Sticky/Sticky.tsx +103 -0
- package/src/components/Sticky/index.ts +2 -0
- package/src/components/Switch/Switch.module.scss +182 -0
- package/src/components/Switch/Switch.tokens.scss +59 -0
- package/src/components/Switch/Switch.tsx +214 -0
- package/src/components/Switch/index.ts +2 -0
- package/src/components/Table/Table.module.scss +308 -0
- package/src/components/Table/Table.tokens.scss +79 -0
- package/src/components/Table/Table.tsx +381 -0
- package/src/components/Table/index.ts +15 -0
- package/src/components/TableOfContents/TableOfContents.module.scss +83 -0
- package/src/components/TableOfContents/TableOfContents.tokens.scss +26 -0
- package/src/components/TableOfContents/TableOfContents.tsx +192 -0
- package/src/components/TableOfContents/activeSection.ts +18 -0
- package/src/components/TableOfContents/index.ts +2 -0
- package/src/components/Tabs/Tabs.module.scss +359 -0
- package/src/components/Tabs/Tabs.tokens.scss +50 -0
- package/src/components/Tabs/Tabs.tsx +538 -0
- package/src/components/Tabs/index.ts +2 -0
- package/src/components/Text/Text.module.scss +115 -0
- package/src/components/Text/Text.tokens.scss +55 -0
- package/src/components/Text/Text.tsx +197 -0
- package/src/components/Text/index.ts +2 -0
- package/src/components/Textarea/Textarea.module.scss +94 -0
- package/src/components/Textarea/Textarea.tokens.scss +48 -0
- package/src/components/Textarea/Textarea.tsx +246 -0
- package/src/components/Textarea/index.ts +2 -0
- package/src/components/Thread/Thread.module.scss +161 -0
- package/src/components/Thread/Thread.tokens.scss +32 -0
- package/src/components/Thread/Thread.tsx +176 -0
- package/src/components/Thread/index.ts +2 -0
- package/src/components/TimeField/TimeField.module.scss +232 -0
- package/src/components/TimeField/TimeField.tsx +793 -0
- package/src/components/TimeField/index.ts +2 -0
- package/src/components/Timeline/Timeline.module.scss +58 -0
- package/src/components/Timeline/Timeline.tokens.scss +13 -0
- package/src/components/Timeline/Timeline.tsx +53 -0
- package/src/components/Timeline/index.ts +2 -0
- package/src/components/Title/Title.module.scss +84 -0
- package/src/components/Title/Title.tokens.scss +37 -0
- package/src/components/Title/Title.tsx +150 -0
- package/src/components/Title/index.ts +2 -0
- package/src/components/Toast/Toast.module.scss +299 -0
- package/src/components/Toast/Toast.tokens.scss +65 -0
- package/src/components/Toast/Toast.tsx +122 -0
- package/src/components/Toast/ToastViewport.tsx +166 -0
- package/src/components/Toast/api.ts +175 -0
- package/src/components/Toast/index.ts +5 -0
- package/src/components/Toast/store.ts +133 -0
- package/src/components/Toast/useToastTimer.ts +94 -0
- package/src/components/Tooltip/Tooltip.module.scss +99 -0
- package/src/components/Tooltip/Tooltip.tokens.scss +23 -0
- package/src/components/Tooltip/Tooltip.tsx +341 -0
- package/src/components/Tooltip/index.ts +2 -0
- package/src/components/TopBar/TopBar.module.scss +235 -0
- package/src/components/TopBar/TopBar.tokens.scss +79 -0
- package/src/components/TopBar/TopBar.tsx +87 -0
- package/src/components/TopBar/TopBarEnd.tsx +20 -0
- package/src/components/TopBar/TopBarIconButton.tsx +86 -0
- package/src/components/TopBar/TopBarSearch.tsx +319 -0
- package/src/components/TopBar/TopBarSearchPanel.tsx +268 -0
- package/src/components/TopBar/TopBarStart.tsx +20 -0
- package/src/components/TopBar/index.ts +11 -0
- package/src/components/Tour/Spotlight.tsx +121 -0
- package/src/components/Tour/Tour.module.scss +210 -0
- package/src/components/Tour/Tour.tokens.scss +58 -0
- package/src/components/Tour/Tour.tsx +617 -0
- package/src/components/Tour/index.ts +2 -0
- package/src/components/Tour/useTourTarget.ts +115 -0
- package/src/components/TreeView/TreeView.module.scss +268 -0
- package/src/components/TreeView/TreeView.tokens.scss +36 -0
- package/src/components/TreeView/TreeView.tsx +536 -0
- package/src/components/TreeView/index.ts +3 -0
- package/src/components/TreeView/treeModel.ts +224 -0
- package/src/components/VisuallyHidden/VisuallyHidden.module.scss +7 -0
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +29 -0
- package/src/components/VisuallyHidden/index.ts +2 -0
- package/src/components/WidgetPreview/WidgetPreview.module.scss +11 -0
- package/src/components/WidgetPreview/WidgetPreview.tokens.scss +26 -0
- package/src/components/WidgetPreview/WidgetPreview.tsx +36 -0
- package/src/components/WidgetPreview/WidgetShape.module.scss +140 -0
- package/src/components/WidgetPreview/WidgetShape.tsx +159 -0
- package/src/components/WidgetPreview/index.ts +2 -0
- package/src/components/_internal/Trend.tsx +27 -0
- package/src/components/_internal/choiceTile.scss +74 -0
- package/src/components/_internal/collapse.scss +10 -0
- package/src/components/_internal/collapse.ts +58 -0
- package/src/components/_internal/currency.ts +257 -0
- package/src/components/_internal/dragAnnouncements.ts +200 -0
- package/src/components/_internal/fieldWiring.ts +225 -0
- package/src/components/_internal/gridSpan.ts +54 -0
- package/src/components/_internal/isoDay.ts +35 -0
- package/src/components/_internal/letterKey.ts +26 -0
- package/src/components/_internal/overlay/focusRestore.ts +21 -0
- package/src/components/_internal/overlay/index.ts +12 -0
- package/src/components/_internal/overlay/tourHold.ts +23 -0
- package/src/components/_internal/overlay/useFocusTrap.ts +120 -0
- package/src/components/_internal/overlay/useInOverlay.ts +81 -0
- package/src/components/_internal/overlay/useOverlayStack.ts +232 -0
- package/src/components/_internal/overlay/useScrollLock.ts +112 -0
- package/src/components/_internal/refs.ts +48 -0
- package/src/components/_internal/statusColor.ts +26 -0
- package/src/components/_internal/timeUtils.ts +23 -0
- package/src/components/_internal/useAsyncOptions.ts +145 -0
- package/src/components/_internal/useClippedTooltip.ts +50 -0
- package/src/components/_internal/useControllableState.ts +50 -0
- package/src/components.manifest.json +1141 -0
- package/src/hooks/useBelowBreakpoint.ts +58 -0
- package/src/i18n/I18nProvider.tsx +52 -0
- package/src/i18n/LocaleProvider.tsx +17 -0
- package/src/i18n/en.ts +648 -0
- package/src/i18n/format.ts +71 -0
- package/src/i18n/index.ts +13 -0
- package/src/i18n/messages.ts +1275 -0
- package/src/i18n/ru.ts +677 -0
- package/src/i18n/useLocale.ts +19 -0
- package/src/i18n/useTranslation.ts +58 -0
- package/src/index.ts +913 -0
- package/src/palette/index.ts +2 -0
- package/src/palette/palette.ts +108 -0
- package/src/styles/dark.scss +4 -0
- package/src/styles/global.scss +7 -0
- package/src/styles/mixins.scss +143 -0
- package/src/styles/reset.scss +78 -0
- package/src/styles/tokens.scss +18 -0
- package/src/styles/typography.scss +44 -0
package/src/i18n/ru.ts
ADDED
|
@@ -0,0 +1,677 @@
|
|
|
1
|
+
import type { Messages } from './messages';
|
|
2
|
+
import { ruPlural } from './format';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Russian message defaults. Populated section-by-section as each component
|
|
6
|
+
* migrates onto the i18n system. Every key present in `en.ts` must also exist
|
|
7
|
+
* here (and vice-versa) — TS enforces shape parity through `Messages`.
|
|
8
|
+
*/
|
|
9
|
+
export const ru: Messages = {
|
|
10
|
+
alert: {
|
|
11
|
+
dismiss: 'Закрыть',
|
|
12
|
+
},
|
|
13
|
+
appLayout: {
|
|
14
|
+
sidebar: 'Боковая навигация',
|
|
15
|
+
},
|
|
16
|
+
banner: {
|
|
17
|
+
dismiss: 'Закрыть',
|
|
18
|
+
tone: { info: 'Информация', success: 'Успешно', warning: 'Предупреждение', danger: 'Ошибка' },
|
|
19
|
+
},
|
|
20
|
+
confirmationPopover: {
|
|
21
|
+
pending: 'Выполняется…',
|
|
22
|
+
cancel: 'Отмена',
|
|
23
|
+
confirm: 'Подтвердить',
|
|
24
|
+
},
|
|
25
|
+
mediaTile: {
|
|
26
|
+
selectNamed: ({ name }) => `Выбрать ${name as string}`,
|
|
27
|
+
select: 'Выбрать',
|
|
28
|
+
},
|
|
29
|
+
image: {
|
|
30
|
+
loadError: 'Не удалось загрузить изображение',
|
|
31
|
+
retry: 'Повторить',
|
|
32
|
+
},
|
|
33
|
+
lightbox: {
|
|
34
|
+
label: 'Галерея изображений',
|
|
35
|
+
previous: 'Предыдущее изображение',
|
|
36
|
+
next: 'Следующее изображение',
|
|
37
|
+
close: 'Закрыть галерею',
|
|
38
|
+
download: 'Скачать',
|
|
39
|
+
previewUnavailable: 'Предпросмотр недоступен',
|
|
40
|
+
},
|
|
41
|
+
otpInput: {
|
|
42
|
+
groupLabel: 'Код подтверждения',
|
|
43
|
+
digit: ({ index, total }) => `Цифра ${index} из ${total}`,
|
|
44
|
+
character: ({ index, total }) => `Символ ${index} из ${total}`,
|
|
45
|
+
},
|
|
46
|
+
input: {
|
|
47
|
+
suggestions: 'Подсказки',
|
|
48
|
+
},
|
|
49
|
+
passwordInput: {
|
|
50
|
+
show: 'Показать пароль',
|
|
51
|
+
hide: 'Скрыть пароль',
|
|
52
|
+
capsLockOn: 'Включён Caps Lock',
|
|
53
|
+
wrongLayoutOn: 'Возможно, неправильная раскладка клавиатуры',
|
|
54
|
+
},
|
|
55
|
+
passwordStrengthMeter: {
|
|
56
|
+
weak: 'Слабый',
|
|
57
|
+
fair: 'Средний',
|
|
58
|
+
strong: 'Надёжный',
|
|
59
|
+
veryStrong: 'Очень надёжный',
|
|
60
|
+
},
|
|
61
|
+
switch: {
|
|
62
|
+
busy: 'Сохранение…',
|
|
63
|
+
},
|
|
64
|
+
progress: {
|
|
65
|
+
indeterminate: 'Загрузка…',
|
|
66
|
+
},
|
|
67
|
+
qrCode: {
|
|
68
|
+
label: 'QR-код',
|
|
69
|
+
invertHint: 'Нажмите, чтобы поменять цвета кода местами, если сканер его не читает',
|
|
70
|
+
error: 'QR-код недоступен',
|
|
71
|
+
},
|
|
72
|
+
codeBlock: {
|
|
73
|
+
copy: 'Скопировать код',
|
|
74
|
+
copied: 'Скопировано',
|
|
75
|
+
copyFailed: 'Не удалось скопировать',
|
|
76
|
+
wrap: 'Переносить строки',
|
|
77
|
+
plainText: 'Текст',
|
|
78
|
+
},
|
|
79
|
+
tableOfContents: {
|
|
80
|
+
label: 'На этой странице',
|
|
81
|
+
},
|
|
82
|
+
slider: {
|
|
83
|
+
minimum: 'минимум',
|
|
84
|
+
maximum: 'максимум',
|
|
85
|
+
},
|
|
86
|
+
calendar: {
|
|
87
|
+
today: 'Сегодня',
|
|
88
|
+
agendaEmpty: 'Нет событий',
|
|
89
|
+
allDay: 'Весь день',
|
|
90
|
+
months: [
|
|
91
|
+
'Январь',
|
|
92
|
+
'Февраль',
|
|
93
|
+
'Март',
|
|
94
|
+
'Апрель',
|
|
95
|
+
'Май',
|
|
96
|
+
'Июнь',
|
|
97
|
+
'Июль',
|
|
98
|
+
'Август',
|
|
99
|
+
'Сентябрь',
|
|
100
|
+
'Октябрь',
|
|
101
|
+
'Ноябрь',
|
|
102
|
+
'Декабрь',
|
|
103
|
+
],
|
|
104
|
+
weekdaysShort: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],
|
|
105
|
+
previousMonth: 'Предыдущий месяц',
|
|
106
|
+
nextMonth: 'Следующий месяц',
|
|
107
|
+
previousWeek: 'Предыдущая неделя',
|
|
108
|
+
nextWeek: 'Следующая неделя',
|
|
109
|
+
previousDay: 'Предыдущий день',
|
|
110
|
+
nextDay: 'Следующий день',
|
|
111
|
+
previousAgenda: 'Предыдущая неделя',
|
|
112
|
+
nextAgenda: 'Следующая неделя',
|
|
113
|
+
moreEvents: ({ count }) =>
|
|
114
|
+
`ещё ${count as number} ${ruPlural(count as number, ['событие', 'события', 'событий'])}`,
|
|
115
|
+
moreEventsShort: ({ count }) => `+${count as number}`,
|
|
116
|
+
viewMonth: 'Месяц',
|
|
117
|
+
viewWeek: 'Неделя',
|
|
118
|
+
viewDay: 'День',
|
|
119
|
+
viewAgenda: 'Повестка',
|
|
120
|
+
unassigned: 'Без назначения',
|
|
121
|
+
dragInstructions:
|
|
122
|
+
'Можно перетаскивать. Alt вверх или вниз — перенести событие, Alt влево или вправо — в другую колонку, Alt+Shift вверх или вниз — изменить время окончания.',
|
|
123
|
+
dragMovedTo: ({ event, time }) => `${event as string}: перенесено на ${time as string}.`,
|
|
124
|
+
dragEndsAt: ({ event, time }) => `${event as string}: окончание в ${time as string}.`,
|
|
125
|
+
dragRefused: ({ event }) => `${event as string}: этот слот недоступен.`,
|
|
126
|
+
dragAtEdge: ({ event }) => `${event as string}: дальше переносить некуда.`,
|
|
127
|
+
dragUnchanged: ({ event }) => `${event as string}: без изменений.`,
|
|
128
|
+
dragCancelled: ({ event }) => `Перенос отменён. ${event as string} на прежнем месте.`,
|
|
129
|
+
},
|
|
130
|
+
dateStrip: {
|
|
131
|
+
previousWeek: 'Предыдущая неделя',
|
|
132
|
+
nextWeek: 'Следующая неделя',
|
|
133
|
+
free: ({ count }) =>
|
|
134
|
+
`${count as number} ${ruPlural(count as number, ['свободное', 'свободных', 'свободных'])}`,
|
|
135
|
+
noTimes: 'Всё занято',
|
|
136
|
+
day: ({ date, availability }) => `${date as string}, ${availability as string}`,
|
|
137
|
+
range: ({ range }) => `${range as string}`,
|
|
138
|
+
},
|
|
139
|
+
slotGrid: {
|
|
140
|
+
empty: 'Нет свободного времени',
|
|
141
|
+
},
|
|
142
|
+
datePicker: {
|
|
143
|
+
today: 'Сегодня',
|
|
144
|
+
clear: 'Очистить',
|
|
145
|
+
openCalendar: 'Открыть календарь',
|
|
146
|
+
previousMonth: 'Предыдущий месяц',
|
|
147
|
+
nextMonth: 'Следующий месяц',
|
|
148
|
+
rangeStart: 'Дата начала',
|
|
149
|
+
rangeEnd: 'Дата окончания',
|
|
150
|
+
timeLabel: 'Время',
|
|
151
|
+
timeHoursLabel: 'Часы',
|
|
152
|
+
timeMinutesLabel: 'Минуты',
|
|
153
|
+
timeOpenList: 'Открыть список времени',
|
|
154
|
+
timeNow: 'Сейчас',
|
|
155
|
+
timePeriodLabel: 'Период',
|
|
156
|
+
timePeriodAm: 'AM',
|
|
157
|
+
timePeriodPm: 'PM',
|
|
158
|
+
timePlaceholder24: 'ЧЧ:мм',
|
|
159
|
+
timePlaceholder12: 'ч:мм AM/PM',
|
|
160
|
+
},
|
|
161
|
+
dateRangePicker: {
|
|
162
|
+
startTimeLabel: 'Время начала',
|
|
163
|
+
endTimeLabel: 'Время окончания',
|
|
164
|
+
},
|
|
165
|
+
dataTable: {
|
|
166
|
+
selectAll: 'Выбрать все строки на странице',
|
|
167
|
+
selectRow: (params) => `Выбрать строку ${params.row}`,
|
|
168
|
+
expandRow: (params) => `Развернуть строку ${params.row}`,
|
|
169
|
+
dragReorder: (params) => `Перетащить для изменения порядка: ${params.name}`,
|
|
170
|
+
dragReorderUnnamed: 'Перетащить для изменения порядка столбца',
|
|
171
|
+
rowExpansion: 'Развёртывание строки',
|
|
172
|
+
pinnedRows: 'Закреплённые строки',
|
|
173
|
+
empty: 'Нет данных',
|
|
174
|
+
loading: 'Загрузка строк…',
|
|
175
|
+
resizeColumn: (params) => `Изменить ширину столбца ${params.name}`,
|
|
176
|
+
resizeColumnUnnamed: 'Изменить ширину этого столбца',
|
|
177
|
+
unlabelledColumn: 'Столбец без названия',
|
|
178
|
+
loaded: 'Строки загружены',
|
|
179
|
+
loadedEmpty: 'Строки не загружены',
|
|
180
|
+
columns: 'Столбцы',
|
|
181
|
+
},
|
|
182
|
+
drag: {
|
|
183
|
+
handleLabel: 'Переместить элемент',
|
|
184
|
+
instructions:
|
|
185
|
+
'Нажмите пробел или Enter, чтобы взять элемент. Пока элемент взят, стрелки перемещают его, пробел или Enter размещает, Escape отменяет.',
|
|
186
|
+
pickedUp: ({ item }) => `Взято: «${item as string}».`,
|
|
187
|
+
movedOver: ({ item, index, total }) =>
|
|
188
|
+
`«${item as string}» — позиция ${index as number} из ${total as number}.`,
|
|
189
|
+
movedOverIn: ({ item, index, total, container }) =>
|
|
190
|
+
`«${item as string}» — позиция ${index as number} из ${total as number}, «${container as string}».`,
|
|
191
|
+
movedOutside: ({ item }) => `«${item as string}» — вне области размещения.`,
|
|
192
|
+
dropped: ({ item, index, total }) =>
|
|
193
|
+
`Размещено: «${item as string}», позиция ${index as number} из ${total as number}.`,
|
|
194
|
+
droppedIn: ({ item, index, total, container }) =>
|
|
195
|
+
`Размещено: «${item as string}», позиция ${index as number} из ${total as number}, «${container as string}».`,
|
|
196
|
+
droppedNowhere: ({ item }) => `Отпущено: «${item as string}». Ничего не изменилось.`,
|
|
197
|
+
moved: ({ item }) => `Перемещено: «${item as string}».`,
|
|
198
|
+
cancelled: ({ item }) => `Перемещение отменено: «${item as string}» на прежнем месте.`,
|
|
199
|
+
unnamed: 'элемент',
|
|
200
|
+
unnamedContainer: ({ index, total }) => `список ${index as number} из ${total as number}`,
|
|
201
|
+
},
|
|
202
|
+
dashboardCanvas: {
|
|
203
|
+
canvas: 'Холст дашборда',
|
|
204
|
+
sectionCollapse: ({ title }) => `Свернуть секцию «${title as string}»`,
|
|
205
|
+
sectionExpand: ({ title }) => `Развернуть секцию «${title as string}»`,
|
|
206
|
+
itemRole: 'виджет',
|
|
207
|
+
instructions:
|
|
208
|
+
'Нажмите Enter или пробел на виджете, чтобы взять его. Пока виджет взят, стрелки перемещают его на одну ячейку — за границей контейнера он переходит в соседнюю секцию, — Enter или пробел размещает его, Escape отменяет перемещение. Shift со стрелкой изменяет размер виджета. Shift со стрелкой вверх или вниз на кнопке секции перемещает секцию.',
|
|
209
|
+
instructionsReadOnly: 'Кнопки секций сворачивают и разворачивают их.',
|
|
210
|
+
pickedUp: 'Виджет взят. Стрелки — перемещение, Enter или пробел — разместить, Escape — отмена.',
|
|
211
|
+
movedTo: ({ x, y, container }) =>
|
|
212
|
+
container
|
|
213
|
+
? `Колонка ${x as number}, строка ${y as number}, секция «${container as string}»`
|
|
214
|
+
: `Колонка ${x as number}, строка ${y as number}`,
|
|
215
|
+
dropped: 'Виджет размещён',
|
|
216
|
+
cancelled: 'Перемещение отменено',
|
|
217
|
+
resized: ({ w, h }) => `Размер: ${w as number} на ${h as number}`,
|
|
218
|
+
sectionMoved: ({ title, position }) =>
|
|
219
|
+
position != null
|
|
220
|
+
? `Секция «${title as string}» перемещена на позицию ${position as number}`
|
|
221
|
+
: `Секция «${title as string}» перемещена`,
|
|
222
|
+
enteredSection: ({ title }) => `Перемещено в секцию «${title as string}»`,
|
|
223
|
+
enteredTopLevel: 'Перемещено на верхний уровень',
|
|
224
|
+
dropHint: 'Перетащите виджеты сюда',
|
|
225
|
+
},
|
|
226
|
+
avatar: {
|
|
227
|
+
presence: {
|
|
228
|
+
// Gender-neutral by construction. `занят` / `отошёл` are masculine-inflected
|
|
229
|
+
// and would misgender roughly half of any user list; these forms inflect
|
|
230
|
+
// for nothing.
|
|
231
|
+
online: 'в сети',
|
|
232
|
+
busy: 'не беспокоить',
|
|
233
|
+
away: 'нет на месте',
|
|
234
|
+
offline: 'не в сети',
|
|
235
|
+
},
|
|
236
|
+
agent: {
|
|
237
|
+
onBehalfOf: (params) => `${params.agent}, от имени: ${params.member}`,
|
|
238
|
+
onBehalfOfFormer: (params) => `${params.agent}, от имени бывшего участника`,
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
personDisplay: {
|
|
242
|
+
onBehalfOfPrefix: 'от имени:',
|
|
243
|
+
onBehalfOfFormer: 'от имени бывшего участника',
|
|
244
|
+
},
|
|
245
|
+
chatLauncher: {
|
|
246
|
+
close: 'Закрыть чат',
|
|
247
|
+
},
|
|
248
|
+
chatBubble: {
|
|
249
|
+
member: 'Вы написали',
|
|
250
|
+
assistant: 'Ассистент написал',
|
|
251
|
+
pending: 'Ассистент печатает…',
|
|
252
|
+
},
|
|
253
|
+
avatarGroup: {
|
|
254
|
+
overflow: (params) => `Ещё ${params.count}`,
|
|
255
|
+
},
|
|
256
|
+
optionsPicker: {
|
|
257
|
+
toggleGroup: (params) => `Переключить группу ${params.label}`,
|
|
258
|
+
filter: 'Фильтр…',
|
|
259
|
+
apply: 'Применить',
|
|
260
|
+
cancel: 'Отмена',
|
|
261
|
+
noMatches: 'Совпадений не найдено',
|
|
262
|
+
statusLoading: 'Загрузка вариантов…',
|
|
263
|
+
loadFailed: 'Не удалось загрузить варианты.',
|
|
264
|
+
retry: 'Повторить',
|
|
265
|
+
selectedCount: ({ count }) => `Выбрано: ${count}`,
|
|
266
|
+
},
|
|
267
|
+
emojiPicker: {
|
|
268
|
+
search: 'Поиск эмодзи',
|
|
269
|
+
label: 'Эмодзи',
|
|
270
|
+
recent: 'Недавние',
|
|
271
|
+
noResults: 'Эмодзи не найдены',
|
|
272
|
+
category: {
|
|
273
|
+
smileys: 'Смайлики',
|
|
274
|
+
gestures: 'Жесты',
|
|
275
|
+
people: 'Люди',
|
|
276
|
+
animals: 'Животные и природа',
|
|
277
|
+
food: 'Еда и напитки',
|
|
278
|
+
activities: 'Активности',
|
|
279
|
+
travel: 'Путешествия и места',
|
|
280
|
+
objects: 'Объекты',
|
|
281
|
+
symbols: 'Символы',
|
|
282
|
+
flags: 'Флаги',
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
pagination: {
|
|
286
|
+
previous: 'Назад',
|
|
287
|
+
next: 'Далее',
|
|
288
|
+
previousAriaLabel: 'Предыдущая страница',
|
|
289
|
+
nextAriaLabel: 'Следующая страница',
|
|
290
|
+
ariaLabel: 'Пагинация',
|
|
291
|
+
pageAriaLabel: ({ page }) => `Страница ${page as number}`,
|
|
292
|
+
currentPageAriaLabel: ({ page }) => `Страница ${page as number}, текущая`,
|
|
293
|
+
},
|
|
294
|
+
select: {
|
|
295
|
+
createOption: (params) => `+ Создать «${params.label as string}»`,
|
|
296
|
+
removeChip: (params) => `Удалить ${params.label}`,
|
|
297
|
+
clear: 'Очистить выбор',
|
|
298
|
+
search: 'Поиск…',
|
|
299
|
+
noOptions: 'Нет вариантов',
|
|
300
|
+
loading: 'Загрузка…',
|
|
301
|
+
loadFailed: 'Не удалось загрузить варианты.',
|
|
302
|
+
retry: 'Повторить',
|
|
303
|
+
noResultsFor: (params) => `Ничего не найдено по запросу «${params.query}».`,
|
|
304
|
+
statusLoading: 'Загрузка вариантов…',
|
|
305
|
+
selectedPrefix: ({ labels }) => `Выбрано: ${labels as string}`,
|
|
306
|
+
openSelect: 'Открыть список',
|
|
307
|
+
},
|
|
308
|
+
phoneInput: {
|
|
309
|
+
countryLabel: 'Страна',
|
|
310
|
+
countrySearch: 'Поиск стран…',
|
|
311
|
+
numberLabel: 'Номер телефона',
|
|
312
|
+
numberPlaceholder: 'Номер телефона',
|
|
313
|
+
},
|
|
314
|
+
currencySelect: {
|
|
315
|
+
placeholder: 'Выберите валюту',
|
|
316
|
+
search: 'Поиск валют…',
|
|
317
|
+
},
|
|
318
|
+
moneyInput: {
|
|
319
|
+
currencyLabel: 'Валюта',
|
|
320
|
+
amountLabel: 'Сумма',
|
|
321
|
+
},
|
|
322
|
+
colorPicker: {
|
|
323
|
+
saturationBrightnessValue: (params) =>
|
|
324
|
+
`насыщенность ${params.s} процентов, яркость ${params.v} процентов`,
|
|
325
|
+
saturationBrightness: 'Насыщенность и яркость',
|
|
326
|
+
hue: 'Оттенок',
|
|
327
|
+
hexValue: 'Hex-значение цвета',
|
|
328
|
+
presetColors: 'Предустановленные цвета',
|
|
329
|
+
triggerLabel: 'Выбрать цвет',
|
|
330
|
+
triggerAccessibleLabel: ({ label, value }) =>
|
|
331
|
+
`${label as string}, текущее значение ${value as string}`,
|
|
332
|
+
},
|
|
333
|
+
iconPicker: {
|
|
334
|
+
triggerLabel: 'Выбрать значок',
|
|
335
|
+
triggerLabelWithColor: 'Выбрать значок и цвет',
|
|
336
|
+
colorLabel: 'Цвет',
|
|
337
|
+
iconLabel: 'Значок',
|
|
338
|
+
},
|
|
339
|
+
palette: {
|
|
340
|
+
red: 'Красный',
|
|
341
|
+
coral: 'Коралловый',
|
|
342
|
+
orange: 'Оранжевый',
|
|
343
|
+
amber: 'Янтарный',
|
|
344
|
+
gold: 'Золотой',
|
|
345
|
+
yellow: 'Жёлтый',
|
|
346
|
+
olive: 'Оливковый',
|
|
347
|
+
lime: 'Лаймовый',
|
|
348
|
+
green: 'Зелёный',
|
|
349
|
+
emerald: 'Изумрудный',
|
|
350
|
+
mint: 'Мятный',
|
|
351
|
+
teal: 'Бирюзовый',
|
|
352
|
+
cyan: 'Циановый',
|
|
353
|
+
sky: 'Небесный',
|
|
354
|
+
blue: 'Синий',
|
|
355
|
+
navy: 'Тёмно-синий',
|
|
356
|
+
indigo: 'Индиго',
|
|
357
|
+
violet: 'Фиолетовый',
|
|
358
|
+
lavender: 'Лавандовый',
|
|
359
|
+
purple: 'Пурпурный',
|
|
360
|
+
plum: 'Сливовый',
|
|
361
|
+
fuchsia: 'Фуксия',
|
|
362
|
+
magenta: 'Маджента',
|
|
363
|
+
pink: 'Розовый',
|
|
364
|
+
rose: 'Малиновый',
|
|
365
|
+
brown: 'Коричневый',
|
|
366
|
+
taupe: 'Серо-коричневый',
|
|
367
|
+
slate: 'Сланцевый',
|
|
368
|
+
stone: 'Каменный',
|
|
369
|
+
charcoal: 'Угольный',
|
|
370
|
+
},
|
|
371
|
+
drawer: {
|
|
372
|
+
close: 'Закрыть диалог',
|
|
373
|
+
},
|
|
374
|
+
fileUpload: {
|
|
375
|
+
done: 'Готово',
|
|
376
|
+
upload: 'Загрузить файлы',
|
|
377
|
+
dragHint: 'Перетащите файлы сюда или нажмите для выбора',
|
|
378
|
+
uploadingAriaLabel: ({ name }) => `Загрузка ${name as string}`,
|
|
379
|
+
batchUploading: (params) => `Загрузка: ${params.done} / ${params.total}`,
|
|
380
|
+
batchSettled: (params) =>
|
|
381
|
+
Number(params.failed) > 0
|
|
382
|
+
? `Загружено: ${params.done} / ${params.total}. Ошибок: ${params.failed}.`
|
|
383
|
+
: `Загружено: ${params.done} / ${params.total}.`,
|
|
384
|
+
removeFailedAriaLabel: (params) => `Удалить ${params.name} — ошибка загрузки`,
|
|
385
|
+
removeAriaLabel: ({ name }) => `Удалить ${name as string}`,
|
|
386
|
+
},
|
|
387
|
+
flowCanvas: {
|
|
388
|
+
canvasLabel: 'Холст диаграммы',
|
|
389
|
+
instructions:
|
|
390
|
+
'Используйте стрелки для перехода между узлами, Home и End — первый и последний узел. Enter — открыть узел, Delete — удалить, Shift со стрелкой — переместить. E — перебор связей узла, C — новая связь. При выбранной связи R — переподключить её цель к другому узлу, Shift с R — переподключить источник. Escape — отмена или снятие выделения. Масштаб — плюс и минус, 0 — вписать диаграмму, Control или Command со стрелкой — панорамирование.',
|
|
391
|
+
instructionsReadOnly:
|
|
392
|
+
'Используйте стрелки для перехода между узлами, Home и End — первый и последний узел. Enter — открыть узел, E — перебор связей узла, Escape — снятие выделения. Масштаб — плюс и минус, 0 — вписать диаграмму, Control или Command со стрелкой — панорамирование.',
|
|
393
|
+
nodeRole: 'узел',
|
|
394
|
+
edgeRole: 'связь',
|
|
395
|
+
zoomIn: 'Приблизить',
|
|
396
|
+
zoomOut: 'Отдалить',
|
|
397
|
+
zoomToFit: 'Показать всё',
|
|
398
|
+
edgeLabel: ({ from, to }) => `Из «${from as string}» в «${to as string}»`,
|
|
399
|
+
nodeFocused: ({ label, index, total }) =>
|
|
400
|
+
`${label as string}, узел ${index as number} из ${total as number}`,
|
|
401
|
+
edgeFocused: ({ from, to, index, total }) =>
|
|
402
|
+
`Связь из «${from as string}» в «${to as string}», ${index as number} из ${total as number}`,
|
|
403
|
+
connectStart: ({ label }) =>
|
|
404
|
+
`Соединение из «${label as string}». Стрелки — выбор цели, Enter — подтвердить, Escape — отмена.`,
|
|
405
|
+
connectTarget: ({ label }) => `Цель: ${label as string}`,
|
|
406
|
+
connectNoTarget: 'В этом направлении нет цели',
|
|
407
|
+
connectDone: ({ from, to }) => `Соединено: «${from as string}» → «${to as string}»`,
|
|
408
|
+
connectCancelled: 'Соединение отменено',
|
|
409
|
+
rewireStartSource:
|
|
410
|
+
'Переподключение источника связи. Стрелки — выбор узла, Enter — подтвердить, Escape — отмена.',
|
|
411
|
+
rewireStartTarget:
|
|
412
|
+
'Переподключение цели связи. Стрелки — выбор узла, Enter — подтвердить, Escape — отмена.',
|
|
413
|
+
rewireDone: ({ from, to }) => `Переподключено: «${from as string}» → «${to as string}»`,
|
|
414
|
+
nodeMoved: ({ label }) => `«${label as string}» перемещён`,
|
|
415
|
+
selectionCleared: 'Выделение снято',
|
|
416
|
+
focusReturned: 'Фокус возвращён на холст',
|
|
417
|
+
zoomLevel: ({ percent }) => `Масштаб ${percent as number}%`,
|
|
418
|
+
enterFullscreen: 'На весь экран',
|
|
419
|
+
exitFullscreen: 'Свернуть',
|
|
420
|
+
controlsLabel: 'Действия с холстом',
|
|
421
|
+
maximized: 'Холст развёрнут',
|
|
422
|
+
restored: 'Холст свёрнут',
|
|
423
|
+
},
|
|
424
|
+
imageCrop: {
|
|
425
|
+
loadError: 'Не удалось загрузить изображение',
|
|
426
|
+
reset: 'Сбросить',
|
|
427
|
+
label: 'Область обрезки',
|
|
428
|
+
aspectRatio: 'Соотношение сторон',
|
|
429
|
+
keyboardHint:
|
|
430
|
+
'Перетащите рамку, чтобы переместить её, перетащите углы, чтобы изменить размер. Стрелки перемещают, Shift+стрелки меняют размер, Home и End переносят в углы. Двойной щелчок сбрасывает.',
|
|
431
|
+
areaValue: (params) => `${params.x}, ${params.y} — ${params.width}×${params.height} пикс.`,
|
|
432
|
+
},
|
|
433
|
+
kanban: {
|
|
434
|
+
board: 'Канбан-доска',
|
|
435
|
+
unnamedColumn: ({ index, total }) => `колонка ${index as number} из ${total as number}`,
|
|
436
|
+
},
|
|
437
|
+
modal: {
|
|
438
|
+
close: 'Закрыть диалог',
|
|
439
|
+
},
|
|
440
|
+
tour: {
|
|
441
|
+
next: 'Далее',
|
|
442
|
+
back: 'Назад',
|
|
443
|
+
skip: 'Пропустить',
|
|
444
|
+
done: 'Готово',
|
|
445
|
+
progress: ({ current, total }) => `Шаг ${current} из ${total}`,
|
|
446
|
+
waiting: 'Загрузка шага…',
|
|
447
|
+
clickHint: 'Нажмите на выделенный элемент, чтобы продолжить',
|
|
448
|
+
},
|
|
449
|
+
toast: {
|
|
450
|
+
dismiss: 'Закрыть',
|
|
451
|
+
notifications: 'Уведомления',
|
|
452
|
+
},
|
|
453
|
+
stagePath: { completed: 'завершён', upcoming: 'предстоит' },
|
|
454
|
+
breadcrumb: {
|
|
455
|
+
ariaLabel: 'Хлебные крошки',
|
|
456
|
+
},
|
|
457
|
+
filterChip: {
|
|
458
|
+
dismiss: 'Удалить фильтр',
|
|
459
|
+
},
|
|
460
|
+
entityChip: {
|
|
461
|
+
unavailable: '(недоступно)',
|
|
462
|
+
loading: '(загружается)',
|
|
463
|
+
},
|
|
464
|
+
dashboardWidget: {
|
|
465
|
+
trendUp: 'Рост',
|
|
466
|
+
trendDown: 'Снижение',
|
|
467
|
+
trendFlat: 'Без изменений',
|
|
468
|
+
loading: 'Загрузка…',
|
|
469
|
+
},
|
|
470
|
+
stat: {
|
|
471
|
+
loading: 'Загрузка…',
|
|
472
|
+
noData: 'Нет данных',
|
|
473
|
+
},
|
|
474
|
+
sparkline: {
|
|
475
|
+
summary: ({ label, first, last, min, max }) =>
|
|
476
|
+
`${label as string}: с ${first as string} до ${last as string}, минимум ${min as string}, максимум ${max as string}`,
|
|
477
|
+
noData: ({ label }) => `${label as string}: нет данных`,
|
|
478
|
+
},
|
|
479
|
+
chart: {
|
|
480
|
+
empty: 'Нет данных за этот период',
|
|
481
|
+
keyboardHint:
|
|
482
|
+
'Используйте стрелки для просмотра значений. Все значения также есть в таблице данных.',
|
|
483
|
+
category: 'Категория',
|
|
484
|
+
noData: 'Нет данных',
|
|
485
|
+
markers: 'Отметки',
|
|
486
|
+
},
|
|
487
|
+
treeView: {
|
|
488
|
+
loading: 'Загрузка…',
|
|
489
|
+
loadError: 'Не удалось загрузить',
|
|
490
|
+
retry: 'Повторить',
|
|
491
|
+
chartHint:
|
|
492
|
+
'Стрелки вверх и вниз — переход между уровнями, влево и вправо — между соседними элементами.',
|
|
493
|
+
},
|
|
494
|
+
catalogPicker: {
|
|
495
|
+
search: 'Поиск…',
|
|
496
|
+
categories: 'Категории',
|
|
497
|
+
all: 'Все',
|
|
498
|
+
resultCount: ({ count }) =>
|
|
499
|
+
`${count as number} ${ruPlural(count as number, ['результат', 'результата', 'результатов'])}`,
|
|
500
|
+
noMatches: 'Ничего не найдено',
|
|
501
|
+
},
|
|
502
|
+
pillMenu: {
|
|
503
|
+
change: ({ label, name }) => `Изменить ${label as string}: ${name as string}`,
|
|
504
|
+
defaultLabel: 'статус',
|
|
505
|
+
busy: 'Сохранение…',
|
|
506
|
+
},
|
|
507
|
+
pageHeader: {
|
|
508
|
+
back: 'Назад',
|
|
509
|
+
},
|
|
510
|
+
rail: {
|
|
511
|
+
expand: 'Развернуть навигацию',
|
|
512
|
+
collapse: 'Свернуть навигацию',
|
|
513
|
+
navigation: 'Главная навигация',
|
|
514
|
+
expandGroup: 'Развернуть',
|
|
515
|
+
collapseGroup: 'Свернуть',
|
|
516
|
+
},
|
|
517
|
+
topBar: {
|
|
518
|
+
label: 'Верхняя панель приложения',
|
|
519
|
+
search: 'Поиск',
|
|
520
|
+
searchEmpty: 'Ничего не найдено',
|
|
521
|
+
searchLoading: 'Поиск…',
|
|
522
|
+
searchResults: ({ count }) =>
|
|
523
|
+
`${count as number} ${ruPlural(count as number, ['результат', 'результата', 'результатов'])}`,
|
|
524
|
+
},
|
|
525
|
+
field: {
|
|
526
|
+
optional: '(необязательно)',
|
|
527
|
+
},
|
|
528
|
+
liquidEditor: {
|
|
529
|
+
insertVariable: 'Вставить переменную',
|
|
530
|
+
noVariables: 'Нет доступных переменных',
|
|
531
|
+
preview: 'Предпросмотр',
|
|
532
|
+
previewRendering: 'Отрисовка…',
|
|
533
|
+
previewError: 'Не удалось отрисовать предпросмотр',
|
|
534
|
+
unknownVariable: ({ name }) => `Неизвестная переменная «${name}»`,
|
|
535
|
+
editorLabel: 'Шаблон Liquid',
|
|
536
|
+
suggestions: 'Подсказки',
|
|
537
|
+
collectionTag: 'список',
|
|
538
|
+
},
|
|
539
|
+
richTextEditor: {
|
|
540
|
+
editorLabel: 'Редактор форматированного текста',
|
|
541
|
+
toolbar: 'Форматирование',
|
|
542
|
+
blockType: 'Стиль текста',
|
|
543
|
+
paragraph: 'Абзац',
|
|
544
|
+
heading1: 'Заголовок 1',
|
|
545
|
+
heading2: 'Заголовок 2',
|
|
546
|
+
heading3: 'Заголовок 3',
|
|
547
|
+
blockquote: 'Цитата',
|
|
548
|
+
codeBlock: 'Блок кода',
|
|
549
|
+
mixed: 'Разное',
|
|
550
|
+
bold: 'Полужирный',
|
|
551
|
+
italic: 'Курсив',
|
|
552
|
+
underline: 'Подчёркнутый',
|
|
553
|
+
strike: 'Зачёркнутый',
|
|
554
|
+
bulletList: 'Маркированный список',
|
|
555
|
+
orderedList: 'Нумерованный список',
|
|
556
|
+
link: 'Ссылка',
|
|
557
|
+
emoji: 'Эмодзи',
|
|
558
|
+
linkUrl: 'URL ссылки',
|
|
559
|
+
linkUrlPlaceholder: 'https://… или /path',
|
|
560
|
+
linkApply: 'Применить',
|
|
561
|
+
linkRemove: 'Удалить ссылку',
|
|
562
|
+
linkEditorLabel: 'Редактирование ссылки',
|
|
563
|
+
undo: 'Отменить',
|
|
564
|
+
redo: 'Повторить',
|
|
565
|
+
mentionsLabel: 'Упоминания',
|
|
566
|
+
mentionsEmpty: 'Нет совпадений',
|
|
567
|
+
blockInsert: 'Вставить блок ниже',
|
|
568
|
+
blockActions: 'Действия с блоком',
|
|
569
|
+
blockTurnInto: 'Преобразовать в',
|
|
570
|
+
blockDuplicate: 'Дублировать',
|
|
571
|
+
blockMoveUp: 'Переместить вверх',
|
|
572
|
+
blockMoveDown: 'Переместить вниз',
|
|
573
|
+
blockDelete: 'Удалить',
|
|
574
|
+
upload: 'Добавить файл',
|
|
575
|
+
uploadingFile: 'Загрузка…',
|
|
576
|
+
uploadFailed: 'Не удалось загрузить',
|
|
577
|
+
uploadRetry: 'Повторить',
|
|
578
|
+
uploadRemove: 'Удалить',
|
|
579
|
+
attachmentConfigure: 'Настроить',
|
|
580
|
+
attachmentAlt: 'Альт-текст',
|
|
581
|
+
attachmentAlign: 'Выравнивание',
|
|
582
|
+
attachmentAlignLeft: 'По левому краю',
|
|
583
|
+
attachmentAlignCenter: 'По центру',
|
|
584
|
+
attachmentAlignRight: 'По правому краю',
|
|
585
|
+
attachmentWidth: 'Ширина',
|
|
586
|
+
attachmentWidthReset: 'Сбросить',
|
|
587
|
+
attachmentResize: 'Потяните, чтобы изменить размер',
|
|
588
|
+
attachmentReplace: 'Заменить',
|
|
589
|
+
attachmentOpen: 'Открыть',
|
|
590
|
+
attachmentDownload: 'Скачать',
|
|
591
|
+
textColor: 'Цвет текста',
|
|
592
|
+
highlight: 'Выделение',
|
|
593
|
+
colorClear: 'По умолчанию',
|
|
594
|
+
colorGray: 'Серый',
|
|
595
|
+
colorRed: 'Красный',
|
|
596
|
+
colorCoral: 'Коралловый',
|
|
597
|
+
colorOrange: 'Оранжевый',
|
|
598
|
+
colorAmber: 'Янтарный',
|
|
599
|
+
colorGold: 'Золотой',
|
|
600
|
+
colorYellow: 'Жёлтый',
|
|
601
|
+
colorOlive: 'Оливковый',
|
|
602
|
+
colorLime: 'Лаймовый',
|
|
603
|
+
colorGreen: 'Зелёный',
|
|
604
|
+
colorEmerald: 'Изумрудный',
|
|
605
|
+
colorMint: 'Мятный',
|
|
606
|
+
colorTeal: 'Бирюзовый',
|
|
607
|
+
colorCyan: 'Циан',
|
|
608
|
+
colorSky: 'Небесный',
|
|
609
|
+
colorBlue: 'Синий',
|
|
610
|
+
colorNavy: 'Тёмно-синий',
|
|
611
|
+
colorIndigo: 'Индиго',
|
|
612
|
+
colorViolet: 'Фиолетовый',
|
|
613
|
+
colorLavender: 'Лавандовый',
|
|
614
|
+
colorPurple: 'Пурпурный',
|
|
615
|
+
colorPlum: 'Сливовый',
|
|
616
|
+
colorFuchsia: 'Фуксия',
|
|
617
|
+
colorMagenta: 'Маджента',
|
|
618
|
+
colorPink: 'Розовый',
|
|
619
|
+
colorRose: 'Розово-красный',
|
|
620
|
+
colorBrown: 'Коричневый',
|
|
621
|
+
colorTaupe: 'Тауп',
|
|
622
|
+
colorSlate: 'Грифельный',
|
|
623
|
+
colorStone: 'Каменный',
|
|
624
|
+
colorCharcoal: 'Угольный',
|
|
625
|
+
},
|
|
626
|
+
relativeDateInput: {
|
|
627
|
+
today: 'Сегодня',
|
|
628
|
+
now: 'Сейчас',
|
|
629
|
+
boundary: ({ edge, scope, period }) => {
|
|
630
|
+
// Genitive: «начало этой недели», «конец следующего квартала».
|
|
631
|
+
const feminine = period === 'week';
|
|
632
|
+
const scopes = feminine
|
|
633
|
+
? { this: 'этой', last: 'прошлой', next: 'следующей' }
|
|
634
|
+
: { this: 'этого', last: 'прошлого', next: 'следующего' };
|
|
635
|
+
const periods = { week: 'недели', month: 'месяца', quarter: 'квартала', year: 'года' };
|
|
636
|
+
return `${edge === 'start' ? 'Начало' : 'Конец'} ${scopes[scope]} ${periods[period]}`;
|
|
637
|
+
},
|
|
638
|
+
units: ({ unit, n }) => {
|
|
639
|
+
const forms = {
|
|
640
|
+
d: ['день', 'дня', 'дней'],
|
|
641
|
+
w: ['неделя', 'недели', 'недель'],
|
|
642
|
+
m: ['месяц', 'месяца', 'месяцев'],
|
|
643
|
+
y: ['год', 'года', 'лет'],
|
|
644
|
+
h: ['час', 'часа', 'часов'],
|
|
645
|
+
min: ['минута', 'минуты', 'минут'],
|
|
646
|
+
} as const;
|
|
647
|
+
return ruPlural(n, forms[unit]);
|
|
648
|
+
},
|
|
649
|
+
calendarPeriod: ({ scope, period }) => {
|
|
650
|
+
// «Текущая неделя», «Прошлый квартал»: the adjective agrees with the period's gender.
|
|
651
|
+
const scopes =
|
|
652
|
+
period === 'week'
|
|
653
|
+
? { this: 'Текущая', last: 'Прошлая', next: 'Следующая' }
|
|
654
|
+
: { this: 'Текущий', last: 'Прошлый', next: 'Следующий' };
|
|
655
|
+
const periods = { week: 'неделя', month: 'месяц', quarter: 'квартал', year: 'год' };
|
|
656
|
+
return `${scopes[scope]} ${periods[period]}`;
|
|
657
|
+
},
|
|
658
|
+
periodToDate: ({ period }) =>
|
|
659
|
+
`С начала ${{ week: 'недели', month: 'месяца', quarter: 'квартала', year: 'года' }[period]}`,
|
|
660
|
+
kinds: {
|
|
661
|
+
past: 'Последние',
|
|
662
|
+
coming: 'Ближайшие',
|
|
663
|
+
calendar: 'Календарный период',
|
|
664
|
+
toDate: 'С начала периода',
|
|
665
|
+
},
|
|
666
|
+
exactDate: 'Точная дата',
|
|
667
|
+
date: 'Дата',
|
|
668
|
+
sign: 'Направление',
|
|
669
|
+
amount: 'Количество',
|
|
670
|
+
unit: 'Единица',
|
|
671
|
+
anchor: 'Точка отсчёта',
|
|
672
|
+
kind: 'Тип периода',
|
|
673
|
+
period: 'Период',
|
|
674
|
+
errorRange: ({ min, max }) => `Введите целое число от ${min} до ${max}`,
|
|
675
|
+
unrecognised: ({ value }) => `Нераспознанное значение: ${value}`,
|
|
676
|
+
},
|
|
677
|
+
};
|