@alfalab/core-components-typography 4.3.0 → 4.5.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 (130) hide show
  1. package/colors.css +20 -20
  2. package/colors.module-542eef2a.js +6 -0
  3. package/common.module-4306b4f6.js +6 -0
  4. package/component.js +0 -10
  5. package/cssm/component.js +0 -15
  6. package/cssm/hooks/index.d.ts +1 -1
  7. package/cssm/hooks/index.js +1 -6
  8. package/cssm/hooks/{useSkeleton.js → use-skeleton.js} +3 -1
  9. package/cssm/hooks/use-skeleton.module.css +6 -0
  10. package/cssm/index.js +0 -19
  11. package/cssm/text/component.js +1 -4
  12. package/cssm/text/index.js +0 -10
  13. package/cssm/title/common.module.css +3 -0
  14. package/cssm/title/component.d.ts +7 -6
  15. package/cssm/title/component.js +5 -7
  16. package/cssm/title/index.d.ts +1 -1
  17. package/cssm/title/index.js +1 -8
  18. package/cssm/title/utils.d.ts +2 -0
  19. package/cssm/title/utils.js +15 -0
  20. package/cssm/title-mobile/component.d.ts +1 -1
  21. package/cssm/title-mobile/component.js +1 -8
  22. package/cssm/title-mobile/index.js +0 -12
  23. package/cssm/title-responsive/component.d.ts +1 -1
  24. package/cssm/title-responsive/component.js +5 -8
  25. package/cssm/title-responsive/index.js +0 -12
  26. package/cssm/types.d.ts +8 -0
  27. package/esm/colors.css +20 -20
  28. package/esm/colors.module-8bcdca4a.js +4 -0
  29. package/esm/common.module-76facc75.js +4 -0
  30. package/esm/component.js +0 -10
  31. package/esm/hooks/index.d.ts +1 -1
  32. package/esm/hooks/index.js +1 -5
  33. package/esm/hooks/use-skeleton.css +8 -2
  34. package/esm/hooks/{useSkeleton.js → use-skeleton.js} +3 -2
  35. package/esm/index.js +0 -14
  36. package/esm/text/component.js +3 -5
  37. package/esm/text/index.css +20 -20
  38. package/esm/text/index.js +0 -8
  39. package/esm/title/common.css +8 -5
  40. package/esm/title/component.d.ts +7 -6
  41. package/esm/title/component.js +6 -7
  42. package/esm/title/index.css +19 -19
  43. package/esm/title/index.d.ts +1 -1
  44. package/esm/title/index.js +4 -10
  45. package/esm/title/utils.d.ts +2 -0
  46. package/esm/title/utils.js +11 -0
  47. package/esm/title-mobile/component.d.ts +1 -1
  48. package/esm/title-mobile/component.js +4 -10
  49. package/esm/title-mobile/index.css +11 -11
  50. package/esm/title-mobile/index.js +0 -10
  51. package/esm/title-responsive/component.d.ts +1 -1
  52. package/esm/title-responsive/component.js +8 -10
  53. package/esm/title-responsive/index.css +31 -31
  54. package/esm/title-responsive/index.js +0 -10
  55. package/esm/types.d.ts +8 -0
  56. package/hooks/index.d.ts +1 -1
  57. package/hooks/index.js +1 -5
  58. package/hooks/use-skeleton.css +8 -2
  59. package/hooks/{useSkeleton.js → use-skeleton.js} +4 -2
  60. package/index.js +0 -14
  61. package/modern/colors.css +20 -20
  62. package/modern/colors.module-ba6381f2.js +4 -0
  63. package/modern/common.module-e2076252.js +4 -0
  64. package/modern/component.js +0 -9
  65. package/modern/hooks/index.d.ts +1 -1
  66. package/modern/hooks/index.js +1 -4
  67. package/modern/hooks/use-skeleton.css +8 -2
  68. package/modern/hooks/{useSkeleton.js → use-skeleton.js} +3 -2
  69. package/modern/index.js +0 -13
  70. package/modern/text/component.js +3 -5
  71. package/modern/text/index.css +20 -20
  72. package/modern/text/index.js +0 -7
  73. package/modern/title/common.css +8 -5
  74. package/modern/title/component.d.ts +7 -6
  75. package/modern/title/component.js +5 -6
  76. package/modern/title/index.css +19 -19
  77. package/modern/title/index.d.ts +1 -1
  78. package/modern/title/index.js +4 -10
  79. package/modern/title/utils.d.ts +2 -0
  80. package/modern/title/utils.js +11 -0
  81. package/modern/title-mobile/component.d.ts +1 -1
  82. package/modern/title-mobile/component.js +4 -10
  83. package/modern/title-mobile/index.css +11 -11
  84. package/modern/title-mobile/index.js +0 -9
  85. package/modern/title-responsive/component.d.ts +1 -1
  86. package/modern/title-responsive/component.js +8 -10
  87. package/modern/title-responsive/index.css +31 -31
  88. package/modern/title-responsive/index.js +0 -9
  89. package/modern/types.d.ts +8 -0
  90. package/package.json +2 -1
  91. package/src/hooks/index.ts +1 -1
  92. package/src/hooks/use-skeleton.module.css +12 -0
  93. package/src/hooks/{useSkeleton.tsx → use-skeleton.tsx} +9 -1
  94. package/src/title/common.module.css +4 -0
  95. package/src/title/component.tsx +8 -4
  96. package/src/title/index.tsx +7 -2
  97. package/src/title/utils.ts +11 -0
  98. package/src/title-mobile/component.tsx +9 -2
  99. package/src/title-responsive/component.tsx +15 -2
  100. package/src/types.ts +10 -0
  101. package/text/component.js +3 -5
  102. package/text/index.css +20 -20
  103. package/text/index.js +0 -8
  104. package/title/common.css +8 -5
  105. package/title/component.d.ts +7 -6
  106. package/title/component.js +6 -7
  107. package/title/index.css +19 -19
  108. package/title/index.d.ts +1 -1
  109. package/title/index.js +3 -9
  110. package/title/utils.d.ts +2 -0
  111. package/title/utils.js +15 -0
  112. package/title-mobile/component.d.ts +1 -1
  113. package/title-mobile/component.js +3 -9
  114. package/title-mobile/index.css +11 -11
  115. package/title-mobile/index.js +0 -10
  116. package/title-responsive/component.d.ts +1 -1
  117. package/title-responsive/component.js +7 -9
  118. package/title-responsive/index.css +31 -31
  119. package/title-responsive/index.js +0 -10
  120. package/types.d.ts +8 -0
  121. package/colors.module-67e5bcbb.js +0 -6
  122. package/common.module-e30c567d.js +0 -6
  123. package/esm/colors.module-f70f33ad.js +0 -4
  124. package/esm/common.module-a6e9f838.js +0 -4
  125. package/modern/colors.module-95caa60d.js +0 -4
  126. package/modern/common.module-592df4cb.js +0 -4
  127. /package/cssm/hooks/{useSkeleton.d.ts → use-skeleton.d.ts} +0 -0
  128. /package/esm/hooks/{useSkeleton.d.ts → use-skeleton.d.ts} +0 -0
  129. /package/hooks/{useSkeleton.d.ts → use-skeleton.d.ts} +0 -0
  130. /package/modern/hooks/{useSkeleton.d.ts → use-skeleton.d.ts} +0 -0
@@ -1,4 +1,5 @@
1
1
  import React, { useRef, useState } from 'react';
2
+ import cn from 'classnames';
2
3
 
3
4
  import { Skeleton } from '@alfalab/core-components-skeleton';
4
5
  import { useLayoutEffect_SAFE_FOR_SSR } from '@alfalab/hooks';
@@ -52,7 +53,14 @@ export function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeleton
52
53
  const renderSkeleton = (props: SkeletonProps) => {
53
54
  if (showSkeleton && skeletonParams) {
54
55
  return (
55
- <div className={props.wrapperClassName} data-test-id={props.dataTestId}>
56
+ <div
57
+ className={cn(
58
+ skeletonProps?.wrapperClassName,
59
+ props.wrapperClassName,
60
+ skeletonProps?.align && styles[skeletonProps.align],
61
+ )}
62
+ data-test-id={props.dataTestId}
63
+ >
56
64
  {[...Array(skeletonParams.rows)].map((_, idx) => {
57
65
  const width = Array.isArray(skeletonProps?.width)
58
66
  ? skeletonProps?.width[idx]
@@ -6,6 +6,10 @@
6
6
  font-weight: bold;
7
7
  }
8
8
 
9
+ &.semibold {
10
+ font-weight: 600;
11
+ }
12
+
9
13
  &.medium {
10
14
  font-weight: 500;
11
15
  }
@@ -6,6 +6,8 @@ import { Color } from '../colors';
6
6
  import { useSkeleton } from '../hooks';
7
7
  import { TextSkeletonProps } from '../types';
8
8
 
9
+ import { getDefaultWeight } from './utils';
10
+
9
11
  import colors from '../colors.module.css';
10
12
 
11
13
  type NativeProps = HTMLAttributes<HTMLHeadingElement>;
@@ -29,7 +31,7 @@ export type TitleProps = Omit<NativeProps, 'color'> & {
29
31
  /**
30
32
  * Толщина шрифта
31
33
  */
32
- weight?: 'regular' | 'medium' | 'bold';
34
+ weight?: 'regular' | 'medium' | 'bold' | 'semibold';
33
35
 
34
36
  /**
35
37
  * Шрифт текста
@@ -72,21 +74,23 @@ export type TitleProps = Omit<NativeProps, 'color'> & {
72
74
  skeletonProps?: TextSkeletonProps;
73
75
  };
74
76
 
75
- type Styles = {
77
+ type PrivateProps = {
76
78
  styles: {
77
79
  [key: string]: string;
78
80
  };
81
+ platform: 'mobile' | 'desktop';
79
82
  };
80
83
 
81
84
  type TitleElementType = HTMLHeadingElement | HTMLDivElement;
82
85
 
83
- export const Title = forwardRef<TitleElementType, TitleProps & Styles>(
86
+ export const TitleBase = forwardRef<TitleElementType, TitleProps & PrivateProps>(
84
87
  (
85
88
  {
86
89
  tag: Component = 'div',
87
90
  view = 'medium',
88
91
  font = 'styrene',
89
- weight = font === 'styrene' ? 'medium' : 'bold',
92
+ platform,
93
+ weight = getDefaultWeight(font, platform),
90
94
  defaultMargins = false,
91
95
  color,
92
96
  className,
@@ -1,12 +1,17 @@
1
1
  import React, { forwardRef } from 'react';
2
2
 
3
- import { Title as TitleBase, TitleProps } from './component';
3
+ import { TitleBase, TitleProps } from './component';
4
4
 
5
5
  import commonStyles from './common.module.css';
6
6
  import styles from './index.module.css';
7
7
 
8
8
  const Title = forwardRef<HTMLHeadingElement | HTMLDivElement, TitleProps>((props, ref) => (
9
- <TitleBase {...props} styles={Object.assign(commonStyles, styles)} ref={ref} />
9
+ <TitleBase
10
+ {...props}
11
+ styles={Object.assign(commonStyles, styles)}
12
+ ref={ref}
13
+ platform='desktop'
14
+ />
10
15
  ));
11
16
 
12
17
  export { Title };
@@ -0,0 +1,11 @@
1
+ export function getDefaultWeight(font: 'styrene' | 'system', platform: 'mobile' | 'desktop') {
2
+ if (font === 'styrene') {
3
+ return 'medium';
4
+ }
5
+
6
+ if (platform === 'desktop') {
7
+ return 'bold';
8
+ }
9
+
10
+ return 'semibold';
11
+ }
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
 
3
- import { Title, TitleProps } from '../title/component';
3
+ import { TitleBase, TitleProps } from '../title/component';
4
4
 
5
5
  import commonStyles from '../title/common.module.css';
6
6
  import styles from './index.module.css';
@@ -8,5 +8,12 @@ import styles from './index.module.css';
8
8
  export type TitleMobileProps = Omit<TitleProps, 'defaultMargins'>;
9
9
 
10
10
  export const TitleMobile = forwardRef<HTMLHeadingElement | HTMLDivElement, TitleProps>(
11
- (props, ref) => <Title {...props} styles={Object.assign(commonStyles, styles)} ref={ref} />,
11
+ (props, ref) => (
12
+ <TitleBase
13
+ {...props}
14
+ styles={Object.assign(commonStyles, styles)}
15
+ ref={ref}
16
+ platform='mobile'
17
+ />
18
+ ),
12
19
  );
@@ -1,10 +1,23 @@
1
1
  import React, { forwardRef } from 'react';
2
2
 
3
- import { Title, TitleProps } from '../title/component';
3
+ import { useMatchMedia } from '@alfalab/core-components-mq';
4
+
5
+ import { TitleBase, TitleProps } from '../title/component';
4
6
 
5
7
  import commonStyles from '../title/common.module.css';
6
8
  import styles from './index.module.css';
7
9
 
8
10
  export const TitleResponsive = forwardRef<HTMLHeadingElement | HTMLDivElement, TitleProps>(
9
- (props, ref) => <Title {...props} styles={Object.assign(commonStyles, styles)} ref={ref} />,
11
+ (props, ref) => {
12
+ const [isDesktop] = useMatchMedia('(min-width: 1024px)');
13
+
14
+ return (
15
+ <TitleBase
16
+ {...props}
17
+ styles={Object.assign(commonStyles, styles)}
18
+ ref={ref}
19
+ platform={isDesktop ? 'desktop' : 'mobile'}
20
+ />
21
+ );
22
+ },
10
23
  );
package/src/types.ts CHANGED
@@ -12,4 +12,14 @@ export type TextSkeletonProps = {
12
12
  * Ширина строки
13
13
  */
14
14
  width?: WidthUnit | WidthUnit[];
15
+
16
+ /**
17
+ * Выравнивание элементов по горизонтали
18
+ */
19
+ align?: 'left' | 'center' | 'right';
20
+
21
+ /**
22
+ * Класс для обертки скелетона
23
+ */
24
+ wrapperClassName?: string;
15
25
  };
package/text/component.js CHANGED
@@ -6,10 +6,8 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var mergeRefs = require('react-merge-refs');
8
8
  var cn = require('classnames');
9
- var hooks_useSkeleton = require('../hooks/useSkeleton.js');
10
- var colors_module = require('../colors.module-67e5bcbb.js');
11
- require('@alfalab/core-components-skeleton');
12
- require('@alfalab/hooks');
9
+ var hooks_useSkeleton = require('../hooks/use-skeleton.js');
10
+ var colors_module = require('../colors.module-542eef2a.js');
13
11
 
14
12
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
13
 
@@ -17,7 +15,7 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
15
  var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
18
16
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
17
 
20
- var styles = {"paragraph":"typography__paragraph_iqnql","paragraphWithMargins":"typography__paragraphWithMargins_iqnql","primary-large":"typography__primary-large_iqnql","primary-medium":"typography__primary-medium_iqnql","primary-small":"typography__primary-small_iqnql","secondary-large":"typography__secondary-large_iqnql","secondary-medium":"typography__secondary-medium_iqnql","secondary-small":"typography__secondary-small_iqnql","component":"typography__component_iqnql","component-primary":"typography__component-primary_iqnql","component-secondary":"typography__component-secondary_iqnql","caps":"typography__caps_iqnql","bold":"typography__bold_iqnql","medium":"typography__medium_iqnql","regular":"typography__regular_iqnql","monospace":"typography__monospace_iqnql","rowLimit1":"typography__rowLimit1_iqnql","rowLimit2":"typography__rowLimit2_iqnql","rowLimit3":"typography__rowLimit3_iqnql"};
18
+ var styles = {"paragraph":"typography__paragraph_1oeg2","paragraphWithMargins":"typography__paragraphWithMargins_1oeg2","primary-large":"typography__primary-large_1oeg2","primary-medium":"typography__primary-medium_1oeg2","primary-small":"typography__primary-small_1oeg2","secondary-large":"typography__secondary-large_1oeg2","secondary-medium":"typography__secondary-medium_1oeg2","secondary-small":"typography__secondary-small_1oeg2","component":"typography__component_1oeg2","component-primary":"typography__component-primary_1oeg2","component-secondary":"typography__component-secondary_1oeg2","caps":"typography__caps_1oeg2","bold":"typography__bold_1oeg2","medium":"typography__medium_1oeg2","regular":"typography__regular_1oeg2","monospace":"typography__monospace_1oeg2","rowLimit1":"typography__rowLimit1_1oeg2","rowLimit2":"typography__rowLimit2_1oeg2","rowLimit3":"typography__rowLimit3_1oeg2"};
21
19
  require('./index.css')
22
20
 
23
21
  var logWarning = function (view) {
package/text/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: x5nv1 */
1
+ /* hash: 1w27n */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* 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 */
4
4
  } :root { /* 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 */
@@ -17,74 +17,74 @@
17
17
  } :root {
18
18
  } :root {
19
19
  --text-paragraph-margin-bottom: 0 0 var(--gap-s);
20
- } .typography__paragraph_iqnql {
20
+ } .typography__paragraph_1oeg2 {
21
21
  margin: 0;
22
22
  padding: 0;
23
- } .typography__paragraphWithMargins_iqnql {
23
+ } .typography__paragraphWithMargins_1oeg2 {
24
24
  padding: 0;
25
25
  margin: var(--text-paragraph-margin-bottom);
26
- } .typography__primary-large_iqnql {
26
+ } .typography__primary-large_1oeg2 {
27
27
  font-size: 18px;
28
28
  line-height: 24px;
29
29
  font-weight: 400;
30
- } .typography__primary-medium_iqnql {
30
+ } .typography__primary-medium_1oeg2 {
31
31
  font-size: 16px;
32
32
  line-height: 24px;
33
33
  font-weight: 400;
34
- } .typography__primary-small_iqnql {
34
+ } .typography__primary-small_1oeg2 {
35
35
  font-size: 14px;
36
36
  line-height: 20px;
37
37
  font-weight: 400;
38
- } .typography__secondary-large_iqnql {
38
+ } .typography__secondary-large_1oeg2 {
39
39
  font-size: 13px;
40
40
  line-height: 16px;
41
41
  font-weight: 400;
42
- } .typography__secondary-medium_iqnql {
42
+ } .typography__secondary-medium_1oeg2 {
43
43
  font-size: 12px;
44
44
  line-height: 16px;
45
45
  font-weight: 400;
46
- } .typography__secondary-small_iqnql {
46
+ } .typography__secondary-small_1oeg2 {
47
47
  font-size: 11px;
48
48
  line-height: 16px;
49
49
  font-weight: 400;
50
- } .typography__component_iqnql {
50
+ } .typography__component_1oeg2 {
51
51
  font-size: 16px;
52
52
  line-height: 20px;
53
53
  font-weight: 400;
54
- } .typography__component-primary_iqnql {
54
+ } .typography__component-primary_1oeg2 {
55
55
  font-size: 16px;
56
56
  line-height: 20px;
57
57
  font-weight: 400;
58
- } .typography__component-secondary_iqnql {
58
+ } .typography__component-secondary_1oeg2 {
59
59
  font-size: 14px;
60
60
  line-height: 18px;
61
61
  font-weight: 400;
62
- } .typography__caps_iqnql {
62
+ } .typography__caps_1oeg2 {
63
63
  font-size: 12px;
64
64
  line-height: 16px;
65
65
  font-weight: 500;
66
66
  letter-spacing: 1.25px;
67
67
  text-transform: uppercase;
68
- } .typography__bold_iqnql {
68
+ } .typography__bold_1oeg2 {
69
69
  font-weight: bold;
70
- } .typography__medium_iqnql {
70
+ } .typography__medium_1oeg2 {
71
71
  font-weight: 500;
72
- } .typography__regular_iqnql {
72
+ } .typography__regular_1oeg2 {
73
73
  font-weight: normal;
74
- } .typography__monospace_iqnql {
74
+ } .typography__monospace_1oeg2 {
75
75
  font-variant-numeric: tabular-nums;
76
- } .typography__rowLimit1_iqnql {
76
+ } .typography__rowLimit1_1oeg2 {
77
77
  -webkit-line-clamp: 1;
78
78
  display: -webkit-box;
79
79
  -webkit-box-orient: vertical;
80
80
  overflow: hidden;
81
81
  word-break: break-all;
82
- } .typography__rowLimit2_iqnql {
82
+ } .typography__rowLimit2_1oeg2 {
83
83
  -webkit-line-clamp: 2;
84
84
  display: -webkit-box;
85
85
  -webkit-box-orient: vertical;
86
86
  overflow: hidden;
87
- } .typography__rowLimit3_iqnql {
87
+ } .typography__rowLimit3_1oeg2 {
88
88
  -webkit-line-clamp: 3;
89
89
  display: -webkit-box;
90
90
  -webkit-box-orient: vertical;
package/text/index.js CHANGED
@@ -3,14 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var text_component = require('./component.js');
6
- require('tslib');
7
- require('react');
8
- require('react-merge-refs');
9
- require('classnames');
10
- require('../hooks/useSkeleton.js');
11
- require('@alfalab/core-components-skeleton');
12
- require('@alfalab/hooks');
13
- require('../colors.module-67e5bcbb.js');
14
6
 
15
7
 
16
8
 
package/title/common.css CHANGED
@@ -1,14 +1,17 @@
1
- /* hash: 106br */
2
- .typography__component_1tneh {
1
+ /* hash: l858b */
2
+ .typography__component_1j0sv {
3
3
  margin: 0;
4
4
  padding: 0
5
5
  }
6
- .typography__component_1tneh.typography__bold_1tneh {
6
+ .typography__component_1j0sv.typography__bold_1j0sv {
7
7
  font-weight: bold;
8
8
  }
9
- .typography__component_1tneh.typography__medium_1tneh {
9
+ .typography__component_1j0sv.typography__semibold_1j0sv {
10
+ font-weight: 600;
11
+ }
12
+ .typography__component_1j0sv.typography__medium_1j0sv {
10
13
  font-weight: 500;
11
14
  }
12
- .typography__component_1tneh.typography__regular_1tneh {
15
+ .typography__component_1j0sv.typography__regular_1j0sv {
13
16
  font-weight: normal;
14
17
  }
@@ -20,7 +20,7 @@ type TitleProps = Omit<NativeProps, 'color'> & {
20
20
  /**
21
21
  * Толщина шрифта
22
22
  */
23
- weight?: 'regular' | 'medium' | 'bold';
23
+ weight?: 'regular' | 'medium' | 'bold' | 'semibold';
24
24
  /**
25
25
  * Шрифт текста
26
26
  */
@@ -54,13 +54,14 @@ type TitleProps = Omit<NativeProps, 'color'> & {
54
54
  */
55
55
  skeletonProps?: TextSkeletonProps;
56
56
  };
57
- type Styles = {
57
+ type PrivateProps = {
58
58
  styles: {
59
59
  [key: string]: string;
60
60
  };
61
+ platform: 'mobile' | 'desktop';
61
62
  };
62
63
  type TitleElementType = HTMLHeadingElement | HTMLDivElement;
63
- declare const Title: React.ForwardRefExoticComponent<Omit<NativeProps, "color"> & {
64
+ declare const TitleBase: React.ForwardRefExoticComponent<Omit<NativeProps, "color"> & {
64
65
  /**
65
66
  * HTML тег
66
67
  */
@@ -76,7 +77,7 @@ declare const Title: React.ForwardRefExoticComponent<Omit<NativeProps, "color">
76
77
  /**
77
78
  * Толщина шрифта
78
79
  */
79
- weight?: "bold" | "regular" | "medium" | undefined;
80
+ weight?: "bold" | "regular" | "medium" | "semibold" | undefined;
80
81
  /**
81
82
  * Шрифт текста
82
83
  */
@@ -109,5 +110,5 @@ declare const Title: React.ForwardRefExoticComponent<Omit<NativeProps, "color">
109
110
  * Пропы для скелетона
110
111
  */
111
112
  skeletonProps?: TextSkeletonProps | undefined;
112
- } & Styles & React.RefAttributes<TitleElementType>>;
113
- export { TitleProps, Title };
113
+ } & PrivateProps & React.RefAttributes<TitleElementType>>;
114
+ export { TitleProps, TitleBase };
@@ -6,10 +6,9 @@ var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var mergeRefs = require('react-merge-refs');
8
8
  var cn = require('classnames');
9
- var hooks_useSkeleton = require('../hooks/useSkeleton.js');
10
- var colors_module = require('../colors.module-67e5bcbb.js');
11
- require('@alfalab/core-components-skeleton');
12
- require('@alfalab/hooks');
9
+ var hooks_useSkeleton = require('../hooks/use-skeleton.js');
10
+ var title_utils = require('./utils.js');
11
+ var colors_module = require('../colors.module-542eef2a.js');
13
12
 
14
13
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
14
 
@@ -17,9 +16,9 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
16
  var mergeRefs__default = /*#__PURE__*/_interopDefaultCompat(mergeRefs);
18
17
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
19
18
 
20
- var Title = React.forwardRef(function (_a, ref) {
19
+ var TitleBase = React.forwardRef(function (_a, ref) {
21
20
  var _b;
22
- var _c = _a.tag, Component = _c === void 0 ? 'div' : _c, _d = _a.view, view = _d === void 0 ? 'medium' : _d, _e = _a.font, font = _e === void 0 ? 'styrene' : _e, _f = _a.weight, weight = _f === void 0 ? font === 'styrene' ? 'medium' : 'bold' : _f, _g = _a.defaultMargins, defaultMargins = _g === void 0 ? false : _g, color = _a.color, className = _a.className, dataTestId = _a.dataTestId, children = _a.children, rowLimit = _a.rowLimit, styles = _a.styles, skeletonProps = _a.skeletonProps, showSkeleton = _a.showSkeleton, restProps = tslib.__rest(_a, ["tag", "view", "font", "weight", "defaultMargins", "color", "className", "dataTestId", "children", "rowLimit", "styles", "skeletonProps", "showSkeleton"]);
21
+ var _c = _a.tag, Component = _c === void 0 ? 'div' : _c, _d = _a.view, view = _d === void 0 ? 'medium' : _d, _e = _a.font, font = _e === void 0 ? 'styrene' : _e, platform = _a.platform, _f = _a.weight, weight = _f === void 0 ? title_utils.getDefaultWeight(font, platform) : _f, _g = _a.defaultMargins, defaultMargins = _g === void 0 ? false : _g, color = _a.color, className = _a.className, dataTestId = _a.dataTestId, children = _a.children, rowLimit = _a.rowLimit, styles = _a.styles, skeletonProps = _a.skeletonProps, showSkeleton = _a.showSkeleton, restProps = tslib.__rest(_a, ["tag", "view", "font", "platform", "weight", "defaultMargins", "color", "className", "dataTestId", "children", "rowLimit", "styles", "skeletonProps", "showSkeleton"]);
23
22
  var _h = hooks_useSkeleton.useSkeleton(showSkeleton, skeletonProps), renderSkeleton = _h.renderSkeleton, textRef = _h.textRef;
24
23
  var skeleton = renderSkeleton({
25
24
  wrapperClassName: cn__default.default(defaultMargins && styles["margins-".concat(view)]),
@@ -31,4 +30,4 @@ var Title = React.forwardRef(function (_a, ref) {
31
30
  return (React__default.default.createElement(Component, tslib.__assign({ className: cn__default.default(styles.component, className, styles["".concat(font, "-").concat(view)], defaultMargins && styles["margins-".concat(view)], styles[weight], color && colors_module.colors[color], (_b = {}, _b[styles["rowLimit".concat(rowLimit)]] = rowLimit, _b)), "data-test-id": dataTestId, ref: mergeRefs__default.default([ref, textRef]) }, restProps), children));
32
31
  });
33
32
 
34
- exports.Title = Title;
33
+ exports.TitleBase = TitleBase;
package/title/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /* hash: om1ge */
1
+ /* hash: j90im */
2
2
  :root {
3
3
  } /* deprecated */ :root { /* 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 */
4
4
  } :root { /* 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 */
@@ -20,78 +20,78 @@
20
20
  --font-family-styrene: 'Styrene UI', system-ui, -apple-system, 'Segoe UI', Roboto,
21
21
  'Helvetica Neue', Helvetica, sans-serif;
22
22
  } :root {
23
- } .typography__styrene-xlarge_92ry3 {
23
+ } .typography__styrene-xlarge_1jotc {
24
24
  font-size: 48px;
25
25
  line-height: 64px;
26
26
  font-weight: 500;
27
27
  font-feature-settings: 'ss01';
28
28
  font-family: var(--font-family-styrene);
29
- } .typography__styrene-large_92ry3 {
29
+ } .typography__styrene-large_1jotc {
30
30
  font-size: 40px;
31
31
  line-height: 48px;
32
32
  font-weight: 500;
33
33
  font-feature-settings: 'ss01';
34
34
  font-family: var(--font-family-styrene);
35
- } .typography__styrene-medium_92ry3 {
35
+ } .typography__styrene-medium_1jotc {
36
36
  font-size: 32px;
37
37
  line-height: 40px;
38
38
  font-weight: 500;
39
39
  font-feature-settings: 'ss01';
40
40
  font-family: var(--font-family-styrene);
41
- } .typography__styrene-small_92ry3 {
41
+ } .typography__styrene-small_1jotc {
42
42
  font-size: 24px;
43
43
  line-height: 32px;
44
44
  font-weight: 500;
45
45
  font-feature-settings: 'ss01';
46
46
  font-family: var(--font-family-styrene);
47
- } .typography__styrene-xsmall_92ry3 {
47
+ } .typography__styrene-xsmall_1jotc {
48
48
  font-size: 20px;
49
49
  line-height: 24px;
50
50
  font-weight: 500;
51
51
  font-feature-settings: 'ss01';
52
52
  font-family: var(--font-family-styrene);
53
- } .typography__system-xlarge_92ry3 {
53
+ } .typography__system-xlarge_1jotc {
54
54
  font-size: 48px;
55
55
  line-height: 52px;
56
56
  font-weight: 700;
57
- } .typography__system-large_92ry3 {
57
+ } .typography__system-large_1jotc {
58
58
  font-size: 40px;
59
59
  line-height: 48px;
60
60
  font-weight: 700;
61
- } .typography__system-medium_92ry3 {
61
+ } .typography__system-medium_1jotc {
62
62
  font-size: 30px;
63
63
  line-height: 36px;
64
64
  font-weight: 700;
65
- } .typography__system-small_92ry3 {
65
+ } .typography__system-small_1jotc {
66
66
  font-size: 22px;
67
67
  line-height: 26px;
68
68
  font-weight: 700;
69
- } .typography__system-xsmall_92ry3 {
69
+ } .typography__system-xsmall_1jotc {
70
70
  font-size: 18px;
71
71
  line-height: 22px;
72
72
  font-weight: 700;
73
- } .typography__margins-xlarge_92ry3 {
73
+ } .typography__margins-xlarge_1jotc {
74
74
  margin: 0 0 var(--gap-xl);
75
- } .typography__margins-large_92ry3 {
75
+ } .typography__margins-large_1jotc {
76
76
  margin: var(--gap-4xl) 0 var(--gap-xl);
77
- } .typography__margins-medium_92ry3 {
77
+ } .typography__margins-medium_1jotc {
78
78
  margin: var(--gap-4xl) 0 var(--gap-xl);
79
- } .typography__margins-small_92ry3 {
79
+ } .typography__margins-small_1jotc {
80
80
  margin: var(--gap-3xl) 0 var(--gap-m);
81
- } .typography__margins-xsmall_92ry3 {
81
+ } .typography__margins-xsmall_1jotc {
82
82
  margin: var(--gap-3xl) 0 var(--gap-m);
83
- } .typography__rowLimit1_92ry3 {
83
+ } .typography__rowLimit1_1jotc {
84
84
  -webkit-line-clamp: 1;
85
85
  display: -webkit-box;
86
86
  -webkit-box-orient: vertical;
87
87
  overflow: hidden;
88
88
  word-break: break-all;
89
- } .typography__rowLimit2_92ry3 {
89
+ } .typography__rowLimit2_1jotc {
90
90
  -webkit-line-clamp: 2;
91
91
  display: -webkit-box;
92
92
  -webkit-box-orient: vertical;
93
93
  overflow: hidden;
94
- } .typography__rowLimit3_92ry3 {
94
+ } .typography__rowLimit3_1jotc {
95
95
  -webkit-line-clamp: 3;
96
96
  display: -webkit-box;
97
97
  -webkit-box-orient: vertical;
package/title/index.d.ts CHANGED
@@ -5,7 +5,7 @@ declare const Title: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<H
5
5
  tag: "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
6
6
  view?: "small" | "medium" | "xlarge" | "large" | "xsmall" | undefined;
7
7
  color?: "tertiary" | "disabled" | "accent" | "primary" | "attention" | "positive" | "secondary" | "tertiary-inverted" | "primary-inverted" | "secondary-inverted" | "link" | "negative" | "static-primary-light" | "static-secondary-light" | "static-tertiary-light" | "static-primary-dark" | "static-secondary-dark" | "static-tertiary-dark" | "static-accent" | undefined;
8
- weight?: "bold" | "regular" | "medium" | undefined;
8
+ weight?: "bold" | "regular" | "medium" | "semibold" | undefined;
9
9
  font?: "styrene" | "system" | undefined;
10
10
  defaultMargins?: boolean | undefined;
11
11
  className?: string | undefined;
package/title/index.js CHANGED
@@ -5,21 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var title_component = require('./component.js');
8
- var common_module = require('../common.module-e30c567d.js');
9
- require('react-merge-refs');
10
- require('classnames');
11
- require('../hooks/useSkeleton.js');
12
- require('@alfalab/core-components-skeleton');
13
- require('@alfalab/hooks');
14
- require('../colors.module-67e5bcbb.js');
8
+ var common_module = require('../common.module-4306b4f6.js');
15
9
 
16
10
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
11
 
18
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
13
 
20
- var styles = {"styrene-xlarge":"typography__styrene-xlarge_92ry3","styrene-large":"typography__styrene-large_92ry3","styrene-medium":"typography__styrene-medium_92ry3","styrene-small":"typography__styrene-small_92ry3","styrene-xsmall":"typography__styrene-xsmall_92ry3","system-xlarge":"typography__system-xlarge_92ry3","system-large":"typography__system-large_92ry3","system-medium":"typography__system-medium_92ry3","system-small":"typography__system-small_92ry3","system-xsmall":"typography__system-xsmall_92ry3","margins-xlarge":"typography__margins-xlarge_92ry3","margins-large":"typography__margins-large_92ry3","margins-medium":"typography__margins-medium_92ry3","margins-small":"typography__margins-small_92ry3","margins-xsmall":"typography__margins-xsmall_92ry3","rowLimit1":"typography__rowLimit1_92ry3","rowLimit2":"typography__rowLimit2_92ry3","rowLimit3":"typography__rowLimit3_92ry3"};
14
+ var styles = {"styrene-xlarge":"typography__styrene-xlarge_1jotc","styrene-large":"typography__styrene-large_1jotc","styrene-medium":"typography__styrene-medium_1jotc","styrene-small":"typography__styrene-small_1jotc","styrene-xsmall":"typography__styrene-xsmall_1jotc","system-xlarge":"typography__system-xlarge_1jotc","system-large":"typography__system-large_1jotc","system-medium":"typography__system-medium_1jotc","system-small":"typography__system-small_1jotc","system-xsmall":"typography__system-xsmall_1jotc","margins-xlarge":"typography__margins-xlarge_1jotc","margins-large":"typography__margins-large_1jotc","margins-medium":"typography__margins-medium_1jotc","margins-small":"typography__margins-small_1jotc","margins-xsmall":"typography__margins-xsmall_1jotc","rowLimit1":"typography__rowLimit1_1jotc","rowLimit2":"typography__rowLimit2_1jotc","rowLimit3":"typography__rowLimit3_1jotc"};
21
15
  require('./index.css')
22
16
 
23
- var Title = React.forwardRef(function (props, ref) { return (React__default.default.createElement(title_component.Title, tslib.__assign({}, props, { styles: Object.assign(common_module.commonStyles, styles), ref: ref }))); });
17
+ var Title = React.forwardRef(function (props, ref) { return (React__default.default.createElement(title_component.TitleBase, tslib.__assign({}, props, { styles: Object.assign(common_module.commonStyles, styles), ref: ref, platform: 'desktop' }))); });
24
18
 
25
19
  exports.Title = Title;
@@ -0,0 +1,2 @@
1
+ declare function getDefaultWeight(font: 'styrene' | 'system', platform: 'mobile' | 'desktop'): "medium" | "bold" | "semibold";
2
+ export { getDefaultWeight };
package/title/utils.js ADDED
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function getDefaultWeight(font, platform) {
6
+ if (font === 'styrene') {
7
+ return 'medium';
8
+ }
9
+ if (platform === 'desktop') {
10
+ return 'bold';
11
+ }
12
+ return 'semibold';
13
+ }
14
+
15
+ exports.getDefaultWeight = getDefaultWeight;
@@ -6,7 +6,7 @@ declare const TitleMobile: React.ForwardRefExoticComponent<Omit<React.HTMLAttrib
6
6
  tag: "div" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
7
7
  view?: "small" | "medium" | "xlarge" | "large" | "xsmall" | undefined;
8
8
  color?: "tertiary" | "disabled" | "accent" | "primary" | "attention" | "positive" | "secondary" | "tertiary-inverted" | "primary-inverted" | "secondary-inverted" | "link" | "negative" | "static-primary-light" | "static-secondary-light" | "static-tertiary-light" | "static-primary-dark" | "static-secondary-dark" | "static-tertiary-dark" | "static-accent" | undefined;
9
- weight?: "bold" | "regular" | "medium" | undefined;
9
+ weight?: "bold" | "regular" | "medium" | "semibold" | undefined;
10
10
  font?: "styrene" | "system" | undefined;
11
11
  defaultMargins?: boolean | undefined;
12
12
  className?: string | undefined;
@@ -5,21 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib = require('tslib');
6
6
  var React = require('react');
7
7
  var title_component = require('../title/component.js');
8
- var common_module = require('../common.module-e30c567d.js');
9
- require('react-merge-refs');
10
- require('classnames');
11
- require('../hooks/useSkeleton.js');
12
- require('@alfalab/core-components-skeleton');
13
- require('@alfalab/hooks');
14
- require('../colors.module-67e5bcbb.js');
8
+ var common_module = require('../common.module-4306b4f6.js');
15
9
 
16
10
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
17
11
 
18
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
19
13
 
20
- var styles = {"styrene-xlarge":"typography__styrene-xlarge_tp4ad","styrene-large":"typography__styrene-large_tp4ad","styrene-medium":"typography__styrene-medium_tp4ad","styrene-small":"typography__styrene-small_tp4ad","styrene-xsmall":"typography__styrene-xsmall_tp4ad","system-xlarge":"typography__system-xlarge_tp4ad","system-large":"typography__system-large_tp4ad","system-medium":"typography__system-medium_tp4ad","system-small":"typography__system-small_tp4ad","system-xsmall":"typography__system-xsmall_tp4ad"};
14
+ var styles = {"styrene-xlarge":"typography__styrene-xlarge_1hjyj","styrene-large":"typography__styrene-large_1hjyj","styrene-medium":"typography__styrene-medium_1hjyj","styrene-small":"typography__styrene-small_1hjyj","styrene-xsmall":"typography__styrene-xsmall_1hjyj","system-xlarge":"typography__system-xlarge_1hjyj","system-large":"typography__system-large_1hjyj","system-medium":"typography__system-medium_1hjyj","system-small":"typography__system-small_1hjyj","system-xsmall":"typography__system-xsmall_1hjyj"};
21
15
  require('./index.css')
22
16
 
23
- var TitleMobile = React.forwardRef(function (props, ref) { return React__default.default.createElement(title_component.Title, tslib.__assign({}, props, { styles: Object.assign(common_module.commonStyles, styles), ref: ref })); });
17
+ var TitleMobile = React.forwardRef(function (props, ref) { return (React__default.default.createElement(title_component.TitleBase, tslib.__assign({}, props, { styles: Object.assign(common_module.commonStyles, styles), ref: ref, platform: 'mobile' }))); });
24
18
 
25
19
  exports.TitleMobile = TitleMobile;