@alfalab/core-components-date-time-input 4.0.2 → 4.0.4
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/Component-63dec22f.d.ts +18 -1
- package/components/date-time-input/Component.js +2 -2
- package/components/date-time-input/index.css +7 -7
- package/cssm/Component-63dec22f.d.ts +18 -1
- package/cssm/components/date-time-input/Component.js +1 -1
- package/cssm/types-1b036d4b.d.ts +13 -0
- package/cssm/useSkeleton-1b036d4b.d.ts +40 -0
- package/esm/Component-63dec22f.d.ts +18 -1
- package/esm/components/date-time-input/Component.js +2 -2
- package/esm/components/date-time-input/index.css +7 -7
- package/esm/types-1b036d4b.d.ts +13 -0
- package/esm/useSkeleton-1b036d4b.d.ts +40 -0
- package/modern/Component-63dec22f.d.ts +18 -1
- package/modern/components/date-time-input/Component.js +2 -2
- package/modern/components/date-time-input/index.css +7 -7
- package/modern/types-1b036d4b.d.ts +13 -0
- package/modern/useSkeleton-1b036d4b.d.ts +40 -0
- package/package.json +2 -2
- package/src/components/date-time-input/Component.tsx +1 -1
- package/types-1b036d4b.d.ts +13 -0
- package/useSkeleton-1b036d4b.d.ts +40 -0
package/Component-63dec22f.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
|
|
4
|
+
import { TextElementType, TextSkeletonProps } from "./types-1b036d4b";
|
|
4
5
|
declare const colors: readonly [
|
|
5
6
|
"tertiary",
|
|
6
7
|
"disabled",
|
|
@@ -23,7 +24,6 @@ declare const colors: readonly [
|
|
|
23
24
|
"static-accent"
|
|
24
25
|
];
|
|
25
26
|
type Color = (typeof colors)[number];
|
|
26
|
-
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
27
27
|
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
28
28
|
type TextBaseProps = {
|
|
29
29
|
/**
|
|
@@ -66,6 +66,14 @@ type TextBaseProps = {
|
|
|
66
66
|
* Количество строк (не поддерживает IE)
|
|
67
67
|
*/
|
|
68
68
|
rowLimit?: 1 | 2 | 3;
|
|
69
|
+
/**
|
|
70
|
+
* Показать скелетон
|
|
71
|
+
*/
|
|
72
|
+
showSkeleton?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Пропы для скелетона
|
|
75
|
+
*/
|
|
76
|
+
skeletonProps?: TextSkeletonProps;
|
|
69
77
|
};
|
|
70
78
|
type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
|
|
71
79
|
tag?: "p";
|
|
@@ -114,6 +122,14 @@ type TitleProps = Omit<NativeProps$0, "color"> & {
|
|
|
114
122
|
* Количество строк (не поддерживает IE)
|
|
115
123
|
*/
|
|
116
124
|
rowLimit?: 1 | 2 | 3;
|
|
125
|
+
/**
|
|
126
|
+
* Показать скелетон
|
|
127
|
+
*/
|
|
128
|
+
showSkeleton?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Пропы для скелетона
|
|
131
|
+
*/
|
|
132
|
+
skeletonProps?: TextSkeletonProps;
|
|
117
133
|
};
|
|
118
134
|
type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
|
|
119
135
|
declare const Typography: {
|
|
@@ -165,3 +181,4 @@ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
165
181
|
declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
|
|
166
182
|
export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
|
|
167
183
|
export type { TitleProps, TextProps, Color };
|
|
184
|
+
export * from "./useSkeleton-1b036d4b";
|
|
@@ -21,7 +21,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
21
21
|
var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
|
|
22
22
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
23
23
|
|
|
24
|
-
var styles = {"component":"date-time-
|
|
24
|
+
var styles = {"component":"date-time-input__component_adunq","calendarContainer":"date-time-input__calendarContainer_adunq","calendarResponsive":"date-time-input__calendarResponsive_adunq","block":"date-time-input__block_adunq","calendarIcon":"date-time-input__calendarIcon_adunq"};
|
|
25
25
|
require('./index.css')
|
|
26
26
|
|
|
27
27
|
/* eslint-disable no-useless-escape, jsx-a11y/click-events-have-key-events */
|
|
@@ -122,7 +122,7 @@ var DateTimeInput = React__default.default.forwardRef(function (_a, ref) {
|
|
|
122
122
|
};
|
|
123
123
|
var handleInputKeyDown = function (event) {
|
|
124
124
|
var isCopy = (event.metaKey || event.ctrlKey) && event.key === 'c';
|
|
125
|
-
if (disableUserInput && !isCopy) {
|
|
125
|
+
if (disableUserInput && !isCopy && event.key !== 'Tab') {
|
|
126
126
|
event.preventDefault();
|
|
127
127
|
}
|
|
128
128
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: juw3m */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root {
|
|
4
4
|
--color-light-border-secondary: #e9e9eb; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -41,24 +41,24 @@
|
|
|
41
41
|
/* marker */
|
|
42
42
|
} :root {
|
|
43
43
|
--calendar-popover-border-radius: var(--border-radius-m);
|
|
44
|
-
} .date-time-
|
|
44
|
+
} .date-time-input__component_adunq {
|
|
45
45
|
display: inline-block;
|
|
46
46
|
outline: none;
|
|
47
47
|
position: relative;
|
|
48
|
-
} .date-time-
|
|
48
|
+
} .date-time-input__calendarContainer_adunq {
|
|
49
49
|
display: inline-block;
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
border-radius: var(--calendar-popover-border-radius);
|
|
52
52
|
border: 1px solid var(--color-light-border-secondary)
|
|
53
|
-
} @media (max-width: 374px) { .date-time-
|
|
53
|
+
} @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
|
|
54
54
|
width: 100%;
|
|
55
55
|
min-width: 288px
|
|
56
56
|
}
|
|
57
|
-
} .date-time-
|
|
57
|
+
} .date-time-input__calendarResponsive_adunq {
|
|
58
58
|
width: var(--calendar-width);
|
|
59
|
-
} .date-time-
|
|
59
|
+
} .date-time-input__block_adunq {
|
|
60
60
|
width: 100%;
|
|
61
|
-
} .date-time-
|
|
61
|
+
} .date-time-input__calendarIcon_adunq {
|
|
62
62
|
margin-right: var(--gap-s-neg);
|
|
63
63
|
height: 100%;
|
|
64
64
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
|
|
4
|
+
import { TextElementType, TextSkeletonProps } from "./types-1b036d4b";
|
|
4
5
|
declare const colors: readonly [
|
|
5
6
|
"tertiary",
|
|
6
7
|
"disabled",
|
|
@@ -23,7 +24,6 @@ declare const colors: readonly [
|
|
|
23
24
|
"static-accent"
|
|
24
25
|
];
|
|
25
26
|
type Color = (typeof colors)[number];
|
|
26
|
-
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
27
27
|
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
28
28
|
type TextBaseProps = {
|
|
29
29
|
/**
|
|
@@ -66,6 +66,14 @@ type TextBaseProps = {
|
|
|
66
66
|
* Количество строк (не поддерживает IE)
|
|
67
67
|
*/
|
|
68
68
|
rowLimit?: 1 | 2 | 3;
|
|
69
|
+
/**
|
|
70
|
+
* Показать скелетон
|
|
71
|
+
*/
|
|
72
|
+
showSkeleton?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Пропы для скелетона
|
|
75
|
+
*/
|
|
76
|
+
skeletonProps?: TextSkeletonProps;
|
|
69
77
|
};
|
|
70
78
|
type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
|
|
71
79
|
tag?: "p";
|
|
@@ -114,6 +122,14 @@ type TitleProps = Omit<NativeProps$0, "color"> & {
|
|
|
114
122
|
* Количество строк (не поддерживает IE)
|
|
115
123
|
*/
|
|
116
124
|
rowLimit?: 1 | 2 | 3;
|
|
125
|
+
/**
|
|
126
|
+
* Показать скелетон
|
|
127
|
+
*/
|
|
128
|
+
showSkeleton?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Пропы для скелетона
|
|
131
|
+
*/
|
|
132
|
+
skeletonProps?: TextSkeletonProps;
|
|
117
133
|
};
|
|
118
134
|
type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
|
|
119
135
|
declare const Typography: {
|
|
@@ -165,3 +181,4 @@ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
165
181
|
declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
|
|
166
182
|
export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
|
|
167
183
|
export type { TitleProps, TextProps, Color };
|
|
184
|
+
export * from "./useSkeleton-1b036d4b";
|
|
@@ -121,7 +121,7 @@ var DateTimeInput = React__default.default.forwardRef(function (_a, ref) {
|
|
|
121
121
|
};
|
|
122
122
|
var handleInputKeyDown = function (event) {
|
|
123
123
|
var isCopy = (event.metaKey || event.ctrlKey) && event.key === 'c';
|
|
124
|
-
if (disableUserInput && !isCopy) {
|
|
124
|
+
if (disableUserInput && !isCopy && event.key !== 'Tab') {
|
|
125
125
|
event.preventDefault();
|
|
126
126
|
}
|
|
127
127
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
2
|
+
type WidthUnit = number | string;
|
|
3
|
+
type TextSkeletonProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Кол-во строк текста
|
|
6
|
+
*/
|
|
7
|
+
rows?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Ширина строки
|
|
10
|
+
*/
|
|
11
|
+
width?: WidthUnit | WidthUnit[];
|
|
12
|
+
};
|
|
13
|
+
export { TextElementType, TextSkeletonProps };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { TextSkeletonProps } from "./types-1b036d4b";
|
|
5
|
+
type SkeletonProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Флаг, явно задающий состояние, при котором контент закрывается прелоадером
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Флаг явного включения анимации скелета
|
|
12
|
+
*/
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительные инлайн стили
|
|
20
|
+
*/
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
/**
|
|
23
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
24
|
+
*/
|
|
25
|
+
dataTestId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Дочерние элементы.
|
|
28
|
+
*/
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
};
|
|
31
|
+
declare const Skeleton: React.FC<SkeletonProps>;
|
|
32
|
+
type SkeletonProps$0 = {
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
};
|
|
36
|
+
declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
|
|
37
|
+
renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
|
|
38
|
+
textRef: React.RefObject<HTMLElement>;
|
|
39
|
+
};
|
|
40
|
+
export { SkeletonProps, Skeleton, useSkeleton };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
|
|
4
|
+
import { TextElementType, TextSkeletonProps } from "./types-1b036d4b";
|
|
4
5
|
declare const colors: readonly [
|
|
5
6
|
"tertiary",
|
|
6
7
|
"disabled",
|
|
@@ -23,7 +24,6 @@ declare const colors: readonly [
|
|
|
23
24
|
"static-accent"
|
|
24
25
|
];
|
|
25
26
|
type Color = (typeof colors)[number];
|
|
26
|
-
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
27
27
|
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
28
28
|
type TextBaseProps = {
|
|
29
29
|
/**
|
|
@@ -66,6 +66,14 @@ type TextBaseProps = {
|
|
|
66
66
|
* Количество строк (не поддерживает IE)
|
|
67
67
|
*/
|
|
68
68
|
rowLimit?: 1 | 2 | 3;
|
|
69
|
+
/**
|
|
70
|
+
* Показать скелетон
|
|
71
|
+
*/
|
|
72
|
+
showSkeleton?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Пропы для скелетона
|
|
75
|
+
*/
|
|
76
|
+
skeletonProps?: TextSkeletonProps;
|
|
69
77
|
};
|
|
70
78
|
type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
|
|
71
79
|
tag?: "p";
|
|
@@ -114,6 +122,14 @@ type TitleProps = Omit<NativeProps$0, "color"> & {
|
|
|
114
122
|
* Количество строк (не поддерживает IE)
|
|
115
123
|
*/
|
|
116
124
|
rowLimit?: 1 | 2 | 3;
|
|
125
|
+
/**
|
|
126
|
+
* Показать скелетон
|
|
127
|
+
*/
|
|
128
|
+
showSkeleton?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Пропы для скелетона
|
|
131
|
+
*/
|
|
132
|
+
skeletonProps?: TextSkeletonProps;
|
|
117
133
|
};
|
|
118
134
|
type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
|
|
119
135
|
declare const Typography: {
|
|
@@ -165,3 +181,4 @@ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
165
181
|
declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
|
|
166
182
|
export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
|
|
167
183
|
export type { TitleProps, TextProps, Color };
|
|
184
|
+
export * from "./useSkeleton-1b036d4b";
|
|
@@ -11,7 +11,7 @@ import { getDateWithoutTime, DATE_WITH_TIME_LENGTH, format, getFullDateTime, isC
|
|
|
11
11
|
import 'date-fns/isValid';
|
|
12
12
|
import 'date-fns/parse';
|
|
13
13
|
|
|
14
|
-
var styles = {"component":"date-time-
|
|
14
|
+
var styles = {"component":"date-time-input__component_adunq","calendarContainer":"date-time-input__calendarContainer_adunq","calendarResponsive":"date-time-input__calendarResponsive_adunq","block":"date-time-input__block_adunq","calendarIcon":"date-time-input__calendarIcon_adunq"};
|
|
15
15
|
require('./index.css')
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-useless-escape, jsx-a11y/click-events-have-key-events */
|
|
@@ -112,7 +112,7 @@ var DateTimeInput = React.forwardRef(function (_a, ref) {
|
|
|
112
112
|
};
|
|
113
113
|
var handleInputKeyDown = function (event) {
|
|
114
114
|
var isCopy = (event.metaKey || event.ctrlKey) && event.key === 'c';
|
|
115
|
-
if (disableUserInput && !isCopy) {
|
|
115
|
+
if (disableUserInput && !isCopy && event.key !== 'Tab') {
|
|
116
116
|
event.preventDefault();
|
|
117
117
|
}
|
|
118
118
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: juw3m */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root {
|
|
4
4
|
--color-light-border-secondary: #e9e9eb; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -41,24 +41,24 @@
|
|
|
41
41
|
/* marker */
|
|
42
42
|
} :root {
|
|
43
43
|
--calendar-popover-border-radius: var(--border-radius-m);
|
|
44
|
-
} .date-time-
|
|
44
|
+
} .date-time-input__component_adunq {
|
|
45
45
|
display: inline-block;
|
|
46
46
|
outline: none;
|
|
47
47
|
position: relative;
|
|
48
|
-
} .date-time-
|
|
48
|
+
} .date-time-input__calendarContainer_adunq {
|
|
49
49
|
display: inline-block;
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
border-radius: var(--calendar-popover-border-radius);
|
|
52
52
|
border: 1px solid var(--color-light-border-secondary)
|
|
53
|
-
} @media (max-width: 374px) { .date-time-
|
|
53
|
+
} @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
|
|
54
54
|
width: 100%;
|
|
55
55
|
min-width: 288px
|
|
56
56
|
}
|
|
57
|
-
} .date-time-
|
|
57
|
+
} .date-time-input__calendarResponsive_adunq {
|
|
58
58
|
width: var(--calendar-width);
|
|
59
|
-
} .date-time-
|
|
59
|
+
} .date-time-input__block_adunq {
|
|
60
60
|
width: 100%;
|
|
61
|
-
} .date-time-
|
|
61
|
+
} .date-time-input__calendarIcon_adunq {
|
|
62
62
|
margin-right: var(--gap-s-neg);
|
|
63
63
|
height: 100%;
|
|
64
64
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
2
|
+
type WidthUnit = number | string;
|
|
3
|
+
type TextSkeletonProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Кол-во строк текста
|
|
6
|
+
*/
|
|
7
|
+
rows?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Ширина строки
|
|
10
|
+
*/
|
|
11
|
+
width?: WidthUnit | WidthUnit[];
|
|
12
|
+
};
|
|
13
|
+
export { TextElementType, TextSkeletonProps };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { TextSkeletonProps } from "./types-1b036d4b";
|
|
5
|
+
type SkeletonProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Флаг, явно задающий состояние, при котором контент закрывается прелоадером
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Флаг явного включения анимации скелета
|
|
12
|
+
*/
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительные инлайн стили
|
|
20
|
+
*/
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
/**
|
|
23
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
24
|
+
*/
|
|
25
|
+
dataTestId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Дочерние элементы.
|
|
28
|
+
*/
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
};
|
|
31
|
+
declare const Skeleton: React.FC<SkeletonProps>;
|
|
32
|
+
type SkeletonProps$0 = {
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
};
|
|
36
|
+
declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
|
|
37
|
+
renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
|
|
38
|
+
textRef: React.RefObject<HTMLElement>;
|
|
39
|
+
};
|
|
40
|
+
export { SkeletonProps, Skeleton, useSkeleton };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { FC, ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from "react";
|
|
4
|
+
import { TextElementType, TextSkeletonProps } from "./types-1b036d4b";
|
|
4
5
|
declare const colors: readonly [
|
|
5
6
|
"tertiary",
|
|
6
7
|
"disabled",
|
|
@@ -23,7 +24,6 @@ declare const colors: readonly [
|
|
|
23
24
|
"static-accent"
|
|
24
25
|
];
|
|
25
26
|
type Color = (typeof colors)[number];
|
|
26
|
-
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
27
27
|
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
28
28
|
type TextBaseProps = {
|
|
29
29
|
/**
|
|
@@ -66,6 +66,14 @@ type TextBaseProps = {
|
|
|
66
66
|
* Количество строк (не поддерживает IE)
|
|
67
67
|
*/
|
|
68
68
|
rowLimit?: 1 | 2 | 3;
|
|
69
|
+
/**
|
|
70
|
+
* Показать скелетон
|
|
71
|
+
*/
|
|
72
|
+
showSkeleton?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Пропы для скелетона
|
|
75
|
+
*/
|
|
76
|
+
skeletonProps?: TextSkeletonProps;
|
|
69
77
|
};
|
|
70
78
|
type TextPTagProps = Omit<TextBaseProps, "tag" | "defaultMargins"> & {
|
|
71
79
|
tag?: "p";
|
|
@@ -114,6 +122,14 @@ type TitleProps = Omit<NativeProps$0, "color"> & {
|
|
|
114
122
|
* Количество строк (не поддерживает IE)
|
|
115
123
|
*/
|
|
116
124
|
rowLimit?: 1 | 2 | 3;
|
|
125
|
+
/**
|
|
126
|
+
* Показать скелетон
|
|
127
|
+
*/
|
|
128
|
+
showSkeleton?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Пропы для скелетона
|
|
131
|
+
*/
|
|
132
|
+
skeletonProps?: TextSkeletonProps;
|
|
117
133
|
};
|
|
118
134
|
type TitleMobileProps = Omit<TitleProps, "defaultMargins">;
|
|
119
135
|
declare const Typography: {
|
|
@@ -165,3 +181,4 @@ interface BackArrowAddonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
165
181
|
declare const BackArrowAddon: React.FC<BackArrowAddonProps>;
|
|
166
182
|
export { Typography, typographyPresets, TitleResponsive, BackArrowAddonProps, BackArrowAddon };
|
|
167
183
|
export type { TitleProps, TextProps, Color };
|
|
184
|
+
export * from "./useSkeleton-1b036d4b";
|
|
@@ -10,7 +10,7 @@ import { getDateWithoutTime, DATE_WITH_TIME_LENGTH, format, getFullDateTime, isC
|
|
|
10
10
|
import 'date-fns/isValid';
|
|
11
11
|
import 'date-fns/parse';
|
|
12
12
|
|
|
13
|
-
const styles = {"component":"date-time-
|
|
13
|
+
const styles = {"component":"date-time-input__component_adunq","calendarContainer":"date-time-input__calendarContainer_adunq","calendarResponsive":"date-time-input__calendarResponsive_adunq","block":"date-time-input__block_adunq","calendarIcon":"date-time-input__calendarIcon_adunq"};
|
|
14
14
|
require('./index.css')
|
|
15
15
|
|
|
16
16
|
/* eslint-disable no-useless-escape, jsx-a11y/click-events-have-key-events */
|
|
@@ -108,7 +108,7 @@ const DateTimeInput = React.forwardRef(({ className, inputClassName, popoverClas
|
|
|
108
108
|
};
|
|
109
109
|
const handleInputKeyDown = (event) => {
|
|
110
110
|
const isCopy = (event.metaKey || event.ctrlKey) && event.key === 'c';
|
|
111
|
-
if (disableUserInput && !isCopy) {
|
|
111
|
+
if (disableUserInput && !isCopy && event.key !== 'Tab') {
|
|
112
112
|
event.preventDefault();
|
|
113
113
|
}
|
|
114
114
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: juw3m */
|
|
2
2
|
:root {
|
|
3
3
|
} /* deprecated */ :root {
|
|
4
4
|
--color-light-border-secondary: #e9e9eb; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -41,24 +41,24 @@
|
|
|
41
41
|
/* marker */
|
|
42
42
|
} :root {
|
|
43
43
|
--calendar-popover-border-radius: var(--border-radius-m);
|
|
44
|
-
} .date-time-
|
|
44
|
+
} .date-time-input__component_adunq {
|
|
45
45
|
display: inline-block;
|
|
46
46
|
outline: none;
|
|
47
47
|
position: relative;
|
|
48
|
-
} .date-time-
|
|
48
|
+
} .date-time-input__calendarContainer_adunq {
|
|
49
49
|
display: inline-block;
|
|
50
50
|
box-sizing: border-box;
|
|
51
51
|
border-radius: var(--calendar-popover-border-radius);
|
|
52
52
|
border: 1px solid var(--color-light-border-secondary)
|
|
53
|
-
} @media (max-width: 374px) { .date-time-
|
|
53
|
+
} @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
|
|
54
54
|
width: 100%;
|
|
55
55
|
min-width: 288px
|
|
56
56
|
}
|
|
57
|
-
} .date-time-
|
|
57
|
+
} .date-time-input__calendarResponsive_adunq {
|
|
58
58
|
width: var(--calendar-width);
|
|
59
|
-
} .date-time-
|
|
59
|
+
} .date-time-input__block_adunq {
|
|
60
60
|
width: 100%;
|
|
61
|
-
} .date-time-
|
|
61
|
+
} .date-time-input__calendarIcon_adunq {
|
|
62
62
|
margin-right: var(--gap-s-neg);
|
|
63
63
|
height: 100%;
|
|
64
64
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
2
|
+
type WidthUnit = number | string;
|
|
3
|
+
type TextSkeletonProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Кол-во строк текста
|
|
6
|
+
*/
|
|
7
|
+
rows?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Ширина строки
|
|
10
|
+
*/
|
|
11
|
+
width?: WidthUnit | WidthUnit[];
|
|
12
|
+
};
|
|
13
|
+
export { TextElementType, TextSkeletonProps };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { TextSkeletonProps } from "./types-1b036d4b";
|
|
5
|
+
type SkeletonProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Флаг, явно задающий состояние, при котором контент закрывается прелоадером
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Флаг явного включения анимации скелета
|
|
12
|
+
*/
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительные инлайн стили
|
|
20
|
+
*/
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
/**
|
|
23
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
24
|
+
*/
|
|
25
|
+
dataTestId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Дочерние элементы.
|
|
28
|
+
*/
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
};
|
|
31
|
+
declare const Skeleton: React.FC<SkeletonProps>;
|
|
32
|
+
type SkeletonProps$0 = {
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
};
|
|
36
|
+
declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
|
|
37
|
+
renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
|
|
38
|
+
textRef: React.RefObject<HTMLElement>;
|
|
39
|
+
};
|
|
40
|
+
export { SkeletonProps, Skeleton, useSkeleton };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-date-time-input",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@alfalab/core-components-calendar": "^7.0.
|
|
38
|
+
"@alfalab/core-components-calendar": "^7.0.3",
|
|
39
39
|
"@alfalab/core-components-input": "^12.0.2",
|
|
40
40
|
"@alfalab/core-components-icon-button": "^6.2.2",
|
|
41
41
|
"@alfalab/core-components-popover": "^6.1.0",
|
|
@@ -315,7 +315,7 @@ export const DateTimeInput = React.forwardRef<HTMLInputElement, DateTimeInputPro
|
|
|
315
315
|
const handleInputKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {
|
|
316
316
|
const isCopy = (event.metaKey || event.ctrlKey) && event.key === 'c';
|
|
317
317
|
|
|
318
|
-
if (disableUserInput && !isCopy) {
|
|
318
|
+
if (disableUserInput && !isCopy && event.key !== 'Tab') {
|
|
319
319
|
event.preventDefault();
|
|
320
320
|
}
|
|
321
321
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type TextElementType = HTMLParagraphElement | HTMLSpanElement | HTMLDivElement;
|
|
2
|
+
type WidthUnit = number | string;
|
|
3
|
+
type TextSkeletonProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Кол-во строк текста
|
|
6
|
+
*/
|
|
7
|
+
rows?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Ширина строки
|
|
10
|
+
*/
|
|
11
|
+
width?: WidthUnit | WidthUnit[];
|
|
12
|
+
};
|
|
13
|
+
export { TextElementType, TextSkeletonProps };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { TextSkeletonProps } from "./types-1b036d4b";
|
|
5
|
+
type SkeletonProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Флаг, явно задающий состояние, при котором контент закрывается прелоадером
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Флаг явного включения анимации скелета
|
|
12
|
+
*/
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительные инлайн стили
|
|
20
|
+
*/
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
/**
|
|
23
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
24
|
+
*/
|
|
25
|
+
dataTestId?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Дочерние элементы.
|
|
28
|
+
*/
|
|
29
|
+
children?: ReactNode;
|
|
30
|
+
};
|
|
31
|
+
declare const Skeleton: React.FC<SkeletonProps>;
|
|
32
|
+
type SkeletonProps$0 = {
|
|
33
|
+
wrapperClassName?: string;
|
|
34
|
+
dataTestId?: string;
|
|
35
|
+
};
|
|
36
|
+
declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
|
|
37
|
+
renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
|
|
38
|
+
textRef: React.RefObject<HTMLElement>;
|
|
39
|
+
};
|
|
40
|
+
export { SkeletonProps, Skeleton, useSkeleton };
|