@cleartrip/ct-design-typography 5.13.0-SNAPSHOT-native-main.19 → 5.13.0-SNAPSHOT-typographyOnTextLayout.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.native.d.ts","sourceRoot":"","sources":["../packages/components/Typography/src/Typography.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQpC,OAAO,EAAE,WAAW,EAAyB,MAAM,QAAQ,CAAC;AA+B5D,QAAA,MAAM,UAAU,0EA+Df,CAAC;AAIF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"Typography.native.d.ts","sourceRoot":"","sources":["../packages/components/Typography/src/Typography.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAwB,IAAI,EAAuB,MAAM,cAAc,CAAC;AAQ/E,OAAO,EAAE,WAAW,EAAyB,MAAM,QAAQ,CAAC;AA+B5D,QAAA,MAAM,UAAU,0EAyEf,CAAC;AAIF,eAAe,UAAU,CAAC"}
package/dist/type.d.ts CHANGED
@@ -8,6 +8,11 @@ export interface TypographyStyleConfigProps {
8
8
  root?: TextStyle[];
9
9
  container?: Styles[];
10
10
  }
11
+ export interface IOnTextLayoutEvent {
12
+ target?: {
13
+ visibleLinesCount?: number;
14
+ };
15
+ }
11
16
  export interface ITypography {
12
17
  children: ReactNode;
13
18
  variant: TypographyVariantType;
@@ -23,5 +28,6 @@ export interface ITypography {
23
28
  isDisabled?: boolean;
24
29
  componentNode?: TypographyNodeElementType;
25
30
  styleConfig?: TypographyStyleConfigProps;
31
+ onTextLayout?: (e: IOnTextLayoutEvent) => void;
26
32
  }
27
33
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../packages/components/Typography/src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG,GAAG,iBAAiB,EAAE,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,GAAG,eAAe,EAAE,CAAC;AAEvD,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;AAE9G,MAAM,WAAW,0BAA0B;IAIzC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAInB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAI1B,QAAQ,EAAE,SAAS,CAAC;IAKpB,OAAO,EAAE,qBAAqB,CAAC;IAK/B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAK5B,YAAY,CAAC,EAAE,OAAO,CAAC;IAKvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAKxB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAK3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAKrB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAK1C,WAAW,CAAC,EAAE,0BAA0B,CAAC;CAC1C"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../packages/components/Typography/src/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG,GAAG,iBAAiB,EAAE,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,GAAG,eAAe,EAAE,CAAC;AAEvD,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;AAE9G,MAAM,WAAW,0BAA0B;IAIzC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAInB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE;QACP,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAI1B,QAAQ,EAAE,SAAS,CAAC;IAKpB,OAAO,EAAE,qBAAqB,CAAC;IAK/B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAK5B,YAAY,CAAC,EAAE,OAAO,CAAC;IAKvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,OAAO,CAAC;IAKtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAKrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAKxB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAK3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAKrB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAK1C,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAKzC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAChD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleartrip/ct-design-typography",
3
- "version": "5.13.0-SNAPSHOT-native-main.19",
3
+ "version": "5.13.0-SNAPSHOT-typographyOnTextLayout.0",
4
4
  "description": "Typography component with enhanced styleConfig support for RNW compatibility",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/ct-design-typography.cjs.js",
@@ -19,13 +19,13 @@
19
19
  "dependencies": {
20
20
  "@emotion/react": "^11.14.0",
21
21
  "@emotion/styled": "^11.14.0",
22
- "@cleartrip/ct-design-types": "5.13.0-SNAPSHOT-native-main.19",
23
- "@cleartrip/ct-design-theme": "5.13.0-SNAPSHOT-native-main.19",
24
- "@cleartrip/ct-design-conditional-wrap": "5.13.0-SNAPSHOT-native-main.19",
25
- "@cleartrip/ct-design-container": "5.13.0-SNAPSHOT-native-main.19",
26
- "@cleartrip/ct-design-event-propagation": "5.13.0-SNAPSHOT-native-main.19",
27
- "@cleartrip/ct-design-style-manager": "5.13.0-SNAPSHOT-native-main.19",
28
- "@cleartrip/ct-design-common-utils": "5.13.0-SNAPSHOT-native-main.19"
22
+ "@cleartrip/ct-design-types": "5.13.0-SNAPSHOT-typographyOnTextLayout.0",
23
+ "@cleartrip/ct-design-theme": "5.13.0-SNAPSHOT-typographyOnTextLayout.0",
24
+ "@cleartrip/ct-design-conditional-wrap": "5.14.0-SNAPSHOT-typographyOnTextLayout.0",
25
+ "@cleartrip/ct-design-style-manager": "5.12.1-SNAPSHOT-typographyOnTextLayout.0",
26
+ "@cleartrip/ct-design-event-propagation": "5.14.0-SNAPSHOT-typographyOnTextLayout.0",
27
+ "@cleartrip/ct-design-container": "5.14.0-SNAPSHOT-typographyOnTextLayout.0",
28
+ "@cleartrip/ct-design-common-utils": "5.12.1-SNAPSHOT-typographyOnTextLayout.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@emotion/babel-plugin": "^11.12.0"
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
 
3
- import { Text } from 'react-native';
3
+ import { NativeSyntheticEvent, Text, TextLayoutEventData } from 'react-native';
4
4
  import { useStyles } from '@cleartrip/ct-design-style-manager';
5
5
  import { useNativeMergeStyles } from '@cleartrip/ct-design-style-manager';
6
6
  import { getAccessibilityProps } from '@cleartrip/ct-design-common-utils';
@@ -51,6 +51,7 @@ const Typography = forwardRef<Text, ITypography>(
51
51
  onClick,
52
52
  isDisabled = false,
53
53
  colorCode = '',
54
+ onTextLayout,
54
55
  }: ITypography,
55
56
  ref: React.ForwardedRef<Text>,
56
57
  ) => {
@@ -82,6 +83,14 @@ const Typography = forwardRef<Text, ITypography>(
82
83
  const mergedEvents = useMergeEvents({ onClick: [onClick] });
83
84
  const { onClick: onClickEvent } = useTriggerEvents(mergedEvents);
84
85
 
86
+ const handleOnTextLayout = (e: NativeSyntheticEvent<TextLayoutEventData>) => {
87
+ onTextLayout?.({
88
+ target: {
89
+ visibleLinesCount: e?.nativeEvent?.lines?.length,
90
+ },
91
+ });
92
+ };
93
+
85
94
  return (
86
95
  <Conditional
87
96
  condition={!!onClick}
@@ -96,6 +105,7 @@ const Typography = forwardRef<Text, ITypography>(
96
105
  allowFontScaling={false}
97
106
  suppressHighlighting
98
107
  disabled={isDisabled}
108
+ onTextLayout={onTextLayout ? handleOnTextLayout : undefined}
99
109
  >
100
110
  {children}
101
111
  </Text>
package/src/type.ts CHANGED
@@ -21,6 +21,12 @@ export interface TypographyStyleConfigProps {
21
21
  container?: Styles[];
22
22
  }
23
23
 
24
+ export interface IOnTextLayoutEvent {
25
+ target?: {
26
+ visibleLinesCount?: number;
27
+ };
28
+ }
29
+
24
30
  export interface ITypography {
25
31
  /**
26
32
  * The content to be displayed within the typography element.
@@ -91,4 +97,9 @@ export interface ITypography {
91
97
  * Style configuration for the typography.
92
98
  */
93
99
  styleConfig?: TypographyStyleConfigProps;
100
+
101
+ /**
102
+ * Callback function triggered onTextLayout.
103
+ */
104
+ onTextLayout?: (e: IOnTextLayoutEvent) => void;
94
105
  }