bard-legends-framework 0.8.5 → 0.8.6

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 (53) hide show
  1. package/.cursorignore +4 -0
  2. package/.eslintrc.js +7 -0
  3. package/dist/pixi/display-object/index.d.ts +8 -0
  4. package/dist/pixi/display-object/index.js +19 -0
  5. package/dist/pixi/display-object/index.js.map +1 -0
  6. package/dist/pixi/display-object/objects/text/helpers/index.d.ts +8 -0
  7. package/dist/pixi/display-object/objects/text/helpers/index.js +6 -0
  8. package/dist/pixi/display-object/objects/text/helpers/index.js.map +1 -0
  9. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.d.ts +25 -0
  10. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.js +50 -0
  11. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/pixi-text-style-converter.js.map +1 -0
  12. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.d.ts +20 -0
  13. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js +167 -0
  14. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.js.map +1 -0
  15. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.d.ts +1 -0
  16. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js +398 -0
  17. package/dist/pixi/display-object/objects/text/helpers/process-steps/1-data-in-converter/rich-text-data-in-converter.test.js.map +1 -0
  18. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.d.ts +6 -0
  19. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js +70 -0
  20. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.js.map +1 -0
  21. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.test.d.ts +1 -0
  22. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.test.js +136 -0
  23. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/consistent-space-text-wrapper.test.js.map +1 -0
  24. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.d.ts +37 -0
  25. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js +169 -0
  26. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.js.map +1 -0
  27. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.d.ts +1 -0
  28. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js +283 -0
  29. package/dist/pixi/display-object/objects/text/helpers/process-steps/2-wrapping-text/rich-text-typewriter.test.js.map +1 -0
  30. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.d.ts +8 -0
  31. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js +88 -0
  32. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.js.map +1 -0
  33. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.d.ts +1 -0
  34. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js +147 -0
  35. package/dist/pixi/display-object/objects/text/helpers/process-steps/3-data-out-converter/rich-text-data-out-converter.test.js.map +1 -0
  36. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.d.ts +28 -0
  37. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.js +28 -0
  38. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.js.map +1 -0
  39. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.d.ts +5 -0
  40. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js +558 -0
  41. package/dist/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.js.map +1 -0
  42. package/dist/pixi/display-object/objects/text/rich-text.d.ts +19 -0
  43. package/dist/pixi/display-object/objects/text/rich-text.js +16 -0
  44. package/dist/pixi/display-object/objects/text/rich-text.js.map +1 -0
  45. package/dist/pixi/display-object/objects/text/text.d.ts +19 -0
  46. package/dist/pixi/display-object/objects/text/text.js +88 -0
  47. package/dist/pixi/display-object/objects/text/text.js.map +1 -0
  48. package/dist/pixi/index.d.ts +2 -7
  49. package/dist/pixi/index.js +3 -15
  50. package/dist/pixi/index.js.map +1 -1
  51. package/package.json +4 -3
  52. package/package.json.bak +4 -3
  53. package/vitest.config.ts +2 -1
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RichTextToPlaneText = void 0;
4
+ const rich_text_data_in_converter_1 = require("./process-steps/1-data-in-converter/rich-text-data-in-converter");
5
+ const consistent_space_text_wrapper_1 = require("./process-steps/2-wrapping-text/consistent-space-text-wrapper");
6
+ const rich_text_typewriter_1 = require("./process-steps/2-wrapping-text/rich-text-typewriter");
7
+ const rich_text_data_out_converter_1 = require("./process-steps/3-data-out-converter/rich-text-data-out-converter");
8
+ class RichTextToPlaneText {
9
+ /**
10
+ * Converts a tagged text into plane texts with, including styles, positions, and wrapping lines
11
+ * @param text The input text containing style tags
12
+ * @param styles Object containing style definitions
13
+ * @returns Array of text data, each containing text, style, and position
14
+ */
15
+ static process(text, styles) {
16
+ let chunks = rich_text_data_in_converter_1.RichTextDataInConverter.process(text, styles);
17
+ let typewriter = new rich_text_typewriter_1.RichTextTypewriter(styles.default.wordWrapWidth ?? Infinity, {
18
+ rectangleCutOption: styles.rectangleCut,
19
+ verticalAlignment: styles.verticalAlignment,
20
+ horizontalAlignment: styles.default.align
21
+ });
22
+ let positionedChunks = consistent_space_text_wrapper_1.ConsistentSpaceTextWrapper.wrapText(chunks, typewriter);
23
+ let textData = rich_text_data_out_converter_1.RichTextDataOutConverter.process(positionedChunks);
24
+ return textData;
25
+ }
26
+ }
27
+ exports.RichTextToPlaneText = RichTextToPlaneText;
28
+ //# sourceMappingURL=rich-text-to-plane-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-to-plane-text.js","sourceRoot":"","sources":["../../../../../../src/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.ts"],"names":[],"mappings":";;;AAKA,iHAA0G;AAC1G,iHAA2G;AAC3G,+FAA0F;AAC1F,oHAA6G;AAmB7G,MAAa,mBAAmB;IAC9B;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,IAAY,EAAE,MAAsB;QACjD,IAAI,MAAM,GAAG,qDAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE3D,IAAI,UAAU,GAAG,IAAI,yCAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,QAAQ,EAAE;YAChF,kBAAkB,EAAE,MAAM,CAAC,YAAY;YACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;SAC1C,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAG,0DAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE/E,IAAI,QAAQ,GAAG,uDAAwB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AApBD,kDAoBC"}
@@ -0,0 +1,5 @@
1
+ import { ChunkData } from './rich-text-to-plane-text';
2
+ export declare const CreateSampleChunkData: (text: string, options?: {
3
+ fontSize?: number;
4
+ }) => ChunkData;
5
+ export declare const MockPixiMeasureText: () => void;
@@ -0,0 +1,558 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.MockPixiMeasureText = exports.CreateSampleChunkData = void 0;
27
+ const helpers_lib_1 = require("helpers-lib");
28
+ const PIXI = __importStar(require("pixi.js"));
29
+ const vitest_1 = require("vitest");
30
+ const rich_text_to_plane_text_1 = require("./rich-text-to-plane-text");
31
+ const CreateSampleChunkData = (text, options) => ({
32
+ text: text,
33
+ whitespace: text.trim() === '',
34
+ style: {
35
+ cacheKey: JSON.stringify(options) ?? 'empty',
36
+ style: { fontSize: options?.fontSize ?? 16, fontFamily: 'Arial' },
37
+ pixiStyle: { fontSize: options?.fontSize ?? 16, fontFamily: 'Arial' },
38
+ height: options?.fontSize ?? 16,
39
+ ascent: options?.fontSize ? options.fontSize - 4 : 12,
40
+ descent: 4,
41
+ width: text.length * 10,
42
+ spaceWidth: 10
43
+ }
44
+ });
45
+ exports.CreateSampleChunkData = CreateSampleChunkData;
46
+ const MockPixiMeasureText = () => {
47
+ const ORIGINAL_MEASURE_TEXT = PIXI.TextMetrics.measureText;
48
+ (0, vitest_1.beforeEach)(() => {
49
+ // Mock PIXI.TextMetrics.measureText to return predictable widths
50
+ PIXI.TextMetrics.measureText = vitest_1.vi.fn().mockImplementation((text, style) => ({
51
+ width: text.length * 10,
52
+ height: style.fontSize,
53
+ fontProperties: { ascent: +style.fontSize - 4, descent: 4 }
54
+ }));
55
+ });
56
+ (0, vitest_1.afterEach)(() => {
57
+ // Restore original implementation
58
+ PIXI.TextMetrics.measureText = ORIGINAL_MEASURE_TEXT;
59
+ });
60
+ };
61
+ exports.MockPixiMeasureText = MockPixiMeasureText;
62
+ (0, vitest_1.describe)('RichTextToPlaneText', () => {
63
+ (0, exports.MockPixiMeasureText)();
64
+ (0, vitest_1.describe)('breaking whitespaces', () => {
65
+ (0, vitest_1.test)('keep initial whitespace', () => {
66
+ let text = ' 456789';
67
+ let styles = {
68
+ default: {
69
+ fontSize: 10,
70
+ wordWrapWidth: 100
71
+ }
72
+ };
73
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
74
+ (0, vitest_1.expect)(result).toEqual([
75
+ {
76
+ text: ' 456789',
77
+ style: {
78
+ fontSize: 10
79
+ },
80
+ position: new helpers_lib_1.Vector(0, 0)
81
+ }
82
+ ]);
83
+ });
84
+ (0, vitest_1.test)('trim ending whitespace', () => {
85
+ let text = '0123 ';
86
+ let styles = {
87
+ default: {
88
+ fontSize: 10,
89
+ wordWrapWidth: 100
90
+ }
91
+ };
92
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
93
+ (0, vitest_1.expect)(result).toEqual([
94
+ {
95
+ text: '0123',
96
+ style: {
97
+ fontSize: 10
98
+ },
99
+ position: new helpers_lib_1.Vector(0, 0)
100
+ }
101
+ ]);
102
+ });
103
+ (0, vitest_1.test)('word break beginning with whitespace', () => {
104
+ let text = '0123456789 123';
105
+ let styles = {
106
+ default: {
107
+ fontSize: 10,
108
+ wordWrapWidth: 100
109
+ }
110
+ };
111
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
112
+ (0, vitest_1.expect)(result).toEqual([
113
+ {
114
+ text: '0123456789',
115
+ style: {
116
+ fontSize: 10
117
+ },
118
+ position: new helpers_lib_1.Vector(0, 0)
119
+ },
120
+ {
121
+ text: '123',
122
+ style: {
123
+ fontSize: 10
124
+ },
125
+ position: new helpers_lib_1.Vector(0, 10)
126
+ }
127
+ ]);
128
+ });
129
+ (0, vitest_1.test)('word break ending with whitespace', () => {
130
+ let text = '012345678 0123';
131
+ let styles = {
132
+ default: {
133
+ fontSize: 10,
134
+ wordWrapWidth: 100
135
+ }
136
+ };
137
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
138
+ (0, vitest_1.expect)(result).toStrictEqual([
139
+ { text: '012345678', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
140
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) }
141
+ ]);
142
+ });
143
+ (0, vitest_1.test)('line should include as much whitespace as possible in the remaining space', () => {
144
+ let text = '01234567 123';
145
+ let styles = {
146
+ default: {
147
+ fontSize: 10,
148
+ wordWrapWidth: 100
149
+ }
150
+ };
151
+ // With wordWrapWidth of 100, words longer than 10 characters should wrap
152
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
153
+ (0, vitest_1.expect)(result).toEqual([
154
+ {
155
+ text: '01234567',
156
+ style: {
157
+ fontSize: 10
158
+ },
159
+ position: new helpers_lib_1.Vector(0, 0)
160
+ },
161
+ {
162
+ text: ' 123',
163
+ style: {
164
+ fontSize: 10
165
+ },
166
+ position: new helpers_lib_1.Vector(0, 10)
167
+ }
168
+ ]);
169
+ });
170
+ (0, vitest_1.test)('line should include one less whitespace after new line', () => {
171
+ let text = '0123456789 345';
172
+ let styles = {
173
+ default: {
174
+ fontSize: 10,
175
+ wordWrapWidth: 100
176
+ }
177
+ };
178
+ // With wordWrapWidth of 100, words longer than 10 characters should wrap
179
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
180
+ (0, vitest_1.expect)(result).toEqual([
181
+ {
182
+ text: '0123456789',
183
+ style: {
184
+ fontSize: 10
185
+ },
186
+ position: new helpers_lib_1.Vector(0, 0)
187
+ },
188
+ {
189
+ text: ' 345',
190
+ style: {
191
+ fontSize: 10
192
+ },
193
+ position: new helpers_lib_1.Vector(0, 10)
194
+ }
195
+ ]);
196
+ });
197
+ (0, vitest_1.test)('multiple spaces in the same line', () => {
198
+ let text = '0123456789 2 5 0123456789';
199
+ let styles = {
200
+ default: {
201
+ fontSize: 10,
202
+ wordWrapWidth: 100
203
+ }
204
+ };
205
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
206
+ (0, vitest_1.expect)(result).toEqual([
207
+ { text: '0123456789', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
208
+ { text: ' 2 5', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) },
209
+ { text: '0123456789', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 20) }
210
+ ]);
211
+ });
212
+ (0, vitest_1.test)('long words', () => {
213
+ let text = '01234567890123 567890123456789';
214
+ let styles = {
215
+ default: { fontSize: 10, wordWrapWidth: 100 },
216
+ styles: { red: { fontSize: 14 } }
217
+ };
218
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
219
+ (0, vitest_1.expect)(result).toStrictEqual([
220
+ { text: '01234567890123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
221
+ { text: '567890123456789', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) }
222
+ ]);
223
+ });
224
+ });
225
+ (0, vitest_1.describe)('breaking words with tags', () => {
226
+ (0, vitest_1.test)('trim ending whitespace', () => {
227
+ let text = '0123<r> </r>';
228
+ let styles = {
229
+ default: {
230
+ fontSize: 10,
231
+ wordWrapWidth: 100
232
+ },
233
+ styles: {
234
+ r: { fontSize: 14 }
235
+ }
236
+ };
237
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
238
+ (0, vitest_1.expect)(result).toEqual([
239
+ {
240
+ text: '0123',
241
+ style: {
242
+ fontSize: 10
243
+ },
244
+ position: new helpers_lib_1.Vector(0, 4)
245
+ }
246
+ ]);
247
+ });
248
+ (0, vitest_1.test)('text with style', () => {
249
+ let text = '0 23 <r> 6 89 12</r> 456';
250
+ let styles = {
251
+ default: {
252
+ fontSize: 10,
253
+ wordWrapWidth: 100
254
+ },
255
+ styles: {
256
+ r: { fontSize: 14 }
257
+ }
258
+ };
259
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
260
+ (0, vitest_1.expect)(result).toStrictEqual([
261
+ { text: '0 23 ', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 4) },
262
+ { text: ' 6 89', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(50, 0) },
263
+ { text: '12', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 14) },
264
+ { text: ' 456', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(20, 18) }
265
+ ]);
266
+ });
267
+ (0, vitest_1.test)('multiple line break with following tag', () => {
268
+ let text = 'Line 1\n\n<r>Line 3</r>';
269
+ let styles = {
270
+ default: { fontSize: 10, wordWrapWidth: 100 },
271
+ styles: {
272
+ r: { fontSize: 14 }
273
+ }
274
+ };
275
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
276
+ (0, vitest_1.expect)(result).toEqual([
277
+ { text: 'Line 1', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
278
+ { text: 'Line 3', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 20) }
279
+ ]);
280
+ });
281
+ (0, vitest_1.test)('multiple line break inside a tag', () => {
282
+ let text = '012<r>345678\n\n0123</r>';
283
+ let styles = {
284
+ default: { fontSize: 10, wordWrapWidth: 100 },
285
+ styles: {
286
+ r: { fontSize: 16, color: { r: 255, g: 0, b: 0 } }
287
+ }
288
+ };
289
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
290
+ (0, vitest_1.expect)(result).toEqual([
291
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 6) },
292
+ { text: '345678', style: { fontSize: 16, color: { r: 255, g: 0, b: 0 } }, position: new helpers_lib_1.Vector(30, 0) },
293
+ { text: '0123', style: { fontSize: 16, color: { r: 255, g: 0, b: 0 } }, position: new helpers_lib_1.Vector(0, 32) }
294
+ ]);
295
+ });
296
+ (0, vitest_1.test)('line break with following tag', () => {
297
+ let text = '0123456789<r>123</r>';
298
+ let styles = {
299
+ default: {
300
+ fontSize: 10,
301
+ wordWrapWidth: 100
302
+ },
303
+ styles: {
304
+ r: { fontSize: 14 }
305
+ }
306
+ };
307
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
308
+ (0, vitest_1.expect)(result).toStrictEqual([
309
+ { text: '0123456789', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
310
+ { text: '123', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 10) }
311
+ ]);
312
+ });
313
+ (0, vitest_1.test)('line break with preceeding tag', () => {
314
+ let text = '<r>0123456789</r>123';
315
+ let styles = {
316
+ default: {
317
+ fontSize: 10,
318
+ wordWrapWidth: 100
319
+ },
320
+ styles: {
321
+ r: { fontSize: 14 }
322
+ }
323
+ };
324
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
325
+ (0, vitest_1.expect)(result).toStrictEqual([
326
+ { text: '0123456789', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 0) },
327
+ { text: '123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 14) }
328
+ ]);
329
+ });
330
+ (0, vitest_1.test)('line start trimming combined with tags', () => {
331
+ let text = '<r>0123456789</r> <r>123</r>';
332
+ let styles = {
333
+ default: {
334
+ fontSize: 10,
335
+ wordWrapWidth: 100
336
+ },
337
+ styles: {
338
+ r: { fontSize: 14 }
339
+ }
340
+ };
341
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
342
+ (0, vitest_1.expect)(result).toStrictEqual([
343
+ { text: '0123456789', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 0) },
344
+ { text: '123', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 14) }
345
+ ]);
346
+ });
347
+ (0, vitest_1.test)('line end trimming combined with tags', () => {
348
+ let text = '<r>012345678</r> <r>0123</r>';
349
+ let styles = {
350
+ default: { fontSize: 10, wordWrapWidth: 100 },
351
+ styles: { r: { fontSize: 14 } }
352
+ };
353
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
354
+ (0, vitest_1.expect)(result).toStrictEqual([
355
+ { text: '012345678', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 0) },
356
+ { text: '0123', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(0, 14) }
357
+ ]);
358
+ });
359
+ (0, vitest_1.test)('nested tags', () => {
360
+ let text = '<b><r>0123456789</r>01</b>01234';
361
+ let styles = {
362
+ default: { fontSize: 10 },
363
+ styles: {
364
+ b: { fontSize: 14 },
365
+ r: { fontSize: 16 }
366
+ }
367
+ };
368
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
369
+ (0, vitest_1.expect)(result).toStrictEqual([
370
+ { text: '0123456789', style: { fontSize: 16 }, position: new helpers_lib_1.Vector(0, 0) },
371
+ { text: '01', style: { fontSize: 14 }, position: new helpers_lib_1.Vector(100, 2) },
372
+ { text: '01234', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(120, 6) }
373
+ ]);
374
+ });
375
+ });
376
+ (0, vitest_1.describe)('rectangle cut', () => {
377
+ (0, vitest_1.test)('top-left', () => {
378
+ let text = '0123 0123 5678 ';
379
+ let styles = {
380
+ default: {
381
+ fontSize: 10,
382
+ wordWrapWidth: 100
383
+ },
384
+ rectangleCut: {
385
+ position: new helpers_lib_1.Vector(50, 10),
386
+ direction: 'topLeft'
387
+ }
388
+ };
389
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
390
+ (0, vitest_1.expect)(result).toEqual([
391
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(50, 0) },
392
+ { text: '0123 5678', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) }
393
+ ]);
394
+ });
395
+ (0, vitest_1.test)('top-right', () => {
396
+ let text = '0123 0123 5678 ';
397
+ let styles = {
398
+ default: {
399
+ fontSize: 10,
400
+ wordWrapWidth: 100
401
+ },
402
+ rectangleCut: {
403
+ position: new helpers_lib_1.Vector(50, 10),
404
+ direction: 'topRight'
405
+ }
406
+ };
407
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
408
+ (0, vitest_1.expect)(result).toEqual([
409
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
410
+ { text: '0123 5678', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) }
411
+ ]);
412
+ });
413
+ (0, vitest_1.test)('bottom-left', () => {
414
+ let text = '0123 5678 0123';
415
+ let styles = {
416
+ default: {
417
+ fontSize: 10,
418
+ wordWrapWidth: 100
419
+ },
420
+ rectangleCut: {
421
+ position: new helpers_lib_1.Vector(50, 10),
422
+ direction: 'bottomLeft'
423
+ }
424
+ };
425
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
426
+ (0, vitest_1.expect)(result).toEqual([
427
+ { text: '0123 5678', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
428
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(50, 10) }
429
+ ]);
430
+ });
431
+ (0, vitest_1.test)('bottom-right', () => {
432
+ let text = '0123 5678 0123 0123';
433
+ let styles = {
434
+ default: {
435
+ fontSize: 10,
436
+ wordWrapWidth: 100
437
+ },
438
+ rectangleCut: {
439
+ position: new helpers_lib_1.Vector(50, 10),
440
+ direction: 'bottomRight'
441
+ }
442
+ };
443
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
444
+ (0, vitest_1.expect)(result).toEqual([
445
+ { text: '0123 5678', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
446
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) },
447
+ { text: '0123', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 20) }
448
+ ]);
449
+ });
450
+ });
451
+ (0, vitest_1.describe)('horizontal alignment', () => {
452
+ (0, vitest_1.test)('left alignment', () => {
453
+ let text = '012 456 012';
454
+ let styles = {
455
+ default: {
456
+ fontSize: 10,
457
+ wordWrapWidth: 100,
458
+ align: 'left'
459
+ }
460
+ };
461
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
462
+ (0, vitest_1.expect)(result).toEqual([
463
+ { text: '012 456', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
464
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) }
465
+ ]);
466
+ });
467
+ (0, vitest_1.test)('center alignment', () => {
468
+ let text = '012 456 012';
469
+ let styles = {
470
+ default: {
471
+ fontSize: 10,
472
+ wordWrapWidth: 100,
473
+ align: 'center'
474
+ }
475
+ };
476
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
477
+ (0, vitest_1.expect)(result).toEqual([
478
+ { text: '012 456', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(15, 0) },
479
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(35, 10) }
480
+ ]);
481
+ });
482
+ (0, vitest_1.test)('right alignment', () => {
483
+ let text = '012 456 012';
484
+ let styles = {
485
+ default: {
486
+ fontSize: 10,
487
+ wordWrapWidth: 100,
488
+ align: 'right'
489
+ }
490
+ };
491
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
492
+ (0, vitest_1.expect)(result).toEqual([
493
+ { text: '012 456', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(30, 0) },
494
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(70, 10) }
495
+ ]);
496
+ });
497
+ });
498
+ (0, vitest_1.describe)('vertical alignment', () => {
499
+ (0, vitest_1.test)('top alignment', () => {
500
+ let text = '012 <r>456</r> 012';
501
+ let styles = {
502
+ default: {
503
+ fontSize: 10,
504
+ wordWrapWidth: 100
505
+ },
506
+ verticalAlignment: 'top',
507
+ styles: {
508
+ r: { fontSize: 20 }
509
+ }
510
+ };
511
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
512
+ (0, vitest_1.expect)(result).toEqual([
513
+ { text: '012 ', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 0) },
514
+ { text: '456', style: { fontSize: 20 }, position: new helpers_lib_1.Vector(40, 0) },
515
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 20) }
516
+ ]);
517
+ });
518
+ (0, vitest_1.test)('center alignment', () => {
519
+ let text = '012 <r>456</r> 012';
520
+ let styles = {
521
+ default: {
522
+ fontSize: 10,
523
+ wordWrapWidth: 100
524
+ },
525
+ verticalAlignment: 'center',
526
+ styles: {
527
+ r: { fontSize: 20 }
528
+ }
529
+ };
530
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
531
+ (0, vitest_1.expect)(result).toEqual([
532
+ { text: '012 ', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 5) },
533
+ { text: '456', style: { fontSize: 20 }, position: new helpers_lib_1.Vector(40, 0) },
534
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 20) }
535
+ ]);
536
+ });
537
+ (0, vitest_1.test)('bottom alignment', () => {
538
+ let text = '012 <r>456</r> 012';
539
+ let styles = {
540
+ default: {
541
+ fontSize: 10,
542
+ wordWrapWidth: 100
543
+ },
544
+ verticalAlignment: 'bottom',
545
+ styles: {
546
+ r: { fontSize: 20 }
547
+ }
548
+ };
549
+ let result = rich_text_to_plane_text_1.RichTextToPlaneText.process(text, styles);
550
+ (0, vitest_1.expect)(result).toEqual([
551
+ { text: '012 ', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 10) },
552
+ { text: '456', style: { fontSize: 20 }, position: new helpers_lib_1.Vector(40, 0) },
553
+ { text: '012', style: { fontSize: 10 }, position: new helpers_lib_1.Vector(0, 20) }
554
+ ]);
555
+ });
556
+ });
557
+ });
558
+ //# sourceMappingURL=rich-text-to-plane-text.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text-to-plane-text.test.js","sourceRoot":"","sources":["../../../../../../src/pixi/display-object/objects/text/helpers/rich-text-to-plane-text.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Vector } from 'helpers-lib';
2
+ import { Container } from '../../container';
3
+ import { PartialTextOptions } from './helpers/process-steps/1-data-in-converter/pixi-text-style-converter';
4
+ export interface RichTextRectangleCut {
5
+ readonly position: Vector;
6
+ readonly direction: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
7
+ }
8
+ export interface RichTextStyles {
9
+ readonly default: PartialTextOptions;
10
+ readonly styles?: {
11
+ readonly [key: string]: Omit<PartialTextOptions, 'align' | 'wordWrapWidth' | 'dropShadow'>;
12
+ };
13
+ readonly rectangleCut?: RichTextRectangleCut;
14
+ readonly verticalAlignment?: 'top' | 'center' | 'bottom';
15
+ }
16
+ export declare class RichText extends Container {
17
+ private readonly text;
18
+ constructor(text: string, styles: RichTextStyles);
19
+ }