yarn-spinner-runner-ts 0.1.2-b → 0.1.3

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 (63) hide show
  1. package/README.md +5 -2
  2. package/dist/compile/compiler.js +4 -4
  3. package/dist/compile/compiler.js.map +1 -1
  4. package/dist/compile/ir.d.ts +3 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.js +3 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/markup/parser.d.ts +3 -0
  9. package/dist/markup/parser.js +332 -0
  10. package/dist/markup/parser.js.map +1 -0
  11. package/dist/markup/types.d.ts +17 -0
  12. package/dist/markup/types.js +2 -0
  13. package/dist/markup/types.js.map +1 -0
  14. package/dist/model/ast.d.ts +3 -0
  15. package/dist/parse/parser.js +57 -8
  16. package/dist/parse/parser.js.map +1 -1
  17. package/dist/react/DialogueExample.js +4 -3
  18. package/dist/react/DialogueExample.js.map +1 -1
  19. package/dist/react/DialogueScene.d.ts +2 -1
  20. package/dist/react/DialogueScene.js +95 -26
  21. package/dist/react/DialogueScene.js.map +1 -1
  22. package/dist/react/DialogueView.d.ts +2 -1
  23. package/dist/react/DialogueView.js +5 -4
  24. package/dist/react/DialogueView.js.map +1 -1
  25. package/dist/react/MarkupRenderer.d.ts +8 -0
  26. package/dist/react/MarkupRenderer.js +64 -0
  27. package/dist/react/MarkupRenderer.js.map +1 -0
  28. package/dist/react/TypingText.d.ts +3 -1
  29. package/dist/react/TypingText.js +16 -40
  30. package/dist/react/TypingText.js.map +1 -1
  31. package/dist/runtime/results.d.ts +3 -0
  32. package/dist/runtime/runner.d.ts +1 -0
  33. package/dist/runtime/runner.js +151 -14
  34. package/dist/runtime/runner.js.map +1 -1
  35. package/dist/tests/markup.test.d.ts +1 -0
  36. package/dist/tests/markup.test.js +46 -0
  37. package/dist/tests/markup.test.js.map +1 -0
  38. package/dist/tests/nodes_lines.test.js +25 -1
  39. package/dist/tests/nodes_lines.test.js.map +1 -1
  40. package/dist/tests/options.test.js +30 -1
  41. package/dist/tests/options.test.js.map +1 -1
  42. package/docs/actor-transition.md +34 -0
  43. package/docs/markup.md +34 -19
  44. package/docs/scenes-actors-setup.md +1 -0
  45. package/package.json +1 -1
  46. package/src/compile/compiler.ts +4 -4
  47. package/src/compile/ir.ts +3 -2
  48. package/src/index.ts +3 -0
  49. package/src/markup/parser.ts +372 -0
  50. package/src/markup/types.ts +22 -0
  51. package/src/model/ast.ts +17 -13
  52. package/src/parse/parser.ts +60 -8
  53. package/src/react/DialogueExample.tsx +4 -2
  54. package/src/react/DialogueScene.tsx +143 -44
  55. package/src/react/DialogueView.tsx +19 -5
  56. package/src/react/MarkupRenderer.tsx +110 -0
  57. package/src/react/TypingText.tsx +25 -30
  58. package/src/react/dialogue.css +26 -13
  59. package/src/runtime/results.ts +3 -1
  60. package/src/runtime/runner.ts +158 -14
  61. package/src/tests/markup.test.ts +62 -0
  62. package/src/tests/nodes_lines.test.ts +35 -1
  63. package/src/tests/options.test.ts +39 -1
@@ -1,4 +1,5 @@
1
1
  import { lex } from "./lexer.js";
2
+ import { parseMarkup, sliceMarkup } from "../markup/parser.js";
2
3
  export class ParseError extends Error {
3
4
  }
4
5
  export function parseYarn(text) {
@@ -170,17 +171,33 @@ class Parser {
170
171
  }
171
172
  if (t.type === "TEXT") {
172
173
  const raw = this.take("TEXT").text;
173
- const { cleanText: text, tags } = this.extractTags(raw);
174
- const speakerMatch = text.match(/^([^:\s][^:]*)\s*:\s*(.*)$/);
174
+ const { cleanText: textWithoutTags, tags } = this.extractTags(raw);
175
+ const markup = parseMarkup(textWithoutTags);
176
+ const speakerMatch = markup.text.match(/^([^:\s][^:]*)\s*:\s*(.*)$/);
175
177
  if (speakerMatch) {
176
- return { type: "Line", speaker: speakerMatch[1].trim(), text: speakerMatch[2], tags };
178
+ const messageText = speakerMatch[2];
179
+ const messageOffset = markup.text.length - messageText.length;
180
+ const slicedMarkup = sliceMarkup(markup, messageOffset);
181
+ const normalizedMarkup = this.normalizeMarkup(slicedMarkup);
182
+ return {
183
+ type: "Line",
184
+ speaker: speakerMatch[1].trim(),
185
+ text: messageText,
186
+ tags,
187
+ markup: normalizedMarkup,
188
+ };
177
189
  }
178
190
  // If/Else blocks use inline markup {if ...}
179
- const trimmed = text.trim();
191
+ const trimmed = markup.text.trim();
180
192
  if (trimmed.startsWith("{if ") || trimmed === "{else}" || trimmed.startsWith("{else if ") || trimmed === "{endif}") {
181
- return this.parseIfFromText(text);
193
+ return this.parseIfFromText(markup.text);
182
194
  }
183
- return { type: "Line", text, tags };
195
+ return {
196
+ type: "Line",
197
+ text: markup.text,
198
+ tags,
199
+ markup: this.normalizeMarkup(markup),
200
+ };
184
201
  }
185
202
  throw new ParseError(`Unexpected token ${t.type}`);
186
203
  }
@@ -190,7 +207,8 @@ class Parser {
190
207
  while (this.at("OPTION")) {
191
208
  const raw = this.take("OPTION").text;
192
209
  const { cleanText: textWithAttrs, tags } = this.extractTags(raw);
193
- const { text, css } = this.extractCss(textWithAttrs);
210
+ const { text: textWithoutCss, css } = this.extractCss(textWithAttrs);
211
+ const markup = parseMarkup(textWithoutCss);
194
212
  let body = [];
195
213
  if (this.at("INDENT")) {
196
214
  this.take("INDENT");
@@ -199,13 +217,44 @@ class Parser {
199
217
  while (this.at("EMPTY"))
200
218
  this.i++;
201
219
  }
202
- options.push({ type: "Option", text, body, tags, css });
220
+ options.push({
221
+ type: "Option",
222
+ text: markup.text,
223
+ body,
224
+ tags,
225
+ css,
226
+ markup: this.normalizeMarkup(markup),
227
+ });
203
228
  // Consecutive options belong to the same group; break on non-OPTION
204
229
  while (this.at("EMPTY"))
205
230
  this.i++;
206
231
  }
207
232
  return { type: "OptionGroup", options };
208
233
  }
234
+ normalizeMarkup(result) {
235
+ if (!result)
236
+ return undefined;
237
+ if (result.segments.length === 0) {
238
+ return undefined;
239
+ }
240
+ const hasFormatting = result.segments.some((segment) => segment.wrappers.length > 0 || segment.selfClosing);
241
+ if (!hasFormatting) {
242
+ return undefined;
243
+ }
244
+ return {
245
+ text: result.text,
246
+ segments: result.segments.map((segment) => ({
247
+ start: segment.start,
248
+ end: segment.end,
249
+ wrappers: segment.wrappers.map((wrapper) => ({
250
+ name: wrapper.name,
251
+ type: wrapper.type,
252
+ properties: { ...wrapper.properties },
253
+ })),
254
+ selfClosing: segment.selfClosing,
255
+ })),
256
+ };
257
+ }
209
258
  extractTags(input) {
210
259
  const tags = [];
211
260
  // Match tags that are space-separated and not part of hex colors or CSS
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parse/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parse/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiB/D,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,MAAM;IAEV,YAA6B,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;QADpC,MAAC,GAAG,CAAC,CAAC;IACiC,CAAC;IAExC,IAAI,CAAC,MAAM,GAAG,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACtC,CAAC;IACO,EAAE,CAAC,IAAmB;QAC5B,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,CAAC;IACO,IAAI,CAAC,IAAmB,EAAE,GAAY;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,YAAY,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,CAAC;IACX,CAAC;IACO,MAAM,CAAC,IAAmB;QAChC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,eAAe;YACf,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAAE,MAAM;YAE1B,kDAAkD;YAClD,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,2BAA2B;oBACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,QAA8B,CAAC;QACnC,IAAI,cAAc,GAAa,EAAE,CAAC;QAClC,IAAI,OAA2B,CAAC;QAEhC,UAAU;QACV,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mCAAmC,CAAC,CAAC;YAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;gBAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/B,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC3B,yEAAyE;gBACzE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,iDAAiD;YACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,0EAA0E;gBAC1E,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,MAAM,EAAE,CAAC;oBACX,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,qEAAqE;oBACrE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;4BACzD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;4BACpC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCACpB,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACzD,MAAM,GAAG,IAAI,CAAC;gCACd,MAAM;4BACR,CAAC;iCAAM,CAAC;gCACN,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;4BAC7C,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BACjC,IAAI,CAAC,CAAC,EAAE,CAAC;wBACX,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,OAAO,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACnC,oBAAoB;YACpB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,mCAAmC;QACnC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QAElC,MAAM,IAAI,GAAgB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,KAAK;YACL,OAAO;YACP,QAAQ;YACR,IAAI,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC5D,GAAG,EAAE,OAAO;YACZ,IAAI;SACL,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,OAAsB;QACjD,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,qBAAqB;YACrB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAAE,MAAM;YAE9C,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc;QACpB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE/C,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YACtC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAU,CAAC;YAC1F,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAY,CAAC;YAChG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAChE,IAAI,GAAG,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;YACjD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAa,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACrE,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC9D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC5D,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;oBAC/B,IAAI,EAAE,WAAW;oBACjB,IAAI;oBACJ,MAAM,EAAE,gBAAgB;iBACjB,CAAC;YACZ,CAAC;YACD,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACnH,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;aAC7B,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAEO,gBAAgB;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,qDAAqD;QACrD,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACrC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,IAAI,GAAgB,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;oBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI;gBACJ,IAAI;gBACJ,GAAG;gBACH,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;aACrC,CAAC,CAAC;YACH,oEAAoE;YACpE,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,MAAyB;QAC/C,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACxC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAChE,CAAC;QACF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC1C,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;iBACtC,CAAC,CAAC;gBACH,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,wEAAwE;QACxE,6EAA6E;QAC7E,MAAM,EAAE,GAAG,oCAAoC,CAAC;QAChD,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,CAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,kEAAkE;YAClE,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACzE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,UAAU,CAAC,KAAa;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACtD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,wBAAwB,CAAC,UAAyB;QACxD,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,0CAA0C;YAC1C,IAAI,UAAU,EAAE;gBAAE,MAAM;YACxB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,UAAU,EAAE;gBAAE,MAAM;YAC1C,kEAAkE;YAClE,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,yFAAyF;gBACzF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAAE,MAAM;oBAC/C,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;wBAClC,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBAClC,CAAC;gBACD,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACpB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;wBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBACpC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc;QACpB,kFAAkF;QAClF,IAAI,IAAI,GAAgB,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,wEAAwE;YACxE,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,iDAAiD;QACjD,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,yDAAyD;QAEzD,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAC9B,SAAS,SAAS,CAAC,IAAY;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC3C,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACpD,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAClE,uBAAuB;gBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAClE,oBAAoB;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrF,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM;gBAC9B,MAAM,GAAG,IAAI,CAAC;gBACd,SAAS;YACX,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM;YACR,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,UAAU,CAAC,8BAA8B,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAEO,cAAc,CAAC,QAAgB;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,gCAAgC;QAChC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,yBAAyB;gBACzB,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QAC1C,MAAM,QAAQ,GAAwB,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,8FAA8F;QAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE;YACnD,+DAA+D;YAC/D,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAEzD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;gBAAE,MAAM;YAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1H,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3G,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,gCAAgC;gBAChC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;oBAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM;YACR,CAAC;YACD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,MAAM;QACR,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACtB,yFAAyF;QACzF,wFAAwF;QACxF,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,qEAAqE;YACrE,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBAAE,MAAM;YAChH,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAAE,MAAM;YAC7B,6CAA6C;YAC7C,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;gBACrB,iCAAiC;gBACjC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;oBAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -8,8 +8,9 @@ import { parseScenes } from "../scene/parser.js";
8
8
  const DEFAULT_YARN = `title: Start
9
9
  scene: scene1
10
10
  ---
11
+ Narrator: [wave]hello[/wave] [b]hello[/b] baarter
11
12
  Narrator: Welcome to yarn-spinner-ts!
12
- Narrator: This is a dialogue system powered by Yarn Spinner.
13
+ npc: This is a dialogue system powered by Yarn Spinner.
13
14
  Narrator: Click anywhere to continue, or choose an option below.
14
15
  -> Start the adventure &css{backgroundColor: #4a9eff; color: white;}
15
16
  Narrator: Great! Let's begin your journey.
@@ -22,7 +23,7 @@ Narrator: Click anywhere to continue, or choose an option below.
22
23
 
23
24
  title: NextScene
24
25
  ---
25
- blablabla
26
+ npc: blablabla
26
27
  Narrator: You've reached the next scene!
27
28
  Narrator: The dialogue system supports rich features like:
28
29
  Narrator: • Variables and expressions
@@ -81,6 +82,6 @@ export function DialogueExample() {
81
82
  padding: "16px",
82
83
  borderRadius: "8px",
83
84
  marginBottom: "20px",
84
- }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), _jsx(DialogueView, { result: result, onAdvance: advance, scenes: scenes, enableTypingAnimation: enableTypingAnimation, showTypingCursor: true, typingSpeed: 20, cursorCharacter: "$", autoAdvanceAfterTyping: true, autoAdvanceDelay: 2000, pauseBeforeAdvance: enableTypingAnimation ? 1000 : 0 })] }) }));
85
+ }, children: [_jsx("strong", { children: "Error:" }), " ", error] })), _jsx(DialogueView, { result: result, onAdvance: advance, scenes: scenes, enableTypingAnimation: enableTypingAnimation, showTypingCursor: true, typingSpeed: 20, cursorCharacter: "$", autoAdvanceAfterTyping: true, autoAdvanceDelay: 2000, actorTransitionDuration: 1000, pauseBeforeAdvance: enableTypingAnimation ? 1000 : 0 })] }) }));
85
86
  }
86
87
  //# sourceMappingURL=DialogueExample.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogueExample.js","sourceRoot":"","sources":["../../src/react/DialogueExample.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DialogueExample.js","sourceRoot":"","sources":["../../src/react/DialogueExample.tsx"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ export interface DialogueSceneProps {
4
4
  speaker?: string;
5
5
  scenes: SceneCollection;
6
6
  className?: string;
7
+ actorTransitionDuration?: number;
7
8
  }
8
9
  /**
9
10
  * Visual scene component that displays background and actor images
10
11
  */
11
- export declare function DialogueScene({ sceneName, speaker, scenes, className }: DialogueSceneProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function DialogueScene({ sceneName, speaker, scenes, className, actorTransitionDuration, }: DialogueSceneProps): import("react/jsx-runtime").JSX.Element;
@@ -1,20 +1,39 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect } from "react";
2
+ import { useState, useEffect, useMemo, useRef } from "react";
3
3
  /**
4
4
  * Visual scene component that displays background and actor images
5
5
  */
6
- export function DialogueScene({ sceneName, speaker, scenes, className }) {
6
+ export function DialogueScene({ sceneName, speaker, scenes, className, actorTransitionDuration = 350, }) {
7
7
  const [currentBackground, setCurrentBackground] = useState(null);
8
8
  const [backgroundOpacity, setBackgroundOpacity] = useState(1);
9
9
  const [nextBackground, setNextBackground] = useState(null);
10
10
  const [lastSceneName, setLastSceneName] = useState(undefined);
11
11
  const [lastSpeaker, setLastSpeaker] = useState(undefined);
12
+ const [activeActor, setActiveActor] = useState(null);
13
+ const [previousActor, setPreviousActor] = useState(null);
14
+ const [currentActorVisible, setCurrentActorVisible] = useState(false);
15
+ const [previousActorVisible, setPreviousActorVisible] = useState(false);
16
+ const previousActorTimeoutRef = useRef(null);
12
17
  // Get scene config - use last scene if current node has no scene
13
18
  const activeSceneName = sceneName || lastSceneName;
14
19
  const sceneConfig = activeSceneName ? scenes.scenes[activeSceneName] : undefined;
15
20
  const backgroundImage = sceneConfig?.background;
16
- // Get all actors from the current scene
17
- const sceneActors = sceneConfig ? Object.keys(sceneConfig.actors) : [];
21
+ const activeSpeakerName = speaker || lastSpeaker;
22
+ const resolvedActor = useMemo(() => {
23
+ if (!sceneConfig || !activeSpeakerName) {
24
+ return null;
25
+ }
26
+ const actorEntries = Object.entries(sceneConfig.actors);
27
+ const matchingActor = actorEntries.find(([actorName]) => actorName.toLowerCase() === activeSpeakerName.toLowerCase());
28
+ if (!matchingActor) {
29
+ return null;
30
+ }
31
+ const [actorName, actorConfig] = matchingActor;
32
+ if (!actorConfig?.image) {
33
+ return null;
34
+ }
35
+ return { name: actorName, image: actorConfig.image };
36
+ }, [sceneConfig, activeSpeakerName]);
18
37
  // Track last speaker - update when speaker is provided, keep when undefined
19
38
  useEffect(() => {
20
39
  if (speaker) {
@@ -53,31 +72,81 @@ export function DialogueScene({ sceneName, speaker, scenes, className }) {
53
72
  }
54
73
  // Never clear background - keep it until a new one is explicitly set
55
74
  }, [backgroundImage, currentBackground, sceneName, lastSceneName]);
75
+ // Handle actor portrait transitions (cross-fade between speakers)
76
+ useEffect(() => {
77
+ let fadeOutTimeout = null;
78
+ setActiveActor((currentActor) => {
79
+ const currentImage = currentActor?.image ?? null;
80
+ const currentName = currentActor?.name ?? null;
81
+ const nextImage = resolvedActor?.image ?? null;
82
+ const nextName = resolvedActor?.name ?? null;
83
+ if (currentImage === nextImage && currentName === nextName) {
84
+ return currentActor;
85
+ }
86
+ if (currentActor) {
87
+ setPreviousActor(currentActor);
88
+ setPreviousActorVisible(true);
89
+ fadeOutTimeout = setTimeout(() => {
90
+ setPreviousActorVisible(false);
91
+ }, 0);
92
+ }
93
+ else {
94
+ setPreviousActor(null);
95
+ setPreviousActorVisible(false);
96
+ }
97
+ setCurrentActorVisible(false);
98
+ return resolvedActor;
99
+ });
100
+ return () => {
101
+ if (fadeOutTimeout !== null) {
102
+ clearTimeout(fadeOutTimeout);
103
+ }
104
+ };
105
+ }, [resolvedActor]);
106
+ useEffect(() => {
107
+ if (!activeActor) {
108
+ return;
109
+ }
110
+ const fadeInTimeout = setTimeout(() => {
111
+ setCurrentActorVisible(true);
112
+ }, 0);
113
+ return () => {
114
+ clearTimeout(fadeInTimeout);
115
+ };
116
+ }, [activeActor]);
117
+ // Remove previous actor once fade-out completes
118
+ useEffect(() => {
119
+ if (!previousActor) {
120
+ return;
121
+ }
122
+ if (previousActorTimeoutRef.current) {
123
+ clearTimeout(previousActorTimeoutRef.current);
124
+ }
125
+ previousActorTimeoutRef.current = setTimeout(() => {
126
+ setPreviousActor(null);
127
+ previousActorTimeoutRef.current = null;
128
+ }, actorTransitionDuration);
129
+ return () => {
130
+ if (previousActorTimeoutRef.current) {
131
+ clearTimeout(previousActorTimeoutRef.current);
132
+ previousActorTimeoutRef.current = null;
133
+ }
134
+ };
135
+ }, [previousActor, actorTransitionDuration]);
56
136
  // Default background color when no scene
57
137
  const defaultBgColor = "rgba(26, 26, 46, 1)"; // Dark blue-purple
58
- return (_jsxs("div", { className: `yd-scene ${className || ""}`, style: {
59
- backgroundColor: currentBackground ? undefined : defaultBgColor,
60
- backgroundImage: currentBackground ? `url(${currentBackground})` : undefined,
61
- opacity: backgroundOpacity,
62
- }, children: [nextBackground && (_jsx("div", { className: "yd-scene-next", style: {
138
+ const handleActorImageError = (actorName, imageUrl) => () => {
139
+ console.error(`Failed to load actor image for ${actorName}:`, imageUrl);
140
+ };
141
+ const sceneStyle = {
142
+ backgroundColor: currentBackground ? undefined : defaultBgColor,
143
+ backgroundImage: currentBackground ? `url(${currentBackground})` : undefined,
144
+ opacity: backgroundOpacity,
145
+ ["--yd-actor-transition"]: `${Math.max(actorTransitionDuration, 0)}ms`,
146
+ };
147
+ return (_jsxs("div", { className: `yd-scene ${className || ""}`, style: sceneStyle, children: [nextBackground && (_jsx("div", { className: "yd-scene-next", style: {
63
148
  backgroundImage: `url(${nextBackground})`,
64
149
  opacity: 1 - backgroundOpacity,
65
- } })), sceneConfig && (speaker || lastSpeaker) && (() => {
66
- // Use current speaker if available, otherwise use last speaker to keep image visible
67
- const activeSpeaker = speaker || lastSpeaker;
68
- // Type guard: ensure activeSpeaker is defined
69
- if (!activeSpeaker)
70
- return null;
71
- // Find the actor that matches the speaker (case-insensitive)
72
- const speakingActorName = sceneActors.find(actorName => actorName.toLowerCase() === activeSpeaker.toLowerCase());
73
- if (!speakingActorName)
74
- return null;
75
- const actorConfig = sceneConfig.actors[speakingActorName];
76
- if (!actorConfig?.image)
77
- return null;
78
- return (_jsx("img", { className: "yd-actor", src: actorConfig.image, alt: speakingActorName, onError: (e) => {
79
- console.error(`Failed to load actor image for ${speakingActorName}:`, actorConfig.image, e);
80
- } }, speakingActorName));
81
- })()] }));
150
+ } })), previousActor && (_jsx("img", { className: `yd-actor yd-actor--previous ${previousActorVisible ? "yd-actor--visible" : ""}`, src: previousActor.image, alt: previousActor.name, onError: handleActorImageError(previousActor.name, previousActor.image) }, `${previousActor.name}-previous`)), activeActor && (_jsx("img", { className: `yd-actor yd-actor--current ${currentActorVisible ? "yd-actor--visible" : ""}`, src: activeActor.image, alt: activeActor.name, onError: handleActorImageError(activeActor.name, activeActor.image) }, `${activeActor.name}-current`))] }));
82
151
  }
83
152
  //# sourceMappingURL=DialogueScene.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DialogueScene.js","sourceRoot":"","sources":["../../src/react/DialogueScene.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYnD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAsB;IACzF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAE9E,iEAAiE;IACjE,MAAM,eAAe,GAAG,SAAS,IAAI,aAAa,CAAC;IACnD,MAAM,WAAW,GAA4B,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1G,MAAM,eAAe,GAAG,WAAW,EAAE,UAAU,CAAC;IAEhD,wCAAwC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,CAAC;YACZ,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,kEAAkE;IACpE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,IAAI,eAAe,KAAK,iBAAiB,EAAE,CAAC;YAC7D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC/B,qCAAqC;gBACrC,oBAAoB,CAAC,eAAe,CAAC,CAAC;gBACtC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,SAAS;oBAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxB,UAAU,CAAC,GAAG,EAAE;oBACd,iBAAiB,CAAC,eAAe,CAAC,CAAC;oBACnC,UAAU,CAAC,GAAG,EAAE;wBACd,oBAAoB,CAAC,eAAe,CAAC,CAAC;wBACtC,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBACxB,oBAAoB,CAAC,CAAC,CAAC,CAAC;wBACxB,IAAI,SAAS;4BAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;oBAC7C,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,8BAA8B;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YACpD,sCAAsC;YACtC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9B,CAAC;QACD,qEAAqE;IACvE,CAAC,EAAE,CAAC,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnE,yCAAyC;IACzC,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,mBAAmB;IAEjE,OAAO,CACL,eACE,SAAS,EAAE,YAAY,SAAS,IAAI,EAAE,EAAE,EACxC,KAAK,EAAE;YACL,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;YAC/D,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC,OAAO,iBAAiB,GAAG,CAAC,CAAC,CAAC,SAAS;YAC5E,OAAO,EAAE,iBAAiB;SAC3B,aAGA,cAAc,IAAI,CACjB,cACE,SAAS,EAAC,eAAe,EACzB,KAAK,EAAE;oBACL,eAAe,EAAE,OAAO,cAAc,GAAG;oBACzC,OAAO,EAAE,CAAC,GAAG,iBAAiB;iBAC/B,GACD,CACH,EAGA,WAAW,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChD,qFAAqF;gBACrF,MAAM,aAAa,GAAG,OAAO,IAAI,WAAW,CAAC;gBAE7C,8CAA8C;gBAC9C,IAAI,CAAC,aAAa;oBAAE,OAAO,IAAI,CAAC;gBAEhC,6DAA6D;gBAC7D,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CACxC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CACrE,CAAC;gBAEF,IAAI,CAAC,iBAAiB;oBAAE,OAAO,IAAI,CAAC;gBAEpC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,IAAI,CAAC,WAAW,EAAE,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAErC,OAAO,CACL,cAEE,SAAS,EAAC,UAAU,EACpB,GAAG,EAAE,WAAW,CAAC,KAAK,EACtB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,iBAAiB,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC9F,CAAC,IANI,iBAAiB,CAOtB,CACH,CAAC;YACJ,CAAC,CAAC,EAAE,IACA,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"DialogueScene.js","sourceRoot":"","sources":["../../src/react/DialogueScene.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface DialogueViewProps {
5
5
  onAdvance: (optionIndex?: number) => void;
6
6
  className?: string;
7
7
  scenes?: SceneCollection;
8
+ actorTransitionDuration?: number;
8
9
  enableTypingAnimation?: boolean;
9
10
  typingSpeed?: number;
10
11
  showTypingCursor?: boolean;
@@ -13,5 +14,5 @@ export interface DialogueViewProps {
13
14
  autoAdvanceDelay?: number;
14
15
  pauseBeforeAdvance?: number;
15
16
  }
16
- export declare function DialogueView({ result, onAdvance, className, scenes, enableTypingAnimation, typingSpeed, // Characters per second (50 cps = ~20ms per character)
17
+ export declare function DialogueView({ result, onAdvance, className, scenes, actorTransitionDuration, enableTypingAnimation, typingSpeed, // Characters per second (50 cps = ~20ms per character)
17
18
  showTypingCursor, cursorCharacter, autoAdvanceAfterTyping, autoAdvanceDelay, pauseBeforeAdvance, }: DialogueViewProps): import("react/jsx-runtime").JSX.Element | null;
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useRef, useEffect, useState } from "react";
3
3
  import { DialogueScene } from "./DialogueScene.js";
4
4
  import { TypingText } from "./TypingText.js";
5
+ import { MarkupRenderer } from "./MarkupRenderer.js";
5
6
  // Helper to parse CSS string into object
6
7
  function parseCss(cssStr) {
7
8
  if (!cssStr)
@@ -63,7 +64,7 @@ function parseCss(cssStr) {
63
64
  });
64
65
  return styles;
65
66
  }
66
- export function DialogueView({ result, onAdvance, className, scenes, enableTypingAnimation = false, typingSpeed = 50, // Characters per second (50 cps = ~20ms per character)
67
+ export function DialogueView({ result, onAdvance, className, scenes, actorTransitionDuration = 350, enableTypingAnimation = false, typingSpeed = 50, // Characters per second (50 cps = ~20ms per character)
67
68
  showTypingCursor = true, cursorCharacter = "|", autoAdvanceAfterTyping = false, autoAdvanceDelay = 500, pauseBeforeAdvance = 0, }) {
68
69
  const sceneName = result?.type === "text" || result?.type === "options" ? result.scene : undefined;
69
70
  const speaker = result?.type === "text" ? result.speaker : undefined;
@@ -133,13 +134,13 @@ showTypingCursor = true, cursorCharacter = "|", autoAdvanceAfterTyping = false,
133
134
  }
134
135
  }
135
136
  };
136
- return (_jsxs("div", { className: "yd-container", children: [_jsx(DialogueScene, { sceneName: sceneName, speaker: speaker, scenes: sceneCollection }), _jsx("div", { className: `yd-dialogue-box ${result.isDialogueEnd ? "yd-text-box-end" : ""} ${className || ""}`, style: nodeStyles, onClick: handleClick, children: _jsxs("div", { className: "yd-text-box", children: [result.speaker && (_jsx("div", { className: "yd-speaker", children: result.speaker })), _jsx("p", { className: `yd-text ${result.speaker ? "yd-text-with-speaker" : ""}`, children: enableTypingAnimation ? (_jsx(TypingText, { text: displayText, typingSpeed: typingSpeed, showCursor: showTypingCursor, cursorCharacter: cursorCharacter, disabled: skipTyping, onComplete: () => setTypingComplete(true) }, currentTextKey)) : (displayText) }), shouldShowContinue && (_jsx("div", { className: "yd-continue", children: "\u25BC" }))] }) })] }));
137
+ return (_jsxs("div", { className: "yd-container", children: [_jsx(DialogueScene, { sceneName: sceneName, speaker: speaker, scenes: sceneCollection, actorTransitionDuration: actorTransitionDuration }), _jsx("div", { className: `yd-dialogue-box ${result.isDialogueEnd ? "yd-text-box-end" : ""} ${className || ""}`, style: nodeStyles, onClick: handleClick, children: _jsxs("div", { className: "yd-text-box", children: [result.speaker && (_jsx("div", { className: "yd-speaker", children: result.speaker })), _jsx("p", { className: `yd-text ${result.speaker ? "yd-text-with-speaker" : ""}`, children: enableTypingAnimation ? (_jsx(TypingText, { text: displayText, markup: result.markup, typingSpeed: typingSpeed, showCursor: showTypingCursor, cursorCharacter: cursorCharacter, disabled: skipTyping, onComplete: () => setTypingComplete(true) }, currentTextKey)) : (_jsx(MarkupRenderer, { text: displayText, markup: result.markup })) }), shouldShowContinue && (_jsx("div", { className: "yd-continue", children: "\u25BC" }))] }) })] }));
137
138
  }
138
139
  if (result.type === "options") {
139
140
  const nodeStyles = parseCss(result.nodeCss);
140
- return (_jsxs("div", { className: "yd-container", children: [_jsx(DialogueScene, { sceneName: sceneName, speaker: speaker, scenes: sceneCollection }), _jsx("div", { className: `yd-options-container ${className || ""}`, children: _jsxs("div", { className: "yd-options-box", style: nodeStyles, children: [_jsx("div", { className: "yd-options-title", children: "Choose an option:" }), _jsx("div", { className: "yd-options-list", children: result.options.map((option, index) => {
141
+ return (_jsxs("div", { className: "yd-container", children: [_jsx(DialogueScene, { sceneName: sceneName, speaker: speaker, scenes: sceneCollection, actorTransitionDuration: actorTransitionDuration }), _jsx("div", { className: `yd-options-container ${className || ""}`, children: _jsxs("div", { className: "yd-options-box", style: nodeStyles, children: [_jsx("div", { className: "yd-options-title", children: "Choose an option:" }), _jsx("div", { className: "yd-options-list", children: result.options.map((option, index) => {
141
142
  const optionStyles = parseCss(option.css);
142
- return (_jsx("button", { className: "yd-option-button", onClick: () => onAdvance(index), style: optionStyles, children: option.text }, index));
143
+ return (_jsx("button", { className: "yd-option-button", onClick: () => onAdvance(index), style: optionStyles, children: _jsx(MarkupRenderer, { text: option.text, markup: option.markup }) }, index));
143
144
  }) })] }) })] }));
144
145
  }
145
146
  // Command result - auto-advance
@@ -1 +1 @@
1
- {"version":3,"file":"DialogueView.js","sourceRoot":"","sources":["../../src/react/DialogueView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DialogueView.js","sourceRoot":"","sources":["../../src/react/DialogueView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { MarkupParseResult } from "../markup/types.js";
2
+ interface MarkupRendererProps {
3
+ text: string;
4
+ markup?: MarkupParseResult;
5
+ length?: number;
6
+ }
7
+ export declare function MarkupRenderer({ text, markup, length }: MarkupRendererProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,64 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import React from "react";
3
+ const DEFAULT_HTML_TAGS = new Set(["b", "em", "small", "strong", "sub", "sup", "ins", "del", "mark"]);
4
+ export function MarkupRenderer({ text, markup, length }) {
5
+ const maxLength = length ?? text.length;
6
+ if (!markup || markup.segments.length === 0) {
7
+ return _jsx(_Fragment, { children: text.slice(0, maxLength) });
8
+ }
9
+ const pieces = [];
10
+ const limit = Math.max(0, Math.min(maxLength, markup.text.length));
11
+ markup.segments.forEach((segment, index) => {
12
+ if (segment.selfClosing) {
13
+ if (segment.start <= limit) {
14
+ pieces.push({
15
+ text: "",
16
+ wrappers: segment.wrappers,
17
+ selfClosing: true,
18
+ key: `self-${index}`,
19
+ });
20
+ }
21
+ return;
22
+ }
23
+ const start = Math.max(0, Math.min(segment.start, limit));
24
+ const end = Math.max(start, Math.min(segment.end, limit));
25
+ if (end <= start) {
26
+ return;
27
+ }
28
+ const segmentText = markup.text.slice(start, end);
29
+ pieces.push({
30
+ text: segmentText,
31
+ wrappers: segment.wrappers,
32
+ key: `seg-${index}-${start}-${end}`,
33
+ });
34
+ });
35
+ if (pieces.length === 0) {
36
+ return _jsx(_Fragment, { children: text.slice(0, maxLength) });
37
+ }
38
+ return (_jsx(_Fragment, { children: pieces.map((piece, pieceIndex) => renderPiece(piece, pieceIndex)) }));
39
+ }
40
+ function renderPiece(piece, pieceIndex) {
41
+ const baseKey = `${piece.key}-${pieceIndex}`;
42
+ if (piece.selfClosing) {
43
+ return piece.wrappers.reduceRight((child, wrapper, wrapperIndex) => createWrapperElement(wrapper, `${baseKey}-wrapper-${wrapperIndex}`, child), null);
44
+ }
45
+ const content = piece.wrappers.reduceRight((child, wrapper, wrapperIndex) => createWrapperElement(wrapper, `${baseKey}-wrapper-${wrapperIndex}`, child), piece.text);
46
+ return _jsx(React.Fragment, { children: content }, baseKey);
47
+ }
48
+ function createWrapperElement(wrapper, key, children) {
49
+ const tagName = DEFAULT_HTML_TAGS.has(wrapper.name) ? wrapper.name : "span";
50
+ const className = wrapper.type === "custom" ? `yd-markup-${sanitizeClassName(wrapper.name)}` : undefined;
51
+ const dataAttributes = {};
52
+ for (const [propertyName, value] of Object.entries(wrapper.properties)) {
53
+ dataAttributes[`data-markup-${propertyName}`] = String(value);
54
+ }
55
+ return React.createElement(tagName, {
56
+ key,
57
+ className,
58
+ ...dataAttributes,
59
+ }, children);
60
+ }
61
+ function sanitizeClassName(name) {
62
+ return name.toLowerCase().replace(/[^a-z0-9_-]/g, "-");
63
+ }
64
+ //# sourceMappingURL=MarkupRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkupRenderer.js","sourceRoot":"","sources":["../../src/react/MarkupRenderer.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ import type { MarkupParseResult } from "../markup/types.js";
1
2
  export interface TypingTextProps {
2
3
  text: string;
4
+ markup?: MarkupParseResult;
3
5
  typingSpeed?: number;
4
6
  showCursor?: boolean;
5
7
  cursorCharacter?: string;
@@ -9,4 +11,4 @@ export interface TypingTextProps {
9
11
  onComplete?: () => void;
10
12
  disabled?: boolean;
11
13
  }
12
- export declare function TypingText({ text, typingSpeed, showCursor, cursorCharacter, cursorBlinkDuration, cursorClassName, className, onComplete, disabled, }: TypingTextProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function TypingText({ text, markup, typingSpeed, showCursor, cursorCharacter, cursorBlinkDuration, cursorClassName, className, onComplete, disabled, }: TypingTextProps): import("react/jsx-runtime").JSX.Element;