@react-text-game/ui 0.3.11 → 0.3.12
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/components/StoryComponent/components/Text.d.ts.map +1 -1
- package/dist/components/StoryComponent/components/Text.js +9 -1
- package/dist/components/StoryComponent/components/Text.js.map +1 -1
- package/dist/styles/index.css +6 -0
- package/dist/tests/StoryComponent/Text.test.d.ts +2 -0
- package/dist/tests/StoryComponent/Text.test.d.ts.map +1 -0
- package/dist/tests/StoryComponent/Text.test.js +174 -0
- package/dist/tests/StoryComponent/Text.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/StoryComponent/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;CAC5B,CAAC,CAAC;AAEH,eAAO,MAAM,IAAI,GAAI,mCAAmC,SAAS,
|
|
1
|
+
{"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/StoryComponent/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;IAC7B,SAAS,EAAE,aAAa,CAAC;CAC5B,CAAC,CAAC;AAEH,eAAO,MAAM,IAAI,GAAI,mCAAmC,SAAS,4CAkBhE,CAAC"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { twMerge } from "tailwind-merge";
|
|
3
|
-
export const Text = ({ component: { props, content } }) =>
|
|
3
|
+
export const Text = ({ component: { props, content } }) => {
|
|
4
|
+
const className = twMerge("text-base text-justify whitespace-pre-wrap", props?.className);
|
|
5
|
+
// HTML rendering path - browser handles parsing naturally
|
|
6
|
+
if (props?.isHTML && typeof content === "string") {
|
|
7
|
+
return (_jsx("div", { className: className, dangerouslySetInnerHTML: { __html: content } }));
|
|
8
|
+
}
|
|
9
|
+
// Default: render as ReactNode
|
|
10
|
+
return _jsx("div", { className: className, children: content });
|
|
11
|
+
};
|
|
4
12
|
//# sourceMappingURL=Text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/components/StoryComponent/components/Text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMzC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAa,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../src/components/StoryComponent/components/Text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAMzC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAa,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,OAAO,CACrB,4CAA4C,EAC5C,KAAK,EAAE,SAAS,CACnB,CAAC;IAEF,0DAA0D;IAC1D,IAAI,KAAK,EAAE,MAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CACH,cACI,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAC9C,CACL,CAAC;IACN,CAAC;IAED,+BAA+B;IAC/B,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,OAAO,GAAO,CAAC;AACtD,CAAC,CAAC"}
|
package/dist/styles/index.css
CHANGED
|
@@ -434,6 +434,9 @@
|
|
|
434
434
|
.hidden {
|
|
435
435
|
display: none;
|
|
436
436
|
}
|
|
437
|
+
.inline {
|
|
438
|
+
display: inline;
|
|
439
|
+
}
|
|
437
440
|
.inline-block {
|
|
438
441
|
display: inline-block;
|
|
439
442
|
}
|
|
@@ -1104,6 +1107,9 @@
|
|
|
1104
1107
|
.uppercase {
|
|
1105
1108
|
text-transform: uppercase;
|
|
1106
1109
|
}
|
|
1110
|
+
.italic {
|
|
1111
|
+
font-style: italic;
|
|
1112
|
+
}
|
|
1107
1113
|
.accent-foreground {
|
|
1108
1114
|
accent-color: var(--color-foreground);
|
|
1109
1115
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.test.d.ts","sourceRoot":"","sources":["../../../src/tests/StoryComponent/Text.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { cleanup, render, screen } from "@testing-library/react";
|
|
2
|
+
import { afterEach, describe, expect, test } from "bun:test";
|
|
3
|
+
import { createElement } from "react";
|
|
4
|
+
import { Text } from "../../components/StoryComponent/components/Text";
|
|
5
|
+
describe("Text", () => {
|
|
6
|
+
afterEach(() => {
|
|
7
|
+
cleanup();
|
|
8
|
+
});
|
|
9
|
+
describe("Default rendering", () => {
|
|
10
|
+
test("renders plain text string", () => {
|
|
11
|
+
const component = {
|
|
12
|
+
type: "text",
|
|
13
|
+
content: "Hello, world!",
|
|
14
|
+
};
|
|
15
|
+
render(createElement(Text, { component }));
|
|
16
|
+
expect(screen.getByText("Hello, world!")).toBeTruthy();
|
|
17
|
+
});
|
|
18
|
+
test("renders multi-line text with whitespace preservation", () => {
|
|
19
|
+
const component = {
|
|
20
|
+
type: "text",
|
|
21
|
+
content: "Line 1\nLine 2\nLine 3",
|
|
22
|
+
};
|
|
23
|
+
const { container } = render(createElement(Text, { component }));
|
|
24
|
+
const textDiv = container.querySelector("div");
|
|
25
|
+
expect(textDiv?.textContent).toBe("Line 1\nLine 2\nLine 3");
|
|
26
|
+
expect(textDiv?.classList.contains("whitespace-pre-wrap")).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
test("renders empty string without errors", () => {
|
|
29
|
+
const component = {
|
|
30
|
+
type: "text",
|
|
31
|
+
content: "",
|
|
32
|
+
};
|
|
33
|
+
const { container } = render(createElement(Text, { component }));
|
|
34
|
+
const textDiv = container.querySelector("div");
|
|
35
|
+
expect(textDiv).toBeTruthy();
|
|
36
|
+
expect(textDiv?.textContent).toBe("");
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe("HTML rendering with isHTML", () => {
|
|
40
|
+
test("renders simple HTML tags when isHTML is true", () => {
|
|
41
|
+
const component = {
|
|
42
|
+
type: "text",
|
|
43
|
+
content: "<strong>Bold</strong> and <em>italic</em>",
|
|
44
|
+
props: { isHTML: true },
|
|
45
|
+
};
|
|
46
|
+
const { container } = render(createElement(Text, { component }));
|
|
47
|
+
const strong = container.querySelector("strong");
|
|
48
|
+
const em = container.querySelector("em");
|
|
49
|
+
expect(strong).toBeTruthy();
|
|
50
|
+
expect(strong?.textContent).toBe("Bold");
|
|
51
|
+
expect(em).toBeTruthy();
|
|
52
|
+
expect(em?.textContent).toBe("italic");
|
|
53
|
+
});
|
|
54
|
+
test("renders nested HTML elements", () => {
|
|
55
|
+
const component = {
|
|
56
|
+
type: "text",
|
|
57
|
+
content: "<div><p>Paragraph with <a href='#'>link</a></p></div>",
|
|
58
|
+
props: { isHTML: true },
|
|
59
|
+
};
|
|
60
|
+
const { container } = render(createElement(Text, { component }));
|
|
61
|
+
const paragraph = container.querySelector("p");
|
|
62
|
+
const link = container.querySelector("a");
|
|
63
|
+
expect(paragraph).toBeTruthy();
|
|
64
|
+
expect(link).toBeTruthy();
|
|
65
|
+
expect(link?.getAttribute("href")).toBe("#");
|
|
66
|
+
});
|
|
67
|
+
test("renders HTML with inline styles", () => {
|
|
68
|
+
const component = {
|
|
69
|
+
type: "text",
|
|
70
|
+
content: '<span style="color: red;">Red text</span>',
|
|
71
|
+
props: { isHTML: true },
|
|
72
|
+
};
|
|
73
|
+
const { container } = render(createElement(Text, { component }));
|
|
74
|
+
const span = container.querySelector("span");
|
|
75
|
+
expect(span).toBeTruthy();
|
|
76
|
+
expect(span?.style.color).toBe("red");
|
|
77
|
+
});
|
|
78
|
+
test("renders HTML with class attributes", () => {
|
|
79
|
+
const component = {
|
|
80
|
+
type: "text",
|
|
81
|
+
content: '<span class="custom-class">Styled text</span>',
|
|
82
|
+
props: { isHTML: true },
|
|
83
|
+
};
|
|
84
|
+
const { container } = render(createElement(Text, { component }));
|
|
85
|
+
const span = container.querySelector("span.custom-class");
|
|
86
|
+
expect(span).toBeTruthy();
|
|
87
|
+
expect(span?.textContent).toBe("Styled text");
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe("Edge cases", () => {
|
|
91
|
+
test("ignores isHTML when content is not a string (number)", () => {
|
|
92
|
+
const component = {
|
|
93
|
+
type: "text",
|
|
94
|
+
content: 42,
|
|
95
|
+
props: { isHTML: true },
|
|
96
|
+
};
|
|
97
|
+
render(createElement(Text, { component }));
|
|
98
|
+
// Should render as text, not attempt HTML parsing
|
|
99
|
+
expect(screen.getByText("42")).toBeTruthy();
|
|
100
|
+
});
|
|
101
|
+
test("renders HTML as escaped text when isHTML is false", () => {
|
|
102
|
+
const component = {
|
|
103
|
+
type: "text",
|
|
104
|
+
content: "<strong>Not bold</strong>",
|
|
105
|
+
props: { isHTML: false },
|
|
106
|
+
};
|
|
107
|
+
const { container } = render(createElement(Text, { component }));
|
|
108
|
+
// Should not have a strong element - HTML should be escaped
|
|
109
|
+
const strong = container.querySelector("strong");
|
|
110
|
+
expect(strong).toBeNull();
|
|
111
|
+
// The raw HTML string should be visible as text
|
|
112
|
+
expect(screen.getByText("<strong>Not bold</strong>")).toBeTruthy();
|
|
113
|
+
});
|
|
114
|
+
test("renders HTML as escaped text when isHTML is not provided", () => {
|
|
115
|
+
const component = {
|
|
116
|
+
type: "text",
|
|
117
|
+
content: "<em>Not italic</em>",
|
|
118
|
+
};
|
|
119
|
+
const { container } = render(createElement(Text, { component }));
|
|
120
|
+
// Should not have an em element
|
|
121
|
+
const em = container.querySelector("em");
|
|
122
|
+
expect(em).toBeNull();
|
|
123
|
+
// The raw HTML string should be visible as text
|
|
124
|
+
expect(screen.getByText("<em>Not italic</em>")).toBeTruthy();
|
|
125
|
+
});
|
|
126
|
+
test("handles malformed HTML gracefully", () => {
|
|
127
|
+
const component = {
|
|
128
|
+
type: "text",
|
|
129
|
+
content: "<div><p>Unclosed tags",
|
|
130
|
+
props: { isHTML: true },
|
|
131
|
+
};
|
|
132
|
+
// Browser should handle malformed HTML without throwing
|
|
133
|
+
const { container } = render(createElement(Text, { component }));
|
|
134
|
+
// Browser auto-closes tags, content should still render
|
|
135
|
+
expect(container.textContent).toContain("Unclosed tags");
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
describe("Styling", () => {
|
|
139
|
+
test("applies default classes", () => {
|
|
140
|
+
const component = {
|
|
141
|
+
type: "text",
|
|
142
|
+
content: "Styled text",
|
|
143
|
+
};
|
|
144
|
+
const { container } = render(createElement(Text, { component }));
|
|
145
|
+
const textDiv = container.querySelector("div");
|
|
146
|
+
expect(textDiv?.classList.contains("text-base")).toBe(true);
|
|
147
|
+
expect(textDiv?.classList.contains("text-justify")).toBe(true);
|
|
148
|
+
expect(textDiv?.classList.contains("whitespace-pre-wrap")).toBe(true);
|
|
149
|
+
});
|
|
150
|
+
test("applies custom className in default mode", () => {
|
|
151
|
+
const component = {
|
|
152
|
+
type: "text",
|
|
153
|
+
content: "Custom styled",
|
|
154
|
+
props: { className: "custom-class text-lg" },
|
|
155
|
+
};
|
|
156
|
+
const { container } = render(createElement(Text, { component }));
|
|
157
|
+
const textDiv = container.querySelector("div");
|
|
158
|
+
expect(textDiv?.classList.contains("custom-class")).toBe(true);
|
|
159
|
+
expect(textDiv?.classList.contains("text-lg")).toBe(true);
|
|
160
|
+
});
|
|
161
|
+
test("applies custom className in HTML mode", () => {
|
|
162
|
+
const component = {
|
|
163
|
+
type: "text",
|
|
164
|
+
content: "<strong>HTML content</strong>",
|
|
165
|
+
props: { isHTML: true, className: "html-custom-class" },
|
|
166
|
+
};
|
|
167
|
+
const { container } = render(createElement(Text, { component }));
|
|
168
|
+
const textDiv = container.querySelector("div");
|
|
169
|
+
expect(textDiv?.classList.contains("html-custom-class")).toBe(true);
|
|
170
|
+
expect(textDiv?.classList.contains("text-base")).toBe(true);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=Text.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Text.test.js","sourceRoot":"","sources":["../../../src/tests/StoryComponent/Text.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-text-game/ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.12",
|
|
4
4
|
"description": "Themeable React UI component library for text-based games with Tailwind CSS v4, featuring story passages, interactive maps, and customizable game interfaces",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|