@preply/ds-rn-lib 0.44.0 → 0.46.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 (41) hide show
  1. package/dist/components/Heading/Heading.d.ts +5 -0
  2. package/dist/components/Heading/Heading.js +22 -0
  3. package/dist/components/LayoutFlex/LayoutFlex.d.ts +1 -2
  4. package/dist/components/LayoutFlex/LayoutFlex.js +5 -5
  5. package/dist/components/LayoutFlex/private/ChildrenWithGap.d.ts +3 -2
  6. package/dist/components/LayoutFlex/private/ChildrenWithGap.js +27 -10
  7. package/dist/components/LayoutFlexItem/LayoutFlexItem.d.ts +1 -2
  8. package/dist/components/LayoutFlexItem/LayoutFlexItem.js +1 -1
  9. package/dist/components/Text/Text.d.ts +2 -8
  10. package/dist/components/Text/Text.js +6 -6
  11. package/dist/components/TextInline/TextInline.d.ts +11 -0
  12. package/dist/components/TextInline/TextInline.js +25 -0
  13. package/dist/components/index.d.ts +5 -3
  14. package/dist/components/index.js +4 -2
  15. package/dist/index.js +5 -2
  16. package/dist/props/index.d.ts +1 -1
  17. package/dist/props/index.js +2 -1
  18. package/dist/props/layout/hooks/useLayoutFlexStyle.d.ts +2 -2
  19. package/dist/props/layout/hooks/useLayoutFlexStyle.js +4 -4
  20. package/dist/props/typography/hooks/{useTextColorStyle.d.ts → private/useTextColorStyle.d.ts} +1 -1
  21. package/dist/props/typography/hooks/private/useTextColorStyle.js +26 -0
  22. package/dist/props/typography/hooks/private/useTextSharedStyle.d.ts +9 -0
  23. package/dist/props/typography/hooks/private/useTextSharedStyle.js +15 -0
  24. package/dist/props/typography/hooks/private/useTextVariantStyle.d.ts +11 -0
  25. package/dist/props/typography/hooks/private/useTextVariantStyle.js +30 -0
  26. package/dist/props/typography/hooks/useHeadingStyle.d.ts +2 -0
  27. package/dist/props/typography/hooks/useHeadingStyle.js +19 -0
  28. package/dist/props/typography/hooks/useTextStyle.d.ts +2 -10
  29. package/dist/props/typography/hooks/useTextStyle.js +10 -10
  30. package/dist/props/typography/index.d.ts +2 -0
  31. package/dist/props/typography/index.js +2 -1
  32. package/dist/props/typography/types.d.ts +28 -0
  33. package/dist/props/typography/types.js +2 -0
  34. package/dist/props/typography/utils/fontFamily.d.ts +3 -0
  35. package/dist/props/typography/utils/fontFamily.js +59 -0
  36. package/dist/providers/TextVariantProvider.d.ts +3 -1
  37. package/dist/providers/TextVariantProvider.js +2 -2
  38. package/package.json +8 -8
  39. package/dist/props/typography/hooks/useTextColorStyle.js +0 -26
  40. package/dist/props/typography/hooks/useTextVariantStyle.d.ts +0 -10
  41. package/dist/props/typography/hooks/useTextVariantStyle.js +0 -59
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { HeadingStyleProps, TextCommonProps } from '../../props/typography';
3
+ export interface HeadingProps extends TextCommonProps, HeadingStyleProps {
4
+ }
5
+ export declare const Heading: FC<HeadingProps>;
@@ -0,0 +1,22 @@
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, textTransform, stretch, children, ...rest }) => {
7
+ const computedStyles = useHeadingStyle({
8
+ level,
9
+ large,
10
+ accent,
11
+ color,
12
+ centered,
13
+ textTransform,
14
+ });
15
+ const stretchStyle = stretch ? { flex: 1 } : undefined;
16
+ return (React.createElement(TextVariantProvider, { value: computedStyles },
17
+ React.createElement(Text, Object.assign({ style: { ...computedStyles, ...stretchStyle } }, rest), children)));
18
+ };
19
+ const Heading = memo(HeadingBase);
20
+
21
+ export { Heading };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVhZGluZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSGVhZGluZy9IZWFkaW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUZXh0IGFzIFJOVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZUhlYWRpbmdTdHlsZSB9IGZyb20gJy4uLy4uL3Byb3BzJztcbmltcG9ydCB7IEhlYWRpbmdTdHlsZVByb3BzLCBUZXh0Q29tbW9uUHJvcHMgfSBmcm9tICcuLi8uLi9wcm9wcy90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFRleHRWYXJpYW50UHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVGV4dFZhcmlhbnRQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ1Byb3BzIGV4dGVuZHMgVGV4dENvbW1vblByb3BzLCBIZWFkaW5nU3R5bGVQcm9wcyB7fVxuXG5jb25zdCBIZWFkaW5nQmFzZTogRkM8SGVhZGluZ1Byb3BzPiA9ICh7XG4gICAgbGV2ZWwsXG4gICAgbGFyZ2UgPSBmYWxzZSxcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgY2VudGVyZWQsXG4gICAgdGV4dFRyYW5zZm9ybSxcbiAgICBzdHJldGNoLFxuICAgIGNoaWxkcmVuLFxuICAgIC4uLnJlc3Rcbn0pID0+IHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlcyA9IHVzZUhlYWRpbmdTdHlsZSh7XG4gICAgICAgIGxldmVsLFxuICAgICAgICBsYXJnZSxcbiAgICAgICAgYWNjZW50LFxuICAgICAgICBjb2xvcixcbiAgICAgICAgY2VudGVyZWQsXG4gICAgICAgIHRleHRUcmFuc2Zvcm0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdHJldGNoU3R5bGUgPSBzdHJldGNoID8geyBmbGV4OiAxIH0gOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8VGV4dFZhcmlhbnRQcm92aWRlciB2YWx1ZT17Y29tcHV0ZWRTdHlsZXN9PlxuICAgICAgICAgICAgPFJOVGV4dCBzdHlsZT17eyAuLi5jb21wdXRlZFN0eWxlcywgLi4uc3RyZXRjaFN0eWxlIH19IHsuLi5yZXN0fT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1JOVGV4dD5cbiAgICAgICAgPC9UZXh0VmFyaWFudFByb3ZpZGVyPlxuICAgICk7XG59O1xuXG5leHBvcnQgY29uc3QgSGVhZGluZzogRkM8SGVhZGluZ1Byb3BzPiA9IG1lbW8oSGVhZGluZ0Jhc2UpO1xuIl0sIm5hbWVzIjpbIlJOVGV4dCJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSxNQUFNLFdBQVcsR0FBcUIsQ0FBQyxFQUNuQyxLQUFLLEVBQ0wsS0FBSyxHQUFHLEtBQUssRUFDYixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsT0FBTyxFQUNQLFFBQVEsRUFDUixHQUFHLElBQUksRUFDVjtJQUNHLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQztRQUNuQyxLQUFLO1FBQ0wsS0FBSztRQUNMLE1BQU07UUFDTixLQUFLO1FBQ0wsUUFBUTtRQUNSLGFBQWE7S0FDaEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUV2RCxRQUNJLG9CQUFDLG1CQUFtQixJQUFDLEtBQUssRUFBRSxjQUFjO1FBQ3RDLG9CQUFDQSxJQUFNLGtCQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsWUFBWSxFQUFFLElBQU0sSUFBSSxHQUMxRCxRQUFRLENBQ0osQ0FDUyxFQUN4QjtBQUNOLENBQUMsQ0FBQztNQUVXLE9BQU8sR0FBcUIsSUFBSSxDQUFDLFdBQVc7Ozs7In0=
@@ -1,9 +1,8 @@
1
1
  import { LayoutGap } from '@preply/ds-core';
2
2
  import { FC } from 'react';
3
3
  import { LayoutFlexStyle } from '../../props/layout/hooks/useLayoutFlexStyle';
4
- interface LayoutFlexProps extends LayoutFlexStyle {
4
+ export interface LayoutFlexProps extends LayoutFlexStyle {
5
5
  gap?: LayoutGap;
6
6
  hide?: boolean;
7
7
  }
8
8
  export declare const LayoutFlex: FC<LayoutFlexProps>;
9
- export {};
@@ -1,24 +1,24 @@
1
- import React, { memo, Children } from 'react';
1
+ import React, { memo } from 'react';
2
2
  import { View } from 'react-native';
3
3
  import { useLayoutFlexStyle } from '../../props/layout/hooks/useLayoutFlexStyle.js';
4
4
  import { ChildrenWithGap } from './private/ChildrenWithGap.js';
5
5
 
6
- const LayoutFlexBase = ({ gap, padding, nowrap, direction, justifyContent, alignItems, hide, children, }) => {
6
+ const LayoutFlexBase = ({ gap, padding, wrap, direction, justifyContent, alignItems, hide, children, }) => {
7
7
  const style = useLayoutFlexStyle({
8
8
  padding,
9
9
  direction,
10
10
  alignItems,
11
11
  justifyContent,
12
- nowrap,
12
+ wrap,
13
13
  });
14
14
  if (hide) {
15
15
  return null;
16
16
  }
17
- const content = !gap || Children.count(children) === 1 ? (children) : (React.createElement(ChildrenWithGap, { gap: gap, direction: direction }, children));
17
+ const content = !gap ? (children) : (React.createElement(ChildrenWithGap, { gap: gap, direction: direction }, children));
18
18
  return React.createElement(View, { style: style }, content);
19
19
  };
20
20
  const LayoutFlex = memo(LayoutFlexBase);
21
21
  LayoutFlex.displayName = 'LayoutFlex';
22
22
 
23
23
  export { LayoutFlex };
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0RmxleC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTGF5b3V0RmxleC9MYXlvdXRGbGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRHYXAgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IENoaWxkcmVuLCBGQywgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFZpZXcgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5pbXBvcnQgeyBMYXlvdXRGbGV4U3R5bGUsIHVzZUxheW91dEZsZXhTdHlsZSB9IGZyb20gJy4uLy4uL3Byb3BzL2xheW91dC9ob29rcy91c2VMYXlvdXRGbGV4U3R5bGUnO1xuXG5pbXBvcnQgeyBDaGlsZHJlbldpdGhHYXAgfSBmcm9tICcuL3ByaXZhdGUvQ2hpbGRyZW5XaXRoR2FwJztcblxuaW50ZXJmYWNlIExheW91dEZsZXhQcm9wcyBleHRlbmRzIExheW91dEZsZXhTdHlsZSB7XG4gICAgZ2FwPzogTGF5b3V0R2FwO1xuICAgIGhpZGU/OiBib29sZWFuO1xufVxuXG5jb25zdCBMYXlvdXRGbGV4QmFzZTogRkM8TGF5b3V0RmxleFByb3BzPiA9ICh7XG4gICAgZ2FwLFxuICAgIHBhZGRpbmcsXG4gICAgbm93cmFwLFxuICAgIGRpcmVjdGlvbixcbiAgICBqdXN0aWZ5Q29udGVudCxcbiAgICBhbGlnbkl0ZW1zLFxuICAgIGhpZGUsXG4gICAgY2hpbGRyZW4sXG59KSA9PiB7XG4gICAgY29uc3Qgc3R5bGUgPSB1c2VMYXlvdXRGbGV4U3R5bGUoe1xuICAgICAgICBwYWRkaW5nLFxuICAgICAgICBkaXJlY3Rpb24sXG4gICAgICAgIGFsaWduSXRlbXMsXG4gICAgICAgIGp1c3RpZnlDb250ZW50LFxuICAgICAgICBub3dyYXAsXG4gICAgfSk7XG5cbiAgICBpZiAoaGlkZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50ID1cbiAgICAgICAgIWdhcCB8fCBDaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPT09IDEgPyAoXG4gICAgICAgICAgICBjaGlsZHJlblxuICAgICAgICApIDogKFxuICAgICAgICAgICAgPENoaWxkcmVuV2l0aEdhcCBnYXA9e2dhcH0gZGlyZWN0aW9uPXtkaXJlY3Rpb259PlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvQ2hpbGRyZW5XaXRoR2FwPlxuICAgICAgICApO1xuXG4gICAgcmV0dXJuIDxWaWV3IHN0eWxlPXtzdHlsZX0+e2NvbnRlbnR9PC9WaWV3Pjtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXlvdXRGbGV4OiBGQzxMYXlvdXRGbGV4UHJvcHM+ID0gbWVtbyhMYXlvdXRGbGV4QmFzZSk7XG5cbkxheW91dEZsZXguZGlzcGxheU5hbWUgPSAnTGF5b3V0RmxleCc7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFhQSxNQUFNLGNBQWMsR0FBd0IsQ0FBQyxFQUN6QyxHQUFHLEVBQ0gsT0FBTyxFQUNQLE1BQU0sRUFDTixTQUFTLEVBQ1QsY0FBYyxFQUNkLFVBQVUsRUFDVixJQUFJLEVBQ0osUUFBUSxHQUNYO0lBQ0csTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUM7UUFDN0IsT0FBTztRQUNQLFNBQVM7UUFDVCxVQUFVO1FBQ1YsY0FBYztRQUNkLE1BQU07S0FDVCxDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksRUFBRTtRQUNOLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLE9BQU8sR0FDVCxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFDbEMsUUFBUSxLQUVSLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLElBQzFDLFFBQVEsQ0FDSyxDQUNyQixDQUFDO0lBRU4sT0FBTyxvQkFBQyxJQUFJLElBQUMsS0FBSyxFQUFFLEtBQUssSUFBRyxPQUFPLENBQVEsQ0FBQztBQUNoRCxDQUFDLENBQUM7TUFFVyxVQUFVLEdBQXdCLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFFcEUsVUFBVSxDQUFDLFdBQVcsR0FBRyxZQUFZOzs7OyJ9
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0RmxleC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTGF5b3V0RmxleC9MYXlvdXRGbGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRHYXAgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVmlldyB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IExheW91dEZsZXhTdHlsZSwgdXNlTGF5b3V0RmxleFN0eWxlIH0gZnJvbSAnLi4vLi4vcHJvcHMvbGF5b3V0L2hvb2tzL3VzZUxheW91dEZsZXhTdHlsZSc7XG5cbmltcG9ydCB7IENoaWxkcmVuV2l0aEdhcCB9IGZyb20gJy4vcHJpdmF0ZS9DaGlsZHJlbldpdGhHYXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dEZsZXhQcm9wcyBleHRlbmRzIExheW91dEZsZXhTdHlsZSB7XG4gICAgZ2FwPzogTGF5b3V0R2FwO1xuICAgIGhpZGU/OiBib29sZWFuO1xufVxuXG5jb25zdCBMYXlvdXRGbGV4QmFzZTogRkM8TGF5b3V0RmxleFByb3BzPiA9ICh7XG4gICAgZ2FwLFxuICAgIHBhZGRpbmcsXG4gICAgd3JhcCxcbiAgICBkaXJlY3Rpb24sXG4gICAganVzdGlmeUNvbnRlbnQsXG4gICAgYWxpZ25JdGVtcyxcbiAgICBoaWRlLFxuICAgIGNoaWxkcmVuLFxufSkgPT4ge1xuICAgIGNvbnN0IHN0eWxlID0gdXNlTGF5b3V0RmxleFN0eWxlKHtcbiAgICAgICAgcGFkZGluZyxcbiAgICAgICAgZGlyZWN0aW9uLFxuICAgICAgICBhbGlnbkl0ZW1zLFxuICAgICAgICBqdXN0aWZ5Q29udGVudCxcbiAgICAgICAgd3JhcCxcbiAgICB9KTtcblxuICAgIGlmIChoaWRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnQgPSAhZ2FwID8gKFxuICAgICAgICBjaGlsZHJlblxuICAgICkgOiAoXG4gICAgICAgIDxDaGlsZHJlbldpdGhHYXAgZ2FwPXtnYXB9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9DaGlsZHJlbldpdGhHYXA+XG4gICAgKTtcblxuICAgIHJldHVybiA8VmlldyBzdHlsZT17c3R5bGV9Pntjb250ZW50fTwvVmlldz47XG59O1xuXG5leHBvcnQgY29uc3QgTGF5b3V0RmxleDogRkM8TGF5b3V0RmxleFByb3BzPiA9IG1lbW8oTGF5b3V0RmxleEJhc2UpO1xuXG5MYXlvdXRGbGV4LmRpc3BsYXlOYW1lID0gJ0xheW91dEZsZXgnO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsTUFBTSxjQUFjLEdBQXdCLENBQUMsRUFDekMsR0FBRyxFQUNILE9BQU8sRUFDUCxJQUFJLEVBQ0osU0FBUyxFQUNULGNBQWMsRUFDZCxVQUFVLEVBQ1YsSUFBSSxFQUNKLFFBQVEsR0FDWDtJQUNHLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDO1FBQzdCLE9BQU87UUFDUCxTQUFTO1FBQ1QsVUFBVTtRQUNWLGNBQWM7UUFDZCxJQUFJO0tBQ1AsQ0FBQyxDQUFDO0lBRUgsSUFBSSxJQUFJLEVBQUU7UUFDTixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQ2hCLFFBQVEsS0FFUixvQkFBQyxlQUFlLElBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxJQUMxQyxRQUFRLENBQ0ssQ0FDckIsQ0FBQztJQUVGLE9BQU8sb0JBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxLQUFLLElBQUcsT0FBTyxDQUFRLENBQUM7QUFDaEQsQ0FBQyxDQUFDO01BRVcsVUFBVSxHQUF3QixJQUFJLENBQUMsY0FBYyxFQUFFO0FBRXBFLFVBQVUsQ0FBQyxXQUFXLEdBQUcsWUFBWTs7OzsifQ==
@@ -1,8 +1,9 @@
1
1
  import { LayoutFlexDirection, LayoutGap } from '@preply/ds-core';
2
- import React from 'react';
2
+ import { FC, ReactNode } from 'react';
3
3
  interface Props {
4
4
  gap: LayoutGap;
5
5
  direction?: LayoutFlexDirection;
6
+ children: ReactNode;
6
7
  }
7
- export declare const ChildrenWithGap: React.FC<Props>;
8
+ export declare const ChildrenWithGap: FC<Props>;
8
9
  export {};
@@ -1,25 +1,42 @@
1
1
  import { root } from '@preply/ds-core';
2
2
  import { useToken } from '@preply/ds-rn-core';
3
- import React from 'react';
3
+ import React, { memo, Children, isValidElement, Fragment } from 'react';
4
4
  import { View } from 'react-native';
5
5
 
6
- // This is a workaround for the fact that react-native doesn't support gap style.
7
- const ChildrenWithGap = React.memo(({ gap, direction, children }) => {
6
+ function ChildrenWithGapBase({ gap, direction, children }) {
8
7
  const gapSize = useToken(root.space[gap]);
9
8
  const isRow = direction === 'row' || direction === 'row-reverse';
10
9
  const spacerStyle = isRow ? { width: gapSize } : { height: gapSize };
11
10
  const spacer = React.createElement(View, { style: spacerStyle });
12
- return (React.createElement(React.Fragment, null, React.Children.map(children, (child, index) => {
13
- if (index === 0) {
11
+ if (!children || !gapSize || Children.count(children) < 2) {
12
+ return React.createElement(React.Fragment, null, children);
13
+ }
14
+ let firstElementIndex = -1;
15
+ const mappedChildren = Children.map(children, (child, index) => {
16
+ if (!isValidElement(child)) {
14
17
  return child;
15
18
  }
19
+ const isFragment = child.type === Fragment;
20
+ if (isFragment && !child.props.children) {
21
+ return child;
22
+ }
23
+ const hasSpacer = firstElementIndex !== -1;
24
+ if (firstElementIndex === -1) {
25
+ firstElementIndex = index;
26
+ }
27
+ const content = !isFragment ? (child) : (React.createElement(ChildrenWithGapBase, { gap: gap, direction: direction }, child.props.children));
16
28
  return (
17
29
  // eslint-disable-next-line react/no-array-index-key
18
30
  React.createElement(React.Fragment, { key: index },
19
- spacer,
20
- child));
21
- })));
22
- });
31
+ hasSpacer && spacer,
32
+ content));
33
+ });
34
+ return React.createElement(React.Fragment, null, mappedChildren);
35
+ }
36
+ ChildrenWithGapBase.defaultProps = {
37
+ direction: 'column',
38
+ };
39
+ const ChildrenWithGap = memo(ChildrenWithGapBase);
23
40
 
24
41
  export { ChildrenWithGap };
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hpbGRyZW5XaXRoR2FwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9MYXlvdXRGbGV4L3ByaXZhdGUvQ2hpbGRyZW5XaXRoR2FwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRGbGV4RGlyZWN0aW9uLCBMYXlvdXRHYXAsIHJvb3QgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgdXNlVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLXJuLWNvcmUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFZpZXcgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAgIGdhcDogTGF5b3V0R2FwO1xuICAgIGRpcmVjdGlvbj86IExheW91dEZsZXhEaXJlY3Rpb247XG59XG5cbi8vIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUgZmFjdCB0aGF0IHJlYWN0LW5hdGl2ZSBkb2Vzbid0IHN1cHBvcnQgZ2FwIHN0eWxlLlxuZXhwb3J0IGNvbnN0IENoaWxkcmVuV2l0aEdhcDogUmVhY3QuRkM8UHJvcHM+ID0gUmVhY3QubWVtbygoeyBnYXAsIGRpcmVjdGlvbiwgY2hpbGRyZW4gfSkgPT4ge1xuICAgIGNvbnN0IGdhcFNpemUgPSB1c2VUb2tlbihyb290LnNwYWNlW2dhcF0pO1xuICAgIGNvbnN0IGlzUm93ID0gZGlyZWN0aW9uID09PSAncm93JyB8fCBkaXJlY3Rpb24gPT09ICdyb3ctcmV2ZXJzZSc7XG4gICAgY29uc3Qgc3BhY2VyU3R5bGUgPSBpc1JvdyA/IHsgd2lkdGg6IGdhcFNpemUgfSA6IHsgaGVpZ2h0OiBnYXBTaXplIH07XG4gICAgY29uc3Qgc3BhY2VyID0gPFZpZXcgc3R5bGU9e3NwYWNlclN0eWxlfSAvPjtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICB7UmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5XG4gICAgICAgICAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzcGFjZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGR9XG4gICAgICAgICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICA8Lz5cbiAgICApO1xufSk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFVQTtNQUNhLGVBQWUsR0FBb0IsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7SUFDcEYsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxQyxNQUFNLEtBQUssR0FBRyxTQUFTLEtBQUssS0FBSyxJQUFJLFNBQVMsS0FBSyxhQUFhLENBQUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3JFLE1BQU0sTUFBTSxHQUFHLG9CQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsV0FBVyxHQUFJLENBQUM7SUFFNUMsUUFDSSwwQ0FDSyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSztRQUN2QyxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDYixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVEOztRQUVJLG9CQUFDLEtBQUssQ0FBQyxRQUFRLElBQUMsR0FBRyxFQUFFLEtBQUs7WUFDckIsTUFBTTtZQUNOLEtBQUssQ0FDTyxFQUNuQjtLQUNMLENBQUMsQ0FDSCxFQUNMO0FBQ04sQ0FBQzs7OzsifQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hpbGRyZW5XaXRoR2FwLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9MYXlvdXRGbGV4L3ByaXZhdGUvQ2hpbGRyZW5XaXRoR2FwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXlvdXRGbGV4RGlyZWN0aW9uLCBMYXlvdXRHYXAsIHJvb3QgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgdXNlVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLXJuLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IENoaWxkcmVuLCBGQywgRnJhZ21lbnQsIFJlYWN0Tm9kZSwgaXNWYWxpZEVsZW1lbnQsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICBnYXA6IExheW91dEdhcDtcbiAgICBkaXJlY3Rpb24/OiBMYXlvdXRGbGV4RGlyZWN0aW9uO1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5cbmZ1bmN0aW9uIENoaWxkcmVuV2l0aEdhcEJhc2UoeyBnYXAsIGRpcmVjdGlvbiwgY2hpbGRyZW4gfTogUHJvcHMpOiBKU1guRWxlbWVudCB7XG4gICAgY29uc3QgZ2FwU2l6ZSA9IHVzZVRva2VuKHJvb3Quc3BhY2VbZ2FwXSk7XG4gICAgY29uc3QgaXNSb3cgPSBkaXJlY3Rpb24gPT09ICdyb3cnIHx8IGRpcmVjdGlvbiA9PT0gJ3Jvdy1yZXZlcnNlJztcbiAgICBjb25zdCBzcGFjZXJTdHlsZSA9IGlzUm93ID8geyB3aWR0aDogZ2FwU2l6ZSB9IDogeyBoZWlnaHQ6IGdhcFNpemUgfTtcbiAgICBjb25zdCBzcGFjZXIgPSA8VmlldyBzdHlsZT17c3BhY2VyU3R5bGV9IC8+O1xuXG4gICAgaWYgKCFjaGlsZHJlbiB8fCAhZ2FwU2l6ZSB8fCBDaGlsZHJlbi5jb3VudChjaGlsZHJlbikgPCAyKSB7XG4gICAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XG4gICAgfVxuXG4gICAgbGV0IGZpcnN0RWxlbWVudEluZGV4ID0gLTE7XG5cbiAgICBjb25zdCBtYXBwZWRDaGlsZHJlbiA9IENoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWlzVmFsaWRFbGVtZW50KGNoaWxkKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNGcmFnbWVudCA9IGNoaWxkLnR5cGUgPT09IEZyYWdtZW50O1xuXG4gICAgICAgIGlmIChpc0ZyYWdtZW50ICYmICFjaGlsZC5wcm9wcy5jaGlsZHJlbikge1xuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzU3BhY2VyID0gZmlyc3RFbGVtZW50SW5kZXggIT09IC0xO1xuXG4gICAgICAgIGlmIChmaXJzdEVsZW1lbnRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgIGZpcnN0RWxlbWVudEluZGV4ID0gaW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250ZW50ID0gIWlzRnJhZ21lbnQgPyAoXG4gICAgICAgICAgICBjaGlsZFxuICAgICAgICApIDogKFxuICAgICAgICAgICAgPENoaWxkcmVuV2l0aEdhcEJhc2UgZ2FwPXtnYXB9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufT5cbiAgICAgICAgICAgICAgICB7Y2hpbGQucHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICA8L0NoaWxkcmVuV2l0aEdhcEJhc2U+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXlcbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICB7aGFzU3BhY2VyICYmIHNwYWNlcn1cbiAgICAgICAgICAgICAgICB7Y29udGVudH1cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gPD57bWFwcGVkQ2hpbGRyZW59PC8+O1xufVxuXG5DaGlsZHJlbldpdGhHYXBCYXNlLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXJlY3Rpb246ICdjb2x1bW4nIGFzIGNvbnN0LFxufTtcblxuZXhwb3J0IGNvbnN0IENoaWxkcmVuV2l0aEdhcDogRkM8UHJvcHM+ID0gbWVtbyhDaGlsZHJlbldpdGhHYXBCYXNlKTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVdBLFNBQVMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBUztJQUM1RCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLFNBQVMsS0FBSyxLQUFLLElBQUksU0FBUyxLQUFLLGFBQWEsQ0FBQztJQUNqRSxNQUFNLFdBQVcsR0FBRyxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDckUsTUFBTSxNQUFNLEdBQUcsb0JBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxXQUFXLEdBQUksQ0FBQztJQUU1QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3ZELE9BQU8sMENBQUcsUUFBUSxDQUFJLENBQUM7S0FDMUI7SUFFRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNCLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO1FBRTNDLElBQUksVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUzQyxJQUFJLGlCQUFpQixLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzFCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsVUFBVSxJQUN2QixLQUFLLEtBRUwsb0JBQUMsbUJBQW1CLElBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxJQUM5QyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDSCxDQUN6QixDQUFDO1FBRUY7O1FBRUksb0JBQUMsS0FBSyxDQUFDLFFBQVEsSUFBQyxHQUFHLEVBQUUsS0FBSztZQUNyQixTQUFTLElBQUksTUFBTTtZQUNuQixPQUFPLENBQ0ssRUFDbkI7S0FDTCxDQUFDLENBQUM7SUFFSCxPQUFPLDBDQUFHLGNBQWMsQ0FBSSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxtQkFBbUIsQ0FBQyxZQUFZLEdBQUc7SUFDL0IsU0FBUyxFQUFFLFFBQWlCO0NBQy9CLENBQUM7TUFFVyxlQUFlLEdBQWMsSUFBSSxDQUFDLG1CQUFtQjs7OzsifQ==
@@ -1,7 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { LayoutFlexItemStyle } from '../../props/layout/hooks/useLayoutFlexItemStyle';
3
- interface LayoutFlexItemProps extends LayoutFlexItemStyle {
3
+ export interface LayoutFlexItemProps extends LayoutFlexItemStyle {
4
4
  hide?: boolean;
5
5
  }
6
6
  export declare const LayoutFlexItem: FC<LayoutFlexItemProps>;
7
- export {};
@@ -13,4 +13,4 @@ const LayoutFlexItem = memo(LayoutFlexItemBase);
13
13
  LayoutFlexItem.displayName = 'LayoutFlexItem';
14
14
 
15
15
  export { LayoutFlexItem };
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0RmxleEl0ZW0uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0xheW91dEZsZXhJdGVtL0xheW91dEZsZXhJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHtcbiAgICBMYXlvdXRGbGV4SXRlbVN0eWxlLFxuICAgIHVzZUxheW91dEZsZXhJdGVtU3R5bGUsXG59IGZyb20gJy4uLy4uL3Byb3BzL2xheW91dC9ob29rcy91c2VMYXlvdXRGbGV4SXRlbVN0eWxlJztcblxuaW50ZXJmYWNlIExheW91dEZsZXhJdGVtUHJvcHMgZXh0ZW5kcyBMYXlvdXRGbGV4SXRlbVN0eWxlIHtcbiAgICBoaWRlPzogYm9vbGVhbjtcbn1cblxuY29uc3QgTGF5b3V0RmxleEl0ZW1CYXNlOiBGQzxMYXlvdXRGbGV4SXRlbVByb3BzPiA9ICh7IGNoaWxkcmVuLCBhbGlnblNlbGYsIHN0cmV0Y2gsIGhpZGUgfSkgPT4ge1xuICAgIGNvbnN0IHN0eWxlID0gdXNlTGF5b3V0RmxleEl0ZW1TdHlsZSh7IGFsaWduU2VsZiwgc3RyZXRjaCB9KTtcblxuICAgIGlmIChoaWRlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiA8VmlldyBzdHlsZT17c3R5bGV9PntjaGlsZHJlbn08L1ZpZXc+O1xufTtcblxuZXhwb3J0IGNvbnN0IExheW91dEZsZXhJdGVtOiBGQzxMYXlvdXRGbGV4SXRlbVByb3BzPiA9IG1lbW8oTGF5b3V0RmxleEl0ZW1CYXNlKTtcblxuTGF5b3V0RmxleEl0ZW0uZGlzcGxheU5hbWUgPSAnTGF5b3V0RmxleEl0ZW0nO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFZQSxNQUFNLGtCQUFrQixHQUE0QixDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0lBQ3ZGLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFN0QsSUFBSSxJQUFJLEVBQUU7UUFDTixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsT0FBTyxvQkFBQyxJQUFJLElBQUMsS0FBSyxFQUFFLEtBQUssSUFBRyxRQUFRLENBQVEsQ0FBQztBQUNqRCxDQUFDLENBQUM7TUFFVyxjQUFjLEdBQTRCLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtBQUVoRixjQUFjLENBQUMsV0FBVyxHQUFHLGdCQUFnQjs7OzsifQ==
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0RmxleEl0ZW0uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0xheW91dEZsZXhJdGVtL0xheW91dEZsZXhJdGVtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBWaWV3IH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHtcbiAgICBMYXlvdXRGbGV4SXRlbVN0eWxlLFxuICAgIHVzZUxheW91dEZsZXhJdGVtU3R5bGUsXG59IGZyb20gJy4uLy4uL3Byb3BzL2xheW91dC9ob29rcy91c2VMYXlvdXRGbGV4SXRlbVN0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGbGV4SXRlbVByb3BzIGV4dGVuZHMgTGF5b3V0RmxleEl0ZW1TdHlsZSB7XG4gICAgaGlkZT86IGJvb2xlYW47XG59XG5cbmNvbnN0IExheW91dEZsZXhJdGVtQmFzZTogRkM8TGF5b3V0RmxleEl0ZW1Qcm9wcz4gPSAoeyBjaGlsZHJlbiwgYWxpZ25TZWxmLCBzdHJldGNoLCBoaWRlIH0pID0+IHtcbiAgICBjb25zdCBzdHlsZSA9IHVzZUxheW91dEZsZXhJdGVtU3R5bGUoeyBhbGlnblNlbGYsIHN0cmV0Y2ggfSk7XG5cbiAgICBpZiAoaGlkZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gPFZpZXcgc3R5bGU9e3N0eWxlfT57Y2hpbGRyZW59PC9WaWV3Pjtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXlvdXRGbGV4SXRlbTogRkM8TGF5b3V0RmxleEl0ZW1Qcm9wcz4gPSBtZW1vKExheW91dEZsZXhJdGVtQmFzZSk7XG5cbkxheW91dEZsZXhJdGVtLmRpc3BsYXlOYW1lID0gJ0xheW91dEZsZXhJdGVtJztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBWUEsTUFBTSxrQkFBa0IsR0FBNEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtJQUN2RixNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTdELElBQUksSUFBSSxFQUFFO1FBQ04sT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE9BQU8sb0JBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxLQUFLLElBQUcsUUFBUSxDQUFRLENBQUM7QUFDakQsQ0FBQyxDQUFDO01BRVcsY0FBYyxHQUE0QixJQUFJLENBQUMsa0JBQWtCLEVBQUU7QUFFaEYsY0FBYyxDQUFDLFdBQVcsR0FBRyxnQkFBZ0I7Ozs7In0=
@@ -1,11 +1,5 @@
1
- import { ColorName, TextAccent, TextVariant } from '@preply/ds-core';
2
1
  import { FC } from 'react';
3
- import { TextProps as RNTextProps } from 'react-native';
4
- interface TextProps extends Pick<RNTextProps, 'adjustsFontSizeToFit' | 'lineBreakMode' | 'numberOfLines' | 'testID'> {
5
- variant?: TextVariant;
6
- accent?: TextAccent;
7
- color?: ColorName;
8
- centered?: boolean;
2
+ import { TextCommonProps, TextStyleProps } from '../../props/typography';
3
+ export interface TextProps extends TextCommonProps, TextStyleProps {
9
4
  }
10
5
  export declare const Text: FC<TextProps>;
11
- export {};
@@ -1,15 +1,15 @@
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';
5
4
  import { useTextStyle } from '../../props/typography/hooks/useTextStyle.js';
6
5
 
7
- const TextBase = ({ variant, accent, color, centered, children, ...rest }) => {
8
- const computedStyles = useTextStyle({ variant, accent, color, centered });
9
- return (React.createElement(TextVariantProvider, { value: variant !== null && variant !== void 0 ? variant : TEXT_VARIANT_RN_DEFAULT },
10
- React.createElement(Text$1, Object.assign({ style: computedStyles }, rest), children)));
6
+ const TextBase = ({ variant, accent, color, centered, textTransform, stretch, children, ...rest }) => {
7
+ const computedStyles = useTextStyle({ variant, accent, color, centered, textTransform });
8
+ const stretchStyle = stretch ? { flex: 1 } : undefined;
9
+ return (React.createElement(TextVariantProvider, { value: computedStyles },
10
+ React.createElement(Text$1, Object.assign({ style: { ...computedStyles, ...stretchStyle } }, rest), children)));
11
11
  };
12
12
  const Text = memo(TextBase);
13
13
 
14
14
  export { Text };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dC9UZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvck5hbWUsIFRleHRBY2NlbnQsIFRleHRWYXJpYW50IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IFRFWFRfVkFSSUFOVF9STl9ERUZBVUxUIH0gZnJvbSAnQHByZXBseS9kcy1ybi1jb3JlJztcbmltcG9ydCBSZWFjdCwgeyBGQywgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRleHQgYXMgUk5UZXh0LCBUZXh0UHJvcHMgYXMgUk5UZXh0UHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5pbXBvcnQgeyB1c2VUZXh0U3R5bGUgfSBmcm9tICcuLi8uLi9wcm9wcyc7XG5pbXBvcnQgeyBUZXh0VmFyaWFudFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RleHRWYXJpYW50UHJvdmlkZXInO1xuXG5pbnRlcmZhY2UgVGV4dFByb3BzXG4gICAgZXh0ZW5kcyBQaWNrPFxuICAgICAgICBSTlRleHRQcm9wcyxcbiAgICAgICAgJ2FkanVzdHNGb250U2l6ZVRvRml0JyB8ICdsaW5lQnJlYWtNb2RlJyB8ICdudW1iZXJPZkxpbmVzJyB8ICd0ZXN0SUQnXG4gICAgPiB7XG4gICAgdmFyaWFudD86IFRleHRWYXJpYW50O1xuICAgIGFjY2VudD86IFRleHRBY2NlbnQ7XG4gICAgY29sb3I/OiBDb2xvck5hbWU7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBUZXh0QmFzZTogRkM8VGV4dFByb3BzPiA9ICh7IHZhcmlhbnQsIGFjY2VudCwgY29sb3IsIGNlbnRlcmVkLCBjaGlsZHJlbiwgLi4ucmVzdCB9KSA9PiB7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZXMgPSB1c2VUZXh0U3R5bGUoeyB2YXJpYW50LCBhY2NlbnQsIGNvbG9yLCBjZW50ZXJlZCB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0VmFyaWFudFByb3ZpZGVyIHZhbHVlPXt2YXJpYW50ID8/IFRFWFRfVkFSSUFOVF9STl9ERUZBVUxUfT5cbiAgICAgICAgICAgIDxSTlRleHQgc3R5bGU9e2NvbXB1dGVkU3R5bGVzfSB7Li4ucmVzdH0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9STlRleHQ+XG4gICAgICAgIDwvVGV4dFZhcmlhbnRQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHQ6IEZDPFRleHRQcm9wcz4gPSBtZW1vKFRleHRCYXNlKTtcbiJdLCJuYW1lcyI6WyJSTlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1CQSxNQUFNLFFBQVEsR0FBa0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLEVBQUU7SUFDcEYsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUUxRSxRQUNJLG9CQUFDLG1CQUFtQixJQUFDLEtBQUssRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSx1QkFBdUI7UUFDMUQsb0JBQUNBLE1BQU0sa0JBQUMsS0FBSyxFQUFFLGNBQWMsSUFBTSxJQUFJLEdBQ2xDLFFBQVEsQ0FDSixDQUNTLEVBQ3hCO0FBQ04sQ0FBQyxDQUFDO01BRVcsSUFBSSxHQUFrQixJQUFJLENBQUMsUUFBUTs7OzsifQ==
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dC9UZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUZXh0IGFzIFJOVGV4dCB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZVRleHRTdHlsZSB9IGZyb20gJy4uLy4uL3Byb3BzJztcbmltcG9ydCB7IFRleHRDb21tb25Qcm9wcywgVGV4dFN0eWxlUHJvcHMgfSBmcm9tICcuLi8uLi9wcm9wcy90eXBvZ3JhcGh5JztcbmltcG9ydCB7IFRleHRWYXJpYW50UHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvVGV4dFZhcmlhbnRQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFByb3BzIGV4dGVuZHMgVGV4dENvbW1vblByb3BzLCBUZXh0U3R5bGVQcm9wcyB7fVxuXG5jb25zdCBUZXh0QmFzZTogRkM8VGV4dFByb3BzPiA9ICh7XG4gICAgdmFyaWFudCxcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgY2VudGVyZWQsXG4gICAgdGV4dFRyYW5zZm9ybSxcbiAgICBzdHJldGNoLFxuICAgIGNoaWxkcmVuLFxuICAgIC4uLnJlc3Rcbn0pID0+IHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlcyA9IHVzZVRleHRTdHlsZSh7IHZhcmlhbnQsIGFjY2VudCwgY29sb3IsIGNlbnRlcmVkLCB0ZXh0VHJhbnNmb3JtIH0pO1xuXG4gICAgY29uc3Qgc3RyZXRjaFN0eWxlID0gc3RyZXRjaCA/IHsgZmxleDogMSB9IDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPFRleHRWYXJpYW50UHJvdmlkZXIgdmFsdWU9e2NvbXB1dGVkU3R5bGVzfT5cbiAgICAgICAgICAgIDxSTlRleHQgc3R5bGU9e3sgLi4uY29tcHV0ZWRTdHlsZXMsIC4uLnN0cmV0Y2hTdHlsZSB9fSB7Li4ucmVzdH0+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9STlRleHQ+XG4gICAgICAgIDwvVGV4dFZhcmlhbnRQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHQ6IEZDPFRleHRQcm9wcz4gPSBtZW1vKFRleHRCYXNlKTtcbiJdLCJuYW1lcyI6WyJSTlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsTUFBTSxRQUFRLEdBQWtCLENBQUMsRUFDN0IsT0FBTyxFQUNQLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGFBQWEsRUFDYixPQUFPLEVBQ1AsUUFBUSxFQUNSLEdBQUcsSUFBSSxFQUNWO0lBQ0csTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFekYsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQztJQUV2RCxRQUNJLG9CQUFDLG1CQUFtQixJQUFDLEtBQUssRUFBRSxjQUFjO1FBQ3RDLG9CQUFDQSxNQUFNLGtCQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsWUFBWSxFQUFFLElBQU0sSUFBSSxHQUMxRCxRQUFRLENBQ0osQ0FDUyxFQUN4QjtBQUNOLENBQUMsQ0FBQztNQUVXLElBQUksR0FBa0IsSUFBSSxDQUFDLFFBQVE7Ozs7In0=
@@ -0,0 +1,11 @@
1
+ import { ColorName, TextAccent, TextWeight } from '@preply/ds-core';
2
+ import { FC } from 'react';
3
+ import { TextStyle as RNTextStyle } from 'react-native';
4
+ export interface TextInlineProps {
5
+ accent?: TextAccent;
6
+ color?: ColorName;
7
+ weight?: TextWeight;
8
+ italic?: boolean;
9
+ textTransform?: RNTextStyle['textTransform'];
10
+ }
11
+ export declare const TextInline: FC<TextInlineProps>;
@@ -0,0 +1,25 @@
1
+ import React, { memo, useContext } from 'react';
2
+ import { Text } from 'react-native';
3
+ import { useTextColorStyle } from '../../props/typography/hooks/private/useTextColorStyle.js';
4
+ import { getNewFontFamily } from '../../props/typography/utils/fontFamily.js';
5
+ import { TextVariantContext, TextVariantProvider } from '../../providers/TextVariantProvider.js';
6
+
7
+ const TextInlineBase = ({ accent, color, weight, italic, textTransform, children, }) => {
8
+ const parentStyle = useContext(TextVariantContext);
9
+ if (!parentStyle) {
10
+ throw new Error('TextInline must always be a child of either Text or Heading');
11
+ }
12
+ const fontFamilyStyle = {
13
+ fontFamily: getNewFontFamily(parentStyle.fontFamily, weight, italic),
14
+ };
15
+ const computedColorStyle = useTextColorStyle(color, accent);
16
+ const useParentColor = !color && !accent;
17
+ const colorStyle = useParentColor ? undefined : computedColorStyle;
18
+ const textInlineStyle = { ...parentStyle, ...fontFamilyStyle, ...colorStyle, textTransform };
19
+ return (React.createElement(TextVariantProvider, { value: textInlineStyle },
20
+ React.createElement(Text, { style: textInlineStyle }, children)));
21
+ };
22
+ const TextInline = memo(TextInlineBase);
23
+
24
+ export { TextInline };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dElubGluZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGV4dElubGluZS9UZXh0SW5saW5lLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvck5hbWUsIFRleHRBY2NlbnQsIFRleHRXZWlnaHQgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBtZW1vLCB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGV4dCBhcyBSTlRleHQsIFRleHRTdHlsZSBhcyBSTlRleHRTdHlsZSB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IHVzZVRleHRDb2xvclN0eWxlIH0gZnJvbSAnLi4vLi4vcHJvcHMvdHlwb2dyYXBoeS9ob29rcy9wcml2YXRlL3VzZVRleHRDb2xvclN0eWxlJztcbmltcG9ydCB7IGdldE5ld0ZvbnRGYW1pbHkgfSBmcm9tICcuLi8uLi9wcm9wcy90eXBvZ3JhcGh5L3V0aWxzL2ZvbnRGYW1pbHknO1xuaW1wb3J0IHsgVGV4dFZhcmlhbnRDb250ZXh0LCBUZXh0VmFyaWFudFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL1RleHRWYXJpYW50UHJvdmlkZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRJbmxpbmVQcm9wcyB7XG4gICAgYWNjZW50PzogVGV4dEFjY2VudDtcbiAgICBjb2xvcj86IENvbG9yTmFtZTtcbiAgICB3ZWlnaHQ/OiBUZXh0V2VpZ2h0O1xuICAgIGl0YWxpYz86IGJvb2xlYW47XG4gICAgdGV4dFRyYW5zZm9ybT86IFJOVGV4dFN0eWxlWyd0ZXh0VHJhbnNmb3JtJ107XG59XG5cbmNvbnN0IFRleHRJbmxpbmVCYXNlOiBGQzxUZXh0SW5saW5lUHJvcHM+ID0gKHtcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgd2VpZ2h0LFxuICAgIGl0YWxpYyxcbiAgICB0ZXh0VHJhbnNmb3JtLFxuICAgIGNoaWxkcmVuLFxufSkgPT4ge1xuICAgIGNvbnN0IHBhcmVudFN0eWxlID0gdXNlQ29udGV4dChUZXh0VmFyaWFudENvbnRleHQpO1xuXG4gICAgaWYgKCFwYXJlbnRTdHlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RleHRJbmxpbmUgbXVzdCBhbHdheXMgYmUgYSBjaGlsZCBvZiBlaXRoZXIgVGV4dCBvciBIZWFkaW5nJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZm9udEZhbWlseVN0eWxlID0ge1xuICAgICAgICBmb250RmFtaWx5OiBnZXROZXdGb250RmFtaWx5KHBhcmVudFN0eWxlLmZvbnRGYW1pbHksIHdlaWdodCwgaXRhbGljKSxcbiAgICB9O1xuXG4gICAgY29uc3QgY29tcHV0ZWRDb2xvclN0eWxlID0gdXNlVGV4dENvbG9yU3R5bGUoY29sb3IsIGFjY2VudCk7XG4gICAgY29uc3QgdXNlUGFyZW50Q29sb3IgPSAhY29sb3IgJiYgIWFjY2VudDtcbiAgICBjb25zdCBjb2xvclN0eWxlID0gdXNlUGFyZW50Q29sb3IgPyB1bmRlZmluZWQgOiBjb21wdXRlZENvbG9yU3R5bGU7XG5cbiAgICBjb25zdCB0ZXh0SW5saW5lU3R5bGUgPSB7IC4uLnBhcmVudFN0eWxlLCAuLi5mb250RmFtaWx5U3R5bGUsIC4uLmNvbG9yU3R5bGUsIHRleHRUcmFuc2Zvcm0gfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUZXh0VmFyaWFudFByb3ZpZGVyIHZhbHVlPXt0ZXh0SW5saW5lU3R5bGV9PlxuICAgICAgICAgICAgPFJOVGV4dCBzdHlsZT17dGV4dElubGluZVN0eWxlfT57Y2hpbGRyZW59PC9STlRleHQ+XG4gICAgICAgIDwvVGV4dFZhcmlhbnRQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHRJbmxpbmU6IEZDPFRleHRJbmxpbmVQcm9wcz4gPSBtZW1vKFRleHRJbmxpbmVCYXNlKTtcbiJdLCJuYW1lcyI6WyJSTlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQWdCQSxNQUFNLGNBQWMsR0FBd0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsR0FDWDtJQUNHLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRW5ELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7S0FDbEY7SUFFRCxNQUFNLGVBQWUsR0FBRztRQUNwQixVQUFVLEVBQUUsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0tBQ3ZFLENBQUM7SUFFRixNQUFNLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN6QyxNQUFNLFVBQVUsR0FBRyxjQUFjLEdBQUcsU0FBUyxHQUFHLGtCQUFrQixDQUFDO0lBRW5FLE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxlQUFlLEVBQUUsR0FBRyxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUM7SUFFN0YsUUFDSSxvQkFBQyxtQkFBbUIsSUFBQyxLQUFLLEVBQUUsZUFBZTtRQUN2QyxvQkFBQ0EsSUFBTSxJQUFDLEtBQUssRUFBRSxlQUFlLElBQUcsUUFBUSxDQUFVLENBQ2pDLEVBQ3hCO0FBQ04sQ0FBQyxDQUFDO01BRVcsVUFBVSxHQUF3QixJQUFJLENBQUMsY0FBYzs7OzsifQ==
@@ -1,3 +1,5 @@
1
- export { Text } from './Text/Text';
2
- export { LayoutFlex } from './LayoutFlex/LayoutFlex';
3
- export { LayoutFlexItem } from './LayoutFlexItem/LayoutFlexItem';
1
+ export { Heading, HeadingProps } from './Heading/Heading';
2
+ export { LayoutFlex, LayoutFlexProps } from './LayoutFlex/LayoutFlex';
3
+ export { LayoutFlexItem, LayoutFlexItemProps } from './LayoutFlexItem/LayoutFlexItem';
4
+ export { Text, TextProps } from './Text/Text';
5
+ export { TextInline, TextInlineProps } from './TextInline/TextInline';
@@ -1,4 +1,6 @@
1
- export { Text } from './Text/Text.js';
1
+ export { Heading } from './Heading/Heading.js';
2
2
  export { LayoutFlex } from './LayoutFlex/LayoutFlex.js';
3
3
  export { LayoutFlexItem } from './LayoutFlexItem/LayoutFlexItem.js';
4
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzsifQ==
4
+ export { Text } from './Text/Text.js';
5
+ export { TextInline } from './TextInline/TextInline.js';
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OyJ9
package/dist/index.js CHANGED
@@ -1,5 +1,8 @@
1
- export { Text } from './components/Text/Text.js';
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 { TextInline } from './components/TextInline/TextInline.js';
6
+ export { useHeadingStyle } from './props/typography/hooks/useHeadingStyle.js';
4
7
  export { useTextStyle } from './props/typography/hooks/useTextStyle.js';
5
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7In0=
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7In0=
@@ -1 +1 @@
1
- export { useTextStyle } from './typography';
1
+ export { useHeadingStyle, useTextStyle } from './typography';
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -2,9 +2,9 @@ import { LayoutAlignItems, LayoutFlexDirection, LayoutJustifyContent, LayoutPadd
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
3
  export interface LayoutFlexStyle {
4
4
  padding?: ShortHand<LayoutPadding>;
5
- nowrap?: boolean;
5
+ wrap?: boolean;
6
6
  direction?: LayoutFlexDirection;
7
7
  justifyContent?: LayoutJustifyContent;
8
8
  alignItems?: LayoutAlignItems;
9
9
  }
10
- export declare function useLayoutFlexStyle({ padding, direction, nowrap, alignItems, justifyContent, }: LayoutFlexStyle): StyleProp<ViewStyle>;
10
+ export declare function useLayoutFlexStyle({ padding, direction, wrap, alignItems, justifyContent, }: LayoutFlexStyle): StyleProp<ViewStyle>;
@@ -3,18 +3,18 @@ import { StyleSheet } from 'react-native';
3
3
  import { alignItemsMap, justifyContentMap } from '../private/constants.js';
4
4
  import { usePaddingStyle } from './usePaddingStyle.js';
5
5
 
6
- function useLayoutFlexStyle({ padding, direction, nowrap, alignItems, justifyContent, }) {
6
+ function useLayoutFlexStyle({ padding, direction, wrap, alignItems, justifyContent, }) {
7
7
  const paddingStyle = usePaddingStyle(padding);
8
8
  const flexStyle = useMemo(() => {
9
9
  return {
10
10
  ...(direction ? { flexDirection: direction } : {}),
11
- ...(nowrap ? { flexWrap: 'nowrap' } : {}),
11
+ ...(wrap ? { flexWrap: 'wrap' } : {}),
12
12
  ...(alignItems ? { alignItems: alignItemsMap[alignItems] } : {}),
13
13
  ...(justifyContent ? { justifyContent: justifyContentMap[justifyContent] } : {}),
14
14
  };
15
- }, [alignItems, direction, justifyContent, nowrap]);
15
+ }, [alignItems, direction, justifyContent, wrap]);
16
16
  return useMemo(() => StyleSheet.flatten([paddingStyle, flexStyle]), [paddingStyle, flexStyle]);
17
17
  }
18
18
 
19
19
  export { useLayoutFlexStyle };
20
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0RmxleFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvbGF5b3V0L2hvb2tzL3VzZUxheW91dEZsZXhTdHlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIExheW91dEFsaWduSXRlbXMsXG4gICAgTGF5b3V0RmxleERpcmVjdGlvbixcbiAgICBMYXlvdXRKdXN0aWZ5Q29udGVudCxcbiAgICBMYXlvdXRQYWRkaW5nLFxuICAgIFNob3J0SGFuZCxcbn0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGbGV4U3R5bGUsIFN0eWxlUHJvcCwgU3R5bGVTaGVldCwgVmlld1N0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHsgYWxpZ25JdGVtc01hcCwganVzdGlmeUNvbnRlbnRNYXAgfSBmcm9tICcuLi9wcml2YXRlL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IHVzZVBhZGRpbmdTdHlsZSB9IGZyb20gJy4vdXNlUGFkZGluZ1N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGbGV4U3R5bGUge1xuICAgIHBhZGRpbmc/OiBTaG9ydEhhbmQ8TGF5b3V0UGFkZGluZz47XG4gICAgbm93cmFwPzogYm9vbGVhbjtcbiAgICBkaXJlY3Rpb24/OiBMYXlvdXRGbGV4RGlyZWN0aW9uO1xuICAgIGp1c3RpZnlDb250ZW50PzogTGF5b3V0SnVzdGlmeUNvbnRlbnQ7XG4gICAgYWxpZ25JdGVtcz86IExheW91dEFsaWduSXRlbXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VMYXlvdXRGbGV4U3R5bGUoe1xuICAgIHBhZGRpbmcsXG4gICAgZGlyZWN0aW9uLFxuICAgIG5vd3JhcCxcbiAgICBhbGlnbkl0ZW1zLFxuICAgIGp1c3RpZnlDb250ZW50LFxufTogTGF5b3V0RmxleFN0eWxlKTogU3R5bGVQcm9wPFZpZXdTdHlsZT4ge1xuICAgIGNvbnN0IHBhZGRpbmdTdHlsZSA9IHVzZVBhZGRpbmdTdHlsZShwYWRkaW5nKTtcblxuICAgIGNvbnN0IGZsZXhTdHlsZTogRmxleFN0eWxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi4oZGlyZWN0aW9uID8geyBmbGV4RGlyZWN0aW9uOiBkaXJlY3Rpb24gfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihub3dyYXAgPyB7IGZsZXhXcmFwOiAnbm93cmFwJyB9IDoge30pLFxuICAgICAgICAgICAgLi4uKGFsaWduSXRlbXMgPyB7IGFsaWduSXRlbXM6IGFsaWduSXRlbXNNYXBbYWxpZ25JdGVtc10gfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihqdXN0aWZ5Q29udGVudCA/IHsganVzdGlmeUNvbnRlbnQ6IGp1c3RpZnlDb250ZW50TWFwW2p1c3RpZnlDb250ZW50XSB9IDoge30pLFxuICAgICAgICB9O1xuICAgIH0sIFthbGlnbkl0ZW1zLCBkaXJlY3Rpb24sIGp1c3RpZnlDb250ZW50LCBub3dyYXBdKTtcblxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IFN0eWxlU2hlZXQuZmxhdHRlbihbcGFkZGluZ1N0eWxlLCBmbGV4U3R5bGVdKSwgW3BhZGRpbmdTdHlsZSwgZmxleFN0eWxlXSk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7U0FzQmdCLGtCQUFrQixDQUFDLEVBQy9CLE9BQU8sRUFDUCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEdBQ0E7SUFDZCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFOUMsTUFBTSxTQUFTLEdBQWMsT0FBTyxDQUFDO1FBQ2pDLE9BQU87WUFDSCxJQUFJLFNBQVMsR0FBRyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDbEQsSUFBSSxNQUFNLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLElBQUksVUFBVSxHQUFHLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNoRSxJQUFJLGNBQWMsR0FBRyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUNuRixDQUFDO0tBQ0wsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFcEQsT0FBTyxPQUFPLENBQUMsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNuRzs7OzsifQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTGF5b3V0RmxleFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvbGF5b3V0L2hvb2tzL3VzZUxheW91dEZsZXhTdHlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIExheW91dEFsaWduSXRlbXMsXG4gICAgTGF5b3V0RmxleERpcmVjdGlvbixcbiAgICBMYXlvdXRKdXN0aWZ5Q29udGVudCxcbiAgICBMYXlvdXRQYWRkaW5nLFxuICAgIFNob3J0SGFuZCxcbn0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGbGV4U3R5bGUsIFN0eWxlUHJvcCwgU3R5bGVTaGVldCwgVmlld1N0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHsgYWxpZ25JdGVtc01hcCwganVzdGlmeUNvbnRlbnRNYXAgfSBmcm9tICcuLi9wcml2YXRlL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IHVzZVBhZGRpbmdTdHlsZSB9IGZyb20gJy4vdXNlUGFkZGluZ1N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGbGV4U3R5bGUge1xuICAgIHBhZGRpbmc/OiBTaG9ydEhhbmQ8TGF5b3V0UGFkZGluZz47XG4gICAgd3JhcD86IGJvb2xlYW47XG4gICAgZGlyZWN0aW9uPzogTGF5b3V0RmxleERpcmVjdGlvbjtcbiAgICBqdXN0aWZ5Q29udGVudD86IExheW91dEp1c3RpZnlDb250ZW50O1xuICAgIGFsaWduSXRlbXM/OiBMYXlvdXRBbGlnbkl0ZW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlTGF5b3V0RmxleFN0eWxlKHtcbiAgICBwYWRkaW5nLFxuICAgIGRpcmVjdGlvbixcbiAgICB3cmFwLFxuICAgIGFsaWduSXRlbXMsXG4gICAganVzdGlmeUNvbnRlbnQsXG59OiBMYXlvdXRGbGV4U3R5bGUpOiBTdHlsZVByb3A8Vmlld1N0eWxlPiB7XG4gICAgY29uc3QgcGFkZGluZ1N0eWxlID0gdXNlUGFkZGluZ1N0eWxlKHBhZGRpbmcpO1xuXG4gICAgY29uc3QgZmxleFN0eWxlOiBGbGV4U3R5bGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLihkaXJlY3Rpb24gPyB7IGZsZXhEaXJlY3Rpb246IGRpcmVjdGlvbiB9IDoge30pLFxuICAgICAgICAgICAgLi4uKHdyYXAgPyB7IGZsZXhXcmFwOiAnd3JhcCcgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihhbGlnbkl0ZW1zID8geyBhbGlnbkl0ZW1zOiBhbGlnbkl0ZW1zTWFwW2FsaWduSXRlbXNdIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oanVzdGlmeUNvbnRlbnQgPyB7IGp1c3RpZnlDb250ZW50OiBqdXN0aWZ5Q29udGVudE1hcFtqdXN0aWZ5Q29udGVudF0gfSA6IHt9KSxcbiAgICAgICAgfTtcbiAgICB9LCBbYWxpZ25JdGVtcywgZGlyZWN0aW9uLCBqdXN0aWZ5Q29udGVudCwgd3JhcF0pO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4gU3R5bGVTaGVldC5mbGF0dGVuKFtwYWRkaW5nU3R5bGUsIGZsZXhTdHlsZV0pLCBbcGFkZGluZ1N0eWxlLCBmbGV4U3R5bGVdKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztTQXNCZ0Isa0JBQWtCLENBQUMsRUFDL0IsT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLEVBQ0osVUFBVSxFQUNWLGNBQWMsR0FDQTtJQUNkLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU5QyxNQUFNLFNBQVMsR0FBYyxPQUFPLENBQUM7UUFDakMsT0FBTztZQUNILElBQUksU0FBUyxHQUFHLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNsRCxJQUFJLElBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDckMsSUFBSSxVQUFVLEdBQUcsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2hFLElBQUksY0FBYyxHQUFHLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1NBQ25GLENBQUM7S0FDTCxFQUFFLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVsRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ25HOzs7OyJ9
@@ -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,9 @@
1
+ import { TextStyle as RNTextStyle } from 'react-native';
2
+ import { TextStyleCommonProps } from '../../types';
3
+ interface UseTextSharedStyleResponse {
4
+ color: RNTextStyle['color'];
5
+ textAlign: RNTextStyle['textAlign'];
6
+ textTransform: RNTextStyle['textTransform'];
7
+ }
8
+ export declare const useTextSharedStyle: ({ accent, color, centered, textTransform, }: TextStyleCommonProps) => UseTextSharedStyleResponse;
9
+ export {};
@@ -0,0 +1,15 @@
1
+ import { useMemo } from 'react';
2
+ import { useTextColorStyle } from './useTextColorStyle.js';
3
+
4
+ const useTextSharedStyle = ({ accent, color, centered, textTransform, }) => {
5
+ const colorStyle = useTextColorStyle(color, accent);
6
+ return useMemo(() => {
7
+ const centeredStyle = {
8
+ textAlign: centered ? 'center' : 'left',
9
+ };
10
+ return { ...colorStyle, ...centeredStyle, textTransform };
11
+ }, [centered, colorStyle, textTransform]);
12
+ };
13
+
14
+ export { useTextSharedStyle };
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFNoYXJlZFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy9wcml2YXRlL3VzZVRleHRTaGFyZWRTdHlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGV4dFN0eWxlIGFzIFJOVGV4dFN0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHsgVGV4dFN0eWxlQ29tbW9uUHJvcHMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IHVzZVRleHRDb2xvclN0eWxlIH0gZnJvbSAnLi91c2VUZXh0Q29sb3JTdHlsZSc7XG5cbmludGVyZmFjZSBVc2VUZXh0U2hhcmVkU3R5bGVSZXNwb25zZSB7XG4gICAgY29sb3I6IFJOVGV4dFN0eWxlWydjb2xvciddO1xuICAgIHRleHRBbGlnbjogUk5UZXh0U3R5bGVbJ3RleHRBbGlnbiddO1xuICAgIHRleHRUcmFuc2Zvcm06IFJOVGV4dFN0eWxlWyd0ZXh0VHJhbnNmb3JtJ107XG59XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0U2hhcmVkU3R5bGUgPSAoe1xuICAgIGFjY2VudCxcbiAgICBjb2xvcixcbiAgICBjZW50ZXJlZCxcbiAgICB0ZXh0VHJhbnNmb3JtLFxufTogVGV4dFN0eWxlQ29tbW9uUHJvcHMpOiBVc2VUZXh0U2hhcmVkU3R5bGVSZXNwb25zZSA9PiB7XG4gICAgY29uc3QgY29sb3JTdHlsZSA9IHVzZVRleHRDb2xvclN0eWxlKGNvbG9yLCBhY2NlbnQpO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBjZW50ZXJlZFN0eWxlOiB7IHRleHRBbGlnbjogUk5UZXh0U3R5bGVbJ3RleHRBbGlnbiddIH0gPSB7XG4gICAgICAgICAgICB0ZXh0QWxpZ246IGNlbnRlcmVkID8gJ2NlbnRlcicgOiAnbGVmdCcsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB7IC4uLmNvbG9yU3R5bGUsIC4uLmNlbnRlcmVkU3R5bGUsIHRleHRUcmFuc2Zvcm0gfTtcbiAgICB9LCBbY2VudGVyZWQsIGNvbG9yU3R5bGUsIHRleHRUcmFuc2Zvcm1dKTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O01BYWEsa0JBQWtCLEdBQUcsQ0FBQyxFQUMvQixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixhQUFhLEdBQ007SUFDbkIsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE9BQU8sT0FBTyxDQUFDO1FBQ1gsTUFBTSxhQUFhLEdBQTRDO1lBQzNELFNBQVMsRUFBRSxRQUFRLEdBQUcsUUFBUSxHQUFHLE1BQU07U0FDMUMsQ0FBQztRQUNGLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLGFBQWEsRUFBRSxhQUFhLEVBQUUsQ0FBQztLQUM3RCxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQzlDOzs7OyJ9
@@ -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,30 @@
1
+ import { root } from '@preply/ds-core';
2
+ import { useStyleSheet } from '@preply/ds-rn-core';
3
+ import { useMemo } from 'react';
4
+ import { getFontFamily } from '../../utils/fontFamily.js';
5
+
6
+ const fontFamilyRawStyle = {
7
+ fontFamily: root.text.base.typeface,
8
+ };
9
+ const useTextVariantStyle = (variantRawStyles) => {
10
+ const styles = useStyleSheet({
11
+ fontFamily: fontFamilyRawStyle,
12
+ variant: variantRawStyles,
13
+ });
14
+ return useMemo(() => ({
15
+ fontFamily: getFontFamily(styles.fontFamily.fontFamily, String(styles.variant.fontWeight), styles.variant.fontStyle),
16
+ fontSize: styles.variant.fontSize,
17
+ letterSpacing: styles.variant.letterSpacing,
18
+ lineHeight: styles.variant.lineHeight,
19
+ }), [
20
+ styles.fontFamily.fontFamily,
21
+ styles.variant.fontSize,
22
+ styles.variant.fontStyle,
23
+ styles.variant.fontWeight,
24
+ styles.variant.letterSpacing,
25
+ styles.variant.lineHeight,
26
+ ]);
27
+ };
28
+
29
+ export { useTextVariantStyle };
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFZhcmlhbnRTdHlsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb3BzL3R5cG9ncmFwaHkvaG9va3MvcHJpdmF0ZS91c2VUZXh0VmFyaWFudFN0eWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRXZWlnaHQsIHJvb3QgfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUnO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tICdAcHJlcGx5L2RzLWNvcmUtdHlwZXMnO1xuaW1wb3J0IHsgdXNlU3R5bGVTaGVldCB9IGZyb20gJ0BwcmVwbHkvZHMtcm4tY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBUZXh0VmFyaWFudFN0eWxlIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHsgZ2V0Rm9udEZhbWlseSB9IGZyb20gJy4uLy4uL3V0aWxzL2ZvbnRGYW1pbHknO1xuXG5pbnRlcmZhY2UgVmFyaWFudFJhd1N0eWxlcyB7XG4gICAgZm9udFNpemU6IFRva2VuO1xuICAgIGZvbnRXZWlnaHQ6IFRva2VuO1xuICAgIGxpbmVIZWlnaHQ6IFRva2VuO1xuICAgIGxldHRlclNwYWNpbmc6IFRva2VuO1xuICAgIGZvbnRTdHlsZTogVG9rZW47XG59XG5cbmNvbnN0IGZvbnRGYW1pbHlSYXdTdHlsZSA9IHtcbiAgICBmb250RmFtaWx5OiByb290LnRleHQuYmFzZS50eXBlZmFjZSxcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0VmFyaWFudFN0eWxlID0gKHZhcmlhbnRSYXdTdHlsZXM6IFZhcmlhbnRSYXdTdHlsZXMpOiBUZXh0VmFyaWFudFN0eWxlID0+IHtcbiAgICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZVNoZWV0KHtcbiAgICAgICAgZm9udEZhbWlseTogZm9udEZhbWlseVJhd1N0eWxlLFxuICAgICAgICB2YXJpYW50OiB2YXJpYW50UmF3U3R5bGVzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oXG4gICAgICAgICgpID0+ICh7XG4gICAgICAgICAgICBmb250RmFtaWx5OiBnZXRGb250RmFtaWx5KFxuICAgICAgICAgICAgICAgIHN0eWxlcy5mb250RmFtaWx5LmZvbnRGYW1pbHksXG4gICAgICAgICAgICAgICAgU3RyaW5nKHN0eWxlcy52YXJpYW50LmZvbnRXZWlnaHQpIGFzIFRleHRXZWlnaHQsXG4gICAgICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQuZm9udFN0eWxlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGZvbnRTaXplOiBzdHlsZXMudmFyaWFudC5mb250U2l6ZSxcbiAgICAgICAgICAgIGxldHRlclNwYWNpbmc6IHN0eWxlcy52YXJpYW50LmxldHRlclNwYWNpbmcsXG4gICAgICAgICAgICBsaW5lSGVpZ2h0OiBzdHlsZXMudmFyaWFudC5saW5lSGVpZ2h0LFxuICAgICAgICB9KSxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGVzLmZvbnRGYW1pbHkuZm9udEZhbWlseSxcbiAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmZvbnRTaXplLFxuICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQuZm9udFN0eWxlLFxuICAgICAgICAgICAgc3R5bGVzLnZhcmlhbnQuZm9udFdlaWdodCxcbiAgICAgICAgICAgIHN0eWxlcy52YXJpYW50LmxldHRlclNwYWNpbmcsXG4gICAgICAgICAgICBzdHlsZXMudmFyaWFudC5saW5lSGVpZ2h0LFxuICAgICAgICBdLFxuICAgICk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZ0JBLE1BQU0sa0JBQWtCLEdBQUc7SUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Q0FDdEMsQ0FBQztNQUVXLG1CQUFtQixHQUFHLENBQUMsZ0JBQWtDO0lBQ2xFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUN6QixVQUFVLEVBQUUsa0JBQWtCO1FBQzlCLE9BQU8sRUFBRSxnQkFBZ0I7S0FDNUIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQ1YsT0FBTztRQUNILFVBQVUsRUFBRSxhQUFhLENBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQWUsRUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQzNCO1FBQ0QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1FBQzNDLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDeEMsQ0FBQyxFQUNGO1FBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtRQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVM7UUFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYTtRQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7S0FDNUIsQ0FDSixDQUFDO0FBQ047Ozs7In0=
@@ -0,0 +1,2 @@
1
+ import { HeadingStyleProps, TextStyle } from '..';
2
+ export declare const useHeadingStyle: ({ level, large, accent, color, centered, textTransform, }: HeadingStyleProps) => TextStyle;
@@ -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, textTransform, }) => {
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, textTransform });
13
+ return useMemo(() => {
14
+ return { ...variantStyle, ...textSharedStyle };
15
+ }, [textSharedStyle, variantStyle]);
16
+ };
17
+
18
+ export { useHeadingStyle };
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSGVhZGluZ1N0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy91c2VIZWFkaW5nU3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGVhZGluZywgcm9vdCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBIZWFkaW5nU3R5bGVQcm9wcywgVGV4dFN0eWxlIH0gZnJvbSAnLi4nO1xuXG5pbXBvcnQgeyB1c2VUZXh0U2hhcmVkU3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFNoYXJlZFN0eWxlJztcbmltcG9ydCB7IHVzZVRleHRWYXJpYW50U3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFZhcmlhbnRTdHlsZSc7XG5cbmV4cG9ydCBjb25zdCB1c2VIZWFkaW5nU3R5bGUgPSAoe1xuICAgIGxldmVsLFxuICAgIGxhcmdlID0gZmFsc2UsXG4gICAgYWNjZW50LFxuICAgIGNvbG9yLFxuICAgIGNlbnRlcmVkLFxuICAgIHRleHRUcmFuc2Zvcm0sXG59OiBIZWFkaW5nU3R5bGVQcm9wcyk6IFRleHRTdHlsZSA9PiB7XG4gICAgY29uc3QgdmFyaWFudFJhd1N0eWxlcyA9IGhlYWRpbmcubGV2ZWxbbGV2ZWxdW2xhcmdlID8gJ2xhcmdlJyA6ICdub3JtYWwnXTtcbiAgICBjb25zdCB2YXJpYW50U3R5bGUgPSB1c2VUZXh0VmFyaWFudFN0eWxlKHtcbiAgICAgICAgLi4udmFyaWFudFJhd1N0eWxlcyxcbiAgICAgICAgZm9udFN0eWxlOiByb290LnRleHQuc3R5bGUubm9ybWFsLFxuICAgIH0pO1xuICAgIGNvbnN0IHRleHRTaGFyZWRTdHlsZSA9IHVzZVRleHRTaGFyZWRTdHlsZSh7IGFjY2VudCwgY29sb3IsIGNlbnRlcmVkLCB0ZXh0VHJhbnNmb3JtIH0pO1xuXG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4geyAuLi52YXJpYW50U3R5bGUsIC4uLnRleHRTaGFyZWRTdHlsZSB9O1xuICAgIH0sIFt0ZXh0U2hhcmVkU3R5bGUsIHZhcmlhbnRTdHlsZV0pO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztNQVFhLGVBQWUsR0FBRyxDQUFDLEVBQzVCLEtBQUssRUFDTCxLQUFLLEdBQUcsS0FBSyxFQUNiLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGFBQWEsR0FDRztJQUNoQixNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMxRSxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztRQUNyQyxHQUFHLGdCQUFnQjtRQUNuQixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtLQUNwQyxDQUFDLENBQUM7SUFDSCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFdkYsT0FBTyxPQUFPLENBQUM7UUFDWCxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQztLQUNsRCxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDeEM7Ozs7In0=
@@ -1,10 +1,2 @@
1
- import { ColorName, TextAccent, TextVariant } from '@preply/ds-core';
2
- import { TextStyle } from 'react-native';
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, textTransform, }?: 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 { StyleSheet } from 'react-native';
4
- import { useTextColorStyle } from './useTextColorStyle.js';
5
- import { useTextVariantStyle } from './useTextVariantStyle.js';
4
+ import { useTextSharedStyle } from './private/useTextSharedStyle.js';
5
+ import { useTextVariantStyle } from './private/useTextVariantStyle.js';
6
6
 
7
- const useTextStyle = ({ variant = TEXT_VARIANT_RN_DEFAULT, accent, color, centered, } = {}) => {
8
- const variantStyle = useTextVariantStyle(variant);
9
- const colorStyle = useTextColorStyle(color, accent);
7
+ const useTextStyle = ({ variant = TEXT_VARIANT_RN_DEFAULT, accent, color, centered, textTransform, } = {}) => {
8
+ const variantRawStyles = text.variant[variant];
9
+ const variantStyle = useTextVariantStyle(variantRawStyles);
10
+ const textSharedStyle = useTextSharedStyle({ accent, color, centered, textTransform });
10
11
  return useMemo(() => {
11
- const centeredStyle = { textAlign: centered ? 'center' : 'left' };
12
- return StyleSheet.flatten([variantStyle, colorStyle, centeredStyle]);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy91c2VUZXh0U3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3JOYW1lLCBUZXh0QWNjZW50LCBUZXh0VmFyaWFudCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCB9IGZyb20gJ0BwcmVwbHkvZHMtcm4tY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU3R5bGVTaGVldCwgVGV4dFN0eWxlIH0gZnJvbSAncmVhY3QtbmF0aXZlJztcblxuaW1wb3J0IHsgdXNlVGV4dENvbG9yU3R5bGUgfSBmcm9tICcuL3VzZVRleHRDb2xvclN0eWxlJztcbmltcG9ydCB7IHVzZVRleHRWYXJpYW50U3R5bGUgfSBmcm9tICcuL3VzZVRleHRWYXJpYW50U3R5bGUnO1xuXG5pbnRlcmZhY2UgVXNlVGV4dFN0eWxlUGFyYW1zIHtcbiAgICB2YXJpYW50PzogVGV4dFZhcmlhbnQ7XG4gICAgYWNjZW50PzogVGV4dEFjY2VudDtcbiAgICBjb2xvcj86IENvbG9yTmFtZTtcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0U3R5bGUgPSAoe1xuICAgIHZhcmlhbnQgPSBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCxcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgY2VudGVyZWQsXG59OiBVc2VUZXh0U3R5bGVQYXJhbXMgPSB7fSk6IFRleHRTdHlsZSA9PiB7XG4gICAgY29uc3QgdmFyaWFudFN0eWxlID0gdXNlVGV4dFZhcmlhbnRTdHlsZSh2YXJpYW50KTtcbiAgICBjb25zdCBjb2xvclN0eWxlID0gdXNlVGV4dENvbG9yU3R5bGUoY29sb3IsIGFjY2VudCk7XG5cbiAgICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNlbnRlcmVkU3R5bGU6IFRleHRTdHlsZSA9IHsgdGV4dEFsaWduOiBjZW50ZXJlZCA/ICdjZW50ZXInIDogJ2xlZnQnIH07XG4gICAgICAgIHJldHVybiBTdHlsZVNoZWV0LmZsYXR0ZW4oW3ZhcmlhbnRTdHlsZSwgY29sb3JTdHlsZSwgY2VudGVyZWRTdHlsZV0pO1xuICAgIH0sIFtjZW50ZXJlZCwgY29sb3JTdHlsZSwgdmFyaWFudFN0eWxlXSk7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztNQWVhLFlBQVksR0FBRyxDQUFDLEVBQ3pCLE9BQU8sR0FBRyx1QkFBdUIsRUFDakMsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLE1BQ1ksRUFBRTtJQUN0QixNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsRCxNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTyxPQUFPLENBQUM7UUFDWCxNQUFNLGFBQWEsR0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQzdFLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztLQUN4RSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQzdDOzs7OyJ9
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGV4dFN0eWxlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvcHMvdHlwb2dyYXBoeS9ob29rcy91c2VUZXh0U3R5bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGV4dCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgeyBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCB9IGZyb20gJ0BwcmVwbHkvZHMtcm4tY29yZSc7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBUZXh0U3R5bGUsIFRleHRTdHlsZVByb3BzIH0gZnJvbSAnLi4nO1xuXG5pbXBvcnQgeyB1c2VUZXh0U2hhcmVkU3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFNoYXJlZFN0eWxlJztcbmltcG9ydCB7IHVzZVRleHRWYXJpYW50U3R5bGUgfSBmcm9tICcuL3ByaXZhdGUvdXNlVGV4dFZhcmlhbnRTdHlsZSc7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXh0U3R5bGUgPSAoe1xuICAgIHZhcmlhbnQgPSBURVhUX1ZBUklBTlRfUk5fREVGQVVMVCxcbiAgICBhY2NlbnQsXG4gICAgY29sb3IsXG4gICAgY2VudGVyZWQsXG4gICAgdGV4dFRyYW5zZm9ybSxcbn06IFRleHRTdHlsZVByb3BzID0ge30pOiBUZXh0U3R5bGUgPT4ge1xuICAgIGNvbnN0IHZhcmlhbnRSYXdTdHlsZXMgPSB0ZXh0LnZhcmlhbnRbdmFyaWFudF07XG4gICAgY29uc3QgdmFyaWFudFN0eWxlID0gdXNlVGV4dFZhcmlhbnRTdHlsZSh2YXJpYW50UmF3U3R5bGVzKTtcbiAgICBjb25zdCB0ZXh0U2hhcmVkU3R5bGUgPSB1c2VUZXh0U2hhcmVkU3R5bGUoeyBhY2NlbnQsIGNvbG9yLCBjZW50ZXJlZCwgdGV4dFRyYW5zZm9ybSB9KTtcblxuICAgIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgLi4udmFyaWFudFN0eWxlLCAuLi50ZXh0U2hhcmVkU3R5bGUgfTtcbiAgICB9LCBbdGV4dFNoYXJlZFN0eWxlLCB2YXJpYW50U3R5bGVdKTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O01BU2EsWUFBWSxHQUFHLENBQUMsRUFDekIsT0FBTyxHQUFHLHVCQUF1QixFQUNqQyxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixhQUFhLE1BQ0csRUFBRTtJQUNsQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsTUFBTSxZQUFZLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFFdkYsT0FBTyxPQUFPLENBQUM7UUFDWCxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQztLQUNsRCxFQUFFLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDeEM7Ozs7In0=
@@ -1 +1,3 @@
1
+ export { useHeadingStyle } from './hooks/useHeadingStyle';
1
2
  export { useTextStyle } from './hooks/useTextStyle';
3
+ export type { HeadingStyleProps, TextCommonProps, TextStyleProps, TextVariantStyle, TextStyle, } from './types';
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
3
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOyJ9
@@ -0,0 +1,28 @@
1
+ import { ColorName, HeadingLevel, TextAccent, TextVariant } from '@preply/ds-core';
2
+ import { TextStyle as RNTextStyle, TextProps } from 'react-native';
3
+ export interface TextStyleCommonProps {
4
+ accent?: TextAccent;
5
+ color?: ColorName;
6
+ centered?: boolean;
7
+ textTransform?: RNTextStyle['textTransform'];
8
+ }
9
+ export interface TextStyleProps extends TextStyleCommonProps {
10
+ variant?: TextVariant;
11
+ }
12
+ export interface HeadingStyleProps extends TextStyleCommonProps {
13
+ level: HeadingLevel;
14
+ large?: boolean;
15
+ }
16
+ export interface TextVariantStyle {
17
+ fontFamily: NonNullable<RNTextStyle['fontFamily']>;
18
+ fontSize: RNTextStyle['fontSize'];
19
+ letterSpacing: RNTextStyle['letterSpacing'];
20
+ lineHeight: RNTextStyle['lineHeight'];
21
+ }
22
+ export interface TextStyle extends TextVariantStyle {
23
+ color: RNTextStyle['color'];
24
+ textAlign: RNTextStyle['textAlign'];
25
+ }
26
+ export declare type TextCommonProps = Pick<TextProps, 'accessibilityLabel' | 'adjustsFontSizeToFit' | 'lineBreakMode' | 'numberOfLines' | 'testID'> & {
27
+ stretch?: boolean;
28
+ };
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,3 @@
1
+ import { TextWeight } from '@preply/ds-core';
2
+ export declare const getFontFamily: (fontFamily: string | undefined, fontWeight: TextWeight, fontStyle: "normal" | "italic" | undefined) => string;
3
+ export declare const getNewFontFamily: (fontFamily: string, fontWeight?: "normal" | "400" | "500" | "700" | "medium" | "bold" | undefined, italic?: boolean | undefined) => string;
@@ -0,0 +1,59 @@
1
+ const FONT_REGULAR = 'Regular';
2
+ const FONT_MEDIUM = 'Medium';
3
+ const FONT_BOLD = 'Bold';
4
+ const FONT_ITALIC = 'Italic';
5
+ const isItalic = (fontStyle) => {
6
+ return fontStyle === 'italic' || fontStyle === 'oblique 10deg';
7
+ };
8
+ const getFontWeightString = (fontWeight, fontStyle) => {
9
+ switch (fontWeight) {
10
+ case 'medium':
11
+ case '500': {
12
+ return FONT_MEDIUM;
13
+ }
14
+ case 'bold':
15
+ case '700': {
16
+ return FONT_BOLD;
17
+ }
18
+ case 'normal':
19
+ case '400':
20
+ default: {
21
+ return isItalic(fontStyle) ? '' : FONT_REGULAR;
22
+ }
23
+ }
24
+ };
25
+ const getFontWeightFromString = (fontFamily) => {
26
+ if (fontFamily.includes(FONT_MEDIUM)) {
27
+ return '500';
28
+ }
29
+ if (fontFamily.includes(FONT_BOLD)) {
30
+ return '700';
31
+ }
32
+ return '400';
33
+ };
34
+ const getFontStyleString = (fontStyle) => {
35
+ return isItalic(fontStyle) ? FONT_ITALIC : '';
36
+ };
37
+ const getFontStyleFromString = (fontFamily) => {
38
+ if (fontFamily.includes(FONT_ITALIC)) {
39
+ return 'italic';
40
+ }
41
+ return 'normal';
42
+ };
43
+ const getFontFamily = (fontFamily, fontWeight, fontStyle) => {
44
+ const fontWeightString = getFontWeightString(fontWeight, fontStyle);
45
+ const fontStyleString = getFontStyleString(fontStyle);
46
+ return `${fontFamily}-${fontWeightString}${fontStyleString}`;
47
+ };
48
+ const getNewFontFamily = (fontFamily, fontWeight, italic) => {
49
+ const [typeface, weightAndStyle] = fontFamily.split('-');
50
+ const prevFontWeight = getFontWeightFromString(weightAndStyle);
51
+ const prevFontStyle = getFontStyleFromString(weightAndStyle);
52
+ const newFontWeight = fontWeight !== null && fontWeight !== void 0 ? fontWeight : prevFontWeight;
53
+ const computedFontStyle = italic ? 'italic' : 'normal';
54
+ const newFontStyle = italic === undefined ? prevFontStyle : computedFontStyle;
55
+ return getFontFamily(typeface, newFontWeight, newFontStyle);
56
+ };
57
+
58
+ export { getFontFamily, getNewFontFamily };
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udEZhbWlseS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3BzL3R5cG9ncmFwaHkvdXRpbHMvZm9udEZhbWlseS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0V2VpZ2h0IH0gZnJvbSAnQHByZXBseS9kcy1jb3JlJztcbmltcG9ydCB7IFRleHRTdHlsZSBhcyBSTlRleHRTdHlsZSB9IGZyb20gJ3JlYWN0LW5hdGl2ZSc7XG5cbmltcG9ydCB7IFRleHRTdHlsZSB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRk9OVF9SRUdVTEFSID0gJ1JlZ3VsYXInO1xuY29uc3QgRk9OVF9NRURJVU0gPSAnTWVkaXVtJztcbmNvbnN0IEZPTlRfQk9MRCA9ICdCb2xkJztcbmNvbnN0IEZPTlRfSVRBTElDID0gJ0l0YWxpYyc7XG5cbmNvbnN0IGlzSXRhbGljID0gKGZvbnRTdHlsZTogUk5UZXh0U3R5bGVbJ2ZvbnRTdHlsZSddIHwgJ29ibGlxdWUgMTBkZWcnKSA9PiB7XG4gICAgcmV0dXJuIGZvbnRTdHlsZSA9PT0gJ2l0YWxpYycgfHwgZm9udFN0eWxlID09PSAnb2JsaXF1ZSAxMGRlZyc7XG59O1xuXG5jb25zdCBnZXRGb250V2VpZ2h0U3RyaW5nID0gKFxuICAgIGZvbnRXZWlnaHQ6IFRleHRXZWlnaHQsXG4gICAgZm9udFN0eWxlOiBSTlRleHRTdHlsZVsnZm9udFN0eWxlJ10sXG4pOiBzdHJpbmcgPT4ge1xuICAgIHN3aXRjaCAoZm9udFdlaWdodCkge1xuICAgICAgICBjYXNlICdtZWRpdW0nOlxuICAgICAgICBjYXNlICc1MDAnOiB7XG4gICAgICAgICAgICByZXR1cm4gRk9OVF9NRURJVU07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYm9sZCc6XG4gICAgICAgIGNhc2UgJzcwMCc6IHtcbiAgICAgICAgICAgIHJldHVybiBGT05UX0JPTEQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnbm9ybWFsJzpcbiAgICAgICAgY2FzZSAnNDAwJzpcbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgcmV0dXJuIGlzSXRhbGljKGZvbnRTdHlsZSkgPyAnJyA6IEZPTlRfUkVHVUxBUjtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmNvbnN0IGdldEZvbnRXZWlnaHRGcm9tU3RyaW5nID0gKGZvbnRGYW1pbHk6IHN0cmluZyk6IFRleHRXZWlnaHQgPT4ge1xuICAgIGlmIChmb250RmFtaWx5LmluY2x1ZGVzKEZPTlRfTUVESVVNKSkge1xuICAgICAgICByZXR1cm4gJzUwMCc7XG4gICAgfVxuXG4gICAgaWYgKGZvbnRGYW1pbHkuaW5jbHVkZXMoRk9OVF9CT0xEKSkge1xuICAgICAgICByZXR1cm4gJzcwMCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICc0MDAnO1xufTtcblxuY29uc3QgZ2V0Rm9udFN0eWxlU3RyaW5nID0gKGZvbnRTdHlsZTogUk5UZXh0U3R5bGVbJ2ZvbnRTdHlsZSddKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gaXNJdGFsaWMoZm9udFN0eWxlKSA/IEZPTlRfSVRBTElDIDogJyc7XG59O1xuXG5jb25zdCBnZXRGb250U3R5bGVGcm9tU3RyaW5nID0gKGZvbnRGYW1pbHk6IHN0cmluZyk6IFJOVGV4dFN0eWxlWydmb250U3R5bGUnXSA9PiB7XG4gICAgaWYgKGZvbnRGYW1pbHkuaW5jbHVkZXMoRk9OVF9JVEFMSUMpKSB7XG4gICAgICAgIHJldHVybiAnaXRhbGljJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ25vcm1hbCc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rm9udEZhbWlseSA9IChcbiAgICBmb250RmFtaWx5OiBSTlRleHRTdHlsZVsnZm9udEZhbWlseSddLFxuICAgIGZvbnRXZWlnaHQ6IFRleHRXZWlnaHQsXG4gICAgZm9udFN0eWxlOiBSTlRleHRTdHlsZVsnZm9udFN0eWxlJ10sXG4pOiBUZXh0U3R5bGVbJ2ZvbnRGYW1pbHknXSA9PiB7XG4gICAgY29uc3QgZm9udFdlaWdodFN0cmluZyA9IGdldEZvbnRXZWlnaHRTdHJpbmcoZm9udFdlaWdodCwgZm9udFN0eWxlKTtcbiAgICBjb25zdCBmb250U3R5bGVTdHJpbmcgPSBnZXRGb250U3R5bGVTdHJpbmcoZm9udFN0eWxlKTtcblxuICAgIHJldHVybiBgJHtmb250RmFtaWx5fS0ke2ZvbnRXZWlnaHRTdHJpbmd9JHtmb250U3R5bGVTdHJpbmd9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdGb250RmFtaWx5ID0gKFxuICAgIGZvbnRGYW1pbHk6IFRleHRTdHlsZVsnZm9udEZhbWlseSddLFxuICAgIGZvbnRXZWlnaHQ/OiBUZXh0V2VpZ2h0LFxuICAgIGl0YWxpYz86IGJvb2xlYW4sXG4pOiBUZXh0U3R5bGVbJ2ZvbnRGYW1pbHknXSA9PiB7XG4gICAgY29uc3QgW3R5cGVmYWNlLCB3ZWlnaHRBbmRTdHlsZV0gPSBmb250RmFtaWx5LnNwbGl0KCctJyk7XG5cbiAgICBjb25zdCBwcmV2Rm9udFdlaWdodCA9IGdldEZvbnRXZWlnaHRGcm9tU3RyaW5nKHdlaWdodEFuZFN0eWxlKTtcbiAgICBjb25zdCBwcmV2Rm9udFN0eWxlID0gZ2V0Rm9udFN0eWxlRnJvbVN0cmluZyh3ZWlnaHRBbmRTdHlsZSk7XG5cbiAgICBjb25zdCBuZXdGb250V2VpZ2h0ID0gZm9udFdlaWdodCA/PyBwcmV2Rm9udFdlaWdodDtcblxuICAgIGNvbnN0IGNvbXB1dGVkRm9udFN0eWxlID0gaXRhbGljID8gJ2l0YWxpYycgOiAnbm9ybWFsJztcbiAgICBjb25zdCBuZXdGb250U3R5bGUgPSBpdGFsaWMgPT09IHVuZGVmaW5lZCA/IHByZXZGb250U3R5bGUgOiBjb21wdXRlZEZvbnRTdHlsZTtcblxuICAgIHJldHVybiBnZXRGb250RmFtaWx5KHR5cGVmYWNlLCBuZXdGb250V2VpZ2h0LCBuZXdGb250U3R5bGUpO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDL0IsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQzdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQztBQUN6QixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUM7QUFFN0IsTUFBTSxRQUFRLEdBQUcsQ0FBQyxTQUFxRDtJQUNuRSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksU0FBUyxLQUFLLGVBQWUsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQ3hCLFVBQXNCLEVBQ3RCLFNBQW1DO0lBRW5DLFFBQVEsVUFBVTtRQUNkLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxLQUFLLEVBQUU7WUFDUixPQUFPLFdBQVcsQ0FBQztTQUN0QjtRQUNELEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxLQUFLLEVBQUU7WUFDUixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxLQUFLLENBQUM7UUFDWCxTQUFTO1lBQ0wsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLFlBQVksQ0FBQztTQUNsRDtLQUNKO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFVBQWtCO0lBQy9DLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUNsQyxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUNoQyxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxTQUFtQztJQUMzRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxVQUFrQjtJQUM5QyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7UUFDbEMsT0FBTyxRQUFRLENBQUM7S0FDbkI7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7TUFFVyxhQUFhLEdBQUcsQ0FDekIsVUFBcUMsRUFDckMsVUFBc0IsRUFDdEIsU0FBbUM7SUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDcEUsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdEQsT0FBTyxHQUFHLFVBQVUsSUFBSSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsQ0FBQztBQUNqRSxFQUFFO01BRVcsZ0JBQWdCLEdBQUcsQ0FDNUIsVUFBbUMsRUFDbkMsVUFBdUIsRUFDdkIsTUFBZ0I7SUFFaEIsTUFBTSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXpELE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sYUFBYSxHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTdELE1BQU0sYUFBYSxHQUFHLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLGNBQWMsQ0FBQztJQUVuRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sR0FBRyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLE1BQU0sS0FBSyxTQUFTLEdBQUcsYUFBYSxHQUFHLGlCQUFpQixDQUFDO0lBRTlFLE9BQU8sYUFBYSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDaEU7Ozs7In0=
@@ -1,2 +1,4 @@
1
1
  import React from 'react';
2
- export declare const TextVariantProvider: React.Provider<"xs" | "s" | "s-italic" | "s-medium" | "s-medium-italic" | "s-bold" | "s-bold-italic" | "m" | "m-italic" | "m-medium" | "m-medium-italic" | "m-bold" | "m-bold-italic" | "l" | "l-italic" | "l-medium" | "l-medium-italic" | "xl" | "xl-italic" | "xl-medium" | "xl-medium-italic" | null>;
2
+ import { TextStyle } from '../props/typography';
3
+ export declare const TextVariantContext: React.Context<TextStyle | null>;
4
+ export declare const TextVariantProvider: React.Provider<TextStyle | null>;
@@ -3,5 +3,5 @@ import React from 'react';
3
3
  const TextVariantContext = React.createContext(null);
4
4
  const TextVariantProvider = TextVariantContext.Provider;
5
5
 
6
- export { TextVariantProvider };
7
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFZhcmlhbnRQcm92aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9UZXh0VmFyaWFudFByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0VmFyaWFudCB9IGZyb20gJ0BwcmVwbHkvZHMtY29yZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBUZXh0VmFyaWFudENvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0PFRleHRWYXJpYW50IHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBUZXh0VmFyaWFudFByb3ZpZGVyID0gVGV4dFZhcmlhbnRDb250ZXh0LlByb3ZpZGVyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFxQixJQUFJLENBQUMsQ0FBQztNQUU1RCxtQkFBbUIsR0FBRyxrQkFBa0IsQ0FBQzs7OzsifQ==
6
+ export { TextVariantContext, TextVariantProvider };
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dFZhcmlhbnRQcm92aWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9UZXh0VmFyaWFudFByb3ZpZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBUZXh0U3R5bGUgfSBmcm9tICcuLi9wcm9wcy90eXBvZ3JhcGh5JztcblxuZXhwb3J0IGNvbnN0IFRleHRWYXJpYW50Q29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQ8VGV4dFN0eWxlIHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBUZXh0VmFyaWFudFByb3ZpZGVyID0gVGV4dFZhcmlhbnRDb250ZXh0LlByb3ZpZGVyO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O01BSWEsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBbUIsSUFBSSxFQUFFO01BRWpFLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDOzs7OyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@preply/ds-rn-lib",
3
- "version": "0.44.0",
3
+ "version": "0.46.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.44.0",
22
- "@preply/ds-rn-core": "0.44.0",
23
- "@preply/ds-rn-root": "0.44.0"
21
+ "@preply/ds-core": "0.46.0",
22
+ "@preply/ds-rn-core": "0.46.0",
23
+ "@preply/ds-rn-root": "0.46.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@preply/ds-core": "0.44.0",
26
+ "@preply/ds-core": "0.46.0",
27
27
  "@preply/ds-core-types": "0.43.2",
28
- "@preply/ds-rn-core": "0.44.0",
29
- "@preply/ds-rn-root": "0.44.0",
28
+ "@preply/ds-rn-core": "0.46.0",
29
+ "@preply/ds-rn-root": "0.46.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": "85a7ecf5f64730399b1645e7dbf3459536534534"
41
+ "gitHead": "ca19e3eebf4e558b48c206b488c61d06b5cb6605"
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=