indicator-ui 0.0.244 → 0.0.246

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 (32) hide show
  1. package/dist/index.css +71 -0
  2. package/dist/index.css.map +1 -1
  3. package/dist/index.js +461 -316
  4. package/dist/index.js.map +1 -1
  5. package/dist/types/src/hooks/index.d.ts +1 -0
  6. package/dist/types/src/hooks/useDebouncedAccumulator.d.ts +7 -0
  7. package/dist/types/src/hooks/useFormData.d.ts +9 -4
  8. package/dist/types/src/lib/dict/compKeyWays.d.ts +2 -0
  9. package/dist/types/src/ui/Dropdown/index.d.ts +2 -0
  10. package/dist/types/src/ui/Dropdown/styles/index.d.ts +1 -0
  11. package/dist/types/src/ui/Dropdown/types/DropdownTypes.d.ts +23 -0
  12. package/dist/types/src/ui/Dropdown/types/index.d.ts +1 -0
  13. package/dist/types/src/ui/Dropdown/ui/Dropdown.d.ts +2 -0
  14. package/dist/types/src/ui/Dropdown/ui/index.d.ts +1 -0
  15. package/dist/types/src/ui/InputFields/SelectField/config/index.d.ts +0 -1
  16. package/dist/types/src/ui/InputFields/SelectField/index.d.ts +1 -1
  17. package/dist/types/src/ui/InputFields/SelectField/lib/getSelectFieldOptionsByValue.d.ts +2 -0
  18. package/dist/types/src/ui/InputFields/SelectField/lib/getSelectFieldOptionsItemValue.d.ts +2 -0
  19. package/dist/types/src/ui/InputFields/SelectField/lib/getStringValue.d.ts +1 -1
  20. package/dist/types/src/ui/InputFields/SelectField/lib/index.d.ts +3 -2
  21. package/dist/types/src/ui/InputFields/SelectField/types/SelectFieldTypes.d.ts +16 -36
  22. package/dist/types/src/ui/InputFields/SelectField/types/index.d.ts +0 -2
  23. package/dist/types/src/ui/InputFields/SelectField/ui/SelectField.d.ts +2 -1
  24. package/dist/types/src/ui/InputFields/SelectField/ui/index.d.ts +1 -0
  25. package/dist/types/src/ui/index.d.ts +1 -0
  26. package/package.json +1 -1
  27. package/dist/types/src/ui/InputFields/SelectField/lib/getOptionValue.d.ts +0 -3
  28. package/dist/types/src/ui/InputFields/SelectField/lib/isActiveOption.d.ts +0 -2
  29. package/dist/types/src/ui/InputFields/SelectField/types/SelectFieldOptionsItemTypes.d.ts +0 -10
  30. package/dist/types/src/ui/InputFields/SelectField/types/SelectModalWindowTypes.d.ts +0 -10
  31. package/dist/types/src/ui/InputFields/SelectField/ui/SelectFieldOptionsItem.d.ts +0 -2
  32. package/dist/types/src/ui/InputFields/SelectField/ui/SelectModalWindow.d.ts +0 -2
@@ -1,2 +1,3 @@
1
1
  export * from './useIsErrorField';
2
2
  export * from './useFormData';
3
+ export * from './useDebouncedAccumulator';
@@ -0,0 +1,7 @@
1
+ type PropsType<T> = {
2
+ callback: (set: Array<T>) => void;
3
+ timeout?: number;
4
+ };
5
+ type ReturnType<T> = (data: T) => void;
6
+ export declare function useDebouncedAccumulator<DataType>({ callback, timeout }: PropsType<DataType>): ReturnType<DataType>;
7
+ export {};
@@ -4,15 +4,20 @@ export type UseFormDataSetValueType = (value: any, keyWay: DictDeepActionKeyWayT
4
4
  unionToArray: boolean;
5
5
  index?: number;
6
6
  }) => void;
7
+ export type GenericFormDataType<T extends Record<string, any> = Record<string, any>> = T;
7
8
  export type UseFormDataGetValueType = (keyWay: DictDeepActionKeyWayType) => any;
8
9
  export type UseFormDataDeleteArrayItemType = (keyWay: DictDeepActionKeyWayType) => void;
9
- export type UseFormDataReturnType<T> = {
10
+ export type UseFormDataGetFormDataType<T> = () => T;
11
+ export type UseFormDataResetFormType = () => void;
12
+ export type UseFormDataClearFormType = () => void;
13
+ export type UseFormDataReturnType<T = GenericFormDataType> = {
10
14
  formData: T;
15
+ getFormData: UseFormDataGetFormDataType<T>;
11
16
  setFormData: Dispatch<SetStateAction<T>>;
12
17
  setValue: UseFormDataSetValueType;
13
18
  getValue: UseFormDataGetValueType;
14
- resetForm: () => void;
15
- clearForm: () => void;
19
+ resetForm: UseFormDataResetFormType;
20
+ clearForm: UseFormDataClearFormType;
16
21
  deleteArrayItem: UseFormDataDeleteArrayItemType;
17
22
  };
18
- export declare function useFormData<T extends Record<string, any>>(value?: T): UseFormDataReturnType<T>;
23
+ export declare function useFormData<T = GenericFormDataType>(value?: T): UseFormDataReturnType<T>;
@@ -1,7 +1,9 @@
1
1
  import { DictDeepActionKeyWayType } from "../../types/DictDeepActionsTypes";
2
2
  /**
3
3
  * 2 - полностью совпадают
4
+ *
4
5
  * 1 - совпадает начало
6
+ *
5
7
  * 0 - не совпадают
6
8
  * */
7
9
  export declare function compKeyWays(a: DictDeepActionKeyWayType, b: DictDeepActionKeyWayType): 0 | 1 | 2;
@@ -0,0 +1,2 @@
1
+ export * from './ui';
2
+ export * from './types';
@@ -0,0 +1 @@
1
+ export { default as DropdownStyle } from './Dropdown.module.scss';
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { DropdownItemPropsType, ScrollProviderPropsType } from "../../../ui";
3
+ export type DropdownItemCustomComponentType = React.ReactElement<{
4
+ onClick: () => void;
5
+ active: boolean;
6
+ }>;
7
+ export type DropdownItemType<T> = DropdownItemPropsType & {
8
+ value: T;
9
+ customComponent?: DropdownItemCustomComponentType;
10
+ } | T;
11
+ export type DropdownItemsType<T> = Array<DropdownItemType<T>>;
12
+ export type DropdownPropsBaseType<T> = {
13
+ items: DropdownItemsType<T>;
14
+ /**
15
+ * Заголовок, при ```undefined``` не будет показывать его.
16
+ * */
17
+ title?: React.ReactNode;
18
+ size?: DropdownItemPropsType['size'];
19
+ onClick?: (value: T) => void;
20
+ width?: number | 'fill' | 'hug';
21
+ isActive?: (value: T) => boolean;
22
+ };
23
+ export type DropdownPropsType<T> = Omit<ScrollProviderPropsType<HTMLDivElement>, keyof DropdownPropsBaseType<T>> & DropdownPropsBaseType<T>;
@@ -0,0 +1 @@
1
+ export * from './DropdownTypes';
@@ -0,0 +1,2 @@
1
+ import { DropdownPropsType } from "../types";
2
+ export declare function Dropdown<T = unknown>({ items, title, size, onClick, width, isActive, ...props }: DropdownPropsType<T>): JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Dropdown';
@@ -1,2 +1 @@
1
- export declare const DELTA_SCROLL_END = 1;
2
1
  export declare const SEARCHING_DELAY_TIME: number;
@@ -1,2 +1,2 @@
1
- export { default as SelectField } from './ui/SelectField';
1
+ export * from './ui';
2
2
  export * from './types';
@@ -0,0 +1,2 @@
1
+ import { SelectFieldOptionsType, SelectFieldValueType } from "../types";
2
+ export declare function getSelectFieldOptionsByValue<DataType = unknown>(value: SelectFieldValueType<DataType>, options: SelectFieldOptionsType<DataType>): SelectFieldOptionsType<DataType>;
@@ -0,0 +1,2 @@
1
+ import { SelectFieldOptionsItemType } from "../../../../ui";
2
+ export declare function getSelectFieldOptionsItemValue<DataType = unknown>(item: SelectFieldOptionsItemType<DataType>): DataType;
@@ -1,2 +1,2 @@
1
1
  import { SelectFieldOptionsType, SelectFieldValueType } from '../types';
2
- export default function getStringValue(value: SelectFieldValueType, options?: SelectFieldOptionsType): string;
2
+ export declare function getStringValue<DataType = unknown>(value: SelectFieldValueType<DataType>, options?: SelectFieldOptionsType<DataType>): string;
@@ -1,2 +1,3 @@
1
- export { default as isActiveOption } from './isActiveOption';
2
- export { default as getStringValue } from './getStringValue';
1
+ export * from './getStringValue';
2
+ export * from './getSelectFieldOptionsItemValue';
3
+ export * from './getSelectFieldOptionsByValue';
@@ -1,38 +1,25 @@
1
- import React, { ReactElement } from "react";
1
+ import React from "react";
2
2
  import { FieldsBasePropsType } from '../../FieldsBase';
3
- import { SelectFieldOptionsOwnerItemPropsType } from "./SelectFieldOptionsItemTypes";
4
- import { DropdownItemPropsType } from "../../../../ui";
5
- export type SelectFieldOptionsItemType<T = any> = {
3
+ import { DropdownItemPropsType, FlexFieldPropsType } from "../../../../ui";
4
+ export type SelectFieldOptionsItemType<T = unknown> = DropdownItemPropsType & {
6
5
  value: T;
7
- label?: string;
8
- dropdownItemProps?: Omit<DropdownItemPropsType, 'onClick'>;
9
- component?: ReactElement<SelectFieldOptionsOwnerItemPropsType>;
10
- };
11
- export type SelectFieldOptionsType<T = any> = SelectFieldOptionsItemType<T>[];
12
- export type SelectFieldValueType<T = any> = T[] | T;
13
- export type SelectFieldLoadMoreOptionsType = (optionsCount: number, searchString?: string) => Promise<SelectFieldOptionsType | undefined>;
14
- export type SelectFiledSearchOptionsType = (searchString: string, curOptions: SelectFieldOptionsType) => Promise<SelectFieldOptionsType | undefined>;
15
- export type SelectFieldPropsType<T = any> = FieldsBasePropsType<SelectFieldValueType<T>> & {
16
- placeholder?: string;
6
+ label?: React.ReactNode | React.ReactElement<Record<string, unknown> & {
7
+ isFocus: boolean;
8
+ }>;
9
+ } | T;
10
+ export type SelectFieldOptionsType<T = unknown> = Array<SelectFieldOptionsItemType<T>>;
11
+ export type SelectFieldValueType<T = unknown> = T;
12
+ export type SelectFieldPaginationType<T = unknown> = (optionsCount: number, searchString?: string) => Promise<SelectFieldOptionsType<T> | undefined>;
13
+ export type SelectFiledSearchOptionsType<T = unknown> = (searchString: string, curOptions: SelectFieldOptionsType) => Promise<SelectFieldOptionsType<T> | undefined>;
14
+ export type SelectFieldPropsType<T = unknown, Multiple extends boolean = true> = FieldsBasePropsType<SelectFieldValueType<Multiple extends true ? Array<T> : T>> & Pick<FlexFieldPropsType, 'placeholder'> & {
15
+ options?: SelectFieldOptionsType<T>;
16
+ multiple?: Multiple;
17
17
  /**
18
18
  * Функция поиска. Передает текущую строку поиска и текущие **options**.
19
19
  * Ожидает промис новых **options**, которы будут поставлены на место старых.
20
20
  * При возврате ```undefined``` ничего не сделает.
21
21
  * */
22
- searching?: SelectFiledSearchOptionsType;
23
- multiple?: boolean;
24
- /**
25
- * Опция для синхронизации внешних **options**,
26
- * не включайте, если передаете **options** без постоянного указателя.
27
- * Синхронизирует внешний массив **options** с внутренним.
28
- * */
29
- offOptionsSyncing?: boolean;
30
- onBlur?: () => void;
31
- options?: SelectFieldOptionsType<T>;
32
- /**
33
- * Автоматическое скрытие **options** при выборе одного из них.
34
- * */
35
- autoClose?: boolean;
22
+ searching?: SelectFiledSearchOptionsType<T>;
36
23
  /**
37
24
  * Функция callback, когда пользователь прокрутил в самый низ окна выбора **Select**.
38
25
  * Функция асинхронная, в нее передается количество текущих **options** и
@@ -41,12 +28,5 @@ export type SelectFieldPropsType<T = any> = FieldsBasePropsType<SelectFieldValue
41
28
  *
42
29
  * !!! Важно: Не используйте вместе с ```offOptionsSyncing === true```.
43
30
  * */
44
- loadMoreOptions?: SelectFieldLoadMoreOptionsType;
45
- /**
46
- * Выключает выполнение функции при монтирование компонента.
47
- * */
48
- offInitLoadMoreOptions?: boolean;
49
- /** Элемент **(ReactNode)** в конце окна выбора **Select**. */
50
- selectModalWindowAfterElement?: React.ReactNode;
51
- onBottomScroll?: () => void;
31
+ pagination?: SelectFieldPaginationType<T>;
52
32
  };
@@ -1,3 +1 @@
1
1
  export * from './SelectFieldTypes';
2
- export * from './SelectModalWindowTypes';
3
- export * from './SelectFieldOptionsItemTypes';
@@ -1,2 +1,3 @@
1
1
  import { SelectFieldPropsType } from '../types';
2
- export default function SelectField({ value, onChange, options, placeholder, isError, searching, required, multiple, disabled, offOptionsSyncing, offInitLoadMoreOptions, autoClose, onBlur, selectModalWindowAfterElement, loadMoreOptions, onBottomScroll, ...props }: SelectFieldPropsType): JSX.Element;
2
+ export declare function SelectField<DataType = unknown>(props: SelectFieldPropsType<DataType, true>): JSX.Element;
3
+ export declare function SelectField<DataType = unknown>(props: SelectFieldPropsType<DataType, false>): JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './SelectField';
@@ -24,3 +24,4 @@ export * from './Carousel';
24
24
  export * from './PlayButton';
25
25
  export * from './DateTimePicker';
26
26
  export * from './Tooltip';
27
+ export * from './Dropdown';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indicator-ui",
3
- "version": "0.0.244",
3
+ "version": "0.0.246",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/types/src/index.d.ts",
6
6
  "style": "dist/index.css",
@@ -1,3 +0,0 @@
1
- import { SelectFieldOptionsType, SelectFieldValueType } from '../types';
2
- import { ReactNode } from "react";
3
- export declare function getOptionValue(value: SelectFieldValueType, options?: SelectFieldOptionsType): string | ReactNode;
@@ -1,2 +0,0 @@
1
- import { SelectFieldValueType, SelectFieldOptionsItemType } from "../types";
2
- export default function isActiveOption(value: SelectFieldValueType, option: SelectFieldOptionsItemType): boolean;
@@ -1,10 +0,0 @@
1
- import { SelectFieldOptionsItemType } from './SelectFieldTypes';
2
- export type SelectFieldOptionsOwnerItemPropsType = {
3
- active?: boolean;
4
- onClick?: () => void;
5
- };
6
- export type SelectFieldOptionsItemPropsType = {
7
- option: SelectFieldOptionsItemType;
8
- active?: boolean;
9
- onClick?: () => void;
10
- };
@@ -1,10 +0,0 @@
1
- import { SelectFieldOptionsType, SelectFieldValueType } from './SelectFieldTypes';
2
- import React from "react";
3
- export type SelectModalWindowPropsType = {
4
- value: SelectFieldValueType;
5
- onChange: (value: any[]) => void;
6
- options: SelectFieldOptionsType;
7
- onScrollToBottom?: () => void;
8
- afterElement?: React.ReactNode;
9
- show?: boolean;
10
- };
@@ -1,2 +0,0 @@
1
- import { SelectFieldOptionsItemPropsType } from "../types";
2
- export default function SelectFieldOptionsItem({ option, active, onClick }: SelectFieldOptionsItemPropsType): JSX.Element;
@@ -1,2 +0,0 @@
1
- import { SelectModalWindowPropsType } from "../types";
2
- export default function SelectModalWindow({ value, onChange, options, onScrollToBottom, afterElement, show, }: SelectModalWindowPropsType): JSX.Element;