indicator-ui 0.1.22 → 0.1.24
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/dist/index.css +1 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +727 -473
- package/dist/index.js.map +1 -1
- package/dist/scss/ui/Buttons/styles/mixins/baseButton.scss +1 -0
- package/dist/types/src/hooks/index.d.ts +1 -1
- package/dist/types/src/hooks/placement/calculateAvailablePosition.d.ts +46 -0
- package/dist/types/src/hooks/placement/index.d.ts +2 -0
- package/dist/types/src/hooks/{useSmartPlacementResolver.d.ts → placement/useSmartPlacementResolver.d.ts} +9 -28
- package/dist/types/src/hooks/ui-animations/assets/backdropModalAnimations.d.ts +3 -0
- package/dist/types/src/hooks/ui-animations/assets/modalAnimations.d.ts +3 -0
- package/dist/types/src/hooks/ui-animations/assets/movingAnimations.d.ts +0 -1
- package/dist/types/src/hooks/ui-animations/useModalAnim.d.ts +1 -1
- package/dist/types/src/hooks/useSmartPosition.d.ts +1 -1
- package/dist/types/src/ui/DateTimePicker/types/DateTimePickerTypes.d.ts +1 -0
- package/dist/types/src/ui/Dropdown/types/DropdownTypes.d.ts +1 -0
- package/dist/types/src/ui/InputFields/DateTimeField/types/DateFieldTypes.d.ts +2 -2
- package/dist/types/src/ui/InputFields/DateTimeField/types/DateTimeFieldTypes.d.ts +2 -2
- package/dist/types/src/ui/InputFields/DateTimeField/types/TimeFieldTypes.d.ts +2 -2
- package/dist/types/src/ui/InputFields/DateTimeRangeField/types/DateRangeFieldTypes.d.ts +1 -1
- package/package.json +1 -1
|
@@ -10,10 +10,10 @@ export * from './useDidUpdateEffect';
|
|
|
10
10
|
export * from './useSmartPosition';
|
|
11
11
|
export * from './useSmartScroll';
|
|
12
12
|
export * from './useInteractiveZone';
|
|
13
|
-
export * from './useSmartPlacementResolver';
|
|
14
13
|
export * from './useScrollIndicators';
|
|
15
14
|
export * from './ui-animations';
|
|
16
15
|
export * from './modalWindows';
|
|
17
16
|
export * from './controlsInput';
|
|
18
17
|
export * from './elementObservers';
|
|
19
18
|
export * from './simpleRefWork';
|
|
19
|
+
export * from './placement';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
type NewPlacementPosType = {
|
|
2
|
+
top: number;
|
|
3
|
+
left: number;
|
|
4
|
+
};
|
|
5
|
+
type WeightTableType = [
|
|
6
|
+
[
|
|
7
|
+
number,
|
|
8
|
+
number,
|
|
9
|
+
number
|
|
10
|
+
],
|
|
11
|
+
[
|
|
12
|
+
number,
|
|
13
|
+
number,
|
|
14
|
+
number
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
number,
|
|
18
|
+
number,
|
|
19
|
+
number
|
|
20
|
+
]
|
|
21
|
+
];
|
|
22
|
+
type PropsType = {
|
|
23
|
+
objRect: {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
27
|
+
parentRect: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
top: number;
|
|
31
|
+
left: number;
|
|
32
|
+
};
|
|
33
|
+
windowRect: {
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
top: number;
|
|
37
|
+
left: number;
|
|
38
|
+
};
|
|
39
|
+
position?: 'absolute' | 'fixed' | 'relative';
|
|
40
|
+
offset?: number;
|
|
41
|
+
weights?: WeightTableType;
|
|
42
|
+
alignX?: 'left' | 'center' | 'right';
|
|
43
|
+
alignY?: 'top' | 'center' | 'bottom';
|
|
44
|
+
};
|
|
45
|
+
export declare function calculateAvailablePosition(props: PropsType): NewPlacementPosType;
|
|
46
|
+
export {};
|
|
@@ -1,35 +1,12 @@
|
|
|
1
|
-
import { RefObject } from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
type WeightTableType = [
|
|
7
|
-
[
|
|
8
|
-
number,
|
|
9
|
-
number,
|
|
10
|
-
number
|
|
11
|
-
],
|
|
12
|
-
[
|
|
13
|
-
number,
|
|
14
|
-
number,
|
|
15
|
-
number
|
|
16
|
-
],
|
|
17
|
-
[
|
|
18
|
-
number,
|
|
19
|
-
number,
|
|
20
|
-
number
|
|
21
|
-
]
|
|
22
|
-
];
|
|
1
|
+
import { CSSProperties, RefObject } from "react";
|
|
2
|
+
import { calculateAvailablePosition } from "./calculateAvailablePosition";
|
|
3
|
+
type CalculateAvailablePositionPropsType = Parameters<typeof calculateAvailablePosition>['0'];
|
|
4
|
+
type NewPlacementPosType = ReturnType<typeof calculateAvailablePosition>;
|
|
23
5
|
type PropsType = [
|
|
24
6
|
ref: RefObject<HTMLElement | null>,
|
|
25
|
-
options?: {
|
|
7
|
+
options?: Omit<CalculateAvailablePositionPropsType, 'objRect' | 'parentRect' | 'windowRect'> & {
|
|
26
8
|
parentRef?: RefObject<HTMLElement | null>;
|
|
27
9
|
windowRef?: RefObject<HTMLElement | null>;
|
|
28
|
-
position?: 'absolute' | 'fixed' | 'relative';
|
|
29
|
-
offset?: number;
|
|
30
|
-
weights?: WeightTableType;
|
|
31
|
-
alignX?: 'left' | 'center' | 'right';
|
|
32
|
-
alignY?: 'top' | 'center' | 'bottom';
|
|
33
10
|
}
|
|
34
11
|
];
|
|
35
12
|
type FunReturnType = {
|
|
@@ -41,6 +18,10 @@ type FunReturnType = {
|
|
|
41
18
|
* Просчитывает позицию для объекта
|
|
42
19
|
* */
|
|
43
20
|
calc: () => NewPlacementPosType;
|
|
21
|
+
/**
|
|
22
|
+
* Возвращает изначальный стиль объекта
|
|
23
|
+
* */
|
|
24
|
+
getInitStyle: () => CSSProperties;
|
|
44
25
|
};
|
|
45
26
|
/**
|
|
46
27
|
* Хук для умного позиционирования элемента.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
1
2
|
type AnimationTypes = 'fade-in-scale-up' | 'slide-up-fade-in' | 'slide-down-fade-in' | 'fade-in';
|
|
2
3
|
type PosType = [number, number];
|
|
3
4
|
type AnimationItemOptionsType = {
|
|
@@ -21,6 +22,8 @@ type AnimationItemType = (props: PropsType, timeline: gsap.core.Timeline, option
|
|
|
21
22
|
type AnimationValueType = {
|
|
22
23
|
appear: AnimationItemType;
|
|
23
24
|
disappear: AnimationItemType;
|
|
25
|
+
getInitStyle: () => CSSProperties;
|
|
26
|
+
getBackdropInitStyle: () => CSSProperties;
|
|
24
27
|
};
|
|
25
28
|
type AnimationsType = Record<AnimationTypes, AnimationValueType>;
|
|
26
29
|
export declare const BACKDROP_MODAL_ANIMATIONS: () => AnimationsType;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
1
2
|
type AnimationTypes = 'popover' | 'dropdown' | 'context-menu' | 'action-sheet';
|
|
2
3
|
type PosType = [number, number];
|
|
3
4
|
type AnimationItemOptionsType = {
|
|
@@ -17,11 +18,13 @@ type PropsType = {
|
|
|
17
18
|
targetSize: PosType;
|
|
18
19
|
modalSize: PosType;
|
|
19
20
|
predictPos: PosType;
|
|
21
|
+
position: 'absolute' | 'fixed' | 'relative';
|
|
20
22
|
};
|
|
21
23
|
type AnimationItemType = (props: PropsType, timeline: gsap.core.Timeline, options?: AnimationItemOptionsType) => gsap.core.Timeline;
|
|
22
24
|
type AnimationValueType = {
|
|
23
25
|
appear: AnimationItemType;
|
|
24
26
|
disappear: AnimationItemType;
|
|
27
|
+
getInitStyle: (props: Pick<PropsType, 'position'>) => CSSProperties;
|
|
25
28
|
};
|
|
26
29
|
type AnimationsType = Record<AnimationTypes, AnimationValueType>;
|
|
27
30
|
export declare const MODAL_ANIMATIONS: () => AnimationsType;
|
|
@@ -5,7 +5,6 @@ type MovingOptionsType = {
|
|
|
5
5
|
left: number;
|
|
6
6
|
top: number;
|
|
7
7
|
};
|
|
8
|
-
position?: 'absolute' | 'fixed' | 'relative';
|
|
9
8
|
};
|
|
10
9
|
type AnimationItemType = (element: HTMLElement, timeline: TimelineType, options: MovingOptionsType) => TimelineType;
|
|
11
10
|
type AnimationsType = Record<AnimationTypes, AnimationItemType>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, RefObject } from "react";
|
|
2
|
-
import { useSmartPlacementResolver } from "../useSmartPlacementResolver";
|
|
2
|
+
import { useSmartPlacementResolver } from "../placement/useSmartPlacementResolver";
|
|
3
3
|
import { MODAL_ANIMATIONS } from "./assets";
|
|
4
4
|
type UseSmartPlacementResolverOptionsType = Exclude<Parameters<typeof useSmartPlacementResolver>['1'], undefined>;
|
|
5
5
|
type OptionsType<T extends HTMLElement = HTMLElement> = Pick<UseSmartPlacementResolverOptionsType, 'position'> & {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DateTimeFieldPropsType } from "../../../../ui";
|
|
2
|
-
import {
|
|
3
|
-
type PositionType = Exclude<Parameters<typeof
|
|
2
|
+
import { useModal } from "../../../../hooks";
|
|
3
|
+
type PositionType = Exclude<Parameters<typeof useModal>[1], undefined>['position'];
|
|
4
4
|
export type DateFieldPropsType = Omit<DateTimeFieldPropsType, 'iconTime' | 'textTime' | 'timePlaceholder' | 'timeFormat'> & {
|
|
5
5
|
/** Определяет, как будет располагать пикер даты (fixed, absolute).
|
|
6
6
|
* В нужной ситуации можно использовать разные подходы,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { FieldsBasePropsType } from "../../FieldsBase";
|
|
2
2
|
import { FormatNameType } from "../../../../lib";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
type PositionType = Exclude<Parameters<typeof
|
|
4
|
+
import { useModal } from "../../../../hooks";
|
|
5
|
+
type PositionType = Exclude<Parameters<typeof useModal>[1], undefined>['position'];
|
|
6
6
|
export type DateTimeFieldValueType = string;
|
|
7
7
|
export type DateTimeFieldPropsType = FieldsBasePropsType<DateTimeFieldValueType> & {
|
|
8
8
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DateTimeFieldPropsType } from "../../../../ui";
|
|
2
|
-
import {
|
|
3
|
-
type PositionType = Exclude<Parameters<typeof
|
|
2
|
+
import { useModal } from "../../../../hooks";
|
|
3
|
+
type PositionType = Exclude<Parameters<typeof useModal>[1], undefined>['position'];
|
|
4
4
|
export type TimeFieldPropsType = Omit<DateTimeFieldPropsType, 'iconDate' | 'textDate' | 'datePlaceholder' | 'dateFormat'> & {
|
|
5
5
|
/** Определяет, как будет располагать пикер даты (fixed, absolute).
|
|
6
6
|
* В нужной ситуации можно использовать разные подходы,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { FieldsBasePropsType } from "../../../../ui";
|
|
3
|
-
import { DateTimeRangeFieldValueType } from "./DateTimeRangeFieldTypes";
|
|
4
3
|
import { useModal } from "../../../../hooks";
|
|
4
|
+
import { DateTimeRangeFieldValueType } from "./DateTimeRangeFieldTypes";
|
|
5
5
|
type PositionType = Exclude<Parameters<typeof useModal>[1], undefined>['position'];
|
|
6
6
|
export type DateRangeFieldPropsType = FieldsBasePropsType<DateTimeRangeFieldValueType> & {
|
|
7
7
|
firstPlaceholder?: string;
|