@quintype/native-components 2.21.2 → 2.21.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quintype/native-components",
3
- "version": "2.21.2",
3
+ "version": "2.21.4",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -20,7 +20,7 @@ export const PDFReader = ({ card, share }) => {
20
20
  const [modalVisible, setModalVisible] = useState(false);
21
21
 
22
22
  const { theme } = useContext(AppTheme);
23
- const { COLORS, FONT_SIZE, DARK_MODE } = theme;
23
+ const { COLORS, FONT_SIZE, DARK_MODE, lineHeightMultiplier } = theme;
24
24
 
25
25
  const showModal = () => {
26
26
  setModalVisible(true);
@@ -30,7 +30,7 @@ export const PDFReader = ({ card, share }) => {
30
30
  setModalVisible(false);
31
31
  };
32
32
 
33
- const styles = pdfStyles(COLORS, FONT_SIZE, DARK_MODE);
33
+ const styles = pdfStyles(COLORS, FONT_SIZE, DARK_MODE, lineHeightMultiplier);
34
34
 
35
35
  const headerStyles = StyleSheet.flatten([
36
36
  styles.header,
@@ -1,6 +1,6 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
 
3
- export const pdfStyles = (COLORS, FONT_SIZE, DARK_MODE) => StyleSheet.create({
3
+ export const pdfStyles = (COLORS, FONT_SIZE, DARK_MODE, lineHeightMultiplier) => StyleSheet.create({
4
4
  container: {
5
5
  flex: 1,
6
6
  },
@@ -15,7 +15,7 @@ export const pdfStyles = (COLORS, FONT_SIZE, DARK_MODE) => StyleSheet.create({
15
15
  },
16
16
  pdfText: {
17
17
  fontSize: FONT_SIZE.h2,
18
- lineHeight: FONT_SIZE.h2 * 1.5,
18
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
19
19
  marginLeft: 5,
20
20
  color: DARK_MODE ? COLORS.BRAND_BLACK : COLORS.BRAND_1,
21
21
  fontStyle: 'italic',
@@ -29,12 +29,13 @@ const PrimaryStoryCardNewBase = (props) => {
29
29
  reverseTimeAdverbPosition,
30
30
  enableReadTimeOnStoryCards,
31
31
  DATE_TIME_FORMAT,
32
- premiumIcon
32
+ premiumIcon,
33
+ lineHeightMultiplier,
33
34
  } = theme || {};
34
35
 
35
36
  const translate = get(theme, ['translate'], (word) => word);
36
37
 
37
- const styles = storyStyles(COLORS, FONT_SIZE, DARK_MODE);
38
+ const styles = storyStyles(COLORS, FONT_SIZE, lineHeightMultiplier);
38
39
  const containerStyle = StyleSheet.flatten([
39
40
  styles.container,
40
41
  { paddingHorizontal: props.horizontalPadding },
@@ -1,4 +1,4 @@
1
- export const storyStyles = (COLORS = {}, FONT_SIZE = {}) => ({
1
+ export const storyStyles = (COLORS = {}, FONT_SIZE = {}, lineHeightMultiplier) => ({
2
2
  container: {
3
3
  backgroundColor: COLORS.BRAND_WHITE,
4
4
  padding: 8,
@@ -15,13 +15,13 @@ export const storyStyles = (COLORS = {}, FONT_SIZE = {}) => ({
15
15
  timestamp: {
16
16
  color: COLORS?.BRAND_BLACK,
17
17
  fontSize: FONT_SIZE.h5,
18
- lineHeight: FONT_SIZE.h5 * 1.5,
18
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
19
19
  opacity: 0.6,
20
20
  marginTop: 4,
21
21
  },
22
22
  headline: {
23
23
  fontSize: FONT_SIZE.title,
24
- lineHeight: FONT_SIZE.title * 1.6,
24
+ lineHeight: FONT_SIZE.title * lineHeightMultiplier,
25
25
  color: COLORS.BRAND_BLACK,
26
26
  marginTop: 4,
27
27
  },
@@ -1,6 +1,6 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
 
3
- export const storyStyles = ({ COLORS, FONT_SIZE }) => StyleSheet.create({
3
+ export const storyStyles = ({ COLORS, FONT_SIZE, lineHeightMultiplier }) => StyleSheet.create({
4
4
  container: {
5
5
  flexDirection: 'row',
6
6
  backgroundColor: COLORS.BRAND_WHITE,
@@ -16,7 +16,7 @@ export const storyStyles = ({ COLORS, FONT_SIZE }) => StyleSheet.create({
16
16
  timestamp: {
17
17
  color: COLORS.BRAND_BLACK,
18
18
  fontSize: FONT_SIZE.h5,
19
- lineHeight: FONT_SIZE.h5 * 1.5,
19
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
20
20
  opacity: 0.6,
21
21
  marginTop: 4,
22
22
  },
@@ -24,7 +24,7 @@ export const storyStyles = ({ COLORS, FONT_SIZE }) => StyleSheet.create({
24
24
  color: COLORS.BRAND_BLACK,
25
25
  flexWrap: 'wrap',
26
26
  fontSize: FONT_SIZE.h3,
27
- lineHeight: FONT_SIZE.h3 * 1.6,
27
+ lineHeight: FONT_SIZE.h3 * lineHeightMultiplier,
28
28
  },
29
29
  icon: {
30
30
  marginLeft: 8,
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { getImageHeight } from '../../utils';
3
3
 
4
- export const storyImageStyles = ({ COLORS, FONT_SIZE }, metadata = {}) => {
4
+ export const storyImageStyles = ({ COLORS, FONT_SIZE, lineHeightMultiplier }, metadata = {}) => {
5
5
  const { width, height } = metadata || {};
6
6
  const imageHeight = getImageHeight(width, height);
7
7
 
@@ -18,13 +18,13 @@ export const storyImageStyles = ({ COLORS, FONT_SIZE }, metadata = {}) => {
18
18
  },
19
19
  cardTitleText: {
20
20
  fontSize: FONT_SIZE.h5,
21
- lineHeight: FONT_SIZE.h5 * 1.5,
21
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
22
22
  color: COLORS.BRAND_BLACK,
23
23
  marginBottom: 5,
24
24
  },
25
25
  attributionText: {
26
26
  fontSize: FONT_SIZE.h5,
27
- lineHeight: FONT_SIZE.h5 * 1.5,
27
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
28
28
  color: COLORS.BRAND_BLACK,
29
29
  marginBottom: 5,
30
30
  },
@@ -12,16 +12,20 @@ import { storyTextStyles } from './styles';
12
12
  export const StoryText = (props) => {
13
13
  const { theme } = useContext(AppTheme);
14
14
  const {
15
- COLORS, FONT_FAMILY, FONT_SIZE, CAN_COPY_TEXT,
15
+ COLORS,
16
+ FONT_FAMILY,
17
+ FONT_SIZE,
18
+ CAN_COPY_TEXT,
19
+ lineHeightMultiplier,
16
20
  } = theme;
17
- const styles = storyTextStyles(COLORS, FONT_SIZE);
21
+ const styles = storyTextStyles(COLORS, FONT_SIZE, lineHeightMultiplier);
18
22
 
19
23
  const style = StyleSheet.flatten([
20
24
  styles.text,
21
25
  {
22
26
  fontFamily: FONT_FAMILY.secondary,
23
- fontWeight: props.question ? '600' : 'normal',
24
- writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',
27
+ fontWeight: props.question ? "600" : "normal",
28
+ writingDirection: I18nManager.isRTL ? "rtl" : "ltr",
25
29
  },
26
30
  ]);
27
31
 
@@ -1,13 +1,13 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const storyTextStyles = (COLORS, FONT_SIZE) => StyleSheet.create({
4
+ export const storyTextStyles = (COLORS, FONT_SIZE, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  padding: 10,
7
7
  },
8
8
  text: {
9
9
  fontSize: FONT_SIZE.h2,
10
- lineHeight: FONT_SIZE.h2 * 1.5,
10
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
11
11
  color: COLORS.BRAND_BLACK,
12
12
  textAlign: isRTLEnabled() ? 'left' : 'auto',
13
13
  },
@@ -1,18 +1,18 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
 
3
- export const storyTitleStyles = ({ COLORS, FONT_SIZE }) => StyleSheet.create({
3
+ export const storyTitleStyles = ({ COLORS, FONT_SIZE, lineHeightMultiplier }) => StyleSheet.create({
4
4
  container: {
5
5
  padding: 10,
6
6
  paddingBottom: 0,
7
7
  },
8
8
  titleStyle: {
9
9
  fontSize: FONT_SIZE.title,
10
- lineHeight: FONT_SIZE.title * 1.5,
10
+ lineHeight: FONT_SIZE.title * lineHeightMultiplier,
11
11
  color: COLORS.BRAND_BLACK,
12
12
  },
13
13
  subTitleStyle: {
14
14
  fontSize: FONT_SIZE.h3,
15
- lineHeight: FONT_SIZE.h3 * 1.5,
15
+ lineHeight: FONT_SIZE.h3 * lineHeightMultiplier,
16
16
  color: COLORS.BRAND_6,
17
17
  marginTop: 15,
18
18
  paddingVertical: 5,
@@ -11,9 +11,19 @@ import { alterQuoteData } from '../../utils';
11
11
  export const TextBigFact = ({ text, attribution, id }) => {
12
12
  const { theme } = useContext(AppTheme);
13
13
  const {
14
- FONT_FAMILY, COLORS, FONT_SIZE, CAN_COPY_TEXT, DARK_MODE
14
+ FONT_FAMILY,
15
+ COLORS,
16
+ FONT_SIZE,
17
+ CAN_COPY_TEXT,
18
+ DARK_MODE,
19
+ lineHeightMultiplier,
15
20
  } = theme;
16
- const styles = bigTextStyles(COLORS, FONT_SIZE, DARK_MODE);
21
+ const styles = bigTextStyles(
22
+ COLORS,
23
+ FONT_SIZE,
24
+ DARK_MODE,
25
+ lineHeightMultiplier
26
+ );
17
27
  const style = StyleSheet.flatten([
18
28
  styles.bigFactText,
19
29
  {
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const bigTextStyles = (COLORS, FONT_SIZE, DARK_MODE) => StyleSheet.create({
4
+ export const bigTextStyles = (COLORS, FONT_SIZE, DARK_MODE, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  margin: 10,
7
7
  padding: 12,
@@ -10,14 +10,14 @@ export const bigTextStyles = (COLORS, FONT_SIZE, DARK_MODE) => StyleSheet.create
10
10
  bigFactText: {
11
11
  fontSize: FONT_SIZE.h1,
12
12
  color: DARK_MODE ? COLORS.BRAND_BLACK : COLORS.BRAND_WHITE,
13
- lineHeight: FONT_SIZE.h1 * 1.5,
13
+ lineHeight: FONT_SIZE.h1 * lineHeightMultiplier,
14
14
  marginVertical: 10,
15
15
  textAlign: isRTLEnabled() ? 'left' : 'auto',
16
16
  },
17
17
  authorText: {
18
18
  fontSize: FONT_SIZE.h5,
19
19
  color: DARK_MODE ? COLORS.BRAND_BLACK : COLORS.BRAND_WHITE,
20
- lineHeight: FONT_SIZE.h5 * 1.5,
20
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
21
21
  textAlign: isRTLEnabled() ? 'left' : 'auto',
22
22
  },
23
23
  });
@@ -12,9 +12,9 @@ import { alterQuoteData } from '../../utils';
12
12
  export const TextBlockQuote = ({ text, attribution }) => {
13
13
  const { theme } = useContext(AppTheme);
14
14
  const {
15
- FONT_FAMILY, FONT_SIZE, COLORS, CAN_COPY_TEXT, DARK_MODE,
15
+ FONT_FAMILY, FONT_SIZE, COLORS, CAN_COPY_TEXT, DARK_MODE, lineHeightMultiplier
16
16
  } = theme;
17
- const styles = blockQuoteTextStyles(FONT_SIZE, COLORS, DARK_MODE);
17
+ const styles = blockQuoteTextStyles(FONT_SIZE, COLORS, DARK_MODE, lineHeightMultiplier);
18
18
  const style = StyleSheet.flatten([
19
19
  styles.blockQuoteText,
20
20
  {
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const blockQuoteTextStyles = (FONT_SIZE, COLORS, DARK_MODE) => StyleSheet.create({
4
+ export const blockQuoteTextStyles = (FONT_SIZE, COLORS, DARK_MODE, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  margin: 10,
7
7
  padding: 12,
@@ -10,14 +10,14 @@ export const blockQuoteTextStyles = (FONT_SIZE, COLORS, DARK_MODE) => StyleSheet
10
10
  blockQuoteText: {
11
11
  fontSize: FONT_SIZE.h1,
12
12
  color: DARK_MODE ? COLORS.BRAND_BLACK : COLORS.BRAND_WHITE,
13
- lineHeight: FONT_SIZE.h1 * 1.5,
13
+ lineHeight: FONT_SIZE.h1 * lineHeightMultiplier,
14
14
  marginVertical: 10,
15
15
  textAlign: isRTLEnabled() ? 'left' : 'auto',
16
16
  },
17
17
  authorText: {
18
18
  fontSize: FONT_SIZE.h5,
19
19
  color: DARK_MODE ? COLORS.BRAND_BLACK : COLORS.BRAND_WHITE,
20
- lineHeight: FONT_SIZE.h5 * 1.5,
20
+ lineHeight: FONT_SIZE.h5 * lineHeightMultiplier,
21
21
  textAlign: isRTLEnabled() ? 'left' : 'auto',
22
22
  },
23
23
  topBorderContainer: {
@@ -9,9 +9,9 @@ import { customHTMLStyles } from '../../constants/renderHTML';
9
9
  export const TextBlurb = ({ text }) => {
10
10
  const { theme } = useContext(AppTheme);
11
11
  const {
12
- FONT_FAMILY, COLORS, FONT_SIZE, CAN_COPY_TEXT,
12
+ FONT_FAMILY, COLORS, FONT_SIZE, CAN_COPY_TEXT, lineHeightMultiplier,
13
13
  } = theme;
14
- const styles = textBlurbStyles(FONT_SIZE);
14
+ const styles = textBlurbStyles(FONT_SIZE, lineHeightMultiplier);
15
15
  const style = StyleSheet.flatten([
16
16
  styles.blurbText,
17
17
  {
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const textBlurbStyles = (FONT_SIZE) => StyleSheet.create({
4
+ export const textBlurbStyles = (FONT_SIZE, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  margin: 10,
7
7
  borderLeftWidth: 3,
@@ -9,7 +9,7 @@ export const textBlurbStyles = (FONT_SIZE) => StyleSheet.create({
9
9
  },
10
10
  blurbText: {
11
11
  fontSize: FONT_SIZE.h3,
12
- lineHeight: FONT_SIZE.h3 * 1.5,
12
+ lineHeight: FONT_SIZE.h3 * lineHeightMultiplier,
13
13
  textAlign: isRTLEnabled() ? 'left' : 'auto',
14
14
  },
15
15
  });
@@ -7,8 +7,8 @@ import { AppTheme } from '../../utils/context';
7
7
 
8
8
  export const TextQandA = ({ question, answer }) => {
9
9
  const { theme } = useContext(AppTheme);
10
- const { COLORS, FONT_SIZE } = theme;
11
- const styles = textQandAStyles(COLORS, FONT_SIZE);
10
+ const { COLORS, FONT_SIZE, lineHeightMultiplier } = theme;
11
+ const styles = textQandAStyles(COLORS, FONT_SIZE, lineHeightMultiplier);
12
12
  return (
13
13
  <View testID="text-q-and-a" style={styles.container}>
14
14
  <Text style={styles.questionText}>{question}</Text>
@@ -1,19 +1,19 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
 
3
- export const textQandAStyles = (COLORS, FONT_SIZE) => StyleSheet.create({
3
+ export const textQandAStyles = (COLORS, FONT_SIZE, lineHeightMultiplier) => StyleSheet.create({
4
4
  container: {
5
5
  margin: 10,
6
6
  },
7
7
  questionText: {
8
8
  fontSize: FONT_SIZE.h2,
9
9
  fontWeight: '600',
10
- lineHeight: FONT_SIZE.h2 * 1.5,
10
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
11
11
  color: COLORS.BRAND_BLACK,
12
12
  opacity: 0.8,
13
13
  },
14
14
  answerText: {
15
15
  fontSize: FONT_SIZE.h2,
16
- lineHeight: FONT_SIZE.h2 * 1.5,
16
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
17
17
  color: COLORS.BRAND_BLACK,
18
18
  opacity: 0.8,
19
19
  },
@@ -13,9 +13,9 @@ import { alterQuoteData } from '../../utils';
13
13
  export const TextQuote = ({ text, attribution }) => {
14
14
  const { theme } = useContext(AppTheme);
15
15
  const {
16
- FONT_FAMILY, COLORS, FONT_SIZE, CAN_COPY_TEXT,
16
+ FONT_FAMILY, COLORS, FONT_SIZE, CAN_COPY_TEXT, lineHeightMultiplier,
17
17
  } = theme;
18
- const styles = textQuoteStyles(COLORS, FONT_SIZE);
18
+ const styles = textQuoteStyles(COLORS, FONT_SIZE, lineHeightMultiplier);
19
19
 
20
20
  const customTagsStyles = customHTMLStyles();
21
21
 
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const textQuoteStyles = (COLORS, FONT_SIZE) => StyleSheet.create({
4
+ export const textQuoteStyles = (COLORS, FONT_SIZE, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  padding: 10,
7
7
  },
@@ -14,18 +14,18 @@ export const textQuoteStyles = (COLORS, FONT_SIZE) => StyleSheet.create({
14
14
  quoteContent: {
15
15
  color: COLORS.BRAND_BLACK,
16
16
  fontSize: FONT_SIZE.h2,
17
- lineHeight: FONT_SIZE.h2 * 1.5,
17
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
18
18
  },
19
19
  quoteText: {
20
20
  fontSize: FONT_SIZE.h1,
21
- lineHeight: FONT_SIZE.h1 * 1.5,
21
+ lineHeight: FONT_SIZE.h1 * lineHeightMultiplier,
22
22
  color: COLORS.BRAND_BLACK,
23
23
  opacity: 0.9,
24
24
  textAlign: isRTLEnabled() ? 'left' : 'auto',
25
25
  },
26
26
  attributionText: {
27
27
  fontSize: FONT_SIZE.h3,
28
- lineHeight: FONT_SIZE.h3 * 1.5,
28
+ lineHeight: FONT_SIZE.h3 * lineHeightMultiplier,
29
29
  color: COLORS.BRAND_BLACK,
30
30
  alignItems: 'flex-end',
31
31
  textAlign: isRTLEnabled() ? 'left' : 'auto',
@@ -11,9 +11,9 @@ import { AppTheme } from '../../utils/context';
11
11
  export const TextSummary = (props) => {
12
12
  const { theme } = useContext(AppTheme);
13
13
  const {
14
- FONT_FAMILY, FONT_SIZE, COLORS, CAN_COPY_TEXT,
14
+ FONT_FAMILY, FONT_SIZE, COLORS, CAN_COPY_TEXT, lineHeightMultiplier,
15
15
  } = theme;
16
- const styles = textSummaryStyles(FONT_SIZE, COLORS);
16
+ const styles = textSummaryStyles(FONT_SIZE, COLORS, lineHeightMultiplier);
17
17
  const style = StyleSheet.flatten([
18
18
  styles.summaryContent,
19
19
  {
@@ -1,7 +1,7 @@
1
1
  import { StyleSheet } from 'react-native';
2
2
  import { isRTLEnabled } from '../../utils';
3
3
 
4
- export const textSummaryStyles = (FONT_SIZE, COLORS) => StyleSheet.create({
4
+ export const textSummaryStyles = (FONT_SIZE, COLORS, lineHeightMultiplier) => StyleSheet.create({
5
5
  container: {
6
6
  padding: 10,
7
7
  },
@@ -14,7 +14,7 @@ export const textSummaryStyles = (FONT_SIZE, COLORS) => StyleSheet.create({
14
14
  summaryContent: {
15
15
  color: COLORS.BRAND_6,
16
16
  fontSize: FONT_SIZE.h2,
17
- lineHeight: FONT_SIZE.h2 * 1.5,
17
+ lineHeight: FONT_SIZE.h2 * lineHeightMultiplier,
18
18
  textAlign: isRTLEnabled() ? 'left' : 'auto',
19
19
  },
20
20
  summaryText: {