@effect-tui/react 0.1.5 → 0.1.7

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 (72) hide show
  1. package/dist/src/dev.js +2 -2
  2. package/dist/src/dev.js.map +1 -1
  3. package/dist/src/hosts/base.d.ts +5 -0
  4. package/dist/src/hosts/base.d.ts.map +1 -1
  5. package/dist/src/hosts/base.js +21 -7
  6. package/dist/src/hosts/base.js.map +1 -1
  7. package/dist/src/hosts/box.d.ts.map +1 -1
  8. package/dist/src/hosts/box.js +3 -5
  9. package/dist/src/hosts/box.js.map +1 -1
  10. package/dist/src/hosts/overlay-item.d.ts +2 -2
  11. package/dist/src/hosts/overlay-item.d.ts.map +1 -1
  12. package/dist/src/hosts/overlay-item.js +7 -22
  13. package/dist/src/hosts/overlay-item.js.map +1 -1
  14. package/dist/src/hosts/overlay.d.ts.map +1 -1
  15. package/dist/src/hosts/overlay.js +3 -35
  16. package/dist/src/hosts/overlay.js.map +1 -1
  17. package/dist/src/hosts/scroll.d.ts.map +1 -1
  18. package/dist/src/hosts/scroll.js +3 -5
  19. package/dist/src/hosts/scroll.js.map +1 -1
  20. package/dist/src/hosts/text.js +2 -2
  21. package/dist/src/hosts/text.js.map +1 -1
  22. package/dist/src/hosts/zstack.d.ts +3 -2
  23. package/dist/src/hosts/zstack.d.ts.map +1 -1
  24. package/dist/src/hosts/zstack.js +3 -18
  25. package/dist/src/hosts/zstack.js.map +1 -1
  26. package/dist/src/remote/Procedures.d.ts +4 -0
  27. package/dist/src/remote/Procedures.d.ts.map +1 -1
  28. package/dist/src/remote/Procedures.js +4 -0
  29. package/dist/src/remote/Procedures.js.map +1 -1
  30. package/dist/src/remote/Router.d.ts +2 -0
  31. package/dist/src/remote/Router.d.ts.map +1 -1
  32. package/dist/src/remote/Router.js.map +1 -1
  33. package/dist/src/remote/index.d.ts +8 -2
  34. package/dist/src/remote/index.d.ts.map +1 -1
  35. package/dist/src/remote/index.js +31 -3
  36. package/dist/src/remote/index.js.map +1 -1
  37. package/dist/src/renderer/modes/FullscreenRenderer.d.ts.map +1 -1
  38. package/dist/src/renderer/modes/FullscreenRenderer.js +8 -6
  39. package/dist/src/renderer/modes/FullscreenRenderer.js.map +1 -1
  40. package/dist/src/renderer/modes/InlineRenderer.d.ts.map +1 -1
  41. package/dist/src/renderer/modes/InlineRenderer.js +9 -7
  42. package/dist/src/renderer/modes/InlineRenderer.js.map +1 -1
  43. package/dist/src/utils/alignment.d.ts +15 -0
  44. package/dist/src/utils/alignment.d.ts.map +1 -0
  45. package/dist/src/utils/alignment.js +37 -0
  46. package/dist/src/utils/alignment.js.map +1 -0
  47. package/dist/src/utils/index.d.ts +2 -1
  48. package/dist/src/utils/index.d.ts.map +1 -1
  49. package/dist/src/utils/index.js +2 -1
  50. package/dist/src/utils/index.js.map +1 -1
  51. package/dist/src/utils/styles.d.ts +9 -0
  52. package/dist/src/utils/styles.d.ts.map +1 -1
  53. package/dist/src/utils/styles.js +9 -0
  54. package/dist/src/utils/styles.js.map +1 -1
  55. package/dist/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +2 -2
  57. package/src/dev.tsx +2 -2
  58. package/src/hosts/base.ts +21 -7
  59. package/src/hosts/box.ts +3 -6
  60. package/src/hosts/overlay-item.ts +7 -22
  61. package/src/hosts/overlay.ts +3 -37
  62. package/src/hosts/scroll.ts +3 -5
  63. package/src/hosts/text.ts +3 -3
  64. package/src/hosts/zstack.ts +5 -18
  65. package/src/remote/Procedures.ts +4 -0
  66. package/src/remote/Router.ts +7 -1
  67. package/src/remote/index.ts +41 -3
  68. package/src/renderer/modes/FullscreenRenderer.ts +8 -6
  69. package/src/renderer/modes/InlineRenderer.ts +9 -7
  70. package/src/utils/alignment.ts +50 -0
  71. package/src/utils/index.ts +10 -1
  72. package/src/utils/styles.ts +16 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Procedures.d.ts","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;;;;;;;;;;AA2C/B,qBAAa,OAAQ,SAAQ,YAM5B;CAAG"}
1
+ {"version":3,"file":"Procedures.d.ts","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;;;;;;;;;;;;;;;;IAuC7B,iEAAiE;;IAEjE,oEAAoE;;;AAMtE,qBAAa,OAAQ,SAAQ,YAM5B;CAAG"}
@@ -34,6 +34,10 @@ const Info = Rpc.make("Info", {
34
34
  pid: Schema.Number,
35
35
  width: Schema.Number,
36
36
  height: Schema.Number,
37
+ /** Entry file path (e.g., /Users/kit/code/my-app/src/tui.tsx) */
38
+ entryPath: Schema.optional(Schema.String),
39
+ /** Short name derived from entry path (e.g., my-app/src/tui.tsx) */
40
+ name: Schema.optional(Schema.String),
37
41
  }),
38
42
  });
39
43
  // Group all RPCs together
@@ -1 +1 @@
1
- {"version":3,"file":"Procedures.js","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;IACnC,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;KACrC;CACD,CAAC,CAAA;AAEF,sCAAsC;AACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB;CACD,CAAC,CAAA;AAEF,oCAAoC;AACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB;CACD,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB,CAAC;CACF,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CACzC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,CACJ;CAAG"}
1
+ {"version":3,"file":"Procedures.js","sourceRoot":"","sources":["../../../src/remote/Procedures.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,yDAAyD;AACzD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAEF,2CAA2C;AAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;IACnC,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;KACrC;CACD,CAAC,CAAA;AAEF,sCAAsC;AACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;IAC/B,OAAO,EAAE;QACR,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB;CACD,CAAC,CAAA;AAEF,oCAAoC;AACpC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;KACrB;CACD,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC,MAAM;QAClB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iEAAiE;QACjE,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,oEAAoE;QACpE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACpC,CAAC;CACF,CAAC,CAAA;AAEF,0BAA0B;AAC1B,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CACzC,UAAU,EACV,OAAO,EACP,KAAK,EACL,MAAM,EACN,IAAI,CACJ;CAAG"}
@@ -10,6 +10,8 @@ export interface TuiSessionImpl {
10
10
  pid: number;
11
11
  width: number;
12
12
  height: number;
13
+ entryPath?: string;
14
+ name?: string;
13
15
  };
14
16
  }
15
17
  declare const TuiSession_base: Context.TagClass<TuiSession, "TuiSession", TuiSessionImpl>;
@@ -1 +1 @@
1
- {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAU,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACtE;;AAED,qBAAa,UAAW,SAAQ,eAG7B;CAAG;AAGN,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GACtB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,KAAK,EACL,UAAU,CA6BV,CAAA"}
1
+ {"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAU,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAI9C,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,MAAM,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM;QACvB,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,IAAI,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;CACD;;AAED,qBAAa,UAAW,SAAQ,eAG7B;CAAG;AAGN,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,KAAK,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GACtB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GACrB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,KAAK,EACL,UAAU,CA6BV,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAWzC,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAGtD;CAAG;AAEN,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAQrB,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAEjC,OAAO;QACN,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE5D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,MAAM,GAAG,GAAW;gBACnB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAsB;gBAC5B,IAAI;gBACJ,IAAI,EAAE,IAAI,IAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,IAAI,KAAK;gBACrB,IAAI,EAAE,IAAI,IAAI,KAAK;aACnB,CAAA;YACD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAChD,CAAA;AACF,CAAC,CAAC,CACF,CAAA"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/remote/Router.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAiBzC,MAAM,OAAO,UAAW,SAAQ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAGtD;CAAG;AAEN,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAQrB,OAAO,CAAC,OAAO,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,UAAU,CAAA;IAEjC,OAAO;QACN,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAE5D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,MAAM,GAAG,GAAW;gBACnB,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAsB;gBAC5B,IAAI;gBACJ,IAAI,EAAE,IAAI,IAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,IAAI,KAAK;gBACrB,IAAI,EAAE,IAAI,IAAI,KAAK;aACnB,CAAA;YACD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC;QAEH,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEnE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;KAChD,CAAA;AACF,CAAC,CAAC,CACF,CAAA"}
@@ -2,15 +2,21 @@ export { TuiRpcs } from "./Procedures.js";
2
2
  export { TuiSession, HandlersLive } from "./Router.js";
3
3
  export { makeServerLayer, getSocketPath } from "./Server.js";
4
4
  import type { TuiRenderer } from "../renderer-types.js";
5
+ export interface EnableRemoteOptions {
6
+ /** Custom socket path (defaults to /tmp/effect-tui-sessions/<pid>.sock) */
7
+ socketPath?: string;
8
+ /** Entry file path for identification (e.g., import.meta.path) */
9
+ entryPath?: string;
10
+ }
5
11
  /**
6
12
  * Enable remote control for a TUI renderer.
7
13
  * Starts an RPC server on a Unix socket at /tmp/effect-tui-sessions/<pid>.sock
8
14
  *
9
15
  * @param renderer - The TUI renderer to control
10
- * @param socketPath - Optional custom socket path
16
+ * @param options - Socket path and entry path for session identification
11
17
  * @returns A cleanup function to stop the server
12
18
  */
13
- export declare function enableRemote(renderer: TuiRenderer, socketPath?: string): () => void;
19
+ export declare function enableRemote(renderer: TuiRenderer, options?: EnableRemoteOptions | string): () => void;
14
20
  /**
15
21
  * Check if remote control should be enabled (via EFFECT_TUI_REMOTE=1 env var)
16
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,MAAM,GACjB,MAAM,IAAI,CAoDZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIvD,MAAM,WAAW,mBAAmB;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,GACpC,MAAM,IAAI,CA4DZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
@@ -12,16 +12,42 @@ export { makeServerLayer, getSocketPath } from "./Server.js";
12
12
  import { Effect, Exit, Layer, Scope } from "effect";
13
13
  import * as fs from "node:fs";
14
14
  import { makeServerLayer, getSocketPath } from "./Server.js";
15
+ /**
16
+ * Derive a short name from the entry path.
17
+ * Uses the last directory + filename (e.g., "/Users/kit/code/my-app/src/tui.tsx" -> "my-app/src/tui.tsx")
18
+ */
19
+ function deriveSessionName(entryPath) {
20
+ const parts = entryPath.split("/");
21
+ // Find the last directory that looks like a project name (not src, lib, etc)
22
+ const commonDirs = ["src", "lib", "dist", "build", "packages"];
23
+ let srcIdx = -1;
24
+ for (let i = parts.length - 1; i >= 0; i--) {
25
+ if (commonDirs.includes(parts[i])) {
26
+ srcIdx = i;
27
+ break;
28
+ }
29
+ }
30
+ if (srcIdx > 0) {
31
+ // Include project name + relative path from there
32
+ return parts.slice(srcIdx - 1).join("/");
33
+ }
34
+ // Fallback: last 3 path segments
35
+ return parts.slice(-3).join("/");
36
+ }
15
37
  /**
16
38
  * Enable remote control for a TUI renderer.
17
39
  * Starts an RPC server on a Unix socket at /tmp/effect-tui-sessions/<pid>.sock
18
40
  *
19
41
  * @param renderer - The TUI renderer to control
20
- * @param socketPath - Optional custom socket path
42
+ * @param options - Socket path and entry path for session identification
21
43
  * @returns A cleanup function to stop the server
22
44
  */
23
- export function enableRemote(renderer, socketPath) {
24
- const actualPath = socketPath ?? getSocketPath();
45
+ export function enableRemote(renderer, options) {
46
+ // Support old API: enableRemote(renderer, socketPath?)
47
+ const opts = typeof options === "string" ? { socketPath: options } : options ?? {};
48
+ const actualPath = opts.socketPath ?? getSocketPath();
49
+ // Derive session name from entry path
50
+ const name = opts.entryPath ? deriveSessionName(opts.entryPath) : undefined;
25
51
  // Create session implementation from renderer
26
52
  const session = {
27
53
  getScreenshot: () => renderer.getScreenshot(),
@@ -32,6 +58,8 @@ export function enableRemote(renderer, socketPath) {
32
58
  pid: process.pid,
33
59
  width: renderer.width,
34
60
  height: renderer.height,
61
+ entryPath: opts.entryPath,
62
+ name,
35
63
  }),
36
64
  };
37
65
  // Build and run the server layer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/remote/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenRenderer.d.ts","sourceRoot":"","sources":["../../../../src/renderer/modes/FullscreenRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,OAAO,CAAC,cAAc,CAAQ;IAE9B,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY;IAkChD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK7E,KAAK,IAAI,IAAI;CAGb"}
1
+ {"version":3,"file":"FullscreenRenderer.d.ts","sourceRoot":"","sources":["../../../../src/renderer/modes/FullscreenRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,OAAO,CAAC,cAAc,CAAQ;IAE9B,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY;IAoChD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAK7E,KAAK,IAAI,IAAI;CAGb"}
@@ -1,4 +1,4 @@
1
- import { ANSI, emitRowWithReset, findChangeWindow } from "@effect-tui/core";
1
+ import { ANSI, emitRowWithReset, rowChanged } from "@effect-tui/core";
2
2
  /**
3
3
  * Fullscreen rendering mode using alternate buffer.
4
4
  * Supports line-by-line diffing for efficient updates.
@@ -11,23 +11,25 @@ export class FullscreenRenderer {
11
11
  // If a full clear was requested (e.g., on resize), prepend it to output
12
12
  // so clear + content are written atomically (no visible flash)
13
13
  if (this.needsFullClear) {
14
- output += ANSI.cursor.to(1, 1);
14
+ output += ANSI.screen.clear + ANSI.cursor.to(1, 1);
15
15
  this.needsFullClear = false;
16
16
  // After clear, we must redraw everything - can't rely on diff
17
17
  for (let y = 0; y < frameHeight; y++) {
18
18
  if (y > 0)
19
19
  output += ANSI.cursor.to(1, y + 1);
20
+ output += palette.sgr(0) + ANSI.line.clear;
20
21
  output += emitRowWithReset(nextBuffer, palette, y, frameWidth);
21
22
  }
22
23
  }
23
24
  else if (enableDiff && prevBuffer) {
24
25
  // Diff per line for minimal writes
25
26
  for (let y = 0; y < frameHeight; y++) {
26
- const change = findChangeWindow(prevBuffer, nextBuffer, y, frameWidth);
27
- if (!change)
27
+ if (!rowChanged(prevBuffer, nextBuffer, y, frameWidth))
28
28
  continue;
29
- output += ANSI.cursor.to(change.left + 1, y + 1);
30
- output += emitRowWithReset(nextBuffer, palette, y, frameWidth, change.left, change.right + 1);
29
+ output += ANSI.cursor.to(1, y + 1);
30
+ // Clear the row using default style to avoid carrying stale backgrounds
31
+ output += palette.sgr(0) + ANSI.line.clear;
32
+ output += emitRowWithReset(nextBuffer, palette, y, frameWidth);
31
33
  }
32
34
  }
33
35
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenRenderer.js","sourceRoot":"","sources":["../../../../src/renderer/modes/FullscreenRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAG3E;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,cAAc,GAAG,KAAK,CAAA;IAE9B,cAAc,CAAC,GAAkB;QAChC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QACpF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,8DAA8D;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7C,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;aAAM,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YACrC,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;gBACtE,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBAChD,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAC9F,CAAC;QACF,CAAC;aAAM,CAAC;YACP,kCAAkC;YAClC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;gBAC9D,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC;oBAAE,MAAM,IAAI,MAAM,CAAA;YAC1C,CAAC;QACF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;IAC9C,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAkB;QACrE,wEAAwE;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,KAAK;QACJ,uCAAuC;IACxC,CAAC;CACD"}
1
+ {"version":3,"file":"FullscreenRenderer.js","sourceRoot":"","sources":["../../../../src/renderer/modes/FullscreenRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAGrE;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,cAAc,GAAG,KAAK,CAAA;IAE9B,cAAc,CAAC,GAAkB;QAChC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QACpF,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,wEAAwE;QACxE,+DAA+D;QAC/D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAClD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC3B,8DAA8D;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC7C,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC1C,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;aAAM,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YACrC,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC;oBAAE,SAAQ;gBAChE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBAClC,wEAAwE;gBACxE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC1C,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAC/D,CAAC;QACF,CAAC;aAAM,CAAC;YACP,kCAAkC;YAClC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;gBAC9D,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC;oBAAE,MAAM,IAAI,MAAM,CAAA;YAC1C,CAAC;QACF,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;IAC9C,CAAC;IAED,YAAY,CAAC,SAAiB,EAAE,UAAkB,EAAE,UAAkB;QACrE,wEAAwE;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;IAC3B,CAAC;IAED,KAAK;QACJ,uCAAuC;IACxC,CAAC;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineRenderer.d.ts","sourceRoot":"","sources":["../../../../src/renderer/modes/InlineRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElF;;;GAGG;AACH,qBAAa,cAAe,YAAW,YAAY;IAClD,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY;IA0ChD,OAAO,CAAC,kBAAkB;IAkE1B,OAAO,CAAC,kBAAkB;IA6B1B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAO3E,sEAAsE;IACtE,iBAAiB,IAAI,OAAO;IAI5B,kDAAkD;IAClD,qBAAqB,IAAI,IAAI;IAO7B,KAAK,IAAI,IAAI;IAMb,kGAAkG;IAClG,mBAAmB,IAAI,IAAI;IAI3B,iBAAiB,IAAI,MAAM;CAG3B"}
1
+ {"version":3,"file":"InlineRenderer.d.ts","sourceRoot":"","sources":["../../../../src/renderer/modes/InlineRenderer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAElF;;;GAGG;AACH,qBAAa,cAAe,YAAW,YAAY;IAClD,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY;IA2ChD,OAAO,CAAC,kBAAkB;IAkE1B,OAAO,CAAC,kBAAkB;IA8B1B,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAO3E,sEAAsE;IACtE,iBAAiB,IAAI,OAAO;IAI5B,kDAAkD;IAClD,qBAAqB,IAAI,IAAI;IAO7B,KAAK,IAAI,IAAI;IAMb,kGAAkG;IAClG,mBAAmB,IAAI,IAAI;IAI3B,iBAAiB,IAAI,MAAM;CAG3B"}
@@ -26,6 +26,7 @@ export class InlineRenderer {
26
26
  output += ANSI.cursor.up(this.previousHeight);
27
27
  }
28
28
  output += ANSI.cursor.startOfLine;
29
+ output += ANSI.screen.clearToEnd;
29
30
  this.previousStartRow = startRow;
30
31
  this.printedWidths = [];
31
32
  }
@@ -71,7 +72,7 @@ export class InlineRenderer {
71
72
  const prevW = this.printedWidths[screenY] ?? 0;
72
73
  if (prevW > 0) {
73
74
  moveToRow(screenY);
74
- output += ANSI.cursor.toCol(1) + palette.sgr(0) + " ".repeat(prevW);
75
+ output += ANSI.cursor.toCol(1) + palette.sgr(0) + ANSI.line.clear;
75
76
  this.printedWidths[screenY] = 0;
76
77
  }
77
78
  continue;
@@ -83,7 +84,7 @@ export class InlineRenderer {
83
84
  // No change; maybe need to clear tail if content shrunk
84
85
  if (prevW > newW) {
85
86
  moveToRow(screenY);
86
- output += ANSI.cursor.toCol(newW + 1) + palette.sgr(0) + " ".repeat(prevW - newW);
87
+ output += ANSI.cursor.toCol(newW + 1) + palette.sgr(0) + ANSI.line.clearToEnd;
87
88
  this.printedWidths[screenY] = newW;
88
89
  }
89
90
  continue;
@@ -95,9 +96,9 @@ export class InlineRenderer {
95
96
  // Clear tail if shrunk
96
97
  const effectiveW = Math.max(newW, change.right + 1);
97
98
  if (prevW > effectiveW) {
98
- output += ANSI.cursor.toCol(effectiveW + 1) + palette.sgr(0) + " ".repeat(prevW - effectiveW);
99
+ output += ANSI.cursor.toCol(effectiveW + 1) + ANSI.line.clearToEnd;
99
100
  }
100
- this.printedWidths[screenY] = newW;
101
+ this.printedWidths[screenY] = effectiveW;
101
102
  }
102
103
  // Ensure cursor ends just after the dynamic block for next frame positioning
103
104
  moveToRow(visibleHeight);
@@ -111,15 +112,16 @@ export class InlineRenderer {
111
112
  for (let bufferY = startRow; bufferY < endRow; bufferY++) {
112
113
  const screenY = bufferY - startRow;
113
114
  const trimmedWidth = rowContentWidth(nextBuffer, bufferY, frameWidth);
114
- // Full-width emit avoids reliance on line clears.
115
- output += emitRowWithReset(nextBuffer, palette, bufferY, frameWidth, 0, frameWidth);
115
+ // Clear ENTIRE line first to handle resize artifacts
116
+ output += ANSI.line.clear;
117
+ output += emitRowWithReset(nextBuffer, palette, bufferY, frameWidth, 0, trimmedWidth);
116
118
  output += "\r\n";
117
119
  // Track line widths for resize reflow calculation
118
120
  this.printedWidths[screenY] = trimmedWidth;
119
121
  }
120
122
  // Clear any extra lines if content shrank
121
123
  for (let screenY = rowCount; screenY < this.previousHeight; screenY++) {
122
- output += palette.sgr(0) + " ".repeat(frameWidth) + "\r\n";
124
+ output += palette.sgr(0) + ANSI.line.clear + "\r\n";
123
125
  this.printedWidths[screenY] = 0;
124
126
  }
125
127
  // Move cursor back up to end of content
@@ -1 +1 @@
1
- {"version":3,"file":"InlineRenderer.js","sourceRoot":"","sources":["../../../../src/renderer/modes/InlineRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InlineRenderer.js","sourceRoot":"","sources":["../../../../src/renderer/modes/InlineRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Alignment utilities for layout positioning.
3
+ */
4
+ import type { Rect, Size } from "../reconciler/types.js";
5
+ export type HAlign = "left" | "center" | "right" | "leading" | "trailing";
6
+ export type VAlign = "top" | "center" | "bottom";
7
+ /**
8
+ * Calculate position to align a child size within a container rect.
9
+ * Returns the x,y coordinates for the child's top-left corner.
10
+ */
11
+ export declare function alignInRect(rect: Rect, size: Size, hAlign?: HAlign, vAlign?: VAlign): {
12
+ x: number;
13
+ y: number;
14
+ };
15
+ //# sourceMappingURL=alignment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignment.d.ts","sourceRoot":"","sources":["../../../src/utils/alignment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;AACzE,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEhD;;;GAGG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,MAAiB,EACzB,MAAM,GAAE,MAAiB,GACvB;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA+B1B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Alignment utilities for layout positioning.
3
+ */
4
+ /**
5
+ * Calculate position to align a child size within a container rect.
6
+ * Returns the x,y coordinates for the child's top-left corner.
7
+ */
8
+ export function alignInRect(rect, size, hAlign = "center", vAlign = "center") {
9
+ let x = rect.x;
10
+ let y = rect.y;
11
+ switch (hAlign) {
12
+ case "left":
13
+ case "leading":
14
+ x = rect.x;
15
+ break;
16
+ case "center":
17
+ x = rect.x + Math.floor((rect.w - size.w) / 2);
18
+ break;
19
+ case "right":
20
+ case "trailing":
21
+ x = rect.x + Math.max(0, rect.w - size.w);
22
+ break;
23
+ }
24
+ switch (vAlign) {
25
+ case "top":
26
+ y = rect.y;
27
+ break;
28
+ case "center":
29
+ y = rect.y + Math.floor((rect.h - size.h) / 2);
30
+ break;
31
+ case "bottom":
32
+ y = rect.y + Math.max(0, rect.h - size.h);
33
+ break;
34
+ }
35
+ return { x, y };
36
+ }
37
+ //# sourceMappingURL=alignment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/utils/alignment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAC1B,IAAU,EACV,IAAU,EACV,SAAiB,QAAQ,EACzB,SAAiB,QAAQ;IAEzB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IACd,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAEd,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACb,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACd,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,KAAK;YACT,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YACV,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC9C,MAAK;QACN,KAAK,QAAQ;YACZ,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAK;IACP,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChB,CAAC"}
@@ -1,5 +1,6 @@
1
+ export { type HAlign, type VAlign, alignInRect } from "./alignment.js";
1
2
  export { type BorderKind, type BorderChars, borderChars, type ClipRect, drawBorder } from "./border.js";
2
3
  export { type Padding, type PaddingInput, resolvePadding } from "./padding.js";
3
- export { type StyleOptions, type StyleInput, toColorValue, styleSpecFromProps, styleIdFromProps, resolveBgStyle } from "./styles.js";
4
+ export { type StyleOptions, type StyleInput, toColorValue, styleSpecFromProps, styleIdFromProps, resolveBgStyle, resolveInheritedBgStyle, } from "./styles.js";
4
5
  export { type FlexAxis, type FlexAlignment, type FlexMeasureResult, measureFlex, layoutFlex } from "./flex-layout.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpI,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACvG,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,5 +1,6 @@
1
+ export { alignInRect } from "./alignment.js";
1
2
  export { borderChars, drawBorder } from "./border.js";
2
3
  export { resolvePadding } from "./padding.js";
3
- export { toColorValue, styleSpecFromProps, styleIdFromProps, resolveBgStyle } from "./styles.js";
4
+ export { toColorValue, styleSpecFromProps, styleIdFromProps, resolveBgStyle, resolveInheritedBgStyle, } from "./styles.js";
4
5
  export { measureFlex, layoutFlex } from "./flex-layout.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,WAAW,EAAiB,UAAU,EAAE,MAAM,aAAa,CAAA;AACvG,OAAO,EAAmC,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAsC,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACpI,OAAO,EAA6D,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACtE,OAAO,EAAqC,WAAW,EAAiB,UAAU,EAAE,MAAM,aAAa,CAAA;AACvG,OAAO,EAAmC,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAGN,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAA6D,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
@@ -29,4 +29,13 @@ export declare function resolveBgStyle(palette: Palette, bg?: Color): {
29
29
  value?: ColorValue;
30
30
  styleId: number;
31
31
  };
32
+ import type { HostInstance } from "../reconciler/types.js";
33
+ /**
34
+ * Resolve background style, inheriting from parent if not explicitly set.
35
+ * Common pattern used by hosts that need background color inheritance.
36
+ */
37
+ export declare function resolveInheritedBgStyle(palette: Palette, explicitBg: Color | undefined, parent: HostInstance | null): {
38
+ value?: ColorValue;
39
+ styleId: number;
40
+ };
32
41
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAExG,MAAM,WAAW,YAAY;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAGzE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAa3E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5E;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAIpG"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAExG,MAAM,WAAW,YAAY;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,EAAE,CAAC,EAAE,UAAU,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,EAAE,CAAC,EAAE,KAAK,CAAA;IACV,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAGzE;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAa3E;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5E;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAIpG;AAED,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAG1D;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,KAAK,GAAG,SAAS,EAC7B,MAAM,EAAE,YAAY,GAAG,IAAI,GACzB;IAAE,KAAK,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAGzC"}
@@ -37,4 +37,13 @@ export function resolveBgStyle(palette, bg) {
37
37
  const styleId = value === undefined ? 0 : palette.id({ bg: value });
38
38
  return { value, styleId };
39
39
  }
40
+ import { getInheritedBg } from "../hosts/base.js";
41
+ /**
42
+ * Resolve background style, inheriting from parent if not explicitly set.
43
+ * Common pattern used by hosts that need background color inheritance.
44
+ */
45
+ export function resolveInheritedBgStyle(palette, explicitBg, parent) {
46
+ const bg = explicitBg ?? getInheritedBg(parent);
47
+ return resolveBgStyle(palette, bg);
48
+ }
40
49
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAA6D,MAAM,kBAAkB,CAAA;AAoBxG,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,CAAoB;IAChD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IACnD,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEjC,IAAI,EAAE,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClC,IAAI,EAAE,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClC,IAAI,KAAK,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpC,IAAI,KAAK,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IAC1C,IAAI,KAAK,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IAEtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,KAAiB;IACnE,OAAO,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,EAAU;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/utils/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAA6D,MAAM,kBAAkB,CAAA;AAoBxG,4EAA4E;AAC5E,MAAM,UAAU,YAAY,CAAC,CAAoB;IAChD,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACrC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IACnD,MAAM,IAAI,GAAc,EAAE,CAAA;IAC1B,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAEjC,IAAI,EAAE,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClC,IAAI,EAAE,KAAK,SAAS;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClC,IAAI,KAAK,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM;QAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpC,IAAI,KAAK,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IAC1C,IAAI,KAAK,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IAEtC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AACvD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,KAAiB;IACnE,OAAO,OAAO,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,EAAU;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC;AAGD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACtC,OAAgB,EAChB,UAA6B,EAC7B,MAA2B;IAE3B,MAAM,EAAE,GAAG,UAAU,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACnC,CAAC"}