@itwin/core-common 5.9.0-dev.8 → 5.9.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 (380) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/lib/cjs/AmbientOcclusion.js.map +1 -1
  3. package/lib/cjs/AnalysisStyle.js.map +1 -1
  4. package/lib/cjs/Atmosphere.js.map +1 -1
  5. package/lib/cjs/AuthorizationClient.js.map +1 -1
  6. package/lib/cjs/BackgroundMapProvider.js.map +1 -1
  7. package/lib/cjs/BackgroundMapSettings.js.map +1 -1
  8. package/lib/cjs/Base64EncodedString.js.map +1 -1
  9. package/lib/cjs/BlobReader.js.map +1 -1
  10. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  11. package/lib/cjs/Camera.js.map +1 -1
  12. package/lib/cjs/CatalogIModel.js.map +1 -1
  13. package/lib/cjs/CesiumIonAssets.js.map +1 -1
  14. package/lib/cjs/ChangedElements.js.map +1 -1
  15. package/lib/cjs/ChangedEntities.js.map +1 -1
  16. package/lib/cjs/ChangesetProps.js.map +1 -1
  17. package/lib/cjs/ClipStyle.js.map +1 -1
  18. package/lib/cjs/Code.js.map +1 -1
  19. package/lib/cjs/ColorByName.js.map +1 -1
  20. package/lib/cjs/ColorDef.js.map +1 -1
  21. package/lib/cjs/CommonLoggerCategory.js.map +1 -1
  22. package/lib/cjs/ConcurrentQuery.js +1 -1
  23. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  24. package/lib/cjs/ContextRealityModel.js.map +1 -1
  25. package/lib/cjs/ContourDisplay.js.map +1 -1
  26. package/lib/cjs/DbCloudContainerInfo.js.map +1 -1
  27. package/lib/cjs/DisplayStyleSettings.d.ts.map +1 -1
  28. package/lib/cjs/DisplayStyleSettings.js.map +1 -1
  29. package/lib/cjs/ECSchemaProps.js.map +1 -1
  30. package/lib/cjs/ECSqlReader.js.map +1 -1
  31. package/lib/cjs/ECSqlReaderBase.js.map +1 -1
  32. package/lib/cjs/ECSqlTypes.js.map +1 -1
  33. package/lib/cjs/ElementMesh.js.map +1 -1
  34. package/lib/cjs/ElementProps.js.map +1 -1
  35. package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
  36. package/lib/cjs/EntityProps.js.map +1 -1
  37. package/lib/cjs/EntityReference.js.map +1 -1
  38. package/lib/cjs/Environment.js.map +1 -1
  39. package/lib/cjs/FeatureIndex.js.map +1 -1
  40. package/lib/cjs/FeatureSymbology.js.map +1 -1
  41. package/lib/cjs/FeatureTable.js.map +1 -1
  42. package/lib/cjs/Fonts.js.map +1 -1
  43. package/lib/cjs/Frustum.js.map +1 -1
  44. package/lib/cjs/GenericInstanceFilter.js.map +1 -1
  45. package/lib/cjs/GeoCoordinateServices.js.map +1 -1
  46. package/lib/cjs/GeometryContainment.js.map +1 -1
  47. package/lib/cjs/GeometryParams.js.map +1 -1
  48. package/lib/cjs/GeometrySummary.js.map +1 -1
  49. package/lib/cjs/Gradient.js.map +1 -1
  50. package/lib/cjs/GraphicParams.js.map +1 -1
  51. package/lib/cjs/GroundPlane.js.map +1 -1
  52. package/lib/cjs/HSLColor.js.map +1 -1
  53. package/lib/cjs/HSVColor.js.map +1 -1
  54. package/lib/cjs/HiddenLine.d.ts.map +1 -1
  55. package/lib/cjs/HiddenLine.js +1 -2
  56. package/lib/cjs/HiddenLine.js.map +1 -1
  57. package/lib/cjs/Hilite.js.map +1 -1
  58. package/lib/cjs/IModel.js.map +1 -1
  59. package/lib/cjs/IModelError.js.map +1 -1
  60. package/lib/cjs/IModelVersion.js.map +1 -1
  61. package/lib/cjs/ITwinCoreErrors.d.ts +21 -0
  62. package/lib/cjs/ITwinCoreErrors.d.ts.map +1 -1
  63. package/lib/cjs/ITwinCoreErrors.js +19 -1
  64. package/lib/cjs/ITwinCoreErrors.js.map +1 -1
  65. package/lib/cjs/Image.js.map +1 -1
  66. package/lib/cjs/IpcAppProps.d.ts +6 -3
  67. package/lib/cjs/IpcAppProps.d.ts.map +1 -1
  68. package/lib/cjs/IpcAppProps.js.map +1 -1
  69. package/lib/cjs/LightSettings.js.map +1 -1
  70. package/lib/cjs/LinePixels.js.map +1 -1
  71. package/lib/cjs/Localization.js.map +1 -1
  72. package/lib/cjs/MapImagerySettings.js.map +1 -1
  73. package/lib/cjs/MapLayerSettings.js.map +1 -1
  74. package/lib/cjs/MassProperties.js.map +1 -1
  75. package/lib/cjs/MaterialProps.js.map +1 -1
  76. package/lib/cjs/ModelClipGroup.js.map +1 -1
  77. package/lib/cjs/ModelGeometryChanges.js.map +1 -1
  78. package/lib/cjs/ModelProps.js.map +1 -1
  79. package/lib/cjs/NativeAppProps.js.map +1 -1
  80. package/lib/cjs/OctEncodedNormal.js.map +1 -1
  81. package/lib/cjs/PlanProjectionSettings.js.map +1 -1
  82. package/lib/cjs/PlanarClipMask.js.map +1 -1
  83. package/lib/cjs/QPoint.js.map +1 -1
  84. package/lib/cjs/RealityDataAccessProps.js.map +1 -1
  85. package/lib/cjs/RealityModelDisplaySettings.js.map +1 -1
  86. package/lib/cjs/RenderMaterial.js.map +1 -1
  87. package/lib/cjs/RenderPolyline.js.map +1 -1
  88. package/lib/cjs/RenderTexture.js.map +1 -1
  89. package/lib/cjs/RgbColor.js.map +1 -1
  90. package/lib/cjs/RpcInterface.js.map +1 -1
  91. package/lib/cjs/RpcManager.js.map +1 -1
  92. package/lib/cjs/SessionProps.js.map +1 -1
  93. package/lib/cjs/SkyBox.js.map +1 -1
  94. package/lib/cjs/SolarCalculate.js.map +1 -1
  95. package/lib/cjs/SolarShadows.js.map +1 -1
  96. package/lib/cjs/SpatialClassification.js.map +1 -1
  97. package/lib/cjs/SubCategoryAppearance.js.map +1 -1
  98. package/lib/cjs/SubCategoryOverride.js.map +1 -1
  99. package/lib/cjs/TerrainSettings.js.map +1 -1
  100. package/lib/cjs/TextureMapping.js.map +1 -1
  101. package/lib/cjs/TextureProps.js.map +1 -1
  102. package/lib/cjs/ThematicDisplay.js.map +1 -1
  103. package/lib/cjs/Thumbnail.js.map +1 -1
  104. package/lib/cjs/TileProps.js.map +1 -1
  105. package/lib/cjs/Tween.js.map +1 -1
  106. package/lib/cjs/TxnAction.js.map +1 -1
  107. package/lib/cjs/TxnProps.d.ts +16 -0
  108. package/lib/cjs/TxnProps.d.ts.map +1 -1
  109. package/lib/cjs/TxnProps.js.map +1 -1
  110. package/lib/cjs/ViewDetails.js.map +1 -1
  111. package/lib/cjs/ViewFlags.js.map +1 -1
  112. package/lib/cjs/ViewProps.d.ts +44 -10
  113. package/lib/cjs/ViewProps.d.ts.map +1 -1
  114. package/lib/cjs/ViewProps.js +20 -0
  115. package/lib/cjs/ViewProps.js.map +1 -1
  116. package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
  117. package/lib/cjs/annotation/TextAnnotation.js.map +1 -1
  118. package/lib/cjs/annotation/TextBlock.js.map +1 -1
  119. package/lib/cjs/annotation/TextBlockGeometryProps.js.map +1 -1
  120. package/lib/cjs/annotation/TextBlockLayoutResult.js.map +1 -1
  121. package/lib/cjs/annotation/TextField.js.map +1 -1
  122. package/lib/cjs/annotation/TextStyle.js.map +1 -1
  123. package/lib/cjs/core-common.js.map +1 -1
  124. package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
  125. package/lib/cjs/domains/GenericElementProps.js.map +1 -1
  126. package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
  127. package/lib/cjs/geometry/AreaPattern.js.map +1 -1
  128. package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
  129. package/lib/cjs/geometry/Cartographic.js.map +1 -1
  130. package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
  131. package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
  132. package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
  133. package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
  134. package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
  135. package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
  136. package/lib/cjs/geometry/GeometryStream.js.map +1 -1
  137. package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
  138. package/lib/cjs/geometry/LineStyle.js.map +1 -1
  139. package/lib/cjs/geometry/Placement.js.map +1 -1
  140. package/lib/cjs/geometry/Projection.js.map +1 -1
  141. package/lib/cjs/geometry/TextString.js.map +1 -1
  142. package/lib/cjs/internal/BackendTypes.js.map +1 -1
  143. package/lib/cjs/internal/PackedFeatureTable.js.map +1 -1
  144. package/lib/cjs/internal/RenderMaterialParams.js.map +1 -1
  145. package/lib/cjs/internal/RenderMesh.js.map +1 -1
  146. package/lib/cjs/internal/RenderTextureParams.js.map +1 -1
  147. package/lib/cjs/internal/Snapping.js.map +1 -1
  148. package/lib/cjs/internal/annotations/FieldFormatter.js.map +1 -1
  149. package/lib/cjs/internal/cross-package.js.map +1 -1
  150. package/lib/cjs/ipc/IpcSession.js.map +1 -1
  151. package/lib/cjs/ipc/IpcSocket.js.map +1 -1
  152. package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
  153. package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
  154. package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
  155. package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
  156. package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
  157. package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  158. package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
  159. package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
  160. package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
  161. package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
  162. package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
  163. package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
  164. package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
  165. package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
  166. package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
  167. package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
  168. package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
  169. package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
  170. package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
  171. package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
  172. package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
  173. package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  174. package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  175. package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
  176. package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
  177. package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
  178. package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
  179. package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
  180. package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  181. package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
  182. package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
  183. package/lib/cjs/tile/ElementGraphics.js.map +1 -1
  184. package/lib/cjs/tile/GltfTileIO.js.map +1 -1
  185. package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
  186. package/lib/cjs/tile/IModelTileIO.js.map +1 -1
  187. package/lib/cjs/tile/PntsTileIO.js.map +1 -1
  188. package/lib/cjs/tile/TileIO.js.map +1 -1
  189. package/lib/cjs/tile/TileMetadata.js.map +1 -1
  190. package/lib/cjs/tile/Tileset3dSchema.js.map +1 -1
  191. package/lib/esm/AmbientOcclusion.js.map +1 -1
  192. package/lib/esm/AnalysisStyle.js.map +1 -1
  193. package/lib/esm/Atmosphere.js.map +1 -1
  194. package/lib/esm/AuthorizationClient.js.map +1 -1
  195. package/lib/esm/BackgroundMapProvider.js.map +1 -1
  196. package/lib/esm/BackgroundMapSettings.js.map +1 -1
  197. package/lib/esm/Base64EncodedString.js.map +1 -1
  198. package/lib/esm/BlobReader.js.map +1 -1
  199. package/lib/esm/BriefcaseTypes.js.map +1 -1
  200. package/lib/esm/Camera.js.map +1 -1
  201. package/lib/esm/CatalogIModel.js.map +1 -1
  202. package/lib/esm/CesiumIonAssets.js.map +1 -1
  203. package/lib/esm/ChangedElements.js.map +1 -1
  204. package/lib/esm/ChangedEntities.js.map +1 -1
  205. package/lib/esm/ChangesetProps.js.map +1 -1
  206. package/lib/esm/ClipStyle.js.map +1 -1
  207. package/lib/esm/Code.js.map +1 -1
  208. package/lib/esm/ColorByName.js.map +1 -1
  209. package/lib/esm/ColorDef.js.map +1 -1
  210. package/lib/esm/CommonLoggerCategory.js.map +1 -1
  211. package/lib/esm/ConcurrentQuery.js +1 -1
  212. package/lib/esm/ConcurrentQuery.js.map +1 -1
  213. package/lib/esm/ContextRealityModel.js.map +1 -1
  214. package/lib/esm/ContourDisplay.js.map +1 -1
  215. package/lib/esm/DbCloudContainerInfo.js.map +1 -1
  216. package/lib/esm/DisplayStyleSettings.d.ts.map +1 -1
  217. package/lib/esm/DisplayStyleSettings.js.map +1 -1
  218. package/lib/esm/ECSchemaProps.js.map +1 -1
  219. package/lib/esm/ECSqlReader.js.map +1 -1
  220. package/lib/esm/ECSqlReaderBase.js.map +1 -1
  221. package/lib/esm/ECSqlTypes.js.map +1 -1
  222. package/lib/esm/ElementMesh.js.map +1 -1
  223. package/lib/esm/ElementProps.js.map +1 -1
  224. package/lib/esm/EmphasizeElementsProps.js.map +1 -1
  225. package/lib/esm/EntityProps.js.map +1 -1
  226. package/lib/esm/EntityReference.js.map +1 -1
  227. package/lib/esm/Environment.js.map +1 -1
  228. package/lib/esm/FeatureIndex.js.map +1 -1
  229. package/lib/esm/FeatureSymbology.js.map +1 -1
  230. package/lib/esm/FeatureTable.js.map +1 -1
  231. package/lib/esm/Fonts.js.map +1 -1
  232. package/lib/esm/Frustum.js.map +1 -1
  233. package/lib/esm/GenericInstanceFilter.js.map +1 -1
  234. package/lib/esm/GeoCoordinateServices.js.map +1 -1
  235. package/lib/esm/GeometryContainment.js.map +1 -1
  236. package/lib/esm/GeometryParams.js.map +1 -1
  237. package/lib/esm/GeometrySummary.js.map +1 -1
  238. package/lib/esm/Gradient.js.map +1 -1
  239. package/lib/esm/GraphicParams.js.map +1 -1
  240. package/lib/esm/GroundPlane.js.map +1 -1
  241. package/lib/esm/HSLColor.js.map +1 -1
  242. package/lib/esm/HSVColor.js.map +1 -1
  243. package/lib/esm/HiddenLine.d.ts.map +1 -1
  244. package/lib/esm/HiddenLine.js +1 -2
  245. package/lib/esm/HiddenLine.js.map +1 -1
  246. package/lib/esm/Hilite.js.map +1 -1
  247. package/lib/esm/IModel.js.map +1 -1
  248. package/lib/esm/IModelError.js.map +1 -1
  249. package/lib/esm/IModelVersion.js.map +1 -1
  250. package/lib/esm/ITwinCoreErrors.d.ts +21 -0
  251. package/lib/esm/ITwinCoreErrors.d.ts.map +1 -1
  252. package/lib/esm/ITwinCoreErrors.js +18 -0
  253. package/lib/esm/ITwinCoreErrors.js.map +1 -1
  254. package/lib/esm/Image.js.map +1 -1
  255. package/lib/esm/IpcAppProps.d.ts +6 -3
  256. package/lib/esm/IpcAppProps.d.ts.map +1 -1
  257. package/lib/esm/IpcAppProps.js.map +1 -1
  258. package/lib/esm/LightSettings.js.map +1 -1
  259. package/lib/esm/LinePixels.js.map +1 -1
  260. package/lib/esm/Localization.js.map +1 -1
  261. package/lib/esm/MapImagerySettings.js.map +1 -1
  262. package/lib/esm/MapLayerSettings.js.map +1 -1
  263. package/lib/esm/MassProperties.js.map +1 -1
  264. package/lib/esm/MaterialProps.js.map +1 -1
  265. package/lib/esm/ModelClipGroup.js.map +1 -1
  266. package/lib/esm/ModelGeometryChanges.js.map +1 -1
  267. package/lib/esm/ModelProps.js.map +1 -1
  268. package/lib/esm/NativeAppProps.js.map +1 -1
  269. package/lib/esm/OctEncodedNormal.js.map +1 -1
  270. package/lib/esm/PlanProjectionSettings.js.map +1 -1
  271. package/lib/esm/PlanarClipMask.js.map +1 -1
  272. package/lib/esm/QPoint.js.map +1 -1
  273. package/lib/esm/RealityDataAccessProps.js.map +1 -1
  274. package/lib/esm/RealityModelDisplaySettings.js.map +1 -1
  275. package/lib/esm/RenderMaterial.js.map +1 -1
  276. package/lib/esm/RenderPolyline.js.map +1 -1
  277. package/lib/esm/RenderTexture.js.map +1 -1
  278. package/lib/esm/RgbColor.js.map +1 -1
  279. package/lib/esm/RpcInterface.js.map +1 -1
  280. package/lib/esm/RpcManager.js.map +1 -1
  281. package/lib/esm/SessionProps.js.map +1 -1
  282. package/lib/esm/SkyBox.js.map +1 -1
  283. package/lib/esm/SolarCalculate.js.map +1 -1
  284. package/lib/esm/SolarShadows.js.map +1 -1
  285. package/lib/esm/SpatialClassification.js.map +1 -1
  286. package/lib/esm/SubCategoryAppearance.js.map +1 -1
  287. package/lib/esm/SubCategoryOverride.js.map +1 -1
  288. package/lib/esm/TerrainSettings.js.map +1 -1
  289. package/lib/esm/TextureMapping.js.map +1 -1
  290. package/lib/esm/TextureProps.js.map +1 -1
  291. package/lib/esm/ThematicDisplay.js.map +1 -1
  292. package/lib/esm/Thumbnail.js.map +1 -1
  293. package/lib/esm/TileProps.js.map +1 -1
  294. package/lib/esm/Tween.js.map +1 -1
  295. package/lib/esm/TxnAction.js.map +1 -1
  296. package/lib/esm/TxnProps.d.ts +16 -0
  297. package/lib/esm/TxnProps.d.ts.map +1 -1
  298. package/lib/esm/TxnProps.js.map +1 -1
  299. package/lib/esm/ViewDetails.js.map +1 -1
  300. package/lib/esm/ViewFlags.js.map +1 -1
  301. package/lib/esm/ViewProps.d.ts +44 -10
  302. package/lib/esm/ViewProps.d.ts.map +1 -1
  303. package/lib/esm/ViewProps.js +18 -0
  304. package/lib/esm/ViewProps.js.map +1 -1
  305. package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
  306. package/lib/esm/annotation/TextAnnotation.js.map +1 -1
  307. package/lib/esm/annotation/TextBlock.js.map +1 -1
  308. package/lib/esm/annotation/TextBlockGeometryProps.js.map +1 -1
  309. package/lib/esm/annotation/TextBlockLayoutResult.js.map +1 -1
  310. package/lib/esm/annotation/TextField.js.map +1 -1
  311. package/lib/esm/annotation/TextStyle.js.map +1 -1
  312. package/lib/esm/core-common.js.map +1 -1
  313. package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
  314. package/lib/esm/domains/GenericElementProps.js.map +1 -1
  315. package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
  316. package/lib/esm/geometry/AreaPattern.js.map +1 -1
  317. package/lib/esm/geometry/BoundingSphere.js.map +1 -1
  318. package/lib/esm/geometry/Cartographic.js.map +1 -1
  319. package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
  320. package/lib/esm/geometry/ElementGeometry.js.map +1 -1
  321. package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
  322. package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
  323. package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
  324. package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
  325. package/lib/esm/geometry/GeometryStream.js.map +1 -1
  326. package/lib/esm/geometry/ImageGraphic.js.map +1 -1
  327. package/lib/esm/geometry/LineStyle.js.map +1 -1
  328. package/lib/esm/geometry/Placement.js.map +1 -1
  329. package/lib/esm/geometry/Projection.js.map +1 -1
  330. package/lib/esm/geometry/TextString.js.map +1 -1
  331. package/lib/esm/internal/BackendTypes.js.map +1 -1
  332. package/lib/esm/internal/PackedFeatureTable.js.map +1 -1
  333. package/lib/esm/internal/RenderMaterialParams.js.map +1 -1
  334. package/lib/esm/internal/RenderMesh.js.map +1 -1
  335. package/lib/esm/internal/RenderTextureParams.js.map +1 -1
  336. package/lib/esm/internal/Snapping.js.map +1 -1
  337. package/lib/esm/internal/annotations/FieldFormatter.js.map +1 -1
  338. package/lib/esm/internal/cross-package.js.map +1 -1
  339. package/lib/esm/ipc/IpcSession.js.map +1 -1
  340. package/lib/esm/ipc/IpcSocket.js.map +1 -1
  341. package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
  342. package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
  343. package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
  344. package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
  345. package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
  346. package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
  347. package/lib/esm/rpc/TestRpcManager.js.map +1 -1
  348. package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
  349. package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
  350. package/lib/esm/rpc/core/RpcControl.js.map +1 -1
  351. package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
  352. package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
  353. package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
  354. package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
  355. package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
  356. package/lib/esm/rpc/core/RpcPush.js.map +1 -1
  357. package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
  358. package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
  359. package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
  360. package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
  361. package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
  362. package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
  363. package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
  364. package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
  365. package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
  366. package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
  367. package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
  368. package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
  369. package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
  370. package/lib/esm/tile/B3dmTileIO.js.map +1 -1
  371. package/lib/esm/tile/CompositeTileIO.js.map +1 -1
  372. package/lib/esm/tile/ElementGraphics.js.map +1 -1
  373. package/lib/esm/tile/GltfTileIO.js.map +1 -1
  374. package/lib/esm/tile/I3dmTileIO.js.map +1 -1
  375. package/lib/esm/tile/IModelTileIO.js.map +1 -1
  376. package/lib/esm/tile/PntsTileIO.js.map +1 -1
  377. package/lib/esm/tile/TileIO.js.map +1 -1
  378. package/lib/esm/tile/TileMetadata.js.map +1 -1
  379. package/lib/esm/tile/Tileset3dSchema.js.map +1 -1
  380. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlock.js","sourceRoot":"","sources":["../../../src/annotation/TextBlock.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 Annotation\r\n */\r\n\r\nimport { ListMarker, ListMarkerEnumerator, TextStyleSettings, TextStyleSettingsProps } from \"./TextStyle\";\r\nimport { FieldFormatOptions, FieldPropertyHost, FieldPropertyPath } from \"./TextField\";\r\n\r\n/** Options supplied to [[TextBlockComponent.clearStyleOverrides]] to control how the style overrides are cleared on the component and its child components.\r\n * @beta\r\n */\r\nexport interface ClearTextStyleOptions {\r\n /** Controls whether the styleOverrides of any child components are retained.\r\n * By default, all overrides are cleared.\r\n */\r\n preserveChildrenOverrides?: boolean;\r\n}\r\n\r\n/** The JSON representation of a [[TextBlockComponent]].\r\n * @beta\r\n */\r\nexport interface TextBlockComponentProps {\r\n /** Deviations from the base [[TextStyleSettings]] defined by the [AnnotationTextStyle]($backend) applied to this component.\r\n * This permits you to, e.g., create a [[TextBlock]] using \"Arial\" font and override one of its [[TextRun]]s to use \"Comic Sans\" instead.\r\n */\r\n styleOverrides?: TextStyleSettingsProps;\r\n}\r\n\r\n/** Options supplied to [[TextBlockComponent.stringify]] to control how the content is formatted.\r\n * @beta\r\n */\r\nexport interface TextBlockStringifyOptions {\r\n /** A string to insert in between each [[Paragraph]].\r\n * Default: \" \" - a single space.\r\n */\r\n paragraphBreak?: string;\r\n /** A string to insert for each [[LineBreakRun]].\r\n * Default: \" \" - a single space.\r\n */\r\n lineBreak?: string;\r\n /** A string to insert between the numerator and denominator of each [[FractionRun]].\r\n * Default: \"/\"\r\n */\r\n fractionSeparator?: string;\r\n /** The number of spaces to use for tabs. If not provided, tabs will be represented by a tab character: \"\\t\".\r\n * Default: \"undefined\" - use \"\\t\".\r\n */\r\n tabsAsSpaces?: number;\r\n /** A string to insert in between the list marker and the list item.\r\n * Default: \" \" - a single space.\r\n */\r\n listMarkerBreak?: string;\r\n}\r\n\r\n/**\r\n * Context information that may be useful when converting a [[TextBlock]] to a string.\r\n * @beta\r\n */\r\nexport interface TextBlockStringifyContext {\r\n /** The current depth of the text block in the document structure. */\r\n depth: number;\r\n}\r\n\r\nfunction clearStyleOverrides(component: StructuralTextBlockComponent, options?: ClearTextStyleOptions): void {\r\n component.styleOverrides = {};\r\n if (!options?.preserveChildrenOverrides) {\r\n for (const child of component.children) {\r\n child.clearStyleOverrides(options);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Abstract representation of any of the building blocks that make up a [[TextBlock]] document - namely [[Run]]s and [[StructuralTextBlockComponent]]s.\r\n * The [[TextBlock]] can specify an [AnnotationTextStyle]($backend) that formats its contents.\r\n * Each component can specify an optional [[styleOverrides]] to customize that formatting.\r\n * @beta\r\n */\r\nexport abstract class TextBlockComponent {\r\n private _styleOverrides: TextStyleSettingsProps;\r\n\r\n /** @internal */\r\n protected constructor(props?: TextBlockComponentProps) {\r\n this._styleOverrides = structuredClone(props?.styleOverrides ?? {});\r\n }\r\n\r\n /** Deviations in individual properties of the [[TextStyleSettings]] in the [AnnotationTextStyle]($backend).\r\n * For example, if the style uses the \"Arial\" font, you can override that by settings `styleOverrides.font.name` to \"Comic Sans\".\r\n * @see [[clearStyleOverrides]] to reset this to an empty object.\r\n */\r\n public get styleOverrides(): TextStyleSettingsProps {\r\n return this._styleOverrides;\r\n }\r\n\r\n public set styleOverrides(overrides: TextStyleSettingsProps) {\r\n this._styleOverrides = structuredClone(overrides);\r\n }\r\n\r\n /** Reset any [[styleOverrides]] applied to this component. */\r\n public clearStyleOverrides(_options?: ClearTextStyleOptions): void {\r\n this.styleOverrides = {};\r\n }\r\n\r\n /** Returns true if [[styleOverrides]] specifies any deviations from the [[TextBlock]]'s [AnnotationTextStyle]($backend). */\r\n public get overridesStyle(): boolean {\r\n return Object.keys(this.styleOverrides).length > 0;\r\n }\r\n\r\n /** Create a deep copy of this component. */\r\n public abstract clone(): TextBlockComponent;\r\n\r\n /** Compute a string representation of the contents of this component and all of its sub-components. */\r\n public abstract stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string;\r\n\r\n /** Returns true if this component has no content or children. */\r\n public abstract get isEmpty(): boolean;\r\n\r\n /**\r\n * Returns true if the string representation of this component consists only of whitespace characters.\r\n * Useful for checking if the component is visually empty (producing no graphics) or contains only spaces, tabs, or line breaks.\r\n */\r\n public get isWhitespace(): boolean {\r\n return /^\\s*$/g.test(this.stringify());\r\n };\r\n\r\n /** Convert this component to its JSON representation. */\r\n public toJSON(): TextBlockComponentProps {\r\n return {\r\n styleOverrides: structuredClone(this.styleOverrides),\r\n };\r\n }\r\n\r\n /** Returns true if `this` is equivalent to `other`. */\r\n public equals(other: TextBlockComponent): boolean {\r\n const mySettings = TextStyleSettings.fromJSON(this.styleOverrides);\r\n const otherSettings = TextStyleSettings.fromJSON(other.styleOverrides);\r\n return mySettings.equals(otherSettings);\r\n }\r\n}\r\n\r\n/** [[TextBlockComponent]]s contained within a [[Paragraph]].\r\n * @beta\r\n */\r\nexport type Run = TextRun | FractionRun | TabRun | LineBreakRun | FieldRun;\r\n\r\n/** The JSON representation of a [[Run]].\r\n * Use the `type` field to discriminate between the different kinds of runs.\r\n * @beta\r\n */\r\nexport type RunProps = TextRunProps | FractionRunProps | TabRunProps | LineBreakRunProps | FieldRunProps;\r\n\r\n/** A sequence of characters within a [[Paragraph]] that share a single style. Runs are the leaf nodes of a [[TextBlock]] document. When laid out for display, a single run may span\r\n * multiple lines, but it will never contain different styling.\r\n * Use the `type` field to discriminate between the different kinds of runs.\r\n * @beta\r\n */\r\nexport namespace Run { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /** Create a run from its JSON representation.\r\n * @see [[TextRun.create]], [[FractionRun.create]], [[FieldRun.create]], [[TabRun.create]], and [[LineBreakRun.create]] to create a run directly.\r\n */\r\n export function fromJSON(props: RunProps): Run {\r\n switch (props.type) {\r\n case \"field\": return FieldRun.create(props);\r\n case \"fraction\": return FractionRun.create(props);\r\n case \"linebreak\": return LineBreakRun.create(props);\r\n case \"tab\": return TabRun.create(props);\r\n case \"text\": return TextRun.create(props);\r\n }\r\n }\r\n}\r\n\r\n/** Describes whether the characters of a [[TextRun]] should be displayed normally, in subscript, or in superscript.\r\n * [[TextStyleSettings.superScriptScale]], [[TextStyleSettings.subScriptScale]], [[TextStyleSettings.superScriptOffsetFactor]], and [[TextStyleSettings.subScriptOffsetFactor]]\r\n * affect how the content is rendered.\r\n * @beta\r\n */\r\nexport type BaselineShift = \"subscript\" | \"superscript\" | \"none\";\r\n\r\n/** JSON representation of a [[TextRun]].\r\n * @beta\r\n */\r\nexport interface TextRunProps extends TextBlockComponentProps {\r\n /** Discriminator field for the [[RunProps]] union. */\r\n readonly type: \"text\";\r\n /** The characters displayed by the run.\r\n * Default: an empty string.\r\n */\r\n content?: string;\r\n /** Whether to display [[content]] as a subscript, superscript, or normally.\r\n * Default: \"none\"\r\n */\r\n baselineShift?: BaselineShift;\r\n}\r\n\r\n/** The most common type of [[Run]], containing a sequence of characters to be displayed using a single style.\r\n * @beta\r\n */\r\nexport class TextRun extends TextBlockComponent {\r\n /** Discriminator field for the [[Run]] union. */\r\n public readonly type = \"text\";\r\n /** The sequence of characters to be displayed by the run. */\r\n public content: string;\r\n /** Whether to display [[content]] as a subscript, superscript, or normally. */\r\n public baselineShift: BaselineShift;\r\n\r\n private constructor(props: TextRunProps) {\r\n super(props);\r\n this.content = props?.content ?? \"\";\r\n this.baselineShift = props?.baselineShift ?? \"none\";\r\n }\r\n\r\n public override clone(): TextRun {\r\n return new TextRun(this.toJSON());\r\n }\r\n\r\n public override toJSON(): TextRunProps {\r\n return {\r\n ...super.toJSON(),\r\n type: \"text\",\r\n content: this.content,\r\n baselineShift: this.baselineShift,\r\n };\r\n }\r\n\r\n public static create(props?: Omit<TextRunProps, \"type\">): TextRun {\r\n return new TextRun({ ...props, type: \"text\" });\r\n }\r\n\r\n public override get isEmpty(): boolean {\r\n return this.stringify().length === 0;\r\n }\r\n\r\n /** Simply returns [[content]]. */\r\n public override stringify(): string {\r\n return this.content;\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return other instanceof TextRun && this.content === other.content && this.baselineShift === other.baselineShift && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[FractionRun]].\r\n * @beta\r\n */\r\nexport interface FractionRunProps extends TextBlockComponentProps {\r\n /** Discriminator field for the [[RunProps]] union. */\r\n readonly type: \"fraction\";\r\n /** The text displayed before or above the fraction separator, depending on [[TextStyleSettings.stackedFractionType]]. Default: an empty string. */\r\n numerator?: string;\r\n /** The text displayed after or below the fraction separator, depending on [[TextStyleSettings.stackedFractionType]]. Default: an empty string. */\r\n denominator?: string;\r\n}\r\n\r\n/** A [[Run]] containing a numeric ratio to be displayed as a numerator and denominator separated by a horizontal or diagonal bar.\r\n * @note The [[numerator]] and [[denominator]] are stored as strings. They are not technically required to contain a numeric representation.\r\n * @beta\r\n */\r\nexport class FractionRun extends TextBlockComponent {\r\n /** Discriminator field for the [[Run]] union. */\r\n public readonly type = \"fraction\";\r\n /** The fraction's numerator. */\r\n public numerator: string;\r\n /** The fraction's denominator. */\r\n public denominator: string;\r\n\r\n private constructor(props: FractionRunProps) {\r\n super(props);\r\n this.numerator = props?.numerator ?? \"\";\r\n this.denominator = props?.denominator ?? \"\";\r\n }\r\n\r\n public override toJSON(): FractionRunProps {\r\n return {\r\n ...super.toJSON(),\r\n type: \"fraction\",\r\n numerator: this.numerator,\r\n denominator: this.denominator,\r\n };\r\n }\r\n\r\n public override clone(): FractionRun {\r\n return new FractionRun(this.toJSON());\r\n }\r\n\r\n public static create(props?: Omit<FractionRunProps, \"type\">): FractionRun {\r\n return new FractionRun({ ...props, type: \"fraction\" });\r\n }\r\n\r\n public override get isEmpty(): boolean {\r\n return this.stringify().length === 0;\r\n }\r\n\r\n /** Formats the fraction as a string with the [[numerator]] and [[denominator]] separated by [[TextBlockStringifyOptions.fractionSeparator]]. */\r\n public override stringify(options?: TextBlockStringifyOptions): string {\r\n const sep = options?.fractionSeparator ?? \"/\";\r\n return `${this.numerator}${sep}${this.denominator}`;\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return other instanceof FractionRun && this.numerator === other.numerator && this.denominator === other.denominator && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[LineBreakRun]].\r\n * @beta\r\n */\r\nexport interface LineBreakRunProps extends TextBlockComponentProps {\r\n /** Discriminator field for the [[RunProps]] union. */\r\n readonly type: \"linebreak\";\r\n}\r\n\r\n/** A [[Run]] that represents the end of a line of text within a [[Paragraph]]. It contains no content of its own - it simply causes subsequent content to display on a new line.\r\n * @beta\r\n */\r\nexport class LineBreakRun extends TextBlockComponent {\r\n /** Discriminator field for the [[Run]] union. */\r\n public readonly type = \"linebreak\";\r\n\r\n private constructor(props: LineBreakRunProps) {\r\n super(props);\r\n }\r\n\r\n public override toJSON(): LineBreakRunProps {\r\n return {\r\n ...super.toJSON(),\r\n type: \"linebreak\",\r\n };\r\n }\r\n\r\n public static create(props?: Omit<LineBreakRunProps, \"type\">) {\r\n return new LineBreakRun({ ...props, type: \"linebreak\" });\r\n }\r\n\r\n public override clone(): LineBreakRun {\r\n return new LineBreakRun(this.toJSON());\r\n }\r\n\r\n public override get isEmpty(): boolean {\r\n return this.stringify().length === 0;\r\n }\r\n\r\n /** Simply returns [[TextBlockStringifyOptions.lineBreak]]. */\r\n public override stringify(options?: TextBlockStringifyOptions): string {\r\n return options?.lineBreak ?? \" \";\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return other instanceof LineBreakRun && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[TabRun]].\r\n * @beta\r\n */\r\nexport interface TabRunProps extends TextBlockComponentProps {\r\n /** Discriminator field for the [[RunProps]] union. */\r\n readonly type: \"tab\";\r\n}\r\n\r\n/** A [[TabRun]] is used to shift the next tab stop.\r\n * @note Only left-justified tabs are supported at this tab.\r\n * @beta\r\n */\r\nexport class TabRun extends TextBlockComponent {\r\n /** Discriminator field for the [[Run]] union. */\r\n public readonly type = \"tab\";\r\n\r\n public override toJSON(): TabRunProps {\r\n return {\r\n ...super.toJSON(),\r\n type: \"tab\",\r\n };\r\n }\r\n\r\n public override clone(): TabRun {\r\n return new TabRun(this.toJSON());\r\n }\r\n\r\n public static create(props?: Omit<TabRunProps, \"type\">): TabRun {\r\n return new TabRun(props);\r\n }\r\n\r\n public override get isEmpty(): boolean {\r\n return this.stringify().length === 0;\r\n }\r\n\r\n /**\r\n * Converts a [[TabRun]] to its string representation.\r\n * If the `tabsAsSpaces` option is provided, returns a string of spaces of the specified length.\r\n * Otherwise, returns a tab character (\"\\t\").\r\n */\r\n public override stringify(options?: TextBlockStringifyOptions): string {\r\n if (options?.tabsAsSpaces) {\r\n return \" \".repeat(options.tabsAsSpaces);\r\n }\r\n\r\n return \"\\t\";\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return other instanceof TabRun && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[FieldRun]].\r\n * @beta\r\n */\r\nexport interface FieldRunProps extends TextBlockComponentProps {\r\n /** Discriminator field for the [[RunProps]] union. */\r\n readonly type: \"field\";\r\n /** The element and BIS class containing the property described by [[propertyPath]]. */\r\n propertyHost: FieldPropertyHost;\r\n /** Describes how to obtain the property value from [[propertyHost]]. */\r\n propertyPath: FieldPropertyPath;\r\n /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].\r\n * The specific options used depend upon the field's [[propertyType]].\r\n */\r\n formatOptions?: FieldFormatOptions;\r\n /** The field's most recently evaluated display string.\r\n * @note It is unnecessary to specify this when creating a field as part of an element like a [[TextAnnotation2d]], because\r\n * all of the element's fields will be re-evaluated when inserting or updating the element in the iModel.\r\n */\r\n cachedContent?: string;\r\n}\r\n\r\n/** A [[Run]] that displays the formatted value of a property of some [Element]($backend).\r\n * When a [[TextBlock]] containing a [[FieldRun]] is written into the iModel as an [ITextAnnotation]($backend) element,\r\n * a dependency is established between the two elements via the [ElementDrivesTextAnnotation]($backend) relationship such that\r\n * whenever the source element specified by [[propertyHost]] is modified or the `ITextAnnotation` element is inserted or updated in the iModel,\r\n * the field(s) in the `ITextAnnotation` element are automatically\r\n * recalculated, causing their [[cachedContent]] to update. If the field's display string cannot be evaluated (for example, because the specified element or\r\n * property does not exist), then its cached content is set to [[FieldRun.invalidContentIndicator]].\r\n * A [[FieldRun]] displays its [[cachedContent]] in the same way that [[TextRun]]s display their `content`, including word wrapping where appropriate.\r\n * @beta\r\n */\r\nexport class FieldRun extends TextBlockComponent {\r\n /** Display string used to signal an error in computing the field's value. */\r\n public static invalidContentIndicator = \"####\";\r\n\r\n /** Discriminator field for the [[Run]] union. */\r\n public readonly type = \"field\";\r\n /** The element and BIS class containing the property described by [[propertyPath]]. */\r\n public propertyHost: FieldPropertyHost;\r\n /** Describes how to obtain the property value from [[propertyHost]]. */\r\n public propertyPath: FieldPropertyPath;\r\n /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].\r\n * The specific options used depend upon the [[FieldPropertyType]].\r\n */\r\n public formatOptions?: FieldFormatOptions;\r\n private _cachedContent: string;\r\n\r\n /** The field's most recently evaluated display string. */\r\n public get cachedContent(): string {\r\n return this._cachedContent;\r\n }\r\n\r\n /** @internal Used by core-backend when re-evaluating field content. */\r\n public setCachedContent(content: string | undefined): void {\r\n this._cachedContent = content ?? FieldRun.invalidContentIndicator;\r\n }\r\n\r\n private constructor(props: FieldRunProps) {\r\n super(props);\r\n\r\n this._cachedContent = props.cachedContent ?? FieldRun.invalidContentIndicator;\r\n this.propertyHost = props.propertyHost\r\n this.propertyPath = props.propertyPath;\r\n this.formatOptions = props.formatOptions;\r\n }\r\n\r\n /** Create a FieldRun from its JSON representation. */\r\n public static create(props: Omit<FieldRunProps, \"type\">): FieldRun {\r\n return new FieldRun({\r\n ...props,\r\n propertyHost: { ...props.propertyHost },\r\n propertyPath: structuredClone(props.propertyPath),\r\n formatOptions: structuredClone(props.formatOptions),\r\n type: \"field\",\r\n });\r\n }\r\n\r\n /** Convert the FieldRun to its JSON representation. */\r\n public override toJSON(): FieldRunProps {\r\n const json: FieldRunProps = {\r\n ...super.toJSON(),\r\n type: \"field\",\r\n propertyHost: { ...this.propertyHost },\r\n propertyPath: structuredClone(this.propertyPath),\r\n };\r\n\r\n if (this.cachedContent !== FieldRun.invalidContentIndicator) {\r\n json.cachedContent = this.cachedContent;\r\n }\r\n\r\n if (this.formatOptions) {\r\n json.formatOptions = structuredClone(this.formatOptions);\r\n }\r\n\r\n return json;\r\n }\r\n\r\n /** Create a deep copy of this FieldRun. */\r\n public override clone(): FieldRun {\r\n return new FieldRun(this.toJSON());\r\n }\r\n\r\n public override get isEmpty(): boolean {\r\n return this.stringify().length === 0;\r\n }\r\n\r\n /** Convert this FieldRun to a simple string representation. */\r\n public override stringify(): string {\r\n return this.cachedContent;\r\n }\r\n\r\n /** Returns true if `this` is equivalent to `other`. */\r\n public override equals(other: TextBlockComponent): boolean {\r\n if (!(other instanceof FieldRun) || !super.equals(other)) {\r\n return false;\r\n }\r\n\r\n if (\r\n this.propertyHost.elementId !== other.propertyHost.elementId ||\r\n this.propertyHost.className !== other.propertyHost.className ||\r\n this.propertyHost.schemaName !== other.propertyHost.schemaName\r\n ) {\r\n return false;\r\n }\r\n\r\n if (this.propertyPath.propertyName !== other.propertyPath.propertyName) {\r\n return false;\r\n }\r\n\r\n const thisAccessors = this.propertyPath.accessors ?? [];\r\n const otherAccessors = other.propertyPath.accessors ?? [];\r\n\r\n if (thisAccessors.length !== otherAccessors.length) {\r\n return false;\r\n }\r\n\r\n if (!thisAccessors.every((value, index) => value === otherAccessors[index])) {\r\n return false;\r\n }\r\n\r\n if (this.formatOptions && other.formatOptions) {\r\n // We anticipate new formatting options being added in the future.\r\n // So to account for properties we don't know about, just compare the string representations.\r\n if (JSON.stringify(this.formatOptions) !== JSON.stringify(other.formatOptions)) {\r\n return false;\r\n }\r\n } else if (this.formatOptions || other.formatOptions) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/** JSON representation of a [[Paragraph]].\r\n * @beta\r\n */\r\nexport interface ParagraphProps extends TextBlockComponentProps {\r\n children?: Array<ListProps | RunProps>;\r\n}\r\n\r\n/** A collection of [[Run]]s and [[List]]s. Paragraphs can be appended to [[List]]s and [[TextBlock]]s.\r\n * Each paragraph is laid out on a separate line. If included in a [[List]], the paragraph will be treated as a list item.\r\n * @beta\r\n */\r\nexport class Paragraph extends TextBlockComponent {\r\n public readonly type = \"paragraph\";\r\n public readonly children: Array<List | Run>;\r\n\r\n private constructor(props?: ParagraphProps) {\r\n super(props);\r\n\r\n this.children = props?.children?.map((child) =>\r\n child.type === \"list\" ? List.create(child) : Run.fromJSON(child)\r\n ) ?? [];\r\n }\r\n\r\n /** Create a paragraph from its JSON representation. */\r\n public static create(props?: Omit<ParagraphProps, \"type\">): Paragraph {\r\n return new Paragraph(props);\r\n }\r\n\r\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\r\n clearStyleOverrides(this, options);\r\n }\r\n\r\n public override get isEmpty() {\r\n return this.children.length === 0;\r\n }\r\n\r\n public override clone(): Paragraph {\r\n return new Paragraph(this.toJSON());\r\n }\r\n\r\n public override toJSON(): ParagraphProps {\r\n return {\r\n ...super.toJSON(),\r\n children: this.children.map((child) => child.toJSON()),\r\n };\r\n }\r\n\r\n /** Compute a string representation of this paragraph by concatenating the string representations of all of its children. */\r\n public override stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string {\r\n return this.children.map((x, index) => (index > 0 && x.type === \"list\") ? `${options?.paragraphBreak ?? \" \"}${x.stringify(options, context)}` : x.stringify(options, context)).join(\"\") ?? \"\";\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return (other instanceof Paragraph) && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[List]].\r\n * @beta\r\n */\r\nexport interface ListProps extends TextBlockComponentProps {\r\n readonly type: \"list\";\r\n children?: ParagraphProps[];\r\n}\r\n\r\n/** A collection of list items ([[Paragraph]]s). Lists can be appended to [[Paragraph]]s.\r\n * Lists will be laid out on a new line. Each item in a list is laid out on a separate line.\r\n * @beta\r\n */\r\nexport class List extends TextBlockComponent {\r\n public readonly type = \"list\";\r\n public readonly children: Paragraph[];\r\n\r\n protected constructor(props?: ListProps) {\r\n super(props);\r\n\r\n this.children = props?.children?.map((child) => Paragraph.create(child)) ?? [];\r\n }\r\n\r\n /** Create a list from its JSON representation. */\r\n public static create(props?: Omit<ListProps, \"type\">): List {\r\n return new List({ ...props, type: \"list\" });\r\n }\r\n\r\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\r\n clearStyleOverrides(this, options);\r\n }\r\n\r\n public override get isEmpty() {\r\n return this.children.length === 0;\r\n }\r\n\r\n public override clone(): List {\r\n return new List(this.toJSON());\r\n }\r\n\r\n public override toJSON(): ListProps {\r\n return {\r\n ...super.toJSON(),\r\n type: \"list\",\r\n children: this.children.map((run) => run.toJSON()),\r\n };\r\n }\r\n\r\n /** Compute a string representation of this list by concatenating the string representations of all of its [[children]]. */\r\n public override stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string {\r\n const children = this.children.map((x, index) => {\r\n const depth = context?.depth ?? 0;\r\n const marker = getMarkerText(this.styleOverrides.listMarker ?? TextStyleSettings.defaultProps.listMarker, index + 1);\r\n const tab = (options?.tabsAsSpaces ? \" \".repeat(options.tabsAsSpaces) : \"\\t\").repeat(depth);\r\n return `${tab}${marker}${options?.listMarkerBreak ?? \" \"}${x.stringify(options, { depth: depth + 1 })}`;\r\n });\r\n return children.join(options?.paragraphBreak ?? \" \") ?? \"\";\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n return (other instanceof List) && super.equals(other);\r\n }\r\n}\r\n\r\n/** JSON representation of a [[TextBlock]].\r\n * @beta\r\n */\r\nexport interface TextBlockProps extends TextBlockComponentProps {\r\n /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.\r\n * A value less than or equal to zero indicates no wrapping is to be applied.\r\n * Default: 0\r\n */\r\n width?: number;\r\n children?: ParagraphProps[];\r\n}\r\n\r\n/** Represents a formatted text document consisting of a series of [[Paragraph]]s, each laid out on a separate line and containing their own content.\r\n * No word-wrapping is applied to the document unless a [[width]] greater than zero is specified.\r\n * @see [[TextAnnotation]] to position a text block as an annotation in 2d or 3d space.\r\n * @beta\r\n */\r\nexport class TextBlock extends TextBlockComponent {\r\n public readonly children: Paragraph[];\r\n\r\n /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.\r\n * A value less than or equal to zero indicates no wrapping is to be applied.\r\n * Default: 0\r\n */\r\n public width: number;\r\n\r\n private constructor(props: TextBlockProps) {\r\n super(props);\r\n this.width = props.width ?? 0;\r\n\r\n this.children = props?.children?.map((para) => Paragraph.create(para)) ?? [];\r\n }\r\n\r\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\r\n clearStyleOverrides(this, options);\r\n }\r\n\r\n public override toJSON(): TextBlockProps {\r\n return {\r\n ...super.toJSON(),\r\n width: this.width,\r\n children: this.children.map((x) => x.toJSON()),\r\n };\r\n }\r\n\r\n /** Create a text block from its JSON representation. */\r\n public static create(props?: Omit<TextBlockProps, \"type\">): TextBlock {\r\n return new TextBlock(props ?? {});\r\n }\r\n\r\n /** Returns true if every paragraph in this text block is empty. */\r\n public override get isEmpty(): boolean {\r\n return !this.children || this.children.every((child) => child.isEmpty);\r\n }\r\n\r\n public override clone(): TextBlock {\r\n return new TextBlock(this.toJSON());\r\n }\r\n\r\n /** Compute a string representation of the document's contents by concatenating the string representations of each of its [[children]], separated by [[TextBlockStringifyOptions.paragraphBreak]]. */\r\n public stringify(options?: TextBlockStringifyOptions): string {\r\n return this.children.map((x) => x.stringify(options)).join(options?.paragraphBreak ?? \" \") || \"\";\r\n }\r\n\r\n /** Add and return a new paragraph.\r\n * By default, the paragraph will be created with no [[styleOverrides]], so that it inherits the style of this block.\r\n * @param seedFromLast If true and [[children]] is not empty, the new paragraph will inherit the style overrides of the last child in this block.\r\n * @note Be sure you pass in [[ParagraphProps]] and not [[Paragraph]] or style overrides will be ignored.\r\n */\r\n public appendParagraph(props?: ParagraphProps, seedFromLast = false): Paragraph {\r\n const seed = seedFromLast ? this.children[this.children.length - 1] : undefined;\r\n const styleOverrides = { ...seed?.styleOverrides, ...props?.styleOverrides };\r\n const paragraph = Paragraph.create({ ...props, styleOverrides });\r\n this.children.push(paragraph);\r\n return paragraph;\r\n }\r\n\r\n /** Append a run to the last [[Paragraph]] in this block.\r\n * If the block contains no [[children]], a new [[Paragraph]] will first be created using [[appendParagraph]].\r\n */\r\n public appendRun(run: Run): void {\r\n const paragraph = this.children[this.children.length - 1] ?? this.appendParagraph();\r\n paragraph.children.push(run);\r\n }\r\n\r\n public override equals(other: TextBlockComponent): boolean {\r\n if (!(other instanceof TextBlock)) {\r\n return false;\r\n }\r\n\r\n if (!super.equals(other)) {\r\n return false;\r\n }\r\n\r\n if (this.width !== other.width) {\r\n return false;\r\n }\r\n\r\n if (this.children && other.children) {\r\n if (this.children.length !== other.children.length) {\r\n return false;\r\n }\r\n\r\n return this.children.every((child, index) => other.children && child.equals(other.children[index]));\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * A union of all the [[TextBlockComponent]]s that can contain other components.\r\n * @beta\r\n */\r\nexport type StructuralTextBlockComponent = List | Paragraph | TextBlock;\r\n\r\n/**\r\n * Recursively traverses a [[StructuralTextBlockComponent]] tree, yielding each child component along with its parent container.\r\n * This generator enables depth-first iteration over all components in a text block structure, including paragraphs, lists, and runs.\r\n *\r\n * @param parent The root container whose children should be traversed.\r\n * @returns An IterableIterator yielding objects with the child component and its parent container.\r\n * @beta\r\n */\r\nexport function* traverseTextBlockComponent(parent: StructuralTextBlockComponent): IterableIterator<{ parent: StructuralTextBlockComponent, child: List | Paragraph | Run }> {\r\n for (const child of parent.children) {\r\n yield { parent, child };\r\n if (child.type === \"list\" || child.type === \"paragraph\") {\r\n yield* traverseTextBlockComponent(child);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Returns the formatted marker text for a list item based on the marker type and item number.\r\n * Supports ordered and unordered list markers, including alphabetic, Roman numeral, and numeric formats.\r\n * @param marker The type of list marker to use.\r\n * @param num The item number in the list.\r\n * @returns The formatted marker string for the list item.\r\n * @beta\r\n */\r\nexport function getMarkerText(marker: ListMarker, num: number): string {\r\n let markerString = \"\";\r\n\r\n switch (marker.enumerator) {\r\n case undefined:\r\n case ListMarkerEnumerator.Number:\r\n markerString = `${num}`;\r\n break;\r\n case ListMarkerEnumerator.Letter:\r\n markerString = integerToAlpha(num);\r\n break;\r\n case ListMarkerEnumerator.RomanNumeral:\r\n markerString = integerToRoman(num);\r\n break;\r\n default:\r\n markerString = marker.enumerator;\r\n break;\r\n }\r\n\r\n if (marker.case) {\r\n markerString = marker.case === \"upper\" ? markerString.toUpperCase() : markerString.toLowerCase();\r\n }\r\n\r\n const terminator = marker.terminator === \"period\" ? \".\" : marker.terminator === \"parenthesis\" ? \")\" : \"\";\r\n\r\n return `${markerString}${terminator}`;\r\n}\r\n\r\n/**\r\n * Converts an integer to its Roman numeral representation.\r\n * Supports numbers from 1 and above.\r\n * @param num The integer to convert.\r\n * @returns The Roman numeral string.\r\n */\r\nfunction integerToRoman(num: number): string {\r\n const values =\r\n [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];\r\n const symbols =\r\n ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];\r\n let roman = '';\r\n for (let i = 0; i < values.length; i++) {\r\n while (num >= values[i]) {\r\n roman += symbols[i];\r\n num -= values[i];\r\n }\r\n }\r\n\r\n return roman;\r\n}\r\n\r\n/**\r\n * Converts an integer to its alphabetic representation (A-Z, AA-ZZ, etc.).\r\n * Used for ordered list markers with alphabetic styles.\r\n * @param num The integer to convert (1-based).\r\n * @returns The alphabetic string for the given number.\r\n */\r\nfunction integerToAlpha(num: number): string {\r\n const letterOffset = (num - 1) % 26;\r\n const letter = String.fromCharCode(65 + letterOffset);\r\n const depth = Math.ceil(num / 26);\r\n return letter.repeat(depth);\r\n}\r\n"]}
1
+ {"version":3,"file":"TextBlock.js","sourceRoot":"","sources":["../../../src/annotation/TextBlock.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAc,oBAAoB,EAAE,iBAAiB,EAA0B,MAAM,aAAa,CAAC;AA0D1G,SAAS,mBAAmB,CAAC,SAAuC,EAAE,OAA+B;IACnG,SAAS,CAAC,cAAc,GAAG,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAgB,kBAAkB;IAC9B,eAAe,CAAyB;IAEhD,gBAAgB;IAChB,YAAsB,KAA+B;QACnD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,KAAK,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAW,cAAc,CAAC,SAAiC;QACzD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,8DAA8D;IACvD,mBAAmB,CAAC,QAAgC;QACzD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,4HAA4H;IAC5H,IAAW,cAAc;QACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACrD,CAAC;IAWD;;;MAGE;IACF,IAAW,YAAY;QACrB,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAAA,CAAC;IAEF,yDAAyD;IAClD,MAAM;QACX,OAAO;YACL,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC;SACrD,CAAC;IACJ,CAAC;IAED,uDAAuD;IAChD,MAAM,CAAC,KAAyB;QACrC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvE,OAAO,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;CACF;AAaD;;;;GAIG;AACH,MAAM,KAAW,GAAG,CAanB;AAbD,WAAiB,GAAG;IAClB;;OAEG;IACH,SAAgB,QAAQ,CAAC,KAAe;QACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,UAAU,CAAC,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpD,KAAK,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IARe,YAAQ,WAQvB,CAAA;AACH,CAAC,EAbgB,GAAG,KAAH,GAAG,QAanB;AAyBD;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,kBAAkB;IAC7C,iDAAiD;IACjC,IAAI,GAAG,MAAM,CAAC;IAC9B,6DAA6D;IACtD,OAAO,CAAS;IACvB,+EAA+E;IACxE,aAAa,CAAgB;IAEpC,YAAoB,KAAmB;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,MAAM,CAAC;IACtD,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAkC;QACrD,OAAO,IAAI,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,kCAAkC;IAClB,SAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,KAAK,YAAY,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzI,CAAC;CACF;AAcD;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,kBAAkB;IACjD,iDAAiD;IACjC,IAAI,GAAG,UAAU,CAAC;IAClC,gCAAgC;IACzB,SAAS,CAAS;IACzB,kCAAkC;IAC3B,WAAW,CAAS;IAE3B,YAAoB,KAAuB;QACzC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC;IAC9C,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAsC;QACzD,OAAO,IAAI,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,gJAAgJ;IAChI,SAAS,CAAC,OAAmC;QAC3D,MAAM,GAAG,GAAG,OAAO,EAAE,iBAAiB,IAAI,GAAG,CAAC;QAC9C,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,KAAK,YAAY,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7I,CAAC;CACF;AAUD;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,kBAAkB;IAClD,iDAAiD;IACjC,IAAI,GAAG,WAAW,CAAC;IAEnC,YAAoB,KAAwB;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,WAAW;SAClB,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAuC;QAC1D,OAAO,IAAI,YAAY,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,8DAA8D;IAC9C,SAAS,CAAC,OAAmC;QAC3D,OAAO,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC;IACnC,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF;AAUD;;;GAGG;AACH,MAAM,OAAO,MAAO,SAAQ,kBAAkB;IAC5C,iDAAiD;IACjC,IAAI,GAAG,KAAK,CAAC;IAEb,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAiC;QACpD,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;;KAIC;IACe,SAAS,CAAC,OAAmC;QAC3D,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,KAAK,YAAY,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;AAuBD;;;;;;;;;GASG;AACH,MAAM,OAAO,QAAS,SAAQ,kBAAkB;IAC9C,6EAA6E;IACtE,MAAM,CAAC,uBAAuB,GAAG,MAAM,CAAC;IAE/C,iDAAiD;IACjC,IAAI,GAAG,OAAO,CAAC;IAC/B,uFAAuF;IAChF,YAAY,CAAoB;IACvC,wEAAwE;IACjE,YAAY,CAAoB;IACvC;;OAEG;IACI,aAAa,CAAsB;IAClC,cAAc,CAAS;IAE/B,0DAA0D;IAC1D,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,uEAAuE;IAChE,gBAAgB,CAAC,OAA2B;QACjD,IAAI,CAAC,cAAc,GAAG,OAAO,IAAI,QAAQ,CAAC,uBAAuB,CAAC;IACpE,CAAC;IAED,YAAoB,KAAoB;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,uBAAuB,CAAC;QAC9E,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC3C,CAAC;IAED,sDAAsD;IAC/C,MAAM,CAAC,MAAM,CAAC,KAAkC;QACrD,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,KAAK;YACR,YAAY,EAAE,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE;YACvC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC;YACjD,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;YACnD,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAED,uDAAuD;IACvC,MAAM;QACpB,MAAM,IAAI,GAAkB;YAC1B,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;YACtC,YAAY,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;SACjD,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,uBAAuB,EAAE,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3B,KAAK;QACnB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,+DAA+D;IAC/C,SAAS;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,uDAAuD;IACvC,MAAM,CAAC,KAAyB;QAC9C,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IACE,IAAI,CAAC,YAAY,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,SAAS;YAC5D,IAAI,CAAC,YAAY,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,SAAS;YAC5D,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,KAAK,CAAC,YAAY,CAAC,UAAU,EAC9D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;QAE1D,IAAI,aAAa,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9C,kEAAkE;YAClE,6FAA6F;YAC7F,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/E,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;;AAUH;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC/B,IAAI,GAAG,WAAW,CAAC;IACnB,QAAQ,CAAoB;IAE5C,YAAoB,KAAsB;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7C,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjE,IAAI,EAAE,CAAC;IACV,CAAC;IAED,uDAAuD;IAChD,MAAM,CAAC,MAAM,CAAC,KAAoC;QACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEe,mBAAmB,CAAC,OAA+B;QACjE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,4HAA4H;IAC5G,SAAS,CAAC,OAAmC,EAAE,OAAmC;QAChG,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,cAAc,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAChM,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,CAAC,KAAK,YAAY,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;CACF;AAUD;;;GAGG;AACH,MAAM,OAAO,IAAK,SAAQ,kBAAkB;IAC1B,IAAI,GAAG,MAAM,CAAC;IACd,QAAQ,CAAc;IAEtC,YAAsB,KAAiB;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,CAAC;IAED,kDAAkD;IAC3C,MAAM,CAAC,MAAM,CAAC,KAA+B;QAClD,OAAO,IAAI,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEe,mBAAmB,CAAC,OAA+B;QACjE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAoB,OAAO;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,2HAA2H;IAC3G,SAAS,CAAC,OAAmC,EAAE,OAAmC;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,iBAAiB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACrH,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5F,OAAO,GAAG,GAAG,GAAG,MAAM,GAAG,OAAO,EAAE,eAAe,IAAI,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,OAAO,CAAC,KAAK,YAAY,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;AAcD;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,kBAAkB;IAC/B,QAAQ,CAAc;IAEtC;;;OAGG;IACI,KAAK,CAAS;IAErB,YAAoB,KAAqB;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;IAEe,mBAAmB,CAAC,OAA+B;QACjE,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAEe,MAAM;QACpB,OAAO;YACL,GAAG,KAAK,CAAC,MAAM,EAAE;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,MAAM,CAAC,KAAoC;QACvD,OAAO,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,mEAAmE;IACnE,IAAoB,OAAO;QACzB,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAEe,KAAK;QACnB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,qMAAqM;IAC9L,SAAS,CAAC,OAAmC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IACnG,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,KAAsB,EAAE,YAAY,GAAG,KAAK;QACjE,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,CAAC;QAC7E,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,GAAQ;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACpF,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEe,MAAM,CAAC,KAAyB;QAC9C,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtG,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAQD;;;;;;;GAOG;AACH,MAAM,SAAS,CAAC,CAAC,0BAA0B,CAAC,MAAoC;IAC9E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACxD,KAAK,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAkB,EAAE,GAAW;IAC3D,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,SAAS,CAAC;QACf,KAAK,oBAAoB,CAAC,MAAM;YAC9B,YAAY,GAAG,GAAG,GAAG,EAAE,CAAC;YACxB,MAAM;QACR,KAAK,oBAAoB,CAAC,MAAM;YAC9B,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,oBAAoB,CAAC,YAAY;YACpC,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM;QACR;YACE,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC;YACjC,MAAM;IACV,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACnG,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzG,OAAO,GAAG,YAAY,GAAG,UAAU,EAAE,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,MAAM,GACV,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GACX,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,YAAY,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC","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 Annotation\n */\n\nimport { ListMarker, ListMarkerEnumerator, TextStyleSettings, TextStyleSettingsProps } from \"./TextStyle\";\nimport { FieldFormatOptions, FieldPropertyHost, FieldPropertyPath } from \"./TextField\";\n\n/** Options supplied to [[TextBlockComponent.clearStyleOverrides]] to control how the style overrides are cleared on the component and its child components.\n * @beta\n */\nexport interface ClearTextStyleOptions {\n /** Controls whether the styleOverrides of any child components are retained.\n * By default, all overrides are cleared.\n */\n preserveChildrenOverrides?: boolean;\n}\n\n/** The JSON representation of a [[TextBlockComponent]].\n * @beta\n */\nexport interface TextBlockComponentProps {\n /** Deviations from the base [[TextStyleSettings]] defined by the [AnnotationTextStyle]($backend) applied to this component.\n * This permits you to, e.g., create a [[TextBlock]] using \"Arial\" font and override one of its [[TextRun]]s to use \"Comic Sans\" instead.\n */\n styleOverrides?: TextStyleSettingsProps;\n}\n\n/** Options supplied to [[TextBlockComponent.stringify]] to control how the content is formatted.\n * @beta\n */\nexport interface TextBlockStringifyOptions {\n /** A string to insert in between each [[Paragraph]].\n * Default: \" \" - a single space.\n */\n paragraphBreak?: string;\n /** A string to insert for each [[LineBreakRun]].\n * Default: \" \" - a single space.\n */\n lineBreak?: string;\n /** A string to insert between the numerator and denominator of each [[FractionRun]].\n * Default: \"/\"\n */\n fractionSeparator?: string;\n /** The number of spaces to use for tabs. If not provided, tabs will be represented by a tab character: \"\\t\".\n * Default: \"undefined\" - use \"\\t\".\n */\n tabsAsSpaces?: number;\n /** A string to insert in between the list marker and the list item.\n * Default: \" \" - a single space.\n */\n listMarkerBreak?: string;\n}\n\n/**\n * Context information that may be useful when converting a [[TextBlock]] to a string.\n * @beta\n */\nexport interface TextBlockStringifyContext {\n /** The current depth of the text block in the document structure. */\n depth: number;\n}\n\nfunction clearStyleOverrides(component: StructuralTextBlockComponent, options?: ClearTextStyleOptions): void {\n component.styleOverrides = {};\n if (!options?.preserveChildrenOverrides) {\n for (const child of component.children) {\n child.clearStyleOverrides(options);\n }\n }\n}\n\n/**\n * Abstract representation of any of the building blocks that make up a [[TextBlock]] document - namely [[Run]]s and [[StructuralTextBlockComponent]]s.\n * The [[TextBlock]] can specify an [AnnotationTextStyle]($backend) that formats its contents.\n * Each component can specify an optional [[styleOverrides]] to customize that formatting.\n * @beta\n */\nexport abstract class TextBlockComponent {\n private _styleOverrides: TextStyleSettingsProps;\n\n /** @internal */\n protected constructor(props?: TextBlockComponentProps) {\n this._styleOverrides = structuredClone(props?.styleOverrides ?? {});\n }\n\n /** Deviations in individual properties of the [[TextStyleSettings]] in the [AnnotationTextStyle]($backend).\n * For example, if the style uses the \"Arial\" font, you can override that by settings `styleOverrides.font.name` to \"Comic Sans\".\n * @see [[clearStyleOverrides]] to reset this to an empty object.\n */\n public get styleOverrides(): TextStyleSettingsProps {\n return this._styleOverrides;\n }\n\n public set styleOverrides(overrides: TextStyleSettingsProps) {\n this._styleOverrides = structuredClone(overrides);\n }\n\n /** Reset any [[styleOverrides]] applied to this component. */\n public clearStyleOverrides(_options?: ClearTextStyleOptions): void {\n this.styleOverrides = {};\n }\n\n /** Returns true if [[styleOverrides]] specifies any deviations from the [[TextBlock]]'s [AnnotationTextStyle]($backend). */\n public get overridesStyle(): boolean {\n return Object.keys(this.styleOverrides).length > 0;\n }\n\n /** Create a deep copy of this component. */\n public abstract clone(): TextBlockComponent;\n\n /** Compute a string representation of the contents of this component and all of its sub-components. */\n public abstract stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string;\n\n /** Returns true if this component has no content or children. */\n public abstract get isEmpty(): boolean;\n\n /**\n * Returns true if the string representation of this component consists only of whitespace characters.\n * Useful for checking if the component is visually empty (producing no graphics) or contains only spaces, tabs, or line breaks.\n */\n public get isWhitespace(): boolean {\n return /^\\s*$/g.test(this.stringify());\n };\n\n /** Convert this component to its JSON representation. */\n public toJSON(): TextBlockComponentProps {\n return {\n styleOverrides: structuredClone(this.styleOverrides),\n };\n }\n\n /** Returns true if `this` is equivalent to `other`. */\n public equals(other: TextBlockComponent): boolean {\n const mySettings = TextStyleSettings.fromJSON(this.styleOverrides);\n const otherSettings = TextStyleSettings.fromJSON(other.styleOverrides);\n return mySettings.equals(otherSettings);\n }\n}\n\n/** [[TextBlockComponent]]s contained within a [[Paragraph]].\n * @beta\n */\nexport type Run = TextRun | FractionRun | TabRun | LineBreakRun | FieldRun;\n\n/** The JSON representation of a [[Run]].\n * Use the `type` field to discriminate between the different kinds of runs.\n * @beta\n */\nexport type RunProps = TextRunProps | FractionRunProps | TabRunProps | LineBreakRunProps | FieldRunProps;\n\n/** A sequence of characters within a [[Paragraph]] that share a single style. Runs are the leaf nodes of a [[TextBlock]] document. When laid out for display, a single run may span\n * multiple lines, but it will never contain different styling.\n * Use the `type` field to discriminate between the different kinds of runs.\n * @beta\n */\nexport namespace Run { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Create a run from its JSON representation.\n * @see [[TextRun.create]], [[FractionRun.create]], [[FieldRun.create]], [[TabRun.create]], and [[LineBreakRun.create]] to create a run directly.\n */\n export function fromJSON(props: RunProps): Run {\n switch (props.type) {\n case \"field\": return FieldRun.create(props);\n case \"fraction\": return FractionRun.create(props);\n case \"linebreak\": return LineBreakRun.create(props);\n case \"tab\": return TabRun.create(props);\n case \"text\": return TextRun.create(props);\n }\n }\n}\n\n/** Describes whether the characters of a [[TextRun]] should be displayed normally, in subscript, or in superscript.\n * [[TextStyleSettings.superScriptScale]], [[TextStyleSettings.subScriptScale]], [[TextStyleSettings.superScriptOffsetFactor]], and [[TextStyleSettings.subScriptOffsetFactor]]\n * affect how the content is rendered.\n * @beta\n */\nexport type BaselineShift = \"subscript\" | \"superscript\" | \"none\";\n\n/** JSON representation of a [[TextRun]].\n * @beta\n */\nexport interface TextRunProps extends TextBlockComponentProps {\n /** Discriminator field for the [[RunProps]] union. */\n readonly type: \"text\";\n /** The characters displayed by the run.\n * Default: an empty string.\n */\n content?: string;\n /** Whether to display [[content]] as a subscript, superscript, or normally.\n * Default: \"none\"\n */\n baselineShift?: BaselineShift;\n}\n\n/** The most common type of [[Run]], containing a sequence of characters to be displayed using a single style.\n * @beta\n */\nexport class TextRun extends TextBlockComponent {\n /** Discriminator field for the [[Run]] union. */\n public readonly type = \"text\";\n /** The sequence of characters to be displayed by the run. */\n public content: string;\n /** Whether to display [[content]] as a subscript, superscript, or normally. */\n public baselineShift: BaselineShift;\n\n private constructor(props: TextRunProps) {\n super(props);\n this.content = props?.content ?? \"\";\n this.baselineShift = props?.baselineShift ?? \"none\";\n }\n\n public override clone(): TextRun {\n return new TextRun(this.toJSON());\n }\n\n public override toJSON(): TextRunProps {\n return {\n ...super.toJSON(),\n type: \"text\",\n content: this.content,\n baselineShift: this.baselineShift,\n };\n }\n\n public static create(props?: Omit<TextRunProps, \"type\">): TextRun {\n return new TextRun({ ...props, type: \"text\" });\n }\n\n public override get isEmpty(): boolean {\n return this.stringify().length === 0;\n }\n\n /** Simply returns [[content]]. */\n public override stringify(): string {\n return this.content;\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return other instanceof TextRun && this.content === other.content && this.baselineShift === other.baselineShift && super.equals(other);\n }\n}\n\n/** JSON representation of a [[FractionRun]].\n * @beta\n */\nexport interface FractionRunProps extends TextBlockComponentProps {\n /** Discriminator field for the [[RunProps]] union. */\n readonly type: \"fraction\";\n /** The text displayed before or above the fraction separator, depending on [[TextStyleSettings.stackedFractionType]]. Default: an empty string. */\n numerator?: string;\n /** The text displayed after or below the fraction separator, depending on [[TextStyleSettings.stackedFractionType]]. Default: an empty string. */\n denominator?: string;\n}\n\n/** A [[Run]] containing a numeric ratio to be displayed as a numerator and denominator separated by a horizontal or diagonal bar.\n * @note The [[numerator]] and [[denominator]] are stored as strings. They are not technically required to contain a numeric representation.\n * @beta\n */\nexport class FractionRun extends TextBlockComponent {\n /** Discriminator field for the [[Run]] union. */\n public readonly type = \"fraction\";\n /** The fraction's numerator. */\n public numerator: string;\n /** The fraction's denominator. */\n public denominator: string;\n\n private constructor(props: FractionRunProps) {\n super(props);\n this.numerator = props?.numerator ?? \"\";\n this.denominator = props?.denominator ?? \"\";\n }\n\n public override toJSON(): FractionRunProps {\n return {\n ...super.toJSON(),\n type: \"fraction\",\n numerator: this.numerator,\n denominator: this.denominator,\n };\n }\n\n public override clone(): FractionRun {\n return new FractionRun(this.toJSON());\n }\n\n public static create(props?: Omit<FractionRunProps, \"type\">): FractionRun {\n return new FractionRun({ ...props, type: \"fraction\" });\n }\n\n public override get isEmpty(): boolean {\n return this.stringify().length === 0;\n }\n\n /** Formats the fraction as a string with the [[numerator]] and [[denominator]] separated by [[TextBlockStringifyOptions.fractionSeparator]]. */\n public override stringify(options?: TextBlockStringifyOptions): string {\n const sep = options?.fractionSeparator ?? \"/\";\n return `${this.numerator}${sep}${this.denominator}`;\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return other instanceof FractionRun && this.numerator === other.numerator && this.denominator === other.denominator && super.equals(other);\n }\n}\n\n/** JSON representation of a [[LineBreakRun]].\n * @beta\n */\nexport interface LineBreakRunProps extends TextBlockComponentProps {\n /** Discriminator field for the [[RunProps]] union. */\n readonly type: \"linebreak\";\n}\n\n/** A [[Run]] that represents the end of a line of text within a [[Paragraph]]. It contains no content of its own - it simply causes subsequent content to display on a new line.\n * @beta\n */\nexport class LineBreakRun extends TextBlockComponent {\n /** Discriminator field for the [[Run]] union. */\n public readonly type = \"linebreak\";\n\n private constructor(props: LineBreakRunProps) {\n super(props);\n }\n\n public override toJSON(): LineBreakRunProps {\n return {\n ...super.toJSON(),\n type: \"linebreak\",\n };\n }\n\n public static create(props?: Omit<LineBreakRunProps, \"type\">) {\n return new LineBreakRun({ ...props, type: \"linebreak\" });\n }\n\n public override clone(): LineBreakRun {\n return new LineBreakRun(this.toJSON());\n }\n\n public override get isEmpty(): boolean {\n return this.stringify().length === 0;\n }\n\n /** Simply returns [[TextBlockStringifyOptions.lineBreak]]. */\n public override stringify(options?: TextBlockStringifyOptions): string {\n return options?.lineBreak ?? \" \";\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return other instanceof LineBreakRun && super.equals(other);\n }\n}\n\n/** JSON representation of a [[TabRun]].\n * @beta\n */\nexport interface TabRunProps extends TextBlockComponentProps {\n /** Discriminator field for the [[RunProps]] union. */\n readonly type: \"tab\";\n}\n\n/** A [[TabRun]] is used to shift the next tab stop.\n * @note Only left-justified tabs are supported at this tab.\n * @beta\n */\nexport class TabRun extends TextBlockComponent {\n /** Discriminator field for the [[Run]] union. */\n public readonly type = \"tab\";\n\n public override toJSON(): TabRunProps {\n return {\n ...super.toJSON(),\n type: \"tab\",\n };\n }\n\n public override clone(): TabRun {\n return new TabRun(this.toJSON());\n }\n\n public static create(props?: Omit<TabRunProps, \"type\">): TabRun {\n return new TabRun(props);\n }\n\n public override get isEmpty(): boolean {\n return this.stringify().length === 0;\n }\n\n /**\n * Converts a [[TabRun]] to its string representation.\n * If the `tabsAsSpaces` option is provided, returns a string of spaces of the specified length.\n * Otherwise, returns a tab character (\"\\t\").\n */\n public override stringify(options?: TextBlockStringifyOptions): string {\n if (options?.tabsAsSpaces) {\n return \" \".repeat(options.tabsAsSpaces);\n }\n\n return \"\\t\";\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return other instanceof TabRun && super.equals(other);\n }\n}\n\n/** JSON representation of a [[FieldRun]].\n * @beta\n */\nexport interface FieldRunProps extends TextBlockComponentProps {\n /** Discriminator field for the [[RunProps]] union. */\n readonly type: \"field\";\n /** The element and BIS class containing the property described by [[propertyPath]]. */\n propertyHost: FieldPropertyHost;\n /** Describes how to obtain the property value from [[propertyHost]]. */\n propertyPath: FieldPropertyPath;\n /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].\n * The specific options used depend upon the field's [[propertyType]].\n */\n formatOptions?: FieldFormatOptions;\n /** The field's most recently evaluated display string.\n * @note It is unnecessary to specify this when creating a field as part of an element like a [[TextAnnotation2d]], because\n * all of the element's fields will be re-evaluated when inserting or updating the element in the iModel.\n */\n cachedContent?: string;\n}\n\n/** A [[Run]] that displays the formatted value of a property of some [Element]($backend).\n * When a [[TextBlock]] containing a [[FieldRun]] is written into the iModel as an [ITextAnnotation]($backend) element,\n * a dependency is established between the two elements via the [ElementDrivesTextAnnotation]($backend) relationship such that\n * whenever the source element specified by [[propertyHost]] is modified or the `ITextAnnotation` element is inserted or updated in the iModel,\n * the field(s) in the `ITextAnnotation` element are automatically\n * recalculated, causing their [[cachedContent]] to update. If the field's display string cannot be evaluated (for example, because the specified element or\n * property does not exist), then its cached content is set to [[FieldRun.invalidContentIndicator]].\n * A [[FieldRun]] displays its [[cachedContent]] in the same way that [[TextRun]]s display their `content`, including word wrapping where appropriate.\n * @beta\n */\nexport class FieldRun extends TextBlockComponent {\n /** Display string used to signal an error in computing the field's value. */\n public static invalidContentIndicator = \"####\";\n\n /** Discriminator field for the [[Run]] union. */\n public readonly type = \"field\";\n /** The element and BIS class containing the property described by [[propertyPath]]. */\n public propertyHost: FieldPropertyHost;\n /** Describes how to obtain the property value from [[propertyHost]]. */\n public propertyPath: FieldPropertyPath;\n /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].\n * The specific options used depend upon the [[FieldPropertyType]].\n */\n public formatOptions?: FieldFormatOptions;\n private _cachedContent: string;\n\n /** The field's most recently evaluated display string. */\n public get cachedContent(): string {\n return this._cachedContent;\n }\n\n /** @internal Used by core-backend when re-evaluating field content. */\n public setCachedContent(content: string | undefined): void {\n this._cachedContent = content ?? FieldRun.invalidContentIndicator;\n }\n\n private constructor(props: FieldRunProps) {\n super(props);\n\n this._cachedContent = props.cachedContent ?? FieldRun.invalidContentIndicator;\n this.propertyHost = props.propertyHost\n this.propertyPath = props.propertyPath;\n this.formatOptions = props.formatOptions;\n }\n\n /** Create a FieldRun from its JSON representation. */\n public static create(props: Omit<FieldRunProps, \"type\">): FieldRun {\n return new FieldRun({\n ...props,\n propertyHost: { ...props.propertyHost },\n propertyPath: structuredClone(props.propertyPath),\n formatOptions: structuredClone(props.formatOptions),\n type: \"field\",\n });\n }\n\n /** Convert the FieldRun to its JSON representation. */\n public override toJSON(): FieldRunProps {\n const json: FieldRunProps = {\n ...super.toJSON(),\n type: \"field\",\n propertyHost: { ...this.propertyHost },\n propertyPath: structuredClone(this.propertyPath),\n };\n\n if (this.cachedContent !== FieldRun.invalidContentIndicator) {\n json.cachedContent = this.cachedContent;\n }\n\n if (this.formatOptions) {\n json.formatOptions = structuredClone(this.formatOptions);\n }\n\n return json;\n }\n\n /** Create a deep copy of this FieldRun. */\n public override clone(): FieldRun {\n return new FieldRun(this.toJSON());\n }\n\n public override get isEmpty(): boolean {\n return this.stringify().length === 0;\n }\n\n /** Convert this FieldRun to a simple string representation. */\n public override stringify(): string {\n return this.cachedContent;\n }\n\n /** Returns true if `this` is equivalent to `other`. */\n public override equals(other: TextBlockComponent): boolean {\n if (!(other instanceof FieldRun) || !super.equals(other)) {\n return false;\n }\n\n if (\n this.propertyHost.elementId !== other.propertyHost.elementId ||\n this.propertyHost.className !== other.propertyHost.className ||\n this.propertyHost.schemaName !== other.propertyHost.schemaName\n ) {\n return false;\n }\n\n if (this.propertyPath.propertyName !== other.propertyPath.propertyName) {\n return false;\n }\n\n const thisAccessors = this.propertyPath.accessors ?? [];\n const otherAccessors = other.propertyPath.accessors ?? [];\n\n if (thisAccessors.length !== otherAccessors.length) {\n return false;\n }\n\n if (!thisAccessors.every((value, index) => value === otherAccessors[index])) {\n return false;\n }\n\n if (this.formatOptions && other.formatOptions) {\n // We anticipate new formatting options being added in the future.\n // So to account for properties we don't know about, just compare the string representations.\n if (JSON.stringify(this.formatOptions) !== JSON.stringify(other.formatOptions)) {\n return false;\n }\n } else if (this.formatOptions || other.formatOptions) {\n return false;\n }\n\n return true;\n }\n}\n\n/** JSON representation of a [[Paragraph]].\n * @beta\n */\nexport interface ParagraphProps extends TextBlockComponentProps {\n children?: Array<ListProps | RunProps>;\n}\n\n/** A collection of [[Run]]s and [[List]]s. Paragraphs can be appended to [[List]]s and [[TextBlock]]s.\n * Each paragraph is laid out on a separate line. If included in a [[List]], the paragraph will be treated as a list item.\n * @beta\n */\nexport class Paragraph extends TextBlockComponent {\n public readonly type = \"paragraph\";\n public readonly children: Array<List | Run>;\n\n private constructor(props?: ParagraphProps) {\n super(props);\n\n this.children = props?.children?.map((child) =>\n child.type === \"list\" ? List.create(child) : Run.fromJSON(child)\n ) ?? [];\n }\n\n /** Create a paragraph from its JSON representation. */\n public static create(props?: Omit<ParagraphProps, \"type\">): Paragraph {\n return new Paragraph(props);\n }\n\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\n clearStyleOverrides(this, options);\n }\n\n public override get isEmpty() {\n return this.children.length === 0;\n }\n\n public override clone(): Paragraph {\n return new Paragraph(this.toJSON());\n }\n\n public override toJSON(): ParagraphProps {\n return {\n ...super.toJSON(),\n children: this.children.map((child) => child.toJSON()),\n };\n }\n\n /** Compute a string representation of this paragraph by concatenating the string representations of all of its children. */\n public override stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string {\n return this.children.map((x, index) => (index > 0 && x.type === \"list\") ? `${options?.paragraphBreak ?? \" \"}${x.stringify(options, context)}` : x.stringify(options, context)).join(\"\") ?? \"\";\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return (other instanceof Paragraph) && super.equals(other);\n }\n}\n\n/** JSON representation of a [[List]].\n * @beta\n */\nexport interface ListProps extends TextBlockComponentProps {\n readonly type: \"list\";\n children?: ParagraphProps[];\n}\n\n/** A collection of list items ([[Paragraph]]s). Lists can be appended to [[Paragraph]]s.\n * Lists will be laid out on a new line. Each item in a list is laid out on a separate line.\n * @beta\n */\nexport class List extends TextBlockComponent {\n public readonly type = \"list\";\n public readonly children: Paragraph[];\n\n protected constructor(props?: ListProps) {\n super(props);\n\n this.children = props?.children?.map((child) => Paragraph.create(child)) ?? [];\n }\n\n /** Create a list from its JSON representation. */\n public static create(props?: Omit<ListProps, \"type\">): List {\n return new List({ ...props, type: \"list\" });\n }\n\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\n clearStyleOverrides(this, options);\n }\n\n public override get isEmpty() {\n return this.children.length === 0;\n }\n\n public override clone(): List {\n return new List(this.toJSON());\n }\n\n public override toJSON(): ListProps {\n return {\n ...super.toJSON(),\n type: \"list\",\n children: this.children.map((run) => run.toJSON()),\n };\n }\n\n /** Compute a string representation of this list by concatenating the string representations of all of its [[children]]. */\n public override stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string {\n const children = this.children.map((x, index) => {\n const depth = context?.depth ?? 0;\n const marker = getMarkerText(this.styleOverrides.listMarker ?? TextStyleSettings.defaultProps.listMarker, index + 1);\n const tab = (options?.tabsAsSpaces ? \" \".repeat(options.tabsAsSpaces) : \"\\t\").repeat(depth);\n return `${tab}${marker}${options?.listMarkerBreak ?? \" \"}${x.stringify(options, { depth: depth + 1 })}`;\n });\n return children.join(options?.paragraphBreak ?? \" \") ?? \"\";\n }\n\n public override equals(other: TextBlockComponent): boolean {\n return (other instanceof List) && super.equals(other);\n }\n}\n\n/** JSON representation of a [[TextBlock]].\n * @beta\n */\nexport interface TextBlockProps extends TextBlockComponentProps {\n /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.\n * A value less than or equal to zero indicates no wrapping is to be applied.\n * Default: 0\n */\n width?: number;\n children?: ParagraphProps[];\n}\n\n/** Represents a formatted text document consisting of a series of [[Paragraph]]s, each laid out on a separate line and containing their own content.\n * No word-wrapping is applied to the document unless a [[width]] greater than zero is specified.\n * @see [[TextAnnotation]] to position a text block as an annotation in 2d or 3d space.\n * @beta\n */\nexport class TextBlock extends TextBlockComponent {\n public readonly children: Paragraph[];\n\n /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.\n * A value less than or equal to zero indicates no wrapping is to be applied.\n * Default: 0\n */\n public width: number;\n\n private constructor(props: TextBlockProps) {\n super(props);\n this.width = props.width ?? 0;\n\n this.children = props?.children?.map((para) => Paragraph.create(para)) ?? [];\n }\n\n public override clearStyleOverrides(options?: ClearTextStyleOptions): void {\n clearStyleOverrides(this, options);\n }\n\n public override toJSON(): TextBlockProps {\n return {\n ...super.toJSON(),\n width: this.width,\n children: this.children.map((x) => x.toJSON()),\n };\n }\n\n /** Create a text block from its JSON representation. */\n public static create(props?: Omit<TextBlockProps, \"type\">): TextBlock {\n return new TextBlock(props ?? {});\n }\n\n /** Returns true if every paragraph in this text block is empty. */\n public override get isEmpty(): boolean {\n return !this.children || this.children.every((child) => child.isEmpty);\n }\n\n public override clone(): TextBlock {\n return new TextBlock(this.toJSON());\n }\n\n /** Compute a string representation of the document's contents by concatenating the string representations of each of its [[children]], separated by [[TextBlockStringifyOptions.paragraphBreak]]. */\n public stringify(options?: TextBlockStringifyOptions): string {\n return this.children.map((x) => x.stringify(options)).join(options?.paragraphBreak ?? \" \") || \"\";\n }\n\n /** Add and return a new paragraph.\n * By default, the paragraph will be created with no [[styleOverrides]], so that it inherits the style of this block.\n * @param seedFromLast If true and [[children]] is not empty, the new paragraph will inherit the style overrides of the last child in this block.\n * @note Be sure you pass in [[ParagraphProps]] and not [[Paragraph]] or style overrides will be ignored.\n */\n public appendParagraph(props?: ParagraphProps, seedFromLast = false): Paragraph {\n const seed = seedFromLast ? this.children[this.children.length - 1] : undefined;\n const styleOverrides = { ...seed?.styleOverrides, ...props?.styleOverrides };\n const paragraph = Paragraph.create({ ...props, styleOverrides });\n this.children.push(paragraph);\n return paragraph;\n }\n\n /** Append a run to the last [[Paragraph]] in this block.\n * If the block contains no [[children]], a new [[Paragraph]] will first be created using [[appendParagraph]].\n */\n public appendRun(run: Run): void {\n const paragraph = this.children[this.children.length - 1] ?? this.appendParagraph();\n paragraph.children.push(run);\n }\n\n public override equals(other: TextBlockComponent): boolean {\n if (!(other instanceof TextBlock)) {\n return false;\n }\n\n if (!super.equals(other)) {\n return false;\n }\n\n if (this.width !== other.width) {\n return false;\n }\n\n if (this.children && other.children) {\n if (this.children.length !== other.children.length) {\n return false;\n }\n\n return this.children.every((child, index) => other.children && child.equals(other.children[index]));\n }\n\n return true;\n }\n}\n\n/**\n * A union of all the [[TextBlockComponent]]s that can contain other components.\n * @beta\n */\nexport type StructuralTextBlockComponent = List | Paragraph | TextBlock;\n\n/**\n * Recursively traverses a [[StructuralTextBlockComponent]] tree, yielding each child component along with its parent container.\n * This generator enables depth-first iteration over all components in a text block structure, including paragraphs, lists, and runs.\n *\n * @param parent The root container whose children should be traversed.\n * @returns An IterableIterator yielding objects with the child component and its parent container.\n * @beta\n */\nexport function* traverseTextBlockComponent(parent: StructuralTextBlockComponent): IterableIterator<{ parent: StructuralTextBlockComponent, child: List | Paragraph | Run }> {\n for (const child of parent.children) {\n yield { parent, child };\n if (child.type === \"list\" || child.type === \"paragraph\") {\n yield* traverseTextBlockComponent(child);\n }\n }\n}\n\n/**\n * Returns the formatted marker text for a list item based on the marker type and item number.\n * Supports ordered and unordered list markers, including alphabetic, Roman numeral, and numeric formats.\n * @param marker The type of list marker to use.\n * @param num The item number in the list.\n * @returns The formatted marker string for the list item.\n * @beta\n */\nexport function getMarkerText(marker: ListMarker, num: number): string {\n let markerString = \"\";\n\n switch (marker.enumerator) {\n case undefined:\n case ListMarkerEnumerator.Number:\n markerString = `${num}`;\n break;\n case ListMarkerEnumerator.Letter:\n markerString = integerToAlpha(num);\n break;\n case ListMarkerEnumerator.RomanNumeral:\n markerString = integerToRoman(num);\n break;\n default:\n markerString = marker.enumerator;\n break;\n }\n\n if (marker.case) {\n markerString = marker.case === \"upper\" ? markerString.toUpperCase() : markerString.toLowerCase();\n }\n\n const terminator = marker.terminator === \"period\" ? \".\" : marker.terminator === \"parenthesis\" ? \")\" : \"\";\n\n return `${markerString}${terminator}`;\n}\n\n/**\n * Converts an integer to its Roman numeral representation.\n * Supports numbers from 1 and above.\n * @param num The integer to convert.\n * @returns The Roman numeral string.\n */\nfunction integerToRoman(num: number): string {\n const values =\n [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];\n const symbols =\n ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];\n let roman = '';\n for (let i = 0; i < values.length; i++) {\n while (num >= values[i]) {\n roman += symbols[i];\n num -= values[i];\n }\n }\n\n return roman;\n}\n\n/**\n * Converts an integer to its alphabetic representation (A-Z, AA-ZZ, etc.).\n * Used for ordered list markers with alphabetic styles.\n * @param num The integer to convert (1-based).\n * @returns The alphabetic string for the given number.\n */\nfunction integerToAlpha(num: number): string {\n const letterOffset = (num - 1) % 26;\n const letter = String.fromCharCode(65 + letterOffset);\n const depth = Math.ceil(num / 26);\n return letter.repeat(depth);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlockGeometryProps.js","sourceRoot":"","sources":["../../../src/annotation/TextBlockGeometryProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\r\n */\r\n\r\nimport { XYZProps } from \"@itwin/core-geometry\";\r\nimport { TextStringProps } from \"../geometry/TextString\";\r\nimport { TextStyleColor } from \"./TextStyle\";\r\n\r\n/**\r\n * A single entry in a [[TextBlockGeometryProps]], representing one of the following primitive types:\r\n * - A [[TextString]],\r\n * - A fraction separator described by a [LineSegment3d]($geometry), or\r\n * - A change in color, to be applied to all subsequent primitives.\r\n * @beta\r\n */\r\nexport type TextBlockGeometryPropsEntry = {\r\n text: TextStringProps;\r\n separator?: never;\r\n color?: never;\r\n} | {\r\n text?: never;\r\n separator: {\r\n startPoint: XYZProps;\r\n endPoint: XYZProps;\r\n };\r\n color?: never;\r\n} | {\r\n text?: never;\r\n separator?: never;\r\n color: TextStyleColor;\r\n};\r\n\r\n/**\r\n * JSON representation of the geometric primitives that can be used to display a [[TextBlock]].\r\n * @see [appendTextAnnotationGeometry]($backend) to convert an annotation to its geometric representation.\r\n * @see [[GeometryStreamBuilder.appendTextBlock]] to add a block of text to a [GeometryStream]($docs/learning/common/GeometryStream.md).\r\n * @beta\r\n */\r\nexport interface TextBlockGeometryProps {\r\n /** The set of geometric primitives representing the contents of the [[TextBlock]]. */\r\n entries: TextBlockGeometryPropsEntry[];\r\n}\r\n"]}
1
+ {"version":3,"file":"TextBlockGeometryProps.js","sourceRoot":"","sources":["../../../src/annotation/TextBlockGeometryProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\n */\n\nimport { XYZProps } from \"@itwin/core-geometry\";\nimport { TextStringProps } from \"../geometry/TextString\";\nimport { TextStyleColor } from \"./TextStyle\";\n\n/**\n * A single entry in a [[TextBlockGeometryProps]], representing one of the following primitive types:\n * - A [[TextString]],\n * - A fraction separator described by a [LineSegment3d]($geometry), or\n * - A change in color, to be applied to all subsequent primitives.\n * @beta\n */\nexport type TextBlockGeometryPropsEntry = {\n text: TextStringProps;\n separator?: never;\n color?: never;\n} | {\n text?: never;\n separator: {\n startPoint: XYZProps;\n endPoint: XYZProps;\n };\n color?: never;\n} | {\n text?: never;\n separator?: never;\n color: TextStyleColor;\n};\n\n/**\n * JSON representation of the geometric primitives that can be used to display a [[TextBlock]].\n * @see [appendTextAnnotationGeometry]($backend) to convert an annotation to its geometric representation.\n * @see [[GeometryStreamBuilder.appendTextBlock]] to add a block of text to a [GeometryStream]($docs/learning/common/GeometryStream.md).\n * @beta\n */\nexport interface TextBlockGeometryProps {\n /** The set of geometric primitives representing the contents of the [[TextBlock]]. */\n entries: TextBlockGeometryPropsEntry[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlockLayoutResult.js","sourceRoot":"","sources":["../../../src/annotation/TextBlockLayoutResult.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\r\n */\r\n\r\nimport { Range2dProps, XAndY } from \"@itwin/core-geometry\";\r\nimport { FontId } from \"../Fonts\";\r\nimport { TextStyleSettingsProps } from \"./TextStyle\";\r\n\r\n/**\r\n * Represents a single run in a [[LineLayoutResult]].\r\n * @note Get the text content of the RunLayoutResult using a combination of the `sourceRunIndex`, `characterOffset`, and `characterCount`.\r\n * @beta\r\n */\r\nexport interface RunLayoutResult {\r\n /** The ID of the font for the run. */\r\n fontId: FontId;\r\n /**\r\n * The number of characters from the source [[Run]] that have already appeared in the layout.\r\n * @note A single source [[TextRun]] can be split into multiple lines to respect the [[TextBlock.width]].\r\n */\r\n characterOffset: number;\r\n /** The number of characters in the RunLayoutResult. */\r\n characterCount: number;\r\n /** The offset of the RunLayoutResult from the top and left of the [[LineLayoutResult]] */\r\n offsetFromLine: XAndY;\r\n /** Bounding box enclosing this RunLayoutResult's content. */\r\n range: Range2dProps;\r\n /** The resolved [[TextStyleSettings]] for the run. Takes into account overrides and styles on the parent classes. */\r\n textStyle: TextStyleSettingsProps;\r\n /** Bounding box used when justifying the run. This may be smaller than [[range]]. */\r\n justificationRange?: Range2dProps;\r\n /** The range containing the contents of the [[FractionRun]]'s numerator. */\r\n numeratorRange?: Range2dProps;\r\n /** The range containing the contents of the [[FractionRun]]'s denominator. */\r\n denominatorRange?: Range2dProps;\r\n}\r\n\r\n/**\r\n * Represents a single line in a [[TextBlockLayoutResult]].\r\n * @beta\r\n */\r\nexport interface LineLayoutResult {\r\n /** The runs contained in the line. */\r\n runs: RunLayoutResult[];\r\n /** The marker run for the line, if any */\r\n marker: RunLayoutResult | undefined;\r\n /** The range of all the runs (including the marker) contained in the line. */\r\n range: Range2dProps;\r\n /** Bounding box used when justifying the line. This may be smaller than [[range]]. */\r\n justificationRange: Range2dProps;\r\n /** The offset of the line from the top and left of the [[TextBlock]]. */\r\n offsetFromDocument: XAndY;\r\n}\r\n\r\n/**\r\n * Represents the result of laying out a [[TextBlock]]'s contents into a series of lines containing runs.\r\n * @see [computeLayoutTextBlockResult]($backend) to lay out a `TextBlock`.\r\n * @beta\r\n */\r\nexport interface TextBlockLayoutResult {\r\n /** The laid out lines of a [[TextBlock]]. */\r\n lines: LineLayoutResult[];\r\n /** The range containing the contents of a [[TextBlock]]. */\r\n range: Range2dProps;\r\n}\r\n"]}
1
+ {"version":3,"file":"TextBlockLayoutResult.js","sourceRoot":"","sources":["../../../src/annotation/TextBlockLayoutResult.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\n */\n\nimport { Range2dProps, XAndY } from \"@itwin/core-geometry\";\nimport { FontId } from \"../Fonts\";\nimport { TextStyleSettingsProps } from \"./TextStyle\";\n\n/**\n * Represents a single run in a [[LineLayoutResult]].\n * @note Get the text content of the RunLayoutResult using a combination of the `sourceRunIndex`, `characterOffset`, and `characterCount`.\n * @beta\n */\nexport interface RunLayoutResult {\n /** The ID of the font for the run. */\n fontId: FontId;\n /**\n * The number of characters from the source [[Run]] that have already appeared in the layout.\n * @note A single source [[TextRun]] can be split into multiple lines to respect the [[TextBlock.width]].\n */\n characterOffset: number;\n /** The number of characters in the RunLayoutResult. */\n characterCount: number;\n /** The offset of the RunLayoutResult from the top and left of the [[LineLayoutResult]] */\n offsetFromLine: XAndY;\n /** Bounding box enclosing this RunLayoutResult's content. */\n range: Range2dProps;\n /** The resolved [[TextStyleSettings]] for the run. Takes into account overrides and styles on the parent classes. */\n textStyle: TextStyleSettingsProps;\n /** Bounding box used when justifying the run. This may be smaller than [[range]]. */\n justificationRange?: Range2dProps;\n /** The range containing the contents of the [[FractionRun]]'s numerator. */\n numeratorRange?: Range2dProps;\n /** The range containing the contents of the [[FractionRun]]'s denominator. */\n denominatorRange?: Range2dProps;\n}\n\n/**\n * Represents a single line in a [[TextBlockLayoutResult]].\n * @beta\n */\nexport interface LineLayoutResult {\n /** The runs contained in the line. */\n runs: RunLayoutResult[];\n /** The marker run for the line, if any */\n marker: RunLayoutResult | undefined;\n /** The range of all the runs (including the marker) contained in the line. */\n range: Range2dProps;\n /** Bounding box used when justifying the line. This may be smaller than [[range]]. */\n justificationRange: Range2dProps;\n /** The offset of the line from the top and left of the [[TextBlock]]. */\n offsetFromDocument: XAndY;\n}\n\n/**\n * Represents the result of laying out a [[TextBlock]]'s contents into a series of lines containing runs.\n * @see [computeLayoutTextBlockResult]($backend) to lay out a `TextBlock`.\n * @beta\n */\nexport interface TextBlockLayoutResult {\n /** The laid out lines of a [[TextBlock]]. */\n lines: LineLayoutResult[];\n /** The range containing the contents of a [[TextBlock]]. */\n range: Range2dProps;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/annotation/TextField.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\n\r\n/** Enumerates the different kinds of [Property]($ecschema-metadata) values that can be used as the basis for a [[FieldRun]]'s display string.\r\n * A field's property type is derived from the property's [PrimitiveType]($ecschema-metadata) and other attributes like its [PrimitiveOrEnumPropertyBase.extendedTypeName]($ecschema-metadata).\r\n * The conversion of the raw property value into a display string can be customized by different [[FieldFormatOptions]] based on its type.\r\n * The following types are currently recognized:\r\n * - \"quantity\": an often-unitized scalar value like a distance or area, formatted using a quantity [Format]($core-quantity).\r\n * - \"coordinate\": a 2- or 3-dimensional point, with each component formatted as a \"quantity\".\r\n * - \"boolean\": a true or false value.\r\n * - \"datetime\": an ECMAScript [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).\r\n * - \"int-enum\": an integer [EnumerationProperty]($ecschema-metadata) formatted using the enum value's display label.\r\n * - \"string-enum\": a string [EnumerationProperty]($ecschema-metadata) formatted using the enum value's display label.\r\n * - \"string\": a value convertible to a string.\r\n * @note Currently, only formatting of \"string\" and \"datetime\" types is implemented. Other types are converted to and formatted as \"string\".\r\n * @beta\r\n */\r\nexport type FieldPropertyType = \"quantity\" | \"coordinate\" | \"string\" | \"boolean\" | \"datetime\" | \"int-enum\" | \"string-enum\";\r\n\r\n/** A chain of property accesses that resolves to a primitive value that forms the basis of the displayed content\r\n * of a [[FieldRun]].\r\n * The simplest property paths consist of a [[propertyName]] and nothing else, where `propertyName` identifies\r\n * a primitive property.\r\n * If `propertyName` identifies a struct or array property, then additional [[accessors]] are required to identify the specific value.\r\n * Some examples:\r\n * ```\r\n * | Access String | propertyName | accessors |\r\n * | ------------- | ------------ | --------- |\r\n * | name | \"name\" | undefined |\r\n * | spouse.name | \"spouse\" | [name] |\r\n * | colors[2] | \"colors\" | [2] |\r\n * | spouse.favoriteRestaurants[1].address | \"spouse\" | [\"favoriteRestaurants\", 1, \"address\"] |\r\n * ```\r\n * @beta\r\n */\r\nexport interface FieldPropertyPath {\r\n /** The name of the BIS property of the [[FieldPropertyHost]] that serves as the root of the path. */\r\n propertyName: string;\r\n /** Property names and/or array indices describing the path from [[propertyName]] to the ultimate BIS property. */\r\n accessors?: Array<string | number>;\r\n}\r\n\r\n/** Describes the source of the property value against which a [[FieldPropertyPath]] is evaluated.\r\n * A field property is always hosted by an [Element]($backend). It may refer to a property belonging to any of the following:\r\n * - The element's BIS class itself;\r\n * - One of the element's [ElementAspect]($backend)s;\r\n * - Or an [EC view]($docs/learning/ECSqlReference/Views.md) with the same ECInstanceId as the element.\r\n * The [[schemaName]] and [[className]] should always identify the exact class that contains [[FieldPropertyPath.propertyName]] - not a subclass thereof.\r\n * @beta\r\n */\r\nexport interface FieldPropertyHost {\r\n /** The Id of the [Element]($backend) that hosts the property. */\r\n elementId: Id64String;\r\n /** The name of the schema containing the class identified by [[className]]. */\r\n schemaName: string;\r\n /** The name of the exact class (not a subclass) containing the property identified by [[FieldPropertyPath.propertyName]]. */\r\n className: string;\r\n}\r\n\r\n/** As part of [[FieldFormatOptions]], specifies how to modify the case of the display string.\r\n * \"as-is\" leaves it unmodified. \"upper\" and \"lower\" convert it to all upper-case or all lower-case, respectively.\r\n * @beta\r\n */\r\nexport type FieldCase = \"as-is\" | \"upper\" | \"lower\";\r\n\r\n/** As part of a [[FieldFormatOptions]], specifies how to format properties of [[FieldPropertyType]] \"datetime\".\r\n * @beta\r\n */\r\nexport interface DateTimeFieldFormatOptions {\r\n /** The locale with which to localize the display string.\r\n * Default: \"en-US\".\r\n */\r\n locale?: Intl.UnicodeBCP47LocaleIdentifier;\r\n /** Describes how to produce the display string. */\r\n formatOptions?: Intl.DateTimeFormatOptions;\r\n}\r\n\r\n/** Customizes how to format the raw property value resolved by a [[FieldPropertyPath]] into a [[FieldRun]]'s display string.\r\n * The exact options used depend upon the [[FieldPropertyType]].\r\n * @beta\r\n */\r\nexport interface FieldFormatOptions {\r\n /** A string inserted before the formatted string. This string is not affected by [[case]]. */\r\n prefix?: string;\r\n /** A string inserted after the formatted string. This string is not affected by [[case]]. */\r\n suffix?: string;\r\n /** Modifies the case of the formatted string. */\r\n case?: FieldCase;\r\n /** Formatting options for [[FieldPropertyType]] \"datetime\". */\r\n dateTime?: DateTimeFieldFormatOptions;\r\n}\r\n"]}
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../src/annotation/TextField.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Annotation\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\n\n/** Enumerates the different kinds of [Property]($ecschema-metadata) values that can be used as the basis for a [[FieldRun]]'s display string.\n * A field's property type is derived from the property's [PrimitiveType]($ecschema-metadata) and other attributes like its [PrimitiveOrEnumPropertyBase.extendedTypeName]($ecschema-metadata).\n * The conversion of the raw property value into a display string can be customized by different [[FieldFormatOptions]] based on its type.\n * The following types are currently recognized:\n * - \"quantity\": an often-unitized scalar value like a distance or area, formatted using a quantity [Format]($core-quantity).\n * - \"coordinate\": a 2- or 3-dimensional point, with each component formatted as a \"quantity\".\n * - \"boolean\": a true or false value.\n * - \"datetime\": an ECMAScript [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date).\n * - \"int-enum\": an integer [EnumerationProperty]($ecschema-metadata) formatted using the enum value's display label.\n * - \"string-enum\": a string [EnumerationProperty]($ecschema-metadata) formatted using the enum value's display label.\n * - \"string\": a value convertible to a string.\n * @note Currently, only formatting of \"string\" and \"datetime\" types is implemented. Other types are converted to and formatted as \"string\".\n * @beta\n */\nexport type FieldPropertyType = \"quantity\" | \"coordinate\" | \"string\" | \"boolean\" | \"datetime\" | \"int-enum\" | \"string-enum\";\n\n/** A chain of property accesses that resolves to a primitive value that forms the basis of the displayed content\n * of a [[FieldRun]].\n * The simplest property paths consist of a [[propertyName]] and nothing else, where `propertyName` identifies\n * a primitive property.\n * If `propertyName` identifies a struct or array property, then additional [[accessors]] are required to identify the specific value.\n * Some examples:\n * ```\n * | Access String | propertyName | accessors |\n * | ------------- | ------------ | --------- |\n * | name | \"name\" | undefined |\n * | spouse.name | \"spouse\" | [name] |\n * | colors[2] | \"colors\" | [2] |\n * | spouse.favoriteRestaurants[1].address | \"spouse\" | [\"favoriteRestaurants\", 1, \"address\"] |\n * ```\n * @beta\n */\nexport interface FieldPropertyPath {\n /** The name of the BIS property of the [[FieldPropertyHost]] that serves as the root of the path. */\n propertyName: string;\n /** Property names and/or array indices describing the path from [[propertyName]] to the ultimate BIS property. */\n accessors?: Array<string | number>;\n}\n\n/** Describes the source of the property value against which a [[FieldPropertyPath]] is evaluated.\n * A field property is always hosted by an [Element]($backend). It may refer to a property belonging to any of the following:\n * - The element's BIS class itself;\n * - One of the element's [ElementAspect]($backend)s;\n * - Or an [EC view]($docs/learning/ECSqlReference/Views.md) with the same ECInstanceId as the element.\n * The [[schemaName]] and [[className]] should always identify the exact class that contains [[FieldPropertyPath.propertyName]] - not a subclass thereof.\n * @beta\n */\nexport interface FieldPropertyHost {\n /** The Id of the [Element]($backend) that hosts the property. */\n elementId: Id64String;\n /** The name of the schema containing the class identified by [[className]]. */\n schemaName: string;\n /** The name of the exact class (not a subclass) containing the property identified by [[FieldPropertyPath.propertyName]]. */\n className: string;\n}\n\n/** As part of [[FieldFormatOptions]], specifies how to modify the case of the display string.\n * \"as-is\" leaves it unmodified. \"upper\" and \"lower\" convert it to all upper-case or all lower-case, respectively.\n * @beta\n */\nexport type FieldCase = \"as-is\" | \"upper\" | \"lower\";\n\n/** As part of a [[FieldFormatOptions]], specifies how to format properties of [[FieldPropertyType]] \"datetime\".\n * @beta\n */\nexport interface DateTimeFieldFormatOptions {\n /** The locale with which to localize the display string.\n * Default: \"en-US\".\n */\n locale?: Intl.UnicodeBCP47LocaleIdentifier;\n /** Describes how to produce the display string. */\n formatOptions?: Intl.DateTimeFormatOptions;\n}\n\n/** Customizes how to format the raw property value resolved by a [[FieldPropertyPath]] into a [[FieldRun]]'s display string.\n * The exact options used depend upon the [[FieldPropertyType]].\n * @beta\n */\nexport interface FieldFormatOptions {\n /** A string inserted before the formatted string. This string is not affected by [[case]]. */\n prefix?: string;\n /** A string inserted after the formatted string. This string is not affected by [[case]]. */\n suffix?: string;\n /** Modifies the case of the formatted string. */\n case?: FieldCase;\n /** Formatting options for [[FieldPropertyType]] \"datetime\". */\n dateTime?: DateTimeFieldFormatOptions;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TextStyle.js","sourceRoot":"","sources":["../../../src/annotation/TextStyle.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 Annotation\r\n */\r\n\r\nimport { DeepReadonlyObject, DeepRequiredObject } from \"@itwin/core-bentley\";\r\nimport { ColorDef, ColorDefProps } from \"../ColorDef\";\r\nimport { FontFamilySelector, FontType } from \"../Fonts\";\r\n\r\n/** Predefined markers for list items in text annotations.\r\n * These values control the appearance of list item markers (e.g., bullet, circle, square, dash, number) that denote the start of a list item in a list.\r\n * @beta\r\n */\r\nexport enum ListMarkerEnumerator {\r\n /** English Alphabet */\r\n Letter = \"A\",\r\n RomanNumeral = \"I\",\r\n Number = \"1\",\r\n Bullet = \"•\",\r\n Circle = \"○\",\r\n Square = \"■\",\r\n /** EM Dash */\r\n Dash = \"–\",\r\n}\r\n\r\n/** A settings to specify how to mark or denote the start of a list item in a [[List]].\r\n * @beta\r\n */\r\nexport interface ListMarker {\r\n /** This can be either one of the predefined markers in [[ListMarkerEnumerator]], or any arbitrary string. */\r\n enumerator: ListMarkerEnumerator | string,\r\n /** The punctuation to follow the enumerator. */\r\n terminator?: \"parenthesis\" | \"period\",\r\n /** Whether to use upper or lower case for alphabetic or roman numeral enumerators. Ignored if [[enumerator]] is not alphabetic or roman numeral. */\r\n case?: \"upper\" | \"lower\",\r\n}\r\n\r\n/** Set of predefined shapes that can be computed and drawn around the margins of a [[TextBlock]]\r\n * @beta\r\n*/\r\nexport const textAnnotationFrameShapes = [\"none\", \"line\", \"rectangle\", \"circle\", \"equilateralTriangle\", \"diamond\", \"square\", \"pentagon\", \"hexagon\", \"octagon\", \"capsule\", \"roundedRectangle\"] as const;\r\n\r\n/** Describes a predefined shape that can be computed and drawn around the margins of a [[TextBlock]]\r\n * @beta\r\n*/\r\nexport type TextAnnotationFrameShape = typeof textAnnotationFrameShapes[number];\r\n\r\n/** Set of predefined shapes that can be used as terminators for leaders in a [[TextAnnotation]]\r\n * @beta\r\n*/\r\nexport const terminatorShapes = [\"openArrow\", \"closedArrow\", \"closedArrowFilled\", \"circle\", \"circleFilled\", \"slash\", \"none\"] as const;\r\n\r\n/** Describes a predefined shape that can be used as a terminator for leaders in a [[TextAnnotation]]\r\n * @beta\r\n*/\r\nexport type TerminatorShape = typeof terminatorShapes[number];\r\n\r\n/**\r\n * Describes what color to use when filling the frame around a [[TextBlock]].\r\n * If `background` is specified, [[GeometryParams.BackgroundFill]] will be set to `BackgroundFill.Outline`.\r\n * If `none` is specified, no fill will be applied.\r\n * @beta\r\n */\r\nexport type TextAnnotationFillColor = TextStyleColor | \"background\" | \"none\";\r\n\r\n/** Multipliers that describes the margins around the content inside a [[TextBlock]].\r\n * All margins default to zero if `undefined`.\r\n * @beta\r\n */\r\nexport interface TextBlockMargins {\r\n /** The left margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\r\n left?: number;\r\n /** The right margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\r\n right?: number;\r\n /** The top margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\r\n top?: number;\r\n /** The bottom margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\r\n bottom?: number;\r\n};\r\n\r\n/** Describes the relative alignment of text.\r\n * @beta\r\n*/\r\nexport type TextJustification = \"left\" | \"center\" | \"right\";\r\n\r\n/** Specifies how to separate the numerator and denominator of a [[FractionRun]], by either a horizontal or diagonal bar.\r\n * @see [[TextStyleSettingsProps.stackedFractionType]] and [[TextStyleSettings.stackedFractionType]].\r\n * @beta\r\n */\r\nexport type StackedFractionType = \"horizontal\" | \"diagonal\";\r\n\r\n/** Describes the color in which to draw the text in a [[TextRun]].\r\n * \"subcategory\" indicates that the text should be drawn using the color of the [SubCategory]($backend) specified by the [GeometryStream]($docs/learning/common/GeometryStream.md) hosting the\r\n * text.\r\n * @beta\r\n */\r\nexport type TextStyleColor = ColorDefProps | \"subcategory\";\r\n\r\n/**\r\n * Describes how to draw the frame around a [[TextAnnotation]].\r\n * The frame can be a simple line, a filled shape, or both.\r\n * If only a subset of properties are specified, the others will be set to their default value.\r\n * @beta\r\n */\r\nexport interface TextFrameStyleProps {\r\n /** Shape of the frame. Default: \"none\" */\r\n shape?: TextAnnotationFrameShape;\r\n /** The color to fill the shape of the text frame. This fill is applied using [[FillDisplay.Blanking]]. Default: \"none\" */\r\n fillColor?: TextAnnotationFillColor;\r\n /** The color of the text frame's outline. Default: black */\r\n borderColor?: TextStyleColor;\r\n /** This will be used to set the [[GeometryParams.weight]] property of the frame (in pixels). Default: 1px */\r\n borderWeight?: number;\r\n};\r\n\r\n/** Properties describing the appearance of [[TextAnnotationLeader]] in a [[TextAnnotation]].\r\n * Used when producing geometry for [[TextAnnotation]].\r\n * @beta\r\n */\r\nexport interface TextLeaderStyleProps {\r\n /** The color of the leader.\r\n * If `inherit` is specified, the [[TextAnnotationLeader]] will use the color specified in the parent [[TextStyleSettings]]`.\r\n * Default: \"inherit\".\r\n */\r\n color?: TextStyleColor | \"inherit\";\r\n /** Whether to use an elbow in the leader.\r\n * Default: false\r\n */\r\n wantElbow?: boolean;\r\n /** Multiplier used to compute length of the elbow in the leader.\r\n * The elbowLength is computed in meters as elbowLength * [[textHeight]].\r\n * Default: 1.0\r\n */\r\n elbowLength?: number;\r\n /**\r\n * The shape of the leader terminator.\r\n * Default:\"openArrow\"\r\n */\r\n terminatorShape?: TerminatorShape;\r\n /** Multiplier to compute height of the leader terminator.\r\n * The terminator height is computed in meters as terminatorHeight * [[textHeight]].\r\n * Default: 1.0\r\n */\r\n terminatorHeightFactor?: number;\r\n /** Multiplier to compute width of the leader terminator.\r\n * The terminator width is computed in meters as terminatorWidth * [[textHeight]].\r\n * Default: 1.0\r\n */\r\n terminatorWidthFactor?: number;\r\n}\r\n\r\n/** Serves both as the JSON representation of a [[TextStyleSettings]], and a way for a [[TextBlockComponent]] to selectively override aspects of a [AnnotationTextStyle]($backend)'s properties.\r\n * @beta\r\n */\r\nexport interface TextStyleSettingsProps {\r\n /** The color of the text.\r\n * Default: \"subcategory\".\r\n */\r\n color?: TextStyleColor;\r\n /** The font stored in an iModel, used to draw the contents of a [[TextRun]].\r\n * Default: { name: \"\" } (an invalid font name).\r\n */\r\n font?: FontFamilySelector;\r\n /** The height of the text, in meters. Many other settings use the text height as the basis for computing their own values.\r\n * For example, the height and offset from baseline of a subscript [[TextRun]] are computed as textHeight * [[subScriptScale]] and\r\n * textHeight * [[subScriptOffsetFactor]], respectively.\r\n * Default: 1.0. */\r\n textHeight?: number;\r\n /** Multiplier used to compute the vertical distance between two lines of text.\r\n * The distance is computed in meters as lineSpacingFactor * [[textHeight]].\r\n * Default: 0.5.\r\n */\r\n lineSpacingFactor?: number;\r\n /** Multiplier used to compute the vertical distance between two paragraphs of text.\r\n * The distance is computed in meters as paragraphSpacingFactor * [[textHeight]].\r\n * Default: 0.5.\r\n */\r\n paragraphSpacingFactor?: number;\r\n /** Specifies whether the content of a [[TextRun]] should be rendered **bold**.\r\n * Default: false.\r\n */\r\n isBold?: boolean;\r\n /** Specifies whether the content of a [[TextRun]] should be rendered in *italics*.\r\n * Default: false.\r\n */\r\n isItalic?: boolean;\r\n /** Specifies whether the content of a [[TextRun]] should be underlined.\r\n * Default: false.\r\n */\r\n isUnderlined?: boolean;\r\n /** Multiplier used to compute the height of both the numerator and denominator of a [[FractionRun]].\r\n * The height is computed in meters as stackedFractionScale * [[textHeight]].\r\n * Default: 0.7.\r\n */\r\n stackedFractionScale?: number;\r\n /** Specifies how to separate the numerator and denominator of a [[FractionRun]].\r\n * Default: \"horizontal\".\r\n */\r\n stackedFractionType?: StackedFractionType;\r\n /** Multiplier used to compute the vertical offset from the baseline for a subscript [[TextRun]].\r\n * The offset is computed in meters as subScriptOffsetFactor * [[textHeight]].\r\n * Default: -0.15.\r\n */\r\n subScriptOffsetFactor?: number;\r\n /** Multiplier used to compute the height of a subscript [[TextRun]].\r\n * The height is computed as subScriptScale * [[textHeight]].\r\n * Default: 2/3\r\n */\r\n subScriptScale?: number;\r\n /** Multiplier used to compute the vertical offset from the baseline for a super [[TextRun]].\r\n * The offset is computed in meters as superScriptOffsetFactor * [[textHeight]].\r\n * Default: -0.5.\r\n */\r\n superScriptOffsetFactor?: number;\r\n /** Multiplier used to compute the height of a superscript [[TextRun]].\r\n * The height is computed as superScriptScale * [[textHeight]].\r\n * Default: 2/3\r\n */\r\n superScriptScale?: number;\r\n /** A scale applied to the width of each glyph.\r\n * Default: 1.0\r\n */\r\n widthFactor?: number;\r\n\r\n /** Properties describing appearance of leaders in a [[TextAnnotation]]\r\n * Used when producing geometry for [[TextAnnotation]]\r\n * Default: {color:\"subcategory\", wantElbow:\"false\",elbowLength:1, terminatorShape:\"openArrow\",terminatorWidthFactor:1, terminatorHeightFactor:1}.\r\n */\r\n leader?: TextLeaderStyleProps;\r\n /** The size (in meters) used to calculate the tab stops in a run.\r\n * These are equally spaced from the left edge of the TextBlock.\r\n * [[tabInterval]] is also used in lists to compute the offset of each child or [[Paragraph]].\r\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\r\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\r\n * Default: 4 meters.\r\n */\r\n tabInterval?: number;\r\n /**\r\n * A description of the frame around the text annotation.\r\n * Used when producing geometry for [[TextAnnotation]]s.\r\n * Default: {shape: \"none\", fill: \"none\", border: black, borderWeight: 1} for no frame.\r\n */\r\n frame?: TextFrameStyleProps;\r\n /** Multiplier used to calculate the margins to surround the document content.\r\n * Margins are computed in meters as margins * [[textHeight]].\r\n * Default: 0 margins on all sides */\r\n margins?: TextBlockMargins;\r\n /** The offset (in meters) from the left edge of the text block to the start of the line of text.\r\n * In lists, the indentation is added to offset of list items.\r\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\r\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\r\n * Default: 0 meters.\r\n */\r\n indentation?: number;\r\n /** The marker used to indicate the start of a list item.\r\n * Default: \"1.\".\r\n */\r\n listMarker?: ListMarker;\r\n /** The alignment of the text content.\r\n * Default: \"left\". */\r\n justification?: TextJustification;\r\n}\r\n\r\nfunction deepFreeze<T>(obj: T) {\r\n if (obj === null || typeof obj !== \"object\" || Object.isFrozen(obj))\r\n return;\r\n Object.getOwnPropertyNames(obj).forEach((prop) => {\r\n const value = (obj as any)[prop];\r\n if (value && typeof value === \"object\") {\r\n deepFreeze(value);\r\n }\r\n });\r\n Object.freeze(obj);\r\n}\r\n\r\n/** A description of the formatting to be applied to a [[TextBlockComponent]].\r\n * Named instances of these settings can be stored as [AnnotationTextStyle]($backend)s in an iModel.\r\n * @note This is an immutable type. Use [[clone]] to create a modified copy.\r\n * @see [[TextStyleSettingsProps]] for documentation of each of the settings.\r\n * @beta\r\n */\r\nexport class TextStyleSettings {\r\n /** The color of the text. */\r\n public readonly color: TextStyleColor;\r\n /** The font stored in an iModel, used to draw the contents of a [[TextRun]].\r\n */\r\n public readonly font: Readonly<Required<FontFamilySelector>>;\r\n /** The height of the text, in meters. Many other settings use the text height as the basis for computing their own values.\r\n * For example, the height and offset from baseline of a subscript [[TextRun]] are computed as textHeight * [[subScriptScale]] and\r\n * textHeight * [[subScriptOffsetFactor]], respectively.\r\n */\r\n public readonly textHeight: number;\r\n /** Multiplier used to compute the vertical distance between two lines of text.\r\n * The distance is computed in meters as lineSpacingFactor * [[textHeight]] of the [[TextBlock]].\r\n */\r\n public readonly lineSpacingFactor: number;\r\n /** Multiplier used to compute the vertical distance between two paragraphs of text.\r\n * The distance is computed in meters as paragraphSpacingFactor * the [[TextBlock]]'s [[textHeight]].\r\n */\r\n public readonly paragraphSpacingFactor: number;\r\n /** Specifies whether the content of a [[TextRun]] should be rendered **bold**. */\r\n public readonly isBold: boolean;\r\n /** Specifies whether the content of a [[TextRun]] should be rendered in *italics*. */\r\n public readonly isItalic: boolean;\r\n /** Specifies whether the content of a [[TextRun]] should be underlined. */\r\n public readonly isUnderlined: boolean;\r\n /** Multiplier used to compute the height of both the numerator and denominator of a [[FractionRun]].\r\n * The height is computed in meters as stackedFractionScale * [[textHeight]].\r\n */\r\n public readonly stackedFractionScale: number;\r\n /** Specifies how to separate the numerator and denominator of a [[FractionRun]]. */\r\n public readonly stackedFractionType: StackedFractionType;\r\n /** Multiplier used to compute the vertical offset from the baseline for a subscript [[TextRun]].\r\n * The offset is computed in meters as subScriptOffsetFactor * [[textHeight]].\r\n */\r\n public readonly subScriptOffsetFactor: number;\r\n /** Multiplier used to compute the height of a subscript [[TextRun]].\r\n * The height is computed as subScriptScale * [[textHeight]].\r\n */\r\n public readonly subScriptScale: number;\r\n /** Multiplier used to compute the vertical offset from the baseline for a super [[TextRun]].\r\n * The offset is computed in meters as superScriptOffsetFactor * [[textHeight]].\r\n */\r\n public readonly superScriptOffsetFactor: number;\r\n /** Multiplier used to compute the height of a superscript [[TextRun]].\r\n * The height is computed as superScriptScale * [[textHeight]].\r\n */\r\n public readonly superScriptScale: number;\r\n /** Multiplier used to compute the width of each glyph, relative to [[textHeight]]. */\r\n public readonly widthFactor: number;\r\n /** Properties describing appearance of leaders in a [[TextAnnotation]].\r\n * Used when producing geometry for [[TextAnnotation]].\r\n */\r\n public readonly leader: Readonly<Required<TextLeaderStyleProps>>;\r\n /** The size (in meters) used to calculate the tab stops in a run.\r\n * These are equally spaced from the left edge of the TextBlock.\r\n * [[tabInterval]] is also used in lists to compute the offset of each child or [[Paragraph]].\r\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\r\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\r\n */\r\n public readonly tabInterval: number;\r\n /** The offset (in meters) from the left edge of the text block to the start of the line of text.\r\n * In lists, the indentation is added to offset of list items.\r\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\r\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\r\n */\r\n public readonly indentation: number;\r\n /** The marker used to indicate the start of a list item.\r\n * Default: [[ListMarkerEnumerator.Number]].\r\n */\r\n public readonly listMarker: ListMarker;\r\n /** The frame settings of the [[TextAnnotation]]. */\r\n public readonly frame: Readonly<Required<TextFrameStyleProps>>;\r\n /** Multiplier used to calculate the margins to surround the document content. */\r\n public readonly margins: Readonly<Required<TextBlockMargins>>;\r\n /** The alignment of the text content. */\r\n public readonly justification: TextJustification;\r\n\r\n /** A fully-populated JSON representation of the default settings. A real `font` must be provided before use. */\r\n public static defaultProps: DeepReadonlyObject<DeepRequiredObject<TextStyleSettingsProps>> = {\r\n color: \"subcategory\",\r\n font: { name: \"\", type: FontType.TrueType },\r\n textHeight: 1,\r\n lineSpacingFactor: 0.5,\r\n paragraphSpacingFactor: 0.5,\r\n isBold: false,\r\n isItalic: false,\r\n isUnderlined: false,\r\n stackedFractionScale: 0.7,\r\n stackedFractionType: \"horizontal\",\r\n subScriptOffsetFactor: -0.15,\r\n subScriptScale: 2 / 3,\r\n superScriptOffsetFactor: 0.5,\r\n superScriptScale: 2 / 3,\r\n widthFactor: 1,\r\n leader: {\r\n color: \"inherit\",\r\n wantElbow: false,\r\n elbowLength: 1.0,\r\n terminatorShape: terminatorShapes[0],\r\n terminatorHeightFactor: 1.0,\r\n terminatorWidthFactor: 1.0,\r\n },\r\n tabInterval: 4,\r\n indentation: 0,\r\n listMarker: { enumerator: \"1\", terminator: \"period\", case: \"lower\" },\r\n frame: {\r\n shape: \"none\",\r\n fillColor: \"none\",\r\n borderColor: ColorDef.black.toJSON(),\r\n borderWeight: 1,\r\n },\r\n margins: {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n },\r\n justification: \"left\",\r\n };\r\n\r\n /** Settings initialized to all default values. */\r\n public static defaults: TextStyleSettings = new TextStyleSettings({});\r\n\r\n private constructor(props: TextStyleSettingsProps, defaults?: Required<TextStyleSettingsProps>) {\r\n if (!defaults) {\r\n defaults = TextStyleSettings.defaultProps;\r\n }\r\n\r\n this.color = props.color ?? defaults.color;\r\n const font = {\r\n name: props.font?.name ?? defaults.font.name,\r\n type: props.font?.type ?? defaults.font.type,\r\n }\r\n this.font = Object.freeze(font) as Readonly<Required<FontFamilySelector>>;\r\n this.textHeight = props.textHeight ?? defaults.textHeight;\r\n this.lineSpacingFactor = props.lineSpacingFactor ?? defaults.lineSpacingFactor;\r\n this.paragraphSpacingFactor = props.paragraphSpacingFactor ?? defaults.paragraphSpacingFactor;\r\n this.isBold = props.isBold ?? defaults.isBold;\r\n this.isItalic = props.isItalic ?? defaults.isItalic;\r\n this.isUnderlined = props.isUnderlined ?? defaults.isUnderlined;\r\n this.stackedFractionScale = props.stackedFractionScale ?? defaults.stackedFractionScale;\r\n this.stackedFractionType = props.stackedFractionType ?? defaults.stackedFractionType;\r\n this.subScriptOffsetFactor = props.subScriptOffsetFactor ?? defaults.subScriptOffsetFactor;\r\n this.subScriptScale = props.subScriptScale ?? defaults.subScriptScale;\r\n this.superScriptOffsetFactor = props.superScriptOffsetFactor ?? defaults.superScriptOffsetFactor;\r\n this.superScriptScale = props.superScriptScale ?? defaults.superScriptScale;\r\n this.widthFactor = props.widthFactor ?? defaults.widthFactor;\r\n const leader = {\r\n color: props.leader?.color ?? defaults.leader.color,\r\n wantElbow: props.leader?.wantElbow ?? defaults.leader.wantElbow,\r\n elbowLength: props.leader?.elbowLength ?? defaults.leader.elbowLength,\r\n terminatorShape: props.leader?.terminatorShape ?? defaults.leader.terminatorShape,\r\n terminatorHeightFactor: props.leader?.terminatorHeightFactor ?? defaults.leader.terminatorHeightFactor,\r\n terminatorWidthFactor: props.leader?.terminatorWidthFactor ?? defaults.leader.terminatorWidthFactor,\r\n }\r\n this.leader = Object.freeze(leader) as Readonly<Required<TextLeaderStyleProps>>;\r\n this.tabInterval = props.tabInterval ?? defaults.tabInterval;\r\n this.indentation = props.indentation ?? defaults.indentation;\r\n this.listMarker = props.listMarker ?? defaults.listMarker;\r\n const frame = {\r\n shape: props.frame?.shape ?? defaults.frame.shape,\r\n fillColor: props.frame?.fillColor ?? defaults.frame.fillColor,\r\n borderColor: props.frame?.borderColor ?? defaults.frame.borderColor,\r\n borderWeight: props.frame?.borderWeight ?? defaults.frame.borderWeight,\r\n };\r\n // Cast to indicate to TypeScript that the frame properties are all defined\r\n this.frame = Object.freeze(frame) as Readonly<Required<TextFrameStyleProps>>;\r\n this.margins = Object.freeze({\r\n left: props.margins?.left ?? defaults.margins.left,\r\n right: props.margins?.right ?? defaults.margins.right,\r\n top: props.margins?.top ?? defaults.margins.top,\r\n bottom: props.margins?.bottom ?? defaults.margins.bottom,\r\n }) as Readonly<Required<TextBlockMargins>>;\r\n this.justification = props.justification ?? defaults.justification;\r\n }\r\n\r\n /** Create a copy of these settings, modified according to the properties defined by `alteredProps`. */\r\n public clone(alteredProps?: TextStyleSettingsProps): TextStyleSettings {\r\n return alteredProps ? new TextStyleSettings(alteredProps, this) : this;\r\n }\r\n\r\n /** Create settings from their JSON representation. */\r\n public static fromJSON(props?: TextStyleSettingsProps): TextStyleSettings {\r\n return props ? new TextStyleSettings(props) : TextStyleSettings.defaults;\r\n }\r\n\r\n public toJSON(): TextStyleSettingsProps {\r\n return structuredClone(this);\r\n }\r\n\r\n /** Compare two [[TextLeaderStyleProps]] for equality.\r\n * @param other The other leader style properties to compare against.\r\n * @returns true if the two leader styles are equal, false otherwise.\r\n */\r\n public leaderEquals(other: TextLeaderStyleProps): boolean {\r\n return this.leader.color === other.color && this.leader.wantElbow === other.wantElbow\r\n && this.leader.elbowLength === other.elbowLength && this.leader.terminatorShape === other.terminatorShape && this.leader.terminatorHeightFactor === other.terminatorHeightFactor\r\n && this.leader.terminatorWidthFactor === other.terminatorWidthFactor;\r\n }\r\n\r\n public frameEquals(other: TextFrameStyleProps): boolean {\r\n return this.frame?.shape === other.shape\r\n && this.frame?.fillColor === other.fillColor\r\n && this.frame?.borderColor === other.borderColor\r\n && this.frame?.borderWeight === other.borderWeight;\r\n }\r\n\r\n public marginsEqual(other: TextBlockMargins): boolean {\r\n return Object.entries(this.margins).every(([key, value]) =>\r\n value === (other as any)[key]\r\n );\r\n }\r\n\r\n public equals(other: TextStyleSettings): boolean {\r\n return this.color === other.color && this.font.name === other.font.name && this.font.type === other.font.type\r\n && this.textHeight === other.textHeight && this.widthFactor === other.widthFactor\r\n && this.lineSpacingFactor === other.lineSpacingFactor && this.paragraphSpacingFactor === other.paragraphSpacingFactor\r\n && this.isBold === other.isBold && this.isItalic === other.isItalic && this.isUnderlined === other.isUnderlined\r\n && this.stackedFractionType === other.stackedFractionType && this.stackedFractionScale === other.stackedFractionScale\r\n && this.subScriptOffsetFactor === other.subScriptOffsetFactor && this.subScriptScale === other.subScriptScale\r\n && this.superScriptOffsetFactor === other.superScriptOffsetFactor && this.superScriptScale === other.superScriptScale\r\n && this.tabInterval === other.tabInterval && this.indentation === other.indentation\r\n && this.listMarker.case === other.listMarker.case && this.listMarker.enumerator === other.listMarker.enumerator && this.listMarker.terminator === other.listMarker.terminator\r\n && this.justification === other.justification\r\n && this.leaderEquals(other.leader)\r\n && this.frameEquals(other.frame)\r\n && this.marginsEqual(other.margins);\r\n }\r\n\r\n /**\r\n * Returns a list of validation errors for this instance.\r\n *\r\n * A TextStyleSettings object may contain values that are invalid in all contexts.\r\n * If this method returns any error strings, using the settings will likely result in rendering failures or runtime exceptions.\r\n *\r\n * This method only checks for universally invalid values. Additional domain-specific validation may be required depending on the context in which these settings are used.\r\n *\r\n * @returns An array of error strings describing the invalid values, or an empty array if the settings are valid.\r\n */\r\n public getValidationErrors(): string[] {\r\n const errorMessages: string[] = [];\r\n if (this.font.name.trim() === \"\") {\r\n errorMessages.push(\"font name must be provided\");\r\n }\r\n\r\n if (this.textHeight <= 0) {\r\n errorMessages.push(\"textHeight must be greater than 0\");\r\n }\r\n\r\n if (this.stackedFractionScale <= 0) {\r\n errorMessages.push(\"stackedFractionScale must be greater than 0\");\r\n }\r\n\r\n return errorMessages;\r\n }\r\n}\r\n\r\ndeepFreeze(TextStyleSettings.defaultProps);\r\ndeepFreeze(TextStyleSettings.defaults);"]}
1
+ {"version":3,"file":"TextStyle.js","sourceRoot":"","sources":["../../../src/annotation/TextStyle.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 Annotation\n */\n\nimport { DeepReadonlyObject, DeepRequiredObject } from \"@itwin/core-bentley\";\nimport { ColorDef, ColorDefProps } from \"../ColorDef\";\nimport { FontFamilySelector, FontType } from \"../Fonts\";\n\n/** Predefined markers for list items in text annotations.\n * These values control the appearance of list item markers (e.g., bullet, circle, square, dash, number) that denote the start of a list item in a list.\n * @beta\n */\nexport enum ListMarkerEnumerator {\n /** English Alphabet */\n Letter = \"A\",\n RomanNumeral = \"I\",\n Number = \"1\",\n Bullet = \"•\",\n Circle = \"○\",\n Square = \"■\",\n /** EM Dash */\n Dash = \"–\",\n}\n\n/** A settings to specify how to mark or denote the start of a list item in a [[List]].\n * @beta\n */\nexport interface ListMarker {\n /** This can be either one of the predefined markers in [[ListMarkerEnumerator]], or any arbitrary string. */\n enumerator: ListMarkerEnumerator | string,\n /** The punctuation to follow the enumerator. */\n terminator?: \"parenthesis\" | \"period\",\n /** Whether to use upper or lower case for alphabetic or roman numeral enumerators. Ignored if [[enumerator]] is not alphabetic or roman numeral. */\n case?: \"upper\" | \"lower\",\n}\n\n/** Set of predefined shapes that can be computed and drawn around the margins of a [[TextBlock]]\n * @beta\n*/\nexport const textAnnotationFrameShapes = [\"none\", \"line\", \"rectangle\", \"circle\", \"equilateralTriangle\", \"diamond\", \"square\", \"pentagon\", \"hexagon\", \"octagon\", \"capsule\", \"roundedRectangle\"] as const;\n\n/** Describes a predefined shape that can be computed and drawn around the margins of a [[TextBlock]]\n * @beta\n*/\nexport type TextAnnotationFrameShape = typeof textAnnotationFrameShapes[number];\n\n/** Set of predefined shapes that can be used as terminators for leaders in a [[TextAnnotation]]\n * @beta\n*/\nexport const terminatorShapes = [\"openArrow\", \"closedArrow\", \"closedArrowFilled\", \"circle\", \"circleFilled\", \"slash\", \"none\"] as const;\n\n/** Describes a predefined shape that can be used as a terminator for leaders in a [[TextAnnotation]]\n * @beta\n*/\nexport type TerminatorShape = typeof terminatorShapes[number];\n\n/**\n * Describes what color to use when filling the frame around a [[TextBlock]].\n * If `background` is specified, [[GeometryParams.BackgroundFill]] will be set to `BackgroundFill.Outline`.\n * If `none` is specified, no fill will be applied.\n * @beta\n */\nexport type TextAnnotationFillColor = TextStyleColor | \"background\" | \"none\";\n\n/** Multipliers that describes the margins around the content inside a [[TextBlock]].\n * All margins default to zero if `undefined`.\n * @beta\n */\nexport interface TextBlockMargins {\n /** The left margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\n left?: number;\n /** The right margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\n right?: number;\n /** The top margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\n top?: number;\n /** The bottom margin multiplier. Must be a positive number >= 0. Negative values are disregarded */\n bottom?: number;\n};\n\n/** Describes the relative alignment of text.\n * @beta\n*/\nexport type TextJustification = \"left\" | \"center\" | \"right\";\n\n/** Specifies how to separate the numerator and denominator of a [[FractionRun]], by either a horizontal or diagonal bar.\n * @see [[TextStyleSettingsProps.stackedFractionType]] and [[TextStyleSettings.stackedFractionType]].\n * @beta\n */\nexport type StackedFractionType = \"horizontal\" | \"diagonal\";\n\n/** Describes the color in which to draw the text in a [[TextRun]].\n * \"subcategory\" indicates that the text should be drawn using the color of the [SubCategory]($backend) specified by the [GeometryStream]($docs/learning/common/GeometryStream.md) hosting the\n * text.\n * @beta\n */\nexport type TextStyleColor = ColorDefProps | \"subcategory\";\n\n/**\n * Describes how to draw the frame around a [[TextAnnotation]].\n * The frame can be a simple line, a filled shape, or both.\n * If only a subset of properties are specified, the others will be set to their default value.\n * @beta\n */\nexport interface TextFrameStyleProps {\n /** Shape of the frame. Default: \"none\" */\n shape?: TextAnnotationFrameShape;\n /** The color to fill the shape of the text frame. This fill is applied using [[FillDisplay.Blanking]]. Default: \"none\" */\n fillColor?: TextAnnotationFillColor;\n /** The color of the text frame's outline. Default: black */\n borderColor?: TextStyleColor;\n /** This will be used to set the [[GeometryParams.weight]] property of the frame (in pixels). Default: 1px */\n borderWeight?: number;\n};\n\n/** Properties describing the appearance of [[TextAnnotationLeader]] in a [[TextAnnotation]].\n * Used when producing geometry for [[TextAnnotation]].\n * @beta\n */\nexport interface TextLeaderStyleProps {\n /** The color of the leader.\n * If `inherit` is specified, the [[TextAnnotationLeader]] will use the color specified in the parent [[TextStyleSettings]]`.\n * Default: \"inherit\".\n */\n color?: TextStyleColor | \"inherit\";\n /** Whether to use an elbow in the leader.\n * Default: false\n */\n wantElbow?: boolean;\n /** Multiplier used to compute length of the elbow in the leader.\n * The elbowLength is computed in meters as elbowLength * [[textHeight]].\n * Default: 1.0\n */\n elbowLength?: number;\n /**\n * The shape of the leader terminator.\n * Default:\"openArrow\"\n */\n terminatorShape?: TerminatorShape;\n /** Multiplier to compute height of the leader terminator.\n * The terminator height is computed in meters as terminatorHeight * [[textHeight]].\n * Default: 1.0\n */\n terminatorHeightFactor?: number;\n /** Multiplier to compute width of the leader terminator.\n * The terminator width is computed in meters as terminatorWidth * [[textHeight]].\n * Default: 1.0\n */\n terminatorWidthFactor?: number;\n}\n\n/** Serves both as the JSON representation of a [[TextStyleSettings]], and a way for a [[TextBlockComponent]] to selectively override aspects of a [AnnotationTextStyle]($backend)'s properties.\n * @beta\n */\nexport interface TextStyleSettingsProps {\n /** The color of the text.\n * Default: \"subcategory\".\n */\n color?: TextStyleColor;\n /** The font stored in an iModel, used to draw the contents of a [[TextRun]].\n * Default: { name: \"\" } (an invalid font name).\n */\n font?: FontFamilySelector;\n /** The height of the text, in meters. Many other settings use the text height as the basis for computing their own values.\n * For example, the height and offset from baseline of a subscript [[TextRun]] are computed as textHeight * [[subScriptScale]] and\n * textHeight * [[subScriptOffsetFactor]], respectively.\n * Default: 1.0. */\n textHeight?: number;\n /** Multiplier used to compute the vertical distance between two lines of text.\n * The distance is computed in meters as lineSpacingFactor * [[textHeight]].\n * Default: 0.5.\n */\n lineSpacingFactor?: number;\n /** Multiplier used to compute the vertical distance between two paragraphs of text.\n * The distance is computed in meters as paragraphSpacingFactor * [[textHeight]].\n * Default: 0.5.\n */\n paragraphSpacingFactor?: number;\n /** Specifies whether the content of a [[TextRun]] should be rendered **bold**.\n * Default: false.\n */\n isBold?: boolean;\n /** Specifies whether the content of a [[TextRun]] should be rendered in *italics*.\n * Default: false.\n */\n isItalic?: boolean;\n /** Specifies whether the content of a [[TextRun]] should be underlined.\n * Default: false.\n */\n isUnderlined?: boolean;\n /** Multiplier used to compute the height of both the numerator and denominator of a [[FractionRun]].\n * The height is computed in meters as stackedFractionScale * [[textHeight]].\n * Default: 0.7.\n */\n stackedFractionScale?: number;\n /** Specifies how to separate the numerator and denominator of a [[FractionRun]].\n * Default: \"horizontal\".\n */\n stackedFractionType?: StackedFractionType;\n /** Multiplier used to compute the vertical offset from the baseline for a subscript [[TextRun]].\n * The offset is computed in meters as subScriptOffsetFactor * [[textHeight]].\n * Default: -0.15.\n */\n subScriptOffsetFactor?: number;\n /** Multiplier used to compute the height of a subscript [[TextRun]].\n * The height is computed as subScriptScale * [[textHeight]].\n * Default: 2/3\n */\n subScriptScale?: number;\n /** Multiplier used to compute the vertical offset from the baseline for a super [[TextRun]].\n * The offset is computed in meters as superScriptOffsetFactor * [[textHeight]].\n * Default: -0.5.\n */\n superScriptOffsetFactor?: number;\n /** Multiplier used to compute the height of a superscript [[TextRun]].\n * The height is computed as superScriptScale * [[textHeight]].\n * Default: 2/3\n */\n superScriptScale?: number;\n /** A scale applied to the width of each glyph.\n * Default: 1.0\n */\n widthFactor?: number;\n\n /** Properties describing appearance of leaders in a [[TextAnnotation]]\n * Used when producing geometry for [[TextAnnotation]]\n * Default: {color:\"subcategory\", wantElbow:\"false\",elbowLength:1, terminatorShape:\"openArrow\",terminatorWidthFactor:1, terminatorHeightFactor:1}.\n */\n leader?: TextLeaderStyleProps;\n /** The size (in meters) used to calculate the tab stops in a run.\n * These are equally spaced from the left edge of the TextBlock.\n * [[tabInterval]] is also used in lists to compute the offset of each child or [[Paragraph]].\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\n * Default: 4 meters.\n */\n tabInterval?: number;\n /**\n * A description of the frame around the text annotation.\n * Used when producing geometry for [[TextAnnotation]]s.\n * Default: {shape: \"none\", fill: \"none\", border: black, borderWeight: 1} for no frame.\n */\n frame?: TextFrameStyleProps;\n /** Multiplier used to calculate the margins to surround the document content.\n * Margins are computed in meters as margins * [[textHeight]].\n * Default: 0 margins on all sides */\n margins?: TextBlockMargins;\n /** The offset (in meters) from the left edge of the text block to the start of the line of text.\n * In lists, the indentation is added to offset of list items.\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\n * Default: 0 meters.\n */\n indentation?: number;\n /** The marker used to indicate the start of a list item.\n * Default: \"1.\".\n */\n listMarker?: ListMarker;\n /** The alignment of the text content.\n * Default: \"left\". */\n justification?: TextJustification;\n}\n\nfunction deepFreeze<T>(obj: T) {\n if (obj === null || typeof obj !== \"object\" || Object.isFrozen(obj))\n return;\n Object.getOwnPropertyNames(obj).forEach((prop) => {\n const value = (obj as any)[prop];\n if (value && typeof value === \"object\") {\n deepFreeze(value);\n }\n });\n Object.freeze(obj);\n}\n\n/** A description of the formatting to be applied to a [[TextBlockComponent]].\n * Named instances of these settings can be stored as [AnnotationTextStyle]($backend)s in an iModel.\n * @note This is an immutable type. Use [[clone]] to create a modified copy.\n * @see [[TextStyleSettingsProps]] for documentation of each of the settings.\n * @beta\n */\nexport class TextStyleSettings {\n /** The color of the text. */\n public readonly color: TextStyleColor;\n /** The font stored in an iModel, used to draw the contents of a [[TextRun]].\n */\n public readonly font: Readonly<Required<FontFamilySelector>>;\n /** The height of the text, in meters. Many other settings use the text height as the basis for computing their own values.\n * For example, the height and offset from baseline of a subscript [[TextRun]] are computed as textHeight * [[subScriptScale]] and\n * textHeight * [[subScriptOffsetFactor]], respectively.\n */\n public readonly textHeight: number;\n /** Multiplier used to compute the vertical distance between two lines of text.\n * The distance is computed in meters as lineSpacingFactor * [[textHeight]] of the [[TextBlock]].\n */\n public readonly lineSpacingFactor: number;\n /** Multiplier used to compute the vertical distance between two paragraphs of text.\n * The distance is computed in meters as paragraphSpacingFactor * the [[TextBlock]]'s [[textHeight]].\n */\n public readonly paragraphSpacingFactor: number;\n /** Specifies whether the content of a [[TextRun]] should be rendered **bold**. */\n public readonly isBold: boolean;\n /** Specifies whether the content of a [[TextRun]] should be rendered in *italics*. */\n public readonly isItalic: boolean;\n /** Specifies whether the content of a [[TextRun]] should be underlined. */\n public readonly isUnderlined: boolean;\n /** Multiplier used to compute the height of both the numerator and denominator of a [[FractionRun]].\n * The height is computed in meters as stackedFractionScale * [[textHeight]].\n */\n public readonly stackedFractionScale: number;\n /** Specifies how to separate the numerator and denominator of a [[FractionRun]]. */\n public readonly stackedFractionType: StackedFractionType;\n /** Multiplier used to compute the vertical offset from the baseline for a subscript [[TextRun]].\n * The offset is computed in meters as subScriptOffsetFactor * [[textHeight]].\n */\n public readonly subScriptOffsetFactor: number;\n /** Multiplier used to compute the height of a subscript [[TextRun]].\n * The height is computed as subScriptScale * [[textHeight]].\n */\n public readonly subScriptScale: number;\n /** Multiplier used to compute the vertical offset from the baseline for a super [[TextRun]].\n * The offset is computed in meters as superScriptOffsetFactor * [[textHeight]].\n */\n public readonly superScriptOffsetFactor: number;\n /** Multiplier used to compute the height of a superscript [[TextRun]].\n * The height is computed as superScriptScale * [[textHeight]].\n */\n public readonly superScriptScale: number;\n /** Multiplier used to compute the width of each glyph, relative to [[textHeight]]. */\n public readonly widthFactor: number;\n /** Properties describing appearance of leaders in a [[TextAnnotation]].\n * Used when producing geometry for [[TextAnnotation]].\n */\n public readonly leader: Readonly<Required<TextLeaderStyleProps>>;\n /** The size (in meters) used to calculate the tab stops in a run.\n * These are equally spaced from the left edge of the TextBlock.\n * [[tabInterval]] is also used in lists to compute the offset of each child or [[Paragraph]].\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\n */\n public readonly tabInterval: number;\n /** The offset (in meters) from the left edge of the text block to the start of the line of text.\n * In lists, the indentation is added to offset of list items.\n * The [[listMarker]] is right justified on [[indentation]] + [[tabInterval]]*(depth - 1/2).\n * [[Paragraph]]s will start at [[indentation]] + [[tabInterval]]*depth.\n */\n public readonly indentation: number;\n /** The marker used to indicate the start of a list item.\n * Default: [[ListMarkerEnumerator.Number]].\n */\n public readonly listMarker: ListMarker;\n /** The frame settings of the [[TextAnnotation]]. */\n public readonly frame: Readonly<Required<TextFrameStyleProps>>;\n /** Multiplier used to calculate the margins to surround the document content. */\n public readonly margins: Readonly<Required<TextBlockMargins>>;\n /** The alignment of the text content. */\n public readonly justification: TextJustification;\n\n /** A fully-populated JSON representation of the default settings. A real `font` must be provided before use. */\n public static defaultProps: DeepReadonlyObject<DeepRequiredObject<TextStyleSettingsProps>> = {\n color: \"subcategory\",\n font: { name: \"\", type: FontType.TrueType },\n textHeight: 1,\n lineSpacingFactor: 0.5,\n paragraphSpacingFactor: 0.5,\n isBold: false,\n isItalic: false,\n isUnderlined: false,\n stackedFractionScale: 0.7,\n stackedFractionType: \"horizontal\",\n subScriptOffsetFactor: -0.15,\n subScriptScale: 2 / 3,\n superScriptOffsetFactor: 0.5,\n superScriptScale: 2 / 3,\n widthFactor: 1,\n leader: {\n color: \"inherit\",\n wantElbow: false,\n elbowLength: 1.0,\n terminatorShape: terminatorShapes[0],\n terminatorHeightFactor: 1.0,\n terminatorWidthFactor: 1.0,\n },\n tabInterval: 4,\n indentation: 0,\n listMarker: { enumerator: \"1\", terminator: \"period\", case: \"lower\" },\n frame: {\n shape: \"none\",\n fillColor: \"none\",\n borderColor: ColorDef.black.toJSON(),\n borderWeight: 1,\n },\n margins: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n justification: \"left\",\n };\n\n /** Settings initialized to all default values. */\n public static defaults: TextStyleSettings = new TextStyleSettings({});\n\n private constructor(props: TextStyleSettingsProps, defaults?: Required<TextStyleSettingsProps>) {\n if (!defaults) {\n defaults = TextStyleSettings.defaultProps;\n }\n\n this.color = props.color ?? defaults.color;\n const font = {\n name: props.font?.name ?? defaults.font.name,\n type: props.font?.type ?? defaults.font.type,\n }\n this.font = Object.freeze(font) as Readonly<Required<FontFamilySelector>>;\n this.textHeight = props.textHeight ?? defaults.textHeight;\n this.lineSpacingFactor = props.lineSpacingFactor ?? defaults.lineSpacingFactor;\n this.paragraphSpacingFactor = props.paragraphSpacingFactor ?? defaults.paragraphSpacingFactor;\n this.isBold = props.isBold ?? defaults.isBold;\n this.isItalic = props.isItalic ?? defaults.isItalic;\n this.isUnderlined = props.isUnderlined ?? defaults.isUnderlined;\n this.stackedFractionScale = props.stackedFractionScale ?? defaults.stackedFractionScale;\n this.stackedFractionType = props.stackedFractionType ?? defaults.stackedFractionType;\n this.subScriptOffsetFactor = props.subScriptOffsetFactor ?? defaults.subScriptOffsetFactor;\n this.subScriptScale = props.subScriptScale ?? defaults.subScriptScale;\n this.superScriptOffsetFactor = props.superScriptOffsetFactor ?? defaults.superScriptOffsetFactor;\n this.superScriptScale = props.superScriptScale ?? defaults.superScriptScale;\n this.widthFactor = props.widthFactor ?? defaults.widthFactor;\n const leader = {\n color: props.leader?.color ?? defaults.leader.color,\n wantElbow: props.leader?.wantElbow ?? defaults.leader.wantElbow,\n elbowLength: props.leader?.elbowLength ?? defaults.leader.elbowLength,\n terminatorShape: props.leader?.terminatorShape ?? defaults.leader.terminatorShape,\n terminatorHeightFactor: props.leader?.terminatorHeightFactor ?? defaults.leader.terminatorHeightFactor,\n terminatorWidthFactor: props.leader?.terminatorWidthFactor ?? defaults.leader.terminatorWidthFactor,\n }\n this.leader = Object.freeze(leader) as Readonly<Required<TextLeaderStyleProps>>;\n this.tabInterval = props.tabInterval ?? defaults.tabInterval;\n this.indentation = props.indentation ?? defaults.indentation;\n this.listMarker = props.listMarker ?? defaults.listMarker;\n const frame = {\n shape: props.frame?.shape ?? defaults.frame.shape,\n fillColor: props.frame?.fillColor ?? defaults.frame.fillColor,\n borderColor: props.frame?.borderColor ?? defaults.frame.borderColor,\n borderWeight: props.frame?.borderWeight ?? defaults.frame.borderWeight,\n };\n // Cast to indicate to TypeScript that the frame properties are all defined\n this.frame = Object.freeze(frame) as Readonly<Required<TextFrameStyleProps>>;\n this.margins = Object.freeze({\n left: props.margins?.left ?? defaults.margins.left,\n right: props.margins?.right ?? defaults.margins.right,\n top: props.margins?.top ?? defaults.margins.top,\n bottom: props.margins?.bottom ?? defaults.margins.bottom,\n }) as Readonly<Required<TextBlockMargins>>;\n this.justification = props.justification ?? defaults.justification;\n }\n\n /** Create a copy of these settings, modified according to the properties defined by `alteredProps`. */\n public clone(alteredProps?: TextStyleSettingsProps): TextStyleSettings {\n return alteredProps ? new TextStyleSettings(alteredProps, this) : this;\n }\n\n /** Create settings from their JSON representation. */\n public static fromJSON(props?: TextStyleSettingsProps): TextStyleSettings {\n return props ? new TextStyleSettings(props) : TextStyleSettings.defaults;\n }\n\n public toJSON(): TextStyleSettingsProps {\n return structuredClone(this);\n }\n\n /** Compare two [[TextLeaderStyleProps]] for equality.\n * @param other The other leader style properties to compare against.\n * @returns true if the two leader styles are equal, false otherwise.\n */\n public leaderEquals(other: TextLeaderStyleProps): boolean {\n return this.leader.color === other.color && this.leader.wantElbow === other.wantElbow\n && this.leader.elbowLength === other.elbowLength && this.leader.terminatorShape === other.terminatorShape && this.leader.terminatorHeightFactor === other.terminatorHeightFactor\n && this.leader.terminatorWidthFactor === other.terminatorWidthFactor;\n }\n\n public frameEquals(other: TextFrameStyleProps): boolean {\n return this.frame?.shape === other.shape\n && this.frame?.fillColor === other.fillColor\n && this.frame?.borderColor === other.borderColor\n && this.frame?.borderWeight === other.borderWeight;\n }\n\n public marginsEqual(other: TextBlockMargins): boolean {\n return Object.entries(this.margins).every(([key, value]) =>\n value === (other as any)[key]\n );\n }\n\n public equals(other: TextStyleSettings): boolean {\n return this.color === other.color && this.font.name === other.font.name && this.font.type === other.font.type\n && this.textHeight === other.textHeight && this.widthFactor === other.widthFactor\n && this.lineSpacingFactor === other.lineSpacingFactor && this.paragraphSpacingFactor === other.paragraphSpacingFactor\n && this.isBold === other.isBold && this.isItalic === other.isItalic && this.isUnderlined === other.isUnderlined\n && this.stackedFractionType === other.stackedFractionType && this.stackedFractionScale === other.stackedFractionScale\n && this.subScriptOffsetFactor === other.subScriptOffsetFactor && this.subScriptScale === other.subScriptScale\n && this.superScriptOffsetFactor === other.superScriptOffsetFactor && this.superScriptScale === other.superScriptScale\n && this.tabInterval === other.tabInterval && this.indentation === other.indentation\n && this.listMarker.case === other.listMarker.case && this.listMarker.enumerator === other.listMarker.enumerator && this.listMarker.terminator === other.listMarker.terminator\n && this.justification === other.justification\n && this.leaderEquals(other.leader)\n && this.frameEquals(other.frame)\n && this.marginsEqual(other.margins);\n }\n\n /**\n * Returns a list of validation errors for this instance.\n *\n * A TextStyleSettings object may contain values that are invalid in all contexts.\n * If this method returns any error strings, using the settings will likely result in rendering failures or runtime exceptions.\n *\n * This method only checks for universally invalid values. Additional domain-specific validation may be required depending on the context in which these settings are used.\n *\n * @returns An array of error strings describing the invalid values, or an empty array if the settings are valid.\n */\n public getValidationErrors(): string[] {\n const errorMessages: string[] = [];\n if (this.font.name.trim() === \"\") {\n errorMessages.push(\"font name must be provided\");\n }\n\n if (this.textHeight <= 0) {\n errorMessages.push(\"textHeight must be greater than 0\");\n }\n\n if (this.stackedFractionScale <= 0) {\n errorMessages.push(\"stackedFractionScale must be greater than 0\");\n }\n\n return errorMessages;\n }\n}\n\ndeepFreeze(TextStyleSettings.defaultProps);\ndeepFreeze(TextStyleSettings.defaults);"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core-common.js","sourceRoot":"","sources":["../../src/core-common.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC;AACzB,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","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\nexport * from \"./AmbientOcclusion\";\r\nexport * from \"./AnalysisStyle\";\r\nexport * from \"./annotation/TextAnnotation\";\r\nexport * from \"./annotation/TextBlock\";\r\nexport * from \"./annotation/TextBlockGeometryProps\";\r\nexport * from \"./annotation/TextBlockLayoutResult\";\r\nexport * from \"./annotation/TextField\";\r\nexport * from \"./annotation/TextStyle\";\r\nexport * from \"./Atmosphere\";\r\nexport * from \"./AuthorizationClient\";\r\nexport * from \"./BackgroundMapProvider\";\r\nexport * from \"./BackgroundMapSettings\";\r\nexport * from \"./Base64EncodedString\";\r\nexport * from \"./BriefcaseTypes\";\r\nexport * from \"./Camera\";\r\nexport * from \"./CatalogIModel\";\r\nexport * from \"./ChangedElements\";\r\nexport * from \"./ChangedEntities\";\r\nexport * from \"./ChangesetProps\";\r\nexport * from \"./ClipStyle\";\r\nexport * from \"./Code\";\r\nexport * from \"./ColorByName\";\r\nexport * from \"./ColorDef\";\r\nexport * from \"./CommonLoggerCategory\";\r\nexport * from \"./ContextRealityModel\";\r\nexport * from \"./DbCloudContainerInfo\";\r\nexport * from \"./DisplayStyleSettings\";\r\nexport * from \"./domains/FunctionalElementProps\";\r\nexport * from \"./domains/GenericElementProps\";\r\nexport * from \"./ECSchemaProps\";\r\nexport * from \"./ECSqlTypes\";\r\nexport * from \"./ElementMesh\";\r\nexport * from \"./ElementProps\";\r\nexport * from \"./EmphasizeElementsProps\";\r\nexport * from \"./EntityProps\";\r\nexport * from \"./EntityReference\";\r\nexport * from \"./Environment\";\r\nexport * from \"./FeatureIndex\";\r\nexport * from \"./FeatureSymbology\";\r\nexport * from \"./FeatureTable\";\r\nexport * from \"./Fonts\";\r\nexport * from \"./Frustum\";\r\nexport * from \"./GenericInstanceFilter\";\r\nexport * from \"./GeoCoordinateServices\";\r\nexport * from \"./geometry/AdditionalTransform\";\r\nexport * from \"./geometry/AreaPattern\";\r\nexport * from \"./geometry/BoundingSphere\";\r\nexport * from \"./geometry/Cartographic\";\r\nexport * from \"./geometry/CoordinateReferenceSystem\";\r\nexport * from \"./geometry/ElementGeometry\";\r\nexport * from \"./geometry/FrustumPlanes\";\r\nexport * from \"./geometry/GeodeticDatum\";\r\nexport * from \"./geometry/GeodeticEllipsoid\";\r\nexport * from \"./geometry/GeometryStream\";\r\nexport * from \"./geometry/ImageGraphic\";\r\nexport * from \"./geometry/LineStyle\";\r\nexport * from \"./geometry/Placement\";\r\nexport * from \"./geometry/Projection\";\r\nexport * from \"./geometry/TextString\";\r\nexport * from \"./GeometryContainment\";\r\nexport * from \"./GeometryParams\";\r\nexport * from \"./GeometrySummary\";\r\nexport * from \"./Gradient\";\r\nexport * from \"./GraphicParams\";\r\nexport * from \"./GroundPlane\";\r\nexport * from \"./HiddenLine\";\r\nexport * from \"./Hilite\";\r\nexport * from \"./HSLColor\";\r\nexport * from \"./HSVColor\";\r\nexport * from \"./Image\";\r\nexport * from \"./IModel\";\r\nexport * from \"./IModelError\";\r\nexport * from \"./IModelVersion\";\r\nexport * from \"./ITwinCoreErrors\";\r\nexport * from \"./ipc/IpcSocket\";\r\nexport * from \"./ipc/IpcWebSocket\";\r\nexport * from \"./ipc/IpcWebSocketTransport\";\r\nexport * from \"./ipc/IpcSession\";\r\nexport * from \"./IpcAppProps\";\r\nexport * from \"./LightSettings\";\r\nexport * from \"./LinePixels\";\r\nexport * from \"./Localization\";\r\nexport * from \"./MapImagerySettings\";\r\nexport * from \"./MapLayerSettings\";\r\nexport * from \"./MassProperties\";\r\nexport * from \"./MaterialProps\";\r\nexport * from \"./ModelClipGroup\";\r\nexport * from \"./ModelProps\";\r\nexport * from \"./NativeAppProps\";\r\nexport * from \"./OctEncodedNormal\";\r\nexport * from \"./ConcurrentQuery\";\r\nexport * from \"./ECSqlReaderBase\";\r\nexport * from \"./ECSqlReader\";\r\nexport * from \"./PlanarClipMask\";\r\nexport * from \"./ModelGeometryChanges\";\r\nexport * from \"./PlanProjectionSettings\";\r\nexport * from \"./QPoint\";\r\nexport * from \"./RealityDataAccessProps\";\r\nexport * from \"./RealityModelDisplaySettings\";\r\nexport * from \"./RenderPolyline\";\r\nexport * from \"./RenderMaterial\";\r\nexport * from \"./RenderSchedule\";\r\nexport * from \"./RenderTexture\";\r\nexport * from \"./RgbColor\";\r\nexport * from \"./RpcManager\";\r\nexport * from \"./SessionProps\";\r\nexport * from \"./SkyBox\";\r\nexport * from \"./SolarCalculate\";\r\nexport * from \"./SolarShadows\";\r\nexport * from \"./SpatialClassification\";\r\nexport * from \"./SubCategoryAppearance\";\r\nexport * from \"./SubCategoryOverride\";\r\nexport * from \"./CesiumIonAssets\";\r\nexport * from \"./TerrainSettings\";\r\nexport * from \"./TextureMapping\";\r\nexport * from \"./TextureProps\";\r\nexport * from \"./TxnProps\";\r\nexport * from \"./ThematicDisplay\";\r\nexport * from \"./ContourDisplay\";\r\nexport * from \"./Thumbnail\";\r\nexport * from \"./TileProps\";\r\nexport * from \"./Tween\";\r\nexport * from \"./TxnAction\";\r\nexport * from \"./ViewDetails\";\r\nexport * from \"./ViewFlags\";\r\nexport * from \"./ViewProps\";\r\nexport * from \"./rpc/core/RpcConstants\";\r\nexport * from \"./rpc/core/RpcControl\";\r\nexport * from \"./rpc/core/RpcInvocation\";\r\nexport * from \"./rpc/core/RpcSessionInvocation\";\r\nexport * from \"./rpc/core/RpcMarshaling\";\r\nexport * from \"./rpc/core/RpcOperation\";\r\nexport * from \"./rpc/core/RpcPendingQueue\";\r\nexport * from \"./rpc/core/RpcProtocol\";\r\nexport * from \"./rpc/core/RpcRegistry\";\r\nexport * from \"./rpc/core/RpcRequest\";\r\nexport * from \"./rpc/core/RpcRequestContext\";\r\nexport * from \"./rpc/core/RpcRoutingToken\";\r\nexport * from \"./rpc/core/RpcPush\";\r\nexport * from \"./rpc/core/RpcConfiguration\";\r\nexport * from \"./rpc/DevToolsRpcInterface\";\r\nexport * from \"./rpc/IModelReadRpcInterface\";\r\nexport * from \"./rpc/IModelTileRpcInterface\";\r\nexport * from \"./rpc/SnapshotIModelRpcInterface\";\r\nexport * from \"./rpc/TestRpcManager\";\r\nexport * from \"./RpcInterface\";\r\nexport * from \"./rpc/web/BentleyCloudRpcManager\";\r\nexport * from \"./rpc/web/BentleyCloudRpcProtocol\";\r\nexport * from \"./rpc/web/OpenAPI\";\r\nexport * from \"./rpc/web/RpcMultipart\";\r\nexport * from \"./rpc/web/WebAppRpcProtocol\";\r\nexport * from \"./rpc/web/WebAppRpcRequest\";\r\nexport * from \"./rpc/web/WebAppRpcLogging\";\r\nexport * from \"./tile/B3dmTileIO\";\r\nexport * from \"./tile/CompositeTileIO\";\r\nexport * from \"./tile/ElementGraphics\";\r\nexport * from \"./tile/GltfTileIO\";\r\nexport * from \"./tile/I3dmTileIO\";\r\nexport * from \"./tile/IModelTileIO\";\r\nexport * from \"./tile/PntsTileIO\";\r\nexport * from \"./tile/TileIO\";\r\nexport * from \"./tile/TileMetadata\";\r\nexport * from \"./tile/Tileset3dSchema\";\r\nexport * from \"./WhiteOnWhiteReversalSettings\";\r\n\r\nexport * from \"./internal/cross-package\";\r\n\r\n/** @docs-package-description\r\n * The core-common package contains classes for working with iModels that can be used in both [frontend]($docs/learning/frontend/index.md) and [backend]($docs/learning/backend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Entities\r\n * Definitions of the \"props\" interfaces and types that define the [wire format]($docs/learning/wireformat.md) for communication between the frontend and backend about entities (models, elements, etc) contained in an iModel.\r\n */\r\n/**\r\n * @docs-group-description Codes\r\n * Types for working with [Codes]($docs/bis/guide/fundamentals/codes.md).\r\n */\r\n/**\r\n * @docs-group-description Geometry\r\n * Types for working with geometry.\r\n */\r\n/**\r\n * @docs-group-description Serialization\r\n * Types for serializing geometry\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Types for defining graphical views of the contents of an iModel.\r\n */\r\n/**\r\n * @docs-group-description DisplayStyles\r\n * Types for describing how the contents of Views should be rendered.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Types describing geometry, views, and symbology for consumption by a display system.\r\n */\r\n/**\r\n * @docs-group-description Symbology\r\n * Types that define the appearance of geometry.\r\n */\r\n/**\r\n * @docs-group-description iModels\r\n * Types for working with [iModels]($docs/learning/IModels.md) in both the frontend and backend.\r\n */\r\n/**\r\n * @docs-group-description RpcInterface\r\n * Types for working with [RpcInterfaces]($docs/learning/RpcInterface.md).\r\n */\r\n/**\r\n * @docs-group-description IpcSocket\r\n * Types for working with [IpcInterfaces]($docs/learning/IpcInterface.md).\r\n */\r\n/**\r\n * @docs-group-description ECSQL\r\n * Types for working with [ECSQL]($docs/learning/ECSQL.md), [Spatial Queries]($docs/learning/SpatialQueries.md), and [ECSQL Geometry Functions]($docs/learning/GeometrySqlFuncs.md).\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package.\r\n */\r\n/**\r\n * @docs-group-description CloudStorage\r\n * Types for working with Cloud Storage.\r\n */\r\n/**\r\n * @docs-group-description Tween\r\n * Tweening library adapted from tween.js.\r\n */\r\n/**\r\n * @docs-group-description Tile\r\n * Types for working with 3d tile formats.\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * [Native applications]($docs/learning/NativeApps.md)\r\n */\r\n/**\r\n * @docs-group-description Localization\r\n * Classes for internationalization and localization of your app.\r\n */\r\n/**\r\n * @docs-group-description Authorization\r\n * Classes for managing AccessToken used for all requests in other classes.\r\n */\r\n/**\r\n * @docs-group-description RealityData\r\n * Types for working with the RealityData API.\r\n */\r\n/**\r\n * @docs-group-description MapLayers\r\n * Types for working with the MapLayers API.\r\n */\r\n/**\r\n * @docs-group-description Annotation\r\n * APIs for producing and manipulating annotations like text, dimensions, and labels.\r\n */\r\n"]}
1
+ {"version":3,"file":"core-common.js","sourceRoot":"","sources":["../../src/core-common.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*--------------------------------------------------------------------------------------------*/\nexport * from \"./AmbientOcclusion\";\nexport * from \"./AnalysisStyle\";\nexport * from \"./annotation/TextAnnotation\";\nexport * from \"./annotation/TextBlock\";\nexport * from \"./annotation/TextBlockGeometryProps\";\nexport * from \"./annotation/TextBlockLayoutResult\";\nexport * from \"./annotation/TextField\";\nexport * from \"./annotation/TextStyle\";\nexport * from \"./Atmosphere\";\nexport * from \"./AuthorizationClient\";\nexport * from \"./BackgroundMapProvider\";\nexport * from \"./BackgroundMapSettings\";\nexport * from \"./Base64EncodedString\";\nexport * from \"./BriefcaseTypes\";\nexport * from \"./Camera\";\nexport * from \"./CatalogIModel\";\nexport * from \"./ChangedElements\";\nexport * from \"./ChangedEntities\";\nexport * from \"./ChangesetProps\";\nexport * from \"./ClipStyle\";\nexport * from \"./Code\";\nexport * from \"./ColorByName\";\nexport * from \"./ColorDef\";\nexport * from \"./CommonLoggerCategory\";\nexport * from \"./ContextRealityModel\";\nexport * from \"./DbCloudContainerInfo\";\nexport * from \"./DisplayStyleSettings\";\nexport * from \"./domains/FunctionalElementProps\";\nexport * from \"./domains/GenericElementProps\";\nexport * from \"./ECSchemaProps\";\nexport * from \"./ECSqlTypes\";\nexport * from \"./ElementMesh\";\nexport * from \"./ElementProps\";\nexport * from \"./EmphasizeElementsProps\";\nexport * from \"./EntityProps\";\nexport * from \"./EntityReference\";\nexport * from \"./Environment\";\nexport * from \"./FeatureIndex\";\nexport * from \"./FeatureSymbology\";\nexport * from \"./FeatureTable\";\nexport * from \"./Fonts\";\nexport * from \"./Frustum\";\nexport * from \"./GenericInstanceFilter\";\nexport * from \"./GeoCoordinateServices\";\nexport * from \"./geometry/AdditionalTransform\";\nexport * from \"./geometry/AreaPattern\";\nexport * from \"./geometry/BoundingSphere\";\nexport * from \"./geometry/Cartographic\";\nexport * from \"./geometry/CoordinateReferenceSystem\";\nexport * from \"./geometry/ElementGeometry\";\nexport * from \"./geometry/FrustumPlanes\";\nexport * from \"./geometry/GeodeticDatum\";\nexport * from \"./geometry/GeodeticEllipsoid\";\nexport * from \"./geometry/GeometryStream\";\nexport * from \"./geometry/ImageGraphic\";\nexport * from \"./geometry/LineStyle\";\nexport * from \"./geometry/Placement\";\nexport * from \"./geometry/Projection\";\nexport * from \"./geometry/TextString\";\nexport * from \"./GeometryContainment\";\nexport * from \"./GeometryParams\";\nexport * from \"./GeometrySummary\";\nexport * from \"./Gradient\";\nexport * from \"./GraphicParams\";\nexport * from \"./GroundPlane\";\nexport * from \"./HiddenLine\";\nexport * from \"./Hilite\";\nexport * from \"./HSLColor\";\nexport * from \"./HSVColor\";\nexport * from \"./Image\";\nexport * from \"./IModel\";\nexport * from \"./IModelError\";\nexport * from \"./IModelVersion\";\nexport * from \"./ITwinCoreErrors\";\nexport * from \"./ipc/IpcSocket\";\nexport * from \"./ipc/IpcWebSocket\";\nexport * from \"./ipc/IpcWebSocketTransport\";\nexport * from \"./ipc/IpcSession\";\nexport * from \"./IpcAppProps\";\nexport * from \"./LightSettings\";\nexport * from \"./LinePixels\";\nexport * from \"./Localization\";\nexport * from \"./MapImagerySettings\";\nexport * from \"./MapLayerSettings\";\nexport * from \"./MassProperties\";\nexport * from \"./MaterialProps\";\nexport * from \"./ModelClipGroup\";\nexport * from \"./ModelProps\";\nexport * from \"./NativeAppProps\";\nexport * from \"./OctEncodedNormal\";\nexport * from \"./ConcurrentQuery\";\nexport * from \"./ECSqlReaderBase\";\nexport * from \"./ECSqlReader\";\nexport * from \"./PlanarClipMask\";\nexport * from \"./ModelGeometryChanges\";\nexport * from \"./PlanProjectionSettings\";\nexport * from \"./QPoint\";\nexport * from \"./RealityDataAccessProps\";\nexport * from \"./RealityModelDisplaySettings\";\nexport * from \"./RenderPolyline\";\nexport * from \"./RenderMaterial\";\nexport * from \"./RenderSchedule\";\nexport * from \"./RenderTexture\";\nexport * from \"./RgbColor\";\nexport * from \"./RpcManager\";\nexport * from \"./SessionProps\";\nexport * from \"./SkyBox\";\nexport * from \"./SolarCalculate\";\nexport * from \"./SolarShadows\";\nexport * from \"./SpatialClassification\";\nexport * from \"./SubCategoryAppearance\";\nexport * from \"./SubCategoryOverride\";\nexport * from \"./CesiumIonAssets\";\nexport * from \"./TerrainSettings\";\nexport * from \"./TextureMapping\";\nexport * from \"./TextureProps\";\nexport * from \"./TxnProps\";\nexport * from \"./ThematicDisplay\";\nexport * from \"./ContourDisplay\";\nexport * from \"./Thumbnail\";\nexport * from \"./TileProps\";\nexport * from \"./Tween\";\nexport * from \"./TxnAction\";\nexport * from \"./ViewDetails\";\nexport * from \"./ViewFlags\";\nexport * from \"./ViewProps\";\nexport * from \"./rpc/core/RpcConstants\";\nexport * from \"./rpc/core/RpcControl\";\nexport * from \"./rpc/core/RpcInvocation\";\nexport * from \"./rpc/core/RpcSessionInvocation\";\nexport * from \"./rpc/core/RpcMarshaling\";\nexport * from \"./rpc/core/RpcOperation\";\nexport * from \"./rpc/core/RpcPendingQueue\";\nexport * from \"./rpc/core/RpcProtocol\";\nexport * from \"./rpc/core/RpcRegistry\";\nexport * from \"./rpc/core/RpcRequest\";\nexport * from \"./rpc/core/RpcRequestContext\";\nexport * from \"./rpc/core/RpcRoutingToken\";\nexport * from \"./rpc/core/RpcPush\";\nexport * from \"./rpc/core/RpcConfiguration\";\nexport * from \"./rpc/DevToolsRpcInterface\";\nexport * from \"./rpc/IModelReadRpcInterface\";\nexport * from \"./rpc/IModelTileRpcInterface\";\nexport * from \"./rpc/SnapshotIModelRpcInterface\";\nexport * from \"./rpc/TestRpcManager\";\nexport * from \"./RpcInterface\";\nexport * from \"./rpc/web/BentleyCloudRpcManager\";\nexport * from \"./rpc/web/BentleyCloudRpcProtocol\";\nexport * from \"./rpc/web/OpenAPI\";\nexport * from \"./rpc/web/RpcMultipart\";\nexport * from \"./rpc/web/WebAppRpcProtocol\";\nexport * from \"./rpc/web/WebAppRpcRequest\";\nexport * from \"./rpc/web/WebAppRpcLogging\";\nexport * from \"./tile/B3dmTileIO\";\nexport * from \"./tile/CompositeTileIO\";\nexport * from \"./tile/ElementGraphics\";\nexport * from \"./tile/GltfTileIO\";\nexport * from \"./tile/I3dmTileIO\";\nexport * from \"./tile/IModelTileIO\";\nexport * from \"./tile/PntsTileIO\";\nexport * from \"./tile/TileIO\";\nexport * from \"./tile/TileMetadata\";\nexport * from \"./tile/Tileset3dSchema\";\nexport * from \"./WhiteOnWhiteReversalSettings\";\n\nexport * from \"./internal/cross-package\";\n\n/** @docs-package-description\n * The core-common package contains classes for working with iModels that can be used in both [frontend]($docs/learning/frontend/index.md) and [backend]($docs/learning/backend/index.md).\n */\n/**\n * @docs-group-description Entities\n * Definitions of the \"props\" interfaces and types that define the [wire format]($docs/learning/wireformat.md) for communication between the frontend and backend about entities (models, elements, etc) contained in an iModel.\n */\n/**\n * @docs-group-description Codes\n * Types for working with [Codes]($docs/bis/guide/fundamentals/codes.md).\n */\n/**\n * @docs-group-description Geometry\n * Types for working with geometry.\n */\n/**\n * @docs-group-description Serialization\n * Types for serializing geometry\n */\n/**\n * @docs-group-description Views\n * Types for defining graphical views of the contents of an iModel.\n */\n/**\n * @docs-group-description DisplayStyles\n * Types for describing how the contents of Views should be rendered.\n */\n/**\n * @docs-group-description Rendering\n * Types describing geometry, views, and symbology for consumption by a display system.\n */\n/**\n * @docs-group-description Symbology\n * Types that define the appearance of geometry.\n */\n/**\n * @docs-group-description iModels\n * Types for working with [iModels]($docs/learning/IModels.md) in both the frontend and backend.\n */\n/**\n * @docs-group-description RpcInterface\n * Types for working with [RpcInterfaces]($docs/learning/RpcInterface.md).\n */\n/**\n * @docs-group-description IpcSocket\n * Types for working with [IpcInterfaces]($docs/learning/IpcInterface.md).\n */\n/**\n * @docs-group-description ECSQL\n * Types for working with [ECSQL]($docs/learning/ECSQL.md), [Spatial Queries]($docs/learning/SpatialQueries.md), and [ECSQL Geometry Functions]($docs/learning/GeometrySqlFuncs.md).\n */\n/**\n * @docs-group-description Logging\n * Logger categories used by this package.\n */\n/**\n * @docs-group-description CloudStorage\n * Types for working with Cloud Storage.\n */\n/**\n * @docs-group-description Tween\n * Tweening library adapted from tween.js.\n */\n/**\n * @docs-group-description Tile\n * Types for working with 3d tile formats.\n */\n/**\n * @docs-group-description Utils\n * Miscellaneous utility classes.\n */\n/**\n * @docs-group-description NativeApp\n * [Native applications]($docs/learning/NativeApps.md)\n */\n/**\n * @docs-group-description Localization\n * Classes for internationalization and localization of your app.\n */\n/**\n * @docs-group-description Authorization\n * Classes for managing AccessToken used for all requests in other classes.\n */\n/**\n * @docs-group-description RealityData\n * Types for working with the RealityData API.\n */\n/**\n * @docs-group-description MapLayers\n * Types for working with the MapLayers API.\n */\n/**\n * @docs-group-description Annotation\n * APIs for producing and manipulating annotations like text, dimensions, and labels.\n */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FunctionalElementProps.js","sourceRoot":"","sources":["../../../src/domains/FunctionalElementProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Entities\r\n */\r\n\r\nimport { ElementProps, RelatedElementProps } from \"../ElementProps\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport interface FunctionalElementProps extends ElementProps {\r\n typeDefinition?: RelatedElementProps;\r\n}\r\n"]}
1
+ {"version":3,"file":"FunctionalElementProps.js","sourceRoot":"","sources":["../../../src/domains/FunctionalElementProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Entities\n */\n\nimport { ElementProps, RelatedElementProps } from \"../ElementProps\";\n\n/**\n * @public\n * @extensions\n */\nexport interface FunctionalElementProps extends ElementProps {\n typeDefinition?: RelatedElementProps;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GenericElementProps.js","sourceRoot":"","sources":["../../../src/domains/GenericElementProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Entities\r\n */\r\n\r\nimport { GeometricElement2dProps, RelatedElementProps } from \"../ElementProps\";\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport interface ViewAttachmentLabelProps extends GeometricElement2dProps {\r\n viewAttachment?: RelatedElementProps;\r\n}\r\n\r\n/**\r\n * @public\r\n * @extensions\r\n */\r\nexport interface CalloutProps extends GeometricElement2dProps {\r\n drawingModel?: RelatedElementProps;\r\n}\r\n"]}
1
+ {"version":3,"file":"GenericElementProps.js","sourceRoot":"","sources":["../../../src/domains/GenericElementProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","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 Entities\n */\n\nimport { GeometricElement2dProps, RelatedElementProps } from \"../ElementProps\";\n\n/**\n * @public\n * @extensions\n */\nexport interface ViewAttachmentLabelProps extends GeometricElement2dProps {\n viewAttachment?: RelatedElementProps;\n}\n\n/**\n * @public\n * @extensions\n */\nexport interface CalloutProps extends GeometricElement2dProps {\n drawingModel?: RelatedElementProps;\n}\n"]}