deepsky 2.56.28 → 2.56.32

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 (293) hide show
  1. package/dist/8bd7c36701d210a209f0.woff2 +0 -0
  2. package/dist/fonts/{iconfont-9aeda5839285f1546a0d.ttf → iconfont-9364db8d3e281c31886e.ttf} +0 -0
  3. package/dist/fonts/iconfont-d1f268d8e67548984704.woff +0 -0
  4. package/dist/index.css +479 -133
  5. package/dist/index.d.ts +1239 -927
  6. package/dist/index.js +2 -2
  7. package/dist/index.js.LICENSE.txt +21 -0
  8. package/package.json +78 -77
  9. package/dist/07684d528b541a278d6d.woff2 +0 -0
  10. package/dist/fonts/iconfont-17ed98195f26cf91ec16.woff +0 -0
  11. /package/dist/chunk/{1037-5d10be1ddc79912c3aa2.js → 1037-f5783ef948aad6d82138.js} +0 -0
  12. /package/dist/chunk/{1066-5d10be1ddc79912c3aa2.js → 1066-f5783ef948aad6d82138.js} +0 -0
  13. /package/dist/chunk/{1216-5d10be1ddc79912c3aa2.js → 1216-f5783ef948aad6d82138.js} +0 -0
  14. /package/dist/chunk/{1230-5d10be1ddc79912c3aa2.js → 1230-f5783ef948aad6d82138.js} +0 -0
  15. /package/dist/chunk/{1425-5d10be1ddc79912c3aa2.js → 1425-f5783ef948aad6d82138.js} +0 -0
  16. /package/dist/chunk/{1432-5d10be1ddc79912c3aa2.js → 1432-f5783ef948aad6d82138.js} +0 -0
  17. /package/dist/chunk/{1476-5d10be1ddc79912c3aa2.js → 1476-f5783ef948aad6d82138.js} +0 -0
  18. /package/dist/chunk/{1545-5d10be1ddc79912c3aa2.js → 1545-f5783ef948aad6d82138.js} +0 -0
  19. /package/dist/chunk/{16-5d10be1ddc79912c3aa2.js → 16-f5783ef948aad6d82138.js} +0 -0
  20. /package/dist/chunk/{1624-5d10be1ddc79912c3aa2.js → 1624-f5783ef948aad6d82138.js} +0 -0
  21. /package/dist/chunk/{1631-5d10be1ddc79912c3aa2.js → 1631-f5783ef948aad6d82138.js} +0 -0
  22. /package/dist/chunk/{1655-5d10be1ddc79912c3aa2.js → 1655-f5783ef948aad6d82138.js} +0 -0
  23. /package/dist/chunk/{1708-5d10be1ddc79912c3aa2.js → 1708-f5783ef948aad6d82138.js} +0 -0
  24. /package/dist/chunk/{172-5d10be1ddc79912c3aa2.js → 172-f5783ef948aad6d82138.js} +0 -0
  25. /package/dist/chunk/{1729-5d10be1ddc79912c3aa2.js → 1729-f5783ef948aad6d82138.js} +0 -0
  26. /package/dist/chunk/{1757-5d10be1ddc79912c3aa2.js → 1757-f5783ef948aad6d82138.js} +0 -0
  27. /package/dist/chunk/{1803-5d10be1ddc79912c3aa2.js → 1803-f5783ef948aad6d82138.js} +0 -0
  28. /package/dist/chunk/{1839-5d10be1ddc79912c3aa2.js → 1839-f5783ef948aad6d82138.js} +0 -0
  29. /package/dist/chunk/{1857-5d10be1ddc79912c3aa2.js → 1857-f5783ef948aad6d82138.js} +0 -0
  30. /package/dist/chunk/{1931-5d10be1ddc79912c3aa2.js → 1931-f5783ef948aad6d82138.js} +0 -0
  31. /package/dist/chunk/{2062-5d10be1ddc79912c3aa2.js → 2062-f5783ef948aad6d82138.js} +0 -0
  32. /package/dist/chunk/{2068-5d10be1ddc79912c3aa2.js → 2068-f5783ef948aad6d82138.js} +0 -0
  33. /package/dist/chunk/{2071-5d10be1ddc79912c3aa2.js → 2071-f5783ef948aad6d82138.js} +0 -0
  34. /package/dist/chunk/{2108-5d10be1ddc79912c3aa2.js → 2108-f5783ef948aad6d82138.js} +0 -0
  35. /package/dist/chunk/{212-5d10be1ddc79912c3aa2.js → 212-f5783ef948aad6d82138.js} +0 -0
  36. /package/dist/chunk/{2142-5d10be1ddc79912c3aa2.js → 2142-f5783ef948aad6d82138.js} +0 -0
  37. /package/dist/chunk/{2173-5d10be1ddc79912c3aa2.js → 2173-f5783ef948aad6d82138.js} +0 -0
  38. /package/dist/chunk/{2184-5d10be1ddc79912c3aa2.js → 2184-f5783ef948aad6d82138.js} +0 -0
  39. /package/dist/chunk/{2215-5d10be1ddc79912c3aa2.js → 2215-f5783ef948aad6d82138.js} +0 -0
  40. /package/dist/chunk/{224-5d10be1ddc79912c3aa2.js → 224-f5783ef948aad6d82138.js} +0 -0
  41. /package/dist/chunk/{2266-5d10be1ddc79912c3aa2.js → 2266-f5783ef948aad6d82138.js} +0 -0
  42. /package/dist/chunk/{2354-5d10be1ddc79912c3aa2.js → 2354-f5783ef948aad6d82138.js} +0 -0
  43. /package/dist/chunk/{2419-5d10be1ddc79912c3aa2.js → 2419-f5783ef948aad6d82138.js} +0 -0
  44. /package/dist/chunk/{245-5d10be1ddc79912c3aa2.js → 245-f5783ef948aad6d82138.js} +0 -0
  45. /package/dist/chunk/{2473-5d10be1ddc79912c3aa2.js → 2473-f5783ef948aad6d82138.js} +0 -0
  46. /package/dist/chunk/{2492-5d10be1ddc79912c3aa2.js → 2492-f5783ef948aad6d82138.js} +0 -0
  47. /package/dist/chunk/{2505-5d10be1ddc79912c3aa2.js → 2505-f5783ef948aad6d82138.js} +0 -0
  48. /package/dist/chunk/{2535-5d10be1ddc79912c3aa2.js → 2535-f5783ef948aad6d82138.js} +0 -0
  49. /package/dist/chunk/{2660-5d10be1ddc79912c3aa2.js → 2660-f5783ef948aad6d82138.js} +0 -0
  50. /package/dist/chunk/{2691-5d10be1ddc79912c3aa2.js → 2691-f5783ef948aad6d82138.js} +0 -0
  51. /package/dist/chunk/{2723-5d10be1ddc79912c3aa2.js → 2723-f5783ef948aad6d82138.js} +0 -0
  52. /package/dist/chunk/{284-5d10be1ddc79912c3aa2.js → 284-f5783ef948aad6d82138.js} +0 -0
  53. /package/dist/chunk/{2860-5d10be1ddc79912c3aa2.js → 2860-f5783ef948aad6d82138.js} +0 -0
  54. /package/dist/chunk/{2861-5d10be1ddc79912c3aa2.js → 2861-f5783ef948aad6d82138.js} +0 -0
  55. /package/dist/chunk/{2934-5d10be1ddc79912c3aa2.js → 2934-f5783ef948aad6d82138.js} +0 -0
  56. /package/dist/chunk/{3032-5d10be1ddc79912c3aa2.js → 3032-f5783ef948aad6d82138.js} +0 -0
  57. /package/dist/chunk/{3043-5d10be1ddc79912c3aa2.js → 3043-f5783ef948aad6d82138.js} +0 -0
  58. /package/dist/chunk/{3052-5d10be1ddc79912c3aa2.js → 3052-f5783ef948aad6d82138.js} +0 -0
  59. /package/dist/chunk/{3124-5d10be1ddc79912c3aa2.js → 3124-f5783ef948aad6d82138.js} +0 -0
  60. /package/dist/chunk/{3170-5d10be1ddc79912c3aa2.js → 3170-f5783ef948aad6d82138.js} +0 -0
  61. /package/dist/chunk/{321-5d10be1ddc79912c3aa2.js → 321-f5783ef948aad6d82138.js} +0 -0
  62. /package/dist/chunk/{3227-5d10be1ddc79912c3aa2.js → 3227-f5783ef948aad6d82138.js} +0 -0
  63. /package/dist/chunk/{3247-5d10be1ddc79912c3aa2.js → 3247-f5783ef948aad6d82138.js} +0 -0
  64. /package/dist/chunk/{327-5d10be1ddc79912c3aa2.js → 327-f5783ef948aad6d82138.js} +0 -0
  65. /package/dist/chunk/{3279-5d10be1ddc79912c3aa2.js → 3279-f5783ef948aad6d82138.js} +0 -0
  66. /package/dist/chunk/{3330-5d10be1ddc79912c3aa2.js → 3330-f5783ef948aad6d82138.js} +0 -0
  67. /package/dist/chunk/{3403-5d10be1ddc79912c3aa2.js → 3403-f5783ef948aad6d82138.js} +0 -0
  68. /package/dist/chunk/{3454-5d10be1ddc79912c3aa2.js → 3454-f5783ef948aad6d82138.js} +0 -0
  69. /package/dist/chunk/{3492-5d10be1ddc79912c3aa2.js → 3492-f5783ef948aad6d82138.js} +0 -0
  70. /package/dist/chunk/{3516-5d10be1ddc79912c3aa2.js → 3516-f5783ef948aad6d82138.js} +0 -0
  71. /package/dist/chunk/{3593-5d10be1ddc79912c3aa2.js → 3593-f5783ef948aad6d82138.js} +0 -0
  72. /package/dist/chunk/{3646-5d10be1ddc79912c3aa2.js → 3646-f5783ef948aad6d82138.js} +0 -0
  73. /package/dist/chunk/{3702-5d10be1ddc79912c3aa2.js → 3702-f5783ef948aad6d82138.js} +0 -0
  74. /package/dist/chunk/{3720-5d10be1ddc79912c3aa2.js → 3720-f5783ef948aad6d82138.js} +0 -0
  75. /package/dist/chunk/{3837-5d10be1ddc79912c3aa2.js → 3837-f5783ef948aad6d82138.js} +0 -0
  76. /package/dist/chunk/{3874-5d10be1ddc79912c3aa2.js → 3874-f5783ef948aad6d82138.js} +0 -0
  77. /package/dist/chunk/{3894-5d10be1ddc79912c3aa2.js → 3894-f5783ef948aad6d82138.js} +0 -0
  78. /package/dist/chunk/{3906-5d10be1ddc79912c3aa2.js → 3906-f5783ef948aad6d82138.js} +0 -0
  79. /package/dist/chunk/{3941-5d10be1ddc79912c3aa2.js → 3941-f5783ef948aad6d82138.js} +0 -0
  80. /package/dist/chunk/{3947-5d10be1ddc79912c3aa2.js → 3947-f5783ef948aad6d82138.js} +0 -0
  81. /package/dist/chunk/{3949-5d10be1ddc79912c3aa2.js → 3949-f5783ef948aad6d82138.js} +0 -0
  82. /package/dist/chunk/{396-5d10be1ddc79912c3aa2.js → 396-f5783ef948aad6d82138.js} +0 -0
  83. /package/dist/chunk/{3972-5d10be1ddc79912c3aa2.js → 3972-f5783ef948aad6d82138.js} +0 -0
  84. /package/dist/chunk/{4007-5d10be1ddc79912c3aa2.js → 4007-f5783ef948aad6d82138.js} +0 -0
  85. /package/dist/chunk/{4009-5d10be1ddc79912c3aa2.js → 4009-f5783ef948aad6d82138.js} +0 -0
  86. /package/dist/chunk/{402-5d10be1ddc79912c3aa2.js → 402-f5783ef948aad6d82138.js} +0 -0
  87. /package/dist/chunk/{4081-5d10be1ddc79912c3aa2.js → 4081-f5783ef948aad6d82138.js} +0 -0
  88. /package/dist/chunk/{41-5d10be1ddc79912c3aa2.js → 41-f5783ef948aad6d82138.js} +0 -0
  89. /package/dist/chunk/{4108-5d10be1ddc79912c3aa2.js → 4108-f5783ef948aad6d82138.js} +0 -0
  90. /package/dist/chunk/{4112-5d10be1ddc79912c3aa2.js → 4112-f5783ef948aad6d82138.js} +0 -0
  91. /package/dist/chunk/{415-5d10be1ddc79912c3aa2.js → 415-f5783ef948aad6d82138.js} +0 -0
  92. /package/dist/chunk/{4199-5d10be1ddc79912c3aa2.js → 4199-f5783ef948aad6d82138.js} +0 -0
  93. /package/dist/chunk/{4214-5d10be1ddc79912c3aa2.js → 4214-f5783ef948aad6d82138.js} +0 -0
  94. /package/dist/chunk/{4236-5d10be1ddc79912c3aa2.js → 4236-f5783ef948aad6d82138.js} +0 -0
  95. /package/dist/chunk/{4283-5d10be1ddc79912c3aa2.js → 4283-f5783ef948aad6d82138.js} +0 -0
  96. /package/dist/chunk/{4292-5d10be1ddc79912c3aa2.js → 4292-f5783ef948aad6d82138.js} +0 -0
  97. /package/dist/chunk/{4311-5d10be1ddc79912c3aa2.js → 4311-f5783ef948aad6d82138.js} +0 -0
  98. /package/dist/chunk/{4354-5d10be1ddc79912c3aa2.js → 4354-f5783ef948aad6d82138.js} +0 -0
  99. /package/dist/chunk/{4385-5d10be1ddc79912c3aa2.js → 4385-f5783ef948aad6d82138.js} +0 -0
  100. /package/dist/chunk/{4408-5d10be1ddc79912c3aa2.js → 4408-f5783ef948aad6d82138.js} +0 -0
  101. /package/dist/chunk/{4445-5d10be1ddc79912c3aa2.js → 4445-f5783ef948aad6d82138.js} +0 -0
  102. /package/dist/chunk/{4451-5d10be1ddc79912c3aa2.js → 4451-f5783ef948aad6d82138.js} +0 -0
  103. /package/dist/chunk/{4452-5d10be1ddc79912c3aa2.js → 4452-f5783ef948aad6d82138.js} +0 -0
  104. /package/dist/chunk/{4465-5d10be1ddc79912c3aa2.js → 4465-f5783ef948aad6d82138.js} +0 -0
  105. /package/dist/chunk/{4520-5d10be1ddc79912c3aa2.js → 4520-f5783ef948aad6d82138.js} +0 -0
  106. /package/dist/chunk/{454-5d10be1ddc79912c3aa2.js → 454-f5783ef948aad6d82138.js} +0 -0
  107. /package/dist/chunk/{4546-5d10be1ddc79912c3aa2.js → 4546-f5783ef948aad6d82138.js} +0 -0
  108. /package/dist/chunk/{4552-5d10be1ddc79912c3aa2.js → 4552-f5783ef948aad6d82138.js} +0 -0
  109. /package/dist/chunk/{4598-5d10be1ddc79912c3aa2.js → 4598-f5783ef948aad6d82138.js} +0 -0
  110. /package/dist/chunk/{4614-5d10be1ddc79912c3aa2.js → 4614-f5783ef948aad6d82138.js} +0 -0
  111. /package/dist/chunk/{4660-5d10be1ddc79912c3aa2.js → 4660-f5783ef948aad6d82138.js} +0 -0
  112. /package/dist/chunk/{4697-5d10be1ddc79912c3aa2.js → 4697-f5783ef948aad6d82138.js} +0 -0
  113. /package/dist/chunk/{4709-5d10be1ddc79912c3aa2.js → 4709-f5783ef948aad6d82138.js} +0 -0
  114. /package/dist/chunk/{4714-5d10be1ddc79912c3aa2.js → 4714-f5783ef948aad6d82138.js} +0 -0
  115. /package/dist/chunk/{4780-5d10be1ddc79912c3aa2.js → 4780-f5783ef948aad6d82138.js} +0 -0
  116. /package/dist/chunk/{4838-5d10be1ddc79912c3aa2.js → 4838-f5783ef948aad6d82138.js} +0 -0
  117. /package/dist/chunk/{4843-5d10be1ddc79912c3aa2.js → 4843-f5783ef948aad6d82138.js} +0 -0
  118. /package/dist/chunk/{4862-5d10be1ddc79912c3aa2.js → 4862-f5783ef948aad6d82138.js} +0 -0
  119. /package/dist/chunk/{4877-5d10be1ddc79912c3aa2.js → 4877-f5783ef948aad6d82138.js} +0 -0
  120. /package/dist/chunk/{4886-5d10be1ddc79912c3aa2.js → 4886-f5783ef948aad6d82138.js} +0 -0
  121. /package/dist/chunk/{489-5d10be1ddc79912c3aa2.js → 489-f5783ef948aad6d82138.js} +0 -0
  122. /package/dist/chunk/{4914-5d10be1ddc79912c3aa2.js → 4914-f5783ef948aad6d82138.js} +0 -0
  123. /package/dist/chunk/{4940-5d10be1ddc79912c3aa2.js → 4940-f5783ef948aad6d82138.js} +0 -0
  124. /package/dist/chunk/{4962-5d10be1ddc79912c3aa2.js → 4962-f5783ef948aad6d82138.js} +0 -0
  125. /package/dist/chunk/{5026-5d10be1ddc79912c3aa2.js → 5026-f5783ef948aad6d82138.js} +0 -0
  126. /package/dist/chunk/{5034-5d10be1ddc79912c3aa2.js → 5034-f5783ef948aad6d82138.js} +0 -0
  127. /package/dist/chunk/{5050-5d10be1ddc79912c3aa2.js → 5050-f5783ef948aad6d82138.js} +0 -0
  128. /package/dist/chunk/{5099-5d10be1ddc79912c3aa2.js → 5099-f5783ef948aad6d82138.js} +0 -0
  129. /package/dist/chunk/{5119-5d10be1ddc79912c3aa2.js → 5119-f5783ef948aad6d82138.js} +0 -0
  130. /package/dist/chunk/{5141-5d10be1ddc79912c3aa2.js → 5141-f5783ef948aad6d82138.js} +0 -0
  131. /package/dist/chunk/{5143-5d10be1ddc79912c3aa2.js → 5143-f5783ef948aad6d82138.js} +0 -0
  132. /package/dist/chunk/{5177-5d10be1ddc79912c3aa2.js → 5177-f5783ef948aad6d82138.js} +0 -0
  133. /package/dist/chunk/{5203-5d10be1ddc79912c3aa2.js → 5203-f5783ef948aad6d82138.js} +0 -0
  134. /package/dist/chunk/{5283-5d10be1ddc79912c3aa2.js → 5283-f5783ef948aad6d82138.js} +0 -0
  135. /package/dist/chunk/{5314-5d10be1ddc79912c3aa2.js → 5314-f5783ef948aad6d82138.js} +0 -0
  136. /package/dist/chunk/{535-5d10be1ddc79912c3aa2.js → 535-f5783ef948aad6d82138.js} +0 -0
  137. /package/dist/chunk/{5363-5d10be1ddc79912c3aa2.js → 5363-f5783ef948aad6d82138.js} +0 -0
  138. /package/dist/chunk/{542-5d10be1ddc79912c3aa2.js → 542-f5783ef948aad6d82138.js} +0 -0
  139. /package/dist/chunk/{5424-5d10be1ddc79912c3aa2.js → 5424-f5783ef948aad6d82138.js} +0 -0
  140. /package/dist/chunk/{5443-5d10be1ddc79912c3aa2.js → 5443-f5783ef948aad6d82138.js} +0 -0
  141. /package/dist/chunk/{5521-5d10be1ddc79912c3aa2.js → 5521-f5783ef948aad6d82138.js} +0 -0
  142. /package/dist/chunk/{5536-5d10be1ddc79912c3aa2.js → 5536-f5783ef948aad6d82138.js} +0 -0
  143. /package/dist/chunk/{5542-5d10be1ddc79912c3aa2.js → 5542-f5783ef948aad6d82138.js} +0 -0
  144. /package/dist/chunk/{5585-5d10be1ddc79912c3aa2.js → 5585-f5783ef948aad6d82138.js} +0 -0
  145. /package/dist/chunk/{5589-5d10be1ddc79912c3aa2.js → 5589-f5783ef948aad6d82138.js} +0 -0
  146. /package/dist/chunk/{5601-5d10be1ddc79912c3aa2.js → 5601-f5783ef948aad6d82138.js} +0 -0
  147. /package/dist/chunk/{5611-5d10be1ddc79912c3aa2.js → 5611-f5783ef948aad6d82138.js} +0 -0
  148. /package/dist/chunk/{5628-5d10be1ddc79912c3aa2.js → 5628-f5783ef948aad6d82138.js} +0 -0
  149. /package/dist/chunk/{5638-5d10be1ddc79912c3aa2.js → 5638-f5783ef948aad6d82138.js} +0 -0
  150. /package/dist/chunk/{5647-5d10be1ddc79912c3aa2.js → 5647-f5783ef948aad6d82138.js} +0 -0
  151. /package/dist/chunk/{5709-5d10be1ddc79912c3aa2.js → 5709-f5783ef948aad6d82138.js} +0 -0
  152. /package/dist/chunk/{5728-5d10be1ddc79912c3aa2.js → 5728-f5783ef948aad6d82138.js} +0 -0
  153. /package/dist/chunk/{5731-5d10be1ddc79912c3aa2.js → 5731-f5783ef948aad6d82138.js} +0 -0
  154. /package/dist/chunk/{5744-5d10be1ddc79912c3aa2.js → 5744-f5783ef948aad6d82138.js} +0 -0
  155. /package/dist/chunk/{5814-5d10be1ddc79912c3aa2.js → 5814-f5783ef948aad6d82138.js} +0 -0
  156. /package/dist/chunk/{5827-5d10be1ddc79912c3aa2.js → 5827-f5783ef948aad6d82138.js} +0 -0
  157. /package/dist/chunk/{5884-5d10be1ddc79912c3aa2.js → 5884-f5783ef948aad6d82138.js} +0 -0
  158. /package/dist/chunk/{5891-5d10be1ddc79912c3aa2.js → 5891-f5783ef948aad6d82138.js} +0 -0
  159. /package/dist/chunk/{5936-5d10be1ddc79912c3aa2.js → 5936-f5783ef948aad6d82138.js} +0 -0
  160. /package/dist/chunk/{5954-5d10be1ddc79912c3aa2.js → 5954-f5783ef948aad6d82138.js} +0 -0
  161. /package/dist/chunk/{6010-5d10be1ddc79912c3aa2.js → 6010-f5783ef948aad6d82138.js} +0 -0
  162. /package/dist/chunk/{6045-5d10be1ddc79912c3aa2.js → 6045-f5783ef948aad6d82138.js} +0 -0
  163. /package/dist/chunk/{6083-5d10be1ddc79912c3aa2.js → 6083-f5783ef948aad6d82138.js} +0 -0
  164. /package/dist/chunk/{6124-5d10be1ddc79912c3aa2.js → 6124-f5783ef948aad6d82138.js} +0 -0
  165. /package/dist/chunk/{6173-5d10be1ddc79912c3aa2.js → 6173-f5783ef948aad6d82138.js} +0 -0
  166. /package/dist/chunk/{6239-5d10be1ddc79912c3aa2.js → 6239-f5783ef948aad6d82138.js} +0 -0
  167. /package/dist/chunk/{6262-5d10be1ddc79912c3aa2.js → 6262-f5783ef948aad6d82138.js} +0 -0
  168. /package/dist/chunk/{6283-5d10be1ddc79912c3aa2.js → 6283-f5783ef948aad6d82138.js} +0 -0
  169. /package/dist/chunk/{6297-5d10be1ddc79912c3aa2.js → 6297-f5783ef948aad6d82138.js} +0 -0
  170. /package/dist/chunk/{6324-5d10be1ddc79912c3aa2.js → 6324-f5783ef948aad6d82138.js} +0 -0
  171. /package/dist/chunk/{6343-5d10be1ddc79912c3aa2.js → 6343-f5783ef948aad6d82138.js} +0 -0
  172. /package/dist/chunk/{6356-5d10be1ddc79912c3aa2.js → 6356-f5783ef948aad6d82138.js} +0 -0
  173. /package/dist/chunk/{638-5d10be1ddc79912c3aa2.js → 638-f5783ef948aad6d82138.js} +0 -0
  174. /package/dist/chunk/{6405-5d10be1ddc79912c3aa2.js → 6405-f5783ef948aad6d82138.js} +0 -0
  175. /package/dist/chunk/{6514-5d10be1ddc79912c3aa2.js → 6514-f5783ef948aad6d82138.js} +0 -0
  176. /package/dist/chunk/{6517-5d10be1ddc79912c3aa2.js → 6517-f5783ef948aad6d82138.js} +0 -0
  177. /package/dist/chunk/{6563-5d10be1ddc79912c3aa2.js → 6563-f5783ef948aad6d82138.js} +0 -0
  178. /package/dist/chunk/{6577-5d10be1ddc79912c3aa2.js → 6577-f5783ef948aad6d82138.js} +0 -0
  179. /package/dist/chunk/{6677-5d10be1ddc79912c3aa2.js → 6677-f5783ef948aad6d82138.js} +0 -0
  180. /package/dist/chunk/{6736-5d10be1ddc79912c3aa2.js → 6736-f5783ef948aad6d82138.js} +0 -0
  181. /package/dist/chunk/{6757-5d10be1ddc79912c3aa2.js → 6757-f5783ef948aad6d82138.js} +0 -0
  182. /package/dist/chunk/{6865-5d10be1ddc79912c3aa2.js → 6865-f5783ef948aad6d82138.js} +0 -0
  183. /package/dist/chunk/{6940-5d10be1ddc79912c3aa2.js → 6940-f5783ef948aad6d82138.js} +0 -0
  184. /package/dist/chunk/{6957-5d10be1ddc79912c3aa2.js → 6957-f5783ef948aad6d82138.js} +0 -0
  185. /package/dist/chunk/{6964-5d10be1ddc79912c3aa2.js → 6964-f5783ef948aad6d82138.js} +0 -0
  186. /package/dist/chunk/{6967-5d10be1ddc79912c3aa2.js → 6967-f5783ef948aad6d82138.js} +0 -0
  187. /package/dist/chunk/{697-5d10be1ddc79912c3aa2.js → 697-f5783ef948aad6d82138.js} +0 -0
  188. /package/dist/chunk/{6980-5d10be1ddc79912c3aa2.js → 6980-f5783ef948aad6d82138.js} +0 -0
  189. /package/dist/chunk/{7095-5d10be1ddc79912c3aa2.js → 7095-f5783ef948aad6d82138.js} +0 -0
  190. /package/dist/chunk/{7141-5d10be1ddc79912c3aa2.js → 7141-f5783ef948aad6d82138.js} +0 -0
  191. /package/dist/chunk/{7145-5d10be1ddc79912c3aa2.js → 7145-f5783ef948aad6d82138.js} +0 -0
  192. /package/dist/chunk/{7148-5d10be1ddc79912c3aa2.js → 7148-f5783ef948aad6d82138.js} +0 -0
  193. /package/dist/chunk/{7217-5d10be1ddc79912c3aa2.js → 7217-f5783ef948aad6d82138.js} +0 -0
  194. /package/dist/chunk/{7258-5d10be1ddc79912c3aa2.js → 7258-f5783ef948aad6d82138.js} +0 -0
  195. /package/dist/chunk/{7328-5d10be1ddc79912c3aa2.js → 7328-f5783ef948aad6d82138.js} +0 -0
  196. /package/dist/chunk/{7374-5d10be1ddc79912c3aa2.js → 7374-f5783ef948aad6d82138.js} +0 -0
  197. /package/dist/chunk/{7434-5d10be1ddc79912c3aa2.js → 7434-f5783ef948aad6d82138.js} +0 -0
  198. /package/dist/chunk/{7470-5d10be1ddc79912c3aa2.js → 7470-f5783ef948aad6d82138.js} +0 -0
  199. /package/dist/chunk/{7504-5d10be1ddc79912c3aa2.js → 7504-f5783ef948aad6d82138.js} +0 -0
  200. /package/dist/chunk/{753-5d10be1ddc79912c3aa2.js → 753-f5783ef948aad6d82138.js} +0 -0
  201. /package/dist/chunk/{7549-5d10be1ddc79912c3aa2.js → 7549-f5783ef948aad6d82138.js} +0 -0
  202. /package/dist/chunk/{7561-5d10be1ddc79912c3aa2.js → 7561-f5783ef948aad6d82138.js} +0 -0
  203. /package/dist/chunk/{7567-5d10be1ddc79912c3aa2.js → 7567-f5783ef948aad6d82138.js} +0 -0
  204. /package/dist/chunk/{7611-5d10be1ddc79912c3aa2.js → 7611-f5783ef948aad6d82138.js} +0 -0
  205. /package/dist/chunk/{7615-5d10be1ddc79912c3aa2.js → 7615-f5783ef948aad6d82138.js} +0 -0
  206. /package/dist/chunk/{7625-5d10be1ddc79912c3aa2.js → 7625-f5783ef948aad6d82138.js} +0 -0
  207. /package/dist/chunk/{7642-5d10be1ddc79912c3aa2.js → 7642-f5783ef948aad6d82138.js} +0 -0
  208. /package/dist/chunk/{7670-5d10be1ddc79912c3aa2.js → 7670-f5783ef948aad6d82138.js} +0 -0
  209. /package/dist/chunk/{7681-5d10be1ddc79912c3aa2.js → 7681-f5783ef948aad6d82138.js} +0 -0
  210. /package/dist/chunk/{7688-5d10be1ddc79912c3aa2.js → 7688-f5783ef948aad6d82138.js} +0 -0
  211. /package/dist/chunk/{7765-5d10be1ddc79912c3aa2.js → 7765-f5783ef948aad6d82138.js} +0 -0
  212. /package/dist/chunk/{7768-5d10be1ddc79912c3aa2.js → 7768-f5783ef948aad6d82138.js} +0 -0
  213. /package/dist/chunk/{7788-5d10be1ddc79912c3aa2.js → 7788-f5783ef948aad6d82138.js} +0 -0
  214. /package/dist/chunk/{7789-5d10be1ddc79912c3aa2.js → 7789-f5783ef948aad6d82138.js} +0 -0
  215. /package/dist/chunk/{780-5d10be1ddc79912c3aa2.js → 780-f5783ef948aad6d82138.js} +0 -0
  216. /package/dist/chunk/{7817-5d10be1ddc79912c3aa2.js → 7817-f5783ef948aad6d82138.js} +0 -0
  217. /package/dist/chunk/{7824-5d10be1ddc79912c3aa2.js → 7824-f5783ef948aad6d82138.js} +0 -0
  218. /package/dist/chunk/{7831-5d10be1ddc79912c3aa2.js → 7831-f5783ef948aad6d82138.js} +0 -0
  219. /package/dist/chunk/{7900-5d10be1ddc79912c3aa2.js → 7900-f5783ef948aad6d82138.js} +0 -0
  220. /package/dist/chunk/{7922-5d10be1ddc79912c3aa2.js → 7922-f5783ef948aad6d82138.js} +0 -0
  221. /package/dist/chunk/{7927-5d10be1ddc79912c3aa2.js → 7927-f5783ef948aad6d82138.js} +0 -0
  222. /package/dist/chunk/{794-5d10be1ddc79912c3aa2.js → 794-f5783ef948aad6d82138.js} +0 -0
  223. /package/dist/chunk/{7966-5d10be1ddc79912c3aa2.js → 7966-f5783ef948aad6d82138.js} +0 -0
  224. /package/dist/chunk/{8003-5d10be1ddc79912c3aa2.js → 8003-f5783ef948aad6d82138.js} +0 -0
  225. /package/dist/chunk/{8093-5d10be1ddc79912c3aa2.js → 8093-f5783ef948aad6d82138.js} +0 -0
  226. /package/dist/chunk/{8107-5d10be1ddc79912c3aa2.js → 8107-f5783ef948aad6d82138.js} +0 -0
  227. /package/dist/chunk/{8201-5d10be1ddc79912c3aa2.js → 8201-f5783ef948aad6d82138.js} +0 -0
  228. /package/dist/chunk/{8212-5d10be1ddc79912c3aa2.js → 8212-f5783ef948aad6d82138.js} +0 -0
  229. /package/dist/chunk/{8234-5d10be1ddc79912c3aa2.js → 8234-f5783ef948aad6d82138.js} +0 -0
  230. /package/dist/chunk/{8235-5d10be1ddc79912c3aa2.js → 8235-f5783ef948aad6d82138.js} +0 -0
  231. /package/dist/chunk/{8237-5d10be1ddc79912c3aa2.js → 8237-f5783ef948aad6d82138.js} +0 -0
  232. /package/dist/chunk/{8249-5d10be1ddc79912c3aa2.js → 8249-f5783ef948aad6d82138.js} +0 -0
  233. /package/dist/chunk/{8320-5d10be1ddc79912c3aa2.js → 8320-f5783ef948aad6d82138.js} +0 -0
  234. /package/dist/chunk/{8389-5d10be1ddc79912c3aa2.js → 8389-f5783ef948aad6d82138.js} +0 -0
  235. /package/dist/chunk/{8393-5d10be1ddc79912c3aa2.js → 8393-f5783ef948aad6d82138.js} +0 -0
  236. /package/dist/chunk/{8418-5d10be1ddc79912c3aa2.js → 8418-f5783ef948aad6d82138.js} +0 -0
  237. /package/dist/chunk/{8426-5d10be1ddc79912c3aa2.js → 8426-f5783ef948aad6d82138.js} +0 -0
  238. /package/dist/chunk/{8436-5d10be1ddc79912c3aa2.js → 8436-f5783ef948aad6d82138.js} +0 -0
  239. /package/dist/chunk/{845-5d10be1ddc79912c3aa2.js → 845-f5783ef948aad6d82138.js} +0 -0
  240. /package/dist/chunk/{8485-5d10be1ddc79912c3aa2.js → 8485-f5783ef948aad6d82138.js} +0 -0
  241. /package/dist/chunk/{8499-5d10be1ddc79912c3aa2.js → 8499-f5783ef948aad6d82138.js} +0 -0
  242. /package/dist/chunk/{8553-5d10be1ddc79912c3aa2.js → 8553-f5783ef948aad6d82138.js} +0 -0
  243. /package/dist/chunk/{8617-5d10be1ddc79912c3aa2.js → 8617-f5783ef948aad6d82138.js} +0 -0
  244. /package/dist/chunk/{8684-5d10be1ddc79912c3aa2.js → 8684-f5783ef948aad6d82138.js} +0 -0
  245. /package/dist/chunk/{8700-5d10be1ddc79912c3aa2.js → 8700-f5783ef948aad6d82138.js} +0 -0
  246. /package/dist/chunk/{8709-5d10be1ddc79912c3aa2.js → 8709-f5783ef948aad6d82138.js} +0 -0
  247. /package/dist/chunk/{8711-5d10be1ddc79912c3aa2.js → 8711-f5783ef948aad6d82138.js} +0 -0
  248. /package/dist/chunk/{874-5d10be1ddc79912c3aa2.js → 874-f5783ef948aad6d82138.js} +0 -0
  249. /package/dist/chunk/{8753-5d10be1ddc79912c3aa2.js → 8753-f5783ef948aad6d82138.js} +0 -0
  250. /package/dist/chunk/{8849-5d10be1ddc79912c3aa2.js → 8849-f5783ef948aad6d82138.js} +0 -0
  251. /package/dist/chunk/{8931-5d10be1ddc79912c3aa2.js → 8931-f5783ef948aad6d82138.js} +0 -0
  252. /package/dist/chunk/{9017-5d10be1ddc79912c3aa2.js → 9017-f5783ef948aad6d82138.js} +0 -0
  253. /package/dist/chunk/{9045-5d10be1ddc79912c3aa2.js → 9045-f5783ef948aad6d82138.js} +0 -0
  254. /package/dist/chunk/{9057-5d10be1ddc79912c3aa2.js → 9057-f5783ef948aad6d82138.js} +0 -0
  255. /package/dist/chunk/{9077-5d10be1ddc79912c3aa2.js → 9077-f5783ef948aad6d82138.js} +0 -0
  256. /package/dist/chunk/{9079-5d10be1ddc79912c3aa2.js → 9079-f5783ef948aad6d82138.js} +0 -0
  257. /package/dist/chunk/{9096-5d10be1ddc79912c3aa2.js → 9096-f5783ef948aad6d82138.js} +0 -0
  258. /package/dist/chunk/{9104-5d10be1ddc79912c3aa2.js → 9104-f5783ef948aad6d82138.js} +0 -0
  259. /package/dist/chunk/{914-5d10be1ddc79912c3aa2.js → 914-f5783ef948aad6d82138.js} +0 -0
  260. /package/dist/chunk/{9175-5d10be1ddc79912c3aa2.js → 9175-f5783ef948aad6d82138.js} +0 -0
  261. /package/dist/chunk/{9179-5d10be1ddc79912c3aa2.js → 9179-f5783ef948aad6d82138.js} +0 -0
  262. /package/dist/chunk/{9198-5d10be1ddc79912c3aa2.js → 9198-f5783ef948aad6d82138.js} +0 -0
  263. /package/dist/chunk/{9206-5d10be1ddc79912c3aa2.js → 9206-f5783ef948aad6d82138.js} +0 -0
  264. /package/dist/chunk/{9225-5d10be1ddc79912c3aa2.js → 9225-f5783ef948aad6d82138.js} +0 -0
  265. /package/dist/chunk/{9270-5d10be1ddc79912c3aa2.js → 9270-f5783ef948aad6d82138.js} +0 -0
  266. /package/dist/chunk/{9281-5d10be1ddc79912c3aa2.js → 9281-f5783ef948aad6d82138.js} +0 -0
  267. /package/dist/chunk/{9294-5d10be1ddc79912c3aa2.js → 9294-f5783ef948aad6d82138.js} +0 -0
  268. /package/dist/chunk/{9478-5d10be1ddc79912c3aa2.js → 9478-f5783ef948aad6d82138.js} +0 -0
  269. /package/dist/chunk/{9524-5d10be1ddc79912c3aa2.js → 9524-f5783ef948aad6d82138.js} +0 -0
  270. /package/dist/chunk/{9526-5d10be1ddc79912c3aa2.js → 9526-f5783ef948aad6d82138.js} +0 -0
  271. /package/dist/chunk/{9556-5d10be1ddc79912c3aa2.js → 9556-f5783ef948aad6d82138.js} +0 -0
  272. /package/dist/chunk/{9641-5d10be1ddc79912c3aa2.js → 9641-f5783ef948aad6d82138.js} +0 -0
  273. /package/dist/chunk/{9661-5d10be1ddc79912c3aa2.js → 9661-f5783ef948aad6d82138.js} +0 -0
  274. /package/dist/chunk/{9681-5d10be1ddc79912c3aa2.js → 9681-f5783ef948aad6d82138.js} +0 -0
  275. /package/dist/chunk/{9689-5d10be1ddc79912c3aa2.js → 9689-f5783ef948aad6d82138.js} +0 -0
  276. /package/dist/chunk/{9692-5d10be1ddc79912c3aa2.js → 9692-f5783ef948aad6d82138.js} +0 -0
  277. /package/dist/chunk/{9728-5d10be1ddc79912c3aa2.js → 9728-f5783ef948aad6d82138.js} +0 -0
  278. /package/dist/chunk/{9730-5d10be1ddc79912c3aa2.js → 9730-f5783ef948aad6d82138.js} +0 -0
  279. /package/dist/chunk/{9780-5d10be1ddc79912c3aa2.js → 9780-f5783ef948aad6d82138.js} +0 -0
  280. /package/dist/chunk/{9788-5d10be1ddc79912c3aa2.js → 9788-f5783ef948aad6d82138.js} +0 -0
  281. /package/dist/chunk/{9806-5d10be1ddc79912c3aa2.js → 9806-f5783ef948aad6d82138.js} +0 -0
  282. /package/dist/chunk/{9809-5d10be1ddc79912c3aa2.js → 9809-f5783ef948aad6d82138.js} +0 -0
  283. /package/dist/chunk/{9819-5d10be1ddc79912c3aa2.js → 9819-f5783ef948aad6d82138.js} +0 -0
  284. /package/dist/chunk/{9831-5d10be1ddc79912c3aa2.js → 9831-f5783ef948aad6d82138.js} +0 -0
  285. /package/dist/chunk/{9845-5d10be1ddc79912c3aa2.js → 9845-f5783ef948aad6d82138.js} +0 -0
  286. /package/dist/chunk/{9876-5d10be1ddc79912c3aa2.js → 9876-f5783ef948aad6d82138.js} +0 -0
  287. /package/dist/chunk/{9904-5d10be1ddc79912c3aa2.js → 9904-f5783ef948aad6d82138.js} +0 -0
  288. /package/dist/chunk/{9910-5d10be1ddc79912c3aa2.js → 9910-f5783ef948aad6d82138.js} +0 -0
  289. /package/dist/chunk/{9965-5d10be1ddc79912c3aa2.js → 9965-f5783ef948aad6d82138.js} +0 -0
  290. /package/dist/chunk/{9976-5d10be1ddc79912c3aa2.js → 9976-f5783ef948aad6d82138.js} +0 -0
  291. /package/dist/chunk/{9982-5d10be1ddc79912c3aa2.js → 9982-f5783ef948aad6d82138.js} +0 -0
  292. /package/dist/chunk/{9983-5d10be1ddc79912c3aa2.js → 9983-f5783ef948aad6d82138.js} +0 -0
  293. /package/dist/chunk/{9984-5d10be1ddc79912c3aa2.js → 9984-f5783ef948aad6d82138.js} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as vue from 'vue';
2
- import { Ref, Reactive, Component, ShallowReactive, ShallowRef, ComponentPublicInstance, ComputedRef } from 'vue';
2
+ import { Ref, Reactive, ShallowReactive, Component, ShallowRef, ComponentPublicInstance, ComputedRef } from 'vue';
3
3
  import { HotkeysEvent, KeyHandler } from 'hotkeys-js';
4
4
  import { IMath, DragList } from 'cook-web';
5
5
  import { KatexOptions } from 'katex';
@@ -33,7 +33,7 @@ declare namespace IText {
33
33
  }
34
34
 
35
35
  declare namespace ICommandCube {
36
- type Names = "cube:reset" | "cube:delete" | "cube:insert" | "cube:insert-child" | "cube:delete-child" | "cube:delete-adjacent" | "cube:delete-edge" | "cube:degradation" | "cube:set-selection-css" | "cube:partition" | "cube:reorder" | "cube:set-css" | "cube:set-attr" | "cube:move" | "cube:merge" | "cube:postil-add" | "cube:postil-remove" | "code:change-lang" | "code:change-active" | "code:change-theme" | "code:update" | "code:add" | "code:remove" | "code:rename" | "detail-list:insert-row" | "detail-list:remove-row" | "detail-list:change-width-col1" | "formula:update" | "datetime:update" | "datetime:set-format" | "badge:select" | "rating:select" | "rating:update" | "checkbox:set" | "checkbox:set-appearance" | "counter:set" | "counter:update" | "timeline:insert" | "timeline:remove" | "timeline:move" | "timeline:update-item" | "timeline:update" | "timeline:reorder" | "gallery:reset" | "gallery:insert" | "gallery:remove" | "gallery:move" | "gallery:reorder" | "gallery:update" | "gallery:update-item" | "key:update" | "linker:update" | "list:add" | "list:remove" | "list:move" | "list:indent" | "list:reset" | "list:transform" | "list-ordered:add" | "list-ordered:remove" | "list-ordered:move" | "list-ordered:indent" | "list-ordered:reset" | "rt:reset" | "table:add-title" | "table:remove-title" | "table:add-cell" | "table:remove-cell" | "table:add-row" | "table:remove-row" | "table:add-col" | "table:remove-col" | "table:add-grid-col" | "table:remove-grid-col" | "table:add-grid-row" | "table:remove-grid-row" | "table:merge" | "table:moveto" | "table:update-area" | "table:reorder" | "table:col-resize" | "text:reset" | "text:break" | "link:update" | "text-link:update" | "todo:add" | "todo:remove" | "todo:move" | "todo:indent" | "todo:status" | "todo:reset" | "node:layout-update" | "node:append-child" | "map:node-add" | "map:node-remove" | "map:node-remove-only" | "map:node-wrap-siblings" | "map:linker-add" | "map:linker-remove" | "map:update-attrs" | "map:node-drag" | "map:sibling-reorder" | "cursor:in-head" | "cursor:in-tail" | "cursor:loc" | (string & {});
36
+ type Names = "cube:reset" | "cube:delete" | "cube:insert" | "cube:insert-child" | "cube:delete-child" | "cube:delete-adjacent" | "cube:delete-edge" | "cube:degradation" | "cube:set-selection-css" | "cube:partition" | "cube:reorder" | "cube:set-css" | "cube:set-attr" | "cube:move" | "cube:merge" | "cube:postil-add" | "cube:postil-remove" | "code:change-lang" | "code:change-active" | "code:change-theme" | "code:update" | "code:add" | "code:remove" | "code:rename" | "detail-list:insert-row" | "detail-list:remove-row" | "detail-list:change-width-col1" | "formula:update" | "datetime:update" | "datetime:set-format" | "badge:select" | "rating:select" | "rating:update" | "checkbox:set" | "checkbox:set-appearance" | "counter:set" | "counter:update" | "timeline:insert" | "timeline:remove" | "timeline:move" | "timeline:update-item" | "timeline:update" | "timeline:reorder" | "gallery:reset" | "gallery:insert" | "gallery:remove" | "gallery:move" | "gallery:reorder" | "gallery:update" | "gallery:update-item" | "files:reset" | "files:insert" | "files:remove" | "files:rename" | "files:replace" | "key:update" | "linker:update" | "list:add" | "list:remove" | "list:move" | "list:indent" | "list:reset" | "list:transform" | "list-ordered:add" | "list-ordered:remove" | "list-ordered:move" | "list-ordered:indent" | "list-ordered:reset" | "rt:reset" | "table:add-title" | "table:remove-title" | "table:add-cell" | "table:remove-cell" | "table:add-row" | "table:remove-row" | "table:add-col" | "table:remove-col" | "table:add-grid-col" | "table:remove-grid-col" | "table:add-grid-row" | "table:remove-grid-row" | "table:merge" | "table:moveto" | "table:update-area" | "table:reorder" | "table:col-resize" | "text:reset" | "text:break" | "link:update" | "text-link:update" | "todo:add" | "todo:remove" | "todo:move" | "todo:indent" | "todo:status" | "todo:reset" | "node:layout-update" | "node:append-child" | "map:node-add" | "map:node-remove" | "map:node-remove-only" | "map:node-wrap-siblings" | "map:linker-add" | "map:linker-remove" | "map:update-attrs" | "map:node-drag" | "map:sibling-reorder" | "cursor:in-head" | "cursor:in-tail" | "cursor:loc" | (string & {});
37
37
  type DeleteDir = "forward" | "backward";
38
38
  type CursorFrom = "left" | "right" | "none";
39
39
  interface BaseCommand {
@@ -270,6 +270,7 @@ declare abstract class NoteBase {
270
270
  get cubes(): NoteCubes;
271
271
  get flag(): NoteFlag;
272
272
  get action(): NoteAction;
273
+ get assets(): NoteAssets;
273
274
  }
274
275
 
275
276
  declare class DialogBase extends NoteBase {
@@ -582,6 +583,824 @@ declare class DialogImgComment extends DialogBase {
582
583
  close(return_cursor?: boolean): void;
583
584
  }
584
585
 
586
+ declare class AdapterCubeMap extends CubeAdapterBase {
587
+ get meta(): INote.CubeMeta;
588
+ get_data(): IMap.Data;
589
+ replace_id(versions: INote.CubesVersion, data: IMap.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IMap.Data>;
590
+ protected replace_node_relations(relations: Record<string, string[]>, map: Record<string, string>): Record<string, string[]>;
591
+ update_data(versions: INote.CubesVersion, data: IMap.Data): ICubeBase.CubeUpdateResult;
592
+ }
593
+
594
+ declare class AdapterCubeLinker extends CubeAdapterBase {
595
+ get meta(): INote.CubeMeta;
596
+ replace_id(versions: INote.CubesVersion, data: ILinker.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<ILinker.Data>;
597
+ get_data(from: string, to: string, type?: INodeBase.Line): ILinker.Data;
598
+ update_data(versions: INote.CubesVersion, data: ILinker.Data): ICubeBase.CubeUpdateResult<ILinker.Data>;
599
+ }
600
+
601
+ declare class LinkerStatus extends CubeStatusBase<ILinker.Data> {
602
+ protected _path: Ref<string, string>;
603
+ protected _sample: Reactive<IMath.Point[]>;
604
+ protected _point_from: IMath.Point;
605
+ protected _point_to: IMath.Point;
606
+ protected _line_type: Ref<INodeBase.Line>;
607
+ protected _line_width: Ref<number>;
608
+ protected _line_stroke: Ref<string | undefined>;
609
+ constructor(cube: CubeLinker);
610
+ init(): void;
611
+ get map2d(): Linker2D;
612
+ get cube(): CubeLinker;
613
+ get path(): string;
614
+ get point_from(): IMath.Point;
615
+ get point_to(): IMath.Point;
616
+ set point_from(pt: Partial<IMath.Point>);
617
+ set point_to(pt: Partial<IMath.Point>);
618
+ get map(): _Map;
619
+ get from_node(): MapNodeBase | undefined;
620
+ get to_node(): MapNodeBase | undefined;
621
+ get sample(): IMath.Point[];
622
+ get anchor_left(): ILinker.Anchor;
623
+ get anchor_right(): ILinker.Anchor;
624
+ get line_type(): INodeBase.Line;
625
+ get line_stroke(): string | undefined;
626
+ get line_width(): number;
627
+ get css(): {
628
+ stroke: string | undefined;
629
+ "stroke-width": number;
630
+ };
631
+ update_path(path: string): void;
632
+ update_line_type(val: INodeBase.Line): void;
633
+ update_line_stroke(val: string | undefined): void;
634
+ update_line_width(val: number): void;
635
+ update_sample(sample: IMath.Point[]): void;
636
+ protected fresh_sample(): IMath.Point[];
637
+ }
638
+
639
+ declare class Linker2D extends Map2D {
640
+ protected _linker: CubeLinker;
641
+ protected _point_from: IMath.Point;
642
+ protected _point_to: IMath.Point;
643
+ protected _path: string;
644
+ protected _sample: IMath.Point[];
645
+ protected _from_node: MapNodeBase | undefined;
646
+ protected _to_node: MapNodeBase | undefined;
647
+ protected _prev_layout_type: INodeBase.Layout;
648
+ protected _prev_line_type: INodeBase.Line;
649
+ protected _prev_line_width: number;
650
+ protected _prev_line_stroke: string | undefined;
651
+ protected _prev_from_rect: IMath.Rect;
652
+ protected _prev_to_rect: IMath.Rect;
653
+ constructor(cube: CubeLinker);
654
+ get linker(): CubeLinker;
655
+ get status(): LinkerStatus;
656
+ get path(): string;
657
+ get attrs(): Record<string, any>;
658
+ get sample(): IMath.Point[];
659
+ get from_node(): MapNodeBase<any> | undefined;
660
+ get to_node(): MapNodeBase<any> | undefined;
661
+ get line_type(): INodeBase.Line;
662
+ get anchor_left(): ILinker.Anchor;
663
+ get anchor_right(): ILinker.Anchor;
664
+ get line_stroke(): any;
665
+ get line_width(): any;
666
+ get rect(): IMath.Rect;
667
+ protected clone_rect(rect: IMath.Rect): IMath.Rect;
668
+ update_path(): "" | undefined;
669
+ get_upstream_sum_scale(): _FigScale;
670
+ }
671
+
672
+ declare abstract class CubeChild<T extends ICubeBase.Data = any> extends CubeBase<T> {
673
+ protected _pcube: INote.NoteCube;
674
+ protected _children: CubeChild[];
675
+ protected _has_postil: boolean;
676
+ data: T;
677
+ postil: CubePostil | null;
678
+ constructor(note: Note, data: T, pcube: INote.NoteCube);
679
+ get pcube(): INote.NoteCube;
680
+ protected create_receiver(): ReceiverChild;
681
+ get text(): string;
682
+ get boxroot(): CubeBoxRoot;
683
+ get is_empty(): boolean;
684
+ get children(): CubeChild[];
685
+ get has_postil(): boolean;
686
+ set has_postil(v: boolean);
687
+ get dom(): HTMLElement | null;
688
+ get level(): number;
689
+ get host_postil(): CubePostil | null;
690
+ get host_node(): MapNodeBase | undefined;
691
+ get in_postil(): boolean;
692
+ get child_count(): number;
693
+ get child_first(): CubeChild<any>;
694
+ get child_first_line(): CubeLine | undefined;
695
+ get child_last(): CubeChild<any>;
696
+ get pid(): string;
697
+ get id(): string;
698
+ get css(): Record<string, any>;
699
+ get attrs(): Record<string, any>;
700
+ get info(): any;
701
+ get type(): INote.Cubes | string;
702
+ get clientRect(): DOMRect | undefined;
703
+ get clientRects(): DOMRectList | undefined;
704
+ get prev_cube(): INote.NoteChild | undefined;
705
+ get next_cube(): INote.NoteChild | undefined;
706
+ get prev_cube_deep(): CubeChild | undefined;
707
+ get next_cube_deep(): CubeChild | undefined;
708
+ get prev_visible_cube_deep(): CubeChild | undefined;
709
+ get next_visible_cube_deep(): CubeChild | undefined;
710
+ protected get atomic_child(): readonly string[];
711
+ get can_merge(): boolean;
712
+ get can_degradation(): boolean;
713
+ is_atomic_child(child: INote.NoteChild): boolean;
714
+ get is_delete_edge_boundary(): boolean;
715
+ get_delete_edge_strategy(dir: ICommandCube.DeleteDir): ICubeBase.DeleteEdgeStrategy;
716
+ reveal_ancestors(recorder: Recorder): Recorder;
717
+ get visible_tail_cube(): CubeChild;
718
+ protected find_visible_cube_deep(dir: "prev" | "next"): CubeChild | undefined;
719
+ get index(): number;
720
+ protected _setup(): void;
721
+ protected setup(): any;
722
+ splice(index: number, delete_count: number, ...insert: CubeChild[]): ICubeBase.CubeSpliceResult<CubeChild, ICubeBase.Data>;
723
+ get_children_cubedata(): ICubeBase.Data[];
724
+ create_child_block(data: ICubeBase.Data[]): CubeChild[];
725
+ gc(): void;
726
+ base_gc(): void;
727
+ base_export(): T;
728
+ copy(left: number, right: number): ICubeBase.Data[];
729
+ get_upstream_sum_scale(): _FigScale;
730
+ remove_self(dir?: ICommandCube.DeleteDir): Recorder | undefined;
731
+ merge(method: INote.CubeMergeMethod): Recorder | undefined;
732
+ find_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
733
+ filter(func: ICubeBase.CubeFilterFunc): INote.NoteChild[];
734
+ each(func: ICubeBase.CubeEachFunc): void;
735
+ find_dom_cube(node: Node): INote.NoteChild | undefined;
736
+ is_contains_cube(cube: INote.NoteCube | undefined): boolean;
737
+ find_upstream_untill(pcube: INote.NoteCube): INote.NoteChild | undefined;
738
+ find_upstream_target(func: ICubeBase.CubeFilterFunc): INote.NoteChild | undefined;
739
+ find_child_cube(id: ICubeBase.CubeId): CubeChild | undefined;
740
+ find_child_index(id: ICubeBase.CubeId): number;
741
+ find_next_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
742
+ find_prev_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
743
+ is_valid_range(range: [number, number], check_collapse?: boolean): boolean;
744
+ get_valid_index(pos: number | INote.CubeSide): number;
745
+ get_valid_range(range: [number, number]): [number, number];
746
+ }
747
+
748
+ declare class ReceiverBase<TCube extends CubeBase = CubeBase> {
749
+ protected readonly cube: TCube;
750
+ protected readonly handlers: Map<ICommandCube.Names, ICubeHandler.Handler>;
751
+ constructor(cube: TCube);
752
+ receive(command: ICommandCube.BaseCommand): void | Recorder | undefined;
753
+ protected register(name: ICommandCube.Names, handler: ICubeHandler.Handler): void;
754
+ }
755
+
756
+ declare class ReceiverChild<TCube extends CubeChild = CubeChild> extends ReceiverBase<TCube> {
757
+ protected set_selection_css(command: ICommandCube.SetSelectionCss): Recorder | undefined;
758
+ protected insert(command: ICommandCube.Insert): Recorder | undefined;
759
+ protected delete_selection(command: ICommandCube.Delete): Recorder | undefined;
760
+ protected set_css(command: ICommandCube.SetCss): Recorder | undefined;
761
+ protected set_attr(command: ICommandCube.SetAttr): Recorder | undefined;
762
+ protected delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
763
+ protected delete_edge(command: ICommandCube.DeleteEdge): Recorder;
764
+ protected degradation(_command: ICommandCube.Degradation): Recorder | undefined;
765
+ protected degradation_atomic_child(command: ICommandCube.DeleteEdge): Recorder;
766
+ protected add_postil(command: ICommandCube.PostilAdd): Recorder;
767
+ protected remove_postil(command: ICommandCube.PostilRemove): Recorder | undefined;
768
+ protected cursor_in_head(command: ICommandCursor.InHead): Recorder;
769
+ protected cursor_in_tail(command: ICommandCursor.InTail): Recorder;
770
+ }
771
+
772
+ declare class ReceiverMapChild<TCube extends MapChild = MapChild> extends ReceiverChild<any> {
773
+ protected readonly cube: TCube;
774
+ constructor(cube: TCube);
775
+ protected insert(command: ICommandCube.Insert): Recorder | undefined;
776
+ protected set_css(command: ICommandCube.SetCss): Recorder | undefined;
777
+ protected remove_postil(command: ICommandCube.PostilRemove): Recorder | undefined;
778
+ protected cursor_in_head(command: ICommandCursor.InHead): Recorder;
779
+ protected cursor_in_tail(command: ICommandCursor.InTail): Recorder;
780
+ }
781
+
782
+ declare class ReceiverLinker extends ReceiverMapChild<CubeLinker> {
783
+ protected update(command: ICommandLinker.Update): Recorder;
784
+ }
785
+
786
+ declare class CubeLinker extends MapChild<ILinker.Data> {
787
+ protected _status: LinkerStatus;
788
+ protected _map2d: Linker2D;
789
+ constructor(note: Note, data: ILinker.Data, pcube: _Map);
790
+ get adapter(): AdapterCubeLinker;
791
+ get map2d(): Linker2D;
792
+ get status(): LinkerStatus;
793
+ get show(): boolean;
794
+ get info(): ILinker.Info;
795
+ get rect(): IMath.Rect;
796
+ get component(): any;
797
+ get from_id(): string;
798
+ get to_id(): string;
799
+ get from_node(): MapNodeBase<any> | undefined;
800
+ get to_node(): MapNodeBase<any> | undefined;
801
+ get id(): string;
802
+ export(): ILinker.Data;
803
+ build_child(data: ILinker.Data): void;
804
+ get_linker_info(): ICommandMap.LinkerInfo | undefined;
805
+ }
806
+
807
+ declare class LinkerLine {
808
+ static draw(line: INodeBase.Linker): string;
809
+ static get_line(from: IMath.Point, to: IMath.Point, type: INodeBase.Line): string;
810
+ static line(from: IMath.Point, to: IMath.Point): string;
811
+ static bezier2(from: IMath.Point, to: IMath.Point): string;
812
+ static polyline(from: IMath.Point, to: IMath.Point, radius?: number): string;
813
+ static polyline2(from: IMath.Point, to: IMath.Point, radius?: number): string;
814
+ static polyline3(from: IMath.Point, to: IMath.Point, radius?: number): string;
815
+ static fold1(from: IMath.Point, to: IMath.Point, radius?: number): string;
816
+ static fold2(from: IMath.Point, to: IMath.Point, radius?: number): string;
817
+ /**
818
+ * 生成两点之间的波浪线路径(SVG `<path>` 的 `d` 属性)
819
+ * @param start 起点
820
+ * @param end 终点
821
+ * @param waveCount 波浪的数量(默认 3)
822
+ * @param waveHeight 波浪的高度(默认自动计算)
823
+ * @returns SVG `<path>` 的 `d` 属性字符串
824
+ */
825
+ static wave(start: IMath.Point, end: IMath.Point, waveCount?: number, waveHeight?: number): string;
826
+ }
827
+
828
+ declare class LinkerPoint {
829
+ static map: Record<string, ILinker.Finder>;
830
+ static find(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints | undefined;
831
+ static get_point(node: MapNodeBase): IMath.Point | undefined;
832
+ static time_down(from: MapNodeBase, to: MapNodeBase): {
833
+ from: IMath.Point;
834
+ to: IMath.Point;
835
+ };
836
+ static time_right(from: MapNodeBase, to: MapNodeBase): {
837
+ from: IMath.Point;
838
+ to: IMath.Point;
839
+ };
840
+ static up(from: MapNodeBase, to: MapNodeBase): {
841
+ from: IMath.Point;
842
+ to: IMath.Point;
843
+ };
844
+ static right(from: MapNodeBase, to: MapNodeBase): {
845
+ from: IMath.Point;
846
+ to: IMath.Point;
847
+ };
848
+ static left(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
849
+ static down(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
850
+ static file_tree(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
851
+ static free_to_any(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints | undefined;
852
+ }
853
+
854
+ declare class NodeIntention extends NoteBase {
855
+ protected _map: _Map;
856
+ protected _intention_list: Array<INodeDrag.Intention>;
857
+ protected _placeholder_linker: vue.Ref<string, string>;
858
+ protected _placeholder_path: vue.Ref<string, string>;
859
+ protected _node_rect: IMath.Rect;
860
+ protected _cursor_pos: vue.Ref<{
861
+ x: number;
862
+ y: number;
863
+ } | null, IMath.Point | {
864
+ x: number;
865
+ y: number;
866
+ } | null>;
867
+ protected _drag_count: vue.Ref<number, number>;
868
+ protected _preview_node: MapNodeBase | undefined;
869
+ constructor(map: _Map);
870
+ get map(): _Map;
871
+ get intention_list(): INodeDrag.Intention[];
872
+ get placeholder_linker(): string;
873
+ set placeholder_linker(v: string);
874
+ get placeholder_path(): string;
875
+ set placeholder_path(v: string);
876
+ get node_rect(): IMath.Rect;
877
+ set node_rect(v: IMath.Rect);
878
+ get cursor_pos(): IMath.Point | null;
879
+ set cursor_pos(v: IMath.Point | null);
880
+ get drag_count(): number;
881
+ set drag_count(v: number);
882
+ get preview_node(): MapNodeBase | undefined;
883
+ set preview_node(v: MapNodeBase | undefined);
884
+ get active_intention(): INodeDrag.Intention | undefined;
885
+ clear_drag_state(): void;
886
+ update_intention(pos_fig: IMath.Point, exclude_nodes?: Set<MapNodeBase>): false | undefined;
887
+ get_nearest_node(pos_fig: IMath.Point, exclude_nodes?: Set<MapNodeBase>): MapNodeBase | undefined;
888
+ get_intention(node: MapNodeBase, pos: IMath.Point): INodeDrag.IntentionResult;
889
+ make_rect_path(r: IMath.Rect): string;
890
+ }
891
+
892
+ declare class MapInteraction extends NoteBase {
893
+ protected _map: IMapBase.Api & INote.NoteCube;
894
+ protected _node_intention: NodeIntention;
895
+ protected _op_pointer: Map<string, IMapInteraction.PointerApi>;
896
+ protected _op_keyboard: Map<string, IMapInteraction.KeyboardApi>;
897
+ protected _active_pointers: Set<number>;
898
+ constructor(map: _Map);
899
+ get node_intention(): NodeIntention;
900
+ get flowing(): boolean;
901
+ get interactions_pointer(): IMapInteraction.PointerApi[];
902
+ get interactions_keyboard(): IMapInteraction.KeyboardApi[];
903
+ get map(): _Map;
904
+ add_operation_pointer(op: IMapInteraction.PointerApi): void;
905
+ add_operation_keyboard(op: IMapInteraction.KeyboardApi): void;
906
+ register(dom: HTMLElement): void;
907
+ protected is_nested_map_event(e: Event): boolean;
908
+ check_mouse_key(e: MouseEvent, key: _PointKey): boolean;
909
+ get_map_selector(e: MouseEvent): IMapInteraction.MapSelector;
910
+ pointerdown(e: PointerEvent): void;
911
+ pointermove(e: PointerEvent): void;
912
+ pointerup(e: PointerEvent): void;
913
+ pointercancel(e: PointerEvent): void;
914
+ pointerleave(e: PointerEvent): void;
915
+ dblclick(e: MouseEvent): void;
916
+ wheel(e: WheelEvent): void;
917
+ contextmenu(e: MouseEvent): void;
918
+ }
919
+
920
+ declare abstract class NoteHotkeyBase extends NoteBase {
921
+ protected _config: INoteInteraction.HotkeyConfig;
922
+ protected _registered: boolean;
923
+ protected _platform: INoteInteraction.Platform;
924
+ abstract get default_config(): INoteInteraction.HotkeyConfig;
925
+ abstract execution(e: KeyboardEvent, event: HotkeysEvent): any;
926
+ get id(): string;
927
+ get note(): Note;
928
+ get root(): CubeRoot<any>;
929
+ get config(): {
930
+ id: string;
931
+ name: INoteInteraction.Hotkeys;
932
+ shortcut: INoteInteraction.Shortcut;
933
+ scope: INoteInteraction.Scope;
934
+ group: INoteInteraction.Groups;
935
+ show?: boolean;
936
+ cursor?: boolean;
937
+ capture?: boolean;
938
+ keyup?: boolean;
939
+ };
940
+ get shortcut(): string;
941
+ get scope(): INoteInteraction.Scope;
942
+ check_allow(e: KeyboardEvent, event: HotkeysEvent): boolean;
943
+ init(note: Note, config?: INoteInteraction.HotkeyConfig, platform?: INoteInteraction.Platform): void;
944
+ register(): void;
945
+ export(): INoteInteraction.HotkeyConfig;
946
+ }
947
+
948
+ declare class NoteInteraction extends NoteBase {
949
+ protected _hotkeys: Map<string, NoteHotkeyBase>;
950
+ protected _inited: boolean;
951
+ /**
952
+ * 当前持有“暂停笔记快捷键”资格的弹窗令牌。scope 是全局状态,因此必须等
953
+ * 最后一个弹窗释放令牌后才能恢复,避免嵌套弹窗的内层关闭时提前恢复。
954
+ */
955
+ protected _hotkey_suspend_tokens: Set<symbol>;
956
+ protected _scope_before_hotkey_suspend?: INoteInteraction.Scope;
957
+ protected _hotkey_platform: INoteInteraction.Platform;
958
+ data: Reactive<Record<string, INoteInteraction.HotkeyConfig>>;
959
+ constructor(note: Note);
960
+ get meta(): INote.CoreMeta;
961
+ disable_hotkey(): void;
962
+ enable_hotkey(): void;
963
+ get_scope(): INoteInteraction.Scope;
964
+ /**
965
+ * 暂停笔记快捷键并返回释放令牌。令牌可按任意顺序释放,重复释放无副作用。
966
+ */
967
+ suspend_hotkey(): symbol;
968
+ resume_hotkey(token: symbol): void;
969
+ set_scope(scope: INoteInteraction.Scope): void;
970
+ listen(dom: HTMLElement): void;
971
+ init(config?: Partial<INoteInteraction.Data>, options?: INoteInteraction.HotkeyInitOptions): void;
972
+ register(hotkey: NoteHotkeyBase, config?: INoteInteraction.HotkeyConfig): void;
973
+ protected init_hotkey(hotkey: NoteHotkeyBase, config?: INoteInteraction.HotkeyConfig): void;
974
+ protected set_data(config: INoteInteraction.HotkeyConfig): void;
975
+ reset(data: Record<string, INoteInteraction.HotkeyConfig>): void;
976
+ export(): INoteInteraction.Data;
977
+ update_data(...args: any[]): object;
978
+ get_hotkey_str(name: string): string;
979
+ validate_hotkeys(e: KeyboardEvent, cursor?: "all" | "cursor" | "uncursor"): boolean;
980
+ validate(e: KeyboardEvent, info: INoteInteraction.HotkeyConfig): boolean;
981
+ protected configs(): INoteInteraction.HotkeyConfig[];
982
+ protected validate_shortcut(e: KeyboardEvent, shortcut: string): boolean;
983
+ protected normalize_key(key: string): string;
984
+ static export_default(): INoteInteraction.Data;
985
+ }
986
+
987
+ type HotkeyPlatform = Exclude<INoteInteraction.Platform, "auto">;
988
+ /**
989
+ * 尽可能识别运行平台。识别结果只用于选择默认快捷键,调用方可通过显式 platform 覆写。
990
+ */
991
+ declare function detect_hotkey_platform(): HotkeyPlatform;
992
+ declare function normalize_platform(platform?: INoteInteraction.Platform): HotkeyPlatform;
993
+ declare function is_platform_shortcut(shortcut: unknown): shortcut is INoteInteraction.PlatformShortcut;
994
+ /** 将旧字符串或平台快捷键表解析为当前平台注册给 hotkeys-js 的字符串。 */
995
+ declare function resolve_hotkey_shortcut(shortcut: INoteInteraction.Shortcut, platform?: INoteInteraction.Platform): string;
996
+ /** 将旧字符串规范成可持久化的平台快捷键表。 */
997
+ declare function to_platform_shortcut(shortcut: INoteInteraction.Shortcut): INoteInteraction.PlatformShortcut;
998
+
999
+ declare abstract class NoteEventListenerBase<E extends Event = Event> {
1000
+ protected records: WeakMap<Note, {
1001
+ host: HTMLElement;
1002
+ handler: EventListener;
1003
+ }>;
1004
+ abstract get type(): string;
1005
+ protected abstract get_host(note: Note, dom: HTMLElement): HTMLElement;
1006
+ protected abstract handle(note: Note, e: E): any;
1007
+ register(note: Note, dom: HTMLElement): void;
1008
+ }
1009
+
1010
+ declare class PasteEventListener extends NoteEventListenerBase<ClipboardEvent> {
1011
+ get type(): string;
1012
+ protected get_host(note: Note, dom: HTMLElement): HTMLElement;
1013
+ protected handle(note: Note, e: ClipboardEvent): Promise<void>;
1014
+ }
1015
+ declare const paste_event_listener: PasteEventListener;
1016
+
1017
+ declare class CopyEventListener extends NoteEventListenerBase<ClipboardEvent> {
1018
+ get type(): string;
1019
+ protected get_host(note: Note, dom: HTMLElement): HTMLElement;
1020
+ protected handle(note: Note, e: ClipboardEvent): void;
1021
+ }
1022
+ declare const copy_event_listener: CopyEventListener;
1023
+
1024
+ declare class CutEventListener extends NoteEventListenerBase<ClipboardEvent> {
1025
+ get type(): string;
1026
+ protected get_host(note: Note, dom: HTMLElement): HTMLElement;
1027
+ protected handle(note: Note, e: ClipboardEvent): void;
1028
+ }
1029
+ declare const cut_event_listener: CutEventListener;
1030
+
1031
+ declare const NoteEventListeners: NoteEventListenerBase[];
1032
+
1033
+ declare const MapHotkeys: Map<string, NoteHotkeyBase>;
1034
+ declare function hotkey(cls: typeof NoteHotkeyBase): void;
1035
+
1036
+ declare class Waiter {
1037
+ protected _promise: Promise<any>;
1038
+ protected _resolve: Function;
1039
+ protected _reject: Function;
1040
+ constructor();
1041
+ get promise(): Promise<any>;
1042
+ resolve(val?: any): void;
1043
+ reject(err: any): any;
1044
+ }
1045
+ declare const waiter_map_svg: Waiter;
1046
+
1047
+ declare class MapStatus extends CubeStatusBaseRoot<IMap.Data> implements IMapBase.Status {
1048
+ protected _nodes_count: vue.Ref<number, number>;
1049
+ protected _view_rect: IMath.Rect;
1050
+ protected _nodes_view: ShallowReactive<Set<MapNodeBase>>;
1051
+ protected _linkers_view: ShallowReactive<Set<CubeLinker>>;
1052
+ protected _nodes_selected: ShallowReactive<Set<MapNodeBase>>;
1053
+ protected _nodes_editing: ShallowReactive<Set<MapNodeBase>>;
1054
+ protected _nodes_outbox: ShallowReactive<Set<MapNodeBase>>;
1055
+ protected _line_delete_selected: ShallowReactive<Set<MapNodeBase | CubeLinker>>;
1056
+ protected _nodes_dragging: ShallowReactive<Set<MapNodeBase>>;
1057
+ protected _placeholder_linkers: Reactive<_MapPlaceholderLinker[]>;
1058
+ protected _placeholder_box_selector: vue.Ref<string, string>;
1059
+ protected _placeholder_line_delete: vue.Ref<string, string>;
1060
+ constructor(cube: CubeMap & IMapBase.Api);
1061
+ get attrs(): IMap.Attrs;
1062
+ get matrix2d(): {
1063
+ a: number;
1064
+ b: number;
1065
+ c: number;
1066
+ d: number;
1067
+ e: number;
1068
+ f: number;
1069
+ };
1070
+ get line_delete_selected(): Set<MapNodeBase<any> | CubeLinker>;
1071
+ get nodes_count(): number;
1072
+ get nodes_view_count(): number;
1073
+ get view_rect(): {
1074
+ x: number;
1075
+ y: number;
1076
+ width: number;
1077
+ height: number;
1078
+ };
1079
+ get view_center(): {
1080
+ x: number;
1081
+ y: number;
1082
+ };
1083
+ get map(): CubeMap & IMapBase.Api;
1084
+ get matrix2d_dom_string(): string;
1085
+ get placeholder_linkers(): {
1086
+ path: string;
1087
+ anchor_start: string;
1088
+ anchor_end: string;
1089
+ stroke?: string | undefined;
1090
+ width?: number | undefined;
1091
+ }[];
1092
+ get placeholder_box_selector(): string;
1093
+ get placeholder_line_delete(): string;
1094
+ get nodes_view(): Set<MapNodeBase<any>>;
1095
+ get linkers_view(): Set<CubeLinker>;
1096
+ get nodes_selected(): Set<MapNodeBase<any>>;
1097
+ get nodes_editing(): Set<MapNodeBase<any>>;
1098
+ get nodes_outbox(): Set<MapNodeBase<any>>;
1099
+ reset_nodes_view(nodes: Iterable<MapNodeBase>): void;
1100
+ reset_nodes_outbox(nodes: Iterable<MapNodeBase>): void;
1101
+ reset_linkers_view(linkers: Iterable<CubeLinker>): void;
1102
+ remove_linker(linker: CubeLinker): void;
1103
+ remove_node(node: MapNodeBase): void;
1104
+ set_node_visible(node: MapNodeBase, visible: boolean): void;
1105
+ set_linker_visible(linker: CubeLinker, visible: boolean): void;
1106
+ set_node_editing(node: MapNodeBase, editing: boolean): void;
1107
+ set_node_selected(node: MapNodeBase, selected: boolean): void;
1108
+ set_node_outbox(node: MapNodeBase, outbox: boolean): void;
1109
+ set_line_deleted(cube: MapNodeBase | CubeLinker, deleted: boolean): void;
1110
+ is_node_visible(node: MapNodeBase): boolean;
1111
+ is_linker_visible(linker: CubeLinker): boolean;
1112
+ is_node_editing(node: MapNodeBase): boolean;
1113
+ is_node_selected(node: MapNodeBase): boolean;
1114
+ is_line_deleted(cube: MapNodeBase | CubeLinker): boolean;
1115
+ clear_line_deleted(): void;
1116
+ clear_node_editing(): void;
1117
+ clear_node_selected(): void;
1118
+ clear_node_outbox(): void;
1119
+ update_nodes_count(count: number): void;
1120
+ update_matrix2d(m?: IMapTools.Matrix2D): void;
1121
+ update_view_rect(rect: IMath.Rect): void;
1122
+ update_placeholder_box_selector(value: string): void;
1123
+ update_placeholder_line_delete(value: string): void;
1124
+ update_placeholder_linkers(linkers: _MapPlaceholderLinker[]): void;
1125
+ add_placeholder_linker(linker: _MapPlaceholderLinker): void;
1126
+ get nodes_dragging(): Set<MapNodeBase>;
1127
+ set_node_dragging(node: MapNodeBase, dragging: boolean): void;
1128
+ is_node_dragging(node: MapNodeBase): boolean;
1129
+ clear_nodes_dragging(): void;
1130
+ }
1131
+
1132
+ declare class MapCanvas extends NoteBase {
1133
+ protected _ui_visible: vue.Ref<boolean, boolean>;
1134
+ protected _canvas: HTMLCanvasElement;
1135
+ protected _ui_scale: vue.Ref<number, number>;
1136
+ constructor(note: Note);
1137
+ get ui_scale(): number;
1138
+ set ui_scale(v: number);
1139
+ get ui_width(): number;
1140
+ get ui_height(): number;
1141
+ get canvas(): HTMLCanvasElement;
1142
+ init(canvas: HTMLCanvasElement): void;
1143
+ get grider(): MapGrider;
1144
+ get map(): CubeMap;
1145
+ get ui_visible(): boolean;
1146
+ get size_map(): IMath.RectArea;
1147
+ get_scale(): number;
1148
+ get mini_nodes(): Array<IMiniMap.MiniNode>;
1149
+ get content_rect(): IMath.Rect;
1150
+ get_render_state(): {
1151
+ bounds: IMath.Rect;
1152
+ nodes: IMiniMap.MiniNode[];
1153
+ scale: number;
1154
+ };
1155
+ toggle_visible(): void;
1156
+ translate_delta(dx_mini: number, dy_mini: number): void;
1157
+ refresh_viewport(bounds: IMath.Rect, scale: number): void;
1158
+ refresh(): void;
1159
+ }
1160
+
1161
+ declare class ReceiverRoot<TCube extends CubeRoot = CubeRoot> extends ReceiverBase<TCube> {
1162
+ protected reset(command: ICommandCube.Reset): Recorder;
1163
+ protected reorder(command: ICommandCube.Reorder): Recorder | undefined;
1164
+ protected insert_child(command: ICommandCube.InsertChild): Recorder;
1165
+ protected delete_child(command: ICommandCube.DeleteChild): Recorder | undefined;
1166
+ protected set_selection_css(command: ICommandCube.SetSelectionCss): Recorder | undefined;
1167
+ protected insert(command: ICommandCube.Insert): Recorder | undefined;
1168
+ protected delete_selection(command: ICommandCube.Delete): Recorder | undefined;
1169
+ protected set_attr(command: ICommandCube.SetAttr): Recorder | undefined;
1170
+ protected cursor_in_tail(command: ICommandCursor.InTail): Recorder | undefined;
1171
+ }
1172
+
1173
+ declare class ReceiverMap extends ReceiverRoot<CubeMap> {
1174
+ protected is_noop_sibling_move(siblings: string[], node_id: string, target_id: string, type: "prev" | "next"): boolean;
1175
+ protected reorder_siblings(siblings: string[], node_id: string, target_id: string, type: "prev" | "next"): boolean;
1176
+ protected on_sibling_reorder(cmd: ICommandMap.SiblingReorder): Recorder | void;
1177
+ protected on_node_add(cmd: ICommandMap.NodeAdd): Recorder;
1178
+ protected on_node_remove(cmd: ICommandMap.NodeRemove): Recorder | undefined;
1179
+ protected on_node_wrap_siblings(cmd: ICommandMap.NodeWrapSiblings): Recorder | undefined;
1180
+ protected on_node_remove_only(cmd: ICommandMap.NodeRemoveOnly): Recorder | undefined;
1181
+ protected on_linker_add(cmd: ICommandMap.LinkerAdd): Recorder | undefined;
1182
+ protected on_linker_remove(cmd: ICommandMap.LinkerRemove): Recorder | undefined;
1183
+ protected on_node_drag(cmd: ICommandMap.NodeMove): Recorder | undefined;
1184
+ protected add_linker_only(info: ICommandMap.LinkerInfo): void;
1185
+ protected refresh_layout_only(upstream: MapNodeBase | undefined, downstream: MapNodeBase[]): void;
1186
+ }
1187
+
1188
+ declare class CubeMap extends CubeRoot<IMap.Data> implements IMapBase.Api {
1189
+ protected _status: MapStatus;
1190
+ protected _map_interaction: MapInteraction;
1191
+ protected _grider: MapGrider;
1192
+ protected _canvas: MapCanvas;
1193
+ protected _exporter: MapExporter;
1194
+ protected _exporting: vue.Ref<boolean, boolean>;
1195
+ protected _app: any;
1196
+ protected _has_layout: boolean;
1197
+ protected _waiter: Waiter;
1198
+ protected _nodes: Map<string, MapNodeBase>;
1199
+ protected _linkers: Map<string, CubeLinker>;
1200
+ protected _node_from: Record<string, string[]>;
1201
+ protected _node_to: Record<string, string[]>;
1202
+ protected _nodes_editing: Set<MapNodeBase>;
1203
+ protected _nodes_outbox: Set<MapNodeBase>;
1204
+ protected _nodes_selected: Set<MapNodeBase>;
1205
+ protected _line_delete_selected: Set<MapNodeBase | CubeLinker>;
1206
+ protected _nodes_dragging: Set<MapNodeBase>;
1207
+ protected _view_nodes: Set<MapNodeBase>;
1208
+ protected _pending_view_nodes: Set<MapNodeBase>;
1209
+ protected _view_linkers: Set<CubeLinker>;
1210
+ protected _view_rect: IMath.Rect;
1211
+ constructor(note: Note, data: IMap.Data);
1212
+ get adapter(): AdapterCubeMap;
1213
+ get waiter(): Waiter;
1214
+ get nodes(): Map<string, MapNodeBase<any>>;
1215
+ get linkers(): Map<string, CubeLinker>;
1216
+ set_node_from(id: string, nodes: string[]): void;
1217
+ set_node_to(id: string, nodes: string[]): void;
1218
+ get nodes_selected(): Set<MapNodeBase<any>>;
1219
+ get nodes_editing(): Set<MapNodeBase<any>>;
1220
+ get nodes_outbox(): Set<MapNodeBase<any>>;
1221
+ get nodes_view(): Set<MapNodeBase<any>>;
1222
+ get linkers_view(): Set<CubeLinker>;
1223
+ get line_deleted(): Set<MapNodeBase<any> | CubeLinker>;
1224
+ get id(): string;
1225
+ get status(): MapStatus;
1226
+ get grider(): MapGrider;
1227
+ get canvas(): MapCanvas;
1228
+ get exporter(): MapExporter;
1229
+ get exporting(): boolean;
1230
+ get svg_element(): SVGSVGElement | undefined;
1231
+ get map_interaction(): MapInteraction;
1232
+ get matrix2d(): IMapTools.Matrix2D;
1233
+ get matrix2d_dom_string(): string;
1234
+ get attrs(): IMap.Attrs;
1235
+ get has_layout(): boolean;
1236
+ get dom_rect(): DOMRect;
1237
+ get dom_svg_rect(): DOMRect;
1238
+ get app(): any;
1239
+ get component(): any;
1240
+ get children(): INote.NoteChild[];
1241
+ get view_rect(): IMath.Rect;
1242
+ /**
1243
+ * 依据已建立的网格/布局坐标计算导出的粗略边界。它不读取 DOM,适合导出前
1244
+ * 的快速尺寸预检;MapExporter 在完整挂载后会再以 SVG getBBox 精确校正。
1245
+ */
1246
+ get_export_bounds(include_folded?: boolean): IMapExport.Bounds;
1247
+ /**
1248
+ * 临时把导出范围内的所有节点和有效连线挂载到 SVG。返回的清理函数必须在
1249
+ * finally 中调用,以恢复画布虚拟化状态;该过程不写入笔记数据或历史记录。
1250
+ */
1251
+ prepare_export_render(include_folded?: boolean): Promise<() => void>;
1252
+ wait_nodes_render(nodes: MapNodeBase[]): Promise<any>;
1253
+ index_pending_nodes(nodes: Iterable<MapNodeBase>): Promise<void>;
1254
+ find_cube(id: string): INote.NoteCube | undefined;
1255
+ filter(func: ICubeBase.CubeFilterFunc): INote.NoteChild[];
1256
+ each(func: ICubeBase.CubeEachFunc): void;
1257
+ find_child_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
1258
+ pick(...elements: MapChild[]): void;
1259
+ remove_node(node: MapNodeBase): void;
1260
+ remove_linker(linker: CubeLinker): ICommandMap.LinkerInfo | undefined;
1261
+ build_child(data: IMap.Data): Promise<void>;
1262
+ init_env(): void;
1263
+ init_map2d(): void;
1264
+ init_grider(): void;
1265
+ gc(): void;
1266
+ export(): IMap.Data;
1267
+ render(dom: HTMLElement): Promise<void>;
1268
+ get_nodes_intersection(rect: IMath.Rect): MapNodeBase[];
1269
+ get_linker_id(from_id: string, to_id: string): string;
1270
+ get_linker(id: string): CubeLinker | undefined;
1271
+ get_node(id: string): MapNodeBase<any> | undefined;
1272
+ get_node_from(id: string): string[];
1273
+ get_node_to(id: string): string[];
1274
+ get_view_rect(): IMath.Rect;
1275
+ get_view_center(): IMath.Point;
1276
+ get_view_cube(include_folded?: boolean): Array<MapNodeBase | CubeLinker>;
1277
+ set_node_outbox(node: MapNodeBase | string, visible: boolean): void;
1278
+ set_node_visible(node: MapNodeBase | string, visible: boolean): void;
1279
+ set_linker_visible(linker: CubeLinker | string, visible: boolean): void;
1280
+ set_node_editing(node: MapNodeBase | string, editing: boolean): void;
1281
+ set_node_selected(node: MapNodeBase | string, selected: boolean): void;
1282
+ get_next_selection_before_remove(removing_ids: Iterable<ICubeBase.CubeId>): ICubeBase.CubeId | undefined;
1283
+ set_line_deleted(cube: MapNodeBase | CubeLinker | string, deleted: boolean): void;
1284
+ is_node_visible(node: MapNodeBase): boolean;
1285
+ is_linker_visible(linker: CubeLinker): boolean;
1286
+ is_node_editing(node: MapNodeBase): boolean;
1287
+ is_node_selected(node: MapNodeBase): boolean;
1288
+ is_line_deleted(cube: MapNodeBase | CubeLinker): boolean;
1289
+ clear_node_outbox(): void;
1290
+ clear_node_editing(): void;
1291
+ clear_node_selected(): void;
1292
+ clear_line_deleted(): void;
1293
+ set_node_dragging(node: MapNodeBase | string, dragging: boolean): void;
1294
+ is_node_dragging(node: MapNodeBase): boolean;
1295
+ clear_node_dragging(): void;
1296
+ get_farest_node_selected(nav: IMisc.Keys): MapNodeBase<any> | undefined;
1297
+ get_nearest_node(n: MapNodeBase, nav: IMisc.Keys): MapNodeBase<any>;
1298
+ move_select(nav: IMisc.Keys): void;
1299
+ reset_matrix(m: IMapTools.Matrix2D): void;
1300
+ translate(dx: number, dy: number): void;
1301
+ scale_diff(dsx: number, dsy: number): void;
1302
+ scale_by_point(p: _PointView, dsx: number, dsy: number): void;
1303
+ get_upstream_sum_scale(): _FigScale;
1304
+ view_point_to_fig(p: _PointView): IMath.Point;
1305
+ view_point_to_real(p: _PointView): IMath.Point;
1306
+ fig_point_to_view(p: IMath.Point): IMath.Point;
1307
+ fig_point_to_real(p: IMath.Point): IMath.Point;
1308
+ real_point_to_fig(p: IMath.Point): IMath.Point;
1309
+ real_point_to_view(p: IMath.Point): IMath.Point;
1310
+ transform_point(point: IMath.Point): IMath.Point;
1311
+ untransform_point(point: IMath.Point): IMath.Point;
1312
+ find_layout_root(nodes: Iterable<MapNodeBase>): Set<MapNodeBase>;
1313
+ layout(): Promise<void>;
1314
+ check_show(): void;
1315
+ protected check_show_node(): void;
1316
+ protected check_show_line(): void;
1317
+ layout_throttle: () => Promise<boolean>;
1318
+ check_show_throttle: () => Promise<boolean>;
1319
+ }
1320
+
1321
+ declare namespace IMapExport {
1322
+ type Format = "svg" | "png";
1323
+ type Background = "theme" | "transparent";
1324
+ interface Options {
1325
+ format: Format;
1326
+ /** PNG 的输出倍率;SVG 始终保留逻辑尺寸。 */
1327
+ scale: number;
1328
+ padding: number;
1329
+ background: Background;
1330
+ /** 默认保持用户在画布上看到的折叠状态。 */
1331
+ include_folded: boolean;
1332
+ }
1333
+ interface Bounds extends IMath.Rect {
1334
+ }
1335
+ }
1336
+ declare const MapExportDefaults: IMapExport.Options;
1337
+ /**
1338
+ * 图形笔记导出器。它以最终 SVG 作为单一渲染源,PNG 由该 SVG 栅格化而来,
1339
+ * 从而保证两个格式的边界、主题和节点布局保持一致。
1340
+ */
1341
+ declare class MapExporter {
1342
+ protected readonly map: CubeMap;
1343
+ protected _running: boolean;
1344
+ constructor(map: CubeMap);
1345
+ get running(): boolean;
1346
+ export(raw_options?: Partial<IMapExport.Options>): Promise<void>;
1347
+ protected validate_dimensions(bounds: IMapExport.Bounds, options: IMapExport.Options): void;
1348
+ protected wait_for_paint(): Promise<void>;
1349
+ protected get_precise_bounds(source: SVGSVGElement, fallback: IMapExport.Bounds): IMapExport.Bounds;
1350
+ protected create_export_svg(source: SVGSVGElement, bounds: IMapExport.Bounds, options: IMapExport.Options): Promise<SVGSVGElement>;
1351
+ protected to_svg_blob(svg: SVGSVGElement): Blob;
1352
+ /** 将节点中的图片变为 data URL,避免 SVG 下载或 Canvas 栅格化时丢失资源。 */
1353
+ protected inline_images(root: ParentNode): Promise<void>;
1354
+ protected to_data_url(blob: Blob): Promise<string>;
1355
+ /** PNG 会过滤可能请求外部资源的规则,避免污染 Canvas;SVG 则保留完整样式。 */
1356
+ protected collect_document_css(safe_for_canvas?: boolean): string;
1357
+ protected collect_css_variables(source: SVGSVGElement, safe_for_canvas?: boolean): string;
1358
+ /** 清除内联样式中的外部 url();本地 marker 的 url(#id) 必须保留。 */
1359
+ protected remove_external_style_urls(svg: SVGSVGElement): void;
1360
+ /**
1361
+ * Canvas 不能安全地栅格化含 foreignObject 的 SVG。PNG 改用普通 DOM 节点
1362
+ * 承载富文本,SVG 仅保留安全的矢量轮廓与连线,再由 html2canvas 渲染。
1363
+ */
1364
+ protected svg_to_png(export_svg: SVGSVGElement, source_svg: SVGSVGElement, bounds: IMapExport.Bounds, options: IMapExport.Options): Promise<Blob>;
1365
+ protected create_png_host(export_svg: SVGSVGElement, source_svg: SVGSVGElement, bounds: IMapExport.Bounds, options: IMapExport.Options): Promise<HTMLDivElement>;
1366
+ /** 将“页面底色 + 画布背景纹理”拆开,精确对应用户当前看到的画布。 */
1367
+ protected get_theme_background(source: SVGSVGElement): {
1368
+ page_color: string;
1369
+ map_background: string;
1370
+ };
1371
+ /** html2canvas 尚不支持 CSS Color 4 的 color()/color-mix(),转为 sRGB rgba。 */
1372
+ protected normalize_colors_for_canvas(host: HTMLElement): void;
1373
+ protected replace_color_functions(value: string): string;
1374
+ protected color_to_rgba(color: string): string | undefined;
1375
+ protected download(blob: Blob, filename: string): void;
1376
+ protected timestamp(): string;
1377
+ }
1378
+
1379
+ /** 图形笔记导出配置弹窗的会话状态;配置不写入笔记数据。 */
1380
+ declare class DialogMapExport extends DialogBase {
1381
+ protected _format: vue.Ref<IMapExport.Format, IMapExport.Format>;
1382
+ protected _scale: vue.Ref<number, number>;
1383
+ protected _padding: vue.Ref<number, number>;
1384
+ protected _background: vue.Ref<IMapExport.Background, IMapExport.Background>;
1385
+ protected _include_folded: vue.Ref<boolean, boolean>;
1386
+ protected _running: vue.Ref<boolean, boolean>;
1387
+ constructor(note: Note);
1388
+ get format(): IMapExport.Format;
1389
+ set format(value: IMapExport.Format);
1390
+ get scale(): number;
1391
+ set scale(value: number);
1392
+ get padding(): number;
1393
+ set padding(value: number);
1394
+ get background(): IMapExport.Background;
1395
+ set background(value: IMapExport.Background);
1396
+ get include_folded(): boolean;
1397
+ set include_folded(value: boolean);
1398
+ get running(): boolean;
1399
+ get options(): IMapExport.Options;
1400
+ submit(): Promise<boolean>;
1401
+ close(return_cursor?: boolean): void;
1402
+ }
1403
+
585
1404
  declare class UIDialog extends UiBase {
586
1405
  protected _dialog_catalogue: DialogCatalogue;
587
1406
  protected _badge: DialogBadge;
@@ -598,6 +1417,7 @@ declare class UIDialog extends UiBase {
598
1417
  protected _datetime: DialogDatetime;
599
1418
  protected _confirm: DialogConfirm;
600
1419
  protected _img_comment: DialogImgComment;
1420
+ protected _map_export: DialogMapExport;
601
1421
  constructor(note: Note);
602
1422
  get adapter(): {
603
1423
  get data(): {
@@ -626,6 +1446,7 @@ declare class UIDialog extends UiBase {
626
1446
  get datetime(): DialogDatetime;
627
1447
  get confirm(): DialogConfirm;
628
1448
  get img_comment(): DialogImgComment;
1449
+ get map_export(): DialogMapExport;
629
1450
  export(): IUiDialog.Data;
630
1451
  }
631
1452
 
@@ -1260,6 +2081,8 @@ declare namespace IUiMenubar {
1260
2081
  class: string[];
1261
2082
  tooltip: string;
1262
2083
  click: ItemClick;
2084
+ /** 运行时决定可见性,例如仅图形笔记可用的菜单。 */
2085
+ visible?: boolean;
1263
2086
  }
1264
2087
  type ItemClick = (e: MouseEvent, note: Note) => any;
1265
2088
  }
@@ -1609,179 +2432,79 @@ declare class UIToolbar extends UiBase {
1609
2432
  get fontlist(): {
1610
2433
  name: string;
1611
2434
  value: string;
1612
- }[];
1613
- get fontsize_list(): string[];
1614
- export(): void;
1615
- update_data(): void;
1616
- register(item: ToolBase): void;
1617
- add_annotation(): Function | Recorder | undefined;
1618
- get_local_fonts(): Promise<IUi.FontItem[]>;
1619
- first_letter_lower(): Function | undefined;
1620
- first_line_indent(): Function | undefined;
1621
- fontsize_change(dir: "up" | "down"): void;
1622
- set_inline_scale(scale: number): Function | undefined;
1623
- paste_md(): Promise<Recorder | undefined>;
1624
- protected find_next_fontsize(fontsize: string, dir: "up" | "down"): string | undefined;
1625
- }
1626
-
1627
- declare class UI extends NoteBase {
1628
- protected _status: IUi.Status;
1629
- protected _config: UiConfig;
1630
- protected _tips: UiTips;
1631
- protected _ai: UiAi;
1632
- protected _catalogue: UICatalogue;
1633
- protected _theme: UITheme;
1634
- protected _accent: UIAccent;
1635
- protected _search: UISearch;
1636
- protected _preset: UiPreset;
1637
- protected _dict: UIDict;
1638
- protected _sidebar: UiSidebar;
1639
- protected _float: UiFloat;
1640
- protected _dialog: UIDialog;
1641
- protected _toolbar: UIToolbar;
1642
- protected _menubar: UiMenubar;
1643
- protected _statusbar: UIStatusbar;
1644
- constructor(note: Note);
1645
- get statusbar(): UIStatusbar;
1646
- get status(): IUi.Status;
1647
- get menubar(): UiMenubar;
1648
- get toolbar(): UIToolbar;
1649
- get dialog(): UIDialog;
1650
- get float(): UiFloat;
1651
- get sidebar(): UiSidebar;
1652
- get ai(): UiAi;
1653
- get theme(): UITheme;
1654
- get accent(): UIAccent;
1655
- get catalogue(): UICatalogue;
1656
- get config(): UiConfig;
1657
- get tips(): UiTips;
1658
- get search(): UISearch;
1659
- get preset(): UiPreset;
1660
- get dict(): UIDict;
1661
- init(): void;
1662
- export_versions(): IUi.Versions;
1663
- export(): IUi.Data;
1664
- update_data(data: IUi.Data): IUi.Data;
1665
- }
1666
-
1667
- declare class NoteApi {
1668
- protected static _funcs: Map<INoteApi.Names, any>;
1669
- static get get_asset_url(): INoteApi.AssetUrl | undefined;
1670
- static get ask_ai(): INoteApi.AskAi | undefined;
1671
- static get parse_keyword(): INoteApi.ParseKeyword | undefined;
1672
- static get parse_associations(): INoteApi.ParseAssociation | undefined;
1673
- static get note_info(): INoteApi.GetNoteInfo | undefined;
1674
- static get load_themes(): INoteApi.GetThemes | undefined;
1675
- static get load_background(): INoteApi.GetBackground | undefined;
1676
- static get save_note(): INoteApi.SaveNote | undefined;
1677
- static register_asset_url(func: INoteApi.AssetUrl): void;
1678
- static register_ask_ai(func: INoteApi.AskAi): void;
1679
- static register_parse_keyword(func: INoteApi.ParseKeyword): void;
1680
- static register_parse_association(func: INoteApi.ParseAssociation): void;
1681
- static register_note_info(func: INoteApi.GetNoteInfo): void;
1682
- static register_load_themes(func: INoteApi.GetThemes): void;
1683
- static register_load_background(func: INoteApi.GetBackground): void;
1684
- static register_save_note(func: INoteApi.SaveNote): void;
1685
- }
1686
-
1687
- declare class ReceiverBase<TCube extends CubeBase = CubeBase> {
1688
- protected readonly cube: TCube;
1689
- protected readonly handlers: Map<ICommandCube.Names, ICubeHandler.Handler>;
1690
- constructor(cube: TCube);
1691
- receive(command: ICommandCube.BaseCommand): void | Recorder | undefined;
1692
- protected register(name: ICommandCube.Names, handler: ICubeHandler.Handler): void;
1693
- }
1694
-
1695
- declare class ReceiverChild<TCube extends CubeChild = CubeChild> extends ReceiverBase<TCube> {
1696
- protected set_selection_css(command: ICommandCube.SetSelectionCss): Recorder | undefined;
1697
- protected insert(command: ICommandCube.Insert): Recorder | undefined;
1698
- protected delete_selection(command: ICommandCube.Delete): Recorder | undefined;
1699
- protected set_css(command: ICommandCube.SetCss): Recorder | undefined;
1700
- protected set_attr(command: ICommandCube.SetAttr): Recorder | undefined;
1701
- protected delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
1702
- protected delete_edge(command: ICommandCube.DeleteEdge): Recorder;
1703
- protected degradation(_command: ICommandCube.Degradation): Recorder | undefined;
1704
- protected degradation_atomic_child(command: ICommandCube.DeleteEdge): Recorder;
1705
- protected add_postil(command: ICommandCube.PostilAdd): Recorder;
1706
- protected remove_postil(command: ICommandCube.PostilRemove): Recorder | undefined;
1707
- protected cursor_in_head(command: ICommandCursor.InHead): Recorder;
1708
- protected cursor_in_tail(command: ICommandCursor.InTail): Recorder;
1709
- }
1710
-
1711
- declare abstract class CubeChild<T extends ICubeBase.Data = any> extends CubeBase<T> {
1712
- protected _pcube: INote.NoteCube;
1713
- protected _children: CubeChild[];
1714
- protected _has_postil: boolean;
1715
- data: T;
1716
- postil: CubePostil | null;
1717
- constructor(note: Note, data: T, pcube: INote.NoteCube);
1718
- get pcube(): INote.NoteCube;
1719
- protected create_receiver(): ReceiverChild;
1720
- get text(): string;
1721
- get boxroot(): CubeBoxRoot;
1722
- get is_empty(): boolean;
1723
- get children(): CubeChild[];
1724
- get has_postil(): boolean;
1725
- set has_postil(v: boolean);
1726
- get dom(): HTMLElement | null;
1727
- get level(): number;
1728
- get host_postil(): CubePostil | null;
1729
- get host_node(): MapNodeBase | undefined;
1730
- get in_postil(): boolean;
1731
- get child_count(): number;
1732
- get child_first(): CubeChild<any>;
1733
- get child_first_line(): CubeLine | undefined;
1734
- get child_last(): CubeChild<any>;
1735
- get pid(): string;
1736
- get id(): string;
1737
- get css(): Record<string, any>;
1738
- get attrs(): Record<string, any>;
1739
- get info(): any;
1740
- get type(): INote.Cubes | string;
1741
- get clientRect(): DOMRect | undefined;
1742
- get clientRects(): DOMRectList | undefined;
1743
- get prev_cube(): INote.NoteChild | undefined;
1744
- get next_cube(): INote.NoteChild | undefined;
1745
- get prev_cube_deep(): CubeChild | undefined;
1746
- get next_cube_deep(): CubeChild | undefined;
1747
- get prev_visible_cube_deep(): CubeChild | undefined;
1748
- get next_visible_cube_deep(): CubeChild | undefined;
1749
- protected get atomic_child(): readonly string[];
1750
- get can_merge(): boolean;
1751
- get can_degradation(): boolean;
1752
- is_atomic_child(child: INote.NoteChild): boolean;
1753
- get is_delete_edge_boundary(): boolean;
1754
- get_delete_edge_strategy(dir: ICommandCube.DeleteDir): ICubeBase.DeleteEdgeStrategy;
1755
- reveal_ancestors(recorder: Recorder): Recorder;
1756
- get visible_tail_cube(): CubeChild;
1757
- protected find_visible_cube_deep(dir: "prev" | "next"): CubeChild | undefined;
1758
- get index(): number;
1759
- protected _setup(): void;
1760
- protected setup(): any;
1761
- splice(index: number, delete_count: number, ...insert: CubeChild[]): ICubeBase.CubeSpliceResult<CubeChild, ICubeBase.Data>;
1762
- get_children_cubedata(): ICubeBase.Data[];
1763
- create_child_block(data: ICubeBase.Data[]): CubeChild[];
1764
- gc(): void;
1765
- base_gc(): void;
1766
- base_export(): T;
1767
- copy(left: number, right: number): ICubeBase.Data[];
1768
- get_upstream_sum_scale(): _FigScale;
1769
- remove_self(dir?: ICommandCube.DeleteDir): Recorder | undefined;
1770
- merge(method: INote.CubeMergeMethod): Recorder | undefined;
1771
- find_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
1772
- filter(func: ICubeBase.CubeFilterFunc): INote.NoteChild[];
1773
- each(func: ICubeBase.CubeEachFunc): void;
1774
- find_dom_cube(node: Node): INote.NoteChild | undefined;
1775
- is_contains_cube(cube: INote.NoteCube | undefined): boolean;
1776
- find_upstream_untill(pcube: INote.NoteCube): INote.NoteChild | undefined;
1777
- find_upstream_target(func: ICubeBase.CubeFilterFunc): INote.NoteChild | undefined;
1778
- find_child_cube(id: ICubeBase.CubeId): CubeChild | undefined;
1779
- find_child_index(id: ICubeBase.CubeId): number;
1780
- find_next_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
1781
- find_prev_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
1782
- is_valid_range(range: [number, number], check_collapse?: boolean): boolean;
1783
- get_valid_index(pos: number | INote.CubeSide): number;
1784
- get_valid_range(range: [number, number]): [number, number];
2435
+ }[];
2436
+ get fontsize_list(): string[];
2437
+ export(): void;
2438
+ update_data(): void;
2439
+ register(item: ToolBase): void;
2440
+ add_annotation(): Function | Recorder | undefined;
2441
+ get_local_fonts(): Promise<IUi.FontItem[]>;
2442
+ first_letter_lower(): Function | undefined;
2443
+ first_line_indent(): Function | undefined;
2444
+ fontsize_change(dir: "up" | "down"): void;
2445
+ set_inline_scale(scale: number): Function | undefined;
2446
+ paste_md(): Promise<Recorder | undefined>;
2447
+ protected find_next_fontsize(fontsize: string, dir: "up" | "down"): string | undefined;
2448
+ }
2449
+
2450
+ declare class UI extends NoteBase {
2451
+ protected _status: IUi.Status;
2452
+ protected _config: UiConfig;
2453
+ protected _tips: UiTips;
2454
+ protected _ai: UiAi;
2455
+ protected _catalogue: UICatalogue;
2456
+ protected _theme: UITheme;
2457
+ protected _accent: UIAccent;
2458
+ protected _search: UISearch;
2459
+ protected _preset: UiPreset;
2460
+ protected _dict: UIDict;
2461
+ protected _sidebar: UiSidebar;
2462
+ protected _float: UiFloat;
2463
+ protected _dialog: UIDialog;
2464
+ protected _toolbar: UIToolbar;
2465
+ protected _menubar: UiMenubar;
2466
+ protected _statusbar: UIStatusbar;
2467
+ constructor(note: Note);
2468
+ get statusbar(): UIStatusbar;
2469
+ get status(): IUi.Status;
2470
+ get menubar(): UiMenubar;
2471
+ get toolbar(): UIToolbar;
2472
+ get dialog(): UIDialog;
2473
+ get float(): UiFloat;
2474
+ get sidebar(): UiSidebar;
2475
+ get ai(): UiAi;
2476
+ get theme(): UITheme;
2477
+ get accent(): UIAccent;
2478
+ get catalogue(): UICatalogue;
2479
+ get config(): UiConfig;
2480
+ get tips(): UiTips;
2481
+ get search(): UISearch;
2482
+ get preset(): UiPreset;
2483
+ get dict(): UIDict;
2484
+ init(): void;
2485
+ export_versions(): IUi.Versions;
2486
+ export(): IUi.Data;
2487
+ update_data(data: IUi.Data): IUi.Data;
2488
+ }
2489
+
2490
+ declare class NoteApi {
2491
+ protected static _funcs: Map<INoteApi.Names, any>;
2492
+ static get get_asset_url(): INoteApi.AssetUrl | undefined;
2493
+ static get ask_ai(): INoteApi.AskAi | undefined;
2494
+ static get parse_keyword(): INoteApi.ParseKeyword | undefined;
2495
+ static get parse_associations(): INoteApi.ParseAssociation | undefined;
2496
+ static get note_info(): INoteApi.GetNoteInfo | undefined;
2497
+ static get load_themes(): INoteApi.GetThemes | undefined;
2498
+ static get load_background(): INoteApi.GetBackground | undefined;
2499
+ static get save_note(): INoteApi.SaveNote | undefined;
2500
+ static register_asset_url(func: INoteApi.AssetUrl): void;
2501
+ static register_ask_ai(func: INoteApi.AskAi): void;
2502
+ static register_parse_keyword(func: INoteApi.ParseKeyword): void;
2503
+ static register_parse_association(func: INoteApi.ParseAssociation): void;
2504
+ static register_note_info(func: INoteApi.GetNoteInfo): void;
2505
+ static register_load_themes(func: INoteApi.GetThemes): void;
2506
+ static register_load_background(func: INoteApi.GetBackground): void;
2507
+ static register_save_note(func: INoteApi.SaveNote): void;
1785
2508
  }
1786
2509
 
1787
2510
  declare class NoteCubes extends NoteBase {
@@ -1968,7 +2691,7 @@ declare class NoteEvent extends NoteBase {
1968
2691
  on_asset_save(func: INoteEvent.ListenerAssetSave): Function;
1969
2692
  emit_asset_save(type: INote.AssetType, filename: string, blob: Blob): Promise<boolean>;
1970
2693
  on_asset_download(func: INoteEvent.ListenerAssetDownload): Function;
1971
- emit_asset_download(type: INote.AssetType, filename: string): Promise<boolean>;
2694
+ emit_asset_download(type: INote.AssetType, filename: string, display_name?: string): Promise<boolean>;
1972
2695
  on_asset_copy(func: INoteEvent.ListenerAssetCopy): Function;
1973
2696
  emit_asset_copy(noteid: string, asset_type: INote.AssetType, filename: string): Promise<boolean>;
1974
2697
  on_replace_id(func: INoteEvent.ListenerReplaceId): Function;
@@ -2100,189 +2823,7 @@ declare class NoteListener extends NoteBase {
2100
2823
  /** Releases document-level listeners and any scheduled float refresh. */
2101
2824
  dispose(): void;
2102
2825
  check_float(): void;
2103
- }
2104
-
2105
- declare class NodeIntention extends NoteBase {
2106
- protected _map: _Map;
2107
- protected _intention_list: Array<INodeDrag.Intention>;
2108
- protected _placeholder_linker: vue.Ref<string, string>;
2109
- protected _placeholder_path: vue.Ref<string, string>;
2110
- protected _node_rect: IMath.Rect;
2111
- protected _cursor_pos: vue.Ref<{
2112
- x: number;
2113
- y: number;
2114
- } | null, IMath.Point | {
2115
- x: number;
2116
- y: number;
2117
- } | null>;
2118
- protected _drag_count: vue.Ref<number, number>;
2119
- protected _preview_node: MapNodeBase | undefined;
2120
- constructor(map: _Map);
2121
- get map(): _Map;
2122
- get intention_list(): INodeDrag.Intention[];
2123
- get placeholder_linker(): string;
2124
- set placeholder_linker(v: string);
2125
- get placeholder_path(): string;
2126
- set placeholder_path(v: string);
2127
- get node_rect(): IMath.Rect;
2128
- set node_rect(v: IMath.Rect);
2129
- get cursor_pos(): IMath.Point | null;
2130
- set cursor_pos(v: IMath.Point | null);
2131
- get drag_count(): number;
2132
- set drag_count(v: number);
2133
- get preview_node(): MapNodeBase | undefined;
2134
- set preview_node(v: MapNodeBase | undefined);
2135
- get active_intention(): INodeDrag.Intention | undefined;
2136
- clear_drag_state(): void;
2137
- update_intention(pos_fig: IMath.Point, exclude_nodes?: Set<MapNodeBase>): false | undefined;
2138
- get_nearest_node(pos_fig: IMath.Point, exclude_nodes?: Set<MapNodeBase>): MapNodeBase | undefined;
2139
- get_intention(node: MapNodeBase, pos: IMath.Point): INodeDrag.IntentionResult;
2140
- make_rect_path(r: IMath.Rect): string;
2141
- }
2142
-
2143
- declare class MapInteraction extends NoteBase {
2144
- protected _map: IMapBase.Api & INote.NoteCube;
2145
- protected _node_intention: NodeIntention;
2146
- protected _op_pointer: Map<string, IMapInteraction.PointerApi>;
2147
- protected _op_keyboard: Map<string, IMapInteraction.KeyboardApi>;
2148
- protected _active_pointers: Set<number>;
2149
- constructor(map: _Map);
2150
- get node_intention(): NodeIntention;
2151
- get flowing(): boolean;
2152
- get interactions_pointer(): IMapInteraction.PointerApi[];
2153
- get interactions_keyboard(): IMapInteraction.KeyboardApi[];
2154
- get map(): _Map;
2155
- add_operation_pointer(op: IMapInteraction.PointerApi): void;
2156
- add_operation_keyboard(op: IMapInteraction.KeyboardApi): void;
2157
- register(dom: HTMLElement): void;
2158
- protected is_nested_map_event(e: Event): boolean;
2159
- check_mouse_key(e: MouseEvent, key: _PointKey): boolean;
2160
- get_map_selector(e: MouseEvent): IMapInteraction.MapSelector;
2161
- pointerdown(e: PointerEvent): void;
2162
- pointermove(e: PointerEvent): void;
2163
- pointerup(e: PointerEvent): void;
2164
- pointercancel(e: PointerEvent): void;
2165
- pointerleave(e: PointerEvent): void;
2166
- dblclick(e: MouseEvent): void;
2167
- wheel(e: WheelEvent): void;
2168
- contextmenu(e: MouseEvent): void;
2169
- }
2170
-
2171
- declare abstract class NoteHotkeyBase extends NoteBase {
2172
- protected _config: INoteInteraction.HotkeyConfig;
2173
- protected _registered: boolean;
2174
- protected _platform: INoteInteraction.Platform;
2175
- abstract get default_config(): INoteInteraction.HotkeyConfig;
2176
- abstract execution(e: KeyboardEvent, event: HotkeysEvent): any;
2177
- get id(): string;
2178
- get note(): Note;
2179
- get root(): CubeRoot<any>;
2180
- get config(): {
2181
- id: string;
2182
- name: INoteInteraction.Hotkeys;
2183
- shortcut: INoteInteraction.Shortcut;
2184
- scope: INoteInteraction.Scope;
2185
- group: INoteInteraction.Groups;
2186
- show?: boolean;
2187
- cursor?: boolean;
2188
- capture?: boolean;
2189
- keyup?: boolean;
2190
- };
2191
- get shortcut(): string;
2192
- get scope(): INoteInteraction.Scope;
2193
- check_allow(e: KeyboardEvent, event: HotkeysEvent): boolean;
2194
- init(note: Note, config?: INoteInteraction.HotkeyConfig, platform?: INoteInteraction.Platform): void;
2195
- register(): void;
2196
- export(): INoteInteraction.HotkeyConfig;
2197
- }
2198
-
2199
- declare class NoteInteraction extends NoteBase {
2200
- protected _hotkeys: Map<string, NoteHotkeyBase>;
2201
- protected _inited: boolean;
2202
- /**
2203
- * 当前持有“暂停笔记快捷键”资格的弹窗令牌。scope 是全局状态,因此必须等
2204
- * 最后一个弹窗释放令牌后才能恢复,避免嵌套弹窗的内层关闭时提前恢复。
2205
- */
2206
- protected _hotkey_suspend_tokens: Set<symbol>;
2207
- protected _scope_before_hotkey_suspend?: INoteInteraction.Scope;
2208
- protected _hotkey_platform: INoteInteraction.Platform;
2209
- data: Reactive<Record<string, INoteInteraction.HotkeyConfig>>;
2210
- constructor(note: Note);
2211
- get meta(): INote.CoreMeta;
2212
- disable_hotkey(): void;
2213
- enable_hotkey(): void;
2214
- get_scope(): INoteInteraction.Scope;
2215
- /**
2216
- * 暂停笔记快捷键并返回释放令牌。令牌可按任意顺序释放,重复释放无副作用。
2217
- */
2218
- suspend_hotkey(): symbol;
2219
- resume_hotkey(token: symbol): void;
2220
- set_scope(scope: INoteInteraction.Scope): void;
2221
- listen(dom: HTMLElement): void;
2222
- init(config?: Partial<INoteInteraction.Data>, options?: INoteInteraction.HotkeyInitOptions): void;
2223
- register(hotkey: NoteHotkeyBase, config?: INoteInteraction.HotkeyConfig): void;
2224
- protected init_hotkey(hotkey: NoteHotkeyBase, config?: INoteInteraction.HotkeyConfig): void;
2225
- protected set_data(config: INoteInteraction.HotkeyConfig): void;
2226
- reset(data: Record<string, INoteInteraction.HotkeyConfig>): void;
2227
- export(): INoteInteraction.Data;
2228
- update_data(...args: any[]): object;
2229
- get_hotkey_str(name: string): string;
2230
- validate_hotkeys(e: KeyboardEvent, cursor?: "all" | "cursor" | "uncursor"): boolean;
2231
- validate(e: KeyboardEvent, info: INoteInteraction.HotkeyConfig): boolean;
2232
- protected configs(): INoteInteraction.HotkeyConfig[];
2233
- protected validate_shortcut(e: KeyboardEvent, shortcut: string): boolean;
2234
- protected normalize_key(key: string): string;
2235
- static export_default(): INoteInteraction.Data;
2236
- }
2237
-
2238
- type HotkeyPlatform = Exclude<INoteInteraction.Platform, "auto">;
2239
- /**
2240
- * 尽可能识别运行平台。识别结果只用于选择默认快捷键,调用方可通过显式 platform 覆写。
2241
- */
2242
- declare function detect_hotkey_platform(): HotkeyPlatform;
2243
- declare function normalize_platform(platform?: INoteInteraction.Platform): HotkeyPlatform;
2244
- declare function is_platform_shortcut(shortcut: unknown): shortcut is INoteInteraction.PlatformShortcut;
2245
- /** 将旧字符串或平台快捷键表解析为当前平台注册给 hotkeys-js 的字符串。 */
2246
- declare function resolve_hotkey_shortcut(shortcut: INoteInteraction.Shortcut, platform?: INoteInteraction.Platform): string;
2247
- /** 将旧字符串规范成可持久化的平台快捷键表。 */
2248
- declare function to_platform_shortcut(shortcut: INoteInteraction.Shortcut): INoteInteraction.PlatformShortcut;
2249
-
2250
- declare abstract class NoteEventListenerBase<E extends Event = Event> {
2251
- protected records: WeakMap<Note, {
2252
- host: HTMLElement;
2253
- handler: EventListener;
2254
- }>;
2255
- abstract get type(): string;
2256
- protected abstract get_host(note: Note, dom: HTMLElement): HTMLElement;
2257
- protected abstract handle(note: Note, e: E): any;
2258
- register(note: Note, dom: HTMLElement): void;
2259
- }
2260
-
2261
- declare class PasteEventListener extends NoteEventListenerBase<ClipboardEvent> {
2262
- get type(): string;
2263
- protected get_host(note: Note, dom: HTMLElement): HTMLElement;
2264
- protected handle(note: Note, e: ClipboardEvent): Promise<void>;
2265
- }
2266
- declare const paste_event_listener: PasteEventListener;
2267
-
2268
- declare class CopyEventListener extends NoteEventListenerBase<ClipboardEvent> {
2269
- get type(): string;
2270
- protected get_host(note: Note, dom: HTMLElement): HTMLElement;
2271
- protected handle(note: Note, e: ClipboardEvent): void;
2272
- }
2273
- declare const copy_event_listener: CopyEventListener;
2274
-
2275
- declare class CutEventListener extends NoteEventListenerBase<ClipboardEvent> {
2276
- get type(): string;
2277
- protected get_host(note: Note, dom: HTMLElement): HTMLElement;
2278
- protected handle(note: Note, e: ClipboardEvent): void;
2279
- }
2280
- declare const cut_event_listener: CutEventListener;
2281
-
2282
- declare const NoteEventListeners: NoteEventListenerBase[];
2283
-
2284
- declare const MapHotkeys: Map<string, NoteHotkeyBase>;
2285
- declare function hotkey(cls: typeof NoteHotkeyBase): void;
2826
+ }
2286
2827
 
2287
2828
  declare class ConvertorMd {
2288
2829
  static convert(tokens: Token[]): ICubeBase.Data[];
@@ -2337,6 +2878,68 @@ declare class NoteAnchor extends NoteBase {
2337
2878
  protected highlight(target: CubeChild): void;
2338
2879
  }
2339
2880
 
2881
+ /** The single runtime authority for a Note's binary resources. */
2882
+ declare class NoteAssets extends NoteBase {
2883
+ protected _records: Map<string, INoteAssets.Record>;
2884
+ protected _files: Map<string, File>;
2885
+ protected _urls: Map<string, string>;
2886
+ get records(): {
2887
+ key: string;
2888
+ type: INote.AssetType;
2889
+ original_name: string;
2890
+ extension?: string;
2891
+ mime?: string;
2892
+ size: number;
2893
+ references: number;
2894
+ }[];
2895
+ get(key: string): {
2896
+ key: string;
2897
+ type: INote.AssetType;
2898
+ original_name: string;
2899
+ extension?: string;
2900
+ mime?: string;
2901
+ size: number;
2902
+ references: number;
2903
+ } | undefined;
2904
+ /** Adds a reference held by a Cube instance and returns its normalized record. */
2905
+ retain(ref: INoteAssets.Ref): {
2906
+ key: string;
2907
+ type: INote.AssetType;
2908
+ original_name: string;
2909
+ extension?: string;
2910
+ mime?: string;
2911
+ size: number;
2912
+ references: number;
2913
+ } | undefined;
2914
+ /** Removes a reference without deleting bytes, so undo remains safe. */
2915
+ release(key: string, type?: INote.AssetType): void;
2916
+ /** Imports a browser File and saves it through the host outside development mode. */
2917
+ import_file(type: INote.AssetType, file: File): Promise<{
2918
+ key: string;
2919
+ type: INote.AssetType;
2920
+ original_name: string;
2921
+ extension?: string;
2922
+ mime?: string;
2923
+ size: number;
2924
+ references: number;
2925
+ } | undefined>;
2926
+ import_blob(type: INote.AssetType, blob: Blob, name?: string): Promise<{
2927
+ key: string;
2928
+ type: INote.AssetType;
2929
+ original_name: string;
2930
+ extension?: string;
2931
+ mime?: string;
2932
+ size: number;
2933
+ references: number;
2934
+ } | undefined>;
2935
+ get_url(type: INote.AssetType, key: string): string | undefined;
2936
+ download(type: INote.AssetType, key: string, display_name?: string): Promise<boolean>;
2937
+ copy(from_noteid: string, type: INote.AssetType, key: string): Promise<boolean>;
2938
+ read_text(type: INote.AssetType, key: string): Promise<string | undefined>;
2939
+ export_manifest(): INote.AssetMap;
2940
+ dispose(): void;
2941
+ }
2942
+
2340
2943
  declare class Note {
2341
2944
  protected _id: string;
2342
2945
  protected _version_data: INote.CubesVersion;
@@ -2358,6 +2961,7 @@ declare class Note {
2358
2961
  protected _action: NoteAction;
2359
2962
  protected _scopes: NoteScopes;
2360
2963
  protected _anchor: NoteAnchor;
2964
+ protected _assets: NoteAssets;
2361
2965
  constructor(notedata: IDoc.Data | IMap.Data, uidata?: IUi.Data);
2362
2966
  get uidata(): IUi.Data;
2363
2967
  get id(): string;
@@ -2382,6 +2986,7 @@ declare class Note {
2382
2986
  get interaction(): NoteInteraction;
2383
2987
  get scopes(): NoteScopes;
2384
2988
  get anchor(): NoteAnchor;
2989
+ get assets(): NoteAssets;
2385
2990
  get adapters(): {
2386
2991
  get versions(): INote.CubesVersion;
2387
2992
  get metas(): Map<string, INote.CubeMeta>;
@@ -2553,6 +3158,64 @@ declare class CubeGallery extends CubeChild<IGallery.Data> {
2553
3158
  gc(): void;
2554
3159
  }
2555
3160
 
3161
+ declare class AdapterCubeFiles extends CubeAdapterBase {
3162
+ get meta(): INote.CubeMeta;
3163
+ get_data(info?: IFiles.Item[], css?: Record<string, string>, attrs?: Partial<IFiles.Attrs>): IFiles.Data;
3164
+ normalize_items(items: unknown): IFiles.Item[];
3165
+ replace_id(versions: INote.CubesVersion, data: IFiles.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IFiles.Data>;
3166
+ update_data(versions: INote.CubesVersion, data: IFiles.Data): ICubeBase.CubeUpdateResult<IFiles.Data>;
3167
+ }
3168
+
3169
+ declare class FilesStatus extends CubeStatusBase<IFiles.Data> {
3170
+ protected _files: vue.ShallowReactive<IFiles.Item[]>;
3171
+ protected _active_key: vue.Ref<string, string>;
3172
+ get cube(): CubeFiles;
3173
+ get files(): IFiles.Item[];
3174
+ get active_key(): string;
3175
+ get active_file(): IFiles.Item | undefined;
3176
+ init(): void;
3177
+ update_files(files?: IFiles.Item[], preferred?: string): void;
3178
+ set_active(key?: string): void;
3179
+ }
3180
+
3181
+ declare class ReceiverFiles extends ReceiverChild<CubeFiles> {
3182
+ protected reset(command: ICommandFiles.Reset): Recorder;
3183
+ protected insert_files(command: ICommandFiles.Insert): Recorder | undefined;
3184
+ protected remove(command: ICommandFiles.Remove): Recorder | undefined;
3185
+ protected rename(command: ICommandFiles.Rename): Recorder | undefined;
3186
+ protected replace(command: ICommandFiles.Replace): Recorder | undefined;
3187
+ }
3188
+
3189
+ declare class CubeFiles extends CubeChild<IFiles.Data> {
3190
+ protected _status: FilesStatus;
3191
+ constructor(note: Note, data: IFiles.Data, pcube: CubeChild);
3192
+ get adapter(): AdapterCubeFiles;
3193
+ get status(): FilesStatus;
3194
+ get attrs(): IFiles.Attrs;
3195
+ get files(): IFiles.Item[];
3196
+ get is_empty(): boolean;
3197
+ get meta(): INote.CubeMeta<INote.Cubes>;
3198
+ get component(): any;
3199
+ build_child(): void;
3200
+ get_valid_file_index(pos: number): number;
3201
+ insert_files(index: number, files: IFiles.Item[]): IFiles.Item[];
3202
+ remove_files(keys: Set<string>): IFiles.Item[];
3203
+ rename_file(key: string, name: string): string | undefined;
3204
+ replace_file(key: string, file: IFiles.Item): IFiles.Item | undefined;
3205
+ reset_files(files: IFiles.Item[]): void;
3206
+ protected retain_files(files: IFiles.Item[]): void;
3207
+ protected release_files(files: IFiles.Item[]): void;
3208
+ export_files(): {
3209
+ key: string;
3210
+ name: string;
3211
+ ext?: string;
3212
+ mime?: string;
3213
+ size: number;
3214
+ }[];
3215
+ export(): IFiles.Data;
3216
+ gc(): void;
3217
+ }
3218
+
2556
3219
  declare class AdapterCubeBadge extends CubeAdapterBase {
2557
3220
  get supports_inline_scale(): boolean;
2558
3221
  get meta(): INote.CubeMeta;
@@ -2870,598 +3533,160 @@ declare class ReceiverBoxRoot extends ReceiverChild<CubeBoxRoot> {
2870
3533
 
2871
3534
  declare class CubeBoxRoot extends CubeChild<ICubeBoxRoot.Data> {
2872
3535
  protected _status: BoxRootStatus;
2873
- constructor(note: Note, data: ICubeBoxRoot.Data, pcube: INote.NoteCube);
2874
- get adapter(): AdapterCubeBoxRoot;
2875
- get status(): BoxRootStatus;
2876
- get children(): CubeChild[];
2877
- get component(): any;
2878
- get can_merge(): boolean;
2879
- get is_empty(): boolean;
2880
- get attrs(): ICubeBase.Attrs;
2881
- build_child(data: ICubeBoxRoot.Data): void;
2882
- gc(): void;
2883
- export(): ICubeBoxRoot.Data;
2884
- get_valid_index(pos: number | INote.CubeSide): number;
2885
- }
2886
-
2887
- declare class AdapterCubeBox extends CubeAdapterBase {
2888
- get meta(): INote.CubeMeta;
2889
- get_data(content?: ICubeBase.Data[], css?: Record<string, any>, attrs?: Record<string, any>): IBox.Data;
2890
- replace_id(versions: INote.CubesVersion, data: IBox.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IBox.Data>;
2891
- update_data(versions: INote.CubesVersion, data: IBox.Data): ICubeBase.CubeUpdateResult;
2892
- }
2893
-
2894
- declare class BoxStatus extends CubeStatusBase<IBox.Data> {
2895
- constructor(cube: CubeBox);
2896
- }
2897
-
2898
- declare class ReceiverBox extends ReceiverChild<CubeBox> {
2899
- on_merge(command: ICommandCube.Merge): Recorder | void;
2900
- on_box_order(command: ICommandCube.Reorder): Recorder | void;
2901
- on_insert_child(command: ICommandCube.InsertChild): Recorder | void;
2902
- on_delete_child(command: ICommandCube.DeleteChild): Recorder | void;
2903
- on_box_reset(command: ICommandCube.Reset): Recorder | void;
2904
- on_cube_delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
2905
- }
2906
-
2907
- declare class CubeBox extends CubeChild<IBox.Data> {
2908
- protected _status: BoxStatus;
2909
- constructor(note: Note, data: IBox.Data, pcube: CubeChild);
2910
- get adapter(): AdapterCubeBox;
2911
- get status(): BoxStatus;
2912
- get children(): CubeChild[];
2913
- get component(): any;
2914
- get can_merge(): boolean;
2915
- get attrs(): IBox.Attrs;
2916
- get meta(): INote.CubeMeta<INote.Cubes>;
2917
- get is_empty(): boolean;
2918
- build_child(data: IBox.Data): void;
2919
- export(): IBox.Data;
2920
- gc(): void;
2921
- get_valid_index(pos: number | INote.CubeSide): number;
2922
- }
2923
-
2924
- declare class AdapterCubeBoxFolder extends CubeAdapterBase {
2925
- get meta(): INote.CubeMeta;
2926
- filter_out_empty(cubes: ICubeBase.Data[]): ICubeBase.Data[];
2927
- get_data(content?: ICubeBase.Data[], css?: Record<string, any>, attrs?: Partial<ICubeBase.Attrs>): ICubeBoxFolder.Data;
2928
- replace_id(versions: INote.CubesVersion, data: ICubeBoxFolder.Data, map: Record<string, string>): ICubeBase.ReplaceIdResult<ICubeBoxFolder.Data>;
2929
- update_data(versions: INote.CubesVersion, data: ICubeBoxFolder.Data): ICubeBase.CubeUpdateResult<ICubeBoxFolder.Data>;
2930
- }
2931
-
2932
- declare class BoxFolderStatus extends CubeStatusBase<ICubeBoxFolder.Data> {
2933
- constructor(cube: CubeBoxFolder);
2934
- }
2935
-
2936
- declare class ReceiverBoxFolder extends ReceiverChild<CubeBoxFolder> {
2937
- on_cube_delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
2938
- on_merge(command: ICommandCube.Merge): Recorder | void;
2939
- on_cube_reorder(command: ICommandCube.Reorder): Recorder | void;
2940
- on_cube_reset(command: ICommandCube.Reset): Recorder | void;
2941
- on_insert_child(command: ICommandCube.InsertChild): Recorder | void;
2942
- on_delete_child(command: ICommandCube.DeleteChild): Recorder | void;
2943
- }
2944
-
2945
- declare class CubeBoxFolder extends CubeChild<ICubeBoxFolder.Data> {
2946
- protected _status: BoxFolderStatus;
2947
- constructor(note: Note, data: ICubeBoxFolder.Data, pcube: CubeChild);
2948
- get adapter(): AdapterCubeBoxFolder;
2949
- get status(): BoxFolderStatus;
2950
- get children(): CubeChild[];
2951
- get component(): any;
2952
- get can_merge(): boolean;
2953
- get is_empty(): boolean;
2954
- get attrs(): ICubeBase.Attrs;
2955
- build_child(data: ICubeBoxFolder.Data): void;
2956
- gc(): void;
2957
- export(): ICubeBoxFolder.Data;
2958
- get_valid_index(pos: number | INote.CubeSide): number;
2959
- }
2960
-
2961
- declare class AdapterCubeDoc extends CubeAdapterBase {
2962
- get meta(): INote.CubeMeta;
2963
- get_data(): IDoc.Data;
2964
- replace_id(versions: INote.CubesVersion, data: IDoc.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IDoc.Data>;
2965
- update_data(versions: INote.CubesVersion, data: IDoc.Data): ICubeBase.CubeUpdateResult;
2966
- }
2967
-
2968
- declare class DocStatus extends CubeStatusBaseRoot<IDoc.Data> {
2969
- constructor(cube: CubeDoc);
2970
- }
2971
-
2972
- declare class ReceiverRoot<TCube extends CubeRoot = CubeRoot> extends ReceiverBase<TCube> {
2973
- protected reset(command: ICommandCube.Reset): Recorder;
2974
- protected reorder(command: ICommandCube.Reorder): Recorder | undefined;
2975
- protected insert_child(command: ICommandCube.InsertChild): Recorder;
2976
- protected delete_child(command: ICommandCube.DeleteChild): Recorder | undefined;
2977
- protected set_selection_css(command: ICommandCube.SetSelectionCss): Recorder | undefined;
2978
- protected insert(command: ICommandCube.Insert): Recorder | undefined;
2979
- protected delete_selection(command: ICommandCube.Delete): Recorder | undefined;
2980
- protected set_attr(command: ICommandCube.SetAttr): Recorder | undefined;
2981
- protected cursor_in_tail(command: ICommandCursor.InTail): Recorder | undefined;
2982
- }
2983
-
2984
- declare class ReceiverDoc extends ReceiverRoot<CubeDoc> {
2985
- }
2986
-
2987
- declare class CubeDoc extends CubeRoot<IDoc.Data> {
2988
- protected _status: DocStatus;
2989
- protected _app: any;
2990
- constructor(note: Note, data: IDoc.Data);
2991
- get adapter(): AdapterCubeDoc;
2992
- get status(): DocStatus;
2993
- get app(): any;
2994
- get component(): any;
2995
- get meta(): INote.CubeMeta<INote.Cubes>;
2996
- get doc(): this;
2997
- build_child(data: IDoc.Data): void;
2998
- gc(): void;
2999
- export(): IDoc.Data;
3000
- render(dom: HTMLElement): void;
3001
- }
3002
-
3003
- declare class AdapterCubeDatetime extends CubeAdapterBase {
3004
- get supports_inline_scale(): boolean;
3005
- get meta(): INote.CubeMeta;
3006
- get_data(timestamp?: number, css?: Record<string, string>, attrs?: Partial<IDateTime.Attrs>): IDateTime.Data;
3007
- replace_id(versions: INote.CubesVersion, data: IDateTime.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IDateTime.Data>;
3008
- update_data(versions: INote.CubesVersion, data: IDateTime.Data): ICubeBase.CubeUpdateResult<IDateTime.Data>;
3009
- normalize_timestamp(timestamp: unknown): number;
3010
- normalize_format(format: unknown): IDateTime.Format;
3011
- }
3012
-
3013
- declare class DatetimeStatus extends CubeStatusBase<IDateTime.Data> {
3014
- protected _text: vue.ComputedRef<string>;
3015
- get cube(): CubeDatetime;
3016
- get text(): string;
3017
- format_timestamp(timestamp: number, format: IDateTime.Format, now?: number): string;
3018
- get_next_update_time(now: number): number | undefined;
3019
- protected format_relative(timestamp: number, now: number): string;
3020
- }
3021
-
3022
- declare class ReceiverDatetime extends ReceiverChild<CubeDatetime> {
3023
- protected update(command: ICommandDateTime.Update): Recorder;
3024
- protected set_format(command: ICommandDateTime.SetFormat): Recorder;
3025
- }
3026
-
3027
- declare class CubeDatetime extends CubeChild<IDateTime.Data> {
3028
- protected _status: DatetimeStatus;
3029
- constructor(note: Note, data: IDateTime.Data, pcube: CubeChild);
3030
- get adapter(): AdapterCubeDatetime;
3031
- get status(): DatetimeStatus;
3032
- get component(): any;
3033
- get timestamp(): number;
3034
- get format(): IDateTime.Format;
3035
- get text(): string;
3036
- protected build_child(data: IDateTime.Data): void;
3037
- export(): IDateTime.Data;
3038
- gc(): void;
3039
- }
3040
-
3041
- declare class AdapterCubeMap extends CubeAdapterBase {
3042
- get meta(): INote.CubeMeta;
3043
- get_data(): IMap.Data;
3044
- replace_id(versions: INote.CubesVersion, data: IMap.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IMap.Data>;
3045
- protected replace_node_relations(relations: Record<string, string[]>, map: Record<string, string>): Record<string, string[]>;
3046
- update_data(versions: INote.CubesVersion, data: IMap.Data): ICubeBase.CubeUpdateResult;
3047
- }
3048
-
3049
- declare class AdapterCubeLinker extends CubeAdapterBase {
3050
- get meta(): INote.CubeMeta;
3051
- replace_id(versions: INote.CubesVersion, data: ILinker.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<ILinker.Data>;
3052
- get_data(from: string, to: string, type?: INodeBase.Line): ILinker.Data;
3053
- update_data(versions: INote.CubesVersion, data: ILinker.Data): ICubeBase.CubeUpdateResult<ILinker.Data>;
3054
- }
3055
-
3056
- declare class LinkerStatus extends CubeStatusBase<ILinker.Data> {
3057
- protected _path: Ref<string, string>;
3058
- protected _sample: Reactive<IMath.Point[]>;
3059
- protected _point_from: IMath.Point;
3060
- protected _point_to: IMath.Point;
3061
- protected _line_type: Ref<INodeBase.Line>;
3062
- protected _line_width: Ref<number>;
3063
- protected _line_stroke: Ref<string | undefined>;
3064
- constructor(cube: CubeLinker);
3065
- init(): void;
3066
- get map2d(): Linker2D;
3067
- get cube(): CubeLinker;
3068
- get path(): string;
3069
- get point_from(): IMath.Point;
3070
- get point_to(): IMath.Point;
3071
- set point_from(pt: Partial<IMath.Point>);
3072
- set point_to(pt: Partial<IMath.Point>);
3073
- get map(): _Map;
3074
- get from_node(): MapNodeBase | undefined;
3075
- get to_node(): MapNodeBase | undefined;
3076
- get sample(): IMath.Point[];
3077
- get anchor_left(): ILinker.Anchor;
3078
- get anchor_right(): ILinker.Anchor;
3079
- get line_type(): INodeBase.Line;
3080
- get line_stroke(): string | undefined;
3081
- get line_width(): number;
3082
- get css(): {
3083
- stroke: string | undefined;
3084
- "stroke-width": number;
3085
- };
3086
- update_path(path: string): void;
3087
- update_line_type(val: INodeBase.Line): void;
3088
- update_line_stroke(val: string | undefined): void;
3089
- update_line_width(val: number): void;
3090
- update_sample(sample: IMath.Point[]): void;
3091
- protected fresh_sample(): IMath.Point[];
3536
+ constructor(note: Note, data: ICubeBoxRoot.Data, pcube: INote.NoteCube);
3537
+ get adapter(): AdapterCubeBoxRoot;
3538
+ get status(): BoxRootStatus;
3539
+ get children(): CubeChild[];
3540
+ get component(): any;
3541
+ get can_merge(): boolean;
3542
+ get is_empty(): boolean;
3543
+ get attrs(): ICubeBase.Attrs;
3544
+ build_child(data: ICubeBoxRoot.Data): void;
3545
+ gc(): void;
3546
+ export(): ICubeBoxRoot.Data;
3547
+ get_valid_index(pos: number | INote.CubeSide): number;
3092
3548
  }
3093
3549
 
3094
- declare class Linker2D extends Map2D {
3095
- protected _linker: CubeLinker;
3096
- protected _point_from: IMath.Point;
3097
- protected _point_to: IMath.Point;
3098
- protected _path: string;
3099
- protected _sample: IMath.Point[];
3100
- protected _from_node: MapNodeBase | undefined;
3101
- protected _to_node: MapNodeBase | undefined;
3102
- protected _prev_layout_type: INodeBase.Layout;
3103
- protected _prev_line_type: INodeBase.Line;
3104
- protected _prev_line_width: number;
3105
- protected _prev_line_stroke: string | undefined;
3106
- protected _prev_from_rect: IMath.Rect;
3107
- protected _prev_to_rect: IMath.Rect;
3108
- constructor(cube: CubeLinker);
3109
- get linker(): CubeLinker;
3110
- get status(): LinkerStatus;
3111
- get path(): string;
3112
- get attrs(): Record<string, any>;
3113
- get sample(): IMath.Point[];
3114
- get from_node(): MapNodeBase<any> | undefined;
3115
- get to_node(): MapNodeBase<any> | undefined;
3116
- get line_type(): INodeBase.Line;
3117
- get anchor_left(): ILinker.Anchor;
3118
- get anchor_right(): ILinker.Anchor;
3119
- get line_stroke(): any;
3120
- get line_width(): any;
3121
- get rect(): IMath.Rect;
3122
- protected clone_rect(rect: IMath.Rect): IMath.Rect;
3123
- update_path(): "" | undefined;
3124
- get_upstream_sum_scale(): _FigScale;
3550
+ declare class AdapterCubeBox extends CubeAdapterBase {
3551
+ get meta(): INote.CubeMeta;
3552
+ get_data(content?: ICubeBase.Data[], css?: Record<string, any>, attrs?: Record<string, any>): IBox.Data;
3553
+ replace_id(versions: INote.CubesVersion, data: IBox.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IBox.Data>;
3554
+ update_data(versions: INote.CubesVersion, data: IBox.Data): ICubeBase.CubeUpdateResult;
3125
3555
  }
3126
3556
 
3127
- declare class ReceiverMapChild<TCube extends MapChild = MapChild> extends ReceiverChild<any> {
3128
- protected readonly cube: TCube;
3129
- constructor(cube: TCube);
3130
- protected insert(command: ICommandCube.Insert): Recorder | undefined;
3131
- protected set_css(command: ICommandCube.SetCss): Recorder | undefined;
3132
- protected remove_postil(command: ICommandCube.PostilRemove): Recorder | undefined;
3133
- protected cursor_in_head(command: ICommandCursor.InHead): Recorder;
3134
- protected cursor_in_tail(command: ICommandCursor.InTail): Recorder;
3557
+ declare class BoxStatus extends CubeStatusBase<IBox.Data> {
3558
+ constructor(cube: CubeBox);
3135
3559
  }
3136
3560
 
3137
- declare class ReceiverLinker extends ReceiverMapChild<CubeLinker> {
3138
- protected update(command: ICommandLinker.Update): Recorder;
3561
+ declare class ReceiverBox extends ReceiverChild<CubeBox> {
3562
+ on_merge(command: ICommandCube.Merge): Recorder | void;
3563
+ on_box_order(command: ICommandCube.Reorder): Recorder | void;
3564
+ on_insert_child(command: ICommandCube.InsertChild): Recorder | void;
3565
+ on_delete_child(command: ICommandCube.DeleteChild): Recorder | void;
3566
+ on_box_reset(command: ICommandCube.Reset): Recorder | void;
3567
+ on_cube_delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
3139
3568
  }
3140
3569
 
3141
- declare class CubeLinker extends MapChild<ILinker.Data> {
3142
- protected _status: LinkerStatus;
3143
- protected _map2d: Linker2D;
3144
- constructor(note: Note, data: ILinker.Data, pcube: _Map);
3145
- get adapter(): AdapterCubeLinker;
3146
- get map2d(): Linker2D;
3147
- get status(): LinkerStatus;
3148
- get show(): boolean;
3149
- get info(): ILinker.Info;
3150
- get rect(): IMath.Rect;
3570
+ declare class CubeBox extends CubeChild<IBox.Data> {
3571
+ protected _status: BoxStatus;
3572
+ constructor(note: Note, data: IBox.Data, pcube: CubeChild);
3573
+ get adapter(): AdapterCubeBox;
3574
+ get status(): BoxStatus;
3575
+ get children(): CubeChild[];
3151
3576
  get component(): any;
3152
- get from_id(): string;
3153
- get to_id(): string;
3154
- get from_node(): MapNodeBase<any> | undefined;
3155
- get to_node(): MapNodeBase<any> | undefined;
3156
- get id(): string;
3157
- export(): ILinker.Data;
3158
- build_child(data: ILinker.Data): void;
3159
- get_linker_info(): ICommandMap.LinkerInfo | undefined;
3577
+ get can_merge(): boolean;
3578
+ get attrs(): IBox.Attrs;
3579
+ get meta(): INote.CubeMeta<INote.Cubes>;
3580
+ get is_empty(): boolean;
3581
+ build_child(data: IBox.Data): void;
3582
+ export(): IBox.Data;
3583
+ gc(): void;
3584
+ get_valid_index(pos: number | INote.CubeSide): number;
3160
3585
  }
3161
3586
 
3162
- declare class LinkerLine {
3163
- static draw(line: INodeBase.Linker): string;
3164
- static get_line(from: IMath.Point, to: IMath.Point, type: INodeBase.Line): string;
3165
- static line(from: IMath.Point, to: IMath.Point): string;
3166
- static bezier2(from: IMath.Point, to: IMath.Point): string;
3167
- static polyline(from: IMath.Point, to: IMath.Point, radius?: number): string;
3168
- static polyline2(from: IMath.Point, to: IMath.Point, radius?: number): string;
3169
- static polyline3(from: IMath.Point, to: IMath.Point, radius?: number): string;
3170
- static fold1(from: IMath.Point, to: IMath.Point, radius?: number): string;
3171
- static fold2(from: IMath.Point, to: IMath.Point, radius?: number): string;
3172
- /**
3173
- * 生成两点之间的波浪线路径(SVG `<path>` 的 `d` 属性)
3174
- * @param start 起点
3175
- * @param end 终点
3176
- * @param waveCount 波浪的数量(默认 3)
3177
- * @param waveHeight 波浪的高度(默认自动计算)
3178
- * @returns SVG `<path>` 的 `d` 属性字符串
3179
- */
3180
- static wave(start: IMath.Point, end: IMath.Point, waveCount?: number, waveHeight?: number): string;
3587
+ declare class AdapterCubeBoxFolder extends CubeAdapterBase {
3588
+ get meta(): INote.CubeMeta;
3589
+ filter_out_empty(cubes: ICubeBase.Data[]): ICubeBase.Data[];
3590
+ get_data(content?: ICubeBase.Data[], css?: Record<string, any>, attrs?: Partial<ICubeBase.Attrs>): ICubeBoxFolder.Data;
3591
+ replace_id(versions: INote.CubesVersion, data: ICubeBoxFolder.Data, map: Record<string, string>): ICubeBase.ReplaceIdResult<ICubeBoxFolder.Data>;
3592
+ update_data(versions: INote.CubesVersion, data: ICubeBoxFolder.Data): ICubeBase.CubeUpdateResult<ICubeBoxFolder.Data>;
3181
3593
  }
3182
3594
 
3183
- declare class LinkerPoint {
3184
- static map: Record<string, ILinker.Finder>;
3185
- static find(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints | undefined;
3186
- static get_point(node: MapNodeBase): IMath.Point | undefined;
3187
- static time_down(from: MapNodeBase, to: MapNodeBase): {
3188
- from: IMath.Point;
3189
- to: IMath.Point;
3190
- };
3191
- static time_right(from: MapNodeBase, to: MapNodeBase): {
3192
- from: IMath.Point;
3193
- to: IMath.Point;
3194
- };
3195
- static up(from: MapNodeBase, to: MapNodeBase): {
3196
- from: IMath.Point;
3197
- to: IMath.Point;
3198
- };
3199
- static right(from: MapNodeBase, to: MapNodeBase): {
3200
- from: IMath.Point;
3201
- to: IMath.Point;
3202
- };
3203
- static left(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
3204
- static down(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
3205
- static file_tree(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints;
3206
- static free_to_any(from: MapNodeBase, to: MapNodeBase): IMapTools.LinePoints | undefined;
3595
+ declare class BoxFolderStatus extends CubeStatusBase<ICubeBoxFolder.Data> {
3596
+ constructor(cube: CubeBoxFolder);
3207
3597
  }
3208
3598
 
3209
- declare class Waiter {
3210
- protected _promise: Promise<any>;
3211
- protected _resolve: Function;
3212
- protected _reject: Function;
3213
- constructor();
3214
- get promise(): Promise<any>;
3215
- resolve(val?: any): void;
3216
- reject(err: any): any;
3599
+ declare class ReceiverBoxFolder extends ReceiverChild<CubeBoxFolder> {
3600
+ on_cube_delete_adjacent(command: ICommandCube.DeleteAdjacent): Recorder;
3601
+ on_merge(command: ICommandCube.Merge): Recorder | void;
3602
+ on_cube_reorder(command: ICommandCube.Reorder): Recorder | void;
3603
+ on_cube_reset(command: ICommandCube.Reset): Recorder | void;
3604
+ on_insert_child(command: ICommandCube.InsertChild): Recorder | void;
3605
+ on_delete_child(command: ICommandCube.DeleteChild): Recorder | void;
3217
3606
  }
3218
- declare const waiter_map_svg: Waiter;
3219
3607
 
3220
- declare class MapStatus extends CubeStatusBaseRoot<IMap.Data> implements IMapBase.Status {
3221
- protected _nodes_count: vue.Ref<number, number>;
3222
- protected _view_rect: IMath.Rect;
3223
- protected _nodes_view: ShallowReactive<Set<MapNodeBase>>;
3224
- protected _linkers_view: ShallowReactive<Set<CubeLinker>>;
3225
- protected _nodes_selected: ShallowReactive<Set<MapNodeBase>>;
3226
- protected _nodes_editing: ShallowReactive<Set<MapNodeBase>>;
3227
- protected _nodes_outbox: ShallowReactive<Set<MapNodeBase>>;
3228
- protected _line_delete_selected: ShallowReactive<Set<MapNodeBase | CubeLinker>>;
3229
- protected _nodes_dragging: ShallowReactive<Set<MapNodeBase>>;
3230
- protected _placeholder_linkers: Reactive<_MapPlaceholderLinker[]>;
3231
- protected _placeholder_box_selector: vue.Ref<string, string>;
3232
- protected _placeholder_line_delete: vue.Ref<string, string>;
3233
- constructor(cube: CubeMap & IMapBase.Api);
3234
- get attrs(): IMap.Attrs;
3235
- get matrix2d(): {
3236
- a: number;
3237
- b: number;
3238
- c: number;
3239
- d: number;
3240
- e: number;
3241
- f: number;
3242
- };
3243
- get line_delete_selected(): Set<MapNodeBase<any> | CubeLinker>;
3244
- get nodes_count(): number;
3245
- get nodes_view_count(): number;
3246
- get view_rect(): {
3247
- x: number;
3248
- y: number;
3249
- width: number;
3250
- height: number;
3251
- };
3252
- get view_center(): {
3253
- x: number;
3254
- y: number;
3255
- };
3256
- get map(): CubeMap & IMapBase.Api;
3257
- get matrix2d_dom_string(): string;
3258
- get placeholder_linkers(): {
3259
- path: string;
3260
- anchor_start: string;
3261
- anchor_end: string;
3262
- stroke?: string | undefined;
3263
- width?: number | undefined;
3264
- }[];
3265
- get placeholder_box_selector(): string;
3266
- get placeholder_line_delete(): string;
3267
- get nodes_view(): Set<MapNodeBase<any>>;
3268
- get linkers_view(): Set<CubeLinker>;
3269
- get nodes_selected(): Set<MapNodeBase<any>>;
3270
- get nodes_editing(): Set<MapNodeBase<any>>;
3271
- get nodes_outbox(): Set<MapNodeBase<any>>;
3272
- reset_nodes_view(nodes: Iterable<MapNodeBase>): void;
3273
- reset_nodes_outbox(nodes: Iterable<MapNodeBase>): void;
3274
- reset_linkers_view(linkers: Iterable<CubeLinker>): void;
3275
- remove_linker(linker: CubeLinker): void;
3276
- remove_node(node: MapNodeBase): void;
3277
- set_node_visible(node: MapNodeBase, visible: boolean): void;
3278
- set_linker_visible(linker: CubeLinker, visible: boolean): void;
3279
- set_node_editing(node: MapNodeBase, editing: boolean): void;
3280
- set_node_selected(node: MapNodeBase, selected: boolean): void;
3281
- set_node_outbox(node: MapNodeBase, outbox: boolean): void;
3282
- set_line_deleted(cube: MapNodeBase | CubeLinker, deleted: boolean): void;
3283
- is_node_visible(node: MapNodeBase): boolean;
3284
- is_linker_visible(linker: CubeLinker): boolean;
3285
- is_node_editing(node: MapNodeBase): boolean;
3286
- is_node_selected(node: MapNodeBase): boolean;
3287
- is_line_deleted(cube: MapNodeBase | CubeLinker): boolean;
3288
- clear_line_deleted(): void;
3289
- clear_node_editing(): void;
3290
- clear_node_selected(): void;
3291
- clear_node_outbox(): void;
3292
- update_nodes_count(count: number): void;
3293
- update_matrix2d(m?: IMapTools.Matrix2D): void;
3294
- update_view_rect(rect: IMath.Rect): void;
3295
- update_placeholder_box_selector(value: string): void;
3296
- update_placeholder_line_delete(value: string): void;
3297
- update_placeholder_linkers(linkers: _MapPlaceholderLinker[]): void;
3298
- add_placeholder_linker(linker: _MapPlaceholderLinker): void;
3299
- get nodes_dragging(): Set<MapNodeBase>;
3300
- set_node_dragging(node: MapNodeBase, dragging: boolean): void;
3301
- is_node_dragging(node: MapNodeBase): boolean;
3302
- clear_nodes_dragging(): void;
3608
+ declare class CubeBoxFolder extends CubeChild<ICubeBoxFolder.Data> {
3609
+ protected _status: BoxFolderStatus;
3610
+ constructor(note: Note, data: ICubeBoxFolder.Data, pcube: CubeChild);
3611
+ get adapter(): AdapterCubeBoxFolder;
3612
+ get status(): BoxFolderStatus;
3613
+ get children(): CubeChild[];
3614
+ get component(): any;
3615
+ get can_merge(): boolean;
3616
+ get is_empty(): boolean;
3617
+ get attrs(): ICubeBase.Attrs;
3618
+ build_child(data: ICubeBoxFolder.Data): void;
3619
+ gc(): void;
3620
+ export(): ICubeBoxFolder.Data;
3621
+ get_valid_index(pos: number | INote.CubeSide): number;
3303
3622
  }
3304
3623
 
3305
- declare class MapCanvas extends NoteBase {
3306
- protected _ui_visible: vue.Ref<boolean, boolean>;
3307
- protected _canvas: HTMLCanvasElement;
3308
- protected _ui_scale: vue.Ref<number, number>;
3309
- constructor(note: Note);
3310
- get ui_scale(): number;
3311
- set ui_scale(v: number);
3312
- get ui_width(): number;
3313
- get ui_height(): number;
3314
- get canvas(): HTMLCanvasElement;
3315
- init(canvas: HTMLCanvasElement): void;
3316
- get grider(): MapGrider;
3317
- get map(): CubeMap;
3318
- get ui_visible(): boolean;
3319
- get size_map(): IMath.RectArea;
3320
- get_scale(): number;
3321
- get mini_nodes(): Array<IMiniMap.MiniNode>;
3322
- get content_rect(): IMath.Rect;
3323
- get_render_state(): {
3324
- bounds: IMath.Rect;
3325
- nodes: IMiniMap.MiniNode[];
3326
- scale: number;
3327
- };
3328
- toggle_visible(): void;
3329
- translate_delta(dx_mini: number, dy_mini: number): void;
3330
- refresh_viewport(bounds: IMath.Rect, scale: number): void;
3331
- refresh(): void;
3624
+ declare class AdapterCubeDoc extends CubeAdapterBase {
3625
+ get meta(): INote.CubeMeta;
3626
+ get_data(): IDoc.Data;
3627
+ replace_id(versions: INote.CubesVersion, data: IDoc.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IDoc.Data>;
3628
+ update_data(versions: INote.CubesVersion, data: IDoc.Data): ICubeBase.CubeUpdateResult;
3332
3629
  }
3333
3630
 
3334
- declare class ReceiverMap extends ReceiverRoot<CubeMap> {
3335
- protected is_noop_sibling_move(siblings: string[], node_id: string, target_id: string, type: "prev" | "next"): boolean;
3336
- protected reorder_siblings(siblings: string[], node_id: string, target_id: string, type: "prev" | "next"): boolean;
3337
- protected on_sibling_reorder(cmd: ICommandMap.SiblingReorder): Recorder | void;
3338
- protected on_node_add(cmd: ICommandMap.NodeAdd): Recorder;
3339
- protected on_node_remove(cmd: ICommandMap.NodeRemove): Recorder | undefined;
3340
- protected on_node_wrap_siblings(cmd: ICommandMap.NodeWrapSiblings): Recorder | undefined;
3341
- protected on_node_remove_only(cmd: ICommandMap.NodeRemoveOnly): Recorder | undefined;
3342
- protected on_linker_add(cmd: ICommandMap.LinkerAdd): Recorder | undefined;
3343
- protected on_linker_remove(cmd: ICommandMap.LinkerRemove): Recorder | undefined;
3344
- protected on_node_drag(cmd: ICommandMap.NodeMove): Recorder | undefined;
3345
- protected add_linker_only(info: ICommandMap.LinkerInfo): void;
3346
- protected refresh_layout_only(upstream: MapNodeBase | undefined, downstream: MapNodeBase[]): void;
3631
+ declare class DocStatus extends CubeStatusBaseRoot<IDoc.Data> {
3632
+ constructor(cube: CubeDoc);
3347
3633
  }
3348
3634
 
3349
- declare class CubeMap extends CubeRoot<IMap.Data> implements IMapBase.Api {
3350
- protected _status: MapStatus;
3351
- protected _map_interaction: MapInteraction;
3352
- protected _grider: MapGrider;
3353
- protected _canvas: MapCanvas;
3635
+ declare class ReceiverDoc extends ReceiverRoot<CubeDoc> {
3636
+ }
3637
+
3638
+ declare class CubeDoc extends CubeRoot<IDoc.Data> {
3639
+ protected _status: DocStatus;
3354
3640
  protected _app: any;
3355
- protected _has_layout: boolean;
3356
- protected _waiter: Waiter;
3357
- protected _nodes: Map<string, MapNodeBase>;
3358
- protected _linkers: Map<string, CubeLinker>;
3359
- protected _node_from: Record<string, string[]>;
3360
- protected _node_to: Record<string, string[]>;
3361
- protected _nodes_editing: Set<MapNodeBase>;
3362
- protected _nodes_outbox: Set<MapNodeBase>;
3363
- protected _nodes_selected: Set<MapNodeBase>;
3364
- protected _line_delete_selected: Set<MapNodeBase | CubeLinker>;
3365
- protected _nodes_dragging: Set<MapNodeBase>;
3366
- protected _view_nodes: Set<MapNodeBase>;
3367
- protected _pending_view_nodes: Set<MapNodeBase>;
3368
- protected _view_linkers: Set<CubeLinker>;
3369
- protected _view_rect: IMath.Rect;
3370
- constructor(note: Note, data: IMap.Data);
3371
- get adapter(): AdapterCubeMap;
3372
- get waiter(): Waiter;
3373
- get nodes(): Map<string, MapNodeBase<any>>;
3374
- get linkers(): Map<string, CubeLinker>;
3375
- set_node_from(id: string, nodes: string[]): void;
3376
- set_node_to(id: string, nodes: string[]): void;
3377
- get nodes_selected(): Set<MapNodeBase<any>>;
3378
- get nodes_editing(): Set<MapNodeBase<any>>;
3379
- get nodes_outbox(): Set<MapNodeBase<any>>;
3380
- get nodes_view(): Set<MapNodeBase<any>>;
3381
- get linkers_view(): Set<CubeLinker>;
3382
- get line_deleted(): Set<MapNodeBase<any> | CubeLinker>;
3383
- get id(): string;
3384
- get status(): MapStatus;
3385
- get grider(): MapGrider;
3386
- get canvas(): MapCanvas;
3387
- get map_interaction(): MapInteraction;
3388
- get matrix2d(): IMapTools.Matrix2D;
3389
- get matrix2d_dom_string(): string;
3390
- get attrs(): IMap.Attrs;
3391
- get has_layout(): boolean;
3392
- get dom_rect(): DOMRect;
3393
- get dom_svg_rect(): DOMRect;
3641
+ constructor(note: Note, data: IDoc.Data);
3642
+ get adapter(): AdapterCubeDoc;
3643
+ get status(): DocStatus;
3394
3644
  get app(): any;
3395
3645
  get component(): any;
3396
- get children(): INote.NoteChild[];
3397
- get view_rect(): IMath.Rect;
3398
- wait_nodes_render(nodes: MapNodeBase[]): Promise<any>;
3399
- index_pending_nodes(nodes: Iterable<MapNodeBase>): Promise<void>;
3400
- find_cube(id: string): INote.NoteCube | undefined;
3401
- filter(func: ICubeBase.CubeFilterFunc): INote.NoteChild[];
3402
- each(func: ICubeBase.CubeEachFunc): void;
3403
- find_child_cube(id: ICubeBase.CubeId): INote.NoteChild | undefined;
3404
- pick(...elements: MapChild[]): void;
3405
- remove_node(node: MapNodeBase): void;
3406
- remove_linker(linker: CubeLinker): ICommandMap.LinkerInfo | undefined;
3407
- build_child(data: IMap.Data): Promise<void>;
3408
- init_env(): void;
3409
- init_map2d(): void;
3410
- init_grider(): void;
3646
+ get meta(): INote.CubeMeta<INote.Cubes>;
3647
+ get doc(): this;
3648
+ build_child(data: IDoc.Data): void;
3649
+ gc(): void;
3650
+ export(): IDoc.Data;
3651
+ render(dom: HTMLElement): void;
3652
+ }
3653
+
3654
+ declare class AdapterCubeDatetime extends CubeAdapterBase {
3655
+ get supports_inline_scale(): boolean;
3656
+ get meta(): INote.CubeMeta;
3657
+ get_data(timestamp?: number, css?: Record<string, string>, attrs?: Partial<IDateTime.Attrs>): IDateTime.Data;
3658
+ replace_id(versions: INote.CubesVersion, data: IDateTime.Data, map?: Record<string, string>): ICubeBase.ReplaceIdResult<IDateTime.Data>;
3659
+ update_data(versions: INote.CubesVersion, data: IDateTime.Data): ICubeBase.CubeUpdateResult<IDateTime.Data>;
3660
+ normalize_timestamp(timestamp: unknown): number;
3661
+ normalize_format(format: unknown): IDateTime.Format;
3662
+ }
3663
+
3664
+ declare class DatetimeStatus extends CubeStatusBase<IDateTime.Data> {
3665
+ protected _text: vue.ComputedRef<string>;
3666
+ get cube(): CubeDatetime;
3667
+ get text(): string;
3668
+ format_timestamp(timestamp: number, format: IDateTime.Format, now?: number): string;
3669
+ get_next_update_time(now: number): number | undefined;
3670
+ protected format_relative(timestamp: number, now: number): string;
3671
+ }
3672
+
3673
+ declare class ReceiverDatetime extends ReceiverChild<CubeDatetime> {
3674
+ protected update(command: ICommandDateTime.Update): Recorder;
3675
+ protected set_format(command: ICommandDateTime.SetFormat): Recorder;
3676
+ }
3677
+
3678
+ declare class CubeDatetime extends CubeChild<IDateTime.Data> {
3679
+ protected _status: DatetimeStatus;
3680
+ constructor(note: Note, data: IDateTime.Data, pcube: CubeChild);
3681
+ get adapter(): AdapterCubeDatetime;
3682
+ get status(): DatetimeStatus;
3683
+ get component(): any;
3684
+ get timestamp(): number;
3685
+ get format(): IDateTime.Format;
3686
+ get text(): string;
3687
+ protected build_child(data: IDateTime.Data): void;
3688
+ export(): IDateTime.Data;
3411
3689
  gc(): void;
3412
- export(): IMap.Data;
3413
- render(dom: HTMLElement): Promise<void>;
3414
- get_nodes_intersection(rect: IMath.Rect): MapNodeBase[];
3415
- get_linker_id(from_id: string, to_id: string): string;
3416
- get_linker(id: string): CubeLinker | undefined;
3417
- get_node(id: string): MapNodeBase<any> | undefined;
3418
- get_node_from(id: string): string[];
3419
- get_node_to(id: string): string[];
3420
- get_view_rect(): IMath.Rect;
3421
- get_view_center(): IMath.Point;
3422
- get_view_cube(include_folded?: boolean): Array<MapNodeBase | CubeLinker>;
3423
- set_node_outbox(node: MapNodeBase | string, visible: boolean): void;
3424
- set_node_visible(node: MapNodeBase | string, visible: boolean): void;
3425
- set_linker_visible(linker: CubeLinker | string, visible: boolean): void;
3426
- set_node_editing(node: MapNodeBase | string, editing: boolean): void;
3427
- set_node_selected(node: MapNodeBase | string, selected: boolean): void;
3428
- get_next_selection_before_remove(removing_ids: Iterable<ICubeBase.CubeId>): ICubeBase.CubeId | undefined;
3429
- set_line_deleted(cube: MapNodeBase | CubeLinker | string, deleted: boolean): void;
3430
- is_node_visible(node: MapNodeBase): boolean;
3431
- is_linker_visible(linker: CubeLinker): boolean;
3432
- is_node_editing(node: MapNodeBase): boolean;
3433
- is_node_selected(node: MapNodeBase): boolean;
3434
- is_line_deleted(cube: MapNodeBase | CubeLinker): boolean;
3435
- clear_node_outbox(): void;
3436
- clear_node_editing(): void;
3437
- clear_node_selected(): void;
3438
- clear_line_deleted(): void;
3439
- set_node_dragging(node: MapNodeBase | string, dragging: boolean): void;
3440
- is_node_dragging(node: MapNodeBase): boolean;
3441
- clear_node_dragging(): void;
3442
- get_farest_node_selected(nav: IMisc.Keys): MapNodeBase<any> | undefined;
3443
- get_nearest_node(n: MapNodeBase, nav: IMisc.Keys): MapNodeBase<any>;
3444
- move_select(nav: IMisc.Keys): void;
3445
- reset_matrix(m: IMapTools.Matrix2D): void;
3446
- translate(dx: number, dy: number): void;
3447
- scale_diff(dsx: number, dsy: number): void;
3448
- scale_by_point(p: _PointView, dsx: number, dsy: number): void;
3449
- get_upstream_sum_scale(): _FigScale;
3450
- view_point_to_fig(p: _PointView): IMath.Point;
3451
- view_point_to_real(p: _PointView): IMath.Point;
3452
- fig_point_to_view(p: IMath.Point): IMath.Point;
3453
- fig_point_to_real(p: IMath.Point): IMath.Point;
3454
- real_point_to_fig(p: IMath.Point): IMath.Point;
3455
- real_point_to_view(p: IMath.Point): IMath.Point;
3456
- transform_point(point: IMath.Point): IMath.Point;
3457
- untransform_point(point: IMath.Point): IMath.Point;
3458
- find_layout_root(nodes: Iterable<MapNodeBase>): Set<MapNodeBase>;
3459
- layout(): Promise<void>;
3460
- check_show(): void;
3461
- protected check_show_node(): void;
3462
- protected check_show_line(): void;
3463
- layout_throttle: () => Promise<boolean>;
3464
- check_show_throttle: () => Promise<boolean>;
3465
3690
  }
3466
3691
 
3467
3692
  declare class AdapterCubeNode extends CubeAdapterBase {
@@ -4816,6 +5041,7 @@ declare const AdapterDoc: AdapterCubeDoc;
4816
5041
  declare const AdapterFormula: AdapterCubeFormula;
4817
5042
  declare const AdapterImg: AdapterCubeImg;
4818
5043
  declare const AdapterGallery: AdapterCubeGallery;
5044
+ declare const AdapterFiles: AdapterCubeFiles;
4819
5045
  declare const AdapterKey: AdapterCubeKey;
4820
5046
  declare const AdapterLine: AdapterCubeLine;
4821
5047
  declare const AdapterLinker: AdapterCubeLinker;
@@ -5050,6 +5276,7 @@ declare abstract class CubeBase<T extends ICubeBase.Data = any> {
5050
5276
  get event(): NoteEvent;
5051
5277
  get flag(): NoteFlag;
5052
5278
  get listener(): NoteListener;
5279
+ get assets(): NoteAssets;
5053
5280
  get interaction(): NoteInteraction;
5054
5281
  update_data(versions: INote.CubesVersion, data: any): ICubeBase.CubeUpdateResult<T>;
5055
5282
  on(cmd: ICommandCube.BaseCommand): void | Recorder | undefined;
@@ -5914,6 +6141,54 @@ declare namespace ICommandGallery {
5914
6141
  }
5915
6142
  }
5916
6143
 
6144
+ declare namespace IFiles {
6145
+ interface Item {
6146
+ /** Import-time resource identifier. It is never derived from the display name. */
6147
+ key: string;
6148
+ /** The filename shown to the reader and proposed for downloads. */
6149
+ name: string;
6150
+ /** A display label derived from the original filename, such as PDF or DOCX. */
6151
+ ext?: string;
6152
+ mime?: string;
6153
+ /** Original file size in bytes. */
6154
+ size: number;
6155
+ }
6156
+ interface Attrs extends ICubeBase.Attrs {
6157
+ }
6158
+ interface Data extends ICubeBase.Data {
6159
+ type: "files";
6160
+ /** An empty array represents the initial, add-files-only state. */
6161
+ info: Item[];
6162
+ attrs: Attrs;
6163
+ }
6164
+ }
6165
+
6166
+ declare namespace ICommandFiles {
6167
+ interface Reset extends ICommandCube.BaseCommand {
6168
+ name: "files:reset";
6169
+ data: IFiles.Item[];
6170
+ }
6171
+ interface Insert extends ICommandCube.BaseCommand {
6172
+ name: "files:insert";
6173
+ data: IFiles.Item[];
6174
+ pos: number;
6175
+ }
6176
+ interface Remove extends ICommandCube.BaseCommand {
6177
+ name: "files:remove";
6178
+ keys: string[];
6179
+ }
6180
+ interface Rename extends ICommandCube.BaseCommand {
6181
+ name: "files:rename";
6182
+ key: string;
6183
+ name_value: string;
6184
+ }
6185
+ interface Replace extends ICommandCube.BaseCommand {
6186
+ name: "files:replace";
6187
+ key: string;
6188
+ data: IFiles.Item;
6189
+ }
6190
+ }
6191
+
5917
6192
  declare namespace INoteTools {
5918
6193
  interface CubePick {
5919
6194
  head: ICubeBase.Data[];
@@ -6882,7 +7157,7 @@ declare namespace INoteCourier { }
6882
7157
 
6883
7158
  declare namespace INote {
6884
7159
  type AssetType = "image" | "audio" | "attach";
6885
- type Cubes = (string & {}) | "api" | "annotation" | "badge" | "box" | "box-root" | "box-folder" | "box-columns" | "checkbox" | "code" | "counter" | "doc" | "datetime" | "detail-list" | "formula" | "gallery" | "img" | "key" | "lost" | "line" | "list" | "list-ordered" | "linker" | "link" | "map" | "submap" | "node" | "postil" | "rating" | "rt" | "text" | "tip" | "timeline" | "todo" | "table";
7160
+ type Cubes = (string & {}) | "api" | "annotation" | "badge" | "box" | "box-root" | "box-folder" | "box-columns" | "checkbox" | "code" | "counter" | "doc" | "datetime" | "detail-list" | "files" | "formula" | "gallery" | "img" | "key" | "lost" | "line" | "list" | "list-ordered" | "linker" | "link" | "map" | "submap" | "node" | "postil" | "rating" | "rt" | "text" | "tip" | "timeline" | "todo" | "table";
6886
7161
  type Cores = "courier" | "cursor" | "config" | "cubes" | "clipboard" | "event" | "formula" | "float" | "painter" | "player" | "hotkeys" | "history" | "scope" | "flag";
6887
7162
  type Mode = "read" | "edit" | "export";
6888
7163
  type ModeNames = Record<Mode, string>;
@@ -7051,7 +7326,7 @@ declare namespace INoteEvent {
7051
7326
  }
7052
7327
  type ListenResult = "continue" | "stop";
7053
7328
  type ListenerAssetSave = (type: INote.AssetType, filename: string, blob: Blob) => Promise<boolean>;
7054
- type ListenerAssetDownload = (type: INote.AssetType, filename: string) => Promise<boolean>;
7329
+ type ListenerAssetDownload = (type: INote.AssetType, filename: string, display_name?: string) => Promise<boolean>;
7055
7330
  type ListenerAssetCopy = (noteid: string, asset_type: INote.AssetType, filename: string) => Promise<boolean>;
7056
7331
  type ListenerReplaceId = (map: Record<string, string>) => any;
7057
7332
  type ListenerEdit = (cube: CubeChild, cmd: ICommandCube.BaseCommand) => any;
@@ -7162,6 +7437,7 @@ declare namespace IUiTheme {
7162
7437
  interface ThemePreviewItem {
7163
7438
  primary: string;
7164
7439
  accent: string;
7440
+ tertiary: string;
7165
7441
  surface: string;
7166
7442
  ink: string;
7167
7443
  motif: string;
@@ -7313,6 +7589,28 @@ declare namespace INoteMod {
7313
7589
  }
7314
7590
  }
7315
7591
 
7592
+ declare namespace INoteAssets {
7593
+ interface Record {
7594
+ /** Stable, generated resource identifier used by Cube data. */
7595
+ key: string;
7596
+ type: INote.AssetType;
7597
+ original_name: string;
7598
+ extension?: string;
7599
+ mime?: string;
7600
+ size: number;
7601
+ /** Runtime-only reference count; never serialize it into Cube data. */
7602
+ references: number;
7603
+ }
7604
+ interface Ref {
7605
+ key: string;
7606
+ type: INote.AssetType;
7607
+ original_name?: string;
7608
+ extension?: string;
7609
+ mime?: string;
7610
+ size?: number;
7611
+ }
7612
+ }
7613
+
7316
7614
  declare namespace IUiAccent {
7317
7615
  /** 注册表 ID。内置效果使用 deepsky.*,第三方应使用自身命名空间。 */
7318
7616
  type Id = string;
@@ -7786,6 +8084,14 @@ declare class CommandGallery {
7786
8084
  static update_item(id: string, item_id: string, patch: IGallery.ItemPatch): ICommandGallery.UpdateItem;
7787
8085
  }
7788
8086
 
8087
+ declare class CommandFiles {
8088
+ static reset(id: string, data: IFiles.Item[]): ICommandFiles.Reset;
8089
+ static insert(id: string, data: IFiles.Item[], pos: number): ICommandFiles.Insert;
8090
+ static remove(id: string, keys: string[]): ICommandFiles.Remove;
8091
+ static rename(id: string, key: string, name_value: string): ICommandFiles.Rename;
8092
+ static replace(id: string, key: string, data: IFiles.Item): ICommandFiles.Replace;
8093
+ }
8094
+
7789
8095
  type ReceiverConstructor = new (cube: CubeBase) => ReceiverBase;
7790
8096
  declare class ReceiverRegistry {
7791
8097
  create(cube: CubeBase, fallback?: new (cube: any) => ReceiverBase): ReceiverBase;
@@ -7964,6 +8270,12 @@ declare class MenuGallery extends MenuBase<CubeGallery> {
7964
8270
 
7965
8271
  declare function get_menu_gallery(cube: CubeGallery): ICubesMenu.NoteMenu;
7966
8272
 
8273
+ declare class MenuFiles extends MenuBase<CubeFiles> {
8274
+ get_menus(cube: CubeFiles): ICubesMenu.NoteMenu;
8275
+ }
8276
+
8277
+ declare function get_menu_files(cube: CubeFiles): ICubesMenu.NoteMenu;
8278
+
7967
8279
  declare class LayoutChecker {
7968
8280
  static check_allow(upstream: MapNodeBase | undefined, downstream_layout_type: INodeBase.Layout, nullable?: boolean): boolean;
7969
8281
  static get left(): INodeBase.Layout[];
@@ -8114,4 +8426,4 @@ declare class MobileReadonlyViewer {
8114
8426
  protected get guard_events(): string[];
8115
8427
  }
8116
8428
 
8117
- export { AccentEffect, AdapterApi, AdapterBadge, AdapterBaseUi, AdapterBox, AdapterBoxColumns, AdapterBoxFolder, AdapterBoxRoot, AdapterCheckbox, AdapterCode, AdapterCounter, AdapterCubes, AdapterDatetime, AdapterDetailList, AdapterDoc, AdapterFormula, AdapterGallery, AdapterImg, AdapterKey, AdapterLine, AdapterLink, AdapterLinker, AdapterList, AdapterListOrdered, AdapterLost, AdapterMap, AdapterNode, AdapterPostil, AdapterRating, AdapterRt, AdapterSubmap, AdapterTable, AdapterText, AdapterTimeline, AdapterTip, AdapterTodo, AdapterUi, AdapterUiAccent, AdapterUiAi, AdapterUiCatalogue, AdapterUiConfig, AdapterUiDialog, AdapterUiDialogCubeList, AdapterUiDict, AdapterUiFloat, AdapterUiMenubar, AdapterUiPreset, AdapterUiSearch, AdapterUiSidebar, AdapterUiStatusbar, AdapterUiTheme, AdapterUiTips, AdapterUiToolbar, ApiStatus, BadgeStatus, BoxFolderStatus, BoxRootStatus, BoxStatus, CheckboxStatus, CodeStatus, CommandApi, CommandBadge, CommandBoxFolder, CommandBoxRoot, CommandCheckbox, CommandCode, CommandCounter, CommandCube, CommandCursor, CommandDateTime, CommandDetailList, CommandFormula, CommandGallery, CommandKey, CommandLink, CommandLinker, CommandList, CommandListOrdered, CommandMap, CommandNode, CommandRating, CommandRt, CommandTable, CommandText, CommandTimeline, CommandTodo, ConstColors, ConvertorMd, CubeAdapterBase, CubeApi, CubeBadge, CubeBase, CubeBox, CubeBoxColumns, CubeBoxFolder, CubeBoxRoot, CubeCheckbox, CubeChild, CubeCode, CubeCounter, CubeDatetime, CubeDetailList, CubeDoc, CubeFormula, CubeGallery, CubeImg, CubeKey, CubeLine, CubeLink, CubeLinker, CubeList, CubeListOrdered, CubeListenerBase, CubeLost, CubeMap, CubeNode, CubePostil, CubeRating, CubeRoot, CubeRt, CubeStatusBase, CubeStatusBaseRoot, CubeSubMap, CubeTable, CubeText, CubeTimeline, CubeTip, CubeTodo, DatetimeStatus, DetailListStatus, DocStatus, EventBubble, FormulaStatus, GalleryStatus, type HotkeyPlatform, IApi, IBadge, IBox, ICheckbox, ICode, ICommandApi, ICommandBadge, ICommandCheckbox, ICommandCode, ICommandCounter, ICommandCube, ICommandCursor, ICommandDateTime, ICommandDetailList, ICommandDoc, ICommandFormula, ICommandGallery, ICommandKey, ICommandLink, ICommandLinker, ICommandList, ICommandListOrdered, ICommandMap, ICommandNode, ICommandRating, ICommandRt, ICommandTable, ICommandText, ICommandTimeline, ICommandTodo, ICounter, ICubeBase, ICubeBaseChild, ICubeBoxColumns, ICubeBoxFolder, ICubeBoxRoot, ICubeHandler, ICubeRootBase, ICubesInteraction, ICubesMenu, IDateTime, IDetailList, IDoc, IFormula, IGallery, IImg, IKey, ILine, ILink, ILinker, IList, IListOrdered, ILost, IMap, IMapBase, IMapInteraction, IMapTools, IMenuNode, IMiniMap, IMisc, type IMobileReadonlyViewerInput, INode, INodeBase, INodeBaseEnv, INodeDrag, INote, INoteApi, INoteClipboard, INoteClock, INoteConvertor, INoteCourier, INoteCursor, INoteEvent, INoteFlag, INoteFloat, INoteHistory, INoteInteraction, INoteMod, INoteScope, INoteTools, IPostil, IRating, IRt, ISubMap, ITable, IText, ITimeline, ITip, ITodo, IUi, IUiAccent, IUiAi, IUiCatalogue, IUiConfig, IUiDialog, IUiDialogCubeList, IUiDict, IUiFloat, IUiMenubar, IUiPreset, IUiSidebar, IUiStatusbar, IUiTheme, IUiTips, IUiToolbar, ImgStatus, InteractionBase, InteractionBinder, InteractionDetailList, InteractionList, InteractionListOrdered, InteractionTable, InteractionTodo, InteractionsCube, InteractionsCubeRegistry, KeyStatus, LayoutChecker, LineStatus, LinkStatus, LinkerLine, LinkerPoint, ListOrderedStatus, ListStatus, LostStatus, Map2D, MapCanvas, MapChild, MapHotkeys, MapInteraction, MapNodeBase, MapNodeLayoutEnv, MapStatus, MapTools, Matrix2D, MenuApi, MenuBadge, MenuBase, MenuBox, MenuBoxColumns, MenuBoxFolder, MenuBoxRoot, MenuCheckbox, MenuCode, MenuCounter, MenuDatetime, MenuDetailList, MenuGallery, MenuImg, MenuKey, MenuLink, MenuList, MenuListOrdered, MenuNode, MenuRating, MenuSubmap, MenuTable, MenuTimeline, MenuTip, MenuTodo, MenusCube, MenusCubeRegistry, MobileReadonlyViewer, NodeBase2D, NodeLayout, NodeLayoutInvert, NodeLayoutMeter, NodeLineStatus, NodeObserver, NodeShape, NodeStatus, NodeStatusBase, Note, NoteAction, NoteAnchor, NoteApi, NoteBase, NoteClipBoard, NoteClock, NoteConvertor, NoteCourier, NoteCubes, NoteCursor, NoteEvent, NoteEventListenerBase, NoteEventListeners, NoteFlag, NoteHistory, NoteHotkeyBase, NoteInteraction, NoteListener, NoteMod, NotePainter, NoteScope, NoteScopes, NoteTools, PostilStatus, RatingStatus, ReceiverApi, ReceiverBadge, ReceiverBase, ReceiverBox, ReceiverBoxColumns, ReceiverBoxFolder, ReceiverBoxRoot, ReceiverCheckbox, ReceiverChild, ReceiverCode, ReceiverCounter, ReceiverCubes, ReceiverDatetime, ReceiverDetailList, ReceiverDoc, ReceiverFormula, ReceiverGallery, ReceiverImg, ReceiverKey, ReceiverLine, ReceiverLink, ReceiverLinker, ReceiverList, ReceiverListOrdered, ReceiverLost, ReceiverMap, ReceiverMapChild, ReceiverNode, ReceiverPostil, ReceiverRating, ReceiverRegistry, ReceiverRoot, ReceiverRt, ReceiverSubMap, ReceiverTable, ReceiverText, ReceiverTimeline, ReceiverTip, ReceiverTodo, Recorder, RtStatus, StatusItemBase, type StatusItemComponentProps, type StatusItemPlacement, SubmapStatus, TableStatus, TextStatus, type TimelineItem, TipStatus, TodoStatus, ToolBase, UI, UIAccent, UICatalogue, UIDict, UISearch, UIStatusbar, UITheme, UIToolbar, UiBase, UiConfig, UiFloat, UiMenubar, UiPreset, UiSidebar, UiTips, Waiter, type _CubeTextAnnotation, type _CubeTodoItem, type _CubeTodoItemData, type _FigScale, type _Map, type _MapCubes, _MapGroup, type _MapPlaceholderLinker, _PlayStatus, type _PointFig, type _PointKey, type _PointView, type _SDKMeta, cmd, copy_event_listener, create_builtin_accents, cube, cut_event_listener, define_cmd, detect_hotkey_platform, get_cmds, get_cube_menu, get_menu_base, get_menu_code, get_menu_counter, get_menu_gallery, get_menu_inline_scale, get_menu_timeline, get_receiver_type, has_pcube_menu, hotkey, is_platform_shortcut, menu_status, move_rect, node_observer, normalize_platform, paste_event_listener, receiver, resolve_hotkey_shortcut, set_inline_scale, show_code_file_dialog, show_menu, supports_inline_scale, to_platform_shortcut, use_box_interaction, use_clock_wakeup, use_list_item_drag, waiter_map_svg };
8429
+ export { AccentEffect, AdapterApi, AdapterBadge, AdapterBaseUi, AdapterBox, AdapterBoxColumns, AdapterBoxFolder, AdapterBoxRoot, AdapterCheckbox, AdapterCode, AdapterCounter, AdapterCubes, AdapterDatetime, AdapterDetailList, AdapterDoc, AdapterFiles, AdapterFormula, AdapterGallery, AdapterImg, AdapterKey, AdapterLine, AdapterLink, AdapterLinker, AdapterList, AdapterListOrdered, AdapterLost, AdapterMap, AdapterNode, AdapterPostil, AdapterRating, AdapterRt, AdapterSubmap, AdapterTable, AdapterText, AdapterTimeline, AdapterTip, AdapterTodo, AdapterUi, AdapterUiAccent, AdapterUiAi, AdapterUiCatalogue, AdapterUiConfig, AdapterUiDialog, AdapterUiDialogCubeList, AdapterUiDict, AdapterUiFloat, AdapterUiMenubar, AdapterUiPreset, AdapterUiSearch, AdapterUiSidebar, AdapterUiStatusbar, AdapterUiTheme, AdapterUiTips, AdapterUiToolbar, ApiStatus, BadgeStatus, BoxFolderStatus, BoxRootStatus, BoxStatus, CheckboxStatus, CodeStatus, CommandApi, CommandBadge, CommandBoxFolder, CommandBoxRoot, CommandCheckbox, CommandCode, CommandCounter, CommandCube, CommandCursor, CommandDateTime, CommandDetailList, CommandFiles, CommandFormula, CommandGallery, CommandKey, CommandLink, CommandLinker, CommandList, CommandListOrdered, CommandMap, CommandNode, CommandRating, CommandRt, CommandTable, CommandText, CommandTimeline, CommandTodo, ConstColors, ConvertorMd, CubeAdapterBase, CubeApi, CubeBadge, CubeBase, CubeBox, CubeBoxColumns, CubeBoxFolder, CubeBoxRoot, CubeCheckbox, CubeChild, CubeCode, CubeCounter, CubeDatetime, CubeDetailList, CubeDoc, CubeFiles, CubeFormula, CubeGallery, CubeImg, CubeKey, CubeLine, CubeLink, CubeLinker, CubeList, CubeListOrdered, CubeListenerBase, CubeLost, CubeMap, CubeNode, CubePostil, CubeRating, CubeRoot, CubeRt, CubeStatusBase, CubeStatusBaseRoot, CubeSubMap, CubeTable, CubeText, CubeTimeline, CubeTip, CubeTodo, DatetimeStatus, DetailListStatus, DocStatus, EventBubble, FormulaStatus, GalleryStatus, type HotkeyPlatform, IApi, IBadge, IBox, ICheckbox, ICode, ICommandApi, ICommandBadge, ICommandCheckbox, ICommandCode, ICommandCounter, ICommandCube, ICommandCursor, ICommandDateTime, ICommandDetailList, ICommandDoc, ICommandFiles, ICommandFormula, ICommandGallery, ICommandKey, ICommandLink, ICommandLinker, ICommandList, ICommandListOrdered, ICommandMap, ICommandNode, ICommandRating, ICommandRt, ICommandTable, ICommandText, ICommandTimeline, ICommandTodo, ICounter, ICubeBase, ICubeBaseChild, ICubeBoxColumns, ICubeBoxFolder, ICubeBoxRoot, ICubeHandler, ICubeRootBase, ICubesInteraction, ICubesMenu, IDateTime, IDetailList, IDoc, IFiles, IFormula, IGallery, IImg, IKey, ILine, ILink, ILinker, IList, IListOrdered, ILost, IMap, IMapBase, IMapExport, IMapInteraction, IMapTools, IMenuNode, IMiniMap, IMisc, type IMobileReadonlyViewerInput, INode, INodeBase, INodeBaseEnv, INodeDrag, INote, INoteApi, INoteAssets, INoteClipboard, INoteClock, INoteConvertor, INoteCourier, INoteCursor, INoteEvent, INoteFlag, INoteFloat, INoteHistory, INoteInteraction, INoteMod, INoteScope, INoteTools, IPostil, IRating, IRt, ISubMap, ITable, IText, ITimeline, ITip, ITodo, IUi, IUiAccent, IUiAi, IUiCatalogue, IUiConfig, IUiDialog, IUiDialogCubeList, IUiDict, IUiFloat, IUiMenubar, IUiPreset, IUiSidebar, IUiStatusbar, IUiTheme, IUiTips, IUiToolbar, ImgStatus, InteractionBase, InteractionBinder, InteractionDetailList, InteractionList, InteractionListOrdered, InteractionTable, InteractionTodo, InteractionsCube, InteractionsCubeRegistry, KeyStatus, LayoutChecker, LineStatus, LinkStatus, LinkerLine, LinkerPoint, ListOrderedStatus, ListStatus, LostStatus, Map2D, MapCanvas, MapChild, MapExportDefaults, MapExporter, MapHotkeys, MapInteraction, MapNodeBase, MapNodeLayoutEnv, MapStatus, MapTools, Matrix2D, MenuApi, MenuBadge, MenuBase, MenuBox, MenuBoxColumns, MenuBoxFolder, MenuBoxRoot, MenuCheckbox, MenuCode, MenuCounter, MenuDatetime, MenuDetailList, MenuFiles, MenuGallery, MenuImg, MenuKey, MenuLink, MenuList, MenuListOrdered, MenuNode, MenuRating, MenuSubmap, MenuTable, MenuTimeline, MenuTip, MenuTodo, MenusCube, MenusCubeRegistry, MobileReadonlyViewer, NodeBase2D, NodeLayout, NodeLayoutInvert, NodeLayoutMeter, NodeLineStatus, NodeObserver, NodeShape, NodeStatus, NodeStatusBase, Note, NoteAction, NoteAnchor, NoteApi, NoteAssets, NoteBase, NoteClipBoard, NoteClock, NoteConvertor, NoteCourier, NoteCubes, NoteCursor, NoteEvent, NoteEventListenerBase, NoteEventListeners, NoteFlag, NoteHistory, NoteHotkeyBase, NoteInteraction, NoteListener, NoteMod, NotePainter, NoteScope, NoteScopes, NoteTools, PostilStatus, RatingStatus, ReceiverApi, ReceiverBadge, ReceiverBase, ReceiverBox, ReceiverBoxColumns, ReceiverBoxFolder, ReceiverBoxRoot, ReceiverCheckbox, ReceiverChild, ReceiverCode, ReceiverCounter, ReceiverCubes, ReceiverDatetime, ReceiverDetailList, ReceiverDoc, ReceiverFiles, ReceiverFormula, ReceiverGallery, ReceiverImg, ReceiverKey, ReceiverLine, ReceiverLink, ReceiverLinker, ReceiverList, ReceiverListOrdered, ReceiverLost, ReceiverMap, ReceiverMapChild, ReceiverNode, ReceiverPostil, ReceiverRating, ReceiverRegistry, ReceiverRoot, ReceiverRt, ReceiverSubMap, ReceiverTable, ReceiverText, ReceiverTimeline, ReceiverTip, ReceiverTodo, Recorder, RtStatus, StatusItemBase, type StatusItemComponentProps, type StatusItemPlacement, SubmapStatus, TableStatus, TextStatus, type TimelineItem, TipStatus, TodoStatus, ToolBase, UI, UIAccent, UICatalogue, UIDict, UISearch, UIStatusbar, UITheme, UIToolbar, UiBase, UiConfig, UiFloat, UiMenubar, UiPreset, UiSidebar, UiTips, Waiter, type _CubeTextAnnotation, type _CubeTodoItem, type _CubeTodoItemData, type _FigScale, type _Map, type _MapCubes, _MapGroup, type _MapPlaceholderLinker, _PlayStatus, type _PointFig, type _PointKey, type _PointView, type _SDKMeta, cmd, copy_event_listener, create_builtin_accents, cube, cut_event_listener, define_cmd, detect_hotkey_platform, get_cmds, get_cube_menu, get_menu_base, get_menu_code, get_menu_counter, get_menu_files, get_menu_gallery, get_menu_inline_scale, get_menu_timeline, get_receiver_type, has_pcube_menu, hotkey, is_platform_shortcut, menu_status, move_rect, node_observer, normalize_platform, paste_event_listener, receiver, resolve_hotkey_shortcut, set_inline_scale, show_code_file_dialog, show_menu, supports_inline_scale, to_platform_shortcut, use_box_interaction, use_clock_wakeup, use_list_item_drag, waiter_map_svg };