@alfalab/core-components-typography 6.0.2 → 6.0.3-alfasans
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/colors.css +20 -20
- package/colors.d.ts +1 -1
- package/colors.module.css.js +1 -1
- package/colors.module.css.js.map +1 -1
- package/cssm/colors.d.ts +1 -1
- package/cssm/text/component.d.ts +4 -4
- package/cssm/text/component.js.map +1 -1
- package/cssm/text/index.module.css +40 -13
- package/cssm/title/component.d.ts +18 -18
- package/cssm/title/component.js.map +1 -1
- package/cssm/title/index.d.ts +13 -13
- package/cssm/title/index.module.css +29 -40
- package/cssm/title/utils.js.map +1 -1
- package/cssm/title-mobile/component.d.ts +13 -13
- package/cssm/title-mobile/index.module.css +28 -45
- package/cssm/title-responsive/component.d.ts +16 -16
- package/cssm/types.d.ts +1 -1
- package/esm/colors.css +20 -20
- package/esm/colors.d.ts +1 -1
- package/esm/colors.module.css.js +1 -1
- package/esm/colors.module.css.js.map +1 -1
- package/esm/text/component.d.ts +4 -4
- package/esm/text/component.js.map +1 -1
- package/esm/text/index.css +80 -53
- package/esm/text/index.module.css.js +1 -1
- package/esm/text/index.module.css.js.map +1 -1
- package/esm/title/common.css +5 -5
- package/esm/title/common.module.css.js +1 -1
- package/esm/title/common.module.css.js.map +1 -1
- package/esm/title/component.d.ts +18 -18
- package/esm/title/component.js.map +1 -1
- package/esm/title/index.css +54 -65
- package/esm/title/index.d.ts +13 -13
- package/esm/title/index.module.css.js +1 -1
- package/esm/title/index.module.css.js.map +1 -1
- package/esm/title/utils.js.map +1 -1
- package/esm/title-mobile/component.d.ts +13 -13
- package/esm/title-mobile/index.css +53 -70
- package/esm/title-mobile/index.module.css.js +1 -1
- package/esm/title-mobile/index.module.css.js.map +1 -1
- package/esm/title-responsive/component.d.ts +16 -16
- package/esm/types.d.ts +1 -1
- package/modern/colors.css +20 -20
- package/modern/colors.d.ts +1 -1
- package/modern/colors.module.css.js +1 -1
- package/modern/colors.module.css.js.map +1 -1
- package/modern/text/component.d.ts +4 -4
- package/modern/text/component.js.map +1 -1
- package/modern/text/index.css +80 -53
- package/modern/text/index.module.css.js +1 -1
- package/modern/text/index.module.css.js.map +1 -1
- package/modern/title/common.css +5 -5
- package/modern/title/common.module.css.js +1 -1
- package/modern/title/common.module.css.js.map +1 -1
- package/modern/title/component.d.ts +18 -18
- package/modern/title/component.js.map +1 -1
- package/modern/title/index.css +54 -65
- package/modern/title/index.d.ts +13 -13
- package/modern/title/index.module.css.js +1 -1
- package/modern/title/index.module.css.js.map +1 -1
- package/modern/title/utils.js.map +1 -1
- package/modern/title-mobile/component.d.ts +13 -13
- package/modern/title-mobile/index.css +53 -70
- package/modern/title-mobile/index.module.css.js +1 -1
- package/modern/title-mobile/index.module.css.js.map +1 -1
- package/modern/title-responsive/component.d.ts +16 -16
- package/modern/types.d.ts +1 -1
- package/moderncssm/colors.d.ts +1 -1
- package/moderncssm/text/component.d.ts +4 -4
- package/moderncssm/text/component.js.map +1 -1
- package/moderncssm/text/index.module.css +37 -11
- package/moderncssm/title/component.d.ts +18 -18
- package/moderncssm/title/component.js.map +1 -1
- package/moderncssm/title/index.d.ts +13 -13
- package/moderncssm/title/index.module.css +29 -38
- package/moderncssm/title/utils.js.map +1 -1
- package/moderncssm/title-mobile/component.d.ts +13 -13
- package/moderncssm/title-mobile/index.module.css +28 -43
- package/moderncssm/title-responsive/component.d.ts +16 -16
- package/moderncssm/types.d.ts +1 -1
- package/package.json +6 -6
- package/src/colors.module.css +1 -1
- package/src/text/index.module.css +1 -1
- package/src/title/common.module.css +1 -1
- package/src/title/index.module.css +1 -1
- package/src/title-mobile/index.module.css +1 -1
- package/text/component.d.ts +4 -4
- package/text/component.js.map +1 -1
- package/text/index.css +80 -53
- package/text/index.module.css.js +1 -1
- package/text/index.module.css.js.map +1 -1
- package/title/common.css +5 -5
- package/title/common.module.css.js +1 -1
- package/title/common.module.css.js.map +1 -1
- package/title/component.d.ts +18 -18
- package/title/component.js.map +1 -1
- package/title/index.css +54 -65
- package/title/index.d.ts +13 -13
- package/title/index.module.css.js +1 -1
- package/title/index.module.css.js.map +1 -1
- package/title/utils.js.map +1 -1
- package/title-mobile/component.d.ts +13 -13
- package/title-mobile/index.css +53 -70
- package/title-mobile/index.module.css.js +1 -1
- package/title-mobile/index.module.css.js.map +1 -1
- package/title-responsive/component.d.ts +16 -16
- package/types.d.ts +1 -1
package/colors.css
CHANGED
|
@@ -20,63 +20,63 @@
|
|
|
20
20
|
--color-static-text-tertiary-dark: rgba(5, 8, 29, 0.38);
|
|
21
21
|
--color-static-text-tertiary-light: rgba(233, 233, 250, 0.37);
|
|
22
22
|
}
|
|
23
|
-
.
|
|
23
|
+
.typography__tertiary_6tm7k {
|
|
24
24
|
color: var(--color-light-text-tertiary);
|
|
25
25
|
}
|
|
26
|
-
.
|
|
26
|
+
.typography__disabled_6tm7k {
|
|
27
27
|
color: var(--color-light-text-quaternary);
|
|
28
28
|
}
|
|
29
|
-
.
|
|
29
|
+
.typography__accent_6tm7k {
|
|
30
30
|
color: var(--color-light-accent-primary);
|
|
31
31
|
}
|
|
32
|
-
.
|
|
32
|
+
.typography__primary_6tm7k {
|
|
33
33
|
color: var(--color-light-text-primary);
|
|
34
34
|
}
|
|
35
|
-
.
|
|
35
|
+
.typography__attention_6tm7k {
|
|
36
36
|
color: var(--color-light-text-attention);
|
|
37
37
|
}
|
|
38
|
-
.
|
|
38
|
+
.typography__positive_6tm7k {
|
|
39
39
|
color: var(--color-light-text-positive);
|
|
40
40
|
}
|
|
41
|
-
.
|
|
41
|
+
.typography__secondary_6tm7k {
|
|
42
42
|
color: var(--color-light-text-secondary);
|
|
43
43
|
}
|
|
44
|
-
.typography__tertiary-
|
|
44
|
+
.typography__tertiary-inverted_6tm7k {
|
|
45
45
|
color: var(--color-light-text-tertiary-inverted);
|
|
46
46
|
}
|
|
47
|
-
.typography__primary-
|
|
47
|
+
.typography__primary-inverted_6tm7k {
|
|
48
48
|
color: var(--color-light-text-primary-inverted);
|
|
49
49
|
}
|
|
50
|
-
.typography__secondary-
|
|
50
|
+
.typography__secondary-inverted_6tm7k {
|
|
51
51
|
color: var(--color-light-text-secondary-inverted);
|
|
52
52
|
}
|
|
53
|
-
.
|
|
53
|
+
.typography__link_6tm7k {
|
|
54
54
|
color: var(--color-light-text-info);
|
|
55
55
|
}
|
|
56
|
-
.
|
|
56
|
+
.typography__negative_6tm7k {
|
|
57
57
|
color: var(--color-light-text-negative);
|
|
58
58
|
}
|
|
59
|
-
.typography__static-primary-
|
|
59
|
+
.typography__static-primary-light_6tm7k {
|
|
60
60
|
color: var(--color-static-text-primary-light);
|
|
61
61
|
}
|
|
62
|
-
.typography__static-secondary-
|
|
62
|
+
.typography__static-secondary-light_6tm7k {
|
|
63
63
|
color: var(--color-static-text-secondary-light);
|
|
64
64
|
}
|
|
65
|
-
.typography__static-tertiary-
|
|
65
|
+
.typography__static-tertiary-light_6tm7k {
|
|
66
66
|
color: var(--color-static-text-tertiary-light);
|
|
67
67
|
}
|
|
68
|
-
.typography__static-primary-
|
|
68
|
+
.typography__static-primary-dark_6tm7k {
|
|
69
69
|
color: var(--color-static-text-primary-dark);
|
|
70
70
|
}
|
|
71
|
-
.typography__static-secondary-
|
|
71
|
+
.typography__static-secondary-dark_6tm7k {
|
|
72
72
|
color: var(--color-static-text-secondary-dark);
|
|
73
73
|
}
|
|
74
|
-
.typography__static-tertiary-
|
|
74
|
+
.typography__static-tertiary-dark_6tm7k {
|
|
75
75
|
color: var(--color-static-text-tertiary-dark);
|
|
76
76
|
}
|
|
77
|
-
.typography__static-
|
|
77
|
+
.typography__static-accent_6tm7k {
|
|
78
78
|
color: var(--color-static-accent-primary);
|
|
79
79
|
}
|
|
80
|
-
.typography__static-
|
|
80
|
+
.typography__static-positive_6tm7k {
|
|
81
81
|
color: var(--color-static-text-positive);
|
|
82
82
|
}
|
package/colors.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const colors: readonly ["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", "static-positive"];
|
|
2
|
-
export
|
|
2
|
+
export type Color = (typeof colors)[number];
|
package/colors.module.css.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./colors.css');
|
|
4
4
|
|
|
5
|
-
var colors = {"tertiary":"
|
|
5
|
+
var colors = {"tertiary":"typography__tertiary_6tm7k","disabled":"typography__disabled_6tm7k","accent":"typography__accent_6tm7k","primary":"typography__primary_6tm7k","attention":"typography__attention_6tm7k","positive":"typography__positive_6tm7k","secondary":"typography__secondary_6tm7k","tertiary-inverted":"typography__tertiary-inverted_6tm7k","primary-inverted":"typography__primary-inverted_6tm7k","secondary-inverted":"typography__secondary-inverted_6tm7k","link":"typography__link_6tm7k","negative":"typography__negative_6tm7k","static-primary-light":"typography__static-primary-light_6tm7k","static-secondary-light":"typography__static-secondary-light_6tm7k","static-tertiary-light":"typography__static-tertiary-light_6tm7k","static-primary-dark":"typography__static-primary-dark_6tm7k","static-secondary-dark":"typography__static-secondary-dark_6tm7k","static-tertiary-dark":"typography__static-tertiary-dark_6tm7k","static-accent":"typography__static-accent_6tm7k","static-positive":"typography__static-positive_6tm7k"};
|
|
6
6
|
|
|
7
7
|
module.exports = colors;
|
|
8
8
|
//# sourceMappingURL=colors.module.css.js.map
|
package/colors.module.css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.module.css.js","sources":["src/colors.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/
|
|
1
|
+
{"version":3,"file":"colors.module.css.js","sources":["src/colors.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n/* colors */\n\n.tertiary {\n color: var(--color-light-text-tertiary);\n}\n\n.disabled {\n color: var(--color-light-text-quaternary);\n}\n\n.accent {\n color: var(--color-light-accent-primary);\n}\n\n.primary {\n color: var(--color-light-text-primary);\n}\n\n.attention {\n color: var(--color-light-text-attention);\n}\n\n.positive {\n color: var(--color-light-text-positive);\n}\n\n.secondary {\n color: var(--color-light-text-secondary);\n}\n\n.tertiary-inverted {\n color: var(--color-light-text-tertiary-inverted);\n}\n\n.primary-inverted {\n color: var(--color-light-text-primary-inverted);\n}\n\n.secondary-inverted {\n color: var(--color-light-text-secondary-inverted);\n}\n\n.link {\n color: var(--color-light-text-info);\n}\n\n.negative {\n color: var(--color-light-text-negative);\n}\n\n.static-primary-light {\n color: var(--color-static-text-primary-light);\n}\n\n.static-secondary-light {\n color: var(--color-static-text-secondary-light);\n}\n\n.static-tertiary-light {\n color: var(--color-static-text-tertiary-light);\n}\n\n.static-primary-dark {\n color: var(--color-static-text-primary-dark);\n}\n\n.static-secondary-dark {\n color: var(--color-static-text-secondary-dark);\n}\n\n.static-tertiary-dark {\n color: var(--color-static-text-tertiary-dark);\n}\n\n.static-accent {\n color: var(--color-static-accent-primary);\n}\n\n.static-positive {\n color: var(--color-static-text-positive);\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,UAAU,CAAC,4BAA4B,CAAC,UAAU,CAAC,4BAA4B,CAAC,QAAQ,CAAC,0BAA0B,CAAC,SAAS,CAAC,2BAA2B,CAAC,WAAW,CAAC,6BAA6B,CAAC,UAAU,CAAC,4BAA4B,CAAC,WAAW,CAAC,6BAA6B,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,kBAAkB,CAAC,oCAAoC,CAAC,oBAAoB,CAAC,sCAAsC,CAAC,MAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,wCAAwC,CAAC,wBAAwB,CAAC,0CAA0C,CAAC,uBAAuB,CAAC,yCAAyC,CAAC,qBAAqB,CAAC,uCAAuC,CAAC,uBAAuB,CAAC,yCAAyC,CAAC,sBAAsB,CAAC,wCAAwC,CAAC,eAAe,CAAC,iCAAiC,CAAC,iBAAiB,CAAC,mCAAmC,CAAC;;;;"}
|
package/cssm/colors.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const colors: readonly ["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", "static-positive"];
|
|
2
|
-
export
|
|
2
|
+
export type Color = (typeof colors)[number];
|
package/cssm/text/component.d.ts
CHANGED
|
@@ -2,8 +2,8 @@ import React, { type HTMLAttributes } from 'react';
|
|
|
2
2
|
import { type TextSkeletonProps } from '@alfalab/core-components-skeleton/cssm';
|
|
3
3
|
import { type Color } from '../colors';
|
|
4
4
|
import { type TextElementType } from '../types';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
type NativeProps = HTMLAttributes<HTMLSpanElement>;
|
|
6
|
+
type TextBaseProps = {
|
|
7
7
|
/**
|
|
8
8
|
* [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)
|
|
9
9
|
*/
|
|
@@ -59,10 +59,10 @@ declare type TextBaseProps = {
|
|
|
59
59
|
*/
|
|
60
60
|
font?: 'alfasans' | undefined | null;
|
|
61
61
|
};
|
|
62
|
-
|
|
62
|
+
type TextPTagProps = Omit<TextBaseProps, 'tag' | 'defaultMargins'> & {
|
|
63
63
|
tag?: 'p';
|
|
64
64
|
defaultMargins?: boolean;
|
|
65
65
|
};
|
|
66
|
-
export
|
|
66
|
+
export type TextProps = Omit<NativeProps, 'color'> & (TextBaseProps | TextPTagProps);
|
|
67
67
|
export declare const Text: React.ForwardRefExoticComponent<TextProps & React.RefAttributes<TextElementType>>;
|
|
68
68
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/text/component.tsx"],"sourcesContent":["import React, { forwardRef, type HTMLAttributes } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type TextSkeletonProps, useSkeleton } from '@alfalab/core-components-skeleton';\n\nimport { type Color } from '../colors';\nimport { type TextElementType } from '../types';\n\nimport colors from '../colors.module.css';\nimport styles from './index.module.css';\n\ntype NativeProps = HTMLAttributes<HTMLSpanElement>;\n\ntype TextBaseProps = {\n /**\n * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)\n */\n view?:\n | 'primary-large'\n | 'primary-medium'\n | 'primary-small'\n | 'secondary-large'\n | 'secondary-medium'\n | 'secondary-small'\n | 'component-primary'\n | 'component-secondary'\n | 'caps'\n | 'tagline';\n\n /**\n * Цвет текста\n */\n color?: Color;\n\n /**\n * Толщина шрифта\n */\n weight?: 'regular' | 'medium' | 'bold';\n\n /**\n * Делает цифры моноширинными\n */\n monospaceNumbers?: boolean;\n\n /**\n * HTML тег\n */\n tag?: 'span' | 'div';\n\n /**\n * Css-класс для стилизации (native prop)\n */\n className?: string;\n\n /**\n * Id компонента для тестов\n */\n dataTestId?: string;\n\n /**\n * Контент (native prop)\n */\n children?: React.ReactNode;\n\n /**\n * Добавляет отступы к тэгу 'p'\n */\n defaultMargins?: never;\n\n /**\n * Количество строк\n */\n rowLimit?: 1 | 2 | 3;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n\n /**\n * Пропы для скелетона\n */\n skeletonProps?: TextSkeletonProps;\n\n /**\n * Шрифт текста\n *\n * @deprecated\n */\n font?: 'alfasans' | undefined | null;\n};\n\ntype TextPTagProps = Omit<TextBaseProps, 'tag' | 'defaultMargins'> & {\n tag?: 'p';\n defaultMargins?: boolean;\n};\n\nexport type TextProps = Omit<NativeProps, 'color'> & (TextBaseProps | TextPTagProps);\n\nexport const Text = forwardRef<TextElementType, TextProps>(\n (\n {\n view = 'primary-medium',\n tag: Component = 'span',\n weight,\n monospaceNumbers = false,\n defaultMargins = true,\n color,\n className,\n dataTestId,\n children,\n rowLimit,\n showSkeleton,\n skeletonProps,\n font,\n ...restProps\n },\n ref,\n ) => {\n const { renderSkeleton, textRef } = useSkeleton(showSkeleton, skeletonProps);\n\n const skeleton = renderSkeleton({\n wrapperClassName: cn({\n [styles.paragraphWithMargins]: Component === 'p' && defaultMargins,\n }),\n dataTestId,\n });\n\n if (skeleton) {\n return skeleton;\n }\n\n return (\n <Component\n className={cn(\n {\n [styles.paragraph]: Component === 'p' && !defaultMargins,\n [styles.paragraphWithMargins]: Component === 'p' && defaultMargins,\n [styles.monospace]: monospaceNumbers,\n [styles[`rowLimit${rowLimit}`]]: rowLimit,\n [styles.transparent]: showSkeleton,\n },\n className,\n color && colors[color],\n styles[view],\n weight && styles[weight],\n )}\n data-test-id={dataTestId}\n ref={mergeRefs([ref, textRef])}\n {...restProps}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["forwardRef","__rest","useSkeleton","cn","styles","React","__assign","colors","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;IAoGa,IAAI,GAAGA,gBAAU,CAC1B,UACI,EAeC,EACD,GAAG,EAAA;;IAfC,IAAA,EAAA,GAAA,EAAA,CAAA,IAAuB,CAAvB,CAAA,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,gBAAgB,GAAA,EAAA,CAAA,CACvB,EAAuB,GAAA,EAAA,CAAA,GAAA,CAAA,CAAlB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,GAAA,EAAA,CACvB,CAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA,CACN,EAAwB,GAAA,EAAA,CAAA,gBAAA,CAAA,CAAxB,gBAAgB,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,CACxB,CAAA,EAAA,GAAA,EAAA,CAAA,cAAqB,CAArB,CAAA,cAAc,GAAG,EAAA,KAAA,MAAA,GAAA,IAAI,KAAA,CACrB,CAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA,CACL,SAAS,GAAA,EAAA,CAAA,SAAA,CACT,CAAA,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA,CACV,QAAQ,GAAA,EAAA,CAAA,QAAA,CACR,CAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA,CACR,YAAY,GAAA,EAAA,CAAA,YAAA,CACZ,CAAA,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA,CACT,EAAA,CAAA,IAAA,CACD,KAAA,SAAS,GAdhBC,YAAA,CAAA,EAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,CAeC;AAGK,IAAA,IAAA,EAA8B,GAAAC,gBAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAApE,cAAc,GAAA,EAAA,CAAA,cAAA,EAAE,OAAO,aAA6C;IAE5E,IAAM,QAAQ,GAAG,cAAc,CAAC;AAC5B,QAAA,gBAAgB,EAAEC,mBAAE,EAAA,EAAA,GAAA,EAAA;YAChB,EAAC,CAAAC,uBAAM,CAAC,oBAAoB,CAAA,GAAG,SAAS,KAAK,GAAG,IAAI,cAAc;AACpE,YAAA,EAAA,EAAA;AACF,QAAA,UAAU,EAAA,UAAA;AACb,KAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/text/component.tsx"],"sourcesContent":["import React, { forwardRef, type HTMLAttributes } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { type TextSkeletonProps, useSkeleton } from '@alfalab/core-components-skeleton';\n\nimport { type Color } from '../colors';\nimport { type TextElementType } from '../types';\n\nimport colors from '../colors.module.css';\nimport styles from './index.module.css';\n\ntype NativeProps = HTMLAttributes<HTMLSpanElement>;\n\ntype TextBaseProps = {\n /**\n * [Вариант начертания](https://core-ds.github.io/core-components/master/?path=/docs/tokens-assets-типографика--docs)\n */\n view?:\n | 'primary-large'\n | 'primary-medium'\n | 'primary-small'\n | 'secondary-large'\n | 'secondary-medium'\n | 'secondary-small'\n | 'component-primary'\n | 'component-secondary'\n | 'caps'\n | 'tagline';\n\n /**\n * Цвет текста\n */\n color?: Color;\n\n /**\n * Толщина шрифта\n */\n weight?: 'regular' | 'medium' | 'bold';\n\n /**\n * Делает цифры моноширинными\n */\n monospaceNumbers?: boolean;\n\n /**\n * HTML тег\n */\n tag?: 'span' | 'div';\n\n /**\n * Css-класс для стилизации (native prop)\n */\n className?: string;\n\n /**\n * Id компонента для тестов\n */\n dataTestId?: string;\n\n /**\n * Контент (native prop)\n */\n children?: React.ReactNode;\n\n /**\n * Добавляет отступы к тэгу 'p'\n */\n defaultMargins?: never;\n\n /**\n * Количество строк\n */\n rowLimit?: 1 | 2 | 3;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n\n /**\n * Пропы для скелетона\n */\n skeletonProps?: TextSkeletonProps;\n\n /**\n * Шрифт текста\n *\n * @deprecated\n */\n font?: 'alfasans' | undefined | null;\n};\n\ntype TextPTagProps = Omit<TextBaseProps, 'tag' | 'defaultMargins'> & {\n tag?: 'p';\n defaultMargins?: boolean;\n};\n\nexport type TextProps = Omit<NativeProps, 'color'> & (TextBaseProps | TextPTagProps);\n\nexport const Text = forwardRef<TextElementType, TextProps>(\n (\n {\n view = 'primary-medium',\n tag: Component = 'span',\n weight,\n monospaceNumbers = false,\n defaultMargins = true,\n color,\n className,\n dataTestId,\n children,\n rowLimit,\n showSkeleton,\n skeletonProps,\n font,\n ...restProps\n },\n ref,\n ) => {\n const { renderSkeleton, textRef } = useSkeleton(showSkeleton, skeletonProps);\n\n const skeleton = renderSkeleton({\n wrapperClassName: cn({\n [styles.paragraphWithMargins]: Component === 'p' && defaultMargins,\n }),\n dataTestId,\n });\n\n if (skeleton) {\n return skeleton;\n }\n\n return (\n <Component\n className={cn(\n {\n [styles.paragraph]: Component === 'p' && !defaultMargins,\n [styles.paragraphWithMargins]: Component === 'p' && defaultMargins,\n [styles.monospace]: monospaceNumbers,\n [styles[`rowLimit${rowLimit}`]]: rowLimit,\n [styles.transparent]: showSkeleton,\n },\n className,\n color && colors[color],\n styles[view],\n weight && styles[weight],\n )}\n data-test-id={dataTestId}\n ref={mergeRefs([ref, textRef])}\n {...restProps}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["forwardRef","__rest","useSkeleton","cn","styles","React","__assign","colors","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;IAoGa,IAAI,GAAGA,gBAAU,CAC1B,UACI,EAeC,EACD,GAAG,EAAA;;IAfC,IAAA,EAAA,GAAA,EAAA,CAAA,IAAuB,CAAvB,CAAA,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,gBAAgB,GAAA,EAAA,CAAA,CACvB,EAAuB,GAAA,EAAA,CAAA,GAAA,CAAA,CAAlB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,MAAM,GAAA,EAAA,CACvB,CAAA,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA,CACN,EAAwB,GAAA,EAAA,CAAA,gBAAA,CAAA,CAAxB,gBAAgB,GAAA,EAAA,KAAA,MAAA,GAAG,KAAK,GAAA,EAAA,CACxB,CAAA,EAAA,GAAA,EAAA,CAAA,cAAqB,CAArB,CAAA,cAAc,GAAG,EAAA,KAAA,MAAA,GAAA,IAAI,KAAA,CACrB,CAAA,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA,CACL,SAAS,GAAA,EAAA,CAAA,SAAA,CACT,CAAA,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA,CACV,QAAQ,GAAA,EAAA,CAAA,QAAA,CACR,CAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA,CACR,YAAY,GAAA,EAAA,CAAA,YAAA,CACZ,CAAA,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA,CACT,EAAA,CAAA,IAAA,CACD,KAAA,SAAS,GAdhBC,YAAA,CAAA,EAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,eAAA,EAAA,MAAA,CAeC;AAGK,IAAA,IAAA,EAA8B,GAAAC,gBAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAApE,cAAc,GAAA,EAAA,CAAA,cAAA,EAAE,OAAO,aAA6C;IAE5E,IAAM,QAAQ,GAAG,cAAc,CAAC;AAC5B,QAAA,gBAAgB,EAAEC,mBAAE,EAAA,EAAA,GAAA,EAAA;YAChB,EAAC,CAAAC,uBAAM,CAAC,oBAAoB,CAAA,GAAG,SAAS,KAAK,GAAG,IAAI,cAAc;AACpE,YAAA,EAAA,EAAA;AACF,QAAA,UAAU,EAAA,UAAA;AACb,KAAA,CAAC;IAEF,IAAI,QAAQ,EAAE;AACV,QAAA,OAAO,QAAQ;;AAGnB,IAAA,QACIC,sBAAC,CAAA,aAAA,CAAA,SAAS,EACNC,cAAA,CAAA,EAAA,SAAS,EAAEH,mBAAE,EAAA,EAAA,GAAA,EAAA;YAEL,EAAC,CAAAC,uBAAM,CAAC,SAAS,CAAA,GAAG,SAAS,KAAK,GAAG,IAAI,CAAC,cAAc;YACxD,EAAC,CAAAA,uBAAM,CAAC,oBAAoB,CAAA,GAAG,SAAS,KAAK,GAAG,IAAI,cAAc;AAClE,YAAA,EAAA,CAACA,uBAAM,CAAC,SAAS,CAAA,GAAG,gBAAgB;AACpC,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAA,CAAA,MAAA,CAAW,QAAQ,CAAE,CAAC,IAAG,QAAQ;AACzC,YAAA,EAAA,CAACA,uBAAM,CAAC,WAAW,CAAA,GAAG,YAAY;AAEtC,YAAA,EAAA,GAAA,SAAS,EACT,KAAK,IAAIG,uBAAM,CAAC,KAAK,CAAC,EACtBH,uBAAM,CAAC,IAAI,CAAC,EACZ,MAAM,IAAIA,uBAAM,CAAC,MAAM,CAAC,CAC3B,EAAA,cAAA,EACa,UAAU,EACxB,GAAG,EAAEI,0BAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAC1B,EAAA,SAAS,GAEZ,QAAQ,CACD;AAEpB,CAAC;;;;"}
|
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
--gap-12: var(--gap-s);
|
|
5
5
|
}
|
|
6
6
|
:root {
|
|
7
|
-
--font-family-
|
|
8
|
-
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
7
|
+
--font-family-alfasans:
|
|
8
|
+
'Alfa Interface Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue',
|
|
9
|
+
Helvetica, sans-serif;
|
|
9
10
|
}
|
|
10
11
|
.transparent {
|
|
11
12
|
opacity: 0;
|
|
@@ -25,13 +26,16 @@
|
|
|
25
26
|
font-size: 16px;
|
|
26
27
|
line-height: 20px;
|
|
27
28
|
font-weight: 400;
|
|
28
|
-
|
|
29
|
+
letter-spacing: -0.24px;
|
|
30
|
+
font-family: var(--font-family-alfasans);
|
|
29
31
|
}
|
|
30
32
|
.component.bold {
|
|
31
33
|
font-weight: 700;
|
|
34
|
+
letter-spacing: 0.43px;
|
|
32
35
|
}
|
|
33
36
|
.component.medium {
|
|
34
37
|
font-weight: 500;
|
|
38
|
+
letter-spacing: -0.05px;
|
|
35
39
|
}
|
|
36
40
|
.caps {
|
|
37
41
|
font-size: 12px;
|
|
@@ -39,7 +43,7 @@
|
|
|
39
43
|
font-weight: 400;
|
|
40
44
|
letter-spacing: 1.25px;
|
|
41
45
|
text-transform: uppercase;
|
|
42
|
-
font-family: var(--font-family-
|
|
46
|
+
font-family: var(--font-family-alfasans);
|
|
43
47
|
}
|
|
44
48
|
.caps.bold {
|
|
45
49
|
font-weight: 700;
|
|
@@ -53,7 +57,7 @@
|
|
|
53
57
|
font-weight: 400;
|
|
54
58
|
letter-spacing: 1.25px;
|
|
55
59
|
text-transform: uppercase;
|
|
56
|
-
font-family: var(--font-family-
|
|
60
|
+
font-family: var(--font-family-alfasans);
|
|
57
61
|
}
|
|
58
62
|
.tagline.bold {
|
|
59
63
|
font-weight: 700;
|
|
@@ -65,97 +69,120 @@
|
|
|
65
69
|
font-size: 18px;
|
|
66
70
|
line-height: 24px;
|
|
67
71
|
font-weight: 400;
|
|
68
|
-
|
|
72
|
+
letter-spacing: -0.36px;
|
|
73
|
+
font-family: var(--font-family-alfasans);
|
|
69
74
|
}
|
|
70
75
|
.primary-large.bold {
|
|
71
76
|
font-weight: 700;
|
|
77
|
+
letter-spacing: 0.38px;
|
|
72
78
|
}
|
|
73
79
|
.primary-large.medium {
|
|
74
80
|
font-weight: 500;
|
|
81
|
+
letter-spacing: -0.17px;
|
|
75
82
|
}
|
|
76
83
|
.primary-medium {
|
|
77
84
|
font-size: 16px;
|
|
78
85
|
line-height: 24px;
|
|
79
86
|
font-weight: 400;
|
|
80
|
-
|
|
87
|
+
letter-spacing: -0.24px;
|
|
88
|
+
font-family: var(--font-family-alfasans);
|
|
81
89
|
}
|
|
82
90
|
.primary-medium.bold {
|
|
83
91
|
font-weight: 700;
|
|
92
|
+
letter-spacing: 0.43px;
|
|
84
93
|
}
|
|
85
94
|
.primary-medium.medium {
|
|
86
95
|
font-weight: 500;
|
|
96
|
+
letter-spacing: -0.05px;
|
|
87
97
|
}
|
|
88
98
|
.primary-small {
|
|
89
99
|
font-size: 14px;
|
|
90
100
|
line-height: 20px;
|
|
91
101
|
font-weight: 400;
|
|
92
|
-
|
|
102
|
+
letter-spacing: -0.08px;
|
|
103
|
+
font-family: var(--font-family-alfasans);
|
|
93
104
|
}
|
|
94
105
|
.primary-small.bold {
|
|
95
106
|
font-weight: 700;
|
|
107
|
+
letter-spacing: 0.47px;
|
|
96
108
|
}
|
|
97
109
|
.primary-small.medium {
|
|
98
110
|
font-weight: 500;
|
|
111
|
+
letter-spacing: 0.07px;
|
|
99
112
|
}
|
|
100
113
|
.component-primary {
|
|
101
114
|
font-size: 16px;
|
|
102
115
|
line-height: 20px;
|
|
103
116
|
font-weight: 400;
|
|
104
|
-
|
|
117
|
+
letter-spacing: -0.24px;
|
|
118
|
+
font-family: var(--font-family-alfasans);
|
|
105
119
|
}
|
|
106
120
|
.component-primary.bold {
|
|
107
121
|
font-weight: 700;
|
|
122
|
+
letter-spacing: 0.43px;
|
|
108
123
|
}
|
|
109
124
|
.component-primary.medium {
|
|
110
125
|
font-weight: 500;
|
|
126
|
+
letter-spacing: -0.05px;
|
|
111
127
|
}
|
|
112
128
|
.secondary-large {
|
|
113
129
|
font-size: 13px;
|
|
114
130
|
line-height: 16px;
|
|
115
131
|
font-weight: 400;
|
|
116
|
-
font-family: var(--font-family-
|
|
132
|
+
font-family: var(--font-family-alfasans);
|
|
117
133
|
}
|
|
118
134
|
.secondary-large.bold {
|
|
119
135
|
font-weight: 700;
|
|
136
|
+
letter-spacing: 0.54px;
|
|
120
137
|
}
|
|
121
138
|
.secondary-large.medium {
|
|
122
139
|
font-weight: 500;
|
|
140
|
+
letter-spacing: 0.13px;
|
|
123
141
|
}
|
|
124
142
|
.secondary-medium {
|
|
125
143
|
font-size: 12px;
|
|
126
144
|
line-height: 16px;
|
|
127
145
|
font-weight: 400;
|
|
128
|
-
|
|
146
|
+
letter-spacing: 0.06px;
|
|
147
|
+
font-family: var(--font-family-alfasans);
|
|
129
148
|
}
|
|
130
149
|
.secondary-medium.bold {
|
|
131
150
|
font-weight: 700;
|
|
151
|
+
letter-spacing: 0.57px;
|
|
132
152
|
}
|
|
133
153
|
.secondary-medium.medium {
|
|
134
154
|
font-weight: 500;
|
|
155
|
+
letter-spacing: 0.19px;
|
|
135
156
|
}
|
|
136
157
|
.secondary-small {
|
|
137
158
|
font-size: 11px;
|
|
138
159
|
line-height: 16px;
|
|
139
160
|
font-weight: 400;
|
|
140
|
-
|
|
161
|
+
letter-spacing: 0.15px;
|
|
162
|
+
font-family: var(--font-family-alfasans);
|
|
141
163
|
}
|
|
142
164
|
.secondary-small.bold {
|
|
143
165
|
font-weight: 700;
|
|
166
|
+
letter-spacing: 0.54px;
|
|
144
167
|
}
|
|
145
168
|
.secondary-small.medium {
|
|
146
169
|
font-weight: 500;
|
|
170
|
+
letter-spacing: 0.24px;
|
|
147
171
|
}
|
|
148
172
|
.component-secondary {
|
|
149
173
|
font-size: 14px;
|
|
150
174
|
line-height: 18px;
|
|
151
175
|
font-weight: 400;
|
|
152
|
-
|
|
176
|
+
letter-spacing: -0.08px;
|
|
177
|
+
font-family: var(--font-family-alfasans);
|
|
153
178
|
}
|
|
154
179
|
.component-secondary.bold {
|
|
155
180
|
font-weight: 700;
|
|
181
|
+
letter-spacing: 0.47px;
|
|
156
182
|
}
|
|
157
183
|
.component-secondary.medium {
|
|
158
184
|
font-weight: 500;
|
|
185
|
+
letter-spacing: 0.07px;
|
|
159
186
|
}
|
|
160
187
|
.rowLimit1 {
|
|
161
188
|
-webkit-line-clamp: 1;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { type HTMLAttributes } from 'react';
|
|
2
2
|
import { type TextSkeletonProps } from '@alfalab/core-components-skeleton/cssm';
|
|
3
3
|
import { type Color } from '../colors';
|
|
4
|
-
|
|
5
|
-
export
|
|
4
|
+
type NativeProps = HTMLAttributes<HTMLHeadingElement>;
|
|
5
|
+
export type TitleProps = Omit<NativeProps, 'color'> & {
|
|
6
6
|
/**
|
|
7
7
|
* HTML тег
|
|
8
8
|
*/
|
|
@@ -61,51 +61,51 @@ export declare type TitleProps = Omit<NativeProps, 'color'> & {
|
|
|
61
61
|
*/
|
|
62
62
|
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
63
63
|
};
|
|
64
|
-
|
|
64
|
+
type PrivateProps = {
|
|
65
65
|
styles: {
|
|
66
66
|
[key: string]: string;
|
|
67
67
|
};
|
|
68
68
|
platform: 'mobile' | 'desktop';
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
type TitleElementType = HTMLHeadingElement | HTMLDivElement;
|
|
71
71
|
export declare const TitleBase: React.ForwardRefExoticComponent<Omit<NativeProps, "color"> & {
|
|
72
72
|
/**
|
|
73
73
|
* HTML тег
|
|
74
74
|
*/
|
|
75
|
-
tag:
|
|
75
|
+
tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
|
|
76
76
|
/**
|
|
77
77
|
* [Вариант начертания](?path=/docs/guidelines-typography--page)
|
|
78
78
|
*/
|
|
79
|
-
view?: "
|
|
79
|
+
view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
|
|
80
80
|
/**
|
|
81
81
|
* Цвет текста
|
|
82
82
|
*/
|
|
83
|
-
color?:
|
|
83
|
+
color?: Color;
|
|
84
84
|
/**
|
|
85
85
|
* Толщина шрифта
|
|
86
86
|
*/
|
|
87
|
-
weight?: "regular" | "medium" | "bold" | "semibold"
|
|
87
|
+
weight?: "regular" | "medium" | "bold" | "semibold";
|
|
88
88
|
/**
|
|
89
89
|
* Шрифт текста
|
|
90
90
|
*
|
|
91
91
|
* @deprecated
|
|
92
92
|
*/
|
|
93
|
-
font?: "
|
|
94
|
-
font:
|
|
93
|
+
font?: "styrene" | "system" | "alfasans" | {
|
|
94
|
+
font: "alfasans";
|
|
95
95
|
systemCompat: boolean;
|
|
96
|
-
}
|
|
96
|
+
};
|
|
97
97
|
/**
|
|
98
98
|
* Добавляет отступы
|
|
99
99
|
*/
|
|
100
|
-
defaultMargins?: boolean
|
|
100
|
+
defaultMargins?: boolean;
|
|
101
101
|
/**
|
|
102
102
|
* Css-класс для стилизации (native prop)
|
|
103
103
|
*/
|
|
104
|
-
className?: string
|
|
104
|
+
className?: string;
|
|
105
105
|
/**
|
|
106
106
|
* Id компонента для тестов
|
|
107
107
|
*/
|
|
108
|
-
dataTestId?: string
|
|
108
|
+
dataTestId?: string;
|
|
109
109
|
/**
|
|
110
110
|
* Контент (native prop)
|
|
111
111
|
*/
|
|
@@ -113,18 +113,18 @@ export declare const TitleBase: React.ForwardRefExoticComponent<Omit<NativeProps
|
|
|
113
113
|
/**
|
|
114
114
|
* Количество строк
|
|
115
115
|
*/
|
|
116
|
-
rowLimit?: 1 | 2 | 3
|
|
116
|
+
rowLimit?: 1 | 2 | 3;
|
|
117
117
|
/**
|
|
118
118
|
* Показать скелетон
|
|
119
119
|
*/
|
|
120
|
-
showSkeleton?: boolean
|
|
120
|
+
showSkeleton?: boolean;
|
|
121
121
|
/**
|
|
122
122
|
* Пропы для скелетона
|
|
123
123
|
*/
|
|
124
|
-
skeletonProps?: TextSkeletonProps
|
|
124
|
+
skeletonProps?: TextSkeletonProps;
|
|
125
125
|
/**
|
|
126
126
|
* Значение по-умолчанию для хука useMatchMedia
|
|
127
127
|
*/
|
|
128
|
-
defaultMatchMediaValue?: boolean | (() => boolean)
|
|
128
|
+
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
129
129
|
} & PrivateProps & React.RefAttributes<TitleElementType>>;
|
|
130
130
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/title/component.tsx"],"sourcesContent":["import React, { forwardRef, type HTMLAttributes } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { isObject } from '@alfalab/core-components-shared';\nimport { type TextSkeletonProps, useSkeleton } from '@alfalab/core-components-skeleton';\n\nimport { type Color } from '../colors';\n\nimport { getDefaultWeight } from './utils';\n\nimport colors from '../colors.module.css';\nimport commonStyles from './common.module.css';\n\ntype NativeProps = HTMLAttributes<HTMLHeadingElement>;\n\nexport type TitleProps = Omit<NativeProps, 'color'> & {\n /**\n * HTML тег\n */\n tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'div';\n\n /**\n * [Вариант начертания](?path=/docs/guidelines-typography--page)\n */\n view?: 'xlarge' | 'large' | 'medium' | 'small' | 'xsmall';\n\n /**\n * Цвет текста\n */\n color?: Color;\n\n /**\n * Толщина шрифта\n */\n weight?: 'regular' | 'medium' | 'bold' | 'semibold';\n\n /**\n * Шрифт текста\n *\n * @deprecated\n */\n font?: 'styrene' | 'system' | 'alfasans' | { font: 'alfasans'; systemCompat: boolean };\n\n /**\n * Добавляет отступы\n */\n defaultMargins?: boolean;\n\n /**\n * Css-класс для стилизации (native prop)\n */\n className?: string;\n\n /**\n * Id компонента для тестов\n */\n dataTestId?: string;\n\n /**\n * Контент (native prop)\n */\n children?: React.ReactNode;\n\n /**\n * Количество строк\n */\n rowLimit?: 1 | 2 | 3;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n\n /**\n * Пропы для скелетона\n */\n skeletonProps?: TextSkeletonProps;\n\n /**\n * Значение по-умолчанию для хука useMatchMedia\n */\n defaultMatchMediaValue?: boolean | (() => boolean);\n};\n\ntype PrivateProps = {\n styles: {\n [key: string]: string;\n };\n platform: 'mobile' | 'desktop';\n};\n\ntype TitleElementType = HTMLHeadingElement | HTMLDivElement;\n\nexport const TitleBase = forwardRef<TitleElementType, TitleProps & PrivateProps>(\n (\n {\n tag: Component = 'div',\n view = 'medium',\n font = 'styrene',\n platform,\n weight = getDefaultWeight(isObject(font) ? font.font : font, platform),\n defaultMargins = false,\n color,\n className,\n dataTestId,\n children,\n rowLimit,\n styles,\n skeletonProps,\n showSkeleton,\n ...restProps\n },\n ref,\n ) => {\n const { renderSkeleton, textRef } = useSkeleton(showSkeleton, skeletonProps);\n\n const skeleton = renderSkeleton({\n wrapperClassName: cn(defaultMargins && styles[`margins-${view}`]),\n dataTestId,\n });\n\n if (skeleton) {\n return skeleton;\n }\n\n return (\n <Component\n className={cn(\n commonStyles.component,\n styles.component,\n className,\n styles[`${weight === 'regular' ? 'regular-' : ''}${view}`],\n defaultMargins && styles[`margins-${view}`],\n color && colors[color],\n {\n [commonStyles[`rowLimit${rowLimit}`]]: rowLimit,\n [commonStyles.transparent]: showSkeleton,\n [styles.font]:\n (isObject(font) && !font.systemCompat) || !(font === 'system'),\n },\n )}\n data-test-id={dataTestId}\n ref={mergeRefs([ref, textRef])}\n {...restProps}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["forwardRef","getDefaultWeight","isObject","__rest","useSkeleton","cn","React","__assign","commonStyles","colors","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IA8Fa,SAAS,GAAGA,gBAAU,CAC/B,UACI,EAgBC,EACD,GAAG,EAAA;;AAhBC,IAAA,IAAA,WAAsB,EAAjB,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,KAAA,EACtB,EAAA,GAAA,EAAA,CAAA,IAAe,EAAf,IAAI,mBAAG,QAAQ,GAAA,EAAA,EACf,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EAChB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,cAAsE,EAAtE,MAAM,mBAAGC,sBAAgB,CAACC,aAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAA,EAAA,EACtE,sBAAsB,EAAtB,cAAc,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,KAAA,EACtB,KAAK,WAAA,EACL,SAAS,eAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,YAAY,GAAA,EAAA,CAAA,YAAA,EACT,SAAS,GAAAC,YAAA,CAAA,EAAA,EAfhB,sKAgBC,CADe;AAIV,IAAA,IAAA,EAA8B,GAAAC,kBAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAApE,cAAc,GAAA,EAAA,CAAA,cAAA,EAAE,OAAO,aAA6C;IAE5E,IAAM,QAAQ,GAAG,cAAc,CAAC;QAC5B,gBAAgB,EAAEC,mBAAE,CAAC,cAAc,IAAI,MAAM,CAAC,UAAW,CAAA,MAAA,CAAA,IAAI,CAAE,CAAC,CAAC;AACjE,QAAA,UAAU,EAAA,UAAA;AACb,KAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/title/component.tsx"],"sourcesContent":["import React, { forwardRef, type HTMLAttributes } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { isObject } from '@alfalab/core-components-shared';\nimport { type TextSkeletonProps, useSkeleton } from '@alfalab/core-components-skeleton';\n\nimport { type Color } from '../colors';\n\nimport { getDefaultWeight } from './utils';\n\nimport colors from '../colors.module.css';\nimport commonStyles from './common.module.css';\n\ntype NativeProps = HTMLAttributes<HTMLHeadingElement>;\n\nexport type TitleProps = Omit<NativeProps, 'color'> & {\n /**\n * HTML тег\n */\n tag: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'div';\n\n /**\n * [Вариант начертания](?path=/docs/guidelines-typography--page)\n */\n view?: 'xlarge' | 'large' | 'medium' | 'small' | 'xsmall';\n\n /**\n * Цвет текста\n */\n color?: Color;\n\n /**\n * Толщина шрифта\n */\n weight?: 'regular' | 'medium' | 'bold' | 'semibold';\n\n /**\n * Шрифт текста\n *\n * @deprecated\n */\n font?: 'styrene' | 'system' | 'alfasans' | { font: 'alfasans'; systemCompat: boolean };\n\n /**\n * Добавляет отступы\n */\n defaultMargins?: boolean;\n\n /**\n * Css-класс для стилизации (native prop)\n */\n className?: string;\n\n /**\n * Id компонента для тестов\n */\n dataTestId?: string;\n\n /**\n * Контент (native prop)\n */\n children?: React.ReactNode;\n\n /**\n * Количество строк\n */\n rowLimit?: 1 | 2 | 3;\n\n /**\n * Показать скелетон\n */\n showSkeleton?: boolean;\n\n /**\n * Пропы для скелетона\n */\n skeletonProps?: TextSkeletonProps;\n\n /**\n * Значение по-умолчанию для хука useMatchMedia\n */\n defaultMatchMediaValue?: boolean | (() => boolean);\n};\n\ntype PrivateProps = {\n styles: {\n [key: string]: string;\n };\n platform: 'mobile' | 'desktop';\n};\n\ntype TitleElementType = HTMLHeadingElement | HTMLDivElement;\n\nexport const TitleBase = forwardRef<TitleElementType, TitleProps & PrivateProps>(\n (\n {\n tag: Component = 'div',\n view = 'medium',\n font = 'styrene',\n platform,\n weight = getDefaultWeight(isObject(font) ? font.font : font, platform),\n defaultMargins = false,\n color,\n className,\n dataTestId,\n children,\n rowLimit,\n styles,\n skeletonProps,\n showSkeleton,\n ...restProps\n },\n ref,\n ) => {\n const { renderSkeleton, textRef } = useSkeleton(showSkeleton, skeletonProps);\n\n const skeleton = renderSkeleton({\n wrapperClassName: cn(defaultMargins && styles[`margins-${view}`]),\n dataTestId,\n });\n\n if (skeleton) {\n return skeleton;\n }\n\n return (\n <Component\n className={cn(\n commonStyles.component,\n styles.component,\n className,\n styles[`${weight === 'regular' ? 'regular-' : ''}${view}`],\n defaultMargins && styles[`margins-${view}`],\n color && colors[color],\n {\n [commonStyles[`rowLimit${rowLimit}`]]: rowLimit,\n [commonStyles.transparent]: showSkeleton,\n [styles.font]:\n (isObject(font) && !font.systemCompat) || !(font === 'system'),\n },\n )}\n data-test-id={dataTestId}\n ref={mergeRefs([ref, textRef])}\n {...restProps}\n >\n {children}\n </Component>\n );\n },\n);\n"],"names":["forwardRef","getDefaultWeight","isObject","__rest","useSkeleton","cn","React","__assign","commonStyles","colors","mergeRefs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;IA8Fa,SAAS,GAAGA,gBAAU,CAC/B,UACI,EAgBC,EACD,GAAG,EAAA;;AAhBC,IAAA,IAAA,WAAsB,EAAjB,SAAS,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,KAAA,EACtB,EAAA,GAAA,EAAA,CAAA,IAAe,EAAf,IAAI,mBAAG,QAAQ,GAAA,EAAA,EACf,EAAgB,GAAA,EAAA,CAAA,IAAA,EAAhB,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EAChB,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,cAAsE,EAAtE,MAAM,mBAAGC,sBAAgB,CAACC,aAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAA,EAAA,EACtE,sBAAsB,EAAtB,cAAc,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,KAAA,EACtB,KAAK,WAAA,EACL,SAAS,eAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,YAAY,GAAA,EAAA,CAAA,YAAA,EACT,SAAS,GAAAC,YAAA,CAAA,EAAA,EAfhB,sKAgBC,CADe;AAIV,IAAA,IAAA,EAA8B,GAAAC,kBAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAApE,cAAc,GAAA,EAAA,CAAA,cAAA,EAAE,OAAO,aAA6C;IAE5E,IAAM,QAAQ,GAAG,cAAc,CAAC;QAC5B,gBAAgB,EAAEC,mBAAE,CAAC,cAAc,IAAI,MAAM,CAAC,UAAW,CAAA,MAAA,CAAA,IAAI,CAAE,CAAC,CAAC;AACjE,QAAA,UAAU,EAAA,UAAA;AACb,KAAA,CAAC;IAEF,IAAI,QAAQ,EAAE;AACV,QAAA,OAAO,QAAQ;;IAGnB,QACIC,qCAAC,SAAS,EAAAC,cAAA,CAAA,EACN,SAAS,EAAEF,mBAAE,CACTG,6BAAY,CAAC,SAAS,EACtB,MAAM,CAAC,SAAS,EAChB,SAAS,EACT,MAAM,CAAC,EAAA,CAAA,MAAA,CAAG,MAAM,KAAK,SAAS,GAAG,UAAU,GAAG,EAAE,SAAG,IAAI,CAAE,CAAC,EAC1D,cAAc,IAAI,MAAM,CAAC,UAAA,CAAA,MAAA,CAAW,IAAI,CAAE,CAAC,EAC3C,KAAK,IAAIC,uBAAM,CAAC,KAAK,CAAC,GAAA,EAAA,GAAA,EAAA;AAElB,YAAA,EAAA,CAACD,6BAAY,CAAC,UAAA,CAAA,MAAA,CAAW,QAAQ,CAAE,CAAC,IAAG,QAAQ;AAC/C,YAAA,EAAA,CAACA,6BAAY,CAAC,WAAW,CAAA,GAAG,YAAY;YACxC,EAAC,CAAA,MAAM,CAAC,IAAI,CAAA,GACR,CAACN,aAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC;AAEzE,YAAA,EAAA,EAAA,EAAA,cAAA,EACa,UAAU,EACxB,GAAG,EAAEQ,0BAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAC1B,EAAA,SAAS,GAEZ,QAAQ,CACD;AAEpB,CAAC;;;;"}
|
package/cssm/title/index.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type TitleProps } from './component';
|
|
3
3
|
declare const Title: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLHeadingElement>, "color"> & {
|
|
4
|
-
tag: "
|
|
5
|
-
view?: "
|
|
6
|
-
color?: "
|
|
7
|
-
weight?: "regular" | "medium" | "bold" | "semibold"
|
|
8
|
-
font?: "
|
|
4
|
+
tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div";
|
|
5
|
+
view?: "xlarge" | "large" | "medium" | "small" | "xsmall";
|
|
6
|
+
color?: import("..").Color;
|
|
7
|
+
weight?: "regular" | "medium" | "bold" | "semibold";
|
|
8
|
+
font?: "styrene" | "system" | "alfasans" | {
|
|
9
9
|
font: "alfasans";
|
|
10
10
|
systemCompat: boolean;
|
|
11
|
-
}
|
|
12
|
-
defaultMargins?: boolean
|
|
13
|
-
className?: string
|
|
14
|
-
dataTestId?: string
|
|
11
|
+
};
|
|
12
|
+
defaultMargins?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
dataTestId?: string;
|
|
15
15
|
children?: React.ReactNode;
|
|
16
|
-
rowLimit?: 1 | 2 | 3
|
|
17
|
-
showSkeleton?: boolean
|
|
18
|
-
skeletonProps?: import("@alfalab/core-components-skeleton").TextSkeletonProps
|
|
19
|
-
defaultMatchMediaValue?: boolean | (() => boolean)
|
|
16
|
+
rowLimit?: 1 | 2 | 3;
|
|
17
|
+
showSkeleton?: boolean;
|
|
18
|
+
skeletonProps?: import("@alfalab/core-components-skeleton").TextSkeletonProps;
|
|
19
|
+
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
20
20
|
} & React.RefAttributes<HTMLDivElement | HTMLHeadingElement>>;
|
|
21
21
|
export { Title };
|
|
22
22
|
export type { TitleProps };
|