@heartlandone/vega 2.35.0-RTE-preview → 2.35.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 (145) hide show
  1. package/dist/cjs/{form-field-controller-slimmer-7ef32059.js → form-field-controller-slimmer-dbb321ad.js} +45 -22
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/vega-checkbox_2.cjs.entry.js +1 -1
  4. package/dist/cjs/vega-color-picker.cjs.entry.js +1 -1
  5. package/dist/cjs/vega-combo-box.cjs.entry.js +1 -1
  6. package/dist/cjs/vega-date-picker_2.cjs.entry.js +37 -1
  7. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  8. package/dist/cjs/vega-file-uploader.cjs.entry.js +1 -1
  9. package/dist/cjs/vega-form.cjs.entry.js +10 -5
  10. package/dist/cjs/vega-image-uploader.cjs.entry.js +1 -1
  11. package/dist/cjs/vega-input-credit-card.cjs.entry.js +1 -1
  12. package/dist/cjs/vega-input-numeric.cjs.entry.js +1 -1
  13. package/dist/cjs/vega-input-phone-number.cjs.entry.js +50 -4
  14. package/dist/cjs/vega-input-range.cjs.entry.js +1 -1
  15. package/dist/cjs/vega-input-select.cjs.entry.js +1 -1
  16. package/dist/cjs/vega-input.cjs.entry.js +1 -1
  17. package/dist/cjs/vega-radio_2.cjs.entry.js +1 -1
  18. package/dist/cjs/vega-rich-text-content.cjs.entry.js +104 -102
  19. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +49 -1
  20. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +1 -1
  21. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +1 -1
  22. package/dist/cjs/vega-signature-capture.cjs.entry.js +1 -1
  23. package/dist/cjs/vega-stepper.cjs.entry.js +1 -1
  24. package/dist/cjs/vega-tab-group_2.cjs.entry.js +35 -24
  25. package/dist/cjs/vega-textarea.cjs.entry.js +1 -1
  26. package/dist/cjs/vega-time-picker_2.cjs.entry.js +1 -1
  27. package/dist/cjs/vega-toggle-switch.cjs.entry.js +1 -1
  28. package/dist/cjs/vega.cjs.js +1 -1
  29. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +37 -0
  30. package/dist/collection/components/vega-date-picker/vega-date-picker.js +20 -0
  31. package/dist/collection/components/vega-form/vega-form.js +13 -4
  32. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +38 -3
  33. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +35 -0
  34. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +14 -18
  35. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +8 -10
  36. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +104 -0
  37. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +9 -7
  38. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +9 -7
  39. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +10 -12
  40. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +9 -104
  41. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +14 -13
  42. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +8 -10
  43. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +9 -11
  44. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +2 -0
  45. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +49 -0
  46. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.js +22 -22
  47. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.js +9 -1
  48. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-direction-button-renderer.js +4 -1
  49. package/dist/collection/helpers/slimmers/field-error-ui-controller-slimmer.js +10 -16
  50. package/dist/collection/helpers/slimmers/form-field-message-translator.js +17 -0
  51. package/dist/collection/helpers/slimmers/form-field-valid-invoke-slimmer.js +6 -3
  52. package/dist/collection/helpers/validator/form-field-controller.js +9 -3
  53. package/dist/collection/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.js +7 -2
  54. package/dist/esm/{form-field-controller-slimmer-af969d03.js → form-field-controller-slimmer-add614f1.js} +46 -23
  55. package/dist/esm/loader.js +1 -1
  56. package/dist/esm/polyfills/core-js.js +0 -0
  57. package/dist/esm/polyfills/dom.js +0 -0
  58. package/dist/esm/polyfills/es5-html-element.js +0 -0
  59. package/dist/esm/polyfills/index.js +0 -0
  60. package/dist/esm/polyfills/system.js +0 -0
  61. package/dist/esm/vega-checkbox_2.entry.js +1 -1
  62. package/dist/esm/vega-color-picker.entry.js +1 -1
  63. package/dist/esm/vega-combo-box.entry.js +1 -1
  64. package/dist/esm/vega-date-picker_2.entry.js +37 -1
  65. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  66. package/dist/esm/vega-file-uploader.entry.js +1 -1
  67. package/dist/esm/vega-form.entry.js +10 -5
  68. package/dist/esm/vega-image-uploader.entry.js +1 -1
  69. package/dist/esm/vega-input-credit-card.entry.js +1 -1
  70. package/dist/esm/vega-input-numeric.entry.js +1 -1
  71. package/dist/esm/vega-input-phone-number.entry.js +50 -4
  72. package/dist/esm/vega-input-range.entry.js +1 -1
  73. package/dist/esm/vega-input-select.entry.js +1 -1
  74. package/dist/esm/vega-input.entry.js +1 -1
  75. package/dist/esm/vega-radio_2.entry.js +1 -1
  76. package/dist/esm/vega-rich-text-content.entry.js +105 -103
  77. package/dist/esm/vega-rich-text-editor_4.entry.js +49 -1
  78. package/dist/esm/vega-selection-chip_2.entry.js +1 -1
  79. package/dist/esm/vega-selection-tile_2.entry.js +1 -1
  80. package/dist/esm/vega-signature-capture.entry.js +1 -1
  81. package/dist/esm/vega-stepper.entry.js +1 -1
  82. package/dist/esm/vega-tab-group_2.entry.js +35 -24
  83. package/dist/esm/vega-textarea.entry.js +1 -1
  84. package/dist/esm/vega-time-picker_2.entry.js +1 -1
  85. package/dist/esm/vega-toggle-switch.entry.js +1 -1
  86. package/dist/esm/vega.js +1 -1
  87. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +3 -0
  88. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +9 -0
  89. package/dist/types/components/vega-form/types.d.ts +1 -0
  90. package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +19 -0
  91. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +9 -0
  92. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +1 -0
  93. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +13 -7
  94. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +14 -0
  95. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.d.ts +6 -4
  96. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +6 -4
  97. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +5 -5
  98. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +7 -11
  99. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +4 -4
  100. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +6 -7
  101. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +5 -6
  102. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.d.ts +31 -0
  103. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.d.ts +6 -6
  104. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-selected-target-controller.d.ts +1 -0
  105. package/dist/types/components.d.ts +21 -0
  106. package/dist/types/helpers/slimmers/field-error-ui-controller-slimmer.d.ts +2 -7
  107. package/dist/types/helpers/slimmers/form-field-message-translator.d.ts +12 -0
  108. package/dist/types/helpers/validator/form-field-controller.d.ts +5 -2
  109. package/dist/types/helpers/validator/validation-rule-handler/form-field-validation-rule-handler-chain.d.ts +2 -2
  110. package/dist/types/helpers/validator/validator.d.ts +1 -1
  111. package/dist/types/types/components.type.d.ts +1 -0
  112. package/dist/vega/p-0634f06b.entry.js +1 -0
  113. package/dist/vega/{p-3a6c9b9d.entry.js → p-0be711b6.entry.js} +1 -1
  114. package/dist/vega/{p-1b3e0a9f.entry.js → p-193d2c51.entry.js} +1 -1
  115. package/dist/vega/{p-465fa96d.entry.js → p-1a64716b.entry.js} +1 -1
  116. package/dist/vega/p-21d59593.entry.js +1 -0
  117. package/dist/vega/{p-1dd9f841.entry.js → p-2bbcb1ca.entry.js} +1 -1
  118. package/dist/vega/p-3126edd6.entry.js +1 -0
  119. package/dist/vega/{p-b64981de.entry.js → p-4873be94.entry.js} +1 -1
  120. package/dist/vega/{p-84113217.entry.js → p-5760619c.entry.js} +1 -1
  121. package/dist/vega/{p-36db2554.entry.js → p-5dd923e0.entry.js} +1 -1
  122. package/dist/vega/p-5f377954.js +1 -1
  123. package/dist/vega/p-7258cb9c.entry.js +1 -0
  124. package/dist/vega/{p-6d43b123.entry.js → p-7ecbf764.entry.js} +1 -1
  125. package/dist/vega/{p-45c88f7f.entry.js → p-8fc170d9.entry.js} +1 -1
  126. package/dist/vega/{p-0283712e.entry.js → p-b0e824df.entry.js} +2 -2
  127. package/dist/vega/p-b57792b7.js +1 -0
  128. package/dist/vega/{p-0bd9b1d9.entry.js → p-b6f09c98.entry.js} +1 -1
  129. package/dist/vega/{p-843b13e6.entry.js → p-c016c3b2.entry.js} +1 -1
  130. package/dist/vega/{p-b450bf46.entry.js → p-c56965fc.entry.js} +1 -1
  131. package/dist/vega/{p-fe388812.entry.js → p-c6f544fe.entry.js} +1 -1
  132. package/dist/vega/{p-e923637d.entry.js → p-e093b2c5.entry.js} +1 -1
  133. package/dist/vega/{p-6661a462.entry.js → p-e480babd.entry.js} +1 -1
  134. package/dist/vega/{p-19556584.entry.js → p-eaf6c3d8.entry.js} +1 -1
  135. package/dist/vega/{p-8067bd31.entry.js → p-f2cc36ae.entry.js} +1 -1
  136. package/dist/vega/{p-a0e90d5d.entry.js → p-f48711fa.entry.js} +1 -1
  137. package/dist/vega/p-fc6ea557.entry.js +1 -0
  138. package/dist/vega/vega.esm.js +1 -1
  139. package/package.json +1 -1
  140. package/dist/vega/p-0da2de05.entry.js +0 -1
  141. package/dist/vega/p-2f32a9ba.js +0 -1
  142. package/dist/vega/p-8be7b62c.entry.js +0 -1
  143. package/dist/vega/p-96f0ef53.entry.js +0 -1
  144. package/dist/vega/p-dbec03ed.entry.js +0 -1
  145. package/dist/vega/p-de13b747.entry.js +0 -1
@@ -4,7 +4,7 @@ import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlim
4
4
  import { s as sanitizeVegaComponent } from './component-cae24190.js';
5
5
  import { s as stateEntityRenderingRegistry, B as BlockAnnotation, N as NodeAnnotation, c as NodeAnnotationTypeEnum, I as InternalAnnotationTypeEnum, e as VegaDarkModeStyleController } from './node-annotation.abstract-d7d52bce.js';
6
6
  import { T as TextNodeRenderingRegistry, I as ImageAnnotationAction, a as TextColorToolbarButtonSlimmer } from './image-annotation-action-a8e00f28.js';
7
- import { Z as ZERO_WIDTH_SPACE, L as LinkAnnotationAction, I as ImageAnnotation, b as RTETextBlock, c as RTEListItemBlock, R as RTEListBlock, a as RTEImageBlock, d as waitForComponentDidRender } from './list-block-ba82c846.js';
7
+ import { Z as ZERO_WIDTH_SPACE, L as LinkAnnotationAction, b as RTETextBlock, I as ImageAnnotation, a as RTEImageBlock, R as RTEListBlock, d as waitForComponentDidRender } from './list-block-ba82c846.js';
8
8
  import { i as isNonNullable } from './type-guard-158f6d7a.js';
9
9
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-9ab05523.js';
10
10
  import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
@@ -25,22 +25,19 @@ import './typography-396de03f.js';
25
25
  import './dynamic-slimmer-90b8af32.js';
26
26
 
27
27
  class RTEBlockRenderer {
28
- constructor(block, renderContext) {
29
- this.block = block;
30
- this.renderContext = renderContext;
31
- }
32
- registerRef(ref) {
28
+ registerRef(ref, block) {
33
29
  if (ref) {
34
- stateEntityRenderingRegistry.register(ref, this.block);
30
+ stateEntityRenderingRegistry.register(ref, block);
35
31
  }
36
32
  }
37
33
  /**
38
34
  * Get styles from annotations
39
35
  *
36
+ * @param {RTEBlock} block - RTE block entity
40
37
  * @returns {AnnotationStyle} - Annotation style
41
38
  */
42
- getStyles() {
43
- return Array.from(this.block.annotationMap.values())
39
+ getStyles(block) {
40
+ return Array.from(block.annotationMap.values())
44
41
  .filter((annotation) => annotation instanceof BlockAnnotation)
45
42
  .map((annotation) => annotation.render())
46
43
  .filter(isNonNullable)
@@ -49,10 +46,11 @@ class RTEBlockRenderer {
49
46
  /**
50
47
  * Get classes from annotations
51
48
  *
49
+ * @param {RTEBlock} block - RTE block entity
52
50
  * @returns {AnnotationStyle} - Annotation style
53
51
  */
54
- getClasses() {
55
- return Array.from(this.block.annotationMap.values())
52
+ getClasses(block) {
53
+ return Array.from(block.annotationMap.values())
56
54
  .map((annotation) => { var _a; return (_a = annotation.renderClass) === null || _a === void 0 ? void 0 : _a.call(annotation); })
57
55
  .filter(isNonNullable)
58
56
  .reduce((pre, cur) => [pre, cur].join(' '), '');
@@ -60,22 +58,19 @@ class RTEBlockRenderer {
60
58
  }
61
59
 
62
60
  class RTENodeRenderer {
63
- constructor(node, renderContext) {
64
- this.node = node;
65
- this.renderContext = renderContext;
66
- }
67
- registerRef(ref) {
61
+ registerRef(ref, node) {
68
62
  if (ref) {
69
- stateEntityRenderingRegistry.register(ref, this.node);
63
+ stateEntityRenderingRegistry.register(ref, node);
70
64
  }
71
65
  }
72
66
  /**
73
67
  * Get styles from annotations
74
68
  *
69
+ * @param {RTENode} node - The DTO node
75
70
  * @returns {AnnotationStyle} - Annotation style
76
71
  */
77
- getStyles() {
78
- return Array.from(this.node.annotationMap.values())
72
+ getStyles(node) {
73
+ return Array.from(node.annotationMap.values())
79
74
  .filter((annotation) => annotation instanceof NodeAnnotation)
80
75
  .map((annotation) => annotation.render())
81
76
  .filter(Boolean)
@@ -84,10 +79,11 @@ class RTENodeRenderer {
84
79
  /**
85
80
  * Get classes from annotations
86
81
  *
82
+ * @param {RTENode} node - The DTO node
87
83
  * @returns {AnnotationStyle} - Annotation style
88
84
  */
89
- getClasses() {
90
- return Array.from(this.node.annotationMap.values())
85
+ getClasses(node) {
86
+ return Array.from(node.annotationMap.values())
91
87
  .filter((annotation) => annotation instanceof NodeAnnotation)
92
88
  .map((annotation) => { var _a; return (_a = annotation.renderClass) === null || _a === void 0 ? void 0 : _a.call(annotation); })
93
89
  .filter(Boolean)
@@ -96,55 +92,34 @@ class RTENodeRenderer {
96
92
  }
97
93
 
98
94
  class RTETextNodeRenderer extends RTENodeRenderer {
99
- constructor(node, renderContext) {
100
- super(node, renderContext);
101
- }
102
- render() {
103
- const codeAnnotation = this.node.annotationMap.get(NodeAnnotationTypeEnum.CODE);
95
+ render(node) {
96
+ const codeAnnotation = node.annotationMap.get(NodeAnnotationTypeEnum.CODE);
104
97
  if (codeAnnotation === null || codeAnnotation === void 0 ? void 0 : codeAnnotation.code) {
105
- return (h("code", { style: super.getStyles(), class: super.getClasses(), ref: (ref) => this.registerRef(ref) }, this.node.text || ZERO_WIDTH_SPACE));
98
+ return (h("code", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
106
99
  }
107
- return (h("span", { style: super.getStyles(), class: super.getClasses(), ref: (ref) => this.registerRef(ref) }, this.node.text || ZERO_WIDTH_SPACE));
100
+ return (h("span", { style: super.getStyles(node), class: super.getClasses(node), ref: (ref) => this.registerRef(ref, node) }, node.text || ZERO_WIDTH_SPACE));
108
101
  }
109
- registerRef(ref) {
110
- super.registerRef(ref);
102
+ registerRef(ref, node) {
103
+ super.registerRef(ref, node);
111
104
  if (ref) {
112
- const textColorAnnotation = this.node.getAnnotationByType('TEXT_COLOR');
105
+ const textColorAnnotation = node.getAnnotationByType('TEXT_COLOR');
113
106
  if (textColorAnnotation) {
114
107
  TextNodeRenderingRegistry.register(ref, textColorAnnotation);
115
108
  }
116
109
  }
117
110
  }
118
111
  }
112
+ const RTETextNodeRenderer$1 = new RTETextNodeRenderer();
119
113
 
120
- class RTETextBlockRenderer extends RTEBlockRenderer {
121
- constructor(block, renderContext) {
122
- super(block, renderContext);
123
- }
124
- render() {
125
- const BlockTag = this.getBlockTagByType(this.block.type);
126
- return (h(BlockTag, { ref: (ref) => super.registerRef(ref), style: super.getStyles(), class: super.getClasses() }, this.renderNodes()));
127
- }
128
- renderNodes() {
129
- const linkGroupAnnotation = this.block.getAnnotationByType(InternalAnnotationTypeEnum.LINK_GROUP);
114
+ /**
115
+ * Abstract class for rendering blocks that contain text nodes with support for rendering text with link styles.
116
+ */
117
+ class RTEBlockTextNodesRenderer extends RTEBlockRenderer {
118
+ renderNodes(block, renderContext) {
119
+ const linkGroupAnnotation = block.getAnnotationByType(InternalAnnotationTypeEnum.LINK_GROUP);
130
120
  return linkGroupAnnotation
131
- ? this.renderLinkNodes(this.block.nodes, this.renderContext)
132
- : this.block.nodes.map((node) => new RTETextNodeRenderer(node, this.renderContext).render());
133
- }
134
- getBlockTagByType(type) {
135
- switch (type) {
136
- case 'title':
137
- case 'subtitle':
138
- return `div`;
139
- case 'heading-1':
140
- return `h1`;
141
- case 'heading-2':
142
- return `h2`;
143
- case 'heading-3':
144
- return `h3`;
145
- case 'paragraph':
146
- return 'p';
147
- }
121
+ ? this.renderLinkNodes(block.nodes, renderContext)
122
+ : block.nodes.map((node) => RTETextNodeRenderer$1.render(node));
148
123
  }
149
124
  renderLinkNodes(nodes, { editable }) {
150
125
  const blockNodes = this.groupNodesByLink(nodes);
@@ -155,7 +130,7 @@ class RTETextBlockRenderer extends RTEBlockRenderer {
155
130
  ? this.renderLinkEditorWrapper(item, linkAnnotation)
156
131
  : this.renderLink(item, linkAnnotation);
157
132
  }
158
- return new RTETextNodeRenderer(item).render();
133
+ return RTETextNodeRenderer$1.render(item);
159
134
  });
160
135
  }
161
136
  groupNodesByLink(nodes) {
@@ -226,19 +201,45 @@ class RTETextBlockRenderer extends RTEBlockRenderer {
226
201
  }
227
202
  renderLink(linkNodes, linkAnnotation) {
228
203
  const { href } = linkAnnotation.link;
229
- return (h("a", { class: "v-rte--link", href: href, target: "_blank" }, linkNodes.map((node) => new RTETextNodeRenderer(node).render())));
204
+ return (h("a", { class: "v-rte--link", href: href, target: "_blank" }, linkNodes.map((node) => RTETextNodeRenderer$1.render(node))));
230
205
  }
231
206
  }
232
207
 
208
+ class RTETextBlockRenderer extends RTEBlockTextNodesRenderer {
209
+ canHandle(block) {
210
+ return block instanceof RTETextBlock;
211
+ }
212
+ render(block, renderContext) {
213
+ const BlockTag = this.getBlockTagByType(block.type);
214
+ return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) }, super.renderNodes(block, renderContext)));
215
+ }
216
+ getBlockTagByType(type) {
217
+ switch (type) {
218
+ case 'title':
219
+ case 'subtitle':
220
+ return `div`;
221
+ case 'heading-1':
222
+ return `h1`;
223
+ case 'heading-2':
224
+ return `h2`;
225
+ case 'heading-3':
226
+ return `h3`;
227
+ case 'paragraph':
228
+ return 'p';
229
+ }
230
+ }
231
+ }
232
+ const RTETextBlockRenderer$1 = new RTETextBlockRenderer();
233
+
233
234
  class RTEImageNodeRenderer extends RTENodeRenderer {
234
- constructor(node, renderContext) {
235
- super(node, renderContext);
236
- this.handleChange = ({ detail, }) => {
235
+ constructor() {
236
+ super(...arguments);
237
+ this.handleChange = ({ detail }, node) => {
237
238
  switch (detail.action) {
238
239
  case 'edit': {
239
240
  const size = detail.payload.size;
240
241
  const alt = detail.payload.alt;
241
- this.node.apply(new ImageAnnotationAction(size, alt));
242
+ node.apply(new ImageAnnotationAction(size, alt));
242
243
  break;
243
244
  }
244
245
  /*
@@ -252,59 +253,60 @@ class RTEImageNodeRenderer extends RTENodeRenderer {
252
253
  bubbles: true,
253
254
  });
254
255
  setTimeout(() => {
255
- stateEntityRenderingRegistry.getDOMByEntity(this.node).dispatchEvent(event);
256
+ stateEntityRenderingRegistry.getDOMByEntity(node).dispatchEvent(event);
256
257
  }, 50);
257
258
  break;
258
259
  }
259
260
  }
260
261
  };
261
262
  }
262
- render() {
263
- const imageAnnotation = this.node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
263
+ render(node, renderContext) {
264
+ const imageAnnotation = node.getAnnotationByType(NodeAnnotationTypeEnum.IMAGE);
264
265
  const { size, alt } = imageAnnotation || new ImageAnnotation('md', '');
265
- return this.renderContext.editable ? (h("vega-rich-text-image-editor", { style: super.getStyles(), size: size, alt: alt, ref: (ref) => {
266
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, this.handleChange);
267
- } }, this.renderImage(alt))) : (this.renderImage(alt));
266
+ return renderContext.editable ? (h("vega-rich-text-image-editor", { style: super.getStyles(node), size: size, alt: alt, ref: (ref) => {
267
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (e) => this.handleChange(e, node));
268
+ } }, this.renderImage(alt, node, renderContext))) : (this.renderImage(alt, node, renderContext));
268
269
  }
269
- renderImage(alt) {
270
- return (h("img", { style: this.renderContext.editable ? { width: '100%' } : super.getStyles(), alt: alt, src: this.node.url, ref: (ref) => super.registerRef(ref) }));
270
+ renderImage(alt, node, renderContext) {
271
+ return (h("img", { style: renderContext.editable ? { width: '100%' } : super.getStyles(node), alt: alt, src: node.url, ref: (ref) => super.registerRef(ref, node) }));
271
272
  }
272
273
  }
274
+ const RTEImageNodeRenderer$1 = new RTEImageNodeRenderer();
273
275
 
274
276
  class RTEImageBlockRenderer extends RTEBlockRenderer {
275
- constructor(block, renderContext) {
276
- super(block, renderContext);
277
+ canHandle(block) {
278
+ return block instanceof RTEImageBlock;
277
279
  }
278
- render() {
279
- return (h("div", { style: Object.assign({}, super.getStyles()), ref: (ref) => super.registerRef(ref), class: super.getClasses() }, this.block.nodes.map((node) => {
280
- return new RTEImageNodeRenderer(node, this.renderContext).render();
280
+ render(block, renderContext) {
281
+ return (h("div", { style: Object.assign({}, super.getStyles(block)), ref: (ref) => super.registerRef(ref, block), class: super.getClasses(block) }, block.nodes.map((node) => {
282
+ return RTEImageNodeRenderer$1.render(node, renderContext);
281
283
  })));
282
284
  }
283
285
  }
286
+ const RTEImageBlockRenderer$1 = new RTEImageBlockRenderer();
284
287
 
285
- class RTEListItemBlockRenderer extends RTETextBlockRenderer {
286
- constructor(block, renderContext) {
287
- super(block, renderContext);
288
+ class RTEListItemBlockRenderer extends RTEBlockTextNodesRenderer {
289
+ render(block, renderContext) {
290
+ return (h("li", { ref: (ref) => super.registerRef(ref, block), style: super.getStyles(block), class: super.getClasses(block) },
291
+ super.renderNodes(block, renderContext),
292
+ this.renderChildren(block.children, renderContext)));
288
293
  }
289
- render() {
290
- return (h("li", { ref: (ref) => super.registerRef(ref), style: super.getStyles(), class: super.getClasses() },
291
- super.renderNodes(),
292
- this.renderChildren(this.block.children)));
293
- }
294
- renderChildren(children) {
295
- return children === null || children === void 0 ? void 0 : children.map((block) => new RTEListBlockRenderer(block, this.renderContext).render());
294
+ renderChildren(children, renderContext) {
295
+ return children === null || children === void 0 ? void 0 : children.map((block) => RTEListBlockRenderer$1.render(block, renderContext));
296
296
  }
297
297
  }
298
+ const RTEListItemBlockRenderer$1 = new RTEListItemBlockRenderer();
298
299
 
299
300
  class RTEListBlockRenderer extends RTEBlockRenderer {
300
- constructor(block, renderContext) {
301
- super(block, renderContext);
301
+ canHandle(block) {
302
+ return block instanceof RTEListBlock;
302
303
  }
303
- render() {
304
- const BlockTag = this.block.type === 'number-list' ? 'ol' : 'ul';
305
- return (h(BlockTag, { ref: (ref) => super.registerRef(ref) }, this.block.blocks.map((listItemBlock) => new RTEListItemBlockRenderer(listItemBlock, this.renderContext).render())));
304
+ render(block, renderContext) {
305
+ const BlockTag = block.type === 'number-list' ? 'ol' : 'ul';
306
+ return (h(BlockTag, { ref: (ref) => super.registerRef(ref, block) }, block.blocks.map((listItemBlock) => RTEListItemBlockRenderer$1.render(listItemBlock, renderContext))));
306
307
  }
307
308
  }
309
+ const RTEListBlockRenderer$1 = new RTEListBlockRenderer();
308
310
 
309
311
  var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
310
312
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -315,6 +317,11 @@ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators,
315
317
  class VegaRichTextContentRenderer extends VegaSlimmer {
316
318
  constructor() {
317
319
  super();
320
+ this.blockRenderers = [
321
+ RTETextBlockRenderer$1,
322
+ RTEImageBlockRenderer$1,
323
+ RTEListBlockRenderer$1,
324
+ ];
318
325
  VegaDarkModeStyleController.registerCustomDarkModeColor(TextColorToolbarButtonSlimmer.formatDarkModeColor());
319
326
  }
320
327
  /**
@@ -336,19 +343,14 @@ class VegaRichTextContentRenderer extends VegaSlimmer {
336
343
  var _a;
337
344
  const renderContext = { editable: this.contentEditable };
338
345
  return (_a = this.content) === null || _a === void 0 ? void 0 : _a.blocks.map((block) => {
339
- return this.getBlockRenderer(block, renderContext).render();
346
+ const blockRenderer = this.getBlockRenderer(block);
347
+ if (blockRenderer) {
348
+ return blockRenderer.render(block, renderContext);
349
+ }
340
350
  });
341
351
  }
342
- getBlockRenderer(block, renderContext) {
343
- if (block instanceof RTETextBlock && !(block instanceof RTEListItemBlock)) {
344
- return new RTETextBlockRenderer(block, renderContext);
345
- }
346
- else if (block instanceof RTEListBlock) {
347
- return new RTEListBlockRenderer(block, renderContext);
348
- }
349
- else if (block instanceof RTEImageBlock) {
350
- return new RTEImageBlockRenderer(block, renderContext);
351
- }
352
+ getBlockRenderer(block) {
353
+ return this.blockRenderers.find((renderer) => renderer.canHandle(block));
352
354
  }
353
355
  shouldShowPlaceholder() {
354
356
  var _a;
@@ -12,7 +12,7 @@ import { g as RTETextNode, i as BoldAnnotationAction, T as TextSplittableAction,
12
12
  import { c as NodeAnnotationTypeEnum, a as BlockAnnotationTypeEnum, M as ModifyContentAction, b as ModifyContentActionType, R as RTENode, s as stateEntityRenderingRegistry, I as InternalAnnotationTypeEnum, V as VegaThemeManager } from './node-annotation.abstract-d7d52bce.js';
13
13
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-dc486a8b.js';
14
14
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-9ab05523.js';
15
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
15
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
16
16
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-f285e3ac.js';
17
17
  import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-48bad548.js';
18
18
  import { d as debounce } from './timer-9321173b.js';
@@ -3658,12 +3658,60 @@ class SpanImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3658
3658
  }
3659
3659
  }
3660
3660
 
3661
+ /** Transform child element of UL element which are not LI element to list item block DTO */
3662
+ class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstract {
3663
+ /**
3664
+ * Can be handle.
3665
+ *
3666
+ * @param {HTMLElement[]} elementsArray - Current elements.
3667
+ * @param {number} currentIndex - Current element index.
3668
+ * @returns {number} - can be handled element count.
3669
+ */
3670
+ canHandle(elementsArray, currentIndex) {
3671
+ const element = elementsArray[currentIndex];
3672
+ const parent = element.parentElement;
3673
+ return element.nodeName !== 'LI' && parent && ['UL', 'OL'].includes(parent.nodeName) ? 1 : 0;
3674
+ }
3675
+ /**
3676
+ * Parse to a list item block.
3677
+ *
3678
+ * @param {HTMLElement[]} elementsArray - Current elements.
3679
+ * @returns {Nullable<RTEContentBlock>} - List item block.
3680
+ */
3681
+ handle(elementsArray) {
3682
+ const nodes = this.generateChildNodes(elementsArray);
3683
+ if (nodes.length === 0)
3684
+ return null;
3685
+ return RTEListItemBlock.from({
3686
+ id: generateUUID(),
3687
+ type: 'list-item',
3688
+ nodes: nodes,
3689
+ annotations: {},
3690
+ });
3691
+ }
3692
+ /* istanbul ignore next */
3693
+ /**
3694
+ * Append child blocks.
3695
+ */
3696
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
3697
+ appendChildBlocks() { }
3698
+ /**
3699
+ * Should continue process to child elements.
3700
+ *
3701
+ * @returns {boolean} - boolean.
3702
+ */
3703
+ shouldProceedToElementChildren() {
3704
+ return false;
3705
+ }
3706
+ }
3707
+
3661
3708
  /** Element to DTO processor */
3662
3709
  class ElementToDtoStrategyProcessor {
3663
3710
  constructor() {
3664
3711
  this.elementStrategies = [
3665
3712
  new UlToRTEListBlockStrategy(),
3666
3713
  new OlToRTEListBlockStrategy(),
3714
+ new ULNotLiChildToRTEListItemBlockStrategy(),
3667
3715
  new LiToRTEListItemBlockStrategy(),
3668
3716
  new InlineBlockToRTETextBlockStrategy(),
3669
3717
  new ImgToRTEImageBlockStrategy(),
@@ -18,7 +18,7 @@ import { a as TagNameAndAttributeMutationFilter } from './mutation-observer-filt
18
18
  import { i as isArrayEqual } from './array-b668466e.js';
19
19
  import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-48bad548.js';
20
20
  import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-97aae8a8.js';
21
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
21
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
22
22
  import { R as RequiredFieldRule } from './required-field-rule-368b31fa.js';
23
23
  import './type-guard-158f6d7a.js';
24
24
  import './breakpoints-d9faf11c.js';
@@ -13,7 +13,7 @@ import { f as findParent } from './ui-62e4be97.js';
13
13
  import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-97aae8a8.js';
14
14
  import { C as ChildNodesNotifyObserverSlimmer } from './child-nodes-notify-observer-slimmer-289caacc.js';
15
15
  import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-48bad548.js';
16
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
16
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
17
17
  import { R as RequiredFieldRule } from './required-field-rule-368b31fa.js';
18
18
  import './dynamic-slimmer-90b8af32.js';
19
19
  import './dom-node-subject-observer-factory-dc486a8b.js';
@@ -10,7 +10,7 @@ import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-e06a3840.
10
10
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
11
11
  import { d as deepEqual } from './object-261e7344.js';
12
12
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-f285e3ac.js';
13
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
13
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
14
14
  import { R as RequiredFieldRule } from './required-field-rule-368b31fa.js';
15
15
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-beb7b0bd.js';
16
16
  import { g as getCurrentBreakpoint } from './breakpoints-91116111.js';
@@ -4,7 +4,7 @@ import { s as sanitizeVegaComponent } from './component-cae24190.js';
4
4
  import { c as convertToNumber, n as normalizeNumberByRanger } from './number-4398f2e1.js';
5
5
  import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
6
6
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-385c7124.js';
7
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
7
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
8
8
  import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-97aae8a8.js';
9
9
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-dc486a8b.js';
10
10
  import { f as VegaChange, A as VegaBlur, a as VegaClick } from './dom-node-subject-factory-5831cdd4.js';
@@ -94,7 +94,12 @@ class VegaTabGroupSelectedTargetController extends VegaSlimmer {
94
94
  handleTabItemClick(dataTarget) {
95
95
  const clickEvent = this.clickEventEmitter.emit(dataTarget);
96
96
  if (clickEvent && !clickEvent.defaultPrevented) {
97
- this.setSelectedDataTarget(dataTarget);
97
+ if (dataTarget === this.selectedTabDataTarget) {
98
+ this.vegaTabGroupPageIndexController.setCurrentPageIndexBySelectedTab(dataTarget);
99
+ }
100
+ else {
101
+ this.setSelectedDataTarget(dataTarget);
102
+ }
98
103
  }
99
104
  }
100
105
  }
@@ -104,6 +109,9 @@ __decorate$a([
104
109
  __decorate$a([
105
110
  MapToComponentField({ writable: true })
106
111
  ], VegaTabGroupSelectedTargetController.prototype, "selectedTabDataTarget", void 0);
112
+ __decorate$a([
113
+ MapToComponentField()
114
+ ], VegaTabGroupSelectedTargetController.prototype, "vegaTabGroupPageIndexController", void 0);
107
115
 
108
116
  /**
109
117
  * It takes an array of items, an array of values, and a capacity, and returns an array of arrays of
@@ -422,6 +430,28 @@ class VegaTabGroupPageIndexController extends VegaSlimmer {
422
430
  handleSelectedDataTargetChange() {
423
431
  this.setCurrentPageIndexBySelectedTab(this.selectedTabDataTarget);
424
432
  }
433
+ /*
434
+ * The below method is e2e-test covered in
435
+ * @see{module:vega-tab-group-with-click-tab-in-dropdown}
436
+ */
437
+ /* istanbul ignore next */
438
+ /**
439
+ * Update the page index after the tab click
440
+ *
441
+ * @param {string} selectedTabDataTarget the tab item property dataTarget
442
+ */
443
+ setCurrentPageIndexBySelectedTab(selectedTabDataTarget) {
444
+ let pageIndex = -1;
445
+ this.tabPages.forEach((tabPage, index) => {
446
+ const tabIndex = tabPage.findIndex((tab) => tab.dataTarget === selectedTabDataTarget);
447
+ if (tabIndex !== -1) {
448
+ pageIndex = index;
449
+ }
450
+ });
451
+ if (pageIndex >= 0) {
452
+ this.currentPageIndex = pageIndex;
453
+ }
454
+ }
425
455
  /* istanbul ignore next */
426
456
  /**
427
457
  * The `setPageIndex` function sets the current page index to the specified value.
@@ -445,28 +475,6 @@ class VegaTabGroupPageIndexController extends VegaSlimmer {
445
475
  this.currentPageIndex = this.tabPages.length - 1;
446
476
  }
447
477
  }
448
- /*
449
- * The below method is e2e-test covered in
450
- * @see{module:vega-tab-group-with-click-tab-in-dropdown}
451
- */
452
- /* istanbul ignore next */
453
- /**
454
- * Update the page index after the tab click
455
- *
456
- * @param {string} selectedTabDataTarget the tab item property dataTarget
457
- */
458
- setCurrentPageIndexBySelectedTab(selectedTabDataTarget) {
459
- let pageIndex = -1;
460
- this.tabPages.forEach((tabPage, index) => {
461
- const tabIndex = tabPage.findIndex((tab) => tab.dataTarget === selectedTabDataTarget);
462
- if (tabIndex !== -1) {
463
- pageIndex = index;
464
- }
465
- });
466
- if (pageIndex >= 0) {
467
- this.currentPageIndex = pageIndex;
468
- }
469
- }
470
478
  }
471
479
  __decorate$8([
472
480
  MapToComponentField()
@@ -594,6 +602,9 @@ class VegaTabGroupSwitchPageButtonRenderer extends VegaSlimmer {
594
602
  ? this.currentPageIndex === 0
595
603
  : this.currentPageIndex + 1 === this.tabPages.length || this.tabPages.length <= 1;
596
604
  const icon = direction === 'left' ? 'chevron-backward-rounded' : 'chevron-forward-rounded';
605
+ const selectedItemKey = source.find((item) => item.key === this.selectedTabDataTarget)
606
+ ? this.selectedTabDataTarget
607
+ : '';
597
608
  return (h("div", { class: {
598
609
  'tab-left-button': direction === 'left',
599
610
  'tab-right-button': direction === 'right',
@@ -601,7 +612,7 @@ class VegaTabGroupSwitchPageButtonRenderer extends VegaSlimmer {
601
612
  },
602
613
  /* eslint-disable-next-line react/jsx-no-bind */
603
614
  onClick: () => this.onDirectionButtonClick(direction), "aria-label": "No label defined", role: 'button', tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick() },
604
- h("vega-dropdown", { source: source, translocation: translocation, selectType: "single", selectedSourceKey: this.selectedTabDataTarget, "position-relative-to": this.positionRelativeTo, ref: (ref) => {
615
+ h("vega-dropdown", { source: source, translocation: translocation, selectType: "single", selectedSourceKey: selectedItemKey, "position-relative-to": this.positionRelativeTo, ref: (ref) => {
605
616
  this.dropdownRef = ref;
606
617
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaDropdownClick, (payload) => {
607
618
  this.vegaTabGroupSelectedTargetController.handleTabItemClick(payload.detail);
@@ -4,7 +4,7 @@ import { R as RequiredFieldRule } from './required-field-rule-368b31fa.js';
4
4
  import { s as sanitizeVegaComponent } from './component-cae24190.js';
5
5
  import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
6
6
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-385c7124.js';
7
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
7
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
8
8
  import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-e06a3840.js';
9
9
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
10
10
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-f285e3ac.js';
@@ -4,7 +4,7 @@ import { d as isTimeStr, p as pad, e as convert12HourTo24HourFormat } from './da
4
4
  import { s as sanitizeVegaComponent } from './component-cae24190.js';
5
5
  import { c as MapToComponentField, V as VegaSlimmer, M as MapToComponentMethod, L as LogUtility, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
6
6
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-385c7124.js';
7
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
7
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
8
8
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-dc486a8b.js';
9
9
  import { f as VegaChange, z as VegaFocus, A as VegaBlur, a as VegaClick } from './dom-node-subject-factory-5831cdd4.js';
10
10
  import { g as getDeviceType, D as DeviceType } from './ui-62e4be97.js';
@@ -5,7 +5,7 @@ import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0f
5
5
  import { s as sanitizeVegaComponent } from './component-cae24190.js';
6
6
  import { I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
7
7
  import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-385c7124.js';
8
- import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-af969d03.js';
8
+ import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-add614f1.js';
9
9
  import { b as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-e06a3840.js';
10
10
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
11
11
  import './ui-62e4be97.js';