@fluidframework/tree 2.110.0 → 2.111.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/.vscode/settings.json +1 -0
  2. package/CHANGELOG.md +48 -0
  3. package/api-report/tree.alpha.api.md +48 -31
  4. package/api-report/tree.beta.api.md +38 -0
  5. package/api-report/tree.legacy.beta.api.md +38 -0
  6. package/dist/core/change-family/changeFamily.d.ts +3 -10
  7. package/dist/core/change-family/changeFamily.d.ts.map +1 -1
  8. package/dist/core/change-family/changeFamily.js.map +1 -1
  9. package/dist/core/rebase/types.d.ts +2 -2
  10. package/dist/core/rebase/types.js.map +1 -1
  11. package/dist/core/schema-stored/storedSchemaRepository.d.ts +2 -2
  12. package/dist/core/schema-stored/storedSchemaRepository.js.map +1 -1
  13. package/dist/entrypoints/alpha.d.ts +1 -1
  14. package/dist/entrypoints/alpha.d.ts.map +1 -1
  15. package/dist/entrypoints/alpha.js.map +1 -1
  16. package/dist/entrypoints/beta.d.ts +1 -1
  17. package/dist/entrypoints/beta.d.ts.map +1 -1
  18. package/dist/entrypoints/beta.js.map +1 -1
  19. package/dist/entrypoints/legacy.d.ts +1 -1
  20. package/dist/entrypoints/legacy.d.ts.map +1 -1
  21. package/dist/entrypoints/legacy.js.map +1 -1
  22. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +19 -14
  23. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  24. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js +13 -32
  25. package/dist/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  26. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
  27. package/dist/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  28. package/dist/feature-libraries/chunked-forest/codec/codecs.js +83 -9
  29. package/dist/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  30. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
  31. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  32. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js +11 -0
  33. package/dist/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  34. package/dist/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  35. package/dist/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  36. package/dist/feature-libraries/chunked-forest/codec/index.js +2 -1
  37. package/dist/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  38. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
  39. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  40. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
  41. package/dist/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  42. package/dist/feature-libraries/chunked-forest/index.d.ts +1 -1
  43. package/dist/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  44. package/dist/feature-libraries/chunked-forest/index.js +2 -1
  45. package/dist/feature-libraries/chunked-forest/index.js.map +1 -1
  46. package/dist/feature-libraries/forest-summary/codec.d.ts +3 -3
  47. package/dist/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  48. package/dist/feature-libraries/forest-summary/codec.js.map +1 -1
  49. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  50. package/dist/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  51. package/dist/feature-libraries/forest-summary/forestSummarizer.js +4 -6
  52. package/dist/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  53. package/dist/feature-libraries/index.d.ts +1 -1
  54. package/dist/feature-libraries/index.d.ts.map +1 -1
  55. package/dist/feature-libraries/index.js +2 -1
  56. package/dist/feature-libraries/index.js.map +1 -1
  57. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  58. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js +9 -9
  59. package/dist/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  60. package/dist/index.d.ts +2 -2
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +2 -1
  63. package/dist/index.js.map +1 -1
  64. package/dist/packageVersion.d.ts +1 -1
  65. package/dist/packageVersion.js +1 -1
  66. package/dist/packageVersion.js.map +1 -1
  67. package/dist/shared-tree/independentView.d.ts.map +1 -1
  68. package/dist/shared-tree/independentView.js +4 -7
  69. package/dist/shared-tree/independentView.js.map +1 -1
  70. package/dist/shared-tree/index.d.ts +1 -1
  71. package/dist/shared-tree/index.d.ts.map +1 -1
  72. package/dist/shared-tree/index.js.map +1 -1
  73. package/dist/shared-tree/schematizingTreeView.d.ts +5 -5
  74. package/dist/shared-tree/schematizingTreeView.d.ts.map +1 -1
  75. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  76. package/dist/shared-tree/sharedTree.d.ts +5 -0
  77. package/dist/shared-tree/sharedTree.d.ts.map +1 -1
  78. package/dist/shared-tree/sharedTree.js +7 -4
  79. package/dist/shared-tree/sharedTree.js.map +1 -1
  80. package/dist/shared-tree/transactionPostProcessor.d.ts +28 -0
  81. package/dist/shared-tree/transactionPostProcessor.d.ts.map +1 -0
  82. package/dist/shared-tree/transactionPostProcessor.js +28 -0
  83. package/dist/shared-tree/transactionPostProcessor.js.map +1 -0
  84. package/dist/shared-tree/treeAlpha.js +3 -3
  85. package/dist/shared-tree/treeAlpha.js.map +1 -1
  86. package/dist/shared-tree/treeCheckout.d.ts +16 -12
  87. package/dist/shared-tree/treeCheckout.d.ts.map +1 -1
  88. package/dist/shared-tree/treeCheckout.js +18 -9
  89. package/dist/shared-tree/treeCheckout.js.map +1 -1
  90. package/dist/shared-tree/unhydratedTreeContext.d.ts +5 -5
  91. package/dist/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  92. package/dist/shared-tree/unhydratedTreeContext.js.map +1 -1
  93. package/dist/shared-tree-core/editManagerCodecs.d.ts +3 -2
  94. package/dist/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  95. package/dist/shared-tree-core/editManagerCodecs.js.map +1 -1
  96. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
  97. package/dist/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  98. package/dist/shared-tree-core/editManagerCodecsCommons.js +2 -4
  99. package/dist/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  100. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
  101. package/dist/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  102. package/dist/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  103. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
  104. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  105. package/dist/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  106. package/dist/shared-tree-core/editManagerSummarizer.d.ts +5 -9
  107. package/dist/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  108. package/dist/shared-tree-core/editManagerSummarizer.js +5 -10
  109. package/dist/shared-tree-core/editManagerSummarizer.js.map +1 -1
  110. package/dist/shared-tree-core/index.d.ts +1 -1
  111. package/dist/shared-tree-core/index.d.ts.map +1 -1
  112. package/dist/shared-tree-core/index.js +3 -2
  113. package/dist/shared-tree-core/index.js.map +1 -1
  114. package/dist/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  115. package/dist/shared-tree-core/sharedTreeCore.js +3 -1
  116. package/dist/shared-tree-core/sharedTreeCore.js.map +1 -1
  117. package/dist/shared-tree-core/transaction.d.ts +84 -9
  118. package/dist/shared-tree-core/transaction.d.ts.map +1 -1
  119. package/dist/shared-tree-core/transaction.js +74 -7
  120. package/dist/shared-tree-core/transaction.js.map +1 -1
  121. package/dist/simple-tree/api/index.d.ts +1 -1
  122. package/dist/simple-tree/api/index.d.ts.map +1 -1
  123. package/dist/simple-tree/api/index.js.map +1 -1
  124. package/dist/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
  125. package/dist/simple-tree/api/schemaCreationUtilities.js +3 -3
  126. package/dist/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  127. package/dist/simple-tree/api/schemaFactory.d.ts +1 -1
  128. package/dist/simple-tree/api/schemaFactory.js +2 -2
  129. package/dist/simple-tree/api/schemaFactory.js.map +1 -1
  130. package/dist/simple-tree/api/snapshotCompatibilityChecker.d.ts +2 -2
  131. package/dist/simple-tree/api/snapshotCompatibilityChecker.js +2 -2
  132. package/dist/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  133. package/dist/simple-tree/api/transactionTypes.d.ts +91 -28
  134. package/dist/simple-tree/api/transactionTypes.d.ts.map +1 -1
  135. package/dist/simple-tree/api/transactionTypes.js.map +1 -1
  136. package/dist/simple-tree/api/tree.d.ts +86 -22
  137. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  138. package/dist/simple-tree/api/tree.js.map +1 -1
  139. package/dist/simple-tree/api/treeBeta.d.ts.map +1 -1
  140. package/dist/simple-tree/api/treeBeta.js.map +1 -1
  141. package/dist/simple-tree/core/treeNodeSchema.d.ts +7 -7
  142. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  143. package/dist/simple-tree/index.d.ts +1 -1
  144. package/dist/simple-tree/index.d.ts.map +1 -1
  145. package/dist/simple-tree/index.js.map +1 -1
  146. package/dist/text/index.d.ts +1 -0
  147. package/dist/text/index.d.ts.map +1 -1
  148. package/dist/text/index.js +3 -1
  149. package/dist/text/index.js.map +1 -1
  150. package/dist/text/textDomainFormatted.d.ts +69 -758
  151. package/dist/text/textDomainFormatted.d.ts.map +1 -1
  152. package/dist/text/textDomainFormatted.js +275 -322
  153. package/dist/text/textDomainFormatted.js.map +1 -1
  154. package/dist/text/textDomainFormattedDefault.d.ts +273 -0
  155. package/dist/text/textDomainFormattedDefault.d.ts.map +1 -0
  156. package/dist/text/textDomainFormattedDefault.js +94 -0
  157. package/dist/text/textDomainFormattedDefault.js.map +1 -0
  158. package/dist/util/compressedIds.d.ts +118 -0
  159. package/dist/util/compressedIds.d.ts.map +1 -0
  160. package/dist/util/compressedIds.js +133 -0
  161. package/dist/util/compressedIds.js.map +1 -0
  162. package/dist/util/index.d.ts +1 -0
  163. package/dist/util/index.d.ts.map +1 -1
  164. package/dist/util/index.js +9 -1
  165. package/dist/util/index.js.map +1 -1
  166. package/lib/core/change-family/changeFamily.d.ts +3 -10
  167. package/lib/core/change-family/changeFamily.d.ts.map +1 -1
  168. package/lib/core/change-family/changeFamily.js.map +1 -1
  169. package/lib/core/rebase/types.d.ts +2 -2
  170. package/lib/core/rebase/types.js.map +1 -1
  171. package/lib/core/schema-stored/storedSchemaRepository.d.ts +2 -2
  172. package/lib/core/schema-stored/storedSchemaRepository.js.map +1 -1
  173. package/lib/entrypoints/alpha.d.ts +1 -1
  174. package/lib/entrypoints/alpha.d.ts.map +1 -1
  175. package/lib/entrypoints/alpha.js.map +1 -1
  176. package/lib/entrypoints/beta.d.ts +1 -1
  177. package/lib/entrypoints/beta.d.ts.map +1 -1
  178. package/lib/entrypoints/beta.js.map +1 -1
  179. package/lib/entrypoints/legacy.d.ts +1 -1
  180. package/lib/entrypoints/legacy.d.ts.map +1 -1
  181. package/lib/entrypoints/legacy.js.map +1 -1
  182. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts +19 -14
  183. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.d.ts.map +1 -1
  184. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js +14 -33
  185. package/lib/feature-libraries/chunked-forest/codec/chunkDecoding.js.map +1 -1
  186. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts +85 -28
  187. package/lib/feature-libraries/chunked-forest/codec/codecs.d.ts.map +1 -1
  188. package/lib/feature-libraries/chunked-forest/codec/codecs.js +82 -9
  189. package/lib/feature-libraries/chunked-forest/codec/codecs.js.map +1 -1
  190. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts +4 -2
  191. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.d.ts.map +1 -1
  192. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js +12 -1
  193. package/lib/feature-libraries/chunked-forest/codec/compressedEncode.js.map +1 -1
  194. package/lib/feature-libraries/chunked-forest/codec/index.d.ts +1 -1
  195. package/lib/feature-libraries/chunked-forest/codec/index.d.ts.map +1 -1
  196. package/lib/feature-libraries/chunked-forest/codec/index.js +1 -1
  197. package/lib/feature-libraries/chunked-forest/codec/index.js.map +1 -1
  198. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts +1 -1
  199. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.d.ts.map +1 -1
  200. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js +3 -15
  201. package/lib/feature-libraries/chunked-forest/codec/nodeEncoder.js.map +1 -1
  202. package/lib/feature-libraries/chunked-forest/index.d.ts +1 -1
  203. package/lib/feature-libraries/chunked-forest/index.d.ts.map +1 -1
  204. package/lib/feature-libraries/chunked-forest/index.js +1 -1
  205. package/lib/feature-libraries/chunked-forest/index.js.map +1 -1
  206. package/lib/feature-libraries/forest-summary/codec.d.ts +3 -3
  207. package/lib/feature-libraries/forest-summary/codec.d.ts.map +1 -1
  208. package/lib/feature-libraries/forest-summary/codec.js.map +1 -1
  209. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts +3 -2
  210. package/lib/feature-libraries/forest-summary/forestSummarizer.d.ts.map +1 -1
  211. package/lib/feature-libraries/forest-summary/forestSummarizer.js +4 -6
  212. package/lib/feature-libraries/forest-summary/forestSummarizer.js.map +1 -1
  213. package/lib/feature-libraries/index.d.ts +1 -1
  214. package/lib/feature-libraries/index.d.ts.map +1 -1
  215. package/lib/feature-libraries/index.js +1 -1
  216. package/lib/feature-libraries/index.js.map +1 -1
  217. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.d.ts.map +1 -1
  218. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js +10 -10
  219. package/lib/feature-libraries/modular-schema/modularChangeCodecV1.js.map +1 -1
  220. package/lib/index.d.ts +2 -2
  221. package/lib/index.d.ts.map +1 -1
  222. package/lib/index.js +1 -1
  223. package/lib/index.js.map +1 -1
  224. package/lib/packageVersion.d.ts +1 -1
  225. package/lib/packageVersion.js +1 -1
  226. package/lib/packageVersion.js.map +1 -1
  227. package/lib/shared-tree/independentView.d.ts.map +1 -1
  228. package/lib/shared-tree/independentView.js +5 -8
  229. package/lib/shared-tree/independentView.js.map +1 -1
  230. package/lib/shared-tree/index.d.ts +1 -1
  231. package/lib/shared-tree/index.d.ts.map +1 -1
  232. package/lib/shared-tree/index.js.map +1 -1
  233. package/lib/shared-tree/schematizingTreeView.d.ts +5 -5
  234. package/lib/shared-tree/schematizingTreeView.d.ts.map +1 -1
  235. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  236. package/lib/shared-tree/sharedTree.d.ts +5 -0
  237. package/lib/shared-tree/sharedTree.d.ts.map +1 -1
  238. package/lib/shared-tree/sharedTree.js +8 -5
  239. package/lib/shared-tree/sharedTree.js.map +1 -1
  240. package/lib/shared-tree/transactionPostProcessor.d.ts +28 -0
  241. package/lib/shared-tree/transactionPostProcessor.d.ts.map +1 -0
  242. package/lib/shared-tree/transactionPostProcessor.js +23 -0
  243. package/lib/shared-tree/transactionPostProcessor.js.map +1 -0
  244. package/lib/shared-tree/treeAlpha.js +3 -3
  245. package/lib/shared-tree/treeAlpha.js.map +1 -1
  246. package/lib/shared-tree/treeCheckout.d.ts +16 -12
  247. package/lib/shared-tree/treeCheckout.d.ts.map +1 -1
  248. package/lib/shared-tree/treeCheckout.js +18 -9
  249. package/lib/shared-tree/treeCheckout.js.map +1 -1
  250. package/lib/shared-tree/unhydratedTreeContext.d.ts +5 -5
  251. package/lib/shared-tree/unhydratedTreeContext.d.ts.map +1 -1
  252. package/lib/shared-tree/unhydratedTreeContext.js.map +1 -1
  253. package/lib/shared-tree-core/editManagerCodecs.d.ts +3 -2
  254. package/lib/shared-tree-core/editManagerCodecs.d.ts.map +1 -1
  255. package/lib/shared-tree-core/editManagerCodecs.js.map +1 -1
  256. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts +3 -9
  257. package/lib/shared-tree-core/editManagerCodecsCommons.d.ts.map +1 -1
  258. package/lib/shared-tree-core/editManagerCodecsCommons.js +3 -5
  259. package/lib/shared-tree-core/editManagerCodecsCommons.js.map +1 -1
  260. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts +3 -3
  261. package/lib/shared-tree-core/editManagerCodecsV1toV4.d.ts.map +1 -1
  262. package/lib/shared-tree-core/editManagerCodecsV1toV4.js.map +1 -1
  263. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts +3 -3
  264. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.d.ts.map +1 -1
  265. package/lib/shared-tree-core/editManagerCodecsVSharedBranches.js.map +1 -1
  266. package/lib/shared-tree-core/editManagerSummarizer.d.ts +5 -9
  267. package/lib/shared-tree-core/editManagerSummarizer.d.ts.map +1 -1
  268. package/lib/shared-tree-core/editManagerSummarizer.js +5 -10
  269. package/lib/shared-tree-core/editManagerSummarizer.js.map +1 -1
  270. package/lib/shared-tree-core/index.d.ts +1 -1
  271. package/lib/shared-tree-core/index.d.ts.map +1 -1
  272. package/lib/shared-tree-core/index.js +1 -1
  273. package/lib/shared-tree-core/index.js.map +1 -1
  274. package/lib/shared-tree-core/sharedTreeCore.d.ts.map +1 -1
  275. package/lib/shared-tree-core/sharedTreeCore.js +3 -1
  276. package/lib/shared-tree-core/sharedTreeCore.js.map +1 -1
  277. package/lib/shared-tree-core/transaction.d.ts +84 -9
  278. package/lib/shared-tree-core/transaction.d.ts.map +1 -1
  279. package/lib/shared-tree-core/transaction.js +73 -6
  280. package/lib/shared-tree-core/transaction.js.map +1 -1
  281. package/lib/simple-tree/api/index.d.ts +1 -1
  282. package/lib/simple-tree/api/index.d.ts.map +1 -1
  283. package/lib/simple-tree/api/index.js.map +1 -1
  284. package/lib/simple-tree/api/schemaCreationUtilities.d.ts +3 -3
  285. package/lib/simple-tree/api/schemaCreationUtilities.js +3 -3
  286. package/lib/simple-tree/api/schemaCreationUtilities.js.map +1 -1
  287. package/lib/simple-tree/api/schemaFactory.d.ts +1 -1
  288. package/lib/simple-tree/api/schemaFactory.js +2 -2
  289. package/lib/simple-tree/api/schemaFactory.js.map +1 -1
  290. package/lib/simple-tree/api/snapshotCompatibilityChecker.d.ts +2 -2
  291. package/lib/simple-tree/api/snapshotCompatibilityChecker.js +2 -2
  292. package/lib/simple-tree/api/snapshotCompatibilityChecker.js.map +1 -1
  293. package/lib/simple-tree/api/transactionTypes.d.ts +91 -28
  294. package/lib/simple-tree/api/transactionTypes.d.ts.map +1 -1
  295. package/lib/simple-tree/api/transactionTypes.js.map +1 -1
  296. package/lib/simple-tree/api/tree.d.ts +86 -22
  297. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  298. package/lib/simple-tree/api/tree.js.map +1 -1
  299. package/lib/simple-tree/api/treeBeta.d.ts.map +1 -1
  300. package/lib/simple-tree/api/treeBeta.js.map +1 -1
  301. package/lib/simple-tree/core/treeNodeSchema.d.ts +7 -7
  302. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  303. package/lib/simple-tree/index.d.ts +1 -1
  304. package/lib/simple-tree/index.d.ts.map +1 -1
  305. package/lib/simple-tree/index.js.map +1 -1
  306. package/lib/text/index.d.ts +1 -0
  307. package/lib/text/index.d.ts.map +1 -1
  308. package/lib/text/index.js +1 -0
  309. package/lib/text/index.js.map +1 -1
  310. package/lib/text/textDomainFormatted.d.ts +69 -758
  311. package/lib/text/textDomainFormatted.d.ts.map +1 -1
  312. package/lib/text/textDomainFormatted.js +277 -324
  313. package/lib/text/textDomainFormatted.js.map +1 -1
  314. package/lib/text/textDomainFormattedDefault.d.ts +273 -0
  315. package/lib/text/textDomainFormattedDefault.d.ts.map +1 -0
  316. package/lib/text/textDomainFormattedDefault.js +91 -0
  317. package/lib/text/textDomainFormattedDefault.js.map +1 -0
  318. package/lib/util/compressedIds.d.ts +118 -0
  319. package/lib/util/compressedIds.d.ts.map +1 -0
  320. package/lib/util/compressedIds.js +124 -0
  321. package/lib/util/compressedIds.js.map +1 -0
  322. package/lib/util/index.d.ts +1 -0
  323. package/lib/util/index.d.ts.map +1 -1
  324. package/lib/util/index.js +1 -0
  325. package/lib/util/index.js.map +1 -1
  326. package/package.json +23 -23
  327. package/src/core/change-family/changeFamily.ts +3 -12
  328. package/src/core/rebase/types.ts +2 -2
  329. package/src/core/schema-stored/storedSchemaRepository.ts +2 -2
  330. package/src/entrypoints/alpha.ts +12 -8
  331. package/src/entrypoints/beta.ts +8 -0
  332. package/src/entrypoints/legacy.ts +8 -0
  333. package/src/feature-libraries/chunked-forest/codec/chunkDecoding.ts +35 -64
  334. package/src/feature-libraries/chunked-forest/codec/codecs.ts +138 -42
  335. package/src/feature-libraries/chunked-forest/codec/compressedEncode.ts +32 -4
  336. package/src/feature-libraries/chunked-forest/codec/index.ts +1 -0
  337. package/src/feature-libraries/chunked-forest/codec/nodeEncoder.ts +7 -19
  338. package/src/feature-libraries/chunked-forest/index.ts +3 -0
  339. package/src/feature-libraries/forest-summary/codec.ts +5 -3
  340. package/src/feature-libraries/forest-summary/forestSummarizer.ts +4 -5
  341. package/src/feature-libraries/index.ts +3 -0
  342. package/src/feature-libraries/modular-schema/modularChangeCodecV1.ts +13 -9
  343. package/src/index.ts +13 -8
  344. package/src/packageVersion.ts +1 -1
  345. package/src/shared-tree/independentView.ts +5 -10
  346. package/src/shared-tree/index.ts +1 -0
  347. package/src/shared-tree/schematizingTreeView.ts +25 -25
  348. package/src/shared-tree/sharedTree.ts +16 -4
  349. package/src/shared-tree/transactionPostProcessor.ts +40 -0
  350. package/src/shared-tree/treeAlpha.ts +3 -3
  351. package/src/shared-tree/treeCheckout.ts +61 -44
  352. package/src/shared-tree/unhydratedTreeContext.ts +18 -15
  353. package/src/shared-tree-core/editManagerCodecs.ts +3 -2
  354. package/src/shared-tree-core/editManagerCodecsCommons.ts +10 -14
  355. package/src/shared-tree-core/editManagerCodecsV1toV4.ts +3 -2
  356. package/src/shared-tree-core/editManagerCodecsVSharedBranches.ts +3 -2
  357. package/src/shared-tree-core/editManagerSummarizer.ts +5 -9
  358. package/src/shared-tree-core/index.ts +8 -5
  359. package/src/shared-tree-core/sharedTreeCore.ts +3 -2
  360. package/src/shared-tree-core/transaction.ts +148 -18
  361. package/src/simple-tree/api/index.ts +13 -9
  362. package/src/simple-tree/api/schemaCreationUtilities.ts +3 -3
  363. package/src/simple-tree/api/schemaFactory.ts +2 -2
  364. package/src/simple-tree/api/snapshotCompatibilityChecker.ts +2 -2
  365. package/src/simple-tree/api/transactionTypes.ts +111 -39
  366. package/src/simple-tree/api/tree.ts +141 -47
  367. package/src/simple-tree/api/treeBeta.ts +2 -0
  368. package/src/simple-tree/core/treeNodeSchema.ts +7 -7
  369. package/src/simple-tree/index.ts +12 -8
  370. package/src/text/index.ts +1 -0
  371. package/src/text/textDomainFormatted.ts +520 -415
  372. package/src/text/textDomainFormattedDefault.ts +150 -0
  373. package/src/util/compressedIds.ts +216 -0
  374. package/src/util/index.ts +15 -0
@@ -2,32 +2,44 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { InsertableTypedNode, TreeNode, TreeNodeFromImplicitAllowedTypes, WithType } from "../simple-tree/index.js";
5
+ import type { TreeNodeSchema, LazyItem, ImplicitAllowedTypes, TreeFieldFromImplicitField, TreeNodeFromImplicitAllowedTypes, InsertableTreeNodeFromImplicitAllowedTypes, InsertableTreeFieldFromImplicitField, NodeKind, TreeNode, ScopedSchemaName, ErasedSchemaSubclassable, ErasedNode, SchemaFactoryBeta } from "../simple-tree/index.js";
6
6
  import { type TextAsTree } from "./textDomain.js";
7
7
  /**
8
8
  * A collection of text related types, schema and utilities for working with text beyond the basic {@link SchemaStatics.string}.
9
+ * @remarks
10
+ * This is generic over formatting an embedded object/atom types.
11
+ * See {@link FormattedTextAsTreeDefault} for a default parameterization.
9
12
  * @privateRemarks
10
- * This has hard-coded assumptions about what kind of embedded content and what kind of formatting is supported.
11
- * We will want to generalize this with a more generic schema factory function like with table.
12
- * Then either that and/or the output from it can be package exported.
13
- * This version is just an initial prototype.
13
+ * TODO:
14
+ * - Add more comprehensive tests for generic parameterizations other than default.
15
+ * - Sort out API around overwriting subsets of formatting information.
14
16
  * @internal
15
17
  */
16
18
  export declare namespace FormattedTextAsTree {
17
- const CharacterFormat_base: import("../simple-tree/index.js").ObjectNodeSchemaWorkaround<"com.fluidframework.text.formatted.CharacterFormat", {
18
- readonly bold: import("../simple-tree/leafNodeSchema.js").LeafSchema<"boolean", boolean>;
19
- readonly italic: import("../simple-tree/leafNodeSchema.js").LeafSchema<"boolean", boolean>;
20
- readonly underline: import("../simple-tree/leafNodeSchema.js").LeafSchema<"boolean", boolean>;
21
- readonly size: import("../simple-tree/leafNodeSchema.js").LeafSchema<"number", number>;
22
- readonly font: import("../simple-tree/leafNodeSchema.js").LeafSchema<"string", string>;
23
- }, true, unknown>;
24
19
  /**
25
- * Formatting options for characters.
20
+ * Factory for formatted text schema as a function of the formatting and the embedded object (atom) types.
21
+ */
22
+ export function createSchema<const TUserScope extends string, const FormatSchema extends ImplicitAllowedTypes, const ExtraAtomsSchema extends readonly LazyItem<TreeNodeSchema<string, NodeKind, TextAtom & TreeNode>>[]>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, formatSchema: FormatSchema, extraAtoms: ExtraAtomsSchema, defaultFormatInsertable: InsertableTreeFieldFromImplicitField<FormatSchema>): FormattedTextSchema<TUserScope, FormatSchema, ExtraAtomsSchema>;
23
+ /**
24
+ * Portion of a string with formatting.
25
+ * @sealed
26
+ * @internal
27
+ */
28
+ export interface FormattedAtom<TFormat, TText> {
29
+ readonly content: TText;
30
+ format: TFormat;
31
+ }
32
+ /**
33
+ * Portion of a string.
26
34
  * @internal
27
35
  */
28
- export class CharacterFormat extends CharacterFormat_base {
36
+ export interface TextAtom {
37
+ /**
38
+ * The content of the text atom, viewed as a string.
39
+ */
40
+ readonly content: string;
29
41
  }
30
- const StringTextAtom_base: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.StringTextAtom", import("../simple-tree/index.js").NodeKind.Object, import("../simple-tree/index.js").TreeObjectNode<{
42
+ const StringTextAtom_base: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.StringTextAtom", NodeKind.Object, import("../simple-tree/index.js").TreeObjectNode<{
31
43
  /**
32
44
  * The underlying text content of this atom.
33
45
  * @remarks
@@ -60,745 +72,18 @@ export declare namespace FormattedTextAsTree {
60
72
  * Unit in the string representing a single character.
61
73
  * @internal
62
74
  */
63
- export class StringTextAtom extends StringTextAtom_base {
64
- }
65
- /**
66
- * Tag with which a line in text can be formatted from HTML.
67
- * @internal
68
- */
69
- export const LineTag: (<TValue extends "ol" | "li" | "h1" | "h2" | "h3" | "h4" | "h5" | "checked" | "unchecked" | "blockquote" | "codeBlock">(value: TValue) => TValue extends unknown ? TreeNode & {
70
- readonly value: TValue;
71
- } : never) & {
72
- h1: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.h1" | "com.h1", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
73
- readonly value: "h1";
74
- }, Record<string, never>, true, Record<string, never>, undefined>;
75
- h3: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.h3" | "com.h3", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
76
- readonly value: "h3";
77
- }, Record<string, never>, true, Record<string, never>, undefined>;
78
- codeBlock: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.codeBlock" | "com.codeBlock", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
79
- readonly value: "codeBlock";
80
- }, Record<string, never>, true, Record<string, never>, undefined>;
81
- h2: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.h2" | "com.h2", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
82
- readonly value: "h2";
83
- }, Record<string, never>, true, Record<string, never>, undefined>;
84
- h4: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.h4" | "com.h4", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
85
- readonly value: "h4";
86
- }, Record<string, never>, true, Record<string, never>, undefined>;
87
- checked: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.checked" | "com.checked", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
88
- readonly value: "checked";
89
- }, Record<string, never>, true, Record<string, never>, undefined>;
90
- h5: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.h5" | "com.h5", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
91
- readonly value: "h5";
92
- }, Record<string, never>, true, Record<string, never>, undefined>;
93
- li: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.li" | "com.li", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
94
- readonly value: "li";
95
- }, Record<string, never>, true, Record<string, never>, undefined>;
96
- ol: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.ol" | "com.ol", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
97
- readonly value: "ol";
98
- }, Record<string, never>, true, Record<string, never>, undefined>;
99
- unchecked: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.unchecked" | "com.unchecked", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
100
- readonly value: "unchecked";
101
- }, Record<string, never>, true, Record<string, never>, undefined>;
102
- blockquote: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.blockquote" | "com.blockquote", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
103
- readonly value: "blockquote";
104
- }, Record<string, never>, true, Record<string, never>, undefined>;
105
- } & {
106
- readonly schema: [import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.ol" | "com.ol", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
107
- readonly value: "ol";
108
- }, Record<string, never>, true, Record<string, never>, undefined>, import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.li" | "com.li", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
109
- readonly value: "li";
110
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h1" | "com.h1", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
111
- readonly value: "h1";
112
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h2" | "com.h2", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
113
- readonly value: "h2";
114
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h3" | "com.h3", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
115
- readonly value: "h3";
116
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h4" | "com.h4", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
117
- readonly value: "h4";
118
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h5" | "com.h5", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
119
- readonly value: "h5";
120
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.checked" | "com.checked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
121
- readonly value: "checked";
122
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.unchecked" | "com.unchecked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
123
- readonly value: "unchecked";
124
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.blockquote" | "com.blockquote", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
125
- readonly value: "blockquote";
126
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.codeBlock" | "com.codeBlock", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
127
- readonly value: "codeBlock";
128
- })];
129
- };
130
- /**
131
- * {@inheritdoc FormattedTextAsTree.(LineTag:variable)}
132
- * @internal
133
- */
134
- export type LineTag = TreeNodeFromImplicitAllowedTypes<typeof LineTag.schema>;
135
- const StringLineAtom_base: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.StringLineAtom", import("../simple-tree/index.js").NodeKind.Object, import("../simple-tree/index.js").TreeObjectNode<{
136
- readonly tag: [import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.ol" | "com.ol", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
137
- readonly value: "ol";
138
- }, Record<string, never>, true, Record<string, never>, undefined>, import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.li" | "com.li", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
139
- readonly value: "li";
140
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h1" | "com.h1", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
141
- readonly value: "h1";
142
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h2" | "com.h2", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
143
- readonly value: "h2";
144
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h3" | "com.h3", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
145
- readonly value: "h3";
146
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h4" | "com.h4", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
147
- readonly value: "h4";
148
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h5" | "com.h5", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
149
- readonly value: "h5";
150
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.checked" | "com.checked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
151
- readonly value: "checked";
152
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.unchecked" | "com.unchecked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
153
- readonly value: "unchecked";
154
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.blockquote" | "com.blockquote", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
155
- readonly value: "blockquote";
156
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.codeBlock" | "com.codeBlock", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
157
- readonly value: "codeBlock";
158
- })];
159
- readonly indent: import("../simple-tree/leafNodeSchema.js").LeafSchema<"number", number>;
160
- }, "com.fluidframework.text.formatted.StringLineAtom">, object & {
161
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
162
- readonly value: "ol";
163
- }) | (Record<string, never> & TreeNode & {
164
- readonly value: "li";
165
- }) | (Record<string, never> & TreeNode & {
166
- readonly value: "h1";
167
- }) | (Record<string, never> & TreeNode & {
168
- readonly value: "h2";
169
- }) | (Record<string, never> & TreeNode & {
170
- readonly value: "h3";
171
- }) | (Record<string, never> & TreeNode & {
172
- readonly value: "h4";
173
- }) | (Record<string, never> & TreeNode & {
174
- readonly value: "h5";
175
- }) | (Record<string, never> & TreeNode & {
176
- readonly value: "checked";
177
- }) | (Record<string, never> & TreeNode & {
178
- readonly value: "unchecked";
179
- }) | (Record<string, never> & TreeNode & {
180
- readonly value: "blockquote";
181
- }) | (Record<string, never> & TreeNode & {
182
- readonly value: "codeBlock";
183
- }) | (TreeNode & {
184
- readonly value: "ol";
185
- } & Record<string, never>) | (TreeNode & {
186
- readonly value: "ol";
187
- }) | (TreeNode & {
188
- readonly value: "li";
189
- } & Record<string, never>) | (TreeNode & {
190
- readonly value: "li";
191
- }) | (TreeNode & {
192
- readonly value: "h1";
193
- } & Record<string, never>) | (TreeNode & {
194
- readonly value: "h1";
195
- }) | (TreeNode & {
196
- readonly value: "h2";
197
- } & Record<string, never>) | (TreeNode & {
198
- readonly value: "h2";
199
- }) | (TreeNode & {
200
- readonly value: "h3";
201
- } & Record<string, never>) | (TreeNode & {
202
- readonly value: "h3";
203
- }) | (TreeNode & {
204
- readonly value: "h4";
205
- } & Record<string, never>) | (TreeNode & {
206
- readonly value: "h4";
207
- }) | (TreeNode & {
208
- readonly value: "h5";
209
- } & Record<string, never>) | (TreeNode & {
210
- readonly value: "h5";
211
- }) | (TreeNode & {
212
- readonly value: "checked";
213
- } & Record<string, never>) | (TreeNode & {
214
- readonly value: "checked";
215
- }) | (TreeNode & {
216
- readonly value: "unchecked";
217
- } & Record<string, never>) | (TreeNode & {
218
- readonly value: "unchecked";
219
- }) | (TreeNode & {
220
- readonly value: "blockquote";
221
- } & Record<string, never>) | (TreeNode & {
222
- readonly value: "blockquote";
223
- }) | (TreeNode & {
224
- readonly value: "codeBlock";
225
- } & Record<string, never>) | (TreeNode & {
226
- readonly value: "codeBlock";
227
- });
228
- readonly indent: number;
229
- }, true, {
230
- readonly tag: [import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.lineTag.ol" | "com.ol", import("../simple-tree/index.js").NodeKind.Object, TreeNode & {
231
- readonly value: "ol";
232
- }, Record<string, never>, true, Record<string, never>, undefined>, import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.li" | "com.li", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
233
- readonly value: "li";
234
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h1" | "com.h1", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
235
- readonly value: "h1";
236
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h2" | "com.h2", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
237
- readonly value: "h2";
238
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h3" | "com.h3", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
239
- readonly value: "h3";
240
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h4" | "com.h4", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
241
- readonly value: "h4";
242
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.h5" | "com.h5", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
243
- readonly value: "h5";
244
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.checked" | "com.checked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
245
- readonly value: "checked";
246
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.unchecked" | "com.unchecked", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
247
- readonly value: "unchecked";
248
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.blockquote" | "com.blockquote", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
249
- readonly value: "blockquote";
250
- }), import("../simple-tree/index.js").TreeNodeSchemaCore<"com.fluidframework.text.formatted.lineTag.codeBlock" | "com.codeBlock", import("../simple-tree/index.js").NodeKind.Object, true, Record<string, never>, Record<string, never>, unknown> & (new (data?: Record<string, never> | import("../simple-tree/index.js").InternalTreeNode | undefined) => TreeNode & {
251
- readonly value: "codeBlock";
252
- })];
253
- readonly indent: import("../simple-tree/leafNodeSchema.js").LeafSchema<"number", number>;
254
- }, never, unknown>;
255
- /**
256
- * Unit in the string representing a new line character with line formatting.
257
- * @remarks
258
- * This aligns with how Quill represents line formatting.
259
- * Quill formats line attributes (headers, list, blockquote, etc... ) on the newline character
260
- * and only lines using this atom can have line-specific formatting.
261
- * The optional indent level mirrors Quill's indent attribute,
262
- * which is applies to the line before the line break.
263
- * Any tagged line can be indented independently.
264
- * @internal
265
- */
266
- export class StringLineAtom extends StringLineAtom_base {
267
- readonly content = "\n";
268
- }
269
- /**
270
- * Types of "atoms" that make up the text.
271
- * @internal
272
- */
273
- export const StringAtomContent: readonly [typeof StringTextAtom, typeof StringLineAtom];
274
- /**
275
- * {@inheritdoc FormattedTextAsTree.(StringAtomContent:variable)}
276
- * @internal
277
- */
278
- export type StringAtomContent = TreeNodeFromImplicitAllowedTypes<typeof StringAtomContent>;
279
- const StringAtom_base: import("../simple-tree/index.js").TreeNodeSchemaClass<"com.fluidframework.text.formatted.StringAtom", import("../simple-tree/index.js").NodeKind.Object, import("../simple-tree/index.js").TreeObjectNode<{
280
- readonly content: import("../simple-tree/fieldSchema.js").FieldSchema<import("../simple-tree/fieldSchema.js").FieldKind.Required, readonly [typeof StringTextAtom, typeof StringLineAtom], unknown>;
281
- readonly format: typeof CharacterFormat;
282
- }, "com.fluidframework.text.formatted.StringAtom">, object & {
283
- readonly content: StringTextAtom | (object & {
284
- readonly content: string;
285
- }) | StringLineAtom | (object & {
286
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
287
- readonly value: "ol";
288
- }) | (Record<string, never> & TreeNode & {
289
- readonly value: "li";
290
- }) | (Record<string, never> & TreeNode & {
291
- readonly value: "h1";
292
- }) | (Record<string, never> & TreeNode & {
293
- readonly value: "h2";
294
- }) | (Record<string, never> & TreeNode & {
295
- readonly value: "h3";
296
- }) | (Record<string, never> & TreeNode & {
297
- readonly value: "h4";
298
- }) | (Record<string, never> & TreeNode & {
299
- readonly value: "h5";
300
- }) | (Record<string, never> & TreeNode & {
301
- readonly value: "checked";
302
- }) | (Record<string, never> & TreeNode & {
303
- readonly value: "unchecked";
304
- }) | (Record<string, never> & TreeNode & {
305
- readonly value: "blockquote";
306
- }) | (Record<string, never> & TreeNode & {
307
- readonly value: "codeBlock";
308
- }) | (TreeNode & {
309
- readonly value: "ol";
310
- } & Record<string, never>) | (TreeNode & {
311
- readonly value: "ol";
312
- }) | (TreeNode & {
313
- readonly value: "li";
314
- } & Record<string, never>) | (TreeNode & {
315
- readonly value: "li";
316
- }) | (TreeNode & {
317
- readonly value: "h1";
318
- } & Record<string, never>) | (TreeNode & {
319
- readonly value: "h1";
320
- }) | (TreeNode & {
321
- readonly value: "h2";
322
- } & Record<string, never>) | (TreeNode & {
323
- readonly value: "h2";
324
- }) | (TreeNode & {
325
- readonly value: "h3";
326
- } & Record<string, never>) | (TreeNode & {
327
- readonly value: "h3";
328
- }) | (TreeNode & {
329
- readonly value: "h4";
330
- } & Record<string, never>) | (TreeNode & {
331
- readonly value: "h4";
332
- }) | (TreeNode & {
333
- readonly value: "h5";
334
- } & Record<string, never>) | (TreeNode & {
335
- readonly value: "h5";
336
- }) | (TreeNode & {
337
- readonly value: "checked";
338
- } & Record<string, never>) | (TreeNode & {
339
- readonly value: "checked";
340
- }) | (TreeNode & {
341
- readonly value: "unchecked";
342
- } & Record<string, never>) | (TreeNode & {
343
- readonly value: "unchecked";
344
- }) | (TreeNode & {
345
- readonly value: "blockquote";
346
- } & Record<string, never>) | (TreeNode & {
347
- readonly value: "blockquote";
348
- }) | (TreeNode & {
349
- readonly value: "codeBlock";
350
- } & Record<string, never>) | (TreeNode & {
351
- readonly value: "codeBlock";
352
- });
353
- readonly indent: number;
354
- }) | (StringTextAtom & object & {
355
- readonly content: string;
356
- }) | (StringTextAtom & object & {
357
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
358
- readonly value: "ol";
359
- }) | (Record<string, never> & TreeNode & {
360
- readonly value: "li";
361
- }) | (Record<string, never> & TreeNode & {
362
- readonly value: "h1";
363
- }) | (Record<string, never> & TreeNode & {
364
- readonly value: "h2";
365
- }) | (Record<string, never> & TreeNode & {
366
- readonly value: "h3";
367
- }) | (Record<string, never> & TreeNode & {
368
- readonly value: "h4";
369
- }) | (Record<string, never> & TreeNode & {
370
- readonly value: "h5";
371
- }) | (Record<string, never> & TreeNode & {
372
- readonly value: "checked";
373
- }) | (Record<string, never> & TreeNode & {
374
- readonly value: "unchecked";
375
- }) | (Record<string, never> & TreeNode & {
376
- readonly value: "blockquote";
377
- }) | (Record<string, never> & TreeNode & {
378
- readonly value: "codeBlock";
379
- }) | (TreeNode & {
380
- readonly value: "ol";
381
- } & Record<string, never>) | (TreeNode & {
382
- readonly value: "ol";
383
- }) | (TreeNode & {
384
- readonly value: "li";
385
- } & Record<string, never>) | (TreeNode & {
386
- readonly value: "li";
387
- }) | (TreeNode & {
388
- readonly value: "h1";
389
- } & Record<string, never>) | (TreeNode & {
390
- readonly value: "h1";
391
- }) | (TreeNode & {
392
- readonly value: "h2";
393
- } & Record<string, never>) | (TreeNode & {
394
- readonly value: "h2";
395
- }) | (TreeNode & {
396
- readonly value: "h3";
397
- } & Record<string, never>) | (TreeNode & {
398
- readonly value: "h3";
399
- }) | (TreeNode & {
400
- readonly value: "h4";
401
- } & Record<string, never>) | (TreeNode & {
402
- readonly value: "h4";
403
- }) | (TreeNode & {
404
- readonly value: "h5";
405
- } & Record<string, never>) | (TreeNode & {
406
- readonly value: "h5";
407
- }) | (TreeNode & {
408
- readonly value: "checked";
409
- } & Record<string, never>) | (TreeNode & {
410
- readonly value: "checked";
411
- }) | (TreeNode & {
412
- readonly value: "unchecked";
413
- } & Record<string, never>) | (TreeNode & {
414
- readonly value: "unchecked";
415
- }) | (TreeNode & {
416
- readonly value: "blockquote";
417
- } & Record<string, never>) | (TreeNode & {
418
- readonly value: "blockquote";
419
- }) | (TreeNode & {
420
- readonly value: "codeBlock";
421
- } & Record<string, never>) | (TreeNode & {
422
- readonly value: "codeBlock";
423
- });
424
- readonly indent: number;
425
- }) | (object & {
426
- readonly content: string;
427
- } & StringTextAtom) | (object & {
428
- readonly content: string;
429
- } & StringLineAtom) | (object & {
430
- readonly content: string;
431
- } & {
432
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
433
- readonly value: "ol";
434
- }) | (Record<string, never> & TreeNode & {
435
- readonly value: "li";
436
- }) | (Record<string, never> & TreeNode & {
437
- readonly value: "h1";
438
- }) | (Record<string, never> & TreeNode & {
439
- readonly value: "h2";
440
- }) | (Record<string, never> & TreeNode & {
441
- readonly value: "h3";
442
- }) | (Record<string, never> & TreeNode & {
443
- readonly value: "h4";
444
- }) | (Record<string, never> & TreeNode & {
445
- readonly value: "h5";
446
- }) | (Record<string, never> & TreeNode & {
447
- readonly value: "checked";
448
- }) | (Record<string, never> & TreeNode & {
449
- readonly value: "unchecked";
450
- }) | (Record<string, never> & TreeNode & {
451
- readonly value: "blockquote";
452
- }) | (Record<string, never> & TreeNode & {
453
- readonly value: "codeBlock";
454
- }) | (TreeNode & {
455
- readonly value: "ol";
456
- } & Record<string, never>) | (TreeNode & {
457
- readonly value: "ol";
458
- }) | (TreeNode & {
459
- readonly value: "li";
460
- } & Record<string, never>) | (TreeNode & {
461
- readonly value: "li";
462
- }) | (TreeNode & {
463
- readonly value: "h1";
464
- } & Record<string, never>) | (TreeNode & {
465
- readonly value: "h1";
466
- }) | (TreeNode & {
467
- readonly value: "h2";
468
- } & Record<string, never>) | (TreeNode & {
469
- readonly value: "h2";
470
- }) | (TreeNode & {
471
- readonly value: "h3";
472
- } & Record<string, never>) | (TreeNode & {
473
- readonly value: "h3";
474
- }) | (TreeNode & {
475
- readonly value: "h4";
476
- } & Record<string, never>) | (TreeNode & {
477
- readonly value: "h4";
478
- }) | (TreeNode & {
479
- readonly value: "h5";
480
- } & Record<string, never>) | (TreeNode & {
481
- readonly value: "h5";
482
- }) | (TreeNode & {
483
- readonly value: "checked";
484
- } & Record<string, never>) | (TreeNode & {
485
- readonly value: "checked";
486
- }) | (TreeNode & {
487
- readonly value: "unchecked";
488
- } & Record<string, never>) | (TreeNode & {
489
- readonly value: "unchecked";
490
- }) | (TreeNode & {
491
- readonly value: "blockquote";
492
- } & Record<string, never>) | (TreeNode & {
493
- readonly value: "blockquote";
494
- }) | (TreeNode & {
495
- readonly value: "codeBlock";
496
- } & Record<string, never>) | (TreeNode & {
497
- readonly value: "codeBlock";
498
- });
499
- readonly indent: number;
500
- }) | (StringLineAtom & object & {
501
- readonly content: string;
502
- }) | (StringLineAtom & object & {
503
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
504
- readonly value: "ol";
505
- }) | (Record<string, never> & TreeNode & {
506
- readonly value: "li";
507
- }) | (Record<string, never> & TreeNode & {
508
- readonly value: "h1";
509
- }) | (Record<string, never> & TreeNode & {
510
- readonly value: "h2";
511
- }) | (Record<string, never> & TreeNode & {
512
- readonly value: "h3";
513
- }) | (Record<string, never> & TreeNode & {
514
- readonly value: "h4";
515
- }) | (Record<string, never> & TreeNode & {
516
- readonly value: "h5";
517
- }) | (Record<string, never> & TreeNode & {
518
- readonly value: "checked";
519
- }) | (Record<string, never> & TreeNode & {
520
- readonly value: "unchecked";
521
- }) | (Record<string, never> & TreeNode & {
522
- readonly value: "blockquote";
523
- }) | (Record<string, never> & TreeNode & {
524
- readonly value: "codeBlock";
525
- }) | (TreeNode & {
526
- readonly value: "ol";
527
- } & Record<string, never>) | (TreeNode & {
528
- readonly value: "ol";
529
- }) | (TreeNode & {
530
- readonly value: "li";
531
- } & Record<string, never>) | (TreeNode & {
532
- readonly value: "li";
533
- }) | (TreeNode & {
534
- readonly value: "h1";
535
- } & Record<string, never>) | (TreeNode & {
536
- readonly value: "h1";
537
- }) | (TreeNode & {
538
- readonly value: "h2";
539
- } & Record<string, never>) | (TreeNode & {
540
- readonly value: "h2";
541
- }) | (TreeNode & {
542
- readonly value: "h3";
543
- } & Record<string, never>) | (TreeNode & {
544
- readonly value: "h3";
545
- }) | (TreeNode & {
546
- readonly value: "h4";
547
- } & Record<string, never>) | (TreeNode & {
548
- readonly value: "h4";
549
- }) | (TreeNode & {
550
- readonly value: "h5";
551
- } & Record<string, never>) | (TreeNode & {
552
- readonly value: "h5";
553
- }) | (TreeNode & {
554
- readonly value: "checked";
555
- } & Record<string, never>) | (TreeNode & {
556
- readonly value: "checked";
557
- }) | (TreeNode & {
558
- readonly value: "unchecked";
559
- } & Record<string, never>) | (TreeNode & {
560
- readonly value: "unchecked";
561
- }) | (TreeNode & {
562
- readonly value: "blockquote";
563
- } & Record<string, never>) | (TreeNode & {
564
- readonly value: "blockquote";
565
- }) | (TreeNode & {
566
- readonly value: "codeBlock";
567
- } & Record<string, never>) | (TreeNode & {
568
- readonly value: "codeBlock";
569
- });
570
- readonly indent: number;
571
- }) | (object & {
572
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
573
- readonly value: "ol";
574
- }) | (Record<string, never> & TreeNode & {
575
- readonly value: "li";
576
- }) | (Record<string, never> & TreeNode & {
577
- readonly value: "h1";
578
- }) | (Record<string, never> & TreeNode & {
579
- readonly value: "h2";
580
- }) | (Record<string, never> & TreeNode & {
581
- readonly value: "h3";
582
- }) | (Record<string, never> & TreeNode & {
583
- readonly value: "h4";
584
- }) | (Record<string, never> & TreeNode & {
585
- readonly value: "h5";
586
- }) | (Record<string, never> & TreeNode & {
587
- readonly value: "checked";
588
- }) | (Record<string, never> & TreeNode & {
589
- readonly value: "unchecked";
590
- }) | (Record<string, never> & TreeNode & {
591
- readonly value: "blockquote";
592
- }) | (Record<string, never> & TreeNode & {
593
- readonly value: "codeBlock";
594
- }) | (TreeNode & {
595
- readonly value: "ol";
596
- } & Record<string, never>) | (TreeNode & {
597
- readonly value: "ol";
598
- }) | (TreeNode & {
599
- readonly value: "li";
600
- } & Record<string, never>) | (TreeNode & {
601
- readonly value: "li";
602
- }) | (TreeNode & {
603
- readonly value: "h1";
604
- } & Record<string, never>) | (TreeNode & {
605
- readonly value: "h1";
606
- }) | (TreeNode & {
607
- readonly value: "h2";
608
- } & Record<string, never>) | (TreeNode & {
609
- readonly value: "h2";
610
- }) | (TreeNode & {
611
- readonly value: "h3";
612
- } & Record<string, never>) | (TreeNode & {
613
- readonly value: "h3";
614
- }) | (TreeNode & {
615
- readonly value: "h4";
616
- } & Record<string, never>) | (TreeNode & {
617
- readonly value: "h4";
618
- }) | (TreeNode & {
619
- readonly value: "h5";
620
- } & Record<string, never>) | (TreeNode & {
621
- readonly value: "h5";
622
- }) | (TreeNode & {
623
- readonly value: "checked";
624
- } & Record<string, never>) | (TreeNode & {
625
- readonly value: "checked";
626
- }) | (TreeNode & {
627
- readonly value: "unchecked";
628
- } & Record<string, never>) | (TreeNode & {
629
- readonly value: "unchecked";
630
- }) | (TreeNode & {
631
- readonly value: "blockquote";
632
- } & Record<string, never>) | (TreeNode & {
633
- readonly value: "blockquote";
634
- }) | (TreeNode & {
635
- readonly value: "codeBlock";
636
- } & Record<string, never>) | (TreeNode & {
637
- readonly value: "codeBlock";
638
- });
639
- readonly indent: number;
640
- } & StringTextAtom) | (object & {
641
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
642
- readonly value: "ol";
643
- }) | (Record<string, never> & TreeNode & {
644
- readonly value: "li";
645
- }) | (Record<string, never> & TreeNode & {
646
- readonly value: "h1";
647
- }) | (Record<string, never> & TreeNode & {
648
- readonly value: "h2";
649
- }) | (Record<string, never> & TreeNode & {
650
- readonly value: "h3";
651
- }) | (Record<string, never> & TreeNode & {
652
- readonly value: "h4";
653
- }) | (Record<string, never> & TreeNode & {
654
- readonly value: "h5";
655
- }) | (Record<string, never> & TreeNode & {
656
- readonly value: "checked";
657
- }) | (Record<string, never> & TreeNode & {
658
- readonly value: "unchecked";
659
- }) | (Record<string, never> & TreeNode & {
660
- readonly value: "blockquote";
661
- }) | (Record<string, never> & TreeNode & {
662
- readonly value: "codeBlock";
663
- }) | (TreeNode & {
664
- readonly value: "ol";
665
- } & Record<string, never>) | (TreeNode & {
666
- readonly value: "ol";
667
- }) | (TreeNode & {
668
- readonly value: "li";
669
- } & Record<string, never>) | (TreeNode & {
670
- readonly value: "li";
671
- }) | (TreeNode & {
672
- readonly value: "h1";
673
- } & Record<string, never>) | (TreeNode & {
674
- readonly value: "h1";
675
- }) | (TreeNode & {
676
- readonly value: "h2";
677
- } & Record<string, never>) | (TreeNode & {
678
- readonly value: "h2";
679
- }) | (TreeNode & {
680
- readonly value: "h3";
681
- } & Record<string, never>) | (TreeNode & {
682
- readonly value: "h3";
683
- }) | (TreeNode & {
684
- readonly value: "h4";
685
- } & Record<string, never>) | (TreeNode & {
686
- readonly value: "h4";
687
- }) | (TreeNode & {
688
- readonly value: "h5";
689
- } & Record<string, never>) | (TreeNode & {
690
- readonly value: "h5";
691
- }) | (TreeNode & {
692
- readonly value: "checked";
693
- } & Record<string, never>) | (TreeNode & {
694
- readonly value: "checked";
695
- }) | (TreeNode & {
696
- readonly value: "unchecked";
697
- } & Record<string, never>) | (TreeNode & {
698
- readonly value: "unchecked";
699
- }) | (TreeNode & {
700
- readonly value: "blockquote";
701
- } & Record<string, never>) | (TreeNode & {
702
- readonly value: "blockquote";
703
- }) | (TreeNode & {
704
- readonly value: "codeBlock";
705
- } & Record<string, never>) | (TreeNode & {
706
- readonly value: "codeBlock";
707
- });
708
- readonly indent: number;
709
- } & {
710
- readonly content: string;
711
- }) | (object & {
712
- readonly tag: Record<string, never> | (Record<string, never> & TreeNode & {
713
- readonly value: "ol";
714
- }) | (Record<string, never> & TreeNode & {
715
- readonly value: "li";
716
- }) | (Record<string, never> & TreeNode & {
717
- readonly value: "h1";
718
- }) | (Record<string, never> & TreeNode & {
719
- readonly value: "h2";
720
- }) | (Record<string, never> & TreeNode & {
721
- readonly value: "h3";
722
- }) | (Record<string, never> & TreeNode & {
723
- readonly value: "h4";
724
- }) | (Record<string, never> & TreeNode & {
725
- readonly value: "h5";
726
- }) | (Record<string, never> & TreeNode & {
727
- readonly value: "checked";
728
- }) | (Record<string, never> & TreeNode & {
729
- readonly value: "unchecked";
730
- }) | (Record<string, never> & TreeNode & {
731
- readonly value: "blockquote";
732
- }) | (Record<string, never> & TreeNode & {
733
- readonly value: "codeBlock";
734
- }) | (TreeNode & {
735
- readonly value: "ol";
736
- } & Record<string, never>) | (TreeNode & {
737
- readonly value: "ol";
738
- }) | (TreeNode & {
739
- readonly value: "li";
740
- } & Record<string, never>) | (TreeNode & {
741
- readonly value: "li";
742
- }) | (TreeNode & {
743
- readonly value: "h1";
744
- } & Record<string, never>) | (TreeNode & {
745
- readonly value: "h1";
746
- }) | (TreeNode & {
747
- readonly value: "h2";
748
- } & Record<string, never>) | (TreeNode & {
749
- readonly value: "h2";
750
- }) | (TreeNode & {
751
- readonly value: "h3";
752
- } & Record<string, never>) | (TreeNode & {
753
- readonly value: "h3";
754
- }) | (TreeNode & {
755
- readonly value: "h4";
756
- } & Record<string, never>) | (TreeNode & {
757
- readonly value: "h4";
758
- }) | (TreeNode & {
759
- readonly value: "h5";
760
- } & Record<string, never>) | (TreeNode & {
761
- readonly value: "h5";
762
- }) | (TreeNode & {
763
- readonly value: "checked";
764
- } & Record<string, never>) | (TreeNode & {
765
- readonly value: "checked";
766
- }) | (TreeNode & {
767
- readonly value: "unchecked";
768
- } & Record<string, never>) | (TreeNode & {
769
- readonly value: "unchecked";
770
- }) | (TreeNode & {
771
- readonly value: "blockquote";
772
- } & Record<string, never>) | (TreeNode & {
773
- readonly value: "blockquote";
774
- }) | (TreeNode & {
775
- readonly value: "codeBlock";
776
- } & Record<string, never>) | (TreeNode & {
777
- readonly value: "codeBlock";
778
- });
779
- readonly indent: number;
780
- } & StringLineAtom);
781
- readonly format: (InsertableTypedNode<typeof CharacterFormat> | undefined) & InsertableTypedNode<typeof CharacterFormat>;
782
- }, true, {
783
- readonly content: import("../simple-tree/fieldSchema.js").FieldSchema<import("../simple-tree/fieldSchema.js").FieldKind.Required, readonly [typeof StringTextAtom, typeof StringLineAtom], unknown>;
784
- readonly format: typeof CharacterFormat;
785
- }, never, unknown>;
786
- /**
787
- * A unit of the text, with formatting.
788
- * @internal
789
- */
790
- export class StringAtom extends StringAtom_base {
75
+ export class StringTextAtom extends StringTextAtom_base implements TextAtom {
791
76
  }
792
77
  /**
793
78
  * Statics for text nodes.
794
79
  * @internal
795
80
  */
796
- export interface Statics {
81
+ export interface Statics<TTree> {
797
82
  /**
798
- * Construct a {@link FormattedTextAsTree.(Tree:type)} from a string, where each character (as defined by iterating over the string) becomes a single character in the text node.
83
+ * Construct a node of `this` schema from a string, where each character (as defined by iterating over the string) becomes a single character in the text node.
799
84
  * @remarks This combines pairs of utf-16 surrogate code units into single characters as appropriate.
800
85
  */
801
- fromString(value: string): Tree;
86
+ fromString(value: string): TTree;
802
87
  }
803
88
  /**
804
89
  * Interface for a text node.
@@ -814,10 +99,10 @@ export declare namespace FormattedTextAsTree {
814
99
  * and navigation/selection (which typically uses grapheme clusters).
815
100
  *
816
101
  * @see {@link FormattedTextAsTree.Statics.fromString} for construction.
817
- * @see {@link FormattedTextAsTree.(Tree:type)} for schema.
102
+ * @see {@link FormattedTextAsTree.createSchema} for creating schemas whose nodes implement this.
818
103
  * @internal
819
104
  */
820
- export interface Members extends TextAsTree.Members {
105
+ export interface Members<TFormatTree, TPartialFormat, TFormattedAtom, TFormattedInsert> extends TextAsTree.Members {
821
106
  /**
822
107
  * Format to use by default for text inserted with non-formatted APIs.
823
108
  * @remarks
@@ -825,7 +110,7 @@ export declare namespace FormattedTextAsTree {
825
110
  * @privateRemarks
826
111
  * Opt this into observation tracking.
827
112
  */
828
- defaultFormat: CharacterFormat;
113
+ defaultFormat: TFormatTree;
829
114
  /**
830
115
  * Gets an array type view of the characters currently in the text.
831
116
  * @remarks
@@ -835,7 +120,7 @@ export declare namespace FormattedTextAsTree {
835
120
  * We might not want to leak a node like this in the API.
836
121
  * Providing a way to index and iterate separately might be better.
837
122
  */
838
- charactersWithFormatting(): readonly StringAtom[];
123
+ charactersWithFormatting(): readonly TFormattedAtom[];
839
124
  /**
840
125
  * Insert a range of characters into the string based on character index.
841
126
  * @remarks
@@ -849,7 +134,7 @@ export declare namespace FormattedTextAsTree {
849
134
  * Another option would be to take an approach like Table,
850
135
  * where the user of the API uses a factory function to generate the schema, and can inject custom logic, like a string character iterator.
851
136
  */
852
- insertWithFormattingAt(index: number, additionalCharacters: Iterable<InsertableTypedNode<typeof StringAtom>>): void;
137
+ insertWithFormattingAt(index: number, additionalCharacters: Iterable<TFormattedInsert>): void;
853
138
  /**
854
139
  * Apply formatting to a range of characters based on character index.
855
140
  * @param startIndex - The starting index (inclusive) of the range to format.
@@ -858,7 +143,7 @@ export declare namespace FormattedTextAsTree {
858
143
  * @remarks
859
144
  * The start and end behave the same as in {@link (TreeArrayNode:interface).removeRange}.
860
145
  */
861
- formatRange(startIndex: number | undefined, endIndex: number | undefined, format: Partial<CharacterFormat>): void;
146
+ formatRange(startIndex: number | undefined, endIndex: number | undefined, format: TPartialFormat): void;
862
147
  /**
863
148
  * Returns the length of the run of characters starting at `startIndex` which have the same formatting and atom type, up to `endIndex`.
864
149
  * @param startIndex - The starting index of the run.
@@ -891,14 +176,40 @@ export declare namespace FormattedTextAsTree {
891
176
  onContentChanged(callback: (ops: readonly TextAsTree.TextOp[] | undefined) => void): () => void;
892
177
  }
893
178
  /**
894
- * Schema for a text node.
895
- * @remarks
896
- * See {@link FormattedTextAsTree.Members} for the API.
897
- * See {@link FormattedTextAsTree.Statics} for static APIs on this Schema, including construction.
179
+ * Insertable shape for a formatted text atom used by {@link FormattedTextAsTree.Members.insertWithFormattingAt}.
180
+ * @internal
181
+ */
182
+ export interface FormattedAtomInsertable<TFormat, TContent> {
183
+ readonly content: TContent;
184
+ readonly format: TFormat;
185
+ }
186
+ /**
187
+ * Schema identifier for the a generic formatted text schema.
188
+ * @privateRemarks
189
+ * Eventually this should probably be given a better name and/or made a system type in a system namespace.
190
+ * @internal
191
+ */
192
+ export type FormattedTextSchemaIdentifier<TUserScope extends string> = ScopedSchemaName<`com.fluidframework.text.formatted<${TUserScope}>`, "Text">;
193
+ /**
194
+ * Helper for expressing the full set of formatted text atoms for a given schema.
195
+ * @privateRemarks
196
+ * Eventually this should probably be given a better name and/or made a system type in a system namespace.
197
+ * @internal
198
+ */
199
+ export type FormattedTextAtoms<ExtraAtomsSchema extends readonly LazyItem<TreeNodeSchema<string, NodeKind, TextAtom & TreeNode>>[]> = readonly [typeof StringTextAtom, ...ExtraAtomsSchema];
200
+ /**
201
+ * Helper for configuring {@link FormattedTextAsTree.Members}.
202
+ * @privateRemarks
203
+ * Eventually this should probably be inlined into `FormattedTextAsTree.Members` or made a system type in a system namespace.
204
+ * The approach should be evaluated after settling on a redesign of the `formatRange` API as that will impact what the type parameters are.
205
+ * @internal
206
+ */
207
+ export type FormattedTextMembers<FormatSchema extends ImplicitAllowedTypes, ExtraAtomsSchema extends readonly LazyItem<TreeNodeSchema<string, NodeKind, TextAtom & TreeNode>>[]> = Members<TreeFieldFromImplicitField<FormatSchema>, Partial<TreeNodeFromImplicitAllowedTypes<FormatSchema>>, FormattedAtom<TreeNodeFromImplicitAllowedTypes<FormatSchema>, TreeNodeFromImplicitAllowedTypes<FormattedTextAtoms<ExtraAtomsSchema>>>, FormattedAtomInsertable<InsertableTreeNodeFromImplicitAllowedTypes<FormatSchema>, InsertableTreeNodeFromImplicitAllowedTypes<FormattedTextAtoms<ExtraAtomsSchema>>>>;
208
+ /**
209
+ * A generic type for a formatted text schema.
898
210
  * @internal
899
211
  */
900
- export const Tree: Statics & import("../simple-tree/index.js").TreeNodeSchema<"com.fluidframework.text.formatted.Text", import("../simple-tree/index.js").NodeKind, Members & TreeNode & WithType<"com.fluidframework.text.formatted.Text", import("../simple-tree/index.js").NodeKind, unknown>, never, false>;
901
- export type Tree = Members & TreeNode & WithType<"com.fluidframework.text.formatted.Text">;
212
+ export type FormattedTextSchema<TUserScope extends string, FormatSchema extends ImplicitAllowedTypes, ExtraAtomsSchema extends readonly LazyItem<TreeNodeSchema<string, NodeKind, TextAtom & TreeNode>>[]> = Statics<ErasedNode<FormattedTextMembers<FormatSchema, ExtraAtomsSchema>, FormattedTextSchemaIdentifier<TUserScope>>> & ErasedSchemaSubclassable<FormattedTextMembers<FormatSchema, ExtraAtomsSchema>, FormattedTextSchemaIdentifier<TUserScope>>;
902
213
  export {};
903
214
  }
904
215
  //# sourceMappingURL=textDomainFormatted.d.ts.map