@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.
@@ -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-input__component_17o5k","calendarContainer":"date-time-input__calendarContainer_17o5k","calendarResponsive":"date-time-input__calendarResponsive_17o5k","block":"date-time-input__block_17o5k","calendarIcon":"date-time-input__calendarIcon_17o5k"};
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: reilf */
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-input__component_17o5k {
44
+ } .date-time-input__component_adunq {
45
45
  display: inline-block;
46
46
  outline: none;
47
47
  position: relative;
48
- } .date-time-input__calendarContainer_17o5k {
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-input__calendarContainer_17o5k {
53
+ } @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
54
54
  width: 100%;
55
55
  min-width: 288px
56
56
  }
57
- } .date-time-input__calendarResponsive_17o5k {
57
+ } .date-time-input__calendarResponsive_adunq {
58
58
  width: var(--calendar-width);
59
- } .date-time-input__block_17o5k {
59
+ } .date-time-input__block_adunq {
60
60
  width: 100%;
61
- } .date-time-input__calendarIcon_17o5k {
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-input__component_17o5k","calendarContainer":"date-time-input__calendarContainer_17o5k","calendarResponsive":"date-time-input__calendarResponsive_17o5k","block":"date-time-input__block_17o5k","calendarIcon":"date-time-input__calendarIcon_17o5k"};
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: reilf */
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-input__component_17o5k {
44
+ } .date-time-input__component_adunq {
45
45
  display: inline-block;
46
46
  outline: none;
47
47
  position: relative;
48
- } .date-time-input__calendarContainer_17o5k {
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-input__calendarContainer_17o5k {
53
+ } @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
54
54
  width: 100%;
55
55
  min-width: 288px
56
56
  }
57
- } .date-time-input__calendarResponsive_17o5k {
57
+ } .date-time-input__calendarResponsive_adunq {
58
58
  width: var(--calendar-width);
59
- } .date-time-input__block_17o5k {
59
+ } .date-time-input__block_adunq {
60
60
  width: 100%;
61
- } .date-time-input__calendarIcon_17o5k {
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-input__component_17o5k","calendarContainer":"date-time-input__calendarContainer_17o5k","calendarResponsive":"date-time-input__calendarResponsive_17o5k","block":"date-time-input__block_17o5k","calendarIcon":"date-time-input__calendarIcon_17o5k"};
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: reilf */
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-input__component_17o5k {
44
+ } .date-time-input__component_adunq {
45
45
  display: inline-block;
46
46
  outline: none;
47
47
  position: relative;
48
- } .date-time-input__calendarContainer_17o5k {
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-input__calendarContainer_17o5k {
53
+ } @media (max-width: 374px) { .date-time-input__calendarContainer_adunq {
54
54
  width: 100%;
55
55
  min-width: 288px
56
56
  }
57
- } .date-time-input__calendarResponsive_17o5k {
57
+ } .date-time-input__calendarResponsive_adunq {
58
58
  width: var(--calendar-width);
59
- } .date-time-input__block_17o5k {
59
+ } .date-time-input__block_adunq {
60
60
  width: 100%;
61
- } .date-time-input__calendarIcon_17o5k {
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.2",
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.2",
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 };