@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
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Tr=["21,11,22,2,032,0044,014",'{"a":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"â":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"e":[{"c":[{"e":[{"k":[{".":2}]}]}],"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ı":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"i":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"î":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"o":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ö":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"u":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"ü":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"û":[{"a":4,"â":4,"e":4,"ı":4,"i":4,"î":4,"o":4,"ö":4,"u":4,"ü":4,"û":4},0],"b":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"c":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ç":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"d":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"f":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"g":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ğ":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"h":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"j":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"k":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"l":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"m":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":[{"r":[{"a":[{"k":6}]}]},3],"v":3,"y":3,"z":3},1],"n":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"p":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"r":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"s":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"ş":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"t":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3,"u":[{"r":[{"k":5}]}]},1],"v":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"y":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1],"z":[{"b":3,"c":3,"ç":3,"d":3,"f":3,"g":3,"ğ":3,"h":3,"j":3,"k":3,"l":3,"m":3,"n":3,"p":3,"r":3,"s":3,"ş":3,"t":3,"v":3,"y":3,"z":3},1]}',[]];exports.Tr=Tr;
@@ -9,9 +9,18 @@ import { Layer } from './layer';
9
9
  import { ITransformerConfig } from './basics/transformer-config';
10
10
 
11
11
  export declare const BASE_OBJECT_ARRAY: string[];
12
+ export declare enum ObjectType {
13
+ UNKNOWN = 0,
14
+ RICH_TEXT = 1,
15
+ SHAPE = 2,
16
+ IMAGE = 3,
17
+ RECT = 4,
18
+ CIRCLE = 5
19
+ }
12
20
  export declare abstract class BaseObject extends Disposable {
13
21
  groupKey?: string;
14
22
  isInGroup: boolean;
23
+ objectType: ObjectType;
15
24
  onTransformChange$: EventSubject<ITransformChangeState>;
16
25
  onPointerDown$: EventSubject<IMouseEvent | IPointerEvent>;
17
26
  onPointerMove$: EventSubject<IMouseEvent | IPointerEvent>;
@@ -125,6 +134,10 @@ export declare abstract class BaseObject extends Disposable {
125
134
  scale(scaleX?: number, scaleY?: number): this;
126
135
  skew(skewX?: number, skewY?: number): this;
127
136
  flip(flipX?: boolean, flipY?: boolean): this;
137
+ /**
138
+ * this[pKey] = option[pKey]
139
+ * @param option
140
+ */
128
141
  transformByState(option: IObjectFullState): this | undefined;
129
142
  isRender(bounds?: IViewportInfo): boolean | undefined;
130
143
  getParent(): any;
@@ -5,6 +5,12 @@ export declare function hasListGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): b
5
5
  export declare function isIndentByGlyph(glyph: Nullable<IDocumentSkeletonGlyph>, body?: IDocumentBody): boolean;
6
6
  export declare function isLastGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
7
7
  export declare function isFirstGlyph(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
8
- export declare function getParagraphByGlyph(glyph: Nullable<IDocumentSkeletonGlyph>, body?: IDocumentBody): import('@univerjs/core').IParagraph | undefined;
8
+ export declare function getParagraphByGlyph(glyph: Nullable<IDocumentSkeletonGlyph>, body?: IDocumentBody): {
9
+ paragraphStart: number;
10
+ paragraphEnd: number;
11
+ startIndex: number;
12
+ paragraphStyle?: import('@univerjs/core').IParagraphStyle;
13
+ bullet?: import('@univerjs/core').IBullet;
14
+ } | undefined;
9
15
  export declare function isPlaceholderOrSpace(glyph: Nullable<IDocumentSkeletonGlyph>): boolean;
10
16
  export declare function isSameLine(glyph1: Nullable<IDocumentSkeletonGlyph>, glyph2: Nullable<IDocumentSkeletonGlyph>): boolean;
@@ -1,4 +1,4 @@
1
- import { BulletAlignment, ColumnSeparatorType, DataStreamTreeTokenType, IDocDrawingBase, IDocumentRenderConfig, IIndentStart, INestingLevel, ITextStyle, PageOrientType } from '@univerjs/core';
1
+ import { BulletAlignment, ColumnSeparatorType, DataStreamTreeTokenType, IDocDrawingBase, IDocumentRenderConfig, INestingLevel, IParagraphProperties, ITable, ITextStyle, PageOrientType } from '@univerjs/core';
2
2
  import { BreakPointType } from '../components/docs/layout/line-breaker/break';
3
3
 
4
4
  export interface IDocumentSkeletonCached extends ISkeletonResourceReference {
@@ -7,6 +7,7 @@ export interface IDocumentSkeletonCached extends ISkeletonResourceReference {
7
7
  top: number;
8
8
  st: number;
9
9
  ed?: number;
10
+ parent?: unknown;
10
11
  }
11
12
  export interface ISkeletonResourceReference {
12
13
  skeHeaders: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
@@ -22,7 +23,8 @@ export interface IDocumentSkeletonDrawingAnchor {
22
23
  export declare enum DocumentSkeletonPageType {
23
24
  BODY = 0,
24
25
  HEADER = 1,
25
- FOOTER = 2
26
+ FOOTER = 2,
27
+ CELL = 3
26
28
  }
27
29
  export interface IDocumentSkeletonPage {
28
30
  sections: IDocumentSkeletonSection[];
@@ -37,6 +39,7 @@ export interface IDocumentSkeletonPage {
37
39
  marginTop: number;
38
40
  originMarginBottom: number;
39
41
  marginBottom: number;
42
+ left: number;
40
43
  pageNumber: number;
41
44
  pageNumberStart: number;
42
45
  verticalAlign: boolean;
@@ -47,10 +50,11 @@ export interface IDocumentSkeletonPage {
47
50
  st: number;
48
51
  ed: number;
49
52
  skeDrawings: Map<string, IDocumentSkeletonDrawing>;
53
+ skeTables: Map<string, IDocumentSkeletonTable>;
50
54
  segmentId: string;
51
55
  type: DocumentSkeletonPageType;
52
56
  renderConfig?: IDocumentRenderConfig;
53
- parent?: IDocumentSkeletonCached;
57
+ parent?: IDocumentSkeletonCached | IDocumentSkeletonRow;
54
58
  }
55
59
  export interface IDocumentSkeletonHeaderFooter extends IDocumentSkeletonPage {
56
60
  }
@@ -63,6 +67,27 @@ export interface IDocumentSkeletonSection {
63
67
  ed: number;
64
68
  parent?: IDocumentSkeletonPage;
65
69
  }
70
+ export interface IDocumentSkeletonTable {
71
+ rows: IDocumentSkeletonRow[];
72
+ width: number;
73
+ height: number;
74
+ top: number;
75
+ left: number;
76
+ st: number;
77
+ ed: number;
78
+ tableId: string;
79
+ tableSource: ITable;
80
+ parent?: IDocumentSkeletonPage;
81
+ }
82
+ export interface IDocumentSkeletonRow {
83
+ cells: IDocumentSkeletonPage[];
84
+ index: number;
85
+ height: number;
86
+ top: number;
87
+ st: number;
88
+ ed: number;
89
+ parent?: IDocumentSkeletonTable;
90
+ }
66
91
  export interface IDocumentSkeletonColumn {
67
92
  lines: IDocumentSkeletonLine[];
68
93
  left: number;
@@ -97,6 +122,8 @@ export interface IDocumentSkeletonLine {
97
122
  lineIndex: number;
98
123
  bullet?: IDocumentSkeletonBullet;
99
124
  paragraphStart: boolean;
125
+ isBehindTable: boolean;
126
+ tableId: string;
100
127
  parent?: IDocumentSkeletonColumn;
101
128
  }
102
129
  export interface IDocumentSkeletonDivide {
@@ -134,7 +161,7 @@ export interface IDocumentSkeletonGlyph {
134
161
  featureId?: string;
135
162
  drawingId?: string;
136
163
  }
137
- export interface IDocumentSkeletonBullet extends IIndentStart {
164
+ export interface IDocumentSkeletonBullet {
138
165
  listId: string;
139
166
  symbol: string;
140
167
  ts: ITextStyle;
@@ -144,6 +171,7 @@ export interface IDocumentSkeletonBullet extends IIndentStart {
144
171
  nestingLevel?: INestingLevel;
145
172
  bulletAlign?: BulletAlignment;
146
173
  bulletType?: boolean;
174
+ paragraphProperties?: IParagraphProperties;
147
175
  }
148
176
  export interface IDocumentSkeletonDrawing {
149
177
  drawingId: string;
@@ -1,6 +1,6 @@
1
1
  import { BooleanNumber, GridType, IDocStyleBase, IDocumentLayout, IOffset, IParagraphStyle, IReferenceSource, IScale, ISectionBreakBase, ISize, ITextStyle, ITransformState, LocaleService } from '@univerjs/core';
2
2
  import { DocumentViewModel } from '../components/docs/view-model/document-view-model';
3
- import { DocumentSkeletonPageType, IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonHeaderFooter } from './i-document-skeleton-cached';
3
+ import { DocumentSkeletonPageType, IDocumentSkeletonBullet, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonHeaderFooter, IDocumentSkeletonTable } from './i-document-skeleton-cached';
4
4
  import { Vector2 } from './vector2';
5
5
  import { ITransformerConfig } from './transformer-config';
6
6
 
@@ -56,10 +56,16 @@ export interface ISectionBreakConfig extends IDocStyleBase, ISectionBreakBase, I
56
56
  useFirstPageHeaderFooter?: BooleanNumber;
57
57
  evenAndOddHeaders?: BooleanNumber;
58
58
  }
59
+ export interface IParagraphTableCache {
60
+ tableId: string;
61
+ table: IDocumentSkeletonTable;
62
+ hasPositioned: boolean;
63
+ }
59
64
  export interface IParagraphConfig {
60
65
  paragraphIndex: number;
61
66
  paragraphAffectSkeDrawings?: Map<string, IDocumentSkeletonDrawing>;
62
67
  paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>;
68
+ skeTablesInParagraph?: IParagraphTableCache[];
63
69
  bulletSkeleton?: IDocumentSkeletonBullet;
64
70
  paragraphStyle?: IParagraphStyle;
65
71
  skeHeaders: Map<string, Map<number, IDocumentSkeletonHeaderFooter>>;
@@ -90,6 +96,7 @@ export interface INodeSearch {
90
96
  page: number;
91
97
  segmentPage: number;
92
98
  pageType: DocumentSkeletonPageType;
99
+ path: (string | number)[];
93
100
  }
94
101
  export interface INodePosition extends INodeSearch {
95
102
  isBack: boolean;
@@ -1,4 +1,5 @@
1
1
  import { ITextRangeParam } from '@univerjs/core';
2
+ import { DOC_RANGE_TYPE } from '../components/docs/text-selection/range-interface';
2
3
 
3
4
  export interface ITextSelectionStyle {
4
5
  strokeWidth: number;
@@ -9,13 +10,15 @@ export interface ITextSelectionStyle {
9
10
  export declare const NORMAL_TEXT_SELECTION_PLUGIN_STYLE: ITextSelectionStyle;
10
11
  export interface ITextRangeWithStyle extends ITextRangeParam {
11
12
  style?: ITextSelectionStyle;
13
+ rangeType?: DOC_RANGE_TYPE;
12
14
  }
13
- export interface ISuccinctTextRangeParam {
15
+ export interface ISuccinctDocRangeParam {
14
16
  startOffset: number;
15
17
  endOffset: number;
16
18
  segmentId?: string;
17
19
  segmentPage?: number;
18
20
  style?: ITextSelectionStyle;
21
+ rangeType?: DOC_RANGE_TYPE;
19
22
  }
20
23
  export declare enum RANGE_DIRECTION {
21
24
  NONE = "none",
@@ -32,6 +32,9 @@ export declare class Documents extends DocComponent {
32
32
  changeSkeleton(newSkeleton: DocumentSkeleton): this;
33
33
  protected _draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
34
34
  draw(ctx: UniverRenderingContext, bounds?: IViewportInfo): void;
35
+ private _drawTable;
36
+ private _drawTableCell;
37
+ private _drawTableCellBorders;
35
38
  private _drawHeaderFooter;
36
39
  private _horizontalHandler;
37
40
  private _verticalHandler;
@@ -1,8 +1,9 @@
1
- import { IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
1
+ import { Nullable } from '@univerjs/core';
2
+ import { IDocumentSkeletonPage, IDocumentSkeletonTable } from '../../../../../basics/i-document-skeleton-cached';
2
3
  import { ILayoutContext } from '../../tools';
3
4
  import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
4
5
  import { ISectionBreakConfig } from '../../../../../basics/interfaces';
5
6
  import { DocumentViewModel } from '../../../view-model/document-view-model';
6
7
  import { IShapedText } from './shaping';
7
8
 
8
- export declare function lineBreaking(ctx: ILayoutContext, viewModel: DocumentViewModel, shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonPage[];
9
+ export declare function lineBreaking(ctx: ILayoutContext, viewModel: DocumentViewModel, shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, tableSkeleton: Nullable<IDocumentSkeletonTable>): IDocumentSkeletonPage[];
@@ -0,0 +1,13 @@
1
+ import { ITable } from '@univerjs/core';
2
+ import { IDocumentSkeletonPage, IDocumentSkeletonTable, ISectionBreakConfig } from '../../../../basics';
3
+ import { DataStreamTreeNode } from '../../view-model/data-stream-tree-node';
4
+ import { DocumentViewModel } from '../../view-model/document-view-model';
5
+ import { ILayoutContext } from '../tools';
6
+
7
+ export declare function createTableSkeleton(ctx: ILayoutContext, curPage: IDocumentSkeletonPage, viewModel: DocumentViewModel, tableNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonTable;
8
+ export declare function getNullTableSkeleton(st: number, ed: number, table: ITable): IDocumentSkeletonTable;
9
+ export declare function getTableSliceId(tableId: string, sliceIndex: number): string;
10
+ export declare function getTableIdAndSliceIndex(tableSliceId: string): {
11
+ tableId: string;
12
+ sliceIndex: number;
13
+ };
@@ -36,6 +36,7 @@ export declare class DocumentSkeleton extends Skeleton {
36
36
  private _getPageActualWidth;
37
37
  getPageSize(): import('@univerjs/core').ISize | undefined;
38
38
  findPositionByGlyph(glyph: IDocumentSkeletonGlyph, segmentPage: number): Nullable<INodeSearch>;
39
+ findCharIndexByPosition(position: INodePosition): Nullable<number>;
39
40
  findNodePositionByCharIndex(charIndex: number, isBack?: boolean, segmentId?: string, segmentPIndex?: number): Nullable<INodePosition>;
40
41
  findNodeByCharIndex(charIndex: number, segmentId?: string, segmentPageIndex?: number): Nullable<IDocumentSkeletonGlyph>;
41
42
  findGlyphByPosition(position: Nullable<INodePosition>): IDocumentSkeletonGlyph | undefined;
@@ -1,5 +1,6 @@
1
1
  import { Nullable } from '@univerjs/core';
2
2
  import { IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonDrawingAnchor, IDocumentSkeletonLine, IDocumentSkeletonPage, LineType } from '../../../../basics/i-document-skeleton-cached';
3
+ import { IParagraphConfig } from '../../../../basics';
3
4
 
4
5
  interface ILineBoundingBox {
5
6
  lineHeight: number;
@@ -12,11 +13,11 @@ interface ILineBoundingBox {
12
13
  marginTop?: number;
13
14
  spaceBelowApply?: number;
14
15
  }
15
- export declare function createSkeletonLine(paragraphIndex: number, lineType: LineType, lineBoundingBox: ILineBoundingBox, columnWidth: number, lineIndex: number | undefined, isParagraphStart: boolean | undefined, page: IDocumentSkeletonPage, headerPage: Nullable<IDocumentSkeletonPage>, footerPage: Nullable<IDocumentSkeletonPage>): IDocumentSkeletonLine;
16
+ export declare function createSkeletonLine(paragraphIndex: number, lineType: LineType, lineBoundingBox: ILineBoundingBox, columnWidth: number, lineIndex: number | undefined, isParagraphStart: boolean | undefined, paragraphConfig: IParagraphConfig, page: IDocumentSkeletonPage, headerPage: Nullable<IDocumentSkeletonPage>, footerPage: Nullable<IDocumentSkeletonPage>): IDocumentSkeletonLine;
16
17
  export declare function calculateLineTopByDrawings(lineHeight: number | undefined, lineTop: number | undefined, page: IDocumentSkeletonPage, headerPage: Nullable<IDocumentSkeletonPage>, footerPage: Nullable<IDocumentSkeletonPage>): number;
17
18
  export declare function updateDivideInfo(divide: IDocumentSkeletonDivide, states: Partial<IDocumentSkeletonDivide>): void;
18
19
  export declare function setLineMarginBottom(line: IDocumentSkeletonLine, marginBottom: number): void;
19
20
  export declare function collisionDetection(drawing: IDocumentSkeletonDrawing, lineHeight: number, lineTop: number, columnLeft: number, columnWidth: number): boolean;
20
- export declare function getBoundingBox(angle: number, left: number, width: number, top: number, height: number): import('../../../..').IRect;
21
+ export declare function getBoundingBox(angle: number, left: number, width: number, top: number, height: number): import('../../../../basics').IRect;
21
22
  export declare function createAndUpdateBlockAnchor(paragraphIndex: number, line: IDocumentSkeletonLine, top: number, drawingAnchor?: Map<number, IDocumentSkeletonDrawingAnchor>): void;
22
23
  export {};
@@ -1,5 +1,9 @@
1
+ import { ITable } from '@univerjs/core';
1
2
  import { IDocumentSkeletonPage, ISkeletonResourceReference, BreakType } from '../../../../basics/i-document-skeleton-cached';
2
3
  import { ISectionBreakConfig } from '../../../../basics/interfaces';
4
+ import { DocumentViewModel } from '../../view-model/document-view-model';
3
5
  import { ILayoutContext } from '../tools';
6
+ import { DataStreamTreeNode } from '../../view-model/data-stream-tree-node';
4
7
 
5
8
  export declare function createSkeletonPage(ctx: ILayoutContext, sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference, pageNumber?: number, breakType?: BreakType): IDocumentSkeletonPage;
9
+ export declare function createSkeletonCellPage(ctx: ILayoutContext, viewModel: DocumentViewModel, cellNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, tableConfig: ITable, row: number, col: number): IDocumentSkeletonPage;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Inc.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
@@ -51,7 +51,7 @@ export declare function getCharSpaceConfig(sectionBreakConfig: ISectionBreakConf
51
51
  export declare function updateBlockIndex(pages: IDocumentSkeletonPage[], start?: number): void;
52
52
  export declare function updateInlineDrawingCoords(ctx: ILayoutContext, pages: IDocumentSkeletonPage[]): void;
53
53
  export declare function glyphIterator(pages: IDocumentSkeletonPage[], cb: (glyph: IDocumentSkeletonGlyph, divide: IDocumentSkeletonDivide, line: IDocumentSkeletonLine, column: IDocumentSkeletonColumn, section: IDocumentSkeletonSection, page: IDocumentSkeletonPage) => void): void;
54
- export declare function lineIterator(pages: IDocumentSkeletonPage[], cb: (line: IDocumentSkeletonLine, column: IDocumentSkeletonColumn, section: IDocumentSkeletonSection, page: IDocumentSkeletonPage) => void): void;
54
+ export declare function lineIterator(pagesOrCells: (IDocumentSkeletonPage)[], cb: (line: IDocumentSkeletonLine, column: IDocumentSkeletonColumn, section: IDocumentSkeletonSection, page: IDocumentSkeletonPage) => void): void;
55
55
  export declare function columnIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (column: IDocumentSkeletonColumn) => void): void;
56
56
  export declare function getPositionHorizon(positionH: IObjectPositionH, column: IDocumentSkeletonColumn, page: IDocumentSkeletonPage, objectWidth: number, isPageBreak?: boolean): number | undefined;
57
57
  export declare function getPositionVertical(positionV: IObjectPositionV, page: IDocumentSkeletonPage, lineTop: number, lineHeight: number, objectHeight: number, blockAnchorTop?: number, isPageBreak?: boolean): number | undefined;
@@ -101,4 +101,5 @@ export declare const DEFAULT_PAGE_SIZE: {
101
101
  };
102
102
  export declare function prepareSectionBreakConfig(ctx: ILayoutContext, nodeIndex: number): ISectionBreakConfig;
103
103
  export declare function resetContext(ctx: ILayoutContext): void;
104
+ export declare function mergeByV<T = unknown>(object: unknown, originObject: unknown, type: 'max' | 'min'): T;
104
105
  export {};
@@ -0,0 +1,30 @@
1
+ import { Nullable } from '@univerjs/core';
2
+ import { INodePosition, IPoint } from '../../../basics';
3
+ import { IDocumentOffsetConfig } from '../document';
4
+ import { DocumentSkeleton } from '../layout/doc-skeleton';
5
+
6
+ export declare function isValidRectRange(anchorNodePosition: INodePosition, focusNodePosition: INodePosition): boolean;
7
+ export declare function isInSameTableCell(anchorNodePosition: INodePosition, focusNodePosition: INodePosition): boolean;
8
+ export declare function compareNodePositionInTable(a: INodePosition, b: INodePosition): boolean;
9
+ interface IRectRangeNodePositions {
10
+ anchor: INodePosition;
11
+ focus: INodePosition;
12
+ }
13
+ export declare class NodePositionConvertToRectRange {
14
+ private _documentOffsetConfig;
15
+ private _docSkeleton;
16
+ private _liquid;
17
+ constructor(_documentOffsetConfig: IDocumentOffsetConfig, _docSkeleton: DocumentSkeleton);
18
+ getRangePointData(startNodePosition: INodePosition, endNodePosition: INodePosition): {
19
+ pointGroup: IPoint[][];
20
+ startRow: number;
21
+ startColumn: number;
22
+ endRow: number;
23
+ endColumn: number;
24
+ tableId: string;
25
+ } | undefined;
26
+ getNodePositionGroup(anchorNodePosition: INodePosition, focusNodePosition: INodePosition): Nullable<IRectRangeNodePositions[]>;
27
+ private _collectPositionGroup;
28
+ private _getTableRectRangeInfo;
29
+ }
30
+ export {};
@@ -1,4 +1,5 @@
1
- import { ITextRange, Nullable } from '@univerjs/core';
1
+ import { IPosition, ITextRange, Nullable } from '@univerjs/core';
2
+ import { IDocumentSkeletonCached, IDocumentSkeletonPage } from '../../../basics/i-document-skeleton-cached';
2
3
  import { INodePosition } from '../../../basics/interfaces';
3
4
  import { IPoint } from '../../../basics/vector2';
4
5
  import { DocumentSkeleton } from '../layout/doc-skeleton';
@@ -39,6 +40,11 @@ export declare function compareNodePosition(pos1: INodePosition, pos2: INodePosi
39
40
  end: INodePosition;
40
41
  };
41
42
  export declare function getOneTextSelectionRange(rangeList: ITextRange[]): Nullable<ITextRange>;
43
+ export declare function pushToPoints(position: IPosition): {
44
+ x: number;
45
+ y: number;
46
+ }[];
47
+ export declare function getPageFromPath(skeletonData: IDocumentSkeletonCached, path: (string | number)[]): Nullable<IDocumentSkeletonPage>;
42
48
  export declare class NodePositionConvertToCursor {
43
49
  private _documentOffsetConfig;
44
50
  private _docSkeleton;
@@ -56,6 +62,5 @@ export declare class NodePositionConvertToCursor {
56
62
  private _setNodePositionState;
57
63
  private _checkPreviousNodePositionState;
58
64
  private _getSelectionRuler;
59
- private _pushToPoints;
60
65
  private _selectionIterator;
61
66
  }
@@ -0,0 +1,22 @@
1
+ import { Nullable } from '@univerjs/core';
2
+ import { INodePosition, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics';
3
+
4
+ export declare enum DOC_RANGE_TYPE {
5
+ RECT = "RECT",
6
+ TEXT = "TEXT"
7
+ }
8
+ export interface IDocRange {
9
+ rangeType: DOC_RANGE_TYPE;
10
+ anchorNodePosition?: Nullable<INodePosition>;
11
+ focusNodePosition?: Nullable<INodePosition>;
12
+ style: ITextSelectionStyle;
13
+ get startOffset(): Nullable<number>;
14
+ get endOffset(): Nullable<number>;
15
+ get collapsed(): boolean;
16
+ get startNodePosition(): Nullable<INodePosition>;
17
+ get endNodePosition(): Nullable<INodePosition>;
18
+ get direction(): RANGE_DIRECTION;
19
+ isActive(): boolean;
20
+ dispose(): void;
21
+ refresh(): void;
22
+ }
@@ -0,0 +1,49 @@
1
+ import { Nullable } from '@univerjs/core';
2
+ import { INodePosition, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics';
3
+ import { ThinScene } from '../../../thin-scene';
4
+ import { Documents } from '../document';
5
+ import { DocumentSkeleton } from '../layout/doc-skeleton';
6
+ import { IDocRange, DOC_RANGE_TYPE } from './range-interface';
7
+
8
+ export declare function convertPositionsToRectRanges(scene: ThinScene, document: Documents, docSkeleton: DocumentSkeleton, anchorNodePosition: INodePosition, focusNodePosition: INodePosition, style?: ITextSelectionStyle, segmentId?: string): RectRange[];
9
+ export declare class RectRange implements IDocRange {
10
+ private _scene;
11
+ private _document;
12
+ private _docSkeleton;
13
+ anchorNodePosition: INodePosition;
14
+ focusNodePosition: INodePosition;
15
+ style: ITextSelectionStyle;
16
+ private _segmentId;
17
+ rangeType: DOC_RANGE_TYPE;
18
+ private _rangeShape;
19
+ private _current;
20
+ private _startRow;
21
+ private _startCol;
22
+ private _endRow;
23
+ private _endCol;
24
+ private _tableId;
25
+ constructor(_scene: ThinScene, _document: Documents, _docSkeleton: DocumentSkeleton, anchorNodePosition: INodePosition, focusNodePosition: INodePosition, style?: ITextSelectionStyle, _segmentId?: string);
26
+ get startOffset(): Nullable<number>;
27
+ get endOffset(): Nullable<number>;
28
+ get collapsed(): boolean;
29
+ get startRow(): number;
30
+ get startColumn(): number;
31
+ get endRow(): number;
32
+ get endColumn(): number;
33
+ get tableId(): string;
34
+ get segmentId(): string;
35
+ get spanEntireRow(): boolean;
36
+ get spanEntireColumn(): boolean;
37
+ get spanEntireTable(): boolean;
38
+ get startNodePosition(): INodePosition;
39
+ get endNodePosition(): INodePosition;
40
+ get direction(): RANGE_DIRECTION;
41
+ isActive(): boolean;
42
+ activate(): void;
43
+ deactivate(): void;
44
+ dispose(): void;
45
+ isIntersection(compareRange: RectRange): boolean;
46
+ refresh(): void;
47
+ private _updateTableInfo;
48
+ private _createOrUpdateRange;
49
+ }
@@ -0,0 +1,28 @@
1
+ import { Nullable } from '@univerjs/core';
2
+ import { IDocumentSkeletonGlyph, INodePosition, ITextSelectionStyle } from '../../../basics';
3
+ import { DocumentSkeleton } from '../layout/doc-skeleton';
4
+ import { Engine } from '../../../engine';
5
+ import { Documents } from '../document';
6
+ import { Scene } from '../../../scene';
7
+ import { RectRange } from './rect-range';
8
+ import { TextRange } from './text-range';
9
+
10
+ interface IDocRangeList {
11
+ textRanges: TextRange[];
12
+ rectRanges: RectRange[];
13
+ }
14
+ export declare function getTextRangeFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<TextRange>;
15
+ export declare function getRectRangeFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<RectRange>;
16
+ export declare function getRangeListFromCharIndex(startOffset: number, endOffset: number, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<IDocRangeList>;
17
+ export declare function getRangeListFromSelection(anchorPosition: INodePosition, focusPosition: INodePosition, scene: Scene, document: Documents, skeleton: DocumentSkeleton, style: ITextSelectionStyle, segmentId: string, segmentPage: number): Nullable<IDocRangeList>;
18
+ export declare function getCanvasOffsetByEngine(engine: Nullable<Engine>): {
19
+ left: number;
20
+ top: number;
21
+ };
22
+ export declare function getParagraphInfoByGlyph(node: IDocumentSkeletonGlyph): {
23
+ st: number;
24
+ ed: number;
25
+ content: string;
26
+ nodeIndex: number;
27
+ } | undefined;
28
+ export {};
@@ -1,15 +1,16 @@
1
1
  import { Nullable } from '@univerjs/core';
2
2
  import { INodePosition } from '../../../basics/interfaces';
3
- import { ISuccinctTextRangeParam, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics/range';
3
+ import { ISuccinctDocRangeParam, ITextSelectionStyle, RANGE_DIRECTION } from '../../../basics/range';
4
4
  import { IPoint } from '../../../basics/vector2';
5
5
  import { Scene } from '../../../scene';
6
6
  import { Rect } from '../../../shape/rect';
7
7
  import { ThinScene } from '../../../thin-scene';
8
8
  import { DocumentSkeleton } from '../layout/doc-skeleton';
9
9
  import { Documents } from '../document';
10
+ import { IDocRange, DOC_RANGE_TYPE } from './range-interface';
10
11
 
11
12
  export declare const TEXT_RANGE_LAYER_INDEX = 3;
12
- export declare function cursorConvertToTextRange(scene: Scene, range: ISuccinctTextRangeParam, docSkeleton: DocumentSkeleton, document: Documents): Nullable<TextRange>;
13
+ export declare function cursorConvertToTextRange(scene: Scene, range: ISuccinctDocRangeParam, docSkeleton: DocumentSkeleton, document: Documents): Nullable<TextRange>;
13
14
  export declare function getAnchorBounding(pointsGroup: IPoint[][]): {
14
15
  left: number;
15
16
  top: number;
@@ -22,19 +23,21 @@ export declare function getLineBounding(pointsGroup: IPoint[][]): {
22
23
  top: number;
23
24
  bottom: number;
24
25
  }[];
25
- export declare class TextRange {
26
+ export declare class TextRange implements IDocRange {
26
27
  private _scene;
27
28
  private _document;
28
29
  private _docSkeleton;
29
30
  anchorNodePosition?: Nullable<INodePosition>;
30
31
  focusNodePosition?: Nullable<INodePosition>;
31
32
  style: ITextSelectionStyle;
33
+ private _segmentId;
34
+ rangeType: DOC_RANGE_TYPE;
32
35
  private _current;
33
36
  private _rangeShape;
34
37
  private _anchorShape;
35
38
  private _cursorList;
36
39
  private _anchorBlinkTimer;
37
- constructor(_scene: ThinScene, _document: Documents, _docSkeleton: DocumentSkeleton, anchorNodePosition?: Nullable<INodePosition>, focusNodePosition?: Nullable<INodePosition>, style?: ITextSelectionStyle);
40
+ constructor(_scene: ThinScene, _document: Documents, _docSkeleton: DocumentSkeleton, anchorNodePosition?: Nullable<INodePosition>, focusNodePosition?: Nullable<INodePosition>, style?: ITextSelectionStyle, _segmentId?: string);
38
41
  private _anchorBlink;
39
42
  get startOffset(): number | undefined;
40
43
  get endOffset(): number | undefined;
@@ -42,6 +45,7 @@ export declare class TextRange {
42
45
  get startNodePosition(): INodePosition | null;
43
46
  get endNodePosition(): Nullable<INodePosition>;
44
47
  get direction(): RANGE_DIRECTION;
48
+ get segmentId(): string;
45
49
  getAbsolutePosition(): {
46
50
  left: number;
47
51
  top: number;