@true-engineering/true-react-common-ui-kit 3.50.1 → 3.52.0

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 CHANGED
@@ -12,6 +12,18 @@
12
12
 
13
13
  # Release Notes
14
14
 
15
+ ## 3.52.0
16
+
17
+ ### Changes
18
+
19
+ - **DatePicker**: Теперь в качестве локали принимается так же строка "ru" | "en"
20
+
21
+ ## 3.51.0
22
+
23
+ ### Changes
24
+
25
+ - **FlexibleTable**: Исправлена мемоизация строк при смещении
26
+
15
27
  ## 3.50.1
16
28
 
17
29
  ### Changes
@@ -26,6 +38,7 @@
26
38
  - **Input**: Добавлено обрезание лейбла многоточием. HTML-структура поменялась с `inputWrapper > input` на `inputWrapper > inputWithLabelWrapper > input`.
27
39
 
28
40
  Это также повлияло на все компоненты, использующие **Input**:
41
+
29
42
  - **DateInput**
30
43
  - **NumberInput**
31
44
  - **PhoneInput**
@@ -3,11 +3,11 @@ import ReactDatePicker from 'react-datepicker';
3
3
  import 'react-datepicker/dist/react-datepicker.css';
4
4
  import { ICommonProps } from '../../types';
5
5
  import { IDateInputProps } from '../DateInput';
6
- import { IDatePickerBaseProps, IRange } from './types';
6
+ import { IDatePickerBaseProps, IDatePickerLocale, IRange } from './types';
7
7
  import { IDatePickerStyles } from './DatePicker.styles';
8
8
  export interface IDatePickerProps extends IDatePickerBaseProps, ICommonProps<IDatePickerStyles> {
9
9
  selectedDate?: Date | null;
10
- locale: Locale;
10
+ locale: IDatePickerLocale;
11
11
  months?: string[];
12
12
  /** @default 'dd.MM.yyyy' */
13
13
  dateFormat?: string;
@@ -1,3 +1,6 @@
1
+ import { type Locale } from 'date-fns';
2
+ import { IDatePickerLocale } from './types';
1
3
  export declare const getDateFormatter: (dateFormat: string) => (date?: Date | null) => string;
2
4
  export declare const getDateValueParser: (dateFormat: string) => (value: string) => Date | null;
3
5
  export declare const areDatesEquals: (date1?: Date | null, date2?: Date | null) => boolean;
6
+ export declare const preparateDatePickerLocale: (locale: IDatePickerLocale) => Locale;
@@ -1,4 +1,6 @@
1
1
  import { ReactDatePickerProps } from 'react-datepicker';
2
- import { IDateInputProps } from '../DateInput';
2
+ import { type Locale } from 'date-fns';
3
+ import { type IDateInputProps } from '../DateInput';
3
4
  export type IRange = [Date | null, Date | null] | null;
5
+ export type IDatePickerLocale = 'ru' | 'en' | Locale;
4
6
  export type IDatePickerBaseProps = Pick<ReactDatePickerProps, 'startDate' | 'endDate' | 'minDate' | 'maxDate' | 'allowSameDay' | 'disabledKeyboardNavigation' | 'monthsShown' | 'popperModifiers' | 'popperPlacement' | 'filterDate' | 'dayClassName' | 'calendarContainer' | 'onCalendarOpen' | 'onCalendarClose' | 'onYearChange' | 'onMonthChange' | 'focusSelectedMonth' | 'shouldCloseOnSelect' | 'showPreviousMonths' | 'todayButton' | 'renderCustomHeader' | 'customInputRef' | 'preventOpenOnFocus' | 'strictParsing' | 'highlightDates' | 'fixedHeight' | 'excludeScrollbar'> & Omit<IDateInputProps, 'date' | 'startDate' | 'endDate' | 'isRange' | 'isActive' | 'iconType' | 'maxLength' | 'onChange' | 'onClick' | 'tweakStyles'>;
@@ -3,7 +3,7 @@ import { ICommonProps } from '../../types';
3
3
  import { IFlexibleTableRowProps } from './components';
4
4
  import { ITableRow, IFlexibleTableConfigType, IInfinityScrollConfig, IFlexibleTableRenderMode, IHeaderContent } from './types';
5
5
  import { IFlexibleTableStyles } from './FlexibleTable.styles';
6
- export interface IFlexibleTableProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row> extends ICommonProps<IFlexibleTableStyles>, Pick<IFlexibleTableRowProps<Row, HeaderContent, UniqueField>, 'uniqueField' | 'rowAttributes' | 'isFirstColumnSticky' | 'isExpandableRowComponentInitiallyOpen' | 'expandableRowComponent' | 'onRowClick' | 'onRowHover' | 'rowRef'> {
6
+ export interface IFlexibleTableProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row> extends ICommonProps<IFlexibleTableStyles>, Pick<IFlexibleTableRowProps<Row, HeaderContent, UniqueField>, 'uniqueField' | 'rowAttributes' | 'isFirstColumnSticky' | 'expandableRowComponent' | 'onRowClick' | 'onRowHover' | 'rowRef'> {
7
7
  content: Row[];
8
8
  /** @default 'table' */
9
9
  renderMode?: IFlexibleTableRenderMode;
@@ -27,5 +27,7 @@ export interface IFlexibleTableProps<Row extends ITableRow, HeaderContent extend
27
27
  nothingFoundContent?: ReactNode;
28
28
  /** @default true */
29
29
  shouldRenderHeader?: boolean;
30
+ /** @default false */
31
+ isExpandableRowComponentInitiallyOpen?: boolean | ((row: Row, index: number) => boolean);
30
32
  }
31
- export declare function FlexibleTable<Row extends ITableRow, HeaderContent extends IHeaderContent<Row> = IHeaderContent<Row>, UniqueField extends keyof Row = keyof Row>({ content, headerContent, config, enabledColumns, activeRows, uniqueField, isLoading, isFirstColumnSticky, isHorizontallyScrollable, isRowFocusable, infinityScrollConfig, renderMode, refForScroll, nothingFoundContent, data, testId, tweakStyles, shouldRenderHeader, onHeadClick, ...restProps }: IFlexibleTableProps<Row, HeaderContent, UniqueField>): JSX.Element;
33
+ export declare function FlexibleTable<Row extends ITableRow, HeaderContent extends IHeaderContent<Row> = IHeaderContent<Row>, UniqueField extends keyof Row = keyof Row>({ content, headerContent, config, enabledColumns, activeRows, uniqueField, isLoading, isFirstColumnSticky, isHorizontallyScrollable, isRowFocusable, infinityScrollConfig, renderMode, refForScroll, nothingFoundContent, data, testId, tweakStyles, shouldRenderHeader, onHeadClick, isExpandableRowComponentInitiallyOpen: isRowInitiallyOpen, ...restProps }: IFlexibleTableProps<Row, HeaderContent, UniqueField>): JSX.Element;
@@ -4,7 +4,6 @@ import { ITableRow, IFlexibleTableConfigType, IFlexibleTableRenderMode, IHeaderC
4
4
  import { IFlexibleTableRowStyles } from './FlexibleTableRow.styles';
5
5
  export interface IFlexibleTableRowProps<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row> extends ITweakStylesProps<IFlexibleTableRowStyles> {
6
6
  item: Row;
7
- index: number;
8
7
  uniqueField?: UniqueField;
9
8
  renderMode: IFlexibleTableRenderMode;
10
9
  /** @default false */
@@ -20,13 +19,13 @@ export interface IFlexibleTableRowProps<Row extends ITableRow, HeaderContent ext
20
19
  columns: Array<keyof Row & string>;
21
20
  rowAttributes?: Array<keyof Row>;
22
21
  /** @default false */
23
- isExpandableRowComponentInitiallyOpen?: boolean | ((row: Row, index: number) => boolean);
22
+ isExpandableRowComponentInitiallyOpen?: boolean;
24
23
  rowRef?: RefCallback<HTMLTableRowElement>;
25
24
  /** Возвращает React-элемент, который отрисуется под строкой при нажатии на неё */
26
25
  expandableRowComponent?: (item: Row, isOpen: boolean, close: () => void) => ReactNode;
27
26
  onRowHover?: (id?: Row[UniqueField]) => void;
28
27
  onRowClick?: (id: Row[UniqueField]) => void;
29
28
  }
30
- declare function FlexibleTableRowInner<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row>({ item, index, config, columns, uniqueField, renderMode, isActive, isFocusable, isFirstColumnSticky, isLoading, rowAttributes, isExpandableRowComponentInitiallyOpen, rowRef, tweakStyles, expandableRowComponent, onRowHover, onRowClick, }: IFlexibleTableRowProps<Row, HeaderContent, UniqueField>): JSX.Element;
29
+ declare function FlexibleTableRowInner<Row extends ITableRow, HeaderContent extends IHeaderContent<Row>, UniqueField extends keyof Row>({ item, config, columns, uniqueField, renderMode, isActive, isFocusable, isFirstColumnSticky, isLoading, rowAttributes, isExpandableRowComponentInitiallyOpen, rowRef, tweakStyles, expandableRowComponent, onRowHover, onRowClick, }: IFlexibleTableRowProps<Row, HeaderContent, UniqueField>): JSX.Element;
31
30
  export declare const FlexibleTableRow: typeof FlexibleTableRowInner;
32
31
  export {};