@itwin/core-common 5.2.0-dev.8 → 5.3.0-dev.2

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 (82) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/lib/cjs/BriefcaseTypes.d.ts +2 -0
  3. package/lib/cjs/BriefcaseTypes.d.ts.map +1 -1
  4. package/lib/cjs/BriefcaseTypes.js.map +1 -1
  5. package/lib/cjs/ElementProps.d.ts +8 -0
  6. package/lib/cjs/ElementProps.d.ts.map +1 -1
  7. package/lib/cjs/ElementProps.js.map +1 -1
  8. package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
  9. package/lib/cjs/FeatureSymbology.js +0 -2
  10. package/lib/cjs/FeatureSymbology.js.map +1 -1
  11. package/lib/cjs/annotation/TextAnnotation.d.ts +1 -1
  12. package/lib/cjs/annotation/TextAnnotation.d.ts.map +1 -1
  13. package/lib/cjs/annotation/TextAnnotation.js +1 -1
  14. package/lib/cjs/annotation/TextAnnotation.js.map +1 -1
  15. package/lib/cjs/annotation/TextBlock.d.ts +114 -104
  16. package/lib/cjs/annotation/TextBlock.d.ts.map +1 -1
  17. package/lib/cjs/annotation/TextBlock.js +227 -108
  18. package/lib/cjs/annotation/TextBlock.js.map +1 -1
  19. package/lib/cjs/annotation/TextBlockLayoutResult.d.ts +3 -5
  20. package/lib/cjs/annotation/TextBlockLayoutResult.d.ts.map +1 -1
  21. package/lib/cjs/annotation/TextBlockLayoutResult.js.map +1 -1
  22. package/lib/cjs/annotation/TextField.d.ts +86 -0
  23. package/lib/cjs/annotation/TextField.d.ts.map +1 -0
  24. package/lib/cjs/annotation/TextField.js +10 -0
  25. package/lib/cjs/annotation/TextField.js.map +1 -0
  26. package/lib/cjs/annotation/TextStyle.d.ts +63 -1
  27. package/lib/cjs/annotation/TextStyle.d.ts.map +1 -1
  28. package/lib/cjs/annotation/TextStyle.js +44 -4
  29. package/lib/cjs/annotation/TextStyle.js.map +1 -1
  30. package/lib/cjs/core-common.d.ts +1 -0
  31. package/lib/cjs/core-common.d.ts.map +1 -1
  32. package/lib/cjs/core-common.js +1 -0
  33. package/lib/cjs/core-common.js.map +1 -1
  34. package/lib/cjs/internal/annotations/FieldFormatter.d.ts +18 -0
  35. package/lib/cjs/internal/annotations/FieldFormatter.d.ts.map +1 -0
  36. package/lib/cjs/internal/annotations/FieldFormatter.js +66 -0
  37. package/lib/cjs/internal/annotations/FieldFormatter.js.map +1 -0
  38. package/lib/cjs/internal/cross-package.d.ts +1 -0
  39. package/lib/cjs/internal/cross-package.d.ts.map +1 -1
  40. package/lib/cjs/internal/cross-package.js +4 -1
  41. package/lib/cjs/internal/cross-package.js.map +1 -1
  42. package/lib/esm/BriefcaseTypes.d.ts +2 -0
  43. package/lib/esm/BriefcaseTypes.d.ts.map +1 -1
  44. package/lib/esm/BriefcaseTypes.js.map +1 -1
  45. package/lib/esm/ElementProps.d.ts +8 -0
  46. package/lib/esm/ElementProps.d.ts.map +1 -1
  47. package/lib/esm/ElementProps.js.map +1 -1
  48. package/lib/esm/FeatureSymbology.d.ts.map +1 -1
  49. package/lib/esm/FeatureSymbology.js +0 -2
  50. package/lib/esm/FeatureSymbology.js.map +1 -1
  51. package/lib/esm/annotation/TextAnnotation.d.ts +1 -1
  52. package/lib/esm/annotation/TextAnnotation.d.ts.map +1 -1
  53. package/lib/esm/annotation/TextAnnotation.js +1 -1
  54. package/lib/esm/annotation/TextAnnotation.js.map +1 -1
  55. package/lib/esm/annotation/TextBlock.d.ts +114 -104
  56. package/lib/esm/annotation/TextBlock.d.ts.map +1 -1
  57. package/lib/esm/annotation/TextBlock.js +223 -107
  58. package/lib/esm/annotation/TextBlock.js.map +1 -1
  59. package/lib/esm/annotation/TextBlockLayoutResult.d.ts +3 -5
  60. package/lib/esm/annotation/TextBlockLayoutResult.d.ts.map +1 -1
  61. package/lib/esm/annotation/TextBlockLayoutResult.js.map +1 -1
  62. package/lib/esm/annotation/TextField.d.ts +86 -0
  63. package/lib/esm/annotation/TextField.d.ts.map +1 -0
  64. package/lib/esm/annotation/TextField.js +9 -0
  65. package/lib/esm/annotation/TextField.js.map +1 -0
  66. package/lib/esm/annotation/TextStyle.d.ts +63 -1
  67. package/lib/esm/annotation/TextStyle.d.ts.map +1 -1
  68. package/lib/esm/annotation/TextStyle.js +43 -3
  69. package/lib/esm/annotation/TextStyle.js.map +1 -1
  70. package/lib/esm/core-common.d.ts +1 -0
  71. package/lib/esm/core-common.d.ts.map +1 -1
  72. package/lib/esm/core-common.js +1 -0
  73. package/lib/esm/core-common.js.map +1 -1
  74. package/lib/esm/internal/annotations/FieldFormatter.d.ts +18 -0
  75. package/lib/esm/internal/annotations/FieldFormatter.d.ts.map +1 -0
  76. package/lib/esm/internal/annotations/FieldFormatter.js +62 -0
  77. package/lib/esm/internal/annotations/FieldFormatter.js.map +1 -0
  78. package/lib/esm/internal/cross-package.d.ts +1 -0
  79. package/lib/esm/internal/cross-package.d.ts.map +1 -1
  80. package/lib/esm/internal/cross-package.js +1 -0
  81. package/lib/esm/internal/cross-package.js.map +1 -1
  82. package/package.json +6 -6
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Annotation
3
3
  */
4
- import { Id64String } from "@itwin/core-bentley";
5
- import { TextStyleSettingsProps } from "./TextStyle";
4
+ import { ListMarker, TextStyleSettingsProps } from "./TextStyle";
5
+ import { FieldFormatOptions, FieldPropertyHost, FieldPropertyPath } from "./TextField";
6
6
  /** Options supplied to [[TextBlockComponent.clearStyleOverrides]] to control how the style overrides are cleared on the component and its child components.
7
7
  * @beta
8
8
  */
@@ -41,16 +41,30 @@ export interface TextBlockStringifyOptions {
41
41
  * Default: "undefined" - use "\t".
42
42
  */
43
43
  tabsAsSpaces?: number;
44
+ /** A string to insert in between the list marker and the list item.
45
+ * Default: " " - a single space.
46
+ */
47
+ listMarkerBreak?: string;
44
48
  }
45
- /** Abstract representation of any of the building blocks that make up a [[TextBlock]] document - namely [[Run]]s, [[Paragraph]]s, and [[TextBlock]] itself.
46
- * The [[TextBlock]] can specify an [AnnotationTextStyle]($backend) that formats its contents. Each component can specify an optional [[styleOverrides]] to customize that formatting.
49
+ /**
50
+ * Context information that may be useful when converting a [[TextBlock]] to a string.
51
+ * @beta
52
+ */
53
+ export interface TextBlockStringifyContext {
54
+ /** The current depth of the text block in the document structure. */
55
+ depth: number;
56
+ }
57
+ /**
58
+ * Abstract representation of any of the building blocks that make up a [[TextBlock]] document - namely [[Run]]s and [[StructuralTextBlockComponent]]s.
59
+ * The [[TextBlock]] can specify an [AnnotationTextStyle]($backend) that formats its contents.
60
+ * Each component can specify an optional [[styleOverrides]] to customize that formatting.
47
61
  * @beta
48
62
  */
49
63
  export declare abstract class TextBlockComponent {
50
64
  private _styleOverrides;
51
65
  /** @internal */
52
66
  protected constructor(props?: TextBlockComponentProps);
53
- /** Deviations in individual properties of the [[TextStyleSettings]] in the [AnnotationTextStyle]($backend) specified by `styleId` on the [[TextBlock]].
67
+ /** Deviations in individual properties of the [[TextStyleSettings]] in the [AnnotationTextStyle]($backend).
54
68
  * For example, if the style uses the "Arial" font, you can override that by settings `styleOverrides.fontName` to "Comic Sans".
55
69
  * @see [[clearStyleOverrides]] to reset this to an empty object.
56
70
  */
@@ -63,7 +77,9 @@ export declare abstract class TextBlockComponent {
63
77
  /** Create a deep copy of this component. */
64
78
  abstract clone(): TextBlockComponent;
65
79
  /** Compute a string representation of the contents of this component and all of its sub-components. */
66
- abstract stringify(options?: TextBlockStringifyOptions): string;
80
+ abstract stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string;
81
+ /** Returns true if this component has no content or children. */
82
+ abstract get isEmpty(): boolean;
67
83
  /**
68
84
  * Returns true if the string representation of this component consists only of whitespace characters.
69
85
  * Useful for checking if the component is visually empty (producing no graphics) or contains only spaces, tabs, or line breaks.
@@ -90,7 +106,7 @@ export type RunProps = TextRunProps | FractionRunProps | TabRunProps | LineBreak
90
106
  */
91
107
  export declare namespace Run {
92
108
  /** Create a run from its JSON representation.
93
- * @see [[TextRun.create]], [[FractionRun.create]], and [[LineBreakRun.create]] to create a run directly.
109
+ * @see [[TextRun.create]], [[FractionRun.create]], [[FieldRun.create]], [[TabRun.create]], and [[LineBreakRun.create]] to create a run directly.
94
110
  */
95
111
  function fromJSON(props: RunProps): Run;
96
112
  }
@@ -129,6 +145,7 @@ export declare class TextRun extends TextBlockComponent {
129
145
  clone(): TextRun;
130
146
  toJSON(): TextRunProps;
131
147
  static create(props?: Omit<TextRunProps, "type">): TextRun;
148
+ get isEmpty(): boolean;
132
149
  /** Simply returns [[content]]. */
133
150
  stringify(): string;
134
151
  equals(other: TextBlockComponent): boolean;
@@ -159,6 +176,7 @@ export declare class FractionRun extends TextBlockComponent {
159
176
  toJSON(): FractionRunProps;
160
177
  clone(): FractionRun;
161
178
  static create(props?: Omit<FractionRunProps, "type">): FractionRun;
179
+ get isEmpty(): boolean;
162
180
  /** Formats the fraction as a string with the [[numerator]] and [[denominator]] separated by [[TextBlockStringifyOptions.fractionSeparator]]. */
163
181
  stringify(options?: TextBlockStringifyOptions): string;
164
182
  equals(other: TextBlockComponent): boolean;
@@ -178,8 +196,9 @@ export declare class LineBreakRun extends TextBlockComponent {
178
196
  readonly type = "linebreak";
179
197
  private constructor();
180
198
  toJSON(): LineBreakRunProps;
181
- static create(props?: TextBlockComponentProps): LineBreakRun;
199
+ static create(props?: Omit<LineBreakRunProps, "type">): LineBreakRun;
182
200
  clone(): LineBreakRun;
201
+ get isEmpty(): boolean;
183
202
  /** Simply returns [[TextBlockStringifyOptions.lineBreak]]. */
184
203
  stringify(options?: TextBlockStringifyOptions): string;
185
204
  equals(other: TextBlockComponent): boolean;
@@ -201,6 +220,7 @@ export declare class TabRun extends TextBlockComponent {
201
220
  toJSON(): TabRunProps;
202
221
  clone(): TabRun;
203
222
  static create(props?: Omit<TabRunProps, "type">): TabRun;
223
+ get isEmpty(): boolean;
204
224
  /**
205
225
  * Converts a [[TabRun]] to its string representation.
206
226
  * If the `tabsAsSpaces` option is provided, returns a string of spaces of the specified length.
@@ -209,56 +229,6 @@ export declare class TabRun extends TextBlockComponent {
209
229
  stringify(options?: TextBlockStringifyOptions): string;
210
230
  equals(other: TextBlockComponent): boolean;
211
231
  }
212
- /** A chain of property accesses that resolves to a primitive value that forms the basis of the displayed content
213
- * of a [[FieldRun]].
214
- * The simplest property paths consist of a [[propertyName]] and nothing else, where `propertyName` identifies
215
- * a primitive property.
216
- * If `propertyName` identifies a struct or array property, then additional [[accessors]] are required to identify the specific value.
217
- * If `propertyName` (including any [[accessors]]) resolves to a JSON property, then additional [[jsonAccessors]] are required to identify a specific value within the JSON.
218
- * Some examples:
219
- * ```
220
- * | Access String | propertyName | accessors | jsonAccessors |
221
- * | ------------- | ------------ | --------- | ------------- |
222
- * | name | "name" | undefined | undefined |
223
- * | spouse.name | "spouse" | [name] | undefined |
224
- * | colors[2] | "colors" | [2] | undefined |
225
- * | spouse.favoriteRestaurants[1].address | "spouse" | ["favoriteRestaurants", 1, "address"] | undefined |
226
- * | jsonProperties.contactInfo.email | "jsonProperties" | undefined | ["contactInfo", "email"] |
227
- * | spouse.jsonProperties.contactInfo.phoneNumbers[0].areaCode | "spouse" | ["jsonProperties"] | ["contactInfo", "phoneNumbers", 0, "areaCode"] |
228
- * ```
229
- * @beta
230
- */
231
- export interface FieldPropertyPath {
232
- /** The name of the BIS property of the [[FieldPropertyHost]] that serves as the root of the path. */
233
- propertyName: string;
234
- /** Property names and/or array indices describing the path from [[propertyName]] to the ultimate BIS property. */
235
- accessors?: Array<string | number>;
236
- /** If [[propertyName]] and [[accessors]] (if defined) resolve to a BIS property of extended type `Json`, property names and/or
237
- * array indices for selecting a primitive value within the JSON.
238
- */
239
- jsonAccessors?: Array<string | number>;
240
- }
241
- /** Describes the source of the property value against which a [[FieldPropertyPath]] is evaluated.
242
- * A field property is always hosted by an [Element]($backend). It may be a property of the element's BIS class itself,
243
- * or that of one of its [ElementAspect]($backend)s.
244
- * The [[schemaName]] and [[className]] should always identify the exact class that contains [[FieldPropertyPath.propertyName]] - not a subclass thereof.
245
- * @beta
246
- */
247
- export interface FieldPropertyHost {
248
- /** The Id of the [Element]($backend) that hosts the property. */
249
- elementId: Id64String;
250
- /** The name of the schema containing the class identified by [[className]]. */
251
- schemaName: string;
252
- /** The name of the exact class (not a subclass) containing the property identified by [[FieldPropertyPath.propertyName]]. */
253
- className: string;
254
- }
255
- /** Placeholder type for a description of how to format the raw property value resolved by a [[FieldPropertyPath]] into a [[FieldRun]]'s display string.
256
- * *** COMING SOON ***
257
- * @beta
258
- */
259
- export interface FieldFormatter {
260
- [k: string]: any;
261
- }
262
232
  /** JSON representation of a [[FieldRun]].
263
233
  * @beta
264
234
  */
@@ -269,15 +239,21 @@ export interface FieldRunProps extends TextBlockComponentProps {
269
239
  propertyHost: FieldPropertyHost;
270
240
  /** Describes how to obtain the property value from [[propertyHost]]. */
271
241
  propertyPath: FieldPropertyPath;
272
- /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]]. */
273
- formatter?: FieldFormatter;
274
- /** The field's most recently evaluated display string. */
242
+ /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].
243
+ * The specific options used depend upon the field's [[propertyType]].
244
+ */
245
+ formatOptions?: FieldFormatOptions;
246
+ /** The field's most recently evaluated display string.
247
+ * @note It is unnecessary to specify this when creating a field as part of an element like a [[TextAnnotation2d]], because
248
+ * all of the element's fields will be re-evaluated when inserting or updating the element in the iModel.
249
+ */
275
250
  cachedContent?: string;
276
251
  }
277
252
  /** A [[Run]] that displays the formatted value of a property of some [Element]($backend).
278
253
  * When a [[TextBlock]] containing a [[FieldRun]] is written into the iModel as an [ITextAnnotation]($backend) element,
279
254
  * a dependency is established between the two elements via the [ElementDrivesTextAnnotation]($backend) relationship such that
280
- * whenever the source element specified by [[propertyHost]] is modified, the field(s) in the `ITextAnnotation` element are automatically
255
+ * whenever the source element specified by [[propertyHost]] is modified or the `ITextAnnotation` element is inserted or updated in the iModel,
256
+ * the field(s) in the `ITextAnnotation` element are automatically
281
257
  * recalculated, causing their [[cachedContent]] to update. If the field's display string cannot be evaluated (for example, because the specified element or
282
258
  * property does not exist), then its cached content is set to [[FieldRun.invalidContentIndicator]].
283
259
  * A [[FieldRun]] displays its [[cachedContent]] in the same way that [[TextRun]]s display their `content`, including word wrapping where appropriate.
@@ -292,8 +268,10 @@ export declare class FieldRun extends TextBlockComponent {
292
268
  readonly propertyHost: Readonly<FieldPropertyHost>;
293
269
  /** Describes how to obtain the property value from [[propertyHost]]. */
294
270
  readonly propertyPath: Readonly<FieldPropertyPath>;
295
- /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]]. */
296
- readonly formatter?: FieldFormatter;
271
+ /** Specifies how to format the property value obtained from [[propertyPath]] into a string to be stored in [[cachedContent]].
272
+ * The specific options used depend upon the [[FieldPropertyType]].
273
+ */
274
+ readonly formatOptions?: FieldFormatOptions;
297
275
  private _cachedContent;
298
276
  /** The field's most recently evaluated display string. */
299
277
  get cachedContent(): string;
@@ -306,6 +284,7 @@ export declare class FieldRun extends TextBlockComponent {
306
284
  toJSON(): FieldRunProps;
307
285
  /** Create a deep copy of this FieldRun. */
308
286
  clone(): FieldRun;
287
+ get isEmpty(): boolean;
309
288
  /** Convert this FieldRun to a simple string representation. */
310
289
  stringify(): string;
311
290
  /** Returns true if `this` is equivalent to `other`. */
@@ -315,29 +294,49 @@ export declare class FieldRun extends TextBlockComponent {
315
294
  * @beta
316
295
  */
317
296
  export interface ParagraphProps extends TextBlockComponentProps {
318
- /** The collection of [[Run]]s within the paragraph.
319
- * Default: an empty array.
320
- */
321
- runs?: RunProps[];
297
+ children?: Array<ListProps | RunProps>;
322
298
  }
323
- /** A collection of [[Run]]s within a [[TextBlock]]. Each paragraph within a text block is laid out on a separate line.
299
+ /** A collection of [[Run]]s and [[List]]s. Paragraphs can be appended to [[List]]s and [[TextBlock]]s.
300
+ * Each paragraph is laid out on a separate line. If included in a [[List]], the paragraph will be treated as a list item.
324
301
  * @beta
325
302
  */
326
303
  export declare class Paragraph extends TextBlockComponent {
327
- /** The runs within the paragraph. You can modify the contents of this array to change the content of the paragraph. */
328
- readonly runs: Run[];
304
+ readonly type = "paragraph";
305
+ readonly children: Array<List | Run>;
329
306
  private constructor();
330
- toJSON(): ParagraphProps;
331
307
  /** Create a paragraph from its JSON representation. */
332
- static create(props?: ParagraphProps): Paragraph;
308
+ static create(props?: Omit<ParagraphProps, "type">): Paragraph;
309
+ clearStyleOverrides(options?: ClearTextStyleOptions): void;
310
+ get isEmpty(): boolean;
333
311
  clone(): Paragraph;
334
- /**
335
- * Clears any [[styleOverrides]] applied to this Paragraph.
336
- * Will also clear [[styleOverrides]] from all child components unless [[ClearTextStyleOptions.preserveChildrenOverrides]] is `true`.
337
- */
312
+ toJSON(): ParagraphProps;
313
+ /** Compute a string representation of this paragraph by concatenating the string representations of all of its children. */
314
+ stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string;
315
+ equals(other: TextBlockComponent): boolean;
316
+ }
317
+ /** JSON representation of a [[List]].
318
+ * @beta
319
+ */
320
+ export interface ListProps extends TextBlockComponentProps {
321
+ readonly type: "list";
322
+ children?: ParagraphProps[];
323
+ }
324
+ /** A collection of list items ([[Paragraph]]s). Lists can be appended to [[Paragraph]]s.
325
+ * Lists will be laid out on a new line. Each item in a list is laid out on a separate line.
326
+ * @beta
327
+ */
328
+ export declare class List extends TextBlockComponent {
329
+ readonly type = "list";
330
+ readonly children: Paragraph[];
331
+ protected constructor(props?: ListProps);
332
+ /** Create a list from its JSON representation. */
333
+ static create(props?: Omit<ListProps, "type">): List;
338
334
  clearStyleOverrides(options?: ClearTextStyleOptions): void;
339
- /** Compute a string representation of this paragraph by concatenating the string representations of all of its [[runs]]. */
340
- stringify(options?: TextBlockStringifyOptions): string;
335
+ get isEmpty(): boolean;
336
+ clone(): List;
337
+ toJSON(): ListProps;
338
+ /** Compute a string representation of this list by concatenating the string representations of all of its [[children]]. */
339
+ stringify(options?: TextBlockStringifyOptions, context?: TextBlockStringifyContext): string;
341
340
  equals(other: TextBlockComponent): boolean;
342
341
  }
343
342
  /** Describes the relative alignment of the content of a [[TextBlock]].
@@ -361,8 +360,6 @@ export interface TextBlockMargins {
361
360
  * @beta
362
361
  */
363
362
  export interface TextBlockProps extends TextBlockComponentProps {
364
- /** The ID of an [AnnotationTextStyle]($backend) stored in the iModel from which the base [[TextStyleSettings]] applied to the [[TextBlock]] originates. */
365
- styleId: Id64String;
366
363
  /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.
367
364
  * A value less than or equal to zero indicates no wrapping is to be applied.
368
365
  * Default: 0
@@ -372,21 +369,15 @@ export interface TextBlockProps extends TextBlockComponentProps {
372
369
  justification?: TextBlockJustification;
373
370
  /** The margins to surround the document content. Default: 0 margins on all sides */
374
371
  margins?: Partial<TextBlockMargins>;
375
- /** The paragraphs within the text block. Default: an empty array. */
376
- paragraphs?: ParagraphProps[];
372
+ children?: ParagraphProps[];
377
373
  }
378
- /** Represents a formatted text document consisting of a series of [[Paragraph]]s, each laid out on a separate line and containing their own content in the form of [[Run]]s.
379
- * You can change the content of the document by directly modifying the contents of its [[paragraphs]], or via [[appendParagraph]] and [[appendRun]].
374
+ /** Represents a formatted text document consisting of a series of [[Paragraph]]s, each laid out on a separate line and containing their own content.
380
375
  * No word-wrapping is applied to the document unless a [[width]] greater than zero is specified.
381
376
  * @see [[TextAnnotation]] to position a text block as an annotation in 2d or 3d space.
382
377
  * @beta
383
378
  */
384
379
  export declare class TextBlock extends TextBlockComponent {
385
- /** The ID of the [AnnotationTextStyle]($backend) that provides the base formatting for the contents of this TextBlock.
386
- * @note Assigning to this property retains all style overrides on the TextBlock and its child components.
387
- * Call [[clearStyleOverrides]] to clear the TextBlock's and optionally all children's style overrides.
388
- */
389
- styleId: Id64String;
380
+ readonly children: Paragraph[];
390
381
  /** The width of the document in meters. Lines that would exceed this width are instead wrapped around to the next line if possible.
391
382
  * A value less than or equal to zero indicates no wrapping is to be applied.
392
383
  * Default: 0
@@ -396,33 +387,52 @@ export declare class TextBlock extends TextBlockComponent {
396
387
  justification: TextBlockJustification;
397
388
  /** The margins of the document. */
398
389
  margins: TextBlockMargins;
399
- /** The ordered list of paragraphs within the document. */
400
- readonly paragraphs: Paragraph[];
401
390
  private constructor();
391
+ clearStyleOverrides(options?: ClearTextStyleOptions): void;
402
392
  toJSON(): TextBlockProps;
403
393
  /** Create a text block from its JSON representation. */
404
- static create(props: TextBlockProps): TextBlock;
405
- /** Create an empty text block containing no [[paragraphs]] and an empty [[styleId]]. */
406
- static createEmpty(): TextBlock;
394
+ static create(props?: Omit<TextBlockProps, "type">): TextBlock;
407
395
  /** Returns true if every paragraph in this text block is empty. */
408
396
  get isEmpty(): boolean;
409
397
  clone(): TextBlock;
410
- /**
411
- * Clears any [[styleOverrides]] applied to this TextBlock.
412
- * Will also clear [[styleOverrides]] from all child components unless [[ClearTextStyleOptions.preserveChildrenOverrides]] is `true`.
413
- */
414
- clearStyleOverrides(options?: ClearTextStyleOptions): void;
415
- /** Compute a string representation of the document's contents by concatenating the string representations of each of its [[paragraphs]], separated by [[TextBlockStringifyOptions.paragraphBreak]]. */
398
+ /** Compute a string representation of the document's contents by concatenating the string representations of each of its [[children]], separated by [[TextBlockStringifyOptions.paragraphBreak]]. */
416
399
  stringify(options?: TextBlockStringifyOptions): string;
417
400
  /** Add and return a new paragraph.
418
401
  * By default, the paragraph will be created with no [[styleOverrides]], so that it inherits the style of this block.
419
- * @param seedFromLast If true and [[paragraphs]] is not empty, the new paragraph will inherit the style overrides of the last [[Paragraph]] in this block.
402
+ * @param seedFromLast If true and [[children]] is not empty, the new paragraph will inherit the style overrides of the last child in this block.
403
+ * @note Be sure you pass in [[ParagraphProps]] and not [[Paragraph]] or style overrides will be ignored.
420
404
  */
421
- appendParagraph(seedFromLast?: boolean): Paragraph;
405
+ appendParagraph(props?: ParagraphProps, seedFromLast?: boolean): Paragraph;
422
406
  /** Append a run to the last [[Paragraph]] in this block.
423
- * If the block contains no [[paragraphs]], a new one will first be created using [[appendParagraph]].
407
+ * If the block contains no [[children]], a new [[Paragraph]] will first be created using [[appendParagraph]].
424
408
  */
425
409
  appendRun(run: Run): void;
426
410
  equals(other: TextBlockComponent): boolean;
427
411
  }
412
+ /**
413
+ * A union of all the [[TextBlockComponent]]s that can contain other components.
414
+ * @beta
415
+ */
416
+ export type StructuralTextBlockComponent = List | Paragraph | TextBlock;
417
+ /**
418
+ * Recursively traverses a [[StructuralTextBlockComponent]] tree, yielding each child component along with its parent container.
419
+ * This generator enables depth-first iteration over all components in a text block structure, including paragraphs, lists, and runs.
420
+ *
421
+ * @param parent The root container whose children should be traversed.
422
+ * @returns An IterableIterator yielding objects with the child component and its parent container.
423
+ * @beta
424
+ */
425
+ export declare function traverseTextBlockComponent(parent: StructuralTextBlockComponent): IterableIterator<{
426
+ parent: StructuralTextBlockComponent;
427
+ child: List | Paragraph | Run;
428
+ }>;
429
+ /**
430
+ * Returns the formatted marker text for a list item based on the marker type and item number.
431
+ * Supports ordered and unordered list markers, including alphabetic, Roman numeral, and numeric formats.
432
+ * @param marker The type of list marker to use.
433
+ * @param num The item number in the list.
434
+ * @returns The formatted marker string for the list item.
435
+ * @beta
436
+ */
437
+ export declare function getMarkerText(marker: ListMarker, num: number): string;
428
438
  //# sourceMappingURL=TextBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextBlock.d.ts","sourceRoot":"","sources":["../../../src/annotation/TextBlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextBlock.d.ts","sourceRoot":"","sources":["../../../src/annotation/TextBlock.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAA2C,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;CACf;AAWD;;;;;GAKG;AACH,8BAAsB,kBAAkB;IACtC,OAAO,CAAC,eAAe,CAAyB;IAEhD,gBAAgB;IAChB,SAAS,aAAa,KAAK,CAAC,EAAE,uBAAuB;IAIrD;;;OAGG;IACH,IAAW,cAAc,IAAI,sBAAsB,CAElD;IAED,IAAW,cAAc,CAAC,SAAS,EAAE,sBAAsB,EAE1D;IAED,8DAA8D;IACvD,mBAAmB,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAIlE,4HAA4H;IAC5H,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,4CAA4C;aAC5B,KAAK,IAAI,kBAAkB;IAE3C,uGAAuG;aACvF,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAE3G,iEAAiE;IACjE,aAAoB,OAAO,IAAI,OAAO,CAAC;IAEvC;;;MAGE;IACF,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,yDAAyD;IAClD,MAAM,IAAI,uBAAuB;IAMxC,uDAAuD;IAChD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAgBlD;AAED;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,WAAW,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAEzG;;;;GAIG;AACH,yBAAiB,GAAG,CAAC;IACnB;;OAEG;IACH,SAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,GAAG,CAQ7C;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,uBAAuB;IAC3D,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,kBAAkB;IAC7C,iDAAiD;IACjD,SAAgB,IAAI,UAAU;IAC9B,6DAA6D;IACtD,OAAO,EAAE,MAAM,CAAC;IACvB,+EAA+E;IACxE,aAAa,EAAE,aAAa,CAAC;IAEpC,OAAO;IAMS,KAAK,IAAI,OAAO;IAIhB,MAAM,IAAI,YAAY;WASxB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,OAAO;IAIjE,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED,kCAAkC;IAClB,SAAS,IAAI,MAAM;IAInB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,mJAAmJ;IACnJ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kJAAkJ;IAClJ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,iDAAiD;IACjD,SAAgB,IAAI,cAAc;IAClC,gCAAgC;IACzB,SAAS,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAC3B,WAAW,EAAE,MAAM,CAAC;IAE3B,OAAO;IAMS,MAAM,IAAI,gBAAgB;IAS1B,KAAK,IAAI,WAAW;WAItB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,WAAW;IAIzE,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED,gJAAgJ;IAChI,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAKtD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;IAClD,iDAAiD;IACjD,SAAgB,IAAI,eAAe;IAEnC,OAAO;IAIS,MAAM,IAAI,iBAAiB;WAO7B,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAI5C,KAAK,IAAI,YAAY;IAIrC,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED,8DAA8D;IAC9C,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAItD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,uBAAuB;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAED;;;GAGG;AACH,qBAAa,MAAO,SAAQ,kBAAkB;IAC5C,iDAAiD;IACjD,SAAgB,IAAI,SAAS;IAEb,MAAM,IAAI,WAAW;IAOrB,KAAK,IAAI,MAAM;WAIjB,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,MAAM;IAI/D,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED;;;;KAIC;IACe,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAQtD,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,uBAAuB;IAC5D,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,uFAAuF;IACvF,YAAY,EAAE,iBAAiB,CAAC;IAChC,wEAAwE;IACxE,YAAY,EAAE,iBAAiB,CAAC;IAChC;;OAEG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,kBAAkB;IAC9C,6EAA6E;IAC7E,OAAc,uBAAuB,SAAU;IAE/C,iDAAiD;IACjD,SAAgB,IAAI,WAAW;IAC/B,uFAAuF;IACvF,SAAgB,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC1D,wEAAwE;IACxE,SAAgB,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC1D;;OAEG;IACH,SAAgB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnD,OAAO,CAAC,cAAc,CAAS;IAE/B,0DAA0D;IAC1D,IAAW,aAAa,IAAI,MAAM,CAEjC;IAED,uEAAuE;IAChE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI1D,OAAO;IASP,sDAAsD;WACxC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG,QAAQ;IAUlE,uDAAuD;IACvC,MAAM,IAAI,aAAa;IAmBvC,2CAA2C;IAC3B,KAAK,IAAI,QAAQ;IAIjC,IAAoB,OAAO,IAAI,OAAO,CAErC;IAED,+DAA+D;IAC/C,SAAS,IAAI,MAAM;IAInC,uDAAuD;IACvC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAwC3D;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,uBAAuB;IAC7D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,SAAU,SAAQ,kBAAkB;IAC/C,SAAgB,IAAI,eAAe;IACnC,SAAgB,QAAQ,EAAE,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAE5C,OAAO;IAQP,uDAAuD;WACzC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,SAAS;IAIrD,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAI1E,IAAoB,OAAO,YAE1B;IAEe,KAAK,IAAI,SAAS;IAIlB,MAAM,IAAI,cAAc;IAOxC,4HAA4H;IAC5G,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAI3F,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,uBAAuB;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,IAAK,SAAQ,kBAAkB;IAC1C,SAAgB,IAAI,UAAU;IAC9B,SAAgB,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtC,SAAS,aAAa,KAAK,CAAC,EAAE,SAAS;IAMvC,kDAAkD;WACpC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,IAAI;IAI3C,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAI1E,IAAoB,OAAO,YAE1B;IAEe,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,SAAS;IAQnC,2HAA2H;IAC3G,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAU3F,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CAG3D;AAGD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,2GAA2G;IAC3G,KAAK,EAAE,MAAM,CAAC;IACd,yGAAyG;IACzG,GAAG,EAAE,MAAM,CAAC;IACZ,4GAA4G;IAC5G,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,uBAAuB;IAC7D;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,kBAAkB;IAC/C,SAAgB,QAAQ,EAAE,SAAS,EAAE,CAAC;IAEtC;;;OAGG;IACI,KAAK,EAAE,MAAM,CAAC;IACrB,+CAA+C;IACxC,aAAa,EAAE,sBAAsB,CAAC;IAC7C,mCAAmC;IAC5B,OAAO,EAAE,gBAAgB,CAAC;IAEjC,OAAO;IAgBS,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAI1D,MAAM,IAAI,cAAc;IAUxC,wDAAwD;WAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,SAAS;IAIrE,mEAAmE;IACnE,IAAoB,OAAO,IAAI,OAAO,CAErC;IAEe,KAAK,IAAI,SAAS;IAIlC,qMAAqM;IAC9L,SAAS,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM;IAI7D;;;;OAIG;IACI,eAAe,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,YAAY,UAAQ,GAAG,SAAS;IAQ/E;;OAEG;IACI,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKhB,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO;CA6B3D;AAED;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE;;;;;;;GAOG;AACH,wBAAiB,0BAA0B,CAAC,MAAM,EAAE,4BAA4B,GAAG,gBAAgB,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,KAAK,EAAE,IAAI,GAAG,SAAS,GAAG,GAAG,CAAA;CAAE,CAAC,CAO3K;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BrE"}