@preply/ds-rn-lib 0.44.0 → 0.45.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.
- package/dist/components/Heading/Heading.d.ts +6 -0
- package/dist/components/Heading/Heading.js +14 -0
- package/dist/components/Text/Text.d.ts +2 -7
- package/dist/components/Text/Text.js +2 -3
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +3 -2
- package/dist/index.js +4 -2
- package/dist/props/index.d.ts +1 -1
- package/dist/props/index.js +2 -1
- package/dist/props/typography/hooks/{useTextColorStyle.d.ts → private/useTextColorStyle.d.ts} +1 -1
- package/dist/props/typography/hooks/private/useTextColorStyle.js +26 -0
- package/dist/props/typography/hooks/private/useTextSharedStyle.d.ts +13 -0
- package/dist/props/typography/hooks/private/useTextSharedStyle.js +15 -0
- package/dist/props/typography/hooks/private/useTextVariantStyle.d.ts +11 -0
- package/dist/props/typography/hooks/private/useTextVariantStyle.js +58 -0
- package/dist/props/typography/hooks/useHeadingStyle.d.ts +2 -0
- package/dist/props/typography/hooks/useHeadingStyle.js +19 -0
- package/dist/props/typography/hooks/useTextStyle.d.ts +2 -10
- package/dist/props/typography/hooks/useTextStyle.js +9 -9
- package/dist/props/typography/index.d.ts +2 -0
- package/dist/props/typography/index.js +2 -1
- package/dist/props/typography/types.d.ts +26 -0
- package/dist/props/typography/types.js +2 -0
- package/dist/providers/TextVariantProvider.d.ts +2 -1
- package/dist/providers/TextVariantProvider.js +1 -1
- package/package.json +8 -8
- package/dist/props/typography/hooks/useTextColorStyle.js +0 -26
- package/dist/props/typography/hooks/useTextVariantStyle.d.ts +0 -10
- package/dist/props/typography/hooks/useTextVariantStyle.js +0 -59
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { memo } from 'react';
|
|
2
|
+
import { Text } from 'react-native';
|
|
3
|
+
import { TextVariantProvider } from '../../providers/TextVariantProvider.js';
|
|
4
|
+
import { useHeadingStyle } from '../../props/typography/hooks/useHeadingStyle.js';
|
|
5
|
+
|
|
6
|
+
const HeadingBase = ({ level, large = false, accent, color, centered, children, ...rest }) => {
|
|
7
|
+
const computedStyles = useHeadingStyle({ level, large, accent, color, centered });
|
|
8
|
+
return (React.createElement(TextVariantProvider, { value: computedStyles },
|
|
9
|
+
React.createElement(Text, Object.assign({ style: computedStyles }, rest), children)));
|
|
10
|
+
};
|
|
11
|
+
const Heading = memo(HeadingBase);
|
|
12
|
+
|
|
13
|
+
export { Heading };
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhZGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSGVhZGluZy9IZWFkaW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUZXh0IGFzIFJOVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZUhlYWRpbmdTdHlsZSB9IGZyb20gJy4uLy4uL3Byb3BzJztcbmltcG9ydCB7IEhlYWRpbmdTdHlsZVByb3BzLCBUZXh0Q29tbW9uUHJvcHMgfSBmcm9tICcuLi8uLi9wcm9wcy90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFRleHRWYXJpYW50UHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVGV4dFZhcmlhbnRQcm92aWRlcic7XG5cbmludGVyZmFjZSBIZWFkaW5nUHJvcHMgZXh0ZW5kcyBUZXh0Q29tbW9uUHJvcHMsIEhlYWRpbmdTdHlsZVByb3BzIHt9XG5cbmNvbnN0IEhlYWRpbmdCYXNlOiBGQzxIZWFkaW5nUHJvcHM+ID0gKHtcbiAgICBsZXZlbCxcbiAgICBsYXJnZSA9IGZhbHNlLFxuICAgIGFjY2VudCxcbiAgICBjb2xvcixcbiAgICBjZW50ZXJlZCxcbiAgICBjaGlsZHJlbixcbiAgICAuLi5yZXN0XG59KSA9PiB7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZXMgPSB1c2VIZWFkaW5nU3R5bGUoeyBsZXZlbCwgbGFyZ2UsIGFjY2VudCwgY29sb3IsIGNlbnRlcmVkIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRleHRWYXJpYW50UHJvdmlkZXIgdmFsdWU9e2NvbXB1dGVkU3R5bGVzfT5cbiAgICAgICAgICAgIDxSTlRleHQgc3R5bGU9e2NvbXB1dGVkU3R5bGVzfSB7Li4ucmVzdH0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9STlRleHQ+XG4gICAgICAgIDwvVGV4dFZhcmlhbnRQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmc6IEZDPEhlYWRpbmdQcm9wcz4gPSBtZW1vKEhlYWRpbmdCYXNlKTtcbiJdLCJuYW1lcyI6WyJSTlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsTUFBTSxXQUFXLEdBQXFCLENBQUMsRUFDbkMsS0FBSyxFQUNMLEtBQUssR0FBRyxLQUFLLEVBQ2IsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLEdBQUcsSUFBSSxFQUNWO0lBQ0csTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFbEYsUUFDSSxvQkFBQyxtQkFBbUIsSUFBQyxLQUFLLEVBQUUsY0FBYztRQUN0QyxvQkFBQ0EsSUFBTSxrQkFBQyxLQUFLLEVBQUUsY0FBYyxJQUFNLElBQUksR0FDbEMsUUFBUSxDQUNKLENBQ1MsRUFDeEI7QUFDTixDQUFDLENBQUM7TUFFVyxPQUFPLEdBQXFCLElBQUksQ0FBQyxXQUFXOzs7OyJ9
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { ColorName, TextAccent, TextVariant } from '@preply/ds-core';
|
|
2
1
|
import { FC } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
interface TextProps extends
|
|
5
|
-
variant?: TextVariant;
|
|
6
|
-
accent?: TextAccent;
|
|
7
|
-
color?: ColorName;
|
|
8
|
-
centered?: boolean;
|
|
2
|
+
import { TextCommonProps, TextStyleProps } from '../../props/typography';
|
|
3
|
+
interface TextProps extends TextCommonProps, TextStyleProps {
|
|
9
4
|
}
|
|
10
5
|
export declare const Text: FC<TextProps>;
|
|
11
6
|
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TEXT_VARIANT_RN_DEFAULT } from '@preply/ds-rn-core';
|
|
2
1
|
import React, { memo } from 'react';
|
|
3
2
|
import { Text as Text$1 } from 'react-native';
|
|
4
3
|
import { TextVariantProvider } from '../../providers/TextVariantProvider.js';
|
|
@@ -6,10 +5,10 @@ import { useTextStyle } from '../../props/typography/hooks/useTextStyle.js';
|
|
|
6
5
|
|
|
7
6
|
const TextBase = ({ variant, accent, color, centered, children, ...rest }) => {
|
|
8
7
|
const computedStyles = useTextStyle({ variant, accent, color, centered });
|
|
9
|
-
return (React.createElement(TextVariantProvider, { value:
|
|
8
|
+
return (React.createElement(TextVariantProvider, { value: computedStyles },
|
|
10
9
|
React.createElement(Text$1, Object.assign({ style: computedStyles }, rest), children)));
|
|
11
10
|
};
|
|
12
11
|
const Text = memo(TextBase);
|
|
13
12
|
|
|
14
13
|
export { Text };
|
|
15
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dC9UZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUZXh0IGFzIFJOVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZVRleHRTdHlsZSB9IGZyb20gJy4uLy4uL3Byb3BzJztcbmltcG9ydCB7IFRleHRDb21tb25Qcm9wcywgVGV4dFN0eWxlUHJvcHMgfSBmcm9tICcuLi8uLi9wcm9wcy90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFRleHRWYXJpYW50UHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVGV4dFZhcmlhbnRQcm92aWRlcic7XG5cbmludGVyZmFjZSBUZXh0UHJvcHMgZXh0ZW5kcyBUZXh0Q29tbW9uUHJvcHMsIFRleHRTdHlsZVByb3BzIHt9XG5cbmNvbnN0IFRleHRCYXNlOiBGQzxUZXh0UHJvcHM+ID0gKHsgdmFyaWFudCwgYWNjZW50LCBjb2xvciwgY2VudGVyZWQsIGNoaWxkcmVuLCAuLi5yZXN0IH0pID0+IHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlcyA9IHVzZVRleHRTdHlsZSh7IHZhcmlhbnQsIGFjY2VudCwgY29sb3IsIGNlbnRlcmVkIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRleHRWYXJpYW50UHJvdmlkZXIgdmFsdWU9e2NvbXB1dGVkU3R5bGVzfT5cbiAgICAgICAgICAgIDxSTlRleHQgc3R5bGU9e2NvbXB1dGVkU3R5bGVzfSB7Li4ucmVzdH0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9STlRleHQ+XG4gICAgICAgIDwvVGV4dFZhcmlhbnRQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHQ6IEZDPFRleHRQcm9wcz4gPSBtZW1vKFRleHRCYXNlKTtcbiJdLCJuYW1lcyI6WyJSTlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsTUFBTSxRQUFRLEdBQWtCLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFO0lBQ3BGLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFMUUsUUFDSSxvQkFBQyxtQkFBbUIsSUFBQyxLQUFLLEVBQUUsY0FBYztRQUN0QyxvQkFBQ0EsTUFBTSxrQkFBQyxLQUFLLEVBQUUsY0FBYyxJQUFNLElBQUksR0FDbEMsUUFBUSxDQUNKLENBQ1MsRUFDeEI7QUFDTixDQUFDLENBQUM7TUFFVyxJQUFJLEdBQWtCLElBQUksQ0FBQyxRQUFROzs7OyJ9
|
package/dist/components/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { Heading } from './Heading/Heading.js';
|
|
2
2
|
export { LayoutFlex } from './LayoutFlex/LayoutFlex.js';
|
|
3
3
|
export { LayoutFlexItem } from './LayoutFlexItem/LayoutFlexItem.js';
|
|
4
|
-
|
|
4
|
+
export { Text } from './Text/Text.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { Heading } from './components/Heading/Heading.js';
|
|
2
2
|
export { LayoutFlex } from './components/LayoutFlex/LayoutFlex.js';
|
|
3
3
|
export { LayoutFlexItem } from './components/LayoutFlexItem/LayoutFlexItem.js';
|
|
4
|
+
export { Text } from './components/Text/Text.js';
|
|
5
|
+
export { useHeadingStyle } from './props/typography/hooks/useHeadingStyle.js';
|
|
4
6
|
export { useTextStyle } from './props/typography/hooks/useTextStyle.js';
|
|
5
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OzsifQ==
|
package/dist/props/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { useTextStyle } from './typography';
|
|
1
|
+
export { useHeadingStyle, useTextStyle } from './typography';
|
package/dist/props/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export { useHeadingStyle } from './typography/hooks/useHeadingStyle.js';
|
|
1
2
|
export { useTextStyle } from './typography/hooks/useTextStyle.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
|
package/dist/props/typography/hooks/{useTextColorStyle.d.ts → private/useTextColorStyle.d.ts}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const useTextColorStyle: (color?: "gray-100" | "gray-200" | "gray-300" | "gray-400" | "gray-500" | "gray-600" | "teal-100" | "teal-200" | "teal-300" | "teal-400" | "teal-500" | "green-100" | "green-200" | "green-300" | "green-400" | "green-500" | "yellow-100" | "yellow-200" | "yellow-300" | "yellow-400" | "yellow-500" | "red-100" | "red-200" | "red-300" | "red-400" | "red-500" | "blue-100" | "blue-200" | "blue-300" | "blue-400" | "blue-500" | "magenta-100" | "magenta-200" | "magenta-300" | "magenta-400" | "magenta-500" | undefined, accent?: "primary" | "secondary" | "branded" | "positive" | undefined) => {
|
|
2
|
-
color: string;
|
|
2
|
+
color: string | import("react-native").OpaqueColorValue | undefined;
|
|
3
3
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { content, root, scheme } from '@preply/ds-core';
|
|
2
|
+
import { useToken } from '@preply/ds-rn-core';
|
|
3
|
+
|
|
4
|
+
const useTextColorStyle = (color, accent) => {
|
|
5
|
+
var _a;
|
|
6
|
+
let token;
|
|
7
|
+
if (accent) {
|
|
8
|
+
token = content[accent].color;
|
|
9
|
+
}
|
|
10
|
+
else if (color) {
|
|
11
|
+
const [name, step] = color.split('-');
|
|
12
|
+
if (!step) {
|
|
13
|
+
token = root.palette[name];
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
token = (_a = root.palette[name]) === null || _a === void 0 ? void 0 : _a[step];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (!token) {
|
|
20
|
+
token = scheme.color;
|
|
21
|
+
}
|
|
22
|
+
return { color: String(useToken(token)) };
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { useTextColorStyle };
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dENvbG9yU3R5bGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm9wcy90eXBvZ3JhcGh5L2hvb2tzL3ByaXZhdGUvdXNlVGV4dENvbG9yU3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JOYW1lLCBUZXh0QWNjZW50LCBjb250ZW50LCByb290LCBzY2hlbWUgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuaW1wb3J0IHsgdXNlVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLXJuLWNvcmUnO1xuaW1wb3J0IHsgVGV4dFN0eWxlIGFzIFJOVGV4dFN0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRDb2xvclN0eWxlID0gKFxuICAgIGNvbG9yPzogQ29sb3JOYW1lLFxuICAgIGFjY2VudD86IFRleHRBY2NlbnQsXG4pOiB7IGNvbG9yOiBSTlRleHRTdHlsZVsnY29sb3InXSB9ID0+IHtcbiAgICBsZXQgdG9rZW46IFRva2VuIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKGFjY2VudCkge1xuICAgICAgICB0b2tlbiA9IGNvbnRlbnRbYWNjZW50XS5jb2xvcjtcbiAgICB9IGVsc2UgaWYgKGNvbG9yKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lLCBzdGVwXSA9IGNvbG9yLnNwbGl0KCctJyk7XG4gICAgICAgIGlmICghc3RlcCkge1xuICAgICAgICAgICAgdG9rZW4gPSByb290LnBhbGV0dGVbbmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0b2tlbiA9IHJvb3QucGFsZXR0ZVtuYW1lXT8uW3N0ZXBdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCF0b2tlbikge1xuICAgICAgICB0b2tlbiA9IHNjaGVtZS5jb2xvcjtcbiAgICB9XG5cbiAgICByZXR1cm4geyBjb2xvcjogU3RyaW5nKHVzZVRva2VuKHRva2VuKSkgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BS2EsaUJBQWlCLEdBQUcsQ0FDN0IsS0FBaUIsRUFDakIsTUFBbUI7O0lBRW5CLElBQUksS0FBd0IsQ0FBQztJQUU3QixJQUFJLE1BQU0sRUFBRTtRQUNSLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDO0tBQ2pDO1NBQU0sSUFBSSxLQUFLLEVBQUU7UUFDZCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDSCxLQUFLLFNBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQUcsSUFBSSxDQUFDLENBQUM7U0FDdEM7S0FDSjtJQUVELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUN4QjtJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDOUM7Ozs7In0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ColorName, TextAccent } from '@preply/ds-core';
|
|
2
|
+
import { TextStyle as RNTextStyle } from 'react-native';
|
|
3
|
+
interface UseTextSharedStyleParams {
|
|
4
|
+
accent?: TextAccent;
|
|
5
|
+
color?: ColorName;
|
|
6
|
+
centered?: boolean;
|
|
7
|
+
}
|
|
8
|
+
interface UseTextSharedStyleResponse {
|
|
9
|
+
color: RNTextStyle['color'];
|
|
10
|
+
textAlign: RNTextStyle['textAlign'];
|
|
11
|
+
}
|
|
12
|
+
export declare const useTextSharedStyle: ({ accent, color, centered, }: UseTextSharedStyleParams) => UseTextSharedStyleResponse;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useTextColorStyle } from './useTextColorStyle.js';
|
|
3
|
+
|
|
4
|
+
const useTextSharedStyle = ({ accent, color, centered, }) => {
|
|
5
|
+
const colorStyle = useTextColorStyle(color, accent);
|
|
6
|
+
return useMemo(() => {
|
|
7
|
+
const centeredStyle = {
|
|
8
|
+
textAlign: centered ? 'center' : 'left',
|
|
9
|
+
};
|
|
10
|
+
return { ...colorStyle, ...centeredStyle };
|
|
11
|
+
}, [centered, colorStyle]);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { useTextSharedStyle };
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFNoYXJlZFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy9wcml2YXRlL3VzZVRleHRTaGFyZWRTdHlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvck5hbWUsIFRleHRBY2NlbnQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRleHRTdHlsZSBhcyBSTlRleHRTdHlsZSB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZVRleHRDb2xvclN0eWxlIH0gZnJvbSAnLi91c2VUZXh0Q29sb3JTdHlsZSc7XG5cbmludGVyZmFjZSBVc2VUZXh0U2hhcmVkU3R5bGVQYXJhbXMge1xuICAgIGFjY2VudD86IFRleHRBY2NlbnQ7XG4gICAgY29sb3I/OiBDb2xvck5hbWU7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgVXNlVGV4dFNoYXJlZFN0eWxlUmVzcG9uc2Uge1xuICAgIGNvbG9yOiBSTlRleHRTdHlsZVsnY29sb3InXTtcbiAgICB0ZXh0QWxpZ246IFJOVGV4dFN0eWxlWyd0ZXh0QWxpZ24nXTtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVRleHRTaGFyZWRTdHlsZSA9ICh7XG4gICAgYWNjZW50LFxuICAgIGNvbG9yLFxuICAgIGNlbnRlcmVkLFxufTogVXNlVGV4dFNoYXJlZFN0eWxlUGFyYW1zKTogVXNlVGV4dFNoYXJlZFN0eWxlUmVzcG9uc2UgPT4ge1xuICAgIGNvbnN0IGNvbG9yU3R5bGUgPSB1c2VUZXh0Q29sb3JTdHlsZShjb2xvciwgYWNjZW50KTtcblxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgY2VudGVyZWRTdHlsZTogeyB0ZXh0QWxpZ246IFJOVGV4dFN0eWxlWyd0ZXh0QWxpZ24nXSB9ID0ge1xuICAgICAgICAgICAgdGV4dEFsaWduOiBjZW50ZXJlZCA/ICdjZW50ZXInIDogJ2xlZnQnLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4geyAuLi5jb2xvclN0eWxlLCAuLi5jZW50ZXJlZFN0eWxlIH07XG4gICAgfSwgW2NlbnRlcmVkLCBjb2xvclN0eWxlXSk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztNQWlCYSxrQkFBa0IsR0FBRyxDQUFDLEVBQy9CLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxHQUNlO0lBQ3ZCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVwRCxPQUFPLE9BQU8sQ0FBQztRQUNYLE1BQU0sYUFBYSxHQUE0QztZQUMzRCxTQUFTLEVBQUUsUUFBUSxHQUFHLFFBQVEsR0FBRyxNQUFNO1NBQzFDLENBQUM7UUFDRixPQUFPLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUM5QyxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDL0I7Ozs7In0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Token } from '@preply/ds-core-types';
|
|
2
|
+
import { TextVariantStyle } from '../..';
|
|
3
|
+
interface VariantRawStyles {
|
|
4
|
+
fontSize: Token;
|
|
5
|
+
fontWeight: Token;
|
|
6
|
+
lineHeight: Token;
|
|
7
|
+
letterSpacing: Token;
|
|
8
|
+
fontStyle: Token;
|
|
9
|
+
}
|
|
10
|
+
export declare const useTextVariantStyle: (variantRawStyles: VariantRawStyles) => TextVariantStyle;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { root } from '@preply/ds-core';
|
|
2
|
+
import { useStyleSheet } from '@preply/ds-rn-core';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
|
|
5
|
+
const fontFamilyRawStyle = {
|
|
6
|
+
fontFamily: root.text.base.typeface,
|
|
7
|
+
};
|
|
8
|
+
const isItalic = (fontStyle) => {
|
|
9
|
+
return fontStyle === 'italic' || fontStyle === 'oblique 10deg';
|
|
10
|
+
};
|
|
11
|
+
const getFontWeightString = (fontWeight, fontStyle) => {
|
|
12
|
+
switch (fontWeight) {
|
|
13
|
+
case 'normal':
|
|
14
|
+
case '400': {
|
|
15
|
+
return isItalic(fontStyle) ? '' : 'Regular';
|
|
16
|
+
}
|
|
17
|
+
case '500': {
|
|
18
|
+
return 'Medium';
|
|
19
|
+
}
|
|
20
|
+
case 'bold':
|
|
21
|
+
case '700': {
|
|
22
|
+
return 'Bold';
|
|
23
|
+
}
|
|
24
|
+
default: {
|
|
25
|
+
return isItalic(fontStyle) ? '' : 'Regular';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const getFontStyleString = (fontStyle) => {
|
|
30
|
+
return isItalic(fontStyle) ? 'Italic' : '';
|
|
31
|
+
};
|
|
32
|
+
const getFontFamily = (fontFamily, fontWeight, fontStyle) => {
|
|
33
|
+
const fontWeightString = getFontWeightString(fontWeight, fontStyle);
|
|
34
|
+
const fontStyleString = getFontStyleString(fontStyle);
|
|
35
|
+
return `${fontFamily}-${fontWeightString}${fontStyleString}`;
|
|
36
|
+
};
|
|
37
|
+
const useTextVariantStyle = (variantRawStyles) => {
|
|
38
|
+
const styles = useStyleSheet({
|
|
39
|
+
fontFamily: fontFamilyRawStyle,
|
|
40
|
+
variant: variantRawStyles,
|
|
41
|
+
});
|
|
42
|
+
return useMemo(() => ({
|
|
43
|
+
fontFamily: getFontFamily(styles.fontFamily.fontFamily, String(styles.variant.fontWeight), styles.variant.fontStyle),
|
|
44
|
+
fontSize: styles.variant.fontSize,
|
|
45
|
+
letterSpacing: styles.variant.letterSpacing,
|
|
46
|
+
lineHeight: styles.variant.lineHeight,
|
|
47
|
+
}), [
|
|
48
|
+
styles.fontFamily.fontFamily,
|
|
49
|
+
styles.variant.fontSize,
|
|
50
|
+
styles.variant.fontStyle,
|
|
51
|
+
styles.variant.fontWeight,
|
|
52
|
+
styles.variant.letterSpacing,
|
|
53
|
+
styles.variant.lineHeight,
|
|
54
|
+
]);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export { useTextVariantStyle };
|
|
58
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFZhcmlhbnRTdHlsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3BzL3R5cG9ncmFwaHkvaG9va3MvcHJpdmF0ZS91c2VUZXh0VmFyaWFudFN0eWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJvb3QgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuaW1wb3J0IHsgdXNlU3R5bGVTaGVldCB9IGZyb20gJ0BwcmVwbHkvZHMtcm4tY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGV4dFN0eWxlIGFzIFJOVGV4dFN0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHsgVGV4dFZhcmlhbnRTdHlsZSB9IGZyb20gJy4uLy4uJztcblxuaW50ZXJmYWNlIFZhcmlhbnRSYXdTdHlsZXMge1xuICAgIGZvbnRTaXplOiBUb2tlbjtcbiAgICBmb250V2VpZ2h0OiBUb2tlbjtcbiAgICBsaW5lSGVpZ2h0OiBUb2tlbjtcbiAgICBsZXR0ZXJTcGFjaW5nOiBUb2tlbjtcbiAgICBmb250U3R5bGU6IFRva2VuO1xufVxuXG5jb25zdCBmb250RmFtaWx5UmF3U3R5bGUgPSB7XG4gICAgZm9udEZhbWlseTogcm9vdC50ZXh0LmJhc2UudHlwZWZhY2UsXG59O1xuXG5jb25zdCBpc0l0YWxpYyA9IChmb250U3R5bGU6IFJOVGV4dFN0eWxlWydmb250U3R5bGUnXSB8ICdvYmxpcXVlIDEwZGVnJykgPT4ge1xuICAgIHJldHVybiBmb250U3R5bGUgPT09ICdpdGFsaWMnIHx8IGZvbnRTdHlsZSA9PT0gJ29ibGlxdWUgMTBkZWcnO1xufTtcblxuY29uc3QgZ2V0Rm9udFdlaWdodFN0cmluZyA9IChcbiAgICBmb250V2VpZ2h0OiBSTlRleHRTdHlsZVsnZm9udFdlaWdodCddLFxuICAgIGZvbnRTdHlsZTogUk5UZXh0U3R5bGVbJ2ZvbnRTdHlsZSddLFxuKTogc3RyaW5nID0+IHtcbiAgICBzd2l0Y2ggKGZvbnRXZWlnaHQpIHtcbiAgICAgICAgY2FzZSAnbm9ybWFsJzpcbiAgICAgICAgY2FzZSAnNDAwJzoge1xuICAgICAgICAgICAgcmV0dXJuIGlzSXRhbGljKGZvbnRTdHlsZSkgPyAnJyA6ICdSZWd1bGFyJztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICc1MDAnOiB7XG4gICAgICAgICAgICByZXR1cm4gJ01lZGl1bSc7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYm9sZCc6XG4gICAgICAgIGNhc2UgJzcwMCc6IHtcbiAgICAgICAgICAgIHJldHVybiAnQm9sZCc7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIGlzSXRhbGljKGZvbnRTdHlsZSkgPyAnJyA6ICdSZWd1bGFyJztcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmNvbnN0IGdldEZvbnRTdHlsZVN0cmluZyA9IChmb250U3R5bGU6IFJOVGV4dFN0eWxlWydmb250U3R5bGUnXSk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIGlzSXRhbGljKGZvbnRTdHlsZSkgPyAnSXRhbGljJyA6ICcnO1xufTtcblxuY29uc3QgZ2V0Rm9udEZhbWlseSA9IChcbiAgICBmb250RmFtaWx5OiBSTlRleHRTdHlsZVsnZm9udEZhbWlseSddLFxuICAgIGZvbnRXZWlnaHQ6IFJOVGV4dFN0eWxlWydmb250V2VpZ2h0J10sXG4gICAgZm9udFN0eWxlOiBSTlRleHRTdHlsZVsnZm9udFN0eWxlJ10sXG4pOiBSTlRleHRTdHlsZVsnZm9udEZhbWlseSddID0+IHtcbiAgICBjb25zdCBmb250V2VpZ2h0U3RyaW5nID0gZ2V0Rm9udFdlaWdodFN0cmluZyhmb250V2VpZ2h0LCBmb250U3R5bGUpO1xuICAgIGNvbnN0IGZvbnRTdHlsZVN0cmluZyA9IGdldEZvbnRTdHlsZVN0cmluZyhmb250U3R5bGUpO1xuXG4gICAgcmV0dXJuIGAke2ZvbnRGYW1pbHl9LSR7Zm9udFdlaWdodFN0cmluZ30ke2ZvbnRTdHlsZVN0cmluZ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRWYXJpYW50U3R5bGUgPSAodmFyaWFudFJhd1N0eWxlczogVmFyaWFudFJhd1N0eWxlcyk6IFRleHRWYXJpYW50U3R5bGUgPT4ge1xuICAgIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlU2hlZXQoe1xuICAgICAgICBmb250RmFtaWx5OiBmb250RmFtaWx5UmF3U3R5bGUsXG4gICAgICAgIHZhcmlhbnQ6IHZhcmlhbnRSYXdTdHlsZXMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gKHtcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IGdldEZvbnRGYW1pbHkoXG4gICAgICAgICAgICAgICAgc3R5bGVzLmZvbnRGYW1pbHkuZm9udEZhbWlseSxcbiAgICAgICAgICAgICAgICBTdHJpbmcoc3R5bGVzLnZhcmlhbnQuZm9udFdlaWdodCkgYXMgUk5UZXh0U3R5bGVbJ2ZvbnRXZWlnaHQnXSxcbiAgICAgICAgICAgICAgICBzdHlsZXMudmFyaWFudC5mb250U3R5bGUsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZm9udFNpemU6IHN0eWxlcy52YXJpYW50LmZvbnRTaXplLFxuICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogc3R5bGVzLnZhcmlhbnQubGV0dGVyU3BhY2luZyxcbiAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHN0eWxlcy52YXJpYW50LmxpbmVIZWlnaHQsXG4gICAgICAgIH0pLFxuICAgICAgICBbXG4gICAgICAgICAgICBzdHlsZXMuZm9udEZhbWlseS5mb250RmFtaWx5LFxuICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQuZm9udFNpemUsXG4gICAgICAgICAgICBzdHlsZXMudmFyaWFudC5mb250U3R5bGUsXG4gICAgICAgICAgICBzdHlsZXMudmFyaWFudC5mb250V2VpZ2h0LFxuICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQubGV0dGVyU3BhY2luZyxcbiAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmxpbmVIZWlnaHQsXG4gICAgICAgIF0sXG4gICAgKTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWdCQSxNQUFNLGtCQUFrQixHQUFHO0lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO0NBQ3RDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQXFEO0lBQ25FLE9BQU8sU0FBUyxLQUFLLFFBQVEsSUFBSSxTQUFTLEtBQUssZUFBZSxDQUFDO0FBQ25FLENBQUMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FDeEIsVUFBcUMsRUFDckMsU0FBbUM7SUFFbkMsUUFBUSxVQUFVO1FBQ2QsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLEtBQUssRUFBRTtZQUNSLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDL0M7UUFDRCxLQUFLLEtBQUssRUFBRTtZQUNSLE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLEtBQUssRUFBRTtZQUNSLE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBQ0QsU0FBUztZQUNMLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDL0M7S0FDSjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFtQztJQUMzRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQy9DLENBQUMsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLENBQ2xCLFVBQXFDLEVBQ3JDLFVBQXFDLEVBQ3JDLFNBQW1DO0lBRW5DLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXRELE9BQU8sR0FBRyxVQUFVLElBQUksZ0JBQWdCLEdBQUcsZUFBZSxFQUFFLENBQUM7QUFDakUsQ0FBQyxDQUFDO01BRVcsbUJBQW1CLEdBQUcsQ0FBQyxnQkFBa0M7SUFDbEUsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDO1FBQ3pCLFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsT0FBTyxFQUFFLGdCQUFnQjtLQUM1QixDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FDVixPQUFPO1FBQ0gsVUFBVSxFQUFFLGFBQWEsQ0FDckIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBOEIsRUFDOUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzNCO1FBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBQzNDLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDeEMsQ0FBQyxFQUNGO1FBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVM7UUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYTtRQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDNUIsQ0FDSixDQUFDO0FBQ047Ozs7In0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { heading, root } from '@preply/ds-core';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useTextSharedStyle } from './private/useTextSharedStyle.js';
|
|
4
|
+
import { useTextVariantStyle } from './private/useTextVariantStyle.js';
|
|
5
|
+
|
|
6
|
+
const useHeadingStyle = ({ level, large = false, accent, color, centered, }) => {
|
|
7
|
+
const variantRawStyles = heading.level[level][large ? 'large' : 'normal'];
|
|
8
|
+
const variantStyle = useTextVariantStyle({
|
|
9
|
+
...variantRawStyles,
|
|
10
|
+
fontStyle: root.text.style.normal,
|
|
11
|
+
});
|
|
12
|
+
const textSharedStyle = useTextSharedStyle({ accent, color, centered });
|
|
13
|
+
return useMemo(() => {
|
|
14
|
+
return { ...variantStyle, ...textSharedStyle };
|
|
15
|
+
}, [textSharedStyle, variantStyle]);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { useHeadingStyle };
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSGVhZGluZ1N0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy91c2VIZWFkaW5nU3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGVhZGluZywgcm9vdCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBIZWFkaW5nU3R5bGVQcm9wcywgVGV4dFN0eWxlIH0gZnJvbSAnLi4nO1xuXG5pbXBvcnQgeyB1c2VUZXh0U2hhcmVkU3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFNoYXJlZFN0eWxlJztcbmltcG9ydCB7IHVzZVRleHRWYXJpYW50U3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFZhcmlhbnRTdHlsZSc7XG5cbmV4cG9ydCBjb25zdCB1c2VIZWFkaW5nU3R5bGUgPSAoe1xuICAgIGxldmVsLFxuICAgIGxhcmdlID0gZmFsc2UsXG4gICAgYWNjZW50LFxuICAgIGNvbG9yLFxuICAgIGNlbnRlcmVkLFxufTogSGVhZGluZ1N0eWxlUHJvcHMpOiBUZXh0U3R5bGUgPT4ge1xuICAgIGNvbnN0IHZhcmlhbnRSYXdTdHlsZXMgPSBoZWFkaW5nLmxldmVsW2xldmVsXVtsYXJnZSA/ICdsYXJnZScgOiAnbm9ybWFsJ107XG4gICAgY29uc3QgdmFyaWFudFN0eWxlID0gdXNlVGV4dFZhcmlhbnRTdHlsZSh7XG4gICAgICAgIC4uLnZhcmlhbnRSYXdTdHlsZXMsXG4gICAgICAgIGZvbnRTdHlsZTogcm9vdC50ZXh0LnN0eWxlLm5vcm1hbCxcbiAgICB9KTtcbiAgICBjb25zdCB0ZXh0U2hhcmVkU3R5bGUgPSB1c2VUZXh0U2hhcmVkU3R5bGUoeyBhY2NlbnQsIGNvbG9yLCBjZW50ZXJlZCB9KTtcblxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgLi4udmFyaWFudFN0eWxlLCAuLi50ZXh0U2hhcmVkU3R5bGUgfTtcbiAgICB9LCBbdGV4dFNoYXJlZFN0eWxlLCB2YXJpYW50U3R5bGVdKTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7TUFRYSxlQUFlLEdBQUcsQ0FBQyxFQUM1QixLQUFLLEVBQ0wsS0FBSyxHQUFHLEtBQUssRUFDYixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsR0FDUTtJQUNoQixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMxRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNyQyxHQUFHLGdCQUFnQjtRQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtLQUNwQyxDQUFDLENBQUM7SUFDSCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUV4RSxPQUFPLE9BQU8sQ0FBQztRQUNYLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO0tBQ2xELEVBQUUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN4Qzs7OzsifQ==
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
interface UseTextStyleParams {
|
|
4
|
-
variant?: TextVariant;
|
|
5
|
-
accent?: TextAccent;
|
|
6
|
-
color?: ColorName;
|
|
7
|
-
centered?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare const useTextStyle: ({ variant, accent, color, centered, }?: UseTextStyleParams) => TextStyle;
|
|
10
|
-
export {};
|
|
1
|
+
import { TextStyle, TextStyleProps } from '..';
|
|
2
|
+
export declare const useTextStyle: ({ variant, accent, color, centered, }?: TextStyleProps) => TextStyle;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
+
import { text } from '@preply/ds-core';
|
|
1
2
|
import { TEXT_VARIANT_RN_DEFAULT } from '@preply/ds-rn-core';
|
|
2
3
|
import { useMemo } from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { useTextVariantStyle } from './useTextVariantStyle.js';
|
|
4
|
+
import { useTextSharedStyle } from './private/useTextSharedStyle.js';
|
|
5
|
+
import { useTextVariantStyle } from './private/useTextVariantStyle.js';
|
|
6
6
|
|
|
7
7
|
const useTextStyle = ({ variant = TEXT_VARIANT_RN_DEFAULT, accent, color, centered, } = {}) => {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const variantRawStyles = text.variant[variant];
|
|
9
|
+
const variantStyle = useTextVariantStyle(variantRawStyles);
|
|
10
|
+
const textSharedStyle = useTextSharedStyle({ accent, color, centered });
|
|
10
11
|
return useMemo(() => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}, [centered, colorStyle, variantStyle]);
|
|
12
|
+
return { ...variantStyle, ...textSharedStyle };
|
|
13
|
+
}, [textSharedStyle, variantStyle]);
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
export { useTextStyle };
|
|
17
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy91c2VUZXh0U3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGV4dCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCB9IGZyb20gJ0BwcmVwbHkvZHMtcm4tY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBUZXh0U3R5bGUsIFRleHRTdHlsZVByb3BzIH0gZnJvbSAnLi4nO1xuXG5pbXBvcnQgeyB1c2VUZXh0U2hhcmVkU3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFNoYXJlZFN0eWxlJztcbmltcG9ydCB7IHVzZVRleHRWYXJpYW50U3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFZhcmlhbnRTdHlsZSc7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0U3R5bGUgPSAoe1xuICAgIHZhcmlhbnQgPSBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCxcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgY2VudGVyZWQsXG59OiBUZXh0U3R5bGVQcm9wcyA9IHt9KTogVGV4dFN0eWxlID0+IHtcbiAgICBjb25zdCB2YXJpYW50UmF3U3R5bGVzID0gdGV4dC52YXJpYW50W3ZhcmlhbnRdO1xuICAgIGNvbnN0IHZhcmlhbnRTdHlsZSA9IHVzZVRleHRWYXJpYW50U3R5bGUodmFyaWFudFJhd1N0eWxlcyk7XG4gICAgY29uc3QgdGV4dFNoYXJlZFN0eWxlID0gdXNlVGV4dFNoYXJlZFN0eWxlKHsgYWNjZW50LCBjb2xvciwgY2VudGVyZWQgfSk7XG5cbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiB7IC4uLnZhcmlhbnRTdHlsZSwgLi4udGV4dFNoYXJlZFN0eWxlIH07XG4gICAgfSwgW3RleHRTaGFyZWRTdHlsZSwgdmFyaWFudFN0eWxlXSk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztNQVNhLFlBQVksR0FBRyxDQUFDLEVBQ3pCLE9BQU8sR0FBRyx1QkFBdUIsRUFDakMsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLE1BQ1EsRUFBRTtJQUNsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUV4RSxPQUFPLE9BQU8sQ0FBQztRQUNYLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGVBQWUsRUFBRSxDQUFDO0tBQ2xELEVBQUUsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUN4Qzs7OzsifQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export { useHeadingStyle } from './hooks/useHeadingStyle.js';
|
|
1
2
|
export { useTextStyle } from './hooks/useTextStyle.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ColorName, HeadingLevel, TextAccent, TextVariant } from '@preply/ds-core';
|
|
2
|
+
import { TextStyle as RNTextStyle, TextProps } from 'react-native';
|
|
3
|
+
interface TextStyleCommonProps {
|
|
4
|
+
accent?: TextAccent;
|
|
5
|
+
color?: ColorName;
|
|
6
|
+
centered?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface TextStyleProps extends TextStyleCommonProps {
|
|
9
|
+
variant?: TextVariant;
|
|
10
|
+
}
|
|
11
|
+
export interface HeadingStyleProps extends TextStyleCommonProps {
|
|
12
|
+
level: HeadingLevel;
|
|
13
|
+
large?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface TextVariantStyle {
|
|
16
|
+
fontFamily: RNTextStyle['fontFamily'];
|
|
17
|
+
fontSize: RNTextStyle['fontSize'];
|
|
18
|
+
letterSpacing: RNTextStyle['letterSpacing'];
|
|
19
|
+
lineHeight: RNTextStyle['lineHeight'];
|
|
20
|
+
}
|
|
21
|
+
export interface TextStyle extends TextVariantStyle {
|
|
22
|
+
color: RNTextStyle['color'];
|
|
23
|
+
textAlign: RNTextStyle['textAlign'];
|
|
24
|
+
}
|
|
25
|
+
export declare type TextCommonProps = Pick<TextProps, 'adjustsFontSizeToFit' | 'lineBreakMode' | 'numberOfLines' | 'testID'>;
|
|
26
|
+
export {};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import { TextStyle } from '../props/typography';
|
|
3
|
+
export declare const TextVariantProvider: React.Provider<TextStyle | null>;
|
|
@@ -4,4 +4,4 @@ const TextVariantContext = React.createContext(null);
|
|
|
4
4
|
const TextVariantProvider = TextVariantContext.Provider;
|
|
5
5
|
|
|
6
6
|
export { TextVariantProvider };
|
|
7
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFZhcmlhbnRQcm92aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9UZXh0VmFyaWFudFByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBUZXh0U3R5bGUgfSBmcm9tICcuLi9wcm9wcy90eXBvZ3JhcGh5JztcblxuY29uc3QgVGV4dFZhcmlhbnRDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dDxUZXh0U3R5bGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IFRleHRWYXJpYW50UHJvdmlkZXIgPSBUZXh0VmFyaWFudENvbnRleHQuUHJvdmlkZXI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQW1CLElBQUksQ0FBQyxDQUFDO01BRTFELG1CQUFtQixHQUFHLGtCQUFrQixDQUFDOzs7OyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@preply/ds-rn-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -18,15 +18,15 @@
|
|
|
18
18
|
"dev": "run build:rollup -w"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@preply/ds-core": "0.
|
|
22
|
-
"@preply/ds-rn-core": "0.
|
|
23
|
-
"@preply/ds-rn-root": "0.
|
|
21
|
+
"@preply/ds-core": "0.45.0",
|
|
22
|
+
"@preply/ds-rn-core": "0.45.0",
|
|
23
|
+
"@preply/ds-rn-root": "0.45.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@preply/ds-core": "0.
|
|
26
|
+
"@preply/ds-core": "0.45.0",
|
|
27
27
|
"@preply/ds-core-types": "0.43.2",
|
|
28
|
-
"@preply/ds-rn-core": "0.
|
|
29
|
-
"@preply/ds-rn-root": "0.
|
|
28
|
+
"@preply/ds-rn-core": "0.45.0",
|
|
29
|
+
"@preply/ds-rn-root": "0.45.0",
|
|
30
30
|
"react": "^16.8.3",
|
|
31
31
|
"react-native": "^0.63.4"
|
|
32
32
|
},
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"react-native": "^0.63.4",
|
|
39
39
|
"react-test-renderer": "16.8.3"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "03d6ddbd1905f16d4ab455162cd178410904a8bd"
|
|
42
42
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { content, root, scheme } from '@preply/ds-core';
|
|
2
|
-
import { useToken } from '@preply/ds-rn-core';
|
|
3
|
-
|
|
4
|
-
const useTextColorStyle = (color, accent) => {
|
|
5
|
-
var _a;
|
|
6
|
-
let token;
|
|
7
|
-
if (accent) {
|
|
8
|
-
token = content[accent].color;
|
|
9
|
-
}
|
|
10
|
-
else if (color) {
|
|
11
|
-
const [name, step] = color.split('-');
|
|
12
|
-
if (!step) {
|
|
13
|
-
token = root.palette[name];
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
token = (_a = root.palette[name]) === null || _a === void 0 ? void 0 : _a[step];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
if (!token) {
|
|
20
|
-
token = scheme.color;
|
|
21
|
-
}
|
|
22
|
-
return { color: String(useToken(token)) };
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export { useTextColorStyle };
|
|
26
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dENvbG9yU3R5bGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm9wcy90eXBvZ3JhcGh5L2hvb2tzL3VzZVRleHRDb2xvclN0eWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yTmFtZSwgVGV4dEFjY2VudCwgY29udGVudCwgcm9vdCwgc2NoZW1lIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnQHByZXBseS9kcy1jb3JlLXR5cGVzJztcbmltcG9ydCB7IHVzZVRva2VuIH0gZnJvbSAnQHByZXBseS9kcy1ybi1jb3JlJztcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRDb2xvclN0eWxlID0gKGNvbG9yPzogQ29sb3JOYW1lLCBhY2NlbnQ/OiBUZXh0QWNjZW50KTogeyBjb2xvcjogc3RyaW5nIH0gPT4ge1xuICAgIGxldCB0b2tlbjogVG9rZW4gfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoYWNjZW50KSB7XG4gICAgICAgIHRva2VuID0gY29udGVudFthY2NlbnRdLmNvbG9yO1xuICAgIH0gZWxzZSBpZiAoY29sb3IpIHtcbiAgICAgICAgY29uc3QgW25hbWUsIHN0ZXBdID0gY29sb3Iuc3BsaXQoJy0nKTtcbiAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICB0b2tlbiA9IHJvb3QucGFsZXR0ZVtuYW1lXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRva2VuID0gcm9vdC5wYWxldHRlW25hbWVdPy5bc3RlcF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgIHRva2VuID0gc2NoZW1lLmNvbG9yO1xuICAgIH1cblxuICAgIHJldHVybiB7IGNvbG9yOiBTdHJpbmcodXNlVG9rZW4odG9rZW4pKSB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7TUFJYSxpQkFBaUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsTUFBbUI7O0lBQ3BFLElBQUksS0FBd0IsQ0FBQztJQUU3QixJQUFJLE1BQU0sRUFBRTtRQUNSLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDO0tBQ2pDO1NBQU0sSUFBSSxLQUFLLEVBQUU7UUFDZCxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDSCxLQUFLLFNBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMENBQUcsSUFBSSxDQUFDLENBQUM7U0FDdEM7S0FDSjtJQUVELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDUixLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUN4QjtJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDOUM7Ozs7In0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TextVariant } from '@preply/ds-core';
|
|
2
|
-
import { TextStyle } from 'react-native';
|
|
3
|
-
interface TextVariantStyle {
|
|
4
|
-
fontFamily: TextStyle['fontFamily'];
|
|
5
|
-
fontSize: TextStyle['fontSize'];
|
|
6
|
-
letterSpacing: TextStyle['letterSpacing'];
|
|
7
|
-
lineHeight: TextStyle['lineHeight'];
|
|
8
|
-
}
|
|
9
|
-
export declare const useTextVariantStyle: (variant: TextVariant) => TextVariantStyle;
|
|
10
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { root, text } from '@preply/ds-core';
|
|
2
|
-
import { useStyleSheet } from '@preply/ds-rn-core';
|
|
3
|
-
import { useMemo } from 'react';
|
|
4
|
-
|
|
5
|
-
const fontFamilyRawStyle = {
|
|
6
|
-
fontFamily: root.text.base.typeface,
|
|
7
|
-
};
|
|
8
|
-
const isItalic = (fontStyle) => {
|
|
9
|
-
return fontStyle === 'italic' || fontStyle === 'oblique 10deg';
|
|
10
|
-
};
|
|
11
|
-
const getFontWeightString = (fontWeight, fontStyle) => {
|
|
12
|
-
switch (fontWeight) {
|
|
13
|
-
case 'normal':
|
|
14
|
-
case '400': {
|
|
15
|
-
return isItalic(fontStyle) ? '' : 'Regular';
|
|
16
|
-
}
|
|
17
|
-
case '500': {
|
|
18
|
-
return 'Medium';
|
|
19
|
-
}
|
|
20
|
-
case 'bold':
|
|
21
|
-
case '700': {
|
|
22
|
-
return 'Bold';
|
|
23
|
-
}
|
|
24
|
-
default: {
|
|
25
|
-
return isItalic(fontStyle) ? '' : 'Regular';
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
const getFontStyleString = (fontStyle) => {
|
|
30
|
-
return isItalic(fontStyle) ? 'Italic' : '';
|
|
31
|
-
};
|
|
32
|
-
const getFontFamily = (fontFamily, fontWeight, fontStyle) => {
|
|
33
|
-
const fontWeightString = getFontWeightString(fontWeight, fontStyle);
|
|
34
|
-
const fontStyleString = getFontStyleString(fontStyle);
|
|
35
|
-
return `${fontFamily}-${fontWeightString}${fontStyleString}`;
|
|
36
|
-
};
|
|
37
|
-
const useTextVariantStyle = (variant) => {
|
|
38
|
-
const textVariant = text.variant[variant];
|
|
39
|
-
const styles = useStyleSheet({
|
|
40
|
-
fontFamily: fontFamilyRawStyle,
|
|
41
|
-
variant: textVariant,
|
|
42
|
-
});
|
|
43
|
-
return useMemo(() => ({
|
|
44
|
-
fontFamily: getFontFamily(styles.fontFamily.fontFamily, String(styles.variant.fontWeight), styles.variant.fontStyle),
|
|
45
|
-
fontSize: styles.variant.fontSize,
|
|
46
|
-
letterSpacing: styles.variant.letterSpacing,
|
|
47
|
-
lineHeight: styles.variant.lineHeight,
|
|
48
|
-
}), [
|
|
49
|
-
styles.fontFamily.fontFamily,
|
|
50
|
-
styles.variant.fontSize,
|
|
51
|
-
styles.variant.fontStyle,
|
|
52
|
-
styles.variant.fontWeight,
|
|
53
|
-
styles.variant.letterSpacing,
|
|
54
|
-
styles.variant.lineHeight,
|
|
55
|
-
]);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export { useTextVariantStyle };
|
|
59
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFZhcmlhbnRTdHlsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3BzL3R5cG9ncmFwaHkvaG9va3MvdXNlVGV4dFZhcmlhbnRTdHlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0VmFyaWFudCwgcm9vdCwgdGV4dCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyB1c2VTdHlsZVNoZWV0IH0gZnJvbSAnQHByZXBseS9kcy1ybi1jb3JlJztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUZXh0U3R5bGUgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5pbnRlcmZhY2UgVGV4dFZhcmlhbnRTdHlsZSB7XG4gICAgZm9udEZhbWlseTogVGV4dFN0eWxlWydmb250RmFtaWx5J107XG4gICAgZm9udFNpemU6IFRleHRTdHlsZVsnZm9udFNpemUnXTtcbiAgICBsZXR0ZXJTcGFjaW5nOiBUZXh0U3R5bGVbJ2xldHRlclNwYWNpbmcnXTtcbiAgICBsaW5lSGVpZ2h0OiBUZXh0U3R5bGVbJ2xpbmVIZWlnaHQnXTtcbn1cblxuY29uc3QgZm9udEZhbWlseVJhd1N0eWxlID0ge1xuICAgIGZvbnRGYW1pbHk6IHJvb3QudGV4dC5iYXNlLnR5cGVmYWNlLFxufTtcblxuY29uc3QgaXNJdGFsaWMgPSAoZm9udFN0eWxlOiBUZXh0U3R5bGVbJ2ZvbnRTdHlsZSddIHwgJ29ibGlxdWUgMTBkZWcnKSA9PiB7XG4gICAgcmV0dXJuIGZvbnRTdHlsZSA9PT0gJ2l0YWxpYycgfHwgZm9udFN0eWxlID09PSAnb2JsaXF1ZSAxMGRlZyc7XG59O1xuXG5jb25zdCBnZXRGb250V2VpZ2h0U3RyaW5nID0gKFxuICAgIGZvbnRXZWlnaHQ6IFRleHRTdHlsZVsnZm9udFdlaWdodCddLFxuICAgIGZvbnRTdHlsZTogVGV4dFN0eWxlWydmb250U3R5bGUnXSxcbik6IHN0cmluZyA9PiB7XG4gICAgc3dpdGNoIChmb250V2VpZ2h0KSB7XG4gICAgICAgIGNhc2UgJ25vcm1hbCc6XG4gICAgICAgIGNhc2UgJzQwMCc6IHtcbiAgICAgICAgICAgIHJldHVybiBpc0l0YWxpYyhmb250U3R5bGUpID8gJycgOiAnUmVndWxhcic7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnNTAwJzoge1xuICAgICAgICAgICAgcmV0dXJuICdNZWRpdW0nO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBjYXNlICc3MDAnOiB7XG4gICAgICAgICAgICByZXR1cm4gJ0JvbGQnO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHJldHVybiBpc0l0YWxpYyhmb250U3R5bGUpID8gJycgOiAnUmVndWxhcic7XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5jb25zdCBnZXRGb250U3R5bGVTdHJpbmcgPSAoZm9udFN0eWxlOiBUZXh0U3R5bGVbJ2ZvbnRTdHlsZSddKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gaXNJdGFsaWMoZm9udFN0eWxlKSA/ICdJdGFsaWMnIDogJyc7XG59O1xuXG5jb25zdCBnZXRGb250RmFtaWx5ID0gKFxuICAgIGZvbnRGYW1pbHk6IFRleHRTdHlsZVsnZm9udEZhbWlseSddLFxuICAgIGZvbnRXZWlnaHQ6IFRleHRTdHlsZVsnZm9udFdlaWdodCddLFxuICAgIGZvbnRTdHlsZTogVGV4dFN0eWxlWydmb250U3R5bGUnXSxcbik6IFRleHRTdHlsZVsnZm9udEZhbWlseSddID0+IHtcbiAgICBjb25zdCBmb250V2VpZ2h0U3RyaW5nID0gZ2V0Rm9udFdlaWdodFN0cmluZyhmb250V2VpZ2h0LCBmb250U3R5bGUpO1xuICAgIGNvbnN0IGZvbnRTdHlsZVN0cmluZyA9IGdldEZvbnRTdHlsZVN0cmluZyhmb250U3R5bGUpO1xuXG4gICAgcmV0dXJuIGAke2ZvbnRGYW1pbHl9LSR7Zm9udFdlaWdodFN0cmluZ30ke2ZvbnRTdHlsZVN0cmluZ31gO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVRleHRWYXJpYW50U3R5bGUgPSAodmFyaWFudDogVGV4dFZhcmlhbnQpOiBUZXh0VmFyaWFudFN0eWxlID0+IHtcbiAgICBjb25zdCB0ZXh0VmFyaWFudCA9IHRleHQudmFyaWFudFt2YXJpYW50XTtcblxuICAgIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlU2hlZXQoe1xuICAgICAgICBmb250RmFtaWx5OiBmb250RmFtaWx5UmF3U3R5bGUsXG4gICAgICAgIHZhcmlhbnQ6IHRleHRWYXJpYW50LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oXG4gICAgICAgICgpID0+ICh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiBnZXRGb250RmFtaWx5KFxuICAgICAgICAgICAgICAgIHN0eWxlcy5mb250RmFtaWx5LmZvbnRGYW1pbHksXG4gICAgICAgICAgICAgICAgU3RyaW5nKHN0eWxlcy52YXJpYW50LmZvbnRXZWlnaHQpIGFzIFRleHRTdHlsZVsnZm9udFdlaWdodCddLFxuICAgICAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmZvbnRTdHlsZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmb250U2l6ZTogc3R5bGVzLnZhcmlhbnQuZm9udFNpemUsXG4gICAgICAgICAgICBsZXR0ZXJTcGFjaW5nOiBzdHlsZXMudmFyaWFudC5sZXR0ZXJTcGFjaW5nLFxuICAgICAgICAgICAgbGluZUhlaWdodDogc3R5bGVzLnZhcmlhbnQubGluZUhlaWdodCxcbiAgICAgICAgfSksXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlcy5mb250RmFtaWx5LmZvbnRGYW1pbHksXG4gICAgICAgICAgICBzdHlsZXMudmFyaWFudC5mb250U2l6ZSxcbiAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmZvbnRTdHlsZSxcbiAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmZvbnRXZWlnaHQsXG4gICAgICAgICAgICBzdHlsZXMudmFyaWFudC5sZXR0ZXJTcGFjaW5nLFxuICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQubGluZUhlaWdodCxcbiAgICAgICAgXSxcbiAgICApO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBWUEsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtDQUN0QyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxTQUFtRDtJQUNqRSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQ3hCLFVBQW1DLEVBQ25DLFNBQWlDO0lBRWpDLFFBQVEsVUFBVTtRQUNkLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxLQUFLLEVBQUU7WUFDUixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO1NBQy9DO1FBQ0QsS0FBSyxLQUFLLEVBQUU7WUFDUixPQUFPLFFBQVEsQ0FBQztTQUNuQjtRQUNELEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLEVBQUU7WUFDUixPQUFPLE1BQU0sQ0FBQztTQUNqQjtRQUNELFNBQVM7WUFDTCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO1NBQy9DO0tBQ0o7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBaUM7SUFDekQsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsUUFBUSxHQUFHLEVBQUUsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUNsQixVQUFtQyxFQUNuQyxVQUFtQyxFQUNuQyxTQUFpQztJQUVqQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwRSxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV0RCxPQUFPLEdBQUcsVUFBVSxJQUFJLGdCQUFnQixHQUFHLGVBQWUsRUFBRSxDQUFDO0FBQ2pFLENBQUMsQ0FBQztNQUVXLG1CQUFtQixHQUFHLENBQUMsT0FBb0I7SUFDcEQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUM7UUFDekIsVUFBVSxFQUFFLGtCQUFrQjtRQUM5QixPQUFPLEVBQUUsV0FBVztLQUN2QixDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FDVixPQUFPO1FBQ0gsVUFBVSxFQUFFLGFBQWEsQ0FDckIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBNEIsRUFDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzNCO1FBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBQzNDLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDeEMsQ0FBQyxFQUNGO1FBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVM7UUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYTtRQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDNUIsQ0FDSixDQUFDO0FBQ047Ozs7In0=
|