@getodk/xforms-engine 0.13.0 → 0.14.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 (71) hide show
  1. package/dist/client/BaseItem.d.ts +6 -0
  2. package/dist/client/GroupNode.d.ts +4 -4
  3. package/dist/client/MarkdownNode.d.ts +33 -0
  4. package/dist/client/RankNode.d.ts +2 -4
  5. package/dist/client/SelectNode.d.ts +2 -5
  6. package/dist/client/TextRange.d.ts +2 -2
  7. package/dist/client/hierarchy.d.ts +1 -2
  8. package/dist/client/index.d.ts +1 -1
  9. package/dist/client/node-types.d.ts +1 -1
  10. package/dist/index.js +10411 -327
  11. package/dist/index.js.map +1 -1
  12. package/dist/instance/hierarchy.d.ts +5 -6
  13. package/dist/instance/markdown/MarkdownNode.d.ts +75 -0
  14. package/dist/instance/text/TextChunk.d.ts +0 -1
  15. package/dist/instance/text/TextRange.d.ts +2 -1
  16. package/dist/instance/text/markdownFormat.d.ts +3 -0
  17. package/dist/lib/reactivity/createItemCollection.d.ts +5 -7
  18. package/dist/parse/body/BodyDefinition.d.ts +2 -8
  19. package/dist/parse/body/GroupElementDefinition.d.ts +22 -0
  20. package/dist/parse/body/control/ItemsetDefinition.d.ts +3 -0
  21. package/dist/parse/expression/ItemPropertyExpression.d.ts +6 -0
  22. package/dist/parse/model/{SubtreeDefinition.d.ts → GroupDefinition.d.ts} +4 -3
  23. package/dist/parse/model/NodeDefinition.d.ts +7 -8
  24. package/dist/parse/model/RepeatDefinition.d.ts +1 -1
  25. package/dist/parse/model/RootDefinition.d.ts +1 -1
  26. package/dist/parse/text/LabelDefinition.d.ts +4 -5
  27. package/dist/solid.js +10411 -327
  28. package/dist/solid.js.map +1 -1
  29. package/package.json +3 -2
  30. package/src/client/BaseItem.ts +7 -0
  31. package/src/client/GroupNode.ts +4 -10
  32. package/src/client/MarkdownNode.ts +53 -0
  33. package/src/client/RankNode.ts +2 -5
  34. package/src/client/SelectNode.ts +2 -6
  35. package/src/client/TextRange.ts +2 -2
  36. package/src/client/hierarchy.ts +0 -2
  37. package/src/client/index.ts +1 -1
  38. package/src/client/node-types.ts +0 -1
  39. package/src/instance/Group.ts +1 -1
  40. package/src/instance/children/buildChildren.ts +1 -17
  41. package/src/instance/children/normalizeChildInitOptions.ts +44 -59
  42. package/src/instance/hierarchy.ts +0 -6
  43. package/src/instance/markdown/MarkdownNode.ts +115 -0
  44. package/src/instance/text/TextChunk.ts +0 -5
  45. package/src/instance/text/TextRange.ts +5 -3
  46. package/src/instance/text/markdownFormat.ts +214 -0
  47. package/src/integration/xpath/adapter/names.ts +0 -1
  48. package/src/lib/reactivity/createItemCollection.ts +25 -9
  49. package/src/parse/body/BodyDefinition.ts +7 -34
  50. package/src/parse/body/GroupElementDefinition.ts +47 -0
  51. package/src/parse/body/control/ItemsetDefinition.ts +7 -0
  52. package/src/parse/expression/ItemPropertyExpression.ts +12 -0
  53. package/src/parse/model/{SubtreeDefinition.ts → GroupDefinition.ts} +6 -8
  54. package/src/parse/model/NodeDefinition.ts +8 -9
  55. package/src/parse/model/RepeatDefinition.ts +2 -2
  56. package/src/parse/model/RootDefinition.ts +2 -2
  57. package/src/parse/text/LabelDefinition.ts +4 -9
  58. package/dist/client/SubtreeNode.d.ts +0 -56
  59. package/dist/instance/Subtree.d.ts +0 -38
  60. package/dist/instance/text/FormattedTextStub.d.ts +0 -1
  61. package/dist/parse/body/group/BaseGroupDefinition.d.ts +0 -40
  62. package/dist/parse/body/group/LogicalGroupDefinition.d.ts +0 -6
  63. package/dist/parse/body/group/PresentationGroupDefinition.d.ts +0 -11
  64. package/dist/parse/body/group/StructuralGroupDefinition.d.ts +0 -6
  65. package/src/client/SubtreeNode.ts +0 -61
  66. package/src/instance/Subtree.ts +0 -102
  67. package/src/instance/text/FormattedTextStub.ts +0 -8
  68. package/src/parse/body/group/BaseGroupDefinition.ts +0 -89
  69. package/src/parse/body/group/LogicalGroupDefinition.ts +0 -11
  70. package/src/parse/body/group/PresentationGroupDefinition.ts +0 -28
  71. package/src/parse/body/group/StructuralGroupDefinition.ts +0 -11
@@ -10,13 +10,12 @@ import { RepeatRangeControlled } from './repeat/RepeatRangeControlled.ts';
10
10
  import { RepeatRangeUncontrolled } from './repeat/RepeatRangeUncontrolled.ts';
11
11
  import { Root } from './Root.ts';
12
12
  import { SelectControl } from './SelectControl.ts';
13
- import { Subtree } from './Subtree.ts';
14
13
  import { TriggerControl } from './TriggerControl.ts';
15
14
  import { UploadControl } from './UploadControl.ts';
16
15
  export type RepeatRange = RepeatRangeControlled | RepeatRangeUncontrolled;
17
- export type AnyNode = PrimaryInstance | Root | Group | Subtree | RepeatRange | RepeatInstance | AnyNote | AnyModelValue | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
18
- export type AnyParentNode = PrimaryInstance | Root | Group | Subtree | RepeatRange | RepeatInstance;
19
- export type GeneralParentNode = Root | Group | Subtree | RepeatInstance;
20
- export type AnyChildNode = Root | Group | Subtree | RepeatRange | RepeatInstance | AnyModelValue | AnyNote | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
21
- export type GeneralChildNode = Group | Subtree | RepeatRange | AnyModelValue | AnyNote | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
16
+ export type AnyNode = PrimaryInstance | Root | Group | RepeatRange | RepeatInstance | AnyNote | AnyModelValue | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
17
+ export type AnyParentNode = PrimaryInstance | Root | Group | RepeatRange | RepeatInstance;
18
+ export type GeneralParentNode = Root | Group | RepeatInstance;
19
+ export type AnyChildNode = Root | Group | RepeatRange | RepeatInstance | AnyModelValue | AnyNote | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
20
+ export type GeneralChildNode = Group | RepeatRange | AnyModelValue | AnyNote | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
22
21
  export type AnyValueNode = AnyModelValue | AnyNote | AnyInputControl | AnyRangeControl | RankControl | SelectControl | TriggerControl | UploadControl;
@@ -0,0 +1,75 @@
1
+ import { AnchorMarkdownNode, ChildMarkdownNode as ClientChildMarkdownNode, HtmlMarkdownNode as ClientHtmlMarkdownNode, ParentMarkdownNode as ClientParentMarkdownNode, StyledMarkdownNode as ClientStyledMarkdownNode, ElementName, MarkdownNode, MarkdownProperty } from '../../client';
2
+ declare abstract class ParentMarkdownNode implements ClientParentMarkdownNode {
3
+ readonly children: MarkdownNode[];
4
+ readonly role = "parent";
5
+ abstract elementName: ElementName;
6
+ constructor(children: MarkdownNode[]);
7
+ }
8
+ export declare class Heading1 extends ParentMarkdownNode {
9
+ readonly elementName = "h1";
10
+ }
11
+ export declare class Heading2 extends ParentMarkdownNode {
12
+ readonly elementName = "h2";
13
+ }
14
+ export declare class Heading3 extends ParentMarkdownNode {
15
+ readonly elementName = "h3";
16
+ }
17
+ export declare class Heading4 extends ParentMarkdownNode {
18
+ readonly elementName = "h4";
19
+ }
20
+ export declare class Heading5 extends ParentMarkdownNode {
21
+ readonly elementName = "h5";
22
+ }
23
+ export declare class Heading6 extends ParentMarkdownNode {
24
+ readonly elementName = "h6";
25
+ }
26
+ export declare class Strong extends ParentMarkdownNode {
27
+ readonly elementName = "strong";
28
+ }
29
+ export declare class Underline extends ParentMarkdownNode {
30
+ readonly elementName = "u";
31
+ }
32
+ export declare class Emphasis extends ParentMarkdownNode {
33
+ readonly elementName = "em";
34
+ }
35
+ export declare class OrderedList extends ParentMarkdownNode {
36
+ readonly elementName = "ol";
37
+ }
38
+ export declare class UnorderedList extends ParentMarkdownNode {
39
+ readonly elementName = "ul";
40
+ }
41
+ export declare class ListItem extends ParentMarkdownNode {
42
+ readonly elementName = "li";
43
+ }
44
+ export declare class Anchor extends ParentMarkdownNode implements AnchorMarkdownNode {
45
+ readonly elementName = "a";
46
+ readonly url: string;
47
+ constructor(children: MarkdownNode[], url: string);
48
+ }
49
+ declare abstract class StyledMarkdownNode implements ClientParentMarkdownNode {
50
+ readonly children: MarkdownNode[];
51
+ readonly role = "parent";
52
+ abstract elementName: ElementName;
53
+ readonly properties: MarkdownProperty | undefined;
54
+ constructor(children: MarkdownNode[], properties: MarkdownProperty | undefined);
55
+ }
56
+ export declare class Paragraph extends StyledMarkdownNode implements ClientStyledMarkdownNode {
57
+ readonly elementName = "p";
58
+ }
59
+ export declare class Span extends StyledMarkdownNode implements ClientStyledMarkdownNode {
60
+ readonly elementName = "span";
61
+ }
62
+ export declare class Div extends StyledMarkdownNode implements ClientStyledMarkdownNode {
63
+ readonly elementName = "div";
64
+ }
65
+ export declare class ChildMarkdownNode implements ClientChildMarkdownNode {
66
+ readonly role = "child";
67
+ readonly value: string;
68
+ constructor(value: string);
69
+ }
70
+ export declare class Html implements ClientHtmlMarkdownNode {
71
+ readonly role = "html";
72
+ readonly unsafeHtml: string;
73
+ constructor(unsafeHtml: string);
74
+ }
75
+ export {};
@@ -5,7 +5,6 @@ export declare class TextChunk implements ClientTextChunk {
5
5
  readonly context: TranslationContext;
6
6
  readonly source: TextChunkSource;
7
7
  readonly asString: string;
8
- get formatted(): Record<PropertyKey, unknown>;
9
8
  get language(): ActiveLanguage;
10
9
  constructor(context: TranslationContext, source: TextChunkSource, asString: string);
11
10
  }
@@ -1,4 +1,5 @@
1
1
  import { JRResourceURL } from '../../../../common/src/jr-resources/JRResourceURL.ts';
2
+ import { MarkdownNode } from '../../client/MarkdownNode.ts';
2
3
  import { TextRange as ClientTextRange, TextChunk, TextOrigin, TextRole } from '../../client/TextRange.ts';
3
4
  export interface MediaSources {
4
5
  image?: JRResourceURL;
@@ -11,7 +12,7 @@ export declare class TextRange<Role extends TextRole, Origin extends TextOrigin>
11
12
  protected readonly chunks: readonly TextChunk[];
12
13
  protected readonly mediaSources?: MediaSources | undefined;
13
14
  [Symbol.iterator](): Generator<TextChunk, void, unknown>;
14
- get formatted(): Record<PropertyKey, unknown>;
15
+ get formatted(): MarkdownNode[];
15
16
  get asString(): string;
16
17
  get imageSource(): JRResourceURL | undefined;
17
18
  get audioSource(): JRResourceURL | undefined;
@@ -0,0 +1,3 @@
1
+ import { MarkdownNode } from '../../client';
2
+ import { TextChunk } from '../../client/TextRange.ts';
3
+ export declare function format(chunks: readonly TextChunk[]): MarkdownNode[];
@@ -1,13 +1,11 @@
1
1
  import { Accessor } from 'solid-js';
2
- import { SelectItem } from '../../client/SelectNode.ts';
3
- import { RankItem } from '../../client/RankNode.ts';
4
- import { SelectControl } from '../../instance/SelectControl.ts';
2
+ import { BaseItem } from '../../client/BaseItem.ts';
5
3
  import { RankControl } from '../../instance/RankControl.ts';
6
- export type ItemCollectionControl = RankControl | SelectControl;
7
- type Item = RankItem | SelectItem;
4
+ import { SelectControl } from '../../instance/SelectControl.ts';
5
+ type ItemCollectionControl = RankControl | SelectControl;
8
6
  /**
9
7
  * Creates a reactive computation of a {@link ItemCollectionControl}'s
10
- * {@link Item}s, in support of the field's `valueOptions`.
8
+ * {@link BaseItem}s, in support of the field's `valueOptions`.
11
9
  *
12
10
  * - The control defined with static `<item>`s will compute to an corresponding
13
11
  * static list of items.
@@ -17,5 +15,5 @@ type Item = RankItem | SelectItem;
17
15
  * their appropriate dependencies (whether relative to the itemset item node,
18
16
  * referencing a form's `itext` translations, etc).
19
17
  */
20
- export declare const createItemCollection: (control: ItemCollectionControl) => Accessor<readonly Item[]>;
18
+ export declare const createItemCollection: (control: ItemCollectionControl) => Accessor<readonly BaseItem[]>;
21
19
  export {};
@@ -7,9 +7,7 @@ import { RankControlDefinition } from './control/RankControlDefinition.ts';
7
7
  import { AnySelectControlDefinition } from './control/SelectControlDefinition.ts';
8
8
  import { TriggerControlDefinition } from './control/TriggerControlDefinition.ts';
9
9
  import { UploadControlDefinition } from './control/UploadControlDefinition.ts';
10
- import { LogicalGroupDefinition } from './group/LogicalGroupDefinition.ts';
11
- import { PresentationGroupDefinition } from './group/PresentationGroupDefinition.ts';
12
- import { StructuralGroupDefinition } from './group/StructuralGroupDefinition.ts';
10
+ import { GroupElementDefinition } from './GroupElementDefinition.ts';
13
11
  import { RepeatElementDefinition } from './RepeatElementDefinition.ts';
14
12
  import { UnsupportedBodyElementDefinition } from './UnsupportedBodyElementDefinition.ts';
15
13
  export interface BodyElementParentContext {
@@ -18,14 +16,10 @@ export interface BodyElementParentContext {
18
16
  readonly element: Element;
19
17
  }
20
18
  export type ControlElementDefinition = AnySelectControlDefinition | InputControlDefinition | RangeControlDefinition | RankControlDefinition | TriggerControlDefinition | UploadControlDefinition;
21
- type SupportedBodyElementDefinition = RepeatElementDefinition | LogicalGroupDefinition | PresentationGroupDefinition | StructuralGroupDefinition | ControlElementDefinition;
19
+ type SupportedBodyElementDefinition = ControlElementDefinition | GroupElementDefinition | RepeatElementDefinition;
22
20
  export type AnyBodyElementDefinition = SupportedBodyElementDefinition | UnsupportedBodyElementDefinition;
23
21
  export type BodyElementDefinitionArray = readonly AnyBodyElementDefinition[];
24
22
  export type AnyBodyElementType = AnyBodyElementDefinition['type'];
25
- export type AnyGroupElementDefinition = Extract<AnyBodyElementDefinition, {
26
- readonly type: `${string}-group`;
27
- }>;
28
- export declare const groupElementDefinition: (element: AnyBodyElementDefinition) => AnyGroupElementDefinition | null;
29
23
  export type AnyControlElementDefinition = Extract<AnyBodyElementDefinition, {
30
24
  readonly category: 'control';
31
25
  }>;
@@ -0,0 +1,22 @@
1
+ import { LabelDefinition } from '../text/LabelDefinition.ts';
2
+ import { XFormDefinition } from '../XFormDefinition.ts';
3
+ import { StructureElementAppearanceDefinition } from './appearance/structureElementAppearanceParser.ts';
4
+ import { BodyElementDefinitionArray, BodyElementParentContext } from './BodyDefinition.ts';
5
+ import { BodyElementDefinition } from './BodyElementDefinition.ts';
6
+ /**
7
+ * As per the spec: https://getodk.github.io/xforms-spec/#groups
8
+ *
9
+ * A group combines elements together.
10
+ * The group can have a label, and if so is referred to as a "presentation group".
11
+ * The group can have a ref, and if so is referred to as a "logical group".
12
+ */
13
+ export declare class GroupElementDefinition extends BodyElementDefinition<'group'> {
14
+ readonly category = "structure";
15
+ readonly type = "group";
16
+ readonly children: BodyElementDefinitionArray;
17
+ readonly reference: string | null;
18
+ readonly appearances: StructureElementAppearanceDefinition;
19
+ readonly label: LabelDefinition | null;
20
+ static isCompatible(localName: string): boolean;
21
+ constructor(form: XFormDefinition, parent: BodyElementParentContext, element: Element);
22
+ }
@@ -1,4 +1,6 @@
1
+ import { StaticElement } from '../../../integration/xpath/static-dom/StaticElement.ts';
1
2
  import { ItemsetElement } from '../../../lib/dom/query.ts';
3
+ import { DependentExpression } from '../../expression/abstract/DependentExpression.ts';
2
4
  import { ItemsetNodesetExpression } from '../../expression/ItemsetNodesetExpression.ts';
3
5
  import { ItemsetValueExpression } from '../../expression/ItemsetValueExpression.ts';
4
6
  import { ItemsetLabelDefinition } from '../../text/ItemsetLabelDefinition.ts';
@@ -15,4 +17,5 @@ export declare class ItemsetDefinition extends BodyElementDefinition<'itemset'>
15
17
  readonly nodes: ItemsetNodesetExpression;
16
18
  readonly value: ItemsetValueExpression;
17
19
  constructor(form: XFormDefinition, parent: AnySelectControlDefinition | RankControlDefinition, element: ItemsetElement);
20
+ getPropertiesExpressions(propertiesNodes: StaticElement[]): Array<DependentExpression<'string'>>;
18
21
  }
@@ -0,0 +1,6 @@
1
+ import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
2
+ import { DependentExpression } from './abstract/DependentExpression.ts';
3
+ export declare class ItemPropertyExpression extends DependentExpression<'string'> {
4
+ static from(propertiesNodes: StaticElement[]): ItemPropertyExpression[];
5
+ constructor(propertyName: string);
6
+ }
@@ -1,13 +1,14 @@
1
1
  import { StaticElement } from '../../integration/xpath/static-dom/StaticElement.ts';
2
2
  import { NamespaceDeclarationMap } from '../../lib/names/NamespaceDeclarationMap.ts';
3
3
  import { QualifiedName } from '../../lib/names/QualifiedName.ts';
4
- import { AnyBodyElementDefinition, AnyGroupElementDefinition } from '../body/BodyDefinition.ts';
4
+ import { AnyBodyElementDefinition } from '../body/BodyDefinition.ts';
5
+ import { GroupElementDefinition } from '../body/GroupElementDefinition.ts';
5
6
  import { BindDefinition } from './BindDefinition.ts';
6
7
  import { DescendentNodeDefinition } from './DescendentNodeDefinition.ts';
7
8
  import { ChildNodeDefinition, ParentNodeDefinition } from './NodeDefinition.ts';
8
- export declare class SubtreeDefinition extends DescendentNodeDefinition<'subtree', AnyGroupElementDefinition | null> {
9
+ export declare class GroupDefinition extends DescendentNodeDefinition<'group', GroupElementDefinition | null> {
9
10
  readonly template: StaticElement;
10
- readonly type = "subtree";
11
+ readonly type = "group";
11
12
  readonly namespaceDeclarations: NamespaceDeclarationMap;
12
13
  readonly qualifiedName: QualifiedName;
13
14
  readonly children: readonly ChildNodeDefinition[];
@@ -4,10 +4,10 @@ import { QualifiedName } from '../../lib/names/QualifiedName.ts';
4
4
  import { AnyBodyElementDefinition } from '../body/BodyDefinition.ts';
5
5
  import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
6
6
  import { BindDefinition } from './BindDefinition.ts';
7
+ import { GroupDefinition } from './GroupDefinition.ts';
7
8
  import { LeafNodeDefinition } from './LeafNodeDefinition.ts';
8
9
  import { AnyRepeatDefinition } from './RepeatDefinition.ts';
9
10
  import { RootDefinition } from './RootDefinition.ts';
10
- import { SubtreeDefinition } from './SubtreeDefinition.ts';
11
11
  /**
12
12
  * Corresponds to a model instance root node, i.e.:
13
13
  *
@@ -27,10 +27,9 @@ export type RootNodeType = 'root';
27
27
  export type RepeatType = 'repeat';
28
28
  /**
29
29
  * Corresponds to a model instance subtree which **does not** correspond to a
30
- * <repeat> in the form definition. This will typically correspond to a <group>,
31
- * but this is not strictly necessary per spec (hence the distinct name).
30
+ * <repeat> in the form definition.
32
31
  */
33
- export type SubtreeNodeType = 'subtree';
32
+ export type GroupNodeType = 'group';
34
33
  /**
35
34
  * Corresponds to a model instance leaf node, i.e. one of:
36
35
  *
@@ -38,9 +37,9 @@ export type SubtreeNodeType = 'subtree';
38
37
  * - Any attribute corresponding to a bind's `nodeset` expression
39
38
  */
40
39
  export type LeafNodeType = 'leaf-node';
41
- export type NodeDefinitionType = RootNodeType | RepeatType | SubtreeNodeType | LeafNodeType;
42
- export type ParentNodeDefinition = RootDefinition | AnyRepeatDefinition | SubtreeDefinition;
43
- export type ChildNodeDefinition = AnyRepeatDefinition | LeafNodeDefinition | SubtreeDefinition;
40
+ export type NodeDefinitionType = RootNodeType | RepeatType | GroupNodeType | LeafNodeType;
41
+ export type ParentNodeDefinition = RootDefinition | AnyRepeatDefinition | GroupDefinition;
42
+ export type ChildNodeDefinition = AnyRepeatDefinition | GroupDefinition | LeafNodeDefinition;
44
43
  export declare abstract class NodeDefinition<Type extends NodeDefinitionType> implements NamedSubtreeDefinition {
45
44
  readonly bind: BindDefinition;
46
45
  abstract readonly type: Type;
@@ -55,4 +54,4 @@ export declare abstract class NodeDefinition<Type extends NodeDefinitionType> im
55
54
  readonly nodeset: string;
56
55
  constructor(bind: BindDefinition);
57
56
  }
58
- export type AnyNodeDefinition = RootDefinition | AnyRepeatDefinition | SubtreeDefinition | LeafNodeDefinition;
57
+ export type AnyNodeDefinition = RootDefinition | AnyRepeatDefinition | GroupDefinition | LeafNodeDefinition;
@@ -18,7 +18,7 @@ export interface UncontrolledRepeatDefinition extends RepeatDefinition {
18
18
  * "repeat", as defined by a form, where those concepts include:
19
19
  *
20
20
  * - A {@link RepeatElementDefinition}—corresponding to a `<repeat>` {@link https://getodk.github.io/xforms-spec/#body-elements | body element}—which is associated with the nodeset referencing the "repeat template" and
21
- * all "repeat instances" (see below points describing both concepts in more detail). The presence of such a body element determines whether to produce a repeat definition (rather than e.g. a {@link SubtreeDefinition}).
21
+ * all "repeat instances" (see below points describing both concepts in more detail). The presence of such a body element determines whether to produce a repeat definition (rather than e.g. a {@link GroupDefinition}).
22
22
  *
23
23
  * - A "repeat template", defined by a form either
24
24
  * explicitly,
@@ -24,5 +24,5 @@ export declare class RootDefinition extends NodeDefinition<'root'> {
24
24
  readonly isTranslated = false;
25
25
  constructor(form: XFormDefinition, model: ModelDefinition, submission: SubmissionDefinition, classes: BodyClassList);
26
26
  buildSubtree(parent: ParentNodeDefinition, node: StaticElement): readonly ChildNodeDefinition[];
27
- toJSON(): Omit<this, "form" | "toJSON" | "bind" | "root" | "model" | "bodyElement" | "buildSubtree">;
27
+ toJSON(): Omit<this, "form" | "toJSON" | "bind" | "model" | "root" | "bodyElement" | "buildSubtree">;
28
28
  }
@@ -1,14 +1,13 @@
1
1
  import { XFormDefinition } from '../../parse/XFormDefinition.ts';
2
- import { AnyGroupElementDefinition } from '../../parse/body/BodyDefinition.ts';
3
- import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
4
2
  import { AnyControlDefinition } from '../body/control/ControlDefinition.ts';
5
- import { BaseGroupDefinition } from '../body/group/BaseGroupDefinition.ts';
3
+ import { GroupElementDefinition } from '../body/GroupElementDefinition.ts';
4
+ import { RepeatElementDefinition } from '../body/RepeatElementDefinition.ts';
6
5
  import { TextElementDefinition } from './abstract/TextElementDefinition.ts';
7
- export type LabelOwner = AnyControlDefinition | AnyGroupElementDefinition | RepeatElementDefinition;
6
+ export type LabelOwner = AnyControlDefinition | GroupElementDefinition | RepeatElementDefinition;
8
7
  export declare class LabelDefinition extends TextElementDefinition<'label'> {
9
8
  static forControl(form: XFormDefinition, control: AnyControlDefinition): LabelDefinition | null;
10
9
  static forRepeatGroup(form: XFormDefinition, repeat: RepeatElementDefinition): LabelDefinition | null;
11
- static forGroup(form: XFormDefinition, group: BaseGroupDefinition<any>): LabelDefinition | null;
10
+ static forGroup(form: XFormDefinition, group: GroupElementDefinition): LabelDefinition | null;
12
11
  readonly role = "label";
13
12
  private constructor();
14
13
  }