@true-engineering/true-react-common-ui-kit 3.51.0 → 3.53.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.
Files changed (26) hide show
  1. package/README.md +14 -0
  2. package/dist/components/DatePicker/DatePicker.d.ts +2 -2
  3. package/dist/components/DatePicker/helpers.d.ts +3 -0
  4. package/dist/components/DatePicker/types.d.ts +3 -1
  5. package/dist/components/FiltersPane/FiltersPane.d.ts +4 -2
  6. package/dist/components/FiltersPane/FiltersPane.stories.d.ts +3 -3
  7. package/dist/components/FiltersPane/components/Filter/Filter.d.ts +2 -2
  8. package/dist/components/FiltersPane/components/Filter/helpers.d.ts +4 -0
  9. package/dist/components/FiltersPane/components/FilterValueView/FilterValueView.d.ts +3 -1
  10. package/dist/components/FiltersPane/components/FilterWrapper/FilterWrapper.d.ts +2 -2
  11. package/dist/true-react-common-ui-kit.js +5020 -4991
  12. package/dist/true-react-common-ui-kit.js.map +1 -1
  13. package/dist/true-react-common-ui-kit.umd.cjs +5020 -4991
  14. package/dist/true-react-common-ui-kit.umd.cjs.map +1 -1
  15. package/package.json +1 -1
  16. package/src/components/DatePicker/DatePicker.tsx +9 -4
  17. package/src/components/DatePicker/helpers.ts +13 -1
  18. package/src/components/DatePicker/types.ts +4 -1
  19. package/src/components/FiltersPane/FiltersPane.stories.tsx +4 -2
  20. package/src/components/FiltersPane/FiltersPane.tsx +14 -9
  21. package/src/components/FiltersPane/components/Filter/Filter.tsx +24 -17
  22. package/src/components/FiltersPane/components/Filter/helpers.ts +18 -0
  23. package/src/components/FiltersPane/components/FilterValueView/FilterValueView.tsx +8 -5
  24. package/src/components/FiltersPane/components/FilterWithDates/FilterWithDates.styles.ts +1 -0
  25. package/src/components/FiltersPane/components/FilterWithPeriod/FilterWithPeriod.tsx +1 -1
  26. package/src/components/FiltersPane/components/FilterWrapper/FilterWrapper.tsx +7 -5
package/README.md CHANGED
@@ -12,6 +12,19 @@
12
12
 
13
13
  # Release Notes
14
14
 
15
+ ## 3.53.0
16
+
17
+ ### Changes
18
+
19
+ - **FiltersPane**: Добавлен проп `shouldRenderDataId`, который добавляет атрибут `data-id` со значением из конфига.
20
+ - **FiltersPane**: Изменена типизация дженериков, добавлены тайпгарды
21
+
22
+ ## 3.52.0
23
+
24
+ ### Changes
25
+
26
+ - **DatePicker**: Теперь в качестве локали принимается так же строка "ru" | "en"
27
+
15
28
  ## 3.51.0
16
29
 
17
30
  ### Changes
@@ -32,6 +45,7 @@
32
45
  - **Input**: Добавлено обрезание лейбла многоточием. HTML-структура поменялась с `inputWrapper > input` на `inputWrapper > inputWithLabelWrapper > input`.
33
46
 
34
47
  Это также повлияло на все компоненты, использующие **Input**:
48
+
35
49
  - **DateInput**
36
50
  - **NumberInput**
37
51
  - **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 { IFiltersPaneSearchProps } from './components';
4
4
  import { ConfigType, IFilterLocaleKey, IPartialFilterLocale } from './types';
5
5
  import { IFiltersPaneStyles } from './FiltersPane.styles';
6
- export interface IFiltersPaneProps<Values, Content = Values> extends ICommonProps<IFiltersPaneStyles> {
6
+ export interface IFiltersPaneProps<Values extends Record<string, unknown>, Content = Values> extends ICommonProps<IFiltersPaneStyles> {
7
7
  filtersConfig: ConfigType<Values>;
8
8
  enabledFilters?: Array<keyof ConfigType<Values>>;
9
9
  /** @default {} */
@@ -15,8 +15,10 @@ export interface IFiltersPaneProps<Values, Content = Values> extends ICommonProp
15
15
  isDisabled?: boolean;
16
16
  /** @default true */
17
17
  hasClearButton?: boolean;
18
+ /** @default false */
19
+ shouldRenderDataId?: boolean;
18
20
  onChangeFilters: (values: Partial<Values>) => void;
19
21
  onSettingsButtonClick?: () => void;
20
22
  onClear?: () => void;
21
23
  }
22
- export declare function FiltersPane<Values extends Record<string, unknown>, Content = Values>({ data, tweakStyles, filtersConfig, enabledFilters, values, localeKey, locale, search, isDisabled, hasClearButton, testId, onChangeFilters, onSettingsButtonClick, onClear, }: IFiltersPaneProps<Values, Content>): JSX.Element;
24
+ export declare function FiltersPane<Values extends Record<string, unknown>, Content = Values>({ data, tweakStyles, filtersConfig, enabledFilters, values, localeKey, locale, search, isDisabled, hasClearButton, shouldRenderDataId, testId, onChangeFilters, onSettingsButtonClick, onClear, }: IFiltersPaneProps<Values, Content>): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { IFiltersPaneProps } from './FiltersPane';
2
- interface IFiltersPaneWithCustomProps<Values, Content> extends IFiltersPaneProps<Values, Content> {
2
+ interface IFiltersPaneWithCustomProps<Values extends Record<string, unknown>, Content> extends IFiltersPaneProps<Values, Content> {
3
3
  containerWidth: number;
4
4
  isSearchDisabled: boolean;
5
5
  isSearchAutosizeable: boolean;
@@ -9,7 +9,7 @@ interface IFiltersPaneWithCustomProps<Values, Content> extends IFiltersPaneProps
9
9
  checkboxPosition: 'left' | 'right';
10
10
  isClearableFields: boolean;
11
11
  }
12
- declare function FiltersPaneWithCustomProps<Values, Content>({ containerWidth, isSearchDisabled, isSearchAutosizeable, shouldShowSettingsButton, withFieldNameInLabel, isGroupingEnabled, checkboxPosition, isClearableFields, ...args }: IFiltersPaneWithCustomProps<Values, Content>): import("react/jsx-runtime").JSX.Element;
12
+ declare function FiltersPaneWithCustomProps<Values extends Record<string, unknown>, Content>({ containerWidth, isSearchDisabled, isSearchAutosizeable, shouldShowSettingsButton, withFieldNameInLabel, isGroupingEnabled, checkboxPosition, isClearableFields, ...args }: IFiltersPaneWithCustomProps<Values, Content>): import("react/jsx-runtime").JSX.Element;
13
13
  declare const _default: {
14
14
  title: string;
15
15
  component: typeof FiltersPaneWithCustomProps;
@@ -29,4 +29,4 @@ declare const _default: {
29
29
  };
30
30
  };
31
31
  export default _default;
32
- export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IFiltersPaneWithCustomProps<unknown, unknown>>;
32
+ export declare const Default: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react/dist/types-0fc72a6d").R, IFiltersPaneWithCustomProps<Record<string, unknown>, unknown>>;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { IFilterWrapperProps } from '../FilterWrapper';
3
- export interface IFilterProps<Values, Key extends keyof Values> extends IFilterWrapperProps<Values, Key> {
3
+ export interface IFilterProps<Values extends Record<string, unknown>, Key extends keyof Values> extends IFilterWrapperProps<Values, Key> {
4
4
  onChange: <V>(v: V) => void;
5
5
  onClose?: () => void;
6
6
  }
7
- export declare function Filter<Values, Key extends keyof Values>(props: IFilterProps<Values, Key>): JSX.Element | null;
7
+ export declare function Filter<Values extends Record<string, unknown>, Key extends keyof Values>(props: IFilterProps<Values, Key>): JSX.Element | null;
@@ -0,0 +1,4 @@
1
+ import { IDatePeriod, IFilterMultiSelectValues, IPeriod } from '../../types';
2
+ export declare const isDatePeriodValue: (value: any) => value is IDatePeriod;
3
+ export declare const isPeriodValue: (value: any) => value is IPeriod;
4
+ export declare const isMultiSelectValue: <T extends string>(value: any) => value is IFilterMultiSelectValues<T>;
@@ -2,4 +2,6 @@
2
2
  import { ICommonProps } from '../../../../types';
3
3
  import type { IFilterWrapperProps } from '../FilterWrapper';
4
4
  import { IFilterValueViewStyles } from './FilterValueView.styles';
5
- export declare function FilterValueView<Values, Key extends keyof Values>({ locale, localeKey, filter, value, tweakStyles, }: Omit<IFilterWrapperProps<Values, Key>, 'onChange' | 'filtersPaneRef' | 'tweakStyles'> & ICommonProps<IFilterValueViewStyles>): JSX.Element;
5
+ export interface IFilterValueView<Values extends Record<string, unknown>, Key extends keyof Values> extends Omit<IFilterWrapperProps<Values, Key>, 'filtersPaneRef' | 'tweakStyles' | 'onChange'>, ICommonProps<IFilterValueViewStyles> {
6
+ }
7
+ export declare function FilterValueView<Values extends Record<string, unknown>, Key extends keyof Values>({ value, filter, locale, localeKey, tweakStyles, }: IFilterValueView<Values, Key>): JSX.Element;
@@ -2,7 +2,7 @@
2
2
  import { ICommonProps } from '../../../../types';
3
3
  import { ConfigItem, IFilterLocaleKey, IPartialFilterLocale } from '../../types';
4
4
  import { IFilterWrapperStyles } from './FilterWrapper.styles';
5
- export interface IFilterWrapperProps<Values, Key extends keyof Values> extends ICommonProps<IFilterWrapperStyles> {
5
+ export interface IFilterWrapperProps<Values extends Record<string, unknown>, Key extends keyof Values> extends ICommonProps<IFilterWrapperStyles> {
6
6
  filter: ConfigItem<Values[Key]>;
7
7
  value?: Values[Key];
8
8
  isDisabled?: boolean;
@@ -10,4 +10,4 @@ export interface IFilterWrapperProps<Values, Key extends keyof Values> extends I
10
10
  locale?: IPartialFilterLocale;
11
11
  onChange: <V>(value: V) => void;
12
12
  }
13
- export declare function FilterWrapper<Values, Key extends keyof Values>({ filter, value, isDisabled, locale, localeKey, data, testId, tweakStyles, onChange, }: IFilterWrapperProps<Values, Key>): JSX.Element;
13
+ export declare function FilterWrapper<Values extends Record<string, unknown>, Key extends keyof Values>({ filter, value, isDisabled, locale, localeKey, data, testId, tweakStyles, onChange, }: IFilterWrapperProps<Values, Key>): JSX.Element;