@univerjs/engine-render 0.2.5 → 0.2.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 (269) hide show
  1. package/lib/af-Bpw3gNwc.js +1 -0
  2. package/lib/{af-7QQ0fr8U.mjs → af-Cp38c8Xu.mjs} +2 -2
  3. package/lib/{bn-BOqBYJXb.mjs → as-BRA2d3pp.mjs} +2 -2
  4. package/lib/as-C73oboNR.js +1 -0
  5. package/lib/be-DM7HH-wL.js +1 -0
  6. package/lib/{be-D01Emmav.mjs → be-DuPPDo85.mjs} +2 -2
  7. package/lib/bg-BVx3UMtW.js +1 -0
  8. package/lib/{bg-BROkuUw0.mjs → bg-CREWvG4t.mjs} +2 -2
  9. package/lib/bn-C-O6Dyni.js +1 -0
  10. package/lib/{as-Q56YT8ds.mjs → bn-D2KtSTkr.mjs} +2 -2
  11. package/lib/{ca-DNCw15Om.mjs → ca-4YYrF7D4.mjs} +2 -2
  12. package/lib/ca-DyIg63pT.js +1 -0
  13. package/lib/cjs/index.js +2 -2
  14. package/lib/{cop-Cg_9EzGl.mjs → cop-C8rmq-mf.mjs} +2 -2
  15. package/lib/cop-CzalNZMy.js +1 -0
  16. package/lib/{cs-CO3omPBc.mjs → cs-D-GFbZkE.mjs} +2 -2
  17. package/lib/cs-jFzUvpSW.js +1 -0
  18. package/lib/{cu-BVXCZrRb.mjs → cu-B6XjYaXV.mjs} +2 -2
  19. package/lib/cu-C1YL2AZ4.js +1 -0
  20. package/lib/cy-45KfwWEx.js +1 -0
  21. package/lib/{cy-DdcmQdRU.mjs → cy-Dz9q6g42.mjs} +2 -2
  22. package/lib/{da-CDalw6_k.mjs → da-C6piIYvN.mjs} +2 -2
  23. package/lib/da-DuIo_kbC.js +1 -0
  24. package/lib/{de-1901-Bio6PX1D.mjs → de-1901-BlrbOJIy.mjs} +2 -2
  25. package/lib/de-1901-I9pw9K2h.js +1 -0
  26. package/lib/de-1996-ChjJNsQw.js +1 -0
  27. package/lib/{de-1996-D04zKy3t.mjs → de-1996-DJBaU2Ij.mjs} +2 -2
  28. package/lib/de-ch-1901-9RETBFw-.js +1 -0
  29. package/lib/{de-ch-1901-DXmVppkP.mjs → de-ch-1901-CD9ndUrR.mjs} +2 -2
  30. package/lib/el-monoton-8RvMnHth.js +1 -0
  31. package/lib/{el-monoton-BCxophpw.mjs → el-monoton-C7Dj3t8L.mjs} +2 -2
  32. package/lib/{el-polyton-cc2dKcNi.mjs → el-polyton-3hQ3_5V8.mjs} +2 -2
  33. package/lib/el-polyton-Bu66EDJ7.js +1 -0
  34. package/lib/{en-gb-CH5n2vc2.mjs → en-gb-BJlV3ZpD.mjs} +2 -2
  35. package/lib/en-gb-SV_a9fn-.js +1 -0
  36. package/lib/es/index.js +20133 -18091
  37. package/lib/es-D0mhZjcV.js +1 -0
  38. package/lib/{es-CM1w66HG.mjs → es-DVBhSqkX.mjs} +2 -2
  39. package/lib/et-B0RzltQe.js +1 -0
  40. package/lib/{et-1vv3Izyw.mjs → et-Db4qA7uM.mjs} +2 -2
  41. package/lib/eu-4jAKFEjV.js +1 -0
  42. package/lib/{eu-BGsqKnTM.mjs → eu-Cks5q4oj.mjs} +2 -2
  43. package/lib/{fi-BPikEZql.mjs → fi-CloSDd5R.mjs} +2 -2
  44. package/lib/fi-DaRVklIS.js +1 -0
  45. package/lib/{fr-CVOiY7Hk.mjs → fr-B1BYHADY.mjs} +2 -2
  46. package/lib/fr-DrZ3bXXV.js +1 -0
  47. package/lib/{fur-BfxkaO05.mjs → fur-CBBh0qht.mjs} +2 -2
  48. package/lib/fur-_oHJfsBQ.js +1 -0
  49. package/lib/{ga-RgFbe6O4.mjs → ga-BcR3t3dJ.mjs} +2 -2
  50. package/lib/ga-CFmZeeI7.js +1 -0
  51. package/lib/{gl-C-k_Tfyb.mjs → gl-BBvFm_J1.mjs} +2 -2
  52. package/lib/gl-CfY7Df_j.js +1 -0
  53. package/lib/{grc-DVfTDU-B.mjs → grc-C45HXf-r.mjs} +2 -2
  54. package/lib/grc-yz3tVRuC.js +1 -0
  55. package/lib/gu-D-qwCz1q.js +1 -0
  56. package/lib/{gu-OnDkDFRR.mjs → gu-wLi0mXrk.mjs} +2 -2
  57. package/lib/{mr-Bn6x2K8t.mjs → hi-0oXXR9W5.mjs} +2 -2
  58. package/lib/hi-BRIhY2xN.js +1 -0
  59. package/lib/hr-CKYeeRlN.js +1 -0
  60. package/lib/{hr-BydruLWx.mjs → hr-qQvmVP7S.mjs} +2 -2
  61. package/lib/hsb-BG3O4bTN.js +1 -0
  62. package/lib/{hsb-BG80pl_e.mjs → hsb-Cfm_aA_B.mjs} +2 -2
  63. package/lib/hu-11gHgrEC.js +1 -0
  64. package/lib/{hu-BDn_208e.mjs → hu-DX3GX0Md.mjs} +2 -2
  65. package/lib/{hy-CwMqVcRs.mjs → hy-CQNr6JSB.mjs} +2 -2
  66. package/lib/hy-CbR2hSXC.js +1 -0
  67. package/lib/{ia-BPpzCpVU.mjs → ia-C6a-e-Dj.mjs} +2 -2
  68. package/lib/ia-WpPFDdGr.js +1 -0
  69. package/lib/id-D4J_Cd04.js +1 -0
  70. package/lib/{id-CDLqpvHD.mjs → id-Dz9P_puV.mjs} +2 -2
  71. package/lib/is-DERAkBFR.js +1 -0
  72. package/lib/{is-CIYOndu4.mjs → is-i5pSEnjg.mjs} +2 -2
  73. package/lib/{it-C8yMXhVu.mjs → it-DW0whi0u.mjs} +2 -2
  74. package/lib/it-UyiCWqfU.js +1 -0
  75. package/lib/{ka-BdcqGePe.mjs → ka-BLB-V1lz.mjs} +2 -2
  76. package/lib/ka-CLqmc6Xv.js +1 -0
  77. package/lib/{kmr-dNPUHbsW.mjs → kmr-B-KiPlp3.mjs} +2 -2
  78. package/lib/kmr-CxwXQJXr.js +1 -0
  79. package/lib/kn-BVOgEmVc.js +1 -0
  80. package/lib/{kn-DAOQBMT3.mjs → kn-DO8F4Tga.mjs} +2 -2
  81. package/lib/la-BjneBRWO.js +1 -0
  82. package/lib/{la-B2sD59yr.mjs → la-DHKd_s9q.mjs} +2 -2
  83. package/lib/la-x-classic-CZHKpRvI.js +1 -0
  84. package/lib/{la-x-classic-CaVCyU_Q.mjs → la-x-classic-DfZknpxy.mjs} +2 -2
  85. package/lib/{la-x-liturgic-BUjsEOKb.mjs → la-x-liturgic-DTe6oXWw.mjs} +2 -2
  86. package/lib/la-x-liturgic-pcl0n-zH.js +1 -0
  87. package/lib/{lt-CbfOJm1r.mjs → lt-DtlA9rsC.mjs} +2 -2
  88. package/lib/lt-WYhIeybJ.js +1 -0
  89. package/lib/lv-CnvXw6FR.js +1 -0
  90. package/lib/{lv-7jJet9iv.mjs → lv-DXaKRahI.mjs} +2 -2
  91. package/lib/{ml-DCtpf5tH.mjs → ml-BGEScgvb.mjs} +2 -2
  92. package/lib/ml-cY172xt6.js +1 -0
  93. package/lib/{mn-cyrl-BBsXVZW8.mjs → mn-cyrl-BhdxkmdX.mjs} +2 -2
  94. package/lib/mn-cyrl-DjlymiLm.js +1 -0
  95. package/lib/{mn-cyrl-x-lmc-BVlv2lTY.mjs → mn-cyrl-x-lmc-BGezHEbR.mjs} +2 -2
  96. package/lib/mn-cyrl-x-lmc-j2L28W57.js +1 -0
  97. package/lib/{hi-wZq2N712.mjs → mr-DEKWXvtC.mjs} +2 -2
  98. package/lib/mr-Dm28ir_Z.js +1 -0
  99. package/lib/{mul-ethi-BzcfASck.mjs → mul-ethi-BJCO9BlO.mjs} +2 -2
  100. package/lib/mul-ethi-YVbJ7VwR.js +1 -0
  101. package/lib/{nb-B9uP_hJB.mjs → nb-DXDxUDDo.mjs} +2 -2
  102. package/lib/nb-mojOW3Qu.js +1 -0
  103. package/lib/{nl-DJ0c5Nwz.mjs → nl-DVAPWIGp.mjs} +2 -2
  104. package/lib/nl-Ds27_sIG.js +1 -0
  105. package/lib/nn-DWxFsoNc.js +1 -0
  106. package/lib/{nn-BSKjhM96.mjs → nn-U4EJzxc1.mjs} +2 -2
  107. package/lib/{no-rNan2JXr.mjs → no-CYxBnhIW.mjs} +2 -2
  108. package/lib/no-Cg50WX2I.js +1 -0
  109. package/lib/{oc-CEAeI_Pn.mjs → oc-DsUOXMQD.mjs} +2 -2
  110. package/lib/oc-K9bKXqET.js +1 -0
  111. package/lib/or-BMcshzJR.js +1 -0
  112. package/lib/{or-BXsM2pbv.mjs → or-CKqO0QN6.mjs} +2 -2
  113. package/lib/pa-Bs8RctRX.js +1 -0
  114. package/lib/{pa-CIQ5Y3X6.mjs → pa-C289aRic.mjs} +2 -2
  115. package/lib/{pi-D_nNqT17.mjs → pi-BCynSWdr.mjs} +2 -2
  116. package/lib/pi-Cvbb6qiX.js +1 -0
  117. package/lib/pl-D6gpqB1f.js +1 -0
  118. package/lib/{pl-DRrtuwd1.mjs → pl-Dc8CHLY1.mjs} +2 -2
  119. package/lib/pms-Cv7R-yy1.js +1 -0
  120. package/lib/{pms-C-FumxE9.mjs → pms-D7eF7JvK.mjs} +2 -2
  121. package/lib/{pt-DkX8-WA3.mjs → pt-BIKGx1hO.mjs} +2 -2
  122. package/lib/pt-PAYrX3iM.js +1 -0
  123. package/lib/rm-Cp4-gmvX.js +1 -0
  124. package/lib/{rm-Djs6hoP6.mjs → rm-CtXRfXwR.mjs} +2 -2
  125. package/lib/ro-D8uNKL54.js +1 -0
  126. package/lib/{ro-BlUZ9Cqj.mjs → ro-Dgc3hCQP.mjs} +2 -2
  127. package/lib/{ru-CT3O6fnD.mjs → ru-CfO_VOSH.mjs} +2 -2
  128. package/lib/ru-yfURp3OS.js +1 -0
  129. package/lib/sa-BFf1hHnA.js +1 -0
  130. package/lib/{sa-DwT18fhY.mjs → sa-Ci_yq_nB.mjs} +2 -2
  131. package/lib/{sh-cyrl-vs7LrXMi.mjs → sh-cyrl-B2Lh5Alp.mjs} +2 -2
  132. package/lib/sh-cyrl-CuVvXDHJ.js +1 -0
  133. package/lib/{sh-latn-CjbXS8sT.mjs → sh-latn-B7Pprjwx.mjs} +2 -2
  134. package/lib/sh-latn-DBgzZ57b.js +1 -0
  135. package/lib/{sk-C-BhbAaV.mjs → sk-CertwDVR.mjs} +2 -2
  136. package/lib/sk-D327HWGT.js +1 -0
  137. package/lib/{sl-PkRf1aEq.mjs → sl-BDe1PmyZ.mjs} +2 -2
  138. package/lib/sl-CJ43wdf2.js +1 -0
  139. package/lib/sr-cyrl-BSAkTr8N.js +1 -0
  140. package/lib/{sr-cyrl-cX7hxNkp.mjs → sr-cyrl-Dw0eEBrg.mjs} +2 -2
  141. package/lib/{sv-B5qT7wUY.mjs → sv-BVAzsIUi.mjs} +2 -2
  142. package/lib/sv-Xk_o_no8.js +1 -0
  143. package/lib/ta-BS1JYNX3.js +1 -0
  144. package/lib/{ta-CFDeBwfd.mjs → ta-Cai0wUPn.mjs} +2 -2
  145. package/lib/te-CNKqRcI1.js +1 -0
  146. package/lib/{te-BXwc4QG8.mjs → te-DKbqLYh4.mjs} +2 -2
  147. package/lib/th-BNuoQKBG.js +1 -0
  148. package/lib/{th-BFfX9uLb.mjs → th-DJ6gR5Ug.mjs} +2 -2
  149. package/lib/{tk-CUXETJVM.mjs → tk-DNRkC-pL.mjs} +2 -2
  150. package/lib/tk-MvsybXmO.js +1 -0
  151. package/lib/{tr-BR64TmVY.mjs → tr-BRmPg68h.mjs} +2 -2
  152. package/lib/tr-DXSmP_xl.js +1 -0
  153. package/lib/types/base-object.d.ts +13 -0
  154. package/lib/types/basics/document-node-tools.d.ts +7 -1
  155. package/lib/types/basics/i-document-skeleton-cached.d.ts +32 -4
  156. package/lib/types/basics/interfaces.d.ts +8 -1
  157. package/lib/types/basics/range.d.ts +4 -1
  158. package/lib/types/components/docs/document.d.ts +3 -0
  159. package/lib/types/components/docs/layout/block/paragraph/linebreaking.d.ts +3 -2
  160. package/lib/types/components/docs/layout/block/table.d.ts +13 -0
  161. package/lib/types/components/docs/layout/doc-skeleton.d.ts +1 -0
  162. package/lib/types/components/docs/layout/model/line.d.ts +3 -2
  163. package/lib/types/components/docs/layout/model/page.d.ts +4 -0
  164. package/lib/types/components/docs/layout/model/table.d.ts +15 -0
  165. package/lib/types/components/docs/layout/tools.d.ts +2 -1
  166. package/lib/types/components/docs/text-selection/convert-rect-range.d.ts +30 -0
  167. package/lib/types/components/docs/text-selection/{convert-cursor.d.ts → convert-text-range.d.ts} +7 -2
  168. package/lib/types/components/docs/text-selection/range-interface.d.ts +22 -0
  169. package/lib/types/components/docs/text-selection/rect-range.d.ts +49 -0
  170. package/lib/types/components/docs/text-selection/selection-utils.d.ts +28 -0
  171. package/lib/types/components/docs/text-selection/text-range.d.ts +8 -4
  172. package/lib/types/components/docs/text-selection/text-selection-render-manager.d.ts +28 -20
  173. package/lib/types/components/docs/view-model/document-view-model.d.ts +4 -5
  174. package/lib/types/engine.d.ts +5 -0
  175. package/lib/types/index.d.ts +11 -3
  176. package/lib/types/layer.d.ts +5 -1
  177. package/lib/types/render-manager/render-manager.service.d.ts +6 -1
  178. package/lib/types/render-manager/render-unit.d.ts +3 -1
  179. package/lib/types/scene.d.ts +9 -0
  180. package/lib/types/scene.transformer.d.ts +6 -0
  181. package/lib/types/shape/circle.d.ts +2 -0
  182. package/lib/types/shape/image.d.ts +2 -0
  183. package/lib/types/shape/rect.d.ts +2 -0
  184. package/lib/types/shape/rich-text.d.ts +66 -4
  185. package/lib/types/shape/shape.d.ts +2 -1
  186. package/lib/uk-BDFck_NF.js +1 -0
  187. package/lib/{uk-CIt18LjH.mjs → uk-BS0jT5id.mjs} +2 -2
  188. package/lib/umd/index.js +2 -2
  189. package/lib/zh-latn-pinyin-B17sY_zq.js +1 -0
  190. package/lib/{zh-latn-pinyin-C29el_eo.mjs → zh-latn-pinyin-UC2Ykr4P.mjs} +2 -2
  191. package/package.json +7 -7
  192. package/lib/af-B8CRNkjo.js +0 -1
  193. package/lib/as-CjArMJFb.js +0 -1
  194. package/lib/be-D_7towMQ.js +0 -1
  195. package/lib/bg-CZclBlFV.js +0 -1
  196. package/lib/bn-CzN_X48q.js +0 -1
  197. package/lib/ca-4AzMzC5n.js +0 -1
  198. package/lib/cop-BEWZjlEN.js +0 -1
  199. package/lib/cs-DilIWlcM.js +0 -1
  200. package/lib/cu-Dv6XbTRy.js +0 -1
  201. package/lib/cy-FA5QTAU-.js +0 -1
  202. package/lib/da-B9Og8Jrv.js +0 -1
  203. package/lib/de-1901-zEkwrFOx.js +0 -1
  204. package/lib/de-1996-7qRQHbDz.js +0 -1
  205. package/lib/de-ch-1901-CRFO4pck.js +0 -1
  206. package/lib/el-monoton-x4pPIDMS.js +0 -1
  207. package/lib/el-polyton-BmPHG29Z.js +0 -1
  208. package/lib/en-gb-d0UnX3NQ.js +0 -1
  209. package/lib/es-CiNTJwZN.js +0 -1
  210. package/lib/et-BK1e_cVg.js +0 -1
  211. package/lib/eu-BzxYxH10.js +0 -1
  212. package/lib/fi-Bj3oNcU6.js +0 -1
  213. package/lib/fr-DTLd-5Zd.js +0 -1
  214. package/lib/fur-fogKIIFe.js +0 -1
  215. package/lib/ga-6eamJRA4.js +0 -1
  216. package/lib/gl-CADHCwzT.js +0 -1
  217. package/lib/grc-OmY_teO1.js +0 -1
  218. package/lib/gu-BY7u7h16.js +0 -1
  219. package/lib/hi-C-5ieQXc.js +0 -1
  220. package/lib/hr-DJsWIgpy.js +0 -1
  221. package/lib/hsb-B_sJZsNY.js +0 -1
  222. package/lib/hu-yaDSgvAn.js +0 -1
  223. package/lib/hy-C4deAxX3.js +0 -1
  224. package/lib/ia-CjzS5si8.js +0 -1
  225. package/lib/id-DOctqhne.js +0 -1
  226. package/lib/is-D47CXCCB.js +0 -1
  227. package/lib/it-CXFCeNV4.js +0 -1
  228. package/lib/ka-CgSJi2CU.js +0 -1
  229. package/lib/kmr-B0Ded4M9.js +0 -1
  230. package/lib/kn-CcH8nt5Q.js +0 -1
  231. package/lib/la-DWb6TMoE.js +0 -1
  232. package/lib/la-x-classic-DsHZBRDM.js +0 -1
  233. package/lib/la-x-liturgic-C3OkOI_x.js +0 -1
  234. package/lib/lt-CtvK-cL5.js +0 -1
  235. package/lib/lv-VSwy7KIF.js +0 -1
  236. package/lib/ml-BO_9pI9i.js +0 -1
  237. package/lib/mn-cyrl-nBGEBxGh.js +0 -1
  238. package/lib/mn-cyrl-x-lmc-UJaI6njT.js +0 -1
  239. package/lib/mr-Dj3WJyra.js +0 -1
  240. package/lib/mul-ethi-DlLhqlDf.js +0 -1
  241. package/lib/nb-DpyDJynR.js +0 -1
  242. package/lib/nl-CeCra09K.js +0 -1
  243. package/lib/nn-zBMUfwWO.js +0 -1
  244. package/lib/no-rn8_SRru.js +0 -1
  245. package/lib/oc-CXZWE4qs.js +0 -1
  246. package/lib/or-jsnjw3Ub.js +0 -1
  247. package/lib/pa-hPrNXZT3.js +0 -1
  248. package/lib/pi-BMimJqFv.js +0 -1
  249. package/lib/pl-Cw-Bhtot.js +0 -1
  250. package/lib/pms-ePVMMGP-.js +0 -1
  251. package/lib/pt-Csy9T_gC.js +0 -1
  252. package/lib/rm-DS5uuP_L.js +0 -1
  253. package/lib/ro-C3B47EH9.js +0 -1
  254. package/lib/ru-CxgIVOvF.js +0 -1
  255. package/lib/sa-C3-ZGfmL.js +0 -1
  256. package/lib/sh-cyrl-CstO-G-Y.js +0 -1
  257. package/lib/sh-latn-BdtcwkQ7.js +0 -1
  258. package/lib/sk-BcST003l.js +0 -1
  259. package/lib/sl-WLFwiIjH.js +0 -1
  260. package/lib/sr-cyrl-BspApXN7.js +0 -1
  261. package/lib/sv-BLAl9qmR.js +0 -1
  262. package/lib/ta-CXbw1QC7.js +0 -1
  263. package/lib/te-B-G6LBfO.js +0 -1
  264. package/lib/th-YaLTc5g-.js +0 -1
  265. package/lib/tk-DbM2vAMc.js +0 -1
  266. package/lib/tr-Coi-iq3L.js +0 -1
  267. package/lib/uk-DWrud5zx.js +0 -1
  268. package/lib/zh-latn-pinyin-CDkfr_AT.js +0 -1
  269. /package/lib/types/components/docs/layout/block/paragraph/{layout.d.ts → paragraph-layout.d.ts} +0 -0
@@ -1,21 +1,18 @@
1
1
  import { Nullable, ILogService, RxDisposable } from '@univerjs/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { IMouseEvent, IPointerEvent } from '../../../basics/i-events';
4
- import { INodePosition } from '../../../basics/interfaces';
5
- import { ISuccinctTextRangeParam, ITextRangeWithStyle, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics/range';
6
- import { Engine } from '../../../engine';
4
+ import { INodeInfo, INodePosition } from '../../../basics/interfaces';
5
+ import { ISuccinctDocRangeParam, ITextRangeWithStyle, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics/range';
7
6
  import { Scene } from '../../../scene';
8
7
  import { Viewport } from '../../../viewport';
9
- import { DocumentSkeleton } from '../layout/doc-skeleton';
8
+ import { DocumentSkeleton, IFindNodeRestrictions } from '../layout/doc-skeleton';
10
9
  import { Documents } from '../document';
11
10
  import { TextRange } from './text-range';
11
+ import { RectRange } from './rect-range';
12
12
 
13
- export declare function getCanvasOffsetByEngine(engine: Nullable<Engine>): {
14
- left: number;
15
- top: number;
16
- };
17
13
  export interface ITextSelectionInnerParam {
18
14
  textRanges: TextRange[];
15
+ rectRanges: RectRange[];
19
16
  segmentId: string;
20
17
  isEditing: boolean;
21
18
  style: ITextSelectionStyle;
@@ -58,8 +55,8 @@ export interface ITextSelectionRenderManager {
58
55
  getSegmentPage(): number;
59
56
  setStyle(style: ITextSelectionStyle): void;
60
57
  resetStyle(): void;
61
- removeAllTextRanges(): void;
62
- addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean, options?: {
58
+ removeAllRanges(): void;
59
+ addDocRanges(ranges: ISuccinctDocRangeParam[], isEditing?: boolean, options?: {
63
60
  [key: string]: boolean;
64
61
  }): void;
65
62
  sync(): void;
@@ -74,7 +71,7 @@ export interface ITextSelectionRenderManager {
74
71
  dispose(): void;
75
72
  handleDblClick(evt: IPointerEvent | IMouseEvent): void;
76
73
  handleTripleClick(evt: IPointerEvent | IMouseEvent): void;
77
- eventTrigger(evt: IPointerEvent | IMouseEvent): void;
74
+ onPointDown(evt: IPointerEvent | IMouseEvent): void;
78
75
  setCursorManually(evtOffsetX: number, evtOffsetY: number): void;
79
76
  }
80
77
  export interface IEditorInputConfig {
@@ -113,9 +110,12 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
113
110
  private _inputParent;
114
111
  private _input;
115
112
  private _scrollTimers;
116
- private _viewportScrollX;
117
- private _viewportScrollY;
118
113
  private _rangeList;
114
+ private _rangeListCache;
115
+ private _rectRangeList;
116
+ private _rectRangeListCache;
117
+ private _anchorNodePosition;
118
+ private _focusNodePosition;
119
119
  private _currentSegmentId;
120
120
  private _currentSegmentPage;
121
121
  private _selectionStyle;
@@ -140,7 +140,7 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
140
140
  resetStyle(): void;
141
141
  enableSelection(): void;
142
142
  disableSelection(): void;
143
- addTextRanges(ranges: ISuccinctTextRangeParam[], isEditing?: boolean, options?: {
143
+ addDocRanges(ranges: ISuccinctDocRangeParam[], isEditing?: boolean, options?: {
144
144
  [key: string]: boolean;
145
145
  }): void;
146
146
  setCursorManually(evtOffsetX: number, evtOffsetY: number): void;
@@ -155,23 +155,31 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
155
155
  changeRuntime(docSkeleton: DocumentSkeleton, scene: Scene, document: Documents): void;
156
156
  handleDblClick(evt: IPointerEvent | IMouseEvent): void;
157
157
  handleTripleClick(evt: IPointerEvent | IMouseEvent): void;
158
- eventTrigger(evt: IPointerEvent | IMouseEvent): void;
159
- removeAllTextRanges(): void;
158
+ onPointDown(evt: IPointerEvent | IMouseEvent): void;
159
+ removeAllRanges(): void;
160
160
  private _setSystemHighlightColorToStyle;
161
161
  private _getAllTextRanges;
162
+ private _getAllRectRanges;
162
163
  private _getActiveRange;
163
- private _add;
164
164
  private _getActiveRangeInstance;
165
165
  dispose(): void;
166
166
  private _initDOM;
167
167
  private _initInput;
168
168
  private _getNodePosition;
169
- private _interactTextRange;
169
+ private _interactTextRanges;
170
+ private _interactRectRanges;
171
+ private _removeAllRanges;
172
+ private _removeAllCacheRanges;
170
173
  private _removeAllTextRanges;
174
+ private _removeAllRectRanges;
171
175
  private _deactivateAllTextRanges;
176
+ private _deactivateAllRectRanges;
177
+ private _addTextRangesToCache;
172
178
  private _addTextRange;
179
+ private _addRectRangesToCache;
180
+ private _addRectRanges;
173
181
  private _updateTextRangeAnchorPosition;
174
- private _updateActiveRangeFocusPosition;
182
+ private _updateActiveRangePosition;
175
183
  private _isEmpty;
176
184
  private _getCanvasOffset;
177
185
  private _updateInputPosition;
@@ -180,7 +188,7 @@ export declare class TextSelectionRenderManager extends RxDisposable implements
180
188
  private _initInputEvents;
181
189
  private _eventHandle;
182
190
  private _getTransformCoordForDocumentOffset;
183
- private _findNodeByCoord;
191
+ findNodeByCoord(evtOffsetX: number, evtOffsetY: number, restrictions: IFindNodeRestrictions): Nullable<INodeInfo>;
184
192
  private _getNodeIndex;
185
193
  private _detachEvent;
186
194
  private _activeSelectionRefresh;
@@ -10,6 +10,7 @@ export declare enum DocumentEditArea {
10
10
  HEADER = "HEADER",
11
11
  FOOTER = "FOOTER"
12
12
  }
13
+ export declare function parseDataStreamToTree(dataStream: string): DataStreamTreeNode[];
13
14
  export declare class DocumentViewModel implements IDisposable {
14
15
  private _documentDataModel;
15
16
  private _interceptor;
@@ -28,12 +29,13 @@ export declare class DocumentViewModel implements IDisposable {
28
29
  constructor(_documentDataModel: DocumentDataModel);
29
30
  registerCustomRangeInterceptor(interceptor: ICustomRangeInterceptor): IDisposable;
30
31
  dispose(): void;
31
- selfPlus(len: number, index: number): void;
32
+ selfPlus(_len: number, _index: number): void;
32
33
  getEditArea(): DocumentEditArea;
33
34
  setEditArea(editArea: DocumentEditArea): void;
34
35
  getPositionInParent(): number;
35
36
  getLastIndex(): number;
36
37
  getBody(): IDocumentBody | undefined;
38
+ getSnapshot(): import('@univerjs/core').IDocumentData;
37
39
  getDataModel(): DocumentDataModel;
38
40
  getSelfOrHeaderFooterViewModel(segmentId?: string): DocumentViewModel;
39
41
  reset(documentDataModel: DocumentDataModel): void;
@@ -43,7 +45,7 @@ export declare class DocumentViewModel implements IDisposable {
43
45
  getText(): string;
44
46
  resetCache(): void;
45
47
  getSectionBreak(index: number): import('@univerjs/core').ISectionBreak | undefined;
46
- getParagraph(index: number): import('@univerjs/core').IParagraph | undefined;
48
+ getParagraph(index: number, fromStart?: boolean): import('@univerjs/core').IParagraph | undefined;
47
49
  getTextRunRange(startIndex: number | undefined, endIndex: number): ITextRun[];
48
50
  /**
49
51
  * textRun matches according to the selection. If the text length is 10, then the range of textRun is from 0 to 11.
@@ -56,9 +58,6 @@ export declare class DocumentViewModel implements IDisposable {
56
58
  getCustomRange(index: number): Nullable<ICustomRangeForInterceptor>;
57
59
  getCustomDecorationRaw(index: number): import('@univerjs/core').ICustomDecoration | undefined;
58
60
  getCustomDecoration(index: number): Nullable<ICustomDecorationForInterceptor>;
59
- protected _transformToTree(dataStream: string): DataStreamTreeNode[];
60
- private _processPreviousNodesUntil;
61
- private _batchParent;
62
61
  private _buildHeaderFooterViewModel;
63
62
  private _getParagraphByIndex;
64
63
  private _forEachTop;
@@ -64,6 +64,11 @@ export declare class Engine extends ThinEngine<Scene> {
64
64
  getPixelRatio(): number;
65
65
  setContainer(elem: HTMLElement, resize?: boolean): void;
66
66
  resize(): void;
67
+ /**
68
+ * set canvas element size
69
+ * @param width
70
+ * @param height
71
+ */
67
72
  resizeBySize(width: number, height: number): void;
68
73
  dispose(): void;
69
74
  /**
@@ -32,9 +32,11 @@ export * from './shape';
32
32
  export * from './viewport';
33
33
  export { DocumentViewModel } from './components/docs/view-model/document-view-model';
34
34
  export { getAnchorBounding, TEXT_RANGE_LAYER_INDEX, TextRange, getLineBounding } from './components/docs/text-selection/text-range';
35
- export { NodePositionConvertToCursor } from './components/docs/text-selection/convert-cursor';
35
+ export { RectRange, convertPositionsToRectRanges } from './components/docs/text-selection/rect-range';
36
+ export { NodePositionConvertToCursor } from './components/docs/text-selection/convert-text-range';
36
37
  export { Liquid } from './components/docs/liquid';
37
- export { ITextSelectionRenderManager, TextSelectionRenderManager, getCanvasOffsetByEngine, } from './components/docs/text-selection/text-selection-render-manager';
38
+ export { getCanvasOffsetByEngine } from './components/docs/text-selection/selection-utils';
39
+ export { ITextSelectionRenderManager, TextSelectionRenderManager, } from './components/docs/text-selection/text-selection-render-manager';
38
40
  export type { IActiveTextRange, IEditorInputConfig, ITextSelectionInnerParam } from './components/docs/text-selection/text-selection-render-manager';
39
41
  export { Documents } from './components/docs/document';
40
42
  export { DocBackground } from './components/docs/doc-background';
@@ -46,4 +48,10 @@ export { type IChangeObserverConfig } from './scene.transformer';
46
48
  export { DEFAULT_PADDING_DATA } from './components/sheets/sheet-skeleton';
47
49
  export { DocumentEditArea } from './components/docs/view-model/document-view-model';
48
50
  export { lineIterator, glyphIterator } from './components/docs/layout/tools';
49
- export { getOneTextSelectionRange } from './components/docs/text-selection/convert-cursor';
51
+ export { getOneTextSelectionRange } from './components/docs/text-selection/convert-text-range';
52
+ export { getLastLine } from './components/docs/layout/tools';
53
+ export { DataStreamTreeNode } from './components/docs/view-model/data-stream-tree-node';
54
+ export type { IDocRange } from './components/docs/text-selection/range-interface';
55
+ export { isInSameTableCell, isValidRectRange, NodePositionConvertToRectRange } from './components/docs/text-selection/convert-rect-range';
56
+ export { parseDataStreamToTree } from './components/docs/view-model/document-view-model';
57
+ export { DOC_RANGE_TYPE } from './components/docs/text-selection/range-interface';
@@ -17,6 +17,10 @@ export declare class Layer extends Disposable {
17
17
  enableCache(): void;
18
18
  disableCache(): void;
19
19
  isAllowCache(): boolean;
20
+ /**
21
+ * get objects which is visible and not in a group.
22
+ * @returns BaseObject[]
23
+ */
20
24
  getObjectsByOrder(): BaseObject[];
21
25
  getObjectsByOrderForPick(): BaseObject[];
22
26
  getObjects(): BaseObject[];
@@ -24,7 +28,7 @@ export declare class Layer extends Disposable {
24
28
  * insert o to _objects[]
25
29
  * if o is a group, insert all its children and group itself to _objects[]
26
30
  * @param o
27
- * @returns
31
+ * @returns this
28
32
  */
29
33
  addObject(o: BaseObject): this;
30
34
  removeObject(object: BaseObject | string): void;
@@ -1,4 +1,4 @@
1
- import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, Injector, IUniverInstanceService } from '@univerjs/core';
1
+ import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, Disposable, Injector, IUniverInstanceService, UniverInstanceType } from '@univerjs/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import { BaseObject } from '../base-object';
4
4
  import { DocComponent } from '../components/docs/doc-component';
@@ -15,6 +15,10 @@ export interface IRenderManagerService extends IDisposable {
15
15
  createRender(unitId: string): IRender;
16
16
  removeRender(unitId: string): void;
17
17
  setCurrent(unitId: string): void;
18
+ /**
19
+ * get RenderUnit By Id, RenderUnit implements IRender
20
+ * @param unitId
21
+ */
18
22
  getRenderById(unitId: string): Nullable<IRender>;
19
23
  getAllRenderersOfType(type: UniverInstanceType): RenderUnit[];
20
24
  getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
@@ -61,6 +65,7 @@ export declare class RenderManagerService extends Disposable implements IRenderM
61
65
  getAllRenderersOfType(type: UniverInstanceType): RenderUnit[];
62
66
  getCurrentTypeOfRenderer(type: UniverInstanceType): Nullable<RenderUnit>;
63
67
  withCurrentTypeOfUnit<T>(type: UniverInstanceType, id: DependencyIdentifier<T>): Nullable<T>;
68
+ private _tryAddRenderDependencies;
64
69
  private _createRender;
65
70
  addRender(unitId: string, item: IRender): void;
66
71
  private _addRenderUnit;
@@ -1,15 +1,17 @@
1
- import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, Disposable, Injector } from '@univerjs/core';
1
+ import { Dependency, DependencyIdentifier, IDisposable, Nullable, UnitModel, UnitType, UniverInstanceType, Disposable, Injector } from '@univerjs/core';
2
2
  import { Engine } from '../engine';
3
3
  import { Scene } from '../scene';
4
4
  import { RenderComponentType } from './render-manager.service';
5
5
 
6
6
  export interface IRender {
7
7
  unitId: string;
8
+ type: UniverInstanceType;
8
9
  engine: Engine;
9
10
  scene: Scene;
10
11
  mainComponent: Nullable<RenderComponentType>;
11
12
  components: Map<string, RenderComponentType>;
12
13
  isMainScene: boolean;
14
+ isThumbNail?: boolean;
13
15
  with<T>(dependency: DependencyIdentifier<T>): T;
14
16
  }
15
17
  export interface IRenderModule extends IDisposable {
@@ -80,7 +80,16 @@ export declare class Scene extends ThinScene {
80
80
  removeObject(object?: BaseObject | string): this | undefined;
81
81
  removeObjects(objects?: BaseObject[] | string[]): this | undefined;
82
82
  getObjectsByLayer(zIndex: number): BaseObject[];
83
+ /**
84
+ * get objects which is visible and not in a group in each layer.
85
+ * @returns BaseObject[]
86
+ */
83
87
  getAllObjects(): BaseObject[];
88
+ /**
89
+ * get objects which is visible and not in a group.
90
+ * @param isDesc
91
+ * @returns BaseObject[]
92
+ */
84
93
  getAllObjectsByOrder(isDesc?: boolean): BaseObject[];
85
94
  getAllObjectsByOrderForPick(isDesc?: boolean): BaseObject[];
86
95
  getObject(oKey: string): BaseObject | undefined;
@@ -11,6 +11,7 @@ declare enum MoveObserverType {
11
11
  MOVE_END = 2
12
12
  }
13
13
  export interface IChangeObserverConfig {
14
+ target?: BaseObject;
14
15
  objects: Map<string, BaseObject>;
15
16
  type: MoveObserverType;
16
17
  moveX?: number;
@@ -63,6 +64,10 @@ export declare class Transformer extends Disposable implements ITransformerConfi
63
64
  useSingleNodeRotation: boolean;
64
65
  shouldOverdrawWholeArea: boolean;
65
66
  private readonly _changeStart$;
67
+ /**
68
+ * actually pointer down on a object,
69
+ * trigger when pick an object even object not change.
70
+ */
66
71
  readonly changeStart$: import('rxjs').Observable<IChangeObserverConfig>;
67
72
  private readonly _changing$;
68
73
  readonly changing$: import('rxjs').Observable<IChangeObserverConfig>;
@@ -146,6 +151,7 @@ export declare class Transformer extends Disposable implements ITransformerConfi
146
151
  private _clearControlMap;
147
152
  private _createControl;
148
153
  private _getTopScene;
154
+ activeAnObject(applyObject: BaseObject): void;
149
155
  private _updateActiveObjectList;
150
156
  private _findGroupObject;
151
157
  private _addCancelObserver;
@@ -1,4 +1,5 @@
1
1
  import { UniverRenderingContext } from '../context';
2
+ import { ObjectType } from '../base-object';
2
3
  import { IShapeProps, Shape } from './shape';
3
4
 
4
5
  export interface ICircleProps extends IShapeProps {
@@ -7,6 +8,7 @@ export interface ICircleProps extends IShapeProps {
7
8
  export declare const CIRCLE_OBJECT_ARRAY: string[];
8
9
  export declare class Circle extends Shape<ICircleProps> {
9
10
  private _radius;
11
+ objectType: ObjectType;
10
12
  constructor(key?: string, props?: ICircleProps);
11
13
  get radius(): number;
12
14
  static drawWith(ctx: UniverRenderingContext, props: ICircleProps | Circle): void;
@@ -1,6 +1,7 @@
1
1
  import { ISrcRect, Nullable, PresetGeometryType } from '@univerjs/core';
2
2
  import { UniverRenderingContext } from '../context';
3
3
  import { IObjectFullState, IViewportInfo, RENDER_CLASS_TYPE } from '../basics';
4
+ import { ObjectType } from '../base-object';
4
5
  import { IShapeProps, Shape } from './shape';
5
6
 
6
7
  export interface IImageProps extends IShapeProps {
@@ -23,6 +24,7 @@ export declare class Image extends Shape<IImageProps> {
23
24
  protected _native: Nullable<HTMLImageElement>;
24
25
  private _renderByCropper;
25
26
  private _transformCalculateSrcRect;
27
+ objectType: ObjectType;
26
28
  constructor(id: string, config: IImageProps);
27
29
  get srcRect(): Nullable<ISrcRect>;
28
30
  get prstGeom(): Nullable<PresetGeometryType>;
@@ -1,5 +1,6 @@
1
1
  import { UniverRenderingContext } from '../context';
2
2
  import { IViewportInfo } from '../basics/vector2';
3
+ import { ObjectType } from '../base-object';
3
4
  import { IShapeProps, Shape } from './shape';
4
5
 
5
6
  export interface IRectProps extends IShapeProps {
@@ -8,6 +9,7 @@ export interface IRectProps extends IShapeProps {
8
9
  export declare const RECT_OBJECT_ARRAY: string[];
9
10
  export declare class Rect<T extends IRectProps = IRectProps> extends Shape<T> {
10
11
  private _radius;
12
+ objectType: ObjectType;
11
13
  constructor(key?: string, props?: T);
12
14
  get radius(): number;
13
15
  static drawWith(ctx: UniverRenderingContext, props: IRectProps | Rect): void;
@@ -1,5 +1,5 @@
1
1
  import { IDocumentData, IStyleBase, ITransformState, LocaleService } from '@univerjs/core';
2
- import { BaseObject } from '../base-object';
2
+ import { BASE_OBJECT_ARRAY, BaseObject, ObjectType } from '../base-object';
3
3
  import { IViewportInfo } from '../basics/vector2';
4
4
  import { UniverRenderingContext } from '../context';
5
5
 
@@ -9,34 +9,96 @@ export interface IRichTextProps extends ITransformState, IStyleBase {
9
9
  zIndex: number;
10
10
  forceRender?: boolean;
11
11
  }
12
+ export type RichtextObjectJSONType = {
13
+ [key in typeof BASE_OBJECT_ARRAY[number]]: number;
14
+ } & {
15
+ text: string;
16
+ fs: number;
17
+ richText?: unknown;
18
+ };
12
19
  export declare const RICHTEXT_OBJECT_ARRAY: string[];
13
20
  export declare class RichText extends BaseObject {
14
21
  private _localeService;
15
22
  private _documentData;
16
23
  private _documentSkeleton;
17
24
  private _documents;
25
+ /**
26
+ * fontFamily
27
+ */
18
28
  private _ff?;
29
+ /**
30
+ * fontSize
31
+ * pt
32
+ */
19
33
  private _fs?;
34
+ /**
35
+ * italic
36
+ * 0: false
37
+ * 1: true
38
+ */
20
39
  private _it?;
40
+ /**
41
+ * bold
42
+ * 0: false
43
+ * 1: true
44
+ */
21
45
  private _bl?;
46
+ /**
47
+ * underline
48
+ */
22
49
  private _ul?;
50
+ /**
51
+ * strikethrough
52
+ */
23
53
  private _st?;
54
+ /**
55
+ * overline
56
+ */
24
57
  private _ol?;
58
+ /**
59
+ * background
60
+ */
25
61
  private _bg?;
62
+ /**
63
+ * border
64
+ */
26
65
  private _bd?;
66
+ /**
67
+ * foreground
68
+ */
27
69
  private _cl?;
70
+ objectType: ObjectType;
28
71
  constructor(_localeService: LocaleService, key?: string, props?: IRichTextProps);
72
+ get fs(): number;
73
+ get text(): string;
29
74
  get documentData(): IDocumentData;
75
+ /**
76
+ * get last page size
77
+ */
30
78
  getDocsSkeletonPageSize(): {
31
79
  width: number;
32
80
  height: number;
33
81
  } | undefined;
82
+ /**
83
+ * this[`_${key}`] = props[key];
84
+ * @param props
85
+ */
34
86
  setProps(props?: IRichTextProps): this | undefined;
35
87
  render(mainCtx: UniverRenderingContext, bounds?: IViewportInfo): this;
36
- toJson(): {
37
- [x: string]: any;
38
- };
88
+ toJson(): RichtextObjectJSONType;
39
89
  protected _draw(ctx: UniverRenderingContext): void;
40
90
  private _convertToDocumentData;
41
91
  private _initialProps;
92
+ /**
93
+ *
94
+ * it should be invoked when _documentData changed.
95
+ * _documentData changed ---> update _documentSkeleton & _documentSkeleton
96
+ *
97
+ * now it is invoked when transformByState(change editor size) & end of editing
98
+ */
99
+ refreshDocumentByDocData(): void;
100
+ /**
101
+ * invoked when end editing.
102
+ */
103
+ resizeToContentSize(): void;
42
104
  }
@@ -1,5 +1,5 @@
1
1
  import { IOffset, IScale, ISize, Nullable } from '@univerjs/core';
2
- import { BaseObject } from '../base-object';
2
+ import { BaseObject, ObjectType } from '../base-object';
3
3
  import { IObjectFullState } from '../basics/interfaces';
4
4
  import { IViewportInfo, Vector2 } from '../basics/vector2';
5
5
  import { UniverRenderingContext } from '../context';
@@ -62,6 +62,7 @@ export declare abstract class Shape<T extends IShapeProps> extends BaseObject {
62
62
  private _strokeDashOffset;
63
63
  private _strokeMiterLimit;
64
64
  private _type;
65
+ objectType: ObjectType;
65
66
  constructor(key?: string, props?: T);
66
67
  get hoverCursor(): Nullable<string>;
67
68
  get moveCursor(): string | null;