@fluentui-react-native/text 0.12.1 → 0.13.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 (94) hide show
  1. package/CHANGELOG.json +16 -1
  2. package/CHANGELOG.md +10 -2
  3. package/lib/Text.d.ts +2 -3
  4. package/lib/Text.d.ts.map +1 -1
  5. package/lib/Text.js +79 -15
  6. package/lib/Text.js.map +1 -1
  7. package/lib/Text.types.d.ts +79 -13
  8. package/lib/Text.types.d.ts.map +1 -1
  9. package/lib/Text.types.js +1 -1
  10. package/lib/Text.types.js.map +1 -1
  11. package/lib/TextTokens.d.ts +3 -0
  12. package/lib/TextTokens.d.ts.map +1 -0
  13. package/lib/TextTokens.js +7 -0
  14. package/lib/TextTokens.js.map +1 -0
  15. package/lib/Variants.d.ts +14 -0
  16. package/lib/Variants.d.ts.map +1 -0
  17. package/lib/Variants.js +16 -0
  18. package/lib/Variants.js.map +1 -0
  19. package/lib/Variants.win32.d.ts +14 -0
  20. package/lib/Variants.win32.d.ts.map +1 -0
  21. package/lib/Variants.win32.js +41 -0
  22. package/lib/Variants.win32.js.map +1 -0
  23. package/lib/__tests__/Text.test.js +42 -40
  24. package/lib/__tests__/Text.test.js.map +1 -1
  25. package/lib/deprecated/Text.d.ts +5 -0
  26. package/lib/deprecated/Text.d.ts.map +1 -0
  27. package/lib/deprecated/Text.js +18 -0
  28. package/lib/deprecated/Text.js.map +1 -0
  29. package/lib/{Text.settings.d.ts → deprecated/Text.settings.d.ts} +0 -0
  30. package/lib/deprecated/Text.settings.d.ts.map +1 -0
  31. package/lib/{Text.settings.js → deprecated/Text.settings.js} +0 -0
  32. package/lib/deprecated/Text.settings.js.map +1 -0
  33. package/lib/deprecated/Text.types.d.ts +17 -0
  34. package/lib/deprecated/Text.types.d.ts.map +1 -0
  35. package/lib/deprecated/Text.types.js +2 -0
  36. package/lib/deprecated/Text.types.js.map +1 -0
  37. package/lib/index.d.ts +6 -3
  38. package/lib/index.d.ts.map +1 -1
  39. package/lib/index.js +5 -2
  40. package/lib/index.js.map +1 -1
  41. package/lib-commonjs/Text.d.ts +2 -3
  42. package/lib-commonjs/Text.d.ts.map +1 -1
  43. package/lib-commonjs/Text.js +82 -15
  44. package/lib-commonjs/Text.js.map +1 -1
  45. package/lib-commonjs/Text.types.d.ts +79 -13
  46. package/lib-commonjs/Text.types.d.ts.map +1 -1
  47. package/lib-commonjs/Text.types.js +1 -1
  48. package/lib-commonjs/Text.types.js.map +1 -1
  49. package/lib-commonjs/TextTokens.d.ts +3 -0
  50. package/lib-commonjs/TextTokens.d.ts.map +1 -0
  51. package/lib-commonjs/TextTokens.js +10 -0
  52. package/lib-commonjs/TextTokens.js.map +1 -0
  53. package/lib-commonjs/Variants.d.ts +14 -0
  54. package/lib-commonjs/Variants.d.ts.map +1 -0
  55. package/lib-commonjs/Variants.js +19 -0
  56. package/lib-commonjs/Variants.js.map +1 -0
  57. package/lib-commonjs/Variants.win32.d.ts +14 -0
  58. package/lib-commonjs/Variants.win32.d.ts.map +1 -0
  59. package/lib-commonjs/Variants.win32.js +44 -0
  60. package/lib-commonjs/Variants.win32.js.map +1 -0
  61. package/lib-commonjs/__tests__/Text.test.js +41 -39
  62. package/lib-commonjs/__tests__/Text.test.js.map +1 -1
  63. package/lib-commonjs/deprecated/Text.d.ts +5 -0
  64. package/lib-commonjs/deprecated/Text.d.ts.map +1 -0
  65. package/lib-commonjs/deprecated/Text.js +21 -0
  66. package/lib-commonjs/deprecated/Text.js.map +1 -0
  67. package/lib-commonjs/{Text.settings.d.ts → deprecated/Text.settings.d.ts} +0 -0
  68. package/lib-commonjs/deprecated/Text.settings.d.ts.map +1 -0
  69. package/lib-commonjs/{Text.settings.js → deprecated/Text.settings.js} +0 -0
  70. package/lib-commonjs/deprecated/Text.settings.js.map +1 -0
  71. package/lib-commonjs/deprecated/Text.types.d.ts +17 -0
  72. package/lib-commonjs/deprecated/Text.types.d.ts.map +1 -0
  73. package/lib-commonjs/deprecated/Text.types.js +5 -0
  74. package/lib-commonjs/deprecated/Text.types.js.map +1 -0
  75. package/lib-commonjs/index.d.ts +6 -3
  76. package/lib-commonjs/index.d.ts.map +1 -1
  77. package/lib-commonjs/index.js +21 -4
  78. package/lib-commonjs/index.js.map +1 -1
  79. package/package.json +5 -2
  80. package/src/Text.tsx +106 -16
  81. package/src/Text.types.ts +91 -15
  82. package/src/TextTokens.ts +10 -0
  83. package/src/Variants.ts +16 -0
  84. package/src/Variants.win32.ts +41 -0
  85. package/src/__tests__/Text.test.tsx +55 -60
  86. package/src/__tests__/__snapshots__/Text.test.tsx.snap +39 -4
  87. package/src/{Text.settings.ts → deprecated/Text.settings.ts} +0 -0
  88. package/src/deprecated/Text.tsx +19 -0
  89. package/src/deprecated/Text.types.ts +21 -0
  90. package/src/index.ts +22 -3
  91. package/lib/Text.settings.d.ts.map +0 -1
  92. package/lib/Text.settings.js.map +0 -1
  93. package/lib-commonjs/Text.settings.d.ts.map +0 -1
  94. package/lib-commonjs/Text.settings.js.map +0 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "@fluentui-react-native/text",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 26 Jul 2022 19:29:01 GMT",
5
+ "date": "Fri, 29 Jul 2022 21:02:36 GMT",
6
+ "tag": "@fluentui-react-native/text_v0.13.0",
7
+ "version": "0.13.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "email not defined",
12
+ "package": "@fluentui-react-native/text",
13
+ "commit": "bee467a2f783a35346bcb76687c200bd372a6086",
14
+ "comment": "move text from experimental to components dir"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Tue, 26 Jul 2022 19:30:23 GMT",
6
21
  "tag": "@fluentui-react-native/text_v0.12.1",
7
22
  "version": "0.12.1",
8
23
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # Change Log - @fluentui-react-native/text
2
2
 
3
- This log was last generated on Tue, 26 Jul 2022 19:29:01 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 29 Jul 2022 21:02:36 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.13.0
8
+
9
+ Fri, 29 Jul 2022 21:02:36 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - move text from experimental to components dir (email not defined)
14
+
7
15
  ## 0.12.1
8
16
 
9
- Tue, 26 Jul 2022 19:29:01 GMT
17
+ Tue, 26 Jul 2022 19:30:23 GMT
10
18
 
11
19
  ### Patches
12
20
 
package/lib/Text.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- export declare const Text: import("@uifabricshared/foundation-compose").IComposeReturnType<import("./Text.types").ITextProps<import("@fluentui-react-native/adapters").ITextProps>, {
2
- root: import("@fluentui-react-native/adapters").ITextProps;
3
- }, import("@fluentui-react-native/tokens").FontStyleTokens & import("@fluentui-react-native/tokens").FontVariantTokens & import("@fluentui-react-native/tokens").IForegroundColorTokens & import("@fluentui-react-native/tokens").IBackgroundColorTokens, object, object>;
1
+ import { TextProps, TextTokens } from './Text.types';
2
+ export declare const Text: import("@fluentui-react-native/use-tokens").CustomizableComponent<TextProps<import("@fluentui-react-native/adapters").ITextProps>, TextTokens, import("@fluentui-react-native/framework").Theme>;
4
3
  export default Text;
5
4
  //# sourceMappingURL=Text.d.ts.map
package/lib/Text.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,IAAI;;yQASf,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAY,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/D,eAAO,MAAM,IAAI,kMAwFA,CAAC;AAGlB,eAAe,IAAI,CAAC"}
package/lib/Text.js CHANGED
@@ -1,18 +1,82 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
+ if (ar || !(i in from)) {
26
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
+ ar[i] = from[i];
28
+ }
29
+ }
30
+ return to.concat(ar || Array.prototype.slice.call(from));
31
+ };
32
+ /** @jsx withSlots */
33
+ import { fontStyles, withSlots, useFluentTheme, mergeStyles, compressible, patchTokens, } from '@fluentui-react-native/framework';
34
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
35
+ import { I18nManager, Platform, Text as RNText } from 'react-native';
1
36
  import { textName } from './Text.types';
2
- import { compose } from '@uifabricshared/foundation-compose';
3
- import { Text as RNText } from 'react-native';
4
- import { filterTextProps } from '@fluentui-react-native/adapters';
5
- import { foregroundColorTokens, textTokens } from '@fluentui-react-native/tokens';
6
- import { settings } from './Text.settings';
7
- export var Text = compose({
8
- displayName: textName,
9
- settings: settings,
10
- slots: {
11
- root: { slotType: RNText, filter: filterTextProps },
12
- },
13
- styles: {
14
- root: [textTokens, foregroundColorTokens],
15
- },
16
- });
37
+ import { useTextTokens } from './TextTokens';
38
+ import React from 'react';
39
+ export var Text = compressible(function (props, useTokens) {
40
+ var _a;
41
+ // split out color and variant from props
42
+ var align = props.align, block = props.block, color = props.color, font = props.font, italic = props.italic, onAccessibilityTap = props.onAccessibilityTap, onKeyDown = props.onKeyDown, onPress = props.onPress, size = props.size, strikethrough = props.strikethrough, style = props.style, _b = props.truncate, truncate = _b === void 0 ? false : _b, underline = props.underline, variant = props.variant, weight = props.weight, _c = props.wrap, wrap = _c === void 0 ? true : _c, rest = __rest(props, ["align", "block", "color", "font", "italic", "onAccessibilityTap", "onKeyDown", "onPress", "size", "strikethrough", "style", "truncate", "underline", "variant", "weight", "wrap"]);
43
+ var theme = useFluentTheme();
44
+ // get the tokens from the theme
45
+ var _d = useTokens(theme), tokens = _d[0], cache = _d[1];
46
+ var textAlign = I18nManager.isRTL
47
+ ? align === 'start'
48
+ ? 'right'
49
+ : align === 'end'
50
+ ? 'left'
51
+ : align
52
+ : align === 'start'
53
+ ? 'left'
54
+ : align === 'end'
55
+ ? 'right'
56
+ : align;
57
+ var onAccTap = React.useCallback(function (event) {
58
+ onAccessibilityTap ? onAccessibilityTap() : onPress(event);
59
+ }, [onPress, onAccessibilityTap]);
60
+ // override tokens from props
61
+ _a = patchTokens(tokens, cache, {
62
+ color: color,
63
+ variant: variant,
64
+ fontFamily: font == 'base' ? 'primary' : font,
65
+ fontSize: globalTokens.font.size[size],
66
+ fontWeight: globalTokens.font.weight[weight],
67
+ // leave it undefined for tokens to be set by user
68
+ fontStyle: italic ? 'italic' : undefined,
69
+ textAlign: textAlign,
70
+ textDecorationLine: underline && strikethrough ? 'underline line-through' : underline ? 'underline' : strikethrough ? 'line-through' : undefined,
71
+ }), tokens = _a[0], cache = _a[1];
72
+ // now build the text style from tokens that can be shared between different Text instances
73
+ var tokenStyle = cache(function () { return (__assign({ margin: 0, color: tokens.color, fontStyle: tokens.fontStyle, textAlign: tokens.textAlign, textDecorationLine: tokens.textDecorationLine }, fontStyles.from(tokens, theme))); }, __spreadArray(['color', 'fontStyle', 'textAlign', 'textDecorationLine'], fontStyles.keys, true))[0];
74
+ // return a continuation function that allows this text to be compressed
75
+ return function (extra, children) {
76
+ var mergedProps = __assign(__assign(__assign(__assign(__assign({ numberOfLines: truncate || !wrap ? 1 : 0, onKeyDown: Platform.OS === ('win32' || 'windows') ? onKeyDown : undefined }, (Platform.OS === ('win32' || 'windows') && { onAccessibilityTap: onAccTap })), { onPress: onPress }), rest), extra), { style: mergeStyles(tokenStyle, props.style, extra === null || extra === void 0 ? void 0 : extra.style) });
77
+ return (withSlots(RNText, __assign({ ellipsizeMode: !wrap && !truncate ? 'clip' : 'tail' }, mergedProps), children));
78
+ };
79
+ }, useTextTokens);
80
+ Text.displayName = textName;
17
81
  export default Text;
18
82
  //# sourceMappingURL=Text.js.map
package/lib/Text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,IAAM,IAAI,GAAG,OAAO,CAAY;IACrC,WAAW,EAAE,QAAQ;IACrB,QAAQ,UAAA;IACR,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE;KACpD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC;KAC1C;CACF,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,83 @@
1
- import { FontTokens, FontVariantTokens, IForegroundColorTokens, IColorTokens } from '@fluentui-react-native/tokens';
2
- import { ITextProps as INativeTextProps } from '@fluentui-react-native/adapters';
3
- export declare const textName = "RNFText";
1
+ import { FontTokens, FontVariantTokens, IForegroundColorTokens } from '@fluentui-react-native/framework';
2
+ import { ITextProps } from '@fluentui-react-native/adapters';
3
+ import { ColorValue, TextStyle } from 'react-native';
4
+ export declare const textName = "Text";
4
5
  /**
5
- * Properties for fabric native text field, these extend the default props for text
6
+ * Text tokens, these are the internally configurable values for Text elements. In particular these
7
+ * drive decisions on how to build the styles
6
8
  */
7
- export declare type ITextProps<TBase = INativeTextProps> = TBase & FontVariantTokens & IForegroundColorTokens & {
8
- disabled?: boolean;
9
- };
10
- export declare type ITextType<TBase = INativeTextProps> = {
11
- props: ITextProps<TBase>;
12
- tokens: FontTokens & IColorTokens;
13
- slotProps: {
14
- root: TBase;
15
- };
9
+ export declare type TextTokens = Omit<FontTokens, 'fontFamily'> & IForegroundColorTokens & Omit<TextStyle, 'fontSize' | 'fontWeight' | 'color'>;
10
+ export declare type TextAlign = 'start' | 'center' | 'end' | 'justify';
11
+ export declare type TextFont = 'base' | 'monospace' | 'numeric';
12
+ export declare type TextSize = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 1000;
13
+ export declare type TextWeight = 'regular' | 'medium' | 'semibold' | 'bold';
14
+ /**
15
+ * Text props, based off of the standard react-native TextProps with some new extensions
16
+ */
17
+ export declare type TextProps<TBase = ITextProps> = TBase & FontVariantTokens & {
18
+ /**
19
+ * foreground text color
20
+ */
21
+ color?: ColorValue;
22
+ /**
23
+ * Aligns text based on the parent container.
24
+ *
25
+ * @defaultValue start
26
+ */
27
+ align?: TextAlign;
28
+ /**
29
+ * Applies a block display for the content.
30
+ *
31
+ * @defaultValue false
32
+ */
33
+ block?: boolean;
34
+ /**
35
+ * Applies the font family to the content.
36
+ *
37
+ * @defaultValue base
38
+ */
39
+ font?: TextFont;
40
+ /**
41
+ * Applies the italic font style to the content.
42
+ *
43
+ * @defaultValue false
44
+ */
45
+ italic?: boolean;
46
+ /**
47
+ * Applies the strikethrough text decoration to the content.
48
+ *
49
+ * @defaultValue false
50
+ */
51
+ strikethrough?: boolean;
52
+ /**
53
+ * Applies font size and line height based on the theme tokens.
54
+ *
55
+ * @defaultValue 300
56
+ */
57
+ size?: TextSize;
58
+ /**
59
+ * Truncate overflowing text for block displays.
60
+ *
61
+ * @defaultValue false
62
+ */
63
+ truncate?: boolean;
64
+ /**
65
+ * Applies the underline text decoration to the content.
66
+ *
67
+ * @defaultValue false
68
+ */
69
+ underline?: boolean;
70
+ /**
71
+ * Applies font weight to the content.
72
+ *
73
+ * @defaultValue regular
74
+ */
75
+ weight?: TextWeight;
76
+ /**
77
+ * Wraps the text content on white spaces.
78
+ *
79
+ * @defaultValue true
80
+ */
81
+ wrap?: boolean;
16
82
  };
17
83
  //# sourceMappingURL=Text.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.types.d.ts","sourceRoot":"","sources":["../src/Text.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACpH,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,eAAO,MAAM,QAAQ,YAAY,CAAC;AAElC;;GAEG;AACH,oBAAY,UAAU,CAAC,KAAK,GAAG,gBAAgB,IAAI,KAAK,GACtD,iBAAiB,GACjB,sBAAsB,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,oBAAY,SAAS,CAAC,KAAK,GAAG,gBAAgB,IAAI;IAChD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC;KACb,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"Text.types.d.ts","sourceRoot":"","sources":["../src/Text.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErD,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B;;;GAGG;AACH,oBAAY,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,CAAC,CAAC;AAExI,oBAAY,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAC/D,oBAAY,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;AACxD,oBAAY,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAClF,oBAAY,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEpE;;GAEG;AACH,oBAAY,SAAS,CAAC,KAAK,GAAG,UAAU,IAAI,KAAK,GAC/C,iBAAiB,GAAG;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC"}
package/lib/Text.types.js CHANGED
@@ -1,2 +1,2 @@
1
- export var textName = 'RNFText';
1
+ export var textName = 'Text';
2
2
  //# sourceMappingURL=Text.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.types.js","sourceRoot":"","sources":["../src/Text.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"Text.types.js","sourceRoot":"","sources":["../src/Text.types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { TextTokens } from './Text.types';
2
+ export declare const useTextTokens: import("@fluentui-react-native/framework").UseTokens<TextTokens>;
3
+ //# sourceMappingURL=TextTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextTokens.d.ts","sourceRoot":"","sources":["../src/TextTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,aAAa,kEAMzB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { buildUseTokens } from '@fluentui-react-native/framework';
2
+ import { textName } from './Text.types';
3
+ export var useTextTokens = buildUseTokens(function (t) { return ({
4
+ variant: 'secondaryStandard',
5
+ color: t.colors.bodyText,
6
+ }); }, textName);
7
+ //# sourceMappingURL=TextTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextTokens.js","sourceRoot":"","sources":["../src/TextTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAc,MAAM,cAAc,CAAC;AAEpD,MAAM,CAAC,IAAM,aAAa,GAAG,cAAc,CACzC,UAAC,CAAC,IAAK,OAAA,CAAC;IACN,OAAO,EAAE,mBAAmB;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ;CACzB,CAAC,EAHK,CAGL,EACF,QAAQ,CACT,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const Caption1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
2
+ export declare const Body1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
3
+ export declare const Body1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
4
+ export declare const Body2: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
5
+ export declare const Body2Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
6
+ export declare const Subtitle1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
7
+ export declare const Subtitle1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
8
+ export declare const Subtitle2: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
9
+ export declare const Subtitle2Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
10
+ export declare const Title1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
11
+ export declare const Title1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
12
+ export declare const LargeTitle: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
13
+ export declare const Display: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
14
+ //# sourceMappingURL=Variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variants.d.ts","sourceRoot":"","sources":["../src/Variants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,kPAAO,CAAC;AAC7B,eAAO,MAAM,KAAK,kPAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,kPAAO,CAAC;AAChC,eAAO,MAAM,KAAK,kPAAO,CAAC;AAC1B,eAAO,MAAM,WAAW,kPAAO,CAAC;AAChC,eAAO,MAAM,SAAS,kPAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,kPAAO,CAAC;AACpC,eAAO,MAAM,SAAS,kPAAO,CAAC;AAC9B,eAAO,MAAM,eAAe,kPAAO,CAAC;AACpC,eAAO,MAAM,MAAM,kPAAO,CAAC;AAC3B,eAAO,MAAM,YAAY,kPAAO,CAAC;AACjC,eAAO,MAAM,UAAU,kPAAO,CAAC;AAC/B,eAAO,MAAM,OAAO,kPAAO,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Text } from './Text';
2
+ // stubbed out for other platforms for which variant alias tokens aren't defined
3
+ export var Caption1 = Text;
4
+ export var Body1 = Text;
5
+ export var Body1Strong = Text;
6
+ export var Body2 = Text;
7
+ export var Body2Strong = Text;
8
+ export var Subtitle1 = Text;
9
+ export var Subtitle1Strong = Text;
10
+ export var Subtitle2 = Text;
11
+ export var Subtitle2Strong = Text;
12
+ export var Title1 = Text;
13
+ export var Title1Strong = Text;
14
+ export var LargeTitle = Text;
15
+ export var Display = Text;
16
+ //# sourceMappingURL=Variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variants.js","sourceRoot":"","sources":["../src/Variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,gFAAgF;AAChF,MAAM,CAAC,IAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,IAAM,KAAK,GAAG,IAAI,CAAC;AAC1B,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,IAAM,KAAK,GAAG,IAAI,CAAC;AAC1B,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,CAAC,IAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,IAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,IAAM,OAAO,GAAG,IAAI,CAAC"}
@@ -0,0 +1,14 @@
1
+ export declare const Caption1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
2
+ export declare const Body1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
3
+ export declare const Body1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
4
+ export declare const Body2: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
5
+ export declare const Body2Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
6
+ export declare const Subtitle1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
7
+ export declare const Subtitle1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
8
+ export declare const Subtitle2: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
9
+ export declare const Subtitle2Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
10
+ export declare const Title1: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
11
+ export declare const Title1Strong: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
12
+ export declare const LargeTitle: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
13
+ export declare const Display: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("./Text.types").TextProps<import("@fluentui-react-native/adapters").ITextProps>, import("./Text.types").TextTokens, import("@fluentui-react-native/theme-types").Theme>;
14
+ //# sourceMappingURL=Variants.win32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variants.win32.d.ts","sourceRoot":"","sources":["../src/Variants.win32.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,kPAEnB,CAAC;AACH,eAAO,MAAM,KAAK,kPAEhB,CAAC;AACH,eAAO,MAAM,WAAW,kPAEtB,CAAC;AACH,eAAO,MAAM,KAAK,kPAEhB,CAAC;AACH,eAAO,MAAM,WAAW,kPAEtB,CAAC;AACH,eAAO,MAAM,SAAS,kPAEpB,CAAC;AACH,eAAO,MAAM,eAAe,kPAE1B,CAAC;AACH,eAAO,MAAM,SAAS,kPAEpB,CAAC;AACH,eAAO,MAAM,eAAe,kPAE1B,CAAC;AACH,eAAO,MAAM,MAAM,kPAEjB,CAAC;AACH,eAAO,MAAM,YAAY,kPAEvB,CAAC;AACH,eAAO,MAAM,UAAU,kPAErB,CAAC;AACH,eAAO,MAAM,OAAO,kPAElB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { Text } from './Text';
2
+ export var Caption1 = Text.customize({
3
+ variant: 'caption1',
4
+ });
5
+ export var Body1 = Text.customize({
6
+ variant: 'body1',
7
+ });
8
+ export var Body1Strong = Text.customize({
9
+ variant: 'body1Strong',
10
+ });
11
+ export var Body2 = Text.customize({
12
+ variant: 'body2',
13
+ });
14
+ export var Body2Strong = Text.customize({
15
+ variant: 'body2Strong',
16
+ });
17
+ export var Subtitle1 = Text.customize({
18
+ variant: 'subtitle1',
19
+ });
20
+ export var Subtitle1Strong = Text.customize({
21
+ variant: 'subtitle1Strong',
22
+ });
23
+ export var Subtitle2 = Text.customize({
24
+ variant: 'subtitle2',
25
+ });
26
+ export var Subtitle2Strong = Text.customize({
27
+ variant: 'subtitle2Strong',
28
+ });
29
+ export var Title1 = Text.customize({
30
+ variant: 'title1',
31
+ });
32
+ export var Title1Strong = Text.customize({
33
+ variant: 'title1Strong',
34
+ });
35
+ export var LargeTitle = Text.customize({
36
+ variant: 'largeTitle',
37
+ });
38
+ export var Display = Text.customize({
39
+ variant: 'display',
40
+ });
41
+ //# sourceMappingURL=Variants.win32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variants.win32.js","sourceRoot":"","sources":["../src/Variants.win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,CAAC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IACrC,OAAO,EAAE,UAAU;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;IACxC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtC,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACtC,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5C,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;IACnC,OAAO,EAAE,QAAQ;CAClB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;IACzC,OAAO,EAAE,cAAc;CACxB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;IACvC,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AACH,MAAM,CAAC,IAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC"}
@@ -1,48 +1,50 @@
1
1
  import * as React from 'react';
2
- import { Text } from '..';
2
+ import { Text } from '../Text';
3
3
  import * as renderer from 'react-test-renderer';
4
- import { checkReRender, checkRenderConsistency } from '@fluentui-react-native/test-tools';
5
- it('Text default', function () {
6
- var tree = renderer.create(React.createElement(Text, null, "Text default")).toJSON();
7
- expect(tree).toMatchSnapshot();
8
- });
9
- it('Text all props', function () {
10
- var tree = renderer
11
- .create(React.createElement(Text, { disabled: true, variant: "bodyStandard" }, "All props"))
12
- .toJSON();
13
- expect(tree).toMatchSnapshot();
14
- });
15
- it('Text all tokens', function () {
16
- var BoldText = Text.customize({
17
- tokens: {
4
+ import { checkRenderConsistency, checkReRender } from '@fluentui-react-native/test-tools';
5
+ describe('Text component tests', function () {
6
+ it('Text default', function () {
7
+ var tree = renderer.create(React.createElement(Text, null, "Text default")).toJSON();
8
+ expect(tree).toMatchSnapshot();
9
+ });
10
+ it('Text all props', function () {
11
+ var tree = renderer.create(React.createElement(Text, { variant: "bodyStandard" }, "All props")).toJSON();
12
+ expect(tree).toMatchSnapshot();
13
+ });
14
+ it('Text all tokens', function () {
15
+ var BoldText = Text.customize({
18
16
  fontFamily: 'Wingdings',
19
17
  fontWeight: '900',
20
18
  fontSize: 20,
21
- },
19
+ });
20
+ var tree = renderer.create(React.createElement(BoldText, null, "All tokens")).toJSON();
21
+ expect(tree).toMatchSnapshot();
22
+ });
23
+ it('Text simple rendering does not invalidate styling', function () {
24
+ checkRenderConsistency(function () { return React.createElement(Text, null, "Default"); });
25
+ checkRenderConsistency(function () { return React.createElement(Text, { variant: "headerStandard" }, "Default"); });
26
+ });
27
+ it('Text re-renders correctly', function () {
28
+ checkReRender(function () { return React.createElement(Text, null, "Default"); });
29
+ checkReRender(function () { return React.createElement(Text, { variant: "headerStandard" }, "Default"); });
30
+ });
31
+ it('Text shares produced styles across multiple renders', function () {
32
+ var style = { color: 'black' };
33
+ checkRenderConsistency(function () { return React.createElement(Text, { style: style }, "Default"); });
34
+ checkRenderConsistency(function () { return (React.createElement(Text, { style: style, variant: "headerStandard" }, "Default")); });
35
+ });
36
+ it('Text re-renders correctly with style', function () {
37
+ var style = { color: 'blue' };
38
+ checkReRender(function () { return React.createElement(Text, { style: style }, "Default"); });
39
+ checkReRender(function () { return (React.createElement(Text, { style: style, variant: "headerStandard" }, "Default")); });
40
+ });
41
+ it('Text variants render correctly with style', function () {
42
+ var style = {
43
+ marginBottom: 8,
44
+ marginTop: 4,
45
+ };
46
+ var tree = renderer.create(React.createElement(Text, { variant: "heroLargeSemibold", color: "blue", style: style }, "Header Text"));
47
+ expect(tree).toMatchSnapshot();
22
48
  });
23
- var tree = renderer.create(React.createElement(BoldText, null, "All tokens")).toJSON();
24
- expect(tree).toMatchSnapshot();
25
- });
26
- it('Text simple rendering does not invalidate styling', function () {
27
- checkRenderConsistency(function () { return React.createElement(Text, null, "Default"); });
28
- checkRenderConsistency(function () { return React.createElement(Text, { disabled: true }, "Default"); });
29
- checkRenderConsistency(function () { return React.createElement(Text, { variant: "headerStandard" }, "Default"); });
30
- });
31
- it('Text re-renders correctly', function () {
32
- checkReRender(function () { return React.createElement(Text, null, "Default"); });
33
- checkReRender(function () { return React.createElement(Text, { disabled: true }, "Default"); });
34
- checkReRender(function () { return React.createElement(Text, { variant: "headerStandard" }, "Default"); });
35
- });
36
- it('Text shares produced styles across multiple renders', function () {
37
- var style = { color: 'black' };
38
- checkRenderConsistency(function () { return React.createElement(Text, { style: style }, "Default"); });
39
- checkRenderConsistency(function () { return (React.createElement(Text, { style: style, disabled: true }, "Default")); });
40
- checkRenderConsistency(function () { return (React.createElement(Text, { style: style, variant: "headerStandard" }, "Default")); });
41
- });
42
- it('Text re-renders correctly with style', function () {
43
- var style = { color: 'blue' };
44
- checkReRender(function () { return React.createElement(Text, { style: style }, "Default"); });
45
- checkReRender(function () { return (React.createElement(Text, { style: style, disabled: true }, "Default")); });
46
- checkReRender(function () { return (React.createElement(Text, { style: style, variant: "headerStandard" }, "Default")); });
47
49
  });
48
50
  //# sourceMappingURL=Text.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.test.js","sourceRoot":"","sources":["../../src/__tests__/Text.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Text.test.js","sourceRoot":"","sources":["../../src/__tests__/Text.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const Text: import("@uifabricshared/foundation-compose").IComposeReturnType<import("./Text.types").ITextProps<import("@fluentui-react-native/adapters").ITextProps>, {
2
+ root: import("@fluentui-react-native/adapters").ITextProps;
3
+ }, import("@fluentui-react-native/tokens").FontStyleTokens & import("@fluentui-react-native/tokens").FontVariantTokens & import("@fluentui-react-native/tokens").IForegroundColorTokens & import("@fluentui-react-native/tokens").IBackgroundColorTokens, object, object>;
4
+ export default Text;
5
+ //# sourceMappingURL=Text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../src/deprecated/Text.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,IAAI;;yQASf,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { textName } from './Text.types';
2
+ import { compose } from '@uifabricshared/foundation-compose';
3
+ import { Text as RNText } from 'react-native';
4
+ import { filterTextProps } from '@fluentui-react-native/adapters';
5
+ import { foregroundColorTokens, textTokens } from '@fluentui-react-native/tokens';
6
+ import { settings } from './Text.settings';
7
+ export var Text = compose({
8
+ displayName: textName,
9
+ settings: settings,
10
+ slots: {
11
+ root: { slotType: RNText, filter: filterTextProps },
12
+ },
13
+ styles: {
14
+ root: [textTokens, foregroundColorTokens],
15
+ },
16
+ });
17
+ export default Text;
18
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/deprecated/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,IAAM,IAAI,GAAG,OAAO,CAAY;IACrC,WAAW,EAAE,QAAQ;IACrB,QAAQ,UAAA;IACR,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE;KACpD;IACD,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,UAAU,EAAE,qBAAqB,CAAC;KAC1C;CACF,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.settings.d.ts","sourceRoot":"","sources":["../../src/deprecated/Text.settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,eAAO,MAAM,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAqBhD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.settings.js","sourceRoot":"","sources":["../../src/deprecated/Text.settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AAInD,MAAM,CAAC,IAAM,QAAQ,GAAgC;IACnD;QACE,MAAM,EAAE;YACN,OAAO,EAAE,mBAAmB;YAC5B,KAAK,EAAE,UAAU;SAClB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,MAAM,EAAE,CAAC;aACG;SACf;QACD,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,MAAM,EAAE;oBACN,KAAK,EAAE,cAAc;iBACtB;aACF;SACF;QACD,WAAW,EAAE,CAAC,UAAU,CAAC;KAC1B;IACD,QAAQ;CACT,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { FontTokens, FontVariantTokens, IForegroundColorTokens, IColorTokens } from '@fluentui-react-native/tokens';
2
+ import { ITextProps as INativeTextProps } from '@fluentui-react-native/adapters';
3
+ export declare const textName = "RNFText";
4
+ /**
5
+ * Properties for fabric native text field, these extend the default props for text
6
+ */
7
+ export declare type ITextProps<TBase = INativeTextProps> = TBase & FontVariantTokens & IForegroundColorTokens & {
8
+ disabled?: boolean;
9
+ };
10
+ export declare type ITextType<TBase = INativeTextProps> = {
11
+ props: ITextProps<TBase>;
12
+ tokens: FontTokens & IColorTokens;
13
+ slotProps: {
14
+ root: TBase;
15
+ };
16
+ };
17
+ //# sourceMappingURL=Text.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.types.d.ts","sourceRoot":"","sources":["../../src/deprecated/Text.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACpH,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,eAAO,MAAM,QAAQ,YAAY,CAAC;AAElC;;GAEG;AACH,oBAAY,UAAU,CAAC,KAAK,GAAG,gBAAgB,IAAI,KAAK,GACtD,iBAAiB,GACjB,sBAAsB,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ,oBAAY,SAAS,CAAC,KAAK,GAAG,gBAAgB,IAAI;IAChD,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,EAAE,UAAU,GAAG,YAAY,CAAC;IAClC,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,CAAC;KACb,CAAC;CACH,CAAC"}