@chrome-consulting/krit-ui 0.0.49
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/README.md +69 -0
- package/dist/assets/index.d.ts +201 -0
- package/dist/components/ui/attachmentsSection.d.ts +54 -0
- package/dist/components/ui/badge.d.ts +32 -0
- package/dist/components/ui/badgeVariants.d.ts +6 -0
- package/dist/components/ui/banner.d.ts +60 -0
- package/dist/components/ui/bottom-menu.d.ts +41 -0
- package/dist/components/ui/button.d.ts +27 -0
- package/dist/components/ui/buttonVariants.d.ts +4 -0
- package/dist/components/ui/calendar.d.ts +18 -0
- package/dist/components/ui/card.d.ts +87 -0
- package/dist/components/ui/carousel.d.ts +52 -0
- package/dist/components/ui/checkbox.d.ts +30 -0
- package/dist/components/ui/collapsible-section.d.ts +37 -0
- package/dist/components/ui/collapsible.d.ts +18 -0
- package/dist/components/ui/command.d.ts +102 -0
- package/dist/components/ui/confirm-modal.d.ts +33 -0
- package/dist/components/ui/data-table.d.ts +94 -0
- package/dist/components/ui/date-picker.d.ts +69 -0
- package/dist/components/ui/dialog.d.ts +66 -0
- package/dist/components/ui/dot.d.ts +10 -0
- package/dist/components/ui/dropdown-menu.d.ts +67 -0
- package/dist/components/ui/file-input.d.ts +36 -0
- package/dist/components/ui/filters-column-header.d.ts +28 -0
- package/dist/components/ui/form.d.ts +86 -0
- package/dist/components/ui/form.lib.d.ts +23 -0
- package/dist/components/ui/header.d.ts +39 -0
- package/dist/components/ui/input.d.ts +30 -0
- package/dist/components/ui/label.d.ts +23 -0
- package/dist/components/ui/multi-select.d.ts +100 -0
- package/dist/components/ui/nav-panel.d.ts +52 -0
- package/dist/components/ui/nav.d.ts +52 -0
- package/dist/components/ui/network-error-message.d.ts +46 -0
- package/dist/components/ui/notification.d.ts +34 -0
- package/dist/components/ui/notificationVariants.d.ts +4 -0
- package/dist/components/ui/number-input.d.ts +149 -0
- package/dist/components/ui/page-layout.d.ts +28 -0
- package/dist/components/ui/page-view-mode-toggle.d.ts +22 -0
- package/dist/components/ui/pagination.d.ts +121 -0
- package/dist/components/ui/popover.d.ts +36 -0
- package/dist/components/ui/post-card.d.ts +273 -0
- package/dist/components/ui/preloader.d.ts +23 -0
- package/dist/components/ui/previewFull.d.ts +40 -0
- package/dist/components/ui/previews.d.ts +69 -0
- package/dist/components/ui/previewsCompactList.d.ts +18 -0
- package/dist/components/ui/previewsShared.d.ts +8 -0
- package/dist/components/ui/profile.d.ts +41 -0
- package/dist/components/ui/radio-group.d.ts +48 -0
- package/dist/components/ui/resizable.d.ts +65 -0
- package/dist/components/ui/scroll-area.d.ts +5 -0
- package/dist/components/ui/secondary-panel-section.d.ts +20 -0
- package/dist/components/ui/segmented-control.d.ts +35 -0
- package/dist/components/ui/select-header-filter.d.ts +23 -0
- package/dist/components/ui/select.d.ts +91 -0
- package/dist/components/ui/separator.d.ts +34 -0
- package/dist/components/ui/sheet.d.ts +118 -0
- package/dist/components/ui/skeleton.d.ts +24 -0
- package/dist/components/ui/sort-component.d.ts +46 -0
- package/dist/components/ui/sortable-header.d.ts +12 -0
- package/dist/components/ui/switch.d.ts +25 -0
- package/dist/components/ui/table.d.ts +104 -0
- package/dist/components/ui/tabs.d.ts +52 -0
- package/dist/components/ui/tabsVariants.d.ts +6 -0
- package/dist/components/ui/text-area.d.ts +37 -0
- package/dist/components/ui/theme-provider.d.ts +136 -0
- package/dist/components/ui/time-picker.d.ts +29 -0
- package/dist/components/ui/time-picker.lib.d.ts +6 -0
- package/dist/components/ui/toast.d.ts +80 -0
- package/dist/components/ui/toaster.d.ts +22 -0
- package/dist/components/ui/tooltip.d.ts +65 -0
- package/dist/components/ui/tree-view.d.ts +96 -0
- package/dist/components/ui/widget-plan-fact.d.ts +86 -0
- package/dist/date.d.ts +8 -0
- package/dist/hooks/useColumnFilters.d.ts +6 -0
- package/dist/hooks/useColumnSizing.d.ts +20 -0
- package/dist/hooks/useCombinedRefs.d.ts +1 -0
- package/dist/hooks/useConfirm.d.ts +49 -0
- package/dist/hooks/useNotify.d.ts +28 -0
- package/dist/hooks/usePreviewsFilePicker.d.ts +40 -0
- package/dist/hooks/useSidebar.d.ts +10 -0
- package/dist/hooks/useStoredExpand.d.ts +18 -0
- package/dist/hooks/useStoredFields.d.ts +4 -0
- package/dist/hooks/useStoredTabs.d.ts +4 -0
- package/dist/hooks/useTableStates.d.ts +26 -0
- package/dist/hooks/useTheme.d.ts +1 -0
- package/dist/hooks/useToast.d.ts +44 -0
- package/dist/hooks/useTranslation.d.ts +4 -0
- package/dist/krit-ui.d.ts +2 -0
- package/dist/krit-ui.js +27485 -0
- package/dist/krit-ui.umd.cjs +140 -0
- package/dist/lib/attachments.d.ts +245 -0
- package/dist/lib/cookies.d.ts +1 -0
- package/dist/lib/file.d.ts +52 -0
- package/dist/lib/infinite-scroll.d.ts +13 -0
- package/dist/lib/selectUtils.d.ts +14 -0
- package/dist/lib/text.d.ts +1 -0
- package/dist/lib/zod.d.ts +27 -0
- package/dist/main.d.ts +85 -0
- package/dist/style.css +1 -0
- package/dist/utils.d.ts +2 -0
- package/package.json +122 -0
- package/tailwind.config.cjs +273 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Компонент-плейсхолдер для отображения во время загрузки контента.
|
|
4
|
+
* Создает анимированный эффект пульсации, имитирующий загружаемый контент.
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @param {object} props - Параметры компонента
|
|
8
|
+
* @param {string} [props.className] - Дополнительные CSS-классы для кастомизации
|
|
9
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Стандартные HTML-атрибуты div элемента
|
|
10
|
+
* @returns {React.ReactElement} Анимированный плейсхолдер загрузки
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Простой плейсхолдер
|
|
14
|
+
* <Skeleton className="h-4 w-full" />
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Плейсхолдер для аватара
|
|
18
|
+
* <Skeleton className="h-12 w-12 rounded-full" />
|
|
19
|
+
*/
|
|
20
|
+
declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
declare namespace Skeleton {
|
|
22
|
+
var displayName: string;
|
|
23
|
+
}
|
|
24
|
+
export { Skeleton };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { OptionType } from './select';
|
|
2
|
+
/**
|
|
3
|
+
* Типы для сортировки
|
|
4
|
+
*/
|
|
5
|
+
export declare const SortOrder: {
|
|
6
|
+
readonly ASC: "asc";
|
|
7
|
+
readonly DESC: "desc";
|
|
8
|
+
};
|
|
9
|
+
export type SortOrderType = (typeof SortOrder)[keyof typeof SortOrder];
|
|
10
|
+
export interface SortComponentProps<T extends string> {
|
|
11
|
+
/** Текущий порядок сортировки */
|
|
12
|
+
sortOrder?: SortOrderType;
|
|
13
|
+
/** Текущее поле сортировки */
|
|
14
|
+
sortField?: T;
|
|
15
|
+
/** Дополнительные классы для контейнера */
|
|
16
|
+
className?: string;
|
|
17
|
+
/** Опции для выбора поля сортировки */
|
|
18
|
+
options: OptionType[];
|
|
19
|
+
/** Текст плейсхолдера для селекта */
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/** Обработчик переключения порядка сортировки */
|
|
22
|
+
onOrderToggle?: () => void;
|
|
23
|
+
/** Обработчик изменения поля сортировки */
|
|
24
|
+
onFieldChange?: (field: T) => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Компонент сортировки с выбором поля и переключением направления
|
|
28
|
+
* Соответствует дизайну из Figma: кнопка с иконкой фильтра слева, текстом посередине и chevron справа
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @param {SortComponentProps} props - Параметры компонента
|
|
32
|
+
* @returns {React.ReactElement} Компонент сортировки
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* <SortComponent
|
|
36
|
+
* sortOrder={SortOrder.DESC}
|
|
37
|
+
* sortField="date"
|
|
38
|
+
* options={[
|
|
39
|
+
* { label: 'Дата создания', value: 'date' },
|
|
40
|
+
* { label: 'Название', value: 'name' }
|
|
41
|
+
* ]}
|
|
42
|
+
* onOrderToggle={() => {}}
|
|
43
|
+
* onFieldChange={(field) => {}}
|
|
44
|
+
* />
|
|
45
|
+
*/
|
|
46
|
+
export declare const SortComponent: <T extends string>({ sortOrder, sortField, className, options, placeholder, onOrderToggle, onFieldChange, }: SortComponentProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { Column, RowData } from '@tanstack/react-table';
|
|
3
|
+
interface SortableHeaderProps<TData extends RowData, TValue = unknown> {
|
|
4
|
+
className?: string;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
column: Column<TData, TValue>;
|
|
7
|
+
enableMultiSort?: boolean;
|
|
8
|
+
maxMultiSortColumns?: number;
|
|
9
|
+
isMultiSortEvent?: (e: MouseEvent) => boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const SortableHeader: <TData extends RowData, TValue = unknown>({ className, children, column, enableMultiSort, maxMultiSortColumns, isMultiSortEvent, }: SortableHeaderProps<TData, TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
3
|
+
export interface SwitchProps extends React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root> {
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Переключатель (switch) для изменения состояния между включенным и выключенным.
|
|
8
|
+
* Основан на Radix UI Switch с кастомизацией стилей и поддержкой доступности.
|
|
9
|
+
*
|
|
10
|
+
* @component
|
|
11
|
+
* @param {SwitchProps} props - Параметры компонента
|
|
12
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
13
|
+
* @param {boolean} [props.checked] - Состояние переключателя (включен/выключен)
|
|
14
|
+
* @param {boolean} [props.disabled] - Флаг отключения переключателя
|
|
15
|
+
* @param {function} [props.onCheckedChange] - Callback при изменении состояния
|
|
16
|
+
* @param {React.Ref<React.ElementRef<typeof SwitchPrimitives.Root>>} ref - Реф для доступа к DOM-элементу
|
|
17
|
+
* @returns {React.ReactElement} Переключатель с заданными свойствами
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <Switch />
|
|
21
|
+
* <Switch checked onChange={handleChange} />
|
|
22
|
+
* <Switch disabled />
|
|
23
|
+
*/
|
|
24
|
+
declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
|
|
25
|
+
export { Switch };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Контейнер таблицы с поддержкой прокрутки и базовой стилизацией.
|
|
4
|
+
*
|
|
5
|
+
* @component
|
|
6
|
+
* @param {object} props - Параметры компонента
|
|
7
|
+
* @param {string} [props.className] - Дополнительные CSS-классы для элемента table
|
|
8
|
+
* @param {string} [props.rootClassName] - Дополнительные CSS-классы для контейнера
|
|
9
|
+
* @param {boolean} [props.striped=true] - Чередование фона строк (полосатые строки)
|
|
10
|
+
* @param {React.Ref<HTMLTableElement>} ref - Реф для доступа к DOM-элементу таблицы
|
|
11
|
+
* @returns {React.ReactElement} Контейнер таблицы с вложенной таблицей
|
|
12
|
+
*/
|
|
13
|
+
declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & {
|
|
14
|
+
rootClassName?: string;
|
|
15
|
+
striped?: boolean;
|
|
16
|
+
} & React.RefAttributes<HTMLTableElement>>;
|
|
17
|
+
/**
|
|
18
|
+
* Заголовок таблицы. Содержит элементы TableHead.
|
|
19
|
+
* Поддерживает режим липкого заголовка, который остается видимым при прокрутке.
|
|
20
|
+
*
|
|
21
|
+
* @component
|
|
22
|
+
* @param {object} props - Параметры компонента
|
|
23
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
24
|
+
* @param {boolean} [props.sticky] - Если true, заголовок фиксируется при прокрутке (position: sticky)
|
|
25
|
+
* @param {React.Ref<HTMLTableSectionElement>} ref - Реф для доступа к DOM-элементу
|
|
26
|
+
* @returns {React.ReactElement} Секция заголовка таблицы
|
|
27
|
+
*/
|
|
28
|
+
declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & {
|
|
29
|
+
sticky?: boolean;
|
|
30
|
+
} & React.RefAttributes<HTMLTableSectionElement>>;
|
|
31
|
+
/**
|
|
32
|
+
* Тело таблицы. Содержит основные данные таблицы в виде TableRow и TableCell.
|
|
33
|
+
*
|
|
34
|
+
* @component
|
|
35
|
+
* @param {object} props - Параметры компонента
|
|
36
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
37
|
+
* @param {React.Ref<HTMLTableSectionElement>} ref - Реф для доступа к DOM-элементу
|
|
38
|
+
* @returns {React.ReactElement} Секция тела таблицы
|
|
39
|
+
*/
|
|
40
|
+
declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
41
|
+
/**
|
|
42
|
+
* Подвал таблицы. Обычно содержит итоги или дополнительную информацию.
|
|
43
|
+
*
|
|
44
|
+
* @component
|
|
45
|
+
* @param {object} props - Параметры компонента
|
|
46
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
47
|
+
* @param {React.Ref<HTMLTableSectionElement>} ref - Реф для доступа к DOM-элементу
|
|
48
|
+
* @returns {React.ReactElement} Секция подвала таблицы
|
|
49
|
+
*/
|
|
50
|
+
declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
51
|
+
/**
|
|
52
|
+
* Строка таблицы. Содержит ячейки TableHead или TableCell.
|
|
53
|
+
* Поддерживает интерактивные состояния: hover и выделение.
|
|
54
|
+
*
|
|
55
|
+
* @component
|
|
56
|
+
* @param {object} props - Параметры компонента
|
|
57
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
58
|
+
* @param {number} [props.dataIndex] - Индекс строки в данных, добавляется как data-атрибут для доступа через DOM
|
|
59
|
+
* @param {'table' | 'list'} [props.variant='table'] - Вариант стиля: 'table' - стандартный стиль, 'list' - стиль списка
|
|
60
|
+
* @param {React.Ref<HTMLTableRowElement>} ref - Реф для доступа к DOM-элементу
|
|
61
|
+
* @returns {React.ReactElement} Строка таблицы
|
|
62
|
+
*/
|
|
63
|
+
declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & {
|
|
64
|
+
dataIndex?: number;
|
|
65
|
+
variant?: "table" | "list";
|
|
66
|
+
isHeader?: boolean;
|
|
67
|
+
} & React.RefAttributes<HTMLTableRowElement>>;
|
|
68
|
+
/**
|
|
69
|
+
* Заголовочная ячейка таблицы. Используется в TableHeader.
|
|
70
|
+
*
|
|
71
|
+
* @component
|
|
72
|
+
* @param {object} props - Параметры компонента
|
|
73
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
74
|
+
* @param {'table' | 'list'} [props.variant='table'] - Вариант стиля: 'table' - стандартный стиль, 'list' - стиль списка
|
|
75
|
+
* @param {React.Ref<HTMLTableCellElement>} ref - Реф для доступа к DOM-элементу
|
|
76
|
+
* @returns {React.ReactElement} Заголовочная ячейка таблицы
|
|
77
|
+
*/
|
|
78
|
+
declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & {
|
|
79
|
+
variant?: "table" | "list";
|
|
80
|
+
} & React.RefAttributes<HTMLTableCellElement>>;
|
|
81
|
+
/**
|
|
82
|
+
* Ячейка таблицы с данными. Используется в TableBody.
|
|
83
|
+
*
|
|
84
|
+
* @component
|
|
85
|
+
* @param {object} props - Параметры компонента
|
|
86
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
87
|
+
* @param {'table' | 'list'} [props.variant='table'] - Вариант стиля: 'table' - стандартный стиль, 'list' - стиль списка
|
|
88
|
+
* @param {React.Ref<HTMLTableCellElement>} ref - Реф для доступа к DOM-элементу
|
|
89
|
+
* @returns {React.ReactElement} Ячейка таблицы с данными
|
|
90
|
+
*/
|
|
91
|
+
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & {
|
|
92
|
+
variant?: "table" | "list";
|
|
93
|
+
} & React.RefAttributes<HTMLTableCellElement>>;
|
|
94
|
+
/**
|
|
95
|
+
* Заголовок таблицы. Описывает содержание таблицы.
|
|
96
|
+
*
|
|
97
|
+
* @component
|
|
98
|
+
* @param {object} props - Параметры компонента
|
|
99
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
100
|
+
* @param {React.Ref<HTMLTableCaptionElement>} ref - Реф для доступа к DOM-элементу
|
|
101
|
+
* @returns {React.ReactElement} Заголовок таблицы
|
|
102
|
+
*/
|
|
103
|
+
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
104
|
+
export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
4
|
+
/**
|
|
5
|
+
* Контейнер для компонентов вкладок. Обеспечивает базовую функциональность и состояние вкладок.
|
|
6
|
+
* Основан на Radix UI Tabs.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root>} props - Свойства компонента
|
|
10
|
+
* @returns {React.ReactElement} Контейнер вкладок
|
|
11
|
+
*/
|
|
12
|
+
declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
/**
|
|
14
|
+
* Контейнер для переключателей вкладок. Обеспечивает группировку и стилизацию кнопок переключения.
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @param {object} props - Параметры компонента
|
|
18
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
19
|
+
* @param {VariantProps<typeof tabsListVariants>['size']} [props.size] - Размер вкладок (default | icon)
|
|
20
|
+
* @param {React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>} props - Стандартные свойства List из Radix UI
|
|
21
|
+
* @param {React.Ref<React.ElementRef<typeof TabsPrimitive.List>>} ref - Реф для доступа к DOM-элементу
|
|
22
|
+
* @returns {React.ReactElement} Контейнер переключателей вкладок
|
|
23
|
+
*/
|
|
24
|
+
declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
|
|
25
|
+
size?: "default" | "icon" | null | undefined;
|
|
26
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
|
|
27
|
+
/**
|
|
28
|
+
* Переключатель отдельной вкладки. Управляет отображением связанного контента.
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @param {object} props - Параметры компонента
|
|
32
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
33
|
+
* @param {VariantProps<typeof tabsTriggerVariants>['size']} [props.size] - Размер вкладки (default | icon). Используйте 'icon' для вкладок только с иконкой без текста
|
|
34
|
+
* @param {React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>} props - Стандартные свойства Trigger из Radix UI
|
|
35
|
+
* @param {React.Ref<React.ElementRef<typeof TabsPrimitive.Trigger>>} ref - Реф для доступа к DOM-элементу
|
|
36
|
+
* @returns {React.ReactElement} Переключатель вкладки
|
|
37
|
+
*/
|
|
38
|
+
declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: ({
|
|
39
|
+
size?: "default" | "icon" | null | undefined;
|
|
40
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLButtonElement>>;
|
|
41
|
+
/**
|
|
42
|
+
* Контейнер для контента вкладки. Отображается при активации связанного переключателя.
|
|
43
|
+
*
|
|
44
|
+
* @component
|
|
45
|
+
* @param {object} props - Параметры компонента
|
|
46
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
47
|
+
* @param {React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>} props - Стандартные свойства Content из Radix UI
|
|
48
|
+
* @param {React.Ref<React.ElementRef<typeof TabsPrimitive.Content>>} ref - Реф для доступа к DOM-элементу
|
|
49
|
+
* @returns {React.ReactElement} Контейнер контента вкладки
|
|
50
|
+
*/
|
|
51
|
+
declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
52
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const tabsListVariants: (props?: ({
|
|
2
|
+
size?: "default" | "icon" | null | undefined;
|
|
3
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
4
|
+
export declare const tabsTriggerVariants: (props?: ({
|
|
5
|
+
size?: "default" | "icon" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaElement> {
|
|
3
|
+
error?: string | boolean;
|
|
4
|
+
rows: number;
|
|
5
|
+
onEnter?: (value: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Компонент текстовой области с расширенной функциональностью, включая подсчет символов,
|
|
9
|
+
* обработку нажатия Enter и отображение ошибок.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
* @param {object} props - Параметры компонента
|
|
13
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
14
|
+
* @param {string|boolean} [props.error] - Флаг или сообщение об ошибке
|
|
15
|
+
* @param {number} props.rows - Количество видимых строк текста
|
|
16
|
+
* @param {function} [props.onEnter] - Callback-функция при нажатии Enter
|
|
17
|
+
* @param {React.InputHTMLAttributes<HTMLTextAreaElement>} props - Стандартные свойства textarea
|
|
18
|
+
* @param {React.Ref<HTMLTextAreaElement>} ref - Реф для доступа к DOM-элементу
|
|
19
|
+
* @returns {React.ReactElement} Текстовая область с дополнительной функциональностью
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <TextArea
|
|
23
|
+
* placeholder="Введите текст"
|
|
24
|
+
* rows={4}
|
|
25
|
+
* maxLength={500}
|
|
26
|
+
* onEnter={(value) => console.log(value)}
|
|
27
|
+
* />
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* <TextArea
|
|
31
|
+
* placeholder="Введите текст"
|
|
32
|
+
* rows={4}
|
|
33
|
+
* error="Обязательное поле"
|
|
34
|
+
* />
|
|
35
|
+
*/
|
|
36
|
+
declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
37
|
+
export { TextArea };
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
export type Theme = 'dark' | 'light' | 'system';
|
|
2
|
+
/**
|
|
3
|
+
* Версия темы. Определяет постфикс для классов тем в CSS.
|
|
4
|
+
*
|
|
5
|
+
* **Как расширять тип:**
|
|
6
|
+
* Для добавления новой версии темы расширьте тип через union:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* export type ThemeVersion = 'Krit' | 'NordGold' | 'Hunter';
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* **Правила именования классов в CSS:**
|
|
12
|
+
* - Классы должны начинаться с `light` или `dark`
|
|
13
|
+
* - После базового названия темы должен идти постфикс версии (значение из ThemeVersion)
|
|
14
|
+
* - Примеры корректных классов:
|
|
15
|
+
* - `light` (версия не указана или пустая строка)
|
|
16
|
+
* - `dark` (версия не указана или пустая строка)
|
|
17
|
+
* - `lightKrit` (themeVersion='Krit')
|
|
18
|
+
* - `darkKrit` (themeVersion='Krit')
|
|
19
|
+
* - `lightNordGold` (themeVersion='NordGold')
|
|
20
|
+
* - `darkNordGold` (themeVersion='NordGold')
|
|
21
|
+
* - `lightHunter` (themeVersion='Hunter')
|
|
22
|
+
* - `darkHunter` (themeVersion='Hunter')
|
|
23
|
+
* - `light_project_name` (themeVersion='project_name')
|
|
24
|
+
* - `dark_project_name` (themeVersion='project_name')
|
|
25
|
+
*
|
|
26
|
+
* **Пример использования:**
|
|
27
|
+
* При `themeVersion='Krit'` будут применяться классы `.light`, `.lightKrit` и `.dark`, `.darkKrit`.
|
|
28
|
+
* При `themeVersion='NordGold'` будут применяться классы `.light`, `.lightNordGold` и `.dark`, `.darkNordGold`.
|
|
29
|
+
* При `themeVersion='Hunter'` будут применяться классы `.light`, `.lightHunter` и `.dark`, `.darkHunter`.
|
|
30
|
+
* Эти классы должны быть определены в соответствующем CSS файле (например, `colorsKrit.css`, `colorsNordGold.css`, `colorsHunter.css`).
|
|
31
|
+
* Базовые классы `.light` и `.dark` всегда добавляются вместе с классами версии темы.
|
|
32
|
+
*
|
|
33
|
+
* **Важно:**
|
|
34
|
+
* - Значение `themeVersion` должно точно соответствовать постфиксу в CSS классах
|
|
35
|
+
* - Классы автоматически удаляются из DOM перед применением новой темы
|
|
36
|
+
* - Все классы, начинающиеся с `light` или `dark`, будут удалены при переключении темы
|
|
37
|
+
*/
|
|
38
|
+
export type ThemeVersion = 'Krit' | 'NordGold' | 'Hunter';
|
|
39
|
+
declare const translations: {
|
|
40
|
+
expand: string;
|
|
41
|
+
empty: string;
|
|
42
|
+
confirmAction: string;
|
|
43
|
+
warning: string;
|
|
44
|
+
maxNChars: string;
|
|
45
|
+
cancellation: string;
|
|
46
|
+
displayBy: string;
|
|
47
|
+
selected: string;
|
|
48
|
+
all: string;
|
|
49
|
+
of: string;
|
|
50
|
+
selectDate: string;
|
|
51
|
+
search: string;
|
|
52
|
+
notFound: string;
|
|
53
|
+
networkError: string;
|
|
54
|
+
refetch: string;
|
|
55
|
+
attachFile: string;
|
|
56
|
+
errorOccurred: string;
|
|
57
|
+
noMediaFiles: string;
|
|
58
|
+
networkErrorDescription: string;
|
|
59
|
+
confirmDeleteMedia: string;
|
|
60
|
+
delete: string;
|
|
61
|
+
imageSizeLimitMB: string;
|
|
62
|
+
audioSizeLimitMB: string;
|
|
63
|
+
pdfSizeLimitMB: string;
|
|
64
|
+
videoSizeLimitMB: string;
|
|
65
|
+
maxSizeOfFilesMB: string;
|
|
66
|
+
mb: string;
|
|
67
|
+
apply: string;
|
|
68
|
+
showAll: string;
|
|
69
|
+
chooseAll: string;
|
|
70
|
+
withoutSort: string;
|
|
71
|
+
listView: string;
|
|
72
|
+
tableView: string;
|
|
73
|
+
};
|
|
74
|
+
export type Translations = keyof typeof translations;
|
|
75
|
+
export type ThemeProviderProps = {
|
|
76
|
+
children: React.ReactNode;
|
|
77
|
+
/**
|
|
78
|
+
* Тема по умолчанию, которая будет применена при инициализации.
|
|
79
|
+
* Если не указана, будет использована системная тема или тема,
|
|
80
|
+
* сохраненная в localStorage (если `storageKey` указан).
|
|
81
|
+
*/
|
|
82
|
+
defaultTheme?: Theme;
|
|
83
|
+
/**
|
|
84
|
+
* Ключ для сохранения текущей темы в localStorage.
|
|
85
|
+
* Позволяет сохранять выбор темы пользователя между сессиями.
|
|
86
|
+
* Если не указан, тема не сохраняется.
|
|
87
|
+
*/
|
|
88
|
+
storageKey?: string;
|
|
89
|
+
/**
|
|
90
|
+
* Переводы для текстов.
|
|
91
|
+
* Ключи объекта — это идентификаторы переводов, значения — сами переводы.
|
|
92
|
+
*/
|
|
93
|
+
translations?: Record<Translations, string>;
|
|
94
|
+
/**
|
|
95
|
+
* Версия темы. Если указана, классы будут применены с постфиксом версии.
|
|
96
|
+
* Например, при themeVersion='2' будут использоваться классы .light2 и .dark2.
|
|
97
|
+
* Должна соответствовать классу в используемом colors.css файле.
|
|
98
|
+
*/
|
|
99
|
+
themeVersion?: ThemeVersion;
|
|
100
|
+
};
|
|
101
|
+
export type ThemeProviderState = {
|
|
102
|
+
theme: Theme;
|
|
103
|
+
setTheme: (theme: Theme) => void;
|
|
104
|
+
toggleTheme: () => void;
|
|
105
|
+
translations: Record<Translations, string>;
|
|
106
|
+
};
|
|
107
|
+
export declare const ThemeProviderContext: import('react').Context<ThemeProviderState>;
|
|
108
|
+
/**
|
|
109
|
+
* Провайдер темы для приложения. Управляет цветовой темой, переводами и CSS-переменными.
|
|
110
|
+
* Обеспечивает контекст для дочерних компонентов к текущей теме и функциям её изменения.
|
|
111
|
+
* Поддерживает сохранение выбранной темы в localStorage и синхронизацию с системными настройками.
|
|
112
|
+
*
|
|
113
|
+
* @component
|
|
114
|
+
* @param {object} props - Параметры компонента
|
|
115
|
+
* @param {React.ReactNode} props.children - Дочерние компоненты
|
|
116
|
+
* @param {Theme} [props.defaultTheme='system'] - Тема по умолчанию
|
|
117
|
+
* @param {string} [props.storageKey='app-ui-theme'] - Ключ для сохранения темы в localStorage
|
|
118
|
+
* @param {Record<Translations, string>} [props.translations] - Кастомные переводы
|
|
119
|
+
* @param {ThemeVersion} [props.themeVersion] - Версия темы (например, '2' для классов .light2 и .dark2)
|
|
120
|
+
* @returns {React.ReactElement} Провайдер темы с контекстом
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* <ThemeProvider defaultTheme="dark" storageKey="my-app-theme">
|
|
124
|
+
* <App />
|
|
125
|
+
* </ThemeProvider>
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* <ThemeProvider
|
|
129
|
+
* themeVersion="2"
|
|
130
|
+
* defaultTheme="dark"
|
|
131
|
+
* >
|
|
132
|
+
* <App />
|
|
133
|
+
* </ThemeProvider>
|
|
134
|
+
*/
|
|
135
|
+
export declare function ThemeProvider({ children, defaultTheme, storageKey, themeVersion, ...props }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { InputProps } from './input';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export interface TimePickerProps extends Omit<InputProps, 'onChange' | 'value' | 'type'> {
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Компонент выбора времени с маской ввода и выпадающим списком для удобного выбора.
|
|
9
|
+
* Поддерживает ручной ввод через клавиатуру и выбор через интерфейс с колонками часов и минут.
|
|
10
|
+
* Автоматически форматирует введенное время и валидирует значения.
|
|
11
|
+
*
|
|
12
|
+
* @component
|
|
13
|
+
* @param {object} props - Параметры компонента
|
|
14
|
+
* @param {string} props.value - Текущее значение времени в формате HH:MM
|
|
15
|
+
* @param {function} props.onChange - Callback-функция при изменении значения
|
|
16
|
+
* @param {string} [props.placeholder] - Текст-подсказка
|
|
17
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
18
|
+
* @param {React.Ref<HTMLInputElement>} ref - Реф для доступа к DOM-элементу input
|
|
19
|
+
* @returns {React.ReactElement} Компонент выбора времени
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* <TimePicker
|
|
23
|
+
* value="14:30"
|
|
24
|
+
* onChange={(time) => console.log(time)}
|
|
25
|
+
* placeholder="Выберите время"
|
|
26
|
+
* />
|
|
27
|
+
*/
|
|
28
|
+
declare const TimePicker: React.ForwardRefExoticComponent<TimePickerProps & React.RefAttributes<HTMLInputElement>>;
|
|
29
|
+
export { TimePicker };
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as ToastPrimitives from '@radix-ui/react-toast';
|
|
4
|
+
/**
|
|
5
|
+
* Провайдер для системы уведомлений Toast.
|
|
6
|
+
* Обеспечивает контекст и управление состоянием для всех Toast-компонентов.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @param {React.ComponentProps<typeof ToastPrimitives.Provider>} props - Свойства провайдера
|
|
10
|
+
* @returns {React.ReactElement} Провайдер системы уведомлений
|
|
11
|
+
*/
|
|
12
|
+
declare const ToastProvider: React.FC<ToastPrimitives.ToastProviderProps>;
|
|
13
|
+
/**
|
|
14
|
+
* Контейнер для отображения Toast-уведомлений.
|
|
15
|
+
* Фиксирует позицию и стилизацию области показа уведомлений.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @param {object} props - Свойства компонента
|
|
19
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
20
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Viewport>>} ref - React ref
|
|
21
|
+
* @returns {React.ReactElement} Контейнер для уведомлений
|
|
22
|
+
*/
|
|
23
|
+
declare const ToastViewport: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastViewportProps & React.RefAttributes<HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
|
|
24
|
+
/**
|
|
25
|
+
* Основной компонент Toast-уведомления.
|
|
26
|
+
* Поддерживает различные варианты отображения (default, destructive, success).
|
|
27
|
+
*
|
|
28
|
+
* @component
|
|
29
|
+
* @param {object} props - Свойства компонента
|
|
30
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
31
|
+
* @param {'default' | 'destructive' | 'success'} [props.variant] - Вариант стилизации
|
|
32
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Root>>} ref - React ref
|
|
33
|
+
* @returns {React.ReactElement} Компонент уведомления
|
|
34
|
+
*/
|
|
35
|
+
declare const Toast: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
|
|
36
|
+
variant?: "default" | "destructive" | "success" | null | undefined;
|
|
37
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLLIElement>>;
|
|
38
|
+
/**
|
|
39
|
+
* Кнопка действия внутри Toast-уведомления.
|
|
40
|
+
*
|
|
41
|
+
* @component
|
|
42
|
+
* @param {object} props - Свойства компонента
|
|
43
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
44
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Action>>} ref - React ref
|
|
45
|
+
* @returns {React.ReactElement} Кнопка действия
|
|
46
|
+
*/
|
|
47
|
+
declare const ToastAction: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
48
|
+
/**
|
|
49
|
+
* Кнопка закрытия Toast-уведомления.
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
* @param {object} props - Свойства компонента
|
|
53
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
54
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Close>>} ref - React ref
|
|
55
|
+
* @returns {React.ReactElement} Кнопка закрытия
|
|
56
|
+
*/
|
|
57
|
+
declare const ToastClose: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastCloseProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
58
|
+
/**
|
|
59
|
+
* Заголовок Toast-уведомления.
|
|
60
|
+
*
|
|
61
|
+
* @component
|
|
62
|
+
* @param {object} props - Свойства компонента
|
|
63
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
64
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Title>>} ref - React ref
|
|
65
|
+
* @returns {React.ReactElement} Заголовок уведомления
|
|
66
|
+
*/
|
|
67
|
+
declare const ToastTitle: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastTitleProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
/**
|
|
69
|
+
* Описание/содержание Toast-уведомления.
|
|
70
|
+
*
|
|
71
|
+
* @component
|
|
72
|
+
* @param {object} props - Свойства компонента
|
|
73
|
+
* @param {string} [props.className] - Дополнительные CSS-классы
|
|
74
|
+
* @param {React.Ref<React.ElementRef<typeof ToastPrimitives.Description>>} ref - React ref
|
|
75
|
+
* @returns {React.ReactElement} Описание уведомления
|
|
76
|
+
*/
|
|
77
|
+
declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastDescriptionProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
78
|
+
type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
|
|
79
|
+
type ToastActionElement = React.ReactElement<typeof ToastAction>;
|
|
80
|
+
export { type ToastProps, type ToastActionElement, ToastProvider, ToastViewport, Toast, ToastTitle, ToastDescription, ToastClose, ToastAction, };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Пропсы компонента Toaster
|
|
3
|
+
* @interface ToasterProps
|
|
4
|
+
* @property {string} [viewportClassname] - Дополнительные CSS-классы для контейнера уведомлений
|
|
5
|
+
*/
|
|
6
|
+
interface ToasterProps {
|
|
7
|
+
viewportClassname?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Компонент для отображения системы уведомлений Toast.
|
|
11
|
+
* Обеспечивает рендеринг всех активных уведомлений в портале.
|
|
12
|
+
* Использует Radix UI Portal для корректного позиционирования.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @param {ToasterProps} props - Пропсы компонента
|
|
16
|
+
* @returns {React.ReactElement} Провайдер и контейнер для уведомлений
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* <Toaster viewportClassname="custom-viewport" />
|
|
20
|
+
*/
|
|
21
|
+
export declare function Toaster(props: ToasterProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export {};
|