@itwin/core-backend 5.2.0-dev.31 → 5.2.0-dev.33

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 (400) hide show
  1. package/lib/cjs/BackendHubAccess.js.map +1 -1
  2. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  3. package/lib/cjs/BisCoreSchema.js.map +1 -1
  4. package/lib/cjs/BlobContainerService.js.map +1 -1
  5. package/lib/cjs/BriefcaseManager.js.map +1 -1
  6. package/lib/cjs/CatalogDb.js.map +1 -1
  7. package/lib/cjs/Category.js.map +1 -1
  8. package/lib/cjs/ChangeSummaryManager.js +2 -2
  9. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  10. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  11. package/lib/cjs/ChangesetECAdaptor.js +248 -248
  12. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  13. package/lib/cjs/ChannelControl.js.map +1 -1
  14. package/lib/cjs/CheckpointManager.js.map +1 -1
  15. package/lib/cjs/ClassRegistry.js +5 -5
  16. package/lib/cjs/ClassRegistry.js.map +1 -1
  17. package/lib/cjs/CloudSqlite.js.map +1 -1
  18. package/lib/cjs/CodeService.js.map +1 -1
  19. package/lib/cjs/CodeSpecs.js.map +1 -1
  20. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  21. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  22. package/lib/cjs/DevTools.js.map +1 -1
  23. package/lib/cjs/DisplayStyle.js.map +1 -1
  24. package/lib/cjs/ECDb.js.map +1 -1
  25. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  26. package/lib/cjs/ECSqlStatement.js.map +1 -1
  27. package/lib/cjs/Element.js.map +1 -1
  28. package/lib/cjs/ElementAspect.js.map +1 -1
  29. package/lib/cjs/ElementGraphics.js.map +1 -1
  30. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  31. package/lib/cjs/Entity.js.map +1 -1
  32. package/lib/cjs/EntityReferences.js.map +1 -1
  33. package/lib/cjs/ExportGraphics.js.map +1 -1
  34. package/lib/cjs/ExternalSource.js.map +1 -1
  35. package/lib/cjs/FontFile.js.map +1 -1
  36. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  37. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  38. package/lib/cjs/GeometrySummary.js +47 -47
  39. package/lib/cjs/GeometrySummary.js.map +1 -1
  40. package/lib/cjs/IModelDb.js +8 -8
  41. package/lib/cjs/IModelDb.js.map +1 -1
  42. package/lib/cjs/IModelDbFonts.js.map +1 -1
  43. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  44. package/lib/cjs/IModelHost.js.map +1 -1
  45. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  46. package/lib/cjs/IModelJsFs.js.map +1 -1
  47. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  48. package/lib/cjs/IpcHost.js.map +1 -1
  49. package/lib/cjs/LineStyle.js.map +1 -1
  50. package/lib/cjs/LocalHub.js +1 -1
  51. package/lib/cjs/LocalHub.js.map +1 -1
  52. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  53. package/lib/cjs/LockControl.js.map +1 -1
  54. package/lib/cjs/Material.js.map +1 -1
  55. package/lib/cjs/Model.js.map +1 -1
  56. package/lib/cjs/NativeAppStorage.js.map +1 -1
  57. package/lib/cjs/NativeHost.js.map +1 -1
  58. package/lib/cjs/NavigationRelationship.js.map +1 -1
  59. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  60. package/lib/cjs/PropertyStore.js.map +1 -1
  61. package/lib/cjs/Relationship.js.map +1 -1
  62. package/lib/cjs/RpcBackend.js.map +1 -1
  63. package/lib/cjs/SQLiteDb.js.map +1 -1
  64. package/lib/cjs/Schema.js.map +1 -1
  65. package/lib/cjs/SchemaSync.js.map +1 -1
  66. package/lib/cjs/SchemaUtils.js.map +1 -1
  67. package/lib/cjs/SheetIndex.js.map +1 -1
  68. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  69. package/lib/cjs/SqliteStatement.js.map +1 -1
  70. package/lib/cjs/StashManager.js.map +1 -1
  71. package/lib/cjs/Texture.js.map +1 -1
  72. package/lib/cjs/TileStorage.js.map +1 -1
  73. package/lib/cjs/TxnManager.js.map +1 -1
  74. package/lib/cjs/ViewDefinition.js.map +1 -1
  75. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  76. package/lib/cjs/ViewStore.js.map +1 -1
  77. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  78. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +3 -5
  79. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  80. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  81. package/lib/cjs/annotations/LeaderGeometry.js +1 -1
  82. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  83. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  84. package/lib/cjs/annotations/TextAnnotationGeometry.d.ts.map +1 -1
  85. package/lib/cjs/annotations/TextAnnotationGeometry.js +24 -17
  86. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  87. package/lib/cjs/annotations/TextBlockGeometry.d.ts.map +1 -1
  88. package/lib/cjs/annotations/TextBlockGeometry.js +8 -0
  89. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  90. package/lib/cjs/annotations/TextBlockLayout.d.ts +46 -27
  91. package/lib/cjs/annotations/TextBlockLayout.d.ts.map +1 -1
  92. package/lib/cjs/annotations/TextBlockLayout.js +201 -113
  93. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  94. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  95. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  96. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  97. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  98. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  99. package/lib/cjs/core-backend.js.map +1 -1
  100. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  101. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  102. package/lib/cjs/domains/GenericElements.js.map +1 -1
  103. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  104. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  105. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  106. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  107. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  108. package/lib/cjs/internal/HubMock.js.map +1 -1
  109. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  110. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  111. package/lib/cjs/internal/NoLocks.js.map +1 -1
  112. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  113. package/lib/cjs/internal/Symbols.js.map +1 -1
  114. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  115. package/lib/cjs/internal/annotations/fields.js +3 -5
  116. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  117. package/lib/cjs/internal/cross-package.js.map +1 -1
  118. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  119. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  120. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  121. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  122. package/lib/cjs/rpc/multipart.js.map +1 -1
  123. package/lib/cjs/rpc/tracing.js.map +1 -1
  124. package/lib/cjs/rpc/web/logging.js.map +1 -1
  125. package/lib/cjs/rpc/web/request.js.map +1 -1
  126. package/lib/cjs/rpc/web/response.js.map +1 -1
  127. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  128. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  129. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  130. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  131. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  132. package/lib/cjs/workspace/Settings.js.map +1 -1
  133. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  134. package/lib/cjs/workspace/Workspace.js.map +1 -1
  135. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  136. package/lib/esm/BackendHubAccess.js.map +1 -1
  137. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  138. package/lib/esm/BisCoreSchema.js.map +1 -1
  139. package/lib/esm/BlobContainerService.js.map +1 -1
  140. package/lib/esm/BriefcaseManager.js.map +1 -1
  141. package/lib/esm/CatalogDb.js.map +1 -1
  142. package/lib/esm/Category.js.map +1 -1
  143. package/lib/esm/ChangeSummaryManager.js +2 -2
  144. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  145. package/lib/esm/ChangedElementsDb.js.map +1 -1
  146. package/lib/esm/ChangesetECAdaptor.js +248 -248
  147. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  148. package/lib/esm/ChannelControl.js.map +1 -1
  149. package/lib/esm/CheckpointManager.js.map +1 -1
  150. package/lib/esm/ClassRegistry.js +5 -5
  151. package/lib/esm/ClassRegistry.js.map +1 -1
  152. package/lib/esm/CloudSqlite.js.map +1 -1
  153. package/lib/esm/CodeService.js.map +1 -1
  154. package/lib/esm/CodeSpecs.js.map +1 -1
  155. package/lib/esm/ConcurrentQuery.js.map +1 -1
  156. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  157. package/lib/esm/DevTools.js.map +1 -1
  158. package/lib/esm/DisplayStyle.js.map +1 -1
  159. package/lib/esm/ECDb.js.map +1 -1
  160. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  161. package/lib/esm/ECSqlStatement.js.map +1 -1
  162. package/lib/esm/Element.js.map +1 -1
  163. package/lib/esm/ElementAspect.js.map +1 -1
  164. package/lib/esm/ElementGraphics.js.map +1 -1
  165. package/lib/esm/ElementTreeWalker.js.map +1 -1
  166. package/lib/esm/Entity.js.map +1 -1
  167. package/lib/esm/EntityReferences.js.map +1 -1
  168. package/lib/esm/ExportGraphics.js.map +1 -1
  169. package/lib/esm/ExternalSource.js.map +1 -1
  170. package/lib/esm/FontFile.js.map +1 -1
  171. package/lib/esm/GeoCoordConfig.js.map +1 -1
  172. package/lib/esm/GeographicCRSServices.js.map +1 -1
  173. package/lib/esm/GeometrySummary.js +47 -47
  174. package/lib/esm/GeometrySummary.js.map +1 -1
  175. package/lib/esm/IModelDb.js +8 -8
  176. package/lib/esm/IModelDb.js.map +1 -1
  177. package/lib/esm/IModelDbFonts.js.map +1 -1
  178. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  179. package/lib/esm/IModelHost.js.map +1 -1
  180. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  181. package/lib/esm/IModelJsFs.js.map +1 -1
  182. package/lib/esm/ImageSourceConversion.js.map +1 -1
  183. package/lib/esm/IpcHost.js.map +1 -1
  184. package/lib/esm/LineStyle.js.map +1 -1
  185. package/lib/esm/LocalHub.js +1 -1
  186. package/lib/esm/LocalHub.js.map +1 -1
  187. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  188. package/lib/esm/LockControl.js.map +1 -1
  189. package/lib/esm/Material.js.map +1 -1
  190. package/lib/esm/Model.js.map +1 -1
  191. package/lib/esm/NativeAppStorage.js.map +1 -1
  192. package/lib/esm/NativeHost.js.map +1 -1
  193. package/lib/esm/NavigationRelationship.js.map +1 -1
  194. package/lib/esm/PromiseMemoizer.js.map +1 -1
  195. package/lib/esm/PropertyStore.js.map +1 -1
  196. package/lib/esm/Relationship.js.map +1 -1
  197. package/lib/esm/RpcBackend.js.map +1 -1
  198. package/lib/esm/SQLiteDb.js.map +1 -1
  199. package/lib/esm/Schema.js.map +1 -1
  200. package/lib/esm/SchemaSync.js.map +1 -1
  201. package/lib/esm/SchemaUtils.js.map +1 -1
  202. package/lib/esm/SheetIndex.js.map +1 -1
  203. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  204. package/lib/esm/SqliteStatement.js.map +1 -1
  205. package/lib/esm/StashManager.js.map +1 -1
  206. package/lib/esm/Texture.js.map +1 -1
  207. package/lib/esm/TileStorage.js.map +1 -1
  208. package/lib/esm/TxnManager.js.map +1 -1
  209. package/lib/esm/ViewDefinition.js.map +1 -1
  210. package/lib/esm/ViewStateHydrator.js.map +1 -1
  211. package/lib/esm/ViewStore.js.map +1 -1
  212. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  213. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +4 -6
  214. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  215. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  216. package/lib/esm/annotations/LeaderGeometry.js +1 -1
  217. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  218. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  219. package/lib/esm/annotations/TextAnnotationGeometry.d.ts.map +1 -1
  220. package/lib/esm/annotations/TextAnnotationGeometry.js +24 -17
  221. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  222. package/lib/esm/annotations/TextBlockGeometry.d.ts.map +1 -1
  223. package/lib/esm/annotations/TextBlockGeometry.js +8 -0
  224. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  225. package/lib/esm/annotations/TextBlockLayout.d.ts +46 -27
  226. package/lib/esm/annotations/TextBlockLayout.d.ts.map +1 -1
  227. package/lib/esm/annotations/TextBlockLayout.js +202 -114
  228. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  229. package/lib/esm/core-backend.js.map +1 -1
  230. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  231. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  232. package/lib/esm/domains/GenericElements.js.map +1 -1
  233. package/lib/esm/domains/GenericSchema.js.map +1 -1
  234. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  235. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  236. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  237. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  238. package/lib/esm/internal/HubMock.js.map +1 -1
  239. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  240. package/lib/esm/internal/NativePlatform.js.map +1 -1
  241. package/lib/esm/internal/NoLocks.js.map +1 -1
  242. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  243. package/lib/esm/internal/Symbols.js.map +1 -1
  244. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  245. package/lib/esm/internal/annotations/fields.js +4 -6
  246. package/lib/esm/internal/annotations/fields.js.map +1 -1
  247. package/lib/esm/internal/cross-package.js.map +1 -1
  248. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  249. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  250. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  251. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  252. package/lib/esm/rpc/multipart.js.map +1 -1
  253. package/lib/esm/rpc/tracing.js.map +1 -1
  254. package/lib/esm/rpc/web/logging.js.map +1 -1
  255. package/lib/esm/rpc/web/request.js.map +1 -1
  256. package/lib/esm/rpc/web/response.js.map +1 -1
  257. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  258. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  259. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  260. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  261. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  262. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  263. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  264. package/lib/esm/test/AttachDb.test.js +11 -11
  265. package/lib/esm/test/AttachDb.test.js.map +1 -1
  266. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  267. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  268. package/lib/esm/test/IModelHost.test.js.map +1 -1
  269. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  270. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  271. package/lib/esm/test/IpcHost.test.js.map +1 -1
  272. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  273. package/lib/esm/test/PrintElementTree.js.map +1 -1
  274. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  275. package/lib/esm/test/RevisionUtility.js.map +1 -1
  276. package/lib/esm/test/SchemaUtils.test.js +25 -25
  277. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  278. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  279. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  280. package/lib/esm/test/TestUtils.js.map +1 -1
  281. package/lib/esm/test/annotations/Fields.test.js +42 -40
  282. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  283. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  284. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  285. package/lib/esm/test/annotations/TextAnnotation.test.js +1 -1
  286. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  287. package/lib/esm/test/annotations/TextBlock.test.js +417 -54
  288. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  289. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  290. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  291. package/lib/esm/test/categories/Category.test.js.map +1 -1
  292. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  293. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  294. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  295. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +15 -15
  296. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  297. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  298. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  299. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  300. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  301. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  302. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  303. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  304. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  305. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  306. package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
  307. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
  308. package/lib/esm/test/ecdb/ECSqlStatement.test.js +326 -326
  309. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  310. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  311. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  312. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  313. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  314. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  315. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  316. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  317. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  318. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  319. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  320. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  321. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  322. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  323. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  324. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  325. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  326. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  327. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  328. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  329. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  330. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  331. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  332. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  333. package/lib/esm/test/hubaccess/Rebase.test.js +33 -33
  334. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  335. package/lib/esm/test/imageData.js.map +1 -1
  336. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  337. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  338. package/lib/esm/test/imodel/IModel.test.js +44 -44
  339. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  340. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  341. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  342. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  343. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  344. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +1 -1
  345. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +1 -1
  346. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +1 -1
  347. package/lib/esm/test/index.js.map +1 -1
  348. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  349. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  350. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  351. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  352. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  353. package/lib/esm/test/rpc/response.test.js.map +1 -1
  354. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  355. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  356. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  357. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  358. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  359. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  360. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  361. package/lib/esm/test/standalone/ChangesetReader.test.js +117 -117
  362. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  363. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  364. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  365. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  366. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  367. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  368. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  369. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  370. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  371. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  372. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  373. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  374. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  375. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  376. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  377. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  378. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  379. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  380. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  381. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  382. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  383. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  384. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  385. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  386. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  387. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  388. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  389. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  390. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  391. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  392. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  393. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  394. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  395. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  396. package/lib/esm/workspace/Settings.js.map +1 -1
  397. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  398. package/lib/esm/workspace/Workspace.js.map +1 -1
  399. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  400. package/package.json +12 -12
@@ -118,6 +118,14 @@ function produceTextBlockGeometry(layout, documentTransform) {
118
118
  const context = { entries: [] };
119
119
  for (const line of layout.lines) {
120
120
  const lineTrans = core_geometry_1.Transform.createTranslationXYZ(line.offsetFromDocument.x, line.offsetFromDocument.y, 0);
121
+ // Create geometry for list markers if present
122
+ if (line.marker) {
123
+ const markerTrans = core_geometry_1.Transform.createTranslationXYZ(line.marker.offsetFromLine.x, line.marker.offsetFromLine.y, 0);
124
+ lineTrans.multiplyTransformTransform(markerTrans, markerTrans);
125
+ documentTransform.multiplyTransformTransform(markerTrans, markerTrans);
126
+ processTextRun(line.marker, markerTrans, context);
127
+ }
128
+ // Create geometry for runs
121
129
  for (const run of line.runs) {
122
130
  // Skip runs that are solely whitespace
123
131
  if (run.source.isWhitespace) {
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlockGeometry.js","sourceRoot":"","sources":["../../../src/annotations/TextBlockGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ElementGeometry\n */\n\nimport { TextBlockGeometryProps, TextBlockGeometryPropsEntry, TextString, TextStyleColor } from \"@itwin/core-common\";\nimport { RunLayout, TextBlockLayout } from \"./TextBlockLayout\";\nimport { LineSegment3d, Point3d, Range2d, Transform, Vector2d } from \"@itwin/core-geometry\";\nimport { assert } from \"@itwin/core-bentley\";\n\ninterface GeometryContext {\n curColor?: TextStyleColor;\n entries: TextBlockGeometryPropsEntry[];\n}\n\nfunction setColor(color: TextStyleColor, context: GeometryContext): void {\n if (color !== context.curColor) {\n context.curColor = color;\n context.entries.push({ color });\n }\n}\n\nfunction createTextString(text: string, run: RunLayout, origin?: Point3d): TextString {\n assert(text.length > 0);\n\n const { lineHeight, widthFactor, isBold, isItalic, isUnderlined } = run.style;\n\n return new TextString({\n text,\n font: run.fontId,\n height: lineHeight,\n widthFactor,\n bold: isBold,\n italic: isItalic,\n underline: isUnderlined,\n origin,\n });\n}\n\nfunction processTextRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\n assert(run.source.type === \"text\");\n const text = run.source.content.substring(run.charOffset, run.charOffset + run.numChars);\n if (text.length === 0) {\n return;\n }\n\n const ts = createTextString(text, run);\n if (\"none\" !== run.source.baselineShift) {\n const isSub = \"subscript\" === run.source.baselineShift;\n const offsetFactor = run.style[isSub ? \"subScriptOffsetFactor\" : \"superScriptOffsetFactor\"];\n const scale = run.style[isSub ? \"subScriptScale\" : \"superScriptScale\"];\n\n ts.origin.y += offsetFactor * ts.height;\n ts.height *= scale;\n }\n\n ts.transformInPlace(transform);\n\n setColor(run.style.color, context);\n context.entries.push({ text: ts });\n}\n\nfunction processFieldRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\n assert(run.source.type === \"field\");\n const text = run.source.cachedContent.substring(run.charOffset, run.charOffset + run.numChars);\n if (text.length === 0) {\n return;\n }\n\n const ts = createTextString(text, run);\n ts.transformInPlace(transform);\n\n setColor(run.style.color, context);\n context.entries.push({ text: ts });\n}\n\nfunction createFractionTextString(text: string, run: RunLayout, origin: Point3d, transform: Transform): TextString {\n const ts = createTextString(text, run, origin);\n assert(undefined !== ts.widthFactor);\n\n ts.height *= run.style.stackedFractionScale;\n\n ts.transformInPlace(transform);\n\n return ts;\n}\n\nfunction processFractionRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\n const source = run.source;\n assert(source.type === \"fraction\");\n\n if (source.numerator.length === 0 && source.denominator.length === 0) {\n return;\n }\n\n assert(undefined !== run.numeratorRange && undefined !== run.denominatorRange);\n\n const fontSize = new Vector2d(run.style.lineHeight * run.style.widthFactor, run.style.lineHeight);\n fontSize.scale(run.style.stackedFractionScale, fontSize);\n\n const numeratorOffset = new Point3d(run.numeratorRange.low.x, run.numeratorRange.low.y, 0);\n const denominatorOffset = new Point3d(run.denominatorRange.low.x, run.denominatorRange.low.y, 0);\n\n setColor(run.style.color, context);\n\n if (source.numerator.length > 0) {\n context.entries.push({ text: createFractionTextString(source.numerator, run, numeratorOffset, transform) });\n }\n\n const numeratorRange = Range2d.fromJSON(run.numeratorRange);\n const denominatorRange = Range2d.fromJSON(run.denominatorRange);\n\n let separator: LineSegment3d;\n if (run.style.stackedFractionType === \"horizontal\") {\n const fractionWidth = Math.max(numeratorRange.xLength(), denominatorRange.xLength());\n const y = 1.25 * denominatorRange.yLength();\n separator = LineSegment3d.createXYXY(0, y, fractionWidth, y);\n } else {\n const p0 = new Point3d(denominatorRange.low.x - fontSize.x / 2, denominatorRange.low.y + fontSize.y * (1 / 3), 0);\n const p1 = new Point3d(p0.x + fontSize.x, p0.y + fontSize.y * 1.5, 0);\n separator = LineSegment3d.createCapture(p0, p1);\n }\n\n separator.tryTransformInPlace(transform);\n\n context.entries.push({\n separator: {\n startPoint: separator.point0Ref.toJSON(),\n endPoint: separator.point1Ref.toJSON(),\n },\n });\n\n if (source.denominator.length > 0) {\n context.entries.push({ text: createFractionTextString(source.denominator, run, denominatorOffset, transform) });\n }\n}\n\n/**\n * Produces the geometry for a text block in a way that can be interpreted by a [[GeometryStreamBuilder]] or [[ElementBuilder.Geometry]].\n * To build the geometry for a whole [[TextAnnotation]], use [[appendTextAnnotationGeometry]] instead.\n * @param layout of the text block as computed by [[layoutTextBlock]].\n * @param documentTransform that positions the text block in world coordinates.\n * @returns TextBlockGeometryProps.\n * @beta\n */\nexport function produceTextBlockGeometry(layout: TextBlockLayout, documentTransform: Transform): TextBlockGeometryProps {\n const context: GeometryContext = { entries: [] };\n for (const line of layout.lines) {\n const lineTrans = Transform.createTranslationXYZ(line.offsetFromDocument.x, line.offsetFromDocument.y, 0);\n for (const run of line.runs) {\n // Skip runs that are solely whitespace\n if (run.source.isWhitespace) {\n continue;\n }\n\n const runTrans = Transform.createTranslationXYZ(run.offsetFromLine.x, run.offsetFromLine.y, 0);\n lineTrans.multiplyTransformTransform(runTrans, runTrans);\n documentTransform.multiplyTransformTransform(runTrans, runTrans);\n if (\"text\" === run.source.type) {\n processTextRun(run, runTrans, context);\n } else if (\"fraction\" === run.source.type) {\n processFractionRun(run, runTrans, context);\n } else {\n processFieldRun(run, runTrans, context);\n }\n }\n }\n\n return { entries: context.entries };\n}\n"]}
1
+ {"version":3,"file":"TextBlockGeometry.js","sourceRoot":"","sources":["../../../src/annotations/TextBlockGeometry.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ElementGeometry\r\n */\r\n\r\nimport { TextBlockGeometryProps, TextBlockGeometryPropsEntry, TextString, TextStyleColor } from \"@itwin/core-common\";\r\nimport { RunLayout, TextBlockLayout } from \"./TextBlockLayout\";\r\nimport { LineSegment3d, Point3d, Range2d, Transform, Vector2d } from \"@itwin/core-geometry\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\n\r\ninterface GeometryContext {\r\n curColor?: TextStyleColor;\r\n entries: TextBlockGeometryPropsEntry[];\r\n}\r\n\r\nfunction setColor(color: TextStyleColor, context: GeometryContext): void {\r\n if (color !== context.curColor) {\r\n context.curColor = color;\r\n context.entries.push({ color });\r\n }\r\n}\r\n\r\nfunction createTextString(text: string, run: RunLayout, origin?: Point3d): TextString {\r\n assert(text.length > 0);\r\n\r\n const { lineHeight, widthFactor, isBold, isItalic, isUnderlined } = run.style;\r\n\r\n return new TextString({\r\n text,\r\n font: run.fontId,\r\n height: lineHeight,\r\n widthFactor,\r\n bold: isBold,\r\n italic: isItalic,\r\n underline: isUnderlined,\r\n origin,\r\n });\r\n}\r\n\r\nfunction processTextRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\r\n assert(run.source.type === \"text\");\r\n const text = run.source.content.substring(run.charOffset, run.charOffset + run.numChars);\r\n if (text.length === 0) {\r\n return;\r\n }\r\n\r\n const ts = createTextString(text, run);\r\n if (\"none\" !== run.source.baselineShift) {\r\n const isSub = \"subscript\" === run.source.baselineShift;\r\n const offsetFactor = run.style[isSub ? \"subScriptOffsetFactor\" : \"superScriptOffsetFactor\"];\r\n const scale = run.style[isSub ? \"subScriptScale\" : \"superScriptScale\"];\r\n\r\n ts.origin.y += offsetFactor * ts.height;\r\n ts.height *= scale;\r\n }\r\n\r\n ts.transformInPlace(transform);\r\n\r\n setColor(run.style.color, context);\r\n context.entries.push({ text: ts });\r\n}\r\n\r\nfunction processFieldRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\r\n assert(run.source.type === \"field\");\r\n const text = run.source.cachedContent.substring(run.charOffset, run.charOffset + run.numChars);\r\n if (text.length === 0) {\r\n return;\r\n }\r\n\r\n const ts = createTextString(text, run);\r\n ts.transformInPlace(transform);\r\n\r\n setColor(run.style.color, context);\r\n context.entries.push({ text: ts });\r\n}\r\n\r\nfunction createFractionTextString(text: string, run: RunLayout, origin: Point3d, transform: Transform): TextString {\r\n const ts = createTextString(text, run, origin);\r\n assert(undefined !== ts.widthFactor);\r\n\r\n ts.height *= run.style.stackedFractionScale;\r\n\r\n ts.transformInPlace(transform);\r\n\r\n return ts;\r\n}\r\n\r\nfunction processFractionRun(run: RunLayout, transform: Transform, context: GeometryContext): void {\r\n const source = run.source;\r\n assert(source.type === \"fraction\");\r\n\r\n if (source.numerator.length === 0 && source.denominator.length === 0) {\r\n return;\r\n }\r\n\r\n assert(undefined !== run.numeratorRange && undefined !== run.denominatorRange);\r\n\r\n const fontSize = new Vector2d(run.style.lineHeight * run.style.widthFactor, run.style.lineHeight);\r\n fontSize.scale(run.style.stackedFractionScale, fontSize);\r\n\r\n const numeratorOffset = new Point3d(run.numeratorRange.low.x, run.numeratorRange.low.y, 0);\r\n const denominatorOffset = new Point3d(run.denominatorRange.low.x, run.denominatorRange.low.y, 0);\r\n\r\n setColor(run.style.color, context);\r\n\r\n if (source.numerator.length > 0) {\r\n context.entries.push({ text: createFractionTextString(source.numerator, run, numeratorOffset, transform) });\r\n }\r\n\r\n const numeratorRange = Range2d.fromJSON(run.numeratorRange);\r\n const denominatorRange = Range2d.fromJSON(run.denominatorRange);\r\n\r\n let separator: LineSegment3d;\r\n if (run.style.stackedFractionType === \"horizontal\") {\r\n const fractionWidth = Math.max(numeratorRange.xLength(), denominatorRange.xLength());\r\n const y = 1.25 * denominatorRange.yLength();\r\n separator = LineSegment3d.createXYXY(0, y, fractionWidth, y);\r\n } else {\r\n const p0 = new Point3d(denominatorRange.low.x - fontSize.x / 2, denominatorRange.low.y + fontSize.y * (1 / 3), 0);\r\n const p1 = new Point3d(p0.x + fontSize.x, p0.y + fontSize.y * 1.5, 0);\r\n separator = LineSegment3d.createCapture(p0, p1);\r\n }\r\n\r\n separator.tryTransformInPlace(transform);\r\n\r\n context.entries.push({\r\n separator: {\r\n startPoint: separator.point0Ref.toJSON(),\r\n endPoint: separator.point1Ref.toJSON(),\r\n },\r\n });\r\n\r\n if (source.denominator.length > 0) {\r\n context.entries.push({ text: createFractionTextString(source.denominator, run, denominatorOffset, transform) });\r\n }\r\n}\r\n\r\n/**\r\n * Produces the geometry for a text block in a way that can be interpreted by a [[GeometryStreamBuilder]] or [[ElementBuilder.Geometry]].\r\n * To build the geometry for a whole [[TextAnnotation]], use [[appendTextAnnotationGeometry]] instead.\r\n * @param layout of the text block as computed by [[layoutTextBlock]].\r\n * @param documentTransform that positions the text block in world coordinates.\r\n * @returns TextBlockGeometryProps.\r\n * @beta\r\n */\r\nexport function produceTextBlockGeometry(layout: TextBlockLayout, documentTransform: Transform): TextBlockGeometryProps {\r\n const context: GeometryContext = { entries: [] };\r\n for (const line of layout.lines) {\r\n const lineTrans = Transform.createTranslationXYZ(line.offsetFromDocument.x, line.offsetFromDocument.y, 0);\r\n\r\n // Create geometry for list markers if present\r\n if (line.marker) {\r\n const markerTrans = Transform.createTranslationXYZ(line.marker.offsetFromLine.x, line.marker.offsetFromLine.y, 0);\r\n lineTrans.multiplyTransformTransform(markerTrans, markerTrans);\r\n documentTransform.multiplyTransformTransform(markerTrans, markerTrans);\r\n\r\n processTextRun(line.marker, markerTrans, context);\r\n }\r\n\r\n // Create geometry for runs\r\n for (const run of line.runs) {\r\n // Skip runs that are solely whitespace\r\n if (run.source.isWhitespace) {\r\n continue;\r\n }\r\n\r\n const runTrans = Transform.createTranslationXYZ(run.offsetFromLine.x, run.offsetFromLine.y, 0);\r\n lineTrans.multiplyTransformTransform(runTrans, runTrans);\r\n documentTransform.multiplyTransformTransform(runTrans, runTrans);\r\n if (\"text\" === run.source.type) {\r\n processTextRun(run, runTrans, context);\r\n } else if (\"fraction\" === run.source.type) {\r\n processFractionRun(run, runTrans, context);\r\n } else {\r\n processFieldRun(run, runTrans, context);\r\n }\r\n }\r\n }\r\n\r\n return { entries: context.entries };\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module ElementGeometry
3
3
  */
4
- import { BaselineShift, FieldRun, FontId, FontType, FractionRun, LineLayoutResult, Paragraph, Run, RunLayoutResult, TabRun, TextAnnotationLeader, TextBlock, TextBlockLayoutResult, TextRun, TextStyleSettings } from "@itwin/core-common";
5
- import { Range2d } from "@itwin/core-geometry";
4
+ import { BaselineShift, FieldRun, FontId, FontType, FractionRun, LineLayoutResult, List, Paragraph, Run, RunLayoutResult, TabRun, TextBlock, TextBlockComponent, TextBlockLayoutResult, TextRun, TextStyleSettings, TextStyleSettingsProps } from "@itwin/core-common";
5
+ import { Range2d, WritableXAndY } from "@itwin/core-geometry";
6
6
  import { IModelDb } from "../IModelDb";
7
7
  import { Id64String } from "@itwin/core-bentley";
8
8
  /** @internal */
@@ -34,12 +34,10 @@ export type FindFontId = (name: string, type?: FontType) => FontId;
34
34
  /** @internal chiefly for tests. */
35
35
  export type FindTextStyle = (id: Id64String) => TextStyleSettings;
36
36
  /**
37
- * Arguments supplied to [[computeLayoutTextBlockResult]].
37
+ * Base interface for arguments supplied to [[computeLayoutTextBlockResult]] and [[computeGraphemeOffsets]].
38
38
  * @beta
39
39
  */
40
- export interface LayoutTextBlockArgs {
41
- /** The text block whose extents are to be computed. */
42
- textBlock: TextBlock;
40
+ export interface LayoutTextArgs {
43
41
  /** The iModel from which to obtain fonts and [[AnnotationTextStyle]]s when laying out glyphs. */
44
42
  iModel: IModelDb;
45
43
  /** The text style resolver used to resolve effective text styles during layout. */
@@ -49,6 +47,14 @@ export interface LayoutTextBlockArgs {
49
47
  /** @internal chiefly for tests, by default uses IModelDb.fontMap. */
50
48
  findFontId?: FindFontId;
51
49
  }
50
+ /**
51
+ * Arguments supplied to [[computeLayoutTextBlockResult]].
52
+ * @beta
53
+ */
54
+ export interface LayoutTextBlockArgs extends LayoutTextArgs {
55
+ /** The text block whose extents are to be computed. */
56
+ textBlock: TextBlock;
57
+ }
52
58
  /**
53
59
  * Lays out the contents of a TextBlock into a series of lines containing runs.
54
60
  * Each paragraph is decomposed into a series of lines.
@@ -70,9 +76,9 @@ export declare function computeLayoutTextBlockResult(args: LayoutTextBlockArgs):
70
76
  * Arguments supplied to [[computeGraphemeOffsets]].
71
77
  * @beta
72
78
  */
73
- export interface ComputeGraphemeOffsetsArgs extends LayoutTextBlockArgs {
74
- /** The index of the [Paragraph]($common) in the text block that contains the run layout result text. */
75
- paragraphIndex: number;
79
+ export interface ComputeGraphemeOffsetsArgs extends LayoutTextArgs {
80
+ /** The TextBlockComponent for which to compute grapheme offsets. */
81
+ source: TextBlockComponent;
76
82
  /** The run layout result for which grapheme ranges will be computed. */
77
83
  runLayoutResult: RunLayoutResult;
78
84
  /** An array of starting character indexes for each grapheme. Each entry represents the index of the first character in a grapheme. */
@@ -108,13 +114,15 @@ export declare class TextStyleResolver {
108
114
  /** The resolved style of the TextBlock. */
109
115
  readonly blockSettings: TextStyleSettings;
110
116
  constructor(args: TextStyleResolverArgs);
111
- private resolveParagraphSettingsImpl;
112
- /** Resolves the effective style for a [TextAnnotationLeader]($common). The TextAnnotationLeader should be a sibling of the provided TextBlock. */
113
- resolveTextAnnotationLeaderSettings(leader: TextAnnotationLeader): TextStyleSettings;
114
- /** Resolves the effective style for a [Paragraph]($common). Paragraph should be child of provided TextBlock. */
115
- resolveParagraphSettings(paragraph: Paragraph): TextStyleSettings;
116
- /** Resolves the effective style for a [Run]($common). Run should be child of provided Paragraph and TextBlock. */
117
- resolveRunSettings(paragraph: Paragraph, run: Run): TextStyleSettings;
117
+ /**
118
+ * Resolves the effective text style settings for a given TextBlockComponent, applying block-level overrides.
119
+ */
120
+ resolveSettings(overrides: TextStyleSettingsProps, isLeader?: boolean): TextStyleSettings;
121
+ resolveMarkerText(overrides: TextStyleSettingsProps, index: number): string;
122
+ /**
123
+ * Computes the indentation based on its style and nesting depth.
124
+ */
125
+ resolveIndentation(styleOverrides: TextStyleSettingsProps, depth: number): number;
118
126
  }
119
127
  declare class LayoutContext {
120
128
  readonly textStyleResolver: TextStyleResolver;
@@ -130,7 +138,7 @@ declare class LayoutContext {
130
138
  numerator: Range2d;
131
139
  denominator: Range2d;
132
140
  };
133
- computeRangeForTabRun(style: TextStyleSettings, source: TabRun, length: number): Range2d;
141
+ computeRangeForTabRun(style: TextStyleSettings, source: TabRun, lengthFromLastTab: number): Range2d;
134
142
  }
135
143
  /**
136
144
  * Represents the layout of a single run (text, fraction, or line break) within a line of text.
@@ -153,7 +161,7 @@ export declare class RunLayout {
153
161
  style: TextStyleSettings;
154
162
  fontId: FontId;
155
163
  private constructor();
156
- static create(source: Run, parentParagraph: Paragraph, context: LayoutContext): RunLayout;
164
+ static create(source: Run, context: LayoutContext, cumulativeOverrides: TextStyleSettingsProps): RunLayout;
157
165
  /** Compute a string representation, primarily for debugging purposes. */
158
166
  stringify(): string;
159
167
  canWrap(): this is {
@@ -161,7 +169,7 @@ export declare class RunLayout {
161
169
  };
162
170
  private cloneForWrap;
163
171
  split(context: LayoutContext): RunLayout[];
164
- toResult(paragraph: Paragraph): RunLayoutResult;
172
+ toResult(): RunLayoutResult;
165
173
  }
166
174
  /**
167
175
  * Represents the layout of a single line within a paragraph of a text block.
@@ -170,25 +178,34 @@ export declare class RunLayout {
170
178
  * @beta
171
179
  */
172
180
  export declare class LineLayout {
173
- source: Paragraph;
181
+ source: List | Run | Paragraph;
174
182
  range: Range2d;
183
+ runRange: Range2d;
175
184
  justificationRange: Range2d;
176
- offsetFromDocument: {
177
- x: number;
178
- y: number;
179
- };
185
+ offsetFromDocument: WritableXAndY;
186
+ depth: number;
180
187
  lengthFromLastTab: number;
181
188
  private _runs;
182
- constructor(source: Paragraph);
189
+ private _marker?;
190
+ constructor(source: List | Run | Paragraph, style: TextStyleSettingsProps, context?: LayoutContext, depth?: number);
183
191
  /** Compute a string representation, primarily for debugging purposes. */
184
192
  stringify(): string;
193
+ /** Gets the array of RunLayout objects contained in this line. */
185
194
  get runs(): ReadonlyArray<RunLayout>;
195
+ /** Indicates whether this line contains any runs. */
186
196
  get isEmpty(): boolean;
197
+ /** Gets the last RunLayout in this line. */
187
198
  get back(): RunLayout;
199
+ /**
200
+ * Gets or sets the marker RunLayout for this line, used for lists.
201
+ * A marker is the symbol or character that appears before each list item in a list, bullets, numbers, etc.
202
+ * */
203
+ get marker(): RunLayout | undefined;
204
+ set marker(value: RunLayout | undefined);
188
205
  append(run: RunLayout): void;
189
206
  /** Invoked every time a run is appended,. */
190
207
  private computeRanges;
191
- toResult(textBlock: TextBlock): LineLayoutResult;
208
+ toResult(): LineLayoutResult;
192
209
  }
193
210
  /**
194
211
  * Describes the layout of a text block as a collection of lines containing runs.
@@ -210,8 +227,10 @@ export declare class TextBlockLayout {
210
227
  stringify(): string;
211
228
  private get _back();
212
229
  private populateLines;
213
- private justifyLines;
230
+ private populateComponent;
231
+ private populateRun;
214
232
  private flushLine;
233
+ private justifyLines;
215
234
  private applyMargins;
216
235
  }
217
236
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlockLayout.d.ts","sourceRoot":"","sources":["../../../src/annotations/TextBlockLayout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextBlockLayout.d.ts","sourceRoot":"","sources":["../../../src/annotations/TextBlockLayout.ts"],"names":[],"mappings":"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"}