decocms 2.309.0 → 2.310.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/dist/client/assets/{AlertCircle-DfpOj9uk.js → AlertCircle-Cty0PLzG.js} +1 -1
  2. package/dist/client/assets/{ArrowNarrowLeft-CGsSFJZH.js → ArrowNarrowLeft-GsAWuH-U.js} +1 -1
  3. package/dist/client/assets/{ArrowUpRight-DtiNC8xj.js → ArrowUpRight-Ck_tkMu3.js} +1 -1
  4. package/dist/client/assets/{Check-DXPBjwC9.js → Check-3abToiit.js} +1 -1
  5. package/dist/client/assets/{CheckCircle-DenvulPR.js → CheckCircle-gN0xOzFk.js} +1 -1
  6. package/dist/client/assets/{ChevronDown-BzUdsdeu.js → ChevronDown-Du1srzFH.js} +1 -1
  7. package/dist/client/assets/{ChevronRight-8RBDSI4c.js → ChevronRight-CZd3BLjH.js} +1 -1
  8. package/dist/client/assets/{ChevronUp-CkOPdM7g.js → ChevronUp-CgHHKXV-.js} +1 -1
  9. package/dist/client/assets/{Container-B2b9FJMR.js → Container-DV6TDqni.js} +1 -1
  10. package/dist/client/assets/{DotsVertical-CCxgBVsk.js → DotsVertical-D7_daHaX.js} +1 -1
  11. package/dist/client/assets/{LinkExternal01-C_eUHFUm.js → LinkExternal01-CLwRaqiP.js} +1 -1
  12. package/dist/client/assets/{Lock01-SmEMRGOb.js → Lock01-DW1KfF8p.js} +1 -1
  13. package/dist/client/assets/{Palette-qMNBtXtx.js → Palette-DgoZ3R-C.js} +1 -1
  14. package/dist/client/assets/{Play-DmVY8R1A.js → Play-ZbM8yAk4.js} +1 -1
  15. package/dist/client/assets/{Plus-B19lTgl_.js → Plus-xUHEWwhK.js} +1 -1
  16. package/dist/client/assets/{RefreshCcw01-DDZo1WKt.js → RefreshCcw01-DOURBTJB.js} +1 -1
  17. package/dist/client/assets/{SearchMd-BvQQOrkm.js → SearchMd-D05lbITN.js} +1 -1
  18. package/dist/client/assets/{Settings02-CYadYmOF.js → Settings02-YbowrI3C.js} +1 -1
  19. package/dist/client/assets/{Shield01-GS3q0eea.js → Shield01-C9nMXmPC.js} +1 -1
  20. package/dist/client/assets/{Star01-BM8AlGEC.js → Star01-Dcuqy8Xk.js} +1 -1
  21. package/dist/client/assets/{Sun-B2OKfrtR.js → Sun-s1inzqGI.js} +1 -1
  22. package/dist/client/assets/{Tool01-CIMPkAjR.js → Tool01-BxwtRzVa.js} +1 -1
  23. package/dist/client/assets/{Trash01-4PBXkXRo.js → Trash01-Bgq8zueU.js} +1 -1
  24. package/dist/client/assets/{User01-nh8Rby1P.js → User01-C3dKJDdx.js} +1 -1
  25. package/dist/client/assets/{Users03-CItFKGX1.js → Users03-DBewd1K5.js} +1 -1
  26. package/dist/client/assets/{X-CGShNfee.js → X-BANQifhl.js} +1 -1
  27. package/dist/client/assets/{XCircle-CTrtJtfR.js → XCircle-BOat1iVu.js} +1 -1
  28. package/dist/client/assets/{XClose-BnCJyyB-.js → XClose-B0qkWAhQ.js} +1 -1
  29. package/dist/client/assets/{Zap-D7WiwjAV.js → Zap-Cq3RtLSB.js} +1 -1
  30. package/dist/client/assets/{ZapSquare-DhbSIk6a.js → ZapSquare-BajF09ms.js} +1 -1
  31. package/dist/client/assets/{accordion-CgT_Vu18.js → accordion-Bm-v7xME.js} +1 -1
  32. package/dist/client/assets/{agent-icon-GBX3RKid.js → agent-icon-SBMo6sYE.js} +1 -1
  33. package/dist/client/assets/{agents-list--TECSTo0.js → agents-list-GJhbrN0t.js} +1 -1
  34. package/dist/client/assets/ai-providers-CGGe3rZi.js +1 -0
  35. package/dist/client/assets/{alert-dialog-CZ6BxFHK.js → alert-dialog-Bht5ffLL.js} +1 -1
  36. package/dist/client/assets/{auth-catchall-CzFa67HB.js → auth-catchall-BywQWWLa.js} +1 -1
  37. package/dist/client/assets/{automation-list-row-DC7TfwMb.js → automation-list-row-Bf0t7EtN.js} +1 -1
  38. package/dist/client/assets/{automations-DPy2yPJ7.js → automations-TTGgZ4_x.js} +1 -1
  39. package/dist/client/assets/{avatar-BbisflHp.js → avatar-C0tjLWvd.js} +1 -1
  40. package/dist/client/assets/{badge-B32WzuEH.js → badge-CETVYtBV.js} +1 -1
  41. package/dist/client/assets/{brand-context-CNm1jHaQ.js → brand-context-BYQ1b567.js} +1 -1
  42. package/dist/client/assets/{card-DdVfFEw2.js → card-CGYKd1RQ.js} +1 -1
  43. package/dist/client/assets/{chat-context-BnJMVusJ.js → chat-context-CNhlOw91.js} +1 -1
  44. package/dist/client/assets/{checkbox-BJiR6nKO.js → checkbox-GOJe-fLe.js} +1 -1
  45. package/dist/client/assets/{collection-detail-tyzI1jcV.js → collection-detail-D2LL1NRS.js} +1 -1
  46. package/dist/client/assets/{collection-display-button-Tq0uOlxA.js → collection-display-button-D33z-MiQ.js} +1 -1
  47. package/dist/client/assets/{collection-search-BBFkmets.js → collection-search-DKsJLeUf.js} +1 -1
  48. package/dist/client/assets/{collection-search-D62A0L7U.js → collection-search-pRmMMUTu.js} +1 -1
  49. package/dist/client/assets/{collection-table-wrapper-CjFwfKJr.js → collection-table-wrapper-DkvuPVRT.js} +1 -1
  50. package/dist/client/assets/{collection-tabs--b599n6J.js → collection-tabs-Dm7Azh1U.js} +1 -1
  51. package/dist/client/assets/{collections-C5AWnYf0.js → collections-CRk11Z8a.js} +1 -1
  52. package/dist/client/assets/{command-DK-j4arJ.js → command-BUpWRvBK.js} +1 -1
  53. package/dist/client/assets/{connection-card--P5ycKzL.js → connection-card-D9OhH-Fq.js} +1 -1
  54. package/dist/client/assets/{connection-detail-CUNWcOPp.js → connection-detail-CQU5Tvmh.js} +1 -1
  55. package/dist/client/assets/{connection-form-helpers-BeJI6IBg.js → connection-form-helpers-D1bN8HX-.js} +1 -1
  56. package/dist/client/assets/{connections-DWQtsigZ.js → connections-CgifR5uL.js} +1 -1
  57. package/dist/client/assets/{constants-CnfWGYKH.js → constants-BCHiURE4.js} +1 -1
  58. package/dist/client/assets/{constants-sHQufsXI.js → constants-Cp5N7awu.js} +1 -1
  59. package/dist/client/assets/{dialog-BZytMGON.js → dialog-C67OG62k.js} +1 -1
  60. package/dist/client/assets/{domain-settings-bUM7Hn2b.js → domain-settings-tkR1Nxgx.js} +1 -1
  61. package/dist/client/assets/{drawer-D-6kJz55.js → drawer-dxlczq_i.js} +1 -1
  62. package/dist/client/assets/{dropdown-menu-BpdWPWdq.js → dropdown-menu-CW5XsoI8.js} +1 -1
  63. package/dist/client/assets/{dynamic-plugin-layout-CZeZv3Kn.js → dynamic-plugin-layout-tEvbHH60.js} +1 -1
  64. package/dist/client/assets/{empty-state-BQISF-I3.js → empty-state-Ci5HFdKD.js} +1 -1
  65. package/dist/client/assets/{empty-state-DuLPP0P_.js → empty-state-CmG4puLG.js} +1 -1
  66. package/dist/client/assets/{extract-connection-data-Bj_pawjK.js → extract-connection-data-hFQpz6Ey.js} +1 -1
  67. package/dist/client/assets/{features-92AWt8WI.js → features-BVz7FR1H.js} +1 -1
  68. package/dist/client/assets/{form-Bi1l8-LL.js → form-DPfW-AID.js} +1 -1
  69. package/dist/client/assets/{general-CJgzv-Wx.js → general-CU3b0SfV.js} +1 -1
  70. package/dist/client/assets/{index-YDo551Ci.js → index-BFPJC5eE.js} +1 -1
  71. package/dist/client/assets/{index-gC4su7X_.js → index-C9J0IAed.js} +1 -1
  72. package/dist/client/assets/{index-Dr1V1Dds.js → index-CKp44BR_.js} +1 -1
  73. package/dist/client/assets/{index-BheN5Hjz.js → index-CMBuSnHj.js} +1 -1
  74. package/dist/client/assets/{index-CzZgNQPp.js → index-COeQARzy.js} +1 -1
  75. package/dist/client/assets/{index-R0jE9KSj.js → index-Cg8Nu4CY.js} +3 -3
  76. package/dist/client/assets/{index-C39RwBnQ.js → index-ClSJa_a-.js} +1 -1
  77. package/dist/client/assets/{index-BydJ2WUR.js → index-DGiQyM9G.js} +1 -1
  78. package/dist/client/assets/index-DP8Jy3jt.js +1 -0
  79. package/dist/client/assets/{index--ghksYAo.js → index-DS-a6wyz.js} +1 -1
  80. package/dist/client/assets/{index-C03HvIgQ.js → index-Ddo0iMq6.js} +1 -1
  81. package/dist/client/assets/{index-DSzBgSpo.js → index-HbxcCsnZ.js} +1 -1
  82. package/dist/client/assets/{index-CE54Jnz-.js → index-QuRKY5U6.js} +1 -1
  83. package/dist/client/assets/{index-Cbpr6CGx.js → index-akTmUiSO.js} +1 -1
  84. package/dist/client/assets/{index-BFIwa8W4.js → index-e7eEqZQD.js} +2 -2
  85. package/dist/client/assets/{index-BgSyGi69.js → index-hiuu-64i.js} +1 -1
  86. package/dist/client/assets/{infiniteQueryObserver-NmUU_rOy.js → infiniteQueryObserver-CHiY1NnZ.js} +1 -1
  87. package/dist/client/assets/{input-C66FZPPf.js → input-B8x8lV8_.js} +1 -1
  88. package/dist/client/assets/{integration-icon-fPkSifk0.js → integration-icon-Bfmqyrf_.js} +1 -1
  89. package/dist/client/assets/{label-BMe1SNEP.js → label-BU7N79Fq.js} +1 -1
  90. package/dist/client/assets/{layout-DbOAzt16.js → layout-Dnq67rSm.js} +1 -1
  91. package/dist/client/assets/{lean-canvas-recruit-modal-BP1iZHjy.js → lean-canvas-recruit-modal-C70LSjWJ.js} +1 -1
  92. package/dist/client/assets/{login-CRXuvxd9.js → login-_Q9L7mst.js} +1 -1
  93. package/dist/client/assets/{members-BwleeoVp.js → members-D-VFZlys.js} +1 -1
  94. package/dist/client/assets/{monaco-editor-C457mqYB.js → monaco-editor-BXyi5viY.js} +1 -1
  95. package/dist/client/assets/{monitoring-stats-row-DKl9Ubde.js → monitoring-stats-row-CEoUxcHm.js} +1 -1
  96. package/dist/client/assets/{oauth-callback-1dC9VVpc.js → oauth-callback-B5dtt4y6.js} +1 -1
  97. package/dist/client/assets/{oauth-callback-ai-provider-BGY5Uat_.js → oauth-callback-ai-provider-Cc_nFPdq.js} +1 -1
  98. package/dist/client/assets/{onboarding-C1bM-up9.js → onboarding-uWZePAti.js} +1 -1
  99. package/dist/client/assets/{org-layout-Cll4mSr3.js → org-layout-BK5cWTcx.js} +1 -1
  100. package/dist/client/assets/{org-plugin-layout-qjkMXyOy.js → org-plugin-layout-C0ezKAgt.js} +1 -1
  101. package/dist/client/assets/{pair-Bl_sqsCX.js → pair-BTwp6bTc.js} +1 -1
  102. package/dist/client/assets/{plugin-empty-state-DCQUcDfK.js → plugin-empty-state-CjfGiA5F.js} +1 -1
  103. package/dist/client/assets/{plugin-header-Deqthnjp.js → plugin-header-D9DU3BMG.js} +1 -1
  104. package/dist/client/assets/{plugin-layout-m0OkUjnq.js → plugin-layout-DSjok7-L.js} +1 -1
  105. package/dist/client/assets/{popover-DIqVWKAH.js → popover-3D5jsJh1.js} +1 -1
  106. package/dist/client/assets/{profile-Ck6jHCNy.js → profile-BdmoV93F.js} +1 -1
  107. package/dist/client/assets/{project-app-view-D--E6naM.js → project-app-view-CmNwDiw0.js} +1 -1
  108. package/dist/client/assets/registry-C8zMtgwr.js +2 -0
  109. package/dist/client/assets/{registry-layout-BaLlt8iJ.js → registry-layout-xyKYdVRG.js} +1 -1
  110. package/dist/client/assets/{required-auth-layout-4lbvRXP9.js → required-auth-layout-W0nsPTz2.js} +1 -1
  111. package/dist/client/assets/{reset-password-E281j__o.js → reset-password-BVEdYLL2.js} +1 -1
  112. package/dist/client/assets/{roles-CG_umLTJ.js → roles-CtNr9Xv_.js} +1 -1
  113. package/dist/client/assets/{scroll-area-Dpf0WEDP.js → scroll-area-D71z0--k.js} +1 -1
  114. package/dist/client/assets/{search-input-BcoDzgCL.js → search-input-C1sIJN1c.js} +1 -1
  115. package/dist/client/assets/{select-CsQfJ0qv.js → select-mWz1b_ZH.js} +1 -1
  116. package/dist/client/assets/{select-model-Vwe69qWq.js → select-model-tmulvVLX.js} +1 -1
  117. package/dist/client/assets/{settings-layout-Cw1Oq9lP.js → settings-layout-BqXIUoEI.js} +1 -1
  118. package/dist/client/assets/{settings-section-Bcn_yZSc.js → settings-section-OvOVUTcw.js} +1 -1
  119. package/dist/client/assets/{shell-layout-BQPFdNnv.js → shell-layout-5NI7-V2p.js} +1 -1
  120. package/dist/client/assets/{skeleton-DFE9g6JF.js → skeleton-Bq5_S0j2.js} +1 -1
  121. package/dist/client/assets/{sso-DFJ1V_Eq.js → sso-CbTsdhS9.js} +1 -1
  122. package/dist/client/assets/{store-BupAo568.js → store-Dfk_RNXS.js} +1 -1
  123. package/dist/client/assets/store-registry-Cc1z30ih.js +2 -0
  124. package/dist/client/assets/{switch-B9pehtZv.js → switch-KcpCgqTm.js} +1 -1
  125. package/dist/client/assets/{table-CvhbCrhO.js → table-Dcu4orQb.js} +1 -1
  126. package/dist/client/assets/{tabs-Dxl_bMcE.js → tabs-yr1sdiKv.js} +1 -1
  127. package/dist/client/assets/{task-status-BWs0NSVc.js → task-status-feSWSO3m.js} +1 -1
  128. package/dist/client/assets/{textarea-DH2INXqG.js → textarea-B5KVzuoV.js} +1 -1
  129. package/dist/client/assets/{toggle-group-BKADQha7.js → toggle-group-DhgFoVFU.js} +1 -1
  130. package/dist/client/assets/{tools-list-CVKmigbN.js → tools-list-B0Yp2GUj.js} +1 -1
  131. package/dist/client/assets/{tooltip-CzkIRbGJ.js → tooltip-BPT840gf.js} +1 -1
  132. package/dist/client/assets/{types-CiOXD-c9.js → types-9jOTGnHq.js} +1 -1
  133. package/dist/client/assets/{use-ai-providers-BSpy6MGb.js → use-ai-providers-D69mlQI8.js} +1 -1
  134. package/dist/client/assets/{use-collections-BgNhuD43.js → use-collections-DwvEVl8v.js} +1 -1
  135. package/dist/client/assets/{use-connection-BypaB8s_.js → use-connection-JJHjF6rv.js} +1 -1
  136. package/dist/client/assets/{use-copy-DUQETT2i.js → use-copy-C9_Hg3HJ.js} +1 -1
  137. package/dist/client/assets/{use-create-virtual-mcp-Cr6RxP_0.js → use-create-virtual-mcp-D-lXC80m.js} +1 -1
  138. package/dist/client/assets/{use-debounced-autosave-DO41C7Df.js → use-debounced-autosave-DFbpcKm7.js} +1 -1
  139. package/dist/client/assets/{use-decopilot-events-Bd5bEjkf.js → use-decopilot-events-BcK-yZDw.js} +1 -1
  140. package/dist/client/assets/{use-delete-connection-v1LXlIsA.js → use-delete-connection-CPz0jmtA.js} +1 -1
  141. package/dist/client/assets/{use-infinite-scroll-QOTO_hJO.js → use-infinite-scroll-B1xILXLP.js} +1 -1
  142. package/dist/client/assets/{use-list-state-C_A7sIoE.js → use-list-state-BZRsAUdo.js} +1 -1
  143. package/dist/client/assets/{use-mcp-tools-Dneo9PV9.js → use-mcp-tools-D73stCOo.js} +1 -1
  144. package/dist/client/assets/{use-members-ClknS2e8.js → use-members-DsN3ITf2.js} +1 -1
  145. package/dist/client/assets/{use-navigate-to-agent-jsYNoTy7.js → use-navigate-to-agent-CJDDIver.js} +1 -1
  146. package/dist/client/assets/{use-org-auth-client-piAjQuqe.js → use-org-auth-client-Bq9q7Hza.js} +1 -1
  147. package/dist/client/assets/{use-org-sso-BbOiG5xt.js → use-org-sso-D22xZlY0.js} +1 -1
  148. package/dist/client/assets/{use-organization-roles-DRnvDp6V.js → use-organization-roles-Q3jXj8C7.js} +1 -1
  149. package/dist/client/assets/{use-organization-settings-Cl63rukI.js → use-organization-settings-DC8b5MPT.js} +1 -1
  150. package/dist/client/assets/{use-registry-connections-nKQr071c.js → use-registry-connections-XqvUTmE5.js} +1 -1
  151. package/dist/client/assets/{use-status-sounds-DNBT8d2Q.js → use-status-sounds-CCFuBFY0.js} +1 -1
  152. package/dist/client/assets/{use-tasks-D6w8iRzc.js → use-tasks-Btt8g-fe.js} +1 -1
  153. package/dist/client/assets/{use-view-mode-EFwbm8pp.js → use-view-mode-BvotgnsQ.js} +1 -1
  154. package/dist/client/assets/{use-virtual-mcp-BW1ujP1y.js → use-virtual-mcp-BgZ2h4E7.js} +1 -1
  155. package/dist/client/assets/useInfiniteQuery-DxaE8j48.js +1 -0
  156. package/dist/client/assets/useSuspenseInfiniteQuery-CgPS4Lvz.js +1 -0
  157. package/dist/client/assets/{user-B9J8wn-0.js → user-C-74yDDj.js} +1 -1
  158. package/dist/client/assets/{view-mode-toggle-P1fMVeBh.js → view-mode-toggle-BX0KOixc.js} +1 -1
  159. package/dist/client/assets/{workflow-Bk-2rBg-.js → workflow-D8djL2VH.js} +1 -1
  160. package/dist/client/assets/workflow-detail-eNmJkRLG.js +1 -0
  161. package/dist/client/index.html +1 -1
  162. package/dist/server/cli.js +2 -2
  163. package/dist/server/node_modules/get-east-asian-width/index.d.ts +60 -0
  164. package/dist/server/node_modules/get-east-asian-width/index.js +30 -0
  165. package/dist/server/node_modules/get-east-asian-width/lookup-data.js +18 -0
  166. package/dist/server/node_modules/get-east-asian-width/lookup.js +135 -0
  167. package/dist/server/node_modules/get-east-asian-width/package.json +71 -0
  168. package/dist/server/node_modules/get-east-asian-width/readme.md +65 -0
  169. package/dist/server/node_modules/get-east-asian-width/utilities.js +24 -0
  170. package/dist/server/node_modules/ink/build/ansi-tokenizer.d.ts +38 -0
  171. package/dist/server/node_modules/ink/build/ansi-tokenizer.js +316 -0
  172. package/dist/server/node_modules/ink/build/ansi-tokenizer.js.map +1 -0
  173. package/dist/server/node_modules/ink/build/apply-styles.js +175 -0
  174. package/dist/server/node_modules/ink/build/build-layout.js +77 -0
  175. package/dist/server/node_modules/ink/build/calculate-wrapped-text.js +53 -0
  176. package/dist/server/node_modules/ink/build/colorize.d.ts +3 -0
  177. package/dist/server/node_modules/ink/build/colorize.js +48 -0
  178. package/dist/server/node_modules/ink/build/colorize.js.map +1 -0
  179. package/dist/server/node_modules/ink/build/components/AccessibilityContext.d.ts +3 -0
  180. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js +5 -0
  181. package/dist/server/node_modules/ink/build/components/AccessibilityContext.js.map +1 -0
  182. package/dist/server/node_modules/ink/build/components/App.d.ts +18 -0
  183. package/dist/server/node_modules/ink/build/components/App.js +351 -0
  184. package/dist/server/node_modules/ink/build/components/App.js.map +1 -0
  185. package/dist/server/node_modules/ink/build/components/AppContext.d.ts +15 -0
  186. package/dist/server/node_modules/ink/build/components/AppContext.js +11 -0
  187. package/dist/server/node_modules/ink/build/components/AppContext.js.map +1 -0
  188. package/dist/server/node_modules/ink/build/components/BackgroundContext.d.ts +4 -0
  189. package/dist/server/node_modules/ink/build/components/BackgroundContext.js +3 -0
  190. package/dist/server/node_modules/ink/build/components/BackgroundContext.js.map +1 -0
  191. package/dist/server/node_modules/ink/build/components/Box.d.ts +117 -0
  192. package/dist/server/node_modules/ink/build/components/Box.js +34 -0
  193. package/dist/server/node_modules/ink/build/components/Box.js.map +1 -0
  194. package/dist/server/node_modules/ink/build/components/Color.js +62 -0
  195. package/dist/server/node_modules/ink/build/components/Cursor.d.ts +83 -0
  196. package/dist/server/node_modules/ink/build/components/Cursor.js +53 -0
  197. package/dist/server/node_modules/ink/build/components/Cursor.js.map +1 -0
  198. package/dist/server/node_modules/ink/build/components/CursorContext.d.ts +11 -0
  199. package/dist/server/node_modules/ink/build/components/CursorContext.js +8 -0
  200. package/dist/server/node_modules/ink/build/components/CursorContext.js.map +1 -0
  201. package/dist/server/node_modules/ink/build/components/ErrorBoundary.d.ts +18 -0
  202. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js +23 -0
  203. package/dist/server/node_modules/ink/build/components/ErrorBoundary.js.map +1 -0
  204. package/dist/server/node_modules/ink/build/components/ErrorOverview.d.ts +6 -0
  205. package/dist/server/node_modules/ink/build/components/ErrorOverview.js +84 -0
  206. package/dist/server/node_modules/ink/build/components/ErrorOverview.js.map +1 -0
  207. package/dist/server/node_modules/ink/build/components/FocusContext.d.ts +16 -0
  208. package/dist/server/node_modules/ink/build/components/FocusContext.js +17 -0
  209. package/dist/server/node_modules/ink/build/components/FocusContext.js.map +1 -0
  210. package/dist/server/node_modules/ink/build/components/Newline.d.ts +13 -0
  211. package/dist/server/node_modules/ink/build/components/Newline.js +8 -0
  212. package/dist/server/node_modules/ink/build/components/Newline.js.map +1 -0
  213. package/dist/server/node_modules/ink/build/components/Spacer.d.ts +7 -0
  214. package/dist/server/node_modules/ink/build/components/Spacer.js +11 -0
  215. package/dist/server/node_modules/ink/build/components/Spacer.js.map +1 -0
  216. package/dist/server/node_modules/ink/build/components/Static.d.ts +24 -0
  217. package/dist/server/node_modules/ink/build/components/Static.js +28 -0
  218. package/dist/server/node_modules/ink/build/components/Static.js.map +1 -0
  219. package/dist/server/node_modules/ink/build/components/StderrContext.d.ts +15 -0
  220. package/dist/server/node_modules/ink/build/components/StderrContext.js +13 -0
  221. package/dist/server/node_modules/ink/build/components/StderrContext.js.map +1 -0
  222. package/dist/server/node_modules/ink/build/components/StdinContext.d.ts +22 -0
  223. package/dist/server/node_modules/ink/build/components/StdinContext.js +19 -0
  224. package/dist/server/node_modules/ink/build/components/StdinContext.js.map +1 -0
  225. package/dist/server/node_modules/ink/build/components/StdoutContext.d.ts +15 -0
  226. package/dist/server/node_modules/ink/build/components/StdoutContext.js +13 -0
  227. package/dist/server/node_modules/ink/build/components/StdoutContext.js.map +1 -0
  228. package/dist/server/node_modules/ink/build/components/Text.d.ts +55 -0
  229. package/dist/server/node_modules/ink/build/components/Text.js +50 -0
  230. package/dist/server/node_modules/ink/build/components/Text.js.map +1 -0
  231. package/dist/server/node_modules/ink/build/components/Transform.d.ts +16 -0
  232. package/dist/server/node_modules/ink/build/components/Transform.js +15 -0
  233. package/dist/server/node_modules/ink/build/components/Transform.js.map +1 -0
  234. package/dist/server/node_modules/ink/build/cursor-helpers.d.ts +38 -0
  235. package/dist/server/node_modules/ink/build/cursor-helpers.js +56 -0
  236. package/dist/server/node_modules/ink/build/cursor-helpers.js.map +1 -0
  237. package/dist/server/node_modules/ink/build/devtools-window-polyfill.d.ts +1 -0
  238. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js +65 -0
  239. package/dist/server/node_modules/ink/build/devtools-window-polyfill.js.map +1 -0
  240. package/dist/server/node_modules/ink/build/devtools.d.ts +1 -0
  241. package/dist/server/node_modules/ink/build/devtools.js +11 -0
  242. package/dist/server/node_modules/ink/build/devtools.js.map +1 -0
  243. package/dist/server/node_modules/ink/build/dom.d.ts +56 -0
  244. package/dist/server/node_modules/ink/build/dom.js +124 -0
  245. package/dist/server/node_modules/ink/build/dom.js.map +1 -0
  246. package/dist/server/node_modules/ink/build/experimental/apply-style.js +140 -0
  247. package/dist/server/node_modules/ink/build/experimental/dom.js +123 -0
  248. package/dist/server/node_modules/ink/build/experimental/output.js +91 -0
  249. package/dist/server/node_modules/ink/build/experimental/reconciler.js +141 -0
  250. package/dist/server/node_modules/ink/build/experimental/renderer.js +81 -0
  251. package/dist/server/node_modules/ink/build/get-max-width.d.ts +3 -0
  252. package/dist/server/node_modules/ink/build/get-max-width.js +10 -0
  253. package/dist/server/node_modules/ink/build/get-max-width.js.map +1 -0
  254. package/dist/server/node_modules/ink/build/hooks/use-app.d.ts +5 -0
  255. package/dist/server/node_modules/ink/build/hooks/use-app.js +8 -0
  256. package/dist/server/node_modules/ink/build/hooks/use-app.js.map +1 -0
  257. package/dist/server/node_modules/ink/build/hooks/use-cursor.d.ts +12 -0
  258. package/dist/server/node_modules/ink/build/hooks/use-cursor.js +29 -0
  259. package/dist/server/node_modules/ink/build/hooks/use-cursor.js.map +1 -0
  260. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.d.ts +28 -0
  261. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js +17 -0
  262. package/dist/server/node_modules/ink/build/hooks/use-focus-manager.js.map +1 -0
  263. package/dist/server/node_modules/ink/build/hooks/use-focus.d.ts +29 -0
  264. package/dist/server/node_modules/ink/build/hooks/use-focus.js +42 -0
  265. package/dist/server/node_modules/ink/build/hooks/use-focus.js.map +1 -0
  266. package/dist/server/node_modules/ink/build/hooks/use-input.d.ts +131 -0
  267. package/dist/server/node_modules/ink/build/hooks/use-input.js +124 -0
  268. package/dist/server/node_modules/ink/build/hooks/use-input.js.map +1 -0
  269. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
  270. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
  271. package/dist/server/node_modules/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
  272. package/dist/server/node_modules/ink/build/hooks/use-stderr.d.ts +5 -0
  273. package/dist/server/node_modules/ink/build/hooks/use-stderr.js +8 -0
  274. package/dist/server/node_modules/ink/build/hooks/use-stderr.js.map +1 -0
  275. package/dist/server/node_modules/ink/build/hooks/use-stdin.d.ts +5 -0
  276. package/dist/server/node_modules/ink/build/hooks/use-stdin.js +8 -0
  277. package/dist/server/node_modules/ink/build/hooks/use-stdin.js.map +1 -0
  278. package/dist/server/node_modules/ink/build/hooks/use-stdout.d.ts +5 -0
  279. package/dist/server/node_modules/ink/build/hooks/use-stdout.js +8 -0
  280. package/dist/server/node_modules/ink/build/hooks/use-stdout.js.map +1 -0
  281. package/dist/server/node_modules/ink/build/hooks/useInput.js +38 -0
  282. package/dist/server/node_modules/ink/build/index.d.ts +34 -0
  283. package/dist/server/node_modules/ink/build/index.js +20 -0
  284. package/dist/server/node_modules/ink/build/index.js.map +1 -0
  285. package/dist/server/node_modules/ink/build/ink.d.ts +90 -0
  286. package/dist/server/node_modules/ink/build/ink.js +637 -0
  287. package/dist/server/node_modules/ink/build/ink.js.map +1 -0
  288. package/dist/server/node_modules/ink/build/input-parser.d.ts +7 -0
  289. package/dist/server/node_modules/ink/build/input-parser.js +154 -0
  290. package/dist/server/node_modules/ink/build/input-parser.js.map +1 -0
  291. package/dist/server/node_modules/ink/build/instance.js +205 -0
  292. package/dist/server/node_modules/ink/build/instances.d.ts +3 -0
  293. package/dist/server/node_modules/ink/build/instances.js +8 -0
  294. package/dist/server/node_modules/ink/build/instances.js.map +1 -0
  295. package/dist/server/node_modules/ink/build/kitty-keyboard.d.ts +23 -0
  296. package/dist/server/node_modules/ink/build/kitty-keyboard.js +32 -0
  297. package/dist/server/node_modules/ink/build/kitty-keyboard.js.map +1 -0
  298. package/dist/server/node_modules/ink/build/layout.d.ts +7 -0
  299. package/dist/server/node_modules/ink/build/layout.js +33 -0
  300. package/dist/server/node_modules/ink/build/layout.js.map +1 -0
  301. package/dist/server/node_modules/ink/build/log-update.d.ts +19 -0
  302. package/dist/server/node_modules/ink/build/log-update.js +242 -0
  303. package/dist/server/node_modules/ink/build/log-update.js.map +1 -0
  304. package/dist/server/node_modules/ink/build/measure-element.d.ts +16 -0
  305. package/dist/server/node_modules/ink/build/measure-element.js +9 -0
  306. package/dist/server/node_modules/ink/build/measure-element.js.map +1 -0
  307. package/dist/server/node_modules/ink/build/measure-text.d.ts +6 -0
  308. package/dist/server/node_modules/ink/build/measure-text.js +21 -0
  309. package/dist/server/node_modules/ink/build/measure-text.js.map +1 -0
  310. package/dist/server/node_modules/ink/build/options.d.ts +52 -0
  311. package/dist/server/node_modules/ink/build/options.js +2 -0
  312. package/dist/server/node_modules/ink/build/options.js.map +1 -0
  313. package/dist/server/node_modules/ink/build/output.d.ts +35 -0
  314. package/dist/server/node_modules/ink/build/output.js +183 -0
  315. package/dist/server/node_modules/ink/build/output.js.map +1 -0
  316. package/dist/server/node_modules/ink/build/parse-keypress.d.ts +22 -0
  317. package/dist/server/node_modules/ink/build/parse-keypress.js +493 -0
  318. package/dist/server/node_modules/ink/build/parse-keypress.js.map +1 -0
  319. package/dist/server/node_modules/ink/build/reconciler.d.ts +4 -0
  320. package/dist/server/node_modules/ink/build/reconciler.js +274 -0
  321. package/dist/server/node_modules/ink/build/reconciler.js.map +1 -0
  322. package/dist/server/node_modules/ink/build/render-background.d.ts +4 -0
  323. package/dist/server/node_modules/ink/build/render-background.js +25 -0
  324. package/dist/server/node_modules/ink/build/render-background.js.map +1 -0
  325. package/dist/server/node_modules/ink/build/render-border.d.ts +4 -0
  326. package/dist/server/node_modules/ink/build/render-border.js +73 -0
  327. package/dist/server/node_modules/ink/build/render-border.js.map +1 -0
  328. package/dist/server/node_modules/ink/build/render-node-to-output.d.ts +14 -0
  329. package/dist/server/node_modules/ink/build/render-node-to-output.js +147 -0
  330. package/dist/server/node_modules/ink/build/render-node-to-output.js.map +1 -0
  331. package/dist/server/node_modules/ink/build/render-to-string.d.ts +38 -0
  332. package/dist/server/node_modules/ink/build/render-to-string.js +115 -0
  333. package/dist/server/node_modules/ink/build/render-to-string.js.map +1 -0
  334. package/dist/server/node_modules/ink/build/render.d.ts +121 -0
  335. package/dist/server/node_modules/ink/build/render.js +55 -0
  336. package/dist/server/node_modules/ink/build/render.js.map +1 -0
  337. package/dist/server/node_modules/ink/build/renderer.d.ts +8 -0
  338. package/dist/server/node_modules/ink/build/renderer.js +55 -0
  339. package/dist/server/node_modules/ink/build/renderer.js.map +1 -0
  340. package/dist/server/node_modules/ink/build/sanitize-ansi.d.ts +2 -0
  341. package/dist/server/node_modules/ink/build/sanitize-ansi.js +27 -0
  342. package/dist/server/node_modules/ink/build/sanitize-ansi.js.map +1 -0
  343. package/dist/server/node_modules/ink/build/screen-reader-update.d.ts +13 -0
  344. package/dist/server/node_modules/ink/build/screen-reader-update.js +38 -0
  345. package/dist/server/node_modules/ink/build/screen-reader-update.js.map +1 -0
  346. package/dist/server/node_modules/ink/build/squash-text-nodes.d.ts +3 -0
  347. package/dist/server/node_modules/ink/build/squash-text-nodes.js +36 -0
  348. package/dist/server/node_modules/ink/build/squash-text-nodes.js.map +1 -0
  349. package/dist/server/node_modules/ink/build/styles.d.ts +240 -0
  350. package/dist/server/node_modules/ink/build/styles.js +232 -0
  351. package/dist/server/node_modules/ink/build/styles.js.map +1 -0
  352. package/dist/server/node_modules/ink/build/utils.d.ts +2 -0
  353. package/dist/server/node_modules/ink/build/utils.js +4 -0
  354. package/dist/server/node_modules/ink/build/utils.js.map +1 -0
  355. package/dist/server/node_modules/ink/build/wrap-text.d.ts +3 -0
  356. package/dist/server/node_modules/ink/build/wrap-text.js +31 -0
  357. package/dist/server/node_modules/ink/build/wrap-text.js.map +1 -0
  358. package/dist/server/node_modules/ink/build/write-synchronized.d.ts +4 -0
  359. package/dist/server/node_modules/ink/build/write-synchronized.js +7 -0
  360. package/dist/server/node_modules/ink/build/write-synchronized.js.map +1 -0
  361. package/dist/server/node_modules/{figures → ink}/license +1 -0
  362. package/dist/server/node_modules/ink/package.json +201 -0
  363. package/dist/server/node_modules/ink/readme.md +2636 -0
  364. package/dist/server/node_modules/slice-ansi/index.d.ts +19 -0
  365. package/dist/server/node_modules/slice-ansi/index.js +260 -0
  366. package/dist/server/node_modules/{widest-line → slice-ansi}/license +1 -0
  367. package/dist/server/node_modules/slice-ansi/package.json +59 -0
  368. package/dist/server/node_modules/slice-ansi/readme.md +54 -0
  369. package/dist/server/node_modules/slice-ansi/tokenize-ansi.js +752 -0
  370. package/dist/server/server.js +1 -1
  371. package/package.json +1 -1
  372. package/dist/client/assets/ai-providers-C-HLT43p.js +0 -1
  373. package/dist/client/assets/index-BlefTMU9.js +0 -1
  374. package/dist/client/assets/registry-DSbGbl6G.js +0 -2
  375. package/dist/client/assets/store-registry-CHPlZpA7.js +0 -2
  376. package/dist/client/assets/useInfiniteQuery-B0aJ536b.js +0 -1
  377. package/dist/client/assets/useSuspenseInfiniteQuery-DMQVbZ7w.js +0 -1
  378. package/dist/client/assets/workflow-detail-cax1DGc8.js +0 -1
  379. package/dist/server/node_modules/cli-truncate/index.d.ts +0 -118
  380. package/dist/server/node_modules/cli-truncate/index.js +0 -168
  381. package/dist/server/node_modules/cli-truncate/package.json +0 -52
  382. package/dist/server/node_modules/cli-truncate/readme.md +0 -154
  383. package/dist/server/node_modules/deepmerge/.editorconfig +0 -7
  384. package/dist/server/node_modules/deepmerge/.eslintcache +0 -1
  385. package/dist/server/node_modules/deepmerge/changelog.md +0 -167
  386. package/dist/server/node_modules/deepmerge/dist/cjs.js +0 -133
  387. package/dist/server/node_modules/deepmerge/dist/umd.js +0 -139
  388. package/dist/server/node_modules/deepmerge/index.d.ts +0 -20
  389. package/dist/server/node_modules/deepmerge/index.js +0 -106
  390. package/dist/server/node_modules/deepmerge/license.txt +0 -21
  391. package/dist/server/node_modules/deepmerge/package.json +0 -42
  392. package/dist/server/node_modules/deepmerge/readme.md +0 -264
  393. package/dist/server/node_modules/deepmerge/rollup.config.js +0 -22
  394. package/dist/server/node_modules/figures/index.d.ts +0 -279
  395. package/dist/server/node_modules/figures/index.js +0 -292
  396. package/dist/server/node_modules/figures/package.json +0 -49
  397. package/dist/server/node_modules/figures/readme.md +0 -337
  398. package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
  399. package/dist/server/node_modules/mimic-fn/index.js +0 -13
  400. package/dist/server/node_modules/mimic-fn/license +0 -9
  401. package/dist/server/node_modules/mimic-fn/package.json +0 -42
  402. package/dist/server/node_modules/mimic-fn/readme.md +0 -69
  403. package/dist/server/node_modules/pg-int8/LICENSE +0 -13
  404. package/dist/server/node_modules/pg-int8/README.md +0 -16
  405. package/dist/server/node_modules/pg-int8/index.js +0 -100
  406. package/dist/server/node_modules/pg-int8/package.json +0 -24
  407. package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
  408. package/dist/server/node_modules/postgres-array/index.js +0 -97
  409. package/dist/server/node_modules/postgres-array/license +0 -21
  410. package/dist/server/node_modules/postgres-array/package.json +0 -35
  411. package/dist/server/node_modules/postgres-array/readme.md +0 -43
  412. package/dist/server/node_modules/postgres-bytea/index.js +0 -33
  413. package/dist/server/node_modules/postgres-bytea/license +0 -21
  414. package/dist/server/node_modules/postgres-bytea/package.json +0 -34
  415. package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
  416. package/dist/server/node_modules/postgres-date/index.js +0 -116
  417. package/dist/server/node_modules/postgres-date/license +0 -21
  418. package/dist/server/node_modules/postgres-date/package.json +0 -33
  419. package/dist/server/node_modules/postgres-date/readme.md +0 -49
  420. package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
  421. package/dist/server/node_modules/postgres-interval/index.js +0 -125
  422. package/dist/server/node_modules/postgres-interval/license +0 -21
  423. package/dist/server/node_modules/postgres-interval/package.json +0 -36
  424. package/dist/server/node_modules/postgres-interval/readme.md +0 -48
  425. package/dist/server/node_modules/split2/LICENSE +0 -13
  426. package/dist/server/node_modules/split2/README.md +0 -85
  427. package/dist/server/node_modules/split2/bench.js +0 -27
  428. package/dist/server/node_modules/split2/index.js +0 -141
  429. package/dist/server/node_modules/split2/package.json +0 -39
  430. package/dist/server/node_modules/split2/test.js +0 -409
  431. package/dist/server/node_modules/widest-line/index.d.ts +0 -12
  432. package/dist/server/node_modules/widest-line/index.js +0 -11
  433. package/dist/server/node_modules/widest-line/package.json +0 -60
  434. package/dist/server/node_modules/widest-line/readme.md +0 -26
  435. package/dist/server/node_modules/xtend/.jshintrc +0 -30
  436. package/dist/server/node_modules/xtend/LICENSE +0 -20
  437. package/dist/server/node_modules/xtend/README.md +0 -32
  438. package/dist/server/node_modules/xtend/immutable.js +0 -19
  439. package/dist/server/node_modules/xtend/mutable.js +0 -17
  440. package/dist/server/node_modules/xtend/package.json +0 -55
  441. package/dist/server/node_modules/xtend/test.js +0 -103
  442. /package/dist/server/node_modules/{cli-truncate → get-east-asian-width}/license +0 -0
@@ -0,0 +1,50 @@
1
+ import React, { useContext } from 'react';
2
+ import chalk from 'chalk';
3
+ import colorize from '../colorize.js';
4
+ import { accessibilityContext } from './AccessibilityContext.js';
5
+ import { backgroundContext } from './BackgroundContext.js';
6
+ /**
7
+ This component can display text and change its style to make it bold, underlined, italic, or strikethrough.
8
+ */
9
+ export default function Text({ color, backgroundColor, dimColor = false, bold = false, italic = false, underline = false, strikethrough = false, inverse = false, wrap = 'wrap', children, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden = false, }) {
10
+ const { isScreenReaderEnabled } = useContext(accessibilityContext);
11
+ const inheritedBackgroundColor = useContext(backgroundContext);
12
+ const childrenOrAriaLabel = isScreenReaderEnabled && ariaLabel ? ariaLabel : children;
13
+ if (childrenOrAriaLabel === undefined || childrenOrAriaLabel === null) {
14
+ return null;
15
+ }
16
+ const transform = (children) => {
17
+ if (dimColor) {
18
+ children = chalk.dim(children);
19
+ }
20
+ if (color) {
21
+ children = colorize(children, color, 'foreground');
22
+ }
23
+ // Use explicit backgroundColor if provided, otherwise use inherited from parent Box
24
+ const effectiveBackgroundColor = backgroundColor ?? inheritedBackgroundColor;
25
+ if (effectiveBackgroundColor) {
26
+ children = colorize(children, effectiveBackgroundColor, 'background');
27
+ }
28
+ if (bold) {
29
+ children = chalk.bold(children);
30
+ }
31
+ if (italic) {
32
+ children = chalk.italic(children);
33
+ }
34
+ if (underline) {
35
+ children = chalk.underline(children);
36
+ }
37
+ if (strikethrough) {
38
+ children = chalk.strikethrough(children);
39
+ }
40
+ if (inverse) {
41
+ children = chalk.inverse(children);
42
+ }
43
+ return children;
44
+ };
45
+ if (isScreenReaderEnabled && ariaHidden) {
46
+ return null;
47
+ }
48
+ return (React.createElement("ink-text", { style: { flexGrow: 0, flexShrink: 1, flexDirection: 'row', textWrap: wrap }, internal_transform: transform }, isScreenReaderEnabled && ariaLabel ? ariaLabel : children));
49
+ }
50
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../src/components/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAiB,MAAM,OAAO,CAAC;AACxD,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AA6DzD;;EAEE;AACF,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC5B,KAAK,EACL,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,EACZ,MAAM,GAAG,KAAK,EACd,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,KAAK,EACrB,OAAO,GAAG,KAAK,EACf,IAAI,GAAG,MAAM,EACb,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,GAAG,KAAK,GAC1B;IACP,MAAM,EAAC,qBAAqB,EAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjE,MAAM,wBAAwB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC/D,MAAM,mBAAmB,GACxB,qBAAqB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE3D,IAAI,mBAAmB,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACvE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAU,EAAE;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACX,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,oFAAoF;QACpF,MAAM,wBAAwB,GAC7B,eAAe,IAAI,wBAAwB,CAAC;QAC7C,IAAI,wBAAwB,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACV,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YACnB,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,qBAAqB,IAAI,UAAU,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,kCACC,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC,EACzE,kBAAkB,EAAE,SAAS,IAE5B,qBAAqB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAChD,CACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React, { type ReactNode } from 'react';
2
+ export type Props = {
3
+ /**
4
+ Screen-reader-specific text to output. If this is set, all children will be ignored.
5
+ */
6
+ readonly accessibilityLabel?: string;
7
+ /**
8
+ Function that transforms children output. It accepts children and must return transformed children as well.
9
+ */
10
+ readonly transform: (children: string, index: number) => string;
11
+ readonly children?: ReactNode;
12
+ };
13
+ /**
14
+ Transform a string representation of React components before they're written to output. For example, you might want to apply a gradient to text, add a clickable link, or create some text effects. These use cases can't accept React nodes as input; they expect a string. That's what the <Transform> component does: it gives you an output string of its child components and lets you transform it in any way.
15
+ */
16
+ export default function Transform({ children, transform, accessibilityLabel, }: Props): React.JSX.Element | null;
@@ -0,0 +1,15 @@
1
+ import React, { useContext } from 'react';
2
+ import { accessibilityContext } from './AccessibilityContext.js';
3
+ /**
4
+ Transform a string representation of React components before they're written to output. For example, you might want to apply a gradient to text, add a clickable link, or create some text effects. These use cases can't accept React nodes as input; they expect a string. That's what the <Transform> component does: it gives you an output string of its child components and lets you transform it in any way.
5
+ */
6
+ export default function Transform({ children, transform, accessibilityLabel, }) {
7
+ const { isScreenReaderEnabled } = useContext(accessibilityContext);
8
+ if (children === undefined || children === null) {
9
+ return null;
10
+ }
11
+ return (React.createElement("ink-text", { style: { flexGrow: 0, flexShrink: 1, flexDirection: 'row' }, internal_transform: transform }, isScreenReaderEnabled && accessibilityLabel
12
+ ? accessibilityLabel
13
+ : children));
14
+ }
15
+ //# sourceMappingURL=Transform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transform.js","sourceRoot":"","sources":["../../src/components/Transform.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,UAAU,EAAiB,MAAM,OAAO,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2BAA2B,CAAC;AAgB/D;;EAEE;AACF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,kBAAkB,GACX;IACP,MAAM,EAAC,qBAAqB,EAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEjE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CACN,kCACC,KAAK,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAC,EACzD,kBAAkB,EAAE,SAAS,IAE5B,qBAAqB,IAAI,kBAAkB;QAC3C,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,QAAQ,CACD,CACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ export type CursorPosition = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ declare const showCursorEscape = "\u001B[?25h";
6
+ declare const hideCursorEscape = "\u001B[?25l";
7
+ export { showCursorEscape, hideCursorEscape };
8
+ /**
9
+ Compare two cursor positions. Returns true if they differ.
10
+ */
11
+ export declare const cursorPositionChanged: (a: CursorPosition | undefined, b: CursorPosition | undefined) => boolean;
12
+ /**
13
+ Build escape sequence to move cursor from bottom of output to the target position and show it.
14
+ Assumes cursor is at (col 0, line visibleLineCount) — i.e. just after the last output line.
15
+ */
16
+ export declare const buildCursorSuffix: (visibleLineCount: number, cursorPosition: CursorPosition | undefined) => string;
17
+ /**
18
+ Build escape sequence to move cursor from previousCursorPosition back to the bottom of output.
19
+ This must be done before eraseLines or any operation that assumes cursor is at the bottom.
20
+ */
21
+ export declare const buildReturnToBottom: (previousLineCount: number, previousCursorPosition: CursorPosition | undefined) => string;
22
+ export type CursorOnlyInput = {
23
+ cursorWasShown: boolean;
24
+ previousLineCount: number;
25
+ previousCursorPosition: CursorPosition | undefined;
26
+ visibleLineCount: number;
27
+ cursorPosition: CursorPosition | undefined;
28
+ };
29
+ /**
30
+ Build the escape sequence for cursor-only updates (output unchanged, cursor moved).
31
+ Hides cursor if it was previously shown, returns to bottom, then repositions.
32
+ */
33
+ export declare const buildCursorOnlySequence: (input: CursorOnlyInput) => string;
34
+ /**
35
+ Build the prefix that hides cursor and returns to bottom before erasing or rewriting.
36
+ Returns empty string if cursor was not shown.
37
+ */
38
+ export declare const buildReturnToBottomPrefix: (cursorWasShown: boolean, previousLineCount: number, previousCursorPosition: CursorPosition | undefined) => string;
@@ -0,0 +1,56 @@
1
+ import ansiEscapes from 'ansi-escapes';
2
+ const showCursorEscape = '\u001B[?25h';
3
+ const hideCursorEscape = '\u001B[?25l';
4
+ export { showCursorEscape, hideCursorEscape };
5
+ /**
6
+ Compare two cursor positions. Returns true if they differ.
7
+ */
8
+ export const cursorPositionChanged = (a, b) => a?.x !== b?.x || a?.y !== b?.y;
9
+ /**
10
+ Build escape sequence to move cursor from bottom of output to the target position and show it.
11
+ Assumes cursor is at (col 0, line visibleLineCount) — i.e. just after the last output line.
12
+ */
13
+ export const buildCursorSuffix = (visibleLineCount, cursorPosition) => {
14
+ if (!cursorPosition) {
15
+ return '';
16
+ }
17
+ const moveUp = visibleLineCount - cursorPosition.y;
18
+ return ((moveUp > 0 ? ansiEscapes.cursorUp(moveUp) : '') +
19
+ ansiEscapes.cursorTo(cursorPosition.x) +
20
+ showCursorEscape);
21
+ };
22
+ /**
23
+ Build escape sequence to move cursor from previousCursorPosition back to the bottom of output.
24
+ This must be done before eraseLines or any operation that assumes cursor is at the bottom.
25
+ */
26
+ export const buildReturnToBottom = (previousLineCount, previousCursorPosition) => {
27
+ if (!previousCursorPosition) {
28
+ return '';
29
+ }
30
+ // PreviousLineCount includes trailing newline, so visible lines = previousLineCount - 1
31
+ // cursor is at previousCursorPosition.y, need to go to line (previousLineCount - 1)
32
+ const down = previousLineCount - 1 - previousCursorPosition.y;
33
+ return ((down > 0 ? ansiEscapes.cursorDown(down) : '') + ansiEscapes.cursorTo(0));
34
+ };
35
+ /**
36
+ Build the escape sequence for cursor-only updates (output unchanged, cursor moved).
37
+ Hides cursor if it was previously shown, returns to bottom, then repositions.
38
+ */
39
+ export const buildCursorOnlySequence = (input) => {
40
+ const hidePrefix = input.cursorWasShown ? hideCursorEscape : '';
41
+ const returnToBottom = buildReturnToBottom(input.previousLineCount, input.previousCursorPosition);
42
+ const cursorSuffix = buildCursorSuffix(input.visibleLineCount, input.cursorPosition);
43
+ return hidePrefix + returnToBottom + cursorSuffix;
44
+ };
45
+ /**
46
+ Build the prefix that hides cursor and returns to bottom before erasing or rewriting.
47
+ Returns empty string if cursor was not shown.
48
+ */
49
+ export const buildReturnToBottomPrefix = (cursorWasShown, previousLineCount, previousCursorPosition) => {
50
+ if (!cursorWasShown) {
51
+ return '';
52
+ }
53
+ return (hideCursorEscape +
54
+ buildReturnToBottom(previousLineCount, previousCursorPosition));
55
+ };
56
+ //# sourceMappingURL=cursor-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor-helpers.js","sourceRoot":"","sources":["../src/cursor-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAOvC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,CAAC;AAE5C;;EAEE;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,CAA6B,EAC7B,CAA6B,EACnB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAE7C;;;EAGE;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAChC,gBAAwB,EACxB,cAA0C,EACjC,EAAE;IACX,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC;IACnD,OAAO,CACN,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;QACtC,gBAAgB,CAChB,CAAC;AACH,CAAC,CAAC;AAEF;;;EAGE;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAClC,iBAAyB,EACzB,sBAAkD,EACzC,EAAE;IACX,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,wFAAwF;IACxF,oFAAoF;IACpF,MAAM,IAAI,GAAG,iBAAiB,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC;IAC9D,OAAO,CACN,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CACxE,CAAC;AACH,CAAC,CAAC;AAUF;;;EAGE;AACF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAsB,EAAU,EAAE;IACzE,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,cAAc,GAAG,mBAAmB,CACzC,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,sBAAsB,CAC5B,CAAC;IACF,MAAM,YAAY,GAAG,iBAAiB,CACrC,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,cAAc,CACpB,CAAC;IACF,OAAO,UAAU,GAAG,cAAc,GAAG,YAAY,CAAC;AACnD,CAAC,CAAC;AAEF;;;EAGE;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,cAAuB,EACvB,iBAAyB,EACzB,sBAAkD,EACzC,EAAE;IACX,IAAI,CAAC,cAAc,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CACN,gBAAgB;QAChB,mBAAmB,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAC9D,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,65 @@
1
+ // Ignoring missing types error to avoid adding another dependency for this hack to work
2
+ import ws from 'ws';
3
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
4
+ const customGlobal = global;
5
+ // These things must exist before importing `react-devtools-core`
6
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
7
+ customGlobal.WebSocket ||= ws;
8
+ customGlobal.window ||= global;
9
+ customGlobal.self ||= global;
10
+ // Filter out Ink's internal components from devtools for a cleaner view.
11
+ // Also, ince `react-devtools-shared` package isn't published on npm, we can't
12
+ // use its types, that's why there are hard-coded values in `type` fields below.
13
+ // See https://github.com/facebook/react/blob/edf6eac8a181860fd8a2d076a43806f1237495a1/packages/react-devtools-shared/src/types.js#L24
14
+ customGlobal.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = [
15
+ {
16
+ // ComponentFilterElementType
17
+ type: 1,
18
+ // ElementTypeHostComponent
19
+ value: 7,
20
+ isEnabled: true,
21
+ },
22
+ {
23
+ // ComponentFilterDisplayName
24
+ type: 2,
25
+ value: 'InternalApp',
26
+ isEnabled: true,
27
+ isValid: true,
28
+ },
29
+ {
30
+ // ComponentFilterDisplayName
31
+ type: 2,
32
+ value: 'InternalAppContext',
33
+ isEnabled: true,
34
+ isValid: true,
35
+ },
36
+ {
37
+ // ComponentFilterDisplayName
38
+ type: 2,
39
+ value: 'InternalStdoutContext',
40
+ isEnabled: true,
41
+ isValid: true,
42
+ },
43
+ {
44
+ // ComponentFilterDisplayName
45
+ type: 2,
46
+ value: 'InternalStderrContext',
47
+ isEnabled: true,
48
+ isValid: true,
49
+ },
50
+ {
51
+ // ComponentFilterDisplayName
52
+ type: 2,
53
+ value: 'InternalStdinContext',
54
+ isEnabled: true,
55
+ isValid: true,
56
+ },
57
+ {
58
+ // ComponentFilterDisplayName
59
+ type: 2,
60
+ value: 'InternalFocusContext',
61
+ isEnabled: true,
62
+ isValid: true,
63
+ },
64
+ ];
65
+ //# sourceMappingURL=devtools-window-polyfill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools-window-polyfill.js","sourceRoot":"","sources":["../src/devtools-window-polyfill.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,mEAAmE;AACnE,MAAM,YAAY,GAAG,MAAa,CAAC;AAEnC,iEAAiE;AAEjE,mEAAmE;AACnE,YAAY,CAAC,SAAS,KAAK,EAAE,CAAC;AAE9B,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AAE/B,YAAY,CAAC,IAAI,KAAK,MAAM,CAAC;AAE7B,yEAAyE;AACzE,8EAA8E;AAC9E,gFAAgF;AAChF,sIAAsI;AACtI,YAAY,CAAC,MAAM,CAAC,oCAAoC,GAAG;IAC1D;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,2BAA2B;QAC3B,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,IAAI;KACf;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,oBAAoB;QAC3B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,uBAAuB;QAC9B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,uBAAuB;QAC9B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;IACD;QACC,6BAA6B;QAC7B,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;KACb;CACD,CAAC"}
@@ -0,0 +1 @@
1
+ import './devtools-window-polyfill.js';
@@ -0,0 +1,11 @@
1
+ /* eslint-disable import/order */
2
+ // eslint-disable-next-line import/no-unassigned-import
3
+ import './devtools-window-polyfill.js';
4
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
+ // @ts-expect-error
6
+ import devtools from 'react-devtools-core';
7
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
8
+ devtools.initialize();
9
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
10
+ devtools.connectToDevTools();
11
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,uDAAuD;AACvD,OAAO,+BAA+B,CAAC;AAEvC,6DAA6D;AAC7D,mBAAmB;AACnB,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,6DAA6D;AAC5D,QAAgB,CAAC,UAAU,EAAE,CAAC;AAC/B,6DAA6D;AAC5D,QAAgB,CAAC,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type Node as YogaNode } from 'yoga-layout';
2
+ import { type Styles } from './styles.js';
3
+ import { type OutputTransformer } from './render-node-to-output.js';
4
+ type InkNode = {
5
+ parentNode: DOMElement | undefined;
6
+ yogaNode?: YogaNode;
7
+ internal_static?: boolean;
8
+ style: Styles;
9
+ };
10
+ export type TextName = '#text';
11
+ export type ElementNames = 'ink-root' | 'ink-box' | 'ink-text' | 'ink-virtual-text';
12
+ export type NodeNames = ElementNames | TextName;
13
+ export type DOMElement = {
14
+ nodeName: ElementNames;
15
+ attributes: Record<string, DOMNodeAttribute>;
16
+ childNodes: DOMNode[];
17
+ internal_transform?: OutputTransformer;
18
+ internal_accessibility?: {
19
+ role?: 'button' | 'checkbox' | 'combobox' | 'list' | 'listbox' | 'listitem' | 'menu' | 'menuitem' | 'option' | 'progressbar' | 'radio' | 'radiogroup' | 'tab' | 'tablist' | 'table' | 'textbox' | 'timer' | 'toolbar';
20
+ state?: {
21
+ busy?: boolean;
22
+ checked?: boolean;
23
+ disabled?: boolean;
24
+ expanded?: boolean;
25
+ multiline?: boolean;
26
+ multiselectable?: boolean;
27
+ readonly?: boolean;
28
+ required?: boolean;
29
+ selected?: boolean;
30
+ };
31
+ };
32
+ isStaticDirty?: boolean;
33
+ staticNode?: DOMElement;
34
+ onComputeLayout?: () => void;
35
+ onRender?: () => void;
36
+ onImmediateRender?: () => void;
37
+ } & InkNode;
38
+ export type TextNode = {
39
+ nodeName: TextName;
40
+ nodeValue: string;
41
+ } & InkNode;
42
+ export type DOMNode<T = {
43
+ nodeName: NodeNames;
44
+ }> = T extends {
45
+ nodeName: infer U;
46
+ } ? U extends '#text' ? TextNode : DOMElement : never;
47
+ export type DOMNodeAttribute = boolean | string | number;
48
+ export declare const createNode: (nodeName: ElementNames) => DOMElement;
49
+ export declare const appendChildNode: (node: DOMElement, childNode: DOMElement) => void;
50
+ export declare const insertBeforeNode: (node: DOMElement, newChildNode: DOMNode, beforeChildNode: DOMNode) => void;
51
+ export declare const removeChildNode: (node: DOMElement, removeNode: DOMNode) => void;
52
+ export declare const setAttribute: (node: DOMElement, key: string, value: DOMNodeAttribute) => void;
53
+ export declare const setStyle: (node: DOMNode, style: Styles) => void;
54
+ export declare const createTextNode: (text: string) => TextNode;
55
+ export declare const setTextNodeValue: (node: TextNode, text: string) => void;
56
+ export {};
@@ -0,0 +1,124 @@
1
+ import Yoga from 'yoga-layout';
2
+ import measureText from './measure-text.js';
3
+ import wrapText from './wrap-text.js';
4
+ import squashTextNodes from './squash-text-nodes.js';
5
+ export const createNode = (nodeName) => {
6
+ const node = {
7
+ nodeName,
8
+ style: {},
9
+ attributes: {},
10
+ childNodes: [],
11
+ parentNode: undefined,
12
+ yogaNode: nodeName === 'ink-virtual-text' ? undefined : Yoga.Node.create(),
13
+ // eslint-disable-next-line @typescript-eslint/naming-convention
14
+ internal_accessibility: {},
15
+ };
16
+ if (nodeName === 'ink-text') {
17
+ node.yogaNode?.setMeasureFunc(measureTextNode.bind(null, node));
18
+ }
19
+ return node;
20
+ };
21
+ export const appendChildNode = (node, childNode) => {
22
+ if (childNode.parentNode) {
23
+ removeChildNode(childNode.parentNode, childNode);
24
+ }
25
+ childNode.parentNode = node;
26
+ node.childNodes.push(childNode);
27
+ if (childNode.yogaNode) {
28
+ node.yogaNode?.insertChild(childNode.yogaNode, node.yogaNode.getChildCount());
29
+ }
30
+ if (node.nodeName === 'ink-text' || node.nodeName === 'ink-virtual-text') {
31
+ markNodeAsDirty(node);
32
+ }
33
+ };
34
+ export const insertBeforeNode = (node, newChildNode, beforeChildNode) => {
35
+ if (newChildNode.parentNode) {
36
+ removeChildNode(newChildNode.parentNode, newChildNode);
37
+ }
38
+ newChildNode.parentNode = node;
39
+ const index = node.childNodes.indexOf(beforeChildNode);
40
+ if (index >= 0) {
41
+ node.childNodes.splice(index, 0, newChildNode);
42
+ if (newChildNode.yogaNode) {
43
+ node.yogaNode?.insertChild(newChildNode.yogaNode, index);
44
+ }
45
+ }
46
+ else {
47
+ node.childNodes.push(newChildNode);
48
+ if (newChildNode.yogaNode) {
49
+ node.yogaNode?.insertChild(newChildNode.yogaNode, node.yogaNode.getChildCount());
50
+ }
51
+ }
52
+ if (node.nodeName === 'ink-text' || node.nodeName === 'ink-virtual-text') {
53
+ markNodeAsDirty(node);
54
+ }
55
+ };
56
+ export const removeChildNode = (node, removeNode) => {
57
+ if (removeNode.yogaNode) {
58
+ removeNode.parentNode?.yogaNode?.removeChild(removeNode.yogaNode);
59
+ }
60
+ removeNode.parentNode = undefined;
61
+ const index = node.childNodes.indexOf(removeNode);
62
+ if (index >= 0) {
63
+ node.childNodes.splice(index, 1);
64
+ }
65
+ if (node.nodeName === 'ink-text' || node.nodeName === 'ink-virtual-text') {
66
+ markNodeAsDirty(node);
67
+ }
68
+ };
69
+ export const setAttribute = (node, key, value) => {
70
+ if (key === 'internal_accessibility') {
71
+ node.internal_accessibility = value;
72
+ return;
73
+ }
74
+ node.attributes[key] = value;
75
+ };
76
+ export const setStyle = (node, style) => {
77
+ node.style = style;
78
+ };
79
+ export const createTextNode = (text) => {
80
+ const node = {
81
+ nodeName: '#text',
82
+ nodeValue: text,
83
+ yogaNode: undefined,
84
+ parentNode: undefined,
85
+ style: {},
86
+ };
87
+ setTextNodeValue(node, text);
88
+ return node;
89
+ };
90
+ const measureTextNode = function (node, width) {
91
+ const text = node.nodeName === '#text' ? node.nodeValue : squashTextNodes(node);
92
+ const dimensions = measureText(text);
93
+ // Text fits into container, no need to wrap
94
+ if (dimensions.width <= width) {
95
+ return dimensions;
96
+ }
97
+ // This is happening when <Box> is shrinking child nodes and Yoga asks
98
+ // if we can fit this text node in a <1px space, so we just tell Yoga "no"
99
+ if (dimensions.width >= 1 && width > 0 && width < 1) {
100
+ return dimensions;
101
+ }
102
+ const textWrap = node.style?.textWrap ?? 'wrap';
103
+ const wrappedText = wrapText(text, width, textWrap);
104
+ return measureText(wrappedText);
105
+ };
106
+ const findClosestYogaNode = (node) => {
107
+ if (!node?.parentNode) {
108
+ return undefined;
109
+ }
110
+ return node.yogaNode ?? findClosestYogaNode(node.parentNode);
111
+ };
112
+ const markNodeAsDirty = (node) => {
113
+ // Mark closest Yoga node as dirty to measure text dimensions again
114
+ const yogaNode = findClosestYogaNode(node);
115
+ yogaNode?.markDirty();
116
+ };
117
+ export const setTextNodeValue = (node, text) => {
118
+ if (typeof text !== 'string') {
119
+ text = String(text);
120
+ }
121
+ node.nodeValue = text;
122
+ markNodeAsDirty(node);
123
+ };
124
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _yogaLayoutPrebuilt = _interopRequireDefault(require("yoga-layout-prebuilt"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const applyPositionStyles = (node, style) => {
13
+ if (!style.position) {
14
+ node.setPositionType(NaN);
15
+ }
16
+
17
+ if (style.position === 'absolute') {
18
+ node.setPositionType(_yogaLayoutPrebuilt.default.POSITION_TYPE_ABSOLUTE);
19
+ }
20
+ };
21
+
22
+ const applyMarginStyles = (node, style) => {
23
+ node.setMargin(_yogaLayoutPrebuilt.default.EDGE_START, style.marginLeft || style.marginX || style.margin || 0);
24
+ node.setMargin(_yogaLayoutPrebuilt.default.EDGE_END, style.marginRight || style.marginX || style.margin || 0);
25
+ node.setMargin(_yogaLayoutPrebuilt.default.EDGE_TOP, style.marginTop || style.marginY || style.margin || 0);
26
+ node.setMargin(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.marginBottom || style.marginY || style.margin || 0);
27
+ };
28
+
29
+ const applyPaddingStyles = (node, style) => {
30
+ node.setPadding(_yogaLayoutPrebuilt.default.EDGE_LEFT, style.paddingLeft || style.paddingX || style.padding || 0);
31
+ node.setPadding(_yogaLayoutPrebuilt.default.EDGE_RIGHT, style.paddingRight || style.paddingX || style.padding || 0);
32
+ node.setPadding(_yogaLayoutPrebuilt.default.EDGE_TOP, style.paddingTop || style.paddingY || style.padding || 0);
33
+ node.setPadding(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.paddingBottom || style.paddingY || style.padding || 0);
34
+ };
35
+
36
+ const applyFlexStyles = (node, style) => {
37
+ node.setFlexGrow(style.flexGrow || 0);
38
+ node.setFlexShrink(typeof style.flexShrink === 'number' ? style.flexShrink : 1);
39
+
40
+ if (style.flexDirection === 'row') {
41
+ node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_ROW);
42
+ }
43
+
44
+ if (style.flexDirection === 'row-reverse') {
45
+ node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_ROW_REVERSE);
46
+ }
47
+
48
+ if (style.flexDirection === 'column') {
49
+ node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_COLUMN);
50
+ }
51
+
52
+ if (style.flexDirection === 'column-reverse') {
53
+ node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_COLUMN_REVERSE);
54
+ }
55
+
56
+ if (typeof style.flexBasis === 'number') {
57
+ node.setFlexBasis(style.flexBasis);
58
+ } else if (typeof style.flexBasis === 'string') {
59
+ node.setFlexBasisPercent(parseInt(style.flexBasis, 10));
60
+ } else {
61
+ // This should be replaced with node.setFlexBasisAuto() when new Yoga release is out
62
+ node.setFlexBasis(NaN);
63
+ }
64
+
65
+ if (style.alignItems === 'stretch' || !style.alignItems) {
66
+ node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_STRETCH);
67
+ }
68
+
69
+ if (style.alignItems === 'flex-start') {
70
+ node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_FLEX_START);
71
+ }
72
+
73
+ if (style.alignItems === 'center') {
74
+ node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_CENTER);
75
+ }
76
+
77
+ if (style.alignItems === 'flex-end') {
78
+ node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_FLEX_END);
79
+ }
80
+
81
+ if (style.justifyContent === 'flex-start' || !style.justifyContent) {
82
+ node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_FLEX_START);
83
+ }
84
+
85
+ if (style.justifyContent === 'center') {
86
+ node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_CENTER);
87
+ }
88
+
89
+ if (style.justifyContent === 'flex-end') {
90
+ node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_FLEX_END);
91
+ }
92
+
93
+ if (style.justifyContent === 'space-between') {
94
+ node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_SPACE_BETWEEN);
95
+ }
96
+
97
+ if (style.justifyContent === 'space-around') {
98
+ node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_SPACE_AROUND);
99
+ }
100
+ };
101
+
102
+ const applyDimensionStyles = (node, style) => {
103
+ if (typeof style.width === 'number') {
104
+ node.setWidth(style.width);
105
+ } else if (typeof style.width === 'string') {
106
+ node.setWidthPercent(parseInt(style.width, 10));
107
+ } else {
108
+ node.setWidthAuto();
109
+ }
110
+
111
+ if (typeof style.height === 'number') {
112
+ node.setHeight(style.height);
113
+ } else if (typeof style.height === 'string') {
114
+ node.setHeightPercent(parseInt(style.height, 10));
115
+ } else {
116
+ node.setHeightAuto();
117
+ }
118
+
119
+ if (typeof style.minWidth === 'string') {
120
+ node.setMinWidthPercent(parseInt(style.minWidth, 10));
121
+ } else {
122
+ node.setMinWidth(style.minWidth || 0);
123
+ }
124
+
125
+ if (typeof style.minHeight === 'string') {
126
+ node.setMinHeightPercent(parseInt(style.minHeight, 10));
127
+ } else {
128
+ node.setMinHeight(style.minHeight || 0);
129
+ }
130
+ };
131
+
132
+ var _default = (node, style = {}) => {
133
+ applyPositionStyles(node, style);
134
+ applyMarginStyles(node, style);
135
+ applyPaddingStyles(node, style);
136
+ applyFlexStyles(node, style);
137
+ applyDimensionStyles(node, style);
138
+ };
139
+
140
+ exports.default = _default;