@tamagui/text 1.27.2 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/wrapChildrenInText.js +7 -28
- package/dist/cjs/wrapChildrenInText.js.map +1 -1
- package/dist/esm/wrapChildrenInText.js +6 -27
- package/dist/esm/wrapChildrenInText.js.map +1 -1
- package/dist/jsx/wrapChildrenInText.js +6 -27
- package/dist/jsx/wrapChildrenInText.js.map +1 -1
- package/dist/jsx/wrapChildrenInText.mjs +6 -27
- package/dist/jsx/wrapChildrenInText.mjs.map +1 -1
- package/package.json +5 -5
- package/src/types.ts +4 -1
- package/src/wrapChildrenInText.tsx +8 -35
- package/types/types.d.ts +3 -1
- package/types/types.d.ts.map +1 -1
- package/types/wrapChildrenInText.d.ts +1 -1
- package/types/wrapChildrenInText.d.ts.map +1 -1
- package/src/wrapChildrenInText.test.tsx +0 -40
|
@@ -31,7 +31,10 @@ __export(wrapChildrenInText_exports, {
|
|
|
31
31
|
wrapChildrenInText: () => wrapChildrenInText
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(wrapChildrenInText_exports);
|
|
34
|
-
var import_jsx_runtime =
|
|
34
|
+
var import_jsx_runtime = (
|
|
35
|
+
// so "data-disable-theme" is a hack to fix themeInverse, don't ask me why
|
|
36
|
+
require("react/jsx-runtime")
|
|
37
|
+
);
|
|
35
38
|
var import_react = __toESM(require("react"));
|
|
36
39
|
function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
37
40
|
const {
|
|
@@ -50,9 +53,6 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
50
53
|
if (noTextWrap || !children) {
|
|
51
54
|
return [children];
|
|
52
55
|
}
|
|
53
|
-
const allChildren = import_react.default.Children.toArray(children);
|
|
54
|
-
const nextChildren = [];
|
|
55
|
-
let lastIsString = false;
|
|
56
56
|
const props = {
|
|
57
57
|
...extraProps
|
|
58
58
|
};
|
|
@@ -72,30 +72,9 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
72
72
|
props.size = size;
|
|
73
73
|
if (fontStyle)
|
|
74
74
|
props.fontStyle = fontStyle;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const index = nextChildren.length - 1;
|
|
79
|
-
const childrenStrings = nextChildren[index];
|
|
80
|
-
nextChildren[index] = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextComponent, { ...props, ...textProps, children: childrenStrings }, index);
|
|
81
|
-
}
|
|
82
|
-
for (const child of allChildren) {
|
|
83
|
-
const last = nextChildren[nextChildren.length - 1];
|
|
84
|
-
const isString = typeof child === "string";
|
|
85
|
-
if (isString) {
|
|
86
|
-
if (lastIsString) {
|
|
87
|
-
last.push(child);
|
|
88
|
-
} else {
|
|
89
|
-
nextChildren.push([child]);
|
|
90
|
-
}
|
|
91
|
-
} else {
|
|
92
|
-
concatStringChildren();
|
|
93
|
-
nextChildren.push(child);
|
|
94
|
-
}
|
|
95
|
-
lastIsString = isString;
|
|
96
|
-
}
|
|
97
|
-
concatStringChildren();
|
|
98
|
-
return nextChildren;
|
|
75
|
+
return import_react.default.Children.toArray(children).map((child, index) => {
|
|
76
|
+
return typeof child === "string" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextComponent, { "data-disable-theme": true, ...props, ...textProps, children: child }, index) : child;
|
|
77
|
+
});
|
|
99
78
|
}
|
|
100
79
|
// Annotate the CommonJS export names for ESM import in node:
|
|
101
80
|
0 && (module.exports = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/wrapChildrenInText.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoDM;AAAA;AAAA;AAAA;AAnDN,mBAAkB;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;AAEA,QAAM,QAAQ;AAAA,IACZ,GAAG;AAAA,EACL;AAGA,MAAI;AAAO,UAAM,QAAQ;AACzB,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAU,UAAM,WAAW;AAC/B,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAe,UAAM,gBAAgB;AACzC,MAAI;AAAW,UAAM,YAAY;AACjC,MAAI;AAAM,UAAM,OAAO;AACvB,MAAI;AAAW,UAAM,YAAY;AAEjC,SAAO,aAAAA,QAAM,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,OAAO,UAAU;AAC5D,WAAO,OAAO,UAAU,WAEtB,4CAAC,iBAAc,sBAAkB,MAAc,GAAG,OAAQ,GAAG,WAC1D,mBADoC,KAEvC,IAEA;AAAA,EAEJ,CAAC;AACH;",
|
|
5
5
|
"names": ["React"]
|
|
6
6
|
}
|
|
@@ -17,9 +17,6 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
17
17
|
if (noTextWrap || !children) {
|
|
18
18
|
return [children];
|
|
19
19
|
}
|
|
20
|
-
const allChildren = React.Children.toArray(children);
|
|
21
|
-
const nextChildren = [];
|
|
22
|
-
let lastIsString = false;
|
|
23
20
|
const props = {
|
|
24
21
|
...extraProps
|
|
25
22
|
};
|
|
@@ -39,30 +36,12 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
39
36
|
props.size = size;
|
|
40
37
|
if (fontStyle)
|
|
41
38
|
props.fontStyle = fontStyle;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
for (const child of allChildren) {
|
|
50
|
-
const last = nextChildren[nextChildren.length - 1];
|
|
51
|
-
const isString = typeof child === "string";
|
|
52
|
-
if (isString) {
|
|
53
|
-
if (lastIsString) {
|
|
54
|
-
last.push(child);
|
|
55
|
-
} else {
|
|
56
|
-
nextChildren.push([child]);
|
|
57
|
-
}
|
|
58
|
-
} else {
|
|
59
|
-
concatStringChildren();
|
|
60
|
-
nextChildren.push(child);
|
|
61
|
-
}
|
|
62
|
-
lastIsString = isString;
|
|
63
|
-
}
|
|
64
|
-
concatStringChildren();
|
|
65
|
-
return nextChildren;
|
|
39
|
+
return React.Children.toArray(children).map((child, index) => {
|
|
40
|
+
return typeof child === "string" ? (
|
|
41
|
+
// so "data-disable-theme" is a hack to fix themeInverse, don't ask me why
|
|
42
|
+
/* @__PURE__ */ jsx(TextComponent, { "data-disable-theme": true, ...props, ...textProps, children: child }, index)
|
|
43
|
+
) : child;
|
|
44
|
+
});
|
|
66
45
|
}
|
|
67
46
|
export {
|
|
68
47
|
wrapChildrenInText
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/wrapChildrenInText.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AAoDM;AAnDN,OAAO,WAAW;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;AAEA,QAAM,QAAQ;AAAA,IACZ,GAAG;AAAA,EACL;AAGA,MAAI;AAAO,UAAM,QAAQ;AACzB,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAU,UAAM,WAAW;AAC/B,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAe,UAAM,gBAAgB;AACzC,MAAI;AAAW,UAAM,YAAY;AACjC,MAAI;AAAM,UAAM,OAAO;AACvB,MAAI;AAAW,UAAM,YAAY;AAEjC,SAAO,MAAM,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,OAAO,UAAU;AAC5D,WAAO,OAAO,UAAU;AAAA;AAAA,MAEtB,oBAAC,iBAAc,sBAAkB,MAAc,GAAG,OAAQ,GAAG,WAC1D,mBADoC,KAEvC;AAAA,QAEA;AAAA,EAEJ,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,9 +16,6 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
16
16
|
if (noTextWrap || !children) {
|
|
17
17
|
return [children];
|
|
18
18
|
}
|
|
19
|
-
const allChildren = React.Children.toArray(children);
|
|
20
|
-
const nextChildren = [];
|
|
21
|
-
let lastIsString = false;
|
|
22
19
|
const props = {
|
|
23
20
|
...extraProps
|
|
24
21
|
};
|
|
@@ -38,30 +35,12 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
38
35
|
props.size = size;
|
|
39
36
|
if (fontStyle)
|
|
40
37
|
props.fontStyle = fontStyle;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
for (const child of allChildren) {
|
|
49
|
-
const last = nextChildren[nextChildren.length - 1];
|
|
50
|
-
const isString = typeof child === "string";
|
|
51
|
-
if (isString) {
|
|
52
|
-
if (lastIsString) {
|
|
53
|
-
last.push(child);
|
|
54
|
-
} else {
|
|
55
|
-
nextChildren.push([child]);
|
|
56
|
-
}
|
|
57
|
-
} else {
|
|
58
|
-
concatStringChildren();
|
|
59
|
-
nextChildren.push(child);
|
|
60
|
-
}
|
|
61
|
-
lastIsString = isString;
|
|
62
|
-
}
|
|
63
|
-
concatStringChildren();
|
|
64
|
-
return nextChildren;
|
|
38
|
+
return React.Children.toArray(children).map((child, index) => {
|
|
39
|
+
return typeof child === "string" ? (
|
|
40
|
+
// so "data-disable-theme" is a hack to fix themeInverse, don't ask me why
|
|
41
|
+
<TextComponent data-disable-theme key={index} {...props} {...textProps}>{child}</TextComponent>
|
|
42
|
+
) : child;
|
|
43
|
+
});
|
|
65
44
|
}
|
|
66
45
|
export {
|
|
67
46
|
wrapChildrenInText
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/wrapChildrenInText.tsx"],
|
|
4
|
-
"mappings": "AACA,OAAO,WAAW;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;
|
|
4
|
+
"mappings": "AACA,OAAO,WAAW;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;AAEA,QAAM,QAAQ;AAAA,IACZ,GAAG;AAAA,EACL;AAGA,MAAI;AAAO,UAAM,QAAQ;AACzB,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAU,UAAM,WAAW;AAC/B,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAe,UAAM,gBAAgB;AACzC,MAAI;AAAW,UAAM,YAAY;AACjC,MAAI;AAAM,UAAM,OAAO;AACvB,MAAI;AAAW,UAAM,YAAY;AAEjC,SAAO,MAAM,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,OAAO,UAAU;AAC5D,WAAO,OAAO,UAAU;AAAA;AAAA,MAEtB,CAAC,cAAc,mBAAmB,KAAK,WAAW,WAAW,YAC1D,MACH,EAFC;AAAA,QAID;AAAA,EAEJ,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,9 +16,6 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
16
16
|
if (noTextWrap || !children) {
|
|
17
17
|
return [children];
|
|
18
18
|
}
|
|
19
|
-
const allChildren = React.Children.toArray(children);
|
|
20
|
-
const nextChildren = [];
|
|
21
|
-
let lastIsString = false;
|
|
22
19
|
const props = {
|
|
23
20
|
...extraProps
|
|
24
21
|
};
|
|
@@ -38,30 +35,12 @@ function wrapChildrenInText(TextComponent, propsIn, extraProps) {
|
|
|
38
35
|
props.size = size;
|
|
39
36
|
if (fontStyle)
|
|
40
37
|
props.fontStyle = fontStyle;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
for (const child of allChildren) {
|
|
49
|
-
const last = nextChildren[nextChildren.length - 1];
|
|
50
|
-
const isString = typeof child === "string";
|
|
51
|
-
if (isString) {
|
|
52
|
-
if (lastIsString) {
|
|
53
|
-
last.push(child);
|
|
54
|
-
} else {
|
|
55
|
-
nextChildren.push([child]);
|
|
56
|
-
}
|
|
57
|
-
} else {
|
|
58
|
-
concatStringChildren();
|
|
59
|
-
nextChildren.push(child);
|
|
60
|
-
}
|
|
61
|
-
lastIsString = isString;
|
|
62
|
-
}
|
|
63
|
-
concatStringChildren();
|
|
64
|
-
return nextChildren;
|
|
38
|
+
return React.Children.toArray(children).map((child, index) => {
|
|
39
|
+
return typeof child === "string" ? (
|
|
40
|
+
// so "data-disable-theme" is a hack to fix themeInverse, don't ask me why
|
|
41
|
+
<TextComponent data-disable-theme key={index} {...props} {...textProps}>{child}</TextComponent>
|
|
42
|
+
) : child;
|
|
43
|
+
});
|
|
65
44
|
}
|
|
66
45
|
export {
|
|
67
46
|
wrapChildrenInText
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/wrapChildrenInText.tsx"],
|
|
4
|
-
"mappings": "AACA,OAAO,WAAW;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;
|
|
4
|
+
"mappings": "AACA,OAAO,WAAW;AASX,SAAS,mBACd,eACA,SAGA,YACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,cAAc,CAAC,UAAU;AAC3B,WAAO,CAAC,QAAQ;AAAA,EAClB;AAEA,QAAM,QAAQ;AAAA,IACZ,GAAG;AAAA,EACL;AAGA,MAAI;AAAO,UAAM,QAAQ;AACzB,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAU,UAAM,WAAW;AAC/B,MAAI;AAAY,UAAM,aAAa;AACnC,MAAI;AAAe,UAAM,gBAAgB;AACzC,MAAI;AAAW,UAAM,YAAY;AACjC,MAAI;AAAM,UAAM,OAAO;AACvB,MAAI;AAAW,UAAM,YAAY;AAEjC,SAAO,MAAM,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,OAAO,UAAU;AAC5D,WAAO,OAAO,UAAU;AAAA;AAAA,MAEtB,CAAC,cAAc,mBAAmB,KAAK,WAAW,WAAW,YAC1D,MACH,EAFC;AAAA,QAID;AAAA,EAEJ,CAAC;AACH;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/text",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.28.0",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.css"
|
|
6
6
|
],
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tamagui/get-font-sized": "1.
|
|
35
|
-
"@tamagui/helpers-tamagui": "1.
|
|
36
|
-
"@tamagui/web": "1.
|
|
34
|
+
"@tamagui/get-font-sized": "1.28.0",
|
|
35
|
+
"@tamagui/helpers-tamagui": "1.28.0",
|
|
36
|
+
"@tamagui/web": "1.28.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.
|
|
42
|
+
"@tamagui/build": "1.28.0",
|
|
43
43
|
"react": "^18.2.0"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SizableTextProps } from './SizableText'
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type TextContextStyles = {
|
|
4
4
|
color?: SizableTextProps['color']
|
|
5
5
|
fontWeight?: SizableTextProps['fontWeight']
|
|
6
6
|
fontSize?: SizableTextProps['fontSize']
|
|
@@ -8,6 +8,9 @@ export type TextParentStyles = {
|
|
|
8
8
|
fontStyle?: SizableTextProps['fontStyle']
|
|
9
9
|
letterSpacing?: SizableTextProps['letterSpacing']
|
|
10
10
|
textAlign?: SizableTextProps['textAlign']
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type TextParentStyles = TextContextStyles & {
|
|
11
14
|
// all the other text controls
|
|
12
15
|
textProps?: Partial<SizableTextProps>
|
|
13
16
|
noTextWrap?: boolean
|
|
@@ -33,14 +33,6 @@ export function wrapChildrenInText(
|
|
|
33
33
|
return [children]
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
// in the case of using variables, like so:
|
|
37
|
-
// <ListItem>Hello, {name}</ListItem>
|
|
38
|
-
// it gives us props.children as ['Hello, ', 'name']
|
|
39
|
-
// but we don't want to wrap multiple SizableText around each part
|
|
40
|
-
// so we group them
|
|
41
|
-
const allChildren = React.Children.toArray(children)
|
|
42
|
-
const nextChildren: any[] = []
|
|
43
|
-
let lastIsString = false
|
|
44
36
|
const props = {
|
|
45
37
|
...extraProps,
|
|
46
38
|
}
|
|
@@ -55,33 +47,14 @@ export function wrapChildrenInText(
|
|
|
55
47
|
if (size) props.size = size
|
|
56
48
|
if (fontStyle) props.fontStyle = fontStyle
|
|
57
49
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<TextComponent key={index} {...props} {...textProps}>
|
|
64
|
-
{childrenStrings}
|
|
50
|
+
return React.Children.toArray(children).map((child, index) => {
|
|
51
|
+
return typeof child === 'string' ? (
|
|
52
|
+
// so "data-disable-theme" is a hack to fix themeInverse, don't ask me why
|
|
53
|
+
<TextComponent data-disable-theme key={index} {...props} {...textProps}>
|
|
54
|
+
{child}
|
|
65
55
|
</TextComponent>
|
|
56
|
+
) : (
|
|
57
|
+
child
|
|
66
58
|
)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
for (const child of allChildren) {
|
|
70
|
-
const last = nextChildren[nextChildren.length - 1]
|
|
71
|
-
const isString = typeof child === 'string'
|
|
72
|
-
if (isString) {
|
|
73
|
-
if (lastIsString) {
|
|
74
|
-
last.push(child)
|
|
75
|
-
} else {
|
|
76
|
-
nextChildren.push([child])
|
|
77
|
-
}
|
|
78
|
-
} else {
|
|
79
|
-
concatStringChildren()
|
|
80
|
-
nextChildren.push(child)
|
|
81
|
-
}
|
|
82
|
-
lastIsString = isString
|
|
83
|
-
}
|
|
84
|
-
concatStringChildren()
|
|
85
|
-
|
|
86
|
-
return nextChildren
|
|
59
|
+
})
|
|
87
60
|
}
|
package/types/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SizableTextProps } from './SizableText';
|
|
2
|
-
export type
|
|
2
|
+
export type TextContextStyles = {
|
|
3
3
|
color?: SizableTextProps['color'];
|
|
4
4
|
fontWeight?: SizableTextProps['fontWeight'];
|
|
5
5
|
fontSize?: SizableTextProps['fontSize'];
|
|
@@ -7,6 +7,8 @@ export type TextParentStyles = {
|
|
|
7
7
|
fontStyle?: SizableTextProps['fontStyle'];
|
|
8
8
|
letterSpacing?: SizableTextProps['letterSpacing'];
|
|
9
9
|
textAlign?: SizableTextProps['textAlign'];
|
|
10
|
+
};
|
|
11
|
+
export type TextParentStyles = TextContextStyles & {
|
|
10
12
|
textProps?: Partial<SizableTextProps>;
|
|
11
13
|
noTextWrap?: boolean;
|
|
12
14
|
};
|
package/types/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACjC,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC3C,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAA;IACvC,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IAC3C,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACzC,aAAa,CAAC,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAA;IACjD,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;CAC1C,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IAEjD,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA"}
|
|
@@ -7,6 +7,6 @@ type Props = TextParentStyles & {
|
|
|
7
7
|
};
|
|
8
8
|
export declare function wrapChildrenInText(TextComponent: any, propsIn: Props & {
|
|
9
9
|
unstyled?: boolean;
|
|
10
|
-
}, extraProps?: Record<string, any>):
|
|
10
|
+
}, extraProps?: Record<string, any>): React.ReactNode[] | (number | React.ReactFragment | JSX.Element)[];
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=wrapChildrenInText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapChildrenInText.d.ts","sourceRoot":"","sources":["../src/wrapChildrenInText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,KAAK,KAAK,GAAG,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,KAAK,GAAG;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,EACD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"wrapChildrenInText.d.ts","sourceRoot":"","sources":["../src/wrapChildrenInText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE1C,KAAK,KAAK,GAAG,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,GAAG,EAClB,OAAO,EAAE,KAAK,GAAG;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,EACD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sEA4CjC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { expect, test } from 'vitest'
|
|
3
|
-
|
|
4
|
-
import { wrapChildrenInText } from './wrapChildrenInText'
|
|
5
|
-
|
|
6
|
-
const Comp = () => {}
|
|
7
|
-
const re = <div data-id={Math.random()} />
|
|
8
|
-
const reID = re.props['data-id']
|
|
9
|
-
|
|
10
|
-
test('should wrap all string children, not wrap others', () => {
|
|
11
|
-
const out = wrapChildrenInText(Comp, {
|
|
12
|
-
children: [re, 'a', 'b', re, 'c', re, 'd'],
|
|
13
|
-
}) as any
|
|
14
|
-
|
|
15
|
-
expect(out[0].props['data-id']).toBe(reID)
|
|
16
|
-
|
|
17
|
-
expect(out[1].type).toBe(Comp)
|
|
18
|
-
expect(out[1].props.children).toStrictEqual(['a', 'b'])
|
|
19
|
-
|
|
20
|
-
expect(out[2].props['data-id']).toBe(reID)
|
|
21
|
-
|
|
22
|
-
expect(out[3].type).toBe(Comp)
|
|
23
|
-
expect(out[3].props.children).toStrictEqual(['c'])
|
|
24
|
-
|
|
25
|
-
expect(out[4].props['data-id']).toBe(reID)
|
|
26
|
-
|
|
27
|
-
expect(out[5].type).toBe(Comp)
|
|
28
|
-
expect(out[5].props.children).toStrictEqual(['d'])
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
test('should first child string', () => {
|
|
32
|
-
const out = wrapChildrenInText(Comp, {
|
|
33
|
-
children: ['a', re],
|
|
34
|
-
}) as any
|
|
35
|
-
|
|
36
|
-
expect(out[0].type).toBe(Comp)
|
|
37
|
-
expect(out[0].props.children).toStrictEqual(['a'])
|
|
38
|
-
|
|
39
|
-
expect(out[1].props['data-id']).toBe(reID)
|
|
40
|
-
})
|